JPH0773107A - Control method for disk system - Google Patents
Control method for disk systemInfo
- Publication number
- JPH0773107A JPH0773107A JP5220092A JP22009293A JPH0773107A JP H0773107 A JPH0773107 A JP H0773107A JP 5220092 A JP5220092 A JP 5220092A JP 22009293 A JP22009293 A JP 22009293A JP H0773107 A JPH0773107 A JP H0773107A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- read
- cache
- data
- disk device
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ホスト計算機側にディ
スク・キャッシュを備えると共に、ディスク装置の中に
先読みバッファを有するディスク・システムの制御方法
に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of controlling a disk system having a disk cache on the host computer side and a read-ahead buffer in a disk device.
【0002】[0002]
【従来の技術】図3は計算機システムの全体構成を示す
図である。同図において、10はホスト計算機、11は
中央処理装置、12はDMAコントローラ、13は主記
憶、14はディスク・キャッシュ、20は先読みバッフ
ァ付きディスク装置、21は先読みバッファ、22はデ
ィスク装置をそれぞれ示している。2. Description of the Related Art FIG. 3 is a diagram showing the overall configuration of a computer system. In the figure, 10 is a host computer, 11 is a central processing unit, 12 is a DMA controller, 13 is a main memory, 14 is a disk cache, 20 is a disk device with a read-ahead buffer, 21 is a read-ahead buffer, and 22 is a disk device. Shows.
【0003】ホスト計算機10は、中央処理装置11や
DMAコントローラ12,主記憶13,ディスク・キャ
ッシュ14などを有している。ホスト計算機10には、
その他、ディスプレイ装置や、キーボード、プリンタ等
が接続される。先読みバッファ付きディスク装置20
は、先読みバッファ21やディスク装置22などを有し
ている。The host computer 10 has a central processing unit 11, a DMA controller 12, a main memory 13, a disk cache 14, and the like. In the host computer 10,
In addition, a display device, a keyboard, a printer, etc. are connected. Disk device 20 with prefetch buffer
Has a prefetch buffer 21 and a disk device 22.
【0004】ディスク・キャッシュ14は、先読みバッ
ファ付きディスク装置20と主記憶13の間に存在し、
先読みバッファ付きディスク装置20からのデータをそ
の中に保持できる構成となっている。もちろん、ディス
ク・キャッシュ14を使用せずに先読みバッファ付きデ
ィスク装置20からのデータを主記憶13へ直接転送す
ることも出来る。これらの制御はディスク制御プログラ
ムのDMAコントローラ12への指示によって行われ
る。The disk cache 14 exists between the disk device 20 with a read-ahead buffer and the main memory 13,
The structure is such that the data from the disk device with read-ahead buffer 20 can be held therein. Of course, the data from the disk device with read-ahead buffer 20 can be directly transferred to the main memory 13 without using the disk cache 14. These controls are performed by an instruction to the DMA controller 12 of the disk control program.
【0005】DMAコントローラ12は複数のチャンネ
ル(例えば、8チャンネル)を有しており、その内の一
つが主記憶13をアクセスするために使用され、その内
の一つがディスク・キャッシュ14をアクセスするため
に使用される。DMAコントローラ12と先読みバッフ
ァ付きディスク装置20との間のデータ転送は、例えば
SCSIインタフェースを介して行われる。The DMA controller 12 has a plurality of channels (for example, 8 channels), one of which is used to access the main memory 13 and one of which accesses the disk cache 14. Used for. Data transfer between the DMA controller 12 and the disk device with read-ahead buffer 20 is performed, for example, via a SCSI interface.
【0006】図4はディスク・キャッシュの構成を示す
図である。ディスク・キャッシュは、キャッシュ・メモ
リ,キャッシュ管理テーブル,アクセス履歴テーブルな
どから構成されている。キャッシュ・メモリは、1MB
ないし16MB程度の大きさを有しており、ディスク内
データの一部コピーを保存する。1ブロックはディスク
装置と同サイズ(256バイトまたは512バイト)で
ある。FIG. 4 is a diagram showing the structure of the disk cache. The disk cache is composed of a cache memory, a cache management table, an access history table and the like. 1 MB cache memory
It has a size of about 16 MB to 16 MB and stores a partial copy of the data in the disc. One block has the same size as the disk device (256 bytes or 512 bytes).
【0007】キャッシュ管理テーブルは、1項目が数バ
イト(例えば2バイト)であり、キャッシュ・メモリと
1対1に対応しており、現在,キャッシュ・メモリの中
にディスクの何れの部分のデータが保持されているかを
示すテーブルである。アクセス履歴テーブルは、過去の
アクセス履歴を保持するテーブルである。詳細は後述す
る。In the cache management table, one item is several bytes (for example, 2 bytes), and corresponds to the cache memory on a one-to-one basis. Currently, data in any part of the disk is stored in the cache memory. It is a table showing whether or not it is held. The access history table is a table that holds past access history. Details will be described later.
【0008】図5はディスク・キャッシュ内ブロック格
納位置を説明する図である。キャッシュ・メモリのデー
タの格納位置およびそれと1対1に対応しているキャッ
シュ管理テーブルの位置を決定する方式としては、ハッ
シュ方式が使用される。具体的に言うと、キャッシュ・
メモリは1MBないし16MB程度とディスクに比較し
てかなり小さいものなので、ディスク内データの或る一
部分しか格納できないが、或るディスクのブロック位置
(アドレス)が判明すると、一意にキャッシュの位置が
決定すると言う方式である。FIG. 5 is a diagram for explaining the block storage position in the disk cache. A hash method is used as a method for determining the storage location of data in the cache memory and the location of the cache management table that has a one-to-one correspondence with the storage location. Specifically, the cache
Since the memory is about 1MB to 16MB, which is considerably smaller than that of the disk, only a part of the data in the disk can be stored. However, if the block position (address) of a disk is known, the cache position is uniquely determined. It is a method to say.
【0009】動作としては、例えばキャッシュ・メモリ
が1MBであるとし、ディスクの1ブロックが512バ
イトであるとすると、1MB(1048576バイト)
÷512バイト=2048ブロック分のデータがキャッ
シュに格納できることになるが、この数のことをエント
リ数と言う。図5のようにキャッシュ内を、使用してい
くとする。同図において、数字はディスクのブロック・
アドレスを示す。つまり、ブロック0,ブロック204
8,ブロック4096,…はAの位置に格納される。同
様に、ブロック1,ブロック2049,…はBの位置に
格納され、ブロック2,ブロック2050,…はCの位
置に格納されるように、使用していくとする。これは、
ディスクのブロックXが与えられた場合、Xをエントリ
数(この場合2048)で割った余りによってaから何
段目かが決定するという方式である。As an operation, for example, assuming that the cache memory is 1 MB and one block of the disk is 512 bytes, 1 MB (1048576 bytes)
÷ 512 bytes = 2048 blocks of data can be stored in the cache, and this number is called the number of entries. It is assumed that the cache is used as shown in FIG. In the figure, the numbers are disk blocks.
Indicates an address. That is, block 0, block 204
8 and blocks 4096, ... Are stored in the A position. Similarly, the block 1, the block 2049, ... Are stored in the position B, and the block 2, the block 2050, ... Are stored in the position C and are used. this is,
When the block X of the disk is given, it is a method in which X is divided by the number of entries (2048 in this case) to determine the number of stages from a.
【0010】すなわち、X÷(エントリ数)=Y余りn
とすると、このnがaから何段目かを示す数になる。デ
ィスクのブロック・アドレスが2050の場合は、20
50÷2048=1余り2となり、アドレス2050の
ブロックは、キャッシュ・メモリのaから数えて2段目
のCの位置に格納される。アドレスが4096の場合
は、4096÷2048=2あまり0となり、アドレス
4096のブロックはキャッシュ・メモリのaから数え
て0段目のAの位置に格納される。このような方式をハ
ッシュ方式と言い、簡単なアルゴリズムでキャッシュの
格納位置を決定することが出来る。That is, X / (number of entries) = Y remainder n
Then, this n is a number indicating the number of stages from a. 20 if the block address of the disk is 2050
50 ÷ 2048 = 1 remainder 2, and the block of address 2050 is stored in the position C of the second stage counting from a in the cache memory. When the address is 4096, 4096 ÷ 2048 = 2, which is almost 0, and the block of the address 4096 is stored in the position A of the 0th row counting from a of the cache memory. Such a method is called a hash method, and the storage location of the cache can be determined by a simple algorithm.
【0011】図6は先読みバッファ付きディスク装置の
構成例を示す図である。同図において、20は先読みバ
ッファ付きディスク装置、21は先読みバッファ、22
はディスク装置、23はコントローラをそれぞれ示して
いる。先読みバッファ21は、256KBないし512
KB程度の大きさを有している。コントローラ23は、
例えばマイクロプロセッサから構成されている。FIG. 6 is a diagram showing an example of the configuration of a disk device with a read-ahead buffer. In the figure, 20 is a disk device with a read-ahead buffer, 21 is a read-ahead buffer, 22
Indicates a disk device, and 23 indicates a controller. The prefetch buffer 21 has 256 KB to 512 KB.
It has a size of about KB. The controller 23
For example, it is composed of a microprocessor.
【0012】図7はディスク制御プログラムの制御フロ
ーを示す図である。先ず、ディスクからデータをリード
する場合について説明する。ソフトウェアから、ディス
ク・データのリード要求があった場合、ディスクの読取
り開始ブロック・アドレスとブロック数が渡される。こ
れに基づき、ディスク制御プログラムはキャッシュ管理
テーブルをサーチして、キャッシュ・メモリ内に該当デ
ータが存在するかどうかをチェックする。存在すればヒ
ットと言い、存在しなければミスヒットという。FIG. 7 is a diagram showing a control flow of the disk control program. First, the case of reading data from the disc will be described. When the software requests to read the disk data, the disk read start block address and the number of blocks are passed. Based on this, the disk control program searches the cache management table to check whether the corresponding data exists in the cache memory. If it exists, it is called a hit, and if it does not exist, it is called a mishit.
【0013】ヒットの場合、キャッシュ・メモリからデ
ータを主記憶へ転送し、ディスク装置にはアクセスしな
い。これによってディスク装置を高速に見せている。ミ
スヒットの場合、アクセス履歴によって、シーケンシャ
ル・アクセス(順編成ファイルへのアクセス等が此れに
該当する)かどうかを判断し、シーケンシャルアクセス
の場合は先読み分を含めた分のリードを先読みバッファ
付きディスク装置に要求し、そうでなければ要求分のみ
のリードを先読みバッファ付きディスク装置に要求す
る。In the case of a hit, the data is transferred from the cache memory to the main memory and the disk device is not accessed. This makes the disk device look faster. In the case of a mishit, it is judged from the access history whether it is a sequential access (access to a sequential file, etc. corresponds to this), and in the case of a sequential access, the read including the read-ahead is added to the read-ahead buffer. The disk device is requested, and otherwise, only the requested read is requested to the disk device with the prefetch buffer.
【0014】先読みバッファ付きディスク装置から転送
されたデータは、ディスク・キャッシュの該当位置に格
納されると同時に要求分は主記憶へ転送される。その後
で、キャッシュ管理テーブルの更新(新たに先読みバッ
ファ付きディスク装置からキャッシュに転送されたデー
タに対して)が行われる。これで、一回のソフトウェア
からの起動が終了する。この後のソフトからの起動で、
先程と同じデータの要求があった場合、もしくはシーケ
ンシャル・アクセスで後続のデータの要求があった場合
は、キャッシュにヒットする可能性が高い。The data transferred from the disk device with the read-ahead buffer is stored in the corresponding position of the disk cache, and at the same time, the requested data is transferred to the main memory. After that, the cache management table is updated (for the data newly transferred to the cache from the disk device with the prefetch buffer). This completes one-time activation from the software. By starting from the software after this,
If there is a request for the same data as before, or if there is a subsequent data request for sequential access, there is a high possibility of hitting the cache.
【0015】次に、ディスクにデータをライトする場合
の動作について説明する。ライト時にはリードのように
ヒット/ミスヒットはない。ソフトウェアから主記憶デ
ータのディスクへのライト要求(格納指示)があった場
合、リードの場合と同様にディスクの書込み開始ブロッ
ク・アドレスとブロック数が渡される。これに基づき、
ディスク制御プログラムは、ディスク・キャッシュ上の
格納位置を決定し、主記憶上のデータをディスク・キャ
ッシュに転送すると同時に先読みバッファ付きディスク
装置にもデータを書き込むための処理を行う。両方の転
送が終了した時点でキャッシュ管理テーブルの該当項目
を更新する。これで、ソフトウェアからの一回のライト
起動が終了する。この後のソフトウェアからの起動で、
先ほどライトしたデータと同じデータのリード要求があ
った場合は、ディスク・キャッシュにヒットする可能性
が高い。Next, the operation of writing data to the disk will be described. There is no hit / miss hit like a read when writing. When there is a write request (storage instruction) to the disk for the main memory data from the software, the write start block address and the number of blocks of the disk are passed as in the case of reading. Based on this,
The disk control program determines the storage position on the disk cache, transfers the data on the main memory to the disk cache, and at the same time performs the processing for writing the data to the disk device with the read-ahead buffer. When both transfers are completed, the corresponding item in the cache management table is updated. This completes one write activation from the software. After this, starting from the software,
If a read request for the same data as the one just written is made, there is a high possibility of hitting the disk cache.
【0016】図8は従来のホスト側ディスク・キャッシ
ュの先読み動作を説明するための図である。同図におい
て、はディスク装置からキャッシュへの先読み分も含
めたリード、はディスク・キャッシュから主記憶への
要求分のみの転送、はディスク・キャッシュにおける
先読み分、は先読みバッファにおける先読み分をそれ
ぞれ示している。FIG. 8 is a diagram for explaining the read-ahead operation of the conventional host-side disk cache. In the figure, indicates read including read-ahead from disk device to cache, transfer only request from disk cache to main memory, indicates read-ahead in disk cache, and indicates read-ahead in read-ahead buffer. ing.
【0017】いま、ソフトウェアからディスク・データ
のリード要求があり、ディスクの読取り開始ブロック・
アドレス=X、ブロック数=Y1,主記憶アドレス=Z
であったと仮定する。ホスト計算機10(実際にはディ
スク制御プログラム)は、このリード要求で指定された
データがディスク・キャッシュ14にあるか否かを調
べ、ない場合にはアクセス履歴を参照して、シーケンシ
ャル・アクセスか否かを調べる。シーケシンャル・アク
セスの場合には、先読み分をY2とし、開始ブロック・
アドレス=X、ブロック数=Y1+Y2をパラメータと
して持つリード・コマンドを先読みバッファ付きディス
ク装置20に送る。Now, there is a disk data read request from the software, and the disk read start block
Address = X, block number = Y1, main memory address = Z
Suppose that was. The host computer 10 (actually the disk control program) checks whether or not the data specified by this read request exists in the disk cache 14, and if there is no data, it refers to the access history to determine whether it is a sequential access or not. To find out. In the case of sequential access, the read-ahead portion is set to Y2 and the start block
A read command having address = X and block number = Y1 + Y2 as parameters is sent to the disk device 20 with the prefetch buffer.
【0018】先読みバッファ付きディスク装置20は、
リード・コマンドを受け取ると、リード・コマンドで指
定されたブロックが先読みバッファ21にあるか否かを
調べる。ある場合には、ブロック・アドレス=Xを先頭
とする(Y1+Y2)ブロックを先読みバッファ21か
ら読み出してホスト計算機10に送る。ホスト計算機1
0(実際にはDMAコントローラ12)は、ブロック・
アドレス=Xを先頭とする(Y1+Y2)ブロックをデ
ィスク・キャッシュ14に書き込み、ブロック・アドレ
ス=Xを先頭とするY1ブロックを主記憶13のアドレ
スZ以降の領域に書き込む。The disk device 20 with the read-ahead buffer is
When the read command is received, it is checked whether or not the block designated by the read command is in the prefetch buffer 21. In some cases, the (Y1 + Y2) block having the block address = X as the head is read from the prefetch buffer 21 and sent to the host computer 10. Host computer 1
0 (actually DMA controller 12) is a block
The (Y1 + Y2) block having the address = X as the head is written in the disk cache 14, and the Y1 block having the block address = X as the head is written in the area after the address Z of the main memory 13.
【0019】リード・コマンドで指定されたデータが先
読みバッファ21にない場合は、先読みバッファ付きデ
ィスク装置20は、リード・コマンドで指定されたデー
タを含む所定数(例えば1000)のブロックをディス
ク装置22から読み出して先読みバッファ21に格納す
ると共に、ブロック・アドレス=Xを先頭とする(Y1
+Y2)ブロックを読み出してホスト計算機10に送
る。それ以後の動作は前述した通りである。When the data specified by the read command does not exist in the read-ahead buffer 21, the disk device 20 with the read-ahead buffer stores a predetermined number (for example, 1000) of blocks including the data specified by the read command in the disk device 22. Read from the block and store it in the prefetch buffer 21 and at the beginning of the block address = X (Y1
+ Y2) Block is read and sent to the host computer 10. The subsequent operation is as described above.
【0020】図9はディスク装置からデータをリードす
る場合のホスト計算機の処理を示す図である。先読みバ
ッファ付きディスク装置からデータをリードする場合、
ソフトウェアからは、 ディスクの読取り開始ブロック・アドレス ブロック数 主記憶のメモリ・アドレス の3つの情報が渡される。このうち、との情報は、
リード・コマンドのパラメータとして、先読みバッファ
付きディスク装置に渡される。先読みバッファ付きディ
スク装置から該当のデータがインタフェース・バスを介
してホスト計算機に流れて来る。このとき、の情報を
用いてDMAコントローラによって主記憶に展開する。FIG. 9 is a diagram showing the processing of the host computer when reading data from the disk device. When reading data from a disk device with a read-ahead buffer,
Three pieces of information are passed from the software: the read start block address of the disk, the number of blocks, and the memory address of the main memory. Of these, the information
It is passed to the disk device with the read-ahead buffer as a parameter of the read command. The corresponding data flows from the disk device with the read-ahead buffer to the host computer via the interface bus. At this time, the information is stored in the main memory by the DMA controller.
【0021】図10は先読みバッファ付きディスク装置
の先読みバッファの構造を示す図である。先読みバッフ
ァの全体のサイズは256KBないし512KB程度で
あり、これをセグメント数と呼ばれる分割数で分割して
保持している。セグメント数は通常は4ないし8程度で
あり、したがって、1セグメント当たり32ないし12
8KB程度と言うことになる。FIG. 10 is a diagram showing the structure of the prefetch buffer of the disk device with the prefetch buffer. The total size of the prefetch buffer is about 256 KB to 512 KB, and this is divided and held by the number of divisions called the number of segments. The number of segments is usually around 4 to 8, so 32 to 12 per segment
It will be about 8 KB.
【0022】この先読みバッファは、2ポート構成とな
っており、ディスク媒体から読み取って先読みバッファ
に格納するポートと、インタフェース・バスから外部へ
送出するポートとを持っており、媒体からデータを読取
りながら外部へ送出することが出来るようになってい
る。なお、どれかを上書きして使用することになるが、
どれを使用するかはLRU(Least Recentry Used
)という有名なアルゴリズムを使用して決定する。つ
まり、最も古い(最も以前の)アクセスで使用されたバ
ッファを潰して使用し、今度はそのバッファを最新のも
のとして登録しておくので、常になるべく新しいデータ
をバッファに保持することが出来る仕組みである。This read-ahead buffer has a two-port structure, and has a port for reading from the disk medium and storing it in the read-ahead buffer, and a port for sending out from the interface bus to the outside, while reading data from the medium. It can be sent to the outside. In addition, it will be used by overwriting any one,
LRU (Least Recent Used)
) Is used to make the decision. In other words, the buffer used in the oldest (oldest) access is crushed and used, and this time the buffer is registered as the latest one, so it is possible to keep new data in the buffer as much as possible. is there.
【0023】1つの先読みバッファのサイズは32KB
ないし128KB程度であるが、32KBの場合を想定
する。ディスクの1ブロックのサイズを512バイトと
すると、32KB(32768バイト)÷512バイト
=64ブロック分のデータを1個の先読みバッファの中
に保持できることになる。図示しないが、各先読みバッ
ファに対応して管理テーブルが存在し、各管理テーブル
は、対応する先読みバッファの各ブロック格納域にどの
ブロック・アドレスのデータが格納されているかを示す
情報を保持している。The size of one read-ahead buffer is 32 KB.
Although it is about 128 KB, it is assumed that it is 32 KB. If the size of one block of the disk is 512 bytes, 32 KB (32768 bytes) ÷ 512 bytes = 64 blocks of data can be held in one prefetch buffer. Although not shown, there is a management table corresponding to each prefetch buffer, and each management table holds information indicating which block address data is stored in each block storage area of the corresponding prefetch buffer. There is.
【0024】図11および図12はリード時の先読みバ
ッファ付きディスク装置の処理を示す図である。ホスト
からリード・コマンドが送られてくると、ブロック・ア
ドレスとブロック数が渡されるので、先読みバッファ付
きディスク装置内のコントローラは、ディスク媒体の該
当位置へヘッドを移動する(シークという)。そして、
目的のブロックを見つけて、データを先読みバッファの
一つへ格納していく。これと同時に、外部送出用のポー
トから外部へデータを送出していく。FIGS. 11 and 12 are diagrams showing the processing of the disk device with the prefetch buffer at the time of reading. When a read command is sent from the host, the block address and the number of blocks are passed, so the controller in the disk device with the read-ahead buffer moves the head to the corresponding position on the disk medium (called seek). And
Find the target block and store the data in one of the prefetch buffers. At the same time, data is sent to the outside from the external sending port.
【0025】このようにホスト計算機からのリード・コ
マンドに基づいて該当データを転送していくわけである
が、例えば、ホスト計算機の要求ブロックが10ブロッ
クだったと仮定する。1個の先読みバッファ(1セグメ
ント)は、64ブロック分のデータを保持できるわけで
あるから、ホスト計算機へのデータ転送が終了した後も
54ブロック分のデータを継続して先読みして、先読み
バッファに格納していく。その後のホスト・アクセスが
先程の後続データであれば、先読みバッファにヒットす
ると言う仕組みである。As described above, the corresponding data is transferred based on the read command from the host computer. For example, it is assumed that the requested block of the host computer is 10 blocks. Since one prefetch buffer (one segment) can hold 64 blocks of data, 54 blocks of data are continuously prefetched even after the data transfer to the host computer is completed, and the prefetch buffer It will be stored in. If the subsequent host access is the subsequent data, it hits the prefetch buffer.
【0026】先読み中にホストからの新たなリード・コ
マンドを受け取った場合は、図12のフロー中の最後の
☆印の箇所でチェックが入り、そのコマンドの要求デー
タが先程の後続データであればそのまま先読みバッファ
中に入りつつあるデータをホスト計算機へ転送し、後続
データでなければ先読み動作は速やかに中止して、新た
なリード・コマンドの処理を行う。これによって、性能
劣化を防いでいる。When a new read command is received from the host during pre-reading, a check mark is entered at the last part marked with a star in the flow of FIG. 12, and if the requested data of the command is the subsequent data described above. The data that is being entered into the prefetch buffer is transferred to the host computer as it is, and if it is not the subsequent data, the prefetch operation is immediately stopped and a new read command is processed. This prevents performance deterioration.
【0027】図13および図14はシーケンシャル・ア
クセス判断処理を示す図である。図7の制御フローにお
いて、アクセス履歴を参照して、シーケンシャル・アク
セスか否かの判断を行っているが、過去16回までのア
クセス履歴を記憶しておくために、“アクセス履歴テー
ブル”と呼ばれるテーブルを持っている。これは、ソフ
トウェアからのリード指示が発行された場合、その開始
ブロック・アドレスとブロック数を加算したもの(4バ
イト)を16通り覚えておくもので、64バイトのテー
ブルとなっている。図13および図14はシーケンシャ
ル・アクセス判断処理のフローを示す。図示のアルゴリ
ズムを使用することによって、今回のアクセスがシーケ
ンシャルアクセスかどうかが、SEQフラグのON/O
FFによって判明する。さらに今回のアクセス状況が新
たにテーブルに追加されることになる。FIG. 13 and FIG. 14 are views showing the sequential access judgment processing. In the control flow of FIG. 7, the access history is referred to determine whether the access is sequential access or not. This is called an “access history table” because the access history up to the past 16 times is stored. I have a table. When a read instruction is issued from software, 16 (4 bytes) of the start block address and the number of blocks are remembered, which is a 64-byte table. 13 and 14 show a flow of sequential access determination processing. By using the algorithm shown in the figure, whether the current access is a sequential access or not is determined by the ON / O of the SEQ flag.
It turns out by FF. Furthermore, this access status will be newly added to the table.
【0028】図15はアクセス履歴テーブルの遷移の例
を示す図である。図15(a) は初期状態を示す。初期状
態では、アクセス履歴テーブルの各項目(行)には、F
FFFFFFFが格納されている。ディスクの最大容量
の関係上、FFFFFFFFはあり得ないため、この値
を設定している。00000000にすると、0000
0000が開始ブロックとなるアクセスが、常にシーケ
ンシャル・アクセスと誤認識されてしまう。FIG. 15 is a diagram showing an example of transition of the access history table. FIG. 15 (a) shows the initial state. In the initial state, each item (row) in the access history table has F
FFFFFFF is stored. This value is set because FFFFFFFF cannot exist due to the maximum capacity of the disk. If set to 00000000, 0000
An access whose start block is 0000 is always mistakenly recognized as a sequential access.
【0029】アクセス履歴テーブルが図15(a) の状態
の下でブロック00000000から10ブロックのリ
ード要求があった場合には、アクセス履歴テーブルの内
容は図15(b) のように変化する。シーケンシャル・ア
クセス判断のアルゴリズムを使用すると、テーブルの項
目内に00000000が存在しないため、シーケンシ
ャル・アクセスでないと判断される。最初のアクセスは
常にシーケンシャル・アクセスでないと判断されるが、
最初だけなので、頻度は最小限である。When there is a read request from block 00000000 to block 10 in the access history table shown in FIG. 15 (a), the contents of the access history table change as shown in FIG. 15 (b). When the algorithm for determining sequential access is used, since 00000000 does not exist in the item of the table, it is determined not to be sequential access. The first access is always judged not to be sequential access,
The frequency is minimal as it is only the first time.
【0030】アクセス履歴テーブルが図15(b) の状態
の下でブロック00000010から10ブロックのリ
ード要求があった場合には、アクセス履歴テーブルの内
容は図15(c) のように変化する。アクセス履歴テーブ
ルの項目内に00000010と言う項目が存在するた
め、シーケシンシャル・アクセスと判断される。図15
(b) のテーブル状態から00000010の箇所が更新
されて、00000010+10=00000020と
なり、図15(c) のようになる。When there is a read request from the block 00000010 to the block 10 in the access history table shown in FIG. 15 (b), the contents of the access history table changes as shown in FIG. 15 (c). Since there is an item “00000010” in the items of the access history table, it is determined as the sequential access. Figure 15
From the table state of (b), the number of 00000010 is updated to be 00000010 + 10 = 00000020, which is as shown in FIG. 15 (c).
【0031】その後、様々なアクセスがあって、アクセ
ス履歴テーブルの内容が図15(d)のようになったと仮
定する。アクセス履歴テーブルが図15(d) の状態の下
でブロック00222222から8ブロックのリード要
求があった場合には、アクセス履歴テーブルの内容は図
15(e) のように変化する。アクセス履歴テーブルの項
目内に00222222と言う項目が存在するため、シ
ーケンシャル・アクセスと判断される。図15(d) のテ
ーブルの状態から00222222の箇所が更新され
て、00222222+8=0022222Aとなり、
且つその項目が先頭(最新箇所)となり、古い項目は後
ろにずれる。After that, it is assumed that there are various accesses and the contents of the access history table are as shown in FIG. 15 (d). When there is a read request for eight blocks from block 02222222 under the state of the access history table of FIG. 15 (d), the contents of the access history table changes as shown in FIG. 15 (e). Since there is an item called 00222222 in the items of the access history table, it is determined to be sequential access. The location of 00222222 is updated from the state of the table of FIG. 15 (d) so that 00222222 + 8 = 0022222A,
Moreover, the item becomes the top (latest part), and the old item shifts backward.
【0032】アクセス履歴テーブルが図15(e) の状態
の下でブロック0000ABCDから2ブロックのリー
ド要求があった場合には、アクセス履歴テーブルの内容
は図15(f) のように変化する。アクセス履歴テーブル
の項目内に0000ABCDと言う項目が存在しないた
め、シーケンシャル・アクセスでないと判断される。図
15(e) のテーブル項目に0000ABCD+2=00
00ABCFの項目が追加され、且つ其の項目が先頭
(最新箇所)となり、古い項目が後ろにずれる。このと
き、最も古い00000020が追い出される(アクセ
ス履歴テーブルから削除される)。When there is a read request for two blocks from the block 0000ABCD under the condition of the access history table of FIG. 15 (e), the contents of the access history table changes as shown in FIG. 15 (f). Since there is no item called 0000ABCD in the items of the access history table, it is determined that the access is not sequential access. In the table item of FIG. 15 (e), 0000ABCD + 2 = 00
The item 00ABCF is added, the item becomes the head (latest position), and the old item shifts backward. At this time, the oldest 00000020 is evicted (deleted from the access history table).
【0033】従来の技術では、ディスク・キャッシュの
中に、 i) アクセス要求のあったブロックのデータを保持す
る。(ソフトの“データの再使用”と言う性質を利用) ii) アクセス要求のあったブロックの後続データを先読
みして保持する。(ソフトの" 参照の局所性" と言う性
質を利用) などの動作を行い、ディスク装置を高速に見せている。
しかし、最近のディスク装置は、装置内に先読みバッフ
ァを装備しており,ii) の機能は意味がなくなってい
る。In the conventional technique, i) the data of the block requested to be accessed is held in the disk cache. (Use the software's "data reuse" property) ii) Read ahead and retain the subsequent data of the block for which an access is requested. (Using the property called "locality of reference" of software), the disk device appears to operate at high speed.
However, recent disk devices have a read-ahead buffer in the device, and the function of ii) is meaningless.
【0034】[0034]
【発明が解決しようとする課題】上述した従来の技術に
は、以下のような問題点がある。 (a) 以降のリード要求で、ディスク・キャッシュ内の先
読みのデータがヒットされることが予測されるが、この
ときディスク・キャッシュのデータを主記憶へ転送する
時間と、先読みバッファ付きディスク装置の先読みバッ
ファのデータをホスト側キャシュを介さずに主記憶へ転
送する時間は同等であり、ディスク・キャッシュの効果
はなくなる。 (b) そればかりか、先読みバッファ付きディスク装置か
らの先読みデータの転送でディスク・キャッシュ内の旧
データが消失してしまうため、ディスク・キャッシュの
使用効率が悪く、結果的に全体を通したヒット率が低下
する。すなわち、シーケンシャル・アクセス時は、ホス
ト側キャッシュがあってもなくても性能は変わらない。
また、ディスク装置側からの転送速度が高速になると、
ディスク・キャッシュが付加されている方が遅くなると
言う性能逆転現象が発生する。The above-mentioned conventional technique has the following problems. (a) Subsequent read requests are expected to hit the read-ahead data in the disk cache. At this time, the time to transfer the disk cache data to the main memory and the read-ahead buffer disk unit The time to transfer the data in the prefetch buffer to the main memory without passing through the cache on the host side is the same, and the effect of the disk cache is lost. (b) Not only that, because the old data in the disk cache is lost when the read-ahead data is transferred from the disk device with the read-ahead buffer, the disk cache is inefficiently used, resulting in an overall hit. The rate drops. That is, during sequential access, the performance does not change with or without the host-side cache.
Also, when the transfer speed from the disk device side becomes high,
A performance reversal phenomenon occurs in which it is slower when the disk cache is added.
【0035】次にシーケンシャル・アクセスでない場合
を考える。 (1) ディスク装置側のバッファが主に先読み用に考えら
れていること。 (2) (ホスト側キャッシュ容量)>(ディスク側先読み
バッファ容量)であること。 (3) ディスク・アクセス時は、どのような場合でも、先
読みバッファ付きディスク装置の先読みバッファを使用
してしまうこと。 等の理由により先読みバッファのデータ保持性は低いと
言える。すなわち、シーケンシャル・アクセス以外の場
合は、ディスク装置側の先読みバッファにキャッシュと
しての効果は期待できない。なお、シーケンシャル・ア
クセスの場合は、一度使用されたデータは二度と使用し
ない場合が多いので、データ保持性は低くても問題はな
い。Next, consider the case where the sequential access is not performed. (1) The buffer on the disk device side is mainly designed for prefetching. (2) (Host side cache capacity)> (Disk side prefetch buffer capacity). (3) When accessing the disk, use the read-ahead buffer of the disk device with the read-ahead buffer in any case. For this reason, it can be said that the prefetch buffer has low data retention. That is, in cases other than the sequential access, the effect of the prefetch buffer on the disk device side as a cache cannot be expected. In the case of sequential access, data used once is not used again in many cases, so there is no problem even if the data retention is low.
【0036】本発明は、この点に鑑みて創作されたもの
であって、データ転送を効率良く行い得るとともに、キ
ャッシュ・ヒット率を向上できるようになったディスク
・システムの制御方法を提供することを目的としてい
る。The present invention was created in view of this point, and provides a disk system control method capable of efficiently performing data transfer and improving the cache hit rate. It is an object.
【0037】[0037]
【課題を解決するための手段】図1は本発明の原理説明
図である。請求項1のディスク・システムの制御方法
は、主記憶(13)と、ディスク・キャッシュ(14)と、先読
みバッファ(21)およびディスク装置(22)を有する先読み
バッファ付きのディスク装置(20)とを具備するディスク
・システムの制御方法であって、シーケンシャル・アク
セス時には、先読みバッファ付きディスク装置(20)から
送られて来た要求データを,ディスク・キャッシュ(14)
に格納することなく,主記憶(13)に格納し、シーケンシ
ャル・アクセス以外の時には、先読みバッファ付きディ
スク装置(20)から送られて来た要求データをディスク・
キャッシュ(14)に格納すると共に、主記憶(13)に格納す
ることを特徴とするものである。FIG. 1 is a diagram for explaining the principle of the present invention. A method of controlling a disk system according to claim 1, wherein a main memory (13), a disk cache (14), a disk device (20) with a read-ahead buffer having a read-ahead buffer (21) and a disk device (22). A method of controlling a disk system comprising: a disk cache (14) for requesting data sent from a disk device (20) with a read-ahead buffer during sequential access.
The request data sent from the disk device (20) with a read-ahead buffer is stored in the main memory (13) without being stored in
It is characterized by being stored in the main memory (13) as well as being stored in the cache (14).
【0038】[0038]
【作用】図1(a) を参照して、シーケンシャル・アクセ
ス時の動作について説明する。先読みバッファ付きディ
スク装置20は、ホスト計算機からのリード要求を受け
取ると、ディスク装置22から要求データDと,それに
続く先読分のデータD′を読み出し、要求データDと先
読み分のデータD′を先読みバッファ21に格納し、要
求データDをホスト計算機側に転送する。ホスト計算機
側は、シーケンシャル・アクセス時には要求データDを
ディスク・キャッシュ14に格納することなく、受け取
った要求データDを主記憶13に格納する。The operation during the sequential access will be described with reference to FIG. When receiving the read request from the host computer, the disk device with read-ahead buffer 20 reads the request data D and the subsequent read-ahead data D ′ from the disk device 22, and reads the request data D and the read-ahead data D ′. The request data D is stored in the prefetch buffer 21 and transferred to the host computer side. The host computer side stores the received request data D in the main memory 13 without storing the request data D in the disk cache 14 at the time of sequential access.
【0039】図1(b) を参照して、シーケンシャル・ア
クセス以外の時の動作について説明する。先読みバッフ
ァ付きディスク装置20は、ホスト計算機からのリード
要求を受け取ると、ディスク22から要求データDと,
それに続く先読分のデータD′を読み出し、要求データ
Dと先読み分のデータD′を先読みバッファ21に格納
し、要求データDをホスト計算機側に転送する。ホスト
計算機側は、シーケンシャル・アクセス以外の時には要
求データDをディスク・キャッシュ143に格納すると
共に、要求データDを主記憶13に格納する。The operation other than the sequential access will be described with reference to FIG. When receiving the read request from the host computer, the disk device with read-ahead buffer 20 receives the request data D from the disk 22,
The subsequent read-ahead data D ′ is read, the request data D and the read-ahead data D ′ are stored in the read-ahead buffer 21, and the request data D is transferred to the host computer side. The host computer stores the request data D in the disk cache 143 and the request data D in the main memory 13 except for the sequential access.
【0040】本発明では、シーケンシャル・アクセス時
にはディスク・キャッシュにデータを格納せず、シーケ
ンシャル・アクセス以外の時には要求分のみをディスク
・キャッシュに格納しているので、ディスク・キャッシ
ュ内の旧データの消失を最小限にすることができ、ディ
スク・キャッシュのデータはその後のシーケンシャル・
アクセス時でも消失しない。また、数回のディスク・ア
クセス後、同一のデータの再要求があった場合には、こ
のディスク・キャッシュにより、ヒットが期待できる。
もし、このようなディスク・キャッシュが無く、ディス
ク内の先読みバッファのみでキャッシュを構成した場合
は、数回のディスク・アクセス後、同一データの再要求
があった場合は、数回のディスク・アクセス中にデータ
が消えてしまうので、ヒットが期待できない。According to the present invention, the data is not stored in the disk cache at the time of sequential access, and only the requested amount is stored in the disk cache at the time of non-sequential access. Therefore, the old data in the disk cache is lost. Can be minimized and the data in the disk cache can be
Does not disappear even when accessed. If the same data is requested again after the disk is accessed several times, a hit can be expected from this disk cache.
If there is no such disk cache and the cache is configured only by the read-ahead buffer in the disk, if the same data is requested again after several times of disk access, several times of disk access will be performed. You can't expect a hit because the data will be lost.
【0041】[0041]
【実施例】図2は本発明における動作フローを示す図で
ある。本発明を実施するためのハードウェア構成は、従
来例と同じである。本発明と従来例の相違は、ディスク
制御プログラムの一部が相違するだけである。すなわ
ち、図7において、「該当アクセス履歴更新」→「先読
み分を含めてディスク起動.データはキャッシュに格
納」→「キャッシュ管理テーブル更新」→「要求分のみ
キャッシュから主記憶転送」と言う処理の流れがある
が、本発明はこの処理の流れの部分を変更したものであ
る。ステップS1では、ソフトウェアからのリード要求
を受け取る。ステップS2では、過去何回かのアクセス
履歴を参照する。ステップS3では、シーケンシャル・
アクセスか否かを調べる。YESの場合はステップS4
に進み、NOの場合はステップS7に進む。FIG. 2 is a diagram showing an operation flow in the present invention. The hardware configuration for implementing the present invention is the same as the conventional example. The difference between the present invention and the conventional example is only a part of the disk control program. That is, in FIG. 7, the process of "update relevant access history"->"start disk with prefetched data stored in cache"->"update cache management table"->"transfer main memory from request only cache" Although there is a flow, the present invention is a modification of this process flow. In step S1, a read request from software is received. In step S2, the past several access histories are referred to. In step S3,
Check whether it is access. If YES, step S4
If NO, proceed to step S7.
【0042】ステップS4では、該当アクセス履歴を更
新する。ステップS5では、ディスクにリード起動を送
る。この場合は、ホスト側のディスク・キャッシュは使
用しない。ステップS6では、ディスクからのデータを
そのまま主記憶へ転送する。In step S4, the corresponding access history is updated. In step S5, read activation is sent to the disc. In this case, the host side disk cache is not used. In step S6, the data from the disk is transferred to the main memory as it is.
【0043】ステップS7では、アクセス履歴を追加す
る。ステップS8では、ディスクにリード起動を送る。
ステップS9では、ソフトからの要求分のみキャッシュ
にデータ格納する。ステップS10では、キャッシュか
ら主記憶へデータ転送する。In step S7, the access history is added. In step S8, read activation is sent to the disc.
In step S9, only the request from the software is stored in the cache. In step S10, data is transferred from the cache to the main memory.
【0044】[0044]
【発明の効果】以上の説明から明らかなように、本発明
によれば、キャッシュ・ヒット率を向上できると共に、
効率よくデータを転送することが可能となる。As is apparent from the above description, according to the present invention, the cache hit rate can be improved and
It becomes possible to transfer data efficiently.
【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.
【図2】本発明における動作フローを示す図である。FIG. 2 is a diagram showing an operation flow in the present invention.
【図3】計算機システムの全体を示す図である。FIG. 3 is a diagram showing an entire computer system.
【図4】ディスク・キャッシュの構成を示す図である。FIG. 4 is a diagram showing a configuration of a disk cache.
【図5】ディスク・キャッシュ内ブロック格納位置を説
明するための図である。FIG. 5 is a diagram for explaining a block storage position in a disk cache.
【図6】先読みバッファ付きディスク装置の構成を示す
図である。FIG. 6 is a diagram showing a configuration of a disk device with a prefetch buffer.
【図7】ディスク制御プログラムの制御フローを示す図
である。FIG. 7 is a diagram showing a control flow of a disk control program.
【図8】従来のホスト側ディスク・キャッシュの先読み
動作を説明する図である。FIG. 8 is a diagram illustrating a read-ahead operation of a conventional host-side disk cache.
【図9】ディスク装置からデータをリードする場合のホ
スト計算機の処理を示す図である。FIG. 9 is a diagram showing processing of the host computer when reading data from the disk device.
【図10】ディスク装置内の先読みバッファの構造を示
す図である。FIG. 10 is a diagram showing the structure of a read-ahead buffer in the disk device.
【図11】リード時のディスク装置の処理を示す図であ
る。FIG. 11 is a diagram showing processing of the disk device at the time of reading.
【図12】リード時のディスク装置の処理(続き)を示
す図である。FIG. 12 is a diagram showing processing (continuation) of the disk device at the time of reading.
【図13】シーケンシャル・アクセス判断処理を示す図
である。FIG. 13 is a diagram showing a sequential access determination process.
【図14】シーケンシャル・アクセス判断処理(続き)
を示す図である。[Figure 14] Sequential access judgment processing (continued)
FIG.
【図15】アクセス履歴テーブルの遷移の例を示す図で
ある。FIG. 15 is a diagram showing an example of transition of an access history table.
10 ホスト計算機 11 中央処理装置 12 DMAコントローラ 13 主記憶 14 ディスク・キャッシュ 20 先読みバッファ付きディスク装置 21 先読みバッファ 22 ディスク装置 23 コントローラ 10 host computer 11 central processing unit 12 DMA controller 13 main memory 14 disk cache 20 disk device with read-ahead buffer 21 read-ahead buffer 22 disk device 23 controller
Claims (1)
読みバッファ付きのディスク装置(20)とを具備するディ
スク・システムの制御方法であって、 シーケンシャル・アクセス時には、先読みバッファ付き
ディスク装置(20)から送られて来た要求データを,ディ
スク・キャッシュ(14)に格納することなく,主記憶(13)
に格納し、 シーケンシャル・アクセス以外の時には、先読みバッフ
ァ付きディスク装置(20)から送られて来た要求データを
ディスク・キャッシュ(14)に格納すると共に、主記憶(1
3)に格納することを特徴とするディスク・システムの制
御方法。1. A disk system comprising a main memory (13), a disk cache (14), a disk device (20) with a read-ahead buffer having a read-ahead buffer (21) and a disk device (22). A control method, in the case of sequential access, the main memory (13) does not store the request data sent from the disk unit (20) with a read-ahead buffer in the disk cache (14).
The request data sent from the disk device (20) with read-ahead buffer is stored in the disk cache (14) and stored in the main memory (1
A method for controlling a disk system characterized by storing in 3).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5220092A JP2943896B2 (en) | 1993-09-03 | 1993-09-03 | Computer system and disk data control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5220092A JP2943896B2 (en) | 1993-09-03 | 1993-09-03 | Computer system and disk data control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0773107A true JPH0773107A (en) | 1995-03-17 |
JP2943896B2 JP2943896B2 (en) | 1999-08-30 |
Family
ID=16745806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5220092A Expired - Lifetime JP2943896B2 (en) | 1993-09-03 | 1993-09-03 | Computer system and disk data control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2943896B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062664B2 (en) | 1997-07-25 | 2006-06-13 | Canon Kabushiki Kaisha | Bus management based on bus status |
JP2008269015A (en) * | 2007-04-16 | 2008-11-06 | Hitachi Ltd | Storage system and its control method |
WO2008136133A1 (en) * | 2007-04-20 | 2008-11-13 | Media Logic Corp. | Device controller |
JP2009093225A (en) * | 2007-10-03 | 2009-04-30 | Nec Corp | Storage control device, method, program, and storage device |
JP2011008570A (en) * | 2009-06-26 | 2011-01-13 | Buffalo Inc | Storage device, information processing system, and computer program |
JP2011514593A (en) * | 2008-06-25 | 2011-05-06 | インテル・コーポレーション | Apparatus and method for use of cache |
JP2013077161A (en) * | 2011-09-30 | 2013-04-25 | Toshiba Corp | Information processor, hybrid storage device and cache method |
-
1993
- 1993-09-03 JP JP5220092A patent/JP2943896B2/en not_active Expired - Lifetime
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062664B2 (en) | 1997-07-25 | 2006-06-13 | Canon Kabushiki Kaisha | Bus management based on bus status |
JP2008269015A (en) * | 2007-04-16 | 2008-11-06 | Hitachi Ltd | Storage system and its control method |
US8214606B2 (en) | 2007-04-16 | 2012-07-03 | Hitachi Ltd. | Storage system and control method thereof |
WO2008136133A1 (en) * | 2007-04-20 | 2008-11-13 | Media Logic Corp. | Device controller |
US8370857B2 (en) | 2007-04-20 | 2013-02-05 | Media Logic Corp. | Device controller |
JP2009093225A (en) * | 2007-10-03 | 2009-04-30 | Nec Corp | Storage control device, method, program, and storage device |
JP2011514593A (en) * | 2008-06-25 | 2011-05-06 | インテル・コーポレーション | Apparatus and method for use of cache |
US8433854B2 (en) | 2008-06-25 | 2013-04-30 | Intel Corporation | Apparatus and method for cache utilization |
JP2013178818A (en) * | 2008-06-25 | 2013-09-09 | Intel Corp | Apparatus and method for cache utilization |
JP2011008570A (en) * | 2009-06-26 | 2011-01-13 | Buffalo Inc | Storage device, information processing system, and computer program |
JP2013077161A (en) * | 2011-09-30 | 2013-04-25 | Toshiba Corp | Information processor, hybrid storage device and cache method |
Also Published As
Publication number | Publication date |
---|---|
JP2943896B2 (en) | 1999-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3183993B2 (en) | Disk control system | |
US6216199B1 (en) | Hardware mechanism for managing cache structures in a data storage system | |
US7203815B2 (en) | Multi-level page cache for enhanced file system performance via read ahead | |
US4489378A (en) | Automatic adjustment of the quantity of prefetch data in a disk cache operation | |
US9921973B2 (en) | Cache management of track removal in a cache for storage | |
JPS60500187A (en) | data processing system | |
US5590300A (en) | Cache memory utilizing address translation table | |
US6772288B1 (en) | Extended cache memory system and method for caching data including changing a state field value in an extent record | |
JP2000090009A (en) | Method and device for replacing cache line of cache memory | |
JPH0241056B2 (en) | ||
JP2007011523A (en) | Data look-ahead method and computer system | |
JP2002342037A (en) | Disk device | |
US5696931A (en) | Disc drive controller with apparatus and method for automatic transfer of cache data | |
US20050050279A1 (en) | Storage system and method for prestaging data in a cache for improved performance | |
JPH07334426A (en) | Information recording and reproducing device and data caching method | |
JP2001188706A (en) | Disk controller | |
JP3149856B2 (en) | Magnetic disk controller | |
JP2943896B2 (en) | Computer system and disk data control method | |
JPH11338775A (en) | Managing method for cache page and medium stored with managing program for cache page | |
JP3083530B2 (en) | Cache memory data management method and cache control device | |
JP2854667B2 (en) | Disk cache control method | |
JP2854668B2 (en) | Disk cache control method | |
JP3435176B2 (en) | Magnetic disk drive | |
JPH05257810A (en) | Information recording and reproducing device and information recording method | |
JPH04311216A (en) | External storage controller |