JPH0571976B2 - - Google Patents
Info
- Publication number
- JPH0571976B2 JPH0571976B2 JP2067401A JP6740190A JPH0571976B2 JP H0571976 B2 JPH0571976 B2 JP H0571976B2 JP 2067401 A JP2067401 A JP 2067401A JP 6740190 A JP6740190 A JP 6740190A JP H0571976 B2 JPH0571976 B2 JP H0571976B2
- Authority
- JP
- Japan
- Prior art keywords
- subcache
- data item
- local
- data
- item
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000003247 decreasing effect Effects 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
- 238000000638 solvent extraction 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)
Description
【発明の詳細な説明】
A 産業上の利用分野
本発明は、プロセツサと、ハードデイスク・ド
ライプ等の記憶装置との間で使用されるキヤツシ
ユ又はバツフア・メモリの効率的な管理に関す
る。
ライプ等の記憶装置との間で使用されるキヤツシ
ユ又はバツフア・メモリの効率的な管理に関す
る。
B 従来技術
現在の計算機システム技術の下では、プロセツ
サのスピードはデイスクの入出力IOのスピード
よりも急速に増大しており、ランダム・アクセ
ス・メモリの価格はデイスクIOの価格よりも急
速に低下している。またアプリケーシヨンはシス
テムの記憶装置のサイズに対する要求を増大させ
ている。これらの傾向は、より高速のプロセツサ
がより大規模で比較的低速のデイスク記憶装置に
接続されるという結果を生じる。プロセツサのス
ピードとデイスクのスピードとの間の明らかな不
整合は、プロセツサとデイスクとの間に、より大
規模なランダム・アクセスのバツフア又はキヤツ
シユを含める事によりマスクされている。
サのスピードはデイスクの入出力IOのスピード
よりも急速に増大しており、ランダム・アクセ
ス・メモリの価格はデイスクIOの価格よりも急
速に低下している。またアプリケーシヨンはシス
テムの記憶装置のサイズに対する要求を増大させ
ている。これらの傾向は、より高速のプロセツサ
がより大規模で比較的低速のデイスク記憶装置に
接続されるという結果を生じる。プロセツサのス
ピードとデイスクのスピードとの間の明らかな不
整合は、プロセツサとデイスクとの間に、より大
規模なランダム・アクセスのバツフア又はキヤツ
シユを含める事によりマスクされている。
IMS及びDS2等のデータ・ベース・システム
は、最近に参照されたデータ・ベース・レコード
を保持するために主記憶の大きなバツフアを有し
ている。またデイスク制御装置は、ランダム・ア
クセス・メモリを使用して、最も最近に参照され
たデイスク上のトラツクを保持している。いずれ
の型の一時記憶も、しばしば「キヤツシユ」と呼
ばれている。データはキヤツシユ中に記憶される
ので、もしデータが参照されと、その要求は、デ
イスク自体に対するアクセスが再び実行された場
合よりも迅速に処理する事ができる。キヤツシユ
の使用は、通常はデイスク上に存在しているデー
タに対してより迅速なアクセスを達成するため
に、システムにおけるランダム・アクセス・メモ
リの使用を増加させる。
は、最近に参照されたデータ・ベース・レコード
を保持するために主記憶の大きなバツフアを有し
ている。またデイスク制御装置は、ランダム・ア
クセス・メモリを使用して、最も最近に参照され
たデイスク上のトラツクを保持している。いずれ
の型の一時記憶も、しばしば「キヤツシユ」と呼
ばれている。データはキヤツシユ中に記憶される
ので、もしデータが参照されと、その要求は、デ
イスク自体に対するアクセスが再び実行された場
合よりも迅速に処理する事ができる。キヤツシユ
の使用は、通常はデイスク上に存在しているデー
タに対してより迅速なアクセスを達成するため
に、システムにおけるランダム・アクセス・メモ
リの使用を増加させる。
第3図は、プロセツサが主記憶を含んでいるシ
ステムを説明している。主記憶はキヤツシユと呼
ばれる部分を有している。プロセツサの主記憶
は、デイスク制御装置に接続され、その各々は1
以上のデイスク記憶装置に接続されている。各デ
イスク制御装置はそれ自身のデイスク・キヤツシ
ユを有していても良い。第2図は、現在使用され
ているような統合キヤツシユをより詳細に説明し
ている。第3図のシステムのデイスク制御装置の
1つのキヤツシユが示されているが、原理は、シ
ステムの他の部分のキヤツシユにも適用可能であ
る。キヤツシユはあらゆる型のデータ、例えばデ
イスク制御装置に取り付けられた両方のデイスク
記憶装置のデータを等しく受取り、データを全て
同一に取扱う。
ステムを説明している。主記憶はキヤツシユと呼
ばれる部分を有している。プロセツサの主記憶
は、デイスク制御装置に接続され、その各々は1
以上のデイスク記憶装置に接続されている。各デ
イスク制御装置はそれ自身のデイスク・キヤツシ
ユを有していても良い。第2図は、現在使用され
ているような統合キヤツシユをより詳細に説明し
ている。第3図のシステムのデイスク制御装置の
1つのキヤツシユが示されているが、原理は、シ
ステムの他の部分のキヤツシユにも適用可能であ
る。キヤツシユはあらゆる型のデータ、例えばデ
イスク制御装置に取り付けられた両方のデイスク
記憶装置のデータを等しく受取り、データを全て
同一に取扱う。
C 発明が解決しようとする課題
複数のキヤツシユを含むシステムの以前の研究
は、キヤツシユを別個に独立に考察するか、又は
異なつたシステム・レベルで使用されているメモ
リ(記憶)技術が異なつた価格及び/又はアクセ
ス時間を有しているという「線形の階層」を考察
してきた。しかしながら、今日では、同じメモリ
技術(又はほぼ同じメモリ技術)が、システムの
全体にわたつて、同じ又は異なつたレベルに位置
するキヤツシユで使用されている。これら複数の
キヤツシユは独立に管理され、しばしば同じデー
タのコピーを含んでいる。例えば、主記憶のIMS
バツフア・プールとデイスクのトラツクに関する
制御装置のキヤツシユとは同じメモリ技術を用
い、同じデータを保持している可能性がある。こ
れら複数のキヤツシユが一緒に良く働く条件も、
又システム中にどれぐらいい多くのランダム・ア
クセス・メモリを置くか、それをどこに置くか、
若しくはそれをどのように管理するかについての
質問に対する解答も今日のシステムの設計者には
知られていない。
は、キヤツシユを別個に独立に考察するか、又は
異なつたシステム・レベルで使用されているメモ
リ(記憶)技術が異なつた価格及び/又はアクセ
ス時間を有しているという「線形の階層」を考察
してきた。しかしながら、今日では、同じメモリ
技術(又はほぼ同じメモリ技術)が、システムの
全体にわたつて、同じ又は異なつたレベルに位置
するキヤツシユで使用されている。これら複数の
キヤツシユは独立に管理され、しばしば同じデー
タのコピーを含んでいる。例えば、主記憶のIMS
バツフア・プールとデイスクのトラツクに関する
制御装置のキヤツシユとは同じメモリ技術を用
い、同じデータを保持している可能性がある。こ
れら複数のキヤツシユが一緒に良く働く条件も、
又システム中にどれぐらいい多くのランダム・ア
クセス・メモリを置くか、それをどこに置くか、
若しくはそれをどのように管理するかについての
質問に対する解答も今日のシステムの設計者には
知られていない。
D 課題を解決するための手段
本発明は、2次記憶装置からのデータがプロセ
ツサによりアクセスされる前に最初にキヤツシユ
にステージングされるステージング式記憶システ
ムにおいて有用な方法を含む。この方法は、事前
に指定された分類方式を使つて記憶データをN個
のカテゴリーに分類し、キヤツシユをグローバ
ル・サブキヤツシユ及びN個のローカル・サブキ
ヤツシユに区分するステツプを含む。この方式に
よれば、通常のキヤツシユで得られるよりも高い
ヒツト率が得られる。データがプロセツサにより
要求される時、この方法によれば、2次記憶装置
又はN個のローカル・サブキヤツシユのどれかか
らデータがグローバル・サブキヤツシユにステー
ジングされる。末端カテゴリーの1つに属するデ
ータは、グローバル・サブキヤツシユからN個の
ローカル・サブキヤツシユの対応する1つにプツ
シユされ、またデータはN個のサブキヤツシユか
ら2次記憶装置にプツシユされる。
ツサによりアクセスされる前に最初にキヤツシユ
にステージングされるステージング式記憶システ
ムにおいて有用な方法を含む。この方法は、事前
に指定された分類方式を使つて記憶データをN個
のカテゴリーに分類し、キヤツシユをグローバ
ル・サブキヤツシユ及びN個のローカル・サブキ
ヤツシユに区分するステツプを含む。この方式に
よれば、通常のキヤツシユで得られるよりも高い
ヒツト率が得られる。データがプロセツサにより
要求される時、この方法によれば、2次記憶装置
又はN個のローカル・サブキヤツシユのどれかか
らデータがグローバル・サブキヤツシユにステー
ジングされる。末端カテゴリーの1つに属するデ
ータは、グローバル・サブキヤツシユからN個の
ローカル・サブキヤツシユの対応する1つにプツ
シユされ、またデータはN個のサブキヤツシユか
ら2次記憶装置にプツシユされる。
E 実施例
本発明は、「区画化されたキヤツシユ」を含ん
でいる。区画化されたキヤツシユは、複数のキヤ
ツシユを有するシステムが、複数のサブキヤツシ
ユに区画化された1つのキヤツシユとして取扱わ
れ且つ解析される事を可能にする。サブキヤツシ
ユが物理的に分離しているか又は物理的に一緒に
なつているか、及び論理的に区画化されているか
どうかは本質的でない。良好な実施例の下記の説
明のために、区画化されたキヤツシユは、全ての
サブキヤツシユのアクセス時間及び価格が同一で
あるようなキヤツシユに関して説明する。それに
も拘らず、本発明は、サブキヤツシユへのアクセ
ス時間及びサブキヤツシユ中のメモリの価格が、
異なつたサブキヤツシユ毎に異なつている時に
も、適用可能である。
でいる。区画化されたキヤツシユは、複数のキヤ
ツシユを有するシステムが、複数のサブキヤツシ
ユに区画化された1つのキヤツシユとして取扱わ
れ且つ解析される事を可能にする。サブキヤツシ
ユが物理的に分離しているか又は物理的に一緒に
なつているか、及び論理的に区画化されているか
どうかは本質的でない。良好な実施例の下記の説
明のために、区画化されたキヤツシユは、全ての
サブキヤツシユのアクセス時間及び価格が同一で
あるようなキヤツシユに関して説明する。それに
も拘らず、本発明は、サブキヤツシユへのアクセ
ス時間及びサブキヤツシユ中のメモリの価格が、
異なつたサブキヤツシユ毎に異なつている時に
も、適用可能である。
区画化されたキヤツシユは、論理的にK+1個
のサブキヤツシユに区画化された固定サイズのキ
ヤツシユである。グローバル・サブキヤツシユと
呼ばれるサブキヤツシユの1つは全てのデータ型
を受取り、一方他のK個のサブキヤツシユの各々
は1つの型のデータだけを受取る。第1図を参照
すると、2つの型のデータを取扱うように3つの
サブキヤツシユに区画化されたキヤツシユが示さ
れている。グローバル・サブキヤツシユは全ての
型のデータを受取り、一方各ローカル・サブキヤ
ツシユはそれに対応する型のデータのみを受取
る。第1図に記載されているように、2つの異な
つた型のデータは、制御装置に接続された2つの
記憶装置からのデータであり得る。従つて、2つ
のサブキヤツシユの各々は対応する記憶装置から
のデータのみを受取る。グローバル・サブキヤツ
シユは両方の記憶装置からのデータを受取る。
のサブキヤツシユに区画化された固定サイズのキ
ヤツシユである。グローバル・サブキヤツシユと
呼ばれるサブキヤツシユの1つは全てのデータ型
を受取り、一方他のK個のサブキヤツシユの各々
は1つの型のデータだけを受取る。第1図を参照
すると、2つの型のデータを取扱うように3つの
サブキヤツシユに区画化されたキヤツシユが示さ
れている。グローバル・サブキヤツシユは全ての
型のデータを受取り、一方各ローカル・サブキヤ
ツシユはそれに対応する型のデータのみを受取
る。第1図に記載されているように、2つの異な
つた型のデータは、制御装置に接続された2つの
記憶装置からのデータであり得る。従つて、2つ
のサブキヤツシユの各々は対応する記憶装置から
のデータのみを受取る。グローバル・サブキヤツ
シユは両方の記憶装置からのデータを受取る。
本発明の良好な実施例は、トラツク・キヤツシ
ングに関連して説明するが、その場合、トラツク
中のレコード又はブロツクの数に無関係に、デイ
スクのトラツクからのデータが1つの単位として
一緒に記憶され管理される。本発明の技術は、ブ
ロツク・キヤツシング及びレコード・キヤツシン
グに関しても使用できる。
ングに関連して説明するが、その場合、トラツク
中のレコード又はブロツクの数に無関係に、デイ
スクのトラツクからのデータが1つの単位として
一緒に記憶され管理される。本発明の技術は、ブ
ロツク・キヤツシング及びレコード・キヤツシン
グに関しても使用できる。
キヤツシユ性能を考察する時、もし要求された
データ片がキヤツシユ中に(どれかのサブキヤツ
シユ中)に見出されるならば、キヤツシユ「ヒツ
ト」が記録される。もし要求されたデータがキヤ
ツシユ中に見出されなければ、「ミス」が記録さ
れる。ヒツト及び/又はミスの数は、「参照スト
リング」と呼ばれる有限の参照シーケンスの間測
定され、キヤツシユは、もし高いパーセンテージ
の参照がヒツトになるならばその参照ストリング
に関して有効であると呼ばれる。
データ片がキヤツシユ中に(どれかのサブキヤツ
シユ中)に見出されるならば、キヤツシユ「ヒツ
ト」が記録される。もし要求されたデータがキヤ
ツシユ中に見出されなければ、「ミス」が記録さ
れる。ヒツト及び/又はミスの数は、「参照スト
リング」と呼ばれる有限の参照シーケンスの間測
定され、キヤツシユは、もし高いパーセンテージ
の参照がヒツトになるならばその参照ストリング
に関して有効であると呼ばれる。
第1図に示す区画化キヤツシユを使用する時、
異なつた型のデータが一緒且つ別個に管理されう
る。データは、物理的な配置(例えばあるデータ
は1つのデイスク・ボリユーム上にあり、あるデ
ータは他のデイスク・ボリユーム上にある事)に
より異なつた型に属する事が可能であり、又論理
的配置(例えばあるデータは1つの型のフアイル
又はデータ・セツト中にあり、あるデータは他の
型のフアイル又はデータ・セツト中にある事)に
より異なつた型に属する事が可能である。2つの
異なつた型のデータが第1図に示されている。各
データ型は2のデイスク記憶装置のひとつにホー
ムを有する。
異なつた型のデータが一緒且つ別個に管理されう
る。データは、物理的な配置(例えばあるデータ
は1つのデイスク・ボリユーム上にあり、あるデ
ータは他のデイスク・ボリユーム上にある事)に
より異なつた型に属する事が可能であり、又論理
的配置(例えばあるデータは1つの型のフアイル
又はデータ・セツト中にあり、あるデータは他の
型のフアイル又はデータ・セツト中にある事)に
より異なつた型に属する事が可能である。2つの
異なつた型のデータが第1図に示されている。各
データ型は2のデイスク記憶装置のひとつにホー
ムを有する。
要求者は、要求のシーケンスを作成する。各要
求は、2つのデイスクの1つ且つ1つだけに属す
るデータに関するものである。もし要求された項
目がキヤツシユ中にあれば、それはヒツトであ
る。もし要求された項目がキヤツシユ中になけれ
ば、それは図の下方のデイスクからキヤツシユの
トツプ・レベルに持つて来られる。これはグロー
バル・サブキヤツシユである。もしグローバル・
サブキヤツシユが一杯であれば、最低の優先順位
のグローバル・サブキヤツシユ中の項目が、グロ
ーバル・サブキヤツシユから適当なローカル・サ
ブキヤツシユに押出される。再び、各データ型毎
に1つのローカル・サブキヤツシユが存在する。
もしローカル・サブキヤツシユが一杯であれば、
押出された項目と他の項目が、ローカル・サブキ
ヤツシユ中のスペースを巡つて競合する。最低の
優先順位を有するローカル・サブキヤツシユ中の
項目が、ローカル・サブキヤツシユから対応する
デイスクに押出される。もしキヤツシユに関する
置換アルゴリズムがLRU方式であれば、最低の
優先順位の項目は、最近最も少なく参照されたデ
ータ項目である。
求は、2つのデイスクの1つ且つ1つだけに属す
るデータに関するものである。もし要求された項
目がキヤツシユ中にあれば、それはヒツトであ
る。もし要求された項目がキヤツシユ中になけれ
ば、それは図の下方のデイスクからキヤツシユの
トツプ・レベルに持つて来られる。これはグロー
バル・サブキヤツシユである。もしグローバル・
サブキヤツシユが一杯であれば、最低の優先順位
のグローバル・サブキヤツシユ中の項目が、グロ
ーバル・サブキヤツシユから適当なローカル・サ
ブキヤツシユに押出される。再び、各データ型毎
に1つのローカル・サブキヤツシユが存在する。
もしローカル・サブキヤツシユが一杯であれば、
押出された項目と他の項目が、ローカル・サブキ
ヤツシユ中のスペースを巡つて競合する。最低の
優先順位を有するローカル・サブキヤツシユ中の
項目が、ローカル・サブキヤツシユから対応する
デイスクに押出される。もしキヤツシユに関する
置換アルゴリズムがLRU方式であれば、最低の
優先順位の項目は、最近最も少なく参照されたデ
ータ項目である。
もし要求されたデータ項目がローカル・サブキ
ヤツシユの1つの中にあれば、それはキヤツシユ
に対するヒツトである。要求された項目はローカ
ル・サブキヤツシユからグローバル・サブキヤツ
シユに移動される。もしグローバル・サブキヤツ
シユが一杯であれば、最低の優先順位を有するグ
ローバル・サブキヤツシユ中のデータ項目が、グ
ローバル・サブキヤツシユから押出される。もし
押出された項目が、参照された項目と同一の型で
あれば、そのための余地がローカル・サブキヤツ
シユ中に存在するであろう。しかしながら、異な
つた型であれば、それは他のローカル・サブキヤ
ツシユに押出され、元のローカル・サブキヤツシ
ユ中に孔又は空スペースを残す。この孔が満たさ
れるか又は満たされないかは、区画化キヤツシユ
の性能に影響する。
ヤツシユの1つの中にあれば、それはキヤツシユ
に対するヒツトである。要求された項目はローカ
ル・サブキヤツシユからグローバル・サブキヤツ
シユに移動される。もしグローバル・サブキヤツ
シユが一杯であれば、最低の優先順位を有するグ
ローバル・サブキヤツシユ中のデータ項目が、グ
ローバル・サブキヤツシユから押出される。もし
押出された項目が、参照された項目と同一の型で
あれば、そのための余地がローカル・サブキヤツ
シユ中に存在するであろう。しかしながら、異な
つた型であれば、それは他のローカル・サブキヤ
ツシユに押出され、元のローカル・サブキヤツシ
ユ中に孔又は空スペースを残す。この孔が満たさ
れるか又は満たされないかは、区画化キヤツシユ
の性能に影響する。
本発明の良好な実施例において、孔の充填方法
は、適当な記憶装置又はデイスクから最高の優先
順位を有する項目を事前に取り出す事である。も
しキヤツシユ置換アルゴリズムがLRUでであれ
ば、キヤツシユ中にないデイスク上の項目のうち
から、最も最近参照された正しい型の項目が、ロ
ーカル・サブキヤツシユ中の孔を充填するために
事前取り出しされる。LRU置換に関するこのデ
ータ・フローは下記のような要約される。
は、適当な記憶装置又はデイスクから最高の優先
順位を有する項目を事前に取り出す事である。も
しキヤツシユ置換アルゴリズムがLRUでであれ
ば、キヤツシユ中にないデイスク上の項目のうち
から、最も最近参照された正しい型の項目が、ロ
ーカル・サブキヤツシユ中の孔を充填するために
事前取り出しされる。LRU置換に関するこのデ
ータ・フローは下記のような要約される。
1 もし要求された項目が、グローバル・サブキ
ヤツシユ中にあれば、 (a) 要求された項目は、グローバル・サブキヤ
ツシユ中で最も最近に利用された項目にな
る。
ヤツシユ中にあれば、 (a) 要求された項目は、グローバル・サブキヤ
ツシユ中で最も最近に利用された項目にな
る。
2 もし要求された項目が、どのサブキヤツシユ
中になければ、 (a) 項目Iと呼ばれる、グローバル・サブキヤ
ツシユ中の最近最も使われなかつた項目
(LRUI)が、グローバル・サブキヤツシユ
から論理的に除去され、そのデータ型が記録
され、型kと呼ばれる。
中になければ、 (a) 項目Iと呼ばれる、グローバル・サブキヤ
ツシユ中の最近最も使われなかつた項目
(LRUI)が、グローバル・サブキヤツシユ
から論理的に除去され、そのデータ型が記録
され、型kと呼ばれる。
(b) ローカル・サブキヤツシユk中のLRUIが
キヤツシユから押出される。
キヤツシユから押出される。
(c) 項目Iがローカル・サブキヤツシユk中の
最も最近使われた項目になる。
最も最近使われた項目になる。
(d) 要求された項目がグローバル・サブキヤツ
シユ中の最も最近使われた項目になる。
シユ中の最も最近使われた項目になる。
3 もし要求された項目が、ローカル・サブキヤ
ツシユj中にあれば、 (a) 項目Jと呼ばれる、要求された項目が、ロ
ーカル・サブキヤツシユjから除去される。
ツシユj中にあれば、 (a) 項目Jと呼ばれる、要求された項目が、ロ
ーカル・サブキヤツシユjから除去される。
(b) 項目Iと呼ばれる、グローバル・サブキヤ
ツシユ中のLRUIが、グローバル・サブキヤ
ツシユから論理的に除去され、そのデータ型
が記録され、型kと呼ばれる。
ツシユ中のLRUIが、グローバル・サブキヤ
ツシユから論理的に除去され、そのデータ型
が記録され、型kと呼ばれる。
(c) もし型kが型jと異なるならば、
グローバル・サブキヤツシユ中にも又ロ
ーカル・サブキヤツシユj中にもない、型
jの最も最近参照された項目が、サブキヤ
ツシユj中に事前取り出しされ、 ローカル・サブキヤツシユk中のLRUI
がキヤツシユから押出される。
ーカル・サブキヤツシユj中にもない、型
jの最も最近参照された項目が、サブキヤ
ツシユj中に事前取り出しされ、 ローカル・サブキヤツシユk中のLRUI
がキヤツシユから押出される。
(d) 項目Iがローカル・サブキヤツシユk中の
最も最近使われた項目になる。
最も最近使われた項目になる。
(e) 要求された項目、項目Jが、グローバル・
サブキヤツシユ中の最も最近使われた項目に
なる。
サブキヤツシユ中の最も最近使われた項目に
なる。
キヤツシユの管理
キヤツシユは、最も最近参照されたものの
(MRU)リストを維持する事によつて管理され
る。リスト中のデータ項目を指示するポインタが
維持される。キヤツシユは、ポインタを、異なつ
たデータ項目を指示するポインタに変更する事に
よつて及びデータ項目をキヤツシユ中に又はキヤ
ツシユ外に実際に移動する事によつて管理しう
る。
(MRU)リストを維持する事によつて管理され
る。リスト中のデータ項目を指示するポインタが
維持される。キヤツシユは、ポインタを、異なつ
たデータ項目を指示するポインタに変更する事に
よつて及びデータ項目をキヤツシユ中に又はキヤ
ツシユ外に実際に移動する事によつて管理しう
る。
従来のキヤツシユ
サイズCTのキヤツシユに於いて、最も最近使
用された(MRU)データ項目又は最近最も使用
されなかつた(LRU)データ項目のいずれかの
リストが維持される。制御ユニツトは、事前に決
められた方式を用いて、LRU又RUリスト上にキ
ヤツシユ中の項目をリストする順序を決定する。
用された(MRU)データ項目又は最近最も使用
されなかつた(LRU)データ項目のいずれかの
リストが維持される。制御ユニツトは、事前に決
められた方式を用いて、LRU又RUリスト上にキ
ヤツシユ中の項目をリストする順序を決定する。
本発明の説明は、MRUリストが維持されてい
るという仮定の上で進める。ポインタ(PM)
は、最も最近に参照されたデータ項目を指示す
る。第2のポインタ(PCT)は、キヤツシユ中
の最近最も使わなかつた又は参照されなかつたデ
ータ項目として、リスト中の最後の(CT番目の)
項目を指示する。
るという仮定の上で進める。ポインタ(PM)
は、最も最近に参照されたデータ項目を指示す
る。第2のポインタ(PCT)は、キヤツシユ中
の最近最も使わなかつた又は参照されなかつたデ
ータ項目として、リスト中の最後の(CT番目の)
項目を指示する。
従来のキヤツシユにおいて、データ項目RTに
関する要求が行なわれる。MRUリスト中にRT
が存在するか否かを見るためにリストが探索され
る。次に、キヤツシユ管理機能が下記の手続きを
実行する。
関する要求が行なわれる。MRUリスト中にRT
が存在するか否かを見るためにリストが探索され
る。次に、キヤツシユ管理機能が下記の手続きを
実行する。
1 もしRTがMRUリスト中になければ、
(a) ポインタPCTにより指示される項目がキ
ヤツシユから押出され、ポインタPCTが
MRUリスト中のその前の項目を指示するよ
うになり、そして (b) データ項目RTが、最も最近参照された項
目として、リストに付け加えられ、ポインタ
PMがそれを指示するようになる。
ヤツシユから押出され、ポインタPCTが
MRUリスト中のその前の項目を指示するよ
うになり、そして (b) データ項目RTが、最も最近参照された項
目として、リストに付け加えられ、ポインタ
PMがそれを指示するようになる。
2 もしデータ項目RTがリスト中にあり、ポイ
ンタPM及びPCTにより指示されている項目の
間にあれば、 (a) データ項目RTはリストから除去され、 (b) データ項目RTは、最も最近参照された項
目としてリストに付け加えられ、ポインタ
PMはそれを指示するようになる。
ンタPM及び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の(除去される)データ項目のデータ型が記
録されるが、説明のため、それを型kと呼ぶ。も
し2つのデータ項目が同じ型(型kが型jと同
じ)であれば、2つのデータ項目は単純に場所を
交換できる。グローバル・サブキヤツシユからロ
ーカル・サブキヤツシユkに追出された第2のデ
ータ項目は、ローカル・サブキヤツシユk中の型
kの他のデータ項目のどれよりも最も最近プロセ
ツサによつて参照されているので、それは、ロー
カル・サブキヤツシユk中で最も最近参照された
データ項目に指定される。またローカル・サブキ
ヤツシユからグローバル・サブキヤツシユに移動
される、参照されたデータ項目は、グローバル・
サブキヤツシユ中で最も最近参照されたデータ項
目に指定される。
ヤツシユから除去される。この第2のデータ項目
は、好ましくは、グローバル・サブキヤツシユ中
の最近最も参照されなかつたデータ項目である。
第2の(除去される)データ項目のデータ型が記
録されるが、説明のため、それを型kと呼ぶ。も
し2つのデータ項目が同じ型(型kが型jと同
じ)であれば、2つのデータ項目は単純に場所を
交換できる。グローバル・サブキヤツシユからロ
ーカル・サブキヤツシユkに追出された第2のデ
ータ項目は、ローカル・サブキヤツシユk中の型
kの他のデータ項目のどれよりも最も最近プロセ
ツサによつて参照されているので、それは、ロー
カル・サブキヤツシユk中で最も最近参照された
データ項目に指定される。またローカル・サブキ
ヤツシユからグローバル・サブキヤツシユに移動
される、参照されたデータ項目は、グローバル・
サブキヤツシユ中で最も最近参照されたデータ項
目に指定される。
もしグローバル・サブキヤツシユから追出され
る第2のデータ項目(型k)が、ローカル・サブ
キヤツシユjから取り出される参照されたデータ
項目と同じ型(型j)でなければ、第2のデータ
項目のためにローカル・サブキヤツシユk中の場
所が利用可能にならなければならず、またローカ
ル・サブキヤツシユj中のスポツトが記憶装置か
らの型jのデータ項目のために利用可能にされな
ければならない。
る第2のデータ項目(型k)が、ローカル・サブ
キヤツシユjから取り出される参照されたデータ
項目と同じ型(型j)でなければ、第2のデータ
項目のためにローカル・サブキヤツシユk中の場
所が利用可能にならなければならず、またローカ
ル・サブキヤツシユj中のスポツトが記憶装置か
らの型jのデータ項目のために利用可能にされな
ければならない。
ローカル・サブキヤツシユk中の最近最も参照
されなかつたデータ項目が、ローカル・サブキヤ
ツシユから追出され、グローバル・サブキヤツシ
ユから来る型kのデータ項目のための余地を形成
する事が望ましい。グローバル・サブキヤツシユ
からローカル・サブキヤツシユに移動されるデー
タ項目は、ローカル・サブキヤツシユk中の他の
データ項目のどれよりも最も最近プロセツサによ
つて参照されているので、それは、ローカル・サ
ブキヤツシユk中で最も最近参照されたデータ項
目に指定される。このサブキヤツシユ中の以前の
2番目に最近最も参照されなかつたデータ項目
は、このサブキヤツシユ中の最近最も参照されな
かつたデータ項目としてマークされる。
されなかつたデータ項目が、ローカル・サブキヤ
ツシユから追出され、グローバル・サブキヤツシ
ユから来る型kのデータ項目のための余地を形成
する事が望ましい。グローバル・サブキヤツシユ
からローカル・サブキヤツシユに移動されるデー
タ項目は、ローカル・サブキヤツシユk中の他の
データ項目のどれよりも最も最近プロセツサによ
つて参照されているので、それは、ローカル・サ
ブキヤツシユk中で最も最近参照されたデータ項
目に指定される。このサブキヤツシユ中の以前の
2番目に最近最も参照されなかつたデータ項目
は、このサブキヤツシユ中の最近最も参照されな
かつたデータ項目としてマークされる。
もし記憶装置中の(且つキヤツシユ中にない)
型jのデータ項目が、ローカル・サブキヤツシユ
j中の利用可能な位置を満たすために、そのサブ
キヤツシユにステージングされるならば、そのデ
ータ項目はプロセツサによる参照のために利用可
能になる。これはキヤツシユの性能を改善しう
る。記憶装置から移動されるデータ項目は、ロー
カル・サブキヤツシユj中の最近最も参照されな
かつたデータ項目としてマークされる。
型jのデータ項目が、ローカル・サブキヤツシユ
j中の利用可能な位置を満たすために、そのサブ
キヤツシユにステージングされるならば、そのデ
ータ項目はプロセツサによる参照のために利用可
能になる。これはキヤツシユの性能を改善しう
る。記憶装置から移動されるデータ項目は、ロー
カル・サブキヤツシユj中の最近最も参照されな
かつたデータ項目としてマークされる。
もしプロセツサにより参照されたデータ項目が
キヤツシユ中になければ、それは記憶装置から持
つて来なければならず、グローバル・サブキヤツ
シユ中にそのための場所が利用可能にならなけれ
ばならない。新しく参照されたデータのための余
地をそこに作るために、グローバル・サブキヤツ
シユから第2のデータ項目が除去される。第2の
データ項目はデータ型kであり、好ましくはグロ
ーバル・サブキヤツシユ中の最近最も参照されな
かつたデータ項目である。グローバル・サブキヤ
ツシユから除去される第2のデータ項目は、ロー
カル・サブキヤツシユ中の最も最近参照されたデ
ータ項目としてローカル・サブキヤツシユk中に
置かれる。従つて、ローカル・サブキヤツシユk
中の最近最も参照されなかつたデータ項目が除去
され、ローカル・サブキヤツシユk中の2番目に
最近最も参照されなかつたデータ項目が、最近最
も参照されなかつたデータ項目としてマークされ
る。
キヤツシユ中になければ、それは記憶装置から持
つて来なければならず、グローバル・サブキヤツ
シユ中にそのための場所が利用可能にならなけれ
ばならない。新しく参照されたデータのための余
地をそこに作るために、グローバル・サブキヤツ
シユから第2のデータ項目が除去される。第2の
データ項目はデータ型kであり、好ましくはグロ
ーバル・サブキヤツシユ中の最近最も参照されな
かつたデータ項目である。グローバル・サブキヤ
ツシユから除去される第2のデータ項目は、ロー
カル・サブキヤツシユ中の最も最近参照されたデ
ータ項目としてローカル・サブキヤツシユk中に
置かれる。従つて、ローカル・サブキヤツシユk
中の最近最も参照されなかつたデータ項目が除去
され、ローカル・サブキヤツシユk中の2番目に
最近最も参照されなかつたデータ項目が、最近最
も参照されなかつたデータ項目としてマークされ
る。
トータル・サイズがCTの区画化キヤツシユに
おいて、グローバル・サブキヤツシユはサイズ
COを有し、ローカル・サブキヤツシユはサイズ
C1,C2…,CKを有しうる。1つのMRUリ
ストが、リスト中の最も最近参照されたデータ項
目を指示するポインタPMと共に維持される。第
2のポインタPCOは、グローバル・サブキヤツ
シユ中の最近最も参照されなかつたデータ項目と
してリスト中のCO番目の項目を指示している。
ポインタPC1,PC2,…,PCKは、各ローカ
ル・サブキヤツシユ中の最近最も参照されなかつ
た項目を指示している。O以外のkに関する各ポ
インタPCk(1≦k≦K)は、MRUリスト中の、
(CO)番目の項目の直後の項目から始めてデー
タ・セツトkからのCkの項目に出会うまでリス
トを辿る事によつて確立される。ポインタPCk
は、リスト中のその項目を指示するようにされ
る。
おいて、グローバル・サブキヤツシユはサイズ
COを有し、ローカル・サブキヤツシユはサイズ
C1,C2…,CKを有しうる。1つのMRUリ
ストが、リスト中の最も最近参照されたデータ項
目を指示するポインタPMと共に維持される。第
2のポインタPCOは、グローバル・サブキヤツ
シユ中の最近最も参照されなかつたデータ項目と
してリスト中のCO番目の項目を指示している。
ポインタPC1,PC2,…,PCKは、各ローカ
ル・サブキヤツシユ中の最近最も参照されなかつ
た項目を指示している。O以外のkに関する各ポ
インタPCk(1≦k≦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) もし押出された項目が型kであれば、ポイ
ンタPCkにより指示される項目がローカル・
サブキヤツシユkからLOP押出され、ポイ
ンタPCkは(型kの、しかしPCOよりも上
でない)MRUリスト中のその上の次の項目
を指示するようされる。
ンタPCkにより指示される項目がローカル・
サブキヤツシユkからLOP押出され、ポイ
ンタPCkは(型kの、しかしPCOよりも上
でない)MRUリスト中のその上の次の項目
を指示するようされる。
(c) データ項目RTが、最も最近参照された項
目としてリストに付加され、ポインタPMが
それを指示するようにされる。
目としてリストに付加され、ポインタPMが
それを指示するようにされる。
2 もしデータ項目RTがMRUリスト中にあり、
且つポインタPM及びPCOにより指示される項
目の間にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) データ項目RTが、最も最近参照されたデ
ータ項目としてリストに付加され、ポインタ
PMがそれを指示するようにされる。
且つポインタPM及びPCOにより指示される項
目の間にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) データ項目RTが、最も最近参照されたデ
ータ項目としてリストに付加され、ポインタ
PMがそれを指示するようにされる。
3 もしデータ項目PTがリスト中にあり、型が
jであり、ポインタPCjにより指示される項目
の後にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) ポインタPCOにより指示されるデータ項
目がグローバル・サブキヤツシユからLOP
押出しされ、ポインタPCOがMRUリスト中
その上の項目を指示するようにされる。
jであり、ポインタPCjにより指示される項目
の後にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) ポインタPCOにより指示されるデータ項
目がグローバル・サブキヤツシユからLOP
押出しされ、ポインタPCOがMRUリスト中
その上の項目を指示するようにされる。
(c) もし押出されたデータ項目が型kであれ
ば、ポインタPCkにより指示される項目がロ
ーカル・サブキヤツシユkからLOP押出し
され、ポインタPCkは型kのMRUリスト中
その上の次の項目を指示するようにされる。
ば、ポインタPCkにより指示される項目がロ
ーカル・サブキヤツシユkからLOP押出し
され、ポインタPCkは型kのMRUリスト中
その上の次の項目を指示するようにされる。
(d) データ項目RTが、最も最近参照されたデ
ータ項目としてリストに付加され、ポインタ
PMがそれを指示するようにされる。
ータ項目としてリストに付加され、ポインタ
PMがそれを指示するようにされる。
4 もしデータ項目RTがリスト中にあり、型が
kであり、ポインタPCOにより指示される項
目の後で且つポインタPCkにより指示される項
目の前にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) ポインタPCOにより指示される項目がグ
ローバル・サブキヤツシユから押出され、ポ
インタPCOはMRUリスト中のその上の項目
を指示するようにされる。
kであり、ポインタPCOにより指示される項
目の後で且つポインタPCkにより指示される項
目の前にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) ポインタPCOにより指示される項目がグ
ローバル・サブキヤツシユから押出され、ポ
インタPCOはMRUリスト中のその上の項目
を指示するようにされる。
(c) もし押出された項目も型kであれば、デー
タ項目RTが最も最近参照されたデータ項目
としてリストに付加され、ポインタPMはそ
れを指示するようにされる。
タ項目RTが最も最近参照されたデータ項目
としてリストに付加され、ポインタPMはそ
れを指示するようにされる。
5 もしデータ項目RTがリスト中にあり、型が
jであり、ポインタPCOにより指示される項
目の後で且つポインタPCjにより指示される項
目の前にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) ポインタPCOにより指示される項目がグ
ローバル・サブキヤツシユからLOP押出し
され、ポインタPCOが、MRUリスト中のそ
の上の項目を指示するようにされる。
jであり、ポインタPCOにより指示される項
目の後で且つポインタPCjにより指示される項
目の前にあれば、 (a) データ項目RTがリストから除去され、そ
して (b) ポインタPCOにより指示される項目がグ
ローバル・サブキヤツシユからLOP押出し
され、ポインタPCOが、MRUリスト中のそ
の上の項目を指示するようにされる。
(c) もし押出された項目が型kであり、型jで
なければ、ポインタPCkにより指示される項
目がローカル・サブキヤツシユkからLOP
押出しされ、ポインタPCkは型がkである
MRUリスト中のその上の次の項目を指示す
るようにされる。
なければ、ポインタPCkにより指示される項
目がローカル・サブキヤツシユkからLOP
押出しされ、ポインタPCkは型がkである
MRUリスト中のその上の次の項目を指示す
るようにされる。
(d) ポインタPCjは、型がjであるMRUリス
ト中のその下の次の項目を指示するようにさ
れる。即ち、型jの項目に関するローカル・
サブキヤツシユ中に項目が事前取り出しされ
る。
ト中のその下の次の項目を指示するようにさ
れる。即ち、型jの項目に関するローカル・
サブキヤツシユ中に項目が事前取り出しされ
る。
(e) データ項目RTが、最も最近参照されたデ
ータ項目としてリストに付加され、ポインタ
PMはそれを指示するようにされる。
ータ項目としてリストに付加され、ポインタ
PMはそれを指示するようにされる。
本発明は、特にプロセツサとデイスク記憶装置
との間の動的キヤツシユ管理に関連して説明した
が、本発明は他の環境での他のキヤツシユ動作の
制御にも使用できる。
との間の動的キヤツシユ管理に関連して説明した
が、本発明は他の環境での他のキヤツシユ動作の
制御にも使用できる。
F 発明の効果
本発明を用いれば、ステージング式記憶システ
ムにおけるキヤツシユ・データのヒツト率が改善
される等の性能の向上が達成される。
ムにおけるキヤツシユ・データのヒツト率が改善
される等の性能の向上が達成される。
第1図は本発明に従う区画化されたキヤツシユ
を示す図、第2図は従来の一体的キヤツシユを示
す図、第3図はキヤツシユ・メモリを含む記憶シ
ステムの図である。
を示す図、第2図は従来の一体的キヤツシユを示
す図、第3図はキヤツシユ・メモリを含む記憶シ
ステムの図である。
Claims (1)
- 【特許請求の範囲】 1 プロセツサがキヤツシユメモリをアクセスす
るシステムにおいて、記憶装置から前記キヤツシ
ユメモリに対してデータをステージングする方法
であつて、 前記キヤツシユメモリを各々特定のカテゴリー
のデータ項目を記憶するK個のローカル・サブキ
ヤツシユと全てのタイプのデータ項目を記憶する
一のグローバル・サブキヤツシユに分割し、 前記記憶装置に記憶されている夫々のデータ項
目が前記K個のローカル・サブキヤツシユのうち
のどの前記カテゴリーに該当するかを判別し、 前記判別した結果該当するカテゴリーに係わる
第一のローカル・サブキヤツシユに前記データ項
目を記憶するとともに、該第一のローカル・サブ
キヤツシユ内でプロセツサによつて最近最も参照
されなかつた第一のデータ項目を該ローカル・サ
ブキヤツシユから削除する、 ステージング方法。 2 前記グローバル・サブキヤツシユに記憶され
たデータ項目の中で最近最も参照されなかつた第
二のデータ項目を前記第一のローカル・サブキヤ
ツシユに記憶するとともに、前記第一のローカ
ル・サブキヤツシユの最も最近参照された第三の
データ項目を前記グローバル・サブキヤツシユに
記憶することを、さらに含む請求項1のステージ
ング方法。 3 各前記ローカル・サブキヤツシユごとに前記
第一のデータ項目と前記第三のデータ項目を識別
するポインタを維持し、前記グローバル・サブキ
ヤツシユごとに前記第二のデータ項目を識別する
ポインタを維持することを特徴とする請求項2の
ステージング方法。 4 二次記憶装置からのデータがプロセツサによ
つてアクセスされる前に最初にキヤツシユメモリ
にステージングされる、ステージング式記憶シス
テムにおいて、 各記憶されたデータ項目を、所定の分類方式を
用いてK個のカテゴリーの一つに分類し、 前記キヤツシユメモリを一のグローバル・サブ
キヤツシユと各々特定のカテゴリーのデータを記
憶する複数のローカル・サブキヤツシユに区画化
し、 プロセツサから第一のデータ項目に関する要求
を受取り、 (a) もし前記第一のデータ項目が前記グローバ
ル・サブキヤツシユ中にあれば、前記第一のデ
ータ項目を前記グローバル・サブキヤツシユ中
の最も最近参照された無他は最高順位のデータ
項目として識別し、 (b) もし、前記第一のデータ項目が前記グローバ
ル・サブキヤツシユ中にも前記ローカル・サブ
キヤツシユ中にも存在しなければ、 前記グローバル・サブキヤツシユ中の最近最
も参照されなかつた、または、最低の優先順位
のデータ項目である第二のデータ項目を前記グ
ローバル・サブキヤツシユから除去し、 前記第二のデータ項目のデータカテゴリーを
カテゴリーKとし、それに対応する前記ローカ
ル・サブキヤツシユをローカル・サブキヤツシ
ユKとした時、 前記ローカル・サブキヤツシユK中の最近最
も参照されなかつたまたは最低の優先順位のデ
ータ項目である第三のデータ項目を、前記ロー
カル・サブキヤツシユKから除去し、前記第二
のデータ項目を、前記ローカル・サブキヤツシ
ユK中の最も最近参照されたまたは最高の優先
順位のデータ項目として指定し、 (c) もし前記第一のデータ項目がカテゴリーJの
データ項目を記憶するローカル・サブキヤツシ
ユJ中に存在すれば、 前記グローバル・サブキヤツシユ中の最近最
も参照されなかつたまたは最低の優先順位のデ
ータ項目である第四のデータ項目を、前記グロ
ーバル・サブキヤツシユから除去し、 前記第四のデータ項目のカテゴリーが前記K
であるとき、もしカテゴリーKがカテゴリーJ
と異なれば、 前記二次記憶装置から前記ローカル・サブキ
ヤツシユJに、前記グローバル・サブキヤツシ
ユ中にも前記ローカル・サブキヤツシユJ中に
も存在しないカテゴリーJの最も最近参照され
たまたは最高の優先順位のデータ項目を取り出
し、 前記ローカル・サブキヤツシユK中の最近最
も参照されなかつたまたは最低の優先順位のデ
ータ項目を、前記ローカル・サブキヤツシユK
から除去し、 前記第四のデータ項目を、前記ローカル・サ
ブキヤツシユ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 JPH02281350A (ja) | 1990-11-19 |
JPH0571976B2 true 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) |
Families Citing this family (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993021580A1 (en) * | 1992-04-22 | 1993-10-28 | 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> | ディスク装置用データ処理方法及びディスク装置 |
US6081623A (en) * | 1995-10-11 | 2000-06-27 | Citrix Systems, Inc. | Method for lossless bandwidth compression of a series of glyphs |
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 |
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 |
JP3279253B2 (ja) * | 1998-05-27 | 2002-04-30 | 日本電気株式会社 | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
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 |
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 |
US6801207B1 (en) | 1998-10-09 | 2004-10-05 | Advanced Micro Devices, Inc. | Multimedia processor employing a shared CPU-graphics 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 |
US6393525B1 (en) * | 1999-05-18 | 2002-05-21 | Intel Corporation | Least recently used replacement method with protection |
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 |
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 |
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 |
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) |
US6449691B1 (en) * | 1999-07-30 | 2002-09-10 | International Business Machines Corporation | Asymmetrical cache properties within a hashed storage subsystem |
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 |
US7490166B2 (en) | 2000-05-26 | 2009-02-10 | Citrix Systems, Inc. | Remote control of a client's off-screen surface |
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 |
WO2002019168A1 (en) * | 2000-08-25 | 2002-03-07 | Hayes Scott R | 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 | 日本電気株式会社 | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
EP1599803B1 (en) * | 2003-02-24 | 2009-09-30 | Nxp B.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 |
US7337445B1 (en) | 2003-05-09 | 2008-02-26 | Sun Microsystems, Inc. | Virtual system console for virtual application environment |
US7437556B2 (en) * | 2003-05-09 | 2008-10-14 | Sun Microsystems, Inc. | Global visibility controls for operating system partitions |
US7389512B2 (en) | 2003-05-09 | 2008-06-17 | Sun Microsystems, Inc. | Interprocess communication within 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 |
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 | 株式会社日立製作所 | ディスクアレイ装置 |
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 |
US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
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 | 株式会社日立製作所 | ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法 |
US20160098279A1 (en) * | 2005-08-29 | 2016-04-07 | Searete Llc | Method and apparatus for segmented sequential storage |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, 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 |
US9852079B2 (en) * | 2006-08-01 | 2017-12-26 | Massachusetts Institute Of Technology | EXtreme virtual memory |
US20080228864A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods for prefetching non-cacheable content for compression history |
US8074028B2 (en) * | 2007-03-12 | 2011-12-06 | Citrix Systems, Inc. | Systems and methods of providing a multi-tier cache |
US7827237B2 (en) | 2007-03-12 | 2010-11-02 | Citrix Systems, Inc. | Systems and methods for identifying long matches of data in a compression history |
US7584294B2 (en) * | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US7783757B2 (en) * | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US7460038B2 (en) * | 2007-03-12 | 2008-12-02 | Citrix Systems, Inc. | Systems and methods of clustered sharing of compression histories |
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 |
US7619545B2 (en) * | 2007-03-12 | 2009-11-17 | Citrix Systems, Inc. | Systems and methods of using application and protocol specific parsing for compression |
US8103783B2 (en) * | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
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 |
US7720936B2 (en) * | 2007-03-12 | 2010-05-18 | Citrix Systems, Inc. | Systems and methods of freshening and prefreshening a DNS cache |
US7865585B2 (en) | 2007-03-12 | 2011-01-04 | Citrix Systems, Inc. | Systems and methods for providing dynamic ad hoc proxy-cache hierarchies |
US8255570B2 (en) * | 2007-03-12 | 2012-08-28 | Citrix Systems, Inc. | Systems and methods of compression history expiration and synchronization |
US8701010B2 (en) | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
US7532134B2 (en) | 2007-03-12 | 2009-05-12 | Citrix Systems, Inc. | Systems and methods for sharing compression histories between multiple devices |
US7809818B2 (en) | 2007-03-12 | 2010-10-05 | Citrix Systems, Inc. | Systems and method of using HTTP head command for prefetching |
WO2009086939A1 (en) * | 2008-01-11 | 2009-07-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Message handling in an ip multimedia subsystem |
WO2010033877A1 (en) | 2008-09-19 | 2010-03-25 | 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 |
US8874844B1 (en) * | 2008-12-02 | 2014-10-28 | Nvidia Corporation | Padding buffer requests to avoid reads of invalid data |
US8504773B1 (en) * | 2008-12-02 | 2013-08-06 | Nvidia Corporation | Storing dynamically sized buffers within a cache |
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 |
EP2771795B1 (en) * | 2011-10-26 | 2016-06-01 | Hewlett-Packard Development Company, L.P. | 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 |
US10642837B2 (en) | 2013-03-15 | 2020-05-05 | Oracle International Corporation | Relocating derived cache during data rebalance to maintain application performance |
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 |
US9208094B2 (en) * | 2013-08-06 | 2015-12-08 | GlobalFoudries, Inc. | Managing and sharing storage cache resources in a cluster environment |
US9798655B2 (en) | 2013-09-20 | 2017-10-24 | Oracle International Corporation | Managing a cache on storage devices supporting compression |
US9430383B2 (en) | 2013-09-20 | 2016-08-30 | Oracle International Corporation | Fast data initialization |
US10229161B2 (en) | 2013-09-20 | 2019-03-12 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
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 |
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 |
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 |
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 |
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 |
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 |
US10558480B2 (en) | 2015-09-10 | 2020-02-11 | Veritas Technologies Llc | Optimizing access to production data |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a 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 |
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 |
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 |
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 |
EP0203601B1 (en) * | 1985-05-29 | 1992-08-05 | Kabushiki Kaisha Toshiba | Cache system adopting an lru system, and magnetic disk controller incorporating it |
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
Also Published As
Publication number | Publication date |
---|---|
EP0389151A3 (en) | 1992-06-03 |
EP0389151A2 (en) | 1990-09-26 |
JPH02281350A (ja) | 1990-11-19 |
US5717893A (en) | 1998-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0571976B2 (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 | |
US6615318B2 (en) | Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries | |
US7085895B2 (en) | Apparatus, system, and method flushing data from a cache to secondary storage | |
US5606688A (en) | Method and apparatus for dynamic cache memory allocation via single-reference residency times | |
US6311252B1 (en) | Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system | |
US6457102B1 (en) | Cache using multiple LRU's | |
US5608890A (en) | Data set level cache optimization | |
US6578111B1 (en) | Cache memory system and method for managing streaming-data | |
US6327644B1 (en) | Method and system for managing data in cache | |
US6842826B1 (en) | Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache | |
CN104145252A (zh) | 两级高速缓存系统中的自适应高速缓存提升 | |
JPS60140446A (ja) | 記憶階層制御方式 | |
WO2000070468A1 (en) | Least recently used replacement method with protection | |
GB2357172A (en) | Raid storage system with logicaly partitioned cache | |
US5765193A (en) | System for controlling a write operation involving data held in a write cache | |
US7107400B2 (en) | System, apparatus, and process for evaluating projected cache sizes | |
US6609177B1 (en) | Method and apparatus for extending cache history | |
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 | |
US6598124B1 (en) | System and method for identifying streaming-data | |
US20010011325A1 (en) | Method and apparatus for disk caching for an intermediary controller | |
JPS59220853A (ja) | デイスクキヤツシユシステム | |
WO2002027498A2 (en) | System and method for identifying and managing streaming-data | |
JP4104283B2 (ja) | 記憶サブシステム及び情報処理システム |