JP3615250B2 - Disk array device - Google Patents

Disk array device Download PDF

Info

Publication number
JP3615250B2
JP3615250B2 JP28603594A JP28603594A JP3615250B2 JP 3615250 B2 JP3615250 B2 JP 3615250B2 JP 28603594 A JP28603594 A JP 28603594A JP 28603594 A JP28603594 A JP 28603594A JP 3615250 B2 JP3615250 B2 JP 3615250B2
Authority
JP
Japan
Prior art keywords
data
storage device
holding storage
parity
storage devices
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.)
Expired - Fee Related
Application number
JP28603594A
Other languages
Japanese (ja)
Other versions
JPH08123628A (en
Inventor
武徳 星野
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP28603594A priority Critical patent/JP3615250B2/en
Publication of JPH08123628A publication Critical patent/JPH08123628A/en
Application granted granted Critical
Publication of JP3615250B2 publication Critical patent/JP3615250B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、冗長構造並列分散型ディスクアレイにおいて、アクセス時間を短縮するようにしたディスクアレイ装置に関するものである。
【0002】
【従来の技術】
近年における半導体技術の躍進、パイプライン方式等の計算機アーキテクチャの採用により、コンピュータシステムの各構成要素の性能、信頼性は飛躍的に向上している。一方、機構デバイスを中心とする二次記憶装置の性能・信頼性向上は他の構成要素には及ばず、コンピュータシステム全体の処理能力のボトルネックとなっている。
ところで、二次記憶の性能と信頼性を、現実的なコストの元に改善するため、RAID(Redundant Arrays of Inexpensive Disks )アーキテクチャのディスクアレイが提唱されている。このようなディスクアレイは複数の二次記憶装置により構成され、データを複数の装置に分割して保存する。そして、アクセスを並列に行なうことによりデータ転送を高速化する。一方、1つの二次記憶装置にパリティを格納し、いずれか1つの二次記憶装置の障害に対応できるようにしている。
【0003】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術には、次のような課題があった。
即ち、二次記憶装置として一般に採用されているものはハードディスクドライブであり、アクセスの際は回転待ち時間を伴なう。例えば、4台の装置を使用する場合は4台分の回転待ち時間が生じる。この場合、高価なシステムではスピンドル同期機能により各ディスクの回転を同期させて待ち時間を短縮することができるが、小型で安価な普及品にはこのようなスピンドル同期機能を持たないものが多い。
従って、例えば、リード時には4台のデータディスクの回転待ちのため、単一のハードディスクへのアクセスに比較して回転待ち時間が増加する。また、ライト時にはデータディスクが4台であるとすると、パリティディスクにもパリティをライトする必要があるので、5台のディスクの回転待ちを行なう必要があり、回転待ち時間が更に増加する。これらの増加時間の割合は、シミュレーションを使った実験等の結果、リード時は約60%、ライト時は約66%であることがわかっている。
【0004】
【課題を解決するための手段】
本発明のディスクアレイ装置は、上述した課題を解決するため、以下の点を特徴とするものである。
(1)
1)データリード要求時に複数のデータ保持用記憶装置及びパリティ保持用記憶装置のすべてに対してデータリード要求を発行するデータリード要求発行部を備える。
2)当該データリード要求発行部によるデータリード要求の発行後、データリード動作が最も遅い1台を除いたすべての記憶装置のデータリード動作が完了した時点で、まだその動作が完了していない記憶装置がデータ保持用記憶装置かパリティ保持用記憶装置かを判定する判定部を備える。
3)当該判定部の判定結果に応じて、パリティ保持用記憶装置の動作が遅れている場合は、複数のデータ保持用記憶装置からのデータを合成して転送する一方、データ保持用記憶装置の動作が遅れている場合は、データリード動作が完了している他の複数のデータ保持用記憶装置からのデータ及びパリティ保持用記憶装置からのパリティにより遅れて欠落しているデータを再生しつつ各データを合成して転送するデータ転送部を備える。
【0005】
(2)
1)複数のデータ保持用記憶装置及びパリティ保持用記憶装置に対応してそれぞれ設けられたデータバッファを備える。
2)データライト要求時に複数のデータ保持用記憶装置及びパリティ保持用記憶装置のすべてに対してデータライト要求を発行するデータライト要求発行部を備える。
3)当該データライト要求発行部によるデータライト要求の発行直後、複数のデータ保持用記憶装置及びパリティ保持用記憶装置に分割されたデータ及びパリティを転送するとともに、これらをデータバッファにも転送するデータ転送部を備える。
4)当該データ転送部によるデータ転送後、データライト動作が最も遅い1台を除いたすべての記憶装置のデータライト動作が完了した時点で、ライト動作が完了した旨を上位装置に報告すると共に前記除いた1台の記憶装置の少なくとも識別子を不揮発性メモリに格納するライト報告部を備える。
5)当該ライト報告部によるデータライトの完了報告後、既にデータライト動作が完了した記憶装置に対応するデータバッファ中のデータを破棄し、その後残りの1台の記憶装置もデータライト動作が完了した時はそれに対応するデータバッファ中のデータも破棄する後処理部を備える。
6)前記残りの1台の記憶装置に対応するデータバッファ中のデータが失われた場合に、残り1台の記憶装置を除く記憶装置からのデータにより失われたデータを回復し、前記不揮発性メモリを参照して該残りの1台の記憶装置に回復したデータのライト動作を行う。
【0006】
【作用】
(1)
リード時に、例えば、5台の記憶装置のうち任意の4台に対してアクセスが完了すれば、判定部によりこれが判定され、データに欠損があればデータ転送部で欠損したデータがパリティにより復元され、結合されて転送される。この結果、データリードに際し、なるべく動作の速い記憶装置が使用でき、アクセス速度を向上させることができる。
【0007】
(2)
ライト時にも、リード時と同様に、例えば5台の記憶装置のうち任意の4台に対してアクセスが完了すれば、その4台の記憶装置に格納されたデータを読み出すことにより他の1台の記憶装置に格納されるべきデータを再生することができる。従って、その時点でライト動作を完了できる。この結果、データリードの場合と同様に、なるべく動作の速い記憶装置を使用してアクセス速度を向上させることができる。
【0008】
【実施例】
以下、本発明の実施例を図面を参照して詳細に説明する。
図1は、本発明のディスクアレイ装置の一実施例のブロック図である。
図示の装置は、データリード要求発行部1、データライト要求発行部2、判定部3、データ転送部4、データバッファ51〜55、ライト報告部6、後処理部7を備えている。
データリード要求発行部1、データライト要求発行部2は、主制御部10に設けられている。主制御部10は、ディスクアレイ装置11の全体を制御する。この主制御部10には、不揮発性メモリ12が設けられている。
【0009】
データリード要求発行部1は、ホスト計算機20からのデータリード要求時にデータ制御部13を介してデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25のすべてに対してデータリード要求を発行する。
データライト要求発行部2は、データリード要求発行部1と同様に、ホスト計算機20からのデータライト要求時にデータ制御部13を介してデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25のすべてに対してデータライト要求を発行する
判定部3、データ転送部4、ライト報告部6、後処理部7は、データ制御部13に備えられている。データ制御部13は、データをRAIDレベル3に合せて処理し、データ保持用記憶装置21〜24及びパリティ保持用記憶装置25に対するアクセスを制御する。
【0010】
判定部3は、データリード要求発行部1によるデータリード要求の発行後、データ保持用記憶装置21〜24及びパリティ保持用記憶装置25からのデータリード動作の完了報告を監視する。そして、動作が最も遅い1台を除いたすべての記憶装置のデータリード動作が完了した時点で、まだその動作が完了していない記憶装置がデータ保持用記憶装置かパリティ保持用記憶装置かを判定する。即ち、5台の記憶装置からの完了報告を順次記憶していき、4台までの完了報告があった時点でまだ完了報告のない記憶装置を検出する。
【0011】
データ転送部4は、判定部3の判定結果に応じて、パリティ保持用記憶装置25の動作が遅れている場合は、データ保持用記憶装置21〜24からのデータを合成して主制御部10を介してホスト計算機20に転送する。一方、データ保持用記憶装置21〜24のいずれかの動作が遅れている場合は、パリティ保持用記憶装置25からのパリティにより遅れて欠落しているデータを再生する。そして、再生したデータを含めた各データを合成してホスト計算機20に転送する。
データバッファ51〜55は、不揮発性メモリ等から成り、複数のデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25に対応してそれぞれ設けられている。これらのデータバッファ51〜55には、データライト要求発行部2によるデータライト要求の発行直後、データ転送部4により複数のデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25に分割されたデータ及びパリティが転送されるとともに、それと同一のデータ及びパリティが転送される。
【0012】
ライト報告部6は、データ転送部4によるデータ転送後、データライト動作が最も遅い1台を除いたすべての記憶装置のデータライト動作が完了した時点で、ライト動作が完了した旨を上位装置であるホスト計算機20に報告する。即ち、5台の記憶装置からの完了報告を順次記憶していき、4台までの完了報告があった時点でまだ完了報告のない記憶装置を検出する。この検出時点でホスト計算機20への完了報告を行ない、検出結果は後処理部7へ渡す。
後処理部7は、ライト報告部6によるデータライトの完了報告後、既にデータライト動作が完了した記憶装置に対応するデータバッファ51〜55中のデータを破棄する。そして、その後残りの1台の記憶装置もデータライト動作が完了した時はそれに対応するデータバッファ中のデータも破棄する。
【0013】
データ保持用記憶装置21〜24は、ハードディスク等から成る二次記憶デバイスであり、データをバイト単位に分散して格納する。
パリティ保持用記憶装置25も、データ保持用記憶装置21〜24と同様に、ハードディスク等から成る二次記憶デバイスであり、分割データA〜Dに分散したデータに対するパリティを格納する。
【0014】
次に、上述したディスクアレイ装置の動作を説明する。
まず、RAIDレベル3のディスクアレイ装置の一般的な動作を詳細に説明する。
図2は、RAIDレベル3のディスクアレイ装置のデータ及びパリティの分散形式を示した図である。
ホスト計算機20からのデータは複数のデータ保持用記憶装置21〜24に、バイト単位でd0〜d3、d4〜d7の順に格納される。これらの記憶装置のバイト単位のデータに対して、データライト時にそのパリティp1、p2が生成されてパリティ保持用記憶装置25に格納される。一般に、RAIDレベル3のディスクアレイ装置では、このようにデータをバイト単位で複数の記憶装置に分散して格納するため、データを高速にリード/ライト可能であり、またパリティ保持用記憶装置25を有しているため、複数の記憶装置のうちの1台が故障してもディスクアレイ装置11としてはデータが失われることがなく、高速性と信頼性が発揮される。
【0015】
次に、図1、図2を用いてRAIDレベル3のディスクアレイ装置のデータライト動作、データリード動作、単一ディスクドライブ、障害時のデータライト動作を説明する。
ホスト計算機20からのデータライト要求に対して、主制御部10のデータライト要求発行部2はデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25にデータライト要求を発行する。そして、これらの記憶装置のデータ受理準備ができた時点でホスト計算機20からのライトデータをデータ転送部4により各記憶装置に転送する。このとき、ライトデータはデータ保持用記憶装置21〜24に対し、バイト単位でインタリーブし、同時にこれらの記憶装置のデータバイトに対するパリティバイトを図2中の式に従って生成し、パリティ保持用記憶装置25に転送する。
【0016】
次に、このようにして書き込まれたデータを本発明に係る手順で読み出す動作を説明する。
図3は、本発明に係るデータリード手順の説明図である。
図示のa,b,c,d,pは、データ保持用記憶装置21〜24及びパリティ保持用記憶装置25から得られるデータバイト及びパリティバイトである。ホスト計算機20からのデータリード要求に対して、主制御部10のデータリード要求発行部1はデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25のすべてにデータリード要求を発行する。このデータリード要求を受けてデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25の各ディスクドライブはシーク及びスピンドルの位置付けの完了後、データ転送を実行できる状態となる。
【0017】
ここで、スピンドルの位置付けの一番遅かった、又はシークエラー、セレクタ交代を発生させたディスクドライブをデータ保持用記憶装置24とする。この場合、図3(a)に示すように、データ保持用記憶装置21〜23及びパリティ保持用記憶装置25のディスクドライブの転送準備が整った時点でデータ制御部13のデータ転送部4はバス上のデータバイトa,b,c,pの取込みを行なう。そして、データ転送部4内のパリティ生成器は得られたデータバイトa,b,c,pにより欠落しているデータバイトdを生成し、データバイトa,b,c,dを主制御部10を介してリードの要求元であるホスト計算機20に転送する。
このようにして、スピンドルの位置付けの遅れ、又はシークエラー、セレクタ交代等により、動作が最も遅いディスクドライブの影響を除去することができ、データリード動作を高速化することができる。
【0018】
次に、本発明に係る手順でデータを書き込む動作を説明する。
図4は、本発明に係るデータの同期ライト手順の説明図である。
図示のa,b,c,d,pは、データ保持用記憶装置21〜24及びパリティ保持用記憶装置25に転送されるべきデータバイト及びパリティバイトである。ホスト計算機20からのデータの同期ライト要求に対して主制御部10のデータライト要求発行部2はデータ保持用記憶装置21〜24及びパリティ保持用記憶装置25のすべてのディスクドライブに対してデータライト要求を発行する。このデータライト要求を受けて各ディスクドライブはライトデータの取込みを開始する。そして、データバイトa〜d、パリティバイトpを各ディスクドライブに転送すると同時にこれらのバイトを対応する各データバッファ51〜55にも書き込む。
【0019】
すべてのデータバイトa〜d及びパリティバイトpの転送後、各ディスクドライブはシーク、スピンドルの位置付けを経て媒体への書き込みを行ない、データライトとの完了報告を行なう。この完了報告のタイミングはスピンドルの位置付けの差、又はシークエラー、セクタ交代の影響により各ディスクドライブで差異がある。このため、例えば、データ保持用記憶装置24のディスクドライブの完了報告が遅れた場合、ライト報告部6は残りのデータ保持用記憶装置21〜23及びパリティ保持用記憶装置25のディスクドライブから完了報告を受けた時点でホスト計算機20に対して完了報告を行なう。
【0020】
この段階でデータバッファ51〜53、55中のデータは必要なくなるため、破棄、若しくはその領域を再利用できるようにする。このとき、不揮発性メモリ12に完了報告を行なっていないディスクドライブの識別子、要求アドレス、データ長、完了報告の無いことを示すフラグを記憶する。その後、後処理部7がディスクドライブからの完了報告を受けてバッファのデータを破棄、若しくはその領域を再利用できるようにし、かつ不揮発性メモリ12の内容を無効にする。これにより、ホスト計算機20からのライト要求に対する一連の処理を終える。
このようにして、スピンドルの位置付けの遅れ、又はシークエラー、セレクタ交代等により、動作が最も遅いディスクドライブの影響を除去することができ、データライト動作を高速化することができる。
【0021】
尚、ホスト計算機20へのデータライトの完了報告後、アクセスの遅れているディスクドライブからの完了報告を受ける前にディスクアレイ装置11が電源断等によりダウンした場合は、データバッファ54中の書き込みデータが失われる。このため、この後のディスクアレイ装置11の電源の立ち上げ後、不揮発性メモリ12に残されている情報を元にしてアクセスの遅れているディスクドライブ中の欠落データの回復を行なう。これは、以下の手順で行なう。
【0022】
まず、不揮発性メモリ12上の情報を読み出し、どのディスクドライブのどの部分に欠落データが存在するかを識別する。そして、欠落データの存在するディスクドライブにライト要求を発行し、その他のディスクドライブにリード要求を発行する。データの欠落していないディスクドライブからのデータにより、データ制御部13内のパリティ生成器において図3に示す処理手順に従って欠落データを回復し、欠落データの存在するディスクドライブに転送する。そして、欠落データの転送を終えて、欠落データの存在したディスクドライブからのライトの完了報告を受理した後、不揮発性メモリ12中の情報を無効化し欠落データの回復処理を終える。
このようにして、電源断による障害にも対応することができる。
【0023】
尚、本発明は上述した実施例に限定されるものではなく、種々の変形が可能であることはもちろんである。例えば、二次記憶装置の例としてハードディスク装置について説明したが、フロッピディスク装置等でも同様である。また、データバッファを各二次記憶装置に対応して設けるように説明したが、物理的には1つのデータバッファを論理的に分割して使用することも可能である。
【0024】
【発明の効果】
以上説明したように、本発明のディスクアレイ装置によれば、すべてのディスクドライブに対してアクセス要求を発行して動作の最も遅い1台を除いた他のディスクドライブのみのアクセス動作の完了により上位装置に対する完了報告を行なうようにしたので、リード時及びライト時の双方において、ディスクの回転待ち等のための待ち時間が減少させることができ、アクセス速度の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明のディスクアレイ装置の一実施例のブロック図である。
【図2】RAIDレベル3のディスクアレイ装置のデータ及びパリティの分散形式の説明図である。
【図3】本発明に係るデータリード手順の説明図である。
【図4】本発明に係るデータの同期ライト手順の説明図である。
【符号の説明】
1 データリード要求発行部
2 データライト要求発行部
3 判定部
4 データ転送部
6 ライト報告部
7 後処理部
[0001]
[Industrial application fields]
The present invention relates to a disk array apparatus in which access time is shortened in a redundant structure parallel distributed disk array.
[0002]
[Prior art]
With the recent advancement of semiconductor technology and the adoption of a computer architecture such as a pipeline system, the performance and reliability of each component of a computer system have been dramatically improved. On the other hand, the improvement in performance and reliability of the secondary storage device centering on the mechanism device does not reach the other components, and has become a bottleneck of the processing capability of the entire computer system.
Incidentally, a disk array of RAID (Redundant Arrays of Inexpensive Disks) architecture has been proposed in order to improve the performance and reliability of secondary storage at a realistic cost. Such a disk array is composed of a plurality of secondary storage devices, and divides and stores data in a plurality of devices. The data transfer is speeded up by performing access in parallel. On the other hand, parity is stored in one secondary storage device so that any one of the secondary storage devices can be dealt with.
[0003]
[Problems to be solved by the invention]
However, the conventional techniques described above have the following problems.
That is, a hard disk drive generally used as a secondary storage device is accompanied by a rotation waiting time when accessed. For example, when four devices are used, a rotation waiting time for four devices occurs. In this case, in an expensive system, the spindle synchronization function can synchronize the rotation of each disk to shorten the waiting time, but many small and inexpensive popular products do not have such a spindle synchronization function.
Therefore, for example, when waiting for rotation of four data disks at the time of reading, the rotation waiting time increases as compared to access to a single hard disk. Further, if there are four data disks at the time of writing, it is necessary to write the parity to the parity disk, so it is necessary to wait for the five disks to rotate, and the rotation waiting time further increases. As a result of experiments using simulations, it has been found that the ratio of these increase times is about 60% at the time of reading and about 66% at the time of writing.
[0004]
[Means for Solving the Problems]
The disk array apparatus of the present invention is characterized by the following points in order to solve the above-described problems.
(1)
1) A data read request issuing unit that issues a data read request to all of the plurality of data holding storage devices and the parity holding storage device when a data read request is made.
2) After the data read request is issued by the data read request issuing unit, when the data read operation of all the storage devices except the one with the slowest data read operation is completed, the operation is not yet completed. A determination unit that determines whether the device is a data holding storage device or a parity holding storage device is provided.
3) When the operation of the parity holding storage device is delayed according to the determination result of the determination unit, the data from the plurality of data holding storage devices are combined and transferred, while the data holding storage device When the operation is delayed, the data read operation is completed while reproducing the data missing from the plurality of other data holding storage devices and the parity from the parity holding storage device. A data transfer unit for combining and transferring data is provided.
[0005]
(2)
1) A data buffer provided corresponding to each of a plurality of data holding storage devices and parity holding storage devices is provided.
2) A data write request issuing unit that issues a data write request to all of the plurality of data holding storage devices and the parity holding storage device when a data write request is made.
3) Immediately after the data write request is issued by the data write request issuing unit, the divided data and parity are transferred to a plurality of data holding storage devices and parity holding storage devices, and these are also transferred to the data buffer. A transfer unit is provided.
4) After the data transfer by the data transfer unit, when the data write operation of all the storage devices except the one with the slowest data write operation is completed, the fact that the write operation is completed is reported to the host device and A write report unit is provided that stores at least the identifier of one of the removed storage devices in a nonvolatile memory.
5) After the completion of the data write by the write report unit, the data in the data buffer corresponding to the storage device that has already completed the data write operation is discarded, and the data write operation is also completed for the remaining one storage device. In some cases, a post-processing unit that discards the data in the corresponding data buffer is provided.
6) When the data in the data buffer corresponding to the remaining one storage device is lost, the lost data is recovered by the data from the storage devices other than the remaining one storage device, and the nonvolatile memory The restored data is written to the remaining one storage device by referring to the memory.
[0006]
[Action]
(1)
At the time of reading, for example, if access to any four of the five storage devices is completed, this is determined by the determination unit, and if the data is missing, the data lost in the data transfer unit is restored by parity. , Combined and forwarded. As a result, when reading data, a storage device that operates as fast as possible can be used, and the access speed can be improved.
[0007]
(2)
At the time of writing, as in the case of reading, for example, when access to any four of the five storage devices is completed, the data stored in the four storage devices is read out to the other one The data to be stored in the storage device can be reproduced. Therefore, the write operation can be completed at that time. As a result, as in the case of data read, the access speed can be improved by using a storage device that operates as fast as possible.
[0008]
【Example】
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram of an embodiment of a disk array device of the present invention.
The illustrated apparatus includes a data read request issuing unit 1, a data write request issuing unit 2, a determination unit 3, a data transfer unit 4, data buffers 51 to 55, a write report unit 6, and a post-processing unit 7.
The data read request issuing unit 1 and the data write request issuing unit 2 are provided in the main control unit 10. The main control unit 10 controls the entire disk array device 11. The main control unit 10 is provided with a nonvolatile memory 12.
[0009]
The data read request issuing unit 1 issues a data read request to all of the data holding storage devices 21 to 24 and the parity holding storage device 25 via the data control unit 13 at the time of a data read request from the host computer 20. .
Similar to the data read request issuing unit 1, the data write request issuing unit 2 uses the data holding storage devices 21 to 24 and the parity holding storage device 25 via the data control unit 13 when a data write request is issued from the host computer 20. The data control unit 13 includes a determination unit 3, a data transfer unit 4, a write report unit 6, and a post-processing unit 7 that issue data write requests to all. The data control unit 13 processes the data according to the RAID level 3 and controls access to the data holding storage devices 21 to 24 and the parity holding storage device 25.
[0010]
After the data read request is issued by the data read request issuing unit 1, the determination unit 3 monitors completion reports of data read operations from the data holding storage devices 21 to 24 and the parity holding storage device 25. Then, when the data read operation of all the storage devices except the one that is the slowest is completed, it is determined whether the storage device that has not completed the operation is a data holding storage device or a parity holding storage device To do. That is, the completion reports from the five storage devices are sequentially stored, and when there is a completion report for up to four storage devices, a storage device that does not yet have a completion report is detected.
[0011]
When the operation of the parity holding storage device 25 is delayed according to the determination result of the determination unit 3, the data transfer unit 4 combines the data from the data holding storage devices 21 to 24 and combines the data from the main control unit 10. To the host computer 20. On the other hand, when the operation of any of the data holding storage devices 21 to 24 is delayed, the data missing due to the parity from the parity holding storage device 25 is reproduced. Then, each data including the reproduced data is synthesized and transferred to the host computer 20.
The data buffers 51 to 55 are each composed of a nonvolatile memory or the like, and are provided corresponding to the plurality of data holding storage devices 21 to 24 and the parity holding storage device 25, respectively. The data buffers 51 to 55 are divided into a plurality of data holding storage devices 21 to 24 and a parity holding storage device 25 by the data transfer unit 4 immediately after the data write request is issued by the data write request issuing unit 2. Data and parity are transferred, and the same data and parity are transferred.
[0012]
After the data transfer by the data transfer unit 4, the write report unit 6 indicates that the write operation has been completed at the time the data write operation is completed for all the storage devices except the one with the slowest data write operation. Report to a host computer 20. That is, the completion reports from the five storage devices are sequentially stored, and when there is a completion report for up to four storage devices, a storage device that does not yet have a completion report is detected. At the time of detection, a completion report is sent to the host computer 20 and the detection result is passed to the post-processing unit 7.
After the completion of the data write by the write report unit 6, the post-processing unit 7 discards the data in the data buffers 51 to 55 corresponding to the storage device that has already completed the data write operation. Then, when the remaining one storage device completes the data write operation, the data in the corresponding data buffer is also discarded.
[0013]
The data holding storage devices 21 to 24 are secondary storage devices made up of a hard disk or the like, and store data distributed in byte units.
Similarly to the data holding storage devices 21 to 24, the parity holding storage device 25 is also a secondary storage device made up of a hard disk or the like, and stores parity for data distributed in the divided data A to D.
[0014]
Next, the operation of the above-described disk array device will be described.
First, the general operation of a RAID level 3 disk array device will be described in detail.
FIG. 2 is a diagram showing a data and parity distribution format of the RAID level 3 disk array device.
Data from the host computer 20 is stored in a plurality of data holding storage devices 21 to 24 in the order of d0 to d3 and d4 to d7 in byte units. With respect to the data in byte units of these storage devices, the parities p 1 and p 2 are generated at the time of data write and stored in the parity holding storage device 25. In general, in a RAID 3 disk array device, data is distributed and stored in a plurality of storage devices in units of bytes as described above, so that data can be read / written at high speed and the parity holding storage device 25 is provided. Therefore, even if one of the plurality of storage devices fails, the disk array device 11 does not lose data, and high speed and reliability are exhibited.
[0015]
Next, the data write operation, data read operation, single disk drive, and data write operation at the time of failure of the RAID level 3 disk array apparatus will be described with reference to FIGS.
In response to a data write request from the host computer 20, the data write request issuing unit 2 of the main control unit 10 issues a data write request to the data holding storage devices 21 to 24 and the parity holding storage device 25. Then, when data storage preparation for these storage devices is completed, the write data from the host computer 20 is transferred to each storage device by the data transfer unit 4. At this time, the write data is interleaved in units of bytes with respect to the data holding storage devices 21 to 24, and at the same time, parity bytes for the data bytes of these storage devices are generated according to the formula in FIG. Forward to.
[0016]
Next, the operation of reading the data written in this way by the procedure according to the present invention will be described.
FIG. 3 is an explanatory diagram of a data read procedure according to the present invention.
In the figure, a, b, c, d, and p are data bytes and parity bytes obtained from the data holding storage devices 21 to 24 and the parity holding storage device 25. In response to a data read request from the host computer 20, the data read request issuing unit 1 of the main control unit 10 issues a data read request to all of the data holding storage devices 21 to 24 and the parity holding storage device 25. In response to the data read request, the disk drives of the data holding storage devices 21 to 24 and the parity holding storage device 25 are ready to execute data transfer after the positioning of the seek and spindle is completed.
[0017]
Here, the disk drive that is the latest in positioning of the spindle, or that has generated a seek error or selector change, is referred to as a data holding storage device 24. In this case, as shown in FIG. 3A, the data transfer unit 4 of the data control unit 13 is connected to the bus at the time when the disk storage of the data holding storage devices 21 to 23 and the parity holding storage device 25 is ready for transfer. The upper data bytes a, b, c, and p are fetched. The parity generator in the data transfer unit 4 generates the missing data byte d from the obtained data bytes a, b, c, and p, and the data bytes a, b, c, and d are converted into the main control unit 10. To the host computer 20 that is the read request source.
In this way, the influence of the slowest disk drive due to a delay in positioning of the spindle, seek error, selector change, or the like can be eliminated, and the data read operation can be speeded up.
[0018]
Next, an operation for writing data by the procedure according to the present invention will be described.
FIG. 4 is an explanatory diagram of a data synchronous write procedure according to the present invention.
In the figure, a, b, c, d, and p are data bytes and parity bytes to be transferred to the data holding storage devices 21 to 24 and the parity holding storage device 25. In response to a synchronous write request for data from the host computer 20, the data write request issuing unit 2 of the main control unit 10 writes data to all the disk drives in the data holding storage devices 21 to 24 and the parity holding storage device 25. Issue a request. In response to this data write request, each disk drive starts taking in the write data. Then, the data bytes a to d and the parity byte p are transferred to the respective disk drives, and at the same time, these bytes are written in the corresponding data buffers 51 to 55.
[0019]
After transferring all the data bytes a to d and the parity byte p, each disk drive performs writing to the medium through positioning of the seek and spindle, and reports completion of data writing. The timing of the completion report differs depending on each disk drive due to the difference in the positioning of the spindle, seek error, or sector change. For this reason, for example, when the completion report of the disk drive of the data holding storage device 24 is delayed, the write reporting unit 6 reports completion from the disk drives of the remaining data holding storage devices 21 to 23 and the parity holding storage device 25. Upon completion, a completion report is sent to the host computer 20.
[0020]
At this stage, the data in the data buffers 51 to 53 and 55 are no longer needed, so they can be discarded or the area can be reused. At this time, the non-volatile memory 12 stores the identifier of the disk drive that has not reported completion, the request address, the data length, and a flag indicating that there is no completion report. Thereafter, the post-processing unit 7 receives the completion report from the disk drive, discards the data in the buffer, or allows the area to be reused, and invalidates the contents of the nonvolatile memory 12. Thus, a series of processing for the write request from the host computer 20 is completed.
In this way, it is possible to eliminate the influence of the slowest disk drive due to a delay in positioning of the spindle, seek error, selector change, or the like, and to speed up the data write operation.
[0021]
If the disk array device 11 is down due to a power failure or the like after receiving a completion report from the disk drive whose access is delayed after the completion of the data write to the host computer 20, the write data in the data buffer 54 is written. Is lost. For this reason, after the power supply of the disk array device 11 is turned on thereafter, the missing data in the disk drive whose access is delayed is recovered based on the information remaining in the nonvolatile memory 12. This is done by the following procedure.
[0022]
First, information on the nonvolatile memory 12 is read to identify in which part of which disk drive missing data is present. Then, a write request is issued to the disk drive where the missing data exists, and a read request is issued to the other disk drives. With the data from the disk drive in which no data is lost, the parity generator in the data control unit 13 recovers the missing data according to the processing procedure shown in FIG. 3, and transfers it to the disk drive in which the missing data exists. Then, after transferring the missing data and receiving a write completion report from the disk drive where the missing data exists, the information in the nonvolatile memory 12 is invalidated and the missing data recovery process is finished.
In this way, it is possible to cope with a failure caused by power interruption.
[0023]
Of course, the present invention is not limited to the above-described embodiments, and various modifications are possible. For example, a hard disk device has been described as an example of a secondary storage device, but the same applies to a floppy disk device or the like. Further, the data buffer has been described so as to correspond to each secondary storage device, but it is also possible to physically divide and use one data buffer.
[0024]
【The invention's effect】
As described above, according to the disk array device of the present invention, the access request is issued to all the disk drives, and only the other disk drive except the slowest operation is completed. Since the completion report to the apparatus is performed, the waiting time for waiting for the disk to rotate can be reduced both at the time of reading and at the time of writing, and the access speed can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of a disk array device of the present invention.
FIG. 2 is an explanatory diagram of a data and parity distribution format of a disk array device of RAID level 3;
FIG. 3 is an explanatory diagram of a data read procedure according to the present invention.
FIG. 4 is an explanatory diagram of a data synchronous write procedure according to the present invention.
[Explanation of symbols]
1 Data Read Request Issuing Unit 2 Data Write Request Issuing Unit 3 Judgment Unit 4 Data Transfer Unit 6 Write Report Unit 7 Post-Processing Unit

Claims (2)

データリード要求時複数のデータ保持用記憶装置及びパリティ保持用記憶装置のすべてに対してデータリード要求を発行するデータリード要求発行部と、
当該データリード要求発行部によるデータリード要求の発行後、データリード動作が最も遅い1台を除いたすべての記憶装置のデータリード動作が完了した時点で、まだその動作が完了していない記憶装置がデータ保持用記憶装置かパリティ保持用記憶装置かを判定する判定部と、
当該判定部の判定結果に応じて、前記パリティ保持用記憶装置の動作が遅れている場合は、前記複数のデータ保持用記憶装置からのデータを合成して転送する一方、前記データ保持用記憶装置の動作が遅れている場合は、データリード動作が完了した他の複数のデータ保持用記憶装置からのデータ及び前記パリティ保持用記憶装置からのパリティにより遅れて欠落しているデータを再生しつつ各データを合成して転送するデータ転送部とから成ることを特徴とするディスクアレイ装置。
A data read request issuing unit that issues a data read request to all of a plurality of data holding storage devices and a parity holding storage device at the time of a data read request;
After the data read request is issued by the data read request issuing unit, when the data read operation of all the storage devices except the one with the slowest data read operation is completed, the storage device that has not yet completed the operation. A determination unit that determines whether the storage device is a data holding storage device or a parity holding storage device;
When the operation of the parity holding storage device is delayed according to the determination result of the determining unit, the data from the plurality of data holding storage devices are combined and transferred, while the data holding storage device Are delayed, due to the data from the other plurality of data holding storage devices for which the data read operation has been completed and the parity from the parity holding storage device are reproduced, A disk array device comprising a data transfer unit for combining and transferring data.
複数のデータ保持用記憶装置及びパリティ保持用記憶装置に対応してそれぞれ設けられたデータバッファと、
データライト要求時に前記複数のデータ保持用記憶装置及びパリティ保持用記憶装置のすべてに対してデータライト要求を発行するデータライト要求発行部と、
当該データライト要求発行部によるデータライト要求の発行直後、前記複数のデータ保持用記憶装置及びパリティ保持用記憶装置に分割されたデータ及びパリティを転送するとともに、これらを前記データバッファにも転送するデータ転送部と、
当該データ転送部によるデータ転送後、データライト動作が最も遅い1台を除いたすべての記憶装置のデータライト動作が完了した時点で、ライト動作が完了した旨を上位装置に報告すると共に前記除いた1台の記憶装置の少なくとも識別子を不揮発性メモリに格納するライト報告部と、
当該ライト報告部によるデータライトの完了報告後、既にデータライト動作が完了した記憶装置に対応するデータバッファ中のデータを破棄し、その後残りの1台の記憶装置もデータライト動作が完了した時はそれに対応するデータバッファ中のデータも破棄する後処理部とを含み、
前記残りの1台の記憶装置に対応するデータバッファ中のデータが失われた場合に、残り1台の記憶装置を除く記憶装置からのデータにより失われたデータを回復し、前記不揮発性メモリを参照して該残りの1台の記憶装置に前記回復したデータのライト動作を行うことを特徴とするディスクアレイ装置。
A data buffer provided corresponding to each of a plurality of data holding storage devices and a parity holding storage device;
A data write request issuing unit that issues a data write request to all of the plurality of data holding storage devices and parity holding storage devices at the time of a data write request;
Immediately after the data write request is issued by the data write request issuing unit, the divided data and parity are transferred to the plurality of data holding storage devices and the parity holding storage device, and the data is also transferred to the data buffer. A transfer section;
After the data transfer by the data transfer unit, when the data write operation of all the storage devices except the one with the slowest data write operation is completed, the fact that the write operation has been completed is reported to the host device and the above is excluded. A write report unit for storing at least an identifier of one storage device in a nonvolatile memory;
After the completion of the data write by the write report unit, the data in the data buffer corresponding to the storage device that has already completed the data write operation is discarded, and then the data write operation is also completed for the remaining one storage device A post-processing unit that also discards the data in the corresponding data buffer,
When the data in the data buffer corresponding to the remaining one storage device is lost, the lost data is recovered by the data from the storage devices other than the remaining one storage device, and the nonvolatile memory is A disk array device that performs a write operation of the recovered data to the remaining one storage device with reference to the disk array device.
JP28603594A 1994-10-26 1994-10-26 Disk array device Expired - Fee Related JP3615250B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28603594A JP3615250B2 (en) 1994-10-26 1994-10-26 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28603594A JP3615250B2 (en) 1994-10-26 1994-10-26 Disk array device

Publications (2)

Publication Number Publication Date
JPH08123628A JPH08123628A (en) 1996-05-17
JP3615250B2 true JP3615250B2 (en) 2005-02-02

Family

ID=17699137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28603594A Expired - Fee Related JP3615250B2 (en) 1994-10-26 1994-10-26 Disk array device

Country Status (1)

Country Link
JP (1) JP3615250B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3284963B2 (en) 1998-03-10 2002-05-27 日本電気株式会社 Disk array control device and control method
JP2012103853A (en) * 2010-11-09 2012-05-31 Hitachi Ltd Error control method for disk array device

Also Published As

Publication number Publication date
JPH08123628A (en) 1996-05-17

Similar Documents

Publication Publication Date Title
USRE39421E1 (en) On-the-fly redundancy operation for forming redundant drive data and reconstructing missing data as data transferred between buffer memory and disk drives during write and read operation respectively
US5720027A (en) Redundant disc computer having targeted data broadcast
JP3302688B2 (en) Logical Track Write Scheduling System for Parallel Disk Drive Array Data Storage Subsystem
US5072378A (en) Direct access storage device with independently stored parity
JP3181398B2 (en) Array type recording device
US6049890A (en) Disk array system and its control method
JP3249868B2 (en) Array type storage system
US7770076B2 (en) Multi-platter disk drive controller and methods for synchronous redundant data operations
JPH06332623A (en) Array type recorder and recorder
JP2674985B2 (en) Data read control method
JPH0744326A (en) Strage system
JPH08161124A (en) Computer system
JPH10105344A (en) Data recorder system and data write method therefor
JP3661205B2 (en) Disk array system and method for generating parity data of disk array system
US5396620A (en) Method for writing specific values last into data storage groups containing redundancy
US20030236943A1 (en) Method and systems for flyby raid parity generation
EP0662660A1 (en) An improved data storage device and method of operation
JP2003316525A (en) Disk array controller
JP3615250B2 (en) Disk array device
US5875458A (en) Disk storage device
JPH10240453A (en) Disk array device
JP2857289B2 (en) Disk array device
JPH10312246A (en) Storage device subsystem
JP4209108B2 (en) Storage device control method, storage device used in this method, disk array device, and disk controller
JPH0744331A (en) Disk array device and its control method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040902

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041029

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees