JP3697149B2 - キャッシュ・メモリを管理する方法 - Google Patents

キャッシュ・メモリを管理する方法 Download PDF

Info

Publication number
JP3697149B2
JP3697149B2 JP2000294735A JP2000294735A JP3697149B2 JP 3697149 B2 JP3697149 B2 JP 3697149B2 JP 2000294735 A JP2000294735 A JP 2000294735A JP 2000294735 A JP2000294735 A JP 2000294735A JP 3697149 B2 JP3697149 B2 JP 3697149B2
Authority
JP
Japan
Prior art keywords
cache
segment
group
data
requested data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000294735A
Other languages
English (en)
Other versions
JP2001142778A (ja
Inventor
ブルース・マクナット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2001142778A publication Critical patent/JP2001142778A/ja
Application granted granted Critical
Publication of JP3697149B2 publication Critical patent/JP3697149B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ディスクメモリ等の直接アクセス記憶装置とキャッシュメモリとを有する記憶システムに関する。特に、記憶システムへのデータ・アクセスに対するホスト・コンピュータ及びチャンネルの待ち時間を減らすことによってパフォーマンスを向上させる方法及びシステムに関する。
【0002】
【従来の技術】
典型的なコンピュータ・システムは、ホスト・コンピュータと、直接アクセス記憶装置(DASD)、例えば1枚以上の磁気ディスクとを含む。ホスト・コンピュータ上で実行されているアプリケーションは、データの読み取り及び書き出しのためにDASD内のアドレス位置にアクセスする。そのようなアクセスは、ディスク入出力(I/O)オペレーションとして知られている。ホスト・コンピュータは、ディスクI/O操作が該I/O操作の完了を実行中のアプリケーションに待たせるように、DASDよりもかなり速い速度で稼動する。結果は、ホスト・コンピュータの処理能力が妨げられるということである。このことを避けるため、別の高速キャッシュ・メモリが用いられ、アプリケーションによって最も頻繁に使用されるデータが格納される。
【0003】
記憶システム・マネージャがディスクI/O操作の制御及びキャッシュ・メモリに対するアクセスの制御に使われる。一般に、データはレコード等のデータ対象物に編成される。実行中のアプリケーションがレコードを要求すると、記憶システム・マネージャは最初にキャッシュ・メモリ内のレコードを探索する。もし要求されたレコードがキャッシュ・メモリで見いだされるならば(すなわち、「ヒット」)記憶システム・マネージャは素早くそのレコードにアクセスするので時間を浪費するディスクI/O操作を実行する必要性がない。もし要求したレコードがキャッシュ・メモリで見いだされなければ(すなわち、「ミス」)、記憶システム・マネージャはディスクI/O操作を実行してDASDから要求されたレコードを取得し、該要求されたレコードをキャッシュ・メモリに書き込む。
【0004】
一般に、記憶システム・マネージャは、最低使用頻度(LRU)手法によってキャッシュ・メモリ内のレコード保存を管理する。LRU手法は、制御ブロックの連鎖又は待ち行列を使用する。それぞれの制御ブロックが(a)レコードのアドレス、(b)連鎖内の次に続くレコードのアドレスを識別する順方向連鎖ポインタ、及び(c)その連鎖内の先のレコードのアドレスを識別する逆方向連鎖ポインタを識別する。記憶システム・マネージャは、LRUレコード、例えば連鎖の先端を識別する第1のアンカー・ポインタを保持する。また、記憶システム・マネージャは最後に使用された(MRU)レコード、例えば連鎖の末端を識別する第2のアンカー・ポインタを保持する。
【0005】
キャッシュ・ヒットが起こるたびに、ヒット・レコードの制御ブロックがデキューされ、続いてLRU連鎖の末端でMRUレコードとして待ち行列に入れられる。キャッシュ・ミスが起こるたびに、LRU制御ブロックは連鎖の先端からデキューされる。新たに要求されたレコードはDASDからキャッシュ・メモリ内の割り当てられたアドレスへステージされる。デキューされた制御ブロックは、ステージされたレコードと割り当てられたアドレスとの一致によってアップデートされ、さらにMRU制御ブロックとしてLRU連鎖の末端で待ち行列に入れられる。
【0006】
記憶システムのキャッシュ・メモリを設計する上で、要求されたデータ・レコードがキャッシュ・メモリ内で見つかる可能性を増やすことにかなりの配慮が払われる。例えば、米国特許第5,717,893号は、グローバル・キャッシュと、各々が特定のタイプのデータ・レコードに割り当てられている複数のデステージング・ローカル・キャッシュとに分割されたキャッシュ・メモリを開示している。全てのタイプのデータ・レコードがローカル・キャッシュ又はディスク記憶システムからグローバル・キャッシュにデステージされる。LRUアルゴリズムにもとづいて、LRUデータ・レコードがグローバル・キャッシュからローカル・キャッシュへ降格される。この際、ローカル・キャッシュのデータ・タイプは降格されたLRUレコードのデータ・タイプと一致する。ローカル・キャッシュが一杯になると、LRUは記憶システムにデステージされる。より頻繁に使用されるデータ・レコード・タイプに対してより多くのキャッシュを割り当てるように分割スキームが設計されるので、キャッシュ・ヒット率が増加する。より頻繁に使用されるデータ・タイプに対してキャッシュが増加し、使用頻度の低いデータ・タイプに対してはキャッシュが同時に減少するように、区画の論理的かつダイナミックなサイズ変更を可能とすることも特徴の一つである。
【0007】
他の従来のスキームは、キャッシュ内のデータ・レコードの複製を削除することによって、キャッシュ・ヒット率を増やす。このタイプの典型的なスキームは、
米国特許第5,802,572号及び第5,627,990号に開示されている。
【0008】
DASDシステムは、障害が生じた際にデータ回復を保証する幾何学的配置で構成された多数の小さな記憶装置モジュールを使用することで改善されている。改善がなされたそれらのシステムは、比較的安価な(又は独立した)複数のディスクからなる重複アレイ(RAID)としてしばしば呼ばれる。そのような幾何学的配置のいくつかでは、データ・オブジェクトが複数のデータ部分に分割され、かつ各データ部分が複数のディスクの異なったディスク上に格納される。RAIDレベル4として知られている一つの幾何学的配置では、ディスクの一つがデータ部分に対するパリティの保存専用となる。パリティは、障害が生じた際にデータ部分を再構築するために使われる。書き出し操作のために、この幾何学的配置は別々の2つの書き出しアクセスを必要とするもので、一つはデータ部分が格納されるディスクに対するアクセスであり、もう一つはパリティが格納されるディスクに対するアクセスである。
【0009】
RAIDレベル5として知られている別の幾何学的配置では、アレイ内の複数のアクティブなディスクをまたがってデータ及びパリティ情報の分配を行うためにディスクが分割される。各区画は一般にストライプと呼ばれる。ストライプに対するパリティ情報は通常一つのディスクに置かれ、データはストライプの残りのディスク上に置かれる。パリティ情報を含んでいるディスクはストライプ間で異なる。このことによって多数のストライプが並列処理可能となり、それによってステージ又はデステージされるデータのどちらかと言えば大きいチャンクを可能とする。
【0010】
キャッシュ・ヒット率を高めるための上記のスキームは、どちらかと言うと小さなデータ・オブジェクト、例えばページ、テーブル等に関係している。また上記スキームは、より小さなページ・オブジェクトを大量に含むかなり大きなデータ・オブジェクト(例えばストライプ)を扱うためにRAIDシステムの能力を利用することはない。
【0011】
【発明が解決しようとする課題】
したがって、キャッシュ・ヒットの確率が改善されたキャッシュ・メモリが求められている。特に、RAID記憶装置が持つストライプ・アクセス能力を利用するキャッシュ・メモリが求められている。
【00012】
【課題を解決するための手段】
本発明は、記憶システムからデータ・オブジェクトを必要とするアプリケーションを実行するホスト・コンピュータを使用する。記憶システムは、記憶装置(例えば、ディスク記憶装置)とキャッシュ・メモリとを有する。ホスト・コンピュータによって頻繁に使われるデータ・オブジェクトがキャッシュ・メモリに格納される。データ・オブジェクトは、データ・オブジェクトが論理的に配列された記憶装置にも格納される。キャッシュ・メモリは、第1のキャッシュと第2のキャッシュとに論理的に分割されている。
【0013】
本発明の方法は、わずかな細分性(granularity)を持つセグメントを格納するための第1のキャッシュと、大きな細分性を持つセグメントからなるグループを格納するための第2のキャッシュとを使用する。ホスト・コンピュータがデータに対するアクセスを要求すると、本発明の方法は要求されたデータが第1のキャッシュに格納されているかどうかを判断する。もし要求されたデータが第1のキャッシュに格納されていないならば、方法は要求されたデータが第2のキャッシュに格納されているかどうかを判断する。もし要求されたデータが第2のキャッシュに格納されていないならば、記憶装置に格納された複数のセグメントからなる一グループにアクセスする。この際、それらのセグメントの一つに要求されたデータが含まれている。次に、セグメントからなるグループを第2のキャッシュに格納し、要求されたデータが含まれる第1のセグメントを第1のキャッシュに格納する。次に、要求されたデータが第1のキャッシュからアクセスされる。
【0014】
もし方法が第2のキャッシュではなく第1のキャッシュに要求されたデータが格納されていると判断するならば、要求されたデータを含むセグメントのコピーが第1のキャッシュに転送される。
【0015】
本方法は、別々のLRU手順を用いて最小使用頻度セグメントを第1のキャッシュから、またセグメントからなるグループを第2のキャッシュからデステージして第1及び第2のキャッシュに格納されていない要求データに対して記憶域を割り当てる。
【0016】
第1のキャッシュにセグメントを格納し、第2のキャッシュにグループを格納するとともに、キャッシュ・メモリを第1のキャッシュ及び第2のキャッシュへ論理的に分割することは、本発明の重要な特徴である。この特徴は、一グループ内の一つのデータ・オブジェクトを要求するアプリケーションが同一グループの別のデータ・オブジェクトも要求するが、同一のセグメントである必要性はない可能性を利用する。
【0017】
本発明のキャッシュ・メモリ・システムは上記した方法の手順を含む多重細分性(multi-granular)キャッシュ・マネージャ・プログラムを使用する。
【0018】
本発明にもとづくメモリ媒体は、キャッシュ・メモリを制御して上記した発明の方法の手順を実行する。
【0019】
本発明の別の目的、利点、及び特徴は、図面と共に以下の説明を参照することによって理解することができよう。なお、同の一符号は同一の構成要素を示している。
【0020】
【発明の実施の形態】
図1は、本発明に適用されるコンピュータ・システム10の概略的構成を示すブロック図である。コンピュータ・システム10は、ホスト・コンピュータ12と記憶システム14とを含む。記憶システム14は、ホスト・アダプタ16、記憶装置18、及び本発明にもとづく多重細分性キャッシュ・メモリ30を備える。多重細分性キャッシュ・メモリ30はホスト・アダプタ16とともに、ホスト・コンピュータ12と記憶装置18との間のデータ・パスに結合している。
【0021】
ホスト・コンピュータ12は、アプリケーションを実行する1種類以上のプロセッサを一般に有する。プロセッサは、並行して単一のアプリケーション、又は異なる時間又は同時に別々のアプリケーション、あるいはそれらの任意の組み合わせを実行してもよい。アプリケーションは、論理データ構造を構成するデータ・オブジェクトを使う。論理データ構造は一般にページ、テーブル等のレコードであってもよい。格納を目的として、複数のデータ・オブジェクトが一つのセグメントに論理的に配置され、また複数のセグメントが論理的に一つのグループに配置される。
【0022】
RAID−5アレイに関する好ましい実施形態例では、グループはストライプ(アレイ・シリンダとして当業者にしばしば知られている)に対応し、またセグメントはストライプ(また、アレイ・トラックとしてしばしば知られている)の一つのディスクに対応する。しかし、本発明は、オブジェクト、セグメント、及びグループの論理データ構造をフレキシブルな方法で規定することが可能であると考える。また、当業者はそれらの論理データ構造に対応する代わりの物理的レイアウトが可能であることを理解するであろう。
【0023】
ホスト・アダプタ16は、好ましくは記憶システム14とホスト・コンピュータ12との間でデータ・レコードを交換する送信及び受信能力を持つ従来のファシリティであってもよい。
【0024】
記憶装置18は、好ましくは複数のディスク19を有するディスク記憶装置であってもよい。好ましくは、記憶装置18は多重細分性キャッシュ・メモリ30がどちらかと言えば大きいチャンク(1つ以上のシリンダ)を操作するRAID能力を利用することができるように、RAID記憶スキームでディスク19を使用する。
【0025】
本発明によれば、キャッシュ・メモリ30は多重細分性マネージャ36を含む。
本発明の方法によれば、マネージャ36はキャッシュ・メモリ30を論理的に第1のキャッシュ32と第2のキャッシュ34とに分割する。マネージャ36は、ホスト・コンピュータ12からのデータ・アクセス要求に応答して、より小さな細分性のデータ構造、例えば第1のキャッシュ32に格納されるセグメントを生成する。マネージャ36は、ホスト・コンピュータ12からのデータ・アクセス要求に応答して、より大きな細分性のデータ構造、例えば第1のキャッシュ34に格納されるセグメントを生成する。第1及び第2のキャッシュ32、34は、キャッシュ・メモリ30の指定物理領域、又は論理領域であってもよい。
【0026】
セグメントを第1のキャッシュに格納し、グループを第2のキャッシュ34に格納するとともにキャッシュ・メモリ30を第1のキャッシュ32と第2のキャッシュ34とに論理分割することは、本発明の重要な特徴の一つである。この特徴は、一グループ内の一つのデータ・オブジェクトを要求するアプリケーションが同一グループの別のデータ・オブジェクトも要求するが、同一のセグメントである必要性はない可能性を利用する。キャッシュ・ミス率は約4分の1に減少すると推測される。
【0027】
マネージャ36は、セグメントLRUリスト35と、第1のキャッシュ32のためにセグメントLRUリスト35を管理する第1のキャッシュ・マネージャ37とを含むのもので、従来のLRU手順を利用する。また、マネージャ36はグループLRUリスト38と、第2のキャッシュ34のためにグループLRUリスト38を管理するグループ・マネージャ39とを含むもので、従来のLRU手順を利用する。マネージャ36は、さらに読み込み手順50、セグメント書き出し手順60、及びグループ書き出し手順80を有する。
【0028】
ここで、図2を参照する。読み込み手順50は、ホスト・コンピュータ12が読み込み操作のためにデータ・アクセスを要求する時に開示される。ステップ51は、要求されたデータがセグメントLRUリスト35にあるかどうかを判断する。もし要求されたデータがセグメントLRUリスト35にあるならば、ステップ57は要求されたデータのコピーを第1のキャッシュ32からホスト・コンピュータ12に転送する。
【0029】
もし要求されたデータがセグメントLRUリスト35に含まれていない場合(第1のキャッシュ・ミス)、ステップ52は要求されたデータがグループLRUリスト38にあるかどうかを判断する。もし要求されたデータがグループLRUリスト38に含まれている場合、ステップ54は要求されたデータを含むセグメントのコピーを第2のキャッシュ34から第1のキャッシュ32へステージする。ステップ54は、また第1のキャッシュ・マネージャと協力してセグメントLRUリスト35をアップデートし、そのようなステージされたセグメントのアドレスをリストのMRU部分に入れる。次に、ステップ57は要求されたデータのコピーをホスト・コンピュータ12に転送する。
【0030】
もし要求されたデータがグループLRUリスト38にないならば(第2のキャッシュ・ミス)、ステップ55が要求されたデータを含むグループのコピーをディスク記憶装置18から第2のキャッシュ34へステージする。また、ステップ55は、第2のキャッシュ・マネージャと協力してグループLRUリスト38をアップデートし、そのようなステージされたグループのアドレスをリストのMRU部分に入れる。次に、ステップ54は要求されたデータを含むセグメントを第2のキャッシュ34から第1のキャッシュ32へ上記したようにステージする。次に、ステップ57は要求されたレコードのコピーをホスト・コンピュータ12に転送する。
【0031】
ここで、図3及び図4を参照しながら説明する。セグメント書き出し手順60は、図3に示す同期プロセス61と、図4に示す非同期プロセス70とを含む。最初に図3を参照すると、同期プロセス61はホスト・コンピュータ12が書き出し操作のためにデータ・アクセスを要求する時に開始される。ステップ62は、要求されたデータがすでにセグメントLRUリスト35に存在するかどうかを判断する。もしそうであるならば、ステップ64は既存のデータを修飾するためにセグメントLRUキャッシュ32に書き込まれるデータを転送する。また、ステップ64はセグメントLRUリスト35も更新する。さらにステップ64はこのセグメントのセグメント待ちフラグを0にセットする。
【0032】
もし要求データがセグメントLRUリスト35に存在しないとステップ62よって判断されるばらば、ステップ63は第1のキャッシュ32に位置を割り当てる。次に、ステップ64が上記したようにして実行される。この際、書き込まれるデータは既に存在する版を修正しない。
【0033】
図4を参照する。非同期プロセス70は通常はスリープ・モードになっており、第2のキャッシュ34及び/又はディスク記憶装置18にデステージされる必要がある第1のキャッシュ32内に修飾されたセグメントが存在する場合にステップ71によって起こされる。ステップ71がデステージをする作業が存在すると判断した場合、ステップ72はセグメントLRUリスト35に次の修飾されたセグメントを見つける。ステップ73はこのセグメントがグループLRUリスト38にあるかどうかを判断する。もしなければ、ステップ74はセグメント待ちフラグが0に設定されたかどうかを判断する。もしそうであるならば、ステップ77はセグメント待ちフラグを1に設定する。次に、非同期プロセス70は、セグメントLRUリスト35の次の修飾されたセグメントに進むか、又はもし作業のための現在の操作が完了するならば短時間の間スリープ・モードに入る。このことは、ディスク記憶装置18にステージされる前に作られるセグメントに対する別の修飾を可能とする待ち機構を提供する。
【0034】
次にステップ71は再び非同期プロセス70を起こし、またステップ72からステップ74までが繰り返される。それによって、ステップ74はセグメント待ちフラグが0に設定されていないと判断する。次に、ステップ76は修飾されたセグメントをディスク記憶装置18にデステージする。そして、非同期プロセス70はセグメントLRUリスト35の次の修飾されたセグメントに進むか、又は作業に対する現行の操作が完了したならば短時間の間スリープ・モードに入る。
【0035】
もし修飾されたセグメントがグループLRUリスト28にあるとステップ73によって判断されるならば、ステップ73は既にあるグループを修飾するように、第2のキャッシュ34へ修飾されたセグメントを転送する。また、ステップ75はグループLRUリスト38を更新する。さらに、ステップ75はこのグループに対するグループ待ちフラグを0に設定する。次に、非同期プロセス70がスリープ・モードに入る。
【0036】
ここで、図5を参照する。グループ書き出し手順80もまた非同期プロセスであり、グループをデステージする作業が存在する時にステップ81で起こされる。グループ書き出し手順80がステップ81によって起こされると、ステップ82はグループLRUリスト38に次の修飾されたグループを見つける。ステップ83は、グループ待ちフラグが0に設定されているかどうかを判断する。もしそうであるならば、ステップ84はグループ待ちフラグを1に設定する。次に、グループ書き出し手順80は短時間の間、スリープ・モードに入る。このことは、ディスク記憶装置18にステージされる前に作られるセグメントに対する別の修飾を可能とする待ち機構を提供する。
【0037】
次に、ステップ81は再びグループ書き出し手順80を起こし、ステップ82及び83が繰り返される。それによって、やっとステップ83はグループ待ちフラグが0に設定されていないと判断する。次に、ステップ85は修飾されたセグメントをディスク記憶装置18にデステージする。次に、グループ書き出し手順80はスリープ・モードに入る。
【0038】
以上、本発明をその好ましい実施の形態にもとづいて説明したが、本発明は特許請求の範囲で定義されるように、種々の変更及び修飾が本発明の精神及び範囲から逸脱することなく可能であることは当業者に容易に理解されよう。
【0039】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)ホスト・コンピュータと記憶装置との間のデータ・パスに位置し、
かつ第1のキャッシュと第2のキャッシュとに論理的に分割されているキャッシュ・メモリを管理する方法であって、
(a)前記ホスト・コンピュータからのデータにアクセスする要求に応えて、要求されたデータが前記第1のキャッシュに格納されているかどうかを判断し、もし前記要求されたデータが第1のキャッシュに格納されていなければ、前記要求されたデータが第2のキャッシュに格納されているかどうかを判断するステップと、
(b)前記要求されたデータが前記第2のキャッシュに格納されていないならば、前記記憶装置に格納されたセグメントからなるグループにアクセスし、前記セグメントのグループに含まれた第1のセグメントに前記要求されたデータが含まれるステップと、
(c)前記第2のキャッシュに前記セグメントのグループを格納し、また前記第1のキャッシュに前記要求されたデータが含まれる前記第1のセグメントを格納するステップと、
(d)前記ステップ(a)で前記要求されたデータが前記第1のキャッシュに格納されていると判断した場合、又は前記ステップ(c)で前記第1のセグメントを前記第1のキャッシュに格納した時に前記第1のキャッシュからの前記要求されたデータにアクセスするステップと、
を有することを特徴とするキャッシュ・メモリ管理方法。
(2)(e)もしステップ(a)が要求されたデータは第1のキャッシュではなく第2のキャッシュに格納されていると判断するならば、前記第2のキャッシュにおいて前記要求されたデータを含む第2のセグメントにアクセスし、前記第2のセグメントを前記第1のキャッシュに格納するステップと、
(f)前記ステップ(e)が前記第1のキャッシュを前記第2のセグメントに格納した時に、前記第1のキャッシュから前記要求されたデータにアクセスするステップと、
をさらに有することを特徴とする上記(1)に記載のキャッシュ・メモリ管理方法。
(3)(g)もし前記ステップ(a)で要求されたデータが前記第1のキャッシュに格納されていないと判断したならば、最低使用頻度手順にもとづいて最低使用頻度セグメントを前記第1のキャッシュからデステージするステップと、
(h)もし前記ステップ(a)で要求されたデータが前記第2のキャッシュに格納されていないと判断したならば、最小使用頻度手順にもとづいて前記セグメントの最小使用頻度グループを前記第2のキャッシュからデステージするステップと、
をさらに有することを特徴とする上記(2)に記載のキャッシュ・メモリ管理方法。
(4)(i)前記ステップ(g)で使用される前記第1のキャッシュに対する第1の最小使用頻度リストを保持するステップと、
(j)前記ステップ(h)で使用される前記第2のキャッシュに対する第2の最小使用頻度リストを保持するステップと、
をさらに有することを特徴とする上記(2)に記載のキャッシュ・メモリ管理方法。
(5)(g)もし前記アクセス要求が前記要求されたデータの修復バージョンを書き出す要求であるならば、前記修復バージョンを前記第1のキャッシュに転送するステップと、
(h)前記記憶装置に対して前記第1のキャッシュから前記修復バージョンのコピーを直接的に、又は前記第2のキャッシュを介して間接的に転送するステップと、
をさらに有することを特徴とする上記(2)に記載のキャッシュ・メモリ管理方法。
(6)前記ステップ(h)は、もし前記要求されたデータが前記第2のキャッシュになければ直接的に転送を行い、またもし要求されたデータが前記第2のキャッシュにあれば間接的に転送を行うことを特徴とする上記(5)に記載のキャッシュ・メモリ管理方法。
(7)前記記憶装置は、RAID記憶装置であり、前記セグメントの各々は論理アレイ・トラックであり、また前記グループの各々は論理アレイ・シリンダであることを特徴とする上記(6)に記載のキャッシュ・メモリ管理方法。
(8)ホスト・コンピュータと記憶装置との間のデータ・パスに位置した多重細分性キャッシュ・メモリ・システムであって、
第1のキャッシュと第2のキャッシュとに論理的に分割されるキャッシュ・メモリと、
データにアクセスするために前記ホスト・コンピュータからの要求を処理するための多重細分性マネージャとを備え、さらに、
前記多重細分性マネージャは、
(a)前記ホスト・コンピュータからのデータにアクセスする要求に応えて、要求されたデータが前記第1のキャッシュに格納されているかどうかを判断し、もし前記要求されたデータが第1のキャッシュに格納されていなければ、前記要求されたデータが第2のキャッシュに格納されているかどうかを判断するステップと、
(b)前記要求されたデータが前記第2のキャッシュに格納されていないならば、前記記憶装置に格納されたセグメントからなるグループにアクセスし、前記セグメントのグループに含まれた第1のセグメントに前記要求されたデータが含まれるステップと、
(c)前記第2のキャッシュに前記セグメントのグループを格納し、また前記第1のキャッシュに前記要求されたデータが含まれる前記第1のセグメントを格納するステップと、
(d)前記ステップ(a)で前記要求されたデータが前記第1のキャッシュに格納されていると判断した場合、又は前記ステップ(c)で前記第1のセグメントを前記第1のキャッシュに格納した時に前記第1のキャッシュからの前記要求されたデータにアクセスするステップと、
を有する手順を実行することを特徴とする多重細分性キャッシュ・メモリ・システム。
(9)前記手順は、
(e)もしステップ(a)が要求されたデータは第1のキャッシュではなく第2のキャッシュに格納されていると判断するならば、前記第2のキャッシュにおいて前記要求されたデータを含む第2のセグメントにアクセスし、前記第2のセグメントを前記第1のキャッシュに格納するステップと、
(f)前記ステップ(e)が前記第1のキャッシュを前記第2のセグメントに格納した時に、前記第1のキャッシュから前記要求されたデータにアクセスするステップと、
をさらに有することを特徴とする上記(8)に記載の多重細分性キャッシュ・メモリ・システム。
(10)前記手順は、
(g)もし前記ステップ(a)で要求されたデータが前記第1のキャッシュに格納されていないと判断したならば、最低使用頻度手順にもとづいて最低使用頻度セグメントを前記第1のキャッシュからデステージするステップと、
(h)もし前記ステップ(a)で要求されたデータが前記第2のキャッシュに格納されていないと判断したならば、最小使用頻度手順にもとづいて前記セグメントの最小使用頻度グループを前記第2のキャッシュからデステージするステップと、
をさらに有することを特徴とする上記(9)に記載の多重細分性キャッシュ・メモリ・システム。
(11)前記手順は、
(i)前記ステップ(g)で使用される前記第1のキャッシュに対する第1の最小使用頻度リストを保持するステップと、
(j)前記ステップ(h)で使用される前記第2のキャッシュに対する第2の最小使用頻度リストを保持するステップと、
をさらに有することを特徴とする上記(10)に記載の多重細分性キャッシュ・メモリ・システム。
(12)前記手順は、
(g)もし前記アクセス要求が前記要求されたデータの修復バージョンを書き出す要求であるならば、前記修復バージョンを前記第1のキャッシュに転送するステップと、
(h)前記記憶装置に対して前記第1のキャッシュから前記修復バージョンのコピーを直接的に、又は前記第2のキャッシュを介して間接的に転送するステップと、
をさらに有することを特徴とする上記(9)に記載の多重細分性キャッシュ・メモリ・システム。
(13)前記ステップ(h)は、もし前記要求されたデータが前記第2のキャッシュになければ直接的に転送を行い、またもし要求されたデータが前記第2のキャッシュにあれば間接的に転送を行うことを特徴とする上記(12)に記載の多重細分性キャッシュ・メモリ・システム。
(14)前記記憶装置は、RAID記憶装置であり、前記セグメントの各々は論理アレイ・トラックであり、また前記グループの各々は論理アレイ・シリンダであることを特徴とする上記(6)に記載の多重細分性キャッシュ・メモリ・システム。
(15)ホスト・コンピュータと記憶装置との間のデータ・パスに位置した多重細分性キャッシュ・メモリ・システムを制御するためのメモリ媒体であって、
前記キャッシュ・メモリ・システムは、キャッシュ・マネージャと、第1のキャッシュと第2のキャッシュとに論理的に分割されるキャッシュ・メモリとを有し、
前記メモリ媒体は、
前記多重細分性キャッシュ・メモリを制御するための手段を有し、該制御は、
(a)前記ホスト・コンピュータからのデータにアクセスする要求に応えて、要求されたデータが前記第1のキャッシュに格納されているかどうかを判断し、もし前記要求されたデータが第1のキャッシュに格納されていなければ、前記要求されたデータが第2のキャッシュに格納されているかどうかを判断するステップと、
(b)前記要求されたデータが前記第2のキャッシュに格納されていないならば、前記記憶装置に格納されたセグメントからなるグループにアクセスし、前記セグメントのグループに含まれた第1のセグメントに前記要求されたデータが含まれるステップと、
(c)前記第2のキャッシュに前記セグメントのグループを格納し、また前記第1のキャッシュに前記要求されたデータが含まれる前記第1のセグメントを格納するステップと、
(d)前記ステップ(a)で前記要求されたデータが前記第1のキャッシュに格納されていると判断した場合、又は前記ステップ(c)で前記第1のセグメントを前記第1のキャッシュに格納した時に前記第1のキャッシュからの前記要求されたデータにアクセスするステップと、
を有する手順によることを特徴とするメモリ媒体。
(16)前記手順は、
(e)もしステップ(a)が要求されたデータは第1のキャッシュではなく第2のキャッシュに格納されていると判断するならば、前記第2のキャッシュにおいて前記要求されたデータを含む第2のセグメントにアクセスし、前記第2のセグメントを前記第1のキャッシュに格納するステップと、
(f)前記ステップ(e)が前記第1のキャッシュを前記第2のセグメントに格納した時に、前記第1のキャッシュから前記要求されたデータにアクセスするステップと、
をさらに有することを特徴とする上記(15)に記載のメモリ媒体。
(17)前記手順は、
(g)もし前記ステップ(a)で要求されたデータが前記第1のキャッシュに格納されていないと判断したならば、最低使用頻度手順にもとづいて最低使用頻度セグメントを前記第1のキャッシュからデステージするステップと、
(h)もし前記ステップ(a)で要求されたデータが前記第2のキャッシュに格納されていないと判断したならば、最小使用頻度手順にもとづいて前記セグメントの最小使用頻度グループを前記第2のキャッシュからデステージするステップと、
をさらに有することを特徴とする上記(16)に記載のメモリ媒体。
(18)前記手順は、
(i)前記ステップ(g)で使用される前記第1のキャッシュに対する第1の最小使用頻度リストを保持するステップと、
(j)前記ステップ(h)で使用される前記第2のキャッシュに対する第2の最小使用頻度リストを保持するステップと、
をさらに有することを特徴とする上記(17)に記載のメモリ媒体。
(19)前記手順は、
(g)もし前記アクセス要求が前記要求されたデータの修復バージョンを書き出す要求であるならば、前記修復バージョンを前記第1のキャッシュに転送するステップと、
(h)前記記憶装置に対して前記第1のキャッシュから前記修復バージョンのコピーを直接的に、又は前記第2のキャッシュを介して間接的に転送するステップと、
をさらに有することを特徴とする上記(16)に記載のメモリ媒体。
(20)前記ステップ(h)は、もし前記要求されたデータが前記第2のキャッシュになければ直接的に転送を行い、またもし要求されたデータが前記第2のキャッシュにあれば間接的に転送を行うことを特徴とする上記(19)に記載のメモリ媒体。
(21)前記記憶装置は、RAID記憶装置であり、前記セグメントの各々は論理アレイ・トラックであり、また前記グループの各々は論理アレイ・シリンダであることを特徴とする上記(20)に記載のメモリ媒体。
【図面の簡単な説明】
【図1】 本発明にもとづく多重細分性キャッシュ・メモリを有するコンピュータ・システムの概略的構成を説明するためのブロック図である。
【図2】 本発明にもとづく多重細分性プログラムの読み込み手順を示すフローチャートである。
【図3】 本発明にもとづく多重細分性プログラムの書き出し手順を示すフローチャートである。
【図4】 本発明にもとづく多重細分性プログラムの書き出し手順を示すフローチャートである。
【図5】 本発明にもとづく多重細分性プログラムの書き出し手順を示すフローチャートである。
【符号の説明】
10 コンピュータ・システム
12 ホスト・コンピュータ
14 記憶システム
16 ホスト・アダプタ
18 記憶装置
19 ディスク
30 多重細分性キャッシュ・メモリ
32 第1のキャッシュ
34 第2のキャッシュ
35 セグメントLRUリスト
36 多重細分性マネージャ
37 第1のキャッシュ・マネージャ
38 グループLRUリスト
39 グループ・マネージャ
50 読み込み手順
60 セグメント書き出し手順
61 同期プロセス
70 非同期プロセス
80 グループ書き出し手順

Claims (2)

  1. ホスト・コンピュータと記憶装置との間でデータ・パスを介して接続され、かつ第1のキャッシュと第2のキャッシュとに論理的に分割されているキャッシュ・メモリを管理する方法であって、
    前記第1のキャッシュがデータを含むセグメントを記憶し、前記第2のキャッシュが複数のセグメントからなるグループを記憶し、前記第1のキャッシュのためのセグメントLRU(最低使用頻度)リスト及び前記第2のキャッシュのためのグループLRUリストが設けられており、
    前記ホスト・コンピュータへの読み取り時に、
    (a)前記ホスト・コンピュータからのデータにアクセスする要求に応えて、要求されたデータが前記セグメントLRUリストにあるかどうかを判断するステップと、
    (b)前記ステップ(a)において、もしも前記要求されたデータが前記セグメントLRUリストにあるならば、前記要求されたデータのコピーを前記第1のキャッシュから前記ホスト・コンピュータに転送するステップと、
    (c)前記ステップ(a)において、もしも前記要求されたデータが前記セグメントLRUリストにないならば、前記要求されたデータが前記グループLRUリストにあるかどうかを判断するステップと、
    (d)前記ステップ(c)において、もしも前記要求されたデータが前記グループLRUリストにあるならば、前記要求されたデータを含むセグメントのコピーを前記第2のキャッシュから前記第1のキャッシュへ転送すると共に、前記セグメントLRUリストを更新して、前記転送されたセグメントのアドレスを前記セグメントLRUリストのMRU(最後に使用された)部分に入れるステップと、
    (e)前記ステップ(d)に続いて、前記要求されたデータのコピーを前記第1のキャッシュから前記ホスト・コンピュータに転送するステップと、
    (f)前記ステップ(c)において、もしも前記要求されたデータが前記グループLRUリストにないならば、前記要求されたデータを含むグループのコピーを前記記憶装置から前記第2のキャッシュへ転送すると共に、前記グループLRUリストを更新して、前記転送されたグループのアドレスを前記グループLRUリストのMRU部分に入れるステップと、
    (g)前記ステップ(f)に続いて、前記要求されたデータを含むセグメントのコピーを前記第2のキャッシュから前記第1のキャッシュに転送するステップと、
    (h)前記ステップ(g)に続いて、前記要求されたデータのコピーを前記第1のキャッシュから前記ホスト・コンピュータに転送するステップと
    を行い、
    前記ホスト・コンピュータからのデータの書き込み時に、
    (イ)通常はスリープ・モードになっており、前記ホスト・コンピュータにより修正され且つ前記第2のキャッシュ及び前記記憶装置へ転送する必要があるセグメントが前記第1のキャッシュ内に存在することに応答して起動するステップと、
    (ロ)前記ステップ(イ)に続いて、前記セグメントLRUリスト内の前記修正されたセグメントを見出すステップと、
    (ハ)前記ステップ(ロ)に続いて、前記修正されたセグメントが前記グループLRUリストにあるかどうかを判断するステップと、
    (ニ)前記ステップ(ハ)において、前記修正されたセグメントが前記グループLRUリストにあるならば、前記修正されたセグメントを前記第2のキャッシュに転送して既存のグループを修正するステップと、
    (ホ)前記ステップ(ハ)において、前記修正されたセグメントが前記グループLRUリストにないならば、前記修正されたセグメントのセグメント待ちフラグが0に設定されているかどうかを判断するステップと、
    (ヘ)前記ステップ(ホ)において、前記セグメント待ちフラグが0に設定されているならば、該セグメント待ちフラグを1に設定するステップと、
    (ト)前記ステップ(へ)に続いて、前記ステップ(イ)、(ロ)、(ハ)及び(ホ)を行い、該ステップ(ホ)において前記セグメント待ちフラグが1であることを検出して、前記修正されたセグメントを前記記憶装置に転送するステップと
    を行うことを特徴とする、キャッシュ・メモリ管理方法。
  2. もしも前記ステップ(a)で要求されたデータが前記第1のキャッシュに格納されていないと判断したならば、最低使用頻度手順にもとづいて最低使用頻度セグメントを前記第1のキャッシュからデステージするステップと、
    もしも前記ステップ(a)で要求されたデータが前記第2のキャッシュに格納されていないと判断したならば、最小使用頻度手順にもとづいて前記セグメントの最小使用頻度グループを前記第2のキャッシュからデステージするステップと、
    をさらに有することを特徴とする請求項に記載のキャッシュ・メモリ管理方法。
JP2000294735A 1999-10-01 2000-09-27 キャッシュ・メモリを管理する方法 Expired - Fee Related JP3697149B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/410499 1999-10-01
US09/410,499 US6341331B1 (en) 1999-10-01 1999-10-01 Method and system for managing a raid storage system with cache

Publications (2)

Publication Number Publication Date
JP2001142778A JP2001142778A (ja) 2001-05-25
JP3697149B2 true JP3697149B2 (ja) 2005-09-21

Family

ID=23624989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000294735A Expired - Fee Related JP3697149B2 (ja) 1999-10-01 2000-09-27 キャッシュ・メモリを管理する方法

Country Status (6)

Country Link
US (1) US6341331B1 (ja)
JP (1) JP3697149B2 (ja)
KR (1) KR100373313B1 (ja)
CN (1) CN1148658C (ja)
GB (1) GB2357172B (ja)
SG (1) SG87172A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3705731B2 (ja) * 2000-06-05 2005-10-12 富士通株式会社 入出力制御装置
JP4219633B2 (ja) * 2002-07-25 2009-02-04 株式会社日立製作所 記憶装置システムのデステージ方法、ディスク制御装置、記憶装置システム、及びプログラム
US7219169B2 (en) * 2002-09-30 2007-05-15 Sun Microsystems, Inc. Composite DMA disk controller for efficient hardware-assisted data transfer operations
JP3933027B2 (ja) * 2002-10-17 2007-06-20 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ分割管理方式
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
JP2004302751A (ja) 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4266725B2 (ja) * 2003-06-27 2009-05-20 株式会社日立製作所 記憶システム
TW200504577A (en) * 2003-07-16 2005-02-01 Matsushita Electric Ind Co Ltd Management method for data storage in data recording medium, and information processing device using the same
EP1668486A2 (en) * 2003-08-14 2006-06-14 Compellent Technologies Virtual disk drive system and method
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US7099993B2 (en) * 2003-09-24 2006-08-29 Seagate Technology Llc Multi-level caching in data storage devices
US7231492B2 (en) * 2003-09-30 2007-06-12 Emc Corporation Data transfer method wherein a sequence of messages update tag structures during a read data transfer
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
JP4412981B2 (ja) * 2003-11-26 2010-02-10 株式会社日立製作所 ストレージシステム及同システムにおけるデータキャッシング方法
JP4141391B2 (ja) 2004-02-05 2008-08-27 株式会社日立製作所 ストレージサブシステム
JP2005267008A (ja) 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
US20060031639A1 (en) * 2004-08-06 2006-02-09 International Business Machines Corporation Write unmodified data to controller read cache
US7536513B2 (en) * 2005-03-31 2009-05-19 International Business Machines Corporation Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state
JP4813843B2 (ja) * 2005-08-04 2011-11-09 株式会社日立製作所 ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
KR100833178B1 (ko) 2005-08-26 2008-05-28 삼성전자주식회사 캐시 메모리에 저장되는 블록개수를 제어할 수 있는 캐시메모리 시스템 및 동작 방법
US7500050B2 (en) 2006-03-20 2009-03-03 International Business Machines Corporation Wise ordering for writes—combining spatial and temporal locality in write caches for multi-rank storage
US7574556B2 (en) * 2006-03-20 2009-08-11 International Business Machines Corporation Wise ordering for writes—combining spatial and temporal locality in write caches
KR100876841B1 (ko) * 2006-08-22 2009-01-07 엘지전자 주식회사 캐쉬 메모리 탑재형 컴퓨터 및 그 제어 방법
US8291245B2 (en) * 2008-04-17 2012-10-16 International Business Machines Corporation Method, apparatus and system for reducing power consumption based on storage device data migration
US7984313B2 (en) * 2008-04-17 2011-07-19 International Business Machines Corporation Method, apparatus and system for reducing power consumption involving data storage devices
US8769201B2 (en) * 2008-12-02 2014-07-01 Intel Corporation Technique for controlling computing resources
CN102023809B (zh) * 2009-09-21 2012-10-17 成都市华为赛门铁克科技有限公司 存储系统、从存储系统读取数据的方法及写入数据的方法
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US8688913B2 (en) 2011-11-01 2014-04-01 International Business Machines Corporation Management of partial data segments in dual cache systems
US8825957B2 (en) * 2012-01-17 2014-09-02 International Business Machines Corporation Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache
US9021201B2 (en) * 2012-01-17 2015-04-28 International Business Machines Corporation Demoting partial tracks from a first cache to a second cache
US8966178B2 (en) * 2012-01-17 2015-02-24 International Business Machines Corporation Populating a first stride of tracks from a first cache to write to a second stride in a second cache
US11556473B2 (en) * 2020-07-30 2023-01-17 EMC IP Holding Company LLC Cache memory management

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2037037B (en) 1978-12-11 1983-07-27 Honeywell Inf Systems Data-processing apparatus
US5210848A (en) 1989-02-22 1993-05-11 International Business Machines Corporation Multi-processor caches with large granularity exclusivity locking
EP0389151A3 (en) 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
US5155832A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Method to increase performance in a multi-level cache system by the use of forced cache misses
US5155828A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Computing system with a cache memory and an additional look-aside cache memory
US5293609A (en) * 1991-04-19 1994-03-08 International Business Machines Corporation Hit-density-based replacement for data cache with prefetching
JP2810593B2 (ja) * 1992-05-13 1998-10-15 三菱電機株式会社 記憶装置
US5434992A (en) * 1992-09-04 1995-07-18 International Business Machines Corporation Method and means for dynamically partitioning cache into a global and data type subcache hierarchy from a real time reference trace
US5572704A (en) 1993-12-15 1996-11-05 Silicon Graphics, Inc. System and method for controlling split-level caches in a multi-processor system including data loss and deadlock prevention schemes
JP3030229B2 (ja) 1994-06-20 2000-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを転送する方法及びデータ記憶システム
US5634109A (en) * 1994-06-20 1997-05-27 International Business Machines Corporation Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache
US5636359A (en) 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US5615352A (en) * 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
US5778426A (en) 1995-10-23 1998-07-07 Symbios, Inc. Methods and structure to maintain a two level cache in a RAID controller and thereby selecting a preferred posting method
US5802572A (en) 1996-03-15 1998-09-01 International Business Machines Corporation Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache
US5933840A (en) * 1997-05-19 1999-08-03 International Business Machines Corporation Garbage collection in log-structured information storage systems using age threshold selection of segments

Also Published As

Publication number Publication date
GB2357172A (en) 2001-06-13
CN1290890A (zh) 2001-04-11
SG87172A1 (en) 2002-03-19
KR100373313B1 (ko) 2003-02-25
US6341331B1 (en) 2002-01-22
JP2001142778A (ja) 2001-05-25
KR20010039936A (ko) 2001-05-15
CN1148658C (zh) 2004-05-05
GB2357172B (en) 2003-11-12
GB0023633D0 (en) 2000-11-08

Similar Documents

Publication Publication Date Title
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
US6243795B1 (en) Redundant, asymmetrically parallel disk cache for a data storage system
US5627990A (en) Management system for a hierarchical data cache employing preemptive cache track demotion and restaging to adapt to access patterns
US6141731A (en) Method and system for managing data in cache using multiple data structures
US7769952B2 (en) Storage system for controlling disk cache
US10013361B2 (en) Method to increase performance of non-contiguously written sectors
US7861035B2 (en) Method of improving input and output performance of raid system using matrix stripe cache
US6941420B2 (en) Log-structure array
JP3258117B2 (ja) 記憶装置サブシステム
US9323687B2 (en) Use of differing granularity heat maps for caching and migration
US20090210620A1 (en) Method to handle demand based dynamic cache allocation between SSD and RAID cache
US6378038B1 (en) Method and system for caching data using raid level selection
WO2011042428A1 (en) Secondary cache for write accumulation and coalescing
US10152236B2 (en) Hybrid data storage device with partitioned local memory
US9471252B2 (en) Use of flash cache to improve tiered migration performance
US6993627B2 (en) Data storage system and a method of storing data including a multi-level cache
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
Mishra et al. Performance study of RAID-5 disk arrays with data and parity cache
JP2000285022A (ja) ディスク制御装置
JP2010160544A (ja) キャッシュメモリシステム及びキャッシュメモリの制御方法
JPH0793108A (ja) アレイ型ディスクシステムの制御装置
JPH10320133A (ja) アレイ型ディスクシステムの制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050331

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050701

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees