JPH04142639A - ディスクキャッシュ装置 - Google Patents

ディスクキャッシュ装置

Info

Publication number
JPH04142639A
JPH04142639A JP2264952A JP26495290A JPH04142639A JP H04142639 A JPH04142639 A JP H04142639A JP 2264952 A JP2264952 A JP 2264952A JP 26495290 A JP26495290 A JP 26495290A JP H04142639 A JPH04142639 A JP H04142639A
Authority
JP
Japan
Prior art keywords
cache
write
disk
entry table
record
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
JP2264952A
Other languages
English (en)
Inventor
Masatoshi Saito
政利 斉藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2264952A priority Critical patent/JPH04142639A/ja
Publication of JPH04142639A publication Critical patent/JPH04142639A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ライトバック動作におけるオーバヘッドを削
減することができるディスクキャッシュ装置に関する。
(従来の技術) ディスクキャッシュ装置は、主記憶装置とディスク装置
との間に設けられたキャッシュメモリ装置である9この
装置に用いられるキャッシュメモリは、半導体メモリ等
から成り、ディスク装置に格納されたデータを予め読み
出しておく。これにより、ディスク装置へのアクセス時
間の短縮を図っている。
第2図は、ライトバック方式のディスクキャッシュ装置
の構成を示す図である。第2図(a)は、全体構成図で
あり、第2図(b)は、キャッシュエントリテーブルの
詳細構成図である。
図示のように、ディスクキャッシュ装置21は、ディス
ク装置26と、主記憶装置27との間に接続されている
ディスクキャッシュ装置21は、ディスクキャッシュ制
御部22と、キャッシュエントリテーブル23と、キャ
ッシュメモリ24と、ライトバッファ25とから成る。
ディスクキャッシュ制御部22は、プロセッサ等から成
り、各部の動作を制御する。
キャッシュエントリテーブル23は、ランダム・アクセ
ス・メモリから成る。このキャッシュエントリテーブル
23は、エントリ番号31と、有効フラグ32と、リン
クポインタ33と、ディスクアドレス34と、ライトフ
ラグ35とにより構成されている。
キャッシュメモリ24には、ディスク装置26に格納さ
れているデータの一部の写し、又はCPU28により更
新され、未だディスク装置26にライトバックされてい
ないデータが記憶されている。このデータの記憶単位を
ブロックと呼ぶ。ブロックの大きさは、ディスク装置2
6のアクセス単位であるレコードの整数倍である。
次に、CPU28からのリード要求をライトバック方式
のディスクキャッシュ装置21が受付けたときの動作の
一例を説明する。
ディスクキャッシュ制御部22は、キャッシュエントリ
テーブル23を検索し、リードアクセスレコードがキャ
ッシュメモリ24上に存在するか否かを調べる。存在す
る場合は、キャッシュメモリ24上から目的のレコード
を主記憶装置27に転送する。これにより、CPU28
からのリード要求に迅速に応答することができる。この
ように、リードアクセスレコードがキャッシュメモリ2
4上に存在することをリードヒツトという。
一方、リードアクセスレコードがキャッシュメモリ24
上に存在しない場合は、ディスク装置26上から目的の
レコードを主記憶装置27に転送する。これによって、
CPU28のリード要求に応答する。このように、リー
ドアクセスレコードがキャッシュメモリ24上に存在し
ないことをリードミスヒツトという、このとき、当該レ
コードを主記憶装置27に転送する。これとともに、そ
のレコードを含むブロックをディスク装置26上から読
み取り、キャッシュエントリテーブル23上にステージ
ングし、当該ブロックをキャッシュメモリ24上にも転
送しなければならない。
次に、CPO28からのライト要求をライトバック方式
のディスクキャッシュ装置21が受は付けたときの動作
の一例を説明する。
ディスクキャッシュ制御部22は、キャッシュエントリ
テーブル23を検索し、ライトアクセスレコードがキャ
ッシュメモリ24上に存在するか否かを調べる。存在す
る場合は、キャッシュメモリ24上の目的のレコードに
主記憶装置27から転送された転送データを書き込む。
これにより、CPU28からのライト要求に応答する。
このように、ライトアクセスレコードがキャッシュメモ
リ24上に存在することをライトヒツトという。
このとき、当該レコードを含むブロックに対するキャッ
シュエントリテーブル23のライトフラグを“1”にセ
ットする。これによって、当該ブロックにデータの更新
が発生したことを示す。
ライトアクセスレコードがキャッシュメモリ24上に存
在しない場合は、ライトバッファ25に主記憶装置27
から転送されたデータを書き込む、これにより、CPU
28のライト要求に応答する。このように、ライトアク
セスレコードがキャッシュメモリ24上に存在しないこ
とをライトミスヒツトという、尚、ライトバッファ25
に書き込まれたデータは、所定時にディスク装置26に
格納される。
ところで、前述のリードミスヒツト時のキャッシュエン
トリテーブル23のステージングの際、ステージングの
ための空きブロックがない場合がある。このような場合
、登録されているブロックの中から、優先順位の低いブ
ロックをデステージングしなければならない。このデス
テージングは、キャッシュエントリテーブル23のリン
クポインタ33を変更することにより行なう。
このデステージングの際、デステージングの対象となる
キャッシュエントリテーブル23中のライトフラグ35
が“1”の場合は、当該ブロック内のデータが更新され
ていることを意味する。
従って、当該ブロックのデータのすべてをディスク装置
26に書き戻す動作が必要となる。この動作をライトバ
ック動作という、このような状態が発生すると、CPU
28からの1回のリード要求に対して、2回ものディス
クアクセスが発生してしまう、即ち、1回目のアクセス
は、デステージングの際のライトバック動作によるライ
トアクセスであり、2回目のアクセスは、リード要求に
よるリードアクセスである。上記のようなオーバヘッド
を防ぐために、ディスクキャッシュ装置21は、空き時
間を利用してキャッシュエントリテーブル23のライト
フラグが“1”であるブロックをディスク装置26に書
き戻すライトバック動作を行なっている。ライトバック
動作が終了すると、当該ブロックとディスク装置6の内
容が同一になるため、当該キャッシュエントリテーブル
23中のライトフラグは“O”にリセットされる。キャ
ッシュエントリテーブル23がこの状態であれば、デス
テージングの対象となっても、ライトバック動作が必要
でなくなる。
(発明が解決しようとする課題) しかしながら、上述した従来の技術には、次のような問
題点があった。
即ち、前述した従来のライトバック動作では、ライトバ
ック対象のブロック中のたった1つのレコードだけが更
新されても、当該ブロックのすべてをディスク装置26
へ書き戻さなければならない。これは、ブロックが複数
のレコードで構成されているからである。つまり、ライ
トバックの際は、キャッシュメモリ4上のレコードデー
タとディスク装置6上のレコードデータが同一であって
も、キャッシュエントリブロックのすべてをディスク装
置6へ書き戻さなければならないことが多い。
また、ディスクキャッシュ装置21は、空き時間を利用
してキャッシュメモリ24上のブロックをディスク装置
26に書き戻すライトバック動作を行なっているが、こ
の期間中にもCPU28は、リード要求及びライト要求
などをディスクキャッシュ装置21に発行する可能性が
高い。これらの要求は、ライトバック動作の終了を待た
なければならない。従って、ライトバック動作は、極力
短くする必要がある。
本発明は以上の点に着目してなされたもので、キャッシ
ュメモリ上のブロックをディスク装置に書き戻すライト
バック動作の際、データ転送量をできる限り減らすこと
により、ライトバック動作時間を短縮し、ライトバック
動作と競合したCPUからの要求に対しても迅速な応答
ができるようにしたディスクキャッシュ装置を提供する
ことを目的とするものである。
(課題を解決するための手段) 本発明のディスクキャッシュ装置は、キャッシュメモリ
に格納されるデータを登録するキャッシュエントリテー
ブルと、当該キャッシュエントリテーブルに、キャッシ
ュメモリ上で更新が発生したレコードの範囲を記憶する
キャッシュエントリテーブル更新手段と、当該更新され
たレコードを含むブロックをディスク装置に書き戻すと
きに極力最小のレコード群を選択するライトバック処理
手段とを備えたことを特徴とするものである。
(作用) 本発明のディスクキャッシュ装置においては、キャッシ
ュメモリ上で更新が発生した場合に更新が発生したレコ
ードの範囲が記憶される。そして、キャッシュメモリ上
のデータがディスク装置に書き戻されるときは、極力最
小のレコード群のみが書き戻される。これにより、ライ
トバック時間が短縮され、CPUの処理能力の向上を図
ることができる。
(実施例) 第1図は、本発明のディスクキャッシュ装置の一実施例
の構成図である。第1図(a)は、全体構成図であり、
第1図(b)は、キャッシュエントリテーブルの詳細構
成図である。
図において、ディスクキャッシュ装置1は、ディスクキ
ャッシュ制御を行なうものであって、ディスク装置8と
主記憶装置9との間に設けられている。
このディスクキャッシュ装置1は、ディスクキャッシュ
制御部2と、キャッシュエントリテーブル更新手段3と
、ライトバック処理手段4と、キャッシュエントリテー
ブル5と、キャッシュメモリ6とにより構成されている
ディスクキャッシュ制御部2は、CPU10からの要求
を解析したり、主記憶装置9へのデータ転送を司るもの
である。
キャッシュエントリテーブル更新手段3は、ライトイベ
ントが発生したときに、アクセスレコードがキャッシュ
エントリテーブル5上に登録されているかを検索する。
また、キャッシュエントリテーブル更新手段3は、アク
セスレコードが登録されていた場合、キャッシュエント
リテーブル5の更新を制御する。
ライトバック処理手段4は、ライトバックイベントが発
生したときにライトバック対象となるキャッシュメモリ
6上のブロック中のどこからどこまでのレコードをディ
スク装置8に格納するかを制御するものである。
キャッシュエントリテーブル5は、キャッシュメモリ6
に格納したアクセスレコードを読み出すため、また更新
するためのアドレス情報をブロック単位に登録したもの
である。即ち、キャッシュエントリテーブル5は、エン
トリ番号51と、有効フラグ52と、リンクポインタ5
3と、ディスクアドレス54と、ライトフラグ55と、
第ルコード番号56と、最終レコード番号57とにより
構成されている。
エントリ番号51は、キャッシュエントリテーブル5上
での登録番号を示すとともに、当該登録に対応するキャ
ッシュエントリブロックが格納されているキャッシュメ
モリ6上のアドレスを示す。このエントリ番号51は、
例えば、キャッシュエントリテーブル5を格納している
記憶素子のアドレスであってもよい。
有効フラグ52は、当該キャッシュメモリ6上のブロッ
クが有効であるか空きブロックであるかを表わすフラグ
である。
リンクポインタ53は、デステージング対象のブロック
の優先順位を表わすものである。
ディスクアドレス54は、当該キャッシュメモリ6上の
ブロックのディスク装置8上でのレコードアドレスを表
わしている。
ライトフラグ55は、キャッシュメモリ6上のブロック
中のデータが更新されたか否かを表わすフラグである。
第ルコード番号56、及び最終レコード番号57は、当
該キャッシュメモリ6上のブロック中で更新されたレコ
ードの範囲を表わす。
キャッシュメモリ6は、ディスク装置8から読み出した
データや、ディスク装置8に書き込むデータを格納する
ものである。
ライトバッファ7は、ディスク装置8へ書き込むデ・−
夕を一時的に格納するものである。
ディスク装置8は、レコードを格納するものである。
主記憶袋fli9は、1ノコードやプログラムなどを格
納するものである。
CPU 10は、各種制御やデータ処理を行なうもので
ある。
本発明は、第1図に示すように、キャッシュエントリテ
ーブル5中に、ライトフラグ55、第ルコード番号56
、及び最終レコード番号57を設ける。そして、キャッ
シュメモリ6上のブロックをライトバックする際に、ラ
イトバック処理手段4が、キャッシュエントリテーブル
更新手段3により設定された各種の情報をもとに、極力
最小のレコード群のみをディスク装置8ヘライトバツク
する。即ち、ライトバック処理手段4は、ライトフラグ
55、第ルコート56、最終レコード57の各情報をも
とに、キャッシュメモリ6上のブロックのうち、ディス
ク装置8ヘライトバツクしなければならないレコード(
キャッシュメモリ6上にて更新されたレコード)を含む
一連のレコード群のみをディスク装置8ヘライトバック
する。
このため、キャッシュメモリ6上のブロック中でライト
バックされる必要のないレコード(キャッシュメモリ6
上にて更新されていないレコード)をライトバックする
可能性が減ったため、ライトバック時のデータ転送時間
が極度に減少する。
次に、第1図、第3図及び第4図を参照して本発明の一
実施例の動作を説明する。
まず、第3図を用いて、キャッシュエントリテーブル更
新手段3の動作を説明する。
尚、ここで示した動作は、CPUl0からのライトイベ
ントが複数のブロックにまたがらない場合を想定した動
作である。また、1つのブロックは、数個のレコードで
構成されているとする。ブロックとは、キャッシュエン
トリテーブル5上での管理単位で、レコードとは、ディ
スク装置8の最小アクセス即位である。
CPUl0がディスクキャッシュ装置1に対してライト
要求を発行したときに、ディスクキャッシュ装置1でラ
イトイベントが発生し、キャッシュエントリテーブル更
新手段3が起動される。
まず、CPU 10からライト要求されたアクセスレコ
ードを含むブロックがキャッシュエントリテーブル5上
に登録されているか否かを検索する(ステップSl)。
当該ブロックがキャッシュエントリテーブル5上に登録
されていた場合(ヒツトしていた場合)、当該ブロック
のエントリ番号Bsを求める(ステップS2)。そして
、これとともに最初のアクセスし・・ツー ドが当該ブ
(Jツク内のどこに位置するかを示すブロック内箱1L
/コード番号Rsを求める(ステップS3)。また、C
PU1’Oより与えられたアクセス長から最後のアクセ
スレコードが当該ブロック内のどこに位置するかを示す
ブロック内最終レコード番号Reを求める(ステップS
4)。
次に、エントリ番号B Sのキャッシュエントリテーブ
ル5中のライトフラグ55のチエツクを行なう(ステッ
プS5)。
ステップS5の結果、ライトフラグW=0であることは
、当該ライトイベントが、エントリ番号Bsのキャッシ
ュエントリブロックに対する始めてのライトイベントで
あることを意味する。従って、このとき、キャッシュエ
ントリテーブル更新手段3は、エントリ番号Bsに対応
したキャッシュエントリテーブル5中のライトフラグW
を1にセットしくステップ512)、第ルツード番号P
Rを今回のライトイベントでのブロック内箱ルコード番
号Rsにセットしくステツー。
513)、最終レコード番号LRを今回のライトイベン
トでのブロック内最終レコード番号Reにセットする(
ステップ514)。その後、ステップSIOへ進む。
ステップS5の結果、ライト・フラグW=1であること
は、当該ライトイベントが、エントリ番号Bsのブロッ
クに対しての2回目以降のライI・イベントであること
を意味する。従って、このとき、キャッシュエントリテ
ーブル更新手段3は、エントリ番号Bsのキャッシュエ
ントリテーブル5中の第ルツード番号FR(以前のライ
トイベントでのブロック内箱ルコード番号)と今回のラ
イトイベントでのブロック内箱ルコード番号Rsとの比
較を行ない(ステップ56)Rs<FRの場合は、エン
トリ番号Bsのキャッシュエントリテーブル5中の第ル
ツード番号FRにRsをセットする(ステップS7)。
方、Rs≧FRの場合は、そのままステップs8へ進む
次に、キャッシュエントリテーブル更新手段3は、エン
トリ番号Bsのキャッシュエントリテーブル中の最終レ
コードLR(以前のライトイベントでのブロック内最終
レコード番号)と今回のライトイベントでのブロック内
最終レコード番号Reとの比較を行ない(ステップ56
)LR<Reの場合は、エントリ番号Bsのキャッシュ
エントリテーブル5中の最終レコード番号L RにRe
をセットする。LR≧Reの場合は、そのままステップ
SIOへ進む。
このように、ステップS5〜S9、S12〜S14では
、ライトバックイベント発生時にライトバックしなけれ
ばならないキャッシュエントリブロック内のレコードの
範囲を示すキャッシュエントリテーブル5の更新を行な
っている。
上記の更新が終了したならば、主記憶装置9から送られ
てくるデータを、キャッシュメモリ6上に格納されてい
る当該ブロックのブロック内箱ルコード番号PRのレコ
ードから順に書き込む(ステップ5io)。
キャッシュメモリ6のデータ更新が終了したら、CPU
l0へライト要求の終了報告を行なう(ステップ5ll
)。
また、ステップS1にてミスヒツトを検出した場合は、
主記憶装置9から送られてくるデータをライトバッファ
7に書き込む(ステップ515)。
ライトバッファ7のデータ更新が終了したら、CPUl
0ヘライト要求の終了報告を行なう(ステップ511)
尚、ライトバッファ7のデータは、所定時にディスク装
置8上へ格納される。
次に、第4図を用いて、ライトバック処理手段4の動作
を説明する。
ディスクキャッシュ装置1は、空き時間を利用16.て
キャッシュエントリテーブル5中のライトフラグが“1
” (当該キャッシュエントリテーブル5中にデータの
更新が発生したことを意味する。)のブロックをディス
ク装置8へ書き戻すライトバック動作を行なう。このと
き、ライトバックイベントが発生する。ライトバックイ
ベントが発生すると、ライトバック処理手段4が起動さ
れる。
まず、当該キャッシュエントリテーブル中のディスクア
ドレスの第ルツード番号FR及び最終レコード番号LR
からディスク装置8に対して、ライトバック動作をする
ディスク装置8上のライトバック開始ディスクアドレス
(レコード番号)及びライトバックレコード長を算出す
る(ステップ521)。
次に、ディスク装置8に対して、ライト指示をする(ス
テップ522)。
そして、ディスク装置8のライト動作終了待ちをする(
ステップ523)。
更に、当該キャッシュエントリテーブルの更新、即ちラ
イトフラグのリセットを行なう(ステップ524)。
(発明の効果) 以上説明したように、本発明のディスクキャッシュ装置
によれば、ライトフラグ、第ルコード番号、最終レコー
ド番号の情報をもとに、キャッシュエントリブロックの
うち、ディスク装置ヘライトバックしなければならない
レコードを含む極力最小のレコード群のみをディスク装
置へライトバックするようにしたので、次のような効果
がある。
即ち、キャッシュメモリ上のブロック中でライトバック
される必要のないレコード、つまり、キャッシュメモリ
上にて更新されていないレコードをライトバックする可
能性が減ったため、ライトバック時のデータ転送量及び
転送時間を極度に減少させることができる。従って、ラ
イトバック動作と競合したCPUからの要求に対しても
迅速な応答が行なわれるようにすることができる。
【図面の簡単な説明】
第1図は本発明のディスクキャッシュ装置の一実施例の
構成図、第2図は従来のディスクキャッシュ装置の構成
図、第3図はキャッシュエントリテーブル更新手段の動
作を説明するフローチャート、第4図はライトバック処
理手段の動作を説明するフローチャートである。 1・・・ディスクキャッシュ装置、 2・・・ディスクキャッシュ制御部、 3・・・キャッシュエントリテーブル更新手段、4・・
・ライトバック処理手段、 5・・・キャッシュエントリテーブル、6・・・キャッ
シュメモリ、7・・・ライトバッファ、8・・・ディス
ク装置、9・・・主記憶装置、10・・・cpu。 特許出願人 沖電気工業株式会社

Claims (1)

  1. 【特許請求の範囲】 キャッシュメモリに格納されるデータを登録するキャッ
    シュエントリテーブルと、 当該キャッシュエントリテーブルに、キャッシュメモリ
    上で更新が発生したレコードの範囲を記憶するキャッシ
    ュエントリテーブル更新手段と、 当該更新されたレコードを含むブロックをディスク装置
    に書き戻すときに極力最小のレコード群を選択するライ
    トバック処理手段とを備えたことを特徴とするディスク
    キャッシュ装置。
JP2264952A 1990-10-04 1990-10-04 ディスクキャッシュ装置 Pending JPH04142639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2264952A JPH04142639A (ja) 1990-10-04 1990-10-04 ディスクキャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2264952A JPH04142639A (ja) 1990-10-04 1990-10-04 ディスクキャッシュ装置

Publications (1)

Publication Number Publication Date
JPH04142639A true JPH04142639A (ja) 1992-05-15

Family

ID=17410480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2264952A Pending JPH04142639A (ja) 1990-10-04 1990-10-04 ディスクキャッシュ装置

Country Status (1)

Country Link
JP (1) JPH04142639A (ja)

Similar Documents

Publication Publication Date Title
US7111134B2 (en) Subsystem and subsystem processing method
JP2004533079A (ja) マルチプロセッサシステムにおける推測的な格納を容易にする方法および装置
CN101326494A (zh) 协调硬件事务存储器事务和软件事务存储器事务对存储单元的访问
JP2005520222A (ja) マルチプロセッサシステムにおける推測的な格納を容易にするl2ディレクトリの利用
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
JPS6258351A (ja) 光デイスクキヤツシユ方式
JPS644214B2 (ja)
JP3427901B2 (ja) メモリ内容回復装置
JP2707958B2 (ja) キャッシュ一致処理制御装置
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法
JPH0784886A (ja) キャッシュメモリ制御方法およびキャッシュメモリ制御装置
JPH0816880B2 (ja) データベースシステムおよびその処理方法
JPH01251248A (ja) スタックデータ構造用キャッシュ制御方式
JP3517884B2 (ja) データ処理装置
JP3260566B2 (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
JP2703255B2 (ja) キャッシュメモリ書込み装置
JPH05257807A (ja) キャッシュメモリ制御装置
JPH07334425A (ja) ディスクキャッシュ制御方式
JPH045739A (ja) ディスク・キャッシュ制御方式
JPH04302044A (ja) マルチプロセッサシステム
JPS5894182A (ja) バツフアメモリ管理方式
JPH04348441A (ja) キャッシュメモリ制御方式
JPS63311548A (ja) キャッシュメモリ制御回路
JPH04235649A (ja) キャッシュクリア処理システム