(57)【要約】【課題】フォーマット処理と復元処理とが競合した場合に復元処理を短時間で行なえるようにして、データの冗長性を短時間で確保し競合動作に伴う応答遅延の期間を短くする。【解決手段】管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するテーブル１５と、このテーブル１５に基づき管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するフォーマット処理部１１ａとがそなえられる。また、このフォーマット処理部１１ａによるフォーマット実行中に冗長性復旧事象が発生した場合にその時点でのテーブル１５の内容を保持するテーブル１６がそなえられる。そして、フォーマット処理部１１ａによるフォーマット処理と並行して、テーブル１６に基づき冗長性復旧事象の発生時点でのフォーマット済領域の復元を実行する復元処理部１１ｂとがそなえる。【選択図】図２
2010198420.tif 000002
【特許請求の範囲】
【請求項１】
ストレージのデータに冗長性を持たせながら当該データを管理するストレージ制御装置であって、
管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するフォーマット管理テーブルと、
前記フォーマット管理テーブルに基づき前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するフォーマット処理部と、
前記フォーマット処理部によるフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持する復元管理テーブルと、
前記フォーマット処理部によるフォーマットと並行して、前記復元管理テーブルに基づき前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行する復元処理部とをそなえたことを特徴とする、ストレージ制御装置。
【請求項２】
前記復元処理部は、前記復元管理テーブルを参照し複数の復元対象領域単位が連続的に存在することを認識すると、当該複数の復元対象領域単位の復元を一のコマンドによって前記ストレージに実行要求することを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記復元処理部は、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域がフォーマット済であることを認識すると、復元対象領域単位での前記復元管理テーブルの参照処理を行なうことなく当該ボリューム領域の復元を実行することを特徴とする、請求項１または請求項２に記載のストレージ制御装置。
【請求項４】
処理部が、ストレージのデータに冗長性を持たせながら当該データを管理するストレージ制御方法であって、
記憶部におけるフォーマット管理テーブルによって、管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するステップと、
前記処理部が、前記フォーマット管理テーブルに基づき前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するステップと、
前記記憶部における復元管理テーブルによって、前記フォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持するステップと、
前記処理部が、前記フォーマットと並行して、前記復元管理テーブルに基づき前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行するステップとを含むことを特徴とする、ストレージ制御方法。
【請求項５】
ストレージのデータに冗長性を持たせながら当該データをコンピュータに管理させるストレージ制御プログラムであって、
管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するフォーマット管理テーブルに基づき、前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するフォーマット処理部、および、
前記フォーマット処理部によるフォーマットと並行して、前記フォーマット処理部によるフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持する復元管理テーブルに基づき、前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行する復元処理部として、前記コンピュータを機能させることを特徴とする、ストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、物理ディスクを利用したストレージ機器においてデータを管理する技術に関し、特にデータに冗長性を持たせながら当該データを管理する技術に関する。
【背景技術】
【０００２】
一般に、磁気ディスク，光磁気ディスク，光ディスク等の物理ディスクを利用したストレージ機器では、データ処理装置等のホストからの要求で、記憶媒体に対する実アクセスを行なうため、記憶媒体に対するフォーマットの書込みが必要である。このフォーマットとしては、ＣＫＤフォーマット等の物理フォーマットと、データ領域を、ホストＯＳ(Operating System)の処理単位、例えばブロック単位に区切り、識別を施す論理フォーマットとがある。このような記憶媒体のフォーマットを行なうことで、ホストＯＳのホストコマンドに応じた、記憶媒体に対するリード／ライト等のアクセスが可能になる。
【０００３】
ホストからの要求に応じてストレージ機器（例えばディスクアレイサブシステム）にボリュームを作成する場合、ストレージ制御装置は、ディスク上のデータについて初期状態を保障すべく、まず、当該ディスクに対する物理フォーマットを、論理フォーマットに先立って実行する。物理フォーマットとしては対象媒体への０データの書込み処理などが行なわれる。例えば、ホストから、ある容量のボリュームの作成要求があると、データの冗長性を保つために、当該ボリュームについて、異なるディスク上に対となる２つの領域が確保される。そして、対となる２つのボリュームの領域に対し、先頭からシーケンシャルに物理フォーマットが施される。このとき、冗長性を保つべく、対となる２つのボリュームの領域における対応データブロックに対しては、同時もしくはほぼ同時に物理フォーマットが施される。
【０００４】
上述のようなシーケンシャルな物理フォーマットが実行される一方で、ホストがボリュームの作成要求を行なった直後から当該ボリュームに対するＩ／Ｏ（入出力）アクセスを可能とするために、クイックフォーマットと呼ばれる処理も実行されている。このクイックフォーマットは、ボリュームにおけるデータブロック毎にフォーマット済／未を表すビットマップ（クイックフォーマット管理テーブル）を用いて行なわれる。このビットマップでは、シーケンシャルな物理フォーマットを施されたデータブロックや、クイックフォーマットを施されたデータブロックについてフォーマット済の登録が行なわれる。
【０００５】
そして、ストレージ制御装置は、シーケンシャルな物理フォーマットの実行中にホストからＩ／Ｏアクセスを受けると、上記ビットマップを参照してＩ／Ｏアクセス対象のデータブロックがフォーマット済か否かを確認する。確認の結果、フォーマット済であればＩ／Ｏアクセスが直ちに実行される一方、未フォーマットであれば、シーケンシャルな物理フォーマットよりも優先的にＩ／Ｏアクセス対象のデータブロックの物理フォーマット等つまりクイックフォーマットが実行される。このようなクイックフォーマット実行後、上記ビットマップに当該データブロックがフォーマット済になったことが登録されるとともに、Ｉ／Ｏアクセスが実行される。
【０００６】
上述のようなフォーマット処理により、対となる２つのボリュームの領域は、それぞれ図５に示すごとく、フォーマットされる。この図５において、斜線を施されたブロックは各領域におけるフォーマット済のデータブロックに対応し、空白のブロックは各領域における未フォーマットのデータブロックに対応する。また、図５の領域Ａ１のフォーマット済のデータブロックはシーケンシャルな物理フォーマットを施されたものであり、図５の領域Ａ２に点在するフォーマット済のデータブロックはクイックフォーマットを施されたものである。
【０００７】
ところで、上述のようなフォーマット処理の実行中に、対となる２つのボリュームのうちの一方の属するディスクに故障が発生し、故障したディスクをスペアディスクまたは新たなディスクに交換した場合、以下のような復元処理が実行される。なお、以下、故障の発生していないディスクを「プライマリディスク」と呼び、交換後のディスクを「セカンダリディスク」と呼ぶ。
【０００８】
つまり、復元処理では、プライマリディスクの内容がセカンダリディスクにコピーされて冗長性が保たれる。この復元処理は、プライマリディスクで実行されたシーケンシャルなフォーマットに追随して実行される。例えば図５の領域Ａ１がセカンダリディスクで復元された後は、プライマリディスクで領域Ａ１に続くデータブロックに対するシーケンシャルなフォーマット処理が実行される都度、対応するデータブロックについての復元処理がセカンダリディスクに対し実行される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第３６１７６３２号
【特許文献２】特開平１０−１２４２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したように、ディスクのフォーマット処理実行中にディスク故障が生じたためにフォーマット処理と復元処理とが競合した場合、復元処理はシーケンシャルなフォーマット処理に追随する形で実行される。このため、復元処理が完了するのは、対象ボリュームの全領域についてのシーケンシャルなフォーマット処理が完了した後になっている。つまり、冗長性の復旧が対象ボリュームの全領域についてのシーケンシャルなフォーマット処理の完了後になり、冗長性の復旧時間を要する。
【００１１】
本件の目的の一つは、フォーマット処理と復元処理とが競合した場合に復元処理を短時間で行なえるようにして、データの冗長性を短時間で確保するとともに競合動作に伴う応答遅延の期間を短くすることである。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００１２】
本件のストレージ制御装置は、ストレージのデータに冗長性を持たせながら当該データを管理する装置であり、フォーマット管理テーブル，フォーマット処理部，復元管理テーブルおよび復元処理部をそなえている。ここで、フォーマット管理テーブルは、管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するものである。フォーマット処理部は、前記フォーマット管理テーブルに基づき前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するものである。また、復元管理テーブルは、前記フォーマット処理部によるフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持するものである。そして、復元処理部は、前記フォーマット処理部によるフォーマットと並行して、前記復元管理テーブルに基づき前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行するものである。
【００１３】
本件のストレージ制御方法は、処理部が、ストレージのデータに冗長性を持たせながら当該データを管理する方法であり、少なくとも以下の４つのステップ(1)〜(4)を含む。(1)記憶部におけるフォーマット管理テーブルによって、管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するステップ。(2)前記処理部が、前記フォーマット管理テーブルに基づき前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するステップ。(3)前記記憶部における復元管理テーブルによって、前記フォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持するステップ。(4)前記処理部が、前記フォーマットと並行して、前記復元管理テーブルに基づき前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行するステップ。
【００１４】
本件のストレージ制御プログラムは、ストレージのデータに冗長性を持たせながら当該データをコンピュータに管理させるプログラムであり、フォーマット処理部および復元処理部として、前記コンピュータを機能させるものである。ここで、フォーマット処理部は、管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するフォーマット管理テーブルに基づき、前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するものである。また、復元処理部は、前記フォーマット処理部によるフォーマットと並行して、前記フォーマット処理部によるフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持する復元管理テーブルに基づき、前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行するものである。
【発明の効果】
【００１５】
開示の技術では、冗長性復旧事象の発生時点でのフォーマット済領域のみが復元対象となり、同時点での未フォーマット領域は復元対象とならない。これにより、フォーマット処理と復元処理とが競合した場合に復元処理が短時間で行なわれ、データの冗長性が短時間で確保されるとともに競合動作に伴う応答遅延の期間が短くなる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態のストレージ制御装置を適用されるストレージシステム（ディスクアレイサブシステム）の全体構成を示すブロック図である。
【図２】図１に示すストレージシステムに適用される本実施形態のストレージ制御装置の機能構成を示すブロック図である。
【図３】（Ａ）〜（Ｃ）は図２に示すストレージ制御装置の復元動作およびフォーマット動作を説明するための図である。
【図４】（Ａ）〜（Ｃ）は図２に示すストレージ制御装置の復元動作を説明するための図である。
【図５】一般的なクイックフォーマット処理および従来の復元処理について説明するための図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕本実施形態の構成
まず、図１を参照しながら、本実施形態のストレージ制御装置１０を適用されるストレージシステム（ディスクアレイサブシステム）１の全体構成について説明する。なお、図１は、上記ストレージシステム１の全体構成を示すブロック図である。
【００１８】
本実施形態のストレージシステム１は、磁気ディスク，光磁気ディスク，光ディスク等の物理ディスクを利用したＲＡＩＤ（Redundant Arrays of Inexpensive Disk）システムである。そして、図１に示すように、ストレージシステム１は、ホスト（上位装置）１００からアクセスされるもので、ルータ（ＲＴ）３０を介し相互に接続された複数のストレージ制御装置１０と、これらのストレージ制御装置１０によって管理される複数のストレージ２０とを有している。
【００１９】
なお、図１に示すストレージシステム１では、３つのストレージ制御装置１０と３つのストレージ２０とがそなえられている。図中、３つのストレージ制御装置１０は、それぞれ、ＣＭ（Centralized Module）＃０，ＣＭ＃１，ＣＭ＃２として表記され、３つのストレージ２０は、それぞれ、ＲＬＵ（ＲＡＩＤグループ論理ユニット）＃０，ＲＬＵ＃１，ＲＬＵ＃２として表記される。また、各ＲＬＵ２０には、３つの物理ディスク２１，２２，２３がそなえられている。
【００２０】
各ＣＭ１０は、ホスト１００と３つのＲＬＵ２０との間にそなえられ、ホスト１００からのＩ／Ｏアクセスに応じて各ＲＬＵ２０に対するアクセス制御を行なうもので、各ＲＬＵ２０のデータに冗長性を持たせながら当該データを管理するものである。
【００２１】
ついで、図１および図２を参照しながら、図１に示すストレージシステム１に適用される各ＣＭ１０の機能構成について説明する。なお、図２は、各ＣＭ１０の機能構成を示すブロック図である。この図２においては、３つのＣＭ１０のうちの２つのＣＭ＃０，ＣＭ＃１の構成が示されているが、ＣＭ＃２についても、図２に示すＣＭ１０と同様に構成されている。
【００２２】
図１および図２に示すように、各ＣＭ１０は、ＣＰＵ１１，チャネルアダプタ１２，デバイスインタフェース１３，キャッシュメモリ１４，クイックフォーマット管理テーブル１５および復元管理テーブル１６を有している。
ここで、ＣＰＵ（処理部）１１は、所定のアプリケーションプログラム等を実行することにより、後述するフォーマット処理部１１ａおよび復元処理部１１ｂとしての機能を果たす。
【００２３】
チャネルアダプタ（ＣＡ）１２は、各ＣＭ１０とホスト１００とを結ぶホストインタフェースの制御を司るものであり、デバイスインタフェース（ＤＩ）１３は、各ＣＭ１０と各ＲＬＵ２０とを結ぶデバイスインタフェースの制御を司るものである。
【００２４】
キャッシュメモリ（Ｃａｃｈｅ）１４は、ＣＡ１２を通じてホスト１００から受けたＩ／Ｏアクセスの対象となるデータを一時的に保持するものである。ホスト１００から書込みアクセスを受けた場合、書込み対象データは、キャッシュメモリ１４に一時的に保持されてから、ＤＩ１３を通じてＲＬＵ２０上の所定のボリュームに書き込まれる。また、ホスト１００から読出しアクセスを受けた場合、読出し対象データは、所定のボリュームからＤＩ１３を通じて読み出されキャッシュメモリに一時的に保持されてから、ＣＡ１２を通じてホスト１００へ読み出される。
【００２５】
クイックフォーマット管理テーブル１５および復元管理テーブル１６は、各ＣＭ１０が管理する各ＲＬＵ２０におけるボリューム毎に作成されるもので、各ＣＭ１０を成すＲＡＭ等の記憶部上に作成されてもよいし、キャッシュメモリ１４上に作成されてもよい。なお、クイックフォーマット管理テーブル１５および復元管理テーブル１６は、それぞれ、図中や以下の説明中において、ＱＦ管理テーブル１５およびリカバリ管理テーブル１６と表記する場合がある。
【００２６】
ＱＦ管理テーブル１５は、管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するビットマップである。
ＣＰＵ１１によって実現されるフォーマット処理部１１ａは、このＱＦ管理テーブル１５に基づき管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するものである。このフォーマット処理部１１ａは、より具体的には、図５を参照しながら前述したクイックフォーマットを伴うシーケンシャルな物理フォーマットを行なう。
【００２７】
つまり、フォーマット処理部１１ａは、ホスト１００からの要求に応じてＲＬＵ２０にボリュームを新規に作成する場合、ディスク上のデータについて初期状態を保障すべく、まず、当該ディスクに対する物理フォーマットを実行する。このとき、データの冗長性を保つために、当該ボリュームについて、異なるディスク上に対となる２つの領域が確保され、これらの領域に対し、フォーマット処理部１１ａは、先頭からシーケンシャルに物理フォーマットを施す。
【００２８】
また、フォーマット処理部１１ａは、上述のようなシーケンシャルな物理フォーマットを実行するとともに、ホスト１００がボリュームの作成要求を行なった直後から当該ボリュームに対するＩ／Ｏアクセスを可能とするためにクイックフォーマットも実行する。このクイックフォーマットは、ボリュームにおけるデータブロック毎にフォーマット済／未を表すビットマップであるＱＦ管理テーブル１５を用いて行なわれる。このＱＦ管理テーブル１５には、フォーマット処理部１１ａにより、シーケンシャルな物理フォーマットを施されたデータブロックや、クイックフォーマットを施されたデータブロックについてフォーマット済の登録が行なわれる。
【００２９】
そして、フォーマット処理部１１ａは、シーケンシャルな物理フォーマットの実行中にホスト１００からＩ／Ｏアクセスを受けると、ＱＦ管理テーブル１５を参照してＩ／Ｏアクセス対象のデータブロックがフォーマット済か否かを確認する。確認の結果、フォーマット済であればＩ／Ｏアクセスが直ちに実行される。一方、未フォーマットであれば、フォーマット処理部１１ａは、シーケンシャルな物理フォーマットよりも優先的にＩ／Ｏアクセス対象のデータブロックの物理フォーマット等つまりクイックフォーマットを実行する。このようなクイックフォーマット実行後、フォーマット処理部１１ａによりＱＦ管理テーブル１５に当該データブロックがフォーマット済になったことが登録されるとともに、Ｉ／Ｏアクセスが実行される。
【００３０】
リカバリ管理テーブル１６は、フォーマット処理部１１ａによる上述のようなフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点でのＱＦ管理テーブル１５の内容を保持するビットマップである。なお、冗長性復旧事象としては、対となる２つのボリュームの領域のうちの一方の属するディスクに縮退故障等が発生し、そのディスクをスペアディスクもしくは新たなディスクに交換しなければならない事象が考えられる。
【００３１】
このリカバリ管理テーブル１６には、上述のごとく例えばディスク故障が発生しフォーマット処理部１１ａによるフォーマットを一時的に停止した時点でのＱＦ管理テーブル１５の内容がコピーされる。このコピー処理は、ＣＰＵ１１のフォーマット処理部１１ａもしくは復元処理部１１ｂとしての機能によって実現されてもよいし、ＣＰＵ１１の他機能によって実現されてもよい。つまり、リカバリ管理テーブル１６には、ディスク故障が発生するまでにフォーマットを完了したフォーマット済領域（フォーマット済のデータブロック）の情報が保存される。
【００３２】
ＣＰＵ１１によって実現される復元処理部１１ｂは、図３（Ａ）および図３（Ｂ）を参照しながら後述するごとく、ディスク交換後にデータ冗長性を復旧すべく、後述する復元処理を実行するものである。より具体的に、復元処理部１１ｂは、フォーマット処理部１１ａによる上述のようなフォーマット処理と並行して、リカバリ管理テーブル１６に基づき冗長性復旧事象発生時点でのフォーマット済領域の復元を実行するものである。即ち、復元処理部１１ｂは、フォーマット処理部１１ａによるフォーマット処理と並行して、ディスク故障発生時点でのフォーマット済領域のみの復元を実行するようになっている。
【００３３】
なお、復元処理部１１ｂは、上述のような基本的な復元処理を実行する機能を有するほか、以下のような機能(a)〜(c)を有していてもよい。
(a) 復元処理部１１ｂは、リカバリ管理テーブル１６を参照し複数の復元対象領域単位（データブロック）が連続的に存在することを認識すると、これらのデータブロックの復元を一のコマンドによってＬＲＵ２０に実行要求する。つまり、復元処理部１１ｂは、一ボリューム内において、連続する複数のデータブロックが復元対象である場合には、データブロック毎にコマンドを発行して復元処理を行なうのではなく、一のコマンドによって複数のデータブロックの復元処理を一括して行なう。この機能(a)については、図４（Ｂ）を参照しながら後述する。
【００３４】
(b) 管理対象ボリュームが複数のボリューム領域にわたる場合、復元処理部１１ｂは、各ボリューム領域毎にリカバリ管理テーブル１６を参照し当該ボリューム領域の全領域がフォーマット済であることを認識すると、復元対象領域単位でのリカバリ管理テーブル１６の参照処理を行なうことなく当該ボリューム領域の復元を実行する。つまり、復元処理部１１ｂは、ある一つのボリュームの全領域が復元対象であると認識すると、一々、リカバリ管理テーブル１６を参照することなく、そのボリュームの全領域の復元処理（コピー処理）を実行する。この機能(b)については、図４（Ａ）を参照しながら後述する。
【００３５】
(c) 管理対象ボリュームが複数のボリューム領域にわたる場合、復元処理部１１ｂは、各ボリューム領域毎にリカバリ管理テーブル１６を参照し当該ボリューム領域の全領域が未フォーマットであることを認識すると、当該ボリューム領域の復元をスキップする。つまり、復元処理部１１ｂは、ある一つのボリュームに一つも復元対象のデータブロックが存在しない場合には、復元処理をスキップする。この機能(c)については、図４（Ｃ）を参照しながら後述する。
【００３６】
〔２〕本実施形態の動作
次に、上述のごとく構成されたストレージシステム１およびＣＭ１０の動作について図３（Ａ）〜図３（Ｃ）を参照しながら説明する。なお、図３（Ａ）〜図３（Ｃ）は、図２に示す各ＣＭ１０の復元動作およびフォーマット動作を説明するための図（ＲＡＩＤ１データの更新イメージ）である。
【００３７】
ここでは、フォーマット処理部１１ａがクイックフォーマットを伴うシーケンシャルな物理フォーマット処理を実行し、例えば図３（Ａ）の左側に示すような状態になるまでフォーマット処理を完了した時点で、ディスク故障が発生した場合の復元処理について、以下に説明する。このとき、ディスク故障発生後、図３（Ａ）の右側に示すごとく、故障したディスクがスペアディスクまたは新たなディスクに交換されたものとする。なお、以下では、故障の発生していないディスクを「プライマリディスク」と呼び、交換後のディスクを「セカンダリディスク」と呼ぶ。
【００３８】
ディスク故障発生時点で、その時点のプライマリディスクにおけるフォーマット済領域の状態を示すＱＦ管理テーブル１５の内容が、リカバリ管理テーブル１６にコピーされて保存される。ここでは、図３（Ａ）の左側のプライマリディスクに示すような状態がリカバリ管理テーブル１６に保存される。図３（Ａ）の左側のプライマリディスクでは、領域Ａ１の１０個のデータブロックに対しシーケンシャルなフォーマットが施され、４個のデータブロックＡ２に対しクイックフォーマットが施されている。このとき、図３（Ａ）の右側のセカンダリディスクは、交換直後であるので、まだ何ら復元されていない。
【００３９】
ＱＦ管理テーブル１５の内容をリカバリ管理テーブル１６に保存するとともに、ディスク交換を完了すると、フォーマット処理部１１ａによるフォーマット処理が再開されるとともに、このフォーマット処理と並行して、復元処理部１１ｂによる復元処理も開始される。つまり、フォーマット処理部１１ａによるフォーマット処理と復元処理部１１ｂによる復元処理とが同時に実行される。
【００４０】
このとき、フォーマット処理部１１ａは、上述と同様、クイックフォーマットを伴うシーケンシャルな物理フォーマットを、プライマリディスクおよびセカンダリディスクの各ボリュームに対し実行する。これと同時に、本実施形態の復元処理部１１ｂは、リカバリ管理テーブル１６に保存されたフォーマット済領域を参照しながら、ディスク故障発生時点でのフォーマット済領域のみの復元を実行する。
【００４１】
このように、フォーマット処理部１１ａによるフォーマット処理と復元処理部１１ｂによる復元処理とが同時に実行されている状態の一例を、図３（Ｂ）に示す。
ここでは、復元処理部１１ｂがリカバリ管理テーブル１６を参照して復元処理を実行することにより、図３（Ｂ）に示すように、セカンダリディスクにおいてプライマリディスクのデータブロックＡ１，Ａ２に対応するデータブロックＡ１′，Ａ２′が復元される。
【００４２】
これらのデータブロックＡ１′，Ａ２′が復元されるまでの間にフォーマット処理部１１ａによるフォーマット処理も同時に実行されている。従って、この間に、図３（Ｂ）に示す例では、プライマリディスクにおいて、３つのデータブロックＡ３に対し、フォーマット処理部１１ａによるシーケンシャルな物理フォーマットが施される。また、同じくプライマリディスクにおいて、２つのデータブロックＡ４に対し、ホスト１００からのＩ／Ｏアクセスに応じたクイックフォーマットが施されている。
【００４３】
このようなフォーマット処理部１１ａによるフォーマット処理は、プライマリディスクだけでなく、セカンダリディスクに対しても施され、このセカンダリディスクにおいてプライマリディスクのデータブロックＡ３，Ａ４に対応するデータブロックＡ３′，Ａ４′に対しても施される。
【００４４】
上述のようにして、図３（Ｂ）に示すごとく、データブロックＡ１，Ａ２（Ａ１′，Ａ２′）の復元処理した時点で、復元処理開始後にフォーマット処理を完了した領域Ａ３，Ａ４（Ａ３′，Ａ４′）を含めてデータの冗長性の復旧が完了することになる。つまり、プライマリディスクとセカンダリディスクとが全く同じ状態となり、データの冗長性が確保され、ディスクの復元処理を完了する。
【００４５】
図３（Ｂ）に示すごとく、ディスクの復元処理を完了した後は、フォーマット処理部１１ａにより、クイックフォーマットを伴うシーケンシャルな物理フォーマットが実行される。そして、図３（Ｃ）に示すごとく、当該ボリュームにおける全ての領域に対しフォーマット処理が施されたら、フォーマット処理部１１ａによるフォーマットを完了する。
【００４６】
なお、ＬＲＵ２０のＲＡＩＤグループ内に複数のボリュームが有る場合、つまり管理対象ボリュームが複数のボリューム領域にわたる場合には、復元処理部１１ｂの上述した機能(a)〜(c)により、以下のような復元動作を行なうことができる。なお、図４（Ａ）〜図４（Ｃ）は、その復元動作を説明するための図である。また、図４（Ａ）〜図４（Ｃ）においては、管理対象ボリュームが３つのボリューム０，１，２にまたがる場合について図示している。
【００４７】
図４（Ａ）に示すように、復元処理部１１ｂの上記機能(b)により、ある一つのボリューム（ここではボリューム０）の全領域が復元対象であると認識されると、一々、リカバリ管理テーブル（ビットマップ）１６を参照することなく、そのボリュームの全領域の復元処理が実行される。これにより、テーブル１６の無駄な参照制御が行なわれなくなり、復元処理の高速化に寄与することになる。
【００４８】
図４（Ｂ）に示すように、ある一つのボリューム（ここではボリューム１）内において連続する複数のデータブロックが復元対象である場合には、復元処理部１１ｂの上記機能(a)により、一のコマンドによって複数のデータブロックの復元処理が一括して行なわれる。つまり、データブロック毎にコマンドを発行して復元処理を行なうのではなく、連続領域については、まとめて復元処理が実行されるので、復元処理の高速化に寄与することになる。復元対象のデータブロックが連続していない部分については、通常とおり、復元処理部１１ｂは、離散した各データブロック毎に復元処理を実行する。
【００４９】
図４（Ｃ）に示すように、復元処理部１１ｂの上記機能(c)により、ある一つのボリューム（ここではボリューム２）内に一つも復元対象のデータブロックが存在しない場合には、復元処理がスキップされる。これにより、テーブル１６の無駄な参照制御が行なわれなくなり、復元処理の高速化に寄与することになる。
【００５０】
〔３〕本実施形態の効果
このように、本実施形態によれば、ディスクのフォーマット処理中にディスク故障が生じたためにフォーマット処理と復元処理とが競合した場合、ディスク故障発生時におけるＱＦ管理テーブル１５の内容がフォーマット済情報としてリカバリ管理テーブル１６に保存される。そして、復元処理部１１ｂは、そのリカバリ管理テーブル１６の内容に基づいてディスク故障発生時点でのフォーマット済領域のみを対象として復元処理を実行する。
【００５１】
これにより、本実施形態では、ディスク故障発生等の冗長性復旧事象発生時点でのフォーマット済領域のみが復元対象となり、同時点での未フォーマット領域は復元対象とならない。従って、従来の復元手法に比べ復元対象領域が大幅に減少して不要な復元処理が無くなり、フォーマット処理と復元処理とが競合した場合に復元処理が極めて短時間で行なわれ、データの冗長性が短時間で確保される。また、競合動作に伴うＩ／Ｏアクセスに対する応答遅延の期間が短くなる効果も得られる。
【００５２】
また、図４（Ａ）〜図４（Ｃ）を参照しながら上述したように、復元処理部１１ｂの上記機能(a)〜(c)を用いることにより、復元処理のさらなる高速化を実現することが可能になる。
【００５３】
〔４〕その他
なお、本件は上述した実施形態に限定されるものではなく、本件の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、ストレージシステム１が３つのＣＭ１０および３つのＲＬＵ２０をそなえるとともに各ＲＬＵ２０が３つの物理ディスク２１〜２３をそなえた場合について説明したが、本件は、これに限定されるものではない。
【００５４】
また、上述したフォーマット処理部１１ａおよび復元処理部１１ｂとしての機能の全部もしくは一部は、ＣＰＵ，情報処理装置，各種端末を含むコンピュータが所定アプリケーションプログラム（ストレージ制御プログラム）を実行することによって実現される。
【００５５】
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ブルーレイディスクなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【００５６】
ここで、コンピュータとは、ハードウエアとＯＳとを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。上記プログラムは、上述のようなコンピュータに、フォーマット処理部１１ａおよび復元処理部１１ｂとしての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【００５７】
〔５〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
ストレージのデータに冗長性を持たせながら当該データを管理するストレージ制御装置であって、
管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するフォーマット管理テーブルと、
前記フォーマット管理テーブルに基づき前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するフォーマット処理部と、
前記フォーマット処理部によるフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持する復元管理テーブルと、
前記フォーマット処理部によるフォーマット処理と並行して、前記復元管理テーブルに基づき前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行する復元処理部とをそなえたことを特徴とする、ストレージ制御装置。
【００５８】
（付記２）
前記復元処理部は、前記復元管理テーブルを参照し複数の復元対象領域単位が連続的に存在することを認識すると、当該複数の復元対象領域単位の復元を一のコマンドによって前記ストレージに実行要求することを特徴とする、付記１記載のストレージ制御装置。
【００５９】
（付記３）
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記復元処理部は、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域がフォーマット済であることを認識すると、復元対象領域単位での前記復元管理テーブルの参照処理を行なうことなく当該ボリューム領域の復元を実行することを特徴とする、付記１または付記２に記載のストレージ制御装置。
【００６０】
（付記４）
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記復元処理部は、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域が未フォーマットであることを認識すると、当該ボリューム領域の復元をスキップすることを特徴とする、付記１〜付記３のいずれか一項に記載のストレージ制御装置。
【００６１】
（付記５）
処理部が、ストレージのデータに冗長性を持たせながら当該データを管理するストレージ制御方法であって、
記憶部におけるフォーマット管理テーブルによって、管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するステップと、
前記処理部が、前記フォーマット管理テーブルに基づき前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するステップと、
前記記憶部における復元管理テーブルによって、前記フォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持するステップと、
前記処理部が、前記フォーマットと並行して、前記復元管理テーブルに基づき前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行するステップとを含むことを特徴とする、ストレージ制御方法。
【００６２】
（付記６）
前記処理部が、前記復元に際し、前記復元管理テーブルを参照し複数の復元対象領域単位が連続的に存在することを認識すると、当該複数の復元対象領域単位の復元を一のコマンドによって前記ストレージに実行要求することを特徴とする、付記５記載のストレージ制御方法。
【００６３】
（付記７）
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記処理部が、前記復元に際し、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域がフォーマット済であることを認識すると、復元対象領域単位での前記復元管理テーブルの参照処理を行なうことなく当該ボリューム領域の復元を実行することを特徴とする、付記５または付記６に記載のストレージ制御方法。
【００６４】
（付記８）
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記処理部が、前記復元に際し、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域が未フォーマットであることを認識すると、当該ボリューム領域の復元をスキップすることを特徴とする、付記５〜付記７のいずれか一項に記載のストレージ制御方法。
【００６５】
（付記９）
ストレージのデータに冗長性を持たせながら当該データをコンピュータに管理させるストレージ制御プログラムであって、
管理対象ボリュームのフォーマット済領域／未フォーマット領域を管理するフォーマット管理テーブルに基づき、前記管理対象ボリュームにおける未フォーマット領域のフォーマットを実行するフォーマット処理部、および、
前記フォーマット処理部によるフォーマットと並行して、前記フォーマット処理部によるフォーマット実行中に冗長性復旧事象が発生した場合に当該冗長性復旧事象が発生した時点での前記フォーマット管理テーブルの内容を保持する復元管理テーブルに基づき、前記冗長性復旧事象の発生時点での前記フォーマット済領域の復元を実行する復元処理部として、前記コンピュータを機能させることを特徴とする、ストレージ制御プログラム。
【００６６】
（付記１０）
前記復元処理部は、前記復元管理テーブルを参照し複数の復元対象領域単位が連続的に存在することを認識すると、当該複数の復元対象領域単位の復元を一のコマンドによって前記ストレージに実行要求するように、前記コンピュータを機能させることを特徴とする、付記９記載のストレージ制御プログラム。
【００６７】
（付記１１）
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記復元処理部は、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域がフォーマット済であることを認識すると、復元対象領域単位での前記復元管理テーブルの参照処理を行なうことなく当該ボリューム領域の復元を実行するように、前記コンピュータを機能させることを特徴とする、付記９または付記１０に記載のストレージ制御プログラム。
【００６８】
（付記１２）
前記管理対象ボリュームが複数のボリューム領域にわたる場合、前記復元処理部は、各ボリューム領域毎に前記復元管理テーブルを参照し当該ボリューム領域の全領域が未フォーマットであることを認識すると、当該ボリューム領域の復元をスキップするように、前記コンピュータを機能させることを特徴とする、付記９〜付記１１のいずれか一項に記載のストレージ制御プログラム。
【符号の説明】
【００６９】
１    ストレージシステム（ディスクアレイサブシステム）
１０    ストレージ制御装置（ＣＭ）
１１    ＣＰＵ（処理部）
１１ａ    フォーマット処理部
１１ｂ    復元処理部
１２    チャネルアダプタ（ＣＡ）
１３    デバイスインタフェース（ＤＩ）
１４    キャッシュメモリ（Ｃａｃｈｅ）
１５    クイックフォーマット管理テーブル（ＱＦ管理テーブル；ビットマップ）
１６    復元管理テーブル（リカバリ管理テーブル；ビットマップ）
２０    ＲＬＵ（ＲＡＩＤグループ論理ユニット；ストレージ）
２１，２２，２３    物理ディスク（ストレージ）
３０    ルータ（ＲＴ）
１００    ホスト（上位装置）
【図１】
2010198420.tif 000003
【図２】
2010198420.tif 000004
【図３】
2010198420.tif 000005
【図４】
2010198420.tif 000006
【図５】
2010198420.tif 000007