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
Application number
JP4191361A
Other languages
English (en)
Inventor
Yutaka Ogasawara
豊 小笠原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP4191361A priority Critical patent/JPH0612328A/ja
Publication of JPH0612328A publication Critical patent/JPH0612328A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 キャッシュメモリの容量を増加することな
く、ヒット率を向上できるキャッシュメモリのデータ蓄
積方法を提供する。 【構成】 情報記録媒体に記録されたデータの一部のデ
ータを格納するためのキャッシュメモリに、上位制御装
置から要求されたデータの近傍のデータを先読みして格
納するキャッシュメモリのデータ蓄積方法において、前
記先読みされたデータをキャッシュメモリに格納する場
合に、要求データがキャッシュメモリ内にあったときの
先読みデータを優先して掃き出し、新規に先読みされた
データを格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
などに使用されるキャッシュメモリのデータ蓄積方法に
関するものである。
【0002】
【従来の技術】一般に、コンピュータシステムにおいて
は、主メモリとして高速の半導体メモリが使用され、2
次メモリとして大容量でビット単価が安価な磁気ディス
ク、光ディスク、光磁気ディスクなどの外部記憶装置が
使用されている。主メモリとしてはアクセスは高速で行
えるが、ビット単価が高く、大容量を持たせることは困
難であるため、データ保存用のメモリに適しているとは
言い難い。そこで、データ保存用として大容量、廉価な
2次メモリが使用されるわけであるが、上述した外部記
憶装置はアクセス速度が遅いという欠点がある。こうし
た欠点の解決策として、従来は外部記憶装置内にいわゆ
るキャッシュメモリを設けて、アクセスの低速性を補う
というディスクキャッシュ方法が使用されている。この
ディスクキャッシュ方法は、情報記録媒体であるディス
クから読み出したデータを半導体メモリなどの高速のキ
ャッシュメモリに格納しておき、ホスト装置からのリー
ド命令でその要求データがキャッシュメモリ内にあれ
ば、ディスクからの読み出しは行わず、キャッシュメモ
リから読み出すことでアクセス速度の高速化を図るもの
である。
【0003】一般に、こうしたキャッシュメモリの容量
は、外部記憶装置の容量よりもはるかに小さいので、キ
ャッシュメモリに格納するデータを厳選してホスト装置
からのリード命令のデータがキャッシュメモリ内にある
確率、いわゆるヒット率を上げる必要がある。その一例
として、ホスト装置からのリード/ライト命令のあった
データや、次にリードアクセスされるであろうその近傍
の次のデータを先読みしてキャッシュメモリに格納する
方法が知られている。このことは、一度アクセスしたブ
ロックのデータはアクセスされる頻度が高いこと、その
近傍のブロックのデータは次にアクセスされる確率が高
いことなどの理由による。一方、キャッシュメモリにデ
ータを格納する場合、キャッシュメモリに空きがなけれ
ば、現在あるデータを掃き出さなければならない。この
掃き出し方法としては、例えば古いデータから掃き出す
FIFO方式(First In First Out)や、最近アクセス
されていないデータから掃き出すLRU方式(Least Re
cently Used )などが知られている。
【0004】
【発明が解決しようとしている課題】ところで、以上の
キャッシュメモリは外部記憶装置内に設けられるばかり
でなく、ホスト装置にも設けられることが多い。こうし
た場合、ホスト装置では通常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に情報を記録したり、あるいはその記録情報の再生を
行う。
【0008】図2はバッファメモリ105のデータ構造
を示した図である。バッファメモリ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に格納されている。
【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となっているのは、リストの最後を表わしてい
る。
【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を書き換えることで処理
される。
【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で空きリストからの取り出し時に行っても
よい。
【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)に示すように空きリストから取り出したブロック
へ格納し、更にこのブロックをキャッシュリストの最後
部につなぎ変える。
【0014】なお、以上の実施例では、先読みするデー
タはブロック単位で行っているが、このブロックの大き
さは外部記憶装置の物理セクタ/トラック単位、ホスト
装置側でアクセスされる単位、あるいはそれらの単位の
複数個の単位(即ち、複数ブロックを先読みする)など
任意に決定すればよい。また、先読みするブロックをホ
スト装置からリードアクセスのあった次のブロックとし
たが、これに限ることなくアクセスのあったブロックを
含むトラック、またはその前後の領域としてもよい。
【0015】
【発明の効果】以上説明したように本発明は、ホスト装
置からアクセスのあったデータはキャッシュメモリに格
納せず、先読みしたデータをキャッシュメモリに格納す
る際には、キャッシュヒットしたデータの先読みデータ
を優先して掃き出し、新規に先読みされたデータを格納
することにより、ホスト装置と外部記憶装置のキャッシ
ュメモリのデータの重複を防止でき、両装置のキャッシ
ュメモリを有効に使用することができる。従って、外部
記憶装置側で大容量のキャッシュメモリをもたなくても
ヒット率を上げることができるという効果がある。
【図面の簡単な説明】
【図1】本発明のキャッシュメモリのデータ蓄積方法を
実施したホスト装置と光磁気ディスク装置からなる情報
処理システムを示したブロック図である。
【図2】バッファメモリの構成を示した説明図である。
【図3】本発明に用いるキャッシュ管理情報の構成例を
示した説明図である。
【図4】本発明に用いる空きリストとキャッシュリスト
を説明するための図である。
【図5】本発明のキャッシュメモリのデータ蓄積方法の
一実施例を示したフローチャートである。
【図6】光磁気ディスクのデータブロックを示した模式
図である。
【図7】本発明のキャッシュメモリのデータ蓄積方法を
更に詳細に説明するための図である。
【符号の説明】
100 ホスト装置 101 光磁気ディスク装置 104 CPU 105 バッファメモリ 109 R/W部 110 光磁気ディスク

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 情報記録媒体に記録されたデータの一部
    のデータを格納するためのキャッシュメモリに、上位制
    御装置から要求されたデータの近傍のデータを先読みし
    て格納するキャッシュメモリのデータ蓄積方法におい
    て、前記先読みされたデータをキャッシュメモリに格納
    する場合に、要求データがキャッシュメモリ内にあった
    ときの先読みデータを優先して掃き出し、新規に先読み
    されたデータを格納することを特徴とするキャッシュメ
    モリのデータ蓄積方法。
JP4191361A 1992-06-26 1992-06-26 キャッシュメモリのデータ蓄積方法 Pending JPH0612328A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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) 外部記憶制御装置