JP2001014111A - Control method for rotary type storage device - Google Patents

Control method for rotary type storage device

Info

Publication number
JP2001014111A
JP2001014111A JP11182711A JP18271199A JP2001014111A JP 2001014111 A JP2001014111 A JP 2001014111A JP 11182711 A JP11182711 A JP 11182711A JP 18271199 A JP18271199 A JP 18271199A JP 2001014111 A JP2001014111 A JP 2001014111A
Authority
JP
Japan
Prior art keywords
command
read
rotary storage
storage device
commands
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
JP11182711A
Other languages
Japanese (ja)
Inventor
博之 ▲高▼田
Hiroyuki Takada
Yuji Yamane
裕二 山根
Tsuneo Hirose
恒夫 廣瀬
Keiichiro Hirata
敬一郎 平田
Mitsuharu Horiuchi
光治 堀内
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP11182711A priority Critical patent/JP2001014111A/en
Publication of JP2001014111A publication Critical patent/JP2001014111A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve processing performance at the execution of a tagged command. SOLUTION: In a magnetic disk device 20 provided with a magnetic disk 40 and a magnetic disk controller 30 provided with a cache memory 33, a command queue 34 and a control processor 31, a lock-ahead interruption information table 35 is provided, a look-ahead processing is performed in rotation standby time still remaining even when the execution orders of commands in the common queue 34 are rearranged and reduce so as to be efficient execution orders at the time of executing the tagged commands of random access received from a host computer 10 and the interruption/restart of look-ahead are managed by utilizing the look-ahead interruption information table 35. Thus, the hit rate of read commands issued by the host computer 10 in the cache memory 33 is improved and the processing performance at the execution of the tagged command is improved.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、回転形記憶装置の
制御技術に関し、特に、効率の良いコマンドの実行順序
となるように並び替える機能を有する磁気ディスク装置
等の回転形記憶装置の制御に適用して有効な技術に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control technique for a rotary storage device, and more particularly, to the control of a rotary storage device such as a magnetic disk device having a function of rearranging commands in an efficient execution order. Regarding effective technology to apply.

【0002】[0002]

【従来の技術】小型の外部記憶装置の接続インタフェー
スとして広く利用されているSCSI(Small C
omputer System Interface)
において、ターゲット(磁気ディスク装置)は、Sim
ple Queue Tagのようなタグ付きコマンド
を、キューイングされている他のコマンドとの間で、効
率の良いコマンドの実行順序となるようにコマンドの実
行順序を変更することができる。
2. Description of the Related Art A SCSI (Small C) widely used as a connection interface for a small external storage device is used.
output System Interface)
, The target (magnetic disk device) is Sim
The command execution order can be changed so that a command with a tag such as ple Queue Tag has an efficient command execution order with other queued commands.

【0003】磁気ディスク装置では一般に、ランダムア
クセスのタグ付きコマンドに対しては、読み込みあるい
は書き込みを行うヘッドの移動時間(シーク時間)と、
目的のセクタ(読み込みまたは書き込みを行うべきアド
レス)に対して読み込みあるいは書き込みを行うまでの
回転待ち時間の和が最小となるようにコマンドの実行順
序を並び替えることによって、磁気ディスク装置のコマ
ンド処理性能を向上させている。
In general, in a magnetic disk device, in response to a command with a tag of random access, a moving time (seek time) of a head for reading or writing,
The command processing performance of the magnetic disk device is rearranged by rearranging the command execution order so that the sum of the rotation waiting times until reading or writing to a target sector (address at which reading or writing is performed) is minimized. Has been improved.

【0004】一方、シーケンシャルアクセスのコマンド
に対しては、ホストコンピュータが発行した読み込みコ
マンドの読み込みを開始すべきアドレスからホスト要求
レングス分のデータを磁気ディスクから読み込み、ホス
トコンピュータにデータの転送を行い、それと同時にそ
の続きのデータも磁気ディスクからキャッシュに読み込
んでおく。次にホストコンピュータがその続きのデータ
に対する読み込みコマンドを発行した時に、ディスクア
クセスを行わずキャッシュからデータを転送することに
より磁気ディスク装置のコマンド処理性能を向上させて
いる。
On the other hand, for a sequential access command, data corresponding to a host request length is read from the magnetic disk from an address at which reading of a read command issued by the host computer should be started, and the data is transferred to the host computer. At the same time, the subsequent data is read from the magnetic disk into the cache. Next, when the host computer issues a read command for the subsequent data, the data is transferred from the cache without performing disk access, thereby improving the command processing performance of the magnetic disk device.

【0005】[0005]

【発明が解決しようとする課題】前述のようにシーケン
シャルアクセスのコマンドに対しては先読み処理を行
い、次にホストコンピュータがその続きのデータに対す
る読み込みコマンドを発行した時に、キャッシュからデ
ータを転送することにより性能を向上させている。すな
わち、シーケンシャルアクセスのコマンドを実行する
際、次のコマンドをホストコンピュータが発行するま
で、磁気ディスク装置は磁気ディスクからキャッシュへ
の先読みデータの読み込みを行っている。
As described above, a read-ahead process is performed for a sequential access command, and the data is transferred from the cache when the host computer issues a read command for the subsequent data. To improve performance. That is, when executing a sequential access command, the magnetic disk device reads prefetched data from the magnetic disk to the cache until the next command is issued by the host computer.

【0006】一方、ランダムアクセスのコマンドに対し
ては、シーク時間と回転待ち時間を考慮して、効率の良
いコマンドの実行順序となるようにコマンドの実行順序
を変更することにより性能を向上させている。しかし、
次に実行するコマンドとして、コマンドキューに登録さ
れているどのコマンドを選択しても回転待ち時間が大き
くなってしまい、効率の良い実行順序となるように並び
替えることのできないコマンドの組合せは存在する。効
率の良い実行順序となるようにコマンドの並び替えを行
うことによって回転待ち時間を削減しても、回転待ち時
間は必ずしもゼロとはならない。また、ホストコンピュ
ータが新たなコマンドを発行せず、コマンドキューに実
行すべきコマンドが存在しない場合には、次にホストコ
ンピュータがコマンドを発行するまで何もすることが無
く、ホストコンピュータがコマンドを発行するのを待つ
だけの状態になってしまう、という課題がある。
On the other hand, for a random access command, the performance is improved by changing the command execution order so that the command execution order becomes efficient in consideration of the seek time and the rotation waiting time. I have. But,
Regardless of which command registered in the command queue is selected as the next command to be executed, the rotation waiting time becomes longer, and there is a combination of commands that cannot be rearranged in an efficient execution order. . Even if the rotation waiting time is reduced by rearranging the commands so that the execution order is efficient, the rotation waiting time does not always become zero. If the host computer does not issue a new command and there is no command to be executed in the command queue, the host computer issues no command until the next host computer issues the command. There is a problem that it becomes a state just waiting to be done.

【0007】本発明の目的は、複数のコマンドの実行順
序の並び替えによってもなお残る回転待ち時間を利用し
て、先読み処理を行うことにより、回転形記憶装置の処
理性能を向上させることにある。
[0007] It is an object of the present invention to improve the processing performance of a rotary storage device by performing a pre-reading process using a rotation waiting time which remains even after rearranging the execution order of a plurality of commands. .

【0008】本発明の他の目的は、複数のコマンド実行
処理間の回転待ち時間をキャッシュメモリへの先読み処
理に有効に利用して、キャッシュメモリを介したデータ
リード処理のスループットを向上させることが可能な回
転形記憶装置の制御技術を提供することにある。
Another object of the present invention is to improve the throughput of data read processing via a cache memory by effectively utilizing the rotation waiting time between a plurality of command execution processing for prefetch processing to a cache memory. An object of the present invention is to provide a control technology of a rotary storage device that can be used.

【0009】[0009]

【課題を解決するための手段】本発明は、上位装置との
間で授受されるデータが格納される回転形記憶媒体と、
回転形記憶媒体と上位装置との間におけるデータの転送
経路に介在してデータを一時的に保持するキャッシュメ
モリを含み、コマンドキューにキューイングされている
複数のコマンドのうち、実行順序の変更が可能な複数の
コマンドを、回転形記憶媒体におけるデータの読み込み
あるいは書き込みを行うためのシーク時間と回転待ち時
間の和が最小となるような実行順序に並び替える機能を
有する回転形記憶装置の制御方法において、コマンドの
並び替えによって削減してもなお残る回転待ち時間を利
用して、回転形記憶媒体からキャッシュメモリにデータ
の先読み処理を行うものである。
According to the present invention, there is provided a rotary storage medium for storing data exchanged with a higher-level device;
Including a cache memory that temporarily holds data via a data transfer path between the rotary storage medium and the host device, the execution order of a plurality of commands queued in the command queue may be changed. A method of controlling a rotary storage device having a function of rearranging a plurality of possible commands into an execution order that minimizes the sum of a seek time and a rotation wait time for reading or writing data in the rotary storage medium. In this method, the data is prefetched from the rotary storage medium to the cache memory by utilizing the remaining rotation waiting time even after the command is rearranged.

【0010】より具体的には一例として、ランダムアク
セスのタグ付きコマンドを実行する際、効率の良い実行
順序となるようにコマンドの実行順序を並び替えること
によって削減しても、なお残る回転待ち時間に先読み処
理を行うことにより、先読み処理を行ったアドレスに対
する読み込みコマンドを上位装置が発行した時に回転形
記憶媒体へのアクセスを行わず、キャッシュメモリから
データを転送することにより、タグ付きコマンドを実行
する処理性能を向上させることができる。
More specifically, as an example, when a command with a random access tag is executed, even if the command execution order is reduced by rearranging the command execution order so as to obtain an efficient execution order, the rotation waiting time still remains. When a higher-level device issues a read command for an address for which a pre-read process has been performed by executing pre-read processing, a command with a tag is executed by transferring data from the cache memory without accessing the rotary storage medium. Processing performance can be improved.

【0011】[0011]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0012】図1は、本発明の一実施の形態である回転
形記憶装置の制御方法を実施する磁気ディスク制御装置
を含む磁気ディスク装置の構成の一例を示す概念図であ
る。
FIG. 1 is a conceptual diagram showing an example of the configuration of a magnetic disk device including a magnetic disk control device for implementing a method of controlling a rotary storage device according to an embodiment of the present invention.

【0013】図1において、10はホストコンピュー
タ、30は磁気ディスク制御装置を示し、ホストコンピ
ュータ10および、磁気ディスク制御装置30はホスト
インタフェース50で接続される。ホストインタフェー
ス50はSCSIインタフェースを使用している。40
は磁気ディスクを示し、磁気ディスク制御装置30とは
ディスクインタフェース60を介し接続される。磁気デ
ィスク制御装置30は、制御プロセッサ31、内部メモ
リ32、キャッシュメモリ33で構成される。
In FIG. 1, reference numeral 10 denotes a host computer, and 30 denotes a magnetic disk controller. The host computer 10 and the magnetic disk controller 30 are connected by a host interface 50. The host interface 50 uses a SCSI interface. 40
Denotes a magnetic disk, and is connected to the magnetic disk controller 30 via a disk interface 60. The magnetic disk control device 30 includes a control processor 31, an internal memory 32, and a cache memory 33.

【0014】内部メモリ32にはコマンドキュー34、
後述の先読み処理の制御に用いる先読み中断情報テーブ
ル35が設けられている。
The internal memory 32 has a command queue 34,
A prefetch interruption information table 35 used for controlling prefetch processing described later is provided.

【0015】図4に例示されるように、先読み中断情報
テーブル35は、要求番号35a、先読みを開始するア
ドレス35b、先読みを行う残レングス35cの各情報
を対応つけて格納する構成になっている。
As exemplified in FIG. 4, the prefetch interruption information table 35 is configured to store information of a request number 35a, an address 35b for starting prefetch, and a remaining length 35c for prefetch in association with each other. .

【0016】ホストコンピュータ10が読み込みコマン
ドA 70を磁気ディスク装置20に対して発行する
と、磁気ディスク装置20は、読み込みコマンドA 7
0をコマンドキュー34に登録する。コマンドキュー3
4に登録されているコマンドのうち、磁気ディスク40
の現在のヘッドの位置に基づいて、シーク時間と回転待
ち時間の和が最小となるコマンドを選択し、磁気ディス
ク40に対して読み込みあるいは書き込みを行う。
When the host computer 10 issues a read command A 70 to the magnetic disk device 20, the magnetic disk device 20 reads the read command A 7
0 is registered in the command queue 34. Command queue 3
4 among the commands registered in the magnetic disk 40
A command that minimizes the sum of the seek time and the rotation waiting time is selected based on the current head position, and reading or writing to the magnetic disk 40 is performed.

【0017】コマンドキュー34に登録されているコマ
ンドの中から、読み込みコマンドA70が次に実行する
コマンドとして選択されたとする。本実施の形態では、
効率の良い実行順序となるようにコマンドの並び替えを
行い回転待ちを削減してもなお残る回転待ち時間に先読
み処理を行うため、ホスト要求レングスと先読みレング
ス分の読み込み起動を磁気ディスク40に対して行う。
キャッシュメモリ33のサイズを超えて先読み処理を行
うことによってキャッシュメモリ33を上書きしないよ
うにするため、キャッシュメモリ33のサイズを先読み
処理を行うレングスとする。キャッシュメモリ33を複
数のセグメントに分割し使用する場合は、先読み処理を
行うレングスは1つのセグメントのサイズとする。先読
み要求できるコマンド数の最大値は、キャッシュメモリ
33の分割数とする。すなわち、図4の先読み中断情報
テーブル35における要求番号35aの数(要求番号
N)はキャッシュメモリ33の分割数により決定され
る。
It is assumed that the read command A70 is selected as the next command to be executed from the commands registered in the command queue 34. In the present embodiment,
Even if the commands are rearranged so as to have an efficient execution order and the rotational waiting time is reduced, the read-ahead processing is performed on the magnetic disk 40 in order to perform the read-ahead processing for the rotational wait time remaining even after reducing the rotational wait time. Do it.
In order to prevent the cache memory 33 from being overwritten by performing the prefetching process beyond the size of the cache memory 33, the size of the cache memory 33 is set to the length for performing the prefetching process. When the cache memory 33 is divided into a plurality of segments and used, the length of the prefetch process is set to the size of one segment. The maximum value of the number of commands that can be prefetched is the number of divisions of the cache memory 33. That is, the number of request numbers 35 a (request number N) in the prefetch interruption information table 35 of FIG. 4 is determined by the number of divisions of the cache memory 33.

【0018】コマンドキュー34には現在実行中の読み
込みコマンドの他にもキューイングされているコマンド
が存在するので、先読み処理は中断しなければならな
い。先読み処理は、次に行う読み込みあるいは書き込み
処理の回転待ち時間が最小になるタイミングで中断し、
先読みを再開するアドレスと先読みを行う残レングスを
図4に示す先読み中断情報テーブル35に登録する。
Since there is a queued command in the command queue 34 in addition to the currently executed read command, the prefetch processing must be interrupted. The pre-reading process is interrupted at the timing when the rotation waiting time of the next reading or writing process is minimized,
The address at which prefetching is resumed and the remaining length for prefetching are registered in the prefetch interruption information table 35 shown in FIG.

【0019】ホストコンピュータ10が新たなコマンド
を発行せず、コマンドキュー34にも実行すべきコマン
ドが存在しない場合、従来の参考技術では次のコマンド
をホストコンピュータが発行するまで待ち時間となる。
本実施の形態ではこの待ち時間に、先読み中断情報テー
ブル35に登録されている先読み処理の再開を行う。先
読み中断情報テーブル35の先読み処理を再開するアド
レスから先読みを行う残レングスまでの読み込み起動を
磁気ディスク40に対して行う。磁気ディスク40から
読み込まれた先読みデータ37はホストコンピュータ1
0には転送せず、キャッシュメモリ33に保管してお
く。
When the host computer 10 does not issue a new command and there is no command to be executed in the command queue 34, in the conventional reference technology, it becomes a waiting time until the host computer issues the next command.
In this embodiment, the prefetch processing registered in the prefetch suspension information table 35 is restarted during this waiting time. The magnetic disk 40 starts reading from the address in the prefetch interruption information table 35 where the prefetching process is restarted to the remaining length for prefetching. The pre-read data 37 read from the magnetic disk 40 is stored in the host computer 1
It is not transferred to 0 but is stored in the cache memory 33.

【0020】先読みを行ったアドレスに対して、ホスト
コンピュータ10が読み込みコマンドB 71を発行し
た場合、キャッシュメモリ33には既に先読みしたデー
タ37が読み込まれているので、磁気ディスク装置20
はディスクアクセスを行わずデータを転送することがで
きる。
When the host computer 10 issues a read command B 71 to the pre-read address, the pre-read data 37 has already been read into the cache memory 33, so that the magnetic disk drive 20
Can transfer data without performing disk access.

【0021】次に、図2および図3の読み込みコマンド
処理のフローチャートに基づいて、先読み処理を行う方
法の一例について具体的に説明する。なお、図2および
図3の各々において、、は、当該図2および図3の
フローチャート間における処理の流れの接続関係を示
し、S1からS30は各処理ステップの番号を示す。
Next, an example of a method for performing the pre-reading process will be described in detail with reference to the flow charts of the reading command process shown in FIGS. In each of FIGS. 2 and 3, indicates the connection relationship of the processing flow between the flowcharts of FIGS. 2 and 3, and S1 to S30 indicate the numbers of the respective processing steps.

【0022】コマンドキュー34に実行すべきコマンド
が存在する場合(ステップS01)は、、当該コマンド
が最優先のコマンド(リードコマンド)か否か判別し
(ステップS02)、リードコマンドの場合には、回転
待ち時間とシーク時間を考慮して効率の良い実行順序と
なるように、コマンドの実行順序を並び替える(ステッ
プS03)。効率の良い実行順序となるように並び替え
た結果、次に実行するコマンドが読み込みコマンドの場
合(ステップS09)、ホスト要求レングスと先読みレ
ングスを加えたレングス分の読み込み処理を行う(ステ
ップS10)。ホスト要求レングス分のホスト要求デー
タ36はホストコンピュータ10に転送し、先読みレン
グス分はキャッシュメモリ33に保管しておく。コマン
ドキュー34に現在実行中のコマンドの他にも実行すべ
きコマンドが存在する場合は、ホストコンピュータ10
からのコマンドは先読み処理よりも優先すべきなので、
先読み処理を中断しなければならない。
If there is a command to be executed in the command queue 34 (step S01), it is determined whether or not the command is the highest priority command (read command) (step S02). The command execution order is rearranged so that an efficient execution order is obtained in consideration of the rotation waiting time and the seek time (step S03). When the commands to be executed next are read commands (step S09) as a result of rearranging them so as to have an efficient execution order, read processing for the length obtained by adding the host request length and the prefetch length is performed (step S10). The host request data 36 for the host request length is transferred to the host computer 10, and the prefetch length is stored in the cache memory 33. If there is a command to be executed other than the currently executed command in the command queue 34, the host computer 10
Command should take precedence over prefetching,
The prefetch process must be interrupted.

【0023】ここで先読み処理を停止する契機について
図6に基づいて説明する。コマンドキュー34にキュー
イングされているコマンドを実行するために、図6の上
側に示すようにすぐに先読み処理を停止しても、次のコ
マンドのデータを実際に読み込むまでに回転待ち時間が
多く発生することがある。
Here, the trigger for stopping the prefetching process will be described with reference to FIG. Even if the pre-reading process is immediately stopped to execute the command queued in the command queue 34 as shown in the upper part of FIG. 6, the rotation waiting time is long before the data of the next command is actually read. May occur.

【0024】そこで本実施の形態では、図6の下側に例
示されるように、予めホストコンピュータ10から要求
されたアドレスへのシーク時間と読み込みを行うまでの
回転待ち時間を考慮して、回転待ち時間が最小となるよ
うに先読み処理を停止する(ステップS11)。このこ
とにより、先読み処理を実行できる時間が延び、より効
率良くキャッシュメモリ33に先読みデータを読み込む
ことができる。この方法はキューイングされているコマ
ンドが多く、次の読み込みまでに回転待ちが少ないケー
スではあまり効果が得られないが、キューイングしてい
るコマンドが少なく最適な並び替えができないケース
や、タグ無しのコマンドを処理するケースでは有効であ
る。また、記録密度向上に伴いトラック当たりのセクタ
数が増加した場合にも有効である。上記の方法で先読み
処理を停止した後、先読み処理を再開する時のために、
先読み処理を再開するアドレスと先読み処理を行う残り
のレングスを、先読み中断情報テーブル35に登録し
(ステップS12)、コマンドキュー34からいま実行
したコマンドを削除する(ステップS13)。
Therefore, in the present embodiment, as exemplified in the lower part of FIG. 6, the rotation time is taken into consideration in advance by seeking the seek time to the address requested from the host computer 10 and the rotation waiting time before reading. The prefetching process is stopped so that the waiting time is minimized (step S11). As a result, the time during which the prefetch processing can be executed is extended, and the prefetch data can be read into the cache memory 33 more efficiently. This method is not very effective in cases where there are many queued commands and there is little rotation waiting before the next reading, but there are cases where the number of queued commands can not be optimally sorted and there is no tag This is effective in the case of processing the command. It is also effective when the number of sectors per track increases as the recording density increases. After stopping the prefetching process by the above method, in order to restart the prefetching process,
The address at which the prefetching process is restarted and the remaining length for performing the prefetching process are registered in the prefetch interruption information table 35 (step S12), and the command that has just been executed is deleted from the command queue 34 (step S13).

【0025】コマンドキュー34は空ではないが(ステ
ップS01)、読み込みコマンドや書き込みコマンドで
転送される全てのデータをディスクに書き込んだ時点で
ステータスを報告するという指定がされている書き込み
コマンドのような他のコマンドよりも優先的に処理しな
ければならないコマンドがコマンドキュー34に登録さ
れておらず、書き込みコマンドで転送される全てのデー
タをキャッシュメモリ33に読み込んだ時点でステータ
スを報告してよいという指定がされている書き込みコマ
ンドのみがコマンドキュー34に登録されている場合
(ステップS02)、先読み処理のなかでも優先順位の
高い先読み処理を含めて、効率の良い実行順序となるよ
うにコマンドを並び替える(ステップS04)。ここ
で、先読み処理のなかでも優先順位の高い先読み処理と
は、ホストコンピュータ10が指定した先読み処理や、
今後、ホストコンピュータ10が読み込みコマンドを発
行すると磁気ディスク装置20が判断したデータの先読
み処理を意味する。
Although the command queue 34 is not empty (step S01), it may be a write command such that a status is specified when all data transferred by a read command or a write command is written to the disk. A command that must be processed with priority over other commands is not registered in the command queue 34, and the status may be reported when all data transferred by the write command is read into the cache memory 33. If only the specified write command is registered in the command queue 34 (step S02), the commands are arranged in an efficient execution order, including the prefetching process having a higher priority among the prefetching processes. (Step S04). Here, among the pre-reading processes, the pre-reading process having a higher priority order includes the pre-reading process designated by the host computer 10 and the
In the future, when the host computer 10 issues a read command, it means a pre-read process of data determined by the magnetic disk device 20.

【0026】ホストコンピュータ10が先読みを指示す
るケースについて説明する。ホストコンピュータ10は
読み込みコマンドを発行する際、続きのデータが後に必
要となると判断した場合、読み込みコマンド70のCD
B(Command Discriptor Bloc
k)もしくはメッセージに設けた先読み要求フラグを有
効にして磁気ディスク装置20にコマンドを発行する。
A case in which the host computer 10 instructs prefetch will be described. When the host computer 10 issues a read command, if the host computer 10 determines that the subsequent data is needed later,
B (Command Descriptor Bloc)
k) Alternatively, a command is issued to the magnetic disk device 20 with the prefetch request flag provided in the message made valid.

【0027】磁気ディスク装置20が先読み処理が必要
だと判断するケースについて説明する。例えばコマンド
キュー34に登録されている複数の連続したエリアへの
読み込みコマンドを、実行順序を並び替えることによっ
て1つのコマンドとして処理を行うような場合は先読み
処理を必要と判断しなければならない。図5の例1に示
すように、アドレスLからアドレス(M−1)までの読
み込みコマンドAと、アドレスMからアドレス(N−
1)までの読み込みコマンドBがコマンドキュー34に
存在した場合、この2つのコマンドは処理時間短縮の
為、コマンドの実行順序を変更し、アドレスLからアド
レス(N−1)までの読み込みコマンドCとしてまとめ
て実行される。このように2つの連続したエリアへの読
み込みコマンドをまとめて1つのコマンドとして実行す
る際には、アドレスN以降の先読み処理が必要であるこ
とを認識し先読み処理を行わなければならない。図5の
例2のように2つの読み込みコマンドAとBが、連続し
ていなくても、読み込みコマンドAとBのアドレスの差
であるαセクタがある閾値以内のセクタ数であった場合
にも例1の場合と同様にアドレスN以降の先読み処理が
必要であることを認識し先読み処理を行う。
A case where the magnetic disk device 20 determines that the pre-read process is necessary will be described. For example, in the case where commands to be read into a plurality of continuous areas registered in the command queue 34 are processed as one command by rearranging the execution order, it is necessary to determine that the prefetch processing is necessary. As shown in Example 1 of FIG. 5, the read command A from the address L to the address (M-1) and the read command A from the address M to the address (N-
When the read commands B up to 1) are present in the command queue 34, the two commands are changed in order of command execution in order to shorten the processing time, and are read as the read commands C from address L to address (N-1). It is executed collectively. When the read commands for two consecutive areas are collectively executed as one command as described above, it is necessary to recognize that the prefetch process is necessary after the address N, and to perform the prefetch process. Even if the two read commands A and B are not continuous as in Example 2 in FIG. 5, even if the α sector which is the difference between the addresses of the read commands A and B is within a certain threshold number of sectors. As in the case of the first example, it recognizes that the prefetching process after the address N is necessary, and performs the prefetching process.

【0028】効率の良い実行順序となるように書き込み
コマンドの並び替えを行い回転待ちを削減してもなお残
る回転待ち時間に、前述の優先順位の高い先読み処理を
行う(ステップS05)。次の書き込み処理を行う為に
シーク時間と回転待ちを考慮して先読み処理を停止する
(ステップS06)。先読み処理を停止した後、先読み
処理を再開する時のために先読み処理を停止したアドレ
スと残先読みレングスを先読み中断情報テーブル35
に、先読みを開始するアドレス35b、先読みを行う残
レングス35c、として登録し(ステップS07)、キ
ャッシュメモリ33に読み込んでおいた書き込み用のデ
ータをディスクに書き込む(ステップS08)。
Even if the write commands are rearranged so as to have an efficient execution order and the rotation waiting time is reduced, the above-described high-priority prefetching process is performed during the remaining rotation waiting time (step S05). In order to perform the next writing process, the prefetching process is stopped in consideration of the seek time and the rotation wait (step S06). After the prefetching process is stopped, the address at which the prefetching process was stopped and the remaining prefetching length are stored in the prefetching suspension information table 35 in order to restart the prefetching process.
Then, it is registered as the address 35b for starting prefetching and the remaining length 35c for prefetching (step S07), and writes the write data read in the cache memory 33 to the disk (step S08).

【0029】また、ライトアンドベリファイコマンド
や、XORライトコマンド(磁気ディスク40上の特定
アドレスのデータを読み出し、ホストコンピュータ10
から与えられた当該アドレスへの書き込みデータと排他
的論理和をとった結果を元のアドレスに書き戻すコマン
ド)のような単一コマンドで複数の読み込みおよび書き
込み処理を伴うコマンドを実行する場合(ステップS1
4)の先読み処理について、ライトアンドベリファイコ
マンドを例に以下に説明する。最初の書き込み処理が終
了し(ステップS17)、次のベリファイ処理を行うま
での回転待ち時間に、先読み中断情報テーブル35に登
録されている先読み処理を再開する(ステップS1
8)。ベリファイ処理を実行するためにシーク時間と回
転待ち時間を考慮して先読み処理を停止しなければなら
ない(ステップS19)。先読み処理を停止した後、先
読みを再開する時のために先読み処理を停止したアドレ
スと残先読みレングスを先読み中断情報テーブル35に
登録し(ステップS20)、ベリファイ処理を行い(ス
テップS21)、先読み中断情報テーブル35に登録さ
れている先読み処理を再開する(ステップS22)。
Also, a write-and-verify command or an XOR write command (for reading data at a specific address on the magnetic disk 40,
(A command to write the result of performing an exclusive OR operation with the write data to the address given to the original address and returning the result to the original address) in a single command (eg, a command including a plurality of read and write processes). S1
The pre-read process 4) will be described below using a write-and-verify command as an example. The first write process is completed (step S17), and the prefetch process registered in the prefetch suspension information table 35 is restarted during the rotation waiting time until the next verify process is performed (step S1).
8). In order to execute the verify processing, the prefetch processing must be stopped in consideration of the seek time and the rotation waiting time (step S19). After the prefetching process is stopped, the address at which the prefetching process was stopped and the remaining prefetching length are registered in the prefetching suspension information table 35 for resuming the prefetching (step S20), a verifying process is performed (step S21), and the prefetching is suspended. The prefetching process registered in the information table 35 is restarted (step S22).

【0030】書き込みコマンドで転送される全てのデー
タをディスクに書き込んだ時点でステータスを報告する
という指定がされている書き込みコマンドを実行する場
合、ホスト要求レングス分の書き込み処理を行い(ステ
ップS15)、先読み中断情報テーブル35に登録され
ている先読み処理を再開する(ステップS16)。
When executing a write command in which the status is to be reported when all data transferred by the write command is written to the disk, write processing for the host request length is performed (step S15). The prefetch processing registered in the prefetch suspension information table 35 is restarted (step S16).

【0031】ホストコンピュータ10が新たなコマンド
を発行せず、コマンドキュー34に登録されているコマ
ンドを全て実行し、コマンドキュー34に実行すべきコ
マンドが存在しない場合、先読み中断情報テーブル35
に登録された先読み処理を再開する(ステップS2
3)。先読み処理を再開するアドレスから先読みを行う
残レングス分のデータを磁気ディスク40からキャッシ
ュメモリ33に読み込む。ホストコンピュータ10から
コマンドが発行された場合には、先読み処理よりもホス
トコンピュータ10からのコマンドを優先しなければな
らない。ホストコンピュータ10からコマンドが発行さ
れた場合(ステップS24)は前述のように次のコマン
ドを実行するためのシーク時間と回転待ち時間を考慮し
て先読み処理を停止する(ステップS25)。先読み処
理を停止する際には、先読み処理を再開するアドレスと
残りのレングスを先読み中断情報テーブル35に登録す
る(ステップS26)。
If the host computer 10 does not issue a new command, executes all the commands registered in the command queue 34, and there is no command to be executed in the command queue 34, the prefetch interruption information table 35
Restarts the pre-reading process registered in (step S2)
3). From the address at which the prefetching process is restarted, data of the remaining length for prefetching is read from the magnetic disk 40 to the cache memory 33. When a command is issued from the host computer 10, the command from the host computer 10 must be given priority over the prefetching process. When the command is issued from the host computer 10 (step S24), the prefetching process is stopped in consideration of the seek time and the rotation waiting time for executing the next command as described above (step S25). When the prefetching process is stopped, the address at which the prefetching process is restarted and the remaining length are registered in the prefetching interruption information table 35 (step S26).

【0032】先読み中断情報テーブル35に登録されて
いるレングス分だけ先読み処理を継続し(ステップS2
7、ステップS30)、先読み処理が終了すると(ステ
ップS27)、いま終了した先読み処理を先読み中断情
報テーブル35から削除する(ステップS28)。先読
み中断情報テーブル35に再開しなければならない先読
み処理が登録されている場合は(ステップS29)、次
の先読み処理を再開する。
The prefetch processing is continued for the length registered in the prefetch suspension information table 35 (step S2).
7, when the prefetching process is completed (step S27), the prefetching process that has just been completed is deleted from the prefetching interruption information table 35 (step S28). If the prefetch processing that must be restarted is registered in the prefetch suspension information table 35 (step S29), the next prefetch processing is restarted.

【0033】以上説明したように、本実施の形態の磁気
ディスク装置20では、ランダムアクセスのタグ付きコ
マンドを実行する際、効率の良い実行順序となるように
コマンドの実行順序を並び替えることによって削減して
も、なお残る回転待ち時間に、磁気ディスク40上のデ
ータをキャッシュメモリ33に転送する先読み処理を行
うことにより、先読み処理を行ったアドレスに対する読
み込みコマンドをホストコンピュータ10が発行した時
に、磁気ディスク40へのアクセスを行わず、キャッシ
ュメモリ33からデータを転送することにより、タグ付
きコマンドを実行する処理性能を向上させることができ
る。
As described above, in the magnetic disk device 20 according to the present embodiment, when executing a command with a random access tag, the command execution order is reduced by rearranging the command execution order so that the command execution order becomes efficient. However, by performing a pre-read process for transferring the data on the magnetic disk 40 to the cache memory 33 during the remaining rotation waiting time, when the host computer 10 issues a read command for the pre-read address, By transferring data from the cache memory 33 without accessing the disk 40, the processing performance of executing the tagged command can be improved.

【0034】すなわち、ランダムアクセスのタグ付きコ
マンドを実行する際、効率の良い実行順序となるように
コマンドの実行順序を並び替えることによって削減して
も、なお残る回転待ち時間を有効に利用してデータをキ
ャッシュメモリ33に先読みすることにより、ホストコ
ンピュータ10から読み出し要求されるデータがキャッ
シュメモリ33上に存在する確率(ヒット率)が向上
し、磁気ディスク40からホストコンピュータ10への
データ転送性能を向上させることができる。
That is, when a command with a random access tag is executed, even if the command execution order is reduced by rearranging the command execution order so that an efficient execution order is obtained, the remaining rotation waiting time is effectively used. By pre-reading the data into the cache memory 33, the probability that the data requested to be read from the host computer 10 exists in the cache memory 33 (hit rate) is improved, and the data transfer performance from the magnetic disk 40 to the host computer 10 is improved. Can be improved.

【0035】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
Although the invention made by the present inventor has been specifically described based on the embodiments, the invention is not limited to the above-described embodiments, and can be variously modified without departing from the gist thereof. Needless to say, there is.

【0036】たとえば、上述の実施の形態の説明では、
回転形記憶装置の一例として磁気ディスク装置に適用し
た場合を例に採って説明したが、一般の回転形記憶装置
の制御に広く適用することができる。
For example, in the description of the above embodiment,
Although a case where the present invention is applied to a magnetic disk device as an example of a rotary storage device has been described as an example, the present invention can be widely applied to control of a general rotary storage device.

【0037】[0037]

【発明の効果】本発明の回転形記憶装置の制御方法によ
れば、複数のコマンドの実行順序の並び替えによっても
なお残る回転待ち時間を利用して、先読み処理を行うこ
とにより、回転形記憶装置の処理性能を向上させること
ができる、という効果が得られる。
According to the control method of the rotary storage device of the present invention, the read-ahead processing is performed by utilizing the rotation waiting time which remains even after the execution order of the plurality of commands is rearranged. The effect that the processing performance of the apparatus can be improved can be obtained.

【0038】本発明の回転形記憶装置の制御方法によれ
ば、複数のコマンド実行処理間の回転待ち時間をキャッ
シュメモリへの先読み処理に有効に利用して、キャッシ
ュメモリを介したデータリード処理のスループットを向
上させることができる、という効果が得られる。
According to the control method of the rotary storage device of the present invention, the rotation waiting time between the plurality of command execution processes is effectively used for the prefetch process to the cache memory, and the data read process via the cache memory is performed. The effect that the throughput can be improved is obtained.

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

【図1】本発明の一実施の形態である回転形記憶装置の
制御方法を実施する磁気ディスク制御装置を含む磁気デ
ィスク装置の構成の一例を示す概念図である。
FIG. 1 is a conceptual diagram showing an example of a configuration of a magnetic disk device including a magnetic disk control device that executes a method of controlling a rotary storage device according to an embodiment of the present invention.

【図2】図3とともに、本発明の一実施の形態である回
転形記憶装置の制御方法の作用の一例を示すフローチャ
ートである。
FIG. 2 is a flowchart showing an example of an operation of a control method for a rotary storage device according to an embodiment of the present invention, together with FIG. 3;

【図3】図2とともに、本発明の一実施の形態である回
転形記憶装置の制御方法の作用の一例を示すフローチャ
ートである。
FIG. 3 is a flowchart showing an example of an operation of a control method for a rotary storage device according to an embodiment of the present invention, together with FIG. 2;

【図4】本発明の一実施の形態である回転形記憶装置の
制御方法にて用いられる制御情報の一例を示す概念図で
ある。
FIG. 4 is a conceptual diagram showing an example of control information used in a method for controlling a rotary storage device according to an embodiment of the present invention.

【図5】本発明の一実施の形態である回転形記憶装置の
制御方法の作用の一例を示す概念図である。
FIG. 5 is a conceptual diagram illustrating an example of an operation of a method of controlling a rotary storage device according to an embodiment of the present invention.

【図6】本発明の一実施の形態である回転形記憶装置の
制御方法の作用の一例を、参考技術と対照して示す概念
図である。
FIG. 6 is a conceptual diagram showing an example of an operation of a method of controlling a rotary storage device according to an embodiment of the present invention, in comparison with a reference technique;

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

10…ホストコンピュータ(上位装置)、20…磁気デ
ィスク装置(回転形記憶装置)、30…磁気ディスク制
御装置、31…制御プロセッサ、32…内部メモリ、3
3…キャッシュメモリ、34…コマンドキュー、35…
先読み中断情報テーブル、35a…要求番号、35b…
先読みを再開するアドレス、35c…先読みを行う残レ
ングス、36…ホスト要求データ、37…先読みしたデ
ータ、40…磁気ディスク(回転形記憶媒体)、50…
ホストインタフェース、60…ディスクインタフェー
ス、70…読み込みコマンドA、71…読み込みコマン
ドB。
DESCRIPTION OF SYMBOLS 10 ... Host computer (host device), 20 ... Magnetic disk device (rotary storage device), 30 ... Magnetic disk controller, 31 ... Control processor, 32 ... Internal memory, 3
3 ... cache memory, 34 ... command queue, 35 ...
Prefetch interruption information table, 35a... Request number, 35b.
Address at which prefetching is resumed, 35c: remaining length for prefetching, 36: host request data, 37: data read ahead, 40: magnetic disk (rotary storage medium), 50 ...
Host interface, 60: Disk interface, 70: Read command A, 71: Read command B

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山根 裕二 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 廣瀬 恒夫 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 平田 敬一郎 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 堀内 光治 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B065 BA01 CA03 CA15 CC08 CH05 5D044 AB02 BC01 CC04 DE03 DE12 EF03 HL01 5D066 AA02 AA03  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Yuji Yamane 2880 Kozu, Kodawara-shi, Kanagawa Pref.Hitachi, Ltd.Storage Systems Division, Hitachi, Ltd. (72) Inventor Tsuneo Hirose 2880 Kozu, Kozu, Hitachi, Ltd. Within the System Division (72) Inventor Keiichiro Hirata 6-81 Onoecho, Naka-ku, Yokohama-shi, Kanagawa Prefecture In-house Hitachi Software Engineering Co., Ltd. (72) Inventor Koji Horiuchi 6-81 Onoecho, Naka-ku, Yokohama-shi, Kanagawa Prefecture Hitachi Software Engineering Stock Association Internal F-term (Reference) 5B065 BA01 CA03 CA15 CC08 CH05 5D044 AB02 BC01 CC04 DE03 DE12 EF03 HL01 5D066 AA02 AA03

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 上位装置との間で授受されるデータが格
納される回転形記憶媒体と、前記回転形記憶媒体と前記
上位装置との間における前記データの転送経路に介在し
て前記データを一時的に保持するキャッシュメモリを含
み、コマンドキューにキューイングされている複数のコ
マンドのうち、実行順序の変更が可能な複数のコマンド
を、前記回転形記憶媒体における前記データの読み込み
あるいは書き込みを行うためのシーク時間と回転待ち時
間の和が最小となるような実行順序に並び替える機能を
有する回転形記憶装置の制御方法であって、 前記コマンドの並び替えによって削減してもなお残る回
転待ち時間を利用して、前記回転形記憶媒体から前記キ
ャッシュメモリに前記データの先読み処理を行うことを
特徴とする回転形記憶装置の制御方法。
A rotary storage medium for storing data exchanged with a host device; and a data transfer path between the rotary storage medium and the host device via a data transfer path. Reads or writes the data in the rotary storage medium from among a plurality of commands queued in a command queue, including a cache memory that is temporarily held, and a plurality of commands whose execution order can be changed among the plurality of commands queued in a command queue. A method of controlling a rotary storage device having a function of rearranging the execution order so that the sum of the seek time and the rotation waiting time for the rotation is minimized. A prefetching process of the data from the rotary storage medium to the cache memory using the storage device. Your way.
【請求項2】 請求項1記載の回転形記憶装置の制御方
法において、読み込みコマンドのように、他のコマンド
よりも優先的に処理を行わなければならないコマンドが
前記コマンドキューに登録されておらず、書き込みコマ
ンドで転送される全てのデータを前記キャッシュメモリ
に読み込んだ時点で書き込み完了ステータスを前記上位
装置に報告してよいという指定がされた書き込みコマン
ドのみ登録されている場合、前記コマンドの実行順序の
並び替えによって削減してもなお残る、書き込みを行う
までの回転待ち時間に、前記上位装置が指定した前記先
読み処理あるいは前記回転形記憶装置が必要だと判断し
た前記先読み処理を行うことを特徴とする回転形記憶装
置の制御方法。
2. A command for controlling a rotary storage device according to claim 1, wherein a command which must be processed with priority over other commands, such as a read command, is not registered in the command queue. When all the data transferred by the write command are read into the cache memory, only the write command that specifies that the write completion status may be reported to the higher-level device is registered. The pre-reading process specified by the higher-level device or the pre-reading process determined to be necessary by the rotary storage device is performed during the rotation waiting time before writing, which remains even after being reduced by the rearrangement. A method for controlling a rotary storage device.
【請求項3】 請求項1記載の回転形記憶装置の制御方
法において、単一コマンドで複数の読み込みおよび書き
込み処理を伴うコマンドを実行する際、最初の読み込み
あるいは書き込み処理が終了し、次の読み込みあるいは
書き込み処理を行うまでの回転待ち時間に前記先読み処
理を行うことを特徴とする回転形記憶装置の制御方法。
3. The method of controlling a rotary storage device according to claim 1, wherein when executing a command involving a plurality of read and write processes with a single command, the first read or write process is completed and the next read or write process is completed. Alternatively, the read-ahead process is performed during a rotation waiting time until a write process is performed.
JP11182711A 1999-06-29 1999-06-29 Control method for rotary type storage device Pending JP2001014111A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11182711A JP2001014111A (en) 1999-06-29 1999-06-29 Control method for rotary type storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11182711A JP2001014111A (en) 1999-06-29 1999-06-29 Control method for rotary type storage device

Publications (1)

Publication Number Publication Date
JP2001014111A true JP2001014111A (en) 2001-01-19

Family

ID=16123109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11182711A Pending JP2001014111A (en) 1999-06-29 1999-06-29 Control method for rotary type storage device

Country Status (1)

Country Link
JP (1) JP2001014111A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148554A (en) * 2005-11-24 2007-06-14 Nippon Telegr & Teleph Corp <Ntt> Network cache device and program
US7295396B2 (en) 2003-06-25 2007-11-13 Hitachi Global Storage Technologies Japan, Ltd. Magnetic disk drive
JP2009032323A (en) * 2007-07-26 2009-02-12 Toshiba Corp Disk storage device
JP2010128887A (en) * 2008-11-28 2010-06-10 Fujitsu Ltd Storage, storage system, and control method
US7986489B2 (en) 2009-05-15 2011-07-26 Kabushiki Kaisha Toshiba Disk controller, disk drive device, and disk control method
JP2012532397A (en) * 2009-07-02 2012-12-13 サンドフォース インク. Ordering multiple write commands associated with a storage device
US11029878B2 (en) 2016-06-23 2021-06-08 Fujitsu Limited Information processing system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295396B2 (en) 2003-06-25 2007-11-13 Hitachi Global Storage Technologies Japan, Ltd. Magnetic disk drive
JP2007148554A (en) * 2005-11-24 2007-06-14 Nippon Telegr & Teleph Corp <Ntt> Network cache device and program
JP4606998B2 (en) * 2005-11-24 2011-01-05 日本電信電話株式会社 Network cache device and program
JP2009032323A (en) * 2007-07-26 2009-02-12 Toshiba Corp Disk storage device
JP2010128887A (en) * 2008-11-28 2010-06-10 Fujitsu Ltd Storage, storage system, and control method
US7986489B2 (en) 2009-05-15 2011-07-26 Kabushiki Kaisha Toshiba Disk controller, disk drive device, and disk control method
JP2012532397A (en) * 2009-07-02 2012-12-13 サンドフォース インク. Ordering multiple write commands associated with a storage device
US11029878B2 (en) 2016-06-23 2021-06-08 Fujitsu Limited Information processing system

Similar Documents

Publication Publication Date Title
US7373460B2 (en) Media drive and command execution method thereof
US6381677B1 (en) Method and system for staging data into cache
JPH1063578A (en) Information recording and reproducing device
JP2005215729A (en) Data transmission control method and storage device
JP2001312373A (en) Write method for data and disk drive device
JP2007304691A (en) Disk device and read-ahead control method for rotary type memory device
JPH06236241A (en) Hard disk device using flash memory
US7000077B2 (en) Device/host coordinated prefetching storage system
JP4461089B2 (en) Storage control apparatus and storage control method
JP2001014111A (en) Control method for rotary type storage device
JPH10269027A (en) Disk device and buffer management control method in the same
US6957300B2 (en) Reducing delay of command completion due to overlap condition
US5875453A (en) Apparatus for and method of information processing
US7707356B2 (en) Method and apparatus for scheduling disk read requests
JP3847888B2 (en) High speed host transfer method of rearranged data due to defects in disk device
JP2002342038A (en) Disk device controlling execution order of commands
JPH1027069A (en) Storage device
JPH10171713A (en) Disk storage device and method for controlling cache applied to the same device
JPH11232037A (en) Magnetic disk device having disk cache write function
JP2704138B2 (en) Control method of magnetic disk cache
JPH11265262A (en) High speed write cache disk device
US20030200385A1 (en) Method and system for increasing disk drive performance
JPH10275110A (en) Disk drive device and its control method
JP2011129221A (en) Disk drive supporting interface by data sector different in size, and backup method for user data
JPH10106143A (en) Optical disk recording and reproducing device