(57)【要約】      （修正有）【課題】取り外し可能な記録媒体を安価に冗長化するストレージシステムを提供する。【解決手段】ディスクアレイを構成する記憶媒体を、データ格納用と冗長化符号格納用に分け、データ格納用記憶媒体にデータを書き込む際に、そのデータと、その記憶媒体に既に書き込まれているデータと、冗長化符号格納用の記憶媒体に既に書き込まれているデータのみから新たな冗長化符号を算出することで、その他のデータ格納用記憶媒体へのアクセスを必要とせずに冗長性を維持できることを特徴とするストレージシステム。【選択図】図１１
2009223592.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体に対してデータの読み書きする記憶媒体制御手段と、格納したい情報を冗長化する為のデータを算出する冗長化符号取得手段と、任意の記憶媒体に格納されたデータを、その他の記憶媒体に格納された情報から復元する情報復元手段を有することを特徴とするストレージシステム。
【請求項２】
前記する冗長化符号取得手段は、格納したいデータと、そのデータを格納する記憶媒体に既に格納されているデータと、冗長化符号を格納している記憶媒体に格納されているデータのみから冗長化符号を算出し、前記記憶媒体制御手段は、データを書き込む際に、データを書き込む記憶媒体と冗長化符号を格納している記憶媒体のみを使用し、前記情報復元手段は、復元するデータを格納していた記憶媒体以外の記憶媒体の情報を、順次読み出すことで復元に必要な情報を取得することを特徴とし、多数の記憶媒体で構成されたディスクアレイを記憶媒体の数より少ないポートで制御できる、請求項１に記載のストレージシステム。
【請求項３】
前記する冗長化符号取得手段は、ディスクアレイに記憶媒体を追加しても再計算が不要な冗長化符号取を取得することを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記する冗長化符号取得手段は、ディスクアレイを構成する記憶媒体が同じ容量でなくても冗長化符号を取得できることを特徴とする請求項２に記載のストレージシステム。
【請求項５】
前記する記憶媒体制御手段は、データを格納している記憶媒体のみが接続されている状態でもデータを読み出すことができることを特徴とする請求項２に記載のストレージシステム。
【請求項６】
前記する冗長化符号取得手段は、２種類以上の冗長化符号を取得し、前記情報復元手段は、冗長化符号の種類の数と同数の記憶媒介が破損/紛失しても、それらの記憶媒介に格納されていた情報を復元できることを特徴とする請求項２に記載のストレージシステム。
【請求項７】
前記する冗長化符号取得手段は、冗長化符号として、各記憶媒体の同じ位置のデータのパリティ(水平パリティ)と、固定ビット分ずらした位置のデータのパリティ(対角パリティ)を取得することを特徴とする請求項５に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取り外し可能な記憶媒体を用いた、安価で冗長性を持ったストレージシステムに関するものである。
【背景技術】
【０００２】
従来、記憶媒体に冗長性を持たせるためには、多くの場合RAIDが用いられてきた。
RAID0では倍の記憶媒体が必要になるが、RAID3〜6では、ディスクアレイを構成する記憶媒体の数が多くなればなるほど、物理的な記憶容量に対する、有効な記憶容量の比率が高まり、全体のコストが低くなる。
そのため、大量のデータを、低いコストで冗長化するのに有効である。
【非特許文献１】アダプテックジャパン株式会社  によるRAIDの解説  http://www.adaptec.com/ja-JP/products/raid_tech/_education/what_is_RAID.htm
【０００３】
しかしRAIDでは、冗長性を維持するためにはディスクアレイの全ての記憶媒体が計算機に接続されていることが前提となる。
そのため、取り外し可能な記憶媒体でRAIDを構成しても、常に計算機にしている必要があり、取り外し可能であることの優位性が失われてしまう。
【０００４】
また、計算機が備える接続ポート以上の記憶媒体を用いてディスクアレイを構築することができず、容量効率の点でボトムネックになる。
【０００５】
また、ディスクアレイを構成する各記憶媒体の容量を統一するか、または、全ての記憶媒体を、最もサイズの小さい記憶媒体と同じサイズとして扱う必要がある。
そのため、容量が不揃いの記憶媒体を用いてディスクアレイを構築することはできないか、容量の一部を使うことができない。
【０００６】
また、ディスクアレイを拡張する場合、冗長性を維持するためには、追加する記憶媒体だけでなく、既存の全ての記憶媒体のデータを読み取り、冗長化符号を再計算し、データを再書き込みする必要がある。
そのため、容易にディスクアレイを拡張することができない。
【０００７】
またRAID3〜5では2台、RAID6では3台の記憶媒体が破損／紛失などで失われた場合、無事な記憶媒体には情報の断片しかのこされておらず、全ての情報が回復不能になってしまう。
高い容量効率を得るためには、できるだけ多くの記憶媒体でディスクアレイを構築する必要があるが、反対にディスクアレイ全体の情報が失われる危険性も上昇してしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、以下の特徴を持つストレージシステムを構築することにある。
・万一記憶媒体が破損・紛失した際には、ディスクアレイを構築する他の記憶媒体の情報から復元できる
・ディスクアレイを構築する記憶媒体のうちデータを格納する記憶媒体は、その記憶媒体に読み書きしない時は計算機に接続されている必要が無い。
・ディスクアレイを構築する記憶媒体のうちデータを格納する記憶媒体は、その記憶媒体のみが計算機に接続された状態から格納されたデータを読み出すことが出来る。
・容量が統一されない複数の記憶媒体でディスクアレイを構成しても全ての領域を利用できる。
【課題を解決するための手段】
【０００９】
本発明のストレージシステムは、ディスクアレイの一部の記憶媒体を取り外した状態でも冗長性を維持できるように、接続されている一部の記憶媒体が保持するデータから冗長化符号を算出することを最も主要な特徴とする。
【発明の効果】
【００１０】
取り外し可能な記憶媒体は、計算機から取り外して保管、搬送することが可能だが、その際に紛失・破損する危険性も高い。
しかし本発明においては、予め冗長化しておくことでデータの消失を防ぐことができるという利点がある。
【００１１】
本発明においては、ディスクアレイのうち１つまたは２つの記憶媒体に冗長化符号の保存にあてる。
そのため、RAID2〜6と同様に、ディスクアレイを構築する記憶媒体の数が多ければ多いほど容量効率は上昇し、全体のコストは低下する。
【００１２】
本発明においては、データを書き込む場合には、データを書き込む記憶媒体と冗長化符号を格納する記憶媒体のみが接続されている必要がある。
そのため、ディスクアレイの一部のみが接続されている状態でも、ディスクアレイ全体の冗長性を維持したままデータを書き込むことが出来るという利点がある。
また、計算機の接続ポート数に限定されること無く、多数の記憶媒体でディスクアレイを構築することができ、容量効率を上げてコストを下げることができるという利点がある。
【００１３】
本発明においては、ディスクアレイを構成する全ての記憶媒体が接続されていなくても、新しい記憶媒体のみを接続してディスクアレイに追加することが出来る。
そのため、ディスクアレイ全体の容量を容易に拡大することができる。
【００１４】
本発明においては、データを格納している記憶媒体が接続されていればデータを読み出すことができる。
そのため２つまたは３つ以上の記憶媒体が紛失・破損して、その記憶媒体に格納されていたデータを復元できなくなった場合でも、無事な記憶媒体に格納された情報は取り出すことができるという利点がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【実施例１】
【００１６】
図１は、本発明の実施形態に係るストレージシステムの構成を示す図である。
【００１７】
図１に示すように、ストレージシステムは、ストレージシステム制御装置１００とディスクアレイ２００から構成される。
【００１８】
ストレージシステム制御装置１００は、記憶媒体制御部１０１とパリティ演算部１０２からなる。
記憶媒体制御部１０１は、複数の接続ポートを持ち、記憶媒体に対してデータの読み書きを行うことできる。
パリティ演算部１０２は、複数の入力値に対してXOR演算を行うことができる。
【００１９】
ディスクアレイ２００は、複数の記憶媒体２１０〜２５０で構成されている。
【００２０】
記憶媒体２１０は、データ領域２１１と記憶媒体固有情報領域２１２からなる。
データ領域２１１は、データ又は冗長化符号を記録する領域であり、記憶媒体の大部分を占める。
記憶媒体固有情報領域２１２は、記憶媒体固有の情報を記録する領域である。
ストレージシステム制御装置１００は、記憶媒体固有情報領域２１２の情報によって、ポートに接続されている記憶媒体が記憶媒体２１０であることを識別できる。
【００２１】
他の記憶媒体２２０〜２５０についても、記憶媒体２１０と同様である。
【００２２】
記憶媒体２１０〜２５０は、データ格納用と冗長化符号格納用に分けられる。
冗長化符号の種類の数と同数の記憶媒体が冗長化符号格納用として用いられ、他の記憶媒体がデータ格納用として使用される。
【００２３】
図２は、１種類の冗長化情報(水平パリティ)を使用して冗長化するディスクアレイの作成時の処理を示したものである。
【００２４】
ディスクアレイ２００は、２つの記憶媒体２１０と記憶媒体２２０から構成される。
この時、２つの記憶媒体は記憶媒体制御部１０１に接続されている必要がある。
このうち、記憶媒体２１０は冗長化情報(水平パリティ)格納用に用いられ、記憶媒体２２０はデータ格納用として用いられる。
【００２５】
記憶媒体制御部１１０は、各記憶媒体の記憶媒体固有情報領域２１２、２２２に、それぞれ一意な情報を書き込む。
また、記憶媒体制御部１１０は、各記憶媒体のデータ領域２１１、２１２の領域をビット 0 で初期化する。
この時点では、正しい水平パリティを得るために演算の必要はない。
【００２６】
図３は、既存のディスクアレイに新しい記憶媒体を追加する際の処理を示したものである。
【００２７】
ディスクアレイ２００は、２つの記憶媒体２１０と記憶媒体２２０から構成されており、そこに新たな記憶媒体２３０を追加している。
この時、記憶媒体２３０は記憶媒体制御部１０１に接続されている必要があるが、記憶媒体２１０と記憶媒体２２０はその必要は無い。
記憶媒体２３０はデータ格納用として用いられる。
【００２８】
記憶媒体制御部１１０は、記憶媒体２３０の記憶媒体固有情報領域２３２に、一意な情報を書き込む。
また、記憶媒体制御部１１０は、記憶媒体２３０のデータ領域２３１の領域をビット 0 で初期化する。
この時点では、水平パリティに変更は無いため、演算及び書き込みの必要はない。
【００２９】
図４は、既存のディスクアレイを構成するデータ格納用の記憶媒体からデータを読み出す際の処理を示したものである。
【００３０】
ディスクアレイ２００は、記憶媒体２１０〜２５０で構成されており、そのうち記憶媒体２２０〜２５０はデータ格納用として使用されている。
記憶媒体２２０からデータを読み出す時、記憶媒体２２０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００３１】
図５は、既存のディスクアレイを構成するデータ格納用の記憶媒体に、外部から与えられたデータを書き込む際の処理を示したものである。
【００３２】
ディスクアレイ２００は、記憶媒体２１０〜２５０で構成されており、そのうち記憶媒体２１０は冗長化符号(水平パリティ)格納用として、記憶媒体２２０〜２５０はデータ格納用として使用されている。
記憶媒体２２０にデータを格納する時、記憶媒体２１０と記憶媒体２２０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００３３】
記憶媒体制御部１１０は、記憶媒体２２０のこれからデータを書き込むアドレスにある既存のデータ(情報２２１１)と、記憶媒体２１０の同じアドレスにある既存のデータ(情報２１１１)を読み出す。
パリティ演算部１０２は、入力データ（情報２２１２）と前記の情報２２１１のＸＯＲ演算を行い、さらにその結果と前記の情報２１１１のＸＯＲ演算を行い、新しい水平パリティ（情報２１１２）を算出する。
記憶媒体制御部１１０は、データ領域２２１に前記の情報２２１２を書き込むとともに、データ領域２１１に前記の情報２１１２を書き込む。
【００３４】
図６〜１０は、既存のディスクアレイを構成するデータ格納用の記憶媒体の１つを、水平パリティを使用して復元する処理を示した図である。
【００３５】
図６は、ディスクアレイ２００のデータが失われる前の状態を示した図である。
ディスクアレイ２００は、記憶媒体２１０〜２５０で構成されており、そのうち記憶媒体２１０は冗長化符号(水平パリティ)格納用として、その他の記憶媒体２２０〜２５０はデータ格納用として使用されている。
このうち、記憶媒体２２０が失われたため、データ領域２２１に格納されたデータ（情報２２１１）を復元することとする。
【００３６】
図７は、復元の第一段階として、新しい記憶媒体を初期化し、水平パリティのデータをコピーする処理を示した図である。
【００３７】
失われた記憶媒体２２０の代わりに、新しい記憶媒体２６０を追加している。
この時、記憶媒体２６０は、記憶媒体２２０以上の容量を持っている必要がある。
【００３８】
記憶媒体制御部１１０は、記憶媒体２６０の記憶媒体固有情報領域２６２に、一意な情報を書き込む。
また、記憶媒体制御部１１０は、記憶媒体２１０のデータ領域２１１に格納されている冗長化符号(情報２１１１）を読み出し、記憶媒体２６０のデータ領域２６１に情報２６１１としてコピーする。
この時、記憶媒体２１０と記憶媒体２２０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００３９】
図８〜図１０は、復元の第二段階として、新しい記憶媒体に格納されている中間データに、失われた記憶媒体以外のデータ格納用の記憶媒体に格納されているデータを順に反映する処理を示した図である。
【００４０】
図８は、データ格納用の記憶媒体２３０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２６０と記憶媒体２３０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００４１】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１１)と、記憶媒体２３０のデータ領域２３１の既存のデータ(情報２３１１)を読み出す。
パリティ演算部１０２は、前記の情報２６１１と前記の情報２３１１のＸＯＲ演算を行い、新しい中間データ（情報２６１２）を算出する。
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１に前記の情報２６１２を書き込む。
【００４２】
図９は、データ格納用の記憶媒体２４０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２６０と記憶媒体２４０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００４３】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１２)と、記憶媒体２４０のデータ領域２４１の既存のデータ(情報２４１１)を読み出す。
パリティ演算部１０２は、前記の情報２６１２と前記の情報２４１１のＸＯＲ演算を行い、新しい中間データ（情報２６１３）を算出する。
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１に前記の情報２６１３を書き込む。
【００４４】
図１０は、データ格納用の記憶媒体２５０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２６０と記憶媒体２５０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００４５】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１３)と、記憶媒体２５０のデータ領域２５１の既存のデータ(情報２５１１)を読み出す。
パリティ演算部１０２は、前記の情報２６１３と前記の情報２５１１のＸＯＲ演算を行い、復元データ（情報２６１４）を算出する。
前記復元データ２６１４は、失われた記憶媒体２２０のデータ領域２２１に格納されていた情報２２１１と等価である。
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１に前記の情報２６１４を書き込む。
【実施例２】
【００４６】
図１１は、２種類の冗長化情報(水平パリティ、対角パリティ)を使用して冗長化するディスクアレイの構成を示したものである。
【００４７】
ディスクアレイ２００は、記憶媒体２１０〜記憶媒体２５０から構成される。
このうち、記憶媒体２１０は冗長化情報(対角パリティ)格納用、記憶媒体２５０は冗長化情報(水平パリティ)格納用として用いられ、他の記憶媒体２２０〜２４０はデータ格納用として用いられる。
記憶媒体２５０のデータ領域２５１に格納する水平パリティは、データ格納用の各記憶媒体の同じアドレスの値をＸＯＲ演算した結果と等しい。
記憶媒体２１０のデータ領域２１１に格納する対角パリティは、データ格納用の各記憶媒体の同じアドレスから１ビットずらしたアドレスの値をＸＯＲ演算した結果と等しい。
【００４８】
本発明においては、ディスクアレイの構築後に記憶媒体を追加できるが、RAID-DPやRAID6 2D-XOR方式で用いる対角パリティでは、その度に全ての対角パリティを再計算する必要が生じてしまう。
そのため本発明においては、図１１で示す対応関係でパリティを計算している。
このため、記憶媒体の追加時にも既存の記憶媒体間の対応関係が変わらないので、対角パリティの再計算が必要ない。
しかし、対角パリティを格納する記憶媒体２２０は、水平パリティを格納する記憶媒体２５０に比べて、(データ格納用記憶媒体の数−１)ビット分だけ大きい必要がある。
【非特許文献２】富士通株式会社 によるRAID-DPの解説  http://storage-system.fujitsu.com/jp/products/nwdiskarray/feature/raid_dp/
【非特許文献３】株式会社バイオス によるRAID6の解説  http://www.bios.co.jp/4_gijyutsu/raid6/raid6dosa.htm
【００４９】
図１２は、２種類の冗長化情報(水平パリティ、対角パリティ)を使用して冗長化するディスクアレイの作成時の処理を示したものである。
【００５０】
ディスクアレイ２００は、３つの記憶媒体２１０と記憶媒体２２０と記憶媒体２５０から構成される。
この時、３つの記憶媒体は記憶媒体制御部１０１に接続されている必要がある。
このうち、記憶媒体２１０は冗長化情報(対角パリティ)格納用、記憶媒体２１０は冗長化情報(水平パリティ)格納用に用いられ、記憶媒体２２０はデータ格納用として用いられる。
【００５１】
記憶媒体制御部１１０は、各記憶媒体の記憶媒体固有情報領域２１２、２２２、２５２に、それぞれ一意な情報を書き込む。
また、記憶媒体制御部１１０は、各記憶媒体のデータ領域２１１、２１２、２５１の領域をビット 0 で初期化する。
この時点では、正しい水平パリティや対角パリティを得るための演算は必要はない。
【００５２】
図１３は、既存のディスクアレイに新しい記憶媒体を追加する際の処理を示したものである。
【００５３】
ディスクアレイ２００は、４つの記憶媒体２１０、２２０、２３０、２５０から構成されており、そこに新たな記憶媒体２４０を追加している。
この時、記憶媒体２４０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
記憶媒体２４０はデータ格納用として用いられる。
【００５４】
記憶媒体制御部１１０は、記憶媒体２４０の記憶媒体固有情報領域２４２に、一意な情報を書き込む。
また、記憶媒体制御部１１０は、記憶媒体２４０のデータ領域２４１の領域をビット 0 で初期化する。
この時点では、水平パリティや対角パリティに変更は無いため、演算及び書き込みの必要はない。
【００５５】
図１４は、既存のディスクアレイを構成するデータ格納用の記憶媒体にデータを書き込む際の処理を示したものである。
【００５６】
ディスクアレイ２００は、記憶媒体２１０〜２５０で構成されており、そのうち記憶媒体２１０は冗長化符号(対角パリティ)格納用、記憶媒体２５０は冗長化符号(水平パリティ)格納用として、記憶媒体２２０〜２４０はデータ格納用として使用されている。
この時、記憶媒体２１０、２３０、２５０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００５７】
記憶媒体制御部１１０は、記憶媒体２３０のこれからデータを書き込むアドレスにある既存のデータ(情報２３１１)と、記憶媒体２５０の同じアドレスにある既存のデータ(情報２５１１)を読み出す。
また、前記情報２２１１に対応する記憶媒体２１０上の既存のデータ(情報２１１１)を読み出す。
パリティ演算部１０２は、入力データ（情報２３１２）と前記の情報２３１１のＸＯＲ演算を行い、さらにその結果と前記の情報２５１１のＸＯＲ演算を行い、新しい水平パリティ（情報２５１２）を算出する。
パリティ演算部１０２は、入力データ（情報２３１２）と前記の情報２３１１のＸＯＲ演算を行い、さらにその結果と前記の情報２１１１のＸＯＲ演算を行い、新しい対角パリティ（情報２１１２）を算出する。
記憶媒体制御部１１０は、データ領域２３１に前記の情報２３１２を書き込むとともに、データ領域２５１に前記の情報２５１２、データ領域２１１に前記の情報２１１２を書き込む。
【００５８】
図１５〜１８は、既存のディスクアレイを構成するデータ格納用の記憶媒体の１つを対角パリティを用いて復元する処理を示した図である。
【００５９】
図１５は、ディスクアレイ２００のデータが失われる前の状態を示した図である。
ディスクアレイ２００は、記憶媒体２１０〜２５０で構成されており、そのうち記憶媒体２１０は冗長化符号(対角パリティ)格納用、記憶媒体２５０は冗長化符号(水平パリティ)格納用として、その他の記憶媒体２２０〜２４０はデータ格納用として使用されている。
このうち、記憶媒体２３０と記憶媒体２５０が失われたため、記憶媒体２１０に格納されている対角パリティを用いてデータ領域２３１に格納されたデータ（情報２３１１）を復元することとする。
【００６０】
図１６は、復元の第一段階として、新しい記憶媒体を初期化し、対角パリティのデータをコピーする処理を示した図である。
【００６１】
失われた記憶媒体２３０の代わりに、新しい記憶媒体２６０を追加している。
この時、記憶媒体２６０は、記憶媒体２３０以上の容量を持っている必要がある。
【００６２】
記憶媒体制御部１１０は、記憶媒体２６０の記憶媒体固有情報領域２６２に、一意な情報を書き込む。
また、記憶媒体制御部１１０は、記憶媒体２１０のデータ領域２１１に格納されている冗長化符号(情報２１１１）のうち、記憶媒体２３０のデータ領域２３１に対応する部分を読み出し、記憶媒体２６０のデータ領域２６１に情報２６１１としてコピーする。
この時、記憶媒体２１０と記憶媒体２６０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００６３】
図１７〜図１８は、復元の第二段階として、新しい記憶媒体に格納されている中間データに、失われた記憶媒体以外のデータ格納用の記憶媒体に格納されているデータを順に反映する処理を示した図である。
【００６４】
図１７は、データ格納用の記憶媒体２２０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２６０と記憶媒体２２０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００６５】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１１)と、記憶媒体２２０のデータ領域２２１の既存のデータ(情報２２１１)を読み出す。
パリティ演算部１０２は、前記の情報２６１１と前記の情報２２１１のＸＯＲ演算を行い、新しい中間データ（情報２６１２）を算出する。
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１に前記の情報２６１２を書き込む。
【００６６】
図１８は、データ格納用の記憶媒体２４０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２６０と記憶媒体２４０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００６７】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１２)と、記憶媒体２４０のデータ領域２４１の既存のデータ(情報２４１１)を読み出す。
パリティ演算部１０２は、前記の情報２６１２と前記の情報２４１１のＸＯＲ演算を行い、新しい中間データ（情報２６１３）を算出する。
前記復元データ２６１３は、失われた記憶媒体２３０のデータ領域２３１に格納されていた情報２３１１と等価である。
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１に前記の情報２６１３を書き込む。
【００６８】
図１９〜２４は、既存のディスクアレイを構成するデータ格納用の記憶媒体の２つを、水平パリティと対角パリティの両方を用いて復元する処理を示した図である。
【００６９】
図１９は、ディスクアレイ２００のデータが失われる前の状態を示した図である。
ディスクアレイ２００は、記憶媒体２１０〜２５０で構成されており、そのうち記憶媒体２１０は冗長化符号(対角パリティ)格納用、記憶媒体２５０は冗長化符号(水平パリティ)格納用として、その他の記憶媒体２２０〜２４０はデータ格納用として使用されている。
このうち、記憶媒体２２０と記憶媒体２４０が失われたため、データ領域２２１に格納されたデータ（情報２３１１）とデータ領域２５１に格納されたデータ（情報２５１１）を復元することとする。
【００７０】
図２０は、復元の第一段階として、１つの新しい記憶媒体を初期化し、対角パリティのデータをコピーする処理を示した図である。
【００７１】
失われた記憶媒体２２０の代わりに、新しい記憶媒体２６０を追加している。
この時、記憶媒体２１０と記憶媒体２６０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
また、記憶媒体２６０は、記憶媒体２１０以上の容量を持っている必要がある。
【００７２】
記憶媒体制御部１１０は、記憶媒体２６０の記憶媒体固有情報領域２６２に、一意な情報を書き込む。
また、記憶媒体制御部１１０は、記憶媒体２１０のデータ領域２１１に格納されている冗長化符号(情報２１１１）の全てを読み出し、記憶媒体２６０のデータ領域２６１に情報２６１１としてコピーする。
【００７３】
復元の第二段階として、新しい記憶媒体に格納されている中間データに、失われた記憶媒体以外のデータ格納用の記憶媒体に格納されているデータを順に反映する。
図２１は、データ格納用の記憶媒体２３０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２６０と記憶媒体２３０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００７４】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１１)と、記憶媒体２３０のデータ領域２３１の既存のデータ(情報２３１１)を読み出す。
パリティ演算部１０２は、前記の情報２６１１と前記の情報２３１１のＸＯＲ演算を行い、新しい中間データ（情報２６１２）を算出する。
この時、情報２６１１と情報２３１１のアドレスの対応関係は、記憶媒体２１０のデータ領域２１１の情報２１１１と情報２３１１の対応関係と同じとして算出する。
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１に前記の情報２６１２を書き込む。
【００７５】
図２２は、復元の第三段階として、更に１つの新しい記憶媒体を初期化し、水平パリティのデータをコピーする処理を示した図である。
【００７６】
失われた記憶媒体２４０の代わりに、新しい記憶媒体２７０を追加している。
この時、記憶媒体２５０と記憶媒体２７０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
また、記憶媒体２７０は、記憶媒体２５０以上の容量を持っている必要がある。
【００７７】
記憶媒体制御部１１０は、記憶媒体２７０の記憶媒体固有情報領域２７２に、一意な情報を書き込む。
また、記憶媒体制御部１１０は、記憶媒体２５０のデータ領域２５１に格納されている冗長化符号(情報２５１１）を読み出し、記憶媒体２７０のデータ領域２７１に情報２７１１としてコピーする。
【００７８】
復元の第四段階として、新しい記憶媒体に格納されている中間データに、失われた記憶媒体以外のデータ格納用の記憶媒体に格納されているデータを順に反映する。
図２３は、データ格納用の記憶媒体２３０のデータを中間データに反映する処理を示した図である。
この時、記憶媒体２７０と記憶媒体２３０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００７９】
記憶媒体制御部１１０は、記憶媒体２７０のデータ領域２７１の既存のデータ(情報２７１１)と、記憶媒体２３０のデータ領域２３１の既存のデータ(情報２３１１)を読み出す。
パリティ演算部１０２は、前記の情報２７１１と前記の情報２３１１のＸＯＲ演算を行い、新しい中間データ（情報２７１２）を算出する。
記憶媒体制御部１１０は、記憶媒体２７０のデータ領域２７１に前記の情報２７１２を書き込む。
【００８０】
図２４は、復元の第五段階として、新しい記憶媒体に格納されている中間データから、失われたデータ格納用の記憶媒体に格納されていたデータを算出する処理を示した図である。
この時、記憶媒体２６０、２７０は記憶媒体制御部１０１に接続されている必要があるが、他の記憶媒体はその必要は無い。
【００８１】
記憶媒体制御部１１０は、記憶媒体２６０のデータ領域２６１の既存のデータ(情報２６１２)と、記憶媒体２７０のデータ領域２７１の既存のデータ(情報２７１１)を読み出す。
情報２６１２は復元したい２つの情報（情報２２１１、２７１１）の対角パリティであり、情報２７１２は水平パリティである。
【００８２】
本発明で計算されている対角パリティは、データ格納用の記憶媒体のうちどの２つを選んでも、片方のみの値から算出しているパリティビットがある。
図２４の例では、情報２６１２の１ビット目は、情報２２１２の１ビット目のみのパリティであり、同様に２ビット目も情報２２１２の２ビット目のみのパリティである。
そのため、情報２２１１の１ビット目と２ビット目の値が分かる。
その値と対応する水平パリティ（情報２７１２）のXOR演算の結果から、情報２４１１の１ビット目と２ビット目の値を算出できる。
すると、その値と対角パリティ（情報２６１２）のXOR演算の結果から、情報２４１１の３ビット目と４ビット目の値を算出できる。
これを、復元対象のデータ（情報２２１１、２４１１）の最後まで繰り返すことで、復元対象のデータを算出することができる。
【００８３】
パリティ演算部１０２は、前記の方法で復元対象のデータを算出する。
その際、記憶媒体制御部１１０は、情報２２１１を復元したデータを、情報２６１３として記憶媒体２６０上のデータ領域２６１に書き込む。
同様に、記憶媒体制御部１１０は、情報２４１１を復元したデータを、情報２７１３として記憶媒体２７０上のデータ領域２７１に書き込む。
【図面の簡単な説明】
【００８４】
【図１】構成（実施例１）
【図２】初期化(水平のみ)（実施例１）
【図３】追加(水平のみ)（実施例１）
【図４】読み出し（実施例１）（実施例２）
【図５】書き込み(水平のみ)（実施例１）
【図６】復元(水平のみ)１（実施例１）
【図７】復元(水平のみ)２（実施例１）
【図８】復元(水平のみ)３（実施例１）
【図９】復元(水平のみ)４（実施例１）
【図１０】復元(水平のみ)５（実施例１）
【図１１】対角パリティ（実施例２）
【図１２】初期化(水平・対角)（実施例２）
【図１３】追加(水平・対角)（実施例２）
【図１４】書き込み(水平・対角)（実施例２）
【図１５】復元(対角のみ)１（実施例２）
【図１６】復元(対角のみ)２（実施例２）
【図１７】復元(対角のみ)３（実施例２）
【図１８】復元(対角のみ)４（実施例２）
【図１９】復元(水平・対角)１（実施例２）
【図２０】復元(水平・対角)２（実施例２）
【図２１】復元(水平・対角)３（実施例２）
【図２２】復元(水平・対角)４（実施例２）
【図２３】復元(水平・対角)５（実施例２）
【図２４】復元(水平・対角)６（実施例２）
【符号の説明】
【００８５】
１００  ストレージ制御装置
１０１  記憶媒体制御部
１０２  パリティ演算部
２００  ディスクアレイ
２１０、２２０、２３０、２４０、２５０  記憶媒体
２１１、２２１、２３１、２４１、２５１  データ領域
２１２、２２２、２３２、２４２、２５２  記憶媒体固有情報領域
【図１】
2009223592.tif 000003
【図２】
2009223592.tif 000004
【図３】
2009223592.tif 000005
【図４】
2009223592.tif 000006
【図５】
2009223592.tif 000007
【図６】
2009223592.tif 000008
【図７】
2009223592.tif 000009
【図８】
2009223592.tif 000010
【図９】
2009223592.tif 000011
【図１０】
2009223592.tif 000012
【図１１】
2009223592.tif 000013
【図１２】
2009223592.tif 000014
【図１３】
2009223592.tif 000015
【図１４】
2009223592.tif 000016
【図１５】
2009223592.tif 000017
【図１６】
2009223592.tif 000018
【図１７】
2009223592.tif 000019
【図１８】
2009223592.tif 000020
【図１９】
2009223592.tif 000021
【図２０】
2009223592.tif 000022
【図２１】
2009223592.tif 000023
【図２２】
2009223592.tif 000024
【図２３】
2009223592.tif 000025
【図２４】
2009223592.tif 000026