JP3083530B2 - キャッシュメモリのデータ管理方法およびキャッシュ制御装置 - Google Patents

キャッシュメモリのデータ管理方法およびキャッシュ制御装置

Info

Publication number
JP3083530B2
JP3083530B2 JP01235138A JP23513889A JP3083530B2 JP 3083530 B2 JP3083530 B2 JP 3083530B2 JP 01235138 A JP01235138 A JP 01235138A JP 23513889 A JP23513889 A JP 23513889A JP 3083530 B2 JP3083530 B2 JP 3083530B2
Authority
JP
Japan
Prior art keywords
data
cache memory
data management
cache
management unit
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.)
Expired - Lifetime
Application number
JP01235138A
Other languages
English (en)
Other versions
JPH0397053A (ja
Inventor
義弘 安積
山本  彰
勝憲 中村
善祥 桑原
繁雄 本間
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP01235138A priority Critical patent/JP3083530B2/ja
Publication of JPH0397053A publication Critical patent/JPH0397053A/ja
Application granted granted Critical
Publication of JP3083530B2 publication Critical patent/JP3083530B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ライトアフタ型ディスクキャッシュ制御に
係り、特に順次アクセスの制御に好適なディスクキャッ
シュメモリのデータ管理方式に関する。
[従来の技術] 磁気ディスク装置の様に、データのアクセス時に機械
的位置付け動作を伴う記憶装置を含む記憶サブシステム
において、中央処理装置からのアクセスに対する応答の
高速化を図る手段の1つとして、制御装置に半導体メモ
リの様な高速アクセス可能なメモリ・デバイスを設置
し、中央処理装置から、アクセスされる可能性の高いデ
ータを格納しておくことによりアクセスに対する応答を
高速化する装置、いわゆるディスクキャッシュが実用化
されている。
一般に、ディスクキャッシュでは上位装置からの入力
命令に対し、目的のデータがキャッシュメモリ内に存在
すれば、キャッシュメモリから上位装置にデータ転送を
行い応答の高速化を図るが、出力命令に対しては出力デ
ータをキャッシュメモリばかりでなく、ディスク装置に
も書き込み動作が終了してから終了報告を行う。これ
は、キャッシュメモリに用いられるメモリデバイスが揮
発性であるが故に電源断時のデータの消失を防ぐ為であ
る。従って、出力命令時はディスク装置の機械的位置付
け動作を伴い、応答の高速化は図れない。この様なディ
スクキャッシュは、一般にライトスルー型ディスクキャ
ッシュと呼ばれている。
これに対し、出力命令に対しても出力データをキャッ
シュメモリに書き込むのみで動作終了報告を行い、応答
の高速化を図るディスクキャッシュ、即ち、ライトアフ
タ型ディスクキャッシュが提案されている。
このライトアフタ型ディスクキャッシュは、 1.ヒット時には出力命令に対しても、ディスク装置をア
クセスせずに動作終了報告が可能である。
2.順次アクセス・ファイルのディスク装置への出力処理
は、特開昭59ー135563号や、特公昭61ー43742号で示さ
れるような複数トラックをまとめて連続して出力するこ
とが可能である。
等のシステム性能上有効な機能を有する。
ライトアフタ型ディスクキャッシュを実現する手段と
しては、特開昭55ー157053号及び前記特開昭59ー135563
号にてその技術が開示されている。
前記特開昭55ー157053号では、出力データを、一時フ
ァイル用データと永久ファイル用データとに分け、永久
ファイル用データはライトスルー型ディスクキャッシュ
と同様にディスク装置に直接データを書き込んでから動
作終了報告を行うことによってデータの保障を行い、一
時ファイル用データはキャッシュメモリにデータを格納
しただけで動作終了報告を行い、応答の高速化を図るも
のである。
また、前記特開昭59ー135563号では、キャッシュメモ
リに揮発性メモリの他に不揮発性メモリを具備し、キャ
ッシュメモリにのみ格納されている書き込みデータが、
ディスク装置に反映されるまでの間、不揮発性メモリに
バックアップ・データを保管することによってデータの
保障を行うものである。
ところで、ディスクキャッシュではキャッシュメモリ
にどのデータを格納しておくのかの選択アルゴリズム
が、その性能を大きく左右する。なぜなら上位装置から
要求された目的のデータが、キャッシュメモリ内に存在
する確率(目的のデータが、キャッシュ内に存在するこ
とをヒットと呼び、その確率をヒット率と呼ぶ)が大き
いほど、ディスク装置をアクセスしないですむデータ、
すなわちキャッシュメモリと上位装置間でのデータ転送
可能なデータが増え、サブシステム全体の処理能力は向
上する。また逆に、不必要なデータをキャッシュメモリ
内に残しておくことは、ヒット率の低下をもたらしサブ
システムの処理能力をも低下させる。
この選択アルゴリズムの1つとして、LRU(Least Rec
ently Used)アルゴリズムが広く知られている。LRUア
ルゴリズムは、最も最近アクセスされたデータが今後最
もアクセスされる可能性が高いと考え、より長くキャッ
シュメモリ内に留める様にするアルゴリズムである。ま
た、上位装置から要求されたデータがキャッシュメモリ
内に存在せず、そのデータをディスク装置から読出して
新たにキャッシュメモリに格納(これをステージングと
呼ぶ)しようとした時にキャッシュメモリに格納可能な
空き領域がない場合には、前述のLRUアルゴリズムに基
づき最も古い過去にアクセスされたデータが今後アクセ
スされる可能性が最も低いと考え、そのようなデータを
キャッシュメモリから破棄し、その領域に前述の新たに
ステージングすべきデータを格納する。この処理を一般
にリプレースと呼ぶ。
一般に、LRUアルゴリズムはランダム・アクセスされ
るデータに対しては有効なアルゴリズムであることが知
られているが、順次アクセス(SAM:Sequential Access
Method)系ファイルの様に、順次アクセスされるファ
イル構造から成るデータに対しては有効なアルゴリズム
とは言い難い。なぜなら、順次アクセスファイルはデー
タがディスク媒体上に記録されている物理的順序に従っ
てアクセスされ、かつ同一のデータに再度アクセスする
場合にはファイルの先頭からアクセスし直さねばならな
いファイル構造である為である。即ち、順次アクセスフ
ァイルにおいては、最も最近アクセスされたデータ及び
その前方の既にアクセスが終了したデータは、今後アク
セスされる可能性が低いと考えられ、また最も最近アク
セスされたデータより後方のデータは、今後アクセスさ
れる可能性が高いと考えられる。この様に順次アクセス
ファイルのデータは、LRUアルゴリズムとは全くそぐわ
ない性格を持つ。
順次アクセスされるデータに対しては、次にアクセス
されるであろうと予測される最も最近アクセスされたデ
ータより後方の幾つかのデータを、あらかじめキャッシ
ュメモリにステージングしておくことが以降の上位装置
からの該ファイルに対するアクセスをヒットにすること
ができ、性能向上に有効な技術である。この技術は一般
に先読み処理と呼ばれ、ディスクキャッシュにて広く採
用されている。この先読み処理でステージングするデー
タのブロッキングの単位はディスク媒体上のトラックで
あってよい。また、順次アクセスファイルに対するアク
セスではアクセスの済んだデータは、今後近い将来にア
クセスされる可能性が低い不必要なデータと考えられる
為、キャッシュメモリ内に残しておくことはキャッシュ
メモリの使用効率を下げ、ヒット率の低下、ひいてはサ
ブシステムの性能低下をもたらす。特に順次アクセスフ
ァイルに対するアクセスは、該ファイル全域に渡ってア
クセスされる特徴を持つ為、キャッシュメモリ内に残存
するデータ量は一般的に多量になるケースが多く、ラン
ダム・アクセスされるデータと比べ、不必要なデータが
残存する被害は大きい。
この様な問題点に対し、特開昭60ー45855号は、キャ
ッシュメモリ上のデータ管理の一単位、例えばトラック
全域に渡ってアクセスが終了した場合、該トラックをよ
り優先的にリプレースされやすいようにすることによっ
て、不必要なデータをキャッシュメモリ内に残さないよ
うにし、キャッシュメモリの有効活用を図る技術を開示
している。
[発明が解決しようとする課題] さて、中央処理装置はディスク装置の様な外部記憶装
置に対して、 1.ファイルデータの参照 2.新しいファイルの作成 3.ファイルデータの更新 の3つの目的のうち、いずれかの目的をもって入力命令
を発行する。また目的ごとにそのアクセス形態は異な
る。
ファイルデータの参照を目的とした場合、外部記憶装
置に対しては入力命令のみが発行される。新しいファイ
ルの作成を目的とした場合、外部記憶装置に対しては出
力命令のみが発行される。さらに、ファイル・データの
更新を目的とした場合には入力命令と出力命令が入りま
じって発行される。
一方、順次アクセスファイルに対し、前述の更新を目
的としたアクセス形態によってアクセスがある場合、以
下の様なアクセス形態になる。
中央処理装置は入出力制御装置を介し、更新すべき対
象となるデータを、ある適当なブロック単位で主記憶装
置に読み込む。この処理は入力命令によってなされる。
次に、主記憶装置内の該データに対し更新処理を行う。
この更新処理の間、処理の高速化を狙いとして、入出力
制御装置によって入力命令を発行し、読み込み処理を行
う。その後、主記憶装置内で更新されたデータを、ディ
スク装置に書き込み処理を行う。この書き込み処理も、
順次アクセスによってなされる。この様なアクセス形態
は制御装置側にとってみると、あたかも該順次アクセス
ファイルに対し順次アクセスによる入力命令が先行し、
しばらくの間を置いて出力命令が追従する様に見える。
先行した入力命令と追従する出力命令の間隔は、該処理
を行う為に割り当てられた主記憶装置の領域の大きさ
や、更新処理の内容等、様々な要因により異なる。
一般に、中央処理装置からの入出力命令は、1回のI/
Oでの動作を指示するものであり、以降の複数回に渡る
入出力命令をあらかじめ設定する機能はもたない。即
ち、中央処理装置からの入出力命令が発行された時点で
は、該入力命令が参照を目的としたものであるか、もし
くは更新を目的としたものであるか、出力命令が追従す
るのか、もしくはしないのかは制御装置には予測できな
い。
トラック全域に渡ってアクセスが終了した場合、該ト
ラックを優先的にリプレースされやすいようにする前述
の特開昭60ー45855号は、ライトスルー型ディスクキャ
ッシュにおいては、入力命令が参照あるいは更新のいず
れを目的としたものであっても、有効な技術となる。そ
の理由は次の通りである。
1.その入力命令が参照を目的としたものであった場合、
アクセス済のデータは、今後アクセスされる可能性は低
く、キャッシュメモリ内に残留させることはキャッシュ
メモリの無駄使いとなる。
2.その入力命令が更新を目的としたものであった場合に
おいても、出力命令の書き込み動作はディスク装置に直
接行う為、追従する出力命令に対しミスヒットとなって
も性能低下にはつながらない。
一方、ライトアフタ型ディスクキャッシュにおいて
は、前記特開昭60ー45855号では入力命令が参照を目的
としたものであった場合については、前述のライトスル
ー型ディスクキャッシュと同様に有効となる。しかしな
がら、更新を目的としたものであった場合、追従する出
力命令がミスヒットとなる為、前述したような、ヒット
時には出力命令に対しても、ディスク装置をアクセスせ
ずに動作終了報告が可能であり、順次アクセス・ファイ
ルのディスク装置への出力処理は、複数トラックをまと
めて連続して出力することが可能である等のライトアフ
タ特有の機能が無効になり性能低下につながる。
以上のように、特開昭60ー45855号に見られるような技
術では、ライトアフタ型ディスクキャッシュにおいて、
更新を目的としたアクセスに対しては何ら効果が得られ
ない。そこで、更新を目的としたアクセスに対して効果
があるように、即ち追従する出力命令に対してヒットと
することを目的として、入力命令でのアクセス済みデー
タをキャッシュメモリ内に残した場合、その入力命令が
参照を目的としたものであった場合には、不必要なデー
タが多量にキャッシュメモリ内に残存する結果となり、
性能低下を招来する。
以上の様に、ライトアフタ型ディスクキャッシュにお
いては、順次アクセスでの入力命令が終了したデータを
出力命令が追従するか、追従しないか予測不可能である
ことを考慮し、どの様な制御を行うかが、キャッシュメ
モリの使用効率上、即ち、サブシステムの性能上、重要
な課題となる。
本発明の目的は、以上述べた問題点に鑑み、ライトア
フタ型キャッシュ制御を採用したシステムにおいて、順
次アクセスファイルに対しても効率的なキャッシュメモ
リの使用を可能とするキャッシュメモリのデータ管理方
式およびキャッシュ制御装置を提供することにある。
[課題を解決するための手段] 上記目的を達成するために、本発明によるキャッシュ
メモリのデータ管理方式は、上位装置からの入力命令に
したがって外部記憶装置からキャッシュメモリ内に取り
込まれたデータが順次アクセスファイルである場合、当
該入力データを含む前記キャッシュメモリ上でのデータ
管理単位の全データをアクセスした後に、該データ管理
単位をキャッシュメモリから優先的に破棄するキャッシ
ュメモリのデータ管理方式において、前記データ管理単
位を優先的に破棄する際に、当該データ管理単位を直ち
に最先破棄対象とはしないようにしたものである。
本発明によるデータ管理単位のリプレース制御方式
は、ランダムアクセスファイルと順次アクセスファイル
とが混在した外部記憶装置内の記憶内容の一部の写しを
データ管理単位に保持するキャッシュメモリにおけるデ
ータ管理単位のリプレース制御方式であって、ランダム
アクセスファイルについては、最も最近アクセスされた
データ管理単位に対して最もリプレースされにくいリプ
レース順位を付与し、順次アクセスファイルについて
は、最も最近アクセスされたデータ管理単位に対して最
もリプレースされにくいリプレース順位を付与すると共
にアクセスが終了したデータ管理単位に対して最先では
ないが優先的にリプレースされるリプレース順位を付与
するようにしたものである。
また、本発明によるキャッシュ制御装置は、主記憶装
置と外部記憶装置との間に配置され、該外部記憶装置の
記憶内容の一部の写しを保持するキャッシュメモリを用
い、上位装置から前記外部記憶装置へのデータ出力時に
は、一旦、前記キャッシュメモリへデータを転送した
後、該キャッシュメモリから前記外部記憶装置へ当該デ
ータを転送するライトアフタ型のキャッシュ制御装置に
おいて、前記キャッシュメモリ上の各データ管理単位に
対して破棄されるべき順に順序付けを行う破棄順序管理
手段と、特定のデータ管理単位についての前記破棄順序
管理手段による破棄順位を、最先に破棄される順位では
ないが優先的に破棄される順位に変更する破棄順序変更
手段とを具備したものである。
前記破棄順序管理手段は、例えば、複数のデータ管理
単位を、破棄順位の低い第1のグループと破棄順位の高
い第2グループとに分割して管理し、前記破棄順序変更
手段は、上位装置からのデータ入力命令が順次アクセス
ファイルに対する入力命令であった場合、当該入力デー
タを含むデータ管理単位の全域に渡って前記上位装置へ
の入力が終了したときに、当該データ管理単位を前記第
2グループの最も破棄順位の低い位置に、または前記第
1グループの最も破棄順位の高い位置に位置付けるもの
である。
本発明による他のキャッシュ制御装置は、主記憶装置
と外部記憶装置との間に配置され、該外部記憶装置の記
憶内容の一部の写しを保持するキャッシュメモリを用
い、上位装置から前記外部記憶装置へのデータ出力時に
は、一旦、前記キャッシュメモリへデータを転送した
後、該キャッシュメモリから前記外部記憶装置へ当該デ
ータを転送するライトアフタ型のキャッシュ制御装置に
おいて、前記キャッシュメモリ上の各データ管理単位に
対して破棄されるべき順に順序付けを行う破棄順序管理
手段と、順次アクセスファイルに対して、入力命令によ
りキャッシュメモリに取り込まれた前記データ管理単位
について、該データ管理単位に対する出力命令が追従す
ることなく予め定めた数の後続のデータ管理単位に対し
て入力命令が発行されたとき、当該データ管理単位を優
先的に破棄するよう前記破棄順序管理手段の破棄順序を
変更する破棄順序変更手段とを備えたものである。
前記予め定めた数を定めるにあたっては、入力命令に
よりキャッシュメモリに取り込まれたデータ管理単位に
ついて、追従する命令が発行されるまでに入力命令が発
行されるデータ管理単位の数を計測する計測手段を有
し、該計測手段の計測結果により定めることができる。
本発明によるキャッシュメモリシステムは、ディスク
装置の記憶内容の一部の写しを保持するディスクキャッ
シュメモリと、上位装置から前記ディスク装置へのデー
タ出力時には、一旦、前記キャッシュメモリへデータを
転送し、その後、該キャッシュメモリから前記ディスク
装置へ当該データを転送するライトアフタ型のキャッシ
ュ制御装置とを備えるキャッシュメモリシステムにおい
て、前記上位装置からは、順次アクセスによる入力命令
で入力され終わったデータに対し、前記主記憶装置内で
更新処理を行ったあと再度出力命令を発行することを、
当該入力命令実行時点もしくは実行以前の時点において
予め前記キャッシュ制御装置に指示するようにし、前記
キャッシュ制御装置内に、前記キャッシュメモリ内のデ
ータ管理単位に破棄の順序付けを行う破棄順序管理手段
と、前記上位装置による更新処理を行うことが明示され
なかったデータ管理単位については優先的に破棄するよ
う前記破棄順序管理手段による破棄順位を繰り上げる破
棄順位変更手段とを設けたものである。
[作 用] 本発明では、中央処理装置等の上位装置の入力命令に
従って入力するデータが順次アクセスファイルである場
合に、その入力データが含まれるデータ管理単位(外部
記憶装置がディスク装置の場合は例えば1トラック)の
すべてのデータがアクセスされた後に、そのデータ管理
単位を、最先の破棄対象(リプレース)とはしないが優
先的に破棄する対象とする。すたわち、即座に破棄対象
とするのではなく、若干の猶予を持たせて破棄対象とす
る。したがって、キャッシュメモリ内にしばらくの間、
順次アクセス済データを滞留させることになり、上位装
置が入力命令発行後、更新処理に費す時間や他の上位装
置との間での制御装置及びディスク装置の競合等に起因
する遅れ時間を経て追従する出力命令を、ヒットさせる
ことが可能となる。
但し、あくまで優先的に破棄するので、キャッシュメ
モリ内での不要なデータの残留は必要最小限に抑えられ
る。
前記アクセス済のデータ管理単位を優先的に破棄対象
とするのに若干の猶予を持たせる手段として、周知のLR
Uリストのような破棄順序管理手段を分割する構成を採
用したものでは、破棄される順位の中位が極めて簡単に
認識できる。従って、順次アクセスでのアクセス済のデ
ータ管理単位を破棄順位の高いグループの最後に位置付
けると、該データ管理単位は破棄される順序の中位に順
位付けられることになる。破棄順位が高いグループの最
後に位置付けられたデータ管理単位は、該データより破
棄順位の高いデータ管理単位がアクセスされるか、もし
くはキャッシュメモリに新たなデータ管理単位を格納す
る時のリプレース処理等によって破棄順序が変更され、
いずれは最先の破棄順位のデータ管理単位となる。
入力命令が更新を目的としたものであった場合、当該
データ管理単位が中位の破棄順位から最先の破棄順位へ
と移行するまでの間に、出力命令の追従アクセスがあっ
た場合にはヒットとなる。
一方、入力命令が参照であった場合には、前述の様に
破棄順序の変更により、いずれは最先の破棄対象とな
り、リプレースされる。
前記アクセス済のデータ管理単位を優先的に破棄対象
とするのに若干の猶予を持たせる他の手段として、入力
されたデータ管理単位に対して出力命令が追従すること
なく予め定めた数の後続のデータ管理単位に対して入力
命令が発行されたときにそのデータ管理単位を優先的に
破棄する構成を採用したものにおいては、少なくとも前
記予め定めた数の後続のデータ管理単位について入力命
令が発行されるまでの間に出力命令が追従したときにキ
ャッシュがヒットとなることが保証される。前記「予め
定めた数」としては、入力されたファイルの更新処理後
の出力命令が発行される確率が高いと考えられる期間に
対応して定める必要があるが、システムの用途に応じた
固定値としてもよいし、システム稼働中に実際に計測し
て得るようにしてもよい。
前記データ管理単位数以上、入力命令が先行したデー
タ管理単位については、以後、主記憶装置からキャッシ
ュメモリ及び外部記憶装置への更新データの出力は無い
と判断してもよいので、そのデータ管理単位を優先的に
破棄対象として、キャッシュメモリ内の不要なデータの
残留を防止する。この場合に「優先的に破棄対象とす
る」とは、即座に最先の破棄対象とすることであってよ
い。但し、前述した破棄順の中位に位置付ける方法をと
ることもできる。
入力命令が更新を目的としたものであるか、参照を目
的としたものであるかが入力命令実行時点に上位装置か
ら明示される構成では、より確実に出力命令の追従に対
処する事が可能となる。即ち、当該入力命令が更新を目
的としたものであるか否かの判断(即ち、キャッシュメ
モリ内に残留させるべきか否かの判断)が、比較的簡単
により確実に行うことができ、処理装置内でのデータの
処理形態に即したキャッシュメモリ上でのデータ管理が
可能となる。
[実施例] 以下、本発明の実施例について図面により詳細に説明
する。
まず、第3図に本発明が適用される計算機システムの
構成例を示す。
この計算機システムは、中央処理装置101、主記憶装
置102、入出力制御装置(チャネル)103、ディスク制御
装置104、キャッシュメモリ部105、ディレクトリ部10
6、ディスク装置107から成る。
本発明が適用される部分は、主としてキャッシュメモ
リ部105とディレクトリ部106であり、その一般的な構造
を第2図に示す。
第2図において、キャッシュメモリ部105は複数個の
エントリから成り、各エントリに1トラック分のデータ
を格納する。このエントリをスロット201と呼ぶ。以下
の説明では、各スロットに格納される1トラックがデー
タ管理単位に対応するが、データ管理単位は、1トラッ
ク以下あるいは数トラックの単位であってもよい。ディ
レクトリ部106、サーチテーブル202とスロット管理テー
ブル203とから成る。サーチテーブル202はキャッシュメ
モリ105にステージングされているトラックのアドレス
を示す情報を持ち、中央処理装置101から要求のあった
データがキャッシュメモリ105内に存在するか否かの判
定、即ち、ヒット/ミスヒットの判定をこのテーブルに
より行う。スロット管理テーブル203は、キャッシュメ
モリ105の各スロットと1対1に対応するエントリを持
つ。このエントリをスロット管理ブロック204と呼び、
各スロット201に格納されているトラックの管理情報、
例えばデバイス・アドレス,シリンダ・アドレス,ヘッ
ド・アドレス及びステータス等を持つ。
また、すべてのスロット管理ブロック204はLRUアルゴ
リズムに従って順序付けられ、LRUリストを構成する。L
RUリストの最も最近アクセスされたデータの位置する側
をMRU側(Most Recently Used)と呼び、最も古い過
去にアクセスされたデータの位置する側をLRU側と呼
ぶ。リプレース時はLRU側に位置するスロットをリプレ
ース対象とする。
次に、アクセス済データをキャッシュメモリ内に残留
させる期間を設定する。すなわち優先的に破棄されるよ
うにする契機を定める一実施例を第1図を用いて示す。
この実施例では、前述のLRUリストをアクセスされる
可能性の高位のものと低位のものに、例えば半々に2分
割する。そのアクセスされる可能性高位のグループすな
わち破棄順位の低いグループを第1LRUリスト301とし、
アクセスされる可能性低位のグループすなわち破棄順位
の高いグループを第2LRUリスト302とする。
通常のランダムアクセスでアクセスされたデータにつ
いては、そのアクセス時に第1LRUリスト301のMRU側に位
置付け、キャッシュメモリに新たなデータを格納する際
のリプレース対象としては、第2LRUリストのLRU側のデ
ータを用いることとする。
一方、順次アクセスされるデータについては、そのア
クセス時にはランダムアクセスと同様、第1LRUリスト30
1のMRU側に位置付けるものとし、さらに前述の先読み処
理によりキャッシュ内に格納されたデータも同じく第1L
RUリスト301のMRU側に位置付けるものとする。ランダム
アクセスされるデータと異なる点は、以後、所定の契機
により第2LRUリスト302のMRU側へ遷移させられることに
ある。
なお、第2LRUリストに属するデータが第1LRUリストに
遷移する場合には、双方のLRUリストに属するスロット
管理ブロックの個数を同数に保つ為に、第1LRUリストの
LRU側に位置するデータを第2LRUリストのMRU側に遷移さ
せる。
第6図に、LRUリストを2分割した場合のスロット管
理テーブル203の具体的構成例を示す。
このスロット管理テーブル203は、前記第1および第2
LRUリスト301,302と、両LRUリストを管理するLRUリスト
管理テーブル303とからなる。
第1LRUリスト301および第2LRUリスト302は、それぞ
れ、複数個のスロット管理テーブル204からなり、各リ
スト内において、すべてのスロット管理テーブル204が
相互に順序付けられる。1つのスロット管理テーブル20
4は、スロット管理情報の他にフォワード方向ポインタ
(FP)とバックワード方向ポインタ(BP)とを有し、次
順位および前順位のスロット管理ブロック204を指し示
す。各ブロック204は、絶対的な順位を示す情報は保持
せず、前後のブロックにより相対的にその順位が決まる
ので、特定のブロックの順位の変更する際には、一部の
ブロックのポインタFP,BPを変更すれば足りる。
LRUリスト管理テーブル303は、第1LRUリスト301のMRU
ポインタおよびLRUポインタと、第2LRUリスト302のMRU
ポインタおよびLRUポインタとからなり、それぞれ、第
1および第2LRUリスト301、302のMRU側およびLRU側のス
ロット管理ブロックを指し示す。
第1図において、ある順次アクセスファイルのトラッ
ク#n(303)に順次アクセスによる入力命令でアクセ
スがあると、該トラックに対応するスロット管理ブロッ
ク305を第1LRUリスト301のMRU側(図中a)に位置付け
る。この際、前述の先読み処理によってトラック#n+
1(304)以降の数トラックがキャッシュメモリ内に格
納される。したがって、トラック#nの位置はその分LR
U側へ移動する。順次アクセスファイルについても初め
は第1LRUリストのMRU側に位置付けられるようにした理
由は、通常1トラックには複数のレコードを含み、1ト
ラックについて複数の入力命令が発行されることがある
からである。
トラック#nのトラック全域に渡って入力命令でのア
クセスが終了した時、当該トラックに対応するスロット
管理ブロック305(実際にはこの時点で第1LRUリストの
中位にまで下降している)を第2LRUリストのMRU側(図
中a′)に遷移させる。トラック全域に渡ってアクセス
が終了したことの認識は、そのトラックの最終レコード
がアクセスされた時を契機としてもよいし、そのトラッ
クの次のトラック、すなわちトラック#n+1(304)
の先頭レコードがアクセスされた時としてもよい。
第2LRUリストのMRU側に位置付けられたトラック#n
は、該トラックよりも下位のトラックに対するアクセス
や、新たなデータを格納する為のリプレース等によって
第2LRUリストが変更されるに従いその位置はLRU側に近
づく。該トラックが第2LRUリストのLRU側に位置付けら
れてリプレース対象となるまでの間に、追従する出力命
令でのアクセスがあればヒットとなる。またアクセスが
なかった場合は、該入力命令は参照を目的としたものと
みなされ、該トラックはリプレースの対象となる。
この実施例によると、第2LRUリストのMRUにトラック
を位置付けた後は、そのトラックは他のデータへのアク
セス時のLRUリストの変更によって自然のなりゆきで下
降する為、当該トラックに対し何の操作も必要としな
い。従って、プログラム論理が簡単で済むという利点を
持つ。
次に、アクセス済みトラックを優先的に破棄する契機
を定める他の実施例を第4図を用いて示す。
第4図は、ある順次アクセスされるファイルの様子を
示す。
同図中、401はトラックであり、先頭に該トラックの
アドレス情報等を持つホームアドレス部(HA)402があ
り、以降、レコード403が複数個存在する。
順次アクセスにおいては、ファイルの先頭、即ち、フ
ァイル中の最も若番のトラックからアクセスが開始さ
れ、以降、レコードの昇順、トラックの昇順に従いアク
セスが進行する。
この実施例においては、該ファイルの先頭トラック、
即ちトラック#n(401)は、トラック全域にアクセス
が終了した時点で、キャッシュメモリからより優先的に
リプレースされる様にする。この「より優先的にリプレ
ースされる様にする」ことは、ここではそのトラックを
前述のLRUリストのLRU側に位置付けることによって行
う。
ファイルへのアクセスが更新を目的としたものであっ
た場合、以降、中央処理装置はレコードの昇順、トラッ
クの昇順に従い入力命令を発行しながら、入力したデー
タをトラック#n(401)から更新処理を行う。
更新されたトラック#n(401)のデータが出力命令
によって出力された時を契機として、その時点までに入
力命令の進行した最後のトラックを捜索し、トラック#
nとのトラック数の差を計測する。例えば、トラック#
nに対する出力命令受領時までに入力命令が最後に発行
されたトラックがトラック#n+m(405)であった場
合、トラックの隔り数はmトラックとなる。以降、この
ファイルについては、トラック全域に渡って入力命令で
のアクセスが終了したトラック、例えばトラック#n+
mは、それまでの様なより優先的にキャッシュメモリか
ら破棄する様な処理は行わず、そのままキャッシュメモ
リに留めるようにする。さらに入力命令でのアクセスが
進行し、残しておいたトラック、即ちトラック#n+m
より前記の隔差mトラック以上入力命令が先行した時、
即ちトラック#n+2m+1(406)に対して入力命令が
あった時、トラック#n+mを、以降、出力命令にてア
クセスされる可能性が低いとみなし、より優先的にキャ
ッシュメモリより破棄する様にする。
この実施例によれば、出力命令が発行されるまでは入
力命令の完了したトラックをより優先的に破棄する様に
する為、該ファイルへの入力命令が参照を目的としたも
のであった場合には出力命令が発行されず、アクセス済
の不必要なデータがキャッシュメモリ内にたまることは
ない。また、入力命令が更新を目的としたものであり出
力命令が追従した場合でも、そのトラック隔たり数分だ
けの猶予期間の後、優先的にキャッシュメモリより破棄
されるので、更新時のヒット率向上を図りながら、キャ
ッシュないの不要なデータを最小限に抑えることができ
る。
なお、この実施例では出力命令が発行されるまでは、
アクセス済みトラックを優先的に破棄するようにした
が、前記トラック隔たり数に初期値を与えておき、計測
値により変更するようにしてもよい。あるいは、用途に
よっては固定値としてもよい。
次に本発明の第3の実施例を第5図を用いて示す。
ある順次アクセスによる入力命令実行時には、ある特
定の制御命令とそのパラメータとによって当該入力命令
が更新処理を目的としたものか、参照処理を目的とした
ものであるかが指示されるものとする。制御装置は、該
制御命令受領時にはそのパラメータ(即ち、更新処理の
有無)を例えばレジスタあるいはメモリに記憶する。順
次アクセスによる入力命令がトラック全域に渡って終了
した時、該記憶情報に基づき第5図に示す様な以下のア
ルゴリズムにて処理する。
ステップ501においては、該記憶情報に基づき当該ト
ラックのデータが処理装置にて更新されるか否か、即ち
出力命令の追従があるか否かを判断する。前記制御命令
によって更新処理を行うことが指示された場合にはステ
ップ502の処理を行う。また更新処理を行わない事が指
示された場合もしくは前記制御命令の指示が無かった場
合には、ステップ503の処理を行う。
ステップ502では当該トラックのデータをLRUリストの
MRU側へ位置付ける。この処理により、当該トラックの
データがキャッシュメモリ内から破棄されるまでには、
他のトラックに対するアクセスや新たなデータをキャッ
シュメモリ内に格納する為のリプレース処理等によって
LRUリストが変更され、当該トラックのデータがLRU側に
位置付けられるまでの時間が与えられる。この間に、当
該トラックに対して更新処理後の出力命令が発行された
場合はヒットとなる。本処理ではMRU側に位置付けるこ
とにより、当該トラックのデータが破棄されるまでには
充分な時間があり、出力命令受領時にヒットとなる可能
性は大きくなる。
ステップ503では当該トラックのデータをLRUリストの
LRU側へ位置付ける。この処理により、当該トラックの
データはより優先的にキャッシュメモリから破棄されや
すくなる。従って参照を目的とした順次アクセスで入力
され終った不必要なデータが長い間大量にキャッシュメ
モリ内に存在することはなくなる。
なお、前記各実施例において、アクセス対象のデータ
の属性情報(順次アクセスファイルか非順次アクセスフ
ァイルか)、及びエクステント情報(ディスク装置上の
当該ファイルの記憶範囲)を制御装置が認識することが
必要である。これについては特開昭55ー91050号公報を
はじめ多くの公報類で示されており、現行の計算機シス
テムにおいて実用化されている範囲指定(Define Exten
t)コマンドによってソフトウェアから通知されるもの
を用いてもよい。あるいは、当該ファイルに対するアク
セスの順序性(即ち、現在アクセスされているデータの
近傍のデータが、データの並びの昇順方向へ順番にアク
セスされたか否か)を制御装置が観測する事によって、
順次アクセスファイルか否かを認識するようにしてもよ
い。
[発明の効果] 以上の説明の様に本発明によれば、上位装置からの順
次アクセスによる入力命令が更新を目的としたものであ
った場合には、追従する出力命令に対しキャッシュメモ
リをヒットとすることが可能となり、また、参照を目的
としたものであった場合にも不必要なデータを多量にキ
ャッシュメモリ内に残留させることがない為、順次アク
セスに対しても効率よくキャッシュメモリを使用し、な
おかつ、ヒット率の向上を図ることが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は一般的なキャッシュメモリおよびそのディレクト
リの構成を示すブロック図、第3図は本発明が適用され
るディスクキャッシュ・システムの構成例を示すブロッ
ク図、第4図は本発明の第2の実施例を説明するための
実施例概念図、第5図は本発明の第3の実施例を説明す
るためのフローチャート、第6図は第1図の実施例の具
体的構成例を示すブロック図である。 105……キャッシュメモリ、106……キャッシュディレク
トリ、203……スロット管理テーブル、204……スロット
管理ブロック、301……第1LRUリスト、302……第2LRUリ
スト、303……LRUリスト管理テーブル。
フロントページの続き (72)発明者 桑原 善祥 神奈川県小田原市国府津2880番地 株式 会社日立製作所小田原工場内 (72)発明者 本間 繁雄 神奈川県小田原市国府津2880番地 株式 会社日立製作所小田原工場内 (56)参考文献 特開 昭60−45855(JP,A) 特開 昭61−290555(JP,A) 特開 昭57−167190(JP,A) 特開 平1−253024(JP,A) 特開 昭58−127260(JP,A) 特開 昭63−249242(JP,A) 実開 昭61−126352(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 3/06

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】上位装置からの入力命令にしたがって、キ
    ャッシュメモリのデータ管理単位でアクセスされ、外部
    記憶装置からキャッシュメモリ内に取り込まれたデータ
    が順次アクセスファイルである場合、 前記上位装置からアクセスされた前記データ管理単位の
    データを、前記アクセスの後、予め定めた期間は、前記
    キャッシュメモリ上に保持し、 前記予め定めた期間が経過した後は、前記キャッシュメ
    モリから廃棄されるようにする ことを特徴とするキャッシュメモリのデータ管理方法。
  2. 【請求項2】上位装置からの入力命令にしたがって、キ
    ャッシュメモリのデータ管理単位でアクセスされ、外部
    記憶装置からキャッシュメモリ内に取り込まれたデータ
    が順次アクセスファイルである場合、前記上位装置から
    アクセスされた前記データ管理単位のデータを、前記ア
    クセスの後に、前記キャッシュメモリから優先的に廃棄
    するキャッシュメモリのデータ管理方法において、 前記上位装置からアクセスされた前記データ管理単位の
    データに対する出力命令がある前に、予め定めた期間が
    経過した場合、当該データ管理単位のデータの破棄を行
    うことを特徴とするキャッシュメモリのデータ管理方
    法。
  3. 【請求項3】前記予め定めた期間は、予め定めた数のデ
    ータ管理単位のデータについて入出力命令が発行される
    期間であることを特徴とする請求項1または2記載のキ
    ャッシュメモリのデータ管理方法。
  4. 【請求項4】主記憶装置と外部記憶装置との間に配置さ
    れ、該外部記憶装置の記憶内容の一部の写しを保持する
    キャッシュメモリを用い、上位装置から前記外部記憶装
    置へのデータ出力時には、一旦、前記キャッシュメモリ
    へデータを転送した後、該キャッシュメモリから前記外
    部記憶装置へ当該データを転送するライトアフタ型のキ
    ャッシュ制御装置において、 前記キャッシュメモリ状の複数のデータ管理単位を、破
    棄順位の低い第1のグループと破棄順位の高い第2グル
    ープとに分割して管理する破棄順序管理手段と、 上位装置からのデータ入力命令が順次アクセスファイル
    に対する入力命令であった場合、前記順次アクセスファ
    イルに関するデータ管理単位のデータの前記上位装置へ
    の入力が終了したときに、当該データ管理単位を前記第
    2グループの最も破棄順位の低い位置に、または前記第
    1グループの最も破棄順位の高い位置に位置付ける破棄
    順序変更手段と を具備したことを特徴とするキャッシュ制御装置。
  5. 【請求項5】主記憶装置と外部記憶装置との間に配置さ
    れ、該外部記憶装置の記憶内容の一部の写しを保持する
    キャッシュメモリを用い、上位装置から前記外部記憶装
    置へのデータ出力時には、一旦、前記キャッシュメモリ
    へデータを転送した後、該キャッシュメモリから前記外
    部記憶装置へ当該データを転送するライトアフタ型のキ
    ャッシュ制御装置において、 前記キャッシュメモリ上の各データ管理単位に対して破
    棄されるべき順に順序付けを行う破棄順序管理手段と、 順次アクセスファイルに対して、入力命令によりキャッ
    シュメモリに取り込まれた前記データ管理単位のデータ
    について、該データ管理単位のデータに対する出力命令
    が追従することなく予め定めた数の前記順次アクセスフ
    ァイルの後続のデータ管理単位のデータに対して入力命
    令が発行されたとき、当該データ管理単位を優先的に破
    棄するよう前記破棄順序管理手段の破棄順序を変更する
    破棄順序変更手段と を備えたことを特徴とするキャッシュ制御装置。
  6. 【請求項6】入力命令によりキャッシュメモリに取り込
    まれてから、追従する出力命令が発行されるまでに、入
    力命令によってキャッシュメモリに取り込まれたデータ
    管理単位の数を計測する計測手段を有し、 該計測手段の計測結果により前記予め定めた数を定める ことを特徴とする請求項5記載のキャッシュ制御装置。
  7. 【請求項7】ディスク装置の記憶内容の一部の写しを保
    持するディスクキャッシュメモリと、上位装置から前記
    ディスク装置へのデータ出力時には、一旦、前記キャッ
    シュメモリへデータを転送し、その後、該キャッシュメ
    モリから前記ディスク装置へ当該データを転送するライ
    トアフタ型のキャッシュ制御装置とを備えるキャッシュ
    メモリシステムにおいて、 前記キャッシュ制御装置は、 前記上位装置からの順次アクセスによる入力命令で入力
    され終わったデータに対し、出力命令を発行することを
    指示する命令を、当該入力命令実行時点もしくは実行以
    前の時点において予め受領する命令受領手段と、 前記キャッシュメモリ内のデータ管理単位に破棄の順序
    付けを行う破棄順序管理手段と、 出力命令を発行することが明示されなかったデータ管理
    単位については優先的に破棄するよう前記破棄順序管理
    手段による破棄順位を繰り上げる破棄順位変更手段と を有することを特徴とするキャッシュメモリシステム。
JP01235138A 1989-09-11 1989-09-11 キャッシュメモリのデータ管理方法およびキャッシュ制御装置 Expired - Lifetime JP3083530B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01235138A JP3083530B2 (ja) 1989-09-11 1989-09-11 キャッシュメモリのデータ管理方法およびキャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01235138A JP3083530B2 (ja) 1989-09-11 1989-09-11 キャッシュメモリのデータ管理方法およびキャッシュ制御装置

Publications (2)

Publication Number Publication Date
JPH0397053A JPH0397053A (ja) 1991-04-23
JP3083530B2 true JP3083530B2 (ja) 2000-09-04

Family

ID=16981618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01235138A Expired - Lifetime JP3083530B2 (ja) 1989-09-11 1989-09-11 キャッシュメモリのデータ管理方法およびキャッシュ制御装置

Country Status (1)

Country Link
JP (1) JP3083530B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762628B2 (en) 2011-08-05 2014-06-24 Kabushiki Kaisha Toshiba Information processing apparatus and cache method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3396639B2 (ja) 1998-09-30 2003-04-14 株式会社東芝 階層記憶装置及び階層記憶制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762628B2 (en) 2011-08-05 2014-06-24 Kabushiki Kaisha Toshiba Information processing apparatus and cache method

Also Published As

Publication number Publication date
JPH0397053A (ja) 1991-04-23

Similar Documents

Publication Publication Date Title
EP0077453B1 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
US6381677B1 (en) Method and system for staging data into cache
US20030041214A1 (en) Cache control methods and apparatus for hard disk drives
JP4186509B2 (ja) ディスクシステムとそのキャッシュ制御方法
JPS60500187A (ja) データ処理システム
JPH02281350A (ja) キヤツシユ・メモリ管理
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
JPH06289999A (ja) ディスク制御システム
JPH07334426A (ja) 情報記録再生装置およびデータキャッシュ方法
JPH05303528A (ja) ライトバック式ディスクキャッシュ装置
JP3083530B2 (ja) キャッシュメモリのデータ管理方法およびキャッシュ制御装置
JP2943896B2 (ja) 計算機システム及びディスク・データの制御方法
US6209057B1 (en) Storage device having data buffer
US6360296B1 (en) Disk control apparatus
JP4104283B2 (ja) 記憶サブシステム及び情報処理システム
JPH04246746A (ja) 記憶装置システム
JPH1011337A (ja) 記憶装置におけるデータ制御方法
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JP2681986B2 (ja) 計算機システム
JPH06214720A (ja) ディスク記憶装置のデータ更新方法
JP2636470B2 (ja) データ転送パス選択方法
JP3435176B2 (ja) 磁気ディスク装置
JP2854668B2 (ja) ディスク・キャッシュ制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10