(57)【特許請求の範囲】
【請求項１】
第１記憶制御装置に第２記憶制御装置及び第３記憶制御装置がそれぞれ接続されたストレージシステムにおいて、
前記第１記憶制御装置は、第１データボリュームと、前記第１データボリュームの更新履歴を管理する第１ジャーナルボリュームと、上位装置が前記第１データボリュームにライトデータを書き込んだ場合に、このライトデータと管理番号とによりジャーナルデータを生成し、前記ジャーナルデータを前記第１ジャーナルボリュームに記憶させ、かつ、前記ライトデータに前記管理番号を対応付けて前記第２記憶制御装置に送信させる第１制御部とを備え、
前記第２記憶制御装置は、前記第１データボリュームと同期コピーペアを形成する第２データボリュームと、前記第１制御部から受信した前記ライトデータを前記第２データボリュームに記憶させ、かつ、前記第１制御部から受信した前記管理番号と前記ライトデータの前記第２データボリュームにおける格納位置とを対応付けて更新管理テーブルに記憶させる第２制御部とを備え、
前記第３記憶制御装置は、前記第１データボリュームと非同期コピーペアを形成する第３データボリュームと、前記第１ジャーナルボリュームに関係づけられる第２ジャーナルボリュームと、前記第１ジャーナルボリュームから前記ジャーナルデータを読み出して前記第２ジャーナルボリュームに記憶させ、かつ、前記第２ジャーナルボリュームに記憶された前記ジャーナルデータに基づいて前記第３データボリュームの記憶内容を更新させる第３制御部とを備え、
前記第１記憶制御装置に障害が発生した場合、前記第２記憶制御装置の前記第２制御部は、
前記第２データボリュームと前記第３データボリュームとでコピーペアを形成し、
前記第３記憶制御装置より前記ジャーナルデータに含まれる最新の管理番号を取得し、
前記取得した最新の管理番号と同一の管理番号が前記更新管理テーブルに格納されているか否かを判断し、
前記取得した最新の管理番号と同一の管理番号が前記更新管理テーブルに格納されている場合、前記取得した最新の管理番号以降の管理番号に対応する前記第２データボリューム内の格納位置に格納されるデータを管理番号と共に前記第３記憶制御装置に送信し、
前記取得した最新の管理番号と同一の管理番号が前記更新管理テーブルに格納されていない場合、前記第２データボリュームに格納される全てのデータを前記第３データボリュームに送信する、ことを特徴とするストレージシステム。
【請求項２】
前記第１記憶制御装置から前記第２記憶制御装置に切り替えられた場合、前記第２制御部は、前記第３制御部からの要求に応じて、前記第３制御部によって保持されている最新の管理番号以降の管理番号及びこの管理番号に対応するライトデータを前記第３制御部に送信させる請求項１に記載のストレージシステム。
【請求項３】
前記第２制御部は、前記第３制御部によって保持されている最新の管理番号が前記更新管理テーブルに登録されている場合に、前記第１記憶制御装置から前記第２記憶制御装置への切替を許可する請求項１に記載のストレージシステム。
【請求項４】
前記第１，第２及び第３制御部は、前記第１，第２及び第３データボリュームの対応関係と前記第１，第２ジャーナルボリュームの対応関係とをそれぞれ予め把握している請求項１に記載のストレージシステム。
【請求項５】
前記第２制御部は、前記第１データボリュームと前記第２データボリュームとの対応関係を予め把握しており、
前記第３制御部は、前記第１データボリュームと前記第３データボリュームとの対応関係及び前記第１ジャーナルボリュームと前記第２ジャーナルボリュームとの対応関係を予め把握しており、
前記第１記憶制御装置から前記第２記憶制御装置に切り替える場合に、前記第２制御部は、前記第３制御部から前記第２データボリュームと前記第３データボリュームとの対応関係を確認するための確認情報を取得し、この取得した確認情報に基づいて、前記第２データボリュームと前記第３データボリュームとにより前記コピーペアを形成する請求項１に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムの管理方法に関する。
【背景技術】
【０００２】
ストレージシステムは、例えば、ディスクアレイサブシステム等と呼ばれる記憶制御装置を少なくとも１つ備えており、ホストコンピュータ（以下、「ホスト」）に、データストレージサービスを提供する。記憶制御装置は、多数のディスクドライブをアレイ状に配設し、RAID（Redundant Array of Independent Disks）に基づく記憶領域を構築することができる。
【０００３】
また、いわゆるディザスタリカバリシステムとして知られているように、広域災害等に備えて、メインサイトから遠く離れた場所にバックアップサイトを設置することも可能である。バックアップサイトには、バックアップ用の記憶制御装置が設置され、この記憶制御装置にはメインサイトと同一のデータ群が記憶される。これにより、メインサイトが障害等で停止した場合でも、バックアップサイトによってデータ処理サービスを継続することができる。しかし、メインサイトが復旧する前に、唯一のバックアップサイトに障害が発生した場合には、データ処理サービスをホストに提供することができない。
【０００４】
そこで、バックアップサイトを複数設け、メインサイトが停止した場合でも、システムの冗長性を確保できるようにした技術も提案されている（特許文献１）。この文献に記載の従来技術では、その段落番号０００８〜００１０に記載されているように、正記憶制御装置に複数の副記憶制御装置をそれぞれ接続する。正記憶制御装置の記憶内容が更新された場合、この更新内容は直ちに一方の副記憶制御装置に送信され、一方の副記憶制御装置の記憶内容に反映される。また、正記憶制御装置の記憶内容はジャーナルデータとして保存され、他方の副記憶制御装置は、このジャーナルデータを適宜読出して、自己の記憶内容に反映させる。そして、一方の副記憶制御装置は、正記憶制御装置からのデータ更新命令に基づいてジャーナルデータを作成し、このジャーナルデータを保存する。正記憶制御装置が停止した場合、他方の副記憶制御装置は、一方の副記憶制御装置からジャーナルデータを読出し、自己の記憶内容を更新させる。
【特許文献１】特開２００５−８４９５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記文献に記載の技術では、正記憶制御装置が停止した場合でも、複数の記憶制御装置による冗長性を確保することができるため、ストレージシステムの信頼性が向上する。しかし、一方の副記憶制御装置は、データ更新が行われるたびに、ジャーナルデータを生成する必要があるため、一方の副記憶制御装置の負荷が増大する。また、一方の記憶制御装置内にジャーナルデータを保存するためのボリュームを用意する必要があり、構造が複雑化するという問題がある。
【０００６】
本発明は上記課題に鑑みてなされたもので、その目的は、一つの記憶制御装置が停止した場合でも、複数の記憶制御装置によって冗長性を確保し、かつ、比較的簡易な構成でデータの整合性を維持することができるようにしたストレージシステム及びストレージシステムの管理方法を提供することにある。本発明の他の目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００７】
上記課題を解決すべく、本発明の一つの観点に従うストレージシステムは、第１記憶制御装置に第２記憶制御装置及び第３記憶制御装置がそれぞれ接続されている。そして、第１記憶制御装置は、第１データボリュームと、この第１データボリュームの更新履歴を管理する第１ジャーナルボリュームと、上位装置が第１データボリュームにライトデータを書き込んだ場合に、このライトデータに管理番号を設定してジャーナルデータを生成し、このジャーナルデータを第１ジャーナルボリュームに記憶させ、かつ、ライトデータに管理番号を対応付けて第２記憶制御装置に送信させる第１制御部とを備える。第２記憶制御装置は、第１データボリュームに関係づけられる第２データボリュームと、第１制御部から受信したライトデータを第２データボリュームに記憶させ、かつ、第１制御部から受信した管理番号とライトデータの第２データボリュームにおける格納位置とを対応付けて更新管理テーブルに記憶させる第２制御部とを備える。第３記憶制御装置は、第１データボリュームに関係づけられる第３データボリュームと、第１ジャーナルボリュームに関係づけられる第２ジャーナルボリュームと、第１ジャーナルボリュームからジャーナルデータを読み出して第２ジャーナルボリュームに記憶させ、かつ、第２ジャーナルボリュームに記憶されたジャーナルデータに基づいて第３データボリュームの記憶内容を更新させる第３制御部とを備える。
【０００８】
即ち、第１記憶制御装置は、上位装置からライトデータを受信すると、管理番号を設定したジャーナルデータを保存すると共に、管理番号及びライトデータを第２記憶制御装置に送信する。管理番号とは、データ更新の順序を管理するための番号であり、例えば、データ更新のたびに一つずつ増加する連続した番号として生成される。第２記憶制御装置は、第１データボリュームの更新と同期して、第２データボリュームを更新させる。第３記憶制御装置は、第１ジャーナルボリュームに記憶されているジャーナルデータを適当なタイミングで取得することにより、第３データボリュームを更新させる。従って、第１データボリュームと第２データボリュームとの内容は同期しており、第１データボリュームまたは第２データボリュームと第３データボリュームとは、その記憶内容に差異が生じる可能性がある。第２記憶制御装置は、更新番号及びライトデータを更新管理テーブルに記憶させる。従って、第２記憶制御装置は、第１記憶制御装置からの指令に基づいてジャーナルデータを生成する必要がなく、ジャーナルデータを保存するためのボリュームを用意する必要もない。
【０００９】
一つの実施形態では、第２データボリュームを正ボリューム、第３データボリュームを副ボリュームとするコピーペアが形成された場合に、第２制御部は、第１記憶制御装置から第２記憶制御装置への切替が完了した旨を上位装置に通知する。即ち、第２データボリュームと第３データボリュームとの記憶内容が一致するよりも前に、上位装置に切替完了を通知する。これにより、切替時間を短くすることができ、使い勝手が向上する。
【００１０】
一つの実施形態では、第１記憶制御装置から第２記憶制御装置に切り替えられた場合、第２制御部は、第３制御部からの要求に応じて、第３制御部によって保持されている最新の管理番号以降の管理番号及びこの管理番号に対応するライトデータを第３制御部に送信させる。即ち、第２記憶制御装置は、第２データボリュームと第３データボリュームとの差分だけ、第３記憶制御装置にライトデータ及び管理番号を送信する。これにより、比較的短時間で、第２データボリュームと第３データボリュームとを同期させることができ、使い勝手が向上する。
【００１１】
一つの実施形態では、第２制御部は、第３制御部によって保持されている最新の管理番号が更新管理テーブルに登録されている場合に、第１記憶制御装置から第２記憶制御装置への切替を許可する。更新管理テーブルを巡回して繰り返し使用する場合、上位装置からの更新頻度によっても相違するが、第３記憶制御装置に管理番号及びライトデータを送信するよりも前に、更新管理テーブルに記憶されている管理番号が新たな管理番号によって上書きされる可能性がある。この場合は、第３データボリュームを正しい順序で更新させることができない。従って、第１記憶制御装置から第２記憶制御装置への切替を禁止させ、第２データボリュームと第３データボリュームとのコピーペアを形成させない。
【００１２】
一つの実施形態では、最新の管理番号が更新管理テーブルに登録されていない場合、第２制御部は、第２データボリュームの全記憶内容を第３データボリュームにコピーさせるようになっている。これにより、第２データボリュームと第３データボリュームとのコピーペアを形成することができ、システムの冗長性を確保することができる。
【００１３】
一つの実施形態では、第１，第２及び第３制御部は、第１，第２及び第３データボリュームの対応関係と第１，第２ジャーナルボリュームの対応関係とをそれぞれ予め把握している。従って、第１記憶制御装置から前記第２記憶制御装置に切り替える場合に、第２記憶制御装置は、第２データボリュームと第３データボリュームとのコピーペアを早期に形成することができ、切替時間を短くすることができる。
【００１４】
他の実施形態では、第２制御部は、第１データボリュームと第２データボリュームとの対応関係を予め把握していおり、第３制御部は、第１データボリュームと第３データボリュームとの対応関係及び第１ジャーナルボリュームと第２ジャーナルボリュームとの対応関係を予め把握している。そして、第１記憶制御装置から第２記憶制御装置に切り替える場合に、第２制御部は、第３制御部から第２データボリュームと第３データボリュームとの対応関係を確認するための確認情報を取得し、この取得した確認情報に基づいて、第２データボリュームと第３データボリュームとによりコピーペアを形成する。即ち、第２制御部は、第３制御部から取得した確認情報に基づいて、第２ボリュームと同期させるべき第３ボリュームの存在を確認し、コピーペアを形成する。これにより、第２制御部及び第３制御部は、それぞれ第１記憶制御装置との対応関係のみを保持すればよく、対応関係を記憶するための記憶量を低減することができる。
【００１５】
本発明の他の観点に従うストレージシステムの管理方法は、第１記憶制御装置に第２記憶制御装置及び第３記憶制御装置がそれぞれ接続されたストレージシステムを管理するための方法であって、第１記憶制御装置の有する第１データボリュームに上位装置がライトデータを書き込んだ場合には、このライトデータに管理番号を設定してジャーナルデータを生成するステップと、生成されたジャーナルデータを第１記憶制御装置の有する第１ジャーナルボリュームに記憶させるステップと、ライトデータと管理番号とを対応付けて、第１記憶制御装置から第２記憶制御装置に送信させるステップと、第１記憶制御装置から第２記憶制御装置に送信されたライトデータを第２記憶制御装置の有する第２データボリュームに記憶させるステップと、ライトデータが第２データボリュームに記憶された格納位置と管理番号とを対応付けて更新管理テーブルに登録させるステップと、所定のタイミングが到来した場合に、第３記憶制御装置から第１記憶制御装置にアクセスし、第１ジャーナルボリュームに記憶されているジャーナルデータを取得するステップと、取得されたジャーナルデータを第３記憶制御装置の有する第２ジャーナルボリュームに記憶させるステップと、第２ジャーナルボリュームに記憶されたジャーナルデータに基づいて、第３記憶制御装置の有する第３データボリュームの記憶内容を更新させるステップと、を含んだことを特徴とする。
【００１６】
一つの実施形態では、さらに、第１記憶制御装置に障害が発生したか否かを監視するステップと、第１記憶制御装置に障害が発生した場合に、第２データボリュームを正ボリュームとし、第３データボリュームを副ボリュームとするコピーペアを形成させるステップと、コピーペアが形成された場合に、第１記憶制御装置から第２記憶制御装置への切替が完了した旨を上位装置に通知するステップと、第３記憶制御装置からの要求に応じて、第３記憶制御装置によって保持されている最新の管理番号以降の管理番号及びこの管理番号に対応するライトデータを、第２記憶制御装置から第３記憶制御装置に送信させるステップと、を含む。
【００１７】
本発明の手段、機能、ステップの少なくとも一部は、マイクロコンピュータにより読み込まれて実行されるコンピュータプログラムとして構成できる場合がある。このようなコンピュータプログラムは、例えば、ハードディスクや光ディスク等のような記憶媒体に固定して流通させることができる。または、インターネット等のような通信ネットワークを介して、コンピュータプログラムを供給することもできる。
【発明を実施するための最良の形態】
【００１８】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態の全体概念を示す説明図である。図１（ａ）は、通常時の状態を示す。ストレージシステムは、例えば、「第１記憶制御装置」に該当する正記憶制御装置１と、「第２記憶制御装置」に該当する第１副記憶制御装置２と、「第３記憶制御装置」に該当する第２副記憶制御装置３と、「上位装置」に該当するホストコンピュータ４とを備えて構成可能である。
【００１９】
正記憶制御装置１は、正ボリューム（P-VOL）１Ａ及び正ジャーナルボリューム（P-JV）１Ｂとを備えている。「第１データボリューム」に該当する正ボリューム１Ａは、ホスト４によって使用されるデータを記憶しており、ホスト４によって更新される。「第１ジャーナルボリューム」に該当する正ジャーナルボリューム１Ｂは、正ボリューム１Ａの更新履歴を管理する。正ジャーナルボリューム１Ｂに記憶されるジャーナルデータは、例えば、更新データ（ライトデータ）と管理番号（SEQ#）とを対応付けることにより、構成される。
【００２０】
第１副記憶制御装置２は、正記憶制御装置１と通信可能に接続されており、「第２データボリューム」に該当する第１副ボリューム（S-VOL）２Ａと更新管理テーブル２Ｂとを備えている。第１副ボリューム２Ａは、正ボリューム１Ａとコピーペアを形成しており、正ボリューム１Ａの更新内容が直ちに反映されるようになっている。更新管理テーブル２Ｂは、管理番号と更新データの格納先アドレスとを対応付けて管理する。第１副記憶制御装置２は、例えば、正記憶制御装置１に比較的近い場所に設置されており、正記憶制御装置１へのデータ更新内容は、直ちに第１副記憶制御装置２に送信される。即ち、第１副記憶制御装置２と正記憶制御装置１との間では、いわゆる同期方式でデータ書き込みが行われるようになっている。
【００２１】
第２副記憶制御装置３は、正記憶制御装置１と通信可能に接続されており、第２副ボリューム３Ａ及び副ジャーナルボリューム３Ｂを備えている。第２副記憶制御装置３は、例えば、正記憶制御装置１の設置場所から遠く離れた場所に設けることができる。第２副ボリューム３Ａは「第３データボリューム」に、副ジャーナルボリューム３Ｂは「第２ジャーナルボリューム」に、それぞれ該当する。第２副記憶制御装置３は、所定のタイミングで随時、正記憶制御装置１のジャーナルボリューム１Ｂからジャーナルデータを読出し、副ジャーナルボリューム３Ｂに記憶させる。第２副記憶制御装置３は、副ジャーナルボリューム３Ｂに記憶されたジャーナルデータに基づいて、第２副ボリューム３Ａの記憶内容を更新させる。従って、正ボリューム１Ａの記憶内容と第１副ボリューム２Ａの記憶内容とは事実上リアルタイムで同期しているのに対して、正ボリューム１Ａの記憶内容と第２副ボリューム３Ａの記憶内容との間には差分が生じる。第２副記憶制御装置３が正記憶制御装置１から全てのジャーナルデータを読み出すことにより、正ボリューム１Ａの記憶内容と第２副ボリューム３Ａの記憶内容とが一致する。
【００２２】
第１副記憶制御装置２と第２副記憶制御装置３とも通信可能に接続されている。但し、正記憶制御装置１が正常に稼動している通常時には、各副記憶制御装置２，３間で特別な通信を行う必要はない。各記憶制御装置１，２，３間を接続する通信ネットワークとしては、例えば、SAN（Storage Area Network）やLAN（Local Area Network）等を使用可能である。
【００２３】
図１（ｂ）は、正記憶制御装置１に障害が発生して停止した場合を示す。第１副記憶制御装置２は、停止した正記憶制御装置１に代わって、正記憶制御装置となる。正記憶制御装置となった記憶制御装置２は、第２副記憶制御装置３とデータ通信を行い、ボリューム２Ａとボリューム３Ａとによってコピーペアを形成させる。
【００２４】
全体動作について説明する。まず、図１（ａ）に示すように、ホスト４は、正ボリューム１Ａにアクセスしてデータを書き込む（Ｓ１）。正記憶制御装置１は、ホスト４から受信した更新データ（ライトデータ）を正ボリューム１Ａに書き込む（Ｓ２）。
【００２５】
正記憶制御装置１は、更新データに管理番号（SEQ#）を設定する（Ｓ３）。この管理番号は、更新の順序を管理するための番号であり、正ボリューム１Ａに更新データが書き込まれるたびに自動的に値が増加する。正記憶制御装置１は、管理番号と更新データとを対応付けてジャーナルデータを生成し、このジャーナルデータを正ジャーナルボリューム１Ｂに記憶させる（Ｓ４）。
【００２６】
そして、正記憶制御装置１は、ジャーナルデータの生成に使用された管理番号５と更新データ６とを対応付けて、第１副記憶制御装置２に送信する（Ｓ５）。第１副記憶制御装置２は、更新データを第１副ボリューム２Ａに書き込み（Ｓ６）、管理番号及び更新データの格納先アドレスを対応付けて、更新管理テーブル２Ｂに記憶させる（Ｓ７）。第１副記憶制御装置２は、更新データを第１副ボリューム２Ａに書き込むと、書き込み完了を正記憶制御装置１に報告する。これにより、正記憶制御装置１は、正ボリューム１Ａへのデータ更新が完了した旨をホスト４に報告する。
【００２７】
一方、第２副記憶制御装置３は、例えば、比較的短い周期で正記憶制御装置１にアクセスし、正ジャーナルボリューム１Ｂからジャーナルデータを読み出す（Ｓ８）。第２副記憶制御装置３は、この読出したジャーナルデータを副ジャーナルボリューム３Ｂに記憶させる（Ｓ９）。第２副記憶制御装置３は、ジャーナルデータの順番を確認してから、第２副ボリューム３Ａに更新データを反映させる（Ｓ１０）。第２副記憶制御装置３は、副ジャーナルボリューム３Ｂによって、管理番号を管理する（Ｓ１１）。
【００２８】
図１（ｂ）に示すように、何らかの障害が発生して正記憶制御装置１が停止した場合は（Ｓ１２）、第１副記憶制御装置が新たに正記憶制御装置となる。しかし、説明の便宜上、以下の説明でも、そのまま第１副記憶制御装置２と呼ぶ。従って、ホスト４のアクセス先は、正記憶制御装置１から第１副記憶制御装置２に切り替えられる（Ｓ１３）。正記憶制御装置１に接続されるホスト４と第１副記憶制御装置２に接続されるホスト４とが異なる場合、正記憶制御装置１に接続されるホスト４から第１副記憶制御装置２に接続されるホスト４に、使用するホストを切り替えることもできる。
【００２９】
第１副記憶制御装置２は、第２副記憶制御装置３の有する最新の管理番号を第２副記憶制御装置３から取得し、その最新の管理番号が更新管理テーブル２Ｂに記憶されているか否かを照合する（Ｓ１４）。第２副記憶制御装置３が保持している最新の管理番号が、更新管理テーブル２Ｂに記憶されている場合は、更新順序が維持されている場合なので、第１副記憶制御装置２のボリューム２Ａを正ボリュームとし、第２副記憶制御装置３のボリューム３Ａを副ボリュームとして、コピーペアを形成する（Ｓ１５）。
【００３０】
これに対し、第２副記憶制御装置３の保持する最新の管理番号が、更新管理テーブル２Ｂに記憶されていない場合は、例えば、ホスト４の更新頻度が第２副記憶制御装置３によるジャーナルデータの読出し速度を上回っており、その最新の管理番号が更新管理テーブル２Ｂ上で既に上書きされてしまっているような場合である。
【００３１】
この場合、第２副ボリューム３Ａに反映される前のジャーナルデータが少なくとも一部消失しているため、更新順序を維持することができず、ジャーナルデータに基づいて両ボリューム２Ａ，３Ａ間でデータの整合を取ることができない。この場合は、両ボリューム２Ａ，３Ａ間で全コピーを行うことにより、データを整合させることができる。
【００３２】
コピーペアが形成された後、第２副記憶制御装置３は、正記憶制御装置となった第１副記憶制御装置２にアクセスし、最新の管理番号に続く更新データの読出しを要求する（Ｓ１６）。これにより、ボリューム２Ａとボリューム３Ａとの間の差分データが、ボリューム２Ａからボリューム３Ａに転送され、両ボリューム２Ａ，３Ａの記憶内容がやがて一致する。
【００３３】
このように本実施形態では、正記憶制御装置１，第１副記憶制御装置２及び第２副記憶制御装置３をそれぞれ相互に接続し、正ボリューム１Ａの記憶内容を第１副ボリューム２Ａ及び第２副ボリューム３Ａにそれぞれ記憶させ、正記憶制御装置１が停止した場合には、第１副記憶制御装置２と第２副記憶制御装置３とでシステムの冗長性を確保する構成とした。従って、信頼性が向上する。
【００３４】
本実施形態では、正記憶制御装置１から各副記憶制御装置２，３へそれぞれ転送されるデータに共通の管理番号５を対応付け、正記憶制御装置１に代わって正記憶制御装置となる第１副記憶制御装置２は、管理番号と更新データの格納先アドレスとを更新管理テーブルによって管理する構成とした。従って、第１副記憶制御装置２は、データ更新が行われるたびにジャーナルデータを生成して保持する必要がなく、予めジャーナルボリュームを用意する必要もない。これにより、比較的簡易な構成で、システムの信頼性を向上させることができる。
【００３５】
本実施形態では、正記憶制御装置となる第１副記憶制御装置２と第２副記憶制御装置３とを非同期読出し方式（UR方式とも呼ぶ）で接続する構成とした。即ち、各ボリューム２Ａ，３Ａ間に一時的な差分が生じるのを許容し、コピー元の記憶制御装置２によって、差分データをジャーナルデータとして管理する構成とした。従って、各ボリューム２Ａ，３Ａによってコピーペアを形成した時点で、ホスト４に切替完了を報告することができ、切替時間を短くして使い勝手や信頼性を向上させることができる。
【００３６】
本実施形態では、コピーペアを形成するボリューム２Ａ，３Ａ間で、両者の差分データのみをコピーする構成とした。従って、両ボリューム２Ａ，３Ａ間で全コピーを行う場合に比べて、各ボリューム２Ａ，３Ａの記憶内容を速やかに一致させることができる。以下、本実施形態をさらに詳述する。
【実施例１】
【００３７】
図２は、本発明に係るストレージシステムの全体構成を示す説明図である。図１との対応関係を述べると、正記憶制御装置１００は図１中の正記憶制御装置１に、第１副記憶制御装置２００は図１中の第１副記憶制御装置２に、第２副記憶制御装置３００は図１中の第２副記憶制御装置３に、ホスト１０Ａは図１中のホスト４に、それぞれ対応する。
【００３８】
このストレージシステムは、少なくとも一つ以上の正記憶制御装置１００と、複数の副記憶制御装置２００，３００と、ホスト１０Ａ，１０Ｂ，１０Ｃ及び管理端末２０Ａ，２０Ｂ，２０Ｃを備えて構成することができる。ホスト１０Ａ，１０Ｂ，１０Ｃ及び管理端末２０Ａ，２０Ｂ，２０Ｃは、少なくとも一部が同一であってもよい。例えば、ホスト１０Ａとホスト１０Ｂ、管理端末２０Ａと管理端末２０Ｂとは、それぞれ同一の装置であってもよい。
【００３９】
正記憶制御装置１００は、通常の運用時において、ホスト１０Ａにデータ入出力サービスを提供する装置である。詳細は後述するが、正記憶制御装置１００は、コントローラ１１０と、記憶部１２０とを備えて構成可能である。記憶部１２０には、正ジャーナルボリューム１３１と、複数の正データボリューム１３２，１３３を設けることができる。ホスト１０Ａは、例えば、メインフレームマシンやサーバマシン等のようなコンピュータ装置であり、コントローラ１１０を介して、データボリューム１３２，１３３にアクセスし、データの読み書きを行う。
【００４０】
正記憶制御装置１００は、例えば、SANやインターネット等のような通信ネットワーク５１０，５２０を介して、各副記憶制御装置２００，３００とそれぞれ接続することができる。詳細は後述するが、正記憶制御装置１００は、ホスト１０Ａによって更新されたデータ及びこのデータに設定された管理番号を、各副記憶制御装置２００，３００にそれぞれ供給する。
【００４１】
第１副記憶制御装置２００は、正記憶制御装置１００と同様に、コントローラ２１０と、記憶部２２０とを備えて構成可能である。記憶部２２０には、例えば、複数の第１副データボリューム２３２，２３３を設けることができる。これら各第１副データボリューム２３２，２３３は、それぞれ正データボリューム１３２，１３３に関係づけられており、両ボリューム間の記憶内容は一致する。第１副記憶制御装置２００は、正記憶制御装置１００といわゆる同期方式で接続されており、正データボリューム１３２，１３３へのデータ更新は、直ちに第１副データボリューム２３２，２３３に反映される。ホスト１０Ｂは、バックアップ用のホストコンピュータである。
【００４２】
第１副記憶制御装置２００は、例えば、正記憶制御装置１００に比較的近い場所に設けることができる。正記憶制御装置１００と第１副記憶制御装置２００間の距離を短くすることにより、各記憶制御装置１００，２００間でのデータ授受に要する遅延等を少なくすることができ、正記憶制御装置１００の応答性を高めることができる。
【００４３】
第２副記憶制御装置３００も、正記憶制御装置１００と同様に、コントローラ３１０と、記憶部３２０とを備えて構成することができる。記憶部３２０には、例えば、副ジャーナルボリューム３３１と、複数の第２副データボリューム３３２，３３３とを設けることができる。各第２副データボリューム３３２，３３３は、それぞれ正データボリューム１３２，１３３と関係づけられている。正データボリューム１３２，１３３と第２副データボリューム３３２，３３３とは、両者の記憶内容の不一致を許容する方式で、接続されている。この方式を本明細書では、非同期読出し方式（UR方式）と呼ぶ場合がある。非同期読出し方式では、正記憶制御装置１００に保存されているジャーナルデータを第２副記憶制御装置３００が定期的にまたは不定期に読み出して、自己のボリューム３３２，３３３に反映させる。第２副記憶制御装置３００は、例えば、SANやインターネット等の通信ネットワーク５３０を介して、第１副記憶制御装置２００に接続されている。ホスト１０Ｃは、バックアップ用のホストコンピュータである。
【００４４】
管理端末２０Ａ，２０Ｂ，２０Ｃは、それぞれが接続されている記憶制御装置１００，２００，３００の構成等を管理したり、各記憶制御装置１００，２００，３００の内部情報を取得するためのコンピュータ装置である。なお、後述のように、ホスト１０Ａ，１０Ｂ，１０Ｃに設けられたストレージ管理プログラム１２によって、各記憶制御装置１００，２００，３００に各種の指示等を与えることができる。従って、管理端末２０Ａ，２０Ｂ，２０Ｃは必ずしも必要ではない。
【００４５】
ホスト１０Ａが正データボリューム１３２，１３３を更新するたびに、正記憶制御装置１００から第１副記憶制御装置２００に、更新情報Ｄ１０が送信される。この更新情報Ｄ１０には、管理番号（SEQ#）と更新データ（ライトデータ）と含めることができる。
【００４６】
一方、ホスト１０Ａが正データボリューム１３２，１３３を更新するたびに、別の更新情報Ｄ２０が生成され、正ジャーナルボリューム１３１に記憶される。この更新情報Ｄ２０も、管理番号及び更新データを含むことができる。更新情報Ｄ２０は、ジャーナルデータと呼ぶこともできる。第２副記憶制御装置３００は、正記憶制御装置１００にアクセスして、更新情報Ｄ２０、即ち、ジャーナルデータＤ２０を読出し、副ジャーナルボリューム３３１に記憶させる。
【００４７】
図３は、ストレージシステムのハードウェア構成を示すブロック図である。正記憶制御装置１００が設けられている正サイトの構成を示すが、第１副記憶制御装置２００が設けられている第１副サイト及び第２副記憶制御装置３００が設けられている第２副サイトも、同様の構成を備えることができる。
【００４８】
ホスト１０Ａは、マイクロプロセッサやメモリ等を備えたコンピュータ装置であり、例えば、アプリケーションプログラム１１と、ストレージ管理プログラム１２と、HBA（Host Bus Adapter）１３とを備えて構成可能である。
【００４９】
アプリケーションプログラム１１は、図外に設けられたクライアント端末にデータ処理サービスを提供するプログラムであり、例えば、顧客管理プログラム、売上げ管理プログラム、電子メール管理プログラム等である。ストレージ管理プログラム１２は、正記憶制御装置１００（及び副記憶制御装置２００，３００）に対して各種の指示を与えるプログラムである。HBA１３は、正記憶制御装置１００（及び副記憶制御装置２００，３００）とのデータ通信を行うためのインターフェース制御部である。各HBA１３は、SAN等のネットワークCN１を介して、正記憶制御装置１００のポート１１１Ａにそれぞれ接続されている。
【００５０】
アプリケーションプログラム１１及びHBA１３は、それぞれ複数ずつ設けることができ、それぞれ独立して動作させることができる。また、HBA１３を複数設けることにより、いずれか一方の通信経路に障害が発生した場合でも、他方の通信経路を介して、正記憶制御装置１００にアクセスすることができる。
【００５１】
管理端末２０Ａは、マイクロプロセッサやメモリ等を備えたコンピュータ装置であり、ストレージ管理部２１が設けられている。ストレージ管理部２１は、正記憶制御装置１００の構成変更を指示したり、正記憶制御装置１００の各種状態を読み出して端末画面に表示させるものである。
【００５２】
正記憶制御装置１００は、例えば、少なくとも一つ以上のチャネルアダプタ１１１と、少なくとも一つ以上のディスクアダプタ１１２と、少なくとも一つ以上のキャッシュメモリ１１３と、少なくとも一つ以上の共有メモリ１１４と、接続部１１５，１１６と、サービスプロセッサ１１７と、記憶部１２０とを備えて構成可能である。図２に示したコントローラ１１０は、チャネルアダプタ１１１と、ディスクアダプタ１１２と、各メモリ１１３，１１４によって構成することができる。
【００５３】
チャネルアダプタ（以下、CHA）１１１は、ホスト１０Ａとの間のデータ授受を行うための上位通信制御部であり、例えば、マイクロプロセッサやローカルメモリ、データ転送回路等を備えて構成することができる。CHA１１１は、少なくとも一つ以上の通信ポート１１１Ａを備えている。いずれか一つまたは複数の通信ポート１１１Ａは、ネットワークCN１を介して、ホスト１０ＡのHBA１３に接続されている。また、別の複数の通信ポート１１１Ａは、ネットワーク５１０，５２０を介して、各副記憶制御装置２００，３００にそれぞれ接続されている。
【００５４】
ディスクアダプタ（以下、DKA）１１２は、記憶部１２０との間のデータ授受を行うための下位通信制御部であり、例えば、マイクロプロセッサやローカルメモリ、データ転送回路等を備えて構成可能である。DKA１１２は、CHA１１１と別体の制御基板として構成することもできるし、同一の制御基板上にCHA１１１の機能とDKA１１２の機能とを混載することもできる。
【００５５】
キャッシュメモリ１１３は、例えば、ホスト１０Ａによって使用されるユーザデータや一時的な管理用の情報等を記憶するメモリである。共有メモリ１１４は、例えば、正記憶制御装置１００を制御するための各種制御情報を記憶するメモリである。制御情報の一部は、CHA１１１やDKA１１２のローカルメモリにもコピーされる。キャッシュメモリ１１３及び共有メモリ１１４は、それぞれ別々のメモリ基板として構成してもよいし、同一のメモリ基板上にキャッシュメモリ１１３と共有メモリ１１４と混載してもよい。
【００５６】
接続部１１５は、各CHA１１１，各DKA１１２，キャッシュメモリ１１３及び共有メモリ１１４を相互に接続するためのものである。接続部１１５は、例えば、バスやクロスバスイッチ等として構成される。接続部１１６は、各DKA１１２とディスクドライブ１２１とをそれぞれ接続するためのものである。
【００５７】
サービスプロセッサ（以下、SVP）１１７は、正記憶制御装置１００の各種状態を監視したり、管理端末２０Ａからの指示に応じて制御情報を書き換えるものである。SVP１１７は、例えば、装置内ネットワークCN３を介して、各CHA１１１にそれぞれ接続されている。SVP１１７は、いずれか一つのCHA１１１を介して、DKA１１２や共有メモリ１１４等の情報を得ることもできる。なお、装置内ネットワークCN３によって、SVP１１７を、各CHA１１１及び各DKA１１２にそれぞれ接続させる構成でもよい。
【００５８】
記憶部１２０は、複数のディスクドライブ１２１を備えている。ディスクドライブ１２１としては、例えば、ハードディスクドライブ、半導体メモリドライブ、ホログラフィックメモリドライブ、光ディスクドライブ、光磁気ディスクドライブ、磁気テープドライブ等を挙げることができる。ディスクドライブ１２１の有する物理的な記憶領域を仮想化することにより、少なくとも一つ以上の論理的な記憶領域を生成することができる。この論理的な記憶領域は、論理ボリュームと呼ばれる。ホスト１０Ａは、論理ボリュームをアクセス対象としてアクセスする。上述した各ボリューム１３１，１３２，１３３は、それぞれ論理ボリュームである。
【００５９】
先に正記憶制御装置１００内の動作について簡単に説明する。ホスト１０Ａがリードコマンドを発行した場合、CHA１１１は、ホスト１０Ａから要求されたデータがキャッシュメモリ１１３上に存在するか否かを確認する。そのデータがキャッシュメモリ１１３上に記憶されている場合、CHA１１１は、そのデータをキャッシュメモリ１１３から読み出して、ホスト１０Ａに送信する。これに対し、ホスト１０Ａから要求されたデータがキャッシュメモリ１１３上に存在しない場合、CHA１１１は、そのデータの読出しをDKA１１２に要求する。CHA１１１からDKA１１２への指示は、共有メモリ１１４を介して行われる。共有メモリ１１４を随時参照しているDKA１１２は、CHA１１１からの指示を発見すると、そのデータをディスクドライブ１２１から読み出して、キャッシュメモリ１１３に記憶させる。これをステージング処理と呼ぶ。ステージング処理の完了は、共有メモリ１１４を介して、CHA１１１に通知される。ステージングの際に、DKA１１２は、物理アドレスを論理アドレス（LBA：Logical Block Address）に変換する。
【００６０】
ホスト１０Ａがライトコマンドを発行した場合、CHA１１１は、キャッシュメモリ１１３の空き容量等を確認し、ライトデータの受信が可能であれば、ホスト１０Ａからライトデータを受信する。CHA１１１は、受信したライトデータをキャッシュメモリ１１３に記憶させる。また、CHA１１１は、そのデータを論理ボリュームに書き込むべき旨をDKA１１２に指示する。この指示は、共有メモリ１１４を介して行われる。共有メモリ１１４を介して各種指示や報告を伝達することにより、比較的簡単な構成で、複数のCHA１１１，DKA１１２をそれぞれ独立して並行的に動作させることができる。
【００６１】
DKA１１２は、共有メモリ１１４を介してライトコマンドを発見すると、キャッシュメモリ１１３に記憶されているライトデータを論理ボリュームに書き込む。より詳しくは、DKA１１２は、そのライトデータの論理アドレスを物理アドレスに変換し、書き込みが要求された論理ボリュームを構成するディスクドライブ１２１の所定の場所にライトデータを記憶させる。その論理ボリュームがRAID構成を有する場合、ライトデータは複数のディスクドライブ１２１に分散して書き込まれる。キャッシュメモリ１１３からディスクドライブ１２１へのデータ転送をディステージ処理と呼ぶ。ディステージ処理の完了は、共有メモリ１１４を介して、CHA１１１に通知される。ディステージ処理は、正記憶制御装置１００の処理負荷やキャッシュメモリ１１３の空き容量等に基づいて、適当なタイミングで行うことができる。ライトコマンドの受信時に直ちにディステージ処理を行う必要はない。
【００６２】
CHA１１１は、ホスト１０Ａからのライトコマンド及びライトデータに管理番号を対応付けて、第１副記憶制御装置２００に転送する。そして、第１副記憶制御装置２００から書き込み完了の報告を受信すると、CHA１１１は、ホスト１０Ａに、ライトコマンドの処理が完了した旨を報告する。従って、正記憶制御装置１００及び第１副記憶制御装置２００のそれぞれにライトデータが保持された場合に、ホスト１０Ａにライトコマンドの処理が完了した旨が通知される。
【００６３】
さらに、CHA１１１は、ライトコマンド及びライトデータに管理番号を対応付けて、ジャーナルデータを生成し、このジャーナルデータを正ジャーナルボリューム１３１に記憶させる。このジャーナルデータは、第２副記憶制御装置３００からの読出し要求に基づいて、正記憶制御装置１００から第２副記憶制御装置３００に転送される。
【００６４】
図４は、各ボリュームの関係を模式的に示す説明図である。正サイト、即ち、正記憶制御装置１００の有する各ボリューム１３１，１３２，１３３は、それぞれ同一のジャーナルグループ１３０に属している。ジャーナルグループ１３０とは、ジャーナルデータが共通に管理されるグループである。データボリューム１３２，１３３のデータ更新が互いに整合していなければならない場合、これら各データボリューム１３２，１３３は同一のジャーナルグループ１３０に所属する。各データボリューム１３２，１３３に対するデータ更新の履歴は、正ジャーナルボリューム１３１によってそれぞれ管理される。
【００６５】
同様に、第１副サイトにおいても、ジャーナルグループ２３０が設けられており、このジャーナルグループ２３０には、各第１副データボリューム２３２，２３３がそれぞれ所属している。第１副データボリューム２３２，２３３は、正データボリューム１３２，１３３に関係づけられており、各第１副データボリューム２３２，２３３の記憶内容は、正データボリューム１３２，１３３の記憶内容とほぼリアルタイムで一致する。このジャーナルグループ２３０を、第１副ジャーナルグループと呼ぶ場合もある。
【００６６】
第２副サイトにおいても、ジャーナルグループ３３０が設けられており、このジャーナルグループ３３０内には、副ジャーナルボリューム３３１，各第２副データボリューム３３２，３３３がそれぞれ設けられている。各第２副データボリューム３３２，３３３は、正データボリューム１３２，１３３に関係づけられており、時間差は生じるものの、各第２副データボリューム３３２，３３３の記憶内容は、正データボリューム１３２，１３３の記憶内容と一致するようになっている。各第２副データボリューム３３２，３３３のデータ更新の履歴は、副ジャーナルボリューム３３１によってそれぞれ管理される。
【００６７】
図５は、ジャーナルボリュームとデータボリュームとの関係を示す説明図である。ジャーナルボリュームは、ジャーナルグループ内に存在する各データボリュームへのデータ更新をそれぞれ管理する。ジャーナルボリュームの記憶領域の先頭側には、更新情報領域が設けられており、この更新情報領域に続く記憶領域には、ライトデータ領域が設けられている。
【００６８】
ライトデータ領域には、各データボリュームに書き込まれたライトデータのコピーが記憶される。更新情報領域には、ライトデータ領域に記憶されているライトデータの格納先アドレスと管理番号とが対応付けられて記憶されている。この管理番号及びジャーナルボリューム内での格納先アドレスからなる情報を、更新管理情報と呼ぶ場合がある。管理番号は、各データ更新についてそれぞれ発行される番号であり、更新順序を管理するためのものである。
【００６９】
更新情報領域及びライトデータ領域は、それぞれ繰り返して使用される。即ち、更新情報領域の終端アドレスまで使用された場合、先頭アドレスに戻って新たな更新管理情報（管理番号及び格納先アドレス）が上書きで記憶される。同様に、ライトデータ領域も、終端アドレスまで使用された場合、ライトデータ領域の先頭アドレスに戻って新たなライトデータを上書きで記憶される。
【００７０】
図６は、正データボリュームへのデータ更新に伴って、各副データボリュームのデータが更新される様子を模式的に示す説明図である。ここでは、説明の便宜上、正データボリューム１３２を例に挙げて説明する。
【００７１】
正記憶制御装置１００は、ホスト１０ＡからライトコマンドＤ１及びライトデータＤ２を受信すると、ライトデータを正データボリューム１３２に書き込む。同時に、正記憶制御装置１００の管理番号発行部１１０Ａは、このデータ更新を管理するための管理番号Ｄ３を生成する。管理番号Ｄ３は、例えば、各データ更新のたびに一つずつ値が増加するようにして生成される。管理番号発行部１１０Ａは、ソフトウェアまたはハードウェアによって構成されるカウンタである。
【００７２】
正記憶制御装置１００は、管理番号Ｄ３とライトコマンドＤ１及びライトデータにＤ２よって、ジャーナルデータＤ２０を生成する。このジャーナルデータＤ２０は、正ジャーナルボリューム１３１に記憶される。また、正記憶制御装置１００は、管理番号Ｄ３とライトコマンドＤ１及びライトデータＤ２とによって、更新データＤ１０を生成する。この更新データＤ１０は、第１副記憶制御装置２００に送信される。更新データＤ１０とジャーナルデータＤ２０とは、共通の情報を含んで構成されるが、各副記憶制御装置２００，３００へ供給されるタイミングはそれぞれ異なる。
【００７３】
第１副記憶制御装置２００は、更新データＤ１０を受信すると、ライトデータＤ２を第１副データボリューム２３２に書き込む。また、第１副記憶制御装置２００は、ライトデータＤ２の格納先アドレスと管理番号Ｄ３とを対応付けて、更新情報管理テーブルＴ１０に記憶させる。更新情報管理テーブルＴ１０については、図８と共に後述する。
【００７４】
一方、第２副記憶制御装置３００は、比較的短い周期で、正ジャーナルボリューム１３１からジャーナルデータＤ２０を読み出し、読出したジャーナルデータＤ２０を副ジャーナルボリューム３３１に記憶させる。第２副記憶制御装置３００は、管理番号Ｄ３に基づいてジャーナルデータの順番が揃ったことを確認し、ジャーナルデータＤ２０に示されているデータ更新の内容を第２副データボリューム３３２に反映させる。この反映処理を、リストア処理とも呼ぶ。
【００７５】
図７は、正ジャーナルボリューム１３１と副ジャーナルボリューム３３１との関係を模式的に示す説明図である。上述の通り、各ジャーナルボリューム１３１，３３１は、それぞれ更新情報領域及びライトデータ領域を備えている。
【００７６】
正ジャーナルボリューム１３１の更新情報領域には、複数の更新管理情報（管理番号＋格納先アドレス）を記憶可能である。これら各更新管理情報のうち、更新情報領域の最も先頭側に位置する更新管理情報が含む管理番号は、ジャーナルボリューム１３１に記憶されている最古の管理番号であり、ジャーナルボリューム１３１から消去されたジャーナルデータの次のジャーナルデータに設定されている。更新情報領域の最後に記憶されている更新管理情報が含む管理番号は、ジャーナルボリューム１３１に記憶されている最新の管理番号であり、最も最近行われたデータ更新に設定されている。
【００７７】
副ジャーナルボリューム３３１の更新情報領域にも、複数の更新管理情報を記憶可能である。更新情報領域の最も先頭側に記憶されている更新管理情報に含まれる管理番号は、パージ済の管理番号を示す。パージ済管理番号とは、正記憶制御装置１００に消去が指示された最後のジャーナルデータに設定されている管理番号の次の番号である。リストア済管理番号とは、第２副データボリューム３３２に反映済のジャーナルデータの最後を示す番号である。コピー済管理番号とは、正ジャーナルボリューム１３１から副ジャーナルボリューム３３１にコピーされたジャーナルデータの末尾を示す番号である。
【００７８】
正ジャーナルボリューム１３１に記憶されているジャーナルデータと副ジャーナルボリューム３３１に記憶されているジャーナルデータとの間には、差分が生じる。この差分は、時間の経過につれて解消する。副ジャーナルボリューム３３１に記憶されているジャーナルデータは、適当なタイミングで、第２副データボリューム３３２に反映される。この反映に応じて、リストア済管理番号は繰り下がっていく。リストア済のジャーナルデータは、保持する必要がない。そこで、第２副記憶制御装置３００は、正記憶制御装置１００に、不要なジャーナルデータの末尾の管理番号を明示して、消去を指示する。
【００７９】
図８は、第１副記憶制御装置２００によって使用される更新情報管理テーブルＴ１０の構成を示す説明図である。この更新情報管理テーブルＴ１０は、例えば、第１副記憶制御装置２００の共有メモリ等に記憶させることができる。更新情報管理テーブルＴ１０は、例えば、ジャーナルグループを特定するためのジャーナルグループ番号と、そのジャーナルグループ内における最新の管理番号と、そのジャーナルグループ内における最古の管理番号とを対応付けることにより、構成することができる。
【００８０】
そして、各ジャーナルグループ毎に、それぞれ管理テーブルＴ１１〜Ｔ１３が設けられており、これら各管理テーブルＴ１１〜Ｔ１３は、ジャーナルグループ番号を介して、更新情報管理テーブルＴ１０に関連付けられている。各管理テーブルＴ１１〜Ｔ１３は、例えば、管理番号と、ジャーナルグループ番号と、第１副データボリュームを特定するボリューム番号と、第１副データボリューム内に記憶されたライトデータの格納先アドレスと、そのライトデータのデータサイズとをそれぞれ対応付けることにより構成することができる。なお、各ジャーナルグループ毎の管理テーブルＴ１１〜Ｔ１３の記憶内容を、更新情報管理テーブルＴ１０内に含めることもできる。
【００８１】
このように構成される更新情報管理テーブルＴ１０により、ジャーナルボリュームを用いずに、第１副データボリューム２３２，２３３へのデータ更新の履歴を管理することができる。
【００８２】
次に、図９は、正記憶制御装置１００によって使用されるペア管理テーブルを示す説明図である。このペア管理テーブルＴ２１は、例えば、正記憶制御装置１００の共有メモリ１１４等に記憶させることができる。後述の他のペア管理テーブルＴ２２，Ｔ２３も同様であるが、ペア管理テーブルＴ２１は、正データボリューム１３２，１３３と第１副データボリューム２３２，２３３及び第２副データボリュームとの対応関係を管理するためのものである。
【００８３】
ペア管理テーブルＴ２１は、正データボリュームに関する情報と、その正データボリュームに対応する第１副データボリュームに関する情報と、その正データボリュームに対応する第２副データボリュームに関する情報と含んで構成される。
【００８４】
正データボリュームに関する情報には、例えば、正データボリュームを識別するためのボリューム番号（P-VOL#）と、その正データボリュームの属性と、その正データボリュームが属するジャーナルグループの番号とが含まれる。
【００８５】
正データボリュームに対応する第１副データボリュームに関する情報には、例えば、その正データボリュームに対応付けられている第１副データボリュームを特定するためのボリューム番号（第１S-VOL#）と、その第１副データボリュームの属するジャーナルグループを特定するための第１副ジャーナルグループ番号と、その第１副データボリュームとその正データボリュームとのペア種別を示す情報と、その第１副データボリュームとその正データボリュームとのペア状態を示す情報とが含まれる。
【００８６】
同様に、正データボリュームに対応する第２副データボリュームに関する情報には、例えば、その正データボリュームに対応付けられている第２副データボリュームを特定するためのボリューム番号（第２S-VOL#）と、その第２副データボリュームの属するジャーナルグループを特定するための第２副ジャーナルグループ番号と、その第２副データボリュームとその正データボリュームとのペア種別を示す情報と、その第２副データボリュームとその正データボリュームとのペア状態を示す情報とが含まれる。
【００８７】
ここで、ボリューム属性には、例えば、「正」と「未使用」とがある。「正」の属性が設定されたボリュームは、正データボリュームとして使用されていることを示す。「未使用」の属性が設定されたボリュームは、ボリュームとして用意はされているが、正データボリュームとしては使用されていないボリュームを示す。なお、これ以外の属性を採用することもできる。
【００８８】
ペア種別には、例えば、「同期」と「非同期」を挙げることができる。「同期」とは、上述のように、正データボリュームへのデータ更新と副データボリュームへのデータ更新とが同期して行われることを示す。「非同期」とは、上述のように、正データボリュームへのデータ更新時期と副データボリュームへのデータ更新時期とが同期していないことを示す。「非同期」の場合、副記憶制御装置側から正記憶制御装置１００にジャーナルデータを読出しに行き、読出したジャーナルデータに基づいて副データボリュームへのデータ更新（リストア）が行われる。
【００８９】
ペア状態には、例えば、「ペア」、「サスペンド」、「シンプレックス」等を挙げることができる。「ペア」とは、二つのボリュームがコピーペアを形成しており、コピー元ボリューム（正データボリューム）の記憶内容がコピー先ボリューム（副データボリューム）に反映される状態を示す。「サスペンド」とは、コピーペアが解消されており、コピー元ボリュームに生じたデータ更新は、コピー元で差分管理されている状態を示す。「シンプレックス」とは、コピーペアに関与しない通常のボリュームであることを示す。
【００９０】
図１０は、第１副記憶制御装置２００により使用されるペア管理テーブルＴ２２を示す説明図である。このペア管理テーブルＴ２２は、例えば、第１副記憶制御装置２００の共有メモリ等に記憶させることができる。ペア管理テーブルＴ２２は、ペア管理テーブルＴ２１と同様に、第１副データボリューム２３２，２３３と正データボリューム１３２，１３３及び第２副データボリューム３３２，３３３との対応関係を管理する。
【００９１】
ペア管理テーブルＴ２２は、第１副データボリュームに関する情報と、その第１副データボリュームに対応する正データボリュームに関する情報と、その正データボリュームに対応する第２副データボリュームに関する情報と含んで構成される。
【００９２】
図１１は、第２副記憶制御装置３００により使用されるペア管理テーブルＴ２３を示す説明図である。このペア管理テーブルＴ２３は、例えば、第２副記憶制御装置３００の共有メモリ等に記憶させることができる。ペア管理テーブルＴ２３は、ペア管理テーブルＴ２１，Ｔ２２と同様に、第２副データボリューム３３２，３３３と正データボリューム１３２，１３３及び第１副データボリューム２３２，２３３との対応関係を管理する。
【００９３】
ペア管理テーブルＴ２３は、第２副データボリュームに関する情報と、その第２副データボリュームに対応する正データボリュームに関する情報と、その正データボリュームに対応する第１副データボリュームに関する情報と含んで構成される。
【００９４】
図１２は、正記憶制御装置１００がライトコマンドを受信した場合の処理の概要を示すフローチャートである。後述する以下の各フローチャートでも同様であるが、フローチャートには、本発明を当業者が実施可能な程度に処理の概要が示されており、実際のプログラムとは異なる。
【００９５】
正記憶制御装置１００は、ホスト１０Ａからライトコマンドを受信したか否かを監視している（Ｓ２１）。ライトコマンドを受信した場合（S21:YES）、正記憶制御装置１００は、ホスト１０Ａから受信したライトデータを、指定された正データボリュームの指定されたアドレスに書き込む（Ｓ２２）。
【００９６】
また、正記憶制御装置１００は、そのライトデータについて管理番号を新たに取得し（Ｓ２３）、ジャーナルデータを生成する（Ｓ２４）。正記憶制御装置１００は、この生成したジャーナルデータを正ジャーナルボリューム１３１に記憶させる（Ｓ２５）。上述の通り、ジャーナルボリュームには、ジャーナルデータが生成順に記憶されていく。
【００９７】
正記憶制御装置１００は、ジャーナルデータの生成に使用された管理番号とライトデータとを対応付けて、第１副記憶制御装置２００に送信する（Ｓ２６）。即ち、共通の管理番号を介して、第１副記憶制御装置２００に送信されるデータ更新の内容と第２副記憶制御装置３００が取得するデータ更新の内容とは、関連付けられる。
【００９８】
そして、正記憶制御装置１００は、第１副記憶制御装置２００からの書込完了報告を待つ（Ｓ２７）。正記憶制御装置１００は、第１副記憶制御装置２００からライトデータの書込完了報告を受領すると（S27:YES）、ホスト１０Ａにライトコマンドの処理が完了した旨を報告する（Ｓ２８）。
【００９９】
第１副記憶制御装置２００の動作に着目する。第１副記憶制御装置２００は、正記憶制御装置１００から管理番号に対応付けられたライトデータを受信すると（S31:YES）、この受信したライトデータを、対応する第１副データボリュームの所定の場所に書き込む（Ｓ３２）。所定の場所とは、そのライトデータを書き込むべきアドレスであり、ライトコマンドによって明示されている。
【０１００】
第１副記憶制御装置２００は、そのライトデータに関連付けられている管理番号を、更新情報管理テーブルＴ１０に登録する（Ｓ３３）。また、第１副記憶制御装置２００は、そのライトデータが第１副データボリュームに書き込まれたアドレスを更新情報管理テーブルＴ１０に登録する（Ｓ３４）。より詳しくは、上述のように、各ジャーナルグループ毎にそれぞれ管理テーブルＴ１１〜Ｔ１３が用意されており、管理番号及びライトデータの格納先アドレスは、対応するジャーナルグループの管理テーブルに書き込まれる。そして、更新情報管理テーブルＴ１０内の最新管理番号が更新される。以下、各ジャーナルグループ毎の管理テーブルＴ１１〜Ｔ１３も含めて、更新情報管理テーブルＴ１０として説明する場合がある。
【０１０１】
そして、第１副記憶制御装置２００は、ライトデータを第１副データボリュームに記憶させた旨を、正記憶制御装置１００に通知する（Ｓ３５）。
【０１０２】
次に、図１３は、第２副記憶制御装置３００によるデータ更新処理を示すフローチャートである。第２副記憶制御装置３００は、比較的短い周期で、正記憶制御装置１００にジャーナルデータの読出しを要求することができる（Ｓ４１）。
【０１０３】
正記憶制御装置１００は、第２副記憶制御装置３００からの読出し要求を受信すると（S42:YES）、正ジャーナルボリューム１３１からジャーナルデータを読出し（Ｓ４３）、この読出したジャーナルデータを第２副記憶制御装置３００に送信する（Ｓ４４）。ここで、正記憶制御装置１００は、第２副記憶制御装置３００によって保持されている最新の管理番号以降の管理番号が設定されているジャーナルデータを、第２副記憶制御装置３００に供給する。既に送信済のジャーナルデータは、第２副記憶制御装置３００に送信されない。
【０１０４】
第２副記憶制御装置３００は、正記憶制御装置１００からジャーナルデータを取得すると（Ｓ４５）、このジャーナルデータに設定されている管理番号を共有メモリ等に記憶させる（Ｓ４６）。そして、第２副記憶制御装置３００は、そのジャーナルデータを副ジャーナルボリューム３３１に書き込む（Ｓ４７）。第２副記憶制御装置３００は、適当なタイミングで、副ジャーナルボリューム３３１に記憶されたジャーナルデータを第２副データボリュームに反映させる（Ｓ４８）。即ち、第２副記憶制御装置３００は、正記憶制御装置１００からジャーナルデータを取得すると同時に、第２副データボリュームを更新させる必要は必ずしもない。
【０１０５】
次に、障害等の発生によって、正記憶制御装置１００から第１副記憶制御装置２００に切り替えられる場合を説明する。図１４は、正記憶制御装置１００から第１副記憶制御装置２００に切り替えられる様子を示す模式図である。
【０１０６】
上述のように、正記憶制御装置１００は、その内部が物理的にも論理的にも冗長化されており、データの消失等を抑制している。しかし、例えば、災害等の障害によって、正記憶制御装置１００は停止する可能性がある。
【０１０７】
正記憶制御装置１００に障害が発生して停止すると、正記憶制御装置１００に代わって、第１副記憶制御装置２００がメイン記憶制御装置として選択される。第１副記憶制御装置２００は、新たな正記憶制御装置となり、第１副記憶制御装置２００の置かれているサイトが正サイトとなる。
【０１０８】
第１副記憶制御装置２００の有する各第１副データボリューム２３２，２３３は、それぞれ正データボリュームとなり、第２副記憶制御装置３００の有する各第２副データボリューム３３２，３３３とコピーペアを形成する。ここで、第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３とは、いわゆる非同期読出し方式によって、コピーペアを形成する。第２副記憶制御装置３００の視点から見ると、第２副記憶制御装置３００のジャーナルデータ取得元は、正記憶制御装置１００から第１副記憶制御装置２００に切り替えられることになる。但し、第１副記憶制御装置２００は、ジャーナルデータを保持しておらず、更新情報管理テーブルＴ１０及び第１副データボリューム２３２，２３３によってジャーナルデータを生成し、このジャーナルデータを第２副記憶制御装置３００に供給する。
【０１０９】
メイン記憶制御装置が切り替えられる場合の処理を図１５のフローチャートに基づいて説明する。例えば、第１副サイトのホスト１０Ｂまたは管理端末２０Ｂは、正記憶制御装置１００に障害が発生したことを検出すると（S51:YES）、メインホストを正サイトのホスト１０Ａから第１副サイトのホスト１０Ｂに切り替える（Ｓ５２）。説明の便宜上、ホスト１０Ｂが記憶制御装置への指示を行うものとして説明するが、管理端末２０Ｂを用いても良い。
【０１１０】
メインホストの切替は、自動的に行うことも可能であるし、システム管理者等のユーザによって手動操作で行うこともできる。例えば、ホスト１０Ａとホスト１０Ｂとの間のハートビート通信の停止等に基づいて、正サイトの障害を検出し、ホスト１０Ａからホスト１０Ｂに自動的に切り替えることが考えられる。また、例えば、正サイトの管理者から第１副サイトの管理者に、電子メールや電話等で切替を指示することにより、手動操作で切り替えることも可能である。
【０１１１】
なお、正記憶制御装置１００のみに障害が発生し、ホスト１０Ａが正常に稼動しており、かつ、ホスト１０Ａと第１副記憶制御装置２００との間に通信経路を設定できる場合には、ホスト１０Ａをそのままメインホストとして使用することもできる。この場合、メイン記憶制御装置のみが、正記憶制御装置１００から第１副記憶制御装置２００に切り替えられる。ここでは、災害等により、正サイトのホスト１０Ａ及び正記憶制御装置１００の両方が機能を停止したものとして説明する。
【０１１２】
第１副サイトのホスト１０Ｂは、第２副サイトの第２副記憶制御装置３００に、切替を指示する（Ｓ５３）。第２副記憶制御装置３００は、第１副サイトからの切替指示を受信すると（Ｓ５４）、第２副データボリューム３３２，３３３にコピーペアの削除をそれぞれ指示する（Ｓ５５）。これにより、各第２副データボリューム３３２，３３３は、それぞれ正データボリューム１３２，１３３とのコピーペアを解消し、シンプレックス状態に移行する。
【０１１３】
第１副サイトのホスト１０Ｂは、第１副データボリューム２３２，２３３に向けて、サスペンドコマンドを発行する（Ｓ５６）。これにより、各第１副データボリューム２３２，２３３は、正データボリューム１３２，１３３とのコピーペアを解消し、サスペンド状態に移行する。ホスト１０Ｂから第１副データボリューム２３２，２３３に対するデータ更新は、更新情報管理テーブルＴ１０によって管理される。
【０１１４】
即ち、ホスト１０Ｂは、この時点で、第１副データボリューム２３２，２３３を利用可能である。第１副データボリューム２３２，２３３は、正データボリューム１３２，１３３と同一の内容を保持しているため、ホスト１０Ｂはデータ処理サービスを早期に再開できる。
【０１１５】
ホスト１０Ｂは、第１副データボリューム２３２，２３３に対してResyncコマンドを発行する（Ｓ５７）。続いて、ホスト１０Ｂは、第１副ジャーナルグループを正ジャーナルグループに変更し（Ｓ５８）、第１副データボリューム２３２，２３３のボリューム属性をそれぞれ正データボリュームに変更させる（Ｓ５９）。
【０１１６】
そして、ホスト１０Ｂは、第１副記憶制御装置２００を介して、第２副ジャーナルグループに関する最新の管理番号を第２副記憶制御装置３００に要求する（Ｓ６０）。第２副記憶制御装置３００は、この読出し要求を受信すると（Ｓ６１）、第２副ジャーナルグループに関する最新の管理番号を読み出して（Ｓ６２）、第１副記憶制御装置２００に送信する（Ｓ６３）。
【０１１７】
第１副記憶制御装置２００は、第２副ジャーナルグループに関する最新の管理番号を取得する（Ｓ６４）。図１６は図１５に続くフローチャートである。第１副記憶制御装置２００は、第２副ジャーナルグループに関する最新の管理番号が更新情報管理テーブルＴ１０に記憶されているか否かを判定する（Ｓ６５）。詳しくは、その第２副ジャーナルグループに対応する第１副ジャーナルグループ（正ジャーナルグループに変更された第１副ジャーナルグループである）を管理するテーブルに、第２副記憶制御装置３００から取得した最新の管理番号が存在するか否かを判定する。
【０１１８】
第２副記憶制御装置３００に保持されている最新の管理番号が、ジャーナルグループ管理テーブルに登録されていない場合（S65:NO）、ジャーナルデータに基づいて第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３とを同期させることができない。そこで、ホスト１０Ｂは、後述のエラー処理を行う（Ｓ６６）。
【０１１９】
第２副記憶制御装置３００から取得した最新の管理番号が、対応するジャーナルグループ管理テーブルに登録されている場合（S65:YES）、第１副記憶制御装置２００は、第２副データボリューム３３２，３３３に向けて、状態変更コマンドを発行する（Ｓ６７）。第２副記憶制御装置３００は、この状態変更コマンドを受信すると（Ｓ６８）、第２副データボリューム３３２，３３３のペア状態を「ペア」に変更させる（Ｓ６９）。
【０１２０】
また、第１副記憶制御装置２００は、第２副データボリューム３３２，３３３への状態変更コマンドを発行後に、各第１副データボリューム２３２，２３３のペア状態を「ペア」に変更させる（Ｓ７０）。これにより、記憶制御装置１００から記憶制御装置２００への切替が正常に完了するため、第１副記憶制御装置２００からホスト１０Ｂに切替完了が報告される（Ｓ７１）。このように、正記憶制御装置となった第１副記憶制御装置２００と第２副記憶制御装置３００とを、非同期読出し方式で接続することにより、短時間で切替を完了することができる。
【０１２１】
そして、第２副記憶制御装置３００は、障害発生前に正記憶制御装置１００との間で行っていたように、比較的短い周期で、第１副記憶制御装置２００にジャーナルデータの読出しを要求する（Ｓ７２）。
【０１２２】
正記憶制御装置となった第１副記憶制御装置２００は、この読出し要求を受信すると（Ｓ７３）、ジャーナルグループ管理テーブルを参照し（Ｓ７４）、第２副記憶制御装置３００に保持されている最新の管理番号に続く管理番号を確認する。即ち、第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３との間の差分が生じる位置の管理番号を確認する。
【０１２３】
第１副記憶制御装置２００は、第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３との差分を解消させるべく、差分に関するライトデータを第１副データボリューム２３２，２３３から読み出し（Ｓ７５）、このライトデータに管理番号を対応付けて、第２副記憶制御装置３００に送信する（Ｓ７６）。
【０１２４】
第２副記憶制御装置３００は、管理番号をジャーナルボリューム３３１の更新情報領域に記憶させると共に（Ｓ７７）、受信したライトデータをジャーナルボリューム３３１のライトデータ領域に記憶させる（Ｓ７８）。そして、第２副記憶制御装置３００は、適当なタイミングで、ジャーナルボリューム３３１に記憶されたライトデータを第２副データボリューム３３２，３３３に反映させる（Ｓ７９）。
【０１２５】
ここで、最後に反映されたライトデータに設定されている管理番号が、リストア済管理番号となる。そして、第２副記憶制御装置３００がジャーナルデータの読出し要求を行う際には、リストア済管理番号がパージ可能な管理番号として明示される。これにより、第１副記憶制御装置２００は、消去可能な管理番号を知ることができる。障害発生前の正記憶制御装置１００でも同様に、第２副記憶制御装置３００からのジャーナルデータ読出し要求に含まれているパージ可能な管理番号に基づいて、正ジャーナルボリューム１３１に記憶されているジャーナルデータを消去することができる。
【０１２６】
なお、上述の通り、第１副記憶制御装置２００は、ジャーナルデータを記憶するための専用のボリュームを備えておらず、第１副データボリュームからライトデータを読み出す構成である。従って、第１副記憶制御装置２００においては、第２副記憶制御装置３００から消去可能な管理番号が通知された場合でも、第１副データボリューム２３２，２３３に記憶されているライトデータは消去されない。
【０１２７】
次に、図１６中にＳ６６で示したエラー処理について、図１７のフローチャートを参照しつつ説明する。第２副記憶制御装置３００に保持されている最新の管理番号が、第１副記憶制御装置２００側に登録されていない場合とは、例えば、第２副記憶制御装置３００によるジャーナルデータの読出し速度が、ホストによる更新頻度に追いつかず、第２副記憶制御装置３００にジャーナルデータが記憶されるよりも前に、そのジャーナルデータが別のジャーナルデータで上書きされたような場合である。この場合は、正しい順序で第２副データボリューム３３２，３３３の記憶内容を更新させることができない。
【０１２８】
そこで、ホスト１０Ｂにエラーの発生が通知される（Ｓ８１）。ホスト１０Ｂは、全コピーを行うか否かを判定する（Ｓ８２）。全コピーとは、コピー元ボリュームの全記憶内容をコピー先ボリュームに書き込ませる処理である。差分管理が失敗した場合でも、全コピーを行うことにより、コピー先ボリュームとコピー元ボリュームとの記憶内容を一致させることができる。
【０１２９】
例えば、ユーザから全コピーの開始について承認を得た場合や、エラー発生時の処理ポリシに全コピーの実行が予め指定されているような場合、ホスト１０Ｂは、全コピーの実行を決定することができる（S82:YES）。
【０１３０】
ホスト１０Ｂは、第１副データボリューム２３２，２３３のサスペンド状態をそれぞれ解除させ（Ｓ８３）、第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３とでコピーペアを形成させる（Ｓ８４）。そして、ホスト１０Ｂは、第１副データボリューム２３２，２３３に記憶されている全データを、対応する第２副データボリューム３３２，３３３にコピーさせる（Ｓ８５）。なお、全コピーが行われている間、ホスト１０Ｂからの更新要求を停止させることができる。第２副記憶制御装置２００のキャッシュメモリに十分な空き容量がある場合、ホスト１０Ｂからの更新要求を受け付けることも可能である。
【０１３１】
図１８は、正データボリューム（第１副データボリュームが正データボリュームになった場合も含む。以下同様。）に対するResync要求時の状態遷移を示す説明図である。図の横軸には、正データボリュームの状態が、図の縦軸にはジャーナルグループの状態が、それぞれ示されている。Resyncコマンドが発行されると、正データボリュームの状態は、「サスペンド」からペアに移行する。同様に、正ジャーナルグループ（第１副ジャーナルグループが正ジャーナルグループになった場合も含む。以下同様。）も、Resyncコマンドが発行されると、「中止」状態から「開始」状態に移行する。「中止」状態とは、ジャーナルデータを生成しない状態を意味し、「開始」状態とは、ジャーナルデータを生成する状態を示す。
【０１３２】
同様に、正データボリュームに対するResync要求時の第２副データボリュームの状態及び第２副ジャーナルグループの状態も、図１８に示すように遷移する。
【０１３３】
本実施例は、上述のように構成されるため、以下の効果を奏する。まず、本実施例では、第１副記憶制御装置２００内でジャーナルデータを生成したり、ジャーナルデータを保存するための専用ボリュームを設けることなく、更新情報管理テーブルＴ１０（Ｔ１１〜Ｔ１３を含む）と第２副データボリューム２３２，２３３を用いて、差分データを管理する構成とした。従って、比較的簡易な構成で、第１副記憶制御装置２００と第２副記憶制御装置３００との記憶内容を一致させることができる。
【０１３４】
本実施例では、正記憶制御装置１００が障害等で停止した場合に、第１副記憶制御装置２００を正記憶制御装置とし、この第１副記憶制御装置２００と第２副記憶制御装置３００とを非同期読出し方式で接続させる構成とした。従って、正データボリュームとなった第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３の記憶内容が一致しない状態でも、即座にストレージシステムの運用を開始することができ、切替時間を短縮して使い勝手を向上させることができる。
【実施例２】
【０１３５】
図１９に基づいて本発明の第２実施例を説明する。本実施例を含む以下の実施例は、第１実施例の変形例に相当する。本実施例では、４台の記憶制御装置を用いてストレージシステムの冗長性を向上させている。
【０１３６】
図１９（ａ）は通常時の状態を示す説明図である。このストレージシステムでは、正記憶制御装置１００，第１副記憶制御装置２００，第２副記憶制御装置３００に加えて、第３副記憶制御装置４００が設けられている。
【０１３７】
第１実施例で述べたように、正記憶制御装置１００と第１副記憶制御装置２００とは同期方式で接続されており、正記憶制御装置１００と第２副記憶制御装置３００とは非同期読出し方式で接続されている。
【０１３８】
図１９（ｂ）は、正記憶制御装置１００に障害等が発生して停止した場合を示す説明図である。この場合、第１実施例と同様に、第１副記憶制御装置２００が正記憶制御装置となり、第２副記憶制御装置３００と非同期読出し方式で接続される。また、第１副記憶制御装置２００は、第３副記憶制御装置４００とも非同期読出し方式で接続される。
【０１３９】
図１９（ｃ）は、第１副記憶制御装置２００に障害等が発生して停止した場合を示す説明図である。この場合、第２副記憶制御装置３００が正記憶制御装置となり、第３副記憶制御装置４００と非同期読出し方式で接続される。
【０１４０】
このように。４台の記憶制御装置を用いてストレージシステムを構成する場合は、２度の障害が立て続けに発生した場合でも、ストレージシステムの冗長性を確保することができ、信頼性をさらに向上させることができる。なお、本発明は、４台の記憶制御装置で運用する場合に限らず、５台以上の記憶制御装置を用いる場合にも適用可能である。
【実施例３】
【０１４１】
図２０に基づいて、第３実施例を説明する。本実施例では、各記憶制御装置１００，２００，３００の対応関係を各記憶制御装置１００，２００，３００がそれぞれ保持するのではなく、各副記憶制御装置２００，３００は正記憶制御装置１００との対応関係のみを保持する。
【０１４２】
図２０は、第３実施例のストレージシステムで実行される処理の一部を示すフローチャートである。このフローチャートは、図１５で説明したフローチャートに対応しており、共通のステップを含んでいる。そこで、共通のステップの説明を省略し、特徴的なステップを中心に説明する。
【０１４３】
Ｓ５９の後、ホスト１０Ｂは、第２副記憶制御装置３００にペア確認情報の送信を要求する（Ｓ９１）。ペア確認情報とは、第１副データボリューム２３２，２３３と第２副データボリューム３３２，３３３との対応関係を確認するための情報である。
【０１４４】
ここで、ペア確認情報としては、例えば、製品番号やM.VOL番号等を挙げることができる。製品番号とは、正記憶制御装置１００の装置識別番号である。M.VOL番号とは、第２副データボリューム３３２，３３３に対応する相手方ボリュームのボリューム番号である。これら正記憶制御装置１００の装置識別番号及び第２副データボリューム３３２，３３３に対応する相手方ボリュームのボリューム番号は、それぞれ第２副記憶制御装置３００によって保持されている。
【０１４５】
第２副記憶制御装置３００は、ペア確認情報の取得要求を受信すると（Ｓ９２）、ペア確認情報を第１副記憶制御装置２００に送信する（Ｓ９３）。第１副記憶制御装置２００は、ペア確認情報を取得すると（Ｓ９４）、このペア確認情報と第１副記憶制御装置２００に予め記憶されているペア確認情報とが一致するか否かを判定する（Ｓ９５）。
【０１４６】
両方のペア確認情報が一致する場合（S95:YES）、その第２副記憶制御装置３００は、第１副記憶制御装置２００と対応しており、接続可能な場合である。そこで、第１副記憶制御装置２００は、Ｓ６０以降のステップを実行する。これに対し、両方のペア確認情報が不一致の場合（S95:NO）、その第２副記憶制御装置３００は、第１副記憶制御装置２００に対応していない場合である。そこで、エラー処理が行われる（Ｓ９６）。このエラー処理では、例えば、エラーメッセージをユーザに通知することができる。
【０１４７】
このように、ペア確認情報に基づいて、第１副記憶制御装置２００と第２副記憶制御装置３００とが対応するか否かを確認し、両者を接続させる構成とすることにより、各副記憶制御装置２００，３００で管理されるペア管理テーブルＴ２２，Ｔ２３の情報量を削減することができる。
【０１４８】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、通信プロトコルとして、SANやLANを例示したが、これに限定されるものではなく、例えば、iSCSI、ESCON（登録商標）、FICON（登録商標）等の他のプロトコルにも適用することができる。
【図面の簡単な説明】
【０１４９】
【図１】本発明の実施形態の全体概要を示す説明図である。
【図２】ストレージシステムの全体構成を示す説明図である。
【図３】正サイトの構成を示す説明図である。
【図４】各サイトのボリューム同士の対応関係を示す説明図である。
【図５】データボリュームとジャーナルボリュームとの関係を示す説明図である。
【図６】ホストからのデータ更新によって各副記憶制御装置に供給される情報の構成等を示す説明図である。
【図７】正ジャーナルボリュームと副ジャーナルボリュームとの関係を示す説明図である。
【図８】第１副記憶制御装置内において、データ更新履歴を管理するために用いられる管理テーブルの構成を示す説明図である。
【図９】正記憶制御装置内に保持されるペア管理テーブルを示す説明図である。
【図１０】第１副記憶制御装置内に保持されるペア管理テーブルを示す説明図である。
【図１１】第２副記憶制御装置内に保持されるペア管理テーブルを示す説明図である。
【図１２】ライトコマンドの処理を示すフローチャートである。
【図１３】非同期読出し方式により、第２副記憶制御装置がジャーナルデータを取得する処理を示すフローチャートである。
【図１４】正記憶制御装置から第１副記憶制御装置にメイン記憶制御装置が切り替わる様子を示す説明図である。
【図１５】正サイトから第１副サイトに切り替える処理を示すフローチャートである。
【図１６】図１５に続くフローチャートである。
【図１７】図１６中のエラー処理の詳細を示すフローチャートである。
【図１８】Resync要求時におけるデータボリューム及びジャーナルグループの状態遷移を示す説明図である。
【図１９】第２実施例に係るストレージシステムの全体構成を模式的に示す説明図であって、（ａ）は通常時を、（ｂ）は正記憶制御装置から第１副記憶制御装置に切り替わった場合を、（ｃ）はさらに第１副記憶制御装置から第２副記憶制御装置に切り替わった場合を、それぞれ示す。
【図２０】第３実施例に係るストレージシステムによって実行される切替処理の一部を示すフローチャートである。
【符号の説明】
【０１５０】
１…正記憶制御装置、１Ａ…正ボリューム、１Ｂ…正ジャーナルボリューム、２…副記憶制御装置、２Ａ…副ボリューム、２Ｂ…更新管理テーブル、３…副記憶制御装置、３Ａ…副ボリューム、３Ｂ…副ジャーナルボリューム、４…ホストコンピュータ、５…管理番号、６…更新データ、７…ジャーナルデータ、１０Ａ，１０Ｂ，１０Ｃ…ホストコンピュータ、１１…アプリケーションプログラム、１２…ストレージ管理プログラム、１３…ホストバスアダプタ、２０Ａ，２０Ｂ，２０Ｃ…管理端末、２１…ストレージ管理部、１００…正記憶制御装置、１１０…コントローラ、１１０Ａ…管理番号発行部、１１１…チャネルアダプタ、１１１Ａ…ポート、１１２…ディスクアダプタ、１１３…キャッシュメモリ、１１４…共有メモリ、１１５，１１６…接続部、１１７…サービスプロセッサ、１２０…記憶部、１２１…ディスクドライブ、１３０…ジャーナルグループ、１３１…正ジャーナルボリューム、１３２，１３３…正データボリューム、２００…第１副記憶制御装置、２１０…コントローラ、２２０…記憶部、２３０…ジャーナルグループ、２３２，２３３…副データボリューム、３００…第２副記憶制御装置、３１０…コントローラ、３２０…記憶部、３３０…ジャーナルグループ、３３１…副ジャーナルボリューム、３３２，３３３…副データボリューム、４００…副記憶制御装置、５１０，５２０，５３０…通信ネットワーク
【図１】
0004738941.tif 000002
【図２】
0004738941.tif 000003
【図３】
0004738941.tif 000004
【図４】
0004738941.tif 000005
【図５】
0004738941.tif 000006
【図６】
0004738941.tif 000007
【図７】
0004738941.tif 000008
【図８】
0004738941.tif 000009
【図９】
0004738941.tif 000010
【図１０】
0004738941.tif 000011
【図１１】
0004738941.tif 000012
【図１２】
0004738941.tif 000013
【図１３】
0004738941.tif 000014
【図１４】
0004738941.tif 000015
【図１５】
0004738941.tif 000016
【図１６】
0004738941.tif 000017
【図１７】
0004738941.tif 000018
【図１８】
0004738941.tif 000019
【図１９】
0004738941.tif 000020
【図２０】
0004738941.tif 000021