JPH06337816A - 記憶媒体の交換可能な外部記憶装置のキャッシュ方式 - Google Patents
記憶媒体の交換可能な外部記憶装置のキャッシュ方式Info
- Publication number
- JPH06337816A JPH06337816A JP5129134A JP12913493A JPH06337816A JP H06337816 A JPH06337816 A JP H06337816A JP 5129134 A JP5129134 A JP 5129134A JP 12913493 A JP12913493 A JP 12913493A JP H06337816 A JPH06337816 A JP H06337816A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- storage device
- external storage
- stored
- storage medium
- 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; CALCULATING OR 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; CALCULATING OR 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
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
シュデータがCPUに転送されることがないようにする
とともに、キャッシュメモリに格納されているデータお
よびキャッシュ管理テーブルが交換後の記憶媒体につい
てのものに自動的に更新されるようにすることを目的と
する。 【構成】 外部記憶装置の記憶媒体が交換されたとき、
この記憶媒体が交換された外部記憶装置についてのキャ
ッシュ機能を停止させるとともに、追出処理によってあ
る外部記憶装置からキャッシュされたデータがすべて追
出されたとき、この外部記憶装置についてのキャッシュ
機能を回復させるために、各外部記憶装置からキャッシ
ュメモリに格納されているデータの数を記憶するブロッ
ク数テーブルを設けた。
Description
ディスク装置,光磁気ディスク装置あるいはフロッピイ
ディスク装置などの外部記憶装置についてキャッシュを
行う方式に関する。
キャッシュ方式の原理を説明するためのブロック図であ
って、ホスト1は、CPU2,主メモリ3,キャッシュ
メモリ4,キャッシュ制御装置5およびキャッシュ管理
テーブル6を備えている。
容の例を概念的に示したものであって、このキャッシュ
管理テーブル6には、キャッシュメモリ4に格納されて
いるデータブロックの外部記憶装置における格納位置、
すなわち、当該外部記憶装置に割当てられている装置番
号、当該外部記憶装置におけるシリンダ番号,ヘッド番
号およびセクタ番号とからなる論理アドレスとによって
示される格納位置と、これに対応してこのデータブロッ
クが格納されているキャッシュメモリ4の領域番号が格
納されている。
るデータやプログラムなど(以下単に、データ、とい
う)を読出す命令をキャッシュ制御装置5に送出したと
き、このキャッシュ制御装置5は、読出すべきデータを
格納している外部記憶装置の例えばシリンダ番号,セク
タ番号,ヘッド番号などの論理アドレスに基づいてキャ
ッシュ管理テーブル6を参照し、CPU2から要求され
たデータを含むデータブロックがキャッシュメモリ4に
格納されているか否かを検索する。
ュメモリ4に格納されていることが識別されれば(ヒッ
トすれば)、キャッシュ制御装置5はこのデータをキャ
ッシュメモリ4のキャッシュ管理テーブル6から読出さ
れた論理アドレスによって読出してCPU2に返送する
ので、外部記憶装置の読取ヘッドのポジショニングや回
転待ちなどによる読出しの遅れを生じることなく、短い
時間でCPU2に外部記憶装置9に外部記憶装置が格納
しているデータが供給されるので、全体としての処理時
間が著しく短縮される。
ャッシュ管理テーブル6の検索の結果、所要のデータを
含むデータブロックがキャッシュメモリに格納されてい
ない(ミスヒット)場合には、外部記憶装置9からこの
所要のデータを含むデータブロックを読出してCPU2
に供給することになる。
の読出したデータを格納し、これに伴ってキャッシュ管
理テーブル6には、図6(b) に示したように、このデー
タブロックを読出した外部記憶装置の上記したような論
理アドレスをこのデータブロックを格納したキャッシュ
メモリの領域番号に対応させて登録し、次回の読出し要
求に際してキャッシュ機能を利用し得るようにすること
ができる。
置から読出されたデータを格納できるだけの空いている
記憶領域がない場合には、キャッシュメモリ中に最初に
書込まれたキャッシュブロックのデータについて追出し
処理を実行して新たなデータブロックを書込むスペース
を設け、このスペースに新しく読出されたキャッシュす
べきデータブロックを書込むようにする。
ような従来のキャッシュ方式においては、外部記憶装置
の装置番号とこの外部記憶装置の記憶媒体上の論理アド
レスとをキャッシュメモリに格納されているデータブロ
ックを指定する情報として用いているため、これら外部
記憶装置の記憶媒体が交換された場合には、交換後の記
憶媒体についての読出命令によってキャッシュ管理テー
ブルの検索を行った結果がヒットしたとしても、その論
理アドレスによって得られたキャッシュメモリの領域番
号に相当するメモリ領域に格納されているデータは交換
前の記憶媒体から読出されたデータであるために、上記
交換後の記憶媒体に対する読出命令によって指示された
データとは異なるデータがCPUに転送されることにな
る。
上記のような誤ったキャッシュデータがCPUに転送さ
れることがないようにするとともに、キャッシュメモリ
に格納されているデータブロック、および、キャッシュ
管理テーブルの内容が交換後の記憶媒体についてのもの
に自動的に逐次更新されるようにしたキャッシュ方式を
得ることを目的とする。
外部記憶装置と、この記憶媒体が交換されたことを検出
する媒体交換検出手段と、外部記憶装置から読出された
データブロックを格納するキャッシュメモリと、このキ
ャッシュメモリに格納されているデータブロックについ
てのキャッシュ情報を記憶するキャッシュ管理テーブル
とを備える記憶媒体の交換可能な外部記憶装置のキャッ
シュ方式において、上記キャッシュ管理テーブルのキャ
ッシュ情報のそれぞれにキャッシュ機能の無効を示す無
効フラグを格納する無効フラグ領域を設け、この媒体交
換検出手段によって記憶媒体が交換されたことが検出さ
れたとき、この記憶媒体が交換された外部記憶装置から
キャッシュメモリに格納されていたデータブロックにつ
いての前記キャッシュ管理テーブルのキャッシュ情報に
上記無効フラグをセットするようにし、外部記憶装置へ
のアクセス命令が到来したときにはこのキャッシュ管理
テーブルのキャッシュ情報を検索して、キャッシュ情報
に無効フラグがセットされているときにはキャッシュ機
能を停止させるようにした。
部記憶装置のキャッシュ方式において、キャッシュ機能
の有効/無効を示す無効フラグを格納する無効フラグ位
置をそれぞれの外部記憶装置に対応して備えるキャッシ
ュ許可テーブルを設け、この検出手段によって外部記憶
装置の記憶媒体が交換されたことが検出されたとき、記
憶媒体が交換された外部記憶装置に対応する上記キャッ
シュ許可テーブルの無効フラグ位置にキャッシュ機能を
停止する無効フラグをセットし、外部記憶装置へのアク
セス命令が到来したときにはこのキャッシュ許可テーブ
ルを参照して無効フラグがセットされている外部記憶装
置についてのキャッシュ機能を停止させるようにした。
置のキャッシュ方式において、格納されたデータによっ
てキャッシュメモリが満抔になったときに先に格納され
たデータから逐次追出し処理を行ってキャッシュメモリ
に新しいデータブロックを格納し得るようにするための
追出し処理手段と、当該ブロック数領域がキャッシュ機
能に現用されている期間中に当該外部記憶装置からキャ
ッシュメモリにデータブロックを格納したときに“1”
を加算し、この期間中に格納されていたデータブロック
が追出し処理によってキャッシュメモリから追出された
ときに“1”を減算するようにして格納されているデー
タブロックの数を記録するブロック数領域を、それぞれ
の外部記憶装置に対応して備えるブロック数テーブルを
さらに設け、このデータブロックの数が“0”のときに
は、キャッシュ許可テーブルの対応する外部記憶装置に
ついての無効フラグをリセットしてキャッシュ機能の停
止を解除するようにした。
可能な外部記憶装置のキャッシュ方式において、キャッ
シュ管理テーブルの各キャッシュ情報に対応してサブ番
号領域を設け、外部記憶装置の記憶媒体が交換されたこ
とが上記媒体交換検出手段によって検出されたときに
は、当該外部記憶装置についてのキャッシュ情報に異な
ったサブ番号を付与して外部記憶装置の装置番号ととも
にこのサブ番号を上記サブ番号領域に記憶させ、外部記
憶装置へのアクセス命令が到来したときには装置番号お
よび現用しているサブ番号の組によってキャッシュ情報
を格納・検索するようにした。
テーブルには各キャッシュ情報に対応してサブ番号領域
を設けるとともに、格納されたデータによってキャッシ
ュメモリが満抔になったときに先に格納されたデータか
ら逐次追出し処理を行ってキャッシュメモリに新しいデ
ータブロックを格納し得るようにするための追出し処理
手段と、それぞれの外部記憶装置番号とサブ番号に対応
して、格納されている当該ブロック数領域がキャッシュ
機能に現用されている期間中に当該外部記憶装置からキ
ャッシュメモリにデータブロックを格納したときに
“1”を加算し、この期間中に格納されていたデータブ
ロックが追出し処理によってキャッシュメモリから追出
されたときに“1”を減算するデータブロックの数を記
録するブロック数テーブルとをさらに設け、このブロッ
ク数領域に記憶するブロック数を当該ブロック数領域が
キャッシュ機能に現用されている期間中に当該外部記憶
装置からキャッシュメモリにデータブロックを格納した
ときに“1”を加算し、この期間中に格納されていたデ
ータブロックが追出し処理によってキャッシュメモリか
ら追出されたときに“1”を減算するようにして、この
データブロックの数が“0”のときには、対応する外部
記憶装置についてのキャッシュ機能の停止を解除するよ
うにした。
ロック図を引用しながら説明するが、そのホスト1の構
成は、図5に示した従来例の構成にキャッシュ許可テー
ブル7およびブロック数テーブル8が追加されたもので
あり、その他の構成要素には図5と同一の符号を付して
説明を省略する。
容は必ずしも上記従来例と同一ではなく、また、キャッ
シュ許可テーブル7およびブロック数テーブル8の記憶
内容も請求項記載の各発明に応じて相違している。
されたことをホストで検出することが必要であるが、こ
の記憶媒体が交換されたことを検出する方法としては公
知の方法を適宜適用することができる。
ために少なくとも一時的に外部記憶装置の電源が遮断さ
れることから、ホスト側からのポーリングによって外部
記憶装置の電源がオフになるのを常時監視しておき、こ
の外部記憶装置の電源オフによって記憶媒体の交換を検
出することができる。
は、外部記憶装置自体に記憶媒体の装着の有無の変化な
どに基づいて記憶媒体の交換を検出する手段を設けてお
き、記憶媒体の交換が検出されたときにホストに割込み
をかけて通知したり、または、記憶媒体交換後の最初の
ホストからのアクセスの際にホストに通知するなどの方
法をとることができる。
た記憶媒体の交換をホスト側で検出する場合を含めて、
その検出方法とは無関係に、記憶媒体交換情報が外部記
憶装置91,───9mからホストに伝送されるものとし
て示してある。
装置92 の記憶媒体がD1 からD2に交換されたことを
この外部記憶装置92 からの記憶媒体交換情報によって
キャッシュ制御装置5が検出すると、当該外部記憶装置
92 の記憶媒体D1 からキャッシュメモリ4に格納され
ていたデータブロックについてキャッシュ管理テーブル
6に記憶されているキャッシュ情報を使用するのを禁止
することによってキャッシュ機能を停止させ、上記のよ
うな誤りを生じないようにしたものである。
メモリ4に格納されている各データブロックに対応した
キャッシュ管理テーブル6のキャッシュ情報にそれぞれ
対応して無効フラグを設定し得るようにし、記憶媒体が
交換された外部記憶装置92からの記憶媒体交換情報が
検出されたときにはこの無効フラグをセットするように
構成する。
2,──9mに対するアクセス命令が発行されたときに
は、キャッシュ制御装置5はこのキャッシュ管理テーブ
ル6の無効フラグを参照し、アクセスすべき外部記憶装
置に対応して無効フラグがセットされていればキャッシ
ュ機能を使用しないようにした。
理テーブル6に加えて、それぞれの外部記憶装置91,9
2,──9mに対応したフラグ位置を有するキャッシュ許
可テーブル7を設け、記憶媒体D1 がD2 に交換された
外部記憶装置92 に対応するフラグ位置に無効フラグを
セットし、CPU2から外部記憶装置91,92,──9m
に対するアクセス命令が発行されたときには、キャッシ
ュ制御装置5はこのキャッシュ許可テーブル7を参照
し、アクセスすべき外部記憶装置に対応して無効フラグ
がセットされていればキャッシュ機能を使用しないよう
にした。
シュメモリ4が満抔になったときに最も長い期間アクセ
スされていないデータを追出す追出し処理機能をキャッ
シュ制御装置などに付与してある場合には、交換前の記
憶媒体D1 からキャッシュメモリ4に格納されているデ
ータは他の外部記憶装置91,──9mからの新しいデー
タが格納されることによってやがて追出されてしまう。
ャッシュメモリ4に格納されていたデータブロックが無
くなると、新しい記憶媒体D2 に対してキャッシュ機能
を回復させても、この新しい記憶媒体D2 が格納してい
るデータブロックとキャッシュメモリ4に格納されてい
るデータブロックの不一致は生じなくなる。
では、外部記憶装置からキャッシュメモリ4にデータブ
ロックを格納したときにはこの外部記憶装置に対応する
記憶領域に記憶されている数値に“1”を加算し、ま
た、外部記憶装置からキャッシュメモリ4に格納されて
いたデータブロックが追出し処理によってこのキャッシ
ュメモリ4から追出されたときにはこの外部記憶装置に
対応する記憶領域に記憶されている数値から“1”を減
算することによって、キャッシュメモリ4に格納されて
いるデータブロックの数を外部記憶装置91,92,──9
mごとに逐次記憶するブロック数テーブル8を設ける。
に対応してこのブロック数テーブル8に格納されている
ブロック数が“0”になっているときにはこの外部記憶
装置9aからキャッシュメモリ4に格納されているデー
タブロックが無いので、この外部記憶装置9aが記憶媒
体が交換されてキャッシュ機能が停止されている外部記
憶装置92 であったとしても上記したようにキャッシュ
機能を回復させても差し支えないことになるので、本発
明においては、先にこの外部記憶装置92 について無効
フラグがセットされていたとしても、この無効フラグを
リセットしてキャッシュ機能を有効にするようにした。
他にサブ番号を設定して記憶媒体が交換されたときには
異なるサブ番号を使用するようにし、キャッシュメモリ
への書込みあるいは外部記憶装置からの読出しを行なう
際には、この装置番号とサブ番号との組合せによってキ
ャッシュ管理テーブルを検索および更新するようにし
た。
の交換前と交換後とで別個の外部記憶装置として扱うこ
とになるから、記憶媒体が交換されたときにもキャッシ
ュ機能を停止させる必要がないという効果が得られる。
しい番号を用いるとすると、予想される最大の記憶媒体
交換回数に相当する数だけサブ番号を用意しなければな
らないので、このサブ番号の桁数が大きくなるなど資源
を無駄にすることになる。
号とサブ番号の組に対してそれぞれキャッシュメモリ4
に格納されているデータブロックの数を記憶するブロッ
ク数記憶領域を有するブロック数テーブル8を設け、こ
のブロック数記憶領域には、請求項3のブロック数テー
ブルについて前述したと同様に、対応する装置番号とサ
ブ番号の組における装置番号に相当する外部記憶装置か
らキャッシュメモリ4にデータブロックを格納したとき
に“1”を加算し、また、対応する外部記憶装置からキ
ャッシュメモリ4に格納されていたデータブロックが上
記の追出し処理によってこのキャッシュメモリ4から追
出されたときに“1”を減算するようにする。
数が“0”になっている装置番号とサブ番号の組、すな
わち、キャッシュメモリ4に格納されているデータブロ
ックがない装置番号とサブ番号の組を記憶媒体が交換さ
れた後の新しい装置番号とサブ番号の組として使用する
ようにした。これによって、用意すべきサブ番号の数を
極めて少なくすることができる。
と同一であり、この実施例の動作を示した図2,図3の
フローチャート、および、この実施例における上記テー
ブル6,7,8の記憶内容を示す図4の概念図を引用し
ながら説明する。なお、この実施例は請求項1,3に相
当するものである。
および9mの記憶媒体Dは交換されておらず、外部記憶
装置92 の記憶媒体がD1 からD2 に交換されているも
のとする。
読出命令が到来したときのキャッシュ制御装置5の処理
を示すフローチャートであって、ステップ[11]でキャ
ッシュ許可テーブル7(図4(b) 参照) の上記命令で指
示された外部記憶装置に対応するフラグを参照して、こ
の外部記憶装置に対するキャッシュ機能が許可されてい
るか否かを判断する。
ップ[21]で指定された外部記憶装置から要求されたデ
ータを読出してステップ[22]で主メモリ3にこのデー
タを転送して処理を終了するが、ステップ[11]でキャ
ッシュ機能が許可されていると判断するとステップ[1
2]に移って、キャッシュ管理テーブル6(図4(a) 参
照。なお、図示の便宜上、シリンダ番号,ヘッド番号お
よびセクタ番号をそれぞれC,H,Sとして示した。)
に要求されたデータが格納されている(ヒット)か否か
(ミスヒット)を判断する。
て記憶媒体Dが交換されているか否かを検出するが、こ
の検出方法としては、外部記憶装置9にセンスコマンド
を送出してこの外部記憶装置92 からの記憶媒体交換情
報を得るようにしたり、記憶媒体の交換時に当該外部記
憶装置92 からキャッシュ制御装置5に記憶媒体交換情
報を送出してこのキャッシュ制御装置5で外部記憶装置
92 の記憶媒体が交換されたことを記憶しておくように
してもよい。なお、外部記憶装置9が記憶媒体の交換を
検出する方法としては、例えばその外部記憶装置で記憶
媒体を交換する際の電源のオンオフによることができ
る。
換されていないと判断されると、ステップ[23]におい
てキャッシュメモリ4から要求されているデータを読出
し、前記テップ[22]で主メモリ3に転送して処理を終
了する。
ッシュメモリ4に格納されておらずにミスヒットする
と、ステップ[18]で外部記憶装置9から要求されたデ
ータを読出してステップ[19]で主メモリ3に転送し、
次のステップ[20]で上記ステップ[13]におけると同
様な方法で記憶媒体Dの交換を検出する。
ていないことが識別されると、キャッシュメモリ4 への
書込処理を行うためにステップ[50]に移る。なお、こ
の書込処理については後に説明する。また、以上に述べ
た処理は、外部記憶装置での記憶媒体の交換を行わない
従来技術における処理と記憶媒体の交換の判断を行う点
を除けばほぼ同様である。
が交換されたと判断されたときは、ステップ[16]に移
ってブロック数テーブル8(図4(c) 参照)を参照し、
記憶媒体が交換された外部記憶装置92 からキャッシュ
メモリ4に格納されているデータブロックの有無を格納
されているデータブロックの数によって識別する。
データがキャッシュメモリ4に格納されていれば、交換
前の記憶媒体D1 と交換後の記憶媒体D2 とからキャッ
シュされているデータが混在するのを避けるためにステ
ップ[17]でキャッシュ機能を停止させる。
て、しかもキャッシュ管理テーブル6の検索の結果がヒ
ットしている状態で、ステップ[13]で記憶媒体が交換
されたことが検出された場合には、ステップ[14]でこ
の記憶媒体が交換された外部記憶装置9 2 から要求され
ているデータを読出してステップ[15]で主メモリ3に
転送する。
ク数テーブル8を参照して、もしこの外部記憶装置92
から読出されたデータがキャッシュメモリ4に格納され
ていればステップ[17]でキャッシュ機能を停止させ、
また外部記憶装置92 から読出されたデータがキャッシ
ュメモリ4に格納されていなければ前述したステップ
[50]に移ってステップ[51]ないしステップ[63]に
よるキャッシュメモリ4への書込処理を行う。
の書込処理は、先にステップ[14]あるいは[18]で外
部記憶装置から読出されていたデータをステップ[51]
でキャッシュメモリ4に格納し、ステップ[52]でブロ
ック数テーブル8のこのデータを格納していた外部記憶
装置に対応するブロック数に“1”を加算してこの外部
記憶装置からキャッシュメモリ4に格納されているデー
タブロックの数を更新し、次のステップ[53]でキャッ
シュ管理テーブル6を新たに格納されたデータブロック
に関連するキャッシュ情報を更新する。
ない場合には、先ずステップ[60]でキャッシュメモリ
4 に格納されているデータブロックの中で最も長い期間
アクセスされていないデータブロックを消去あるいは上
書きし得るように設定し、次のステップ[61]でブロッ
ク数テーブル8のステップ[60]の追出処理によって追
出されたデータブロックを格納していた外部記憶装置、
例えば91 のデータブロック数から“1”を減算してこ
の追出処理後にこの外部記憶装置91 からキャッシュメ
モリ4に格納されているデータブロックの数と一致させ
る。
の外部記憶装置91 に対応するデータブロックの数が
“0”になったことがステップ[62]で検出された場合
にはこの外部記憶装置91 からキャッシュメモリ4に格
納されているデータが存在しないことになる。
憶装置91 の記憶媒体が交換されたときに直ちにキャッ
シュ機能を有効にしても支障がないので、ステップ[6
3]でキャッシュ許可テーブル7のこの外部記憶装置9
1 に対応する無効フラグがもともとセットされていなけ
ればそのまま、もし無効フラグがセットされていた場合
でもこの無効フラグをリセットしてこの外部記憶装置9
1 についてのキャッシュ機能を回復させる。
数テーブル8の外部記憶装置9 1 についてのブロック数
が“1”以上の場合にはこの外部記憶装置91 からキャ
ッシュメモリ4に格納されているデータが存在するの
で、もしこの外部記憶装置91の記憶媒体が交換された
ときに、交換前の記憶媒体からキャッシュされていたデ
ータを主メモリ3に転送してしまうことが起こるので、
もし無効フラグがセットされていた場合にはキャッシュ
機能が停止された状態を維持させる。
ップ[63]は、この読出命令によって指示されている外
部記憶装置についての処理である場合もあるが、この読
出命令の対象となっている外部記憶装置とは無関係に追
出されるデータブロックを格納していた外部記憶装置が
処理対象となることから、このフローチャートでは点線
を枠としたステップで示した。
書込命令が到来したときの処理を示すフローチャートで
あって、この書込命令が到来するとステップ[30]で主
メモリ3 から転送されたデータを指示された外部記憶装
置に書込む。
置に対するキャッシュ機能が許可されているか否かを判
断し、キャッシュ機能が停止されていればそのまま終了
するが、キャッシュ機能が許可されていればステップ
[32]に移って、読出命令のステップ[13]について説
明したと同様な方法で、この外部記憶装置の記憶媒体が
交換されているか否かを検出する。
シュ管理テーブル6を参照して書込みを指示されたデー
タがヒットしているか否かを判断し、ヒットしていれば
ステップ[42]で以前に格納されていたデータを更新す
るが、ミスヒットの場合には新たにこのデータを書込む
ためにステップ[50]に移る。
たと判断したときには、ブロック数テーブル8を参照し
てこの外部記憶装置からキャッシュメモリ4に格納され
ているブロックの数を読出し、ブロック数が“0”であ
ればこのデータを書込むためにステップ[50]に移る
が、“0”でなければステップ[34]でこの外部記憶装
置についてのキャッシュ機能を停止させて、交換前の記
憶媒体からのデータと交換後の記憶媒体からのデータと
がキャッシュメモリ上に混在して誤動作するのを防止す
る。
リ4への書込処理およびこれに伴う各テーブル6,7,
8の更新処理は、図3のステップ[50]以降について説
明した処理と同一であるから、説明を省略する。
ャッシュ管理テーブルの構成を変更することなく、キャ
ッシュ許可テーブルおよびブロック数テーブルを追加す
るだけで記憶媒体の交換によるキャッシュ機能の誤動作
を防止しながら、この記憶媒体が交換された外部記憶装
置についてのキャッシュ機能の自動的な回復を図ること
ができる。
8を除くとともに、図2に示した読出時のフローチャー
トにおけるステップ[16]および図3に示した書込時の
フローチャートにおけるステップ[33]におけるブロッ
ク数の判断を省いてこれらのステップ[16],[33]か
らステップ[17],[34]に移行するようにすれば、特
許請求の範囲第1項の発明として、記憶媒体が交換され
た外部記憶装置については常にキャッシュ機能を停止さ
せて、記憶媒体の交換によるキャッシュ機能の誤動作を
防止することができる。
シュ管理テーブル6における各キャッシュ情報ごとに無
効フラグを格納する記憶位置を設けておき、キャッシュ
許可の判断およびキャッシュ機能の停止あるいは許可の
状態を識別・設定するときにこのキャッシュ管理テーブ
ルの無効フラグをこの実施例のキャッシュ許可テーブル
の無効フラグに代えて用いることによって、記憶媒体が
交換された外部記憶装置については常にキャッシュ機能
を停止させるようにした特許請求の範囲第2項の発明と
して構成することができる。なお、この場合には、キャ
ッシュ管理テーブルを検索して無効フラグを識別・設定
することが必要になる。
ュ許可テーブル7を用いて、上記実施例のように、当該
外部記憶装置からキャッシュメモリに格納されていたデ
ータが無いことを条件にキャッシュ管理テーブル6にセ
ットされている無効フラグをリセットして、この外部記
憶装置に対するキャッシュ機能を回復することができる
ことは、前記の第1実施例と同様である。
ては、外部記憶装置92 から取り出された交換前の記憶
媒体D21からキャッシュされていたデータがキャッシュ
メモリ4から無くなるまでこの外部記憶装置92 につい
てのキャッシュ機能を有効にすることができず、したが
ってこの外部記憶装置92 についてのキャッシュ機能が
有効になるまでの期間においてはCPU2が要求したデ
ータを得るまでの時間がかかるので、処理時間が長くな
るという問題がある。
外部記憶装置92 に対しても記憶媒体の交換直後からキ
ャッシュ機能を有効にし得るように改良した方式を提供
するもので、図6(a) に示したように、キャッシュ管理
テーブル6には外部記憶装置番号に加えてサブ番号を記
憶する領域を設け、外部記憶装置92 の記憶媒体が交換
されるごとにキャッシュ制御装置5が当該外部記憶装置
のサブ番号を順次変更して、装置番号とサブ番号との組
を例えば92 −a,92 −b,92 −c,──のように
逐次変更し、この装置番号とサブ番号との組を前記した
従来例あるいは第1実施例における装置番号と同等なも
のとして処理を行うようにする。
は、その2行目のキャッシュ情報は記憶媒体の交換後に
キャッシュしたデータについてのキャッシュ情報であっ
てそのサブ番号はbであり、また、同3行目のキャッシ
ュ情報は記憶媒体の交換前にキャッシュしたデータにつ
いてのキャッシュ情報であり、したがってそのサブ番号
はaになっている。
部記憶装置と交換後の外部記憶装置とは、装置番号とサ
ブ番号の組が互いに相違しているから見掛上互いに別個
の外部記憶装置として扱われることになり、したがっ
て、記憶媒体の交換後直ちにキャッシュ機能を有効にし
ても誤動作を生じることはない。
交換されるごとに新しいサブ番号を使用しなければなら
ず、したがってこのサブ番号として常に新しい番号を用
いるとすると、予想される最大の記憶媒体交換回数に相
当する数だけサブ番号を用意しなければならないので、
このサブ番号の桁数が大きくなるなど資源を無駄にする
ことになる。
置番号とサブ番号の組に対してそれぞれキャッシュメモ
リ4に格納されているデータブロックの数を記憶するブ
ロック数記憶領域を有するブロック数テーブル8を設
け、このブロック数記憶領域には、第1実施例のブロッ
ク数テーブルについて説明したと同様に、外部記憶装置
からキャッシュメモリ4にデータブロックを格納したと
きにそのときの装置番号とサブ番号の組に対応する記憶
領域に“1”を加算し、また、キャッシュメモリ4に格
納されていたデータブロックが追い出し処理によってこ
のキャッシュメモリ4から追い出されたときに対応する
外部記憶装置とサブ番号の組に対応する記憶領域から
“1”を減算するようにする。
数が“0”になっている装置番号とサブ番号の組、すな
わち、キャッシュメモリ4に格納されているデータブロ
ックがない装置番号とサブ番号の組を記憶媒体が交換さ
れた後の新しい装置番号とサブ番号の組として使用すれ
ば、用意すべきサブ番号の数、したがって、このブロッ
ク数テーブル自体の記憶領域の数も極めて少なくするこ
とができる。
憶装置に対応してそれぞれ複数の記憶領域a,b,c─
─を有するキャッシュ許可テーブル7を設け、この装置
番号とサブ番号の組ごとにキャッシュ機能の有効/無効
を示すフラグをセットするようにすれば、図6(a) のキ
ャッシュ管理テーブルに代えて無効フラグ記憶領域を有
しない図4(a) あるいは従来例と同様なキャッシュ管理
テーブルを用いて上記同様の処理を行うことができる。
ように、記憶媒体が交換されたときに、キャッシュ管理
テーブルのキャッシュ情報について記憶媒体が交換され
た外部記憶装置とサブ番号の組を検索し、この組につい
てのキャッシュ情報に無効フラグをセットする必要がな
いので、処理が簡単になるという効果が得られる。
体を交換したときにも、交換前の記憶媒体からキャッシ
ュメモリに格納されていたデータと交換後の記憶媒体か
らキャッシュメモリに格納されたデータとが混在するこ
とによる誤動作を防止することができ、また、この記憶
媒体の交換後直ちにこの外部記憶装置についてキャッシ
ュ動作をさせることができるという格別の効果が得られ
る。
動作例を示すフローチャートである。
動作例を示すフローチャートである。
念図である。
念図である。
念図である。
Claims (5)
- 【請求項1】記憶媒体の交換が可能な外部記憶装置と、
この記憶媒体が交換されたことを検出する媒体交換検出
手段と、外部記憶装置から読出されたデータブロックを
格納するキャッシュメモリと、このキャッシュメモリに
格納されているデータブロックについてのキャッシュ情
報を記憶するキャッシュ管理テーブルとを備える記憶媒
体の交換可能な外部記憶装置のキャッシュ方式におい
て、 上記キャッシュ管理テーブルのキャッシュ情報のそれぞ
れにキャッシュ機能の無効を示す無効フラグを格納する
無効フラグ領域を設け、 前記媒体交換検出手段によって記憶媒体が交換されたこ
とが検出されたとき、この記憶媒体が交換された外部記
憶装置からキャッシュメモリに格納されていたデータブ
ロックについての前記キャッシュ管理テーブルのキャッ
シュ情報に上記無効フラグをセットするようにし、外部
記憶装置へのアクセス命令が到来したときにはこのキャ
ッシュ管理テーブルのキャッシュ情報を検索して、キャ
ッシュ情報に無効フラグがセットされているときにはキ
ャッシュ機能を停止させるようにしたことを特徴とする
記憶媒体の交換可能な外部記憶装置のキャッシュ方式。 - 【請求項2】記憶媒体の交換が可能な外部記憶装置と、
この記憶媒体が交換されたことを検出する媒体交換検出
手段と、外部記憶装置から読出されたデータブロックを
格納するキャッシュメモリと、このキャッシュメモリに
格納されているデータブロックについてのキャッシュ情
報を記憶するキャッシュ管理テーブルとを備える記憶媒
体の交換可能な外部記憶装置のキャッシュ方式におい
て、 キャッシュ機能の有効/無効を示す無効フラグを格納す
る無効フラグ位置をそれぞれの外部記憶装置に対応して
備えるキャッシュ許可テーブルを設け、 上記検出手段によって外部記憶装置の記憶媒体が交換さ
れたことが検出されたとき、記憶媒体が交換された外部
記憶装置に対応する上記キャッシュ許可テーブルの無効
フラグ位置にキャッシュ機能を停止する無効フラグをセ
ットし、外部記憶装置へのアクセス命令が到来したとき
にはこのキャッシュ許可テーブルを参照して無効フラグ
がセットされている外部記憶装置についてのキャッシュ
機能を停止させるようにしたことを特徴とする記憶媒体
の交換可能な外部記憶装置のキャッシュ方式。 - 【請求項3】格納されたデータによってキャッシュメモ
リが満抔になったときに先に格納されたデータから逐次
追出し処理を行ってキャッシュメモリに新しいデータブ
ロックを格納し得るようにするための追出し処理手段
と、 当該ブロック数領域がキャッシュ機能に現用されている
期間中に当該外部記憶装置からキャッシュメモリにデー
タブロックを格納したときに“1”を加算し、この期間
中に格納されていたデータブロックが追出し処理によっ
てキャッシュメモリから追出されたときに“1”を減算
するようにして格納されているデータブロックの数を記
録するブロック数領域を、それぞれの外部記憶装置に対
応して備えるブロック数テーブルをさらに設け、 このデータブロックの数が“0”のときには、キャッシ
ュ許可テーブルの対応する外部記憶装置についての無効
フラグをリセットしてキャッシュ機能の停止を解除する
ようにしたことを特徴とする請求項1または請求項2記
載の記憶媒体の交換可能な外部記憶装置のキャッシュ方
式。 - 【請求項4】記憶媒体の交換が可能な外部記憶装置と、
この記憶媒体が交換されたことを検出する媒体交換検出
手段と、外部記憶装置から読出されたデータブロックを
格納するキャッシュメモリと、このキャッシュメモリに
格納されているデータブロックについてのキャッシュ情
報を記憶するキャッシュ管理テーブルとを備える記憶媒
体の交換可能な外部記憶装置のキャッシュ方式におい
て、 上記キャッシュ管理テーブルの各キャッシュ情報に対応
してサブ番号領域を設け、外部記憶装置の記憶媒体が交
換されたことが上記媒体交換検出手段によって検出され
たときには、当該外部記憶装置についてのキャッシュ情
報に異なったサブ番号を付与して外部記憶装置の装置番
号とともにこのサブ番号を上記サブ番号領域に記憶さ
せ、外部記憶装置へのアクセス命令が到来したときには
装置番号および現用しているサブ番号の組によってキャ
ッシュ情報を格納・検索するようにしたことを特徴とす
る記憶媒体の交換可能な外部記憶装置のキャッシュ方
式。 - 【請求項5】上記キャッシュ管理テーブルには各キャッ
シュ情報に対応してサブ番号領域を設けるとともに、格
納されたデータによってキャッシュメモリが満抔になっ
たときに先に格納されたデータから逐次追出し処理を行
ってキャッシュメモリに新しいデータブロックを格納し
得るようにするための追出し処理手段と、 それぞれの外部記憶装置番号とサブ番号に対応して、格
納されている当該ブロック数領域がキャッシュ機能に現
用されている期間中に当該外部記憶装置からキャッシュ
メモリにデータブロックを格納したときに“1”を加算
し、この期間中に格納されていたデータブロックが追出
し処理によってキャッシュメモリから追出されたときに
“1”を減算するデータブロックの数を記録するブロッ
ク数テーブルとをさらに設け、 このブロック数領域に記憶するブロック数は、当該ブロ
ック数領域がキャッシュ機能に現用されている期間中に
当該外部記憶装置からキャッシュメモリにデータブロッ
クを格納したときに“1”を加算し、この期間中に格納
されていたデータブロックが追出し処理によってキャッ
シュメモリから追出されたときに“1”を減算するよう
にし、このデータブロックの数が“0”のときには、対
応する外部記憶装置についてのキャッシュ機能の停止を
解除するようにしたことを特徴とする請求項4記載の記
憶媒体の交換可能な外部記憶装置のキャッシュ方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12913493A JP3600257B2 (ja) | 1993-05-31 | 1993-05-31 | 情報処理装置及びキャッシュ制御装置 |
US08/222,390 US5586290A (en) | 1993-05-31 | 1994-04-04 | Cache system of external storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12913493A JP3600257B2 (ja) | 1993-05-31 | 1993-05-31 | 情報処理装置及びキャッシュ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06337816A true JPH06337816A (ja) | 1994-12-06 |
JP3600257B2 JP3600257B2 (ja) | 2004-12-15 |
Family
ID=15001955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12913493A Expired - Fee Related JP3600257B2 (ja) | 1993-05-31 | 1993-05-31 | 情報処理装置及びキャッシュ制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5586290A (ja) |
JP (1) | JP3600257B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010027047A (ja) * | 2008-07-22 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | コヒーレンス性追跡方法およびデータ処理システム(領域コヒーレンス配列に対する領域ビクティム・ハッシュの実装で強化されたコヒーレンス性追跡) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2964926B2 (ja) * | 1995-08-29 | 1999-10-18 | 富士ゼロックス株式会社 | データベース管理装置及び方法 |
JPH09237162A (ja) * | 1996-02-23 | 1997-09-09 | Hewlett Packard Co <Hp> | 走査型データ記憶システム、及びその針摩耗管理方法、媒体摩耗管理方法、並びに残存寿命表示装置 |
US6115795A (en) | 1997-08-06 | 2000-09-05 | International Business Machines Corporation | Method and apparatus for configurable multiple level cache with coherency in a multiprocessor system |
US20020078026A1 (en) * | 2000-12-14 | 2002-06-20 | Fergus Joseph E. | Method and apparatus for bulk data remover |
JP3819364B2 (ja) * | 2001-04-27 | 2006-09-06 | 株式会社エヌ・ティ・ティ・データ | パケット追跡システム |
JP2003069639A (ja) * | 2001-08-27 | 2003-03-07 | Nec Corp | xDSL収容装置、マルチキャスト配信システム及びデータ配信方法 |
US6968428B2 (en) * | 2002-06-26 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | Microprocessor cache design initialization |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US20060136664A1 (en) * | 2004-12-16 | 2006-06-22 | Trika Sanjeev N | Method, apparatus and system for disk caching in a dual boot environment |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
US20150293699A1 (en) * | 2014-04-11 | 2015-10-15 | Graham Bromley | Network-attached storage enhancement appliance |
GB2536005B (en) * | 2015-03-02 | 2021-09-29 | Advanced Risc Mach Ltd | Initialising control data for a device |
US10083096B1 (en) * | 2015-12-15 | 2018-09-25 | Workday, Inc. | Managing data with restoring from purging |
CN109725825B (zh) | 2017-10-27 | 2022-03-11 | 伊姆西Ip控股有限责任公司 | 用于管理缓存的方法、设备和计算机程序产品 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506323A (en) * | 1982-03-03 | 1985-03-19 | Sperry Corporation | Cache/disk file status indicator with data protection feature |
US4916605A (en) * | 1984-03-27 | 1990-04-10 | International Business Machines Corporation | Fast write operations |
EP0203601B1 (en) * | 1985-05-29 | 1992-08-05 | Kabushiki Kaisha Toshiba | Cache system adopting an lru system, and magnetic disk controller incorporating it |
US5253351A (en) * | 1988-08-11 | 1993-10-12 | Hitachi, Ltd. | Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values |
JP2776841B2 (ja) * | 1988-09-28 | 1998-07-16 | 株式会社日立製作所 | ディスク制御装置におけるディスクアクセス制御方法 |
US5133060A (en) * | 1989-06-05 | 1992-07-21 | Compuadd Corporation | Disk controller includes cache memory and a local processor which limits data transfers from memory to cache in accordance with a maximum look ahead parameter |
US5347642A (en) * | 1989-11-30 | 1994-09-13 | Nec Electronics Inc. | Cache memory management unit |
US5289581A (en) * | 1990-06-29 | 1994-02-22 | Leo Berenguel | Disk driver with lookahead cache |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
JPH06505584A (ja) * | 1991-03-05 | 1994-06-23 | ザイテル コーポレーション | キャッシュメモリ |
US5440686A (en) * | 1993-12-22 | 1995-08-08 | International Business Machines Corporation | Selecting a data unit candidate to be demoted to a backing store from a front store based upon thresholds individual to each of the data candidates |
-
1993
- 1993-05-31 JP JP12913493A patent/JP3600257B2/ja not_active Expired - Fee Related
-
1994
- 1994-04-04 US US08/222,390 patent/US5586290A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010027047A (ja) * | 2008-07-22 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | コヒーレンス性追跡方法およびデータ処理システム(領域コヒーレンス配列に対する領域ビクティム・ハッシュの実装で強化されたコヒーレンス性追跡) |
Also Published As
Publication number | Publication date |
---|---|
JP3600257B2 (ja) | 2004-12-15 |
US5586290A (en) | 1996-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06337816A (ja) | 記憶媒体の交換可能な外部記憶装置のキャッシュ方式 | |
EP0077451B1 (en) | Storage subsystem including a bypassable cache | |
US4420807A (en) | Selectively holding data in a buffer for defective backing store tracks | |
US4466059A (en) | Method and apparatus for limiting data occupancy in a cache | |
EP0077452B1 (en) | Data promotion in storage subsystems | |
US6725342B1 (en) | Non-volatile mass storage cache coherency apparatus | |
US4445174A (en) | Multiprocessing system including a shared cache | |
EP0071719B1 (en) | Data processing apparatus including a paging storage subsystem | |
EP0062175B1 (en) | Data processing apparatus with early cache discard | |
US5802582A (en) | Explicit coherence using split-phase controls | |
US5481691A (en) | Cache page replacement using sequential LIFO and non-sequential LRU cast out | |
JPS6212547B2 (ja) | ||
JPS5960552A (ja) | 周辺デ−タ記憶システム | |
US20080301372A1 (en) | Memory access control apparatus and memory access control method | |
CA1222062A (en) | Method for protecting volatile primary store in a staged storage system by circularly journaling updates into finite nonvolatile local memory | |
US6463502B1 (en) | Backup copying of data to a tape unit with a cache memory | |
JPH07507174A (ja) | 情報システムにおけるメモリ管理方法、該方法を利用する情報システム | |
JPH0460730A (ja) | キャッシュ制御方式 | |
JP3532977B2 (ja) | キャッシュメモリ装置 | |
JP2636746B2 (ja) | 入出力キャッシュ | |
JP2791319B2 (ja) | データ処理装置 | |
JP2002196980A (ja) | データローディング方法および装置 | |
JPH07168760A (ja) | キャッシュ制御装置 | |
JPH0612328A (ja) | キャッシュメモリのデータ蓄積方法 | |
JP2000066955A (ja) | コピーキャッシュ情報掃き出しレベル選択方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040914 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040916 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |