JPH08171463A - Data read method in disk array device, and disk array device - Google Patents

Data read method in disk array device, and disk array device

Info

Publication number
JPH08171463A
JPH08171463A JP6316197A JP31619794A JPH08171463A JP H08171463 A JPH08171463 A JP H08171463A JP 6316197 A JP6316197 A JP 6316197A JP 31619794 A JP31619794 A JP 31619794A JP H08171463 A JPH08171463 A JP H08171463A
Authority
JP
Japan
Prior art keywords
data
sub
read
disk storage
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6316197A
Other languages
Japanese (ja)
Inventor
Hitoshi Tsunoda
仁 角田
Naoki Watanabe
直企 渡辺
Yoshihisa Kamo
善久 加茂
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 JP6316197A priority Critical patent/JPH08171463A/en
Publication of JPH08171463A publication Critical patent/JPH08171463A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PURPOSE: To reduce the read time of data in the disk array system of RAID (level 3). CONSTITUTION: A microprocessor 6 responds to a read request from a CPU 1 and instructs the read of the plural pieces (n) of sub data for constituting the data to be read and error correction codes for them to plural drives 13. A parity generation circuit 10 restores the other sub data which are not read yet by using the parity generation circuit 10 from a part of the sub data and the error correction code which are read at the point of time when a part of the sub data and the error correction code are read to a drive selection part 11. The microprocessor 6 combines a part of the sub data which are already read and the other restored sub data and supplies them to the CPU 1.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はディスクアレイ装置にお
けるデータの読み出し方法およびそれにて記載他ディス
クアレイ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data reading method in a disk array device and other disk array devices described therein.

【0002】[0002]

【従来の技術】現在のコンピュータシステムの2次記憶
装置には、不揮発な記憶媒体、例えば磁気記録媒体ある
いは光記録媒体が使用されたディスク記憶装置(以下ド
ライブと呼ぶ)が一般に使用される。その中でも、比較
的安価で、かつ、容量の小さなドライブを複数用いるデ
ィスクアレイが、大容量、低価格、かつ、高信頼性の点
で注目されている。
2. Description of the Related Art A disk storage device (hereinafter referred to as a drive) using a non-volatile storage medium such as a magnetic recording medium or an optical recording medium is generally used as a secondary storage device of a current computer system. Among them, a disk array, which is relatively inexpensive and uses a plurality of drives with small capacities, has attracted attention because of its large capacity, low price, and high reliability.

【0003】ディスクアレイでは、比較的安価な多数の
ドライブを使用することによりコスト低減を図る。さら
にこれらのドライブへのアクセスを並列に行なうことに
より、CPUとドライブの間のデータの転送時間を低減
している。さらに、障害回復のための情報をも記憶し、
いずれかのドライブに障害が発生したときに、そのドラ
イブのデータを、他のドライブのデータおよび障害回復
用の情報から回復する。これにより装置の信頼性の向上
を図っている。
In the disk array, the cost is reduced by using a large number of relatively inexpensive drives. Further, by accessing these drives in parallel, the data transfer time between the CPU and the drives is reduced. In addition, it also stores information for disaster recovery,
When a drive fails, the data on that drive is recovered from the data on the other drive and the disaster recovery information. This improves the reliability of the device.

【0004】例えば、D. Patterson, G. Gibson, and
R. H. Kartz,"A Case for RedundantArrays of Inexpen
sive Disks (RAID)", ACM SIGMOD Conference, Chicag
o, IL, (June 1988), pp.109-116(以下第1の従来技術
と呼ぶ)によれば、RAIDレベル3のディスクアレイ
では、CPUから供給された一つの書き込み要求に付随
する書き込みデ−タを複数のサブデータに分割し、これ
らのサブデータからパリティデータを作成する。これら
のサブデータおよびパリティデータを互いに異なる複数
のドライブに並列に格納する。また、CPUからデータ
の読み出しが指示された場合は、そのデータを構成する
複数のサブデータを異なるドライブから並列に読み込
み、それらを結合してCPUへ転送する。各サブデータ
およびパリティデータはにそれぞれのサブデータあるい
はパリティデータで決まるエラー訂正符号(ECC)が
付加されて、それぞれ一つのドライブに格納される。こ
のため、ドライブからサブデータおよびパリティデータ
を読み出した際にこのECCをチェックすることでサブ
データおよびパリティデータのエラーの検出および訂正
が可能である。また、ECCで訂正できない程大きな範
囲でエラーが検出された場合は、ドライブに障害が発生
したと判断する。さらに、ドライブの障害については、
イニシエータから読み出し、または書き込み要求を発行
したときにドライブから応答が帰ってこない場合は、イ
ニシエータはドライブに障害が発生したと判断する。以
上のようにしてディスクアレイではドライブの障害の検
出を行なう。このような検出により、もし、いずれかの
ドライブに障害が発生したために、そのドライブに保持
されたサブデータを読み出せないときには、そのドライ
ブ以外のドライブから残りのサブデータとそのサブデー
タに対応するパリティデータを読み出し、これらのデー
タから読み出せなかったサブデータを回復し、すでに読
み出されたサブデータとこの回復されたサブデータを結
合し、結合の結果得られるデータをCPUに供給する。
For example, D. Patterson, G. Gibson, and
RH Kartz, "A Case for RedundantArrays of Inexpen
sive Disks (RAID) ", ACM SIGMOD Conference, Chicag
According to O., IL, (June 1988), pp.109-116 (hereinafter referred to as the first prior art), in a RAID level 3 disk array, the write data associated with one write request supplied from the CPU is written. Data is divided into a plurality of sub data, and parity data is created from these sub data. These sub data and parity data are stored in parallel in a plurality of different drives. When the CPU issues an instruction to read data, a plurality of sub-data forming the data are read in parallel from different drives, combined with each other, and transferred to the CPU. An error correction code (ECC) determined by each sub-data or parity data is added to each sub-data and parity data, and each sub-data and parity data is stored in one drive. Therefore, when the sub data and the parity data are read from the drive, the ECC can be checked to detect and correct the error of the sub data and the parity data. If an error is detected in a large range that cannot be corrected by ECC, it is determined that the drive has a failure. In addition, regarding drive failure,
If no response is returned from the drive when issuing a read or write request from the initiator, the initiator determines that the drive has failed. As described above, the drive failure is detected in the disk array. By such detection, if the sub data held in that drive cannot be read due to the failure of one of the drives, it corresponds to the remaining sub data and its sub data from the drives other than that drive. Parity data is read, sub-data that cannot be read from these data is recovered, sub-data that has already been read is combined with this recovered sub-data, and the data obtained as a result of the combination is supplied to the CPU.

【0005】特開平4ー228153(以下第2の従来
技術と呼ぶ)では上記のようにコマンドエラーによりド
ライブの障害を検出すると他に、各ドライブから読み出
したサブデータからパリティデータを作成し、この作成
したパリティデータとドライブから読み出したパリティ
データとを比較することでドライブの障害を検出する方
法について開示している。
In Japanese Patent Laid-Open No. 4-228153 (hereinafter referred to as the second prior art), in addition to detecting a drive failure due to a command error as described above, parity data is created from sub data read from each drive, and A method of detecting a drive failure by comparing the created parity data with the parity data read from the drive is disclosed.

【0006】一般に、複数のデータとそれらから生成さ
れたパリティデータとの組を、パリティグループと呼ば
れる。一般には、パリティデータに代えて他の誤り訂正
符号を使用できる。その場合には、上記の組は、誤り訂
正データグループと呼ばれる。また、同一の誤り訂正デ
ータグループに属するデータを保持する複数のドライブ
の集合を論理グループとよぶ。
Generally, a set of a plurality of data and parity data generated from them is called a parity group. In general, other error correction codes can be used instead of parity data. In that case, the set is called an error correction data group. Further, a set of a plurality of drives holding data belonging to the same error correction data group is called a logical group.

【0007】このように、従来のディスクアレイでは、
複数のドライブに対して並列にアクセスすることによ
り、データの読み出し時間を短縮している。
As described above, in the conventional disk array,
Data access time is shortened by accessing multiple drives in parallel.

【0008】なお、特開平2−56019号(以下第3
の従来技術と呼ぶ)公報または特開平3−305928
(以下第4の従来技術と呼ぶ)には、上記RAID3の
ディスクアレイとは異なり、ミラー型と呼ばれるディス
クアレイが開示されている。この装置では、CPUから
の書き込み要求の処理においては、CPUから供給され
たデータを、二つのドライブに並列に書き込む。CPU
からの読み出し要求の処理においては、これらの二つの
ドライブを並列にアクセスして、この読み出し要求によ
り要求されたデータを並列に読み出す。これらのドライ
ブの内、一方から要求されたデータが他方より先に供給
された時点で、そのデータをCPUに供給する。こうし
て、ドライブの回転による待ち時間を低減している。
Incidentally, JP-A-2-56019 (hereinafter referred to as "3rd
Prior art) or JP-A-3-305928.
(Hereinafter, referred to as a fourth conventional technique) discloses a disk array called a mirror type, which is different from the RAID 3 disk array. In this device, in processing a write request from the CPU, the data supplied from the CPU is written in parallel to the two drives. CPU
In the processing of the read request from, the two drives are accessed in parallel and the data requested by the read request are read in parallel. When the data requested by one of these drives is supplied before the other, the data is supplied to the CPU. In this way, the waiting time due to the rotation of the drive is reduced.

【0009】[0009]

【発明が解決しようとする課題】レベル3のディスクア
レイでは、CPUから転送された読み出し要求を処理す
る際、その要求で指定されたデータを構成する複数のサ
ブデータを全て読み出す必要がある。通常複数のドライ
ブは非同期に回転している。このため、これらのサブデ
ータの読み出し時間は、最も回転待ち時間の長いサブデ
ータの読み出し時間に支配される。このため、RAID
3のディスクアレイでのデータの読み出しでは、ドライ
ブの数が増えると、最大1回転の待ち時間を要する場合
が確率的に増える。したがって、レベル3のディスクア
レイにおけるデータ読み出し時間を短縮することが望ま
しい。
In the level 3 disk array, when processing a read request transferred from the CPU, it is necessary to read all of the plurality of sub-data forming the data designated by the request. Normally, multiple drives rotate asynchronously. Therefore, the read time of these sub data is dominated by the read time of the sub data having the longest rotation waiting time. Therefore, RAID
When reading data from the disk array of No. 3, when the number of drives increases, the waiting time of one rotation at the maximum may be stochastically increased. Therefore, it is desirable to shorten the data read time in the level 3 disk array.

【0010】なお、第3、第4の従来技術に示されたミ
ラー型のディスクアレイでは、同一データを2台のドラ
イブに保持するため、一つのドライブにデータを保持す
る場合よりもデータの読み出し時間を短縮される場合が
多く生じる。しかし、2台のドライブの回転待ち時間が
いずれも長い場合には、この方法によっても読み出し時
間は短縮されない。
In the mirror type disk arrays shown in the third and fourth prior arts, since the same data is held in two drives, the data read is more than in the case where the data is held in one drive. It often happens that the time is shortened. However, if the rotation waiting times of the two drives are both long, the reading time is not shortened even by this method.

【0011】したがって、本発明の目的は、レベル3の
ディスクアレイにおけるデータ読み出し時間をより確実
に短縮可能なデータ読み出し方法およびそれに適したデ
ィスクアレイを提供することにある。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a data reading method and a disk array suitable for the method which can more surely shorten the data reading time in the level 3 disk array.

【0012】[0012]

【課題を解決するための手段】このため、本発明による
データ読み出し方法では、上位装置から供給された書き
込みデータを、RAID3に従って、分割し、得られた
複数のサブデータとそれらから生成した誤り訂正符号と
を、互いに異なるドライブに書き込み、後にその書き込
まれたデータの読み出しを上位装置から要求された場
合、これらのサブデータとともに上記誤り訂正符号の読
み出し要求を複数のドライブに対して発行し、一部のサ
ブデータが読み出されるより先に、上記誤り訂正符号が
読み出された場合、その時点で、すでに読み出された一
部のサブデータとその読み出された誤り訂正データとか
ら、読み出しが遅れているサブデータを回復し、回復さ
れたサブデータと既に読み出された一部のサブデータと
を結合して、読み出しデータを形成し、上位装置に供給
する。誤り訂正符号としては、例えば、n個のサブデー
タの各1ビットに対応する1ビットのパリティビットを
含むパリティデータを使用できる。互いに異なる複数の
誤り訂正符号を使用することも可能である。
Therefore, in the data reading method according to the present invention, the write data supplied from the host device is divided according to RAID3, the plurality of sub-data obtained and the error correction generated from them are divided. When the host device requests to read the written data after writing the code to different drives, the read request of the error correction code is issued to a plurality of drives together with the sub data, and When the error correction code is read before the sub data of the copy is read, at that time, the reading is performed from the already read partial sub data and the read error correction data. Recovers delayed sub-data, combines recovered sub-data with some previously read sub-data, and reads Data is formed, and supplies to the host device. As the error correction code, for example, parity data including 1-bit parity bit corresponding to 1-bit of each of n sub-data can be used. It is also possible to use a plurality of different error correction codes.

【0013】[0013]

【作用】この方法によれば、読み出しが遅れたサブデー
タが読み出される前に、そのサブデータより先に読み出
された誤り訂正符号を使用して、要求された読み出しデ
ータを生成するので、上位装置から要求されたデータ
を、読み出しが遅れたサブデータが読み出されるのを待
たないで供給することが出来る。
According to this method, the requested read data is generated by using the error correction code read before the sub data whose reading is delayed before being read. The data requested by the device can be supplied without waiting for the sub-data whose reading has been delayed to be read.

【0014】複数の互いに異なる誤り訂正符号を使用し
た場合、複数のサブデータより先に複数の誤り訂正符号
が読み出された場合、それらの複数のサブデータの読み
出しを待たないで、読み出されていない複数のサブデー
タを回復できる。
When a plurality of different error correction codes are used, and when a plurality of error correction codes are read before a plurality of sub data, they are read without waiting for the reading of the plurality of sub data. Not able to recover multiple sub data.

【0015】[0015]

【実施例】以下、本発明に係るディスクアレイを図面に
示したいくつかの実施例を参照してさらに詳細に説明す
る。なお、以下においては、同じ参照番号は同じものも
しくは類似のものを表わすものとする。 <実施例1>図1において、2は制御部、13はドライ
ブである。制御部2は、CPU1からの書き込み要求を
実行して、それらの要求で指定されるドライブをアクセ
スする。複数のドライブ13は、複数の論理グループ1
4に区分されている。本実施例では、個々の論理グルー
プ14は5台のドライブ13により構成されるが、本発
明はこのドライブ数に限定されない。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A disk array according to the present invention will be described below in more detail with reference to some embodiments shown in the drawings. In the following, the same reference numbers represent the same or similar items. <Embodiment 1> In FIG. 1, 2 is a control unit and 13 is a drive. The control unit 2 executes write requests from the CPU 1 and accesses the drive specified by those requests. The plurality of drives 13 are the plurality of logical groups 1
It is divided into four. In this embodiment, each logical group 14 is composed of five drives 13, but the present invention is not limited to this number of drives.

【0016】制御部2においては、4は、CPU1から
発行される要求を受理し、あるいは、CPU1にデータ
を供給するチャネルインターフェース回路(CH I
F)、5は、CPU1から受理されたデータあるいはそ
れに供給すべきデータの転送を制御するデータ転送制御
回路(DCC)、6は、CPU1から受信した書き込み要
求および読み出し要求にしたがって制御部2の内部の回
路の動作を制御するマイクロプロセッサ(MP)である。
9はCPU1から受信した書き込みデータおよびドライ
ブから読み出したデータを一時的に保持するとともに後
に述べるアドレス変換テーブルなどを保持するキャッシ
ュメモリである。10は、パリティ生成回路(PG)、1
1は、ドライブ選択回路、100は回復データ結合回路
である。
In the control unit 2, reference numeral 4 denotes a channel interface circuit (CH I) which receives a request issued from the CPU 1 or supplies data to the CPU 1.
F) 5 is a data transfer control circuit (DCC) for controlling transfer of data received from the CPU 1 or data to be supplied thereto, and 6 is an internal part of the control unit 2 in accordance with a write request and a read request received from the CPU 1. Is a microprocessor (MP) that controls the operation of the circuit of FIG.
Reference numeral 9 is a cache memory that temporarily holds the write data received from the CPU 1 and the data read from the drive, and also holds an address conversion table and the like described later. 10 is a parity generation circuit (PG), 1
Reference numeral 1 is a drive selection circuit, and 100 is a recovery data combining circuit.

【0017】パリティ生成回路10は、データの書き込
み時に、書き込むべきデータを分割して得られた複数の
サブデータからそれらのサブデータに対するパリティデ
ータを生成するとともに、データの読み出し時に、いず
れかのドライブから読み出されたサブデータにエラーが
あって場合またはいずれかのドライブに障害が発生し、
そのドライブのサブデータを読み出せない場合、そのエ
ラーがあったサブデータもしくは障害が発生したドライ
ブ内のサブデータを回復する機能を有する。
The parity generation circuit 10 generates parity data for a plurality of sub-data obtained by dividing the data to be written at the time of writing the data, and at the time of reading the data, one of the drive If there is an error in the sub data read from or one of the drives has failed,
When the sub data of the drive cannot be read, it has a function of recovering the sub data having the error or the sub data in the drive in which the failure has occurred.

【0018】回復データ結合回路100は、このような
回復されたサブデータを他の読み出された正常なサブデ
ータに結合するための回路である。
The recovery data combining circuit 100 is a circuit for combining such recovered sub data with other read normal sub data.

【0019】本実施例では、制御部2は、各論理グルー
プがRAID3のディスクアレイを構成するように、こ
れらの論理グループへのデータの書き込みおよび読み出
しを制御する。すなわち、CPU1から供給された書込
みデータを、複数(本実施例では4つ)のサブデータに
分割し、さらに、これらのサブデータに対する誤り訂正
符号として、これらのサブデータのパリティデータを生
成し、これらのサブデータとこのパリティデータを互い
に異なるドライブに書込む。このパリティデータは、い
ずれかのドライブに障害が発生したときに、その障害が
発生したドライブ内のデータを回復されるために使用さ
れるものである。
In this embodiment, the control unit 2 controls the writing and reading of data to these logical groups so that each logical group constitutes a RAID 3 disk array. That is, the write data supplied from the CPU 1 is divided into a plurality of (four in this embodiment) sub-data, and parity data of these sub-data is generated as an error correction code for these sub-data. The sub data and the parity data are written in different drives. This parity data is used to recover the data in the drive in which a failure has occurred when one of the drives has a failure.

【0020】本実施例ではこのパリティデータは通常の
データの読み出しのときにも使用する。すなわち、CP
U1がこの書込みデータに対する読み出し要求を発行し
たとき、この書込みデータを構成する4つのサブデータ
およびパリティデータの読み出しを指示する。もしこれ
らのサブデータの一部の読み出しが遅れた場合、それが
読み出される前に、そのサブデータを、読み出しが完了
したサブデータとパリティデータとから回復し、回復さ
れたサブデータを読み出し未完了のサブデータの代わり
に使用する。こうして、一部のサブデータの読み出しが
遅れた場合でも、それが読み出される前に、読み出し要
求が指定するデータをCPU1に送出することを可能と
したところが特徴である。
In this embodiment, this parity data is also used when reading normal data. That is, CP
When U1 issues a read request for this write data, it issues an instruction to read the four sub data and parity data forming this write data. If the reading of some of these sub-data is delayed, the sub-data is recovered from the read-completed sub-data and parity data before it is read, and the recovered sub-data is read and not completed. It is used instead of the sub data of. Thus, even if the reading of a part of the sub-data is delayed, the data specified by the read request can be sent to the CPU 1 before it is read.

【0021】より具体的には、CPU1からの書き込み
データを4つのサブデータに分割し、それらのサブデー
タに対するパリティデータを生成し、これらのサブデー
タと生成されたパリティデータを一つの論理グループに
属する5つのドライブに書き込む。
More specifically, the write data from the CPU 1 is divided into four sub data, parity data for these sub data is generated, and these sub data and the generated parity data are combined into one logical group. Write to the five drives that belong to it.

【0022】CPU1から読み出し要求が後に発行され
た場合、その要求で指定されたデータを構成する4つの
サブデータとそれらに対するパリティデータが格納され
ている5つのドライブに対し読み出し要求を発行する。
各ドライブではこれらの読み出し要求に応答し、順に読
み出しが完了する。この順に読み出しが完了したドライ
ブにおいて、読み出し要求で指定されたデータを構成す
る全てのサブデータが含まれているか否かを判別する。
When the CPU 1 issues a read request later, the read request is issued to the five drives in which the four sub-data forming the data designated by the request and the parity data for them are stored.
Each drive responds to these read requests and the reading is completed in sequence. In the drive in which reading has been completed in this order, it is determined whether or not all the sub-data forming the data designated by the read request are included.

【0023】もしいずれかのサブデータが含まれていな
いときには、パリティデータがその読み出しが完了して
いないサブデータより先に読み出されたことになる。こ
の場合には、すでに読み出された一部のサブデータとパ
リティデータとから、その読み出し未完了のサブデータ
を回復し、回復されたサブデータとすでに読み出された
一部のサブデータとを結合して、読み出し要求が指定し
たデータを生成し、CPU1に送る。
If any of the sub data is not included, it means that the parity data is read before the sub data whose reading is not completed. In this case, the unread sub-data is recovered from the already read partial sub-data and parity data, and the recovered sub-data and the already-read partial sub-data are recovered. The data is combined and the data specified by the read request is generated and sent to the CPU 1.

【0024】以上に述べた、読み出しが完了したデータ
の中に、全てのサブデータが含まれているか、あるいは
読み出し未完了のサブデータがある場合に、そのサブデ
ータを回復するに必要な数のサブデータおよびパリティ
データの読み出しが完了したか否かを判別する回路は、
上記ドライブ選択部11に含まれている。以下、本実施
例の動作の詳細を説明する。
When all the sub-data is included in the read-completed data as described above, or when there is sub-data that has not been read yet, the number of sub-data required to recover the sub-data is as large as possible. The circuit that determines whether the reading of sub data and parity data is complete
It is included in the drive selection unit 11. The details of the operation of this embodiment will be described below.

【0025】(データ書き込み動作)CPU1から供給
された書き込み要求は、線3を介してチャネルアダプタ
4で受信され、マイクロプロセッサ6に供給される。こ
の書き込み要求に付随する書き込みデータは、さらにデ
ータ制御回路5を介してキャッシュメモリ9に保持され
る。マイクロプロセッサ6は、この書き込み要求に応答
して、この書き込みデータを構成する複数個のサブデー
タ、本実施例では4つのサブデータに分割して読み出
し、それらのサブデータを線9Aを介して回復データ結
合回路100に供給する。回復データ結合回路100
は、マイクロプロセッサ6からの指示により、線9A、
10A、9Bの接続を切り替えるスイッチであり、デー
タの書き込み時には、キャッシュメモリ9から線9Aに
読み出された各サブデータをそのまま線100Aを介し
てパリティ生成回路10に転送する。
(Data Write Operation) The write request supplied from the CPU 1 is received by the channel adapter 4 via the line 3 and supplied to the microprocessor 6. The write data accompanying this write request is further held in the cache memory 9 via the data control circuit 5. In response to the write request, the microprocessor 6 divides and reads into a plurality of sub-data constituting the write data, four sub-data in this embodiment, and restores the sub-data via the line 9A. It is supplied to the data combination circuit 100. Recovery data combining circuit 100
Is instructed by the microprocessor 6 so that the line 9A,
This is a switch for switching the connection between 10A and 9B. When writing data, each sub-data read from the cache memory 9 to the line 9A is directly transferred to the parity generation circuit 10 via the line 100A.

【0026】図2に示すように、パリティ生成回路10
は、アクティブスイッチ140、排他的論理和回路13
0、スイッチ120からなる。この内、排他的論理和回
路130は、データ書き込み時にパリティデータを生成
するとともに、データの読み出し時に、エラーがあるサ
ブデータあるいは障害が発生したドライブ内のサブデー
タを回復するのに使用される。アクティブスイッチ14
0とスイッチ120は、この排他的論理和回路130の
入力と出力を、マイクロプロセッサ6の指示に従って切
り替えるスイッチ回路である。
As shown in FIG. 2, the parity generation circuit 10
Is an active switch 140 and an exclusive OR circuit 13
0, a switch 120. Among them, the exclusive OR circuit 130 is used to generate parity data at the time of writing data and to recover sub data having an error or sub data in a drive in which a failure has occurred at the time of reading data. Active switch 14
0 and the switch 120 are switch circuits that switch the input and output of the exclusive OR circuit 130 according to the instruction of the microprocessor 6.

【0027】マイクロプロセッサ6は書き込むべき複数
のサブデータをパリティ生成回路10に転送したとき、
アクティブスイッチ140に線指示して100Aと線3
00を直接接続させ、EOR回路130に全サブデータ
を転送する。全サブデータを受け取ったEOR回路13
0では各サブデータの対応するビットの排他的論理和を
とり、これらのサブデータに対するパリティデータを作
成する。EOR回路130は、作成されたパリティデー
タとこのパリティデータの作成に関与した複数のサブデ
ータを線200Aを介してスイッチ120に転送され
る。マイクロプロセッサ6は、データの書き込み動作時
には、スイッチ120は、線200上の各サブデータと
パリティデータを線10Aにそのまま転送する。
When the microprocessor 6 transfers a plurality of sub-data to be written to the parity generation circuit 10,
Direct the active switch 140 to line 100A and line 3
00 is directly connected to transfer all sub data to the EOR circuit 130. EOR circuit 13 that received all sub data
At 0, the exclusive OR of the corresponding bits of each sub data is taken, and the parity data for these sub data is created. The EOR circuit 130 transfers the created parity data and the plurality of sub-data relating to the creation of the parity data to the switch 120 via the line 200A. In the data write operation of the microprocessor 6, the switch 120 transfers each sub data and parity data on the line 200 to the line 10A as they are.

【0028】なお、各サブデータおよびパリティデータ
の各々には、従来技術と同様に、それぞれのデータで決
まるECCが付加されるが、ドライブに格納されるが、
ここでは簡単化のためために、この回路は省略してあ
る。各サブデータあるいはパリティデータに付されたE
CCは、従来技術と同様に、そのサブデータまたはパリ
ティデータを読み出された際に、エラーが発生すれば、
そのサブデータまたはパリティデータのエラーの訂正に
使用される。以下では、これらのECCは、各サブデー
タまたはパリティデータの一部として扱い、特に必要が
ない限り、これらのECCに言及しない。
Although each sub data and parity data is added with an ECC determined by the respective data as in the prior art, it is stored in the drive.
This circuit is omitted here for simplification. E attached to each sub data or parity data
In the CC, if an error occurs when the sub data or parity data is read, as in the conventional technique,
It is used to correct errors in the sub data or parity data. Hereinafter, these ECCs are treated as a part of each sub-data or parity data, and unless otherwise required, these ECCs will not be mentioned.

【0029】さて、マイクロプロセッサ6は、これらの
サブデータおよびパリティデータを書き込むべきドライ
ブおよびドライブ内記憶位置を、アドレステーブルを使
用して決定する(アドレス変換)(ステップ42)。こ
のテーブルは、キャッシュメモリ9に保持され、例え
ば、図4に示す内容を有する。CPU1は、書き込み要
求の一部として、書き込みデータの名称を論理アドレス
として指定し、この論理アドレス20から、これらのサ
ブデータとパリティデータに対する5つのドライブ番号
21およびこれらのデータに共通に定められたドライブ
内アドレス22が決定される。図では、名称DATA#
1の書き込み用のサブデータに対するドライブ番号は、
ドライブ#1から#5であり、ドライブ内番号はDAD
R1であることを示している。本実施例では、サブデー
タはデータ専用のドライブ、例えば#1−4あるいは#
n−#n+4に格納し、パリティデータは、パリティデ
ータのドライブ、例えば、#5、#n+5に格納する。
なお、図において、キャッシュアドレス23は、書き込
みデータを保持する、キャッシュメモリ9内のアドレス
を示す。マイクロプロセッサ6は、これらのサブデータ
とパリティデータの書き込みを指示する。
The microprocessor 6 determines the drive and the storage location in the drive to which these sub data and parity data should be written, using the address table (address conversion) (step 42). This table is held in the cache memory 9 and has the contents shown in FIG. 4, for example. The CPU 1 designates the name of the write data as a logical address as a part of the write request, and from this logical address 20, five drive numbers 21 for these sub-data and parity data and common to these data are determined. The in-drive address 22 is determined. In the figure, the name DATA #
The drive number for the sub data for writing 1 is
Drives # 1 to # 5, with internal drive number DAD
It shows that it is R1. In this embodiment, the sub-data is a drive dedicated to data, for example, # 1-4 or #
The parity data is stored in n− # n + 4, and the parity data is stored in a drive of the parity data, for example, # 5 and # n + 5.
In the figure, the cache address 23 indicates the address in the cache memory 9 that holds the write data. The microprocessor 6 gives an instruction to write these sub data and parity data.

【0030】ドライブ選択部11は、図3に示すよう
に、5つのドライブインタフェース12に対応して設け
られたバッファ領域からなるセレクタバッファ18と、
このセレクタバッファ18を、キャッシュメモリ9とパ
リティ生成回路10に接続するスイッチ回路17と、応
答判定回路部16からなる。
As shown in FIG. 3, the drive selecting section 11 includes a selector buffer 18 formed of a buffer area provided corresponding to the five drive interfaces 12,
The selector buffer 18 includes a switch circuit 17 that connects the cache memory 9 and the parity generation circuit 10 and a response determination circuit unit 16.

【0031】マイクロプロセッサ6は予めアドレステー
ブルを使用してアドレス変換しているため、各サブデー
タおよびパリティデータを書き込むべきドライブおよび
ドライブ内記憶位置を認識している。このため、マイク
ロプロセッサ6は上記サブデータおよびパリティデータ
を線10Aを介してスイッチ回路17に送出するととも
に、スイッチ回路17を制御して、当該ドライブインタ
ーフェース回路12に転送する。
Since the microprocessor 6 has previously converted the address using the address table, the microprocessor 6 recognizes the drive to which each sub data and the parity data should be written and the storage position in the drive. Therefore, the microprocessor 6 sends the sub data and the parity data to the switch circuit 17 via the line 10A and controls the switch circuit 17 to transfer them to the drive interface circuit 12.

【0032】各ドライブインタフェース回路12は、S
CSIバス15を介して書き込むべきサブデータもしく
はパリティデータを、前述のアドレス変換で得られたド
ライブ番号を有するドライブ内の、ドライブ内アドレス
で指定される記憶位置に、SCSIの書き込み処理手順
に従って書き込む。こうして、CPU1から供給された
書き込みデータを構成する複数のサブデータとそれらに
対するパリティデータが、同じ論理グループに属する複
数のドライブに書き込まれる。
Each drive interface circuit 12 has an S
Sub data or parity data to be written via the CSI bus 15 is written to a storage location designated by an in-drive address in the drive having the drive number obtained by the above-mentioned address conversion in accordance with the SCSI write processing procedure. In this way, the plurality of sub data constituting the write data supplied from the CPU 1 and the parity data for them are written to the plurality of drives belonging to the same logical group.

【0033】(データ読み出し動作)図5に示すフロー
チャートに従ってデータ読み出し動作を以下に説明す
る。
(Data Read Operation) The data read operation will be described below with reference to the flow chart shown in FIG.

【0034】マイクロプロセッサ6は、CPU1より読
み出し要求が発行されたときに(ステップ41)、この
読み出し要求が指定するデータの名称から、そのデータ
を構成する複数のサブデータとそれらに対するパリティ
データを保持するドライブの番号およびドライブ内アド
レスに変換する(ステップ42)。その方法は、書き込
み要求の場合と同様にアドレス変換テーブル(図4)を
使用して行なう。
When a read request is issued from the CPU 1 (step 41), the microprocessor 6 holds a plurality of sub-data forming the data and parity data for them from the name of the data designated by the read request. The number of the drive to be used and the address in the drive are converted (step 42). The method is performed using the address conversion table (FIG. 4) as in the case of the write request.

【0035】マイクロプロセッサ6は、これらのアドレ
スを使用して、これらのサブデータおよびパリティデー
タの読み出しをドライブ選択部11内の応答判定回路部
16に指示する(ステップ43)。応答判定回路部16
は判定用プロセッサ101とパリティレジスタ102に
より構成され、以下に述べる、応用判定回部16の動作
はこの判定用プロセッサ101により実行される。
The microprocessor 6 uses these addresses to instruct the response determination circuit section 16 in the drive selection section 11 to read out these sub data and parity data (step 43). Response determination circuit unit 16
Is composed of a judgment processor 101 and a parity register 102, and the operation of the application judgment circuit 16 described below is executed by the judgment processor 101.

【0036】応答判定回路部16は、この指示に従い、
各ドライブインタフェースにサブデータもしくはパリテ
ィデータの読み出し要求を指示する(ステップ43)。
The response determination circuit section 16 follows this instruction and
A sub data or parity data read request is instructed to each drive interface (step 43).

【0037】応答判定回路部16は、この読み出し要求
を発行したドライブ番号を登録する(ステップ44)。
The response determination circuit section 16 registers the drive number that issued this read request (step 44).

【0038】各ドライブインタフェース回路12はSC
SIバスの読み出し処理手順に従って、読み出しコマン
ドをSCSIバス15を介して、それぞれ所望のドライ
ブに発行する。
Each drive interface circuit 12 is an SC
A read command is issued to each desired drive via the SCSI bus 15 in accordance with the SI bus read processing procedure.

【0039】各ドライブ13は、アクセス処理が完了し
た後、アクセス処理の完了報告をドライブインタフェー
ス回路12に発行し、ドライブインタフェース回路12
はこのドライブ13のアクセス処理の完了報告をドライ
ブ選択部11内の応答判定回路部16に通知する。
After the access processing is completed, each drive 13 issues a completion report of the access processing to the drive interface circuit 12, and the drive interface circuit 12
Notifies the response determination circuit unit 16 in the drive selection unit 11 of the completion report of the access processing of the drive 13.

【0040】応答判定回路部16は、セレクタバッファ
18内にデータ転送を行うようにドライブインタフェー
ス回路12に指示し、そのドライブインタフェース回路
12は読み出したサブデータもしくはパリティデータを
セレクタバッファ18に格納する(ステップ45)。
The response determination circuit section 16 instructs the drive interface circuit 12 to transfer data into the selector buffer 18, and the drive interface circuit 12 stores the read sub data or parity data in the selector buffer 18 ( Step 45).

【0041】当該ドライブ13からのサブデータをセレ
クタバッファ18に格納した後応答判定回路部16では
判定を行う(ステップ45)。
After the sub data from the drive 13 is stored in the selector buffer 18, the response judgment circuit section 16 makes a judgment (step 45).

【0042】この時の具体的な応答判定回路部16にお
ける判定方法のフローチャートを図6に示す。
FIG. 6 shows a flow chart of a concrete judging method in the response judging circuit section 16 at this time.

【0043】応答判定回路部16はインタフェース回路
12からセレクタバッファ18にサブデータもしくはパ
リティデータを格納した後(ステップ50)、データ転
送してきたドライブ13が読み出し要求が発行されてい
るドライブ13かを調べる(ステップ51)。図5のス
テップ44に示したように、マイクロプロセッサ6は、
先にこのドライブ13への読み出し要求を発行するよう
にドライブインタフェース回路12に指示すると同時
に、ドライブ選択部11内の応答判定回路部16に対
し、読み出し要求を発行したドライブ番号を登録してお
り、アクセス処理の完了報告を発行したドライブ13が
この登録されているドライブ番号と同じか否かを比較す
る。もし、読み出し要求が発行されていないドライブ1
3からの完了報告であれば、応答判定回路部16は、こ
の完了報告が書き込み処理の完了報告であるとしてマイ
クロプロセッサ6に報告する(ステップ65)。
The response determination circuit unit 16 stores sub data or parity data in the selector buffer 18 from the interface circuit 12 (step 50), and then checks whether the drive 13 that has transferred the data is the drive 13 which has issued the read request. (Step 51). As shown in step 44 of FIG. 5, the microprocessor 6 is
At the same time as instructing the drive interface circuit 12 to issue a read request to the drive 13, the drive number that issued the read request is registered in the response determination circuit unit 16 in the drive selection unit 11. It is compared whether or not the drive 13 that issued the access processing completion report is the same as the registered drive number. If drive 1 has not issued a read request
If it is the completion report from 3, the response determination circuit unit 16 reports this completion report to the microprocessor 6 as a completion report of the writing process (step 65).

【0044】この完了報告が読み出し要求が発行されて
いるドライブ13からの場合は、応答判定回路部16は
読み出し処理の完了報告としてマイクロプロセッサ6に
報告する(ステップ52)。次に応答判定回路部16は
判定カウンタに1を加える(ステップ53)。1を加え
た判定カウンタの値が4かどおかを応答判定回路部16
は判定する(ステップ54)。ステップ54の判定でカ
ウンタ値が4でなければ、応答判定回路部16はセレク
タバッファ18内にそのままサブデータまたはパリティ
データを保持する(ステップ64)。
When this completion report is from the drive 13 to which the read request is issued, the response determination circuit section 16 reports it to the microprocessor 6 as a read report completion report (step 52). Next, the response determination circuit unit 16 adds 1 to the determination counter (step 53). The response determination circuit unit 16 determines whether the value of the determination counter added with 1 is 4 or not.
Is determined (step 54). If the counter value is not 4 in the determination in step 54, the response determination circuit unit 16 holds the sub data or parity data in the selector buffer 18 as it is (step 64).

【0045】ステップ54での判定の結果、判定カウン
タ値が4の場合はセレクタバッファ18内にパリティデ
ータが格納されているかを応答判定回路部16は判定す
る(ステップ55)。ステップ55の判定によりセレク
タバッファ18内にパリティデータが格納されている場
合は、セレクタバッファ内には読み出すべきデータを構
成するのに必要な4つのサブデータのいずれかが読み出
しされる前に、パリティデータが読み出されていること
になる。
When the result of the judgment in step 54 is that the judgment counter value is 4, the response judgment circuit section 16 judges whether the parity data is stored in the selector buffer 18 (step 55). When the parity data is stored in the selector buffer 18 according to the determination in step 55, the parity data is stored in the selector buffer before any of the four sub-data necessary to compose the data to be read is read. The data has been read.

【0046】本実施例ではディスクアレイ2はレベル3
の制御を行っているため、パリティデータは専用のドラ
イブ13に格納されている。具体的には図1のドライブ
#5もしくは#5+nにそれぞれ対応する論理グループ
の全てのパリティデータが格納されている。そこで、ド
ライブインタフェース回路#5からのアクセス処理の完
了報告は応答判定回路部16内のパリティレジスタに記
憶され、このパリティレジスタを見ることでステップ5
5の判定は可能となる。
In this embodiment, the disk array 2 is level 3
Therefore, the parity data is stored in the dedicated drive 13. Specifically, all the parity data of the logical groups corresponding to the drives # 5 or # 5 + n in FIG. 1 are stored. Therefore, the completion report of the access processing from the drive interface circuit # 5 is stored in the parity register in the response determination circuit unit 16, and the parity register in the response determination circuit unit 16 is checked to see Step 5
The judgment of 5 is possible.

【0047】ステップ55の判定により、セレクタバッ
ファ18内にパリティデータが格納されている場合は、
セレクタバッファ18内にパリティデータが格納されて
いることをマイクロプロセッサ6に報告し(ステップ5
6)、マイクロプロセッサ6からの指示でセレクタバッ
ファ18とパリティ生成回路10とをスイッチ回路16
により接続する(ステップ57)。この接続が完了する
とマイクロプロセッサ6はセレクタバッファ18からパ
リティ生成回路10へ読み出されたサブデータ(本実施
例ではこれは3つのサブデータである)とパリティデー
タを転送し(ステップ58)、未読み出しのサブデータ
をパリティ生成回路10により回復させる(ステップ5
9)。この読み出されていないサブデータを回復しと
き、マイクロプロセッサ6は、キャッシュメモリ9に読
み出された3つのサブデータと回復されたサブデータを
転送する(ステップ60)。
If parity data is stored in the selector buffer 18 according to the determination in step 55,
It reports to the microprocessor 6 that the parity data is stored in the selector buffer 18 (step 5
6), the selector buffer 18 and the parity generation circuit 10 are connected to the switch circuit 16 according to an instruction from the microprocessor 6.
To connect (step 57). When this connection is completed, the microprocessor 6 transfers the sub data (this is three sub data in this embodiment) read from the selector buffer 18 to the parity generation circuit 10 and the parity data (step 58), and The read sub data is recovered by the parity generation circuit 10 (step 5).
9). When recovering the unread sub-data, the microprocessor 6 transfers the read three sub-data and the recovered sub-data to the cache memory 9 (step 60).

【0048】パリティ生成回路10によるデータの回復
は以下のようになされる。
Data recovery by the parity generation circuit 10 is performed as follows.

【0049】上記ようにしていずれかのサブデータの読
み出しの前に、パリティデータが読み出された場合、マ
イクロプロセッサ6が読み出しが遅れているドライブを
認識すると、スイッチ回路17を切り換えてパリティ生
成回路10にすでに到着した3つのサブデータとパリテ
ィデータとを線10Aを介してパリティ生成回路10に
転送する。この時、上記読み出しが遅れているサブデー
タを転送するための、線10Aの中の1本には、このサ
ブデータは転送されてこない。マイクロプロセッサ6は
どのサブデータの読み出しが遅れているかをすでに認識
し、したがって、線10の中のその線がアクティブでな
いかを認識しているため、パリティ生成回路10内のス
イッチ120に指示して、線10Aの中でアクティブな
線のみを選択させ、線200Aに接続させる。こうし
て、線200Aを介してEOR回路130にすでに読み
出された3つのサブデータとパリティデータが転送され
る。スイッチ120からサブデータとパリティデータを
受け取ったEOR回路130では、パリティデータを作
成したときと同様に、サブデータとパリティデータの排
他的論理和をとることにより、まだ読み出されていない
サブデータを回復する。この時、サブデータの回復が完
了したことをEOR回路130はマイクロプロセッサ6
に報告する。このようにして回復されたサブデータは線
400を介してアクティブパススイッチ140に転送さ
れる。アクティブパススイッチ140は、マイクロプロ
セッサ6の指示により、線100Aの中で回復データが
転送されるべき線を選択し、そこに線400上の回復さ
れたサブデータを出力し、線100Aの他の3つの線に
はすでに読み出された3つのサブデータを出力する。こ
うして線100Aに、正常な4つのサブデータが出力さ
れる。回復データ結合回路100は、マイクロプロセッ
サ6の指示により、線110Aを線9Bに接続し、これ
らの4つのサブデータを、この線9Bを介して、キャッ
シュメモリ9二転送する。こうして、回復されたサブデ
ータを含め、正常な4つのサブデータの読み出しが完了
したことになる。
When the parity data is read before reading any of the sub data as described above, when the microprocessor 6 recognizes the drive whose reading is delayed, the switch circuit 17 is switched to switch the parity generation circuit. The sub data and the parity data that have already arrived at 10 are transferred to the parity generation circuit 10 via the line 10A. At this time, this sub-data is not transferred to one of the lines 10A for transferring the sub-data whose reading is delayed. Since the microprocessor 6 already knows which sub-data is delayed in reading, and therefore knows which of the lines 10 is inactive, it instructs the switch 120 in the parity generation circuit 10 to: , Only the active line of the lines 10A is selected and connected to the line 200A. Thus, the three sub data and the parity data which have already been read are transferred to the EOR circuit 130 via the line 200A. The EOR circuit 130, which has received the sub data and the parity data from the switch 120, takes the exclusive OR of the sub data and the parity data in the same manner as when the parity data is created, so that the sub data that has not yet been read out is read. Recover. At this time, the EOR circuit 130 informs the microprocessor 6 that the recovery of the sub data is completed.
Report to. The sub data thus recovered is transferred to the active path switch 140 via the line 400. At the direction of the microprocessor 6, the active path switch 140 selects the line to which the recovery data is to be transferred in the line 100A, outputs the recovered sub-data on the line 400 to the line, and outputs the selected sub-data to the other line 100A. The three sub-data already read are output to the three lines. In this way, four normal sub-data are output to the line 100A. The recovery data combination circuit 100 connects the line 110A to the line 9B according to an instruction from the microprocessor 6, and transfers these four sub-data to the cache memory 9 via the line 9B. Thus, the normal reading of the four sub-data including the recovered sub-data is completed.

【0050】この時の本実施例でのデータ読み出し処理
におけるタイミングチャートを図7に示す。本実施例で
は、データの読み出し処理の回転待ち時間は、論理グル
ープ14を構成する5台のドライブ#1から#5の中
の、2番目に回転待ち時間が長いドライブ#3のそれと
なる。最も回転待ち時間が長いドライブ#3のそれより
も早くデータをCPU1に供給できる。なお、従来の読
み出し処理では論理グループ14を構成する全ての5台
のドライブ13の内の4台のドライブから4つのサブデ
ータを読み出す。このため、図7で示すように、ディス
クアレイ2における読み出し処理の回転待ち時間は、4
台のドライブ13の中の最も長いドライブ#3のそれと
なる。
FIG. 7 shows a timing chart in the data read processing in this embodiment at this time. In the present embodiment, the rotation waiting time of the data reading process is that of the drive # 3 having the second longest rotation waiting time among the five drives # 1 to # 5 forming the logical group 14. Data can be supplied to the CPU 1 earlier than that of the drive # 3 having the longest rotation waiting time. In the conventional read processing, four sub data are read from four drives among all five drives 13 forming the logical group 14. Therefore, as shown in FIG. 7, the rotation waiting time of the read processing in the disk array 2 is 4
It is that of the longest drive # 3 of the drives 13 of the unit.

【0051】なお、ステップ55の判定によりセレクタ
バッファ18内にパリティデータが格納されていない場
合は、セレクタバッファ内には読み出すべきデータを構
成するのに必要な4つのサブデータがすでに読み出され
ていることになる。このときには、応答判定回路部16
は、セレクタバッファ18内にパリティデータが格納さ
れていないことをマイクロプロセッサ6に報告し(ステ
ップ61)、スイッチ回路16は、マイクロプロセッサ
6からの指示でセレクタバッファ18とキャッシュメモ
リ9とを接続する(ステップ62)。この接続が完了す
るとマイクロプロセッサ6は、セレクタバッファ18か
らキャッシュメモリ9に読み出されたサブデータを転送
する(ステップ63)。この後これらのサブデータを結
合してCPU1に転送する(ステップ47)。したがっ
て、このときの動作は従来と同様である。
If no parity data is stored in the selector buffer 18 according to the determination in step 55, the four sub-data necessary for forming the data to be read have already been read in the selector buffer. Will be there. At this time, the response determination circuit unit 16
Reports to the microprocessor 6 that parity data is not stored in the selector buffer 18 (step 61), and the switch circuit 16 connects the selector buffer 18 and the cache memory 9 in response to an instruction from the microprocessor 6. (Step 62). When this connection is completed, the microprocessor 6 transfers the sub data read from the selector buffer 18 to the cache memory 9 (step 63). After that, these sub-data are combined and transferred to the CPU 1 (step 47). Therefore, the operation at this time is similar to the conventional one.

【0052】以上述べたパリティデータは、いずれかの
ディスク記憶装置に障害が発生したときに使用するため
にディスク記憶装置に記憶するものを使用すれば、誤り
訂正符号を記憶するためのディスク記憶装置を新に使用
することなく本実施例を実現できる。
If the parity data described above is stored in the disk storage device for use when a failure occurs in any of the disk storage devices, the disk storage device for storing the error correction code is used. This embodiment can be realized without newly using.

【0053】なお、本実施例で使用したパリティ生成回
路10は、いずれかのドライブに障害が発生したとき
に、そのドライブ内のサブデータを他のドライブ内のサ
ブデータから回復するのにも使用できる。このような障
害ドライブ内のサブデータを回復できるパリティ生成回
路は、通常のRAID3のディスクアレイに使用される
ものと同じ回路でよい。従って、本実施例は、通常のデ
ィスクアレイに使用されるパリティ生成回路を使用でき
るので、実現が容易であると言える。
The parity generation circuit 10 used in this embodiment is also used to recover the sub data in one drive from the sub data in another drive when a failure occurs in one of the drives. it can. The parity generation circuit capable of recovering the sub data in such a failed drive may be the same circuit used in a normal RAID 3 disk array. Therefore, the present embodiment can be said to be easy to implement because it can use the parity generation circuit used in a normal disk array.

【0054】<実施例2>実施例1ではパリティグルー
プの誤り訂正符号としてパリティデータを使用したが、
本実施例では互いに異なる複数のエラー訂正符号(EC
C)を使用する。本実施例は、実施例1を以下のように
修正すれば実現できる。
<Second Embodiment> In the first embodiment, the parity data is used as the error correction code of the parity group.
In this embodiment, a plurality of different error correction codes (EC
Use C). The present embodiment can be realized by modifying the first embodiment as follows.

【0055】本実施例では、CPU1から供給された書
込みデータを、例えば、3つのサブデータに分割し、さ
らに、これらのサブデータに対する誤り訂正符号とし
て、複数の、例えば2種類のECCデータを生成し、こ
れらのサブデータとこれらのECCデータを互いに異な
るドライブに書込む。このように2種類のECCデータ
を用意した場合は、2台までドライブに障害が発生して
も、この障害が発生したドライブ内のデータを回復する
ことが可能であることが知られている。
In the present embodiment, the write data supplied from the CPU 1 is divided into, for example, three sub-data, and a plurality of, for example, two types of ECC data are generated as error correction codes for these sub-data. Then, these sub data and these ECC data are written in different drives. It is known that when two types of ECC data are prepared in this way, even if a failure occurs in up to two drives, the data in the failed drive can be recovered.

【0056】本実施例でもこのECCデータを通常のデ
ータの読み出しのときにも使用する。すなわち、CPU
1がこの書込みデータに対する読み出し要求を発行した
とき、この書込みデータを構成する3つのサブデータお
よび2つのECCデータの読み出しを指示する。本実施
例では2種類のECCデータがあるため、2個のサブデ
ータまで、それが読み出される前に、そのサブデータ
を、読み出しが完了したサブデータとECCデータとか
ら回復し、回復されたサブデータを読み出し未完了のサ
ブデータの代わりに使用する。
In this embodiment also, this ECC data is used when reading out normal data. That is, CPU
When 1 issues a read request for this write data, it issues an instruction to read the three sub-data and two ECC data that make up this write data. In this embodiment, since there are two types of ECC data, up to two sub-data items are recovered from the sub-data items and the ECC data items that have been read before the sub-data items have been read, Data is read and used in place of uncompleted sub data.

【0057】より具体的には、CPU1から読み出し要
求が後に発行された場合、その要求で指定されたデータ
を構成する3つのサブデータとそれらに対する2種類の
ECCデータが格納されている5つのドライブに対し読
み出し要求を発行する。各ドライブではこれらの読み出
し要求に応答し、順に読み出しが完了する。この順に読
み出しが完了したドライブにおいて、読み出し要求で指
定されたデータを構成する全てのサブデータが含まれて
いるか否かを判別する。
More specifically, when a read request is issued later from the CPU 1, five drives storing three sub-data forming the data designated by the request and two types of ECC data for them are stored. A read request is issued to. Each drive responds to these read requests and the reading is completed in sequence. In the drive in which reading has been completed in this order, it is determined whether or not all the sub-data forming the data designated by the read request are included.

【0058】もしいずれか一つ又は二つのサブデータが
含まれていないときには、一つ又は二つのECCデータ
がその読み出しが完了していない一つ又は二つのサブデ
ータより先に読み出されたことになる。この場合には、
すでに読み出された一部のサブデータとその読み出され
た一つ又は二つのECCデータとから、その読み出し未
完了の一つ又は二つのサブデータを回復し、回復された
一つ又は二つのサブデータとすでに読み出された一部の
サブデータとを結合して、読み出し要求が指定したデー
タを生成し、CPU1に送る。したがって、本実施例で
は、最大二つのサブデータの読み出しがなされる前に、
二つのサブデータが読み出された場合に、それらのサブ
データの読み出しが完了するのを待たないで、必要な全
てのサブデータを得ることが出来る。
If any one or two sub data is not included, one or two ECC data is read before one or two sub data whose reading is not completed. become. In this case,
From the already read partial sub-data and the read one or two ECC data, the one or two un-read sub-data is recovered, and the recovered one or two sub-data is recovered. The sub data and a part of the sub data that has already been read are combined to generate the data specified by the read request, and the data is sent to the CPU 1. Therefore, in the present embodiment, before reading of maximum two sub-data,
When two pieces of sub data are read, all the necessary sub data can be obtained without waiting for the reading of those pieces of sub data to be completed.

【0059】この時の本実施例と従来の読み出し処理に
おけるタイミングチャートを図8に示す。
FIG. 8 shows a timing chart in this embodiment and the conventional read processing at this time.

【0060】本実施例では、データの読み出し処理の回
転待ち時間は、論理グループ14を構成する5台のドラ
イブ#1から#5の中の、3番目に回転待ち時間が長い
ドライブ#5のそれとなる。最も回転待ち時間が長いド
ライブ#3とその次に回転待ち時間が長いドライブ#1
の回転待ち時間よりも早くデータをCPU1に供給でき
る。なお、実施例1の読み出し処理では論理グループ1
4を構成する全ての5台のドライブ13の内の2番目に
回転待ち時間が長いドライブ#1の回転待ち時間とな
る。したがって、本実施例では、実施例1よりより高速
に全てのサブデータを読み出せる場合が増大する。
In the present embodiment, the rotation waiting time of the data read process is the same as that of the drive # 5 having the third longest rotation waiting time among the five drives # 1 to # 5 forming the logical group 14. Become. Drive # 3 with the longest rotation wait time and drive # 1 with the next longest rotation wait time
The data can be supplied to the CPU 1 earlier than the rotation waiting time. In the read processing of the first embodiment, logical group 1
The rotation waiting time of the drive # 1 having the second longest rotation waiting time among all the five drives 13 included in the drive No. 4 is the rotation waiting time. Therefore, in this embodiment, the number of cases in which all sub-data can be read out faster than in the first embodiment increases.

【0061】<実施例3>本実施例では、図9に示すよ
うに論理グループ14を二重化して大論理グループ70
をを構成し、この大論理グループ70において実施例1
の読み出し制御を行う。大論理グループ70を構成する
二つの論理グループ14は、同一のデータを保持するよ
うになっており、両者はいわゆるミラーリングの関係を
有する。すなわち、一方の論理グループ14の各ドライ
ブ、例えば#1は、他方の論理グループ14の一つ、例
えば#6と対をなす。これらの二つのドライブは、とも
に一つのドライブインタフェース回路12に共通のSC
SIバス15を介して接続されている。以下、本実施例
について、実施例1と異なる点を中心に説明する。
<Embodiment 3> In the present embodiment, as shown in FIG. 9, the logical group 14 is duplicated to form a large logical group 70.
In the large logical group 70 according to the first embodiment.
Read control is performed. The two logical groups 14 forming the large logical group 70 hold the same data, and both have a so-called mirroring relationship. That is, each drive of one logical group 14, eg, # 1, forms a pair with one of the other logical group 14, eg, # 6. Both of these two drives share a common SC for one drive interface circuit 12.
It is connected via the SI bus 15. Hereinafter, the present embodiment will be described focusing on the points different from the first embodiment.

【0062】(データ書き込み動作)CPU1から供給
された書込みデータを分割して得られる複数のサブデー
タおよびそれから生成されたパリティデータの各々は、
二つの論理グループの、互いに対をなす二つのドライ
ブ、例えば、ドライブ#1と#13に書込まれる。書込
まれるドライブ内の位置は、同じである。この書込み位
置を決めるために、図10に示すようなアドレステーブ
ルが使用される。すなわち、各ドライブインタフェース
回路12には、書込むべきいずれかのサブデータもしく
はパリティデータと、このテーブルで決まる二つのドラ
イブの番号とそれらに共通なドライブ内アドレスがドラ
イブ選択部11から通知される。この時、マイクロプロ
セッサ6は、ドライブ選択部11を介して各ドライブイ
ンタフェース回路12に対して、それに接続されたペア
のドライブ13に対してミラーリングでデータを書き込
むことを指示する。各ドライブインタフェース回路12
は、それに接続されたSCSIバス15を介してそれに
接続された一対のドライブに同じデータとドライブ内ア
ドレスを順次送り、これらの二つのドライブにこのサブ
データもしくはパリティデータを順次書込む。
(Data Writing Operation) Each of a plurality of sub data obtained by dividing the write data supplied from the CPU 1 and the parity data generated from the sub data is
It is written to two drives that are paired with each other in two logical groups, for example, drives # 1 and # 13. The position in the drive to be written is the same. An address table as shown in FIG. 10 is used to determine the write position. In other words, each drive interface circuit 12 is notified from the drive selection unit 11 of any sub data or parity data to be written, the numbers of the two drives determined by this table, and the drive addresses common to them. At this time, the microprocessor 6 instructs the drive interface circuits 12 via the drive selection unit 11 to write the data to the pair of drives 13 connected thereto by mirroring. Each drive interface circuit 12
Sends the same data and in-drive address to a pair of drives connected to it via the SCSI bus 15 connected to it, and sequentially writes the sub data or parity data to these two drives.

【0063】(データ読み出し動作)実施例1と異な
り、各ドライブインタフェース回路12は、それに接続
された一対のドライブの両方にサブデータもしくはパリ
ティデータの読み出しを指示する。この読み出すべきド
ライブの番号とドライブ内記憶位置は、図10のアドレ
ステーブルを使用して決定される。各ドライブインタフ
ェース回路12は、それに接続された一対のドライブに
順次読み出し要求を発行する。各ドライブインタフェー
ス回路12は、これらの一対のドライブのそれぞれから
読み出し完了報告と読み出されたサブデータもしくはパ
リティデータが通知されたときに、その読み出し完了通
知と、その読み出されたサブデータもしくはパリティデ
ータをドライブ選択部11に転送する。
(Data Read Operation) Unlike the first embodiment, each drive interface circuit 12 instructs both of a pair of drives connected thereto to read sub data or parity data. The number of the drive to be read out and the storage position in the drive are determined using the address table in FIG. Each drive interface circuit 12 sequentially issues a read request to a pair of drives connected to it. Each drive interface circuit 12 receives the read completion report and the read sub data or parity data from each of the pair of drives, and the read completion notification and the read sub data or parity. The data is transferred to the drive selection unit 11.

【0064】ドライブ選択部11は、ミラー関係にある
一対のドライブから供給される一対の読み出し完了報告
の内、最初に供給された読み出し完了報告に応答して、
それに付随して転送されるサブデータもしくはパリティ
データをセレクトバッファに格納し、遅れて供給された
読み出し完了報告を無視し、それに付随して転送される
サブデータもしくはパリティデータはセレクトバッファ
に取り込まないように、セレクトバッファへの格納を制
御する回路を有する点で実施例1と異なる。ドライブ制
御部11のその他の動作は実施例1と同じである。この
結果、図11に示すように、図11に示すようにサブデ
ータ#3が読み出される前に、サブデータ#1、2、4
とパリティデータが読み出された時点で、サブデータ#
3を回復できる。しかも、この回復に使用するパリティ
データがドライブ#5、#10の一方から読み出された
時点で、この回復を実行できる。他のサブデータについ
ても同様である。
The drive selecting section 11 responds to the first read completion report supplied from the pair of read completion reports supplied from the pair of drives in the mirror relationship,
Store the sub data or parity data transferred accompanying it in the select buffer, ignore the read completion report supplied late, and do not capture the sub data or parity data transferred accompanying it in the select buffer. Further, it differs from the first embodiment in that it has a circuit for controlling the storage in the select buffer. The other operations of the drive control unit 11 are the same as those in the first embodiment. As a result, as shown in FIG. 11, as shown in FIG. 11, before the sub data # 3 is read, the sub data # 1, 2, 4 and
And the parity data is read, the sub data #
Can recover 3. Moreover, this recovery can be executed when the parity data used for this recovery is read from one of the drives # 5 and # 10. The same applies to other sub data.

【0065】結局、本実施例では、実施例1と同じく、
いずれかのサブデータがまだ読みだされていないが、パ
リティデータと他の3つのサブデータが読み出された時
点で、これらの読み出されてサブデータとパリティデー
タとから読み出されていないサブデータを回復する。し
かし、本実施例では、実施例1と比べて、各サブデータ
もしくはパリティデータが一対のドライブに保持され、
その一対のドライブの一方より、より早くサブデータも
しくはパリティデータが読み出されたときに、そのサブ
データもしくはパリティデータの読み出しが完了するの
で、実施例1よりより高速に必要なデータを読み出すこ
とが出来る。なお、本実施例に採用した技術は、実施例
2にも適用可能である。
After all, in this embodiment, as in the first embodiment,
One of the sub-data has not been read yet, but when the parity data and the other three sub-data have been read, the sub-data not read from the read sub-data and the parity data is read. Recover data. However, in this embodiment, as compared with the first embodiment, each sub data or parity data is held in a pair of drives,
When the sub data or the parity data is read earlier than one of the pair of drives, the reading of the sub data or the parity data is completed, so that the necessary data can be read faster than in the first embodiment. I can. The technique adopted in this embodiment is also applicable to the second embodiment.

【0066】[0066]

【発明の効果】本発明ではレベルRAID3のディスク
アレイを構成するように書込まれた複数のサブデータを
読み出す場合に、一部のサブデータと誤り訂正符号が読
み出され、他のサブデータがまだ読み出されていない時
点で、その読み出されていないサブデータを回復するの
で、この、他のサブデータの読み出しが完了するのを待
つ必要がない。したがって、ディスクアレイからのデー
タの読み出し時間を実質的に短縮できる。
According to the present invention, when a plurality of sub-data written so as to form a level RAID 3 disk array is read out, a part of the sub-data and the error correction code are read out, and the other sub-data is read out. Since the unread sub data is recovered at the time when it has not been read yet, it is not necessary to wait for the completion of the reading of the other sub data. Therefore, the data read time from the disk array can be substantially shortened.

【0067】しかも、この誤り訂正符号として、いずれ
かのディスク記憶装置に障害が発生したときに使用する
ためにディスク記憶装置に記憶するものを使用すれば、
誤り訂正符号を記憶するためのディスク記憶装置を新に
使用することなく本発明を実現できる。
Moreover, if this error correction code is stored in the disk storage device for use when a failure occurs in any of the disk storage devices,
The present invention can be implemented without newly using a disk storage device for storing the error correction code.

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

【図1】本発明によるディスクアレイの実施例1の概略
回路図。
FIG. 1 is a schematic circuit diagram of Embodiment 1 of a disk array according to the present invention.

【図2】図1の装置に使用するパリティ生成回路(1
0)の概略回路図。
FIG. 2 is a parity generation circuit (1 used in the device of FIG.
0) Schematic circuit diagram.

【図3】図1の装置のドライブ選択部(11)の概略回
路図。
3 is a schematic circuit diagram of a drive selection unit (11) of the apparatus of FIG.

【図4】図1の装置に使用するアドレス変換テーブルの
一例を示す図。
FIG. 4 is a diagram showing an example of an address translation table used in the device of FIG.

【図5】図1の装置でのデータ読み出し動作のフローチ
ャート。
5 is a flowchart of a data read operation in the device of FIG.

【図6】図1の装置の応答判定回路部における判定方法
のフローチャート。
6 is a flowchart of a determination method in a response determination circuit section of the device shown in FIG.

【図7】図1の装置における読み出し動作のタイミング
チャート。
7 is a timing chart of a read operation in the device of FIG.

【図8】本発明によるディスクアレイの実施例2におけ
る読み出し動作のタイミングチャート。
FIG. 8 is a timing chart of a read operation in the second embodiment of the disk array according to the present invention.

【図9】本発明によるディスクアレイの実施例3の概略
回路図。
FIG. 9 is a schematic circuit diagram of Embodiment 3 of the disk array according to the present invention.

【図10】図9の装置に使用するアドレス変換テーブル
を示す図。
10 is a diagram showing an address conversion table used in the device of FIG.

【図11】図9の装置でのデータ読み出し動作のタイミ
ングチャート。
11 is a timing chart of a data read operation in the device of FIG.

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

2 …制御部、5…データ制御回路、10…パリティ生
成回路(パリティ生成回路)、12…ドライブインタフ
ェース回路、13…ドライブ
2 ... Control unit, 5 ... Data control circuit, 10 ... Parity generating circuit (parity generating circuit), 12 ... Drive interface circuit, 13 ... Drive

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】複数のディスク記憶装置を有するディスク
アレイ装置において、 上位装置から供給された書込み要求に応答して、書込み
データを複数のサブデータに分割し、 これらのサブデータに対する誤り訂正符号を作成し、 これらのサブデータとこの作成された誤り訂正符号と
を、上記複数のディスク記憶装置の内の互いに異なるも
のに書込み、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記ディスク記憶装置に指示し、 上記複数のディスク記憶装置から上記複数のサブデータ
の一部および上記誤り訂正符号が読み出され、他のサブ
データがまだ読み出されていない時点で、上記読み出さ
れた一部のサブデータと上記読み出された誤り訂正符号
とから、上記読み出されていない他のサブデータを回復
し、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給するデー
タ読み出し方法。
1. In a disk array device having a plurality of disk storage devices, write data is divided into a plurality of sub data in response to a write request supplied from a host device, and an error correction code for these sub data is provided. These sub data and the created error correction code are written in different ones of the plurality of disk storage devices, and in response to a data read request supplied from the host device, Instructing the disk storage device to read the sub-data and the error correction code, a part of the plurality of sub-data and the error correction code are read from the plurality of disk storage devices, and the other sub-data is still read. At the time when it is not output, the above-mentioned reading is performed from the above-mentioned read partial sub-data and the above-mentioned read error correction code. Is another sub-data is not recovered, the data reading method for supplying to the host device by combining a portion of the sub data and the recovered other sub data read above.
【請求項2】上記誤り訂正符号は、上記複数のディスク
記憶装置のいずれかに障害が生じたとき、その障害が生
じたディスク記憶装置以外の他の複数のディスク記憶装
置に保持された、他の複数のサブデータおよび誤り訂正
符号から、その障害が生じたディスク記憶装置に保持さ
れたサブデータを回復するのに使用される誤り訂正符号
である請求項1記載のデータ読み出し方法。
2. The error correction code is held in a plurality of disk storage devices other than the disk storage device where the failure occurs when any of the plurality of disk storage devices fails. 2. The data read method according to claim 1, wherein the error correction code is used to recover the sub data held in the disk storage device in which the failure has occurred, from the plurality of sub data and the error correction code.
【請求項3】上記誤り訂正符号は、上記複数のサブデー
タに対するパリティデータである請求項1記載のデータ
読み出し方法。
3. The data reading method according to claim 1, wherein the error correction code is parity data for the plurality of sub data.
【請求項4】複数のディスク記憶装置を有するディスク
アレイ装置において、 上位装置から供給された書込み要求に応答して、書込み
データを複数(n)個のサブデータに分割し、 これらのサブデータに対する互いに異なる複数(m)個
の誤り訂正符号を作成し、 これら複数のサブデータとこの作成された複数の誤り訂
正符号とを、上記複数のディスク記憶装置の内の、互い
に異なる複数(n+m)個のディスク記憶装置に書込
み、 上位装置から供給されたデータ読み出し要求に応答し
て、上記n個のサブデータと上記m個の誤り訂正符号の
読み出しを上記複数(n+m)個のディスク記憶装置に
指示し、 上記複数(n+m)のディスク記憶装置から上記複数の
サブデータの一部および上記複数の誤り訂正符号の一つ
もしくはそれ以上が読み出され、他の一つもしくは複数
のサブデータがまだ読み出されていない時点で、上記読
み出された一部のサブデータと上記読み出された一つも
しくは複数の誤り訂正符号とから、上記読み出されてい
ない他の一つもしくは複数のサブデータを回復し、 回復された他の一つもしくは複数のサブデータと読み出
された一部のサブデータとを結合して上記上位装置に供
給するデータ読み出し方法。
4. In a disk array device having a plurality of disk storage devices, write data is divided into a plurality (n) of sub-data in response to a write request supplied from a host device, and the sub-data for these sub-data is divided. A plurality of (m) different error correction codes are created, and the plurality of sub-data and the created plurality of error correction codes are created as a plurality of (n + m) different ones in the plurality of disk storage devices. Write to the disk storage device, and instruct the plurality (n + m) disk storage devices to read the n sub-data and the m error correction codes in response to a data read request supplied from the host device. However, a part of the plurality of sub-data and one or more of the plurality of error correction codes are stored from the plurality (n + m) of disk storage devices. At the time when the other one or more sub-data that has been read out has not yet been read, from the read partial sub-data and the read one or more error correction codes, Recovers the one or more sub-data that has not been read and combines the recovered one or more sub-data and the read partial sub-data to the host device. Method of reading data to be supplied.
【請求項5】上記複数の誤り訂正符号は、上記複数のデ
ィスク記憶装置内のいずれかの複数個のディスク記憶装
置に障害が生じたとき、その障害が生じた複数のディス
ク記憶装置以外のディスク記憶装置に保持された一部の
サブデータおよび該複数の誤り訂正符号を使用して、そ
の障害が生じた複数のディスク記憶装置に保持されたサ
ブデータを回復するのに使用される誤り訂正符号である
請求項4記載のデータ読み出し方法。
5. The plurality of error correction codes are used for a disk other than the plurality of disk storage devices where the failure occurs when any one of the plurality of disk storage devices in the plurality of disk storage devices fails. An error correction code used to recover the sub data held in a plurality of failed disk storage devices by using a part of the sub data held in the storage device and the plurality of error correction codes The data reading method according to claim 4, wherein
【請求項6】複数対のディスク記憶装置を有するディス
クアレイ装置において、 上位装置から供給された書込み要求に応答して、書込み
データを複数のサブデータに分割し、 これらのサブデータに対する誤り訂正符号を作成し、 これらのサブデータとこの作成された誤り訂正符号を、
上記複数対のディスク記憶装置に、各サブデータおよび
誤り訂正符号がそれぞれ同じ一対のディスク記憶装置に
重複して保持されるように書込み、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記複数対のディスク記憶装置に指示し、 上記複数対のディスク記憶装置から上記複数のサブデー
タの一部および上記誤り訂正符号が読み出され、他のサ
ブデータがまだ読み出されていない時点で、上記読み出
された一部のサブデータと上記読み出された誤り訂正符
号とから、上記読み出されていない他のサブデータを回
復し、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給するデー
タ読み出し方法。
6. A disk array device having a plurality of pairs of disk storage devices, wherein write data is divided into a plurality of sub-data in response to a write request supplied from a host device, and an error correction code for these sub-data is divided. And these sub-data and this created error correction code,
In the plurality of pairs of disk storage devices, each sub data and error correction code are written so as to be redundantly held in the same pair of disk storage devices, and in response to a data read request supplied from a host device, Instructing the plurality of pairs of disk storage devices to read the plurality of sub data and the error correction code, and a part of the plurality of sub data and the error correction code are read from the plurality of pairs of disk storage devices, and others. When the sub-data of is not yet read, the other sub-data not read is recovered from the read partial sub-data and the read error correction code, A data read method for combining a part of the read sub-data and the recovered other sub-data and supplying the sub-data to the host device.
【請求項7】複数のディスク記憶装置と、 上位装置から供給される、上記複数のディスク記憶装置
に対する書込み要求と読み出し要求を実行する制御部と
を有し、 上記制御部は、 上位装置からから供給された書込み要求に応答して、書
込みデータを複数のサブデータに分割する手段と、 これらのサブデータに対する誤り訂正符号を作成する手
段と、 これらのサブデータとこの作成された誤り訂正符号と
を、上記複数のディスク記憶装置の内の互いに異なるも
のに書込む手段と、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記複数のディスク記憶装置に指示する手段と、 上記複数のディスク記憶装置から上記複数のサブデータ
の一部および上記誤り訂正符号が読み出され、他のサブ
データがまだ読み出されていない時点で、上記読み出さ
れた一部のサブデータと上記読み出された誤り訂正符号
とから、上記読み出されていない他のサブデータを回復
する手段と、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給する手段
とを有するディスクアレイ装置。
7. A plurality of disk storage devices and a control unit for executing write requests and read requests to the plurality of disk storage devices, which are supplied from a host device, and the control unit is provided from the host device. In response to the supplied write request, means for dividing the write data into a plurality of sub data, means for creating an error correction code for these sub data, these sub data and the created error correction code For writing to different ones of the plurality of disk storage devices, and for reading the plurality of sub-data and the error correction code in response to the data read request supplied from the host device. Means for instructing the disk storage device, and a part of the plurality of sub-data and the error correction code are read from the plurality of disk storage devices. When the other sub-data has not been read yet, the other non-read sub-data is recovered from the read partial sub-data and the read error correction code. And a means for combining the read partial sub-data and the recovered other sub-data and supplying the combined sub-data to the higher-level device.
【請求項8】上記複数のディスク記憶装置のいずれかに
障害が生じたとき、その障害が生じたディスク記憶装置
に保持されたサブデータを、そのディスク記憶装置以外
の他の複数のディスク記憶装置内のサブデータ及び誤り
訂正符号を用いて、上記回復手段により回復させる手段
をさらに有する請求項7記載のディスクアレイ装置。
8. When a failure occurs in any of the plurality of disk storage devices, sub-data held in the failed disk storage device is used as a plurality of disk storage devices other than the disk storage device. 8. The disk array device according to claim 7, further comprising means for recovering by the recovery means using the sub data and the error correction code in the.
【請求項9】複数のディスク記憶装置と、 上位装置から供給される、上記複数のディスク記憶装置
に対する書込み要求と読み出し要求を実行する制御部と
を有し、 上記制御部は、 上位装置からから供給された書込み要求に応答して、書
込みデータを複数(m)のサブデータに分割する手段
と、 これらのサブデータに対する互いに異なる複数の誤り訂
正符号を作成する手段と、 これらのサブデータとこれらの作成された誤り訂正符号
とを、上記複数のディスク記憶装置の内の互いに異なる
ものに書込む手段と、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記複数の誤り訂正符号の
読み出しを上記互いに異なる複数のディスク記憶装置に
指示する手段と、 上記互いに異なる複数のディスク記憶装置から上記複数
のサブデータの一部および上記複数の誤り訂正符号の一
つもしくはそれ以上が読み出され、一つもしくはそれ以
上の他のサブデータがまだ読み出されていない時点で、
上記読み出された一部のサブデータと上記読み出された
一つもしくはそれ以上の誤り訂正符号とから、上記読み
出されていない一つもしくはそれ以上の他のサブデータ
を回復する手段と、 上記読み出された一部のサブデータと上記回復された一
つもしくはそれ以上の他のサブデータとを結合して上記
上位装置に供給する手段とを有するディスクアレイ装
置。
9. The storage device comprises: a plurality of disk storage devices; and a control unit, which is supplied from a host device, for executing a write request and a read request to the plurality of disk storage devices. In response to the supplied write request, the write data is divided into a plurality (m) of sub-data, a plurality of different error correction codes for the sub-data, and a plurality of these sub-data and the sub-data. Means for writing the created error correction code in different ones of the plurality of disk storage devices, and in response to a data read request supplied from a higher-level device, the plurality of sub-data and the plurality of sub-data Means for instructing the plurality of disk storage devices different from each other to read out the error correction code, and the plurality of disk storage devices different from each other. At the time when a part of the plurality of sub-data and one or more of the plurality of error correction codes are read, and one or more other sub-data has not yet been read,
Means for recovering the one or more other sub-data not read from the read partial sub-data and the read one or more error correction codes, A disk array device comprising means for combining the read partial sub-data and the recovered one or more other sub-data and supplying the combined sub-data to the higher-level device.
【請求項10】上記複数のディスク記憶装置の内、一つ
もしくはそれ以上のディスク記憶装置に障害が生じたと
き、その障害が生じた一つもしくはそれ以上のディスク
記憶装置に保持された一つもしくは複数のサブデータ
を、そのディスク記憶装置以外の他のディスク記憶装置
内に保持された他の複数のサブデータおよび上記複数の
誤り訂正符号を用いて、上記サブデータ回復手段により
回復させる手段をさらに有する請求項9記載のディスク
アレイ装置。
10. When one or more disk storage devices among the plurality of disk storage devices fail, the one held in the one or more disk storage devices in which the failure has occurred Alternatively, means for recovering the plurality of sub-data by the sub-data recovery means using the plurality of other sub-data held in another disk storage device other than the disk storage device and the plurality of error correction codes The disk array device according to claim 9, further comprising:
【請求項11】複数対のディスク記憶装置と、 上位装置から供給される、上記複数対のディスク記憶装
置に対する書込み要求と読み出し要求を実行する制御部
とを有し、 上記制御部は、 上位装置からから供給された書込み要求に応答して、書
込みデータを複数のサブデータに分割する手段と、 これらのサブデータに対する誤り訂正符号を作成する手
段と、 これらのサブデータとこの作成された誤り訂正符号と
を、上記複数対のディスク記憶装置に、各サブデータお
よび誤り訂正符号がそれぞれ同じ一対のディスク記憶装
置に重複して保持されるように書込む手段と、 上位装置から供給されたデータ読み出し要求に応答し
て、上記複数のサブデータと上記誤り訂正符号の読み出
しを上記複数対のディスク記憶装置に指示する手段と、 上記複数対のディスク記憶装置から上記複数のサブデー
タの一部および上記誤り訂正符号が読み出され、他のサ
ブデータがまだ読み出されていない時点で、上記読み出
された一部のサブデータと上記読み出された誤り訂正符
号とから、上記読み出されていない他のサブデータを回
復する手段と、 上記読み出された一部のサブデータと上記回復された他
のサブデータとを結合して上記上位装置に供給する手段
とを有するディスクアレイ装置。
11. A plurality of pairs of disk storage devices, and a controller for executing write requests and read requests to the plurality of pairs of disk storage devices supplied from a host device, wherein the controller is a host device. In response to the write request supplied from the device, means for dividing the write data into a plurality of sub data, means for creating an error correction code for these sub data, and those sub data and the created error correction. A code for writing to the plurality of pairs of disk storage devices such that each sub-data and error correction code are redundantly held in the same pair of disk storage devices, and data reading supplied from the host device. A means for instructing the plurality of pairs of disk storage devices to read the plurality of sub data and the error correction code in response to the request; When a part of the plurality of sub-data and the error correction code are read from several pairs of disk storage devices and the other sub-data is not yet read, the read partial sub-data and A means for recovering the other sub-data that has not been read from the read error correction code, and combining the read partial sub-data and the recovered other sub-data. And a means for supplying the host device to the host device.
JP6316197A 1994-12-20 1994-12-20 Data read method in disk array device, and disk array device Pending JPH08171463A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6316197A JPH08171463A (en) 1994-12-20 1994-12-20 Data read method in disk array device, and disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6316197A JPH08171463A (en) 1994-12-20 1994-12-20 Data read method in disk array device, and disk array device

Publications (1)

Publication Number Publication Date
JPH08171463A true JPH08171463A (en) 1996-07-02

Family

ID=18074381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6316197A Pending JPH08171463A (en) 1994-12-20 1994-12-20 Data read method in disk array device, and disk array device

Country Status (1)

Country Link
JP (1) JPH08171463A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643734B2 (en) 1998-03-10 2003-11-04 Nec Corporation Control device and control method for a disk array
EP1589426A2 (en) * 2004-04-22 2005-10-26 Hitachi Ltd. Redundant disk storage system
GB2432440A (en) * 2005-11-21 2007-05-23 Infortrend Technology Inc Data Access for RAID storage
JP2007141264A (en) * 1998-12-22 2007-06-07 Hitachi Ltd Storage device system
US7805564B2 (en) 1998-12-22 2010-09-28 Hitachi, Ltd. Display apparatus and its method for displaying connections among a host, a logical unit and a storage system in a virtual storage system
JP2011060217A (en) * 2009-09-14 2011-03-24 Toshiba Corp Data storage apparatus, and data writing/reading method

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643734B2 (en) 1998-03-10 2003-11-04 Nec Corporation Control device and control method for a disk array
US7805564B2 (en) 1998-12-22 2010-09-28 Hitachi, Ltd. Display apparatus and its method for displaying connections among a host, a logical unit and a storage system in a virtual storage system
JP2007141264A (en) * 1998-12-22 2007-06-07 Hitachi Ltd Storage device system
US7937527B2 (en) 1998-12-22 2011-05-03 Hitachi, Ltd. Storage system for sending an access request from a host to a storage subsystem
US8051244B2 (en) 1998-12-22 2011-11-01 Hitachi, Ltd. Storage system for sending an access request from a host to a storage subsystem
US8176248B2 (en) 1998-12-22 2012-05-08 Hitachi, Ltd. Method and system of collection performance data for storage network
US8375168B2 (en) 1998-12-22 2013-02-12 Hitachi, Ltd. Method and system of collection performance data for storage network
EP1589426A3 (en) * 2004-04-22 2009-08-12 Hitachi Ltd. Redundant disk storage system
EP1589426A2 (en) * 2004-04-22 2005-10-26 Hitachi Ltd. Redundant disk storage system
GB2432440A (en) * 2005-11-21 2007-05-23 Infortrend Technology Inc Data Access for RAID storage
CN100454227C (en) * 2005-11-21 2009-01-21 普安科技股份有限公司 Data access methods and storage subsystems thereof
GB2432440B (en) * 2005-11-21 2011-03-16 Infortrend Technology Inc Generating redundant data when a read in a RAID system is slow to complete
US9442802B2 (en) 2005-11-21 2016-09-13 Infortrend Technology, Inc. Data access methods and storage subsystems thereof
JP2011060217A (en) * 2009-09-14 2011-03-24 Toshiba Corp Data storage apparatus, and data writing/reading method

Similar Documents

Publication Publication Date Title
US6854071B2 (en) Method and apparatus for providing write recovery of faulty data in a non-redundant raid system
US5487160A (en) Concurrent image backup for disk storage system
JP3181398B2 (en) Array type recording device
JP3742494B2 (en) Mass storage device
JP2831072B2 (en) Disk drive memory
US5682396A (en) Control unit in storage subsystem with improvement of redundant data updating
US5613088A (en) Raid system including first and second read/write heads for each disk drive
US20050229033A1 (en) Disk array controller and information processing apparatus
JPH05181611A (en) Recorder and access system
JP3230645B2 (en) Data processing method, system and device
JPH06202817A (en) Disk array device and data updating method for the same
US7076686B2 (en) Hot swapping memory method and system
JP4491330B2 (en) Disk array device, data recovery method and data recovery program
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JPH09269871A (en) Data re-redundancy making system in disk array device
JPH07219719A (en) Equipment and method for storage
JPH08171463A (en) Data read method in disk array device, and disk array device
JPH08249218A (en) File controller and data write method
JP2857288B2 (en) Disk array device
JPH06230903A (en) Fault recovery method for disk array device and disk array device
JP2000020248A (en) Disk fault recovering method, disk driver, and recording medium
JPH09218754A (en) Data storage system
KR19990051729A (en) Structure of Raid System with Dual Array Controllers
JPH06266508A (en) Disk array control method
JP3288071B2 (en) Information conversion processing device and information transfer control method

Legal Events

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

Effective date: 20040302

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040330

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees