JPH11338644A - Disk controller and storage medium - Google Patents

Disk controller and storage medium

Info

Publication number
JPH11338644A
JPH11338644A JP14083198A JP14083198A JPH11338644A JP H11338644 A JPH11338644 A JP H11338644A JP 14083198 A JP14083198 A JP 14083198A JP 14083198 A JP14083198 A JP 14083198A JP H11338644 A JPH11338644 A JP H11338644A
Authority
JP
Japan
Prior art keywords
data
disk
list
disk device
written
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
JP14083198A
Other languages
Japanese (ja)
Inventor
Naoki Watanabe
直企 渡邉
Yoshifumi Takamoto
良史 高本
Akira Fujibayashi
昭 藤林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP14083198A priority Critical patent/JPH11338644A/en
Publication of JPH11338644A publication Critical patent/JPH11338644A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a disk controller which realizes data transfer that efficient ly performs batch writing in an uncontinuous area of a disk drive. SOLUTION: When this disk controller 102 writes data in plural uncontinuous segments, it transfers a list having a logical block address of a disk drive on which the data are written and the dimension of the data as its elements to this disk drive with respect to the data. Thus, it is possible to collectively write data in plural uncontinuous segments without issuing write requests for the number of segments. Also, data transfer efficiency is improved because a large bit map table does not have to be transferred.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はキャッシュメモリ備
えたディスク制御装置とディスク装置に関し、特にディ
スク制御装置とディスク装置間のデータ転送に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk controller and a disk device having a cache memory, and more particularly to data transfer between the disk controller and the disk device.

【0002】[0002]

【従来の技術】従来のディスク制御装置では、ディスク
装置への書き込みデータやディスク装置からの読みだし
データを一時記憶するキャッシュメモリを設け、上位装
置からの書き込みデータをディスク制御装置内のキャッ
シュメモリに書き込むだけで書き込みを完了し、そのデ
ータを後でディスク装置に書き込む、ライトバックキャ
ッシュ方式が知られている。この技術については、例え
ば、特開昭55−154650号公報に開示されてい
る。
2. Description of the Related Art In a conventional disk controller, a cache memory for temporarily storing data to be written to a disk device and data to be read from a disk device is provided, and write data from a host device is stored in a cache memory in the disk controller. A write-back cache system is known in which writing is completed only by writing, and the data is later written to a disk device. This technique is disclosed in, for example, Japanese Patent Application Laid-Open No. 55-154650.

【0003】また、上記ライトバックキャッシュ方式を
行う際に、ディスク制御装置のキャッシュメモリの管理
単位であるセグメント内に、不連続なデータブロックが
複数存在した場合に、ビットマップを付加して転送する
ことにより一回の書き込み要求でデータを書き込むデー
タ転送方式がある。この技術に関しては、特開平6−0
28261号公報に開示されている。
Further, when performing the write-back cache method, when a plurality of discontinuous data blocks exist in a segment which is a management unit of the cache memory of the disk control device, a bit map is added and transferred. Therefore, there is a data transfer method of writing data by one write request. This technology is disclosed in
28261.

【0004】ここで、ビットマップとは、ディスク内の
連続する複数のデータブロックに連続するビットを割り
当てたものである。例えば512バイトのブロックに1ビッ
トを割り当てた場合には、65536バイトのデータを表現
するために65536/512=128ビット=16バイトの大きさのビ
ットマップが必要となる。
[0004] Here, the bit map is obtained by allocating continuous bits to a plurality of continuous data blocks in the disk. For example, when 1 bit is allocated to a 512-byte block, a bitmap having a size of 65536/512 = 128 bits = 16 bytes is required to represent 65536 bytes of data.

【0005】[0005]

【発明が解決しようとする課題】上述のビットマップを
転送する方式は、ランダム性の高い書き込みデータに対
して有効である。
The above-described method of transferring a bitmap is effective for write data having high randomness.

【0006】しかし、ディスク装置にデータを書き込む
際には、複数の不連続なセグメントに渡ってデータが書
き込まれる場合も多い。このような場合には、上述のビ
ットマップを転送する方式では、セグメント数分の書き
込み要求を発行する必要がある。また、ディスク装置の
全論理アドレスをカバーするためには、非常に大きなビ
ットマップテーブルを作成し、転送しなければならず、
効率が悪い。さらに、近年のディスク装置の大容量化に
伴い、取り扱う飛び飛びのデータ範囲も拡大すると考え
られるため、より大きなビットマップを用いる必要とな
ってくる。
However, when writing data to a disk device, data is often written over a plurality of discontinuous segments. In such a case, in the method of transferring the bitmap described above, it is necessary to issue write requests for the number of segments. Also, in order to cover all the logical addresses of the disk device, a very large bitmap table must be created and transferred.
ineffective. Furthermore, with the recent increase in the capacity of disk devices, the range of discrete data to be handled is considered to be expanded, so that it is necessary to use a larger bitmap.

【0007】そこで、本発明の目的は、ディスク装置の
不連続領域に、効率よく一括書き込みを行うことが可能
なディスク制御装置及び記憶装置を提供することにあ
る。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a disk control device and a storage device capable of efficiently performing batch writing in a discontinuous area of a disk device.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するため
に、本発明のディスク制御装置は、ディスク装置内の不
連続な複数の領域にデータを書き込む際に、上記複数の
領域の各領域のアドレスとその領域に書き込まれるデー
タの大きさとを上記ディスク装置に転送する。より具体
的には、本発明のディスク制御装置は、複数の不連続な
セグメントにデータを書き込む際に、複数の不連続なセ
グメントの各セグメントの論理ブロックアドレスと該セ
グメントに書き込まれるデータの大きさとを要素とする
リストを作成し、そのリストをディスク装置に転送す
る。上記データは、複数の不連続なセグメントに書き込
まれるので、上記リストには、複数の要素が存在するこ
とになる。ディスク装置では転送されたリストを内部の
メモリに記憶し、次の要求を待つ。ディスク制御装置は
リストの転送に引き続き、複数の不連続なセグメントに
書き込まれるデータをディスク装置に転送する。この
際、アドレスはリストの先頭データ(一のセグメントに
書き込まれるデータ)の論理ブロックアドレスを指定
し、転送サイズは書き込みリスト内の全データの総転送
ブロック数を指定し、データはリストに記載された順番
で転送される。ディスク装置はリストとデータを受け取
り、リストをディスク装置内のメモリに、データをディ
スク装置内のキャッシュメモリに格納し、直前に転送さ
れた書き込みリストを基に、リストの先頭データのアド
レスから位置決めを開始する。位置決めの後、リストに
記載されたデータをリストに示されたデータサイズに従
ってディスク装置内のキャッシュメモリから読み出し、
ディスクへ書き込む。リストに記載された他のデータも
同様にして、位置決めを開始し、位置決めの後該データ
をディスクへ書き込む。上記の様に順次連続してリスト
に記述された要求を処理し、全てのデータを書き終えた
ら、ディスク制御装置に終了を報告する。
In order to achieve the above object, a disk control apparatus according to the present invention, when writing data to a plurality of discontinuous areas in a disk device, sets each of the plurality of areas into a plurality of areas. The address and the size of the data to be written in the area are transferred to the disk device. More specifically, the disk control device of the present invention, when writing data to a plurality of discontinuous segments, sets the logical block address of each segment of the plurality of discontinuous segments and the size of the data to be written to the segment. Is created, and the list is transferred to the disk device. Since the data is written into a plurality of discontinuous segments, there will be a plurality of elements in the list. The disk device stores the transferred list in an internal memory and waits for the next request. Following the transfer of the list, the disk controller transfers the data to be written to the plurality of discontinuous segments to the disk device. At this time, the address specifies the logical block address of the head data of the list (data written to one segment), the transfer size specifies the total number of transfer blocks of all data in the write list, and the data is described in the list. Are transferred in the order specified. The disk device receives the list and the data, stores the list in the memory in the disk device, stores the data in the cache memory in the disk device, and determines the position from the address of the first data in the list based on the write list transmitted immediately before. Start. After the positioning, the data described in the list is read from the cache memory in the disk device according to the data size indicated in the list,
Write to disc. The positioning of the other data described in the list is similarly started, and after the positioning, the data is written to the disk. The requests described in the list are sequentially and sequentially processed as described above, and when all the data has been written, the end is reported to the disk controller.

【0009】本発明では、上述のように、ディスク装置
の不連続な複数の領域にデータを一括して書き込む際
に、上記複数の領域の各領域のアドレスとその領域に書
き込まれるデータの大きさとを上記ディスク装置に転送
するので、上記複数の領域の数分の書き込み要求を発行
する必要がない。また、大きなビットマップテーブルを
転送しなくてよいので、データ転送効率が向上する。
According to the present invention, as described above, when data is collectively written to a plurality of discontinuous areas of a disk drive, the address of each area of the plurality of areas and the size of the data to be written to the area are determined. Is transferred to the disk device, it is not necessary to issue write requests for the number of the plurality of areas. In addition, since it is not necessary to transfer a large bitmap table, data transfer efficiency is improved.

【0010】[0010]

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

【0011】図1は、本発明の記憶装置の一実施例を示
す。本実施例では記憶装置として磁気ディスク装置(以
下ディスク装置)を用い、また、ディスク装置とディス
ク制御装置を接続するインタフェースとしてSCSIバスを
用いた場合について示す。しかし、記憶装置として、DV
D−RAM等の磁気ディスク装置以外の装置を接続し、イン
タフェースとしてSCSIバス以外のインタフェースを用い
ることも可能である。
FIG. 1 shows an embodiment of the storage device of the present invention. In this embodiment, a case will be described in which a magnetic disk device (hereinafter, a disk device) is used as a storage device, and a SCSI bus is used as an interface for connecting the disk device and a disk control device. However, as a storage device, DV
It is also possible to connect a device other than the magnetic disk device, such as a D-RAM, and use an interface other than the SCSI bus as the interface.

【0012】図1に示すように、本実施例の記憶装置
は、ディスク制御装置102とディスク装置110、と該ディ
スク制御装置102と該ディスク装置110とを接続するイン
タフェースであるSCSIバス109とから構成されている。
As shown in FIG. 1, the storage device of this embodiment includes a disk controller 102, a disk device 110, and a SCSI bus 109 which is an interface connecting the disk controller 102 and the disk device 110. It is configured.

【0013】ディスク制御装置102は、SCSIバス109の制
御を行うSCSIバス制御回路108、上位装置101とのインタ
フェースの制御を行う上位インタフェース回路103、マ
イクロプロセッサ104、該ディスク制御装置の制御を行
うためのマイクロプログラムおよびディスク制御装置内
の制御情報が格納されているメモリ105、上位装置101と
ディスク装置110間の転送データを一時貯えるキャッシ
ュメモリ106及び、これらの回路を接続する内部バス107
を備えている。
A disk controller 102 controls a SCSI bus 109 for controlling a SCSI bus 109, a higher-level interface circuit 103 for controlling an interface with a higher-level device 101, a microprocessor 104, and controls the disk controller. Memory 105 storing microprograms and control information in the disk controller, a cache memory 106 for temporarily storing transfer data between the host device 101 and the disk device 110, and an internal bus 107 connecting these circuits.
It has.

【0014】上位装置101からデータを書き込むライト
命令が発行されると、マイクロプロセッサ104は該ライ
トデータをキャッシュメモリ106に格納する。マイクロ
プロセッサ104はライト命令を解析し、ライトデータの
格納されるディスク装置110と、そのSCSIバス上の論理
アドレスである論理ブロックアドレスと、データの転送
長である論理ブロック長とを算出し、該ディスク装置11
0が接続されているSCSIバス109のSCSIバス制御回路108
を用いて該データのライト処理を行う。
When a write command for writing data is issued from the host device 101, the microprocessor 104 stores the write data in the cache memory 106. The microprocessor 104 analyzes the write command, calculates a disk device 110 in which the write data is stored, a logical block address as a logical address on the SCSI bus, and a logical block length as a data transfer length. Disk unit 11
SCSI bus control circuit 108 of SCSI bus 109 to which 0 is connected
Is used to write the data.

【0015】以下、本発明のライト処理を、図2〜図10
を用いて詳しく説明する。なお、本発明のライト処理を
リストライトと呼ぶことにする。
Hereinafter, the write process of the present invention will be described with reference to FIGS.
This will be described in detail with reference to FIG. Note that the write processing of the present invention is referred to as wrist write.

【0016】図2は、図1におけるディスク制御装置のデ
ータおよび制御情報の一例を示したものである。
FIG. 2 shows an example of data and control information of the disk control device in FIG.

【0017】上位装置101から書き込まれたライトデー
タ201が、キャッシュメモリ106に格納されており、該ラ
イトデータ201のキャッシュメモリ106内のキャッシュア
ドレス並びにキャッシュサイズ、およびディスク装置11
0内の論理アドレス並びに論理ブロック長が、メモリ105
内のディスク装置要求キュー202に格納されている。デ
ィスク装置要求キュー202はディスク装置110にそれぞれ
一つ存在する。また、メモリ105内にはディスク装置110
に実際にライト要求を発行するときにSCSIバス制御回路
108が使用するキャッシュ内の情報を格納するデータ転
送リスト203、およびSCSIバス109上のコマンドとともに
ディスク装置110に送信するSCSI転送リスト204が格納さ
れている。また、メモリ105内には、データ転送リスト2
03およびSCSI転送リスト204を作成する際にマイクロプ
ロセッサ104が使用する作成中のリストの転送長を格納
するリストデータサイズ206、リスト内の要求数を示す
リスト要求数207、及びディスク装置要求キュー202に格
納できる最大の要求の数を示す最大リスト要求数205が
保持される。最大リスト要求数205は、ディスク装置110
の起動時にマイクロプロセッサ104がSCSIバス制御回路1
08を用いSCSIバス109を介しディスク装置110から受け取
る。リストが作成されると、一度に転送可能なデータの
最大サイズを示す最大リストデータサイズ208がメモリ1
05内に保持される。
The write data 201 written from the host device 101 is stored in the cache memory 106, and the cache address and cache size of the write data 201 in the cache memory 106 and the disk device 11
The logical address and logical block length in 0 are stored in the memory 105
Is stored in the disk device request queue 202. One disk device request queue 202 exists in each disk device 110. Also, the disk device 110 is stored in the memory 105.
Bus control circuit when actually issuing a write request
A data transfer list 203 for storing information in a cache used by 108 and a SCSI transfer list 204 to be transmitted to the disk device 110 together with a command on the SCSI bus 109 are stored. Also, the data transfer list 2 is stored in the memory 105.
03, a list data size 206 storing the transfer length of the list being created used by the microprocessor 104 when creating the SCSI transfer list 204, a list request number 207 indicating the number of requests in the list, and a disk device request queue 202. A maximum list request number 205 indicating the maximum number of requests that can be stored in the list is stored. The maximum list request number 205 is
When the microprocessor 104 starts up, the microprocessor 104
08 and received from the disk device 110 via the SCSI bus 109. When the list is created, the maximum list data size 208 indicating the maximum size of data that can be transferred at one time is stored in the memory 1.
It is kept in 05.

【0018】図3は、図1におけるディスク装置110の構
成の一例を示したものである。図1のディスク装置110の
それぞれは、図3の構成を備えているものとする。
FIG. 3 shows an example of the configuration of the disk device 110 in FIG. Each of the disk devices 110 in FIG. 1 has the configuration in FIG.

【0019】ディスク装置110は、ディスク制御部301、
データを格納するディスク311、及び該ディスク313のリ
ード/ライトを行うアクチュエータ310を備えている。
The disk device 110 includes a disk control unit 301,
A disk 311 for storing data and an actuator 310 for reading / writing the disk 313 are provided.

【0020】ディスク装置110は、ディスク制御装置102
とのインタフェースであるSCSIバス109の制御を行うSCS
Iバス制御回路302、ディスク装置110全体の制御を行う
マイクロプロセッサ303、該マイクロプロセッサ303のマ
イクロプログラムやSCSI転送リスト等の制御情報を格納
するメモリ304、ディスク制御装置102とディスク311と
の間で転送されるデータを一時格納するキャッシュメモ
リ312、及び各回路を接続する内部バス307を備えてい
る。
The disk device 110 includes a disk controller 102
That controls the SCSI bus 109, which is an interface with the
The I bus control circuit 302, a microprocessor 303 for controlling the entire disk device 110, a memory 304 for storing control information such as a microprogram of the microprocessor 303 and a SCSI transfer list, etc., between the disk control device 102 and the disk 311. A cache memory 312 for temporarily storing transferred data and an internal bus 307 for connecting each circuit are provided.

【0021】本実施例では、メモリ304の中にSCSI転送
リスト305を保持し、ディスク311上において物理的に離
れた領域のライトデータ313を一回のデータ転送で受け
取れることを特徴とする。キャッシュメモリ312内には
ディスク制御装置102から転送されたライトデータ313を
格納する。キャッシュメモリ312内で、ライトデータ313
は通常のライトコマンドで書き込まれた場合と同様に連
続領域に書き込まれる。
This embodiment is characterized in that a SCSI transfer list 305 is held in a memory 304, and write data 313 in a physically distant area on a disk 311 can be received in one data transfer. The cache memory 312 stores the write data 313 transferred from the disk control device 102. Write data 313 in the cache memory 312
Is written to the continuous area in the same manner as when writing by a normal write command.

【0022】図4は、リストライトのオペレーションコ
ードの一実施例を示す。リストライトはSCSI規格でサポ
ートされていないので、リストライトのオペレーション
コードとしてベンダ固有の0xC0を用いる。オペレーショ
ンコードはベンダ固有のコードを用い既存のコードと重
複しない値であればどのような値でも使用可能である。
バイト0はリストライトのコマンド401が格納されており
本実施例では0xC0が格納される。バイト1のビット5〜7
はコマンドを発行するLUN402を示す。バイト2〜4は続い
て転送されるパラメータリストの長さをバイトで示すパ
ラメータリスト長403が格納される。バイト5はコントロ
ールバイト404を示すr。バイト5のビット0は、SCSIバ
スの規格に示されるようにコマンドをリンクするための
Link406が格納される(本実施例では1を格納)。ビット
1はFlag405を示し、本実施例では1を格納する。
FIG. 4 shows an embodiment of an operation code for wrist write. Since the wrist write is not supported by the SCSI standard, a vendor-specific 0xC0 is used as the wrist write operation code. As the operation code, any value can be used as long as the operation code uses a code unique to the vendor and does not overlap with the existing code.
Byte 0 stores a list write command 401. In this embodiment, 0xC0 is stored. Byte 1 bits 5-7
Indicates the LUN 402 that issues the command. Bytes 2 to 4 store a parameter list length 403 indicating the length of the parameter list to be transferred subsequently in bytes. Byte 5 indicates the control byte 404. Bit 0 of byte 5 is used to link commands as specified in the SCSI bus standard.
Link 406 is stored (1 is stored in this embodiment). bit
1 indicates a Flag 405, and 1 is stored in this embodiment.

【0023】図5は、図4のリストライトコマンドととも
に転送されるパラメータリストの一例である。バイト0
〜3には0番目の要素の論理ブロックアドレス[0]501が格
納される。バイト4〜5は0番目の要素の転送データ長
[0]502がブロック数で格納される。同様にn−1番目の
要素まで格納される。従って、図5に示すリストデータ
は6nバイトのデータとなる。
FIG. 5 is an example of a parameter list transferred together with the list write command of FIG. Byte 0
3 stores the logical block address [0] 501 of the 0th element. In bytes 4 to 5, the transfer data length [0] 502 of the 0th element is stored in the number of blocks. Similarly, up to the (n-1) th element is stored. Therefore, the list data shown in FIG. 5 is 6n-byte data.

【0024】図6はリストライトに続いて転送されるラ
イトコマンドの一例である。バイト0〜1はSCSI規格の通
常のライトコマンドと同様に設定する。バイト2〜5は本
実施例では0番目の要素の論理ブロックアドレス603を格
納する。バイト7〜8は転送データ長603を示し、データ
のすべての要素のデータ長の和の値をブロック長で格納
する。バイト9はコントロールバイト605を示し、SCSIバ
スの規格に示されるようにコマンドをリンクしこのライ
トコマンドで最後であるので、ビット0はLink607で本実
施例では1を格納する。ビット1はFlag606を示し、本実
施例では0を格納する。
FIG. 6 shows an example of a write command transferred after the list write. Bytes 0 to 1 are set in the same manner as a normal write command of the SCSI standard. Bytes 2 to 5 store the logical block address 603 of the 0th element in this embodiment. Bytes 7 to 8 indicate the transfer data length 603, and store the sum of the data lengths of all elements of the data as a block length. Byte 9 indicates a control byte 605, and a command is linked as indicated in the SCSI bus standard. Since this is the last of this write command, bit 0 is Link 607 and 1 is stored in this embodiment. Bit 1 indicates Flag 606, and stores 0 in this embodiment.

【0025】図7は本実施例における上位装置101からデ
ィスク制御装置102へのデータのライト時の動作を示す
流れ図である。以下図6の流れ図を用い図1のディスク制
御装置102が上位装置101からライトコマンドを受けたも
のとして説明をする。まず最初に、ディスク制御装置10
2内の上位装置インタフェース回路103にて上位装置101
が発行したライトコマンドを受け取りマイクロプロセッ
サ104が該ライトコマンドを解析する(701)。マイクロ
プロセッサ104はライトコマンドと同時に送られてくる
アドレスおよび転送サイズから、必要な領域をキャッシ
ュメモリ106に用意できるか調べる(702)。キャッシュ
メモリ106上に空き領域が用意できない場合には、マイ
クロプロセッサ104は上位インタフェース回路103を介し
ライトコマンドを受け付けられない旨を上位装置101に
通知し処理を終える(707)。キャッシュメモリ106に領
域を用意できる場合には上位装置101が指定した大きさ
の領域を用意する(703)。データの格納に必要な領域
が用意できた場合には、マイクロプロセッサ104は上位
インタフェース回路103を介し上位装置101にデータ転送
の要求を送り、上位装置101から送られてくるライトデ
ータをキャッシュメモリ106上に用意した空き領域に格
納する(704)。ライトデータの転送が終了したらマイ
クロプロセッサ104上位装置インタフェース回路103を用
い上位装置101に該ライトコマンドの終了を報告する(7
05)。次にマイクロプロセッサ104は上位装置101から送
られたライトコマンドを解析し該ライトデータが格納さ
れれるディスク装置およびディスク装置内の論理アドレ
ス、論理ブロック長を計算し、キャッシュメモリ106に
格納したアドレスおよびサイズをメモリ105内のディス
ク装置要求キュー202に格納する(706)。
FIG. 7 is a flowchart showing the operation at the time of writing data from the higher-level device 101 to the disk control device 102 in this embodiment. Hereinafter, a description will be given using the flowchart of FIG. 6 assuming that the disk control device 102 of FIG. First, the disk controller 10
The higher-level device 101 in the higher-level device interface circuit 103 in 2
Receives the write command issued by the microprocessor 104 and the microprocessor 104 analyzes the write command (701). The microprocessor 104 checks whether the necessary area can be prepared in the cache memory 106 based on the address and the transfer size sent simultaneously with the write command (702). If a free area cannot be prepared in the cache memory 106, the microprocessor 104 notifies the host device 101 via the host interface circuit 103 that the write command cannot be accepted, and ends the processing (707). If an area can be prepared in the cache memory 106, an area having a size designated by the host device 101 is prepared (703). When an area necessary for storing data is prepared, the microprocessor 104 sends a data transfer request to the host device 101 via the host interface circuit 103, and writes the write data sent from the host device 101 to the cache memory 106. The data is stored in the free space prepared above (704). When the transfer of the write data is completed, the end of the write command is reported to the host device 101 by using the microprocessor 104 or the host device interface circuit 103 (see FIG.
05). Next, the microprocessor 104 analyzes the write command sent from the higher-level device 101, calculates a logical address and a logical block length in the disk device and the disk device in which the write data is stored, calculates the address stored in the cache memory 106, The size is stored in the disk device request queue 202 in the memory 105 (706).

【0026】図8は、ディスク制御装置102に格納されて
いるライトデータ201をディスク装置110にライト処理を
する動作を示す。
FIG. 8 shows an operation of writing the write data 201 stored in the disk control device 102 to the disk device 110.

【0027】ディスク制御装置102内のマイクロプロセ
ッサ104は、キャッシュメモリ106内のライトデータ201
が一定量を越えたか、または一定時間を越えたと判断す
ると、図8に示す処理フローにより、該ライトデータ201
を該当するディスク装置110にライト処理を行う。
The microprocessor 104 in the disk controller 102 writes the write data 201 in the cache memory 106
When the write data 201 exceeds the predetermined amount or exceeds the predetermined time, the write data 201 is determined by the processing flow shown in FIG.
Is written to the corresponding disk device 110.

【0028】以下、図8に示す処理フローを説明する。Hereinafter, the processing flow shown in FIG. 8 will be described.

【0029】使用するデータの初期化のため、マイクロ
プロセッサ104はリストデータサイズ206とリスト要求数
207に0を格納する(801)。次にマイクロプロセッサ104
はディスク装置要求キュー202をサーチする(802)。該
キュー内に要求がある場合には現状のリストデータサイ
ズ206と該要求キューの先頭の要求の転送サイズとリス
トデータサイズ206を加算し、最大リストデータサイズ2
08と比較する(803)。最大リストデータサイズ208より
小さいか、または先頭の要求(リスト要求数207=0)の
場合には、マイクロプロセッサ104は該要求をディスク
装置要求キュー202より抜き出し、その要求をデータ転
送リスト203、SCSI転送リスト204のリスト要求数207に
格納されている数値番目の要素として格納する(80
4))。すなわち、リスト要求数207にj(jは負でない整
数)が格納されていれば、その要求をj番目の要素とし
て格納する。データ転送リスト203への格納は、マイク
ロプロセッサ104がディスク装置要求キュー202のキャッ
シュサイズ[j]をデータ転送リスト203のサイズ[j]へ、
ディスク装置要求キュー202のキャッシュアドレス[j]を
データ転送リスト内のアドレス[j]へそれぞれ格納する
ことにより行われる。ここで、jはリスト要求数207に格
納されている数値である。SCSI転送リスト204への格納
は、マイクロプロセッサ104がディスク装置要求キュー2
02の論理アドレス[j]をSCSI転送リスト204の論理アドレ
ス[j]へ、ディスク装置要求キュー202の論理ブロック長
[j]をSCSI転送リスト204の論理ブロック長[j]へ格納す
ることにより行われる。ここで、jはリスト要求数207に
格納されている数値である。
To initialize the data to be used, the microprocessor 104 sets the list data size 206 and the number of list requests.
0 is stored in 207 (801). Next, the microprocessor 104
Searches the disk device request queue 202 (802). If there is a request in the queue, the current list data size 206, the transfer size of the first request in the request queue, and the list data size 206 are added, and the maximum list data size 2
Compare with 08 (803). If the request is smaller than the maximum list data size 208 or is the first request (the number of list requests 207 = 0), the microprocessor 104 extracts the request from the disk device request queue 202, and extracts the request from the data transfer list 203 and the SCSI. It is stored as the number-th element stored in the list request number 207 of the transfer list 204 (80
Four)). That is, if j (j is a non-negative integer) is stored in the list request number 207, the request is stored as the j-th element. In the storage in the data transfer list 203, the microprocessor 104 converts the cache size [j] of the disk device request queue 202 into the size [j] of the data transfer list 203,
This is performed by storing the cache address [j] of the disk device request queue 202 at the address [j] in the data transfer list. Here, j is a numerical value stored in the list request number 207. The storage in the SCSI transfer list 204 is performed by the microprocessor 104 by the disk device request queue 2.
02 logical address [j] to SCSI transfer list 204 logical address [j], logical block length of disk device request queue 202
This is performed by storing [j] in the logical block length [j] of the SCSI transfer list 204. Here, j is a numerical value stored in the list request number 207.

【0030】リストの格納を行った後マイクロプロセッ
サ104はリスト要求数207をインクリメントする(80
4)。 マイクロプロセッサ104はデータ転送リスト203、
SCSI転送リスト204に要求を格納したらリスト要求数207
と最大リスト数207と比較し最大リスト数207より大きい
場合にはディスク装置要求キューサーチ処理を終わり、
ディスク装置要求キューサーチ処理を繰り返す(80
6)。
After storing the list, the microprocessor 104 increments the list request number 207 (80
Four). The microprocessor 104 has a data transfer list 203,
When a request is stored in the SCSI transfer list 204, the number of list requests 207
When compared with the maximum list number 207 and the maximum list number 207, the disk device request queue search process is terminated,
Repeat the disk device request queue search process (80
6).

【0031】ディスク装置要求キューサーチ処理を終了
後、リスト要求数207をデクリメントし(807)、ディス
ク装置110に対するコマンドを発行する(808)。マイク
ロプロセッサ104はコマンドを発行した後、正常終了な
らば、ディスク装置要求キュー202内の発行した要求(0
番目からリスト要求数207−1番目まで)を削除する(80
9、810)。コマンド発行が終了するとディスク装置要求
キュー202はそのままで、ディスク制御装置処理を終了
する(809)。
After the disk device request queue search process is completed, the number of list requests 207 is decremented (807), and a command for the disk device 110 is issued (808). If the microprocessor 104 issues the command and terminates normally, the issued request (0
(From the 20th to the list request number 207-1) is deleted (80
9, 810). When the command issuance ends, the disk controller processing ends with the disk device request queue 202 remaining unchanged (809).

【0032】図9、10を用いてコマンド発行処理につい
て説明する。まず最初にマイクロプロセッサ104はリス
ト要求数207が1よりも大きいか調べる(901)。リスト
要求数207が1である場合には通常のライト処理を行う
(901)。リスト要求数207が1よりも大きい場合には以
下に示すリストライトの処理を行う。命令を発行するデ
ィスク装置110が接続されているSCSIバス109のSCSIバス
制御回路108にSCSIバス109を確保するよう指示する。具
体的にはSCSIバスのアービトレーションを行う。SCSIバ
スが確保出来たら、セレクションフェーズにてコマンド
を発行するディスク装置110を選択し、メッセージフェ
ーズで最初のメッセージとしてIdentifyメッセージを送
信し、次にSCSIのコマンド発行する処理を行う。
The command issuing process will be described with reference to FIGS. First, the microprocessor 104 checks whether the number of list requests 207 is greater than 1 (901). If the number of list requests 207 is 1, normal write processing is performed (901). If the number of list requests 207 is larger than 1, the following list write process is performed. It instructs the SCSI bus control circuit 108 of the SCSI bus 109 to which the disk device 110 issuing the instruction is connected to secure the SCSI bus 109. Specifically, SCSI bus arbitration is performed. When the SCSI bus is secured, the disk device 110 that issues the command is selected in the selection phase, the Identify message is transmitted as the first message in the message phase, and the process of issuing the SCSI command is performed.

【0033】ディスク装置110はメッセージフェーズでI
dentifyメッセージを受け取るとコマンドフェーズにバ
スの状態を変更し、ディスク装置102からのコマンドを
受け取るコマンドフェーズへバスの状態を変更する。次
に、リストライトコマンド400をディスク装置110に発行
する(903)。リストライトコマンド400のパラメータリ
スト長403はリストライトコマンド400の次に転送するパ
ラメータリスト500の長さを示し、本実施例ではn(=リ
スト要求数207)個のライトデータを転送するので6nバ
イトとなる。リストライトコマンド400のコントロール
バイト404の第0ビットのLink406には1を第1ビットのFla
g405には1を示し、続くライトコマンドとリンクしてい
ることを示す。ディスク装置110はSCSIバス制御回路302
にディスク制御装置102から送られたリストライトコマ
ンドをマイクロプロセッサ303で解析する。マイクロプ
ロセッサ303はリストライトコマンド400を受け取ると
と、SCSIバス制御回路302にSCSIバス109の状態をデータ
フェーズに変更するよう指示する。データフェーズでは
パラメータリスト500を転送する(904)。まず、マイク
ロプロセサ104はディスク装置110が接続されているSCSI
バス109のSCSIバス制御回路108にメモリ105内のSCSI転
送リスト204を格納する。SCSIバス制御回路108はSCSI転
送リスト204を受け取ると、SCSIバス108を介しディスク
装置110にパラメータリスト500としてSCSI転送リスト20
4を転送する。SCSIバス109を介して転送されたパラメー
タリスト500はSCSIバス制御回路302に格納され、マイク
ロプロセッサ303がリストライトコマンド500に記載され
ているパラメータリスト長403の分だけメモリ304内に領
域を確保しSCSI転送リスト305として格納する(100
2)。マイクロプロセッサ303はキャッシュメモリ306内
にSCSI転送リスト305内の転送ブロック長の合計の領域
を用意し、各要素の格納されるキャッシュメモリ306内
のアドレスを計算しSCSI転送リスト305内のキャッシュ
メモリアドレスに格納する(1003)。SCSI転送リスト30
5のキャッシュアドレス設定が終わった後マイクロプロ
セッサ303はディスク313へのデータ書き込み動作を開始
する。先ず最初にマイクロプロセッサ303はメモリ304内
のカウンタiを0に設定し、データの転送を待たずにハー
ドディスク制御回路308を介しリード/ライト制御回路3
09に論理アドレス[0]の位置へアクチュエータ312を移動
するよう指示する(1004)。
The disk unit 110 receives the I
When the dentify message is received, the bus state is changed to a command phase, and the bus state is changed to a command phase for receiving a command from the disk device 102. Next, a list write command 400 is issued to the disk device 110 (903). The parameter list length 403 of the list write command 400 indicates the length of the parameter list 500 to be transferred next to the list write command 400. In this embodiment, since n (= 207 list requests) 207 write data are transferred, 6n bytes Becomes 1 is assigned to the 1st bit Fla for the 0th bit Link406 of the control byte 404 of the list write command 400.
g405 shows 1 to indicate that it is linked to the following write command. The disk device 110 is a SCSI bus control circuit 302
Then, the microprocessor 303 analyzes the list write command sent from the disk control device 102. Upon receiving the list write command 400, the microprocessor 303 instructs the SCSI bus control circuit 302 to change the state of the SCSI bus 109 to the data phase. In the data phase, the parameter list 500 is transferred (904). First, the microprocessor 104 is the SCSI to which the disk device 110 is connected.
The SCSI transfer list 204 in the memory 105 is stored in the SCSI bus control circuit 108 of the bus 109. When the SCSI bus control circuit 108 receives the SCSI transfer list 204, the SCSI transfer list 20 is transferred to the disk device 110 via the SCSI bus 108 as a parameter list 500.
Transfer 4. The parameter list 500 transferred via the SCSI bus 109 is stored in the SCSI bus control circuit 302, and the microprocessor 303 secures an area in the memory 304 by the parameter list length 403 described in the list write command 500. Store as SCSI transfer list 305 (100
2). The microprocessor 303 prepares the total area of the transfer block length in the SCSI transfer list 305 in the cache memory 306, calculates the address in the cache memory 306 where each element is stored, and calculates the cache memory address in the SCSI transfer list 305. (1003). SCSI transfer list 30
After the setting of the cache address of 5, the microprocessor 303 starts the operation of writing data to the disk 313. First, the microprocessor 303 sets the counter i in the memory 304 to 0, and without waiting for the data transfer, the read / write control circuit 3 via the hard disk control circuit 308.
09 is instructed to move the actuator 312 to the position of the logical address [0] (1004).

【0034】ディスク装置110がリストライトコマンド4
00およびパラメータリスト500を正常に受け取ると、マ
イクロプロセッサ303はSCSIバスの状態をメッセージイ
ンフェーズに変更しコマンドが正常に終了したことを示
すコマンドコンプリートメッセージをディスク制御装置
102に転送するようSCSIバス制御回路302に指示する。そ
して、続くライトコマンドが受け付けられるようSCSIバ
スをコマンドフェーズに変更する。
When the disk device 110 receives the list write command 4
Upon successfully receiving 00 and the parameter list 500, the microprocessor 303 changes the state of the SCSI bus to the message in phase, and sends a command complete message indicating that the command has been normally completed to the disk controller.
It instructs the SCSI bus control circuit 302 to transfer the data to 102. Then, the SCSI bus is changed to the command phase so that the subsequent write command is accepted.

【0035】マイクロプロセッサ104はSCSIバス制御回
路108からディスク装置110が発行したコマンドコンプリ
ートメッセージを受け取るとSCSIバス制御回路108にSCS
Iバス109でディスク装置110にライトコマンド600を発行
する(905)。ここで、ライトコマンド600の論理ブロッ
クアドレス603はSCSI転送リスト204の先頭の論理ブロッ
クアドレスとし、転送データ長604はSCSI転送リスト204
内の転送ブロック長の合計値とする。ディスク装置110
がライトコマンド600を受け取り、データを受け取れる
場合には続いてSCSIバスの状態をデータアウトフェーズ
としデータ転送を受け取る。マイクロプロセッサ104はS
CSI制御回路108に転送リスト203を設定し(906)、転送リ
スト203に示した順番でキャッシュメモリ106内のライト
データ201をSCSIバス109を経由しディスク装置110に転
送する(907)。SCSIバス109を経由しディスク装置内に
送られたライトデータはマイクロプロセッサ303の指示
でメモリ305内のSCSI転送リスト305内のキャッシュメモ
リアドレスに従いSCSIバス制御回路302からキャッシュ
メモリ306の空き領域へ格納される(1005)。SCSIバス
転送リスト204のデータがすべて転送されたとき、SCSI
バス制御回路はSCSIバス108の状態をメッセージインフ
ェーズに変更しSCSIバス109を介しSCSIバス制御回路108
にディスコネクトを報告し、SCSIバス109をを切り離
す。
When the microprocessor 104 receives the command complete message issued by the disk device 110 from the SCSI bus control circuit 108, the microprocessor 104 sends the SCS to the SCSI bus control circuit 108.
A write command 600 is issued to the disk device 110 via the I bus 109 (905). Here, the logical block address 603 of the write command 600 is the first logical block address of the SCSI transfer list 204, and the transfer data length 604 is the SCSI transfer list 204.
Is the total value of the transfer block length in Disk device 110
Receives the write command 600 and, if it can receive data, then makes the state of the SCSI bus a data out phase and receives data transfer. Microprocessor 104 is S
The transfer list 203 is set in the CSI control circuit 108 (906), and the write data 201 in the cache memory 106 is transferred to the disk device 110 via the SCSI bus 109 in the order shown in the transfer list 203 (907). The write data sent to the disk device via the SCSI bus 109 is stored in the free space of the cache memory 306 from the SCSI bus control circuit 302 according to the cache memory address in the SCSI transfer list 305 in the memory 305 at the instruction of the microprocessor 303. (1005). When all the data in the SCSI bus transfer list 204 has been transferred,
The bus control circuit changes the state of the SCSI bus 108 to the message in phase, and the SCSI bus control circuit 108
And disconnect the SCSI bus 109.

【0036】アクチュエータ312が論理アドレス[0]への
位置付けが終わると、マイクロプロセッサ303は0番目の
データがキャッシュメモリ306内に格納済みの場合にキ
ャッシュメモリアドレス[0]と論理ブロック長[0]をアク
チュエータ312を介しハードディスク制御回路308へリー
ド/ライト制御回路309が該アドレスのデータをディスク
313へ書き込む様指示する。キャッシュメモリ306上に該
ライトデータ307が転送済みで無い場合に該ライトデー
が307がキャッシュメモリ306に格納されるまで待ち、格
納された後上記ディスク313への書き込み処理を行う(1
006)。データの書き込みの終了はリード/ライト制御回
路309からハードディスク制御回路308経由でマイクロプ
ロセッサ304報告される。マイクロプロセッサ304は0番
目の要素の書き込みが終了したのち、カウンタiをイン
クインクリメントし要素数と比較しカウンタiが要素数
よりも小さければ、次に論理アドレス[i]をハードディ
スク制御回路308へ指示し、ハードディスク制御回路308
がリード/ライト制御回路309経由でアクチュエータ312
が該アドレスへ位置付けするよう指示する(1007、100
8、1010)。アクチュエータ312が当該アドレスへ位置付
けされたのち、マイクロプロセッサ304はキャッシュメ
モリアドレス[i]と論理ブロック長[i]をハードディスク
制御回路308へリード/ライト制御回路314がアクチュエ
ータを介し該アドレスのデータをディスク313へ書き込
む様指示する(1006)。再び、要求があるか判定しすべ
ての要素が書き込まれるまで処理を続ける。すべてのデ
ータがディスク313に書き込まれたのち、マイクロプロ
セッサ304はSCSIバス制御回路302にSCSIバス109のアー
ビトレーションを行いSCSIバス109を確保し、SCSIバス
制御回路108をリセレクトするように指示する。リセレ
クトが成功したとSCSIバス制御回路302がマイクロプロ
セサ304に報告を行った後、マイクロプロセッサ304はSC
SIバス109の状態をメッッセージインフェーズとしIdent
ifyメッセージをSCSIバス制御回路108に対し発行し、SC
SIバス109の状態をステータスフェーズとしデータ転送
の正常終了をSCSIバス制御回路108に転送し、SCSIバス1
09の状態をメッセージインフェーズに変更しCommand Co
mpleteメッセージをSCSIバス制御回路108に発行し、最
後にバスを切り離し終了報告を終えるよう指示する(90
8、1010)。ディスク装置110がディスク制御装置102のマ
イクロプロセッサ104に対しコマンドが終了したことを
告げると(コマンドコンプリートの報告)、該ライトデ
ータ[0]201からライトデータ[n-1]に対する処理が終了
する。
When the positioning of the actuator 312 to the logical address [0] is completed, the microprocessor 303 sets the cache memory address [0] and the logical block length [0] when the 0th data has been stored in the cache memory 306. The read / write control circuit 309 sends the data at the address to the hard disk control circuit 308 via the actuator 312.
Instruct 313 to write. If the write data 307 has not been transferred to the cache memory 306, the process waits until the write data 307 is stored in the cache memory 306, and after the write data 307 is stored, performs a write process to the disk 313 (1).
006). The end of data writing is reported from the read / write control circuit 309 to the microprocessor 304 via the hard disk control circuit 308. After the writing of the 0-th element is completed, the microprocessor 304 increments the counter i and compares it with the number of elements. If the counter i is smaller than the number of elements, the microprocessor 304 indicates the logical address [i] to the hard disk control circuit 308 next. And the hard disk control circuit 308
The actuator 312 via the read / write control circuit 309
Instructs to locate to the address (1007, 100
8, 1010). After the actuator 312 is positioned at the address, the microprocessor 304 sends the cache memory address [i] and the logical block length [i] to the hard disk control circuit 308, and the read / write control circuit 314 sends the data at the address to the hard disk control circuit 308 via the actuator. Instruct 313 to write (1006). Again, it is determined whether there is a request and the process is continued until all elements are written. After all the data has been written to the disk 313, the microprocessor 304 instructs the SCSI bus control circuit 302 to perform arbitration of the SCSI bus 109, secure the SCSI bus 109, and reselect the SCSI bus control circuit 108. After the SCSI bus control circuit 302 reports to the microprocessor 304 that the reselection was successful, the microprocessor 304
The status of the SI bus 109 is set to the message-in phase and Ident
issue a ify message to the SCSI bus control circuit 108, and
The status of the SI bus 109 is set to the status phase, and the normal end of the data transfer is transferred to the SCSI bus control circuit 108.
09 is changed to the message in phase and Command Co
A mplete message is issued to the SCSI bus control circuit 108 to instruct that the bus is finally disconnected and the end report is completed (90
8, 1010). When the disk device 110 notifies the microprocessor 104 of the disk control device 102 that the command has been completed (report of command complete), the processing for the write data [0] 201 to the write data [n-1] is completed.

【0037】以上により、従来なら複数のライトコマン
ドを発行しデータをライトしていた処理が、一回のリス
トライトコマンドで済みディスク制御装置102のマイク
ロプロセッサ104の処理オーバヘッド、SCSIバス109の使
用率の削減がかのうとなり、離散データの指示にリスト
データを使用することで、広い範囲のライトデータを処
理の対象とすることが可能となった。
As described above, the process of conventionally issuing a plurality of write commands and writing data is now completed with a single list write command, the processing overhead of the microprocessor 104 of the disk controller 102, and the usage rate of the SCSI bus 109. The use of list data for indicating discrete data makes it possible to process a wide range of write data.

【0038】本実施例ではディスク装置110内でディス
ク311への位置づけ、書き込みをSCSI転送リスト305の先
頭から実行した例を示したがディスクのアクチュエータ
310の動きが最小限になる様な順番でディスク311への書
き込みを行うことも可能である。
In the present embodiment, an example has been described in which the position is set to the disk 311 in the disk device 110 and the writing is executed from the head of the SCSI transfer list 305.
It is also possible to write to the disc 311 in an order that minimizes the movement of the 310.

【0039】[0039]

【発明の効果】以上説明したように本発明によれば、デ
ィスク装置の不連続な複数のセグメントにデータを一括
して書き込む際に、上記複数のセグメントの各セグメン
トのアドレスとその領域に書き込まれるデータの大きさ
とを上記ディスク装置に転送するので、上記複数のセグ
メント数分の書き込み要求を発行する必要がない。ま
た、大きなビットマップテーブルを転送しなくてよいの
で、データ転送効率が向上する。これにより、ディスク
装置の利用効率が向上し、ディスク装置を多数制御する
ようなディスク制御装置においても制御オーバヘッドが
減少し利用効率が向上する。
As described above, according to the present invention, when data is collectively written to a plurality of discontinuous segments of a disk device, the data is written to the address of each segment of the plurality of segments and its area. Since the data size is transferred to the disk device, it is not necessary to issue write requests for the plurality of segments. In addition, since it is not necessary to transfer a large bitmap table, data transfer efficiency is improved. As a result, the utilization efficiency of the disk device is improved, and even in a disk control device that controls a large number of disk devices, the control overhead is reduced and the utilization efficiency is improved.

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

【図1】本発明に係る記憶装置の一構成例を示す図。FIG. 1 is a diagram showing a configuration example of a storage device according to the present invention.

【図2】本発明に係るディスク制御装置の一構成例を示
す図。
FIG. 2 is a diagram showing a configuration example of a disk control device according to the present invention.

【図3】本発明に係るディスク装置の一構成例を示す
図。
FIG. 3 is a diagram showing a configuration example of a disk device according to the present invention.

【図4】本発明に係るSCSIコマンドの一記述例を示す
図。
FIG. 4 is a diagram showing a description example of a SCSI command according to the present invention.

【図5】本発明に係るパラメータリストの一記述例を示
す図。
FIG. 5 is a diagram showing a description example of a parameter list according to the present invention.

【図6】本発明に係るSCSIコマンドの一記述例を示す
図。
FIG. 6 is a diagram showing a description example of a SCSI command according to the present invention.

【図7】本発明に係るディスク制御装置の一動作を示す
流れ図。
FIG. 7 is a flowchart showing one operation of the disk control device according to the present invention.

【図8】本発明に係るディスク制御装置の一動作を示す
流れ図。
FIG. 8 is a flowchart showing one operation of the disk control device according to the present invention.

【図9】本発明に係るディスク制御装置の一動作を示す
流れ図。
FIG. 9 is a flowchart showing one operation of the disk control device according to the present invention.

【図10】本発明に係るディスク装置の一動作を示す流
れ図。
FIG. 10 is a flowchart showing one operation of the disk device according to the present invention.

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

101・・・上位装置,102・・・ディスク制御装置,103・・・上位
インタフェース回路,104・・・マイクロプロセッサ,105・
・・メモリ,106・・・キャッシュメモリ,107・・・内部バス,
108・・・SCSIバス制御回路,109・・・SCSIバス,110・・・ディ
スク装置,111・・・データ転送リスト,201・・・ライトデー
タ,202・・・ディスク装置要求キュー,203・・・データ転送
リスト,204・・・SCSI転送リスト,205・・・最大リスト要求
数,206・・・リストデータサイズ,207・・・リスト要求数,
208・・・最大リストデータサイズ,301・・・ディスク制御
部,302・・・SCSIバス制御回路,303・・・マイクロプロセッ
サ,304・・・メモリ,305・・・SCSI転送リスト,306・・・カウ
ンタi,307・・・内部バス,308・・・ハードディスク制御回
路,309・・・リード/ライト制御回路,310・・・アクチュエ
ータ,311・・・ディスク,312・・・キャッシュメモリ,400・
・・リストライトコマンド,500・・・パラメータリスト,60
0・・・ライトコマンド。
101: Host device, 102: Disk control device, 103: Host interface circuit, 104: Microprocessor, 105
..Memory, 106 cache memory, 107 internal bus,
108: SCSI bus control circuit, 109: SCSI bus, 110: Disk device, 111: Data transfer list, 201: Write data, 202: Disk device request queue, 203 ... Data transfer list, 204: SCSI transfer list, 205: Maximum number of list requests, 206: List data size, 207: Number of list requests,
208: maximum list data size, 301: disk control unit, 302: SCSI bus control circuit, 303: microprocessor, 304: memory, 305: SCSI transfer list, 306 ...・ Counter i, 307 ・ ・ ・ Internal bus, 308 ・ ・ ・ Hard disk control circuit, 309 ・ ・ ・ Read / write control circuit, 310 ・ ・ ・ Actuator, 311 ・ ・ ・ Disk, 312 ・ ・ ・ Cache memory, 400 ・
..List write command, 500 ... parameter list, 60
0: Write command.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】上位装置から送られたデータをディスク装
置に転送するディスク制御装置において、 上記ディスク装置の不連続な複数の領域にデータを書き
込む際に、上記複数の領域の各領域のアドレスとその領
域に書き込まれるデータの大きさとを上記ディスク装置
に転送することを特徴とするディスク制御装置。
In a disk control device for transferring data sent from a higher-level device to a disk device, when writing data to a plurality of discontinuous regions of the disk device, an address of each region of the plurality of regions is written. A disk control device for transferring the size of data to be written to the area to the disk device.
【請求項2】上位装置から送られたデータをディスク装
置に転送するディスク制御装置において、 上記ディスク装置の不連続な複数のセグメントにデータ
を書き込む際に、上記複数のセグメントの各セグメント
の論理ブロックアドレスとそのセグメントに書き込まれ
るデータの大きさとを上記ディスク装置に転送すること
を特徴とするディスク制御装置。
2. A disk controller for transferring data sent from a higher-level device to a disk device, wherein when writing data to a plurality of discontinuous segments of the disk device, a logical block of each segment of the plurality of segments is written. A disk control device for transferring an address and the size of data to be written to the segment to the disk device.
【請求項3】上位装置から送られたデータをディスク装
置に転送するディスク制御装置において、 上記ディスク装置の不連続な複数の領域にデータを書き
込む際に、上記データに対して、上記複数の領域の各領
域のアドレスとその領域に書き込まれるデータの大きさ
とを要素とするリストを作成し、上記リストを上記ディ
スク装置に転送することを特徴とするディスク制御装
置。
3. A disk control device for transferring data sent from a higher-level device to a disk device, wherein when writing data to a plurality of discontinuous regions of the disk device, the data is written to the plurality of areas. A disk control device that creates a list including, as elements, the address of each area and the size of data to be written in the area, and transfers the list to the disk device.
【請求項4】上記リストを作成する際に、上記要素に順
序づけをし、上記順序に従って、上記要素に対応する領
域に書き込むデータを上記ディスク装置に転送すること
を特徴とする請求項3記載のディスク制御装置。
4. The apparatus according to claim 3, wherein when the list is created, the elements are ordered, and data to be written to an area corresponding to the element is transferred to the disk device in accordance with the order. Disk control unit.
【請求項5】ディスク装置と、 上位装置から送られたデータを上記ディスク装置に転送
するディスク制御装置とを有する記憶装置において、 上記ディスク制御装置は、上記ディスク装置の不連続な
複数の領域にデータを書き込む際に、上記複数の領域の
各領域のアドレスとその領域に書き込まれるデータの大
きさとを上記ディスク装置に転送し、 上記ディスク装置は、各領域のアドレスとその領域に書
き込まれるデータの大きさに従って、上記データを不連
続な複数の領域に順次書き込むことを特徴とする記憶装
置。
5. A storage device having a disk device and a disk control device for transferring data sent from a higher-level device to the disk device, wherein the disk control device stores data in a plurality of discontinuous areas of the disk device. When writing data, the address of each area of the plurality of areas and the size of data to be written to the area are transferred to the disk device, and the disk device transfers the address of each area and the data to be written to the area. A storage device for sequentially writing the data in a plurality of discontinuous areas according to the size.
【請求項6】ディスクに対するクチュエータの動きが最
小となるような順序で上記データを不連続な複数の領域
に書き込むことを特徴とする請求項5記載の記憶装置。
6. The storage device according to claim 5, wherein said data is written to a plurality of discontinuous areas in an order such that movement of the actuator with respect to the disk is minimized.
【請求項7】ディスク装置と、 上位装置から送られたデータを上記ディスク装置に転送
するディスク制御装置とを有する記憶装置において、 上記ディスク制御装置は、上記複数の領域の各領域のア
ドレスとその領域に書き込まれるデータの大きさとを要
素とし、該要素に順序づけをしたリストを作成し、上記
リストを上記ディスク装置に転送し、 上記ディスク装置は、上記順序に従って、上記要素に対
応する領域にデータを書き込むことを特徴とする記憶装
置。
7. A storage device comprising: a disk device; and a disk control device for transferring data sent from a higher-level device to the disk device, wherein the disk control device includes an address of each area of the plurality of areas, Using the size of data to be written in the area as an element, creating a list in which the elements are ordered, transferring the list to the disk device, the disk device stores data in an area corresponding to the element in accordance with the order. A storage device for writing the data.
【請求項8】データを記憶する記憶媒体と、上位装置か
ら送られたデータを上記記憶媒体へ書き込み処理を行う
制御部とを有する記憶装置において、 上記制御部は、上記記憶媒体の不連続な複数の領域にデ
ータを書き込む際に、上記データに対して、上記複数の
領域の各領域のアドレスとその領域に書き込まれるデー
タの大きさとを要素とするリストを作成し、上記リスト
に従って、上記記憶媒体の不連続な複数の領域にデータ
を一括して書き込むことを特徴とする記憶装置。
8. A storage device comprising: a storage medium for storing data; and a control unit for performing a process of writing data sent from a higher-level device to the storage medium, wherein the control unit includes a non-contiguous storage medium for the storage medium. When writing data to a plurality of areas, a list is created with the address of each area of the plurality of areas and the size of data to be written to the area for the data, and the list is stored according to the list. A storage device, wherein data is collectively written to a plurality of discontinuous areas of a medium.
JP14083198A 1998-05-22 1998-05-22 Disk controller and storage medium Pending JPH11338644A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14083198A JPH11338644A (en) 1998-05-22 1998-05-22 Disk controller and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14083198A JPH11338644A (en) 1998-05-22 1998-05-22 Disk controller and storage medium

Publications (1)

Publication Number Publication Date
JPH11338644A true JPH11338644A (en) 1999-12-10

Family

ID=15277743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14083198A Pending JPH11338644A (en) 1998-05-22 1998-05-22 Disk controller and storage medium

Country Status (1)

Country Link
JP (1) JPH11338644A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009008084A1 (en) * 2007-07-12 2009-01-15 Fujitsu Limited Disk array device, control method and control program
US7539395B2 (en) 2001-07-18 2009-05-26 Sony United Kingdom Limited Audio/video recording apparatus and method of multiplexing audio/video data
JP2012508428A (en) * 2008-12-22 2012-04-05 インテル コーポレイション Method and system for queuing transfers of multiple non-contiguous address ranges with a single command

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539395B2 (en) 2001-07-18 2009-05-26 Sony United Kingdom Limited Audio/video recording apparatus and method of multiplexing audio/video data
WO2009008084A1 (en) * 2007-07-12 2009-01-15 Fujitsu Limited Disk array device, control method and control program
JP2012508428A (en) * 2008-12-22 2012-04-05 インテル コーポレイション Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
US9128699B2 (en) 2008-12-22 2015-09-08 Intel Corporation Method and system for queuing transfers of multiple non-contiguous address ranges with a single command

Similar Documents

Publication Publication Date Title
US5809279A (en) Computer system including a device with a plurality of identifiers
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
US7930474B2 (en) Automated on-line capacity expansion method for storage device
US5276840A (en) Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
US5548788A (en) Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
US6105076A (en) Method, system, and program for performing data transfer operations on user data
JP2561398B2 (en) Redundant disk controller
JPH06110617A (en) Disk control method
US6799228B2 (en) Input/output control apparatus, input/output control method and information storage system
JP4461089B2 (en) Storage control apparatus and storage control method
EP2093656B1 (en) Storage system and access instruction sending method
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
JPH11338644A (en) Disk controller and storage medium
US5875458A (en) Disk storage device
US6434635B1 (en) Methods, apparatus, and computer program product for data transfer using a scatter-gather list
JPH05289818A (en) Disk array control system
JP2004227594A (en) Computer system and secondary storage device
US11669268B2 (en) Information processing apparatus and control method therefor
JP2004139482A (en) Method for monitoring and setting command processing time of magnetic disk control device
JPH10333984A (en) Recording and reproducing device
JPH10214247A (en) External storage device interface
JPH04255960A (en) Parallel operating method of disk drives
JPH11259363A (en) Memory control unit
JPH09305330A (en) Disk array system
JPS61285566A (en) Input and output controller