JPH0492941A - キャッシュメモリの順次参照管理方法および装置 - Google Patents
キャッシュメモリの順次参照管理方法および装置Info
- Publication number
- JPH0492941A JPH0492941A JP2211458A JP21145890A JPH0492941A JP H0492941 A JPH0492941 A JP H0492941A JP 2211458 A JP2211458 A JP 2211458A JP 21145890 A JP21145890 A JP 21145890A JP H0492941 A JPH0492941 A JP H0492941A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- collections
- collection
- block
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 35
- 239000013643 reference control Substances 0.000 title 1
- 230000004044 response Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、キャッシュメモリ管理のためのデータ記憶方
法および装置に関し、特に大容量記憶装置から検索され
たデータの一部を記憶するキャッシュを含めた大・容量
記憶装置(MSD’s)のデータ置換の方法および装置
に関する。
法および装置に関し、特に大容量記憶装置から検索され
たデータの一部を記憶するキャッシュを含めた大・容量
記憶装置(MSD’s)のデータ置換の方法および装置
に関する。
例えば光学的または磁気式ディスク駆動機構のようなラ
ンダムアクセスMSD’s)やデータアクセス時間が遅
いことを特徴とする他の記憶およびファイルサブシステ
ムは、その記憶システムから検索したデータの一部を記
憶する付属の1個以上のキャッシュを含むことがしばし
ばである。500マイクロ秒乃至500ミリ秒に及ぶ低
速アクセス時間が、キャッシュによって、MSDから検
索されたデータが高頻度で再使用される必要のある業務
のためのMSDの性能を向上させている。キャッシュは
頻繁に利用されるデータを記憶し、MSDが時間のかか
る技術を用いてそれを記憶システムから繰返し検索する
必要がないようにしている。
ンダムアクセスMSD’s)やデータアクセス時間が遅
いことを特徴とする他の記憶およびファイルサブシステ
ムは、その記憶システムから検索したデータの一部を記
憶する付属の1個以上のキャッシュを含むことがしばし
ばである。500マイクロ秒乃至500ミリ秒に及ぶ低
速アクセス時間が、キャッシュによって、MSDから検
索されたデータが高頻度で再使用される必要のある業務
のためのMSDの性能を向上させている。キャッシュは
頻繁に利用されるデータを記憶し、MSDが時間のかか
る技術を用いてそれを記憶システムから繰返し検索する
必要がないようにしている。
MSDから検索され、キャッシュに記憶されるデータは
、一般に1つまたはそれ以上のプロセスによって求めら
れるデータである。これらのプロセスは、キャッシュに
MSDの性能を高めさせる要求参照パターンを備えてい
る場合があり、キャッシュが記憶システムに利用するこ
とが全くない参照パターンを備えている場合もある。実
用に際しては、キャッシュの効果的な利用をさせない参
照パターンを有するプロセスは、他のプロセスに対する
キャッシュの性能を低下させることが多い。
、一般に1つまたはそれ以上のプロセスによって求めら
れるデータである。これらのプロセスは、キャッシュに
MSDの性能を高めさせる要求参照パターンを備えてい
る場合があり、キャッシュが記憶システムに利用するこ
とが全くない参照パターンを備えている場合もある。実
用に際しては、キャッシュの効果的な利用をさせない参
照パターンを有するプロセスは、他のプロセスに対する
キャッシュの性能を低下させることが多い。
キャッシュの性能は、キャッシュによって満足させられ
るものの要求総数に対する割合により測定することがで
きる。キャッシュの利用は、要求されたデータを記憶シ
ステムから再獲得するかまたは反復して検索するのに関
連した遅い機械的動作をなくするものである。プロセス
がMSDの同じ記憶場所から反復してデータを要求して
、以降の参照に際してそのデータがキャッシュで見つか
るようにされる場合は、そのプロセス参照パターンはキ
ャッシュをよ(機能させる。プロセスが異なるMSD記
憶場所からただ一度或いは低頻度でデータを要求する場
合は、キャッシュの機能は低下する。
るものの要求総数に対する割合により測定することがで
きる。キャッシュの利用は、要求されたデータを記憶シ
ステムから再獲得するかまたは反復して検索するのに関
連した遅い機械的動作をなくするものである。プロセス
がMSDの同じ記憶場所から反復してデータを要求して
、以降の参照に際してそのデータがキャッシュで見つか
るようにされる場合は、そのプロセス参照パターンはキ
ャッシュをよ(機能させる。プロセスが異なるMSD記
憶場所からただ一度或いは低頻度でデータを要求する場
合は、キャッシュの機能は低下する。
キャッシュの記憶容量が、プロセスによって要求された
特定のデータ項目の参照の列より小さい場合は、キャッ
シュのそれ以前の内容の総てがキャッシュから追い出さ
れてしまうことがある。また、このあふれ効果は、キャ
ッシュ記憶容量のかなりの部分を置換する長い列の参照
が発生した場合に、他のプロセスに対するキャッシュの
効果を低減させる。
特定のデータ項目の参照の列より小さい場合は、キャッ
シュのそれ以前の内容の総てがキャッシュから追い出さ
れてしまうことがある。また、このあふれ効果は、キャ
ッシュ記憶容量のかなりの部分を置換する長い列の参照
が発生した場合に、他のプロセスに対するキャッシュの
効果を低減させる。
磁気ディスク駆動機構のようなMSDに対するこのよう
な長い列をなす参照の一例は、ディスクバックアップで
あり、これは実質的にはディスク全体に対して1回の長
い列をなす参照を行うものである。従来のキャッシュは
、この必要のないデータによってあふれさせられてしま
うことになる。
な長い列をなす参照の一例は、ディスクバックアップで
あり、これは実質的にはディスク全体に対して1回の長
い列をなす参照を行うものである。従来のキャッシュは
、この必要のないデータによってあふれさせられてしま
うことになる。
普通、この問題は、バックアッププロセスがキャッシュ
をバイパスするように変更することで解決される。しか
しこの方法では、最悪且つ予測上置も悪影響を及ぼすプ
ロセスのみに対処することができるだけである。この発
明は、前もって特定すること或いは予防的にプロセスを
変更することを必要とせずに、長い列をなす参照の検出
および補償を自動的にさせるものである。
をバイパスするように変更することで解決される。しか
しこの方法では、最悪且つ予測上置も悪影響を及ぼすプ
ロセスのみに対処することができるだけである。この発
明は、前もって特定すること或いは予防的にプロセスを
変更することを必要とせずに、長い列をなす参照の検出
および補償を自動的にさせるものである。
キャッシュのデータを整列させてプロセス要求参照パタ
ーンに対してその性能を高める為に、最後に利用されて
からの時間が最も長い(1eastrecently
used(L RII))および利用顧度が最も少ない
(least frequently used (L
F U) )ものを置換するアルゴリズムが用いられ
てきた。LRU置換アルゴリズムは、キャッシュの中の
データを、各データブロックに対する一番最近の参照か
らの時間の長さにしたがって整列されたデータブロック
のリストを編成することによって動作する。最も最近利
用した(MRU)データがリストの一端にあり、最後に
利用してからの時間が最も長い(LRU)データが別の
一端に配される。新しいデータは、リストのMRU端に
付は加えられる。
ーンに対してその性能を高める為に、最後に利用されて
からの時間が最も長い(1eastrecently
used(L RII))および利用顧度が最も少ない
(least frequently used (L
F U) )ものを置換するアルゴリズムが用いられ
てきた。LRU置換アルゴリズムは、キャッシュの中の
データを、各データブロックに対する一番最近の参照か
らの時間の長さにしたがって整列されたデータブロック
のリストを編成することによって動作する。最も最近利
用した(MRU)データがリストの一端にあり、最後に
利用してからの時間が最も長い(LRU)データが別の
一端に配される。新しいデータは、リストのMRU端に
付は加えられる。
新しいデータの受は入れ用意するためにキャッシュによ
ってデータを廃棄する場合は、廃棄するデータは、リス
トのLRU端から取られる。しかし、LRUアルゴリズ
ムは、長い列をなした参照の問題を解決していない。
ってデータを廃棄する場合は、廃棄するデータは、リス
トのLRU端から取られる。しかし、LRUアルゴリズ
ムは、長い列をなした参照の問題を解決していない。
LFUアルゴリズムは、キャッシュのデータをその利用
された回数にしたがって整列させる。このLFUアルゴ
リズムは、−度だけ利用された新しいデータをリストの
LFU端にそして最も多く再利用されたデータをリスト
の最も頻繁に利用された(M F U)端になるように
キャッシュのデータをリストに編成する。LFUアルゴ
リズムは長い列をなす参照の問題に対しては免疫を有す
るが、これには他の問題点がある。純粋なLFUアルゴ
リズムでは、かって高頻度で利用したデータが、もはや
必要であくなった場合にキャッシュから出ていくことは
ない、LFUの順序を計算するためのオーバヘッドは、
LRUのそれより高いものである。LFUアルゴリズム
を用いてキャッシュから古いデータを除くために時間の
経過を考慮した方式を実施した場合はオーバヘッドが、
LRU置換アルゴリズムでの場合よりずっと大きいもの
となる。
された回数にしたがって整列させる。このLFUアルゴ
リズムは、−度だけ利用された新しいデータをリストの
LFU端にそして最も多く再利用されたデータをリスト
の最も頻繁に利用された(M F U)端になるように
キャッシュのデータをリストに編成する。LFUアルゴ
リズムは長い列をなす参照の問題に対しては免疫を有す
るが、これには他の問題点がある。純粋なLFUアルゴ
リズムでは、かって高頻度で利用したデータが、もはや
必要であくなった場合にキャッシュから出ていくことは
ない、LFUの順序を計算するためのオーバヘッドは、
LRUのそれより高いものである。LFUアルゴリズム
を用いてキャッシュから古いデータを除くために時間の
経過を考慮した方式を実施した場合はオーバヘッドが、
LRU置換アルゴリズムでの場合よりずっと大きいもの
となる。
本発明は、キャッシュ内のデータを、複数のコレクショ
ン間で昇進を行うコレクションに区分する方法および装
置によってなるものである。それぞれのコレクシ9ンは
、LRUのような置換プログラムを用いることができる
。
ン間で昇進を行うコレクションに区分する方法および装
置によってなるものである。それぞれのコレクシ9ンは
、LRUのような置換プログラムを用いることができる
。
その最も基本的な構成において、キャッシュはその記憶
したデータを、データの第1 LRUコレクションと、
データの少なくてももう一つのLRUコレクションとに
区分するように配置される。
したデータを、データの第1 LRUコレクションと、
データの少なくてももう一つのLRUコレクションとに
区分するように配置される。
あるプロセスによってこれらのコレクションのいずれか
らか検索されたデータは、これらのコレクションのうち
の最初のものに付加される。これらのコレクションのい
ずれかにおいて最後に利用されてから経過した時間が最
も長いものは、そのコレクションによって必要に応じて
除かれる。第1コレクションから取除かれデータおよび
MSDから検索された新しいデータは、最後のコレクシ
ョンに付加される。このようにしてプロセスによって検
索されたデータは、第1コレクションへ昇進し、第1コ
レクションから除去された最後に利用されてから経過し
た時間が最も長いデータは、新しいメモリリソースから
のデータとともに最終コレクションに付加される。この
結果としてのアルゴリズムは、LFUアルゴリズムの欠
点なしにLFUアルゴリズムに近位するものである。こ
の近似の度合は、コレクションの数が増加するにしたが
って、より近いものとなる。しかし、キャッシュアルゴ
リズムのコストも、コレクションの数とともに増加する
。
らか検索されたデータは、これらのコレクションのうち
の最初のものに付加される。これらのコレクションのい
ずれかにおいて最後に利用されてから経過した時間が最
も長いものは、そのコレクションによって必要に応じて
除かれる。第1コレクションから取除かれデータおよび
MSDから検索された新しいデータは、最後のコレクシ
ョンに付加される。このようにしてプロセスによって検
索されたデータは、第1コレクションへ昇進し、第1コ
レクションから除去された最後に利用されてから経過し
た時間が最も長いデータは、新しいメモリリソースから
のデータとともに最終コレクションに付加される。この
結果としてのアルゴリズムは、LFUアルゴリズムの欠
点なしにLFUアルゴリズムに近位するものである。こ
の近似の度合は、コレクションの数が増加するにしたが
って、より近いものとなる。しかし、キャッシュアルゴ
リズムのコストも、コレクションの数とともに増加する
。
各図において、同様な参照符号は各図を通して同様また
は対応する部分を示す。第1図は、2つのデータのコレ
クションを用いた本発明の推奨実施例のブロック図であ
る。しかし、もし望むならば、データのコレクションの
数を3つ以上にすることも、本発明の範囲である。MS
D (図示せず)のキャッシュ2は、第1領域4および
第2または最終領域6の、2記憶領域によって構成され
ている。第1領域4および第2領域6は、LRU置換ア
ルゴリズムにしたがって記憶したデータブロックを配列
させる。第1領域4は、線8を介して最新利用入力端子
上で新しいデータブロックを受取る。第1N域4は、利
用してからの経過時間が最も長いデータをLRU出力端
子から線10へと取除く。最古利用データは、第1領域
4が回線8から受信した新しいデータによって充たされ
た後に、第1領域4から回線10へと除去される。
は対応する部分を示す。第1図は、2つのデータのコレ
クションを用いた本発明の推奨実施例のブロック図であ
る。しかし、もし望むならば、データのコレクションの
数を3つ以上にすることも、本発明の範囲である。MS
D (図示せず)のキャッシュ2は、第1領域4および
第2または最終領域6の、2記憶領域によって構成され
ている。第1領域4および第2領域6は、LRU置換ア
ルゴリズムにしたがって記憶したデータブロックを配列
させる。第1領域4は、線8を介して最新利用入力端子
上で新しいデータブロックを受取る。第1N域4は、利
用してからの経過時間が最も長いデータをLRU出力端
子から線10へと取除く。最古利用データは、第1領域
4が回線8から受信した新しいデータによって充たされ
た後に、第1領域4から回線10へと除去される。
第2領域6は、回線12を介してMRU入力端子におい
て新しいデータを受信する。第2領域6は、最古利用デ
ータを、回線14を介してLRU出力端子から除去、廃
棄する。第2領域6が回線12を介して受信する新しい
データは、回線15を通して関連のMSDシステム(図
示せず)から受信した新しいデータと、回!10を通し
て回線12に送られた第1領域4からの除去データとの
両方で構成されている。
て新しいデータを受信する。第2領域6は、最古利用デ
ータを、回線14を介してLRU出力端子から除去、廃
棄する。第2領域6が回線12を介して受信する新しい
データは、回線15を通して関連のMSDシステム(図
示せず)から受信した新しいデータと、回!10を通し
て回線12に送られた第1領域4からの除去データとの
両方で構成されている。
第1領域4は、例えばあるプロセスからの選択されたデ
ータへの要求に応答して第1領域4に記憶されたデータ
から選択されたデータを取り出すために、回線8に結合
する回線17上に選択出力を有している。第1領域4か
ら検索した選択されたデータは、その選択がそれを最も
最近に利用されたものにしたことから、再記憶のための
回線8を介して、第1領域4のMRU入力に送り返され
る。第2領域6は、プロセスなどからのデータの要求に
応答して第2領域6に記憶されたデータから選択された
データを取り出すための、回線16を介して回線8に結
合する選択出力を有している。
ータへの要求に応答して第1領域4に記憶されたデータ
から選択されたデータを取り出すために、回線8に結合
する回線17上に選択出力を有している。第1領域4か
ら検索した選択されたデータは、その選択がそれを最も
最近に利用されたものにしたことから、再記憶のための
回線8を介して、第1領域4のMRU入力に送り返され
る。第2領域6は、プロセスなどからのデータの要求に
応答して第2領域6に記憶されたデータから選択された
データを取り出すための、回線16を介して回線8に結
合する選択出力を有している。
第2頭@6から検索された選択されたデータは、その選
択がそれを最も最近に利用されたものにしたことから、
第1領域4での再記憶のために、回線16を通って回線
8を介して第1領域のMRU入力へ送られる。
択がそれを最も最近に利用されたものにしたことから、
第1領域4での再記憶のために、回線16を通って回線
8を介して第1領域のMRU入力へ送られる。
結果として、この推奨実施例においては、第1領域4ま
たは第2領域6から選択されたデータはいずれも第1領
域のデータを再整列させ、選択されたデータを、第1領
域4内のデータの中の最も最近に使われたものとする。
たは第2領域6から選択されたデータはいずれも第1領
域のデータを再整列させ、選択されたデータを、第1領
域4内のデータの中の最も最近に使われたものとする。
同様に、MSDからの新しいデータと第1領域4からの
除去されたデータとは両方とも第2領域6のデータを再
整列させ、回線15のMSDからの新しいデータまたは
回線10における第1領域4からの除去されたデータを
第2領域6のデータのうちの最も最近に利用されたもの
とする。
除去されたデータとは両方とも第2領域6のデータを再
整列させ、回線15のMSDからの新しいデータまたは
回線10における第1領域4からの除去されたデータを
第2領域6のデータのうちの最も最近に利用されたもの
とする。
回線15におけるMSDシステムからの新しいデータの
列が第2領域6をいっばいにし始めた場合は、最古利用
データを回線14に取出し廃棄する。しかし、第1領域
4は、プロセスの要求に応じて第2領域6の新しいデー
タから選択されたデータが第1領域にロードされる場合
を除いて、第2N域6への新しいデータのローディング
に影響されることはない、第1領域4に記憶されたデー
タは、それが第2N域6に送られるデータよりも高い優
先順位を有することから、キャッシュ2が回線15から
受取る長い列をなすデータに対して抵抗力を有する。こ
れは、回線10上の第161域4からの除去されたデー
タが、回線15からの新しいMSDデータと一緒に第2
領域6の入力端子に送られるからである。
列が第2領域6をいっばいにし始めた場合は、最古利用
データを回線14に取出し廃棄する。しかし、第1領域
4は、プロセスの要求に応じて第2領域6の新しいデー
タから選択されたデータが第1領域にロードされる場合
を除いて、第2N域6への新しいデータのローディング
に影響されることはない、第1領域4に記憶されたデー
タは、それが第2N域6に送られるデータよりも高い優
先順位を有することから、キャッシュ2が回線15から
受取る長い列をなすデータに対して抵抗力を有する。こ
れは、回線10上の第161域4からの除去されたデー
タが、回線15からの新しいMSDデータと一緒に第2
領域6の入力端子に送られるからである。
第1領域4は、第1領域4および第2領域6から検索さ
れるプロセスが要求するデータでのみロードされる。
れるプロセスが要求するデータでのみロードされる。
上述したキャッシュ2の効果は、1回以上要求されたデ
ータを、1回しか利用されないデータより長く保持する
ことにある。これは第1領域4または第2領域6から選
択されたデータがいずれも、第1領域4の最新入力に送
られるからである。このデータはこの後、それが回線1
4を介して廃棄される以前に、第1領域4および第2領
域6の両方を通過しなければならない。しかし、1度だ
け利用されるデータは、それが第2領域6に残存する間
しか保持されない。すなわち、第2領域6にロードされ
たデータは、その後廃棄される以前に再び選択されない
場合は、第2N域を通過して回線14から廃棄される。
ータを、1回しか利用されないデータより長く保持する
ことにある。これは第1領域4または第2領域6から選
択されたデータがいずれも、第1領域4の最新入力に送
られるからである。このデータはこの後、それが回線1
4を介して廃棄される以前に、第1領域4および第2領
域6の両方を通過しなければならない。しかし、1度だ
け利用されるデータは、それが第2領域6に残存する間
しか保持されない。すなわち、第2領域6にロードされ
たデータは、その後廃棄される以前に再び選択されない
場合は、第2N域を通過して回線14から廃棄される。
勿論、第1領域4と第2領域6とは同一のメモリの部分
であってもよい、1個のメモリを用いる場合は、データ
が第18N域4から第2N域6へと論理的に移動する際
に、それを物理的に移動させる必要はない。MSDから
の新しいデータのそう人が、アルゴリズムの記憶データ
の中央を指す「カーソル」によって単一のLRUアルゴ
リズムの中央にそう人される場合は、単一のLRUアル
ゴリズムで第1領域4および第2領域6を構成すること
ができる。この単一のアルゴリズムが更新される毎に、
カーソルを更新しなければならない。
であってもよい、1個のメモリを用いる場合は、データ
が第18N域4から第2N域6へと論理的に移動する際
に、それを物理的に移動させる必要はない。MSDから
の新しいデータのそう人が、アルゴリズムの記憶データ
の中央を指す「カーソル」によって単一のLRUアルゴ
リズムの中央にそう人される場合は、単一のLRUアル
ゴリズムで第1領域4および第2領域6を構成すること
ができる。この単一のアルゴリズムが更新される毎に、
カーソルを更新しなければならない。
本発明は、第1領域4と第2領域6との間で、例えば半
分ずつといった様に比率の固定したメモリを用いてもよ
いし、これを動的に制御して、異なった条件にしたがっ
てメモリの比率を変化させることもできる。例えば、デ
ータが第1領域4および第2領域6にある時間の長さが
、それらの比較上の大きさを決定する。第2領域6は、
その記憶したデータが第1領域4へ昇進する可能性が最
小の場合縮小することができる。第1領域4は、第1領
域4からのデータの2回目の選択からの時間の長さが極
めて長い場合に、縮小することができる。
分ずつといった様に比率の固定したメモリを用いてもよ
いし、これを動的に制御して、異なった条件にしたがっ
てメモリの比率を変化させることもできる。例えば、デ
ータが第1領域4および第2領域6にある時間の長さが
、それらの比較上の大きさを決定する。第2領域6は、
その記憶したデータが第1領域4へ昇進する可能性が最
小の場合縮小することができる。第1領域4は、第1領
域4からのデータの2回目の選択からの時間の長さが極
めて長い場合に、縮小することができる。
第1領域4および最終領域6以上のものを備えたキャッ
シュを同様に用いることができる。第2図は、本発明の
変化例のブロック図であり、そのキャッシュ2は、第1
N域4および最終領域6に加えて中間領域18を有して
いる。中間領域18も、LRU置換アルゴリズムにした
がって記憶したデータを整列させる。第1 ’pfJ域
4は回線10を介して最古利用データを取出し、中間領
域18へのMRU入力線19へ転送する。
シュを同様に用いることができる。第2図は、本発明の
変化例のブロック図であり、そのキャッシュ2は、第1
N域4および最終領域6に加えて中間領域18を有して
いる。中間領域18も、LRU置換アルゴリズムにした
がって記憶したデータを整列させる。第1 ’pfJ域
4は回線10を介して最古利用データを取出し、中間領
域18へのMRU入力線19へ転送する。
最終領域6に整列されたデータの中から選択されたデー
タは、回線16を介して中間領域18へのMRU入力線
19に送られる。中間領域18の整列データから選択さ
れたデータは、選択出力回線20を通って、回線8を介
して第1領域4のMRU入力に送られ、この回線は第1
N域4から選択されたデータも、上述した第1領域4の
MRU入力へ送っている。中間領域18から除去された
最古利用データは、回線12に結合する回線22を介し
て最終領域6の最新利用入力へ送られる。
タは、回線16を介して中間領域18へのMRU入力線
19に送られる。中間領域18の整列データから選択さ
れたデータは、選択出力回線20を通って、回線8を介
して第1領域4のMRU入力に送られ、この回線は第1
N域4から選択されたデータも、上述した第1領域4の
MRU入力へ送っている。中間領域18から除去された
最古利用データは、回線12に結合する回線22を介し
て最終領域6の最新利用入力へ送られる。
接続するMSD (図示せず)からの新しいデータは、
新規入力データの望ましい優先順位付けに従って、回線
15を介して最終領域のMRU入力、或いは回線24を
介して中間領域18のMRU入力線19のいずれかへ送
られる。例えば、回線15に結合した新しいデータは、
回線14へ廃棄される以前に選択されることなしに最終
領域6だけを通過しなければならない0回線24から受
けた新しいデータは、回線14へ廃棄される以前に選択
されることなしに中間領域18と最終領域6の両方を通
過しなければならない。
新規入力データの望ましい優先順位付けに従って、回線
15を介して最終領域のMRU入力、或いは回線24を
介して中間領域18のMRU入力線19のいずれかへ送
られる。例えば、回線15に結合した新しいデータは、
回線14へ廃棄される以前に選択されることなしに最終
領域6だけを通過しなければならない0回線24から受
けた新しいデータは、回線14へ廃棄される以前に選択
されることなしに中間領域18と最終領域6の両方を通
過しなければならない。
第2図の変化例においては、第1領域4或いは中間領域
18から選択されたデータはいずれも第1領域4のデー
タを再整列させ、その選択されたデータを第1領域のデ
ータの中で最も最近に利用されたものとする。第1 f
il域4におけるデータオーバーフローの結果として第
1領域から除去された最古利用データは回線16および
19を介して中間領域18のMRU入力へ送られる。最
終領域6から選択されたデータもまた回線16および1
9を介して中間領域18のMRU入力へ送られる。中間
領域18におけるデータオーバーフローの結果として中
間領域18から除去された最古利用データは、回線22
および12を介して最終領域6のMRU入力へ送られる
。データは、最終領域6におけるデータオーバーフロー
の結果として、最終領域6によって回線14を介して最
終できに廃棄される。
18から選択されたデータはいずれも第1領域4のデー
タを再整列させ、その選択されたデータを第1領域のデ
ータの中で最も最近に利用されたものとする。第1 f
il域4におけるデータオーバーフローの結果として第
1領域から除去された最古利用データは回線16および
19を介して中間領域18のMRU入力へ送られる。最
終領域6から選択されたデータもまた回線16および1
9を介して中間領域18のMRU入力へ送られる。中間
領域18におけるデータオーバーフローの結果として中
間領域18から除去された最古利用データは、回線22
および12を介して最終領域6のMRU入力へ送られる
。データは、最終領域6におけるデータオーバーフロー
の結果として、最終領域6によって回線14を介して最
終できに廃棄される。
第1領域4、中間領域18および最終領域6は、推奨実
施例について説明したように、静的に固定されるか或い
は動的に調節される大きさの比率を有している。これら
もまた、単一のメモリの異なる領域によって構成するこ
とができる。また、上述したような順次の順序または順
次でない他の構成で4つ以上の領域があってもよい。デ
ータを、例えばキャッシュを通過する分離読み出し、書
込みのような他の基準にしたがって分離することができ
る。
施例について説明したように、静的に固定されるか或い
は動的に調節される大きさの比率を有している。これら
もまた、単一のメモリの異なる領域によって構成するこ
とができる。また、上述したような順次の順序または順
次でない他の構成で4つ以上の領域があってもよい。デ
ータを、例えばキャッシュを通過する分離読み出し、書
込みのような他の基準にしたがって分離することができ
る。
第3図は、本発明の更に別の実施例を示すものである。
この実施例においては、キャッシュ2は、読み出しデー
タと書込みデータの優先順位付けを分離している。キャ
ッシュに現在はない読み出しデータは、回線15から受
信し、回線12を介して最終領域6のMRU入力へ送ら
れる。読み出しデータの優先順序付けは、第2図に関連
して変化例について上述したのと同じである。現在はキ
ャッシュにないMSD記憶場所についての書込みデータ
は回線24から第2中間領域26のMRU入力へ送られ
る。第2中間領域26から選択されたデータは、回線2
8でその選択出力から、回線8を介して第1領域4のM
RU入力へ送られる。オーバーフローのため第2中間領
域18から回線30へと除去されたデータは、回線12
を介して最終領域6のMRU入力へ送られる。
タと書込みデータの優先順位付けを分離している。キャ
ッシュに現在はない読み出しデータは、回線15から受
信し、回線12を介して最終領域6のMRU入力へ送ら
れる。読み出しデータの優先順序付けは、第2図に関連
して変化例について上述したのと同じである。現在はキ
ャッシュにないMSD記憶場所についての書込みデータ
は回線24から第2中間領域26のMRU入力へ送られ
る。第2中間領域26から選択されたデータは、回線2
8でその選択出力から、回線8を介して第1領域4のM
RU入力へ送られる。オーバーフローのため第2中間領
域18から回線30へと除去されたデータは、回線12
を介して最終領域6のMRU入力へ送られる。
このようにして、第1領域4は、3回要求されたか或い
は書込まれ且つ、領域26から除去される以前にすぐに
要求されたデータを保持する。第1中間領域18は、第
1領域4からあふれたデータと共に、2回選択されたデ
ータを保持する。第2中間領域26は、新しい書込みデ
ータを記憶する。最終領域6は、第1中間領域18およ
び第2中間領域26からあふれたデータと共に1回選択
されたデータを保持する。
は書込まれ且つ、領域26から除去される以前にすぐに
要求されたデータを保持する。第1中間領域18は、第
1領域4からあふれたデータと共に、2回選択されたデ
ータを保持する。第2中間領域26は、新しい書込みデ
ータを記憶する。最終領域6は、第1中間領域18およ
び第2中間領域26からあふれたデータと共に1回選択
されたデータを保持する。
このキャッシュ管理は、以上で説明したように、接続す
る大容量記憶装置からの長い列をなす参照によってキャ
ッシュがあふれることを、LRUIf換アルゴリズムの
効果を維持しつつLFU置換アルゴリズムに近似する置
換アルゴリズムによって防ぐものである。本発明の詳細
な説明するために上で記述、説明した部分並びにシステ
ムの詳細、配列および構成についての多様な変化を、当
業者が、添付の特許請求の範囲で明示する本発明の基本
および範囲内でなし得ることは明らかなところである。
る大容量記憶装置からの長い列をなす参照によってキャ
ッシュがあふれることを、LRUIf換アルゴリズムの
効果を維持しつつLFU置換アルゴリズムに近似する置
換アルゴリズムによって防ぐものである。本発明の詳細
な説明するために上で記述、説明した部分並びにシステ
ムの詳細、配列および構成についての多様な変化を、当
業者が、添付の特許請求の範囲で明示する本発明の基本
および範囲内でなし得ることは明らかなところである。
第1図は、本発明の推奨実施例のブロック図、第2図は
、本発明の変化例のブロック図、第3図は、本発明の別
の変化例のブロック図である。 4・・・第1領域、 6・・・第2領域(最終領域)、
18・・・中間領域(第1中間領域)、26・・・中間
領域 FjG、 3 手続補正書(方式) %式% ■、事件の表示 平成2年特許願第211458号 3、補正をする者 事件との関係 願人 4、代 5、補正命令の日付 平成2年10月30日
、本発明の変化例のブロック図、第3図は、本発明の別
の変化例のブロック図である。 4・・・第1領域、 6・・・第2領域(最終領域)、
18・・・中間領域(第1中間領域)、26・・・中間
領域 FjG、 3 手続補正書(方式) %式% ■、事件の表示 平成2年特許願第211458号 3、補正をする者 事件との関係 願人 4、代 5、補正命令の日付 平成2年10月30日
Claims (1)
- (1)記憶リソースから検索されたデータを整列させる
方法において、 データを、少なくとも第1コレクションと最終コレクシ
ョンとからなる複数のコレクションに整列させる段階と
、 前記各コレクションから前記整列させたデータを除去す
る段階と、 前記各コレクションのそれぞれから除去されたデータを
前記各コレクションの選択されたものに付加する段階と
、 前記各コレクションのそれぞれから要求された前記整列
させられたデータを前記各コレクションの選択されたも
のに付加する段階と、 前記記憶リソースから検索した新しいデータを前記各コ
レクションの選択されたものに付加する段階とを含むこ
とを特徴とする記憶リソースから検索されたデータを整
列させる方法。 2、記憶リソースから検索されたデータを整列させる方
法において、 データを、少なくとも第1コレクションと最終コレクシ
ョンとからなる複数のコレクションに整列させる段階と
、 前記各コレクションから最後に要求されてからの時間の
経過が最も長いデータを除去する段階と、 前記各コレクションのそれぞれから除去されたデータを
前記各コレクションの選択されたものに付加する段階と
、 前記各コレクションのそれぞれから要求された前記整列
させられたデータを前記各コレクションの選択されたも
のに付加する段階と、 前記記憶リソースから検索した新しいデータを前記各コ
レクションの選択されたものに付加する段階とを含むこ
とを特徴とする記憶リソースから検索されたデータを整
列させる方法。 3、記憶リソースから検索されたデータを整列させる方
法において、 データを、第1コレクションと第2コレクションとに整
列させ、前記第1および第2コレクションからの前記整
列させたデータへの要求の新しさに従って整列させる段
階と、 前記第1および第2コレクションから要求された前記整
列させたデータを、前記第1コレクションに付加する段
階と、 前記第1および第2コレクションから、付加されてから
の時間経過が最も長い前記整列させたデータを除去する
段階と、 前記記憶リソースから検索された新しいデータと前記第
1コレクションから除去してデータとを前記第2コレク
ションへ付加する段階とを含むことを特徴とする記憶リ
ソースから検索したデータを整列させる方法。 4、記憶リソースから検索されたデータを整列させる方
法において、 データを第1コレクション、中間コレクションおよび第
3コレクションに整列させ、前記第1、中間および最終
コレクションからの前記整列させたデータの選択の新し
さにしたがって整列させる段階と、 前記各段階から付加されてからの時間が最も長い前記整
列させたデータを除去する段階と、前記第1および中間
コレクションから要求された前記整列させたデータを前
記第1コレクションに付加する段階と、 前記第1コレクションからの前記除去されたデータを前
記中間コレクションに付加する段階と、 前記中間コレクションからの前記除去されたデータを前
記最終コレクションに付加する段階と、 前記最終コレクションから要求されたデータを前記中間
コレクションに付加する段階と、前記記憶リソースから
検索した新しいデータを前記各コレクションの選択され
たものに付加する段階と、 前記最終コレクションから除去したデータを廃棄する段
階とを含むことを特徴とする記憶リソースから検索した
データを整列させる方法。 5、コンピュータシステムにおける大容量記憶装置から
検索したデータのブロックをキャッシュする方法におい
て、 優先順位の低い記憶領域の最新利用区域にデータのブロ
ックを記憶し、その記憶する段階が前記優先順位の低い
記憶領域の最古利用区域にある別の以前に記憶したデー
タのブロックを除去、廃棄させるように記憶する段階と
、 前記優先順位の低い記憶領域からのデータの第1選択ブ
ロックを、コンピュータシステムによって用いる為の前
記第1選択ブロックに対する要求に応答して、優先順位
の高い記憶領域の最新利用区域に転送し、且つ前記優先
順位の高い領域の最古利用区域にある別の以前に記憶さ
れたデータのブロックを、前記優先順位の低い記憶領域
の前記最新利用区域に記憶させる段階と、 前記優先順位の高い領域からのデータの第2選択ブロッ
クを、コンピュータシステムで用いるための前記第2選
択ブロックに対する要求に応答して、前記優先順位の高
い領域の最新利用区域に転送する段階とを含むことを特
徴とするコンピュータシステムの大容量記憶装置から検
索したデータのブロックをキャッシュする方法。 6、コンピュータシステムの大容量記憶装置から検索し
たデータのブロックをキャッシュする装置において、 優先順位の低い記憶領域の最新利用区域にデータのブロ
ックを記憶し、前記優先順位の低い領域の最古利用区域
にある別の以前に記憶したデータのブロック除去させる
手段と、 前記優先順位の低い記憶領域からのデータの第1選択ブ
ロックを、コンピュータシステムによって用いる為の前
記第1選択ブロックに対する要求に応答して、優先順位
の高い記憶領域の最新利用区域に転送し、且つ前記優先
順位の高い領域の最古利用区域にある別の以前に記憶さ
れたデータのブロックを、前記優先順位の低い記憶領域
の前記最新利用区域に記憶させる手段と、 前記優先順位の高い領域からのデータの第2選択ブロッ
クを、コンピュータシステムで用いるための前記第2選
択ブロックに対する要求に応答して、前記優先順位の高
い領域の最新利用区域に転送する手段とを含むことを特
徴とするコンピュータシステムの大容量記憶装置から検
索したデータのブロックをキャッシュする装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2211458A JPH0492941A (ja) | 1990-08-09 | 1990-08-09 | キャッシュメモリの順次参照管理方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2211458A JPH0492941A (ja) | 1990-08-09 | 1990-08-09 | キャッシュメモリの順次参照管理方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0492941A true JPH0492941A (ja) | 1992-03-25 |
Family
ID=16606275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2211458A Pending JPH0492941A (ja) | 1990-08-09 | 1990-08-09 | キャッシュメモリの順次参照管理方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0492941A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999040516A1 (en) * | 1998-02-04 | 1999-08-12 | Hitachi, Ltd. | Disk cache control method, disk array device, and storage device |
JPH11338775A (ja) * | 1998-05-27 | 1999-12-10 | Nec Corp | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
JP2002544624A (ja) * | 1999-05-18 | 2002-12-24 | インテル・コーポレーション | 保護機能付き最近最低使用頻度置換方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60214060A (ja) * | 1984-04-06 | 1985-10-26 | Nippon Telegr & Teleph Corp <Ntt> | 外部記憶キヤツシユ制御方式 |
JPS6426254A (en) * | 1987-07-22 | 1989-01-27 | Nec Corp | Disk cache sub-system |
-
1990
- 1990-08-09 JP JP2211458A patent/JPH0492941A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60214060A (ja) * | 1984-04-06 | 1985-10-26 | Nippon Telegr & Teleph Corp <Ntt> | 外部記憶キヤツシユ制御方式 |
JPS6426254A (en) * | 1987-07-22 | 1989-01-27 | Nec Corp | Disk cache sub-system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999040516A1 (en) * | 1998-02-04 | 1999-08-12 | Hitachi, Ltd. | Disk cache control method, disk array device, and storage device |
JPH11338775A (ja) * | 1998-05-27 | 1999-12-10 | Nec Corp | キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体 |
JP2002544624A (ja) * | 1999-05-18 | 2002-12-24 | インテル・コーポレーション | 保護機能付き最近最低使用頻度置換方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5432919A (en) | Sequential reference management for cache memories | |
EP0284663B1 (en) | Method of handling disk sector errors in dasd cache | |
US5717893A (en) | Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions | |
US5434993A (en) | Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories | |
US4603380A (en) | DASD cache block staging | |
US6678704B1 (en) | Method and system for controlling recovery downtime by maintaining a checkpoint value | |
US6192450B1 (en) | Destage of data for write cache | |
US5553305A (en) | System for synchronizing execution by a processing element of threads within a process using a state indicator | |
US5224217A (en) | Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement | |
US5257352A (en) | Input/output control method and system | |
US6701393B1 (en) | Systems and methods for managing storage location descriptors | |
EP0409415A2 (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
US5765193A (en) | System for controlling a write operation involving data held in a write cache | |
JP2000090009A (ja) | キャッシュメモリにおいてキャッシュラインを置き換えるための方法および装置 | |
US6115793A (en) | Mapping logical cache indexes to physical cache indexes to reduce thrashing and increase cache size | |
CN1290890A (zh) | 利用高速缓存器管理raid存储系统的方法和系统 | |
JPS62113234A (ja) | レコ−ドセツト分類方法 | |
US6782444B1 (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stored records | |
US6256711B1 (en) | Method for purging unused data from a cache memory | |
JPH08115289A (ja) | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム | |
US6029229A (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stored records | |
CA2415018C (en) | Adaptive parallel data clustering when loading a data structure containing data clustered along one or more dimensions | |
JP2017162194A (ja) | データ管理プログラム、データ管理装置、及びデータ管理方法 | |
US5900009A (en) | System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element | |
JP2523814B2 (ja) | ム―ブアウト・システム |