JP2004287955A - 記憶装置及び記憶システム - Google Patents
記憶装置及び記憶システム Download PDFInfo
- Publication number
- JP2004287955A JP2004287955A JP2003080484A JP2003080484A JP2004287955A JP 2004287955 A JP2004287955 A JP 2004287955A JP 2003080484 A JP2003080484 A JP 2003080484A JP 2003080484 A JP2003080484 A JP 2003080484A JP 2004287955 A JP2004287955 A JP 2004287955A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- lba
- initial
- area
- 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.)
- Pending
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】ディスク装置に冗長度が無い状態での障害に対してもある確率でデータを自動復旧することができ、障害の発生したディスク装置を交換する時のデータ再構築を高速に、かつ低負荷に行うことができる記憶システムを提供する。
【解決手段】複数のディスク装置100〜103のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段123と、複数のディスク装置100〜103のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段122に格納し、ディスク装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段123により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理する制御手段120とを有する記憶制御装置110を備えた。
【選択図】 図1
【解決手段】複数のディスク装置100〜103のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段123と、複数のディスク装置100〜103のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段122に格納し、ディスク装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段123により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理する制御手段120とを有する記憶制御装置110を備えた。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ディスク装置などの記憶装置及び複数の記憶装置からなる記憶システムに関し、特に、無停止運転が必要な記憶装置及び記憶システムにおいて、その障害発生に対して、冗長度の無い状態での自動復旧処理に適用して有効な技術に関する。
【0002】
【従来の技術】
図8にRAID技術(3D+1P)を利用した一般的な記憶システムにおけるデータの保存方法の一例を示す。
【0003】
まず、上位ホストからの送信データ10は、図8のデータA11〜データG17に示すように、複数のデータに分割され、それぞれ複数のディスク装置0(20)、ディスク装置1(21)、ディスク装置2(22)に分割して保存する。
【0004】
また、同時にデータA11,データB12,データC13から生成したパリティP0(30)、データD14,データE15,データF16から生成したパリティP1(31)をディスク装置3(23)に保存しておく。この状態がいわゆる冗長度がある状態である。仮にディスク装置0(20)の障害によりデータA11を失った場合でもデータB12,C13及びパリティP0(30)によりデータA11を再生成可能なので記憶システムとしての動作継続可能である。
【0005】
データ保存用のディスク装置0(20)〜ディスク装置2(22)、及び、それらのデータ異常時の再生成用情報を記憶するディスク装置3(23)のように、データを保存、維持するのに必要な組み合わせ単位を以下ECCグループと呼ぶ。
【0006】
また、図中のデータG17のようにECCグループ内で、データ用ディスク装置の一部のみに更新が必要になった場合でも、結果パリティP2(32)が妥当な値になるように更新する事により冗長度を維持できる。具体的には、例えば、ディスク装置1(21),ディスク装置2(22)の対応する領域のデータH40,データI41を読み出して、それらとデータG17を用いてパリティP2(32)を再計算しディスク装置3(23)に保存すれば良い。
【0007】
このようにデータの冗長度がある状態を維持していれば不測のディスク装置障害が起きても記憶システムの動作継続可能である。また、障害となったディスク装置を交換し同一ECCグループの他のディスク装置から再生成したデータを書き戻す事により再び冗長度がある状態を再構築する事も可能である。
【0008】
【発明が解決しようとする課題】
従来の記憶システムにおいて、ディスク装置の故障、交換時のデータ再構築作業に要する時間は一般にディスク装置容量と単純な相関関係にある事が多い。また、近年ディスク装置1台当りの容量は増加の一途であり、同一記憶システムであれば新規大容量ディスク装置を搭載する毎にディスク装置故障時のデータ再構築に要する時間は長くなる。
【0009】
本来は、このようにデータ再構築により多くの時間がかかる場合、記憶システム全体として従来同等の信頼性を維持する為にはその分ディスク装置の故障率が低くなる必要がある。しかし、必ずしもディスク装置の故障率はディスク装置容量に反比例して小さくなってはいかない。一方で記憶システム全体のデータ容量も増大し続けている為、記憶システムにはより高い信頼性が求められるようになっている。
【0010】
しかしながら、従来の記憶システムでは、ECCグループ内のディスク装置が同時に規定数以上異常状態となった場合、例えば、図8のディスク装置0(20)が故障し、その交換後のデータ再生成中にディスク装置1(21)に障害が発生し一部のデータH40を読み出す事ができなくなれば、ディスク装置0(20)の再構築は不可能となる。したがって、記憶システム自身による記憶システムの完全な再構築が不可能になってしまうという問題点があった。
【0011】
また、もちろん、このディスク装置0(20)の再構築不可能な状態で、記録システムが接続されている上位ホストからディスク装置0(20)上の領域のデータを要求されてもデータ送信も不可能となるという問題点があった。
【0012】
このように、記憶システムの信頼性を向上する為にはディスク装置の信頼性向上を図ると共に、ディスク装置故障時のデータ再構築作業の短時間化が必要となってきている。また、記憶システムの冗長度がない状態であっても同一ECCグループ内の別のディスク装置の障害に対する強力な回復方法があれば非常に望ましい。
【0013】
そこで、本発明の目的は、記憶システムにおいて、ディスク装置に冗長度が無い状態での障害に対してもある確率でデータを自動復旧することができ、障害の発生したディスク装置を交換する時のデータ再構築を高速に、かつ低負荷に行うことができる記憶システムを提供することにある。
【0014】
【課題を解決するための手段】
本発明による記憶装置は、制御部及び記憶媒体を備えた記憶装置において、制御部は、記憶装置の記憶領域に対する初期確定時の情報を保持する手段と、記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理する手段と、記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、保持している初期確定時の情報に基づいて、障害の発生した箇所の初期確定データを生成し、障害の発生した箇所のデータとして処理する手段とを有するものである。
【0015】
また、本発明による記憶システムは、制御部及び記憶媒体を有する複数の記憶装置と、複数の記憶装置を制御する記憶制御装置とを備えた記憶システムにおいて、記憶制御装置は、複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段と、複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理する制御手段とを有するものである。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0017】
(実施の形態1)
図1は本発明の実施の形態1による記憶システムの構成を示す構成図である。
【0018】
図において、記憶システムは、複数のディスク装置(ディスク装置0(100)、ディスク装置1(101)、ディスク装置2(102)、ディスク装置3(103))と複数のディスク装置を制御する記憶制御装置110から構成され、記憶制御装置110は、記憶制御装置110全体の動作を制御する制御手段120、上位ホストとの間でデータのやり取りを行うホストI/F121、未更新先頭LBAなどの情報が格納される記憶手段122、初期確定データを生成する初期確定データ生成手段123を有している。
【0019】
まず、この実施の形態における動作の概略について説明する。
【0020】
この実施の形態では、記憶システムは、その記憶領域を各ディスク装置毎に、複数の領域に分割して管理する。また、それぞれの分割領域の内部でどこまでが上位ホストから更新されたのかを識別して管理している。
【0021】
また、例えば、パリティデータのように、直接上位ホストから更新されたデータでなくとも上位ホストからのデータ更新に伴い発生するデータ更新も同じように上位ホストから更新済みであるとして扱っている。
【0022】
そこで、ある時に必要としたデータが分割領域内で上位ホストから更新されていない領域に含まれる場合、そのデータはそもそも記憶システムが初期構築時に保存した初期確定データであり記憶システムにとって既知のものである。
【0023】
つまり、冗長度が無い状態においてデータ再生成に必要なディスク装置が追加で異常となるような従来技術ではシステムの動作継続困難となる重大な事態においても、必要としているデータが前述のように記憶システム自身が生成した初期確定データと等しいと判断されるなら、再び記憶システム自身で生成すれば作業を継続することが可能である。
【0024】
また、このような管理をする事により、ディスク装置の故障によりデータが再生不可となった時に、別ディスク装置へのデータ再構築の際に、必ずしも同一ECCグループ内の他のディスク装置から読み出し、かつ演算する必要が無く、初期確定データを使用し、低負荷で、かつ高速にデータ再構築作業を実施する事ができるようになっている。
【0025】
次に、この実施の形態での、初期確定データについて説明する。
【0026】
一般に記憶システムの新規導入に伴う初期構築時には、その使用しているディスク装置の全使用領域に対して、冗長度が有る状態を確定させる為の初期フォーマット作業が行なわれる。また、その際にデータ保証の為にそれぞれのセクタ内に必要なデータ保証コードを埋め込むなどの作業が同時に行なわれる事もある。
【0027】
しかし、いずれのデータも記憶システム自身がある特定のアルゴリズムなどにより算出するデータパターンであり、これらのように、記憶システム自身がその初期構築完了時に初期フォーマットなどにより初期確定としてディスク装置に設定するデータが初期確定データである。
【0028】
また、記憶システムによっては初期構築時に別途プログラムなどをディスク装置内の一部領域にコピーする事もある。記憶システムの通常稼動時、このコピーしたデータの元データが管理されており、常時コピー先以外から読み出せる状態である場合はそれらのデータも初期確定データとして取り扱う。
【0029】
しかし、例えば、初期構築時のみ挿入されるフロッピー(R)ディスクなどから読み出してコピーされるデータのように、記憶システム通常稼動開始後はディスク装置内のコピー先又はコピー先の冗長度から読み出す以外の再生手段を持たないデータについては、以下、自動生成不可初期データと呼び、初期確定データには含めない。
【0030】
次に、この実施の形態での記憶システムにおけるディスク装置の管理の一例について説明する。
【0031】
図2は、実施の形態1での記憶システムにおけるディスク装置の管理を説明するための説明図である。
【0032】
まず、記憶システム内の各ディスク装置100〜103の全使用領域50を複数の分割領域51に分割する。
【0033】
各分割領域51は記憶システムにとって、切りのいい管理単位毎、例えば、単位レコードの整数倍毎や論理ディスク毎等に分割したほうが効果的である。また、各分割領域51の大きさをそれぞれ等しくする必要は無い。
【0034】
また、各分割領域51毎に、上位ホストから未更新である、ディスク装置内論理アドレス(以下、LBAと呼ぶ)の先頭位置(以下、未更新先頭LBAと呼ぶ)52を、例えば、記憶制御装置110内の記憶手段122などに記憶させるなどして管理する。
【0035】
この未更新先頭LBA52は障害復旧時非常に重要な情報となるので消失又は化けを防止するよう、慎重に管理する必要がある。
【0036】
また、各ディスク装置100〜103の全使用領域に対する分割数は、より多い方が、本発明の処理上は効果的であるが、その分未更新先頭LBA52情報に多くの容量を必要とするので、予め使用状況や使用環境によって最適な分割数が設定されるようになっている。
【0037】
まず、記憶システムの初期構築時において、前述のように一般に記憶システムは全記憶領域に対して、初期フォーマット作業などにより初期確定データを確定させる必要がある。この時全ての領域は未更新状態であるので、全ての未更新先頭LBA52に各分割領域の先頭LBAを設定しておく。
【0038】
但し、前述のように一部に自動生成不可初期データを確定する記憶システムにおいては、自動生成不可初期データを格納するディスク装置内の領域については本管理の対象外領域とするか、又は自動生成不可初期データが格納されている領域は上位ホストからの更新済みデータと同様に扱い未更新先頭LBA52はその領域の直後に設定するなどが必要である。
【0039】
次に、この実施の形態の実使用状態における動作について説明する。
【0040】
まず、データ記録時の動作について説明する。
【0041】
図3は実施の形態1のデータ記録時の動作を示すフローチャートである。
【0042】
まず、記憶システムはホストI/F121での上位ホストとのやり取りや、データ分割及びパリティ生成など、記憶制御装置110内の制御手段120により、従来技術と同様に実行する。
【0043】
なお、この実施の形態では、RAIDレベルやパリティの構成などには依存せずに動作可能である。
【0044】
そして、各ディスク装置100〜103に実際にデータを書き込む段になったときに、図3のフローチャートに示すような、この実施の形態に特有の動作を実行する。
【0045】
まず、書き込みコマンドの先頭LBA、最終LBAを確定し、それぞれのディスク装置100〜103にデータ書き込む際に、それぞれのディスク装置毎に、データの書き込みを開始するLBAを、書き込み先頭LBA、データの書き込みが終了するLBAを、書き込み最終LBAとする(S301)。
【0046】
そして、書き込み先頭LBAが含まれる分割領域を検索し、書き込み先頭LBAがどの分割領域に入るか判断し(S302)、その同一分割領域に書き込み最終LBAが含まれるかどうか判断する(S303)。
【0047】
S303で、書き込み最終LBAが書き込み先頭LBAと同一分割領域に入っていなければその領域は最後まで上位ホストのデータが記録されるという事なので、当該分割領域の未更新先頭LBA52を当該分割領域の最終LBA+1に設定する(S304)。
【0048】
また、書き込み先頭LBAも同じ値、即ち次の分割領域の先頭LBAに設定し(S305)、S302に戻り、次の分割領域に書き込み最終LBAが存在するかどうか確認し、書き込み先頭LBAと書き込み最終LBAが同一分割領域に入るまでS302〜S305の処理を繰り返す。
【0049】
S303で、書き込み先頭LBA、書き込み最終LBAが同一の分割領域に入ったら、現在の未更新先頭LBA52と書き込み最終LBAを比較し、書き込み最終LBA+1が未更新先頭LBA52よりも大きいかを判断する(S306)。
【0050】
そして、S306で書き込み最終LBA+1が未更新先頭LBA52よりも大きければ、未更新先頭LBA52に、書き込み最終LBA+1を代入し(S307)、従来技術と同様に書き込み動作を実施する。
【0051】
また、S306で書き込み最終LBA+1が未更新先頭LBA52よりも大きくなければ、すでに書き込み最終LBA+1までは、上位ホストにより書き込みが行われているので、未更新先頭LBA52は更新せずに、従来技術と同様に書き込み動作を実施する。
【0052】
なお、仮にディスク装置への書き込み動作が各ディスク装置100〜103の障害等により失敗しても、更新した未更新先頭LBA52を元に戻してはいけない。
【0053】
次に、データ再生時の動作について説明する。
【0054】
図4は実施の形態1でのディスク障害時を説明するための説明図、図5は実施の形態1での冗長度のない状態での障害発生を説明するための説明図である。
【0055】
まず、この実施の形態では、通常問題なく動作している場合は未更新先頭LBA52を参照する必要はなく従来技術同様に動作すればよい。
【0056】
また、図4に示すように、仮にディスク装置(例えば、ディスク装置1(101))の障害により冗長度がなくなったとしても、後述するような高速データ再生成を実施せず、かつ同一ECCグループ内の他のディスク装置によりデータが回復できる場合は、未更新先頭LBA52を参照する必要はなく従来技術同様に動作すればよい。
【0057】
しかし、図5に示すように、図4に示すような冗長度がない状態から、更に同一ECCグループ内の別のディスク装置(例えば、ディスク装置3(103))に後発バットなどにより障害が発生した場合、つまり従来技術では少なくとも当該データの再構築不可能な状態(以下、データロストと呼ぶ)、場合によっては記憶システム自体が動作継続不可能な状態となるような場合に、それを回避するために、この実施の形態では、以下のように動作し、復旧を試みる。
【0058】
まず、障害の発生したディスク装置(例えば、ディスク装置3(103))に対して必要としているデータのLBA72が、それの含まれる分割領域の中で、未更新先頭LBA73より大きいかどうか調べる。
【0059】
もし、必要としているデータのLBA72が、未更新先頭LBA73より小さいLBAであれば、結局データ回復不可能であるが、もし、未更新先頭LBA73より大きいLBAであれば、そこのデータは即ち記憶システムの初期確定データそのままである為、例えば、記憶制御装置110内の初期確定データ生成手段123などにより初期確定データを再生成する事によりデータを復旧させ、記憶システムを停止させずに動作を継続する。
【0060】
この動作により、障害の発生したディスク装置(例えば、ディスク装置1(101))を交換後、それ以外のディスク装置からのデータにより、データの再構築中に、他のディスク装置(例えば、ディスク装置3(103))にも障害が発生してしまい、冗長度が無くなった場合であっても、上位ホストから書き込みが行われておらず、未更新の領域の障害であれば、データの再構築を継続することが可能であり、また、その際、障害の発生した領域に対して、上位ホストから、データの要求が発生しても、システムを停止させることなく、継続動作させることが可能である。
【0061】
したがって、この実施の形態では、従来技術であれば少なくともデータロスト、場合によっては記憶システムの動作不能となっていた重大障害の発生をある確率で抑止する事が可能となる。
【0062】
また、記憶システム内において、何らかのコピーツールなどを使用して、全てのディスク装置のデータを、未更新領域を含めて全て、別のディスク装置へコピーするような場合に、コピー元のディスク装置に後発バットが発生すると、それが原因でコピーができなくなるが、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【0063】
なお、この実施の形態では、ディスク装置が4台の例で説明したが、本発明はこれに限らず、複数台のディスク装置を有する記憶システムに適用することが可能である。
【0064】
また、この実施の形態では、各分割領域において、未更新先頭LBA52にて未更新の領域を識別しているが、未更新先頭LBA52によらず、分割領域内の未更新領域を認識できる情報であれば、どのような情報により未更新領域を認識するようにしてもよい。
【0065】
(実施の形態2)
実施の形態1では、記憶システムを新規に立ち上げて使用する場合には問題ないが、例えば、既存記憶システムの全データをコピーして使用開始するシステム置き換えのような場合には、コピー元のデータが有意であるかどうかにかかわらず新記憶システムに対して書き込み動作が実行される為に、管理上未更新領域が小さくなってしまう可能性がある。また、記憶システムを他の記憶システムのバックアップ専用として使用する場合も同様に、定期的にほとんどの領域に書き込みが実施されてしまう為に、管理上未更新領域が小さくなってしまう可能性がある。
【0066】
そこで、この実施の形態は、書き込み時に、分割領域内書き込みのLBA単位で、初期確定データとの比較を行い、初期確定データと一致しない最後のLBAまでを書き込み済みとして、次のLBAを未更新先頭LBA52として登録するものである。
【0067】
次に、この実施の形態の動作について説明する。
【0068】
図6は、実施の形態2のデータ記録時の動作を示すフローチャートであり、実施の形態1に対して動作の異なる部分のみを示している。
【0069】
この実施の形態では、図3に示す実施の形態1でのS303の判断の後、書き込み最終LBAが書き込み先頭LBAと同一分割領域に入っていないと判断された場合は、図3に示すAの分岐から、図6に示すフローチャートによる動作を行い、その終了後、図3に示すA’に戻り、その後の動作を継続する。
【0070】
また、図3に示す実施の形態1でのS303の判断の後、書き込み先頭LBA、書き込み最終LBAが同一の分割領域に入ったと判断された場合は、図3に示すBの分岐から、図6に示すフローチャートによる動作を行い、その終了後、図3に示すB’に戻り、従来技術と同様に書き込み動作を実施する。
【0071】
まず、この実施の形態に特有の動作としては、図3に示す実施の形態1でのS303の判断の後、データ更新済LBAに当該分割領域の未更新先頭LBA−1を代入する(S601)。
【0072】
そして、被検査LBAに書き込み先頭LBAを代入し(S602)、被検査LBAが当該分割領域の未更新先頭LBA52より小さいかを判断する(S603)。
【0073】
S603で被検査LBAが当該分割領域の未更新先頭LBA52より小さければ被検査LBAのデータはすでに更新済みのデータであるので、被検査LBAに現在の被検査LBA+1を代入する(S606)。
【0074】
また、S603で被検査LBAが当該分割領域の未更新先頭LBA52より小さくなければ、被検査LBAへの書き込みデータは、初期確定データと完全に一致するかを判断する(S604)。
【0075】
S604で被検査LBAへの書き込みデータが初期確定データと完全に一致すれば、そのLBAのデータは初期確定時のまま更新されていないデータなので、データ更新済LBAは変更せず、被検査LBAに現在の被検査LBA+1を代入する(S606)。
【0076】
また、S604で被検査LBAへの書き込みデータが初期確定データと完全に一致しなければ、そのLBAのデータは更新されたデータなので、データ更新済LBAに現在の被検査LBAを代入し(S605)、被検査LBAに現在の被検査LBA+1を代入する(S606)。
【0077】
そして、分割領域内への全書き込みデータが検査済みかを判断し(S607)、S607で分割領域内への全書き込みデータが検査済みとなるまで、S603〜S606を繰り返す。
【0078】
そして、S607で分割領域内への全書き込みデータが検査済みとなると、当該分割領域の未更新先頭LBA52にデータ更新済LBA+1を代入し(S608)、図3に示すフローチャートに戻る。
【0079】
この実施の形態では、書き込みデータに対し、それが記憶システムの初期確定データと完全に同等であればその書込みは実質的な意味合いを持たない為、未更新先頭LBA52を更新する必要はない。つまり、未更新領域に対する全書き込みデータを記憶システムの初期確定データと比較、一致しない最後のLBAまでを書込み済みとし、その次のLBAを未更新先頭LBA52として登録している。
【0080】
その結果、未更新領域が大きくなるため、異常時の自動復旧可能な確率を高くすることが可能となる。
【0081】
(実施の形態3)
この実施の形態は、実施の形態2と同様に、既存記憶システムから全データをコピーして使用開始する場合などに、管理上未更新領域が小さくなってしまうのを回避する為の別の手段として、通常のデータの書き込み時は、実施の形態1と同様な処理にしておきながら、上位ホストからの命令に対して記憶システムの能力が十分にある時間帯(以下、低負荷時と呼ぶ)を利用して、ディスク装置上のデータを検査するようにしたものである。
【0082】
次に、この実施の形態の動作について説明する。
【0083】
図7は実施の形態3の低負荷時におけるデータ検査の動作を示すフローチャートである。
【0084】
まず、記憶システムが低負荷時に、各分割領域毎にデータ検査を開始し、データ更新済LBAに分割領域の先頭LBA−1を代入し(S701)、被検査LBAに分割領域の先頭LBAを代入する(S702)。
【0085】
そして、被検査LBAのデータ読み出しに成功したかを判断し(S703)、S703で被検査LBAのデータ読み出しに成功しなければ、データ更新済みと同様に扱うことにして、データ更新済LBAに被検査LBAを代入し(S704)、被検査LBAに現在の被検査LBA+1を代入する(S705)。
【0086】
また、S703で被検査LBAのデータ読み出しに成功すれば、その読み込みデータが初期確定データと一致するかを判断する(S706)。
【0087】
S706で読み込みデータが初期確定データと一致しなければ、その読み込みデータは更新されたデータなので、データ更新済LBAに現在の被検査LBAを代入し(S704)、被検査LBAに現在の被検査LBA+1を代入する(S705)。
【0088】
また、S706で読み込みデータが初期確定データと一致すれば、その読み込みデータは初期確定時のまま更新されていないデータなので、データ更新済LBAは変更せず、被検査LBAに現在の被検査LBA+1を代入する(S705)。
【0089】
そして、被検査LBAが当該分割領域の未更新先頭LBA52以上かを判断し(S707)、S707で被検査LBAが当該分割領域の未更新先頭LBA52以上となるまで、すなわち、当該分割領域の未更新先頭LBA52までの検査が終了するまでS703〜S705を繰り返す。
【0090】
そして、S707で被検査LBAが当該分割領域の未更新先頭LBA52以上となると、データ検査中に当該領域への書き込み動作があったかを判断し(S708)、S708でデータ検査中に当該領域への書き込み動作があると、各分割領域毎のデータ検査を終了する。
【0091】
また、S708でデータ検査中に当該領域への書き込み動作がないと、当該領域の未更新先頭LBA52にデータ更新済LBA+1を代入し(S709)、各分割領域毎のデータ検査を終了する。
【0092】
この実施の形態では、記憶システムの低負荷時に、分割領域内データ更新済み領域をシーケンシャルに順次読み込み、データを初期確定データと比較し一致しなかった最後のLBAを記憶しておき、また、データが読み出せなかった場合は念の為一致しなかったものと同様に扱うようにしている。
【0093】
そして、検査が終了した時点で、記憶してあった初期確定データと一致しなかった最後のLBAを未更新先頭LBA52として再登録する。
【0094】
但し、分割領域検査中に当該分割領域に対する書き込み動作があった場合、すれ違いで不当な値を設定するのを防止する為に、未更新先頭LBA52の再登録をスキップしている。
【0095】
この方法であれば、書込み動作時に全書込みデータを検査するオーバヘッドが不要なので、実施の形態2と比べて性能に与える影響が少ない。
【0096】
一般に記憶システムは低負荷時にディスク媒体上の欠陥を早期に発見する為の読み出し試験を実施する事があるが、これと併用してもよい。
【0097】
このようにディスク装置内のデータを記憶システムの低負荷時に適時検査する事により、自動回復可能な確率を高くすることが可能となる。
【0098】
(実施の形態4)
実施の形態2又は実施の形態3のように、既存記憶システムの全データをコピーして使用開始するシステム置き換えのような場合に、書込みデータ、又はディスク装置内のデータを検査する際に、記憶システムの初期確定データと、コピー元の既存記憶システムの初期確定データが違うものであると、結局、実施の形態2又は実施の形態3の効果が発揮できない可能性が高くなる。
【0099】
しかし、記憶システムの初期確定データを既存記憶システムの初期確定データに合わせこむ事により、これを回避できる。
【0100】
そこで、一般に想定される初期確定データが複数ある場合、例えば、記憶制御装置の記憶手段などに、複数の初期確定データを格納させ、記憶システムは初期確定データをそれらから選択できるようにしてもよい。
【0101】
(実施の形態5)
実施の形態1〜4で説明したように、本発明による障害データ自動復旧の成否は障害発生エリアが上位ホストにより書き込み済であったかどうかに直接依存するものであり、常に成功するとは限らない。
【0102】
また、本発明はデータロスト又は動作不能状態という記憶システムにとっての致命的障害を回避するものなので、本発明の効果による障害復旧作業が実行される事自体、本来記憶システムにとって重要な問題であり、その発生時には障害の根本原因を追求し対策する事が重要となってくる。
【0103】
そこで、記憶システムにおいて、データロスト、又は動作不能状態を回避できた場合は、例えば、制御手段120やその他の通報手段などを用いることにより、上位ホストを介して、又は直接、システム動作の監視や保守を行う機構や組織などに対して自動復旧を実行した事実を通報するようにしてもよい。
【0104】
これにより、記憶システムの停止など致命的障害を初期確定データを用いることで、回避した場合であっても、通報により、その後の保守点検作業などを迅速に行うことが可能となる。
【0105】
(実施の形態6)
実施の形態1〜5のようにディスク装置を管理している際にディスク装置に障害が発生し、交換作業及び新ディスク装置へのデータ再生成が必要となった場合、本発明では上位ホストが更新済みの領域を特定できるので、必ずしもディスク装置全使用領域分のデータを同一ECCグループ内の他のディスク装置から読み出し、かつ演算する必要は無い。
【0106】
そこで、データ未更新の領域については記憶システムが、初期フォーマット時などの初期確定データを用いて直接データを生成し、データ更新済みの領域のみ同一ECCグループの他のディスク装置からデータを読み出して、演算によりデータを算出することにより、データ再構築に要する時間及び記憶システムの負荷を低減するようにしてもよい。
【0107】
さらに、例えば、国際公開第WO99/46670号パンフレットに開示されているようなディスク装置が独自に初期確定データを確定させる技術を用いて、ディスク装置自身でディスク装置を初期確定時の状態にした後に、上位ホストから更新済みの部分のみ改めて書き込むようにしてもよい。
【0108】
このように、この実施の形態では、ディスク装置交換及び新ディスク装置へのデータ再生成作業を高速、かつ低負荷で実行することが可能となる。
【0109】
また、その結果、冗長度が無い状態での動作時間を小さくする事が可能である為、記憶システムがデータロスト又は動作不能状態に落ち込む可能性を直接低減する事が可能となる。
【0110】
また、ディスク装置自身で初期確定データを確定させれば、ディスク装置自身による初期確定処理は高速で行うことができるため、データ再構築時間低減及び作業中の記憶システムの負荷低減に劇的な効果を発揮することが可能である。
【0111】
(実施の形態7)
実施の形態1〜4では、記憶システムの例で説明したが、本発明特有の動作はディスク装置側単独で実施する事も可能である。
【0112】
実施の形態1〜4では、各ディスク装置100〜103毎の各分割領域51中の未更新先頭LBA52を全て記憶システム側の、例えば、記憶制御装置110内の記憶手段122などに格納するなどして、管理しているが、ディスク装置側でディスク装置内部の各分割領域51の情報及びそれぞれの未更新先頭LBA52を、ディスク装置内の制御部などにより、実施の形態1〜6と同様に分割領域を管理すればよい。
【0113】
また、初期確定データとしてはフォーマットコマンドにより確定されたデータを使用すればよい。
【0114】
この時、確定したデータは、もちろん元々、フォーマットコマンドなどにより、ディスク装置自身が生成したものであり、必要なパラメータなどを、別途、内部的に保存/管理してあれば、後で再生成する事が可能である。
【0115】
また、ディスク装置内媒体からの読み出し時に記憶媒体上の後発バッドなどの欠陥によりデータが読み出せない場合には、読み出し不可のLBAがそのLBAを含む分割領域の未更新先頭LBA52よりも大きければ、ディスク装置内部で初期確定データを生成し、ディスク装置が接続される記憶システムなどに転送すればよい。
【0116】
このようなディスク装置側での対応は、本発明を未サポート、かつ対応困難な既存の記憶システムにおいて、新型大容量ディスク装置を新規に搭載する場合の信頼性強化手段などとして有効である。
【0117】
また、何らかのコピーツールなどを使用して、ディスク装置を、未更新領域を含めて全て、別のディスク装置へコピーするような場合に、コピー元のディスク装置に後発バットが発生すると、それが原因でコピーができなくなるが、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【0118】
また、この実施の形態では、実施の形態5と同様に、ディスク装置において、データロスト、又は動作不能状態を回避できた場合は、例えば、ディスク装置内の制御部や通報手段などを用いることにより、ディスク装置が接続されている記憶システムなどに対して、その情報を送信し、記憶システムなどの動作の監視や保守を行う機構や組織などに対して自動復旧を実行した事実を通報するようにしてもよい。
【0119】
これにより、ディスク装置の停止など致命的障害を初期確定データを用いることで、回避した場合であっても、通報により、その後の保守点検作業などを迅速に行うことが可能となる。
【0120】
(実施の形態8)
実施の形態7において、工場内でのディスク装置の出荷検査等、データ記録面の品質を正しく評価したい場合には、本発明の機能は無効化できることが望ましい。
【0121】
そこで、例えば、ディスク装置本体の設定や、外部からの指示などにより、実施の形態7のデータ自動回復機能の有効/無効化を切り替えるようにしてもよい。
【0122】
このように、この実施の形態では、データ自動回復機能の有効/無効化を切り替えることができるようにしているので、無効化することにより、ディスク装置の検査時など、データ記録面の品質を正しく評価することが可能となる。
【0123】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0124】
また、前記実施の形態において開示した観点の代表的なものは次の通りである。
【0125】
(1)制御部と記憶媒体とを有する記憶装置であって、内部の記憶領域を分割した上でそれぞれの内部をデータ更新済み領域及びデータ未更新領域に分けて管理し、前記記憶装置内のデータを上位ホストへ送信する際にデータ更新済み領域とデータ未更新領域とで別の方法によりデータ生成する手段を備えたことを特徴とする記憶装置。
【0126】
(2)前記(1)に記載の記憶装置において、データ未更新領域のデータを生成する際に、記憶媒体から一切データを読み出さない手段を備えたことを特徴とする記憶装置。
【0127】
(3)前記(1)に記載の記憶装置において、前記記憶媒体からデータを読み出せない場合に、それがデータ未更新領域に属するものであれば自動でデータを生成する手段を備えたことを特徴とする記憶装置。
【0128】
(4)前記(2)又は(3)に記載の記憶装置において、自動で生成するデータとして、前記記憶装置自身の初期構築時に使用するデータを使用することを特徴とする記憶装置。
【0129】
(5)前記(4)に記載の記憶装置において、前記記憶装置にデータ記録する際に、そのデータを検査する事により、データ未更新領域を減らさない手段を備えたことを特徴とする記憶装置。
【0130】
(6)前記(4)に記載の記憶装置において、前記記憶装置から自動でデータを読み出し検査する事により、データ未更新領域を増やす手段を備えたことを特徴とする記憶装置。
【0131】
(7)前記(4)〜(6)のいずれか1項に記載の記憶装置において、その有効性を増す為に前記記憶装置の初期構築時に使用するデータを変更又は選択する手段を備えたことを特徴とする記憶装置。
【0132】
(8)前記(7)に記載の記憶装置において、その有効性を増す為に搭載される外部記憶システムの初期構築時に使用されるデータを前記記憶装置自信の初期構築時データとして使用する手段を備えたことを特徴とする記憶装置。
【0133】
(9)前記(3)〜(8)のいずれか1項に記載の記憶装置において、これらの技術によりデータを生成した場合、それを上位ホストに報告する手段を備えたことを特徴とする記憶装置。
【0134】
(10)前記(3)〜(8)のいずれか1項に記載の記憶装置において、データ自動生成機能の有効/無効を切り替える手段を備えたことを特徴とする記憶装置。
【0135】
(11)制御部と記憶媒体とを有する複数の記憶装置と、前記複数の記憶装置を制御する記憶制御装置を有する記憶システムであって、前記記憶制御装置は前記記憶装置内の記憶領域を分割した上でそれぞれの内部を上位システムからのデータ更新済み領域及びデータ未更新領域に分けて管理し、前記記憶装置内のデータを再生成する際にデータ更新済み領域とデータ未更新領域とで別の方法によりデータ生成する手段を備えたことを特徴とする記憶システム。
【0136】
(12)前記(11)に記載の記憶システムにおいて、データ未更新領域のデータを生成する際に、前記記憶装置から一切データを読み出さない手段を備えたことを特徴とする記憶システム。
【0137】
(13)前記(11)に記載の記憶システムにおいて、前記記憶装置内のデータを読み出せない場合に、それがデータ未更新領域に属するものであれば自動でデータを生成する手段を備えたことを特徴とする記憶システム。
【0138】
(14)前記(12)又は(13)に記載の記憶システムにおいて、自動で生成するデータとして、前記外部記憶システム自身の初期構築時に使用するデータを使用する手段を備えたことを特徴とする記憶システム。
【0139】
(15)前記(14)に記載の記憶システムにおいて、前記記憶装置にデータ記録する際に、そのデータを検査する事により、データ未更新領域を減らさない手段を備えたことを特徴とする記憶システム。
【0140】
(16)前記(14)に記載の記憶システムにおいて、前記記憶装置から自動でデータを読み出し検査する事により、データ未更新領域を増やす手段を備えたことを特徴とする記憶システム。
【0141】
(17)前記(14)〜(16)のいずれか1項に記載の記憶システムにおいて、その有効性を増す為に前記外部記憶システムの初期構築時に使用するデータを変更又は選択する手段を備えたことを特徴とする記憶システム。
【0142】
(18)前記(13)〜(17)のいずれか1項に記載の記憶システムにおいて、これらの技術によりデータを生成した場合、それを通報する手段を備えたことを特徴とする記憶システム。
【0143】
(19)前記(12)に記載の記憶システムにおいて、前記記憶装置の交換及びデータの再構築を高速に行う為にデータ未更新領域のデータを自動生成する手段を備えたことを特徴とする記憶システム。
【0144】
【発明の効果】
本発明によれば、記憶装置の制御部により、記憶装置の記憶領域に対する初期確定時の情報を保持し、記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理し、記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、保持している初期確定時の情報に基づいて、障害の発生した箇所の初期確定データを生成し、障害の発生した箇所のデータとして処理するようにしたので、記憶装置単体で内部の記憶媒体に障害が発生した場合でも、障害発生箇所が未更新の領域であれば、記憶装置としての動作を継続することができるという効果を有する。
【0145】
従って、記憶装置から別の記憶装置へ、記憶装置の内容を未更新領域を含めて全てコピーするような場合に、コピー元の記憶装置に後発バットが発生しても、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【0146】
また、本発明によれば、初期確定データ生成手段により、複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成し、制御手段により、複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理するようにしたので、自動復旧が困難である記憶システムの冗長度が無い状態での、更なる記憶装置障害に対するデータの自動復旧を行うことができるという効果を有する。
【図面の簡単な説明】
【図1】本発明の実施の形態1による記憶システムの構成を示す構成図である。
【図2】本発明の実施の形態1での記憶システムにおけるディスク装置の管理を説明するための説明図である。
【図3】本発明の実施の形態1のデータ記録時の動作を示すフローチャートである。
【図4】本発明の実施の形態1でのディスク障害時を説明するための説明図である。
【図5】本発明の実施の形態1での冗長度のない状態での障害発生を説明するための説明図である。
【図6】本発明の実施の形態2のデータ記録時の動作を示すフローチャートである。
【図7】本発明の実施の形態3の低負荷時におけるデータ検査の動作を示すフローチャートである。
【図8】RAID技術(3D+1P)を利用した一般的な記憶システムにおけるデータの保存方法の一例を示す図である。
【符号の説明】
10…上位ホストからの送信データ、11〜17…上位ホストからの送信データを分割したそれぞれの部分、20〜23…ディスク装置、30〜32…パリティデータ、40〜41…過去にディスク装置に保存してあったデータ、50…ディスク装置の全使用領域、51…分割領域、52…各分割領域毎の未更新先頭LBA、72…障害部位の先頭LBA、73…障害部位を含む分割領域の未更新先頭LBA、100…ディスク装置0、101…ディスク装置1、102…ディスク装置2、103…ディスク装置3、110…記憶制御装置、120…制御手段、121…ホストI/F、122…記憶手段、123…初期確定データ生成手段。
【発明の属する技術分野】
本発明は、ディスク装置などの記憶装置及び複数の記憶装置からなる記憶システムに関し、特に、無停止運転が必要な記憶装置及び記憶システムにおいて、その障害発生に対して、冗長度の無い状態での自動復旧処理に適用して有効な技術に関する。
【0002】
【従来の技術】
図8にRAID技術(3D+1P)を利用した一般的な記憶システムにおけるデータの保存方法の一例を示す。
【0003】
まず、上位ホストからの送信データ10は、図8のデータA11〜データG17に示すように、複数のデータに分割され、それぞれ複数のディスク装置0(20)、ディスク装置1(21)、ディスク装置2(22)に分割して保存する。
【0004】
また、同時にデータA11,データB12,データC13から生成したパリティP0(30)、データD14,データE15,データF16から生成したパリティP1(31)をディスク装置3(23)に保存しておく。この状態がいわゆる冗長度がある状態である。仮にディスク装置0(20)の障害によりデータA11を失った場合でもデータB12,C13及びパリティP0(30)によりデータA11を再生成可能なので記憶システムとしての動作継続可能である。
【0005】
データ保存用のディスク装置0(20)〜ディスク装置2(22)、及び、それらのデータ異常時の再生成用情報を記憶するディスク装置3(23)のように、データを保存、維持するのに必要な組み合わせ単位を以下ECCグループと呼ぶ。
【0006】
また、図中のデータG17のようにECCグループ内で、データ用ディスク装置の一部のみに更新が必要になった場合でも、結果パリティP2(32)が妥当な値になるように更新する事により冗長度を維持できる。具体的には、例えば、ディスク装置1(21),ディスク装置2(22)の対応する領域のデータH40,データI41を読み出して、それらとデータG17を用いてパリティP2(32)を再計算しディスク装置3(23)に保存すれば良い。
【0007】
このようにデータの冗長度がある状態を維持していれば不測のディスク装置障害が起きても記憶システムの動作継続可能である。また、障害となったディスク装置を交換し同一ECCグループの他のディスク装置から再生成したデータを書き戻す事により再び冗長度がある状態を再構築する事も可能である。
【0008】
【発明が解決しようとする課題】
従来の記憶システムにおいて、ディスク装置の故障、交換時のデータ再構築作業に要する時間は一般にディスク装置容量と単純な相関関係にある事が多い。また、近年ディスク装置1台当りの容量は増加の一途であり、同一記憶システムであれば新規大容量ディスク装置を搭載する毎にディスク装置故障時のデータ再構築に要する時間は長くなる。
【0009】
本来は、このようにデータ再構築により多くの時間がかかる場合、記憶システム全体として従来同等の信頼性を維持する為にはその分ディスク装置の故障率が低くなる必要がある。しかし、必ずしもディスク装置の故障率はディスク装置容量に反比例して小さくなってはいかない。一方で記憶システム全体のデータ容量も増大し続けている為、記憶システムにはより高い信頼性が求められるようになっている。
【0010】
しかしながら、従来の記憶システムでは、ECCグループ内のディスク装置が同時に規定数以上異常状態となった場合、例えば、図8のディスク装置0(20)が故障し、その交換後のデータ再生成中にディスク装置1(21)に障害が発生し一部のデータH40を読み出す事ができなくなれば、ディスク装置0(20)の再構築は不可能となる。したがって、記憶システム自身による記憶システムの完全な再構築が不可能になってしまうという問題点があった。
【0011】
また、もちろん、このディスク装置0(20)の再構築不可能な状態で、記録システムが接続されている上位ホストからディスク装置0(20)上の領域のデータを要求されてもデータ送信も不可能となるという問題点があった。
【0012】
このように、記憶システムの信頼性を向上する為にはディスク装置の信頼性向上を図ると共に、ディスク装置故障時のデータ再構築作業の短時間化が必要となってきている。また、記憶システムの冗長度がない状態であっても同一ECCグループ内の別のディスク装置の障害に対する強力な回復方法があれば非常に望ましい。
【0013】
そこで、本発明の目的は、記憶システムにおいて、ディスク装置に冗長度が無い状態での障害に対してもある確率でデータを自動復旧することができ、障害の発生したディスク装置を交換する時のデータ再構築を高速に、かつ低負荷に行うことができる記憶システムを提供することにある。
【0014】
【課題を解決するための手段】
本発明による記憶装置は、制御部及び記憶媒体を備えた記憶装置において、制御部は、記憶装置の記憶領域に対する初期確定時の情報を保持する手段と、記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理する手段と、記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、保持している初期確定時の情報に基づいて、障害の発生した箇所の初期確定データを生成し、障害の発生した箇所のデータとして処理する手段とを有するものである。
【0015】
また、本発明による記憶システムは、制御部及び記憶媒体を有する複数の記憶装置と、複数の記憶装置を制御する記憶制御装置とを備えた記憶システムにおいて、記憶制御装置は、複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段と、複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理する制御手段とを有するものである。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0017】
(実施の形態1)
図1は本発明の実施の形態1による記憶システムの構成を示す構成図である。
【0018】
図において、記憶システムは、複数のディスク装置(ディスク装置0(100)、ディスク装置1(101)、ディスク装置2(102)、ディスク装置3(103))と複数のディスク装置を制御する記憶制御装置110から構成され、記憶制御装置110は、記憶制御装置110全体の動作を制御する制御手段120、上位ホストとの間でデータのやり取りを行うホストI/F121、未更新先頭LBAなどの情報が格納される記憶手段122、初期確定データを生成する初期確定データ生成手段123を有している。
【0019】
まず、この実施の形態における動作の概略について説明する。
【0020】
この実施の形態では、記憶システムは、その記憶領域を各ディスク装置毎に、複数の領域に分割して管理する。また、それぞれの分割領域の内部でどこまでが上位ホストから更新されたのかを識別して管理している。
【0021】
また、例えば、パリティデータのように、直接上位ホストから更新されたデータでなくとも上位ホストからのデータ更新に伴い発生するデータ更新も同じように上位ホストから更新済みであるとして扱っている。
【0022】
そこで、ある時に必要としたデータが分割領域内で上位ホストから更新されていない領域に含まれる場合、そのデータはそもそも記憶システムが初期構築時に保存した初期確定データであり記憶システムにとって既知のものである。
【0023】
つまり、冗長度が無い状態においてデータ再生成に必要なディスク装置が追加で異常となるような従来技術ではシステムの動作継続困難となる重大な事態においても、必要としているデータが前述のように記憶システム自身が生成した初期確定データと等しいと判断されるなら、再び記憶システム自身で生成すれば作業を継続することが可能である。
【0024】
また、このような管理をする事により、ディスク装置の故障によりデータが再生不可となった時に、別ディスク装置へのデータ再構築の際に、必ずしも同一ECCグループ内の他のディスク装置から読み出し、かつ演算する必要が無く、初期確定データを使用し、低負荷で、かつ高速にデータ再構築作業を実施する事ができるようになっている。
【0025】
次に、この実施の形態での、初期確定データについて説明する。
【0026】
一般に記憶システムの新規導入に伴う初期構築時には、その使用しているディスク装置の全使用領域に対して、冗長度が有る状態を確定させる為の初期フォーマット作業が行なわれる。また、その際にデータ保証の為にそれぞれのセクタ内に必要なデータ保証コードを埋め込むなどの作業が同時に行なわれる事もある。
【0027】
しかし、いずれのデータも記憶システム自身がある特定のアルゴリズムなどにより算出するデータパターンであり、これらのように、記憶システム自身がその初期構築完了時に初期フォーマットなどにより初期確定としてディスク装置に設定するデータが初期確定データである。
【0028】
また、記憶システムによっては初期構築時に別途プログラムなどをディスク装置内の一部領域にコピーする事もある。記憶システムの通常稼動時、このコピーしたデータの元データが管理されており、常時コピー先以外から読み出せる状態である場合はそれらのデータも初期確定データとして取り扱う。
【0029】
しかし、例えば、初期構築時のみ挿入されるフロッピー(R)ディスクなどから読み出してコピーされるデータのように、記憶システム通常稼動開始後はディスク装置内のコピー先又はコピー先の冗長度から読み出す以外の再生手段を持たないデータについては、以下、自動生成不可初期データと呼び、初期確定データには含めない。
【0030】
次に、この実施の形態での記憶システムにおけるディスク装置の管理の一例について説明する。
【0031】
図2は、実施の形態1での記憶システムにおけるディスク装置の管理を説明するための説明図である。
【0032】
まず、記憶システム内の各ディスク装置100〜103の全使用領域50を複数の分割領域51に分割する。
【0033】
各分割領域51は記憶システムにとって、切りのいい管理単位毎、例えば、単位レコードの整数倍毎や論理ディスク毎等に分割したほうが効果的である。また、各分割領域51の大きさをそれぞれ等しくする必要は無い。
【0034】
また、各分割領域51毎に、上位ホストから未更新である、ディスク装置内論理アドレス(以下、LBAと呼ぶ)の先頭位置(以下、未更新先頭LBAと呼ぶ)52を、例えば、記憶制御装置110内の記憶手段122などに記憶させるなどして管理する。
【0035】
この未更新先頭LBA52は障害復旧時非常に重要な情報となるので消失又は化けを防止するよう、慎重に管理する必要がある。
【0036】
また、各ディスク装置100〜103の全使用領域に対する分割数は、より多い方が、本発明の処理上は効果的であるが、その分未更新先頭LBA52情報に多くの容量を必要とするので、予め使用状況や使用環境によって最適な分割数が設定されるようになっている。
【0037】
まず、記憶システムの初期構築時において、前述のように一般に記憶システムは全記憶領域に対して、初期フォーマット作業などにより初期確定データを確定させる必要がある。この時全ての領域は未更新状態であるので、全ての未更新先頭LBA52に各分割領域の先頭LBAを設定しておく。
【0038】
但し、前述のように一部に自動生成不可初期データを確定する記憶システムにおいては、自動生成不可初期データを格納するディスク装置内の領域については本管理の対象外領域とするか、又は自動生成不可初期データが格納されている領域は上位ホストからの更新済みデータと同様に扱い未更新先頭LBA52はその領域の直後に設定するなどが必要である。
【0039】
次に、この実施の形態の実使用状態における動作について説明する。
【0040】
まず、データ記録時の動作について説明する。
【0041】
図3は実施の形態1のデータ記録時の動作を示すフローチャートである。
【0042】
まず、記憶システムはホストI/F121での上位ホストとのやり取りや、データ分割及びパリティ生成など、記憶制御装置110内の制御手段120により、従来技術と同様に実行する。
【0043】
なお、この実施の形態では、RAIDレベルやパリティの構成などには依存せずに動作可能である。
【0044】
そして、各ディスク装置100〜103に実際にデータを書き込む段になったときに、図3のフローチャートに示すような、この実施の形態に特有の動作を実行する。
【0045】
まず、書き込みコマンドの先頭LBA、最終LBAを確定し、それぞれのディスク装置100〜103にデータ書き込む際に、それぞれのディスク装置毎に、データの書き込みを開始するLBAを、書き込み先頭LBA、データの書き込みが終了するLBAを、書き込み最終LBAとする(S301)。
【0046】
そして、書き込み先頭LBAが含まれる分割領域を検索し、書き込み先頭LBAがどの分割領域に入るか判断し(S302)、その同一分割領域に書き込み最終LBAが含まれるかどうか判断する(S303)。
【0047】
S303で、書き込み最終LBAが書き込み先頭LBAと同一分割領域に入っていなければその領域は最後まで上位ホストのデータが記録されるという事なので、当該分割領域の未更新先頭LBA52を当該分割領域の最終LBA+1に設定する(S304)。
【0048】
また、書き込み先頭LBAも同じ値、即ち次の分割領域の先頭LBAに設定し(S305)、S302に戻り、次の分割領域に書き込み最終LBAが存在するかどうか確認し、書き込み先頭LBAと書き込み最終LBAが同一分割領域に入るまでS302〜S305の処理を繰り返す。
【0049】
S303で、書き込み先頭LBA、書き込み最終LBAが同一の分割領域に入ったら、現在の未更新先頭LBA52と書き込み最終LBAを比較し、書き込み最終LBA+1が未更新先頭LBA52よりも大きいかを判断する(S306)。
【0050】
そして、S306で書き込み最終LBA+1が未更新先頭LBA52よりも大きければ、未更新先頭LBA52に、書き込み最終LBA+1を代入し(S307)、従来技術と同様に書き込み動作を実施する。
【0051】
また、S306で書き込み最終LBA+1が未更新先頭LBA52よりも大きくなければ、すでに書き込み最終LBA+1までは、上位ホストにより書き込みが行われているので、未更新先頭LBA52は更新せずに、従来技術と同様に書き込み動作を実施する。
【0052】
なお、仮にディスク装置への書き込み動作が各ディスク装置100〜103の障害等により失敗しても、更新した未更新先頭LBA52を元に戻してはいけない。
【0053】
次に、データ再生時の動作について説明する。
【0054】
図4は実施の形態1でのディスク障害時を説明するための説明図、図5は実施の形態1での冗長度のない状態での障害発生を説明するための説明図である。
【0055】
まず、この実施の形態では、通常問題なく動作している場合は未更新先頭LBA52を参照する必要はなく従来技術同様に動作すればよい。
【0056】
また、図4に示すように、仮にディスク装置(例えば、ディスク装置1(101))の障害により冗長度がなくなったとしても、後述するような高速データ再生成を実施せず、かつ同一ECCグループ内の他のディスク装置によりデータが回復できる場合は、未更新先頭LBA52を参照する必要はなく従来技術同様に動作すればよい。
【0057】
しかし、図5に示すように、図4に示すような冗長度がない状態から、更に同一ECCグループ内の別のディスク装置(例えば、ディスク装置3(103))に後発バットなどにより障害が発生した場合、つまり従来技術では少なくとも当該データの再構築不可能な状態(以下、データロストと呼ぶ)、場合によっては記憶システム自体が動作継続不可能な状態となるような場合に、それを回避するために、この実施の形態では、以下のように動作し、復旧を試みる。
【0058】
まず、障害の発生したディスク装置(例えば、ディスク装置3(103))に対して必要としているデータのLBA72が、それの含まれる分割領域の中で、未更新先頭LBA73より大きいかどうか調べる。
【0059】
もし、必要としているデータのLBA72が、未更新先頭LBA73より小さいLBAであれば、結局データ回復不可能であるが、もし、未更新先頭LBA73より大きいLBAであれば、そこのデータは即ち記憶システムの初期確定データそのままである為、例えば、記憶制御装置110内の初期確定データ生成手段123などにより初期確定データを再生成する事によりデータを復旧させ、記憶システムを停止させずに動作を継続する。
【0060】
この動作により、障害の発生したディスク装置(例えば、ディスク装置1(101))を交換後、それ以外のディスク装置からのデータにより、データの再構築中に、他のディスク装置(例えば、ディスク装置3(103))にも障害が発生してしまい、冗長度が無くなった場合であっても、上位ホストから書き込みが行われておらず、未更新の領域の障害であれば、データの再構築を継続することが可能であり、また、その際、障害の発生した領域に対して、上位ホストから、データの要求が発生しても、システムを停止させることなく、継続動作させることが可能である。
【0061】
したがって、この実施の形態では、従来技術であれば少なくともデータロスト、場合によっては記憶システムの動作不能となっていた重大障害の発生をある確率で抑止する事が可能となる。
【0062】
また、記憶システム内において、何らかのコピーツールなどを使用して、全てのディスク装置のデータを、未更新領域を含めて全て、別のディスク装置へコピーするような場合に、コピー元のディスク装置に後発バットが発生すると、それが原因でコピーができなくなるが、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【0063】
なお、この実施の形態では、ディスク装置が4台の例で説明したが、本発明はこれに限らず、複数台のディスク装置を有する記憶システムに適用することが可能である。
【0064】
また、この実施の形態では、各分割領域において、未更新先頭LBA52にて未更新の領域を識別しているが、未更新先頭LBA52によらず、分割領域内の未更新領域を認識できる情報であれば、どのような情報により未更新領域を認識するようにしてもよい。
【0065】
(実施の形態2)
実施の形態1では、記憶システムを新規に立ち上げて使用する場合には問題ないが、例えば、既存記憶システムの全データをコピーして使用開始するシステム置き換えのような場合には、コピー元のデータが有意であるかどうかにかかわらず新記憶システムに対して書き込み動作が実行される為に、管理上未更新領域が小さくなってしまう可能性がある。また、記憶システムを他の記憶システムのバックアップ専用として使用する場合も同様に、定期的にほとんどの領域に書き込みが実施されてしまう為に、管理上未更新領域が小さくなってしまう可能性がある。
【0066】
そこで、この実施の形態は、書き込み時に、分割領域内書き込みのLBA単位で、初期確定データとの比較を行い、初期確定データと一致しない最後のLBAまでを書き込み済みとして、次のLBAを未更新先頭LBA52として登録するものである。
【0067】
次に、この実施の形態の動作について説明する。
【0068】
図6は、実施の形態2のデータ記録時の動作を示すフローチャートであり、実施の形態1に対して動作の異なる部分のみを示している。
【0069】
この実施の形態では、図3に示す実施の形態1でのS303の判断の後、書き込み最終LBAが書き込み先頭LBAと同一分割領域に入っていないと判断された場合は、図3に示すAの分岐から、図6に示すフローチャートによる動作を行い、その終了後、図3に示すA’に戻り、その後の動作を継続する。
【0070】
また、図3に示す実施の形態1でのS303の判断の後、書き込み先頭LBA、書き込み最終LBAが同一の分割領域に入ったと判断された場合は、図3に示すBの分岐から、図6に示すフローチャートによる動作を行い、その終了後、図3に示すB’に戻り、従来技術と同様に書き込み動作を実施する。
【0071】
まず、この実施の形態に特有の動作としては、図3に示す実施の形態1でのS303の判断の後、データ更新済LBAに当該分割領域の未更新先頭LBA−1を代入する(S601)。
【0072】
そして、被検査LBAに書き込み先頭LBAを代入し(S602)、被検査LBAが当該分割領域の未更新先頭LBA52より小さいかを判断する(S603)。
【0073】
S603で被検査LBAが当該分割領域の未更新先頭LBA52より小さければ被検査LBAのデータはすでに更新済みのデータであるので、被検査LBAに現在の被検査LBA+1を代入する(S606)。
【0074】
また、S603で被検査LBAが当該分割領域の未更新先頭LBA52より小さくなければ、被検査LBAへの書き込みデータは、初期確定データと完全に一致するかを判断する(S604)。
【0075】
S604で被検査LBAへの書き込みデータが初期確定データと完全に一致すれば、そのLBAのデータは初期確定時のまま更新されていないデータなので、データ更新済LBAは変更せず、被検査LBAに現在の被検査LBA+1を代入する(S606)。
【0076】
また、S604で被検査LBAへの書き込みデータが初期確定データと完全に一致しなければ、そのLBAのデータは更新されたデータなので、データ更新済LBAに現在の被検査LBAを代入し(S605)、被検査LBAに現在の被検査LBA+1を代入する(S606)。
【0077】
そして、分割領域内への全書き込みデータが検査済みかを判断し(S607)、S607で分割領域内への全書き込みデータが検査済みとなるまで、S603〜S606を繰り返す。
【0078】
そして、S607で分割領域内への全書き込みデータが検査済みとなると、当該分割領域の未更新先頭LBA52にデータ更新済LBA+1を代入し(S608)、図3に示すフローチャートに戻る。
【0079】
この実施の形態では、書き込みデータに対し、それが記憶システムの初期確定データと完全に同等であればその書込みは実質的な意味合いを持たない為、未更新先頭LBA52を更新する必要はない。つまり、未更新領域に対する全書き込みデータを記憶システムの初期確定データと比較、一致しない最後のLBAまでを書込み済みとし、その次のLBAを未更新先頭LBA52として登録している。
【0080】
その結果、未更新領域が大きくなるため、異常時の自動復旧可能な確率を高くすることが可能となる。
【0081】
(実施の形態3)
この実施の形態は、実施の形態2と同様に、既存記憶システムから全データをコピーして使用開始する場合などに、管理上未更新領域が小さくなってしまうのを回避する為の別の手段として、通常のデータの書き込み時は、実施の形態1と同様な処理にしておきながら、上位ホストからの命令に対して記憶システムの能力が十分にある時間帯(以下、低負荷時と呼ぶ)を利用して、ディスク装置上のデータを検査するようにしたものである。
【0082】
次に、この実施の形態の動作について説明する。
【0083】
図7は実施の形態3の低負荷時におけるデータ検査の動作を示すフローチャートである。
【0084】
まず、記憶システムが低負荷時に、各分割領域毎にデータ検査を開始し、データ更新済LBAに分割領域の先頭LBA−1を代入し(S701)、被検査LBAに分割領域の先頭LBAを代入する(S702)。
【0085】
そして、被検査LBAのデータ読み出しに成功したかを判断し(S703)、S703で被検査LBAのデータ読み出しに成功しなければ、データ更新済みと同様に扱うことにして、データ更新済LBAに被検査LBAを代入し(S704)、被検査LBAに現在の被検査LBA+1を代入する(S705)。
【0086】
また、S703で被検査LBAのデータ読み出しに成功すれば、その読み込みデータが初期確定データと一致するかを判断する(S706)。
【0087】
S706で読み込みデータが初期確定データと一致しなければ、その読み込みデータは更新されたデータなので、データ更新済LBAに現在の被検査LBAを代入し(S704)、被検査LBAに現在の被検査LBA+1を代入する(S705)。
【0088】
また、S706で読み込みデータが初期確定データと一致すれば、その読み込みデータは初期確定時のまま更新されていないデータなので、データ更新済LBAは変更せず、被検査LBAに現在の被検査LBA+1を代入する(S705)。
【0089】
そして、被検査LBAが当該分割領域の未更新先頭LBA52以上かを判断し(S707)、S707で被検査LBAが当該分割領域の未更新先頭LBA52以上となるまで、すなわち、当該分割領域の未更新先頭LBA52までの検査が終了するまでS703〜S705を繰り返す。
【0090】
そして、S707で被検査LBAが当該分割領域の未更新先頭LBA52以上となると、データ検査中に当該領域への書き込み動作があったかを判断し(S708)、S708でデータ検査中に当該領域への書き込み動作があると、各分割領域毎のデータ検査を終了する。
【0091】
また、S708でデータ検査中に当該領域への書き込み動作がないと、当該領域の未更新先頭LBA52にデータ更新済LBA+1を代入し(S709)、各分割領域毎のデータ検査を終了する。
【0092】
この実施の形態では、記憶システムの低負荷時に、分割領域内データ更新済み領域をシーケンシャルに順次読み込み、データを初期確定データと比較し一致しなかった最後のLBAを記憶しておき、また、データが読み出せなかった場合は念の為一致しなかったものと同様に扱うようにしている。
【0093】
そして、検査が終了した時点で、記憶してあった初期確定データと一致しなかった最後のLBAを未更新先頭LBA52として再登録する。
【0094】
但し、分割領域検査中に当該分割領域に対する書き込み動作があった場合、すれ違いで不当な値を設定するのを防止する為に、未更新先頭LBA52の再登録をスキップしている。
【0095】
この方法であれば、書込み動作時に全書込みデータを検査するオーバヘッドが不要なので、実施の形態2と比べて性能に与える影響が少ない。
【0096】
一般に記憶システムは低負荷時にディスク媒体上の欠陥を早期に発見する為の読み出し試験を実施する事があるが、これと併用してもよい。
【0097】
このようにディスク装置内のデータを記憶システムの低負荷時に適時検査する事により、自動回復可能な確率を高くすることが可能となる。
【0098】
(実施の形態4)
実施の形態2又は実施の形態3のように、既存記憶システムの全データをコピーして使用開始するシステム置き換えのような場合に、書込みデータ、又はディスク装置内のデータを検査する際に、記憶システムの初期確定データと、コピー元の既存記憶システムの初期確定データが違うものであると、結局、実施の形態2又は実施の形態3の効果が発揮できない可能性が高くなる。
【0099】
しかし、記憶システムの初期確定データを既存記憶システムの初期確定データに合わせこむ事により、これを回避できる。
【0100】
そこで、一般に想定される初期確定データが複数ある場合、例えば、記憶制御装置の記憶手段などに、複数の初期確定データを格納させ、記憶システムは初期確定データをそれらから選択できるようにしてもよい。
【0101】
(実施の形態5)
実施の形態1〜4で説明したように、本発明による障害データ自動復旧の成否は障害発生エリアが上位ホストにより書き込み済であったかどうかに直接依存するものであり、常に成功するとは限らない。
【0102】
また、本発明はデータロスト又は動作不能状態という記憶システムにとっての致命的障害を回避するものなので、本発明の効果による障害復旧作業が実行される事自体、本来記憶システムにとって重要な問題であり、その発生時には障害の根本原因を追求し対策する事が重要となってくる。
【0103】
そこで、記憶システムにおいて、データロスト、又は動作不能状態を回避できた場合は、例えば、制御手段120やその他の通報手段などを用いることにより、上位ホストを介して、又は直接、システム動作の監視や保守を行う機構や組織などに対して自動復旧を実行した事実を通報するようにしてもよい。
【0104】
これにより、記憶システムの停止など致命的障害を初期確定データを用いることで、回避した場合であっても、通報により、その後の保守点検作業などを迅速に行うことが可能となる。
【0105】
(実施の形態6)
実施の形態1〜5のようにディスク装置を管理している際にディスク装置に障害が発生し、交換作業及び新ディスク装置へのデータ再生成が必要となった場合、本発明では上位ホストが更新済みの領域を特定できるので、必ずしもディスク装置全使用領域分のデータを同一ECCグループ内の他のディスク装置から読み出し、かつ演算する必要は無い。
【0106】
そこで、データ未更新の領域については記憶システムが、初期フォーマット時などの初期確定データを用いて直接データを生成し、データ更新済みの領域のみ同一ECCグループの他のディスク装置からデータを読み出して、演算によりデータを算出することにより、データ再構築に要する時間及び記憶システムの負荷を低減するようにしてもよい。
【0107】
さらに、例えば、国際公開第WO99/46670号パンフレットに開示されているようなディスク装置が独自に初期確定データを確定させる技術を用いて、ディスク装置自身でディスク装置を初期確定時の状態にした後に、上位ホストから更新済みの部分のみ改めて書き込むようにしてもよい。
【0108】
このように、この実施の形態では、ディスク装置交換及び新ディスク装置へのデータ再生成作業を高速、かつ低負荷で実行することが可能となる。
【0109】
また、その結果、冗長度が無い状態での動作時間を小さくする事が可能である為、記憶システムがデータロスト又は動作不能状態に落ち込む可能性を直接低減する事が可能となる。
【0110】
また、ディスク装置自身で初期確定データを確定させれば、ディスク装置自身による初期確定処理は高速で行うことができるため、データ再構築時間低減及び作業中の記憶システムの負荷低減に劇的な効果を発揮することが可能である。
【0111】
(実施の形態7)
実施の形態1〜4では、記憶システムの例で説明したが、本発明特有の動作はディスク装置側単独で実施する事も可能である。
【0112】
実施の形態1〜4では、各ディスク装置100〜103毎の各分割領域51中の未更新先頭LBA52を全て記憶システム側の、例えば、記憶制御装置110内の記憶手段122などに格納するなどして、管理しているが、ディスク装置側でディスク装置内部の各分割領域51の情報及びそれぞれの未更新先頭LBA52を、ディスク装置内の制御部などにより、実施の形態1〜6と同様に分割領域を管理すればよい。
【0113】
また、初期確定データとしてはフォーマットコマンドにより確定されたデータを使用すればよい。
【0114】
この時、確定したデータは、もちろん元々、フォーマットコマンドなどにより、ディスク装置自身が生成したものであり、必要なパラメータなどを、別途、内部的に保存/管理してあれば、後で再生成する事が可能である。
【0115】
また、ディスク装置内媒体からの読み出し時に記憶媒体上の後発バッドなどの欠陥によりデータが読み出せない場合には、読み出し不可のLBAがそのLBAを含む分割領域の未更新先頭LBA52よりも大きければ、ディスク装置内部で初期確定データを生成し、ディスク装置が接続される記憶システムなどに転送すればよい。
【0116】
このようなディスク装置側での対応は、本発明を未サポート、かつ対応困難な既存の記憶システムにおいて、新型大容量ディスク装置を新規に搭載する場合の信頼性強化手段などとして有効である。
【0117】
また、何らかのコピーツールなどを使用して、ディスク装置を、未更新領域を含めて全て、別のディスク装置へコピーするような場合に、コピー元のディスク装置に後発バットが発生すると、それが原因でコピーができなくなるが、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【0118】
また、この実施の形態では、実施の形態5と同様に、ディスク装置において、データロスト、又は動作不能状態を回避できた場合は、例えば、ディスク装置内の制御部や通報手段などを用いることにより、ディスク装置が接続されている記憶システムなどに対して、その情報を送信し、記憶システムなどの動作の監視や保守を行う機構や組織などに対して自動復旧を実行した事実を通報するようにしてもよい。
【0119】
これにより、ディスク装置の停止など致命的障害を初期確定データを用いることで、回避した場合であっても、通報により、その後の保守点検作業などを迅速に行うことが可能となる。
【0120】
(実施の形態8)
実施の形態7において、工場内でのディスク装置の出荷検査等、データ記録面の品質を正しく評価したい場合には、本発明の機能は無効化できることが望ましい。
【0121】
そこで、例えば、ディスク装置本体の設定や、外部からの指示などにより、実施の形態7のデータ自動回復機能の有効/無効化を切り替えるようにしてもよい。
【0122】
このように、この実施の形態では、データ自動回復機能の有効/無効化を切り替えることができるようにしているので、無効化することにより、ディスク装置の検査時など、データ記録面の品質を正しく評価することが可能となる。
【0123】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0124】
また、前記実施の形態において開示した観点の代表的なものは次の通りである。
【0125】
(1)制御部と記憶媒体とを有する記憶装置であって、内部の記憶領域を分割した上でそれぞれの内部をデータ更新済み領域及びデータ未更新領域に分けて管理し、前記記憶装置内のデータを上位ホストへ送信する際にデータ更新済み領域とデータ未更新領域とで別の方法によりデータ生成する手段を備えたことを特徴とする記憶装置。
【0126】
(2)前記(1)に記載の記憶装置において、データ未更新領域のデータを生成する際に、記憶媒体から一切データを読み出さない手段を備えたことを特徴とする記憶装置。
【0127】
(3)前記(1)に記載の記憶装置において、前記記憶媒体からデータを読み出せない場合に、それがデータ未更新領域に属するものであれば自動でデータを生成する手段を備えたことを特徴とする記憶装置。
【0128】
(4)前記(2)又は(3)に記載の記憶装置において、自動で生成するデータとして、前記記憶装置自身の初期構築時に使用するデータを使用することを特徴とする記憶装置。
【0129】
(5)前記(4)に記載の記憶装置において、前記記憶装置にデータ記録する際に、そのデータを検査する事により、データ未更新領域を減らさない手段を備えたことを特徴とする記憶装置。
【0130】
(6)前記(4)に記載の記憶装置において、前記記憶装置から自動でデータを読み出し検査する事により、データ未更新領域を増やす手段を備えたことを特徴とする記憶装置。
【0131】
(7)前記(4)〜(6)のいずれか1項に記載の記憶装置において、その有効性を増す為に前記記憶装置の初期構築時に使用するデータを変更又は選択する手段を備えたことを特徴とする記憶装置。
【0132】
(8)前記(7)に記載の記憶装置において、その有効性を増す為に搭載される外部記憶システムの初期構築時に使用されるデータを前記記憶装置自信の初期構築時データとして使用する手段を備えたことを特徴とする記憶装置。
【0133】
(9)前記(3)〜(8)のいずれか1項に記載の記憶装置において、これらの技術によりデータを生成した場合、それを上位ホストに報告する手段を備えたことを特徴とする記憶装置。
【0134】
(10)前記(3)〜(8)のいずれか1項に記載の記憶装置において、データ自動生成機能の有効/無効を切り替える手段を備えたことを特徴とする記憶装置。
【0135】
(11)制御部と記憶媒体とを有する複数の記憶装置と、前記複数の記憶装置を制御する記憶制御装置を有する記憶システムであって、前記記憶制御装置は前記記憶装置内の記憶領域を分割した上でそれぞれの内部を上位システムからのデータ更新済み領域及びデータ未更新領域に分けて管理し、前記記憶装置内のデータを再生成する際にデータ更新済み領域とデータ未更新領域とで別の方法によりデータ生成する手段を備えたことを特徴とする記憶システム。
【0136】
(12)前記(11)に記載の記憶システムにおいて、データ未更新領域のデータを生成する際に、前記記憶装置から一切データを読み出さない手段を備えたことを特徴とする記憶システム。
【0137】
(13)前記(11)に記載の記憶システムにおいて、前記記憶装置内のデータを読み出せない場合に、それがデータ未更新領域に属するものであれば自動でデータを生成する手段を備えたことを特徴とする記憶システム。
【0138】
(14)前記(12)又は(13)に記載の記憶システムにおいて、自動で生成するデータとして、前記外部記憶システム自身の初期構築時に使用するデータを使用する手段を備えたことを特徴とする記憶システム。
【0139】
(15)前記(14)に記載の記憶システムにおいて、前記記憶装置にデータ記録する際に、そのデータを検査する事により、データ未更新領域を減らさない手段を備えたことを特徴とする記憶システム。
【0140】
(16)前記(14)に記載の記憶システムにおいて、前記記憶装置から自動でデータを読み出し検査する事により、データ未更新領域を増やす手段を備えたことを特徴とする記憶システム。
【0141】
(17)前記(14)〜(16)のいずれか1項に記載の記憶システムにおいて、その有効性を増す為に前記外部記憶システムの初期構築時に使用するデータを変更又は選択する手段を備えたことを特徴とする記憶システム。
【0142】
(18)前記(13)〜(17)のいずれか1項に記載の記憶システムにおいて、これらの技術によりデータを生成した場合、それを通報する手段を備えたことを特徴とする記憶システム。
【0143】
(19)前記(12)に記載の記憶システムにおいて、前記記憶装置の交換及びデータの再構築を高速に行う為にデータ未更新領域のデータを自動生成する手段を備えたことを特徴とする記憶システム。
【0144】
【発明の効果】
本発明によれば、記憶装置の制御部により、記憶装置の記憶領域に対する初期確定時の情報を保持し、記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理し、記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、保持している初期確定時の情報に基づいて、障害の発生した箇所の初期確定データを生成し、障害の発生した箇所のデータとして処理するようにしたので、記憶装置単体で内部の記憶媒体に障害が発生した場合でも、障害発生箇所が未更新の領域であれば、記憶装置としての動作を継続することができるという効果を有する。
【0145】
従って、記憶装置から別の記憶装置へ、記憶装置の内容を未更新領域を含めて全てコピーするような場合に、コピー元の記憶装置に後発バットが発生しても、その後発バットの障害箇所が、未更新領域内であれば、初期フォーマット時などの初期確定データから、その障害領域のデータを再生成して、コピーを継続することが可能である。
【0146】
また、本発明によれば、初期確定データ生成手段により、複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成し、制御手段により、複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、分割領域の未更新部分のとき、初期確定データ生成手段により、障害の発生した箇所の初期確定データを生成させ、障害の発生した箇所のデータとして処理するようにしたので、自動復旧が困難である記憶システムの冗長度が無い状態での、更なる記憶装置障害に対するデータの自動復旧を行うことができるという効果を有する。
【図面の簡単な説明】
【図1】本発明の実施の形態1による記憶システムの構成を示す構成図である。
【図2】本発明の実施の形態1での記憶システムにおけるディスク装置の管理を説明するための説明図である。
【図3】本発明の実施の形態1のデータ記録時の動作を示すフローチャートである。
【図4】本発明の実施の形態1でのディスク障害時を説明するための説明図である。
【図5】本発明の実施の形態1での冗長度のない状態での障害発生を説明するための説明図である。
【図6】本発明の実施の形態2のデータ記録時の動作を示すフローチャートである。
【図7】本発明の実施の形態3の低負荷時におけるデータ検査の動作を示すフローチャートである。
【図8】RAID技術(3D+1P)を利用した一般的な記憶システムにおけるデータの保存方法の一例を示す図である。
【符号の説明】
10…上位ホストからの送信データ、11〜17…上位ホストからの送信データを分割したそれぞれの部分、20〜23…ディスク装置、30〜32…パリティデータ、40〜41…過去にディスク装置に保存してあったデータ、50…ディスク装置の全使用領域、51…分割領域、52…各分割領域毎の未更新先頭LBA、72…障害部位の先頭LBA、73…障害部位を含む分割領域の未更新先頭LBA、100…ディスク装置0、101…ディスク装置1、102…ディスク装置2、103…ディスク装置3、110…記憶制御装置、120…制御手段、121…ホストI/F、122…記憶手段、123…初期確定データ生成手段。
Claims (3)
- 制御部及び記憶媒体を備えた記憶装置において、
前記制御部は、前記記憶装置の記憶領域に対する初期確定時の情報を保持する手段と、
前記記憶領域全体を複数の領域に分割し、各分割領域内のデータの更新状態を管理する手段と、
前記記憶媒体に障害が発生し、その障害の発生した箇所が、前記分割領域の未更新部分のとき、保持している前記初期確定時の情報に基づいて、前記障害の発生した箇所の初期確定データを生成し、前記障害の発生した箇所のデータとして処理する手段とを有することを特徴とする記憶装置。 - 制御部及び記憶媒体を有する複数の記憶装置と、前記複数の記憶装置を制御する記憶制御装置とを備えた記憶システムにおいて、
前記記憶制御装置は、前記複数の記憶装置のそれぞれの記憶領域に対する初期確定時の初期確定データを生成する初期確定データ生成手段と、
前記複数の記憶装置のそれぞれの記憶領域全体をそれぞれ複数の領域に分割し、各分割領域内のデータの更新状態を示す情報を記憶手段に格納し、前記記憶装置の記憶媒体に障害が発生し、その障害の発生した箇所が、前記分割領域の未更新部分のとき、前記初期確定データ生成手段により、前記障害の発生した箇所の初期確定データを生成させ、前記障害の発生した箇所のデータとして処理する制御手段とを有することを特徴とする記憶システム。 - 請求項2記載の記憶システムにおいて、
前記制御手段は、前記初期確定データ生成手段により、前記障害の発生した箇所の初期確定データを生成させ、前記障害の発生した箇所のデータとして処理したとき、その情報を外部に通報することを特徴とする記憶システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080484A JP2004287955A (ja) | 2003-03-24 | 2003-03-24 | 記憶装置及び記憶システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080484A JP2004287955A (ja) | 2003-03-24 | 2003-03-24 | 記憶装置及び記憶システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004287955A true JP2004287955A (ja) | 2004-10-14 |
Family
ID=33294324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003080484A Pending JP2004287955A (ja) | 2003-03-24 | 2003-03-24 | 記憶装置及び記憶システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004287955A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018322A (ja) * | 2014-07-07 | 2016-02-01 | キヤノン株式会社 | 画像形成装置および画像形成装置の制御方法 |
JP2018195354A (ja) * | 2018-09-12 | 2018-12-06 | キヤノン株式会社 | 画像形成装置および画像形成装置の制御方法 |
CN113757935A (zh) * | 2021-09-03 | 2021-12-07 | Tcl空调器(中山)有限公司 | 数据更新方法、装置、空调器及计算机可读存储介质 |
-
2003
- 2003-03-24 JP JP2003080484A patent/JP2004287955A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018322A (ja) * | 2014-07-07 | 2016-02-01 | キヤノン株式会社 | 画像形成装置および画像形成装置の制御方法 |
US10154156B2 (en) | 2014-07-07 | 2018-12-11 | Canon Kabushiki Kaisha | Image forming apparatus and method for controlling image forming apparatus |
JP2018195354A (ja) * | 2018-09-12 | 2018-12-06 | キヤノン株式会社 | 画像形成装置および画像形成装置の制御方法 |
CN113757935A (zh) * | 2021-09-03 | 2021-12-07 | Tcl空调器(中山)有限公司 | 数据更新方法、装置、空调器及计算机可读存储介质 |
CN113757935B (zh) * | 2021-09-03 | 2023-02-17 | Tcl空调器(中山)有限公司 | 数据更新方法、装置、空调器及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9009526B2 (en) | Rebuilding drive data | |
US6883112B2 (en) | Storage device, backup and fault tolerant redundant method and computer program code of plurality storage devices | |
JP3618529B2 (ja) | ディスクアレイ装置 | |
US7529965B2 (en) | Program, storage control method, and storage system | |
US8943358B2 (en) | Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process | |
JP4821448B2 (ja) | Raidコントローラおよびraid装置 | |
US7840838B2 (en) | Rapid regeneration of failed disk sector in a distributed database system | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
JPH11345095A (ja) | ディスクアレイ装置およびその制御方法 | |
EP0768605A2 (en) | Reconstructing data blocks in a RAID array data storage system having storage device metadata and RAIDset metada | |
JP2002108573A (ja) | ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体 | |
US20050283654A1 (en) | Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system | |
US5933592A (en) | Promoting device level error to raidset level error to restore redundacy in a raid array data storage system | |
JP2005122338A (ja) | スペアディスクドライブをもつディスクアレイ装置及びデータスペアリング方法 | |
JP3681766B2 (ja) | ディスクアレイ装置 | |
JP4203034B2 (ja) | アレイコントローラ、メディアエラー修復方法及びプログラム | |
JP4012420B2 (ja) | 磁気ディスク装置及びディスク制御装置 | |
JP2005099995A (ja) | 磁気ディスク装置のディスク共有方法及びシステム | |
JP2010267037A (ja) | ディスクアレイ装置 | |
JP2006079219A (ja) | ディスクアレイ制御装置およびディスクアレイ制御方法 | |
JP4143040B2 (ja) | ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム | |
JP3063666B2 (ja) | アレイディスク制御装置 | |
JP2004287955A (ja) | 記憶装置及び記憶システム | |
JPH08286844A (ja) | パリティ生成制御方法およびディスク制御装置 | |
JP5598124B2 (ja) | データ記録再生装置、データ記録方法、及び、データ記録プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050111 |