JPH11317008A - Disk storage device and segment cache control method for the same - Google Patents

Disk storage device and segment cache control method for the same

Info

Publication number
JPH11317008A
JPH11317008A JP12074698A JP12074698A JPH11317008A JP H11317008 A JPH11317008 A JP H11317008A JP 12074698 A JP12074698 A JP 12074698A JP 12074698 A JP12074698 A JP 12074698A JP H11317008 A JPH11317008 A JP H11317008A
Authority
JP
Japan
Prior art keywords
segment
disk
data
write
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP12074698A
Other languages
Japanese (ja)
Other versions
JP3851723B2 (en
Inventor
Chikashi Igari
史 猪狩
Goji Miyata
剛司 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Priority to JP12074698A priority Critical patent/JP3851723B2/en
Publication of JPH11317008A publication Critical patent/JPH11317008A/en
Application granted granted Critical
Publication of JP3851723B2 publication Critical patent/JP3851723B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce the moving amount of a head and the number of disk accessing times for random accessing to all the areas of a disk. SOLUTION: When the write commands of discontinuous addresses having small block sizes are continuously issued, transfer data is stored temporarily in a segment cache buffer 240 capable of being divided into a plurality of segments, a segment management block 222 for classifying and managing those of bits of address information indicating disk writing sides set in positional relations on a disk medium for continuous disk writing as the same group is generated and registered for each segment in a segment management table 220 and, when writing conditions are established, en-block disk writing is performed in accordance with the segment management block 222 belonging to a proper group.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ホストとディスク
媒体間で転送されるデータを一時的に記憶するバッファ
メモリを備えたディスク記憶装置に係り、特に当該バッ
ファメモリのバッファ領域を複数のセグメントに分割
し、これをアドレスに応じて順位付け管理を行うことで
ディスク媒体への書き込みを効率よく行うのに好適なデ
ィスク記憶装置及び同装置におけるセグメントキャッシ
ュ制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk storage device having a buffer memory for temporarily storing data transferred between a host and a disk medium, and more particularly, to a buffer area of the buffer memory divided into a plurality of segments. The present invention relates to a disk storage device suitable for efficiently performing writing to a disk medium by dividing the data and performing ranking management according to addresses, and a segment cache control method in the device.

【0002】[0002]

【従来の技術】近年のディスク記憶装置は、ホスト(ホ
ストコンピュータ等のホストシステム)とディスク媒体
間で転送されるデータを一時的に記憶するバッファメモ
リを備えているのが一般的である。
2. Description of the Related Art A disk storage device of recent years generally includes a buffer memory for temporarily storing data transferred between a host (a host system such as a host computer) and a disk medium.

【0003】特開平8−328747号公報には、バッ
ファメモリを効率よく管理するための技術(以下、先行
技術と称する)が記載されている。上記公報に記載され
た先行技術では、例えば図7に示すように、バッファメ
モリ71(のキャッシュバッファ領域)には、バースト
転送用のセグメントBと、リードとライト兼用のセグメ
ントAとが確保され、それぞれがデータ転送時のタイミ
ングに応じてサイズや開始アドレスが変更されるように
なっている。
Japanese Patent Application Laid-Open No. 8-328747 discloses a technique for efficiently managing a buffer memory (hereinafter referred to as prior art). In the prior art described in the above publication, as shown in FIG. 7, for example, a segment B for burst transfer and a segment A for both reading and writing are secured in (a cache buffer area of) the buffer memory 71, In each case, the size and start address are changed according to the timing at the time of data transfer.

【0004】このようなバッファメモリ71を備えた上
記公報記載のディスク記憶装置では、ホスト72から例
えば16ブロックのディスク書き込みを指示するライト
コマンドを受け取ると、バッファメモリ71にそのデー
タが遅延なく連続して転送される。転送されたデータは
バッファメモリ71上のバースト転送用セグメントBに
格納される。ここでは、セグメントBのサイズは16ブ
ロック(16セクタサイズ)、セグメントAのサイズは
20ブロック(20セクタサイズ)、1セクタサイズは
512バイトであるとする。
In the disk storage device described in the above publication having such a buffer memory 71, when a write command instructing, for example, 16-block disk writing is received from the host 72, the data is continuously stored in the buffer memory 71 without delay. Transferred. The transferred data is stored in the burst transfer segment B on the buffer memory 71. Here, it is assumed that the size of the segment B is 16 blocks (16 sector size), the size of the segment A is 20 blocks (20 sector size), and the size of one sector is 512 bytes.

【0005】図7の例では、ホスト72から転送された
データはHP(ホストポインタ)が指すセグメントBの
開始アドレスa1、例えば10000H(末尾のHは1
6進表現であることを示す)から順次格納されていく。
転送データのサイズは16ブロックであるため、100
00HからセグメントBの終端である11FFFHまで
データが貯えられることになる、ここで、先のライトコ
マンドに続いて次のライトコマンドが発行されたものと
する。このとき、HPはセグメントBの開始アドレスa
を示しているが、これを次のアドレスであるセグメント
Aの開始アドレスa2、つまり12000Hを指すよう
に変更することで、次のライトコマンドに応じてホスト
から遅延なく送られてくるデータを空いているセグメン
トAに格納することができる。ホスト72はセグメント
Bにデータを転送しているつもりで、実際はセグメント
Aにデータを転送していることになる。
In the example of FIG. 7, the data transferred from the host 72 is the start address a1 of the segment B indicated by the HP (host pointer), for example, 10000H (the last H is 1).
(Indicating hexadecimal representation).
Since the size of the transfer data is 16 blocks, 100
Data is stored from 00H to 11FFFH, which is the end of segment B. Here, it is assumed that the next write command has been issued following the previous write command. At this time, the HP is the start address a of the segment B.
However, by changing this to indicate the start address a2 of the next address, that is, the start address a2 of the segment A, that is, 12000H, the data sent from the host without delay in response to the next write command is emptied. Segment A. The host 72 intends to transfer data to the segment B, and is actually transferring data to the segment A.

【0006】そして、またデータが16ブロック分転送
されると、ホスト72側からみたときセグメントBは満
杯になり、アドレスa2に到達したことになるため、今
度はHPにセットするアドレスをセグメントBの開始ア
ドレスa1にする。このようにHPにセグメントB→セ
グメントA→セグメントB→…の如く開始アドレスを交
互に切り替え設定しながらデータ転送を連続して行う。
When the data is transferred for 16 blocks, the segment B becomes full when viewed from the host 72 side, which means that the address a2 has been reached. Start address a1. As described above, data transfer is continuously performed while alternately setting the start address in the HP such as segment B → segment A → segment B →.

【0007】ホストからデータがセグメントA,Bに転
送されている間、まずセグメントBに格納されたデータ
は、DP(ディスクポインタ)が指すセグメントBの開
始アドレスa3から順に取り出されてディスク73に書
き込まれる。そしてセグメントBのデータが空になる
と、DPにセグメントAのアドレスa4がセットされ
て、今度はセグメントAに格納されているデータがディ
スク73に書き込まれる。以下、DPについてもHPと
同様にセグメントB→セグメントA→セグメントB→…
のように切り替え設定を繰り返していくことで、データ
転送を遅延させることなくディスク73に格納していく
ことができる。
While the data is transferred from the host to the segments A and B, the data stored in the segment B is sequentially taken out from the start address a3 of the segment B indicated by the DP (disk pointer) and written to the disk 73. It is. When the data of the segment B becomes empty, the address a4 of the segment A is set in the DP, and the data stored in the segment A is written to the disk 73 this time. Hereinafter, as for the DP, similarly to the HP, the segment B → the segment A → the segment B →.
By repeating the switching setting as described above, data can be stored in the disk 73 without delaying data transfer.

【0008】このように上記先行技術は、ホストからシ
ーケンシャルにライトコマンドが発行される場合、つま
りライトマルチプルコマンドのように複数の書き込みブ
ロックが連続して送られてくる場合に、データを遅延な
く連続的にディスクに書き込むことを目的としたシーケ
ンシャルライトに適した技術である。
As described above, according to the prior art, when a write command is issued sequentially from a host, that is, when a plurality of write blocks are continuously transmitted as in a write multiple command, data is continuously transmitted without delay. This is a technique suitable for sequential writing for the purpose of writing data to a disc.

【0009】[0009]

【発明が解決しようとする課題】上記先行技術は、ライ
トマルチプルコマンドのように複数の書き込みブロック
が連続して送られてくる場合、つまりシーケンシャルラ
イトの場合に、バッファメモリ上のバースト転送用セグ
メントとリード/ライト兼用セグメントを用いて、遅延
なく効率的にディスク媒体ヘのデータ書き込みを行うこ
とには確かに適している。
In the prior art described above, when a plurality of write blocks are continuously transmitted as in a write multiple command, that is, in the case of a sequential write, a burst transfer segment on a buffer memory is used. It is certainly suitable for efficiently writing data to a disk medium without delay using a read / write segment.

【0010】しかし、送られてくるデータが1ブロック
や2ブロック等の小サイズの場合で書き込み先アドレス
が連続していない場合、つまりランダムライトの場合に
は、ホストからライトコマンドが発行される度にディス
クヘの書き込みを行うため、ヘッドのシーク動作やディ
スクの回転待ち時間などのディスクアクセスヘのオーバ
ーヘッドが大量に発生する。これは、不連続なアドレス
ヘのアクセスを要求するランダムライトコマンドが頻繁
に発生したときに起きる問題である。
However, in the case where the transmitted data is a small size such as one block or two blocks and the write destination address is not continuous, that is, in the case of random write, every time a write command is issued from the host. Since writing to the disk is performed, a large amount of overhead for disk access such as head seek operation and disk rotation waiting time is generated. This is a problem that occurs when a random write command requesting access to discontinuous addresses frequently occurs.

【0011】本発明は上記事情を考慮してなされたもの
でその目的は、ホストから転送されたデータが小ブロッ
クサイズの場合は、分割したセグメントに保持してい
き、物理的にある程度連続したセクタヘのアクセスが可
能な状態のときにディスクアクセスを行うことにより、
ヘッドの移動量とディスクアクセス回数を軽減してオー
バーヘッドを小さくし、ランダムライトの速度向上が図
れるディスク記憶装置及び同装置におけるセグメントキ
ャッシュ制御方法を提供することにある。
The present invention has been made in consideration of the above circumstances, and has as its object that when data transferred from a host has a small block size, the data is held in divided segments and stored in physically continuous sectors to some extent. By performing disk access when the device is accessible,
It is an object of the present invention to provide a disk storage device capable of reducing the overhead by reducing the moving amount of the head and the number of disk accesses, and improving the speed of random write, and a segment cache control method in the device.

【0012】[0012]

【課題を解決するための手段】本発明は、ヘッドによる
記録再生が行われるディスク媒体とホストとの間で転送
されるデータを一時的に記憶するバッファメモリを備え
たディスク記憶装置において、上記バッファメモリ内に
確保される、複数のセグメントに分割可能なセグメント
キャッシュバッファと、このセグメントキャッシュバッ
ファ内の各セグメント毎に生成されるセグメント管理ブ
ロックであって、当該セグメントに記憶されているデー
タのディスク媒体上の書き込み先を示すアドレス情報が
設定されるアドレスフィールド、当該セグメントのサイ
ズを示すセグメント長が設定されるセグメント長フィー
ルド、並びにヘッドの移動動作が所定の時間内に行える
位置関係にあるアドレス情報同士を同一グループとして
分類する情報が設定される近傍アドレス別分類フィール
ドを持つセグメント管理ブロックを備え、上記セグメン
トキャッシュバッファを管理するためのセグメント管理
テーブル記憶手段と、ホストからディスク書き込みを指
定するライトコマンドが発行されると共にディスク書き
込みの対象となるデータが転送され、そのデータサイズ
が所定サイズ以下である場合に、当該データを上記セグ
メントキャッシュバッファ内に割り当てた同サイズのセ
グメントに記憶させると共に、当該セグメントを管理す
るためのセグメント管理ブロックを上記セグメント管理
テーブル内に生成するセグメントキャッシュ制御手段
と、上記セグメント管理テーブル内に生成された、近傍
アドレス別分類フィールドで同一グループに分類された
セグメント管理ブロックのうち、予め定められた書き込
み条件を満たしたグループのセグメント管理ブロックに
基づいて、グループ単位でディスク書き込みを行うディ
スク書き込み制御手段とを備えたことを特徴とする。
SUMMARY OF THE INVENTION The present invention relates to a disk storage device having a buffer memory for temporarily storing data transferred between a disk medium on which recording and reproduction are performed by a head and a host. A segment cache buffer secured in a memory, which can be divided into a plurality of segments, and a segment management block generated for each segment in the segment cache buffer, and a disk medium for data stored in the segment An address field in which address information indicating the above write destination is set, a segment length field in which a segment length indicating the size of the segment is set, and address information in a positional relationship in which the head can be moved within a predetermined time. Information to classify A segment management block having a classification field for each adjacent address to be managed, a segment management table storage means for managing the segment cache buffer, and a host issuing a write command designating disk writing and a disk writing target. If the data size is less than or equal to a predetermined size, the data is stored in a segment of the same size allocated in the segment cache buffer, and a segment management block for managing the segment is stored in the segment cache buffer. The segment cache control means generated in the segment management table, and the segment management blocks generated in the segment management table and classified into the same group by the neighborhood address classification field, Based on the segment management block of the group meets the eye was writing condition, characterized by comprising a disk write control means for performing a disk write in groups.

【0013】即ち本発明においては、小ブロックサイズ
の不連続なアドレスのライトコマンドが連続して発行さ
れた場合、つまりランダムライトのときは、転送データ
を複数のセグメントに分割可能なセグメントキャッシュ
バッファに一時的に格納しておくと共に、ディスク書き
込み先を示すアドレス情報が、連続してディスク書き込
みが行えるようなディスク媒体上の位置関係にあるもの
同士を同一グループとして分類して管理するためのセグ
メント管理ブロックを各セグメント毎にセグメント管理
テーブル内に生成登録しておき、書き込み条件が成立し
た場合に、該当するグループに属するセグメント管理ブ
ロックに従って、まとめてディスク書き込みが行われる
構成を適用している。
That is, in the present invention, when write commands of discontinuous addresses of small block size are successively issued, that is, at the time of random write, the transfer data is stored in the segment cache buffer which can be divided into a plurality of segments. Segment management for temporarily storing the address information indicating the disk writing destination and classifying and managing those having a positional relationship on the disk medium such that continuous disk writing can be performed as the same group. Blocks are generated and registered in the segment management table for each segment, and when writing conditions are satisfied, disk writing is performed collectively according to the segment management blocks belonging to the corresponding group.

【0014】このように本発明によれば、小ブロックサ
イズの不連続なアドレスのライトコマンドが連続して発
行された場合に、セグメント管理テーブルを使用してデ
ータの書き込みタイミングを調整し、連続してデータを
書き込める状態となったときにグループ単位でディスク
書き込みが行われることから、ディスクアクセス回数を
減らしてオーバーヘッドを低減することが可能となる。
As described above, according to the present invention, when a write command of a discontinuous address having a small block size is continuously issued, the data write timing is adjusted using the segment management table, and the continuous write command is issued. Since the disk writing is performed in units of a group when data can be written in the group, the number of disk accesses can be reduced and overhead can be reduced.

【0015】また本発明においては、アドレス順にグル
ープ分けするのではなく、ヘッドの移動動作が所定の時
間内に行えるような物理的な位置関係、つまりディスク
アクセス(ヘッド移動動作)が最適に行える位置関係に
あるアドレス同士を同一グループとして分類し、グルー
プ単位でディスク書き込みを行う構成としていることか
ら、シークやスキューによるオーバーヘッドを減らすこ
とができる。
In the present invention, a physical positional relationship such that a head moving operation can be performed within a predetermined time, that is, a position where a disk access (head moving operation) can be optimally performed, instead of grouping in order of addresses. Since the related addresses are classified into the same group and the disk writing is performed in a group unit, overhead due to seek and skew can be reduced.

【0016】ここで同一グループとして分類するための
ヘッド移動動作が所定時間内で行える条件として、書き
込み先アドレスが同一トラック上、或いは(同一サブゾ
ーン内の)隣接トラック上、或いはサブゾーンをまたい
で隣接トラック上にあるといった物理的な位置関係を適
用するとよい。この他、グループ分けに、ディスクの回
転待ち時間が所定時間内に抑えられる物理的な位置関係
を適用することも可能である。このようなグループ分け
により、ヘッド渡りやシリンダ渡り等のオーバーヘッド
を軽減できる。
Here, the condition that the head moving operation for classifying as the same group can be performed within a predetermined time is that the write destination address is on the same track, on an adjacent track (within the same subzone), or on an adjacent track across the subzone. It is advisable to apply a physical positional relationship such as above. In addition, it is also possible to apply a physical positional relationship in which the disk rotation waiting time is kept within a predetermined time for grouping. By such grouping, overhead such as head transfer and cylinder transfer can be reduced.

【0017】なお、同一グループとして分類する条件と
して、ヘッドの移動動作が所定の時間内に行えるような
物理的な位置関係を用いていることから、連続するアド
レスであっても、この条件に合致しないものは同一グル
ープとしての分類の対象外とすることで、グループ単位
でまとめてディスク書き込みを行う際に、オーバーヘッ
ドか発生するのを防ぐことが可能となる。
Since a physical positional relationship such that a head movement operation can be performed within a predetermined time is used as a condition for classifying the same group, even continuous addresses satisfy this condition. By excluding those that do not belong to the same group, it is possible to prevent overhead from occurring when performing disk writing collectively for each group.

【0018】また、上記の書き込み条件の成立を、近傍
アドレス別分類フィールドで同一グループに分類された
セグメント管理ブロックの数が所定数を越えたことをも
って判定することにより、グループ単位でまとめて行う
ディスク書き込みを効率的に行うことが可能となる。
A disk which collectively performs the above-mentioned write conditions in a group unit by judging that the number of the segment management blocks classified into the same group in the classification field for each adjacent address exceeds a predetermined number. Writing can be performed efficiently.

【0019】この他に、上記の書き込み条件の成立を、
セグメントキャッシュバッファにおけるセグメント分割
数が所定数に達したことをもって判定することにより、
セグメント分割数が大きくなって、セグメント管理テー
ブルやキャッシュセグメントバッファのオーバーフロー
が発生するのを防ぐことができる。
In addition, the satisfaction of the above-mentioned writing condition is
By determining that the number of segment divisions in the segment cache buffer has reached a predetermined number,
It is possible to prevent an increase in the number of segment divisions and an overflow of the segment management table and the cache segment buffer.

【0020】この他に、近傍アドレス別分類フィールド
で分類されるグループを単位に、そのグループ内で最も
最近に生成されたセグメント管理ブロックの生成時から
の経過時間を調べ、所定時間を越えたたことをもって、
該当するグループの書き込み条件が成立したと判定する
ことにより、グループ分けによっては全くアクセスされ
ない領域が発生するのを、LRU法(Least Recently U
sed Rule)的な手法の適用で防ぐことが可能となる。
In addition, the time elapsed since the generation of the most recently generated segment management block in the group is examined for each group classified in the classification field for each neighboring address, and the time exceeds a predetermined time. With that,
By determining that the write condition of the corresponding group is satisfied, the occurrence of an area that is not accessed at all depending on the grouping is determined by the LRU method (Least Recently
It can be prevented by applying a sed rule) method.

【0021】この他に、現在のヘッド位置からヘッド移
動動作が所定の時間内に行える位置関係にあるアドレス
情報を持つセグメント管理ブロックを含むグループが存
在するのを検出した場合に、当該グループについて書き
込み条件が成立したと判定することにより、ヘッドのシ
ーク動作を最小に抑えることが可能となる。なお、小ブ
ロックサイズでない連続アドレスのライトコマンドに対
しては、従来から知られているシーケンシャルライトを
適用するとよい。
In addition, when it is detected that there is a group including a segment management block having address information having a positional relationship with which the head moving operation can be performed within a predetermined time from the current head position, writing is performed for the group. By determining that the condition is satisfied, it is possible to minimize the seek operation of the head. Note that a conventionally known sequential write may be applied to a write command of a continuous address that is not a small block size.

【0022】[0022]

【発明の実施の形態】以下、本発明の実施の形態につ
き、磁気ディスク装置に適用した場合を例に図面を参照
して説明する。図1は本発明の一実施形態に係る磁気デ
ィスク装置の全体構成を示すブロック図である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to the drawings, taking an example in which the present invention is applied to a magnetic disk drive. FIG. 1 is a block diagram showing the overall configuration of a magnetic disk drive according to one embodiment of the present invention.

【0023】図1の構成では、2枚のディスク(磁気記
録媒体)11-0,11-1が積層配置された磁気ディスク
装置を想定している。ディスク11-i(i=0,1)の
両面(両記録面)には、同心円状の多数のトラックが形
成される。ディスク11-iでは、トラック(シリンダ)
の物理的な周の長さが長くなるディスク上の外周側の領
域を有効に使用して当該ディスク11-iのフォーマット
効率を上げるために、図2に示すように当該ディスク1
1-iの記録面を半径方向に(複数のトラックからなる)
複数のゾーンZに分割し、各ゾーンZ毎に、シリンダ
(トラック)当たりのデータセクタ数が異なる(外周側
のゾーンほど多くなる)構成、即ちデータ転送速度(転
送レート)が異なる(外周側のゾーンのシリンダほど速
くなる)CDR(Constant Density Recording)方式の
フォーマットを適用している。ゾーンZ内では、データ
は一定の記録密度でディスク11-iの回転方向に沿って
記録される。
The configuration shown in FIG. 1 assumes a magnetic disk device in which two disks (magnetic recording media) 11-0 and 11-1 are stacked. A large number of concentric tracks are formed on both surfaces (both recording surfaces) of the disk 11-i (i = 0, 1). In the disk 11-i, the track (cylinder)
In order to increase the format efficiency of the disk 11-i by effectively using the area on the outer peripheral side of the disk where the physical circumference of the disk 11 becomes longer, as shown in FIG.
1-i recording surface in radial direction (consisting of multiple tracks)
A configuration in which the data is divided into a plurality of zones Z and the number of data sectors per cylinder (track) is different for each zone Z (the number of data sectors per outer zone becomes larger), that is, the data transfer speed (transfer rate) is different (the outer transfer zone) A CDR (Constant Density Recording) format is applied. In the zone Z, data is recorded at a constant recording density along the rotation direction of the disk 11-i.

【0024】ディスク11-iの各トラックには、ヘッド
のシーク・位置決め等に用いられるサーボ情報が記録さ
れたサーボ領域SVが等間隔で配置されている。このサ
ーボ領域SV間はユーザ領域となっており、当該ユーザ
領域には複数(一般には2〜5個)の記録単位としての
セクタ(データセクタ)が配置されている。各サーボ領
域SVは、ディスク11-i上では中心から各トラックを
渡って放射状に等間隔で配置されている。
In each track of the disk 11-i, servo areas SV in which servo information used for head seek / positioning and the like are recorded are arranged at equal intervals. A user area is provided between the servo areas SV, and a plurality of (generally 2 to 5) sectors (data sectors) as recording units are arranged in the user area. The servo areas SV are radially arranged on the disk 11-i radially across the tracks from the center.

【0025】ゾーンZは、更に複数のサブゾーンSZに
分割される。ここでは、ゾーンZは3つのサブゾーンS
Zに分割される。各サブゾーンSZは例えば図3に示す
ように3つのトラックを有している。トラック上のデー
タセクタにはディスク11-iの回転方向に当該トラック
に沿って情報が書き込まれる。
The zone Z is further divided into a plurality of sub-zones SZ. Here, zone Z has three sub-zones S
Z. Each sub-zone SZ has, for example, three tracks as shown in FIG. Information is written in the data sector on the track along the track in the rotation direction of the disk 11-i.

【0026】同一サブゾーンSZでは、論理アドレスは
連続している。図3に示すディスク11-0,11-1の外
周側のサブゾーンSZを例にとると、論理アドレスは、
ディスク11-0のヘッド0の外周側からのトラックa,
b,c、同じディスク11-0のヘッド1の内周側からの
トラックd,e,fディスク11-1のヘッド0の外周側
からのトラックg,h,i、そしてディスク11-1のヘ
ッド1の内周側からのトラックj,k,lの順(アルフ
ァベット順)となっている。物理的にはトラックcに
(内周方向に)隣接するトラックであって、当該トラッ
クcと同じディスク11-0の記録面(ヘッド0)に配置
されている別のサブゾーンSZ上のトラックmは、論理
アドレス的には、トラックcに連続しておらず、ディス
ク11-1のヘッド3上のトラックlに連続している。
In the same sub-zone SZ, logical addresses are continuous. Taking the sub-zone SZ on the outer peripheral side of the disks 11-0 and 11-1 shown in FIG. 3 as an example, the logical address is
Tracks a, from the outer circumference of the head 0 of the disk 11-0,
b, c, tracks d, e, f from the inner circumference of the head 1 of the same disk 11-0, tracks g, h, i from the outer circumference of the head 0 of the disk 11-1, and the head of the disk 11-1 Tracks j, k, and l from the inner peripheral side of the track 1 (in alphabetical order). A track m which is physically adjacent to the track c (in the inner circumferential direction) and which is located on the same recording surface (head 0) of the disk 11-0 as the track c on another subzone SZ is The logical address is not continuous with the track c but is continuous with the track 1 on the head 3 of the disk 11-1.

【0027】このようなゾーンZの細分化(つまりサブ
ゾーンSZ)と論理アドレスの割り付けの技術は、ディ
スク(ここではディスク11-0,11-1)上の限られた
アドレス範囲(同一サブゾーンSZ)内でのランダムア
クセスにおけるヘッド移動動作等を最適化するために提
案されている従来技術である。
The technique of subdividing the zone Z (that is, the sub-zone SZ) and assigning the logical address is based on a limited address range (the same sub-zone SZ) on the disk (the disks 11-0 and 11-1 in this case). This is a conventional technique that has been proposed for optimizing a head moving operation or the like in random access within a device.

【0028】この従来技術においては、例えば図3のデ
ィスク11-0,11-1で全面シーケンシャルライトをす
る場合には、まず最外周のサブゾーンSZを対象とし
て、ヘッド0のトラックa上のデータセクタにデータが
書き込まれる。次に隣接トラックつまりトラックb上の
データセクタにデータが書き込まれる。以下、同じサブ
ゾーンSZを対象として、c,d,e,f,g,h,
i,j,k,lのように、アルファベット順にデータが
書き込まれる。そして、トラックl上のデータセクタへ
のデータ書き込みが完了すると、内周側に隣接する別の
サブゾーンSZを対象に、m,n,o,p…のようにア
ルファベット順にデータが書き込まれる。つまり、1つ
のディスク11-iのサブゾーンSZに配置されたトラッ
ク上のデータセクタに対してデータの書き込みを終える
と、同じディスク11-iの記録面上で半径方向(内周方
向)に隣接する別のサブゾーンSZにヘッドを移動させ
ず、ヘッド方向(ディスク面に対して垂直方向)に移動
して次のヘッドに移り、その位置から外周方向に向かっ
て同じサブゾーンSZに配置されたトラック上のデータ
セクタに対してデータの書き込みが行われる。
In this prior art, for example, when performing full sequential write on the disks 11-0 and 11-1 of FIG. 3, first, the data sector on the track a of the head 0 is targeted for the outermost sub-zone SZ. Data is written to Next, data is written to an adjacent track, that is, a data sector on track b. Hereinafter, for the same sub-zone SZ, c, d, e, f, g, h,
Data is written in alphabetical order, such as i, j, k, l. When the data writing to the data sector on the track 1 is completed, the data is written in the alphabetical order m, n, o, p... For another subzone SZ adjacent on the inner circumference side. That is, when writing of data to the data sector on the track arranged in the sub-zone SZ of one disk 11-i is completed, the data sector is adjacent in the radial direction (inner circumferential direction) on the recording surface of the same disk 11-i. Without moving the head to another sub-zone SZ, it moves in the head direction (perpendicular to the disk surface) and moves to the next head, and from that position on the track arranged in the same sub-zone SZ toward the outer periphery. Data is written to the data sector.

【0029】同様のディスク書き込み動作は、ホストか
ら連続してライトコマンドが発行され、且つそのアドレ
ス(ライト先のディスクアドレス)が連続している場合
にも行われる。即ち、ホストからライトコマンドが発行
されると、対応するデータはバッファメモリ24に一時
的に記憶される。その後複数のライトコマンドが連続し
て発行され、且つそのアドレスがa,b,c,d,e…
のように連続している(シーケンシャルな)場合には、
各コマンド毎にホストから転送されるデータがバッファ
メモリ24に溜まった後に、ディスク書き込みが連続し
て行われる。このように、ホストから連続してライトコ
マンドが発行され、且つそのアドレスが連続している場
合には、バッファメモリ24にデータが溜まった後にデ
ィスク書き込みが連続して行われるため、ディスクアク
セスによって発生するオーバーヘッドは問題とはならな
い。
The same disk write operation is performed when a write command is continuously issued from the host and the addresses (write destination disk addresses) are continuous. That is, when a write command is issued from the host, the corresponding data is temporarily stored in the buffer memory 24. Thereafter, a plurality of write commands are successively issued, and their addresses are a, b, c, d, e,.
Is continuous (sequential), such as
After data transferred from the host for each command accumulates in the buffer memory 24, disk writing is performed continuously. As described above, when the write command is issued continuously from the host and the addresses are continuous, the disk writing is continuously performed after the data is accumulated in the buffer memory 24, so that the disk access occurs. The overhead involved is not a problem.

【0030】ところが、ホストから連続してライトコマ
ンドが発行されても、そのアドレス(ライト先のディス
クアドレス)が連続していない場合には、(アドレスが
連続している場合と異なって)バッファメモリ24にデ
ータを溜めておかずに、その都度、つまりホストからラ
イトコマンドが発行される度にディスク書き込みが行わ
れるために、オーバーヘッドが発生する。以下、このデ
ィスクアクセス時のオーバーヘッドについて説明する。
However, even if the host continuously issues a write command, if the address (the write destination disk address) is not continuous, the buffer memory (unlike the case where the addresses are continuous) is stored in the buffer memory. Since data is written in the disk 24 each time a write command is issued without storing data in the disk 24, that is, each time a write command is issued, overhead occurs. Hereinafter, the overhead at the time of accessing the disk will be described.

【0031】ディスク11-iにアクセスする場合、同一
トラック上の離れたデータセクタにアクセスするには、
ディスク11-iの回転待ちが発生する。また離れたトラ
ックにアクセスするにはトラックシークやトラックスキ
ュー(位置ずれ)が発生し、ヘッド切り替えを行った場
合でもヘッドスキューが発生する。このようにシーケン
シャルでないアドレスにアクセスする場合、つまりラン
ダムなアドレスにアクセスする場合は、上記したシーク
やスキューによる膨大なオーバーヘッドが生じる。
When accessing the disk 11-i, in order to access distant data sectors on the same track,
Waiting for rotation of the disk 11-i occurs. In addition, track seek and track skew (position shift) occur when accessing a distant track, and even when head switching is performed, head skew occurs. When accessing a non-sequential address, that is, when accessing a random address, an enormous overhead due to the seek and skew described above occurs.

【0032】サブゾーンSZを適用した従来技術は、こ
のようなランダムアクセス時のパフォーマンスを改善す
るためのもので、シーク時間の短縮を図るため、先に述
べたようにサブゾーンSZの範囲内でアクセス方向をヘ
ッド方向(ヘッド0→ヘッド1→ヘッド2→ヘッド3)
とすることで、シリンダ方向(外周から内周への半径方
向)の平均シーク距離を短くしている。しかし、この従
来技術でも、アドレスが例えばm,k,c,qの場合の
ように、サブゾーンSZ間のヘッド移動とヘッド切り替
えとを同時に必要とする場合(m→k,c→q)には、
ヘッド12及びトラックのシーク動作やスキューが頻繁
に発生して、ヘッドの移動量とディスクの回転待ち時間
が増加し、オーバーヘッドが大きくなる。
The prior art to which the sub-zone SZ is applied is intended to improve the performance at the time of such random access. In order to shorten the seek time, the access direction within the sub-zone SZ is reduced as described above. In the head direction (head 0 → head 1 → head 2 → head 3)
As a result, the average seek distance in the cylinder direction (radial direction from the outer circumference to the inner circumference) is reduced. However, even in this prior art, when the head movement between the sub-zones SZ and the head switching are required at the same time (m → k, c → q), for example, when the addresses are m, k, c, q. ,
Frequent seek operation and skew of the head 12 and the track occur, so that the head movement amount and the disk rotation waiting time increase, and the overhead increases.

【0033】このように、サブゾーンSZを適用した従
来技術は、限られたアドレス範囲(同一サブゾーン)内
でのランダムアクセスにおけるヘッド移動動作等に関す
る論理アドレスによる最適化技術であり、当該アドレス
範囲から外れているランダムアクセス、つまりディスク
媒体全体のランダムアクセスに対しては何ら考慮されて
おらず、オーバーヘッドを少なくすることはできなかっ
た。また、同一サブゾーンSVであっても、ランダムな
アクセス、例えばトラックa上のデータセクタ、次にト
ラックd上のデータセクタ、次にまたトラックa上のデ
ータセクタ、というようなディスク書き込みを指定する
ライトコマンドが連続して発生すると、ライトコマンド
が発生する度にディスク書き込みが行われることから、
オーバーヘッドは少なくない。また、ヘッド移動量やデ
ィスクの回転待ち時間も必ずしも少なくない。
As described above, the prior art to which the sub-zone SZ is applied is an optimization technique using a logical address for a head moving operation or the like in random access within a limited address range (the same sub-zone). No consideration is given to the random access that is performed, that is, random access to the entire disk medium, and the overhead cannot be reduced. Even in the same sub-zone SV, a random access, for example, a data sector on the track a, a data sector on the track d, a data sector on the track a, and then a write to specify a disk write on the disk a If commands are issued continuously, the disk is written each time a write command is issued.
There is not much overhead. Also, the head movement amount and the disk rotation waiting time are not necessarily short.

【0034】そこで本実施形態では、後述するように、
セグメントキャッシュバッファ240へのライトコマン
ド単位の一時的なデータ保持動作と、セグメント管理テ
ーブル220を利用して物理的にある程度連続したセク
タヘのアクセスが可能な状態のときに行われるディスク
書き込み動作により、バッファメモリ24ディスク11
-0,11-1の全領域のランダムアクセスに対し、ヘッド
の移動量及びディスクアクセスの回数の低減を可能とす
る物理アドレスによる最適化を図るようにしている。
Therefore, in this embodiment, as described later,
A temporary data holding operation in units of a write command to the segment cache buffer 240 and a disk writing operation performed when access to a physically continuous sector is possible to some extent using the segment management table 220 is performed. Memory 24 Disk 11
For random access of the entire area of -0, 11-1, optimization is performed by using physical addresses that can reduce the amount of head movement and the number of disk accesses.

【0035】再び図1を参照すると、各ディスク11-i
の各記録面側には、それぞれヘッド(磁気ヘッド)12
が当該ディスク11-iの記録面に対向して設けられてい
る。各ヘッド12はロータリ型アクチュエータとしての
キャリッジ(ヘッド移動機構)13に取り付けられてお
り、当該キャリッジ13の回動に従ってディスク11-i
の半径方向に移動する。これにより、ヘッド12は、目
標トラック上にシーク・位置決めされるようになってい
る。ディスク11-iはスピンドルモータ(SPM)14
により高速に回転する。キャリッジ13は、ボイスコイ
ルモータ(VCM)15により駆動される。
Referring again to FIG. 1, each disk 11-i
Each of the recording surfaces has a head (magnetic head) 12
Are provided facing the recording surface of the disk 11-i. Each head 12 is attached to a carriage (head moving mechanism) 13 as a rotary type actuator, and the disk 11-i is rotated according to the rotation of the carriage 13.
Move in the radial direction. Thus, the head 12 is sought and positioned on the target track. The disk 11-i is a spindle motor (SPM) 14
It rotates faster. The carriage 13 is driven by a voice coil motor (VCM) 15.

【0036】スピンドルモータ14及びボイスコイルモ
ータ15は、モータドライバ回路(モータドライバI
C)16に接続されている。モータドライバ回路16
は、スピンドルモータ14に制御電流を流して当該モー
タ14を駆動する他、ボイスコイルモータ15に制御電
流を流して当該モータ15を駆動する。この制御電流の
値(制御量)は、CPU20の計算処理で決定される。
The spindle motor 14 and the voice coil motor 15 are provided with a motor driver circuit (motor driver I).
C) 16. Motor driver circuit 16
Drives the motor 14 by supplying a control current to the spindle motor 14 and drives the motor 15 by supplying a control current to the voice coil motor 15. The value of the control current (control amount) is determined by the calculation process of the CPU 20.

【0037】ヘッド12は、目標トラック上にシーク・
位置決めされた後、ディスク11-iの回転動作により、
そのトラック上を走査する。またヘッド12は、走査に
よりそのトラック上に等間隔を保って配置されたサーボ
領域SVのサーボ情報を順に読み込む。またヘッド12
は、走査により目標データセクタに対するデータの読み
書きを行う。
The head 12 seeks on the target track.
After the positioning, the rotation of the disk 11-i causes
Scan on that track. The head 12 sequentially reads the servo information of the servo areas SV arranged at equal intervals on the track by scanning. Also the head 12
Reads and writes data from and to a target data sector by scanning.

【0038】各ヘッド12はフレキシブルプリント配線
板(FPC)に実装されたヘッドアンプ回路(ヘッドI
C)17と接続されている。ヘッドアンプ回路17は、
(CPU20からの制御に従う)ヘッド12の切り替
え、ヘッド12との間のリード/ライト信号の入出力等
を司る。ヘッドアンプ回路17は、ヘッド12で読み取
られたアナログ出力(ヘッド12のリード信号)を増幅
すると共に、R/W(リード/ライト)回路(リード/
ライトIC)18から送られるライトデータに所定の信
号処理を施してこれをヘッド12に送る。
Each head 12 has a head amplifier circuit (head I) mounted on a flexible printed circuit board (FPC).
C) 17 is connected. The head amplifier circuit 17
It controls switching of the head 12 (according to control from the CPU 20), input / output of read / write signals to / from the head 12, and the like. The head amplifier circuit 17 amplifies an analog output (read signal of the head 12) read by the head 12, and a R / W (read / write) circuit (read / write).
The write data sent from the write IC (18) is subjected to predetermined signal processing and sent to the head (12).

【0039】R/W回路18は、ヘッド12によりディ
スク11-iから読み出されてヘッドアンプ回路17で増
幅されたアナログ出力(ヘッド12のリード信号)を一
定の電圧に増幅するAGC(自動利得制御)機能と、こ
のAGC機能により増幅されたリード信号から例えばN
RZコードのデータに再生するのに必要な信号処理を行
うデコード機能(リードチャネル)と、ディスク11へ
のデータ記録に必要な信号処理を行うエンコード機能
(ライトチャネル)と、上記リード信号からのサーボ情
報抽出を可能とするために当該リード信号をパルス化し
てパルス化リードデータとして出力するパルス化機能と
を有している。
The R / W circuit 18 is an AGC (automatic gain) for amplifying an analog output (read signal of the head 12) read from the disk 11-i by the head 12 and amplified by the head amplifier circuit 17 to a constant voltage. Control) function and a read signal amplified by the AGC function
A decoding function (read channel) for performing signal processing required for reproducing RZ code data, an encoding function (write channel) for performing signal processing required for recording data on the disk 11, and a servo from the read signal. A pulse function for pulsing the read signal and outputting it as pulsed read data to enable information extraction.

【0040】サーボ回路19は、R/W回路18から出
力されるリードパルスから(ヘッド12のシークに必要
な)サーボ情報中のシリンダコード等を抽出すると共
に、同じくR/W回路18から出力される(AGC機能
により増幅された)リード信号から(ヘッド12の位置
決め制御に必要な)サーボ情報中のバーストデータ(位
置誤差データ)を抽出し、CPU20に出力する。
The servo circuit 19 extracts a cylinder code and the like in the servo information (necessary for seeking the head 12) from the read pulse output from the R / W circuit 18 and also outputs the same from the R / W circuit 18. The burst data (position error data) in the servo information (necessary for the positioning control of the head 12) is extracted from the read signal (amplified by the AGC function) and output to the CPU 20.

【0041】CPU(Central Processing Unit )20
は、ROM(Read Only Memory)21に格納されている
制御プログラムに従って磁気ディスク装置の各部の制
御、例えばサーボ回路19により抽出されたシリンダコ
ード、バーストデータに基づくヘッド12のシーク・位
置決め制御、ホストからのリード/ライトコマンドに従
うHDC23によるリード/ライト制御等を行う。
CPU (Central Processing Unit) 20
Is a control of each unit of the magnetic disk drive according to a control program stored in a ROM (Read Only Memory) 21, for example, a seek / position control of the head 12 based on a cylinder code and burst data extracted by the servo circuit 19, The read / write control is performed by the HDC 23 according to the read / write command.

【0042】CPU20には、ROM21の他に、CP
U20にの作業領域等を提供するRAM(Random Acces
s Memory)22、及びHDC(ディスクコントローラ)
23が接続されている。RAM22には、後述するバッ
ファメモリ24(に確保されるセグメントキャッシュバ
ッファ240)の管理テーブル(セグメント管理テーブ
ル)220が保持される。
In addition to the ROM 21, the CPU 20 has a CP
RAM (Random Acces) that provides a work area for U20
s Memory) 22 and HDC (disk controller)
23 are connected. The RAM 22 holds a management table (segment management table) 220 for the (segment cache buffer 240 secured in the buffer memory 24 described later).

【0043】HDC(ディスクコントローラ)23は、
ホストI/F(インタフェース)25を介して接続され
るホストとの間でコマンド、データの通信を行うための
プロトコル処理、バッファメモリ24に対するアクセス
制御、R/W回路18を通じてのディスク11-iに対す
る読み出し/書き込み制御等を司る。HDC23には、
例えばRAMにより構成されるバッファメモリ24が接
続されている。
The HDC (disk controller) 23
Protocol processing for command and data communication with a host connected via a host I / F (interface) 25, access control to the buffer memory 24, and access to the disk 11-i through the R / W circuit 18. It controls read / write control and the like. In HDC23,
For example, a buffer memory 24 constituted by a RAM is connected.

【0044】バッファメモリ24の一部には、ホストか
ら転送されたライトデータを一時記憶するための(ライ
トデータ用の)セグメントキャッシュバッファ240
(の領域)が確保される。セグメントキャッシュバッフ
ァ240は、複数の可変長のセグメントに分割して使用
される。各セグメントはホスト装置からのコマンド単位
で生成されるもので、RAM22内に置かれるセグメン
ト管理テーブル220により管理される。なお、図1で
は、ディスク11-iから読み出されたリードデータを一
時記憶するための(リードデータ用の)セグメントキャ
ッシュは省略されている。また、バッファメモリ24が
HDC23に内蔵されるものであっても構わない。
A part of the buffer memory 24 has a segment cache buffer 240 (for write data) for temporarily storing write data transferred from the host.
(Area of). The segment cache buffer 240 is used by being divided into a plurality of variable-length segments. Each segment is generated for each command from the host device, and is managed by a segment management table 220 provided in the RAM 22. In FIG. 1, a segment cache (for read data) for temporarily storing read data read from the disk 11-i is omitted. Further, the buffer memory 24 may be built in the HDC 23.

【0045】ホストI/F25は、ホスト(ホストシス
テム)とHDC23に接続され、ホストからの(リード
コマンド、ライトコマンド等の)コマンド、ライトデー
タの受信と、ホストへのリードデータの送信等を行う。
The host I / F 25 is connected to the host (host system) and the HDC 23, and receives commands (such as read commands and write commands) and write data from the host and transmits read data to the host. .

【0046】図4は、セグメントキャッシュバッファ2
40におけるセグメント分割の様子と、当該キャッシュ
バッファ240内の各セグメントを管理するセグメント
管理テーブル220のデータ構造例を示す。
FIG. 4 shows the segment cache buffer 2
4 shows an example of segment division in 40 and an example of a data structure of a segment management table 220 for managing each segment in the cache buffer 240.

【0047】図では、セグメントキャッシュバッファ2
40において、(ホストからの転送ブロック長が閾値以
下、つまり小ブロック長のディスク書き込みを指示する
6つのライトコマンドに応じて)6つのセグメントが確
保されている様子が示されている。
In the figure, the segment cache buffer 2
At 40, a state is shown in which six segments are secured (in response to six write commands instructing writing of a disk with a transfer block length equal to or less than the threshold value from the host, that is, a small block length).

【0048】セグメント管理テーブル220は、当該テ
ーブル220のヘッダ部をなすセグメント数(セグメン
ト分割数)の設定フィールド(セグメント分割数フィー
ルド)221と、各セグメント毎に生成されるセグメン
ト管理ブロック222とから構成される。セグメント分
割数フィールド221の内容は、セグメント管理ブロッ
ク222が生成される毎に更新(1インクリメント)さ
れる。
The segment management table 220 is composed of a setting field (segment division number field) 221 for the number of segments (segment division number) forming a header portion of the table 220, and a segment management block 222 generated for each segment. Is done. The content of the segment division number field 221 is updated (incremented by one) each time the segment management block 222 is generated.

【0049】セグメント管理ブロック222は、ホスト
からの(小ブロック長のディスク書き込みを指示する)
ライトコマンドに応じてCPU20により生成されるも
ので、対応するセグメントに格納されているライトデー
タのディスク11上の書き込み開始アドレスの設定フィ
ールド(開始アドレスフィールド)222a、当該セグ
メントのサイズ(セグメント長)の設定フィールド(セ
グメント長フィールド)222b、及び近傍アドレス別
分類フィールド222cを含む。上記開始アドレスに
は、物理的なアドレス、或いは論理的なCHS(Cylind
er Head Sector)方式のアドレスまたはLBA(Linear
Block Address)方式のアドレスを用いることができ
る。
The segment management block 222 receives an instruction from the host (instructs writing to a disk having a small block length).
It is generated by the CPU 20 in response to the write command, and is used to set a write start address setting field (start address field) 222a of the write data stored in the corresponding segment on the disk 11, and a size (segment length) of the segment. A setting field (segment length field) 222b and a nearby address classification field 222c are included. The start address may be a physical address or a logical CHS (Cylind).
er Head Sector) address or LBA (Linear)
Block Address) address can be used.

【0050】近傍アドレス別分類フィールド222c
は、対応するセグメントの(ディスク11-i上の)開始
アドレスが近傍であるもの(ここでは、同一トラックま
たは隣接トラックにあるもの)同士、つまりヘッド12
の移動動作(ディスクアクセス)が最適に行える(最小
のシーク量、スキュー量で所定の時間内に行える)位置
関係にあるもの同士をグループ化し、その情報、即ち分
類(グループ化)されているデータの種類とその個数、
及び同一分類のリンク情報を保持するためのものであ
る。
Classification field by neighbor address 222c
Are those whose start addresses (on the disk 11-i) of the corresponding segments are close to each other (here, those on the same track or adjacent tracks), that is, the head 12
Are grouped with each other in a positional relationship in which the movement operation (disk access) can be optimally performed (with a minimum seek amount and a skew amount within a predetermined time), and the information, that is, the classified (grouped) data Types and their number,
And link information of the same classification.

【0051】ここで、「データの種類」は、 (1)同一トラック上にある関係(値0) (2)同一サブゾーンSZ内の隣接トラック上にある関
係(値1) (3)サブゾーンSZをまたいだ隣接トラック上にある
関係(値2) の3種類である。
Here, the “data type” is defined as follows: (1) Relationship on the same track (value 0) (2) Relationship on an adjacent track in the same subzone SZ (value 1) (3) Subzone SZ There are also three types of relations (value 2) on the adjacent track.

【0052】次に「個数」は、カレントのセグメント管
理ブロック222が生成された時点での同一分類(グル
ープ)と判定されたセグメント管理ブロック222の個
数を表す。
Next, the “number” indicates the number of the segment management blocks 222 determined to be of the same classification (group) at the time when the current segment management block 222 is generated.

【0053】次に「リンク情報」には、カレントのセグ
メント管理ブロック222と同一分類の中で最も最近に
生成された(つまり最新の)セグメント管理ブロック2
22の番号(ブロック番号)が用いられる。該当するも
のが存在しない場合、つまり他に同一分類に属するもの
がない場合には、ブロック番号#0が用いられる。
Next, the “link information” includes the most recently generated (ie, the latest) segment management block 2 in the same category as the current segment management block 222.
No. 22 (block number) is used. If there is no corresponding item, that is, if there is no other item belonging to the same classification, the block number # 0 is used.

【0054】図5に、セグメント管理テーブル220の
具体的な内容例を示す。ここでは、図5(a)のように
1ブロック長(1セクタサイズ長)のアドレスu,v,
w,x,y,z(のデータセクタ)にデータをライトす
る各コマンド、つまり不連続なアドレスに対する6つの
ライトコマンドが順に発行された場合を例に、セグメン
ト管理テーブル220の内容を図5(b)に示してあ
る。
FIG. 5 shows a specific example of the contents of the segment management table 220. In this case, as shown in FIG. 5A, addresses u, v, and u of one block length (one sector size length) are used.
The contents of the segment management table 220 are shown in FIG. 5 (FIG. 5) in the case where commands for writing data to w, x, y, z (data sectors), that is, six write commands for discontinuous addresses are sequentially issued. This is shown in b).

【0055】図5の例では、アドレスu,v,y(のデ
ータセクタ)は同一トラック上にあるため、同一グルー
プに分類される。したがってアドレスu,v,yに対応
するライトコマンドに応じて生成された3つのセグメン
ト管理ブロック#1,#2,#5(222)内の近傍ア
ドレス別分類フィールド222cには、「データの種
類」を示す値として全て0が、「個数」を示す値として
それぞれ1,2,3が、そして「リンク情報」としてリ
それぞれ#0,#1,#2が設定される。
In the example of FIG. 5, the addresses u, v, and y (data sectors) are on the same track, and are therefore classified into the same group. Therefore, the "type of data" is stored in the classification field 222c for each neighboring address in the three segment management blocks # 1, # 2, and # 5 (222) generated in response to the write commands corresponding to the addresses u, v, and y. Are set as values indicating “number”, 1, 2, and 3 are set as values indicating “number”, and # 0, # 1, and # 2 are set as “link information”, respectively.

【0056】同様に、アドレスw,z(のデータセク
タ)は同一トラック上にあり、このアドレスw,z(の
データセクタ)とアドレスx(のデータセクタ)とはサ
ブゾーンSZをまたいだ隣接トラック上にあるため、ア
ドレスw,x,zは同一グループに分類される。したが
ってアドレスw,x,zに対応するライトコマンドに応
じて生成される3つのセグメント管理ブロック#3,#
4,#6(222)内の近傍アドレス別分類フィールド
222cには、「データの種類」を示す値としてそれぞ
れ0,2,0が、「個数」を示す値としてそれぞれ1,
2,3が、そして「リンク情報」としてそれぞれ#0,
#3,#4が設定される。
Similarly, the addresses w and z (data sectors of) are on the same track, and the addresses w and z (data sectors of) and the addresses x (data sectors of) are on adjacent tracks across the sub-zone SZ. , The addresses w, x, and z are classified into the same group. Therefore, three segment management blocks # 3, # 3 generated in response to the write commands corresponding to addresses w, x, z
4, # 6 (222), 0, 2, 0 as values indicating "data type" and 1, 1 as values indicating "number" in the neighborhood address classification field 222c, respectively.
# 2, # 3 as "link information"
# 3 and # 4 are set.

【0057】次に本実施形態の動作を図6のフローチャ
ートを参照して説明する。ホストから図1の磁気ディス
ク装置に対してコマンド、例えばライトコマンドが発行
されたものとする。このライトコマンドは、ホストI/
F25を介してHDC23で受信される。HDC23
は、ホストからのコマンドを受信すると、その旨の割り
込みをCPU20に発する。CPU20は、この割り込
みによりHDC23から受信コマンド(ここではライト
コマンド)を受け取って解釈する。
Next, the operation of this embodiment will be described with reference to the flowchart of FIG. It is assumed that a command, for example, a write command has been issued from the host to the magnetic disk device of FIG. This write command is transmitted from the host I /
It is received by the HDC 23 via F25. HDC23
When receiving a command from the host, the CPU issues an interrupt to that effect to the CPU 20. The CPU 20 receives and interprets the received command (here, the write command) from the HDC 23 by this interrupt.

【0058】CPU20は、HDC23から受け取った
コマンドがライトコマンドの場合、当該コマンドの指定
する書き込みセクタ数をチェックし、当該コマンドと共
にホストから転送されるデータのブロック長(セクタ
数)が閾値以下(例えば8セクタ以下)であるか否か、
つまり小ブロック長のディスク書き込みを指定すライト
コマンドであるか否かを判断する(ステップS1)。
If the command received from the HDC 23 is a write command, the CPU 20 checks the number of write sectors specified by the command, and the block length (sector number) of data transferred from the host together with the command is equal to or smaller than a threshold (for example, 8 sectors or less)
That is, it is determined whether or not the command is a write command designating writing to a disk having a small block length (step S1).

【0059】もし否であれば、つまり8セクタを越える
ブロック長であれば、CPU20はHDC23を制御し
て、ホストからの転送データをバッファメモリ24内の
セグメントキャッシュバッファ240とは異なるバッフ
ァ領域(図7のバースト転送用セグメントBまたはリー
ド/ライト兼用セグメントAに相当するバッファ領域)
格納させ、即時に、またはバッファ領域が満杯となった
とき、或いは別アドレスのシーケンシャルデータが転送
されたときにディスク書き込みを行う、通常のライト処
理を実行させる(ステップS2)。
If not, that is, if the block length exceeds eight sectors, the CPU 20 controls the HDC 23 to transfer the transfer data from the host to a buffer area different from the segment cache buffer 240 in the buffer memory 24 (see FIG. No. 7 buffer area corresponding to burst transfer segment B or read / write segment A)
A normal write process for writing to the disk is executed immediately, when the buffer area is full, or when sequential data of another address is transferred (step S2).

【0060】これに対して8セクタ以下のブロック長で
あれば、CPU20はHDC23を制御して、バッファ
メモリ24のセグメントキャッシュバッファ240内に
対応するサイズのセグメント#iを確保させ、そのセグ
メント#iにホストからの転送データを格納させる(ス
テップS3)。
On the other hand, if the block length is 8 sectors or less, the CPU 20 controls the HDC 23 to secure a segment #i of a corresponding size in the segment cache buffer 240 of the buffer memory 24, and the segment #i To store the transfer data from the host (step S3).

【0061】次にCPU20は、セグメントキャッシュ
バッファ240を管理するための、RAM22内に置か
れるセグメント管理テーブル220のセグメント分割数
フィールド221の内容(セグメント分割数)を更新、
即ち1インクリメントする(ステップS4)。
Next, the CPU 20 updates the content (segment division number) of the segment division number field 221 of the segment management table 220 placed in the RAM 22 for managing the segment cache buffer 240.
That is, it is incremented by one (step S4).

【0062】次にCPU20は、セグメント管理テーブ
ル220内に、ステップS3で転送データが格納された
セグメント#iに対応する新たなセグメント管理ブロッ
ク222(#i)を作成し、フィールド222aにライ
トコマンドで指定されたディスク11上の書き込み開始
アドレス#iを、フィールド222bにセグメント長#
iを、それぞれ登録する(ステップS5)。
Next, the CPU 20 creates, in the segment management table 220, a new segment management block 222 (#i) corresponding to the segment #i in which the transfer data is stored in step S3, and writes a new command to the field 222a by a write command. The write start address #i on the specified disk 11 is stored in the field 222b with the segment length #
i are registered (step S5).

【0063】次にCPU20は、既に登録済みの(つま
り以前に作成した)セグメント管理ブロック222の
(フィールド222aに設定されている)開始アドレス
を検索し(ステップS6)、検索した開始アドレスのい
ずれかとステップS5で新たに作成したセグメント管理
ブロック222(つまりカレントなセグメント管理ブロ
ック222)の開始アドレスが近傍アドレスの関係にあ
るか否か判断する(ステップS7)。ここでの近傍アド
レスの関係にあるか否かの判断は、同一トラック上、ま
たは隣接トラック上に存在するか否かにより行われる。
Next, the CPU 20 searches for a start address (set in the field 222a) of the already registered (that is, previously created) segment management block 222 (step S6), and finds one of the searched start addresses. It is determined whether or not the start address of the segment management block 222 newly created in step S5 (that is, the current segment management block 222) is in a relation of a neighboring address (step S7). The determination as to whether or not there is a neighborhood address relationship is made based on whether or not they are on the same track or on an adjacent track.

【0064】CPU20は、ステップS7での判断の結
果、近傍アドレスであれば同一グループとして、カレン
トなセグメント管理ブロック222の近傍アドレス別分
類フィールド222cへの情報登録を行う(ステップS
8)。ここでは「データの種類」として、カレントなセ
グメント管理ブロック222の開始アドレスが、登録済
みのセグメント管理ブロック222の開始アドレスに対
して、同一トラック上にある場合には値0が、同一サブ
ゾーンSZ内の隣接トラック上にある場合には値1が、
サブゾーンSZをまたいだ隣接トラック上にある場合に
は値2が登録される。また、「個数」として、カレント
なセグメント管理ブロック222を含む、同一グループ
のセグメント管理ブロック222の個数(同一グループ
のセグメント管理ブロック222の中で最大の個数に1
を加算した値)が登録される。更に「リンク情報」とし
て、同一グループのセグメント管理ブロック222のう
ち最新のセグメント管理ブロック222の番号、つまり
同一グループのセグメント管理ブロック222のうち最
も大きいブロック番号が登録される。
If the result of determination in step S7 is that the address is a neighborhood address, the CPU 20 registers the information in the neighborhood address classification field 222c of the current segment management block 222 as the same group (step S7).
8). Here, as the “type of data”, when the start address of the current segment management block 222 is on the same track as the start address of the registered segment management block 222, the value 0 is set in the same sub-zone SZ. The value 1 if it is on an adjacent track of
If it is on an adjacent track across the sub-zone SZ, the value 2 is registered. In addition, as the “number”, the number of segment management blocks 222 in the same group including the current segment management block 222 (the maximum number of segment management blocks 222 in the same group is 1).
Is added). Further, as the “link information”, the number of the latest segment management block 222 among the segment management blocks 222 of the same group, that is, the largest block number of the segment management blocks 222 of the same group is registered.

【0065】これに対してステップS7での判断の結
果、近傍アドレスでないならば、CPU20は別グルー
プとしてカレントなセグメント管理ブロック222の近
傍アドレス別分類フィールド222cへの情報登録を行
う(ステップS9)。ここでは、図5中のセグメント管
理ブロック#1の例のように、「データの種類として」
値0が、「個数」として1が、「リンク情報」として
「#0」が登録される。
On the other hand, if the result of determination in step S7 is that the address is not a nearby address, the CPU 20 registers information as a separate group in the nearby address classification field 222c of the current segment management block 222 (step S9). Here, as in the example of the segment management block # 1 in FIG.
The value 0 is registered as “number”, 1 is registered, and “link information” is registered as “# 0”.

【0066】CPU20はステップS8またはS9を実
行すると、セグメント管理テーブル220内のセグメン
ト管理ブロック222の中に書き込み条件を満たしたも
のがあるか否かを判断する(ステップS10)。ここで
書き込み条件を満たしたとは、同一グループとして分類
されたセグメント管理ブロック222が予め定められた
一定個数を越えたこととする。
After executing step S8 or S9, the CPU 20 determines whether or not any of the segment management blocks 222 in the segment management table 220 satisfies the write condition (step S10). Here, that the write condition is satisfied means that the number of the segment management blocks 222 classified as the same group exceeds a predetermined number.

【0067】もし、書き込み条件を満たしたものがない
ならば、CPU20はホストからの次のコマンドを待
つ。これに対し、書き込み条件を満たしたもの(グルー
プ)が存在するならば、CPU20はHDC23を制御
して、セグメント管理テーブル220内のセグメント管
理ブロック数が一定個数を越えた同一グループ(つまり
近傍アドレス別分類フィールド222cにより分類され
た同一グループ)を対象に、そのブロックに属する各セ
グメント管理ブロック2222に対応するセグメントキ
ャッシュバッファ240内のセグメントのデータをディ
スク11-iに連続的に書き込ませる(ステップS1
1)。つまり、近傍アドレス別分類が同一グループとな
っているもののうち、セグメント管理ブロック数が一定
個数を越えたグループのセグメントのデータについて
は、対応するコマンドの発行順に無関係に、一緒に連続
してディスク書き込みを行わせる。
If no write condition is satisfied, the CPU 20 waits for the next command from the host. On the other hand, if there is a group (group) that satisfies the write condition, the CPU 20 controls the HDC 23 to control the HDC 23 so that the number of segment management blocks in the segment management table 220 exceeds the predetermined number in the same group (that is, for each neighboring address). For the same group classified by the classification field 222c, the data of the segment in the segment cache buffer 240 corresponding to each segment management block 2222 belonging to the block is continuously written to the disk 11-i (step S1).
1). In other words, among the data of the same group classified by the neighboring address, the data of the segments of the group in which the number of the segment management blocks exceeds a certain number is continuously written to the disk irrespective of the order in which the corresponding commands are issued. Is performed.

【0068】CPU20は、ステップS11を実行する
と、セグメント管理テーブル220からディスク書き込
みを完了したセグメント管理ブロック222を削除し、
当該テーブル220内のセグメント分割数フィールド2
21の値(セグメント分割数)を、削除したセグメント
管理ブロック数分減算する(ステップS12)。そして
CPU20はホストからの次のコマンドを待つ。
After executing step S11, the CPU 20 deletes the segment management block 222 for which writing to the disk has been completed from the segment management table 220,
Segment division number field 2 in the table 220
The value of 21 (the number of segment divisions) is subtracted by the number of deleted segment management blocks (step S12). Then, the CPU 20 waits for the next command from the host.

【0069】以上に述べたように本実施形態では、不連
続なアドレスに対する小ブロックサイズのディスク書き
込みを指示するライトコマンドが連続して発行された場
合に、ホストから転送されたデータを、バッファメモリ
24内のキャッシュバッファ240にコマンド単位で確
保されたセグメントに保持するようにしている。これに
対し、それ以外のシーケンシャルなディスク書き込み要
求があった場合は、ホストからのデータをバッファメモ
リ24内にキャッシュバッファ240とは別に確保され
たシーケンシャルアクセス用のバッファ領域に保持し
て、通常の(従来から知られている)ディスク書き込み
として処理する。
As described above, in the present embodiment, when a write command instructing a small block size disk write to a discontinuous address is continuously issued, the data transferred from the host is transferred to the buffer memory. In the cache buffer 240 in the H.24, the data is held in segments secured in command units. On the other hand, when there is another sequential disk write request, data from the host is stored in the buffer memory 24 in a buffer area for sequential access that is secured separately from the cache buffer 240, and the normal Treat as a disk write (conventionally known).

【0070】本実施形態では更に、キャッシュバッファ
240にコマンド単位で確保されたセグメントに保持し
たデータを、当該セグメントに対応してセグメント管理
テーブル220に生成したセグメント管理ブロック22
0(内の近傍アドレス別分類フィールド222)を用い
て連続的なディスク書き込みが可能なグループ別に分類
しておく。そして、予め定められた書き込み条件を満た
したグループのデータについて、該当するセグメント管
理テーブル220(内のセグメント管理ブロック22
2)に従って、連続してディスク書き込みを行う。これ
により、ヘッドの移動量とディスクアクセス回数を減ら
すことができ、つまりオーバーヘッドを少なくでき、ラ
ンダムライトの速度の向上が図れる。
Further, in the present embodiment, the data stored in the segment secured in the cache buffer 240 in units of commands is stored in the segment management block 22 generated in the segment management table 220 corresponding to the segment.
Using 0 (neighboring address classification field 222 therein), the disc is classified into groups in which continuous disk writing is possible. Then, for the data of the group that satisfies the predetermined write condition, the corresponding segment management table 220 (in the segment management block 22 in the corresponding segment management table 220).
According to 2), the disk writing is continuously performed. As a result, the amount of head movement and the number of disk accesses can be reduced, that is, overhead can be reduced, and the speed of random write can be improved.

【0071】以下、この理由について、図3を参照して
説明する。先に述べたように、ディスクにアクセスする
場合、同一トラック上の離れたデータセクタにアクセス
するには、ディスクの回転待ちが発生する。また離れた
トラックにアクセスするにはトラックシークやトラック
スキューが発生し、ヘッド切り替えを行った場合でもヘ
ッドスキューが発生する。つまりランダムなアドレスに
アクセスする場合は、シークやスキューによる膨大なオ
ーバーヘッドが生じる。
Hereinafter, the reason will be described with reference to FIG. As described above, when accessing a disk, a disk rotation wait occurs in order to access distant data sectors on the same track. In addition, track seek or track skew occurs to access a distant track, and head skew occurs even when head switching is performed. That is, when accessing a random address, a huge overhead due to seek and skew occurs.

【0072】サブゾーンSZは、こういったランダムア
クセス時のパフォーマンスを改善するための手段であ
り、同一のサブゾーンSZの範囲内でアクセス方向をヘ
ッド方向とすることで、シリンダ方向(半径方向)の平
均シーク距離を短くしている。しかし、こういった改善
がなされても、ランダムなアクセス要求が発生すると、
従来技術ではその度にディスク書き込みが行われるた
め、オーバーヘッドは少なくなかった。
The sub-zone SZ is a means for improving the performance at the time of such random access. By making the access direction the head direction within the same sub-zone SZ, the average in the cylinder direction (radial direction) is obtained. The seek distance is shortened. However, even with these improvements, if random access requests occur,
In the prior art, a disk write is performed each time, so that the overhead is not small.

【0073】そこで本実施形態では、不連続なアドレス
に対する小ブロックサイズのディスク書き込みを指示す
るライトコマンドが連続して発行された場合に、従来の
ように直ちにディスク書き込みを行わずに、つまりライ
トコマンドが発行される度にディスク書き込みを行わず
に、指示されたデータ(ライトデータ)をバッファメモ
リ24内のキャッシュバッファ240に保持しておくと
共に、ディスク書き込み時のタイミングを考慮し、オー
バーヘッドの少ないもの同士を同一グループにまとめる
ようにしている、例えばトラックa上のデータセクタが
同一トラックa上の次のデータセクタにアクセスするの
に発生するオーバーヘッドは、回転待ちのみであり、こ
れが最も小さい。そこで本実施形態では、同一トラック
上のアドレスのものを1つのグループとして分類し、セ
グメント管理ブロック222内の近傍アドレス別分類フ
ィールド222cに設定しておく。これにより、当該グ
ループが書き込み条件を満たしたときに、当該グループ
に属する各アドレスへのディスク書き込みを連続的に行
うことで、オーバーヘッドを減らすことができる。
Therefore, in the present embodiment, when a write command instructing writing of a small block size disk to discontinuous addresses is continuously issued, the disk writing is not immediately performed as in the prior art, that is, the write command is not issued. Each time is issued, the designated data (write data) is held in the cache buffer 240 in the buffer memory 24 without writing to the disk, and the overhead is small in consideration of the timing at the time of writing to the disk. The overhead caused when the data sectors on the track a access the next data sector on the same track a is, for example, the rotation wait only, and is the smallest. Therefore, in the present embodiment, addresses on the same track are classified as one group, and set in the near-address-specific classification field 222c in the segment management block 222. Thus, when the group satisfies the write condition, the disk can be continuously written to each address belonging to the group, thereby reducing overhead.

【0074】同様に、同一サブゾーンSZ内の隣接トラ
ック上のアドレスのものも1つのグループとして分類し
ておき、当該グループが書き込み条件を満たしたとき
に、当該グループに属する各アドレスへのディスク書き
込みを連続的に行うことで、やはりオーバーヘッドを減
らすことができる。
Similarly, addresses on adjacent tracks in the same sub-zone SZ are also classified as one group, and when the group satisfies the write condition, disk writing to each address belonging to the group is performed. By performing the operations continuously, the overhead can also be reduced.

【0075】この他、例えば図4のセグメント#1のデ
ータの開始アドレスがトラックm上で、次のセグメント
#2の開始アドレスがトラックk上、次のセグメント#
3の開始アドレスがトラックc上であるとすると、cと
mは隣接トラックであるが、サブゾーンSZ化によって
論理アドレス上では全く離れた距離に位置することにな
る。このため本実施形態では、サブゾーンSZをまたい
だ隣接トラック上にあるcとmも同一グループとして管
理しておき、当該グループが書き込み条件を満たしたと
きに、トラックc上のデータセクタとトラックm上のデ
ータセクタへのディスク書き込みを連続的に行うこと
で、やはりオーバーヘッドを減らすことができる。逆
に、図3においてトラックlとトラックmとは論理アド
レス上では連続しているが、物理的(物理アドレス上)
では全く離れており、トラックlからトラックmに移動
するのにオーバーヘッドが大きくなるため、別グループ
として管理する。
In addition, for example, the start address of the data of the segment # 1 in FIG. 4 is on the track m, the start address of the next segment # 2 is on the track k, and the next segment #
Assuming that the start address of No. 3 is on track c, c and m are adjacent tracks, but are located at a completely separated distance on the logical address due to the sub-zone SZ. For this reason, in the present embodiment, c and m on adjacent tracks across the sub-zone SZ are also managed as the same group, and when the group satisfies the write condition, the data sector on the track c and the data By continuously writing the data to the data sectors, the overhead can also be reduced. Conversely, in FIG. 3, track l and track m are continuous on a logical address, but are physically (on a physical address).
Are completely separated from each other, and the overhead for moving from the track 1 to the track m increases.

【0076】なお、以上に述べた実施形態では、書き込
み条件として、同一グループとして分類されたセグメン
ト管理ブロック222が予め定められた一定個数を越え
たこととしたが、つまり書き込み条件を満たしたか否か
をグループ単位で(且つ、そのグループのセグメント管
理ブロック数で)判定するものとしたが、これに限るも
のではない。
In the above-described embodiment, the writing condition is such that the number of the segment management blocks 222 classified as the same group exceeds a predetermined number, that is, whether the writing condition is satisfied. Is determined for each group (and based on the number of segment management blocks of the group), but the present invention is not limited to this.

【0077】例えば、セグメント分割数が閾値、例えば
セグメント管理テーブル220に生成可能なセグメント
管理ブロック222の数の最大値に達したことをもっ
て、書き込み条件を満たしたと判定するようにしてもよ
い。この場合には、セグメント管理テーブル220内の
全てのセグメント管理ブロック222について、グルー
プ毎にディスク書き込みが連続して行われる。ここで、
現在のヘッド12のディスク11-i上の位置に対して最
小のシーク量、スキュー量となる位置関係にある、つま
りディスクアクセス(ヘッド移動動作)が最適に行える
位置関係にある開始アドレス(が設定されている開始ア
ドレスフィールド222a)のセグメント管理ブロック
222を含むグループを対象とするディスク書き込みが
最初に行われるようにすると、オーバーヘッドを一層少
なくできる。以下のディスク書き込みの順番も、先行す
るグループのディスク11-i上の位置を基準に決定する
とよい。このようにセグメント分割数が所定個数に達し
たことをもってディスク書き込みを行うことで、セグメ
ント分割数が大きくなって、セグメント管理テーブル2
20やセグメントキャッシュバッファ240がオーバー
フローするのを防ぐことができる。
For example, it may be determined that the writing condition is satisfied when the number of segment divisions reaches a threshold value, for example, the maximum value of the number of segment management blocks 222 that can be generated in the segment management table 220. In this case, for all the segment management blocks 222 in the segment management table 220, disk writing is performed continuously for each group. here,
The start address (the start address (which is set) has a positional relationship that minimizes the seek amount and the skew amount with respect to the current position of the head 12 on the disk 11-i, that is, the positional relationship that allows the disk access (head moving operation) to be optimal. If the disk write for the group including the segment management block 222 in the start address field 222a) is performed first, the overhead can be further reduced. The following disk writing order may be determined based on the position of the preceding group on the disk 11-i. By writing data to the disk when the number of segment divisions reaches the predetermined number, the number of segment divisions increases and the segment management table 2
20 and the segment cache buffer 240 can be prevented from overflowing.

【0078】この他に、セグメントキャッシュバッファ
240に保持したデータの経過時間(保持時間)が所定
時間を越えたことをもって、書き込み条件を満たしたと
することも可能である。具体的には、各セグメント管理
ブロック222に、登録時の時刻情報を持たせ、近傍ア
ドレス別分類によって最後にグループ入りしたセグメン
ト管理ブロック222の時刻の中で最も古い時刻を調
べ、現在時刻との差が所定時間を越える場合に、書き込
み条件を満たしたと判定する。このような、いわゆるL
RU法(Least Recently Used Rule)的な管理手法を適
用することで、ディスクアクセスの機会のないグループ
についても、ディスク書き込みの対象とすることが可能
となる。
Alternatively, it is possible that the write condition is satisfied when the elapsed time (holding time) of the data held in the segment cache buffer 240 exceeds a predetermined time. Specifically, each segment management block 222 is provided with time information at the time of registration, and the oldest time among the times of the segment management blocks 222 that were last grouped according to the neighborhood address classification is checked. If the difference exceeds a predetermined time, it is determined that the write condition has been satisfied. Such a so-called L
By applying a management method based on the RU method (Least Recently Used Rule), even a group that does not have a disk access opportunity can be a target of disk writing.

【0079】更に、現在のヘッド12のディスク11-i
上の位置からディスクアクセス(ヘッド移動動作)が最
適に行える位置関係にあるアドレス(が設定されている
開始アドレスフィールド222a)のセグメント管理ブ
ロック222を含むグループが存在することをもって、
書き込み情報を満たしたとすることも可能である。
Further, the disk 11-i of the current head 12
The presence of a group including the segment management block 222 of an address (a start address field 222a in which is set) in a positional relationship in which disk access (head moving operation) can be optimally performed from the upper position,
It is also possible that the write information is satisfied.

【0080】また以上に述べた実施形態では、磁気ディ
スク装置に適用した場合について説明したが、本発明
は、光磁気ディスク装置などのディスク記憶装置にも適
用可能である。
In the embodiments described above, the case where the present invention is applied to a magnetic disk device has been described. However, the present invention is also applicable to a disk storage device such as a magneto-optical disk device.

【0081】[0081]

【発明の効果】以上詳述したように本発明によれば、不
連続なアドレスに対する小ブロックサイズのデータのデ
ィスク書き込みを指示するライトコマンドが連続して発
行された場合に、ホストからの転送データを該当する分
割したセグメントに保持していき、物理的にある程度連
続したセクタヘのアクセスが可能な状態のときにディス
クアクセスを行うようにしたので、ヘッドの移動量とデ
ィスクアクセス回数を軽減してオーバーヘッドを小さく
することができ、ランダムライトの速度向上が図れる。
As described above in detail, according to the present invention, when a write command instructing a disk write of data of a small block size to a discontinuous address is continuously issued, the transfer data from the host is transmitted. Is stored in the corresponding divided segment, and disk access is performed when physically continuous sectors can be accessed to some extent, so that the amount of head movement and the number of disk accesses are reduced to reduce overhead. Can be reduced, and the speed of random write can be improved.

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

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

【図2】図1中のディスク11-i(i=1,2)のフォ
ーマットの概念図。
FIG. 2 is a conceptual diagram of a format of a disk 11-i (i = 1, 2) in FIG.

【図3】図1中のディスク11-0,11-1の各記録面上
の、ゾーンZ、サブゾーンSZ、トラックの関係を示す
概念図。
FIG. 3 is a conceptual diagram showing a relationship between a zone Z, a sub-zone SZ, and a track on each recording surface of disks 11-0 and 11-1 in FIG.

【図4】図1中のセグメントキャッシュバッファ240
におけるセグメント分割の様子と、当該キャッシュバッ
ファ240内の各セグメントを管理するセグメント管理
テーブル220のデータ構造例を示す図。
FIG. 4 is a segment cache buffer 240 in FIG. 1;
FIG. 4 is a diagram showing a state of segment division and a data structure example of a segment management table 220 for managing each segment in the cache buffer 240.

【図5】セグメント管理テーブル220の具体的な内容
例を、不連続なアドレスに対する6つのライトコマンド
が順に発行された場合について示す図。
FIG. 5 is a diagram showing a specific example of the contents of a segment management table 220 in a case where six write commands for discontinuous addresses are issued in order.

【図6】同実施形態におけるライトコマンド受信時の動
作を説明するためのフローチャート。
FIG. 6 is an exemplary flowchart for explaining the operation at the time of receiving a write command in the embodiment.

【図7】複数の書き込みブロックが連続して送られてく
る場合に、データを遅延なく連続的にディスクに書き込
むことを目的としたシーケンシャルライトに適した従来
技術を説明するための図。
FIG. 7 is a diagram for explaining a conventional technique suitable for sequential write for the purpose of continuously writing data to a disk without delay when a plurality of write blocks are continuously transmitted.

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

11-0,11-1,11-i…ディスク(ディスク媒体) 12…ヘッド 18…R/W回路 20…CPU(セグメントキャッシュ制御手段、ディス
ク書き込み制御手段) 21…ROM 22…RAM 23…HDC(ディスクコントローラ、ディスク書き込
み制御手段) 24…バッファメモリ 220…セグメント管理テーブル 221…セグメント分割数フィールド 222…セグメント管理ブロック 222a…開始アドレスフィールド 222b…セグメント長フィールド 222c…近傍アドレス別分類フィールド 240…キャッシュバッファ
11-0, 11-1, 11-i Disk (disk medium) 12 Head 18 R / W circuit 20 CPU (segment cache control means, disk write control means) 21 ROM 22 RAM 23 HDC ( Disk controller, disk write control means) 24 buffer memory 220 segment management table 221 segment division number field 222 segment management block 222a start address field 222b segment length field 222c near neighbor address classification field 240 cache buffer

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 ヘッドによる記録再生が行われるディス
ク媒体とホストとの間で転送されるデータを一時的に記
憶するバッファメモリを備えたディスク記憶装置におい
て、 前記バッファメモリ内に確保される、複数のセグメント
に分割可能なセグメントキャッシュバッファと、 前記セグメントキャッシュバッファ内の各セグメント毎
に生成されるセグメント管理ブロックであって、当該セ
グメントに記憶されているデータの前記ディスク媒体上
の書き込み先を示すアドレス情報が設定されるアドレス
フィールド、当該セグメントのサイズを示すセグメント
長が設定されるセグメント長フィールド、並びにヘッド
の移動動作が所定の時間内に行える位置関係にあるアド
レス情報同士を同一グループとして分類する情報が設定
される近傍アドレス別分類フィールドを持つセグメント
管理ブロックを備え、前記セグメントキャッシュバッフ
ァを管理するためのセグメント管理テーブル記憶手段
と、 前記ホストからディスク書き込みを指定するライトコマ
ンドが発行されると共にディスク書き込みの対象となる
データが転送され、そのデータサイズが所定サイズ以下
である場合に、当該データを前記セグメントキャッシュ
バッファ内に割り当てた同サイズのセグメントに記憶さ
せると共に、当該セグメントを管理するための前記セグ
メント管理ブロックを前記セグメント管理テーブル内に
生成するセグメントキャッシュ制御手段と、 前記セグメント管理テーブル内に生成された、前記近傍
アドレス別分類フィールドで同一グループに分類された
セグメント管理ブロックのうち、予め定められた書き込
み条件を満たしたグループのセグメント管理ブロックに
基づいて、グループ単位でディスク書き込みを行うディ
スク書き込み制御手段とを具備することを特徴とするデ
ィスク記憶装置。
1. A disk storage device comprising: a buffer memory for temporarily storing data transferred between a disk medium on which recording and reproduction are performed by a head and a host; A segment cache buffer that can be divided into segments, and a segment management block generated for each segment in the segment cache buffer, and an address indicating a write destination of data stored in the segment on the disk medium An address field in which information is set, a segment length field in which a segment length indicating the size of the segment is set, and information for classifying address information in a positional relationship in which a head moving operation can be performed within a predetermined time as the same group. Address where is set A segment management table storing means for managing the segment cache buffer, comprising a segment management block having a classification field; and a host issuing a write command designating disk writing and transferring data to be written to the disk. When the data size is equal to or smaller than a predetermined size, the data is stored in a segment of the same size allocated in the segment cache buffer, and the segment management block for managing the segment is stored in the segment management table. A segment cache control means generated in the segment management table, and a predetermined one of the segment management blocks classified in the same group in the neighborhood address classification field generated in the segment management table. And a disk write control unit for performing disk write on a group basis based on a segment management block of a group satisfying the write condition.
【請求項2】 前記ディスク書き込み制御手段は、前記
近傍アドレス別分類フィールドで同一グループに分類さ
れたセグメント管理ブロックの数が所定数を越えたこと
をもって前記書き込み条件を満たしたと判定することを
特徴とする請求項1記載のディスク記憶装置。
2. The disk write control means determines that the write condition is satisfied when the number of segment management blocks classified into the same group in the neighborhood address classification field exceeds a predetermined number. The disk storage device according to claim 1, wherein
【請求項3】 前記ディスク書き込み制御手段は、前記
セグメントキャッシュバッファにおけるセグメント分割
数が所定数に達したことをもって前記書き込み条件を満
たしたと判定することを特徴とする請求項1記載のディ
スク記憶装置。
3. The disk storage device according to claim 1, wherein the disk write control unit determines that the write condition is satisfied when the number of segment divisions in the segment cache buffer reaches a predetermined number.
【請求項4】 前記ディスク書き込み制御手段は、前記
近傍アドレス別分類フィールドで分類されるグループを
単位に、そのグループ内で最も最近に生成された前記セ
グメント管理ブロックの生成時からの経過時間を調べ、
所定時間を越えたことをもって、該当するグループにつ
いて前記書き込み条件を満たしたと判定することを特徴
とする請求項1記載のディスク記憶装置。
4. The disk write control unit checks, for each group classified by the neighborhood address classification field, an elapsed time from the generation of the segment management block most recently generated in the group. ,
2. The disk storage device according to claim 1, wherein it is determined that the write condition is satisfied for the corresponding group when a predetermined time has elapsed.
【請求項5】 前記ディスク書き込み制御手段は、現在
の前記ヘッドのディスク媒体上の位置からヘッド移動動
作が所定の時間内に行える位置関係にあるアドレス情報
を持つセグメント管理ブロックを含むグループが存在す
る場合に、当該グループについて前記書き込み条件を満
たしたと判定することを特徴とする請求項1記載のディ
スク記憶装置。
5. The disk writing control means includes a group including a segment management block having address information in a positional relationship from a current position on the disk medium of the head to a head moving operation within a predetermined time. 2. The disk storage device according to claim 1, wherein it is determined that the write condition is satisfied for the group.
【請求項6】 前記セグメントキャッシュ制御手段は、
前記セグメント管理ブロックを生成する際に、対応する
アドレス情報と連続するアドレス情報を持つ既生成のセ
グメント管理ブロックが存在しても、ヘッドの移動動作
が所定の時間内に行える位置関係にない場合には、当該
既生成のセグメント管理ブロックが属するグループの対
象外として処理することを特徴とする請求項1記載のデ
ィスク記憶装置。
6. The segment cache control means,
When the segment management block is generated, even if there is a previously generated segment management block having address information that is continuous with the corresponding address information, if there is no positional relationship in which the moving operation of the head can be performed within a predetermined time. 2. The disk storage device according to claim 1, wherein the processing is performed as a non-target of the group to which the generated segment management block belongs.
【請求項7】 ヘッドによる記録再生が行われるディス
ク媒体とホストとの間で転送されるデータを一時的に記
憶するためのバッファメモリ内に、複数のセグメントに
分割可能なセグメントキャッシュバッファが確保された
ディスク記憶装置におけるセグメントキャッシュ制御方
法であって、 前記ホストからディスク書き込みを指定するライトコマ
ンドが発行される毎に、当該コマンドと共に前記ホスト
から転送されるデータのサイズが所定サイズ以下である
か否かを調べ、所定サイズ以下の場合には当該データを
前記セグメントキャッシュバッファ内に割り当てた同サ
イズのセグメントに記憶し、 前記セグメントにホストからのデータを記憶する毎に、
当該セグメントを管理するためのセグメント管理ブロッ
クであって、当該セグメントに記憶されているデータの
前記ディスク媒体上の書き込み先を示すアドレス情報、
当該セグメントのサイズを示すセグメント長、並びにヘ
ッドの移動動作が所定の時間内に行える位置関係にある
アドレス情報同士を同一グループとして分類する近傍ア
ドレス別分類情報が設定されたセグメント管理ブロック
をセグメント管理テーブル内に生成し、 前記セグメント管理テーブル内に生成された、前記近傍
アドレス別分類情報で同一グループに分類されたセグメ
ント管理ブロックのうち、予め定められた書き込み条件
を満たしたグループのセグメント管理ブロックを検出
し、そのグループを単位に、そのグループのセグメント
管理ブロックに基づいてディスク書き込みを行うことを
特徴とするセグメントキャッシュ制御方法。
7. A segment cache buffer which can be divided into a plurality of segments is secured in a buffer memory for temporarily storing data transferred between a disk medium on which recording and reproduction are performed by a head and a host. A method of controlling segment cache in a disk storage device, wherein each time a write command designating disk writing is issued from the host, the size of data transferred from the host together with the command is equal to or smaller than a predetermined size. In the case where the data is equal to or smaller than a predetermined size, the data is stored in a segment of the same size allocated in the segment cache buffer, and every time data from a host is stored in the segment,
A segment management block for managing the segment, address information indicating a write destination on the disk medium of data stored in the segment,
A segment management table in which a segment management block in which the segment length indicating the size of the segment and the neighboring address classification information for classifying the address information in a positional relationship in which the head movement operation can be performed within a predetermined time as the same group is set. Among the segment management blocks generated in the segment management table and classified into the same group by the neighboring address classification information, to detect a segment management block of a group that satisfies a predetermined write condition. And writing data to the disk in units of the group based on the segment management block of the group.
JP12074698A 1998-04-30 1998-04-30 Disk storage device and segment cache control method in the same device Expired - Fee Related JP3851723B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12074698A JP3851723B2 (en) 1998-04-30 1998-04-30 Disk storage device and segment cache control method in the same device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12074698A JP3851723B2 (en) 1998-04-30 1998-04-30 Disk storage device and segment cache control method in the same device

Publications (2)

Publication Number Publication Date
JPH11317008A true JPH11317008A (en) 1999-11-16
JP3851723B2 JP3851723B2 (en) 2006-11-29

Family

ID=14793967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12074698A Expired - Fee Related JP3851723B2 (en) 1998-04-30 1998-04-30 Disk storage device and segment cache control method in the same device

Country Status (1)

Country Link
JP (1) JP3851723B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510490B2 (en) 2000-03-17 2003-01-21 Sanyo Electric Co., Ltd. Write cache circuit, recording apparatus with write cache circuit, and write cache method
KR100386795B1 (en) * 2000-03-03 2003-06-09 가부시키가이샤 히타치세이사쿠쇼 High reliability storage drive and data write method
KR100692782B1 (en) * 2005-04-26 2007-03-12 미츠비시덴키 가부시키가이샤 Data recording apparatus, and examination apparatus and control apparatus having the data recording apparatus
JP2010079928A (en) * 2002-03-21 2010-04-08 Netapp Inc Method for writing contiguous array of stripe in raid system
JP2011087080A (en) * 2009-10-14 2011-04-28 Hitachi Kokusai Electric Inc Video recording device
WO2011074591A1 (en) * 2009-12-17 2011-06-23 日本電気株式会社 Storage device, storage control device, storage control method and program
CN106537321A (en) * 2015-05-27 2017-03-22 华为技术有限公司 Method and device for accessing file, and storage system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100386795B1 (en) * 2000-03-03 2003-06-09 가부시키가이샤 히타치세이사쿠쇼 High reliability storage drive and data write method
US6510490B2 (en) 2000-03-17 2003-01-21 Sanyo Electric Co., Ltd. Write cache circuit, recording apparatus with write cache circuit, and write cache method
JP2010079928A (en) * 2002-03-21 2010-04-08 Netapp Inc Method for writing contiguous array of stripe in raid system
KR100692782B1 (en) * 2005-04-26 2007-03-12 미츠비시덴키 가부시키가이샤 Data recording apparatus, and examination apparatus and control apparatus having the data recording apparatus
JP2011087080A (en) * 2009-10-14 2011-04-28 Hitachi Kokusai Electric Inc Video recording device
WO2011074591A1 (en) * 2009-12-17 2011-06-23 日本電気株式会社 Storage device, storage control device, storage control method and program
CN106537321A (en) * 2015-05-27 2017-03-22 华为技术有限公司 Method and device for accessing file, and storage system
KR20180011255A (en) * 2015-05-27 2018-01-31 후아웨이 테크놀러지 컴퍼니 리미티드 Method and apparatus for accessing files, and storage system
JP2018515859A (en) * 2015-05-27 2018-06-14 華為技術有限公司Huawei Technologies Co.,Ltd. Method and apparatus for accessing a file and storage system
CN106537321B (en) * 2015-05-27 2020-04-28 华为技术有限公司 Method, device and storage system for accessing file
US10846265B2 (en) 2015-05-27 2020-11-24 Huawei Technologies Co., Ltd. Method and apparatus for accessing file, and storage system

Also Published As

Publication number Publication date
JP3851723B2 (en) 2006-11-29

Similar Documents

Publication Publication Date Title
US7373460B2 (en) Media drive and command execution method thereof
US6842801B2 (en) System and method of implementing a buffer memory and hard disk drive write controller
US6732292B2 (en) Adaptive bi-directional write skip masks in a data storage device
JP5888717B2 (en) Hybrid hard disk drive control method, memory device, and hybrid hard disk drive
US6925539B2 (en) Data transfer performance through resource allocation
KR20020064357A (en) Buffer management system for managing the transfer of data into and out of a buffer in a disc drive
JP2005215729A (en) Data transmission control method and storage device
US10777218B2 (en) Disk-drive with efficient command reordering
US6725395B2 (en) Method for assigning alternative sector, method for reading data, disk drive apparatus, and apparatus for writing/reading AV data
JP3851723B2 (en) Disk storage device and segment cache control method in the same device
JPH10149260A (en) Reading cache system for disk drive
JPH10269027A (en) Disk device and buffer management control method in the same
KR20050021246A (en) Head control method and recording apparatus
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JPH03104056A (en) Information recording and reproducing method for rotary type information recording and reproducing device
JP3847888B2 (en) High speed host transfer method of rearranged data due to defects in disk device
JP2003199014A (en) Disk storage device and command processing method
JPH07141785A (en) Data recorder and method of alternate processing defect sector
JP2859251B2 (en) Disk controller control method and disk controller
JPH0963198A (en) Disk device which can process positioning of head and setting of parameter jointly and parameter setting method in the disk device
JP2779329B2 (en) Control method for storage control system, storage control system, and storage control device
JPH11265262A (en) High speed write cache disk device
JPH06150557A (en) Track emulation method and external storage sub-system
JP2000181798A (en) Cache control system for disk device
JP2003196155A (en) Disc device, and cache control method for the device

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20060510

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20060829

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Effective date: 20060904

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees