JP2006003971A - Redundant drive group, and writing method and read-out method using the same - Google Patents

Redundant drive group, and writing method and read-out method using the same Download PDF

Info

Publication number
JP2006003971A
JP2006003971A JP2004176988A JP2004176988A JP2006003971A JP 2006003971 A JP2006003971 A JP 2006003971A JP 2004176988 A JP2004176988 A JP 2004176988A JP 2004176988 A JP2004176988 A JP 2004176988A JP 2006003971 A JP2006003971 A JP 2006003971A
Authority
JP
Japan
Prior art keywords
data
parity
drive
drives
block
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
JP2004176988A
Other languages
Japanese (ja)
Other versions
JP4336859B2 (en
Inventor
Yu Sakamoto
祐 坂本
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2004176988A priority Critical patent/JP4336859B2/en
Publication of JP2006003971A publication Critical patent/JP2006003971A/en
Application granted granted Critical
Publication of JP4336859B2 publication Critical patent/JP4336859B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To restore data not only when a part of data drives become abnormal but also when all of data drives become abnormal. <P>SOLUTION: This redundant drive group is provided with three or more (odd number of) data drives and parity drives of the same number of the data drives. One parity drive among the odd number of the parity drives is prepared corresponding to all data drives. Each of the parity drives except the one parity drive among the odd number of parity drives is prepared corresponding to the data drives which adjoin mutually. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、データドライブにパリティドライブを付加して構成される冗長化ドライブ群並びにこれを用いた書込み方法及び読出し方法に関する。   The present invention relates to a redundant drive group configured by adding a parity drive to a data drive, and a writing method and a reading method using the redundant drive group.

従来のRAID(Redundant Array of Inexpensive Disks)は、RAID1を除いて、複数のドライブが故障した場合にデータは失われてしまう。また、RAID1は、ミラーリングされる関係にある両方のドライブが故障した場合には、データは失われてしまう。   In a conventional RAID (Redundant Array of Inexpensive Disks), data is lost when a plurality of drives fail except for RAID1. In RAID1, data is lost if both drives in a mirrored relationship fail.

このようなRAIDの問題点を解消するものとして、複数のデータドライブを環状に並べ、データドライブと同一数のパリティドライブを用意し、各パリティドライブが相互に隣接する2つのデータドライブに対応するようにした冗長ドライブ群が発明されている(特許文献1参照)。
特開2000−207136号公報
In order to solve such RAID problems, a plurality of data drives are arranged in a ring, and the same number of parity drives as the data drives are prepared so that each parity drive corresponds to two adjacent data drives. A redundant drive group has been invented (see Patent Document 1).
JP 2000-207136 A

しかし、特許文献1に記載されている発明では、全てのデータドライブが異常となった場合には、データを復元することができない(特許文献1第27段落参照)。   However, in the invention described in Patent Document 1, data cannot be restored if all data drives become abnormal (see Patent Document 1, paragraph 27).

そこで、本発明は、一部のデータドライブが異常となった場合のみならず、全てのデータドライブが異常となった場合であってもデータを復元することを可能とする冗長化ドライブ群並びにこれを用いた書込み方法及び読出し方法を提供することを目的とする。   Therefore, the present invention provides a redundant drive group that enables data restoration not only when some data drives become abnormal but also when all data drives become abnormal, and this It is an object to provide a writing method and a reading method using the.

本発明によれば、3以上の奇数個のデータドライブと、前記データドライブと同一数のパリティドライブと、を備え、前記奇数個のパリティドライブのうちの1個のパリティドライブは、全てのデータドライブに対応して設けられ、前記奇数個のパリティドライブのうちの前記1個のパリティドライブ以外のパリティドライブの各々は、相互に隣接するデータドライブに対応して設けられることを特徴とする冗長化ドライブ群が提供される。   According to the present invention, an odd number of three or more data drives and the same number of parity drives as the data drive are provided, and one of the odd number of parity drives includes all the data drives. Each of the parity drives other than the one parity drive among the odd number of parity drives is provided corresponding to a data drive adjacent to each other. A group is provided.

本発明によれば、上記の冗長化ドライブ群において、前記奇数個のパリティドライブのうちの前記全てのデータドライブに対応して設けられた1個のパリティドライブは、前記奇数個のデータドライブが全て正常である場合には、全てのデータドライブに格納されているデータを基に算出されたパリティを格納し、前記奇数個のデータドライブが全て正常である場合以外の場合には、全てのデータドライブが正常であったならばこれらのデータドライブに格納されたであろうデータを基に算出されたパリティを格納し、前記奇数個のパリティドライブのうちの前記1個のパリティドライブ以外のパリティドライブの各々は、対応する2つのデータドライブが共に正常である場合には、該対応する2つのデータドライブに格納されているデータを基に算出されたパリティを格納し、該対応する2つのデータドライブのうちの一方のデータドライブが正常でない場合には、該対応する2つのデータドライブのうちの正常なデータドライブに格納されているデータ及び正常でないデータドライブが正常であったならばこのデータドライブに格納されたであろうデータを基に算出されたパリティを格納することを特徴とする冗長化ドライブ群が提供される。   According to the present invention, in the redundant drive group, one parity drive provided corresponding to all the data drives among the odd number of parity drives is all the odd number of data drives. If it is normal, the parity calculated based on the data stored in all the data drives is stored. If all of the odd number of data drives are not normal, all the data drives are stored. If parity is normal, the parity calculated based on the data that would have been stored in these data drives is stored, and the parity drives other than the one parity drive among the odd number of parity drives are stored. Each of the data stored in the two corresponding data drives when the two corresponding data drives are normal. The calculated parity is stored, and when one of the two corresponding data drives is not normal, the parity is stored in the normal data drive of the two corresponding data drives A redundant drive group is provided that stores parity calculated based on data and data that would have been stored in the data drive if the data drive and the abnormal data drive were normal.

更に、本発明によれば、上記の冗長化ドライブ群を用いた書込み方法において、対象データドライブにこれまで書き込まれていたデータ、前記対象データドライブにこれから書き込むべきデータ並びに前記対象データドライブ及び該対象データドライブに隣接するデータドライブに対応するパリティドライブにこれまで書き込まれていたパリティを基に、前記対象データドライブ及び該対象ドライブに隣接するデータドライブに対応するパリティドライブにこれから書き込むべきパリティを算出して、該算出されたパリティを前記対象データドライブ及び該対象ドライブに隣接するデータドライブに対応するパリティドライブに書き込むことを特徴とする書込み方法が提供される。   Furthermore, according to the present invention, in the writing method using the redundant drive group, the data that has been written to the target data drive, the data to be written to the target data drive, the target data drive and the target Based on the parity previously written to the parity drive corresponding to the data drive adjacent to the data drive, the parity to be written to the parity drive corresponding to the target data drive and the data drive adjacent to the target drive is calculated. Thus, a writing method is provided, wherein the calculated parity is written to a parity drive corresponding to the target data drive and a data drive adjacent to the target drive.

更に、本発明によれば、上記冗長化ドライブ群を用いた書込み方法において、対象データドライブにこれまで書き込まれていたデータ、前記対象データドライブにこれから書き込むべきデータ並びに全てのデータドライブに対応するパリティドライブにこれまで書き込まれていたパリティを基に、前記全てのデータドライブに対応するパリティドライブにこれから書き込むべきパリティを算出して、該算出されたパリティを前記全てのデータドライブに対応するパリティドライブに書き込むことを特徴とする書込み方法が提供される。   Furthermore, according to the present invention, in the write method using the redundant drive group, the data that has been written to the target data drive so far, the data to be written to the target data drive, and the parity corresponding to all the data drives. Based on the parity that has been written to the drive so far, the parity to be written to the parity drive corresponding to all the data drives is calculated, and the calculated parity is converted to the parity drive corresponding to all the data drives. A writing method characterized by writing is provided.

更に、本発明によれば、上記冗長化ドライブ群を用いた書込み方法において、前記対象データドライブにこれまで書き込まれていたデータを、前記対象データドライブに隣接するデータドライブに格納されているデータ並びに前記対象データドライブ及び前記隣接するデータドライブに対応するパリティドライブに格納されているパリティを基に復元することを特徴とする書込み方法が提供される。   Furthermore, according to the present invention, in the writing method using the redundant drive group, the data that has been written to the target data drive up to now is stored in the data drive adjacent to the target data drive, and There is provided a writing method characterized by performing restoration based on parity stored in a parity drive corresponding to the target data drive and the adjacent data drive.

更に、本発明によれば、上記の冗長化ドライブ群を用いた書込み方法において、前記対象データドライブにこれまで書き込まれていたデータを、前記対象データドライブ以外の全てのデータドライブに格納されているデータ及び全てのドライブに対応するパリティドライブに格納されているパリティを基に復元することを特徴とする書込み方法が提供される。   Further, according to the present invention, in the writing method using the redundant drive group, the data written so far in the target data drive is stored in all the data drives other than the target data drive. There is provided a writing method characterized in that data is restored based on parity stored in a parity drive corresponding to all drives.

更に、本発明によれば、上記の冗長化ドライブ群を用いた書込み方法において、前記対象データドライブにこれまで書き込まれていたデータを、全てのドライブに対応するパリティドライブに格納されているパリティ及び何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブに格納されているパリティを基に、対象ドライブのデータを復元することを特徴とする書込み方法が提供される。   Furthermore, according to the present invention, in the writing method using the redundant drive group described above, the parity data stored in the parity drives corresponding to all the drives, Provided is a writing method characterized by restoring data of a target drive based on parity stored in some parity drives among parity drives corresponding to any mutually adjacent data drives .

更に、本発明によれば、上記の書込み方法において、何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブとは、i番目のデータブロックと(i+1)番目のデータブロックに対するパリティブロックをパリティブロックi・(i+1)と表すと、前記対象データドライブが偶数番目2m(mは自然数)のデータドライブである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2m・(2m+1)乃至パリティブロック(N−1)・Nであり、前記対象データドライブが奇数番目(2m+1)(mは自然数)のデータブロックである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2(m+1)・(2(m+1)+1)乃至パリティブロック(N−1)・Nであることを特徴とする書込み方法が提供される。   Further, according to the present invention, in the above writing method, the parity drive corresponding to any one of the mutually adjacent data drives is the i-th data block and the (i + 1) -th parity drive. When the parity block for the data block is represented as a parity block i · (i + 1), when the target data drive is an even-numbered 2m data drive (m is a natural number), the parity block 1 to 2 to the parity block (2m− 1) · 2m and parity block 2m · (2m + 1) to parity block (N−1) · N, and the target data drive is an odd-numbered (2m + 1) (m is a natural number) data block, parity Blocks 1 and 2 to parity block (2m−1) · 2m and parity block 2 (m + ) · (2 (m + 1) +1) to writing method which is a parity block (N-1) · N is provided.

更に、本発明によれば、上記の冗長化ドライブ群を用いた読出し方法において、対象データドライブに隣接するデータドライブに格納されているデータ並びに前記対象データドライブ及び前記隣接するデータドライブに対応するパリティドライブに格納されているパリティを基に、前記対象ドライブのデータを復元することを特徴とする読出し方法が提供される。   Furthermore, according to the present invention, in the read method using the redundant drive group, the data stored in the data drive adjacent to the target data drive and the parity corresponding to the target data drive and the adjacent data drive are stored. There is provided a read method characterized in that the data of the target drive is restored based on the parity stored in the drive.

更に、本発明によれば、上記の冗長化ドライブ群を用いた読出し方法において、対象データドライブ以外の全てのデータドライブに格納されているデータ及び全てのドライブに対応するパリティドライブに格納されているパリティを基に、前記対象ドライブのデータを復元することを特徴とする読出し方法が提供される。   Furthermore, according to the present invention, in the reading method using the redundant drive group described above, the data stored in all data drives other than the target data drive and the parity drive corresponding to all the drives are stored. There is provided a read method characterized by restoring the data of the target drive based on parity.

更に、本発明によれば、上記の冗長化ドライブ群を用いた読出し方法において、全てのドライブに対応するパリティドライブに格納されているパリティ及び何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブに格納されているパリティを基に、対象ドライブのデータを復元することを特徴とする読出し方法が提供される。   Furthermore, according to the present invention, in the read method using the redundant drive group, the parity stored in the parity drive corresponding to all the drives and the parity drive corresponding to any one of the adjacent data drives There is provided a read method characterized in that the data of the target drive is restored based on the parity stored in some of the parity drives.

更に、本発明によれば、上記の読出し方法において、何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブとは、i番目のデータブロックと(i+1)番目のデータブロックに対するパリティブロックをパリティブロックi・(i+1)と表すと、前記対象データドライブが偶数番目2m(mは自然数)のデータドライブである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2m・(2m+1)乃至パリティブロック(N−1)・Nであり、前記対象データドライブが奇数番目(2m+1)(mは自然数)のデータブロックである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2(m+1)・(2(m+1)+1)乃至パリティブロック(N−1)・Nであることを特徴とする読出し方法が提供される。   Further, according to the present invention, in the above read method, a part of parity drives corresponding to any one of adjacent data drives is the i-th data block and the (i + 1) -th data drive. When the parity block for the data block is represented as a parity block i · (i + 1), when the target data drive is an even-numbered 2m data drive (m is a natural number), the parity block 1 to 2 to the parity block (2m− 1) · 2m and parity block 2m · (2m + 1) to parity block (N−1) · N, and the target data drive is an odd-numbered (2m + 1) (m is a natural number) data block, parity Blocks 1 and 2 to parity block (2m−1) · 2m and parity block 2 (m + ) · (2 (m + 1) +1) to reading method which is a parity block (N-1) · N is provided.

本発明によれば、一部のデータドライブが異常となった場合のみならず、全てのデータドライブが異常となった場合であってもデータを復元することが可能となる。   According to the present invention, it is possible to restore data not only when some data drives become abnormal, but also when all data drives become abnormal.

以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。   The best mode for carrying out the present invention will be described below in detail with reference to the drawings.

本発明は、記憶装置を持つコンピュータシステムにおいて、データドライブに加え、関連する全てのデータブロックのパリティブロックを持つパリティドライブと各対(ペア)のデータブロックに関連するパリティブロックを持つパリティドライブにて冗長化構成することを特徴とする。同時に任意の2台のドライブ故障が発生した場合にデータ復旧可能であり、かつ、データドライブが全て故障した場合でも全てのデータドライブのデータの復旧が可能となる。   The present invention provides a computer system having a storage device, in addition to a data drive, a parity drive having parity blocks of all related data blocks and a parity drive having parity blocks related to each pair (pair) of data blocks. It is characterized by a redundant configuration. At the same time, it is possible to recover data when any two drive failures occur, and it is possible to recover data from all data drives even when all data drives have failed.

[1 パリティ情報]
[1.1 データとパリティの関連性について]
図1はN個のデータドライブを使用する場合のデータブロックとパリティブロックの関連図である。ただし、データドライブの総数Nは3以上の奇数である。パリティドライブ内の各パリティブロックは実線で関連付けられたデータブロックに関連するパリティ情報を保持する。
[1 Parity information]
[1.1 Relationship between data and parity]
FIG. 1 is a relational diagram of data blocks and parity blocks when N data drives are used. However, the total number N of data drives is an odd number of 3 or more. Each parity block in the parity drive holds parity information related to the data block associated with the solid line.

各パリティドライブ内のパリティブロックには以下の関係式を満たすパリティ情報を保持する。データブロックが更新される時には関連性を保つためデータブロックの内容とともに関連するパリティブロックの更新も同時に行う必要がある。   Parity information satisfying the following relational expression is held in the parity block in each parity drive. When a data block is updated, it is necessary to update the associated parity block as well as the contents of the data block in order to maintain the relevance.

パリティブロックn−1・n
=データブロックn−1 XOR データブロックn
<式1>
(ただし、n=2、3、…、N)
パリティブロック1〜N
=データブロック1 XOR
データブロック2 XOR

データブロックN−1 XOR
データブロックN
<式2>
但し、パリティブロックn−1・nは、データブロックn−1とデータブロックnに関連したパリティブロックであることを示し、パリティブロック1〜Nは、データブロック1乃至データブロックNの全てに関連したパリティブロックであることを示し、XORは排他的論理和(exclusive or)を示す。排他的論理の計算は、図2に示すような論理ゲートを用いて行われる。図2(a)は、2入力の場合の論理ゲートを示し、図2(b)は、3入力の場合の論理ゲートを示し、図2(c)及び図2(d)は、N入力の場合の論理ゲートを示す。また、CPUを用いる場合には、CPUの内部又は外部に設けられているALUにより図2に示すような論理ゲートを実現する。また、3入力以上の場合には、レジスタも併用し、図2(a)の出力yを一旦レジスタに格納し、その後、入力x1として論理ゲートに与え、該論理ゲートの他端に入力されるデータと排他的論理和を取るようにしてもよい。
Parity block n-1 ・ n
= Data block n-1 XOR Data block n
<Formula 1>
(Where n = 2, 3,..., N)
Parity blocks 1 to N
= Data block 1 XOR
Data block 2 XOR
...
Data block N-1 XOR
Data block N
<Formula 2>
However, the parity block n-1 · n indicates that the parity block is related to the data block n-1 and the data block n, and the parity blocks 1 to N are related to all of the data blocks 1 to N. XOR indicates a parity block, and XOR indicates exclusive OR. The calculation of exclusive logic is performed using a logic gate as shown in FIG. 2 (a) shows a logic gate in the case of two inputs, FIG. 2 (b) shows a logic gate in the case of three inputs, and FIGS. 2 (c) and 2 (d) show N input inputs. Shows the logic gates of the case. When a CPU is used, a logic gate as shown in FIG. 2 is realized by an ALU provided inside or outside the CPU. In the case of 3 inputs or more, a register is also used, and the output y of FIG. 2A is temporarily stored in the register, and then given to the logic gate as input x1, and input to the other end of the logic gate. You may make it take an exclusive OR with data.

[1.2 リード/ライトの動作概要]
リード/ライトの動作概要を図3及び4のフローチャートに示す。これらのフローチャートを参照して説明されている各ステップは、ハードウェアによって実現することもできるが、CPUを内蔵するコンピュータがプログラムを読み込んで実行することによっても実現することができる。
[1.2 Read / write operation overview]
An outline of the read / write operation is shown in the flowcharts of FIGS. Each step described with reference to these flowcharts can be realized by hardware, but can also be realized by a computer incorporating a CPU reading and executing a program.

ハードウェアによって実現する場合には、例えば、図5に示すようなリード/ライト装置によりリード/ライトを行う。   When realized by hardware, for example, read / write is performed by a read / write device as shown in FIG.

図5を参照すると、リード/ライト装置は、データ読出部251、パリティ読出部252、リード/ライト判断部253、データドライブ利用可能判断部254、データ再生部255、パリティ生成部256、データ書込部257及びパリティ書込部258を備える。   Referring to FIG. 5, the read / write device includes a data reading unit 251, a parity reading unit 252, a read / write determining unit 253, a data drive availability determining unit 254, a data reproducing unit 255, a parity generating unit 256, a data writing unit. Unit 257 and a parity writing unit 258.

リード又はライトの判断は、リード/ライト判断部253が、ライト命令又はリード命令を判別することにより行う。リード命令及びライト命令には、アクセス先のデータドライブを識別するための識別情報、アクセス先のアドレスを識別するためのアドレスが含まれ、ライト命令には書き込むべきデータが含まれる。   The read / write determination is performed by the read / write determination unit 253 determining a write command or a read command. The read command and the write command include identification information for identifying the access destination data drive and an address for identifying the access destination address, and the write command includes data to be written.

[2 リード処理]
[2.1 対象データブロックのデータドライブが利用可能である場合(202→208でYES)]
この場合には、データ読出部251により、対象のデータドライブから読み出す(209)。
[2 Read processing]
[2.1 When Data Drive of Target Data Block is Available (YES at 202 → 208)]
In this case, the data reading unit 251 reads from the target data drive (209).

[2.2 対象データブロックのあるドライブが利用可能でない場合(202→208でNO)〜その1〜]
対象データブロックに関連するパリティブロックの情報(パリティ読出部252により読み出されたもの)と、該パリティブロックが他方において関連付けられているデータブロックの情報(データ読出部251により読み出されたもの)を用いて、データ再生部255により、対象データブロック内の情報を復元する(215)。データブロックの復元は対象データブロックとアクセス可能なドライブにより以下のうちいずれか計算可能な式を用いる。
[2.2 When the drive with the target data block is not available (NO in 202 → 208)-No. 1]
Parity block information related to the target data block (read out by the parity reading unit 252) and data block information related to the parity block on the other side (read out by the data reading unit 251) Is used to restore the information in the target data block by the data reproduction unit 255 (215). The restoration of the data block uses one of the following formulas that can be calculated by the target data block and the accessible drive.

データブロック1
=データブロック2 XOR パリティブロック1
<式3−1−1>
データブロック1
=データブロック2 XOR
データブロック3 XOR

XOR
データブロックN XOR
パリティブロック1〜N
<式3−1−2>
<式3−1−1>によれば、隣接するデータブロック並びに対象データブロック1及び隣接するデータブロックに関連するパリティブロックを基に対象ブロック1のデータを復元することが可能となる。
Data block 1
= Data block 2 XOR Parity block 1
<Formula 3-1-1>
Data block 1
= Data block 2 XOR
Data block 3 XOR
...
XOR
Data block N XOR
Parity blocks 1 to N
<Formula 3-1-2>
According to <Equation 3-1-1>, it is possible to restore the data of the target block 1 based on the adjacent data block and the target data block 1 and the parity block related to the adjacent data block.

<式3−1−2>によれば、対象データブロック1以外の全てのデータブロック及びパリティブロック1〜Nを基に対象データブロック1のデータを復元することが可能となる。   According to <Equation 3-1-2>, the data of the target data block 1 can be restored based on all the data blocks other than the target data block 1 and the parity blocks 1 to N.

データブロックN
=データブロックN−1 XOR
パリティブロックN−1・N
<式3−2−1>
データブロックN
=データブロック1 XOR
データブロック2 XOR

XOR
データブロックN−1 XOR
パリティブロック1〜N
<式3−2−2>
<式3−2−1>によれば、隣接するデータブロック並びに対象データブロックN及び隣接するデータブロックに関連するパリティブロックを基に対象ブロックNのデータを復元することが可能となる。
Data block N
= Data block N-1 XOR
Parity block N-1 ・ N
<Formula 3-2-1>
Data block N
= Data block 1 XOR
Data block 2 XOR
...
XOR
Data block N-1 XOR
Parity blocks 1 to N
<Formula 3-2-2>
According to <Formula 3-2-1>, it is possible to restore the data of the target block N based on the adjacent data block, the target data block N, and the parity block related to the adjacent data block.

<式3−2−2>によれば、対象データブロックN以外の全てのデータブロック及びパリティブロック1〜Nを基に対象データブロックNのデータを復元することが可能となる。   According to <Formula 3-2-2>, the data of the target data block N can be restored based on all the data blocks other than the target data block N and the parity blocks 1 to N.

データブロックn
=データブロックn+1 XOR
パリティブロックn・n+1
(n=2、3、…、N−1)
<式3−3−1>
データブロックn
=データブロックn−1 XOR
パリティブロックn−1・n
(n=2、3、…、N−1)
<式3−3−2>
データブロックn
=データブロック1 XOR

XOR
データブロックn−1 XOR
データブロックn+1 XOR

XOR
データブロックN XOR
パリティブロック1〜N
(n=2、3、…、N−1)
<式3−3−3>
<式3−3−1>及び<式3−3−2>によれば、隣接するデータブロック並びに対象データブロックN及び隣接するデータブロックに関連するパリティブロックを基に対象ブロックNのデータを復元することが可能となる。
Data block n
= Data block n + 1 XOR
Parity block n · n + 1
(N = 2, 3, ..., N-1)
<Formula 3-3-1>
Data block n
= Data block n-1 XOR
Parity block n-1 ・ n
(N = 2, 3, ..., N-1)
<Formula 3-3-2>
Data block n
= Data block 1 XOR
...
XOR
Data block n-1 XOR
Data block n + 1 XOR
...
XOR
Data block N XOR
Parity blocks 1 to N
(N = 2, 3, ..., N-1)
<Formula 3-3-3>
According to <Equation 3-3-1> and <Equation 3-3-2>, the data of the target block N is restored based on the adjacent data block, the target data block N, and the parity block related to the adjacent data block. It becomes possible to do.

<式3−3−3>によれば、対象データブロックN以外の全てのデータブロック及びパリティブロック1〜Nを基に対象データブロックNのデータを復元することが可能となる。   According to <Expression 3-3-3>, the data of the target data block N can be restored based on all the data blocks other than the target data block N and the parity blocks 1 to N.

[2.3 データドライブが全数故障した場合(202→208でNO)〜その2]
パリティドライブが全て利用可能であれば下記の式により全データドライブの情報が復元可能である(215)。
[2.3 When all data drives have failed (NO at 202 → 208) to 2]
If all the parity drives are available, the information of all data drives can be restored by the following formula (215).

[2.3.1 偶数番号(2m)のデータブロックのリード]
データブロックa
=パリティブロック1〜N XOR
パリティブロック1・2 XOR

パリティブロック(2m−1)・2m XOR
パリティブロック2m・(2m+1) XOR

パリティブロック(N−1)・N
<式4−1>
[2.3.2 奇数番号(2m+1)のデータブロックのリード]
データブロックb
=パリティブロック1〜N XOR
パリティブロック1・2 XOR

パリティブロック(2m−1)・2m XOR
パリティブロック2(m+1)・(2(m+1)+1) XOR

パリティブロック(N−1)・N
<式4−2>
[3 ライト処理]
[3.1 対象データブロックnのデータドライブが利用可能な場合(202→203でYES)]
それに関連するパリティブロックの更新を下記の式に基づいてデータブロックnに関連するパリティ情報を消去した後に新しいデータブロックnを含めた再計算を行う(204)。
[2.3.1 Reading data block of even number (2m)]
Data block a
= Parity block 1 to N XOR
Parity block 1 and 2 XOR
...
Parity block (2m-1) · 2m XOR
Parity block 2m · (2m + 1) XOR
...
Parity block (N-1) ・ N
<Formula 4-1>
[2.3.2 Reading data block of odd number (2m + 1)]
Data block b
= Parity block 1 to N XOR
Parity block 1 and 2 XOR
...
Parity block (2m-1) · 2m XOR
Parity block 2 (m + 1) · (2 (m + 1) +1) XOR
...
Parity block (N-1) ・ N
<Formula 4-2>
[3 Write processing]
[3.1 When Data Drive of Target Data Block n is Available (YES at 202 → 203)]
The parity block associated with the data block n is recalculated based on the following equation after the parity information associated with the data block n is erased (204).

データ書込部257とパリティ書込部258により、<式5><式6>によって生成された新しいパリティ情報とライトデータをパリティブロックとデータブロックにライトする(205、206)。   The data writing unit 257 and the parity writing unit 258 write the new parity information and write data generated by <Expression 5> <Expression 6> to the parity block and the data block (205, 206).

新しいパリティブロック1〜N
=現在パリティブロック1〜N XOR
現在データブロックn XOR
新しいデータブロックn
(n=1、2、3、…、N)
<式5>
新しいパリティブロックn−1・n
=現在パリティブロックn−1・n XOR
現在データブロックn XOR
新しいデータブロックn
(n=2、3、…、N)
<式6>
新しいパリティブロックn・n+1
=現在パリティブロックn・n+1 XOR
現在データブロックn XOR
新しいデータブロックn
(n=1、2、3、…、N−1)
<式7>
現在のパリティは、パリティ読出部252により行う。現在のデータブロックの読出しは、データ読出部251により行う。<式5>乃至<式7>の計算は、パリティ生成部256により行う。
New parity blocks 1 to N
= Current parity block 1 to N XOR
Current data block n XOR
New data block n
(N = 1, 2, 3,..., N)
<Formula 5>
New parity block n-1 ・ n
= Current parity block n-1 · n XOR
Current data block n XOR
New data block n
(N = 2, 3, ..., N)
<Formula 6>
New parity block n · n + 1
= Current parity block n · n + 1 XOR
Current data block n XOR
New data block n
(N = 1, 2, 3, ..., N-1)
<Formula 7>
The current parity is performed by the parity reading unit 252. Reading of the current data block is performed by the data reading unit 251. Calculations of <Expression 5> to <Expression 7> are performed by the parity generation unit 256.

[3.2 対象データブロックのドライブが利用可能でない場合(202→203でNO)
まず、データ再生部255により、その対象データブロックの古い情報を再生する(211)。この再生のためには、ステップ215の方法を利用する。具体的には、上記[2.2]又は[2.3]で説明した方法を利用する。
[3.2 When the drive of the target data block is not available (NO in 202 → 203)
First, the data reproducing unit 255 reproduces old information of the target data block (211). For this reproduction, the method of step 215 is used. Specifically, the method described in [2.2] or [2.3] is used.

次に、パリティ生成部256により、再生した情報と、関連するパリティブロックの現在の情報と、新たにライトする情報から、関連するパリティブロックの新しい情報を計算し、パリティ書込部258により、書き込む(213)。具体的には、上記[3.1]で説明した方法を利用して関連する3種類のパリティを計算し、これらをそれぞれに対応するパリティドライブに書き込む。   Next, the parity generation unit 256 calculates new information of the related parity block from the reproduced information, the current information of the related parity block, and the information to be newly written, and writes it by the parity writing unit 258. (213). Specifically, three types of related parities are calculated using the method described in [3.1] above, and these are written in the corresponding parity drives.

本発明の実施例はN=5の場合、図6に示すようになる。   The embodiment of the present invention is as shown in FIG. 6 when N = 5.

ここでは2つのドライブが故障した場合とデータドライブがすべて故障した場合の障害時のリードの実施例を示す。   Here, an example of reading at the time of failure when two drives have failed and when all of the data drives have failed is shown.

[1. 2つのドライブが故障]
[1.1 故障が2つともパリティドライブであった場合]
データドライブはすべて利用可能であるためデータをリードすることができる。
[1. Two drives fail]
[1.1 When both failures are parity drives]
Since all data drives are available, data can be read.

[1.2 2つの故障がともにデータドライブであった場合]
[1.2.1 データドライブ1(301)とデータドライブ5(305)が故障した場合]
データドライブ1(301)内のデータブロック1(311)はパリティブロック1・2(316)とデータブロック2(312)より<式3−1−1>より再生可能である。
[1.2 When both failures are data drives]
[1.2.1 When data drive 1 (301) and data drive 5 (305) fail]
The data block 1 (311) in the data drive 1 (301) can be reproduced from <Equation 3-1-1> from the parity blocks 1 and 2 (316) and the data block 2 (312).

データドライブ5(305)内のデータブロック5(315)はパリティブロック4・5(319)とデータブロック4(314)より<式3−2−1>より再生可能である。   The data block 5 (315) in the data drive 5 (305) can be reproduced from <Equation 3-2-1> from the parity blocks 4 and 5 (319) and the data block 4 (314).

[1.2.2 データドライブ1(301)とデータドライブ2(302)が故障した場合]
データドライブ2(302)内のデータブロック2(312)はデータブロック3(313)とパリティブロック2・3(317)より<式3−3−1>より再生可能である。
[1.2.2 When data drive 1 (301) and data drive 2 (302) fail]
The data block 2 (312) in the data drive 2 (302) can be reproduced from the data block 3 (313) and the parity blocks 2 and 3 (317) according to <Equation 3-3-1>.

データドライブ1(301)内のデータブロック1(311)は上記により再生されたデータブロック2(312)とパリティブロック1・2(316)から<式3−3−2>より再生可能である。   The data block 1 (311) in the data drive 1 (301) can be reproduced from <Expression 3-3-2> from the data block 2 (312) and the parity blocks 1 and 2 (316) reproduced as described above.

また、データドライブ1(301)内のデータブロック1(311)は、パリティ1〜5、パリティ1・2、パリティ3・4からも再生可能である。   The data block 1 (311) in the data drive 1 (301) can also be reproduced from the parities 1 to 5, the parities 1 and 2, and the parities 3 and 4.

[1.2.3 (データドライブ2(302)とデータドライブ3(303)が故障した場合]
データブロック2(312)はパリティブロック1・2(316)とデータブロック1(311)から<式3−3−2、n=2>により再生可能である。
[1.2.3 (When data drive 2 (302) and data drive 3 (303) fail)
The data block 2 (312) can be reproduced from the parity blocks 1 and 2 (316) and the data block 1 (311) according to <Expression 3-3-2, n = 2>.

データブロック3(313)はパリティブロック3・4(318)とデータブロック4(314)から<式3−3−1、n=3>により再生可能である。   The data block 3 (313) can be reproduced from the parity blocks 3 and 4 (318) and the data block 4 (314) according to <Equation 3-3-1, n = 3>.

[1.3 2つの故障がパリティドライブとデータドライブに分散してあった場合]
[1.3.1 データドライブ1(301)とパリティドライブ1〜5(300)のドライブが故障した場合]
データブロック1(311)の復旧はパリティブロック1・2(316)とデータブロック2(312)から<式3−1−1>により再生可能である。
[1.3 When two failures are distributed to the parity drive and data drive]
[1.3.1 When data drive 1 (301) and parity drives 1 to 5 (300) fail]
The restoration of the data block 1 (311) can be reproduced from the parity blocks 1 and 2 (316) and the data block 2 (312) according to <Equation 3-1-1>.

[1.3.2 データドライブ1(301)とパリティドライブ1・2(316)が故障した場合]
データブロック1(311)の復旧はデータブロック2(312)乃至データブロック5(315)とパリティブロック1〜5(310)より<式3−1−2>により再生可能である。
[1.3.2 When data drive 1 (301) and parity drives 1 and 2 (316) fail]
The data block 1 (311) can be recovered from the data blocks 2 (312) to 5 (315) and the parity blocks 1 to 5 (310) according to <Equation 3-1-2>.

[1.3.3 データドライブ2(302)とパリティドライブ1〜5(300)のドライブが故障した場合]
データブロック2(312)の復旧はパリティブロック1・2(316)とデータブロック1(311)から<式3−3−2,n=2>より再生可能である。
[1.3.3 When Data Drive 2 (302) and Parity Drives 1-5 (300) Drive Fail]
The data block 2 (312) can be restored from the parity blocks 1 and 2 (316) and the data block 1 (311) according to <Expression 3-3-2, n = 2>.

[1.3.4 データドライブ2(302)とパリティドライブ1・2(306)が故障した場合]
データブロック2(312)の復旧はパリティブロック2・3(317)とデータブロック3(313)<式3−3−1,n=2>から再生可能である
[2.データドライブすべてが故障したとき]
以下のようにしてデータブロックが再生可能である。
[1.3.4 When data drive 2 (302) and parity drives 1 and 2 (306) fail]
Data block 2 (312) can be restored from parity blocks 2 and 3 (317) and data block 3 (313) <Equation 3-3-1, n = 2> [2. When all data drives fail]
Data blocks can be reproduced as follows.

データブロック1(311)はパリティブロック2・3(317)とパリティブロック4・5(319)とパリティブロック1〜5(310)から<式4−1>より再生可能である。   Data block 1 (311) is reproducible from <Equation 4-1> from parity blocks 2 and 3 (317), parity blocks 4 and 5 (319), and parity blocks 1 to 5 (310).

データブロック2(312)はパリティブロック1・2(316)とパリティブロック2・3(317)とパリティブロック4・5(319)とパリティブロック1〜5(310)から<式4−2>より再生可能である。   Data block 2 (312) includes parity blocks 1 and 2 (316), parity blocks 2 and 3 (317), parity blocks 4 and 5 (319), and parity blocks 1 to 5 (310) according to <Formula 4-2>. It is reproducible.

データブロック3(313)はパリティブロック1・2(316)とパリティブロック4・5(319)とパリティブロック1〜5(310)から<式4−1>より再生可能である。   Data block 3 (313) is reproducible from <Equation 4-1> from parity blocks 1 and 2 (316), parity blocks 4 and 5 (319), and parity blocks 1 to 5 (310).

データブロック4(314)はパリティブロック1・2(316)とパリティブロック3・4(318)とパリティブロック4・5(319)とパリティブロック1〜5(310)<式4−2>より再生可能である。   Data block 4 (314) is reproduced from parity blocks 1 and 2 (316), parity blocks 3 and 4 (318), parity blocks 4 and 5 (319), and parity blocks 1 to 5 (310) <Equation 4-2>. Is possible.

データブロック5(315)はパリティブロック1・2(316)とパリティブロック3・4(318)とパリティブロック1〜5(310)<式4−1>より再生可能である。
これらの関係の一覧表を図7に示す。また、Nが3の場合の同様な関係の一覧表を図8に示し、Nが7の場合の同様な関係の一覧表を図9に示し、Nが9の場合の同様な関係の一覧表を図10に示す。Nが1の場合には、パリティブロック1を用いて、データブロック1を再生することが可能であることは明らかである。
The data block 5 (315) can be reproduced from the parity blocks 1 and 2 (316), the parity blocks 3 and 4 (318), and the parity blocks 1 to 5 (310) <Equation 4-1>.
A list of these relationships is shown in FIG. FIG. 8 shows a similar relationship list when N is 3, FIG. 9 shows a similar relationship list when N is 7. FIG. 9 shows a similar relationship list when N is 9. Is shown in FIG. When N is 1, it is obvious that the data block 1 can be reproduced using the parity block 1.

図11は、N=1の場合、N=3の場合、N=5の場合、N=7の場合及びN=9の場合の一覧表を1つにまとめたものである。N=1の場合には、符号301で示す逆L字型の枠で囲まれる領域内の○で示されるパリティブロックが利用され、N=3の場合には、符号303で示す逆L字型の枠で囲まれる領域内の○で示されるパリティブロックが利用され、N=5の場合には、符号305で示す逆L字型の枠で囲まれる領域内の○で示されるパリティブロックが利用され、N=7の場合には、符号307で示す逆L字型の枠で囲まれる領域内の○で示されるパリティブロックが利用され、N=9の場合には、符号309で示す逆L字型の枠で囲まれる領域内の○で示されるパリティブロックが利用される。   FIG. 11 summarizes the list for N = 1, N = 3, N = 5, N = 7, and N = 9. When N = 1, a parity block indicated by a circle in an area surrounded by an inverted L-shaped frame indicated by reference numeral 301 is used, and when N = 3, an inverted L-character shape indicated by reference numeral 303 is used. The parity block indicated by ◯ in the area surrounded by the frame is used, and when N = 5, the parity block indicated by ◯ in the area surrounded by the inverted L-shaped frame indicated by reference numeral 305 is used. When N = 7, the parity block indicated by ◯ in the region surrounded by the inverted L-shaped frame indicated by reference numeral 307 is used. When N = 9, the inverse L indicated by reference numeral 309 is used. A parity block indicated by a circle in an area surrounded by a character frame is used.

図11から明らかなように、Nの値を2m+1(m=0、1、2、・・・)から2(m+1)+1に増加させるためには、Nの値が2m+1である場合に利用するパリティブロックをそのまま利用し、拡張領域については、所定の規則(mの値に依存しない一定の規則)に従って、どのパリティブロックを利用するかを決定する。   As is clear from FIG. 11, in order to increase the value of N from 2m + 1 (m = 0, 1, 2,...) To 2 (m + 1) +1, it is used when the value of N is 2m + 1. The parity block is used as it is, and for the extended area, which parity block is used is determined according to a predetermined rule (a constant rule that does not depend on the value of m).

すなわち、データブロックの数が2m+1から増加して2(m+1)+1となった場合、1乃至2(m+1)+1のデータブロックのうちの1乃至2m+1のデータブロックを再生するためには、Nの値が2m+1であった場合の利用パリティを全て利用し(但し、全データブロックに対するパリティは、データブロック1乃至2m+1に対するパリティブロックからデータブロック1乃至2(m+1)+1に対するパリティブロックに変更されている。)、更に、データブロック2(m+1)及びデータブロック2(m+1)+1に対するパリティブロックも追加して利用する。   That is, when the number of data blocks increases from 2m + 1 to 2 (m + 1) +1, in order to reproduce 1 to 2m + 1 data blocks of 1 to 2 (m + 1) +1 data blocks, N All the used parity when the value is 2m + 1 is used (however, the parity for all the data blocks is changed from the parity block for the data blocks 1 to 2m + 1 to the parity block for the data blocks 1 to 2 (m + 1) +1). In addition, a parity block for data block 2 (m + 1) and data block 2 (m + 1) +1 is additionally used.

データブロック2(m+1)を再生するためには、データブロック2m+1を再生するために利用するパリティブロックを全て利用し、更に、データブロック2m+1及びデータブロック2(m+1)に対するパリティブロック及びデータブロック2(m+1)及びデータブロック2(m+1)+1に対するパリティブロックを利用する。   In order to reproduce the data block 2 (m + 1), all the parity blocks used for reproducing the data block 2m + 1 are used, and the parity block and the data block 2 (for the data block 2m + 1 and the data block 2 (m + 1)) are also used. Use parity blocks for m + 1) and data block 2 (m + 1) +1.

データブロック2(m+1)+1を再生するためには、データブロック2m+1を再生するために利用するパリティブロックを全て利用し、更に、データブロック2m+1及びデータブロック2(m+1)に対するパリティブロック及びデータブロック2(m+1)を利用する。   In order to reproduce the data block 2 (m + 1) +1, all the parity blocks used for reproducing the data block 2m + 1 are used. Furthermore, the parity block and the data block 2 for the data block 2m + 1 and the data block 2 (m + 1) are used. Use (m + 1).

図7乃至11より<式4−1>及び<式4−2>は明らかである。   <Formula 4-1> and <Formula 4-2> are clear from FIGS.

なお、Nの値が偶数である場合には、パリティブロック1〜Nの値が、例えば、全データブロックの値が0である場合であっても、全データブロックの値が1である場合であっても、0となってしまい区別が付かないことより、Nの値が偶数である場合には、本発明を利用することができない。   When the value of N is an even number, the values of the parity blocks 1 to N are, for example, when the values of all the data blocks are 1, even when the values of all the data blocks are 0. Even if it exists, since it becomes 0 and cannot be distinguished, the present invention cannot be used when the value of N is an even number.

本発明は、エラー耐性があり、信頼性のあるデータの書込み及び読出しに利用することができる。   The present invention is error-resistant and can be used for reliable data writing and reading.

本発明の実施形態による冗長化ドライブ群の構成を示す概念図である。It is a conceptual diagram which shows the structure of the redundant drive group by embodiment of this invention. 本発明の実施形態によるパリティ生成部の構成を示す回路図である。It is a circuit diagram which shows the structure of the parity generation part by embodiment of this invention. 本発明の実施形態による冗長化ドライブ群を用いた書込み方法及び読出し方法を示す第1のフローチャートである。It is a 1st flowchart which shows the write method and read method using the redundant drive group by embodiment of this invention. 本発明の実施形態による冗長化ドライブ群を用いた書込み方法及び読出し方法を示す第2のフローチャートである。It is a 2nd flowchart which shows the write method and read method using the redundant drive group by embodiment of this invention. 本発明の実施形態による書込み/読出し装置の構成を示すブロック図である。It is a block diagram which shows the structure of the writing / reading apparatus by embodiment of this invention. 本発明の実施例1による冗長化ドライブ群の構成を示す概念図である。It is a conceptual diagram which shows the structure of the redundant drive group by Example 1 of this invention. データドライブの数が5である場合において、全てのデータブロックが異常となった場合に、データを再生するために利用するパリティを示す表である。10 is a table showing parity used for reproducing data when all data blocks become abnormal when the number of data drives is five. データドライブの数が3である場合において、全てのデータブロックが異常となった場合に、データを再生するために利用するパリティを示す表である。10 is a table showing parity used for reproducing data when all data blocks become abnormal when the number of data drives is three. データドライブの数が7である場合において、全てのデータブロックが異常となった場合に、データを再生するために利用するパリティを示す表である。10 is a table showing parity used for reproducing data when all data blocks become abnormal when the number of data drives is seven. データドライブの数が9である場合において、全てのデータブロックが異常となった場合に、データを再生するために利用するパリティを示す表である。10 is a table showing parity used for reproducing data when all data blocks become abnormal when the number of data drives is nine. データドライブの数が1、3、5、7又は9である場合において、全てのデータブロックが異常となった場合に、データを再生するために利用するパリティを示す表である。10 is a table showing parity used for reproducing data when all data blocks become abnormal when the number of data drives is 1, 3, 5, 7, or 9.

符号の説明Explanation of symbols

251 データ読出部
252 パリティ読出部
253 リード/ライト判断部
254 データドライブ利用可能判断部
255 データ再生部
256 パリティ生成部
257 データ書込部
258 パリティ書込部
251 Data reading unit 252 Parity reading unit 253 Read / write determining unit 254 Data drive availability determining unit 255 Data reproducing unit 256 Parity generating unit 257 Data writing unit 258 Parity writing unit

Claims (14)

3以上の奇数個のデータドライブと、
前記データドライブと同一数のパリティドライブと、
を備え、
前記奇数個のパリティドライブのうちの1個のパリティドライブは、全てのデータドライブに対応して設けられ、
前記奇数個のパリティドライブのうちの前記1個のパリティドライブ以外のパリティドライブの各々は、相互に隣接するデータドライブに対応して設けられることを特徴とする冗長化ドライブ群。
An odd number of three or more data drives;
The same number of parity drives as the data drive;
With
One parity drive among the odd number of parity drives is provided corresponding to all data drives,
Each of the parity drives other than the one parity drive among the odd number of parity drives is provided corresponding to a data drive adjacent to each other.
請求項1に記載の冗長化ドライブ群において、
前記奇数個のパリティドライブのうちの全てのデータドライブに対応して設けられた1個のパリティドライブは、前記奇数個のデータドライブが全て正常である場合には、全てのデータドライブに格納されているデータを基に算出されたパリティを格納し、前記奇数個のデータドライブが全て正常である場合以外の場合には、全てのデータドライブが正常であったならばこれらのデータドライブに格納されたであろうデータを基に算出されたパリティを格納し、
前記奇数個のパリティドライブのうちの前記1個のパリティドライブ以外のパリティドライブの各々は、対応する2つのデータドライブが共に正常である場合には、該対応する2つのデータドライブに格納されているデータを基に算出されたパリティを格納し、該対応する2つのデータドライブのうちの一方のデータドライブが正常でない場合には、該対応する2つのデータドライブのうちの正常なデータドライブに格納されているデータ及び正常でないデータドライブが正常であったならばこのデータドライブに格納されたであろうデータを基に算出されたパリティを格納することを特徴とする冗長化ドライブ群。
In the redundant drive group according to claim 1,
One parity drive provided corresponding to all data drives of the odd number of parity drives is stored in all data drives when the odd number of data drives are all normal. The parity calculated based on the data stored in the data is stored, and in the case other than the case where all the odd number of data drives are normal, if all the data drives are normal, they are stored in these data drives. Store the parity calculated based on the data that would be
Of the odd number of parity drives, each of the parity drives other than the one parity drive is stored in the corresponding two data drives when the corresponding two data drives are both normal. The parity calculated based on the data is stored, and if one of the two corresponding data drives is not normal, the parity is stored in the normal data drive of the two corresponding data drives. A redundant drive group characterized by storing parity calculated based on data that would be stored in this data drive if the data being stored and the data drive that is not normal are normal.
請求項1又は2に記載の冗長化ドライブ群を用いた書込み方法において、
対象データドライブにこれまで書き込まれていたデータ、前記対象データドライブにこれから書き込むべきデータ並びに前記対象データドライブ及び該対象データドライブに隣接するデータドライブに対応するパリティドライブにこれまで書き込まれていたパリティを基に、前記対象データドライブ及び該対象ドライブに隣接するデータドライブに対応するパリティドライブにこれから書き込むべきパリティを算出して、該算出されたパリティを前記対象データドライブ及び該対象ドライブに隣接するデータドライブに対応するパリティドライブに書き込むことを特徴とする書込み方法。
In the writing method using the redundant drive group according to claim 1 or 2,
The data that has been written to the target data drive, the data to be written to the target data drive, and the parity that has been written to the parity drive corresponding to the target data drive and the data drive adjacent to the target data drive. Based on the target data drive and a parity drive corresponding to the data drive adjacent to the target drive, a parity to be written is calculated, and the calculated parity is used as the data drive adjacent to the target data drive and the target drive. And writing to a parity drive corresponding to the above.
請求項1又は2に記載の冗長化ドライブ群を用いた書込み方法において、
対象データドライブにこれまで書き込まれていたデータ、前記対象データドライブにこれから書き込むべきデータ並びに全てのデータドライブに対応するパリティドライブにこれまで書き込まれていたパリティを基に、前記全てのデータドライブに対応するパリティドライブにこれから書き込むべきパリティを算出して、該算出されたパリティを前記全てのデータドライブに対応するパリティドライブに書き込むことを特徴とする書込み方法。
In the writing method using the redundant drive group according to claim 1 or 2,
Corresponds to all data drives based on the data that has been written to the target data drive, the data to be written to the target data drive, and the parity that has been written to the parity drive corresponding to all data drives. A writing method comprising: calculating a parity to be written to a parity drive to be written, and writing the calculated parity to a parity drive corresponding to all the data drives.
請求項3又は4に記載の冗長化ドライブ群を用いた書込み方法において、
前記対象データドライブにこれまで書き込まれていたデータを、前記対象データドライブに隣接するデータドライブに格納されているデータ並びに前記対象データドライブ及び前記隣接するデータドライブに対応するパリティドライブに格納されているパリティを基に復元することを特徴とする書込み方法。
In the writing method using the redundant drive group according to claim 3 or 4,
Data that has been written to the target data drive so far is stored in data stored in a data drive adjacent to the target data drive and in a parity drive corresponding to the target data drive and the adjacent data drive. A writing method characterized by performing restoration based on parity.
請求項3又は4に記載の冗長化ドライブ群を用いた書込み方法において、
前記対象データドライブにこれまで書き込まれていたデータを、前記対象データドライブ以外の全てのデータドライブに格納されているデータ及び全てのドライブに対応するパリティドライブに格納されているパリティを基に復元することを特徴とする書込み方法。
In the writing method using the redundant drive group according to claim 3 or 4,
The data written to the target data drive so far is restored based on the data stored in all data drives other than the target data drive and the parity stored in the parity drive corresponding to all the drives. A writing method characterized by the above.
請求項3又は4に記載の冗長化ドライブ群を用いた書込み方法において、
前記対象データドライブにこれまで書き込まれていたデータを、全てのドライブに対応するパリティドライブに格納されているパリティ及び何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブに格納されているパリティを基に、対象ドライブのデータを復元することを特徴とする書込み方法。
In the writing method using the redundant drive group according to claim 3 or 4,
The data that has been written to the target data drive up to now, the parity stored in the parity drive corresponding to all the drives, and the parity of some of the parity drives corresponding to any mutually adjacent data drives A writing method, comprising: restoring data of a target drive based on parity stored in the drive.
請求項7に記載の書込み方法において、
何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブとは、
i番目のデータブロックと(i+1)番目のデータブロックに対するパリティブロックをパリティブロックi・(i+1)と表すと、
前記対象データドライブが偶数番目2m(mは自然数)のデータドライブである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2m・(2m+1)乃至パリティブロック(N−1)・Nであり、
前記対象データドライブが奇数番目(2m+1)(mは自然数)のデータブロックである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2(m+1)・(2(m+1)+1)乃至パリティブロック(N−1)・Nであることを特徴とする書込み方法。
The writing method according to claim 7,
Some of the parity drives corresponding to any mutually adjacent data drives are:
When the parity block for the i-th data block and the (i + 1) -th data block is represented as a parity block i · (i + 1),
When the target data drive is an even-numbered 2m (m is a natural number) data drive, parity blocks 1 to 2 to parity blocks (2m-1) to 2m and parity blocks 2m to (2m + 1) to parity blocks (N -1) · N,
When the target data drive is an odd-numbered (2m + 1) (m is a natural number) data block, parity block 1 to 2 to parity block (2m−1) · 2m and parity block 2 (m + 1) · (2 ( m + 1) +1) to parity block (N−1) · N.
請求項1又は2に記載の冗長化ドライブ群を用いた読出し方法において、
対象データドライブに隣接するデータドライブに格納されているデータ並びに前記対象データドライブ及び前記隣接するデータドライブに対応するパリティドライブに格納されているパリティを基に、前記対象ドライブのデータを復元することを特徴とする読出し方法。
In the reading method using the redundant drive group according to claim 1 or 2,
Restoring the data of the target drive based on the data stored in the data drive adjacent to the target data drive and the parity stored in the parity drive corresponding to the target data drive and the adjacent data drive; A characteristic readout method.
請求項1又は2に記載の冗長化ドライブ群を用いた読出し方法において、
対象データドライブ以外の全てのデータドライブに格納されているデータ及び全てのドライブに対応するパリティドライブに格納されているパリティを基に、前記対象ドライブのデータを復元することを特徴とする読出し方法。
In the reading method using the redundant drive group according to claim 1 or 2,
A read method comprising: restoring data of the target drive based on data stored in all data drives other than the target data drive and parity stored in parity drives corresponding to all the drives.
請求項1又は2に記載の冗長化ドライブ群を用いた読出し方法において、
全てのドライブに対応するパリティドライブに格納されているパリティ及び何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブに格納されているパリティを基に、対象ドライブのデータを復元することを特徴とする読出し方法。
In the reading method using the redundant drive group according to claim 1 or 2,
Based on the parity stored in the parity drive corresponding to all the drives and the parity stored in some parity drives among the parity drives corresponding to any of the data drives adjacent to each other, A reading method characterized by restoring data.
請求項11に記載の読出し方法において、
何れかの相互に隣接するデータドライブに対応するパリティドライブのうちの一部のパリティドライブとは、
i番目のデータブロックと(i+1)番目のデータブロックに対するパリティブロックをパリティブロックi・(i+1)と表すと、
前記対象データドライブが偶数番目2m(mは自然数)のデータドライブである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2m・(2m+1)乃至パリティブロック(N−1)・Nであり、
前記対象データドライブが奇数番目(2m+1)(mは自然数)のデータブロックである場合には、パリティブロック1・2乃至パリティブロック(2m−1)・2m及びパリティブロック2(m+1)・(2(m+1)+1)乃至パリティブロック(N−1)・Nであることを特徴とする読出し方法。
The reading method according to claim 11,
Some of the parity drives corresponding to any mutually adjacent data drives are:
When the parity block for the i-th data block and the (i + 1) -th data block is represented as a parity block i · (i + 1),
When the target data drive is an even-numbered 2m (m is a natural number) data drive, parity blocks 1 to 2 to parity blocks (2m-1) to 2m and parity blocks 2m to (2m + 1) to parity blocks (N -1) · N,
When the target data drive is an odd-numbered (2m + 1) (m is a natural number) data block, parity block 1 to 2 to parity block (2m−1) · 2m and parity block 2 (m + 1) · (2 ( m + 1) +1) to parity block (N−1) · N.
請求項3乃至8の何れか1項に記載の書込み方法をコンピュータに行わせるためのプログラム。   The program for making a computer perform the writing method of any one of Claim 3 thru | or 8. 請求項9乃至12の何れか1項に記載の読出し方法をコンピュータに行わせるためのプログラム。   A program for causing a computer to perform the reading method according to any one of claims 9 to 12.
JP2004176988A 2004-06-15 2004-06-15 Redundant drive group and writing method and data restoring method using the same Expired - Fee Related JP4336859B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004176988A JP4336859B2 (en) 2004-06-15 2004-06-15 Redundant drive group and writing method and data restoring method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004176988A JP4336859B2 (en) 2004-06-15 2004-06-15 Redundant drive group and writing method and data restoring method using the same

Publications (2)

Publication Number Publication Date
JP2006003971A true JP2006003971A (en) 2006-01-05
JP4336859B2 JP4336859B2 (en) 2009-09-30

Family

ID=35772347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004176988A Expired - Fee Related JP4336859B2 (en) 2004-06-15 2004-06-15 Redundant drive group and writing method and data restoring method using the same

Country Status (1)

Country Link
JP (1) JP4336859B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028314A (en) * 2009-07-21 2011-02-10 Fujitsu Ltd Tally file generation program and method, and data restoration program and method
JP2013077062A (en) * 2011-09-29 2013-04-25 Nec Corp Disk array device and program for disk array control
JP2014525188A (en) * 2011-07-18 2014-09-25 クアンド サービス インコーポレイテッド Parity-based method for reconstructing data subsets belonging to multiple parity sets
JP2016095613A (en) * 2014-11-13 2016-05-26 富士通株式会社 Storage program, storage system, storage method and storage device
CN109298836A (en) * 2018-09-04 2019-02-01 航天信息股份有限公司 Handle the method, apparatus and storage medium of data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5089214B2 (en) 2007-03-27 2012-12-05 キヤノン株式会社 Image processing method and apparatus, computer program, and storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028314A (en) * 2009-07-21 2011-02-10 Fujitsu Ltd Tally file generation program and method, and data restoration program and method
JP2014525188A (en) * 2011-07-18 2014-09-25 クアンド サービス インコーポレイテッド Parity-based method for reconstructing data subsets belonging to multiple parity sets
US9164827B2 (en) 2011-07-18 2015-10-20 Qando Services Inc. Parity based method for reconstructing a data subset wherein said subset belongs to multiple parity sets
JP2013077062A (en) * 2011-09-29 2013-04-25 Nec Corp Disk array device and program for disk array control
US9081738B2 (en) 2011-09-29 2015-07-14 Nec Corporation Disk array device, disk array control method, and recording medium
JP2016095613A (en) * 2014-11-13 2016-05-26 富士通株式会社 Storage program, storage system, storage method and storage device
CN109298836A (en) * 2018-09-04 2019-02-01 航天信息股份有限公司 Handle the method, apparatus and storage medium of data

Also Published As

Publication number Publication date
JP4336859B2 (en) 2009-09-30

Similar Documents

Publication Publication Date Title
JP4192154B2 (en) Dividing data for error correction
JP5923964B2 (en) Disk array device, control device, and program
KR20180091989A (en) Memory device having extending product lifetime and method of operating the memory device
CN102411518B (en) Controller, storage apparatus, and computer program product
JP2006236001A (en) Disk array device
TW200921360A (en) Data preserving method and data accessing method for non-volatile memory
JPH0786810B2 (en) Array disk device
US20130124585A1 (en) File processing apparatus and file processing method
JP2021149769A (en) Memory system and shift register type memory
JP6260193B2 (en) Storage system and storage program
JP4336859B2 (en) Redundant drive group and writing method and data restoring method using the same
JP2009157515A (en) Semiconductor memory controller and semiconductor memory
US8972649B2 (en) Writing memory blocks using codewords
JP2008077782A (en) Memory data processor, memory, and memory data processing program
JP6375886B2 (en) Parity layout determination program, parity layout determination method, storage apparatus and storage system
TWI620116B (en) Redundant array of independent disks and re-build method thereof
JP2011233186A (en) Disk storage unit and data restoration method
JP6556980B2 (en) Storage control device, storage control method, and storage control program
CN110310674B (en) Disk device and data management method
CN101122882A (en) Method for removing synchronous process of cheap magnetic disc redundant array apparatus
JP7056874B2 (en) Controls, disk array devices, control methods, and programs
JP2856054B2 (en) Disk array device
KR102172219B1 (en) Apparatus and method for processing metadata of object
US11538492B2 (en) Information processing apparatus and method of processing information
JP4921216B2 (en) Memory control circuit, storage system, information processing apparatus, and memory control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080508

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080703

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: 20090601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090614

R150 Certificate of patent or registration of utility model

Ref document number: 4336859

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees