[go: up one dir, main page]

JPH05289818A - Disk array control system - Google Patents

Disk array control system

Info

Publication number
JPH05289818A
JPH05289818A JP4087223A JP8722392A JPH05289818A JP H05289818 A JPH05289818 A JP H05289818A JP 4087223 A JP4087223 A JP 4087223A JP 8722392 A JP8722392 A JP 8722392A JP H05289818 A JPH05289818 A JP H05289818A
Authority
JP
Japan
Prior art keywords
data
command
disk
read
host computer
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
JP4087223A
Other languages
Japanese (ja)
Other versions
JP2774728B2 (en
Inventor
Naoto Matsunami
直人 松並
Minoru Yoshida
稔 吉田
Shoichi Miyazawa
章一 宮沢
Takashi Oeda
高 大枝
Kiyoshi Honda
聖志 本田
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 JP4087223A priority Critical patent/JP2774728B2/en
Priority to US08/043,841 priority patent/US5740465A/en
Publication of JPH05289818A publication Critical patent/JPH05289818A/en
Application granted granted Critical
Publication of JP2774728B2 publication Critical patent/JP2774728B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ホストからの複数の順次のコマンドがディス
クアレイ装置の連続領域のアクセス要求であるとき、該
コマンドの実行を高速化する。 【構成】 上位計算機から複数のコマンドが順次送られ
てくると、これらコマンドはホストコマンド解釈手段1
3で解釈されて各ディスク装置のディスクコマンドが生
成されるが、これらコマンドが1つの連続領域のアクセ
ス要求であるとき、コマンドクラスタリング手段14で
1つのコマンドにまとめられ、ホストコマンド解釈手段
13でさらにこのまとめられたコマンドから夫々のディ
スク装置で略同時に実行される。 【効果】 各ディスク装置は略同時に夫々のディスクコ
マンドを実行するので、ディスク回転待ち時間が削減で
きる。
(57) [Summary] [Objective] When a plurality of sequential commands from the host are access requests for continuous areas of the disk array device, the execution of the commands is accelerated. [Structure] When a plurality of commands are sequentially sent from a host computer, these commands are executed by the host command interpreting means 1
3, the disk commands of each disk device are generated, and when these commands are access requests for one continuous area, they are combined into one command by the command clustering means 14 and further by the host command interpreting means 13. From the compiled commands, the respective disk devices are executed at substantially the same time. [Effect] Since each disk device executes each disk command substantially simultaneously, the disk rotation waiting time can be reduced.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ディスクアレイ制御装
置における高速データ転送のためのディスクアレイ制御
方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array control system for high speed data transfer in a disk array controller.

【0002】[0002]

【従来の技術】ディスクアレイ装置は、複数台のディス
ク装置が接続されており、データを並列に読み書きする
ことができる点で、単体ディスク装置に比べて処理速度
の高速化を実現するものである。
2. Description of the Related Art In a disk array device, a plurality of disk devices are connected, and data can be read and written in parallel, so that the processing speed is higher than that of a single disk device. ..

【0003】ディスクアレイ装置は、複数台のディスク
装置とこれらを制御するディスクアレイ制御装置によっ
て構成されているが、その上位に接続される計算機(上
位計算機)からは1台のディスク装置に見えるようにす
る必要があり、このため、上位計算機から発行されたコ
マンドをディスクアレイ制御装置内部で各ディスク装置
へのコマンドに変換することが必要になる。このような
データ転送制御方式は、例えば特開昭62−13132
1号公報等に開示されている。以下、これについて、図
16により説明する。
A disk array device is composed of a plurality of disk devices and a disk array control device for controlling them, but it looks like one disk device to a computer (upper computer) connected to its upper level. Therefore, it is necessary to convert the command issued from the host computer into a command to each disk device inside the disk array control device. Such a data transfer control method is disclosed in, for example, Japanese Patent Laid-Open No. 62-13132.
It is disclosed in Japanese Patent Publication No. 1 and the like. Hereinafter, this will be described with reference to FIG.

【0004】図16において、上記のコマンド変換を実
施し、各ディスク装置にコマンドを分配する手段13
と、各ディスク装置へコマンドを発行しまたリード及び
ライトのデータ転送が終了したことを検出する手段15
と、コマンドを上位計算機から受信し、また、コマンド
の終了を通知する手段11と、上位計算機と各ディスク
装置とのデータ転送を制御する手段17と、これらの各
手段を制御する手段16とから構成されており、上位計
算機からの単一のコマンドを複数のディスク装置の各々
に、単一なコマンドであると見せ掛けることで複数のデ
ィスク装置を同じに並列に動作させ、高速データ転送を
実現するものである。
In FIG. 16, a means 13 for executing the above command conversion and distributing the command to each disk device.
And means for issuing a command to each disk device and detecting the end of read and write data transfer.
And means for receiving a command from the host computer and notifying the end of the command, means 17 for controlling the data transfer between the host computer and each disk device, and means 16 for controlling each of these means. A single command from the host computer is made to act as a single command to each of the multiple disk devices, allowing multiple disk devices to operate in parallel in the same way, achieving high-speed data transfer. To do.

【0005】また、ディスクアレイ装置は、多数のディ
スク装置を接続しており、ディスク装置の台数に比例し
てディスクの故障率が上がり、高信頼化の点で問題とな
る。そこで、数台のデータディスク装置と、一台のパリ
ティディスク装置とからグループを構成する。また、デ
ータをストライプと呼ばれるデータ単位に分割し、グル
ープ内の全ディスク装置の同じ論理アドレスから開始す
る全ストライプでパリティグループと呼ばれるグループ
を構成する。このパリティグループ内の全データストラ
イプの排他的論理和を計算することでパリティ情報を生
成し、パリティディスク装置にこれをパリティストライ
プとして保存する。このように、単にデータを複数のデ
ィスク装置に分配するのではなく、データに冗長性を持
たせることで、万が一1台のディスク装置が故障して
も、パリティディスク装置のパリティ情報から故障ディ
スク装置のデータを復元できるよう構成した高信頼化方
式が従来から論じられている。
Further, the disk array device is connected with a large number of disk devices, and the failure rate of the disks increases in proportion to the number of the disk devices, which poses a problem in terms of high reliability. Therefore, a group is made up of several data disk devices and one parity disk device. Further, data is divided into data units called stripes, and all stripes starting from the same logical address of all disk devices in the group form a group called a parity group. Parity information is generated by calculating the exclusive OR of all the data stripes in this parity group, and this is stored in the parity disk device as the parity stripe. As described above, by providing the data with redundancy rather than simply distributing the data to a plurality of disk devices, even if one disk device should fail, the parity disk device's parity information can be used to determine the failed disk device. Conventionally, a high reliability method configured so that the data of the above can be restored has been discussed.

【0006】また、ディスク装置において、複数の連続
する固定長ブロックにまたがるファイルデータを高速に
読出し制御する方式が、特開昭64−53224号公報
等にら開示されている。この方式によれば、ファイルデ
ータを読み出す際に、このファイルデータが記憶されて
いるブロックに連続するブロックがあるかどうか調べ、
連続するブロックがあるときには、これらのブロックを
一括して読み出すことにより、ディスク装置の回転待ち
時間を削減した高速なデータ転送を可能としている。
Further, in the disk device, a method for controlling reading of file data over a plurality of continuous fixed length blocks at high speed is disclosed in Japanese Patent Laid-Open No. 64-53224. According to this method, when reading file data, it is checked whether there is a continuous block in the block in which this file data is stored,
When there are consecutive blocks, these blocks are read in a batch to enable high-speed data transfer with reduced rotation waiting time of the disk device.

【0007】[0007]

【発明が解決しようとする課題】上位計算機は、ディス
クアレイ装置に対し、論理アドレス上で連続領域へのア
クセスであるが、コマンドを複数のコマンドに分割し、
これらを連続転送して要求を出す場合がある。即ち、上
位計算機のOS(オペレーティングシステム)は、デー
タをある一定サイズのページと呼ばれる単位に分割して
扱うことがある。この場合、長いデータのアクセス要求
は、ディスクアレイ装置に複数コマンドとして発行され
る。また、上位計算機上で実行しているプログラムが、
いくつものデータファイルを同じ手順で生成する等の処
理を行なう場合、やはり連続領域にこれらのデータファ
イルが配置されることが多いため、同様の動作が発生す
る。
The host computer divides the command into a plurality of commands for accessing the continuous area on the logical address to the disk array device.
There are cases where these are continuously transferred and a request is issued. That is, the OS (operating system) of the host computer may handle the data by dividing it into units called pages of a certain fixed size. In this case, the long data access request is issued to the disk array device as a plurality of commands. Also, if the program running on the host computer is
When processing such as generating a number of data files in the same procedure is performed, similar operations occur because these data files are often arranged in continuous areas.

【0008】しかし、上記従来技術では、ディスクアレ
イ装置へのこのような連続領域への複数回のアクセス
(以下、複数のシーケンシャルなアクセスという)時の
処理について配慮されていない。かかる従来技術によれ
ば、上記のシーケンシャルな連続アクセス要求がディス
クアレイ装置に発行されても、このディスクアレイ装置
はこれらを単独のコマンドとして処理するため、連続領
域へのアクセスであるにもかかわらず、1つ1つのコマ
ンド毎にディスクの回転待ちが発生し、処理速度が大幅
に低下するという問題点があった。
However, in the above-mentioned conventional technique, no consideration is given to the processing at the time of accessing the disk array device to such a continuous area a plurality of times (hereinafter referred to as a plurality of sequential accesses). According to such a conventional technique, even if the above-mentioned sequential continuous access request is issued to the disk array device, since this disk array device processes them as a single command, it is an access to a continuous area. There is a problem that the disk rotation wait occurs for each command and the processing speed is significantly reduced.

【0009】また、上記従来技術では、上記のようにパ
リティ情報を生成する必要があり、データライトに先立
ち、ライトすべき領域に既に書き込まれている旧データ
及び旧パリティ情報をリードし、これらとライトしよう
とする新データとの排他的論理和を計算することによっ
て新たなパリティ情報を生成する。かかる従来技術によ
れば、上記のシーケンシャルなライトアクセス時に、上
記パリティ情報生成のための旧データのリード処理が1
つ1つのコマンド毎に実行され、1つのライトコマンド
に付き2回のディスク回転待ちが必要となることから、
上記コマンド毎の回転待ちに加えて処理速度の低下が助
長されるという問題点があった。
Further, in the above conventional technique, it is necessary to generate the parity information as described above, and prior to the data write, the old data and the old parity information already written in the area to be written are read, and New parity information is generated by calculating the exclusive OR with the new data to be written. According to such a conventional technique, the read processing of the old data for generating the parity information is performed at the time of the sequential write access.
Each command is executed one by one, and two disk rotation waits are required for each write command.
There is a problem that the reduction of the processing speed is promoted in addition to the waiting for the rotation for each command.

【0010】さらに、上記従来技術では、上位計算機か
ら論理アドレス上で連続的なデータを複数のディスク装
置に分配するため、ディスク装置上では、データは連続
して配置していない。そこで、ディスク装置が通常有す
る機能として、リードコマンド発行時、当該データだけ
でなく、これに続く連続データを先読みし、次なるコマ
ンドがこの領域をアクセスしたときにシーク、回転待ち
といった機構部の動作待ち時間がなく、直ちにこの先読
みデータを転送する機能(プリフェッチ機能)がある
が、上記従来技術によれば、ディスク装置上でデータが
連続的に配置されていないので、このディスク装置の持
つプリフェッチ機能が働かなくなり、アクセス毎に機構
部の動作待ちが発生するので、複数のシーケンシャルな
アクセス時の処理速度が単体のディスク装置よりも低下
してしまうという問題点があった。
Further, in the above-mentioned prior art, since continuous data is distributed from a host computer to a plurality of disk devices on a logical address, the data is not arranged continuously on the disk device. Therefore, as a function that a disk device usually has, when issuing a read command, not only the data concerned but also the continuous data following this are prefetched, and when the next command accesses this area, the operation of the mechanical part such as seek and rotation wait There is a function (prefetch function) of immediately transferring this prefetch data without waiting time. However, according to the above-mentioned conventional technique, since the data is not continuously arranged on the disk device, the prefetch function of this disk device is provided. Does not work, and the operation of the mechanism unit waits for each access, which causes a problem that the processing speed at the time of a plurality of sequential accesses becomes lower than that of a single disk device.

【0011】さらに、上記ディスク装置における連続ブ
ロックの一括読出しを行なう方式では、単一のディスク
装置にファイルが格納されていることを前提としてお
り、ディスクアレイ装置のように、ファイルを複数のス
トライプに分割し、複数のディスク装置に分散させて記
録する場合について配慮していない。また、ファイルが
固定長に分割された場合についてのみ示されており、上
位計算機のOSが可変長のブロックサイズでファイルを
分割した場合について配慮していない。さらに、リード
動作についてのみ示されており、上記のように、ディス
クアレイ装置において、特に処理速度が低下するライト
動作の高速化について配慮していない。
Further, in the method of batch reading continuous blocks in the above-mentioned disk device, it is premised that the file is stored in a single disk device, and like the disk array device, the file is divided into a plurality of stripes. No consideration is given to the case of dividing and recording by distributing to multiple disk devices. Also, only the case where the file is divided into fixed lengths is shown, and no consideration is given to the case where the OS of the host computer divides the file into variable length block sizes. Further, only the read operation is shown, and as described above, in the disk array device, no particular consideration is given to speeding up the write operation, which reduces the processing speed.

【0012】本発明の目的は、かかる問題を解消し、任
意長のブロックに分割された複数のシーケンシャルなア
クセス時にディスク回転待ちを発生させないディスクア
レイ制御方式を提供することにある。
An object of the present invention is to solve such a problem and to provide a disk array control system which does not generate a disk rotation wait at the time of a plurality of sequential accesses divided into blocks of arbitrary length.

【0013】本発明の他の目的は、上記ライト動作を行
なう複数のシーケンシャルなアクセス時にパリティ生成
のためのリード動作を不要とするディスクアレイ制御方
式を提供することにある。
Another object of the present invention is to provide a disk array control system which eliminates the need for a read operation for parity generation during a plurality of sequential accesses for performing the write operation.

【0014】本発明のさらに他の目的は、上記のディス
ク装置の持つプリフェッチ機能に代換えされる機能によ
り、リード動作のみならずライト動作に関しても、ディ
スク装置の機構部の動作待ち時間なくデータ転送を行な
うディスクアレイ制御方式を提供することにある。
Still another object of the present invention is to replace the prefetch function of the above-mentioned disk device with a function to replace the pre-fetch function, so that the data transfer can be performed not only in the read operation but also in the write operation without the operation waiting time of the mechanical portion of the disk device. It is to provide a disk array control method for performing the above.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、コマンドを上位計算機から受信し、ま
た、コマンドの終了を通知する手段と、上位計算機から
発行されたコマンドを解釈して各ディスク装置へのコマ
ンドに変換する手段と、各ディスク装置へのディスクコ
マンドを起動し、該ディスクコマンドによるリードまた
はライトデータ転送が終了したことを検出する手段と、
該上位計算機と該各ディスク装置との間のデータ転送を
制御する手段と、これらの各手段を制御する手段とから
なるディスクアレイ装置の制御方式において、該上位計
算機が連続的に発行するコマンドをキューに一時保存し
てこれらを管理する手段と、該キューに格納された複数
のコマンドがシーケンシャルなアクセスを要求するコマ
ンドであるときこれらをグループ化して1つのコマンド
とみなし、このグループ化した1つのコマンドを各ディ
スク装置へのディスクコマンドに変換する手段と、上記
グループ化されたコマンドに対する情報とグループ化さ
れたコマンドとを各ディスク装置へのコマンドに変換す
るときの変換情報とを格納し管理する手段とを設ける。
In order to achieve the above-mentioned object, the present invention receives a command from a host computer, notifies the end of the command, and interprets the command issued from the host computer. Means for converting into a command to each disk device, means for activating a disk command to each disk device, and detecting completion of read or write data transfer by the disk command,
In a disk array device control method comprising means for controlling data transfer between the host computer and each of the disk devices, and means for controlling each of these means, a command issued continuously by the host computer is issued. A means for temporarily storing in the queue and managing these, and when a plurality of commands stored in the queue are commands requesting sequential access, these are grouped and regarded as one command, and this grouped one A means for converting a command into a disk command for each disk device, and information about the grouped command and conversion information when converting the grouped command into a command for each disk device are stored and managed. And means are provided.

【0016】上記他の目的を達成するために、本発明
は、さらに、上位計算機が発行したコマンドが扱うデー
タに続く連続データを予めディスク装置から先読みして
おくように制御する第1の制御手段と、上記ディスクア
レイ制御装置内部もしくは各ディスク装置内部に上記先
読みしたデータを格納しておくデータ格納手段と、先読
みされたこのデータを該データ格納手段へ入出力制御す
る第2の制御手段とを設ける。
In order to achieve the above-mentioned other object, the present invention further provides a first control means for controlling such that continuous data following the data handled by the command issued by the host computer is prefetched from the disk device in advance. A data storage means for storing the preread data in the disk array control device or each disk device, and a second control means for controlling input / output of the preread data to the data storage means. Set up.

【0017】[0017]

【作用】上記コマンドキュー管理手段は、上位計算機が
連続的に発行する複数のシーケンシャルなアクセスを行
なうコマンドを次々に格納する。コマンド解釈手段はこ
れらを解釈し、シーケンシャルなアクセス要求であるこ
とを認識して、これらのコマンドをコマンドグループ化
手段に通知する。このコマンドグループ化手段は、これ
らのコマンド群を1つのコマンドとみなしてグループ化
するとともに、この対応関係を上記変換情報管理手段に
格納して保存する。さらに、コマンドグループ化手段
は、このグループ化された1つのコマンドを各ディスク
装置に対するディスクコマンドに変換するとともに、こ
の変換の対応関係を上記変換情報管理手段に格納して保
存する。
The command queue management means sequentially stores a plurality of sequential access commands issued by the host computer for sequential access. The command interpreting means interprets these, recognizes that they are sequential access requests, and notifies these commands to the command grouping means. This command grouping means regards these command groups as one command and groups them, and stores this correspondence relationship in the conversion information management means. Further, the command grouping means converts this one grouped command into a disk command for each disk device, and stores the conversion correspondence relationship in the conversion information management means.

【0018】以上の各部の動作により、複数のシーケン
シャルなアクセスコマンドは、ディスクアレイ制御装置
内部で1つのシーケンシャルアクセスコマンドに変換さ
れ、各データは連続的に一括して扱うことができるよう
になる。従って、コマンド間のディスク回転待ちがなく
なり、データ転送速度の高速化が実現できる。
By the operation of each unit described above, a plurality of sequential access commands are converted into one sequential access command inside the disk array control device, and each data can be continuously and collectively handled. Therefore, there is no need to wait for disk rotation between commands, and the data transfer rate can be increased.

【0019】さらに、ライト時には、コマンドグループ
化手段は次のように動作する。まず、上記と同様、複数
のシーケンシャルなライトアクセスコマンドをグループ
化する。そして、パリティストライプ内の全データスト
ライプをライトするデータ領域を切り出す。上記データ
領域以外では、従来同様、パリティ生成のためのデータ
リードを行ない、パリティを生成後、ライトするという
動作を行なうが、上記データ領域では、直接データスト
ライプからパリティ情報を生成し、ライト動作のみを行
なう。上記のようにグループ化を行ない、データを一括
して連続に扱うため、上記データ領域が増加して、大半
のデータのライトでパリティ生成のためのリード動作が
不要となり、ライト時のデータ転送の高速化を実現す
る。
Further, at the time of writing, the command grouping means operates as follows. First, similarly to the above, a plurality of sequential write access commands are grouped. Then, the data area for writing all the data stripes in the parity stripe is cut out. In the areas other than the above data area, as in the conventional case, data read for parity generation is performed, and after parity is generated, write operation is performed.In the above data area, parity information is directly generated from the data stripe and only write operation is performed. Do. Since the grouping is performed as described above and the data is handled as a batch in a continuous manner, the data area is increased, and the read operation for parity generation is unnecessary for writing most of the data. Achieve higher speed.

【0020】また、上記コマンド解釈手段が上位計算機
の発行したコマンドを解釈した結果、このコマンドの扱
うデータ領域に連続したデータ領域を格納するディスク
装置をアクセスしないことを検出したならば、上記デー
タ先読み制御手段は、これを受け、ディスク装置にリー
ド要求を発行する。このディスク装置は、上位計算機の
要求したデータは持っていないが、このデータ先読み制
御手段の発行したリード要求に応答し、上位計算機の要
求したデータに連続する次のデータを上記先読みデータ
格納手段に向け送出する。この際、上記データ転送を制
御する手段は、このリードデータを先読みデータ格納手
段に入力する。そして、上位計算機の発行したコマンド
が終了し、次に、上位計算機が前回アクセスのデータに
連続したシーケンシャルなデータリードを要求した場
合、データ先読み制御手段は先に先読みデータ格納手段
に入力したデータが要求されていると判断し、即座に上
位計算機にこのデータを送出する。このように、実際に
ディスク装置にはアクセスしないため、リード時のデー
タ転送の高速化を実現する。
If the command interpreting means interprets the command issued by the host computer and finds that the disk device storing the continuous data area is not accessed in the data area handled by this command, the data prefetching is carried out. The control means receives this and issues a read request to the disk device. This disk device does not have the data requested by the host computer, but responds to the read request issued by this data prefetch control means, and stores the next data following the data requested by the host computer in the prefetch data storage means. Send to At this time, the means for controlling the data transfer inputs this read data to the prefetch data storage means. Then, when the command issued by the host computer ends, and then the host computer requests continuous sequential data read to the data of the previous access, the data prefetch control means determines that the data previously input to the prefetch data storage means Judge that it is requested and immediately send this data to the host computer. In this way, since the disk device is not actually accessed, the speed of data transfer at the time of reading is realized.

【0021】また、ライト時にも、上記のように、パリ
ティ生成のためにリード処理が行われるため、この際も
データ先読み制御手段は、上記と同様、先読み動作を行
なうように動作するので、もし現在のライトコマンドが
終了し、次なるシーケンシャルライトコマンドが上位計
算機から発行されたときには、パリティ生成のために必
要な旧データは先読みデータ格納手段に格納されている
ので、リード処理をすることなしにパリティデータを生
成し、直ちにデータのライト処理を行なうことができ、
ライト時のデータ転送の高速化を実現する。
In addition, since the read processing is performed for the parity generation as described above even at the time of writing, the data prefetch control means also operates to perform the prefetch operation in the same manner as described above. When the current write command ends and the next sequential write command is issued from the host computer, the old data required for parity generation is stored in the read-ahead data storage means, so read processing is not performed. Parity data can be generated and data write processing can be performed immediately.
Achieves high-speed data transfer when writing.

【0022】[0022]

【実施例】まず、本発明を用いたディスクアレイ装置に
ついて図面を用いて説明する。図2はディスクアレイ装
置の構成を示すブロック図であって、1はディスクアレ
イ装置2が接続される上位計算機、3はアレイ上に配列
されたディスク装置9a1〜9enを制御するディスク
アレイ制御装置、4はディスクアレイ装置2と上位計算
機1を接続する上位インタフェース(以下、上位I/F
という)、5はディスクアレイ装置2内のデータの流れ
を制御するデータ制御手段、6は上位計算機1が送出す
るコマンドを解釈して各ディスク装置9a1〜9enへ
のコマンドに変換する等のコマンド制御を行なうコマン
ド制御手段、7はデータバッファ、8a〜8eはディス
クアレイ制御装置3とアレイ上に配列したディスク装置
を接続するディスクインタフェース(以下、ディスクI
/Fという)、10は1台のディスク装置9a1〜9e
nいずれかが万一故障してもそのデータを喪失しないよ
うにするために設けるパリティ情報を生成するパリティ
生成手段である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS First, a disk array device using the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing the configuration of the disk array device. 1 is a host computer to which the disk array device 2 is connected, 3 is a disk array control device for controlling the disk devices 9a1-9en arranged on the array, Reference numeral 4 denotes a host interface (hereinafter, host I / F) that connects the disk array device 2 and the host computer 1.
5) data control means for controlling the flow of data in the disk array device 2, and 6 command control for interpreting a command sent from the host computer 1 and converting it into a command to each disk device 9a1-9en. Command control means 7 for executing the data buffer, 7 a data buffer, and 8a to 8e a disk interface for connecting the disk array control device 3 and the disk devices arranged on the array (hereinafter referred to as disk I
/ F), 10 is one disk device 9a1-9e
It is a parity generation unit that generates parity information provided so as not to lose the data even if any one of the n fails.

【0023】同図において、ディスクアレイ制御装置3
では、上位I/F4で受けた上位計算機1からのリード
コマンドもしくはライトコマンドはコマンド制御手段6
に転送される。このコマンド制御手段6は受けたコマン
ドを解釈してアクセスすべきディスク装置を選択し、そ
のディスク装置に対するコマンドを生成する。
In the figure, the disk array controller 3
Then, the read command or the write command from the host computer 1 received by the host I / F 4 is command control means 6
Transferred to. The command control means 6 interprets the received command, selects a disk device to be accessed, and generates a command for the disk device.

【0024】ここで、以下の説明で混乱を避けるため、
上位計算機1が送出するコマンドをホストコマンド、各
々のディスク装置9a1〜9enに送出するディスク装
置固有のコマンドをディスクコマンドということにす
る。
Here, in order to avoid confusion in the following description,
A command sent by the host computer 1 is called a host command, and a command unique to the disk device sent to each of the disk devices 9a1-9en is called a disk command.

【0025】コマンド制御手段6で生成されたディスク
コマンドは、対象となるディスク装置が接続されている
ディスクI/Fを介してその対象となるディスク装置に
転送され、リードもしくはライトの処理を実行させる。
このとき、複数のディスク装置を選択し、これらの同時
に動作させることもできる。このため、1台のディスク
装置に比べ、高性能な動作が期待できる。
The disk command generated by the command control means 6 is transferred to the target disk device via the disk I / F to which the target disk device is connected, and the read or write processing is executed. ..
At this time, it is also possible to select a plurality of disk devices and operate them simultaneously. For this reason, it is possible to expect high-performance operation as compared with one disk device.

【0026】以下、本発明の実施例を図面を用いて説明
する。図1は本発明によるディスクアレイ制御方式の一
実施例を用いた図2におけるコマンド制御手段6の具体
的構成を示すブロック図であって、11はホストコマン
ドを上位I/F4を介し上位計算機1から受け取り、ま
た、コマンドの終了を報告するホストコマンド入出力手
段、12は受領したホストコマンドを一旦キューに保存
して管理するホストコマンドキューイング手段、13は
受領したホストコマンドを解釈してディスクコマンドを
生成するホストコマンド解釈手段、14は複数のホスト
コマンドを統合してコマンドクラスタを生成するコマン
ドクラスタリング手段、15は生成されたディスクコマ
ンドを各ディスク装置へ発行し、また、各ディスク装置
からのコマンド終了を受け取るディスクコマンド起動・
終了手段、16はコマンド制御手段6全体の管理、制御
を行なうメイン制御手段、17はデータ制御手段5(図
2)に適切な転送タイミングを指令するデータ転送タイ
ミング制御手段、18はコマンドクラスタリング手段1
4で生成されたコマンドクラスタと元のディスクコマン
ドとの対応を管理するディスクコマンド管理テーブルで
ある。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a specific configuration of the command control means 6 in FIG. 2 which uses an embodiment of the disk array control system according to the present invention. Reference numeral 11 denotes a host command via a host I / F 4 to a host computer 1. Host command input / output means for receiving and reporting the end of command, 12 for host command queuing means for temporarily storing and managing the received host command, 13 for interpreting the received host command and disk command Command clustering means for generating a command cluster by integrating a plurality of host commands, 15 issuing the generated disk command to each disk device, and command from each disk device. Start disk command to receive the end
Termination means, 16 is main control means for managing and controlling the entire command control means 6, 17 is data transfer timing control means for instructing the data control means 5 (FIG. 2) to an appropriate transfer timing, and 18 is command clustering means 1
4 is a disk command management table for managing the correspondence between the command cluster generated in 4 and the original disk command.

【0027】次に、ディスクアレイ装置2の動作を説明
する。図2において、上位計算機1からは、ディスクア
レイ装置2は1つの大容量のディスク装置に見える。い
ま、上位計算機1から、連続的なデータのアクセスであ
るが複数回に分割されたコマンドがディスクアレイ装置
2に送出されたものとする。このようなアクセス要求
は、次のような場合に起こる。
Next, the operation of the disk array device 2 will be described. In FIG. 2, the disk array device 2 appears as one large-capacity disk device to the host computer 1. Now, it is assumed that a command for continuous data access, which is divided into a plurality of times, is sent from the host computer 1 to the disk array device 2. Such an access request occurs in the following cases.

【0028】第1に、OSの制約による場合である。長
いシーケンシャルファイルを扱っている場合、もし、O
Sがこのファイルのデータ長を一括して扱わない場合、
データを分割して複数回コマンドを発行することにな
る。
The first case is due to the restrictions of the OS. If you are dealing with long sequential files,
If S does not collectively handle the data length of this file,
Data will be divided and commands will be issued multiple times.

【0029】第2に、アプリケーションの特徴により起
こる場合がある。あるアプリケーションが規則的に複数
のファイルを作成もしくは読み出す場合、連続した論理
アドレス上に配置されることが多いと考えられるので、
複数回のシーケンシャルなアクセスが発行される。
Secondly, it may occur due to the characteristics of the application. When an application regularly creates or reads multiple files, it is likely that they will be placed on consecutive logical addresses.
Multiple sequential accesses will be issued.

【0030】このような複数回のシーケンシャルなアク
セスが上位計算機1からディスクアレイ装置2に発行さ
れた場合の動作を図3により説明する。
The operation when a plurality of such sequential accesses are issued from the host computer 1 to the disk array device 2 will be described with reference to FIG.

【0031】図3はホストである上位計算機1からみた
ディスクアレイ装置2の論理アドレッスマップを示すも
のであって、同図において、上位計算機1は、論理アド
レスAhA、データ長LAのコマンドA(以下、単にA
という)、論理アドレスAhB、データ長LBのコマン
ドB(以下、単にBという)、論理アドレスAhC、デ
ータ長LCのコマンドC(以下、単にCという)、及び
論理アドレスAhD、データ長LDのコマンドD(以
下、単にDという)の4つのホストコマンドを連続して
ディスクアレイ装置2に発行したとする。これらホスト
コマンドA、B、C、Dが扱うデータは、図3に示すよ
うに、アドレスマップ上連続して配置されている。
FIG. 3 shows a logical address map of the disk array system 2 as seen from the host computer 1 which is a host computer. In FIG. 3, the host computer 1 has a command A (a logical address AhA and a data length LA). Hereafter, simply A
, Logical address AhB, command B of data length LB (hereinafter simply referred to as B), logical address AhC, command C of data length LC (hereinafter simply referred to as C), and logical address AhD, command D of data length LD. It is assumed that four host commands (hereinafter, simply referred to as “D”) are continuously issued to the disk array device 2. The data handled by these host commands A, B, C and D are arranged consecutively on the address map as shown in FIG.

【0032】まず、ホストコマンドAが上位I/F4
(図2)を介して図1に示すコマンド制御手段6内部の
コマンド入出力手段11に供給され、コマンド入出力手
段11はこれをホストコマンドキューイング手段12に
転送する。ホストコマンドキューイング手段12は、も
しその内部のコマンドキューが一杯でなければ、このホ
ストコマンドAを受領してコマンドキューの最後部に格
納し、ホストコマンド解釈手段13が実行中でなけれ
ば、コマンドキューの先頭からホストコマンドを1つ取
り出してホストコマンド解釈手段13に送る。
First, the host command A is the upper I / F 4
2 is supplied to the command input / output means 11 inside the command control means 6 shown in FIG. 1, and the command input / output means 11 transfers this to the host command queuing means 12. If the internal command queue is not full, the host command queuing means 12 receives this host command A and stores it at the end of the command queue. If the host command interpreting means 13 is not executing the command, the command One host command is taken out from the head of the queue and sent to the host command interpreting means 13.

【0033】いま、ホストコマンドキューイング手段1
2でのコマンドキューの先頭にホストコマンドAが格納
されていて、ホストコマンド解釈手段13が実行中でな
いとすると、このホストコマンドAはこのコマンドキュ
ーから読み取られてホストコマンド解釈手段13に転送
され、コマンド解釈が行われディスクコマンドに変換さ
れる。また、このとき、ホストコマンドキューイング手
段12は、ホストコマンド入出力手段11を介して、上
位I/F4に次なるホストコマンドを受信可能であるこ
とを上位計算機1に通知する。これとともに、上位I/
F4は次なるホストコマンドを受信可能な状態となり、
上位計算機1は、次なるホストコマンドを送出可能であ
れば、続いてホストコマンドBを、さらに続けてホスト
コマンドC、Dというようにホストコマンドキューイン
グ手段12から通知がある毎にホストコマンドを送出す
る。ホストコマンドキューイング手段12はこれらホス
トコマンドを順次コマンドキューに格納し、ホストコマ
ンド解釈手段13はこれらホストコマンドB、C、D
を、ホストコマンドAと同様、夫々コマンド解釈してデ
ィスクコマンドに変換する。
Now, the host command queuing means 1
If the host command A is stored at the head of the command queue in 2 and the host command interpreting means 13 is not in execution, this host command A is read from this command queue and transferred to the host command interpreting means 13, The command is interpreted and converted into a disk command. At this time, the host command queuing means 12 also notifies the host computer 1 via the host command input / output means 11 that the host computer 1 can receive the next host command. Along with this, the top I /
F4 becomes ready to receive the next host command,
If the host computer 1 can send the next host command, the host computer 1 sends the host command B, and then the host commands C and D each time the host command queuing means 12 sends a host command. To do. The host command queuing means 12 sequentially stores these host commands in the command queue, and the host command interpreting means 13 stores these host commands B, C, D.
In the same manner as the host command A, each command is interpreted and converted into a disk command.

【0034】コマンドクラスタリング手段14は、この
ように複数のホストコマンドが上位計算機1から続けて
送信されてコマンドキューに格納されているときは、ホ
ストコマンド解釈手段13で変換されたディスクコマン
ドを直ちに対象となるディスク装置に送信して実行させ
るのではなく、一旦ディスクコマンド管理テーブル18
に格納する。そして、これらの連続して受信されたホス
トコマンドA〜Dが連続した論理アドレスへの連続デー
タのアクセスでなければ、適切な順番で順次実行させる
ようにするために、コマンドクラスタリング手段14は
ディスクコマンド管理テーブル18からディスクコマン
ドを取り出してディスクコマンド起動・終了手段15に
送り、各ディスク装置にこれらディスクコマンドを発行
する。
When a plurality of host commands are successively transmitted from the host computer 1 and stored in the command queue in this way, the command clustering means 14 immediately targets the disk command converted by the host command interpreting means 13. Disk command management table 18
To store. Then, if these continuously received host commands A to D are not continuous data access to continuous logical addresses, the command clustering means 14 executes the disk command in order to execute them sequentially in an appropriate order. The disk commands are fetched from the management table 18 and sent to the disk command start / end means 15 to issue these disk commands to each disk device.

【0035】これに対し、図3に示すようにこれらホス
トコマンドA〜Dが連続領域へのアクセスであるなら
ば、コマンドクラスタリング手段14はこれらホストコ
マンドA〜Dをグループ化する。即ち、図4に示すよう
に、上位計算機1から送出されたホストコマンドA、
B、C、Dは、論理アドレスAhA、データ長(LA+
LB+LC+LD)の1つのホストコマンドに等価変換
されたことになる(これを、コマンドクラスタリングと
いう)。
On the other hand, as shown in FIG. 3, if these host commands A to D are accesses to the continuous area, the command clustering means 14 groups these host commands A to D. That is, as shown in FIG. 4, the host command A sent from the host computer 1,
B, C and D are logical address AhA and data length (LA +
This means equivalent conversion into one host command (LB + LC + LD) (this is called command clustering).

【0036】次いで、このクラスタリングされたホスト
コマンドは、コマンド解釈手段13に送られて、ディス
クコマンドに変換され、ディスクコマンド起動・終了手
段15によって対象となるディスク装置に発行される。
Next, the clustered host command is sent to the command interpreting means 13, converted into a disk command, and issued by the disk command starting / terminating means 15 to the target disk device.

【0037】図5は各ディスク装置の論理アドレスへの
各ホストコマンドのマッピングを示す図である。なお、
ここでは、説明を簡単にするために、5台のディスク装
置a〜eが並列に接続されている(即ち、図2におい
て、5つのディスクI/F8a〜8eがディスクアレイ
制御装置3内に設けられ、夫々に1つずつディスク装置
が接続されていることになる)ものとするが、勿論並列
に接続されるディスク装置の台数は任意であり、また、
同じディスクI/Fに接続されるディスク装置の台数も
任意である。
FIG. 5 is a diagram showing mapping of each host command to the logical address of each disk device. In addition,
Here, for simplification of explanation, five disk devices a to e are connected in parallel (that is, in FIG. 2, five disk I / Fs 8a to 8e are provided in the disk array control device 3). That is, one disk device is connected to each of them), but of course the number of disk devices connected in parallel is arbitrary, and
The number of disk devices connected to the same disk I / F is also arbitrary.

【0038】なお、これら5台のディスク装置a〜eの
うち、ディスク装置a〜dはデータのリード、ライトが
行なわれるものであり、ディスク装置eはパリティデー
タがリード、ライトされるものである。
Of the five disk devices a to e, the disk devices a to d are for reading and writing data, and the disk device e is for reading and writing parity data. ..

【0039】1つのホストコマンドが扱うデータは、図
5に示すストライプと呼ばれる単位ブロックに分割され
てディスクに記録される。ここでは、ホストコマンドA
はA1、A2、A3の3つのストライプに分割されるも
のとし、これらストライプA1〜A3はディスク装置
a、b、cに記録される。ホストコマンドB、C、Dが
扱うデータも同様に各々2つ、5つ、1つのストライプ
に分割され、図5に示すようにディスク装置a〜eに記
録される。
Data handled by one host command is divided into unit blocks called stripes shown in FIG. 5 and recorded on the disk. Here, the host command A
Is divided into three stripes A1, A2 and A3, and these stripes A1 to A3 are recorded in the disk devices a, b and c. Similarly, the data handled by the host commands B, C, and D are divided into two, five, and one stripes, respectively, and are recorded in the disk devices a to e as shown in FIG.

【0040】次に、ここで用いる本発明によるディスク
アレイ制御方式をリード動作とライト動作とに分け、図
3に示したホストコマンドを例にして詳細に説明する。
始めにリード動作について説明するが、比較のため、ま
ず、従来の方式のようにコマンドクラスタリングを実施
しない場合について説明する。
Next, the disk array control method according to the present invention used here will be divided into a read operation and a write operation, and the host command shown in FIG. 3 will be described as an example in detail.
First, the read operation will be described. For comparison, first, a case where command clustering is not performed as in the conventional method will be described.

【0041】ホストコマンドAのリードデータは、上述
のように、ストライプA1、A2、A3に分割されてデ
ィスク装置a、b、cに記録されているので、ディスク
装置a、b、cで夫々ディスクコマンドAa、Ab、A
cによるリードが行なわれる。同様に、ホストコマンド
Bについては、ストライプB1、B2がディスク装置
d、aからディスクコマンドBd、Baにより、ホスト
コマンドCについては、ストライプC1、C5がディス
ク装置bからディスクコマンドCbにより、ストライプ
C2、C3、C4がディスク装置c、d、aから夫々C
c、Cd、Caにより、ホストコマンドDについては、
ストライプD1がディスク装置Cからディスクコマンド
Dcにより、夫々リードされる。
As described above, the read data of the host command A is divided into stripes A1, A2, and A3 and recorded in the disk devices a, b, and c, so that the disk devices a, b, and c respectively record the data. Command Aa, Ab, A
Read by c is performed. Similarly, for host command B, stripes B1 and B2 are from disk devices d and a from disk commands Bd and Ba, and for host command C, stripes C1 and C5 are from disk device b to disk command Cb, and stripe C2, C3 and C4 are C from disk devices c, d and a respectively
For c, Cd, Ca, the host command D
The stripe D1 is read from the disk device C by the disk command Dc.

【0042】以上のことを図6で説明すると、上位計算
機1からホストコマンドA、B、C、Dが続けて、上位
I/F4を介し、コマンド変換手段6に供給されると、
図1に示すコマンド変換手段6では、これらをホストコ
マンドキューイング手段12に一旦格納する。ホストコ
マンド解釈手段13は、始めに、ディスク装置a、b、
cに対してホストコマンドAからディスクコマンドA
a、Ab、Acを発行し、夫々のディスク装置a、b、
c上でこれらディスクコマンドが略同時に実行される。
各ディスク装置a、b、cでは、ディスクコマンドを受
領すると、これを解釈し、シーク動作、ディスク回転待
ちの後、ディスク上の対象となるセクタを検出して目的
のデータをリードする。このようにして、ディスク装置
a、b、cからリードされてデータA1、A2、A3は
ホストコマンドAのリードデータとして再合され、上位
計算機1に送出されてホストコマンドAの実行が終了す
る。
To explain the above with reference to FIG. 6, when the host commands A, B, C and D are successively supplied from the host computer 1 to the command converting means 6 via the host I / F 4,
In the command converting means 6 shown in FIG. 1, these are temporarily stored in the host command queuing means 12. The host command interpreting means 13 starts with the disk devices a, b,
host command A to disk command A for c
issue a, Ab, Ac, and issue the respective disk devices a, b,
These disk commands are executed on c at approximately the same time.
Upon receipt of the disk command, each of the disk devices a, b, and c interprets the disk command, waits for the seek operation and disk rotation, and then detects the target sector on the disk and reads the target data. In this way, the data A1, A2, A3 read from the disk devices a, b, c are recombined as the read data of the host command A, sent to the host computer 1, and the execution of the host command A ends.

【0043】このとき、ホストコマンドBは既にコマン
ド変換が実施済みであり、空きディスク装置dに対して
は、ホストコマンドAと略同時に、ディスクコマンドB
dを発行することができるが、ディスク装置aはホスト
コマンドAの実行中であるため、ディスクコマンドBa
を発行できず、この実行終了を待つ必要がある。その終
了を確認してからディスク装置aへディスクコマンドB
aが発行されるが、図5に示すように、ディスク装置a
でのストライプA1、B2のデータの領域は連続してい
るにもかかわらず、ストライプB2の先頭アドレスがコ
マンド解釈時間等のオーバーヘッドの間に通り過ぎてし
まい、このため、ディスク1周り回転待ちをしなくては
ならない。このことはホストコマンドC、Dについても
同様であり、一般に、連続したn個のシーケンシャルリ
ードを行なうホストコマンドを実行するときには、最大
n回のディスク回転待ちが入り、これが処理速度を低下
させる。
At this time, the command conversion of the host command B has already been executed, and for the empty disk device d, at substantially the same time as the host command A, the disk command B is executed.
However, since the disk device a is executing the host command A, the disk command Ba is issued.
Cannot be issued and it is necessary to wait for the end of this execution. After confirming the end, send a disk command B to the disk device a.
a is issued, but as shown in FIG.
In spite of the fact that the data areas of stripes A1 and B2 are continuous, the start address of stripe B2 has passed during the overhead of command interpretation time, etc. Therefore, there is no need to wait for rotation around disk 1. must not. This also applies to the host commands C and D. Generally, when executing a host command for performing consecutive n sequential reads, a maximum of n disk rotation waits occur, which reduces the processing speed.

【0044】次に、図1に用いられる本発明のディスク
アレイ制御方式によるリード動作を説明する。図1にお
いて、一旦ホストコマンドA、B、C、Dを、コマンド
制御手段6内のコマンドクラスタリング手段14によ
り、上記のように、グループ化(コマンドクラスタリン
グ)し、図4に示すように1つのホストコマンドに等価
的に見せ掛けた後、ディスクコマンドに変換して各ディ
スク装置にディスクコマンドを発行する。この様子を図
7に示す。
Next, the read operation by the disk array control system of the present invention used in FIG. 1 will be described. In FIG. 1, the host commands A, B, C, D are once grouped (command clustering) by the command clustering means 14 in the command control means 6 as described above, and one host is created as shown in FIG. After pretending to be equivalent to a command, the command is converted into a disk command and the disk command is issued to each disk device. This state is shown in FIG.

【0045】同図において、上位計算機1からホストコ
マンドA、B、C、Dを受領し、コマンド制御手段6は
これらを解釈して連続領域へのシーケンシャルアクセス
であると判断し、上記のように、コマンドクラスタリン
グ手段14はコマンドクラスタリングを実施する。そし
て、ホストコマンド解釈手段13は、この1つのコマン
ドクラスタリングされたホストコマンドによってリード
されるべきディスク装置a〜d毎のストライプ領域を解
釈し、その結果から各ディスク装置a〜d毎にディスク
コマンドCCa、CCb、CCc、CCdを生成し、こ
れらを夫々のディスク装置a〜dに発行する。ここで、
ディスクコマンドCCaはディスク装置9a上のストラ
イプA1、B2、C4を、ディスクコマンドCCbはデ
ィスク装置9b上のストライプA2、C1、C5を、デ
ィスクコマンドCCcはディスク装置9c上のストライ
プA3、C2、D1を、ディスクコマンドCCdはディ
スク装置9d上のストライプB1、C3を夫々順次連続
してリードするためのディスクコマンドである。
In the figure, the host commands A, B, C and D are received from the host computer 1, the command control means 6 interprets them and judges that they are sequential accesses to the continuous area, and as described above. The command clustering means 14 implements command clustering. Then, the host command interpreting means 13 interprets the stripe area for each disk device a to d to be read by this one command clustered host command, and from the result, the disk command CCa for each disk device a to d. , CCb, CCc, CCd are generated, and these are issued to the respective disk devices a to d. here,
The disk command CCa is for stripes A1, B2, C4 on the disk device 9a, the disk command CCb is for stripes A2, C1, C5 on the disk device 9b, and the disk command CCc is for stripes A3, C2, D1 on the disk device 9c. The disk command CCd is a disk command for successively reading the stripes B1 and C3 on the disk device 9d, respectively.

【0046】これらディスクコマンドCCa〜CCdは
同時に各ディスク装置a〜dに発行され、シーク、回転
待ちの後、夫々の対象データをリードする。これらのデ
ータは一旦データバッファ7(図2)に転送された後、
ディスクコマンド管理テーブル18(図1)に保存され
ている管理情報に基づいて、データ転送タイミング手段
17がデータバッファ7からストライプA1、A2、…
…、C5、D1の順にデータをリードして上位計算機1
に転送し、順次ホストコマンドA、B、C、Dが終了す
る。
These disk commands CCa to CCd are simultaneously issued to the disk devices a to d, and after the seek and the rotation waiting, the respective target data are read. After these data are once transferred to the data buffer 7 (FIG. 2),
Based on the management information stored in the disk command management table 18 (FIG. 1), the data transfer timing means 17 transfers data from the data buffer 7 to stripes A1, A2, ...
..., data is read in the order of C5, D1 and the host computer 1
, And the host commands A, B, C, D are sequentially completed.

【0047】このようにコマンドクラスタリングを実施
することにより、上位計算機1からのn個のシーケンシ
ャルアクセスコマンドがディスクアレイ装置2に発行さ
れたとき、回転待ち回数はわずかに1回となり、上記従
来方式に比べてディスクの回転待ち回数を(n−1)回
削減することができる。通常、データ転送時間に比べて
回転待ち時間は非常に大きいため、この回転待ち回数の
削減による性能向上効果は非常に大きい。
By carrying out the command clustering in this way, when n sequential access commands from the host computer 1 are issued to the disk array device 2, the number of rotation waits becomes only one, which is the same as the conventional method. In comparison, the number of times of waiting for rotation of the disk can be reduced by (n-1) times. Usually, the rotation waiting time is much longer than the data transfer time, so the performance improving effect by reducing the number of rotation waiting times is very large.

【0048】次に、具体的な例をあげてこの効果をさら
に詳しく説明する。いま、各ディスク装置の平均シーク
時間を15ミリ秒、平均回転待ち時間を8ミリ秒、ディ
スク1周の回転待ち時間を16ミリ秒、ディスク装置の
データ転送速度を3Mバイト/秒であるとする。また、
リード動作に用いるディスク装置は4台であり、このと
き、上位計算機1から64Kバイトの連続領域へ4つの
16Kバイトのホストコマンドに分けてアクセス要求が
発行され、各16Kバイトのアクセスは4台のディスク
装置に均等に分配されて記憶されているデータのリード
が行なわれるものとする。さらに、コマンド解釈等のオ
ーバーヘッド時間は非常に小さく、無視できるものす
る。
Next, this effect will be described in more detail with a specific example. Now, it is assumed that the average seek time of each disk device is 15 milliseconds, the average rotation waiting time is 8 milliseconds, the rotation waiting time for one disk rotation is 16 milliseconds, and the data transfer rate of the disk device is 3 Mbytes / second. .. Also,
There are four disk devices used for the read operation. At this time, access requests are issued from the host computer 1 to the continuous area of 64 Kbytes divided into four 16 Kbyte host commands, and each 16 Kbyte is accessed by four units. It is assumed that the data that is evenly distributed and stored in the disk device is read. Furthermore, the overhead time for command interpretation is very small and can be ignored.

【0049】かかる条件のもとに、上記従来方式によれ
ば、処理時間T’はT’=(平均シーク時間+平均回転
待ち時間)+(16Kバイトデータ転送時間÷4)×4
+(1周回転待ち時間)×3=76.3(ミリ秒) となる。一方、この実施例のディスクアレイ制御方式に
よれば、処理時間TはT =(平均シーク時間+平均回
転待ち時間)+(64Kバイトデータ転送時間÷4)=
28.3(ミリ秒) となり、従来方式に比べて約3倍高速となる。上位計算
機1からの連続領域へのシーケンシャルアクセスコマン
ド数が多ければ多い程、より一層この実施例による効果
が大きくなる。
Under the above conditions, according to the above conventional method, the processing time T'is T '= (average seek time + average rotation waiting time) + (16 Kbyte data transfer time / 4) × 4
+ (1 rotation rotation waiting time) x 3 = 76.3 (milliseconds). On the other hand, according to the disk array control method of this embodiment, the processing time T is T 2 = (average seek time + average rotation waiting time) + (64 Kbyte data transfer time / 4) =
28.3 (milliseconds), which is about 3 times faster than the conventional method. The larger the number of sequential access commands from the host computer 1 to the continuous area, the greater the effect of this embodiment.

【0050】さらに、この実施例によれば、図6と図7
とを比較して明らかなように、従来の方式に比べてディ
スク装置の占有時間が少ないことがわかる。もし、これ
らのホストコマンドを実行中に次なるホストコマンドが
受領されたときには、従来方式ではこの受領されたコマ
ンドを実行できるまで多くの時間を待つことになるが、
この実施例によれば、ディスク装置の占有時間が短かい
ため、わずかな待ち時間で次のコマンドを実行できるよ
うになり、全体として処理のスループットが上がり、さ
らに、上位計算機から見たコマンドの平均応答時間が短
くなるといった効果がある。
Further, according to this embodiment, FIGS.
As is clear from the comparison between and, the occupied time of the disk device is shorter than that of the conventional method. If the next host command is received while executing these host commands, the conventional method will wait a lot of time until the received command can be executed.
According to this embodiment, since the disk device occupies a short time, the next command can be executed with a short waiting time, the throughput of the process is increased as a whole, and the average command seen from the host computer is increased. This has the effect of shortening the response time.

【0051】次に、ライト時の動作について説明する。
リード時と同様、図3に示すホストコマンドを図5のよ
うに各ディスク装置にマッピングしてライトするもので
あるが、ライト時には、前述のパリティデータの生成を
行なう必要があり、リードとライトとで制御方法が異な
る。このパリティデータの作成方法を図5で説明する。
Next, the operation at the time of writing will be described.
Similar to the case of reading, the host command shown in FIG. 3 is mapped to each disk device and written as shown in FIG. 5, but at the time of writing, it is necessary to generate the above-mentioned parity data, and read and write are performed. The control method is different. A method of creating this parity data will be described with reference to FIG.

【0052】この実施例のディスクアレイ装置では、5
台のディスク装置のうち1台がパリティディスク装置と
して割り当てられるが、上記のように、図5でディスク
装置eがこのパリティディスク装置である。パリティは
パリティグループと呼ばれるストライプを単位としたグ
ループ内で作成される。各ディスク装置a〜eの同じ論
理アドレスで開始するストライプで1つのパリティグル
ープを形成し、これらのデータの排他的論理和をパリテ
ィデータとする。図5では、例えば、ストライプA1、
A2、A3、B1、P1が1つのパリティグループを形
成し、ストライプA1、A2、A3、B1の排他的論理
和からパリティデータのストライプP1が生成される。
In the disk array device of this embodiment, 5
One of the two disk devices is assigned as the parity disk device. As described above, the disk device e is the parity disk device in FIG. Parity is created in a group called a parity group, which has stripe units. One parity group is formed by stripes starting at the same logical address of each disk device a to e, and the exclusive OR of these data is used as parity data. In FIG. 5, for example, stripe A1,
A2, A3, B1 and P1 form one parity group, and a parity data stripe P1 is generated from the exclusive OR of the stripes A1, A2, A3 and B1.

【0053】ここでも、比較のため、始めに従来の方式
を図8を用い説明する。ホストである上位計算機1は連
続データのライト要求を4つのホストコマンドA、B、
C、Dとして発行し、ディスクアレイ制御装置3のコマ
ンド制御手段6では、リード動作と同様、これらを受領
して解釈し、ディスクコマンドに変換して順次ディスク
装置に起動をかける。ここで、リード時と異なる点は、
ライトする前にディスクに書き込まれている旧データを
読み出すリード動作をし、これらと書き込もうとする新
データとの排他的論理和をとって新パリティデータを生
成するという点である。
Here again, for comparison, the conventional method will be described first with reference to FIG. The host computer 1, which is the host, sends a write request for continuous data to four host commands A, B,
The commands are issued as C and D, and the command control means 6 of the disk array control device 3 receives and interprets them as in the read operation, converts them into disk commands, and sequentially activates the disk devices. Here, the difference from when reading is
The point is that the read operation is performed to read the old data written in the disk before writing, and the exclusive OR of these and the new data to be written is taken to generate the new parity data.

【0054】具体的には、ホストコマンドAに対応する
ストライプA1、A2、A3の旧データA1’、A
2’、A3’及び旧パリティストライプP1’をリード
し、次いで、これら旧データと新データストライプA
1、A2、A3の排他的論理和をとって新パリティデー
タストライプP1を作成する。そして、ディスクの1周
回転待ち後新データストライプA1、A2、A3及び新
パリティデータストライプP1を書き込むことで一連の
ライト動作が完了する。かかる処理をB、C、Dについ
ても同様に行なう。
Specifically, the old data A1 ', A of the stripes A1, A2, A3 corresponding to the host command A
2 ', A3' and old parity stripe P1 'are read, and then these old data and new data stripe A are read.
A new parity data stripe P1 is created by taking the exclusive OR of 1, A2 and A3. Then, after waiting for one rotation of the disk, the new data stripes A1, A2, A3 and the new parity data stripe P1 are written to complete a series of write operations. This process is similarly performed for B, C, and D.

【0055】これによると、パリティ生成のためのリー
ド動作とライト動作との間と、さらにホストコマンドと
ホストコマンドの実行との間には、リード時と同様、回
転待ちが入って処理速度が低下する。
According to this, similarly to the read operation, a rotation wait occurs between the read operation and the write operation for parity generation and between the host command and the execution of the host command, and the processing speed decreases. To do.

【0056】次に、この実施例での第1のライト方式に
ついて説明する。リード時と同様、上位計算機1からホ
ストコマンドA、B、C、Dを受領すると、コマンド制
御手段6はこれらを解釈し、これらが連続領域へのシー
ケンシャルアクセスであると判断すると、一旦ホストコ
マンドA、B、C、Dをコマンド制御手段6内のコマン
ドクラスタリング手段14によりグループ化(コマンド
クラスタリング)し、図4に示すように、1つのホスト
コマンドに等価的に見せ掛けた後、ディスクコマンドに
変換し、各ディスク装置a〜dへのリードディスクコマ
ンドCCa1、CCb1、CCc1、CCd1、CCe
1を同時に生成して発行する。ディスクコマンドCCa
1はディスク装置aの旧データストライプA1’、B
2’、C4’を、ディスクコマンドCCb1はディスク
装置bの旧データストライプA2’、C1’、C5’
を、ディスクコマンドCCc1はディスク装置cの旧デ
ータストライプA3’、C2’、D1’を、ディスクコ
マンドCCd1はディスク装置dの旧データストライプ
B1’、C3’を、ディスクコマンドCCe1はディス
ク装置eの旧パリティストライプP1’、P2’、P
3’、P4’を夫々リードする。各ディスク装置a〜e
からは、シーク動作、回転待ちの後、夫々の対象データ
が読み出される。そして、これらの旧データと新データ
A1、A2、A3、B1、B2、C1、C2、C3、C
4、C5、D1とから新パリティデータP1、P2、P
3、P4を生成する。その後、新データA1〜D1と新
パリティデータP1〜P4とを、リードディスクコマン
ドCCa1、CCb1、CCc1、CCd1、CCe1
と同じディスクコマンドCCa2〜CCe2をライトデ
ィスクコマンドとして用いて、リードと同様の方法でラ
イトする。これにより、ライト動作が完了する。
Next, the first write method in this embodiment will be described. When the host commands A, B, C, and D are received from the host computer 1, the command control means 6 interprets them as in the case of reading, and judges that these are sequential accesses to the continuous area. , B, C, D are grouped (command clustering) by the command clustering means 14 in the command control means 6, and are made to look like one host command equivalently, as shown in FIG. , Read disk commands CCa1, CCb1, CCc1, CCd1, CCe to the disk devices a to d
1 is generated and issued at the same time. Disk command CCa
1 is the old data stripes A1 ', B of the disk device a
2 ', C4', and the disk command CCb1 is the old data stripes A2 ', C1', C5 'of the disk device b.
The disk command CCc1 is the old data stripes A3 ', C2', D1 'of the disk device c, the disk command CCd1 is the old data stripes B1', C3 'of the disk device d, and the disk command CCe1 is the old data stripe of the disk device e. Parity stripes P1 ', P2', P
Lead 3'and P4 'respectively. Each disk device ae
Then, after the seek operation and the waiting for rotation, the respective target data are read out. And these old data and new data A1, A2, A3, B1, B2, C1, C2, C3, C
4, C5, D1 and new parity data P1, P2, P
3 and P4 are generated. Then, the new data A1 to D1 and the new parity data P1 to P4 are transferred to the read disk commands CCa1, CCb1, CCc1, CCd1, CCe1.
Using the same disk commands CCa2 to CCe2 as the write disk command, writing is performed in the same manner as in reading. This completes the write operation.

【0057】この際、パリティデータの生成時間がディ
スクの1周回転待ち時間に比べて充分小さければ、途中
回転待ちはリードとライトの間に1回だけしかないの
で、従来方式に比べて最大(2n−2)回削減できるこ
とになり、高速化の点で効果が非常に大きい。
At this time, if the parity data generation time is sufficiently smaller than the one-round rotation waiting time of the disk, the halfway rotation waiting time is only once between the read and the write, so that the maximum ( 2n-2) times can be reduced, which is very effective in terms of speeding up.

【0058】次に、この実施例の第2のライト方式につ
いて説明するが、このために、図9に示す工夫がこらさ
れる。即ち、図5に示したようにホストコマンド論理ア
ドレスマッピングされる場合、同図の上部(先頭部)2
つの列はパリティグループの全データストライプをライ
トするため、これらは旧データを読むことなくパリティ
データを生成することが可能である。従って、これら2
列に関しては、図9に示すように、全データディスク装
置a,b,c,d及びパリティディスク装置eでデータ
をリードせず、ライトだけをすることができる(ディス
クコマンドCCa1〜CCe1)。
Next, the second write method of this embodiment will be described. For this reason, the device shown in FIG. 9 is devised. That is, when the host command logical address is mapped as shown in FIG. 5, the upper part (head part) 2 of FIG.
Since one column writes all the data stripes of the parity group, they can generate parity data without reading the old data. Therefore, these two
As for the column, as shown in FIG. 9, all the data disk devices a, b, c, d and the parity disk device e can write data only without reading (disk commands CCa1 to CCe1).

【0059】図5の上から3番目の列では旧データC
4’,C5’,D1’をディスクコマンドCCa2,C
Cb2,CCc2,CCe2でリードし、これらと新デ
ータとでパリティ生成後、ライトディスクコマンドCC
a3,CCb3,CCc3,CCe3で新データをライ
トする。
In the third column from the top in FIG. 5, the old data C
4 ', C5', D1 'are disc commands CCa2, C
Read with Cb2, CCc2, CCe2, generate parity with these and new data, and then write disk command CC
New data is written by a3, CCb3, CCc3, CCe3.

【0060】この第2の方式によれば、先の第1の方式
に比べて回転待ちが1〜3回増えることになる。しか
し、回転待ち時間に比べて充分に長いデータ転送時間を
要するデータを扱う場合には、パリティ生成のためのリ
ード動作時間が短くてすみ、先の第1の方法に比べで充
分高速となる。また、従来方法に比べ、回転待ちを(2
n−5)回削減できる。
According to the second method, the waiting time for rotation is increased by 1 to 3 times as compared with the first method. However, when handling data that requires a data transfer time that is sufficiently longer than the rotation waiting time, the read operation time for parity generation can be short, and the speed is sufficiently higher than that of the first method. Also, waiting for rotation (2
n-5) times can be reduced.

【0061】リード動作と同様、ライト動作の場合を具
体例を挙げてその効果を具体的に説明する。ここでは、
上位計算機1から64Kバイトの連続領域へ16Kバイ
トのコマンド4つに分けてライトアクセス要求が発行さ
れ、各16Kバイトコマンドのデータは4台のディスク
装置に均等に分配されてライトするものとする。また、
ストライプサイズを4Kバイトとし、コマンド解釈等の
オーバーヘッド時間は非常に小さくて無視できるものと
する。
Similar to the read operation, the effect of the write operation will be specifically described with a specific example. here,
A write access request is issued from the host computer 1 to a continuous area of 64 Kbytes divided into four 16 Kbyte commands, and the data of each 16 Kbyte command is evenly distributed and written to the four disk devices. Also,
The stripe size is 4 Kbytes, and the overhead time for command interpretation is very small and can be ignored.

【0062】そこで、従来方式によれば、処理時間T’
は、最悪毎回リード後ライトするとしたとき、T’=
(平均シーク時間+平均回転待ち時間)+(16Kバイ
トデータ転送時間÷4)×4×2 +(1周回転待ち時
間)×(全アクセス回数−1)=145.7(ミリ秒) となる。一方、この実施例の第1の方式によれば、処理
時間T1は、T1=(平均シーク時間+平均回転待ち時
間)+(64Kバイトデータ転送時間÷4)×2 +
(1周回転待ち時間)=49.6(ミリ秒) となり、従来方式に比べ、約3倍高速となる。
Therefore, according to the conventional method, the processing time T '
At worst, when writing after reading, T '=
(Average seek time + average rotation wait time) + (16 Kbyte data transfer time ÷ 4) x 4 x 2 + (1 round rotation wait time) x (total access count -1) = 145.7 (milliseconds) .. On the other hand, according to the first method of this embodiment, the processing time T1 is T1 = (average seek time + average rotation waiting time) + (64 Kbyte data transfer time / 4) × 2 +
(1 rotation rotation waiting time) = 49.6 (milliseconds), which is about 3 times faster than the conventional method.

【0063】また、上位計算機1から4Mバイトの連続
領域へ1Mバイトのコマンド4つに分けてアクセス要求
が発行されたときには、従来方式による処理時間T’
は、最悪毎回リード後ライトするとしたとき、T’=
(平均シーク時間+平均回転待ち時間)+(1Mバイト
データ転送時間÷4)×4×2 +(1周回転待ち時
間)×(全アクセス回数−1)=802(ミリ秒) となる。一方、この実施例での第1の方式によれば、処
理時間T1は、T1=(平均シーク時間+平均回転待ち
時間)+(4Mバイトデータ転送時間÷4)×2 +
(1周回転待ち時間)=706(ミリ秒) となり、従来方式に比べ、約1.1倍しか高速化しな
い。
When the access request is issued from the high-level computer 1 to the continuous area of 4 Mbytes divided into four 1 Mbyte commands, the processing time T'in the conventional method is used.
At worst, when writing after reading, T '=
(Average seek time + Average rotation wait time) + (1 Mbyte data transfer time / 4) × 4 × 2 + (1 rotation rotation wait time) × (total access count-1) = 802 (milliseconds). On the other hand, according to the first method in this embodiment, the processing time T1 is T1 = (average seek time + average rotation waiting time) + (4 Mbyte data transfer time / 4) × 2 +
(1 rotation rotation waiting time) = 706 (milliseconds), which is only about 1.1 times faster than the conventional method.

【0064】これに対し、この実施例の第2の方法によ
れば、処理時間T2は最悪5回の回転待ちが入ったと
し、リード後ライト動作を行なう領域は16Kバイトで
あるとすると、 T2=(平均シーク時間+平均回転待ち時間)+((4
Mバイト−16Kバイト)のデータ転送時間÷4)+
(16Kバイトデータ転送時間)×2 +(1周回転待
ち時間)×4=438(ミリ秒) となり、従来の方法に比べて最悪でも約2倍高速化する
ことができ、効果が非常に大きい。
On the other hand, according to the second method of this embodiment, assuming that the processing time T2 is the worst waiting time for 5 times of rotation, and the area for performing the write operation after read is 16 Kbytes, T2 = (Average seek time + Average rotation waiting time) + ((4
Data transfer time of M bytes-16 Kbytes / 4) +
(16K-byte data transfer time) x 2 + (1 rotation rotation waiting time) x 4 = 438 (milliseconds), which is about twice as fast as the conventional method, and the effect is very large. ..

【0065】以上のようなリードまたはライト動作を終
えてディスク装置9a〜9eにデータの書込みもしくは
読出しを行なったならば、図2において、ディスク装置
9a〜eはこのことをディスクI/F8a〜8eを介し
て図1に示すコマンド制御手段6のディスクコマンド起
動・終了手段15に通知し、ディスクコマンド起動・終
了手段15はこれをコマンドクラスタリング手段14に
通知する。そして、上記動作がリード動作であるときに
は、データ転送タイミング手段17は、上記のように、
データバッファ7(図2)に格納されている先のホスト
コマンドに対応したデータを再合して順次上位計算機1
(図2)に転送する。そして、コマンドクラスタリング
手段14はディスクコマンド管理テーブル18上からこ
れらコマンドに該当する管理情報を削除し、また、ホス
トコマンドキューイング手段12にもこれを通知してコ
マンドキューから該当するホストコマンドを削除させ、
かつホストコマンド入出力手段11に通知させる。ホス
トコマンド入出力手段11は、この通知を受けると、上
位I/F4を介して上位計算機1にコマンド終了を通知
して一連の処理を終える。
When the data is written in or read from the disk devices 9a to 9e after the above read or write operation is completed, the disk devices 9a to 9e in FIG. 1 to the disk command start / end means 15 of the command control means 6 shown in FIG. 1, and the disk command start / end means 15 notifies the command clustering means 14 of this. Then, when the above operation is a read operation, the data transfer timing means 17 operates as described above.
The data corresponding to the previous host command stored in the data buffer 7 (FIG. 2) is recombined and the host computer 1
(Fig. 2). Then, the command clustering means 14 deletes the management information corresponding to these commands from the disk command management table 18, and also notifies the host command queuing means 12 of this so as to delete the corresponding host command from the command queue. ,
In addition, the host command input / output unit 11 is notified. Upon receiving this notification, the host command input / output unit 11 notifies the host computer 1 of the command end via the host I / F 4 and ends the series of processes.

【0066】以上、この実施例の効果をまとめると、 (1)シーケンシャルリード時には、最大(n−1)回
の回転待ちを削減できる。これにより、例えば16Kビ
ットのホストコマンドが4回シーケンシャルに発行され
てなる64Kバイトのデータリードの場合、全処理時間
は従来方式に比べて約3倍高速になる。
As described above, the effects of this embodiment can be summarized as follows: (1) At the time of sequential read, it is possible to reduce the maximum waiting time (n-1) of rotations. As a result, in the case of data read of 64 Kbytes in which a 16 Kbit host command is sequentially issued four times, for example, the total processing time is about 3 times faster than that of the conventional method.

【0067】(2)小さなデータのシーケンシャルライ
ト時には、上記第1の方式によれば、最大(2n−2)
回の回転待ちを削減できる。これにより、例えば16K
バイトのホストコマンドが4回シーケンシャルに発行さ
れてなる64Kバイトのデータライトの場合、全処理時
間は従来方式に比べて約3倍高速になる。
(2) At the time of sequential writing of small data, the maximum (2n-2) is obtained according to the first method.
It is possible to reduce the number of times to wait for rotation. With this, for example, 16K
In the case of 64K-byte data write in which byte host commands are sequentially issued four times, the total processing time is about three times faster than that of the conventional method.

【0068】(3)大きなデータのシーケンシャルライ
ト時には、上記第2の方式によれば、最大(2n−5)
回の回転待ちを削減できるし、さらに、大半のパリティ
生成のための旧データのリード動作を削除できる。これ
により、例えば1Mバイトのホストコマンドが4回シー
ケンシャルに発行されてなる4Mバイトのデータライト
の場合、全処理時間は従来方式に比べて最悪でも約2倍
高速になる。
(3) At the time of sequential writing of large data, according to the second method, the maximum (2n-5) is obtained.
It is possible to reduce the number of times to wait for rotation, and further, it is possible to delete most of the old data read operations for parity generation. As a result, in the case of a 4 Mbyte data write in which a 1 Mbyte host command is sequentially issued four times, for example, the total processing time is at least twice as fast as the conventional method.

【0069】図10は本発明によるディスクアレイ制御
方式を用いた図2のディスクアレイ装置2のコマンド制
御手段6の内部構成を示すブロック図であって、図1に
示したコマンド制御手段6にプリフェッチ制御手段19
を設けたものである。なお、以下の説明では、図1で説
明したコマンドクラスタリング手段14及びホストコマ
ンドキューイング手段12はないものとして扱うが、図
10に示すように、これらをも使用するようにしてもよ
い。
FIG. 10 is a block diagram showing the internal structure of the command control means 6 of the disk array device 2 of FIG. 2 which uses the disk array control system according to the present invention. The command control means 6 shown in FIG. Control means 19
Is provided. In the following description, it is assumed that the command clustering unit 14 and the host command queuing unit 12 described in FIG. 1 are not provided, but these may be used as shown in FIG.

【0070】図10において、プリフェッチ制御手段1
9は、後述するプリフェッチがヒットしたかどうかを判
断し、ヒットしたならば、後述するプリフェッチバッフ
ァからデータをリードするように制御する手段である。
他の構成部は図1に示したコマンド制御手段6と同じで
ある。
In FIG. 10, prefetch control means 1
Reference numeral 9 is a means for determining whether or not a prefetch described later has hit, and if hit, controls to read data from a prefetch buffer described later.
The other components are the same as those of the command control means 6 shown in FIG.

【0071】図11は図10に示したコマンド制御手段
6を用いた図2に示したディスクアレイ装置2の要部を
示しすブロック図であって、5’はデータ転送手段、1
9は図10に示したコマンド制御手段6内部のプリフェ
ッチ制御手段、20a〜20eはディスク装置9a,9
b……上に保存されているデータをプリフェッチ制御手
段19の指令により入力して保存するプリフェッチバッ
ファであり、図2に対応する部分には同一符号をつけて
いる。
FIG. 11 is a block diagram showing a main part of the disk array device 2 shown in FIG. 2 using the command control means 6 shown in FIG.
9 is prefetch control means inside the command control means 6 shown in FIG. 10, and 20a to 20e are disk devices 9a, 9
b ... A prefetch buffer for inputting and storing the data stored above in accordance with a command from the prefetch control means 19, and the portions corresponding to those in FIG.

【0072】次に、この実施例の動作を説明するが、上
位計算機1が、ディスクアレイ装置2の論理アドレスマ
ップ上の連続領域のデータを何回かの複数のホストコマ
ンドにより、リードすることを考える。このような複数
回のシーケンシャルアクセスが起きる場合は、先に説明
した第1の実施例と同様である。このような場合、仮に
上位計算機1に1台のディスク装置が接続されていると
すると、ディスク装置の持つプリフェッチバッファと呼
ばれる先読みデータ保存領域に当該データが保存されて
いれば、この保存領域からそのデータを読み出すことに
より、シーク、回転待ち等のディスク装置のメカに依存
する遅延は生じず、かつ、メモリ等の電気的な記憶領域
からのリードであるので、非常に高速にアクセスが可能
となる。このため、通常、ディスク装置においては、上
位計算機からリード要求が発行されると、当該データの
みならず、このデータに続くデータを先読みされ、プリ
フェッチバッファに格納しておくプリフェッチ制御が行
なわれる。
Next, the operation of this embodiment will be described. It is assumed that the host computer 1 reads the data in the continuous area on the logical address map of the disk array device 2 by a plurality of host commands. Think The case where such sequential access occurs a plurality of times is the same as in the first embodiment described above. In such a case, assuming that one disk device is connected to the host computer 1, if the data is stored in a prefetch data storage area called a prefetch buffer of the disk device, the data is stored from this storage area. By reading the data, there is no delay depending on the mechanism of the disk device, such as seek and rotation wait, and since it is a read from an electrical storage area such as a memory, it is possible to access at very high speed. .. Therefore, in a disk device, when a read request is issued from a high-order computer, prefetch control is performed in which not only the data but also the data following this data is preread and stored in the prefetch buffer.

【0073】ところが、ディスクアレイ装置2では、複
数のディスク装置が並列に配列され、ストライプ毎に異
なるディスク装置にデータを記録するため、ホスト側か
ら見た論理アドレスが連続していても、各ディスク装置
の論理アドレス上ではデータは非連続である。このた
め、ディスク装置の持つプリフェッチ機能は、パリティ
グループのデータサイズを超える大きいデータアクセス
の場合以外には期待できない。この第2の実施例は、こ
のディスクアレイ装置の欠点を補なう高速化手法を可能
とするものである。
However, in the disk array device 2, since a plurality of disk devices are arranged in parallel and data is recorded in different disk devices for each stripe, even if the logical addresses seen from the host side are continuous, each disk device is Data is discontinuous on the logical address of the device. Therefore, the prefetch function of the disk device cannot be expected except in the case of large data access exceeding the data size of the parity group. The second embodiment enables a speed-up method that compensates for the drawbacks of this disk array device.

【0074】次に、この実施例の動作を説明する。ここ
で、一例として、シーケンシャルな2つのアクセス要求
A,Bが上位計算機1から発行されたとする。そして、
図12に示すように、A1、A2はホストコマンドAが
アクセスするディスク装置a,bのストライプ、B1、
B2はホストコマンドBがアクセスするディスク装置
c,dのストライプ、PはA1,A2,B1,B2を含
むパリティグループのディスク装置eでのパリティスト
ライプである。
Next, the operation of this embodiment will be described. Here, as an example, it is assumed that two sequential access requests A and B are issued from the host computer 1. And
As shown in FIG. 12, A1 and A2 are stripes of disk devices a and b accessed by the host command A, B1 and
B2 is a stripe of the disk devices c and d accessed by the host command B, and P is a parity stripe in the disk device e of the parity group including A1, A2, B1 and B2.

【0075】始めにライト動作について説明するが、第
1実施例と同様、比較のため、まず従来の方式を図13
を用いて説明する。最初に、ホストコマンドAが実行さ
れる。即ち、まず、ディスク装置a,b,eから旧デー
タA1’、A2’、P’をリードする。そして、これら
と新データとの排他的論理輪の計算によって新パリティ
データPが生成され、新データA1、A2がディスク装
置a、bに、新パリティデータPがディスク装置eに夫
々書き込まれ、上位計算機1にコマンド終了が報告され
てホストコマンドAが終了する。ホストコマンドBが同
様に実行されて、コマンドBの終了が上位計算機1に報
告され、これら2つのシーケンシャルライトコマンドが
終了する。
First, the write operation will be described. For comparison, first, the conventional method will be described with reference to FIG. 13 as in the first embodiment.
Will be explained. First, the host command A is executed. That is, first, the old data A1 ', A2', P'is read from the disk devices a, b, e. Then, new parity data P is generated by calculation of an exclusive logical wheel of these and new data, new data A1 and A2 are written to the disk devices a and b, and new parity data P is written to the disk device e, respectively. The command end is reported to the computer 1, and the host command A ends. The host command B is similarly executed, the end of the command B is reported to the host computer 1, and these two sequential write commands are ended.

【0076】次に、この実施例の方式によるライト動作
について、図2、図10、図11及び図14を用いて説
明する。まず、ホストコマンドAがコマンド制御手段6
に供給されると、ホストコマンド解釈手段13はディス
ク装置9a,9b,9eについてのアクセス要求である
ことを判断し、これらディスク装置9a,9b,9eの
ディスクコマンドを生成してディスクコマンド起動・終
了手段15に送出する。ディスクコマンド起動・終了手
段15はこれらディスクコマンドの起動をかける。
Next, the write operation according to the method of this embodiment will be described with reference to FIGS. 2, 10, 11 and 14. First, the host command A is the command control means 6
The host command interpreting means 13 determines that the access request is for the disk devices 9a, 9b, 9e, generates disk commands for these disk devices 9a, 9b, 9e, and starts / ends the disk command. To the means 15. The disk command activation / termination means 15 activates these disk commands.

【0077】これと同時に、ホストコマンド解釈手段1
3はディスク装置9c,9dが未使用であることを判断
し、このことをプリフェッチ制御手段19に通知する。
プリフェッチ制御手段19は、この通知を受けると、デ
ィスク装置9c,9dのホストコマンドAのアクセス領
域に続く論理アドレス領域のデータをリードすべくディ
スクコマンドを生成し、ディスクコマンド起動・終了手
段15に送出する。また、このプリフェッチ制御手段1
9内部に、これらディスク装置9c,9dへのリード要
求を行なったことを保存しておく。そこで、ディスクコ
マンド起動・終了手段15はディスク装置9c,9dに
リードディスクコマンドを発行する。
At the same time, the host command interpreting means 1
3 judges that the disk devices 9c and 9d are unused, and notifies the prefetch control means 19 of this.
Upon receiving this notification, the prefetch control means 19 generates a disk command to read the data in the logical address area following the access area of the host command A of the disk devices 9c and 9d, and sends it to the disk command start / end means 15. To do. Also, this prefetch control means 1
A request for read to the disk devices 9c and 9d is stored in the storage unit 9 inside. Therefore, the disk command start / end means 15 issues a read disk command to the disk devices 9c and 9d.

【0078】ホストコマンドAは、従来方式と同様、デ
ィスク装置a,b,eから旧データA1’,A2’,
P’をリードし、新データとの排他的論理和をとること
によって新パリティデータPを生成し、新データA1,
A2とともにディスク装置9a,9b,9eにライト
し、これを上位計算機1に報告する。これでホストコマ
ンドAに対する全処理を終了する。
As in the conventional method, the host command A is sent from the disk devices a, b, e to the old data A1 ', A2',
The new parity data P is generated by reading P ′ and taking the exclusive OR with the new data, and the new data A1,
The data is written to the disk devices 9a, 9b, 9e together with A2, and this is reported to the host computer 1. This completes all processing for the host command A.

【0079】これと同時に、プリフェッチ制御手段19
でホストコマンドBから生成されたディスク装置9c,
9dへのリードディスクコマンドが実行され、これらか
ら旧データB1’,B2’が転送されてくるが、プリフ
ェッチ制御手段19はプリフェッチバッファ20c,2
0dをデータ入力可能状態とし、これらリードされた旧
データB1’,B2’をここに保存する。このとき、こ
れら旧データB1’,B2’はデータ転送手段5’及び
データバッファ7に転送されない。プリフェッチバッフ
ァ20c,20dへの旧データの転送が完了すると、プ
リフェッチ制御手段19はその内部の保存領域にこの状
態を記録しておく。また、このプリフェッチ制御手段1
9はディスク装置9a,9bへのライトデータA1,A
2,Pについても、データバッファ7からこれらディス
ク装置9a,9b,9eに転送するとき、同時にプリフ
ェッチバッファ20a,20b,20eに保存するよう
に制御する。
At the same time, the prefetch control means 19
Disk device 9c generated from the host command B by
The read disk command to 9d is executed, and the old data B1 'and B2' are transferred from them, but the prefetch control means 19 uses the prefetch buffers 20c and 2c.
0d is set in a data input enabled state, and the read old data B1 ′ and B2 ′ are stored here. At this time, the old data B1 'and B2' are not transferred to the data transfer means 5'and the data buffer 7. When the transfer of the old data to the prefetch buffers 20c and 20d is completed, the prefetch control means 19 records this state in the internal storage area. Also, this prefetch control means 1
Reference numeral 9 is write data A1 and A for the disk devices 9a and 9b.
Also for 2 and P, when they are transferred from the data buffer 7 to these disk devices 9a, 9b and 9e, they are controlled to be simultaneously stored in the prefetch buffers 20a, 20b and 20e.

【0080】以上の現アクセス領域に続くデータ領域を
リードし、プリフェッチバッファに保存しておく動作、
及びディスク装置へのライトデータをプリフェッチバッ
ファに保存しておくことを、総称して、データプリフェ
ッチということにする。
The operation of reading the data area following the current access area and storing it in the prefetch buffer,
Saving the write data to the disk device in the prefetch buffer is generically called data prefetch.

【0081】ホストコマンドAの終了報告を上位計算機
1が受信すると、次なるホストコマンドBをディスクア
レイ装置2に発行する。コマンド制御手段6では、これ
が受領されると、ホストコマンド解釈手段13がこのホ
ストコマンドBを解釈してディスク装置9c,9d,9
eのディスクコマンドを生成し、ディスクコマンド起動
・終了手段15に送出する。
When the host computer 1 receives the end report of the host command A, the next host command B is issued to the disk array device 2. In the command control means 6, when this is received, the host command interpreting means 13 interprets this host command B, and disk devices 9c, 9d, 9
The disk command of e is generated and sent to the disk command starting / terminating means 15.

【0082】また、ホストコマンド解釈手段13はディ
スク装置9c,9d,9eへのアクセスであることを、
さらに、ディスク装置9a,9bは現在未使用であるこ
とを判断し、これらをプリフェッチ制御手段19に通知
する。プリフェッチ制御手段19は今回のライト時にパ
リティの生成に使用される旧データB1’,B2’,
P’がプリフェッチバッファ20c,20d,20eに
保存されているかどうか判断する(これをプリフェッチ
のヒット判断という)。この場合、先にプリフェッチバ
ッファ20c,20d,20eに旧データをプリフェッ
チしてあるので、これをプリフェッチヒットとしてディ
スクコマンド起動・終了手段15とデータ転送タイミン
グ制御手段17とに通知する。
Further, the host command interpreting means 13 indicates that the disk devices 9c, 9d and 9e are to be accessed.
Further, the disk devices 9a and 9b determine that they are not currently used and notify the prefetch control means 19 of them. The prefetch control means 19 uses the old data B1 ', B2', which is used for generating the parity at the time of this write.
It is determined whether P'is stored in the prefetch buffers 20c, 20d, 20e (this is referred to as prefetch hit determination). In this case, since the old data has been prefetched into the prefetch buffers 20c, 20d, 20e first, this is notified to the disk command activation / termination means 15 and the data transfer timing control means 17 as a prefetch hit.

【0083】そこで、ディスクコマンド起動・終了手段
15はディスク装置9c,9d,9eへのリードは不要
であると判断し、適切なタイミングでライトディスクコ
マンドをディスク装置9c,9d,9eへ発行する。デ
ータ転送タイミング制御手段17はデータ転送手段5に
プリフェッチバッファ20c,20d,20eから旧デ
ータB1’,B2’,P’及びデータバッファ7にある
新データB1,B2をパリティ生成手段10(図2)に
転送し、新パリティPを生成する。
Therefore, the disk command starting / terminating means 15 judges that reading to the disk devices 9c, 9d, 9e is unnecessary, and issues a write disk command to the disk devices 9c, 9d, 9e at an appropriate timing. The data transfer timing control means 17 transfers the old data B1 ', B2', P'from the prefetch buffers 20c, 20d, 20e to the data transfer means 5 and the new data B1, B2 in the data buffer 7 to the parity generation means 10 (FIG. 2). To the new parity P.

【0084】この新パリティPの生成完了後、コマンド
制御手段6はこの終了通知を受け、ライトディスクコマ
ンドをディスク装置9c,9d,9eに発行してデータ
B1,B2及びパリティPをこれらにライトする。この
ライト動作が終了してこれを上位計算機1に報告する
と、ライト処理が終了する。以上の様子を示したものが
図14である。
After the completion of the generation of this new parity P, the command control means 6 receives this end notification and issues a write disk command to the disk devices 9c, 9d, 9e to write the data B1, B2 and the parity P to them. .. When this write operation is completed and this is reported to the host computer 1, the write processing is completed. FIG. 14 shows the above situation.

【0085】さらに、プリフェッチ制御手段19は、デ
ィスク装置9c,9d,9eでライト動作が行なわれて
いる間ディスク装置9a,9bが未実行であるから、次
なる連続データをプリフェッチバッファ20a,20b
にリードするべくリードディスクコマンドを生成し、デ
ィスクコマンド起動・終了手段15に発行して、次のシ
ーケンシャルアクセスが来る場合に備える。さらに、現
在ライトしたデータをプリフェッチバッファ20c,2
0d,20eに保存する。
Further, the prefetch control means 19 does not execute the disk devices 9a and 9b while the disk devices 9c, 9d and 9e are performing the write operation, so that the next continuous data is prefetched into the prefetch buffers 20a and 20b.
In order to prepare for the next sequential access, a read disk command is generated in order to read the data and is issued to the disk command start / end means 15. Furthermore, the data currently written is stored in the prefetch buffers 20c, 2c.
Save in 0d, 20e.

【0086】以上のように、プリフェッチがヒットする
ときには、ライト時でパリティ生成のためのリード動作
が不要となり、処理速度が従来の2倍に高速化する。
As described above, when the prefetch hits, the read operation for generating the parity at the time of writing becomes unnecessary, and the processing speed is doubled as compared with the conventional one.

【0087】また、ライト動作について説明したが、勿
論シーケンシャルなリード動作についても、同様に動作
することはいうまでもない。この場合、全データがプリ
フェッチバッファ内に格納されていれば、ディスク装置
には一切アクセスせずにデータリード処理が実行できる
ので、シーク時間、回転待ち時間のない非常に高速なア
クセスを実現する。
Further, although the write operation has been described, it goes without saying that the same operation also applies to the sequential read operation. In this case, if all the data is stored in the prefetch buffer, the data read process can be executed without accessing the disk device at all, so that a very high speed access without seek time and rotation waiting time is realized.

【0088】さらに、あるコマンドを実行中に次に連続
的なアクセスが来ると予測してプリフェッチリードを行
なうが、プリフェッチリード中にこのディスク装置への
他のアクセスが来た場合には、プリフェッチ動作を直ち
に中断するようにディスクコマンド起動・終了手段15
を構成しておくとよい。このとき、プリフェッチされた
データは無効となり、直ちに上位計算機1の要求するア
クセスを実施する(これをプリフェッチのアボートとい
う)。
Further, prefetch read is performed while predicting that the next continuous access will come during execution of a certain command, but if another access to this disk device comes during prefetch read, the prefetch operation is performed. Disk command activation / termination means 15 so as to immediately interrupt
Should be configured. At this time, the prefetched data becomes invalid, and the access requested by the host computer 1 is immediately executed (this is called prefetch abort).

【0089】さらにまた、この実施例では、プリフェッ
チバッファ20を、図11に示すように、データ転送手
段5’とディスクI/F8との間に設けたが、データバ
ッファ7上に論理的に設けても構わない。
Further, in this embodiment, the prefetch buffer 20 is provided between the data transfer means 5'and the disk I / F 8 as shown in FIG. 11, but it is provided logically on the data buffer 7. It doesn't matter.

【0090】さらにまた、この実施例では、プリフェッ
チバッファ20をディスクアレイ制御装置3上に設けた
が、ディスク装置の内部に設けてもよい。図15はこの
場合のディスク装置の具体的構成を示すブロック図であ
って、21は上位I/F、22はデータバッファ、23
はデータ制御手段、24はコマンド制御手段、25はド
ライブ装置である。
Furthermore, in this embodiment, the prefetch buffer 20 is provided on the disk array control device 3, but it may be provided inside the disk device. FIG. 15 is a block diagram showing a specific configuration of the disk device in this case, in which 21 is an upper I / F, 22 is a data buffer, and 23
Is a data control means, 24 is a command control means, and 25 is a drive device.

【0091】ここでは、データバッファ22を利用する
が、プリフェッチバッファをディスク装置9内部にデー
タバッファ22とは別個に設けてもよい。
Although the data buffer 22 is used here, a prefetch buffer may be provided inside the disk device 9 separately from the data buffer 22.

【0092】上述のように、プリフェッチ制御手段19
(図10)によってプリフェッチ用のリードコマンドが
生成され、ディスクコマンド起動・終了手段15はディ
スクI/F8を介してディスク装置9にリードコマンド
を発行する。このリードコマンドは上位I/F21で受
信されてコマンド制御手段24で解釈され、データ制御
手段23によりドライブ装置25から該当するデータが
リードされてデータバッファ22に格納される。そし
て、データ制御手段23はデータバッファ22からこの
データをリードし、上位I/F21、ディスクI/F8
を介しディスクアレイ制御装置3(図2)に転送するの
であるが、このディスクアレイ転送装置3のデータ制御
手段5はこのデータを読み捨ててよい。
As described above, the prefetch control means 19
A read command for prefetch is generated by (FIG. 10), and the disk command activation / termination means 15 issues the read command to the disk device 9 via the disk I / F 8. This read command is received by the host I / F 21, interpreted by the command control means 24, and the data control means 23 reads the corresponding data from the drive device 25 and stores it in the data buffer 22. Then, the data control means 23 reads this data from the data buffer 22, and the upper I / F 21 and the disk I / F 8
The data is transferred to the disk array control device 3 (FIG. 2) via the disk array control device 3 and the data control means 5 of the disk array transfer device 3 may read and discard this data.

【0093】かかる動作により、ディスク装置9の内部
のデータバッファ22にはデータがプリフェッチされた
ことになり、次回このデータをアクセスした際には、こ
のプリフェッチがヒットし、シーク動作、回転待ちなく
ディスク装置9からデータを読み出すことが可能とな
る。
By this operation, the data is pre-fetched in the data buffer 22 inside the disk device 9, and the next time this data is accessed, this pre-fetch hits and seek operation, without waiting for rotation, the disk Data can be read from the device 9.

【0094】この場合、一旦ディスク装置9にアクセス
することから、ディスクI/F8のオーバヘッドがあ
り、このため、前述のディスクアレイ制御装置3内部に
プリフェッチバッファを構成した方式に比べて若干低速
になるが、シーク、回転待ちがないことから、従来方式
に比べて充分に高速であり、さらに、前述のディスクア
レイ制御装置3内部にプリフェッチバッファを構成した
方式に比べ、プリフェッチバッファが不必要となる点で
低価格で実現できる。さらに、ディスクアレイ制御装置
3内部で複雑なプリフェッチ処理をする必要がなく、制
御が簡単になる。また、図15において、上記のリード
データを読み捨てる方式に代えて、プリフェッチコマン
ドを新規に設定してもよい。ディスクコマンド起動・終
了手段15がプリフェッチコマンドをディスク装置9に
送出すると、コマンド制御手段24はこれを判断し、デ
ータ制御手段23によってデータバッファ22に必要な
データを転送して処理を終了する。かかるコマンドを設
定することにより、不要なデータ転送が行なわれず、こ
れにより、ディスクI/F8と上位I/F21との間の
トラフィックを減少させることができる。従って、同一
のディスクI/F8に多数のディスク装置が接続された
構成のとき、スループットを高めることができる。
In this case, since the disk device 9 is accessed once, there is an overhead of the disk I / F 8. Therefore, the speed is slightly slower than that of the system in which the prefetch buffer is formed inside the disk array control device 3 described above. However, since there is no seek and rotation waiting, it is sufficiently faster than the conventional method, and further, the prefetch buffer is unnecessary compared to the method in which the prefetch buffer is configured inside the disk array control device 3 described above. Can be realized at a low price. Further, it is not necessary to perform complicated prefetch processing inside the disk array control device 3, and the control becomes simple. Further, in FIG. 15, a prefetch command may be newly set instead of the method of reading and discarding the read data described above. When the disk command activation / termination means 15 sends a prefetch command to the disk device 9, the command control means 24 judges this, and the data control means 23 transfers the necessary data to the data buffer 22 and ends the processing. By setting such a command, unnecessary data transfer is not performed, thereby reducing the traffic between the disk I / F 8 and the upper I / F 21. Therefore, throughput can be increased in a configuration in which a large number of disk devices are connected to the same disk I / F 8.

【0095】このように、ディスク装置内部9にプリフ
ェッチバッファを設ける上記2つの方式によれば、上記
のような効果が得られるが、さらに、次のような効果も
得られる。即ち、1つのディスクI/F8に多数のディ
スク装置が接続された構成のときには、各々のディスク
装置でプリフェッチすることができるため、例えば、複
数の上位計算機1から複数のシーケンシャルなアクセス
要求が発行されたとき、これらを多重で動作させた場
合、これらが異なるディスク装置へのアクセスであるな
らば、上位計算機1からのどちらのシーケンシャルなア
クセス要求に対してもプリフェッチをヒットさせること
ができる。
As described above, according to the above-mentioned two methods in which the prefetch buffer is provided inside the disk device 9, the above-mentioned effects can be obtained, and further the following effects can be obtained. That is, when a large number of disk devices are connected to one disk I / F 8, prefetching can be performed in each disk device, so that, for example, a plurality of sequential access requests are issued from a plurality of host computers 1. When these are operated in multiple, if they are accesses to different disk devices, the prefetch can be hit for any sequential access request from the host computer 1.

【0096】以上の実施例による効果をまとめると、以
下のようになる。
The effects of the above embodiments can be summarized as follows.

【0097】(1)ディスクアレイ装置3内にプリフェ
ッチバッファ20を設けた場合、ライト時にプリフェッ
チがヒットすると、パリティ生成のための旧データのリ
ード動作が不要となり、従来の方式に比べて処理速度が
約2倍に高速化する。
(1) When the prefetch buffer 20 is provided in the disk array device 3, if the prefetch hits at the time of writing, the read operation of the old data for parity generation becomes unnecessary and the processing speed is higher than that of the conventional method. About twice as fast.

【0098】(2)ディスクアレイ装置3内にプリフェ
ッチバッファ20を設けた場合、リード時にプリフェッ
チがヒットすると、ディスク装置9へのアクセスが不要
となり、プリフェッチバッファ20から上位計算機1へ
の転送速度でリード動作が実現できて、従来方式に比べ
て極めて高速な処理が実現できる。
(2) When the prefetch buffer 20 is provided in the disk array device 3, if the prefetch hits at the time of reading, access to the disk device 9 becomes unnecessary, and the read speed from the prefetch buffer 20 to the host computer 1 is read. The operation can be realized, and extremely high-speed processing can be realized as compared with the conventional method.

【0099】(3)ディスク装置9内にプリフェッチバ
ッファ(データバッファ22)を設け、ディスクアレイ
制御装置3から偽リードコマンドを発行することによ
り、このプリフェッチバッファにデータをプリフェッチ
した場合、ディスクアレイ制御装置3内にプリフェッチ
バッファが不要になり、低価格に、かつディスクアレイ
制御装置3の制御も容易で、上記(1)、(2)と略同
じ性能のプリフェッチ動作を実現できる。
(3) When a prefetch buffer (data buffer 22) is provided in the disk device 9 and a false read command is issued from the disk array control device 3 to prefetch data into this prefetch buffer, the disk array control device A prefetch buffer is not required in the device 3, the cost of the disk array control device 3 can be easily controlled, and the prefetch operation having substantially the same performance as the above (1) and (2) can be realized.

【0100】(4)ディスクコマンドとしてプリフェッ
チコマンドを設けることにより、ディスク装置内のバッ
ファにデータをプリフェッチすることができるので、デ
ィスク装置とディスクアレイ制御装置との間でデータ転
送を行なう必要がなく、ディスクI/Fのトラッフィク
を減少させることができる。
(4) By providing the prefetch command as the disk command, the data can be prefetched into the buffer in the disk device, so that it is not necessary to transfer the data between the disk device and the disk array controller. It is possible to reduce the traffic of the disk I / F.

【0101】(5)ディスク装置9内にプリフェッチバ
ッファ(データバッファ22)を設けてプリフェッチ制
御を行なう上記(3)、(4)の場合、複数の上位計算
機1から略同時に複数のシーケンシャルデータアクセス
コマンドが発行され、これを多重に動作させた場合、こ
れらが異なるディスク装置へのアクセスであるならば、
上位計算機1からのどちらのアクセス要求に対しても、
プリフェッチをヒットさせることができる。
(5) In the cases (3) and (4) in which the prefetch buffer (data buffer 22) is provided in the disk device 9 to perform prefetch control, a plurality of sequential data access commands are issued from a plurality of host computers 1 at substantially the same time. Are issued, and if they are operated in multiple, if these are accesses to different disk devices,
For either access request from the host computer 1,
Prefetch can be hit.

【0102】なお、以上説明した実施例の各構成部は、
ハードウェア、ソフトウェアどちらの手段によって構成
してもよい。
Incidentally, each component of the embodiment described above is
It may be configured by either hardware or software.

【0103】以上、コマンドのクラスタリング制御方
式、並びにシーケンシャルデータのプリフェッチ制御方
式の2つの実施例を説明したが、これら両制御方式は同
時に実施することもできる。このときには、両者の効果
が期待でき、データ転送の高速化に効果が大きい。
The two embodiments of the command clustering control method and the sequential data prefetch control method have been described above, but both of these control methods can be performed simultaneously. At this time, the effects of both can be expected, and the effect of speeding up data transfer is great.

【0104】また、以上の説明では、パリティ情報を単
独のディスク装置(パリティディスク)に格納する方式
のディスクアレイ装置であったが、パリティ情報を複数
のディスク装置または全部のディスク装置に分配して格
納する方式のディスクアレイ装置でも、上記の説明と同
じデータ制御方式が採用でき、同じ効果が得られる。
In the above description, the disk array device is a system in which the parity information is stored in a single disk device (parity disk), but the parity information is distributed to a plurality of disk devices or all disk devices. The same data control method as described above can also be adopted in the disk array device of the storage method, and the same effect can be obtained.

【0105】さらに、上記コマンドのクラスタリング制
御方式は、ディスクアレイ制御装置を例として説明した
が、磁気ディスク制御装置、磁気テープ制御装置、光デ
ィスク制御装置、半導体ディスク制御装置等の記録再生
装置全般に採用することができる。このとき、任意のデ
ータ長を扱うことができ、さらに、リード、ライトを問
わずに上記説明と同様の効果が得られる。
Further, although the command clustering control method has been described by taking the disk array control device as an example, it is adopted in all recording / reproducing devices such as a magnetic disk control device, a magnetic tape control device, an optical disk control device, and a semiconductor disk control device. can do. At this time, an arbitrary data length can be handled, and the same effect as described above can be obtained regardless of read or write.

【0106】さらにまた、上記プリフェッチ制御方式で
は、光ディスクライブラリ装置や磁気テープライブラリ
装置等の多数の記録再生媒体を有する記録再生装置全般
に採用することができ、上記の説明と同様の効果が得ら
れる。
Furthermore, the prefetch control system can be applied to all recording / reproducing devices having a large number of recording / reproducing media such as an optical disk library device and a magnetic tape library device, and the same effect as described above can be obtained. ..

【0107】[0107]

【発明の効果】以上説明したように、本発明によれば、
n個のコマンドが連続的に発行されるシーケンシャルリ
ード時には、コマンドとコマンドの間に回転待ちが発生
しなくなるので、従来方式に比べて最大(n−1)回の
回転待ち時間を削減でき、リードデータ転送の高速化に
効果が大きい。また、小さなデータを扱うn個のコマン
ドが連続的に発行されるシーケンシャルライト時には、
コマンドとコマンドの間に回転待ちが発生しなくなるの
で、従来方式に比べて最大(2n−2)回の回転待ちを
削減でき、ライトデータ転送の高速化に効果が大きい。
As described above, according to the present invention,
During sequential read in which n commands are continuously issued, the rotation wait does not occur between commands, so the maximum (n-1) rotation wait time can be reduced compared to the conventional method, and read It is very effective in speeding up data transfer. Also, during sequential write in which n commands that handle small data are issued consecutively,
Since the rotation wait does not occur between commands, the maximum (2n−2) rotation wait can be reduced as compared with the conventional method, and the effect of speeding up the write data transfer is great.

【0108】また、本発明によれば、大きなデータを扱
うn個のコマンドが連続的に発行されるシーケンシャル
ライト時には、コマンドとコマンドの間に回転待ちが発
生しなくなり、かつ、パリティデータ生成のためのリー
ド回数を大幅に減少させることができるので、従来方式
に比べて最大(2n−5)回の回転待ちを削減でき、ラ
イトデータ転送の高速化に効果が大きい。
Further, according to the present invention, at the time of sequential write in which n commands dealing with large data are continuously issued, the rotation wait does not occur between the commands and the parity data is generated. Since it is possible to significantly reduce the number of read times, it is possible to reduce the waiting time for rotation (2n-5) at the maximum as compared with the conventional method, and it is effective in increasing the speed of write data transfer.

【0109】さらに、本発明によれば、ディスクアレイ
装置内にプリフェッチバッファを設けることにより、ラ
イト時にプリフェッチがヒットすると、パリティ生成の
ためのリード動作が不要となり、従来の方式に比べて処
理速度が約2倍に高速化するという効果がある。また、
ディスクアレイ装置内にプリフェッチバッファを設けた
場合、リード時にプリフェッチがヒットすると、ディス
ク装置へのアクセスが不要となり、プリフェッチバッフ
ァから上位計算機への転送速度でリード動作が実現で
き、従来方式に比べて極めて高速な処理が実現できると
いう効果がある。
Further, according to the present invention, by providing the prefetch buffer in the disk array device, when the prefetch hits at the time of writing, the read operation for parity generation becomes unnecessary, and the processing speed is higher than that of the conventional system. This has the effect of increasing the speed by about twice. Also,
When a prefetch buffer is provided in the disk array device, if the prefetch hits during reading, access to the disk device is not required, and the read operation can be realized at the transfer speed from the prefetch buffer to the host computer. The effect is that high-speed processing can be realized.

【0110】さらにまた、本発明によれば、ディスク装
置内にプリフェッチバッファを設けた場合(もしくはデ
ータバッファにより実現した場合)、ディスクアレイ制
御装置内にプリフェッチバッファが不要になり、低価格
に、かつ、ディスクアレイ制御装置の制御も容易にプリ
フェッチ動作を実現でき、性能も同等であるという効果
がある。この場合さらに、複数の上位計算機から略同時
刻に複数のシーケンシャルデータアクセスコマンドが発
行され、これを多重に動作させた場合、もしこれらが異
なるディスク装置へのアクセスであるならば、どちらの
上位計算機のアクセス要求に対してもプリフェッチをヒ
ットさせることができて、上記の効果が期待できるた
め、高スループット処理の実現が可能となる。
Furthermore, according to the present invention, when a prefetch buffer is provided in the disk device (or when it is realized by a data buffer), the prefetch buffer is not required in the disk array control device, and the cost is low. The control of the disk array control device can easily realize the prefetch operation, and the performance is equivalent. In this case, if multiple sequential data access commands are issued from multiple higher-level computers at approximately the same time and they are operated in multiple, if these are access to different disk devices, which higher-level computer will be Since the prefetch can be hit even for the access request of, and the above effect can be expected, high throughput processing can be realized.

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

【図1】本発明によるディスクアレイ制御方式の第1の
実施例を示すブロック図である。
FIG. 1 is a block diagram showing a first embodiment of a disk array control system according to the present invention.

【図2】本発明によるディスクアレイ制御方式を用いた
ディスクアレイ装置の一例を示すブロック図である。
FIG. 2 is a block diagram showing an example of a disk array device using a disk array control system according to the present invention.

【図3】ホストから見たディスクアレイ装置の論理アド
レスマップを示すである。
FIG. 3 is a diagram showing a logical address map of the disk array device as seen from the host.

【図4】図1に示した第1の実施例でのコマンドクラス
タリング実施後のディスクアレイ装置の論理アドレスマ
ップを示す図である。
FIG. 4 is a diagram showing a logical address map of the disk array device after command clustering in the first embodiment shown in FIG. 1;

【図5】図1に示した第1の実施例での各ディスク装置
の論理アドレスマップを示す図である。
5 is a diagram showing a logical address map of each disk device in the first embodiment shown in FIG. 1. FIG.

【図6】従来方式による多重リード動作を示すタイミン
グチャートである。
FIG. 6 is a timing chart showing a multiple read operation according to a conventional method.

【図7】図1に示した第1の実施例による多重リード動
作を示すタイミングチャートである。
FIG. 7 is a timing chart showing a multiple read operation according to the first embodiment shown in FIG.

【図8】従来方式による多重ライト動作の他の例を示す
タイミングチャートである。
FIG. 8 is a timing chart showing another example of the multiple write operation according to the conventional method.

【図9】図1に示した第1の実施例による多重リード動
作の他の例を示すタイミングチャートである。
9 is a timing chart showing another example of the multiple read operation according to the first embodiment shown in FIG.

【図10】本発明によるディスクアレイ制御方式の第2
の実施例を示すブロック図である。
FIG. 10 shows a second disk array control method according to the present invention.
It is a block diagram showing an example of.

【図11】図10に示した第2の実施例を用いたディス
クアレイ装置でのプリフェッチバッファの配置を示すブ
ロック図である。
FIG. 11 is a block diagram showing an arrangement of prefetch buffers in the disk array device using the second embodiment shown in FIG.

【図12】図10に示した第2の実施例による各ディス
ク装置の論理アドレスマップを示す図である。
12 is a diagram showing a logical address map of each disk device according to the second embodiment shown in FIG.

【図13】従来方式によるライト動作を示すタイミング
チャートである。
FIG. 13 is a timing chart showing a write operation according to a conventional method.

【図14】図10に示した第2の実施例によるライト動
作を示すタイミングチャートである。
FIG. 14 is a timing chart showing a write operation according to the second embodiment shown in FIG.

【図15】図10に示した第2の実施例によるディスク
装置の内部構造の一例を示すブロック図である。
15 is a block diagram showing an example of the internal structure of the disk device according to the second embodiment shown in FIG.

【図16】従来のディスクアレイ制御方式の一例を示す
ブロック図である。
FIG. 16 is a block diagram showing an example of a conventional disk array control method.

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

1 上位計算機 2 ディスクアレイ装置 3 ディスクアレイ制御装置 4 上位I/F 5 データ制御手段 6 コマンド制御手段 7 データバッファ 8a〜8e ディスクI/F 9a〜9e ディスク装置 10 パリティ生成手段 11 ホストコマンド入出力手段 12 ホストコマンドキューイング手段 13 ホストコマンド解釈手段 14 コマンドクラスタリング手段 15 ディスクコマンド起動・終了手段 16 メイン制御手段 17 データ転送タイミング制御手段 18 ディスクコマンド管理テーブル 19 プリフェッチ制御手段 20a〜20e プリフェッチバッファ 1 host computer 2 disk array device 3 disk array control device 4 host I / F 5 data control means 6 command control means 7 data buffer 8a-8e disk I / F 9a-9e disk device 10 parity generation means 11 host command input / output means 12 host command queuing means 13 host command interpreting means 14 command clustering means 15 disk command starting / terminating means 16 main control means 17 data transfer timing control means 18 disk command management table 19 prefetch control means 20a to 20e prefetch buffer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮沢 章一 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 大枝 高 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 本田 聖志 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Shoichi Miyazawa, 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Inside the Microelectronics Equipment Development Laboratory, Hitachi, Ltd. (72) Inventor Taka Oeda Totsuka, Yokohama-shi, Kanagawa 292 Yoshida-cho, Ward, within Hitachi, Ltd. Microelectronics Device Development Laboratory (72) Inventor Seiji Honda, 292, Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Prefecture Within Hitachi, Ltd. Microelectronics Device Development Laboratory

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 コマンドを上位計算機から受信し、ま
た、コマンドの終了を通知する手段と、 該上位計算機から発行されたコマンドを解釈して各ディ
スク装置へのコマンドに変換する手段と、各ディスク装
置へのコマンドを起動し、該コマンドによるリード及び
ライトのデータ転送が終了したことを検出する手段と、 該上位計算機と該各ディスク装置とのデータ転送を制御
する手段と、 これらの各手段を制御する手段とから構成されたディス
クアレイ制御装置の制御方式において、 該上位計算機が連続的に発行するコマンドをキューに一
時保存しこれらを管理する手段と、 該キューに格納された複数のコマンドが1つの連続領域
へのアクセスを要求するコマンドであるとき、これら複
数のコマンドをグループ化して1つのコマンドとし、該
グループ化した1つのコマンドを上記各ディスク装置へ
のコマンドに変換する手段と、 グループ化された1つの該コマンドを上記各ディスク装
置へのコマンドに変換するときの変換情報と上記グルー
プ化した1つのコマンドに対する情報データとを格納し
て管理する手段とを設け、 上記上位計算機が発行した上記連続領域への複数のコマ
ンドを上記ディスクアレイ制御装置内部で1つのシーケ
ンシャルアクセスコマンドにみなすことにより、各々の
コマンドの扱うデータを1つの連続データとして扱い、
該データ全体を、アクセスすべく複数のディスク装置の
各々に対して、コマンドを分配し発行するように制御す
ることを特徴とするディスクアレイ制御方式。
1. A means for receiving a command from a host computer and notifying the end of the command, a means for interpreting a command issued by the host computer and converting it into a command for each disk device, and each disk. A means for activating a command to the device and detecting the end of read and write data transfer by the command, a means for controlling data transfer between the host computer and each disk device, and each of these means. In the control method of the disk array control device comprising control means, there are provided means for temporarily storing commands issued by the host computer in a queue, managing the commands, and a plurality of commands stored in the queue. When the command requires access to one continuous area, these plural commands are grouped into one command, Means for converting one looped command into a command for each of the disk devices, conversion information when converting one grouped command into a command for each of the disk devices, and one of the grouped commands By providing a means for storing and managing information data for the command, and by considering a plurality of commands issued by the host computer to the continuous area as one sequential access command inside the disk array control device, The data handled by the command is treated as one continuous data,
A disk array control system characterized in that the entire data is controlled so that a command is distributed and issued to each of a plurality of disk devices for access.
【請求項2】 請求項1において、 前記上位計算機が発行した前記連続領域への複数のリー
ドコマンドを前記ディスクアレイ制御装置内部で1つの
リードコマンドとしてみなし、 該1つのリードコマンドに基づいて前記複数のディスク
装置各々にリードコマンドを分配し発行することによ
り、前記連続領域への複数のリードコマンドの扱う全デ
ータを一括してリードするように制御することを特徴と
するディスクアレイ制御方式。
2. The plurality of read commands to the continuous area issued by the host computer according to claim 1, regarded as one read command inside the disk array control device, and the plurality of read commands based on the one read command. The disk array control method is characterized in that all the data handled by the plurality of read commands to the continuous area is collectively read by distributing and issuing the read command to each of the disk devices.
【請求項3】 請求項1において、 前記上位計算機が発行した前記連続領域への複数のライ
トコマンドを前記ディスクアレイ制御装置内部で1つの
ライトコマンドにみなし、 該1つのライトコマンドに基づいて、まず、複数の前記
ディスク装置各々にリードコマンドを分配し発行するこ
とにより、前記連続領域への該複数のライトコマンドが
扱う全データをライトしようとする領域からこれに既に
記録されているデータとパリティ情報とを一括してリー
ドし、 該リードデータと該パリティ情報とライトしようとする
データとから新たなパリティ情報を生成し、 次いで、該1つのライトコマンドに基づいて前記各ディ
スク装置各々にライトコマンドを分配し発行し、ライト
しようとする該データの全てと生成された該新たなパリ
ティ情報とを一括してライトするように制御することを
特徴とするディスクアレイ制御方式。
3. The write command according to claim 1, wherein a plurality of write commands issued by the host computer to the continuous area are regarded as one write command inside the disk array control device, and first, based on the one write command, By distributing and issuing a read command to each of the plurality of disk devices, the data and parity information already recorded in the area from which all the data handled by the plurality of write commands is written Are collectively read, new parity information is generated from the read data, the parity information, and the data to be written, and then a write command is issued to each of the disk devices based on the one write command. All of the data to be distributed, issued, and written and the new parity information generated are generated. The disk array control method and controls to write and Batch.
【請求項4】 請求項1において、 前記上位計算機が発行した前記連続領域への複数のライ
トコマンドを前記ディスクアレイ制御装置内部で1つの
ライトコマンドとみなし、 該ライトコマンドのデータをライトすべき前記ディスク
装置全てでの同一論理アドレスからライト開始する全ス
トライプにデータをライトするようなデータ領域を切り
出し、 該データ領域に関しては、該データ領域から旧データを
リードすることなく、該データ領域にライトする該デー
タからパリティデータを生成し、 該データと該パリティデータとを一括してライトするこ
とにより、該データ領域に関しては、該パリティデータ
生成のための旧データのリードをなくすように制御する
ことを特徴とするディスクアレイ制御方式。
4. The write command according to claim 1, wherein a plurality of write commands issued by the host computer to the continuous area are regarded as one write command inside the disk array control device, and data of the write command is to be written. Cut out a data area from which data is written to all stripes starting from the same logical address in all disk devices, and write the data area to the data area without reading the old data from the data area. By generating parity data from the data and writing the data and the parity data together, it is possible to control the data area so that reading of old data for generating the parity data is eliminated. Characteristic disk array control method.
【請求項5】 請求項1において、 前記上位計算機が発行したコマンドが扱うデータに続く
連続データを予め前記ディスク装置から先読みしておく
ように制御する第1の制御手段を設け、かつ前記ディス
クアレイ制御装置内部もしくは前記各ディスク装置内部
に該第1の制御手段によって先読みされたデータを格納
するデータ格納手段と、 該データ格納手段への該先読みされたデータの入出力を
制御する第2の制御手段とを設けたことを特徴とするデ
ィスクアレイ制御方式。
5. The disk array according to claim 1, further comprising: first control means for controlling so that continuous data following the data handled by the command issued by the host computer is prefetched from the disk device in advance. Data storage means for storing the data prefetched by the first control means inside the control device or each of the disk devices, and second control for controlling input / output of the prefetched data to the data storage means A disk array control system characterized by comprising means and.
【請求項6】 請求項5において、 前記上位計算機から発行されたリードコマンドが扱うデ
ータが、前記データ格納手段に格納されているか否かを
判断する判断手段を設け、 該判断手段によって前記データ格納手段に該リードコマ
ンドが扱うデータが格納されていると判断されたとき、
前記データ格納手段から該データをリードして前記上位
計算機に送出することを特徴とするディスクアレイ制御
方式。
6. The determination unit according to claim 5, further comprising: a determination unit that determines whether or not the data handled by the read command issued from the host computer is stored in the data storage unit, and the determination unit stores the data. When it is determined that the data handled by the read command is stored in the means,
A disk array control system characterized in that the data is read from the data storage means and sent to the host computer.
【請求項7】 請求項5において、 前記上位計算機から発行されたライトコマンドのために
生成されたパリティ情報を前記データ格納手段に格納す
ることを特徴とするディスクアレイ制御方式。
7. The disk array control system according to claim 5, wherein the parity information generated for the write command issued from the host computer is stored in the data storage means.
【請求項8】 請求項5において、 上位計算機から発行されたライトコマンドの扱う新デー
タをライトすべき領域に既に記録されている旧データ及
び旧パリティ情報が前記データ格納手段に格納されてい
るか否かを判断する判断手段を設け、 該判断手段によって前記データ格納手段に該旧データ及
び該旧パリティ情報が格納されていると判断されたとき
前記データ格納手段から該旧データ及び旧パリティ情報
を取り出し、該新データと、該旧リードデータ及び旧パ
リティ情報から新パリティ情報を生成し、該新データと
生成された該新パリティ情報とをディスク装置にライト
するように制御することを特徴としたディスクアレイ制
御方式。
8. The method according to claim 5, wherein the old data and old parity information already recorded in the area where the new data handled by the write command issued from the host computer should be written are stored in the data storage means. Determining means for determining whether the old data and the old parity information are stored in the data storing means when the old data and the old parity information are stored in the data storing means. A disk characterized by generating new parity information from the new data and the old read data and old parity information, and controlling the new data and the generated new parity information to be written to a disk device. Array control method.
【請求項9】 請求項5、6または8において、 前記上位計算機から要求のあったデータ領域に続く領域
のデータを格納するアクセス対象となっていなかったデ
ィスク装置に対してリードコマンドを発行し、これによ
るリードデータを前記データ格納手段に格納し、前記上
位計算機からのアクセス要求のデータ領域に続く領域の
データを先読みしておくことを特徴とするディスクアレ
イ制御方式。
9. The read command according to claim 5, 6 or 8, wherein a read command is issued to a disk device that has not been an access target for storing data in an area subsequent to a data area requested by the host computer, A disk array control system characterized in that the read data thus obtained is stored in the data storage means, and the data in the area following the data area of the access request from the host computer is preread.
【請求項10】 請求項9において、 ディスク装置からリードされたデータは読み捨て、これ
によりディスク装置内部にあるデータバッファにデータ
を予め転送しておき、次回該領域へのリードアクセス要
求があった際には、該データバッファからデータをリー
ドすることを特徴とするディスクアレイ制御方式。
10. The data read from the disk device according to claim 9, the data is read out and discarded, the data is transferred to a data buffer inside the disk device in advance, and a read access request to the area is made next time. In the disk array control method, the data is read from the data buffer.
【請求項11】 請求項5、6または8において、 前記上位計算機から要求のあったデータ領域に続く領域
のデータを格納するアクセス対象となっていなかったデ
ィスク装置に対して、該ディスク装置内部にあるデータ
バッファにまでデータをリードしておくよう制御するデ
ータ先読みコマンドを備え、前記上位計算機からのアク
セス要求のデータ領域に続く領域のデータを先読みする
ことを特徴とするディスクアレイ制御方式。
11. The disk device according to claim 5, 6 or 8, wherein a disk device which is not an access target for storing data in an area subsequent to a data area requested by the host computer is A disk array control method comprising a data read-ahead command for controlling to read data to a certain data buffer, and pre-reads data in an area following a data area requested by an access from the host computer.
【請求項12】 請求項9、10または11において、 前記ディスク装置への先読みのためのリードコマンド処
理中に前記上位計算機から当該ディスク装置へのアクセ
ス要求があったときには、直ちに該先読みのためのリー
ド処理を中止するように制御することを特徴とするディ
スクアレイ制御方式。
12. The read-ahead method according to claim 9, 10 or 11, when a request is made to access the disk device from the host computer during read command processing for the read-ahead to the disk device. A disk array control method characterized by controlling so as to stop the read processing.
JP4087223A 1992-04-08 1992-04-08 Disk array control method Expired - Lifetime JP2774728B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4087223A JP2774728B2 (en) 1992-04-08 1992-04-08 Disk array control method
US08/043,841 US5740465A (en) 1992-04-08 1993-04-07 Array disk controller for grouping host commands into a single virtual host command

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4087223A JP2774728B2 (en) 1992-04-08 1992-04-08 Disk array control method

Publications (2)

Publication Number Publication Date
JPH05289818A true JPH05289818A (en) 1993-11-05
JP2774728B2 JP2774728B2 (en) 1998-07-09

Family

ID=13908896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4087223A Expired - Lifetime JP2774728B2 (en) 1992-04-08 1992-04-08 Disk array control method

Country Status (1)

Country Link
JP (1) JP2774728B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210334A (en) * 1993-12-30 1995-08-11 Internatl Business Mach Corp <Ibm> Data storage method and queuing method
WO1998041915A1 (en) * 1997-03-19 1998-09-24 Hitachi, Ltd. Disk array subsystem
JPH1185413A (en) * 1997-09-05 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> Recording device
US6427184B1 (en) 1997-06-03 2002-07-30 Nec Corporation Disk drive with prefetch and writeback algorithm for sequential and nearly sequential input/output streams
US7644247B2 (en) 2006-07-25 2010-01-05 Tdk Corporation System controller for flash memory
JP2012514809A (en) * 2009-01-09 2012-06-28 マイクロン テクノロジー, インク. Command changes

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210334A (en) * 1993-12-30 1995-08-11 Internatl Business Mach Corp <Ibm> Data storage method and queuing method
WO1998041915A1 (en) * 1997-03-19 1998-09-24 Hitachi, Ltd. Disk array subsystem
US6427184B1 (en) 1997-06-03 2002-07-30 Nec Corporation Disk drive with prefetch and writeback algorithm for sequential and nearly sequential input/output streams
JPH1185413A (en) * 1997-09-05 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> Recording device
US7644247B2 (en) 2006-07-25 2010-01-05 Tdk Corporation System controller for flash memory
JP2012514809A (en) * 2009-01-09 2012-06-28 マイクロン テクノロジー, インク. Command changes
US8966231B2 (en) 2009-01-09 2015-02-24 Micron Technology, Inc. Modifying commands

Also Published As

Publication number Publication date
JP2774728B2 (en) 1998-07-09

Similar Documents

Publication Publication Date Title
US7318122B2 (en) Disk array control device with an internal connection system for efficient data transfer
US5740465A (en) Array disk controller for grouping host commands into a single virtual host command
US6374327B2 (en) Method of data migration
US6567886B1 (en) Disk drive apparatus and control method thereof
EP0465014A2 (en) Method and means for rule based data transfer
JP2774728B2 (en) Disk array control method
US6697866B1 (en) Access control method for data stored in fixed-block length format in computer configurations utilizing variable length data format interfaces
JP3122702B2 (en) Disk device write-back control method
JP2007102436A (en) Storage control apparatus and storage control method
JPH08129461A (en) Auxiliary storage
JPH05204817A (en) Data transfer device
JP2001290607A (en) Command queuing control method of device driver and computer system
JP2004227594A (en) Computer system and secondary storage device
JPH02132515A (en) Pre-read control system
JP2001273176A (en) Computer system and secondary storage device
JP3252517B2 (en) Input/Output Control Method and Input/Output Control System
JP3472357B2 (en) Information processing device
US20030200385A1 (en) Method and system for increasing disk drive performance
JPH0432944A (en) Magnetic disk control system
JPH09305330A (en) Disk array system
JPH011047A (en) data processing system
JPH05334012A (en) Large capacity disk controller
JPH09237224A (en) Disk array device
Chang et al. Efficient RAID disk scheduling on smart disks
JPH04111015A (en) information recording device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080424

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090424

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090424

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100424

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110424

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 14

EXPY Cancellation because of completion of term