JPH02281350A - キヤツシユ・メモリ管理 - Google Patents
キヤツシユ・メモリ管理Info
- Publication number
- JPH02281350A JPH02281350A JP2067401A JP6740190A JPH02281350A JP H02281350 A JPH02281350 A JP H02281350A JP 2067401 A JP2067401 A JP 2067401A JP 6740190 A JP6740190 A JP 6740190A JP H02281350 A JPH02281350 A JP H02281350A
- Authority
- JP
- Japan
- Prior art keywords
- data item
- subcache
- data
- cache
- local
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 12
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/282—Partitioned cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、プロセッサと、ハードディスク・ドライブ等
の記憶装置との間で使用されるキャッシュ又はバッファ
・メモリの効率的な管理に関する。
の記憶装置との間で使用されるキャッシュ又はバッファ
・メモリの効率的な管理に関する。
B、従来技術
現在の計算機システム技術の下では、プロセッサのスピ
ードはディスクの入出力(■0)のスピードよりも急速
に増大しており、ランダム・アクセス・メモリの価格は
ディスクIOの価格よりも急速に低下している。またア
プリケ−シコンはシステムの記憶装置のサイズに対する
要求を増大させている。これらの傾向は、より高速のプ
ロセッサがより大規模で比較的低速のディスク記憶装置
に接続されるという結果を生じる。プロセッサのスピー
ドとディスクのスピードとの間の明らかな不整合は、プ
ロセッサとディスクとの間に、より大規模なランダム・
アクセスのバッファ又はキャッシュを含める事によりマ
スクされている。
ードはディスクの入出力(■0)のスピードよりも急速
に増大しており、ランダム・アクセス・メモリの価格は
ディスクIOの価格よりも急速に低下している。またア
プリケ−シコンはシステムの記憶装置のサイズに対する
要求を増大させている。これらの傾向は、より高速のプ
ロセッサがより大規模で比較的低速のディスク記憶装置
に接続されるという結果を生じる。プロセッサのスピー
ドとディスクのスピードとの間の明らかな不整合は、プ
ロセッサとディスクとの間に、より大規模なランダム・
アクセスのバッファ又はキャッシュを含める事によりマ
スクされている。
IMS及びDB2等のデータ・ベース・システムは、最
近に参照されたデータ・ベース・レコードを保持するた
めに主記憶の大きなバッファを有している。またディス
ク制御装置は、ランダム・アクセス・メモリを使用して
、最も最近に参照されたディスク上のトラックを保持し
ている。いずれの型の一時記憶も、しばしば「キャッシ
ュ」と呼ばれている。データはキャッシュ中に記憶され
るので、もしデータが参照されると、その要求は、ディ
スク自体に対するアクセスが再び実行された場合よりも
迅速に処理する事ができる。キャッシュの使用は、通常
はディスク上に存在しているデータに対してより迅速な
アクセスを達成するために、システムにおけるランダム
・アクセス・メモリの使用を増加させる。
近に参照されたデータ・ベース・レコードを保持するた
めに主記憶の大きなバッファを有している。またディス
ク制御装置は、ランダム・アクセス・メモリを使用して
、最も最近に参照されたディスク上のトラックを保持し
ている。いずれの型の一時記憶も、しばしば「キャッシ
ュ」と呼ばれている。データはキャッシュ中に記憶され
るので、もしデータが参照されると、その要求は、ディ
スク自体に対するアクセスが再び実行された場合よりも
迅速に処理する事ができる。キャッシュの使用は、通常
はディスク上に存在しているデータに対してより迅速な
アクセスを達成するために、システムにおけるランダム
・アクセス・メモリの使用を増加させる。
第3図は、プロセッサが主記憶を含んでいるシステムを
説明している。主記憶はキャッシュと呼ばれる部分を有
している。プロセッサの主記憶は、ディスク制御装置に
接続され、その各々は1以上のディスク記憶装置に接続
されている。各ディスク制御装置はそれ自身のディスク
・キャッシュを有していても良い。第2図は、現在使用
されているような統合キャッシュをより詳細に説明して
いる。第3図のシステムのディスク制御装置の1つのキ
ャッシュが示されているが、原理は、システムの他の部
分のキャッシュにも適用可能である。
説明している。主記憶はキャッシュと呼ばれる部分を有
している。プロセッサの主記憶は、ディスク制御装置に
接続され、その各々は1以上のディスク記憶装置に接続
されている。各ディスク制御装置はそれ自身のディスク
・キャッシュを有していても良い。第2図は、現在使用
されているような統合キャッシュをより詳細に説明して
いる。第3図のシステムのディスク制御装置の1つのキ
ャッシュが示されているが、原理は、システムの他の部
分のキャッシュにも適用可能である。
キャッシュはあらゆる型のデータ、例えばディスク制御
装置に取り付けられた両方のディスク記憶装置からのデ
ータを等しく受取り、データを全て同一に取扱う。
装置に取り付けられた両方のディスク記憶装置からのデ
ータを等しく受取り、データを全て同一に取扱う。
C0発明が解決しようとする課題
複数のキャッシュを含むシステムの以前の研究は、キャ
ッシュを別個に独立に考察するか、又は異なったシステ
ム・レベルで使用されているメモリ(記憶)技術が異な
った価格及び/又はアクセス時間を有しているという「
線形の階層」を考察してきた。しかしながら、今日では
、同じメモリ技術(又はほぼ同じメモリ技術)が、シス
テムの全体にわたって、同じ又は異なったレベルに位置
するキャッシュで使用されている。これら複数のキャッ
シュは独立に管理され、しばしば同じデータのコピーを
含んでいる。例えば、主記憶のIMSバッファ・プール
とディスクのトラックに関する制御装置のキャッシュと
は同じメモリ技術を用い、同じデータを保持している可
能性がある。これら複数のキャッシュが一緒に良く働く
条件も、又システム中にどれぐらい多くのランダム・ア
クセス・メモリを置くか、それをどこに置くか、若しく
はそれをどのように管理するかについての質問に対する
解答も今日のシステムの設計者には知られていない。
ッシュを別個に独立に考察するか、又は異なったシステ
ム・レベルで使用されているメモリ(記憶)技術が異な
った価格及び/又はアクセス時間を有しているという「
線形の階層」を考察してきた。しかしながら、今日では
、同じメモリ技術(又はほぼ同じメモリ技術)が、シス
テムの全体にわたって、同じ又は異なったレベルに位置
するキャッシュで使用されている。これら複数のキャッ
シュは独立に管理され、しばしば同じデータのコピーを
含んでいる。例えば、主記憶のIMSバッファ・プール
とディスクのトラックに関する制御装置のキャッシュと
は同じメモリ技術を用い、同じデータを保持している可
能性がある。これら複数のキャッシュが一緒に良く働く
条件も、又システム中にどれぐらい多くのランダム・ア
クセス・メモリを置くか、それをどこに置くか、若しく
はそれをどのように管理するかについての質問に対する
解答も今日のシステムの設計者には知られていない。
D6課題を解決するための手段
本発明は、2次記憶装置からのデータがプロセッサによ
りアクセスされる前に最初にキャッシュにステージング
されるステージング式記憶システムにおいて有用な方法
を含む。この方法は、事前に指定された分類方式を使っ
て記憶データをN個のカテゴリーに分類し、キヤ、ツシ
ュをグローバル・サブキャッシュ及びN個のローカル・
サブキャッシュに区分するステップを含む。この方式に
よれば、通常のキャッシュで得られるよりも高いヒツト
率が得られる。データがプロセッサにより要求される時
、この方法によれば、2次記憶装置又はN個のローカル
・サブキャッシュのどれかからデータがグローバル・サ
ブキャッシュにステージングされる。末端カテゴリーの
1つに属するデータは、グローバル・サブキャッシュか
らN個のローカル・サブキャッシュの対応する1つにブ
ツシュされ、またデータはN個のサブキャッシュから2
次記憶装置にブツシュされる。
りアクセスされる前に最初にキャッシュにステージング
されるステージング式記憶システムにおいて有用な方法
を含む。この方法は、事前に指定された分類方式を使っ
て記憶データをN個のカテゴリーに分類し、キヤ、ツシ
ュをグローバル・サブキャッシュ及びN個のローカル・
サブキャッシュに区分するステップを含む。この方式に
よれば、通常のキャッシュで得られるよりも高いヒツト
率が得られる。データがプロセッサにより要求される時
、この方法によれば、2次記憶装置又はN個のローカル
・サブキャッシュのどれかからデータがグローバル・サ
ブキャッシュにステージングされる。末端カテゴリーの
1つに属するデータは、グローバル・サブキャッシュか
らN個のローカル・サブキャッシュの対応する1つにブ
ツシュされ、またデータはN個のサブキャッシュから2
次記憶装置にブツシュされる。
E、実施例
本発明は、「区画化されたキャッシュ」を含んでいる。
区画化されたキャッシュは、複数のキャッシュを有する
システムが、複数のサブキャッシュに区画化された1つ
のキャッシュとして取扱われ且つ解析される事を可能に
する。サブキャッシュが物理的に分離しているか又は物
理的に一緒になっているか、及び論理的に区画化されて
いるかどうかは本質的でない。良好な実施例の下記の説
明のために、区画化されたキャッシュは、全てのサブキ
ャッシュのアクセス時間及び価格が同一であるようなキ
ャッシュに関して説明する。それにも拘らず、本発明は
、サブキャッシュへのアクセス時間及びサブキャッシュ
中のメモリの価格が、異なったサブキャッシュ毎に異な
っている時にも、適用可能である。
システムが、複数のサブキャッシュに区画化された1つ
のキャッシュとして取扱われ且つ解析される事を可能に
する。サブキャッシュが物理的に分離しているか又は物
理的に一緒になっているか、及び論理的に区画化されて
いるかどうかは本質的でない。良好な実施例の下記の説
明のために、区画化されたキャッシュは、全てのサブキ
ャッシュのアクセス時間及び価格が同一であるようなキ
ャッシュに関して説明する。それにも拘らず、本発明は
、サブキャッシュへのアクセス時間及びサブキャッシュ
中のメモリの価格が、異なったサブキャッシュ毎に異な
っている時にも、適用可能である。
区画化されたキャッシュは、論理的にに+1個のサブキ
ャッシュに区画化された固定サイズのキャッシュである
。グローバル・サブキャッシュと呼ばれるサブキャッシ
ュの1つは全てのデータ型を受取り、−万能のに個のサ
ブキャッシュの各々は1つの型のデータだけを受取る。
ャッシュに区画化された固定サイズのキャッシュである
。グローバル・サブキャッシュと呼ばれるサブキャッシ
ュの1つは全てのデータ型を受取り、−万能のに個のサ
ブキャッシュの各々は1つの型のデータだけを受取る。
第1図を参照すると、2つの型のデータを取扱うように
3つのサブキャッシュに区画化されたキャッシュが示さ
れている。グローバル・サブキャッシュは全ての型のデ
ータを受取り、一方各ローカル・サブキャッシュはそれ
に対応する型のデータのみを受取る。
3つのサブキャッシュに区画化されたキャッシュが示さ
れている。グローバル・サブキャッシュは全ての型のデ
ータを受取り、一方各ローカル・サブキャッシュはそれ
に対応する型のデータのみを受取る。
第1図に記載されているように、2つの異なった型のデ
ータは、制御装置に接続された2つの記憶装置からのデ
ータであり得る。従って、2つのサブキャッシュの各々
は対応する記憶装置からのデータのみを受取る。グロー
バル・サブキャッシュは両方の記憶装置からのデータを
受取る。
ータは、制御装置に接続された2つの記憶装置からのデ
ータであり得る。従って、2つのサブキャッシュの各々
は対応する記憶装置からのデータのみを受取る。グロー
バル・サブキャッシュは両方の記憶装置からのデータを
受取る。
本発明の良好な実施例は、トラック・キャッシングに関
連して説明するが、その場合、トラック中のレコード又
はブロックの数に無関係に、ディスクのトラックからの
データが1つの単位として一緒に記憶され管理される。
連して説明するが、その場合、トラック中のレコード又
はブロックの数に無関係に、ディスクのトラックからの
データが1つの単位として一緒に記憶され管理される。
本発明の技術は、ブロック・キャッシング及びレコード
・キャッシングに関しても使用できる。
・キャッシングに関しても使用できる。
キャッシュ性能を考察する時、もし要求されたデータ片
がキャッシュ中に(どれかのサブキャッシュ中に)見出
されるならば、キャッシュ「ヒツト」が記録される。も
し要求されたデータがキャッシュ中に見出されなければ
、「ミス」が記録される。ヒツト及び/又はミスの数は
、「参照ストリング」と呼ばれる有限の参照シーケンス
の量測定され、キャッシュは、もし高いパーセンテージ
の参照がヒツトになるならばその参照ストリングに関し
て有効であると呼ばれる。
がキャッシュ中に(どれかのサブキャッシュ中に)見出
されるならば、キャッシュ「ヒツト」が記録される。も
し要求されたデータがキャッシュ中に見出されなければ
、「ミス」が記録される。ヒツト及び/又はミスの数は
、「参照ストリング」と呼ばれる有限の参照シーケンス
の量測定され、キャッシュは、もし高いパーセンテージ
の参照がヒツトになるならばその参照ストリングに関し
て有効であると呼ばれる。
第1図に示す区画化キャッシュを使用する時、異なった
型のデータが一緒且つ別個に管理されうる。データは、
物理的な配置(例えばあるデータは1つのディスク・ボ
リューム上にあり、あるデータは他のディスク・ボリュ
ーム上にある事)により異なった型に属する事が可能で
あり、又論理的配置(例えばあるデータは1つの型のフ
ァイル又はデータ・セット中にあり、あるデータは他の
型のファイル又はデータ・セット中にある事)により異
なった型に属する事が可能である。2つの異なった型の
データが第1図に示されている。各データ型は2つのデ
ィスク記憶装置のひとつにホームを有する。
型のデータが一緒且つ別個に管理されうる。データは、
物理的な配置(例えばあるデータは1つのディスク・ボ
リューム上にあり、あるデータは他のディスク・ボリュ
ーム上にある事)により異なった型に属する事が可能で
あり、又論理的配置(例えばあるデータは1つの型のフ
ァイル又はデータ・セット中にあり、あるデータは他の
型のファイル又はデータ・セット中にある事)により異
なった型に属する事が可能である。2つの異なった型の
データが第1図に示されている。各データ型は2つのデ
ィスク記憶装置のひとつにホームを有する。
要求者は、要求のシーケンスを作成する。各要求は、2
つのディスクの1つ且つ1つだけに属するデータに関す
るものである。もし要求された項目がキャッシュ中にあ
れば、それはヒツトである。
つのディスクの1つ且つ1つだけに属するデータに関す
るものである。もし要求された項目がキャッシュ中にあ
れば、それはヒツトである。
もし要求された項目がキャッシュ中になければ、それは
図の下方のディスクからキャッシュのトップ・レベルに
持って来られる。これはグローバル・サブキャッシュで
ある。もしグローバル・サブキャッシュが一杯であれば
、最低の優先順位のグローバル・サブキャッシュ中の項
目が、グローバル・サブキャッシュから適当なローカル
・サブキャッシュに押出される。再び、各データ型毎に
1つのローカル・サブキャッシュが存在する。もしロー
カル・サブキャッシュが一杯であれば、押出された項目
と他の項目が、ローカル・サブキャッシュ中のスペース
を巡って競合する。最低の優先順位を有するローカル・
サブキャッシュ中の項目が、ローカル・サブキャッシュ
から対応するディスクに押出される。もしキャッシュに
関する置換アルゴリズムがLRU方式であれば、最低の
優先順位の項目は、最近最も少なく参照されたデータ項
目である。
図の下方のディスクからキャッシュのトップ・レベルに
持って来られる。これはグローバル・サブキャッシュで
ある。もしグローバル・サブキャッシュが一杯であれば
、最低の優先順位のグローバル・サブキャッシュ中の項
目が、グローバル・サブキャッシュから適当なローカル
・サブキャッシュに押出される。再び、各データ型毎に
1つのローカル・サブキャッシュが存在する。もしロー
カル・サブキャッシュが一杯であれば、押出された項目
と他の項目が、ローカル・サブキャッシュ中のスペース
を巡って競合する。最低の優先順位を有するローカル・
サブキャッシュ中の項目が、ローカル・サブキャッシュ
から対応するディスクに押出される。もしキャッシュに
関する置換アルゴリズムがLRU方式であれば、最低の
優先順位の項目は、最近最も少なく参照されたデータ項
目である。
もし要求されたデータ項目がローカル・サブキャッシュ
の1つの中にあれば、それはキャッシュに対するヒツト
である。要求された項目はローカル・サブキャッシュか
らグローバル・サブキャッシュに移動される。もしグロ
ーバル・サブキャッシュが一杯であれば、最低の優先順
位を有するグローバル・サブキャッシュ中のデータ項目
が、グローバル・サブキャッシュから押出される。もし
押出きれた項目が、参照された項目と同一の型であれば
、そのための余地がローカル・サブキャッシュ中に存在
するであろう。しかしながら、異なった型であれば、そ
れは他のローカル・サブキャッシュに押出され、元のロ
ーカル・サブキャッシュ中に孔又は空スペースを残す。
の1つの中にあれば、それはキャッシュに対するヒツト
である。要求された項目はローカル・サブキャッシュか
らグローバル・サブキャッシュに移動される。もしグロ
ーバル・サブキャッシュが一杯であれば、最低の優先順
位を有するグローバル・サブキャッシュ中のデータ項目
が、グローバル・サブキャッシュから押出される。もし
押出きれた項目が、参照された項目と同一の型であれば
、そのための余地がローカル・サブキャッシュ中に存在
するであろう。しかしながら、異なった型であれば、そ
れは他のローカル・サブキャッシュに押出され、元のロ
ーカル・サブキャッシュ中に孔又は空スペースを残す。
この孔が満たされるか又は満たされないかは、区画化キ
ャッシュの性能に影響する。
ャッシュの性能に影響する。
本発明の良好な実施例において、孔の充填方法は、適当
な記憶装置又はディスクから最高の優先順位を有する項
目を事前に取り出す事である。もしキャッシュ置換アル
ゴリズムがLRUであれば、キャッシュ中にないディス
ク上の項目のうちから、最も最近参照された正しい型の
項目が、ローカル・サブキャッシュ中の孔を充填するた
めに事前取り出しされる。LR1J置換に関するこのデ
ータ・フローは下記のように要約される。
な記憶装置又はディスクから最高の優先順位を有する項
目を事前に取り出す事である。もしキャッシュ置換アル
ゴリズムがLRUであれば、キャッシュ中にないディス
ク上の項目のうちから、最も最近参照された正しい型の
項目が、ローカル・サブキャッシュ中の孔を充填するた
めに事前取り出しされる。LR1J置換に関するこのデ
ータ・フローは下記のように要約される。
1、もし要求された項目が、グローバル・サブキャッシ
ュ中にあれば、 a)要求された項目は、グローバル・サブキャッシュ中
で最も最近に利用された項目になる。
ュ中にあれば、 a)要求された項目は、グローバル・サブキャッシュ中
で最も最近に利用された項目になる。
2、もし要求された項目が、どのサブキャッシュ中にも
なければ、 a)項目Iと呼ばれる、グローバル・サブキャッシュ中
の最近最も使われなかった項目(LRUI)が、グロー
バル・サブキャッシュから論理的に除去され、そのデー
タ型が記録され、型にと呼ばれる。
なければ、 a)項目Iと呼ばれる、グローバル・サブキャッシュ中
の最近最も使われなかった項目(LRUI)が、グロー
バル・サブキャッシュから論理的に除去され、そのデー
タ型が記録され、型にと呼ばれる。
b)ローカル・サブキャッシュに中のLRUIがキャッ
シュから押出される。
シュから押出される。
C)項目Iがローカル・サブキャッシュに中の最も最近
使われた項目になる。
使われた項目になる。
d)要求された項目がグローバル・サブキャッシュ中の
最も最近使われた項目になる。
最も最近使われた項目になる。
3、もし要求された項目が、ローカル・サブキャッシュ
j中にあれば、 a)項目Jと呼ばれる、要求された項目が、ローカル・
サブキャッシュjから除去される。
j中にあれば、 a)項目Jと呼ばれる、要求された項目が、ローカル・
サブキャッシュjから除去される。
b)項目Iと呼ばれる、グローバル・サブキャッシュ中
のLURIが、グローバル・サブキャッシュから論理的
に除去され、そのデータ型が記録され、型にと呼ばれる
。
のLURIが、グローバル・サブキャッシュから論理的
に除去され、そのデータ型が記録され、型にと呼ばれる
。
C)もし型kが型jと異なるならば、
1、グローバル・サブキャッシュ中にも又ローカル・サ
ブキャッシュj中にもない、型jの最も最近参照された
項目が、サブキャッシュj中に事前取り出しされ、 I+、ローカル・サブキャッシュに中のLRUIがキヤ
・ンシュから押出される。
ブキャッシュj中にもない、型jの最も最近参照された
項目が、サブキャッシュj中に事前取り出しされ、 I+、ローカル・サブキャッシュに中のLRUIがキヤ
・ンシュから押出される。
d)項目Iがローカル・サブキャッシュに中の最も最近
使われた項目になる。
使われた項目になる。
e)要求された項目、項目Jが、グローバル・サブキャ
ッシュ中の最も最近使われた項目になる。
ッシュ中の最も最近使われた項目になる。
キャッシュの管理
キャッシュは、最も最近に参照されたものの(MRU)
リストを維持する事によって管理される。
リストを維持する事によって管理される。
リスト中のデータ項目を指示するポインタが維持される
。キャッシュは、ポインタを、異なったデータ項目を指
示するポインタに変更する事によって及びデータ項目を
キャッシュ中に又はキャッシュ外に実際に移動する事に
よって管理しうる。
。キャッシュは、ポインタを、異なったデータ項目を指
示するポインタに変更する事によって及びデータ項目を
キャッシュ中に又はキャッシュ外に実際に移動する事に
よって管理しうる。
従米Ω土ヱヱ之王
サイズCTのキャッシュに於いて、最も最近使用された
(MRU)データ項目又は最近最も使用されなかった(
LRU)データ項目のいずれかのリストが維持される。
(MRU)データ項目又は最近最も使用されなかった(
LRU)データ項目のいずれかのリストが維持される。
制御ユニットは、事前に決められた方式を用いて、LR
U又はMRUリスト上にキャッシュ中の項目をリストす
る順序を決定する。
U又はMRUリスト上にキャッシュ中の項目をリストす
る順序を決定する。
本発明の説明は、MRUリストが維持されているという
仮定の上で進める。ポインタ(PM)は、最も最近に参
照されたデータ項目を指示する。第2のポインタ(PC
T)は、キャッシュ中の最近最も使われなかった又は参
照されなかったデータ項目として、リスト中の最後の(
C7番目の)項目を指示する。
仮定の上で進める。ポインタ(PM)は、最も最近に参
照されたデータ項目を指示する。第2のポインタ(PC
T)は、キャッシュ中の最近最も使われなかった又は参
照されなかったデータ項目として、リスト中の最後の(
C7番目の)項目を指示する。
従来のキャッシュにおいて、データ項目RTに関する要
求が行なわれる。MRUリスト中にRTが存在するか否
かを見るためにリストが探索される。次に、キャッシュ
管理機能が下記の手続きを実行する。
求が行なわれる。MRUリスト中にRTが存在するか否
かを見るためにリストが探索される。次に、キャッシュ
管理機能が下記の手続きを実行する。
■、もしRTがMRUリスト中になければ、a)ポイン
タPCTにより指示される項目がキャッシュから押出さ
れ、ポインタPCTがMRUリスト中のその前の項目を
指示するようになり、そして b)データ項目RTが、最も最近参照された項目として
、リストに付は加えられ、ポインタPMがそれを指示す
るようになる。
タPCTにより指示される項目がキャッシュから押出さ
れ、ポインタPCTがMRUリスト中のその前の項目を
指示するようになり、そして b)データ項目RTが、最も最近参照された項目として
、リストに付は加えられ、ポインタPMがそれを指示す
るようになる。
2、もしデータ項目RTがリスト中にあり、ポインタP
M及びPCTにより指示されている項目の間にあれば、 a)データ項目RTはリストから除去され、b)データ
項目RTは、最も最近参照された項目としてリストに付
は加えられ、ポインタPMはそれを指示するようになる
。
M及びPCTにより指示されている項目の間にあれば、 a)データ項目RTはリストから除去され、b)データ
項目RTは、最も最近参照された項目としてリストに付
は加えられ、ポインタPMはそれを指示するようになる
。
MRUリストの維持、及びキャッシュ中の最近最も参照
されなかったデータ項目の置換を行なうので、この置換
アルゴリズムは、最近最も参照されないものの(LRU
)!換アルゴリズムと呼ばれている。この方式の通常の
キヤ・νシュは、要求されたデータ項目の型又はポイン
タPM若しくはPCTにより指示されたデータ項目の型
に無関係に、キャッシュ中のデータを管理する。
されなかったデータ項目の置換を行なうので、この置換
アルゴリズムは、最近最も参照されないものの(LRU
)!換アルゴリズムと呼ばれている。この方式の通常の
キヤ・νシュは、要求されたデータ項目の型又はポイン
タPM若しくはPCTにより指示されたデータ項目の型
に無関係に、キャッシュ中のデータを管理する。
区 ヒされたキャッシュ
本発明の区画化されたキャッシュを用いると、各データ
項目は、事前に定められた分類方式に従って所定の数(
K)のカテゴリーの1つに分類される。プロセッサがデ
ータ項目を要求すると、キャッシュ中の最も最近参照さ
れたデータ項目のリストが探索され、データ項目がキャ
ッシュ中に存在するか否か、もし存在していればどのサ
ブキャッシュ中に存在するかが決定される。
項目は、事前に定められた分類方式に従って所定の数(
K)のカテゴリーの1つに分類される。プロセッサがデ
ータ項目を要求すると、キャッシュ中の最も最近参照さ
れたデータ項目のリストが探索され、データ項目がキャ
ッシュ中に存在するか否か、もし存在していればどのサ
ブキャッシュ中に存在するかが決定される。
もし要求されたデータ項目がグローバル・サブキャッシ
ュ中に存在すれば、プロセッサはそこからデータ項目に
アクセスでき、そのデータ項目は最も最近使用されたデ
ータ項目として識別される。
ュ中に存在すれば、プロセッサはそこからデータ項目に
アクセスでき、そのデータ項目は最も最近使用されたデ
ータ項目として識別される。
もし要求されたデータ項目がグローバル・サブキャッシ
ュ中に存在しないが、ローカル・サブキャッシュj(K
個のローカル・サブキャッシュの1つ)中に存在すれば
、そのデータ項目はプロセッサによりローカル・サブキ
ャッシュからアクセス可能である。この時、グローバル
・サブキャッシュ中にそのデータ項目を論理的又は物理
的に(LOP)置き、それを最も最近参照されたデータ
項目としてマークを付けるために種々のステップが行な
われる。
ュ中に存在しないが、ローカル・サブキャッシュj(K
個のローカル・サブキャッシュの1つ)中に存在すれば
、そのデータ項目はプロセッサによりローカル・サブキ
ャッシュからアクセス可能である。この時、グローバル
・サブキャッシュ中にそのデータ項目を論理的又は物理
的に(LOP)置き、それを最も最近参照されたデータ
項目としてマークを付けるために種々のステップが行な
われる。
先ず、第2のデータ項目がグローバル・サブキャッシュ
から除去される。この第2のデータ項目は、好ましくは
、グローバル・サブキャッシュ中の最近最も参照されな
かったデータ項目である。
から除去される。この第2のデータ項目は、好ましくは
、グローバル・サブキャッシュ中の最近最も参照されな
かったデータ項目である。
第2の(除去される)データ項目のデータ型が記録され
るが、説明のため、それを型にと呼ぶ。もし2つのデー
タ項目が同じ型、(型kが型jと同じ)であれば、2つ
のデータ項目は単純に場所を交換できる。グローバル・
サブキャッシュからローカル・サブキャッシュkに追出
された第2のデータ項目は、ローカル・サブキャッシュ
に中の型にの他のデータ項目のどれよりも最も最近プロ
セッサによって参照されているので、それは、ローカル
・サブキャッシュに中で最も最近参照されたデータ項目
に指定される。またローカル・サブキャッシュからグロ
ーバル・サブキャッシュに移動される、参照されたデー
タ項目は、グローバル・サブキャッシュ中で最も最近参
照されたデータ項目に指定される。
るが、説明のため、それを型にと呼ぶ。もし2つのデー
タ項目が同じ型、(型kが型jと同じ)であれば、2つ
のデータ項目は単純に場所を交換できる。グローバル・
サブキャッシュからローカル・サブキャッシュkに追出
された第2のデータ項目は、ローカル・サブキャッシュ
に中の型にの他のデータ項目のどれよりも最も最近プロ
セッサによって参照されているので、それは、ローカル
・サブキャッシュに中で最も最近参照されたデータ項目
に指定される。またローカル・サブキャッシュからグロ
ーバル・サブキャッシュに移動される、参照されたデー
タ項目は、グローバル・サブキャッシュ中で最も最近参
照されたデータ項目に指定される。
もしグローバル・サブキャッシュから追出される第2の
データ項目(型k)が、ローカル・サブキャッシュjか
ら取り出される参照されたデータ項目と同じ型(型j)
でなければ、第2のデータ項目のためにローカル・サブ
キャッシュに中の場所が利用可能にならなければならず
、またローカル・サブキャッシュj中のスポットが記憶
装置からの型jのデータ項目のために利用可能にされな
ければならない。
データ項目(型k)が、ローカル・サブキャッシュjか
ら取り出される参照されたデータ項目と同じ型(型j)
でなければ、第2のデータ項目のためにローカル・サブ
キャッシュに中の場所が利用可能にならなければならず
、またローカル・サブキャッシュj中のスポットが記憶
装置からの型jのデータ項目のために利用可能にされな
ければならない。
ローカル・サブキャッシュに中の最近最も参照されなか
ったデータ項目が、ローカル・サブキャッシュから追出
され、グローバル・サブキャッシュから来る型にのデー
タ項目のための余地を形成する事が望ましい。グローバ
ル・サブキャッシュからローカル・サブキャッシュに移
動されるデータ項目は、ローカル・サブキャッシュに中
の他のデータ項目のどれよりも最も最近プロセッサによ
って参照されているので、それは、ローカル・サブキャ
ッシュに中で最も最近参照されたデータ項目に指定され
る。このサブキャッシュ中の以前の2番目に最近最も参
照されなかったデータ項目は、こめサブキャッシュ中の
最近最も参照されなかったデータ項目としてマークされ
る。
ったデータ項目が、ローカル・サブキャッシュから追出
され、グローバル・サブキャッシュから来る型にのデー
タ項目のための余地を形成する事が望ましい。グローバ
ル・サブキャッシュからローカル・サブキャッシュに移
動されるデータ項目は、ローカル・サブキャッシュに中
の他のデータ項目のどれよりも最も最近プロセッサによ
って参照されているので、それは、ローカル・サブキャ
ッシュに中で最も最近参照されたデータ項目に指定され
る。このサブキャッシュ中の以前の2番目に最近最も参
照されなかったデータ項目は、こめサブキャッシュ中の
最近最も参照されなかったデータ項目としてマークされ
る。
もし記憶装置中の(且つキャッシュ中にない)型jのデ
ータ項目が、ローカル・サブキャッシュj中の利用可能
な位置を満たすために、そのサブキャッシュにステージ
ングされるならば、そのデータ項目はプロセッサによる
参照のために利用可能になる。これはキャッシュの性能
を改善しうる。
ータ項目が、ローカル・サブキャッシュj中の利用可能
な位置を満たすために、そのサブキャッシュにステージ
ングされるならば、そのデータ項目はプロセッサによる
参照のために利用可能になる。これはキャッシュの性能
を改善しうる。
記憶装置から移動されるデータ項目は、ローカル・サブ
キャッシュj中の最近最も参照されなかったデータ項目
としてマークされる。
キャッシュj中の最近最も参照されなかったデータ項目
としてマークされる。
もしプロセッサにより参照されたデータ項目がキャッシ
ュ中になければ、それは記憶装置から持って来なければ
ならず、グローバル・サブキャッシュ中にそのための場
所が利用可能にならなければならない。新しく参照され
たデータのための余地をそこに作るために、グローバル
・サブキャッシュから第2のデータ項目が除去される。
ュ中になければ、それは記憶装置から持って来なければ
ならず、グローバル・サブキャッシュ中にそのための場
所が利用可能にならなければならない。新しく参照され
たデータのための余地をそこに作るために、グローバル
・サブキャッシュから第2のデータ項目が除去される。
第2のデータ項目はデータ型にであり、好ましくはグロ
ーバル・サブキャッシュ中の最近最も参照されなかった
データ項目である。グローバル・サブキャッシュから除
去される第2のデータ項目は、ローカル・サブキャッシ
ュ中の最も最近参照されたデータ項目としてローカル・
サブキャッシュに中に置かれる。従って、ローカル・サ
ブキャッシュに中の最近最も参照されなかったデータ項
目が除去され、ローカル・サブキャッシュに中の2番目
に最近最も参照されなかったデータ項目が、最近最も参
照されなかったデータ項目としてマークされる。
ーバル・サブキャッシュ中の最近最も参照されなかった
データ項目である。グローバル・サブキャッシュから除
去される第2のデータ項目は、ローカル・サブキャッシ
ュ中の最も最近参照されたデータ項目としてローカル・
サブキャッシュに中に置かれる。従って、ローカル・サ
ブキャッシュに中の最近最も参照されなかったデータ項
目が除去され、ローカル・サブキャッシュに中の2番目
に最近最も参照されなかったデータ項目が、最近最も参
照されなかったデータ項目としてマークされる。
トータル・サイズがCTの区画化キャッシュにおいて、
グローバル・サブキャッシュはサイズCOを有し、ロー
カル・サブキャッシュはサイズC1、C2、・・・、C
Kを有しうる。1つのMRUリストが、リスト中の最も
最近参照されたデータ項目を指示するポインタPMと共
に維持される。第2のポインタPCOは、グローバル・
サブキャッシュ中の最近最も参照されなかったデータ項
目としてリスト中のCO0番目項目を指示している。
グローバル・サブキャッシュはサイズCOを有し、ロー
カル・サブキャッシュはサイズC1、C2、・・・、C
Kを有しうる。1つのMRUリストが、リスト中の最も
最近参照されたデータ項目を指示するポインタPMと共
に維持される。第2のポインタPCOは、グローバル・
サブキャッシュ中の最近最も参照されなかったデータ項
目としてリスト中のCO0番目項目を指示している。
ポインタPCI、PC2、・・・、PCKは、各ローカ
ル・サブキャッシュ中の最近最も参照されなかった項目
を指示している。0以外のkに関する各ポインタPCk
(1≦に≦K)は、MRUリスト中の、(CO)番目
の項目の直後の項目から始めてデータ・セットkからの
Ckの項目に出会うまでリストを辿る事によって確立さ
れる。ポインタPCkは、リスト中のその項目を指示す
るようにされる。
ル・サブキャッシュ中の最近最も参照されなかった項目
を指示している。0以外のkに関する各ポインタPCk
(1≦に≦K)は、MRUリスト中の、(CO)番目
の項目の直後の項目から始めてデータ・セットkからの
Ckの項目に出会うまでリストを辿る事によって確立さ
れる。ポインタPCkは、リスト中のその項目を指示す
るようにされる。
プロセッサによってデータ項目RTを参照する要求が行
なわれる時、データ項目RTがリスト中に存在するか否
かを見るために、MRUリストが探索される。キャッシ
ュ制御装置は下記の概略に従って動作する。
なわれる時、データ項目RTがリスト中に存在するか否
かを見るために、MRUリストが探索される。キャッシ
ュ制御装置は下記の概略に従って動作する。
1、もしデータ項目RTがMRUリスト中に存在しなけ
れば、 a)ポインタPCOによって指示される項目がグローバ
ル・サブキャッシュから論理的又は物理的に(LOP)
押出され、ポインタPCOはMRUリスト中のその上の
項目を指示するようにされる。
れば、 a)ポインタPCOによって指示される項目がグローバ
ル・サブキャッシュから論理的又は物理的に(LOP)
押出され、ポインタPCOはMRUリスト中のその上の
項目を指示するようにされる。
b)もし押出された項目が型にであれば、ポインタPC
kにより指示される項目がローカル・サブキャッシュk
からLOP押出しされ、ポインタPCkは(型にの、し
かしPCOよりも上でない)MRUリスト中のその上の
次の項目を指示するようにされる。C)データ項目RT
が、最も最近参照された項目としてリストに付加され1
、ポインタPMがそれを指示するようにされる。
kにより指示される項目がローカル・サブキャッシュk
からLOP押出しされ、ポインタPCkは(型にの、し
かしPCOよりも上でない)MRUリスト中のその上の
次の項目を指示するようにされる。C)データ項目RT
が、最も最近参照された項目としてリストに付加され1
、ポインタPMがそれを指示するようにされる。
2、もしデータ項目RTがMRUリスト中にあり、且つ
ポインタPM及びPCOにより指示される項目の間にあ
れば、 a)データ項目RTがリストから除去され、そして b)データ項目RTが、最も最近参照されたデータ項目
としてリストに付加され、ポインタPMがそれを指示す
るようにされる。
ポインタPM及びPCOにより指示される項目の間にあ
れば、 a)データ項目RTがリストから除去され、そして b)データ項目RTが、最も最近参照されたデータ項目
としてリストに付加され、ポインタPMがそれを指示す
るようにされる。
3、もしデータ項目RTがリスト中にあり、型がjであ
り、ポインタPCjにより指示される項目の後にあれば
、 a)データ項目RTがリストから除去され、そして b)ポインタPCOにより指示されるデータ項目がグロ
ーバル・サブキャッシュからLOP押出しされ、ポイン
タPCOがMRUリスト中のその上の項目を指示するよ
うにされる。
り、ポインタPCjにより指示される項目の後にあれば
、 a)データ項目RTがリストから除去され、そして b)ポインタPCOにより指示されるデータ項目がグロ
ーバル・サブキャッシュからLOP押出しされ、ポイン
タPCOがMRUリスト中のその上の項目を指示するよ
うにされる。
C)もし押出されたデ、−タ項目が型にであれば、ポイ
ンタPCkにより指示される項目がローカル・サブキャ
ッシュkからLOP押出しされ、ポインタPCkは型に
のMRUリスト中のその上の次の項目を指示するように
される。
ンタPCkにより指示される項目がローカル・サブキャ
ッシュkからLOP押出しされ、ポインタPCkは型に
のMRUリスト中のその上の次の項目を指示するように
される。
d)データ項目RTが、最も最近参照されたデータ項目
としてリストに付加され、ポインタPMがそれを指示す
るようにされる。
としてリストに付加され、ポインタPMがそれを指示す
るようにされる。
4、もしデータ項目RTがリスト中にあり、型がkであ
り、ポインタPCOにより指示される項目の後で且つポ
インタPCkにより指示される項目の前にあれば、 a)データ項目RTがリストから除去され、そして b)ポインタPCOにより指示される項目がグローバル
・サブキャッシュから押出され、ポインタPCOはMR
Uリスト中のその上の項目を指示するようにされる。
り、ポインタPCOにより指示される項目の後で且つポ
インタPCkにより指示される項目の前にあれば、 a)データ項目RTがリストから除去され、そして b)ポインタPCOにより指示される項目がグローバル
・サブキャッシュから押出され、ポインタPCOはMR
Uリスト中のその上の項目を指示するようにされる。
C)もし押出された項目も型にであれば、データ項目R
Tが最も最近参照されたデータ項目としてリストに付加
され、ポインタPMはそれを指示するようにされる。
Tが最も最近参照されたデータ項目としてリストに付加
され、ポインタPMはそれを指示するようにされる。
5、もしデータ項目RTがリスト中にあり、型がjであ
り、ポインタPCOにより指示される項目の後で且つポ
インタPCjにより指示される項目の前にあれば、 a)データ項目RTがリストから除去され、そして b)ポインタPCOにより指示される項目がグローバル
・サブキャッシュからLOP押出しされ、ポインタPC
Oが、MRUリスト中のその上の項目を指示するように
される。
り、ポインタPCOにより指示される項目の後で且つポ
インタPCjにより指示される項目の前にあれば、 a)データ項目RTがリストから除去され、そして b)ポインタPCOにより指示される項目がグローバル
・サブキャッシュからLOP押出しされ、ポインタPC
Oが、MRUリスト中のその上の項目を指示するように
される。
C)もし押出された項目が型にであり、型jでなければ
、ポインタPCkにより指示される項目がローカル・サ
ブキャッシュkからL0P押出しされ、ポインタPCk
は型がkであるMRUリスト中のその上の次の項目を指
示するようにされる。
、ポインタPCkにより指示される項目がローカル・サ
ブキャッシュkからL0P押出しされ、ポインタPCk
は型がkであるMRUリスト中のその上の次の項目を指
示するようにされる。
d)ポインタPCjは、型がjであるMRUリスト中の
その下の次の項目を指示するようにされる。即ち、型j
の項目に関するローカル・サブキャッシュ中に項目が事
前取り出しされる。
その下の次の項目を指示するようにされる。即ち、型j
の項目に関するローカル・サブキャッシュ中に項目が事
前取り出しされる。
e)データ項目RTが、最も最近参照されたデータ項目
としてリストに付加され、ポインタPMはそれを指示す
るようにされる。
としてリストに付加され、ポインタPMはそれを指示す
るようにされる。
本発明は、特にプロセッサとディスク記憶装置との間の
動的キャッシュ管理に関連して説明したが、本発明は他
の環境での他のキャッシュ動作の制御にも使用できる。
動的キャッシュ管理に関連して説明したが、本発明は他
の環境での他のキャッシュ動作の制御にも使用できる。
F0発明の効果
本発明を用いれば、ステージング式記憶システムにおけ
るキャッシュ・データのヒツト率が改善される等の性能
の向上が達成される。
るキャッシュ・データのヒツト率が改善される等の性能
の向上が達成される。
第1図は本発明に従う区画化されたキャッシュを示す図
、 第2図は従来の一体的キャッシュを示す図、第3図はキ
ャッシュ・メモリを含む記憶システムの図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション
、 第2図は従来の一体的キャッシュを示す図、第3図はキ
ャッシュ・メモリを含む記憶システムの図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション
Claims (3)
- (1)記憶装置から、キャッシュ・メモリを用いたプロ
セッサに、データをステージングする方法であって、 上記キャッシュをK個のローカル・サブキャッシュ及び
グローバル・サブキャッシュに分割し、上記記憶装置中
の各データ項目をK個のカテゴリーのどれかに属するも
のとして識別し、 上記K個のローカル・サブキャッシュの少なくとも一部
の各々に、対応するデータのカテゴリーに属する複数の
データ項目を記憶し、 上記グローバル・サブキャッシュに、上記データのカテ
ゴリーの任意のものに属するデータ項目を記憶するステ
ップを含む、上記方法。 - (2)2次記憶装置からのデータがプロセッサによりア
クセスされる前に最初にキャッシュにステージングされ
る、ステージング式記憶システムにおいて、 各記憶されたデータ項目を、所定の分類方式を用いてK
個のカテゴリーのひとつに分類し、上記キャッシュを、
グローバル・サブキャッシュ及びK個のローカル・サブ
キャッシュに区画化し、 プロセッサから、第1のデータ項目に関する要求を受取
り、 a)もし上記第1のデータ項目が上記グローバル・サブ
キャッシュ中にあれば、上記第1のデータ項目を、上記
グローバル・サブキャッシュ中の最も最近参照された又
は最高優先順位のデータ項目として識別し、 b)もし上記第1のデータ項目が上記グローバル・サブ
キャッシュ中にも上記ローカル・サブキャッシュ中にも
存在しなければ、 上記グローバル・サブキャッシュ中の最近最も参照され
なかった又は最低の優先順位のデータ項目である第2の
データ項目を、上記グローバル・サブキャッシュから除
去し、 上記第2のデータ項目のデータ型を型にとし、ローカル
・サブキャッシュk中の最近最も参照されなかった又は
最低の優先順位のデータ項目である第3のデータ項目を
、上記ローカル・サブキャッシュkから除去し、 上記第2のデータ項目を上記ローカル・サブキャッシュ
kに置き、 上記第2のデータ項目を、上記ローカル・サブキャッシ
ュk中の最も最近参照された又は最高の優先順位のデー
タ項目として指定し、 c)もし上記第1のデータ項目がローカル・サブキャッ
シュj中に存在すれば、 上記グローバル・サブキャッシュ中の最近最も参照され
なかった又は最低の優先順位のデータ項目である第4の
データ項目を、上記グローバル・サブキャッシュから除
去し、 上記第4のデータ項目のデータ型を型kとし、もし型k
が型jと異なれば、 上記2次記憶装置から上記ローカル・サブキャッシュj
に、グローバル・サブキャッシュ中にもローカル・サブ
キャッシュj中にも存在しない型jの最も最近参照され
た又は最高の優先順位のデータ項目を取り出し、 ローカル・サブキャッシュk中の最近最も参照されなか
った又は最低の優先順位のデータ項目を、上記ローカル
・サブキャッシュkから除去し、 上記第4のデータ項目を、上記ローカル・サブキャッシ
ュk中の最も最近参照された又は最高の優先順位のデー
タ項目として指定する、キャッシュ管理方法。 - (3)記憶装置から、キャッシュを用いたプロセッサに
データをステージングする方法であって、上記記憶装置
中の各データ項目を、データ項目のK個のカテゴリーの
どれか1つだけに属するものとして識別し、 上記キャッシュ中に複数のデータ項目を記憶し、所定の
方式に従って、上記プロセッサにより最も最近参照され
た、上記キャッシュ中に記憶されたデータ項目を識別す
るポインタを維持し、上記所定の方式に従って、上記プ
ロセッサにより最近最も参照されなかった、上記キャッ
シュのグローバル・サブキャッシュ部分中に記憶された
データ項目を識別するポインタを維持し 上記キャッシュ中の対応するカテゴリー毎に、最近最も
参照されなかった又は最低の優先順位のデータ項目を識
別するK個のポインタを維持する、上記方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32720489A | 1989-03-22 | 1989-03-22 | |
US327204 | 1989-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02281350A true JPH02281350A (ja) | 1990-11-19 |
JPH0571976B2 JPH0571976B2 (ja) | 1993-10-08 |
Family
ID=23275570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2067401A Granted JPH02281350A (ja) | 1989-03-22 | 1990-03-19 | キヤツシユ・メモリ管理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5717893A (ja) |
EP (1) | EP0389151A3 (ja) |
JP (1) | JPH02281350A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338775A (ja) * | 1998-05-27 | 1999-12-10 | Nec Corp | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
JP2002544624A (ja) * | 1999-05-18 | 2002-12-24 | インテル・コーポレーション | 保護機能付き最近最低使用頻度置換方法 |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2292892A (en) * | 1992-04-22 | 1993-11-18 | Storage Technology Corporation | Method for managing disk track image slots in cache memory |
US5381539A (en) * | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
CA2100599C (en) * | 1992-07-30 | 2000-10-17 | Praedictus Corporation | Entity-relation database |
EP0667579A1 (en) * | 1994-02-09 | 1995-08-16 | Ballard Synergy Corporation | Cache for optical storage device |
US5584007A (en) * | 1994-02-09 | 1996-12-10 | Ballard Synergy Corporation | Apparatus and method for discriminating among data to be stored in cache |
US5588129A (en) * | 1994-02-09 | 1996-12-24 | Ballard; Clinton L. | Cache for optical storage device and method for implementing same |
JP3796551B2 (ja) * | 1994-04-25 | 2006-07-12 | ソニー株式会社 | 情報記憶処理装置 |
US5504882A (en) * | 1994-06-20 | 1996-04-02 | International Business Machines Corporation | Fault tolerant data storage subsystem employing hierarchically arranged controllers |
US5680573A (en) * | 1994-07-12 | 1997-10-21 | Sybase, Inc. | Method of buffering data objects in a database |
JPH08185271A (ja) * | 1994-12-27 | 1996-07-16 | Internatl Business Mach Corp <Ibm> | ディスク装置用データ処理方法及びディスク装置 |
US6016535A (en) * | 1995-10-11 | 2000-01-18 | Citrix Systems, Inc. | Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks |
US6081623A (en) * | 1995-10-11 | 2000-06-27 | Citrix Systems, Inc. | Method for lossless bandwidth compression of a series of glyphs |
US6057857A (en) | 1996-06-12 | 2000-05-02 | Citrix Systems, Inc. | Method for the lossless compression of lines in a distributed computer system |
WO1998055933A1 (en) * | 1997-06-02 | 1998-12-10 | Cornell Research Foundation, Inc. | Data-centric multi-level blocking |
US6223256B1 (en) * | 1997-07-22 | 2001-04-24 | Hewlett-Packard Company | Computer cache memory with classes and dynamic selection of replacement algorithms |
US6192450B1 (en) * | 1998-02-03 | 2001-02-20 | International Business Machines Corporation | Destage of data for write cache |
US6070225A (en) * | 1998-06-01 | 2000-05-30 | International Business Machines Corporation | Method and apparatus for optimizing access to coded indicia hierarchically stored on at least one surface of a cyclic, multitracked recording device |
US6205537B1 (en) | 1998-07-16 | 2001-03-20 | University Of Rochester | Mechanism for dynamically adapting the complexity of a microprocessor |
US6801207B1 (en) | 1998-10-09 | 2004-10-05 | Advanced Micro Devices, Inc. | Multimedia processor employing a shared CPU-graphics cache |
US6591347B2 (en) * | 1998-10-09 | 2003-07-08 | National Semiconductor Corporation | Dynamic replacement technique in a shared cache |
US6483516B1 (en) | 1998-10-09 | 2002-11-19 | National Semiconductor Corporation | Hierarchical texture cache |
US6370622B1 (en) | 1998-11-20 | 2002-04-09 | Massachusetts Institute Of Technology | Method and apparatus for curious and column caching |
US6314491B1 (en) | 1999-03-01 | 2001-11-06 | International Business Machines Corporation | Peer-to-peer cache moves in a multiprocessor data processing system |
US6173367B1 (en) * | 1999-05-19 | 2001-01-09 | Ati Technologies, Inc. | Method and apparatus for accessing graphics cache memory |
US7389305B1 (en) | 1999-06-01 | 2008-06-17 | Fair Isaac Corporation | System and method for managing a database |
US6658556B1 (en) | 1999-07-30 | 2003-12-02 | International Business Machines Corporation | Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction |
US6516404B1 (en) | 1999-07-30 | 2003-02-04 | International Business Machines Corporation | Data processing system having hashed architected processor facilities |
US6823471B1 (en) | 1999-07-30 | 2004-11-23 | International Business Machines Corporation | Method for providing high availability within a data processing system via a reconfigurable hashed storage subsystem |
US6449691B1 (en) * | 1999-07-30 | 2002-09-10 | International Business Machines Corporation | Asymmetrical cache properties within a hashed storage subsystem |
US6446165B1 (en) * | 1999-07-30 | 2002-09-03 | International Business Machines Corporation | Address dependent caching behavior within a data processing system having HSA (hashed storage architecture) |
US6598118B1 (en) * | 1999-07-30 | 2003-07-22 | International Business Machines Corporation | Data processing system with HSA (hashed storage architecture) |
US6434669B1 (en) * | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to dynamically update information-type dependent cache policies |
US6425058B1 (en) * | 1999-09-07 | 2002-07-23 | International Business Machines Corporation | Cache management mechanism to enable information-type dependent cache policies |
US6425050B1 (en) | 1999-09-17 | 2002-07-23 | International Business Machines Corporation | Method, system, and program for performing read operations during a destage operation |
US6341331B1 (en) | 1999-10-01 | 2002-01-22 | International Business Machines Corporation | Method and system for managing a raid storage system with cache |
US6421761B1 (en) * | 1999-11-09 | 2002-07-16 | International Business Machines Corporation | Partitioned cache and management method for selectively caching data by type |
WO2001093525A2 (en) * | 2000-05-26 | 2001-12-06 | Citrix Systems, Inc. | Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism |
US6862663B1 (en) * | 2000-06-30 | 2005-03-01 | Intel Corporation | Cache having a prioritized replacement technique and method therefor |
US6889291B1 (en) * | 2000-06-30 | 2005-05-03 | Intel Corporation | Method and apparatus for cache replacement for a multiple variable-way associative cache |
AU2001288358A1 (en) * | 2000-08-25 | 2002-03-13 | Scott R. Hayes | Heuristic automated method for ideal bufferpool tuning in a computer database |
US6604175B2 (en) * | 2001-03-01 | 2003-08-05 | Sony Corporation | Data cache and method of storing data by assigning each independently cached area in the cache to store data associated with one item type |
US6792509B2 (en) | 2001-04-19 | 2004-09-14 | International Business Machines Corporation | Partitioned cache of multiple logical levels with adaptive reconfiguration based on multiple criteria |
ITRM20020281A1 (it) * | 2002-05-20 | 2003-11-20 | Micron Technology Inc | Metodo ed apparecchiatura per accesso rapido di memorie. |
JP3933027B2 (ja) * | 2002-10-17 | 2007-06-20 | 日本電気株式会社 | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
WO2004075066A2 (en) * | 2003-02-24 | 2004-09-02 | Koninklijke Philips Electronics N.V. | Reducing cache trashing of certain pieces |
JP4313068B2 (ja) * | 2003-03-28 | 2009-08-12 | 株式会社日立製作所 | 記憶装置のキャッシュ管理方法 |
US8892878B2 (en) | 2003-05-09 | 2014-11-18 | Oracle America, Inc. | Fine-grained privileges in operating system partitions |
US7437556B2 (en) * | 2003-05-09 | 2008-10-14 | Sun Microsystems, Inc. | Global visibility controls for operating system partitions |
US7461080B1 (en) | 2003-05-09 | 2008-12-02 | Sun Microsystems, Inc. | System logging within operating system partitions using log device nodes that are access points to a log driver |
US7389512B2 (en) | 2003-05-09 | 2008-06-17 | Sun Microsystems, Inc. | Interprocess communication within operating system partitions |
US7337445B1 (en) | 2003-05-09 | 2008-02-26 | Sun Microsystems, Inc. | Virtual system console for virtual application environment |
US7032088B2 (en) * | 2003-08-07 | 2006-04-18 | Siemens Corporate Research, Inc. | Advanced memory management architecture for large data volumes |
JP4412981B2 (ja) | 2003-11-26 | 2010-02-10 | 株式会社日立製作所 | ストレージシステム及同システムにおけるデータキャッシング方法 |
US7689542B2 (en) * | 2004-01-13 | 2010-03-30 | Oracle International Corporation | Dynamic return type generation in a database system |
US7512599B2 (en) | 2004-01-13 | 2009-03-31 | Oracle International Corporation | Query duration types |
JP4141391B2 (ja) * | 2004-02-05 | 2008-08-27 | 株式会社日立製作所 | ストレージサブシステム |
JP2006079495A (ja) * | 2004-09-13 | 2006-03-23 | Hitachi Ltd | ストレージシステム及び論理区画の設定方法 |
JP4819369B2 (ja) * | 2005-02-15 | 2011-11-24 | 株式会社日立製作所 | ストレージシステム |
US7627614B2 (en) * | 2005-03-03 | 2009-12-01 | Oracle International Corporation | Lost write detection and repair |
JP4620502B2 (ja) * | 2005-03-07 | 2011-01-26 | 株式会社日立製作所 | ディスクアレイ装置 |
US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
US8423673B2 (en) * | 2005-03-14 | 2013-04-16 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment using compression |
US8842127B1 (en) * | 2005-04-25 | 2014-09-23 | Apple Inc. | Text rendering with improved glyph cache management |
US20060294313A1 (en) * | 2005-06-23 | 2006-12-28 | International Business Machines Corporation | System and method of remote media cache optimization for use with multiple processing units |
US7590804B2 (en) * | 2005-06-28 | 2009-09-15 | Intel Corporation | Pseudo least recently used replacement/allocation scheme in request agent affinitive set-associative snoop filter |
JP4813843B2 (ja) * | 2005-08-04 | 2011-11-09 | 株式会社日立製作所 | ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法 |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
US20160098279A1 (en) * | 2005-08-29 | 2016-04-07 | Searete Llc | Method and apparatus for segmented sequential storage |
US7430633B2 (en) * | 2005-12-09 | 2008-09-30 | Microsoft Corporation | Pre-storage of data to pre-cached system memory |
JP5295958B2 (ja) * | 2006-08-01 | 2013-09-18 | マサチューセッツ インステチュート オブテクノロジー | エクストリーム仮想メモリ |
US7720936B2 (en) * | 2007-03-12 | 2010-05-18 | Citrix Systems, Inc. | Systems and methods of freshening and prefreshening a DNS cache |
US7619545B2 (en) * | 2007-03-12 | 2009-11-17 | Citrix Systems, Inc. | Systems and methods of using application and protocol specific parsing for compression |
US7865585B2 (en) | 2007-03-12 | 2011-01-04 | Citrix Systems, Inc. | Systems and methods for providing dynamic ad hoc proxy-cache hierarchies |
US7827237B2 (en) * | 2007-03-12 | 2010-11-02 | Citrix Systems, Inc. | Systems and methods for identifying long matches of data in a compression history |
US8103783B2 (en) * | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
US8074028B2 (en) * | 2007-03-12 | 2011-12-06 | Citrix Systems, Inc. | Systems and methods of providing a multi-tier cache |
US8701010B2 (en) * | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
US7809818B2 (en) | 2007-03-12 | 2010-10-05 | Citrix Systems, Inc. | Systems and method of using HTTP head command for prefetching |
US8037126B2 (en) * | 2007-03-12 | 2011-10-11 | Citrix Systems, Inc. | Systems and methods of dynamically checking freshness of cached objects based on link status |
US7783757B2 (en) * | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US8255570B2 (en) * | 2007-03-12 | 2012-08-28 | Citrix Systems, Inc. | Systems and methods of compression history expiration and synchronization |
US20080228864A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods for prefetching non-cacheable content for compression history |
US7532134B2 (en) * | 2007-03-12 | 2009-05-12 | Citrix Systems, Inc. | Systems and methods for sharing compression histories between multiple devices |
US7584294B2 (en) * | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US7460038B2 (en) * | 2007-03-12 | 2008-12-02 | Citrix Systems, Inc. | Systems and methods of clustered sharing of compression histories |
US8504775B2 (en) * | 2007-03-12 | 2013-08-06 | Citrix Systems, Inc | Systems and methods of prefreshening cached objects based on user's current web page |
WO2009086939A1 (en) * | 2008-01-11 | 2009-07-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Message handling in an ip multimedia subsystem |
US8145806B2 (en) * | 2008-09-19 | 2012-03-27 | Oracle International Corporation | Storage-side storage request management |
US10430338B2 (en) * | 2008-09-19 | 2019-10-01 | Oracle International Corporation | Selectively reading data from cache and primary storage based on whether cache is overloaded |
US8868831B2 (en) * | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
US8504773B1 (en) * | 2008-12-02 | 2013-08-06 | Nvidia Corporation | Storing dynamically sized buffers within a cache |
US8874844B1 (en) * | 2008-12-02 | 2014-10-28 | Nvidia Corporation | Padding buffer requests to avoid reads of invalid data |
US8095738B2 (en) * | 2009-06-15 | 2012-01-10 | International Business Machines Corporation | Differential caching mechanism based on media I/O speed |
FR2958765B1 (fr) * | 2010-04-09 | 2012-04-13 | Commissariat Energie Atomique | Memoire cache segmentee. |
US8589076B2 (en) * | 2011-09-14 | 2013-11-19 | International Business Machines Corporation | Power usage planning for a vehicle |
US10592416B2 (en) | 2011-09-30 | 2020-03-17 | Oracle International Corporation | Write-back storage cache based on fast persistent memory |
WO2013062542A1 (en) * | 2011-10-26 | 2013-05-02 | Hewlett-Packard Development Company | Segmented caches |
US8935227B2 (en) | 2012-04-17 | 2015-01-13 | Oracle International Corporation | Redistributing computation work between data producers and data consumers |
US9063908B2 (en) | 2012-05-31 | 2015-06-23 | Oracle International Corporation | Rapid recovery from loss of storage device cache |
US9164922B2 (en) * | 2012-06-05 | 2015-10-20 | Google Inc. | Technique for passive cache compaction using a least recently used cache algorithm |
US10380021B2 (en) | 2013-03-13 | 2019-08-13 | Oracle International Corporation | Rapid recovery from downtime of mirrored storage device |
US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US10528590B2 (en) | 2014-09-26 | 2020-01-07 | Oracle International Corporation | Optimizing a query with extrema function using in-memory data summaries on the storage server |
US9772793B2 (en) | 2013-09-20 | 2017-09-26 | Oracle International Corporation | Data block movement offload to storage systems |
US10642837B2 (en) | 2013-03-15 | 2020-05-05 | Oracle International Corporation | Relocating derived cache during data rebalance to maintain application performance |
US9208094B2 (en) * | 2013-08-06 | 2015-12-08 | GlobalFoudries, Inc. | Managing and sharing storage cache resources in a cluster environment |
US10229161B2 (en) | 2013-09-20 | 2019-03-12 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
US9430383B2 (en) | 2013-09-20 | 2016-08-30 | Oracle International Corporation | Fast data initialization |
US9798655B2 (en) | 2013-09-20 | 2017-10-24 | Oracle International Corporation | Managing a cache on storage devices supporting compression |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US9594583B2 (en) * | 2013-11-12 | 2017-03-14 | Red Hat, Inc. | Lightweight snapshots for virtual disks |
KR102161689B1 (ko) * | 2013-12-10 | 2020-10-05 | 삼성전자 주식회사 | L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들 |
US9892153B2 (en) | 2014-12-19 | 2018-02-13 | Oracle International Corporation | Detecting lost writes |
US10474486B2 (en) * | 2015-06-30 | 2019-11-12 | Veritas Technologies Llc | Data access accelerator |
US10108552B2 (en) | 2015-08-21 | 2018-10-23 | International Business Machines Corporation | Using cache lists for processors to determine tracks to demote from a cache |
US10067884B2 (en) | 2015-08-21 | 2018-09-04 | International Business Machines Corporation | Distributing a plurality of tracks to add to cache to lists assigned to processors |
US9952904B2 (en) | 2015-08-21 | 2018-04-24 | International Business Machines Corporation | Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache |
US10114753B2 (en) * | 2015-08-21 | 2018-10-30 | International Business Machines Corporation | Using cache lists for multiple processors to cache and demote tracks in a storage system |
US9921974B2 (en) | 2015-08-21 | 2018-03-20 | International Business Machines Corporation | Assigning cache control blocks and cache lists to multiple processors to cache and demote tracks in a storage system |
US10558480B2 (en) | 2015-09-10 | 2020-02-11 | Veritas Technologies Llc | Optimizing access to production data |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10133673B2 (en) * | 2016-03-09 | 2018-11-20 | Verizon Digital Media Services Inc. | Cache optimization based on predictive routing |
US9984004B1 (en) * | 2016-07-19 | 2018-05-29 | Nutanix, Inc. | Dynamic cache balancing |
US10133667B2 (en) | 2016-09-06 | 2018-11-20 | Orcle International Corporation | Efficient data storage and retrieval using a heterogeneous main memory |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US10331573B2 (en) | 2016-11-04 | 2019-06-25 | Oracle International Corporation | Detection of avoidable cache thrashing for OLTP and DW workloads |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
US20190303037A1 (en) * | 2018-03-30 | 2019-10-03 | Ca, Inc. | Using sequential read intention to increase data buffer reuse |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371929A (en) * | 1980-05-05 | 1983-02-01 | Ibm Corporation | Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory |
US4463424A (en) * | 1981-02-19 | 1984-07-31 | International Business Machines Corporation | Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes |
US4458310A (en) * | 1981-10-02 | 1984-07-03 | At&T Bell Laboratories | Cache memory using a lowest priority replacement circuit |
US4503501A (en) * | 1981-11-27 | 1985-03-05 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
US4476526A (en) * | 1981-11-27 | 1984-10-09 | Storage Technology Corporation | Cache buffered memory subsystem |
US4430712A (en) * | 1981-11-27 | 1984-02-07 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
US4636946A (en) * | 1982-02-24 | 1987-01-13 | International Business Machines Corporation | Method and apparatus for grouping asynchronous recording operations |
US4754394A (en) * | 1984-10-24 | 1988-06-28 | International Business Machines Corporation | Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage |
EP0452990A3 (en) * | 1985-05-29 | 1992-04-15 | Kabushiki Kaisha Toshiba | Cache system adopting an lru system |
US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US5117350A (en) * | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
US5043885A (en) * | 1989-08-08 | 1991-08-27 | International Business Machines Corporation | Data cache using dynamic frequency based replacement and boundary criteria |
-
1990
- 1990-03-08 EP EP19900302516 patent/EP0389151A3/en not_active Withdrawn
- 1990-03-19 JP JP2067401A patent/JPH02281350A/ja active Granted
-
1991
- 1991-05-20 US US07/703,309 patent/US5717893A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338775A (ja) * | 1998-05-27 | 1999-12-10 | Nec Corp | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
JP2002544624A (ja) * | 1999-05-18 | 2002-12-24 | インテル・コーポレーション | 保護機能付き最近最低使用頻度置換方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0389151A3 (en) | 1992-06-03 |
US5717893A (en) | 1998-02-10 |
JPH0571976B2 (ja) | 1993-10-08 |
EP0389151A2 (en) | 1990-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02281350A (ja) | キヤツシユ・メモリ管理 | |
US7143240B2 (en) | System and method for providing a cost-adaptive cache | |
US5513336A (en) | System and method for determining when and what position in cache memory to store data elements utilizing least and last accessed data replacement method | |
US7085895B2 (en) | Apparatus, system, and method flushing data from a cache to secondary storage | |
US6311252B1 (en) | Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system | |
US5734861A (en) | Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity | |
US6738865B1 (en) | Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data | |
US6327644B1 (en) | Method and system for managing data in cache | |
US5606688A (en) | Method and apparatus for dynamic cache memory allocation via single-reference residency times | |
EP1654660B1 (en) | A method of data caching | |
US6578111B1 (en) | Cache memory system and method for managing streaming-data | |
US6393525B1 (en) | Least recently used replacement method with protection | |
US20020056025A1 (en) | Systems and methods for management of memory | |
US7437515B1 (en) | Data structure for write pending | |
US6842826B1 (en) | Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache | |
US7107400B2 (en) | System, apparatus, and process for evaluating projected cache sizes | |
US5765193A (en) | System for controlling a write operation involving data held in a write cache | |
CN110795363B (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
US5809526A (en) | Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation | |
US6609177B1 (en) | Method and apparatus for extending cache history | |
US7246202B2 (en) | Cache controller, cache control method, and computer system | |
US6865642B2 (en) | Method and apparatus for disk caching for an intermediary controller | |
US6598124B1 (en) | System and method for identifying streaming-data | |
JPS59220853A (ja) | デイスクキヤツシユシステム | |
US6763446B1 (en) | Systems and methods for handling storage access requests |