(57)【要約】      （修正有）【課題】データをミラーリングする方法、システム、およびプログラムを提供すること。【解決手段】第１のコピー書込みが指定されている場合、この更新は、この対応するターゲット・データ・ユニットへの第１の書込みモード中にソース・データ・ユニットへとコピーされる。そうでなくて、第１の書込みモードが指定されていない場合には、この更新は、第２の書込みモード中に、ターゲット・データ・ユニットに対応するソース・データ・ユニットへとコピーされる。第１の書込みモードが指定されていない場合には、この関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さいかどうかについて判定がなされ、この関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さい場合には、第１の書込みモードが指定される。【選択図】図１
2005352831.tif 000002
【特許請求の範囲】
【請求項１】
一次記憶装置中の複数のソース・データ・ユニットと二次記憶装置中の対応する複数のターゲット・データ・ユニットとの間の関係を確立するステップと、
前記対応するターゲット・データ・ユニットに対して前記関係にあるすべてのソース・データ・ユニットの初期コピーを実施する動作を開始するステップと、
ソース・データ・ユニットに対する更新を受け取るステップと、
第１の書込みモードが指定されているかどうかを判定するステップと、
前記第１のコピー書込みが指定されている場合、前記対応するターゲット・データ・ユニットへの前記第１の書込みモード中に前記更新を前記ソース・データ・ユニットにコピーするステップと、
前記第１の書込みモードが指定されていない場合には、第２の書込みモード中に、前記更新をターゲット・データ・ユニットに対応する前記ソース・データ・ユニットにコピーするステップと、
前記第１の書込みモードが指定されていない場合には、前記関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さいかどうかを判定するステップと、
前記関係に従うすべてのデータ・ユニットについての前記書込み数が前記閾値よりも小さい場合には、前記第１の書込みモードを指定するステップと
を含む、データをミラーリングする方法。
【請求項２】
前記第１の書込みモードが、同期書込みモードを含み、前記第２の書込みモードが、非同期書込みモードを含む、請求項１に記載の方法。
【請求項３】
前記初期コピーの一部として前記対応するターゲット・データ・ユニットにコピーされる前記ソース・データ・ユニットが、前記第１の書込みモード中にコピーされる、請求項１に記載の方法。
【請求項４】
対応するターゲット・データ・ユニットにコピーするようにソース・データ・ユニットに指示するデータ構造を提供するステップと、
すべてのソース・データ・ユニットを前記対応するターゲット・データ・ユニットに前記第２の書込みモード中に前記初期コピーを実施する前記動作の一部としてコピーするように前記データ構造中で指示するステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記データ構造を処理して前記対応するターゲット・データ・ユニットにコピーするための前記データ構造中で指示されるソース・データ・ユニットを決定するステップと、
すべての決定されたソース・データ・ユニットを前記第２の書込みモード中に前記対応するターゲット・データ・ユニットにコピーするステップとをさらに含み、前記第２の書込みモード中にコピーされる前記ターゲット・データ・ユニットに対する前記更新が、すべての前記決定されたソース・データ・ユニットの前記コピーするステップの一部としてコピーされる、請求項４に記載の方法。
【請求項６】
前記更新を受け取るのに応答して、前記第１の書込みモードが指定されていない場合に、前記更新されたソース・データ・ユニットを前記ターゲット・データ・ユニットにコピーするように前記データ構造中で指示するステップをさらに含む、請求項５に記載の方法。
【請求項７】
前記データ構造を処理する前記ステップおよびすべての決定されたソース・データ・ユニットをコピーする前記ステップが、前記データ構造がどのソース・データ・ユニットにも前記対応するターゲット・データ・ユニットにコピーするように指示しなくなるまで実施される、請求項５に記載の方法。
【請求項８】
前記初期コピーが、前記データ構造を処理する前記ステップとすべての決定されたソース・データ・ユニットをコピーする前記ステップとを実施する第１の時間を含む、請求項７に記載の方法。
【請求項９】
前記関係にある前記ソース・データ・ユニットおよび前記ターゲット・データ・ユニットがボリューム対中にあり、前記関係に従うすべてのデータ・ユニットについての前記書込み数が閾値よりも小さいかどうかを判定するステップが、すべてのボリューム対についての前記書込み数が前記閾値よりも小さいかどうかを判定するステップを含み、前記関係に従うすべてのボリューム対についての前記書込み数が前記閾値よりも小さい場合に、前記第１の書込みモードが、前記関係にあるすべてのボリューム対について指定される、請求項１に記載の方法。
【請求項１０】
コピーすべきソース・データ・ユニットの前記数が前記閾値数よりも小さいかどうかを判定するステップが、前記関係にあるすべての前記ソース・データ・ユニットのうちのコピーするよう指示されるソース・データ・ユニットのパーセンテージが閾値数よりも小さいかどうかを判定するステップを含む、請求項９に記載の方法。
【請求項１１】
一次記憶装置と、
二次記憶装置と、
前記一次記憶装置中の複数のソース・データ・ユニットと前記二次記憶装置中の対応する複数のターゲット・データ・ユニットとの間の関係を確立する手段と、
前記対応するターゲット・データ・ユニットに対して前記関係にあるすべてのソース・データ・ユニットの初期コピーを実施する動作を開始する手段と、
ソース・データ・ユニットに対する更新を受け取る手段と、
第１の書込みモードが指定されているかどうかを判定する手段と、
前記第１のコピー書込みが指定されている場合、前記対応するターゲット・データ・ユニットへの前記第１の書込みモード中に前記更新を前記ソース・データ・ユニットにコピーする手段と、
前記第１の書込みモードが指定されていない場合には、第２の書込みモード中に、前記更新をターゲット・データ・ユニットに対応する前記ソース・データ・ユニットにコピーする手段と、
前記第１の書込みモードが指定されていない場合には、前記関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さいかどうかを判定する手段と、
前記関係に従うすべてのデータ・ユニットについての前記書込み数が前記閾値よりも小さい場合には、前記第１の書込みモードを指定する手段と
を備える、データをミラーリングするシステム。
【請求項１２】
前記第１の書込みモードが、同期書込みモードを含み、前記第２の書込みモードが、非同期書込みモードを含む、請求項１１に記載のシステム。
【請求項１３】
データ構造を含むメモリと、
対応するターゲット・データ・ユニットにコピーするようにソース・データ・ユニットに前記データ構造中で指示する手段と、
すべてのソース・データ・ユニットを前記対応するターゲット・データ・ユニットに前記第２の書込みモード中に前記初期コピーを実施する前記動作の一部としてコピーするように前記データ構造中で指示する手段と
をさらに備える、請求項１１に記載のシステム。
【請求項１４】
前記データ構造を処理して前記対応するターゲット・データ・ユニットにコピーするための、前記データ構造中で指示されるソース・データ・ユニットを決定する手段と、
すべての決定されたソース・データ・ユニットを前記第２の書込みモード中に前記対応するターゲット・データ・ユニットにコピーする手段とをさらに備え、前記第２の書込みモード中にコピーされる前記ターゲット・データ・ユニットに対する前記更新が、すべての前記決定されたソース・データ・ユニットの前記コピーするステップの一部としてコピーされる、請求項１３に記載のシステム。
【請求項１５】
前記更新を受け取るのに応答して、前記第１の書込みモードが指定されていない場合に、前記更新されたソース・データ・ユニットを前記ターゲット・データ・ユニットにコピーするように前記データ構造中で指示する手段をさらに備える、請求項１４に記載のシステム。
【請求項１６】
前記データ構造を処理する前記ステップおよびすべての決定されたソース・データ・ユニットをコピーする前記ステップが、前記データ構造がどのソース・データ・ユニットにも前記対応するターゲット・データ・ユニットにコピーするように指示しなくなるまで実施される、請求項１５に記載のシステム。
【請求項１７】
前記関係にある前記ソース・データ・ユニットおよび前記ターゲット・データ・ユニットがボリューム対中にあり、前記関係に従うすべてのデータ・ユニットについての前記書込み数が閾値よりも小さいかどうかを判定する手段が、すべてのボリューム対についての前記書込み数が前記閾値よりも小さいかどうかを判定し、前記関係に従うすべてのボリューム対についての前記書込み数が前記閾値よりも小さい場合に、前記第１の書込みモードが、前記関係にあるすべてのボリューム対について指定される、請求項１４に記載のシステム。
【請求項１８】
コピーすべきソース・データ・ユニットの前記数が前記閾値数よりも小さいかどうかを判定する前記手段が、前記関係にあるすべての前記ソース・データ・ユニットのうちのコピーするよう指示されるソース・データ・ユニットのパーセンテージが閾値数よりも小さいかどうかを判定する、請求項１７に記載のシステム。
【請求項１９】
一次記憶装置と二次記憶装置の間でデータをミラーリングする製品であって、前記製品が、動作を実施させるようになっており、前記動作が
前記一次記憶装置中の複数のソース・データ・ユニットと前記二次記憶装置中の対応する複数のターゲット・データ・ユニットとの間の関係を確立するステップと、
前記対応するターゲット・データ・ユニットに対して前記関係にあるすべてのソース・データ・ユニットの初期コピーを実施する動作を開始するステップと、
ソース・データ・ユニットに対する更新を受け取るステップと、
第１の書込みモードが指定されているかどうかを判定するステップと、
前記第１のコピー書込みが指定されている場合、前記対応するターゲット・データ・ユニットへの前記第１の書込みモード中に前記更新を前記ソース・データ・ユニットにコピーするステップと、
前記第１の書込みモードが指定されていない場合には、第２の書込みモード中に、前記更新をターゲット・データ・ユニットに対応する前記ソース・データ・ユニットにコピーするステップと、
前記第１の書込みモードが指定されていない場合には、前記関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さいかどうかを判定するステップと、
前記関係に従うすべてのデータ・ユニットについての前記書込み数が前記閾値よりも小さい場合には、前記第１の書込みモードを指定するステップと
を含む、製品。
【請求項２０】
前記第１の書込みモードが、同期書込みモードを含み、前記第２の書込みモードが、非同期書込みモードを含む、請求項１９に記載の製品。
【請求項２１】
前記初期コピーの一部として前記対応するターゲット・データ・ユニットにコピーされる前記ソース・データ・ユニットが、前記第１の書込みモード中にコピーされる、請求項１９に記載の製品。
【請求項２２】
前記動作が、
対応するターゲット・データ・ユニットにコピーするようにソース・データ・ユニットに指示するデータ構造を提供するステップと、
すべてのソース・データ・ユニットを前記対応するターゲット・データ・ユニットに前記第２の書込みモード中に前記初期コピーを実施する前記動作の一部としてコピーするように前記データ構造中で指示するステップと
をさらに含む、請求項１９に記載の製品。
【請求項２３】
前記動作が、
前記データ構造を処理して前記対応するターゲット・データ・ユニットにコピーするための前記データ構造中で指示されるソース・データ・ユニットを決定するステップと、
すべての決定されたソース・データ・ユニットを前記第２の書込みモード中に前記対応するターゲット・データ・ユニットにコピーするステップとをさらに含み、前記第２の書込みモード中にコピーされる前記ターゲット・データ・ユニットに対する前記更新が、すべての前記決定されたソース・データ・ユニットの前記コピーするステップの一部としてコピーされる、請求項２２に記載の製品。
【請求項２４】
前記動作が、
前記更新を受け取るのに応答して、前記第１の書込みモードが指定されていない場合に、前記更新されたソース・データ・ユニットを前記ターゲット・データ・ユニットにコピーするように前記データ構造中で指示するステップをさらに含む、請求項２３に記載の製品。
【請求項２５】
前記データ構造を処理する前記ステップおよびすべての決定されたソース・データ・ユニットをコピーする前記ステップが、前記データ構造がどのソース・データ・ユニットにも前記対応するターゲット・データ・ユニットにコピーするよう指示しなくなるまで実施される、請求項２３に記載の製品。
【請求項２６】
前記初期コピーが、前記データ構造を処理する前記ステップとすべての決定されたソース・データ・ユニットをコピーする前記ステップとを実施する第１の時間を含む、請求項２５に記載の製品。
【請求項２７】
前記関係にある前記ソース・データ・ユニットおよび前記ターゲット・データ・ユニットがボリューム対中にあり、前記関係に従うすべてのデータ・ユニットについての前記書込み数が閾値よりも小さいかどうかを判定するステップが、すべてのボリューム対についての前記書込み数が前記閾値よりも小さいかどうかを判定するステップを含み、前記関係に従うすべてのボリューム対についての前記書込み数が前記閾値よりも小さい場合に、前記第１の書込みモードが、前記関係にあるすべてのボリューム対について指定される、請求項１９に記載の製品。
【請求項２８】
コピーすべきソース・データ・ユニットの前記数が前記閾値数よりも小さいかどうかを判定するステップが、前記関係にあるすべての前記ソース・データ・ユニットのうちのコピーするよう指示されるソース・データ・ユニットのパーセンテージが閾値数よりも小さいかどうかを判定するステップを含む、請求項２７に記載の製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイト間でデータをミラーリングするシステム、方法、およびプログラムに関する。
【背景技術】
【０００２】
障害回復システムでは一般に、２つのタイプの障害、すなわち、時間のある１ポイントにおける突然の破局的な障害、またはある期間にわたってのデータ損失に対する対処がなされる。第２のタイプの斬新的な障害では、ボリュームに対する更新が失われる可能性がある。データ更新の回復を助けるために、データのコピーがリモート位置に提供される。かかるデュアル・コピーまたはシャドウ・コピーは一般に、アプリケーション・システムが、一次記憶装置に新しいデータを書き込むときに作成される。主題の本特許出願の譲受人であるインターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ）は、二次サイトにデータのリモート・コピーを保持する２つのシステム、すなわちＸＲＣ（extended remote copy拡張リモート・コピー）およびＰＰＲＣ（peer-to-peer remote copyピアツーピア・リモート・コピー）を提供している。これらのシステムでは、最後の安全な更新とシステム障害の間でデータ更新を回復する方法が提供される。かかるデータ・シャドウイング・システムでは、リモート・サイトにおけるローカル・アクセスなどの回復目的以外の追加リモート・コピーも提供することができる。かかるＩＢＭのＸＲＣシステムおよびＰＰＲＣシステムについては、本明細書中に関係する、ＩＢＭの発行による「リモート・コピー：管理者のガイドおよびリファレンス（RemoteCopy：Administrator's Guide and Reference）」ＩＢＭドキュメント（IBM document）、Ｎｏ．ＳＣ３５−０１６９−０２（ＩＢＭ著作権１９９４、１９９６）に記載されている。
【０００３】
データがミラーリングされるバックアップ・システムでは、データは、ボリューム対として保持される。ボリューム対は、一次記憶装置のボリュームと、一次ボリューム中に保持されるデータの同一コピーを含む、二次記憶装置中の対応するボリュームから成っている。一般に、この対のうちの一次ボリュームは、一次ＤＡＳＤ（direct access storage device直接アクセス記憶装置）に保持され、この対のうちの二次ボリュームは、一次ＤＡＳＤ上のデータをシャドウイングする二次ＤＡＳＤ中に保持される。一次記憶制御装置が、一次ＤＡＳＤへのアクセスを制御するように設けられ、二次記憶制御装置が、二次ＤＡＳＤへのアクセスを制御するように設けられることもある。
【０００４】
対等関係がソース・ボリュームとターゲット・ボリュームの間で確立されると、初期コピー動作が開始されてすべてのソース・ボリューム中のすべてのトラックが対等関係にあるターゲット・ボリュームにコピーされる。初期コピーは、ソース・ボリューム中のトラックを表すビットマップ中のビットを設定することにより開始されて、ソース・トラックを対応するターゲット・トラックにコピーするように指示が行われる。ボリューム・ビットマップの最初のパスの一環として、一次記憶制御装置は、対応するターゲット・トラックに関係のある最初のボリュームの最初のトラックから最後のボリュームの最後のトラックへと非同期的にコピーを行うことになる。この関係に含まれるボリューム中の各トラックをコピーした後、一次記憶制御装置は、コピーされたトラックの対応するビットを、そのトラックがコピーされたことを示す「オフ（off）」に設定することになる。このビットマップ・テーブルの最初の通過中に、あるトラックに対する更新を受ける場合、更新すべきそのトラックに対応するビットは「オン（on）」に設定される。ビットマップ・テーブルの第２のパス中に、対応するビットが「オン」であるソース・トラックだけが対応するターゲット記憶トラックに非同期的にコピーされる。さらに、第２フェーズ中に、ローカル一次記憶装置が受けた更新はどれも、二次サイトに同期的にコピーされる。したがって、ビットマップ・テーブルの最初のパスの後に、この関係のソース・トラックに対する更新はどれも同期的にコピーされ、ここでは、ターゲット・トラックに対する書込みが完了するまでアプリケーションに、「完了（complete）」は戻されない。
【０００５】
初期コピー動作中の帯域幅の使用を最適化するために、この確立用の初期コピーをサブセットに分割し、その結果、このボリュームが初期コピー中にグループに分けてコピーされるようにすることができる。例えば、この関係で１００個のボリュームがある場合には、ボリュームのグループに、例えば５つのボリュームに関して、ビットマップ・テーブルの第１および第２のパスを実施することによって初期コピーを実装することができる。次いで、第１および第２のビットマップ・テーブルのパスを次に続くボリューム・グループに関して実施することになる。１グループのボリュームに対する最初のパスを実行した後、最初のパスの対象となった、かかるボリュームに対する書込みはどれも、対応するターゲット・トラックに同期的にコピーされる。しかし、同期的な書込みおよび初期コピーの組は同じ物理接続を共用するので、より多くのボリュームが初期コピーを完了するにつれ、同期的な書込み数は、最初のパスの対象となるボリューム数が増加するので増加する。進行中の初期コピー動作と帯域幅を共用する同期書込み数のこの増加によって、伝送遅延が引き起こされ、それによって、ソース・トラックに対する更新を開始するアプリケーションへの「完了」を戻す際の遅延が増加することもある。同期書込みを使用して、この更新が正常にターゲット・トラックにミラーリングされるまで「完了」を戻さないことを保証することによって二次サイトにおけるデータの保全性が改善される。
【非特許文献１】「リモート・コピー：管理者のガイドおよびリファレンス（RemoteCopy：Administrator's Guide and Reference）」ＩＢＭドキュメント（IBM document）、Ｎｏ．ＳＣ３５−０１６９−０２（ＩＢＭ著作権１９９４、１９９６）
【非特許文献２】「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅエンタープライズ・ストレージ・サーバＰＰＲＣ拡張距離（IBM TotalStorage Enterprise Storage Server PPRC Extended Distance）」、ドキュメントＮｏ．ＳＧ２４−６５６８−００（ＩＢＭ著作権、２００２年６月）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
データをミラーリングする方法、システム、およびプログラムが提供される。
【課題を解決するための手段】
【０００７】
一次記憶装置中の複数のソース・データ・ユニットと二次記憶装置中の対応する複数のターゲット・データ・ユニットとの間の関係が確立される。対応するターゲット・データ・ユニットに対してこの関係にあるすべてのソース・データ・ユニットの初期コピーを実施する動作が開始される。ソース・データ・ユニットに対する更新を受け取り、第１の書込みモードが指定されているかどうかについて判定が行われる。第１のコピー書込みが指定されている場合、この更新は、この対応するターゲット・データ・ユニットへの第１の書込みモード中にソース・データ・ユニットへとコピーされる。そうでなくて、第１の書込みモードが指定されていない場合には、この更新は、第２の書込みモード中に、ターゲット・データ・ユニットに対応するソース・データ・ユニットへとコピーされる。第１の書込みモードが指定されない場合には、この関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さいかどうかについて判定がなされ、この関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さい場合には、第１の書込みモードが指定される。
【０００８】
ある種の実装形態では、第１の書込みモードが同期書込みモードを含み、第２の書込みモードが非同期書込みモードを含む。
【０００９】
さらなる実装形態では、ソース・データ・ユニットを対応するターゲット・データ・ユニットへコピーするように指示するデータ構造が提供される。このデータ構造では、すべてのソース・データ・ユニットを対応するターゲット・データ・ユニットに第２の書込みモード中に初期コピーを実施する動作の一部としてコピーするように指示がなされる。
【００１０】
さらに、このデータ構造が処理されて、対応するターゲット・データ・ユニットにコピーするための、このデータ構造中で指示されるソース・データ・ユニットを決定することができ、すべての決定されたソース・データ・ユニットを第２の書込みモード中に対応するターゲット・データ・ユニットにコピーすることができ、この第２の書込みモード中にコピーされたターゲット・データ・ユニットに対する更新はすべての決定されたソース・データ・ユニットをコピーするステップの一部としてコピーされる。
【００１１】
さらに他の実装形態では、この関係にあるソース・データ・ユニットおよびターゲット・データ・ユニットは、ボリューム対中にあり、ここで、この関係に従うすべてのデータ・ユニットについての書込み数が閾値よりも小さいかどうかを判定するステップが、すべてのボリューム対についての書込み数が閾値よりも小さいかどうかを判定するステップを含み、この関係に従うすべてのボリューム対についての書込み数が閾値よりも小さい場合にはこの関係にあるすべてのボリューム対について第１の書込みモードが指定される。
【００１２】
以上に記載の実装形態は、異なる状況に対して異なる書込みモードを使用してミラーリング・コピー動作の実施を最適化する、一次記憶装置と二次記憶装置の間でデータをミラーリングする技法を提供している。
【００１３】
図面を次に参照すると、図中で、同様な参照番号は、全体にわたって対応する部分を示している。
【発明を実施するための最良の形態】
【００１４】
以下の説明においては、本明細書の一部を成し、本発明のいくつかの実施形態を示す添付図面の参照を行っている。他の実施形態を利用することも可能であり、本発明の範囲を逸脱することなく構造上および動作上の変更を行うことができることを理解されたい。
【００１５】
図１に本発明の態様を実装することができるネットワーク計算機環境を示す。一次記憶制御装置２ａおよび二次記憶制御装置２ｂが、接続４上で通信を行う。記憶制御装置２ａ、２ｂには、それぞれ記憶管理ソフトウェア６ａ、６ｂ、および接続された記憶システム８ａ、８ｂがある。記憶システム８ａおよび８ｂは、それぞれボリューム１０ａ、１０ｂ．．１０ｎ、および１２ａ、１２ｂ．．１２ｎを含む。記憶制御装置２ａ、２ｂは互いに、同じ建物など、比較的近接した地理的な地域内に、同じキャンパス、同じ市などの異なる建物内に、あるいは異なる大陸に、数千マイル（１マイルは約１６０９ｍ）離れた遠い地理上の場所に離れて、位置することができる。記憶制御装置２ａ、２ｂ間の接続４には、ファイバ光接続、ＳＡＮ（Storage Area Network記憶域ネットワーク）、ＬＡＮ（Local Area Networkローカル・エリア・ネットワーク）などの専用線またはネットワークが含まれることもある。あるいは、接続４には、イントラネットまたはインターネットが含まれることがある。ホスト・システム１は、記憶システム８ａ、８ｂ中のボリュームに関して入出力（Ｉ／Ｏ）動作を実施することができるアプリケーションを含む。
【００１６】
記憶制御装置２ａおよび２ｂは、さらにプロセッサ複合体（図示せず）を含むはずであり、ＩＢＭ  ＥＳＳ（Enterprise Storage Serverエンタープライズ・ストレージ・サーバ）（登録商標）、３９９０（登録商標）記憶制御装置など、どのような記憶制御装置または当技術分野で知られているサーバを含んでもよい（EnterpriseStorage ServerはＩＢＭの登録商標である）。記憶システム８ａ、８ｂには、ＪＢＯＤ（Just a Bunch of Disks）、ＲＡＩＤ（RedundantArray of Independent Disks独立したディスクの冗長アレイ）アレイ、仮想化装置などの記憶装置アレイを備えることもできる。記憶管理ソフトウェア６ａ、６ｂは、ＩＢＭ  ＰＰＲＣ  ＸＤ（ExtendedDistance拡張距離）プログラム中に含まれるコードなど、データのミラーリングおよび障害事象におけるデータ回復を可能にし、比較的短距離および長距離にわたるデータのミラーリングを可能にするコードを含むこともある。ＩＢＭ  ＰＰＲＣ拡張距離プログラムのさらなる詳細については、本明細書に関係する、ＩＢＭの発行による「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅエンタープライズ・ストレージ・サーバＰＰＲＣ拡張距離（IBMTotalStorage Enterprise Storage Server PPRC Extended Distance）」、ドキュメントＮｏ．ＳＧ２４−６５６８−００（ＩＢＭ著作権、２００２年６月）に記載されている。
【００１７】
記憶管理ソフトウェア６ａは、ソース・ボリューム中のトラックがターゲット・ボリューム中のトラックにミラーリングされるなどのコピー関係中に含まれるボリューム対、すなわちソース・トラックおよび対応するターゲット・トラックを識別するコピー関係１４の情報を保持する。ビットマップ１６は、ボリューム中の各トラックごとに１ビットを含み、各ボリュームごとに保持される。あるボリュームについてビットマップ中で設定されたビットは、トラックに対する更新（またはコピーすべき初期データ）が対応するターゲット・トラックにコピーされているかどうかを示す。さらに同期モード・フラグ１８は、ソース・ボリュームに対する書込みが非同期的に（この場合、「完了」は書込みが二次記憶装置８ｂに適用される前にアプリケーションに戻される）処理されるべきか、それとも同期的に（この場合、「完了」は、書込みが二次記憶装置８ｂに適用されたという確認を受け取った後にしか戻されない）処理されるべきかを示す。
【００１８】
図２に、本発明の実装形態に従って、ターゲット・ボリューム１２ａ、１２ｂ．．１２ｎ中の対応するトラックに対するソース・ボリューム１０ａ、１０ｂ．．１０ｎ中のソース・トラックの初期コピーを実施するソース管理ソフトウェア６ａによって実施される動作を示す。（ブロック５０で）対等コピー関係など、ソース・ボリュームとターゲット・ボリューム間のコピー関係が確立されると、（ブロック５２で）記憶管理ソフトウェア６ａは、確立された関係にあるソース・ボリュームについてのボリューム・ビットマップ１６中のすべてのビットを、（かかるソース・トラックを二次記憶装置８ｂ中のターゲット・ボリューム１２ａ、１２ｂ．．１２ｍに（同期的に）コピーする必要があることを示す）「オン」に設定する。次いで、（ブロック５４ないしブロック６６で）確立された関係にある各ソース・ボリュームｉごとにループを実施する。ソース・ボリュームｉ中の各トラックｊごとにブロック５６ないし６４で内部ループを実施する。（ブロック５８で）トラックｊに対するボリュームｉのビットマップ１６中の対応するビットが「オン」である場合、（ブロック６０で）トラックｊは二次記憶装置８ｂ中の対応するターゲット・トラックに非同期的にコピーされる。（ブロック６２で）ボリュームｉのビットマップ１６のトラックｊに対するビットが、かかるビットによって表されるソース・トラックがコピー済みであることを示す「オフ」に設定される。（ブロック５８で）トラックｊに対するボリュームｉのビットマップ１６中の対応するビットが「オフ」の場合には、制御はブロック６４へと進み、ボリュームｉの次のトラックをコピーすべきかどうかを考慮する。
【００１９】
この関係にある、ソース・トラックを表すビットマップ１６中のすべてのビットを処理した後に、（ブロック６８で）同期モード・フラグ１８が、書込みを同期的に処理することを示すように設定されている場合、（ブロック７０で）記憶管理ソフトウェア６ａは、コピーすべきトラックがまだあるかどうかを判定するが、これはソース・ボリューム・ビットマップ１６中に「オン」に設定されたビットがどれか１つでもあるかどうかによって示される。ある場合には、制御はブロック５４に戻って、すべてのボリューム・ビットマップを処理して対応するビット値が「オン」であるソース・トラックはどれでもコピーする。そうでなくて、非同期的にコピーすべきトラックがもはやない場合には、この制御は終了し、同期化が完了している。さらに、（ブロック６８で）同期モード・フラグ１８が、更新が非同期的にコピーされることを示す場合には、制御はブロック５４に進み、非同期的なトラックのコピーが続行される。図３のロジックに従って、このコピーすべき関係についてのボリューム・ビットマップ１６中に示されるトラック数が閾値数より小さいときに同期モードが設定されることに留意されたい。
【００２０】
図２のロジックでは、同期モードが設定され、この関係にあるソース・ボリュームおよびターゲット・ボリュームが、同期化される、すなわちこの関係にあるすべてのボリュームに対するビットマップがもはやコピーすべきトラックがないことを示すまで、ブロック５４から５６のステップを連続的に実施することができる。ソース・ボリュームおよびターゲット・ボリュームが完全に同期化されるまで、この連続的な動作をＰＰＲＣ  ＸＤ非同期モードで実施することができる。
【００２１】
図３に、記憶管理ソフトウェア６ａが同期モード・フラグ１８を「オン」に設定するように実施する動作を示す。現在の書込みモードが非同期であり、すなわち同期モード・フラグ１８が「オフ」である場合、記憶管理ソフトウェア６ａは、ブロック８０のプロセスを定期的に開始することになる。（ブロック８２で）この関係にあるソース・ボリュームについてすべてのビットマップ１６中におけるすべてのビットのパーセンテージが、閾値のパーセンテージよりも小さい場合には、（ブロック８４で）記憶管理ソフトウェア６ａは、１つまたは複数のコマンドを発行して、検査したばかりのこの関係にあるすべてのボリューム対について書込みモードを同期モードに変換する。（ブロック８６で）同期モード・フラグ１８は、「オン」に設定されて、この関係にあるソース・トラックへの新しい書込みに同期してターゲット・トラックにコピーが行われることを示す。（ブロック８２で）小さい方の閾値が満たされない場合、制御は終了する。
【００２２】
以上で説明した実装形態は、ソースからターゲットへのデータのコピーを非同期的に処理することにより、ホスト書込みに応答して遅延を最小にするように動作し、その結果、ホスト４のアプリケーションの書込み要求に対する遅延がなくなる。ある関係にあるすべてのターゲット・ボリュームとソース・ボリュームの対について、十分な数のソース・トラックが二次記憶装置にコピーされた後で、ボリューム・ビットマップ１６に示されるように、非同期的にコピーすべきトラック数が、同期書込みの処理を必要以上に遅らせるほどの十分な数にはならないと考えられるので、ソース・トラックへの書込みは、同期モードで処理される。したがって、この関係にあるすべてのボリュームに対する書込み数が同期モード処理の準備が整うまで、同期遅延を受けるボリュームはないことになる。例えば、ボリューム・ビットマップ１６に示されるように、非同期的にコピーすべき多数のトラックがある場合には、多数の実施すべき非同期書込みの結果もたらされる帯域幅および伝送遅延に起因して、同期書込みにはかなりの遅延が生じる可能性がある。しかし、非同期的に書き込むべき未解決のトラック数が十分に小さければ、非同期的なコピーが同期書込みを必要以上に遅延させることにはならない。いつ同期的な書込みのコピーに切り換えるかについての閾値は、すべてのソース・ボリューム中のすべてのトラックの数パーセントなどの値に設定することができる。代替実装形態では、閾値として使用すべき値は、初期コピーを最適化し、ホスト書込み要求に応答する経験的に決定されたどのような値にも設定することができる。非同期的にコピーすべきデータが、同期書込みに不必要な遅延を引き起こさないレベルまで低下する時まで、帯域幅が初期コピー動作によってほぼ使い尽くされる場合には、以上に説明した実装形態では更新をソース・トラックに非同期的にコピーする。
【００２３】
図４に、本発明の実装形態による、ソース・トラックに対する更新を処理する記憶管理ソフトウェア６ａによって実施される動作を示す。（ブロック１００で）あるコピー関係のあるソース・トラックに対する更新を受け取ると、（ブロック１０２で）同期モード・フラグ１８が、更新が非同期的にコピーされることを示す「オフ」に設定されている場合、（ブロック１０４で）記憶管理ソフトウェア６ａは、更新されたトラックに対応するボリューム・ビットマップ１６中のビットを「オン」に設定する。記憶管理ソフトウェア６ａが、ボリューム・ビットマップ１６を処理して図２に説明している動作の一部としてトラックを非同期的にコピーするとき、（ブロック１０６で）更新されたソース・トラックは、その後、対応するターゲット・トラックにコピーされることになる。（ブロック１０２で）同期モード・フラグ１８が「オン」であり、かつ（ブロック１０８で）更新すべきソース・トラックに対応するビットが「オン」である場合には、（ブロック１１０で）対応するビットが「オフ」に設定され、（ブロック１１２で）このトラックが二次記憶装置８ｂ中のターゲット・トラックに同期的にコピーされる。あるいは、ブロック１０８のYes分岐から制御を終了することもでき、更新を図２のロジックの実行中に非同期にコピーすることになる。（ブロック１０８で）更新すべきソース・トラックに対応するビットが「オフ」の場合には、（ブロック１１２で）更新されたトラックが同期的にコピーされる。
【００２４】
一次記憶装置８ａサイトにおいて障害が起こる場合には、このコピー関係は一時中断され、二次記憶制御装置２ｂおよび記憶装置８ｂを含めて二次記憶サイトにおいて、動作が再開される。図５に本発明の実装形態による、一次サイトが使用可能になった後に、記憶管理ソフトウェア６ａが、再同期化して一次記憶装置８ａに戻るように実施される動作を示す。（ブロック１５０で）一次記憶装置８ａに再同期化して戻るために、二次記憶制御装置２ｂにおいて、対等コピー関係（例えば、ＰＰＲＣ）などのコピー関係が、（ソースとして機能する）二次記憶装置８ｂ中のボリューム１２ａ、１２ｂ．．１２ｎと（ターゲットとして機能する）一次記憶装置８ａ中のボリューム１０ａ、１０ｂ．．１０ｎとの間に確立される。次いで、（ブロック１５４で）二次記憶管理ソフトウェア６ｂでは、図２を参照して説明している、ソース・ボリューム１２ａ、１２ｂ．．１２ｎを二次記憶装置８ｂ（ソース）から一次記憶装置８ａ（ターゲット）へとコピーする動作が実施されることになる。（ブロック１５６で）二次記憶制御装置２ｂではさらに、再同期化中にホスト４からの二次記憶装置８ｂへの任意の更新を処理する図４の動作が実施されることになる。
【００２５】
一次記憶装置８ａが二次記憶装置８ｂと完全に同期しており、すなわちボリューム・ビットマップに、ターゲット・トラックにコピーすべきソース・トラックが示されないときには、二次記憶制御装置２ｂは、（ブロック１５８で）二次記憶装置８ｂへのホスト・アクセスを終了させ、（ブロック１６０で）（ソースとしての役割を果たす）二次記憶装置８ｂと（ターゲットとしての役割を果たす）一次記憶装置８ａとの間のコピー関係（ボリューム対）を終了させる。（ブロック１６２で）一次記憶制御装置２ａにおいて、一次記憶管理ソフトウェア６ａでは、一次記憶装置８ａと二次記憶装置８ｂの間の関係を初期コピーなしで確立されることになり、ここで、一次記憶装置８ａは、ソースとなり、二次記憶装置８ｂは、ターゲットとなる。次いで、（ブロック１６４で）ホスト４が、再開され、一次記憶装置８ａに直接Ｉ／Ｏを行うように初期化される。
【００２６】
以上説明した実装形態では、対応するターゲット・トラックに対してある関係にあるソース・トラックの初期コピー、およびこの初期コピー中に行われるソース・トラックへの更新を処理して、トラックの更新に「完了」を戻すに当たっての遅延を最小にすると共に、二次コピーにおける同期化も保証する技法が提供される。さらに、以上説明した実装形態では、二次記憶装置へフェイルオーバする必要が起こった場合に、あるポイントで更新を同期的にコピーして二次記憶装置におけるデータの同時実行を保証することが実現される。
【００２７】
一次サイトと二次サイトの間でデータをミラーリングする以上で説明した技法では、ソフトウェア、ファームウェア、ハードウェアまたはこれらの組合せをもたらす標準的なプログラミング技法またはエンジニアリング技法あるいはその両方を使用して方法、装置、または製品として実施することができる。本明細書中で使用している用語「製品（article of manufacture）」は、ハードウェア・ロジック（例えば、集積回路チップ、ＰＧＡ（ProgrammableGate Arrayプログラム可能ゲート・アレイ）、ＡＳＩＣ（Application Specific Integrated Circuit特定用途向け集積回路）など）、または磁気記憶媒体（例えば、ハード・ディスク・ドライブ、フロッピー（Ｒ）・ディスク、テープなど）、光記憶装置（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラマブル・ロジックなど）などのコンピュータ読取り可能媒体の形で実装されたコード、またはロジックのことを指す。コンピュータ読取り可能媒体中のコードは、プロセッサ複合体によってアクセスされ、実行される。好ましい実施形態を実装するコードには、さらに伝送媒体を介して、またはネットワーク上のファイル・サーバからアクセス可能なこともある。かかる場合には、コードが実装される製品には、ネットワーク伝送回線、無線伝送媒体、空間を介して伝搬する信号、無線電波、赤外線信号などの伝送媒体が含まれることもある。したがって、「製品」には、コードが実現される媒体が含まれることもある。さらに、「製品」には、コードが実現され、処理され、実行されるハードウェア構成要素とソフトウェア構成要素の組合せが含まれることもある。もちろん、当業者には、本発明の範囲を逸脱することなくこの構成に多くの変更を施すことができること、また製品には、当技術分野において知られている任意の情報保持媒体が含まれ得ることが理解されよう。
【００２８】
以上に説明した実装形態では、ＩＢＭ  ＰＰＲＣ拡張距離計算機環境に関して説明してきた。しかし、一貫性を維持するために、以上の実装形態を他の計算機環境およびベンダ環境中で、また本明細書中に記載した以外の他のデータ・コピーのプロトコルおよびプログラムを使用して一貫性を維持するように適用することができる。
【００２９】
いくつかの実装形態では、記憶装置中のデータがトラックおよびボリュームの形に構成されている。代替システムでは、記憶装置のデータ・ユニットに、ブロックやサブブロックなど、トラック以外のユニットを含めることができ、またデータ・ユニットをボリューム以外の記憶ユニットにグループ分けすることもできる。
【００３０】
以上で説明した実装形態では、更新をソース・トラックにコピーするための同期モードは、コピーすべきソース・トラック数が、コピー関係に含まれるすべてのソース・トラックの数パーセントなど、ある種の閾値を下回る場合に、開始されている。代替実装形態では、代わりの閾値を使用することもできる。
【００３１】
以上で説明した実装形態では、ビットマップを使用してあるソース・トラックを対応するターゲット・トラックにコピーする必要があるかどうかを指示する。代替実施形態では、当技術分野で知られている任意のデータ構造を使用してこの関係にある対応するターゲット・トラックにコピーすべきソース・トラックを識別する。
【００３２】
以上で説明した実装形態では、同期モードの適用は、この関係に含まれるすべてのボリュームに対してなされた。代替実装形態では、同期モードをボリュームごとに適用するか、それともすべてのソース・ボリュームよりも少ない何らかの他のグループ分けに適用することができ、その結果、いくつかのソース・ボリューム中のトラックへの更新を同期的に処理し、他のソース・ボリューム中のトラックへの更新を非同期的に処理することができる。かかる実装形態では、閾値をボリュームごとに適用して、同期モードをそのボリュームに対していつ適用することになるかを決定することができる。
【００３３】
図２〜図５に示すロジックでは、ある種の事象がある順序で発生することを示している。代替実装形態では、ある種の動作を異なる順序で実施し、変更し、または除去することもできる。さらに、以上に説明したロジックにステップを追加し、依然として説明した実装形態に一致するようにすることもできる。さらに、本明細書中に記載の動作が順次行われ、あるいはある種の動作を並列に処理することもできる。さらに、動作を、単一の処理装置または分散処理装置によって実施することもできる。
【００３４】
図６に、図１に示す記憶制御装置やホストなどのネットワーク構成要素のコンピュータ・アーキテクチャ２００の一実装形態を示す。このアーキテクチャ２００には、プロセッサ２０２（例えば、マイクロプロセッサ）、メモリ２０４（例えば、揮発性メモリ・デバイス）、および記憶装置２０６（例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどの不揮発性記憶装置）が含まれ得る。記憶装置２０６は、内部記憶装置、あるいは接続記憶装置またはネットワーク・アクセス可能な記憶装置を含むこともある。記憶装置２０６中のプログラムは、メモリ２０４にロードされ、当技術分野で知られている方法でプロセッサ２０２によって実行される。このアーキテクチャはさらに、ネットワークとの通信を可能にするネットワーク・カード２０８を含む。入力装置２１０を使用して、プロセッサ２０２に対するユーザ入力を提供しており、これにはキーボード、マウス、ペン・スタイラス、マイクロフォン、接触感知ディスプレイ画面、または当技術分野で知られている他の活性化機構または入力機構が含まれ得る。出力装置２１２では、プロセッサ２０２、またはディスプレイ・モニタ、プリンタ、記憶装置など他の構成要素から伝送される情報を表現することができる。
【００３５】
本発明の様々な実装形態についての以上の説明を、図示し説明する目的で提示してきた。網羅的なことを企図したものでもなく、また本発明を厳密な開示の形態に限定するものでもない。以上の教示を考慮すれば、多くの変更形態および変形形態が可能である。本発明の範囲は、添付の特許請求の範囲によって限定される以外は、この詳細な説明によって限定されるものではない。以上の明細書、例、およびデータでは、本発明の構成の製造および使用についての完全な説明を提供している。本発明の趣旨および範囲を逸脱することなく、本発明についての多くの実施形態が実現できるので、本発明は、添付の特許請求の範囲に帰するものである。
【図面の簡単な説明】
【００３６】
【図１】本発明の態様が実装されるネットワーク計算機環境を示すブロック図である。
【図２】一次記憶サイトと二次記憶サイトの間のデータ・ミラーリング動作を管理するように実施される動作を示す図である。
【図３】一次記憶サイトと二次記憶サイトの間のデータ・ミラーリング動作を管理するように実施される動作を示す図である。
【図４】一次記憶サイトと二次記憶サイトの間のデータ・ミラーリング動作を管理するように実施される動作を示す図である。
【図５】障害回復後に一次記憶サイトを再同期させるように実施される動作を示す図である。
【図６】記憶制御装置および監視システムなど、ネットワーク環境中の計算機構成要素のアーキテクチャを示す図である。
【符号の説明】
【００３７】
１  ホスト
２ａ  一次記憶制御装置
２ｂ  二次記憶制御装置
４  接続
６ａ  記憶管理ソフトウェア
６ｂ  記憶管理ソフトウェア
８ａ  記憶システム
８ｂ  記憶システム
１０  ホスト・システム
１０ａ、１０ｂ．．１０ｎ  ボリューム
１２ａ、１２ｂ．．１２ｎ  ボリューム
１４  コピー関係
１６  ボリューム・ビットマップ
１８  同期モード・フラグ
２００  コンピュータ・アーキテクチャ
２０２  プロセッサ
２０４  メモリ
２０６  記憶装置
２０８  ネットワーク・カード
２１０  入力装置
２１２  出力装置
【図１】
2005352831.tif 000003
【図２】
2005352831.tif 000004
【図３】
2005352831.tif 000005
【図４】
2005352831.tif 000006
【図５】
2005352831.tif 000007
【図６】
2005352831.tif 000008