JPH0612328A - キャッシュメモリのデータ蓄積方法 - Google Patents
キャッシュメモリのデータ蓄積方法Info
- Publication number
- JPH0612328A JPH0612328A JP4191361A JP19136192A JPH0612328A JP H0612328 A JPH0612328 A JP H0612328A JP 4191361 A JP4191361 A JP 4191361A JP 19136192 A JP19136192 A JP 19136192A JP H0612328 A JPH0612328 A JP H0612328A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- cache memory
- block
- list
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 キャッシュメモリの容量を増加することな
く、ヒット率を向上できるキャッシュメモリのデータ蓄
積方法を提供する。 【構成】 情報記録媒体に記録されたデータの一部のデ
ータを格納するためのキャッシュメモリに、上位制御装
置から要求されたデータの近傍のデータを先読みして格
納するキャッシュメモリのデータ蓄積方法において、前
記先読みされたデータをキャッシュメモリに格納する場
合に、要求データがキャッシュメモリ内にあったときの
先読みデータを優先して掃き出し、新規に先読みされた
データを格納する。
く、ヒット率を向上できるキャッシュメモリのデータ蓄
積方法を提供する。 【構成】 情報記録媒体に記録されたデータの一部のデ
ータを格納するためのキャッシュメモリに、上位制御装
置から要求されたデータの近傍のデータを先読みして格
納するキャッシュメモリのデータ蓄積方法において、前
記先読みされたデータをキャッシュメモリに格納する場
合に、要求データがキャッシュメモリ内にあったときの
先読みデータを優先して掃き出し、新規に先読みされた
データを格納する。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
などに使用されるキャッシュメモリのデータ蓄積方法に
関するものである。
などに使用されるキャッシュメモリのデータ蓄積方法に
関するものである。
【0002】
【従来の技術】一般に、コンピュータシステムにおいて
は、主メモリとして高速の半導体メモリが使用され、2
次メモリとして大容量でビット単価が安価な磁気ディス
ク、光ディスク、光磁気ディスクなどの外部記憶装置が
使用されている。主メモリとしてはアクセスは高速で行
えるが、ビット単価が高く、大容量を持たせることは困
難であるため、データ保存用のメモリに適しているとは
言い難い。そこで、データ保存用として大容量、廉価な
2次メモリが使用されるわけであるが、上述した外部記
憶装置はアクセス速度が遅いという欠点がある。こうし
た欠点の解決策として、従来は外部記憶装置内にいわゆ
るキャッシュメモリを設けて、アクセスの低速性を補う
というディスクキャッシュ方法が使用されている。この
ディスクキャッシュ方法は、情報記録媒体であるディス
クから読み出したデータを半導体メモリなどの高速のキ
ャッシュメモリに格納しておき、ホスト装置からのリー
ド命令でその要求データがキャッシュメモリ内にあれ
ば、ディスクからの読み出しは行わず、キャッシュメモ
リから読み出すことでアクセス速度の高速化を図るもの
である。
は、主メモリとして高速の半導体メモリが使用され、2
次メモリとして大容量でビット単価が安価な磁気ディス
ク、光ディスク、光磁気ディスクなどの外部記憶装置が
使用されている。主メモリとしてはアクセスは高速で行
えるが、ビット単価が高く、大容量を持たせることは困
難であるため、データ保存用のメモリに適しているとは
言い難い。そこで、データ保存用として大容量、廉価な
2次メモリが使用されるわけであるが、上述した外部記
憶装置はアクセス速度が遅いという欠点がある。こうし
た欠点の解決策として、従来は外部記憶装置内にいわゆ
るキャッシュメモリを設けて、アクセスの低速性を補う
というディスクキャッシュ方法が使用されている。この
ディスクキャッシュ方法は、情報記録媒体であるディス
クから読み出したデータを半導体メモリなどの高速のキ
ャッシュメモリに格納しておき、ホスト装置からのリー
ド命令でその要求データがキャッシュメモリ内にあれ
ば、ディスクからの読み出しは行わず、キャッシュメモ
リから読み出すことでアクセス速度の高速化を図るもの
である。
【0003】一般に、こうしたキャッシュメモリの容量
は、外部記憶装置の容量よりもはるかに小さいので、キ
ャッシュメモリに格納するデータを厳選してホスト装置
からのリード命令のデータがキャッシュメモリ内にある
確率、いわゆるヒット率を上げる必要がある。その一例
として、ホスト装置からのリード/ライト命令のあった
データや、次にリードアクセスされるであろうその近傍
の次のデータを先読みしてキャッシュメモリに格納する
方法が知られている。このことは、一度アクセスしたブ
ロックのデータはアクセスされる頻度が高いこと、その
近傍のブロックのデータは次にアクセスされる確率が高
いことなどの理由による。一方、キャッシュメモリにデ
ータを格納する場合、キャッシュメモリに空きがなけれ
ば、現在あるデータを掃き出さなければならない。この
掃き出し方法としては、例えば古いデータから掃き出す
FIFO方式(First In First Out)や、最近アクセス
されていないデータから掃き出すLRU方式(Least Re
cently Used )などが知られている。
は、外部記憶装置の容量よりもはるかに小さいので、キ
ャッシュメモリに格納するデータを厳選してホスト装置
からのリード命令のデータがキャッシュメモリ内にある
確率、いわゆるヒット率を上げる必要がある。その一例
として、ホスト装置からのリード/ライト命令のあった
データや、次にリードアクセスされるであろうその近傍
の次のデータを先読みしてキャッシュメモリに格納する
方法が知られている。このことは、一度アクセスしたブ
ロックのデータはアクセスされる頻度が高いこと、その
近傍のブロックのデータは次にアクセスされる確率が高
いことなどの理由による。一方、キャッシュメモリにデ
ータを格納する場合、キャッシュメモリに空きがなけれ
ば、現在あるデータを掃き出さなければならない。この
掃き出し方法としては、例えば古いデータから掃き出す
FIFO方式(First In First Out)や、最近アクセス
されていないデータから掃き出すLRU方式(Least Re
cently Used )などが知られている。
【0004】
【発明が解決しようとしている課題】ところで、以上の
キャッシュメモリは外部記憶装置内に設けられるばかり
でなく、ホスト装置にも設けられることが多い。こうし
た場合、ホスト装置では通常OS(Operating Syste
m)、またはデバイスドライバによりキャッシング機能
を実現するのが一般的である。ホスト装置におけるキャ
ッシュメモリのデータ掃き出し方法としては、一般にリ
ードアクセスするデータがキャッシュメモリ内にあれば
そのまま残し、なければ外部記憶装置にリード要求を行
い、そのデータをキャッシュメモリ内のアクセスされた
のが最も古いデータと入れ換えるというLRU方式が使
用されている。しかしながら、キャッシュ機能をもった
ホスト装置に外部記憶装置を接続した場合、同じLRU
方式を使用しているために、それぞれのキャッシュメモ
リで重複したデータを多くもつことになり、キャッシュ
メモリを有効に利用できていなかった。このような場
合、外部記憶装置でヒット率を上げるためには、ホスト
装置のキャッシュメモリよりも大きな容量のキャッシュ
メモリが必要になるという問題があった。
キャッシュメモリは外部記憶装置内に設けられるばかり
でなく、ホスト装置にも設けられることが多い。こうし
た場合、ホスト装置では通常OS(Operating Syste
m)、またはデバイスドライバによりキャッシング機能
を実現するのが一般的である。ホスト装置におけるキャ
ッシュメモリのデータ掃き出し方法としては、一般にリ
ードアクセスするデータがキャッシュメモリ内にあれば
そのまま残し、なければ外部記憶装置にリード要求を行
い、そのデータをキャッシュメモリ内のアクセスされた
のが最も古いデータと入れ換えるというLRU方式が使
用されている。しかしながら、キャッシュ機能をもった
ホスト装置に外部記憶装置を接続した場合、同じLRU
方式を使用しているために、それぞれのキャッシュメモ
リで重複したデータを多くもつことになり、キャッシュ
メモリを有効に利用できていなかった。このような場
合、外部記憶装置でヒット率を上げるためには、ホスト
装置のキャッシュメモリよりも大きな容量のキャッシュ
メモリが必要になるという問題があった。
【0005】本発明は、上述した問題点を解消するため
になされたもので、その目的はキャッシュメモリを有効
に利用し、小さい容量でありながらヒット率を向上でき
るようにしたキャッシュメモリのデータ蓄積方法を提供
することにある。
になされたもので、その目的はキャッシュメモリを有効
に利用し、小さい容量でありながらヒット率を向上でき
るようにしたキャッシュメモリのデータ蓄積方法を提供
することにある。
【0006】
【課題を解決するための手段】本発明の目的は、情報記
録媒体に記録されたデータの一部のデータを格納するた
めのキャッシュメモリに、上位制御装置から要求された
データの近傍のデータを先読みして格納するキャッシュ
メモリのデータ蓄積方法において、前記先読みされたデ
ータをキャッシュメモリに格納する場合に、要求データ
がキャッシュメモリ内にあったときの先読みデータを優
先して掃き出し、新規に先読みされたデータを格納する
ことを特徴とするキャッシュメモリのデータ蓄積方法に
よって達成される。
録媒体に記録されたデータの一部のデータを格納するた
めのキャッシュメモリに、上位制御装置から要求された
データの近傍のデータを先読みして格納するキャッシュ
メモリのデータ蓄積方法において、前記先読みされたデ
ータをキャッシュメモリに格納する場合に、要求データ
がキャッシュメモリ内にあったときの先読みデータを優
先して掃き出し、新規に先読みされたデータを格納する
ことを特徴とするキャッシュメモリのデータ蓄積方法に
よって達成される。
【0007】
【実施例】以下、本発明の実施例について、図面を参照
して詳細に説明する。図1は本発明のキャッシュメモリ
のデータ蓄積方法を実施したホスト装置と光磁気ディス
ク装置からなる情報処理システムを示したブロック図で
ある。図1において、100は上位制御装置であるとこ
ろのホスト装置、101はこのホスト装置100に外部
記憶装置として接続された光磁気ディスク装置である。
ホスト装置100は内部に図示しないキャッシュメモリ
を有し、そのデータ掃き出し方法としては、前述したL
RU方式が使用されている。また、光磁気ディスク装置
101はホスト装置100とのインターフェースをとる
ためのインターフェース(I/F)103、制御プログ
ラムを格納するためのROM106、この制御プログラ
ムに従って装置を総括的に制御するためのCPU10
4、このCPU104のワークメモリとして使用される
RAM107、キャッシュメモリとして使用されるバッ
ファメモリ105から構成されている。バッファメモリ
105としては、高速アクセスが可能な半導体メモリが
使用されている。また、図1において、108は光磁気
ディスクコントロール部(ODC)で、I/F103と
バッファメモリ105とのリード/ライトデータの転
送、あるいはバッファメモリ105とディスクリード/
ライト部(R/W部)109とのデータ転送及びエラー
訂正コードの付加やエラー訂正を行う。R/W部109
は、情報記録媒体として使用された光磁気ディスク11
0に情報を記録したり、あるいはその記録情報の再生を
行う。
して詳細に説明する。図1は本発明のキャッシュメモリ
のデータ蓄積方法を実施したホスト装置と光磁気ディス
ク装置からなる情報処理システムを示したブロック図で
ある。図1において、100は上位制御装置であるとこ
ろのホスト装置、101はこのホスト装置100に外部
記憶装置として接続された光磁気ディスク装置である。
ホスト装置100は内部に図示しないキャッシュメモリ
を有し、そのデータ掃き出し方法としては、前述したL
RU方式が使用されている。また、光磁気ディスク装置
101はホスト装置100とのインターフェースをとる
ためのインターフェース(I/F)103、制御プログ
ラムを格納するためのROM106、この制御プログラ
ムに従って装置を総括的に制御するためのCPU10
4、このCPU104のワークメモリとして使用される
RAM107、キャッシュメモリとして使用されるバッ
ファメモリ105から構成されている。バッファメモリ
105としては、高速アクセスが可能な半導体メモリが
使用されている。また、図1において、108は光磁気
ディスクコントロール部(ODC)で、I/F103と
バッファメモリ105とのリード/ライトデータの転
送、あるいはバッファメモリ105とディスクリード/
ライト部(R/W部)109とのデータ転送及びエラー
訂正コードの付加やエラー訂正を行う。R/W部109
は、情報記録媒体として使用された光磁気ディスク11
0に情報を記録したり、あるいはその記録情報の再生を
行う。
【0008】図2はバッファメモリ105のデータ構造
を示した図である。バッファメモリ105は、主にキャ
ッシュバッファ201とミスヒット用のリードバッファ
202から構成されている。また、キャッシュバッファ
201は複数のキャッシュデータブロックに分割されて
いる。本実施例では説明を簡単化するために、ブロック
A〜Dの4分割とし、このブロック単位でデータを管理
する。なお、このブロックの管理は詳しくは後述する
が、2つのリストにより行われる。1つはキャッシュバ
ッファ201に何のデータが格納されているかを示すキ
ャッシュリスト、もう1つは新しいデータを格納できる
ブロックを示す空きリストである。
を示した図である。バッファメモリ105は、主にキャ
ッシュバッファ201とミスヒット用のリードバッファ
202から構成されている。また、キャッシュバッファ
201は複数のキャッシュデータブロックに分割されて
いる。本実施例では説明を簡単化するために、ブロック
A〜Dの4分割とし、このブロック単位でデータを管理
する。なお、このブロックの管理は詳しくは後述する
が、2つのリストにより行われる。1つはキャッシュバ
ッファ201に何のデータが格納されているかを示すキ
ャッシュリスト、もう1つは新しいデータを格納できる
ブロックを示す空きリストである。
【0009】図3はキャッシュバッファ201を管理す
るための情報を示した図である。キャッシュ管理情報3
00は、キャッシュデータブロックA〜Dのそれぞれに
持っており、各データブロックは各々の管理情報300
によって管理される。また、キャッシュ管理情報300
は、次のキャッシュ管理情報300を指す空きリストポ
インタ301、キャッシュリストポインタ302、キャ
ッシュバッファ201中のどのブロックを使用するかを
示すキャッシュブロック情報303、光磁気ディスク1
10内のどこのブロックを格納しているかを示す格納ブ
ロック情報304から構成されている。この他に、空き
リスト先頭ポインタ305とキャッシュリスト先頭ポイ
ンタ306があるが、この2つの管理情報は図1に示し
たRAM107に格納されている。
るための情報を示した図である。キャッシュ管理情報3
00は、キャッシュデータブロックA〜Dのそれぞれに
持っており、各データブロックは各々の管理情報300
によって管理される。また、キャッシュ管理情報300
は、次のキャッシュ管理情報300を指す空きリストポ
インタ301、キャッシュリストポインタ302、キャ
ッシュバッファ201中のどのブロックを使用するかを
示すキャッシュブロック情報303、光磁気ディスク1
10内のどこのブロックを格納しているかを示す格納ブ
ロック情報304から構成されている。この他に、空き
リスト先頭ポインタ305とキャッシュリスト先頭ポイ
ンタ306があるが、この2つの管理情報は図1に示し
たRAM107に格納されている。
【0010】図4は前述した空きリストとキャッシュリ
ストを具体的に説明するための図である。図4(a)は
キャッシュバッファ201の使用状態を示しており、こ
こではブロックAにキャッシュデータ1、ブロックCに
キャッシュデータ2が格納されているものとし、ブロッ
クB,Dは未使用であるものとする。このときの空きリ
ストは図4(b)に示すように、空きリスト先頭ポイン
タ305からキャッシュ管理情報300B,300Dに
つながる。また、キャッシュリストは図4(b)に示す
如く、キャッシュリスト先頭ポインタ306からキャッ
シュ管理情報300A,300Cにつながる。キャッシ
ュ管理情報300AはブロックAの管理情報であり、同
様にキャッシュ管理情報300B〜300Dはブロック
B〜Dの管理情報である。また、図中ポインタの先がN
ullとなっているのは、リストの最後を表わしてい
る。
ストを具体的に説明するための図である。図4(a)は
キャッシュバッファ201の使用状態を示しており、こ
こではブロックAにキャッシュデータ1、ブロックCに
キャッシュデータ2が格納されているものとし、ブロッ
クB,Dは未使用であるものとする。このときの空きリ
ストは図4(b)に示すように、空きリスト先頭ポイン
タ305からキャッシュ管理情報300B,300Dに
つながる。また、キャッシュリストは図4(b)に示す
如く、キャッシュリスト先頭ポインタ306からキャッ
シュ管理情報300A,300Cにつながる。キャッシ
ュ管理情報300AはブロックAの管理情報であり、同
様にキャッシュ管理情報300B〜300Dはブロック
B〜Dの管理情報である。また、図中ポインタの先がN
ullとなっているのは、リストの最後を表わしてい
る。
【0011】次に、本発明のキャッシュメモリのデータ
蓄積方法の一実施例を図5に示すフローチャートを参照
して説明する。図5において、まずホスト装置100か
ら光磁気ディスク装置101にリード命令が発行される
と、CPU104は要求されたデータがキャッシュバッ
ファ201内にあるかどうかをサーチする(S50
1)。この場合、キャッシュリストのサーチによってデ
ータの有無が判別され、具体的にはキャッシュリスト先
頭ポインタ306の指すキャッシュ管理情報300の格
納ブロック情報304により要求データがあるか否かが
チェックされる。もし、要求データがなければ、そのキ
ャッシュ管理情報300内のキャッシュリストポインタ
302の指す次のキャッシュ管理情報300で同様のチ
ェックが行われる。そして、このチェック処理は要求デ
ータがみつかるか、あるいはキャッシュリストポインタ
302がNullとなるまで繰り返し行われる。このサ
ーチ後に、要求データがあるかどうか、即ちキャッシュ
ヒットしたかどうかを判断し(S502)、ヒットすれ
ば光磁気ディスク110からのデータの読み出しは行わ
ず、一致したキャッシュ管理情報300内のキャッシュ
ブロック情報303で示されるキャッシュバッファ20
1のブロックからホスト装置100にデータの転送を開
始する(S503)。同時に、そのキャッシュ管理情報
をキャッシュリストから取り出し、空きリストの最後部
につなげる(S504)。この処理は、対応するキャッ
シュ管理情報300内のキャッシュリストポインタ30
2、空きリストポインタ301を書き換えることで処理
される。
蓄積方法の一実施例を図5に示すフローチャートを参照
して説明する。図5において、まずホスト装置100か
ら光磁気ディスク装置101にリード命令が発行される
と、CPU104は要求されたデータがキャッシュバッ
ファ201内にあるかどうかをサーチする(S50
1)。この場合、キャッシュリストのサーチによってデ
ータの有無が判別され、具体的にはキャッシュリスト先
頭ポインタ306の指すキャッシュ管理情報300の格
納ブロック情報304により要求データがあるか否かが
チェックされる。もし、要求データがなければ、そのキ
ャッシュ管理情報300内のキャッシュリストポインタ
302の指す次のキャッシュ管理情報300で同様のチ
ェックが行われる。そして、このチェック処理は要求デ
ータがみつかるか、あるいはキャッシュリストポインタ
302がNullとなるまで繰り返し行われる。このサ
ーチ後に、要求データがあるかどうか、即ちキャッシュ
ヒットしたかどうかを判断し(S502)、ヒットすれ
ば光磁気ディスク110からのデータの読み出しは行わ
ず、一致したキャッシュ管理情報300内のキャッシュ
ブロック情報303で示されるキャッシュバッファ20
1のブロックからホスト装置100にデータの転送を開
始する(S503)。同時に、そのキャッシュ管理情報
をキャッシュリストから取り出し、空きリストの最後部
につなげる(S504)。この処理は、対応するキャッ
シュ管理情報300内のキャッシュリストポインタ30
2、空きリストポインタ301を書き換えることで処理
される。
【0012】一方、キャッシュヒットしなかった場合
は、光磁気ディスク110から要求データを読み出すと
共に、そのデータをバッファメモリ105のミスヒット
用バッファ202へ読み込み、同時にホスト装置100
にデータの転送を開始する(S505)。ホスト装置1
00にデータの転送を開始すると、次はリード要求デー
タの次のデータブロックの先読み処理を実行する。先読
み処理は以下のように行われる。まず、先読みデータブ
ロックがすでにキャッシュバッファ201にあるかキャ
ッシュリストをサーチする(S506)。次いで、この
サーチの結果、先読みデータブロックがキャッシュバッ
ファ201にあるかどうかを判断し(S507)、デー
タがあれば光磁気ディスク110からの先読みは行わ
ず、該当するキャッシュ管理情報300をキャッシュリ
ストの最後部につなぎ変えて処理を終了する(S51
1)。一方、キャッシュバッファ201にデータがなけ
れば、空きリスト先頭ポインタ305がキャッシュ管理
情報300を指しているかどうかをチェックして空きリ
ストにブロックがあるかどうかを判断する(S50
8)。空きリストにブロックがあれば、キャッシュリス
トから先頭のキャッシュ管理情報300を取り出し(S
510)、なければ空きリストの先頭からキャッシュ管
理情報300を取り出す(S509)。そして、取り出
したキャッシュ管理情報300内のキャッシュブロック
情報303で示されるキャッシュバッファ201の位置
に光磁気ディスク110から読み出した先読みデータを
格納し、またそのキャッシュ管理情報300をキャッシ
ュリストの最後部につなげて処理を終了する(S51
2)。なお、キャッシュヒットしたデータブロックのキ
ャッシュリストからの取り出しをS504で行っている
が、これに限ることなく例えばS504ではキャッシュ
リストから取り出さずに空きリストへのつなぎだけを行
い、このブロックのキャッシュリストからの取り出し
は、S510で空きリストからの取り出し時に行っても
よい。
は、光磁気ディスク110から要求データを読み出すと
共に、そのデータをバッファメモリ105のミスヒット
用バッファ202へ読み込み、同時にホスト装置100
にデータの転送を開始する(S505)。ホスト装置1
00にデータの転送を開始すると、次はリード要求デー
タの次のデータブロックの先読み処理を実行する。先読
み処理は以下のように行われる。まず、先読みデータブ
ロックがすでにキャッシュバッファ201にあるかキャ
ッシュリストをサーチする(S506)。次いで、この
サーチの結果、先読みデータブロックがキャッシュバッ
ファ201にあるかどうかを判断し(S507)、デー
タがあれば光磁気ディスク110からの先読みは行わ
ず、該当するキャッシュ管理情報300をキャッシュリ
ストの最後部につなぎ変えて処理を終了する(S51
1)。一方、キャッシュバッファ201にデータがなけ
れば、空きリスト先頭ポインタ305がキャッシュ管理
情報300を指しているかどうかをチェックして空きリ
ストにブロックがあるかどうかを判断する(S50
8)。空きリストにブロックがあれば、キャッシュリス
トから先頭のキャッシュ管理情報300を取り出し(S
510)、なければ空きリストの先頭からキャッシュ管
理情報300を取り出す(S509)。そして、取り出
したキャッシュ管理情報300内のキャッシュブロック
情報303で示されるキャッシュバッファ201の位置
に光磁気ディスク110から読み出した先読みデータを
格納し、またそのキャッシュ管理情報300をキャッシ
ュリストの最後部につなげて処理を終了する(S51
2)。なお、キャッシュヒットしたデータブロックのキ
ャッシュリストからの取り出しをS504で行っている
が、これに限ることなく例えばS504ではキャッシュ
リストから取り出さずに空きリストへのつなぎだけを行
い、このブロックのキャッシュリストからの取り出し
は、S510で空きリストからの取り出し時に行っても
よい。
【0013】更に、本発明のキャッシュメモリのデータ
蓄積方法を詳細に説明する。図6は光磁気ディスク11
0の記録面を模式的に示した図で、四角で囲んだそれぞ
れの数値はデータブロックである。また、図7は空きリ
ストとキャッシュリストを示した図で、図7(a)は初
期状態でキャッシュデータはなく、全てのブロックは空
きリストにつながっている。ここで、ホスト装置100
から光磁気ディスク装置101にリード命令が図6に示
したデータブロック1,2,3,4の順で別々に4回発
行されたとする。この場合、光磁気ディスク装置101
は光磁気ディスク110からデータブロック1,1′、
2,2′、3,3′、4,4′の順で読み出し、ホスト
装置100に対してはデータブロック1,2,3,4の
順でデータを転送する。また、ホスト装置100に転送
したデータブロック1〜4はキャッシュバッファ201
には格納せず、アクセスのあった各データブロック1〜
4の次のデータブロック1′〜4′を先読みした形でキ
ャッシュバッファ201にそれぞれ格納する。このとき
のキャッシュリストの状態を図7(b)に示しており、
先読みされたデータブロック1′〜4′が格納されてい
ることがわかる。次に、ホスト装置100からデータブ
ロック5のリード命令が発行されたとすると光磁気ディ
スク装置101では、光磁気ディスク110からデータ
ブロック5,5′を読み出し、ホスト装置100へデー
タブロック5を転送する。このとき、図7(b)に示す
如く空きリストにブロックがないので、図7(c)に示
すようにキャッシュリストの先頭のデータブロック1′
を掃き出し、キャッシュリストの最後に先読みしたデー
タブロック5′をつなげる。更に、ホスト装置100か
らデータブロック3′のリード命令が発行されると、要
求のあったデータブロック3′はキャッシュバッファ2
01内に格納されているため、キャッシュヒットしたこ
とになる。従って、このときは光磁気ディスク110か
らのデータ読み出しは行わず、キャッシュバッファ20
1内のデータブロック3′のデータをホスト装置100
へ転送し、またキャッシュリストから3′を掃き出して
空きリストへ一時つなげる。そして、アクセスのあった
データブロック3′の次のデータブロック3″を光磁気
ディスク110から先読みすると共に、これを図7
(d)に示すように空きリストから取り出したブロック
へ格納し、更にこのブロックをキャッシュリストの最後
部につなぎ変える。
蓄積方法を詳細に説明する。図6は光磁気ディスク11
0の記録面を模式的に示した図で、四角で囲んだそれぞ
れの数値はデータブロックである。また、図7は空きリ
ストとキャッシュリストを示した図で、図7(a)は初
期状態でキャッシュデータはなく、全てのブロックは空
きリストにつながっている。ここで、ホスト装置100
から光磁気ディスク装置101にリード命令が図6に示
したデータブロック1,2,3,4の順で別々に4回発
行されたとする。この場合、光磁気ディスク装置101
は光磁気ディスク110からデータブロック1,1′、
2,2′、3,3′、4,4′の順で読み出し、ホスト
装置100に対してはデータブロック1,2,3,4の
順でデータを転送する。また、ホスト装置100に転送
したデータブロック1〜4はキャッシュバッファ201
には格納せず、アクセスのあった各データブロック1〜
4の次のデータブロック1′〜4′を先読みした形でキ
ャッシュバッファ201にそれぞれ格納する。このとき
のキャッシュリストの状態を図7(b)に示しており、
先読みされたデータブロック1′〜4′が格納されてい
ることがわかる。次に、ホスト装置100からデータブ
ロック5のリード命令が発行されたとすると光磁気ディ
スク装置101では、光磁気ディスク110からデータ
ブロック5,5′を読み出し、ホスト装置100へデー
タブロック5を転送する。このとき、図7(b)に示す
如く空きリストにブロックがないので、図7(c)に示
すようにキャッシュリストの先頭のデータブロック1′
を掃き出し、キャッシュリストの最後に先読みしたデー
タブロック5′をつなげる。更に、ホスト装置100か
らデータブロック3′のリード命令が発行されると、要
求のあったデータブロック3′はキャッシュバッファ2
01内に格納されているため、キャッシュヒットしたこ
とになる。従って、このときは光磁気ディスク110か
らのデータ読み出しは行わず、キャッシュバッファ20
1内のデータブロック3′のデータをホスト装置100
へ転送し、またキャッシュリストから3′を掃き出して
空きリストへ一時つなげる。そして、アクセスのあった
データブロック3′の次のデータブロック3″を光磁気
ディスク110から先読みすると共に、これを図7
(d)に示すように空きリストから取り出したブロック
へ格納し、更にこのブロックをキャッシュリストの最後
部につなぎ変える。
【0014】なお、以上の実施例では、先読みするデー
タはブロック単位で行っているが、このブロックの大き
さは外部記憶装置の物理セクタ/トラック単位、ホスト
装置側でアクセスされる単位、あるいはそれらの単位の
複数個の単位(即ち、複数ブロックを先読みする)など
任意に決定すればよい。また、先読みするブロックをホ
スト装置からリードアクセスのあった次のブロックとし
たが、これに限ることなくアクセスのあったブロックを
含むトラック、またはその前後の領域としてもよい。
タはブロック単位で行っているが、このブロックの大き
さは外部記憶装置の物理セクタ/トラック単位、ホスト
装置側でアクセスされる単位、あるいはそれらの単位の
複数個の単位(即ち、複数ブロックを先読みする)など
任意に決定すればよい。また、先読みするブロックをホ
スト装置からリードアクセスのあった次のブロックとし
たが、これに限ることなくアクセスのあったブロックを
含むトラック、またはその前後の領域としてもよい。
【0015】
【発明の効果】以上説明したように本発明は、ホスト装
置からアクセスのあったデータはキャッシュメモリに格
納せず、先読みしたデータをキャッシュメモリに格納す
る際には、キャッシュヒットしたデータの先読みデータ
を優先して掃き出し、新規に先読みされたデータを格納
することにより、ホスト装置と外部記憶装置のキャッシ
ュメモリのデータの重複を防止でき、両装置のキャッシ
ュメモリを有効に使用することができる。従って、外部
記憶装置側で大容量のキャッシュメモリをもたなくても
ヒット率を上げることができるという効果がある。
置からアクセスのあったデータはキャッシュメモリに格
納せず、先読みしたデータをキャッシュメモリに格納す
る際には、キャッシュヒットしたデータの先読みデータ
を優先して掃き出し、新規に先読みされたデータを格納
することにより、ホスト装置と外部記憶装置のキャッシ
ュメモリのデータの重複を防止でき、両装置のキャッシ
ュメモリを有効に使用することができる。従って、外部
記憶装置側で大容量のキャッシュメモリをもたなくても
ヒット率を上げることができるという効果がある。
【図1】本発明のキャッシュメモリのデータ蓄積方法を
実施したホスト装置と光磁気ディスク装置からなる情報
処理システムを示したブロック図である。
実施したホスト装置と光磁気ディスク装置からなる情報
処理システムを示したブロック図である。
【図2】バッファメモリの構成を示した説明図である。
【図3】本発明に用いるキャッシュ管理情報の構成例を
示した説明図である。
示した説明図である。
【図4】本発明に用いる空きリストとキャッシュリスト
を説明するための図である。
を説明するための図である。
【図5】本発明のキャッシュメモリのデータ蓄積方法の
一実施例を示したフローチャートである。
一実施例を示したフローチャートである。
【図6】光磁気ディスクのデータブロックを示した模式
図である。
図である。
【図7】本発明のキャッシュメモリのデータ蓄積方法を
更に詳細に説明するための図である。
更に詳細に説明するための図である。
100 ホスト装置 101 光磁気ディスク装置 104 CPU 105 バッファメモリ 109 R/W部 110 光磁気ディスク
Claims (1)
- 【請求項1】 情報記録媒体に記録されたデータの一部
のデータを格納するためのキャッシュメモリに、上位制
御装置から要求されたデータの近傍のデータを先読みし
て格納するキャッシュメモリのデータ蓄積方法におい
て、前記先読みされたデータをキャッシュメモリに格納
する場合に、要求データがキャッシュメモリ内にあった
ときの先読みデータを優先して掃き出し、新規に先読み
されたデータを格納することを特徴とするキャッシュメ
モリのデータ蓄積方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4191361A JPH0612328A (ja) | 1992-06-26 | 1992-06-26 | キャッシュメモリのデータ蓄積方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4191361A JPH0612328A (ja) | 1992-06-26 | 1992-06-26 | キャッシュメモリのデータ蓄積方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0612328A true JPH0612328A (ja) | 1994-01-21 |
Family
ID=16273304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4191361A Pending JPH0612328A (ja) | 1992-06-26 | 1992-06-26 | キャッシュメモリのデータ蓄積方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0612328A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567862B1 (en) | 1998-05-19 | 2003-05-20 | Matsushita Electric Industrial Co., Ltd. | Data storage apparatus and access method thereof |
US7035980B2 (en) | 2002-08-21 | 2006-04-25 | Hitachi, Ltd. | Effects of prefetching on I/O requests in an information processing system |
-
1992
- 1992-06-26 JP JP4191361A patent/JPH0612328A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567862B1 (en) | 1998-05-19 | 2003-05-20 | Matsushita Electric Industrial Co., Ltd. | Data storage apparatus and access method thereof |
US7035980B2 (en) | 2002-08-21 | 2006-04-25 | Hitachi, Ltd. | Effects of prefetching on I/O requests in an information processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4466059A (en) | Method and apparatus for limiting data occupancy in a cache | |
US5218685A (en) | System for write once read many optical storage devices to appear rewritable | |
JP3183993B2 (ja) | ディスク制御システム | |
US6151660A (en) | Information recording/reproducing apparatus having segmented cache memory | |
US20030041214A1 (en) | Cache control methods and apparatus for hard disk drives | |
JP3586887B2 (ja) | 情報記録再生装置およびデータキャッシュ方法 | |
JP4925230B2 (ja) | 記憶装置、記憶制御装置及び制御方法 | |
KR100388338B1 (ko) | 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 | |
US5694570A (en) | Method and system of buffering data written to direct access storage devices in data processing systems | |
JPS63186348A (ja) | 1回書込み多数回読取記憶媒体の効用を高める装置および方法 | |
JPH06236241A (ja) | フラッシュメモリを用いたハードディスク装置 | |
US5900009A (en) | System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element | |
US5845318A (en) | Dasd I/O caching method and application including replacement policy minimizing data retrieval and storage costs | |
US6532513B1 (en) | Information recording and reproduction apparatus | |
JP2943896B2 (ja) | 計算機システム及びディスク・データの制御方法 | |
US8214597B2 (en) | Cache tentative read buffer | |
JPH0612328A (ja) | キャッシュメモリのデータ蓄積方法 | |
JPS6045855A (ja) | 磁気ディスク装置の順次アクセス検出方法 | |
JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
JP2000285022A (ja) | ディスク制御装置 | |
JP3435176B2 (ja) | 磁気ディスク装置 | |
JP2854668B2 (ja) | ディスク・キャッシュ制御方式 | |
JP2000047942A (ja) | キャッシュメモリ制御装置及びその制御方法 | |
JP2854667B2 (ja) | ディスク・キャッシュ制御方式 | |
JPH04311216A (ja) | 外部記憶制御装置 |