(57)【要約】  本発明の記憶制御装置は、バックアップ用の二次記憶手段と、冗長構成が採用された記憶手段を複数有する一次記憶手段とを備える記憶装置を制御する記憶制御装置において、前記一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在するか否かを判定する手段と、前記一次記憶手段内のディグレート処理が行われた記憶手段が最新のデータを保持するとともに、その一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在しない場合に、前記バックアップ用の二次記憶手段上にデータが確保されている前記一次記憶手段内の冗長構成が組まれた記憶手段の１つを解体し、その解体された記憶手段を用いてそのディグレート処理を行った記憶手段のリビルド処理を実行する手段と、を備える。【特許請求の範囲】
【請求項１】
バックアップ用の二次記憶手段と、冗長構成が採用された記憶手段を複数有する一次記憶手段とを備える記憶装置を制御する記憶制御装置において、
前記一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在するか否かを判定する手段と、
前記一次記憶手段内のディグレート処理が行われた記憶手段が最新のデータを保持するとともに、その一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在しない場合に、前記バックアップ用の二次記憶手段上にデータが確保されている前記一次記憶手段内の冗長構成が組まれた記憶手段の１つを解体し、その解体された記憶手段を用いてそのディグレート処理を行った記憶手段のリビルド処理を実行する手段と、を備えることを特徴とする記憶制御装置。
【請求項２】
冗長構成が採用された記憶手段を複数有する一次記憶手段を備え、バックアップ用の二次記憶手段にアクセス可能なディスクアレイ装置において、
前記一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在するか否かを判定する手段と、
前記一次記憶手段内のディグレート処理が行われた記憶手段が最新のデータを保持するとともに、その一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在しない場合に、前記バックアップ用の二次記憶手段上にデータが確保されている前記一次記憶手段内の冗長構成が組まれた記憶手段の１つを解体し、その解体された記憶手段を用いてそのディグレート処理を行った記憶手段のリビルド処理を実行する手段と、を備えることを特徴とするディスクアレイ装置。
【請求項３】
ミラーリングされた記憶手段を複数有する一次記憶手段と、二次記憶手段と、予備記憶手段とを備える記憶装置を制御する記憶制御装置において、
予備記憶手段の有無を判別する第一の判別手段と、
前記一次記憶手段を構成する記憶手段に記憶されたデータが、二次記憶手段に記憶されたデータと等価であるか否かを判別する第二の判別手段と、
前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別手段により予備記憶手段が存在すると判別された場合には、前記予備記憶手段を用いてディグレートした記憶手段のリビルド処理を実行するとともに、
前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別手段により予備記憶手段が存在しないと判別された場合には、記憶されたすべてのデータが前記二次記憶手段に記憶されたデータと等価であると前記第二の判別手段により判別された記憶手段のミラーリングを解消し、前記ミラーリングが解消された記憶手段を用いて前記ディグレードした記憶手段のリビルド処理を実行する処理手段とを備えることを特徴とする記憶制御装置。
【請求項４】
前記処理手段は、前記二次記憶手段に記憶されたデータと等価ではないデータが前記ディグレードした記憶手段に記憶されている場合にリビルド処理を実行することを特徴とする請求項３記載の記憶制御装置。
【請求項５】
バックアップ用の二次記憶手段と、冗長構成が採用された記憶手段を複数有する一次記憶手段とを備える記憶装置を制御する記憶制御装置が行う冗長性の復旧方法において、
前記一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在するか否かを判定し、
前記一次記憶手段内のディグレート処理が行われた記憶手段が最新のデータを保持するとともに、その一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在しない場合に、前記バックアップ用の二次記憶手段上にデータが確保されている前記一次記憶手段内の冗長構成が組まれた記憶手段の１つを解体し、その解体された記憶手段を用いてそのディグレート処理を行った記憶手段のリビルド処理を実行する、ことを特徴とする冗長性復旧方法。
【請求項６】
ミラーリングされた記憶手段を複数有する一次記憶手段と、二次記憶手段と、予備記憶手段とを備える記憶装置を制御する記憶制御装置が行う冗長性の復旧方法において、
第一の判別手段により予備記憶手段の有無を判別し、
第二の判別手段により前記一次記憶手段を構成する記憶手段に記憶されたデータが、二次記憶手段に記憶されたデータと等価であるか否かを判別し、
前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別手段により予備記憶手段が存在すると判別された場合には、前記予備記憶手段を用いてディグレートした記憶手段のリビルド処理を実行し、
前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別手段により予備記憶手段が存在しないと判別された場合には、記憶されたすべてのデータが前記二次記憶手段に記憶されたデータと等価であると前記第二の判別手段により判別された記憶手段のミラーリングを解消し、前記ミラーリングが解消された記憶手段を用いて前記ディグレードした記憶手段のリビルド処理を実行する、ことを特徴とする冗長性復旧方法。
【請求項７】
前記二次記憶手段に記憶されたデータと等価ではないデータが前記ディグレードした記憶手段に記憶されている場合にリビルド処理を実行することを特徴とする請求項６記載の冗長性復旧方法。
【請求項８】
バックアップ用の二次記憶手段と、冗長構成が採用された記憶手段を複数有する一次記憶手段とを備える記憶装置を制御する記憶制御装置に冗長性を復旧させる処理を行わせるプログラムにおいて、
前記一次記憶手段内の故障ディスクに対してディグレート処理を実行するステップと、
前記一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在するか否かを判定するステップと、
前記一次記憶手段内のディグレート処理が行われた記憶手段が最新のデータを保持するとともに、その一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在しない場合に、前記バックアップ用の二次記憶手段上にデータが確保されている前記一次記憶手段内の冗長構成が組まれた記憶手段の１つを解体し、その解体された記憶手段を用いてそのディグレート処理を行った記憶手段のリビルド処理を実行するステップと、前記記憶制御装置に実行させることを特徴とする冗長性復旧プログラム。
【請求項９】
ミラーリングされた記憶手段を複数有する一次記憶手段と、二次記憶手段と、予備記憶手段とを備える記憶装置を制御する記憶制御装置に冗長性を復旧させる処理を行わせるプログラムにおいて、
予備記憶手段の有無を判別する第一の判別ステップと、
前記一次記憶手段を構成する記憶手段に記憶されたデータが、二次記憶手段に記憶されたデータと等価であるか否かを判別する第二の判別ステップと、
前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別ステップにより予備記憶手段が存在すると判別された場合には、前記予備記憶手段を用いてディグレートした記憶手段のリビルド処理を実行するステップと、
前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別ステップにより予備記憶手段が存在しないと判別された場合には、記憶されたすべてのデータが前記二次記憶手段に記憶されたデータと等価であると前記第二の判別ステップにより判別された記憶手段のミラーリングを解消し、前記ミラーリングが解消された記憶手段を用いて前記ディグレードした記憶手段のリビルド処理を実行するステップとを前記記憶制御装置に実行させることを特徴とする冗長性復旧プログラム。
【請求項１０】
前記二次記憶手段に記憶されたデータと等価ではないデータが前記ディグレードした記憶手段に記憶されている場合にリビルド処理を実行することを特徴とする請求項９記載の冗長性復旧プログラム。
【発明の詳細な説明】
【発明の属する技術分野】
【０００１】
本発明は、ディスクアレイ装置の記憶制御装置（コントローラ）およびそのコントローラが行う冗長性復旧方法に関する。
【背景技術】
【０００２】
ディスク故障にも対応可能なように、冗長構成が採用されたディスクアレイ装置がある。このようなディスクアレイ装置においては、ディスク故障が発生した場合に、冗長性をどのように回復させるかが問題となることが多い。【０００３】
例えば、下記特許文献１では、冗長構成としてミラーリングが採用されているディスクアレイ装置において、ディスク故障が発生した場合に、ミラーリング管理テーブル内に保持されるディスクごとに設定された優先順位の情報に基づいて、ミラーリングペアを解消するディスク群を特定し、そのペア解消したディスク群のいずれか一方のディスクと、片ディスク故障が発生したディスクとでミラーリングペアを新たに組むことで冗長性の回復する技術が開示されている。【０００４】
また、下記特許文献２には、ホットスペア・パトロールを行うことなく、冗長性の高い別のグループから故障代替デバイスを取り込むことで、冗長性を回復する技術が開示されている。
【特許文献１】特開平９−２６９８７１号公報  「ディスクアレイ装置におけるデータ再冗長化方式」
【特許文献２】特開平１０−２６０７８９号公報  「デバイスアレイ・システム」
【発明の開示】
【０００５】
ディスクアレイ装置としては、上述した装置の他に、冗長構成が採用されたディスクアレイを備え、バックアップ用のストレージにアクセス可能な装置があるが、このような装置においては、空きのホットスペアがない場合に、ディスクアレイ装置内のディスクにディスクディグレートが発生した場合、ディグレードしたディスクが交換されるまでは、その片ディスクディグレードしたディスクに対して、非冗長状態が続くことになり、ユーザデータを喪失する可能性が高くなるという問題がある。
【０００６】
本発明の課題は、空きのホットスペアがない場合に、ディスクアレイ装置内のディスクにディスクディグレートが発生した場合でも、早期に非冗長データの冗長化が可能となるディスクアレイ装置のコントローラおよび冗長性復旧方法を提供することである。
【０００７】
本発明の第１態様の記憶制御装置は、バックアップ用の二次記憶手段と、冗長構成が採用された記憶手段を複数有する一次記憶手段とを備える記憶装置を制御する記憶制御装置において、前記一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在するか否かを判定する手段と、前記一次記憶手段内のディグレート処理が行われた記憶手段が最新のデータを保持するとともに、その一次記憶手段内に冗長構成を組んでいない状態の記憶手段が存在しない場合に、前記バックアップ用の二次記憶手段上にデータが確保されている前記一次記憶手段内の冗長構成が組まれた記憶手段の１つを解体し、その解体された記憶手段を用いてそのディグレート処理を行った記憶手段のリビルド処理を実行する手段と、を備えることを特徴とする記憶制御装置である。上記ディグレート処理の実行、冗長構成を組んでいない記憶手段の判定は、例えば、図３のシステム制御部４１の機能の一部に対応し、また、記憶手段の解体は、例えば、図３のシステム制御部４１の機能の一部に対応し、リビルドの実行は、例えば、図３のＲＡＩＤ／ＤＡ部４７に対応する。
【０００８】
ここで、一次記憶手段内に冗長構成を組んでいない状態の記憶手段（空きのホットスペア）が存在せず、かつ、その一次記憶手段内のディグレート処理が行われた記憶手段（ディスク）が最新のデータを保持する場合に、バックアップ用の二次記憶手段上にデータが確保されている一次記憶手段内の冗長構成が組まれた記憶手段（ディスクペア、ＲＡＩＤ）を解体して新規ホットスペアとして、その片ディスクディグレートしたディスクに割り当てている。よって、空きのホットスペアがない場合に、最新のデータを保持するディスクにディスク故障が発生した場合に、早期に非冗長データを冗長化することができ、データを喪失する可能性を低減できる。
【０００９】
本発明の第２態様の記憶制御装置は、ミラーリングされた記憶手段を複数有する一次記憶手段と、二次記憶手段と、予備記憶手段とを備える記憶装置を制御する記憶制御装置において、予備記憶手段の有無を判別する第一の判別手段と、前記一次記憶手段を構成する記憶手段に記憶されたデータが、二次記憶手段に記憶されたデータと等価であるか否かを判別する第二の判別手段と、前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別手段により予備記憶手段が存在すると判別された場合には、前記予備記憶手段を用いてディグレートした記憶手段のリビルド処理を実行するとともに、前記一次記憶手段を構成する記憶手段がディグレートしたときに、前記第一の判別手段により予備記憶手段が存在しないと判別された場合には、記憶されたすべてのデータが前記二次記憶手段に記憶されたデータと等価であると前記第二の判別手段により判別された記憶手段のミラーリングを解消し、前記ミラーリングが解消された記憶手段を用いて前記ディグレードした記憶手段のリビルド処理を実行する処理手段とを備えることを特徴とする記憶制御装置である。
【００１０】
なお、本発明の各態様の記憶制御装置が行う冗長性復旧方法またはその各態様の記憶制御装置に冗長性を復旧させる処理を行わせるプログラムによっても記憶制御装置の場合と同様の作用・効果が実現できることは言うまでもない。
【００１１】
本発明によれば、空きのホットスペアがない場合に、最新のデータを保持するディスクにディスクディグレートが発生した場合に、早期に非冗長データを冗長化することができ、データを喪失する可能性を低減できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態のディスクアレイ装置を含むシステム全体の構成概要を示す図である。
【図２】１次ストレージの仮想ボリューム（ＶＬＵ）への割り当てを示す図である。
【図３】本発明の一実施形態のディスクアレイ装置を含むシステム全体のより詳細な構成を示すブロック図である。
【図４】ＭＲＢブロックのデータ構造を示す図である。
【図５】ホストから見える仮想的なボリューム（ＶＬＵ）と１次ストレージ内で管理するボリューム（ＯＬＵ）との対応関係の一例を示す図である。
【図６】ホストからの送受信要求に対応する１次ストレージ、２次ストレージ間でのデータの流れを説明する図である。
【図７】ホストからの送受信要求に対応して、ディスクアレイ装置側で行われる処理を示すフローチャートである。
【図８】ディスクアレイ装置内でディスクディグレードが発生した場合に行われる処理を示すフローチャートである。
【図９】ディスクディグレード前のミラーリングと、ディスクディグレード後のミラーリングとを示した図である。
【図１０】本実施形態のハードウェア環境を示す図である。
【図１１】記憶媒体例を示す図である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
図１は、本発明の一実施形態のディスクアレイ装置を含むシステム全体の構成概要を示す図である。【００１４】
図１に示すように、ストレージ装置は、高速なアクセスが可能であって、容量当たりのコストが高いアレイ状の１次ストレージ（ディスクアレイ）１３をコントロールするユニット（ディスクアレイ装置）１２と、１次ストレージ１３よりはアクセス速度は劣るが、容量当たりのコストがより安価である２次ストレージ（テープライブラリ、光ディスクライブラリ）１６をコントロールするユニット１５と、それらユニット間のインターフェイスとしての階層制御サーバ１４とから構成される。このストレージ装置は、例えば、ホスト１１からの送受信要求（読み書き指示）に対応して必要な処理を行う。【００１５】
図１の構成において、ホスト１１は、２次ストレージ１６の容量を仮想ボリューム（Virtual Logical Unit、ＶＬＵ）として認識し、この２次ストレージ１６との間のデータの送受信を１次ストレージユニット１２を介して行う。【００１６】
ホスト１１とストレージ装置との間で送受信処理が進むに従って、図２に示すように、１次ストレージユニット１２において、上記ＶＬＵに対し、１次ストレージ１３のディスク領域のいずれかが割り当てられる。なお、本実施形態においては、図２に示すように、１次ストレージ側の冗長構成として、ミラーリングが採用されている。【００１７】
図３は、本発明の一実施形態のディスクアレイ装置を含むシステム全体のより詳細な構成を示すブロック図である。
図３において、ホスト３０は、アプリケーション３１、ファイルシステム３２、ディスクドライバ３３を有する。例えばホスト３０のアプリケーション３１上からファイルの読み込み指示、または、ファイルへの書き込み指示が、ユーザによってなされ、その指示は、ファイルシステム３２、ディスクドライバ３３を介して、ストレージ装置側に送信される。【００１８】
ストレージ装置は、１次ストレージユニット（ディスクアレイ装置）４０、階層制御サーバ５０、２次ストレージユニット６０から構成される。
１次ストレージユニット４０は、アレイ状の１次ストレージ（ディスクアレイ）４８と、その１次ストレージ４８を制御、保守するコントローラとから構成される。【００１９】
コントローラは、部品ディグレード処理、システム状態遷移制御などを行うシステム制御部４１、ホスト３０や階層制御サーバ５０とのインターフェイスであるＩ／Ｆ部４２、仮想ディスク（ＶＬＵ）のディスク空間と実ディスク（ＯＬＵ）のディスク空間とのマッピング情報の管理、階層制御サーバのＭＲＣに対するリコール／Ｓｙｎｃなどの要求の発行、などを行うＶＤＥ部（Virtual Disk Engine）４３、ＶＤＥ部が仮想ディスクから実ディスクに変換した処理要求を元に、Ｉ／Ｆ部４２と同様の処理を行うＣＡ部（Channel Adapter）４４、１次ストレージ上の資源を管理（共通制御テーブル、ホスト・アクセスの排他等）するリソース制御部４５、１次ストレージ上のキャッシュメモリを管理（キャッシュメモリ上に指定データの有り無し等）するキャッシュ制御部４６、１次ストレージ上のディスク間のＩ／Ｆを制御するＲＡＩＤ／ＤＡ（Device Adapter）部４７、から構成される。【００２０】
階層制御サーバ５０は、ディスクドライバ５１、マイグレーション・リコールなどを実行するマイグレーション／リコール・コントローラ（Migration／Recall Controller、ＭＲＣ）５２、２次ストレージセット機構６１とＭＲＣ５２とのインターフェイスであるＩ／Ｆ部５３、から構成される。【００２１】
２次ストレージユニット６０は、バックアップ用の２次ストレージ６３、その２次ストレージ６３の駆動装置６２、その２次ストレージ６３を駆動装置６２にセットしたり抜いたりする２次ストレージセット機構６１、から構成される。【００２２】
１次ストレージユニット（ディスクアレイ装置）では、上記データの状態など、例えば、ホストから指示されたデータがあるかどうか、ある場合は１次ストレージ上のどこに存在するかをマッピング管理テーブルにより管理している。このマッピング管理テーブルは、マイグレーション・リコール・ブロック（Migration Recall Block、ＭＲＢ）と呼ばれるブロックの複数個によって構成されている。なお、マイグレーションとは、１次ストレージ上のデータを２次ストレージに書き込む動作を示し、また、リコールとは、２次ストレージ上のデータを１次ストレージ上に読み出す動作を示す。【００２３】
図４は、ＭＲＢブロックのデータ構造を示す図である。
図４の各フィールドの意味は以下のようである。
Ｉｎｄｅｘ Ｎｏ：ＭＲＢ全体の通し番号
Ｖａｌｉｄ Ｆｌａｇ：本ブロックが使用されているかどうかを示すフラグ
ＶＴＯＣ Ｆｌａｇ：本ブロックがＶＴＯＣデータ領域に割り当てられているかどうかを示すフラグ
ＭＲＢ Ｓｔａｔｕｓ：本ブロックが管理するデータの状態を示す。このフィールドには、Ｍｉｓｓ，Ｈｉｔ，Ｄｉｒｔｙのいずれかの値が設定される。それぞれの値の意味は以下の通りである。【００２４】
Ｄｉｒｔｙ：１次ストレージ上でデータの更新が行われている（１次ストレージが最新のデータを保持することになる、１次ストレージと２次ストレージ上のデータが非等価である）
Ｈｉｔ：１次ストレージと２次ストレージ上のデータが等価である
Ｍｉｓｓ：１次ストレージ上にデータが割り当てられてなく、２次ストレージにデータが保持されている
ＭＲＢ Ｕｎｉｔ  Ｓｉｚｅ：本ブロックが管理する１次ストレージ上のデータサイズ（単位：Logical Block Address、ＬＢＡ）
ＯＬＵ Ｎｏ：本ブロックで割り当てを行っている１次ストレージ上のＯＬＵ（Open Logical Unit）の番号
ＶＬＵ Ｎｏ：本ブロックで割り当てを行っているＶＬＵの番号
Ｓｔａｒｔ ＯＢＬＡ：本ブロックで割り当てを行っている１次ストレージ上のＯＬＵの開始ＬＢＡ
ＭＲＢ Ｎｏ：本ブロックがＶＬＵ上で先頭から何番目のＭＲＢであるかを示すフィールド
Ｔｉｍｅ：本ブロックが管理するデータが最後にアクセスされた時間
図５は、ホストから見える仮想的なボリューム（ＶＬＵ）と１次ストレージ内で管理するボリューム（ＯＬＵ）との対応関係の一例を示す図である。【００２５】
図５の例では、１つのＭＲＢブロックが管理する１次ストレージ上のデータサイズとして、２５６ＭＢが設定されている。これは、１ＬＢＡ＝５１２ｂｙｔｅであることを考慮すると、２５６ＭＢ／５１２ｂｙｔｅ＝５２４２８８のＬＢＡ単位のデータを１つのＭＲＢブロックが管理していることになる。すなわち、ＶＬＵＬＢＡの０〜５２４２８７まではＭＲＢ−０、５２４２８８〜１０４８５７５まではＭＲＢ−１、などとなる。なお、ＭＲＢ−０〜ＭＲＢ−ｎの０〜ｎは、図４のＩｎｄｅｘＮｏのフィールドに設定される値である。【００２６】
また、図では、例えば、ＭＲＢ−０、ＭＲＢ−１、ＭＲＢ−２、に対する１次ストレージ上のＯＬＵの開始ＬＢＡ（図４のＳｔａｒｔＯＢＬＡ）がそれぞれ、「０ｘ０００００」、「０ｘ１０００００」、「０ｘ３００００００」で与えられている。【００２７】
以下では、本実施形態のディスクアレイ装置の動作を説明する。すなわち、まず、上記のＭＲＢブロック内のデータの状態（Ｄｉｒｔｙ、Ｈｉｔ、Ｍｉｓｓ）を変更するトリガとなるホストからの送受信要求をディスクアレイ装置が受信した場合に、そのディスクアレイ装置側で行われる処理を説明し、次に、そのようなＭＲＢブロック内のデータの状態を参照して行われる、ディスクアレイ装置内でディスクディグレードが発生した場合の冗長性の復旧処理について説明する。【００２８】
図６は、ホストからの送受信要求に対応する１次ストレージ、２次ストレージ間でのデータの流れを説明する図である。
上記したように、ホスト１１からの送受信要求は、１次ストレージユニット（ディスクアレイ装置）によって、まず受信されるが、その１次ストレージユニットが管理する１次ストレージ１３内のデータの状態としては、上述のＤｉｒｔｙ、Ｈｉｔ、Ｍｉｓｓがある。【００２９】
図６において、例えば、１次ストレージ１３上のＭｉｓｓ状態のデータに対してホスト１１から送受信要求（読み書き指示）がきた場合、２次ストレージ１６上から対応するデータを１次ストレージ１３上のいずれかの領域に読み込んだ後に、ホスト１１と１次ストレージ１３との間でデータの送受信処理が行われる。【００３０】
また、例えば、１次ストレージ１３上のＤｉｒｔｙ状態のデータに対してホスト１１から送受信要求（読み書き指示）がきた場合、ホスト１１と１次ストレージ１３との間でデータの送受信処理が行われる。【００３１】
また、例えば、１次ストレージ１３上のＨｉｔ状態のデータに対してホスト１１から送受信要求（読み書き指示）がきた場合、ホスト１１と１次ストレージ１３との間でデータの送受信処理が行われる。【００３２】
図７は、ホストからの送受信要求に対応して、１次ストレージユニット（ディスクアレイ装置）側で行われる処理を示すフローチャートである。
図７において、まず、ステップＳ１０１で、１次ストレージユニットのＩ／Ｆ部４２は、ホストからのＩ／Ｏ（送受信要求、読み書き指示）を受け付ける。Ｉ／Ｆ部４２は、この受け付けられた送受信要求をＶＤＥ部４３に渡す。そして、ステップＳ１０２において、このホストからの送受信要求を渡されたＶＤＥ部４３によってコマンド解析が行われる。コマンド解析においては、送受信要求中の対応する情報を参照することで、読み書き開始位置やデータ長、その要求がホストへの読み出しなのか２次ストレージへの書き込みなのかを設定する。【００３３】
続く、ステップＳ１０３では、送受信要求の対象となるデータ（指定データ）が１次ストレージ上にあるかどうかを、その送受信要求中に指定されたＶＬＵ番号（図４のＶＬＵＮｏ）とＶＬＵ＿ＬＢＡ（ホストから指示された読み書き開始位置）をキーとして、ＭＲＢブロックを検索することで判定する。１次ストレージ上に指定データがないと判定された場合は、ステップＳ１０４において、ＶＤＥ部４３から階層制御サーバ５０のＭＲＣ５２にデータ転送依頼がなされ、ステップＳ１０５で、ステップＳ１０４で依頼した転送処理が完了すると、その転送完了通知が、ＭＲＣ５２からＶＤＥ部４３になされ、ステップＳ１０６に進む。一方、ステップＳ１０３で、１次ストレージ上に指定データがあると判定された場合は、ただちにステップＳ１０６に進む。【００３４】
ステップＳ１０６では、ＶＤＥ部４３によって、必要に応じてＭＲＢの状態が変更される。例えば、Ｍｉｓｓ状態のＭＲＢに対して、２次ストレージからデータ転送を行う場合には、そのデータ転送が完了すると、そのＭＲＢの状態はＨｉｔに変更される。【００３５】
続いて、ステップＳ１０７で、キャッシュ制御部４６によって、キャッシュメモリ上に指定データがあるかどうかが判定される。キャッシュメモリ上に指定データがないと判定された場合は、ステップＳ１０８で、ＲＡＩＤ／ＤＡ部４７によって、ディスク上のデータがキャッシュメモリに展開され、ステップＳ１０９に進む。一方、ステップＳ１０７で、キャッシュメモリ上に指定データがあると判定された場合、ただちに、ステップＳ１０９に進む。【００３６】
ステップＳ１０９では、ホストとの間でデータ転送処理が行われる。すなわち、ホストからの指示が読み込み指示である場合は、ホストにデータを転送し、ホストからの指示が書き込み指示である場合は、ホストからディスクアレイ装置側にデータが転送される。【００３７】
そして、ステップＳ１１０で、ホストに読み込み／書き込み指示が正常に行われたかどうかが報告され、一連の処理を終了する。
図８は、１次ストレージユニット（ディスクアレイ装置）内でディスクディグレードが発生した場合に行われる処理を示すフローチャートである。【００３８】
すなわち、ステップＳ２０１で、システム制御部４１による故障ディスクのディグレード処理をトリガとしてこの一連の処理が起動される。
続くステップＳ２０２では、未使用のホットスペアがあるかどうかがシステム制御部４１によって、ディスクの構成情報を参照して判定される。未使用のホットスペアがある場合には、ステップＳ２０３において、ＲＡＩＤ／ＤＡ部４７によって、そのホットスペアを用いて、片ディスクディグレードしたＲＬＵ（Raid Logical Unit）に対し、リビルドが実行され、一連の処理を終了する。なお、ＲＬＵとは、ＲＡＩＤを組んでいる状態のディスク群を言う。ＲＬＵには、複数のＭＲＢが割り当てられている。【００３９】
一方、ステップＳ２０２で、未使用のホットスペアがないと判定された場合は、ステップＳ２０４において、片ディスクディグレードしたＲＬＵは、Ｄｉｒｔｙ状態のデータを保持していたかが、ＶＤＥ部４３によって、そのＲＬＵに割り当てられた複数のＭＲＢの状態（図４のＭＲＢＳｔａｔｕｓ）を参照することで判定される。【００４０】
ステップＳ２０４で、片ディスクディグレードしたＲＬＵが、Ｄｉｒｔｙ状態のデータを保持していないと判定された場合は、一連の処理を終了する。一方、片ディスクディグレードしたＲＬＵが、Ｄｉｒｔｙ状態のデータを保持していたと判定された場合は、ステップＳ２０５において、ＭｉｓｓまたはＨｉｔ状態のみのＲＬＵが存在するかがＶＤＥ部４３によって、それぞれのＲＬＵに割り当てられた複数のＭＲＢの状態（図４のＭＲＢＳｔａｔｕｓ）を参照することで検索される。【００４１】
続く、ステップＳ２０６では、条件を満たすＲＬＵ、すなわち、ＭｉｓｓまたはＨｉｔ状態のＭＲＢのみが割り当てられたＲＬＵが見つかったかがＶＤＥ部４３によって、判定される。見つかっていないと判定された場合は、ステップＳ２０７において、検索していないＲＬＵがあるかが判定される。検索していないＲＬＵがない場合、すなわち、すべてのＲＬＵを検索した場合は、一連の処理を終了する。【００４２】
一方、検索していないＲＬＵがある場合は、ステップＳ２０５に戻る。
ステップＳ２０６で、条件を満たすＲＬＵが見つかったと判定された場合は、ステップＳ２０８において、ＶＤＥ部４３によって、そのＲＬＵのＨｉｔデータが削除される。すなわち、ＭＲＢブロックのＩｎｄｅｘＮｏ以外のフィールドの値が初期化され、続く、ステップＳ２０９において、システム制御部４１によって、ディスクの構成情報が変更されることで、そのＲＬＵが解体され、ホットスペアとして管理される。そして、ステップＳ２１０において、ステップＳ２０９で得たホットスペアを用いて、ＲＡＩＤ／ＤＡ部４７によって、片ディスクディグレードしたＲＬＵに対し、リビルドが実行され、一連の処理を終了する。【００４３】
図９は、ディスクディグレード前のミラーリングと、ディスクディグレード後のミラーリングとを示した図である。
図９において、ディスクアレイ装置内のディスクアレイにおいて、ディスク６５と６６、ディスク６８と６９がそれぞれＲＡＩＤを組んでいる（冗長構成としてはミラーリングが採用されている）。ディスクディグレードがディスク６５に発生し、そのディスクがＤｉｒｔｙ状態のデータを保持している場合で、空きのホットスペアがディスク内に存在しないような場合、ＭｉｓｓまたはＨｉｔ状態のみのデータを保持するディスク群（６８、６９）が検索結果として特定される。そして、その特定されたディスク群が解体され、そのディスク群に属していたいずれかのディスク、例えばディスク６８に対してリビルドが行われ、ディスク６６とディスク６８とでＲＡＩＤが組まれる。【００４４】
このように、本実施形態においては、空きのホットスペアがない場合に、Ｄｉｒｔｙ状態のデータを保持するＲＬＵにディスクディグレートが発生した場合に、ＨｉｔデータのみのＲＡＩＤを解体して新規ホットスペアとして、その片ディスクディグレートしたＲＬＵに割り当てている。よって、空きのホットスペアがない場合に、Ｄｉｒｔｙ状態のデータを保持するＲＬＵにディスクディグレートが発生した場合に、早期に非冗長データを冗長化することができ、データを喪失する可能性を低減できる。【００４５】
本実施形態のディスクディグレードしたディスクに対する冗長性の復旧処理はソフトウェアとして構成することが可能である。図１０は、本実施形態をプログラムで実現する場合のハードウェア環境を示す図である。【００４６】
図１０において、ハードウェアとしてのコンピュータ（ディスクアレイ装置）は、ＣＰＵ７１、ＲＯＭ７２、ＲＡＭ７３、通信インターフェイス７４、記憶装置７５、がバス７７を介して接続されることで構成されている。【００４７】
図１０において、ＣＰＵ７１は、コンピュータ全体を制御し、ＲＡＭ５３において、例えば図３のディスクアレイ装置４０内の各部の処理を実現するプログラムが実行される。それら各部の処理を実現するプログラムは、ＲＯＭ７２や記憶装置７５に格納される。通信インターフェイス７４を介して他装置とプログラムやデータがやり取りされる。【００４８】
図１１は、プログラムのローディングを説明する図である。
本発明のディスクディグレードしたディスクに対する冗長性の復旧処理を行うプログラムは、ディスクアレイ装置９１内のＲＯＭや記憶装置からそのディスクアレイ装置９１のメモリにロードして実行することも、また、可搬型記憶媒体９２からディスクアレイ装置９１のメモリにロードして実行することも、また、外部記憶装置９３からネットワーク９４を介してディスクアレイ装置９１のメモリにロードして実行することも可能である。【００４９】
なお、以上の説明では、ディスクアレイ装置の冗長構成として、ミラーリングを採用したが、それ以外の冗長構成を採用することも可能である。
【図１】
2006085357.tif 000002
【図２】
2006085357.tif 000003
【図３】
2006085357.tif 000004
【図４】
2006085357.tif 000005
【図５】
2006085357.tif 000006
【図６】
2006085357.tif 000007
【図７】
2006085357.tif 000008
【図８】
2006085357.tif 000009
【図９】
2006085357.tif 000010
【図１０】
2006085357.tif 000011
【図１１】
2006085357.tif 000012
【国際調査報告】
2006085357.tif 000013
2006085357.tif 000014