| 【発明の名称】 |
キャッシュメモリ制御方式 |
| 【発明者】 |
【氏名】東海 泰久
|
| 【要約】 |
【課題】ディスクキャッシュ等に搭載されるキャッシュメモリに分断化された空き領域を生じることなく、使用効率を改善し且つ性能の安定化を図るキャッシュメモリ制御方式を提供する。
【解決手段】キャッシュメモリ1は、複数のセグメント3に分割され、1つのセグメント3には異なるキャッシュページ2且つ同一属性のキャッシュデータを格納する。特定のセグメント3が満杯になると、優先度に応じて決められたセグメントを空きセグメントとする。 |
【特許請求の範囲】
【請求項1】可変長のキャッシュページのキャッシュデータを格納するようキャッシュメモリを制御するキャッシュメモリ制御方式において、前記キャッシュメモリを予め決められた一定サイズの複数のセグメントに分割し、該セグメントのうち1つのセグメントには同一属性のキャッシュデータを格納することを特徴とするキャッシュメモリ制御方式。 【請求項2】前記キャッシュデータの属性は、ホストコマンドのリード又はライトにより判別することを特徴とする請求項1に記載のキャッシュメモリ制御方式。 【請求項3】前記キャッシュデータの属性は、ホストコマンドのシーケンシャルアクセス又はランダムアクセスにより判別することを特徴とする請求項1又は2に記載のキャッシュメモリ制御方式。 【請求項4】前記セグメントには優先度を設け、特定属性のキャッシュデータを格納するセグメントが満杯になると、前記優先度が低いセグメントのキャッシュデータを破棄して空きセグメントを作成することを特徴とする請求項1、2又は3に記載のキャッシュメモリ制御方式。 【請求項5】前記同一属性のセグメントをLRUアルゴリズムにより管理し、前記破棄対象になるセグメントは、最もアクセス頻度の少ないものを選択することを特徴とする請求項1乃至4の何れかに記載のキャッシュメモリ制御方式。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明はキャッシュメモリ制御方式、特にディスクキャッシュ(ディスクアレイ装置)に搭載されるキャッシュメモリの制御方式に関する。 【0002】 【従来の技術】ディスクキャッシュ(disk cache)又はRAMディスク(RAM-disk)は、コンピュータの主記憶領域の一部又は外付けRAMを、(磁気)ディスクの代わりに使用してアクセス時間を短縮するソフトウエアおよびハードウエアである。これにより、主記憶領域の一部をディスク装置として扱うことができるソフトウエアおよびディスク装置と同様に扱うことができる外付け半導体メモリ装置の2種に大別できる。 【0003】斯かるディスクキャッシュに搭載されるキャッシュメモリ(cache memory)の制御は、キャッシュデータの格納単位であるキャッシュページを固定長で管理する方式および可変長で管理する方式の2方式が提案されている。前者は、処理単位が固定であるために、オーバーヘッドが少なく、比較的簡単な制御方式であるという特徴を有する。しかし、そのページサイズよりも十分大きいアクセスに対しては、ページ分割数分のオーバーヘッドが常に発生してしまう傾向がある。一方、後者は、キャッシュページサイズによらず一定のオーバーヘッドが維持でき、特にライト処理の場合には、要求のあったアクセスサイズに合わせてヒットさせることができるという特徴を有する。しかし、可変長であるために、キャッシュページの管理が複雑になる傾向がある。 【0004】斯かるキャッシュメモリの制御方式の従来例は、例えば特開平2−98755号公報の「キャッシュ無効化処理方式」等に開示されている。この特許公報には、緩衝記憶装置におけるキャッシュメモリに登録されているn種の意味の違った或いは大きさの異なったブロックデータを個別に無効化することにより登録されたブロックデータを無駄に消してしまうことをなくし且つ高速化を可能にしたブロックデータの無効化処理方式を開示している。 【0005】 【発明が解決しようとする課題】上述した如き可変長のキャッシュページサイズによるキャッシュ制御方法では、キャッシュデータの置き換えアルゴリズムをLRUアルゴリズムにて行う。そこで、キャッシュデータの破棄(図3(A)参照)を行うと、散発的なエリヤが破棄されることが多くなる(図3(B)参照)。このため、破棄するキャッシュページのサイズが小さい場合およびキャッシュメモリ上の離れた場所のキャッシュページを破棄する場合が多いと、空き領域が散発的となり、フラグメンテーションが発生してしまうことになる。この状態では、ガーべジコレクションをする等により、空き領域の管理を常に行う必要がある。そこで、複雑なキャッシュ制御によりディスクアレイ装置の性能が低下することとなる。 【0006】 【発明の目的】従って、本発明の目的は、上述した従来技術の課題を解消又は軽減し、空き領域の発生による性能低下を阻止するディスクキャッシュ等に搭載のキャッシュメモリの制御方式を提供することである。 【0007】 【課題を解決するための手段】本発明のキャッシュメモリ制御方式は、可変長のキャッシュページのキャッシュデータを格納するようにキャッシュメモリを制御するものであって、キャッシュメモリを予め決められた一定サイズの複数のセグメントに分割し、これらセグメントのうち1つのセグメントには同一属性のキャッシュデータを格納する。 【0008】また、本発明のキャッシュメモリ制御方式の好適実施形態によると、キャッシュデータの属性は、ホストコマンドのリード/ライト又はシーケンシャルアクセス/ランダムアクセスにより判別することを特徴とする。セグメントには優先度を設け、特定属性のキャッシュデータを格納するセグメントが満杯になると、優先度が低いセグメントのキャッシュデータを破棄して空きセグメントを作成することを特徴とする。また、同一属性のセグメントをLRUアルゴリズムにより管理し、破棄対象になるセグメントは、最もアクセス頻度の少ないものを選択する。 【0009】 【発明の実施の形態】以下、本発明によるキャッシュメモリ制御方式の好適実施形態の構成および動作を、添付図を参照して詳細に説明する。 【0010】先ず、図1は、本発明によるキャッシュメモリ制御方式の好適実施形態の内部構成を示す図である。図1において、キャッシュメモリ1は、キャッシュメモリ全体を示す。キャッシュページ2は、可変長のキャッシュデータであり、キャッシュメモリ1にデータを格納する際の連続したデータの単位である。セグメント3は、キャッシュメモリ1を一定サイズで分割した領域であり、キャッシュページ2の集合体である。 【0011】次に、図1に示す本発明のキャッシュメモリ1にデータを書き込む場合の動作例を説明する。先ず、複数のセグメント3内に配置するキャッシュページ2は、同一のセグメント3内は全て同じ種類(属性)のものにする。例えば、この属性のタイプは、ホストから発行される命令(ホストコマンド)のパターンによって分けるようにする。 【0012】図3は、この属性の判別処理を示すフローチャートである。先ず、ホストコマンドを受信する(ステップS1)。次に、リード/ライト(読み出し/書き込み)を判別する(ステップS2)。次に、シーケンシャルアクセスかランダムアクセスかを判別する(ステップS3)。更に、セグメント属性を決定する(ステップS4)。そして、シーケンシャルライトセグメント(ステップS5)、ランダムライトセグメント(ステップS6)、シーケンシャルリードセグメント(ステップS7)およびランダムリードセグメント(ステップS8)を行う。 【0013】上述の如く、リードおよびライトのコマンドによって分けることで、一般的にいうクリーンデータとダーティデータに明確に分けることができる。そのために、ライトバックが必要なセグメントとそれ以外のセグメントとを容易に区別することが可能となる。また、シーケンシャルアクセスによって得られたキャッシュデータと、ランダムアクセスによって得られたキャッシュデータによって分けることにより、キャッシュデータの先読み処理と連動させることができるというメリットがある。 【0014】次に、新たなキャッシュページ2をキャッシュメモリ1内に作成する場合を説明する。この場合に重要となるのは、どのセグメント3内にキャッシュページ2を作成するかである。セグメント属性は、一義的に決まるので、その属性を示すセグメントにキャッシュページ2を作成すれば良い。 【0015】しかし、対象となるセグメント3が既に満杯(フル)状態で且つ他に同じ属性のセグメント3が存在しない場合には、新たにその属性を有するセグメント3を作成しなければならない。そのためには、1つのセグメント3を破棄して空きセグメント3として確保する必要がある。破棄するセグメント3の選択方法は、次のとおりである。 【0016】先ず、属性別に破棄対象になる場合の優先度を設ける。そして、優先度が低いセグメント3ほど、破棄される確率が高くなるようにする。反対に、優先度が高いセグメント3ほど、キャッシュメモリ1内に常駐させる事ができる。また、優先度の同じセグメントが多数存在する場合があるため、同一属性のセグメント3をLRUアルゴリズムによって管理することにより、破棄対象になるセグメント3は、最もアクセス頻度の低いものを選択することも可能である。 【0017】上述の如く、空き領域を新たに作る際に、セグメント単位にキャッシュデータを破棄することにより、一度に連続したメモリ領域を確保することができる。これにより、可変長のキャッシュページであっても、キャッシュメモリ1を効率よく利用することが可能である。 【0018】以上、本発明によるキャッシュメモリ制御方式の好適実施形態の構成および動作を詳述した。しかし、斯かる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。 【0019】 【発明の効果】以上の説明から理解される如く、本発明のキャッシュメモリ制御方式によると、次の如き実用上の顕著な効果が得られる。即ち、キャッシュメモリ内のキャッシュデータを破棄する際に、常に連続した領域(セグメント)を空き領域として使用することが可能であるので、従来技術の如く分断された空き領域が生じず、キャッシュメモリの使用効率が改善される。また、本発明によると、常に安定した性能を提供することが可能である。
|
| 【出願人】 |
【識別番号】000232047 【氏名又は名称】日本電気エンジニアリング株式会社
|
| 【出願日】 |
平成12年9月28日(2000.9.28) |
| 【代理人】 |
【識別番号】100081710 【弁理士】 【氏名又は名称】福山 正博
|
| 【公開番号】 |
特開2002−108707(P2002−108707A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−296153(P2000−296153) |
|