JPH06119126A - Disk array device - Google Patents

Disk array device

Info

Publication number
JPH06119126A
JPH06119126A JP4269823A JP26982392A JPH06119126A JP H06119126 A JPH06119126 A JP H06119126A JP 4269823 A JP4269823 A JP 4269823A JP 26982392 A JP26982392 A JP 26982392A JP H06119126 A JPH06119126 A JP H06119126A
Authority
JP
Japan
Prior art keywords
parity
data
disk
new
old
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4269823A
Other languages
Japanese (ja)
Other versions
JP2857288B2 (en
Inventor
Sawao Iwatani
沢男 岩谷
Suijin Takeda
帥仁 武田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4269823A priority Critical patent/JP2857288B2/en
Priority to DE4392143A priority patent/DE4392143C1/en
Priority to PCT/JP1993/000663 priority patent/WO1993023803A1/en
Priority to DE4345320A priority patent/DE4345320B4/en
Publication of JPH06119126A publication Critical patent/JPH06119126A/en
Priority to US08/746,154 priority patent/US5787460A/en
Priority to US09/031,004 priority patent/US5954822A/en
Application granted granted Critical
Publication of JP2857288B2 publication Critical patent/JP2857288B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To restart an interrupted data writing processing from its halfway point after the power source recovers and complete the processing even if a powder-down state is entered during the data writing processing on a disk array. CONSTITUTION:For the powder-down case, a nonvolatile memory 34 is stored with at least processing stage data 38 indicating the processing stages of a writing means 60 and a parity updating means 70 and new data 40 transferred from a host device 18. A restoring means 80, when power source is applied, refers to the processing stage data 38 in the nonvolatile memory 34, and performs restoration by using the new data 40 held in the nonvolatile memory 38 if the writing processing is interrupted halfway.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、複数のディスク装置を
並列的にアクセスしてデータ入出力処理を行うようにし
たディスクアレイ装置に関し、特に書込み途中の電源ダ
ウン時に保持したデータから電源復旧後にデータ書込み
の復旧処理を行う復元するディスクアレイ装置に関す
る。計算機システムの外部記憶装置として、記録の不揮
発性、大容量性、データ転送の高速性等の特長を持つ磁
気ディスク装置、光ディスク装置等のディスク装置が広
く用いられている。ディスク装置に対する要求は、高速
データ転送、高信頼性、大容量性、低価格である。これ
らの要求を満たすものとして、ディスクアレイ装置が注
目されてきている。ディスクアレイ装置とは、小型ディ
スク装置を複数台並べ、これらに分散してデータを記録
して、並列的にアクセスする装置である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device in which a plurality of disk devices are accessed in parallel to perform data input / output processing, and more particularly, after power recovery from data held during power down during writing. The present invention relates to a disk array device to be restored for performing a data write recovery process. As external storage devices of computer systems, disk devices such as magnetic disk devices and optical disk devices, which have features such as non-volatility of recording, large capacity, and high speed of data transfer, are widely used. The requirements for the disk device are high-speed data transfer, high reliability, large capacity, and low price. A disk array device has been attracting attention as one that meets these requirements. A disk array device is a device in which a plurality of small disk devices are arranged, data is distributed and recorded in these devices, and accessed in parallel.

【0002】ディスクアレイ装置で並列的に複数のディ
スク装置にデータ転送を行えば、一台のディスク装置の
場合と比べて、ディスクの台数倍の高速データ転送が可
能になる。また、データに加えて、パリティデータなど
の冗長な情報を付け加えて記録しておくことで、ディス
ク装置の故障等を原因とするデータエラーの検出と訂正
が可能となり、ディスク装置の内容を二重化して記録す
る方法と同程度の高信頼性を、二重化より低価格で実現
することができる。
When data is transferred to a plurality of disk devices in parallel by a disk array device, it is possible to transfer data at a high speed that is twice as many as the number of disks as compared with the case of a single disk device. In addition to data, by recording redundant information such as parity data, it is possible to detect and correct data errors caused by disk device failure, etc., and duplicate the contents of the disk device. The same high reliability as the method of recording can be realized at a lower price than the duplication.

【0003】[0003]

【従来の技術】従来、カルフォルニア大学バークレイ校
のデビット・A・パターソン(David A. Pa
tterson)らは、高速に大量のデータを多くのデ
ィスクにアクセスし、ディスク故障時におけるデータの
冗長性を実現するディスクアレイ装置について、レベル
1からレベル5までに分類付けを行って評価した論文を
発表している(ACM SIGMOD Conferance, Chicago, Illi
nois, June 1-3, 1988P109-P116)。
2. Description of the Related Art Conventionally, David A. Passon of the University of California, Berkeley.
et al., published a paper that evaluated a disk array device that can access a large amount of data to many disks at high speed and realize data redundancy in the event of a disk failure, by classifying the disk array devices from level 1 to level 5. Announced (ACM SIGMOD Conferance, Chicago, Illi
nois, June 1-3, 1988 P109-P116).

【0004】このデビット・A・パターソンらが提案し
たディスクアレイ装置を分類するレベル1〜5は、RA
ID(Redundant Arrays of In
expensive Disks)1〜5と略称され
る。RAID1〜5を簡単に説明すると次のようにな
る。 [RAID0]図13はデータの冗長性をもたないディ
スクアレイ装置を示したもので、デビット・A・パター
ソンらの分類には含まれていないが、これを仮にRAI
D0と呼ぶ。
Levels 1 to 5 for classifying the disk array device proposed by David A. Patterson and others are RA
ID (Redundant Arrays of In
abbreviated to "expensive Disks" 1 to 5. The RAID 1 to 5 will be briefly described as follows. [RAID0] FIG. 13 shows a disk array device having no data redundancy, which is not included in the classification of Debit A. Patterson et al.
Call it D0.

【0005】RAID0のディスクアレイ装置は、デー
タA〜Iに示すように、ディスクアレイ制御装置10は
ホストコンピュータ18からの入出力要求に基づきデー
タをディスク装置32−1〜32−3のそれぞれに分散
させているだけであり、ディスク故障時におけるデータ
の冗長性はない。 [RAID1]RAID1のディスクアレイ装置は図1
4に示すように、ディクス装置32−1に格納したデー
タA〜DのコピーA´〜D´を格納したミラーディスク
装置32−2を備える。RAID1はディスク装置の利
用効率が低いが冗長性をもっており、簡単な制御で実現
できるため、広く普及している。 [RAID2]RAID2のディスクアレイ装置はデー
タをビットやバイト単位でストライピング(分割)し、
それぞれのディスク装置に並列に読み書きを行う。スト
ライピングしたデータは全てのディスク装置で物理的に
同じセクタに記録する。エラー訂正コードとしてはデー
タから生成したハミングコードを使用する。データ用デ
ィスク装置の他にハミングコードを記録するためのディ
スク装置を持ち、ハミングコードから故障したディスク
装置を特定して、データを復元する。
In the RAID 0 disk array device, as shown by data A to I, the disk array control device 10 distributes the data to the disk devices 32-1 to 32-3 based on the input / output request from the host computer 18. There is no data redundancy in the event of a disk failure. [RAID1] The RAID 1 disk array device is shown in FIG.
As shown in FIG. 4, the mirror disk device 32-2 stores the copies A ′ to D ′ of the data A to D stored in the disk device 32-1. RAID 1 is widely used because it has low utilization efficiency of a disk device but has redundancy and can be realized by simple control. [RAID2] A RAID2 disk array device strips data in units of bits or bytes,
Read and write in parallel to each disk unit. The striped data is physically recorded in the same sector in all disk devices. A Hamming code generated from the data is used as the error correction code. In addition to the data disk device, a disk device for recording the humming code is provided, and the failed disk device is specified from the humming code to restore the data.

【0006】このようにハミングコードによる冗長性を
備えることでディスク装置が故障しても正しいデータを
確保できるが、ディスク装置の利用効率が悪いために実
用化されていない。 [RAID3]RAID3のディスクアレイ装置は、図
15に示す構成をもつ。即ち、図16に示すように例え
ばデータa,b,cをビットまたはセクタ単位にデータ
a1〜a3,b1〜b3,c1〜c3に分割し、更にデ
ータa1〜a3からパリティP1を計算し、データb1
〜b3からパリティP2を計算し、データc1〜c3か
らパリティP3を計算し、図15のディスク装置32−
1〜32−4を同時並列的にアクセスして書き込む。
By providing the redundancy by the hamming code as described above, correct data can be secured even if the disk device fails, but it has not been put into practical use because the utilization efficiency of the disk device is poor. [RAID3] A RAID3 disk array device has a configuration shown in FIG. That is, as shown in FIG. 16, for example, the data a, b, and c are divided into data a1 to a3, b1 to b3, and c1 to c3 in units of bits or sectors, and the parity P1 is calculated from the data a1 to a3. b1
To b3, the parity P2 is calculated, the parity c3 is calculated from the data c1 to c3, and the disk device 32- of FIG.
1 to 32-4 are simultaneously accessed and written in parallel.

【0007】RAID3では、データの冗長性はパリテ
ィにより保持される。また分割したデータの並列処理に
よりデータの書込み時間は短縮できる。しかし、1回の
書込み又は読出しのアクセスで、全てのディスク装置3
2−1〜32−4の並列的なシーク動作を必要とする。
このため大量のデータを連続して扱う場合には有効であ
るが、少量のデータをランダムにアクセスするトランザ
クション処理のような場合には、データ転送の高速性が
生かせず、効率が低下する。 [RAID4]RAID4のディスクアレイ装置は、図
17に示すように、1つのデータをセクタ単位に分割し
て同じディスク装置に書込む。例えばディスク装置32
−1をみると、データaをセクタデータa1〜a4に分
割して書き込んでいる。パリティは固定的に決めたディ
スク装置32−4に格納している。ここでデータa1,
b1,c1からパリティP1が計算され、データa2,
b2,c2からパリティP2が計算され、データa3,
b3,c3からパリティP3が計算され、データa4,
b4,c4からパリティP4が計算されている。
In RAID 3, data redundancy is maintained by parity. Further, the data writing time can be shortened by the parallel processing of the divided data. However, all the disk devices 3 can be accessed with a single write or read access.
A parallel seek operation of 2-1 to 32-4 is required.
For this reason, it is effective when handling a large amount of data continuously, but in the case of transaction processing in which a small amount of data is randomly accessed, the high speed of data transfer cannot be utilized and efficiency decreases. [RAID4] As shown in FIG. 17, the RAID4 disk array device divides one data into sector units and writes the data in the same disk device. For example, the disk device 32
Looking at -1, the data a is divided and written into sector data a1 to a4. The parity is stored in the fixedly determined disk device 32-4. Here, data a1,
Parity P1 is calculated from b1 and c1, and data a2 and
Parity P2 is calculated from b2 and c2, and data a3 and
Parity P3 is calculated from b3 and c3, and data a4 and
Parity P4 is calculated from b4 and c4.

【0008】データ読出しは、ディスク装置32−1〜
32−3に対して並列して読み出しできる。データa〜
bの読出しは、データaを例にとると、ディスク装置3
2−1のセクタ0〜3をアクセスしてセクタデータa1
〜a4を順次読出して合成する。データ書込みは、書き
込み前のデータとパリティを読み出してから新パリティ
を計算して書き込むため、1度の書き込みにについて、
合計4回のアクセスが必要になる。例えば、ディスク装
置32−1のセクタデータa1を更新(書き替え)する
場合には、更新場所の旧データ(a1)old 及び対応す
るディスク装置32−4の旧パリテイ(P1)old を読
出し、新データ(a1)new と整合性のとれた新パリテ
ィ(P1)new を求めて書込む動作を、更新のためのデ
ータ書込み以外にも必要とする。
Data reading is performed by the disk devices 32-1.
32-3 can be read in parallel. Data a ~
To read b, taking the data a as an example, the disk device 3
2-1 sectors 0 to 3 are accessed to access sector data a1
To a4 are sequentially read and combined. For data writing, after reading the data and parity before writing and calculating and writing new parity,
A total of 4 accesses are required. For example, when updating (rewriting) the sector data a1 of the disk device 32-1, the old data (a1) old of the update location and the corresponding old parity (P1) old of the disk device 32-4 are read and new The operation of writing for a new parity (P1) new that is consistent with the data (a1) new is required in addition to writing data for updating.

【0009】また書込みの際に必ずパリティ用のディス
ク装置32−4へのアクセスが起きるため、複数のディ
スク装置の書き込みを同時に実行できない。例えばディ
スク装置32−1のデータa1の書込みとディスク装置
32−2のデータb2の同時書き込みを行なおうとして
も、同じディスク装置32−4からパリティP1,P2
を読出して計算後に書込む必要があるため、同時に書込
みはできない。
Further, since the access is always made to the parity disk device 32-4 at the time of writing, it is impossible to simultaneously execute the writing to a plurality of disk devices. For example, even if the data a1 of the disk device 32-1 and the data b2 of the disk device 32-2 are simultaneously written, the parities P1 and P2 from the same disk device 32-4 are written.
Cannot be written at the same time because it must be read and written after calculation.

【0010】このようにRAID4の定義は行われてい
るが、メリットが少ないため現在のところ実用化の動き
は少ない。 [RAID5]RAID5のディスクアレイ装置は、パ
リティ用のディスク装置を固定しないことで、並列の読
み書きを可能にしている。即ち、図18に示すように、
セクタごとにパリティの置かれるディスク装置が異なっ
ている。ここでデータa1,b1,c1からパリティP
1が計算され、データa2,b2,d2からパリティP
2が計算され、データa3,c3,d3からパリティP
3が計算され、データb4,c4,d4からパリティP
4が計算されている。
Although the definition of RAID4 has been made in this way, there are few merits and there are few movements for practical use at present. [RAID5] The RAID5 disk array device enables parallel reading and writing by not fixing the disk device for parity. That is, as shown in FIG.
The disk device in which the parity is placed is different for each sector. Here, from data a1, b1, c1 to parity P
1 is calculated, and the parity P is calculated from the data a2, b2, d2.
2 is calculated, and the parity P is calculated from the data a3, c3, d3.
3 is calculated, and the parity P is calculated from the data b4, c4, d4.
4 has been calculated.

【0011】並列の読み書きは、例えばディスク装置3
2−1のセクタ0のデータa1とディスク装置32−2
のセクタ1のデータb2は、パリティP1,P2が異な
るディスク装置32−4,32−3に置かれているため
重複せず、同時に読み書きができる。尚、書込み時に合
計4回のアクセスを必要とするオーバーヘッドはRAI
D4と同じである。
For parallel reading and writing, for example, the disk device 3 is used.
2-1 sector 0 data a1 and disk device 32-2
Since the data b2 of sector 1 is located in the disk devices 32-4 and 32-3 having different parities P1 and P2, the data b2 does not overlap and can be read and written at the same time. Note that the overhead that requires a total of 4 accesses at the time of writing is RAI.
Same as D4.

【0012】このようにRAID5は、非同期に複数の
ディスク装置にアクセスしてリード/ライトを実行でき
るため、少量データをランダムにアクセスするトランザ
クション処理に向いている。
As described above, RAID 5 is capable of asynchronously accessing a plurality of disk devices to perform read / write, and therefore is suitable for transaction processing for randomly accessing a small amount of data.

【0013】[0013]

【発明が解決しようとする課題】しかしながら、このよ
うな従来のディスクアレイ装置にあっては、ディスク装
置に対するデータ書込みの途中で何らかの原因によって
電源の供給が途絶えた場合、従来のディスク装置または
RAID1〜RAID3迄のディスクアレイ装置では、
電源復旧後に再び同じ書込み作業を始めから行うことが
できたのに対し、RAID4およびRAID5のディス
クアレイ装置では、次の理由により電源復旧後に再び同
じ書き込み作業を始めから行うことが許されない。
However, in such a conventional disk array device, when the power supply is cut off for some reason during the data writing to the disk device, the conventional disk device or RAID 1 to In the disk array device up to RAID3,
While the same write operation could be performed again from the beginning after the power supply was restored, the same write operation could not be performed from the beginning again after the power supply was restored in the RAID4 and RAID5 disk array devices.

【0014】RAID4およびRAID5のデータ書込
み時には、次の(1)式により複数のディスク装置内の
データの排他的論理和を取ってパリティとし、パリティ
用のディスク装置に保持する。 データa(+)データb(+)・・・=パリティP (1) 但し、(+)は排他的論理和記号 データとパリティの格納場所は、RAID4では図17
のように特定のディスク装置32−1〜32−4に固定
している。これに対しRAID5では、図18のように
パリティをディスク装置32−1〜32−4に分散させ
て、パリティ読み書き動作による特定のディスク装置へ
のアクセスの集中を解消している。
At the time of writing data of RAID4 and RAID5, the exclusive OR of the data in the plurality of disk devices is taken as the parity by the following equation (1), and the parity is held in the disk device for the parity. Data a (+) Data b (+) ... = Parity P (1) where (+) is the exclusive OR symbol data and the storage location of parity is RAID 4 in FIG.
It is fixed to the specific disk devices 32-1 to 32-4 as described above. On the other hand, in RAID 5, the parity is distributed to the disk devices 32-1 to 32-4 as shown in FIG. 18 to eliminate the concentration of access to a specific disk device due to the parity read / write operation.

【0015】これらのRAID4およびRAID5のデ
ータ読出し時は、ディスク装置32−1〜32−4内の
データが書き換えられないので、パリティの整合性は保
持されるが、書込み時にはパリティもデータに合わせて
変更する必要がある。例えばディスク装置32−1内の
1つの旧データ(a1)old を新データ(a1)new
書き換えたとき、パリティP1の整合性を取るには次の
(2)式のような計算を行い、パリティを更新すること
でディスク装置のデータ全体のパリティの整合性を保つ
ことができる。 旧データ(+)旧パリティ(+)新データ=新パリティ (2) この(2)式から分かるように、データ書込み処理で
は、ディスク装置内の旧データ及び旧パリティを先ず読
み出す必要があり、この後に新データの書込みと、新パ
リティの生成及び書込みを行う。この新データあるいは
新パリティの書き込み中に電源が切断されると、実際ど
こまでデータが正常に書かれているかが認識できなくな
り、パリティの整合性が失われる。
At the time of reading these RAID4 and RAID5 data, since the data in the disk devices 32-1 to 32-4 are not rewritten, the integrity of the parity is maintained, but at the time of writing, the parity is also adjusted to the data. Need to change. For example, when one old data (a1) old in the disk device 32-1 is rewritten to new data (a1) new , the following formula (2) is calculated in order to obtain the consistency of the parity P1. By updating the parity, it is possible to maintain the parity consistency of the entire data of the disk device. Old data (+) old parity (+) new data = new parity (2) As can be seen from the equation (2), in the data writing process, it is necessary to first read the old data and the old parity in the disk device. Later, new data is written and new parity is generated and written. If the power is cut off while writing the new data or the new parity, it cannot be recognized how much the data is actually written normally, and the consistency of the parity is lost.

【0016】この状態で、電源復旧時に再び同じデータ
書き込み処理を行うと、パリティの整合性の取れていな
いディスク装置から旧データ、旧パリティを読み込むの
で、整合性の取れていない新パリティを生成して書き込
み作業を終了してしまうという問題があった。本発明の
目的は、データ書込みの処理中に電源ダウンが起きて
も、電源復旧後に中断したデータ書込み処理を途中から
再開して完了できるようにしたディスクアレイ装置を提
供する。
In this state, if the same data writing process is performed again when the power is restored, the old data and old parity are read from the disk device in which the parity is not consistent, so that the new inconsistent parity is generated. There was a problem that the writing work was ended. An object of the present invention is to provide a disk array device capable of resuming the data writing process interrupted after the power is restored and completing the data writing process even if a power down occurs during the data writing process.

【0017】本発明の他の目的は、ディスク装置単位に
1つのデータ単位を割当ると共に、パリティの割当てデ
ィスク装置を固定的に決めたディスクアレイ構成を対象
に、電源復旧後に中断したデータ書込み処理を途中から
再開して完了できるようにしたディスクアレイ装置を提
供する。本発明の他の目的は、ディスク装置単位に1つ
のデータ単位を割当ると共に、パリティの割当てディス
ク装置を書込み処理毎に変更するディスクアレイ構成を
対象に、電源復旧後に中断したデータ書込み処理を途中
から再開して完了できるようにしたディスクアレイ装置
を提供する。
Another object of the present invention is to allocate one data unit to each disk device and to allocate a parity to a disk array configuration in which the disk device is fixedly determined. There is provided a disk array device capable of being restarted from the middle and completed. Another object of the present invention is to allocate one data unit to each disk device and to allocate a parity to a disk array configuration in which the disk device is changed for each writing process. There is provided a disk array device which can be restarted from the above and completed.

【0018】本発明の他の目的は、アクセスの処理段階
及び上位装置からの新データを不揮発性メモリに格納可
能として、電源復旧後に中断したデータ書込み処理を途
中から再開して完了できるようにしたディスクアレイ装
置を提供する。本発明の他の目的は、アクセスの処理段
階、上位装置からの新データおよび中間パリティを不揮
発性メモリに格納可能として電源復旧後に中断したデー
タ書込み処理を途中から再開して完了できるようにした
ディスクアレイ装置を提供する。
Another object of the present invention is to make it possible to store the new data from the access processing stage and the host device in the non-volatile memory so that the data writing process interrupted after the restoration of the power supply can be resumed from the middle and completed. A disk array device is provided. Another object of the present invention is to provide a disk capable of storing new data and intermediate parity from a higher-level device in a non-volatile memory at the processing stage of access so that the data writing process interrupted after power restoration can be restarted from the middle and completed. An array device is provided.

【0019】本発明の他の目的は、アクセスの処理段
階、上位装置からの新データ、中間パリティおよび新パ
リティを不揮発性メモリに格納可能として、電源復旧後
に中断したデータ書込み処理を途中から再開して完了で
きるようにしたディスクアレイ装置を提供する。本発明
の他の目的は、ディスク装置のアダプタにバックアップ
電源を供給して電源ダウン時に、アダプタ内に新デー
タ、旧データ、新パリティ、および旧パリティを保持可
能として、電源復旧後に中断したデータ書込み処理を途
中から再開して完了できるようにしたディスクアレイ装
置を提供する。
Another object of the present invention is to make it possible to store the access processing stage, new data from the host device, intermediate parity and new parity in a non-volatile memory, and restart the data writing process interrupted after the power is restored. Provided is a disk array device that can be completed. Another object of the present invention is to supply backup power to an adapter of a disk device so that new data, old data, new parity, and old parity can be held in the adapter when the power is down, and data writing interrupted after the power is restored. Provided is a disk array device capable of restarting processing from the middle and completing the processing.

【0020】本発明の他の目的は、電源ダウン時のアク
セス処理段階に応じてデータ書込処理を途中から再開す
るようにしたディスクアレイ装置を提供する。
Another object of the present invention is to provide a disk array device in which the data writing process is restarted midway according to the access processing stage at the time of power down.

【0021】[0021]

【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、図1(a)に示す構成を備え
る。図1(a)において、ディスクアレイ機構の書込手
段60は、上位装置18から書込処理を命令された際
に、指定された任意のディスク装置32−iの書込み位
置に格納している旧データ42を読出した後に上位装置
18から転送された新データ48を書込む。
FIG. 1 is a diagram for explaining the principle of the present invention. First, the present invention has the configuration shown in FIG. In FIG. 1A, the writing means 60 of the disk array mechanism stores the old data in the designated writing position of the arbitrary disk device 32-i when the writing process is instructed by the host device 18. After reading the data 42, the new data 48 transferred from the higher-level device 18 is written.

【0022】またパリティ更新手段70は、書込手段6
0によるディスク書込み位置に対応するパリティ用ディ
スク装置32−2の格納位置から旧パリティ44を読出
し、旧パリティ44、旧データ42および新データ40
に基づいて、具体的には排他的論理和から新パリティ4
8を生成した後に、旧パリティ44のディスク格納位置
に新パリティ48を書込む。
The parity updating means 70 is composed of the writing means 6
The old parity 44 is read from the storage position of the parity disk device 32-2 corresponding to the disk write position of 0, and the old parity 44, the old data 42 and the new data 40 are read.
Specifically, from the exclusive OR to the new parity 4
After generating 8, the new parity 48 is written in the disk storage position of the old parity 44.

【0023】更に不揮発性メモリ34が設けられ、不揮
発性メモリ34には、書込手段60およびパリティ更新
手段70の処理段階を示す処理段階データ38および上
位装置18から転送された新データ40を格納する。復
旧手段80は、電源投入時に、不揮発性メモリ34の処
理段階データ38を参照し、書込み処理が途中で中断さ
れていた場合には、不揮発性メモリ34に保持されてい
る新データ40を用いて復旧処理を行う。
Further, a non-volatile memory 34 is provided, and the non-volatile memory 34 stores the processing stage data 38 indicating the processing stages of the writing means 60 and the parity updating means 70 and the new data 40 transferred from the host device 18. To do. The restoration means 80 refers to the processing stage data 38 in the non-volatile memory 34 when the power is turned on, and if the writing process is interrupted midway, uses the new data 40 held in the non-volatile memory 34. Perform recovery processing.

【0024】ここで、パリティ更新手段70は、例えば
旧データ42と旧パリティ44の排他的論理和から中間
パリティ46を生成する段階を含む。復旧手段80の処
理モードは図1(a)の場合、次の2つのモードのいず
れかとなる。 [モード1] 新データ(40)のディスク装置に対する書込完了前に
電源ダウンが起きていた場合;このモード1では、書込
手段60により指定されたディスク装置32−iの書込
み位置に格納している旧データ42を読出した後に不揮
発性メモリ18から読出した新データ48を書込む処理
を行わせ、次に新データ48の書込み完了後にパリティ
更新手段70により書込手段60によるディスク書込み
位置に対応するパリティ用ディスク装置32−2の格納
位置から旧パリティ44を読出し、旧パリティ44、旧
データ42および新データ40に基づいて新パリティ4
8を生成した後に、旧パリティ44のディスク格納位置
に新パリティ48を書込む処理を行わせる。
Here, the parity updating means 70 includes a step of generating the intermediate parity 46 from the exclusive OR of the old data 42 and the old parity 44, for example. In the case of FIG. 1A, the processing mode of the recovery means 80 is one of the following two modes. [Mode 1] When the power down occurs before the writing of the new data (40) to the disk device is completed; in this mode 1, the data is stored in the writing position of the disk device 32-i designated by the writing means 60. After reading the old data 42, the new data 48 read from the non-volatile memory 18 is written, and after the writing of the new data 48 is completed, the parity updating means 70 sets the disk writing position by the writing means 60. The old parity 44 is read from the corresponding storage position of the parity disk device 32-2, and the new parity 4 is read based on the old parity 44, the old data 42, and the new data 40.
After generating 8, the new parity 48 is written in the disk storage position of the old parity 44.

【0025】[モード2] 新パリティのパリティ用ディスク装置32−2に対する
書込み完了前に電源ダウンが起きていた場合;このモー
ド2の場合は、書込手段60によりデータを書込むディ
スク装置及びパリティ用ディスク装置以外の他のディス
ク装置の対応位置の格納データを読出す処理を行わせ、
次にパリティ更新手段70により他のディスク装置の読
出データと不揮発性メモリ34から読出した新データ4
0とから新パリティ48を生成した後に、旧パリティ4
4のディスク格納位置に新パリティ48を書込む処理を
行わせる。
[Mode 2] When the power supply is down before the completion of writing to the parity disk device 32-2 of the new parity; in the case of this mode 2, the disk device and the parity for writing the data by the writing means 60. The storage data of the corresponding position of the disk device other than the disk device for use,
Next, the read data of another disk device and the new data 4 read from the non-volatile memory 34 by the parity updating means 70.
After generating new parity 48 from 0 and old parity 4
The process of writing the new parity 48 into the disk storage position of No. 4 is performed.

【0026】図1(b)は不揮発性メモリ34に、更に
中間パリティ(46)を格納するようにしたもので、新
データ40の書込完了から中間パリティ46の格納完了
前に電源ダウンが起きたときの回復処理が新たなモード
として加わる。更に図1(c)のように、不揮発性メモ
リ34に新パリティ48を格納するようにしてもよく、
電源ダウン後の復旧は、不揮発性メモリ34に残ってい
る最後の段階のデータに基づき次の段階からの処理を再
開すればよい。
In FIG. 1B, the intermediate parity (46) is further stored in the non-volatile memory 34, and a power down occurs from the completion of writing the new data 40 to the completion of the storage of the intermediate parity 46. The recovery process for when you add is added as a new mode. Further, as shown in FIG. 1C, the new parity 48 may be stored in the non-volatile memory 34,
For recovery after power down, processing from the next stage may be restarted based on the last stage data remaining in the non-volatile memory 34.

【0027】この場合、ディスク装置32−1〜32−
n毎に設けているディスクアダプタ30−1〜30−n
にもバックアップ電源を加えておけば、電源ダウン時に
旧データ42及び旧パリティ44も保持でき、復旧処理
の際の再読出しが不要にできる。
In this case, the disk devices 32-1 to 32-
Disk adapters 30-1 to 30-n provided for each n
Also, by adding a backup power supply, the old data 42 and the old parity 44 can be retained when the power supply is down, and re-reading at the time of restoration processing can be eliminated.

【0028】[0028]

【作用】このような構成を備えた本発明のディスクアレ
イ装置によれば、所謂RAID4およびRAID5に従
った構成のディスクアレイ装置で電源ダウンが起きた場
合、不揮発性メモリに保持した情報を用いて、書込み処
理の途中から処理を再開することで正常に書込み処理を
終えることができ、電源回復後に最初からの処理を必要
としないため、より高速の復旧処理ができる。
According to the disk array device of the present invention having such a configuration, when a power down occurs in a disk array device having a configuration according to so-called RAID4 and RAID5, information stored in the nonvolatile memory is used. The writing process can be normally completed by restarting the process from the middle of the writing process, and the process from the beginning is not required after the power is restored, so that the restoration process can be performed at higher speed.

【0029】また電源ダウンによる復旧処理のために保
持するデータの種別は、コスト面から使用可能な不揮発
性メモリの容量に応じて選択することができる。
Further, the type of data to be retained for the recovery process due to the power down can be selected according to the available capacity of the non-volatile memory in terms of cost.

【0030】[0030]

【実施例】図2は本発明によるディスクアレイ装置の第
1実施例を示した実施例構成図である。図2において、
ディスクアレイ制御装置10にはマイクロプロセッサ
(以下「MPU」という)12が設けられる。MPU1
2の内部バス14に制御プログラムや固定データを格納
したROM20、RAMを用いた揮発性メモリ22、キ
ャッシュ制御部24を介して設けられたキャッシュメモ
リ26、データ転送バッファ28、バックアップ電源3
6により電源ダウン時にも動作可能な不揮発性メモリ3
4を接続している。
2 is a block diagram of an embodiment showing a first embodiment of a disk array device according to the present invention. In FIG.
The disk array control device 10 is provided with a microprocessor (hereinafter referred to as “MPU”) 12. MPU1
ROM 20 storing control programs and fixed data in the internal bus 14 of No. 2, volatile memory 22 using RAM, cache memory 26 provided via the cache control unit 24, data transfer buffer 28, backup power supply 3
Non-volatile memory 3 that can operate even when the power is down due to 6
4 are connected.

【0031】また、ホストインタフェース16が設けら
れ、上位装置として機能するホストコンピュータ18を
接続している。一方、ディスクアレイ制御装置10に対
しては、この実施例にあっては6台のディスク装置32
−1〜32−6を設けており、ディスク装置32−2〜
32−6のそれぞれはデバイスアダプタ30−1〜30
−6を介してMPU12の内部バス14に接続されてい
る。
Further, a host interface 16 is provided and is connected to a host computer 18 which functions as a host device. On the other hand, for the disk array control device 10, in this embodiment, six disk devices 32 are used.
-1 to 32-6 are provided, and the disk device 32-2 to
32-6 are device adapters 30-1 to 30
It is connected to the internal bus 14 of the MPU 12 via −6.

【0032】6台のディスク装置32−1〜32−6の
内、4台がデータ格納用であり、1台がパリティ用であ
り、残りの1台は予備である。本発明のディスクアレイ
装置にあっては、図17に示したRAID4あるいは図
18に示したRAID5と同じ機能を実現することか
ら、例えばディスク装置32−6を予備ディスク装置と
すると、RAID4の場合にはディスク装置32−1〜
32−4がデータ格納用に使用され、ディスク装置32
−5がパリティ用に使用される。
Of the six disk devices 32-1 to 32-6, four are for data storage, one is for parity, and the remaining one is a spare. Since the disk array device of the present invention realizes the same function as the RAID 4 shown in FIG. 17 or the RAID 5 shown in FIG. 18, if the disk device 32-6 is a spare disk device, for example, in the case of RAID4. Is a disk device 32-1
32-4 is used for data storage, and the disk device 32
-5 is used for parity.

【0033】一方、RAID5の場合には、ディスク装
置32−1〜32−5のそれぞれはRAID4の場合と
同様、1つのディスク装置に同一のデータ単位をまとめ
て格納するが、パリティ用のディスク装置は固定され
ず、ディスク装置32−1〜32−5の同一格納位置が
変わる毎にパリティ用のディスク装置が所定の順番に従
って切り替わる。
On the other hand, in the case of RAID 5, each of the disk devices 32-1 to 32-5 stores the same data unit collectively in one disk device as in the case of RAID 4, but the disk device for parity. Is not fixed, and the disk device for parity is switched in a predetermined order every time the same storage position of the disk devices 32-1 to 32-5 changes.

【0034】図3は図2の第1実施例における処理内容
を示した機能ブロック図である。図3において、ディス
クアレイ制御装置10に対するディスク装置はディスク
装置32−1〜32−nのn台を例にとっており、今、
ディスク装置32−2がパリティ用として用いられたも
のとする。勿論、ディスク装置32−2はRAID4で
あれば固定的にパリティ用として定められており、RA
ID5については、現時点のデータアクセスにおいてパ
リティ用として位置付けられていることになる。
FIG. 3 is a functional block diagram showing the processing contents in the first embodiment of FIG. In FIG. 3, n disk devices 32-1 to 32-n are used as an example of disk devices for the disk array control device 10.
It is assumed that the disk device 32-2 is used for parity. Of course, if the disk device 32-2 is RAID4, it is fixedly set for parity.
ID5 is positioned for parity in the current data access.

【0035】ディスクアレイ制御装置10に設けられた
ディスクアレイ制御機構50はMPU12によるプログ
ラム制御でデータ書込部60,パリティ更新部70及び
データ復旧部80としての機能を実現する。このディス
クアレイ制御機構50に対しては揮発性メモリ22と不
揮発性メモリ34が接続されている。またディスク装置
32−1〜32−n毎に設けたデバイスアダプタ30−
1〜30−nのディスク装置との間でやり取りするデー
タを一時記憶するメモリを内蔵している。
The disk array control mechanism 50 provided in the disk array control device 10 realizes the functions of the data writing unit 60, the parity updating unit 70, and the data restoring unit 80 under the program control of the MPU 12. A volatile memory 22 and a non-volatile memory 34 are connected to the disk array control mechanism 50. A device adapter 30-provided for each of the disk devices 32-1 to 32-n
It has a built-in memory for temporarily storing data exchanged with the disk devices 1 to 30-n.

【0036】図3の第1実施例にあっては、不揮発性メ
モリ34にデータ書込部60及びパリティ更新部70の
処理段階を示す処理段階データ38が格納され、またホ
ストコンピュータ18から転送された指定されたディス
ク装置に書き込むための新データ40が格納される。一
方、揮発性メモリ22にはパリティ更新部70の処理で
生成される中間パリティ46及び新パリティ48が格納
される。
In the first embodiment shown in FIG. 3, processing stage data 38 indicating the processing stages of the data writing unit 60 and the parity updating unit 70 is stored in the non-volatile memory 34, and transferred from the host computer 18. The new data 40 to be written in the designated disk device is stored. On the other hand, the volatile memory 22 stores the intermediate parity 46 and the new parity 48 generated by the processing of the parity update unit 70.

【0037】更に、デバイスアダプタ30−1〜30−
nについては、いまデータ書込みの対象となっている例
えばディスク装置32−1のデバイスアダプタ30−1
には、ホストコンピュータ18から転送された新データ
40とパリティ更新のために新データ書込み予定領域か
ら読み出された旧データ42が格納される。また、パリ
ティ用のディスク装置32−2のデバイスアダプタ30
−2にはディスク装置32−1の新データ書込み予定領
域に対応する同一位置から読み出した旧パリティ44と
パリティ更新部70で生成された新パリティ48が格納
される。
Further, the device adapters 30-1 to 30-
For n, for example, the device adapter 30-1 of the disk device 32-1 that is the target of data writing now
In this area, new data 40 transferred from the host computer 18 and old data 42 read from the new data writing scheduled area for updating the parity are stored. Further, the device adapter 30 of the disk device 32-2 for parity
In -2, the old parity 44 read from the same position corresponding to the new data writing scheduled area of the disk device 32-1 and the new parity 48 generated by the parity update unit 70 are stored.

【0038】ここで、ディスクアレイ制御装置10に使
用するメモリを全て不揮発性メモリとすることはメモリ
容量の増加でコスト的な負担が大きいことから、第1実
施例にあっては処理段階データ38と新データ40の記
憶に不揮発性メモリ34を割り当て、それ以外の中間パ
リティ46や新パリティ48については揮発性メモリ2
2を使用している。
Here, since all the memories used in the disk array control device 10 are non-volatile memories, the memory capacity increases and the cost is heavy. Therefore, in the first embodiment, the processing stage data 38 is used. The non-volatile memory 34 is allocated to store the new data 40 and the new data 40, and the volatile memory 2 is used for the other intermediate parity 46 and new parity 48.
I am using 2.

【0039】尚、電源ダウン時にホストコンピュータ1
8側に新データ40が保持できれば、新データ40を揮
発性メモリ22に格納するようにしてもよい。図4は図
3のディスクアレイ制御機構50における全体的な処理
動作を示したフローチャートである。図4において、ま
ずディスクアレイ装置の電源を投入すると、ステップS
1でイニシャルプログラムルーチン(IPL)に基づく
所定のイニシャライズが行われ、ステップS2に進んで
電源ダウンがあったか否かチェックする。通常のログオ
フ操作による電源切断後にログオンによりパワーオンス
タートした場合には電源ダウンなしと判定され、ステッ
プS3に進み、ホストコンピュータ18からのコマンド
受領を待つ。
The host computer 1 when the power is down
If the new data 40 can be held on the eight side, the new data 40 may be stored in the volatile memory 22. FIG. 4 is a flowchart showing the overall processing operation in the disk array control mechanism 50 of FIG. In FIG. 4, first, when the disk array device is powered on, step S
In step 1, predetermined initialization is performed based on the initial program routine (IPL), and the process proceeds to step S2 to check whether or not the power supply is down. When the power is turned on by the logon after the power is turned off by the normal logoff operation, it is determined that the power is not turned off, and the process proceeds to step S3 to wait for the command reception from the host computer 18.

【0040】ステップS3でホストコンピュータ18か
らのコマンドを受領するとステップS4に進んでコマン
ド解読を行い、ステップS5でリードアクセスの要求を
判別するとステップS8に進んでデータ読出処理を実行
し、一方、ライトアクセスの要求を判別するとステップ
S6に進んでデータ書込処理を実行し、続いてステップ
S7でパリティ更新処理を実行する。
When the command from the host computer 18 is received in step S3, the process proceeds to step S4 to decode the command, and when the read access request is determined in step S5, the process proceeds to step S8 to execute the data read process, while the write operation is performed. When the access request is determined, the process proceeds to step S6 to execute the data writing process, and subsequently to the parity updating process in step S7.

【0041】一方、パワーオンスタートした際に、ステ
ップS2で電源ダウンが判別された場合には、ステップ
S9で復旧処理を行ってからステップS3以降の通常処
理に入る。この図4のフローチャートにおけるステップ
S6のデータ書込処理が図3のディスクアレイ制御機構
50に設けたデータ書込部60により行われ、またステ
ップS7のパリティ更新処理がパリティ更新部70によ
り行われ、更にステップS9の復旧処理がデータ復旧部
80により行われることになる。
On the other hand, when it is determined that the power source is down in step S2 when the power is turned on, the recovery process is performed in step S9, and then the normal process from step S3 is started. The data writing process of step S6 in the flowchart of FIG. 4 is performed by the data writing unit 60 provided in the disk array control mechanism 50 of FIG. 3, and the parity updating process of step S7 is performed by the parity updating unit 70. Further, the recovery process of step S9 is performed by the data recovery unit 80.

【0042】図5は図4のステップS8に示したデータ
読出処理の詳細を示したフローチャートである。図5に
おいて、ホストコンピュータからのリードコマンドを解
読すると、データ読出しの対象となったデバイスアダプ
タを介してディスク装置からデータを読み出し、ステッ
プS2でデバイスアダプタに格納した後にステップS3
でホストコンピュータ18にデータ転送を行う。
FIG. 5 is a flow chart showing details of the data reading process shown in step S8 of FIG. In FIG. 5, when the read command from the host computer is decoded, the data is read from the disk device via the device adapter that was the target of the data read, stored in the device adapter in step S2, and then stored in step S3.
Then, data is transferred to the host computer 18.

【0043】このときディスク装置側の転送速度とホス
トコンピュータ18側の転送速度とが異なっている場合
には、図2に示したディスクアレイ制御装置10に設け
ているデータ転送バッファ28を経由した読出データの
ホストコンピュータ18に対する転送が行われる。図6
は図4のステップS6に示したデータ獲得処理の詳細を
示したフローチャートである。
At this time, if the transfer rate on the side of the disk device and the transfer rate on the side of the host computer 18 are different, reading via the data transfer buffer 28 provided in the disk array controller 10 shown in FIG. The data is transferred to the host computer 18. Figure 6
4 is a flowchart showing details of the data acquisition process shown in step S6 of FIG.

【0044】図6において、ホストコンピュータ18か
らのライトコマンドに伴ってディスク装置に書き込む新
データが転送されてくることから、ステップS1でホス
トコンピュータ18からの新データ40をメモリ、即ち
不揮発性メモリ34に格納する。続いてステップS2で
新データ40を例えばディスク装置32−1が書込対象
として指定されたとすると、デバイスアダプタ30−1
に転送して格納する。
In FIG. 6, since new data to be written to the disk device is transferred in response to the write command from the host computer 18, the new data 40 from the host computer 18 is stored in the memory, that is, the non-volatile memory 34 in step S1. To store. Subsequently, in step S2, if the new data 40 is designated as the writing target of the disk device 32-1, for example, the device adapter 30-1
And store it.

【0045】続いてデバイスアダプタ30−1からの指
示でディスク装置32−1の新データ書込予定領域の内
容を旧データ42として読み取り、デバイスアダプタ3
0−1内に格納する。旧データ42の格納が済むと、ス
テップS5でデバイスアダプタ30−1内の新データ4
0をディスク装置32−1に転送し、ステップS6で新
データ書込予定領域に新データ40を書き込む。
Then, the contents of the new data writing scheduled area of the disk device 32-1 are read as the old data 42 by the instruction from the device adapter 30-1, and the device adapter 3 is read.
Stored in 0-1. After storing the old data 42, the new data 4 in the device adapter 30-1 is stored in step S5.
0 is transferred to the disk device 32-1 and the new data 40 is written in the new data writing planned area in step S6.

【0046】図7は図4のステップS7に示したパリテ
ィ更新処理の詳細を示したフローチャートである。図7
において、まずステップS1でパリティ用のディスク装
置32−2のディスク装置32−1における新データ書
込み予定領域と同一領域の内容を旧パリティ44として
読み取り、ステップS2で、読み取った旧パリティ44
をデバイスアダプタ30−2に格納する。続いてステッ
プS3で旧データ42と旧パリティ44から中間パリテ
ィ46を作成して揮発性メモリ22に格納する。
FIG. 7 is a flow chart showing details of the parity update process shown in step S7 of FIG. Figure 7
First, in step S1, the contents of the same area as the new data write-scheduled area in the disk device 32-1 of the parity disk device 32-2 is read as the old parity 44, and in step S2, the read old parity 44 is read.
Is stored in the device adapter 30-2. Subsequently, in step S3, the intermediate parity 46 is created from the old data 42 and the old parity 44 and stored in the volatile memory 22.

【0047】次に不揮発性メモリ34の新データ40と
揮発性メモリ22の中間パリティ46を読み出して新パ
リティ48を作成して、揮発性メモリ22に格納する。
ここで、中間パリティ46は旧データ42と旧パリティ
44の排他的論理和から作成される。また、新パリティ
48は新データ40と中間パリティ46の同じく排他的
論理和から作成する。
Next, the new data 40 in the non-volatile memory 34 and the intermediate parity 46 in the volatile memory 22 are read to create a new parity 48, which is stored in the volatile memory 22.
Here, the intermediate parity 46 is created from the exclusive OR of the old data 42 and the old parity 44. Also, the new parity 48 is created from the same exclusive OR of the new data 40 and the intermediate parity 46.

【0048】ステップS4で新パリティ48の作成格納
が済むとステップS5で揮発性メモリ22の新パリティ
48を読み出して、デバイスアダプタ30−2に転送し
て格納する。続いてステップS6で新パリティ48をパ
リティ用のディスク装置32−2に転送し、ステップS
7で新パリティ48をディスク装置32−2のディスク
装置32−1における新データの書込領域と同じ領域に
書き込んでパリティ更新処理を終了する。
When the new parity 48 is created and stored in step S4, the new parity 48 in the volatile memory 22 is read out and transferred to the device adapter 30-2 for storage in step S5. Subsequently, in step S6, the new parity 48 is transferred to the disk device 32-2 for parity, and in step S6.
In step 7, the new parity 48 is written in the same area as the new data write area in the disk device 32-1 of the disk device 32-2, and the parity update process ends.

【0049】ここで、新パリティ48の生成は基本的に
は新データ40,旧データ42及び旧パリティ44の排
他的論理和から作成するものであるが、図3の実施例に
あっては中間パリティ46の作成段階を経て新パリティ
48を作成している。この中間パリティ46の段階を経
由した新パリティの作成過程は、図3の場合を含めて次
の3通りがある。 (1)新データ40と旧データ42の排他的論理和をと
って中間パリティ46を生成し、揮発性メモリ22に格
納する。この揮発性メモリ22への格納が終了すると旧
データ42は不要となるので、デバイスアダプタ30−
1の旧データを格納していたメモリ領域は開放される。
次に揮発性メモリ22の中間パリティ46とデバイスア
ダプタ30−2の旧パリティ44との排他的論理和をと
って新パリティ48を生成し、不揮発性メモリ48に格
納する。
Here, the new parity 48 is basically generated from the exclusive OR of the new data 40, the old data 42 and the old parity 44, but in the embodiment of FIG. The new parity 48 is created through the creation stage of the parity 46. There are the following three ways of creating a new parity through the steps of the intermediate parity 46, including the case of FIG. (1) The new data 40 and the old data 42 are exclusive ORed to generate an intermediate parity 46, which is stored in the volatile memory 22. When the storage in the volatile memory 22 is completed, the old data 42 becomes unnecessary, so the device adapter 30-
The memory area storing the old data of 1 is released.
Next, the new parity 48 is generated by exclusive ORing the intermediate parity 46 of the volatile memory 22 and the old parity 44 of the device adapter 30-2, and stored in the non-volatile memory 48.

【0050】即ち、次式の処理を行う。 新データ(+)旧データ=中間パリティ 中間パリティ(+)旧パリティ=新パリティ (2)旧データ42と旧パリティ44の排他的論理和を
とって中間パリティ46を生成し、揮発性メモリ22に
格納する。中間パリティ46の揮発性メモリ22に対す
る格納が終了すると、デバイスアダプタ30−1の旧デ
ータ42及びデバイスアダプタ30−2の旧パリティ4
4を格納していたメモリ領域が開放される。次に揮発性
メモリ22の中間パリティ46と不揮発性メモリ34の
新データ40との排他的論理和をとって新パリティ48
を生成し、揮発性メモリ22に格納する。これは図3の
実施例の処理であり、次式の処理を行うことになる。 旧データ(+)旧パリティ=中間パリティ 中間パリティ(+)新データ=新パリティ (3)デバイスアダプタ30−2のメモリに格納してい
る旧パリティ44と不揮発性メモリ34の新データ40
の排他的論理和をとって中間パリティ46を生成し、揮
発性メモリ22に格納する。中間パリティ46の揮発性
メモリ22に対する格納が終了すると旧パリティ44は
不要となることから、旧パリティ44が格納されていた
デバイスアダプタ30−2のメモリ領域は開放される。
That is, the processing of the following equation is performed. New data (+) Old data = intermediate parity Intermediate parity (+) Old parity = new parity (2) Exclusive OR of old data 42 and old parity 44 is generated to generate intermediate parity 46, which is stored in volatile memory 22. Store. When the storage of the intermediate parity 46 in the volatile memory 22 is completed, the old data 42 of the device adapter 30-1 and the old parity 4 of the device adapter 30-2 are stored.
The memory area storing 4 is released. Then, the intermediate parity 46 of the volatile memory 22 and the new data 40 of the non-volatile memory 34 are exclusive ORed to obtain the new parity 48.
Is generated and stored in the volatile memory 22. This is the processing of the embodiment of FIG. 3, and the processing of the following equation is performed. Old data (+) Old parity = intermediate parity Intermediate parity (+) New data = new parity (3) Old parity 44 stored in the memory of device adapter 30-2 and new data 40 of non-volatile memory 34
Then, the intermediate parity 46 is generated by exclusive ORing of the two, and stored in the volatile memory 22. When the storage of the intermediate parity 46 in the volatile memory 22 is completed, the old parity 44 becomes unnecessary, so that the memory area of the device adapter 30-2 in which the old parity 44 was stored is released.

【0051】次に揮発性メモリ22の中間パリティ46
とデバイスアダプタ30−1の旧データ42の排他的論
理和をとり、新パリティ48を生成して揮発性メモリ2
2に格納する。即ち、次式の処理を行う。 旧パリティ(+)新データ=中間パリティ 中間パリティ(+)旧データ=新パリティ 更に、中間パリティの生成段階を経由した新パリティの
生成は(1)〜(3)に限定されず、デバイスアダプタ
30−1における旧データ42の読出格納、及びデバイ
スアダプタ30−2における旧パリティ44の読出格納
が速度順で(1)または(3)の処理を選択すればよ
い。
Next, the intermediate parity 46 of the volatile memory 22.
And the old data 42 of the device adapter 30-1 are exclusive-ORed to generate a new parity 48 and the volatile memory 2
Store in 2. That is, the processing of the following equation is performed. Old parity (+) New data = intermediate parity Intermediate parity (+) Old data = new parity Further, generation of new parity via the intermediate parity generation stage is not limited to (1) to (3), and the device adapter 30 The read / storing of the old data 42 in −1 and the read / storing of the old parity 44 in the device adapter 30-2 may be selected in the order of speed (1) or (3).

【0052】即ち、図4のフローチャートにあっては、
ステップS6でデータ書込処理を実行した後にステップ
S7でパリティ更新処理を順番に行うようにしている
が、実際にはディスク装置32−1に対しシーク命令を
発行して切り離した後に、パリティ用のディスク装置3
2−2にシーク命令を発行して突き離しており、ディス
ク装置32−1,32−2の内、最初にシーク完了通知
を受けた方について旧データまたは旧パリティの読出し
を行うことになる。
That is, in the flow chart of FIG.
Although the parity update process is sequentially performed in step S7 after the data write process is performed in step S6, in reality, a seek instruction is issued to the disk device 32-1 to disconnect it, and then the parity update process is performed. Disk device 3
The seek command is issued to 2-2 and the two are separated, and the old data or the old parity is read out from the disk device 32-1 or 32-2 that receives the seek completion notification first.

【0053】従って、旧データ42を最初に読み出した
場合には(1)のように新データと旧データから中間パ
リティを生成し、また旧パリティ44を最初に読み出し
た場合には(3)のように旧パリティと新データから中
間パリティを生成し、中間パリティの生成後に(1)の
ケースについては旧パリティが読み出されたら新パリテ
ィを生成し、(3)のケースについては旧データが読み
出されたら新パリティを生成すればよい。
Therefore, when the old data 42 is read out first, an intermediate parity is generated from the new data and the old data as shown in (1), and when the old parity 44 is read out first, (3). As described above, the intermediate parity is generated from the old parity and the new data, the new parity is generated when the old parity is read in the case of (1) after the generation of the intermediate parity, and the old data is read in the case of (3). When issued, you can just generate a new parity.

【0054】勿論、新データ,旧データ,旧パリティが
揃った段階で 新データ(+)旧データ(+)旧パリティ=新パリティ により一括して排他的論理和をとって新パリティを生成
し、中間パリティの生成過程を省略するようにしてもよ
い。
Of course, when the new data, the old data, and the old parity are gathered, new data (+) old data (+) old parity = new parity are collectively exclusive ORed to generate new parity. The process of generating the intermediate parity may be omitted.

【0055】図8は図4のステップS9に示した復旧処
理の詳細を示したフローチャートである。ここで、図3
の第1実施例にあっては、不揮発性メモリ34に電源ダ
ウンの際に保持されるのは処理段階データ38と新デー
タ40のみであり、従って、電源ダウンのタイミングが
新データ40のディスク装置32−1に対する書込終了
の前後で復旧処理の内容が分かれることになる。
FIG. 8 is a flow chart showing details of the restoration process shown in step S9 of FIG. Here, FIG.
In the first embodiment of the present invention, only the processing stage data 38 and the new data 40 are retained in the non-volatile memory 34 when the power is down. Therefore, the power down timing is the disk device of the new data 40. The contents of the restoration process are divided before and after the end of writing to 32-1.

【0056】図8の復旧処理において、まずステップS
1で新データの書込終了か否かチェックし、新データの
書込みが終了していなければ新データの書込完了以前に
電源ダウンが起きていることからステップS2以降の処
理に進む。即ち、ステップS2で不揮発性メモリ34に
保持されている新データ40を読み出して、デバイスア
ダプタ30−1に転送して格納し、次のステップS3で
ディスク装置32−1から新データ書込予定領域の内容
を旧データ42として読み出し、ステップS4でデバイ
スアダプタ30−1に格納する。
In the recovery process of FIG. 8, first, step S
It is checked in 1 whether or not the writing of the new data is completed. If the writing of the new data is not completed, the power supply is down before the completion of the writing of the new data. Therefore, the process proceeds to step S2 and the subsequent steps. That is, in step S2, the new data 40 held in the non-volatile memory 34 is read out, transferred to the device adapter 30-1 and stored therein, and in the next step S3, the new data writing scheduled area from the disk device 32-1. Is read as the old data 42 and stored in the device adapter 30-1 in step S4.

【0057】続いてステップS5でデバイスアダプタ3
0−1内の新データ40をディスク装置32−1に転送
し、ステップS6でディスク装置32−1に対する新デ
ータ40の書込みを行う。即ち、新データの書込完了前
に電源ダウンが起きた場合には、図6に示したデータ書
込処理の内のステップS1を除くステップS2〜S6と
同じ処理を回復処理として実行する。このように不揮発
性メモリ34に新データ40を保持していたことで、復
旧処理の際に改めてホストコンピュータ18から新デー
タ40を転送させる必要がなく、その分だけ回復処理を
高速化させる。
Subsequently, in step S5, the device adapter 3
The new data 40 in 0-1 is transferred to the disk device 32-1 and the new data 40 is written to the disk device 32-1 in step S6. That is, when the power supply is down before the completion of writing the new data, the same processes as steps S2 to S6 except step S1 in the data writing process shown in FIG. 6 are executed as the recovery process. Since the new data 40 is held in the non-volatile memory 34 in this way, it is not necessary to transfer the new data 40 from the host computer 18 again at the time of the recovery process, and the recovery process can be speeded up accordingly.

【0058】勿論、ステップS6で新データ40の書込
みが済むとステップS7でパリティ更新処理を実行す
る。このパリティ更新処理は図7のフローチャートに示
した内容と同じになる。一方、ステップS1で新データ
の書込終了が判別された場合にはステップS8に進み、
新パリティの書込終了の有無をチェックする。ここで、
新パリティの書込みが済んでいなかった場合にはステッ
プS9以降の処理を行う。まず、既に新データのディス
ク装置32−1に対する書込みは完了していることか
ら、ステップS9でパリティ用のディスク装置32−2
を除く他のディスク装置32−3〜32−nから読み出
したデータと新データの排他的論理和により新パリティ
を作成する。即ち、旧パリティを使用せずに新データと
他のディスク装置のデータのみから新パリティを生成す
る。
Of course, when the writing of the new data 40 is completed in step S6, the parity update process is executed in step S7. This parity update processing is the same as the content shown in the flowchart of FIG. On the other hand, if it is determined in step S1 that the writing of new data has been completed, the process proceeds to step S8,
Check whether writing of new parity is completed. here,
If the writing of the new parity has not been completed, the processing from step S9 is performed. First, since the writing of the new data to the disk device 32-1 has already been completed, the disk device 32-2 for parity is used in step S9.
A new parity is created by the exclusive OR of the data read from the other disk devices 32-3 to 32-n except the new data and the new data. That is, the new parity is generated only from the new data and the data of another disk device without using the old parity.

【0059】続いてステップS10で新パリティをデバ
イスアダプタ30−2に転送して格納した後、ステップ
S11でディスク装置32−2に転送し、ステップS1
2で新パリティをディスク装置32−2に書き込んで一
連の回復処理を終了する。更にステップS8で新パリテ
ィの書込終了が判別された場合には復旧処理は不要であ
ることから、そのままメインルーチンにリターンする。
Subsequently, in step S10, the new parity is transferred to the device adapter 30-2 and stored therein, and then transferred to the disk device 32-2 in step S11, and step S1.
In step 2, the new parity is written in the disk device 32-2, and a series of recovery processing is completed. Further, when it is judged in step S8 that the writing of the new parity is completed, the restoration process is not necessary, and therefore the process directly returns to the main routine.

【0060】図9は本発明の第2実施例の処理内容を示
した機能ブロック図であり、第2実施例にあっては、不
揮発性メモリ34に処理段階データ38及び新データ4
0に加えて中間パリティ46も格納するようにしたこと
を特徴とする。このため、不揮発性メモリ34は中間パ
リティ46を格納する分だけメモリ容量が増加して、第
1実施例に比べコスト的に高価になるが、電源ダウンに
より中間パリティ46を保持できるために復旧処理を更
に高速化できる。
FIG. 9 is a functional block diagram showing the processing contents of the second embodiment of the present invention. In the second embodiment, the processing stage data 38 and the new data 4 are stored in the non-volatile memory 34.
In addition to 0, the intermediate parity 46 is also stored. For this reason, the non-volatile memory 34 has a memory capacity increased by the amount of storing the intermediate parity 46, which makes the cost higher than that of the first embodiment. Can be further speeded up.

【0061】図9の第2実施例における全体的な制御処
理は図4に示した第1実施例と基本的に同じであり、ま
たデータ書込部60及びパリティ更新部70による処理
も中間パリティ46を不揮発性メモリ34に格納する以
外は図6及び図7のフローチャートと同じになる。これ
に対しデータ復旧部80による復旧処理は、新たに不揮
発性メモリ34に中間パリティ46を格納したことに伴
い、図10のフローチャートに示すようになる。
The overall control processing in the second embodiment of FIG. 9 is basically the same as that of the first embodiment shown in FIG. 4, and the processing by the data writing unit 60 and the parity updating unit 70 is also the intermediate parity. 6 and 7 except that 46 is stored in the non-volatile memory 34. On the other hand, the restoration process by the data restoration unit 80 becomes as shown in the flowchart of FIG. 10 as the intermediate parity 46 is newly stored in the nonvolatile memory 34.

【0062】図10において、電源ダウンが起きたタイ
ミングの判別はステップS1,ステップS8及びS13
のそれぞれで行っており、電源ダウンにより新データの
書込終了が済んでいないことがステップS1で判別され
ると、ステップS2〜S7の処理が行われる。これは図
8に示した第1実施例の場合と同じである。次にステッ
プS1で新データの書込終了が判別された場合には、ス
テップS8で中間パリティの格納終了の有無が判別され
る。中間パリティの格納が済んでいなかった場合、即ち
新データの書込終了から中間パリティの格納前の間に電
源ダウンが起きていた場合にはステップS9〜S12の
処理を行う。
In FIG. 10, the determination of the timing when the power supply is down is determined in steps S1, S8 and S13.
When it is determined in step S1 that the writing of new data has not been completed due to power down, the processes of steps S2 to S7 are performed. This is the same as the case of the first embodiment shown in FIG. Next, when it is determined in step S1 that the writing of the new data has been completed, it is determined in step S8 whether the storage of the intermediate parity has been completed. If the storage of the intermediate parity has not been completed, that is, if the power is down between the end of writing the new data and the storage of the intermediate parity, the processes of steps S9 to S12 are performed.

【0063】この処理は図8の第1実施例におけるステ
ップS9〜S12の処理と同じであり、新データが既に
書込み済みであることから、パリティ用のディスク装置
を除く他のディスク装置から読み出したデータと新デー
タの排他的論理和をとることで新パリティを作成して、
パリティ用のディスク装置に書き込んでいる。更にステ
ップS8で中間パリティの格納終了が判別された場合に
は、ステップS13に進んで、新パリティの書込終了の
有無をチェックする。ステップS13で新パリティの書
込みが済んでいなかった場合、即ち中間パリティの格納
が済んでから新パリティを書き込む前に電源ダウンが起
きた場合には、ステップS14〜S17の処理を行う。
This processing is the same as the processing of steps S9 to S12 in the first embodiment of FIG. 8, and since the new data has already been written, it is read from another disk device other than the parity disk device. Create a new parity by taking the exclusive OR of the data and the new data,
Writing to the disk device for parity. Further, when it is determined in step S8 that the storage of the intermediate parity has been determined, the process proceeds to step S13 to check whether the writing of the new parity has been completed. If the writing of the new parity is not completed in step S13, that is, if the power-down occurs before the writing of the new parity after the storage of the intermediate parity is completed, the processes of steps S14 to S17 are performed.

【0064】まず、ステップS14で不揮発性メモリ3
4に保持している新データ40と中間パリティ46の排
他的論理和から新パリティを作成して、不揮発性メモリ
34に格納する。次にステップS15で不揮発性メモリ
34から新パリティ48を読み出してデバイスアダプタ
30−2に転送して格納し、ステップS15で新パリテ
ィ48をディスク装置32−2に転送して、ステップS
17で書込みを行う。
First, in step S14, the nonvolatile memory 3
The new parity is created from the exclusive OR of the new data 40 held in No. 4 and the intermediate parity 46 and stored in the non-volatile memory 34. Next, in step S15, the new parity 48 is read from the non-volatile memory 34, transferred to the device adapter 30-2 and stored therein, and in step S15 the new parity 48 is transferred to the disk device 32-2, and in step S15.
Writing is performed at 17.

【0065】このように不揮発性メモリ34に電源ダウ
ンの際に新データ40及び中間パリティ46が保持でき
ていれば、新データ40と中間パリティ46から新パリ
ティ48を生成してパリティ用のディスク装置32−2
に書き込む処理だけで済み、最初からやり直す場合に比
べて復旧処理をより高速化することができる。図11は
本発明の第3実施例のハードウエア構成を示した実施例
構成図であり、この実施例にあっては図12の処理内容
を示した機能ブロック図の不揮発性メモリ34に示すよ
うに、処理段階データ38,新データ40及び中間パリ
ティ46に加えて、更に新パリティ48も保持するよう
にしたことを特徴とする。
As described above, if the new data 40 and the intermediate parity 46 can be held in the nonvolatile memory 34 when the power is down, a new parity 48 is generated from the new data 40 and the intermediate parity 46 to generate a disk device for parity. 32-2
It is only necessary to write to, and the restoration process can be sped up compared to the case of starting over from the beginning. FIG. 11 is a block diagram of an embodiment showing the hardware configuration of the third embodiment of the present invention. In this embodiment, as shown in the nonvolatile memory 34 of the functional block diagram showing the processing contents of FIG. In addition to the processing stage data 38, the new data 40 and the intermediate parity 46, the new parity 48 is also held.

【0066】更に、バックアップ電源36からのバック
アップ電源ライン52をデバイスアダプタ30−1〜3
0−6の全てに接続し、電源ダウンの際にデバイスアダ
プタ30−1〜30−6を動作状態とし、ディスク装置
側から読み出した復旧データ42や旧パリティ44の保
持、あるいはディスクアレイ制御機構50側から転送し
た新データ40や新パリティ48の保持ができるように
したことを特徴とする。
Further, the backup power supply line 52 from the backup power supply 36 is connected to the device adapters 30-1 to 30-3.
0-6, all the device adapters 30-1 to 30-6 are activated when the power is turned off, the recovery data 42 and the old parity 44 read from the disk device side are held, or the disk array control mechanism 50 is used. It is characterized in that the new data 40 and the new parity 48 transferred from the side can be held.

【0067】この図11及び図12に示す第3実施例に
よれば、電源ダウンの発生時で処理を中断すると、その
直前で得られたデータが不揮発性メモリ34及びデバイ
スアダプタ30−1,30−2にそのまま保持されてい
るため、電源復旧後の復旧処理は電源ダウンが起きた段
階より1つ前の段階からの処理を再開すればよく、電源
ダウンの前後における重複した処理を最小限にした高速
の復旧処理を行うことができる。
According to the third embodiment shown in FIGS. 11 and 12, when the processing is interrupted when the power is down, the data obtained immediately before the interruption is the non-volatile memory 34 and the device adapters 30-1, 30. -2 is retained as it is, so the recovery process after the power is restored can be restarted from the stage immediately before the stage where the power down occurred, and the duplicated process before and after the power down can be minimized. The high-speed restoration processing can be performed.

【0068】尚、上記の実施例はディスク装置として磁
気ディスク装置を例にとるものであったが、これ以外に
光ディスク装置によるディスクアレイであってもよいこ
とは勿論である。
In the above embodiment, the magnetic disk device was used as an example of the disk device, but it is needless to say that a disk array of an optical disk device may be used instead.

【0069】[0069]

【発明の効果】以上説明してきたように本発明によれ
ば、RAID4及びRAID5相当の構成をもつディス
クアレイの書込処理中に電源ダウンが起きても、電源復
旧後に書込処理を途中から再開することで、データの冗
長性を維持した書込処理を完結させることができ、ディ
スクアレイ装置の信頼性をより一層、向上させることが
できる。
As described above, according to the present invention, even if the power supply goes down during the writing process of the disk array having the configuration corresponding to RAID4 and RAID5, the writing process is restarted halfway after the power is restored. By doing so, it is possible to complete the writing process while maintaining the data redundancy, and it is possible to further improve the reliability of the disk array device.

【0070】また、不揮発性メモリへのデータ格納によ
る保持で、電源ダウン後の復旧処理を高速化し、より迅
速な装置の立ち上げが可能となる。
Further, by holding the data stored in the non-volatile memory, the recovery process after power-down can be sped up, and the device can be started up more quickly.

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

【図1】本発明の原理説明図FIG. 1 is an explanatory view of the principle of the present invention.

【図2】本発明による第1実施例のハードウェア構成を
示した実施例構成図
FIG. 2 is an example configuration diagram showing a hardware configuration of a first example according to the present invention.

【図3】図2の処理内容を示した機能ブロック図FIG. 3 is a functional block diagram showing the processing contents of FIG.

【図4】第1実施例の全体的な処理動作を示したフロー
チャート
FIG. 4 is a flowchart showing the overall processing operation of the first embodiment.

【図5】図4のデータ読出処理の詳細を示したフローチ
ャート
FIG. 5 is a flowchart showing details of the data reading process of FIG.

【図6】図4のデータ書込処理の詳細を示したフローチ
ャート
FIG. 6 is a flowchart showing details of the data writing process of FIG.

【図7】図4のパリティ更新処理の詳細を示したフロー
チャート
FIG. 7 is a flowchart showing details of the parity update process of FIG.

【図8】図4の復旧処理の詳細を示したフローチャートFIG. 8 is a flowchart showing details of the recovery process of FIG.

【図9】本発明の第2実施例の処理内容を示した機能ブ
ロック図
FIG. 9 is a functional block diagram showing the processing contents of the second embodiment of the present invention.

【図10】第2実施例における復旧処理の詳細を示した
フローチャート
FIG. 10 is a flowchart showing details of recovery processing in the second embodiment.

【図11】本発明による第3実施例のハードウェア構成
を示した実施例構成図
FIG. 11 is an example configuration diagram showing a hardware configuration of a third example according to the present invention.

【図12】第3実施例の処理内容を示した機能ブロック
FIG. 12 is a functional block diagram showing the processing contents of the third embodiment.

【図13】RAID0によるディスクアレイ装置の説明
FIG. 13 is an explanatory diagram of a RAID 0 disk array device.

【図14】RAID1によるディスクアレイ装置の説明
FIG. 14 is an explanatory diagram of a RAID 1 disk array device.

【図15】RAID3によるディスクアレイ装置の説明
FIG. 15 is an explanatory diagram of a disk array device based on RAID3.

【図16】RAID3におけるデータ分割の説明図FIG. 16 is an explanatory diagram of data division in RAID3.

【図17】RAID4によるディスクアレイ装置の説明
FIG. 17 is an explanatory diagram of a disk array device using RAID4.

【図18】RAID5によるディスクアレイ装置の説明
FIG. 18 is an explanatory diagram of a RAID 5 disk array device.

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

10:ディスクアレイ制御装置 12:MPU 14:内部バス 16:ホストインタフェース 18:ホストコンピュータ(上位装置) 20:ROM 22:揮発性メモリ(RAM) 24:キャッシュ制御部 26:キャッシュメモリ 28:データ転送バッファ 30−1〜30−n:デバイスアダプタ 32−1〜32−n:ディスク装置 34:不揮発性メモリ 36:バックアップ電源 38:処理段階データ 40:新データ 42:旧データ 44:旧パリティ 46:中間パリティ 48:新パリティ 50:ディスクアレイ制御機構 52:バックアップ電源ライン 60:書込手段(データ書込部) 70:パリティ更新手段(パリティ更新部) 80:復旧手段(データ復旧部) 10: Disk array control device 12: MPU 14: Internal bus 16: Host interface 18: Host computer (upper device) 20: ROM 22: Volatile memory (RAM) 24: Cache control unit 26: Cache memory 28: Data transfer buffer 30-1 to 30-n: Device adapter 32-1 to 32-n: Disk device 34: Nonvolatile memory 36: Backup power supply 38: Processing stage data 40: New data 42: Old data 44: Old parity 46: Intermediate parity 48: New parity 50: Disk array control mechanism 52: Backup power line 60: Writing means (data writing section) 70: Parity updating means (parity updating section) 80: Restoration means (data restoration section)

Claims (18)

【特許請求の範囲】[Claims] 【請求項1】上位装置(18)から書込処理を命令され
た際に、指定されたディスク装置(32−i)の書込み
位置に格納している旧データ(42)を読出した後に上
位装置(18)から転送された新データ(48)を書込
む書込手段(60)と、 該書込手段(60)によるディスク書込み位置に対応す
るパリティ用ディスク装置(32−2)の格納位置から
旧パリティ(44)を読出し、前記旧パリティ(4
4)、旧データ(42)および新データ(40)に基づ
いて新パリティ(48)を生成した後に、前記旧パリテ
ィ(44)のディスク格納位置に新パリティ(48)を
書込むパリティ更新手段(70)と、 前記書込手段(60)およびパリティ更新手段(70)
の処理段階を示す処理段階データ(38)および上位装
置(18)から転送された新データ(40)を格納する
不揮発性メモリ(34)と、 電源投入時に、前記不揮発性メモリ(34)の処理段階
データ(38)を参照し、書込み処理が途中で中断され
ていた場合には、前記不揮発性メモリ(34)に保持さ
れている新データ(40)を用いて復旧処理を行う復旧
手段(80)と、を備えたことを特徴とするディスクア
レイ装置。
1. An upper device after reading old data (42) stored at a write position of a designated disk device (32-i) when a writing process is instructed by the upper device (18). From the writing means (60) for writing the new data (48) transferred from (18) and the storage position of the parity disk device (32-2) corresponding to the disk writing position by the writing means (60) The old parity (44) is read, and the old parity (4
4), parity updating means for writing the new parity (48) in the disk storage position of the old parity (44) after generating the new parity (48) based on the old data (42) and the new data (40) ( 70), the writing means (60) and the parity updating means (70)
Non-volatile memory (34) for storing processing stage data (38) indicating the processing stage of No. 1 and new data (40) transferred from the upper device (18), and processing of the non-volatile memory (34) when the power is turned on. With reference to the stage data (38), if the writing process is interrupted midway, a restoration means (80) for performing the restoration process using the new data (40) held in the non-volatile memory (34). ), And a disk array device comprising:
【請求項2】請求項1記載のディスクアレイ装置に於い
て、前記パリティ更新手段(70)は、旧データ(4
2)、旧パリティ(44)及び新データ(40)の排他
的論理和から新パリティ(48)を生成することを特徴
とするディスクアレイ装置。
2. The disk array device according to claim 1, wherein the parity updating means (70) is configured to use old data (4).
2), a new parity (48) is generated from the exclusive OR of the old parity (44) and the new data (40).
【請求項3】請求項2記載のディスクアレイ装置に於い
て、前記パリティ更新手段(70)は、前記旧データ
(42)、旧パリティ(44)及び新データ(40)の
内の2つの排他的論理和から中間パリティ(46)を生
成し、該中間パリティと前記旧データ(42)、旧パリ
ティ(44)及び新データ(40)の内の残りの1つの
との排他的論理和から新パリティ(48)を生成するこ
とを特徴とするディスクアレイ装置。
3. The disk array device according to claim 2, wherein the parity update means (70) excludes two of the old data (42), the old parity (44) and the new data (40). An intermediate logical parity (46) is generated from the logical OR, and a new logical value is obtained from an exclusive logical OR of the intermediate parity and the remaining one of the old data (42), the old parity (44) and the new data (40). A disk array device characterized by generating a parity (48).
【請求項4】請求項1記載のディスクアレイ装置に於い
て、前記復旧手段(80)は、新データ(40)のディ
スク装置に対する書込完了前に電源ダウンが起きていた
場合には、書込手段(60)により指定されたディスク
装置(32−i)の書込み位置に格納している旧データ
(42)を読出した後に前記不揮発性メモリ(34)か
ら読出した新データ(48)を書込む処理を行わせ、次
に前記パリティ更新手段(70)により前記書込手段
(60)によるディスク書込み位置に対応するパリティ
用ディスク装置(32−2)の格納位置から旧パリティ
(44)を読出し、旧パリティ(44)、旧データ(4
2)および新データ(40)に基づいて新パリティ(4
8)を生成した後に、前記旧パリティ(44)のディス
ク格納位置に新パリティ(48)を書込む処理を行わせ
ることを特徴とするディスクアレイ装置。
4. The disk array device according to claim 1, wherein the recovery means (80) writes a new data (40) to the disk device when a power down has occurred before the completion of writing to the disk device. Write the new data (48) read from the non-volatile memory (34) after reading the old data (42) stored in the write position of the disk device (32-i) designated by the inserting means (60). Then, the parity update means (70) reads the old parity (44) from the storage position of the parity disk device (32-2) corresponding to the disk write position by the write means (60). , Old parity (44), old data (4
2) and new parity (4) based on new data (40)
A disk array device, characterized in that, after generating 8), a process of writing the new parity (48) in the disk storage position of the old parity (44) is performed.
【請求項5】請求項1記載のディスクアレイ装置に於い
て、前記復旧手段(80)は、新パリティのパリティ用
ディスク装置(32−2)に対する書込み完了前に電源
ダウンが起きていた場合には、書込手段(60)により
新データ(40)を書込むディスク装置及びパリティ用
ディスク装置以外の他のディスク装置の対応位置の格納
データを読出す処理を行わせ、次に記パリティ更新手段
(70)により前記他のディスク装置の読出データと不
揮発性メモリ(34)から読出した新データ(40)と
から新パリティ(48)を生成した後に、前記旧パリテ
ィ(44)のディスク格納位置に新パリティ(48)を
書込む処理を行わせることを特徴とするディスクアレイ
装置。
5. The disk array device according to claim 1, wherein said recovery means (80) is set to a power-down state before the completion of writing to the parity disk device (32-2) of the new parity. Causes the writing means (60) to read the stored data at the corresponding position of the disk device other than the disk device for writing the new data (40) and the parity disk device, and then the parity updating means. After the new parity (48) is generated from the read data of the other disk device and the new data (40) read from the non-volatile memory (34) by (70), it is stored in the disk storage position of the old parity (44). A disk array device characterized by causing a process of writing new parity (48).
【請求項6】上位装置(18)から書込処理を命令され
た際に、指定されたディスク装置(32−i)の書込み
位置に格納している旧データ(42)を読出した後に上
位装置(18)から転送された新データ(48)を書込
む書込手段(60)と、 該書込手段(60)によるディスク書込み位置に対応す
るパリティ用ディスク装置(32−2)の格納位置から
旧パリティ(44)を読出し、前記旧パリティ(44)
と旧データ(42)から中間パリティ(46)を生成し
た後に該中間パリテイ(46)と新データ(40)から
新パリティ(48)を生成し、該新パリティ(48)を
前記旧パリティ(44)のディスク格納位置に書込むパ
リティ更新手段(70)と、 前記書込手段(60)およびパリティ更新手段(70)
の処理段階を示す処理段階データ(38)、上位装置
(18)から転送された新データ(40)、および中間
パリティ(46)を格納する不揮発性メモリ(34)
と、 電源投入時に、前記不揮発性メモリ(34)の処理段階
データ(38)を参照し、書込み処理が途中で中断され
ていた場合には、前記不揮発性メモリ(34)に保持さ
れている新データ(40)および中間パリティ(46)
を用いて復旧処理を行う復旧手段(80)と、を備えた
ことを特徴とするディスクアレイ装置。
6. An upper device after reading old data (42) stored at a write position of a designated disk device (32-i) when a writing process is instructed by the upper device (18). From the writing means (60) for writing the new data (48) transferred from (18) and the storage position of the parity disk device (32-2) corresponding to the disk writing position by the writing means (60) The old parity (44) is read and the old parity (44) is read.
After generating the intermediate parity (46) from the old data (42) and the old parity (44), the new parity (48) is generated from the intermediate parity (46) and the new data (40). ), A parity updating means (70) for writing in the disk storage position, and the writing means (60) and the parity updating means (70).
Non-volatile memory (34) for storing processing stage data (38) indicating the processing stage of the new data, new data (40) transferred from the host device (18), and intermediate parity (46).
When the power is turned on, the process stage data (38) of the non-volatile memory (34) is referred to. If the writing process is interrupted midway, the new data stored in the non-volatile memory (34) is stored. Data (40) and intermediate parity (46)
A disk array device comprising: a recovery unit (80) for performing recovery processing using the.
【請求項7】請求項6記載のディスクアレイ装置に於い
て、前記パリティ更新手段(70)は、前記旧データ
(42)、旧パリティ(44)及び新データ(40)の
内の2つの排他的論理和から中間パリティ(46)を生
成し、該中間パリティと前記旧データ(42)、旧パリ
ティ(44)及び新データ(40)の内の残りの1つの
との排他的論理和から新パリティ(48)を生成するこ
とを特徴とするディスクアレイ装置。
7. The disk array device according to claim 6, wherein said parity updating means (70) excludes two of said old data (42), old parity (44) and new data (40). An intermediate logical parity (46) is generated from the logical OR, and a new logical value is obtained from an exclusive logical OR of the intermediate parity and the remaining one of the old data (42), the old parity (44) and the new data (40). A disk array device characterized by generating a parity (48).
【請求項8】請求項6記載のディスクアレイ装置に於い
て、前記復旧手段(80)は、新データ(40)のディ
スク装置に対する書込完了前に電源ダウンが起きていた
場合には、書込手段(60)により指定されたディスク
装置(32−i)の書込み位置に格納している旧データ
(42)を読出した後に前記不揮発性メモリ(34)か
ら読出した新データ(48)を書込む処理を行わせ、次
に前記パリティ更新手段(70)により前記書込手段
(60)によるディスク書込み位置に対応するパリティ
用ディスク装置(32−2)の格納位置から旧パリティ
(44)を読出し、旧パリティ(44)、旧データ(4
2)および新データ(40)に基づいて中間パリティ
(46)の生成を経て新パリティ(48)を生成した後
に、前記旧パリティ(44)のディスク格納位置に新パ
リティ(48)を書込む処理を行わせることを特徴とす
るディスクアレイ装置。
8. The disk array device according to claim 6, wherein the recovery means (80) writes the new data (40) to the disk device if the power down has occurred before the completion of writing to the disk device. Write the new data (48) read from the non-volatile memory (34) after reading the old data (42) stored in the write position of the disk device (32-i) designated by the inserting means (60). Then, the parity update means (70) reads the old parity (44) from the storage position of the parity disk device (32-2) corresponding to the disk write position by the write means (60). , Old parity (44), old data (4
2) and the new data (40) to generate the intermediate parity (46) and then the new parity (48), and then write the new parity (48) to the disk storage position of the old parity (44). A disk array device characterized by performing the following.
【請求項9】請求項6記載のディスクアレイ装置に於い
て、前記復旧手段(80)は、前記新データ(40)の
書込完了後で中間パリティ(46)の不揮発性メモリ
(34)に対する格納前に電源ダウンが起きていた場合
には、書込手段(60)により新データ(40)を書込
むディスク装置及びパリティ用ディスク装置以外の他の
ディスク装置の対応位置の格納データを読出す処理を行
わせ、次に前記パリティ更新手段(70)により前記他
のディスク装置の読出データと不揮発性メモリ(34)
から読出した新データ(40)とから新パリティ(4
8)を生成した後に、前記旧パリティ(44)のディス
ク格納位置に新パリティ(48)を書込む処理を行わせ
ることを特徴とするディスクアレイ装置。
9. The disk array device according to claim 6, wherein the restoration means (80) writes the new data (40) to the non-volatile memory (34) of the intermediate parity (46). When the power supply is down before the storage, the writing means (60) reads the stored data at the corresponding position of the disk device other than the disk device for writing the new data (40) and the parity disk device. Then, the parity update means (70) reads the data from the other disk device and the non-volatile memory (34).
New data (40) read from and new parity (4
A disk array device, characterized in that, after generating 8), a process of writing the new parity (48) in the disk storage position of the old parity (44) is performed.
【請求項10】請求項6記載のディスクアレイ装置に於
いて、前記復旧手段(80)は、中間パリティ(46)
の格納後で新データ(40)の書込み完了前に電源ダウ
ンが起きていた場合には、前記パリティ更新手段(7
0)により前記不揮発性メモリ(34)から新データ
(40)と中間パリティ(46)を読出して新パリティ
(48)を生成した後に、前記旧パリティ(44)のデ
ィスク格納位置に新パリティ(48)を書込む処理を行
わせることを特徴とするディスクアレイ装置。
10. The disk array device according to claim 6, wherein said restoration means (80) has an intermediate parity (46).
If the power down occurs after the storage of the data and before the completion of writing the new data (40), the parity update means (7
0) the new data (40) and the intermediate parity (46) are read from the non-volatile memory (34) to generate a new parity (48), and then the new parity (48) is stored in the disk storage position of the old parity (44). ) Is performed, a disk array device characterized by performing the process of writing.
【請求項11】上位装置(18)から書込処理を命令さ
れた際に、指定されたディスク装置(32−i)の書込
み位置に格納している旧データ(42)を読出した後に
上位装置(18)から転送された新データ(48)を書
込む書込手段(60)と、 該書込手段(60)によるディスク書込み位置に対応す
るパリティ用ディスク装置(32−2)の格納位置から
旧パリティ(44)を読出し、前記旧パリティ(4
4)、旧データ(42)および新データ(40)に基づ
いて新パリティ(48)を生成した後に、前記旧パリテ
ィ(44)のディスク格納位置に新パリティ(48)を
書込むパリティ更新手段(70)と、 前記書込手段(60)およびパリティ更新手段(70)
の処理段階を示す処理段階データ(38)、上位装置
(18)から転送された新データ(40)、および新パ
リティ(48)を格納する不揮発性メモリ(34)と、 電源投入時に、前記不揮発性メモリ(34)の処理段階
データ(38)を参照し、書込み処理が途中で中断され
ていた場合には、前記不揮発性メモリ(38)に保持さ
れている新データ(40)および新パリティ(48)を
用いて復旧処理を行う復旧手段(80)と、を備えたこ
とを特徴とするディスクアレイ装置。
11. An upper device after reading old data (42) stored at a write position of a designated disk device (32-i) when a writing process is instructed by the upper device (18). From the writing means (60) for writing the new data (48) transferred from (18) and the storage position of the parity disk device (32-2) corresponding to the disk writing position by the writing means (60) The old parity (44) is read, and the old parity (4
4), parity updating means for writing the new parity (48) in the disk storage position of the old parity (44) after generating the new parity (48) based on the old data (42) and the new data (40) ( 70), the writing means (60) and the parity updating means (70)
A non-volatile memory (34) for storing processing stage data (38) indicating the processing stage of No. 3, new data (40) transferred from the host device (18), and new parity (48); The processing stage data (38) of the non-volatile memory (34), if the writing process is interrupted midway, new data (40) and new parity (40) held in the non-volatile memory (38) are stored. 48) A disk array device comprising a recovery means (80) for performing recovery processing using the above.
【請求項12】請求項11記載のディスクアレイ装置に
於いて、前記パリティ更新手段(70)は、前記旧デー
タ(42)と旧パリティ(44)から中間パリティ(4
6)を生成し、該中間パリティと新データ(40)から
新パリティ(48)を生成し、前記不揮発性メモリ(3
4)は中間パリテイ(46)も格納し、更に前記復旧手
段(80)は新データ(40)、中間パリティ(46)
および新パリティ(48)を用いて復旧処理を行うこと
を特徴とするディスクアレイ装置。
12. The disk array device according to claim 11, wherein said parity updating means (70) converts said old data (42) and old parity (44) into intermediate parity (4).
6) is generated, new parity (48) is generated from the intermediate parity and new data (40), and the non-volatile memory (3) is generated.
4) also stores the intermediate parity (46), and the restoration means (80) further includes new data (40) and intermediate parity (46).
A disk array device, wherein recovery processing is performed by using the new parity (48).
【請求項13】請求項12記載のディスクアレイ装置に
於いて、前記パリティ更新手段(70)は、前記旧デー
タ(42)、旧パリティ(44)及び新データ(40)
の内の2つの排他的論理和から中間パリティ(46)を
生成し、該中間パリティと前記旧データ(42)、旧パ
リティ(44)及び新データ(40)の内の残りの1つ
のとの排他的論理和から新パリティ(48)を生成する
ことを特徴とするディスクアレイ装置。
13. The disk array device according to claim 12, wherein said parity updating means (70) comprises said old data (42), old parity (44) and new data (40).
The intermediate parity (46) is generated from the exclusive OR of the two, and the intermediate parity and the remaining one of the old data (42), the old parity (44) and the new data (40). A disk array device characterized by generating a new parity (48) from an exclusive OR.
【請求項14】請求項11記載のディスクアレイ装置に
於いて、更に前記ディスク装置(32−1〜32−n)
毎に設けたディスクアダプタ(30−1〜30−n)に
バックアップ電源を供給し、電源ダウン時に旧データ
(42)及び旧パリティ(44)を保持可能としたこと
を特徴とするディスクアレイ装置。
14. The disk array device according to claim 11, further comprising the disk devices (32-1 to 32-n).
A disk array device characterized in that backup power is supplied to the disk adapters (30-1 to 30-n) provided for each, and old data (42) and old parity (44) can be held when the power is down.
【請求項15】請求項1乃至14記載のディスクアレイ
装置に於いて、前記不揮発性メモリ(34)はバックア
ップ電源を備えたことを特徴とするディスクアレイ装
置。
15. The disk array device according to claim 1, wherein said non-volatile memory (34) has a backup power supply.
【請求項16】請求項1乃至14記載のディスクアレイ
装置に於いて、前記複数のディスク装置(32−1〜3
2−n)のそれぞれは、1つのデータ単位に属する同一
データの書込みを受けると共に、予め定めたディスク装
置をパリティの格納に使用することを特徴とするディス
クアレイ装置。
16. The disk array device according to claim 1, wherein the plurality of disk devices (32-1 to 32-3).
Each of 2-n) receives writing of the same data belonging to one data unit, and uses a predetermined disk device for storing parity, a disk array device.
【請求項17】請求項1乃至14記載のディスクアレイ
装置に於いて、前記複数のディスク装置(32−1〜3
2−n)のそれぞれは、1つのデータ単位に属する同一
データの書込みを受けると共に、データ書込み毎にパリ
ティの格納に使用するディスク装置を異ならせることを
特徴とするディスクアレイ装置。
17. The disk array device according to claim 1, wherein the plurality of disk devices (32-1 to 32-3).
Each of 2-n) receives writing of the same data belonging to one data unit, and a different disk device is used for storing parity for each data writing.
【請求項18】請求項1乃至14記載のディスクアレイ
装置に於いて、前記書込手段(60)とパリティ更新手
段(70)とを並列的に動作させることを特徴とするデ
ィスクアレイ装置。
18. A disk array device according to claim 1, wherein said writing means (60) and parity updating means (70) are operated in parallel.
JP4269823A 1992-05-21 1992-10-08 Disk array device Expired - Fee Related JP2857288B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP4269823A JP2857288B2 (en) 1992-10-08 1992-10-08 Disk array device
DE4392143A DE4392143C1 (en) 1992-05-21 1993-05-20 Disk array appts.
PCT/JP1993/000663 WO1993023803A1 (en) 1992-05-21 1993-05-20 Disk array apparatus
DE4345320A DE4345320B4 (en) 1992-05-21 1993-05-20 Disk array device
US08/746,154 US5787460A (en) 1992-05-21 1996-11-06 Disk array apparatus that only calculates new parity after a predetermined number of write requests
US09/031,004 US5954822A (en) 1992-05-21 1998-02-26 Disk array apparatus that only calculates new parity after a predetermined number of write requests

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4269823A JP2857288B2 (en) 1992-10-08 1992-10-08 Disk array device

Publications (2)

Publication Number Publication Date
JPH06119126A true JPH06119126A (en) 1994-04-28
JP2857288B2 JP2857288B2 (en) 1999-02-17

Family

ID=17477674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4269823A Expired - Fee Related JP2857288B2 (en) 1992-05-21 1992-10-08 Disk array device

Country Status (1)

Country Link
JP (1) JP2857288B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034427A (en) * 1999-07-23 2001-02-09 Fujitsu Ltd Device controller and its method
US6408400B2 (en) 1997-11-04 2002-06-18 Fujitsu Limited Disk array device
US7370148B2 (en) 2005-03-14 2008-05-06 Fujitsu Limited Storage system, control method thereof, and program
JP2008539474A (en) * 2005-04-15 2008-11-13 インテル コーポレイション Power safe disk storage device, system and method
JP2009514047A (en) * 2003-06-28 2009-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and method for secure writing to multiplexed redundant storage
WO2012053085A1 (en) * 2010-10-21 2012-04-26 富士通株式会社 Storage control device and storage control method
JP2012519319A (en) * 2009-05-25 2012-08-23 株式会社日立製作所 Storage subsystem
JP2015515033A (en) * 2012-04-27 2015-05-21 株式会社日立製作所 Storage system
JP2015518186A (en) * 2012-04-27 2015-06-25 株式会社日立製作所 Storage system and storage control device

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408400B2 (en) 1997-11-04 2002-06-18 Fujitsu Limited Disk array device
US6606715B1 (en) 1999-07-23 2003-08-12 Fujitsu Limited Device control apparatus and control method
JP2001034427A (en) * 1999-07-23 2001-02-09 Fujitsu Ltd Device controller and its method
JP2009514047A (en) * 2003-06-28 2009-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and method for secure writing to multiplexed redundant storage
JP4848272B2 (en) * 2003-06-28 2011-12-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and method for secure writing to multiplexed redundant storage
US7370148B2 (en) 2005-03-14 2008-05-06 Fujitsu Limited Storage system, control method thereof, and program
JP2008539474A (en) * 2005-04-15 2008-11-13 インテル コーポレイション Power safe disk storage device, system and method
JP2012519319A (en) * 2009-05-25 2012-08-23 株式会社日立製作所 Storage subsystem
US8806300B2 (en) 2009-05-25 2014-08-12 Hitachi, Ltd. Storage subsystem
WO2012053085A1 (en) * 2010-10-21 2012-04-26 富士通株式会社 Storage control device and storage control method
JP5534024B2 (en) * 2010-10-21 2014-06-25 富士通株式会社 Storage control apparatus and storage control method
US9081697B2 (en) 2010-10-21 2015-07-14 Fujitsu Limited Storage control apparatus and storage control method
JP2015515033A (en) * 2012-04-27 2015-05-21 株式会社日立製作所 Storage system
JP2015518186A (en) * 2012-04-27 2015-06-25 株式会社日立製作所 Storage system and storage control device
US9262265B2 (en) 2012-04-27 2016-02-16 Hitachi, Ltd. Storage system and storage control apparatus

Also Published As

Publication number Publication date
JP2857288B2 (en) 1999-02-17

Similar Documents

Publication Publication Date Title
US5758054A (en) Non-volatile memory storage of write operation identifier in data storage device
AU710907B2 (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
US5233618A (en) Data correcting applicable to redundant arrays of independent disks
JP3129732B2 (en) Storage array with copy-back cache
JP3742494B2 (en) Mass storage device
US5488701A (en) In log sparing for log structured arrays
US8041891B2 (en) Method and system for performing RAID level migration
WO1993023803A1 (en) Disk array apparatus
US20040037120A1 (en) Storage system using fast storage devices for storing redundant data
JPH05143471A (en) Online reconstituting method for failed memory device in redundant array of memory device
JPH0619632A (en) Storage device of computer system and storing method of data
JPH06131121A (en) Method for online restoration of redundant information of redundancy array system
JPH08263227A (en) Holding method of consistency of parity data in disk array
JPH04205519A (en) Writing method of data under restoration
JP2000207136A (en) Multi-drive fault-tolerance raid algorithm
US7240237B2 (en) Method and system for high bandwidth fault tolerance in a storage subsystem
JP2857288B2 (en) Disk array device
JPH06230903A (en) Fault recovery method for disk array device and disk array device
JP3676793B2 (en) Disk array device
JP3699473B2 (en) Disk array device
JPH07306758A (en) Disk array device and its control method
JP3122252B2 (en) Disk array control method
JP2857289B2 (en) Disk array device
JPH09265435A (en) Storage device system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981110

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

Free format text: PAYMENT UNTIL: 20081127

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081127

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091127

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101127

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees