JPH10171713A - Disk storage device and method for controlling cache applied to the same device - Google Patents

Disk storage device and method for controlling cache applied to the same device

Info

Publication number
JPH10171713A
JPH10171713A JP8328342A JP32834296A JPH10171713A JP H10171713 A JPH10171713 A JP H10171713A JP 8328342 A JP8328342 A JP 8328342A JP 32834296 A JP32834296 A JP 32834296A JP H10171713 A JPH10171713 A JP H10171713A
Authority
JP
Japan
Prior art keywords
data
address
read
cache
buffer 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.)
Pending
Application number
JP8328342A
Other languages
Japanese (ja)
Inventor
Chikashi Igari
史 猪狩
Masayuki Fukuzaki
雅之 福崎
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.)
Toshiba Corp
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering Corp
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 Toshiba Corp, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Priority to JP8328342A priority Critical patent/JPH10171713A/en
Publication of JPH10171713A publication Critical patent/JPH10171713A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten a processing time required for a read cache processing, and to improve the access speed of a disk storage device by executing each kind of processing necessary for a read cache function by an exclusive hardware without any interference of a CPU. SOLUTION: A read cache controller 20 provided in an HDC 10 sets cache data(look-ahead data) stored in a buffer RAM 11 as a hit range, and judges whether or not read request data from a host system are included in the hit range. When the read request data are included in the hit range as the result of the hit judgment, a buffer address in which the cache data pertinent to the request data are stored is searched, and the cache data are automatically transferred from this buffer address to the host system.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、例えば磁気ディス
ク装置に適用し、ディスク記録媒体から読出したデータ
をキャッシュデータとして利用するリードキャッシュ機
能を有するディスク記憶装置に関する。
The present invention relates to a disk storage device having a read cache function applied to, for example, a magnetic disk device and utilizing data read from a disk recording medium as cache data.

【0002】[0002]

【従来の技術】従来、磁気ディスク装置であるハードデ
ィスクドライブ(HDD)などのディスク記憶装置は、
半導体ICメモリと比較して記憶容量は大きいが、デー
タアクセス速度が低速である。このため、ホストシステ
ム(パーソナルコンピュータなどのコンピュータ本体)
がHDDに対して必要なデータを要求(リード要求)し
たときに、HDDのディスク記録媒体(以下単にディス
クと称する)から読出されて転送されるまでの処理時間
が相対的に長時間となる。従って、ホストシステム側の
データ処理効率を向上させる上で、特に外部記憶装置と
して重要な周辺デバイスであるHDDのアクセス速度を
高速化が望ましい。
2. Description of the Related Art Conventionally, a disk storage device such as a hard disk drive (HDD), which is a magnetic disk device,
Although the storage capacity is large as compared with the semiconductor IC memory, the data access speed is low. Therefore, the host system (computer body such as a personal computer)
When a request is made to the HDD for required data (read request), the processing time from when the data is read from the disk recording medium of the HDD (hereinafter simply referred to as a disk) and transferred is relatively long. Therefore, in order to improve the data processing efficiency of the host system, it is desirable to increase the access speed of the HDD, which is a peripheral device that is particularly important as an external storage device.

【0003】このようなアクセスの高速化の技術とし
て、いわゆるリードキャッシュ機能が周知である。リー
ドキャッシュ機能とは、ホストシステムから最初のリー
ド要求によりディスクから読出されたデータをホストシ
ステムに転送した後に、ディスクからの読出し動作を継
続して、リード要求のデータに連続したデータを先読み
処理し、バッファメモリ(バッファRAM)に保存する
処理である。そして、次にホストシステムからのリード
要求があったときに、その要求データがバッファRAM
に保存されている場合には、ディスクからの読出し動作
を実行せずに、ホストシステムに転送する処理を実行す
る。このようなリードキャッシュ機能により、読出し頻
度の高いデータについては、ディスクに対する読出し動
作を行なうことなく、バッファRAMから直接にホスト
システムに転送できるため、結果的にHDDのデータア
クセス動作を高速化できる。
As a technique for increasing the speed of such access, a so-called read cache function is well known. The read cache function is to transfer data read from the disk in response to the first read request from the host system to the host system, and then continue the read operation from the disk to pre-read the data following the read request data. , A process of storing the data in a buffer memory (buffer RAM). Next, when a read request is issued from the host system, the requested data is stored in the buffer RAM.
If the data is stored in the disk drive, the data is transferred to the host system without executing the read operation from the disk. With such a read cache function, frequently read data can be directly transferred from the buffer RAM to the host system without performing a read operation on the disk, and as a result, the data access operation of the HDD can be speeded up.

【0004】リードキャッシュ機能の方式としては、最
初のリード要求により読出されたセクタデータのアドレ
ス(ホストシステムからの論理アドレスとする)に連続
したアドレスに対してリード要求があると、バッファR
AM内に先読みしたセクタデータをホストシステムに転
送する処理がある。この連続したアドレスは、シーケン
シャル・データアドレスと呼ばれ、バッファRAMに格
納されているキャッシュデータ(先読みされたセクタデ
ータ)の開始アドレスに相当する。
As a method of the read cache function, when there is a read request for an address that is continuous with the address of the sector data (logical address from the host system) read by the first read request, the buffer R
There is a process of transferring pre-read sector data to the host system in the AM. These consecutive addresses are called sequential data addresses, and correspond to the start addresses of cache data (pre-read sector data) stored in the buffer RAM.

【0005】一方、最初のリード要求のアドレスに対し
て、不連続なアドレス(ランダムアドレス)のリード要
求が発生した場合には、要求データアドレスがバッファ
RAMに格納されているキャッシュデータのアドレスと
を比較し、該当する要求データがバッファRAMに存在
するか否かを判定する(ヒット判定処理)。即ち、シー
ケンシャル・データアドレスをSA、要求データアドレ
スをA、キャッシュデータの最終アドレス(キャッシュ
・データアドレス)をEAとした場合に、条件式「SA
≦A≦EA」を満足するか否かを判定する。ここで、キ
ャッシュ・データアドレスEAは、シーケンシャル・デ
ータアドレスSA及びバッファRAM内に読出されたセ
クタデータ数(先読みデータ数)から算出される。要求
データアドレスAが前記条件式を満足する場合には、バ
ッファRAMに要求データが存在するため、その要求デ
ータであるキャッシュデータが格納されているバッファ
RAMのアドレスを求めて、このアドレスから読出した
キャッシュデータをホストシステムに転送する。
On the other hand, when a read request of a discontinuous address (random address) occurs with respect to the address of the first read request, the requested data address is replaced with the address of the cache data stored in the buffer RAM. Then, it is determined whether or not the corresponding request data exists in the buffer RAM (hit determination processing). That is, when the sequential data address is SA, the requested data address is A, and the last address (cache data address) of the cache data is EA, the conditional expression "SA
≦ A ≦ EA ”is determined. Here, the cache data address EA is calculated from the sequential data address SA and the number of sector data (the number of pre-read data) read into the buffer RAM. If the requested data address A satisfies the above conditional expression, since the requested data exists in the buffer RAM, the address of the buffer RAM in which the cache data as the requested data is stored is obtained and read from this address. Transfer cache data to the host system.

【0006】HDDでは、ドライブとホストシステムと
のインターフェースを構成するディスクコントローラ
(HDC)が設けられており、このHDCによりディス
クとホストシステム間のデータ転送が実行される。さら
に、ドライブの制御装置を構成するマイクロプロセッサ
(CPU)は、バッファRAMのアドレスを管理し、前
記のリードキャッシュ機能におけるヒット判定処理やバ
ッファRAMのアドレス算出処理を実行している。
The HDD is provided with a disk controller (HDC) constituting an interface between the drive and the host system, and the HDC executes data transfer between the disk and the host system. Further, a microprocessor (CPU) constituting the drive control device manages the address of the buffer RAM, and executes the hit determination process and the buffer RAM address calculation process in the read cache function.

【0007】[0007]

【発明が解決しようとする課題】前述したように、HD
D等においては、データ転送動作に使用するバッファR
AMを利用して、先読みしたデータをキャッシュデータ
として保存し、ホストシステムからのリード要求にヒッ
トしたキャッシュデータを転送するリードキャッシュ機
能が使用されている。このようなリードキャッシュ機能
により、データの高速アクセス動作を実現することがで
きる。しかしながら、従来のリードキャッシュ機能では
CPUが相当関与し、特にヒット判定処理やバッファR
AMのアドレス算出処理を実行している。通常ではCP
Uは、リードキャッシュ処理以外にもHDCのアクセス
コマンド処理に必要な各種のレジスタ(ステータスレジ
スタなど)の監視や、データ転送動作におけるポーリン
グ処理などを実行している。従って、CPUが大きく関
与したリードキャッシュ機能では、必ずしも効率的では
なく、ヒットした場合でもバッファRAMに存在するキ
ャッシュデータを転送するにはかなりの処理時間を要す
る。
As described above, the HD
D, etc., use a buffer R used for data transfer operation.
A read cache function is used in which pre-read data is stored as cache data using an AM, and the cache data hit by a read request from the host system is transferred. With such a read cache function, a high-speed data access operation can be realized. However, in the conventional read cache function, the CPU is considerably involved.
An AM address calculation process is being executed. Usually CP
U performs monitoring of various registers (such as a status register) necessary for HDC access command processing in addition to read cache processing, and performs polling processing in a data transfer operation. Therefore, the read cache function involving the CPU is not always efficient, and even if a hit occurs, it takes a considerable processing time to transfer the cache data existing in the buffer RAM.

【0008】そこで、本発明の目的は、リードキャッシ
ュ機能に必要な各種処理を、CPUが関与することなく
専用のハードウェアにより実行可能な構成により、結果
的にリードキャッシュ処理に要する処理時間を短縮化を
実現して、ディスク記憶装置のアクセス速度を向上させ
ることにある。
Accordingly, an object of the present invention is to reduce the processing time required for the read cache process by using a configuration in which various processes required for the read cache function can be executed by dedicated hardware without involving the CPU. To improve the access speed of the disk storage device.

【0009】[0009]

【課題を解決するための手段】本発明は、いわゆるリー
ドキャッシュ機能を備えたディスク記憶装置であって、
バッファメモリ手段に格納されたキャッシュデータのヒ
ット範囲を設定するための設定手段と、ホストシステム
からのリード要求のデータがヒット範囲に含まれている
か否かを判定する判定手段と、前記判定手段の判定結果
により前記リード要求のデータが前記ヒット範囲に含ま
れている場合に、バッファメモリ手段のアドレスを決定
するアドレス決定手段と、データ転送手段とを備えた装
置である。ヒット範囲の設定手段とは、具体的にはバッ
ファメモリ手段に格納されたキャッシュデータの先頭ア
ドレスを保持するキャッシュアドレス保持手段と、バッ
ファメモリ手段に格納された前記キャッシュデータの所
定単位毎のデータ数をカウントするデータカウンタ手段
と、先頭アドレスとデータ数とに基づいてキャッシュデ
ータの最終アドレスを算出する手段とを有する。
SUMMARY OF THE INVENTION The present invention is a disk storage device having a so-called read cache function,
Setting means for setting a hit range of cache data stored in the buffer memory means, determining means for determining whether or not data of a read request from the host system is included in the hit range; When the data of the read request is included in the hit range according to the result of the determination, the apparatus includes an address determination unit that determines an address of the buffer memory unit, and a data transfer unit. The hit range setting means includes, specifically, a cache address holding means for holding a head address of cache data stored in the buffer memory means, and a data number for each predetermined unit of the cache data stored in the buffer memory means. And a means for calculating the last address of the cache data based on the start address and the number of data.

【0010】このような各処理手段を専用のロジック回
路により構成することにより、リードキャッシュ処理に
必要なドライブのCPUの関与を大幅に削減することが
可能であるため、リードキャッシュ処理の処理時間を短
縮化することができる。
By configuring each of these processing means with a dedicated logic circuit, it is possible to greatly reduce the involvement of the CPU of the drive required for the read cache processing, thereby reducing the processing time of the read cache processing. Can be shortened.

【0011】さらに、本発明は、リードアクセス時にデ
ィスク記録媒体から読出されたデータのアドレスに連続
するアドレスのデータを読出して、バッファメモリ手段
に保存する先読み手段と、バッファメモリ手段に格納さ
れた全データまたは前記先読み手段により読出されたデ
ータのみをキャッシュデータとして設定し、前記キャッ
シュデータの先頭アドレスを保持する先頭アドレス保持
手段と、バッファメモリ手段に格納されたキャッシュデ
ータの所定単位毎のデータ数をカウントするデータカウ
ンタ手段とを備えた装置である。
Further, according to the present invention, there is provided a read-ahead means for reading data at an address continuous with an address of data read from a disk recording medium at the time of read access, and storing the data in a buffer memory means; Only the data or the data read by the pre-reading means is set as cache data, the head address holding means for holding the head address of the cache data, and the number of data of the cache data stored in the buffer memory means per predetermined unit. And a data counter means for counting.

【0012】前記ヒット範囲の設定手段は先頭アドレス
保持手段とデータカウンタ手段とにより構成されて、キ
ャッシュデータの先頭アドレスとデータ数とに基づいて
ヒット範囲を設定する。また、データカウンタ手段は、
キャッシュデータの所定単位毎のデータ数と共に、キャ
ッシュデータに連続してバッファメモリ手段に格納され
る予定のキャッシュデータのデータ数をカウントする。
データ転送手段は、リード要求のデータアドレスがヒッ
ト範囲に含まれているが、バッファメモリ手段にその要
求データが存在しない場合には、その要求データに該当
するキャッシュデータがバッファメモリ手段に格納され
た時点でホストシステムに転送する。
The hit range setting means comprises a start address holding means and a data counter means, and sets the hit range based on the start address of cache data and the number of data. Also, the data counter means
The number of pieces of cache data to be stored in the buffer memory means continuously from the cache data is counted together with the number of pieces of cache data for each predetermined unit.
If the data address of the read request is included in the hit range, but the requested data does not exist in the buffer memory means, the cache data corresponding to the requested data is stored in the buffer memory means. Transfer to the host system at that time.

【0013】従って、キャッシュデータがバッファメモ
リ手段に格納する前に、リードキャッシュ処理に必要な
ヒット判定処理が終了しているため、バッファメモリ手
段に格納した時点で直ちに要求データをホストシステム
に転送することが可能となる。
Therefore, the hit determination process required for the read cache process is completed before the cache data is stored in the buffer memory means. Therefore, the requested data is immediately transferred to the host system when the data is stored in the buffer memory means. It becomes possible.

【0014】[0014]

【発明の実施の形態】以下図面を参照して本発明の実施
の形態を説明する。図1は本実施形態に関係するリード
キャッシュ機能を有するディスクコントローラの要部を
示すブロック図であり、図2は本実施形態に関係するH
DDの要部を示すブロック図である。 (HDDのシステム構成)本実施形態のHDDは、図2
に示すように、スピンドルモータ2により回転されるデ
ィスク(記録媒体)1と、ヘッドアクチュエータ4によ
り保持されている。ディスク1上には、同心円状の多数
のトラックが形成されて、各トラックは複数のセクタに
分割されている。HDDではセクタ単位にデータアクセ
スがなされる。ヘッドアクチュエータ4はボイスコイル
モータ(VCM)5により回転駆動し、ヘッド3をディ
スク1の半径方向に移動する。VCM5はダブルドライ
バ6に含まれるVCMドライバ6aにより駆動される。
スピンドルモータ2はスピンドルモータ(SPM)ドラ
イバ6bにより駆動される。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a main part of a disk controller having a read cache function related to the present embodiment, and FIG.
FIG. 3 is a block diagram illustrating a main part of the DD. (System Configuration of HDD) FIG.
As shown in FIG. 1, a disk (recording medium) 1 rotated by a spindle motor 2 and a head actuator 4 hold the disk. A large number of concentric tracks are formed on the disk 1, and each track is divided into a plurality of sectors. In the HDD, data is accessed in sector units. The head actuator 4 is rotationally driven by a voice coil motor (VCM) 5 to move the head 3 in the radial direction of the disk 1. The VCM 5 is driven by a VCM driver 6a included in the double driver 6.
The spindle motor 2 is driven by a spindle motor (SPM) driver 6b.

【0015】ヘッドアンプ7とリード/ライト回路8は
記録再生の信号処理系を構成する要素である。なお、本
実施形態では、リードキャッシュ機能に関係する再生動
作であるリード信号処理系のみについて取り扱う。即
ち、ヘッド3により読出されたリード信号は、ヘッドア
ンプ7により増幅された後に、リード/ライト回路8に
送出されてリードデータに再生される。また、リード/
ライト回路8は、リード信号からユーザデータだけでな
く、ヘッド3の位置決め制御に必要なサーボデータも再
生する。サーボ回路11は、リード/ライト回路8から
のサーボデータをディスク制御回路9を介してCPU1
2に送出したり、またCPU12からの制御によりVC
Mドライバ6aを駆動制御して、ヘッド3の位置決め制
御を実行する。ディスク制御回路9はゲートアレイから
構成されており、各種の制御信号やデータの転送制御な
どに必要なインターフェース制御回路である。
The head amplifier 7 and the read / write circuit 8 are elements constituting a signal processing system for recording and reproduction. In this embodiment, only the read signal processing system, which is a reproduction operation related to the read cache function, is handled. That is, the read signal read by the head 3 is amplified by the head amplifier 7 and then sent to the read / write circuit 8 to be reproduced as read data. In addition, lead /
The write circuit 8 reproduces not only user data from the read signal but also servo data necessary for controlling the positioning of the head 3. The servo circuit 11 transmits the servo data from the read / write circuit 8 to the CPU 1 via the disk control circuit 9.
2 or VC under the control of the CPU 12.
The drive control of the M driver 6a is performed to execute the positioning control of the head 3. The disk control circuit 9 is composed of a gate array, and is an interface control circuit necessary for controlling various control signals and data transfer.

【0016】CPU12はドライブの制御装置であり、
ROM13に格納されたプログラムにより動作し、ドラ
イブの動作に必要な各種の制御処理を実行する。EEP
ROM14は電気的に消去可能なPROMであり、CP
U12の動作において不揮発性を要するデータを格納す
る。 (ディスクコントローラの構成)本実施形態のディスク
コントローラ(HDC)10は、図1に示すように、本
実施形態に関係するリードキャッシュ制御装置20を有
する。HDC10は、ドライブとホストシステム(OS
やアプリケーション・プログラムを含むホストコンピュ
ータ)とのインターフェースを構成し、ディスク1側と
のディスクインターフェース10aおよびホストシステ
ム側とのホストインターフェース10bを有する。HD
C10は、バッファRAM11を使用してリード/ライ
トデータの転送動作を実行する。バッファRAM11は
本実施形態に関係するリードキャッシュ処理に使用され
るキャッシュデータを保存するバッファメモリである。 (第1の実施形態)図3は第1の実施形態として、リー
ドキャッシュ制御装置20の具体的なハードウェア構成
を示すブロック図である。即ち、リードキャッシュ制御
装置20は、キャッシュデータの開始アドレスであるシ
ーケンシャル・データアドレス(以下アドレスSAと称
する)を保持するレジスタ21と、バッファRAM11
に格納されたキャッシュデータのデータ数(セクタデー
タ数)をカウントし保持するディスクカウンタ22と、
バッファRAM11に格納されたキャッシュデータの先
頭データのバッファ・ベースアドレス(ベースアドレス
BAと称する)を保持するレジスタ23とを有する。
The CPU 12 is a drive control device.
It operates by a program stored in the ROM 13 and executes various control processes required for the operation of the drive. EEP
The ROM 14 is an electrically erasable PROM,
Stores data requiring non-volatility in the operation of U12. (Structure of Disk Controller) As shown in FIG. 1, a disk controller (HDC) 10 of the present embodiment has a read cache control device 20 related to the present embodiment. The HDC 10 includes a drive and a host system (OS
And a host computer including application programs, and has a disk interface 10a with the disk 1 and a host interface 10b with the host system. HD
The C10 uses the buffer RAM 11 to execute a read / write data transfer operation. The buffer RAM 11 is a buffer memory that stores cache data used for the read cache process related to the present embodiment. (First Embodiment) FIG. 3 is a block diagram showing a specific hardware configuration of a read cache control device 20 as a first embodiment. That is, the read cache control device 20 includes a register 21 for holding a sequential data address (hereinafter, referred to as an address SA), which is a start address of cache data, and a buffer RAM 11.
A disk counter 22 that counts and holds the number of data (sector data number) of cache data stored in the
A register 23 for holding a buffer base address (referred to as a base address BA) of the head data of the cache data stored in the buffer RAM 11;

【0017】さらに、リードキャッシュ制御装置20
は、バッファRAM11に格納されたキャッシュデータ
の最終データアドレス(キャッシュ・エンドアドレス、
以下エンドアドレスEAと称する)を算出する算出回路
24と、ホストシステムからのリード要求の要求データ
アドレスQAを保持するレジスタ25と、ヒット判定回
路26と、バッファアドレス算出回路27と、自動転送
回路28とを備えている。
Further, the read cache control device 20
Is the last data address of the cache data stored in the buffer RAM 11 (cache end address,
A calculation circuit 24 for calculating an end address EA), a register 25 for holding a requested data address QA of a read request from the host system, a hit determination circuit 26, a buffer address calculation circuit 27, and an automatic transfer circuit 28 And

【0018】ヒット判定回路26は算出回路24の算出
結果(エンドアドレスEA)と要求データアドレスQA
とを比較して、リード要求の要求データがヒットするか
否かを判定する。バッファアドレス算出回路27は、後
述するように、ヒット判定回路26の判定結果がヒット
の場合に、要求データであるキャッシュデータが格納さ
れているバッファRAM11のバッファアドレスを算出
する。自動転送回路28は、バッファアドレス算出回路
27により算出されたバッファRAM11のアドレスか
ら読出したデータをホストシステムに自動的に転送する
回路である。 (第1の実施形態のリードキャッシュ処理)以下同実施
形態のリードキャッシュ処理を、図4乃至図6を参照し
て説明する。
The hit determination circuit 26 calculates the result (end address EA) of the calculation circuit 24 and the requested data address QA.
Then, it is determined whether or not the request data of the read request hits. As will be described later, the buffer address calculation circuit 27 calculates the buffer address of the buffer RAM 11 in which the cache data as the requested data is stored when the result of the determination by the hit determination circuit 26 is a hit. The automatic transfer circuit 28 is a circuit for automatically transferring data read from the address of the buffer RAM 11 calculated by the buffer address calculation circuit 27 to the host system. (Read Cache Processing of First Embodiment) The read cache processing of the first embodiment will be described below with reference to FIGS.

【0019】まず、ホストシステムからリードコマンド
(リード要求)が発行されると、一連のリードコマンド
処理がHDC10及びCPU12により実行されて、ヘ
ッド3を介してディスク1からデータが読出される(ス
テップS1)。具体的には、CPU12は、リードコマ
ンドの論理アドレスに対応するセクタを含むディスク1
上のトラックまで、ヘッドアクチュエータ4を駆動制御
してヘッド3を移動させる。ヘッド3により読出された
リードデータが、ヘッドアンプ7、リード/ライト回路
8およびディスク制御回路9を経由して、HDC10に
転送される。
First, when a read command (read request) is issued from the host system, a series of read command processing is executed by the HDC 10 and the CPU 12, and data is read from the disk 1 via the head 3 (step S1). ). Specifically, the CPU 12 controls the disk 1 including the sector corresponding to the logical address of the read command.
The head actuator 4 is driven and controlled to move the head 3 to the upper track. Read data read by the head 3 is transferred to the HDC 10 via the head amplifier 7, the read / write circuit 8, and the disk control circuit 9.

【0020】ここで、図4(A)に示すように、ホスト
システムのリード要求に従って、ディスク1からセクタ
データS1〜S9がアクセスされたと想定する。これら
のセクタデータS1〜S9はHDC10に転送されて、
同図(B)に示すように、一度バッファRAM11に格
納される。このバッファRAM11から、HDC10の
ホストインターフェース10Bを介してホストシステム
に転送される。このデータ転送動作は、前述したよう
に、図3に示す自動転送回路28によりバッファRAM
11からホストシステムに自動的に転送される。
Here, as shown in FIG. 4A, it is assumed that the sector data S1 to S9 are accessed from the disk 1 in accordance with the read request of the host system. These sector data S1 to S9 are transferred to the HDC 10,
As shown in FIG. 3B, the data is temporarily stored in the buffer RAM 11. The data is transferred from the buffer RAM 11 to the host system via the host interface 10B of the HDC 10. This data transfer operation is performed by the automatic transfer circuit 28 shown in FIG.
11 to the host system automatically.

【0021】最初の要求データであるセクタデータS1
〜S9がホストシステムに転送終了すると、HDC10
とCPU12は通常の先読み処理を実行する(ステップ
S2のYES,S3)。この先読み処理により、アクセ
スしたセクタデータS1〜S9に連続するアドレス(論
理アドレス)のセクタデータS10〜Snをディスク1
から読出し、バッファRAM11に保存する(ステップ
S4)。この先読みされたセクタデータS10〜Snが
キャッシュデータとして、図4(B)に示すように、バ
ッファRAM11に格納される。このとき、当然ながら
バッファRAM11の空き領域に対応するデータ量のキ
ャッシュデータが保存される。
Sector data S1 which is the first request data
When S9 to S9 complete the transfer to the host system, the HDC 10
Then, the CPU 12 executes a normal prefetching process (YES in step S2, S3). By this pre-reading process, the sector data S10-Sn of the address (logical address) continuous to the accessed sector data S1-S9 is transferred to the disk 1
, And store it in the buffer RAM 11 (step S4). The pre-read sector data S10 to Sn are stored as cache data in the buffer RAM 11, as shown in FIG. At this time, cache data of a data amount corresponding to a free area of the buffer RAM 11 is naturally stored.

【0022】同実施形態のリードキャッシュ制御装置2
0では、キャッシュデータがバッファRAM11に格納
されるときに、図5(A)に示すように、キャッシュデ
ータの開始アドレスであるアドレスSA(論理アドレ
ス)がレジスタ21にセットされる。さらに、同図
(B)に示すように、ディスクカウンタ22により、バ
ッファRAM11に格納されるときに、キャッシュデー
タのデータ数(セクタデータ数、ここではn−9個とな
る)がカウントされて保持される。また、同図(E)に
示すように、バッファRAM11に格納されたキャッシ
ュデータの先頭データのベースアドレスBA(物理アド
レス)がレジスタ23にセットされる。
The read cache control device 2 of the embodiment
At 0, when the cache data is stored in the buffer RAM 11, an address SA (logical address), which is the start address of the cache data, is set in the register 21, as shown in FIG. Further, as shown in FIG. 3B, when the data is stored in the buffer RAM 11 by the disk counter 22, the number of cache data (the number of sector data, here, n-9) is counted and held. Is done. Further, as shown in FIG. 3E, the base address BA (physical address) of the head data of the cache data stored in the buffer RAM 11 is set in the register 23.

【0023】このような状態において、ホストシステム
から新たなリード要求が発行されて、その要求データが
セクタデータS20であり、論理アドレスが「R20」
であると想定する(ステップS5のYES)。リードキ
ャッシュ制御装置20では、図5(D)に示すように、
レジスタ25にはホストシステムからのリード要求の要
求データアドレスQAである論理アドレスR20がセッ
トされる。リードキャッシュ制御装置20では、ヒット
判定回路26は、リード要求の要求データがバッファR
AM11に格納されているキャッシュデータに含まれて
いるか否のヒット判定処理を実行する(ステップS
6)。
In such a state, a new read request is issued from the host system, the requested data is sector data S20, and the logical address is "R20".
(YES in step S5). In the read cache control device 20, as shown in FIG.
In the register 25, a logical address R20 which is a request data address QA of a read request from the host system is set. In the read cache control device 20, the hit determination circuit 26 determines that the request data of the read request
A hit determination process is performed to determine whether the cache data is included in the cache data stored in the AM 11 (step S
6).

【0024】ここで、同実施形態では、ヒット判定回路
26の動作の前に、算出回路24によりバッファRAM
11に格納されたキャッシュデータの最終データアドレ
スであるエンドアドレスEA(論理アドレスRn)が算
出されて保持される(図5(C)を参照)。算出回路2
4は、レジスタ21に格納されたキャッシュデータの開
始アドレスSAとディスクカウンタ22のセクタデータ
数(n−9)とからエンドアドレスEAを算出する。同
実施形態では、図4(B)に示すように、論理アドレス
R10(バッファRAM11の物理アドレスA10)か
ら論理アドレスRn(バッファRAM11の物理アドレ
スAn)までがヒット範囲となる。即ち、ヒット判定回
路26は、条件式「SA≦QA≦EA」に基づいて、リ
ード要求の要求データ(セクタデータS20)がヒット
するか否かを判定する。
Here, in this embodiment, before the operation of the hit determination circuit 26, the buffer RAM is calculated by the calculation circuit 24.
The end address EA (logical address Rn), which is the last data address of the cache data stored in No. 11, is calculated and held (see FIG. 5C). Calculation circuit 2
4 calculates the end address EA from the start address SA of the cache data stored in the register 21 and the number of sector data (n-9) of the disk counter 22. In the embodiment, as shown in FIG. 4B, the hit range is from the logical address R10 (the physical address A10 of the buffer RAM 11) to the logical address Rn (the physical address An of the buffer RAM 11). That is, the hit determination circuit 26 determines whether or not the request data of the read request (sector data S20) hits based on the conditional expression “SA ≦ QA ≦ EA”.

【0025】判定結果がヒットしない場合、即ちリード
要求の要求データがバッファRAM11には存在しない
場合には、HDC10とCPU12は前述したような通
常のリード動作を実行して、ディスク1から要求データ
を読出してホストシステムに転送する(ステップS7の
NO,S8)。
If the result of the determination is not hit, that is, if the requested data of the read request does not exist in the buffer RAM 11, the HDC 10 and the CPU 12 execute the normal read operation as described above and read the requested data from the disk 1. The data is read and transferred to the host system (NO in step S7, S8).

【0026】同実施形態では、要求データアドレスQA
が「R20」であるため、ヒット判定回路26は該当す
るキャッシュデータがバッファRAM11に存在すると
判定する(ステップS7のYES)。このヒット判定結
果を受けて、バッファアドレス算出回路27は、要求デ
ータアドレスQA、キャッシュデータの開始アドレスS
A、およびバッファRAM11のベースアドレスBAに
基づいて、要求データ(セクタデータS20)であるキ
ャッシュデータが格納されているバッファRAM11の
バッファアドレス(図5(F)に示すA20)を算出す
る(ステップS9)。自動転送回路28は、バッファR
AM11のバッファアドレスA20が設定されると、そ
のアドレスA20から自動的にデータS20を読出して
ホストシステムに転送する(ステップS10)。
In the embodiment, the request data address QA
Is "R20", the hit determination circuit 26 determines that the corresponding cache data exists in the buffer RAM 11 (YES in step S7). In response to the hit determination result, the buffer address calculation circuit 27 calculates the requested data address QA and the start address S of the cache data.
Based on A and the base address BA of the buffer RAM 11, a buffer address (A20 shown in FIG. 5F) of the buffer RAM 11 in which the cache data as the requested data (sector data S20) is stored (step S9). ). The automatic transfer circuit 28 includes a buffer R
When the buffer address A20 of the AM 11 is set, the data S20 is automatically read from the address A20 and transferred to the host system (Step S10).

【0027】以上のように同実施形態によれば、ホスト
システムからのリード要求に応じて、リードキャッシュ
制御装置20はCPU12が関与することなく、ヒット
判定回路26のヒット判定処理と、ヒットした場合のバ
ッファRAM11のバッファアドレス(物理アドレス)
を算出する処理を実行する。これにより、バッファRA
M11に先読みしたキャッシュデータの中にリード要求
の要求データが含まれていれば、CPU11の関与およ
びディスク1からの読出し動作もなく、バッファRAM
11からホストシステムに自動的に要求データが転送さ
れることになる。従って、従来のようにCPU12が関
与する方式と比較して、大幅にリードアクセス時間を短
縮化して、アクセス速度の高速化を図ることが可能とな
る。
As described above, according to this embodiment, the read cache control device 20 responds to the read request from the host system without the involvement of the CPU 12 and performs the hit determination process of the hit determination circuit Buffer address (physical address) of the buffer RAM 11
Is executed. Thereby, the buffer RA
If the cache data prefetched in M11 includes the request data of the read request, the buffer RAM is not involved without the involvement of the CPU 11 and the operation of reading from the disk 1.
11 automatically transfers the requested data to the host system. Therefore, it is possible to greatly shorten the read access time and increase the access speed, as compared with the conventional method in which the CPU 12 is involved.

【0028】なお、同実施形態は、最初にアクセスした
データから先読みしたデータをキャッシュデータとして
バッファRAM11に格納し、そのキャッシュデータを
ヒット範囲として設定する方式を前提としている(図4
(B)を参照)。しかし、バッファRAM11の格納領
域量に従って、最初に読出したデータS1〜S9までを
ヒット範囲として設定してもよい。この場合には、ホス
トシステムが最初にリード要求したデータS1〜S9と
同一のデータ(例えばS1)を要求したときに、リード
キャッシュ制御装置20はバッファRAM11から読出
して自動的にホストシステムに転送することになる。ま
た、ホストシステムのリード要求がヒットしない場合に
は、バッファRAM11の内容は全て更新されて、新た
なにディスク1から読出されたデータおよびその先読み
データがバッファRAM11に保存される。 (第2の実施形態)図7から図10は第2の実施形態に
関係するリードキャッシュ処理を示すものである。第2
の実施形態は、図8に示すように、バッファRAM11
のヒット範囲を格納したキャッシュデータだけでなく、
格納予定のキャッシュデータまで拡大した方式である。
The first embodiment is based on the premise that the data read first from the data accessed first is stored as cache data in the buffer RAM 11, and the cache data is set as a hit range (FIG. 4).
(See (B)). However, data S1 to S9 read first may be set as the hit range according to the storage area amount of the buffer RAM 11. In this case, when the host system requests the same data (for example, S1) as the data S1 to S9 requested to be read first, the read cache control device 20 reads the data from the buffer RAM 11 and automatically transfers the data to the host system. Will be. If the read request from the host system does not hit, the contents of the buffer RAM 11 are all updated, and the data newly read from the disk 1 and the prefetch data are stored in the buffer RAM 11. (Second Embodiment) FIGS. 7 to 10 show a read cache process related to the second embodiment. Second
In the embodiment, as shown in FIG.
Not only the cache data that stores the hit range of
This is a method that expands to cache data to be stored.

【0029】具体的には、図7に示すように、同実施形
態のリードキャッシュ制御装置20はディスクカウンタ
22の代わりに、バッファRAM11に格納可能なセク
タデータ数をカウントするセグメントサイズ・カウンタ
30を有する。なお、他の構成は図3に示す前述の第1
の実施形態と同様である。
More specifically, as shown in FIG. 7, the read cache control device 20 of the embodiment includes a segment size counter 30 for counting the number of sector data that can be stored in the buffer RAM 11 instead of the disk counter 22. Have. The other configuration is the same as the first configuration shown in FIG.
This is the same as the embodiment.

【0030】以下図10のフローチャートを参照して同
実施形態の動作を説明する。まず、ホストシステムから
リード要求が発行されると、一連のリードコマンド処理
がHDC10及びCPU12により実行されて、図8に
示すように、読出されたセクタデータS1〜S9がHD
C10に転送されて、バッファRAM11に格納され
る。そして、最初の要求データであるセクタデータS1
〜S9がホストシステムに転送終了すると、HDC10
とCPU12は通常の先読み処理を実行する(ステップ
S20〜S22)。この先読み処理により、アクセスし
たセクタデータS1〜S9に連続するアドレス(論理ア
ドレス)のセクタデータS10〜Snがディスク1から
読出されて、バッファRAM11に保存される(ステッ
プS23)。ここまでは、前述の第1の実施形態と同様
である。
The operation of this embodiment will be described below with reference to the flowchart of FIG. First, when a read request is issued from the host system, a series of read command processing is executed by the HDC 10 and the CPU 12, and as shown in FIG.
The data is transferred to C10 and stored in the buffer RAM11. Then, the first request data, ie, the sector data S1
When S9 to S9 complete the transfer to the host system, the HDC 10
Then, the CPU 12 executes a normal prefetching process (steps S20 to S22). As a result of this pre-reading process, the sector data S10 to Sn of addresses (logical addresses) consecutive to the accessed sector data S1 to S9 are read from the disk 1 and stored in the buffer RAM 11 (step S23). Up to this point, the operation is the same as in the first embodiment.

【0031】次に、ホストシステムから新たなリード要
求が発行されると、リードキャッシュ制御装置20で
は、ヒット判定回路26は、ホストシステムからの要求
データがバッファRAM11に格納されているキャッシ
ュデータに含まれているか否のヒット判定処理を実行す
る(ステップS24,S25)。なお、同実施形態にお
いても、ホストシステムの要求データがセクタデータS
20であり、論理アドレスが「R20」であると想定す
る。従って、レジスタ25には要求データアドレスQA
である論理アドレスR20がセットされる。
Next, when a new read request is issued from the host system, in the read cache control device 20, the hit determination circuit 26 determines that the request data from the host system is included in the cache data stored in the buffer RAM 11. A hit determination process is performed to determine whether a hit has occurred (steps S24 and S25). In the same embodiment, the request data of the host system is the sector data S.
20 and the logical address is “R20”. Therefore, the request data address QA is stored in the register 25.
Is set.

【0032】同実施形態では、算出回路24は、レジス
タ21に格納されたキャッシュデータの開始アドレスS
Aと、セグメントサイズ・カウンタ30によりカウント
されたセクタデータ数とからエンドアドレスEAを算出
する。セグメントサイズ・カウンタ30は、バッファR
AM11に格納されるセクタデータ数であり、現時点で
格納されたセクタデータだけでなく、空き領域に従った
格納予定のセクタデータ数もカウントする。ここでは、
図9に示すように、セグメントサイズ・カウンタ30は
セクタデータ数として「m−9」を保持する。「m」
は、図8に示すように、バッファRAM11において、
先読みセクタデータ数nと格納予定のセクタデータ数と
を加算した値である(最終物理アドレスをAmとす
る)。
In the embodiment, the calculation circuit 24 calculates the start address S of the cache data stored in the register 21.
The end address EA is calculated from A and the number of sector data counted by the segment size counter 30. The segment size counter 30 has a buffer R
This is the number of sector data stored in the AM 11 and counts not only the sector data currently stored but also the number of sector data to be stored according to the free space. here,
As shown in FIG. 9, the segment size counter 30 holds "m-9" as the number of sector data. "M"
Is, in the buffer RAM 11, as shown in FIG.
This is a value obtained by adding the number n of prefetched sector data and the number of sector data to be stored (the final physical address is Am).

【0033】ヒット判定回路26の判定結果がヒットし
ない場合、即ちリード要求の要求データがバッファRA
M11には存在しない場合には、HDC10とCPU1
2は前述したような通常のリード動作を実行して、ディ
スク1から要求データを読出してホストシステムに転送
する(ステップS26のNO,S27)。
When the result of the determination by the hit determination circuit 26 does not hit, that is, when the request data of the read request
If not present in M11, HDC10 and CPU1
2 executes the normal read operation as described above, reads the requested data from the disk 1, and transfers it to the host system (NO in step S26, S27).

【0034】同実施形態では、要求データアドレスQA
が「R20」であるため、ヒット判定回路26は該当す
るキャッシュデータがバッファRAM11に存在すると
判定する(ステップS26のYES)。このヒット判定
結果を受けて、バッファアドレス算出回路27は、要求
データアドレスQA、キャッシュデータの開始アドレス
SA、およびバッファRAM11のベースアドレスBA
に基づいて、要求データ(セクタデータS20)である
キャッシュデータが格納されているバッファRAM11
のバッファアドレス(図8に示すA20)を算出する
(ステップS28)。自動転送回路28は、バッファR
AM11のバッファアドレスA20が設定されると、そ
のアドレスA20から自動的にデータS20を読出して
ホストシステムに転送する(ステップS29のYES,
S31)。
In the embodiment, the request data address QA
Is "R20", the hit determination circuit 26 determines that the corresponding cache data exists in the buffer RAM 11 (YES in step S26). In response to the hit determination result, the buffer address calculation circuit 27 calculates the requested data address QA, the start address SA of the cache data, and the base address BA of the buffer RAM 11.
RAM 11 storing cache data as request data (sector data S20) based on
The buffer address (A20 shown in FIG. 8) is calculated (step S28). The automatic transfer circuit 28 includes a buffer R
When the buffer address A20 of the AM 11 is set, the data S20 is automatically read from the address A20 and transferred to the host system (YES in step S29).
S31).

【0035】同実施形態では、図8に示すように、ヒッ
ト判定回路26によるバッファRAM11のヒット範囲
は、現時点で格納されたセクタデータ数だけでなく、格
納予定のセクタデータ数まで拡大されている。このた
め、ホストシステムからのリード要求のデータがヒット
した場合でも、現時点ではバッファRAM11に格納さ
れていない状態が発生することがある。この場合には、
自動転送回路28は、ディスク1から読出されてバッフ
ァRAM11に格納されるまで待機し、その要求データ
(キャッシュデータ)が格納された時点でホストシステ
ムに転送する処理を行なう(ステップS29のNO,S
30)。ここで、自動転送回路28は、現時点ではバッ
ファRAM11に格納されていない場合に、所定の条件
(例えば待機時間)により待機するか否かを選択し、待
機しないときにはデータ転送動作を停止する。これによ
り、CPU12は、リードキャッシュ動作から通常のリ
ード動作に切替えて、ディスク1から要求データを読出
すようにしてもよい。
In this embodiment, as shown in FIG. 8, the hit range of the buffer RAM 11 by the hit determination circuit 26 is expanded not only to the number of sector data currently stored but also to the number of sector data to be stored. . Therefore, even when the data of the read request from the host system hits, a state where the data is not currently stored in the buffer RAM 11 may occur. In this case,
The automatic transfer circuit 28 waits until the data is read from the disk 1 and stored in the buffer RAM 11, and performs a process of transferring the requested data (cache data) to the host system when the requested data is stored (NO in S29, S29).
30). Here, when the data is not stored in the buffer RAM 11 at the present time, the automatic transfer circuit 28 selects whether or not to wait under a predetermined condition (for example, standby time), and stops the data transfer operation when not waiting. As a result, the CPU 12 may switch the read cache operation to the normal read operation and read the requested data from the disk 1.

【0036】以上のように同実施形態によれば、先読み
処理時に先読みされたセクタデータがバッファRAM1
1に転送されている期間に、ホストシステムからリード
要求がなされた場合でも、リードキャッシュ機能を発揮
させることが可能となる。即ち、リード要求時にバッフ
ァRAM11に格納されていないが、格納予定のキャッ
シュデータを含めたヒット範囲を設定し、要求データの
ヒット判定処理を実行することができる。従って、格納
予定の先読みデータをバッファRAM11に格納された
時点で、直ちにホストシステムに自動転送することがで
きる。これにより、前述の第1の実施形態の場合と比較
して、さらにリードアクセス処理の効率を向上させるこ
とが可能となる。
As described above, according to the first embodiment, the sector data pre-read during the pre-read processing is stored in the buffer RAM 1.
Even when a read request is issued from the host system during the period of transfer to 1, the read cache function can be exhibited. That is, a hit range including cache data that is not stored in the buffer RAM 11 at the time of the read request but is to be stored can be set, and hit determination processing of the requested data can be executed. Therefore, when the prefetch data to be stored is stored in the buffer RAM 11, it can be automatically transferred to the host system immediately. This makes it possible to further improve the efficiency of the read access process as compared with the case of the above-described first embodiment.

【0037】[0037]

【発明の効果】以上詳述したように本発明によれば、リ
ードキャッシュ機能を有するディスク記憶装置におい
て、ドライブを制御するためのCPUが関与することな
く専用のハードウェア構成により、バッファメモリに格
納したキャッシュデータを利用したリードキャッシュ処
理の処理時間の短縮化を実現できる。従って、結果的に
低速アクセスのディスクから読出すリード動作を減少さ
せて、バッファメモリからの高速転送により、リードア
クセス速度の高速化を図ることができる。さらに、バッ
ファメモリに格納する予定のキャッシュデータを含むヒ
ット範囲を拡大する方式により、リードキャッシュ処理
におけるヒット率を高めることができる。また、ディス
クからキャッシュデータの先読み処理時に、ホストシス
テムからリード要求が発生しても、要求データに該当す
るキャッシュデータがバッファメモリに格納された時点
で自動的に転送できるため、結果的にリードアクセス処
理の効率を向上させることが可能となる。
As described above in detail, according to the present invention, in a disk storage device having a read cache function, data can be stored in a buffer memory by a dedicated hardware configuration without involving a CPU for controlling a drive. It is possible to shorten the processing time of the read cache processing using the cache data obtained. Therefore, as a result, the read operation for reading data from the low-speed access disk can be reduced, and the read access speed can be increased by high-speed transfer from the buffer memory. Further, the hit rate in the read cache processing can be increased by a method of expanding the hit range including the cache data to be stored in the buffer memory. Also, even if a read request is issued from the host system during the cache data read-ahead processing from the disk, the cache data corresponding to the requested data can be automatically transferred when stored in the buffer memory, resulting in read access. Processing efficiency can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態に関係するディスクコントロ
ーラの要部を示すブロック図。
FIG. 1 is a block diagram showing a main part of a disk controller according to an embodiment of the present invention.

【図2】本実施形態に関係するHDDの要部を示すブロ
ック図。
FIG. 2 is an exemplary block diagram showing a main part of the HDD related to the embodiment;

【図3】第1の実施形態に関係するリードキャッシュ制
御装置の要部を示すブロック図。
FIG. 3 is a block diagram showing a main part of the read cache control device according to the first embodiment;

【図4】第1の実施形態に関係する動作を説明するため
の概念図。
FIG. 4 is a conceptual diagram for explaining an operation related to the first embodiment.

【図5】第1の実施形態に関係する動作を説明するため
の各レジスタの内容を示す概念図。
FIG. 5 is a conceptual diagram showing the contents of each register for describing an operation related to the first embodiment.

【図6】第1の実施形態に関係する動作を説明するため
のフローチャート。
FIG. 6 is a flowchart for explaining an operation related to the first embodiment.

【図7】第2の実施形態に関係するリードキャッシュ制
御装置の要部を示すブロック図。
FIG. 7 is a block diagram showing a main part of a read cache control device according to the second embodiment;

【図8】第2の実施形態に関係する動作を説明するため
のバッファRAMの概念図。
FIG. 8 is a conceptual diagram of a buffer RAM for explaining an operation related to the second embodiment.

【図9】第2の実施形態に関係する動作を説明するため
のセグメントサイズ・カウンタの内容を示す概念図。
FIG. 9 is a conceptual diagram showing the contents of a segment size counter for describing an operation related to the second embodiment.

【図10】第2の実施形態に関係する動作を説明するた
めのフローチャート。
FIG. 10 is a flowchart for explaining an operation related to the second embodiment.

【符号の説明】[Explanation of symbols]

1…ディスク 2…スピンドルモータ 3…ヘッド 4…ヘッドアクチュエータ 5…ボイスコイルモータ(VCM) 6…ダブルドライバ 6a…VCMドライバ 6b…SPMドライバ 7…ヘッドアンプ 8…リード/ライト回路 9…ディスク制御回路 10…ディスクコントローラ(HDC) 11…バッファRAM(バッファメモリ手段) 12…CPU 13…ROM 14…EEPROM 20…リードキャッシュ制御装置 21…シーケンシャル・データアドレスレジスタ 22…ディスクカウンタ 23…バッファ・ベースアドレスレジスタ 24…キャッシュ・エンドアドレス算出回路 25…要求データアドレスレジスタ 26…ヒット判定回路 27…バッファアドレス算出回路 28…自動転送回路 Reference Signs List 1 disk 2 spindle motor 3 head 4 head actuator 5 voice coil motor (VCM) 6 double driver 6a VCM driver 6b SPM driver 7 head amplifier 8 read / write circuit 9 disk control circuit 10 ... Disk controller (HDC) 11 ... Buffer RAM (buffer memory means) 12 ... CPU 13 ... ROM 14 ... EEPROM 20 ... Read cache control device 21 ... Sequential data address register 22 ... Disk counter 23 ... Buffer base address register 24 ... Cache end address calculation circuit 25 Request data address register 26 Hit detection circuit 27 Buffer address calculation circuit 28 Automatic transfer circuit

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 リードアクセス時にディスク記録媒体か
ら読出されたデータを格納するバッファメモリ手段を有
し、前記バッファメモリ手段からリード要求のデータを
読出してホストシステムに転送するリードキャッシュ機
能を備えたディスク記憶装置であって、 前記バッファメモリ手段に格納されたキャッシュデータ
のヒット範囲を設定するための設定手段と、 前記ホストシステムからのリード要求のデータが前記ヒ
ット範囲に含まれているか否かを判定する判定手段と、 前記判定手段の判定結果により前記リード要求のデータ
が前記ヒット範囲に含まれている場合に、前記リード要
求に該当するキャッシュデータが格納されている前記バ
ッファメモリ手段のアドレスを決定するアドレス決定手
段と、 前記アドレス決定手段により決定されたアドレスのキャ
ッシュデータを前記バッファメモリ手段から前記ホスト
システムに転送するデータ転送手段とを具備したことを
特徴とするディスク記憶装置。
1. A disk having buffer memory means for storing data read from a disk recording medium at the time of read access, and having a read cache function of reading read request data from said buffer memory means and transferring it to a host system. A storage device, comprising: setting means for setting a hit range of cache data stored in the buffer memory means; and determining whether data of a read request from the host system is included in the hit range. Determining the address of the buffer memory in which the cache data corresponding to the read request is stored when the data of the read request is included in the hit range based on the determination result of the determining unit. Address determining means for determining Disk storage device according to claim cache data address from said buffer memory means that has and a data transfer means for transferring to the host system.
【請求項2】 前記設定手段は、前記バッファメモリ手
段に格納された前記キャッシュデータの先頭アドレスを
保持するキャッシュアドレス保持手段と、 前記バッファメモリ手段に格納された前記キャッシュデ
ータの所定単位毎のデータ数をカウントするデータカウ
ンタ手段と、 前記先頭アドレスと前記データ数とに基づいて前記キャ
ッシュデータの最終アドレスを算出する手段とを有し、 前記先頭アドレスと前記最終アドレスとに基づいて前記
ヒット範囲を設定することを特徴とする請求項1記載の
ディスク記憶装置。
2. The method according to claim 1, wherein the setting unit includes a cache address holding unit that holds a start address of the cache data stored in the buffer memory unit, and a data of the cache data stored in the buffer memory unit for each predetermined unit. Data counter means for counting the number, and means for calculating the last address of the cache data based on the start address and the number of data, wherein the hit range is calculated based on the start address and the end address. 2. The disk storage device according to claim 1, wherein the setting is performed.
【請求項3】 前記アドレス決定手段は専用のロジック
回路から構成されていることを特徴とする請求項1記載
のディスク記憶装置。
3. The disk storage device according to claim 1, wherein said address determination means comprises a dedicated logic circuit.
【請求項4】 前記データ転送手段は、前記アドレス決
定手段により決定されたアドレスのキャッシュデータを
前記バッファメモリ手段から読出して、自動的に前記ホ
ストシステムに転送するための自動転送機能を有するこ
とを特徴とする請求項1記載のディスク記憶装置。
4. The data transfer means has an automatic transfer function for reading cache data at the address determined by the address determination means from the buffer memory means and automatically transferring the data to the host system. 2. The disk storage device according to claim 1, wherein:
【請求項5】 リードアクセス時にディスク記録媒体か
ら読出されたデータを格納するバッファメモリ手段を有
し、前記バッファメモリ手段からリード要求のデータを
読出してホストシステムに転送するリードキャッシュ機
能を備えたディスク記憶装置であって、 前記リードアクセス時に前記ディスク記録媒体から読出
されたデータのアドレスに連続するアドレスのデータを
読出して、前記バッファメモリ手段に保存する先読み手
段と、 前記バッファメモリ手段に格納された全データまたは前
記先読み手段により読出されたデータのみをキャッシュ
データとして設定し、前記キャッシュデータの先頭アド
レスを保持する先頭アドレス保持手段と、 前記バッファメモリ手段に格納された前記キャッシュデ
ータの所定単位毎のデータ数をカウントするデータカウ
ンタ手段と、 前記キャッシュデータの先頭アドレスに対応する前記バ
ッファメモリ手段のベースアドレスを保持するベースア
ドレス保持手段と、 前記キャッシュデータの先頭アドレスと前記データ数と
に基づいてヒット範囲を設定し、前記ホストシステムか
らのリード要求により発行された要求データアドレスが
前記ヒット範囲に含まれるか否かを判定する判定手段
と、 前記判定手段により前記要求データアドレスが前記ヒッ
ト範囲に含まれる場合に、前記ベースアドレス、前記先
頭アドレスおよび前記要求データアドレスにより前記リ
ード要求に該当するキャッシュデータが格納されている
前記バッファメモリ手段のアドレスを算出するアドレス
決定手段と、 前記アドレス決定手段により決定されたアドレスのキャ
ッシュデータを前記バッファメモリ手段から前記ホスト
システムに転送するデータ転送手段とを具備したことを
特徴とするディスク記憶装置。
5. A disk having buffer memory means for storing data read from a disk recording medium at the time of read access, and having a read cache function of reading read request data from said buffer memory means and transferring it to a host system. A prefetch means for reading data at an address subsequent to an address of data read from the disk recording medium at the time of the read access, and storing the data in the buffer memory means; All data or only data read by the pre-reading means is set as cache data, and a head address holding means for holding a head address of the cache data; and a predetermined unit of the cache data stored in the buffer memory means. Count the number of data Data counter means, base address holding means for holding a base address of the buffer memory means corresponding to the head address of the cache data, and setting a hit range based on the head address of the cache data and the number of data. Determining means for determining whether a request data address issued by a read request from the host system is included in the hit range; and when the request data address is included in the hit range by the determination means, Address determining means for calculating an address of the buffer memory means in which cache data corresponding to the read request is stored based on the base address, the head address and the request data address; and an address of the address determined by the address determining means. cache A data transfer unit for transferring data from the buffer memory unit to the host system.
【請求項6】 前記データカウンタ手段は、前記キャッ
シュデータの所定単位毎のデータ数と共に、前記キャッ
シュデータに連続して前記バッファメモリ手段に格納さ
れる予定の前記キャッシュデータのデータ数をカウント
する手段を有し、 前記データ転送手段は、前記アドレス決定手段により算
出されたアドレスのキャッシュデータが前記バッファメ
モリ手段に格納されていない場合に、その格納される予
定のキャッシュデータが前記バッファメモリ手段に格納
された時点で前記リード要求に該当する要求データとし
て前記ホストシステムに転送する手段を有することを特
徴とする請求項5記載のディスク記憶装置。
6. The data counter means for counting the data number of the cache data scheduled to be stored in the buffer memory means consecutively with the cache data, together with the data number of the cache data for each predetermined unit. The data transfer unit, when the cache data of the address calculated by the address determination unit is not stored in the buffer memory unit, stores the cache data to be stored in the buffer memory unit 6. The disk storage device according to claim 5, further comprising means for transferring the read data to the host system as request data corresponding to the read request.
【請求項7】 前記データ転送手段は、前記アドレス決
定手段により算出されたアドレスのキャッシュデータが
前記バッファメモリ手段に格納されていない場合に、そ
の格納される予定のキャッシュデータが前記バッファメ
モリ手段に格納されるまで待機するか否かを選択する手
段を有し、 待機した状態で前記予定のキャッシュデータが前記バッ
ファメモリ手段に格納された時点で前記リード要求に該
当する要求データとして前記ホストシステムに転送する
ことを特徴とする請求項6記載のディスク記憶装置。
7. When the cache data at the address calculated by the address determination means is not stored in the buffer memory means, the data transfer means stores the cache data to be stored in the buffer memory means. Means for selecting whether or not to wait until the data is stored; when the scheduled cache data is stored in the buffer memory means in a standby state, the host system outputs the request data as request data corresponding to the read request. 7. The disk storage device according to claim 6, wherein the data is transferred.
【請求項8】 前記アドレス決定手段は、前記先頭アド
レスと前記要求データアドレスとの差分を算出する手段
を有し、 算出した差分を前記ベースアドレスに加算して前記リー
ド要求に該当するキャッシュデータが格納されている前
記バッファメモリ手段のアドレスを算出する手段を有す
ることを特徴とする請求項5記載のディスク記憶装置。
8. The address determining means includes means for calculating a difference between the start address and the requested data address, and adding the calculated difference to the base address to determine whether the cache data corresponding to the read request is present. 6. The disk storage device according to claim 5, further comprising means for calculating an address of said buffer memory means stored therein.
【請求項9】 リードアクセス時にディスク記録媒体か
ら読出されたデータを格納するバッファメモリ手段を有
し、前記バッファメモリ手段からリード要求のデータを
読出してホストシステムに転送するリードキャッシュ機
能を備えたディスク記憶装置に適用するキャッシュ制御
方法であって、 前記リードアクセス時に前記ディスク記録媒体から読出
されたデータのアドレスに連続するアドレスのデータを
読出して、前記バッファメモリ手段に保存する先読み処
理と、 前記バッファメモリ手段に格納された全データまたは前
記先読み処理により読出されたデータのみをキャッシュ
データとして設定し、前記キャッシュデータの先頭アド
レスを保持する処理と、 前記キャッシュデータの先頭アドレスと前記バッファメ
モリ手段に格納されたキャッシュデータのデータ数とに
基づいてヒット範囲を設定する処理と、 前記ホストシステムからのリード要求により発行された
要求データアドレスが前記ヒット範囲に含まれるか否か
を判定する処理と、 前記要求データアドレスが前記ヒット範囲に含まれる場
合に、前記リード要求に該当するキャッシュデータが格
納されている前記バッファメモリ手段のアドレスを算出
するアドレス算出処理と、 前記リード要求に該当するキャッシュデータを、前記ア
ドレス算出処理により算出された前記バッファメモリ手
段のアドレスから読出して前記ホストシステムに転送す
る処理とを有することを特徴とするキャッシュ制御方
法。
9. A disk having buffer memory means for storing data read from a disk recording medium at the time of read access, and having a read cache function of reading read request data from said buffer memory means and transferring it to a host system. A cache control method applied to a storage device, comprising: a read-ahead process of reading data at an address subsequent to an address of data read from the disk recording medium at the time of the read access, and storing the data in the buffer memory unit; A process of setting all data stored in the memory means or only data read by the prefetch processing as cache data, and holding a head address of the cache data; and storing the head address of the cache data and the buffer memory means Done A process of setting a hit range based on the number of pieces of cache data, a process of determining whether a request data address issued by a read request from the host system is included in the hit range, and a process of determining the request data address. Is included in the hit range, an address calculation process of calculating an address of the buffer memory means in which cache data corresponding to the read request is stored; and calculating the cache data corresponding to the read request by the address calculation. Reading from the address of the buffer memory means calculated by the processing and transferring the read data to the host system.
【請求項10】 リードアクセス時にディスク記録媒体
から読出されたデータを格納するバッファメモリ手段を
有し、前記バッファメモリ手段からリード要求のデータ
を読出してホストシステムに転送するリードキャッシュ
機能を備えたディスク記憶装置に適用するキャッシュ制
御方法であって、 前記リードアクセス時に前記ディスク記録媒体から読出
されたデータのアドレスに連続するアドレスのデータを
読出して、前記バッファメモリ手段に保存する先読み処
理と、 前記バッファメモリ手段に格納された全データまたは前
記先読み処理により読出されたデータのみをキャッシュ
データとして設定し、前記キャッシュデータの先頭アド
レスを保持する処理と、 前記バッファメモリ手段に格納された前記キャッシュデ
ータの所定単位毎のデータ数と共に、前記キャッシュデ
ータに連続して前記バッファメモリ手段に格納される予
定の前記キャッシュデータのデータ数をカウントするデ
ータカウント処理と、 前記キャッシュデータの先頭アドレスと前記データ数と
に基づいてヒット範囲を設定する処理と、 前記ホストシステムからのリード要求により発行された
要求データアドレスが前記ヒット範囲に含まれるか否か
を判定する処理と、 前記要求データアドレスが前記ヒット範囲に含まれる場
合に、前記リード要求に該当するキャッシュデータが格
納されている前記バッファメモリ手段のアドレスを算出
するアドレス算出処理と、 前記リード要求に該当するキャッシュデータを前記アド
レス算出処理により算出された前記バッファメモリ手段
のアドレスから読出して前記ホストシステムに転送し、
当該キャッシュデータが前記バッファメモリ手段に格納
されていない場合には格納されるまで待機し、前記バッ
ファメモリ手段に格納された時点で当該キャッシュデー
タを前記リード要求に該当する要求データとして前記ホ
ストシステムに転送する処理とを有することを特徴とす
るキャッシュ制御方法。
10. A disk having buffer memory means for storing data read from a disk recording medium at the time of read access, and having a read cache function of reading read request data from said buffer memory means and transferring it to a host system. A cache control method applied to a storage device, comprising: a read-ahead process of reading data at an address subsequent to an address of data read from the disk recording medium at the time of the read access, and storing the data in the buffer memory unit; A process of setting all data stored in the memory means or only data read by the pre-read processing as cache data, and holding a head address of the cache data; and setting a predetermined value of the cache data stored in the buffer memory means. Data for each unit Data count processing for counting the data number of the cache data to be stored in the buffer memory means continuously with the cache data together with the data number, and a hit based on the head address of the cache data and the data number. A process of setting a range; a process of determining whether a request data address issued by a read request from the host system is included in the hit range; and a process of determining whether the request data address is included in the hit range. An address calculation process for calculating an address of the buffer memory means in which cache data corresponding to the read request is stored; and an address calculation process for calculating the cache data corresponding to the read request by the address calculation process. Read from the host system Transfer to the system
If the cache data is not stored in the buffer memory means, it waits until it is stored, and when the cache data is stored in the buffer memory means, the cache data is sent to the host system as request data corresponding to the read request. And a transfer process.
JP8328342A 1996-12-09 1996-12-09 Disk storage device and method for controlling cache applied to the same device Pending JPH10171713A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8328342A JPH10171713A (en) 1996-12-09 1996-12-09 Disk storage device and method for controlling cache applied to the same device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8328342A JPH10171713A (en) 1996-12-09 1996-12-09 Disk storage device and method for controlling cache applied to the same device

Publications (1)

Publication Number Publication Date
JPH10171713A true JPH10171713A (en) 1998-06-26

Family

ID=18209173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8328342A Pending JPH10171713A (en) 1996-12-09 1996-12-09 Disk storage device and method for controlling cache applied to the same device

Country Status (1)

Country Link
JP (1) JPH10171713A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904509B2 (en) * 2001-11-02 2005-06-07 Lite-On It Corporation Method for data reproducing from an optical storage device
US6965967B2 (en) 2000-03-31 2005-11-15 Matsushita Electric Industrial Co., Ltd. Disk memory device, data pre-reading method, and recorded medium
US7177530B1 (en) 1999-08-30 2007-02-13 Matsushita Electric Industrial Co., Ltd. Recording/reproducing apparatus
US7359996B2 (en) 2002-04-19 2008-04-15 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
JP2012038262A (en) * 2010-08-11 2012-02-23 Fujitsu Ltd Cache memory and data processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177530B1 (en) 1999-08-30 2007-02-13 Matsushita Electric Industrial Co., Ltd. Recording/reproducing apparatus
US6965967B2 (en) 2000-03-31 2005-11-15 Matsushita Electric Industrial Co., Ltd. Disk memory device, data pre-reading method, and recorded medium
US6904509B2 (en) * 2001-11-02 2005-06-07 Lite-On It Corporation Method for data reproducing from an optical storage device
US7359996B2 (en) 2002-04-19 2008-04-15 Seiko Epson Corporation Data transfer control device, electronic equipment, and data transfer control method
JP2012038262A (en) * 2010-08-11 2012-02-23 Fujitsu Ltd Cache memory and data processor

Similar Documents

Publication Publication Date Title
JP3183993B2 (en) Disk control system
JPH1063578A (en) Information recording and reproducing device
JP3568110B2 (en) Cache memory control method, computer system, hard disk drive, and hard disk controller
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
JPH06236241A (en) Hard disk device using flash memory
JPH11110139A (en) Method and device for reading data
JPH10149260A (en) Reading cache system for disk drive
US20060218361A1 (en) Electronic storage device with rapid data availability
JPH10171713A (en) Disk storage device and method for controlling cache applied to the same device
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JP2845658B2 (en) Access control device for data recording / reproducing device
US7370153B1 (en) System and method of pre-fetching using an extended data structure including required data and a pre-fetch flag
JPH0944315A (en) Memory device and its method
JPH03290873A (en) Disk type storage device, controller of disk type storage device, and control method for disk type storage device
JP3080758B2 (en) Magnetic disk drive
JPH04251421A (en) Method for decreasing number of moving times of head/arm of disk drive in direction of diameter
JP2002342038A (en) Disk device controlling execution order of commands
JP2009087460A (en) Command processing method for disk storage device
JPH10275425A (en) Disk device and method for rapidly transferring rearrangement data due to defect in it to host
JP2914834B2 (en) Magnetic disk drive
JP2000222137A (en) Disk storage device and buffer control method in the device
JP2704138B2 (en) Control method of magnetic disk cache
JPH11232037A (en) Magnetic disk device having disk cache write function
JP2003256145A (en) Data transfer system and data transfer method
JPH064225A (en) Disk controller prereading stand-by sector