(57)【要約】【課題】データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうこと。【解決手段】記憶装置１０の制御部１００が、ＦＣ−ＡＬビジー率、シェルフビジー率などのＲＡＩＤを構成するディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚの設置位置に係る通信状況の情報を記憶し、記憶した情報に基づいてデータを記憶する複数のディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚを選択し、選択した複数のディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに復元データをストライピングにより格納する。【選択図】        図１
2008040687.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御装置であって、
前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶手段と、
前記通信状況情報記憶手段により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択手段と、
前記記憶装置選択手段により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納手段と、
を備えたことを特徴とするデータ復元制御装置。
【請求項２】
前記復元データがストライピングにより格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付けるデータ復元時サイズ指定受付手段をさらに備え、前記データ格納手段は、前記データ復元時サイズ指定受付手段により指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて複数の記憶装置に復元データをストライピングにより格納する処理を実行することを特徴とする請求項１に記載のデータ復元制御装置。
【請求項３】
前記データ格納手段により複数の記憶装置にストライピングにより格納された復元データを１つの記憶装置に集約して格納するデータ集約手段をさらに備えたことを特徴とする請求項１または２に記載のデータ復元制御装置。
【請求項４】
異常が発生した記憶装置が別の記憶装置に交換されたことを検出する交換検出手段をさらに備え、前記データ集約手段は、前記交換検出手段により異常が発生した記憶装置が別の記憶装置に交換されたことが検出された場合に、該別の記憶装置に復元データを集約して格納することを特徴とする請求項３に記載のデータ復元制御装置。
【請求項５】
前記データ格納手段は、記憶装置に復元データをストライピングにより格納する場合に、他の記憶装置に格納された復元データを所定の順番で格納するために必要な領域を確保しつつ復元データを格納し、前記データ集約手段は、記憶装置に確保された領域に他の記憶装置に格納された復元データを格納することにより復元データを１つの記憶装置に集約して格納することを特徴とする請求項３または４に記載のデータ復元制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御装置に関し、特に、データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうことができるデータ復元制御装置に関する。
【背景技術】
【０００２】
従来、複数のディスク装置を組み合わせて構成されるＲＡＩＤ（Redundant Arrays of Independent Disks）装置において、あるディスク装置が故障した場合に、故障したディスク装置のデータを復元するリコンストラクション処理がおこなわれている。
【０００３】
このリコンストラクション処理では、故障したディスク装置以外のディスク装置に記憶されたデータとパリティとを読み出して排他的論理和演算をおこなうことにより故障したディスク装置のデータを復元する。
【０００４】
復元されたデータは別に確保されているディスク装置に記憶されるが、故障したディスク装置の容量が別に確保されているディスク装置の容量よりも小さいと、別に確保されているディスク装置に無駄な空き領域が生じてしまう。
【０００５】
そのため、ある容量のデータをディスク装置に記憶する場合に、複数のディスク装置を組み合わせてそのデータを記憶するのに必要な容量の論理記憶領域を構成し、構成された論理記憶領域にデータを記憶することにより、無駄な空き領域が発生することを防ぐ技術が開示されている（特許文献１を参照）。
【０００６】
また、別に確保されているディスク装置にデータを記憶するのではなく、すでにデータが記憶されているディスク装置の空き領域に復元したデータを分散して記憶することにより、ディスク装置を別に確保する必要性をなくして無駄な空き領域の発生を防ぐ技術が開示されている（特許文献２および特許文献３を参照）。
【０００７】
【特許文献１】特開２００５−１４９３７４号公報
【特許文献２】特開平６−２３０９０３号公報
【特許文献３】特開２０００−２００１５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術は、データを記憶するディスク装置にデータを送信する径路の通信速度が小さい場合などには、リコンストラクション処理に長い時間を要してしまうという問題があった。
【０００９】
たとえば、ＦＣ−ＡＬ（Fibre Channel-Arbitrated Loop）技術が採用されたＲＡＩＤ装置では、ファイバチャネルでループ状に接続されたディスク装置のグループが複数形成されている場合があるが、通信負荷が大きいファイバチャネルに接続されたディスク装置をリコンストラクション処理におけるデータの復元先として選択してしまうとその処理が高速におこなえなくなってしまう。
【００１０】
また、複数のディスク装置がスイッチに接続され、複数のディスク装置とスイッチとから構成されるグループが複数形成されている場合には、通信負荷が大きいスイッチに接続されているディスク装置をデータの復元先として選択してしまうと、ファイバチャネルの場合と同様にリコンストラクション処理が高速におこなえなくなる。また、ディスク装置が低速な場合も、リコンストラクション処理が高速におこなえない。
【００１１】
リコンストラクション処理中は、ＲＡＩＤ構成は縮退状態にあり、データの冗長性が保たれていないため、できるだけ速やかにリコンストラクション処理を完了する必要がある。そのため、データの復元先をいかに適切に選択し、リコンストラクション処理を高速におこなうことができるかが重要な課題となっている。
【００１２】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうことができるデータ復元制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、本発明は、ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御装置であって、前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶手段と、前記通信状況情報記憶手段により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択手段と、前記記憶装置選択手段により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納手段と、を備えたことを特徴とする。
【００１４】
また、本発明は、上記発明において、前記復元データを複数の記憶装置にストライピングにより格納する処理の優先度の情報を記憶するデータ格納優先度情報記憶手段をさらに備え、前記データ格納手段は、前記データ格納優先度情報記憶手段により記憶された優先度の情報に基づいて前記復元データを複数の記憶装置にストライピングにより格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データをストライピングにより格納する処理を優先させて実行すると判定した場合に該処理を実行することを特徴とする。
【００１５】
また、本発明は、上記発明において、前記復元データがストライピングにより格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付けるデータ復元時サイズ指定受付手段をさらに備え、前記データ格納手段は、前記データ復元時サイズ指定受付手段により指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて複数の記憶装置に復元データをストライピングにより格納する処理を実行することを特徴とする。
【００１６】
また、本発明は、上記発明において、前記データ格納手段により複数の記憶装置にストライピングにより格納された復元データを１つの記憶装置に集約して格納するデータ集約手段をさらに備えたことを特徴とする。
【００１７】
また、本発明は、上記発明において、前記復元データを１つの記憶装置に集約して格納する処理の優先度の情報を記憶するデータ集約優先度情報記憶手段をさらに備え、前記データ集約手段は、前記データ集約優先度情報記憶手段により記憶された優先度の情報に基づいて前記復元データを１つの記憶装置に集約して格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データを集約して格納する処理を優先させて実行すると判定した場合に当該処理を実行することを特徴とする。
【００１８】
また、本発明は、上記発明において、前記復元データが１つの記憶装置に集約して格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付けるデータ集約時サイズ指定受付手段をさらに備え、前記データ集約手段は、前記データ集約時サイズ指定受付手段により指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて１つの記憶装置に復元データを集約して格納する処理を実行することを特徴とする。
【００１９】
また、本発明は、上記発明において、記憶領域の初期化がなされ、異常が検出されていない記憶装置の情報を記憶する装置情報記憶手段をさらに備え、前記データ集約手段は、前記装置情報記憶手段に情報が記憶された記憶装置の中から集約された復元データを記憶する記憶装置を選択し、選択された記憶装置に復元データを集約して格納することを特徴とする。
【００２０】
また、本発明は、上記発明において、異常が発生した記憶装置が別の記憶装置に交換されたことを検出する交換検出手段をさらに備え、前記データ集約手段は、前記交換検出手段により異常が発生した記憶装置が別の記憶装置に交換されたことが検出された場合に、該別の記憶装置に復元データを集約して格納することを特徴とする。
【００２１】
また、本発明は、上記発明において、前記データ格納手段は、記憶装置に復元データをストライピングにより格納する場合に、他の記憶装置に格納された復元データを所定の順番で格納するために必要な領域を確保しつつ復元データを格納し、前記データ集約手段は、記憶装置に確保された領域に他の記憶装置に格納された復元データを格納することにより復元データを１つの記憶装置に集約して格納することを特徴とする。
【００２２】
また、本発明は、ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御方法であって、前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶工程と、前記通信状況情報記憶工程により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択工程と、前記記憶装置選択工程により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納工程と、を含んだことを特徴とする。
【００２３】
また、本発明は、ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御プログラムであって、前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶手順と、前記通信状況情報記憶手順により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択手順と、前記記憶装置選択手順により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶し、記憶した情報に基づいてデータを記憶する複数の記憶装置を選択し、選択した複数の記憶装置に復元データをストライピングにより格納することとしたので、データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうことができるという効果を奏する。
【００２５】
また、本発明によれば、復元データを複数の記憶装置にストライピングにより格納する処理の優先度の情報を記憶し、記憶した優先度の情報に基づいて復元データを複数の記憶装置にストライピングにより格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データをストライピングにより格納する処理を優先させて実行すると判定した場合に該処理を実行することとしたので、どの処理を優先して実行するかを設定することができ、優先度が低い処理が優先度の高い処理の実行を妨げることを防止することができるという効果を奏する。
【００２６】
また、本発明によれば、復元データがストライピングにより格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付け、指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて複数の記憶装置に復元データをストライピングにより格納する処理を実行することとしたので、復元データの格納処理の実行速度および他の処理への影響を調整することができるという効果を奏する。
【００２７】
また、本発明によれば、複数の記憶装置にストライピングにより格納された復元データを１つの記憶装置に集約して格納することとしたので、復元データを記憶する記憶装置の構成を単純化することにより容易に管理をおこなうことができるという効果を奏する。
【００２８】
また、本発明によれば、復元データを１つの記憶装置に集約して格納する処理の優先度の情報を記憶し、記憶した優先度の情報に基づいて復元データを１つの記憶装置に集約して格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データを集約して格納する処理を優先させて実行すると判定した場合に当該処理を実行することとしたので、どの処理を優先して実行するかを設定することができ、優先度が低い処理が優先度の高い処理の実行を妨げることを防止することができるという効果を奏する。
【００２９】
また、本発明によれば、復元データが１つの記憶装置に集約して格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付け、指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて１つの記憶装置に復元データを集約して格納する処理を実行することとしたので、復元データの集約処理の実行速度および他の処理への影響を調整することができるという効果を奏する。
【００３０】
また、本発明によれば、記憶領域の初期化がなされ、異常が検出されていない記憶装置の情報を記憶し、情報が記憶された記憶装置の中から集約された復元データを記憶する記憶装置を選択し、選択された記憶装置に復元データを集約して格納することとしたので、すぐに使用できる記憶装置を選択することができ、復元データの集約処理を効率的におこなうことができるという効果を奏する。
【００３１】
また、本発明によれば、異常が発生した記憶装置が別の記憶装置に交換されたことを検出し、異常が発生した記憶装置が別の記憶装置に交換されたことが検出された場合に、該別の記憶装置に復元データを集約して格納することとしたので、元のディスクアレイ構成を効率的に復元することができるという効果を奏する。
【００３２】
また、本発明によれば、記憶装置に復元データをストライピングにより格納する場合に、他の記憶装置に格納された復元データを所定の順番で格納するために必要な領域を確保しつつ復元データを格納し、記憶装置に確保された領域に他の記憶装置に格納された復元データを格納することにより復元データを１つの記憶装置に集約して格納することとしたので、復元データを１つの記憶装置に容易に集約することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に添付図面を参照して、本発明に係るデータ復元制御装置の好適な実施例を詳細に説明する。
【実施例】
【００３４】
まず、本発明に係るデータ復元制御処理の概念について説明する。図１は、本発明に係るデータ復元制御処理の概念を示す図である。図１に示すように、データ復元制御処理をおこなう記憶装置１０は、記憶装置１０に対してデータの記憶およびデータの読み出しを要求するホストコンピュータ２０ａ〜２０ｃとＬＡＮ（Local Area Network）３０またはＦＣ（Fibre Channel）を介して接続されている。
【００３５】
記憶装置１０は、ホストコンピュータ２０ａ〜２０ｃからデータの記憶要求を受け付けた場合にデータを記憶し、データの読み出し要求を受け付けた場合に記憶しているデータを読み出してホストコンピュータ２０ａ〜２０ｃに送信する装置である。
【００３６】
この記憶装置１０は、制御部１００および複数のシェルフ１１０，１２０，１３０，１４０を有する。ここで、制御部１００とシェルフ１１０，１２０とがファイバチャネルで接続され、ＦＣ−ＡＬ（Fibre Channel-Arbitrated Loop）１５０が形成されている。
【００３７】
また、制御部１００とシェルフ１３０とがファイバチャネルで接続され、ＦＣ−ＡＬ１６０が形成されている。さらに、制御部１００とシェルフ１４０とがファイバチャネルで接続され、ＦＣ−ＡＬ１７０が形成されている。
【００３８】
シェルフ１１０，１２０，１３０，１４０は、スイッチ１１１，１２１，１３１，１４１およびディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚを備えたディスクユニットである。
【００３９】
スイッチ１１１，１２１，１３１，１４１は、制御部１００と各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚとの間の接続を切り替えるスイッチである。
【００４０】
ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚは、データを記憶するディスク装置である。これらのディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚは、複数組み合わされてＲＡＩＤを構成する。
【００４１】
また、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚは、ユーザデータおよびパリティデータを記憶するディスク装置と、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚの故障が発生した場合にデータの復元先の候補となるディスク装置とに分けられる。
【００４２】
ここでは、データの復元先の候補となるディスク装置をスペアディスク装置（図１では記号「Ｓ」で表される）と呼ぶこととする。また、スペアディスク装置の設置位置は固定されておらず、任意のディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚをスペアディスク装置として設定することができる。
【００４３】
制御部１００は、各シェルフ１１０，１２０，１３０，１４０に設置されているディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに係るデータの記憶処理およびデータの読み出し処理を制御する制御部である。
【００４４】
このような記憶装置１０において、たとえば、ディスク装置１１２ｂが故障した場合を考える。この場合、制御部１００は、ディスク装置１１２ｂに記憶されていたデータをスペアディスク装置に復元するリコンストラクション処理を実行する。
【００４５】
具体的には、制御部１００は、各ＦＣ−ＡＬ１５０，１６０，１７０および各シェルフ１１０，１２０，１３０，１４０のビジー率の情報を取得する。そして、制御部１００は、ビジー率が低いＦＣ−ＡＬ、シェルフに属する複数のスペアディスク装置をデータの復元先として設定する。
【００４６】
図１の例では、ＦＣ−ＡＬ１７０およびシェルフ１４０のビジー率が他のＦＣ−ＡＬ１５０，１６０、シェルフ１１０，１２０，１３０よりも低いため、ＦＣ−ＡＬ１７０およびシェルフ１４０に属するスペアディスク装置１４２ａ，１４２ｂ，１４２ｃがデータの復元先として設定される。
【００４７】
その後、制御部１００は、データの復元先として設定したスペアディスク装置１４２ａ，１４２ｂ，１４２ｃに故障したディスク装置１１２ｂに記憶されていたデータを復元する。図２は、データ復元処理の概念について説明する図である。
【００４８】
ここで、ディスク装置１１２ａ〜１１２ｚはＲＡＩＤを構成しており、ディスク装置１１２ａ〜１１２ｚにはユーザデータに加えてユーザデータの復元に用いられるパリティが記憶されている。
【００４９】
図２に示すように、制御部１００は、故障したディスク装置１１２ｂ以外のディスク装置に記憶されたユーザデータとパリティデータを用いて故障したディスク装置１１２ｂのデータを復元し、復元したデータをデータの復元先として設定した複数のスペアディスク装置１４２ａ，１４２ｂ，１４２ｃにストライピングにより分散して格納することによりリコンストラクション処理を実行する。
【００５０】
このように、ＦＣ−ＡＬ１５０，１６０，１７０およびシェルフ１１０，１２０，１３０，１４０のビジー率の情報に基づいて復元データを記憶する複数のスペアディスク装置を選択し、選択したスペアディスク装置に復元データをストライピングにより分散して格納することとしたので、データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうことができる。
【００５１】
つぎに、本実施例に係る記憶装置１０の機能構成について説明する。図３は、本実施例に係る記憶装置１０の機能構成を示す図である。この記憶装置１０は、制御部１００およびシェルフ１１０，１２０，１３０，１４０を有する。制御部１００と複数のシェルフ１１０，１２０，１３０，１４０とはファイバチャネルで接続され、ＦＣ−ＡＬ１５０，１６０，１７０を構成している。
【００５２】
シェルフ１１０，１２０，１３０，１４０は、図１で説明したように、スイッチ１１１，１２１，１３１，１４１とディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚとから構成されるディスクユニットである。
【００５３】
制御部１００は、図１で説明したように、各シェルフ１１０，１２０，１３０，１４０に設置されているディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに係るデータの記憶処理およびデータの読み出し処理を制御する制御部である。
【００５４】
この制御部１００は、ＬＡＮ／ＦＣインターフェース部１０１、ＦＣ（Fibre Channel）インターフェース部１０２、記憶部１０３、データ記憶／読出制御部１０４、情報収集部１０５、データサイズ調整部１０６、リコンストラクション実行部１０７、設定情報受付部１０８を有する。
【００５５】
ＬＡＮ／ＦＣインターフェース部１０１は、図１に示したホストコンピュータ２０ａ〜２０ｃとの間でＬＡＮまたはＦＣ３０を介してデータの授受をおこなうネットワークインターフェースである。ＦＣインターフェース部１０２は、スイッチ１１１，１２１，１３１，１４１との間でファイバチャネルを介してデータの授受をおこなうネットワークインターフェースである。
【００５６】
記憶部１０３は、メモリなどの記憶デバイスである。この記憶部１０３は、システム構成情報１０３ａ、システム負荷情報１０３ｂ、リコンストラクション設定情報１０３ｃ、処理優先度設定情報１０３ｄ、データ集約用ディスク情報１０３ｅを記憶している。
【００５７】
システム構成情報１０３ａは、記憶装置１０の装置構成に係る情報である。図４は、図３に示したシステム構成情報１０３ａの一例を示す図である。図４に示すように、このシステム構成情報１０３ａには、ディスク装置ＩＤ、シェルフＩＤ、ＦＣ−ＡＬ−ＩＤ、ＲＡＩＤ−ＩＤ、スペアディスクフラグの情報が登録されている。
【００５８】
ディスク装置ＩＤは、各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚを識別する識別番号である。シェルフＩＤは、各シェルフ１１０，１２０，１３０，１４０を識別する識別番号であり、各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚが設置されているシェルフを示す情報である。
【００５９】
ＦＣ−ＡＬ−ＩＤは、ＦＣ−ＡＬ１５０，１６０，１７０を識別する識別番号であり、各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚが属するＦＣ−ＡＬを示す情報である。
【００６０】
ＲＡＩＤ−ＩＤは、各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚが属するＲＡＩＤを識別する識別番号である。たとえば、ＲＡＩＤ−ＩＤが「ｘ−ｙ」である場合には、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがｘ番目のＲＡＩＤ構成におけるｙ番目のディスク装置であることを示す。
【００６１】
スペアディスクフラグは、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがスペアディスク装置であるか否かを示すフラグである。このフラグが「０」である場合には、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがユーザデータが記憶されたディスク装置であり、「１」である場合にはディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがユーザデータの記憶に用いられていないスペアディスク装置であることを示す。
【００６２】
図３の説明に戻ると、システム負荷情報１０３ｂは、ＦＣ−ＡＬ１５０，１６０，１７０およびシェルフ１１０，１２０，１３０，１４０の負荷に係る情報である。図５は、図３に示したシステム負荷情報１０３ｂの一例を示す図である。
【００６３】
図５に示すように、このシステム負荷情報１０３ｂには、シェルフのシェルフＩＤ、ＦＣ−ＡＬのＦＣ−ＡＬ−ＩＤ、シェルフＩＤおよびＦＣ−ＡＬ−ＩＤに対応付けられたビジー率の情報が登録されている。
【００６４】
シェルフＩＤおよびＦＣ−ＡＬ−ＩＤは、図４で説明したシェルフＩＤおよびＦＣ−ＡＬ−ＩＤと同様のものである。ビジー率は、シェルフあるいはＦＣ−ＡＬにかかるデータ通信処理の負荷の大小を示す情報であり、シェルフあるいはＦＣ−ＡＬの最大通信処理能力に対する実際の通信処理量の割合である。
【００６５】
図３の説明に戻ると、リコンストラクション設定情報１０３ｃは、リコンストラクション処理をおこなう場合に参照される設定情報である。図６は、図３に示したリコンストラクション設定情報１０３ｃの一例を示す図である。
【００６６】
図６に示すように、このリコンストラクション設定情報１０３ｃには、データ復元時パリティ、データ復元時使用スペアディスク装置数、データ復元時出力先ライトサイズ、データ復元時入力元リードサイズ、データ集約時出力先ライトサイズ、データ集約時入力元リードサイズの情報が登録されている。
【００６７】
データ復元時パリティは、故障したディスク装置のデータを復元した復元データを複数のスペアディスク装置に格納する場合に、データをパリティ付きで格納するか否かを示す設定情報である。データ復元時使用スペアディスク装置数は、復元データを複数のスペアディスク装置に格納する場合に復元データの格納先として使用するスペアディスク装置の数の設定情報である。
【００６８】
なお、スペアディスク装置に復元データをパリティ付きで格納する場合には、データ復元時使用スペアディスク装置数は３以上に設定される。この場合、１つのスペアディスク装置にはパリティを格納し、残りの２以上のスペアディスク装置には復元データをストライピングにより格納する。これにより復元データをスペアディスク装置に高速に格納することができる。
【００６９】
スペアディスク装置に復元データをパリティ無しで格納する場合には、データ復元時使用スペアディスク装置数は２以上に設定される。この場合には、２以上のスペアディスク装置に復元データをストライピングにより格納することにより、復元データをスペアディスク装置に高速に格納する。
【００７０】
データ復元時出力先ライトサイズは、復元データをストライピングにより複数のスペアディスク装置に書き込む場合の１スペアディスク装置当たりのデータのライトサイズの情報である。
【００７１】
データ復元時入力元リードサイズは、復元データを生成するために用いられるユーザデータおよびパリティを複数のディスク装置から読み出す場合の１ディスク装置当たりのデータのリードサイズの情報である。
【００７２】
ここで、データ復元時出力先ライトサイズのみが指定された場合には、データ復元時入力元リードサイズは、
（データ復元時入力元リードサイズ）
＝（データ復元時出力先ライトサイズ）
×（復元データを記憶するスペアディスク装置の数）
に設定される。
【００７３】
すなわち、復元データは複数のスペアディスク装置にストライピングにより格納されるので、その復元データの生成に用いられるユーザデータおよびパリティを各ディスク装置から読み出す際のデータサイズは、１つのスペアディスク装置に復元データを書き込む際のデータサイズに復元データが記憶されるスペアディスク装置の数を掛け算した値となる。
【００７４】
また、データ復元時入力元リードサイズのみが指定された場合には、データ復元時出力先ライトサイズは、
（データ復元時出力先ライトサイズ）
＝（データ復元時入力元リードサイズ）
／（復元データを記憶するスペアディスク装置の数）
に設定される。
【００７５】
すなわち、復元データは複数のスペアディスク装置にストライピングにより格納されるので、１つのスペアディスク装置に復元データを書き込む際のデータサイズは、その復元データの生成に用いられるユーザデータおよびパリティを各ディスク装置から読み出す際のデータサイズを復元データが記憶されるスペアディスク装置の数で割り算した値となる。
【００７６】
また、データ復元時出力先ライトサイズおよびデータ復元時入力元リードサイズの両方が指定された場合には、１つのスペアディスク装置に復元データを書き込む際のデータサイズ、および、復元データの生成に用いられるユーザデータやパリティを各ディスク装置から読み出す際のデータサイズがデータ復元時出力先ライトサイズおよびデータ復元時入力元リードサイズにそれぞれ設定される。
【００７７】
ここで、ユーザデータやパリティを各ディスク装置から読み出す際のデータサイズから復元データを複数のスペアディスク装置に書き込む際のデータサイズへのデータサイズの変更は、データのバッファリングをおこなうことにより実行される。
【００７８】
データ集約時出力先ライトサイズは、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約する場合のデータのライトサイズの情報である。
【００７９】
ここで、上述した復元データの集約処理について説明する。図７は、復元データの集約処理の概念について説明する図である。図７に示すように、複数のスペアディスク装置１４２ａ，１４２ｂ，１４２ｃに復元データがストライピングにより格納された後、複数のスペアディスク装置１４２ａ，１４２ｂ，１４２ｃに記憶された復元データを１つのスペアディスク装置１４２ｄに集約化する処理がおこなわれる。
【００８０】
これにより、復元データを記憶するスペアディスク装置の構成が単純化され、維持や管理がしやすくなる。なお、復元データは複数のスペアディスク装置１４２ａ，１４２ｂ，１４２ｃにすでに記憶され、データの冗長性が確保できているため、この集約処理は比較的ゆっくりとおこなうことができる。
【００８１】
そして、１つのスペアディスク装置１４２ｄに復元データを集約した後、故障したディスク装置１１２ｂをスペアディスク装置１４２ｄと交換することにより、ＲＡＩＤ構成を故障発生前のＲＡＩＤ構成に復帰させることができる。
【００８２】
図６の説明に戻ると、データ集約時入力元リードサイズは、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約するため、復元データが記憶された各スペアディスク装置からデータが読み出される場合の１スペアディスク装置当たりのデータのリードサイズの情報である。
【００８３】
ここで、データ集約時出力先ライトサイズのみが指定された場合には、データ集約時入力元リードサイズは、
（データ集約時入力元リードサイズ）
＝（データ集約時出力先ライトサイズ）
／（復元データを記憶しているスペアディスク装置の数）
に設定される。
【００８４】
すなわち、復元データは複数のスペアディスク装置にストライピングにより分散して格納されており、その復元データが読み出されて１つのスペアディスク装置に書き込まれるため、各スペアディスク装置から復元データを読み出す際のデータサイズは、１つのスペアディスク装置に復元データを集約する際のデータサイズを復元データが記憶されているスペアディスク装置の数で割り算した値となる。
【００８５】
また、データ集約時入力元リードサイズのみが指定された場合には、データ集約時出力先ライトサイズは、
（データ集約時出力先ライトサイズ）
＝（データ集約時入力元リードサイズ）
×（復元データを記憶しているスペアディスク装置の数）
に設定される。
【００８６】
すなわち、復元データは複数のスペアディスク装置にストライピングにより分散して格納されており、その復元データが読み出されて１つのスペアディスク装置に書き込まれるため、１つのスペアディスク装置に復元データを集約する際のデータサイズは、各スペアディスク装置から復元データを読み出す際のデータサイズに復元データを記憶しているスペアディスク装置の数を掛け算した値となる。
【００８７】
また、データ集約時出力先ライトサイズおよびデータ集約時入力元リードサイズの両方が指定された場合には、１つのスペアディスク装置に復元データを集約する際のデータサイズ、および、復元データを各スペアディスク装置から読み出す際のデータサイズがデータ集約時出力先ライトサイズおよびデータ集約時入力元リードサイズにそれぞれ設定される。
【００８８】
ここで、復元データを各スペアディスク装置から読み出す際のデータサイズから復元データを１つのスペアディスク装置へ集約する際のデータサイズへのデータサイズの変更は、データのバッファリングをおこなうことにより実行される。
【００８９】
処理優先度設定情報１０３ｄは、記憶装置１０がおこなう処理の優先度の設定情報である。図８は、図３に示した処理優先度設定情報１０３ｄの一例を示す図である。図８に示すように、この処理優先度設定情報１０３ｄには、処理種別および優先度の情報が登録されている。
【００９０】
処理種別は、記憶装置１０がおこなう処理の種別の情報である。優先度は、各処理を実行する際の優先度の順位である。この例では、数字が小さいほど優先度が高いことを示している。優先度が高い処理ほど、優先的に処理が実行される。
【００９１】
なお、ここでは、優先度を順位で設定することとしているが、比率で設定することとしてもよい。具体的には、優先度が各処理の実行に制御部１００が費やす処理時間の比率で設定される。この場合、各処理は、一定の時間内で制御部１００が各処理に費やす処理時間が設定された比率になるよう実行される。
【００９２】
図３の説明に戻ると、データ集約用ディスク情報１０３ｅは、ユーザデータを記憶しているディスク装置の故障時に複数のスペアディスク装置に復元データがストライピングにより記憶され、復元データを再度１つのスペアディスク装置に集約する場合の復元データの集約先となるスペアディスク装置の情報である。
【００９３】
図９は、図３に示したデータ集約用ディスク情報１０３ｅの一例を示す図である。図９に示すように、このデータ集約用ディスク情報１０３ｅには、ディスク装置ＩＤの情報が登録されている。
【００９４】
このディスク装置ＩＤは、記憶領域の初期化がなされ、かつ、装置故障が発生しているか否かを調べるヘルスチェックが実施されており、ヘルスチェックの結果装置故障の発生が検出されていないスペアディスク装置を識別する識別番号である。
【００９５】
データ集約用ディスク情報１０３ｅにディスク装置ＩＤが登録されているスペアディスク装置は、復元データをストライピングにより格納する際の格納先のスペアディスク装置からは除外される。
【００９６】
図３の説明に戻ると、データ記憶／読出制御部１０４は、ホストコンピュータ２０ａ〜２０ｃからデータの記憶要求あるいはデータの読み出し要求を受け付けた場合にディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに対するデータの記憶制御およびデータの読み出し制御をおこなう制御部である。
【００９７】
具体的には、データ記憶／読出制御部１０４は、システム構成情報１０３ａを読み出してディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚのＲＡＩＤ構成および設置位置（所属するシェルフ、ＦＣ−ＡＬ）の情報を取得する。
【００９８】
そして、データ記憶／読出制御部１０４は、取得した情報に基づいてディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに対するデータの記憶制御およびデータの読み出し制御をおこなう。
【００９９】
情報収集部１０５は、記憶装置１０の稼動状況に係る情報を収集する処理部である。具体的には、情報収集部１０５は、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがユーザデータを記憶するために用いられているか否かをデータ記憶／読出制御部１０４からデータの記憶情報を取得することにより検出し、その検出結果に基づいてシステム構成情報のスペアディスクフラグを「０」または「１」に設定する。
【０１００】
また、情報収集部１０５は、各シェルフ１１０，１２０，１３０，１４０およびＦＣ−ＡＬ１５０，１６０，１７０のビジー率の情報を、データ記憶／読出制御部１０４の処理状況を監視することにより収集し、収集した情報を記憶部１０３にシステム負荷情報１０３ｂとして格納する。
【０１０１】
また、情報収集部１０５は、ＲＡＩＤを構成しているディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに装置故障が発生した場合にそれを検出し、リコンストラクション実行部１０７に装置故障の発生を通知する。
【０１０２】
さらに、情報収集部１０５は、データ集約用ディスク情報１０３ｅにディスク装置ＩＤの情報が登録されたスペアディスク装置に対して、ヘルスパケットを送信し、装置故障が発生しているか否かを調べる。
【０１０３】
そして、装置故障が発生したスペアディスク装置を検出した場合には、情報収集部１０５は、データ集約用ディスク情報１０３ｅからそのスペアディスク装置のディスク装置ＩＤを削除し、そのスペアディスク装置を復元データの集約先のスペアディスク装置の候補から除外する。
【０１０４】
データサイズ調整部１０６は、リコンストラクション実行時に、リコンストラクション設定情報１０３ｃにおけるデータ復元時ライトサイズ、データ復元時リードサイズ、データ集約時ライトサイズ、データ集約時リードサイズの情報に基づいて、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚにデータを書き込む際のデータサイズおよびディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚからデータを読み出す際のデータサイズを調整する処理部である。
【０１０５】
具体的には、データサイズ調整部１０６は、図６で説明したようにして、復元データをストライピングにより複数のスペアディスク装置に書き込む場合の１スペアディスク装置当たりのデータのライトサイズ、および、復元データを生成するために用いられるユーザデータおよびパリティを複数のディスク装置から読み出す場合の１ディスク装置当たりのデータのリードサイズを設定する。
【０１０６】
なお、リコンストラクション設定情報１０３ｃにデータ復元時ライトサイズおよびデータ復元時リードサイズが設定されていない場合には、データサイズ調整部１０６は、あらかじめ設定されているデフォルト値にライトサイズおよびリードサイズを設定する。
【０１０７】
また、データサイズ調整部１０６は、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約する場合のデータのライトサイズ、および、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約する場合に復元データが記憶された各スペアディスク装置から読み出されるデータの１スペアディスク装置当たりのリードサイズを設定する。
【０１０８】
リコンストラクション設定情報１０３ｃにデータ集約時ライトサイズおよびデータ集約時リードサイズが設定されていない場合には、データサイズ調整部１０６は、あらかじめ設定されているデフォルト値にライトサイズおよびリードサイズを設定する。
【０１０９】
リコンストラクション実行部１０７は、情報収集部１０５によりＲＡＩＤを構成しているディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに故障の発生が検出された場合に、故障の発生が検出されたディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに記憶されているデータを復元し、元のＲＡＩＤ構成を再構築するリコンストラクション処理を実行する処理部である。
【０１１０】
具体的には、リコンストラクション実行部１０７は、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚの故障発生が検出された場合に、システム負荷情報１０３ｂを参照し、ビジー率が低いＦＣ−ＡＬ１５０，１６０，１７０、シェルフ１１０，１２０，１３０，１４０に属する複数のスペアディスク装置をデータの復元先として設定する。
【０１１１】
その際、リコンストラクション実行部１０７は、図６に示したリコンストラクション設定情報１０３ｃに登録されているデータ復元時使用スペアディスク装置数の情報を取得し、その数だけスペアディスク装置をデータの復元先として設定する。
【０１１２】
そして、リコンストラクション実行部１０７は、故障したディスク装置以外のディスク装置からユーザデータおよびパリティを読み出し、読み出したユーザデータおよびパリティを用いてデータを復元する。さらに、リコンストラクション実行部１０７は、復元したデータをデータの復元先として設定したスペアディスク装置にストライピングにより格納する。
【０１１３】
ここで、図６に示したリコンストラクション設定情報１０３ｃのデータ復元時パリティが、「パリティ有」に設定されている場合には、リコンストラクション実行部１０７は、復元したデータに対するパリティを生成し、復元したデータおよびパリティをデータの復元先として設定したスペアディスク装置にストライピングにより格納する。
【０１１４】
さらに、リコンストラクション実行部１０７は、復元データをスペアディスク装置に格納後、図９に示したデータ集約用ディスク情報１０３ｅを参照して複数のスペアディスク装置に分散して記憶された復元データを集約するスペアディスク装置を１つ選択する。そして、リコンストラクション実行部１０７は、選択したスペアディスク装置に復元データを集約する処理をおこなう。
【０１１５】
なお、復元データの格納処理および復元データの集約処理をおこなう場合には、リコンストラクション実行部１０７は、データサイズ調整部１０６により設定されたデータサイズでデータの読み出しおよび書き込みをおこなう。
【０１１６】
復元データの集約処理が完了した場合には、リコンストラクション実行部１０７は、故障したディスク装置を復元データを集約したスペアディスク装置と交換する。具体的には、リコンストラクション実行部１０７は、システム構成情報１０３ａにおいて、復元データが集約されたスペアディスク装置のＲＡＩＤ−ＩＤを故障したディスク装置のＲＡＩＤ−ＩＤに設定し、故障したディスク装置のＲＡＩＤ−ＩＤの情報を削除することにより元のＲＡＩＤ構成を復元する。
【０１１７】
そして、リコンストラクション実行部１０７は、システム構成情報１０３ａにおいて復元データが集約されたスペアディスク装置のスペアディスクフラグを「０」に設定し、スペアディスク装置からユーザデータを記憶するディスク装置へディスク装置の状態を変更する。なお、復元データを記憶していた複数のスペアディスク装置は次回のリコンストラクション処理のためにスペアディスク装置として再度用いられる。
【０１１８】
また、リコンストラクション実行部１０７は、図８に示した処理優先度設定情報１０３ｄを参照し、復元データ格納処理、あるいは、復元データ集約処理の実行中にホストコンピュータ２０ａ〜２０ｃからデータ記憶／読出処理の実行要求を受け付けた場合には、優先度が高い処理を優先的に実行する。
【０１１９】
図８の例では、データ記憶／読出処理の優先度が復元データ格納処理、あるいは、復元データ集約処理の優先度よりも高いので、リコンストラクション実行部１０７は、復元データ格納処理、あるいは、復元データ集約処理を中断し、データ記憶／読出制御部１０４にデータ記憶／読出処理を実行させる。
【０１２０】
また、ここでは、復元データを１つのスペアディスク装置に集約し、その後、故障したディスク装置を復元データを集約したスペアディスク装置と交換することとしているが、復元データの集約処理の完了前に故障したディスク装置がスペアディスク装置と交換された場合には、そのスペアディスク装置に復元データを集約するようにする。
【０１２１】
図１０は、故障したディスク装置が交換された場合の復元データ集約処理について説明する図である。この場合、リコンストラクション実行部１０７は、集約処理が完了する以前に故障したディスク装置がスペアディスク装置１１２ｂ’に交換されたか否かを検出する。
【０１２２】
具体的には、リコンストラクション実行部１０７は、システム構成情報１０３ａにおいて、復元データが集約されたスペアディスク装置のＲＡＩＤ−ＩＤが故障したディスク装置のＲＡＩＤ−ＩＤに設定され、さらに故障したディスク装置のＲＡＩＤ−ＩＤの情報が削除されたか否かを調べる。
【０１２３】
そして、故障したディスク装置がスペアディスク装置１１２ｂ’に交換されたことを検出した場合に、リコンストラクション実行部１０７は、いままでおこなっていた集約処理を中止し、スペアディスク装置１１２ｂ’に復元データを集約する処理を実行する。
【０１２４】
また、図７では復元データの集約先を復元データを記憶しているスペアディスク装置１４２ａ〜１４２ｃとは別のスペアディスク装置１４２ｄに設定したが、復元データを記憶しているスペアディスク装置１４２ａ〜１４２ｃの１つを復元データの集約先として設定することもできる。
【０１２５】
図１１は、各スペアディスク装置における復元データの記憶位置について説明する図である。図１１には、一例として、３つのスペアディスク装置１４２ａ〜１４２ｃの記憶領域２００ａ〜２００ｃに記憶された復元データをスペアディスク装置１４２ａの記憶領域２００ａに集約する場合が示されている。
【０１２６】
リコンストラクション実行部１０７は、スペアディスク装置１４２ａ〜１４２ｃを制御して各記憶領域２００ａ〜２００ｃに復元データをストライピングにより記憶させる場合に、各記憶領域２００ａ〜２００ｃにおいて記憶位置が同じにならないように記憶位置をずらしながら各データＡ〜Ｉを記憶させる。
【０１２７】
具体的には、リコンストラクション実行部１０７は、スペアディスク装置１４２ａにデータＡを記憶させた後、記憶領域２００ｂに記憶されるデータＢおよび記憶領域２００ｃに記憶されるデータＣが記憶できるだけの記憶領域を記憶領域２００ａに確保する。
【０１２８】
そして、リコンストラクション実行部１０７は、スペアディスク装置１４２ａにデータＤを記憶させる場合に、確保した記憶領域の後にデータＤを記憶させる。リコンストラクション実行部１０７は、スペアディスク装置１４２ａ〜１４２ｃを制御して、このような処理をすべての記憶領域２００ａ〜２００ｃに対して実行する。
【０１２９】
そして、復元データの集約時には、リコンストラクション実行部１０７は、記憶領域２００ａ〜２００ｃのうちの１つの記憶領域２００ａを選択し、ここで選択されなかった記憶領域２００ｂ，２００ｃに記憶されているデータ（データＢ、データＣ、データＥ、データＦ、データＨ、データＩ）を選択された記憶領域において確保されている記憶領域に記憶させ、データＡ〜Ｉを１つの記憶領域２００ａに集約させる。
【０１３０】
このように、記憶領域２００ａ〜２００ｃにおける位置をずらしてデータＡ〜Ｉを記憶することにより、１つのスペアディスク装置１４２ａにデータＡ〜Ｉを集約しやすくすることができる。なお、ここでは、スペアディスク装置１４２ａにデータＡ〜Ｉを集約することとしているが、スペアディスク装置１４２ｂ，１４２ｃにも同様にしてデータＡ〜Ｉを集約することができる。
【０１３１】
図３の説明に戻ると、設定情報受付部１０８は、記憶装置１０におけるデータの記憶や読み出し、リコンストラクション処理の制御などに係る設定情報を他の装置からＬＡＮまたはＦＣ３０を介して受け付け、記憶部１０３にシステム構成情報１０３ａ、リコンストラクション設定情報１０３ｃ、処理優先度設定情報１０３ｄ、データ集約用ディスク情報１０３ｅとして記憶する処理部である。
【０１３２】
つぎに、本実施例に係るリコンストラクション処理の処理手順について説明する。図１２は、本実施例に係るリコンストラクション処理の処理手順について説明する図である。図１２に示すように、記憶装置１０の情報収集部１０５は、各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚの監視をおこない（ステップＳ１０１）、ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに故障が発生したか否かを調べる（ステップＳ１０２）。
【０１３３】
ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに故障が発生していない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０１に移行して、情報収集部１０５は、各ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚの監視を継続する。
【０１３４】
ディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚに故障が発生した場合には（ステップＳ１０２，Ｙｅｓ）、リコンストラクション実行部１０７は、データの復元先となる複数のスペアディスク装置を選択する処理をおこなう（ステップＳ１０３）。この処理については、図１３を用いて後に詳しく説明する。
【０１３５】
その後、リコンストラクション実行部１０７は、選択された複数のスペアディスク装置にデータを復元する際のデータのリードサイズ／ライトサイズを設定する処理をおこなう（ステップＳ１０４）。この処理については、図１４を用いて後に詳しく説明する。
【０１３６】
そして、リコンストラクション実行部１０７は、記憶部１０３から処理優先度設定情報１０３ｄを読み込み（ステップＳ１０５）、複数選択されたスペアディスク装置に対するデータ復元処理を処理の優先度に応じて実行する（ステップＳ１０６）。
【０１３７】
具体的には、リコンストラクション実行部１０７は、記憶装置１０がデータの記憶要求やデータの読み出し要求をホストコンピュータ２０ａ〜２０ｃから受け付けた場合に、処理優先度設定情報１０３ｄに設定された優先度にしたがって、データ復元処理に加え、データの記憶処理や読み出し処理を実行する。
【０１３８】
その後、リコンストラクション実行部１０７は、複数のスペアディスク装置に記憶された復元データを集約する際のデータのリードサイズ／ライトサイズを設定する処理をおこなう（ステップＳ１０７）。この処理については、図１５を用いて後に詳しく説明する。
【０１３９】
そして、リコンストラクション実行部１０７は、データを集約するスペアディスク装置を１つ選択し（ステップＳ１０８）、選択されたスペアディスク装置に対するデータ集約処理を処理の優先度に応じて実行する（ステップＳ１０９）。
【０１４０】
具体的には、リコンストラクション実行部１０７は、記憶装置１０がデータの記憶要求やデータの読み出し要求をホストコンピュータ２０ａ〜２０ｃから受け付けた場合に、処理優先度設定情報１０３ｄに設定された優先度にしたがって、データ集約処理に加え、データの記憶処理や読み出し処理を実行する。
【０１４１】
その後、リコンストラクション実行部１０７は、データ集約処理が完了したか否かを調べる（ステップＳ１１０）。データ集約処理が完了した場合には（ステップＳ１１０，Ｙｅｓ）、リコンストラクション実行部１０７は、故障したディスク装置をＲＡＩＤ構成から切り離して復元データが集約されたスペアディスク装置をＲＡＩＤ構成に組み込む処理を実行し（ステップＳ１１１）、このリコンストラクション処理を終了する。
【０１４２】
具体的には、リコンストラクション実行部１０７は、システム構成情報１０３ａにおいて、復元データが集約されたスペアディスク装置のＲＡＩＤ−ＩＤを故障したディスク装置のＲＡＩＤ−ＩＤに設定し、さらに故障したディスク装置のＲＡＩＤ−ＩＤの情報を削除することにより元のＲＡＩＤ構成を復元する。
【０１４３】
また、リコンストラクション実行部１０７は、システム構成情報１０３ａにおいて復元データが集約されたスペアディスク装置のスペアディスクフラグを「０」に設定し、スペアディスク装置からユーザデータを記憶するディスク装置へディスク装置の状態を変更する。
【０１４４】
データ集約処理が完了していない場合には（ステップＳ１１０，Ｎｏ）、リコンストラクション実行部１０７は、システム構成情報１０３ａが更新されるなどして、故障したディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがスペアディスク装置と交換されたか否かを調べる（ステップＳ１１２）。
【０１４５】
故障したディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがスペアディスク装置と交換されていない場合には（ステップＳ１１２，Ｎｏ）、ステップＳ１０９に移行してそれ以後の処理を継続する。
【０１４６】
故障したディスク装置１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚがスペアディスク装置と交換された場合には（ステップＳ１１２，Ｙｅｓ）、リコンストラクション実行部１０７は、いままでおこなっていたデータ集約処理を中止し、交換後のスペアディスク装置に対するデータ集約処理を処理の優先度に応じて実行し（ステップＳ１１３）、このリコンストラクション処理を終了する。
【０１４７】
ここで、リコンストラクション実行部１０７は、記憶装置１０がデータの記憶要求やデータの読み出し要求をホストコンピュータ２０ａ〜２０ｃから受け付けた場合に、処理優先度設定情報１０３ｄに設定された優先度にしたがって、データ集約処理に加え、データの記憶処理や読み出し処理を実行する。
【０１４８】
つぎに、図１２に示したデータ復元先スペアディスク装置選択処理の処理手順について説明する。図１３は、図１２に示したデータ復元先スペアディスク装置選択処理の処理手順について説明する図である。
【０１４９】
図１３に示すように、記憶装置１０のリコンストラクション実行部１０７は、システム構成情報１０３ａからスペアディスク装置の情報を読み込む（ステップＳ２０１）。具体的には、リコンストラクション実行部１０７は、システム構成情報１０３ａにおいて「１」のスペアディスクフラグに対応するディスク装置ＩＤ、シェルフＩＤ、ＦＣ−ＡＬ−ＩＤを読み込む。
【０１５０】
そして、リコンストラクション実行部１０７は、リコンストラクション設定情報１０３ｃからデータを複数のスペアディスク装置に復元する際にパリティを書き込むか否かを示すデータ復元時パリティの設定情報、および、データの復元先となるスペアディスク装置の数を示すデータ復元時使用スペアディスク装置数の設定情報を読み込む（ステップＳ２０２）。
【０１５１】
続いて、リコンストラクション実行部１０７は、ステップＳ２０１で読み込んだＦＣ−ＡＬ−ＩＤおよびシェルフＩＤの情報を用いて、システム負荷情報１０３ｂから各スペアディスク装置が属するＦＣ−ＡＬおよびシェルフのビジー率の情報を読み込む（ステップＳ２０３）。
【０１５２】
そして、リコンストラクション実行部１０７は、スペアディスク装置の数がデータ復元時使用スペアディスク装置数以上となるまでビジー率が低いＦＣ−ＡＬおよびシェルフに属するスペアディスク装置を選択する（ステップＳ２０４）。
【０１５３】
具体的には、リコンストラクション実行部１０７は、ＦＣ−ＡＬのビジー率およびシェルフのビジー率にそれぞれＦＣ−ＡＬビジー率閾値およびシェルフビジー率閾値を設け、ＦＣ−ＡＬのビジー率がＦＣ−ＡＬビジー率閾値よりも小さいＦＣ−ＡＬ、および、シェルフのビジー率がシェルフビジー率閾値よりも小さいシェルフに属するスペアディスク装置を選択する。
【０１５４】
そして、リコンストラクション実行部１０７は、スペアディスク装置の数がデータ復元時使用スペアディスク装置数以上であるか否かを調べ、スペアディスク装置の数がデータ復元時使用スペアディスク装置数以上でない場合には、ＦＣ−ＡＬビジー率閾値およびシェルフビジー率閾値をより大きな値とし、新たにスペアディスク装置を選択する。
【０１５５】
リコンストラクション実行部１０７は、選択したスペアディスク装置の数がデータ復元時使用スペアディスク装置数以上となるまでこのような処理を繰り返す。なお、スペアディスク装置の選択方法は、これに限定されず、他の方法を用いることとしてもよい。
【０１５６】
その後、リコンストラクション実行部１０７は、選択されたスペアディスク装置の数が使用スペアディスク装置数よりも大きいか否かを調べる（ステップＳ２０５）。スペアディスク装置の数が使用スペアディスク装置数よりも大きい場合には（ステップＳ２０５，Ｙｅｓ）、リコンストラクション実行部１０７は、ＦＣ−ＡＬやシェルフができるだけ異なるように使用スペアディスク装置数だけスペアディスク装置を選択する（ステップＳ２０６）。
【０１５７】
具体的には、リコンストラクション実行部１０７は、ＦＣ−ＡＬおよびシェルフが異なるスペアディスク装置が複数選択できる場合には、それらのスペアディスク装置を選択する。
【０１５８】
そして、選択されたスペアディスク装置の数が使用スペアディスク装置数に満たない場合には、リコンストラクション実行部１０７は、ＦＣ−ＡＬあるいはシェルフのいずれかが異なるスペアディスク装置を選択する。
【０１５９】
それでもスペアディスク装置の数が使用スペアディスク装置数に満たない場合には、リコンストラクション実行部１０７は、ＦＣ−ＡＬおよびシェルフが同じスペアディスク装置を選択する。
【０１６０】
このようにして、使用スペアディスク装置数だけスペアディスク装置を選択すると、リコンストラクション実行部１０７は、選択したスペアディスク装置をデータの復元先のスペアディスク装置として設定し（ステップＳ２０７）、このデータ復元先スペアディスク装置選択処理を終了する。
【０１６１】
ステップＳ２０５において、スペアディスク装置の数が使用スペアディスク装置数よりも大きくない場合、すなわち、スペアディスク装置の数が使用スペアディスク装置数に等しい場合には（ステップＳ２０５，Ｎｏ）、そのままステップＳ２０７に移行して、リコンストラクション実行部１０７は、ステップＳ２０４で選択したスペアディスク装置をデータの復元先のスペアディスク装置として設定し、このデータ復元先スペアディスク装置選択処理を終了する。
【０１６２】
つぎに、図１２に示したデータ復元時データリードサイズ／ライトサイズ設定処理の処理手順について説明する。図１４は、図１２に示したデータ復元時データリードサイズ／ライトサイズ設定処理の処理手順について説明する図である。
【０１６３】
図１４に示すように、まず、記憶装置１０のデータサイズ調整部１０６は、リコンストラクション設定情報１０３ｃを読み込み（ステップＳ３０１）、リコンストラクション設定情報１０３ｃにデータ復元時出力先ライトサイズおよびデータ復元時入力元リードサイズの両方が指定されているか否かを調べる（ステップＳ３０２）。
【０１６４】
リコンストラクション設定情報１０３ｃにデータ復元時ライトサイズおよびデータ復元時入力元リードサイズの両方が指定されている場合には（ステップＳ３０２，Ｙｅｓ）、データサイズ調整部１０６は、復元データをストライピングにより複数のスペアディスク装置に書き込む場合の１スペアディスク装置当たりのデータの出力データサイズ、および、復元データを生成するために用いられるユーザデータおよびパリティを複数のディスク装置から読み出す場合の１ディスク装置当たりのデータの入力データサイズをそれぞれデータ復元時出力先ライトサイズ、および、データ復元時入力元リードサイズに設定し（ステップＳ３０３）、このデータ復元時データリードサイズ／ライトサイズ設定処理を終了する。
【０１６５】
ステップＳ３０２において、リコンストラクション設定情報１０３ｃにデータ復元時出力先ライトサイズおよびデータ復元時入力元リードサイズの両方が指定されていない場合には（ステップＳ３０２，Ｎｏ）、データサイズ調整部１０６は、リコンストラクション設定情報１０３ｃにデータ復元時出力先ライトサイズのみが指定されているか否かを調べる（ステップＳ３０４）。
【０１６６】
リコンストラクション設定情報１０３ｃにデータ復元時出力先ライトサイズのみが指定されている場合には（ステップＳ３０４，Ｙｅｓ）、データサイズ調整部１０６は、復元データをストライピングにより複数のスペアディスク装置に書き込む場合の１スペアディスク装置当たりのデータの出力データサイズをデータ復元時出力先ライトサイズに設定する（ステップＳ３０５）。
【０１６７】
そして、データサイズ調整部１０６は、復元データを生成するために用いられるユーザデータおよびパリティを複数のディスク装置から読み出す場合の１ディスク装置当たりのデータの入力データサイズを（データ復元時出力先ライトサイズ）×（復元データを記憶するスペアディスク装置の数）に設定し（ステップＳ３０６）、このデータ復元時データリードサイズ／ライトサイズ設定処理を終了する。
【０１６８】
ステップＳ３０４において、リコンストラクション設定情報１０３ｃにデータ復元時出力先ライトサイズのみが指定されている状態以外の場合には（ステップＳ３０４，Ｎｏ）、データサイズ調整部１０６は、リコンストラクション設定情報１０３ｃにデータ復元時入力元リードサイズのみが指定されているか否かを調べる（ステップＳ３０７）。
【０１６９】
リコンストラクション設定情報１０３ｃにデータ復元時入力元リードサイズのみが指定されている場合には（ステップＳ３０７，Ｙｅｓ）、データサイズ調整部１０６は、復元データを生成するために用いられるユーザデータおよびパリティを複数のディスク装置から読み出す場合の１ディスク装置当たりのデータの入力データサイズをデータ復元時入力元リードサイズに設定する（ステップＳ３０８）。
【０１７０】
そして、データサイズ調整部１０６は、復元データをストライピングにより複数のスペアディスク装置に書き込む場合の１スペアディスク装置当たりのデータの出力データサイズを（データ復元時入力元リードサイズ）／（復元データを記憶するスペアディスク装置の数）に設定し（ステップＳ３０９）、このデータ復元時データリードサイズ／ライトサイズ設定処理を終了する。
【０１７１】
ステップＳ３０７において、リコンストラクション設定情報１０３ｃにデータ復元時入力元リードサイズのみが指定されている状態以外の場合には（ステップＳ３０７，Ｎｏ）、データサイズ調整部１０６は、出力データサイズおよび入力データサイズをあらかじめ指定されているデフォルト値に設定し（ステップＳ３１０）、このデータ復元時データリードサイズ／ライトサイズ設定処理を終了する。
【０１７２】
つぎに、図１２に示したデータ集約時データリードサイズ／ライトサイズ設定処理の処理手順について説明する。図１５は、図１２に示したデータ集約時データリードサイズ／ライトサイズ設定処理の処理手順について説明する図である。
【０１７３】
図１５に示すように、まず、記憶装置１０のデータサイズ調整部１０６は、リコンストラクション設定情報１０３ｃを読み込み（ステップＳ４０１）、リコンストラクション設定情報１０３ｃにデータ集約時出力先ライトサイズおよびデータ集約時入力元リードサイズの両方が指定されているか否かを調べる（ステップＳ４０２）。
【０１７４】
リコンストラクション設定情報１０３ｃにデータ集約時ライトサイズおよびデータ集約時入力元リードサイズの両方が指定されている場合には（ステップＳ４０２，Ｙｅｓ）、データサイズ調整部１０６は、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約する場合のデータの出力データサイズ、および、復元データが記憶された各スペアディスク装置から復元データが読み出される場合の１スペアディスク装置当たりのデータの入力データサイズをそれぞれデータ集約時出力先ライトサイズ、および、データ集約時入力元リードサイズに設定し（ステップＳ４０３）、このデータ集約時データリードサイズ／ライトサイズ設定処理を終了する。
【０１７５】
ステップＳ４０２において、リコンストラクション設定情報１０３ｃにデータ集約時出力先ライトサイズおよびデータ集約時入力元リードサイズの両方が指定されていない場合には（ステップＳ４０２，Ｎｏ）、データサイズ調整部１０６は、リコンストラクション設定情報１０３ｃにデータ集約時出力先ライトサイズのみが指定されているか否かを調べる（ステップＳ４０４）。
【０１７６】
リコンストラクション設定情報１０３ｃにデータ集約時出力先ライトサイズのみが指定されている場合には（ステップＳ４０４，Ｙｅｓ）、データサイズ調整部１０６は、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約する場合のデータの出力データサイズをデータ集約時出力先ライトサイズに設定する（ステップＳ４０５）。
【０１７７】
そして、データサイズ調整部１０６は、復元データが記憶された各スペアディスク装置から復元データが読み出される場合の１スペアディスク装置当たりのデータの入力データサイズを（データ集約時出力先ライトサイズ）／（復元データを記憶しているスペアディスク装置の数）に設定し（ステップＳ４０６）、このデータ集約時データリードサイズ／ライトサイズ設定処理を終了する。
【０１７８】
ステップＳ４０４において、リコンストラクション設定情報１０３ｃにデータ集約時出力先ライトサイズのみが指定されている状態以外の場合には（ステップＳ４０４，Ｎｏ）、データサイズ調整部１０６は、リコンストラクション設定情報１０３ｃにデータ集約時入力元リードサイズのみが指定されているか否かを調べる（ステップＳ４０７）。
【０１７９】
リコンストラクション設定情報１０３ｃにデータ集約時入力元リードサイズのみが指定されている場合には（ステップＳ４０７，Ｙｅｓ）、データサイズ調整部１０６は、復元データが記憶された各スペアディスク装置から復元データが読み出される場合の１スペアディスク装置当たりのデータの入力データサイズをデータ集約時入力元リードサイズに設定する（ステップＳ４０８）。
【０１８０】
そして、データサイズ調整部１０６は、ストライピングにより複数のスペアディスク装置に記憶された復元データを１つのスペアディスク装置に集約する場合のデータの出力データサイズを（データ集約時入力元リードサイズ）×（復元データを記憶しているスペアディスク装置の数）に設定し（ステップＳ４０９）、このデータ復元時データリードサイズ／ライトサイズ設定処理を終了する。
【０１８１】
ステップＳ４０７において、リコンストラクション設定情報１０３ｃにデータ集約時入力元リードサイズのみが指定されている状態以外の場合には（ステップＳ４０７，Ｎｏ）、データサイズ調整部１０６は、出力データサイズおよび入力データサイズをあらかじめ指定されているデフォルト値に設定し（ステップＳ４１０）、このデータ集約時データリードサイズ／ライトサイズ設定処理を終了する。
【０１８２】
上述してきたように、本実施例では、記憶部１０３が、ＦＣ−ＡＬビジー率、シェルフビジー率などのＲＡＩＤを構成するディスク装置の設置位置に係る通信状況の情報をシステム負荷情報１０３ｂとして記憶し、リコンストラクション実行部１０７が、記憶部１０３に記憶された情報に基づいてデータを記憶する複数のスペアディスク装置を選択し、選択した複数のスペアディスク装置に復元データをストライピングにより格納することとしたので、データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうことができる。
【０１８３】
また、本実施例では、記憶部１０３が、復元データを複数のディスク装置にストライピングにより格納する処理の優先度の情報を処理優先度設定情報１０３ｄとして記憶し、リコンストラクション実行部１０７が、記憶部１０３に記憶された優先度の情報に基づいて復元データを複数のスペアディスク装置にストライピングにより格納する処理を他の処理（たとえば、通常のデータの記憶／読出処理など）よりも優先させて実行するか否かを判定し、復元データをストライピングにより格納する処理を優先させて実行すると判定した場合に該処理を実行することとしたので、どの処理を優先して実行するかを設定することができ、優先度が低い処理が優先度の高い処理の実行を妨げることを防止することができる。
【０１８４】
また、本実施例では、設定情報受付部１０８が、復元データがストライピングにより格納される場合のデータアクセス操作の単位となるデータブロックのサイズ（データ復元時出力先ライトサイズおよび／またはデータ復元時入力元リードサイズ）の指定を受け付け、データサイズ調整部１０６およびリコンストラクション実行部１０７が、指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて複数のスペアディスク装置に復元データをストライピングにより格納する処理を実行することとしたので、復元データの格納処理の実行速度および他の処理への影響を調整することができる。
【０１８５】
また、本実施例では、リコンストラクション実行部１０７が、複数のスペアディスク装置にストライピングにより格納された復元データを１つのスペアディスク装置に集約して格納することとしたので、復元データを記憶するスペアディスク装置の構成を単純化することにより容易に管理をおこなうことができる。
【０１８６】
また、本実施例では、記憶部１０３が、復元データを１つのスペアディスク装置に集約して格納する処理の優先度の情報を処理優先度設定情報１０３ｄとして記憶し、リコンストラクション実行部１０７が、記憶部１０３に記憶された優先度の情報に基づいて復元データを１つのスペアディスク装置に集約して格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データを集約して格納する処理を優先させて実行すると判定した場合に当該処理を実行することとしたので、どの処理を優先して実行するかを設定することができ、優先度が低い処理が優先度の高い処理の実行を妨げることを防止することができる。
【０１８７】
また、本実施例では、設定情報受付部１０８が、復元データが１つのスペアディスク装置に集約して格納される場合のデータアクセス操作の単位となるデータブロックのサイズ（データ集約時出力先ライトサイズおよびデータ集約時入力元リードサイズ）の指定を受け付け、データサイズ調整部１０６およびリコンストラクション実行部１０７が、指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて１つのスペアディスク装置に復元データを集約して格納する処理を実行することとしたので、復元データの集約処理の実行速度および他の処理への影響を調整することができる。
【０１８８】
また、本実施例では、記憶部１０３が、記憶領域の初期化がなされ、ヘルスチェックにより装置故障などの異常が検出されていないスペアディスク装置の情報をデータ集約用ディスク情報１０３ｅとして記憶し、リコンストラクション実行部１０７が、記憶部１０３に情報が記憶されたスペアディスク装置の中から集約された復元データを記憶するスペアディスク装置を選択し、選択されたスペアディスク装置に復元データを集約して格納することとしたので、すぐに使用できるスペアディスク装置を選択することができ、復元データの集約処理を効率的におこなうことができる。
【０１８９】
また、本実施例では、リコンストラクション実行部１０７が、異常が発生したディスク装置がスペアディスク装置に交換されたことを検出し、異常が発生したディスク装置がスペアディスク装置に交換されたことが検出された場合に、そのスペアディスク装置に復元データを集約して格納することとしたので、元のＲＡＩＤ構成を効率的に復元することができる。
【０１９０】
また、本実施例では、リコンストラクション実行部１０７が、スペアディスク装置に復元データをストライピングにより格納する場合に、他のスペアディスク装置に格納された復元データを所定の順番（データＡ〜Ｉ）で格納するために必要な領域を記憶領域２００ａ〜２００ｃに確保しつつ復元データを格納し、スペアディスク装置に確保された領域に他のスペアディスク装置に格納された復元データを格納することにより復元データを１つのスペアディスク装置に集約して格納することとしたので、復元データを１つのスペアディスク装置に容易に集約することができる。
【０１９１】
なお、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記各種処理を実現するプログラムを実行するコンピュータの一例について説明する。
【０１９２】
図１６は、図３に示した記憶装置１０の機能を実現するコンピュータのハードウェア構成を示す図である。このコンピュータは、ユーザからのデータの入力を受け付ける入力装置３００、各種情報を表示する表示装置３０１、ＬＡＮまたはＦＣ３０を介してホストコンピュータ２０ａ〜２０ｃとデータの授受をおこなうＬＡＮ／ＦＣインターフェース３０２、ＦＣ−ＡＬ１５０，１６０，１７０を介してシェルフ１１０，１２０，１３０，１４０とデータの授受をおこなうＦＣ（Fibre Channel）インターフェース３０３、ＲＡＭ（Random  Access  Memory）３０４、ＣＰＵ（Central  Processing  Unit）３０５およびＲＯＭ（Read  Only  Memory）３０６をバス３０７で接続して構成される。
【０１９３】
ＲＯＭ３０６には、記憶装置１０の機能と同様の機能を発揮するプログラム、すなわちデータ復元制御プログラム３０６ａが記憶されている。なお、データ復元制御プログラム３０６ａは、適宜分散して記憶することとしてもよい。
【０１９４】
そして、ＣＰＵ３０５が、データ復元制御プログラム３０６ａをＲＯＭ３０６から読み出して実行することにより、データ復元制御プロセス３０５ａが実行され、記憶装置１０の機能が実現される。
【０１９５】
このデータ復元制御プロセス３０５ａは、図３に示したデータ記憶／読出制御部１０４、情報収集部１０５、データサイズ調整部１０６、リコンストラクション実行部１０７、設定情報受付部１０８の各機能部に対応する。
【０１９６】
また、ＣＰＵ３０５は、システム構成情報３０４ａ、システム負荷情報３０４ｂ、リコンストラクション設定情報３０４ｃ、処理優先度設定情報３０４ｄ、データ集約用ディスク情報３０４ｅをＲＡＭ３０４に記憶するとともに、ＲＡＭ３０４からそれらの情報を読み出してデータ復元制御プロセス３０５ａを実行する。
【０１９７】
システム構成情報３０４ａ、システム負荷情報３０４ｂ、リコンストラクション設定情報３０４ｃ、処理優先度設定情報３０４ｄ、データ集約用ディスク情報３０４ｅは、図３に示したシステム構成情報１０３ａ、システム負荷情報１０３ｂ、リコンストラクション設定情報１０３ｃ、処理優先度設定情報１０３ｄ、データ集約用ディスク情報１０３ｅに対応する情報である。
【０１９８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【０１９９】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
【０２００】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０２０１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０２０２】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０２０３】
（付記１）ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御装置であって、
前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶手段と、
前記通信状況情報記憶手段により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択手段と、
前記記憶装置選択手段により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納手段と、
を備えたことを特徴とするデータ復元制御装置。
【０２０４】
（付記２）前記復元データを複数の記憶装置にストライピングにより格納する処理の優先度の情報を記憶するデータ格納優先度情報記憶手段をさらに備え、前記データ格納手段は、前記データ格納優先度情報記憶手段により記憶された優先度の情報に基づいて前記復元データを複数の記憶装置にストライピングにより格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データをストライピングにより格納する処理を優先させて実行すると判定した場合に該処理を実行することを特徴とする付記１に記載のデータ復元制御装置。
【０２０５】
（付記３）前記復元データがストライピングにより格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付けるデータ復元時サイズ指定受付手段をさらに備え、前記データ格納手段は、前記データ復元時サイズ指定受付手段により指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて複数の記憶装置に復元データをストライピングにより格納する処理を実行することを特徴とする付記１または２に記載のデータ復元制御装置。
【０２０６】
（付記４）前記データ格納手段により複数の記憶装置にストライピングにより格納された復元データを１つの記憶装置に集約して格納するデータ集約手段をさらに備えたことを特徴とする付記１、２または３に記載のデータ復元制御装置。
【０２０７】
（付記５）前記復元データを１つの記憶装置に集約して格納する処理の優先度の情報を記憶するデータ集約優先度情報記憶手段をさらに備え、前記データ集約手段は、前記データ集約優先度情報記憶手段により記憶された優先度の情報に基づいて前記復元データを１つの記憶装置に集約して格納する処理を他の処理よりも優先させて実行するか否かを判定し、復元データを集約して格納する処理を優先させて実行すると判定した場合に当該処理を実行することを特徴とする付記４に記載のデータ復元制御装置。
【０２０８】
（付記６）前記復元データが１つの記憶装置に集約して格納される場合のデータアクセス操作の単位となるデータブロックのサイズの指定を受け付けるデータ集約時サイズ指定受付手段をさらに備え、前記データ集約手段は、前記データ集約時サイズ指定受付手段により指定を受け付けたサイズの情報に基づいてデータブロックを形成し、形成したデータブロックを用いて１つの記憶装置に復元データを集約して格納する処理を実行することを特徴とする付記４または５に記載のデータ復元制御装置。
【０２０９】
（付記７）記憶領域の初期化がなされ、異常が検出されていない記憶装置の情報を記憶する装置情報記憶手段をさらに備え、前記データ集約手段は、前記装置情報記憶手段に情報が記憶された記憶装置の中から集約された復元データを記憶する記憶装置を選択し、選択された記憶装置に復元データを集約して格納することを特徴とする付記４、５または６に記載のデータ復元制御装置。
【０２１０】
（付記８）異常が発生した記憶装置が別の記憶装置に交換されたことを検出する交換検出手段をさらに備え、前記データ集約手段は、前記交換検出手段により異常が発生した記憶装置が別の記憶装置に交換されたことが検出された場合に、該別の記憶装置に復元データを集約して格納することを特徴とする付記４〜７のいずれか１つに記載のデータ復元制御装置。
【０２１１】
（付記９）前記データ格納手段は、記憶装置に復元データをストライピングにより格納する場合に、他の記憶装置に格納された復元データを所定の順番で格納するために必要な領域を確保しつつ復元データを格納し、前記データ集約手段は、記憶装置に確保された領域に他の記憶装置に格納された復元データを格納することにより復元データを１つの記憶装置に集約して格納することを特徴とする付記４〜７のいずれか１つに記載のデータ復元制御装置。
【０２１２】
（付記１０）ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御方法であって、
前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶工程と、
前記通信状況情報記憶工程により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択工程と、
前記記憶装置選択工程により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納工程と、
を含んだことを特徴とするデータ復元制御方法。
【０２１３】
（付記１１）ディスクアレイを構成する記憶装置のうち異常が検出された記憶装置に記憶されたデータの復元制御をおこなうデータ復元制御プログラムであって、
前記ディスクアレイを構成する記憶装置の設置位置に係る通信状況の情報を記憶する通信状況情報記憶手順と、
前記通信状況情報記憶手順により記憶された情報に基づいてデータを記憶する複数の記憶装置を選択する記憶装置選択手順と、
前記記憶装置選択手順により選択された複数の記憶装置に復元データをストライピングにより格納するデータ格納手順と、
をコンピュータに実行させることを特徴とするデータ復元制御プログラム。
【産業上の利用可能性】
【０２１４】
以上のように、本発明に係るデータ復元制御装置は、データの復元先を適切に選択するとともに、リコンストラクション処理を高速におこなうことが必要なデータ復元制御システムに有用である。
【図面の簡単な説明】
【０２１５】
【図１】本発明に係るデータ復元制御処理の概念を示す図である。
【図２】データ復元処理の概念について説明する図である。
【図３】本実施例に係る記憶装置１０の機能構成を示す図である。
【図４】図３に示したシステム構成情報１０３ａの一例を示す図である。
【図５】図３に示したシステム負荷情報１０３ｂの一例を示す図である。
【図６】図３に示したリコンストラクション設定情報１０３ｃの一例を示す図である。
【図７】復元データの集約処理の概念について説明する図である。
【図８】図３に示した処理優先度設定情報１０３ｄの一例を示す図である。
【図９】図３に示したデータ集約用ディスク情報１０３ｅの一例を示す図である。
【図１０】故障したディスク装置が交換された場合の復元データ集約処理について説明する図である。
【図１１】各スペアディスク装置における復元データの記憶位置について説明する図である。
【図１２】本実施例に係るリコンストラクション処理の処理手順について説明する図である。
【図１３】図１２に示したデータ復元先スペアディスク装置選択処理の処理手順について説明する図である。
【図１４】図１２に示したデータ復元時データリードサイズ／ライトサイズ設定処理の処理手順について説明する図である。
【図１５】図１２に示したデータ集約時データリードサイズ／ライトサイズ設定処理の処理手順について説明する図である。
【図１６】図３に示した記憶装置１０の機能を実現するコンピュータのハードウェア構成を示す図である。
【符号の説明】
【０２１６】
１０    記憶装置
２０ａ〜２０ｃ    ホストコンピュータ
３０    ＬＡＮまたはＦＣ
１００    制御部
１１０，１２０，１３０，１４０    シェルフ
１１１，１２１，１３１，１４１    スイッチ
１１２ａ〜１１２ｚ，１２２ａ〜１２２ｚ，１３２ａ〜１３２ｚ，１４２ａ〜１４２ｚ    ディスク装置
１５０，１６０，１７０    ＦＣ−ＡＬ
１０１    ＬＡＮ／ＦＣインターフェース部
１０２    ＦＣインターフェース部
１０３    記憶部
１０３ａ    システム構成情報
１０３ｂ    システム負荷情報
１０３ｃ    リコンストラクション設定情報
１０３ｄ    処理優先度設定情報
１０３ｅ    データ集約用ディスク情報
１０４    データ記憶／読出制御部
１０５    情報収集部
１０６    データサイズ調整部
１０７    リコンストラクション実行部
１０８    設定情報受付部
２００ａ〜２００ｃ    記憶領域
【図１】
2008040687.tif 000003
【図２】
2008040687.tif 000004
【図３】
2008040687.tif 000005
【図４】
2008040687.tif 000006
【図５】
2008040687.tif 000007
【図６】
2008040687.tif 000008
【図７】
2008040687.tif 000009
【図８】
2008040687.tif 000010
【図９】
2008040687.tif 000011
【図１０】
2008040687.tif 000012
【図１１】
2008040687.tif 000013
【図１２】
2008040687.tif 000014
【図１３】
2008040687.tif 000015
【図１４】
2008040687.tif 000016
【図１５】
2008040687.tif 000017
【図１６】
2008040687.tif 000018