JPS60214060A - 外部記憶キヤツシユ制御方式 - Google Patents

外部記憶キヤツシユ制御方式

Info

Publication number
JPS60214060A
JPS60214060A JP59069556A JP6955684A JPS60214060A JP S60214060 A JPS60214060 A JP S60214060A JP 59069556 A JP59069556 A JP 59069556A JP 6955684 A JP6955684 A JP 6955684A JP S60214060 A JPS60214060 A JP S60214060A
Authority
JP
Japan
Prior art keywords
block data
data
cache memory
cache
value
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
Application number
JP59069556A
Other languages
English (en)
Inventor
Akito Nagatsu
永津 昭人
Tomoshi Matsuda
松田 知志
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP59069556A priority Critical patent/JPS60214060A/ja
Publication of JPS60214060A publication Critical patent/JPS60214060A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は外部記憶キャッシュ制御方式に係り、特にキャ
ッシュメモリ中に記憶されているデータの入れ替え制御
方式に関する。
〔従来技術〕
最近の計算機システムでは、メインプロセッサおよび主
記憶装置と例えば磁気ディスクのような外部記憶装置と
の間に、半導体メモリからなるキャッシュメモリとこれ
を制御するキャッシュ制御部からなるるディスクキャッ
シュ装置を設け、メインプロセッサの入出力要求に対し
、そのアクセスタイムを短縮する方法が用いられている
。即ち、メインプロセッサにより磁気ディスクのデータ
がアクセスされた場合、そのデータをキャッシュメモリ
上にロードしておく。これにより、その後にメインプロ
セッサが同一データに対する読み出し要求を出した時に
、キャッシュメモリから主記憶装置へデータを転送する
ことにより、入出力処理時間の短縮を図ることができる
実際には、キャッシュメモリはブロック(例えは1トラ
ツク)単位に複数に分割され、ブロック数分のデータが
記憶されている。キャッシュ制御部は、これらのブロッ
クの制御情報を記憶するディレクトリと該ディレクトリ
およびキャッシュメモリ等の管理を行うキャッシュプロ
セッサから成る。キャッシュプロセッサはキャッシュメ
モリの効果を高めるため、データの入れ替えを行う。通
常その制御方法としてはL RU (’L east 
Recent:ly Used)が用いられる。この方
法は、使用時点の新しい順にブロックの優先順位を、最
上位から最下位へとつける。これをLRUスタックの深
さと言う。もしメインプロセッサによりキャッシュメモ
リ上に存在しないデータに入出力要求が生じた場合(こ
れをミスと呼ぶ)、キャッシュプロセッサはLRUスタ
ックの深さが最下位のブロック・データを追い出し、ミ
スを生じたデータを含むヤブロック・データをキャッシ
ュメモリにロードし、スタックの最上位に置く。またメ
インプロセッサにより入出力要求されたデータがキャッ
シュメモリ上のあるブロックに存在した場合(これをヒ
ツトと呼ぶ)、そのブロック・データはスタックの最上
位に置く制御が行われている。
以上説明したように、従来の外部記憶キャッシュ制御方
式では、ミスが生じた場合、キャッシュプロセッサはこ
のデータを含むブロック・データをキャッシュメモリに
ロードする一方、使用時点の最も古いブロック・データ
をメモリから追出す制御を行う。しかし、ミスによりキ
ャッシュメモリ上にロードされた全てのブロック・デー
タが必ずしもそれ以後の入出力要求においてヒツトを生
じるとは限らず、ロードされたブロック・データの半数
程度が1度もヒツトせず追い出されることがありうる。
一方、LRUでは追い出し対象とするブロック・データ
は使用時点から現在までの期間の長さだけから決まるた
め、前者のようなブロック・データが新しくロードされ
た場合、他のヒツトの可能性のあるブロック・データを
、前者のブロック・データをあらかじめロードしないよ
うに制御する場合に比べて早く追い出してしまうことに
なり、キャッシュの効率を悪くさせる。そのため、ヒツ
トを生じないと考えられるブロック・データに関しては
、あらかじめキャッシュメモリにロードしない方法が望
ましい。しかし現実には、同じブロック・データにおい
ても、処理内容、ファイルアクセス法等によってヒツト
を多く生じなかったり、1度もヒツトを生じなくなる等
の変化があるので、上記の制御方法を行うのは通常困難
である。
〔発明の目的〕
本発明の目的は、従来のLRU方式における上記の欠点
を解決すべく、追い出し対象とするブロック・データの
決定方法を変更して、ヒツトを生じないと考えられるブ
ロック・データの優先的追出しを行い、鼻ヤツシュメモ
リの効率を高める外部記憶キャッシュ制御方式を提供す
ることにある。
〔発明の概要〕
本発明の概要は、ディレクトリに各ブロック・データの
ヒツト数をカラン1−するカウンタ部を設け、追い出し
ブロック・データ決定時、各ブロック・データのLRU
スタック上での深さだけでなく、ヒツト回数をも考慮し
た制御を追い出し対象ブロック・データ域で行うことに
より、追い出すブロック・データを決定するものである
〔発明の実施例〕
以下、本発明の一実施例を、外部記憶装置として磁気デ
ィスクが用いられる場合について説明する。
第1図は本発明を適用したディスクキャッシュ装置のデ
ィレクトりを示したものである。第1図において、ブイ
レフ1−リ100には、キャッシュメモリ中の全ブロッ
ク・データ(総数N)に対応した、エントリ番号1から
Nまでのブロック制御情報エントリが存在する。各エン
トリには、ブロック・データの磁気ディスク上のアドレ
ス(デバイス番号、シリンダ番号、ヘッド悉号)、LR
Uスタックでの前方ポインタ、後方ポインタ情報及びヒ
ツト回数カウント値を記憶する。あるブロック制御情報
エントリに記憶されたブロック・データがLRUスタッ
ク上での深さが9であった場合、前方ポインタ、後方ポ
インタはそれぞれL RUスタックでの深さfl−1,
Q+1のブロック・データの制御情報エントリ番号を記
憶する。ポインタ1は最も使用時点の新しいブロック・
データのエントリ番号を指定し、逆にポインタ2は最も
使用時点の古いブロック・データのエンI−り番号を指
定する。ポインタ3はインディケータ4に示されたスタ
ックの深さのブロック・データのエン1−り番号を記憶
する。ポインタ1,2.3および各エントリの前方ポイ
ンタ、後方ポインタはLRU制御に応じて変更がなされ
、これらを用いて任意のLRUスタックの深さにあるブ
ロック・データを知ることができる。ディレクトリ10
0における各ブロック制御情報エンI・りのヒツト回数
カウンタ部101は、該当ブロック・データのピッl−
回数を記憶する。このカウンタ部101は本発明で新た
に設けたもので、追い出しブロック・データの決定の際
、本発明ではLRUスタック上の深さとともに各ブロッ
ク・データのヒツト回数を考慮して制御を行う。
第2図は本発明の一実施例の構成図を示す。メインプロ
セッサにより入出力要求が生じると、キャッシュプロセ
ッサ5はその要求アドレス(デバイス番号、シリンダ番
号、ヘッド番号、レコード番号)をもとにディレクトリ
lOOの検索を行い、 ゛要求されたデータがキャッシ
ュメモリに存在する(ヒツト)か、存在しない(ミス)
かを調べる。
もしヒツトであった場合、要求データを含むブロック・
データをLRUスタックの最上位に匝(とともにそのヒ
ツト回数カウンタを1増加させる。
この時ポインタ1,2.3はそれぞれLRU制御に従っ
て更新される。LRU制御それ自体は周知であるので、
それに必要な構成は第2図では省略しである。
一方、ミスの場合には、要求されたデータを含むLRU
スタックをキャッシャメモリ上にロードしなければなら
ない。そのため、代わりに追い出すブロック・データを
決定する必要がある。L RU制御では、スタックの最
下位に位置するブロック・データ (エントリ番号はポ
インタ2に記憶さJしている)が追い出さiする。それ
に刻して本発明では、各ブロック・データのLRUスタ
ックでの深さとヒツト回数の関数で追い出しブロック決
定パラメタ(RBP)を設定し、このパラメタを用いて
追い出しブロック・データの決定を行う。RBPは任意
の関数形でよいが、LRTJスタックの深さが深い程追
い出され易いこと、また、ヒツト回数の少ないブロック
・データは、それよりもスタックの深い位置に存在する
が、ヒツト回数の多いブロック・データよりも追い出さ
れ易いことを満足することが望ましい。ここではその−
例として RBP= (LRUスタックにおける深さ)÷(ヒラ1
〜回数1−1)の指標をとるものとする。以下、その動
作を説明する。
ミスが生じた場合、キャッシュプロセッサ5はデータバ
ス21を通じてカウンタ19に初期値Nをセットする。
カウンタ19はLRUスタックの深さを示すものであり
、ブイレフ1〜りおよびその周辺装置はカウンタ19に
示されたスタックの深さをもつブロック・データのヒツ
ト回数をデータバス17を通じてRBP演算器18に転
送する。
RBP演算器18はデータバス22を通して転送される
カウンタ19のLRUスタックでの深さを用いてRBP
値を計算し、レジスタ11の13の部分に記憶させる。
一方、カウンタ19のLRtJスタックの深さに相当す
るブロック・データのエントリ番号がパス7を通してレ
ジスタ1]の12の部分に記憶される。レジスタ8の9
,10の部分にはそれぞれ今までのブロック・データの
うち最大のRBP値をもつブロック・データのエンI−
り番号とそのRBP値が記憶されている。レジスタ8の
10とレジスタ11の13の部分を比較器15で比較し
、工3の部分の値が11の部分の値より大きいときのみ
、セレクタ14を制御し、データバス16によりレジス
タ8の値をレジスタ1■の値に変更する。ただしカウン
タ19の値かNのときのみ、レジスタ8は無条件にレジ
スタ11の値を記憶するように制御する。
一連の動作が終了した後、カウンタ19の値は減算器2
0により値を1減らされる。それとともにカウンタ19
とインディケータ4の値が比iQ器23で比較され、等
しい場合にはキャッシュプロセッサ5への信号線を通じ
割り込み発生を生じさせる。この場合、キャッシュプロ
セッサ5はデータバス6を通じ、レジスタ8のうち9の
部分に記憶されたエントリ番号によりディレクトリ10
0中の制御情報およびキャッシュメモリ中のブロック・
データを追い出す。一方、ミスしたデータを含むブロッ
ク・データをキャッシュメモリに記憶するとともにディ
レクトリ100中の該当エントリ番号にその制御情報を
記憶する。
カウンタ19とインディケータ4の値が等しくなければ
、前述した一連の動作が繰り返される。
すなわち、カウンタ19の(直をLRUスタックの深さ
として持つブロック・データのエントリ番号をレジスタ
11の12の部分に、そのブロック・データのヒツト回
数をRBP演算器18に転送する。RBP演算器]8は
ブロックのピノ1−回数とカウンタ19からのスタック
の深さをもとにRBP値を計算し、Iノジスタ11の1
3の部分に記憶する。これまでの最大RBP値をもつエ
ン1−り昌。
号とそのRBP値がそれぞれレジスタ8の9.10の部
分に記憶されているため、10と13の値を比較器15
で比1咬し、13の部分の値がlOの部分の値よりも太
きいときのみセレクタ14、データバス16を通し、レ
ジスタ11の値をレジスタ8に記憶する。次にカウンタ
19の値を減算器20により1だけ減じ、インディケー
タ4の値と比較する。もし等しくなければ上記動作を繰
り返し、もし等しければキャッシュプロセッサ5へ割り
込みが生じ、レジスタ8の9の部分に記憶されたエント
リのブロック・データを追出し、ミスしたデータを含む
ブロック・データを該エン1〜りに記憶する。
この方法により、ヒント回数の少ないブロック・データ
は優先的に追い出さ九る。一方、スタックの深い位置に
存在するブロック・データであっても、ヒント回数の多
いものは追い出し時機が遅くなり、キャッシュメモリ中
の滞在時間がLRU時よりも長くなり、ヒツトを生しる
可能性も大きくなる。
なお、先に述べたように、RBPはLRUスタックでの
深さとヒツト回数の関数であせば任意であって良い。例
えばRBP=ブロック・データのヒツト回数とすれば、
インディケータ4に記憶さ九たLRUスタックの深さか
ら最下位までのブロックについて、ヒツト回数が最小で
あるブロック・データ(複数存在すればそれらのうちの
1つ)を追い出す制御としてもよい。
次に第3図によりインディケータ4に記憶するスタック
の深さの設定方法について説明する。インディケータ4
の値は追い出しブロックの検索領域の上限を指定するし
きい値である。第3図において、24は各LRUスタッ
クの深さ毎のヒツト回数をカウントするカウンタ群であ
る。カウンタ25は全ヒント回数のカウンタ、インティ
ケータ26は追い出しi51設定パラメータである。カ
ウンタ群24は一定周朋で零にリセノ1へされ、次の一
周期にそれぞれ各スタックで生したヒソI−回数のカウ
ントか行われ、それらの合計がカウンタ25に記憶され
る。所定カウント後、(カウンタ25の値)×(インデ
ィケータ26の値)の値が追い出しブロック検索域の累
積ヒツト回数とされる。
すなわち、LRUスタックの最下位ブロックからスタッ
ク位置iのブロックまでのヒツト回数の総和を、カウン
タ群24を用いて順次求め、それが初めて上記の値を越
えるようなスタックの深さ1がしきい値としてインディ
ケータ4に記憶される。
なお、インディケータ26の値は、あらがしめ決まった
値を設定しても良いし、ヒツト率が最大になるように可
変してもよい。
〔発明の効果〕 以上説明したように、本発明は外部記憶キャッシュ制御
装置において、各ブロック・データのヒツト回数を記憶
するカウンタを設けたこと、また、LRUスタックのあ
る深さをしきい値として、これより下位のブロック・デ
ータについて、L R’Uスタックの深さとヒツト回数
の関数である追い出しブロック決定パラメタ(RBP)
を用いて迫出しブロック・データを決定することにより
、ヒント回数が少なく、今後もヒツトする可能性の低い
ブロック・データをLRU制御時よりも早く追い出すこ
とができる6一方、ヒツト回数の多いブロック・データ
は、LRU制御時よりも長い時間キャッシュメモリ中に
滞在可能となり、キャッシュメモリの効果を高めること
ができる。
【図面の簡単な説明】
第1図は本発明を適用したディレクトリのエントリ内容
を示す図、第2図は本発明の一実施例で、ディスクキャ
ッシュ装置の入れ替え制御部を示す図、第3図は追いブ
ロックのしきい値の設定方法を説明する図である。 5・・・キャッシュプロセロッサ、8,11・・・レジ
スタ、14・・・セレクタ、15.23・・・比較器、
18・・・RBP演算器、19・・・カウンタ、20−
i^支tγ器、100・ティレフ1−リ、101・・・
ヒソh Ij!l数カウンタ部。 纂1図 第2図 第3

Claims (1)

    【特許請求の範囲】
  1. (1)メインプロセッサと外部記憶装置の間に設けられ
    、外部記憶装置中の複数ブロック・データを記憶するキ
    ャッシュメモリとそのデータについての制御情報を記憶
    するディレクトリとそれらの制御を行うキャッシュプロ
    セッサから成り、メインプロセッサにより入出力要求さ
    れたデータがキャッシュメモリに存在する場合(以下、
    ヒラ1〜と呼ぶ)、該キャッシュメモリから該当データ
    を読み出すキャッシュ装置において、前記ディレクトリ
    に前記キャッシュメモリの各ブロック・データのヒツト
    回数を記憶するカウンタ部を設け、メインプロセッサに
    より入出力要求されたデータがキャッシュメモリに存在
    しない場合、キャッシュメモリのブロック・データにつ
    いて、それが最後にアクセスされてから現在に至るまで
    の期間とヒツト回数の関数のパラメータを用いて追い出
    すべきブロック・データを決定し、その領域に前記メイ
    ンプロセッサにより入出力要求されたデータを含むブロ
    ック・データを外部記憶装置からロードすることを特徴
    とする外部記憶キャッシュ制御方式。
JP59069556A 1984-04-06 1984-04-06 外部記憶キヤツシユ制御方式 Pending JPS60214060A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59069556A JPS60214060A (ja) 1984-04-06 1984-04-06 外部記憶キヤツシユ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59069556A JPS60214060A (ja) 1984-04-06 1984-04-06 外部記憶キヤツシユ制御方式

Publications (1)

Publication Number Publication Date
JPS60214060A true JPS60214060A (ja) 1985-10-26

Family

ID=13406131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59069556A Pending JPS60214060A (ja) 1984-04-06 1984-04-06 外部記憶キヤツシユ制御方式

Country Status (1)

Country Link
JP (1) JPS60214060A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02304651A (ja) * 1989-05-19 1990-12-18 Nec Corp データ処理装置
EP0412245A2 (en) * 1989-08-08 1991-02-13 International Business Machines Corporation Cache memory
JPH0492941A (ja) * 1990-08-09 1992-03-25 Digital Equip Corp <Dec> キャッシュメモリの順次参照管理方法および装置
US5366388A (en) * 1990-06-27 1994-11-22 Digital Equipment Corporation Wiring distribution system and devices for building wiring
US5432919A (en) * 1989-07-06 1995-07-11 Digital Equipment Corporation Sequential reference management for cache memories
JPH11338775A (ja) * 1998-05-27 1999-12-10 Nec Corp キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体
US6738865B1 (en) * 2000-06-09 2004-05-18 International Business Machines Corporation Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02304651A (ja) * 1989-05-19 1990-12-18 Nec Corp データ処理装置
US5432919A (en) * 1989-07-06 1995-07-11 Digital Equipment Corporation Sequential reference management for cache memories
EP0412245A2 (en) * 1989-08-08 1991-02-13 International Business Machines Corporation Cache memory
US5366388A (en) * 1990-06-27 1994-11-22 Digital Equipment Corporation Wiring distribution system and devices for building wiring
JPH0492941A (ja) * 1990-08-09 1992-03-25 Digital Equip Corp <Dec> キャッシュメモリの順次参照管理方法および装置
JPH11338775A (ja) * 1998-05-27 1999-12-10 Nec Corp キャッシュページの管理方法およびキャッシュページの管理プログラムを記憶した媒体
US6738865B1 (en) * 2000-06-09 2004-05-18 International Business Machines Corporation Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ

Similar Documents

Publication Publication Date Title
EP0301211B1 (en) Cache management for a peripheral data storage subsystem
US5134563A (en) Sequentially processing data in a cached data storage system
US4463424A (en) Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
EP0077453B1 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
JP2637290B2 (ja) キャッシュ管理を動的に制御するためのシステム及び方法
US4956803A (en) Sequentially processing data in a cached data storage system
JP2558033B2 (ja) データキャッシュメモリ内のデータを置換する方法
US6381676B2 (en) Cache management for a multi-threaded processor
EP0389151A2 (en) System and method for partitioned cache memory management
EP0284663A2 (en) Method of handling disk sector errors in dasd cache
JPH10269142A (ja) システム性能を改善するためのハシュテーブルのハシュバケットにおけるコリジョンの再編成
JPH05233450A (ja) キャッシュモード選択方法
JPS60214060A (ja) 外部記憶キヤツシユ制御方式
EP0114944B1 (en) Method and apparatus for controlling a single physical cache memory to provide multiple virtual caches
JPS59220853A (ja) デイスクキヤツシユシステム
EP0058846B1 (en) Multiprocessing system with variably shared paging storage
JPS6258351A (ja) 光デイスクキヤツシユ方式
JP3020512B2 (ja) フアイルデータ管理方法
JPH0551933B2 (ja)
JPS63284649A (ja) キャッシュメモリ制御方法
JP3788121B2 (ja) キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体
JP3083530B2 (ja) キャッシュメモリのデータ管理方法およびキャッシュ制御装置
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JPS6029135B2 (ja) バツフアメモリシステム