(57)【要約】【課題】正記憶システム及び第１の副記憶システムのいずれかがメンテナンス中に他方の記憶システムに障害が生じても、上位装置から受領済みのデータが失われず、ストレージシステムが当該データの続きから処理を再開できるようにすること。【解決手段】上位装置は、正記憶システム及び第１の副記憶システムの各状態が共にサスペンド状態となったことを契機に、第１の副ボリューム及び第２の副ボリュームに格納済みの複写データ同士の差分データを、第１の副記憶システムから第２の副記憶システムに転送する。【選択図】図３
2011039803.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からのデータを格納する正ボリュームを有し、前記上位装置からのコマンドに基づいてデータの書き込みが停止される正記憶システムと、
前記正ボリュームに格納されたデータの複写データを格納する第１の副ボリュームを有する第１の副記憶システムと、
前記正ボリュームに格納されたデータの複写データを格納する第２の副ボリュームを有する第２の副記憶システムと
を備え、
前記上位装置は、
前記正記憶システム及び前記第１の副記憶システムの各状態が共にサスペンド状態となったことを契機に、前記第１の副ボリューム及び前記第２の副ボリュームに格納済みの複写データ同士の差分データを、前記第１の副記憶システムから前記第２の副記憶システムに転送する
ことを特徴とするストレージシステム。
【請求項２】
前記上位装置は、
前記正記憶システム、前記第１及び第２の副記憶システムの各状態を取得する状態管理部と、
前記状態管理部によって前記正記憶システム及び前記第１記憶システムの各状態が共にサスペンド状態であることが取得されたことを契機に、前記第１の副記憶システムに対して、前記差分データを複写して前記第２の副記憶システムに転送すべき旨のコマンドを発行する入出力制御部と
を備えることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記状態管理部は、
前記正記憶システム及び前記第１の副記憶システムの各状態を同期させて管理する同期状態管理部と、
前記正記憶システム及び前記第２の副記憶システムの各状態を非同期で管理する一方、前記第１の副記憶システムと前記第２の副記憶システムの各状態を非同期で管理する非同期状態管理部と
を備えることを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記第１の副記憶システムは、
前記第１の副記憶システムの状態を管理するための第１の状態管理テーブルを備え、
第２の副記憶システムは、
前記第２の副記憶システムの状態を管理するための第２の状態管理テーブルを備える
ことを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記第１及び第２の状態管理テーブルでは、それぞれ、
前記非同期状態管理部によって非同期で管理される、前記第１及び第２の副記憶システムの各状態の組み合わせとしての非同期ペアを管理しており、
前記第１の副記憶システムは、
前記上位装置から、前記差分データを複写すべき旨のコマンドを受領したことを契機に、前記差分データを、前記非同期ペアによって特定される相手先としての前記第２の記憶システムに対して複写して転送する
ことを特徴とする請求項４に記載のストレージシステム。
【請求項６】
前記第１の副記憶システムは、
前記差分データを複写すべき旨のコマンドを受領したことを契機に、各前記ボリューム内又は前記ボリューム同士の間におけるデータの更新順序を管理するためのグループに基づいて特定された記憶システムの各状態を変更し、前記差分データを前記第２の副記憶システムに転送する
ことを特徴とする請求項５に記載のストレージシステム。
【請求項７】
前記非同期ペアは、
前記正記憶システム及び前記第２の副記憶システムの各状態の組み合わせとしての第１の非同期ペアと、
前記第１及び第２の副記憶システムの各状態の組み合わせとしての第２の非同期ペアとを含み、
前記第１の副記憶システムは、
前記差分データを複写すべき旨のコマンドを受領したことを契機に、前記グループに対応するボリュームと、前記第２の非同期ペアに対応する前記第１及び第２の副ボリュームを個々に管理するためのペア識別子と、に基づいて特定したボリュームの各状態を変更し、前記差分データを前記第２の副ボリュームに転送する
ことを特徴とする請求項６に記載のストレージシステム。
【請求項８】
前記上位装置は、
前記正記憶システム及び前記第１の副記憶システムの少なくとも一方がメンテナンス状態に遷移され、かつ、他方に障害が発生したことにより、前記正記憶システム及び前記第１の副記憶システムの各状態が共にサスペンド状態となったことを契機に、前記差分データを前記第２の副記憶システムにおける第２の副ボリュームに複写する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項９】
上位装置からのデータを格納する正ボリュームを有し、前記上位装置からのコマンドに基づいてデータの書き込みが停止される正記憶システムと、
前記正ボリュームに格納されたデータの複写データを格納する第１の副ボリュームを有する第１の副記憶システムと、
前記正ボリュームに格納されたデータの複写データを格納する第２の副ボリュームを有する第２の副記憶システムと
を備えるストレージシステムにおけるデータ複製方法において、
前記上位装置が前記正記憶システム及び前記第１の副記憶システムの各状態を取得する取得ステップと、
前記取得ステップにおいて、前記正記憶システム及び前記第１の副記憶システムの各状態が共にサスペンド状態となったことを契機に、前記上位装置が、前記第１の副ボリューム及び前記第２の副ボリュームに格納済みの複写データ同士の差分データを、前記第１の副記憶システムから前記第２の副記憶システムに転送する転送ステップと
を有することを特徴とするストレージシステムにおけるデータ複製方法。
【請求項１０】
前記第１の副記憶システムは、
前記上位装置から、前記差分データを複写すべき旨のコマンドを受領したことを契機に、前記第１のボリュームの差分データを複写し、前記第１及び第２の副記憶システムの各状態の組み合わせとしての非同期ペアによって特定される相手先として、前記第２の記憶システムに対して転送する
ことを特徴とする請求項９に記載のストレージシステムにおけるデータ複製方法。
【請求項１１】
前記第１の副記憶システムは、
前記上位装置から、前記差分データを複写すべき旨のコマンドを受領したことを契機に、各前記ボリューム内又は前記ボリューム同士の間におけるデータの更新順序を管理するためのグループに基づいて特定された記憶システムの各状態を変更し、前記差分データを前記第２の副記憶システムに転送する
ことを特徴とする請求項１０に記載のストレージシステムにおけるデータ複製方法。
【請求項１２】
前記非同期ペアは、
前記正記憶システム及び前記第２の副記憶システムの各状態の組み合わせとしての第１の非同期ペアと、
前記第１及び第２の副記憶システムの各状態の組み合わせとしての第２の非同期ペアと
を含み、
前記第１の副記憶システムは、
前記上位装置から、前記差分データを複写すべき旨のコマンドを受領したことを契機に、前記グループに対応するボリュームと、前記第２の非同期ペアに対応する前記第１及び第２の副ボリュームを個々に管理するためのペア識別子と、に基づいて特定したボリュームの各状態を変更し、前記差分データを前記第２の副ボリュームに転送する
ことを特徴とする請求項１１に記載のストレージシステムにおけるデータ複製方法。
【請求項１３】
前記取得ステップでは、
前記正記憶システム及び前記第１の副記憶システムの少なくとも一方がメンテナンス状態に遷移され、かつ、他方に障害が発生したことにより、前記正記憶システム及び前記第１の副記憶システムの各状態が共にサスペンド状態となったことを取得する
ことを特徴とする請求項９に記載のストレージシステムのデータ複製方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からのデータを記憶する正記憶システム、第１及び第２の副記憶システムを備えるストレージシステムに関し、特に、これらいずれかに障害が発生した場合であってもいずれかの記憶システムを用いてデータ処理を継続する技術に関する、ストレージシステム及びストレージシステムにおけるデータ複製方法に好適なものである。
【背景技術】
【０００２】
近年の情報産業の発達により、様々なストレージシステムが開発されている。従来のストレージシステムは、上位装置からのデータを記憶するための複数の記憶システムを備え、一方の記憶システムに障害が生じたりメンテナンス中であった場合でも、他方の記憶システムを使用することができる冗長構成を採用している。【０００３】
従来のストレージシステムにおいては、上位装置は、書き込みコマンドを一方の記憶システムに対して発行し、データを当該一方の記憶システム（以下「正記憶システム」という）のボリュームに記憶させる一方、この記憶処理に同期させて、そのデータの複写データを上記他方の記憶システム（以下「副記憶システム」という）のボリュームに記憶させている。このような冗長構成において、従来のストレージシステムによれば、正記憶システムに障害が発生した場合には、副記憶システムの複写データを用いて処理を継続することが可能であった。【０００４】
さらに、近年のストレージシステムでは、この副記憶システムを二重化した構成を採用したものが存在している（特許文献１参照）。以下の説明では、これら副記憶システムを第１及び第２の副記憶システムと呼称する。このようなストレージシステムにおいては、第１の副記憶システムに格納された複写データが非同期で第２の副記憶システムに転送されている。即ち、従来のストレージシステムでは、正記憶システム、第１及び第２の副記憶システムという構成要素間においてデータ整合性の維持を図りつつ高速かつ効率的にデータの複製を行い、これら構成要素のいずれかで障害が発生した場合にデータの複製処理を再開するまでに要する時間を短くすることができる。【０００５】
当該ストレージシステムでは、正記憶システム及び第１の副記憶システムに障害が発生している場合、又は、一方がメンテナンス中で他方に障害が発生している場合であっても、その後、ホストコンピュータは、第２の副記憶システムに残っているデータを用いて、その時点からデータ処理を進めることが可能であった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３１６６８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように従来のストレージシステムでは、上述のような障害が生じた場合にでも、第２の副記憶システムを用いて動作を継続することはできるものの、次のような不都合があった。即ち、従来のストレージシステムでは、第１及び第２の副記憶システムの間において非同期でデータの複写が行われているため、障害が生じたタイミングによっては、正記憶システムと第１の副記憶システムとのデータが同一であったにもかかわらず、第１及び第２の副記憶システムの間においてはデータが異なる場合があった。【０００８】
このような場合、従来のストレージシステムでは、第２の記憶システムを用いて当該障害が生ずる直前までのデータから続けて処理を再開することができず、データの一部が失われてしまうおそれがあった。これは、第１の副記憶システムがメンテナンス中である場合に正記憶システムに障害が発生した場合も、同様な理由により当該データの一部が失われてしまうおそれがあった。【０００９】
本発明は、以上の点を考慮してなされたもので、正記憶システム及び第１の副記憶システムのいずれかがメンテナンス中の状態である場合に他方の記憶システムに障害が生じたときであっても、上位装置から受領済みのデータが失われないばかりでなく、当該データの続きから処理を再開することができるストレージシステム及びストレージシステムにおけるデータ複製方法を提案するものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため、本発明においては、上位装置からのデータを格納する正ボリュームを有し、前記上位装置からのコマンドに基づいてデータの書き込みが停止される正記憶システムと、前記正ボリュームに格納されたデータの複写データを格納する第１の副ボリュームを有する第１の副記憶システムと、前記正ボリュームに格納されたデータの複写データを格納する第２の副ボリュームを有する第２の副記憶システムとを備え、前記上位装置は、前記正記憶システム及び前記第１の副記憶システムの各状態が共にサスペンド状態となったことを契機に、前記第１の副ボリューム及び前記第２の副ボリュームに格納済みの複写データ同士の差分データを、前記第１の副記憶システムから前記第２の副記憶システムに転送することを特徴とする。【００１１】
かかる課題を解決するため、本発明においては、上位装置からのデータを格納する正ボリュームを有し、前記上位装置からのコマンドに基づいてデータの書き込みが停止される正記憶システムと、前記正ボリュームに格納されたデータの複写データを格納する第１の副ボリュームを有する第１の副記憶システムと、前記正ボリュームに格納されたデータの複写データを格納する第２の副ボリュームを有する第２の副記憶システムとを備えるストレージシステムにおけるデータ複製方法において、前記上位装置が前記正記憶システム及び前記第１の副記憶システムの状態を取得する取得ステップと、前記取得ステップにおいて、前記正記憶システム及び前記第１の副記憶システムの各状態が共にサスペンド状態となったことを契機に、前記上位装置が、前記第１の副ボリューム及び前記第２の副ボリュームに格納済みの複写データ同士の差分データを、前記第１の副記憶システムから前記第２の副記憶システムに転送する転送ステップとを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、正記憶システム及び第１の副記憶システムのいずれかがメンテナンス中の状態である場合に他方の副記憶システムに障害が生じたときであっても、上位装置から受領済みのデータが失われず、当該データから続けて処理を再開することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態によるストレージシステムの概略構成を示すブロック図である。
【図２】各記憶システムの構成例を示すブロック図である。
【図３】データ処理システムの基本的な構成例を示す図である。
【図４】通常運用中における各記憶システムにおける動作例を表す図である。
【図５】正記憶システムがメンテナンス中における各記憶システムの動作例を示す図である。
【図６】正記憶システムがメンテナンス中における各記憶システムの動作例を示す図である。
【図７】第１の副記憶システムがメンテナンス中における各記憶システムの動作例を示す図である。
【図８】第１の副記憶システムがメンテナンス中における各記憶システムの動作例を示す図である。
【図９】第２の副記憶システムがメンテナンス中における各記憶システムの動作例を示す図である。
【図１０】第２の副記憶システムがメンテナンス中における各記憶システムの動作例を示す図である。
【図１１】正記憶システムがメンテナンス中に第１の副記憶システムで障害が発生した場合の動作例を示す図である。
【図１２】正記憶システムがメンテナンス中に第１の副記憶システムで障害が発生した場合の動作例を示す図である。
【図１３】第１の副記憶システムのメンテナンス中に正記憶システムに障害が発生した場合の動作例を示す図である。
【図１４】第１の副記憶システムのメンテナンス中に正記憶システムに障害が発生した場合の動作例を示す図である。
【図１５】ペア状態管理テーブルにおいて同期ペアが形成される前の状態を示す図である。
【図１６】ペア状態管理テーブルにおいて同期ペアが形成される様子の一例を示す図である。
【図１７】ペア状態管理テーブルにおいて第１の非同期ペアを形成する様子の一例を示す図である。
【図１８】ペア状態管理テーブルにおいて第１の非同期ペアを形成する様子の一例を示す図である。
【図１９】正記憶システムをメンテナンスする場合におけるペア状態管理テーブルの状態を示す図である。
【図２０】正記憶システムをメンテナンスする場合におけるペア状態管理テーブルの状態を示す図である。
【図２１】正記憶システムをメンテナンスする場合におけるペア状態管理テーブルの状態を示す図である。
【図２２】正記憶システムのメンテナンス中の第１の副記憶システムに障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。
【図２３】正記憶システムのメンテナンス中の第１の副記憶システムに障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。
【図２４】通常運用中に正記憶システムにおいて障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。
【図２５】通常運用中に正記憶システムにおいて障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。
【図２６】通常運用中に正記憶システムにおいて障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。
【図２７】リシンク処理の手順の一例を示すフローチャートである。
【図２８】同期ペアの構成情報ファイルの構成例を示す図である。
【図２９】非同期ペアの構成情報ファイルの構成例を示す図である。
【図３０】第１の副記憶システムにおける動作の一例を示すフローチャートである。
【図３１】同期ペアのペア状態管理テーブルの構成例を示す図である。
【図３２】第２の非同期ペアのリシンク処理の手順例を示すフローチャートである。
【図３３】図３２に示すリシンク処理の詳細な内容を示すフローチャートである。
【図３４】Ｇｒｏｕｐ＃Ｚに所属するＣＵ：ＶＯＬ＃の管理テーブルの一例を示す図である。
【図３５】Ｇｒｏｕｐ＃Ｚに所属するＣＵ：ＶＯＬ＃の管理テーブルの一例を示す図である。
【図３６】ＣＵ：ＶＯＬ＃とペア管理ＩＤの管理テーブルの一例を示す図である。
【図３７】ペア管理ＩＤ毎のペア状態管理テーブルの一例を示す図である。
【図３８】通常状態に戻す処理の一例を示すフローチャートである。
【図３９】通常状態に戻す処理の詳細な内容を示すフローチャートである。
【図４０】リシンク処理時における差分データの複写方法の手順の一例を示すフローチャートである。
【図４１】ジャーナル制御情報の一例を示す図である。
【図４２】ジャーナル管理テーブルの一例を示す図である。
【図４３】ジャーナル管理テーブルの一例を示す図である。
【図４４】差分データの作成方法の一例を示す図である。
【符号の説明】
【００１４】
１……ストレージシステム、１００……ホストコンピュータ、１００ａ……入出力制御部、１００ｂ……同期ペア状態管理部、１００ｃ……非同期ペア管理部、２００……正記憶システム、２００ａ……正ボリューム、２００ｂ……同期ペア、２００ｃ……非同期ペア、２００ｄ……ペア状態管理テーブル、３００……第１の副記憶システム、３００ａ……第１の副ボリューム、３００ｂ……同期ペア、３００ｃ……非同期ペア、３００ｄ……ペア状態管理テーブル、４００……第２の副記憶システム、４００ａ……第２の副ボリューム、４００ｂ……同期ペア、４００ｃ……非同期ペア、４００ｄ……ペア状態管理テーブル。
【発明を実施するための形態】
【００１５】
以下に、本発明が適用されるストレージシステムの一実施形態について、図面を参照して詳細に説明する。
【００１６】
（１）本実施の形態によるストレージシステムの構成
図１は、本実施の形態によるストレージシステム１の概略構成を示すブロック図である。ストレージシステム１は、データが格納される記憶領域を有する複数の記憶システムを備えている。ストレージステムは、このような記憶システムとして、記憶システム２００，３００，４００を備え、上位装置としてのホストコンピュータ１００からのデータをいずれかの記憶システム２００等に格納する。ホストコンピュータ１００は、デスクトップ若しくはノート型コンピュータ、ワークステーション又はメインフレームのようなコンピュータである。
【００１７】
ホストコンピュータ１００は、ＣＰＵ（Central Processing Unit）、メモリ、キャッシュ、ハードディスクドライブ、インターフェース及び各種インターフェースカードを備えている。ホストコンピュータ１００は、内蔵するプロセッサが各種プログラムをメモリ上で実行することで、様々な機能を実現する。これら各種プログラムは、図示したホストアプリケーション１０１に相当する。ホストコンピュータ１００は、主として正記憶システム２００に格納されたデータにアクセスしてデータ処理を実行する。当該データは上記複製元データに相当する。
【００１８】
このようなストレージシステム１においては、ホストコンピュータ１００が書き込みコマンドを記憶システム２００に対して発行することでデータを記憶システム２００に記憶させる一方、当該データを複製したデータを別の記憶システム３００に記憶させておく。当該ストレージシステム１は、記憶システム２００に障害が発生した場合、記憶システム３００に複写済みのデータを用いて処理を継続する。
【００１９】
本実施の形態では、複製対象となるデータ（以下「複製元データ」という）を格納する記憶システムと、当該複製元データを複製して得たデータ（以下「複製データ」という）を格納する記憶システムとを区別するために、複製元データを格納する側を「正」、複製データを格納する側を「副」と定義する。本実施の形態では、この正副の状態に応じて、複製元データを格納する記憶システムを「正記憶システム」と呼称とともに、複製データを格納する記憶システムを「副記憶システム」と呼称こととする。なお、本実施の形態では、正記憶システムを「ＰＶＯＬ」と呼称し、副記憶システムを「ＳＶＯＬ」とも呼称する。
【００２０】
各記憶システム２００，３００，４００の間は、ネットワークや専用線によって接続されており、所定の通信プロトコルにより通信が行われる。副記憶システム３００は、後述する同期データ複製処理によって、正記憶システム２００に格納済みのデータを複写して当該複製データを格納する。副記憶システム４００は、後述する非同期データ複製処理によって、正記憶システム２００に格納済みのデータを複写して当該複製データを格納する。
【００２１】
正記憶システム２００は、複製元データが更新される時に当該更新内容に関するジャーナルを作成して記憶領域にジャーナルデータＪＮＬ１を格納し、このジャーナルデータＪＮＬ１をもとにデータを複製している。第１及び第２の副記憶システム３００，４００は、正記憶システム１００とほぼ同様に、それぞれ、正記憶システム２００からの複写データが更新される時に当該更新内容に関するジャーナルを作成して記憶領域にジャーナルデータＪＮＬ２，ＪＮＬ３を格納している。正記憶システム２００は、記憶システム３００，４００間で各々必要なジャーナルデータの転送を行い、当該ジャーナルデータにより他の記憶システムの複製データを更新することで、複製元データに一致させている。
【００２２】
記憶システム２００間のデータ複製の方式（モード）としては、同期データ複製及び非同期データ複製がある。通常の運用時には、三つの記憶システム２００，３００，４００間で、同期データ複製及び非同期データ複製の２種類のデータ複製を行うことで、一つの複製元データに対して２つの複製データが保持される。同期データ複製は、複製元データの更新に同期して複製データを更新する処理であり、複製データは複製元データと一致する。一方、非同期データ複製は、複製元データの更新に非同期で、ジャーナルに基づいて複製データを更新する処理であり、複製データは複製元データの更新後に一致する。
【００２３】
本実施の形態によるストレージシステム１では、通常運用時、記憶システム間でのデータ複製、つまり複製データの保持状態の維持を行うが、ある記憶システムに障害が生じた時には、障害状態でない記憶システム間でジャーナルの転送を行ってジャーナルのデータにより更新反映を行うことで上記データ複製を継続し、処理を再開する。
【００２４】
ここで、記憶システムの記憶領域は、論理的に分割して管理されており、分割された記憶領域は論理ボリュームと呼ばれている（以下単に「ボリューム」ともいう）。この論理ボリューム内及び論理ボリューム間におけるデータの更新順序を管理するために、グループという管理単位が設けられている。
【００２５】
＜記憶システムの構成＞
図２は、正記憶システム２００のハードウェア構成例を示すブロック図である。なお、図２には、主として正記憶システム２００のハードウェア構成について説明するが、上述した第１及び第２の副記憶システム３００，４００もほぼ同様な構成である。
【００２６】
正記憶システム２００は、ＣＨＡ（ホストアダプタ）１１０、ＤＫＡ（ディスクアダプタ）１２０、ＣＡＣＨＥ（キャッシュメモリ）１３０、ＳＭ（共有メモリ）１４０、ＨＤＤ（ハードディスクドライブ）１５０及びＳＷＩＴＣＨ（スイッチ）１６０を備えている。ホストアダプタ１１０、ディスクアダプタ１２０、キャッシュメモリ１３０及び共有メモリ１４０はスイッチ１６０を経由して接続されている。ハードディスクドライブ１５０は複数設けられており、いわゆるＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成している。
【００２７】
正記憶システム２００は、命令受信処理等の他、各種処理を制御する制御部として、ホストアダプタ１１０及びディスクアダプタ１２０を備え、内蔵するプロセッサによって各処理に対応するプログラムを実行する。当該プログラムは、後述するホストアプリケーションに相当する。ホストアダプタ１１０は、ホストコンピュータ１００と通信を行うための通信インターフェイスと入出力命令を授受する機能を備え、ホストコンピュータ１００とキャッシュメモリ１３０間のデータ転送を制御する。ホストアダプタ１１０は、ホストコンピュータ１００及び副記憶システム２００に接続されている。ディスクアダプタ１２０は、ハードディスクドライブ１５０に対するデータの読み出し及び書き込み等の制御を行い、キャッシュメモリ１３０とハードディスクドライブ１５０との間のデータ転送を制御する。
【００２８】
キャッシュメモリ１３０は、主としてホストコンピュータ１００から受信したデータ又はハードディスクドライブ１５０から読み出したデータを一時的に記憶するメモリの一種である。共有メモリ１４０は、記憶システム２００内の全てのホストアダプタ１１０及びディスクアダプタ１２０が共有して使用するメモリであり、主に制御情報等を記憶する。
【００２９】
＜ジャーナルの構成＞
ジャーナルは、記憶システム２００の保持する複製元データ（正ボリューム）が更新される時に、データ更新に関する情報として作成されるデータである。ジャーナルは、ライトデータ及び更新情報を含んでいる。ライトデータは、ホストコンピュータ１００からの正ボリュームのデータ更新処理時に用いられたデータのコピーである。当該データは更新位置に対する書き込みデータである。
【００３０】
当該更新情報は、更新毎のライトデータ及びジャーナルを管理する情報であり、ライトコマンドを受信したタイムスタンプとしての時刻（更新時刻）、管理番号、そのライトコマンドの論理アドレス、及び、ライトデータのデータサイズ等を含んでいる。当該更新情報は、データ更新の識別子として、上記ライトコマンドを受信したタイムスタンプとしての時刻（更新時刻）及び管理番号の少なくとも一方を含んでいる。当該更新情報によってデータの更新順序が識別される。
【００３１】
（２）ホストコンピュータ１００の機能構成
図３は、ホストコンピュータ１００及びストレージシステム１を備えるデータ処理システムの基本的な構成例を示す図である。ホストコンピュータ１００は、そのプロセッサが動作させるホストアプリケーションとして、入出力（以下「ＩＯ」ともいう）制御部１００ａ及び状態管理部１００ｂ，１００ｃを搭載しており、ファイルとして、後述する同期ペア及び非同期ペアの構成情報ファイル１００ｄ，１００ｅを有する。
【００３２】
同期ペアの構成情報ファイル１００ｄは、後述する同期ペア情報を含んでいる。非同期ペアの構成情報ファイル１００ｅは、後述する非同期ペア情報を含んでいる。この非同期ペア情報には、第１及び第２の非同期ペアに応じて２種類存在しており、これらは別々のファイルとして存在していても良い。本実施の形態では、上記入出力制御部１００ａ、状態管理部１００ｂ，１００ｃを総称してホストアプリケーションとも呼称する。
【００３３】
上記入出力制御部１００ａは、正記憶システム２００、第１及び第２の副記憶システム３００，４００に対し、データの書き込みや読み出しを指示する場合に必要なコマンドを発行する機能を有する。
【００３４】
状態管理部１００ｂ，１００ｃは、正記憶システム２００並びに第１及び第２の副記憶システム３００，４００の各状態を取得して管理するアプリケーションソフトウェアである。状態管理部１００ｂ，１００ｃは、上述した同期データ複製処理の実行による各状態を管理する同期ペア状態管理部１００ｂと、上述した非同期データ複製処理の実行による各状態を管理する非同期ペア状態管理部１００ｃとを備えている。これら同期及び非同期ペア状態管理部１００ｂ，１００ｃは、ホスト側におけるアプリケーションであり、正記憶システム２００、第１及び第２の副記憶システム３００，４００の各ペア状態を検知する機能を有する。
【００３５】
本実施の形態では、同期データ複製処理において同期させて設定される２つの記憶システムの動作状態（本実施形態では単に「状態」とも表現する）の組み合わせを「同期ペア」と呼称する一方、非同期データ複製処理において非同期で設定される２つの記憶システムの動作状態の組み合わせを「非同期ペア」と呼称する。ここでいう動作状態（状態）とは、例えば同期ペアであれば、同期してデータの複写処理等を実行することを表し、例えば非同期ペアであれば、非同期でデータの複写処理等を実行することを示している。
【００３６】
即ち、本実施の形態では、正記憶システム２００と第１の副記憶システム３００の状態同士が同期して変更されるため、「同期ペア」と呼称している。一方、第１及び第２の副記憶システム３００，４００の状態同士、及び、正記憶システム２００と第２の副記憶システム４００の状態同士は、それぞれ、同期しないで変更されるため、「非同期ペア」と呼称している。なお、同期ペア及び非同期ペアはそれぞれペア状態管理テーブルを有する。
【００３７】
なお、本実施の形態では、非同期ペアのうち前者を「第１の非同期ペア」と呼称し、後者を「第２の非同期ペア」と呼称する。本実施の形態では、これら同期ペア又は非同期ペアの状態を「ペア状態」とも呼称し、同期又は非同期でペア状態を設定することを「ペア形成」又は、単に「形成」とも表現する。
【００３８】
ペア状態としては、例えば、デュプレックス（Ｄｕｐｌｅｘ）状態、サスペンド状態、Ｃｏｐｙ、Ｐａｉｒ状態及び書き込み可能なサスペンド状態（後述するＳｕｓｐ（Ｒ）状態に相当）を挙げることができる。デュプレックス状態は、両記憶システムの各ボリュームに格納されているデータが一致していることを示している。サスペンド状態は、上記同期ペア又は非同期ペアの間でデータの複写処理が停止している状態を示している。Ｃｏｐｙ状態は、ボリューム間の差分データを複写しており、その複写が完了するまでの状態を示す。例えば、最初に同期ペアを形成した時は、正ボリューム２００ａと第１の副ボリューム３００ａとのデータ同士は異なっており、正ボリューム２００ａのデータを第１の副ボリューム３００ａに複写するが、この複写処理が開始してから完了するまでは、当該Ｃｏｐｙ状態に該当する。なお、サスペンド状態における後述するリシンクコマンドに応じて差分データが複写されている状態も当該Ｃｏｐｙ状態である。Ｐａｉｒ状態は、Ｃｏｐｙ状態が終了した状態を示している。このＰａｉｒ状態は、正ボリューム２００ａ及び第１の副ボリューム３００ａのデータ同士が一致していること、又は、正ボリューム２００ａ及び第２の副ボリューム４００ａのデータ同士が一致していることを示している。正ボリューム２００ａのデータが更新されると、当該更新されたデータが副ボリューム３００ａ，４００ａに複写される。書き込み可能なサスペンド状態は、基本的にはサスペンド状態であるが、複写先のボリュームにデータを書き込み可能な状態を示している。なお、Ｐａｉｒ状態は、上記デュプレックス状態と同義である。
【００３９】
本実施の形態では、ホストコンピュータ１００のプロセッサが、正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態（又は書き込み可能なサスペンド状態）となったことを契機に、第１及び第２の副記憶システム３００，４００に対してリシンクコマンドを発行する。即ち、プロセッサは、当該契機に、第１及び第２の副記憶システム３００，４００に対し、後述するリシンク処理を実行させる。
【００４０】
具体的には、同期ペア状態管理部１００ｂが、定期的に、正記憶システム２００（の正ボリューム２００ａ）及び第１の副記憶システム３００（の第１の副ボリューム３００ａ）の各状態を取得しており、入出力制御部１００ａは、上述した事象を契機に、第１の副ボリューム３００ａ及び第２の副ボリューム４００ａの複写データ同士の差分データを複写して第１の副記憶システム３００から第２の副記憶システム４００に転送させる。
【００４１】
＜正記憶システムの構成＞
正記憶システム２００は、正ボリューム２００ａ及びペア情報管理テーブル２００ｄを備えている。ペア状態管理テーブル２００ｄは、同期ペア２００ｂ及び非同期ペア２００ｃに関するペア属性及びペア状態を管理している。ペア状態管理テーブル２００ｄの詳細については後述する。
【００４２】
＜第１の副記憶システムの構成＞
第１の副記憶システム３００は、正ボリューム３００ａ及びペア状態管理テーブル３００ｄを備えている。ペア状態管理テーブル２００ｄは、同期ペア３００ｂ及び非同期ペア３００ｃに関するペア属性及びペア状態を管理している。ペア状態管理テーブル３００ｄの詳細については後述する。
【００４３】
＜第２の副記憶システムの構成＞
第２の副記憶システム４００は、第１の副ボリューム４００ａ及びペア状態管理テーブル４００ｄを備えている。ペア状態管理テーブル４００ｄは、非同期ペア４００ｂ及び非同期ペア４００ｃに関するペア属性及びペア状態を管理している。このペア状態管理テーブル４００ｄの詳細については後述する。
【００４４】
（３）ストレージシステムの動作例
ストレージシステム１は、以上のような構成により、次のような動作を実行する。
【００４５】
（３−１）各運用形態
通常運用中においては、正記憶システム２００の正ボリューム２００ａに格納済みのデータと、第１の副記憶システム３００の第１の副ボリューム３００ａに格納済みのデータとは一致している（ペア状態＝デュプレックス状態）。ホストコンピュータ１００は、入出力制御部１００ａが、当該正ボリュームにコマンドを発行する。正記憶システム２００は、当該コマンドによって正ボリュームに格納されたライトデータを第１の副記憶システム３００に同期させて転送する一方、第１の副記憶システム３００は、転送された当該ライトデータを第１の副ボリューム３００ａに複写する。
【００４６】
さらに、正記憶システム２００は、上記コマンドに応じて、正ボリュームに格納されたライトデータを、非同期で第２の副記憶システム４００に転送する。当該第２の副記憶システム４００は、当該転送されたライトデータを第２の副ボリューム４００ａａに複写する。
【００４７】
また、第１及び第２の副記憶システム３００，４００の間においても、非同期ペアが形成される。第２の非同期ペアは、上記第１及び第２の副ボリューム３００ａ，４００ａの間における差分データを管理している。当該差分データの作成方法については後述する。
【００４８】
図４は、通常運用中における各記憶システムにおける動作例を表す図である。当該動作の項目としては、ペア状態、ＩＯ発行先及び正／副装置間のデータに分けることができる。ペア状態は、同期ペア、第１及び第２の非同期ペアの状態を表している。ＩＯ発行先とは、コマンドの発行先（の記憶システム）を表しており、図示の例では「正ＶＯＬ（正ボリューム：ＰＶＯＬ）」となっている。なお、ＩＯ発行先が副ボリュームである場合には、第１の副ボリュームについては「副ＶＯＬ１（第１の副記憶システム）」、第２の副ボリュームについては「副ＶＯＬ２（第２の副ボリューム）」と図示している。正／副装置間のデータとは、各記憶システム間におけるデータの状態を表している。図示した正装置とは正記憶システムを表し、副装置とは副記憶システムを表している。
【００４９】
正／副装置間のデータに関しては、同期ペア（正記憶システム２００及び第１の副記憶システム３００の各状態）に関しては、データが正ボリューム２００ａ（正ＶＯＬ）から第１副ボリューム３００ａ（副ＶＯＬ１）に複写されており、正ボリューム２００ａのデータと第１の副ボリューム３００ａのデータが一致していることを表す。第１の非同期ペアに関しては、正ボリューム２００ａから第２の副ボリューム４００ａ（副ＶＯＬ２）にデータが複写されており、正ボリューム２００ａのデータと第２の副ボリューム４００ａのデータが一致していることを表している。第２の非同期ペアに関しては、第１の副ボリューム３００ａと第２の副ボリューム４００ａとの間で差分データが管理されていることを表している。
【００５０】
なお、これら各項目に関する説明は、後述する図５、図７、図９、図１１及び図１３においてもほぼ同様に適用することができる。
【００５１】
＜正記憶システムのメンテナンス＞
図５及び図６は、それぞれ、正記憶システム２００がメンテナンス中における各記憶システムの動作例を示す図である。メンテナンス等を理由として、ホストコンピュータ１００が正記憶システム２００を使用できない場合、管理者などのオペレーションにより、ホストコンピュータ１００は、図５に示すように第１の副ボリューム３００ａの同期ペア３００ｂの状態を「書き込み可能なサスペンド状態（図示のＳｕｓｐｅｎｄ（Ｒｅｖｅｒｓｅ）」に変更し、そのコマンドを第１の副記憶システム３００に対して発行する。なお、本実施の形態では、当該状態を「Ｓｕｓｐ（Ｒ）」とも省略して用いている。
【００５２】
図６に示すように、当該コマンドの発行により第１の副記憶システム３００へ転送されたライトデータは、同期ペア３００ｂ及び第２の非同期ペア３００ｃの各状態に応じて、第１の副記憶システム３００において差分データが管理される。このとき、非同期ペア管理部１００ｃは、同期ペア３００ｂがサスペンド状態であることを検出すると、第１の副記憶システム３００（の第２の非同期ペア３００ｃ）に対してリシンクすべき旨のコマンド（リシンクコマンド）を発行することで、リシンク処理を実行すべき旨の指示を行う。
【００５３】
第１の副記憶システム３００（の第２の非同期ペア３００ｃ）に対してリシンク処理の実行が指示されると、第１及び第２の副記憶システム３００，４００の間の差分データを第２の副ボリューム４００ａに複写する。また、第２の副ボリューム３００ａに関してリシンク処理が実行されると、入れ替わりで、第１の非同期ペアがサスペンド状態にされ、第１及び第２の副ボリューム３００ａ，４００ａの間の差分データが管理される。
【００５４】
＜第１の副記憶システムのメンテナンス＞
図７及び図８は、それぞれ、第１の副記憶システム３００がメンテナンス中における各記憶システムの動作例を示す図である。第１の副記憶システム３００をメンテナンスする場合、管理者などによるオペレーションにより、正ボリューム２００ａ及び第１の副ボリューム３００ａのペア状態がサスペンド状態にされる。コマンドが正記憶システム２００に対して発行され、当該コマンドによって正記憶システム２００に転送されたライトデータは、正記憶システム２００において差分が管理される。この場合、第１の副記憶システム３００にはデータが複写されない。なお、第１の非同期ペアについては、ペア状態はデュプレックス状態を維持している。正記憶システム２００に転送されたライトデータは、第２の副記憶システム４００にも複写される。第２の非同期ペアについても、サスペンド状態が維持されており、第１の副記憶システム３００と第２の副記憶システム４００の間の差分データが管理されている。
【００５５】
＜第２の副記憶システムのメンテナンス＞
図９及び図１０は、それぞれ、第２の副記憶システム４００がメンテナンス中における各記憶システムの動作例を示す図である。第２の副記憶システム４００をメンテナンスする場合、非同期ペア管理部１００ｃが、管理者などによるオペレーションにより、正記憶システム２００及び第２の副記憶システム４００の間の非同期ペアのペア状態をサスペンド状態に設定する。すると、所定のコマンドが正記憶システム２００に対して発行され、当該コマンドによって正記憶システム２００に転送されたライトデータが第１の副記憶システム３００に複写される。正記憶システム２００及び第２の副記憶システム４００の間の第１の非同期ペアによれば、データが第２の副記憶システム４００に複写されず、データは差分が管理される。第２の非同期ペアについては、サスペンド状態が維持され、第１及び第２の副記憶システム３００，４００の間における差分データが管理される。
【００５６】
＜正記憶システムのメンテナンス中に第１の副記憶システムに障害が発生＞
図１１及び図１２は、それぞれ、正記憶システム２００がメンテナンス中に第１の副記憶システム３００で障害が発生した場合の動作例を示す図である。
【００５７】
正記憶システム２００がメンテナンス中である場合、第１の副記憶システム３００がホストコンピュータ１００から受領したライトデータは、図１１に示す第２の非同期ペアの設定によれば、図１２に示すようにデータが第１の副記憶システム３００から第２の副記憶システム４００に複写される。従って、正記憶システム２００のメンテナンス中に第１の副記憶システム３００において障害が発生しても、第２の副記憶システム４００に複写されたデータが存在するため、データが失われることはない。また、ホストコンピュータ１００が第２の副記憶システム４００に対してコマンドを発行することにより、停止したデータの入出力を再開することが可能となる。
【００５８】
＜第１の副記憶システムのメンテナンス中に正記憶システムに障害が発生＞
図１３及び図１４は、それぞれ、第１の副記憶システム３００のメンテナンス中に正記憶システム２００に障害が発生した場合の動作例を示す図である。第１の副記憶システム３００のメンテナンス中に、正記憶システム２００がホストコンピュータ１００から受領したライトデータは、図１３に示す第１の非同期ペアによれば、図１４に示すように正記憶システム２００から第２の副記憶システム４００に複写される。
【００５９】
従って、第１の副記憶システム３００のメンテナンス中に正記憶システム２００において障害が発生しても、第２の副記憶システム４００に複写されたデータが存在するため、データが失われることはない。また、ホストコンピュータ１００は、第２の副記憶システム４００にコマンドを発行することにより、停止したデータの入出力を再開することが可能となる。
【００６０】
（３−２）ペア状態の更新状況
＜ペア形成前＞
図１５は、ペア状態管理テーブルにおいて同期ペアが形成される前の状態を示す図である。図１５においては、左側から、正記憶システム２００、第１及び第２の副記憶システム３００，４００のペア状態管理テーブル２００ｄ，３００ｄ，４００ｄの構成例を表している。なお、本実施の形態では、図示の場合を含め、「＃」マークはアドレスを示している。
【００６１】
正記憶システム２００のペア状態管理テーブル２００ｄは、同期ペア及び第１の非同期ペアの正ボリュームに関するペア属性及びペア状態を管理している。ペア属性は、当該ボリュームが正ボリュームであるか副ボリュームであるかを表している。一方、ペア状態は、上述のように、ペアを構成する両記憶システムのボリュームの状態を示している。
【００６２】
左側に図示した正記憶システム２００のペア状態管理テーブル２００ｄでは、アドレス「０」が同期ペアの正ボリュームを示しており、アドレス「１」が第１の非同期ペアの正ボリュームを示している。なお、この状態では、ホストコンピュータ１００は、正記憶システム２００を用いて業務を継続している。
【００６３】
中央に図示した第１の副記憶システム３００のペア状態管理テーブル３００ｄでは、アドレス「０」が同期ペアの第１の副ボリューム３００ａを示しており、アドレス「２」が第２の非同期ペアの正ボリューム２００ａを示している。
【００６４】
右側に図示した第２の副記憶システム４００のペア状態管理テーブル４００ｄでは、アドレス「０」が第１の非同期ペアの第１の副ボリューム３００ａを示しており、アドレス「１」が第２の非同期ペアの第２の副ボリューム４００ａを示している。
【００６５】
図１５に示す正記憶システム２００、第１及び第２の副記憶システム３００，４００における各ペア状態管理テーブルにおいては、いずれもペア状態が設定される前であるため、各ペア状態が「Ｓｉｍｐｌｅｘ状態」に設定されている。
【００６６】
＜同期ペアの形成＞
図１６は、ペア状態管理テーブルにおいて同期ペアが形成される様子の一例を示す図である。最新データは正記憶システム２００管理されており、第１の副記憶システム３００にデータが複写中である。この状態では、ホストコンピュータ１００は、正記憶システム２００を用いて業務を継続している。
【００６７】
当該図１６では、同期ペアについて、正ボリューム２００ａ及び第１の副ボリューム３００ａ関するペア属性及びペア状態が設定されている。具体的には、同期ペアの正ボリューム２００ａに関しては、ペア属性が「ＰＶＯＬ（正ボリューム）」に設定されており、ペア状態が「Ｃｏｐｙ」及び「Ｐａｉｒ」に設定されている。一方、同期ペアの第１の副ボリューム３００ａに関しては、ペア属性が「ＳＶＯＬ（副ボリューム）」に設定されており、ペア状態が「Ｃｏｐｙ」及び「Ｐａｉｒ」に設定されている。
【００６８】
このように設定されると、正記憶システム２００の正ボリューム２００ａに格納されているデータが複写され、第１の副記憶システム３００の第１の副ボリューム３００ａに転送される。
【００６９】
＜第１の非同期ペアの形成＞
図１７は、ペア状態管理テーブルにおいて第１の非同期ペアを形成する様子の一例を示す図である。図１７に示す設定では、上記同期ペアの形成を完了した後であり、最新データは、正記憶システム２００及び第１の副ボリューム３００ａに格納されるようにしている。
【００７０】
当該図１７では、第１の非同期ペアについて、正ボリューム２００ａ及び第２の副ボリューム４００ａに関するペア属性及びペア状態が設定されている。具体的には、第１の非同期ペアの正ボリューム２００ａに関しては、ペア属性が「ＰＶＯＬ（正ボリューム）」に設定されており、ペア状態が「Ｃｏｐｙ」及び「Ｐａｉｒ」に設定されている。一方、第１の非同期ペアの第１の副ボリューム３００ａに関しては、ペア属性が「ＳＶＯＬ（副ボリューム）」に設定されており、ペア状態が「Ｃｏｐｙ」及び「Ｐａｉｒ」に設定されている。
【００７１】
このような設定により、最新データは、正記憶システム２００の正ボリューム２００ａと、第２の副記憶システム４００の第２の副ボリューム４００ａとに格納される。
【００７２】
＜第２の非同期ペアの形成＞
図１８は、ペア状態管理テーブルにおいて第１の非同期ペアを形成する様子の一例を示す図である。図１７に示す設定では、上記第１の非同期ペアを形成した後に、第２の非同  期ペアを形成して、通常運用形態に設定し、最新データが正記憶システム２００及び第１の副ボリューム３００ａに格納されるようにしている。
【００７３】
当該図１８では、第１の非同期ペアについて、正ボリューム２００ａ及び第２の副ボリューム４００ａのペア属性及びペア状態が設定されているとともに、第２の非同期ペアについて、第１の副ボリューム３００ａ及び第２の副ボリューム４００ａのペア属性及びペア状態が設定されている。
【００７４】
具体的には、第１の非同期ペアの正ボリューム２００ａに関しては、ペア属性が「ＰＶＯＬ」に設定されており、ペア状態が「Ｐａｉｒ」に設定されている。第１の非同期ペアの第２の副ボリューム４００ａに関しては、ペア属性が「ＳＶＯＬ」に設定されており、ペア状態が「Ｐａｉｒ」に設定されている。一方、第２の非同期ペアの第１の副ボリューム３００ａに関しては、ペア状態が「ＰＶＯＬ」と指定されており、ペア状態が「Ｓｕｓｐｅｎｄ状態」に指定されている。第２の非同期ペアの第２の副ボリューム４００ａに関しては、ペア状態が「ＳＶＯＬ」と指定されており、ペア属性が「ＳＶＯＬ」に指定されており、ペア状態が「Ｓｕｓｐｅｎｄ状態」に指定されている。
【００７５】
このような設定により、ストレージシステム１は、通常運用形態に設定され、最新データが正ボリューム２００ａ及び第１の副ボリューム３００ａに格納された状態となる。なお、このストレージシステム１は、非同期での複写ではあるが、非同期ペアにより最新データが正ボリューム２００ａ及び第２の副ボリューム４００ａにも格納された状態となる。
【００７６】
＜正記憶システムのメンテナンス＞
図１９〜２１は、それぞれ、正記憶システム２００をメンテナンスする場合におけるペア状態管理テーブルの状態を示す図である。図１９に示す状態では、ホストコンピュータ１００は、正記憶システム２００を保守するための同期ペアをサスペンド状態とし、業務を第１の副記憶システム３００で継続している。
【００７７】
図２０に示す状態では、ホストコンピュータ１００は、同期ペアのサスペンド状態を検知して、正記憶システム２００と連携する上記アプリケーションによって第２の非同期ペアをリシンク状態とし、第１の非同期ペアは自動的にサスペンド状態とし、元々第１の非同期ペアにより第２の副記憶システム４００にもデータが複写されているので、第２の副記憶システム４００のデータはほぼ最新なものとなる。
【００７８】
図２１に示す状態では、正記憶システム２００の保守が実施される。ホストコンピュータ１００のプロセッサにより設定された第２の非同期ペアにより、第２の副記憶システム４００にもほぼ最新データが格納されている状態となっている。
【００７９】
＜正記憶システムのメンテナンス中に第１の副記憶システムに障害が発生＞
図２２及び図２３は、それぞれ、正記憶システム２００のメンテナンス中の第１の副記憶システム３００に障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。図２２に示す状態は、正記憶システム２００がメンテナンス中に第１の副記憶システム３００に障害が発生し、入出力が停止した様子を示している。図２３に示す状態では、ホストコンピュータ１００は、第２の副記憶システム４００に格納されているほぼ最新のデータを用いて入出力を再開する。具体的には、第１の非同期ペアは削除され、第２の非同期ペアは書き込み可能なサスペンド状態（図示の「Ｓｕｓｐ（Ｒ）」に相当）となっている。
【００８０】
＜通常運用中に正記憶システムで障害が発生＞
図２４〜図２６は、通常運用中に正記憶システム２００において障害が発生した場合におけるペア状態管理テーブルの状態を示す図である。図２４に示す状態は、通常運用中におけるペア状態管理テーブルの状態を示している。図２５に示す状態は、正記憶システム２００に障害が発生し、同期ペアの第１の副ボリューム３００ａを書き込み可能なサスペンド状態に変更され、第１の副記憶システム３００で入出力を継続するようになる。
【００８１】
図２６に示す状態では、ホストコンピュータ１００は、同期ペアのサスペンド状態を検知して、記憶システムと連携するアプリケーションから第２の非同期ペアをリシンク状態とし、第１の非同期ペアは自動的にサスペンド状態とし、第２の非同期ペアによりデータは二重化されている。仮に、その後、第１の副記憶システム３００において障害が発生しても、第２の副記憶システム４００には、ほぼ最新のデータが格納されている状態となっている。
【００８２】
（３−３）リシンク処理
図２７は、リシンク処理の手順の一例を示すフローチャートである。図示の各手順は、ホストコンピュータ１００のプロセッサによって実行されている。
【００８３】
ステップＳ１０１では、ホストコンピュータ１００のプロセッサが、図２８に示す同期ペアの構成情報ファイルからペア数Ａ（＝Ｎ個）を取得する。ステップＳ１０２では、プロセッサが、図２８に示す同期ペアの構成情報ファイル１００ｄから同期ペア情報を取得する。同期ペア情報は、正記憶システムの製造番号等の情報を含んでいる。
【００８４】
図２７に示すステップＳ１０３では、プロセッサがカウンタを初期化し、アドレス変数Ｂ＝０とする。ステップＳ１０４では、プロセッサが、当該同期ペア情報におけるアドレス変数Ｂで表されるアドレスに該当する副ボリューム（ＳＶＯＬ）の状態を取得する。なお、本実施の形態では、上述のように「＃」マークはアドレスを示す。プロセッサは、第１の副記憶システム３００に対し、当該副ボリュームが移行すべき状態（例えば「Ｓｕｓｐ（Ｒ）」）に関するコマンドを発行する。
【００８５】
ステップＳ１０５では、プロセッサが、ペア状態が書き込み可能なサスペンド状態（「Ｓｕｓｐ（Ｒ）」）であるか否かを確認する。ペア状態が書き込み可能なサスペンド状態である場合、プロセッサは次のようなステップＳ１０６を実行する。
【００８６】
ステップＳ１０６では、プロセッサが上記アドレス変数Ｂを１カウントアップする。ステップＳ１０７では、プロセッサが全てのペア情報を取得済みであるか否かを判断し、取得済みでない場合には上記ステップＳ１０４に戻って実行する一方、取得済みの場合には次のようなステップＳ１０８を実行する。
【００８７】
ステップＳ１０８では、プロセッサが、図２９に示す第２の非同期ペアの構成情報ファイルから第２の非同期ペア情報を取得する。図２７に示すステップＳ１０９では、プロセッサが、第１の副記憶システム３００に対し、リシンクすべき旨のコマンド（リシンクコマンド）を発行する。
【００８８】
一方、上述したステップＳ１０５においてペア状態が書き込み可能なサスペンド状態でない場合、プロセッサは、上記ペア状態が想定外のペア状態であるか否かを判断する（ステップＳ１１０）。プロセッサは、想定外のペア状態ではないときにはスリープ状態に遷移させて上記ステップＳ１０１に戻って実行する一方、想定外のペア状態であるとき、エラー処理を実行する。プロセッサは、このエラー処理として、例えばホストコンピュータ１００とディスクコントローラ間におけるパス障害などで情報取得できない場合など、ユーザにエラーメッセージを表示するための信号を生成する。
【００８９】
＜第１の副記憶システムにおける状態取得処理＞
図３０は、第１の副記憶システム３００における動作の一例を示すフローチャートである。このフローチャートにおいては、第１の副記憶システム３００のプロセッサが、同期ペアの第１の副記憶システム３００（図示したＳＶＯＬに相当）のペア状態を取得する処理を実行している。当該プロセッサは、基本的に、ホストコンピュータ１００のホストアプリケーションの１つである入出力制御部１００ａから、入力インターフェースで指定されたＣＵ：ＶＯＬ＃のペア状態を状態管理部１００ｂ，１００ｃに報告する。第１の副記憶システム３００がホストコンピュータ１００から状態取得コマンドを受け取った場合における処理の手順の一例を示すフローチャートである。
【００９０】
ステップＳ３０１では、第１の副記憶システム３００のプロセッサが、ホストコンピュータ１００からペア状態の取得指示を受領する。ステップＳ３０２では、プロセッサが、図３１に示す同期ペアのペア状態管理テーブルからペア状態を取得する。当該同期ペアは、図示したＣＵ：ＶＯＬ単位に、ペア状態を管理するテーブルとしてペア状態管理テーブルを有する。
【００９１】
プロセッサは、同期ペア状態管理部１００ｂから指定されたＣＵ：ＶＯＬ＃のペア状態を取得して、ホストコンピュータ１００に報告する。プロセッサは、この報告内容として、１ペア単位で報告するインターフェースと、複数ペアをまとめて報告するインターフェースとの両方が存在する。
【００９２】
＜非同期ペア２のリシンク処理＞
図３２は、第２の非同期ペアのリシンク処理の手順例を示すフローチャートである。図示の手順は、第１の副記憶システム３００のプロセッサによって実行される手順を表している。
【００９３】
ステップＳ３１０では、当該プロセッサが、ホストアプリケーションの１つである入出力制御部１００ａから、グループ＃及びミラーＩＤ＃を入力インターフェースとして第２の非同期ペアをリシンクすべき旨のコマンドを受領する。ステップＳ３１１では、当該プロセッサが、当該コマンドに含まれる当該グループ＃を指定してリシンク処理を行う。ステップＳ３１１の詳細な手順については後述する。
【００９４】
図３３は、図３２に示すリシンク処理（ステップＳ３１１）の詳細な内容を示すフローチャートである。ステップＳ３１１ａでは、プロセッサが、グループ＃Ｚに所属するＣＵ：ＶＯＬ＃を取得する。すると、プロセッサは、図３４及び図３５に示す内容を含む管理テーブルを得ることができる。当該管理テーブルには、グループ＃に所属するＣＵ：ＶＯＬ＃が管理されている。図３４に示す管理テーブルは、ミラーＩＤ＃０ｘ０１に対応しており、図３５に示す管理テーブルは、ミラーＩＤ＃０ｘ０２に対応している。
【００９５】
ここで、第１の副記憶システム３００に限ってみれば、非同期ペアは第２の非同期ペアの正ボリューム（ＰＶＯＬ）しか存在しないが、例えば、第２の副記憶システム４００では、第１の非同期ペアと第２の非同期ペアが同じ副ボリューム４００ａを共有する構成となっている。このように同様な副ボリューム同士であっても、第１の非同期ペアの副ボリュームのペア状態と、第２の非同期ペアの副ボリュームのペア状態とを、個々に管理するため、本実施の形態では、ミラーＩＤ（ＭｉｒｒｏｒＩＤ）を付けることで各ボリュームを区別している。
【００９６】
次に、図３３に示すステップＳ３１１ｂでは、当該プロセッサが、ＣＵ：ＶＯＬ＃及びミラーＩＤ（図示のＭｉｒｒｏｒＩＤに相当）からペア管理ＩＤを取得する。当該取得されたペア管理ＩＤを図示すると、図３６に示す管理テーブルの内容となる。当該管理テーブルでは、ＣＵ：ＶＯＬ＃とペア管理ＩＤとが関連付けられて管理されている。
【００９７】
図３３に示すステップＳ３１１ｃでは、当該プロセッサが、図３７に示すように、ペア管理ＩＤ＃に対応するペア状態を「サスペンド状態」から「Ｃｏｐｙ状態」に変更し、正ボリュームから副ボリュームへの複写処理を実行する。図３７に示す管理テーブルは、各ペア管理ＩＤのペア状態を管理するためのテーブルである。なお、同期ペアでは、ＣＵ：ＶＯＬ＃とペア状態とが１対１となるように管理されているが、一方、非同期ペアは、１つのＣＵ：ＶＯＬ＃で複数の非同期ペア状態を管理しているため、ペア管理ＩＤを用いてペア状態と１対１で管理する。
【００９８】
ステップＳ３１１ｄでは、プロセッサが、上記ステップＳ３１１ａ〜３１１ｃをペア数分実行したか否かを確認し、ペア数分実行していなければステップＳ３１１ａに戻って再度実行する一方、ペア数分実行していれば終了する。
【００９９】
＜リシンク状態から通常状態に戻す処理＞
図３８は、通常状態に戻す処理の手順例を示すフローチャートである。図示の手順は、第１の副記憶システム３００のプロセッサによって実行される手順を表している。ステップＳ３２０では、当該プロセッサが、ホストアプリケーションの１つである入出力制御部１００ａから、グループ＃及びミラーＩＤ＃を入力インターフェースとして第２の非同期ペアを、通常状態に戻すためのコマンドを受領する。ステップＳ３２１では、当該プロセッサが、当該コマンドに含まれる当該グループ＃を指定して通常状態に戻す処理を行う。ステップＳ３２１の詳細な手順については後述する。
【０１００】
図３９は、図３８に示す通常状態に戻す処理（ステップＳ３２１）の詳細な内容を示すフローチャートである。ステップＳ３２１ａでは、プロセッサが、グループ＃Ｚに所属するＣＵ：ＶＯＬ＃を取得し、グループ＃に所属するＣＵ：ＶＯＬ＃を含む管理テーブルを得る。次に、図３９に示すステップＳ３２１ｂでは、当該プロセッサが、ＣＵ：ＶＯＬ＃及びミラーＩＤ（図示のＭｉｒｒｏｒＩＤに相当）からペア管理ＩＤを取得する。
【０１０１】
ステップＳ３２１ｃでは、当該プロセッサが、ペア管理ＩＤ＃に対応するペア状態を「Ｃｏｐｙ状態」から「書き込み可能なサスペンド状態（Ｓｕｓｐ（Ｒ））」に変更し、正記憶システムの正ボリューム（ＰＶＯＬ）から副記憶システムの副ボリューム（ＳＶＯＬ）への複写処理を中止する。ステップＳ３２１ｄでは、プロセッサが、上記ステップＳ３２１ａ〜３２１ｃをペア数分実行したか否かを確認し、ペア数分実行していなければステップＳ３２１ａに戻って再度実行する一方、ペア数分実行していれば終了する。
【０１０２】
＜リシンク操作時の差分データの複写＞
図４０は、リシンク処理時における差分データの複写方法の手順の一例を示すフローチャートである。以下、ジャーナルを作成済みの管理番号（以下「ＳＥＱ」と省略する）、及び、リストア済みのＳＥＱ＃について補足説明を行う。図４０においては、左側が正記憶システム２００、中央が第１の副記憶システム３００、右側が第２の副記憶システム４００における処理を示している。
【０１０３】
通常運用中、正記憶システム２００は、ホストコンピュータ１００からライトコマンドを受領すると（ステップＳ２２０）、第１の副記憶システム３００には同期させたデータの複写を行い、第２の副記憶システム４００には非同期でデータを複写する。正記憶システム２００は、ジャーナル制御情報（図示のＪＮＬ制御情報に相当）を作成し（ステップＳ２２１）、ジャーナルデータ（図示のＪＮＬデータ）を格納する（ステップＳ２２２）。このジャーナル制御情報は、図４１に示すように、例えばＳＥＱ＃及びタイムスタンプを含んでいる。正記憶システム２００は、転送対象のライトデータに、当該ジャーナル制御情報等を付与して第１の副記憶システム３００に転送する（ステップＳ２２３）。
【０１０４】
ステップＳ３２０では、第１の副記憶システム３００が、上記同期させた複写によって複写されたデータを受領すると、同期ペアの副ボリューム（ＳＶＯＬ）に当該複写データを書き込む。かつ、ステップＳ３２１では、プロセッサが、上記第２の非同期ペアに基づく複写において使用するためにジャーナルデータを作成する。ステップＳ３２２では、当該プロセッサが、ジャーナルボリュームに格納する。ここでプロセッサは、当該ジャーナルデータを第２の副記憶システム４００に転送しない。ステップＳ３２３では、プロセッサが、上記ジャーナルデータ作成時にジャーナル作成済みＳＥＱ＃をカウントアップする。第１の副記憶システム３００のジャーナル管理テーブルは、例えば図４２に示すようになっている。
【０１０５】
一方、第２の副記憶システム４００は、正記憶システム２００から非同期で複写されたジャーナルデータを受領すると（ステップＳ４２０）、当該ジャーナルデータを、第１の非同期ペアの副ボリューム（ＳＶＯＬ）にリストアする（ステップＳ４２１）。このリストアにあたっては、正確には、一旦、ジャーナルボリュームに格納し、当該ジャーナルボリュームから第１の非同期ペアの副ボリューム（ＳＶＯＬ）に書き込んでリストアしている。このとき、プロセッサは、リストア済みＳＥＱ＃をカウントアップする（ステップＳ４２２）。第２の副記憶システム４００のジャーナル管理テーブルは、図４３に示すようになっている。
【０１０６】
なお、第１の副記憶システム３００のジャーナルボリュームが満杯になるのを防ぐため、第１及び第２の副記憶システム３００，４００の間では、定期的に通信を行い、既に第２の副記憶システム４００でリストア済みのジャーナルデータのＳＥＱ＃を第１の副記憶システム３００に通信することで、第１の副記憶システム３００のジャーナルボリュームから、第２の副記憶システム４００にリストア済みのジャーナルデータを削除(パージ)する。
【０１０７】
図４４は、差分データの作成方法の一例を示す図である。第２の非同期ペアのリシンクオペレーションが実施されると、第１の副記憶システム３００と第２の副記憶システム４００との間で通信が行われ、ジャーナルを作成済みのＳＥＱ＃とリストア済みＳＥＱ＃をネゴシエーションして、差分データが、第１の副記憶システム３００から第２の副記憶システム４００に転送される。当該差分データは、第２の副記憶システム４００の第２の非同期ペアの副ボリューム４００ａ（ＳＶＯＬ）に書き込まれてリストアされる。
【０１０８】
具体的には、第１の副記憶システム３００のジャーナル作成済みＳＥＱ＃と、第２の副記憶システム４００のリストア済みＳＥＱ＃の差Ｄが、第１の副記憶システム３００と第２の副記憶システム４００の差分データとなる。第２の非同期ペアのペアをリシンクする時には、この差分データが第１の副記憶システム３００から第２の副記憶システム４００に複写される。
【０１０９】
（４）本実施の形態の効果等
以上説明したように、上記実施の形態におけるストレージシステム１では、ホストコンピュータ１００が、正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態となったことを契機に、第１の副記憶システム３００における第１の副ボリューム３００ａに格納されている複写データの差分データを、第２の副記憶システム４００の第２の副ボリューム４００ａに複写している。
【０１１０】
このような構成によれば、ホストコンピュータ１００が、正記憶システム２００及び第１の副記憶システム３００がサスペンド状態となっても、ホストコンピュータ１００から受領済みのデータを失うことなく、当該データから処理を継続することができる。例えば、第１及び第２の副記憶システム３００，４００の間において非同期でデータの複写が行われている場合、その障害が生じたことを契機に差分データが第２の副記憶システム４００に転送されるため、その障害が生じたタイミングに関係なく、ホストコンピュータ１００は、当該障害が生ずる直前までのデータから続けて処理を再開することができる。
【０１１１】
上記ストレージシステム１においては、ホストコンピュータ１００は、正記憶システム２００、第１及び第２の副記憶システム３００，４００の各状態を取得する状態管理部１００ｂ，１００ｃと、これら状態管理部１００ｂ，１００ｃによって正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態であることが取得されたことを契機に、第１の副記憶システム３００に対して、上記差分データを複写して第２の副記憶システム４００に転送すべき旨のコマンドを発行する入出力制御部１００ａを備えている。
【０１１２】
このようにすると、正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態となると、ホストコンピュータ１００は、その入出力制御部１００ａが、第２の副記憶システム３００における第２のボリューム３００ａの差分データを読み出して、当該サスペンド状態となった時点の続きから動作を継続することができる。
【０１１３】
上記ストレージシステム１は、上記状態管理部１００ｂ，１００ｃとして、ホストアプリケーションの一部として同期状態管理部１００ｂ及び非同期状態管理部１００ｃを備えている。ここで、同期状態管理部１００ｂは、正記憶システム２００及び第１の副記憶システム３００の各状態を同期させて管理する一方、非同期状態管理部１００ｃは、正記憶システム２００及び第２の副記憶システム４００の各状態を非同期で管理するのみならず、前第１の副記憶システム３００と第２の副記憶システム４００の各状態を非同期で管理している。つまり、第１及び第２の非同期ペアは各々ホストアプリケーションによって管理されている。
【０１１４】
このような構成とすると、第１及び第２の副記憶システム３００，４００の間において非同期でデータの複写が行われている場合においても、障害が生じたことを契機に差分データが第２の副記憶システム４００に転送されるため、ホストコンピュータ１００は、そのような障害が生じたタイミングに関係なく、当該障害が生ずる直前までのデータから続けて処理を再開することができる。ホストコンピュータ１００は、上記障害が生じたタイミングに関係なく、上述のように当該障害が生じた直前のデータから連続して処理を継続することができることから、データが失われることがなくなる。
【０１１５】
また、上記ストレージシステム１においては、第１及び第２の副記憶システム３００，４００が、それぞれ、自らの状態を管理するための第１及び第２の副状態管理テーブル３００ｄ，４００ｄを備えている。
【０１１６】
上記ストレージシステム１においては、第１及び第２の状態管理テーブル３００ｄ，４００ｄでは、それぞれ、非同期状態管理部１００ｃによって非同期で管理される、第１及び第２の副記憶システム３００，４００の各状態の組み合わせとしての非同期ペアを管理しており、第１の副記憶システム３００は、ホストコンピュータ１００から、差分データを複写すべき旨のコマンドを受領したことを契機に、第１ボリューム３００ａの差分データを、非同期ペアによって特定される相手先としての第２の記憶システム４００ａに対して複写して転送する。
【０１１７】
また、上記ストレージシステム１は、第１の副記憶システム３００は、ホストコンピュータ１００から、差分データを複写すべき旨のコマンドを受領したことを契機に、データの更新順序を管理するためのグループに基づいて特定された記憶システムの各記憶システムの状態を変更し、当該差分データを第２の副記憶システム４００に転送している。
【０１１８】
また、上記ストレージシステム１では、非同期ペアには、正記憶システム２００及び第２の副記憶システム４００の各状態の組み合わせとしての第１の非同期ペアと、第１及び第２の副記憶システム３００，４００の各状態の組み合わせとしての第２の非同期ペアとが存在している。第１の副記憶システム３００は、差分データを複写すべき旨のコマンドを受領したことを契機に、当該グループに対応するボリュームと、第２の非同期ペアに対応する第１及び第２の副ボリューム３００ａ，４００ａを個々に管理するためのミラーＩＤと、に基づいて特定したボリュームの各状態を変更し、上記差分データを第２の副ボリューム４００ａに転送する。
【０１１９】
上記ストレージシステム１では、ホストコンピュータ１００は、正記憶システム２００及び第１の副記憶システム３００の少なくとも一方がメンテナンス状態に遷移され、かつ、他方に障害が発生したことにより、正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態となったことを契機に、差分データを第２の副記憶システム４００における第２の副ボリューム４００ａに複写している。
【０１２０】
上記実施の形態におけるストレージシステム１におけるデータ複製方法では、次のような取得ステップ及び転送ステップを実行する。当該取得ステップでは、ホストコンピュータ１００が正記憶システム２００及び第１の副記憶システム３００の状態が共にサスペンド状態となったことを取得する。上記転送ステップでは、上記取得ステップにおいて正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態となったことを契機に、ホストコンピュータ１００が、第１の副ボリューム３００ａ及び第２の副ボリューム４００ａに格納済みの複写データ同士の差分データを、第１の副記憶システム３００から第２の副記憶システム４００に転送している。
【０１２１】
上記データ複製方法においては、第１の副記憶システム３００は、ホストコンピュータ１００から、差分データを複写すべき旨のコマンドを受領したことを契機に、第１ボリューム３００ａの差分データを複写し、第１及び第２の副記憶システム３００，４００の各状態の組み合わせとしての非同期ペアによって特定される相手先として、第２の副記憶システム４００に対して転送している。
【０１２２】
上記データ複製方法においては、ホストコンピュータ１００から、差分データを複写すべき旨のコマンドを受領したことを契機に、各ボリューム内又はボリューム同士の間におけるデータの更新順序を管理するためのグループに基づいて特定された記憶システムの各状態を変更し、上記差分データを第２の副記憶システム４００に転送している。
【０１２３】
上記データ複製方法においては、上記非同期ペアは、正記憶システム２００及び第２の副記憶システム４００の各状態の組み合わせとしての第１の非同期ペアと、第１及び第２の副記憶システム４００の各状態の組み合わせとしての第２の非同期ペアとを含んでいる。しかも、第１の副記憶システム３００は、ホストコンピュータ１００から、差分データを複写すべき旨のコマンドを受領したことを契機に、上記グループに対応するボリュームと、第２の非同期ペアに対応する第１及び第２の副ボリューム３００ａ，４００ａを個々に管理するためのミラーＩＤと、に基づいて特定したボリュームの各状態を変更し、上記差分データを第２の副ボリューム４００ａに転送する。
【０１２４】
上記データ複製方法においては、上記取得ステップでは、正記憶システム２００及び第１の副記憶システム３００の少なくとも一方がメンテナンス状態に遷移され、かつ、他方に障害が発生したことにより、正記憶システム２００及び第１の副記憶システム３００の各状態が共にサスペンド状態となったことを取得している。
【０１２５】
（５）その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。
【図１】
2011039803.tif 000003
【図２】
2011039803.tif 000004
【図３】
2011039803.tif 000005
【図４】
2011039803.tif 000006
【図５】
2011039803.tif 000007
【図６】
2011039803.tif 000008
【図７】
2011039803.tif 000009
【図８】
2011039803.tif 000010
【図９】
2011039803.tif 000011
【図１０】
2011039803.tif 000012
【図１１】
2011039803.tif 000013
【図１２】
2011039803.tif 000014
【図１３】
2011039803.tif 000015
【図１４】
2011039803.tif 000016
【図１５】
2011039803.tif 000017
【図１６】
2011039803.tif 000018
【図１７】
2011039803.tif 000019
【図１８】
2011039803.tif 000020
【図１９】
2011039803.tif 000021
【図２０】
2011039803.tif 000022
【図２１】
2011039803.tif 000023
【図２２】
2011039803.tif 000024
【図２３】
2011039803.tif 000025
【図２４】
2011039803.tif 000026
【図２５】
2011039803.tif 000027
【図２６】
2011039803.tif 000028
【図２７】
2011039803.tif 000029
【図２８】
2011039803.tif 000030
【図２９】
2011039803.tif 000031
【図３０】
2011039803.tif 000032
【図３１】
2011039803.tif 000033
【図３２】
2011039803.tif 000034
【図３３】
2011039803.tif 000035
【図３４】
2011039803.tif 000036
【図３５】
2011039803.tif 000037
【図３６】
2011039803.tif 000038
【図３７】
2011039803.tif 000039
【図３８】
2011039803.tif 000040
【図３９】
2011039803.tif 000041
【図４０】
2011039803.tif 000042
【図４１】
2011039803.tif 000043
【図４２】
2011039803.tif 000044
【図４３】
2011039803.tif 000045
【図４４】
2011039803.tif 000046
【国際調査報告】
2011039803.tif 000047
2011039803.tif 000048
2011039803.tif 000049
2011039803.tif 000050