(57)【要約】【課題】  外部格納サブシステムでエラーブロックが複数発生した場合でも復旧を可能にする。【解決手段】  ディスクの総格納ブロックのうちデータブロック／パリティーブロックとして使用するブロック数を決定し，データブロック数に対応してＸＹＺ直交座標上に３次元ブロックマトリックスを構築する。ブロックマトリックスの各ブロック平面に対して仮想パリティーブロックを割り当て，仮想データブロック／仮想パリティーブロックをディスク内の格納ブロックに割当てる。ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値に基づきパリティー値を求め，該当ブロック平面に対する仮想パリティーブロックが格納される格納ブロックにパリティー値を格納する。【選択図】    図２
2004227560.tif 000002
【特許請求の範囲】
【請求項１】
複数の格納ブロックを有する複数のディスクからなる外部格納サブシステムにおけるパリティー格納方法において、
前記ディスクの総格納ブロックのうち、データブロックとして使用されるブロックの数及びパリティーブロックとして使用されるブロックの数を決定する過程と，
前記データブロックの数に対応してＸＹＺ直交座標上で仮想のデータブロックからなる３次元のブロックマトリックスを構築する過程と、
前記Ｘ、Ｙ及びＺ方向で前記ブロックマトリックスの各ブロック平面に対して仮想パリティーブロックを割り当てる（配定する）過程と、
前記仮想データブロック及び前記仮想パリティーブロックを前記ディスク内の格納ブロックにそれぞれ割当てる過程と、
前記ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値に基づいてパリティー値を求める過程と、
該当ブロック平面に対する仮想パリティーブロックが格納される格納ブロックに前記パリティー値を格納する過程と，
を含むことを特徴とする外部格納サブシステムにおけるパリティー格納方法。
【請求項２】
前記データブロック及びパリティーブロックの数は前記ディスクの総格納ブロックの数Ｋ≧Ｍ３＋３Ｍとなる最大整数Ｍを求めて総パリティーブロックの数ＮＰＢ＝３Ｍに、総データブロックの数ＮＤＢ＝Ｍ３に設定され、前記ブロックマトリックスの３次元構造はＭ*Ｍ*Ｍとなるように構成されることを特徴とする請求項１に記載の外部格納サブシステムにおけるパリティー格納方法。
【請求項３】
前記ブロック割当て過程は、
該当ブロック平面内の仮想データブロックが前記ディスクの格納ブロックに割当てられた後、前記ブロック平面に対する仮想パリティーブロックを前記ディスク内の格納ブロックに割当てることを特徴とする請求項１または２のいずれかに記載の外部格納サブシステムにおけるパリティー格納方法。
【請求項４】
前記パリティー値を求める過程は、
該当ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算することを特徴とする請求項１，２または３のいずれかに記載の外部格納サブシステムにおけるパリティー格納方法。
【請求項５】
複数の格納ブロックを有する複数のディスクからなる外部格納サブシステムにおけるエラーブロック復旧方法において、
請求項１乃至請求項４のいずれかに記載の外部格納サブシステムにおけるパリティー格納方法によりデータ及びパリティーを格納する過程と、
複数の格納ブロックでエラーが発生したときにＸ、Ｙ及びＺ方向で各ブロック平面に対する仮想パリティーブロックに対応するパリティーブロックを用いて復旧する過程と，
を含むことを特徴とする外部格納サブシステムにおけるエラーブロック復旧方法。
【請求項６】
前記エラーブロック復旧過程は、
各ブロック平面内でエラーブロックの数を確認する過程と、
一つの前記ブロック平面内に存在する前記エラーブロックの数が一である場合は該エラーブロックを除いたブロック平面内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算する過程と、
前記演算結果を該ブロック平面に対するパリティー値と比較してエラーブロックを復旧する過程と、
前記過程をＸ、Ｙ及びＺの方向へ順次に適用することを反復する過程と，
を含むことを特徴とする請求項５に記載の外部格納サブシステムにおけるエラーブロック復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は外部格納サブシステムにおけるパリティー格納方法及びエラーブロック復旧方法に関する。
【背景技術】
【０００２】
多量のデータ蓄積及びアクセス速度向上などのために使用されるＲＡＩＤ(Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ)は複数の格納ブロックを有する多数のディスクドライブを一つのドライブのように作動可能にする一連のシステムで構成される。
【０００３】
一方、ディスク配列構造及び特性に応じてレベル０からレベル５までの６個のＲＡＩＤレベルが知られているが、このうち、ＲＡＩＤ４及びＲＡＩＤ５は所定の規則に応じて数個の格納ブロックをグループ化してストライピングブロック(ｓｔｒｉｐｉｎｇ  ｂｌｏｃｋ)とし，各ストライピングブロック内のデータ値に基づくパリティー情報を格納する格納ブロックを備えてエラー復旧が可能に設定されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、マルチメディアデータの量産などにより大容量のディスクに対する要求が増え，かかる要求によってディスク読み出し過程における失敗及び物理的な破損を含むディスクエラー確率が高まった。一方で、上記ＲＡＩＤ４及びＲＡＩＤ５は同じストライピングブロックであるパリティーグループ内で一つのエラーブロックが発生した場合のみ、エラー復旧が可能であるという問題点があった。
【０００５】
そのため、同じパリティーグループ内で複数のエラーブロックが発生した時であってもデータを復旧するために、リードソロモンコード(ｒｅｅｄ  ｓｏｌｏｍｏｎ  ｃｏｄｅ)を用いるＲＡＩＤ６、行パリティーグループ及び斜線パリティーグループを用いるＥＶＥＮＯＤＤ技法などのような各種復旧方法が提案されている。しかし、上記方法でも同じパリティーグループ内で三つ以上のエラーブロックが発生する場合はエラー復旧が不可能であるという限界があった。
【０００６】
そこで，本発明は，このような問題に鑑みてなされたもので，その目的とするところは，複数のエラーブロック、特に、同じパリティーグループ内で三つ以上のエラーブロックが発生した場合でもエラー復旧が可能な外部格納サブシステムにおけるパリティー格納方法及びエラーブロック復旧方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために，本発明の第一の観点によれば，複数の格納ブロックを有する複数のディスクからなる外部格納サブシステムにおけるパリティー格納方法において、前記ディスクの総格納ブロックのうち、データブロックとして使用されるブロックの数及びパリティーブロックとして使用されるブロックの数を決定する過程と，、前記データブロックの数に対応してＸＹＺ直交座標上で仮想のデータブロックからなる３次元のブロックマトリックスを構築する過程と、前記Ｘ、Ｙ及びＺ方向で前記ブロックマトリックスの各ブロック平面に対して仮想パリティーブロックを割り当てる（配定する）過程と、前記仮想データブロック及び前記仮想パリティーブロックを前記ディスク内の格納ブロックにそれぞれ割当てる過程と、前記ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値に基づいてパリティー値を求める過程と、該当ブロック平面に対する仮想パリティーブロックが格納される格納ブロックに前記パリティー値を格納する過程とを含むことを特徴とするパリティー格納方法が提供される。
【０００８】
上記発明では，ディスク内の一つのデータブロックが三つのパリティーグループに関連するように格納される。従って，一つのデータブロックに対する３通りのパリティー値を保存しておくことができ，その結果，同一パリティーグループ内で複数のエラーブロックが発生した場合でも復旧することができる。
【０００９】
ここで、前記データブロック及びパリティーブロックの数は前記ディスクの総格納ブロックの数Ｋ≧Ｍ３＋３Ｍとなる最大整数Ｍを求めて総パリティーブロックの数ＮＰＢ＝３Ｍに、総データブロックの数ＮＤＢ＝Ｍ３に設定され、前記ブロックマトリックスの３次元構造はＭ*Ｍ*Ｍとなるように構成されることが好ましい。
【００１０】
また、前記ブロック割当て過程は、該当ブロック平面内の仮想データブロックが前記ディスクの格納ブロックに割当てられた後、前記ブロック平面に対する仮想パリティーブロックを前記ディスク内の格納ブロックに割当てることが好ましく、前記パリティー値を求める過程は、該当ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算することが好ましい。かかる構成により，ブロック平面内に一つのエラーブロックが存在する場合に，該当ブロック平面内の全てのデータブロックに対して排他的論理和演算をすることにより予め求めておいたパリティー値と，エラーブロック以外のデータブロックの論理和とを比較することによってエラーブロックを復旧することができる。
【００１１】
上記課題を解決するために，本発明の第二の観点によれば，複数の格納ブロックを有する複数のディスクからなる外部格納サブシステムにおけるエラーブロック復旧方法において，本発明の第一の観点により提供される外部格納サブシステムにおけるパリティー格納方法によりデータ及びパリティーを格納する過程と、複数の格納ブロックでエラーが発生したときにＸ、Ｙ及びＺ方向で各ブロック平面に対する仮想パリティーブロックに対応するパリティーブロックを用いて復旧する過程とを含むことを特徴とするエラーブロック復旧方法が提供される。
【００１２】
上記発明では，ディスク内の一つのデータブロックが三つのパリティーグループに関連するように格納される。従って，一つのデータブロックに対する３通りのパリティー値を保存しておくことができ，その結果，同一パリティーグループ内で複数のエラーブロックが発生した場合でも復旧することができる。
【００１３】
ここで、前記復旧過程は、各ブロック平面内でエラーブロックの数を確認する過程と、一つのブロック平面内に存在する前記エラーブロックの数が一である場合は該エラーブロックを除いたブロック平面内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算する過程と、前記演算結果を該ブロック平面に対するパリティー値と比較してエラーブロックを復旧する過程と、前記過程をＸ、Ｙ及びＺの方向へ順次に適用することを反復する過程とを含むことが好ましい。各ブロック平面内でエラーブロックの数を確認した結果，エラーブロックが存在しないか、二つ以上のエラーブロックが存在すると判断される場合はスキップする。すなわち，エラーブロックの数が一つのブロック平面内に対して一つでない場合は，以降の過程には進まずに，他のブロック平面内のエラーブロックの数の確認に処理が移る。かかる構成により，ブロック平面内に一つのエラーブロックが存在する場合に，該当ブロック平面内の全てのデータブロックに対して排他的論理和演算をすることにより予め求めておいたパリティー値と，エラーブロック以外のデータブロックの論理和とを比較することによってエラーブロックを復旧することができる。
【発明の効果】
【００１４】
以上説明したように本発明によれば，複数のエラーブロック、特に同じパリティーグループ内で三つ以上のエラーブロックが発生した場合であっても、エラー復旧が可能になることにより、格納媒体の復旧能力を向上させ、データの信頼性及び安定性を増大させることができる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００１６】
図１は本発明の好適な実施形態にかかる外部格納サブシステムのブロック構成図である。図１に示したように、本実施形態にかかる外部格納サブシステムは従来のもののようにデータ処理及びディスク入出力要請のためのホストコンピュータ１と、ディスクへの入出力及びパリティー演算などのＲＡＩＤ関連作業を行うコントローラー２と、ディスクへのアクセス回数／時間を減少させるためのキャッシュの役割を行うメモリ４と、データ及びパリティーを格納する複数の格納ブロック６を有するディスク７とを主に備える。さらに、ホストコンピュータ１とコントローラー２はＳＣＳＩ又はファイバチャンネル(Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ)のようなインターフェース３で接続されており、コントローラー２とメモリ４も上述したもののようなインターフェース５で接続されている。さらに、メモリ４とディスク７もかかるインターフェース８で接続されることができる。
【００１７】
図２は本実施形態にかかるパリティー格納過程を示した流れ図である。まず、ディスクの総格納ブロック数(Ｋ)のうち、データブロックとして使用される格納ブロックの数(ＮＤＢ)及びパリティーブロックとして使用される格納ブロックの数(ＮＰＢ)を決定する(Ｓ１)。
【００１８】
すなわち、ディスクの総格納ブロックの数Ｋ≧Ｍ３＋３Ｍを満たす最大整数Ｍを計算してパリティーブロックとして使用される格納ブロックの数ＮＰＢを３Ｍに、データブロックとして使用される格納ブロックの数ＮＤＢをＭ３に設定する。
【００１９】
図７に示したように、本実施形態における１７個のディスク７０はそれぞれ５個ずつのブロック６０を備えるので、ディスクの総格納ブロックの数Ｋは８５となる。これにより、前記ＫとＭの関係式を満たすＭは４となり、パリティーブロックとして使用される格納ブロックの数ＮＰＢは１２に、データブロックとして使用される格納ブロックの数ＮＤＢは６４に設定される。
【００２０】
このように決定されたデータブロックとして使用される格納ブロックの数ＮＤＢに対応して図３のようにＸＹＺ直交座標上で仮想のデータブロックからなる３次元のブロックマトリックスを構築する(Ｓ２)。前記３次元のブロックマトリックスの一部ブロックに表記された記号は各仮想ブロックを識別する識別子であって、通常の座標系で座標を与える方式と同じ方式で生成されたものである。
【００２１】
このように構築された３次元のブロックマトリックスの各ブロック平面に対して仮想パリティーブロックを割り当てる（配定する）(Ｓ３)。仮想パリティーブロック割り当て（配定）過程は図４乃至図６を参照して説明する。同じＸ座標(Ｘi、iは任意の整数)を有する仮想のデータブロックからなるブロック平面をＢＸiと定義し、これをＹ及びＺ座標に対しても同じく適用する。
【００２２】
図４は本発明の望ましい実施形態によるＢＸiに対する仮想パリティーブロックが割り当てられる（配定される）過程を示した図である。太い実線で表示したように、Ｘ１座標を共有する仮想のデータブロックからなるブロック平面ＢＸ１に対して仮想パリティーブロックＰＸ１を割り当て（配定し）、ＢＸ１に平行なＢＸ２乃至ＢＸ４に対してもそれぞれ仮想パリティーブロックＰＸ２乃至ＰＸ４を割り当てる（配定する）。前記仮想パリティーブロックは必ずしもＸＹＺ直交座標上の特定座標に配置させる必要はなく、仮想データブロックが使用しない空地に任意に配置させてもよい。
【００２３】
図５及び図６はそれぞれＢＹiに対する仮想パリティーブロックＰＹiを割り当て（配定し）、ＢＺiに対する仮想パリティーブロックＰＺiを割り当てる（配定する）図であって、これに対する割り当て（配定）は図４に示した同じ方式を使用する。
【００２４】
前記ステップＳ２及びＳ３を通じて生成された仮想データブロック及び仮想パリティーブロックをディスク内の格納ブロックにそれぞれ割当てる(Ｓ４)。
【００２５】
上記割当て方法は，本発明の望ましい実施形態に応じて仮想データブロック及び仮想パリティーブロックが割当てられたディスク内の格納ブロックを示した図７及び３次元のブロックマトリックス及び仮想パリティーブロックを示した図３乃至図６を参照して説明する。
【００２６】
本実施形態における外部格納サブシステムは図７に示したようにそれぞれ５個ずつの格納ブロック６０を有する１７個のディスク７０で構成されている。図面で縦方向に配列された格納ブロックは一つのディスク内に格納されている。さらに、各ブロックに表記されている記号は３次元のブロックマトリックスを示した図３乃至図６の記号と同じものを指示する。
【００２７】
まず、ＢＸ１内の仮想データブロックを各ディスク内の格納ブロックに一対一で割当てた後、ＢＸ１に対する仮想パリティーブロックＰＸ１を割当てる。ＢＸ２及びＢＸ３に対しても同じ作業を反復する。ここで、一対一で割当てられる仮想データブロックの座標は固定されたＹ座標に対してＺ座標を増加させた後、Ｚ座標が終わると、再びＹ座標を増加させる方式で選定され、データ及びパリティーが格納されるディスク内の格納ブロックは各ディスクの中で未だ仮想データブロックまたは仮想パリティーブロックが割当てられていない格納ブロックを一つずつ選択する方式により選定される。
【００２８】
その後、ＢＸ４内の仮想データブロックのうち、Ｙ１座標を有する仮想データブロックが割当てられると、ＢＹ１をなす仮想データブロックの割当ての終了に該当するので、ＢＹ１に対する仮想パリティーブロックＰＹ１を割当てる。ＢＸ４内の仮想データブロックのうち、Ｙ２及びＹ３座標に対しても同じ作業を反復してＢＹ２及びＢＹ３に対する仮想パリティーブロックＰＹ２及びＰＹ３を割当てる。
【００２９】
ＢＸ４内の仮想データブロックのうち、Ｙ４Ｚ１座標を有する仮想データブロックが割当てられると、ＢＺ１をなす仮想データブロックの割当ての終了に該当するので、ＢＺ１に対する仮想パリティーブロックＰＺ１を割当てる。ＢＸ４内の仮想データブロックのうち、Ｙ４Ｚ２及びＹ４Ｚ３座標に対しても同じ作業を反復してＢＺ２及びＢＺ３に対する仮想パリティーブロックＰＺ２及びＰＺ３を割当てる。
【００３０】
最後に、Ｘ４Ｙ４Ｚ４座標を有する仮想データブロックが割当てられ，仮想パリティーブロックが未だ割当てられないＢＸ４、ＢＹ４及びＢＺ４に対する仮想パリティーブロックＰＸ４，ＰＹ４，ＰＺ４を割当てると割当て過程が終了する。
【００３１】
前記ステップＳ１〜Ｓ４を行うことにより、ディスク内の格納ブロックのうち、データ及びパリティーが格納されるデータブロック及びパリティーブロックが指定され、一つのパリティー情報を求める基礎となるパリティーグループであるブロック平面が定められる。
【００３２】
その後、各ブロック平面内の仮想データブロックに対応する格納ブロックに格納されているデータ値に基づいてパリティー値を求める(Ｓ５)。
【００３３】
すなわち、一つのブロック平面内の仮想データブロックに対応する格納ブロックに格納されているデータ値をビット対ビットで排他的論理和(ＸＯＲ)演算してパリティーを求める。
【００３４】
例えば、図４に太い線で表示したＢＸ１内の仮想データブロックに対応する格納ブロックに格納されているデータ値を次のように仮定する。
Ｘ１Ｙ１Ｚ１=０１、Ｘ１Ｙ１Ｚ２=１０、Ｘ１Ｙ１Ｚ３=０１、Ｘ１Ｙ１Ｚ４=００
Ｘ１Ｙ２Ｚ１=０１、Ｘ１Ｙ２Ｚ２=００、Ｘ１Ｙ２Ｚ３=０１、Ｘ１Ｙ２Ｚ４=００
Ｘ１Ｙ３Ｚ１=１０、Ｘ１Ｙ３Ｚ２=１１、Ｘ１Ｙ３Ｚ３=００、Ｘ１Ｙ３Ｚ４=０１
Ｘ１Ｙ４Ｚ１=１０、Ｘ１Ｙ４Ｚ２=００、Ｘ１Ｙ４Ｚ３=１１、Ｘ１Ｙ４Ｚ４=１０
【００３５】
前記１６個の数字をビットの単位として１の個数が奇数個であれば０に、１の個数が偶数個であれば１に設定するが、このような規則に応じて演算するとＢＸ１に対するパリティー値は１０となる。
【００３６】
このように演算されたパリティー値は該当ブロック平面に対する仮想パリティーブロックが格納される格納ブロックに格納される（Ｓ６）。例えば、前記例示したＢＸ１に対するパリティー値はパリティーブロックＰＸ１に格納される。
【００３７】
上記ステップＳ１乃至Ｓ６を行うことにより、外部格納サブシステムは図７に示したような配置でデータ及びパリティーを格納することができる。
【００３８】
次に、本発明によるエラーブロック復旧過程を本発明の望ましい実施形態によるエラーブロック復旧過程を示した図８及び任意の仮想データブロックにエラーが発生した例を示した図９を参照して説明する。
【００３９】
上述した方法でデータ及びパリティーが格納されているディスク内の格納ブロックにエラーが発生した場合、エラーが発生したエラーブロックを復旧するためにはＸ、Ｙ及びＺ方向で各ブロック平面に対する仮想パリティーブロックに対応するパリティーブロックを用いて復旧する。
【００４０】
図８に示すように、エラーブロックが発生すると（Ｓ７）、ブロック平面内のエラーブロックが一つであるか否かを判断する(Ｓ８)。その結果、エラーブロックが存在しないか、二つ以上のエラーブロックが存在する場合はスキップし(Ｓ９)、エラーブロックが一つである場合はそのエラーブロックを除いた該当ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算する(Ｓ１０)。その後、演算結果をＸ１ブロック平面に対するパリティーブロックＰＸ１に対応する格納ブロックのパリティー値と比較してエラーブロックを復旧する(Ｓ１１)。
【００４１】
すべてのエラーブロックが復旧されるときまで、ステップＳ７〜Ｓ１１をＸ、Ｙ及びＺブロック平面に対して反復適用する(Ｓ１３)。
【００４２】
前記エラーブロック復旧方法を適用してエラーブロックを復旧する例を図９に参照して説明する。図９の斜線表示ブロックはエラーブロックを示し、エラーブロックの座標はＸ２Ｙ２Ｚ４、Ｘ２Ｙ４Ｚ２、Ｘ４Ｙ１Ｚ４、Ｘ４Ｙ２Ｚ３及びＸ４Ｙ４Ｚ４である。
【００４３】
まず、ＢＸ１、ＢＸ２、ＢＸ３及びＢＸ４に対して順次にエラーブロックの数を確認すると、それぞれ０、２、０、３に該当するため，スキップする（Ｓ９）。
【００４４】
ＢＹ１に対してはエラーブロックの数が一つである場合に該当するので、復旧のための演算及び復旧作業を行う。すなわち、エラーブロックであるＸ４Ｙ１Ｚ４を除いたＢＹ１内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算した後、前記演算結果をＢＹ１に対するパリティーブロックＰＹ１に対応する格納ブロックのパリティー値と比較する。前記演算結果とパリティー値をビット別に比較して同じ場合は０に、同じでない場合は１に設定して前記エラーブロックＸ４Ｙ１Ｚ４に対応するデータブロックに格納してデータを復旧する。
【００４５】
次に、ＢＹ２、ＢＹ３、ＢＹ４及びＢＺ１に対して順次にエラーブロックの数を確認すると、それぞれ２，０，２，０に該当するためすべてスキップする。
【００４６】
ＢＺ２に対してはエラーブロックの数が一つである場合に該当するので、復旧のための演算及び復旧作業を行う。すなわち、エラーブロックであるＸ２Ｙ４Ｚ２を除いたＢＺ２内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算した後、その演算結果をＢＺ２に対するパリティーブロックＰＺ２に対応する格納ブロックのパリティー値と比較する。前記演算結果とパリティー値をビット別に比較して同じ場合は０に、同じでない場合は１に設定して前記エラーブロックであるＸ２Ｙ４Ｚ２に対応するデータブロックに格納してデータを復旧する。
【００４７】
ＢＺ３に対してもエラーブロックの数が一つである場合に該当するので、上述した復旧のための演算及び復旧作業を行ってエラーブロックであるＸ４Ｙ２Ｚ３に対応するデータブロックのデータを復旧する。
【００４８】
ＢＺ４に対してはすでにＸ４Ｙ１Ｚ４が復旧されたのにもかかわらず、エラーブロックの数が２個である場合に該当するので、スキップする。
【００４９】
上述した過程の実行後にも、復旧されないエラーブロックが依然として存在するので、上記過程を反復してＢＸ２に対する復旧作業を通じてＸ２Ｙ２Ｚ４に対応するデータブロックのデータを復旧し、ＢＸ４に対する復旧作業を通じてＸ４Ｙ４Ｚ４に対応するデータブロックのデータを復旧する。
【００５０】
パリティーを格納しているパリティーブロックにエラーが発生した場合は、該当ブロック平面内の仮想データブロックに対応する格納ブロックに対する復旧作業を行った後，又はスキップの後に該当ブロック平面内の仮想データブロックに対応する格納ブロックのデータ値を排他的論理和(ＸＯＲ)演算し、前記演算結果を該当ブロック平面に対するパリティーブロックに格納してデータを復旧する。
【００５１】
これにより、すべてのエラーブロックのデータ復旧が完了されて復旧作業が終了する。
本実施形態ではＸＹＺ直交座標上の３次元のブロックマトリックスを例示して説明したが、これに限定されず、ディスク内の一つのデータブロックが三つのパリティーグループに関連するものであれば、いずれの仮想座標系も利用することができる。
【００５２】
さらに、本実施形態ではＭ*Ｍ*Ｍの３次元のブロックマトリックスを例示して説明したが、正六面体マトリックスの形態のみに限定されず、Ａ*Ｂ*Ｃの３次元のブロックマトリックス(Ａ，Ｂ，Ｃは任意の整数)の形態で仮想データブロックを配置することができる。
【００５３】
本実施形態では同じＸi座標を有する仮想データブロックからなるブロック平面をＢＸiと定義したが、これに限定されず、ＸＹ、ＹＺ及びＺＸ平面に対して平行な各ブロック平面を識別できるものであれば、いずれの定義でも関係ない。
【００５４】
本実施形態では一つのブロック平面内の仮想データブロックがディスク内の格納ブロックに割当てられた後、該当ブロック平面に対する仮想パリティーブロックをディスク内の格納ブロックに割当てると説明したが、これに限定されず、一つのブロック平面内の仮想データブロックがディスク内の格納ブロックに割当てられた後ならば、いつでも該当ブロック平面に対する仮想パリティーブロックをディスク内の格納ブロックに割当てることができる。
【００５５】
本実施形態では一つのブロック平面内の仮想データブロックがディスク内の格納ブロックに順次に割当てられると説明したが、これに限定されず、各ディスクごとに一つずつ割当てられるとすれば、各ディスク内の格納ブロックの物理的な順序とは関係ない。
【００５６】
本実施形態ではＸ、Ｙ及びＺブロック平面の順序でエラーブロック復旧作業を行うと説明したが、これに限定されず、いずれの順序でも関係ない。
【００５７】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００５８】
本発明は外部格納サブシステムにおけるパリティー格納方法及びエラーブロック復旧方法に適用可能であり，特に複数ブロックでのエラー発生時における復旧能力が向上された外部格納サブシステムにおけるパリティー格納方法及びエラーブロック復旧方法に適用可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の好適な実施形態にかかる外部格納サブシステムのブロック構成図である。
【図２】同実施の形態におけるパリティー格納過程を示した流れ図である。
【図３】同実施の形態における３次元のブロックマトリックスを示した図である。
【図４】同実施の形態における各ブロック平面に対する仮想パリティーブロックを配定する図である。
【図５】同実施の形態における各ブロック平面に対する仮想パリティーブロックを配定する図である。
【図６】同実施の形態における各ブロック平面に対する仮想パリティーブロックを配定する図である。
【図７】同実施の形態における仮想データブロック及び仮想パリティーブロックをディスク内の格納ブロックに割当てた図である。
【図８】同実施の形態におけるエラーブロック復旧過程を示した流れ図である。
【図９】同実施の形態におけるエラーブロックを復旧する過程を示すために任意の仮想データブロックにエラーが発生した例を示した図である。
【符号の説明】
【００６０】
１      ホストコンピュータ
２      コントローラー
３      インターフェース
４      メモリ
５      インターフェース
６      格納ブロック
７      ディスク
【図１】
2004227560.tif 000003
【図２】
2004227560.tif 000004
【図３】
2004227560.tif 000005
【図４】
2004227560.tif 000006
【図５】
2004227560.tif 000007
【図６】
2004227560.tif 000008
【図７】
2004227560.tif 000009
【図８】
2004227560.tif 000010
【図９】
2004227560.tif 000011