(57)【要約】【課題】従来のＲＡＩＤ構成におけるスペアディスクを不要とし、複数のディスクドライブに故障が発生した場合でも元のデータを修復してデータロストを防止する。【解決手段】ＲＡＩＤ構成の複数のディスクドライブに、通常のデータを書き込み及び読み出すデータ領域と、該データ領域の代替としてデータを書き込み及び読み出すスペア領域とを規定する。複数の該ディスクドライブの不良の状況に従って、あるディスクドライブのデータ領域のコピーの必要が生じた場合、第１ディスクドライブのデータ領域のデータを、他のディスクドライブのスペア領域に自動的にコピーする。【選択図】図１
2009104369.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＩＤ構成の複数のディスクドライブと、該ディスクドライブ群にデータを書き込み及び読み出すための制御を行う処理手段と、を有するディスクサブシステムにおいて、
前記複数のディスクドライブに、通常のデータを書き込み及び読み出すデータ領域と、該データ領域の代替としてデータを書き込み及び読み出すスペア領域とを規定し、
複数の該ディスクドライブの状態を管理する管理手段と、
該管理手段によるディスクドライブの状態から、あるディスクドライブ（第１ディスクドライブ）の該データ領域のコピーの必要が生じた場合、該第１ディスクドライブの該データ領域のデータを、他のディスクドライブ（第２ディスクドライブ）の該スペア領域に自動的にコピーするコピー実行手段と、を有することを特徴とするディスクサブシステム。
【請求項２】
前記ディスクドライブ群は、ミラー構成の正副の複数のディスクドライブから成り、かつ各ディスクドライブには前記データ領域及びスペア領域が形成され、
前記管理手段は、ペア関係にあるディスクドライブの一方が不良な状態（閉塞ディスク）を示す第１のフラグと、ペア関係にあるディスクドライブにおけるデータの更新の必要性を示す第２のフラグと、を管理する管理テーブルをメモリに保持して管理し、
前記コピー実行手段は、該管理テーブルを参照して、前記第１ディスクドライブの該データ領域から前記第２ディスクドライブの該スペア領域にデータコピーすることを特徴とする請求項１のディスクサブシステム。
【請求項３】
前記コピー実行手段は、前記管理テーブルの前記第１のフラグの値に応じて、電源切断時に一括してデータコピーを行う第１のデータコピーモードか、又は電源切断時ではなく、前記第２のフラグに応じて、前記第１ディスクドライブの該データ領域内のデータをブロック単位に前記第２ディスクドライブの該スペア領域にコピーする第２のデータコピーモードを実施することを特徴とする請求項２のディスクサブシステム。
【請求項４】
前記スペア領域の容量は、前記データ領域と等しいかそれよりも大きいことを特徴とする請求項１乃至３のいずれかのディスクサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクサブシステムに係り、特にディスクアレイから成るディスクサブシステムにおいてディスクドライブに故障が発生した場合のデータロストの低減に関する。
【背景技術】
【０００２】
ＲＡＩＤ構成によるディスクサブシステムは、パリティディスクを備えており、ＲＡＩＤ構成下の１台のディスクドライブに故障が発生した場合には、パリティディスクを用いてデータ修復することできる。しかし、複数台のディスクドライブが故障した場合にはエラー修復が出来ないため、データロストが起きる。
【０００３】
特許文献１（特開２００５−１２２３３８公報）には、スペアディスクを持つＲＡＩＤ構成のディスクアレイにおいて、ディスクドライブ毎に故障発生の可能性を推測して、故障発生の可能性の高いディスクドライブからスペアディスクにデータを自動的にコピーすることで、多重ディスクの故障によるデータロストを低減する技術が開示されている。
また、レガシーシステムにおいてはシステムが使用するディスクドライブの領域に制限がある場合も珍しくなく、ディスクドライブの記憶容量の増大に応じて未使用領域も増大する傾向にある。
【０００４】
【特許文献１】特開２００５−１２２３３８公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術のような、スペアディスクを持つディスクサブシステムにおいて複数台のディスクドライブに故障が発生した場合でも継続的に稼動させるためには、スペアディスクが必要となるためハードウェアのコストが上がる。またスペアディスクにデータを退避する場合、通常のユーザー業務に影響を及ぼす可能性がある。
【０００６】
本発明の目的は、従来のＲＡＩＤ構成におけるスペアディスクを不要とし、ＲＡＩＤ構成のディスクドライブに定義したスペア領域にデータをコピーすることで、ディスクドライブに故障が発生した場合に当該コピーデータを用いて元のデータを修復してデータロストを低減することにある。
【課題を解決するための手段】
【０００７】
本発明によるディスクサブシステムは、ＲＡＩＤ構成の複数のディスクドライブと、該ディスクドライブ群にデータを書き込み及び読み出すための制御を行う処理手段と、を有するディスクサブシステムにおいて、
前記複数のディスクドライブに、通常のデータを書き込み及び読み出すデータ領域と、該データ領域の代替としてデータを書き込み及び読み出すスペア領域とを規定し、
複数の該ディスクドライブの状態を管理する管理手段と、該管理手段によるディスクドライブの状態から、あるディスクドライブ（第１ディスクドライブ）の該データ領域のコピーの必要が生じた場合、該第１ディスクドライブの該データ領域のデータを、他のディスクドライブ（第２ディスクドライブ）の該スペア領域に自動的にコピーするコピー実行手段と、を有することを特徴とするディスクサブシステムとして構成される。
【０００８】
好ましい例では、前記ディスクドライブ群は、ミラー構成の正副の複数のディスクドライブから成り、かつ各ディスクドライブには前記データ領域及びスペア領域が形成され、前記管理手段は、ペア関係にあるディスクドライブの一方が不良な状態（閉塞ディスク）を示す第１のフラグと、ペア関係にあるディスクドライブにおけるデータの更新の必要性を示す第２のフラグと、を管理する管理テーブルをメモリに保持して管理し、前記コピー実行手段は、該管理テーブルを参照して、前記第１ディスクドライブの該データ領域から前記第２ディスクドライブの該スペア領域にデータコピーする。
【０００９】
また、好ましくは、前記コピー実行手段は、前記管理テーブルの前記第１のフラグの値に応じて、電源切断時に一括してデータコピーを行う第１のデータコピーモードか、又は電源切断時ではなく、前記第２のフラグに応じて、前記第１ディスクドライブの該データ領域内のデータをブロック単位に前記第２ディスクドライブの該スペア領域にコピーする第２のデータコピーモードを実施する。
【００１０】
また、好ましくは、前記スペア領域の容量は、前記データ領域と等しいかそれよりも大きい。
【発明の効果】
【００１１】
本発明によれば、従来のＲＡＩＤ構成におけるスペアディスクを不要とし、ＲＡＩＤ構成のディスクドライブの記憶領域をスペア領域として利用してデータコピーしておくことができる。ディスクドライブに故障が発生した場合に、スペア領域にコピーされたデータを使用して元のデータを修復してデータロストを低減することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、好ましい一実施例について説明する。
図１は、ＲＡＩＤ構成のディスクサブシステムの例を示す。
ディスクサブシステム１は、関係する種々のプログラムを実行して、ディスクに対するデータの読み書きに伴うデータ処理を行うＣＰＵ３と、メモリ２１内に保持されるディスク制御のためのディスク制御コントロールウェア（Ｃ／Ｗと記す）４と、本発明に関係するスペア領域に対するデータのコピー制御を行う自動データコピープログラム５、データキャッシュ６と、不揮発メモリ２２内に保持されるディスク稼動状況管理テーブル７、ＳＣＳＩコントローラ９、及びＳＣＳＩバス９１を介して接続されるディスクドライブ群８を有して構成される。ディスクサブシステム１はメインバス１１を介してホストシステム（以下単にホストという）１０に接続される。
【００１３】
ディスクドライブ群８は、複数のディスクドライブ１００〜１０５を有するＲＡＩＤ構成を成し、各ディスクドライブはＳＣＳＩバス９１を介してＳＣＳＩコントローラ９に接続される。ここで、ディスクドライブ１００と１０３、１０１と１０４、１０２と１０５は、それぞれペアにしてミラー構成を成している。
【００１４】
各ディスクドライブ１００〜１０５の記憶領域は、データ領域Ａ（例えば１００Ａ）とスペア領域Ｂ（例えば１００Ｂ）に分割されている。記憶容量はスペア領域≧データ領域の関係である。データ領域Ａは、ホスト１０の処理データを記憶し、スペア領域Ｂはデータ領域Ａが故障によって使用できない場合、それに代わって処理データを記憶する。
【００１５】
ディスク制御Ｃ／Ｗ４は、ホスト１０の指示により必要に応じてディスクドライブ群８の各ディスクドライブのデータ領域又はスペア領域に記録されたデータを読み又はその領域にデータを書き込む。データキャッシュ６はディスクドライブ群８から読み出されたデータを一時記憶する。ホスト１０からのデータ要求に対して、目的のデータがデータキャッシュ６に記憶されている場合にはそこから読み出されてホスト１０へ送信される。
【００１６】
図２は、ホスト１０からディスクドライブ群８へ起動時の動作の概略を示す。
ステップＳ１はデータ書き込み処理である。この場合、ディスクドライブ１００のデータ領域１００Ａとディスクドライブ１０３のデータ領域１０３Åの双方にデータを書き込む。ステップＳ２はデータ読み出し処理である。データ読み出しの場合、ディスクドライブ１００のデータ領域１００Ａまたはディスクドライブ１０３のデータ領域１０３Ａから読み出しする。
【００１７】
ステップＳ３は、ステップＳ１と同様に、ディスクドライブ１０１及びディスクドライブ１０４のデータ領域への書き込み処理である。ステップＳ４は、ステップＳ２と同様に、ディスクドライブ１０１またはディスクドライブ１０４のデータ領域からの読み出し処理である。
【００１８】
ステップＳ５はディスクドライブ１００のデータ領域１００Ａをディスクドライブ１０１のスペア領域１０１Ｂにデータコピーする処理である。
ステップＳ６はステップＳ５と同様に、ディスクドライブ１０１のデータ領域１０１Ａをディスクドライブ１０２のスペア領域１０２Ｂにデータコピーする処理である。ステップＳ７はステップＳ５と同様に、ディスクドライブ１０２のデータ領域１０２Ａをディスクドライブ１００のスペア領域１００Ｂにデータコピーする処理である。
【００１９】
図３はディスク稼動状況管理テーブル７の例を示す。
ディスク稼動状況管理テーブル７は、ペア数１〜Ｎの閉塞ディスク管理フラグ３００、各ペア単位のデータコピー先ディスクドライブ番号管理テーブル３０１、データ領域全てのＬＢＡ（Logical Block Address）に対する更新必要フラグ３０２を記憶して管理する。ここで、ディスクのペアは総数Ｎ個、各ディスクは総数Ｍ個のブロックを有しており、それぞれＬＢＡにより指定されるとする。各ブロックの容量は例えば５１２バイトである。
【００２０】
閉塞ディスクとは、ペア関係にあるディスクドライブの一方が不良な場合をいう。閉塞ディスク管理フラグ３００が“１”の場合は閉塞ディスクが有り、“０”の場合は閉塞ディスクが無いことを意味する。図示の例では、１ペア目とＮペア目は“０”なので、閉塞ディスクは無く、両方のディスクとも良好であることを示す。一方、２ペア目と３ペア目は“１”なので、閉塞ディスクが有ることを示す。本実施例で特徴的なことは、ペア関係にあるディスクドライブに閉塞ディスクがある場合、そのペアはいずれ障害発生の可能性が高いと判断して、スペア領域にデータコピーする処理を行う。
【００２１】
また、更新必要フラグ３０２が“１”の場合は、該当するブロックのデータ更新が必要、“０”の場合はデータ更新が不要、を意味する。
図示の例で、１ペア目のディスクドライブ１００と１０３の管理テーブルは、２ペア目のディスクドライブ１０１と１０４のデータ更新フラグを持ち、その２ペア目のディスクペアのブロック番号が１，２，４のブロックの更新が必要であることを示している。同様にして、２ペア目のディスク１０１と１０４に対応付けられた３ペア目のディスクドライブ１０２と１０５のデータ更新フラグは、ブロック番号が１とkのブロックが更新要である。
【００２２】
図４は通常時における自動データコピープログラム５の実行処理を示す。
ホスト１０が待機中か否かを判断して、待機中の時にデータの自動コピーを開始する（ステップＳ１０）。
データの自動コピーが実行されると、ディスク稼動状況管理テーブル７の閉塞ディスク管理フラグ３００を参照して、閉塞ディスクが有るか判定する（ステップＳ１１）。判定の結果、閉塞ディスクのペアが有る場合（即ちフラグ３００が“１”）、ペアディスクのいずれか一方が不良なので、いずれ障害発生の可能性が高いと判断して、スペア領域へデータコピーを行うことになるが、即、データの自動コピーを実施しない。一方、上記判定の結果、閉塞ディスクペアが無い場合（即ちフラグ３００が“０”）には、自動データコピーを実施する。
【００２３】
自動データコピーは、ホスト１０から対象とするディスクドライブへのアクセス要求がない場合に実施するため、閉塞ディスクペアが有るものはディスクドライブ１台の運転となっており、自動データコピーが全て終了していない状態でそのディスクドライブが故障すると、データロストが起こる。そのため、閉塞ディスクペアがあるものに対しては自動データコピーを一括で実行する。一括で行う自動データコピーは電源切断を契機に実行する（ステップＳ１２）。
【００２４】
ステップＳ１１の判断の結果、閉塞ディスクペアが無い場合はディスク稼動状況管理テーブル７に記録されているペア＃Ｌ（１〜Ｎ）単位のデータコピー先ディスクドライブ番号管理テーブル３０１を参照し、ＬＢＡ＃Ｐ（１〜Ｍ）の更新必要フラグ３０２が“１”であるか判定する（ステップＳ１３）。更新必要フラグ３０２が“１”の場合は更新が必要であるため、該当するディスクドライブペア＃Ｌの正側または副側からデータを読み出す（ステップＳ１４）。
そして、読み出したデータを更新必要なディスクドライブペア＃Ｌ（ディスク稼動状況管理テーブル７の各ペア単位のデータコピー先ディスクドライブ番号管理テーブル３０１で示される正側のディスクドライブ）に書き込む（ステップＳ１５）。
【００２５】
この場合、読み出し及び書き込みデータの単位はＬＢＡ単位である。読み出し及び書き込みのデータ単位をＬＢＡ単位で行うのは、ホスト１０からディスクサブシステム１へアクセス要求があった場合、円滑にデータの自動コピーの処理を中断するためであり、ディスクドライブへ書き込む最小の単位をＬＢＡ単位とする。
【００２６】
次に、ディスク稼動状況管理テーブル７の更新が正常に完了したＬＢＡ＃Ｐの更新必要フラグ３０２を“１”から“０”にセットする（ステップＳ１６）。これで自動データコピー終了とする。
ステップＳ１３での更新必要フラグ３０２が“０”の場合には更新の必要がないため、次のＬＢＡ＃Ｐにカウントアップする（ステップＳ１７）。そしてカウントアップしたＬＢＡ＃Ｐが最終ＬＢＡ＃（Ｍ＋１）であるか判定する（ステップＳ１８）。最終ＬＢＡ＃（Ｍ＋１）でない場合には自動データコピーを終了する。一方、最終ＬＢＡ＃（Ｍ＋１）の場合にはディスク稼動状況管理テーブル７のペア＃Ｌが最終ペア＃（Ｎ＋１）であるか判定する（ステップＳ１９）。その判定の結果、最終ペア＃（Ｎ＋１）の場合には自動データコピーを終了し、最終ペア＃（Ｎ＋１）でない場合にはペア＃Ｌをカウントアップしてから自動データコピーを終了する（ステップＳ２０）。
【００２７】
以上の処理動作を最終ペア＃（Ｎ＋１）と最終ＬＢＡ＃（Ｍ＋１）まで繰り返し、最終ペア＃（Ｎ＋１）に達したら、再度最初のペア＃Ｌから実行開始する。自動データコピーはホスト１０からアクセス要求があった場合は再度ホスト１０からアクセス要求がない場合まで中断する。
【００２８】
図５は電源切断時における自動データコピープログラム５の実行処理を示す。
この処理は、図４のステップＳ１２における処理として実行される。この場合、自動データコピーを行い、その処理が完全に終了してからシステム電源がオフとなる。
まず、ディスク稼動状況管理テーブル７に記録されているペア＃Ｌ（１〜Ｎ）ＬＢＡ＃Ｐ（１〜Ｍ）の更新必要フラグ３０２が“１”であるか判定する（ステップＳ２１）。その結果、更新必要フラグ３０２が“１”の場合には更新が必要なので、該当ディスクドライブペア＃Ｌの正側の１ブロックからデータを読み出す（ステップＳ２２）。なお、閉塞ディスクドライブがある場合は閉塞ディスクドライブでない方のディスクドライブの１ブロックから読み出す。
【００２９】
そして、その読み出したデータを更新が必要なディスクドライブペア＃の正側（ディスク稼動状況管理テーブル７の各ペア単位のデータコピー先ディスクドライブ番号管理テーブル３０１で示す）の１ブロックに書き込む（ステップＳ２３）。なお、閉塞ディスクドライブがある場合には閉塞ディスクドライブでない方のディスクドライブに書き込む。
【００３０】
次に、ディスク稼動状況管理テーブル７の更新が正常に完了したＬＢＡ＃Ｐの更新必要フラグ３０２を“１”から“０”にセットする（ステップＳ２４）。更新必要フラグ３０２が“０”の場合には更新の必要がないため、次のＬＢＡ＃Ｐにカウントアップする（ステップＳ２５）。
次に、カウントアップしたＬＢＡ＃Ｐが最終ＬＢＡ＃（Ｍ＋１）であるか判定する（ステップＳ２６）。その結果、最終ＬＢＡ＃（Ｍ＋１）でない場合には、最終ＬＢＡ＃（Ｍ＋１）に達するまで繰り返す。
【００３１】
そして、ディスク稼動状況管理テーブル７のペア＃Ｌが最終ペア＃（Ｎ＋１）であるかを判定する（ステップＳ２７）。その結果、最終ペア＃（Ｎ＋１）の場合には自動データコピーを終了する。一方、最終ペア＃（Ｎ＋１）でない場合には最終ペア＃（Ｎ＋１）に達するまで自動データコピーを繰り返して終了する。
最後に自動データコピーが終了したらシステム電源切断する（ステップＳ２９）。自動データコピーが完了したディスクドライブは閉塞したディスクドライブの代わりとなり、引き続き、ＲＡＩＤ構成として使用可能である。
【００３２】
本実施例によれば、ＲＡＩＤ構成のディスクドライブの記録領域を、スペア領域と定義して有効に利用することができる。また、ＣＰＵがディスクドライブの未使用の場合に、データの自動コピーができるので、ユーザーの通常の業務に影響を与えることなくバックアップデータを退避することができる。
【図面の簡単な説明】
【００３３】
【図１】一実施例におけるディスクサブシステムの構成を示す図。
【図２】ホスト２からディスクアレイ１１へ起動時の動作を示す図。
【図３】ディスク稼動状況管理テーブル７の例を示す図。
【図４】一実施例における通常時の動作を示すフローチャート。
【図５】一実施例における電源切断時の動作を示すフローチャート。
【符号の説明】
【００３４】
１：ディスクサブシステム  １０：ホストシステム  １１：メインバス  
３：ＣＰＵ  ４：ディスク制御Ｃ／Ｗ  ５：自動データコピープログラム  ６：データキャッシュ  ７：ディスク稼動状況管理テーブル  ８：ディスクドライブ群    ９：ＳＣＳＩコントローラ  ９１：ＳＣＳＩバス。
【図１】
2009104369.tif 000003
【図２】
2009104369.tif 000004
【図３】
2009104369.tif 000005
【図４】
2009104369.tif 000006
【図５】
2009104369.tif 000007