(57)【要約】  第１のストレージ装置が停止した場合、第２のストレージ装置において最近反映されたジャーナルが有する更新番号と、第３のストレージ装置において最近反映されたジャーナルが有する更新番号とのどちらが新しいかが判断される。新しいと判断された更新番号を有する新ストレージ装置に、新しいと判断されなかった更新番号の次の更新番号を有するジャーナルから新しいと判断された更新番号を有するジャーナルまでの１以上の差分ジャーナルがあるか否かが判断される。その判断の結果が肯定的の場合、新ストレージ装置から、第２及び第３のストレージ装置のうちの新ストレージ装置ではない方である旧ストレージ装置に、１以上の差分ジャーナルがコピーされる。旧ストレージ装置において、１以上の差分ジャーナルが、更新番号の順に、旧ストレージ装置内のデータボリュームに反映される。
2011125126.tif 000002
【特許請求の範囲】
【請求項１】
非同期リモートコピーを行うストレージシステムである非同期リモートコピーシステムであって、
第１の記憶資源グループを有し第１のホスト装置に接続されている第１のストレージ装置と、
第２の記憶資源グループを有し第２のホスト装置に接続されている第２のストレージ装置と、
第３の記憶資源グループを有する第３のストレージ装置と
を有し、
前記第１の記憶資源グループが、データが書き込まれる論理ボリュームである第１のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第１のジャーナル記憶資源とを有し、
前記第２の記憶資源グループが、データが書き込まれる論理ボリュームである第２のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第２のジャーナル記憶資源とを有し、
前記第３の記憶資源グループが、データが書き込まれる論理ボリュームである第３のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第３のジャーナル記憶資源とを有し、
前記第１のストレージ装置が、前記ホスト装置から前記第１のデータボリュームにデータが書き込まれる場合、前記第１の記憶資源グループ内のデータボリュームにデータが書き込まれる都度に更新される番号である更新番号を更新し、その更新番号とそのデータとを含んだジャーナルを作成し、そのジャーナルを前記第１のジャーナル記憶資源に書き込み、
マルチターゲット方式の非同期リモートコピーが行われ、その非同期リモートコピーでは、前記ジャーナルが、前記第１のストレージ装置から前記第２のストレージ装置へ転送され前記第２のデータボリュームに反映されることで前記第１のデータボリューム内のデータが前記第２のデータボリュームに書き込まれ、且つ、前記ジャーナルが、前記第１のストレージ装置から前記第３のストレージ装置へ転送され前記第３のデータボリュームに反映されることで前記第１のデータボリューム内のデータが前記第３のデータボリュームに書き込まれ、
（Ｘ）前記第１のストレージ装置が停止した場合、
（ｘ１）前記第２のストレージ装置において最近反映されたジャーナルが有する更新番号と、前記第３のストレージ装置において最近反映されたジャーナルが有する更新番号とのどちらが新しいかが判断され、
（ｘ２）前記第２及び第３のストレージ装置のうち、前記（ｘ１）で新しいと判断された更新番号を有するストレージ装置である新ストレージ装置に、前記（ｘ１）で新しいと判断されなかった更新番号の次の更新番号を有するジャーナルから前記（ｘ１）で新しいと判断された更新番号を有するジャーナルまでの１以上のジャーナルである１以上の差分ジャーナルがあるか否かが判断され、
（ｘ３）前記（ｘ２）の判断の結果が肯定的の場合、前記新ストレージ装置から、前記第２及び第３のストレージ装置のうちの前記新ストレージ装置ではないストレージ装置である旧ストレージ装置に、前記１以上の差分ジャーナルがコピーされ、
（ｘ４）前記旧ストレージ装置が、前記１以上の差分ジャーナルを、更新番号の順に、前記旧ストレージ装置内のデータボリュームに反映する、
非同期リモートコピーシステム。
【請求項２】
請求項１記載のシステムであって、
前記第２のストレージ装置が、前記旧ストレージ装置であり、前記第３のストレージ装置が、前記新ストレージ装置であり、
前記第２のデータボリュームは、前記第２のホスト装置からのデータの書込みが禁止されたライト禁止状態であり、
前記（ｘ２）の判断の結果が肯定的の場合、前記第２のストレージ装置が、前記第２のデータボリュームを、前記第２のホスト装置からのデータの書込みが可能なライト許可状態とし、
前記第２のストレージ装置が、前記第２のデータボリュームをライト許可状態とした後、前記第２のデータボリュームにおけるライト先を指定したライト要求を前記第２のホスト装置から受信した場合、
（ｗ１）前記ライト要求に従うデータを前記ライト先に書き込み、
（ｗ２）前記ライト先を、差分ジャーナルの非反映先として管理し、
前記（ｘ４）において、前記第２のストレージ装置が、
（ｘ４１）前記第２のジャーナル記憶資源内の差分ジャーナルの反映先が、非反映先であるか否かを判断し、
（ｘ４２）前記（ｘ４１）の判断の結果が否定的であれば、前記差分ジャーナルを反映し、
（ｘ４３）前記（ｘ４１）の判断の結果が肯定的であれば、前記差分ジャーナルを反映しない、
非同期リモートコピーシステム。
【請求項３】
請求項１記載のシステムであって、
前記第２のストレージ装置が、前記旧ストレージ装置であり、前記第３のストレージ装置が、前記新ストレージ装置であり、
前記第２のデータボリュームは、前記第２のホスト装置からデータを読み出すことが禁止されたリード禁止状態であり、
前記（ｘ２）の判断の結果が肯定的の場合、前記第２のストレージ装置が、前記第２のデータボリュームを、前記第２のホスト装置からデータを読み出すことが可能なリード許可状態とし、
前記第２のストレージ装置が、前記第２のデータボリュームをリード許可状態とした後、前記第２のデータボリュームにおけるリード元を指定したリード要求を前記第２のホスト装置から受信した場合、
（Ｒ）リード元が反映先となる差分ジャーナルのうち、最新の更新番号を有する差分ジャーナルである対象ジャーナルが有するデータを、前記第２のホスト装置に送信する、
非同期リモートコピーシステム。
【請求項４】
請求項３記載のシステムであって、
前記（Ｒ）において、前記第２のストレージ装置が、
（ｒ１）前記第２及び第３のジャーナル記憶資源における、リード元が反映先となる差分ジャーナルのうち、最新の更新番号を有する差分ジャーナルである対象ジャーナルが、前記第２のジャーナル記憶資源にあるか否かを判断し、
（ｒ２）前記（ｒ１）の判断の結果が肯定的であれば、前記対象ジャーナルを前記第２のデータボリュームに反映し、且つ、前記対象ジャーナルが有するデータを前記第２のホスト装置に送信し、
（ｒ３）前記（ｒ１）の判断の結果が否定的であれば、前記対象ジャーナルを、他のジャーナルよりも優先して前記第３のストレージ装置から取得し、前記対象ジャーナルを前記第２のジャーナル記憶資源に書き込み、前記対象ジャーナルを前記第２のデータボリュームに反映し、前記対象ジャーナルが有するデータを前記第２のホスト装置に送信する、
非同期リモートコピーシステム。
【請求項５】
請求項１記載のシステムであって、
（Ｐ）前記第２又は第３のストレージ装置が、前記旧ストレージ装置内のジャーナル記憶資源に、前記差分ジャーナルに相当する未反映のジャーナルがあるか否かを判断し、
（Ｑ）前記（Ｐ）の判断の結果が肯定的であれば、前記旧ストレージ装置が、前記差分ジャーナルに相当する未反映のジャーナルを、自身のデータボリュームに反映し、
前記（Ｑ）で反映される未反映のジャーナルに対応した差分ジャーナルについては、前記（ｘ３）及び（ｘ４）に代えて、前記（Ｑ）が行われる、
非同期リモートコピーシステム。
【請求項６】
請求項１記載のシステムであって、
前記第１のストレージ装置が、
（Ｈ）前記第２及び第３の記憶資源グループについて共通のパージ可能なジャーナルを前記第１のジャーナル記憶資源からパージし、
（Ｉ）前記第１のジャーナル記憶資源の使用率が所定の閾値を超えているか否かを判断し、
（Ｊ）前記（Ｉ）の判断の結果が肯定的の場合、前記第１の記憶資源グループと前記第２の記憶資源グループとの関係である第１の関係と、前記第１の記憶資源グループと前記第３の記憶資源グループとの関係である第２の関係とのうち、前記第１のジャーナル記憶資源からパージ可能なジャーナルの数が少ない方の関係を解除し、
（Ｋ）前記第２及び第３の記憶資源グループのうち解除されていない関係に係る記憶資源グループについてのパージ可能なジャーナルを前記第１のジャーナル記憶資源からパージし、
前記第１のジャーナル記憶資源の使用率とは、前記第１のジャーナル記憶資源の容量に対する、前記第１のジャーナル記憶資源内の１以上のＪＮＬの総容量の割合、である、
非同期リモートコピーシステム。
【請求項７】
請求項６記載のシステムであって、
（Ｌ）前記第１のストレージ装置が、サスペンドされたペアについて、前記第１のデータボリューム内のライト先にデータが書き込まれた場合、そのデータを有するＪＮＬを作成せず、そのライト先に更新があったことを管理し、
（Ｍ）前記第１のストレージ装置が、所定のコマンドに応答して、更新があったライト先にあるデータを含んだジャーナルを作成して、そのジャーナルを、前記ネックのペアに係るデータボリュームを有するストレージ装置に送信し、
（Ｎ）そのストレージ装置が、そのジャーナルを自身のジャーナル記憶資源に書込み、そのジャーナル記憶資源内のジャーナルを、自身のデータボリュームに反映する、
非同期リモートコピーシステム。
【請求項８】
請求項１記載のシステムであって、
前記（Ｘ）の場合、前記第１のホスト装置から前記第２のホスト装置へのフェイルオーバが行われ、前記第２のホスト装置が、前記第２のストレージ装置に所定のコマンドを送信し、
前記第２のストレージ装置が、前記所定のコマンドを受信し、前記所定のコマンドに応答して、前記（ｘ１）及び（ｘ２）を行う、
非同期リモートコピーシステム。
【請求項９】
請求項１記載のシステムであって、
前記第２のデータボリュームは、前記第２のホスト装置からデータを書き込むことが禁止されたライト禁止状態であり、
前記第２のストレージ装置が、前記（ｘ４）の完了後に、前記第２のデータボリュームを、前記第２のホスト装置からデータを書き込むことが可能なライト許可状態にする、
非同期リモートコピーシステム。
【請求項１０】
請求項１記載のシステムであって、
前記第１のジャーナル記憶資源は、前記第２及び第３の記憶資源グループに共通であり、
前記（Ｄ１）において、前記第２のストレージ装置が、前記第２のジャーナル記憶資源において最新である更新番号の次の更新番号を有するジャーナルを前記第１のストレージ装置から読み出し、読み出したジャーナルを前記第２のジャーナル記憶資源に書き込み、
前記（Ｄ２）において、前記第３のストレージ装置が、前記第３のジャーナル記憶資源において最新である更新番号の次の更新番号を有するジャーナルを前記第１のストレージ装置から読み出し、読み出したジャーナルを前記第３のジャーナル記憶資源に書き込む、
非同期リモートコピーシステム。
【請求項１１】
非同期リモートコピーを行うストレージシステムである非同期リモートコピーシステムでの記憶制御方法であって、
前記非同期リモートコピーシステムが、
第１の記憶資源グループを有し第１のホスト装置に接続されている第１のストレージ装置と、
第２の記憶資源グループを有し第２のホスト装置に接続されている第２のストレージ装置と、
第３の記憶資源グループを有し第３のホスト装置に接続されている第３のストレージ装置と
を有し、
前記第１の記憶資源グループが、データが書き込まれる論理ボリュームである第１のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第１のジャーナル記憶資源とを有し、
前記第２の記憶資源グループが、データが書き込まれる論理ボリュームである第２のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第２のジャーナル記憶資源とを有し、
前記第３の記憶資源グループが、データが書き込まれる論理ボリュームである第３のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第３のジャーナル記憶資源とを有し、
前記第１のストレージ装置が、前記ホスト装置から前記第１のデータボリュームにデータが書き込まれる場合、前記第１の記憶資源グループ内のデータボリュームにデータが書き込まれる都度に更新される番号である更新番号を更新し、その更新番号とそのデータとを含んだジャーナルを作成し、そのジャーナルを前記第１のジャーナル記憶資源に書き込み、
マルチターゲット方式の非同期リモートコピーが行われ、その非同期リモートコピーでは、前記ジャーナルが、前記第１のストレージ装置から前記第２のストレージ装置へ転送され前記第２のデータボリュームに反映されることで前記第１のデータボリューム内のデータが前記第２のデータボリュームに書き込まれ、且つ、前記ジャーナルが、前記第１のストレージ装置から前記第３のストレージ装置へ転送され前記第３のデータボリュームに反映されることで前記第１のデータボリューム内のデータが前記第３のデータボリュームに書き込まれ、
前記記憶制御方法が、
前記第１のストレージ装置が停止した場合、
（ｘ１）前記第２のストレージ装置において最近反映されたジャーナルが有する更新番号と、前記第３のストレージ装置において最近反映されたジャーナルが有する更新番号とのどちらが新しいかを判断し、
（ｘ２）前記第２及び第３のストレージ装置のうち、前記（ｘ１）で新しいと判断された更新番号を有するストレージ装置である新ストレージ装置に、前記（ｘ１）で新しいと判断されなかった更新番号の次の更新番号を有するジャーナルから前記（ｘ１）で新しいと判断された更新番号を有するジャーナルまでの１以上のジャーナルである１以上の差分ジャーナルがあるか否かを判断し、
（ｘ３）前記（ｘ２）の判断の結果が肯定的の場合、前記新ストレージ装置内のジャーナル記憶資源から、前記第２及び第３のストレージ装置のうちの前記新ストレージ装置ではないストレージ装置である旧ストレージ装置内のジャーナル記憶資源に、前記１以上の差分ジャーナルをコピーし、
（ｘ４）前記旧ストレージ装置において、前記１以上の差分ジャーナルを、更新番号の順に、前記旧ストレージ装置内のデータボリュームに反映する、
記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置間のデータのコピーであるリモートコピーを行うストレージシステムでの記憶制御に関する。
【背景技術】
【０００２】
第１及び第２のストレージ装置間でのデータのコピーであるリモートコピーが知られている。リモートコピーとしては、例えば、同期リモートコピーと非同期リモートコピーがある。第１のストレージ装置がホストからライト要求を受信した場合、同期リモートコピーが採用されているならば、そのライト要求に従うデータが第１のストレージ装置から第２のストレージ装置に転送された後に、ライトの完了応答がホスト装置に送信されるが、非同期リモートコピーが採用されているならば、そのライト要求に従うデータが第１のストレージ装置から第２のストレージ装置に転送されなくても、ライトの完了応答がホスト装置に送信される。【０００３】
非同期リモートコピーが採用されたリモートコピーシステム（以下、非同期リモートコピーシステム）では、例えば、第１のストレージ装置が、第１のＤＶＯＬ（データが格納される論理ボリューム）の他に、第１のＪＶＯＬ（ジャーナル（以下、ＪＮＬ）が格納される論理ボリューム）を有する。同様に、第２のストレージ装置が、第２のＤＶＯＬの他に、第２のＪＶＯＬを有する。第１のストレージ装置は、ライト要求を受信した場合、ライト要求に従うデータを第１のＤＶＯＬに格納し、且つ、そのデータのＪＮＬを第１のＪＶＯＬに格納する。第１のストレージ装置が、第１のＪＶＯＬ内のＪＮＬを、第２のストレージ装置に転送し、第２のストレージ装置が、第１のストレージ装置からのＪＮＬを、第２のＪＶＯＬに書き込む。その後、第２のストレージ装置が、第２のＪＶＯＬ内のＪＮＬが有するデータを、第２のＤＶＯＬに書き込む。これにより、第１のＤＶＯＬに書き込まれたデータが、第２のＤＶＯＬにコピーされたことになる。【０００４】
特許文献１には、マルチターゲット方式の非同期リモートコピーシステムが開示されている。マルチターゲット方式では、１つのコピー元に対して複数のコピー先が存在する。具体的には、特許文献１には、例えば下記のことが開示されている。
（＊）第１のストレージ装置、第２のストレージ装置、及び第３のストレージ装置がある。
（＊）第１のストレージ装置がコピー元であり、第２及び第３のストレージ装置が、第１のストレージ装置からのコピー先である。
（＊）第１のストレージ装置に第１のホスト装置が接続されており、第２のストレージ装置に第２のホスト装置が接続されており、第３のストレージ装置に第３のホスト装置が接続されている。
（＊）第１のストレージ装置が、第１のＤＶＯＬと、第１の第１ＪＶＯＬと、第２の第１ＪＶＯＬとを有する。
（＊）第２のストレージ装置が、第２のＤＶＯＬと、第２のＪＶＯＬとを有する。
（＊）第１及び第２のＤＶＯＬがペアになっている。第１のＤＶＯＬが、プライマリのＤＶＯＬであり、第２のＤＶＯＬが、セカンダリのＤＶＯＬである。
（＊）第３のストレージ装置が、第３のＤＶＯＬと、第３のＪＶＯＬとを有する。
（＊）第１及び第３のＤＶＯＬがペアになっている。第１のＤＶＯＬが、プライマリのＤＶＯＬであり、第３のＤＶＯＬが、セカンダリのＤＶＯＬである。
（＊）第１のホスト装置が、第１のＤＶＯＬにデータを書き込む。
（＊）第１のストレージ装置が、第１のＤＶＯＬに書き込まれるデータのＪＮＬを、第１の第１ＪＶＯＬと第２の第１ＪＶＯＬの両方に書き込む。ＪＮＬは、ホスト装置の入出力対象のデータの他に、更新番号を含む。
（＊）第１の第１ＪＶＯＬ内のＪＮＬは、第２のＪＶＯＬにコピーされる。
（＊）第２のストレージ装置が、第２のＪＶＯＬ内の１以上の未反映のＪＮＬのうち、最古の更新番号を有するＪＮＬを第２のＤＶＯＬに反映する（ＪＮＬが有するデータを、第２のＤＶＯＬに書き込む）。
（＊）第２の第１ＪＶＯＬ内のＪＮＬは、第３のＪＶＯＬにコピーされる。
（＊）第３のストレージ装置が、第３のＪＶＯＬ内の１以上の未反映のＪＮＬのうち、最古の更新番号を有するＪＮＬを第３のＤＶＯＬに反映する（ＪＮＬが有するデータを、第３のＤＶＯＬに書き込む）。【０００５】
さらに、特許文献１によれば、第１のストレージ装置に障害が発生した場合、第２のストレージ装置がコピー元になり、第３のストレージ装置がコピー先となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−６５６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
第２のストレージ装置がコピー元となった後、第２のホスト装置が、第２のＤＶＯＬにデータを書き込み、第２のストレージ装置が、更新番号を更新し、更新番号とデータを含んだＪＮＬを第２のＪＶＯＬに書き込む。第２のＪＶＯＬから第３のＪＶＯＬにＪＮＬがコピーされ、第３のストレージ装置が、第３のＪＶＯＬ内のＪＮＬが有するデータを第３のＤＶＯＬに書き込む。【０００８】
ここで、第２のストレージ装置での更新番号の起点は、第２のストレージ装置において反映済みのＪＮＬのうちの最新の更新番号であることが考えられる。なぜなら、第２のＤＶＯＬは、その最新の更新番号が表す順番までのデータを有するからである。【０００９】
しかし、それが好ましくないケースがある。そのケースは、例えば、第２のストレージ装置において反映済みのＪＮＬのうちの最新の更新番号が、第３のストレージ装置において反映済みのＪＮＬのうちの最新の更新番号よりも古いケースである。なぜなら、そのケースでは、第２のＤＶＯＬの状態の方が第３のＤＶＯＬの状態よりも古い状態にあり、古い状態のＤＶＯＬから新しい状態のＤＶＯＬにデータがコピーされることになるからである。【００１０】
このように、第１のストレージ装置に障害が発生した場合、業務が適切に継続されないケースがある。【００１１】
このような問題は、第１のストレージ装置が障害以外の原因で停止する場合（例えば、メンテナンスのためのいわゆる計画停止により第１のストレージ装置が停止させられる場合）についても有り得る。【００１２】
そこで、本発明の目的は、マルチターゲット方式の非同期リモートコピーシステムにおいて、第１のストレージ装置が停止しても業務を適切に継続することにある。
【課題を解決するための手段】
【００１３】
第１の記憶資源グループを有し第１のホスト装置に接続されている第１のストレージ装置と、第２の記憶資源グループを有し第２のホスト装置に接続されている第２のストレージ装置と、第３の記憶資源グループを有し第３のホスト装置に接続されている第３のストレージ装置とを有する。【００１４】
第１の記憶資源グループが、データが書き込まれる論理ボリュームである第１のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第１のジャーナル記憶資源とを有する。【００１５】
第２の記憶資源グループが、データが書き込まれる論理ボリュームである第２のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第２のジャーナル記憶資源とを有する。【００１６】
第３の記憶資源グループが、データが書き込まれる論理ボリュームである第３のデータボリュームと、データのジャーナルが書き込まれる記憶資源である第３のジャーナル記憶資源とを有する。【００１７】
第１のストレージ装置が、ホスト装置から第１のデータボリュームにデータが書き込まれる場合、第１の記憶資源グループ内のデータボリュームにデータが書き込まれる都度に更新される番号である更新番号を更新し、その更新番号とそのデータとを含んだジャーナルを作成し、そのジャーナルを第１のジャーナル記憶資源に書き込む。【００１８】
マルチターゲット方式の非同期リモートコピーが行われる。その非同期リモートコピーでは、ジャーナルが、第１のストレージ装置から第２のストレージ装置へ転送され第２のデータボリュームに反映されることで第１のデータボリューム内のデータが第２のデータボリュームに書き込まれ、且つ、そのジャーナルが、第１のストレージ装置から第３のストレージ装置へ転送され第３のデータボリュームに反映されることで第１のデータボリューム内のデータが第３のデータボリュームに書き込まれる。具体的には、例えば、非同期リモートコピーでは、下記が行われる。
（Ａ１）第１のジャーナル記憶資源から第２のジャーナル記憶資源にジャーナルがコピーされる。
（Ｂ１）第２のストレージ装置が、第２のジャーナル記憶資源における１以上の未反映のジャーナルを、更新番号の順に、第２のデータボリュームに反映する。
（Ａ２）第１のジャーナル記憶資源から第３のジャーナル記憶資源にジャーナルがコピーされる。
（Ｂ２）第３のストレージ装置が、第３のジャーナル記憶資源における１以上の未反映のジャーナルを、更新番号の順に、第３のデータボリュームに反映する。【００１９】
第１のストレージ装置が停止した場合、以下の処理が行われる。
（ｘ１）第２のストレージ装置において最近反映されたジャーナルが有する更新番号と、第３のストレージ装置において最近反映されたジャーナルが有する更新番号とのどちらが新しいかが判断される。
（ｘ２）第２及び第３のストレージ装置のうちの新ストレージ装置（（ｘ１）で新しいと判断された更新番号を有するストレージ装置）に、１以上の差分ジャーナルがあるか否かが判断される。１以上の差分ジャーナルは、（ｘ１）で新しいと判断されなかった更新番号の次の更新番号を有するジャーナルから（ｘ１）で新しいと判断された更新番号を有するジャーナルまでの１以上のジャーナルである。
（ｘ３）（ｘ２）の判断の結果が肯定的の場合、新ストレージ装置から旧ストレージ装置（第２及び第３のストレージ装置のうちの新ストレージ装置ではないストレージ装置）に、１以上の差分ジャーナルがコピーされる。
（ｘ４）旧ストレージ装置が、１以上の差分ジャーナルを、更新番号の順に、旧ストレージ装置内のデータボリュームに反映する。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係る非同期リモートコピーシステムの構成を示す。
【図２】ストレージ装置間のパスを示す。
【図３】図６におけるＪＮＬグループ１１２Ａ、１１２Ｂ及び１１２Ｃのステータス及びミラーの有効／無効を示す。
【図４】図７におけるＪＮＬグループ１１２Ｂ及び１１２Ｃのステータス及びミラーの有効／無効を示す。
【図５】図１０におけるＪＮＬグループ１１２Ｂ及び１１２Ｃのステータス及びミラーの有効／無効を示す。
【図６】マルチターゲット方式の非同期リモートコピーの概要を示す。
【図７】第１のストレージ１０５Ａで障害が生じた場合に行われる処理の一部分を示す。
【図８】第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクの概要を示す。
【図９】第２のストレージ１０５Ｂから第３のストレージ１０５Ｃへの差分リシンクの概要を示す。
【図１０】差分リシンク完了後の業務の継続の概要を示す。
【図１１】第１のストレージ１０５Ａの構成を示す。
【図１２】ＪＮＬの構成を示す。
【図１３】ＪＶＯＬ１１５Ａの構成を示す。
【図１４】メタ情報の構成を示す。
【図１５】各ストレージが有する制御情報を示す。
【図１６】ＪＶＯＬ有効ビットマップ７０１Ａの構成を示す。
【図１７】ＤＶＯＬ有効ビットマップ７０２Ａの構成を示す。
【図１８】ＪＶＯＬ管理テーブル７０３Ａの構成を示す。
【図１９】ＪＮＬグループ管理テーブル７０４Ａの構成を示す。
【図２０】ペア管理テーブル７０５Ａの構成を示す。
【図２１】差分管理及び形成コピーの流れを示す。
【図２２】第１のストレージ１０５Ａにおけるライト処理の流れを示す。
【図２３】ＪＮＬのリード処理の流れを示す。
【図２４】ＪＮＬの反映処理の流れを示す。
【図２５】第１のＪＶＯＬ１１５Ａの使用率のチェックに関わる処理の流れを示す。
【図２６】第１のストレージ１０５Ａに障害が発生した場合に行われる処理の流れを示す。
【図２７】差分リシンクが可能なケースの一例を示す。
【図２８】差分リシンクが不可能なケースの一例を示す。
【図２９】第２のホスト１０３Ｂから第２のＤＶＯＬ１１３Ｂへのデータの書込みが許可されるタイミングを示す。
【図３０】本発明の実施例２において、第２のホスト１０３Ｂから第２のＤＶＯＬ１１３Ｂへのデータの書込みが許可されるタイミング、を示す。
【図３１】本発明の実施例２において、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクが行われる場合の、第２のストレージ１０５Ｂにおけるライト処理の流れを示す。
【図３２】本発明の実施例２において、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクが行われる場合の、第２のストレージ１０５ＢにおけるＪＮＬ反映処理の流れを示す。
【図３３】本発明の実施例３において、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクが行われる場合の、第２のストレージ１０５Ｂにおけるリード処理の流れを示す。
【図３４】本発明の実施例４において、差分ＪＮＬの転送の要否の判断に関する処理の流れを示す。
【図３５】転送が不要な差分ＪＮＬが存在するケースの一例を示す。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の幾つかの実施例を説明する。
【００２２】
なお、以下の説明では、「ｘｘｘテーブル」、「ｘｘｘビットマップ」の表現にて各種情報を説明することがあるが、各種情報は、テーブル或いはビットマップ以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ｘｘｘテーブル」、「ｘｘｘビットマップ」を「ｘｘｘ情報」と呼ぶことができる。
【００２３】
また、以下の説明では、種々の対象の識別情報として、番号が主に使用されるが、番号に代えて他種の識別情報（例えば、名称）が採用されても良い。
【実施例１】
【００２４】
図１は、本発明の実施例１に係る非同期リモートコピーシステムの構成を示す。なお、以下の説明では、ジャーナルを「ＪＮＬ」と記載し、データが書き込まれる論理ボリュームであるデータボリュームを「ＤＶＯＬ」と記載し、ＪＮＬが書き込まれる論理ボリュームであるＪＮＬボリュームを「ＪＶＯＬ」と記載し、ホスト装置を「ホスト」と記載し、ストレージ装置を「ストレージ」と記載し、コントローラを「ＤＫＣ」と記載する。【００２５】
３つ以上のサイト、例えば、第１のサイト１０１Ａ、第２のサイト１０１Ｂ、及び第３のサイト１０１Ｃがある。以下、説明を分かりやすくするため、第１のサイト１０１Ａが有する要素の参照符号は、親番号と子符号「Ａ」の組合せであり、第２のサイト１０１Ｂが有する要素の参照符号は、親番号と子符号「Ｂ」の組合せであり、第３のサイト１０１Ｂが有する要素の参照符号は、親番号と子符号「Ｃ」の組合せである。【００２６】
第１のサイト１０１Ａは、第１のストレージ１０５Ａと、第１のストレージ１０５Ａに接続された第１のホスト１０３Ａとを有する。第１のストレージ１０５Ａは、第１のＤＫＣ１１１Ａと、第１のＪＮＬグループ１１２Ａとを有する。１つのＪＮＬグループ１１２Ａは、ＤＶＯＬ１１３Ａと、ＪＶＯＬ１１５Ａとを含む。【００２７】
第２及び第３のサイト１０１Ｂ及び１０１Ｃは、第１のサイト１０１Ａと同様の構成を有する。【００２８】
ストレージ１０５Ａ及び１０５Ｂ同士は、専用線（又は通信ネットワーク）を介して、物理的に接続されている。ストレージ１０５Ｂ及び１０５Ｃ同士も、専用線（又は通信ネットワーク）を介して、物理的に接続されている。ストレージ１０５Ａ及び１０５Ｃ同士も、専用線（又は通信ネットワーク）を介して、物理的に接続されている。【００２９】
ストレージ同士を接続するパスとして、図２に示すように、制御パスと、データ転送パスがある。制御パスは、差分リシンク（後述）に必要なパスである。具体的には、例えば、差分リシンク処理において、シーケンス番号取得要求（後述）が流れるパスである。データ転送パスは、ＪＮＬが流れるパスである。制御パス及びデータ転送パスは、いずれも、双方向通信が可能なパスである。【００３０】
再び図１を参照する。【００３１】
「ミラー」というＪＮＬグループ同士の論理的な接続がある。図１によれば、ＪＮＬグループ１１２Ａ及び１１２Ｂ同士の接続が、ミラー＃０（番号「０」が割り当てられたミラー（Ｍ０））であり、ＪＮＬグループ１１２Ａ及び１１２Ｃ同士の接続が、ミラー＃１（番号「１」が割り当てられたミラー（Ｍ１））であり、ＪＮＬグループ１１２Ｂ及び１１２Ｃ同士の接続が、ミラー＃２（番号「２」が割り当てられたミラー（Ｍ２））である。【００３２】
以下、本実施例に係る処理の概要を説明する。なお、以下の説明では、ＪＮＬグループ１１２Ａ、１１２Ｂ及び１１２Ｃは、特段の説明が無い限り、それぞれ１つであるとする。【００３３】
本実施例に係るリモートコピーシステムでは、マルチターゲット方式の非同期リモートコピーが行われるようになっていて、第１のサイト１０１Ａが運用サイトである。この場合、図３に示すように、第１のＪＮＬグループ１１２Ａのステータスが「マスター」であり、第２及び第３のＪＮＬグループ１１２Ｂ及び１１２Ｃのステータスが「リストア」である。ステータス「マスター」は、コピー元であることを意味する。ステータス「リストア」は、コピー先であることを意味する。なお、図３（及び、後の図４及び図５）において、点線のミラーは、無効なミラーであり、実線のミラーは、有効なミラーである。【００３４】
従って、図６に示すように、第１のＤＶＯＬ１１３Ａは、プライマリのＤＶＯＬ（以下、ＰＶＯＬ）であり、第２及び第３のＤＶＯＬ１１３Ｂ及び１１３Ｃは、セカンダリのＤＶＯＬ（以下、ＳＶＯＬ）である。【００３５】
図６に示すように、運用サイトである第１のサイト１０１Ａにおいて、第１のホスト１０３Ａが、業務の実行に伴い、ＰＶＯＬ１１３Ａにデータを書き込む（Ｓ１１）。第１のストレージ１０５Ａが、シーケンス番号（以下、ＳＥＱ＃）を更新し、更新後のＳＥＱ＃とＰＶＯＬ１１３Ａに書き込まれたデータとを有するＪＮＬを作成し、作成したＪＮＬを第１のＪＶＯＬ１１５Ａに書き込む（Ｓ１２）。ＳＥＱ＃は、第１のＪＮＬグループ１１２Ａ（第１のＪＮＬグループ１１２Ａ内のＤＶＯＬ）にデータが書き込まれる都度に更新される（例えば１インクリメント（又は１デクリメント）される）番号である。【００３６】
第２のストレージ１０５Ｂが、第１のＪＶＯＬ１１５ＡからＪＮＬを読み出し、読み出したＪＮＬを第２のＪＶＯＬ１１５Ｂに書き込む（Ｓ２１）。第２のストレージ１０５Ｂは、第２のＪＶＯＬ１１５Ｂ内の１以上の未反映のＪＮＬを、ＳＥＱ＃の小さい順に、ＳＶＯＬ１１３Ｂに反映する（Ｓ２２）。具体的には、第２のストレージ１０５Ｂは、第２のＪＶＯＬ１１５Ｂ内の未反映のＪＮＬが有するデータをＳＶＯＬ１１３Ｂに書き込む。これにより、ＰＶＯＬ１１３Ａに書き込まれたデータが、ＳＶＯＬ１１３Ｂにコピーされたことになる。【００３７】
第３のストレージ１０５Ｃが、第１のＪＶＯＬ１１５ＡからＪＮＬを読み出し、読み出したＪＮＬを第３のＪＶＯＬ１１５Ｃに書き込む（Ｓ３１）。第３のストレージ１０５Ｃは、第３のＪＶＯＬ１１５Ｃ内の１以上の未反映のＪＮＬを、ＳＥＱ＃の小さい順に、ＳＶＯＬ１１３Ｃに反映する（Ｓ３２）。具体的には、第３のストレージ１０５Ｃは、第３のＪＶＯＬ１１５Ｃ内の未反映のＪＮＬが有するデータをＳＶＯＬ１１３Ｃに書き込む。これにより、ＰＶＯＬ１１３Ａに書き込まれたデータが、ＳＶＯＬ１１３Ｃにコピーされたことになる。【００３８】
１つのコピー元ＪＮＬグループに対して２つより多くのコピー先ＪＮＬグループが存在しても良い。【００３９】
本実施例によれば、１つのコピー元ＪＮＬグループに含まれるＪＶＯＬが、複数のコピー先ＪＮＬグループに共通である。別の言い方をすれば、１つのコピー元ＪＮＬグループに含まれるＪＶＯＬの数は、コピー先ＪＮＬグループの数に依存しない。これは、ストレージ装置間のＪＮＬのコピー（転送）が、コピー先のストレージ装置がコピー元のストレージ装置内のＪＶＯＬからＪＮＬを読み出すことにより、実現される。この特徴によれば、第１のストレージ１０５Ａにおいて消費される記憶容量を節約することができる。【００４０】
さて、図７に示すように、運用サイトである第１のサイト１０１Ａにおいて、第１のストレージ１０５Ａに障害が発生したとする（Ｓ４０）。この場合、運用サイトが、第１のサイト１０１Ａから第２のサイト１０１Ｂに切り替わる。具体的には、第１のホスト１０３Ａから第２のホスト１０３Ｂへのフェイルオーバが行われる（Ｓ４１）。第２のホスト１０３Ｂが、第２のストレージ１０５Ｂに所定のコマンドを送信する（Ｓ４２）。【００４１】
第２のストレージ１０５Ｂが、所定のコマンドを受信する。この場合、図４に示すように、ストレージ１０５Ｂ及び／又は１０５Ｃによってミラー＃２が有効とされ、第２及び第３のＪＮＬグループ１１２Ｂ及び１１２Ｃのステータスが、一時的に、「マスター／リストア」となる。Ｓ４３の判断のために、第２のストレージ１０５Ｂと第３のストレージ１０５Ｃとの間で、ＳＥＱ＃をやり取りするためである。ステータス「マスター／リストア」は、コピー元でもありコピー先でもあることを意味する。第２及び第３のＪＮＬグループ１１２Ｂ及び１１２Ｃのステータスは、差分リシンク（後述）が終了するまで、「マスター／リストア」である。【００４２】
第２のストレージ１０５Ｂが、所定のコマンドに応答して、第３のストレージ１０５Ｃにおいて最近反映されたＪＮＬが有するＳＥＱ＃（以下、ＳＥＱ＃（３））を第３のストレージ１０５Ｃに要求し（シーケンス番号取得要求を送信し）、その要求に応答して、ＳＥＱ＃（３）を第３のストレージ１０５Ｃから受信する。第２のストレージ１０５Ｂが、ＳＥＱ＃（３）と、第２のストレージ１０５Ｂにおいて最近反映されたＪＮＬが有するＳＥＱ＃（以下、ＳＥＱ＃（２））とのどちらが新しいかを判断する。その判断の結果に応じて、図８及び図９に示す差分リシンクが行われる。【００４３】
すなわち、ＳＥＱ＃（３）の方がＳＥＱ＃（２）より新しい場合、図８に示すように、第２のストレージ１０５Ｂが、第３のＪＶＯＬ１１５Ｃから、１以上の差分ＪＮＬを読み出し、第２のＪＶＯＬ１１５Ｂに書き込む（Ｓ４４−１）。ここで言う「１以上の差分ＪＮＬ」は、ＳＥＱ＃（２）の次のＳＥＱ＃を有するＪＮＬからＳＥＱ＃（３）を有するＪＮＬまでの１以上のＪＮＬである。第２のストレージ１０５Ｂは、第２のＪＶＯＬ１１５Ｂ内の１以上の差分ＪＮＬを、ＳＥＱ＃（２）の次のＳＥＱ＃を有するジャーナルから先に、ＳＥＱ＃の小さい順に、第２のＤＶＯＬ１１３Ｂに反映する（Ｓ４５−１）。これにより、第２のＤＶＯＬ１１３Ｂ内のデータが、差分リシンク開始時の第３のＤＶＯＬ１１３Ｃ内のデータと一致する。【００４４】
一方、ＳＥＱ＃（２）の方がＳＥＱ＃（３）より新しい場合、図９に示すように、第２のストレージ１０５Ｂが、第２のＪＶＯＬ１１５Ｂ内の１以上の差分ＪＮＬを、第３のＪＶＯＬ１１５Ｃに書き込む（Ｓ４４−２）。ここで言う「１以上の差分ＪＮＬ」は、ＳＥＱ＃（３）の次のＳＥＱ＃を有するＪＮＬからＳＥＱ＃（２）を有するＪＮＬまでの１以上のＪＮＬである。第３のストレージ１０５Ｃは、第３のＪＶＯＬ１１５Ｃ内の１以上の差分ＪＮＬを、ＳＥＱ＃（３）の次のＳＥＱ＃を有するジャーナルから先に、ＳＥＱ＃の小さい順に、第３のＤＶＯＬ１１３Ｃに反映する（Ｓ４５−２）。これにより、第３のＤＶＯＬ１１３Ｃ内のデータが、差分リシンク開始時の第２のＤＶＯＬ１１３Ｂ内のデータと一致する。【００４５】
その後、第２のサイト１０１Ｂが運用サイトとなり、業務が継続する。具体的には、図５に示すように、第２のＪＮＬグループ１１２Ｂのステータスが「マスター」になり、第３のＪＮＬグループ１１２Ｃのステータスが「リストア」になる。従って、図１０に示すように、第２のＤＶＯＬ１１３ＢがＰＶＯＬになり、第３のＤＶＯＬ１１３ＣがＳＶＯＬになる。第２のホスト１０３Ｂが、ＰＶＯＬ１１３Ｂにデータを書き込む（Ｓ５１）。第２のストレージ１０５Ｂが、ＳＥＱ＃を更新し、ＳＥＱ＃とＰＶＯＬ１１３Ｂに書き込まれたデータとを有するＪＮＬを作成し、作成したＪＮＬを第２のＪＶＯＬ１１５Ｂに書き込む（Ｓ５２）。第３のストレージ１０５Ｃが、第２のＪＶＯＬ１１５ＢからＪＮＬを読み出し、読み出したＪＮＬを第３のＪＶＯＬ１１５Ｃに書き込む（Ｓ５３）。第３のストレージ１０５Ｃが、第３のＪＶＯＬ１１５Ｃ内のＪＮＬを、ＳＥＱ＃の小さい順に、ＳＶＯＬ１１３Ｃに反映する（Ｓ５４）。【００４６】
本実施例によれば、第２のストレージ１０５Ｂが、ＳＥＱ＃（３）を第３のストレージ１０５Ｃから取得し、ＳＥＱ＃（３）とＳＥＱ＃（２）のどちらが新しいかを判断し、その判断の結果を基に、第２及び第３のストレージ１０５Ｂ及び１０５Ｃのどちらからどちらに１以上の差分ＪＮＬを転送するかを制御する。これにより、第１のストレージ１０５Ａに障害が発生しても業務を適切に継続することができる。また、転送される１以上の差分ＪＮＬは、第２及び第３のストレージ１０５Ｂ及び１０５Ｃ間の差分にすぎないので、転送されるＪＮＬの数を少なく抑えることができる。【００４７】
以下、本実施例を詳細に説明する。その際、第１のサイト１０１Ａ内の要素を代表的に例に採り説明するが、特段の説明が無ければ、第２及び第３のサイト１０１Ｂ及び１０１Ｃ内の要素は、第１のサイト１０１Ａ内の要素と実質的に同じである。【００４８】
図１１は、第１のストレージ１０５Ａの構成を示す。【００４９】
第１のストレージ１０５Ａは、第１のＤＫＣ１１１Ａと、複数のＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループ（以下、ＲＧ）９００Ａとを有する。ＲＧ９００Ａは、複数のＨＤＤ（Hard Disk Drive）で構成されている。ＨＤＤに代えて、フラッシュメモリ等の別の物理記憶デバイスが採用されても良い。１又は複数の論理ボリュームが、１つのＲＧ９００Ａに基づいている。論理ボリュームは、例えば、前述したＤＶＯＬ又はＪＶＯＬであるが、そのどちらも、ＲＧ９００Ａの記憶空間の一部である実体的な論理ボリュームであっても良いし、１以上のＲＧ９００を基に構成されたプール（複数の実領域で構成される記憶領域）から実領域が動的に割り当てられる仮想的な論理ボリューム（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇの技術に従う仮想的な論理ボリューム）であっても良い。【００５０】
ＤＫＣ１１１Ａは、複数のフロントエンドインターフェイス装置（以下、ＦＥ−ＩＦ）６１０Ａと、バックエンドインターフェイス装置（以下、ＢＥ−ＩＦ）１５０Ａと、キャッシュメモリ（以下、ＣＭ）６２０Ａと、共有メモリ（以下、ＳＭ）６４０Ａと、それらに接続された１以上のＣＰＵ（Central Processing Unit）６３０Ａとを有する。ＤＫＣ１１１Ａの処理は、ＣＰＵ６３０Ａが１以上のコンピュータプログラムを実行することにより行われて良いが、その処理の少なくとも一部が、ハードウェア回路によって行われても良い。【００５１】
複数のＦＥ−ＩＦ６１０Ａに、第１のホスト１０３Ａ、第２及び第３のストレージ１０５Ｂ及び１０５Ｃが接続される。ＤＫＣ１１１Ａ（ＣＰＵ６３０Ａ）は、ＦＥ−ＩＦ６１０Ａを介して、第１のホスト１０３Ａ、第２及び第３のストレージ１０５Ｂ及び１０５Ｃと通信する。【００５２】
ＢＥ−ＩＦ１５０Ａに、複数のＲＧ９００Ａが接続される。ＤＫＣ１１１Ａ（ＣＰＵ６３０Ａ）は、ＢＥ−ＩＦ１５０Ａを介して、書込み先の論理ボリューム（例えば、第１のＤＶＯＬ１１３Ａ又は第１のＪＶＯＬ１１５Ａ）の基になっているＲＧ９００Ａにデータ（又はＪＮＬ）を書き込む。【００５３】
ＣＭ６２０Ａは、ＲＧ９００Ａに書き込まれるデータ（及びＪＮＬ）、ＲＧ９００Ａから読み出されたデータ（及びＪＮＬ）を記憶する。【００５４】
ＳＭ６４０Ａは、ＤＫＣ１１１Ａの処理の制御に使用される種々の制御情報を記憶する。【００５５】
ＣＰＵ６３０Ａは、ＤＫＣ１１１Ａが行う処理を制御する。【００５６】
以上が、第１のストレージ１０５Ａの構成の説明である。なお、ＤＫＣ１１１Ａは、図１１に示す構成に限らず、他の構成を有していても良い。また、第２及び第３のストレージ１０５Ｂ及び１０５Ｃの構成は、第１のストレージ１０５Ａの構成と実質的に同じである。ＤＫＣ１１１Ｂ又は１１１Ｃの構成は、ＤＫＣ１１１Ａの構成と違っていても良い。【００５７】
図１２は、ＪＮＬの構成を示し、図１３は、ＪＶＯＬ１１５Ａの構成を示す。【００５８】
ＪＮＬは、メタ情報とデータで構成されている。【００５９】
ＪＶＯＬ１１５Ａは、メタ領域１２０１Ａと、データ領域１２０３Ａとで構成される。メタ領域１２０１Ａは、メタ情報を記憶し、データ領域１２０３Ａは、データを記憶する。なお、メタ領域１２０１Ａは、ＣＭ６２０Ａ等、ＲＧ９００Ａとは別の記憶資源に存在しても良い。【００６０】
図１４は、メタ情報の構成を示す。【００６１】
メタ情報は、ＪＮＬに含まれるデータに関する管理情報である。メタ情報は、例えば、下記の情報、
（＊）ＳＥＱ＃、
（＊）ライト先情報（ＤＶＯＬのどこにデータが書き込まれるかを表す情報）
（＊）ＰＶＯＬ＃（コピー元のＤＶＯＬの番号）、
（＊）ＳＶＯＬ＃（コピー先のＤＶＯＬの番号）、
（＊）このメタ情報に対応したデータのＪＶＯＬにおける位置を表す情報（この情報は、ＪＮＬがＪＶＯＬに書き込まれる際に含まれる）、
を含む。【００６２】
通常は、第１のＤＫＣ１１１Ａが、ＳＥＱ＃を管理する。ＳＥＱ＃は、ＪＮＬグループ１１２Ａ毎にある。第１のＤＫＣ１１１Ａは、或るＪＮＬグループ１１２Ａ内のＤＶＯＬ１１３Ａにデータを書き込んだ場合、そのＪＮＬグループ１１２Ａに対応するＳＥＱ＃を更新する。ＳＥＱ＃は、例えば、ＳＭ６４０Ａ又は他の記憶資源に記憶されている。【００６３】
第１のストレージ１０５Ａに障害が発生し、第２のサイト１０１Ｂが運用サイトになった場合、第２のストレージ１０５Ｂが、ＪＮＬグループ１１２Ｂ毎のＳＥＱ＃を管理する。【００６４】
図１５に示すように、ＳＭ６４０Ａが、制御情報として、例えば、ＪＶＯＬ有効ビットマップ７０１Ａ、ＤＶＯＬ有効ビットマップ７０２Ａ、ＪＶＯＬ管理テーブル７０３Ａ、ＪＮＬグループ管理テーブル７０４Ａ、ペア管理テーブル７０５Ａ、差分ビットマップ７０６Ａ、及びミラービットマップ７０７Ａを記憶する。同様に、第２のストレージ１０５Ｂ内のＳＭ６４０Ｂは、制御情報７０１Ｂ〜７０７Ｂを記憶し、第３のストレージ１０５Ｃ内のＳＭ６４０Ｃは、制御情報７０１Ｃ〜７０７Ｃを記憶する。以下、制御情報７０１Ａ〜７０７Ａを代表して説明する。【００６５】
ＪＮＬグループは、例えば、最大６４個の論理ボリュームを有することができる。ＪＶＯＬ有効ビットマップ７０１Ａは、図１６に示すように、ＪＮＬグループ毎に、６４個のビットを有する。ｎ番目（ｎは０以上６３以下の整数）の論理ボリュームがＪＶＯＬ１１５Ａであれば、ｎ番目のビットがオン（例えば１）である。【００６６】
ＤＶＯＬ有効ビットマップ７０２Ａは、図１７に示すように、ＪＮＬグループ毎に、６４個のビットを有する。ｎ番目（ｎは０以上６３以下の整数）の論理ボリュームがＪＶＯＬ１１５Ａであれば、ｎ番目のビットがオン（例えば１）である。【００６７】
ＪＶＯＬ管理テーブル７０３Ａは、ＪＮＬグループ１１２Ａ毎に存在する。テーブル７０３Ａは、図１８に示すように、ＪＶＯＬ１１５Ａ毎に、メタ領域の先頭アドレスを表す情報と、メタ領域のサイズを表す情報と、データ領域の先頭アドレスを表す情報と、データ領域のサイズを表す情報とを有する。つまり、テーブル７０３Ａは、ＪＶＯＬ１１５Ａ毎に、どこからどこまでがメタ領域でどこからどこまでがデータ領域であるかを表す。【００６８】
ＪＮＬグループ管理テーブル７０４Ａは、ＪＮＬグループに関する情報を有する。具体的には、例えば、テーブル７０４Ａは、図１９に示すように、ＪＮＬグループ毎に、下記の情報、
（＊）ＪＮＬグループの番号を表すＪＮＬグループ＃１００１Ａ、
（＊）ＪＮＬグループのステータスを表すステータス１００２Ａ、
（＊）本実施例に係るリモートコピーシステムに存在するミラーの番号を表すミラー＃１００３Ａ、
（＊）相手のＪＮＬグループの番号を表す相手ＪＮＬグループ＃１００４Ａ、
（＊）相手のＪＮＬグループを有するストレージ装置の番号を表す相手ストレージ＃１００５Ａ、
（＊）最近パージされたＪＮＬが有するＳＥＱ＃を表すパージ済みＳＥＱ＃１００６Ａ、
（＊）パージされて良いＪＮＬが有するＳＥＱ＃を表すパージ可能ＳＥＱ＃１００７Ａ、
（＊）最近読み出したＪＮＬが有するＳＥＱ＃を表すリード済みＳＥＱ＃１００８Ａ、
を有する。【００６９】
ペア管理テーブル７０５Ａは、ＤＶＯＬ同士のペアに関する情報を有する。具体的には、例えば、テーブル７０５Ａは、図２０に示すように、ＤＶＯＬ１１３Ａ毎に、下記の情報、
（＊）ＤＶＯＬ１１３Ａの番号を表すＤＶＯＬ＃１１０１Ａ、
（＊）ＤＶＯＬ１１３Ａを含んだＪＮＬグループ１１２Ａの番号を表すＪＮＬグループ＃１１０２Ａ、
（＊）ＤＶＯＬ１１３Ａのコピー先のＤＶＯＬの番号を表すコピー先ＶＯＬ＃１１０３Ａ、
（＊）ＤＶＯＬ１１３Ａとコピー先のＤＶＯＬとのペアについて、ＤＶＯＬ１１３Ａのペアステータスを表すステータス１１０４Ａ、
を有する。【００７０】
差分ビットマップ７０６Ａは、ＤＶＯＬ１１３Ａ毎に有する。ＤＶＯＬ１１３Ａは、複数のブロックで構成されている。差分ビットマップ７０６Ａは、ＤＶＯＬ１１３Ａのどのブロックが更新されたかを表す。すなわち、差分ビットマップ７０６Ａが有するビットは、ブロックに対応している。差分ビットマップ７０６Ａは、ＤＶＯＬ１１３Ａのペアステータスが所定のステータスの場合に、更新される。具体的には、例えば、ＤＫＣ１１１Ａは、或るＤＶＯＬ１１３Ａのペアステータスが所定のステータスであり、且つ、そのＤＶＯＬ１１３Ａ内の或るブロックにデータを書き込んだ場合、そのＤＶＯＬ１１３Ａに対応した差分ビットマップ７０６Ａにおける、そのブロックに対応したビットを、オン（例えば１）に変更する。【００７１】
ミラービットマップ７０７Ａは、どのミラーが有効でどのミラーが無効になっているかを表す。具体的には、ミラービットマップ７０７Ａは、複数のミラーに対応した複数のビットを有する。例えば、通常は、ミラー＃０及び＃１が有効でありミラー＃２が無効である（図６参照）。この場合、ミラー＃０及び＃１に対応したビットがオン（例えば１）であり、ミラー＃２に対応したビットがオフ（例えば０）である。また、第１のストレージ１０５Ａに障害が生じた場合、ミラー＃０及び＃１が無効でありミラー＃２が有効である（図１０参照）。この場合、ミラー＃０及び＃１に対応したビットがオフであり、ミラー＃２に対応したビットがオンである。【００７２】
以下、本実施形態で行われる幾つかの処理を説明する。【００７３】
＜形成コピー＞。【００７４】
ＰＶＯＬからＳＶＯＬへの非同期リモートコピー（ＪＮＬを利用したリモートコピー）の開始前は、ＰＶＯＬが有するデータ（ＰＶＯＬの内容）とＳＶＯＬが有するデータ（ＳＶＯＬの内容）が互いに一致している必要がある。そのために、形成コピーが行われる。「形成コピー」とは、ＰＶＯＬの内容とＳＶＯＬの内容を一致させるコピーである。【００７５】
図２１に示すように、ＰＶＯＬ１１３ＡとＳＶＯＬ１１３Ｂのペアのステータスと、ＰＶＯＬ１１３ＡとＳＶＯＬ１１３Ｃのペアのステータスとの両方が、サスペンドとされることがある（Ｓ２１０１−１、Ｓ２１０１−２）。具体的には、ＰＶＯＬ１１３Ａのペアステータスが「ＰＳＵＳ」（プライマリのサスペンド）になり、ＳＶＯＬ１１３Ｂ及び１１３Ｃのペアステータスが「ＳＳＵＳ」になる。この場合、第１のＤＫＣ１１１Ａが、そのＰＶＯＬ１１３Ａを含んだＪＮＬグループ１１２Ａに対応するＳＥＱ＃を所定値（例えばゼロ）にリセットする。【００７６】
この場合、第１のＤＫＣ１１１Ａは、ＰＶＯＬ１１３Ａにデータを書き込んでも、そのデータを有するＪＮＬを作成しない。第１のＤＫＣ１１１Ａは、ＰＶＯＬ１１３Ａの或るライト先ブロックにデータを書き込んだ場合（Ｓ２１０２）、そのＰＶＯＬ１１３Ａのペアステータスが「ＰＳＵＳ」であれば、そのＰＶＯＬ１１３Ａに対応する差分ビットマップ７０６Ａにおける、ライト先ブロックに対応したビットを、オン（例えば１）にする（Ｓ２１０３）。ＰＶＯＬ１１３Ａのペアステータスが「ＰＳＵＳ」である場合、ＰＶＯＬ１１３Ａにおける未更新のブロックにデータが書き込まれる都度に、Ｓ２１０３が行われる。【００７７】
第１のＤＫＣ１１１Ａが、第１のホスト１０３Ａ（又は第１のＤＫＣ１１１Ａに接続されている図示しない管理端末）から、形成コピー指示を受ける（Ｓ２１１１）。その形成コピー指示の受領が、形成コピーの開始の契機である。形成コピーは、第１のペア（ＰＶＯＬ１１３ＡとＳＶＯＬ１１３Ｂのペア）と第２のペア（ＰＶＯＬ１１３ＡとＳＶＯＬ１１３Ｃのペア）について、並行して行われても良いが、本実施形態では、並行して行われず、順次に行われる。このため、ＰＶＯＬ１１３Ａへのアクセスの集中を緩和することができる。【００７８】
例えば、まず、図２１に示すように、第１のペアについて形成コピーが行われる。すなわち、第１のＤＫＣ１１１Ａが、差分ビットマップ７０６Ａにおいてオンになっているビットに対応したブロック（その差分ビットマップ７０６Ａに対応するＰＶＯＬ１１３Ａにおけるブロック）を特定する。そして、第１のＤＫＣ１１１Ａが、特定したブロック内のデータを有するＪＮＬを作成し、作成したＪＮＬを、第１のＪＶＯＬ１１５Ａに格納せず、第２のＪＶＯＬ１１５Ｂに書き込む（Ｓ２１１２）。第２のＤＫＣ１１１Ｂが、第２のＪＶＯＬ１１５Ｂ内のＪＮＬをＳＶＯＬ１１３Ｂに反映する（Ｓ２１１３）。ＰＶＯＬ１１３Ａにおける全ての更新済みブロック（オンになっているビットに対応したブロック）について、Ｓ２１１２及びＳ２１１３が行われる。【００７９】
第１のペアについて形成コピーが完了した後に、第２のペアについて形成コピーが行われる。すなわち、第１のＤＫＣ１１１Ａが、ＰＶＯＬ１１３Ａにおける更新済みブロック内のデータを有するＪＮＬを作成し、作成したＪＮＬを、第１のＪＶＯＬ１１５Ａに格納せず、第３のＪＶＯＬ１１５Ｃに書き込む（Ｓ２１１５）。第３のＤＫＣ１１１Ｃが、第３のＪＶＯＬ１１５Ｃ内のＪＮＬをＳＶＯＬ１１３Ｃに反映する（Ｓ２１１６）。ＰＶＯＬ１１３Ａにおける全ての更新済みブロックについて、Ｓ２１１５及びＳ２１１６が行われる。【００８０】
＜ライト処理、及び、ＪＮＬ作成処理＞。【００８１】
図２２に示すように、第１のＤＫＣ１１１Ａは、ＰＶＯＬ１１３Ａを指定したライト要求を第１のホスト１０３Ａから受信し（Ｓ２２０１）、ＣＭ６３０ＡにＣＭ領域（キャッシュメモリ領域）を確保し、確保したＣＭ領域に、そのライト要求に従うデータ（ライト対象のデータ）を書き込む（Ｓ２２０２）。第１のＤＫＣ１１１Ａは、この時点で、第１のホスト１０３Ａに書込み完了を応答して良い。【００８２】
第１のＤＫＣ１１１Ａは、ＣＭ６３０Ａ内のライト対象のデータを、ＰＶＯＬ１１３Ａに書き込む（Ｓ２２０３）。【００８３】
第１のＤＫＣ１１１Ａは、そのＰＶＯＬ１１３Ａを含んだＪＮＬグループ１１２Ａに対応するＳＥＱ＃を更新する（Ｓ２２１１）。第１のＤＫＣ１１１Ａは、ＪＮＬを作成し（Ｓ２２１２）、作成したＪＮＬを第１のＪＶＯＬ１１５Ａに書き込む。Ｓ２２１２で作成されたＪＮＬは、Ｓ２２１１で更新されたＳＥＱ＃（又は更新前のＳＥＱ＃）を含んだメタ情報と、Ｓ２２０３でＰＶＯＬ１１３Ａに書き込まれたデータとを有する。そのデータは、ＰＶＯＬ１１３Ａから読み出されたデータでも良いし、ＣＭ６３０Ａに残っているデータでも良い。【００８４】
＜ＪＮＬのリード処理＞。【００８５】
第２のＤＫＣ１１１Ｂが第１のＪＶＯＬ１１５ＡからＪＮＬを読み出すことを例に採り、ＪＮＬリード処理を説明する。【００８６】
図２３に示すように、第２のＤＫＣ１１１Ｂが、リード対象ＳＥＱ＃を算出する（Ｓ２３０１）。「リード対象ＳＥＱ＃」は、読み出すべきＪＮＬに含まれているＳＥＱ＃である。リード対象ＳＥＱ＃は、具体的には、ＪＮＬグループ１１２Ｂのミラー＃０に対応したリード済みＳＥＱ＃１００８Ｂ（ＪＮＬグループ管理テーブル７０４Ｂ内の情報１００８Ｂ）が表す値に１が加算された値（つまり、リード済みＳＥＱ＃１００８Ｂが表す値の次の値）である。【００８７】
第２のＤＫＣ１１１Ｂが、リード要求を第１のストレージ１０５Ａに送信する（Ｓ２３０２）。そのリード要求は、Ｓ２３０１で算出されたリード対象ＳＥＱ＃と、ＪＮＬのリード元となるＪＶＯＬ１１５Ａの番号（又はそれに対応するＬＵＮ（Logical Unit Number））とを有する。ＪＶＯＬ１１５Ａの番号は、例えば、ＳＭ６４０Ｂが記憶する制御情報から特定される。具体的には、例えば、制御情報は、ＳＶＯＬ１１３Ｂを有するＪＮＬグループ１１２Ｂに対応したＪＮＬグループ１１２Ａが有するＪＶＯＬ１１２Ａの番号を有する。【００８８】
第１のＤＫＣ１１１Ａが、第２のＤＫＣ１１１Ｂからリード要求を受信する。第１のＤＫＣ１１１Ａは、そのリード要求を基に、リード元のＪＶＯＬ１１５Ａから、リード対象ＳＥＱ＃を有するＪＮＬを特定する（Ｓ２３０３）。第１のＤＫＣ１１１Ａは、特定されたＪＮＬをリード元のＪＶＯＬ１１５Ａから読み出し、読み出したＪＮＬを、第１及び第２のストレージ１０５Ａ及び１０５Ｂ間のデータ転送パスを介して、第２のＤＫＣ１１１Ｂに送信する（Ｓ２３０４）。【００８９】
第２のＤＫＣ１１１Ｂは、第１のＤＫＣ１１１ＡからＪＮＬを受信し、受信したＪＮＬを、第２のＪＶＯＬ１１５Ｂに書き込む（Ｓ２３０５）。第２のＤＫＣ１１１Ｂは、ＳＶＯＬ１１３Ｂを有するＪＮＬグループ１１２Ｂのミラー＃０に対応したリード済みＳＥＱ＃１００８Ｂが表す値を、リード対象ＳＥＱ＃が表す値に変更する（Ｓ２３０６）。つまり、第２のＤＫＣ１１１Ｂは、そのリード済みＳＥＱ＃１００８Ｂが表す値に、１を加算する。【００９０】
＜ＪＮＬの反映処理＞。【００９１】
第２のストレージ１０５ＢにおけるＪＮＬの反映を例に採り、ＪＮＬの反映処理を説明する。【００９２】
図２４に示すように、第２のＤＫＣ１１１Ｂは、第２のＪＶＯＬ１１５Ｂ内の１以上の未反映のＪＮＬのうち最古のＳＥＱ＃を有するＪＮＬを、ＳＶＯＬ１１３Ｂに反映する（Ｓ２４０１）。具体的には、第２のＤＫＣ１１１Ｂは、ＪＮＬグループ１１２Ｂのミラー＃０に対応したパージ可能ＳＥＱ＃１００７Ｂ（ＪＮＬグループ管理テーブル７０４Ｂが有する情報１００７Ｂ）が表す値より１大きいＳＥＱ＃を含んだＪＮＬを、第２のＪＶＯＬ１１５Ｂから読み出し、読み出したＪＮＬが有するデータを、ＳＶＯＬ１１３Ｂに書き込む。【００９３】
第２のＤＫＣ１１１Ｂは、ＪＮＬグループ１１２Ｂのミラー＃０に対応したパージ可能ＳＥＱ＃１００７Ｂが表す値を変更する（Ｓ２４０２）。具体的には、第２のＤＫＣ１１１Ｂは、そのパージ可能ＳＥＱ＃１００７Ｂが表す値に１を加算する。【００９４】
第２のＤＫＣ１１１Ｂは、更新後のパージ可能ＳＥＱ＃１００７Ｂが表す値を第１のＤＣＫ１１１Ａに通知する（Ｓ２４０３）。【００９５】
第１のＤＫＣ１１１Ａは、ＪＮＬグループ１１２Ａのミラー＃０に対応したパージ可能ＳＥＱ＃１００７Ａが表す値を、第２のＤＫＣ１１１Ｂから通知された値に変更する（Ｓ２４０４）。【００９６】
＜ＪＶＯＬの使用率のチェック＞。【００９７】
各ＤＫＣは、そのＤＫＣを有するストレージ内のＪＶＯＬを、定期的に（又は不定期的に）、チェックする。以下、それを、第１のストレージ１０５Ａを例に採り説明する。【００９８】
第１のＤＫＣ１１１Ａが、定期的に（又は不定期的に）、図２５に示す処理を行う。【００９９】
すなわち、第１のＤＫＣ１１１Ａが、第１のＪＶＯＬ１１５Ａの使用率（第１のＪＶＯＬ１１５Ａの容量に対する、第１のＪＶＯＬ１１５Ａにおける１以上のＪＮＬの総容量の割合）が所定の閾値を超えているか否かを判断する（Ｓ２５０１）。その判断の結果が否定的であれば（Ｓ２５０１：ＮＯ）、処理が終了する。【０１００】
その判断の結果が肯定的であれば（Ｓ２５０１：ＹＥＳ）、第１のＤＫＣ１１１Ａは、第１のＪＶＯＬ１１５Ａ内のＪＮＬにパージ可能なＪＮＬが存在するか否かを判断する（Ｓ２５０２）。パージ可能なＪＮＬは、以下の（Ａ）のＪＮＬから（Ｂ）のＪＮＬまでである。
（Ａ）ＪＮＬグループ１１２Ａに対応したパージ済みＳＥＱ＃１００６Ａ（図１９参照）が表す値をＳＥＱ＃として含んだＪＮＬ。
（Ｂ）ＪＮＬグループ１１２Ａのミラー＃０に対応したパージ可能ＳＥＱ＃１００７Ａが表す値と、ＪＮＬグループ１１２Ａのミラー＃１に対応したパージ可能ＳＥＱ＃１００７Ａが表す値とのうち、小さい方の値をＳＥＱ＃として含んだＪＮＬ。【０１０１】
Ｓ２５０２の判断の結果が肯定的であれば（Ｓ２５０２：ＹＥＳ）、第１のＤＫＣ１１１Ａは、第１のＪＶＯＬ１１５Ａからパージ可能なＪＮＬをパージする（Ｓ２５０３）。その後、第１のＤＫＣ１１１Ａは、Ｓ２５０１を行う。【０１０２】
Ｓ２５０２の判断の結果が否定的であれば（Ｓ２５０２：ＮＯ）、第１のＤＫＣ１１１Ａは、ネックのペアをサスペンドする（Ｓ２５０４）。「ネックのペア」とは、ミラー＃０及びミラー＃１のいずれかに対応したペアであって、パージ可能ＳＥＱ＃１０００７Ａが表す値が小さい方のペアである。そのペアがネックである理由は、小さい方のパージ可能ＳＥＱ＃１０００７Ａが大きい方のパージ可能ＳＥＱ＃１０００７Ａに比べてかなり小さいために、パージ可能なＪＮＬの数が少なくなってしまっているからである。【０１０３】
ネックのペアをサスペンドした場合、パージ可能なＪＮＬの数が増える。具体的には、パージ可能なＪＮＬは、大きい方のパージ可能ＳＥＱ＃１０００７Ａが表す値をＳＥＱ＃として含んだＪＮＬまでである。このため、第１のＤＫＣ１１１Ａは、Ｓ２５０４の後に、Ｓ２５０２及びＳ２５０３を行う。【０１０４】
また、第１のＤＫＣ１１１Ａは、ネックのペアをサスペンドした場合、そのペアについては、差分管理及びリシンクを行うことになる（Ｓ２５１０）。具体的には、下記が行われることになる（ここの説明では、ネックのペアは、ミラー＃１に対応したペアであるとする）。
（＊）第１のＤＫＣ１１１Ａは、ＰＶＯＬ１１３Ａにデータを書き込んだ場合、そのデータのライト先ブロックに対応したビット（ＰＶＯＬ１１３Ａに対応した差分ビットマップ７０６Ａ内のビット）がオフになっていれば、そのビットをオンにする。
（＊）第１のＤＫＣ１１１Ａは、所定のタイミングで（例えば、リシンク指示を第１のホスト１０３Ａ（又は管理端末）から受けたときに）、リシンクを行う。具体的には、第１のＤＫＣ１１１Ａは、オンのビットに対応したブロック内のデータを含んだＪＮＬを、第３のＪＶＯＬ１１５Ｃに書き込む。【０１０５】
なお、ミラー＃０及びミラー＃１に対応したペアのうちネックのペアをサスペンドし、Ｓ２５０２及びＳ２５０３を行った後であっても、Ｓ２５０１の判断の結果が肯定的となる場合には、そのＳ２５０２の判断の結果が否定的となる。この場合、第１のＤＣＫ１１１Ａは、残りのペアもサスペンドする。この結果、図２１においてＳ２１０１−１とＳ２１０１−２の両方が行われたことになる。この場合、ＪＮＬグループ１１２Ａについての全てのＪＮＬがパージ可能なＪＮＬであるので、Ｓ２５０３でそれらのＪＮＬがパージされれば、Ｓ２５０１の判断の結果は必ず否定的となり、処理が終了する。【０１０６】
＜第１のストレージ１０５Ａに障害が発生した場合に行われる処理＞。【０１０７】
図２６に示すように、第１のストレージ１０５Ａに障害が発生した場合（Ｓ２６０１）、第１のホスト１０３Ａから第２のホスト１０３Ｂへのフェイルオーバが行われる（Ｓ２６０２）。【０１０８】
次に、第２のホスト１０３Ｂが、所定のコマンドとしてテイクオーバコマンドを、第２のストレージ１０５Ｂに送信する（Ｓ２６０３）。【０１０９】
次に、第２のＤＫＣ１１１Ｂが、テイクオーバコマンドに応答して、種々のステータスを更新する（Ｓ２６０４）。具体的には、例えば、第２のＤＫＣ１１１Ｂは、下記の更新を行う。
（＊）ＤＶＯＬ１１３Ｂ及びミラー＃０に対応したペアステータスを、「ＳＳＷＳ」に更新する。第２のＤＫＣ１１１Ｂは、ＤＶＯＬ１１３ＢがＳＶＯＬであれば、通常は、第２のホスト１０３ＢからＤＶＯＬ１１３Ｂへのデータ書込みを禁止しているが、「ＳＳＷＳ」は、ＤＶＯＬ１１３ＢがＳＶＯＬであっても、データの書込みが許可されていることを意味する。
（＊）ＤＶＯＬ１１３Ｂ及びミラー＃１に対応したペアステータスを、「ＳＳＵＳ」に更新する。「ＳＳＵＳ」は、ミラー＃１に対応したペアがサスペンドされていることを意味する。これにより、ミラー＃０に対応したペアステータスが「ＳＳＷＳ」となっていても、第２のホスト１０３ＢからＤＶＯＬ１１３Ｂへのデータの書込みの禁止が維持される。
（＊）ＤＶＯＬ１１３Ｂのステータスを「ＨＯＬＤ」に変更する。「ＨＯＬＤ」は、差分リシンクの開始を待っていることを意味する。
（＊）ミラービットマップ７０７Ｂにおける、ミラー＃０に対応したビットをオフにし、ミラー＃２に対応したビットをオンにする。【０１１０】
次に、第２のＤＫＣ１１１Ｂは、第３のストレージ１０５Ｃから、パージ可能ＳＥＱ＃が表す値を取得する（Ｓ２６０５）。具体的には、例えば、第２のＤＫＣ１１１Ｂが、ＪＮＬグループ１１２Ｃ及びミラー＃２に対応したパージ可能ＳＥＱ＃１００７Ｃ（ＪＮＬグループ管理テーブル７０４Ｃ内の情報１００７Ｃ）が表す値を、第２及び第３のストレージ１０５Ｂ及び１０５Ｃ間の制御パスを介して、第３のストレージ１０５Ｃに要求する。第３のＤＫＣ１１１Ｃが、その要求に応答して、ＪＮＬグループ１１２Ｃ及びミラー＃２に対応したパージ可能ＳＥＱ＃１００７Ｃが表す値を、上記制御パスを介して、第２のＤＫＣ１１１Ｂに通知する。【０１１１】
次に、第２のＤＫＣ１１１Ｂは、ＪＮＬグループ１１２Ｂ及びミラー＃２に対応したパージ可能ＳＥＱ＃１００７Ｂが表す値と、取得されたパージ可能ＳＥＱ＃１００７Ｃが表す値とを比較する（Ｓ２６０６）。すなわち、第２のＤＫＣ１１１Ｂは、第２のストレージ１０５Ｂで最近反映されたＪＮＬが有するＳＥＱ＃（以下、ＳＥＱ＃（２））と、第３のストレージ１０５Ｃで最近反映されたＪＮＬが有するＳＥＱ＃（以下、ＳＥＱ＃（３））とを比較する。【０１１２】
次に、第２のＤＫＣ１１１Ｂは、差分リシンクが可能か否かを判断する（Ｓ２６０７）。【０１１３】
ここで、差分リシンクが可能なケース及び差分リシンクが不可能なケースを説明する。その際、ＳＥＱ＃（２）とＳＥＱ＃（３）のうち、より大きいＳＥＱ＃を、「ＳＥＱ＃（大）」と言い、より小さいＳＥＱ＃を、「ＳＥＱ＃（小）」と言う。また、第２及び第３のストレージ１０５Ｂ及び１０５Ｃのうち、ＳＥＱ＃（大）を有するストレージを、ストレージ（大）と言い、他方のストレージを、ストレージ（小）と言う。【０１１４】
差分リシンクが可能なケースは、図２７に示すようなケース、すなわち、ストレージ（大）のＪＮＬグループ及びミラー＃２に対応したパージ済みＳＥＱ＃が表す値が、ＳＥＱ＃（小）以下であるケースである。別の言い方をすれば、ストレージ（大）が、ＳＥＱ＃（小）の次のＳＥＱ＃（ＳＥＱ＃（小）＋１に等しいＳＥＱ＃）を含んだＪＮＬ（以下、ＪＮＬ（Ｘ））からＳＥＱ＃（大）を含んだＪＮＬ（以下、ＪＮＬ（Ｙ））を有しているケースである。以下、ＪＮＬ（Ｘ）からＪＮＬ（Ｙ）までの１以上のＪＮＬ（すなわち、ＳＥＱ＃（小）＋１に等しいＳＥＱ＃からＳＥＱ＃（大）までのＳＥＱ＃を含んだ１以上のＪＮＬ）を、「１以上の差分ＪＮＬ」と言う。【０１１５】
一方、差分リシンクが不可能なケースは、図２８に示すようなケース、すなわち、ストレージ（大）内のＪＮＬグループ及びミラー＃２に対応したパージ済みＳＥＱ＃が表す値が、ＳＥＱ＃（小）の次のＳＥＱ＃（ＳＥＱ＃（小）＋１に等しいＳＥＱ＃）より大きい値になっているケースである。なぜなら、ＳＥＱ＃が連続していないからである。【０１１６】
再び図２６を参照する。【０１１７】
Ｓ２６０７の判断の結果が否定的の場合（Ｓ２６０７：ＮＯ）、第２のＤＫＣ１１１Ｂは、全コピーを行う（Ｓ２６０８）。すなわち、第２のＤＫＣ１１１Ｂは、ＳＥＱ＃（２）とＳＥＱ＃（３）のうちの大きい方のＳＥＱ＃を有するストレージ内のＤＶＯＬ（例えばＤＶＯＬ１１３Ｂ）に記憶されている全てのデータを、ＳＥＱ＃（２）とＳＥＱ＃（３）のうちの小さい方のＳＥＱ＃を有するストレージ内のＤＶＯＬ（例えばＤＶＯＬ１１３Ｃ）にコピーする。これにより、ＤＶＯＬ１１３Ｂの内容とＤＶＯＬ１１３Ｃの内容が一致する。【０１１８】
Ｓ２６０７の判断の結果が肯定的の場合（Ｓ２６０７：ＹＥＳ）、ＳＥＱ＃（２）がＳＥＱ＃（３）より大きければ（Ｓ２６０９：ＹＥＳ）、第２のストレージ１０５Ｂから第３のストレージ１０５Ｃへの差分リシンクが行われる（Ｓ２６１０）。つまり、図９に示した差分リシンクが行われる。具体的には、第２のＤＫＣ１１１Ｂは、第２のＪＶＯＬ１１５Ｂから１以上の差分ＪＮＬを読み出し、１以上の差分ＪＮＬのライト要求（第３のＪＶＯＬ１１５Ｃを指定したライト要求）を第３のストレージ１０５Ｃに送信することで、１以上の差分ＪＮＬを、第３のＪＶＯＬ１１５Ｃに書き込む（それに代えて、第３のＤＫＣ１１１Ｃが、第２のＪＶＯＬ１１５Ｂを指定したリード要求（ＳＥＱ＃（３）の次のＳＥＱ＃からＳＥＱ＃（２）を含んだリード要求）を送信し、それに応答して、１以上の差分ＪＮＬを第２のストレージ１０５Ｂから受信し、それら１以上の差分ＪＮＬを第３のＪＶＯＬ１１５Ｃに書き込んでも良い）。第３のＤＫＣ１１１Ｃが、第３のＪＶＯＬ１１５Ｃ内の１以上の差分ＪＮＬを、ＳＥＱ＃（３）の次のＳＥＱ＃を有するＪＮＬから先に、ＳＥＱ＃の小さい順に、ＤＶＯＬ１１３Ｃに反映する。これにより、ＤＶＯＬ１１３Ｃの内容がＤＶＯＬ１１３Ｂの内容に一致する。【０１１９】
Ｓ２６０７の判断の結果が肯定的の場合（Ｓ２６０７：ＹＥＳ）、ＳＥＱ＃（２）がＳＥＱ＃（３）より小さければ（Ｓ２６０９：ＮＯ）、第３のストレージ１０５Ｂから第２のストレージ１０５Ｃへの差分リシンクが行われる（Ｓ２６１１）。つまり、図８に示した差分リシンクが行われる。具体的には、第２のＤＫＣ１１１Ｂが、第３のＪＶＯＬ１１５Ｃを指定したリード要求（ＳＥＱ＃（２）の次のＳＥＱ＃からＳＥＱ＃（３）を含んだリード要求）を送信し、それに応答して、１以上の差分ＪＮＬを第３のストレージ１０５Ｃから受信し、それら１以上の差分ＪＮＬを第２のＪＶＯＬ１１５Ｂに書き込む（それに代えて、第３のＤＫＣ１１１Ｂが、第３のＪＶＯＬ１１５Ｃから１以上の差分ＪＮＬを読み出し、１以上の差分ＪＮＬのライト要求（第２のＪＶＯＬ１１５Ｂを指定したライト要求）を第２のストレージ１０５Ｂに送信することで、１以上の差分ＪＮＬを第２のＪＶＯＬ１１５Ｂに書き込んでも良い）。第２のＤＫＣ１１１Ｂが、第２のＪＶＯＬ１１５Ｂ内の１以上の差分ＪＮＬを、ＳＥＱ＃（２）の次のＳＥＱ＃を有するＪＮＬから先に、ＳＥＱ＃の小さい順に、ＤＶＯＬ１１３Ｂに反映する。これにより、ＤＶＯＬ１１３Ｂの内容がＤＶＯＬ１１３Ｃの内容に一致する。【０１２０】
図２９に示すように、第２のＤＫＣ１１１Ｂは、Ｓ２６１０又はＳ２６１１の差分リシンクが完了した場合（Ｓ２９０１：ＹＥＳ）、第２のホスト１０３Ｂから第２のＤＶＯＬ１１３Ｂへのデータの書込みを許可する（Ｓ２９０２）。具体的には、第２のＤＫＣ１１１Ｂは、ＤＶＯＬ１１３Ｂ及びミラー＃２に対応したペアステータスを、「ＳＳＷＳ」（つまりライト許可）に更新する。これにより、ＤＶＯＬ１１３Ｂ及びミラー＃０に対応したペアステータスだけでなく、ミラー＃２に対応したペアステータスも「ＳＳＷＳ」になったので、第２のホスト１０３Ｂから第２のＤＶＯＬ１１３Ｂへのデータの書込みが可能となる。なお、Ｓ２６１０又はＳ２６１１の差分リシンクが完了した場合、第２のＤＫＣ１１Ｂは、第２のＤＶＯＬ１１３ＢをＰＶＯＬとする（第３のＤＶＯＬ１１３ＣがＳＶＯＬである）。【０１２１】
この後は、第２のサイト１０１Ｂにおいて、業務が継続される。第２のサイト１０１Ｂにおいて、ＪＮＬグループ１１２Ｂに対応するＳＥＱ＃の初期値は、ＳＥＱ＃（２）及びＳＥＱ＃（３）のうちの大きい方のＳＥＱ＃の次のＳＥＱ＃（つまり、ＳＥＱ＃（２）及びＳＥＱ＃（３）のうちの大きい方のＳＥＱ＃に１加算された値）である。【０１２２】
第２のホスト１０３Ｂが、業務に応じて、ＰＶＯＬ１１３Ｂを指定したライト要求を第２のストレージ１０５Ｂに送信する。第２のＤＣＫ１１１Ｂが、そのライト要求に従うデータを、ＣＭ６３０Ｂに書き込み、その後、ＰＶＯＬ１１３Ｂに書き込む。第２のＤＫＣ１１１Ｂは、ＳＥＱ＃を更新し、更新後のＳＥＱ＃（又は更新前のＳＥＱ＃）とＰＶＯＬ１１３Ｂに書き込んだデータとを含んだＪＮＬを作成し、第２のＪＶＯＬ１１５Ｂに書き込む。第３のＤＫＣ１１１Ｃは、第２のＪＶＯＬ１１５Ｂを指定したリード要求を第２のストレージ１０５Ｂに送信することで、第２のＪＶＯＬ１１５Ｂ内のＪＮＬを第２のストレージ１０５Ｂから受信する。第３のＤＫＣ１１１Ｃは、受信したＪＮＫを第３のＪＶＯＬ１１５Ｃに書き込む。第３のＤＫＣ１１１Ｃは、第３のＪＶＯＬ１１５Ｃ内の未反映のＪＮＬを、ＳＥＱ＃の小さい順に、ＳＶＯＬ１１３Ｃに反映する。この一連の処理により、ＰＶＯＬ１１３Ｂに書き込まれたデータが、ＳＶＯＬ１１３Ｃにコピーされる。【０１２３】
以上、実施例１によれば、運用サイトの切替え先のサイト１０１Ｂにおいて、第２のストレージ１０５Ｂが、第３のストレージ１０５Ｃにおいて最近反映されたＪＮＬが有するＳＥＱ＃（ＳＥＱ＃（３））を取得し、ＳＥＱ＃（３）を、第２のストレージ１０５Ｂにおいて最近反映されたＪＮＬが有するＳＥＱ＃（ＳＥＱ＃（２））と比較する。また、第２のストレージ１０５Ｂは、ＳＥＱ＃（２）及びＳＥＱ＃（３）のうちの大きい方のＳＥＱ＃を有するストレージにおけるパージ済みＳＥＱ＃と、ＳＥＱ＃（２）及びＳＥＱ＃（３）のうちの小さい方のＳＥＱ＃との関係を基に、差分リシンクが可能か否かを判断する。そして、その判断の結果とＳＥＱ＃（２）及びＳＥＱ＃（３）の関係とに基づく差分リシンクが行われる。これにより、第１のストレージ１０５Ａが障害等の原因により停止しても、業務が適切に継続される。【０１２４】
また、実施例１によれば、１つのコピー元ＪＮＬグループに含まれるＪＶＯＬが、複数のコピー先ＪＮＬグループに共通である。別の言い方をすれば、１つのコピー元ＪＮＬグループに含まれるＪＶＯＬの数は、コピー先ＪＮＬグループの数に依存しない。これにより、第１のストレージ１０５Ａにおいて消費される記憶容量を節約することができる。
【実施例２】
【０１２５】
以下、本発明の実施例２を説明する。その際、実施例１との相違点を主に説明し、実施例１との共通点については説明を省略或いは簡略する（これについては、後の実施例３及び４についても同様である）。【０１２６】
実施例２では、差分リシンク中であっても、第２のＤＶＯＬ１１３Ｂへのデータの書込みが許可されている。具体的には、図３０に示すように、第２のＤＫＣ１１１Ｂが、図２６のＳ２６０７でＹＥＳとなることが判明したときに（Ｓ３００１：ＹＥＳ）、第２のホスト１０３Ｂから第２のＤＶＯＬ１１３Ｂへのデータの書込みを許可する（Ｓ３００２）。具体的には、第２のＤＫＣ１１１Ｂは、第２のＤＶＯＬ１１３Ｂ及びミラー＃０に対応したペアステータスと、第２のＤＶＯＬ１１３Ｂ及びミラー＃２に対応したペアステータスとの両方を、「ＳＳＷＳ」に変更する。なお、「Ｓ２６０７でＹＥＳになることが判明したとき」というのは、Ｓ２６１０とＳ２６１１のいずれかの差分リシンクが行われることが確定したときである。【０１２７】
しかし、この場合、何の工夫もされないと、以下の問題が生じ得る。すなわち、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクにおいて、第２のホスト１０３Ｂから書き込まれたデータ（最新のデータ）を有するブロック（ＤＶＯＬ１１３Ｂ内のブロック）に、差分ＪＮＬ内のデータ（古いデータ）が書き込まれてしまう可能性がある。【０１２８】
実施例２は、その問題を回避するために、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクが行われることが確定した場合には、図３１に示す処理が行われる。【０１２９】
すなわち、第２のＤＫＣ１１１Ｂは、ＤＶＯＬ１１３Ｂを指定したライト要求を第２のホスト１０３Ｂから受けた場合（Ｓ３１０１）、ＤＶＯＬ１１３Ｂにおけるライト先のブロックにライト対象のデータを書込む（Ｓ３１０２）。その際に、第２のＤＫＣ１１１Ｂは、そのライト先のブロックを、ＪＮＬの非反映先として管理する（Ｓ３１０３）。具体的には、例えば、ＳＭ６４０Ｂが、ＪＮＬの反映が不要なライト先を表す非反映管理情報を記憶していて、第２のＤＫＣ１１１Ｂは、ＳＭ６４０Ｂに、ＤＶＯＬ１１３Ｂの番号と、ＤＶＯＬ１１３Ｂのブロックのアドレス（例えばＬＢＡ（Logical Block Address））とを、非反映管理情報に登録する。【０１３０】
図３２に示すように、第２のＤＫＣ１１１Ｂは、第２のＪＶＯＬ１１５ＢからＪＮＬを読み出した場合、そのＪＮＬの反映先のブロック（ＤＶＯＬ１１３Ｂにおけるブロック）が非反映先でなければ（Ｓ３２０２：ＮＯ）、そのＪＮＬを反映するが（Ｓ３２０３）、そのＪＮＬの反映先のブロックが非反映先であれば（Ｓ３２０２：ＹＥＳ）、そのＪＮＬを反映しない（Ｓ３２０４）。【０１３１】
Ｓ３２０２において、「ＪＮＬの反映先のブロックが非反映先であるか否か」とは、例えば、その反映先のブロックのアドレスが上記の非反映管理情報に登録されているか否かである。【０１３２】
Ｓ３２０４において、「ＪＮＬを反映しない」とは、例えば、ＪＮＬを無視することである。無視されたＪＮＬは、第２のＪＶＯＬ１１５Ｂに残されていても良いし、直ちに第２のＪＶＯＬ１１５Ｂから削除されても良い。【０１３３】
実施例２によれば、実施例１よりも早くに業務を開始することができ、且つ、差分リシンク中にＤＶＯＬ１１３Ｂがライト許可状態であることにより生じ得る問題（最新のデータが書き込まれたブロックに、差分ＪＮＬ内の古いデータが書き込まれてしまうこと）も回避することができる。
【実施例３】
【０１３４】
実施例３では、差分リシンク中であっても、第２のホスト１０３Ｂが第２のＤＶＯＬ１１３Ｂからデータを読み出すことが許可されている（実施例１では、その読み出しは禁止されている）。具体的には、例えば、第２のＤＫＣ１１１Ｂは、図２６のＳ２６０７でＹＥＳとなることが判明したとき、第２のＤＶＯＬ１１３Ｂからデータを読み出すことを許可した状態とする。【０１３５】
しかし、この場合、何の工夫もされないと、以下の問題が生じ得る。すなわち、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクの最中に、第２のホスト１０３ＢがＤＶＯＬ１１３Ｂから読み出すデータが、最新のデータ（ＳＥＱ＃が最も大きい差分ＪＮＬが有するデータ）ではなく古いデータである可能性がある。【０１３６】
実施例３は、その問題を回避するために、第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクが行われることが確定した場合には、図３３に示す処理が行われる。【０１３７】
すなわち、第２のＤＫＣ１１１Ｂは、差分リシンクが完了するまでの間に、ＤＶＯＬ１１３Ｂを指定したリード要求を受信した場合（Ｓ３３０１）、ＣＭ６３０ＢにＣＭ領域を確保し（Ｓ３３０２）、差分リシンクは第３のストレージ１０５Ｃから第２のストレージ１０５Ｂへの差分リシンクであるか否かを判断する（Ｓ３３０３）。【０１３８】
この判断の結果が否定的の場合（Ｓ３３０３：ＮＯ）、第２のＤＫＣ１１１Ｂは、リード要求で指定されたリード元ブロック（ＤＶＯＬ１１３Ｂ内のブロック）からデータを読み出し、読み出したデータをＣＭ領域に書き、ＣＭ領域内のデータを第２のホスト１０３Ｂに送信する（Ｓ３３０７）。【０１３９】
Ｓ３３０３の判断の結果が肯定的の場合（Ｓ３３０３：ＹＥＳ）、第２のＤＫＣ１１１Ｂは、リード元ブロックが反映先となっている最新のＪＮＬが第２のＪＶＯＬ１１５Ｂにあるか否かを判断する（Ｓ３３０４）。ここで言う「最新のＪＮＬ」とは、第２及び第３のＪＶＯＬ１１５Ｂ及び１１５Ｃが有する１以上の差分ＪＮＬのうち、リード元ブロックが反映先となっている１以上のＪＮＬのいずれかであって、それら１以上のＪＮＬが有する１以上のＳＥＱ＃のうちの最大のＳＥＱ＃を有するＪＮＬである。従って、この判断のためには、第２のＤＫＣ１１１Ｂは、第３のＤＶＯＬ１１５Ｂ内の差分ＪＮＬが有するＳＥＱ＃を把握する。【０１４０】
この判断の結果が肯定的の場合（Ｓ３３０４：ＹＥＳ）、第２のＤＫＣ１１１Ｂは、第２のＪＶＯＬ１１５Ｂから最新のＪＮＬをＤＶＯＬ１１３Ｂ内のリード元ブロックに反映し（Ｓ３３０６）、その後、Ｓ３３０７を行う。なお、第２のＤＫＣ１１１Ｂは、差分リシンクにおいて、上記リード元ブロックが反映先である差分ＪＮＬであって、上記最新のＪＮＬより古い差分ＪＮＬ（最新のＪＮＬが有するＳＥＱ＃より小さいＳＥＱ＃を有するＪＮＬ）が取得されても、その差分ＪＮＬを、リード元ブロックに反映しない（例えば、そのＪＮＬを第２のＪＶＯＬ１１１Ｂからパージする）。また、Ｓ３３０４：ＹＥＳの場合のＳ３３０７において、第２のホスト１０３Ｂに送信されるデータは、第２のＤＶＯＬ１１３Ｂから提供されることに代えて、ＪＮＬから提供されても良い。【０１４１】
Ｓ３３０４の判断の結果が否定的の場合（Ｓ３３０４：ＮＯ）、第２のＤＫＣ１１１Ｂは、最新のＪＮＬのＳＥＱ＃を含んだリード要求を第３のストレージ１０５Ｃに送信することで、最新のＪＮＬを第３のストレージ１０５Ｃから受信し、その最新のＪＮＬを第２のＪＶＯＬ１１５Ｂに書き込む。つまり、第２のＤＫＣ１１１Ｂは、他のＪＮＬよりも優先して最新のＪＮＬを第３のストレージ１０５Ｃから取得する。その後、第２のＤＫＣ１１１Ｂは、上述のＳ３３０６及びＳ３３０７を行う。なお、Ｓ３３０４：ＮＯの場合のＳ３３０７でも、第２のホスト１０３Ｂに送信されるデータは、第２のＤＶＯＬ１１３Ｂから提供されることに代えて、ＪＮＬから提供されても良い。【０１４２】
実施例３によれば、実施例１よりも早くに業務を開始することができ、且つ、差分リシンク中にＤＶＯＬ１１３Ｂがリード許可状態であることにより生じ得る問題（第２のホスト１０３Ｃに最新のデータではなく古いデータが提供されてしまうこと）も回避することができる。
【実施例４】
【０１４３】
実施例４では、ストレージ１０５Ｂ及び１０５Ｃ間で全ての差分ＪＮＬの転送が行われなくても、差分リシンクを行うことができる。【０１４４】
例えば、図２６のＳ２６０６の次に、第２のＤＫＣ１１１Ｂが、差分ＪＮＬに相当する未反映ＪＮＬが旧ストレージに存在するか否かを判断する（Ｓ３４０１）。【０１４５】
ここで、「旧ストレージ」とは、ストレージ１０５Ｂ又は１０５Ｃであって、ＳＥＱ＃（２）及びＳＥＱ＃（３）のうちの小さい方のＳＥＱ＃をパージ可能ＳＥＱ＃として有するストレージ装置である。ストレージ１０５Ｂ及び１０５Ｃのうち旧ストレージではない方を、以下、「新ストレージ」と言う。【０１４６】
また、「差分ＪＮＬに相当する未反映ＪＮＬが旧ストレージに存在する」とは、図３５に示すように、旧ストレージ内のＪＶＯＬに、旧ストレージにおけるパージ可能ＳＥＱ＃より大きいＳＥＱ＃を有する未反映ＪＮＬが存在することである。【０１４７】
旧ストレージが第２のストレージ１０５Ｂの場合、例えば、第２のＪＶＯＬ１１５Ｂに少なくとも１つの未反映のＪＮＬがあれば、Ｓ３４０１の判断の結果は肯定的となる。【０１４８】
また、旧ストレージが第３のストレージ１０５Ｃの場合、例えば、第２のＤＫＣ１１１Ｂが、第３のＤＫＣ１１１Ｃに、１以上の未反映のＪＮＬにおける最新のＪＮＬが有するＳＥＱ＃が表す値を問い合わせることで、Ｓ３４０１の判断を行うことができる。具体的には、第２のＤＫＣ１１１Ｂは、第３のＤＣＫ１１１Ｃから回答されたＳＥＱ＃（以下、回答ＳＥＱ＃）と、ＳＥＱ＃（３）＋１とを比較することで、Ｓ３４０１の判断を行うことができる。回答ＳＥＱ＃が、ＳＥＱ＃（３）＋１以上であれば、Ｓ３４０１の判断の結果は肯定的となる。【０１４９】
Ｓ３４０１の判断の結果が否定的の場合（Ｓ３４０１：ＮＯ）、図２６のＳ２６０７が行われる。【０１５０】
Ｓ３４０１の判断の結果が肯定的の場合（Ｓ３４０１：ＮＯ）、第２のＤＫＣ１１１Ｂは、旧ストレージ内の未反映ＪＮＬが足りるか否かを判断する（Ｓ３４０２）。旧ストレージ内の最新の未反映ＪＮＬが有するＳＥＱ＃が、１以上の差分ＪＮＬのうちの最新のＪＮＬが有するＳＥＱ＃以上であれば、この判断の結果は肯定的となる。【０１５１】
この判断の結果が肯定的であれば（Ｓ３４０２：ＹＥＳ）、旧ストレージ内のＤＫＣは、旧ストレージ内の１以上の未反映のＪＮＬのうち、１以上の差分ＪＮＬに相当するＪＮＬを、全て、旧ストレージ内のＤＶＯＬに反映する（Ｓ３４０３）。もし、未反映ＪＮＬが余れば、旧ストレージ内のＤＫＣは、余ったＪＮＬをパージしても良い。【０１５２】
Ｓ３４０２の判断の結果が否定的であれば（Ｓ３４０２：ＮＯ）、Ｓ３４０４が行われる。すなわち、旧ストレージ内のＤＫＣは、不足分の差分ＪＮＬ（旧ストレージ内の未反映のＪＮＬと１以上の差分ＪＮＬとの差分に相当するＪＮＬ）を新ストレージから取得し、その差分ＪＮＬを、旧ストレージ内のＪＶＯＬに格納する。そして、旧ストレージ内のＤＫＣは、旧ストレージにおけるＪＶＯＬ内の未反映ＪＮＬ及び差分ＪＮＬを、全て、旧ストレージ内のＤＶＯＬに反映する。【０１５３】
以上、本発明の幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。【０１５４】
例えば、実施例１〜４のうちの２以上が組み合わされても良い。【０１５５】
また、例えば、上述の説明では、更新番号として、シーケンス番号（ＳＥＱ＃）が採用されているが、規則的に大きく或いは小さくなっていく他種の番号が採用されても良い。【０１５６】
また、例えば、実施例１〜４において、第１のストレージ１０５Ａが停止した場合、運用の切替え先のサイトにおける第２のストレージ１０５Ｂが、種々の処理（例えば、デルタリシンクが可能か否かの判断）を行うが、実施例１〜４の少なくとも１つにおいて、種々の処理のうちの少なくとも１つが、第３のストレージ１０５Ｃによって行われても良い。【０１５７】
また、例えば、全てのＪＮＬは、更新後のＳＥＱ＃を有するが、それに代えて、更新前のＳＥＱ＃を有しても良い。【０１５８】
また、例えば、ストレージ１０５Ａ〜１０５Ｃの少なくとも１つが、複数のＪＮＬグループがあっても良い。【０１５９】
また、例えば、ストレージ１０５Ａ〜１０５Ｃの少なくとも１つが、ＪＮＬグループに含まれる論理ボリューム以外の論理ボリュームを有していても良い。【０１６０】
また、例えば、ストレージ装置間のＪＮＬの転送は、コピー先のストレージ装置がコピー元のストレージ装置内のＪＶＯＬからＪＮＬを読み出すことによる転送と、コピー元のストレージ装置がコピー先のストレージ装置内のＪＶＯＬにＪＮＬを書き込むことによる転送のどちらであっても良い。
【符号の説明】
【０１６１】
１０１Ａ…第１のストレージ装置  １０１Ｂ…第２のストレージ装置  １０１Ｃ…第３のストレージ装置
【図１】
2011125126.tif 000003
【図２】
2011125126.tif 000004
【図３】
2011125126.tif 000005
【図４】
2011125126.tif 000006
【図５】
2011125126.tif 000007
【図６】
2011125126.tif 000008
【図７】
2011125126.tif 000009
【図８】
2011125126.tif 000010
【図９】
2011125126.tif 000011
【図１０】
2011125126.tif 000012
【図１１】
2011125126.tif 000013
【図１２】
2011125126.tif 000014
【図１３】
2011125126.tif 000015
【図１４】
2011125126.tif 000016
【図１５】
2011125126.tif 000017
【図１６】
2011125126.tif 000018
【図１７】
2011125126.tif 000019
【図１８】
2011125126.tif 000020
【図１９】
2011125126.tif 000021
【図２０】
2011125126.tif 000022
【図２１】
2011125126.tif 000023
【図２２】
2011125126.tif 000024
【図２３】
2011125126.tif 000025
【図２４】
2011125126.tif 000026
【図２５】
2011125126.tif 000027
【図２６】
2011125126.tif 000028
【図２７】
2011125126.tif 000029
【図２８】
2011125126.tif 000030
【図２９】
2011125126.tif 000031
【図３０】
2011125126.tif 000032
【図３１】
2011125126.tif 000033
【図３２】
2011125126.tif 000034
【図３３】
2011125126.tif 000035
【図３４】
2011125126.tif 000036
【図３５】
2011125126.tif 000037
【国際調査報告】
2011125126.tif 000038
2011125126.tif 000039