"データをn分割し、分割されたデータを各々格納するn台のデータストレージユニットと、前記分割されたデータの組み合わせから得た第1のパリテイデータと、パリテイの生成方程式におけるガロア体の元を前記分割されたデータに積演算し、且つ積演算結果を用いて前記生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、前記データをn分割し、前記第1のパリテイデータと第2のパリテイデータとを演算し、前記第1のパリテイデータと第2のパリテイデータとを前記パリテイストレージユニットに格納する制御ユニットとを有し、前記制御ユニットは、前記n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、前記積演算を実行することを特徴とするRAID装置。データをn分割し、分割されたデータを各々格納するn台のデータストレージユニットのデータのパリテイデータをガロア体を用いて生成するためのガロア体積演算処理方法において、前記n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、積演算を実行するステップと、前記積演算結果で、前記パリテイのガロア体を用いた生成方程式を演算するステップを有することを特徴とするガロア体積演算処理方法。この従来のガロア体の積演算処理では、複数シンボル上の例では、4シンボルの並列処理を実現できるが、α倍するには、9ステップの演算が必要となる。従って、αのn乗倍を演算するには、9nステップの演算回数が必要となる。特に、近年の記憶容量の増大に伴い、対象データのシンボル数データディスク装置の数も増大する傾向にあり、例えば、2台のパリテイディスク装置に対し、14台のデータディスク装置を設けてRAID6を構成する場合には、αの13乗倍を演算する必要があり、913=117ステップの演算が必要となり、更なるステップ数の削減が望まれる。又、繰り返しにより、演算する場合には、その繰り返し数又は反復回数積演算アルゴリズムのループ回数が少ないことが、高速化のため、望まれる。更に、生成処理のみならず、復元処理においても、ガロア体の積演算処理に、反復回数が少ないことが、処理時間短縮の点で、望まれる。従って、本発明の目的は、ガロア体積演算の処理時間を短縮するためのRAID装置及びガロア体の積演算処理方法を提供することにある。又、本発明の他の目的は、ガロア体積演算の並列処理のステップ数を低減するためのRAID装置及びガロア体の積演算処理方法を提供することにある。更に、本発明の他の目的は、ガロア体積演算の並列処理の繰り返し数を低減するためのRAID装置及びガロア体の積演算処理方法を提供することにある。この目的の達成のため、本発明のRAID装置は、データをn分割し、分割されたデータを各々格納するn台のデータストレージユニットと、前記分割されたデータの組み合わせから得た第1のパリテイデータと、パリテイの生成方程式におけるガロア体の元を前記分割されたデータに積演算し、且つ積演算結果を用いて前記生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、前記データをn分割し、前記第1のパリテイデータと第2のパリテイデータとを演算し、前記第1のパリテイデータと第2のパリテイデータとを前記パリテイストレージユニットに格納する制御ユニットとを有し、前記制御ユニットは、前記n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、前記積演算を実行する。更に、本発明のガロア体の積演算処理方法は、データをn分割し、分割されたデータを各々格納するn台のデータストレージユニットのデータのパリテイデータをガロア体を用いて生成するためのガロア体積演算処理方法において、前記n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、積演算を実行するステップと、前記積演算結果で、前記パリテイのガロア体を用いた生成方程式を演算するステップを有する。更に、本発明では、好ましくは、前記制御ユニットは、前記n分割されたデータのシフト、シフトによる桁上がりデータの抽出、桁上がりデータのマスク作成、前記マスクを使用して、前記シフトされたデータと補正値とのXOR演算を行い、α倍の積演算結果を演算する。更に、本発明では、好ましくは、前記制御ユニットは、前記積演算を、m回繰り返し、α^m倍の積演算結果を演算する。更に、本発明では、好ましくは、前記制御ユニットは、前記データストレージユニットの任意のデータストレージユニットの障害時に、前記障害発生したデータストレージユニットのデータを未知データとし、前記第1のパリテイデータ及び第2のパリテイデータと、前記障害発生したデータストレージユニット以外の前記データストレージユニットのデータとを用いて、前記ガロア体の連立方程式から、前記未知データを復元する。n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、積演算を実行するので、少ない繰り返し回数で、各データのガロア体の積演算が可能となる。以下、本発明の実施の形態を、RAID装置、ガロア体積演算処理、他のガロア体積演算処理、更に他のガロア体積演算処理、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。RAID装置図1は、本発明の一実施の形態のRAID装置の構成図、図2は、そのガロア体を用いたパリテイ演算の説明図である。図1に示すように、RAID装置は、ホストコンピュータ16に接続されたRAIDコントローラ12と、RAIDコントローラ12にFCFibreChannelループ14等により接続され、且つ制御される複数ここでは、14台のデータディスク装置ハードディスクドライブ10-1~10-14と、2台のパリテイディスク装置ハードディスクドライブ10-15,10-16とからなる。即ち、2重パリテイを持つRAID6の構成である。図2に示すように、第1のパリテイPは、データディスク装置10-1~10-14の列方向のデータD1~D14のXORで生成され、第1のパリテイディスク装置10-15の対応アドレスに格納される。第2のパリテイQは、データディスク装置10-1~10-14の列方向のデータD1~D14を、ガロア体の積演算による重み付け後に、XORして生成され、第2のパリテイディスク装置10-16の対応アドレスに格納される。即ち、パリテイQは、下記式1で演算される。尚、記号は、XOR演算を示す。これらのパリテイ演算は、RAIDコントローラ12が、実行する。ここで、1シンボルを16ビットとすると、ガロア体は、GF2の16乗であり、その原始多項式生成多項式は、下記式2で表される。又、この実施例で、ガロア体積演算に使用されるマスク値は、32768であり、16ビットのデータの最上位ビットのみが、1のデータである。又、値4107は、式2の原始多項式のxの16乗を除き、xに2を代入して得た値である。RAIDコントローラ12は、データをディスク装置10-1~10-4にライト処理する際に、XOR演算により、パリテイPを計算し、第1のパリテイディスク装置10-15に格納し、以下で説明するガロア体の積演算処理とXOR演算を行い、パリテイQを計算し、第2のパリテイディスク装置10-16に格納する。ガロア体積演算図3は、本発明の一実施の形態のガロア体積演算処理フロー図、図4は、図3の詳細処理フロー図、図5は、図3及び図4の具体例の説明図、図6は、桁上がりシンボルの積演算の説明図である。図3以下では、1シンボルを16ビットとして、8シンボルを並列処理する例で説明する。例えば、インテル社登録商標のCPUでは、MMX命令セットが備わっている。MMX命令セットは、xmmレジスタを使用する。このxmmレジスタを用いて、並列処理を行う。xmmレジスタ長は、16Byteであり、1度に、1シンボルが16ビットの時、8シンボルのデータの重み付けの並列処理が行える。図3により、ガロア体積演算の基本的処理を説明する。S10先ず、xmm1レジスタに、8シンボルをロードする。S12次に、xmm1レジスタの各シンボルを、左に1ビットシフトし、各シンボルの値を2倍とする。S14マスク値を用いて、シフトにより値が小さくなるシンボル即ち、最上位ビットの桁上がりが生じるシンボルを検出する。S16シフトしたシンボルの内、値が小さくなったシンボルに、予め定めた値4107をXORする。次に、図4により、MMXを用いた重み付け処理を詳細に説明する。又、図5、図6を用いて、データディスク番号i=2のガロア体の重み付けガロア体の積演算処理を例に、具体的に説明を行う。データディスク番号i=2の場合には、式1のパリテイQの生成多項式から、データDi=2に、α倍の重みづけを行う。S20xmmレジスタに、データを代入し、処理すべき繰り返し回数MAXを設定する。例えば、ディスク番号i=2の場合には、MAX=1である。又、繰り返し回数ポインタiを0に初期化する。更に、MAX=0の場合には、xmmレジスタの内容を出力し、以下のステップを実行しないこととする。例えば、図5に示すように、データディスク番号i=2のディスクから、重み付けを行う8シンボル1シンボル、16ビットのデータDi=2データをピックアップし、これをxmm1レジスタに代入する図5のxmm1。又、32768と4107の値が入力された8シンボルのデータv32768,v4107を用意する。値32768は、16ビット目のみに1の値があることを示し、シフトにより桁上げが生じるシンボルを検出するためのデータである。値4107は、16ビットのガロア体GF2^16の原始多項式x16x12x3x1のx12x3x1に、x=2を代入した値である。即ち、4096821=4107である。S22次に、移動命令MOVQに応じて、xmm1レジスタに代入された値を、xmm2レジスタに移動する。シフト命令PSLLWに応じて、xmm2レジスタの各シンボルを、左に上位方向に1ビットシフトする図5のxmm2。これにより、各シンボルは、2倍=α倍されるが、1シンボルが、16ビットのため、桁上げされたビット部分は、オーバーフローする。このため、図5のxmm2に示すように、値が2倍になる箇所一重下線と、シフト前よりも値が小さくなる箇所二重下線がある。シフト前よりも値が小さくなる箇所は、オーバーフローした箇所である。S24この値が小さくなる箇所シンボルのみに、値4107のXORを行う。このため、先ず、値が小さくなったシンボルを抽出し、その抽出したシンボルの値を、オール1即ち、65535とする。図6も参照して、説明する。AND命令PANDに応じて、図5のxmm1レジスタの各シンボルの値と、v32768の値32768との論理積ANDをとり、xmm1レジスタを更新する。図4及び図5のxmm1v32768に示すように、8シンボルの内、オーバーフローしたシンボル値が小さくなったシンボルのみが、値32768に置き換えられ、オーバーフローしないシンボルは、値0に置き換えられる。次に、8シンボルの値判定を行い、シンボルの値を、値65535又は値0に置き換える。即ち、比較及び最大値設定命令PCMPEQWに応じて、xmm1v32768の各シンボルの値と、値32768を比較して、両者が一致すると、そのシンボルの16ビットを、オール1=65535に置き換え、両者が一致しないと、そのシンボルの16ビットを、オール0=0に置き換える。これにより、値4107のマスクを作成する。S26そして、AND命令PANDに応じて、このxmm1レジスタの各シンボルの値と、v4107の値4107の論理積ANDをとり、xmm1レジスタを更新する。これにより、8シンボルのxmm1レジスタの内、値が小さくなったシンボルのみが、値4107に置き換えられ、値が小さくならないシンボルは、値0に置き換えられる。S28XOR命令PXORに応じて、この更新されたxmm1レジスタの各シンボルの値と、ステップS22で得たxmm2レジスタの各シンボルの値とのXOR排他的論理輪をとり、α倍の重みづけを行った結果を得る。S30breakが、検出された時に、処理を停止し、xmm1の値を確定する。それ以外は、ステップS24に戻る。S32α倍計算処理開始にあたり、繰り返し回数ポインタiを、1インクリメントする。そして、繰り返し回数ポインタiが、設定繰り返し回数MAX以上であるかを判定する。繰り返し回数ポインタiが、設定繰り返し回数MAX以上でなければ、ステップS24に進む。S34一方、繰り返し回数ポインタiが、設定繰り返し回数MAX以上である場合には、設定した繰り返し回数が終了したので、breakを通知し、xmm1を結果として、出力する。例えば、図5において、第2番目のシンボルの値36934を単純に2倍すると、73868となるが、1シンボルが16ビットに制限されるため、オーバーフローが生じ、そのシンボルの値は、1ビットオーバーフローしているため、16ビット表示で、8332=73868-65536となる。しかし、第2番目のシンボルの2倍値の有意ビットは、17ビットから2ビット目の16ビットである。この有意ビットを補正するため、補正値4107を使用し、値12423に変換する。ステップS22~S28の処理は、どれもレイテンシが小さいレイテンシ=2命令で実現でき、処理時間を短くすることができる。αj倍の重みづけでは、ステップS22~S28の処理をj回繰り返す。ここで、この実施の形態のマスク処理を、図6で説明する。図6は、シフトにより値が小さくなったシンボルを抽出するマスク処理を示し、先ず、xmm1レジスタの値と、v32768のアンドで、オーバーフローシンボルと、オーバーフローしないシンボルを識別する。次に、これらのシンボルと、値32768を比較し、両者が一致するシンボルを、オール1=65535に置き換え、マスクを作成する。そして、値v4107とのアンドをとり、求めるxmm1を得る。一方、図17に示すように、従来技術では、元のシンボルvに、値0x80808080をアンドし、オーバーフローシンボルと、オーバーフローしないシンボルを識別する。次に、この結果から、マスクを作成するため、この結果を、左1ビットシフトしたものを作成し、且つ右に7ビットシフトしたものを作成し、これらのシフト結果を引き算する。即ち、本実施の形態では、図6のマスク処理は、マスク作成に、ANDと、比較命令の2命令で行っているのに対し、従来は、AND,シフト2回、引き算命令の4命令で実行している。更に、本実施の形態では、図5に示すように、左シフトは、シンボル単位に、独立で行っているのに対し、従来技術では、図16に示すように、レジスタ全体、即ち、4シンボル単位で行っている。このため、従来技術では、シフト後、シンボルの右端が、右隣のシンボルの最上位ビットに影響されないように、シンボルの右端を、強制的に、0に置き換える処理が余分に必要である。従って、従来は、9命令で実行していたものを、本実施の形態では、6命令で実行できる。即ち、α倍するのに、2/3の処理時間で済み、高速に、ガロア体の積演算を実行できる。例えば、αの13乗の積演算では、従来は、9×13=117命令ステップ必要としたのに対し、本実施の形態は、6×13=78命令ステップで済む。更に、式1の積演算では、従来は、9×12345678910111213=91=819命令の実行を要するが、本実施の形態では、6×12345678910111213=91=546命令の実行で済み、高速に、ガロア体積演算を実行できる。更に、本実施の形態では、8シンボルを並列処理できるため、従来の4シンボルの並列処理に比し、更に2倍の高速処理が可能となり、結果として、1/3の処理時間で、ガロア体積演算を実現できる。他のガロア体積演算処理図7は、本発明のガロア体積演算処理の他の実施の形態の処理フロー図、図8は、図7の重み付け処理の説明図、図9は、図7のα-1倍の積演算処理フロー図、図10は、そのオペレーションの説明図、図11は、図9の詳細処理フロー図である。前述の実施の形態は、ガロア体の積演算処理の1回の処理時間を短縮するものであったが、この実施の形態は、積演算処理の並列処理アルゴリズムのループ回数が少なくなるように、ガロア体の元を決定し、ガロア体の積演算処理時間を短縮するものである。図7に示すように、図1乃至図2と同様に、データディスク装置を14台で構成した例とすると、データディスク番号iに対し、i=1~8の場合は、αi-1倍による重み付けを行い、図4乃至図6の重み付け演算処理を行い、i=9~14の場合は、α-i8倍による重み付けを行い、図8以下で説明するα-1倍の重みづけアルゴリズムを使用する。この重み付けの割り振りを一般化すると、データディスク装置をn台で構成した例とすると、/2より大きな最小の整数をsとする時に、データディスク番号i=1~s1の場合は、α^i-1倍による重み付けを行い、図4乃至図6の重み付け演算処理を行い、i=s2~nの場合は、α-is1倍による重み付けを行う。α倍の重みづけ処理は、図4乃至図6で説明したので、ここでは、説明を省略し、α-1倍の重み付け処理を、図8乃至図11で説明する。図8に示すように、第1のパリテイPは、データディスク装置10-1~10-14の列方向のデータD1~D14のXORで生成され、第1のパリテイディスク装置10-15の対応アドレスに格納される。第2のパリテイQは、データディスク装置10-1~10-14の列方向のデータD1~D14を、ガロア体の積演算による重み付け後に、XORして生成され、第2のパリテイディスク装置10-16の対応アドレスに格納される。即ち、パリテイQは、下記式3で演算される。尚、記号は、XOR演算を示す。これらのパリテイ演算は、RAIDコントローラ12が、実行する。ここで、1シンボルを16ビットとすると、ガロア体は、GF2の16乗であり、その原始多項式生成多項式は、前記式2で表される。又、この実施例で、α-1倍のガロア体積演算に使用されるマスク値は、1であり、16ビットのデータの最下位ビットのみが、1のデータである。又、値34821は、式2の原始多項式をxで割り、割った式のxに2を代入して得た値である。RAIDコントローラ12は、データをディスク装置10-1~10-14にライト処理する際に、XOR演算により、パリテイPを計算し、第1のパリテイディスク装置10-15に格納し、以下で説明するガロア体の積演算処理とXOR演算を行い、パリテイQを計算し、第2のパリテイディスク装置10-16に格納する。図9以下でも、1シンボルを16ビットとして、8シンボルを並列処理する例で説明する。例えば、インテル社登録商標のCPUでは、MMX命令セットが備わっている。MMX命令セットは、xmmレジスタを使用する。このxmmレジスタを用いて、並列処理を行う。xmmレジスタ長は、16Byteであり、1度に、1シンボルが16ビットの時は、8シンボルのデータの重み付けの並列処理が行える。図9により、α-1倍のガロア体積演算の基本的処理を説明する。S40先ず、xmm1レジスタに、8シンボルをロードする。S42次に、xmm1レジスタの各シンボルを、右方向最下位ビット方向に1ビットシフトし、各シンボルの値を1/2倍とする。S44マスク値を用いて、シフトにより値の桁落ちが生じるシンボル即ち、対象シンボルの最下位ビット1が、消失するシンボルを検出する。S46シフトしたシンボルの内、桁落ちしたシンボルに、予め定めた値34821をXORする。次に、図11により、MMXを用いた重み付け処理を詳細に説明する。又、図10を用いて、データディスク番号i=9のα-1倍のガロア体の重み付けガロア体の積演算処理を例に、具体的に説明を行う。データディスク番号i=9の場合には、式3のパリテイQの生成多項式から、データDi=9に、α-1倍の重みづけを行う。S50xmmレジスタに、データを代入し、処理すべき繰り返し回数MAXを設定する。例えば、ディスク番号i=9場合には、MAX=1である。又、繰り返し回数ポインタiを0に初期化する。例えば、図5と同様に、データディスク番号i=9のディスクから、重み付けを行う8シンボル1シンボル、16ビットのデータDi=9データをピックアップし、これをxmm1レジスタに代入する図10の1。又、1と34821の値が入力された8シンボルのデータv1,v34821を用意する。値1は、最下位である1ビット目のみに1の値があることを示し、左シフトにより桁落ちが生じるシンボルを検出するためのデータである。値34281は、16ビットのガロア体GF2^16の原始多項式x16x12x3x1から1を除き、且つこの結果をxで割った多項式x15x11x21に、x=2を代入した値である。この意味は、16ビットのガロア体GF2^16の原始多項式α16α12α3α1=0の原則により、α16α12α3α=1が成立する。このαに2を代入すると、69642=1が得られる。両辺を右最下位方向に1ビットシフトすると、34821=値が消失、となる。16ビットデータの右辺に、1が有る場合に、右シフトすると、右辺の1が消失するため、34821をXORすることにより、値を補正するものである。S52次に、移動命令MOVQに応じて、xmm1レジスタに代入された値を、xmm2レジスタに移動する。シフト命令PSRLWに応じて、xmm2レジスタの各シンボルを、右に下位方向に1ビットシフトする図10の2のxmm2。これにより、各シンボルは、1/2倍=α-1倍されるが、1シンボルが、16ビットのため、桁落ちされたビット部分は、アンダーフローする。このため、図5と同様に、値がそのまま2倍になる箇所と、桁落ちする箇所アンダーフローした箇所とが混在する。S54この桁落ちした箇所シンボルのみに、値34821のXORを行う。このため、先ず、桁落ちしたシンボルを抽出し、その抽出したシンボルの値を、オール1即ち、65535とする。即ち、AND命令PANDに応じて、図10のxmm1レジスタの各シンボルの値と、v1の値1との論理積ANDをとり、xmm1レジスタを更新する。xmm1v1は、8シンボルの内、最下位桁が1であるシンボルのみが、値1に置き換えられ、それ以外は、値0に置き換えられる。次に、8シンボルの値判定を行い、シンボルの値を、値65535又は値0に置き換える。即ち、比較及び最大値設定命令PCMPEQWに応じて、xmm1v1の各シンボルの値と、値1を比較して、両者が一致すると、そのシンボルの16ビットを、オール1=65535に置き換え、両者が一致しないと、そのシンボルの16ビットを、オール0=0に置き換える。これにより、値34821のマスクを作成する。S56そして、AND命令PANDに応じて、このxmm1レジスタの各シンボルの値と、v34821の値34821の論理積ANDをとり、xmm1レジスタを更新する。これにより、8シンボルのxmm1レジスタの内、最下位桁が1のシンボルのみが、値34821に置き換えられ、それ以外のシンボルは、値0に置き換えられる。S58XOR命令PXORに応じて、この更新されたxmm1レジスタの各シンボルの値と、ステップS52で得たxmm2レジスタの各シンボルの値とのXOR排他的論理輪をとり、α-1倍の重みづけを行った結果を得る。S60breakが、検出された時に、処理を停止し、xmm1の値を確定する。それ以外は、ステップS54に戻る。S62α^-1倍計算処理開始にあたり、繰り返し回数ポインタiを、1インクリメントする。そして、繰り返し回数ポインタiが、設定繰り返し回数MAX以上であるかを判定する。繰り返し回数ポインタiが、設定繰り返し回数MAX以上でなければ、ステップS54に進む。S64一方、繰り返し回数ポインタiが、設定繰り返し回数MAX以上である場合には、設定した繰り返し回数が終了したので、breakを通知し、xmm1を結果として、出力する。このように、このα-1倍の重み付けアルゴリズムの特徴は、xmmレジスタに代入された値を、右1ビットシフトする点であり、基本的な考え方はα倍の重みづけアルゴリズムと同じである。出力は、ディスク番号i=9~14に対し、α倍の重みづけ結果が出力される。このように、ガロア体の元は、各ディスクで異なれば良く、必ずしも、式1のように、ディスク番号iに比例する乗数を持つガロア体の元を使用しなくても良い。これを利用して、α倍と、α-1倍の重み付け処理を用い、且つ繰り返し数が最小となるディスク番号iで、使用するガロア体を、αi-1倍と、α-i8倍の重みを割り振る。これにより、図7及び図8では、ループ回数が、最大7回となる。もし、図4の方法のみで行うと、ループ回数は、最大13回となり、この実施の形態による、ループ回数の削減の効果は、大きい。又、この実施の形態では、α倍と、α-1倍の重み付け処理を、図4の例で説明したが、他の1回の繰り返しでα倍、n回の繰り返しで、αn倍の積演算ができる他の方法も適用できる。勿論、図4の実施の形態の積演算処理を使用すれば、本実施の形態でも、6命令で実行でき、α倍するのに、2/3の処理時間で済み、高速に、ガロア体の積演算を実行できる。同様に、8シンボルを並列処理できるため、従来の4シンボルの並列処理に比し、更に2倍の高速処理が可能となり、結果として、1/3の処理時間で、ガロア体積演算を実現できる。更に別のガロア体積演算処理図12は、本発明のガロア体積演算処理の更に別の実施の形態の処理フロー図、図13は、図12の処理の説明図である。この実施の形態は、図4乃至図6の実施の形態のα倍演算処理を使用した任意のガロア体の元αk倍の重みづけ処理を示し、最大反復回数が15回で済むというメリットがある。この積演算処理は、特に、k倍のkが大きい時に、有効であり、ディスクの2重故障を復元させる際に使用することが好適である。図13に示すように、例えば、16ビットのガロア体GF2^16の最大のガロア体の元α33653倍αの33653乗の重みづけを行う際に、図4のα倍の重みづけアルゴリズムを用いた場合では、反復回数が33653回、図7のα倍の重みづけアルゴリズムを用いた場合では、反復回数が31882回必要となり、効率的とは言えない。そこで、このようなケースでは、任意のガロア体重みづけアルゴリズムを使用する。このアルゴリズムは、ガロア体のベクトル表現を使用するところに特徴がある。任意のガロア体の元は、下記4式の関係がある。但し、gfwiは、0又は1のいずれかである。即ち、任意のガロア体を、2進数のベクトル表現gfwgfwで表すことができる。又、1シンボルDのαk倍の重み付けは、下記5式のように、分配法則が成立する。図12及び図13の重み付け処理は、この分配法則を用いて重み付けを行う。例えば、α33653倍の重みづけを行う場合には、ガロア体の法則から、下記6式の関係がある。従って、前述のベクトル表現では、gfwgfwとなる。また、反復回数は、gfw1となる最大のiを設定値として使用するため、反復回数MAX=2と設定する。この理由は、α3Dα4Dの重み付けを、必要としないため、反復回数MAXを2に指定することで、余分な反復回数を減らすことが可能となり、処理時間を短縮する効果がある。図13は、8シンボルデータD1,D2,D3,D4,D5,D6,D7,D8のα33653倍の重みづけの例を示す。MAX=2回反復を繰り返すとき、α01倍α1倍α2倍の重みづけデータが作成される。このうち、gfw=1となるi回目のαi倍重み付けデータを足し算XORする。この例の場合には、0回目と2回目の重み付けデータを足し算XORする。これにより、目的の重み付けデータα^33653Djj=1,2,、8を、α^0Djα^2Djにより、得ることができる。図12により処理を説明する。S70xmm1レジスタに、データを代入し、処理すべき繰り返し回数MAXを設定する。xmm2レジスタを、v0オール0に初期化する。又、繰り返し回数ポインタiを0に初期化する。更に、MAX=0の場合には、xmmレジスタ1の内容を出力し、以下のステップを実行しないこととする。そして、ベクトルgfwを設定する。又、図4と同様に、32768と4107の値が入力された8シンボルのデータv32768,v4107を用意する。値32768は、16ビット目のみに1の値があることを示し、シフトにより桁上げが生じるシンボルを検出するためのデータである。値4107は、16ビットのガロア体GF2^16の原始多項式x16x12x3x1のx12x3x1に、x=2を代入した値である。即ち、4096821=4107である。S72次に、移動命令MOVQに応じて、xmm1レジスタに代入された値を、xmm3レジスタに移動する。シフト命令PSLLWに応じて、xmm3レジスタの各シンボルを、左に上位方向に1ビットシフトする。これにより、各シンボルは、2倍=α倍されるが、1シンボルが、16ビットのため、桁上げされたビット部分は、オーバーフローする。このため、値が2倍になる箇所と、シフト前よりも値が小さくなる箇所がある。シフト前よりも値が小さくなる箇所は、オーバーフローした箇所である。S74この値が小さくなる箇所シンボルのみに、値4107のXORを行う。このため、先ず、値が小さくなったシンボルを抽出し、その抽出したシンボルの値を、オール1即ち、65535とする。即ち、AND命令PANDに応じて、xmm1レジスタの各シンボルの値と、v32768の値32768との論理積ANDをとり、xmm1レジスタを更新する。8シンボルの内、オーバーフローしたシンボル値が小さくなったシンボルのみが、値32768に置き換えられ、オーバーフローしないシンボルは、値0に置き換えられる。次に、8シンボルの値判定を行い、シンボルの値を、値65535又は値0に置き換える。即ち、比較及び最大値設定命令PCMPEQWに応じて、xmm1v32768の各シンボルの値と、値32768を比較して、両者が一致すると、そのシンボルの16ビットを、オール1=65535に置き換え、両者が一致しないと、そのシンボルの16ビットを、オール0=0に置き換える。これにより、値4107のマスクを作成する。S76そして、AND命令PANDに応じて、このxmm1レジスタの各シンボルの値と、v4107の値4107の論理積ANDをとり、xmm1レジスタを更新する。これにより、8シンボルのxmm1レジスタの内、値が小さくなったシンボルのみが、値4107に置き換えられ、値が小さくならないシンボルは、値0に置き換えられる。S78XOR命令PXORに応じて、この更新されたxmm1レジスタの各シンボルの値と、ステップS72で得たxmm3レジスタの各シンボルの値とのXOR排他的論理輪をとり、α倍の重みづけを行った結果を得る。S80breakが、検出された時に、処理を停止し、xmm1の値を確定する。それ以外は、ステップS74に戻る。S82XOR計算部では、移動命令MOVQに応じて、xmm1レジスタの処理結果を、xmm4レジスタに移動する。S84その処理時のgfwiが、1であるかを判定する。S86gfwiが、1である場合には、前述のように、XORの対象であるため、xmm2レジスタの内容とxmm4レジスタの内容とのXORを演算し、演算結果で、xmm2レジスタを更新する。S88繰り返し回数ポインタiを、1インクリメントする。S90そして、繰り返し回数ポインタiが、設定繰り返し回数MAX以上であるかを判定する。繰り返し回数ポインタiが、設定繰り返し回数MAX以上でなければ、ステップS74に進む。S92一方、繰り返し回数ポインタiが、設定繰り返し回数MAX以上である場合には、設定した繰り返し回数が終了したので、breakを、α倍計算部のループに通知し、xmm2を結果として、出力する。このように、αk倍の重みづけ処理の最大反復回数を減少でき、kが大きい時に、有効であり、ディスクの2重故障を復元させる際に使用すると、高速に復元できる。他の実施の形態前述の実施の形態では、14台のデータディスク装置と2台のパリテイディスク装置とで構成されるRAID6のストレージ装置で、説明したが、他の台数の構成にも適用できる。又、パリテイQの生成は、図4の実施の形態又は図11の他の実施の形態のガロア体積演算処理を使用し、パリテイP、Qを使用した2重故障の復元には、図12の更に別の実施の形態のガロア体積演算処理を使用することが、パリテイ生成と復元の両方を高速に実行できる。しかし、パリテイQの生成は、図4の実施の形態又は図11の他の実施の形態のガロア体積演算処理を使用し、パリテイP,Qによる二重故障の復元も、図4の実施の形態又は図11の他の実施の形態のガロア体積演算処理を使用することもできる。又、パリテイQの生成及びパリテイP,Qによる二重故障の復元とも、図4の実施の形態を含む図12の更に別の実施の形態のガロア体積演算処理を使用することもできる。以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。付記1データを分割し、分割されたデータを各々格納する複数のデータストレージユニットと、前記分割されたデータの組み合わせから得た第1のパリテイデータと、パリテイの生成法定式におけるガロア体の元を前記分割されたデータに積演算し、且つ積演算結果を用いて前記生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、前記データを分割し、前記第1のパリテイデータと第2のパリテイデータとを演算し、前記第1のパリテイデータと第2のパリテイデータとを前記パリテイストレージユニットに格納する制御ユニットとを有し、前記制御ユニットは、前記分割されたデータの各々をレジスタにロードし、且つレジスタの各データを上位桁方向にビットシフトし、前記ロードされたデータと前記シフトにより桁上がりビットを検出するための固定値との論理積をとり、且つ前記論理積の結果と前記固定値とを比較して、前記桁上がりビットを有するデータを、前記データの最大値に置き換え、マスクを作成し、前記マスクの最大値と前記桁上がりを補正する補正値との論理積を演算し、前記演算結果と前記シフトされたデータとの排他的論理和XORを演算して、前記データを前記ガロア体の元で積演算した結果を得ることを特徴とするRAID装置。付記2前記制御ユニットは、前記データストレージユニットの任意のデータストレージユニットの障害時に、前記障害発生したデータストレージユニットのデータを未知データとし、前記第1のパリテイデータ及び第2のパリテイデータと、前記障害発生したデータストレージユニット以外の前記データストレージユニットのデータとを用いて、前記ガロア体の連立方程式から、前記未知データを復元することを特徴とする付記1のRAID装置。付記3前記制御ユニットは、最上位ビットのみが1である前記データのビット数と同一のビット数を有する前記固定値を使用することを特徴とする付記1のRAID装置。付記4前記制御ユニットは、複数のデータを前記レジスタにロードし、前記複数のデータに対し、前記積演算処理を並列に実行することを特徴とする付記1のRAID装置。付記5前記制御ユニットは、前記ガロア体の原始多項式から得た前記補正値を使用することを特徴とする付記1のRAID装置。付記6前記制御ユニットは、前記ガロア体の元の次数分、前記積演算を繰り返すことを特徴とする付記1のRAID装置。付記7前記制御ユニットは、前記ガロア体の元を、ベクトル表現し、且つ分配法則を用いて、重み付け値を分配して、前記ガロア体の元の積演算を実行することを特徴とする付記1のRAID装置。付記8前記制御ユニットは、前記分配した第1の重み付け値の積演算を第1の重み付け値の回数分実行した後、前記実行結果を用いて、前記積演算を第2の重み付け値の回数分実行し、前記第1の重み付け値の積演算結果と、前記第2の重み付け値の積演算結果の排他的論理和をとり、前記ガロア体の元の積演算結果を得ることを特徴とする付記7のRAID装置。付記9データをn分割し、分割されたデータを各々格納するn台のデータストレージユニットと、前記分割されたデータの組み合わせから得た第1のパリテイデータと、パリテイの生成方程式におけるガロア体の元を前記分割されたデータに積演算し、且つ積演算結果を用いて前記生成方程式を演算して得た第2のパリテイデータとを格納するパリテイストレージユニットと、前記データをn分割し、前記第1のパリテイデータと第2のパリテイデータとを演算し、前記第1のパリテイデータと第2のパリテイデータとを前記パリテイストレージユニットに格納する制御ユニットとを有し、前記制御ユニットは、前記n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、前記積演算を実行することを特徴とするRAID装置。付記10前記制御ユニットは、前記n分割されたデータのシフト、シフトによる桁上がりデータの抽出、桁上がりデータのマスク作成、前記マスクを使用して、前記シフトされたデータと補正値とのXOR演算を行い、α倍の積演算結果を演算することを特徴とする付記9のRAID装置。付記11前記制御ユニットは、前記積演算を、m回繰り返し、α^m倍の積演算結果を演算することを特徴とする付記10のRAID装置。付記12前記制御ユニットは、前記データストレージユニットの任意のデータストレージユニットの障害時に、前記障害発生したデータストレージユニットのデータを未知データとし、前記第1のパリテイデータ及び第2のパリテイデータと、前記障害発生したデータストレージユニット以外の前記データストレージユニットのデータとを用いて、前記ガロア体の連立方程式から、前記未知データを復元することを特徴とする付記9のRAID装置。付記13分散されたデータの各々をレジスタにロードするステップと、前記レジスタの各データを上位桁方向にビットシフトするステップと、前記ロードされたデータと前記シフトにより桁上がりビットを検出するための固定値との論理積をとるステップと、前記論理積の結果と前記固定値とを比較して、前記桁上がりビットを有するデータを、前記データの最大値に置き換え、マスクを作成するステップと、前記マスクの最大値と前記桁上がりを補正する補正値との論理積を演算するステップと、前記演算結果と前記シフトされたデータとの排他的論理和XORを演算して、前記データを前記ガロア体の元で積演算した結果を得るステップとからなることを特徴とするガロア体積演算処理方法。付記14前記固定値との論理積ステップは、最上位ビットのみが1である前記データのビット数と同一のビット数を有する前記固定値を使用するステップからなることを特徴とする付記13のガロア体積演算処理方法。付記15前記ロードステップは、複数のデータを前記レジスタにロードするステップからなり、前記複数のデータに対し、前記シフトステップ、論理積ステップ、作成ステップ、論理積ステップ、排他的論理和ステップを並列に実行することを特徴とする付記13のガロア体積演算処理方法。付記16前記補正値との論理積ステップは、前記ガロア体の原始多項式から得た前記補正値を使用するステップからなることを特徴とする付記13のガロア体積演算処理方法。付記17前記ガロア体の元の次数分、前記積演算を繰り返すステップを、更に、有することを特徴とする付記13のガロア体積演算処理方法。付記18前記ガロア体の元を、ベクトル表現し、且つ分配法則を用いて、重み付け値を分配して、前記ガロア体の元の積演算を実行するステップを、更に、有することを特徴とする付記13のガロア体積演算処理方法。付記19前記実行ステップは、前記分配した第1の重み付け値の積演算を第1の重み付け値の回数分実行するステップと、前記実行結果を用いて、前記積演算を第2の重み付け値の回数分実行するステップと、前記第1の重み付け値の積演算結果と、前記第2の重み付け値の積演算結果の排他的論理和をとり、前記ガロア体の元の積演算結果を得るステップとからなることを特徴とする付記18のガロア体積演算処理方法。付記20データをn分割し、分割されたデータを各々格納するn台のデータストレージユニットのデータのパリテイデータをガロア体を用いて生成するためのガロア体積演算処理方法において、n台のデータストレージユニットの内、/2より大きな最小の整数をsとする時に、i=1~s1番目のデータストレージユニットのデータのガロア体の元として、α^i-1を、i=s2~n番目のデータストレージユニットのデータのガロア体の元を、α^-is1を、重み付けとして、積演算を実行するステップと、前記積演算結果で、前記パリテイのガロア体を用いた生成方程式を演算するステップを有することを特徴とするガロア体積演算処理方法。付記21前記積演算ステップは、前記n分割されたデータのシフト、シフトによる桁上がりデータの抽出、桁上がりデータのマスク作成、前記マスクを使用して、前記シフトされたデータと補正値とのXOR演算を行い、α倍の積演算結果を演算するステップからなることを特徴とする付記20のガロア体積演算処理方法。付記22前記積演算を、m回繰り返し、α^m倍の積演算結果を演算するステップを、更に有することを特徴とする付記21のガロア体積演算処理方法。"