JP2008186400A - Raid装置及びガロア体を用いたデータ復元装置 - Google Patents

Raid装置及びガロア体を用いたデータ復元装置 Download PDF

Info

Publication number
JP2008186400A
JP2008186400A JP2007021662A JP2007021662A JP2008186400A JP 2008186400 A JP2008186400 A JP 2008186400A JP 2007021662 A JP2007021662 A JP 2007021662A JP 2007021662 A JP2007021662 A JP 2007021662A JP 2008186400 A JP2008186400 A JP 2008186400A
Authority
JP
Japan
Prior art keywords
data
galois field
restoration
value
failure
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
JP2007021662A
Other languages
English (en)
Other versions
JP4905161B2 (ja
Inventor
Toshio Ito
伊東利雄
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 JP2007021662A priority Critical patent/JP4905161B2/ja
Priority to US12/006,994 priority patent/US7984361B2/en
Priority to EP08100176.0A priority patent/EP1953920B1/en
Priority to KR1020080009054A priority patent/KR100928882B1/ko
Priority to CN200810008958XA priority patent/CN101236517B/zh
Publication of JP2008186400A publication Critical patent/JP2008186400A/ja
Application granted granted Critical
Publication of JP4905161B2 publication Critical patent/JP4905161B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】ガロア体の積演算テーブルを参照して、ガロア体を用いたパリテイデータから、二重故障時のデータを復元する装置において、テーブル容量を削減する。
【解決手段】重み付け値の集合が、加法で閉じているように選択された各データストレージユニットの重み付け値を用い、この重み付け値と、そのインバースである一重故障のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体積演算テーブル(20)と、二重故障の復元にも、このテーブル(20)を参照するコントローラ(22)を設ける。二重故障の復元に、一重故障の復元の重み付け値を使用でき、テーブル容量を削減でき、低価格に寄与する。
【選択図】図2

Description

本発明は、ガロア体演算により、データのパリテイを生成し、且つそのパリテイを用いて、データを復元するRAID装置及びガロア体を用いたデータ復元装置に関し、特に、ガロア体乗算テーブルを用いて、データのパリテイを生成し、且つそのパリテイを用いて、データを復元するRAID装置及びガロア体を用いたデータ復元装置に関する。
近年の電子化の普及により、データの重要性が増加している。このため、一部のデータが消失しても、他のデータとパリテイとから、消失データを復元するデータ復元方法が、必要となる。例えば、ディスクの2重故障を復元できる方法として、RAID(Redundant Array of Independent Disks)6が知られている。このRAID6の方式として、1次元冗長方式が提案されている(例えば、特許文献1参照)。
図8のRAID6の構成で説明すると、RAIDコントローラ110に、5台のデータディスク装置(ハードディスクドライブ)101,102,103,104,105と、2台のパリテイディスク装置(ハードディスクドライブ)106,107が、バス112で、接続される。
1次元冗長方式は、データから2種類のパリテイを生成する。図10に示すように、1つ目のパリティPは、従来のRAID5と同じく、各データD0,D1,D2,D3、D4の足し算(XOR)を行った結果を、パリティとする。そして、このパリテイPは、第1のパリテイディスク装置106に保存する。尚、以下、「+」の記号は、XOR(排他的論理和)を示す。
2つ目のパリティQは、各データD0,D1,D2,D3、D4に対し、ガロア体の元A0〜A4(α^0〜α^4)の積演算による重み付け行った後、それらを足し合わせた結果(XOR)をパリティとする。即ち、下記(1)式の演算により、パリテイQを生成する。
Figure 2008186400
そして、このパリテイQは、第2のパリテイディスク装置107に保存される。
このガロア体の元A0〜A4(α^0〜α^4)は、各データディスク装置101,102,103,104,105に対して、1つ決定され、1重故障、2重故障の復元のためには、各データディスク装置101,102,103,104,105で、異なっている必要がある。例えば、図10に示すように、データビット数を16ビットとすると、ガロア体GF(2^16)は、2の16乗個の有限個の点を取りうる。又、ガロア体の四則演算が、所定の法則(同一次数のガロア体の元同士のEORは、「0」、乗算は、次数の加算)で可能である。1次元冗長方式は、パリテイの分散が可能であり、2重故障の検出、復元に有効である。
又、一重故障の復元には、例えば、ディスク装置102の故障の場合に、データD1を復元するには、式(1)を変形し、下記(2)式を得る。
Figure 2008186400
式(2)から、パリテイQと,データD1以外のD0〜D4と、ガロア体の元A0〜A4及び(A1)−1を用いて、下記(3)式により、データD1を復元する。
Figure 2008186400
尚、パリテイPによっても、復元できるが、パリテイPの信頼性が低い場合を考慮して、パリテイQから復元するアルゴリズムを用意する。
又、二重故障の復元には、ディスク装置102,103の故障の場合に、データD1、D2を復元するには、式(1)から下記式(4)を得る。
Figure 2008186400
式(4)の右辺を「F」とすると、下記式(5)が得られる。
Figure 2008186400
次に、図10に示したパリテイPの生成式を変形し、下記式(6)を得る。
Figure 2008186400
式(6)の右辺を「G」とすると、下記式(7)が得られる。
Figure 2008186400
これにより、式(5)と式(7)で、D1,D2の連立方程式が得られ、この連立方程式を解く。先ず、式(7)を「A1」倍すると、下記式(8)を得る。
Figure 2008186400
式(5)と式(8)を足す(EORをとる)と、下記式(9)が得られる。
Figure 2008186400
式(9)を変形すると、D2の下記式(10)を得る。
Figure 2008186400
又、式(7)を変形すると、D1の下記式(11)を得る。
Figure 2008186400
式(10)の右辺に、式(4)、式(5)の「F」と、式(6)、式(7)の「G」を代入して、D2の復元式(12)を得る。
Figure 2008186400
同様に、式(11)の右辺に、式(6)、式(7)の「G」を代入して、D1の復元式(13)を得る。
Figure 2008186400
このように、ガロア体を利用したパリテイ生成、データ復元においては、ガロア体の積演算として、データDとガロア体の元Aの2つの変数を用いて、演算を行う必要がある。このため、RAID5のXOR演算(パリテイPの演算)に対し、パリテイ生成に処理時間を要し、性能が劣化する。
このガロア体の積演算を簡略化するため、図9に示すように、データDとガロア体の元Aとの乗算結果を格納するガロア体積演算テーブル120を作成しておき、テーブル120を参照して、各データとガロア体の元との積演算結果を得ることが提案されている(特許文献1)。
日本国特開2000−259359号公報(図5、図6)
例えば、RAIDの構成を、nデータ+2パリティとし、ガロア体は、1シンボル16ビットのガロア体GF(2^16)とすると、各データディスクに対する重み付けとして必要なガロア体の元Aは、α^(i1), α^(i2), α^(i3),・・・, α^(in) (ij∈{0,1,・・,65534})となる。ここで、「^」は、乗を示す。
このガロア体の元を使用する場合には、一重故障の復元で使用する重み付けは、式(3)のように、α^(-i1), α^(-i2), α^(-i3),・・・, α^(-in)となる。更に、二重故障の復元で使用する重み付けは、式(12)から、下記式(14)で決定される。
Figure 2008186400
従って、従来のように、各データディスクに対する重み付けの値を、ランダムに選んだときは、データディスクと、一重故障と、2重故障との重み付けに、重複部分が現れず、必要なガロア体の元の個数は、データディスクのn個と、一重故障のn個と、二重故障のn(n−1)/2個の和となる。
1シンボル(16ビット)のデータDに対して取りうる値は、2の16乗=65536通りある。このため、図9のように、重み付けに必要なガロア体と1シンボルのデータ値からなる重み付け積演算テーブル120を作成する場合、(n+n+n(n−1)/2)×65536のテーブルが必要になる。例えば,n=14とするとき,119×65536個のテーブルが必要になり、テーブルの容量、即ち、メモリの容量が膨大となり、装置の低価格化の阻害となる。
従って、本発明の目的は、ガロア体積演算テーブルの容量を削減するためのRAID装置及びデータ復元装置を提供することにある。
又、本発明の他の目的は、ガロア体積演算テーブルの容量を削減して、低価格の装置を提供するためのRAID装置及びデータ復元装置を提供することにある。
更に、本発明の他の目的は、ガロア体積演算テーブルの容量を削減して、高速に積演算を実現するためのRAID装置及びデータ復元装置を提供することにある。
この目的の達成のため、本発明のRAID装置は、データを分割し、分割されたデータを各々格納する複数のデータストレージユニットと、前記分割されたデータの組み合わせから得た第1のパリテイデータと、各データストレージユニットに割り当てられた各々異なる値のガロア体による重み付け値を前記分割されたデータに積演算し、且つ積演算結果を用いて生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、重み付け値の集合が、加法で閉じているように選択された各データストレージユニットの重み付け値と、前記重み付け値のインバースである一重故障のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体の積乗算テーブルと、前記ガロア体の積乗算テーブルを参照して、前記第2のパリテイデータを演算するとともに、前記ガロア体の積演算テーブルを参照して、1つの前記データストレージユニットが故障した一重故障時のデータ復元演算と2つの前記データストレージユニットが故障した二重故障時のデータ復元演算とを行うコントロールユニットとを有し、前記コントロールユニットは、前記二重故障のデータ復元の重み付け値として、前記ガロア体の積演算テーブルの前記一重故障のデータ復元の重み付け値を使用して、前記ガロア体の積演算テーブルを参照する。
又、本発明のデータ復元装置は、重み付け値の集合が、加法で閉じているように選択されたn個のデータの重み付け値と、前記重み付け値のインバースである一重障害のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体の積演算テーブルと、前記n個のデータと、前記n個のデータの組み合わせから得た第1のパリテイデータと、各データに割り当てられた各々異なる値のガロア体による重み付け値を前記n個のデータの各々に積演算し、且つ積演算結果を用いて生成方程式を演算して得た第2のパリテイデータとからなるデータ群を使用し、前記ガロア体の積演算テーブルを参照して、1つの前記データが消失した一重障害時のデータ復元演算と2つの前記データが消失した二重障害時のデータ復元演算とを行うコントロールユニットとを有し、前記コントロールユニットは、前記二重障害のデータ復元の重み付け値として、前記ガロア体の積演算テーブルの前記一重障害のデータ復元の重み付け値を使用して、前記ガロア体の積演算テーブルを参照する。
更に、本発明では、好ましくは、前記コントロールユニットは、前記故障したデータストレージユニットに割り当てられた前記一重故障のデータ復元の重み付け値と、前記故障したデータストレージユニット以外の前記データストレージユニットのデータの値とで、前記ガロア体の積演算テーブルを参照して、前記一重故障のデータ復元を行うとともに、前記2つの故障したデータストレージユニットに割り当てられた前記一重故障のデータ復元の重み付け値と、前記2つの故障したデータストレージユニット以外の前記データストレージユニットのデータの値とで、前記ガロア体の積演算テーブルを参照して、前記二重故障のデータ復元を行う。
更に、本発明では、好ましくは、前記コントロールユニットは、前記2つの故障したデータストレージユニット以外の前記データストレージユニットのデータの値と前記2つの故障したデータストレージユニット以外の前記データストレージユニットの重み付け値で、前記ガロア体の積演算テーブルを参照して、前記ガロア体の積演算結果を得て、前記得た積演算結果をEOR演算し、前記2つの故障したデータストレージユニットに割り当てられた重み付け値と前記EOR演算結果で、前記ガロア体の積演算テーブルを参照して、前記二重故障の復元データを得る。
更に、本発明では、好ましくは、前記データの1シンボルのビット数のうち使用するビット数が、2で(但し、mは整数で、2以上)である時に、前記データストレージユニットの数nを、2−1以下に設定した。
更に、本発明では、好ましくは、前記データストレージユニットの数nを、2−1に近い数に設定した。
更に、本発明では、好ましくは、前記ガロア体の積演算テーブルは、ガロア体をGF(2^k)とした時に、(n+2−1)×2^kのテーブルサイズで構成した。
更に、本発明では、好ましくは、前記コントロールユニットは、第2のパリテイデータQを、各データディスクユニットのデータD1〜Dnと、各データディスクユニットの重み付け値A1〜Anとの積のEORで演算するとともに、前記二重故障の復元データDj,Diを、下記式(17)、(18)により演算する。
Figure 2008186400
Figure 2008186400
更に、本発明では、好ましくは、前記ガロア体の積演算テーブルの前記データディスク装置毎の重み付け値Ajは、下記式(19)において、重み付け値の集合が、加法で閉じているように設定された。
Figure 2008186400
更に、本発明では、好ましくは、前記ガロア体の積演算テーブルの前記一重故障の復元に使用する重み付け値は、前記データディスク装置毎の重み付け値AjのインバースAj−1である。
更に、本発明では、好ましくは、前記ガロア体の積演算テーブルの前記二重故障の復元に使用する重み付け値は、前記2つの故障したデータストレージユニットの重み付け値のEOR結果のインバースである。
重み付け値の集合が、加法で閉じているように選択された各データストレージユニットの重み付け値を用い、この重み付け値と、そのインバースである一重故障のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体積演算テーブルを構成するので、二重故障の復元にも、このテーブルを使用でき、テーブル容量を削減でき、低価格に寄与する。
以下、本発明の実施の形態を、RAID装置、ガロア体積演算テーブル、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
(RAID装置)
図1は、本発明の一実施の形態のRAID装置の構成図、図2は、そのガロア体を用いたパリテイ生成、データ復元部の構成図、図3は、図1のRAID6のパリテイ生成及びデータ復元演算の説明図である。図1に示すように、RAID装置は、ホストコンピュータ16に接続されたRAIDコントローラ12と、RAIDコントローラ12にFC(Fibre Channel)ループ14等により接続され、且つ制御される複数(ここでは、14台)のデータディスク装置(ハードディスクドライブ)10−1〜10−14と、2台のパリテイディスク装置(ハードディスクドライブ)10−15,10−16とからなる。即ち、2重パリテイを持つRAID6の構成である。
このRAIDコントローラ12は、図2に示すように、ガロア体積演算テーブル20と、このガロア体積演算テーブル20を参照して、パリテイQの作成及び一重故障、二重故障のデータ復元を行う演算回路22とを有する。
ここで、1シンボルを16ビットとすると、ガロア体GF(2^16)を使用する。演算回路22のパリテイ生成演算及びデータ復元演算を、図3で説明する。
図3に示すように、第1のパリテイPは、データディスク装置10−1〜10−14の列方向のデータD0〜D13のXORで生成され、第1のパリテイディスク装置10−15の対応アドレスに格納される。第2のパリテイQは、式(1)と同様に、データディスク装置10−1〜10−14の列方向のデータD0〜D13を、ガロア体の積演算による重み付け後に、XORして生成され、第2のパリテイディスク装置10−16の対応アドレスに格納される。
尚、図3の記号「+」は、XOR演算を示す。又、ガロア体GF(2の16乗)の原始多項式(生成多項式)は、下記式(15)で表される。
Figure 2008186400
又、データ復元に用いる復元式は、一重故障の場合に、データDiを復元するには、式(3)から、下記式(16)を演算する。
Figure 2008186400
更に、二重故障の場合に、データDi,Djを復元するには、各々式(12)、(13)から、下記式(17)、(18)を演算する。
Figure 2008186400
Figure 2008186400
尚、式(17)、(18)において、記号「^」の印のある項は、式から取り除くことを意味する。
RAIDコントローラ12は、データをディスク装置10−1〜10−14にライト処理する際に、XOR演算により、パリテイPを計算し、第1のパリテイディスク装置10−15に格納し、ガロア体の積演算テーブル20から積演算結果を得て、XOR演算を行い、パリテイQを計算し、第2のパリテイディスク装置10−16に格納する。
同様に、RAIDコントローラ12は、データをディスク装置10−1〜10−14及びディスク装置10−15,10−16からリードした際に、一重故障を検出した時は、式(16)に従い、ガロア体の積演算テーブル20から積演算結果を得て、XOR演算を行い、データDiを復元する。
又、二重故障を検出した時は、式(17)に従い、ガロア体の積演算テーブル20から積演算結果を得て、XOR演算を行い、データDjを復元し、更に、式(18)により、データDiを復元する。
(ガロア体積演算テーブル)
図4は、本発明の一実施の形態のデータディスク装置のガロア体の元(重み付け)の設定の説明図、図5は、図4を用いて決定したガロア体の元の説明図、図6は、本発明の一実施の形態のガロア体積演算テーブルの説明図、図7は、比較例として、従来のガロア体積演算テーブルの説明図である。
本発明では、重み付けとして必要なガロア体の元を減らすために、1重故障、2重故障で使用する重み付けの重複部分を増やす。このためには、ガロア体の元を、ある規則性にしたがって、選ぶ。
先ず、RAIDの構成を、nデータ+2パリティとし、nが2のm乗−1 (mは整数で、2以上の値)以下であることを条件とする。そして、好ましくは、nが、2のm乗−1に近い値を持つとする(例えば、n=3,7,14,15,30,31・・・)。
この条件で、各データディスク装置jに対する重み付け値(ガロア体の元)Ajを、以下の式(19)のように、決定する。
Figure 2008186400
但し、式(19)において、「j」は、データディスク番号であり、1≦j≦nである。又、nは、データディスク装置の数であり、mは、1シンボルのうち使用するビット数2のm乗のmである。例えば、データディスク装置数n=14、1シンボルのうち使用するビット数が4ビットである場合に、1≦j≦14、α^(m−1)=α^3となる。即ち、各データディスク装置jに対する重み付け値(ガロア体の元)Ajを、α^0〜α^3の組み合わせで、定義する。
そして、この式(19)のgfwの行列(gfw(j,0),gfw(j,1),・・・, gfw(j,m-1))を、「j」に対し、図4に示すように、設定する。即ち、10進数の「j」を、2進数で表現し、最下位ビット側から順次、この2進数を、「gfw(j,0),gfw(j,1),・・・, gfw(j,m-1)」に割り振る。
このようにすると、図4の任意の2つのデータディスク番号の「j」の2進数「gfw(j,0),gfw(j,1),・・・, gfw(j,m-1)」のEOR(排他的論理和)をとると、他の数字の「j」の2進数「gfw(j,0),gfw(j,1),・・・, gfw(j,m-1)」に一致するような関係となる。
例えば、j=1の2進数と、j=2の2進数とのEORをとると、j=3の2進数となる。同様に、j=1の2進数と、j=3の2進数とのEORをとると、j=2の2進数となり、j=2の2進数と、j=3の2進数とのEORをとると、j=1の2進数となる。
即ち、この重み付けの集合(行列)は、加法(EOR)で閉じていることが特徴である。図4を、式(19)に当てはめ、各データディスク番号jの重み付け値(ガロア体の元)Aiを示すと、図5のように表される。
図5に示すように、任意の2つのデータディスク番号の「j」の重み付け値のEOR(排他的論理和)をとると、他のデータディスク番号の重み付け値となる関係の重み付け値が、各データディスク番号に割り当てられる。
ここで、例えば、j=3の重み付け値(α^0+α^1)は、重み付け値α^49594で表されている。前述の生成(原始)多項式(図3参照)から、下記式(20)が成立する。
Figure 2008186400
これと、前述のガロア体の元の四則演算則を用いて、単一のガロア体の元に変形することにより、j=3の重み付け値(α^0+α^1)を、重み付け値α^49594で表すことができる。他の複数のガロア体の元のEORからなる重み付け値を、単一の重み付け値に変換する場合も、同様である。
一重故障の復元で使用する重み付け値は、データディスク番号に割り当てられた重み付け値のインバースであるから、1重故障で使用する重み付けA1jは、下記式(21)で表される。
Figure 2008186400
但し、同様に、1≦j≦nである。「j」は、一重故障したデータディスク番号であり、1≦j≦nである。又、nは、データディスク装置の数であり、mは、1シンボルのうち使用するビット数2のm乗のmである。
次に、2重故障で使用する重み付け値は、説明する。2重故障の復元では、式(12)に示したように、2つのガロア体の元(重み付け値)のEORを、必要とするが、前述のデータディスク番号に対する重み付け値の選択で使用した図4の重み付けの集合が、加法(EOR)で閉じているため、重複使用できる。
即ち、2重故障で使用する重み付け値A2jは、2つのガロア体の元(重み付け値)のEORのインバースであるから、一重故障の復元で使用する重み付け値と一致するものがある。このため、追加する二重故障の復元で使用する重み付け値は、下記式(22)で表される。
Figure 2008186400
但し、jは、二重故障で使用する重み付け値のポインタであり、その範囲が、n+1≦j≦(2^m)−1である。例えば、前述のように、データディスク装置数n=14、m=4である場合に、j=15のみを、1つの二重故障の重み付け値として、追加すれば、良い。
このように、重み付け値をランダムに選択する従来の場合と異なり、本発明では、2重故障で使用する重み付けの追加分が少ない。この理由は、2重故障の復元では、式(12)に示したように、2つのガロア体のEORを、必要とするが、前述のデータディスク番号に対する重み付け値の選択で使用した図4の重み付けの集合が、加法(EOR)で閉じているため、重複使用できるからである。
この重み付け方法に必要なガロア体と1シンボルのうち使用するビット2の4乗のデータ値からなる重み付け積演算結果のテーブル(図2参照)を作成する場合、(n+(2^m)−1)×65536枡のテーブルですむ。例えば、n=14とするとき,m=4であるから、(14+16-1)=29×65536枡のテーブルで済む。
従って、前述の従来のランダム法で必要とした、119×65536のテーブル容量に比し、この重み付け方法によるテーブルサイズは0.24倍、約1/5となり、テーブルに必要なメモリ容量の節約が可能となる。
図6及び図7により、具体例で説明する。尚、図6、図7では、データディスク装置数を、n=15の例で説明する。図7のように、データディスク番号jに対し、ランダムに重み付け値を選択した場合、即ち、データディスク番号jが、2の乗数となる重み付け値α^0、α^1、・・・を選択した場合には、加法で閉じるなどの関連性がない。
一重故障の復元で用いる重み付け値は、そのインバースとなる。例えば、データディスク番号j=1にα^1を重み付け値として、使用すると、データディスク番号j=1の故障には、α^1のインバースである2の16乗−1−1=65536−2=65534乗のαを重み付け値に使用する。他のデータディスク番号の場合も、同様である。
又、二重故障の復元で用いる重み付け値は、式(17)から、その2つのデータディスク番号の重み付け値のEORのインバースである。例えば、データディスク番号j=0と、他のデータディスク番号j=1の二重故障の復元に用いる重み付け値は、(α^0+α^1)^−1、即ち、α^15941となる。
図7に示すように、データディスク番号に対する重み付け値間に関連性がないため、一重故障で使用した重み付け値を使用できない。同様に、データディスク番号j=1と、他のデータディスク番号j=2〜14との二重故障の場合も同様であり、別々の重み付け値を使用しなければならない。
一方、本発明では、図6に示すように、データディスク番号jに対し、図4及び図5で説明した加法で閉じる法則の重み付け値を使用している。即ち、データディスク番号jの重み付け値は、他の2つのデータディスク番号の重み付け値のEORになるという関連性がある値を使用している。
一重故障の復元で用いる重み付け値は、従来と同様に、そのインバースとなる。例えば、データディスク番号j=2の故障には、α^49594のインバースである2の16乗−1−49594=65536−49595=15941乗のαを重み付け値に使用する。他のデータディスク番号の場合も、同様である。
又、二重故障の復元で用いる重み付け値は、式(17)から、その2つのデータディスク番号の重み付け値のEORのインバースである。例えば、データディスク番号j=0と、他のデータディスク番号j=1の二重故障の復元に用いる重み付け値は、(α^0+α^1)^−1、即ち、α^15941となる。
即ち、この重み付け値は、一重故障の復元で用いるデータディスク番号j=2の重み付け値と、一致する。この理由は、データディスク番号j=2の重み付け値Aiは、データディスク番号j=0、j=1の重み付け値のEORの関係にあるからである。
同様に、データディスク番号j=0と、他のデータディスク番号j=2〜14の二重故障の復元に用いる重み付け値は、一重故障の復元で用いる重み付け値に一致する。
又、同様の理由で、データディスク番号j=1と、他のデータディスク番号j=2〜14の二重故障の復元に用いる重み付け値も、図6に示すように、一重故障の復元で使用した重み付け値を使用できる。
このため、この例では、n=15であるから、一重故障の復元で使用する重み付け値を、二重故障の復元でも、使用でき、二重故障の復元の重み付け値は、一重故障の復元に用いる重み付け値があれば、特別に設定する必要がない。
図2のガロア体積演算テーブル20の縦方向の欄は、データディスク番号に対する重み付け値の数と、一重故障の復元に使用する重み付け値の数と、式(22)の追加分の数の和で済む。即ち、従来のように、更に、二重故障の復元に使用する重み付け値の数分の欄を、テーブルに必要としない。このため、図2のテーブル20は、図9の従来のテーブル120に比し、テーブルサイズが、1/5で済み、メモリの節約に有効であり、テーブルを使用したデータ復元の高速にも寄与する。
(他の実施の形態)
前述の実施の形態では、15台のデータディスク装置と2台のパリテイディスク装置とで構成されるRAID6のストレージ装置で、説明したが、他の台数の構成にも適用できる。
又、一重故障、二重故障のデータ復元を、ストレージ装置のRAID6のデータ復元の例で説明したが、複数のシンボルに対し、パリテイP、パリテイQを付して、データ転送する場合のシンボルの復元にも使用できる。
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
(付記1)データを分割し、分割されたデータを各々格納する複数のデータストレージユニットと、前記分割されたデータの組み合わせから得た第1のパリテイデータと、各データストレージユニットに割り当てられた各々異なる値のガロア体による重み付け値を前記分割されたデータに積演算し、且つ積演算結果を用いて生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、前記各重み付け値と前記データの値との乗算結果を格納するガロア体の積乗算テーブルを参照して、前記第2のパリテイデータを演算するとともに、前記ガロア体の積演算テーブルを参照して、1つの前記データストレージユニットが故障した一重故障時のデータ復元演算と2つの前記データストレージユニットが故障した二重故障時のデータ復元演算とを行うコントロールユニットとを有し、前記ガロア体の積演算テーブルは、重み付け値の集合が、加法で閉じているように選択された各データストレージユニットの重み付け値と、前記重み付け値のインバースである一重故障のデータ復元の重み付け値と、前記データの値との乗算結果を格納し、前記コントロールユニットは、前記二重故障のデータ復元の重み付け値として、前記ガロア体の積演算テーブルの前記一重故障のデータ復元の重み付け値を使用して、前記ガロア体の積演算テーブルを参照することを特徴とするRAID装置。
(付記2)前記コントロールユニットは、前記故障したデータストレージユニットに割り当てられた前記一重故障のデータ復元の重み付け値と、前記故障したデータストレージユニット以外の前記データストレージユニットのデータの値とで、前記ガロア体の積演算テーブルを参照して、前記一重故障のデータ復元を行うとともに、前記2つの故障したデータストレージユニットに割り当てられた前記一重故障のデータ復元の重み付け値と、前記2つの故障したデータストレージユニット以外の前記データストレージユニットのデータの値とで、前記ガロア体の積演算テーブルを参照して、前記二重故障のデータ復元を行うことを特徴とする付記1のRAID装置。
(付記3)前記コントロールユニットは、前記2つの故障したデータストレージユニット以外の前記データストレージユニットのデータの値と前記2つの故障したデータストレージユニット以外の前記データストレージユニットの重み付け値で、前記ガロア体の積演算テーブルを参照して、前記ガロア体の積演算結果を得て、前記得た積演算結果をEOR演算し、前記2つの故障したデータストレージユニットに割り当てられた重み付け値と前記EOR演算結果で、前記ガロア体の積演算テーブルを参照して、前記二重故障の復元データを得ることを特徴とする付記2のRAID装置。
(付記4)前記データの1シンボルのビット数のうち使用するビット数が、2で(但し、mは整数で、2以上)である時に、前記データストレージユニットの数nを、2−1以下に設定したことを特徴とする付記1のRAID装置。
(付記5)前記データストレージユニットの数nを、2−1に近い数に設定したことを特徴とする付記4のRAID装置。
(付記6)前記ガロア体の積演算テーブルは、ガロア体をGF(2^k)とした時に、(n+2−1)×2^kのテーブルサイズで構成したことを特徴とする付記4のRAID装置。
(付記7)前記コントロールユニットは、第2のパリテイデータQを、各データディスクユニットのデータD1〜Dnと、各データディスクユニットの重み付け値A1〜Anとの積のEORで演算するとともに、前記二重故障の復元データDj,Diを、下記式(17)、(18)により演算することを特徴とする付記3のRAID装置。
Figure 2008186400
Figure 2008186400
(付記8)前記ガロア体の積演算テーブルの前記データディスク装置毎の重み付け値Ajは、下記式(19)において、重み付け値の集合が、加法で閉じているように設定されたことを特徴とする付記4のRAID装置。
Figure 2008186400
(付記9)前記ガロア体の積演算テーブルの前記一重故障の復元に使用する重み付け値は、前記データディスク装置毎の重み付け値AjのインバースAj−1であることを特徴とする付記8のRAID装置。
(付記10)前記ガロア体の積演算テーブルの前記二重故障の復元に使用する重み付け値は、前記2つの故障したデータストレージユニットの重み付け値のEOR結果のインバースであることを特徴とする付記9のRAID装置。
(付記11)重み付け値の集合が、加法で閉じているように選択されたn個のデータの重み付け値と、前記重み付け値のインバースである一重障害のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体の積演算テーブルと、前記n個のデータと、前記n個のデータの組み合わせから得た第1のパリテイデータと、各データに割り当てられた各々異なる値のガロア体による重み付け値を前記n個のデータの各々に積演算し、且つ積演算結果を用いて生成方程式を演算して得た第2のパリテイデータとからなるデータ群を使用し、前記ガロア体の積演算テーブルを参照して、1つの前記データが消失した一重障害時のデータ復元演算と2つの前記データが消失した二重障害時のデータ復元演算とを行うコントロールユニットとを有し、前記コントロールユニットは、前記二重障害のデータ復元の重み付け値として、前記ガロア体の積演算テーブルの前記一重障害のデータ復元の重み付け値を使用して、前記ガロア体の積演算テーブルを参照することを特徴とするデータ復元装置。
(付記12)前記コントロールユニットは、前記消失したデータに割り当てられた前記一重障害のデータ復元の重み付け値と、前記消失したデータ以外の前記データの値とで、前記ガロア体の積演算テーブルを参照して、前記一重障害のデータ復元を行うとともに、前記2つの消失したデータに割り当てられた前記一重障害のデータ復元の重み付け値と、前記2つの消失したデータ以外の前記データの値とで、前記ガロア体の積演算テーブルを参照して、前記二重障害のデータ復元を行うことを特徴とする付記11のデータ復元装置。
(付記13)前記コントロールユニットは、前記2つの消失したデータ以外の前記データの値と前記2つの消失したデータ以外の前記データの重み付け値で、前記ガロア体の積演算テーブルを参照して、前記ガロア体の積演算結果を得て、前記得た積演算結果をEOR演算し、前記2つの消失したデータに割り当てられた重み付け値と前記EOR演算結果で、前記ガロア体の積演算テーブルを参照して、前記二重障害の復元データを得ることを特徴とする付記12のデータ復元装置。
(付記14)前記データの1シンボルのビット数のうち使用するビット数が、2で(但し、mは整数で、2以上)である時に、前記データの数nを、2−1以下に設定したことを特徴とする付記11のデータ復元装置。
(付記15)前記データの数nを、2−1に近い数に設定したことを特徴とする付記14のデータ復元装置。
(付記16)前記ガロア体の積演算テーブルは、ガロア体をGF(2^k)とした時に、(n+2−1)×2^kのテーブルサイズで構成したことを特徴とする付記14のデータ復元装置。
(付記17)前記コントロールユニットは、第2のパリテイデータQを、各データD1〜Dnと、各データの重み付け値A1〜Anとの積のEORで演算するとともに、前記二重障害の復元データDj,Diを、下記式(17)、(18)により演算することを特徴とする付記13のデータ復元装置。
Figure 2008186400
Figure 2008186400
(付記18)前記ガロア体の積演算テーブルの前記データ毎の重み付け値Ajは、下記式(19)において、重み付け値の集合が、加法で閉じているように設定されたことを特徴とする付記14のデータ復元装置。
Figure 2008186400
(付記19)前記ガロア体の積演算テーブルの前記一重障害の復元に使用する重み付け値は、前記データ毎の重み付け値AjのインバースAj−1であることを特徴とする付記18のデータ復元装置。
(付記20)前記ガロア体の積演算テーブルの前記二重障害の復元に使用する重み付け値は、前記2つの消失したデータの重み付け値のEOR結果のインバースであることを特徴とする付記19のデータ復元装置。
重み付け値の集合が、加法で閉じているように選択された各データストレージユニットの重み付け値を用い、この重み付け値と、そのインバースである一重故障のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体積演算テーブルを構成するので、二重故障の復元にも、このテーブルを使用でき、テーブル容量を削減でき、低価格に寄与する。
本発明の一実施形態のRAID装置の構成図である。 図1のパリテイ生成及びデータ復元構成の説明図である。 図1のパリテイP,Q、及びデータ復元アルゴリズムの説明図である。 図3のデータディスク装置に対する重み付けベクトルの説明図である。 図4の重み付けベクトルによるデータディスク装置の重み付け値の説明図である。 本発明のデータディスク装置の重み付け値を使用した一重故障の復元及び二重故障の復元の重み付け値の説明図である。 従来のデータディスク装置の重み付け値を使用した一重故障の復元及び二重故障の復元の重み付け値の説明図である。 従来のRAID6の構成図である。 従来のRAID6のガロア体積演算テーブルの説明図である。 従来のガロア体の積演算の説明図である、
符号の説明
10−1〜10−14 データディスク装置
10−15〜10−16 パリテイディスク装置
12 RAIDコントローラ
14 接続バス
16 ホスト
20 ガロア体積演算テーブル
22 演算回路
101〜105 データディスク装置
106〜107 パリテイディスク装置
110 RAIDコントローラ
112 接続バス
120 ガロア体積演算テーブル

Claims (10)

  1. データを分割し、分割されたデータを各々格納する複数のデータストレージユニットと、
    前記分割されたデータの組み合わせから得た第1のパリテイデータと、各データストレージユニットに割り当てられた各々異なる値のガロア体による重み付け値を前記分割されたデータに積演算し、且つ積演算結果を用いて生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、
    重み付け値の集合が、加法で閉じているように選択された各データストレージユニットの重み付け値と、前記重み付け値のインバースである一重故障のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体の積乗算テーブルと、
    前記ガロア体の積演算テーブルを参照して、前記第2のパリテイデータを演算するとともに、前記ガロア体の積演算テーブルを参照して、1つの前記データストレージユニットが故障した一重故障時のデータ復元演算と2つの前記データストレージユニットが故障した二重故障時のデータ復元演算とを行うコントロールユニットとを有し、
    前記コントロールユニットは、前記二重故障のデータ復元の重み付け値として、前記ガロア体の積演算テーブルの前記一重故障のデータ復元の重み付け値を使用して、前記ガロア体の積演算テーブルを参照する
    ことを特徴とするRAID装置。
  2. 前記コントロールユニットは、
    前記故障したデータストレージユニットに割り当てられた前記一重故障のデータ復元の重み付け値と、前記故障したデータストレージユニット以外の前記データストレージユニットのデータの値とで、前記ガロア体の積演算テーブルを参照して、前記一重故障のデータ復元を行うとともに、
    前記2つの故障したデータストレージユニットに割り当てられた前記一重故障のデータ復元の重み付け値と、前記2つの故障したデータストレージユニット以外の前記データストレージユニットのデータの値とで、前記ガロア体の積演算テーブルを参照して、前記二重故障のデータ復元を行う
    ことを特徴とする請求項1のRAID装置。
  3. 前記コントロールユニットは、
    前記2つの故障したデータストレージユニット以外の前記データストレージユニットのデータの値と前記2つの故障したデータストレージユニット以外の前記データストレージユニットの重み付け値で、前記ガロア体の積演算テーブルを参照して、前記ガロア体の積演算結果を得て、前記得た積演算結果をEOR演算し、前記2つの故障したデータストレージユニットに割り当てられた重み付け値と前記EOR演算結果で、前記ガロア体の積演算テーブルを参照して、前記二重故障の復元データを得る
    ことを特徴とする請求項2のRAID装置。
  4. 前記データの1シンボルのビット数のうち使用するビット数が、2で(但し、mは整数で、2以上)である時に、前記データストレージユニットの数nを、2−1以下に設定した
    ことを特徴とする請求項1のRAID装置。
  5. 前記ガロア体の積演算テーブルは、ガロア体をGF(2^k)とした時に、(n+2−1)×2^kのテーブルサイズで構成した
    ことを特徴とする請求項4のRAID装置。
  6. 重み付け値の集合が、加法で閉じているように選択されたn個のデータの重み付け値と、前記重み付け値のインバースである一重障害のデータ復元の重み付け値と、前記データの値との乗算結果を格納するガロア体の積演算テーブルと、
    前記n個のデータと、前記n個のデータの組み合わせから得た第1のパリテイデータと、各データに割り当てられた各々異なる値のガロア体による重み付け値を前記n個のデータの各々に積演算し、且つ積演算結果を用いて生成方程式を演算して得た第2のパリテイデータとからなるデータ群を使用し、前記ガロア体の積演算テーブルを参照して、1つの前記データが消失した一重障害時のデータ復元演算と2つの前記データが消失した二重障害時のデータ復元演算とを行うコントロールユニットとを有し、
    前記コントロールユニットは、前記二重障害のデータ復元の重み付け値として、前記ガロア体の積演算テーブルの前記一重障害のデータ復元の重み付け値を使用して、前記ガロア体の積演算テーブルを参照する
    ことを特徴とするデータ復元装置。
  7. 前記コントロールユニットは、
    前記消失したデータに割り当てられた前記一重障害のデータ復元の重み付け値と、前記消失したデータ以外の前記データの値とで、前記ガロア体の積演算テーブルを参照して、前記一重障害のデータ復元を行うとともに、
    前記2つの消失したデータに割り当てられた前記一重障害のデータ復元の重み付け値と、前記2つの消失したデータ以外の前記データの値とで、前記ガロア体の積演算テーブルを参照して、前記二重障害のデータ復元を行う
    ことを特徴とする請求項6のデータ復元装置。
  8. 前記コントロールユニットは、
    前記2つの消失したデータ以外の前記データの値と前記2つの消失したデータ以外の前記データの重み付け値で、前記ガロア体の積演算テーブルを参照して、前記ガロア体の積演算結果を得て、前記得た積演算結果をEOR演算し、前記2つの消失したデータに割り当てられた重み付け値と前記EOR演算結果で、前記ガロア体の積演算テーブルを参照して、前記二重障害の復元データを得る
    ことを特徴とする請求項7のデータ復元装置。
  9. 前記データの1シンボルのビット数のうち使用するビット数が、2で(但し、mは整数で、2以上)である時に、前記データの数nを、2−1以下に設定した
    ことを特徴とする請求項6のデータ復元装置。
  10. 前記データの数nを、2−1に近い数に設定した
    ことを特徴とする請求項9のデータ復元装置。
JP2007021662A 2007-01-31 2007-01-31 Raid装置及びガロア体を用いたデータ復元装置 Expired - Fee Related JP4905161B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007021662A JP4905161B2 (ja) 2007-01-31 2007-01-31 Raid装置及びガロア体を用いたデータ復元装置
US12/006,994 US7984361B2 (en) 2007-01-31 2008-01-08 Raid system and data recovery apparatus using galois field
EP08100176.0A EP1953920B1 (en) 2007-01-31 2008-01-08 RAID system and data recovery apparatus using galois field
KR1020080009054A KR100928882B1 (ko) 2007-01-31 2008-01-29 Raid 장치 및 갈로아체를 이용한 데이터 복원 장치
CN200810008958XA CN101236517B (zh) 2007-01-31 2008-01-31 Raid系统和使用伽罗瓦域的数据恢复装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007021662A JP4905161B2 (ja) 2007-01-31 2007-01-31 Raid装置及びガロア体を用いたデータ復元装置

Publications (2)

Publication Number Publication Date
JP2008186400A true JP2008186400A (ja) 2008-08-14
JP4905161B2 JP4905161B2 (ja) 2012-03-28

Family

ID=39535813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007021662A Expired - Fee Related JP4905161B2 (ja) 2007-01-31 2007-01-31 Raid装置及びガロア体を用いたデータ復元装置

Country Status (5)

Country Link
US (1) US7984361B2 (ja)
EP (1) EP1953920B1 (ja)
JP (1) JP4905161B2 (ja)
KR (1) KR100928882B1 (ja)
CN (1) CN101236517B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008583A (ja) * 2009-06-26 2011-01-13 Toshiba Corp ディスクアレイ制御装置及びディスクアレイ装置
JP2013077062A (ja) * 2011-09-29 2013-04-25 Nec Corp ディスクアレイ装置およびディスクアレイ制御用プログラム
US8499224B2 (en) 2009-03-31 2013-07-30 Nec Corporation Redundant code generation method and device, data restoration method and device, and raid storage device
US9697081B2 (en) 2014-04-25 2017-07-04 Fujitsu Limited Storage control device and data recovery method
JP2018198358A (ja) * 2017-05-23 2018-12-13 株式会社ダイテック 誤り訂正プログラム、及び、誤り訂正装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677208B2 (en) * 2007-09-21 2014-03-18 Hewlett-Packard Development Company, L.P. Generating a parallel recovery plan for a data storage system
US8150031B2 (en) * 2008-12-19 2012-04-03 Intel Corporation Method and apparatus to perform redundant array of independent disks (RAID) operations
TWI416347B (zh) * 2009-06-22 2013-11-21 Realtek Semiconductor Corp 處理有限域運算之方法與運算電路
CN102081559B (zh) * 2011-01-11 2013-06-05 华为数字技术(成都)有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置
US9058288B2 (en) * 2011-04-03 2015-06-16 Apple Inc. Redundant storage in non-volatile memory by storing redundancy information in volatile memory
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
CN104516679B (zh) * 2013-09-30 2017-10-17 杭州宏杉科技股份有限公司 一种raid数据处理方法及装置
KR102549605B1 (ko) 2016-03-04 2023-06-30 삼성전자주식회사 Raid 스토리지 장치의 리커버리 방법
CN107885486B (zh) * 2017-12-04 2021-09-07 深圳职业技术学院 一种基于查找树的复合有限域求逆装置
US11016850B2 (en) * 2018-03-20 2021-05-25 Veritas Technologies Llc Systems and methods for detecting bit rot in distributed storage devices having failure domains
CN111078472B (zh) * 2019-12-23 2023-06-02 四川效率源信息安全技术股份有限公司 一种raid6缺失磁盘后的数据恢复方法
CN111679793B (zh) * 2020-06-16 2023-03-14 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
CN112114997A (zh) * 2020-09-11 2020-12-22 北京易安睿龙科技有限公司 一种辅助实现纠删码程序的工作方法
US20230082636A1 (en) * 2021-09-16 2023-03-16 Micron Technology, Inc. Parity data modification for partial stripe data update

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047833A (ja) * 1998-05-15 2000-02-18 Quantum Corp 符号化のためのシステムおよび復号器
JP2000259359A (ja) * 1999-03-04 2000-09-22 Toshiba Corp Raid装置および記録媒体
JP2005149224A (ja) * 2003-11-17 2005-06-09 Nec Corp ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路
JP2008525898A (ja) * 2004-12-23 2008-07-17 インテル・コーポレーション シンドローム生成及びデータ復旧のための方法及びシステム
JP2008176621A (ja) * 2007-01-19 2008-07-31 Fujitsu Ltd Raid装置及びガロア体の積演算処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2217882B (en) * 1988-04-29 1992-06-10 Philips Electronic Associated Arithmetic apparatus
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
US6779011B2 (en) * 2001-02-28 2004-08-17 Maxtor Corporation System for performing multiplication and division in GF(22M)
KR20040057367A (ko) * 2002-12-26 2004-07-02 삼성전자주식회사 데이터 복호화 방법 및 장치
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
US7519629B2 (en) * 2004-09-30 2009-04-14 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
TWI285313B (en) * 2005-06-22 2007-08-11 Accusys Inc XOR circuit, RAID device capable of recover a plurality of failures and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047833A (ja) * 1998-05-15 2000-02-18 Quantum Corp 符号化のためのシステムおよび復号器
JP2000259359A (ja) * 1999-03-04 2000-09-22 Toshiba Corp Raid装置および記録媒体
JP2005149224A (ja) * 2003-11-17 2005-06-09 Nec Corp ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路
JP2008525898A (ja) * 2004-12-23 2008-07-17 インテル・コーポレーション シンドローム生成及びデータ復旧のための方法及びシステム
JP2008176621A (ja) * 2007-01-19 2008-07-31 Fujitsu Ltd Raid装置及びガロア体の積演算処理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499224B2 (en) 2009-03-31 2013-07-30 Nec Corporation Redundant code generation method and device, data restoration method and device, and raid storage device
JP2011008583A (ja) * 2009-06-26 2011-01-13 Toshiba Corp ディスクアレイ制御装置及びディスクアレイ装置
JP2013077062A (ja) * 2011-09-29 2013-04-25 Nec Corp ディスクアレイ装置およびディスクアレイ制御用プログラム
US9081738B2 (en) 2011-09-29 2015-07-14 Nec Corporation Disk array device, disk array control method, and recording medium
US9697081B2 (en) 2014-04-25 2017-07-04 Fujitsu Limited Storage control device and data recovery method
JP2018198358A (ja) * 2017-05-23 2018-12-13 株式会社ダイテック 誤り訂正プログラム、及び、誤り訂正装置

Also Published As

Publication number Publication date
JP4905161B2 (ja) 2012-03-28
KR20080071907A (ko) 2008-08-05
US20080184067A1 (en) 2008-07-31
EP1953920A3 (en) 2012-08-01
CN101236517A (zh) 2008-08-06
CN101236517B (zh) 2010-06-02
EP1953920A2 (en) 2008-08-06
US7984361B2 (en) 2011-07-19
KR100928882B1 (ko) 2009-11-30
EP1953920B1 (en) 2016-09-28

Similar Documents

Publication Publication Date Title
JP4905161B2 (ja) Raid装置及びガロア体を用いたデータ復元装置
US7779335B2 (en) Enhanced error identification with disk array parity checking
EP1828899B1 (en) Method and system for syndrome generation and data recovery
Jin et al. P-Code: A new RAID-6 code with optimal properties
US8327080B1 (en) Write-back cache protection
US7669107B2 (en) Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US20080022150A1 (en) Method and system for improved buffer utilization for disk array parity updates
US8131794B2 (en) RAID system and Galois field product computation method
KR101522509B1 (ko) 갈루아 필드 산술을 사용하는 효율적이고 스케일링가능한 순환 중복 검사 회로
US20080040415A1 (en) Raid environment incorporating hardware-based finite field multiplier for on-the-fly xor
JP2008117395A (ja) フォールトトレラントデータストレージシステムにおけるブロックレベルのデータ破損の検出および訂正
US8484506B2 (en) Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality
US20150100819A1 (en) Method of Recovering Data in a Storage Device
CN107615248B (zh) 分布式数据存储方法、控制设备和系统
US9400715B1 (en) System and method for interconnecting storage elements
JP5278115B2 (ja) 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置
CN108352845A (zh) 用于对存储数据进行编码的方法以及装置
JP5440884B2 (ja) ディスクアレイ装置およびディスクアレイ制御用プログラム
JP5131379B2 (ja) Raid装置及びガロア体の積演算処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091016

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

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

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4905161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees