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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/126—Replacement 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の場合)、Npを0として4
8へ進む。先取りの読出しの場合、ブロック52におい
て読出し要求内の先取りページの数を決定し、これらペ
ージがブロック50で先取りされる。Nd(要求ページ
の総数)+Np(現I/O内の先取りページ数)
られる記憶領域のサイズを割り当てられた領域が、面積
−性能に基づいてバランスされるように自動的に調節す
るキャッシュ管理データシステムを提供する。 【構成】個々の入力/出力要求がキャッシュバイパス指
令を持つかを調べられる(ブロック40)。キャッシュ
がバイパスされないきは、判定ブロック42で読出か書
込み要求かが決定される。ブロック44で先取り要求か
否かの決定がされる。I/Oが書き込みコマンドである
場合(ブロック42でNOの場合)、Npを0として4
8へ進む。先取りの読出しの場合、ブロック52におい
て読出し要求内の先取りページの数を決定し、これらペ
ージがブロック50で先取りされる。Nd(要求ページ
の総数)+Np(現I/O内の先取りページ数)
Description
【0001】
【産業上の利用分野】本発明は、一般的には、要求デー
タ及び先取りデータの両方が格納できるキャッシュメモ
リの動作を管理するための改良された方法、より具体的
には、メモリ内のスペースを要求データと先取りデータ
との間で使用の頻度に基づいて割り当てるための改良さ
れた方法に関する。
タ及び先取りデータの両方が格納できるキャッシュメモ
リの動作を管理するための改良された方法、より具体的
には、メモリ内のスペースを要求データと先取りデータ
との間で使用の頻度に基づいて割り当てるための改良さ
れた方法に関する。
【0002】
【従来の技術】多くのデータ処理システムにおいては、
通常”キャッシュ”と呼ばれる高速メモリが中央処理ユ
ニットの作業メモリと主メモリとの間に提供される。こ
のキャッシュは前に主メモリからキャッシュに移された
データのサブセットへの比較的高速度のアクセスを可能
にし、こうして、データ処理システムの全体としての速
度を向上させる。通常、主メモリからキャッシュへのデ
ータの転送はデータのページあるいはブロックにて行な
われ、要求データページ及び先取りデータページの両方
を含む。要求データは中央処理ユニットからの特定の要
求の結果としてキャッシュに転送されたデータである。
要求データをキャッシュに転送するとき、追加のデータ
が直に要求される可能性がある場合、同時にこの追加の
要求されないデータ(つまり、先取りデータ)も転送す
ることが有利である。
通常”キャッシュ”と呼ばれる高速メモリが中央処理ユ
ニットの作業メモリと主メモリとの間に提供される。こ
のキャッシュは前に主メモリからキャッシュに移された
データのサブセットへの比較的高速度のアクセスを可能
にし、こうして、データ処理システムの全体としての速
度を向上させる。通常、主メモリからキャッシュへのデ
ータの転送はデータのページあるいはブロックにて行な
われ、要求データページ及び先取りデータページの両方
を含む。要求データは中央処理ユニットからの特定の要
求の結果としてキャッシュに転送されたデータである。
要求データをキャッシュに転送するとき、追加のデータ
が直に要求される可能性がある場合、同時にこの追加の
要求されないデータ(つまり、先取りデータ)も転送す
ることが有利である。
【0003】キャッシュが満たされている場合、新たな
データを書込む場合そのキャッシュからデータを除去す
ることが必要である。通常、データキャッシュ管理シス
テムは、キャッシュから除去されるべきデータを選択す
るための基準としてデータの使用頻度を使用する。最も
前に使用された(least recently used 、LRU)と言
う考えは、これが簡単で効率的であるために交換のため
の通常の基準とされる。
データを書込む場合そのキャッシュからデータを除去す
ることが必要である。通常、データキャッシュ管理シス
テムは、キャッシュから除去されるべきデータを選択す
るための基準としてデータの使用頻度を使用する。最も
前に使用された(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)と言う原理に基づく案を使用する。
データの量の自動的調節(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)ページに対するポインタが更新され、この
新たなページを指す。先取りページがキャッシュに加え
られると、要求セクションの最も前に使用されたページ
に対するポインタがこの新たなページを指す逆ポインタ
にて更新される。要求あるいは先取りセクション内のペ
ージに対するキャッシュヒットはそのページを最も前に
使用されたページのテーブルの先頭に移動させる。キャ
ッシュ内でフリーのページが必要となった場合、これは
メモリの要求あるいは先取りセクションから要求ヒット
密度と先取りヒット密度の比較に基づいてこれら二つの
ヒット密度のバランスが維持されるような方法にて選択
される。要求ヒット密度は最も前に使用されたページに
対するテーブルの要求セクション内の項目の数に対する
要求ヒット密度の比である。同様に、先取りヒット密度
は、最も前に使用されたページに対するテーブルの先取
りセクション内の項目の数に対する先取り確率の比であ
る。 本発明の前述の及びその他の目的、特徴並びに長
所は、本発明の一つの好ましい実施例の以下の詳細な説
明を図面を参照しながら読むことによって一層理解でき
るものである。
メモリが論理的に要求及び先取りの二つの分離したセク
ションに論理的に分割される最も前に使用されたと言う
概念に基づくキャッシュ交換システムを考える。このキ
ャッシュを維持するためにキャッシュディレクトリテー
ブル及び最も前に使用されたページに対するテーブルが
使用される。新たな要求データページがキャッシュに加
えられると、最も最近使用された(most recently use
d、MRU)ページに対するポインタが更新され、この
新たなページを指す。先取りページがキャッシュに加え
られると、要求セクションの最も前に使用されたページ
に対するポインタがこの新たなページを指す逆ポインタ
にて更新される。要求あるいは先取りセクション内のペ
ージに対するキャッシュヒットはそのページを最も前に
使用されたページのテーブルの先頭に移動させる。キャ
ッシュ内でフリーのページが必要となった場合、これは
メモリの要求あるいは先取りセクションから要求ヒット
密度と先取りヒット密度の比較に基づいてこれら二つの
ヒット密度のバランスが維持されるような方法にて選択
される。要求ヒット密度は最も前に使用されたページに
対するテーブルの要求セクション内の項目の数に対する
要求ヒット密度の比である。同様に、先取りヒット密度
は、最も前に使用されたページに対するテーブルの先取
りセクション内の項目の数に対する先取り確率の比であ
る。 本発明の前述の及びその他の目的、特徴並びに長
所は、本発明の一つの好ましい実施例の以下の詳細な説
明を図面を参照しながら読むことによって一層理解でき
るものである。
【0008】
【実施例】図1において、キャッシュディレクトリテー
ブルは先行技術によるキャッシュ管理システム内のディ
レトクリテーブルに一般的な項目を含む。これは、ある
キャッシュ内のセルがフリーであるか使用されているか
を示す単一ビット項目10、ホームインジケータ12及
びファイルブロックアドレス14を含む。順ポインタ1
6及び逆ポインタ18は次のリスト項目に対するアドレ
スを提供する。キャッシュアドレス20並びに22の所
に示されるような他の情報も提供される。第一のフリー
ページポインタ26は次にそれに書き込まれるべきキャ
ッシュ内のフリーのページあるいはセルのキャッシュア
ドレスを提供し、フリーページカウンタ24はキャッシ
ュ内のフリーページのラニングトータルを保つ。
ブルは先行技術によるキャッシュ管理システム内のディ
レトクリテーブルに一般的な項目を含む。これは、ある
キャッシュ内のセルがフリーであるか使用されているか
を示す単一ビット項目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のサイ
ズは先取りセクションのヒット密度に対する要求セクシ
ョンのヒット密度の比に依存して変化することが理解で
きる。
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)}について考えると、
両方に対するヒット密度を計算するためには、キャッシ
ュヒストリウインドウが計算プロセスにおけるヒストリ
データのサイズを制限するために定義される。例えば、
これは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がある。
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)。
において、先取りされた個々のページに対して(図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においてキャッ
シュの先取りセクションの最も上の所に置かれ、先取り
セクションの項目カウントが更新される。
なページを加える場合、ブロック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だけ減分され
る。
リーの使用できるページが存在しないと決定された場合
は、一つのページが最初にキャッシュの要求あるいは先
取りセクションから削除される。ブロック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 のページの数
Nd にて更新される。要求セクションLd 内のページの
数がゼロ(0)の場合は、ブロック84においてRDが
ゼロにセットされる。同様に、先取りセクション内のペ
ージの数がゼロ(0)の場合は、RDがブロック86に
おいて1にセットされる。キャッシュ内に要求及び先取
りページが存在するときは、ブロック86において、要
求ヒット率及び先取りヒット率が計算される。
ット密度の計算において、この例は5つの最も最近のウ
インドウのワーキングヒストリセット、つまり、N
d (5)及びNp (5)を想定する。動作はブロック8
1から開始されるが、ここで、ワーキングヒストリセッ
トに対する要求ページの総数Nd (5)及び先取りペー
ジの総数Np (5)が現I/O要求のNp のページの数
Nd にて更新される。要求セクション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の値が割り当てられる。
のキャッシュの要求セクション内の項目の数に対する比
である。要求ヒット確率はワーキングセットヒストリに
対する要求ヒットの総数のこのヒストリに対する要求ペ
ージ要求の数に対する比である。つまり、 (DHD)=要求ヒット確率/Ld 先取りヒット密度(PHD)は先取りヒット確率のキャ
ッシュの先取りセクション内の項目の数に対する比であ
る。先取りヒット確率はワーキングヒットヒストリに対
する先取りヒットの総数のこのヒストリに対する先取り
ページ要求の数に対する比である。つまり、 (PDH)=先取りヒット確率/Lp ブロック90において、要求ヒット密度DHDと先取り
ヒット密度の比較が行なわれ;DHDがPHDに等しい
かこれよりも大きなときは、RDにゼロ(0)の値が割
り当てられる。DHDがPHDよりも小さいときは、R
Dに1の値が割り当てられる。
【0018】図7には、ウインドウ更新動作が示され
る。この例は、ウインドウ当り32I/O要求、及びロ
ーリングヒストリセット当り5個のウインドを想定す
る。
る。この例は、ウインドウ当り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)のヒット密度データパラメータがゼ
ロにリセットされる。
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)表を示す図である。
対する典型的な表編成を説明するリーストリセントリユ
ーズド(LRU)表を示す図である。
【図3】ヒット密度に基づくキャッシュ交換動作の全体
としての設計のフローチャートである。
としての設計のフローチャートである。
【図4】キャッシュ管理動作を示すフローチャートであ
る。
る。
【図5】新たなページの追加動作を示すフローチャート
である。
である。
【図6】ヒット密度計算のフローチャートである。
【図7】ウインドウ計算のフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームズ、フランクリン、メイコン、ジ ュニア アメリカ合衆国フロリダ州、ボイントン、 ビーチ、ドリット、アベニュ、3576 (72)発明者 シャウチ、オング アメリカ合衆国ニューヨーク州、プレザン トビル、ヘリテージ、ドライブ、23
Claims (9)
- 【請求項1】要求データ及び先取りデータが格納されて
いるデータキャッシュメモリ内のデータを交換するため
の方法において、この方法が:前記キャッシュメモリを
先取りセクションと要求セクションに分割するステッ
プ;前記要求セクション内に要求データを格納するステ
ップ;前記先取りセクション内に先取りデータを格納す
るステップ;前記先取りセクションに対する先取り確率
を先取り要求の数に対する前記先取りセクション内のヒ
ットの数の比に基づいて決定するステップ;前記要求セ
クションに対する要求ヒット確率を要求リクエストの数
に対する前記要求セクション内のヒットの数の比に基づ
いて決定するステップ;前記先取りセクションに対する
先取りヒット密度を前記先取りセクション内のデータ項
目の数に対する先取りヒット確率の比に基づいて決定す
るステップ;前記要求セクションに対する要求ヒット密
度を前記要求セクション内のデータ項目の数に対する先
取りヒット密度の比に基づいて決定するステップ;前記
要求セクションに対する要求ヒット密度を前記要求セク
ション内のデータ項目の数に対する要求ヒット密度の比
に基づいて決定するステップ;及び前記要求セクション
内の項目あるいは前記先取りセクション内の項目を先取
りヒット密度と要求ヒット密度の比較に基づいて交換す
るステップを含むことを特徴とする方法。 - 【請求項2】前記先取りヒット密度と前記要求ヒット密
度が事前に決定された数の入力/出力要求に基づいて決
定されることを特徴とする請求項1のデータキャッシュ
メモリ内のデータを交換するための方法。 - 【請求項3】前記先取りセクションからの項目が前記要
求ヒット密度が先取り密度よりも大きな場合に交換され
ることを特徴とする請求項1のデータキャッシュメモリ
ー内のデータを交換するための方法。 - 【請求項4】前記先取りセクションからの項目が前記要
求ヒット密度が先取り密度に等しい場合に交換されるこ
とを特徴とする請求項1のデータキャッシュメモリ内の
データを交換するための方法。 - 【請求項5】前記先取りセクションからの項目が前記要
求ヒット密度が先取り密度に等しい場合に交換されるこ
とを特徴とする請求項1のデータキャッシュメモリ内の
データを交換するための方法。 - 【請求項6】要求セクション内の最も前に使用されたデ
ータを決定するステップ、先取りセクション内の最も前
に使用されたデータを決定するステップ、及び前記要求
セクションあるいは前記先取りセクション内の最も前に
使用されたデータを交換するステップがさらに含まれる
ことを特徴とする請求項1のデータキャッシュメモリ内
のデータを交換するための方法。 - 【請求項7】要求データ及び先取りデータが格納される
データキャッシュメモリ内のデータを交換するための方
法において、この方法が組合わせにて;キャッシュメモ
リを先取りセクション及び要求セクションに分割するス
テップ;前記要求セクション内に要求データを格納する
ステップ;前記先取りセクション内にデータを格納する
ステップ;及び前記先取りデータセクションの項目の数
に対する前記要求データセクションの項目の数を前記要
求セクションあるいは前記先取りセクション内のデータ
を前記要求セクション内のデータ要求ヒットの数、前記
先取りセクション内のデータ要求ヒットの数及び前記先
取りセクション内の項目の数の関数として交換すること
によって調節するステップを含むことを特徴とする方
法。 - 【請求項8】要求データ及び先取りデータが格納される
データキャッシュメモリ内のデータを交換するための方
法において、この方法が組合わせにて;前記キャッシュ
メモリを先取りセクション及び要求セクションに分割す
るステップ;前記要求セクション内に要求データを格納
するステップ;前記先取りセクション内に先取りデータ
を格納するステップ;及び前記先取りデータセクション
の項目に対する前記要求データセクションの項目の数を
前記要求セクションあるいは前記先取りセクション内の
データを前記要求セクション内のデータ要求ヒットの数
及び前記先取りセクション内のデータ要求ヒットの数の
関数として交換することによって調節するステップを含
むことを特徴とする方法。 - 【請求項9】前記要求セクション内の最も前に使用され
たデータを決定するステップ、前記先取りセクション内
の最も前に使用されたデータを決定するステップ、及び
前記要求セクションあるいは前記先取りセクション内の
最も前に使用されたデータを交換するステップがさらに
含まれることを特徴とする請求項8のデータキャッシュ
メモリ内のデータを交換するための方法。
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)
| 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)
| 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)
| 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 |
-
1991
- 1991-04-19 US US07/688,732 patent/US5293609A/en not_active Expired - Fee Related
-
1992
- 1992-03-03 JP JP4045437A patent/JP2558033B2/ja not_active Expired - Lifetime
- 1992-03-11 EP EP92104123A patent/EP0509231A1/en not_active Withdrawn
Cited By (2)
| 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) | フアイルデータ管理方法 |