JP3600257B2 - 情報処理装置及びキャッシュ制御装置 - Google Patents
情報処理装置及びキャッシュ制御装置 Download PDFInfo
- Publication number
- JP3600257B2 JP3600257B2 JP12913493A JP12913493A JP3600257B2 JP 3600257 B2 JP3600257 B2 JP 3600257B2 JP 12913493 A JP12913493 A JP 12913493A JP 12913493 A JP12913493 A JP 12913493A JP 3600257 B2 JP3600257 B2 JP 3600257B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- storage device
- external storage
- data
- cache memory
- 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 - Fee Related
Links
Images
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/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/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)
Description
【産業上の利用分野】
記憶媒体の交換を可能にした磁気ディスク装置,光磁気ディスク装置あるいはフロッピイディスク装置などの外部記憶装置についてキャッシュを行う情報処理装置、及び、記憶媒体が交換可能であり、前記記憶媒体が交換されたことが記憶交換検出手段により検出される外部記憶装置から読出されたデータを格納するキャッシュメモリを制御するための、キャッシュ制御装置に関する。
【0002】
【従来の技術】
図7(a) は従来の外部記憶装置に対するキャッシュの原理を説明するためのブロック図であって、ホスト1は、CPU2,主メモリ3,キャッシュメモリ4,キャッシュ制御装置5およびキャッシュ管理テーブル6を備えている。
【0003】
同図(b) はキャッシュ管理テーブル6の内容の例を概念的に示したものであって、このキャッシュ管理テーブル6には、キャッシュメモリ4に格納されているデータブロックの外部記憶装置における格納位置、すなわち、当該外部記憶装置に割当てられている装置番号、当該外部記憶装置におけるシリンダ番号,ヘッド番号およびセクタ番号とからなる論理アドレスとによって示される格納位置と、これに対応してこのデータブロックが格納されているキャッシュメモリ4の領域番号が格納されている。
【0004】
CPU2が外部記憶装置9に格納されているデータやプログラムなど(以下単に、データ、という)を読出す命令をキャッシュ制御装置5に送出したとき、このキャッシュ制御装置5は、読出すべきデータを格納している外部記憶装置の例えばシリンダ番号,セクタ番号,ヘッド番号などの論理アドレスに基づいてキャッシュ管理テーブル6を参照し、CPU2から要求されたデータを含むデータブロックがキャッシュメモリ4に格納されているか否かを検索する。
【0005】
この検索の結果、所要のデータがキャッシュメモリ4に格納されていることが識別されれば(ヒットすれば)、キャッシュ制御装置5はこのデータをキャッシュメモリ4のキャッシュ管理テーブル6から読出された論理アドレスによって読出してCPU2に返送するので、外部記憶装置の読取ヘッドのポジショニングや回転待ちなどによる読出しの遅れを生じることなく、短い時間でCPU2に外部記憶装置9に格納しているデータが供給されるので、全体としての処理時間が著しく短縮される。
【0006】
もし、キャッシュ制御装置5による上記キャッシュ管理テーブル6の検索の結果、所要のデータを含むデータブロックがキャッシュメモリに格納されていない(ミスヒット)場合には、外部記憶装置9からこの所要のデータを含むデータブロックを読出してCPU2に供給することになる。
【0007】
なお、このときキャッシュメモリ4にもこの読出したデータを格納し、これに伴ってキャッシュ管理テーブル6には、図7 (b) に示したように、このデータブロックを読出した外部記憶装置の上記したような論理アドレスをこのデータブロックを格納したキャッシュメモリの領域番号に対応させて登録し、次回の読出し要求に際してキャッシュ機能を利用し得るようにすることができる。
【0008】
このとき、キャッシュメモリに外部記憶装置から読出されたデータを格納できるだけの空いている記憶領域がない場合には、キャッシュメモリ中に最初に書込まれたキャッシュブロックのデータについて追出し処理を実行して新たなデータブロックを書込むスペースを設け、このスペースに新しく読出されたキャッシュすべきデータブロックを書込むようにする。
【0009】
【発明が解決しようとする課題】
しかしながら、上記のような従来のキャッシュを行う情報処理装置においては、外部記憶装置の装置番号とこの外部記憶装置の記憶媒体上の論理アドレスとをキャッシュメモリに格納されているデータブロックを指定する情報として用いているため、これら外部記憶装置の記憶媒体が交換された場合には、交換後の記憶媒体についての読出命令によってキャッシュ管理テーブルの検索を行った結果がヒットしたとしても、その論理アドレスによって得られたキャッシュメモリの領域番号に相当するメモリ領域に格納されているデータは交換前の記憶媒体から読出されたデータであるために、上記交換後の記憶媒体に対する読出命令によって指示されたデータとは異なるデータがCPUに転送されることになる。
【0010】
本発明は、記憶媒体が交換された場合にも上記のような誤ったキャッシュデータがCPUに転送されることがないようにするとともに、キャッシュメモリに格納されているデータブロック、および、キャッシュ管理テーブルの内容が交換後の記憶媒体についてのものに自動的に逐次更新されるようにした情報処理装置及びキャッシュ制御装置を得ることを目的とする。
【0011】
【課題を解決するための手段】
記憶媒体の交換が可能な外部記憶装置と、前記記憶媒体が交換されたことを検出する媒体交換検出手段と、前記外部記憶装置から読出されたデータを格納するキャッシュメモリと、前記キャッシュメモリに格納されているデータについてのキャッシュ情報を記憶するキャッシュ管理テーブルと、キャッシュ機能の有効/無効を示すフラグを格納するフラグ位置をそれぞれの外部記憶装置に対応して備えるキャッシュ許可テーブルと、前記検出手段によって外部記憶装置の記憶媒体が交換されたことが検出されたとき、記憶媒体が交換された外部記憶装置に対応する前記キャッシュ許可テーブルのフラグ位置にキャッシュ機能を停止する無効フラグをセットする手段と、外部記憶装置へのアクセス命令が到来したときには前記キャッシュ許可テーブルを参照して無効フラグがセットされている外部記憶装置についてのキャッシュ機能を停止させる手段とを有する。
前記キャッシュメモリが格納するデータがデータブロックであって、前記キャッシュメモリに格納されているデータブロックの数を記録するブロック数領域を、それぞれの外部記憶装置に対応して備えるブロック数テーブルと、格納されたデータによってキャッシュメモリが満抔になったときに先に格納されたデータから逐次追出し処理を行ってキャッシュメモリに新しいデータブロックを格納し得るようにするための追出し処理手段と、外部記憶装置から読出されたデータブロックがキャッシュメモリに格納されたときに当該外部記憶装置に対応するブロック数領域に“1”を加算する手段と、キャッシュメモリに格納されていたデータブロックが前記追出し処理手段により追出されたときに当該追出されたデータブロックが読出された外部記憶装置に対応するブロック数領域から“1”を減算する手段と、前記ブロック数領域のデータブロックの数が“0”のときには、当該ブロック数領域に対応する外部記憶装置についてのキャッシュ許可テーブルの無効フラグをリセットしてキャッシュ機能の停止を解除する手段とを有する。
【0013】
また、記憶媒体が交換可能であり、前記記憶媒体が交換されたことが媒体交換検出手段により検出される外部記憶装置から読出されたデータを格納するキャッシュメモリを制御するための、キャッシュ制御装置において、前記外部記憶装置から読出されたデータを格納するキャッシュメモリと、前記キャッシュメモリに格納されているデータについてのキャッシュ情報を記憶するキャッシュ管理テーブルと、キャッシュ機能の有効/無効を示すフラグを格納するフラグ位置をそれぞれの外部記憶装置に対応して備えるキャッシュ許可テーブルと、前記検出手段によって外部記憶装置の記憶媒体が交換されたことが検出されたとき、記憶媒体が交換された外部記憶装置に対応する前記キャッシュ許可テーブルのフラグ位置にキャッシュ機能を停止する無効フラグをセットする手段と、外部記憶装置へのアクセス命令が到来したときには前記キャッシュ許可テーブルを参照して無効フラグがセットされている外部記憶装置についてのキャッシュ機能を停止させる手段とを有する。
前記キャッシュメモリが格納するデータがデータブロックであって、前記キャッシュメモリに格納されているデータブロックの数を記録するブロック数領域を、それぞれの外部記憶装置に対応して備えるブロック数テーブルと、格納されたデータによってキャッシュメモリが満抔になったときに先に格納されたデータから逐次追出し処理を行ってキャッシュメモリに新しいデータブロックを格納し得るようにするための追出し処理手段と、外部記憶装置から読出されたデータブロックがキャッシュメモリに格納されたときに当該外部記憶装置に対応するブロック数領域に“1”を加算する手段と、キャッシュメモリに格納されていたデータブロックが前記追出し処理手段により追出されたときに当該追出されたデータブロックが読出された外部記憶装置に対応するブロック数領域から“1”を減算する手段と、前記ブロック数領域のデータブロックの数が“0”のときには、当該ブロック数領域に対応する外部記憶装置についてのキャッシュ許可テーブルの無効フラグをリセットしてキャッシュ機能の停止を解除する手段とを有する。
【0016】
【作用】
本発明の作用を図1の本発明の原理を示したブロック図を引用しながら説明するが、そのホスト1の構成は、図5に示した従来例の構成にキャッシュ許可テーブル7およびブロック数テーブル8が追加されたものであり、その他の構成要素には図5と同一の符号を付して説明を省略する。
【0017】
なお、キャッシュ管理テーブル6の記憶内容は必ずしも上記従来例と同一ではなく、また、キャッシュ許可テーブル7およびブロック数テーブル8の記憶内容も請求項記載の各発明に応じて相違している。
【0018】
また、本発明においては、記憶媒体が交換されたことをホストで検出することが必要であるが、この記憶媒体が交換されたことを検出する方法としては公知の方法を適宜適用することができる。
【0019】
その一つの例としては、記憶媒体の交換のために少なくとも一時的に外部記憶装置の電源が遮断されることから、ホスト側からのポーリングによって外部記憶装置の電源がオフになるのを常時監視しておき、この外部記憶装置の電源オフによって記憶媒体の交換を検出することができる。
【0020】
さらに別の記憶媒体交換検出方法としては、外部記憶装置自体に記憶媒体の装着の有無の変化などに基づいて記憶媒体の交換を検出する手段を設けておき、記憶媒体の交換が検出されたときにホストに割込みをかけて通知したり、または、記憶媒体交換後の最初のホストからのアクセスの際にホストに通知するなどの方法をとることができる。
【0021】
しかしながら、図1の原理図では、上記した記憶媒体の交換をホスト側で検出する場合を含めて、その検出方法とは無関係に、記憶媒体交換情報が外部記憶装置91, ・・・9mからホストに伝送されるものとして示してある。
【0022】
請求項1に記載した発明は、外部記憶装置92 の記憶媒体がD1 からD2に交換されたことをこの外部記憶装置92 からの記憶媒体交換情報によってキャッシュ制御装置5が検出すると、当該外部記憶装置92 の記憶媒体D1 からキャッシュメモリ4に格納されていたデータブロックについてキャッシュ管理テーブル6に記憶されているキャッシュ情報を使用するのを禁止することによってキャッシュ機能を停止させ、上記のような誤りを生じないようにしたものである。
【0023】
そこで、請求項1の発明では、キャッシュメモリ4に格納されている各データブロックに対応したキャッシュ管理テーブル6のキャッシュ情報にそれぞれ対応して無効フラグを設定し得るようにし、記憶媒体が交換された外部記憶装置92 からの記憶媒体交換情報が検出されたときにはこの無効フラグをセットするように構成する。
【0024】
そして、CPU2から外部記憶装置91,92, ・・・9mに対するアクセス命令が発行されたときには、キャッシュ制御装置5はこのキャッシュ管理テーブル6の無効フラグを参照し、アクセスすべき外部記憶装置に対応して無効フラグがセットされていればキャッシュ機能を使用しないようにした。
【0025】
また、請求項1または3の発明では、キャッシュ管理テーブル6に加えて、それぞれの外部記憶装置91,92,・・・9mに対応したフラグ位置を有するキャッシュ許可テーブル7を設け、記憶媒体D1 がD2 に交換された外部記憶装置92 に対応するフラグ位置に無効フラグをセットし、CPU2から外部記憶装置91,92,・・・9mに対するアクセス命令が発行されたときには、キャッシュ制御装置5はこのキャッシュ許可テーブル7を参照し、アクセスすべき外部記憶装置に対応して無効フラグがセットされていればキャッシュ機能を使用しないようにした。
【0026】
ところで、慣用されているように、キャッシュメモリ4が満抔になったときに最も長い期間アクセスされていないデータを追出す追出し処理機能をキャッシュ制御装置などに付与してある場合には、交換前の記憶媒体D1 からキャッシュメモリ4に格納されているデータは他の外部記憶装置91, ・・・9mからの新しいデータが格納されることによってやがて追出されてしまう。
【0027】
このように、交換前の記憶媒体D1 からキャッシュメモリ4に格納されていたデータブロックが無くなると、新しい記憶媒体D2 に対してキャッシュ機能を回復させても、この新しい記憶媒体D2 が格納しているデータブロックとキャッシュメモリ4に格納されているデータブロックの不一致は生じなくなる。
【0028】
そこで、本発明の請求項2または4に記載した発明では、外部記憶装置からキャッシュメモリ4にデータブロックを格納したときにはこの外部記憶装置に対応する記憶領域に記憶されている数値に“1”を加算し、また、外部記憶装置からキャッシュメモリ4に格納されていたデータブロックが追出し処理によってこのキャッシュメモリ4から追出されたときにはこの外部記憶装置に対応する記憶領域に記憶されている数値から“1”を減算することによって、キャッシュメモリ4に格納されているデータブロックの数を外部記憶装置91,92, ・・・9mごとに逐次記憶するブロック数テーブル8を設ける。
【0029】
このようにすれば、ある外部記憶装置9aに対応してこのブロック数テーブル8に格納されているブロック数が“0”になっているときにはこの外部記憶装置9aからキャッシュメモリ4に格納されているデータブロックが無いので、この外部記憶装置9aが記憶媒体が交換されてキャッシュ機能が停止されている外部記憶装置92 であったとしても上記したようにキャッシュ機能を回復させても差し支えないことになるので、本発明においては、先にこの外部記憶装置92 について無効フラグがセットされていたとしても、この無効フラグをリセットしてキャッシュ機能を有効にするようにした。
【0035】
【実施例】
第1実施例の回路的構成は図1のブロック図と同一であり、この実施例の動作を示した図2,図3のフローチャート、および、この実施例における上記テーブル6,7,8の記憶内容を示す図4の概念図を引用しながら説明する。
【0036】
なお、以下の説明では、外部記憶装置91 および9mの記憶媒体Dは交換されておらず、外部記憶装置92 の記憶媒体がD1 からD2 に交換されているものとする。
【0037】
図2はこの実施例において、CPU2から読出命令が到来したときのキャッシュ制御装置5の処理を示すフローチャートであって、ステップ[11]でキャッシュ許可テーブル7(図4(b) 参照) の上記命令で指示された外部記憶装置に対応するフラグを参照して、この外部記憶装置に対するキャッシュ機能が許可されているか否かを判断する。
【0038】
キャッシュ機能が停止されていれば、ステップ[21]で指定された外部記憶装置から要求されたデータを読出してステップ[22]で主メモリ3にこのデータを転送して処理を終了するが、ステップ[11]でキャッシュ機能が許可されていると判断するとステップ[12]に移って、キャッシュ管理テーブル6(図4(a) 参照。なお、図示の便宜上、シリンダ番号,ヘッド番号およびセクタ番号をそれぞれC,H,Sとして示した。)に要求されたデータが格納されている(ヒット)か否か(ミスヒット)を判断する。
【0039】
ヒットしていれば、ステップ[13]において記憶媒体Dが交換されているか否かを検出するが、この検出方法としては、外部記憶装置9にセンスコマンドを送出してこの外部記憶装置92 からの記憶媒体交換情報を得るようにしたり、記憶媒体の交換時に当該外部記憶装置92 からキャッシュ制御装置5に記憶媒体交換情報を送出してこのキャッシュ制御装置5で外部記憶装置92 の記憶媒体が交換されたことを記憶しておくようにしてもよい。なお、外部記憶装置9が記憶媒体の交換を検出する方法としては、例えばその外部記憶装置で記憶媒体を交換する際の電源のオンオフによることができる。
【0040】
このステップ[13]において記憶媒体が交換されていないと判断されると、ステップ[23]においてキャッシュメモリ4から要求されているデータを読出し、前記テップ[22]で主メモリ3に転送して処理を終了する。
【0041】
ステップ[12]で要求されたデータがキャッシュメモリ4に格納されておらずにミスヒットすると、ステップ[18]で外部記憶装置9から要求されたデータを読出してステップ[19]で主メモリ3に転送し、次のステップ[20]で上記ステップ[13]におけると同様な方法で記憶媒体Dの交換を検出する。
【0042】
このステップ[20]で記憶媒体が交換されていないことが識別されると、キャッシュメモリ4 への書込処理を行うためにステップ[50]に移る。なお、この書込処理については後に説明する。また、以上に述べた処理は、外部記憶装置での記憶媒体の交換を行わない従来技術における処理と記憶媒体の交換の判断を行う点を除けばほぼ同様である。
【0043】
しかしながら、ステップ[20]で記憶媒体が交換されたと判断されたときは、ステップ[16]に移ってブロック数テーブル8(図4(c) 参照)を参照し、記憶媒体が交換された外部記憶装置92 からキャッシュメモリ4に格納されているデータブロックの有無を格納されているデータブロックの数によって識別する。
【0044】
もしこの外部記憶装置92 から読出されたデータがキャッシュメモリ4に格納されていれば、交換前の記憶媒体D1 と交換後の記憶媒体D2 とからキャッシュされているデータが混在するのを避けるためにステップ[17]でキャッシュ機能を停止させる。
【0045】
ところで、キャッシュ機能が許可されていて、しかもキャッシュ管理テーブル6の検索の結果がヒットしている状態で、ステップ[13]で記憶媒体が交換されたことが検出された場合には、ステップ[14]でこの記憶媒体が交換された外部記憶装置9 2 から要求されているデータを読出してステップ[15]で主メモリ3に転送する。
【0046】
そして、前述したステップ[16]でブロック数テーブル8を参照して、もしこの外部記憶装置92 から読出されたデータがキャッシュメモリ4に格納されていればステップ[17]でキャッシュ機能を停止させ、また外部記憶装置92 から読出されたデータがキャッシュメモリ4に格納されていなければ前述したステップ[50]に移ってステップ[51]ないしステップ[63]によるキャッシュメモリ4への書込処理を行う。
【0047】
キャッシュメモリ4に空きがある場合のこの書込処理は、先にステップ[14]あるいは[18]で外部記憶装置から読出されていたデータをステップ[51]でキャッシュメモリ4に格納し、ステップ[52]でブロック数テーブル8のこのデータを格納していた外部記憶装置に対応するブロック数に“1”を加算してこの外部記憶装置からキャッシュメモリ4に格納されているデータブロックの数を更新し、次のステップ[53]でキャッシュ管理テーブル6を新たに格納されたデータブロックに関連するキャッシュ情報を更新する。
【0048】
しかしながら、キャッシュメモリに空きがない場合には、先ずステップ[60]でキャッシュメモリ4 に格納されているデータブロックの中で最も長い期間アクセスされていないデータブロックを消去あるいは上書きし得るように設定し、次のステップ[61]でブロック数テーブル8のステップ[60]の追出処理によって追出されたデータブロックを格納していた外部記憶装置、例えば91 のデータブロック数から“1”を減算してこの追出処理後にこの外部記憶装置91 からキャッシュメモリ4に格納されているデータブロックの数と一致させる。
【0049】
この減算の結果、ブロック数テーブルのこの外部記憶装置91 に対応するデータブロックの数が“0”になったことがステップ[62]で検出された場合にはこの外部記憶装置91 からキャッシュメモリ4に格納されているデータが存在しないことになる。
【0050】
このような状態であれば、もしこの外部記憶装置91 の記憶媒体が交換されたときに直ちにキャッシュ機能を有効にしても支障がないので、ステップ[63]でキャッシュ許可テーブル7のこの外部記憶装置91 に対応する無効フラグがもともとセットされていなければそのまま、もし無効フラグがセットされていた場合でもこの無効フラグをリセットしてこの外部記憶装置91 についてのキャッシュ機能を回復させる。
【0051】
しかしながら、ステップ[62]でブロック数テーブル8の外部記憶装置9 1 についてのブロック数が“1”以上の場合にはこの外部記憶装置91 からキャッシュメモリ4に格納されているデータが存在するので、もしこの外部記憶装置91 の記憶媒体が交換されたときに、交換前の記憶媒体からキャッシュされていたデータを主メモリ3に転送してしまうことが起こるので、もし無効フラグがセットされていた場合にはキャッシュ機能が停止された状態を維持させる。
【0052】
なお、これらのステップ[61]ないしステップ[63]は、この読出命令によって指示されている外部記憶装置についての処理である場合もあるが、この読出命令の対象となっている外部記憶装置とは無関係に追出されるデータブロックを格納していた外部記憶装置が処理対象となることから、このフローチャートでは点線を枠としたステップで示した。
【0053】
図3は、この実施例においてCPU2から書込命令が到来したときの処理を示すフローチャートであって、この書込命令が到来するとステップ[30]で主メモリ3 から転送されたデータを指示された外部記憶装置に書込む。
【0054】
そして、ステップ[31]でこの外部記憶装置に対するキャッシュ機能が許可されているか否かを判断し、キャッシュ機能が停止されていればそのまま終了するが、キャッシュ機能が許可されていればステップ[32]に移って、読出命令のステップ[13]について説明したと同様な方法で、この外部記憶装置の記憶媒体が交換されているか否かを検出する。
【0055】
記憶媒体が交換されていなければ、キャッシュ管理テーブル6を参照して書込みを指示されたデータがヒットしているか否かを判断し、ヒットしていればステップ[42]で以前に格納されていたデータを更新するが、ミスヒットの場合には新たにこのデータを書込むためにステップ[50]に移る。
【0056】
このステップ[32]で記憶媒体が交換されたと判断したときには、ブロック数テーブル8を参照してこの外部記憶装置からキャッシュメモリ4に格納されているブロックの数を読出し、ブロック数が“0”であればこのデータを書込むためにステップ[50]に移るが、“0”でなければステップ[34]でこの外部記憶装置についてのキャッシュ機能を停止させて、交換前の記憶媒体からのデータと交換後の記憶媒体からのデータとがキャッシュメモリ上に混在して誤動作するのを防止する。
【0057】
このステップ[50]以降のキャッシュメモリ4への書込処理およびこれに伴う各テーブル6,7,8の更新処理は、図3のステップ[50]以降について説明した処理と同一であるから、説明を省略する。
【0058】
以上に説明した第1実施例においては、キャッシュ管理テーブルの構成を変更することなく、キャッシュ許可テーブルおよびブロック数テーブルを追加するだけで記憶媒体の交換によるキャッシュ機能の誤動作を防止しながら、この記憶媒体が交換された外部記憶装置についてのキャッシュ機能の自動的な回復を図ることができる。
【0059】
また、この実施例からブロック数テーブル8を除くとともに、図2に示した読出時のフローチャートにおけるステップ[16]および図3に示した書込時のフローチャートにおけるステップ[33]におけるブロック数の判断を省いてこれらのステップ[16],[33]からステップ[17],[34]に移行するようにすれば、記憶媒体が交換された外部記憶装置については常にキャッシュ機能を停止させて、記憶媒体の交換によるキャッシュ機能の誤動作を防止することができる。
【0060】
さらに、図5(a) に示したように、キャッシュ管理テーブル6における各キャッシュ情報ごとに無効フラグを格納する記憶位置を設けておき、キャッシュ許可の判断およびキャッシュ機能の停止あるいは許可の状態を識別・設定するときにこのキャッシュ管理テーブルの無効フラグをこの実施例のキャッシュ許可テーブルの無効フラグに代えて用いることによって、記憶媒体が交換された外部記憶装置については常にキャッシュ機能を停止させる発明として構成することができる。なお、この場合には、キャッシュ管理テーブルを検索して無効フラグを識別・設定することが必要になる。
【0061】
そして、さらに図5 (b) に示したキャッシュ許可テーブル7を用いて、上記実施例のように、当該外部記憶装置からキャッシュメモリに格納されていたデータが無いことを条件にキャッシュ管理テーブル6にセットされている無効フラグをリセットして、この外部記憶装置に対するキャッシュ機能を回復することができることは、前記の第1実施例と同様である。
【0062】
しかしながら、上記した第1実施例においては、外部記憶装置92 から取り出された交換前の記憶媒体D21からキャッシュされていたデータがキャッシュメモリ4から無くなるまでこの外部記憶装置92 についてのキャッシュ機能を有効にすることができず、したがってこの外部記憶装置92 についてのキャッシュ機能が有効になるまでの期間においてはCPU2が要求したデータを得るまでの時間がかかるので、処理時間が長くなるという問題がある。
【0063】
この第2実施例は、記憶媒体が交換された外部記憶装置92 に対しても記憶媒体の交換直後からキャッシュ機能を有効にし得るように改良した方式を提供するもので、図6(a) に示したように、キャッシュ管理テーブル6には外部記憶装置番号に加えてサブ番号を記憶する領域を設け、外部記憶装置92 の記憶媒体が交換されるごとにキャッシュ制御装置5が当該外部記憶装置のサブ番号を順次変更して、装置番号とサブ番号との組を例えば92 −a,92 −b,92 −c,──のように逐次変更し、この装置番号とサブ番号との組を前記した従来例あるいは第1実施例における装置番号と同等なものとして処理を行うようにする。
【0064】
図6(a) のキャッシュ管理テーブルの例では、その2行目のキャッシュ情報は記憶媒体の交換後にキャッシュしたデータについてのキャッシュ情報であってそのサブ番号はbであり、また、同3行目のキャッシュ情報は記憶媒体の交換前にキャッシュしたデータについてのキャッシュ情報であり、したがってそのサブ番号はaになっている。
【0065】
このようにすれば、記憶媒体の交換前の外部記憶装置と交換後の外部記憶装置とは、装置番号とサブ番号の組が互いに相違しているから見掛上互いに別個の外部記憶装置として扱われることになり、したがって、記憶媒体の交換後直ちにキャッシュ機能を有効にしても誤動作を生じることはない。
【0066】
しかしながら、この場合には、記憶媒体が交換されるごとに新しいサブ番号を使用しなければならず、したがってこのサブ番号として常に新しい番号を用いるとすると、予想される最大の記憶媒体交換回数に相当する数だけサブ番号を用意しなければならないので、このサブ番号の桁数が大きくなるなど資源を無駄にすることになる。
【0067】
そこで、図6(b) に示したように、この装置番号とサブ番号の組に対してそれぞれキャッシュメモリ4に格納されているデータブロックの数を記憶するブロック数記憶領域を有するブロック数テーブル8を設け、このブロック数記憶領域には、第1実施例のブロック数テーブルについて説明したと同様に、外部記憶装置からキャッシュメモリ4にデータブロックを格納したときにそのときの装置番号とサブ番号の組に対応する記憶領域に“1”を加算し、また、キャッシュメモリ4に格納されていたデータブロックが追い出し処理によってこのキャッシュメモリ4から追い出されたときに対応する外部記憶装置とサブ番号の組に対応する記憶領域から“1”を減算するようにする。
【0068】
そして、記憶されているデータブロックの数が“0”になっている装置番号とサブ番号の組、すなわち、キャッシュメモリ4に格納されているデータブロックがない装置番号とサブ番号の組を記憶媒体が交換された後の新しい装置番号とサブ番号の組として使用すれば、用意すべきサブ番号の数、したがって、このブロック数テーブル自体の記憶領域の数も極めて少なくすることができる。
【0069】
また、図6(c) に示したように、各外部記憶装置に対応してそれぞれ複数の記憶領域a,b,c──を有するキャッシュ許可テーブル7を設け、この装置番号とサブ番号の組ごとにキャッシュ機能の有効/無効を示すフラグをセットするようにすれば、図6(a) のキャッシュ管理テーブルに代えて無効フラグ記憶領域を有しない図4(a) あるいは従来例と同様なキャッシュ管理テーブルを用いて上記同様の処理を行うことができる。
【0070】
このようにすれば、第1実施例で説明したように、記憶媒体が交換されたときに、キャッシュ管理テーブルのキャッシュ情報について記憶媒体が交換された外部記憶装置とサブ番号の組を検索し、この組についてのキャッシュ情報に無効フラグをセットする必要がないので、処理が簡単になるという効果が得られる。
【0071】
【発明の効果】
本発明によれば、外部記憶装置の記憶媒体を交換したときにも、交換前の記憶媒体からキャッシュメモリに格納されていたデータと交換後の記憶媒体からキャッシュメモリに格納されたデータとが混在することによる誤動作を防止することができ、また、この記憶媒体の交換後直ちにこの外部記憶装置についてキャッシュ動作をさせることができるという格別の効果が得られる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の第1実施例における読出命令に対する動作例を示すフローチャートである。
【図3】本発明の第1実施例における書込命令に対する動作例を示すフローチャートである。
【図4】本発明の第1実施例における各種テーブルの概念図である。
【図5】第1実施例の変形例における各種テーブルの概念図である。
【図6】本発明の第2実施例における各種テーブルの概念図である。
【図7】従来例を説明するための図である。
【符号の説明】
1 ホスト
2 CPU
3 主メモリ
4 キャッシュメモリ
5 キャッシュ制御装置
6 キャッシュ管理テーブル
7 キャッシュ許可テーブル
8 ブロック数テーブル
91,92, ・・・9m 外部記憶装置
D 記憶媒体
Claims (4)
- 記憶媒体の交換が可能な外部記憶装置と、
前記記憶媒体が交換されたことを検出する媒体交換検出手段と、
前記外部記憶装置から読出されたデータを格納するキャッシュメモリと、
前記キャッシュメモリに格納されているデータについてのキャッシュ情報を記憶するキャッシュ管理テーブルと、
キャッシュ機能の有効/無効を示すフラグを格納するフラグ位置をそれぞれの外部記憶装置に対応して備えるキャッシュ許可テーブルと、
前記検出手段によって外部記憶装置の記憶媒体が交換されたことが検出されたとき、記憶媒体が交換された外部記憶装置に対応する前記キャッシュ許可テーブルのフラグ位置にキャッシュ機能を停止する無効フラグをセットする手段と、
外部記憶装置へのアクセス命令が到来したときには前記キャッシュ許可テーブルを参照して無効フラグがセットされている外部記憶装置についてのキャッシュ機能を停止させる手段と
を有することを特徴とする情報処理装置。 - 前記キャッシュメモリが格納するデータがデータブロックであって、前記キャッシュメモリに格納されているデータブロックの数を記録するブロック数領域を、それぞれの外部記憶装置に対応して備えるブロック数テーブルと、
格納されたデータによってキャッシュメモリが満抔になったときに先に格納されたデータから逐次追出し処理を行ってキャッシュメモリに新しいデータブロックを格納し得るようにするための追出し処理手段と、
外部記憶装置から読出されたデータブロックがキャッシュメモリに格納されたときに当該外部記憶装置に対応するブロック数領域に“1”を加算する手段と、
キャッシュメモリに格納されていたデータブロックが前記追出し処理手段により追出されたときに当該追出されたデータブロックが読出された外部記憶装置に対応するブロック数領域から“1”を減算する手段と、
前記ブロック数領域のデータブロックの数が“0”のときには、当該ブロック数領域に対応する外部記憶装置についてのキャッシュ許可テーブルの無効フラグをリセットしてキャッシュ機能の停止を解除する手段と
を有することを特徴とする請求項1記載の情報処理装置。 - 記憶媒体が交換可能であり、前記記憶媒体が交換されたことが媒体交換検出手段により検出される外部記憶装置から読出されたデータを格納するキャッシュメモリを制御するための、キャッシュ制御装置において、
前記外部記憶装置から読出されたデータを格納するキャッシュメモリと、
前記キャッシュメモリに格納されているデータについてのキャッシュ情報を記憶するキャッシュ管理テーブルと、
キャッシュ機能の有効/無効を示すフラグを格納するフラグ位置をそれぞれの外部記憶装置に対応して備えるキャッシュ許可テーブルと、
前記検出手段によって外部記憶装置の記憶媒体が交換されたことが検出されたとき、記憶媒体が交換された外部記憶装置に対応する前記キャッシュ許可テーブルのフラグ位置にキャッシュ機能を停止する無効フラグをセットする手段と、
外部記憶装置へのアクセス命令が到来したときには前記キャッシュ許可テーブルを参照して無効フラグがセットされている外部記憶装置についてのキャッシュ機能を停止させる手段と
を有することを特徴とするキャッシュ制御装置。 - 前記キャッシュメモリが格納するデータがデータブロックであって、前記キャッシュメ モリに格納されているデータブロックの数を記録するブロック数領域を、それぞれの外部記憶装置に対応して備えるブロック数テーブルと、
格納されたデータによってキャッシュメモリが満抔になったときに先に格納されたデータから逐次追出し処理を行ってキャッシュメモリに新しいデータブロックを格納し得るようにするための追出し処理手段と、
外部記憶装置から読出されたデータブロックがキャッシュメモリに格納されたときに当該外部記憶装置に対応するブロック数領域に“1”を加算する手段と、
キャッシュメモリに格納されていたデータブロックが前記追出し処理手段により追出されたときに当該追出されたデータブロックが読出された外部記憶装置に対応するブロック数領域から“1”を減算する手段と、
前記ブロック数領域のデータブロックの数が“0”のときには、当該ブロック数領域に対応する外部記憶装置についてのキャッシュ許可テーブルの無効フラグをリセットしてキャッシュ機能の停止を解除する手段と
を有することを特徴とする請求項3記載のキャッシュ制御装置。
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 JPH06337816A (ja) | 1994-12-06 |
| JP3600257B2 true 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) |
Families Citing this family (18)
| 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 |
| US20040085906A1 (en) * | 2001-04-27 | 2004-05-06 | Hisamichi Ohtani | Packet tracing system |
| 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 |
| US8140766B2 (en) * | 2008-07-22 | 2012-03-20 | International Business Machines Corporation | Enhanced coherency tracking with implementation of region victim hash for region coherence arrays |
| 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 |
| US4835686A (en) * | 1985-05-29 | 1989-05-30 | 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 |
| EP0574531A4 (en) * | 1991-03-05 | 1995-03-08 | Zitel Corp | CACHE STORAGE SYSTEM AND METHOD. |
| 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
Also Published As
| Publication number | Publication date |
|---|---|
| US5586290A (en) | 1996-12-17 |
| JPH06337816A (ja) | 1994-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3600257B2 (ja) | 情報処理装置及びキャッシュ制御装置 | |
| EP0077451B1 (en) | Storage subsystem including a bypassable cache | |
| EP0077452B1 (en) | Data promotion in storage subsystems | |
| JP3259969B2 (ja) | キャッシュメモリ制御装置 | |
| EP0074390B1 (en) | Apparatus for maintaining cache memory integrity in a shared memory environment | |
| EP0077453B1 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
| US4420807A (en) | Selectively holding data in a buffer for defective backing store tracks | |
| US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
| US6981106B1 (en) | System and method for accelerating ownership within a directory-based memory system | |
| US5802582A (en) | Explicit coherence using split-phase controls | |
| US20200341909A1 (en) | Cache data location system | |
| JPS6212547B2 (ja) | ||
| AU1578092A (en) | Cache memory system and method of operating the cache memory system | |
| US20080301372A1 (en) | Memory access control apparatus and memory access control method | |
| JP4219647B2 (ja) | 適応的キャッシュフレームのロッキング及びアンロッキングのための方法及び装置 | |
| JPS6049950B2 (ja) | Lruエラ−処理方式 | |
| JPH0567976B2 (ja) | ||
| US7805572B2 (en) | Cache pollution avoidance | |
| JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
| JPH0773106A (ja) | キャッシュメモリ | |
| JP3503480B2 (ja) | キャッシュメモリ制御方法及び装置 | |
| JPH07168760A (ja) | キャッシュ制御装置 | |
| US20130212333A1 (en) | Information processing apparatus, method of controlling memory, and memory controlling apparatus | |
| JP3716190B2 (ja) | キャッシュメモリにおけるデータアレイの訂正不能障害救済方式 | |
| JPH0628253A (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 |