(57)【要約】【課題】整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム製品、システム、および方法を提供する。【解決手段】整合した第１と第２のポイントインタイム・スナップ・コピー・ボリュームの非同期のローカル生成およびリモート生成は、１次システムの１次ボリュームの第１のポイントインタイム・スナップ・コピー・ボリュームを１次システムで生成すること、および２次システムで２次ボリュームを利用する第２のポイントインタイム・スナップ・コピー・ボリュームを２次システムで生成することを行う。同期ロジックは、１次システムの１次ボリュームと２次システムの２次ボリュームとの間の非同期ミラーリング関係にもかかわらず、特定のポイントインタイム時点で互いに整合するように第１と第２のポイントインタイム・スナップ・コピー・ボリュームを同期する。【選択図】図１０
2020502635.tif 000002
【特許請求の範囲】
【請求項１】
第１の場所にあるホストおよび１次ストレージ・システムであって、前記１次ストレージ・システムが、１次ストレージ・コントローラ、および前記１次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第１のストレージ・ユニットを有する、前記ホストおよび前記１次ストレージ・システムと、前記第１の場所から離れた第２の場所にある２次ストレージ・システムであって、前記２次ストレージ・システムが、２次ストレージ・コントローラ、および前記２次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第２のストレージ・ユニットを有する、前記２次ストレージ・システムと、によって使用するための前記１次ストレージ・コントローラであって、前記１次ストレージ・コントローラが、
前記第１のストレージ・ユニットの第１のデータ・ユニットから前記第２のストレージ・ユニットの第２のデータ・ユニットにデータを非同期的にミラーリングするように構成されるデータ・ミラーリング・ロジックと、
前記第１のデータ・ユニットの第１のポイントインタイム・スナップ・コピーを行うために、第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを前記第１のストレージ・ユニットの第３のデータ・ユニットにコピーするように構成されるローカル・データ・コピー・ロジックと、
前記第２のデータ・ユニットの第２のポイントインタイム・スナップ・コピーを行うために、第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを前記第２のストレージ・ユニットの第４のデータ・ユニットにコピーするように、前記２次ストレージ・システムにコマンドを発行するように構成されるコマンド・ロジックと
を含む、整合したローカル・コピーおよびリモート・コピーの生成ロジックを含み、
前記第３のデータ・ユニットと前記第４のデータ・ユニットの両方が、前記第１のポイントインタイム時点の前記第１のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送することを含む、前記第１のポイントインタイム時点の前記第４のデータ・ユニットのデータを前記第１のデータ・ユニットに同期するように構成される同期ロジックを、前記１次ストレージ・コントローラの前記データ・ミラーリング・ロジックが含む、
ストレージ・システム。
【請求項２】
前記コマンド・ロジックが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを前記第３のデータにコピーする第１のポイントインタイム・スナップ・コピー・コマンドを、前記ローカル・データ・コピー・ロジックに発行するようにさらに構成され、前記ローカル・データ・コピー・ロジックが、前記第１のデータ・ユニットの前記第１のポイントインタイム・スナップ・コピーを行うために、前記第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを前記第３のデータ・ユニットにコピーする、第１のポイントインタイム・スナップ・コピー・コマンドを実行するようにさらに構成され、
前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックが、前記第１のデータ・ユニットへのホスト入力を休止すること、および前記第１のデータ・ユニットへのホスト入力を休止した後、前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングをアイドリングさせることを行うように構成される中断ロジックをさらに含む、
請求項１に記載のストレージ・システム。
【請求項３】
前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記ローカル・データ・コピー・ロジックが、前記第１のポイントインタイム・スナップ・コピー・コマンドを実行する際に、前記第１のポイントインタイム時点で前記第１のデータ・ユニットから前記第３のデータ・ユニットに転送されていないトラックを示す第１のターゲット・ビットマップを生成するようにさらに構成され、
前記第１のデータ・ユニットから前記第２のデータ・ユニットにデータをミラーリングする際に、前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記データ・ミラーリング・ロジックが、前記第１のデータ・ユニットから前記第２のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第１の同期喪失ビットマップを生成するようにさらに構成される、
請求項２に記載のストレージ・システム。
【請求項４】
前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記データ・ミラーリング・ロジックが、前記第４のデータ・ユニットにまだミラーリングされていないトラックがあることを示すために、前記第１の同期喪失ビットマップを第２の同期喪失ビットマップにコピーするようにさらに構成され、
第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを前記第２のストレージ・ユニットの第４のデータ・ユニットにコピーするように、前記２次ストレージ・システムにコマンドを発行する際の前記コマンド・ロジックが、前記第２のデータ・ユニットから前記第４のデータ・ユニットに転送されていないトラックを示す第２のターゲット・ビットマップを生成するように、前記２次ストレージ・システムに第２のポイントインタイム・スナップ・コピー・コマンドを発行するようにさらに構成される、
請求項３に記載のストレージ・システム。
【請求項５】
前記１次ストレージ・コントローラの前記中断ロジックが、前記第１のデータ・ユニットへのホスト入力を休止しないこと、および前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングを再開することを行うようにさらに構成される、請求項２に記載のストレージ・システム。
【請求項６】
前記２次ストレージ・システムに第２のポイントインタイム・スナップ・コピー・コマンドを前記コマンド・ロジックが発行する際に、前記２次ストレージ・コントローラの前記ローカル・データ・コピー・ロジックが、前記第２のデータ・ユニットから前記第４のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第２のターゲット・ビットマップが示す場合に、前記第２のデータ・ユニットのトラックを前記第４のデータ・ユニットにバックグラウンド・コピーするように前記２次ストレージ・システムに指令するようにさらに構成され、
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送する際の前記データ・ミラーリング・ロジックの前記同期ロジックが、前記第４のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第２の同期喪失ビットマップを処理すること、ならびに前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることを行うようにさらに構成される、
請求項４に記載のストレージ・システム。
【請求項７】
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送する際の前記データ・ミラーリング・ロジックの前記同期ロジックが、前記第１のデータ・ユニットから前記第３のデータ・ユニットにデータ・トラックが転送されていないことを前記第１のターゲット・ビットマップが示す場合に、前記第３のデータ・ユニットの前記データ・トラックのデータを前記第１のデータ・ユニットから得ること、および前記データを前記第４のデータ・ユニットにミラーリングすることを行うようにさらに構成され、
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーする際の前記１次ストレージ・コントローラの前記ローカル・データ・コピー・ロジックが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットと前記第３のデータ・ユニットとの整合性グループを形成するようにさらに構成される、
請求項６に記載のストレージ・システム。
【請求項８】
前記第１のデータ・ユニットが第１のボリュームであり、前記第２のデータ・ユニットが第２のボリュームである、請求項１に記載のストレージ・システム。
【請求項９】
第１の場所にある第１のストレージ・ユニットに格納された第１のデータ・ユニットから第２の場所にある第２のストレージ・ユニットに格納された第２のデータ・ユニットにデータを非同期的にミラーリングすることと、
前記第１のデータ・ユニットの第１のポイントインタイム・スナップ・コピーを始めるために、第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることと、
前記第２のデータ・ユニットの第２のポイントインタイム・スナップ・コピーを始めるために、第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることと、
前記第１のポイントインタイム時点の前記第１のユニットのデータに前記第４のデータ・ユニットの前記データを同期することであって、前記同期することが、前記第３のデータ・ユニットと前記第４のデータ・ユニットの両方が、前記第１のポイントインタイム時点の前記第１のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータをコピーすることを含む、前記同期することと
を含む、方法。
【請求項１０】
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることが、第１のポイントインタイム・スナップ・コピー・コマンドを実行することを含み、前記方法が、
前記第１のデータ・ユニットへのホスト入力を休止することと、
前記第１のデータ・ユニットへのホスト入力／出力を休止した後、前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングをアイドリングさせることと
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記第１のポイントインタイム・スナップ・コピー・コマンドを実行することが、前記第１のポイントインタイム時点で前記第１のデータ・ユニットから前記第３のデータ・ユニットに転送されていないトラックを示す第１のターゲット・ビットマップを生成することを含み、
前記第１のデータ・ユニットから前記第２のデータ・ユニットにデータをミラーリングすることが、前記第１のデータ・ユニットから前記第２のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第１の同期喪失ビットマップを生成することを含む、
請求項１０に記載の方法。
【請求項１２】
前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにまだ転送されていない選択されたトラックがあることを示すために、第２の同期喪失ビットマップに前記第１の同期喪失ビットマップをコピーすることをさらに含み、前記第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることが、前記第２のポイントインタイム時点で前記第２のデータ・ユニットから前記第４のデータ・ユニットに転送されていないトラックを示す第２のターゲット・ビットマップを生成する、第２のポイントインタイム・スナップ・コピー・コマンドを実行することを含む、請求項１１に記載の方法。
【請求項１３】
前記第１のデータ・ユニットへのホスト入力を休止しないことと、
前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングを再開することと
をさらに含む、請求項１０に記載の方法。
【請求項１４】
第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることが、前記第２のデータ・ユニットから前記第４のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第２のターゲット・ビットマップが示す場合に、前記第２のデータ・ユニットのトラックを前記第４のデータ・ユニットにバックグラウンド・コピーすることをさらに含み、
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送することが、前記第４のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第２の同期喪失ビットマップを処理すること、ならびに前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの前記少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることを含む、
請求項１２に記載の方法。
【請求項１５】
前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることが、前記第１のデータ・ユニットから前記第３のデータ・ユニットにデータ・トラックが転送されていないことを前記第１のターゲット・ビットマップが示す場合に、前記第３のデータ・ユニットの前記データ・トラックのデータを前記第１のデータ・ユニットから得ること、および前記得られたデータを前記第４のデータ・ユニットにミラーリングすることを含み、
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットと前記第３のデータ・ユニットとの整合性グループを形成することを含む、
請求項１４に記載の方法。
【請求項１６】
前記第１のデータ・ユニットが第１のボリュームであり、前記第２のデータ・ユニットが第２のボリュームである、請求項９に記載の方法。
【請求項１７】
コンピュータ・プログラムであって、第１の場所にあるホストおよび１次ストレージ・システムであって、前記１次ストレージ・システムが、１次ストレージ・コントローラ、および前記１次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第１のストレージ・ユニットを有する、前記ホストおよび前記１次ストレージ・システムと、前記第１の場所から離れた第２の場所にある２次ストレージ・システムであって、前記２次ストレージ・システムが、２次ストレージ・コントローラ、および前記２次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第２のストレージ・ユニットを有する、前記２次ストレージ・システムと、によって使用するための前記コンピュータ・プログラムであって、前記コンピュータ・プログラムが、プロセッサに、
第１の場所にある第１のストレージ・ユニットに格納された第１のデータ・ユニットから第２の場所にある第２のストレージ・ユニットに格納された第２のデータ・ユニットにデータを非同期的にミラーリングすることと、
前記第１のデータ・ユニットの第１のポイントインタイム・スナップ・コピーを始めるために、第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることと、
前記第２のデータ・ユニットの第２のポイントインタイム・スナップ・コピーを始めるために、第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることと、
前記第１のポイントインタイム時点の前記第１のユニットのデータに前記第４のデータ・ユニットの前記データを同期することであって、前記同期することが、前記第３のデータ・ユニットと前記第４のデータ・ユニットの両方が、前記第１のポイントインタイム時点の前記第１のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータをコピーすることを含む、前記同期することと
を実行させる、コンピュータ・プログラム。
【請求項１８】
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることが、第１のポイントインタイム・スナップ・コピー・コマンドを実行することを含み、前記実行させることが、
前記第１のデータ・ユニットへのホスト入力を休止することと、
前記第１のデータ・ユニットへのホスト入力／出力を休止した後、前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングをアイドリングさせることと
をさらに含む、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記第１のポイントインタイム・スナップ・コピー・コマンドを実行することが、前記第１のポイントインタイム時点で前記第１のデータ・ユニットから前記第３のデータ・ユニットに転送されていないトラックを示す第１のターゲット・ビットマップを生成することを含み、
前記第１のデータ・ユニットから前記第２のデータ・ユニットにデータをミラーリングすることが、前記第１のデータ・ユニットから前記第２のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第１の同期喪失ビットマップを生成することを含む、
請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記実行させることが、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにまだ転送されていない選択されたトラックがあることを示すために、第２の同期喪失ビットマップに前記第１の同期喪失ビットマップをコピーすることをさらに含み、前記第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることが、前記第２のポイントインタイム時点で前記第２のデータ・ユニットから前記第４のデータ・ユニットに転送されていないトラックを示す第２のターゲット・ビットマップを生成する、第２のポイントインタイム・スナップ・コピー・コマンドを実行することを含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２１】
前記実行させることが、
前記第１のデータ・ユニットへのホスト入力を休止しないことと、
前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングを再開することと
をさらに含む、請求項１８に記載のコンピュータ・プログラム。
【請求項２２】
第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることが、前記第２のデータ・ユニットから前記第４のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第２のターゲット・ビットマップが示す場合に、前記第２のデータ・ユニットのトラックを前記第４のデータ・ユニットにバックグラウンド・コピーすることをさらに含み、
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送することが、前記第４のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第２の同期喪失ビットマップを処理すること、ならびに前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの前記少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることを含む、
請求項２０に記載のコンピュータ・プログラム。
【請求項２３】
前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることが、前記第１のデータ・ユニットから前記第３のデータ・ユニットにデータ・トラックが転送されていないことを前記第１のターゲット・ビットマップが示す場合に、前記第３のデータ・ユニットの前記データ・トラックのデータを前記第１のデータ・ユニットから得ること、および前記得られたデータを前記第４のデータ・ユニットにミラーリングすることを含み、
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットと前記第３のデータ・ユニットとの整合性グループを形成することを含む、
請求項２２に記載のコンピュータ・プログラム。
【請求項２４】
前記第１のデータ・ユニットが第１のボリュームであり、前記第２のデータ・ユニットが第２のボリュームである、請求項１７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、整合したポイントインタイム（point-in-time）スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム製品、システム、および方法に関する。
【背景技術】
【０００２】
データ・ストレージ・システムは、特に企業レベルにおいて通常、データ・ストレージ・システムの構成要素の故障時に、データ損失のリスクを減少させるために高レベルの冗長性をもたらすようにデザインされる。したがって、地理的に拡散できる複数のシステム上にデータの複数のコピーが頻繁に格納される。したがって、典型的にはデータ・ストレージ・システムに格納されることになるホストからのデータはローカル・サイトにある１次システムに振り向けられ、その後、１次システムから地理的に遠く離れたシステムであり得る２次システムに複製される。
【０００３】
２次システムにデータを複製する処理、すなわちコピーする処理は、１次システムと２次システムの間の同期関係または非同期関係でセットアップされてよい。同期関係では、典型的には１次システムに対する任意の更新は２次システムと同期され、すなわちデータ・ストレージの入力／出力動作が成功裏に完了したことを１次システムがホストにレポートする前に、２次システムに成功裏にコピーされる。結果として同期関係における１次ストレージ・システムおよび２次システムに対するデータ・ストレージは、同期コピー動作の完了をホストが待つ間、ホストのシステム性能に悪影響を及ぼすことがある。１次システムと２次システムが大きく隔てられるストレージ・システムにおいて、同期コピー動作の完了への遅延は大きくなることがあり、これはホスト性能にさらに悪影響を及ぼす可能性がある。例えば３００キロメートル（Ｋｍ）以上の地理的距離で１次システムと２次システムが隔てられるストレージ・システムにおいて、例えば２次システムでデータが成功裏に複製されるまでに３秒〜５秒（またはそれ以上）の遅延がある可能性がある。
【０００４】
結果としてストレージ・システムは、特に２次システムが１次システムから地理的に遠い場合、１次システムと２次システムの間の非同期関係を頻繁に採用する。非同期関係では、典型的には１次システムへの更新が成功すると、２次システムへの複製の更新を待たずに、ストレージの入力／出力動作が成功したものとしてホストにレポートされる。結果としてホストは、完了のために２次システムへのデータ複製を待つ必要がなく、ホスト・システムの性能はそれ相応に向上する可能性がある。
【０００５】
名前が示唆するように非同期関係では、１次システムと２次システムは、どの時点においても完全に同期されない可能性がある。したがって、典型的には２次システムに格納されたデータは、１次システムに格納されたデータより遅れる。したがって、１次システムに格納された新しいデータは、例えば３秒〜５秒などの時間の間、２次システムに格納されない可能性がある。
【０００６】
データ複製システムでは、典型的にはデータは、１次ストレージ・デバイス内の１次ボリューム、および１次ボリュームに維持されるデータの同一コピーを含む２次ストレージ・デバイス内の対応する２次ボリュームを備えるボリュームのペアの中に維持される。１次ボリュームおよび２次ボリュームは、ソース・ボリュームとも呼ばれる１次ボリュームのデータが、ターゲット・ボリュームとも呼ばれる２次ボリュームにコピーされるコピー関係によって識別される。１次ストレージ・デバイスおよび２次ストレージ・デバイスへのアクセスを制御するために、１次ストレージ・コントローラおよび２次ストレージ・コントローラが使用されることがある。
【０００７】
例えばＩＢＭ（Ｒ）  ＦｌａｓｈＣｏｐｙ（Ｒ）機能などの、ポイントインタイム・スナップ・コピー機能を使用して、ボリュームのほぼ同時のコピーが生成され得る。ポイントインタイム・スナップ・コピー機能は、ポイントインタイム・スナップ・コピー・ボリュームと呼ばれることがあるターゲット・ボリュームに、特定の時点のソース・ボリュームの内容の「スナップショット」を作り出す。ポイントインタイム・スナップ・コピー機能の１つのバージョンは、ポイントインタイム・スナップ・コピー・ボリュームにソース・ボリュームの内容をバックグラウンド・コピー動作で転送する。
【０００８】
ポイントインタイム・スナップ・コピー・ボリュームにまだ転送されていないトラックを示すために、ポイントインタイム・スナップ・コピー・ボリュームの各トラックに対するビットを有するターゲット・ビットマップが使用される。ソース・ボリュームの各トラックの内容はターゲット・ボリュームにコピーされるので、ターゲット・ビットマップの対応ビットは、関連トラックの内容の転送が成功したことを示すように更新される。ソース・ボリュームの対応トラックの内容をまだ受け取ってないポイントインタイム・スナップ・コピー・ボリュームのトラックを対象とする任意の読取動作は、ソース・ボリュームからこのトラックの内容を得るためにリダイレクトされる。したがって、ポイントインタイム・スナップ・コピー・ボリュームの内容は、ターゲット・ボリュームに任意のトラックが実際に転送される前に、間接的とはいえ、すぐに利用できる。逆に、ソース・ボリュームのトラックへの更新をホストが指図した後に、ポイントインタイム・スナップ・コピー・ボリュームにこのトラックの内容が転送されると、ソース・ボリュームのトラックの内容がポイントインタイム・スナップ・コピー・ボリュームに転送された後に、ソース・ボリュームのこのトラックの内容を上書きする更新が許可される。
【０００９】
ポイントインタイム・スナップ・コピー機能の別のバージョンは、バックグラウンド・コピー動作を省略する。したがって、ソース・ボリュームの内容は、ポイントインタイム・スナップ・コピー・ボリュームにバックグラウンド・コピー動作で転送されない。したがって、ポイントインタイム・スナップ・コピー・ボリュームのトラックを対象とする任意の読取動作は通常、ソース・ボリュームからこのトラックの内容を得るためにリダイレクトされる。しかし、ソース・ボリュームのトラックへの更新をホストが指図する場合、ソース・ボリュームのトラックの内容がポイントインタイム・スナップ・コピー・ボリュームに転送された後に、ソース・ボリュームのこのトラックの内容を上書きする更新が許可される。
【００１０】
同期型データ複製システムでは、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の１次ボリュームの内容について、１次システムにある１次ボリュームから作られてよく、ポイントインタイム・スナップ・コピー・ボリュームは、同じポイントインタイム時点の２次ボリュームの内容について、２次システムにある２次ボリュームから作られてよい。１次ボリュームと２次ボリュームは同期されるので、個々のポイントインタイム・スナップ・コピー・ボリュームも同期されることになり、したがって異なる場所、すなわち１次システムおよび２次システムでポイントインタイム・スナップ・コピー・ボリュームが作られるにもかかわらず、互いに一致する。
【００１１】
非同期型データ複製システムでは、ポイントインタイム・スナップ・コピー・ボリュームも、特定のポイントインタイム時点の１次ボリュームの内容について、１次システムにある１次ボリュームから作られてよい。同様に、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の２次ボリュームの内容について、２次システムにある２次ボリュームから作られてよい。しかし、１次ボリュームと２次ボリュームは同期されないので、個々のポイントインタイム・スナップ・コピー・ボリュームも同期されないことになり、したがって互いに一致しないことになる。したがって、１次システムにある１次ボリュームのポイントインタイム・スナップ・コピー・ボリュームのバックアップ・コピーを行うために、１次システムで生成されたポイントインタイム・スナップ・コピー・ボリュームは、典型的にはネットワークで２次システムに転送される。
【００１２】
２次システムにある複数のボリュームにわたるデータのある程度の整合性を維持するために、ＩＢＭ（Ｒ）  ＴｏｔａｌＳｔｏｒａｇｅ（Ｒ）ディスク・サブシステムのピアツーピア・リモート・コピー（ＰＰＲＣ：Peer-to-Peer Remote Copy）機能は、ＰＰＲＣ整合性グループの概念をサポートする。ＰＰＲＣ整合性グループの中に構成されるＰＰＲＣ関係におけるボリュームは、１次システムにあるボリュームに対して行われる更新のグループが、グループのこれらのボリュームのデータ整合性を維持するために２次システムにあるボリュームに対しても最終的に行われることを保証するように維持される。したがって、整合性グループは、１次システムと２次システムの間の全体的な非同期関係にもかかわらず、更新の特定のセットまたは特定の時点について整合した１次システムと２次システムのボリューム間で形成されてよい。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従って本発明が解決しようとする課題は、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を行う方法、システム、およびコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【００１４】
本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成の１つの一般的な態様は、例えば１次システムなどの、第１の場所にある第１のストレージ・ユニットに格納された１次ボリュームなどの第１のデータ・ユニットから、例えば２次システムなどの、第２の場所にある第２のストレージ・ユニットに格納された２次ボリュームなどの第２のデータ・ユニットにデータを非同期的にミラーリングすることを含む。第１のデータ・ユニットのデータは、第１のデータ・ユニットの第１のポイントインタイム・スナップ・コピーを始めるために、第１のポイントインタイム時点で第３のデータ・ユニットにコピーされる。さらに、第２のデータ・ユニットのデータは、第２のデータ・ユニットの第２のポイントインタイム・スナップ・コピーを始めるために、第２のポイントインタイム時点で第４のデータ・ユニットにコピーされる。本説明の１つの態様において、第４のデータ・ユニットのデータは、第１のポイントインタイム時点の第１のユニットのデータに同期され、同期することは、第１のデータ・ユニットおよび第３のデータ・ユニットのうちの少なくとも１つから第４のデータ・ユニットに、選択されたデータをコピーすることを含む。結果として、第３のデータ・ユニットと第４のデータ・ユニットの両方は、第１のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを生成するための、１次システムと２次システムの間のネットワークで転送されるデータ量を減少させると同時に、第１のポイントインタイム時点の第１のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行う。
【００１５】
１つの実施形態において、第１のポイントインタイム時点の第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることは、第１のポイントインタイム・スナップ・コピー・コマンドを実行することを含み、第１のポイントインタイム・スナップ・コピー・コマンドを実行することは、第１のポイントインタイム時点で第１のデータ・ユニットから第３のデータ・ユニットにコピーされていないトラックを示す第１のターゲット・ビットマップを生成することを含む。したがって、第１のポイントインタイム時点の第１のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うための第３のデータ・ユニットのデータは、１次システム内のデータ転送によって得られてよい。
【００１６】
本説明のさらに別の態様において、動作は、第１のデータ・ユニットへのホスト入力を休止すること、および第１のデータ・ユニットへのホスト入力／出力を休止した後、第１のデータ・ユニットから第２のデータ・ユニットへのデータのミラーリングをアイドリングさせることを含む。本説明の別の態様において、第１のデータ・ユニットから第２のデータ・ユニットにデータをミラーリングすることは、第１のデータ・ユニットから第２のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第１の同期喪失（out-of-synch）ビットマップを生成することを含む。（第１のポイントインタイム時点の）第１の同期喪失ビットマップは、第１のデータ・ユニットおよび第３のデータ・ユニットのうちの少なくとも１つから第４のデータ・ユニットにまだコピーされてない選択されたトラックがあることを示すために、第２の同期喪失ビットマップにコピーされてよい。第２のポイントインタイム時点の第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることは、第２のポイントインタイム時点で第２のデータ・ユニットから第４のデータ・ユニットにコピーされていないトラックを示す第２のターゲット・ビットマップを生成する、第２のポイントインタイム・スナップ・コピー・コマンドを実行することを含むことができる。１つの実施形態において、ビットマップの生成に続いて、動作は、第１のデータ・ユニットへのホスト入力を休止しないことを含むことができる。さらに、第１のデータ・ユニットから第２のデータ・ユニットへのデータのミラーリングが再開されてよい。結果として、１次システムへの更新は、第１のポイントインタイム時点の第１のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うために、第３のデータ・ユニットおよび第４のデータ・ユニットが生成されている間に２次システムにミラーリングされてよい。
【００１７】
さらに別の態様において、第２のターゲット・ビットマップは、第２のターゲット・ビットマップによって示されるように、第２のデータ・ユニットから第４のデータ・ユニットにトラックをコピーするために処理されてよい。１つの実施形態において、第２のポイントインタイム時点の第２のデータ・ユニットのデータを第４のデータ・ユニットにこのようにコピーすることは、第２のデータ・ユニットから第４のデータ・ユニットにまだコピーされていないデータ・トラックがあることを第２のターゲット・ビットマップが示す場合に、第２のデータ・ユニットのトラックを第４のデータ・ユニットにバックグラウンド・コピーすることをさらに含むことができる。したがって、第１のポイントインタイム時点の第１のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うための第４のデータ・ユニットのデータは、２次システム内のデータ転送によって主に得られてよい。
【００１８】
本説明の別の態様において、第１のポイントインタイム時点で第４のデータ・ユニットのデータを、第１のデータ・ユニットの選択されたデータに同期するために、第１のデータ・ユニットおよび第３のデータ・ユニットのうちの少なくとも１つから第４のデータ・ユニットに、選択されたデータをコピーすることは、第４のデータ・ユニットにまだミラーリングされていないものとして示される場合、第２の同期喪失ビットマップを処理すること、ならびに第１のデータ・ユニットおよび第３のデータ・ユニットのうちの少なくとも１つから第４のデータ・ユニットにトラックをミラーリングすることを含むことができる。１つの実施形態において、第１のデータ・ユニットおよび第３のデータ・ユニットのうちの少なくとも１つから第４のデータ・ユニットにトラックをミラーリングすることは、データ・トラックが第１のデータ・ユニットから第３のデータ・ユニットにコピーされていないことを第１のターゲット・ビットマップが示す場合に、第３のデータ・ユニットのデータ・トラックのデータを第１のデータ・ユニットから得ること、および得られたデータを第４のデータ・ユニットにミラーリングすることを含む。第１のポイントインタイム時点の第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることは、第１のポイントインタイム時点の第１のデータ・ユニットと第３のデータ・ユニットとの整合性グループを形成することを含むことができる。結果として、ターゲット・ビットマップおよび同期喪失ビットマップは、１次システムと２次システムの間のネットワークで転送されるデータ量を減少させると同時に、第１のポイントインタイム時点の第１のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うために、１次システムと２次システムのデータ・ユニットを同期するように組み合わせて使用されてよい。
【００１９】
説明された技法の実装形態は、ハードウェア、方法もしくは処理、またはコンピュータ・アクセス可能媒体上のコンピュータ・ソフトウェアを含むことができる。他の特徴および態様は、特定の用途に応じて実現されてよい。
【図面の簡単な説明】
【００２０】
【図１】本説明の１つの態様による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用するコンピューティング環境の実施形態を示す図である。
【図２】本説明の１つの態様による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用する１次システムおよび２次システムを有するストレージ・システムの例を示す図である。
【図３】図１のストレージ・システムにおけるホストの例を示す図である。
【図４】本説明の１つの態様による、整合したローカル・コピーおよびリモート・コピーの生成ロジックの実施形態を示す図である。
【図５】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。
【図６】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。
【図７】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。
【図８】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。
【図９】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。
【図１０】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作の例を描写する図である。
【図１１】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作の別の例を描写する図である。
【図１２】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作のさらに別の例を描写する図である。
【図１３】図４の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作の別の例を描写する図である。
【図１４】本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用するコンピュータの実施形態を示す図である。
【発明を実施するための形態】
【００２１】
動作中に、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のための動作をシステムに行わせる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せを有することによって、本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のための、１つまたは複数のコンピュータのシステムが構成されてよい。例えば、１つまたは複数のコンピュータ・プログラムは、データ処理装置によって実行されると、装置にアクションを行わせる命令を含むことによって、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を行うように構成されてよい。
【００２２】
前述の通り、非同期型データ複製システムでは、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の１次ボリュームの内容について、１次システムにある１次ボリュームから作られてよい。同様に、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の２次ボリュームの内容について、２次システムにある２次ボリュームから作られてよい。しかし、１次ボリュームおよび２次ボリュームは、非同期ミラーリング関係においてたびたび完全に同期されるわけではないので、個々のポイントインタイム・スナップ・コピー・ボリュームも同期されないことになり、したがって互いに一致しないことになる。したがって、１次システムにある１次ボリュームのポイントインタイム・スナップ・コピー・ボリュームのバックアップ・コピーを行うため、および２次システムにバックアップ・コピーを格納するために、１次システムで以前に生成されたポイントインタイム・スナップ・コピー・ボリュームは、ネットワークで２次システムに転送された。
【００２３】
本説明の１つの態様によれば、多くの応用例において、２次システムでポイントインタイム・スナップ・コピー・ボリュームを形成するデータの大部分は、非同期ミラーリング関係により、２次システムに既にあるということが認識されている。したがって、本説明の１つの実施形態による、整合した第１および第２のポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成は、様々なサイトにある整合した第１および第２のポイントインタイム・スナップ・コピーを作り出す際に、ネットワークでのデータの転送の多くを未然に防ぐことができる。本説明の１つの実施形態による、整合した第１および第２のポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成は、１つの実施形態において「非バックグラウンド・コピー」タイプの関係であり得るポイントインタイム・スナップ・コピー関係に従って、１次システムの第１のポイントインタイム・スナップ・コピー・ボリュームに１次システムの１次ボリュームからデータをコピーすること、および１つの実施形態において、バックグラウンド・コピー・タイプの関係であり得るポイントインタイム・スナップ・コピー関係に従って、２次システムの第２のポイントインタイム・スナップ・コピー・ボリュームに２次システムの２次ボリュームからデータをコピーすることを行う。結果として、２次システムにある第２の整合したポイントインタイム・スナップ・コピー・ボリュームのデータは、２次システム内のデータ転送によって主に得られてよい。同様に、１次システムにある第１の整合したポイントインタイム・スナップ・コピー・ボリュームのデータは、１次システム内のデータ転送によって得られてよい。
【００２４】
しかし、ミラーリング関係が非同期関係である場合、いくつかの事例において、第２の整合したポイントインタイム・スナップ・コピー・ボリュームのデータのすべてが、２次システム上で見つかる可能性があるわけではないということがさらに理解される。したがって、１つの実施形態において、同期ロジックは、１次ボリュームから直接的に、または１次システムの第１のポイントインタイム・スナップ・コピー・ボリュームを通じて間接的に得られた１次システムの１次ボリュームの追加データに、第１のポイントインタイム時点の２次システムの第２のポイントインタイム・スナップ・コピー・ボリュームを同期する。このように、第２のポイントインタイム・スナップ・コピー・ボリュームは、これが、特定のポイントインタイム時点の第１のポイントインタイム・スナップ・コピー・ボリュームと一致するように完成されてよい。結果として、１次ボリュームのデータの整合したポイントインタイム・スナップ・コピーを生成するための、１次システムと２次システムの間のネットワークで転送されるデータ量は減少する可能性がある。
【００２５】
動作中に、整合したポイントインタイム・スナップ・コピー動作の非同期のローカル生成およびリモート生成をシステムに行わせる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せを有することによって、本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のための、１つまたは複数のコンピュータのシステムが構成されてよい。したがって、本明細書で説明される動作は、手動で行われるものとして示される場合を除いて、システム・オペレータの介入がほとんどないか、または何もなく、自動的または実質的に自動的に動作を行うように構成されるロジックによって行われる。したがって、本明細書で使用されるように、用語「自動的な（automatic）」は、完全に自動的な、を両方含み、これは、グラフィカル・ユーザ選択インターフェースへのユーザ入力などの人間の介入のない、１つまたは複数のハードウェアまたはソフトウェア制御の機械によって行われる動作である。本明細書で使用されるように、用語「自動的な（automatic）」は、主に自動的な、をさらに含み、すなわち、（例えば５０％より多いなど）動作の大部分が、グラフィカル・ユーザ選択インターフェースへのユーザ入力などの人間の介入がない、１つまたは複数のハードウェアまたはソフトウェア制御の機械によって行われ、（例えば５０％より少ない）動作の残りが手動で行われる、すなわち、動作の実行を指図するために、グラフィカル・ユーザ選択インターフェースへのユーザ入力などの人間の介入がある、１つまたは複数のハードウェアまたはソフトウェア制御の機械によって手動の動作が行われる。
【００２６】
本明細書で説明された機能要素の多くは、これらの実装形態の独立性を特に強調するために「ロジック」と呼ばれる。例えば、ロジック要素は、カスタムＶＬＳＩ回路もしくはゲート・アレイ、ロジック・チップ、トランジスタ、または他の個別の構成要素などの市販の半導体を含むハードウェア回路として実装されてよい。ロジック要素は、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル論理デバイス、または同様のものなどの、プログラマ可能なハードウェア・デバイスに実装されてもよい。
【００２７】
ロジック要素は、様々なタイプのプロセッサによって実行するためのソフトウェアに実装されてもよい。実行可能コードを含むロジック要素は、例えば、オブジェクト、手続き、または関数として編成され得る、例えば、コンピュータ命令の１つまたは複数の物理ブロックまたは論理ブロックを含むことができる。それでも、識別されたロジック要素の実行可能なものは一緒に物理的にある必要はなく、論理的に一緒に結合されると、ロジック要素を含み、ロジック要素の決められた目的を実現する、様々な場所に格納された完全に異なる命令を含むことができる。
【００２８】
実際は、ロジック要素のための実行可能コードは、単一の命令または多くの命令でよく、様々なプログラム中の、様々なプロセッサ中の、およびいくつかのメモリ・デバイスにわたる、いくつかの様々なコード・セグメントにわたって分散されてもよい。同様に、動作可能データは、本明細書においてロジック要素内で識別され、示されてよく、任意の適切な形で具現化され、任意の適切なタイプのデータ構造の中で編成されてよい。動作可能データは、単一のデータ・セットとして収集されてよく、または様々なストレージ・デバイスにわたることを含む様々な場所にわたって分散されてもよい。
【００２９】
図示の実施形態において、コピー関係は、１次ストレージの場所などのソース・ストレージの場所、およびソース・ストレージの場所に格納されたデータが複製されるか、そうでなければターゲット・ストレージの場所にコピーされることになる、２次ストレージの場所などのターゲット・ストレージの場所を識別する。したがって、本明細書で使用されるように、ソース・ストレージの場所およびターゲット・ストレージの場所は、コピー関係によって結びつけられたストレージの場所である。
【００３０】
さらに、本明細書で使用されるように、用語「ストレージ・ユニット」は、１つもしくは複数のボリューム、シリンダ、トラック、セグメント、エクステント、もしくはこれらの任意の部分などのデータ・ストレージの１つもしくは複数のユニット、または転送に適したデータの他のユニットもしくは複数のユニットを収めるストレージの場所を指す。したがって、ソース・ストレージ・ユニットおよび関連付けられたターゲット・ストレージ・ユニットはそれぞれ、ストレージ・ボリュームでよい。しかし、ソース・ストレージ・ユニットおよびターゲット・ストレージ・ユニットはそれぞれ、例えばボリューム以外の大きさのものでよいということが理解される。
【００３１】
説明された技法の実装形態は、ハードウェア、方法もしくは処理、またはコンピュータ・アクセス可能媒体上のコンピュータ・ソフトウェアを含むことができる。図１は、本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用するコンピューティング環境の実施形態を示す。複数のホスト２ａ、２ｂ．．．２ｎは、１つまたは複数のストレージ・ドライブ１０、１０ａ（図２）、１０ｂ（図２）によって表されるストレージ内の（例えば、論理ユニット番号、論理デバイス、論理サブシステム、等といった）ボリューム８のデータにアクセスするために、ネットワーク６で１つまたは複数のストレージ・コントローラまたはストレージ制御ユニット４、４ａ（図２）、４ｂ（図２）に入力／出力（Ｉ／Ｏ：Input/Output）リクエストをサブミットすることができる。各ストレージ・コントローラ４、４ａ、４ｂは、１つまたは複数のプロセッサすなわち中央処理装置を含む、ＣＰＵ複合体１２（図１）を含み、それぞれのプロセッサは、単一または複数のプロセッサ・コアを含む。本実施形態において、プロセッサ・コアは、例えば、算術論理演算装置（ＡＬＵ：arithmetic logic unit）、浮動小数点ユニット（ＦＰＵ：floating point unit）、または（Ｌ１およびＬ２キャッシュなどの）様々なレベルのキャッシュ、あるいはその組合せなどの、命令の実行に関わるＣＰＵの構成要素を収める。プロセッサ・コアは、本明細書で述べられたもの以外に、またはこれらの代わりに他のロジック要素を有することができるということが理解される。
【００３２】
図２に示される構成において、ストレージ・コントローラ４ａおよびデータ・ストレージ１０ａは、１次システム２４ａの１次ストレージ制御ユニットおよび１次ストレージとして、それぞれ構成されている。同様に、ストレージ・コントローラ４ｂおよびそのデータ・ストレージ１０ｂは、２次システム２４ｂの２次ストレージ制御ユニットおよび２次ストレージとして、それぞれ構成されている。したがって、図２に描写された構成において、ストレージ・コントローラ４ａは、１次ストレージ・コントローラまたは１次ストレージ制御ユニット４ａと呼ばれることになり、データ・ストレージ１０ａは、１次ストレージ１０ａと呼ばれることになる。同様に、ストレージ・コントローラまたはストレージ制御ユニット４ｂは、２次ストレージ・コントローラまたは２次ストレージ制御ユニット４ｂと呼ばれることになり、データ・ストレージ１０ｂは、２次データ・ストレージ１０ｂと呼ばれることになる。
【００３３】
特定のコピー関係において、ソース・ユニットは１次と呼ばれることが多く、ターゲット・ユニットは２次と呼ばれることが多い。複製の関係は、データ・ストレージ１０ａとデータ・ストレージ１０ｂのストレージ・ユニット間で定義される。データ・ストレージ１０ａを「１次」、およびデータ・ストレージ１０ｂを「２次」と呼ぶにもかかわらず、データ・ストレージ１０ａおよびデータ・ストレージ１０ｂの特定のストレージ・ユニットは、特定のコピー関係に応じて、１次（すなわちソースの役割）およびターゲット（すなわち２次の役割）の両方の役割を果たすことができる。
【００３４】
上述のように、コンピューティング環境は、１次ストレージ１０ａに格納するために１次ストレージ・コントローラ４ａ（図２）に更新を書き込む、１つまたは複数のホスト２ａ、２ｂ、．．．２ｎ（図１）を含む。本実施形態において、ホスト２ａなどの少なくとも１つのこのようなホストは、１次ストレージ・コントローラ４ａ（図２）およびその関連付けられたデータ・ストレージ１０ａの可用性の不全を監視する監視プログラム２１６（図３）を含むストレージ管理機能を有する。いくつかの実施形態において、監視プログラム２１６は、ホストの他にデバイスにおいて動作されてよい。
【００３５】
１次ストレージ・コントローラ４ａは第１のサイトにあり、２次ストレージ・コントローラ４ｂは、第１のサイトから地理的にまたは機能的に離れている可能性のある第２のサイトにある。したがって、この例において、第１のサイトは、ローカル・サイトにあってよく、第２のサイトは、ローカル・サイトからおよび互いから、短いまたは長い地理的な距離によって隔てられた地理的なリモート・サイトにあってよい。一方、ローカル・サイトおよびリモート・サイトは、ネットワーク６の、同じ一般的な地理的場所の中の異なる建物の中、同じ建物の異なる部屋の中、同じ部屋の異なる機械の中、または同じ機械の異なる部分または区画の中など、比較的接近していてよい。
【００３６】
ホスト２ａ（図３）によって表されるような典型的なホストは、ストレージ・コントローラ４ａ、４ｂを介して、１次ストレージ１０ａまたは２次ストレージ１０ｂからデータを読み取り、更新を書き込むオペレーティング・システム２１８およびアプリケーション２２０を含む。監視プログラム２１６を含むホストは、いくつかの実施形態において、更新書込みアプリケーション２２０を省略することができる。
【００３７】
図１、図２、および図４を参照すると、ストレージ・コントローラ４（図１）、４ａ（図２）、４ｂはそれぞれ、１次システム２４ａの１次ボリューム１から２次システム２４ｂにある２次ボリューム２へのデータ複製動作を含むストレージの動作を管理するためのストレージ・マネージャ２３２を含むメモリ２３０（図１）を有する。ストレージ・マネージャ２３２の整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４は、１次システムの１次ボリューム１のポイントインタイム・スナップ・コピーなどの整合したコピーを生成するように構成される。ボリュームのペアであるボリューム１、ボリューム２は、１次ボリューム１への更新が２次ボリューム２に非同期的にミラーリングされるように、非同期コピー関係にある。したがって、第１のポイントインタイム・スナップ・コピーは１次ボリューム１から作られてよく、第２のポイントインタイム・スナップ・コピーは、特定のポイントインタイム時点の第１のポイントインタイム・スナップ・コピーと一致させられてよい。
【００３８】
図示の実施形態において、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４を含むストレージ・マネージャ２３２は、メモリ２３０に格納され、ＣＰＵ複合体１２によって実行されるソフトウェアとして描写される。しかし、ストレージ・マネージャ２３２の論理機能は、特定の用途に応じて、ハードウェア、ソフトウェア、ファームウェア、またはこれらの１つもしくは複数の組合せとして実装されてよいということが理解される。
【００３９】
１次ストレージ・コントローラおよび２次ストレージ・コントローラ４ａ、４ｂ（図２）に関する、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４によって維持され得る、１つまたは複数のコピー関係２４０は、１次ストレージ１０ａの場所への更新が、対応する２次ストレージ１０ｂの場所にコピーされるべく、１次ストレージ１０ａ内の１次ストレージの場所と、２次ストレージ１０ｂ内の対応する２次ストレージの場所とを関連付ける。例えば、ストレージ１０ａの１次ストレージ・ボリューム１（図２）の中のソース・ストレージの場所は、ミラーリングのコピー関係２４０（図１）に従って、ストレージ１０ｂの２次ボリューム２のターゲット・ストレージの場所にミラーリングのデータ複製動作でミラーリングされてよい。
【００４０】
図示の実施形態において、コピー関係２４０は、ミラーリング関係２４０の１次（ソース）ストレージの場所への更新が、ミラーリング関係２４０の２次（ターゲット）ストレージの場所にミラーリングされる、ストレージの場所のペアに関するピアツーピアのミラーリング関係を含む。他のタイプのコピー関係が特定の用途に応じて確立してよいということが理解される。例えばコピー関係２４０は、ポイントインタイム・スナップ・コピー関係を含むことができる。
【００４１】
整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４の非同期データ複製モードにおけるコピー関係２４０に関連して、１次ストレージ１０ａの１次ストレージの場所への更新は、図示の実施形態における、同期喪失（ＯＯＳ：out-of-sync）ビットマップであるビットマップ２４４のセットのビットマップで示されてよい。ＯＯＳビットマップのビットは、２次ストレージ制御ユニット４ｂの２次ストレージ１０ｂの対応するストレージの場所に、ＯＯＳビットマップで示された更新をストレージ・マネージャ２３２がコピーすると、クリアされる。
【００４２】
ストレージ・マネージャ２３２は、ストレージ１０ｂ内の対応するストレージの場所に書き込むために、１次ストレージ１０ａへの更新にアクセスする。いくつかの用途において、コピー機能および関係機能は、例えばホストなど、ストレージ・システム２４ａ、２４ｂ（図２）の外部のデバイスによって行われてよい。図示の実施形態において、関係２４０の１つのコピー関係は、１次ストレージ１０ａへのそれぞれの書込み更新が２次ストレージ１０ｂにミラーリングされる、ミラーリング処理である。図示の実施形態の非同期モードでは、Ｉ／Ｏ動作は、動作を始めるホストが関わる限りにおいて、１次ストレージ１０ａへの更新の書込みが成功すると同時に完了とみなされる。したがって、ホストは、更新データがまだ２次ストレージ１０ｂにミラーリングされていないにもかかわらず、Ｉ／Ｏ動作が成功裏に完了したと通知されることがある。
【００４３】
定期的に、関係２４０におけるボリュームは、特定の時点のデータ整合性、または整合性グループのボリュームのデータの特定のセットを維持するために、１次システムでボリュームに対して行われる更新のグループが最終的に、整合性グループのボリュームに対しても行われることを保証するように、整合性グループ・ロジック２４８によって整合性グループに構成されてよい。したがって、ＯＯＳビットマップへの追加の更新は、１次システムと２次システムのボリューム間の整合性グループを形成するために、特定の時点で停止されてよい。ＯＯＳビットマップによって示されるような任意の未処理の更新は、もはやＯＯＳビットマップに更新が追加されなくなった時点で、整合性グループのボリュームが一致するように２次ストレージに転送される。
【００４４】
非同期モードとは対照的に同期モードでは、１次ストレージ１０ａに書込み動作を行ったＩ／Ｏ動作は、ミラーリング動作が完了されるまで完了とみなされず、すなわちこれは、更新データが２次ストレージ１０ｂに成功裏に複製されるまで完了しない。更新がストレージ１０ｂに成功裏にミラーリングされないよう、ミラーリング動作が失敗する場合、ホストは、更新動作が成功裏に完了されなかったことを通知されることがある。
【００４５】
１つの実施形態におけるストレージ・マネージャ２３２は、１次ストレージ１０ａから２次ストレージ１０ｂにトラックごとにデータを転送することができる。本明細書で使用されるように、用語トラックは、ディスク・ストレージ・ユニットのトラックを指してよいが、ボリューム、論理デバイス、等など、データ・ユニットのさらに大きいグルーピングの一部になり得る、ビット、バイト、ワード、セグメント、ページ、ブロック（論理ブロック・アドレス（ＬＢＡ：Logical Block Address）など）、等などの、ストレージ１０ａ、１０ｂの中に構成されるデータの他の単位を指してもよい。
【００４６】
１つの実施形態において、ストレージ・デバイス１０ａ、１０ｂは、ハードディスク・ドライブおよび磁気テープなどの、１つまたは複数の順次アクセス・ストレージ・デバイスで構成されてよく、また例えばソリッド・ステート・ドライブ（ＳＳＤ：solid state drives）などの、非順次アクセス・ストレージ・デバイスを含んでもよい。各ストレージ・デバイス１０ａ、１０ｂは、単一の順次または非順次アクセス・ストレージ・デバイスを備えることができ、また単純ディスク束（ＪＢＯＤ：Just a Bunch of Disks）、ダイレクト・アクセス・ストレージ・デバイス（ＤＡＳＤ：Direct Access Storage Device）、独立ディスクの冗長アレイ（ＲＡＩＤ：Redundant Array of Independent Disks）アレイ、仮想化デバイス、テープ・ストレージ、フラッシュ・メモリ、等などの、ストレージ・デバイスのアレイを備えることができる。
【００４７】
コピー関係を管理する、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４の１つのモードは、本説明により必要に応じて変更されたピアツーピア・リモート・コピー（ＰＰＲＣ）プログラムなどの非同期コピー動作によって実行されてよい。ＰＰＲＣプログラムの例は、１次ストレージ１０ａから２次ストレージ１０ｂに更新を切換えることができる、ＩＢＭ（Ｒ）  Ｔｉｖｏｌｉ（Ｒ）  Ｐｒｏｄｕｃｔｉｖｉｔｙ  Ｃｅｎｔｅｒ  ｆｏｒ  Ｒｅｐｌｉｃａｔｉｏｎのコピー・プログラムである。適切な非同期ミラーリング・プログラムは、本説明により必要に応じて変更されたＸＲＣ（またはｚＧＭ）を含む。説明された動作は、本説明により必要に応じて変更された他のコピー・プログラムまたは他のグローバル・リカバリ・プログラムなどの、他のプログラムによって実行されてよい。
【００４８】
システム構成要素２ａ、２ｂ．．．２ｎ、４、４ａ、４ｂ、１０、１０ａ、１０ｂは、これらの構成要素間で通信できるようにするネットワーク６に接続される。したがって、ネットワーク６は、ストレージ・エリア・ネットワーク（ＳＡＮ：Storage Area Network）、ローカル・エリア・ネットワーク（ＬＡＮ：Local Area Network）、イントラネット、インターネット、広域ネットワーク（ＷＡＮ：Wide Area Network）、ピアツーピア・ネットワーク、ワイヤレス・ネットワーク、アービトレーテッド・ループ・ネットワーク（arbitrated loop network）、等を含むことができるファブリックを含む。ストレージ・サブシステムからホスト２ａ、２ｂ、．．．２ｎへの通信経路は、例えばＦｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ（ＦＩＣＯＮ（Ｒ））などの特定のホスト付属プロトコルに基づいてよい。ファブリックの他の通信経路は、例えば、ファイバ・チャネル・アービトレーテッド・ループ構成、シリアル・ループ・アーキテクチャ、またはＰＣＩ−Ｅｘｐｒｅｓｓインターフェースなどのペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Peripheral Component Interconnect）インターフェースなどの、バス・インターフェースを備えることができる。ファブリックの通信経路は、個々のネットワーク（インターネット・プロトコル）アドレスを各ノードが有すべく、例えば、イーサネット（Ｒ）・ネットワークの一部でもよい。特定の用途に応じて、モデム電話経路、ワイヤレス・ネットワーク、等などの他のタイプの通信経路が利用されてよい。
【００４９】
通信経路と関連付けられた通信ソフトウェアは、通信プロトコル、およびもしあれば、通信プロトコルに従って通信ハードウェアの動作を制御する命令および他のソフトウェアを含む。特定の用途に応じて、他の通信経路プロトコルが利用されてよいということが理解される。
【００５０】
図４は、例えば１次ストレージ１０ａ（図２）などの第１のストレージ・ユニットの、例えば１次ボリューム１（図５）などの第１のデータ・ユニットから、例えば２次ストレージ１０ｂなどの第２のストレージ・ユニットの、例えば２次ボリューム２（図５）などの第２のデータ・ユニットにデータを非同期的にミラーリングするように構成される非同期データ・ミラーリング・ロジック３１０を含む、ストレージ・マネージャ２３２（図１）の整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４の１つの実施形態を描写する。図５の例において、１次ボリューム１から２次ボリューム２へのデータの非同期ミラーリングは、図５に「ミラーリング関係１」と書かれた矢印で表される。第１のデータ・ユニットから第２のデータ・ユニットにデータをミラーリングする際の、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４のデータ・ミラーリング・ロジック３１０は、１次ボリューム１から２次ボリューム２にまだミラーリングされていないトラックがあることを示す、リモート・同期喪失（ＯＯＳ）ビットマップ１（図５）などの、ビットマップ２４４ａの第１の同期喪失（ＯＯＳ）ビットマップを生成するようにさらに構成される。
【００５１】
例えば、リモートＯＯＳビットマップ１は、１次ボリューム１のトラック１が、２次ボリューム２に成功裏にミラーリングされたことを、ビットマップ１のビット１のビット状態０で示す。したがって、値「Ａ」で表されるような２次ボリューム２のトラック１の内容は、１次ボリューム１のトラック１の内容「Ａ」と同じである。同様に、リモートＯＯＳビットマップ１は、１次ボリューム１のトラック３が、２次ボリューム２に成功裏にミラーリングされたことを、ビットマップ１のビット３のビット状態０で示す。したがって、値「Ｃ」で表されるような２次ボリューム２のトラック３の内容は、１次ボリューム１のトラック３の内容「Ｃ」と同じである。
【００５２】
逆に、リモートＯＯＳビットマップ１は、１次ボリューム１のトラック２が、２次ボリューム２にまだミラーリングされていないことをビットマップ１のビット２のビット状態１で示す。したがって、値「Ｘ」で表されるような２次ボリューム２のトラック２の内容は、１次ボリューム１のトラック２の内容「Ｂ」と同じではない。
【００５３】
ローカル・データ・コピー・ロジック３１４（図４）は、１次ボリューム１の第１のポイントインタイム・スナップ・コピーを行うために、１次システム２４ａ（図２）のポイントインタイム・スナップ・コピー・ボリューム１’などの第３のデータ・ユニットに、第１のポイントインタイム時点の１次ボリューム１（図６）のデータをコピーするように構成される。図６の例において、１次ボリューム１と、ポイントインタイム・スナップ・コピー・ボリューム１’との間のコピー関係は、ポイントインタイム（ＰＩＴ：point-in-time）スナップ・コピー関係２と書かれた矢印で表される。
【００５４】
１つの実施形態において、１次システム２４ａの１次ボリューム１の第１のポイントインタイム・スナップ・コピーを行うために、コマンド・ロジック３２０は、第１のポイントインタイム時点の１次ボリューム１のデータを、ポイントインタイム・スナップ・コピー・ボリューム１’にコピーする第１のポイントインタイム・スナップ・コピー・コマンドを、ローカル・データ・コピー・ロジック３１４に発行するように構成される。それに応じて、ローカル・データ・コピー・ロジック３１４は、第１のポイントインタイム・スナップ・コピー・ボリューム１’を形成するために、第１のポイントインタイム時点の１次ボリューム１のデータをポイントインタイム・スナップ・コピー・ボリューム１’にコピーする第１のポイントインタイム・スナップ・コピー・コマンドを実行するようにさらに構成される。
【００５５】
１つの実施形態において、ローカル・データ・コピー・ロジック３１４は、第１のポイントインタイム・スナップ・コピー・コマンドを実行する際に、第１のポイントインタイム時点でポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１からコピーされていないトラックを示す、例えばローカル・ターゲット・ビットマップ３（図６）などの、ビットマップ２４４ｂの第１のターゲット・ビットマップを生成するようにさらに構成される。例えば、ローカル・ターゲット・ビットマップ３は、１次ボリューム１のトラック１が、ポイントインタイム・スナップ・コピー・ボリューム１’にまだコピーされていないことを、ビットマップ３のビット１のビット状態１で示す。したがって、値「Ｘ」で表されるようなポイントインタイム・スナップ・コピー・ボリューム１’のトラック１の内容は、１次ボリューム１のトラック１の内容「Ａ」と同じではない。ローカル・ターゲット・ビットマップ３は、図６の例において、１次ボリューム１の残っているトラックのそれぞれがポイントインタイム・スナップ・コピー・ボリューム１’にまだコピーされていないことを、ビットマップ３の残っているビットのそれぞれのビット状態１で示す。
【００５６】
１つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム１’を生成するポイントインタイム・スナップ・コピー・コマンドは、ポイントインタイム・スナップ・コピー・ボリューム１’にバックグラウンド・コピー動作で１次ボリューム１の内容が転送される必要のない「非バックグラウンド・コピー」タイプのものでよい。代わりに、ポイントインタイム・スナップ・コピー・ボリューム１’のトラックを対象とする読取動作は、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１の対応トラックが転送されていないことを、ローカル・ターゲット・ビットマップ３がビット状態１で示す場合に、この対応トラックの内容を得るためにこの対応トラックにリダイレクトされてよい。しかし、１次ボリューム１のトラックが更新のターゲットにされる場合、このトラックの内容はポイントインタイム・スナップ・コピー・ボリューム１’の対応トラックに転送され、ローカル・ターゲット・ビットマップ３は、１次ボリューム１のトラックの内容が転送されたことを示すように更新される。したがって、第１のポイントインタイム時点の１次ボリューム１のデータの整合したポイントインタイム・スナップ・コピーを行うためのボリューム１’のデータは、１次システム２４ａ内のデータ転送によって得られてよい。
【００５７】
他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム１’を生成するポイントインタイム・スナップ・コピー・コマンドは、ポイントインタイム・スナップ・コピー・ボリューム１’にバックグラウンド・コピー動作で１次ボリューム１の内容が転送される「バックグラウンド・コピー」タイプのものでよいことが理解される。ポイントインタイム・スナップ・コピー・ボリューム１’の対応トラックの内容に１次ボリュームの各トラックの内容がバックグラウンド・コピーで転送されると、ローカル・ターゲット・ビットマップ３内のこの対応トラックを表すビットのビット状態は、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリュームの各トラックが転送されたことを示すようにビット状態値「０」に更新されてよい。
【００５８】
したがって、本明細書で使用されるように、用語「コピーすること（copying）」は、ソース・ストレージの場所のデータ内容が、ターゲット・ストレージの場所に実際に転送される、実際のコピーすることを含む。しかし、ターゲット・ストレージの場所を最初に対象とする読取動作を、ターゲット・ストレージの場所の代わりにソース・ストレージの場所にリダイレクトし、したがって、ターゲット・ストレージの場所へのソース・ストレージの場所のデータ内容の実際の転送を含む必要がないように、ビットマップなどのデータ構造が設定される、仮想のコピーすることも、本明細書で使用されるような用語「コピーすること」は含む。同様に、本明細書で使用されるように、用語「コピー（copy）」は、ターゲット・ストレージの場所が、ソース・ストレージの場所と同じデータ内容を収める実際のコピーを含むが、仮想のコピーが、ソース・ストレージの場所の実際のデータ内容を含む必要をなくすべく、ターゲット・ストレージの場所の代わりにソース・ストレージの場所に、ターゲット・ストレージの場所を最初に対象とする読取動作をリダイレクトするように設定された、ターゲット・ビットマップなどの関連データ構造をターゲット・ストレージの場所が有する仮想のコピーも含む。
【００５９】
整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４のコマンド・ロジック３２０（図４）は、２次ボリューム２のポイントインタイム・スナップ・コピー・ボリューム２’を形成するために、第２のポイントインタイム時点の２次ボリューム２（図６）のデータを、２次システム２４ｂの、例えばボリューム２’などの第４のデータ・ユニットにコピーするように、２次システム２４ｂ（図２）にコマンドを発行するようにさらに構成される。図６の例において、第２のボリューム２と、ポイントインタイム・スナップ・コピー・ボリューム２’との間のコピー関係は、ポイントインタイム（ＰＩＴ）スナップ・コピー関係４と書かれた矢印で表される。
【００６０】
１つの実施形態において、２次システム２４ｂの２次ボリューム２のポイントインタイム・スナップ・コピーを行うために、コマンド・ロジック３２０は、第２のポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２からコピーされていないトラックを示す、２次システム２４ｂの、例えばローカル・ターゲット・ビットマップ４などの第２のターゲット・ビットマップを生成するように、２次システム２４ｂにポイントインタイム・スナップ・コピー・コマンドを発行するようにさらに構成される。例えば、ローカル・ターゲット・ビットマップ４は、２次ボリューム２のトラック１が、ポイントインタイム・スナップ・コピー・ボリューム２’にまだコピーされていないことを、ビットマップ４のビット１のビット状態１で示す。したがって、値「Ｘ」で表されるようなポイントインタイム・スナップ・コピー・ボリューム２’のトラック１の内容は、２次ボリューム２のトラック１の内容「Ａ」と同じではない。ローカル・ターゲット・ビットマップ４は、図６の例において、２次ボリューム２の残っているトラックのそれぞれが、ポイントインタイム・スナップ・コピー・ボリューム２’にまだコピーされていないことを、ビットマップ４の残っているビットのそれぞれのビット状態１で示す。
【００６１】
１つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム２’を生成するポイントインタイム・スナップ・コピー・コマンドは、２次ボリューム２の内容が、ポイントインタイム・スナップ・コピー・ボリューム２’にバックグラウンド・コピー動作で転送される「バックグラウンド・コピー」タイプのものでよい。したがって、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラックの内容に２次ボリューム２の各トラックの内容が転送されると、ローカル・ターゲット・ビットマップ４内のこの対応トラックを表すビットのビット状態は、ポイントインタイム・スナップ・コピー・ボリューム１’に２次ボリューム２の各トラックが転送されたことを示すようにビット状態値「０」に更新されてよい。他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム２’を生成するポイントインタイム・スナップ・コピー・コマンドは、２次ボリューム２の内容が、ポイントインタイム・スナップ・コピー・ボリューム２’にバックグラウンド・コピー動作で転送されない「非バックグラウンド・コピー」タイプのものでよいということが理解される。
【００６２】
本説明の１つの態様において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータは、ミラーリング関係１（図５）で表されるようなミラーリング動作により、２次システム２４ｂに既にあるということが理解される。結果として、多くの用途において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータの大部分は、２次システム２４ｂの中でコピーされてよく、第２のポイントインタイム・スナップ・コピー・ボリューム２’を形成するための、１次システム２４ａからのネットワークでのデータの任意のコピーの多くを未然に防ぐ。例えば、２次システム２４ｂにポイントインタイム・スナップ・コピー・コマンドをコマンド・ロジック３２０が発行するのに応答して、２次ストレージ・コントローラ４ｂのローカル・データ・コピー・ロジック３１４は、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２からデータ・トラックがまだコピーされていないことを、ローカル・ターゲット・ビットマップ４が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２のトラックをバックグラウンド・コピーすることを２次システムに指令するようにさらに構成される。したがって、第１のポイントインタイム時点の１次ボリューム１のデータの整合したポイントインタイム・スナップ・コピーを行うためのボリューム２’のデータは、２次システム２４ｂ内のデータ転送によって主に得られてよい。
【００６３】
しかし、本実施形態のミラーリング関係１（図５）は非同期関係なので、いくつかの事例において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータのすべてが、２次システム２４ｂ上で見つかる可能性があるわけではないということがさらに理解される。したがって、本説明の別の態様において、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４のデータ・ミラーリング・ロジック３１０は、第１のポイントインタイム時点の２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータを、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’に同期するように構成される同期ロジック３２４（図４）を含む。このように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’が第１のポイントインタイム時点で一致するように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’を完成させるための、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’の追加データは、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’から選択されたデータをコピーすることによって得られてよい。例えば、１つの実施形態において、同期動作は、第１と第２のポイントインタイム・スナップ・コピー・ボリュームであるボリューム１’とボリューム２’の両方が、第１のポイントインタイム時点の１次システム２４ａの１次ボリューム１のデータの整合したポイントインタイム・スナップ・コピーを行うように、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’から選択されたデータを、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’に、ネットワーク６でコピーすることを含む。２次システムのポイントインタイム・スナップ・コピー・ボリューム２’に必要なデータの大部分は、２次システム２４ｂに既にある可能性があるので、１次システムおよび２次システムの整合したポイントインタイム・スナップ・コピー・ボリュームをそれぞれ生成するときに、１次システムから２次システムへのネットワークでのデータのコピーの多くは未然に防がれる可能性がある。
【００６４】
互いに整合したポイントインタイム・スナップ・コピー・ボリュームであるボリューム１’およびボリューム２’を生成しやすくするために、１次ストレージ・コントローラ４ａの整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４は、１つの実施形態において、１次ボリューム１へのホスト入力を休止するように構成される中断ロジック３３０をさらに含む。１次ボリューム１へのホスト入力を休止した後、１次ボリューム１から２次ボリューム２へのデータのミラーリングはアイドリングされてよい。１次ボリューム１から２次ボリューム２へのデータのミラーリングのアイドリングは、図５で以前に描写された「ミラーリング関係１」と書かれた矢印を図６では省略して表される。
【００６５】
別の態様において、データ・ミラーリング・ロジック３１０の同期ロジック３２４は、１次システム２４ａのポイントインタイム・スナップ・コピー・ボリューム１’から２次システム２４ｂのポイントインタイム・スナップ・コピー・ボリューム２’にまだミラーリングされていないトラックがあることを示す第２の同期喪失ビットマップ、すなわちリモートＯＯＳビットマップ１’に、（第１のポイントインタイム時点の）図６のリモートＯＯＳ（同期喪失）ビットマップ１をコピーするようにさらに構成される。さらに、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４の中断ロジック３３０は、第１のデータ・ユニットへのホスト入力を休止しないこと、およびミラーリングを再開すること、したがって図７の「ミラーリング関係１」と書かれた矢印で示されるような１次ボリューム１から２次ボリューム２へのデータの再同期を行うようにさらに構成される。
【００６６】
１つの実施形態において、ローカル・ターゲット・ビットマップ４のビットすべては、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２からすべてのトラックがコピーされることになることを示すように最初に「１」に設定されてよい。別の実施形態において、コマンド・ロジックは、ローカル・ターゲット・ビットマップ４として使用するためのリモート同期喪失ビットマップ１’の反転バージョンであるビットマップを２次システム２４ｂに送信することができる。したがって反転バージョンでは、ビットマップ１’のビット１の内容「０」は「１」に反転され、ビットマップ４のビット１に格納されることになる。逆に、ビットマップ１’のビット２の内容「１」は「０」に反転され、ビットマップ４のビット２に格納されることになる。結果として、システム２４ｂのポイントインタイム・スナップ・コピー・ボリューム２’に１次システム２４ａからミラーリングされることになる任意のトラックは、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２から転送される必要がない。逆に、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２から転送される任意のトラックは、システム２４ｂのポイントインタイム・スナップ・コピー・ボリューム２’に１次システム２４ａからミラーリングされる必要がない。
【００６７】
第１のポイントインタイム時点のポイントインタイム・スナップ・コピー・ボリューム１’の選択されたデータに、ポイントインタイム・スナップ・コピー・ボリューム２’のデータを同期するために、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’に、選択されたデータをコピーする際のデータ・ミラーリング・ロジック３１０の同期ロジック３２４は、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’にまだコピーされていないものとして示される場合、第２のリモート同期喪失ビットマップ１’を処理すること、およびポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’にトラックをミラーリングすることを行うようにさらに構成される。図７の例において、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’へのデータの非同期ミラーリングは、図７において「ミラーリング関係３」と書かれた矢印で表される。このように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’が第１のポイントインタイム時点で一致するように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’を完了させるための、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’の追加データは、図７において「ミラーリング関係３」と書かれた矢印で表されるような、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’へのデータの非同期ミラーリングを利用して、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’から選択されたデータをコピーすることによって得られてよい。
【００６８】
しかし、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’にミラーリングされることになるトラックの内容は、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１からコピーされていない可能性があるということが理解される。例えば図７は、内容「Ｂ」を有するものとして、１次ボリューム１のトラック２の内容を描写するが、その一方でポイントインタイム・スナップ・コピー・ボリューム１’の対応トラック２の内容は、これが、１次ボリューム１のトラック２の内容「Ｂ」と同じ内容ではないことを示す内容「Ｘ」を有する。したがって、図６のローカル・ターゲット・ビットマップ３のビット２は、ポイントインタイム・スナップ・コピー・ボリューム１’の対応トラック２の内容に１次ボリューム１のトラック２の内容が転送されていないことを示す「１」のビット状態を有する。
【００６９】
ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’にミラーリングされることになるトラックの内容は、ローカル・ターゲット・ビットマップ３で示されるように、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１から転送されていない可能性があるので、第１のポイントインタイム時点でポイントインタイム・スナップ・コピー・ボリューム１’にポイントインタイム・スナップ・コピー・ボリューム２’のデータを同期するために、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’に、選択されたデータをコピーする際のデータ・ミラーリング・ロジック３１０の同期ロジック３２４は、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１からデータ・トラックが転送されていないことを、ローカル・ターゲット・ビットマップ３が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム２’のデータ・トラックのデータを１次ボリューム１から得ること、およびポイントインタイム・スナップ・コピー・ボリューム２’にデータをミラーリングすることを行うようにさらに構成される。例えば、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２を対象とする読取動作は、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２にビット２が対応する、ローカル・ターゲット・ビットマップ３のビット２のビット状態「１」で示されるように、１次ボリューム１のトラック２にリダイレクトされてよい。リダイレクトされた読取動作で１次ボリューム１のトラック２の内容「Ｂ」を得たので、図８は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック２にミラーリングされたものとして、１次ボリューム１のトラック２の内容「Ｂ」を描写する。さらに、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２にビット２が対応する、リモート同期喪失ビットマップ１’のビット２は、図８に示されるように、ポイントインタイム・スナップ・コピー・ボリューム２’にトラック２の内容がミラーリングされたことを示すビット状態値「０」を有するように更新されてよい。
【００７０】
１つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２の内容は、１次ボリューム１のトラック２から内容「Ｂ」を受け取ることもできる。この場合、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２にビット２が対応する、ローカル・ターゲット・ビットマップ３のビット２は、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１からトラック２の内容が転送されたことを示すビット状態値「０」を有するように更新されてよい。
【００７１】
このように、１次ボリューム１のトラック２の内容「Ｂ」が得られると、トラック２の内容「Ｂ」は、図８に示されるように、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック２にミラーリングされてよい。しかし上述のように多くの用途において、２次システム２４ｂのポイントインタイム・スナップ・コピー・ボリューム２’を形成するデータの大部分は、ミラーリング関係１により２次システム２４ｂに既にあることが理解される。したがって、データは、図８の実施形態におけるバックグラウンド・コピー・タイプの関係である、ポイントインタイム・スナップ・コピー関係４に従って、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２からコピーされてよい。
【００７２】
例えば、図８は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック１に転送されたものとして、２次ボリューム２のトラック１の内容「Ａ」を描写する。したがって図８のローカル・ターゲット・ビットマップ４のビット１は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック１の内容に２次ボリューム２のトラック１の内容が転送されたことを示す「０」のビット状態を有するように更新される。同様に図８は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック３に転送されたものとして、２次ボリューム２のトラック３の内容「Ｃ」を描写する。したがって図８のローカル・ターゲット・ビットマップ４のビット３は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック３の内容に２次ボリューム２のトラック３の内容が転送されたことを示す「０」のビット状態を有するように更新される。このように、ターゲット・ビットマップおよび同期喪失ビットマップは、１次システムと２次システムの間のネットワークで転送されるデータ量を減少させると同時に、第１のポイントインタイム時点の１次ボリュームのデータの整合したポイントインタイム・スナップ・コピーを行うために、１次システムと２次システムのボリュームを同期するように組み合わせて使用されてよい。
【００７３】
ポイントインタイム・スナップ・コピー・ボリューム２’にデータが転送され得る様々な順番および経路があるということに留意されたい。例えば、２次ボリューム２のトラック２の内容「Ｘ」は、１次ボリューム１のトラック２からボリューム２’のトラック２に内容「Ｂ」をミラーリング関係３がミラーリングする前に、ボリューム２’のトラック２に関係４によって転送されてよい。この場合、ミラーリング関係３は、図８に描写されるように、１次ボリューム１のトラック２からの内容「Ｂ」で内容「Ｘ」を上書きする。２次ボリューム２のトラック２の内容「Ｘ」をボリューム２’のトラック２に関係４によって最初に転送することは、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２に２次ボリューム２のトラック２の内容が転送されたことを示すようにローカル・ターゲット・ビットマップ４の対応ビット２を更新し、それによって２次ボリューム２のトラック２のその後の更新の際に、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２に２次ボリューム２からの内容をさらに上書きするのを防ぐ。
【００７４】
別の例として、１次ボリューム１のトラック２の内容「Ｂ」は、１次ボリューム１のトラック２からボリューム２’のトラック２に内容「Ｂ」をミラーリング関係３がミラーリングする前に、２次ボリューム２のトラック２に関係１によってミラーリングされてよい。ボリューム２’は、２次ボリューム２のポイントインタイム・スナップ・コピーに基づくので、２次ボリューム２のスナップショット後の２次ボリューム２への任意の更新は、２次ボリューム２のトラックの内容が更新される前に、ポイントインタイム・スナップ・コピー・ボリューム２’に、更新されるトラックの元の内容が最初に転送されるようにする。したがってミラーリング関係１によって内容「Ｂ」で２次ボリューム２のトラック２に更新することは、２次ボリューム２のトラック２の内容を内容「Ｂ」が上書きする前に、２次ボリューム２のトラック２の元の内容「Ｘ」がボリューム２’のトラック２に関係４によって転送されるようにする。その後、ミラーリング関係３は、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２の内容「Ｘ」を１次ボリューム１のトラック２からの内容「Ｂ」で上書きし、やはり図８に描写される結果をもたらす。２次ボリューム２のトラック２の内容「Ｘ」をボリューム２’のトラック２に関係４によって最初に転送することは、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２に２次ボリューム２のトラック２の内容が転送されたことを示すようにローカル・ターゲット・ビットマップ４の対応ビット２を更新し、それによって２次ボリューム２のトラック２のその後の更新の際に、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２に２次ボリューム２からの内容をさらに上書きするのを防ぐ。
【００７５】
本説明の別の態様において、上述のように入力／出力動作が休止されなくなると、ポイントインタイム・スナップ・コピー・ボリューム１’への任意の更新は、ポイントインタイム・スナップ・コピー・ボリューム２’に関係３によってミラーリングされる。このように、ポイントインタイム・スナップ・コピー・ボリューム１’およびボリューム２’は、１次システムのボリューム１’への更新にもかかわらず整合したままであり、同期される。
【００７６】
ポイントインタイム・スナップ・コピー・ボリューム２’に１次ボリューム１のトラックの内容をミラーリング関係３がミラーリングする前に、１次ボリューム１のトラックも更新されるという場合には、ポイントインタイム・スナップ・コピー・ボリューム１’の作成時のトラックの元の内容は、ポイントインタイム・スナップ・コピー・ボリューム２’にミラーリング関係３によってその後にミラーリングするため、元の内容を保護するようにポイントインタイム・スナップ・コピー・ボリューム１’の対応トラックに転送されることになる。例えば、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２に１次ボリューム１のトラック２の内容「Ｂ」をミラーリング関係３がミラーリングする前に１次ボリューム１のトラック２が更新される場合には、ポイントインタイム・スナップ・コピー・ボリューム１’の作成時の１次ボリューム１のトラック２の元の内容「Ｂ」は、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック２に１次ボリューム１のトラック２の内容「Ｂ」をミラーリング関係３によってその後にミラーリングするため、１次ボリューム１のトラック２の元の内容「Ｂ」を保護するようにポイントインタイム・スナップ・コピー・ボリューム１’の対応トラック２に転送されることになる。ローカル・ターゲット・ビットマップ３の対応ビットは、このトラックに対する１次ボリューム１の元の内容が、ポイントインタイム・スナップ・コピー・ボリューム１’の対応トラックに転送されたことを示すように更新されることになる。
【００７７】
別の例として、１次ボリュームのトラック１の内容「Ａ」は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック１に関係４によって２次ボリューム２のトラック１の内容「Ａ」が転送される前に、２次ボリューム２の対応トラック１に関係１によってミラーリングされる新しい内容で更新されてよい。しかし、ボリューム２’は、２次ボリューム２のポイントインタイム・スナップ・コピーに基づくので、２次ボリューム２のスナップショット後の２次ボリューム２に対する任意の更新は、２次ボリューム２のトラックの内容が更新される前に、ポイントインタイム・スナップ・コピー・ボリューム２’に、更新されるトラックの元の内容が最初に転送されるようにする。したがって、内容「Ａ」を置き替えるために新しい内容で２次ボリューム２のトラック１に更新することは、２次ボリューム２のトラック１の内容「Ａ」を新しい内容が上書きする前に、２次ボリューム２のトラック１の元の内容「Ａ」がボリューム２’のトラック１に関係４によって転送されるようにする。２次ボリューム２のトラック１の内容「Ａ」をボリューム２’のトラック１に関係４によって転送することは、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック１に２次ボリューム２のトラック１の内容が転送されたことを示すようにローカル・ターゲット・ビットマップ４の対応ビット１を更新し、それによって２次ボリューム２のトラック１のその後の更新の際に、ポイントインタイム・スナップ・コピー・ボリューム２’のトラック１に２次ボリューム２からの内容をさらに上書きするのを防ぐ。
【００７８】
図９は、ポイントインタイム・スナップ・コピー関係２が、バックグラウンド・コピー・タイプである実施形態を対象とする。したがって、１次ボリューム１のトラック２の内容「Ｂ」は、ポイントインタイム・スナップ・コピー・ボリューム１’に転送されてよく、図７のローカル・ターゲット・ビットマップ３のビット２は、ポイントインタイム・スナップ・コピー・ボリューム１’の対応トラック２の内容に１次ボリューム１のトラック２の内容がコピーされたことを示す「０」のビット状態を有するように更新されてよい。同様に、１次ボリューム１の残りのトラックの内容は、ポイントインタイム・スナップ・コピー・ボリューム１’にバックグラウンド・コピー動作で転送されてよく、図７のローカル・ターゲット・ビットマップ３の対応ビットはポイントインタイム・スナップ・コピー・ボリューム１’の対応トラックの内容に１次ボリューム１の残りのトラックの内容が転送されたことを示す「０」のビット状態を有するように更新されてよい。
【００７９】
ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２から内容を転送してローカル・ターゲット・ビットマップ４のすべてのビットが処理され、ポイントインタイム・スナップ・コピー・ボリューム２’に関連トラックの内容をミラーリングしてリモート同期喪失ビットマップ１’のビットが処理されると、ポイントインタイム・スナップ・コピー・ボリューム２’は、第１のポイントインタイム時点の１次ボリューム１のポイントインタイム・スナップ・コピー・ボリューム１’と一致するデータの完全なセットを有することになる。さらに、１次ボリューム１とポイントインタイム・スナップ・コピー・ボリューム１’は、第１のポイントインタイム時点の整合性グループを形成することになる。したがって、関係３におけるボリュームは、特定の時点のデータの整合性、またはグループのこれらのボリュームのデータの特定のセットを維持するように、整合性グループ・ロジック２４８によって整合性グループに構成されてよい。したがって、ＯＯＳビットマップ１’への追加の更新は、１次システムのボリューム１’と、２次システムのボリューム２’との間の整合性グループを形成するために、特定の時点で停止されてよい。ＯＯＳビットマップ１’によって示されるような任意の未処理の更新は、更新がＯＯＳビットマップ１’にもはや追加されなくなった時点で整合性グループのボリュームが一致するように、２次ストレージに転送される。
【００８０】
別の態様において、ポイントインタイム・コピー関係４のポイントインタイム・コピー機能が失敗する場合には、ポイントインタイム・スナップ・コピー・ボリューム２’は、ポイントインタイム・スナップ・コピー・ボリューム２’に１次システム２４ａからすべてのトラックがミラーリングされるべきであることを示すようにリモート同期喪失ビットマップ１’のすべてのビットを設定することによって形成されてよい。
【００８１】
図１０は、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４（図４）を含むストレージ・マネージャ２３２（図１）の動作の１つの例を描写する。１つの動作において、データは、例えば１次ボリューム１（図２）などの第１のデータ・ユニットから、２次ボリューム２などの第２のデータ・ユニットにミラーリングされる（ブロック６１０）。図５は、図５において「ミラーリング関係１」と書かれた矢印で表されるような、１次ボリューム１から２次ボリューム２へのデータの非同期ミラーリングの例を示す。
【００８２】
特に断りのない限り図４と図１０の両方を参照すると、ストレージ・マネージャ２３２（図１）の整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４は、第１のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーする（ブロック６１４）。例えば、ローカル・データ・コピー・ロジック３１４は、１次ボリューム１の第１のポイントインタイム・スナップ・コピーを行うために、１次システム２４ａのポイントインタイム・スナップ・コピー・ボリューム１’などの第３のデータ・ユニットに、第１のポイントインタイム時点の１次ボリューム１（図６）のデータをコピーする。図６の例において、１次ボリューム１とポイントインタイム・スナップ・コピー・ボリューム１’との間のコピー関係は、ポイントインタイム（ＰＩＴ）コピー関係２と書かれた矢印で表される。前述のように、ポイントインタイム（ＰＩＴ）コピー関係２は、特定の用途に応じて、バックグラウンド・コピー・タイプまたは非バックグラウンド・コピー・タイプでよい。
【００８３】
別の動作において、（２次ボリューム２などの）第２のデータ・ユニットのデータは、第２のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第４のデータ・ユニットにコピーされる（ブロック６２０）。例えば、２次システム２４ｂのローカル・データ・コピー・ロジック３１４は、２次ボリューム２のポイントインタイム・スナップ・コピーを行うために、１次システム２４ａのポイントインタイム・スナップ・コピー・ボリューム１’などの第４のデータ・ユニットに、第１のポイントインタイム時点の２次ボリューム２（図６）のデータをコピーする。図６の例において、２次ボリューム２とポイントインタイム・スナップ・コピー・ボリューム２’との間のコピー関係は、ポイントインタイム（ＰＩＴ）コピー関係４と書かれた矢印で表される。多くの用途において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータの大部分は、２次システム２４ｂの中でコピーされてよく、それによって第２のポイントインタイム・スナップ・コピー・ボリューム２’を形成するための、１次システム２４ａからのネットワークでのデータの任意のコピーの多くを未然に防ぐということが理解される。前述のように、ポイントインタイム（ＰＩＴ）コピー関係４は、特定の用途に応じて、バックグラウンド・コピー・タイプまたは非バックグラウンド・コピー・タイプでよい。
【００８４】
別の動作において、（ポイントインタイム・スナップ・コピー・ボリューム２’などの）第４のデータ・ユニットは、（ポイントインタイム・スナップ・コピー・ボリューム１’などの）第３のデータ・ユニットに同期されてよく（ブロック６２４）、第３のデータ・ユニットと第４のデータ・ユニットの両方が、第１のポイントインタイム時点の（１次ボリューム１などの）第１のデータ・ユニットのデータのポイントインタイム・スナップ・コピーを行う。上述のように、本実施形態のミラーリング関係１（図５）は非同期関係なので、いくつかの事例において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータのすべてが、２次システム２４ｂ上で見つかる可能性があるわけではないということがさらに理解される。したがって、本説明の別の態様において、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４のデータ・ミラーリング・ロジック３１０は、第１のポイントインタイム時点の２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータを、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’に同期する同期ロジック３２４を含む。このように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’が第１のポイントインタイム時点で一致するように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’を完成させるための、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’の追加データは、１次システム２４ａから選択されたデータをコピーすることによって得られてよい。例えば、１つの実施形態において、同期動作は、第１と第２のポイントインタイム・スナップ・コピー・ボリュームであるボリューム１’とボリューム２’の両方が、第１のポイントインタイム時点の１次システム２４ａの１次ボリューム１のデータの整合したポイントインタイム・スナップ・コピーを行うように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’に、ネットワーク６で１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’から（または、第１のポイントインタイム・スナップ・コピー・ボリューム１’にない場合、１次ボリューム１から）選択されたデータをコピーすることを含む。２次システムのポイントインタイム・スナップ・コピー・ボリューム２’に必要なデータの大部分は、２次システム２４ｂに既にある可能性があるので、１次システムおよび２次システムにある整合したポイントインタイム・スナップ・コピー・ボリュームをそれぞれ生成するときに、１次システムから２次システムへのネットワークでのデータのコピーの多くは未然に防がれる可能性がある。
【００８５】
図１１は、整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４（図４）を含むストレージ・マネージャ２３２（図１）の動作のさらに詳細な例を提供する。特に断りのない限り図４と図１１の両方を参照すると、１つの動作において、データは第１の同期喪失ビットマップを使用して、リモートの場所にある第２のデータ・ユニット（２次ボリューム２）に第１のデータ・ユニット（１次ボリューム１）からミラーリングされる（ブロック７１４）。図５は、リモート同期喪失ビットマップ１を利用して、図５において「ミラーリング関係１」と書かれた矢印で表されるような、１次ボリューム１から２次ボリューム２へのデータの非同期ミラーリングの例を示す。
【００８６】
別の動作において、第１のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーするためのターゲット・ビットマップを作り出すポイントインタイム・スナップ・コピー・コマンドが発行される（ブロック７２０）。例えば、コマンド・ロジック３２０は、第１のポイントインタイム時点の１次ボリューム１のデータをポイントインタイム・スナップ・コピー・ボリューム１’にコピーする第１のポイントインタイム・スナップ・コピー・コマンドを、ローカル・データ・コピー・ロジック３１４に発行する。それに応じて、ローカル・データ・コピー・ロジック３１４は、第１のポイントインタイム・スナップ・コピー・ボリューム１’を形成するために、第１のポイントインタイム時点の１次ボリューム１のデータをポイントインタイム・スナップ・コピー・ボリューム１’に「コピーする」。図６の例において、１次ボリューム１とポイントインタイム・スナップ・コピー・ボリューム１’との間のコピー関係は、ポイントインタイム（ＰＩＴ）コピー関係２と書かれた矢印で表される。
【００８７】
前述のように、１つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム１’を生成する際に、１次ボリューム１の内容は、ポイントインタイム・スナップ・コピー・ボリューム１’にバックグラウンド・コピー動作で転送される必要がない。代わりに、ローカル・データ・コピー・ロジック３１４は、第１のポイントインタイム時点でポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１からコピーされていないトラックを示す、例えばローカル・ターゲット・ビットマップ３などの第１のターゲット・ビットマップを生成する。結果として、ポイントインタイム・スナップ・コピー・ボリューム１’のトラックを対象とする読取動作は、参照トラックの内容が得られる可能性のある１次ボリューム１に、ローカル・ターゲット・ビットマップ３によってリダイレクトされる。他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム１’の内容は、１次ボリューム１に内容を転送するためのローカル・ターゲット・ビットマップ３を利用して、バックグラウンド・コピー動作で埋められてよいということが理解される。
【００８８】
別の動作において、ホストから１次ボリューム１への入力／出力動作は休止され（ブロック７２４）、第１のデータ・ユニット（１次ボリューム１）から第２のデータ・ユニット（２次ボリューム２）へのミラーリング動作は、第１のデータ・ユニット（１次ボリューム１）を第２のデータ・ユニット（２次ボリューム２）に同期するのを中断するために中断される（ブロック７２４）。例えば、中断ロジック３３０は、１次ボリューム１へのホスト入力を休止し、１次ボリューム１から２次ボリューム２へのデータのミラーリングをアイドリングする。１次ボリューム１から２次ボリューム２へのデータのミラーリングのアイドリングは、図５で以前に描写された「ミラーリング関係１」と書かれた矢印を図６では省略することによって表される。
【００８９】
第１の同期喪失ビットマップは、第３のデータ・ユニットを第４のデータ・ユニットに同期するために、第２の同期喪失ビットマップにコピーされる（ブロック７２８）。例えば、データ・ミラーリング・ロジック３１０の同期ロジック３２４は、１次システム２４ａのポイントインタイム・スナップ・コピー・ボリューム１’から２次システム２４ｂのポイントインタイム・スナップ・コピー・ボリューム２’にまだミラーリングされていないトラックがあることを示す第２の同期喪失ビットマップ、すなわちリモートＯＯＳビットマップ１’に、（第１のポイントインタイム時点の）図６のリモートＯＯＳ（同期喪失）ビットマップ１をコピーする。
【００９０】
第２のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーする別のポイントインタイム・スナップ・コピー・コマンドが発行される（ブロック７３２）。例えば、１次システム２４ａの整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４のコマンド・ロジック３２０（図４）は、２次ボリューム２のポイントインタイム・スナップ・コピー・ボリューム２’を形成するために、第２のポイントインタイム時点の２次ボリューム２（図６）のデータを、２次システム２４ｂの例えばボリューム２’などの第４のデータ・ユニットにコピーするように、２次システム２４ｂのローカル・データ・コピー・ロジック３１４にコマンドを発行する。図６の例において、第２のボリューム２と、ポイントインタイム・スナップ・コピー・ボリューム２’との間のコピー関係は、「ポイントインタイム（ＰＩＴ）スナップ・コピー関係４」と書かれた矢印で表される。
【００９１】
図１２は、２次システム２４ｂ（図２）に発行されるポイントインタイム・スナップ・コピー・コマンドに応答する、２次システム２４ｂのローカル・データ・コピー・ロジック３１４の動作の例を描写する。１つの動作において、２次システム２４ｂのローカル・データ・コピー・ロジック３１４は、第２のポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２から転送されていないトラックを示す、２次システム２４ｂの例えばローカル・ターゲット・ビットマップ４などの第２のターゲット・ビットマップを生成する（ブロック７４０）。前述のように、本実施形態において、ローカル・ターゲット・ビットマップ４は、ポイントインタイム・スナップ・コピー・ボリューム２’にまだ転送されていないトラックを、ビットマップ４のビットのビット状態１によって示す。
【００９２】
前述のように、１つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム２’を生成するポイントインタイム・スナップ・コピー・コマンドは、２次システム２４ｂのローカル・データ・コピー・ロジック３１４によってポイントインタイム・スナップ・コピー・ボリューム２’に、バックグラウンド・コピー動作で２次ボリューム２の内容が転送される（ブロック７４４）「バックグラウンド・コピー」タイプのものでよい。したがって、２次ボリューム２の各トラックの内容は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラックの内容に転送されるので、ローカル・ターゲット・ビットマップ４内のこの対応トラックを表すビットのビット状態は、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２の各トラックが転送されたことを示すようにビット状態値「０」に更新されてよい（ブロック７５０）。
【００９３】
例えば、図８は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック１に転送されたものとして、２次ボリューム２のトラック１の内容「Ａ」を描写する。したがって図８のローカル・ターゲット・ビットマップ４のビット１は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック１の内容に２次ボリューム２のトラック１の内容が転送されたことを示す「０」のビット状態を有するように更新される。同様に図８は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック３に転送されたものとして、２次ボリューム２のトラック３の内容「Ｃ」を描写する。したがって、図８のローカル・ターゲット・ビットマップ４のビット３は、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック３の内容に２次ボリューム２のトラック３の内容が転送されたことを示す「０」のビット状態を有するように更新される。
【００９４】
ローカル・ターゲット・ビットマップ４によって表されたすべてのトラックが、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２から転送されたかどうかについて判断（ブロック７５４）が行われる。転送されていない場合、トラックの転送（ブロック７４４）が続く。バックグラウンド・コピーのすべてのトラックが転送されたと判断されると（ブロック７５４）、バックグラウンド・コピーは完了になる（ブロック７６０）。他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム２’を生成するポイントインタイム・スナップ・コピー・コマンドは、ポイントインタイム・スナップ・コピー・ボリューム２’にバックグラウンド・コピー動作で２次ボリューム２の内容が転送されない「非バックグラウンド・コピー」タイプのものでよいことが理解される。
【００９５】
このように、ミラーリング関係１（図５）で表されるようなミラーリング動作により、２次システム２４ｂに既にある第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータは、２次システム２４ｂ内の第２のポイントインタイム・スナップ・コピー・ボリューム２’に転送されてよい。結果として、多くの用途において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータの大部分は、２次システム２４ｂの中でコピーされてよく、第２のポイントインタイム・スナップ・コピー・ボリューム２’を形成するために、１次システム２４ａからのネットワークでのデータのほとんどのコピーを未然に防ぐことができる。例えば、２次システム２４ｂにポイントインタイム・スナップ・コピー・コマンドをコマンド・ロジック３２０が発行するのに応答して、２次ストレージ・コントローラ４ｂのローカル・データ・コピー・ロジック３１４は、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２からデータ・トラックがまだ転送されていないことを、ローカル・ターゲット・ビットマップ４が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム２’に２次ボリューム２のトラックをバックグラウンド・コピーするように、２次システム２４ｂのローカル・データ・コピー・ロジック３１４にコマンドを発行することができる。
【００９６】
再び図１１を参照すると、別の動作において、ホストからの入力／出力動作は休止されず（ブロック７６６）、第１のデータ・ユニットと第２のデータ・ユニットの同期を再開するために、第１のデータ・ユニットから第２のデータ・ユニットへのデータのミラーリングが再開される。例えば、１次システム２４ａの整合したローカル・コピーおよびリモート・コピーの生成ロジック２３４の中断ロジック３３０は、１次ボリューム１へのホスト入力を休止せず、ミラーリング、したがって、図７の「ミラーリング関係１」と書かれた矢印で示されるような１次ボリューム１から２次ボリューム２へのデータの再同期を再開する。結果として、１次システム２４ａの１次ボリューム１への更新は、第１のポイントインタイム時点の１次ボリューム１のデータの整合したポイントインタイム・スナップ・コピーを行うために、ボリューム１’およびボリューム２’が生成されている間に、２次システム２４ｂの２次ボリューム２にミラーリングされてよい。
【００９７】
図１０のブロック６２４に関連して上述されたものに類似の手法で、（ポイントインタイム・スナップ・コピー・ボリューム２’などの）第４のデータ・ユニットは、（ポイントインタイム・スナップ・コピー・ボリューム１’などの）第３のデータ・ユニットに対して同期されてよく（ブロック７７０）、第３のデータ・ユニットと第４のデータ・ユニットの両方は、第１のポイントインタイム時点の（１次ボリューム１などの）第１のデータ・ユニットのデータのポイントインタイム・スナップ・コピーを行う。図１３は、第１のポイントインタイム時点の（１次ボリューム１などの）第１のデータ・ユニットのデータのポイントインタイム・スナップ・コピーを行うために、第３のデータ・ユニットと第４のデータ・ユニットを同期する同期動作の１つの例を描写する。
【００９８】
上述のように、本実施形態のミラーリング関係１（図５）は非同期関係なので、いくつかの事例において、第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータのすべてが、２次システム２４ｂ上で見つかる可能性があるわけではないということが理解される。したがって、１つの実施形態において、同期ロジック３２４は、第１のポイントインタイム時点の２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’のデータを、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’のデータに同期する。このように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’が第１のポイントインタイム時点で一致するように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’を完成させるための、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’の追加データは、１次システム２４ａから選択されたデータをコピーすることによって得られてよい。
【００９９】
１つの動作において、第１の同期喪失ビットマップからコピーされた第２の同期喪失ビットマップの未処理のビットがあるかどうかについて判断（ブロック７７４）が行われる。例えば、１つの実施形態において、同期動作は、第１のポイントインタイム・スナップ・コピー・ボリューム１’と第２のポイントインタイム・スナップ・コピー・ボリューム２’の両方が、第１のポイントインタイム時点の１次システム２４ａの１次ボリューム１のデータの整合したポイントインタイム・スナップ・コピーを行うように、ネットワーク６で、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’から（または第１のポイントインタイム・スナップ・コピー・ボリューム１’上にない場合、１次ボリューム１から）２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’に、選択されたデータをコピーすることを含む。２次システムのポイントインタイム・スナップ・コピー・ボリューム２’に必要なデータの大部分は、２次システム２４ｂに既にある可能性があるので、１次システムおよび２次システムの整合したポイントインタイム・スナップ・コピー・ボリュームをそれぞれ生成するときに、１次システムから２次システムへのネットワークでのデータのコピーの多くは未然に防がれる可能性がある。
【０１００】
１つの実施形態において、まだ２次システム２４ｂにないデータを得るために、１次システム２４ａのデータ・ミラーリング・ロジック３１０の同期ロジック３２４は、リモート同期喪失ビットマップ１’（図７）の未処理のビットが、ミラーリング関係３によって表されるミラーリング動作によって、まだ処理されていないかどうかを判断する（ブロック７７４）。例えば、図７は、ミラーリング関係３によってビット２が処理されていないこと、および２次システム２４ｂの対応ボリューム２’に１次システム２４ａからミラーリング関係３に従ってトラック２の内容がまだミラーリングされていないことを示す「１」のロジック状態を有するものとして、第１のポイントインタイム・スナップ・コピー・ボリューム１’のトラック２に対応するリモート同期喪失ビットマップ１’のビット２の内容を描写する。したがって、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’のトラック２の内容は、これが、１次システム２４ａの１次ボリューム１のトラック２の内容と同じ内容ではないことを示す内容「Ｘ」を有するものとして、図７に描写される。
【０１０１】
リモート同期喪失ビットマップ１’（図７）の未処理のビットが、ミラーリング関係３によって表されるミラーリング動作によって、まだ処理されていないと判断される場合（ブロック７７４）、１次システム２４ａのデータ・ミラーリング・ロジック３１０の同期ロジック３２４は、第３のデータ・ユニット（この例ではポイントインタイム・スナップ・コピー・ボリューム１’）に第１のデータ・ユニット（この例では１次ボリューム１）から関連トラックが転送されていないことを、ターゲット・ビットマップ（この例では図７のローカル・ターゲット・ビットマップ３）の対応ビットのビット状態が示すかどうかを判断する（ブロック７８０）。ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１から関連トラックが転送されていないことを、ローカル・ターゲット・ビットマップ３（図７）の対応ビットのビット状態が示す場合、トラックの内容は、第１のデータ・ユニット（この例では１次ボリューム１）から得られ、ミラーリングされる、すなわちミラーリング関係３（図８）に従って第４のデータ・ユニット（この例ではポイントインタイム・スナップ・コピー・ボリューム２’）に転送される（ブロック７８４）。
【０１０２】
例えば図７は、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’に１次システム２４ａの１次ボリューム１からトラック２の内容がまだ転送されていないことを示す「１」のロジック状態を有するものとして、第１のポイントインタイム・スナップ・コピー・ボリューム１’のトラック２に対応するローカル・ターゲット・ビットマップ３のビット２の内容を描写する。したがって、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’のトラック２の内容は、これが、１次ボリューム１のコピー・ボリューム１’のトラック２の内容「Ｂ」と同じ内容ではないことを示す内容「Ｘ」を有するものとして、図７に描写される。
【０１０３】
ポイントインタイム・スナップ・コピー・ボリューム２’にミラーリングされることになるトラックの内容は、ローカル・ターゲット・ビットマップ３で示されるように、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１から転送されていない可能性があるので、ポイントインタイム・スナップ・コピー・ボリューム１’によって表されるように、第１のポイントインタイム時点の１次ボリューム１にポイントインタイム・スナップ・コピー・ボリューム２’のデータを同期するために、ポイントインタイム・スナップ・コピー・ボリューム２’に１次システム２４ａから選択されたデータをコピーする際のデータ・ミラーリング・ロジック３１０の同期ロジック３２４は、１次ボリューム１からトラック２のデータを得て、ミラーリングする、すなわちポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１からトラック２のデータが転送されていないことを、ローカル・ターゲット・ビットマップ３が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム２’にデータを転送する（ブロック７８４）。したがって、第２のポイントインタイム・スナップ・コピー・ボリューム２’へのミラーリング動作のために、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２を対象とする読取動作は、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２にビット２が対応する、ローカル・ターゲット・ビットマップ３のビット２のビット状態「１」で示されるように、１次ボリューム１のトラック２にリダイレクトされてよい。リダイレクトされた読取動作で１次ボリューム１のトラック２の内容「Ｂ」を得たので、図８は、ミラーリング関係３に従って、ポイントインタイム・スナップ・コピー・ボリューム２’の対応トラック２にミラーリングされたものとして、１次ボリューム１のトラック２の内容「Ｂ」を描写する。さらに、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２にビット２が対応する、リモート同期喪失ビットマップ１’のビット２は、図８に示されるように、ポイントインタイム・スナップ・コピー・ボリューム２’にトラック２の内容がミラーリングされたことを示すビット状態値「０」を有するように更新されてよい（ブロック７９０）。
【０１０４】
逆に、ポイントインタイム・スナップ・コピー・ボリューム１’に１次ボリューム１から関連トラックが転送されたことを、ローカル・ターゲット・ビットマップ３（図７）の対応ビットのビット状態が示す場合、トラックの内容は、ミラーリング関係３（図８）に従って、第３のデータ・ユニット（この例ではポイントインタイム・スナップ・コピー・ボリューム１’）から第４のデータ・ユニット（この例ではポイントインタイム・スナップ・コピー・ボリューム２’）にミラーリングされる（ブロック７９４）。ここでも、ポイントインタイム・スナップ・コピー・ボリューム１’のトラック２にビット２が対応する、リモート同期喪失ビットマップ１’のビット２は、図８に示されるように、ポイントインタイム・スナップ・コピー・ボリューム２’にトラック２の内容がミラーリングされたことを示すビット状態値「０」を有するように更新されてよい（ブロック７９０）。リモート同期喪失ビットマップ１’のすべてのビットが処理されたと判断されると（ブロック７７４）、図１３の同期は完了になる（ブロック７９８）。
【０１０５】
このように、データ・ミラーリング・ロジック３１０の同期ロジック３２４は、１次システム２４ａのポイントインタイム・スナップ・コピー・ボリューム１’によって表されるように、第１のポイントインタイム時点の１次ボリューム１に、ポイントインタイム・スナップ・コピー・ボリューム２’のデータを同期するために、１次システム２４ａの１次ボリューム１またはポイントインタイム・スナップ・コピー・ボリューム１’から、２次システム２４ｂのポイントインタイム・スナップ・コピー・ボリューム２’に、選択されたデータを転送する。したがって、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’が、第１のポイントインタイム時点で一致するように、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’を完了させるための、２次システム２４ｂの第２のポイントインタイム・スナップ・コピー・ボリューム２’の追加データは、図７において「ミラーリング関係３」と書かれた矢印で表されるような、ポイントインタイム・スナップ・コピー・ボリューム１’からポイントインタイム・スナップ・コピー・ボリューム２’へのデータの非同期ミラーリングを利用して、１次システム２４ａの第１のポイントインタイム・スナップ・コピー・ボリューム１’または１次ボリューム１から選択されたデータを転送することによって得られてよい。
【０１０６】
図の計算構成要素はそれぞれ、図１４に示されるコンピュータ・システム１００２などの、１つまたは複数のコンピュータ・システムに実装されてよい。コンピュータ・システム／サーバ１００２は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な状況で説明されてよい。一般に、プログラム・モジュールは、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造、などを含むことができる。コンピュータ・システム／サーバ１００２は、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが行われる分散クラウド・コンピューティング環境で実践されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル・コンピュータ・システムとリモート・コンピュータ・システム両方のストレージ媒体の中にあってよい。
【０１０７】
図１４に示されるように、コンピュータ・システム／サーバ１００２は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム／サーバ１００２の構成要素は、１つまたは複数のプロセッサまたは処理ユニット１００４、システム・メモリ１００６、およびシステム・メモリ１００６を含む様々なシステム構成要素をプロセッサ１００４に連結するバス１００８を含むことができるがこれらに限定されない。バス１００８は、メモリ・バスまたはメモリ・コントローラ、周辺機器バス、アクセラレイティッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかの１つまたは複数を表す。例として、また限定ではないが、このようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ（ＩＳＡ：Industry Standard Architecture）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Micro Channel Architecture）バス、拡張ＩＳＡ（ＥＩＳＡ：Enhanced ISA）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ：Video Electronics Standards Association）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Peripheral Component Interconnects）バスを含む。
【０１０８】
コンピュータ・システム／サーバ１００２は典型的には、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ１００２によってアクセス可能な任意の利用可能な媒体でよく、これは、揮発性媒体および不揮発性媒体の両方、取外し可能媒体および取外し不能媒体の両方を含む。
【０１０９】
システム・メモリ１００６は、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）１０１０またはキャッシュ・メモリ１０１２あるいはその両方などの揮発性メモリの形でコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１００２は、他の取外し可能／取外し不能な、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。ほんの一例として、ストレージ・システム１０１３は、取外し不能な不揮発性磁気媒体（図示されていないが、典型的には「ハード・ドライブ」と呼ばれる）に読み書きするために提供されてよい。図示されていないが、取外し可能な不揮発性磁気ディスク（例えば「フロッピー・ディスク」）に読み書きするための磁気ディスク・ドライブ、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体などの、取外し可能な不揮発性光ディスクに読み書きするための光ディスク・ドライブが提供される。このような事例において、それぞれは、１つまたは複数のデータ媒体インターフェースによってバス１００８に接続されてよい。下記でさらに描写され、説明されるように、メモリ１００６は、本発明の実施形態の機能を行うように構成されるプログラム・モジュールのセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラムの製品を含むことができる。
【０１１０】
プログラム・モジュール１０１６のセット（少なくとも１つ）を有するプログラム／ユーティリティ１０１４、ならびにオペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データが、例として、また限定ではないが、メモリ１００６に格納されてよい。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらのいくつかの組合せのそれぞれは、ネットワーク環境の実装形態を含むことができる。コンピュータ１００２の構成要素は、本明細書で説明されるような本発明の実施形態の機能または方法あるいはその両方を全体的に行うプログラム・モジュール１０１６として実装されてよい。図１のシステムは、１つまたは複数のコンピュータ・システム１００２に実装されてよく、これらが複数のコンピュータ・システム１００２に実装される場合、コンピュータ・システムはネットワークで通信することができる。
【０１１１】
コンピュータ・システム／サーバ１００２は、キーボード、ポインティング・デバイス、ディスプレイ１０２０、等などの、１つまたは複数の外部デバイス１０１８、コンピュータ・システム／サーバ１００２とユーザが対話できるようにする１つもしくは複数のデバイス、または１つもしくは複数の他のコンピューティング・デバイスとコンピュータ・システム／サーバ１００２が通信できるようにする任意のデバイス（例えば、ネットワーク・カード、モデム、等）、あるいはその組合せと通信することもできる。このような通信は、入力／出力（Ｉ／Ｏ：Input/Output）インターフェース１０２２を介して発生させることができる。さらに、コンピュータ・システム／サーバ１００２は、ネットワーク・アダプタ１０２４を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的な広域ネットワーク（ＷＡＮ）、またはパブリック・ネットワーク（例えばインターネット）、あるいはその組合せなどの、１つまたは複数のネットワークと通信することができる。描写されるように、ネットワーク・アダプタ１０２４は、バス１００８を介して、コンピュータ・システム／サーバ１００２の他の構成要素と通信する。図示されていないが、他のハードウェアまたはソフトウェア構成要素あるいはその両方が、コンピュータ・システム／サーバ１００２と共に使用されてよいということを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム、等を含むがこれらに限定されない。
【０１１２】
本明細書で使用されるｉ、ｊ、およびｎなどの参照文字は、同じまたは異なる値を表し得る可変数の要素のインスタンスを表すために使用され、説明される様々なインスタンスにおいて異なるまたは同じ要素と共に使用されるときに同じまたは異なる値を表すことができる。
【０１１３】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに行わせるための、コンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体（または複数の媒体）を含むことができる。
【０１１４】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形デバイスでよい。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらなる具体例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ：read-only memory）、消去可能プログラマブル・リード・オンリ・メモリ（ＥＰＲＯＭ（erasable programmable read-only memory）すなわちフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：Static random access memory）、携帯型コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ：compact disc read-only memory）、デジタル多用途ディスク（ＤＶＤ：digital versatile disk）、メモリ・スティック、フロッピー・ディスク、記録された命令を有するパンチ・カードまたは溝内の隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、またはワイヤを通じて伝送される電気信号などの一時的な信号自体と解釈されるべきではない。
【０１１５】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から個々のコンピューティング／処理デバイスに、あるいは例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといったネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされてよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えることができる。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、個々のコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【０１１６】
本発明の動作を行うためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ：instruction-set-architecture）命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＪａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む１つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでよい。コンピュータ可読プログラム命令は、スタンド・アロンのソフトウェア・パッケージとして、全面的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で実行することができ、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてよく、また接続は、（例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて）外部コンピュータに対して行われてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路機器、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：field-programmable gate arrays）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：programmable logic arrays）を含む電子回路機器は、本発明の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行することができる。
【０１１７】
本発明の態様は、本発明の実施形態による、方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照しながら本明細書で説明される。フローチャートまたはブロック図あるいはその両方の各ブロック、およびフローチャートまたはブロック図あるいはその両方の中のブロックの組合せは、コンピュータ可読プログラム命令によって実行されてよいということが理解されよう。
【０１１８】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行する命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定された機能／作用を実行するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定された機能／作用の態様を実行する命令を含む製品を備えるべく、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の手法で機能するように指示できるものであってもよい。
【０１１９】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックに指定された機能／作用を実行するべく、コンピュータ実行処理を生み出すように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを行わせるものであってもよい。
【０１２０】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の中の各ブロックは、指定された論理機能を実行するための１つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表すことができる。いくつかの代替実装形態において、ブロックに記された機能は、図に記されたものとは異なる順序で発生してよい。例えば、連続して示される２つのブロックは、関連する機能に応じて、実際には実質的に同時に実行されてよく、またブロックは時には、逆の順番で実行されてもよい。ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方の中のブロックの組合せは、指定された機能または作用を行うか、専用のハードウェアとコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実行されてよいということにも留意されたい。
【０１２１】
用語「ある実施形態（an embodiment）」、「実施形態（embodiment）」、「複数の実施形態（embodiments）」、「その実施形態（the embodiment）」、「それらの実施形態（the embodiments）」、「１つまたは複数の実施形態（one or more embodiments）」、「いくつかの実施形態（some embodiments）」、および「１つの実施形態（one embodiment）」は、別途、明確に指定されない限り、「本発明の１つまたは複数の（しかし、すべてではない）実施形態」を意味する。
【０１２２】
用語「含む（including）」、「備える（comprising）」、「有する（having）」、およびその変形形態は、別途、明確に指定されない限り「含むが限定されない（including but not limited to）」を意味する。
【０１２３】
項目の列挙された一覧は、別途、明確に指定されない限り、項目のいずれかまたはすべてが相互に排他的であることを意味しない。
【０１２４】
用語「ある（ａ）」、「ある（ａｎ）」、および「その（ｔｈｅ）」は、別途、明確に指定されない限り「１つまたは複数」を意味する。
【０１２５】
互いに通信状態にある複数のデバイスは、別途、明確に指定されない限り、互いに継続的な通信状態にある必要はない。さらに、互いに通信状態にある複数のデバイスは、１つまたは複数の中間体を通じて直接的または間接的に通信することができる。
【０１２６】
互いに通信状態にあるいくつかの構成要素を伴う実施形態の説明は、このような構成要素のすべてが要求されることを意味しない。反対に、本発明の可能な実施形態の広い多様性を示す様々な任意選択の構成要素が説明される。
【０１２７】
単一のデバイスまたは品目が本明細書で説明されるとき、２つ以上のデバイス／品目が（これらが連携してもしなくても）、単一のデバイス／品目の代わりに使用されてよいということが容易に明らかになるであろう。同様に、２つ以上のデバイスまたは品目が本明細書で説明される場合（これらが連携してもしなくても）、単一のデバイス／品目が、２つ以上のデバイスまたは品目の代わりに使用されてよく、また様々な数のデバイス／品目が、示された数のデバイスまたはプログラムの代わりに使用されてもよいということが容易に明らかになるであろう。デバイスの機能または特徴あるいはその両方は、このような機能／特徴を有するものとして明確に説明されない１つまたは複数の他のデバイスによって代替として具現化されてよい。したがって、本発明の他の実施形態は、これらのデバイス自体を含む必要はない。
【０１２８】
本発明の様々な実施形態の前述の説明が例証および説明のために提示された。これは、本発明を網羅するためのものではなく、また開示された精密な形に限定するためのものでもない。多くの変更および変形が上記の教示の観点から可能である。本発明の範囲は、本詳細な説明によって限定されるのではなく、むしろ本明細書に添付の特許請求の範囲によって限定されることが意図される。上記の明細書、例、およびデータは、本発明の構成物の製造および使用を完全に説明する。本発明の思想および範囲から逸脱することなく、本発明の多くの実施形態が行われ得るので、本発明は後に添付された本明細書の特許請求の範囲にある。
【図１】
2020502635.tif 000003
【図２】
2020502635.tif 000004
【図３】
2020502635.tif 000005
【図４】
2020502635.tif 000006
【図５】
2020502635.tif 000007
【図６】
2020502635.tif 000008
【図７】
2020502635.tif 000009
【図８】
2020502635.tif 000010
【図９】
2020502635.tif 000011
【図１０】
2020502635.tif 000012
【図１１】
2020502635.tif 000013
【図１２】
2020502635.tif 000014
【図１３】
2020502635.tif 000015
【図１４】
2020502635.tif 000016
【手続補正書】
【提出日】令和1年8月23日(2019.8.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の場所にあるホストおよび１次ストレージ・システムであって、前記１次ストレージ・システムが、１次ストレージ・コントローラ、および前記１次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第１のストレージ・ユニットを有する、前記ホストおよび前記１次ストレージ・システムと、前記第１の場所から離れた第２の場所にある２次ストレージ・システムであって、前記２次ストレージ・システムが、２次ストレージ・コントローラ、および前記２次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第２のストレージ・ユニットを有する、前記２次ストレージ・システムと、によって使用するための前記１次ストレージ・コントローラであって、前記１次ストレージ・コントローラが、
前記第１のストレージ・ユニットの第１のデータ・ユニットから前記第２のストレージ・ユニットの第２のデータ・ユニットにデータを非同期的にミラーリングするように構成されるデータ・ミラーリング・ロジックと、
前記第１のデータ・ユニットの第１のポイントインタイム・スナップ・コピーを行うために、第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを前記第１のストレージ・ユニットの第３のデータ・ユニットにコピーするように構成されるローカル・データ・コピー・ロジックと、
前記第２のデータ・ユニットの第２のポイントインタイム・スナップ・コピーを行うために、第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを前記第２のストレージ・ユニットの第４のデータ・ユニットにコピーするように、前記２次ストレージ・システムにコマンドを発行するように構成されるコマンド・ロジックと
を含む、整合したローカル・コピーおよびリモート・コピーの生成ロジックを含み、
前記第３のデータ・ユニットと前記第４のデータ・ユニットの両方が、前記第１のポイントインタイム時点の前記第１のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送することを含む、前記第１のポイントインタイム時点の前記第４のデータ・ユニットのデータを前記第１のデータ・ユニットに同期するように構成される同期ロジックを、前記１次ストレージ・コントローラの前記データ・ミラーリング・ロジックが含む、
ストレージ・システム。
【請求項２】
前記コマンド・ロジックが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを前記第３のデータにコピーする第１のポイントインタイム・スナップ・コピー・コマンドを、前記ローカル・データ・コピー・ロジックに発行するようにさらに構成され、前記ローカル・データ・コピー・ロジックが、前記第１のデータ・ユニットの前記第１のポイントインタイム・スナップ・コピーを行うために、前記第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを前記第３のデータ・ユニットにコピーする、第１のポイントインタイム・スナップ・コピー・コマンドを実行するようにさらに構成され、
前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックが、前記第１のデータ・ユニットへのホスト入力を休止すること、および前記第１のデータ・ユニットへのホスト入力を休止した後、前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングをアイドリングさせることを行うように構成される中断ロジックをさらに含む、
請求項１に記載のストレージ・システム。
【請求項３】
前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記ローカル・データ・コピー・ロジックが、前記第１のポイントインタイム・スナップ・コピー・コマンドを実行する際に、前記第１のポイントインタイム時点で前記第１のデータ・ユニットから前記第３のデータ・ユニットに転送されていないトラックを示す第１のターゲット・ビットマップを生成するようにさらに構成され、
前記第１のデータ・ユニットから前記第２のデータ・ユニットにデータをミラーリングする際に、前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記データ・ミラーリング・ロジックが、前記第１のデータ・ユニットから前記第２のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第１の同期喪失ビットマップを生成するようにさらに構成される、
請求項２に記載のストレージ・システム。
【請求項４】
前記１次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記データ・ミラーリング・ロジックが、前記第４のデータ・ユニットにまだミラーリングされていないトラックがあることを示すために、前記第１の同期喪失ビットマップを第２の同期喪失ビットマップにコピーするようにさらに構成され、
第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを前記第２のストレージ・ユニットの第４のデータ・ユニットにコピーするように、前記２次ストレージ・システムにコマンドを発行する際の前記コマンド・ロジックが、前記第２のデータ・ユニットから前記第４のデータ・ユニットに転送されていないトラックを示す第２のターゲット・ビットマップを生成するように、前記２次ストレージ・システムに第２のポイントインタイム・スナップ・コピー・コマンドを発行するようにさらに構成される、
請求項３に記載のストレージ・システム。
【請求項５】
前記１次ストレージ・コントローラの前記中断ロジックが、前記第１のデータ・ユニットへのホスト入力を休止しないこと、および前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングを再開することを行うようにさらに構成される、請求項２に記載のストレージ・システム。
【請求項６】
前記２次ストレージ・システムに第２のポイントインタイム・スナップ・コピー・コマンドを前記コマンド・ロジックが発行する際に、前記２次ストレージ・コントローラの前記ローカル・データ・コピー・ロジックが、前記第２のデータ・ユニットから前記第４のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第２のターゲット・ビットマップが示す場合に、前記第２のデータ・ユニットのトラックを前記第４のデータ・ユニットにバックグラウンド・コピーするように前記２次ストレージ・システムに指令するようにさらに構成され、
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送する際の前記データ・ミラーリング・ロジックの前記同期ロジックが、前記第４のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第２の同期喪失ビットマップを処理すること、ならびに前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることを行うようにさらに構成される、
請求項４に記載のストレージ・システム。
【請求項７】
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送する際の前記データ・ミラーリング・ロジックの前記同期ロジックが、前記第１のデータ・ユニットから前記第３のデータ・ユニットにデータ・トラックが転送されていないことを前記第１のターゲット・ビットマップが示す場合に、前記第３のデータ・ユニットの前記データ・トラックのデータを前記第１のデータ・ユニットから得ること、および前記データを前記第４のデータ・ユニットにミラーリングすることを行うようにさらに構成され、
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーする際の前記１次ストレージ・コントローラの前記ローカル・データ・コピー・ロジックが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットと前記第３のデータ・ユニットとの整合性グループを形成するようにさらに構成される、
請求項６に記載のストレージ・システム。
【請求項８】
前記第１のデータ・ユニットが第１のボリュームであり、前記第２のデータ・ユニットが第２のボリュームである、請求項１に記載のストレージ・システム。
【請求項９】
第１の場所にある第１のストレージ・ユニットに格納された第１のデータ・ユニットから第２の場所にある第２のストレージ・ユニットに格納された第２のデータ・ユニットにデータを非同期的にミラーリングすることと、
前記第１のデータ・ユニットの第１のポイントインタイム・スナップ・コピーを始めるために、第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることと、
前記第２のデータ・ユニットの第２のポイントインタイム・スナップ・コピーを始めるために、第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることと、
前記第１のポイントインタイム時点の前記第１のユニットのデータに前記第４のデータ・ユニットの前記データを同期することであって、前記同期することが、前記第３のデータ・ユニットと前記第４のデータ・ユニットの両方が、前記第１のポイントインタイム時点の前記第１のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータをコピーすることを含む、前記同期することと
を含む、方法。
【請求項１０】
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることが、第１のポイントインタイム・スナップ・コピー・コマンドを実行することを含み、前記方法が、
前記第１のデータ・ユニットへのホスト入力を休止することと、
前記第１のデータ・ユニットへのホスト入力／出力を休止した後、前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングをアイドリングさせることと
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記第１のポイントインタイム・スナップ・コピー・コマンドを実行することが、前記第１のポイントインタイム時点で前記第１のデータ・ユニットから前記第３のデータ・ユニットに転送されていないトラックを示す第１のターゲット・ビットマップを生成することを含み、
前記第１のデータ・ユニットから前記第２のデータ・ユニットにデータをミラーリングすることが、前記第１のデータ・ユニットから前記第２のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第１の同期喪失ビットマップを生成することを含む、
請求項１０に記載の方法。
【請求項１２】
前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにまだ転送されていない選択されたトラックがあることを示すために、第２の同期喪失ビットマップに前記第１の同期喪失ビットマップをコピーすることをさらに含み、前記第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることが、前記第２のポイントインタイム時点で前記第２のデータ・ユニットから前記第４のデータ・ユニットに転送されていないトラックを示す第２のターゲット・ビットマップを生成する、第２のポイントインタイム・スナップ・コピー・コマンドを実行することを含む、請求項１１に記載の方法。
【請求項１３】
前記第１のデータ・ユニットへのホスト入力を休止しないことと、
前記第１のデータ・ユニットから前記第２のデータ・ユニットへのデータのミラーリングを再開することと
をさらに含む、請求項１０に記載の方法。
【請求項１４】
第２のポイントインタイム時点の前記第２のデータ・ユニットのデータを第４のデータ・ユニットにコピーすることが、前記第２のデータ・ユニットから前記第４のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第２のターゲット・ビットマップが示す場合に、前記第２のデータ・ユニットのトラックを前記第４のデータ・ユニットにバックグラウンド・コピーすることをさらに含み、
前記第１のポイントインタイム時点の前記第１のデータ・ユニットに前記第４のデータ・ユニットの前記データを同期するために、前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットに、選択されたデータを転送することが、前記第４のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第２の同期喪失ビットマップを処理すること、ならびに前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの前記少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることを含む、
請求項１２に記載の方法。
【請求項１５】
前記第１のデータ・ユニットおよび前記第３のデータ・ユニットのうちの少なくとも１つから前記第４のデータ・ユニットにトラックをミラーリングすることが、前記第１のデータ・ユニットから前記第３のデータ・ユニットにデータ・トラックが転送されていないことを前記第１のターゲット・ビットマップが示す場合に、前記第３のデータ・ユニットの前記データ・トラックのデータを前記第１のデータ・ユニットから得ること、および前記得られたデータを前記第４のデータ・ユニットにミラーリングすることを含み、
第１のポイントインタイム時点の前記第１のデータ・ユニットのデータを第３のデータ・ユニットにコピーすることが、前記第１のポイントインタイム時点の前記第１のデータ・ユニットと前記第３のデータ・ユニットとの整合性グループを形成することを含む、
請求項１４に記載の方法。
【請求項１６】
前記第１のデータ・ユニットが第１のボリュームであり、前記第２のデータ・ユニットが第２のボリュームである、請求項９に記載の方法。
【請求項１７】
請求項９〜１６の何れか１項に記載の方法をコンピュータシステムに実行させるコンピュータ・プログラム。
【請求項１８】
請求項１７に記載の前記コンピュータ・プログラムをコンピュータ可読ストレージ媒体に記録した、ストレージ媒体。
【国際調査報告】
2020502635.tif 000017
2020502635.tif 000018