JPH0628257A - キャッシュメモリ内のデータ交換方法 - Google Patents

キャッシュメモリ内のデータ交換方法

Info

Publication number
JPH0628257A
JPH0628257A JP4045437A JP4543792A JPH0628257A JP H0628257 A JPH0628257 A JP H0628257A JP 4045437 A JP4045437 A JP 4045437A JP 4543792 A JP4543792 A JP 4543792A JP H0628257 A JPH0628257 A JP H0628257A
Authority
JP
Japan
Prior art keywords
data
prefetch
request
section
items
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
Application number
JP4045437A
Other languages
English (en)
Other versions
JP2558033B2 (ja
Inventor
Feng-Hsien W Shih
フェン‐フシエン、ワーレン、シー
Jr James F Macon
ジェームズ、フランクリン、メイコン、ジュニア
Shauchi Ong
シャウチ、オング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0628257A publication Critical patent/JPH0628257A/ja
Application granted granted Critical
Publication of JP2558033B2 publication Critical patent/JP2558033B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

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)【要約】 (修正有) 【目的】要求データ及び先取りデータに対して割り当て
られる記憶領域のサイズを割り当てられた領域が、面積
−性能に基づいてバランスされるように自動的に調節す
るキャッシュ管理データシステムを提供する。 【構成】個々の入力/出力要求がキャッシュバイパス指
令を持つかを調べられる(ブロック40)。キャッシュ
がバイパスされないきは、判定ブロック42で読出か書
込み要求かが決定される。ブロック44で先取り要求か
否かの決定がされる。I/Oが書き込みコマンドである
場合(ブロック42でNOの場合)、Nを0として4
8へ進む。先取りの読出しの場合、ブロック52におい
て読出し要求内の先取りページの数を決定し、これらペ
ージがブロック50で先取りされる。N(要求ページ
の総数)+N(現I/O内の先取りページ数)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、要求デー
タ及び先取りデータの両方が格納できるキャッシュメモ
リの動作を管理するための改良された方法、より具体的
には、メモリ内のスペースを要求データと先取りデータ
との間で使用の頻度に基づいて割り当てるための改良さ
れた方法に関する。
【0002】
【従来の技術】多くのデータ処理システムにおいては、
通常”キャッシュ”と呼ばれる高速メモリが中央処理ユ
ニットの作業メモリと主メモリとの間に提供される。こ
のキャッシュは前に主メモリからキャッシュに移された
データのサブセットへの比較的高速度のアクセスを可能
にし、こうして、データ処理システムの全体としての速
度を向上させる。通常、主メモリからキャッシュへのデ
ータの転送はデータのページあるいはブロックにて行な
われ、要求データページ及び先取りデータページの両方
を含む。要求データは中央処理ユニットからの特定の要
求の結果としてキャッシュに転送されたデータである。
要求データをキャッシュに転送するとき、追加のデータ
が直に要求される可能性がある場合、同時にこの追加の
要求されないデータ(つまり、先取りデータ)も転送す
ることが有利である。
【0003】キャッシュが満たされている場合、新たな
データを書込む場合そのキャッシュからデータを除去す
ることが必要である。通常、データキャッシュ管理シス
テムは、キャッシュから除去されるべきデータを選択す
るための基準としてデータの使用頻度を使用する。最も
前に使用された(least recently used 、LRU)と言
う考えは、これが簡単で効率的であるために交換のため
の通常の基準とされる。
【0004】先行技術においては、キャッシュ内のデー
タの交換において、要求データ及び先取りデータは個々
のタイプの入りデータのサイズと無関係に等しく扱われ
る。このような条件下においては、(キャッシュ内の要
求データを発見すると言う視点から)総キャッシュメモ
リ容量の大き過ぎる部分が先取りデータを格納するため
に割り当てられることがあり、特に、個々の主メモリの
要求データへのアクセスとの関連で多量のデータが先取
りされる場合にはこれが顕著になる。
【0005】『ディスクキャッシュ動作における先取り
データの量の自動的調節(Automatic Adjustment of th
e Quantity of Prefetch Data in a Disk Cache Operat
ion)』と言う名称の合衆国特許第4,489,378号
は、個々のディスクキャッシュ動作においる先取りデー
タブロックの数を決定するための動的機構について開示
する。『逐次的にアクセスされたブロックに対する第2
のディレクトリを持つキャッシュのための先取りシステ
ム(Prefetching System for a Cache Havinga Second
Directory for Sequentially Accessed Blocks )』と
言う名称の合衆国特許第4,807,110号は2レベ
ルキャッシュディレクトリを使用して先取りのためのデ
ータブロックを選択するための方法について開示する。
これら特許の両方ともキャッシュ動作における先取りに
ついて考えるが、但し、交換のために従来の最も先に使
用された(LRU)と言う原理に基づく案を使用する。
【0006】
【発明が解決しようとする課題】本発明の一つの目的
は、要求データ及び先取りデータに対して割り当てられ
る記憶領域のサイズをこうして割り当てられた領域が動
作の際に領域‐性能(つまり、キャッシュヒット密度)
に基づいてバランスされるように自動的に調節するキャ
ッシュ管理データシステムを提供することにある。この
システムは、使用される先取りアルゴリズムとは無関係
に動作し、設計が単純で簡明である。
【0007】要約すると、本発明は、データキャッシュ
メモリが論理的に要求及び先取りの二つの分離したセク
ションに論理的に分割される最も前に使用されたと言う
概念に基づくキャッシュ交換システムを考える。このキ
ャッシュを維持するためにキャッシュディレクトリテー
ブル及び最も前に使用されたページに対するテーブルが
使用される。新たな要求データページがキャッシュに加
えられると、最も最近使用された(most recently use
d、MRU)ページに対するポインタが更新され、この
新たなページを指す。先取りページがキャッシュに加え
られると、要求セクションの最も前に使用されたページ
に対するポインタがこの新たなページを指す逆ポインタ
にて更新される。要求あるいは先取りセクション内のペ
ージに対するキャッシュヒットはそのページを最も前に
使用されたページのテーブルの先頭に移動させる。キャ
ッシュ内でフリーのページが必要となった場合、これは
メモリの要求あるいは先取りセクションから要求ヒット
密度と先取りヒット密度の比較に基づいてこれら二つの
ヒット密度のバランスが維持されるような方法にて選択
される。要求ヒット密度は最も前に使用されたページに
対するテーブルの要求セクション内の項目の数に対する
要求ヒット密度の比である。同様に、先取りヒット密度
は、最も前に使用されたページに対するテーブルの先取
りセクション内の項目の数に対する先取り確率の比であ
る。 本発明の前述の及びその他の目的、特徴並びに長
所は、本発明の一つの好ましい実施例の以下の詳細な説
明を図面を参照しながら読むことによって一層理解でき
るものである。
【0008】
【実施例】図1において、キャッシュディレクトリテー
ブルは先行技術によるキャッシュ管理システム内のディ
レトクリテーブルに一般的な項目を含む。これは、ある
キャッシュ内のセルがフリーであるか使用されているか
を示す単一ビット項目10、ホームインジケータ12及
びファイルブロックアドレス14を含む。順ポインタ1
6及び逆ポインタ18は次のリスト項目に対するアドレ
スを提供する。キャッシュアドレス20並びに22の所
に示されるような他の情報も提供される。第一のフリー
ページポインタ26は次にそれに書き込まれるべきキャ
ッシュ内のフリーのページあるいはセルのキャッシュア
ドレスを提供し、フリーページカウンタ24はキャッシ
ュ内のフリーページのラニングトータルを保つ。
【0009】図2は最も前に使用された(Least Recent
ly Used 、LRU)ページに対するテーブルの編成を示
す。順ポインタ16、逆ポインタ18並びにディレクト
リテーブルポインタ28はプッシュダウンスタック内に
保持され、これらは論理的に要求セクション30と先取
りセクション32に分離される。テーブル中、キャッシ
ュ内の最も最近使用されたページに対するこれらポイン
タ16、18及び28はテーブルの最も上に入れられ、
最も最近使用されたページに対するポインタ34によっ
て示される。主メモリから新たに移された要求ページに
対するこれらポインタは最も最近使用されたものとして
テーブルの最も上に入れられる。新しく先取りされたペ
ージに対するこれらポインタはテーブルの先取りセクシ
ョンの最も上に入れられる。最も前に使用されたページ
に対するポインタ36はテーブルの要求セクション内の
最後の項目を指し、もう一つの最も前に使用されたペー
ジに対するポインタ38はテーブルの先取りセクション
内の最後の項目を指す。本発明の教示に従えば、要求セ
クション30のサイズ及び先取りセクション32のサイ
ズは先取りセクションのヒット密度に対する要求セクシ
ョンのヒット密度の比に依存して変化することが理解で
きる。
【0010】キャッシュの要求及び先取りセクションの
両方に対するヒット密度を計算するためには、キャッシ
ュヒストリウインドウが計算プロセスにおけるヒストリ
データのサイズを制限するために定義される。例えば、
これは32個の入力/出力要求サイズに制限される。以
下のチャート1はここで使用されるキャッシュパラメー
タを定義し、チャート2はヒットヒストリ計算の項を定
義する。 チャート1:キャッシングパラメータの定義 ・キャッシュヒストリウインドウ、CHW(i) 全体としてのキャシングヒストリはCHWに分割され、
個々のウインドウは同数(例えば、32個)のファイル
I/O要求を持つ。 ・個々のCHW(i)内において、 Nd =要求ページの総数 Np (i)=先取りページの総数 Ndh(i)=要求ヒットの総数 Nph(i)=先取りヒットの総数 ・ヒストリワーキングセット キャッシングヒストリ計算のために選択されたウインド
ウの最も最近のセット(例えば、4あるいは5個) ・Nd =現ファイルI/O内の要求ページの数 ・Np =現I/O内の先取りページの数 ・Ld =最も前に使用された(LRU)ページに対する
テーブルの要求セクション内の項目の数 ・Lp =LRUテーブルの先取りセクション内の項目の
数 ・Ndt、Npt、Ndht 、Npht =累積パラメータカウン
ト ・CWC=完全なウインドのウカウント ・Iカウント=現ウインドウ内のファイルI/Oカウン
ト チャート2:キャッシングヒストリ密度計算 ヒストリワーキングセット={CHW(i)、CHW
(i+1)、CHW(i+2)、CHW(i+3)、C
HW(i+4)}について考えると、
【0011】
【数1】
【0012】
【数2】 ・要求ヒット密度(DHD)=要求ヒット確率/Ld ・先取りヒット密度(PHD)=先取りヒット確率/L
p 図3に示されるように、全体としてのキャッシュ管理動
作は、ブロック40から開始されるが、ここでは、個々
の入力/出力要求がこれがキャッシュバイパス指令を持
つか否か調べられる。そのキャッシュがバイパスされな
いときは、判定ブロック42において、キャッシュ要求
のタイプ、つまり、読出し要求であるか書込み要求であ
るかが決定される。ここで、全てのキャッシュへの書込
み要求は要求読出しリクエストであると扱われることに
注意する。キャッシュからI/O要求が読出された場
合、ブロック44において、これが先取り読出しである
か否かの決定が行なわれる。そうでない場合、あるいは
このI/Oが書込みコマンド(ブロック42)である場
合は、このI/Oファイル内の先取りページ(NP )の
数はゼロ(0)であり、動作は、書込み要求であるとき
はキャッシュ管理ブロック48に進み、要求の読出しの
場合は、先取り動作(ブロック50)へと進む。先取り
の読出しの場合は、先取りアルゴリズムがブロック52
において読出し要求内の先取りページの数を決定し、こ
れらページがブロック50において先取りされる。残り
の動作は以下の通りである。つまり、図4及び5との関
連で後に説明されるキャッシュ管理ブロック48、図6
との関連で後に説明されるヒット密度計算ブロック5
6、及び図7との関連で後に説明されるウインドウカウ
ント更新ブロック58がある。
【0013】図4に示されるように、キャッシュの管理
において、先取りされた個々のページに対して(図3、
ブロック50)、キャッシュディレクトリテーブル内に
おいてそのページがキャッシュ内に存在するか否かを決
定するための探索が行なわれる(ブロック60)。その
ページがキャッシュに存在しないときは、後に図5との
関連でより詳細に説明されるようにそのページが加えら
れる。その要求ページがキャッシュ内に存在するときは
(ブロック62)、ブロック64においてそれが要求さ
れたI/Oページであるか否かの決定が行なわれる。要
求されたページ以外のページが先取りされた場合は、こ
の図4に示される動作の残りのステップからの退出が起
こる。キャッシュのページが要求されたページであると
きは、ブロック66において、要求されたページが要求
セクション30内にあるか、あるいは先取りセクション
32内にあるかの決定が行なわれる。ウインドウセット
(Ndhi)に対する要求ヒットの総数あるいはウインド
ウセット(Nphi)に対する先取りヒットの総数がこれ
に従って更新され(それぞれブロック65及び67)、
最も最近使用されたページに対するポインタがこの要求
されたページを指すように更新される(ブロック6
8)。
【0014】図5に示されるように、キャッシュに新た
なページを加える場合、ブロック69において、キャッ
シュ内に加えられるページを受け入れるためのフリーの
ページあるいはセルが存在するか否かを決定するための
初期チェックが行なわれる。使用できるフリーページが
存在するときは、ブロック70において、加えられるべ
きページのタイプ、つまり、要求ページであるか先取り
ページであるかの決定が行なわれる。要求であるとき
は、ページがブロック72においてキャッシュの要求セ
クションの最も上の所に挿入され、要求セクションの最
も最近使用されたページに対するポインタがこのページ
を指すように更新され、ブロック74において要求セク
ションの項目カウントが更新される。同様に、先取りペ
ージが加えられる場合は、ブロック76においてキャッ
シュの先取りセクションの最も上の所に置かれ、先取り
セクションの項目カウントが更新される。
【0015】ブロック69において、キャッシュ内にフ
リーの使用できるページが存在しないと決定された場合
は、一つのページが最初にキャッシュの要求あるいは先
取りセクションから削除される。ブロック78におい
て、要求ヒット密度(demandhit density 、DHD)が
先取りヒット密度(prefetch hit density、PHD)以
上であるか否か(DHD≧PHDであるか否か)の決定
が行なわれ、DHDがPHDより小さい場合(DHD<
PHDの場合)、RDに1に等しい値が割り当てられ
る。要求ヒット密度が先取りヒット密度以上である場合
は、キャッシュの先取りセクション内の最も前に使用さ
れたページがブロック80において削除され、先取りセ
クションカウンタ内の項目の数が1だけ減分される。同
様に、要求ヒット密度が先取りヒット密度よりも小さい
ときは、キャッシュの要求セクション内の最も前に使用
されたページがブロック82において削除され、要求セ
クションの項目カウンタ内の項目の数が1だけ減分され
る。
【0016】図6に示されるように、要求及び先取りヒ
ット密度の計算において、この例は5つの最も最近のウ
インドウのワーキングヒストリセット、つまり、N
d (5)及びNp (5)を想定する。動作はブロック8
1から開始されるが、ここで、ワーキングヒストリセッ
トに対する要求ページの総数Nd (5)及び先取りペー
ジの総数Np (5)が現I/O要求のNp のページの数
d にて更新される。要求セクションLd 内のページの
数がゼロ(0)の場合は、ブロック84においてRDが
ゼロにセットされる。同様に、先取りセクション内のペ
ージの数がゼロ(0)の場合は、RDがブロック86に
おいて1にセットされる。キャッシュ内に要求及び先取
りページが存在するときは、ブロック86において、要
求ヒット率及び先取りヒット率が計算される。
【0017】要求ヒット率(DHD)は要求ヒット確率
のキャッシュの要求セクション内の項目の数に対する比
である。要求ヒット確率はワーキングセットヒストリに
対する要求ヒットの総数のこのヒストリに対する要求ペ
ージ要求の数に対する比である。つまり、 (DHD)=要求ヒット確率/Ld 先取りヒット密度(PHD)は先取りヒット確率のキャ
ッシュの先取りセクション内の項目の数に対する比であ
る。先取りヒット確率はワーキングヒットヒストリに対
する先取りヒットの総数のこのヒストリに対する先取り
ページ要求の数に対する比である。つまり、 (PDH)=先取りヒット確率/Lp ブロック90において、要求ヒット密度DHDと先取り
ヒット密度の比較が行なわれ;DHDがPHDに等しい
かこれよりも大きなときは、RDにゼロ(0)の値が割
り当てられる。DHDがPHDよりも小さいときは、R
Dに1の値が割り当てられる。
【0018】図7には、ウインドウ更新動作が示され
る。この例は、ウインドウ当り32I/O要求、及びロ
ーリングヒストリセット当り5個のウインドを想定す
る。
【0019】動作は、ブロック92において入力要求”
I”に応答して個々の要求に応答して要求カウント”
I”を1だけ増分することから開始する。このカウント
がブロック94においてウインドウ当りの要求数(例え
ば、この例では32)に対してテストされる。32のカ
ウントは一つの完全なウインドウを示し、このカウント
に達すると、ブロック96において完結ウインドウカウ
ントが1だけ増分される。ブロック100において、こ
の完結ウインドウカウントが割り当てられたワーキング
セットヒストリ数に対してテストされる。残りの論理
は、セットのウインドウから構成されるローリングヒス
トリに対してヒット密度データパラメータをこのセット
内の最も古い完結ウインドウに対するデータ(ここでは
5個)を削除し、一つのウインドウが完結する度に最後
のウインドウデータを加えることによって最新に保つ働
きをする。ブロック101において、要求ページのカウ
ント(Nd )、先取りページのカウント(Np )、要求
ヒット(Ndh)及び先取りヒット(Nph)が個々のウイ
ンドウに対して決定される。一つのウインドウが完結す
ると(つまり、ブロック100においてCWC=5)、
このセット内の最も古いケースヒストリウインドウが、
結果として、ブロック106において、値KをK+1に
増分することによって削除される。ブロック105によ
って完結ウインドウカウントが1だけ減分される。要求
及び先取りページ要求に対する累積パラメータカウント
並びに要求及び先取りヒットがブロック102において
このウインドウの更新されたセットに対して決定され
る。ブロック104において、完結ウインドウカウント
(ブロック101)のヒット密度データパラメータがゼ
ロにリセットされる。
【0020】こうして、本発明の様々な目的が達成され
たことが分かる。本発明は、割り当てられたキャッシュ
の記憶領域のサイズを動作の際に面積性能(つまり、キ
ャッシュヒット密度)基づいて要求及び先取りデータに
対して自動的に調節するキャッシュ管理データシステム
を提供するが;このシステムは使用される先取りアルゴ
リズムとは独立して動作する。またこのシステムは設計
が単純で簡明である。
【0021】本発明が一つの好ましい実施例との関連で
説明されたが、当業者においては、本発明が本発明の請
求項の精神及び範囲内で修正して実現できることも認識
できるものである。
【図面の簡単な説明】
【図1】本発明の教示に従うキャッシュ管理システムに
おける典型的な表項目の例を説明するキャッシュディレ
クトリ表を表わす図である。
【図2】本発明の教示に従うキャッシュ管理システムに
対する典型的な表編成を説明するリーストリセントリユ
ーズド(LRU)表を示す図である。
【図3】ヒット密度に基づくキャッシュ交換動作の全体
としての設計のフローチャートである。
【図4】キャッシュ管理動作を示すフローチャートであ
る。
【図5】新たなページの追加動作を示すフローチャート
である。
【図6】ヒット密度計算のフローチャートである。
【図7】ウインドウ計算のフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームズ、フランクリン、メイコン、ジ ュニア アメリカ合衆国フロリダ州、ボイントン、 ビーチ、ドリット、アベニュ、3576 (72)発明者 シャウチ、オング アメリカ合衆国ニューヨーク州、プレザン トビル、ヘリテージ、ドライブ、23

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】要求データ及び先取りデータが格納されて
    いるデータキャッシュメモリ内のデータを交換するため
    の方法において、この方法が:前記キャッシュメモリを
    先取りセクションと要求セクションに分割するステッ
    プ;前記要求セクション内に要求データを格納するステ
    ップ;前記先取りセクション内に先取りデータを格納す
    るステップ;前記先取りセクションに対する先取り確率
    を先取り要求の数に対する前記先取りセクション内のヒ
    ットの数の比に基づいて決定するステップ;前記要求セ
    クションに対する要求ヒット確率を要求リクエストの数
    に対する前記要求セクション内のヒットの数の比に基づ
    いて決定するステップ;前記先取りセクションに対する
    先取りヒット密度を前記先取りセクション内のデータ項
    目の数に対する先取りヒット確率の比に基づいて決定す
    るステップ;前記要求セクションに対する要求ヒット密
    度を前記要求セクション内のデータ項目の数に対する先
    取りヒット密度の比に基づいて決定するステップ;前記
    要求セクションに対する要求ヒット密度を前記要求セク
    ション内のデータ項目の数に対する要求ヒット密度の比
    に基づいて決定するステップ;及び前記要求セクション
    内の項目あるいは前記先取りセクション内の項目を先取
    りヒット密度と要求ヒット密度の比較に基づいて交換す
    るステップを含むことを特徴とする方法。
  2. 【請求項2】前記先取りヒット密度と前記要求ヒット密
    度が事前に決定された数の入力/出力要求に基づいて決
    定されることを特徴とする請求項1のデータキャッシュ
    メモリ内のデータを交換するための方法。
  3. 【請求項3】前記先取りセクションからの項目が前記要
    求ヒット密度が先取り密度よりも大きな場合に交換され
    ることを特徴とする請求項1のデータキャッシュメモリ
    ー内のデータを交換するための方法。
  4. 【請求項4】前記先取りセクションからの項目が前記要
    求ヒット密度が先取り密度に等しい場合に交換されるこ
    とを特徴とする請求項1のデータキャッシュメモリ内の
    データを交換するための方法。
  5. 【請求項5】前記先取りセクションからの項目が前記要
    求ヒット密度が先取り密度に等しい場合に交換されるこ
    とを特徴とする請求項1のデータキャッシュメモリ内の
    データを交換するための方法。
  6. 【請求項6】要求セクション内の最も前に使用されたデ
    ータを決定するステップ、先取りセクション内の最も前
    に使用されたデータを決定するステップ、及び前記要求
    セクションあるいは前記先取りセクション内の最も前に
    使用されたデータを交換するステップがさらに含まれる
    ことを特徴とする請求項1のデータキャッシュメモリ内
    のデータを交換するための方法。
  7. 【請求項7】要求データ及び先取りデータが格納される
    データキャッシュメモリ内のデータを交換するための方
    法において、この方法が組合わせにて;キャッシュメモ
    リを先取りセクション及び要求セクションに分割するス
    テップ;前記要求セクション内に要求データを格納する
    ステップ;前記先取りセクション内にデータを格納する
    ステップ;及び前記先取りデータセクションの項目の数
    に対する前記要求データセクションの項目の数を前記要
    求セクションあるいは前記先取りセクション内のデータ
    を前記要求セクション内のデータ要求ヒットの数、前記
    先取りセクション内のデータ要求ヒットの数及び前記先
    取りセクション内の項目の数の関数として交換すること
    によって調節するステップを含むことを特徴とする方
    法。
  8. 【請求項8】要求データ及び先取りデータが格納される
    データキャッシュメモリ内のデータを交換するための方
    法において、この方法が組合わせにて;前記キャッシュ
    メモリを先取りセクション及び要求セクションに分割す
    るステップ;前記要求セクション内に要求データを格納
    するステップ;前記先取りセクション内に先取りデータ
    を格納するステップ;及び前記先取りデータセクション
    の項目に対する前記要求データセクションの項目の数を
    前記要求セクションあるいは前記先取りセクション内の
    データを前記要求セクション内のデータ要求ヒットの数
    及び前記先取りセクション内のデータ要求ヒットの数の
    関数として交換することによって調節するステップを含
    むことを特徴とする方法。
  9. 【請求項9】前記要求セクション内の最も前に使用され
    たデータを決定するステップ、前記先取りセクション内
    の最も前に使用されたデータを決定するステップ、及び
    前記要求セクションあるいは前記先取りセクション内の
    最も前に使用されたデータを交換するステップがさらに
    含まれることを特徴とする請求項8のデータキャッシュ
    メモリ内のデータを交換するための方法。
JP4045437A 1991-04-19 1992-03-03 データキャッシュメモリ内のデータを置換する方法 Expired - Lifetime JP2558033B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US688732 1991-04-19
US07/688,732 US5293609A (en) 1991-04-19 1991-04-19 Hit-density-based replacement for data cache with prefetching

Publications (2)

Publication Number Publication Date
JPH0628257A true JPH0628257A (ja) 1994-02-04
JP2558033B2 JP2558033B2 (ja) 1996-11-27

Family

ID=24765540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4045437A Expired - Lifetime JP2558033B2 (ja) 1991-04-19 1992-03-03 データキャッシュメモリ内のデータを置換する方法

Country Status (3)

Country Link
US (1) US5293609A (ja)
EP (1) EP0509231A1 (ja)
JP (1) JP2558033B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019516188A (ja) * 2016-04-27 2019-06-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated キャッシュテスト領域に基づくプリフェッチのためのキャッシュエージングポリシーの選択

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180669A (ja) * 1992-12-14 1994-06-28 Nec Niigata Ltd キャッシュシステム
FR2699703B1 (fr) * 1992-12-22 1995-01-13 Bull Sa Procédé de gestion d'une mémoire tampon, support d'enregistrement et système informatique l'incorporant.
JP2784440B2 (ja) * 1993-04-14 1998-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション データ・ページの転送制御方法
GB2286267A (en) * 1994-02-03 1995-08-09 Ibm Energy-saving cache control system
JP3586887B2 (ja) * 1994-06-10 2004-11-10 松下電器産業株式会社 情報記録再生装置およびデータキャッシュ方法
US5604889A (en) * 1994-06-15 1997-02-18 Texas Instruments Incorporated Memory management system for checkpointed logic simulator with increased locality of data
GB2292822A (en) * 1994-08-31 1996-03-06 Hewlett Packard Co Partitioned cache memory
JPH08314794A (ja) * 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US5701426A (en) * 1995-03-31 1997-12-23 Bull Information Systems Inc. Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio
US5696932A (en) * 1995-05-16 1997-12-09 International Business Machines Corporation Method and system for estimating minumun requirements on a cache in a computer based storage system
US5761464A (en) * 1995-05-22 1998-06-02 Emc Corporation Prefetching variable length data
US5787472A (en) * 1995-07-31 1998-07-28 Ibm Corporation Disk caching system for selectively providing interval caching or segment caching of vided data
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US6065100A (en) * 1996-11-12 2000-05-16 Micro-Design International Caching apparatus and method for enhancing retrieval of data from an optical storage device
US5781922A (en) * 1996-11-19 1998-07-14 International Business Machines Corporation Page boundary caches
DE69724099T2 (de) * 1997-05-22 2004-06-17 Bull S.A. Speicherstruktur nach Art eines Pufferspeichers
US6138213A (en) 1997-06-27 2000-10-24 Advanced Micro Devices, Inc. Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US6266742B1 (en) * 1997-10-27 2001-07-24 International Business Machines Corporation Algorithm for cache replacement
US6134643A (en) * 1997-11-26 2000-10-17 Intel Corporation Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history
WO1999034356A2 (en) * 1997-12-30 1999-07-08 Genesis One Technologies, Inc. Disk cache enhancer with dynamically sized read request based upon current cache hit rate
US6542966B1 (en) * 1998-07-16 2003-04-01 Intel Corporation Method and apparatus for managing temporal and non-temporal data in a single cache structure
US6327644B1 (en) * 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in cache
US6338115B1 (en) 1999-02-16 2002-01-08 International Business Machines Corporation Advanced read cache management
GB2348024B (en) * 1999-03-16 2003-06-25 Ibm Cache memory systems
US6314494B1 (en) * 1999-04-15 2001-11-06 Agilent Technologies, Inc. Dynamically size configurable data buffer for data cache and prefetch cache memory
US6260115B1 (en) * 1999-05-13 2001-07-10 Storage Technology Corporation Sequential detection and prestaging methods for a disk storage subsystem
US6754779B1 (en) * 1999-08-23 2004-06-22 Advanced Micro Devices SDRAM read prefetch from multiple master devices
US6341331B1 (en) * 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
WO2001050275A1 (en) * 2000-01-05 2001-07-12 Sun Microsystems, Inc. A method for employing a page prefetch cache for database applications
US6848028B1 (en) * 2000-01-05 2005-01-25 Sun Microsystems, Inc. Microprocessor having a page prefetch cache for database applications
US6829680B1 (en) * 2000-01-05 2004-12-07 Sun Microsystems, Inc. Method for employing a page prefetch cache for database applications
US6671766B1 (en) 2000-01-07 2003-12-30 Storage Technology Corporation Method and system for implementing memory efficient track aging
US6574713B1 (en) * 2000-10-10 2003-06-03 Sun Microsystems, Inc. Heuristic for identifying loads guaranteed to hit in processor cache
US7039766B1 (en) * 2000-10-12 2006-05-02 International Business Machines Corporation Prescheduling sequential data prefetches in a preexisting LRU cache
US6721850B2 (en) 2001-02-27 2004-04-13 Lucent Technologies Inc. Method of cache replacement for streaming media
US6662272B2 (en) * 2001-09-29 2003-12-09 Hewlett-Packard Development Company, L.P. Dynamic cache partitioning
US6848026B2 (en) 2001-11-09 2005-01-25 International Business Machines Corporation Caching memory contents into cache partitions based on memory locations
US6829679B2 (en) * 2001-11-09 2004-12-07 International Business Machines Corporation Different caching treatment of memory contents based on memory region
US7359890B1 (en) * 2002-05-08 2008-04-15 Oracle International Corporation System load based adaptive prefetch
US7107400B2 (en) * 2003-03-31 2006-09-12 International Business Machines Corporation System, apparatus, and process for evaluating projected cache sizes
US7213107B2 (en) * 2003-12-31 2007-05-01 Intel Corporation Dedicated cache memory
US7529891B2 (en) * 2005-09-19 2009-05-05 Microsoft Corporation Balanced prefetching exploiting structured data
US8356151B2 (en) * 2008-02-01 2013-01-15 International Business Machines Corporation Reporting of partially performed memory move
US8327101B2 (en) * 2008-02-01 2012-12-04 International Business Machines Corporation Cache management during asynchronous memory move operations
US8275963B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Asynchronous memory move across physical nodes with dual-sided communication
US8245004B2 (en) * 2008-02-01 2012-08-14 International Business Machines Corporation Mechanisms for communicating with an asynchronous memory mover to perform AMM operations
JP5730126B2 (ja) * 2011-05-18 2015-06-03 キヤノン株式会社 データ供給装置、キャッシュ装置、データ供給方法、キャッシュ方法およびプログラム
US20130205089A1 (en) * 2012-02-08 2013-08-08 Mediatek Singapore Pte. Ltd. Cache Device and Methods Thereof
US9274955B2 (en) * 2012-08-17 2016-03-01 Futurewei Technologies, Inc. Reduced scalable cache directory
US9208094B2 (en) * 2013-08-06 2015-12-08 GlobalFoudries, Inc. Managing and sharing storage cache resources in a cluster environment
US9569364B1 (en) 2016-02-08 2017-02-14 International Business Machines Corporation Multiple history based micro partition prefetch optimization
CN107305531B (zh) * 2016-04-20 2020-10-16 阿里巴巴(中国)有限公司 缓存容量限值确定方法和装置以及计算设备
US9928176B2 (en) * 2016-07-20 2018-03-27 Advanced Micro Devices, Inc. Selecting cache transfer policy for prefetched data based on cache test regions

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
EP0391871A3 (en) * 1989-04-03 1992-05-27 International Business Machines Corporation Method for managing a prioritized cache
US5146578A (en) * 1989-05-01 1992-09-08 Zenith Data Systems Corporation Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019516188A (ja) * 2016-04-27 2019-06-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated キャッシュテスト領域に基づくプリフェッチのためのキャッシュエージングポリシーの選択
US11321245B2 (en) 2016-04-27 2022-05-03 Advanced Micro Devices, Inc. Selecting cache aging policy for prefetches based on cache test regions

Also Published As

Publication number Publication date
JP2558033B2 (ja) 1996-11-27
US5293609A (en) 1994-03-08
EP0509231A1 (en) 1992-10-21

Similar Documents

Publication Publication Date Title
JP2558033B2 (ja) データキャッシュメモリ内のデータを置換する方法
US9710397B2 (en) Data migration for composite non-volatile storage device
US5577224A (en) Method and system for caching data
US5606688A (en) Method and apparatus for dynamic cache memory allocation via single-reference residency times
US6598125B2 (en) Method for caching information between work sessions
US5778430A (en) Method and apparatus for computer disk cache management
US5390315A (en) Allocation of uniform contiguous blocks of DASD storage by maintaining both a bit and a bit map record of available storage
EP1199638A2 (en) System and Method for dynamically controlling cache management
US20130173853A1 (en) Memory-efficient caching methods and systems
JPH0571976B2 (ja)
JPH0877073A (ja) 集合光ディスク装置
US6098153A (en) Method and a system for determining an appropriate amount of data to cache
US6842826B1 (en) Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache
JP2003330792A (ja) ディスクシステムとそのキャッシュ制御方法
KR20180135390A (ko) 대용량 ssd 장치를 위한 데이터 저널링 방법
JP4317531B2 (ja) 複数のメモリ・バッファ・サイズを均衡させるためのシステムおよび方法
US7769953B2 (en) Variable cache data retention system
JPH05233450A (ja) キャッシュモード選択方法
US5584015A (en) Buffer memory management method, recording medium, and computer system incorporating same
JPH08137754A (ja) ディスクキャッシュ装置
CN113296686B (zh) 数据处理方法、装置、设备及存储介质
JPH08263380A (ja) ディスクキャッシュ制御方式
CN111859038A (zh) 一种分布式存储系统数据热度统计方法、装置
JPS60214060A (ja) 外部記憶キヤツシユ制御方式
JP3020512B2 (ja) フアイルデータ管理方法