(57)【要約】【課題】  再同期化中に更新されるデータを格納するのにリポジトリを用いるかどうかの判定法を提供する。【解決手段】  再同期化中に更新されるデータを格納するのにリポジトリを用いるかどうかを判定するための方法、システム、及びコンピュータ・プログラムを提供する。一次ストレージへの書き込みを二次ストレージに転送する。二次ストレージの論理コピーをポイント・イン・タイムにおいて確立する。ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される。書き込みの二次ストレージへの転送は一時停止される。一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される。リポジトリ内の利用可能なストレージ空間が、一次ストレージから二次ストレージへの書き込みの転送の一時停止の終了に応答して非同期データ構造体から書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定する。リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みを転送する間に二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、一時停止の終了後に一次ストレージから転送される書き込みにより更新される二次ストレージ内のデータをポイント・イン・タイムにおいて格納するのにリポジトリを用いる。【選択図】      図７
2011507062.tif 000002
【特許請求の範囲】
【請求項１】
再同期化中にデータ更新を格納するのにリポジトリを用いるかどうかを判定する方法であって、
一次ストレージへの書き込みを二次ストレージに転送するステップと、
前記二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、前記ポイント・イン・タイム後の論理コピー継続時間中に前記一次ストレージから受信される前記二次ストレージの前記論理コピーへの書き込みは、前記二次ストレージの前記論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、
前記二次ストレージへの前記書き込みの転送を一時停止するステップであって、前記一時停止中の前記一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、
前記リポジトリ内の利用可能なストレージ空間が、前記一次ストレージから前記二次ストレージへの書き込みの転送の前記一時停止の終了に応答して前記非同期データ構造体から前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みの転送中に前記二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、前記一時停止の終了後に前記一次ストレージから転送される書き込みにより更新される前記二次ストレージ内のデータを前記ポイント・イン・タイムにおいて格納するのに前記リポジトリを用いるステップと
を含む方法。
【請求項２】
前記一時停止の前にコピーされた前記二次ストレージからのデータは、前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを判定するときに、前記リポジトリに含まれる、請求項１に記載の方法。
【請求項３】
前記論理コピーは第１の論理コピーを含み、前記リポジトリは第１のリポジトリを含み、
前記非同期データ構造体内に示される前記書き込みの前記二次ストレージへの転送の完了に応答して、前記二次ストレージの第２の論理コピーを第２ポイント・イン・タイムにおいて確立するステップと、
前記第２の論理コピーに対する第２のリポジトリを確立するステップであって、前記第２ポイント・イン・タイム後に前記一次ストレージから前記二次ストレージに転送される書き込みにより、前記二次ストレージ内の上書きされる前記データが前記リポジトリにコピーされる、ステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記一時停止の終了に応答して、前記一時停止の終了後に前記非同期データ構造体内に示される書き込みと前記一次ストレージにおいて受信される書き込みとを前記二次ストレージに転送するステップをさらに含み、
前記リポジトリ内の利用可能なストレージ空間が、前記一時停止の終了に応答して前記非同期データ構造体内に示される前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップは、前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記非同期データ構造体内に示される前記書き込みを転送する間に前記一次ストレージにおいて受信される新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、
請求項１に記載の方法。
【請求項５】
前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを推定するステップは、
前記非同期データ構造体内に示される前記書き込みのサイズと、前記一時停止の終了後に前記非同期データ構造体内に示される前記書き込みの全てを転送する間に前記一次ストレージにおいて前記新規書き込みを受信する速度とを考慮に入れて、前記非同期データ構造体内に示される前記書き込みの全てを転送するのにかかる時間を推定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップと
を含む、
請求項４に記載の方法。
【請求項６】
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みを転送する間に前記二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、前記一時停止の後に更新される前記二次ストレージ内のデータを格納するのに、前記二次ストレージとサイズが等しい三次ストレージを用いるステップをさらに含み、
前記三次ストレージは、付加的に、前記書き込みの前記一時停止の前に前記リポジトリにコピーされたデータを格納する、
請求項１に記載の方法。
【請求項７】
前記リポジトリ内の前記書き込みを前記二次ストレージにコピーするステップと、
前記リポジトリからの前記書き込みのコピーに応答して、前記二次ストレージとサイズが等しい三次ストレージへの、前記二次ストレージの第２の仮想コピーを確立するステップと、
前記一次ストレージを前記二次ストレージに再同期化するステップと
を更に含み、
前記一次ストレージからの前記データによって上書きされる前記二次ストレージ内のデータは、前記三次ストレージにコピーされる、
請求項６に記載の方法。
【請求項８】
複数の一次ストレージ及び二次ストレージの対が存在し、
前記書き込みを転送する動作、前記論理コピーを確立する動作、及び前記書き込みの転送を一時停止する動作、並びに、前記一時停止の後に更新される前記二次ストレージ内のデータを格納するのに、リポジトリ又は三次ストレージのいずれを用いるかを判定する動作は、各々の一次ストレージ及び二次ストレージの対に対して実行される、
請求項６に記載の方法。
【請求項９】
少なくとも１つの一次ストレージ及び二次ストレージの対は、前記一次ストレージ及び二次ストレージの対のための前記リポジトリを用い、少なくとも１つの一次ストレージ及び二次ストレージの対は、前記一次ストレージ及び二次ストレージの対のための前記三次ストレージを用いる、請求項８に記載の方法。
【請求項１０】
一次ストレージ及び二次ストレージと通信し、再同期化中にデータ更新を格納するのにリポジトリを用いるかどうかを判定するためのシステムであって、
プロセッサと、
動作を実行するための、前記プロセッサにより実行されるコードを含むコンピュータ可読媒体と
を備え、
前記動作は、
一次ストレージへの書き込みを二次ストレージに転送するステップと、
前記二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、前記ポイント・イン・タイム後の論理コピー継続時間中に前記一次ストレージから受信される前記二次ストレージの前記論理コピーへの書き込みは、前記二次ストレージの前記論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、
前記書き込みの前記二次ストレージへの転送を一時停止するステップであって、前記一時停止中の前記一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、
前記リポジトリ内の利用可能なストレージ空間が、前記一次ストレージから前記二次ストレージへの前記書き込みの転送の前記一時停止の終了に応答して前記非同期データ構造体から前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、前記一時停止の終了後に前記一次ストレージから転送される書き込みにより更新される前記二次ストレージ内のデータを前記ポイント・イン・タイムにおいて格納するのに前記リポジトリを用いるステップと
を含む、
システム。
【請求項１１】
前記一時停止の前にコピーされた前記二次ストレージからのデータは、前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを判定するときに、前記リポジトリに含まれる、請求項１０に記載のシステム。
【請求項１２】
前記一時停止の終了に応答して、前記一時停止の終了後に前記非同期データ構造体内に示される書き込みと前記一次ストレージにおいて受信される書き込みとを前記二次ストレージに転送するステップをさらに含み、
前記リポジトリ内の利用可能なストレージ空間が、前記一時停止の終了に応答して前記非同期データ構造体内に示される前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを前記判定するステップは、前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記非同期データ構造体内に示される前記書き込みを転送する間に前記一次ストレージにおいて受信される新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、
請求項１０に記載のシステム。
【請求項１３】
前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを前記推定するステップは、
前記非同期データ構造体内に示される前記書き込みのサイズと、前記一時停止の終了後に前記非同期データ構造体内に示される前記書き込みの全てを転送する間に前記一次ストレージにおいて前記新規書き込みを受信する速度とを考慮に入れて、前記非同期データ構造体内に示される前記書き込みの全てを転送するのにかかる時間を推定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップと
を含む、
請求項１２に記載のシステム。
【請求項１４】
前記二次ストレージとサイズが等しい三次ストレージとさらに通信し、
前記動作は、前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みを転送する間に前記二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、前記一時停止の後に更新される前記二次ストレージ内のデータを格納するのに、前記三次ストレージを用いるステップをさらに含み、
前記三次ストレージは、付加的に、前記書き込みの前記一時停止の前に前記リポジトリにコピーされたデータを格納する、
請求項１０に記載のシステム。
【請求項１５】
前記動作は、
前記リポジトリ内の前記書き込みを前記二次ストレージにコピーするステップと、
前記リポジトリからの前記書き込みのコピーに応答して、前記二次ストレージとサイズが等しい三次ストレージへの前記二次ストレージの第２の仮想コピーを確立するステップと、
前記一次ストレージを前記二次ストレージに再同期化するステップと
をさらに含み、
前記一次ストレージからの前記データによって上書きされる前記二次ストレージ内のデータは、前記三次ストレージにコピーされる、
請求項１２に記載のシステム。
【請求項１６】
デジタル・コンピュータの内部メモリ内にロード可能であって、コンピュータ上で実行されるとき、請求項１乃至請求項９に記載の本発明を実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再同期化中に更新されるデータを格納するのにリポジトリを用いるかどうかを判定するための方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
災害復旧システムは、典型的には、２つのタイプの故障、即ち、単一時点における突然の壊滅的な故障、又は長時間にわたるデータ損失に対処する。第２のタイプの漸進的な災害の場合は、ボリュームの更新が失われる可能性がある。データ更新の復旧を支援するために、遠隔位置にデータのコピーを備えることができる。このような二重又はシャドウ・コピーは、通常、アプリケーション・システムが新規のデータを一次ストレージ装置に書き込むときに作成される。データの遠隔コピーを二次的な位置に保持するために、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅ  Ｃｏｒｐｏｒａｔｉｏｎ（ＩＢＭ）のＥｘｔｅｎｄｅｄ  Ｒｅｍｏｔｅ  Ｃｏｐｙ（ＸＲＣ）、Ｃｏｕｐｌｅｄ  ＸＲＣ（ＣＸＲＣ）、Ｇｌｏｂａｌ  Ｃｏｐｙ、及び、Ｇｌｏｂａｌ  Ｍｉｒｒｏｒ  Ｃｏｐｙのような種々のコピー技術を用いることができる。
【０００３】
データ・ミラーリング・システムにおいて、データはボリューム対に保持される。ボリューム対は、一次ストレージ装置内のボリュームと、一次ボリューム内に保持されるデータの同一のコピーを含む二次ストレージ装置内の対応するボリュームとから成る。一次及び二次ストレージ・コントローラを用いて一次ストレージ装置及び二次ストレージ装置へのアクセスを制御することができる。特定のデータ・ミラーリング・システムにおいて、システムにわたって同一の時間を与えるためにタイマーが用いられ、その結果、異なるアプリケーションによって異なる一次ストレージ装置に書き込まれる更新には一貫した時刻（ＴＯＤ）値がタイム・スタンプとして用いられる。ホスト・オペレーティング・システム又はアプリケーションは、データ・セット又はデータ・セットの組を一次ストレージのボリュームに書き込むときに、これらの更新にタイム・スタンプを押すことができる。データ更新の完全性は、ボリューム対の二次ボリュームにおいて、一次ボリュームにおいて行われたのと同じ順序で更新が行われることの保証に関係する。アプリケーション・プログラムによって与えられるタイム・スタンプは、データ更新の論理的順序を決定する。
【０００４】
データベース・システムのような多くのアプリケーション・プログラムにおいて、特定の書き込みは、先行する書き込みが行われない限り行うことができない。そうしなければ、データの完全性が損なわれることになる。完全性が先行のデータ書き込みの発生に依存するようなデータ書き込みは、依存書き込みとして知られる。一次ストレージ及び二次ストレージ内のボリュームは、全ての書き込みがそれらの論理的順序で転送されたとき、即ち、全ての依存書き込みが転送された後にそれに依存する依存書き込みが転送されたときに整合する。整合性グループは、整合性タイム・スタンプに等しいか又はそれより早いタイム・スタンプを有する整合性グループ内の全てのデータ書き込みについて、ある整合性時間を有する。整合性グループは、依存書き込みを整合性のある仕方で保全するようにした一次ボリュームの更新の集合体である。整合性時間は、二次ボリュームの更新が整合性を有することをシステムが保証する最新の時間である。整合性グループは、ボリューム及びストレージ装置にまたがってデータの整合性を保持する。従って、データが二次ボリュームから復旧されたときには、復旧されたデータは整合性を有することになる。
【０００５】
データの整合性のあるポイント・イン・タイム・コピーを与える１つの技術は、一次ストレージへの全ての書き込みを一時停止し、次いで、書き込みが一時停止されている間に、全てのデータをミラーリングのために二次ストレージ又はバックアップ・ストレージにコピーすることである。この技術の不利な点は、データのポイント・イン・タイム・コピーを作成する時間のあいだ、ホスト書き込みが一時停止されるため、ホストにおけるアプリケーション処理に悪影響を及ぼす可能性があることである。１つの代替的な技術は、一次ストレージ・ターゲットにおけるデータの論理コピーを確立することであり、これは１秒又は２秒を超えない程度のごく短い時間しかかからない。従って、全てのソース・データをターゲット・ボリュームにコピーする時間のあいだ、ホスト書き込みを一時停止する場合に比べて、論理コピーを確立する時間のあいだに一次ストレージへのホスト書き込みを一時停止することは、ホストのアプリケーション処理に対する悪影響が遥かに小さい。論理コピーを確立した後、更新の対象であるソース・ボリューム・データはターゲット・ボリュームにコピーされ、その結果、ターゲット・ボリュームは、更新前の、論理コピーが確立されたポイント・イン・タイムにおけるデータを有する。これは、更新が受信されるまで、物理的コピーを延期する。この論理コピー動作は、ターゲット・ボリューム及びソース・ボリュームがアクセス不能となる時間を最小化するように実行される。ポイント・イン・タイム・コピーは、ソース・ボリューム内のデータと、更新により上書きされるデータとの組み合せを含む。
【０００６】
そのような１つの論理コピー動作は、ＦｌａｓｈＣｏｐｙ（登録商標）（ＦｌａｓｈＣｏｐｙはＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ，Ｃｏｒｐ．即ち「ＩＢＭ」の登録商標である）として知られる。ＦｌａｓｈＣｏｐｙ（登録商標）は、異なる装置上の一次ボリュームと二次ボリュームとの間にポイント・イン・タイムの論理コピー関係を確立することを含む。一旦論理関係が確立されると、ホストは、一次ボリューム及び二次ボリューム上のデータに直接にアクセスすることができ、そのデータはバックグラウンド動作の一部分としてコピーすることができる。データはバックグラウンド動作の一部分として、一次ボリュームから二次ボリュームにコピーされる。データがコピーされている間、二次トラック上のまだコピーされていないデータの任意の読み取りは、一次装置から二次キャッシュへのデータのコピーを生じ、その結果、二次ターゲットはＦｌａｓｈＣｏｐｙ（登録商標）動作のポイント・イン・タイムにおいて存在していたソースからのコピーを有する。さらに、一次ストレージ上のまだコピーされていないトラックへの任意の書き込みにより、二次ストレージにコピーされる一次ストレージ上のトラック上のデータが上書きされる。
【０００７】
論理コピー動作を実施するために、ターゲット・ボリューム全体を二次ストレージに割り当てて一次ボリュームの更新を格納することができるが、これは、ソース・ボリュームに対して一次ストレージ内で割り当てられるのと同じ量のストレージ空間が、ターゲット・ボリュームに対して二次ストレージ上で割り当てられることを必要とする。二次ストレージ空間の空間を節約するために、当該技術分野で公知の特定の空間効率の良い論理コピー技術は、論理コピー時間中にソース・ボリュームの更新によって上書きされるデータを格納するのにリポジトリを割り当てるが、ここでリポジトリ空間はソース・ボリュームの全ボリューム・サイズよりも実質的に小さく、その理由は、多くの場合、論理コピー継続時間中にソース・ボリューム上で更新され、ターゲットにコピーされる必要があるデータは、全ソース・ボリュームのストレージ空間よりも実質的に小さいからである。
【０００８】
同期化環境において、一次ストレージ・コントローラは、一次ストレージへの書き込みを二次ストレージへミラーリングすることができる。二次ストレージを管理する二次ストレージ・コントローラは、さらに二次ストレージの仮想コピーを作成して整合性グループを形成することができ、その結果、二次ストレージ内のデータがポイント・イン・タイムにおいてリポジトリ又は全ボリューム・バックアップ内にバックアップされる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
当該技術分野において、論理コピー動作の対象となる全ソース・ボリュームよりもサイズが小さいリポジトリを用いた空間効率の良い論理コピー動作を利用するための引き続きの改善に対する必要性が存在する。
【課題を解決するための手段】
【００１０】
再同期化中に更新されるデータを格納するのにリポジトリを用いるかどうかを判定するための方法、システム、及び製造品が提供される。一次ストレージへの書き込みは二次ストレージに転送される。二次ストレージの論理コピーがポイント・イン・タイムにおいて確立される。ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信された二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される。二次ストレージへの書き込みの転送は一時停止される。一時停止中、一次ストレージへの書き込みは非同期データ構造体内に示される。リポジトリ内の利用可能なストレージ空間が、一次ストレージから二次ストレージへの書き込み転送の一時停止の終了に応答して非同期データ構造体から書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定する。リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みの転送中に二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、リポジトリを用い、一時停止の終了後に一次ストレージから転送される書き込みにより更新される二次ストレージ内のデータをポイント・イン・タイムで格納する。
【００１１】
更に別の一実施形態において、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを判定するときに、一時停止前にコピーされた二次ストレージからのデータはリポジトリに含まれる。
【００１２】
更に別の一実施形態において、論理コピーは第１の論理コピーを含み、リポジトリは第１のリポジトリを含む。非同期データ構造体内に示される書き込みの二次ストレージへの転送の完了に応答して、二次ストレージの第２の論理コピーが第２ポイント・イン・タイムにおいて確立される。第２の論理コピーに対する第２のリポジトリが確立される。第２ポイント・イン・タイム後に一次ストレージから二次ストレージに転送される書き込みにより、二次ストレージ内で上書きされるデータがリポジトリにコピーされる。
【００１３】
更に別の一実施形態において、一時停止の終了後、非同期データ構造体内に示される書き込みと、一次ストレージにおいて受信された書き込みとは、一時停止の終了に応答して二次ストレージへ転送される。リポジトリ内の利用可能なストレージ空間が、一時停止の終了に応答して非同期データ構造体内に示される書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップは、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、非同期データ構造体内に示される書き込みを転送する間に一次ストレージにおいて受信される新規書き込みと、を格納するのに十分であるかどうかを推定するステップを含む。
【００１４】
更に別の一実施形態において、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを推定するステップは、非同期データ構造体内に示される書き込みのサイズと、一時停止の終了後に非同期データ構造体に示される書き込みの全てを転送する間に一次ストレージにおいて新規書き込みを受信する速度とを考慮に入れて、非同期データ構造体内に示される書き込みの全てを転送するのにかかる時間を推定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップとを含む。
【００１５】
更に別の一実施形態において、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みを転送する間に二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、一時停止の後に更新される二次ストレージ内のデータを格納するのに、二次ストレージとサイズが等しい三次ストレージを用いる。三次ストレージは、付加的に、書き込みの一時停止前にリポジトリにコピーされたデータを格納する。
【００１６】
更に別の一実施形態において、リポジトリ内の書き込みが二次ストレージにコピーされる。リポジトリからの書き込みのコピーに応答して、二次ストレージとサイズが等しい三次ストレージへの、二次ストレージの第２の仮想コピーが確立される。一次ストレージは二次ストレージに再同期化され、一次ストレージからのデータによって上書きされる二次ストレージ内のデータは、三次ストレージにコピーされる。
【００１７】
更に別の一実施形態において、複数の一次ストレージ及び二次ストレージの対が存在する。書き込みを転送する動作、論理コピーを確立する動作、及び書き込みの転送を一時中止する動作、並びに、一時停止の後に更新される二次ストレージ内のデータを格納するのに、リポジトリ又は三次ストレージのいずれを用いるかを判定する動作は、各々の一次ストレージ及び二次ストレージの対に対して実行される。
【００１８】
更に別の一実施形態において、少なくとも１つの一次ストレージ及び二次ストレージの対が、一次ストレージ及び二次ストレージの対のためのリポジトリを用い、少なくとも１つの一次ストレージ及び二次ストレージの対が、一次ストレージ及び二次ストレージの対のための三次ストレージを用いる。
【００１９】
一次ストレージへの書き込みを二次ストレージに転送する方法、システム、及びプログラムがさらに提供される。二次ストレージの論理コピーはポイント・イン・タイムにおいて確立される。ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される。書き込みの二次ストレージへの転送は一時停止される。一時停止中、一次ストレージへの書き込みは非同期データ構造体内に示される。一時停止の終了に応答して、論理コピー及びリポジトリが削除される。非同期データ構造体内に示される書き込みは、論理コピーの削除に応答して二次ストレージに転送される。
【００２０】
更に別の一実施形態において、論理コピー及びリポジトリ内の書き込みは、一時停止の終了に応答して、バックアップ・ストレージにバックアップされる。論理コピー及びリポジトリ内の書き込みのバックアップに応答して、論理コピー及びリポジトリが削除される。
【００２１】
第１の態様から見ると、本発明は、再同期化中にデータ更新を格納するのにリポジトリを用いるかどうかを判定する方法を提供し、この方法は、一次ストレージへの書き込みを二次ストレージに転送するステップと、二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、二次ストレージへの書き込みの転送を一時停止するステップであって、一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、リポジトリ内の利用可能なストレージ空間が、一次ストレージから二次ストレージへの書き込みの転送の一時停止の終了に応答して非同期データ構造体から書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みの転送中に二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、一時停止の終了後に一次ストレージから転送される書き込みにより更新される二次ストレージ内のデータをポイント・イン・タイムで格納するのにリポジトリを用いるステップとを含む。
【００２２】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを判定するときに、一時停止前にコピーされた二次ストレージからのデータがリポジトリに含まれる、方法を提供する。
【００２３】
好ましくは、本発明は、論理コピーが第１の論理コピーを含み、リポジトリが第１のリポジトリを含む方法であって、非同期データ構造体内に示される書き込みの二次ストレージへの転送の完了に応答して、二次ストレージの第２の論理コピーを第２ポイント・イン・タイムにおいて確立するステップと、第２の論理コピーに対する第２のリポジトリを確立するステップであって、第２ポイント・イン・タイム後に一次ストレージから二次ストレージに転送される書き込みにより、二次ストレージ内で上書きされるデータがリポジトリにコピーされる、ステップとをさらに含む方法を提供する。
【００２４】
好ましくは、本発明は、一時停止の終了に応答して、非同期データ構造体内に示される書き込みと、一次ストレージにおいて受信される書き込みとを一時停止の後に二次ストレージに転送するステップをさらに含む方法であって、リポジトリ内の利用可能なストレージ空間が、一時停止の終了に応答して非同期データ構造体内に示される書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップは、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、非同期データ構造体内に示される書き込みを転送する間に一次ストレージにおいて受信される新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、方法を提供する。
【００２５】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを推定するステップが、非同期データ構造体内に示される書き込みのサイズと、一時停止の終了後に非同期データ構造体内に示される書き込みの全てを転送する間に一次ストレージにおいて新規書き込みを受信する速度とを考慮に入れて、非同期データ構造体内に示される書き込みの全てを転送するのにかかる時間を推定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップとを含む、方法を提供する。
【００２６】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みを転送する間に二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、一時停止の後に更新される二次ストレージ内のデータを格納するのに、二次ストレージとサイズが等しい三次ストレージを用いるステップをさらに含み、三次ストレージは、付加的に、書き込みの一時停止の前にリポジトリにコピーされたデータを格納する、方法を提供する。
【００２７】
好ましくは、本発明は、リポジトリ内の書き込みを二次ストレージにコピーするステップと、リポジトリからの書き込みのコピーに応答して、二次ストレージとサイズが等しい三次ストレージへの、二次ストレージの第２の仮想コピーを確立するステップと、一次ストレージを二次ストレージに再同期化するステップとを更に含み、一次ストレージからのデータによって上書きされる二次ストレージ内のデータは、三次ストレージにコピーされる、方法を提供する。
【００２８】
好ましくは、本発明は、複数の一次ストレージ及び二次ストレージの対が存在し、各々の一次ストレージ及び二次ストレージの対に対して、書き込みを転送する動作、論理コピーを確立する動作、及び書き込みの転送を一時停止する動作、並びに、一時停止の後に更新される二次ストレージ内のデータを格納するのに、リポジトリ又は三次ストレージのいずれを用いるかを判定する動作が実行される、方法を提供する。
【００２９】
好ましくは、本発明は、少なくとも１つの一次ストレージ及び二次ストレージの対が、一次ストレージ及び二次ストレージの対のためのリポジトリを用い、少なくとも１つの一次ストレージ及び二次ストレージの対が、一次ストレージ及び二次ストレージの対のための三次ストレージを用いる、方法を提供する。
【００３０】
第２の態様から見ると、本発明は、一次ストレージ及び二次ストレージと通信し、再同期化中にデータ更新を格納するのにリポジトリを用いるかどうかを判定するためのシステムであって、プロセッサと、動作を実行するようにプロセッサにより実行されるコードを含むコンピュータ可読媒体とを備え、その動作は、一次ストレージへの書き込みを二次ストレージに転送するステップと、二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、ポイント・イン・タイム後の論理コピー持続時間中に一次ストレージから受信された二次ストレージの論理コピーへの書き込みが、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、二次ストレージへの書き込みの転送を一時停止するステップであって、一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、リポジトリ内の利用可能なストレージ空間が、一次ストレージから二次ストレージへの書き込みの転送の一時停止の終了に応答して非同期データ構造体から書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みの転送中に二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、一時停止の終了後に一次ストレージから転送される書き込みにより更新される二次ストレージ内のデータをポイント・イン・タイムで格納するのにリポジトリを用いるステップとを含む、システムを提供する。
【００３１】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを判定するときに、一時停止前にコピーされた二次ストレージからのデータがリポジトリに含まれる、システムを提供する。
【００３２】
好ましくは、本発明は、一時停止の終了に応答して、一時停止の終了後に非同期データ構造体内に示される書き込みと一次ストレージにおいて受信される書き込みとを、二次ストレージに転送するステップをさらに含み、ここでリポジトリ内の利用可能なストレージ空間が、一時停止の終了に応答して非同期データ構造体内に示される書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップは、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、非同期データ構造体内に示される書き込みを転送する間に一次ストレージにおいて受信された新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、システムを提供する。
【００３３】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを推定するステップが、非同期データ構造体内に示される書き込みのサイズと、一時停止の終了後に非同期データ構造体内に示される書き込みの全てを転送する間に一次ストレージにおいて新規書き込みを受信する速度とを考慮に入れて、非同期データ構造体内に示される書き込みの全てを転送するのにかかる時間を推定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップとを含む、システムを提供する。
【００３４】
好ましくは、本発明は、二次ストレージとサイズが等しい三次ストレージとさらに通信するシステムを提供し、ここで動作は、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みを転送する間に二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、一時停止の後に更新される二次ストレージ内のデータを格納するのに二次ストレージとサイズが等しい三次ストレージを用いるステップをさらに含み、ここで三次ストレージは、付加的に、書き込みの一時停止の前にリポジトリにコピーされたデータを格納する。
【００３５】
好ましくは、本発明は、動作が、リポジトリ内の書き込みを二次ストレージにコピーするステップと、リポジトリから書き込みをコピーするステップに応答して、二次ストレージとサイズが等しい三次ストレージへの二次ストレージの第２の仮想コピーを確立するステップと、一次ストレージを二次ストレージに再同期化するステップとを含み、一次ストレージからのデータによって上書きされる二次ストレージ内のデータは、三次ストレージにコピーされる、システムを提供する。
【００３６】
別の態様から見ると、本発明は、デジタル・コンピュータの内部メモリにロード可能であり、コンピュータ上で実行されるとき、上述の本発明を実施するように実行するソフトウェア・コード部分を含んだコンピュータ・プログラムを提供する。
【００３７】
別の態様から見ると、本発明は、一次ストレージへの書き込みを二次ストレージに転送するステップと、二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、二次ストレージへの書き込みの転送を一時停止するステップであって、一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、一時停止の終了に応答して、論理コピー及びリポジトリを削除するステップと、論理コピーの削除に応答して、非同期データ構造体内に示される書き込みを二次ストレージに転送するステップとを含む方法を提供する。
【００３８】
好ましくは、本発明は、一時停止の終了に応答して、論理コピー及びリポジトリ内の書き込みをバックアップ・ストレージにバックアップするステップをさらに含み、論理コピー及びリポジトリは、論理コピー及びリポジトリ内の書き込みのバックアップに応答して削除される、方法を提供する。
【００３９】
別の態様から見ると、本発明は、一次ストレージ及び二次ストレージと通信し、プロセッサと、プロセッサにより実行されて動作を実施するためのコードを含むコンピュータ可読媒体とを備えるシステムであって、その動作は、一次ストレージへの書き込みを二次ストレージに転送するステップと、二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、二次ストレージへの書き込みの転送を一時停止するステップであって、一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、論理コピー及びリポジトリを一時停止の終了に応答して削除するステップと、論理コピーの削除に応答して、非同期データ構造体内に示される書き込みを二次ストレージに転送するステップとを含む、システムを提供する。
【００４０】
好ましくは、本発明は、バックアップ・ストレージとさらに通信するシステムであって、その動作は、一時停止の終了に応答して、論理コピー及びリポジトリ内の書き込みをバックアップ・ストレージにバックアップするステップをさらに含み、ここで論理コピー及びリポジトリ内の書き込みのバックアップに応答して、論理コピー及びリポジトリが削除される、システムを提供する。
【００４１】
別の態様から見ると、本発明は、論理を有するハードウェア装置と、一次ストレージ及び二次ストレージと通信し、動作を実行するためのコードを有するコンピュータ可読ストレージ媒体とのうちの少なくとも１つを備える製造品を提供し、その動作は、一次ストレージへの書き込みを二次ストレージに転送するステップと、二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、二次ストレージへの書き込みを転送を一時停止するステップであって、一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、リポジトリ内の利用可能なストレージ空間が、一次ストレージから二次ストレージへの書き込みの転送の一時停止の終了に応答して非同期データ構造体から書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みの転送中に二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、一時停止の終了後に一次ストレージから転送される書き込みにより更新される二次ストレージ内のデータをポイント・イン・タイムにおいて格納するのにリポジトリを用いるステップとを含む。
【００４２】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを判定するときに、一時停止の前にコピーされた二次ストレージからのデータがリポジトリに含まれる、製造品を提供する。
【００４３】
好ましくは、本発明は、論理コピーが第１の論理コピーを含み、リポジトリが第１のリポジトリを含む製造品であって、その動作は、非同期データ構造体内に示される書き込みの二次ストレージへの転送の完了に応答して、二次ストレージの第２の論理コピーを第２ポイント・イン・タイムにおいて確立するステップと、第２の論理コピーの第２のリポジトリを確立するステップとをさらに含み、第２ポイント・イン・タイム後に一次ストレージから二次ストレージに転送される書き込みにより、二次ストレージ内の上書きされるデータがリポジトリにコピーされる、製造品を提供する。
【００４４】
好ましくは、本発明は、動作が、一時停止の終了に応答して、一時停止の終了後に非同期データ構造体内に示される書き込みと一次ストレージにおいて受信される書き込みとを二次ストレージに転送するステップをさらに含み、リポジトリ内の利用可能なストレージ空間が、一時停止の終了に応答して非同期データ構造体内に示される書き込みを転送する間に、二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップは、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、非同期データ構造体内に示される書き込みを転送する間に一次ストレージにおいて受信される新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、製造品を提供する。
【００４５】
好ましくは、本発明は、リポジトリ内の利用可能なストレージ空間が十分であるかどうかを推定するステップが、非同期データ構造体内に示される書き込みのサイズと、一時停止の終了後に非同期データ構造体内に示される書き込みの全てを転送する間に一次ストレージにおいて新規書き込みを受信する速度とを考慮に入れて、非同期データ構造体内に示される書き込みの全てを転送するのにかかる時間を推定するステップと、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みと、推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップとを含む、製造品を提供する。
【００４６】
好ましくは、本発明は、動作が、リポジトリ内の利用可能なストレージ空間が、非同期データ構造体内に示される書き込みを転送する間に二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、一時停止の後に更新される二次ストレージ内のデータを格納するのに、二次ストレージとサイズが等しい三次ストレージを用いるステップをさらに含み、ここで三次ストレージは、付加的に、書き込みの一時停止の前にリポジトリにコピーされたデータを格納する、製造品を提供する。
【００４７】
好ましくは、本発明は、動作が、リポジトリ内の書き込みを二次ストレージにコピーするステップと、リポジトリからの書き込みのコピーに応答して、二次ストレージとサイズが等しい三次ストレージへの、二次ストレージの第２の仮想コピーを確立するステップと、一次ストレージを二次ストレージに再同期化するステップとをさらに含み、一次ストレージからのデータによって上書きされる二次ストレージ内のデータは三次ストレージにコピーされる、製造品を提供する。
【００４８】
好ましくは、本発明は、複数の一次ストレージ及び二次ストレージの対が存在し、各々の一次ストレージ及び二次ストレージの対に対して、書き込みを転送する動作、論理コピーを確立する動作、及び書き込みの転送を一時停止する動作、並びに、一時停止の後に更新される二次ストレージ内のデータを格納するのに、リポジトリ又は三次ストレージのいずれを用いるかを判定する動作が実行される、製造品を提供する。
【００４９】
好ましくは、本発明は、少なくとも１つの一次ストレージ及び二次ストレージの対が、一次ストレージ及び二次ストレージの対のためのリポジトリを用い、少なくとも１つの一次ストレージ及び二次ストレージの対が、一次ストレージ及び二次ストレージの対のための三次ストレージを用いる、製造品を提供する。
【００５０】
好ましくは、本発明は、論理を有するハードウェア装置と、一次ストレージ及び二次ストレージと通信して動作を実行するためのコードを有するコンピュータ可読ストレージ媒体とのうちの少なくとも１つを備える製造品であって、その動作は、一次ストレージへの書き込みを二次ストレージに転送するステップと、二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、ポイント・イン・タイム後の論理コピー継続時間中に一次ストレージから受信される二次ストレージの論理コピーへの書き込みは、二次ストレージの論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、二次ストレージへの書き込みの転送を一時停止するステップであって、一時停止中の一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、一時停止の終了に応答して、論理コピー及びリポジトリを削除するステップと、論理コピーの削除に応答して、非同期データ構造体内に示される書き込みを二次ストレージに転送するステップとをさらに含む、製造品を提供する。
【００５１】
好ましくは、本発明は、動作が、一時停止の終了に応答して、論理コピー及びリポジトリ内の書き込みをバックアップ・ストレージにバックアップするステップをさらに含み、論理コピー及びリポジトリは、論理コピー及びリポジトリ内の書き込みのバックアップに応答して削除される、製造品を提供する。
【００５２】
本発明の実施形態は、添付の図面を参照して、実施例としてのみ以下でより詳細に説明する。
【図面の簡単な説明】
【００５３】
【図１】コンピューティング環境の一実施形態を示す。
【図２】ソース・ミラーリング関係情報の一実施形態を示す。
【図３】ボリューム・コピー関係情報の一実施形態を示す。
【図４】一次ストレージ・コントローラが、一次ストレージの更新を二次ストレージに転送するミラーリング操作を開始する動作の一実施形態を示す。
【図５】二次ストレージ・コントローラが、二次ストレージの論理コピーを確立するために実行する動作の一実施形態を示す。
【図６】一次ストレージ・コントローラが、ミラーリング関係内での書き込みの転送の一時停止を生じるイベントを処理するために実行する動作の一実施形態を示す。
【図７】二次ストレージ・コントローラが、一次ストレージから二次ストレージへの書き込みの再同期化を指示する再同期化メッセージを処理するために実行する動作の実施形態を示す。
【図８】二次ストレージ・コントローラが、更新を受ける二次ストレージ内のデータを格納するのに、三次ストレージよりサイズが小さいリポジトリの替わりに三次ストレージを使用するように切り替えるために実行する動作の一実施形態を示す。
【図９】二次ストレージ・コントローラが、一次ストレージから二次ストレージへの書き込みの再同期化を指示する再同期化メッセージを処理するために実行する動作の実施形態を示す。
【図１０】コンピューティング環境の一実施形態を示す。
【発明を実施するための形態】
【００５４】
図１は、ネットワーク・コンピューティング環境の一実施形態を示す。一次ストレージ・コントローラ２は、１つ又は複数のホスト・システム４から、例えばボリュームのような一次ストレージ８が内部に構成されている一次ストレージ・システム６への、入力／出力（Ｉ／Ｏ）要求を管理する。一次ストレージ・コントローラ２は、一次ストレージ８へのＩ／Ｏ要求を管理する一次ストレージ・マネージャ１０プログラムを含み、一次ストレージ８に関するミラーリング環境を保持することができ、それにより、ミラーリング関係にある一次ストレージ８の更新は、二次ストレージ・システム１６内にある対応する二次ストレージ１２、例えばボリュームにコピーされる。二次ストレージ・コントローラ１８は、二次ストレージ・システム１６へのＩ／Ｏアクセスを管理するための二次ストレージ・マネージャ２０プログラムを含む。
【００５５】
一次ストレージ・コントローラ２及び二次ストレージ・コントローラ１８は、それぞれ、対応するストレージ・システム６及び１６についての読み出し及び書き込みデータをバッファリングするためのキャッシュ２２及び２４を含む。一次ストレージ・コントローラ２及び二次ストレージ・コントローラ１８の両方は、読み出し及び書き込み要求をホスト・システム４から受信することができる。更に別の一実施形態において、二次ストレージ又はターゲット・ストレージへの書き込みを禁じることができる。
【００５６】
一次ストレージ・マネージャ１０は、二次ストレージ・システム１６内の対応する二次ストレージ１２にミラーリングされるデータを有する一次ストレージ６に関する情報を有するミラーリング関係情報２６を保持することができる。二次ストレージ・マネージャ２０は、例えばボリュームのような二次ストレージ１２の論理コピーに関する情報を与える論理コピー情報２８を保持し、二次ストレージ１２のデータは論理コピーが作成されたとき、ポイント・イン・タイムでリポジトリ３０又は三次ストレージ３２に保持される。三次ストレージ３２は、論理コピーを受ける二次ストレージ１２とサイズが等しく、二次ストレージ１２内の各トラック又はデータ・ユニットに対応するトラック又はデータ・ユニットを含む。
【００５７】
一次ストレージ・マネージャ１０は、変更記録データ構造体３４及び非同期データ構造体（ＯＯＳ）３６をさらに保持する。非同期データ構造体３６は、ミラーリング関係にある一次ストレージ８への書き込みを、対応する二次ストレージ１２にコピーすることを示す。整合性グループを形成するために、一次ストレージ・コントローラ２は、フリーズ・コマンドを発行する。フリーズ・コマンドに続いて、キャッシュ２２内に保持された非同期データ構造体（ＯＯＳ）３６内に示されるデータが、対応する二次ストレージにコピーされ、一次ストレージ８への新規の書き込みは、変更記録データ構造体３４内に示される。ＯＯＳ３６を空にした後、即ち、ＯＯＳ３６内に示される全ての書き込みを二次ストレージ１２に転送した後で、一次ストレージ・コントローラ２は、新たなフリーズ・コマンドを発行し、変更記録データ構造体３４をＯＯＳ３６にし、次いで、ＯＯＳ３６をクリアして変更記録データ構造体３４として働くようにし、そこに次の整合性グループの一部分として転送されることになる新規の書き込みを記録することにより、次の整合性グループを形成することができる。
【００５８】
一次ストレージ・コントローラ２及び二次ストレージ・コントローラ１８並びにホスト４は、ネットワーク３８上で通信することができる。ネットワーク３８は、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、インターネット、広域エリア・ネットワーク（ＷＡＮ）、ピア・ツー・ピア・ネットワーク、無線ネットワーク、アービトレーテッド・ループ・ネットワークなどを含むことができる。ストレージ・システム６及び１６は、各々、Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋｓ（ＪＢＯＤ）、Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ（ＤＡＳＤ）、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（ＲＡＩＤ）アレイ、仮想化デバイス、テープ・ストレージ、フラッシュメモリなどといったストレージ装置のアレイを備えることができる。
【００５９】
特定の実施形態において、それぞれストレージ・コントローラ２及び１８によって保持されるストレージ・システム６及び１６内のストレージ８及び１２は、１つ又は複数のセッションに割り当てられたボリュームを備えることができる。ボリュームは論理サブシステム（ＬＳＳ）に編成することができ、セッションには、一次ストレージ・コントローラ２によって保持されるＬＳＳ内のボリュームを割り当てることができる。
【００６０】
図２は、ソース・ミラーリング関係情報５０の一実施形態を示し、ここでミラーリング関係情報２６は、ミラーリング関係にある例えばボリュームである一次ストレージ８と例えばボリュームである二次ストレージ１２との各対に関するソース・ミラーリング関係情報のインスタンスを含む。ソース・ミラーリング関係情報５０は、二次ストレージ１２を構成できる示されたターゲット・ストレージ５４にデータがコピーされる関係にあるソース・ストレージ５２又は一次ストレージ８と、ターゲット・ストレージ５４にコピーされるソース・ストレージ５２への書き込みを特定する非同期データ構造体（ＯＯＳ）５６と、ＯＯＳ５６内に示されたソース（一次）ストレージ５２への書き込みを整合性グループ内にあるターゲット（二次）ストレージ５４に向けて空ける又は転送する間に、ソース・ストレージ５２において受信される新規書き込みを示す変更記録データ構造体５８とを示す。
【００６１】
図３は、ソース論理コピー情報７０の一実施形態を示し、ここで論理コピー情報２８は、ＦｌａｓｈＣｏｐｙ（登録商標）のような論理コピー関係に含まれる二次ストレージ１２の各々についての論理コピー情報７０のインスタンスを含む（ＦＬＡＳＨＣＯＰＹは米国及び他の国々におけるＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐ．の登録商標である）。１つの二次ストレージ１２に関する論理コピー情報７０は、論理コピー関係の対象となるソース・ストレージ７２を示す。空間効率のよい論理コピー、即ち、更新を受けるソース・ストレージ７２内のポイント・イン・タイムのデータを格納するのに割り当てられる全ボリューム、例えば二次ストレージ１２のボリューム、よりも小さい論理コピーが用いられる場合には、リポジトリ・フィールド７４が二次ストレージ・システム１６内のリポジトリ３０を特定し、リポジトリ・インデックス７６は、ソース・ストレージ７２からコピーされたポイント・イン・タイムのデータ、例えばトラック又は他のデータ・ユニットが、特定されたリポジトリ７４内のどこに格納されるかを示す。ソース・ストレージ７２とサイズが等しいターゲット（三次）ストレージ３２全体が、更新されるポイント・イン・タイムのデータを格納するのに用いられる場合には、リポジトリ・フィールド７４及び７６は空となり、対応するターゲット・ストレージ・フィールド７８は、論理コピー継続時間中に、ソース・ストレージ７２内の更新されるデータを格納するためのバックアップ空間として割り当てられる、例えばボリュームである三次ストレージ３２を示す。説明した実施形態により、論理コピー関係にあるソース・ストレージ７２を備える二次ストレージ１２には、バックアップ空間として、リポジトリ又はストレージ全体のどちらを用いてもよく、この場合、異なる二次ストレージ１２は、異なるタイプのバックアップ空間、例えばリポジトリ又は三次ストレージ全体を有することができる。
【００６２】
図４は、一次ストレージ８への書き込みをミラーリング関係５０にある対応する二次ストレージ１２にコピーするように、一次ストレージ・マネージャ１０によって実行される動作の一実施形態を示す。一次ストレージ・マネージャ１０が、ミラーリング関係情報５０（図２）に示されるように、一次ストレージ８と対応する二次ストレージ１２との間のミラーリング操作を開始する（ブロック１００で）と、ストレージ・マネージャ１０はホスト４から受信した書き込みをＯＯＳ３６内に示す（ブロック１０２で）。整合性グループを形成するために、ストレージ・マネージャ１０はフリーズ・コマンドを発行し（ブロック１０４で）、あらゆる新規書き込みを変更記録データ構造体３４内に格納するようにし、ＯＯＳ３６内に示される形成された整合性グループの書き込みをポイント・イン・タイムで、二次ストレージ１２に放出（即ち、転送）し続けることができる。ＯＯＳ３６内に示される全ての書き込みの転送が完了すると、一次ストレージ・マネージャ１０は、二次ストレージ・コントローラ１８に、整合性グループの転送が完了したことを示すメッセージを送信する（ブロック１０６で）。この時点で、ストレージ・マネージャ１０は、更に別のフリーズ・コマンドを発行し、現行の変更記録データ構造体３４をＯＯＳ３６にし、現行のＯＯＳ３６をクリアしてＯＯＳ３６を変更記録データ構造体３４とし、そこに新たな整合性グループを形成するフリーズ・コマンドのポイント・イン・タイム後に受信した新規書き込みを示すことにより、新たな整合性グループを形成することができる。
【００６３】
図５は、ミラーリング関係に含まれる二次ストレージ１２の論理コピーを確立するための、二次ストレージ・マネージャ２０によって実行される動作の一実施形態を示す。一次ストレージ・コントローラ２から、整合性グループ内の全てのデータが完全にコピーされた、即ち、ＯＯＳ３６が空になったとのメッセージを受信する（ブロック１２０で）と、二次ストレージ・マネージャ２０は（ブロック１２２において）、二次ストレージ１２の論理コピーをポイント・イン・タイムにおいて確立する。論理コピー継続時間中に一次ストレージ・コントローラ８から受信される二次ストレージ１２の論理コピーへの書き込みによって上書きされるデータは、二次ストレージ１２の論理コピーより小さいストレージ空間を含むリポジトリ３０に格納される。
【００６４】
図６は、一次ストレージ８からミラーリング関係にある対応する二次ストレージ１２への書き込みの転送の一時停止を引き起こす、ネットワーク３８接続の故障などのようなイベントを処理するための、一次ストレージ・コントローラ２においてストレージ・マネージャ１０によって実行される動作の一実施形態を示す。一次ストレージ８からミラーリング関係にある対応する二次ストレージ１２への書き込みの転送を妨げる一時停止イベントの発生を検出する（ブロック１５０で）と、ストレージ・マネージャ１０は二次ストレージ１６への書き込みの転送を一時停止する（ブロック１５２で）。
【００６５】
一時停止中に、ストレージ・マネージャ１０は、ミラーリング関係にある一次ストレージ８への新規書き込みをＯＯＳ３６に対して示し（ブロック１５４において）、一次ストレージ８への書き込みをバッファリングする。従って、ＯＯＳ３６は、一時停止前及び一時停止中に、一次ストレージ８に対して受信された書き込みを示す。一時停止が終了したことを検出すると、ストレージ・マネージャ１０は、二次ストレージ・コントローラ１８に、一時停止の後の書き込みの再同期化が起ることを示すメッセージを送信する（ブロック１５６で）。次いで、一次ストレージ・マネージャ１０は、ＯＯＳ３６が空になるまで、即ち、ＯＯＳ３６内に示される全ての書き込みが二次ストレージ１２に転送されるまで、ＯＯＳ内３６に示されるあらゆる書き込みを転送し（ブロック１５８で）、同時に、あらゆる新規に受信される書き込みを、二次ストレージ１２の対応する二次ストレージ・コントローラ１８に転送する。再同期化の一環としてＯＯＳ３６が空になった後、一次ストレージ・マネージャ１０はフリーズ・コマンドを発行し（ブロック１６０で）、図４のブロック１０４において、新たな整合性グループを形成することができる。
【００６６】
図７は、一次ストレージ８／二次ストレージ１２対に対して一次ストレージ・コントローラ２により開始された書き込みの再同期化に応答して、二次ストレージ・マネージャ２０により実行される動作の一実施形態を示す。再同期化メッセージに応答し（ブロック２００で）、二次ストレージ・マネージャ２０は、リポジトリ３０内に、ＯＯＳ内に示される書き込みを転送する間に二次ストレージ・コントローラに転送されるデータによって上書きされるデータを格納するのに十分な利用可能な空間が存在するかどうかを判定する動作を開始する（ブロック２０２で）。１つの実施形態において、二次ストレージ・マネージャ２０は、ブロック２０４及び２０６において、現行のリポジトリ３０が、ミラーリング関係にある一次ストレージ・コントローラ２から転送される書き込みによって更新される二次ストレージ１２内のデータを格納するのに、十分な利用可能なストレージ空間を有するかどうかを判定する動作を実行することができる。
【００６７】
ブロック２０４において、二次ストレージ・マネージャ２０は、非同期データ構造体（ＯＯＳ）３６内に示される書き込みのサイズと、一時停止の終了後にＯＯＳ内に示される全ての書き込みを転送する間に一次ストレージ８において新規書き込みが受信される速度とを考慮に入れて、非同期データ構造体３６内に示される全ての書き込みを転送するのにかかる時間を推定する。前述のように、再同期化中に、ＯＯＳ３６に示される一時停止中に生じた書き込みと、ＯＯＳ３６が空にされている間に受信された書き込みとの両方が、二次ストレージ１２に転送される。次いで、二次ストレージ・マネージャ２０は、リポジトリ３０内の利用可能なストレージ空間が、ＯＯＳ３６内に示される書き込みと、推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定する（ブロック２０６で）。
【００６８】
１つの実施形態において、二次ストレージ・マネージャ２０は、以下の変数を考慮して、リポジトリ３０が、ＯＯＳ３６内に示される書き込みが二次ストレージ１２に向けて放出される間に転送される書き込みを格納するのに十分な利用可能なストレージ空間を有するかどうかを推定することができる。
ＦＳ−リポジトリ３０内の利用可能な自由空間。ここでリポジトリ３０は、一時停止の前にコピーされた二次ストレージ１２内のデータ、例えばトラックを有することができる。
ＳＲ−同期化速度。これは一次ストレージ８への書き込みがネットワーク３８上で二次ストレージ・コントローラ１８に転送される速度（例えば、１秒当りのトラック数）である。
ＷＢ−書き込みバックログであり、再同期化中の二次ストレージ１２への転送の一時停止中及びその前に蓄積された、ＯＯＳ３６内に示される、例えば、キロバイト・サイズの書き込みを含む。
ＮＷＲ−新規書き込み速度であり、一次ストレージ８に関する一次ストレージ・コントローラ２において、新規書き込みが受信される速度（例えば、１秒当りのトラック数）を含む。
【００６９】
上記の変数は、ＯＯＳ３６が空にされている間にリポジトリ３０に転送されるデータの量を推定するのに用いることができる。最初に、ＯＯＳ３６が空にされる総合速度が推定され、この総合速度はＳＲからＮＷＲを引いた差を含むが、その理由は書き込みが転送される速度が、新規書き込みが受信される速度、即ち、転送速度のオフセットによって低減されるからである。次いで、ストレージ・マネージャ２０は、ＯＯＳ３６を空にするのにかかる時間（変数「Ｔ」）を、ＷＢを総合速度で割った商として計算することができ、これは、新規書き込みがＯＯＳ３６内に示される書き込みの転送をオフセットする程度を考慮に入れた、ＯＯＳ３６内に示される全ての書き込みを転送するのにかかる時間である。ＯＯＳ３６が空にされている間に転送された、例えばバイト単位のデータの合計量は、ＯＯＳ３６内に示される全ての書き込みを転送する総合時間と新規書き込み速度（ＮＷＲ）とを掛け合わせたものに、書き込みバックログ（ＷＢ）、即ち、ＯＯＳ３６内の書き込みを加えることにより、計算することができる。次いで、リポジトリ３０内の利用可能なストレージ空間（ＦＳ）を、転送されるデータの推定合計量と比較する、即ち、ＦＳ＞（ＷＢ＋ＮＷＲ＊Ｔ）であるかどうか比較することができる。
【００７０】
リポジトリ３０が、ＯＯＳ３６が空にされている間に転送される書き込みを格納するのに十分な利用可能な空間を有する場合（ブロック２０８で）には、二次ストレージ・マネージャ２０は、現行のリポジトリ３０を用いて（ブロック２１０で）、一時停止の後に更新される二次ストレージ１２内のデータを格納する。そうではなく、リポジトリ３０が十分な空間をもたない場合には、二次ストレージ・マネージャ２０は、二次ストレージ１２と同じサイズの三次ストレージ３２を用いて（ブロック２１２で）、一時停止の後に受信された一次ストレージ・コントローラ２からの新規書き込みによって更新される二次ストレージ内のデータと、一時停止の前のリポジトリ３０内のデータとを格納する。
【００７１】
図８は、図７のブロック２０８におけるように、リポジトリ３０が、推定される書き込みによって更新されるデータを格納するのに十分な利用可能な空間をもたないと推定される場合に、二次ストレージ・マネージャ２０が、再同期化中に更新される二次ストレージ内１２のデータを格納するのに、三次ストレージ３２を使用するように切り替えるために実行する動作の一実施形態を示す。三次ストレージ３２を使用するように切り替える動作の開始（ブロック２５０で）に応答して、二次ストレージ・マネージャ２０は、リポジトリ３０内の書き込みを、二次ストレージ１２にコピーする（ブロック２５２で）。リポジトリ３０からの書き込みのコピーに応答して、二次ストレージ・マネージャ２０は、二次ストレージ１２とサイズが等しい三次ストレージ３２への二次ストレージ１２の新たな論理コピーを確立する（ブロック２５４で）。次いで、一次ストレージ・マネージャ１０は一次ストレージ８を二次ストレージ１２に再同期化し（ブロック２５６で）、ここで一次ストレージからのデータによって上書きされる二次ストレージ１２内のデータは、三次ストレージ３２にコピーされる。
【００７２】
図９は、二次ストレージ・マネージャ２０が、一時停止の後の再同期化を処理するために実行する動作の代替的な一実施形態を示す。一次ストレージ・コントローラ２から再同期化メッセージを受信する（ブロック３００で）と、二次ストレージ・マネージャ２０は、再同期化要求の対象である二次ストレージ１２の論理コピー及びリポジトリ３０を削除する（ブロック３０２で）。再同期化中に転送される書き込み（ＯＯＳ３６内に示される書き込みと、一次ストレージ８への新規書き込みとを含む）は、二次ストレージに格納される（ブロック３０６で）。図９の実施形態では、システムは二次ストレージ１２への書き込みのバックアップ保護をもたないが、その理由は、再同期化中に更新される二次ストレージ１２におけるデータを保護するのに論理コピーが用いられないからである。
【００７３】
図９の動作の代替的な一実施形態において、論理コピー及びリポジトリを削除する（ブロック３０２で）前に、論理コピー、及び論理コピーのためのリポジトリ３２内の書き込みをバックアップすることができる。さらに、この論理コピー及び書き込みは、論理コピー及びリポジトリのバックアップを行った後で削除することができる。
【００７４】
図１０は、複数の一次ストレージ・コントローラ４００ａ、４００ｂ、．．．４００ｎが、一次ストレージ・システム４０２ａ、４０２ｂ、．．４０２ｎへのアクセスを管理し、ミラーリング関係にある、例えばボリュームなどの一次ストレージ４０４ａ、４０４ｂ、．．４０４ｎへの書き込みを対応する二次ストレージ・コントローラ４０８ａ、４０８ｂ、．．４０８ｎにコピーして、二次ストレージ４１０ａ、４１０ｂ、．．４１０ｎに格納させる、一実施形態を示す。一次ストレージ４０４ａ、４０４ｂ、．．４０４ｎは、全てのデータが同じポイント・イン・タイムにおいて整合するように、同じ整合性グループに存在させることができる。一次ストレージ・コントローラ４００ａ、４００ｂ、．．４００ｎは、図１の一次ストレージ・コントローラ２のインスタンスを含むことができ、二次ストレージ・コントローラ４０８ａ、４０８ｂ、４０８ｎは、図１の二次ストレージ・コントローラ１８のインスタンスを含むことができる。
【００７５】
グローバル整合性グループ内の二次ストレージ・コントローラ４０８ａ、４０８ｂ、．．４０８ｎは、それらそれぞれの一次ストレージ・コントローラ４００ａ、４００ｂ、．．４００ｎからの書き込みの同期化及び再同期化に関して、図５、図６、図７、及び図８に関して説明した二次ストレージ・コントローラ１８の動作を、独立に実行することができる。
【００７６】
説明した実施形態は、同期化中に一次ストレージにおいて受信された書き込みと、再同期化中に受信された書き込みとが二次ストレージに転送される再同期化イベント中に更新される二次ストレージのデータを格納するのに、空間効率のよいリポジトリを用いることができるか否かを判定する技術を提供する。
【００７７】
付加的な実施形態の詳細
説明した動作は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生成する標準的なプログラミング及び／又は工学技術を用いた方法、装置、又は製造品として実施することができる。説明した動作は、「コンピュータ可読ストレージ媒体」に保持されるコードとして実施することができ、その場合プロセッサは、コンピュータ・ストレージ可読媒体からコードを読み出し、実行することができる。コンピュータ可読ストレージ媒体は、磁気ストレージ媒体（例えば、ハードディスクドライブ、フロッピィディスク、テープなど）、光学式ストレージ（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性及び不揮発性メモリ装置（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ファームウェア、プログラマブル論理など）といったストレージ媒体を含むことができる。説明した動作を実施するコードはさらに、ハードウェア・デバイス（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）に実装されたハードウェア論理で実施することができる。さらにまた、説明した動作を実施するコードは「伝送信号」内に実装することができ、その場合伝送信号は、空間を通して、又は、光ファイバ、銅線などの伝送媒体を通して伝播することができる。コード又は論理がエンコードされる伝送信号は、無線信号、衛星伝送、ラジオ波、赤外線信号、Ｂｌｕｅｔｏｏｔｈなどをさらに含むことができる。「製造品」は、コード又は論理がエンコードされている伝送信号を送受信するための送信局及び／又は受信局を含むことができ、その場合、伝送信号にエンコードされたコード又は論理は、受信及び送信局又は装置においてデコードし、ハードウェア又はコンピュータ可読ストレージ媒体に格納することができる。「製造品」は、コード又は論理を実装することができるコンピュータ可読ストレージ媒体、ハードウェア装置、及び／又は伝送送信機又は受信機を含む。当業者であれば、本発明の範囲から逸脱せずにこの構成に対して多くの修正を行うことができること、及び、製造品は当該技術分野において公知の適切な情報支持媒体を含むことができることを認識するであろう。
【００７８】
説明した実施形態において、二次ストレージ・マネージャ２０は、再同期化中に更新される二次ストレージ１２のデータに対して現行のリポジトリ３０を使い続けるか否かを判定するための動作を実行した。代替的な一実施形態において、一次ストレージ・マネージャ１０が、再同期化中に二次ストレージ１２において受信された更新に対して現行のリポジトリ３０を使い続けるか否かを判定し、次いで、二次ストレージ・マネージャ２０に、再同期化中に更新される二次ストレージ１２のデータをポイント・イン・タイムで格納するのに現行のリポジトリ３０を使い続けるか又は三次ストレージ３２全体を使用するように切り替えるかについて指示する動作を実行することができる。
【００７９】
「一実施形態」、「実施形態」、「複数の実施形態」、「当該の実施形態」、「当該の複数の実施形態」、「１つ又は複数の実施形態」、「幾つかの実施形態」、及び「１つの実施形態」という用語は、別に明記されない限り、「本発明（単数又は複数）の１つ又は複数の（但し全てではない）実施形態」を意味する。
【００８０】
「含む」、「備える」、「有する」という用語及びそれらの変形は、別に明記されていない限り、「含むがこれらに限定されない」ことを意味する。
【００８１】
列挙された項目のリストは、別に明記されない限り、項目のいずれか１つ又は全てが相互排他的であることを意味しない。
【００８２】
「１つの（ａ）」、「１つの（ａｎ）」及び「その（ｔｈｅ）」という用語は、別に明記されない限り、「１つ又は複数の」を意味する。
【００８３】
互いに通信する装置は、別に明記されない限り、互いに間断なく通信する必要はない。さらに、互いに通信する装置は直接的に通信してもよく、又は１つ若しくは複数の介在物を通して間接的に通信してもよい。
【００８４】
互いに通信する数個のコンポーネントを有する実施形態の説明は、それら全てのコンポーネントが必要であることを意味するものではない。むしろ様々な随意的なコンポーネントが、本発明の多種多様な可能な実施形態を例示するために説明されている。
【００８５】
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、逐次的な順序で説明され得るが、それらプロセス、方法及びアルゴリズムは代替的な順序で機能するように構成することができる。換言すれば、説明し得るステップの任意のシーケンス又は順序は、必ずしもその順序でステップが実施される必要性を示すものではない。本明細書で説明したプロセスのステップは、任意の実際的な順序で実施することができる。さらに、幾つかのステップは同時に実施することができる。
【００８６】
本明細書において単一の装置又は物品を説明するとき、単一の装置／物品の代わりに、１つより多くの装置／物品（協働するか否かに関わらず）を用いることができることは直ちに明らかとなるであろう。同様に、１つより多くの装置又は物品が本明細書で説明される場合（協働するか否かに関わらず）、１つより多くの装置又は物品の代わりに単一の装置／物品を用いることができること、又は、図示した数の装置又はプログラムの代わりに異なる数の装置／物品を用いることができることは直ちに明らかとなるであろう。装置の機能性及び／又は特徴は、そのような機能性／特徴を有すると明示的に説明されていない１つ又は複数の他の装置によって、代替的に具体化することができる。従って、本発明の他の実施形態は、その装置自体を含む必要はない。
【００８７】
図４−図９の例証的な動作は、特定の順序で行われる特定のイベントを示す。代替的な実施形態において、特定の動作は、異なる順序で実施することができ、修正することができ、又は除去することができる。さらに、上記の論理にステップを追加し、それでもなお説明した実施形態に適合させることができる。さらに、本明細書で説明した動作は、逐次的に行うことができ、又は、特定の動作を並行して処理することができる。さらにまた、動作は単一の処理装置によって、又は分散型処理装置によって実施することができる。
【００８８】
本発明の種々の実施形態に関する上記の説明は、例証及び説明を目的として提示した。この説明は、網羅的であること、又は、本発明を開示されたとおりの形態に限定することを意図するものではない。上記の教示に照らして、多くの修正及び変形が可能である。本発明の範囲は、この詳細な説明によって限定されるのではなく、添付の特許請求の範囲によって限定されることを意図している。上記の明細事項、実施例、及びデータは、本発明の構成物の製造及び使用についての完全な説明を与える。本発明の多くの実施形態を本発明の範囲から逸脱せずに構成することができるので、本発明は、添付の特許請求の範囲に存する。
【符号の説明】
【００８９】
２：一次ストレージ・コントローラ
４：ホスト・システム
６：一次ストレージ・システム
８：一次ストレージ
１０：一次ストレージ・マネージャ
１２：二次ストレージ
１６：二次ストレージ・システム
１８：二次ストレージ・コントローラ
２０：二次ストレージ・マネージャ
２２、２４：キャッシュ
２６：ミラーリング関係情報
２８：論理コピー情報
３０：リポジトリ
３２：三次ストレージ
３４、５８：変更記録データ構造体
３６、５６：非同期データ構造体（ＯＯＳ）
３８：ネットワーク
５０：ソース・ミラーリング関係情報
５２、７２：ソース・ストレージ
５４：ターゲット・ストレージ
７０：ソース論理コピー情報
７４、７６：リポジトリ・フィールド
７８：ターゲット・ストレージ・フィールド
４００ａ、４００ｂ．．．．４００ｎ：一次ストレージ・コントローラ
４０２ａ、４０２ｂ．．．４０２ｎ：一次ストレージ・システム
４０４ａ、４０４ｂ．．．４０４ｎ：一次ストレージ
４０８ａ、４０８ｂ、４０８ｎ：二次ストレージ・コントローラ
４１０ａ、４１０ｂ．．．．４１０ｎ：二次ストレージ
【図１】
2011507062.tif 000003
【図２】
2011507062.tif 000004
【図３】
2011507062.tif 000005
【図４】
2011507062.tif 000006
【図５】
2011507062.tif 000007
【図６】
2011507062.tif 000008
【図７】
2011507062.tif 000009
【図８】
2011507062.tif 000010
【図９】
2011507062.tif 000011
【図１０】
2011507062.tif 000012
【手続補正書】
【提出日】平成22年9月7日(2010.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
再同期化中にデータ更新を格納するのにリポジトリを用いるかどうかを判定する方法であって、
一次ストレージへの書き込みを二次ストレージに転送するステップと、
前記二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、前記ポイント・イン・タイム後の論理コピー継続時間中に前記一次ストレージから受信される前記二次ストレージの前記論理コピーへの書き込みは、前記二次ストレージの前記論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、
前記二次ストレージへの前記書き込みの転送を一時停止するステップであって、前記一時停止中の前記一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、
前記リポジトリ内の利用可能なストレージ空間が、前記一次ストレージから前記二次ストレージへの書き込みの転送の前記一時停止の終了に応答して前記非同期データ構造体から前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みの転送中に前記二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、前記一時停止の終了後に前記一次ストレージから転送される書き込みにより更新される前記二次ストレージ内のデータを前記ポイント・イン・タイムにおいて格納するのに前記リポジトリを用いるステップと
を含む方法。
【請求項２】
前記一時停止の前にコピーされた前記二次ストレージからのデータは、前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを判定するときに、前記リポジトリに含まれる、請求項１に記載の方法。
【請求項３】
前記論理コピーは第１の論理コピーを含み、前記リポジトリは第１のリポジトリを含み、
前記非同期データ構造体内に示される前記書き込みの前記二次ストレージへの転送の完了に応答して、前記二次ストレージの第２の論理コピーを第２ポイント・イン・タイムにおいて確立するステップと、
前記第２の論理コピーに対する第２のリポジトリを確立するステップであって、前記第２ポイント・イン・タイム後に前記一次ストレージから前記二次ストレージに転送される書き込みにより、前記二次ストレージ内の上書きされる前記データが前記リポジトリにコピーされる、ステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記一時停止の終了に応答して、前記一時停止の終了後に前記非同期データ構造体内に示される書き込みと前記一次ストレージにおいて受信される書き込みとを前記二次ストレージに転送するステップをさらに含み、
前記リポジトリ内の利用可能なストレージ空間が、前記一時停止の終了に応答して前記非同期データ構造体内に示される前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップは、前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記非同期データ構造体内に示される前記書き込みを転送する間に前記一次ストレージにおいて受信される新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、
請求項１に記載の方法。
【請求項５】
前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを推定するステップは、
前記非同期データ構造体内に示される前記書き込みのサイズと、前記一時停止の終了後に前記非同期データ構造体内に示される前記書き込みの全てを転送する間に前記一次ストレージにおいて前記新規書き込みを受信する速度とを考慮に入れて、前記非同期データ構造体内に示される前記書き込みの全てを転送するのにかかる時間を推定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップと
を含む、
請求項４に記載の方法。
【請求項６】
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みを転送する間に前記二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、前記一時停止の後に更新される前記二次ストレージ内のデータを格納するのに、前記二次ストレージとサイズが等しい三次ストレージを用いるステップをさらに含み、
前記三次ストレージは、付加的に、前記書き込みの前記一時停止の前に前記リポジトリにコピーされたデータを格納する、
請求項１に記載の方法。
【請求項７】
前記リポジトリ内の前記書き込みを前記二次ストレージにコピーするステップと、
前記リポジトリからの前記書き込みのコピーに応答して、前記二次ストレージとサイズが等しい三次ストレージへの、前記二次ストレージの第２の仮想コピーを確立するステップと、
前記一次ストレージを前記二次ストレージに再同期化するステップと
を更に含み、
前記一次ストレージからの前記データによって上書きされる前記二次ストレージ内のデータは、前記三次ストレージにコピーされる、
請求項６に記載の方法。
【請求項８】
複数の一次ストレージ及び二次ストレージの対が存在し、
前記書き込みを転送する動作、前記論理コピーを確立する動作、及び前記書き込みの転送を一時停止する動作、並びに、前記一時停止の後に更新される前記二次ストレージ内のデータを格納するのに、リポジトリ又は三次ストレージのいずれを用いるかを判定する動作は、各々の一次ストレージ及び二次ストレージの対に対して実行される、
請求項６に記載の方法。
【請求項９】
少なくとも１つの一次ストレージ及び二次ストレージの対は、前記一次ストレージ及び二次ストレージの対のための前記リポジトリを用い、少なくとも１つの一次ストレージ及び二次ストレージの対は、前記一次ストレージ及び二次ストレージの対のための前記三次ストレージを用いる、請求項８に記載の方法。
【請求項１０】
一次ストレージ及び二次ストレージと通信し、再同期化中にデータ更新を格納するのにリポジトリを用いるかどうかを判定するためのシステムであって、
プロセッサと、
動作を実行するための、前記プロセッサにより実行されるコードを含むコンピュータ可読媒体と
を備え、
前記動作は、
一次ストレージへの書き込みを二次ストレージに転送するステップと、
前記二次ストレージの論理コピーをポイント・イン・タイムにおいて確立するステップであって、前記ポイント・イン・タイム後の論理コピー継続時間中に前記一次ストレージから受信される前記二次ストレージの前記論理コピーへの書き込みは、前記二次ストレージの前記論理コピーより小さいストレージ空間を含むリポジトリに格納される、ステップと、
前記書き込みの前記二次ストレージへの転送を一時停止するステップであって、前記一時停止中の前記一次ストレージへの書き込みは非同期データ構造体内に示される、ステップと、
前記リポジトリ内の利用可能なストレージ空間が、前記一次ストレージから前記二次ストレージへの前記書き込みの転送の前記一時停止の終了に応答して前記非同期データ構造体から前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを判定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるとの判定に応答して、前記一時停止の終了後に前記一次ストレージから転送される書き込みにより更新される前記二次ストレージ内のデータを前記ポイント・イン・タイムにおいて格納するのに前記リポジトリを用いるステップと
を含む、
システム。
【請求項１１】
前記一時停止の前にコピーされた前記二次ストレージからのデータは、前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを判定するときに、前記リポジトリに含まれる、請求項１０に記載のシステム。
【請求項１２】
前記一時停止の終了に応答して、前記一時停止の終了後に前記非同期データ構造体内に示される書き込みと前記一次ストレージにおいて受信される書き込みとを前記二次ストレージに転送するステップをさらに含み、
前記リポジトリ内の利用可能なストレージ空間が、前記一時停止の終了に応答して前記非同期データ構造体内に示される前記書き込みを転送する間に、前記二次ストレージから転送される書き込みを格納するのに十分であるかどうかを前記判定するステップは、前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記非同期データ構造体内に示される前記書き込みを転送する間に前記一次ストレージにおいて受信される新規書き込みとを格納するのに十分であるかどうかを推定するステップを含む、
請求項１０に記載のシステム。
【請求項１３】
前記リポジトリ内の前記利用可能なストレージ空間が十分であるかどうかを前記推定するステップは、
前記非同期データ構造体内に示される前記書き込みのサイズと、前記一時停止の終了後に前記非同期データ構造体内に示される前記書き込みの全てを転送する間に前記一次ストレージにおいて前記新規書き込みを受信する速度とを考慮に入れて、前記非同期データ構造体内に示される前記書き込みの全てを転送するのにかかる時間を推定するステップと、
前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みと、前記推定時間内に受信される新規書き込みとを格納するのに十分であるかどうかを判定するステップと
を含む、
請求項１２に記載のシステム。
【請求項１４】
前記二次ストレージとサイズが等しい三次ストレージとさらに通信し、
前記動作は、前記リポジトリ内の前記利用可能なストレージ空間が、前記非同期データ構造体内に示される前記書き込みを転送する間に前記二次ストレージから転送される書き込みを格納するのに十分ではないとの判定に応答して、前記一時停止の後に更新される前記二次ストレージ内のデータを格納するのに、前記三次ストレージを用いるステップをさらに含み、
前記三次ストレージは、付加的に、前記書き込みの前記一時停止の前に前記リポジトリにコピーされたデータを格納する、
請求項１０に記載のシステム。
【請求項１５】
前記動作は、
前記リポジトリ内の前記書き込みを前記二次ストレージにコピーするステップと、
前記リポジトリからの前記書き込みのコピーに応答して、前記二次ストレージとサイズが等しい三次ストレージへの前記二次ストレージの第２の仮想コピーを確立するステップと、
前記一次ストレージを前記二次ストレージに再同期化するステップと
をさらに含み、
前記一次ストレージからの前記データによって上書きされる前記二次ストレージ内のデータは、前記三次ストレージにコピーされる、
請求項１２に記載のシステム。
【請求項１６】
請求項１乃至請求項９に記載のステップを、コンピュータに実行させるプログラム。
【国際調査報告】
2011507062.tif 000013
2011507062.tif 000014
2011507062.tif 000015