(57)【要約】      （修正有）【課題】データのバックアップのために必要な数多くのストレージ装置を維持管理するコストを抑制する。【解決手段】複数の第１ディスクドライブを複数の第２ディスクドライブと、通信可能に接続し、複数の第１ディスクドライブの記憶領域を区分してなる複数の記憶ブロックのそれぞれの複製を各記憶ブロックを特定する第１識別子と共に受信する第１受信部と、第１受信部により受信されたの複製のうち第１識別子がそれぞれ対応するの複製の排他的論理和を演算する第１演算制御部と、複数の第２ディスクドライブの記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれを特定する第２識別子が第１識別子と対応する第２ディスクドライブの記憶ブロックに第１演算制御部により演算された排他的論理和の演算結果を記憶する第１記憶制御部とを備える。【選択図】    図１
2005215850.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数の第１のハードディスクドライブを有する複数の他のストレージ装置と通信可能に接続され、
データを記憶する複数の第２のハードディスクドライブと、
前記他のストレージ装置のそれぞれから、前記複数の第１のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれに記憶される第１の記憶データの複製を、前記各記憶ブロックを特定する第１の識別子と共に受信する第１の受信部と、
前記第１の受信部により前記他のストレージ装置のそれぞれから受信された前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製の排他的論理和を演算する第１の演算制御部と、
前記複数の第２のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれを特定する第２の識別子が前記第１の識別子と対応する前記第２のハードディスクドライブの前記記憶ブロックに、前記第１の演算制御部により演算された前記排他的論理和の演算結果を記憶する第１の記憶制御部と
を備えることを特徴とするストレージ装置。
【請求項２】
前記第２のハードディスクドライブには、前記第１の演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
前記第１のハードディスクドライブへの書き込みデータを情報処理装置から受信した前記他のストレージ装置により演算される、前記書き込みデータと前記書き込みデータが書き込まれる前記第１のハードディスクドライブの前記記憶ブロックに記憶されている前記第１の記憶データとの排他的論理和の演算結果を、前記書き込みデータが書き込まれる前記記憶ブロックを特定する前記第１の識別子と共に、前記他のストレージ装置から受信する第２の受信部と、
前記第２の受信部により受信された前記演算結果と、前記第２の受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第２の演算制御部と、
前記第２の演算制御部により演算された前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶する第２の記憶制御部と
を備えることを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記第２のハードディスクドライブには、前記第１の演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
通信可能に接続される前記他のストレージ装置が追加された場合に、
前記追加された他のストレージ装置から、前記追加された他のストレージ装置が有する前記第１のハードディスクドライブの前記記憶ブロックのそれぞれに記憶される前記第１の記憶データの複製を、前記第１の識別子と共に受信する第３の受信部と、
前記第３の受信部により受信された前記第１の記憶データの複製と、前記第３の受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第３の演算制御部と、
前記第３の演算制御部により演算された前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶する第３の記憶制御部と
を備えることを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記第２のハードディスクドライブには、前記第１の演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
通信可能に接続される前記他のストレージ装置が追加された場合に、
前記追加された他のストレージ装置が有する前記第１のハードディスクドライブへの書き込みデータを情報処理装置から受信した前記追加された他のストレージ装置により演算される、前記書き込みデータと前記書き込みデータが書き込まれる前記第１のハードディスクドライブの前記記憶ブロックに記憶されている前記第１の記憶データとの排他的論理和の演算結果を、前記書き込みデータが書き込まれる前記記憶ブロックを特定する前記第１の識別子と共に、前記追加された他のストレージ装置から受信する第４の受信部と、
前記第４の受信部により受信された前記演算結果と、前記第４の受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第４の演算制御部と、
前記第４の演算制御部により演算された前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶する第４の記憶制御部と
を備えることを特徴とする請求項１に記載のストレージ装置。
【請求項５】
前記第２のハードディスクドライブには、前記第１の演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
ある前記他のストレージ装置から、前記ある他のストレージ装置が有する前記第１のハードディスクドライブに記憶されているべき前記第１の記憶データの送信要求を受信する第５の受信部と、
前記ある他のストレージ装置以外の前記他のストレージ装置に、それぞれの前記第１のハードディスクドライブの前記各記憶ブロックに記憶されている前記第１の記憶データの複製を、前記各第１の記憶データが記憶されている前記記憶ブロックを特定する前記第１の識別子と共に送信させるための送信要求を送信する第１の送信部と、
前記ある他のストレージ装置以外の前記他のストレージ装置のそれぞれから、前記第１の記憶データの複製を、前記第１の識別子と共に受信する第６の受信部と、
前記第６の受信部により前記ある他のストレージ装置以外の前記他のストレージ装置のそれぞれから受信された前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製と、前記第６の受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第５の演算制御部と、
前記第５の演算制御部により演算された前記排他的論理和の演算結果を、前記第１の識別子と共に、前記ある他のストレージ装置に送信する第２の送信部と
を備えることを特徴とする請求項１に記載のストレージ装置。
【請求項６】
データを記憶する複数の第１のハードディスクドライブを有する複数の他のストレージ装置と通信可能に接続され、データを記憶する複数の第２のハードディスクドライブを備えるストレージ装置の制御方法であって、
前記他のストレージ装置のそれぞれから、前記複数の第１のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれに記憶される第１の記憶データの複製を、前記各記憶ブロックを特定する第１の識別子と共に受信し、
前記他のストレージ装置のそれぞれから受信した前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製の排他的論理和を演算し、
前記複数の第２のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれを特定する第２の識別子が前記第１の識別子と対応する前記第２のハードディスクドライブの前記記憶ブロックに、前記排他的論理和の演算結果を記憶すること
を特徴とするストレージ装置の制御方法。
【請求項７】
前記第２のハードディスクドライブには、前記排他的論理和の全ての演算結果が記憶され、
前記第１のハードディスクドライブへの書き込みデータを情報処理装置から受信した前記他のストレージ装置により演算される、前記書き込みデータと前記書き込みデータが書き込まれる前記第１のハードディスクドライブの前記記憶ブロックに記憶されている前記第１の記憶データとの排他的論理和の演算結果を、前記書き込みデータが書き込まれる前記記憶ブロックを特定する前記第１の識別子と共に、前記他のストレージ装置から受信し、
前記演算結果と、前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算し、
前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶すること
を特徴とする請求項６に記載のストレージ装置の制御方法。
【請求項８】
前記第２のハードディスクドライブには、前記排他的論理和の全ての演算結果が記憶され、
通信可能に接続される前記他のストレージ装置が追加された場合に、
前記追加された他のストレージ装置から、前記追加された他のストレージ装置が有する前記第１のハードディスクドライブの前記記憶ブロックのそれぞれに記憶される前記第１の記憶データの複製を、前記第１の識別子と共に受信し、
前記第１の記憶データの複製と、前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算し、
前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶すること
を特徴とする請求項６に記載のストレージ装置の制御方法。
【請求項９】
前記第２のハードディスクドライブには、前記排他的論理和の全ての演算結果が記憶され、
通信可能に接続される前記他のストレージ装置が追加された場合に、
前記追加された他のストレージ装置が有する前記第１のハードディスクドライブへの書き込みデータを情報処理装置から受信した前記追加された他のストレージ装置により演算される、前記書き込みデータと前記書き込みデータが書き込まれる前記第１のハードディスクドライブの前記記憶ブロックに記憶されている前記第１の記憶データとの排他的論理和の演算結果を、前記書き込みデータが書き込まれる前記記憶ブロックを特定する前記第１の識別子と共に、前記追加された他のストレージ装置から受信し、
前記演算結果と、前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算し、
前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶すること
を特徴とする請求項６に記載のストレージ装置の制御方法。
【請求項１０】
前記第２のハードディスクドライブには、前記排他的論理和の全ての演算結果が記憶され、
ある前記他のストレージ装置から、前記ある他のストレージ装置が有する前記第１のハードディスクドライブに記憶されているべき前記第１の記憶データの送信要求を受信し、
前記ある他のストレージ装置以外の前記他のストレージ装置に、それぞれの前記第１のハードディスクドライブの前記各記憶ブロックに記憶されている前記第１の記憶データの複製を、前記各第１の記憶データが記憶されている前記記憶ブロックを特定する前記第１の識別子と共に送信させるための送信要求を送信し、
前記ある他のストレージ装置以外の前記他のストレージ装置のそれぞれから、前記第１の記憶データの複製を、前記第１の識別子と共に受信し、
前記ある他のストレージ装置以外の前記他のストレージ装置のそれぞれから受信した前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製と、前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算し、
前記排他的論理和の演算結果を、前記第１の識別子と共に、前記ある他のストレージ装置に送信すること
を特徴とする請求項６に記載のストレージ装置の制御方法。
【請求項１１】
データを記憶する複数の第１のハードディスクドライブを有する複数の第１のストレージ装置と、前記各第１のストレージ装置と通信可能に接続され、データを記憶する複数の第２のハードディスクドライブを有する第２のストレージ装置とを備え、
前記第１のストレージ装置は、
前記複数の第１のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれに記憶される第１の記憶データの複製を、前記各記憶ブロックを特定する第１の識別子と共に前記第２のストレージ装置に送信する第１のデータ送信部を備え、
前記第２のストレージ装置は、
前記第１のストレージ装置のそれぞれから、前記第１の記憶データの複製を、前記第１の識別子と共に受信する第１のデータ受信部と、
前記第１のデータ受信部により前記第１のストレージ装置のそれぞれから受信された前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製の排他的論理和を演算する第１のデータ演算制御部と、
前記複数の第２のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれを特定する第２の識別子が前記第１の識別子と対応する前記第２のハードディスクドライブの前記記憶ブロックに、前記第１のデータ演算制御部により演算された前記排他的論理和の演算結果を記憶する第１のデータ記憶制御部と
を備えること
を特徴とするストレージシステム。
【請求項１２】
前記第２のハードディスクドライブには、前記第１のデータ演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
前記第１のストレージ装置は、
情報処理装置から前記第１のハードディスクドライブへの書き込みデータを受信した場合に、前記書き込みデータと前記書き込みデータが書き込まれる前記第１のハードディスクドライブの前記記憶ブロックに記憶されている前記第１の記憶データとの排他的論理和を演算する第２のデータ演算制御部と、
前記第２のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記書き込みデータが書き込まれる前記記憶ブロックを特定する前記第１の識別子と共に、前記第２のストレージ装置に送信する第２のデータ送信部と、
を備え、
前記第２のストレージ装置は、
前記第２のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記第１のストレージ装置から、前記第１の識別子と共に受信する第２のデータ受信部と、
前記第２のデータ受信部により受信された前記演算結果と、前記第２のデータ受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第３のデータ演算制御部と、
前記第３のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶する第２のデータ記憶制御部と
を備えること
を特徴とする請求項１１に記載のストレージシステム。
【請求項１３】
前記第２のハードディスクドライブには、前記第１のデータ演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
前記第２のストレージ装置は、
前記第２のストレージ装置と通信可能に接続される前記第１のストレージ装置が追加された場合に、前記追加された第１のストレージ装置に、前記第１のハードディスクドライブの前記各記憶ブロックに記憶されている前記第１の記憶データの複製を、前記各第１の記憶データが記憶されている前記記憶ブロックを特定する前記第１の識別子と共に送信させるための送信要求を送信する第３のデータ送信部を備え、
前記第１のストレージ装置は、
前記送信要求に応じて前記第１のハードディスクドライブの前記各記憶ブロックに記憶されている前記第１の記憶データの複製を、前記第１の識別子と共に前記第２のストレージ装置に送信する第４のデータ送信部を備え、
前記第２のストレージ装置は、
前記第１の記憶データの複製を、前記第１の識別子と共に前記第１のストレージ装置から受信する第３のデータ受信部と、
前記第３のデータ受信部により受信された前記第１の記憶データの複製と、前記第３のデータ受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第４のデータ演算制御部と、
前記第４のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶する第３のデータ記憶制御部と
を備えることを特徴とする請求項１１に記載のストレージシステム。
【請求項１４】
前記第２のハードディスクドライブには、前記第１のデータ演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
前記第２のストレージ装置と通信可能に接続される前記第１のストレージ装置が追加された場合に、
前記追加された第１のストレージ装置は、
情報処理装置から前記第１のハードディスクドライブへの書き込みデータを受信した場合に、前記書き込みデータと前記書き込みデータが書き込まれる前記第１のハードディスクドライブの前記記憶ブロックに記憶されている前記第１の記憶データとの排他的論理和を演算する第５のデータ演算制御部と、
前記第５のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記書き込みデータが書き込まれる前記記憶ブロックを特定する前記第１の識別子と共に、前記第２のストレージ装置に送信する第５のデータ送信部と、
を備え、
前記第２のストレージ装置は、
前記追加された第１のストレージ装置から、前記第５のデータ演算制御部により演算された前記排他的論理和の演算結果を前記第１の識別子と共に受信する第４のデータ受信部と、
前記第４のデータ受信部により受信された前記演算結果と、前記第４のデータ受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第６のデータ演算制御部と、
前記第６のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶する第４のデータ記憶制御部と
を備えること
を特徴とする請求項１１に記載のストレージシステム。
【請求項１５】
前記第２のハードディスクドライブには、前記第１のデータ演算制御部により演算された前記排他的論理和の全ての演算結果が記憶され、
前記第１のストレージ装置は、
前記第１のストレージ装置が有する前記第１のハードディスクドライブに記憶されているべき前記第１の記憶データの送信要求を前記第２のストレージ装置に送信する第６のデータ送信部を備え、
前記第２のストレージ装置は、
前記第１のストレージ装置から、前記第１の記憶データの送信要求を受信する第５のデータ受信部と、
前記第１の記憶データの送信要求に応じて、前記第１の記憶データの送信要求を送信した前記第１のストレージ装置以外の前記第１のストレージ装置に、それぞれの前記第１のハードディスクドライブの前記各記憶ブロックに記憶されている前記第１の記憶データの複製を、前記各第１の記憶データが記憶されている前記記憶ブロックを特定する前記第１の識別子と共に送信させるための送信要求を送信する第７のデータ送信部と、
前記第１の記憶データの送信要求を送信した前記第１のストレージ装置以外の前記第１のストレージ装置のそれぞれから、前記第１の記憶データの複製を、前記第１の識別子と共に受信する第６のデータ受信部と、
前記第６のデータ受信部により受信された前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製と、前記第６のデータ受信部により受信された前記第１の識別子と対応する前記第２の識別子で特定される前記第２のハードディスクドライブの前記記憶ブロックに記憶されている第２の記憶データとの排他的論理和を演算する第７のデータ演算制御部と、
前記第７のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記第１の識別子と共に、前記第１の記憶データの送信要求を送信した前記第１のストレージ装置に送信する第８のデータ送信部と、
を備え、
前記第１のストレージ装置は、
前記第７のデータ演算制御部により演算された前記排他的論理和の演算結果を、前記第１の識別子と共に、前記第２のストレージ装置から受信する第７のデータ受信部と、
前記第７のデータ受信部により受信された前記排他的論理和の演算結果を、前記第７のデータ受信部により受信された前記第１の識別子で特定される前記第１のハードディスクドライブの前記記憶ブロックに記憶する第５のデータ記憶制御部と
を備えること
を特徴とする請求項１１に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージ装置の制御方法、及びストレージシステムに関する。
【背景技術】
【０００２】
ストレージ装置に記憶されるデータが消失した場合に、元のデータを復元できるようにするために、データのバックアップが行われる。このデータのバックアップは、通常ストレージ装置に記憶されるデータの複製を、バックアップ用のストレージ装置にも記憶させておくことにより行われる。
【０００３】
またこのデータのバックアップをレプリケーションの技術を利用して行う技術も開発されている。レプリケーションは、通信可能に接続されたストレージ装置間で、一方のストレージ装置にデータが書き込まれると、そのデータの複製が他方のストレージ装置に送信され、他方のストレージ装置にそのデータの複製が書き込まれるように制御するための技術である。
【特許文献１】特開２００２−２５９１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながらバックアップされる元のデータを記憶するストレージ装置が複数ある場合には、バックアップ用のストレージ装置は、それらのストレージ装置のそれぞれに記憶される元のデータの全ての複製を記憶することができるだけの記憶容量を備えていることが必要である。  
またレプリケーションの技術を利用してデータのバックアップを行う場合には、バックアップされる元のデータを記憶するストレージ装置毎に、ペアを組むバックアップ用のストレージ装置を設ける必要がある。  
このようなことから、データのバックアップを行うためには、数多くのストレージ装置を維持管理することが必要となり、そのための維持管理コストも大きなものとなる。
【０００５】
今日、情報処理システムで取り扱われるデータ量は急激に増大しており、データのバックアップを合理化し、バックアップのためのコストを抑制し、ひいては情報処理システムのコストを抑制するための技術が強く求められている。
【０００６】
本発明は上記課題を鑑みてなされたものであり、ストレージ装置、ストレージ装置の制御方法、及びストレージシステムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、データを記憶する複数の第１のハードディスクドライブを有する複数の他のストレージ装置と通信可能に接続され、データを記憶する複数の第２のハードディスクドライブと、前記他のストレージ装置のそれぞれから、前記複数の第１のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれに記憶される第１の記憶データの複製を、前記各記憶ブロックを特定する第１の識別子と共に受信する第１の受信部と、前記第１の受信部により前記他のストレージ装置のそれぞれから受信された前記第１の記憶データの複製のうち、前記第１の識別子がそれぞれ対応する前記第１の記憶データの複製の排他的論理和を演算する第１の演算制御部と、前記複数の第２のハードディスクドライブのデータ記憶領域を論理的に区分してなる複数の記憶ブロックのそれぞれを特定する第２の識別子が前記第１の識別子と対応する前記第２のハードディスクドライブの前記記憶ブロックに、前記第１の演算制御部により演算された前記排他的論理和の演算結果を記憶する第１の記憶制御部とを備えることを特徴とするストレージ装置に関する。
【０００８】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００９】
ストレージ装置、ストレージ装置の制御方法、及びストレージシステムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
＝＝＝全体構成例＝＝＝
まず、本実施の形態に係るストレージ装置６００を含む情報処理システムの全体構成を示すブロック図を図１に示す。本実施の形態に係る情報処理システムは、複数のストレージ装置６００を含んで構成されるストレージシステムと、各ストレージ装置６００と通信可能に接続される情報処理装置２００とを含んで構成される。
【００１１】
本実施の形態に係るストレージシステムは、ストレージ装置１乃至４（６００）を備える。ストレージ装置１乃至３（他のストレージ装置、第１のストレージ装置、以下データストレージ装置とも記す）（６００）には、情報処理装置１乃至４（２００）が通信可能に接続されている。ストレージ装置１（６００）には情報処理装置１（２００）が接続され、ストレージ装置２（６００）には情報処理装置２（２００）が接続され、ストレージ装置３（６００）には情報処理装置３及び４（２００）が接続されている。各情報処理装置２００は、それぞれ通信可能に接続されたストレージ装置６００に対してデータ入出力要求を送信する。各ストレージ装置６００は、情報処理装置２００から送信されたデータ入出力要求に応じて、ストレージ装置６００が備える記憶領域（データ記憶領域とも記す）に記憶されるデータの読み書きを行う。
【００１２】
情報処理装置２００はＣＰＵ（Central Processing Unit）やメモリを備えたコンピュータ等の情報機器である。情報処理装置２００が備えるＣＰＵにより各種アプリケーションプログラムが実行されることにより様々な機能が実現される。情報処理装置２００により実現される機能としては、例えば銀行の自動預金預け払いサービスや、航空機の座席予約サービスとすることができる。情報処理装置２００は、例えばパーソナルコンピュータやワークステーションとすることもできるし、メインフレームコンピュータとすることもできる。
【００１３】
ストレージ装置３（６００）は、ＳＡＮ（Storage Area Network）５００を介して情報処理装置３及び４（２００）と通信可能に接続されている。ＳＡＮ５００を介して行われる情報処理装置２００とストレージ装置６００との間の通信は、ファイバチャネルプロトコルに従って行われるようにすることができる。この場合ＳＡＮ５００は、ファイバチャネルプロトコルに準拠した少なくとも一つ以上のスイッチ等の通信機器により構成される。情報処理装置３及び４（２００）からは、ストレージ装置３（６００）に対して、ファイバチャネルプロトコルに従ってデータ入出力要求が送信される。
【００１４】
もちろん、ＳＡＮ５００によらずに情報処理装置３及び４（２００）とストレージ装置３（６００）とを接続するようにすることもできる。この場合、情報処理装置３及び４（２００）とストレージ装置３（６００）との間の通信は、例えばＦＩＣＯＮ（Fibre Connection）（登録商標）やＥＳＣＯＮ(Enterprise System Connection) （登録商標）、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）、ｉＳＣＳＩ（Internet Small Computer Systems Interface）などの通信プロトコルにより行うようにすることもできる。
【００１５】
また、もちろん情報処理装置１（２００）とストレージ装置１（６００）との間の通信、情報処理装置２（２００）とストレージ装置２（６００）との間の通信についても、ファイバチャネルプロトコルや、ＦＩＣＯＮ（登録商標）、ＥＳＣＯＮ（登録商標）、ＴＣＰ／ＩＰ、ｉＳＣＳＩなどの通信プロトコルにより行うようにすることもできる。
【００１６】
また図１に示すように、情報処理装置１乃至４（２００）はＬＡＮ（Local Area Network）４００で通信可能に接続されているようにすることもできる。ここでＬＡＮ４００は、例えばインターネットとすることができる。
【００１７】
また、各ストレージ装置６００に接続される情報処理装置２００の数は図１に示される例に限定されることはなく、適宜の台数にすることができる。また同様に、各情報処理装置２００に接続されるストレージ装置６００の数も、適宜の台数とすることができる。
【００１８】
ストレージ装置４（第２のストレージ装置、以下、パリティストレージ装置とも記す）（６００）は、ストレージ装置１乃至３（６００）と通信可能に接続されている。そして本実施の形態に係るストレージ装置４（６００）が備える記憶領域には、ストレージ装置１乃至３（６００）（他のストレージ装置）の記憶領域にそれぞれ記憶されるデータをバックアップするためのデータが記憶される。
【００１９】
すなわち、詳細な仕組みについては後述するが、本実施の形態に係るストレージ装置４（６００）には、ストレージ装置１乃至３（６００）の記憶領域にそれぞれ記憶されるデータから演算される排他的論理和の演算結果が記憶される。そしてストレージ装置１乃至３のいずれかの記憶領域に記憶されるデータ、例えばストレージ装置１（６００）の記憶領域に記憶されるデータを復元することが必要となった場合には、ストレージ装置１（６００）以外のストレージ装置（６００）、すなわちストレージ装置２乃至４（６００）の記憶領域に記憶されるデータから排他的論理和を演算することによりストレージ装置１（６００）の記憶領域に記憶されるデータを復元するようにする。
【００２０】
これを式で表せば以下のようになる。すなわち、ストレージ装置１（６００）に記憶されるデータをＤ１、ストレージ装置２（６００）に記憶されるデータをＤ２、ストレージ装置３（６００）に記憶されるデータをＤ３とすれば、ストレージ装置４（６００）に記憶されるデータであるＤ４は、Ｄ１（ＥＸＯＲ）Ｄ２（ＥＸＯＲ）Ｄ３となる。ただし”（ＥＸＯＲ）”は排他的論理和の演算子を示す。ここで、Ｄ１を復元することが必要になった場合には、Ｄ４（ＥＸＯＲ）Ｄ２（ＥＸＯＲ）Ｄ３を演算する。このようにしてＤ１を復元することができる。
【００２１】
このようにすることにより、本実施の形態によれば、ストレージ装置４（６００）と通信可能に接続される他のストレージ装置６００の台数が何台であっても、他のストレージ装置（６００）の記憶領域に記憶されるデータをバックアップすることが可能となる。
【００２２】
なおストレージ装置４（６００）は、ストレージ装置１乃至３（６００）の記憶領域にそれぞれ記憶されるデータをバックアップするためのデータを記憶するための専用のストレージ装置６００とすることもできるし、ストレージ装置１乃至３（６００）と同様に、情報処理装置２００と通信可能に接続され、その情報処理装置２００からのデータ入出力要求に応じて記憶領域に記憶されるデータの読み書きを行うこともできるストレージ装置６００とすることもできる。
【００２３】
＝＝＝ストレージ装置＝＝＝
次に、本実施の形態に係るストレージ装置６００のブロック図を図２に示す。なお図２には、ストレージ装置６００が５台の情報処理装置２００と通信可能に接続される場合の例を示す。
【００２４】
ストレージ装置６００は、ストレージ制御装置１００とストレージ駆動装置３００とを備える。ストレージ制御装置１００は、例えば情報処理装置１乃至５（２００）から受信したコマンドに従ってストレージ駆動装置３００に対する制御を行う。例えば情報処理装置１乃至５（２００）からデータ入出力要求を受信して、ストレージ駆動装置３００が備える記憶ボリューム３１０に対してデータの読み書きを行う。記憶ボリューム３１０とは、ハードディスクドライブ等の物理ディスクドライブにより提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される論理的な記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域をいう。
【００２５】
図２において、情報処理装置１乃至４（２００）はＳＡＮ５００を介してストレージ制御装置１００と通信可能に接続されている。情報処理装置５（２００）は、ＳＡＮ５００等のネットワークを介さずにストレージ制御装置１００と接続されている。
【００２６】
＝＝＝ストレージ駆動装置＝＝＝
ストレージ駆動装置３００はデータを記憶する複数のハードディスクドライブを備えている。これによりストレージ装置６００は情報処理装置１乃至５（２００）に対して大容量の記憶領域を提供することができる。これらのハードディスクドライブは、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成するようにすることもできる。
【００２７】
ストレージ制御装置１００とストレージ駆動装置３００との間は図１のようにネットワークを介さずに直接に接続される形態とすることもできるし、ネットワークを介して接続されるようにすることもできる。さらにストレージ駆動装置３００はストレージ制御装置１００と一体として構成されるようにすることもできる。
【００２８】
＝＝＝ストレージ制御装置＝＝＝
ストレージ制御装置１００はチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０、管理端末１６０、内部接続部１５０を備える。
【００２９】
チャネル制御部１１０は、情報処理装置２００や他のストレージ装置６００との間で通信を行うための通信インタフェースを備える。またチャネル制御部１１０は管理端末１６０と共に内部ＬＡＮ１５１で接続されている。これによりチャネル制御部１１０に実行させるマイクロプログラム等を管理端末１６０から送信しインストールすることが可能となっている。チャネル制御部１１０の構成については後述する。
【００３０】
内部接続部１５０はチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０を相互に接続する。チャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０の間でのデータやコマンドの授受は内部接続部１５０を介することにより行われる。内部接続部１５０は例えばクロスバスイッチで構成される。
【００３１】
共有メモリ１２０及びキャッシュメモリ１３０は、チャネル制御部１１０とディスク制御部１４０との間で授受されるコマンドやデータ等を記憶するメモリである。共有メモリ１２０は主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ１３０は、主にデータを記憶するために利用される。
【００３２】
例えば、あるチャネル制御部１１０が情報処理装置２００から受信したデータ入出力要求がデータ書き込み要求であった場合には、当該チャネル制御部１１０はデータ書き込み要求を共有メモリ１２０に書き込むと共に、情報処理装置２００から受信した書き込みデータをキャッシュメモリ１３０に書き込む。一方、ディスク制御部１４０は共有メモリ１２０を監視しており、共有メモリ１２０にデータ書き込み要求が書き込まれたことを検出すると、当該データ書き込み要求に従ってキャッシュメモリ１３０から書き込みデータを読み出してストレージ駆動装置３００に書き込む。
【００３３】
またあるチャネル制御部１１０が情報処理装置２００から受信したデータ入出力要求がデータ読み出し要求であった場合には、読み出し対象となる読み出しデータがキャッシュメモリ１３０に存在するかどうかを調べる。ここでキャッシュメモリ１３０に存在すれば、チャネル制御部１１０はその読み出しデータを情報処理装置２００に送信する。一方、読みだしデータがキャッシュメモリ１３０に存在しない場合には、当該チャネル制御部１１０はデータ読み出し要求を共有メモリ１２０に書き込むと共に、共有メモリ１２０を監視する。データ読み出し要求が共有メモリ１２０に書き込まれたことを検出したディスク制御部１４０は、ストレージ駆動装置３００から読みだし対象となる読み出しデータを読み出してこれをキャッシュメモリ１３０に書き込むと共に、その旨を共有メモリ１２０に書き込む。そして、チャネル制御部１１０は読みだし対象となる読み出しデータがキャッシュメモリ１３０に書き込まれたことを検出すると、その読み出しデータを情報処理装置２００に送信する。
【００３４】
このようにチャネル制御部１１０及びディスク制御部１４０の間では、キャッシュメモリ１３０を介してデータの授受が行われる。
【００３５】
なお、チャネル制御部１１０からディスク制御部１４０に対するデータの書き込みや読み出しの指示を共有メモリ１２０を介在させて間接的に行う構成の他、例えばチャネル制御部１１０からディスク制御部１４０に対してデータの書き込みや読み出しの指示を共有メモリ１２０を介さずに直接に行う構成とすることもできる。  
また、チャネル制御部１１０とディスク制御部１４０とを一体的に構成し、両機能を合わせ持った制御部を設けるようにすることもできる。
【００３６】
本実施の形態に係る共有メモリ１２０には、図９に示すように、パリティグループ管理テーブル７１０、パリティブロック管理テーブル７２０、パリティブロック数総括管理テーブル７３０、初期データ管理テーブル７４０が記憶される。これらの各テーブルについては後述する。
【００３７】
ディスク制御部１４０は、ストレージ駆動装置３００と通信可能に接続され、データを記憶する記憶ボリューム３１０に記憶されるデータの読み書きを行う。例えば上述のように、チャネル制御部１１０が情報処理装置２００から受信したデータ入出力要求に応じて、記憶ボリューム３１０に記憶されるデータの読み書きを行う。
【００３８】
各ディスク制御部１４０は管理端末１６０と共に内部ＬＡＮ１５１で接続されており、相互に通信を行うことが可能である。これにより、ディスク制御部１４０に実行させるマイクロプログラム等を管理端末１６０から送信しインストールすることが可能となっている。ディスク制御部１４０の構成については後述する。
【００３９】
本実施例においては、共有メモリ１２０及びキャッシュメモリ１３０がチャネル制御部１１０及びディスク制御部１４０に対して独立に設けられている場合について記載したが、本実施例はこの場合に限られるものでない。例えば共有メモリ１２０又はキャッシュメモリ１３０がチャネル制御部１１０及びディスク制御部１４０の各々に分散されて設けられることも好ましい。この場合、内部接続部１５０は、分散された共有メモリ１２０又はキャッシュメモリ１３０を有するチャネル制御部１１０及びディスク制御部１４０を相互に接続させることになる。
【００４０】
また、チャネル制御部１１０、ディスク制御部１４０、内部接続部１５０、共有メモリ１２０、キャッシュメモリ１３０の少なくともいずれかが一体として構成されているようにすることもできる。
【００４１】
＝＝＝管理端末＝＝＝
管理端末１６０はストレージ装置６００を保守・管理するための情報機器である。オペレータは、管理端末１６０を操作することにより、例えばストレージ駆動装置３００内のハードディスクドライブの構成の設定や、情報処理装置２００とチャネル制御部１１０との間の通信路であるパスの設定、記憶ボリューム３１０の設定、チャネル制御部１１０やディスク制御部１４０において実行されるマイクロプログラムのインストール等を行うことができる。これらの設定や制御は、管理端末１６０が備えるユーザインタフェース、あるいは管理端末１６０で動作するＷｅｂサーバにより提供されるＷｅｂページを表示する情報処理装置１乃至５（２００）等のユーザインタフェースから行うようにすることができる。
【００４２】
管理端末１６０はストレージ制御装置１００に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また管理端末１６０は、ストレージ装置６００の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【００４３】
管理端末１６０の構成を示すブロック図を図５に示す。  
管理端末１６０は、ＣＰＵ１６１、メモリ１６２、ポート１６３、記録媒体読取装置１６４、入力装置１６５、出力装置１６６、記憶装置１６８を備える。
【００４４】
ＣＰＵ１６１は管理端末１６０の全体の制御を司るもので、メモリ１６２に記憶された各種の動作を行うためのコードから構成されるストレージ管理プログラム１６２Ａを実行することにより、ストレージ装置６００の保守・管理機能を提供することができる。また同様に例えばストレージ管理プログラム１６２Ａを実行することにより上記Ｗｅｂサーバとしての機能等を実現するようにすることができる。
【００４５】
記録媒体読取装置１６４は、記録媒体１６７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ１６２や記憶装置１６８に格納される。従って、例えば記録媒体１６７に記録されたストレージ管理プログラム１６２Ａを、記録媒体読取装置１６４を用いて上記記録媒体１６７から読み取って、メモリ１６２や記憶装置１６８に格納するようにすることができる。記録媒体１６７としてはフレキシブルディスクやＣＤ−ＲＯＭ、半導体メモリ等を用いることができる。記録媒体読取装置１６４は管理端末１６０に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置１６８は、例えばハードディスク装置や半導体記憶装置等である。入力装置１６５はオペレータ等による管理端末１６０へのデータ入力等のために用いられるユーザインタフェースである。入力装置１６５としては例えばキーボードやマウス等が用いられる。出力装置１６６は情報を外部に出力するために用いられるユーザインタフェースである。出力装置１６６としては例えばディスプレイやプリンタ等が用いられる。ポート１６３は内部ＬＡＮ１５１に接続されており、これにより管理端末１６０はチャネル制御部１１０やディスク制御部１４０等と通信を行うことができる。またポート１６３は例えばＬＡＮ４００等と通信可能に接続されるようにすることもできる。この場合管理端末１６０は、ＬＡＮ４００を通じて情報処理装置１乃至５（２００）と通信を行うようにすることもできる。
【００４６】
＝＝＝外観図＝＝＝
次に、本実施の形態に係るストレージ装置６００の外観構成を図３に示す。また、ストレージ制御装置１００の外観構成を図４に示す。  
図３に示すように、本実施の形態に係るストレージ装置６００はストレージ制御装置１００及びストレージ駆動装置３００がそれぞれの筐体に納められた形態をしている。図３に示す例では、ストレージ制御装置１００の筐体の両側にストレージ駆動装置３００の筐体が配置されている。
【００４７】
ストレージ制御装置１００は、正面中央部に管理端末１６０が備えられている。管理端末１６０はカバーで覆われており、図４に示すようにカバーを開けることにより管理端
末１６０を使用することができる。なお図４に示した管理端末１６０はいわゆるノート型パーソナルコンピュータの形態をしているが、どのような形態とすることも可能である。
【００４８】
管理端末１６０の下部には、チャネル制御部１１０やディスク制御部１４０、キャッシュメモリ１３０、共有メモリ１２０、内部接続部１５０を装着するためのスロットが設けられている。チャネル制御部１１０やディスク制御部１４０、キャッシュメモリ１３０、共有メモリ１２０、内部接続部１５０は回路基板を備えてボードとして構成されており、これらのボードが各スロットに装着される。各スロットにはこれらのボードを装着するためのガイドレールが設けられている。ガイドレールに沿って各ボードをスロットに挿入することにより、チャネル制御部１１０やディスク制御部１４０、キャッシュメモリ１３０、共有メモリ１２０、内部接続部１５０をストレージ制御装置１００に装着することができる。各スロットの奥手方向正面部には、各ボードをストレージ制御装置１００と電気的に接続するためのコネクタが設けられている。
【００４９】
またストレージ制御装置１００には、チャネル制御部１１０等から発生する熱を放出するためのファン１７０が設けられている。ファン１７０はストレージ制御装置１００の上面部に設けられる他、スロットの上部にも設けられている。
【００５０】
＝＝＝チャネル制御部＝＝＝
チャネル制御部１１０の構成を図６に示す。  
チャネル制御部１１０は回路基板を備えた一つのユニット化されたボードとして構成される。チャネル制御部１１０は一枚もしくは複数枚の回路基板を含んで構成される。回路基板には、インタフェース部１１１、メモリ１１３、ＣＰＵ１１２、ＮＶＲＡＭ（nonvolatile random-access memory）１１４、コネクタ１１５が形成される。
【００５１】
インタフェース部１１１は、情報処理装置２００や他のストレージ装置６００との間で通信を行うための通信インタフェースや、内部接続部１５０を介して共有メモリ１２０やキャッシュメモリ１３０、チャネル制御部１１０等との間で通信を行うための通信インタフェースを備える。  
ＣＰＵ１１２は、チャネル制御部１１０全体の制御を司る。ＣＰＵ１１２によりメモリ１１３やＮＶＲＡＭ１１４に格納された各種プログラムが実行されることにより本実施の形態に係るチャネル制御部１１０の機能が実現される。  
ＮＶＲＡＭ１１４はＣＰＵ１１２の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１１４に記憶されるプログラムの内容は、管理端末１６０からの指示により書き込みや書き換えを行うことができる。  
チャネル制御部１１０はコネクタ１１５を備えている。コネクタ１１５がストレージ制御装置１００側のコネクタと嵌合することにより、チャネル制御部１１０はストレージ制御装置１００の内部接続部１５０や管理端末１６０等と電気的に接続される。  
メモリ１１３には、ストレージ制御プログラム８１０、データ送受信制御プログラム８２０、パリティ制御プログラム８３０、障害検知プログラム８４０が記憶される。
【００５２】
ストレージ制御プログラム８１０は、記憶ボリューム３１０に記憶されるデータの入出力制御やストレージ装置６００における各種設定のための制御等を行うためのプログラムである。例えば後述するパリティグループ管理テーブル７１０、パリティブロック管理テーブル７２０、パリティブロック数統括管理テーブル７３０、初期データ管理テーブル７４０の作成更新等は、ＣＰＵ１１２によりストレージ制御プログラム８１０が実行されることにより行われる。また第１乃至第４の記憶制御部、及び第１乃至第５のデータ記憶制御部は、例えばチャネル制御部１１０においてＣＰＵ１１２によりストレージ制御プログラム８１０が実行され、ディスク制御部１４０や共有メモリ１２０、キャッシュメモリ１３０、ディスク駆動装置３００等と協働して動作することにより実現される。
【００５３】
データ送受信制御プログラム８２０は、他のストレージ装置６００や情報処理装置２００との間のデータの送受信を制御するためのプログラムである。従って第１乃至第６の受信部や第１乃至第２の送信部、第１乃至第７のデータ受信部、第１乃至第８のデータ送信部は、例えばＣＰＵ１１２によりデータ送受信制御プログラム８２０が実行されることにより実現される。
【００５４】
パリティ制御プログラム８３０は、排他的論理和の演算を行うためのプログラムである。例えば複数の他のストレージ装置６００からそれぞれ受信したデータの排他的論理和の演算や、記憶ボリューム３１０に記憶されているデータと情報処理装置２００から受信したデータとの排他的論理和の演算、記憶ボリューム３１０に記憶されているデータと他のストレージ装置６００から受信したデータとの排他的論理和の演算などを行う。従って第１乃至第５の演算制御部や第１乃至第７のデータ演算制御部は、例えばＣＰＵ１１２によりパリティ制御プログラム８３０が実行されることにより実現される。
【００５５】
障害検知プログラム８４０は、ストレージ装置６００に発生する障害を検知するためのプログラムである。例えば記憶ボリューム３１０に記憶されているデータに異常がないかを検知する。
【００５６】
記憶ボリューム３１０に記憶されているデータに異常を検知したストレージ装置６００が、図１におけるストレージ装置１乃至３（６００）のいずれかの場合、例えばストレージ装置１（６００）の場合には、ストレージ装置１（６００）はストレージ装置４（６００）に対して元のデータの送信要求を送信する。そうするとストレージ装置４（６００）は、ストレージ装置１（６００）以外のストレージ装置６００すなわちストレージ装置２乃至３（６００）に対して、それぞれのストレージ装置６００に記憶されているデータの送信要求を送信する。そしてストレージ装置４（６００）は、ストレージ装置２乃至４（６００）に記憶されているデータの排他的論理和を演算することにより、ストレージ装置１（６００）に記憶されていた元のデータを復元し、ストレージ装置１（６００）に送信する。
【００５７】
一方、記憶ボリューム３１０に記憶されているデータに異常を検知したストレージ装置６００が、図１におけるストレージ装置４（６００）の場合には、ストレージ装置１乃至３（６００）に対して、それぞれのストレージ装置６００に記憶されているデータの送信要求を送信する。そしてストレージ装置４（６００）は、ストレージ装置１乃至３（６００）に記憶されているデータの排他的論理和を演算することにより、ストレージ装置４（６００）に記憶されていた元のデータを復元する。
【００５８】
なお、ストレージ制御プログラム８１０や、データ送受信制御プログラム８２０、パリティ制御プログラム８３０、障害検知プログラム８４０は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。
【００５９】
＝＝＝ディスク制御部＝＝＝
次にディスク制御部１４０の構成を示す図を図７に示す。  
ディスク制御部１４０は、回路基板を備えた一つのユニット化されたボードとして構成される。ディスク制御部１４０は一枚もしくは複数枚の回路基板を含んで構成される。回路基板には、インタフェース部１４１、メモリ１４３、ＣＰＵ１４２、ＮＶＲＡＭ１４４、コネクタ１４５が形成される。
【００６０】
インタフェース部１４１は、内部接続部１５０を介してチャネル制御部１１０等との間で通信を行うための通信インタフェースや、ストレージ駆動装置３００との間で通信を行うための通信インタフェースを備えている。  
ＣＰＵ１４２は、ディスク制御部１４０全体の制御を司る。ＣＰＵ１４２によりメモリ１４３やＮＶＲＡＭ１４４に格納された各種プログラムが実行されることにより本実施の形態に係るディスク制御部１４０の機能が実現される。  
ＮＶＲＡＭ１４４はＣＰＵ１４２の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１４４に記憶されるプログラムの内容は、管理端末１６０からの指示により書き込みや書き換えを行うことができる。  
またディスク制御部１４０はコネクタ１４５を備えている。コネクタ１４５がストレージ制御装置１００側のコネクタと嵌合することにより、ディスク制御部１４０はストレージ制御装置１００の内部接続部１５０や、ストレージ駆動装置３００、管理端末１６０等と電気的に接続される。
【００６１】
なお、上述のチャネル制御部１１０において実行されるパリティ制御プログラム８３０や障害検知プログラム８４０がディスク制御部１４０のメモリ１４３に記憶されるようにすることもできる。この場合、ＣＰＵ１４２によりパリティ制御プログラム８３０や障害検知プログラム８４０が実行されることにより、ディスク制御部１４０において上記排他的論理和の演算やストレージ装置６００に発生する障害の検知が行われるようにすることもできる。
【００６２】
＝＝＝情報処理装置＝＝＝
次に本実施の形態に係る情報処理装置２００の構成を示すブロック図を図８に示す。  
情報処理装置２００は、ＣＰＵ２１０、メモリ２２０、ポート２３０、記録媒体読取装置２４０、入力装置２５０、出力装置２６０、記憶装置２８０を備える。
【００６３】
ＣＰＵ２１０は情報処理装置２００の全体の制御を司るもので、メモリ２２０に記憶された各種の動作を行うためのコードから構成されるプログラム２２０Ａを実行することにより本実施の形態に係る各種機能を実現する。例えば、上述した銀行の自動預金預け払いサービス等の情報処理サービスの提供は、ＣＰＵ２１０がプログラム２２０Ａを実行することにより行われる。また、ＣＰＵ２１０がプログラム２２０Ａを実行することにより、上述した管理端末１６０で動作するＷｅｂサーバにより提供されるＷｅｂページの表示や、ハードディスクドライブの構成の変更や、情報処理装置２００とチャネル制御部１１０との間の通信路であるパスの設定、記憶ボリューム３１０の設定等を行うことができる。記録媒体読取装置２４０は記録媒体２７０に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２２０や記憶装置２８０に格納される。従って、例えば記録媒体２７０に記録されたプログラム２２０Ａを、記録媒体読取装置２４０を用いて上記記録媒体２７０から読み取って、メモリ２２０や記憶装置２８０に記憶するようにすることができる。  
記録媒体２７０としてはフレキシブルディスクやＣＤ−ＲＯＭ、半導体メモリ等を用いることができる。記録媒体読取装置２４０は情報処理装置２００に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。
【００６４】
記憶装置２８０は、例えばハードディスク装置や半導体記憶装置等とすることができる。また記憶装置２８０は情報処理装置２００に内蔵されるようにすることもできるし、外付けされるようにすることもできる。外付けされる場合には、通信ネットワークを介して接続される他の情報処理装置２００の記憶装置２８０とすることもできる。またストレージ装置６００とすることもできる。入力装置２５０は情報処理装置２００を操作するオペレータ等による情報処理装置２００へのデータ入力等のために用いられるユーザインタフェースである。入力装置２５０としては例えばキーボードやマウス等が用いられる。出力装置２６０は情報を外部に出力するためのユーザインタフェースである。出力装置２６０としては例えばディスプレイやプリンタ等が用いられる。ポート２３０は、チャネル制御部１１０と通信を行うための装置である。またポート２３０は、ＬＡＮ４００等の通信ネットワークを通じて他の情報処理装置２００や管理端末１６０と通信を行うことができるようにすることもできる。この場合、例えばプログラム２２０Ａをポート２３０を介して他の情報処理装置２００から受信して、メモリ２２０や記憶装置２８０に記憶するようにすることもできる。
【００６５】
＝＝＝バックアップデータの作成＝＝＝
上述したように、本実施の形態においてはストレージ装置１乃至３（データストレージ装置、他のストレージ装置、第１のストレージ装置）（６００）に記憶されるデータをバックアップするためのデータがストレージ装置４（パリティストレージ装置、第２のストレージ装置）（６００）に記憶される。そこでまず、ストレージ装置４（６００）にストレージ装置１乃至３（６００）に記憶されるデータをバックアップするためのデータを記憶する際の処理の流れについて、図１４乃至図２６を用いて説明する。
【００６６】
データストレージ装置６００に記憶されるデータをバックアップするためのデータをパリティストレージ装置６００に記憶する場合のやり方として、同期方式、又は非同期方式を採用することができる。
【００６７】
同期方式とは、パリティストレージ装置６００に通信可能に接続される全てのデータストレージ装置６００に記憶されるデータを用いて排他的論理和を演算し、その演算結果であるパリティデータをパリティストレージ装置６００に記憶する方式をいう。従って、例えばパリティストレージ装置６００に通信可能に接続されるデータストレージ装置６００が追加される場合には、同期方式の場合には、追加されるストレージ装置６００を含む全てのデータストレージ装置６００に記憶されるデータを用いて再度排他的論理和が演算され、パリティストレージ装置６００に記憶される。
【００６８】
これを式で表せば以下のようになる。すなわち例えば、データストレージ装置６００がストレージ装置１（６００）とストレージ装置２（６００）との２台の場合に、データストレージ装置としてストレージ装置３（６００）が追加される場合には、ストレージ装置１（６００）に記憶されるデータをＤ１、ストレージ装置２（６００）に記憶されるデータをＤ２、ストレージ装置３（６００）に記憶されるデータをＤ３とすれば、パリティストレージ装置６００に記憶されるデータは、ストレージ装置３（６００）が追加される際に、Ｄ１（ＥＸＯＲ）Ｄ２（ＥＸＯＲ）Ｄ３が演算されることにより作成される。
【００６９】
一方、非同期方式とは、パリティストレージ装置６００に通信可能に接続されるデータストレージ装置６００が追加される場合に、パリティストレージ装置６００に元々記憶されるデータと追加されるストレージ装置６００に記憶されるデータとを用いて排他的論理和が演算され、パリティストレージ装置６００に記憶される方式をいう。
【００７０】
同様にこれを式で表せば以下のようになる。すなわちストレージ装置３（６００）が追加される前にパリティストレージ装置６００に記憶されていたデータをＤ４とすれば、ストレージ装置３（６００）が追加される際に、Ｄ４（ＥＸＯＲ）Ｄ３が演算されることによりパリティストレージ装置６００に記憶されるデータが作成される。
【００７１】
まず図１４に、同期方式の場合の処理の流れを、パリティストレージ装置６００における処理と、データストレージ装置６００における処理とを分けて示す。  
まずパリティストレージ装置６００は設定入力情報を受け付ける（S1000）。設定入力情報の受付は、例えば図１５に示すようなウインドウ画面を、管理端末１６０が備える出力装置１６６に表示し、オペレータ等からの入力を入力装置１６６から受け付けることにより行うことができる。オペレータ等から受け付ける設定内容は、例えば「パリティブロック長」、「パリティグループ構成ストレージ装置」、「パリティデータ記憶ストレージ装置」、「初期化方式」とすることができる。
【００７２】
「パリティブロック長」欄は、パリティブロックの大きさを定義するための欄である。パリティブロックとは、ストレージ装置６００が備えるハードディスクドライブのデータ記憶領域を論理的に区分してなる記憶領域（記憶ブロック）を言う。パリティブロック長はパリティブロックのサイズである。図１５には、パリティブロック長を５１２バイトとする場合の例が示される。各パリティブロックは、ストレージ装置６００内において一意に付与される識別子（パリティブロック番号）により特定される。
【００７３】
「パリティグループ構成ストレージ装置」欄は、データストレージ装置６００を構成するストレージ装置６００を定義するための欄である。図１５には、データストレージ装置６００として、ストレージ装置１乃至３（６００）を定義する場合の例が示される。
【００７４】
「パリティデータ記憶ストレージ装置」欄は、データストレージ装置６００に記憶されるデータをバックアップするためのデータを記憶するパリティストレージ装置６００を構成するストレージ装置６００を定義するための欄である。図１５には、パリティストレージ装置６００として、ストレージ装置４（６００）を定義する場合の例が示される。
【００７５】
「初期化方式」欄は、データストレージ装置６００からパリティストレージ装置６００へのデータの送信のやり方を定義するための欄である。「初期化方式」には”順次式”と”ランダム式”とがある。”順次式”の場合は、データストレージ装置６００の各パリティブロックに記憶されるデータがパリティブロック番号順に、パリティストレージ装置６００に送信される。”ランダム式”の場合には、データストレージ装置６００が情報処理装置２００からデータ書き込み要求を受信するのを契機に、データ書き込み要求の対象となったパリティブロックに記憶されるデータと書き込みデータとの排他的論理和の演算結果がパリティストレージ装置６００に送信される。なお”ランダム式”において、データストレージ装置６００が情報処理装置２００からデータ読み出し要求を受信するのを契機に、データ読み出し要求の対象となったパリティブロックに記憶されるデータがパリティストレージ装置６００に送信されるようにすることもできる。
【００７６】
図１５の画面において、マウス等により”ＯＫ”欄をクリックすることにより、これらの設定入力情報がストレージ装置６００に入力される。  
そうするとパリティストレージ装置６００は、パリティブロック長を用いてパリティブロック数を求める（S1001）。具体的には、パリティストレージ装置６００が備える記憶領域の記憶容量をパリティブロック長で割って求めた値がパリティブロック数となる。
【００７７】
そしてパリティストレージ装置６００は、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S1002）。パリティグループ管理テーブル７１０を図１０に示す。またパリティブロック管理テーブル７２０を図１１に示す。
【００７８】
パリティグループ管理テーブル７１０は、「データ記憶ストレージ装置」欄と、「パリティ記憶ストレージ装置」欄とを備える。「データ記憶ストレージ装置」欄にはデータストレージ装置６００が記憶される。「パリティ記憶ストレージ装置」欄にはパリティストレージ装置６００が記憶される。上述したように、パリティグループ管理テーブル７１０は共有メモリ１２０に記憶される。
【００７９】
一方パリティブロック管理テーブル７２０は、「パリティブロック長」欄と、「パリティブロック数」欄と、「論理ボリューム番号」欄とを備える。「パリティブロック長」欄にはパリティブロック長が記憶される。「パリティブロック数」欄にはパリティブロック数が記憶される。「論理ボリューム番号」欄には、ストレージ装置６００が備える各論理ボリュームの各記憶領域の先頭のパリティブロック番号が記憶される。上述したように、パリティブロック管理テーブル７２０も共有メモリ１２０に記憶される。
【００８０】
続いてパリティストレージ装置６００は、各データストレージ装置６００へこれらの設定入力情報を送信する（S1003）。  
そうすると各データストレージ装置６００は、パリティストレージ装置６００から送信されたパリティブロック長を用いてパリティブロック数を求め（S1004）、パリティストレージ装置６００と同様に、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S1005）。
【００８１】
このように、パリティストレージ装置６００とデータストレージ装置６００とで、それぞれの記憶領域をパリティデータ長毎に論理的に区分することにより、両ストレージ装置６００の記憶領域をパリティブロック毎に対応付けることが可能となる。例えばパリティストレージ装置６００とデータストレージ装置６００とで同一のパリティブロック番号で特定されるパリティブロック同士を対応づけることが可能となる。その様子を示したのが図１６である。図１６においては、パリティブロック番号を特定（パリティブロック番号１２３５６）することにより、パリティストレージ装置６００とデータストレージ装置６００とのそれぞれのパリティブロックを特定することができることが示される。  
このようにすることにより、記憶ボリューム３１０の制御の方式が異なるストレージ装置６００を用いてストレージシステムを構成する場合にも、データストレージ装置６００に記憶されるデータをバックアップすることができるようになる。
【００８２】
なお記憶ボリューム３１０の制御の方式としては、例えば、メインフレーム系情報処理システムで使用されることの多いＣＫＤ（Count Key Data）方式や、オープン系情報処理システムで使用されることの多いＦＢＡ（Fixed Block Architecture）方式等がある。
【００８３】
次に各データストレージ装置６００は、パリティストレージ装置６００へ、S1004にて求めたパリティブロック数を送信する（S1006）。
【００８４】
パリティストレージ装置６００は、各データストレージ装置６００からそれぞれのパリティブロック数を受信すると、S1001で求めたパリティブロック数と比較し、パリティ生成可否を判定する（S1007）。S1001で求めたパリティブロック数よりも大きなパリティブロック数をデータストレージ装置６００から受信した場合には、S1007において”否”に進み、同期初期コピー不可の旨を管理端末１６０の出力装置１６６に表示して処理を終了する（S1015）。なぜならばこの場合、データストレージ装置６００の各パリティブロックに記憶されるデータのうち、パリティストレージ装置６００のパリティブロック番号（パリティブロックの識別子）の最大値よりも大きなパリティブロック番号で特定されるパリティブロックに記憶されるデータをバックアップするためのデータをパリティストレージ装置６００に記憶することはできないからである。
【００８５】
パリティストレージ装置６００は、S1001で求めたパリティブロック数よりも大きなパリティブロック数をデータストレージ装置６００から受信しない場合には、S1007において”可”に進み、パリティブロック数統括管理テーブル７３０を作成する（S1008）。パリティブロック数統括管理テーブル７３０を図１２に示す。図１２に示すように、パリティブロック数統括管理テーブル７３０には各ストレージ装置６００のパリティブロック数が記憶される。なお、パリティストレージ装置６００にてS1007におけるパリティ生成可否が判定される様子を示す図を図１７に示す。
【００８６】
続いてパリティストレージ装置６００は、各データストレージ装置６００へ、各パリティブロックに記憶されるデータをパリティブロック番号順に先頭から順次送信するように要求を送る（S1009）。そうすると各データストレージ装置６００は、要求に従って、各パリティブロックに記憶されるデータ（第１の記憶データ）の複製を先頭から順次、パリティブロック番号（第１の識別子）と共に送信する（S1010）。
【００８７】
ここで各ストレージ装置６００間でデータを授受する際のデータフォーマットを図３３に示す。データフォーマットは、「パリティブロック番号」欄と、「ステータス情報」欄と、「データ」欄とを含む。「パリティブロック番号」欄には、授受されるデータのパリティブロック番号が記載される。「ステータス情報」欄には各種制御情報が記載される。例えば、データの送信先ストレージ装置６００を示す情報や、送信元ストレージ装置６００を示す情報、あるいは、このデータフォーマットにより送信されるデータがパリティデータを作成するために用いられるデータである旨の情報、後述する情報処理装置２００により更新されたデータである旨の情報、「データ」欄に記載されるデータのデータ長すなわちパリティブロック長等が記載される。「データ」欄は、授受されるデータが記載される。
【００８８】
パリティストレージ装置６００は、データストレージ装置６００のそれぞれから、パリティブロックのそれぞれに記憶されるデータの複製を、各パリティブロックを特定するパリティブロック番号（第１の識別子）と共に受信する。そしてパリティストレージ装置６００は、データストレージ装置６００のそれぞれから受信した各パリティブロックのデータの複製のうち、パリティブロック番号が同一のデータの複製の排他的論理和を演算する（S1011）。その後、パリティストレージ装置６００のパリティブロックのそれぞれを特定するパリティブロック番号（第２の識別子）が、データストレージ装置６００から受信したパリティブロック番号と同一のパリティブロックに、排他的論理和の演算結果を記憶する（S1012）。
【００８９】
そしてパリティストレージ装置６００は初期データ管理テーブル７４０を更新する（S1013）。初期データ管理テーブル７４０は、各データストレージ装置６００に記憶されるデータのバックアップがどこまで行われているかを示すためのテーブルである。初期データ管理テーブル７４０の例を図１３に示す。図１３（Ａ）は、データストレージ装置６００単位で、各データストレージ装置６００に記憶されるデータのバックアップがどこまで行われているかを示す場合の例である。  
すなわち、「再計算中」欄が”ＯＦＦ”のデータストレージ装置６００は、すでにデータのバックアップのための計算、すなわち排他的論理和の演算が完了していることを示す。「再計算中」欄が”ＯＮ”のデータストレージ装置６００は、未だデータのバックアップのための計算、すなわち排他的論理和の演算が完了していないことを示す。同期方式でバックアップデータの作成が行われる場合には、図１３（Ａ）に示す初期データ管理テーブル７４０の「再計算中」欄は、全てのデータストレージ装置６００について”ＯＮ”であるか、全てのデータストレージ装置６００について”ＯＦＦ”であるかのいずれかになる。図１３（Ｂ）は、排他的論理和の演算のためのデータの送信が順方式行われる場合に、「再計算中」欄が”ＯＮ”のデータストレージ装置６００に対して、どのパリティブロックまで排他的論理和の演算が完了しているかを示す「再計算位置」欄を備える場合の例である。図１３（Ｃ）は、排他的論理和の演算のためのデータの送信がランダム式で行われる場合に、「再計算中」欄が”ＯＮ”のデータストレージ装置６００に対して、どのパリティブロックの排他的論理和の演算が完了しているかを示すための「再計算終了」欄を備える場合の例である。初期データ管理テーブル７４０としては、適宜、図１３の（Ａ）、（Ｂ）、又は（Ｃ）を採用することができる。
【００９０】
図１３（Ａ）を採用した場合の初期データ管理テーブル７４０の更新の様子を図１８に示す。図１３（Ｂ）を採用した場合の初期データ管理テーブル７４０の更新の様子を図１９に示す。図１３（Ｃ）を採用した場合の初期データ管理テーブル７４０の更新の様子を図２０に示す。
【００９１】
最後にパリティストレージ装置６００は、初期データ管理テーブル７４０を参照し、全てのパリティブロックについての排他的論理和の演算結果を記憶したか否かを確認し（S1014）、”Ｙｅｓ”の場合は処理を終了する。
【００９２】
以上の処理により、パリティストレージ装置６００の各パリティブロックには、各データストレージ装置６００のそれぞれ対応する各パリティブロックのデータにより演算された排他的論理和の演算結果を記憶することができる。なお、ここではパリティ生成可否の判定をパリティストレージ装置６００で行ったが（S1007）、各データストレージ装置６００で行うようにすることもできる。その場合の処理の流れを図２１に示す。
【００９３】
まずパリティストレージ装置６００は設定入力情報を受け付ける（S2000）。  
そうするとパリティストレージ装置６００は、パリティブロック長を用いてパリティブロック数を求める（S2001）。  
そしてパリティストレージ装置６００は、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S2002）。  
続いてパリティストレージ装置６００は、各データストレージ装置６００へこれらの設定入力情報と、S2001にて求めたパリティブロック数とを送信する（S2003）。  
そうすると各データストレージ装置６００は、パリティストレージ装置６００から送信されたパリティブロック長を用いてパリティブロック数を求め（S2004）、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S2005）。
【００９４】
各データストレージ装置６００は、パリティストレージ装置６００から送信されたパリティブロック数と、S2004にて求めたパリティブロック数とを比較し（S2006）、パリティ生成可否を判定する。パリティストレージ装置６００から送信されたパリティブロック数の方がS2004にて求めたパリティブロック数よりも大きい場合には、パリティ生成可能と判定し、パリティストレージ装置６００から送信されたパリティブロック数の方がS2004にて求めたパリティブロック数よりも小さい場合には、パリティ生成不可と判定する。そしてその判定の結果をパリティストレージ装置６００へ送信する（S2007）。
【００９５】
パリティストレージ装置６００は、各データストレージ装置６００からそれぞれのパリティ生成可否の判定結果を受信し、一つでもパリティ生成不可の判定結果があった場合には、S2008において”否”に進み、同期初期コピー不可の旨を管理端末１６０の出力装置１６６に表示して処理を終了する（S2016）。一方、全てパリティ生成可能の判定であった場合には、”可”に進み、パリティブロック数統括管理テーブル７３０を作成する（S2009）。
【００９６】
続いてパリティストレージ装置６００は、各データストレージ装置６００へ、各パリティブロックに記憶されるデータをパリティブロック番号順に先頭から順次送信するように要求を送る（S2010）。そうすると各データストレージ装置６００は、要求に従って、各パリティブロックに記憶されるデータの複製を先頭から順次、パリティブロック番号と共に送信する（S2011）。
【００９７】
そしてパリティストレージ装置６００は、データストレージ装置６００のそれぞれから、パリティブロックのそれぞれに記憶されるデータの複製を、各パリティブロックを特定するパリティブロック番号と共に受信し、データストレージ装置６００のそれぞれから受信した各パリティブロックのデータの複製のうち、パリティブロック番号が同一のデータの複製の排他的論理和を演算する（S2012）。その後、パリティストレージ装置６００のパリティブロックのそれぞれを特定するパリティブロック番号が、データストレージ装置６００から受信したパリティブロック番号と同一のパリティブロックに、排他的論理和の演算結果を記憶する（S2013）。  
そしてパリティストレージ装置６００は初期データ管理テーブル７４０を更新する（S2014）。  
最後にパリティストレージ装置６００は、初期データ管理テーブル７４０を参照し、全てのパリティブロックについての排他的論理和の演算結果を記憶したか否かを確認し（S2015）、”Ｙｅｓ”の場合は処理を終了する。  
各データストレージ装置６００にてパリティ生成可否が判定される場合の処理の様子を図２２に示す。
【００９８】
次に、図１５の同期方式パリティグループ設定画面において、「初期化方式」欄に”ランダム式”が入力される場合の処理の流れを図２３に示す。  
まずパリティストレージ装置６００は設定入力情報を受け付ける（S3000）。  
パリティストレージ装置６００は、入力されたパリティブロック長を用いてパリティブロック数を求める（S3001）。  
そしてパリティストレージ装置６００は、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S3002）。
【００９９】
続いてパリティストレージ装置６００は、各データストレージ装置６００へこれらの設定入力情報を送信する（S3003）。  
そうすると各データストレージ装置６００は、パリティストレージ装置６００から送信されたパリティブロック長を用いてパリティブロック数を求め（S3004）、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S3005）。  
各データストレージ装置６００は、パリティストレージ装置６００へ、S3004にて求めたパリティブロック数を送信する（S3006）。  
パリティストレージ装置６００は、各データストレージ装置６００からそれぞれのパリティブロック数を受信すると、S3001で求めたパリティブロック数と比較し、パリティ生成可否を判定する（S3007）。S3001で求めたパリティブロック数よりも大きなパリティブロック数をデータストレージ装置６００から受信した場合には、S3007において”否”に進み、同期初期コピー不可の旨を管理端末１６０の出力装置１６６に表示して処理を終了する（S3009）。
【０１００】
パリティストレージ装置６００は、S3001で求めたパリティブロック数よりも大きなパリティブロック数をデータストレージ装置６００から受信しない場合には、S3007において”可”に進み、パリティブロック数統括管理テーブル７３０を作成する（S3008）。  
その後は、パリティストレージ装置６００は、情報処理装置２００からデータ書き込み要求を受信したデータストレージ装置６００から、データ書き込み要求の対象となったパリティブロックに記憶されるデータと書き込みデータとの排他的論理和の演算結果を、そのデータ書き込み要求の対象となったパリティブロック番号と共に受信し、同一パリティブロック番号の演算結果が各データストレージ装置６００から送信される毎にそれらの排他的論理和を演算し、対応するパリティブロックにその排他的論理和の演算結果を記憶する。
【０１０１】
このようにすることにより、パリティストレージ装置６００の各パリティブロックには、各データストレージ装置６００のそれぞれ対応するパリティブロックのデータにより演算された排他的論理和の演算結果を記憶することができる。
【０１０２】
次に、非同期方式によりデータストレージ装置６００に記憶されるデータをバックアップするためのデータをパリティストレージ装置６００に記憶する場合の処理の流れについて図２４を用いて説明する。
【０１０３】
まずパリティストレージ装置６００は設定入力情報を受け付ける（S4000）。非同期方式の場合の設定入力情報の受付は、例えば図２５に示すようなウインドウ画面を、管理端末１６０が備える出力装置１６６に表示し、オペレータ等からの入力を入力装置１６６から受け付けることにより行うことができる。オペレータ等から受け付ける設定内容は、例えば「追加するデータストレージ装置」、「初期化方式」、「削除するデータストレージ装置」とすることができる。
【０１０４】
図２５に示すウインドウ画面においては、「現在の構成」欄に、現在のストレージシステムの構成が示される。すなわち、パリティストレージ装置６００はストレージ装置４（６００）であり、データストレージ装置６００はストレージ装置１（６００）とストレージ装置２（６００）であり、パリティブロック長が５１２バイトであることが示される。この場合、ストレージ装置４（６００）のハードディスクドライブの各パリティブロックには、ストレージ装置１（６００）とストレージ装置２（６００）とのそれぞれ対応するパリティブロックに記憶されるデータから演算された排他的論理和の全ての演算結果が記憶されている。図２５には、このような「現在の構成」に対して、ストレージ装置３（６００）をデータストレージ装置６００として追加する場合の例が示される。もちろん、図２５に示すウインドウ画面は一例であり、例えばパリティストレージ装置６００を変更するような入力を行えるようにすることもできるし、パリティブロック長を変更するような入力を行えるようにすることも可能である。
【０１０５】
図２５の画面において、マウス等により”ＯＫ”欄をクリックすることにより、これらの設定入力情報がストレージ装置６００に入力される。なお、図２５には「初期化方式」欄が”ランダム方式”となっているが、図２４に示すフローチャートは”順次式”の場合の例を示す。”ランダム式”の場合のフローチャートは図２６に示す。また「削除するデータストレージ装置」欄にデータストレージ装置６００が記載された場合のフローチャートは、図３２に示す。
【０１０６】
そうするとパリティストレージ装置６００は、まず「追加するデータストレージ装置」欄に記載されたデータストレージ装置６００が最初のストレージ装置６００であるか否かを判定する（S4001）。最初のストレージ装置６００とは、最初のデータストレージ装置６００をいう。つまり図２５の非同期式パリティグループ設定画面の「現在の構成」欄の「データストレージ装置」欄にデータストレージ装置６００が記載されていない場合には、「追加するデータストレージ装置」欄に記載されたストレージ装置６００は最初のストレージ装置６００となる。最初のストレージ装置６００でない場合にはS4001において”Ｎｏ”に進む。
【０１０７】
また最初のストレージ装置６００である場合にはS4001において”Ｙｅｓ”に進む。そしてパリティストレージ装置６００は、パリティブロック長を用いてパリティブロック数を求める（S4002）。  
そしてパリティストレージ装置６００は、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S4003）。  
続いてパリティストレージ装置６００は、追加されるデータストレージ装置６００へパリティブロック長を送信する（S4004）。  
そうすると追加されるデータストレージ装置６００は、パリティストレージ装置６００から送信されたパリティブロック長を用いてパリティブロック数を求め（S4005）、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S4006）。  
追加されるデータストレージ装置６００は、パリティストレージ装置６００へ、S4005にて求めたパリティブロック数を送信する（S4007）。
【０１０８】
パリティストレージ装置６００は、追加されるデータストレージ装置６００からパリティブロック数を受信すると、S4002で求めたパリティブロック数と比較し、パリティ生成可否を判定する（S4008）。S4002で求めたパリティブロック数よりも大きなパリティブロック数を追加されるデータストレージ装置６００から受信した場合には、S4008において”否”に進み、データストレージ装置６００の追加が不可である旨を管理端末１６０の出力装置１６６に表示して処理を終了する（S4016）。
【０１０９】
パリティストレージ装置６００は、S4002で求めたパリティブロック数よりも大きなパリティブロック数を追加されるデータストレージ装置６００から受信しない場合には、S4008において”可”に進み、パリティブロック数統括管理テーブル７３０を作成する（S4009）。
【０１１０】
続いてパリティストレージ装置６００は、追加されるデータストレージ装置６００へ、各パリティブロックに記憶されるデータ（第１の記憶データ）の複製をパリティブロック番号と共にパリティブロック番号順に先頭から順次送信させるための送信要求を送信する（S4010）。そうすると追加されるデータストレージ装置６００は、送信要求に応じて、各パリティブロックに記憶されるデータの複製を先頭から順次、パリティブロック番号と共にパリティストレージ装置６００に送信する（S4011）。
【０１１１】
そしてパリティストレージ装置６００は、追加されるデータストレージ装置６００から、パリティブロックのそれぞれに記憶されるデータの複製を、パリティブロック番号と共に受信し、追加されたデータストレージ装置６００から受信した各パリティブロックのデータの複製と、そのパリティブロック番号と同一のパリティブロック番号で特定されるパリティストレージ装置６００のバリティブロックのデータ（旧パリティデータ、第２の記憶データ）との排他的論理和を演算し（S4012）、その演算結果（新パリティデータ）を旧パリティデータが記憶されていたパリティストレージ装置６００のバリティブロックに記憶する（S4013）。
【０１１２】
そしてパリティストレージ装置６００は初期データ管理テーブル７４０を更新する（S4014）。  
最後にパリティストレージ装置６００は、初期データ管理テーブル７４０を参照して、全てのパリティブロックについての排他的論理和の演算結果を記憶したか否かを確認し（S4015）、”Ｙｅｓ”の場合は処理を終了する。
【０１１３】
以上の処理により、パリティストレージ装置６００の各パリティブロックには、追加されたデータストレージ装置６００を含む、各データストレージ装置６００のそれぞれ対応するパリティブロックのデータにより演算された排他的論理和の演算結果を記憶することができる。
【０１１４】
次に、図２５の非同期方式パリティグループ設定画面において、「初期化方式」欄に”ランダム式”が入力される場合の処理の流れを図２６に示す。
【０１１５】
まずパリティストレージ装置６００は設定入力情報を受け付ける（S5000）。  
そうするとパリティストレージ装置６００は、まず「追加するデータストレージ装置」欄に記載されたデータストレージ装置６００が最初のストレージ装置６００であるか否かを判定する（S5001）。最初のストレージ装置６００でない場合にはS5001において”Ｎｏ”に進む。  
また最初のストレージ装置６００である場合にはS5001において”Ｙｅｓ”に進む。そしてパリティストレージ装置６００は、パリティブロック長を用いてパリティブロック数を求める（S5002）。  
そしてパリティストレージ装置６００は、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S5003）。
【０１１６】
続いてパリティストレージ装置６００は、追加されるデータストレージ装置６００へパリティブロック長を送信する（S5004）。  
そうすると追加されるデータストレージ装置６００は、パリティストレージ装置６００から送信されたパリティブロック長を用いてパリティブロック数を求め（S5005）、パリティグループ管理テーブル７１０とパリティブロック管理テーブル７２０とを作成する（S5006）。  
追加されるデータストレージ装置６００は、パリティストレージ装置６００へ、S5005にて求めたパリティブロック数を送信する（S5007）。
【０１１７】
パリティストレージ装置６００は、追加されるデータストレージ装置６００からパリティブロック数を受信すると、S5002で求めたパリティブロック数と比較し、パリティ生成可否を判定する（S5008）。S5002で求めたパリティブロック数よりも大きなパリティブロック数を追加されるデータストレージ装置６００から受信した場合には、S5008において”否”に進み、データストレージ装置６００の追加が不可である旨を管理端末１６０の出力装置１６６に表示して処理を終了する（S5010）。
【０１１８】
パリティストレージ装置６００は、S5002で求めたパリティブロック数よりも大きなパリティブロック数を追加されるデータストレージ装置６００から受信しない場合には、S5008において”可”に進み、パリティブロック数統括管理テーブル７３０を作成する（S5009）。以上で処理を終了する。
【０１１９】
その後、追加されたデータストレージ装置６００は、情報処理装置２００からハードディスクドライブへの書き込みデータを受信した場合に、書き込みデータと書き込みデータが書き込まれるパリティブロックに記憶されているデータとの排他的論理和を演算し、その演算結果を、書き込みデータが書き込まれるパリティブロックのパリティブロック番号と共にパリティストレージ装置６００へ送信する。
【０１２０】
そして、パリティストレージ装置６００は、追加されたデータストレージ装置６００が情報処理装置２００からハードディスクドライブへの書き込みデータを受信した場合に、追加されたデータストレージ装置６００により演算される、書き込みデータと書き込みデータが書き込まれるパリティブロックに記憶されているデータとの排他的論理和の演算結果を、書き込みデータが書き込まれるパリティブロックのパリティブロック番号と共に、追加されたデータストレージ装置６００から受信し、受信した排他的論理和の演算結果と、受信したパリティブロック番号と同一のパリティブロック番号で特定されるパリティストレージ装置６００のハードディスクドライブのパリティブロックに記憶されているデータとの排他的論理和を演算し、その排他的論理和の演算結果を、パリティストレージ装置６００のパリティブロックに記憶する。
【０１２１】
このようにすることにより、パリティストレージ装置６００の各パリティブロックには、追加されたデータストレージ装置６００を含む各データストレージ装置６００のそれぞれ対応するパリティブロックのデータにより演算された排他的論理和の演算結果を記憶することができる。
【０１２２】
次に、図２５の非同期方式パリティグループ設定画面において、「削除するデータストレージ装置」欄にデータストレージ装置が入力される場合の処理の流れを図３２に示す。
【０１２３】
データストレージ装置６００をストレージシステムから削除する場合には、パリティストレージ装置６００に記憶されているデータと、削除するデータストレージ装置６００に記憶されているデータとの排他的論理和を演算し、その演算結果をパリティストレージ装置６００に記憶するようにすればよい。
【０１２４】
これは、例えばデータストレージ装置６００として、ストレージ装置１（６００）、ストレージ装置２（６００）、ストレージ装置３（６００）を備えるストレージシステムからストレージ装置３（６００）を削除する場合を考えると、ストレージ装置１（６００）に記憶されるデータをＤ１、ストレージ装置２（６００）に記憶されるデータをＤ２、ストレージ装置３（６００）に記憶されるデータをＤ３とすれば、パリティストレージ装置６００に記憶されるデータであるＤ４は、Ｄ１（ＥＸＯＲ）Ｄ２（ＥＸＯＲ）Ｄ３であるが、Ｄ４（ＥＸＯＲ）Ｄ３を演算すると、Ｄ１（ＥＸＯＲ）Ｄ２となるからである。
【０１２５】
データストレージ装置６００を削除する場合の処理の流れを図３２に示す。  
まずパリティストレージ装置６００は設定入力情報を受け付ける（S9000）。
【０１２６】
そうするとパリティストレージ装置６００は、削除されるデータストレージ装置６００へ、各パリティブロックに記憶されるデータをパリティブロック番号順に先頭から順次送信するように要求を送る（S9001）。そうすると削除されるデータストレージ装置６００は、要求に従って、各パリティブロックに記憶されるデータの複製を先頭から順次、パリティブロック番号と共に送信する（S9002）。
【０１２７】
そしてパリティストレージ装置６００は、削除されるデータストレージ装置６００から、各パリティブロックのそれぞれに記憶されるデータの複製をパリティブロック番号と共に受信し、削除されるデータストレージ装置６００から受信した各パリティブロックのデータの複製と、そのパリティブロック番号と同一のパリティブロック番号で特定されるパリティストレージ装置６００のバリティブロックのデータ（旧パリティデータ）との排他的論理和を演算し（S9003）、その演算結果（新パリティデータ）を旧パリティデータが記憶されていたパリティストレージ装置６００のバリティブロックに記憶する（S9004）。そしてパリティストレージ装置６００は、初期データ管理テーブル７４０を更新する（S9005）。以上の処理を全てのパリティブロックについて行う（S9006）。
【０１２８】
以上の処理により、パリティストレージ装置６００の各パリティブロックには、削除されるデータストレージ装置６００を除く、各データストレージ装置６００のそれぞれ対応するパリティブロックのデータにより演算された排他的論理和の演算結果を記憶することができる。
【０１２９】
＝＝＝バックアップデータの更新＝＝＝
上記のようにして、パリティストレージ装置６００が備えるハードディスクドライブの各パリティブロックに、各データストレージ装置６００のデータをバックアップするためのデータ、すなわち各データストレージ装置６００のそれぞれ対応するパリティブロックに記憶されるデータにより演算された排他的論理和の全ての演算結果、が記憶される。その後は、各データストレージ装置６００が情報処理装置２００からデータ書き込み要求を受信しハードディスクドライブに記憶されるデータが更新される毎に、パリティストレージ装置６００に記憶されるデータストレージ装置６００のデータをバックアップするためのデータの更新が行われる。パリティストレージ装置６００に記憶されるデータストレージ装置６００のデータをバックアップするためのデータを更新する際の処理の流れを図２７に示す。
【０１３０】
まずデータストレージ装置６００は、情報処理装置２００からデータ書き込み要求と共に書き込みデータ（ＤＮＥＷ）を受信する（S6000）。そうするとデータストレージ装置６００は、その書き込みデータが書き込まれる記憶ボリューム３１０のパリティブロックに記憶されているデータ（旧データ、ＤＯＬＤ）を読み出す（S6001）。次にデータストレージ装置６００は、書き込みデータと、その書き込みデータが書き込まれる記憶ボリューム３１０のパリティブロックに記憶されているデータとの排他的論理和を演算する（S6002）。そしてその排他的論理和の演算結果を、パリティブロック番号と共にパリティストレージ装置６００に送信する（S6003）。
【０１３１】
パリティストレージ装置６００は、上記排他的論理和の演算結果をパリティブロック番号と共に受信すると、そのパリティブロック番号と同一のパリティブロック番号で特定されるパリティストレージ装置６００のパリティブロックに記憶されているデータ（パリティデータ、ＰＯＬＤ）を読み出す（S6004）。そして読み出したパリティデータと上記排他的論理和の演算結果との排他的論理和を演算する（S6005）。そして、その演算結果（ＰＮＥＷ）を、上記パリティブロックに記憶する（S6006）。
【０１３２】
このようにすることにより、データストレージ装置６００に記憶されるデータが情報処理装置２００からのデータ書き込み要求により更新された場合に、パリティストレージ装置６００に記憶される、データストレージ装置６００のデータをバックアップするためのデータも更新することができる。
【０１３３】
＝＝＝データの復元＝＝＝
次に、データストレージ装置６００に記憶されるデータを復元する場合の処理の流れについて図２８乃至３１を用いて説明する。ここでは例として、データストレージ装置としてストレージ装置１（６００）、ストレージ装置２（６００）、ストレージ装置３（６００）を備えるストレージシステムにおいて、ストレージ装置１（ある他のストレージ装置、第１のストレージ装置）（６００）に記憶されるデータを復元する場合について説明する。また図２９に示すように、ストレージ装置１（６００）のパリティブロック数は５０００００であり、ストレージ装置２（６００）のパリティブロック数は６０００００であり、ストレージ装置３（６００）のパリティブロック数は７０００００であり、パリティストレージ装置６００のパリティブロック数は８０００００であるとして説明する。
【０１３４】
ここで、ストレージ装置１（６００）に記憶されているデータを復元するやり方として２つの方式が考えられる。すなわち、第１の方式は、パリティストレージ装置６００が、ストレージ装置１（６００）のデータを復元するために必要な５０００００個のパリティブロックのデータをストレージ装置２（６００）及びストレージ装置３（６００）から受信し、それによりストレージ装置１（６００）のデータを復元するやり方である。一方、第２の方式は、パリティストレージ装置６００が、パリティストレージ装置６００のパリティブロック数である８０００００個のパリティブロックのデータをストレージ装置２（６００）及びストレージ装置３（６００）から受信し、それにより８０００００個のパリティブロックのデータを復元してストレージ装置１（６００）に送信するやり方である。第１の方式でデータの復元を行う場合には、データの復元時にストレージ装置６００間で授受されるデータの転送量が最小限で済むという利点がある。またそのためデータの回復を比較的短時間で行うことが可能であるという利点がある。一方第２の方式でデータの復元を行う場合には、パリティストレージ装置６００は、各データストレージ装置６００のパリティブロック数を管理する必要が無い、すなわち図１２に示したパリティブロック数統括管理テーブル７３０を共有メモリ１２０に記憶しておく必要がないという利点がある。
【０１３５】
まず第１の方式を図２８、図２９を用いて説明する。  
ストレージ装置１（６００）は、障害検知プログラム８４０によりハードディスクドライブに記憶されているデータに異常を検出すると（S7000）、パリティストレージ装置６００に対して、ハードディスクドライブの各パリティブロックに記憶されているべき元のデータの送信要求を送信する（S7001）。
【０１３６】
パリティストレージ装置６００は、上記送信要求を受信すると、その送信要求に応じて、パリティブロック数統括管理テーブル７３０を参照し、ストレージ装置１（６００）以外のストレージ装置（第１の記憶データの送信要求を送信した第１のストレージ装置以外の第１のストレージ装置）６００、すなわち、ストレージ装置２（６００）とストレージ装置３（６００）とに、それぞれ、パリティブロック番号０〜４９９９９９の合計５０００００個のパリティブロックのデータの複製を、各パリティブロック番号と共に送信させるための送信要求を送信する（S7002）。
【０１３７】
そうすると、ストレージ装置２（６００）及びストレージ装置３（６００）のそれぞれは、上記送信要求に従い、パリティブロック番号０〜４９９９９９のパリティブロックのデータの複製を、各パリティブロック番号と共に送信する（S7003、S7004）。
【０１３８】
パリティストレージ装置６００は、ストレージ装置２（６００）及びストレージ装置３（６００）のそれぞれから、パリティブロック番号０〜４９９９９９のパリティブロックのデータの複製を、各パリティブロック番号と共に受信すると、パリティブロック番号が同一の上記受信したデータの複製と、そのパリティブロック番号と同一のパリティストレージ装置６００のパリティブロックに記憶されているデータとの排他的論理和を演算する（S7005）。そしてその排他的論理和の演算結果を、パリティブロック番号と共に、ストレージ装置１（６００）に送信する（S7006、S7007）。  
そしてストレージ装置１（６００）は、その演算結果をパリティブロック番号と共に受信し、そのパリティブロック番号で特定される記憶ボリューム３１０のパリティブロックに書き込む（S7008、S7009）。  
これにより、ストレージ装置１（６００）に記憶されるデータを復元することができる。
【０１３９】
次に第２の方式を図３０、図３１を用いて説明する。  
ストレージ装置１（６００）は、障害検知プログラム８４０によりハードディスクドライブに記憶されているデータに異常を検出すると（S8000）、パリティストレージ装置６００に対してハードディスクドライブの各パリティブロックに記憶されているべき元のデータの送信要求を送信する（S8001）。
【０１４０】
パリティストレージ装置６００は、上記送信要求を受信すると、その送信要求に応じて、ストレージ装置１（６００）以外のストレージ装置（第１の記憶データの送信要求を送信した第１のストレージ装置以外の第１のストレージ装置）６００、すなわち、ストレージ装置２（６００）とストレージ装置３（６００）とに、それぞれ、パリティブロック番号０〜７９９９９９の合計８０００００個のパリティブロックのデータの複製を、各パリティブロック番号と共に送信させるための送信要求を送信する（S8002）。
【０１４１】
そうすると、ストレージ装置２（６００）及びストレージ装置３（６００）のそれぞれは、上記送信要求に従い、パリティブロック番号０〜７９９９９９のパリティブロックのデータの複製を、各パリティブロック番号と共に送信する（S8003、S8004）。ここで、ストレージ装置２（６００）についてはパリティブロック数が６０００００であるので、パリティブロック番号６０００００から７９９９９９のパリティブロックは存在しない。そのためストレージ装置２（６００）は、パリティブロック番号６０００００から７９９９９９のパリティブロックについては、０が記憶されているものとして、パリティストレージ装置６００にデータを送信するようにする。同様に、ストレージ装置３（６００）についてはパリティブロック数が７０００００であるので、パリティブロック番号７０００００から７９９９９９のパリティブロックは存在しない。そのためストレージ装置３（６００）は、パリティブロック番号７０００００から７９９９９９のパリティブロックについては、０が記憶されているものとして、パリティストレージ装置６００にデータを送信するようにする。
【０１４２】
パリティストレージ装置６００は、ストレージ装置２（６００）及びストレージ装置３（６００）のそれぞれから、パリティブロック番号０〜７９９９９９のパリティブロックのデータの複製を、各パリティブロック番号と共に受信すると、パリティブロック番号が同一の上記受信したデータの複製と、そのパリティブロック番号と同一のパリティストレージ装置６００のパリティブロックに記憶されているデータとの排他的論理和を演算する（S8005）。そしてその排他的論理和の演算結果を、パリティブロック番号と共に、ストレージ装置１（６００）に送信する（S8006、S8007）。
【０１４３】
そしてストレージ装置１（６００）は、その演算結果をパリティブロック番号と共に受信し、そのパリティブロック番号で特定される記憶ボリューム３１０のパリティブロックに書き込む（S8008、S8009）。ここで、ストレージ装置１（６００）についてはパリティブロック数が５０００００であるので、パリティブロック番号５０００００から７９９９９９のパリティブロックは存在しない。そのためストレージ装置１（６００）は、パリティブロック番号５０００００から７９９９９９のパリティブロックについては、記憶ボリューム３１０へ書き込まないように制御する。  
このように第２の方式によっても、ストレージ装置１（６００）に記憶されるデータを復元することができる。
【０１４４】
なお上述したデータストレージ装置６００に記憶されるデータを復元する場合の処理は、既にパリティストレージ装置６００のハードディスクドライブの各パリティブロックには、全てのデータストレージ装置６００のパリティブロックに記憶されるデータから演算された排他的論理和の全ての演算結果が記憶されている場合についてのものである。
【０１４５】
しかし、ストレージシステムにデータストレージ装置６００が追加され、パリティストレージ装置６００のパリティブロックに記憶されるデータを非同期方式で更新している間に、あるデータストレージ装置６００から、そのデータストレージ装置６００のハードディスクドライブに記憶されていた元のデータの復元が要求される場合がある。  
この場合、パリティストレージ装置６００のどのパリティブロックに記憶されるデータが更新済みであるかを、図１３（Ｂ）又は図１３（Ｃ）に示す初期データ管理テーブル７４０に記憶するようにしている場合には、データストレージ装置６００の追加に伴うパリティストレージ装置６００のパリティブロックに記憶されるデータの更新が終了するのを待たずに、データの復元を開始することが可能である。
【０１４６】
すなわち、パリティストレージ装置６００が、障害を検知したデータストレージ装置６００以外のデータストレージ装置６００に、それぞれの各パリティブロックのデータの複製を各パリティブロック番号と共に送信させるための送信要求を送信する際に、更新済みのパリティブロックのパリティブロック番号で特定されるパリティブロックのデータについては、追加されたデータストレージ装置６００を含む、各データストレージ装置６００に送信要求を送信するようにし、未更新のパリティブロックのパリティブロック番号で特定されるパリティブロックのデータについては、追加されたデータストレージ装置６００を含まない、各データストレージ装置６００に送信要求を送信するようにする。  
このようにすれば、障害を検知したデータストレージ装置６００に対して、いち早く復元したデータを送信することが可能となる。
【０１４７】
以上、本実施の形態に係るストレージ装置６００について説明したが、本実施の形態によれば、パリティストレージ装置６００の各パリティブロックには、複数のデータストレージ装置６００のそれぞれ対応する各パリティブロックのデータにより演算された排他的論理和の演算結果を記憶することができる。これにより、データストレージ装置６００の記憶領域に記憶されるデータが例えば消失し、そのデータを復元することが必要となった場合には、そのデータストレージ装置以外のストレージ装置６００の記憶領域に記憶されるデータを用いて排他的論理和を演算することにより、消失したデータを復元することができる。
【０１４８】
つまり本実施の形態によれば、パリティストレージ装置６００と通信可能に接続されるデータストレージ装置６００の台数が何台であっても、データストレージ装置６００の記憶領域に記憶されるデータをバックアップすることが可能となる。これにより、データのバックアップを合理化し、データのバックアップを行うために必要とされるストレージ装置６００の数を抑制することができる。このためストレージ装置６００を維持管理するためのコスト、さらには情報処理システムを維持管理するためのコストも抑制することも可能となる。
【０１４９】
また本実施の形態に係るストレージ装置６００は、パリティストレージ装置６００とデータストレージ装置６００とで、それぞれの記憶領域をパリティデータ長毎に論理的に区分するようにしている。これにより、両ストレージ装置６００の記憶領域をパリティブロック毎に対応付けることが可能となる。つまり、パリティストレージ装置６００とデータストレージ装置６００とで同一のパリティブロック番号で特定されるパリティブロック同士を対応づけることが可能となる。このようにすることにより、メインフレーム系情報処理システムで使用されることの多いＣＫＤ方式や、オープン系情報処理システムで使用されることの多いＦＢＡ方式等の、記憶ボリューム３１０の制御の方式が異なるストレージ装置６００を用いてストレージシステムを構成する場合にも、データストレージ装置６００に記憶されるデータをバックアップすることができるようになる。
【０１５０】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１５１】
【図１】本実施の形態に係る情報処理システムの全体構成を示すブロック図である。
【図２】本実施の形態に係るストレージ装置の全体構成を示すブロック図である。
【図３】本実施の形態に係るストレージ装置の外観構成を示す図である。
【図４】本実施の形態に係るストレージ制御装置の外観構成を示す図である。
【図５】本実施の形態に係る管理端末の構成を示すブロック図である。
【図６】本実施の形態に係るチャネル制御部の構成を示すブロック図である。
【図７】本実施の形態に係るディスク制御部の構成を示すブロック図である。
【図８】本実施の形態に係る情報処理装置の構成を示すブロック図である。
【図９】本実施の形態に係る共有メモリに記憶されるテーブルを示す図である。
【図１０】本実施の形態に係るパリティ管理テーブルを示す図である。
【図１１】本実施の形態に係るパリティブロック管理テーブルを示す図である。
【図１２】本実施の形態に係るパリティブロック数統括管理テーブルを示す図である。
【図１３】本実施の形態に係る初期データ管理テーブルを示す図である。
【図１４】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図１５】本実施の形態に係る設定画面例を示す図である。
【図１６】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図１７】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図１８】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図１９】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図２０】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図２１】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図２２】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図２３】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図２４】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図２５】本実施の形態に係る設定画面例を示す図である。
【図２６】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図２７】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図２８】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図２９】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図３０】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図３１】本実施の形態に係るストレージ装置における処理の内容を示す図である。
【図３２】本実施の形態に係るストレージ装置における処理の流れを示すフローチャートである。
【図３３】本実施の形態に係るストレージ装置間でのデータ転送フォーマットの一例を示す図である。
【符号の説明】
【０１５２】
１００    ストレージ制御装置
１１０    チャネル制御部
１２０    共有メモリ
１３０    キャッシュメモリ
１４０    ディスク制御部
１５０    接続部
１６０    管理端末
２００    情報処理装置
３００    ストレージ駆動装置
３１０    記憶ボリューム
５００    ＳＡＮ
６００    ストレージ装置
７１０    パリティグループ管理テーブル
７２０    パリティブロック管理テーブル
７３０    パリティブロック数統括管理テーブル
７４０    初期データ管理テーブル
８１０    ストレージ制御プログラム
８２０    データ送受信制御プログラム
８３０    パリティ制御プログラム
８４０    障害検出プログラム
【図１】
2005215850.tif 000003
【図２】
2005215850.tif 000004
【図３】
2005215850.tif 000005
【図４】
2005215850.tif 000006
【図５】
2005215850.tif 000007
【図６】
2005215850.tif 000008
【図７】
2005215850.tif 000009
【図８】
2005215850.tif 000010
【図９】
2005215850.tif 000011
【図１０】
2005215850.tif 000012
【図１１】
2005215850.tif 000013
【図１２】
2005215850.tif 000014
【図１３】
2005215850.tif 000015
【図１４】
2005215850.tif 000016
【図１５】
2005215850.tif 000017
【図１６】
2005215850.tif 000018
【図１７】
2005215850.tif 000019
【図１８】
2005215850.tif 000020
【図１９】
2005215850.tif 000021
【図２０】
2005215850.tif 000022
【図２１】
2005215850.tif 000023
【図２２】
2005215850.tif 000024
【図２３】
2005215850.tif 000025
【図２４】
2005215850.tif 000026
【図２５】
2005215850.tif 000027
【図２６】
2005215850.tif 000028
【図２７】
2005215850.tif 000029
【図２８】
2005215850.tif 000030
【図２９】
2005215850.tif 000031
【図３０】
2005215850.tif 000032
【図３１】
2005215850.tif 000033
【図３２】
2005215850.tif 000034
【図３３】
2005215850.tif 000035