JP7004714B2 - 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法 - Google Patents

整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法 Download PDF

Info

Publication number
JP7004714B2
JP7004714B2 JP2019525991A JP2019525991A JP7004714B2 JP 7004714 B2 JP7004714 B2 JP 7004714B2 JP 2019525991 A JP2019525991 A JP 2019525991A JP 2019525991 A JP2019525991 A JP 2019525991A JP 7004714 B2 JP7004714 B2 JP 7004714B2
Authority
JP
Japan
Prior art keywords
data
data unit
point
time
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019525991A
Other languages
English (en)
Other versions
JP2020502635A (ja
Inventor
ワード、マシュー
リペッツ、マーク
シアラヴェッラ、アンソニー
ガグナー、マイケル
ブラウン、テレサ、メアリー
メルグレン、キャロル
ハリス、ジュニア、セオドア、ティモシー
マクブライド、グレゴリー
クレイトン、ニコラス、メーア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020502635A publication Critical patent/JP2020502635A/ja
Application granted granted Critical
Publication of JP7004714B2 publication Critical patent/JP7004714B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Description

本発明は、整合したポイントインタイム(point-in-time)スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム製品、システム、および方法に関する。
データ・ストレージ・システムは、特に企業レベルにおいて通常、データ・ストレージ・システムの構成要素の故障時に、データ損失のリスクを減少させるために高レベルの冗長性をもたらすようにデザインされる。したがって、地理的に拡散できる複数のシステム上にデータの複数のコピーが頻繁に格納される。したがって、典型的にはデータ・ストレージ・システムに格納されることになるホストからのデータはローカル・サイトにある1次システムに振り向けられ、その後、1次システムから地理的に遠く離れたシステムであり得る2次システムに複製される。
2次システムにデータを複製する処理、すなわちコピーする処理は、1次システムと2次システムの間の同期関係または非同期関係でセットアップされてよい。同期関係では、典型的には1次システムに対する任意の更新は2次システムと同期され、すなわちデータ・ストレージの入力/出力動作が成功裏に完了したことを1次システムがホストにレポートする前に、2次システムに成功裏にコピーされる。結果として同期関係における1次ストレージ・システムおよび2次システムに対するデータ・ストレージは、同期コピー動作の完了をホストが待つ間、ホストのシステム性能に悪影響を及ぼすことがある。1次システムと2次システムが大きく隔てられるストレージ・システムにおいて、同期コピー動作の完了への遅延は大きくなることがあり、これはホスト性能にさらに悪影響を及ぼす可能性がある。例えば300キロメートル(Km)以上の地理的距離で1次システムと2次システムが隔てられるストレージ・システムにおいて、例えば2次システムでデータが成功裏に複製されるまでに3秒~5秒(またはそれ以上)の遅延がある可能性がある。
結果としてストレージ・システムは、特に2次システムが1次システムから地理的に遠い場合、1次システムと2次システムの間の非同期関係を頻繁に採用する。非同期関係では、典型的には1次システムへの更新が成功すると、2次システムへの複製の更新を待たずに、ストレージの入力/出力動作が成功したものとしてホストにレポートされる。結果としてホストは、完了のために2次システムへのデータ複製を待つ必要がなく、ホスト・システムの性能はそれ相応に向上する可能性がある。
名前が示唆するように非同期関係では、1次システムと2次システムは、どの時点においても完全に同期されない可能性がある。したがって、典型的には2次システムに格納されたデータは、1次システムに格納されたデータより遅れる。したがって、1次システムに格納された新しいデータは、例えば3秒~5秒などの時間の間、2次システムに格納されない可能性がある。
データ複製システムでは、典型的にはデータは、1次ストレージ・デバイス内の1次ボリューム、および1次ボリュームに維持されるデータの同一コピーを含む2次ストレージ・デバイス内の対応する2次ボリュームを備えるボリュームのペアの中に維持される。1次ボリュームおよび2次ボリュームは、ソース・ボリュームとも呼ばれる1次ボリュームのデータが、ターゲット・ボリュームとも呼ばれる2次ボリュームにコピーされるコピー関係によって識別される。1次ストレージ・デバイスおよび2次ストレージ・デバイスへのアクセスを制御するために、1次ストレージ・コントローラおよび2次ストレージ・コントローラが使用されることがある。
例えばIBM(R) FlashCopy(R)機能などの、ポイントインタイム・スナップ・コピー機能を使用して、ボリュームのほぼ同時のコピーが生成され得る。ポイントインタイム・スナップ・コピー機能は、ポイントインタイム・スナップ・コピー・ボリュームと呼ばれることがあるターゲット・ボリュームに、特定の時点のソース・ボリュームの内容の「スナップショット」を作り出す。ポイントインタイム・スナップ・コピー機能の1つのバージョンは、ポイントインタイム・スナップ・コピー・ボリュームにソース・ボリュームの内容をバックグラウンド・コピー動作で転送する。
ポイントインタイム・スナップ・コピー・ボリュームにまだ転送されていないトラックを示すために、ポイントインタイム・スナップ・コピー・ボリュームの各トラックに対するビットを有するターゲット・ビットマップが使用される。ソース・ボリュームの各トラックの内容はターゲット・ボリュームにコピーされるので、ターゲット・ビットマップの対応ビットは、関連トラックの内容の転送が成功したことを示すように更新される。ソース・ボリュームの対応トラックの内容をまだ受け取ってないポイントインタイム・スナップ・コピー・ボリュームのトラックを対象とする任意の読取動作は、ソース・ボリュームからこのトラックの内容を得るためにリダイレクトされる。したがって、ポイントインタイム・スナップ・コピー・ボリュームの内容は、ターゲット・ボリュームに任意のトラックが実際に転送される前に、間接的とはいえ、すぐに利用できる。逆に、ソース・ボリュームのトラックへの更新をホストが指図した後に、ポイントインタイム・スナップ・コピー・ボリュームにこのトラックの内容が転送されると、ソース・ボリュームのトラックの内容がポイントインタイム・スナップ・コピー・ボリュームに転送された後に、ソース・ボリュームのこのトラックの内容を上書きする更新が許可される。
ポイントインタイム・スナップ・コピー機能の別のバージョンは、バックグラウンド・コピー動作を省略する。したがって、ソース・ボリュームの内容は、ポイントインタイム・スナップ・コピー・ボリュームにバックグラウンド・コピー動作で転送されない。したがって、ポイントインタイム・スナップ・コピー・ボリュームのトラックを対象とする任意の読取動作は通常、ソース・ボリュームからこのトラックの内容を得るためにリダイレクトされる。しかし、ソース・ボリュームのトラックへの更新をホストが指図する場合、ソース・ボリュームのトラックの内容がポイントインタイム・スナップ・コピー・ボリュームに転送された後に、ソース・ボリュームのこのトラックの内容を上書きする更新が許可される。
同期型データ複製システムでは、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の1次ボリュームの内容について、1次システムにある1次ボリュームから作られてよく、ポイントインタイム・スナップ・コピー・ボリュームは、同じポイントインタイム時点の2次ボリュームの内容について、2次システムにある2次ボリュームから作られてよい。1次ボリュームと2次ボリュームは同期されるので、個々のポイントインタイム・スナップ・コピー・ボリュームも同期されることになり、したがって異なる場所、すなわち1次システムおよび2次システムでポイントインタイム・スナップ・コピー・ボリュームが作られるにもかかわらず、互いに一致する。
非同期型データ複製システムでは、ポイントインタイム・スナップ・コピー・ボリュームも、特定のポイントインタイム時点の1次ボリュームの内容について、1次システムにある1次ボリュームから作られてよい。同様に、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の2次ボリュームの内容について、2次システムにある2次ボリュームから作られてよい。しかし、1次ボリュームと2次ボリュームは同期されないので、個々のポイントインタイム・スナップ・コピー・ボリュームも同期されないことになり、したがって互いに一致しないことになる。したがって、1次システムにある1次ボリュームのポイントインタイム・スナップ・コピー・ボリュームのバックアップ・コピーを行うために、1次システムで生成されたポイントインタイム・スナップ・コピー・ボリュームは、典型的にはネットワークで2次システムに転送される。
2次システムにある複数のボリュームにわたるデータのある程度の整合性を維持するために、IBM(R) TotalStorage(R)ディスク・サブシステムのピアツーピア・リモート・コピー(PPRC:Peer-to-Peer Remote Copy)機能は、PPRC整合性グループの概念をサポートする。PPRC整合性グループの中に構成されるPPRC関係におけるボリュームは、1次システムにあるボリュームに対して行われる更新のグループが、グループのこれらのボリュームのデータ整合性を維持するために2次システムにあるボリュームに対しても最終的に行われることを保証するように維持される。したがって、整合性グループは、1次システムと2次システムの間の全体的な非同期関係にもかかわらず、更新の特定のセットまたは特定の時点について整合した1次システムと2次システムのボリューム間で形成されてよい。
従って本発明が解決しようとする課題は、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を行う方法、システム、およびコンピュータ・プログラムを提供することである。
本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成の1つの一般的な態様は、例えば1次システムなどの、第1の場所にある第1のストレージ・ユニットに格納された1次ボリュームなどの第1のデータ・ユニットから、例えば2次システムなどの、第2の場所にある第2のストレージ・ユニットに格納された2次ボリュームなどの第2のデータ・ユニットにデータを非同期的にミラーリングすることを含む。第1のデータ・ユニットのデータは、第1のデータ・ユニットの第1のポイントインタイム・スナップ・コピーを始めるために、第1のポイントインタイム時点で第3のデータ・ユニットにコピーされる。さらに、第2のデータ・ユニットのデータは、第2のデータ・ユニットの第2のポイントインタイム・スナップ・コピーを始めるために、第2のポイントインタイム時点で第4のデータ・ユニットにコピーされる。本説明の1つの態様において、第4のデータ・ユニットのデータは、第1のポイントインタイム時点の第1のユニットのデータに同期され、同期することは、第1のデータ・ユニットおよび第3のデータ・ユニットのうちの少なくとも1つから第4のデータ・ユニットに、選択されたデータをコピーすることを含む。結果として、第3のデータ・ユニットと第4のデータ・ユニットの両方は、第1のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを生成するための、1次システムと2次システムの間のネットワークで転送されるデータ量を減少させると同時に、第1のポイントインタイム時点の第1のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行う。
1つの実施形態において、第1のポイントインタイム時点の第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーすることは、第1のポイントインタイム・スナップ・コピー・コマンドを実行することを含み、第1のポイントインタイム・スナップ・コピー・コマンドを実行することは、第1のポイントインタイム時点で第1のデータ・ユニットから第3のデータ・ユニットにコピーされていないトラックを示す第1のターゲット・ビットマップを生成することを含む。したがって、第1のポイントインタイム時点の第1のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うための第3のデータ・ユニットのデータは、1次システム内のデータ転送によって得られてよい。
本説明のさらに別の態様において、動作は、第1のデータ・ユニットへのホスト入力を休止すること、および第1のデータ・ユニットへのホスト入力/出力を休止した後、第1のデータ・ユニットから第2のデータ・ユニットへのデータのミラーリングをアイドリングさせることを含む。本説明の別の態様において、第1のデータ・ユニットから第2のデータ・ユニットにデータをミラーリングすることは、第1のデータ・ユニットから第2のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第1の同期喪失(out-of-synch)ビットマップを生成することを含む。(第1のポイントインタイム時点の)第1の同期喪失ビットマップは、第1のデータ・ユニットおよび第3のデータ・ユニットのうちの少なくとも1つから第4のデータ・ユニットにまだコピーされてない選択されたトラックがあることを示すために、第2の同期喪失ビットマップにコピーされてよい。第2のポイントインタイム時点の第2のデータ・ユニットのデータを第4のデータ・ユニットにコピーすることは、第2のポイントインタイム時点で第2のデータ・ユニットから第4のデータ・ユニットにコピーされていないトラックを示す第2のターゲット・ビットマップを生成する、第2のポイントインタイム・スナップ・コピー・コマンドを実行することを含むことができる。1つの実施形態において、ビットマップの生成に続いて、動作は、第1のデータ・ユニットへのホスト入力を休止しないことを含むことができる。さらに、第1のデータ・ユニットから第2のデータ・ユニットへのデータのミラーリングが再開されてよい。結果として、1次システムへの更新は、第1のポイントインタイム時点の第1のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うために、第3のデータ・ユニットおよび第4のデータ・ユニットが生成されている間に2次システムにミラーリングされてよい。
さらに別の態様において、第2のターゲット・ビットマップは、第2のターゲット・ビットマップによって示されるように、第2のデータ・ユニットから第4のデータ・ユニットにトラックをコピーするために処理されてよい。1つの実施形態において、第2のポイントインタイム時点の第2のデータ・ユニットのデータを第4のデータ・ユニットにこのようにコピーすることは、第2のデータ・ユニットから第4のデータ・ユニットにまだコピーされていないデータ・トラックがあることを第2のターゲット・ビットマップが示す場合に、第2のデータ・ユニットのトラックを第4のデータ・ユニットにバックグラウンド・コピーすることをさらに含むことができる。したがって、第1のポイントインタイム時点の第1のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うための第4のデータ・ユニットのデータは、2次システム内のデータ転送によって主に得られてよい。
本説明の別の態様において、第1のポイントインタイム時点で第4のデータ・ユニットのデータを、第1のデータ・ユニットの選択されたデータに同期するために、第1のデータ・ユニットおよび第3のデータ・ユニットのうちの少なくとも1つから第4のデータ・ユニットに、選択されたデータをコピーすることは、第4のデータ・ユニットにまだミラーリングされていないものとして示される場合、第2の同期喪失ビットマップを処理すること、ならびに第1のデータ・ユニットおよび第3のデータ・ユニットのうちの少なくとも1つから第4のデータ・ユニットにトラックをミラーリングすることを含むことができる。1つの実施形態において、第1のデータ・ユニットおよび第3のデータ・ユニットのうちの少なくとも1つから第4のデータ・ユニットにトラックをミラーリングすることは、データ・トラックが第1のデータ・ユニットから第3のデータ・ユニットにコピーされていないことを第1のターゲット・ビットマップが示す場合に、第3のデータ・ユニットのデータ・トラックのデータを第1のデータ・ユニットから得ること、および得られたデータを第4のデータ・ユニットにミラーリングすることを含む。第1のポイントインタイム時点の第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーすることは、第1のポイントインタイム時点の第1のデータ・ユニットと第3のデータ・ユニットとの整合性グループを形成することを含むことができる。結果として、ターゲット・ビットマップおよび同期喪失ビットマップは、1次システムと2次システムの間のネットワークで転送されるデータ量を減少させると同時に、第1のポイントインタイム時点の第1のデータ・ユニットのデータの整合したポイントインタイム・スナップ・コピーを行うために、1次システムと2次システムのデータ・ユニットを同期するように組み合わせて使用されてよい。
説明された技法の実装形態は、ハードウェア、方法もしくは処理、またはコンピュータ・アクセス可能媒体上のコンピュータ・ソフトウェアを含むことができる。他の特徴および態様は、特定の用途に応じて実現されてよい。
本説明の1つの態様による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用するコンピューティング環境の実施形態を示す図である。 本説明の1つの態様による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用する1次システムおよび2次システムを有するストレージ・システムの例を示す図である。 図1のストレージ・システムにおけるホストの例を示す図である。 本説明の1つの態様による、整合したローカル・コピーおよびリモート・コピーの生成ロジックの実施形態を示す図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作に関連した、ボリューム、関係、および関連データ構造の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作の別の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作のさらに別の例を描写する図である。 図4の整合したローカル・コピーおよびリモート・コピーの生成ロジックの動作の別の例を描写する図である。 本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用するコンピュータの実施形態を示す図である。
動作中に、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のための動作をシステムに行わせる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せを有することによって、本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のための、1つまたは複数のコンピュータのシステムが構成されてよい。例えば、1つまたは複数のコンピュータ・プログラムは、データ処理装置によって実行されると、装置にアクションを行わせる命令を含むことによって、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を行うように構成されてよい。
前述の通り、非同期型データ複製システムでは、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の1次ボリュームの内容について、1次システムにある1次ボリュームから作られてよい。同様に、ポイントインタイム・スナップ・コピー・ボリュームは、特定のポイントインタイム時点の2次ボリュームの内容について、2次システムにある2次ボリュームから作られてよい。しかし、1次ボリュームおよび2次ボリュームは、非同期ミラーリング関係においてたびたび完全に同期されるわけではないので、個々のポイントインタイム・スナップ・コピー・ボリュームも同期されないことになり、したがって互いに一致しないことになる。したがって、1次システムにある1次ボリュームのポイントインタイム・スナップ・コピー・ボリュームのバックアップ・コピーを行うため、および2次システムにバックアップ・コピーを格納するために、1次システムで以前に生成されたポイントインタイム・スナップ・コピー・ボリュームは、ネットワークで2次システムに転送された。
本説明の1つの態様によれば、多くの応用例において、2次システムでポイントインタイム・スナップ・コピー・ボリュームを形成するデータの大部分は、非同期ミラーリング関係により、2次システムに既にあるということが認識されている。したがって、本説明の1つの実施形態による、整合した第1および第2のポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成は、様々なサイトにある整合した第1および第2のポイントインタイム・スナップ・コピーを作り出す際に、ネットワークでのデータの転送の多くを未然に防ぐことができる。本説明の1つの実施形態による、整合した第1および第2のポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成は、1つの実施形態において「非バックグラウンド・コピー」タイプの関係であり得るポイントインタイム・スナップ・コピー関係に従って、1次システムの第1のポイントインタイム・スナップ・コピー・ボリュームに1次システムの1次ボリュームからデータをコピーすること、および1つの実施形態において、バックグラウンド・コピー・タイプの関係であり得るポイントインタイム・スナップ・コピー関係に従って、2次システムの第2のポイントインタイム・スナップ・コピー・ボリュームに2次システムの2次ボリュームからデータをコピーすることを行う。結果として、2次システムにある第2の整合したポイントインタイム・スナップ・コピー・ボリュームのデータは、2次システム内のデータ転送によって主に得られてよい。同様に、1次システムにある第1の整合したポイントインタイム・スナップ・コピー・ボリュームのデータは、1次システム内のデータ転送によって得られてよい。
しかし、ミラーリング関係が非同期関係である場合、いくつかの事例において、第2の整合したポイントインタイム・スナップ・コピー・ボリュームのデータのすべてが、2次システム上で見つかる可能性があるわけではないということがさらに理解される。したがって、1つの実施形態において、同期ロジックは、1次ボリュームから直接的に、または1次システムの第1のポイントインタイム・スナップ・コピー・ボリュームを通じて間接的に得られた1次システムの1次ボリュームの追加データに、第1のポイントインタイム時点の2次システムの第2のポイントインタイム・スナップ・コピー・ボリュームを同期する。このように、第2のポイントインタイム・スナップ・コピー・ボリュームは、これが、特定のポイントインタイム時点の第1のポイントインタイム・スナップ・コピー・ボリュームと一致するように完成されてよい。結果として、1次ボリュームのデータの整合したポイントインタイム・スナップ・コピーを生成するための、1次システムと2次システムの間のネットワークで転送されるデータ量は減少する可能性がある。
動作中に、整合したポイントインタイム・スナップ・コピー動作の非同期のローカル生成およびリモート生成をシステムに行わせる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せを有することによって、本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のための、1つまたは複数のコンピュータのシステムが構成されてよい。したがって、本明細書で説明される動作は、手動で行われるものとして示される場合を除いて、システム・オペレータの介入がほとんどないか、または何もなく、自動的または実質的に自動的に動作を行うように構成されるロジックによって行われる。したがって、本明細書で使用されるように、用語「自動的な(automatic)」は、完全に自動的な、を両方含み、これは、グラフィカル・ユーザ選択インターフェースへのユーザ入力などの人間の介入のない、1つまたは複数のハードウェアまたはソフトウェア制御の機械によって行われる動作である。本明細書で使用されるように、用語「自動的な(automatic)」は、主に自動的な、をさらに含み、すなわち、(例えば50%より多いなど)動作の大部分が、グラフィカル・ユーザ選択インターフェースへのユーザ入力などの人間の介入がない、1つまたは複数のハードウェアまたはソフトウェア制御の機械によって行われ、(例えば50%より少ない)動作の残りが手動で行われる、すなわち、動作の実行を指図するために、グラフィカル・ユーザ選択インターフェースへのユーザ入力などの人間の介入がある、1つまたは複数のハードウェアまたはソフトウェア制御の機械によって手動の動作が行われる。
本明細書で説明された機能要素の多くは、これらの実装形態の独立性を特に強調するために「ロジック」と呼ばれる。例えば、ロジック要素は、カスタムVLSI回路もしくはゲート・アレイ、ロジック・チップ、トランジスタ、または他の個別の構成要素などの市販の半導体を含むハードウェア回路として実装されてよい。ロジック要素は、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル論理デバイス、または同様のものなどの、プログラマ可能なハードウェア・デバイスに実装されてもよい。
ロジック要素は、様々なタイプのプロセッサによって実行するためのソフトウェアに実装されてもよい。実行可能コードを含むロジック要素は、例えば、オブジェクト、手続き、または関数として編成され得る、例えば、コンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを含むことができる。それでも、識別されたロジック要素の実行可能なものは一緒に物理的にある必要はなく、論理的に一緒に結合されると、ロジック要素を含み、ロジック要素の決められた目的を実現する、様々な場所に格納された完全に異なる命令を含むことができる。
実際は、ロジック要素のための実行可能コードは、単一の命令または多くの命令でよく、様々なプログラム中の、様々なプロセッサ中の、およびいくつかのメモリ・デバイスにわたる、いくつかの様々なコード・セグメントにわたって分散されてもよい。同様に、動作可能データは、本明細書においてロジック要素内で識別され、示されてよく、任意の適切な形で具現化され、任意の適切なタイプのデータ構造の中で編成されてよい。動作可能データは、単一のデータ・セットとして収集されてよく、または様々なストレージ・デバイスにわたることを含む様々な場所にわたって分散されてもよい。
図示の実施形態において、コピー関係は、1次ストレージの場所などのソース・ストレージの場所、およびソース・ストレージの場所に格納されたデータが複製されるか、そうでなければターゲット・ストレージの場所にコピーされることになる、2次ストレージの場所などのターゲット・ストレージの場所を識別する。したがって、本明細書で使用されるように、ソース・ストレージの場所およびターゲット・ストレージの場所は、コピー関係によって結びつけられたストレージの場所である。
さらに、本明細書で使用されるように、用語「ストレージ・ユニット」は、1つもしくは複数のボリューム、シリンダ、トラック、セグメント、エクステント、もしくはこれらの任意の部分などのデータ・ストレージの1つもしくは複数のユニット、または転送に適したデータの他のユニットもしくは複数のユニットを収めるストレージの場所を指す。したがって、ソース・ストレージ・ユニットおよび関連付けられたターゲット・ストレージ・ユニットはそれぞれ、ストレージ・ボリュームでよい。しかし、ソース・ストレージ・ユニットおよびターゲット・ストレージ・ユニットはそれぞれ、例えばボリューム以外の大きさのものでよいということが理解される。
説明された技法の実装形態は、ハードウェア、方法もしくは処理、またはコンピュータ・アクセス可能媒体上のコンピュータ・ソフトウェアを含むことができる。図1は、本説明による、整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成を採用するコンピューティング環境の実施形態を示す。複数のホスト2a、2b...2nは、1つまたは複数のストレージ・ドライブ10、10a(図2)、10b(図2)によって表されるストレージ内の(例えば、論理ユニット番号、論理デバイス、論理サブシステム、等といった)ボリューム8のデータにアクセスするために、ネットワーク6で1つまたは複数のストレージ・コントローラまたはストレージ制御ユニット4、4a(図2)、4b(図2)に入力/出力(I/O:Input/Output)リクエストをサブミットすることができる。各ストレージ・コントローラ4、4a、4bは、1つまたは複数のプロセッサすなわち中央処理装置を含む、CPU複合体12(図1)を含み、それぞれのプロセッサは、単一または複数のプロセッサ・コアを含む。本実施形態において、プロセッサ・コアは、例えば、算術論理演算装置(ALU:arithmetic logic unit)、浮動小数点ユニット(FPU:floating point unit)、または(L1およびL2キャッシュなどの)様々なレベルのキャッシュ、あるいはその組合せなどの、命令の実行に関わるCPUの構成要素を収める。プロセッサ・コアは、本明細書で述べられたもの以外に、またはこれらの代わりに他のロジック要素を有することができるということが理解される。
図2に示される構成において、ストレージ・コントローラ4aおよびデータ・ストレージ10aは、1次システム24aの1次ストレージ制御ユニットおよび1次ストレージとして、それぞれ構成されている。同様に、ストレージ・コントローラ4bおよびそのデータ・ストレージ10bは、2次システム24bの2次ストレージ制御ユニットおよび2次ストレージとして、それぞれ構成されている。したがって、図2に描写された構成において、ストレージ・コントローラ4aは、1次ストレージ・コントローラまたは1次ストレージ制御ユニット4aと呼ばれることになり、データ・ストレージ10aは、1次ストレージ10aと呼ばれることになる。同様に、ストレージ・コントローラまたはストレージ制御ユニット4bは、2次ストレージ・コントローラまたは2次ストレージ制御ユニット4bと呼ばれることになり、データ・ストレージ10bは、2次データ・ストレージ10bと呼ばれることになる。
特定のコピー関係において、ソース・ユニットは1次と呼ばれることが多く、ターゲット・ユニットは2次と呼ばれることが多い。複製の関係は、データ・ストレージ10aとデータ・ストレージ10bのストレージ・ユニット間で定義される。データ・ストレージ10aを「1次」、およびデータ・ストレージ10bを「2次」と呼ぶにもかかわらず、データ・ストレージ10aおよびデータ・ストレージ10bの特定のストレージ・ユニットは、特定のコピー関係に応じて、1次(すなわちソースの役割)およびターゲット(すなわち2次の役割)の両方の役割を果たすことができる。
上述のように、コンピューティング環境は、1次ストレージ10aに格納するために1次ストレージ・コントローラ4a(図2)に更新を書き込む、1つまたは複数のホスト2a、2b、...2n(図1)を含む。本実施形態において、ホスト2aなどの少なくとも1つのこのようなホストは、1次ストレージ・コントローラ4a(図2)およびその関連付けられたデータ・ストレージ10aの可用性の不全を監視する監視プログラム216(図3)を含むストレージ管理機能を有する。いくつかの実施形態において、監視プログラム216は、ホストの他にデバイスにおいて動作されてよい。
1次ストレージ・コントローラ4aは第1のサイトにあり、2次ストレージ・コントローラ4bは、第1のサイトから地理的にまたは機能的に離れている可能性のある第2のサイトにある。したがって、この例において、第1のサイトは、ローカル・サイトにあってよく、第2のサイトは、ローカル・サイトからおよび互いから、短いまたは長い地理的な距離によって隔てられた地理的なリモート・サイトにあってよい。一方、ローカル・サイトおよびリモート・サイトは、ネットワーク6の、同じ一般的な地理的場所の中の異なる建物の中、同じ建物の異なる部屋の中、同じ部屋の異なる機械の中、または同じ機械の異なる部分または区画の中など、比較的接近していてよい。
ホスト2a(図3)によって表されるような典型的なホストは、ストレージ・コントローラ4a、4bを介して、1次ストレージ10aまたは2次ストレージ10bからデータを読み取り、更新を書き込むオペレーティング・システム218およびアプリケーション220を含む。監視プログラム216を含むホストは、いくつかの実施形態において、更新書込みアプリケーション220を省略することができる。
図1、図2、および図4を参照すると、ストレージ・コントローラ4(図1)、4a(図2)、4bはそれぞれ、1次システム24aの1次ボリューム1から2次システム24bにある2次ボリューム2へのデータ複製動作を含むストレージの動作を管理するためのストレージ・マネージャ232を含むメモリ230(図1)を有する。ストレージ・マネージャ232の整合したローカル・コピーおよびリモート・コピーの生成ロジック234は、1次システムの1次ボリューム1のポイントインタイム・スナップ・コピーなどの整合したコピーを生成するように構成される。ボリュームのペアであるボリューム1、ボリューム2は、1次ボリューム1への更新が2次ボリューム2に非同期的にミラーリングされるように、非同期コピー関係にある。したがって、第1のポイントインタイム・スナップ・コピーは1次ボリューム1から作られてよく、第2のポイントインタイム・スナップ・コピーは、特定のポイントインタイム時点の第1のポイントインタイム・スナップ・コピーと一致させられてよい。
図示の実施形態において、整合したローカル・コピーおよびリモート・コピーの生成ロジック234を含むストレージ・マネージャ232は、メモリ230に格納され、CPU複合体12によって実行されるソフトウェアとして描写される。しかし、ストレージ・マネージャ232の論理機能は、特定の用途に応じて、ハードウェア、ソフトウェア、ファームウェア、またはこれらの1つもしくは複数の組合せとして実装されてよいということが理解される。
1次ストレージ・コントローラおよび2次ストレージ・コントローラ4a、4b(図2)に関する、整合したローカル・コピーおよびリモート・コピーの生成ロジック234によって維持され得る、1つまたは複数のコピー関係240は、1次ストレージ10aの場所への更新が、対応する2次ストレージ10bの場所にコピーされるべく、1次ストレージ10a内の1次ストレージの場所と、2次ストレージ10b内の対応する2次ストレージの場所とを関連付ける。例えば、ストレージ10aの1次ストレージ・ボリューム1(図2)の中のソース・ストレージの場所は、ミラーリングのコピー関係240(図1)に従って、ストレージ10bの2次ボリューム2のターゲット・ストレージの場所にミラーリングのデータ複製動作でミラーリングされてよい。
図示の実施形態において、コピー関係240は、ミラーリング関係240の1次(ソース)ストレージの場所への更新が、ミラーリング関係240の2次(ターゲット)ストレージの場所にミラーリングされる、ストレージの場所のペアに関するピアツーピアのミラーリング関係を含む。他のタイプのコピー関係が特定の用途に応じて確立してよいということが理解される。例えばコピー関係240は、ポイントインタイム・スナップ・コピー関係を含むことができる。
整合したローカル・コピーおよびリモート・コピーの生成ロジック234の非同期データ複製モードにおけるコピー関係240に関連して、1次ストレージ10aの1次ストレージの場所への更新は、図示の実施形態における、同期喪失(OOS:out-of-sync)ビットマップであるビットマップ244のセットのビットマップで示されてよい。OOSビットマップのビットは、2次ストレージ制御ユニット4bの2次ストレージ10bの対応するストレージの場所に、OOSビットマップで示された更新をストレージ・マネージャ232がコピーすると、クリアされる。
ストレージ・マネージャ232は、ストレージ10b内の対応するストレージの場所に書き込むために、1次ストレージ10aへの更新にアクセスする。いくつかの用途において、コピー機能および関係機能は、例えばホストなど、ストレージ・システム24a、24b(図2)の外部のデバイスによって行われてよい。図示の実施形態において、関係240の1つのコピー関係は、1次ストレージ10aへのそれぞれの書込み更新が2次ストレージ10bにミラーリングされる、ミラーリング処理である。図示の実施形態の非同期モードでは、I/O動作は、動作を始めるホストが関わる限りにおいて、1次ストレージ10aへの更新の書込みが成功すると同時に完了とみなされる。したがって、ホストは、更新データがまだ2次ストレージ10bにミラーリングされていないにもかかわらず、I/O動作が成功裏に完了したと通知されることがある。
定期的に、関係240におけるボリュームは、特定の時点のデータ整合性、または整合性グループのボリュームのデータの特定のセットを維持するために、1次システムでボリュームに対して行われる更新のグループが最終的に、整合性グループのボリュームに対しても行われることを保証するように、整合性グループ・ロジック248によって整合性グループに構成されてよい。したがって、OOSビットマップへの追加の更新は、1次システムと2次システムのボリューム間の整合性グループを形成するために、特定の時点で停止されてよい。OOSビットマップによって示されるような任意の未処理の更新は、もはやOOSビットマップに更新が追加されなくなった時点で、整合性グループのボリュームが一致するように2次ストレージに転送される。
非同期モードとは対照的に同期モードでは、1次ストレージ10aに書込み動作を行ったI/O動作は、ミラーリング動作が完了されるまで完了とみなされず、すなわちこれは、更新データが2次ストレージ10bに成功裏に複製されるまで完了しない。更新がストレージ10bに成功裏にミラーリングされないよう、ミラーリング動作が失敗する場合、ホストは、更新動作が成功裏に完了されなかったことを通知されることがある。
1つの実施形態におけるストレージ・マネージャ232は、1次ストレージ10aから2次ストレージ10bにトラックごとにデータを転送することができる。本明細書で使用されるように、用語トラックは、ディスク・ストレージ・ユニットのトラックを指してよいが、ボリューム、論理デバイス、等など、データ・ユニットのさらに大きいグルーピングの一部になり得る、ビット、バイト、ワード、セグメント、ページ、ブロック(論理ブロック・アドレス(LBA:Logical Block Address)など)、等などの、ストレージ10a、10bの中に構成されるデータの他の単位を指してもよい。
1つの実施形態において、ストレージ・デバイス10a、10bは、ハードディスク・ドライブおよび磁気テープなどの、1つまたは複数の順次アクセス・ストレージ・デバイスで構成されてよく、また例えばソリッド・ステート・ドライブ(SSD:solid state drives)などの、非順次アクセス・ストレージ・デバイスを含んでもよい。各ストレージ・デバイス10a、10bは、単一の順次または非順次アクセス・ストレージ・デバイスを備えることができ、また単純ディスク束(JBOD:Just a Bunch of Disks)、ダイレクト・アクセス・ストレージ・デバイス(DASD:Direct Access Storage Device)、独立ディスクの冗長アレイ(RAID:Redundant Array of Independent Disks)アレイ、仮想化デバイス、テープ・ストレージ、フラッシュ・メモリ、等などの、ストレージ・デバイスのアレイを備えることができる。
コピー関係を管理する、整合したローカル・コピーおよびリモート・コピーの生成ロジック234の1つのモードは、本説明により必要に応じて変更されたピアツーピア・リモート・コピー(PPRC)プログラムなどの非同期コピー動作によって実行されてよい。PPRCプログラムの例は、1次ストレージ10aから2次ストレージ10bに更新を切換えることができる、IBM(R) Tivoli(R) Productivity Center for Replicationのコピー・プログラムである。適切な非同期ミラーリング・プログラムは、本説明により必要に応じて変更されたXRC(またはzGM)を含む。説明された動作は、本説明により必要に応じて変更された他のコピー・プログラムまたは他のグローバル・リカバリ・プログラムなどの、他のプログラムによって実行されてよい。
システム構成要素2a、2b...2n、4、4a、4b、10、10a、10bは、これらの構成要素間で通信できるようにするネットワーク6に接続される。したがって、ネットワーク6は、ストレージ・エリア・ネットワーク(SAN:Storage Area Network)、ローカル・エリア・ネットワーク(LAN:Local Area Network)、イントラネット、インターネット、広域ネットワーク(WAN:Wide Area Network)、ピアツーピア・ネットワーク、ワイヤレス・ネットワーク、アービトレーテッド・ループ・ネットワーク(arbitrated loop network)、等を含むことができるファブリックを含む。ストレージ・サブシステムからホスト2a、2b、...2nへの通信経路は、例えばFibre Connection(FICON(R))などの特定のホスト付属プロトコルに基づいてよい。ファブリックの他の通信経路は、例えば、ファイバ・チャネル・アービトレーテッド・ループ構成、シリアル・ループ・アーキテクチャ、またはPCI-Expressインターフェースなどのペリフェラル・コンポーネント・インターコネクト(PCI:Peripheral Component Interconnect)インターフェースなどの、バス・インターフェースを備えることができる。ファブリックの通信経路は、個々のネットワーク(インターネット・プロトコル)アドレスを各ノードが有すべく、例えば、イーサネット(R)・ネットワークの一部でもよい。特定の用途に応じて、モデム電話経路、ワイヤレス・ネットワーク、等などの他のタイプの通信経路が利用されてよい。
通信経路と関連付けられた通信ソフトウェアは、通信プロトコル、およびもしあれば、通信プロトコルに従って通信ハードウェアの動作を制御する命令および他のソフトウェアを含む。特定の用途に応じて、他の通信経路プロトコルが利用されてよいということが理解される。
図4は、例えば1次ストレージ10a(図2)などの第1のストレージ・ユニットの、例えば1次ボリューム1(図5)などの第1のデータ・ユニットから、例えば2次ストレージ10bなどの第2のストレージ・ユニットの、例えば2次ボリューム2(図5)などの第2のデータ・ユニットにデータを非同期的にミラーリングするように構成される非同期データ・ミラーリング・ロジック310を含む、ストレージ・マネージャ232(図1)の整合したローカル・コピーおよびリモート・コピーの生成ロジック234の1つの実施形態を描写する。図5の例において、1次ボリューム1から2次ボリューム2へのデータの非同期ミラーリングは、図5に「ミラーリング関係1」と書かれた矢印で表される。第1のデータ・ユニットから第2のデータ・ユニットにデータをミラーリングする際の、整合したローカル・コピーおよびリモート・コピーの生成ロジック234のデータ・ミラーリング・ロジック310は、1次ボリューム1から2次ボリューム2にまだミラーリングされていないトラックがあることを示す、リモート・同期喪失(OOS)ビットマップ1(図5)などの、ビットマップ244aの第1の同期喪失(OOS)ビットマップを生成するようにさらに構成される。
例えば、リモートOOSビットマップ1は、1次ボリューム1のトラック1が、2次ボリューム2に成功裏にミラーリングされたことを、ビットマップ1のビット1のビット状態0で示す。したがって、値「A」で表されるような2次ボリューム2のトラック1の内容は、1次ボリューム1のトラック1の内容「A」と同じである。同様に、リモートOOSビットマップ1は、1次ボリューム1のトラック3が、2次ボリューム2に成功裏にミラーリングされたことを、ビットマップ1のビット3のビット状態0で示す。したがって、値「C」で表されるような2次ボリューム2のトラック3の内容は、1次ボリューム1のトラック3の内容「C」と同じである。
逆に、リモートOOSビットマップ1は、1次ボリューム1のトラック2が、2次ボリューム2にまだミラーリングされていないことをビットマップ1のビット2のビット状態1で示す。したがって、値「X」で表されるような2次ボリューム2のトラック2の内容は、1次ボリューム1のトラック2の内容「B」と同じではない。
ローカル・データ・コピー・ロジック314(図4)は、1次ボリューム1の第1のポイントインタイム・スナップ・コピーを行うために、1次システム24a(図2)のポイントインタイム・スナップ・コピー・ボリューム1’などの第3のデータ・ユニットに、第1のポイントインタイム時点の1次ボリューム1(図6)のデータをコピーするように構成される。図6の例において、1次ボリューム1と、ポイントインタイム・スナップ・コピー・ボリューム1’との間のコピー関係は、ポイントインタイム(PIT:point-in-time)スナップ・コピー関係2と書かれた矢印で表される。
1つの実施形態において、1次システム24aの1次ボリューム1の第1のポイントインタイム・スナップ・コピーを行うために、コマンド・ロジック320は、第1のポイントインタイム時点の1次ボリューム1のデータを、ポイントインタイム・スナップ・コピー・ボリューム1’にコピーする第1のポイントインタイム・スナップ・コピー・コマンドを、ローカル・データ・コピー・ロジック314に発行するように構成される。それに応じて、ローカル・データ・コピー・ロジック314は、第1のポイントインタイム・スナップ・コピー・ボリューム1’を形成するために、第1のポイントインタイム時点の1次ボリューム1のデータをポイントインタイム・スナップ・コピー・ボリューム1’にコピーする第1のポイントインタイム・スナップ・コピー・コマンドを実行するようにさらに構成される。
1つの実施形態において、ローカル・データ・コピー・ロジック314は、第1のポイントインタイム・スナップ・コピー・コマンドを実行する際に、第1のポイントインタイム時点でポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1からコピーされていないトラックを示す、例えばローカル・ターゲット・ビットマップ3(図6)などの、ビットマップ244bの第1のターゲット・ビットマップを生成するようにさらに構成される。例えば、ローカル・ターゲット・ビットマップ3は、1次ボリューム1のトラック1が、ポイントインタイム・スナップ・コピー・ボリューム1’にまだコピーされていないことを、ビットマップ3のビット1のビット状態1で示す。したがって、値「X」で表されるようなポイントインタイム・スナップ・コピー・ボリューム1’のトラック1の内容は、1次ボリューム1のトラック1の内容「A」と同じではない。ローカル・ターゲット・ビットマップ3は、図6の例において、1次ボリューム1の残っているトラックのそれぞれがポイントインタイム・スナップ・コピー・ボリューム1’にまだコピーされていないことを、ビットマップ3の残っているビットのそれぞれのビット状態1で示す。
1つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム1’を生成するポイントインタイム・スナップ・コピー・コマンドは、ポイントインタイム・スナップ・コピー・ボリューム1’にバックグラウンド・コピー動作で1次ボリューム1の内容が転送される必要のない「非バックグラウンド・コピー」タイプのものでよい。代わりに、ポイントインタイム・スナップ・コピー・ボリューム1’のトラックを対象とする読取動作は、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1の対応トラックが転送されていないことを、ローカル・ターゲット・ビットマップ3がビット状態1で示す場合に、この対応トラックの内容を得るためにこの対応トラックにリダイレクトされてよい。しかし、1次ボリューム1のトラックが更新のターゲットにされる場合、このトラックの内容はポイントインタイム・スナップ・コピー・ボリューム1’の対応トラックに転送され、ローカル・ターゲット・ビットマップ3は、1次ボリューム1のトラックの内容が転送されたことを示すように更新される。したがって、第1のポイントインタイム時点の1次ボリューム1のデータの整合したポイントインタイム・スナップ・コピーを行うためのボリューム1’のデータは、1次システム24a内のデータ転送によって得られてよい。
他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム1’を生成するポイントインタイム・スナップ・コピー・コマンドは、ポイントインタイム・スナップ・コピー・ボリューム1’にバックグラウンド・コピー動作で1次ボリューム1の内容が転送される「バックグラウンド・コピー」タイプのものでよいことが理解される。ポイントインタイム・スナップ・コピー・ボリューム1’の対応トラックの内容に1次ボリュームの各トラックの内容がバックグラウンド・コピーで転送されると、ローカル・ターゲット・ビットマップ3内のこの対応トラックを表すビットのビット状態は、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリュームの各トラックが転送されたことを示すようにビット状態値「0」に更新されてよい。
したがって、本明細書で使用されるように、用語「コピーすること(copying)」は、ソース・ストレージの場所のデータ内容が、ターゲット・ストレージの場所に実際に転送される、実際のコピーすることを含む。しかし、ターゲット・ストレージの場所を最初に対象とする読取動作を、ターゲット・ストレージの場所の代わりにソース・ストレージの場所にリダイレクトし、したがって、ターゲット・ストレージの場所へのソース・ストレージの場所のデータ内容の実際の転送を含む必要がないように、ビットマップなどのデータ構造が設定される、仮想のコピーすることも、本明細書で使用されるような用語「コピーすること」は含む。同様に、本明細書で使用されるように、用語「コピー(copy)」は、ターゲット・ストレージの場所が、ソース・ストレージの場所と同じデータ内容を収める実際のコピーを含むが、仮想のコピーが、ソース・ストレージの場所の実際のデータ内容を含む必要をなくすべく、ターゲット・ストレージの場所の代わりにソース・ストレージの場所に、ターゲット・ストレージの場所を最初に対象とする読取動作をリダイレクトするように設定された、ターゲット・ビットマップなどの関連データ構造をターゲット・ストレージの場所が有する仮想のコピーも含む。
整合したローカル・コピーおよびリモート・コピーの生成ロジック234のコマンド・ロジック320(図4)は、2次ボリューム2のポイントインタイム・スナップ・コピー・ボリューム2’を形成するために、第2のポイントインタイム時点の2次ボリューム2(図6)のデータを、2次システム24bの、例えばボリューム2’などの第4のデータ・ユニットにコピーするように、2次システム24b(図2)にコマンドを発行するようにさらに構成される。図6の例において、第2のボリューム2と、ポイントインタイム・スナップ・コピー・ボリューム2’との間のコピー関係は、ポイントインタイム(PIT)スナップ・コピー関係4と書かれた矢印で表される。
1つの実施形態において、2次システム24bの2次ボリューム2のポイントインタイム・スナップ・コピーを行うために、コマンド・ロジック320は、第2のポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2からコピーされていないトラックを示す、2次システム24bの、例えばローカル・ターゲット・ビットマップ4などの第2のターゲット・ビットマップを生成するように、2次システム24bにポイントインタイム・スナップ・コピー・コマンドを発行するようにさらに構成される。例えば、ローカル・ターゲット・ビットマップ4は、2次ボリューム2のトラック1が、ポイントインタイム・スナップ・コピー・ボリューム2’にまだコピーされていないことを、ビットマップ4のビット1のビット状態1で示す。したがって、値「X」で表されるようなポイントインタイム・スナップ・コピー・ボリューム2’のトラック1の内容は、2次ボリューム2のトラック1の内容「A」と同じではない。ローカル・ターゲット・ビットマップ4は、図6の例において、2次ボリューム2の残っているトラックのそれぞれが、ポイントインタイム・スナップ・コピー・ボリューム2’にまだコピーされていないことを、ビットマップ4の残っているビットのそれぞれのビット状態1で示す。
1つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム2’を生成するポイントインタイム・スナップ・コピー・コマンドは、2次ボリューム2の内容が、ポイントインタイム・スナップ・コピー・ボリューム2’にバックグラウンド・コピー動作で転送される「バックグラウンド・コピー」タイプのものでよい。したがって、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラックの内容に2次ボリューム2の各トラックの内容が転送されると、ローカル・ターゲット・ビットマップ4内のこの対応トラックを表すビットのビット状態は、ポイントインタイム・スナップ・コピー・ボリューム1’に2次ボリューム2の各トラックが転送されたことを示すようにビット状態値「0」に更新されてよい。他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム2’を生成するポイントインタイム・スナップ・コピー・コマンドは、2次ボリューム2の内容が、ポイントインタイム・スナップ・コピー・ボリューム2’にバックグラウンド・コピー動作で転送されない「非バックグラウンド・コピー」タイプのものでよいということが理解される。
本説明の1つの態様において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータは、ミラーリング関係1(図5)で表されるようなミラーリング動作により、2次システム24bに既にあるということが理解される。結果として、多くの用途において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータの大部分は、2次システム24bの中でコピーされてよく、第2のポイントインタイム・スナップ・コピー・ボリューム2’を形成するための、1次システム24aからのネットワークでのデータの任意のコピーの多くを未然に防ぐ。例えば、2次システム24bにポイントインタイム・スナップ・コピー・コマンドをコマンド・ロジック320が発行するのに応答して、2次ストレージ・コントローラ4bのローカル・データ・コピー・ロジック314は、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2からデータ・トラックがまだコピーされていないことを、ローカル・ターゲット・ビットマップ4が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2のトラックをバックグラウンド・コピーすることを2次システムに指令するようにさらに構成される。したがって、第1のポイントインタイム時点の1次ボリューム1のデータの整合したポイントインタイム・スナップ・コピーを行うためのボリューム2’のデータは、2次システム24b内のデータ転送によって主に得られてよい。
しかし、本実施形態のミラーリング関係1(図5)は非同期関係なので、いくつかの事例において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータのすべてが、2次システム24b上で見つかる可能性があるわけではないということがさらに理解される。したがって、本説明の別の態様において、整合したローカル・コピーおよびリモート・コピーの生成ロジック234のデータ・ミラーリング・ロジック310は、第1のポイントインタイム時点の2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータを、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’に同期するように構成される同期ロジック324(図4)を含む。このように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’が第1のポイントインタイム時点で一致するように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’を完成させるための、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’の追加データは、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’から選択されたデータをコピーすることによって得られてよい。例えば、1つの実施形態において、同期動作は、第1と第2のポイントインタイム・スナップ・コピー・ボリュームであるボリューム1’とボリューム2’の両方が、第1のポイントインタイム時点の1次システム24aの1次ボリューム1のデータの整合したポイントインタイム・スナップ・コピーを行うように、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’から選択されたデータを、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’に、ネットワーク6でコピーすることを含む。2次システムのポイントインタイム・スナップ・コピー・ボリューム2’に必要なデータの大部分は、2次システム24bに既にある可能性があるので、1次システムおよび2次システムの整合したポイントインタイム・スナップ・コピー・ボリュームをそれぞれ生成するときに、1次システムから2次システムへのネットワークでのデータのコピーの多くは未然に防がれる可能性がある。
互いに整合したポイントインタイム・スナップ・コピー・ボリュームであるボリューム1’およびボリューム2’を生成しやすくするために、1次ストレージ・コントローラ4aの整合したローカル・コピーおよびリモート・コピーの生成ロジック234は、1つの実施形態において、1次ボリューム1へのホスト入力を休止するように構成される中断ロジック330をさらに含む。1次ボリューム1へのホスト入力を休止した後、1次ボリューム1から2次ボリューム2へのデータのミラーリングはアイドリングされてよい。1次ボリューム1から2次ボリューム2へのデータのミラーリングのアイドリングは、図5で以前に描写された「ミラーリング関係1」と書かれた矢印を図6では省略して表される。
別の態様において、データ・ミラーリング・ロジック310の同期ロジック324は、1次システム24aのポイントインタイム・スナップ・コピー・ボリューム1’から2次システム24bのポイントインタイム・スナップ・コピー・ボリューム2’にまだミラーリングされていないトラックがあることを示す第2の同期喪失ビットマップ、すなわちリモートOOSビットマップ1’に、(第1のポイントインタイム時点の)図6のリモートOOS(同期喪失)ビットマップ1をコピーするようにさらに構成される。さらに、整合したローカル・コピーおよびリモート・コピーの生成ロジック234の中断ロジック330は、第1のデータ・ユニットへのホスト入力を休止しないこと、およびミラーリングを再開すること、したがって図7の「ミラーリング関係1」と書かれた矢印で示されるような1次ボリューム1から2次ボリューム2へのデータの再同期を行うようにさらに構成される。
1つの実施形態において、ローカル・ターゲット・ビットマップ4のビットすべては、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2からすべてのトラックがコピーされることになることを示すように最初に「1」に設定されてよい。別の実施形態において、コマンド・ロジックは、ローカル・ターゲット・ビットマップ4として使用するためのリモート同期喪失ビットマップ1’の反転バージョンであるビットマップを2次システム24bに送信することができる。したがって反転バージョンでは、ビットマップ1’のビット1の内容「0」は「1」に反転され、ビットマップ4のビット1に格納されることになる。逆に、ビットマップ1’のビット2の内容「1」は「0」に反転され、ビットマップ4のビット2に格納されることになる。結果として、システム24bのポイントインタイム・スナップ・コピー・ボリューム2’に1次システム24aからミラーリングされることになる任意のトラックは、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2から転送される必要がない。逆に、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2から転送される任意のトラックは、システム24bのポイントインタイム・スナップ・コピー・ボリューム2’に1次システム24aからミラーリングされる必要がない。
第1のポイントインタイム時点のポイントインタイム・スナップ・コピー・ボリューム1’の選択されたデータに、ポイントインタイム・スナップ・コピー・ボリューム2’のデータを同期するために、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’に、選択されたデータをコピーする際のデータ・ミラーリング・ロジック310の同期ロジック324は、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’にまだコピーされていないものとして示される場合、第2のリモート同期喪失ビットマップ1’を処理すること、およびポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’にトラックをミラーリングすることを行うようにさらに構成される。図7の例において、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’へのデータの非同期ミラーリングは、図7において「ミラーリング関係3」と書かれた矢印で表される。このように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’が第1のポイントインタイム時点で一致するように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’を完了させるための、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’の追加データは、図7において「ミラーリング関係3」と書かれた矢印で表されるような、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’へのデータの非同期ミラーリングを利用して、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’から選択されたデータをコピーすることによって得られてよい。
しかし、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’にミラーリングされることになるトラックの内容は、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1からコピーされていない可能性があるということが理解される。例えば図7は、内容「B」を有するものとして、1次ボリューム1のトラック2の内容を描写するが、その一方でポイントインタイム・スナップ・コピー・ボリューム1’の対応トラック2の内容は、これが、1次ボリューム1のトラック2の内容「B」と同じ内容ではないことを示す内容「X」を有する。したがって、図6のローカル・ターゲット・ビットマップ3のビット2は、ポイントインタイム・スナップ・コピー・ボリューム1’の対応トラック2の内容に1次ボリューム1のトラック2の内容が転送されていないことを示す「1」のビット状態を有する。
ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’にミラーリングされることになるトラックの内容は、ローカル・ターゲット・ビットマップ3で示されるように、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1から転送されていない可能性があるので、第1のポイントインタイム時点でポイントインタイム・スナップ・コピー・ボリューム1’にポイントインタイム・スナップ・コピー・ボリューム2’のデータを同期するために、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’に、選択されたデータをコピーする際のデータ・ミラーリング・ロジック310の同期ロジック324は、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1からデータ・トラックが転送されていないことを、ローカル・ターゲット・ビットマップ3が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム2’のデータ・トラックのデータを1次ボリューム1から得ること、およびポイントインタイム・スナップ・コピー・ボリューム2’にデータをミラーリングすることを行うようにさらに構成される。例えば、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2を対象とする読取動作は、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2にビット2が対応する、ローカル・ターゲット・ビットマップ3のビット2のビット状態「1」で示されるように、1次ボリューム1のトラック2にリダイレクトされてよい。リダイレクトされた読取動作で1次ボリューム1のトラック2の内容「B」を得たので、図8は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック2にミラーリングされたものとして、1次ボリューム1のトラック2の内容「B」を描写する。さらに、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2にビット2が対応する、リモート同期喪失ビットマップ1’のビット2は、図8に示されるように、ポイントインタイム・スナップ・コピー・ボリューム2’にトラック2の内容がミラーリングされたことを示すビット状態値「0」を有するように更新されてよい。
1つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2の内容は、1次ボリューム1のトラック2から内容「B」を受け取ることもできる。この場合、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2にビット2が対応する、ローカル・ターゲット・ビットマップ3のビット2は、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1からトラック2の内容が転送されたことを示すビット状態値「0」を有するように更新されてよい。
このように、1次ボリューム1のトラック2の内容「B」が得られると、トラック2の内容「B」は、図8に示されるように、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック2にミラーリングされてよい。しかし上述のように多くの用途において、2次システム24bのポイントインタイム・スナップ・コピー・ボリューム2’を形成するデータの大部分は、ミラーリング関係1により2次システム24bに既にあることが理解される。したがって、データは、図8の実施形態におけるバックグラウンド・コピー・タイプの関係である、ポイントインタイム・スナップ・コピー関係4に従って、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2からコピーされてよい。
例えば、図8は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック1に転送されたものとして、2次ボリューム2のトラック1の内容「A」を描写する。したがって図8のローカル・ターゲット・ビットマップ4のビット1は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック1の内容に2次ボリューム2のトラック1の内容が転送されたことを示す「0」のビット状態を有するように更新される。同様に図8は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック3に転送されたものとして、2次ボリューム2のトラック3の内容「C」を描写する。したがって図8のローカル・ターゲット・ビットマップ4のビット3は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック3の内容に2次ボリューム2のトラック3の内容が転送されたことを示す「0」のビット状態を有するように更新される。このように、ターゲット・ビットマップおよび同期喪失ビットマップは、1次システムと2次システムの間のネットワークで転送されるデータ量を減少させると同時に、第1のポイントインタイム時点の1次ボリュームのデータの整合したポイントインタイム・スナップ・コピーを行うために、1次システムと2次システムのボリュームを同期するように組み合わせて使用されてよい。
ポイントインタイム・スナップ・コピー・ボリューム2’にデータが転送され得る様々な順番および経路があるということに留意されたい。例えば、2次ボリューム2のトラック2の内容「X」は、1次ボリューム1のトラック2からボリューム2’のトラック2に内容「B」をミラーリング関係3がミラーリングする前に、ボリューム2’のトラック2に関係4によって転送されてよい。この場合、ミラーリング関係3は、図8に描写されるように、1次ボリューム1のトラック2からの内容「B」で内容「X」を上書きする。2次ボリューム2のトラック2の内容「X」をボリューム2’のトラック2に関係4によって最初に転送することは、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2に2次ボリューム2のトラック2の内容が転送されたことを示すようにローカル・ターゲット・ビットマップ4の対応ビット2を更新し、それによって2次ボリューム2のトラック2のその後の更新の際に、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2に2次ボリューム2からの内容をさらに上書きするのを防ぐ。
別の例として、1次ボリューム1のトラック2の内容「B」は、1次ボリューム1のトラック2からボリューム2’のトラック2に内容「B」をミラーリング関係3がミラーリングする前に、2次ボリューム2のトラック2に関係1によってミラーリングされてよい。ボリューム2’は、2次ボリューム2のポイントインタイム・スナップ・コピーに基づくので、2次ボリューム2のスナップショット後の2次ボリューム2への任意の更新は、2次ボリューム2のトラックの内容が更新される前に、ポイントインタイム・スナップ・コピー・ボリューム2’に、更新されるトラックの元の内容が最初に転送されるようにする。したがってミラーリング関係1によって内容「B」で2次ボリューム2のトラック2に更新することは、2次ボリューム2のトラック2の内容を内容「B」が上書きする前に、2次ボリューム2のトラック2の元の内容「X」がボリューム2’のトラック2に関係4によって転送されるようにする。その後、ミラーリング関係3は、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2の内容「X」を1次ボリューム1のトラック2からの内容「B」で上書きし、やはり図8に描写される結果をもたらす。2次ボリューム2のトラック2の内容「X」をボリューム2’のトラック2に関係4によって最初に転送することは、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2に2次ボリューム2のトラック2の内容が転送されたことを示すようにローカル・ターゲット・ビットマップ4の対応ビット2を更新し、それによって2次ボリューム2のトラック2のその後の更新の際に、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2に2次ボリューム2からの内容をさらに上書きするのを防ぐ。
本説明の別の態様において、上述のように入力/出力動作が休止されなくなると、ポイントインタイム・スナップ・コピー・ボリューム1’への任意の更新は、ポイントインタイム・スナップ・コピー・ボリューム2’に関係3によってミラーリングされる。このように、ポイントインタイム・スナップ・コピー・ボリューム1’およびボリューム2’は、1次システムのボリューム1’への更新にもかかわらず整合したままであり、同期される。
ポイントインタイム・スナップ・コピー・ボリューム2’に1次ボリューム1のトラックの内容をミラーリング関係3がミラーリングする前に、1次ボリューム1のトラックも更新されるという場合には、ポイントインタイム・スナップ・コピー・ボリューム1’の作成時のトラックの元の内容は、ポイントインタイム・スナップ・コピー・ボリューム2’にミラーリング関係3によってその後にミラーリングするため、元の内容を保護するようにポイントインタイム・スナップ・コピー・ボリューム1’の対応トラックに転送されることになる。例えば、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2に1次ボリューム1のトラック2の内容「B」をミラーリング関係3がミラーリングする前に1次ボリューム1のトラック2が更新される場合には、ポイントインタイム・スナップ・コピー・ボリューム1’の作成時の1次ボリューム1のトラック2の元の内容「B」は、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック2に1次ボリューム1のトラック2の内容「B」をミラーリング関係3によってその後にミラーリングするため、1次ボリューム1のトラック2の元の内容「B」を保護するようにポイントインタイム・スナップ・コピー・ボリューム1’の対応トラック2に転送されることになる。ローカル・ターゲット・ビットマップ3の対応ビットは、このトラックに対する1次ボリューム1の元の内容が、ポイントインタイム・スナップ・コピー・ボリューム1’の対応トラックに転送されたことを示すように更新されることになる。
別の例として、1次ボリュームのトラック1の内容「A」は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック1に関係4によって2次ボリューム2のトラック1の内容「A」が転送される前に、2次ボリューム2の対応トラック1に関係1によってミラーリングされる新しい内容で更新されてよい。しかし、ボリューム2’は、2次ボリューム2のポイントインタイム・スナップ・コピーに基づくので、2次ボリューム2のスナップショット後の2次ボリューム2に対する任意の更新は、2次ボリューム2のトラックの内容が更新される前に、ポイントインタイム・スナップ・コピー・ボリューム2’に、更新されるトラックの元の内容が最初に転送されるようにする。したがって、内容「A」を置き替えるために新しい内容で2次ボリューム2のトラック1に更新することは、2次ボリューム2のトラック1の内容「A」を新しい内容が上書きする前に、2次ボリューム2のトラック1の元の内容「A」がボリューム2’のトラック1に関係4によって転送されるようにする。2次ボリューム2のトラック1の内容「A」をボリューム2’のトラック1に関係4によって転送することは、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック1に2次ボリューム2のトラック1の内容が転送されたことを示すようにローカル・ターゲット・ビットマップ4の対応ビット1を更新し、それによって2次ボリューム2のトラック1のその後の更新の際に、ポイントインタイム・スナップ・コピー・ボリューム2’のトラック1に2次ボリューム2からの内容をさらに上書きするのを防ぐ。
図9は、ポイントインタイム・スナップ・コピー関係2が、バックグラウンド・コピー・タイプである実施形態を対象とする。したがって、1次ボリューム1のトラック2の内容「B」は、ポイントインタイム・スナップ・コピー・ボリューム1’に転送されてよく、図7のローカル・ターゲット・ビットマップ3のビット2は、ポイントインタイム・スナップ・コピー・ボリューム1’の対応トラック2の内容に1次ボリューム1のトラック2の内容がコピーされたことを示す「0」のビット状態を有するように更新されてよい。同様に、1次ボリューム1の残りのトラックの内容は、ポイントインタイム・スナップ・コピー・ボリューム1’にバックグラウンド・コピー動作で転送されてよく、図7のローカル・ターゲット・ビットマップ3の対応ビットはポイントインタイム・スナップ・コピー・ボリューム1’の対応トラックの内容に1次ボリューム1の残りのトラックの内容が転送されたことを示す「0」のビット状態を有するように更新されてよい。
ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2から内容を転送してローカル・ターゲット・ビットマップ4のすべてのビットが処理され、ポイントインタイム・スナップ・コピー・ボリューム2’に関連トラックの内容をミラーリングしてリモート同期喪失ビットマップ1’のビットが処理されると、ポイントインタイム・スナップ・コピー・ボリューム2’は、第1のポイントインタイム時点の1次ボリューム1のポイントインタイム・スナップ・コピー・ボリューム1’と一致するデータの完全なセットを有することになる。さらに、1次ボリューム1とポイントインタイム・スナップ・コピー・ボリューム1’は、第1のポイントインタイム時点の整合性グループを形成することになる。したがって、関係3におけるボリュームは、特定の時点のデータの整合性、またはグループのこれらのボリュームのデータの特定のセットを維持するように、整合性グループ・ロジック248によって整合性グループに構成されてよい。したがって、OOSビットマップ1’への追加の更新は、1次システムのボリューム1’と、2次システムのボリューム2’との間の整合性グループを形成するために、特定の時点で停止されてよい。OOSビットマップ1’によって示されるような任意の未処理の更新は、更新がOOSビットマップ1’にもはや追加されなくなった時点で整合性グループのボリュームが一致するように、2次ストレージに転送される。
別の態様において、ポイントインタイム・コピー関係4のポイントインタイム・コピー機能が失敗する場合には、ポイントインタイム・スナップ・コピー・ボリューム2’は、ポイントインタイム・スナップ・コピー・ボリューム2’に1次システム24aからすべてのトラックがミラーリングされるべきであることを示すようにリモート同期喪失ビットマップ1’のすべてのビットを設定することによって形成されてよい。
図10は、整合したローカル・コピーおよびリモート・コピーの生成ロジック234(図4)を含むストレージ・マネージャ232(図1)の動作の1つの例を描写する。1つの動作において、データは、例えば1次ボリューム1(図2)などの第1のデータ・ユニットから、2次ボリューム2などの第2のデータ・ユニットにミラーリングされる(ブロック610)。図5は、図5において「ミラーリング関係1」と書かれた矢印で表されるような、1次ボリューム1から2次ボリューム2へのデータの非同期ミラーリングの例を示す。
特に断りのない限り図4と図10の両方を参照すると、ストレージ・マネージャ232(図1)の整合したローカル・コピーおよびリモート・コピーの生成ロジック234は、第1のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーする(ブロック614)。例えば、ローカル・データ・コピー・ロジック314は、1次ボリューム1の第1のポイントインタイム・スナップ・コピーを行うために、1次システム24aのポイントインタイム・スナップ・コピー・ボリューム1’などの第3のデータ・ユニットに、第1のポイントインタイム時点の1次ボリューム1(図6)のデータをコピーする。図6の例において、1次ボリューム1とポイントインタイム・スナップ・コピー・ボリューム1’との間のコピー関係は、ポイントインタイム(PIT)コピー関係2と書かれた矢印で表される。前述のように、ポイントインタイム(PIT)コピー関係2は、特定の用途に応じて、バックグラウンド・コピー・タイプまたは非バックグラウンド・コピー・タイプでよい。
別の動作において、(2次ボリューム2などの)第2のデータ・ユニットのデータは、第2のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第4のデータ・ユニットにコピーされる(ブロック620)。例えば、2次システム24bのローカル・データ・コピー・ロジック314は、2次ボリューム2のポイントインタイム・スナップ・コピーを行うために、1次システム24aのポイントインタイム・スナップ・コピー・ボリューム1’などの第4のデータ・ユニットに、第1のポイントインタイム時点の2次ボリューム2(図6)のデータをコピーする。図6の例において、2次ボリューム2とポイントインタイム・スナップ・コピー・ボリューム2’との間のコピー関係は、ポイントインタイム(PIT)コピー関係4と書かれた矢印で表される。多くの用途において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータの大部分は、2次システム24bの中でコピーされてよく、それによって第2のポイントインタイム・スナップ・コピー・ボリューム2’を形成するための、1次システム24aからのネットワークでのデータの任意のコピーの多くを未然に防ぐということが理解される。前述のように、ポイントインタイム(PIT)コピー関係4は、特定の用途に応じて、バックグラウンド・コピー・タイプまたは非バックグラウンド・コピー・タイプでよい。
別の動作において、(ポイントインタイム・スナップ・コピー・ボリューム2’などの)第4のデータ・ユニットは、(ポイントインタイム・スナップ・コピー・ボリューム1’などの)第3のデータ・ユニットに同期されてよく(ブロック624)、第3のデータ・ユニットと第4のデータ・ユニットの両方が、第1のポイントインタイム時点の(1次ボリューム1などの)第1のデータ・ユニットのデータのポイントインタイム・スナップ・コピーを行う。上述のように、本実施形態のミラーリング関係1(図5)は非同期関係なので、いくつかの事例において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータのすべてが、2次システム24b上で見つかる可能性があるわけではないということがさらに理解される。したがって、本説明の別の態様において、整合したローカル・コピーおよびリモート・コピーの生成ロジック234のデータ・ミラーリング・ロジック310は、第1のポイントインタイム時点の2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータを、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’に同期する同期ロジック324を含む。このように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’が第1のポイントインタイム時点で一致するように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’を完成させるための、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’の追加データは、1次システム24aから選択されたデータをコピーすることによって得られてよい。例えば、1つの実施形態において、同期動作は、第1と第2のポイントインタイム・スナップ・コピー・ボリュームであるボリューム1’とボリューム2’の両方が、第1のポイントインタイム時点の1次システム24aの1次ボリューム1のデータの整合したポイントインタイム・スナップ・コピーを行うように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’に、ネットワーク6で1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’から(または、第1のポイントインタイム・スナップ・コピー・ボリューム1’にない場合、1次ボリューム1から)選択されたデータをコピーすることを含む。2次システムのポイントインタイム・スナップ・コピー・ボリューム2’に必要なデータの大部分は、2次システム24bに既にある可能性があるので、1次システムおよび2次システムにある整合したポイントインタイム・スナップ・コピー・ボリュームをそれぞれ生成するときに、1次システムから2次システムへのネットワークでのデータのコピーの多くは未然に防がれる可能性がある。
図11は、整合したローカル・コピーおよびリモート・コピーの生成ロジック234(図4)を含むストレージ・マネージャ232(図1)の動作のさらに詳細な例を提供する。特に断りのない限り図4と図11の両方を参照すると、1つの動作において、データは第1の同期喪失ビットマップを使用して、リモートの場所にある第2のデータ・ユニット(2次ボリューム2)に第1のデータ・ユニット(1次ボリューム1)からミラーリングされる(ブロック714)。図5は、リモート同期喪失ビットマップ1を利用して、図5において「ミラーリング関係1」と書かれた矢印で表されるような、1次ボリューム1から2次ボリューム2へのデータの非同期ミラーリングの例を示す。
別の動作において、第1のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーするためのターゲット・ビットマップを作り出すポイントインタイム・スナップ・コピー・コマンドが発行される(ブロック720)。例えば、コマンド・ロジック320は、第1のポイントインタイム時点の1次ボリューム1のデータをポイントインタイム・スナップ・コピー・ボリューム1’にコピーする第1のポイントインタイム・スナップ・コピー・コマンドを、ローカル・データ・コピー・ロジック314に発行する。それに応じて、ローカル・データ・コピー・ロジック314は、第1のポイントインタイム・スナップ・コピー・ボリューム1’を形成するために、第1のポイントインタイム時点の1次ボリューム1のデータをポイントインタイム・スナップ・コピー・ボリューム1’に「コピーする」。図6の例において、1次ボリューム1とポイントインタイム・スナップ・コピー・ボリューム1’との間のコピー関係は、ポイントインタイム(PIT)コピー関係2と書かれた矢印で表される。
前述のように、1つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム1’を生成する際に、1次ボリューム1の内容は、ポイントインタイム・スナップ・コピー・ボリューム1’にバックグラウンド・コピー動作で転送される必要がない。代わりに、ローカル・データ・コピー・ロジック314は、第1のポイントインタイム時点でポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1からコピーされていないトラックを示す、例えばローカル・ターゲット・ビットマップ3などの第1のターゲット・ビットマップを生成する。結果として、ポイントインタイム・スナップ・コピー・ボリューム1’のトラックを対象とする読取動作は、参照トラックの内容が得られる可能性のある1次ボリューム1に、ローカル・ターゲット・ビットマップ3によってリダイレクトされる。他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム1’の内容は、1次ボリューム1に内容を転送するためのローカル・ターゲット・ビットマップ3を利用して、バックグラウンド・コピー動作で埋められてよいということが理解される。
別の動作において、ホストから1次ボリューム1への入力/出力動作は休止され(ブロック724)、第1のデータ・ユニット(1次ボリューム1)から第2のデータ・ユニット(2次ボリューム2)へのミラーリング動作は、第1のデータ・ユニット(1次ボリューム1)を第2のデータ・ユニット(2次ボリューム2)に同期するのを中断するために中断される(ブロック724)。例えば、中断ロジック330は、1次ボリューム1へのホスト入力を休止し、1次ボリューム1から2次ボリューム2へのデータのミラーリングをアイドリングする。1次ボリューム1から2次ボリューム2へのデータのミラーリングのアイドリングは、図5で以前に描写された「ミラーリング関係1」と書かれた矢印を図6では省略することによって表される。
第1の同期喪失ビットマップは、第3のデータ・ユニットを第4のデータ・ユニットに同期するために、第2の同期喪失ビットマップにコピーされる(ブロック728)。例えば、データ・ミラーリング・ロジック310の同期ロジック324は、1次システム24aのポイントインタイム・スナップ・コピー・ボリューム1’から2次システム24bのポイントインタイム・スナップ・コピー・ボリューム2’にまだミラーリングされていないトラックがあることを示す第2の同期喪失ビットマップ、すなわちリモートOOSビットマップ1’に、(第1のポイントインタイム時点の)図6のリモートOOS(同期喪失)ビットマップ1をコピーする。
第2のデータ・ユニットのポイントインタイム・スナップ・コピーを行うために、第2のデータ・ユニットのデータを第4のデータ・ユニットにコピーする別のポイントインタイム・スナップ・コピー・コマンドが発行される(ブロック732)。例えば、1次システム24aの整合したローカル・コピーおよびリモート・コピーの生成ロジック234のコマンド・ロジック320(図4)は、2次ボリューム2のポイントインタイム・スナップ・コピー・ボリューム2’を形成するために、第2のポイントインタイム時点の2次ボリューム2(図6)のデータを、2次システム24bの例えばボリューム2’などの第4のデータ・ユニットにコピーするように、2次システム24bのローカル・データ・コピー・ロジック314にコマンドを発行する。図6の例において、第2のボリューム2と、ポイントインタイム・スナップ・コピー・ボリューム2’との間のコピー関係は、「ポイントインタイム(PIT)スナップ・コピー関係4」と書かれた矢印で表される。
図12は、2次システム24b(図2)に発行されるポイントインタイム・スナップ・コピー・コマンドに応答する、2次システム24bのローカル・データ・コピー・ロジック314の動作の例を描写する。1つの動作において、2次システム24bのローカル・データ・コピー・ロジック314は、第2のポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2から転送されていないトラックを示す、2次システム24bの例えばローカル・ターゲット・ビットマップ4などの第2のターゲット・ビットマップを生成する(ブロック740)。前述のように、本実施形態において、ローカル・ターゲット・ビットマップ4は、ポイントインタイム・スナップ・コピー・ボリューム2’にまだ転送されていないトラックを、ビットマップ4のビットのビット状態1によって示す。
前述のように、1つの実施形態において、ポイントインタイム・スナップ・コピー・ボリューム2’を生成するポイントインタイム・スナップ・コピー・コマンドは、2次システム24bのローカル・データ・コピー・ロジック314によってポイントインタイム・スナップ・コピー・ボリューム2’に、バックグラウンド・コピー動作で2次ボリューム2の内容が転送される(ブロック744)「バックグラウンド・コピー」タイプのものでよい。したがって、2次ボリューム2の各トラックの内容は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラックの内容に転送されるので、ローカル・ターゲット・ビットマップ4内のこの対応トラックを表すビットのビット状態は、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2の各トラックが転送されたことを示すようにビット状態値「0」に更新されてよい(ブロック750)。
例えば、図8は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック1に転送されたものとして、2次ボリューム2のトラック1の内容「A」を描写する。したがって図8のローカル・ターゲット・ビットマップ4のビット1は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック1の内容に2次ボリューム2のトラック1の内容が転送されたことを示す「0」のビット状態を有するように更新される。同様に図8は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック3に転送されたものとして、2次ボリューム2のトラック3の内容「C」を描写する。したがって、図8のローカル・ターゲット・ビットマップ4のビット3は、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック3の内容に2次ボリューム2のトラック3の内容が転送されたことを示す「0」のビット状態を有するように更新される。
ローカル・ターゲット・ビットマップ4によって表されたすべてのトラックが、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2から転送されたかどうかについて判断(ブロック754)が行われる。転送されていない場合、トラックの転送(ブロック744)が続く。バックグラウンド・コピーのすべてのトラックが転送されたと判断されると(ブロック754)、バックグラウンド・コピーは完了になる(ブロック760)。他の実施形態において、ポイントインタイム・スナップ・コピー・ボリューム2’を生成するポイントインタイム・スナップ・コピー・コマンドは、ポイントインタイム・スナップ・コピー・ボリューム2’にバックグラウンド・コピー動作で2次ボリューム2の内容が転送されない「非バックグラウンド・コピー」タイプのものでよいことが理解される。
このように、ミラーリング関係1(図5)で表されるようなミラーリング動作により、2次システム24bに既にある第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータは、2次システム24b内の第2のポイントインタイム・スナップ・コピー・ボリューム2’に転送されてよい。結果として、多くの用途において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータの大部分は、2次システム24bの中でコピーされてよく、第2のポイントインタイム・スナップ・コピー・ボリューム2’を形成するために、1次システム24aからのネットワークでのデータのほとんどのコピーを未然に防ぐことができる。例えば、2次システム24bにポイントインタイム・スナップ・コピー・コマンドをコマンド・ロジック320が発行するのに応答して、2次ストレージ・コントローラ4bのローカル・データ・コピー・ロジック314は、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2からデータ・トラックがまだ転送されていないことを、ローカル・ターゲット・ビットマップ4が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム2’に2次ボリューム2のトラックをバックグラウンド・コピーするように、2次システム24bのローカル・データ・コピー・ロジック314にコマンドを発行することができる。
再び図11を参照すると、別の動作において、ホストからの入力/出力動作は休止されず(ブロック766)、第1のデータ・ユニットと第2のデータ・ユニットの同期を再開するために、第1のデータ・ユニットから第2のデータ・ユニットへのデータのミラーリングが再開される。例えば、1次システム24aの整合したローカル・コピーおよびリモート・コピーの生成ロジック234の中断ロジック330は、1次ボリューム1へのホスト入力を休止せず、ミラーリング、したがって、図7の「ミラーリング関係1」と書かれた矢印で示されるような1次ボリューム1から2次ボリューム2へのデータの再同期を再開する。結果として、1次システム24aの1次ボリューム1への更新は、第1のポイントインタイム時点の1次ボリューム1のデータの整合したポイントインタイム・スナップ・コピーを行うために、ボリューム1’およびボリューム2’が生成されている間に、2次システム24bの2次ボリューム2にミラーリングされてよい。
図10のブロック624に関連して上述されたものに類似の手法で、(ポイントインタイム・スナップ・コピー・ボリューム2’などの)第4のデータ・ユニットは、(ポイントインタイム・スナップ・コピー・ボリューム1’などの)第3のデータ・ユニットに対して同期されてよく(ブロック770)、第3のデータ・ユニットと第4のデータ・ユニットの両方は、第1のポイントインタイム時点の(1次ボリューム1などの)第1のデータ・ユニットのデータのポイントインタイム・スナップ・コピーを行う。図13は、第1のポイントインタイム時点の(1次ボリューム1などの)第1のデータ・ユニットのデータのポイントインタイム・スナップ・コピーを行うために、第3のデータ・ユニットと第4のデータ・ユニットを同期する同期動作の1つの例を描写する。
上述のように、本実施形態のミラーリング関係1(図5)は非同期関係なので、いくつかの事例において、第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータのすべてが、2次システム24b上で見つかる可能性があるわけではないということが理解される。したがって、1つの実施形態において、同期ロジック324は、第1のポイントインタイム時点の2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’のデータを、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’のデータに同期する。このように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’が第1のポイントインタイム時点で一致するように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’を完成させるための、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’の追加データは、1次システム24aから選択されたデータをコピーすることによって得られてよい。
1つの動作において、第1の同期喪失ビットマップからコピーされた第2の同期喪失ビットマップの未処理のビットがあるかどうかについて判断(ブロック774)が行われる。例えば、1つの実施形態において、同期動作は、第1のポイントインタイム・スナップ・コピー・ボリューム1’と第2のポイントインタイム・スナップ・コピー・ボリューム2’の両方が、第1のポイントインタイム時点の1次システム24aの1次ボリューム1のデータの整合したポイントインタイム・スナップ・コピーを行うように、ネットワーク6で、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’から(または第1のポイントインタイム・スナップ・コピー・ボリューム1’上にない場合、1次ボリューム1から)2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’に、選択されたデータをコピーすることを含む。2次システムのポイントインタイム・スナップ・コピー・ボリューム2’に必要なデータの大部分は、2次システム24bに既にある可能性があるので、1次システムおよび2次システムの整合したポイントインタイム・スナップ・コピー・ボリュームをそれぞれ生成するときに、1次システムから2次システムへのネットワークでのデータのコピーの多くは未然に防がれる可能性がある。
1つの実施形態において、まだ2次システム24bにないデータを得るために、1次システム24aのデータ・ミラーリング・ロジック310の同期ロジック324は、リモート同期喪失ビットマップ1’(図7)の未処理のビットが、ミラーリング関係3によって表されるミラーリング動作によって、まだ処理されていないかどうかを判断する(ブロック774)。例えば、図7は、ミラーリング関係3によってビット2が処理されていないこと、および2次システム24bの対応ボリューム2’に1次システム24aからミラーリング関係3に従ってトラック2の内容がまだミラーリングされていないことを示す「1」のロジック状態を有するものとして、第1のポイントインタイム・スナップ・コピー・ボリューム1’のトラック2に対応するリモート同期喪失ビットマップ1’のビット2の内容を描写する。したがって、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’のトラック2の内容は、これが、1次システム24aの1次ボリューム1のトラック2の内容と同じ内容ではないことを示す内容「X」を有するものとして、図7に描写される。
リモート同期喪失ビットマップ1’(図7)の未処理のビットが、ミラーリング関係3によって表されるミラーリング動作によって、まだ処理されていないと判断される場合(ブロック774)、1次システム24aのデータ・ミラーリング・ロジック310の同期ロジック324は、第3のデータ・ユニット(この例ではポイントインタイム・スナップ・コピー・ボリューム1’)に第1のデータ・ユニット(この例では1次ボリューム1)から関連トラックが転送されていないことを、ターゲット・ビットマップ(この例では図7のローカル・ターゲット・ビットマップ3)の対応ビットのビット状態が示すかどうかを判断する(ブロック780)。ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1から関連トラックが転送されていないことを、ローカル・ターゲット・ビットマップ3(図7)の対応ビットのビット状態が示す場合、トラックの内容は、第1のデータ・ユニット(この例では1次ボリューム1)から得られ、ミラーリングされる、すなわちミラーリング関係3(図8)に従って第4のデータ・ユニット(この例ではポイントインタイム・スナップ・コピー・ボリューム2’)に転送される(ブロック784)。
例えば図7は、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’に1次システム24aの1次ボリューム1からトラック2の内容がまだ転送されていないことを示す「1」のロジック状態を有するものとして、第1のポイントインタイム・スナップ・コピー・ボリューム1’のトラック2に対応するローカル・ターゲット・ビットマップ3のビット2の内容を描写する。したがって、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’のトラック2の内容は、これが、1次ボリューム1のコピー・ボリューム1’のトラック2の内容「B」と同じ内容ではないことを示す内容「X」を有するものとして、図7に描写される。
ポイントインタイム・スナップ・コピー・ボリューム2’にミラーリングされることになるトラックの内容は、ローカル・ターゲット・ビットマップ3で示されるように、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1から転送されていない可能性があるので、ポイントインタイム・スナップ・コピー・ボリューム1’によって表されるように、第1のポイントインタイム時点の1次ボリューム1にポイントインタイム・スナップ・コピー・ボリューム2’のデータを同期するために、ポイントインタイム・スナップ・コピー・ボリューム2’に1次システム24aから選択されたデータをコピーする際のデータ・ミラーリング・ロジック310の同期ロジック324は、1次ボリューム1からトラック2のデータを得て、ミラーリングする、すなわちポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1からトラック2のデータが転送されていないことを、ローカル・ターゲット・ビットマップ3が示す場合に、ポイントインタイム・スナップ・コピー・ボリューム2’にデータを転送する(ブロック784)。したがって、第2のポイントインタイム・スナップ・コピー・ボリューム2’へのミラーリング動作のために、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2を対象とする読取動作は、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2にビット2が対応する、ローカル・ターゲット・ビットマップ3のビット2のビット状態「1」で示されるように、1次ボリューム1のトラック2にリダイレクトされてよい。リダイレクトされた読取動作で1次ボリューム1のトラック2の内容「B」を得たので、図8は、ミラーリング関係3に従って、ポイントインタイム・スナップ・コピー・ボリューム2’の対応トラック2にミラーリングされたものとして、1次ボリューム1のトラック2の内容「B」を描写する。さらに、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2にビット2が対応する、リモート同期喪失ビットマップ1’のビット2は、図8に示されるように、ポイントインタイム・スナップ・コピー・ボリューム2’にトラック2の内容がミラーリングされたことを示すビット状態値「0」を有するように更新されてよい(ブロック790)。
逆に、ポイントインタイム・スナップ・コピー・ボリューム1’に1次ボリューム1から関連トラックが転送されたことを、ローカル・ターゲット・ビットマップ3(図7)の対応ビットのビット状態が示す場合、トラックの内容は、ミラーリング関係3(図8)に従って、第3のデータ・ユニット(この例ではポイントインタイム・スナップ・コピー・ボリューム1’)から第4のデータ・ユニット(この例ではポイントインタイム・スナップ・コピー・ボリューム2’)にミラーリングされる(ブロック794)。ここでも、ポイントインタイム・スナップ・コピー・ボリューム1’のトラック2にビット2が対応する、リモート同期喪失ビットマップ1’のビット2は、図8に示されるように、ポイントインタイム・スナップ・コピー・ボリューム2’にトラック2の内容がミラーリングされたことを示すビット状態値「0」を有するように更新されてよい(ブロック790)。リモート同期喪失ビットマップ1’のすべてのビットが処理されたと判断されると(ブロック774)、図13の同期は完了になる(ブロック798)。
このように、データ・ミラーリング・ロジック310の同期ロジック324は、1次システム24aのポイントインタイム・スナップ・コピー・ボリューム1’によって表されるように、第1のポイントインタイム時点の1次ボリューム1に、ポイントインタイム・スナップ・コピー・ボリューム2’のデータを同期するために、1次システム24aの1次ボリューム1またはポイントインタイム・スナップ・コピー・ボリューム1’から、2次システム24bのポイントインタイム・スナップ・コピー・ボリューム2’に、選択されたデータを転送する。したがって、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’が、第1のポイントインタイム時点で一致するように、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’を完了させるための、2次システム24bの第2のポイントインタイム・スナップ・コピー・ボリューム2’の追加データは、図7において「ミラーリング関係3」と書かれた矢印で表されるような、ポイントインタイム・スナップ・コピー・ボリューム1’からポイントインタイム・スナップ・コピー・ボリューム2’へのデータの非同期ミラーリングを利用して、1次システム24aの第1のポイントインタイム・スナップ・コピー・ボリューム1’または1次ボリューム1から選択されたデータを転送することによって得られてよい。
図の計算構成要素はそれぞれ、図14に示されるコンピュータ・システム1002などの、1つまたは複数のコンピュータ・システムに実装されてよい。コンピュータ・システム/サーバ1002は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な状況で説明されてよい。一般に、プログラム・モジュールは、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造、などを含むことができる。コンピュータ・システム/サーバ1002は、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが行われる分散クラウド・コンピューティング環境で実践されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル・コンピュータ・システムとリモート・コンピュータ・システム両方のストレージ媒体の中にあってよい。
図14に示されるように、コンピュータ・システム/サーバ1002は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム/サーバ1002の構成要素は、1つまたは複数のプロセッサまたは処理ユニット1004、システム・メモリ1006、およびシステム・メモリ1006を含む様々なシステム構成要素をプロセッサ1004に連結するバス1008を含むことができるがこれらに限定されない。バス1008は、メモリ・バスまたはメモリ・コントローラ、周辺機器バス、アクセラレイティッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。例として、また限定ではないが、このようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:Video Electronics Standards Association)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI:Peripheral Component Interconnects)バスを含む。
コンピュータ・システム/サーバ1002は典型的には、様々なコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ1002によってアクセス可能な任意の利用可能な媒体でよく、これは、揮発性媒体および不揮発性媒体の両方、取外し可能媒体および取外し不能媒体の両方を含む。
システム・メモリ1006は、ランダム・アクセス・メモリ(RAM:random access memory)1010またはキャッシュ・メモリ1012あるいはその両方などの揮発性メモリの形でコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ1002は、他の取外し可能/取外し不能な、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。ほんの一例として、ストレージ・システム1013は、取外し不能な不揮発性磁気媒体(図示されていないが、典型的には「ハード・ドライブ」と呼ばれる)に読み書きするために提供されてよい。図示されていないが、取外し可能な不揮発性磁気ディスク(例えば「フロッピー・ディスク」)に読み書きするための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの、取外し可能な不揮発性光ディスクに読み書きするための光ディスク・ドライブが提供される。このような事例において、それぞれは、1つまたは複数のデータ媒体インターフェースによってバス1008に接続されてよい。下記でさらに描写され、説明されるように、メモリ1006は、本発明の実施形態の機能を行うように構成されるプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラムの製品を含むことができる。
プログラム・モジュール1016のセット(少なくとも1つ)を有するプログラム/ユーティリティ1014、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データが、例として、また限定ではないが、メモリ1006に格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらのいくつかの組合せのそれぞれは、ネットワーク環境の実装形態を含むことができる。コンピュータ1002の構成要素は、本明細書で説明されるような本発明の実施形態の機能または方法あるいはその両方を全体的に行うプログラム・モジュール1016として実装されてよい。図1のシステムは、1つまたは複数のコンピュータ・システム1002に実装されてよく、これらが複数のコンピュータ・システム1002に実装される場合、コンピュータ・システムはネットワークで通信することができる。
コンピュータ・システム/サーバ1002は、キーボード、ポインティング・デバイス、ディスプレイ1020、等などの、1つまたは複数の外部デバイス1018、コンピュータ・システム/サーバ1002とユーザが対話できるようにする1つもしくは複数のデバイス、または1つもしくは複数の他のコンピューティング・デバイスとコンピュータ・システム/サーバ1002が通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデム、等)、あるいはその組合せと通信することもできる。このような通信は、入力/出力(I/O:Input/Output)インターフェース1022を介して発生させることができる。さらに、コンピュータ・システム/サーバ1002は、ネットワーク・アダプタ1024を介して、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、またはパブリック・ネットワーク(例えばインターネット)、あるいはその組合せなどの、1つまたは複数のネットワークと通信することができる。描写されるように、ネットワーク・アダプタ1024は、バス1008を介して、コンピュータ・システム/サーバ1002の他の構成要素と通信する。図示されていないが、他のハードウェアまたはソフトウェア構成要素あるいはその両方が、コンピュータ・システム/サーバ1002と共に使用されてよいということを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム、等を含むがこれらに限定されない。
本明細書で使用されるi、j、およびnなどの参照文字は、同じまたは異なる値を表し得る可変数の要素のインスタンスを表すために使用され、説明される様々なインスタンスにおいて異なるまたは同じ要素と共に使用されるときに同じまたは異なる値を表すことができる。
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに行わせるための、コンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形デバイスでよい。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらなる具体例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM:read-only memory)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM(erasable programmable read-only memory)すなわちフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:Static random access memory)、携帯型コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー・ディスク、記録された命令を有するパンチ・カードまたは溝内の隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、またはワイヤを通じて伝送される電気信号などの一時的な信号自体と解釈されるべきではない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から個々のコンピューティング/処理デバイスに、あるいは例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せといったネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされてよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えることができる。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、個々のコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
本発明の動作を行うためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA:instruction-set-architecture)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJava(R)、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでよい。コンピュータ可読プログラム命令は、スタンド・アロンのソフトウェア・パッケージとして、全面的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で実行することができ、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてよく、また接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路機器は、本発明の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照しながら本明細書で説明される。フローチャートまたはブロック図あるいはその両方の各ブロック、およびフローチャートまたはブロック図あるいはその両方の中のブロックの組合せは、コンピュータ可読プログラム命令によって実行されてよいということが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/作用を実行するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/作用の態様を実行する命令を含む製品を備えるべく、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の手法で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/作用を実行するべく、コンピュータ実行処理を生み出すように、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを行わせるものであってもよい。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の中の各ブロックは、指定された論理機能を実行するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表すことができる。いくつかの代替実装形態において、ブロックに記された機能は、図に記されたものとは異なる順序で発生してよい。例えば、連続して示される2つのブロックは、関連する機能に応じて、実際には実質的に同時に実行されてよく、またブロックは時には、逆の順番で実行されてもよい。ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方の中のブロックの組合せは、指定された機能または作用を行うか、専用のハードウェアとコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実行されてよいということにも留意されたい。
用語「ある実施形態(an embodiment)」、「実施形態(embodiment)」、「複数の実施形態(embodiments)」、「その実施形態(the embodiment)」、「それらの実施形態(the embodiments)」、「1つまたは複数の実施形態(one or more embodiments)」、「いくつかの実施形態(some embodiments)」、および「1つの実施形態(one embodiment)」は、別途、明確に指定されない限り、「本発明の1つまたは複数の(しかし、すべてではない)実施形態」を意味する。
用語「含む(including)」、「備える(comprising)」、「有する(having)」、およびその変形形態は、別途、明確に指定されない限り「含むが限定されない(including but not limited to)」を意味する。
項目の列挙された一覧は、別途、明確に指定されない限り、項目のいずれかまたはすべてが相互に排他的であることを意味しない。
用語「ある(a)」、「ある(an)」、および「その(the)」は、別途、明確に指定されない限り「1つまたは複数」を意味する。
互いに通信状態にある複数のデバイスは、別途、明確に指定されない限り、互いに継続的な通信状態にある必要はない。さらに、互いに通信状態にある複数のデバイスは、1つまたは複数の中間体を通じて直接的または間接的に通信することができる。
互いに通信状態にあるいくつかの構成要素を伴う実施形態の説明は、このような構成要素のすべてが要求されることを意味しない。反対に、本発明の可能な実施形態の広い多様性を示す様々な任意選択の構成要素が説明される。
単一のデバイスまたは品目が本明細書で説明されるとき、2つ以上のデバイス/品目が(これらが連携してもしなくても)、単一のデバイス/品目の代わりに使用されてよいということが容易に明らかになるであろう。同様に、2つ以上のデバイスまたは品目が本明細書で説明される場合(これらが連携してもしなくても)、単一のデバイス/品目が、2つ以上のデバイスまたは品目の代わりに使用されてよく、また様々な数のデバイス/品目が、示された数のデバイスまたはプログラムの代わりに使用されてもよいということが容易に明らかになるであろう。デバイスの機能または特徴あるいはその両方は、このような機能/特徴を有するものとして明確に説明されない1つまたは複数の他のデバイスによって代替として具現化されてよい。したがって、本発明の他の実施形態は、これらのデバイス自体を含む必要はない。
本発明の様々な実施形態の前述の説明が例証および説明のために提示された。これは、本発明を網羅するためのものではなく、また開示された精密な形に限定するためのものでもない。多くの変更および変形が上記の教示の観点から可能である。本発明の範囲は、本詳細な説明によって限定されるのではなく、むしろ本明細書に添付の特許請求の範囲によって限定されることが意図される。上記の明細書、例、およびデータは、本発明の構成物の製造および使用を完全に説明する。本発明の思想および範囲から逸脱することなく、本発明の多くの実施形態が行われ得るので、本発明は後に添付された本明細書の特許請求の範囲にある。

Claims (12)

  1. ホストおよび第1の場所にある1次ストレージ・システムであって、前記1次ストレージ・システムが、1次ストレージ・コントローラ、および前記1次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第1のストレージ・ユニットを有する、前記1次ストレージ・システムと、前記第1の場所から離れた第2の場所にある2次ストレージ・システムであって、前記2次ストレージ・システムが、2次ストレージ・コントローラ、および前記2次ストレージ・コントローラによって制御され、複数のデータ・ユニットを格納するように構成される第2のストレージ・ユニットを有する、前記2次ストレージ・システムと、によって使用するための前記1次ストレージ・コントローラであって、前記1次ストレージ・コントローラが、
    前記第1のストレージ・ユニットの第1のデータ・ユニットから前記第2のストレージ・ユニットの第2のデータ・ユニットにデータを非同期的にミラーリングするように構成されるデータ・ミラーリング・ロジックと、
    前記第1のデータ・ユニットの第1のポイントインタイム・スナップ・コピーを行うために、第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを前記第1のストレージ・ユニットの第3のデータ・ユニットにコピーするように構成されるローカル・データ・コピー・ロジックと、
    前記第2のデータ・ユニットの第2のポイントインタイム・スナップ・コピーを行うために、第2のポイントインタイム時点の前記第2のデータ・ユニットのデータを前記第2のストレージ・ユニットの第4のデータ・ユニットにコピーするように、前記2次ストレージ・システムにコマンドを発行するように構成されるコマンド・ロジックと
    を含む、整合したローカル・コピーおよびリモート・コピーの生成ロジックを含み、
    前記第3のデータ・ユニットと前記第4のデータ・ユニットの両方が、前記第1のポイントインタイム時点の前記第1のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットに、選択されたデータを転送することを含む、前記第1のポイントインタイム時点の前記第4のデータ・ユニットのデータを前記第1のデータ・ユニットに同期するように構成される同期ロジックを、前記1次ストレージ・コントローラの前記データ・ミラーリング・ロジックが含む、ストレージ・システムであって、
    前記コマンド・ロジックが、前記第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを前記第3のデータ・ユニットにコピーする第1のポイントインタイム・スナップ・コピー・コマンドを、前記ローカル・データ・コピー・ロジックに発行するようにさらに構成され、前記ローカル・データ・コピー・ロジックが、前記第1のデータ・ユニットの前記第1のポイントインタイム・スナップ・コピーを行うために、前記第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを前記第3のデータ・ユニットにコピーする、第1のポイントインタイム・スナップ・コピー・コマンドを実行するようにさらに構成され、
    前記1次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックが、前記第1のデータ・ユニットへのホスト入力を休止すること、
    および前記第1のデータ・ユニットへのホスト入力を休止した後、前記第1のデータ・ユニットから前記第2のデータ・ユニットへのデータのミラーリングをアイドリングさせることを行うように構成される中断ロジックをさらに含み、
    前記1次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記ローカル・データ・コピー・ロジックが、前記第1のポイントインタイム・スナップ・コピー・コマンドを実行する際に、前記第1のポイントインタイム時点で前記第1のデータ・ユニットから前記第3のデータ・ユニットに転送されていないトラックを示す第1のターゲット・ビットマップを生成するようにさらに構成され、
    前記第1のデータ・ユニットから前記第2のデータ・ユニットにデータをミラーリングする際に、前記1次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記データ・ミラーリング・ロジックが、前記第1のデータ・ユニットから前記第2のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第1の同期喪失ビットマップを生成するようにさらに構成され、
    前記1次ストレージ・コントローラの前記整合したローカル・コピーおよびリモート・コピーの生成ロジックの前記データ・ミラーリング・ロジックが、前記第4のデータ・ユニットにまだミラーリングされていないトラックがあることを示すために、前記第1の同期喪失ビットマップを第2の同期喪失ビットマップにコピーするようにさらに構成され、
    第2のポイントインタイム時点の前記第2のデータ・ユニットのデータを前記第2のストレージ・ユニットの第4のデータ・ユニットにコピーするように、前記2次ストレージ・システムにコマンドを発行する際の前記コマンド・ロジックが、前記第2のデータ・ユニットから前記第4のデータ・ユニットに転送されていないトラックを示す第2のターゲット・ビットマップを生成するように、前記2次ストレージ・システムに第2のポイントインタイム・スナップ・コピー・コマンドを発行するようにさらに構成される
    ストレージ・システム。
  2. 前記1次ストレージ・コントローラの前記中断ロジックが、前記第1のデータ・ユニットへのホスト入力を休止しないこと、および前記第1のデータ・ユニットから前記第2のデータ・ユニットへのデータのミラーリングを再開することを行うようにさらに構成される、請求項に記載のストレージ・システム。
  3. 前記2次ストレージ・システムに第2のポイントインタイム・スナップ・コピー・コマンドを前記コマンド・ロジックが発行する際に、前記2次ストレージ・コントローラの前記ローカル・データ・コピー・ロジックが、前記第2のデータ・ユニットから前記第4のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第2のターゲット・ビットマップが示す場合に、前記第2のデータ・ユニットのトラックを前記第4のデータ・ユニットにバックグラウンド・コピーするように前記2次ストレージ・システムに指令するようにさらに構成され、
    前記第1のポイントインタイム時点の前記第1のデータ・ユニットに前記第4のデータ・ユニットの前記データを同期するために、前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットに、選択されたデータを転送する際の前記データ・ミラーリング・ロジックの前記同期ロジックが、前記第4のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第2の同期喪失ビットマップを処理すること、ならびに前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットにトラックをミラーリングすることを行うようにさらに構成される、
    請求項に記載のストレージ・システム。
  4. 前記第1のポイントインタイム時点の前記第1のデータ・ユニットに前記第4のデータ・ユニットの前記データを同期するために、前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットに、選択されたデータを転送する際の前記データ・ミラーリング・ロジックの前記同期ロジックが、前記第1のデータ・ユニットから前記第3のデータ・ユニットにデータ・トラックが転送されていないことを前記第1のターゲット・ビットマップが示す場合に、前記第3のデータ・ユニットの前記データ・トラックのデータを前記第1のデータ・ユニットから得ること、および前記データを前記第4のデータ・ユニットにミラーリングすることを行うようにさらに構成され、
    第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーする際の前記1次ストレージ・コントローラの前記ローカル・データ・コピー・ロジックが、前記第1のポイントインタイム時点の前記第1のデータ・ユニットと前記第3のデータ・ユニットとの整合性グループを形成するようにさらに構成される、
    請求項に記載のストレージ・システム。
  5. 前記第1のデータ・ユニットが第1のボリュームであり、前記第2のデータ・ユニットが第2のボリュームである、請求項1に記載のストレージ・システム。
  6. 第1の場所にある第1のストレージ・ユニットに格納された第1のデータ・ユニットから第2の場所にある第2のストレージ・ユニットに格納された第2のデータ・ユニットにデータを非同期的にミラーリングすることと、
    前記第1のデータ・ユニットの第1のポイントインタイム・スナップ・コピーを始めるために、第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーすることと、
    前記第2のデータ・ユニットの第2のポイントインタイム・スナップ・コピーを始めるために、第2のポイントインタイム時点の前記第2のデータ・ユニットのデータを第4のデータ・ユニットにコピーすることと、
    前記第1のポイントインタイム時点の前記第1のデータ・ユニットのデータに前記第4のデータ・ユニットの前記データを同期することであって、前記同期することが、前記第3のデータ・ユニットと前記第4のデータ・ユニットの両方が、前記第1のポイントインタイム時点の前記第1のデータ・ユニットの前記データのポイントインタイム・スナップ・コピーを行うように、前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットに、選択されたデータをコピーすることを含む、前記同期することと
    を含む、方法であって、
    第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーすることが、第1のポイントインタイム・スナップ・コピー・コマンドを実行することを含み、前記方法が、
    前記第1のデータ・ユニットへのホスト入力を休止することと、
    前記第1のデータ・ユニットへのホスト入力/出力を休止した後、前記第1のデータ・ユニットから前記第2のデータ・ユニットへのデータのミラーリングをアイドリングさせることと
    をさらに含み、
    前記第1のポイントインタイム・スナップ・コピー・コマンドを実行することが、前記第1のポイントインタイム時点で前記第1のデータ・ユニットから前記第3のデータ・ユニットに転送されていないトラックを示す第1のターゲット・ビットマップを生成することを含み、
    前記第1のデータ・ユニットから前記第2のデータ・ユニットにデータをミラーリングすることが、前記第1のデータ・ユニットから前記第2のデータ・ユニットにまだミラーリングされていないトラックがあることを示す第1の同期喪失ビットマップを生成することを含み、
    前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットにまだ転送されていない選択されたトラックがあることを示すために、第2の同期喪失ビットマップに前記第1の同期喪失ビットマップをコピーすることをさらに含み、前記第2のポイントインタイム時点の前記第2のデータ・ユニットのデータを第4のデータ・ユニットにコピーすることが、前記第2のポイントインタイム時点で前記第2のデータ・ユニットから前記第4のデータ・ユニットに転送されていないトラックを示す第2のターゲット・ビットマップを生成する、第2のポイントインタイム・スナップ・コピー・コマンドを実行することを含む、
    方法。
  7. 前記第1のデータ・ユニットへのホスト入力を休止しないことと、
    前記第1のデータ・ユニットから前記第2のデータ・ユニットへのデータのミラーリングを再開することと
    をさらに含む、請求項に記載の方法。
  8. 第2のポイントインタイム時点の前記第2のデータ・ユニットのデータを第4のデータ・ユニットにコピーすることが、前記第2のデータ・ユニットから前記第4のデータ・ユニットにデータ・トラックがまだ転送されていないことを、前記第2のターゲット・ビットマップが示す場合に、前記第2のデータ・ユニットのトラックを前記第4のデータ・ユニットにバックグラウンド・コピーすることをさらに含み、
    前記第1のポイントインタイム時点の前記第1のデータ・ユニットに前記第4のデータ・ユニットの前記データを同期するために、前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットに、選択されたデータを転送することが、前記第4のデータ・ユニットにまだミラーリングされていないものとして示される場合、前記第2の同期喪失ビットマップを処理すること、ならびに前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの前記少なくとも1つから前記第4のデータ・ユニットにトラックをミラーリングすることを含む、
    請求項に記載の方法。
  9. 前記第1のデータ・ユニットおよび前記第3のデータ・ユニットのうちの少なくとも1つから前記第4のデータ・ユニットにトラックをミラーリングすることが、前記第1のデータ・ユニットから前記第3のデータ・ユニットにデータ・トラックが転送されていないことを前記第1のターゲット・ビットマップが示す場合に、前記第3のデータ・ユニットの前記データ・トラックのデータを前記第1のデータ・ユニットから得ること、および前記得られたデータを前記第4のデータ・ユニットにミラーリングすることを含み、
    第1のポイントインタイム時点の前記第1のデータ・ユニットのデータを第3のデータ・ユニットにコピーすることが、前記第1のポイントインタイム時点の前記第1のデータ・ユニットと前記第3のデータ・ユニットとの整合性グループを形成することを含む、
    請求項に記載の方法。
  10. 前記第1のデータ・ユニットが第1のボリュームであり、前記第2のデータ・ユニットが第2のボリュームである、請求項に記載の方法。
  11. 請求項10の何れか1項に記載の方法をコンピュータシステムに実行させるコンピュータ・プログラム。
  12. 請求項11に記載の前記コンピュータ・プログラムをコンピュータ可読ストレージ媒体に記録した、ストレージ媒体。
JP2019525991A 2016-12-02 2017-11-13 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法 Active JP7004714B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/368,321 US10162563B2 (en) 2016-12-02 2016-12-02 Asynchronous local and remote generation of consistent point-in-time snap copies
US15/368,321 2016-12-02
PCT/IB2017/057067 WO2018100455A1 (en) 2016-12-02 2017-11-13 Asynchronous local and remote generation of consistent point-in-time snap copies

Publications (2)

Publication Number Publication Date
JP2020502635A JP2020502635A (ja) 2020-01-23
JP7004714B2 true JP7004714B2 (ja) 2022-01-21

Family

ID=62242070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019525991A Active JP7004714B2 (ja) 2016-12-02 2017-11-13 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法

Country Status (5)

Country Link
US (1) US10162563B2 (ja)
JP (1) JP7004714B2 (ja)
CN (1) CN110023912B (ja)
GB (1) GB2571871B (ja)
WO (1) WO2018100455A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10416921B2 (en) 2017-03-31 2019-09-17 International Business Machines Corporation Point-in-time snap copy on asynchronous consistency group management
US10496674B2 (en) * 2017-08-07 2019-12-03 International Business Machines Corporation Self-describing volume ancestry for data synchronization
WO2020026036A1 (en) 2018-07-31 2020-02-06 Marvell World Trade Ltd. Metadata generation at the storage edge
CN109710459A (zh) * 2018-12-15 2019-05-03 无锡北方数据计算股份有限公司 一种基于镜像的快照技术
EP4300314A3 (en) * 2018-12-29 2024-04-10 Huawei Technologies Co., Ltd. Data backup method, apparatus and system
CN110442477A (zh) * 2019-06-26 2019-11-12 苏州浪潮智能科技有限公司 一种区分同步复制和异步复制的方法、设备及可读介质
JP2021086159A (ja) * 2019-11-25 2021-06-03 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御プログラム
US11853585B2 (en) * 2020-01-27 2023-12-26 International Business Machines Corporation Performing a point-in-time snapshot copy operation within a data consistency application
US11775395B2 (en) * 2020-01-27 2023-10-03 International Business Machines Corporation Withdrawing a point-in-time snapshot copy operation within a data consistency application
CN114924808B (zh) * 2022-05-12 2023-03-14 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法
CN117251119B (zh) * 2023-11-16 2024-02-13 苏州元脑智能科技有限公司 位图处理方法、装置、计算机设备、控制系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248606A (ja) 2001-12-27 2003-09-05 Hitachi Ltd 記憶装置を応用したコピー管理の方法と装置
US20050071708A1 (en) 2003-09-29 2005-03-31 International Business Machines (Ibm) Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
JP2006119688A (ja) 2004-10-19 2006-05-11 Hitachi Ltd 記憶デバイスの更新を制御するシステム及び方法
JP2010026939A (ja) 2008-07-23 2010-02-04 Hitachi Ltd 記憶制御装置及び方法
US20120079224A1 (en) 2010-09-29 2012-03-29 International Business Machines Corporation Maintaining mirror and storage system copies of volumes at multiple remote sites
US20120254114A1 (en) 2011-03-30 2012-10-04 International Business Machines Corporation Method and system for replicating data

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707272B1 (en) 2001-01-19 2010-04-27 Datacore Software Corporation Method and apparatus for asynchronous mirroring using TCP/IP internet protocol
US20090259817A1 (en) 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US20070094465A1 (en) 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Mirroring mechanisms for storage area networks and network based virtualization
US7069402B2 (en) 2003-06-02 2006-06-27 International Business Machines Corporation Host-independent incremental backup method, apparatus, and system
US20040260735A1 (en) 2003-06-17 2004-12-23 Martinez Richard Kenneth Method, system, and program for assigning a timestamp associated with data
US7043665B2 (en) 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US20050177693A1 (en) 2004-02-10 2005-08-11 Storeage Networking Technologies Asynchronous mirroring in a storage area network
US20070234105A1 (en) 2006-03-31 2007-10-04 Quinn Brett A Failover to asynchronous backup site in connection with triangular asynchronous replication
JP4942418B2 (ja) 2006-08-04 2012-05-30 株式会社日立製作所 計算機システム及びそのスナップショット作成方法
US8745006B2 (en) 2009-04-23 2014-06-03 Hitachi, Ltd. Computing system and backup method using the same
US20120254124A1 (en) 2011-03-30 2012-10-04 International Business Machines Corporation System, method, and computer program product for disaster recovery using asynchronous mirroring
US9405704B2 (en) * 2012-10-16 2016-08-02 International Business Machines Corporation Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
US9251230B2 (en) * 2012-10-17 2016-02-02 International Business Machines Corporation Exchanging locations of an out of synchronization indicator and a change recording indicator via pointers
US9235355B2 (en) 2013-04-04 2016-01-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Reverse mirroring in raid level 1
US20150081628A1 (en) 2013-09-17 2015-03-19 International Business Machines Corporation Flashcopy reservation for flashcopy onto a synchronously-mirrored source
US10372546B2 (en) * 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
CN105718220A (zh) 2015-06-28 2016-06-29 巫立斌 一种跨阵列镜像方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248606A (ja) 2001-12-27 2003-09-05 Hitachi Ltd 記憶装置を応用したコピー管理の方法と装置
US20050071708A1 (en) 2003-09-29 2005-03-31 International Business Machines (Ibm) Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
JP2006119688A (ja) 2004-10-19 2006-05-11 Hitachi Ltd 記憶デバイスの更新を制御するシステム及び方法
JP2010026939A (ja) 2008-07-23 2010-02-04 Hitachi Ltd 記憶制御装置及び方法
US20120079224A1 (en) 2010-09-29 2012-03-29 International Business Machines Corporation Maintaining mirror and storage system copies of volumes at multiple remote sites
US20120254114A1 (en) 2011-03-30 2012-10-04 International Business Machines Corporation Method and system for replicating data

Also Published As

Publication number Publication date
JP2020502635A (ja) 2020-01-23
GB201908513D0 (en) 2019-07-31
CN110023912B (zh) 2023-04-07
US20180157421A1 (en) 2018-06-07
GB2571871A (en) 2019-09-11
GB2571871B (en) 2020-03-04
WO2018100455A1 (en) 2018-06-07
US10162563B2 (en) 2018-12-25
CN110023912A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
JP7004714B2 (ja) 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法
CN110998538B (zh) 一致性组中一致性时间点快照副本的异步本地和远程生成
US10956289B2 (en) Switching over from using a first primary storage to using a second primary storage when the first primary storage is in a mirror relationship
US10146453B2 (en) Data migration using multi-storage volume swap
CN107533499B (zh) 用于在存储系统之间执行故障转移的方法和系统
US10824364B2 (en) Point-in-time snap copy on asynchronous consistency group management
US10915406B2 (en) Storage unit replacement using point-in-time snap copy
US9213752B2 (en) Asynchronous pausing of the formation of consistency groups
US11347604B2 (en) Point-in-time snap copy withdrawal management
US11221955B2 (en) Metadata track selection switching in a data storage system
CN111684407B (zh) 多个数据存储系统中的同步安全数据提交扫描
US10528593B2 (en) Consistent point-in-time copy of a consistent asynchronous mirror target without pausing a consistent asynchronous mirror copy
US10936194B2 (en) Storage device status management for conflict avoidance in a data storage system
US11468091B2 (en) Maintaining consistency of asynchronous replication

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190823

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220104

R150 Certificate of patent or registration of utility model

Ref document number: 7004714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150