JP2002244816A - Disk device - Google Patents

Disk device

Info

Publication number
JP2002244816A
JP2002244816A JP2001042991A JP2001042991A JP2002244816A JP 2002244816 A JP2002244816 A JP 2002244816A JP 2001042991 A JP2001042991 A JP 2001042991A JP 2001042991 A JP2001042991 A JP 2001042991A JP 2002244816 A JP2002244816 A JP 2002244816A
Authority
JP
Japan
Prior art keywords
data
read
read request
disk
request data
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
JP2001042991A
Other languages
Japanese (ja)
Inventor
Yukie Hiratsuka
幸恵 平塚
Motoyasu Tsunoda
元泰 角田
Shinya Iguchi
慎也 井口
Manabu Nishikawa
西川  学
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001042991A priority Critical patent/JP2002244816A/en
Publication of JP2002244816A publication Critical patent/JP2002244816A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

PROBLEM TO BE SOLVED: To transfer data on a disk efficiently to a cache memory and improve the performance of a disk device by allotting the waiting time for disk rotation without loss to a look-ahead and increasing the quantity of the look-ahead. SOLUTION: When it becomes necessary to transfer read-requesting data to the cache memory 104, the data stored in the address before the read- requesting data are read out from a disk through a head and transferred to the cache memory 104 during the waiting time for disk rotation after completion of the seeking in a track where the read-requesting data are stored till when the head actually accesses the read-requesting data.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ディスク装置にお
いて、ディスク上のデータを効率よくキャッシュメモリ
に転送し、ディスク装置の性能を向上させるための技術
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for efficiently transferring data on a disk to a cache memory in a disk device and improving the performance of the disk device.

【0002】[0002]

【従来の技術】一般に、ハードディスク装置等のディス
ク装置では、キャッシュメモリを設け、ディスク上のデ
ータをキャッシュメモリに転送して管理し、キャッシュ
メモリから直接ホストにデータを転送できるようにする
ことで、ホストへのデータ転送効率を上げている。
2. Description of the Related Art Generally, in a disk device such as a hard disk device, a cache memory is provided, data on the disk is transferred to the cache memory and managed, and data can be directly transferred from the cache memory to the host. Improves the efficiency of data transfer to the host.

【0003】具体的には、ホストから受領したリードコ
マンドにより要求されたリード要求データを、ディスク
から読み出してキャッシュメモリに転送するが、この際
に、以後のリードコマンドでヒットするよう、該リード
要求データの直後に格納されているデータ(後続デー
タ)を予めキャッシュメモリに転送しておくという手法
がある。
Specifically, read request data requested by a read command received from a host is read from a disk and transferred to a cache memory. At this time, the read request data is hit so as to be hit by a subsequent read command. There is a method in which data (following data) stored immediately after data is transferred to a cache memory in advance.

【0004】また、特開平6−95810号公報に記載
の「磁気ディスク装置」のように、後続データの先読み
実行中に次のリードコマンドを受領し、そのリードコマ
ンドにより要求されたリード要求データがキャッシュメ
モリに格納されていない場合に、実行中の先読みを直ち
に中断せず、ディスク回転待ち時間(リード要求データ
が格納されているトラックへのシークを終了後、実際に
ヘッドが該リード要求データにアクセスするまでにかか
る時間)を、実行中の先読みの延長分に充当するように
した手法がある。
[0004] Further, as in a "magnetic disk device" described in JP-A-6-95810, a next read command is received during execution of pre-reading of subsequent data, and read request data requested by the read command is received. If the data is not stored in the cache memory, the read-ahead during execution is not immediately interrupted, and the disk rotation waiting time (after the seek to the track storing the read request data is completed, the head actually returns to the read request data) There is a method in which the time required for access is allocated to the extension of the prefetching being executed.

【0005】[0005]

【発明が解決しようとする課題】キャッシュメモリを用
いてホストへのデータ転送効率を高めるためには、でき
るだけ多くのデータを先読みしてキャッシュメモリに転
送しておくことが重要である。また、先読み量を増やす
ためには、ディスク回転待ち時間を先読みの実行に充当
し、先読み量を増やすことが有効である。
In order to increase the efficiency of data transfer to the host using the cache memory, it is important to pre-read as much data as possible and transfer it to the cache memory. To increase the amount of prefetch, it is effective to allocate the disk rotation waiting time to the execution of prefetch and increase the amount of prefetch.

【0006】また、キャッシュメモリのヒット率を高め
るためには、先読み量を単に増やすだけではなく、以後
のリードコマンドにより要求される可能性が高いデータ
を先読みすることが重要である。
In order to increase the cache memory hit rate, it is important not only to increase the prefetch amount but also to prefetch data that is likely to be requested by a subsequent read command.

【0007】特開平6−95810号公報に記載の「磁
気ディスク装置」では、ディスク回転待ち時間を先読み
の実行に充当して先読み量を増やしているものの、先読
みの実行中に次のリード要求データをキャッシュメモリ
に転送する必要が生じた場合の動作に限られている。す
なわち、例えば、ライトコマンドにより要求されたライ
ト要求データをディスクに書き込んだ後には、先読みは
実行されないので、ライトコマンドの次にリードコマン
ドを受領し、そのリードコマンドにより要求されたリー
ド要求データがキャッシュメモリに格納されていない場
合には、該リード要求データをディスクからキャッシュ
メモリに転送する際のディスク回転待ち時間が、先読み
に充当されなくなるという問題があった。また、リード
要求データに後続するデータしか先読みできないという
問題があった。
In the "magnetic disk device" described in Japanese Patent Application Laid-Open No. 6-95810, although the disk rotation waiting time is allocated to the execution of prefetching and the amount of prefetching is increased, the next read request data is executed during execution of prefetching. Is transferred to the cache memory. That is, for example, after writing the write request data requested by the write command to the disk, pre-reading is not executed, so that a read command is received next to the write command, and the read request data requested by the read command is cached. If the read request data is not stored in the memory, there is a problem that the disk rotation waiting time when transferring the read request data from the disk to the cache memory is not used for prefetching. Further, there is a problem that only data subsequent to the read request data can be read ahead.

【0008】本発明の目的は、ディスク回転待ち時間を
無駄なく先読みに充当し、先読み量を増やすことにあ
る。
An object of the present invention is to allocate the disk rotation waiting time to prefetch without waste, and to increase the prefetch amount.

【0009】また、本発明の他の目的は、先読みを実行
するに際し、以後のリードコマンドにより要求される可
能性が高いデータを先読みできるようにすることにあ
る。
Another object of the present invention is to make it possible to prefetch data that is likely to be requested by a subsequent read command when executing prefetch.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明のディスク装置は、キャッシュメモリへ転送
すべきデータより前のアドレスに格納されているデータ
を先読みするようにしている。
In order to achieve the above object, the disk device of the present invention prefetches data stored at an address before data to be transferred to a cache memory.

【0011】すなわち、本発明は、第1の態様として、
リード要求データがキャッシュメモリに格納されていな
い場合に、該リード要求データを、ヘッドを通じてディ
スクから読み出してキャッシュメモリに転送するディス
ク装置であって、リード要求データが格納されているト
ラックへのシークを終了後、実際にヘッドが該リード要
求データにアクセスするまでにかかるディスク回転待ち
時間に、該リード要求データより前のアドレスに格納さ
れているデータを、ヘッドを通じてディスクから読み出
してキャッシュメモリに転送する先行データ先読み手段
と、リード要求データをキャッシュメモリに転送する必
要が生じた場合に、該リード要求データが格納されてい
るトラックへのシークを開始して上記先行データ先読み
手段に先読みを実行させる先読み制御手段とを備えたこ
とを特徴としたディスク装置を提供している。
That is, the present invention provides, as a first aspect,
A disk device for reading read request data from a disk through a head and transferring the read request data to the cache memory when the read request data is not stored in the cache memory. After the end, during the disk rotation waiting time required for the head to actually access the read request data, data stored at an address before the read request data is read from the disk through the head and transferred to the cache memory. Preceding data pre-reading means, and pre-fetching which, when it becomes necessary to transfer the read request data to the cache memory, starts a seek to a track storing the read request data and causes the preceding data pre-reading means to execute pre-reading Control means. It provides a disk apparatus.

【0012】なお、上記先行データ先読み手段は、シー
ク終了後にヘッドが位置しているセクタのアドレスが、
リード要求データが格納されているセクタのアドレスよ
り小さい場合は、シーク終了後にヘッドが位置している
セクタのアドレスから順次データを読み出してキャッシ
ュメモリに転送し、シーク終了後にヘッドが位置してい
るセクタのアドレスが、リード要求データが格納されて
いるセクタのアドレスより大きい場合は、シーク後トラ
ックの先頭アドレスから順次データを読み出してキャッ
シュメモリに転送するようにすることができる。
[0012] The preceding data pre-read means sets the address of the sector in which the head is located after the end of the seek operation.
If the read request data is smaller than the address of the sector in which the read request data is stored, the data is sequentially read from the address of the sector where the head is located after the seek and transferred to the cache memory, and the sector where the head is located after the seek is completed. Is larger than the address of the sector in which the read request data is stored, the data can be sequentially read from the head address of the track after seek and transferred to the cache memory.

【0013】また、リード要求データをキャッシュメモ
リに転送した後、該リード要求データの直後に格納され
ているデータを、ヘッドを通じてディスクから読み出し
てキャッシュメモリに転送する後続データ先読み手段を
さらに備えるようにし、上記先読み制御手段は、上記後
続データ先読み手段が先読みを実行中、次のリード要求
データをキャッシュメモリに転送する必要が生じた場合
に、該次のリード要求データが格納されているトラック
へのシークを行ったときにヘッドが位置するであろうセ
クタのアドレスを予測し、予測セクタアドレスが、該次
のリード要求データが格納されているセクタのアドレス
より大きいならば、予測セクタアドレスからトラックエ
ンドまでのディスク回転待ち時間分だけ、実行中の先読
みを上記後続データ先読み手段に継続させた後、上記次
のリード要求データが格納されているトラックへのシー
クを開始して上記先行データ先読み手段に先読みを実行
させるようにすることができる。
[0013] In addition, after the read request data is transferred to the cache memory, there is further provided a subsequent data prefetch means for reading data stored immediately after the read request data from the disk through the head and transferring the read data to the cache memory. The read-ahead control means, when the subsequent read request data needs to be transferred to the cache memory while the subsequent read-ahead means is executing the read-ahead, the read-ahead control means reads the next read request data to the track storing the next read request data. Predict the address of the sector where the head will be located when the seek is performed. If the predicted sector address is larger than the address of the sector where the next read request data is stored, the track end is calculated from the predicted sector address. The pre-reading that is being performed for the disk rotation wait time up to After continued prefetch unit can initiate a seek to track said next read request data is stored so as to perform the look-ahead to the preceding data read-ahead means.

【0014】また、上記他の目的を達成するために、本
発明のディスク装置は、先読みを実行するに際して、リ
ード要求データのディスク上での局所性を反映するよう
にしている。
Further, in order to achieve the other object, the disk device of the present invention reflects locality of read request data on a disk when executing prefetching.

【0015】すなわち、本発明のディスク装置は、第2
の態様として、第1の態様において、ディスクのアドレ
ス範囲ごとに、リード要求頻度を計測するリード要求頻
度計測手段と、リード要求データをキャッシュメモリに
転送した後、該リード要求データの直後に格納されてい
るデータを、ヘッドを通じてディスクから読み出してキ
ャッシュメモリに転送する後続データ先読み手段とをさ
らに備え、上記先読み制御手段は、上記後続データ先読
み手段が先読みを実行中、次のリード要求データをキャ
ッシュメモリに転送する必要が生じた場合に、該次のリ
ード要求データの開始論理ブロックアドレスが属するア
ドレス範囲のリード要求頻度と、上記後続データ先読み
手段が先読みを実行中のヘッド位置に対応する論理ブロ
ックアドレスが属するアドレス範囲のリード要求頻度と
を比較し、前者のリード要求頻度が高いならば、上記次
のリード要求データが格納されているトラックへのシー
クを開始して上記先行データ先読み手段に先読みを実行
させ、後者のリード要求頻度が高いか同じであるなら
ば、上記先行データ先読み手段に先読みを実行させたと
きに読み出されるであろうデータ量を予測し、予測デー
タ量が予め定めた閾値よりも大きいならば、その超過分
だけ、実行中の先読みを上記後続データ先読み手段に継
続させた後、上記次のリード要求データが格納されてい
るトラックへのシークを開始して上記先行データ先読み
手段に先読みを実行させることを特徴としたディスク装
置を提供している。
That is, the disk device of the present invention
According to the first aspect, in the first aspect, a read request frequency measuring means for measuring a read request frequency for each address range of the disk, and after transferring the read request data to the cache memory, the read request frequency is stored immediately after the read request data. Read-out data from a disk through a head and transferring the read-out data to a cache memory, wherein the pre-reading control means stores the next read request data in the cache memory while the subsequent data pre-reading means is executing pre-reading. When it is necessary to transfer the data, the read request frequency of the address range to which the start logical block address of the next read request data belongs, and the logical block address corresponding to the head position where the subsequent data prefetch means is executing prefetch Compare the read request frequency of the address range to which the If the read request frequency is high, seek to the track in which the next read request data is stored is started and the preceding data prefetch means executes prefetch, and the latter read request frequency is high or the same. Then, the amount of data that will be read when the preceding data prefetch means is caused to execute prefetching is predicted. After the following read request data is stored, the seek to the track in which the next read request data is stored is started, and the preceding data preread means executes prefetch. are doing.

【0016】[0016]

【発明の実施の形態】以下、本発明の実施形態について
図面を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0017】図1は本発明の実施形態に係る磁気ディス
ク装置の構成例を示す図である。
FIG. 1 is a diagram showing a configuration example of a magnetic disk drive according to an embodiment of the present invention.

【0018】図1に示すように、本実施形態に係る磁気
ディスク装置は、先読み動作を始めとする磁気ディスク
装置の動作を制御するための制御プログラムが実装され
たプログラムROM101と、プログラムROM101
上の制御プログラムを読み込んで実行する制御プロセッ
サ102と、ホストとキャッシュメモリ104との間の
データ転送,キャッシュメモリ104とディスクとの間
のデータ転送を制御する磁気ディスク制御装置103
と、リード要求データ/ライト要求データを一時的に書
き込むキャッシュメモリ104と、データをリード/ラ
イトする際に、該当する位置にヘッドを移動させるため
の制御を行うサーボ制御部107と、サーボ制御部10
7の制御に従って、ヘッドを移動させるボイスコイルモ
ータ(VCM)108と、ディスクの回転を制御するモ
ータドライバ109と、ヘッドから読み込んだ磁気信号
から指定されたヘッドの信号だけを選択するセレクタ1
10と、セレクタ110から送られたアナログデータを
ディジタルデータに変換し、また、磁気ディスク制御装
置103から送られたディジタルデータをアナログデー
タに変換する信号処理部111と、ホストとの間を接続
するバス112とを備えて構成される。
As shown in FIG. 1, the magnetic disk device according to the present embodiment includes a program ROM 101 on which a control program for controlling operations of the magnetic disk device including a prefetch operation is mounted, and a program ROM 101
A control processor 102 that reads and executes the above control program, and a magnetic disk controller 103 that controls data transfer between the host and the cache memory 104 and data transfer between the cache memory 104 and the disk.
A cache memory 104 for temporarily writing read request data / write request data, a servo control unit 107 for performing control for moving a head to a corresponding position when reading / writing data, and a servo control unit. 10
7, a voice coil motor (VCM) 108 for moving the head, a motor driver 109 for controlling the rotation of the disk, and a selector 1 for selecting only a specified head signal from magnetic signals read from the head.
10 and a signal processing unit 111 for converting analog data sent from the selector 110 to digital data and for converting digital data sent from the magnetic disk control device 103 to analog data, and a host. A bus 112 is provided.

【0019】なお、キャッシュメモリ104には、ディ
スクから読み出したリード要求データについての情報を
管理し、キャッシュメモリ104上のデータを読み出す
際のインデックスの役割をなすキャッシュデータ管理テ
ーブル105と、リード要求データの局所性を、論理ブ
ロックアドレス範囲ごとのリード要求頻度として抽出し
て管理するリード要求頻度管理テーブル106とが、さ
らに格納されている。
The cache memory 104 manages information on read request data read from the disk, and includes a cache data management table 105 serving as an index when reading data from the cache memory 104; And a read request frequency management table 106 for extracting and managing the locality of the data as a read request frequency for each logical block address range.

【0020】以下、本実施形態に係る磁気ディスク装置
の動作について説明する。
Hereinafter, the operation of the magnetic disk drive according to this embodiment will be described.

【0021】まず、リードコマンドを受領した際の動作
について説明する。
First, the operation when a read command is received will be described.

【0022】本実施形態に係る磁気ディスク装置は、バ
ス112を介して、ホストからリードコマンドを受け取
ると、キャッシュデータ管理テーブル105を参照し、
受け取ったリードコマンドにより要求されたリード要求
データがキャッシュメモリ104上に存在する(ヒット
している)か否かを検索する。
When the magnetic disk device according to the present embodiment receives a read command from the host via the bus 112, it refers to the cache data management table 105,
A search is performed to determine whether or not the read request data requested by the received read command exists in the cache memory 104 (is hit).

【0023】図2にリードコマンドの構成例を示す。FIG. 2 shows a configuration example of the read command.

【0024】図2に示すように、リードコマンドは、リ
ードコマンドである旨を示すコマンドコード21と、リ
ード要求データの開始論理ブロックアドレス(LBA:
Logical Block Address)22と、リード要求データの
サイズを示す要求データ転送数23とからなる。
As shown in FIG. 2, the read command is a command code 21 indicating that the read command is a read command, and a start logical block address (LBA:
(Logical Block Address) 22 and a request data transfer number 23 indicating the size of the read request data.

【0025】図3にキャッシュデータ管理テーブル10
5の構成例を示す。
FIG. 3 shows the cache data management table 10.
5 shows a configuration example.

【0026】図3に示すように、キャッシュデータ管理
テーブル105は、キャッシュメモリ104に書き込ん
だデータの開始LBA31と、キャッシュメモリ104
上の開始アドレス32と、データサイズ33とからな
る。
As shown in FIG. 3, the cache data management table 105 contains the start LBA 31 of the data written in the cache memory 104 and the cache memory 104
It consists of an upper start address 32 and a data size 33.

【0027】本実施形態に係る磁気ディスク装置は、リ
ード要求データがヒットしているか否かを検索する際
に、詳しくは、キャッシュデータ管理テーブル105中
の開始LBA31およびデータサイズ33を用いて、リ
ード要求データの全てがキャッシュメモリ104上に存
在するか否かを調べ、存在する場合には、対応するキャ
ッシュメモリ上開始アドレス32を参照し、キャッシュ
メモリ104からリード要求データを読み出してホスト
に転送する。また、存在しない場合には、リードコマン
ド中のLBA22をディスク上での配置を示す物理アド
レスに変換し、サーボ制御部107を用いて物理アドレ
スの位置を検出し、さらに、信号制御部111を用いて
リード要求データを磁気ディスク制御装置103に転送
する。このリード要求データは、磁気ディスク制御装置
103によって、キャッシュメモリ104に書き込まれ
ると同時に、バス112を介してホストに転送される。
また、リード要求データがキャッシュメモリ104に書
き込まれる際には、該リード要求データに関する情報
が、磁気ディスク制御装置103によって、キャッシュ
データ管理テーブル105に登録される。
The magnetic disk device according to the present embodiment uses the start LBA 31 and the data size 33 in the cache data management table 105 when searching whether or not the read request data is hit. It is checked whether or not all of the request data exists in the cache memory 104, and if so, the read request data is read from the cache memory 104 with reference to the corresponding start address 32 in the cache memory and transferred to the host. . If not present, the LBA 22 in the read command is converted into a physical address indicating the arrangement on the disk, the position of the physical address is detected using the servo control unit 107, and the signal control unit 111 is used. Then, the read request data is transferred to the magnetic disk control device 103. The read request data is written to the cache memory 104 by the magnetic disk control device 103 and, at the same time, transferred to the host via the bus 112.
Further, when the read request data is written to the cache memory 104, information on the read request data is registered in the cache data management table 105 by the magnetic disk control device 103.

【0028】次に、リード要求データの局所性を抽出す
る動作について説明する。
Next, the operation of extracting the locality of the read request data will be described.

【0029】本実施形態に係る磁気ディスク装置は、バ
ス112を介して、ホストからリードコマンドを受け取
ると、リード要求頻度管理テーブル106への登録を行
う。
When the magnetic disk drive according to the present embodiment receives a read command from the host via the bus 112, it registers it in the read request frequency management table 106.

【0030】図4にリード要求頻度管理テーブル106
の構成例を示す。
FIG. 4 shows the read request frequency management table 106.
An example of the configuration will be described.

【0031】図4に示すように、リード要求頻度管理テ
ーブル106は、予め定めたLBA範囲41と、各LB
A範囲41に開始LBAが属するデータをホストが何度
リード要求したかを示すリード要求頻度42とからな
る。
As shown in FIG. 4, the read request frequency management table 106 includes a predetermined LBA range 41 and each LB range.
A read request frequency 42 indicating how many times the host has requested data to which the start LBA belongs to the A range 41.

【0032】図5は、リード要求頻度管理テーブル10
6への登録動作の流れを示すフローチャートである。
FIG. 5 shows a read request frequency management table 10.
6 is a flowchart showing the flow of a registration operation to No. 6.

【0033】図5に示すように、本実施形態に係る磁気
ディスク装置は、ホストからコマンドを受け取ると、該
コマンド中のコマンドコードを参照し、リードコマンド
であるか否かを判定する(ステップ51)。リードコマ
ンドである場合は、リード要求頻度管理テーブル106
において、リードコマンド中のリード要求データの開始
LBA22が属するLBA範囲41を検出し、検出した
LBA範囲41に対応するリード要求頻度42を1増や
す(ステップ52)。
As shown in FIG. 5, when a magnetic disk device according to the present embodiment receives a command from a host, the magnetic disk device refers to a command code in the command and determines whether or not the command is a read command (step 51). ). If it is a read command, the read request frequency management table 106
, The LBA range 41 to which the start LBA 22 of the read request data in the read command belongs is detected, and the read request frequency 42 corresponding to the detected LBA range 41 is increased by 1 (step 52).

【0034】このようにして登録動作がなされるリード
要求頻度管理テーブル106は、後述する先読み動作に
おいて、以後のリードコマンドにより要求されるリード
要求データとなる可能性が高いデータを先読みできるよ
うにするために参考にされるものである。
The read request frequency management table 106 in which the registration operation is performed as described above enables, in a prefetch operation described later, data that is likely to be read request data requested by a subsequent read command to be prefetched. It is used for reference.

【0035】次に、先読み動作について説明する。Next, the prefetch operation will be described.

【0036】本発明者等は、先読み動作の方式として、
リード要求データをキャッシュメモリに転送する必要が
生じた場合に、該リード要求データより前のアドレスに
格納されているデータを先読みする方式を考案した。以
下、このような先読み方式を、「方式1」と称す。
The inventors of the present invention have adopted a prefetch operation method as follows.
When it becomes necessary to transfer the read request data to the cache memory, a method of prefetching data stored at an address before the read request data has been devised. Hereinafter, such a prefetching method is referred to as “method 1”.

【0037】本実施形態に係る磁気ディスク装置におい
ては、「方式1」を採用し、リード要求データが格納さ
れているトラックへのシークを終了後、実際にヘッドが
該リード要求データにアクセスするまでにかかるディス
ク回転待ち時間に、該リード要求データより前のアドレ
スに格納されているデータ(先行データ)をディスクか
ら読み出してキャッシュメモリ104に転送する。
In the magnetic disk drive according to the present embodiment, the "method 1" is employed, and after the seek to the track storing the read request data is completed, the head is actually accessed until the head accesses the read request data. The data (preceding data) stored at the address before the read request data is read from the disk and transferred to the cache memory 104 during the disk rotation waiting time according to.

【0038】このとき、「方式1」では、シーク終了後
のヘッドの位置とリード要求データの格納位置との位置
関係により、図6および図7に示すように、先読みの仕
方を制御する。なお、トラック上の位置は、セクタアド
レスにより示される。
At this time, in the "method 1", the pre-reading method is controlled as shown in FIGS. 6 and 7 based on the positional relationship between the head position after the end of the seek and the storage position of the read request data. The position on the track is indicated by a sector address.

【0039】図6は、シーク終了後のヘッド位置61
が、リード要求データの開始セクタアドレス62より小
さい場合の先読みの例を示し、この場合には、シーク終
了後直ちに、先行データの先読みを開始するようにす
る。
FIG. 6 shows the head position 61 after the end of the seek.
Shows an example of pre-read when the read request data is smaller than the start sector address 62. In this case, pre-read of the preceding data is started immediately after the end of the seek.

【0040】図7は、シーク終了後のヘッド位置71
が、リード要求データの開始セクタアドレス72より大
きい場合の先読みの例を示し、この場合には、ターゲッ
トトラックの先頭73から、先行データの先読みを開始
するようにする。
FIG. 7 shows the head position 71 after the seek is completed.
Shows an example of the pre-read when the read request data is larger than the start sector address 72 of the read request data. In this case, the pre-read of the preceding data is started from the head 73 of the target track.

【0041】上述より、リードコマンドの次にリードコ
マンドを受領した場合であっても、ライトコマンドの次
にリードコマンドを受領した場合であても、リードコマ
ンドを受領した際、「方式1」を適用すれば、常に、先
行データの先読みが行われることとなる。
As described above, regardless of whether a read command is received after a read command or a read command is received after a write command, "method 1" is applied when a read command is received. Then, the prefetching of the preceding data is always performed.

【0042】これにより、ディスク回転待ち時間を無駄
なく先読みに充当し、先読み量を増やすことが可能とな
る。
As a result, it is possible to allocate the disk rotation waiting time to the prefetch without waste, and to increase the prefetch amount.

【0043】ここで、シーク終了後のヘッド位置61
は、実際にシークを開始する前に予測することが可能で
ある。そこで、リード要求データをキャッシュメモリに
転送した後、該リード要求データの後続データを読み出
してキャッシュメモリ104に転送しておくという、従
来の先読みの手法(以下、「方式2」と称す。)と、
「方式1」とを併用する方式も考えられる。以下、「方
式1」と「方式2」とを併用する先読み方式を、「方式
3」と称し、その動作について説明する。
Here, the head position 61 after the end of the seek
Can be predicted before actually starting the seek. Therefore, a conventional read-ahead method (hereinafter, referred to as “method 2”) in which the read request data is transferred to the cache memory, and subsequent data of the read request data is read and transferred to the cache memory 104. ,
A method that uses "method 1" in combination is also conceivable. Hereinafter, the prefetching method using both "method 1" and "method 2" will be referred to as "method 3" and its operation will be described.

【0044】「方式1」では、図7に示したように、シ
ーク終了後のヘッド位置71が、リード要求データの開
始セクタアドレス72より大きい場合には、ターゲット
トラックの先頭73から先読みを開始するようにしてい
るので、シーク後のヘッド位置71からトラックエンド
にヘッドが至るまでにかかるディスク回転待ち時間74
が生じる。そこで、このディスク回転待ち時間74を、
「方式2」による後続データの先読み延長分に充当する
ということが考えられる。
In the "method 1", as shown in FIG. 7, when the head position 71 after the seek is larger than the start sector address 72 of the read request data, the pre-reading is started from the head 73 of the target track. The disk rotation waiting time 74 required from the head position 71 after the seek to the head at the track end 74
Occurs. Therefore, this disk rotation waiting time 74 is
It is conceivable that this is applied to the extended read-ahead of the subsequent data according to the “method 2”.

【0045】すなわち、「方式3」では、リード要求デ
ータをキャッシュメモリ104に転送後、該リード要求
データの後続データを先読みするが、後続データの先読
み中にリードコマンドを受領し、次のリード要求データ
をキャッシュメモリ104に転送する必要が生じたとき
は、直ちに後続データの先読みを停止せずに、該次のリ
ード要求データが格納されているトラックへのシークを
行ったときにヘッドが位置するであろうセクタのアドレ
スを予測し、予測セクタアドレスが、該次のリード要求
データが格納されているセクタのアドレスより大きいな
らば、予測セクタアドレスからトラックエンドまでのデ
ィスク回転待ち(図7のディスク回転待ち74)時間分
だけ、実行中の後続データの先読みを継続し、その後、
「方式1」により先行データを先読みするようにするこ
とができる。
In other words, in the "method 3", after the read request data is transferred to the cache memory 104, the subsequent data of the read request data is pre-read, but the read command is received during the pre-read of the subsequent data and the next read request is received. When it is necessary to transfer data to the cache memory 104, the head is located when a seek to a track storing the next read request data is performed without immediately stopping prefetching of subsequent data. If the predicted sector address is larger than the address of the sector where the next read request data is stored, the disk rotation from the predicted sector address to the track end is waited (the disk shown in FIG. 7). Rotation wait 74) Continue reading ahead of the subsequent data being executed for the time,
It is possible to pre-read the preceding data by "method 1".

【0046】図8は、「方式3」による先読みの例を示
し、リードコマンドを受領直後にシークを開始したと仮
定したときのシーク後の予測ヘッド位置81が、リード
要求データの開始セクタアドレス82を超え、さらに、
ターゲットトラック83が、先読み中のトラックよりも
2以上離れている場合の例を示している。図8の例で
は、「方式1」による先読みがターゲットトラックの先
頭86から行われるので、リードコマンドを受領直後に
シークを開始したと仮定したときのシーク後の予測ヘッ
ド位置81からターゲットトラックのトラックエンドま
でのディスク回転待ち84(図7のディスク回転待ち7
4に相当する。)を、後続データの先読み延長分に充当
し、後続データの先読みを継続させることができる。そ
して、ターゲットトラックの先頭86から、「方式1」
による先読みを開始する。
FIG. 8 shows an example of pre-reading according to the "method 3", in which the predicted head position 81 after the seek when the seek is started immediately after the reception of the read command is the starting sector address 82 of the read request data. Beyond,
An example in which the target track 83 is separated from the track being pre-read by 2 or more is shown. In the example of FIG. 8, since the pre-reading according to the “method 1” is performed from the head 86 of the target track, it is assumed that the seek has started immediately after the reception of the read command. Wait for disk rotation until end 84 (Disk rotation wait 7 in FIG. 7)
Equivalent to 4. ) Can be applied to the extension of the prefetching of the subsequent data, and the prefetching of the subsequent data can be continued. Then, from the head 86 of the target track, “method 1”
Start prefetching by.

【0047】先読みされる後続データは、リード要求デ
ータの後続データであるので、「方式3」によれば、リ
ードコマンドの次に受領したコマンドもリードコマンド
であり、かつ、「方式1」を適用したと仮定した場合に
ディスク回転待ち84が生じるならば、後続データの先
読みが継続されることとなり、リードコマンドの次に受
領したコマンドもリードコマンドであるが、「方式1」
を適用したと仮定した場合にディスク回転待ち84が生
じないならば、実行中の後続データの先読みはすぐに停
止され、「方式1」による先行データの先読みが行われ
ることとなる。
Since the subsequent data to be pre-read is data subsequent to the read request data, according to "method 3", the command received next to the read command is also a read command, and "method 1" is applied. If the disk rotation wait 84 occurs when it is assumed that the prefetching of the subsequent data is continued, the command received next to the read command is also the read command.
If the disk rotation wait 84 does not occur when it is assumed that is applied, the pre-reading of the subsequent data being executed is immediately stopped, and the pre-reading of the preceding data by "method 1" is performed.

【0048】これにより、「方式3」による先読みを行
う場合も、ディスク回転待ち時間を無駄なく先読みに充
当し、先読み量を増やすことが可能となる。
As a result, also in the case of performing the pre-reading by the "method 3", it is possible to allocate the disk rotation waiting time to the pre-read without waste and increase the pre-read amount.

【0049】また、本実施形態に係る磁気ディスク装置
においては、「方式1」による先行データの先読みデー
タ量を制限することにより、回転待ちを先読みに充当す
るに際し、「方式1」と「方式2」との使い分けを、よ
り詳細に制御することができる。以下、このような例
を、「方式3'」として、図9のフローチャートを用い
て説明する。
Further, in the magnetic disk drive according to the present embodiment, by limiting the amount of pre-read data of the preceding data according to “method 1”, “rotation 1” and “method 2” can be used when the rotation waiting is applied to the pre-read. Can be controlled in more detail. Hereinafter, such an example will be described as “method 3 ′” with reference to the flowchart in FIG.

【0050】「方式2」による後続データの先読み中に
リードコマンドを受領し、次のリード要求データをキャ
ッシュメモリ104に転送する必要が生じた場合に、本
実施形態に係る磁気ディスク装置は、まず、図9に示す
ように、「方式1」による先行データの先読みを行った
と仮定した場合の、シーク後のヘッドの予測セクタアド
レスを求めると共に、先行データ先読みデータ量を予測
し(ステップ901)、予測した先行データ先読みデー
タ量が、予め定めた閾値を超えるか否かを調べる(ステ
ップ902)。
When a read command is received during the pre-reading of the subsequent data according to the “method 2” and it becomes necessary to transfer the next read request data to the cache memory 104, the magnetic disk device according to the present embodiment first As shown in FIG. 9, when it is assumed that the pre-reading of the preceding data by "method 1" is performed, the predicted sector address of the head after the seek is obtained, and the amount of the pre-read data is predicted (step 901). It is checked whether or not the predicted preceding data prefetch data amount exceeds a predetermined threshold (step 902).

【0051】予測した先行データ先読みデータ量が、予
め定めた閾値より大きいならば(ステップ902)、そ
の超過分だけ、「方式2」による後続データの先読みを
継続し(ステップ903)、その後、シークを開始する
(ステップ904)。そして、シーク終了後は、直ちに
先行データの先読みを開始する(ステップ905)。
If the predicted preceding data prefetch data amount is larger than the predetermined threshold value (step 902), the prefetching of the subsequent data by the "method 2" is continued by the excess amount (step 903). Is started (step 904). Then, immediately after the seek is completed, pre-reading of the preceding data is started (step 905).

【0052】一方、ステップ901で予測した先行デー
タ先読みデータ量が、予め定めた閾値以下であり(ステ
ップ902)、ステップ901で求めた予測セクタアド
レスが、リード要求データが格納されているセクタのア
ドレスより小さいならば(ステップ906)、直ちにシ
ークを開始し(ステップ907)、シーク終了後は、先
行データの先読みを開始する(ステップ908)。
On the other hand, the pre-read data amount predicted in step 901 is equal to or smaller than a predetermined threshold value (step 902), and the predicted sector address obtained in step 901 is the address of the sector in which the read request data is stored. If it is smaller (step 906), the seek starts immediately (step 907), and after the seek ends, the prefetching of the preceding data is started (step 908).

【0053】また、ステップ901で求めた予測セクタ
アドレスが、リード要求データが格納されているセクタ
のアドレスより大きいならば(ステップ906)、予測
セクタアドレスからトラックエンドまでのディスク回転
待ち(図7のディスク回転待ち74)時間分だけ、「方
式2」による後続データの先読みを継続し(ステップ9
09)、その後、シークを開始する(ステップ91
0)。そして、シーク終了後は、トラックの先頭から先
行データの先読みを開始する(ステップ911)。
If the predicted sector address obtained in step 901 is larger than the address of the sector in which the read request data is stored (step 906), the disk waits from the predicted sector address to the track end (FIG. 7). Pre-reading of subsequent data by "method 2" is continued for the disk rotation wait 74) time (step 9).
09), and then start seek (step 91)
0). Then, after the seek is completed, pre-reading of the preceding data is started from the head of the track (step 911).

【0054】このように、「方式3'」では、リード要
求データをキャッシュメモリ104に転送後、該リード
要求データの後続データを先読みするが、後続データの
先読み中にリードコマンドを受領し、次のリード要求デ
ータをキャッシュメモリ104に転送する必要が生じた
ときは、「方式3」と同様に、直ちに後続データの先読
みを停止せずに、「方式2」による後続データの先読み
を継続し、その後、「方式1」により先行データを先読
みするようにしている。
As described above, in the “method 3 ′”, after the read request data is transferred to the cache memory 104, the subsequent data of the read request data is prefetched. When it is necessary to transfer the read request data to the cache memory 104, the read-ahead of the subsequent data by the "method 2" is continued without immediately stopping the read-ahead of the subsequent data, as in the "method 3". After that, the preceding data is pre-read by "method 1".

【0055】これにより、「方式3'」による先読みを
行う場合も、「方式3」と同様に、ディスク回転待ち時
間を無駄なく先読みに充当し、先読み量を増やすことが
可能となる。
As a result, also in the case of performing the pre-reading by the "method 3 '", similarly to the "method 3", the disk rotation waiting time can be allotted to the pre-read without waste, and the pre-read amount can be increased.

【0056】そして、特に、「方式3'」では、ディス
ク回転待ち時間を先読みに充当するに際し、「方式2」
による後続データの先読みデータ量と「方式1」による
先行データの先読みデータ量との比率を自由に設定する
ことができる。なお、この比率の設定は、具体的には、
ステップ902で比較される閾値を任意の値に変更する
ことで達せられる。
In particular, in the "method 3 '", when the disk rotation waiting time is used for prefetching, the "method 2"
, The ratio between the amount of pre-read data of subsequent data according to the above and the amount of pre-read data of preceding data according to the “method 1” can be set freely. The setting of this ratio is, specifically,
This is achieved by changing the threshold value compared in step 902 to an arbitrary value.

【0057】さて、本実施形態に係る磁気ディスク装置
においては、「方式1」,「方式2」,「方式3」,
「方式3'」を採用することにより、先読み量を増や
し、ディスクの実効転送速度を上げることができるが、
リード要求頻度管理テーブル106を参照して、以後の
リードコマンドにより要求される可能性が高いデータを
先読みできるようにするために、先読み方式を制御する
ようにしてもよい。
Now, in the magnetic disk drive according to the present embodiment, “method 1”, “method 2”, “method 3”,
By adopting "method 3 '", the amount of pre-reading can be increased and the effective transfer speed of the disk can be increased.
With reference to the read request frequency management table 106, a prefetch method may be controlled so that data that is likely to be requested by a subsequent read command can be prefetched.

【0058】以下では、リード要求頻度管理テーブル1
06を参照して先読み方式を制御する動作の一例につい
て、図10のフローチャートを用いて説明する。
In the following, the read request frequency management table 1
An example of the operation of controlling the prefetching method will be described with reference to a flowchart of FIG.

【0059】後続データを先読み中にリードコマンドを
受領し、次のリード要求データをキャッシュメモリ10
4に転送する必要が生じた場合に、本実施形態に係る磁
気ディスク装置は、まず、図10に示すように、転送す
べきリード要求データが格納されているトラックへのシ
ーク距離が0であるか否かを調べ(ステップ100
1)、シーク距離が0であるならば、後続データの先読
みをトラックエンドまで継続し、該トラックの先頭から
先行データの先読みを開始する(ステップ1002)。
When the read command is received while the subsequent data is being pre-read, the next read request data is transmitted to the cache memory 10.
In the case where it is necessary to transfer the data to No. 4, the seek distance to the track storing the read request data to be transferred is 0 in the magnetic disk device according to the present embodiment, as shown in FIG. (Step 100)
1) If the seek distance is 0, the prefetching of the subsequent data is continued to the track end, and the prefetching of the preceding data is started from the head of the track (step 1002).

【0060】また、シーク距離が1以上であるならば
(ステップ1001)、リード要求頻度管理テーブル1
06を参照し、後続データを先読み中のヘッド位置に対
応するLBAが属するLBA範囲41のリード要求頻度
42と、該次のリード要求データの開始LBAが属する
LBA範囲41のリード要求頻度42とを比較する(ス
テップ1003)。
If the seek distance is 1 or more (step 1001), the read request frequency management table 1
06, the read request frequency 42 of the LBA range 41 to which the LBA corresponding to the head position for which the subsequent data is being pre-read belongs, and the read request frequency 42 of the LBA range 41 to which the start LBA of the next read request data belongs. A comparison is made (step 1003).

【0061】ステップ1003の比較の結果、リード要
求データの開始LBAが属するLBA範囲41のリード
要求頻度42の方が高い場合には(ステップ100
4)、「方式1」による先行データの先読みを開始す
る。すなわち、まず、シークを開始し(ステップ100
5)、シーク終了後のヘッドのセクタアドレスが、リー
ド要求データの開始セクタアドレスより大きいならば
(ステップ1006)、ターゲットトラックの先頭から
先読みを開始し(ステップ1007)、シーク終了後の
ヘッドのセクタアドレスが、リード要求データの開始セ
クタアドレスより小さいならば(ステップ1006)、
直ちに先行データの先読みを開始する(ステップ100
8)。
As a result of the comparison in step 1003, if the read request frequency 42 of the LBA range 41 to which the start LBA of the read request data belongs is higher (step 1003).
4), pre-reading of the preceding data by "method 1" is started. That is, first, seek is started (step 100).
5) If the sector address of the head after the end of the seek is larger than the start sector address of the read request data (step 1006), pre-reading is started from the head of the target track (step 1007), and the sector of the head after the end of the seek If the address is smaller than the start sector address of the read request data (step 1006),
Immediately starts prefetching of the preceding data (step 100)
8).

【0062】一方、ステップ1003の比較の結果、該
次のリード要求データの開始LBAが属するLBA範囲
41のリード要求頻度42の方が低いか同じ場合には
(ステップ1004)、「方式1」による先行データの
先読みを行ったと仮定した場合の先読みデータ量を予測
し(ステップ1009)、予測した先読みデータ量が、
予め定めた閾値以下であるならば(ステップ101
0)、「方式1」による先行データの先読みを開始する
(ステップ1005〜ステップ1008)。
On the other hand, as a result of the comparison in step 1003, if the read request frequency 42 of the LBA range 41 to which the start LBA of the next read request data belongs is lower or the same (step 1004), the “method 1” is used. The amount of pre-read data when the pre-read of the preceding data is assumed to be performed is predicted (step 1009).
If it is equal to or less than a predetermined threshold value (step 101
0), pre-reading of the preceding data by "method 1" is started (steps 1005 to 1008).

【0063】また、ステップ1009で予測した先行デ
ータの先読みデータ量が、予め定めた閾値より大きいな
らば(ステップ1010)、その超過分だけ、実行中の
後続データの先読みを継続し(ステップ1011)、そ
の後、シークを開始する(ステップ1012)。そし
て、シーク終了後は、直ちに先行データの先読みを開始
する(ステップ1013)。
If the pre-read data amount of the preceding data predicted in step 1009 is larger than a predetermined threshold value (step 1010), the pre-reading of the succeeding data being executed is continued by the excess (step 1011). Then, seek is started (step 1012). Then, immediately after the seek, the pre-reading of the preceding data is started (step 1013).

【0064】これにより、先読みを実行するに際し、以
後のリードコマンドにより要求されるリード要求データ
となる可能性が高いデータを先読みすることができる。
Thus, when performing prefetching, it is possible to prefetch data that is likely to be read request data requested by a subsequent read command.

【0065】なお、先読みされる後続データは、リード
要求データの後続データであるので、図10に示した先
読み動作は、リードコマンドの次に受領したコマンドも
リードコマンドである場合の動作であり、ライトコマン
ドの次に受領したコマンドがリードコマンドである場合
には、「方式1」による先行データの先読みが行われる
こととなる。
Since the subsequent data to be pre-read is subsequent data of the read request data, the pre-read operation shown in FIG. 10 is an operation when the command received after the read command is also a read command. If the command received after the write command is a read command, pre-reading of the preceding data by "method 1" is performed.

【0066】また、本実施形態に係る磁気ディスク装置
においては、以後のリードコマンドにより要求されるリ
ード要求データとなる可能性が高いデータを先読みでき
るようにすることを目的として、先読み方式を制御する
際に、リード要求頻度管理テーブル106を参照するよ
うにしているが、このリード要求頻度管理テーブル10
6は、リード要求データの局所性を抽出するものである
ので、他の目的で利用されることも可能である。
Further, in the magnetic disk drive according to the present embodiment, the prefetching method is controlled in order to enable prefetching of data which is likely to be read request data requested by a subsequent read command. At this time, the read request frequency management table 106 is referred to.
6 extracts the locality of the read request data, and can be used for other purposes.

【0067】[0067]

【発明の効果】以上説明したように、本発明のディスク
装置によれば、ディスク回転待ち時間を無駄なく先読み
に充て、先読み量を増やすことで、ディスク上のデータ
を効率よくキャッシュメモリに転送し、ディスク装置の
性能を向上させることができる。
As described above, according to the disk apparatus of the present invention, the disk rotation waiting time is allotted to the prefetch without waste, and the prefetch amount is increased, so that the data on the disk can be efficiently transferred to the cache memory. Thus, the performance of the disk device can be improved.

【0068】また、本発明のディスク装置によれば、先
読みを実行するに際し、以後のリードコマンドにより要
求されるリード要求データとなる可能性が高いデータを
先読みできるようにすることで、キャッシュのヒット率
を上げ、ディスク装置の性能を向上させることができ
る。
According to the disk device of the present invention, when performing prefetching, it is possible to prefetch data that is likely to be read request data requested by a subsequent read command, thereby enabling cache hits. Rate, and the performance of the disk device can be improved.

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

【図1】本実施形態に係る磁気ディスク装置の構成例を
示す図。
FIG. 1 is an exemplary view showing a configuration example of a magnetic disk device according to an embodiment.

【図2】ホストが発行するリードコマンドの構成例を示
す図。
FIG. 2 is a diagram showing a configuration example of a read command issued by a host.

【図3】キャッシュデータ管理テーブルの構成例を示す
図。
FIG. 3 is a diagram showing a configuration example of a cache data management table.

【図4】リード要求頻度管理テーブルの構成例を示す
図。
FIG. 4 is a diagram showing a configuration example of a read request frequency management table.

【図5】リード要求頻度管理テーブルへの登録動作の流
れを示すフローチャート。
FIG. 5 is a flowchart showing a flow of a registration operation to a read request frequency management table.

【図6】リード要求データより前のアドレスに格納され
ているデータを先読みする方式の例を示す説明図。
FIG. 6 is an explanatory diagram showing an example of a method of pre-reading data stored at an address before read request data.

【図7】リード要求データより前のアドレスに格納され
ているデータを先読みする方式の例を示す説明図。
FIG. 7 is an explanatory diagram showing an example of a method of prefetching data stored at an address before read request data.

【図8】リード要求データより前のアドレスに格納され
ているデータを先読みする方式、および、後続データの
先読みを行う方式を併用する方式の例を示す説明図。
FIG. 8 is an explanatory diagram showing an example of a method of prefetching data stored at an address before read request data and a method of prefetching subsequent data.

【図9】リード要求データより前のアドレスに格納され
ているデータを先読みする方式、および、後続データの
先読みを行う方式を併用する方式の別の例の動作の流れ
を示すフローチャート。
FIG. 9 is a flowchart showing another example of the operation flow of a method for prefetching data stored at an address before read request data and a method for prefetching subsequent data.

【図10】リード要求頻度管理テーブルを用いて行う先
読み動作の流れを示すフローチャート。
FIG. 10 is a flowchart showing the flow of a prefetch operation performed using the read request frequency management table.

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

101:プログラムROM 102:制御プロセッサ 103:磁気ディスク制御装置 104:キャッシュメモリ 105:キャッシュデータ管理テーブル 106:リード要求頻度管理テーブル 107:サーボ制御部 108:ボイスコイルモータ(VCM) 109:モータドライバ 110:セレクタ 111:信号処理部 112:バス 21:コマンドコード 22:論理ブロックアドレス(LBA) 23:要求データ転送数 31:開始LBA 32:キャッシュメモリ上開始アドレス 33:データサイズ 41:LBA範囲 42:リード要求頻度 101: Program ROM 102: Control Processor 103: Magnetic Disk Controller 104: Cache Memory 105: Cache Data Management Table 106: Read Request Frequency Management Table 107: Servo Controller 108: Voice Coil Motor (VCM) 109: Motor Driver 110: Selector 111: Signal processing unit 112: Bus 21: Command code 22: Logical block address (LBA) 23: Requested data transfer number 31: Start LBA 32: Start address on cache memory 33: Data size 41: LBA range 42: Read request frequency

───────────────────────────────────────────────────── フロントページの続き (72)発明者 井口 慎也 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 西川 学 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 Fターム(参考) 5B005 JJ13 KK12 MM11 NN22 5B065 BA01 CA11 CC07 CC08 CE02 CE12 CH02 CH05 CS01 5D044 AB01 BC01 CC05 DE12 DE38 DE91 FG10 FG18 HH05 HL02 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Shinya Iguchi 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside System Development Laboratory, Hitachi, Ltd. F-term in the Storage Systems Division of the Works (Reference) 5B005 JJ13 KK12 MM11 NN22 5B065 BA01 CA11 CC07 CC08 CE02 CE12 CH02 CH05 CS01 5D044 AB01 BC01 CC05 DE12 DE38 DE91 FG10 FG18 HH05 HL02

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】ディスクと、ヘッドと、キャッシュメモリ
とを装備し、 リード要求データがキャッシュメモリに格納されていな
い場合に、該リード要求データを、ヘッドを通じてディ
スクから読み出してキャッシュメモリに転送するディス
ク装置であって、 リード要求データが格納されているトラックへのシーク
を終了後、該リード要求データにヘッドがアクセスする
までにかかるディスク回転待ち時間に、該リード要求デ
ータより前のアドレスに格納されているデータを、ヘッ
ドを通じてディスクから読み出してキャッシュメモリに
転送する先行データ先読み手段と、 リード要求データをキャッシュメモリに転送する必要が
生じた場合に、該リード要求データが格納されているト
ラックへのシークを開始して上記先行データ先読み手段
に先読みを実行させる先読み制御手段とを備えたことを
特徴とするディスク装置。
A disk, comprising a disk, a head, and a cache memory, wherein, when read request data is not stored in the cache memory, the read request data is read from the disk through the head and transferred to the cache memory. An apparatus for storing, at a disk rotation waiting time required for a head to access the read request data after completing a seek to a track storing the read request data, an address earlier than the read request data; Means for reading the data being read from the disk through the head and transferring the read request data to the cache memory; and, when it becomes necessary to transfer the read request data to the cache memory, a track to the track storing the read request data. Start seek and proceed to the preceding data prefetching means Disk apparatus characterized by comprising a prefetch control means for executing only.
【請求項2】請求項1記載のディスク装置であって、 上記先行データ先読み手段は、 シーク終了後にヘッドが位置しているセクタのアドレス
が、リード要求データが格納されているセクタのアドレ
スより小さい場合は、シーク終了後にヘッドが位置して
いるセクタのアドレスから順次データを読み出してキャ
ッシュメモリに転送し、 シーク終了後にヘッドが位置しているセクタのアドレス
が、リード要求データが格納されているセクタのアドレ
スより大きい場合は、シーク後トラックの先頭アドレス
から順次データを読み出してキャッシュメモリに転送す
ることを特徴とするディスク装置。
2. The disk drive according to claim 1, wherein the preceding data pre-reading means is configured such that, after the end of the seek, the address of the sector where the head is located is smaller than the address of the sector where the read request data is stored. When the seek is completed, the data is sequentially read from the address of the sector where the head is located and transferred to the cache memory. After the seek is completed, the address of the sector where the head is located is the sector where the read request data is stored. A disk device that sequentially reads data from a head address of a track after seeking and transfers the data to a cache memory when the address is larger than the address of the seek track.
【請求項3】請求項1または2記載のディスク装置であ
って、 リード要求データをキャッシュメモリに転送した後、該
リード要求データの直後に格納されているデータを、ヘ
ッドを通じてディスクから読み出してキャッシュメモリ
に転送する後続データ先読み手段をさらに備え、 上記先読み制御手段は、 上記後続データ先読み手段が先読みを実行中、次のリー
ド要求データをキャッシュメモリに転送する必要が生じ
た場合に、 該次のリード要求データが格納されているトラックへの
シークを行ったときにヘッドが位置するであろうセクタ
のアドレスを予測し、予測セクタアドレスが、該次のリ
ード要求データが格納されているセクタのアドレスより
大きいならば、予測セクタアドレスからトラックエンド
までのディスク回転待ち時間分だけ、実行中の先読みを
上記後続データ先読み手段に継続させた後、上記次のリ
ード要求データが格納されているトラックへのシークを
開始して上記先行データ先読み手段に先読みを実行させ
ることを特徴とするディスク装置。
3. The disk device according to claim 1, wherein, after transferring the read request data to the cache memory, data stored immediately after the read request data is read from the disk through the head and cached. The read-ahead control unit further transfers the next read request data to the cache memory while the subsequent data read-ahead unit is executing the read-ahead. Predict the address of the sector where the head will be located when seeking to the track where the read request data is stored, and set the predicted sector address to the address of the sector where the next read request data is stored. If greater, only the disk rotation waiting time from the predicted sector address to the track end After continuing the prefetching being executed by the subsequent data prefetching means, starting a seek to a track in which the next read request data is stored, and causing the preceding data prefetching means to execute prefetching. Disk device to be used.
【請求項4】請求項1または2記載のディスク装置であ
って、 リード要求データをキャッシュメモリに転送した後、該
リード要求データの直後に格納されているデータを、ヘ
ッドを通じてディスクから読み出してキャッシュメモリ
に転送する後続データ先読み手段をさらに備え、 上記先読み制御手段は、 上記後続データ先読み手段が先読みを実行中、次のリー
ド要求データをキャッシュメモリに転送する必要が生じ
た場合に、 上記先行データ先読み手段に先読みを実行させたときに
読み出されるであろうデータ量を予測し、予測データ量
のうちの任意のデータ量を、上記後続データ先読み手段
による先読み分として割り当て、割り当てたデータ量だ
け、実行中の先読みを上記後続データ先読み手段に継続
させた後、上記次のリード要求データが格納されている
トラックへのシークを開始して上記先行データ先読み手
段に先読みを実行させることを特徴とするディスク装
置。
4. The disk device according to claim 1, wherein, after transferring the read request data to the cache memory, data stored immediately after the read request data is read from the disk through the head and cached. The read-ahead control means further transfers the next read request data to the cache memory while the subsequent data read-ahead means is executing the read-ahead. Predict the amount of data that will be read when the prefetching unit executes the prefetching, and allocate any data amount of the predicted data amount as the amount of prefetching by the subsequent data prefetching unit. After the prefetch being executed is continued by the subsequent data prefetch means, the next read request data is read. A disk drive for starting a seek to a track in which the data is stored and causing the preceding data prefetching means to execute prefetching.
【請求項5】請求項1または2記載のディスク装置であ
って、 ディスクのアドレス範囲ごとに、リード要求頻度を計測
するリード要求頻度計測手段と、 リード要求データをキャッシュメモリに転送した後、該
リード要求データの直後に格納されているデータを、ヘ
ッドを通じてディスクから読み出してキャッシュメモリ
に転送する後続データ先読み手段とをさらに備え、 上記先読み制御手段は、 上記後続データ先読み手段が先読みを実行中、次のリー
ド要求データをキャッシュメモリに転送する必要が生じ
た場合に、 該次のリード要求データの開始論理ブロックアドレスが
属するアドレス範囲のリード要求頻度と、上記後続デー
タ先読み手段が先読みを実行中のヘッド位置に対応する
論理ブロックアドレスが属するアドレス範囲のリード要
求頻度とを比較し、 前者のリード要求頻度が高いならば、上記次のリード要
求データが格納されているトラックへのシークを開始し
て上記先行データ先読み手段に先読みを実行させ、 後者のリード要求頻度が高いか同じであるならば、上記
先行データ先読み手段に先読みを実行させたときに読み
出されるであろうデータ量を予測し、予測データ量が予
め定めた閾値よりも大きいならば、その超過分だけ、実
行中の先読みを上記後続データ先読み手段に継続させた
後、上記次のリード要求データが格納されているトラッ
クへのシークを開始して上記先行データ先読み手段に先
読みを実行させることを特徴とするディスク装置。
5. The disk drive according to claim 1, wherein said read request frequency measuring means measures a read request frequency for each address range of the disk, and said read request data is transferred to a cache memory. Data reading means for reading data stored immediately after the read request data from the disk through the head and transferring the read data to the cache memory, wherein the read-ahead control means executes the read-ahead, When it becomes necessary to transfer the next read request data to the cache memory, the read request frequency of the address range to which the start logical block address of the next read request data belongs, and the subsequent data prefetch means is executing prefetch. Read the address range to which the logical block address corresponding to the head position belongs If the former read request frequency is higher, the seek to the track storing the next read request data is started and the preceding data prefetch means executes prefetch, and the latter read request is performed. If the request frequency is high or the same, predict the amount of data that will be read when the preceding data prefetch means executes prefetching, and if the predicted data amount is greater than a predetermined threshold, After the prefetch being executed is continued by the succeeding data prefetch means for the excess, the seek to the track storing the next read request data is started, and the prefetch data is executed by the preceding data prefetch means. A disk device characterized by the above-mentioned.
【請求項6】ディスクと、ヘッドとを装備したディスク
装置であって、 ディスクのアドレス範囲ごとに、リード要求回数を計測
するためのカウンタを有し、リード要求データの開始論
理ブロックアドレスが属するアドレス範囲を求め、該ア
ドレス範囲に対応するカウンタを加算するリード要求頻
度計測手段を備えたことを特徴とするディスク装置。
6. A disk device equipped with a disk and a head, having a counter for measuring the number of read requests for each address range of the disk, and an address to which a start logical block address of the read request data belongs. A disk device comprising: a read request frequency measuring means for obtaining a range and adding a counter corresponding to the address range.
JP2001042991A 2001-02-20 2001-02-20 Disk device Pending JP2002244816A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001042991A JP2002244816A (en) 2001-02-20 2001-02-20 Disk device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001042991A JP2002244816A (en) 2001-02-20 2001-02-20 Disk device

Publications (1)

Publication Number Publication Date
JP2002244816A true JP2002244816A (en) 2002-08-30

Family

ID=18905225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001042991A Pending JP2002244816A (en) 2001-02-20 2001-02-20 Disk device

Country Status (1)

Country Link
JP (1) JP2002244816A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211880A (en) * 2009-03-11 2010-09-24 Sharp Corp Disk driving device, control method thereof, program, and recording medium
JP2012113662A (en) * 2010-11-26 2012-06-14 Fujitsu Ltd Access control program, access control method and information processing device
US8717700B2 (en) 2011-06-30 2014-05-06 Kabushiki Kaisha Toshiba Channel circuit and seek method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211880A (en) * 2009-03-11 2010-09-24 Sharp Corp Disk driving device, control method thereof, program, and recording medium
JP2012113662A (en) * 2010-11-26 2012-06-14 Fujitsu Ltd Access control program, access control method and information processing device
US8717700B2 (en) 2011-06-30 2014-05-06 Kabushiki Kaisha Toshiba Channel circuit and seek method

Similar Documents

Publication Publication Date Title
JP3183993B2 (en) Disk control system
JP2003131942A (en) Apparatus and method for controlling cache of hard disk devices
JP3137554B2 (en) Data transfer / management system and method
JP2007304691A (en) Disk device and read-ahead control method for rotary type memory device
US20090049255A1 (en) System And Method To Reduce Disk Access Time During Predictable Loading Sequences
JP2007241927A (en) Data storage device and method
JP4925230B2 (en) Storage device, storage control device, and control method
JP3087429B2 (en) Storage system
KR19980029917A (en) How to improve read cache performance on magnetic disk drives
JP2003508866A (en) Reduced seek sound with minimal performance degradation
JP2003337722A (en) Computer system
JP2001014109A (en) Storage device
JP2002244816A (en) Disk device
JPH06314177A (en) Magnetic disk device and access method
JPH076088A (en) Information storage device
JP2002342038A (en) Disk device controlling execution order of commands
JP2004164144A (en) Disk device
US6957300B2 (en) Reducing delay of command completion due to overlap condition
US7370153B1 (en) System and method of pre-fetching using an extended data structure including required data and a pre-fetch flag
JP2003173294A (en) Disk device
JPH11212733A (en) External storage system
JP2007011661A (en) Disk unit, and cache memory control method therefor
JPH10171713A (en) Disk storage device and method for controlling cache applied to the same device
JPH0944315A (en) Memory device and its method
JPH10124387A (en) Unit and method for cache control