(57)【要約】【課題】ディスク装置に冗長度が無い状態での障害に対してもある確率でデータを自動復旧することができ、障害の発生したディスク装置を交換する時のデータ再構築を高速に、かつ低負荷に行うことができる記憶システムを提供する。【解決手段】複数のディスク装置１００〜１０３のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段１２３と、複数のディスク装置１００〜１０３のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段１２２に格納し、ディスク装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段１２３により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理する制御手段１２０とを有する記憶制御装置１１０を備えた。【選択図】        図１
2004287955.tif 000002
【特許請求の範囲】
【請求項１】
制御部及び記憶媒体を備えた記憶装置において、
前記制御部は、前記記憶装置の記憶領域に対する初期確定時の情報を保持する手段と、
前記記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理する手段と、
前記記憶媒体に障害が発生し、その障害の発生した箇所が、前記分割領域の未更新部分のとき、保持している前記初期確定時の情報に基づいて、前記障害の発生した箇所の初期確定データを生成し、前記障害の発生した箇所のデータとして処理する手段とを有することを特徴とする記憶装置。
【請求項２】
制御部及び記憶媒体を有する複数の記憶装置と、前記複数の記憶装置を制御する記憶制御装置とを備えた記憶システムにおいて、
前記記憶制御装置は、前記複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段と、
前記複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、前記記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、前記分割領域の未更新部分のとき、前記初期確定データ生成手段により、前記障害の発生した箇所の初期確定データを生成させ、前記障害の発生した箇所のデータとして処理する制御手段とを有することを特徴とする記憶システム。
【請求項３】
請求項２記載の記憶システムにおいて、
前記制御手段は、前記初期確定データ生成手段により、前記障害の発生した箇所の初期確定データを生成させ、前記障害の発生した箇所のデータとして処理したとき、その情報を外部に通報することを特徴とする記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク装置などの記憶装置及び複数の記憶装置からなる記憶システムに関し、特に、無停止運転が必要な記憶装置及び記憶システムにおいて、その障害発生に対して、冗長度の無い状態での自動復旧処理に適用して有効な技術に関する。
【０００２】
【従来の技術】
図８にＲＡＩＤ技術（３Ｄ＋１Ｐ）を利用した一般的な記憶システムにおけるデータの保存方法の一例を示す。
【０００３】
まず、上位ホストからの送信データ１０は、図８のデータＡ１１〜データＧ１７に示すように、複数のデータに分割され、それぞれ複数のディスク装置０（２０）、ディスク装置１（２１）、ディスク装置２（２２）に分割して保存する。
【０００４】
また、同時にデータＡ１１，データＢ１２，データＣ１３から生成したパリティＰ０（３０）、データＤ１４，データＥ１５，データＦ１６から生成したパリティＰ１（３１）をディスク装置３（２３）に保存しておく。この状態がいわゆる冗長度がある状態である。仮にディスク装置０（２０）の障害によりデータＡ１１を失った場合でもデータＢ１２，Ｃ１３及びパリティＰ０（３０）によりデータＡ１１を再生成可能なので記憶システムとしての動作継続可能である。
【０００５】
データ保存用のディスク装置０（２０）〜ディスク装置２（２２）、及び、それらのデータ異常時の再生成用情報を記憶するディスク装置３（２３）のように、データを保存、維持するのに必要な組み合わせ単位を以下ＥＣＣグループと呼ぶ。
【０００６】
また、図中のデータＧ１７のようにＥＣＣグループ内で、データ用ディスク装置の一部のみに更新が必要になった場合でも、結果パリティＰ２（３２）が妥当な値になるように更新する事により冗長度を維持できる。具体的には、例えば、ディスク装置１（２１），ディスク装置２（２２）の対応する領域のデータＨ４０，データＩ４１を読み出して、それらとデータＧ１７を用いてパリティＰ２（３２）を再計算しディスク装置３（２３）に保存すれば良い。
【０００７】
このようにデータの冗長度がある状態を維持していれば不測のディスク装置障害が起きても記憶システムの動作継続可能である。また、障害となったディスク装置を交換し同一ＥＣＣグループの他のディスク装置から再生成したデータを書き戻す事により再び冗長度がある状態を再構築する事も可能である。
【０００８】
【発明が解決しようとする課題】
従来の記憶システムにおいて、ディスク装置の故障、交換時のデータ再構築作業に要する時間は一般にディスク装置容量と単純な相関関係にある事が多い。また、近年ディスク装置１台当りの容量は増加の一途であり、同一記憶システムであれば新規大容量ディスク装置を搭載する毎にディスク装置故障時のデータ再構築に要する時間は長くなる。
【０００９】
本来は、このようにデータ再構築により多くの時間がかかる場合、記憶システム全体として従来同等の信頼性を維持する為にはその分ディスク装置の故障率が低くなる必要がある。しかし、必ずしもディスク装置の故障率はディスク装置容量に反比例して小さくなってはいかない。一方で記憶システム全体のデータ容量も増大し続けている為、記憶システムにはより高い信頼性が求められるようになっている。
【００１０】
しかしながら、従来の記憶システムでは、ＥＣＣグループ内のディスク装置が同時に規定数以上異常状態となった場合、例えば、図８のディスク装置０（２０）が故障し、その交換後のデータ再生成中にディスク装置１（２１）に障害が発生し一部のデータＨ４０を読み出す事ができなくなれば、ディスク装置０（２０）の再構築は不可能となる。したがって、記憶システム自身による記憶システムの完全な再構築が不可能になってしまうという問題点があった。
【００１１】
また、もちろん、このディスク装置０（２０）の再構築不可能な状態で、記録システムが接続されている上位ホストからディスク装置０（２０）上の領域のデータを要求されてもデータ送信も不可能となるという問題点があった。
【００１２】
このように、記憶システムの信頼性を向上する為にはディスク装置の信頼性向上を図ると共に、ディスク装置故障時のデータ再構築作業の短時間化が必要となってきている。また、記憶システムの冗長度がない状態であっても同一ＥＣＣグループ内の別のディスク装置の障害に対する強力な回復方法があれば非常に望ましい。
【００１３】
そこで、本発明の目的は、記憶システムにおいて、ディスク装置に冗長度が無い状態での障害に対してもある確率でデータを自動復旧することができ、障害の発生したディスク装置を交換する時のデータ再構築を高速に、かつ低負荷に行うことができる記憶システムを提供することにある。
【００１４】
【課題を解決するための手段】
本発明による記憶装置は、制御部及び記憶媒体を備えた記憶装置において、制御部は、記憶装置の記憶領域に対する初期確定時の情報を保持する手段と、記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理する手段と、記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、保持している初期確定時の情報に基づいて、障害の発生した箇所の初期確定データを生成し、障害の発生した箇所のデータとして処理する手段とを有するものである。
【００１５】
また、本発明による記憶システムは、制御部及び記憶媒体を有する複数の記憶装置と、複数の記憶装置を制御する記憶制御装置とを備えた記憶システムにおいて、記憶制御装置は、複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段と、複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理する制御手段とを有するものである。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１７】
（実施の形態１）
図１は本発明の実施の形態１による記憶システムの構成を示す構成図である。
【００１８】
図において、記憶システムは、複数のディスク装置（ディスク装置０（１００）、ディスク装置１（１０１）、ディスク装置２（１０２）、ディスク装置３（１０３））と複数のディスク装置を制御する記憶制御装置１１０から構成され、記憶制御装置１１０は、記憶制御装置１１０全体の動作を制御する制御手段１２０、上位ホストとの間でデータのやり取りを行うホストＩ／Ｆ１２１、未更新先頭ＬＢＡなどの情報が格納される記憶手段１２２、初期確定データを生成する初期確定データ生成手段１２３を有している。
【００１９】
まず、この実施の形態における動作の概略について説明する。
【００２０】
この実施の形態では、記憶システムは、その記憶領域を各ディスク装置毎に、複数の領域に分割して管理する。また、それぞれの分割領域の内部でどこまでが上位ホストから更新されたのかを識別して管理している。
【００２１】
また、例えば、パリティデータのように、直接上位ホストから更新されたデータでなくとも上位ホストからのデータ更新に伴い発生するデータ更新も同じように上位ホストから更新済みであるとして扱っている。
【００２２】
そこで、ある時に必要としたデータが分割領域内で上位ホストから更新されていない領域に含まれる場合、そのデータはそもそも記憶システムが初期構築時に保存した初期確定データであり記憶システムにとって既知のものである。
【００２３】
つまり、冗長度が無い状態においてデータ再生成に必要なディスク装置が追加で異常となるような従来技術ではシステムの動作継続困難となる重大な事態においても、必要としているデータが前述のように記憶システム自身が生成した初期確定データと等しいと判断されるなら、再び記憶システム自身で生成すれば作業を継続することが可能である。
【００２４】
また、このような管理をする事により、ディスク装置の故障によりデータが再生不可となった時に、別ディスク装置へのデータ再構築の際に、必ずしも同一ＥＣＣグループ内の他のディスク装置から読み出し、かつ演算する必要が無く、初期確定データを使用し、低負荷で、かつ高速にデータ再構築作業を実施する事ができるようになっている。
【００２５】
次に、この実施の形態での、初期確定データについて説明する。
【００２６】
一般に記憶システムの新規導入に伴う初期構築時には、その使用しているディスク装置の全使用領域に対して、冗長度が有る状態を確定させる為の初期フォーマット作業が行なわれる。また、その際にデータ保証の為にそれぞれのセクタ内に必要なデータ保証コードを埋め込むなどの作業が同時に行なわれる事もある。
【００２７】
しかし、いずれのデータも記憶システム自身がある特定のアルゴリズムなどにより算出するデータパターンであり、これらのように、記憶システム自身がその初期構築完了時に初期フォーマットなどにより初期確定としてディスク装置に設定するデータが初期確定データである。
【００２８】
また、記憶システムによっては初期構築時に別途プログラムなどをディスク装置内の一部領域にコピーする事もある。記憶システムの通常稼動時、このコピーしたデータの元データが管理されており、常時コピー先以外から読み出せる状態である場合はそれらのデータも初期確定データとして取り扱う。
【００２９】
しかし、例えば、初期構築時のみ挿入されるフロッピー（Ｒ）ディスクなどから読み出してコピーされるデータのように、記憶システム通常稼動開始後はディスク装置内のコピー先又はコピー先の冗長度から読み出す以外の再生手段を持たないデータについては、以下、自動生成不可初期データと呼び、初期確定データには含めない。
【００３０】
次に、この実施の形態での記憶システムにおけるディスク装置の管理の一例について説明する。
【００３１】
図２は、実施の形態１での記憶システムにおけるディスク装置の管理を説明するための説明図である。
【００３２】
まず、記憶システム内の各ディスク装置１００〜１０３の全使用領域５０を複数の分割領域５１に分割する。
【００３３】
各分割領域５１は記憶システムにとって、切りのいい管理単位毎、例えば、単位レコードの整数倍毎や論理ディスク毎等に分割したほうが効果的である。また、各分割領域５１の大きさをそれぞれ等しくする必要は無い。
【００３４】
また、各分割領域５１毎に、上位ホストから未更新である、ディスク装置内論理アドレス（以下、ＬＢＡと呼ぶ）の先頭位置（以下、未更新先頭ＬＢＡと呼ぶ）５２を、例えば、記憶制御装置１１０内の記憶手段１２２などに記憶させるなどして管理する。
【００３５】
この未更新先頭ＬＢＡ５２は障害復旧時非常に重要な情報となるので消失又は化けを防止するよう、慎重に管理する必要がある。
【００３６】
また、各ディスク装置１００〜１０３の全使用領域に対する分割数は、より多い方が、本発明の処理上は効果的であるが、その分未更新先頭ＬＢＡ５２情報に多くの容量を必要とするので、予め使用状況や使用環境によって最適な分割数が設定されるようになっている。
【００３７】
まず、記憶システムの初期構築時において、前述のように一般に記憶システムは全記憶領域に対して、初期フォーマット作業などにより初期確定データを確定させる必要がある。この時全ての領域は未更新状態であるので、全ての未更新先頭ＬＢＡ５２に各分割領域の先頭ＬＢＡを設定しておく。
【００３８】
但し、前述のように一部に自動生成不可初期データを確定する記憶システムにおいては、自動生成不可初期データを格納するディスク装置内の領域については本管理の対象外領域とするか、又は自動生成不可初期データが格納されている領域は上位ホストからの更新済みデータと同様に扱い未更新先頭ＬＢＡ５２はその領域の直後に設定するなどが必要である。
【００３９】
次に、この実施の形態の実使用状態における動作について説明する。
【００４０】
まず、データ記録時の動作について説明する。
【００４１】
図３は実施の形態１のデータ記録時の動作を示すフローチャートである。
【００４２】
まず、記憶システムはホストＩ／Ｆ１２１での上位ホストとのやり取りや、データ分割及びパリティ生成など、記憶制御装置１１０内の制御手段１２０により、従来技術と同様に実行する。
【００４３】
なお、この実施の形態では、ＲＡＩＤレベルやパリティの構成などには依存せずに動作可能である。
【００４４】
そして、各ディスク装置１００〜１０３に実際にデータを書き込む段になったときに、図３のフローチャートに示すような、この実施の形態に特有の動作を実行する。
【００４５】
まず、書き込みコマンドの先頭ＬＢＡ、最終ＬＢＡを確定し、それぞれのディスク装置１００〜１０３にデータ書き込む際に、それぞれのディスク装置毎に、データの書き込みを開始するＬＢＡを、書き込み先頭ＬＢＡ、データの書き込みが終了するＬＢＡを、書き込み最終ＬＢＡとする（Ｓ３０１）。
【００４６】
そして、書き込み先頭ＬＢＡが含まれる分割領域を検索し、書き込み先頭ＬＢＡがどの分割領域に入るか判断し（Ｓ３０２）、その同一分割領域に書き込み最終ＬＢＡが含まれるかどうか判断する（Ｓ３０３）。
【００４７】
Ｓ３０３で、書き込み最終ＬＢＡが書き込み先頭ＬＢＡと同一分割領域に入っていなければその領域は最後まで上位ホストのデータが記録されるという事なので、当該分割領域の未更新先頭ＬＢＡ５２を当該分割領域の最終ＬＢＡ＋１に設定する（Ｓ３０４）。
【００４８】
また、書き込み先頭ＬＢＡも同じ値、即ち次の分割領域の先頭ＬＢＡに設定し（Ｓ３０５）、Ｓ３０２に戻り、次の分割領域に書き込み最終ＬＢＡが存在するかどうか確認し、書き込み先頭ＬＢＡと書き込み最終ＬＢＡが同一分割領域に入るまでＳ３０２〜Ｓ３０５の処理を繰り返す。
【００４９】
Ｓ３０３で、書き込み先頭ＬＢＡ、書き込み最終ＬＢＡが同一の分割領域に入ったら、現在の未更新先頭ＬＢＡ５２と書き込み最終ＬＢＡを比較し、書き込み最終ＬＢＡ＋１が未更新先頭ＬＢＡ５２よりも大きいかを判断する（Ｓ３０６）。
【００５０】
そして、Ｓ３０６で書き込み最終ＬＢＡ＋１が未更新先頭ＬＢＡ５２よりも大きければ、未更新先頭ＬＢＡ５２に、書き込み最終ＬＢＡ＋１を代入し（Ｓ３０７）、従来技術と同様に書き込み動作を実施する。
【００５１】
また、Ｓ３０６で書き込み最終ＬＢＡ＋１が未更新先頭ＬＢＡ５２よりも大きくなければ、すでに書き込み最終ＬＢＡ＋１までは、上位ホストにより書き込みが行われているので、未更新先頭ＬＢＡ５２は更新せずに、従来技術と同様に書き込み動作を実施する。
【００５２】
なお、仮にディスク装置への書き込み動作が各ディスク装置１００〜１０３の障害等により失敗しても、更新した未更新先頭ＬＢＡ５２を元に戻してはいけない。
【００５３】
次に、データ再生時の動作について説明する。
【００５４】
図４は実施の形態１でのディスク障害時を説明するための説明図、図５は実施の形態１での冗長度のない状態での障害発生を説明するための説明図である。
【００５５】
まず、この実施の形態では、通常問題なく動作している場合は未更新先頭ＬＢＡ５２を参照する必要はなく従来技術同様に動作すればよい。
【００５６】
また、図４に示すように、仮にディスク装置（例えば、ディスク装置１（１０１））の障害により冗長度がなくなったとしても、後述するような高速データ再生成を実施せず、かつ同一ＥＣＣグループ内の他のディスク装置によりデータが回復できる場合は、未更新先頭ＬＢＡ５２を参照する必要はなく従来技術同様に動作すればよい。
【００５７】
しかし、図５に示すように、図４に示すような冗長度がない状態から、更に同一ＥＣＣグループ内の別のディスク装置（例えば、ディスク装置３（１０３））に後発バットなどにより障害が発生した場合、つまり従来技術では少なくとも当該データの再構築不可能な状態（以下、データロストと呼ぶ）、場合によっては記憶システム自体が動作継続不可能な状態となるような場合に、それを回避するために、この実施の形態では、以下のように動作し、復旧を試みる。
【００５８】
まず、障害の発生したディスク装置（例えば、ディスク装置３（１０３））に対して必要としているデータのＬＢＡ７２が、それの含まれる分割領域の中で、未更新先頭ＬＢＡ７３より大きいかどうか調べる。
【００５９】
もし、必要としているデータのＬＢＡ７２が、未更新先頭ＬＢＡ７３より小さいＬＢＡであれば、結局データ回復不可能であるが、もし、未更新先頭ＬＢＡ７３より大きいＬＢＡであれば、そこのデータは即ち記憶システムの初期確定データそのままである為、例えば、記憶制御装置１１０内の初期確定データ生成手段１２３などにより初期確定データを再生成する事によりデータを復旧させ、記憶システムを停止させずに動作を継続する。
【００６０】
この動作により、障害の発生したディスク装置（例えば、ディスク装置１（１０１））を交換後、それ以外のディスク装置からのデータにより、データの再構築中に、他のディスク装置（例えば、ディスク装置３（１０３））にも障害が発生してしまい、冗長度が無くなった場合であっても、上位ホストから書き込みが行われておらず、未更新の領域の障害であれば、データの再構築を継続することが可能であり、また、その際、障害の発生した領域に対して、上位ホストから、データの要求が発生しても、システムを停止させることなく、継続動作させることが可能である。
【００６１】
したがって、この実施の形態では、従来技術であれば少なくともデータロスト、場合によっては記憶システムの動作不能となっていた重大障害の発生をある確率で抑止する事が可能となる。
【００６２】
また、記憶システム内において、何らかのコピーツールなどを使用して、全てのディスク装置のデータを、未更新領域を含めて全て、別のディスク装置へコピーするような場合に、コピー元のディスク装置に後発バットが発生すると、それが原因でコピーができなくなるが、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【００６３】
なお、この実施の形態では、ディスク装置が４台の例で説明したが、本発明はこれに限らず、複数台のディスク装置を有する記憶システムに適用することが可能である。
【００６４】
また、この実施の形態では、各分割領域において、未更新先頭ＬＢＡ５２にて未更新の領域を識別しているが、未更新先頭ＬＢＡ５２によらず、分割領域内の未更新領域を認識できる情報であれば、どのような情報により未更新領域を認識するようにしてもよい。
【００６５】
（実施の形態２）
実施の形態１では、記憶システムを新規に立ち上げて使用する場合には問題ないが、例えば、既存記憶システムの全データをコピーして使用開始するシステム置き換えのような場合には、コピー元のデータが有意であるかどうかにかかわらず新記憶システムに対して書き込み動作が実行される為に、管理上未更新領域が小さくなってしまう可能性がある。また、記憶システムを他の記憶システムのバックアップ専用として使用する場合も同様に、定期的にほとんどの領域に書き込みが実施されてしまう為に、管理上未更新領域が小さくなってしまう可能性がある。
【００６６】
そこで、この実施の形態は、書き込み時に、分割領域内書き込みのＬＢＡ単位で、初期確定データとの比較を行い、初期確定データと一致しない最後のＬＢＡまでを書き込み済みとして、次のＬＢＡを未更新先頭ＬＢＡ５２として登録するものである。
【００６７】
次に、この実施の形態の動作について説明する。
【００６８】
図６は、実施の形態２のデータ記録時の動作を示すフローチャートであり、実施の形態１に対して動作の異なる部分のみを示している。
【００６９】
この実施の形態では、図３に示す実施の形態１でのＳ３０３の判断の後、書き込み最終ＬＢＡが書き込み先頭ＬＢＡと同一分割領域に入っていないと判断された場合は、図３に示すＡの分岐から、図６に示すフローチャートによる動作を行い、その終了後、図３に示すＡ’に戻り、その後の動作を継続する。
【００７０】
また、図３に示す実施の形態１でのＳ３０３の判断の後、書き込み先頭ＬＢＡ、書き込み最終ＬＢＡが同一の分割領域に入ったと判断された場合は、図３に示すＢの分岐から、図６に示すフローチャートによる動作を行い、その終了後、図３に示すＢ’に戻り、従来技術と同様に書き込み動作を実施する。
【００７１】
まず、この実施の形態に特有の動作としては、図３に示す実施の形態１でのＳ３０３の判断の後、データ更新済ＬＢＡに当該分割領域の未更新先頭ＬＢＡ−１を代入する（Ｓ６０１）。
【００７２】
そして、被検査ＬＢＡに書き込み先頭ＬＢＡを代入し（Ｓ６０２）、被検査ＬＢＡが当該分割領域の未更新先頭ＬＢＡ５２より小さいかを判断する（Ｓ６０３）。
【００７３】
Ｓ６０３で被検査ＬＢＡが当該分割領域の未更新先頭ＬＢＡ５２より小さければ被検査ＬＢＡのデータはすでに更新済みのデータであるので、被検査ＬＢＡに現在の被検査ＬＢＡ＋１を代入する（Ｓ６０６）。
【００７４】
また、Ｓ６０３で被検査ＬＢＡが当該分割領域の未更新先頭ＬＢＡ５２より小さくなければ、被検査ＬＢＡへの書き込みデータは、初期確定データと完全に一致するかを判断する（Ｓ６０４）。
【００７５】
Ｓ６０４で被検査ＬＢＡへの書き込みデータが初期確定データと完全に一致すれば、そのＬＢＡのデータは初期確定時のまま更新されていないデータなので、データ更新済ＬＢＡは変更せず、被検査ＬＢＡに現在の被検査ＬＢＡ＋１を代入する（Ｓ６０６）。
【００７６】
また、Ｓ６０４で被検査ＬＢＡへの書き込みデータが初期確定データと完全に一致しなければ、そのＬＢＡのデータは更新されたデータなので、データ更新済ＬＢＡに現在の被検査ＬＢＡを代入し（Ｓ６０５）、被検査ＬＢＡに現在の被検査ＬＢＡ＋１を代入する（Ｓ６０６）。
【００７７】
そして、分割領域内への全書き込みデータが検査済みかを判断し（Ｓ６０７）、Ｓ６０７で分割領域内への全書き込みデータが検査済みとなるまで、Ｓ６０３〜Ｓ６０６を繰り返す。
【００７８】
そして、Ｓ６０７で分割領域内への全書き込みデータが検査済みとなると、当該分割領域の未更新先頭ＬＢＡ５２にデータ更新済ＬＢＡ＋１を代入し（Ｓ６０８）、図３に示すフローチャートに戻る。
【００７９】
この実施の形態では、書き込みデータに対し、それが記憶システムの初期確定データと完全に同等であればその書込みは実質的な意味合いを持たない為、未更新先頭ＬＢＡ５２を更新する必要はない。つまり、未更新領域に対する全書き込みデータを記憶システムの初期確定データと比較、一致しない最後のＬＢＡまでを書込み済みとし、その次のＬＢＡを未更新先頭ＬＢＡ５２として登録している。
【００８０】
その結果、未更新領域が大きくなるため、異常時の自動復旧可能な確率を高くすることが可能となる。
【００８１】
（実施の形態３）
この実施の形態は、実施の形態２と同様に、既存記憶システムから全データをコピーして使用開始する場合などに、管理上未更新領域が小さくなってしまうのを回避する為の別の手段として、通常のデータの書き込み時は、実施の形態１と同様な処理にしておきながら、上位ホストからの命令に対して記憶システムの能力が十分にある時間帯（以下、低負荷時と呼ぶ）を利用して、ディスク装置上のデータを検査するようにしたものである。
【００８２】
次に、この実施の形態の動作について説明する。
【００８３】
図７は実施の形態３の低負荷時におけるデータ検査の動作を示すフローチャートである。
【００８４】
まず、記憶システムが低負荷時に、各分割領域毎にデータ検査を開始し、データ更新済ＬＢＡに分割領域の先頭ＬＢＡ−１を代入し（Ｓ７０１）、被検査ＬＢＡに分割領域の先頭ＬＢＡを代入する（Ｓ７０２）。
【００８５】
そして、被検査ＬＢＡのデータ読み出しに成功したかを判断し（Ｓ７０３）、Ｓ７０３で被検査ＬＢＡのデータ読み出しに成功しなければ、データ更新済みと同様に扱うことにして、データ更新済ＬＢＡに被検査ＬＢＡを代入し（Ｓ７０４）、被検査ＬＢＡに現在の被検査ＬＢＡ＋１を代入する（Ｓ７０５）。
【００８６】
また、Ｓ７０３で被検査ＬＢＡのデータ読み出しに成功すれば、その読み込みデータが初期確定データと一致するかを判断する（Ｓ７０６）。
【００８７】
Ｓ７０６で読み込みデータが初期確定データと一致しなければ、その読み込みデータは更新されたデータなので、データ更新済ＬＢＡに現在の被検査ＬＢＡを代入し（Ｓ７０４）、被検査ＬＢＡに現在の被検査ＬＢＡ＋１を代入する（Ｓ７０５）。
【００８８】
また、Ｓ７０６で読み込みデータが初期確定データと一致すれば、その読み込みデータは初期確定時のまま更新されていないデータなので、データ更新済ＬＢＡは変更せず、被検査ＬＢＡに現在の被検査ＬＢＡ＋１を代入する（Ｓ７０５）。
【００８９】
そして、被検査ＬＢＡが当該分割領域の未更新先頭ＬＢＡ５２以上かを判断し（Ｓ７０７）、Ｓ７０７で被検査ＬＢＡが当該分割領域の未更新先頭ＬＢＡ５２以上となるまで、すなわち、当該分割領域の未更新先頭ＬＢＡ５２までの検査が終了するまでＳ７０３〜Ｓ７０５を繰り返す。
【００９０】
そして、Ｓ７０７で被検査ＬＢＡが当該分割領域の未更新先頭ＬＢＡ５２以上となると、データ検査中に当該領域への書き込み動作があったかを判断し（Ｓ７０８）、Ｓ７０８でデータ検査中に当該領域への書き込み動作があると、各分割領域毎のデータ検査を終了する。
【００９１】
また、Ｓ７０８でデータ検査中に当該領域への書き込み動作がないと、当該領域の未更新先頭ＬＢＡ５２にデータ更新済ＬＢＡ＋１を代入し（Ｓ７０９）、各分割領域毎のデータ検査を終了する。
【００９２】
この実施の形態では、記憶システムの低負荷時に、分割領域内データ更新済み領域をシーケンシャルに順次読み込み、データを初期確定データと比較し一致しなかった最後のＬＢＡを記憶しておき、また、データが読み出せなかった場合は念の為一致しなかったものと同様に扱うようにしている。
【００９３】
そして、検査が終了した時点で、記憶してあった初期確定データと一致しなかった最後のＬＢＡを未更新先頭ＬＢＡ５２として再登録する。
【００９４】
但し、分割領域検査中に当該分割領域に対する書き込み動作があった場合、すれ違いで不当な値を設定するのを防止する為に、未更新先頭ＬＢＡ５２の再登録をスキップしている。
【００９５】
この方法であれば、書込み動作時に全書込みデータを検査するオーバヘッドが不要なので、実施の形態２と比べて性能に与える影響が少ない。
【００９６】
一般に記憶システムは低負荷時にディスク媒体上の欠陥を早期に発見する為の読み出し試験を実施する事があるが、これと併用してもよい。
【００９７】
このようにディスク装置内のデータを記憶システムの低負荷時に適時検査する事により、自動回復可能な確率を高くすることが可能となる。
【００９８】
（実施の形態４）
実施の形態２又は実施の形態３のように、既存記憶システムの全データをコピーして使用開始するシステム置き換えのような場合に、書込みデータ、又はディスク装置内のデータを検査する際に、記憶システムの初期確定データと、コピー元の既存記憶システムの初期確定データが違うものであると、結局、実施の形態２又は実施の形態３の効果が発揮できない可能性が高くなる。
【００９９】
しかし、記憶システムの初期確定データを既存記憶システムの初期確定データに合わせこむ事により、これを回避できる。
【０１００】
そこで、一般に想定される初期確定データが複数ある場合、例えば、記憶制御装置の記憶手段などに、複数の初期確定データを格納させ、記憶システムは初期確定データをそれらから選択できるようにしてもよい。
【０１０１】
（実施の形態５）
実施の形態１〜４で説明したように、本発明による障害データ自動復旧の成否は障害発生エリアが上位ホストにより書き込み済であったかどうかに直接依存するものであり、常に成功するとは限らない。
【０１０２】
また、本発明はデータロスト又は動作不能状態という記憶システムにとっての致命的障害を回避するものなので、本発明の効果による障害復旧作業が実行される事自体、本来記憶システムにとって重要な問題であり、その発生時には障害の根本原因を追求し対策する事が重要となってくる。
【０１０３】
そこで、記憶システムにおいて、データロスト、又は動作不能状態を回避できた場合は、例えば、制御手段１２０やその他の通報手段などを用いることにより、上位ホストを介して、又は直接、システム動作の監視や保守を行う機構や組織などに対して自動復旧を実行した事実を通報するようにしてもよい。
【０１０４】
これにより、記憶システムの停止など致命的障害を初期確定データを用いることで、回避した場合であっても、通報により、その後の保守点検作業などを迅速に行うことが可能となる。
【０１０５】
（実施の形態６）
実施の形態１〜５のようにディスク装置を管理している際にディスク装置に障害が発生し、交換作業及び新ディスク装置へのデータ再生成が必要となった場合、本発明では上位ホストが更新済みの領域を特定できるので、必ずしもディスク装置全使用領域分のデータを同一ＥＣＣグループ内の他のディスク装置から読み出し、かつ演算する必要は無い。
【０１０６】
そこで、データ未更新の領域については記憶システムが、初期フォーマット時などの初期確定データを用いて直接データを生成し、データ更新済みの領域のみ同一ＥＣＣグループの他のディスク装置からデータを読み出して、演算によりデータを算出することにより、データ再構築に要する時間及び記憶システムの負荷を低減するようにしてもよい。
【０１０７】
さらに、例えば、国際公開第ＷＯ９９／４６６７０号パンフレットに開示されているようなディスク装置が独自に初期確定データを確定させる技術を用いて、ディスク装置自身でディスク装置を初期確定時の状態にした後に、上位ホストから更新済みの部分のみ改めて書き込むようにしてもよい。
【０１０８】
このように、この実施の形態では、ディスク装置交換及び新ディスク装置へのデータ再生成作業を高速、かつ低負荷で実行することが可能となる。
【０１０９】
また、その結果、冗長度が無い状態での動作時間を小さくする事が可能である為、記憶システムがデータロスト又は動作不能状態に落ち込む可能性を直接低減する事が可能となる。
【０１１０】
また、ディスク装置自身で初期確定データを確定させれば、ディスク装置自身による初期確定処理は高速で行うことができるため、データ再構築時間低減及び作業中の記憶システムの負荷低減に劇的な効果を発揮することが可能である。
【０１１１】
（実施の形態７）
実施の形態１〜４では、記憶システムの例で説明したが、本発明特有の動作はディスク装置側単独で実施する事も可能である。
【０１１２】
実施の形態１〜４では、各ディスク装置１００〜１０３毎の各分割領域５１中の未更新先頭ＬＢＡ５２を全て記憶システム側の、例えば、記憶制御装置１１０内の記憶手段１２２などに格納するなどして、管理しているが、ディスク装置側でディスク装置内部の各分割領域５１の情報及びそれぞれの未更新先頭ＬＢＡ５２を、ディスク装置内の制御部などにより、実施の形態１〜６と同様に分割領域を管理すればよい。
【０１１３】
また、初期確定データとしてはフォーマットコマンドにより確定されたデータを使用すればよい。
【０１１４】
この時、確定したデータは、もちろん元々、フォーマットコマンドなどにより、ディスク装置自身が生成したものであり、必要なパラメータなどを、別途、内部的に保存／管理してあれば、後で再生成する事が可能である。
【０１１５】
また、ディスク装置内媒体からの読み出し時に記憶媒体上の後発バッドなどの欠陥によりデータが読み出せない場合には、読み出し不可のＬＢＡがそのＬＢＡを含む分割領域の未更新先頭ＬＢＡ５２よりも大きければ、ディスク装置内部で初期確定データを生成し、ディスク装置が接続される記憶システムなどに転送すればよい。
【０１１６】
このようなディスク装置側での対応は、本発明を未サポート、かつ対応困難な既存の記憶システムにおいて、新型大容量ディスク装置を新規に搭載する場合の信頼性強化手段などとして有効である。
【０１１７】
また、何らかのコピーツールなどを使用して、ディスク装置を、未更新領域を含めて全て、別のディスク装置へコピーするような場合に、コピー元のディスク装置に後発バットが発生すると、それが原因でコピーができなくなるが、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【０１１８】
また、この実施の形態では、実施の形態５と同様に、ディスク装置において、データロスト、又は動作不能状態を回避できた場合は、例えば、ディスク装置内の制御部や通報手段などを用いることにより、ディスク装置が接続されている記憶システムなどに対して、その情報を送信し、記憶システムなどの動作の監視や保守を行う機構や組織などに対して自動復旧を実行した事実を通報するようにしてもよい。
【０１１９】
これにより、ディスク装置の停止など致命的障害を初期確定データを用いることで、回避した場合であっても、通報により、その後の保守点検作業などを迅速に行うことが可能となる。
【０１２０】
（実施の形態８）
実施の形態７において、工場内でのディスク装置の出荷検査等、データ記録面の品質を正しく評価したい場合には、本発明の機能は無効化できることが望ましい。
【０１２１】
そこで、例えば、ディスク装置本体の設定や、外部からの指示などにより、実施の形態７のデータ自動回復機能の有効／無効化を切り替えるようにしてもよい。
【０１２２】
このように、この実施の形態では、データ自動回復機能の有効／無効化を切り替えることができるようにしているので、無効化することにより、ディスク装置の検査時など、データ記録面の品質を正しく評価することが可能となる。
【０１２３】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１２４】
また、前記実施の形態において開示した観点の代表的なものは次の通りである。
【０１２５】
（１）制御部と記憶媒体とを有する記憶装置であって、内部の記憶領域を分割した上でそれぞれの内部をデータ更新済み領域及びデータ未更新領域に分けて管理し、前記記憶装置内のデータを上位ホストへ送信する際にデータ更新済み領域とデータ未更新領域とで別の方法によりデータ生成する手段を備えたことを特徴とする記憶装置。
【０１２６】
（２）前記（１）に記載の記憶装置において、データ未更新領域のデータを生成する際に、記憶媒体から一切データを読み出さない手段を備えたことを特徴とする記憶装置。
【０１２７】
（３）前記（１）に記載の記憶装置において、前記記憶媒体からデータを読み出せない場合に、それがデータ未更新領域に属するものであれば自動でデータを生成する手段を備えたことを特徴とする記憶装置。
【０１２８】
（４）前記（２）又は（３）に記載の記憶装置において、自動で生成するデータとして、前記記憶装置自身の初期構築時に使用するデータを使用することを特徴とする記憶装置。
【０１２９】
（５）前記（４）に記載の記憶装置において、前記記憶装置にデータ記録する際に、そのデータを検査する事により、データ未更新領域を減らさない手段を備えたことを特徴とする記憶装置。
【０１３０】
（６）前記（４）に記載の記憶装置において、前記記憶装置から自動でデータを読み出し検査する事により、データ未更新領域を増やす手段を備えたことを特徴とする記憶装置。
【０１３１】
（７）前記（４）〜（６）のいずれか１項に記載の記憶装置において、その有効性を増す為に前記記憶装置の初期構築時に使用するデータを変更又は選択する手段を備えたことを特徴とする記憶装置。
【０１３２】
（８）前記（７）に記載の記憶装置において、その有効性を増す為に搭載される外部記憶システムの初期構築時に使用されるデータを前記記憶装置自信の初期構築時データとして使用する手段を備えたことを特徴とする記憶装置。
【０１３３】
（９）前記（３）〜（８）のいずれか１項に記載の記憶装置において、これらの技術によりデータを生成した場合、それを上位ホストに報告する手段を備えたことを特徴とする記憶装置。
【０１３４】
（１０）前記（３）〜（８）のいずれか１項に記載の記憶装置において、データ自動生成機能の有効／無効を切り替える手段を備えたことを特徴とする記憶装置。
【０１３５】
（１１）制御部と記憶媒体とを有する複数の記憶装置と、前記複数の記憶装置を制御する記憶制御装置を有する記憶システムであって、前記記憶制御装置は前記記憶装置内の記憶領域を分割した上でそれぞれの内部を上位システムからのデータ更新済み領域及びデータ未更新領域に分けて管理し、前記記憶装置内のデータを再生成する際にデータ更新済み領域とデータ未更新領域とで別の方法によりデータ生成する手段を備えたことを特徴とする記憶システム。
【０１３６】
（１２）前記（１１）に記載の記憶システムにおいて、データ未更新領域のデータを生成する際に、前記記憶装置から一切データを読み出さない手段を備えたことを特徴とする記憶システム。
【０１３７】
（１３）前記（１１）に記載の記憶システムにおいて、前記記憶装置内のデータを読み出せない場合に、それがデータ未更新領域に属するものであれば自動でデータを生成する手段を備えたことを特徴とする記憶システム。
【０１３８】
（１４）前記（１２）又は（１３）に記載の記憶システムにおいて、自動で生成するデータとして、前記外部記憶システム自身の初期構築時に使用するデータを使用する手段を備えたことを特徴とする記憶システム。
【０１３９】
（１５）前記（１４）に記載の記憶システムにおいて、前記記憶装置にデータ記録する際に、そのデータを検査する事により、データ未更新領域を減らさない手段を備えたことを特徴とする記憶システム。
【０１４０】
（１６）前記（１４）に記載の記憶システムにおいて、前記記憶装置から自動でデータを読み出し検査する事により、データ未更新領域を増やす手段を備えたことを特徴とする記憶システム。
【０１４１】
（１７）前記（１４）〜（１６）のいずれか１項に記載の記憶システムにおいて、その有効性を増す為に前記外部記憶システムの初期構築時に使用するデータを変更又は選択する手段を備えたことを特徴とする記憶システム。
【０１４２】
（１８）前記（１３）〜（１７）のいずれか１項に記載の記憶システムにおいて、これらの技術によりデータを生成した場合、それを通報する手段を備えたことを特徴とする記憶システム。
【０１４３】
（１９）前記（１２）に記載の記憶システムにおいて、前記記憶装置の交換及びデータの再構築を高速に行う為にデータ未更新領域のデータを自動生成する手段を備えたことを特徴とする記憶システム。
【０１４４】
【発明の効果】
本発明によれば、記憶装置の制御部により、記憶装置の記憶領域に対する初期確定時の情報を保持し、記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理し、記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、保持している初期確定時の情報に基づいて、障害の発生した箇所の初期確定データを生成し、障害の発生した箇所のデータとして処理するようにしたので、記憶装置単体で内部の記憶媒体に障害が発生した場合でも、障害発生箇所が未更新の領域であれば、記憶装置としての動作を継続することができるという効果を有する。
【０１４５】
従って、記憶装置から別の記憶装置へ、記憶装置の内容を未更新領域を含めて全てコピーするような場合に、コピー元の記憶装置に後発バットが発生しても、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【０１４６】
また、本発明によれば、初期確定データ生成手段により、複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成し、制御手段により、複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理するようにしたので、自動復旧が困難である記憶システムの冗長度が無い状態での、更なる記憶装置障害に対するデータの自動復旧を行うことができるという効果を有する。
【図面の簡単な説明】
【図１】本発明の実施の形態１による記憶システムの構成を示す構成図である。
【図２】本発明の実施の形態１での記憶システムにおけるディスク装置の管理を説明するための説明図である。
【図３】本発明の実施の形態１のデータ記録時の動作を示すフローチャートである。
【図４】本発明の実施の形態１でのディスク障害時を説明するための説明図である。
【図５】本発明の実施の形態１での冗長度のない状態での障害発生を説明するための説明図である。
【図６】本発明の実施の形態２のデータ記録時の動作を示すフローチャートである。
【図７】本発明の実施の形態３の低負荷時におけるデータ検査の動作を示すフローチャートである。
【図８】ＲＡＩＤ技術（３Ｄ＋１Ｐ）を利用した一般的な記憶システムにおけるデータの保存方法の一例を示す図である。
【符号の説明】
１０…上位ホストからの送信データ、１１〜１７…上位ホストからの送信データを分割したそれぞれの部分、２０〜２３…ディスク装置、３０〜３２…パリティデータ、４０〜４１…過去にディスク装置に保存してあったデータ、５０…ディスク装置の全使用領域、５１…分割領域、５２…各分割領域毎の未更新先頭ＬＢＡ、７２…障害部位の先頭ＬＢＡ、７３…障害部位を含む分割領域の未更新先頭ＬＢＡ、１００…ディスク装置０、１０１…ディスク装置１、１０２…ディスク装置２、１０３…ディスク装置３、１１０…記憶制御装置、１２０…制御手段、１２１…ホストＩ／Ｆ、１２２…記憶手段、１２３…初期確定データ生成手段。
【図１】
2004287955.tif 000003
【図２】
2004287955.tif 000004
【図３】
2004287955.tif 000005
【図４】
2004287955.tif 000006
【図５】
2004287955.tif 000007
【図６】
2004287955.tif 000008
【図７】
2004287955.tif 000009
【図８】
2004287955.tif 000010