(57)【要約】【課題】障害が生じた物理ディスクの使用領域と未使用領域を管理するとともに外部が物理ディスクの使用を開始できるまでの時間が短縮するディスクアレイ装置及び物理ディスクの復元方法を提案する。【解決手段】ディスクアレイ装置は、使用状況に基づいて物理ディスクのブロック領域が使用領域か未使用領域かを判断する手段と、使用領域であると判断したブロック領域についてデータの復旧を行い、使用領域と対応するスペアディスクのブロック領域に復旧したデータを書き込む手段と、使用領域であると判断した全てのブロック領域についてデータの復旧が完了すると、物理ディスクが使用可能となった旨の通知をホスト装置に送信する手段と、未使用領域であると判断したブロック領域について、通知の送信後に未使用領域と対応するスペアディスクのブロック領域にゼロデータを書き込む手段と、を有する構成である。【選択図】図１
2011028520.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ディスクと、
少なくとも１つのスペアディスクと、
各物理ディスク及び前記スペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理する管理手段と、
いずれかの物理ディスクに障害が生じた場合に、前記使用状況に基づいて前記物理ディスクのブロック領域が使用領域か未使用領域かを判断する手段と、
使用領域であると判断したブロック領域についてデータの復旧を行い、前記使用領域と対応する前記スペアディスクのブロック領域に前記復旧したデータを書き込む手段と、
使用領域であると判断した全てのブロック領域についてデータの復旧が完了した場合に、前記物理ディスクが使用可能となった旨の設定を行う手段と、
未使用領域であると判断したブロック領域について、前記通知の送信後に前記未使用領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込む手段と、
を有するディスクアレイ装置。
【請求項２】
前記記憶領域をグループ化することによって、又は、前記ブロック領域をグループ化することによって形成される複数の論理ディスクを有し、
前記管理手段は、各論理ディスク内における使用領域の最終アドレスを管理する、請求項１に記載のディスクアレイ装置。
【請求項３】
ホスト装置から前記障害が生じた物理ディスクに対する書き込み要求を受信した場合に、前記使用状況に基づいて書き込み対象のブロック領域が使用領域か未使用領域かを判断する手段と、
未使用領域であると判断した場合に、前記書き込み対象のブロック領域が復旧領域か未復旧領域かを判断する手段と、
使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にライトデータを書き込む手段と、
未復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込んだ後、前記ライトデータを書き込む手段と、を有する、請求項１又は２に記載のディスクアレイ装置。
【請求項４】
ホスト装置から前記障害が生じた物理ディスクに対する読み出し要求を受信した場合に、前記使用状況に基づいて読み出し対象のブロック領域が使用領域か未使用領域かを判断する手段と、
未使用領域であると判断した場合に、前記読み出し対象のブロック領域が復旧領域か未復旧領域かを判断する手段と、
使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記読み出し対象のブロック領域と対応する前記スペアディスクのブロック領域から読み出したリードデータを前記ホスト装置に送信する手段と、
未復旧領域であると判断した場合に、ゼロデータを前記ホスト装置に送信する手段と、
を有する、請求項１乃至３いずれか１項に記載のディスクアレイ装置。
【請求項５】
複数の物理ディスク及び少なくとも１つのスペアディスクを有するディスクアレイ装置における物理ディスクの復元方法であって、
前記ディスクアレイ装置は、
各物理ディスク及び前記スペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理するステップと、
いずれかの物理ディスクに障害が生じた場合に、前記使用状況に基づいて前記物理ディスクのブロック領域が使用領域か未使用領域かを判断するステップと、
使用領域であると判断したブロック領域についてデータの復旧を行い、前記使用領域と対応する前記スペアディスクのブロック領域に前記復旧したデータを書き込むステップと、
前記使用領域であると判断した全てのブロック領域についてデータの復旧が完了した場合に、前記物理ディスクが使用可能となった旨の設定を行うステップと、
未使用領域であると判断したブロック領域について、前記通知の送信後に生前記未使用領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込むステップと、を実行する物理ディスクの復元方法。
【請求項６】
前記ディスク装置は、前記記憶領域をグループ化することによって、又は、前記ブロック領域をグループ化することによって形成される複数の論理ディスクを備え、
前記管理ステップでは、各論理ディスク内における使用領域の最終アドレスを管理する、請求項５に記載の復元方法。
【請求項７】
前記ディスクアレイ装置は、ホスト装置から前記障害が生じた物理ディスクに対する書き込み要求を受信した場合に、前記使用状況に基づいて書き込み対象のブロック領域が使用領域か未使用領域かを判断するステップと、
未使用領域であると判断した場合に、前記書き込み対象のブロック領域が復旧領域か未復旧領域かを判断するステップと、
使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にライトデータを書き込む手段と、
未復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込んだ後、前記ライトデータを書き込むステップと、を実行する、請求項５又は６に記載の復元方法。
【請求項８】
前記ディスクアレイ装置は、ホスト装置から前記障害が生じた物理ディスクに対する読み出し要求を受信した場合に、前記使用状況に基づいて読み出し対象のブロック領域が使用領域か未使用領域かを判断するステップと、
未使用領域であると判断した場合に、前記読み出し対象のブロック領域が復旧領域か未復旧領域かを判断するステップと、
使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記読み出し対象のブロック領域と対応する前記スペアディスクのブロック領域から読み出したリードデータを前記ホスト装置に送信するステップと、
未復旧領域であると判断した場合に、ゼロデータを前記ホスト装置に送信するステップと、を実行する、請求項５乃至７いずれか１項に記載の復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理ディスクを有するディスクアレイ装置において、物理ディスクの復元技術に関する。
【背景技術】
【０００２】
ディスクアレイ装置は、ディスクアレイ装置へのデータの入出力を制御する制御部と、このデータを格納するために複数の物理ディスクから形成されるディスクと、からなる。そして、ディスクアレイ装置は、複数の物理ディスクをＲＡＩＤ（Redundant Array of Independent/Inexpensive Disks）方式で管理する装置である。
【０００３】
このような構成のディスクアレイ装置では、複数の物理ディスクのうち１台の物理ディスクに障害が生じた場合でも、残りの物理ディスクによって障害が生じた物理ディスクを復元することが可能である。外部が物理ディスクの使用を開始できるまでの時間は物理ディスクの記憶容量に比例して増大するため、物理ディスクの使用を開始できるまで時間を短縮する技術は切望されているところである。近年では、障害が生じた物理ディスクの使用を開始できる時間を短縮する方法が様々提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２２２０６３号公報
【特許文献２】特開平１１−２４８４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、物理ディスクに障害が生じた場合には、ディスクアレイ装置が物理ディスク内の未使用領域（空き領域）を判断できないため、外部が物理ディスクを使用できるまでには多くの時間がかかってしまう。また、物理ディスクの復元中に復元元の物理ディスクに問題があるとメディアエラーとなるが、この場合には一部のデータが復元元の物理ディスクから読み出せない。そうするとディスクアレイ装置は、読み出せない領域が使用領域か未使用領域かを判断できないため、再構築をせざるを得なかった。
【０００６】
一方で提案されている関連技術は、障害が生じた物理ディスクの使用領域についてデータの復旧が行われているが、障害が生じた物理ディスクの未使用領域については詳細には言及されていない。
【０００７】
そこで、本発明は、障害が生じた物理ディスクの使用領域と未使用領域を管理するとともに外部が物理ディスクの使用を開始できるまでの時間が短縮する，ディスクアレイ装置及び物理ディスクの復元方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため、本発明のディスクアレイ装置は、複数の物理ディスクと、少なくとも１つのスペアディスクと、各物理ディスク及びスペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理する管理手段と、いずれかの物理ディスクに障害が生じた場合に、使用状況に基づいて物理ディスクのブロック領域が使用領域か未使用領域かを判断する手段と、使用領域であると判断したブロック領域についてデータの復旧を行い、使用領域と対応するスペアディスクのブロック領域に復旧したデータを書き込む手段と、使用領域であると判断した全てのブロック領域についてデータの復旧が完了すると、物理ディスクが使用可能となった旨の設定を行う手段と、未使用領域であると判断したブロック領域について、通知の送信後に未使用領域と対応するスペアディスクのブロック領域にゼロデータを書き込む手段と、を有する。
【０００９】
また、本発明は、複数の物理ディスク及び少なくとも１つのスペアディスクを有するディスクアレイ装置における物理ディスクの復旧方法であって、ディスクアレイ装置は、各物理ディスク及びスペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理するステップと、いずれかの物理ディスクに障害が生じた場合に、使用状況に基づいて物理ディスクのブロック領域が使用領域か未使用領域かを判断するステップと、使用領域であると判断したブロック領域についてデータの復旧を行い、使用領域と対応するスペアディスクのブロック領域に復旧したデータを書き込むステップと、使用領域であると判断した全てのブロック領域についてデータの復旧が完了すると、物理ディスクが使用可能となった旨の設定を行うステップと、未使用領域であると判断したブロック領域について、通知の送信後に未使用領域と対応するスペアディスクのブロック領域にゼロデータを書き込むステップと、を実行する。
【発明の効果】
【００１０】
本発明によれば、障害が生じた物理ディスクの使用領域と未使用領域を管理しているので、障害が生じた物理ディスクの使用領域に格納されたデータの復旧を先に終了することができる。これにより、外部が物理ディスクの使用を開始できるまでの時間が短縮するとともに、ディスクアレイ装置の負荷を削減することができる。また、障害が生じた物理ディスクの未使用領域については、バックグラウンド環境下でスペアディスクにゼロデータを書き込むことができる。このように、外部が物理ディスクの使用を開始できるまでの時間が短縮するとともに、障害が生じた物理ディスクを復元することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明のシステム１０を示すブロック図である。
【図２】物理ディスクＰＤ及びブロックを説明する概念図である。
【図３】図２の物理ディスクＰＤを管理する管理テーブル４０を示す図表である。
【図４】障害が発生した物理ディスクＰＤを復旧するためのフローチャートである。
【図５】論理ディスクＬＤＮ及び最終のＬＢＡを説明する概念図である。
【図６】図５の論理ディスクＬＤＮを管理するＬＢＡ管理テーブル４１を示す図表である。
【図７】復旧中の物理ディスクＰＤにライト処理を行うためのフローチャートである。
【図８】復旧中の物理ディスクＰＤにリード処理を行うためのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照して説明する。なお、図面中、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００１３】
（１）システムの構成
図１は、本実施の形態によるディスクアレイシステム１０の構成を示したブロック図である。このシステム１０は、ホスト装置１が第１ネットワーク７を介してディスクアレイ装置２と接続され、ディスクアレイ装置２が第２ネットワーク８を介して複数のディスク６（物理ディスクＰＤ及びスペアディスクＳＤ）と接続される構成である。
【００１４】
ホスト装置１は、ＣＰＵやメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレームなどから構成される。またホスト装置１は、キーボード、スイッチ等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１５】
第１ネットワーク７及び第２ネットワーク８は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。例えば、ネットワークがＳＡＮの場合には、ファイバチャネルプロトコルに従って行われ、ネットワークがＬＡＮの場合には、ＴＣＰ／ＩＰプロトコルに従って行われる。本実施の形態では、ホスト装置１とディスクアレイ装置２とを接続する第１ネットワーク７にＳＡＮを使用し、第２ネットワーク８にＦＣ（Fibre Channel）、ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）のいずれかを使用する。
【００１６】
ディスクアレイ装置２は、複数の物理ディスクＰＤ（PD＃0，…，PD＃N）をＲＡＩＤ方式で管理するために、ＲＡＩＤ情報管理部３、使用領域管理部４、ディスク処理制御部５、を有している。
【００１７】
本実施形態によれば、物理ディスクＰＤをグループ化することで、または、１台の物理ディスクＰＤの記憶領域を複数分割した分割記憶領域をグループ化することで形成された１つの仮想的な記憶領域を論理ディスクＬＤＮ（LDN＃1，…，LDN＃N）として定義する。したがって複数台の物理ディスクＰＤから複数の論理ディスクＬＤＮが定義されることになる。そして、それぞれの論理ディスクＬＤＮには、論理ディスクＬＤＮ内の記憶領域を分割したセクタ（分割記憶領域）が形成されている。全てのセクタはアクセス可能であり、これら全てのセクタには通し番号であるＬＢＡ（Logical Block Addressing）が割当てられている。
【００１８】
このように複数の物理ディスクＰＤから、所定のＲＡＩＤレベルをもつ論理ディスクＬＤＮが形成される。論理ディスクＬＤＮが形成されない物理ディスクＰＤはスペアディスクＳＤ（予備ディスク）として設定される。例えば、ＲＡＩＤレベル５の場合には、物理ディスク４台，パリティディスク（図示せず）１台の計５台の物理ディスクＰＤが１つのＲＡＩＤ５グループを構成し、ＲＡＩＤグループに所属する物理ディスクＰＤの他に少なくとも１台のスペアディスクＳＤを有している。
【００１９】
ＲＡＩＤ情報管理部３は、物理ディスクＰＤの使用／未使用状況，物理ディスクＰＤの正常／異常の状態状況等を監視しており、物理ディスクＰＤに障害が生じた場合に復元指示を行う。
【００２０】
また、ＲＡＩＤ情報管理部３は、物理ディスクＰＤと論理ディスクＬＤＮとの対応付けを管理する対応テーブル（図示せず）を有している。この対応テーブルでは、物理ディスクＰＤが所属するＲＡＩＤグループ、ＲＡＩＤレベル（レベル１〜６）、同一のＲＡＩＤグループを構成する論理ディスクＬＤＮ、及びそのＲＡＩＤグループに所属する物理ディスクＰＤのセクタ番号と対応する論理ディスクＬＤＮのＬＢＡ等のＲＡＩＤ情報を管理している。
【００２１】
使用領域管理部４は、物理ディスクＰＤの記憶領域の使用状況を管理しており、管理テーブル４０を有している。
【００２２】
管理テーブル４０は、図３に示すように、物理ディスク番号欄と、その物理ディスクＰＤ内のブロック欄とから構成され、ブロックBlock#0，…，Block#Ｎ領域の使用状況を管理する。ここで、ブロックBlock#0，…，Block#Ｎ領域とは、１台の物理ディスクＰＤの記憶領域を、例えば１０ＭＢ等の所定の記憶容量単位で分割した分割記憶領域をいう。また、ブロックBlock#0，…，Block#Ｎ領域の使用状況とは、その物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域に、データが書き込まれているか、又はデータが書き込まれていないか、の状況をいう。データが書き込まれているブロック領域は使用領域（ユーザデータ領域）と定義し、データが書き込まれていないブロック領域は未使用領域と定義する。なお、この管理テーブル４０では、スペアディスクＳＤ内におけるブロックBlock#0，…，Block#Ｎ領域の使用状況、及び、スペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域と物理ブロックＰＤのブロックBlock#0，…，Block#Ｎ領域との対応関係、を管理してもよい。
【００２３】
ディスク処理制御部５は、ディスクアレイ装置２と物理ディスクＰＤとの間でデータの入出力を制御する。データの入出力は、物理ディスクＰＤがもつ固有の番号と、その物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域の番号と、を指定して行われる。なお、ディスクアレイ装置２と論理ディスクＬＤＮとの間でのデータの入出力を制御してもよい。論理ディスクＬＤＮには、固有の識別子ＬＵＮ（Logical Block Number）が割り当てられているため、データの入出力は、論理ディスクＬＤＮの固有の識別子及びＬＢＡ（Logical Block Addressing）を組み合わせたアドレスを、指定して行われる。
【００２４】
（２）物理ディスクＰＤの復元方法
このように構成されたシステム１０において、所定のＲＡＩＤレベルをもつ物理ディスクＰＤに障害が生じた場合に、システム１０が、障害が生じた物理ディスクＰＤを復元する復元処理を、図４のフローチャートを用いて説明する。
【００２５】
ここで復元とは、スペアディスクＳＤの状態を障害が発生する前の物理ディスクＰＤの状態にすることをいい、障害が生じた物理ディスクＰＤの使用領域を復旧すること及び未使用領域を復旧することをいう。具体的に復元とは、ディスクアレイ装置２が後述するステップＳ１からＳ７までの処理を完了した状態をいう。なお、図４のフローチャートを実行する復元プログラムは、ディスクアレイ装置２のメモリ（図示せず）に記憶されており、ＲＡＩＤ情報管理部３が物理ディスクＰＤの障害を検知すると、メモリから復元プログラムを読み出して実行する。
【００２６】
所定の物理ディスクＰＤに障害が生じると、ＲＡＩＤ情報管理部３がディスク処理制御部５を介して障害が生じた物理ディスクＰＤを検知し、スペアディスクＳＤへの復元処理を開始する。
【００２７】
まずＲＡＩＤ情報管理部３は、障害が生じた物理ディスクＰＤを検出して物理ディスクＰＤの固有番号によって特定すると、特定した物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域が使用領域（ユーザデータ領域）か未使用領域かを判断する（Ｓ１）。具体的には、ＲＡＩＤ情報管理部３は、使用領域管理部４にアクセスすると、管理テーブル４０を参照して、ブロックBlock#0，…，Block#Ｎ領域が使用済か否かを判断する。また、ＲＡＩＤ情報管理部３は、今回の復元処理に使用するスペアディスクＳＤを選択する。なお、スペアディスクＳＤを管理テーブル４０で管理している場合には、ＲＡＩＤ情報管理部３は管理テーブル４０を参照してスペアディスクＳＤを選択する。
【００２８】
ＲＡＩＤ情報管理部３は、特定したブロック領域が使用領域であると判断すると（Ｓ１：ＹＥＳ）、対応テーブルを参照し、障害が生じた物理ディスクＰＤが所属するＲＡＩＤグループの、他の物理ディスクＰＤを特定する。そしてＲＡＩＤ情報管理部３は、特定した他の物理ディスクＰＤを使用して、障害が生じた物理ディスクＰＤの使用領域に書き込まれていたデータを復旧すると、ディスク処理制御部５を介して、復旧したデータをスペアディスクＳＤに転送し書き込んでいく（Ｓ２）。このとき、ＲＡＩＤ情報管理部３は、障害が生じた物理ディスクＰＤからスペアディスクＳＤに転送したデータの情報を対応テーブル及び管理テーブル４０に登録して、各テーブルの情報を更新する。
【００２９】
ＲＡＩＤ情報管理部３は、使用領域に格納された全てのデータを復旧し、復旧した全てのデータをスペアディスクＳＤに書き込んだか否かを判断する（Ｓ３）。なお、ＲＡＩＤ情報管理部３は、特定したブロック領域が未使用領域であると判断した場合にも（Ｓ１：ＮＯ）、このステップＳ３の処理を行う。
【００３０】
そしてＲＡＩＤ情報管理部３は、使用領域に格納された全てのデータを復旧していないと判断した場合には（Ｓ３：ＮＯ）、使用領域に格納された全てのデータを復旧するまで、ステップＳ１，Ｓ２の復元処理を行う。
【００３１】
一方、ＲＡＩＤ情報管理部３は、使用領域に格納された全てのデータを復旧し、復旧した全てのデータを、使用領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域に書き込んだと判断した場合には（Ｓ３：ＹＥＳ）、復旧ステートを「完了」に設定する（Ｓ４）。すなわち、ＲＡＩＤ情報管理部３は、物理ディスクＰＤが使用可能となった旨の設定を行う。なお、ＲＡＩＤ情報管理部３は、使用領域についての復旧が終了した場合に、障害が生じていた物理ディスクＰＤが使用可能となった旨の使用可能通知をホスト装置１に送信してもよい。
【００３２】
このように、まずＲＡＩＤ情報管理部３は、フォアグラウンド環境下で物理ディスクＰＤの使用領域を復旧させる。フォアグラウンド環境下でデータの復旧が終了すると、ＲＡＩＤ情報管理部３は、使用領域の復旧が完了した物理ディスクＰＤに対して、外部（ホスト装置）からライトコマンド又はリードコマンドを受信することができる。また引き続き、管理テーブル４０は、使用領域のブロック領域とスペアディスクのブロック領域との対応関係を管理する。
【００３３】
引き続き、ＲＡＩＤ情報管理部３は、バックグラウンド環境下で障害が生じた物理ディスクＰＤの未使用領域についての復旧処理を行う。
【００３４】
具体的には、ＲＡＩＤ情報管理部３は、ブロックBlock#0，…，Block#Ｎ領域が未使用領域であるか否かを判断し（Ｓ５）、ブロックBlock#0，…，Block#Ｎ領域が未使用領域であると判断した場合には（Ｓ５：ＹＥＳ）、ブロックBlock#0，…，Block#Ｎ領域ごとにゼロデータを生成する。そして、ＲＡＩＤ情報管理部３は、管理テーブル４０を参照し、生成したゼロデータをスペアディスクＳＤの対応するブロックBlock#0，…，Block#Ｎ領域に転送し書き込んでいく（Ｓ６）。障害が生じた物理ディスクＰＤの未使用領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域にゼロデータが書き込まれることで、スペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域は初期化されることになる。
【００３５】
そうしてＲＡＩＤ情報管理部３が、生成したゼロデータを、未使用領域と対応するスペアディスクＳＤの全てのブロックBlock#0，…，Block#Ｎ領域に転送し、全てのゼロデータがスペアディスクＳＤに書き込まれたか否かを判断する（Ｓ７）。なお、ＲＡＩＤ情報管理部３は、ブロックBlock#0，…，Block#Ｎ領域が使用領域であると判断した場合にも（Ｓ５：ＮＯ）、このステップＳ７の処理を行う。
【００３６】
ＲＡＩＤ情報管理部３が、未使用領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域に全てのゼロデータが書き込まれていないと判断した場合には（Ｓ７：ＮＯ）、全てのゼロデータがスペアディスクＳＤのBlock#0，…，Block#Ｎ領域に書き込まれるまで、ステップＳ５，Ｓ６の復元処理を行う。
【００３７】
ＲＡＩＤ情報管理部３は、未使用領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域に全てのゼロデータが書き込まれたと判断した場合には（Ｓ７：ＹＥＳ）、未使用領域についての復旧が完了するので、障害が生じた物理ディスクＰＤについての復元処理が終了する。
【００３８】
このように本実施形態では、物理ディスクＰＤの復元が必要になった場合に、ＲＡＩＤ情報管理部３が先に物理ディスクＰＤ内の使用領域に書き込まれたデータの復旧を行う。そして使用領域の復旧が終了した段階で、外部に対してはデータの復旧完了の通知を行って外部が物理ディスクＰＤを使用できる状態にするので、外部が物理ディスクＰＤの使用を開始できるまでの時間が短縮する。
【００３９】
（３）論理ディスクＬＤＮの復元方法
本実施形態では、物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域毎に復元処理を実行したが、論理ディスクＬＤＮの使用領域の最終のＬＢＡを管理する方法で復元処理を実行してもよい。図５は、１台の物理ディスクＰＤの記憶領域から複数の論理ディスクＬＤＮが形成される場合を示している。そして、１つの論理ディスクＬＤＮにはユーザデータ領域（使用領域）と未使用領域とが形成されている。
【００４０】
使用領域管理部４は、上述した管理テーブル４０に加え、ＬＢＡ管理テーブル４１（第２管理テーブル）を有する。ＬＢＡ管理テーブル４１は、論理ディスクＬＤＮのセクタ領域毎に使用状況を管理しており、図６に示すように、論理ディスクＬＤＮ欄とこの論理ディスクＬＤＮに対応する物理ディスクＰＤ欄とから構成される。ＬＢＡ管理テーブル４１のセルには、論理ディスクＬＤＮに連続して書き込まれるユーザデータのうち、ユーザデータの末尾が書き込まれた最終セクタのＬＢＡが登録される。
【００４１】
復元処理の際にはＲＡＩＤ情報管理部３が、ＬＢＡ管理テーブル４１を参照しつつ復元処理を実行する。すなわち、ユーザデータ領域の最終のＬＢＡを読み出し、読み出した領域ごとに復元処理を実行する。上述のようにブロック領域毎に復元処理を実行することに比べ、１回で復元できる領域がブロック領域より広いため、外部が物理ディスクＰＤの使用を開始できるまでの時間が一層短縮される。
【００４２】
ＲＡＩＤ情報管理部３が、ブロックBlock#0，…，Block#Ｎ領域単位で復元処理を実行するか、ブロックBlock#0，…，Block#Ｎ領域単位より大きな記憶容量で区切ったセクタ領域単位で復元処理を実行するかは、障害が生じた物理ディスクＰＤの容量に応じて判断する。なお、ホスト装置１からの指示にしたがって復元処理の単位を決定してもよい。
【００４３】
（４）未使用領域を復旧する間のライト処理
上述のようにディスクアレイ装置２がバックグラウンド環境下でステップＳ５〜Ｓ７を実行している間に、ＲＡＩＤ情報管理部３がホスト装置１から物理ディスクＰＤに対してライトコマンドを受信した場合のライト処理を、図７に示すフローチャートを用いて説明する。このフローチャートを実行するライトプログラムは、ディスクアレイ装置２のメモリ（図示せず）に記憶されており、ＲＡＩＤ情報管理部３がライトコマンドを受信すると、メモリからライトプログラムを読み出して実行する。
【００４４】
ＲＡＩＤ情報管理部３がホスト装置１からライトコマンドを受信すると、ＲＡＩＤ情報管理部３は、ホスト装置１が書き込みを要求した物理ディスクＰＤのブロック領域が使用領域か否かを判断する（Ｓ１０）。
【００４５】
ＲＡＩＤ情報管理部３は、ホスト装置１が物理ディスクＰＤの未使用領域に対して書き込みを要求していると判断すると（Ｓ１０：ＮＯ）、使用領域管理部４にアクセスし、管理テーブル４０を更新する（Ｓ１１）。具体的には、ＲＡＩＤ情報管理部３は、ホスト装置１が書き込みを要求した物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域を未使用領域から使用領域に更新する。
【００４６】
ＲＡＩＤ情報管理部３は、管理テーブル４０を更新すると、ホスト装置１が書き込みを要求した物理ディスクＰＤのブロック領域が、復旧領域か否か、を判断する（Ｓ１２）。
【００４７】
ＲＡＩＤ情報管理部３は、ホスト装置１が書き込みを要求した物理ディスクＰＤのブロック領域が、未復旧領域であると判断すると（Ｓ１２：ＹＥＳ）、ゼロデータを生成する。そしてＲＡＩＤ情報管理部３は、管理テーブル４０を参照し、生成したゼロデータを見復旧領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域に書き込む（Ｓ１３）。
【００４８】
その後、ＲＡＩＤ情報管理部３は、ゼロデータを書き込んだスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域にホスト装置１からのライトデータを上書き（書き込み）すると（Ｓ１４）、ライト処理を終了する。
【００４９】
なお、ＲＡＩＤ情報管理部３は、ホスト装置１が物理ディスクＰＤの使用領域に対して書き込みを要求していると判断した場合（Ｓ１０：ＹＥＳ）、又は未使用領域かつ復旧領域であると判断した場合（Ｓ１０：ＮＯ，Ｓ１２：ＮＯ）には、書き込みを要求している物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域に、ホスト装置１から送信されたライトデータを書き込み、ライト処理を終了する。
【００５０】
（５）未使用領域を復旧する間のリード処理
上述のようにディスクアレイ装置２がバックグラウンド環境下でステップＳ５〜Ｓ７を実行している間に、ＲＡＩＤ情報管理部３がホスト装置１から物理ディスクＰＤに対してリードコマンドを受信した場合のリード処理を、図６に示すフローチャートを用いて説明する。このフローチャートを実行するリードプログラムは、ディスクアレイ装置２のメモリ（図示せず）に記憶されており、ＲＡＩＤ情報管理部３がリードコマンドを受信すると、メモリからリードプログラムを読み出して実行する。
【００５１】
ＲＡＩＤ情報管理部３がホスト装置１からリードコマンドを受信すると、ＲＡＩＤ情報管理部３は、ホスト装置１が読み出しを要求した物理ディスクＰＤのブロック領域が未使用領域かつ未復旧領域か、否かを判断する（Ｓ２０）。
【００５２】
ＲＡＩＤ情報管理部３は、ホスト装置１が読み出しを要求した物理ディスクＰＤのブロック領域が未使用領域、かつ未復旧領域であると判断すると（Ｓ２０：ＹＥＳ）、ＲＡＩＤ情報管理部３は、ゼロデータを生成し、生成したゼロデータをホスト装置１に送信して（Ｓ２２）、リード処理を終了する。
【００５３】
一方、ＲＡＩＤ情報管理部３は、ホスト装置１が読み出しを要求した物理ディスクＰＤのブロック領域が、使用領域である場合、又は未使用領域かつ復旧領域の場合であると判断すると（Ｓ２０：ＮＯ）、読み出しを要求した物理ディスクＰＤのブロックBlock#0，…，Block#Ｎ領域と対応するスペアディスクＳＤのブロックBlock#0，…，Block#Ｎ領域からホスト装置１が読み出しを要求したリードデータを特定し、特定したリードデータを読み出しホスト装置１へ送信すると（Ｓ２１）、ホスト装置１に終了報告を行ってリード処理を終了する。
【００５４】
このように、障害が生じた物理ディスクの未使用領域をバックグラウンド環境下で復旧している間に、ディスクアレイ装置２がホスト装置１からライトコマンド又はリードコマンドを受信しても、ライト処理又はリード処理を行うことができる。
【産業上の利用可能性】
【００５５】
本発明は、１台以上のディスクアレイ装置を有するストレージシステムに広く適用することができる。
【符号の説明】
【００５６】
１…ホスト装置、２…ディスクアレイ装置、３…ＲＡＩＤ情報管理部、４…使用領域管理部、５…ディスク処理制御部、６…ディスク（物理ディスク，スペアディスク）、７…第１ネットワーク、８…第２ネットワーク、４０…管理テーブル、４１…ＬＢＡ管理テーブル、ＰＤ，ＰＤ＃０，…，ＰＤ＃Ｎ…物理ディスク、ＬＤＮ，ＬＤＮ＃１，…，ＬＤＮ＃Ｎ…論理ディスク、ＳＤ…スペアディスク、Ｂｌｏｃｋ＃０，…，Ｂｌｏｃｋ＃Ｎ…ブロック領域、１０…システム。
【図１】
2011028520.tif 000003
【図２】
2011028520.tif 000004
【図３】
2011028520.tif 000005
【図４】
2011028520.tif 000006
【図５】
2011028520.tif 000007
【図６】
2011028520.tif 000008
【図７】
2011028520.tif 000009
【図８】
2011028520.tif 000010