JP6341918B2 - ストレージを含むデータをコピーするためのコンピュータ・プログラム、システム、および方法 - Google Patents

ストレージを含むデータをコピーするためのコンピュータ・プログラム、システム、および方法 Download PDF

Info

Publication number
JP6341918B2
JP6341918B2 JP2015536275A JP2015536275A JP6341918B2 JP 6341918 B2 JP6341918 B2 JP 6341918B2 JP 2015536275 A JP2015536275 A JP 2015536275A JP 2015536275 A JP2015536275 A JP 2015536275A JP 6341918 B2 JP6341918 B2 JP 6341918B2
Authority
JP
Japan
Prior art keywords
target
logical address
source
copy
track
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
JP2015536275A
Other languages
English (en)
Other versions
JP2015531522A (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 JP2015531522A publication Critical patent/JP2015531522A/ja
Application granted granted Critical
Publication of JP6341918B2 publication Critical patent/JP6341918B2/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/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
    • 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/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • 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
    • 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/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
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive

Description

本発明は、ソース論理アドレスおよびターゲット論理アドレスとして表されるポイント・イン・タイム・コピー関係における更新の管理およびデータのコピーのためのコンピュータ・プログラム、システム、および方法に関する。
ストレージ環境において、データの冗長コピーを提供する、またはある時点においてデータを記憶するために、ボリュームが他のボリュームにコピーされ得る。スナップショットは、すべてのデータのポイント・イン・タイム(PiT)コピーを作成する能力を意味する一般的な業界用語である。一般的に、スナップショットの作成は、すぐに行われ、スナップショットが作成された時点でデータを維持するために、データは、変更されたときのみコピーされ、これは、コピー・オン・ライトと呼ばれる。さらに、バックグラウンド・コピー操作は、ソース・データの冗長コピーを提供するために、バックグラウンドでソース・データをターゲット・サイトにコピーするように指定され得る。スナップショットまたはPiTコピーは、たとえばIBM FlashCopy(R)などのPiTコピー技法を使用して作成され得る(FlashCopyは、International Business Machines, Corp.すなわち「IBM」の登録商標である)。
ソース・データとターゲット・データとの間のPiTコピー関係を確立するために、IBM z/OS(R)オペレーティング・システムで利用可能なIBM Data Facility Storage Management Subsystem(DFSMS)は、ユーザがターゲット・ボリュームにコピーするソース・ボリュームを指定することができるFlashCopy確立(FCESTABL)コマンドを提供する。更新されるソース・ボリューム内のデータをコピーするだけである、またはターゲット・ボリュームに対するソース・ボリュームのバックグラウンド・コピーを実行することを、ユーザは指定することができる(z/OSは、米国および他の国におけるIBMの登録商標である)。
FCESTABLコマンドによって、ユーザは、ソース・ボリュームおよびターゲット・ボリュームのすべて未満である隣接するトラックを含むPiTコピーのための範囲のリストを指定することもできる。FCESTABLコマンドで指定される範囲は、シリンダおよびヘッド番号で指定され得る、ソースおよびターゲット・デバイス上の第1および最後のトラックを示す。
PiTコピー関係を確立し、関係が確立された後、PiTコピー関係を管理するための改良された技法が当技術分野において必要である。
ソース論理アドレスおよびターゲット論理アドレスとして表されるポイント・イン・タイム・コピー関係における更新の管理およびデータのコピーのためのコンピュータ・プログラム製品、システム、および方法が提供される。コピー関係は、少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示す。ソース論理アドレスは、ソース・トラックにマッピングし、この場合、ターゲット論理アドレスは、ターゲット・トラックにマッピングする。コピー関係の一部として対応するターゲット論理アドレスにコピーされなかった論理アドレスのソース・セット内のソース論理アドレスに対する更新が受信される。コピー関係に従って更新されるソース論理アドレスに対応するターゲット論理アドレスの決定が行われる。決定されたターゲット論理アドレスを含むターゲット・セット内のターゲット論理アドレスのターゲット・グループの決定が行われ、この場合、ターゲット・グループ内のターゲット論理アドレスは、ターゲット・セット内にある。ターゲット・グループ内のターゲット論理アドレスに対応するソース・セット内のソース論理アドレスの決定が行われる。決定されたソース論理アドレスは、決定されたターゲット・グループ内のターゲット論理アドレスにコピーされる。
さらなる実施形態では、ターゲット・セット内のターゲット論理アドレスにソース・セット内のソース論理アドレスをコピーするためのコピー操作が開始される。コピー操作の開始に応答して更新されなかったターゲット・セット内のターゲット論理アドレスが選択される。選択されたターゲット論理アドレスにコピーされるソース論理アドレスのソース・セットからの決定が行われる。決定されたソース論理アドレスは、選択されたターゲット論理アドレスにコピーされる。
コンピューティング環境の一実施形態を示す図である。 PiTコピー関係を確立するためのPiTコピー確立コマンドの一実施形態を示す図である。 ソース/ターゲット関係情報の一実施形態を示す図である。 PiTコピー関係のコピー・マップの一実施形態を示す図である。 PiTコピー関係を確立するための動作の一実施形態を示す図である。 PiTコピー関係を確立するための動作の一実施形態を示す図である。 PiTコピー関係におけるソース論理アドレスに対する更新を処理するための動作の一実施形態を示す図である。 PiTコピー関係についてのバックグラウンド・コピー操作を実行するための動作の一実施形態を示す図である。
記載された実施形態は、ソースおよびターゲット論理アドレスの範囲を指定するPiTコピー関係におけるソース論理アドレスについての更新およびバックグラウンド・コピー操作を管理するための技法を提供する。記載された実施形態は、ソース論理アドレスおよびターゲット論理アドレスのマッピングを使用して、PiTコピー関係におけるソース論理アドレスを更新するとき、ターゲット・トラックにコピーするためにソース論理アドレスを決定する。記載された実施形態は、PiTコピー関係におけるターゲット論理アドレスを有する指定されたターゲット・トラックにソース論理アドレスをコピーするためのバックグラウンド・コピー操作中に、PiTコピー関係におけるソース論理アドレスをターゲット論理アドレスにコピーするための技法をさらに提供する。記載された実施形態は、ソースおよびターゲット・データが論理アドレスとして表されるとき、ならびにソースおよびターゲット論理アドレスの異なる範囲が指定されるとき、PiTコピー関係におけるソース論理アドレスについての更新およびバックグラウンド・コピー操作を管理することができる。
図1は、1つまたは複数の論理的ボリューム6aを有する結合されたソース・ストレージ4aから1つまたは複数のボリューム6bを有する結合されたターゲット・ストレージ4bにデータをコピーするためにコントローラ2を有するコンピューティング環境の一実施形態を示す。コントローラ2は、プロセッサ8およびメモリ10を含む。ホスト(図示せず)は、第1のストレージ4aおよび第2のストレージ4b内のトラックにアクセスするように、第1のコントローラ6aに読取りおよび書込み要求を向け得る。ポイント・イン・タイム(「PiT」)コピー関係16における第1のストレージ4a内のトラックへのホストの書込みは、結果として、第2のストレージ4bへのそのトラックの複製になり得る。さらなる態様では、ターゲット・ストレージ4bは、ターゲット・コントローラに結合され得、したがって、コントローラ2は、ターゲット・ストレージ4bへのコピーを管理するために、ターゲット・コントローラにコピーされるPiTデータを伝達することになる。コントローラ2は、ネットワーク11を介してストレージ4a、4bと通信することができる。
メモリ10は、1つまたは複数のPiTコピー関係14で指定されるように、ソース・ストレージ4aからターゲット・ストレージ4bにデータをコピーするためのコピー・マネージャ12を含む。コピー関係14は、ターゲット・ボリューム6b内のターゲット・論理アドレスにコピーするソース・ボリューム6a内のソース論理アドレスを識別することができる。あるいは、PiTコピー関係14におけるソースとターゲットの両方の論理アドレスは、ストレージ4a、4bのうちの一方の同じボリュームにあってもよい。コピー関係14におけるコピーするデータは、整合性セッションまたは整合性グループの一部であり得、したがって、データは、すべての依存するデータにわたる整合性を維持する方法でコピーされ、依存する書込みの順序は、ある時点でデータを整合させるように保存される。
PiTコピー関係14は、コピー操作に関与するソースおよびターゲットのトラックに関する情報を両方とも提供するソース関係情報20およびターゲット関係情報22を含む。この情報は、I/O要求がPiTコピー操作に関与するトラックに対するものかどうかを判断するために、ソースおよびターゲット・ボリュームに対するI/O要求を管理するために使用される。PiTコピー関係14は、ソース・セット内のソース論理アドレスがコピーされる必要があるターゲット・ボリューム6b内のトラックを示すコピー・マップ24をさらに含む。
コピー・マネージャ12は、たとえばIBM FlashCopy(R)スナップショットなどのPiTプログラム、および他のPiTプログラムを実施して、同じまたは異なるボリューム内の指定されたソース論理アドレスとターゲット論理アドレスとの間のPiTコピー操作を実行することができる(FlashCopyは、International Business Machines, Corp.または「IBM」の登録商標である)。PiTコピー操作は、ソース・ボリューム6a内の論理アドレスのサブセットを含むソース論理アドレスのソース・セットと、ターゲット・ボリューム6b内の論理アドレスのサブセットを含むターゲット論理アドレスのターゲット・セットとの間であり得る。論理アドレスは、ボリューム6a、6bにおける隣接するトラックにマッピングする論理ブロック・アドレス(LBA)を含み得る。
コピー・マネージャ12は、メモリ10にロードされ、プロセッサ8によって実行されるプログラム・コードとして図1に示される。あるいは、コピー・マネージャ12の機能の一部もしくは全部は、たとえば特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、コントローラ6a、6bにおけるハードウェア・デバイスで実施され得る。コントローラ2は、オペレーティング・システムおよびアプリケーション・プログラムなど、図示されていない他のプログラムを含むことができる。
メモリ10は、1つまたは複数の揮発性または不揮発性の記憶装置、たとえばダイナミック・ランダム・アクセス・メモリ(DRAM)、ランダム・アクセス・メモリ(RAM)、または不揮発メモリ、たとえば、バッテリ・バックアップ・ランダム・アクセス・メモリ(RAM)、スタティックRAM(SRAM)、固体記憶装置(SSD)などを含み得る。
ストレージ4a、4bは、たとえば相互接続された記憶装置など、当技術分野で知られている1つまたは複数の記憶装置をそれぞれ含み、記憶装置は、ハード・ディスク・ドライブ、たとえばEEPROM(電気的消去可能プログラマブル読取り専用メモリ)、フラッシュ・メモリ、フラッシュ・ディスク、ランダム・アクセス・メモリ(RAM)ドライブ、ストレージ・クラス・メモリ(SCM)などの固体電子機器からなる固体記憶装置(SSD)、磁気記憶ディスク、光ディスク、テープなどを含み得る。ストレージ4aおよび4bは、トラックの刻み幅がストレージ4a、4bのランクを含む複数の記憶装置にわたって書き込まれるRedundant Array of Independent Disks(RAID)構成でトラックを記憶することができる。
ネットワーク11は、たとえばローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、広域ネットワーク(WAN)、ピア・ツー・ピア・ネットワーク、ワイヤレス・ネットワークなどのネットワークを含み得る。
図2は、コピー・マネージャ12にPiTコピー関係14を生成させるために、コントローラ2内で、または取り付けられたホストからサブミットされるPiTコピー確立コマンド50の一実施形態を示す。PiTコピー確立コマンド50は、PiTコピー確立コマンドを指定するコマンド・フィールド52と、コピーされる第1のソース論理アドレス54と、コピーされる最後のソース論理アドレス56と、第1のソース論理アドレス54がコピーされる第1のターゲット論理アドレス58と、最後のソース論理アドレス56がコピーされる最後のターゲット論理60と、たとえばソース論理アドレスをターゲット論理アドレスにコピーするためのバックグラウンド操作が実行されるかどうかを示し、コピーされた後、ソース論理アドレスが持続的なままであるかどうかを示すバックグラウンド・コピー・パラメータなど他のパラメータ62とを含む。コマンド50は、さらに、確立されるPiTコピー関係14におけるソース論理アドレスを含むソース・ボリューム6aおよびターゲット論理アドレスを含むターゲット・ボリューム6bを示す。コピー操作が実行されている、たとえばソース6aおよびターゲット6bのボリューム、または単一のボリューム6a、6bなど、追加の情報がさらに示され得る。ソースおよびターゲット論理アドレスは、論理的ボリューム以外のデータ記憶装置に記憶され得る。第1 54および最後56のソース論理アドレスの範囲から、コピーする論理アドレスの数が決定され得る。
PiTコピー確立コマンド50を処理するとき、コピー・マネージャ14は、図3および図4に示されるように、PiTコピー関係14についてのデータ構造および情報を生成する。
図3は、ソース20およびターゲット22の関係情報に含まれるフィールド70を示し、フィールド70は、情報についてのPiTコピーを識別するPiTコピー識別子(ID)72と、コピーする第1のソース論理アドレス54を含む第1のソース論理アドレス74と、第1のソース論理アドレス74がコピーされる第1のターゲット論理アドレス76と、たとえばフィールド58などにおけるコピーする論理アドレスの数78に関係する長さと、たとえばフィールド60に含まれる他のパラメータ80とを含む。あるいは、コピーする論理アドレスの数78は、たとえばコピーするターゲット・トラックの数または範囲など、他の記憶単位で表され得る。ソースおよびターゲット関係情報70は、さらに、関係14のソース論理アドレスを含むソース・ボリューム6aおよびターゲット論理アドレスを含むターゲット・ボリューム6bを示すことになる。ソースおよびターゲット関係情報70は、PiTコピー関係14がアクティブである間、それぞれ、ソース6aおよびターゲット6bのボリュームへのアクセスを管理するために使用され得る。
図4は、コピー・マップ24の一実施形態を示し、コピー・マップは、論理アドレスのターゲット・セットを含む、ターゲット・ボリューム6b内の各トラックまたはターゲット位置のセルを含むビットマップを含み得る。ソース論理アドレスを受信するターゲット論理アドレスのターゲット・セットを含むターゲット・トラックのセルは、たとえば「1」など、コピーを示すように設定される。PiTコピー関係の一部ではない、すなわちターゲット・セットを含むターゲット・トラックを除く、ターゲット・ボリューム6b内のトラックを表すセルは、たとえば「0」など、それらがコピーされないことを示すための値を有し得る。他の値および設定は、確立されるPiTコピー関係の一部として、コピーするトラック、およびコピーされないトラックを示すために使用され得る。したがって、コピーすることを示すために設定された各セルは、コピー操作に関与する複数のターゲット論理アドレスを表す。
コピー・マップ24におけるセル、またはインジケータは、コピー関係のトラック14に関与するターゲット論理アドレスを含む、ターゲット論理アドレスのターゲット・グループを各々表し得る。コピー・マップ24におけるインジケータ、またはセルによって表されるターゲット・グループは、トラック以外の論理アドレスのグループ化を各々表し得る。さらなる態様では、コピー・マップ24は、コピーする論理アドレスのソース・セットを有するソース・ボリューム6a内のトラックを示し得る。
図3、図4、図5および図6は、PiTコピー確立コマンドに含まれる情報、ソースおよびターゲット関係情報、ならびにコピー・マップの一実施形態を提供する。これらのデータ構造およびコマンドに含まれるものとして記載されているこの情報は、限定的であると見なされず、追加のおよび変更された情報が異なる実施形態に含まれ得る。さらに、図3、図4、図5および図6に記載されている情報は、追加のコマンドおよびデータ構造に分けられ得る。
図5および図6は、FlashCopy確立コマンド、たとえばFCESTABLなど、PiTコピー関係14を確立するためのPiTコピー確立コマンド50を処理するために、コピー・マネージャ12によって実行される動作の一実施形態を示す。図5に関して、コピー・マネージャ12は、(ブロック100で)第1のソース論理アドレス54および最後のソース論理アドレス56ならびに第1のターゲット論理アドレス58および最後のターゲット論理アドレス60を示すPiTコピー確立コマンド50を受信する。コピー・マネージャ12は、(ブロック102で)第1のソース論理アドレス54を含む第1のソース・トラック、およびデータがコピーされる第1のターゲット論理アドレス56を含む第1のターゲット・トラックを決定する。コピー・マネージャ12は、ボリューム・マップを使用して、ストレージ4a、4b内のトラックに対する論理アドレスのマッピングを決定することになる。コピー・マネージャ12は、(ブロック104で)コピーする論理アドレスのソース・セットに対する入力/出力(I/O)操作を休止する(quiesce)。次いで、コピー・マネージャ12は、(ブロック106で)第1のソース・トラック74、第1のターゲット・トラック76、およびコピーする論理ブロック・アドレスに関連した長さ78を示すソース関係情報20を生成する。コピー・マネージャ12は、さらに、(ブロック108で)更新される論理アドレスのターゲット・セットに対するI/O操作を休止する。コピー・マネージャ12は、(ブロック110で)第1のソース論理アドレス74、第1のターゲット論理アドレス76、およびコピーする論理アドレスの数78を示すターゲット関係情報24を生成する。ブロック104および108の休止操作で、コピー・マネージャ12は、コピーする論理アドレスの決定されたソース・セットおよびターゲット・セットのみに対するI/O、または論理アドレスのソースおよびターゲット・セットを含むトラックに対するI/Oを休止し得る。あるいは、I/Oの休止は、ボリューム6a、6b全体に対することができる。
コピー・マネージャ12は、(ブロック112で)トラックなど、複数の論理ブロック・アドレスを各インジケータが表す、たとえばセルなどのインジケータを含むコピー・マップ24を生成する。コピー・マネージャ12は、(ブロック114で)ターゲット論理アドレスのターゲット・セットを含むトラックを表すコピー・マップ24におけるインジケータを含むコピー・インジケータを決定する。図6に関して、コピー・マネージャ12は、(ブロック120で)ターゲット・セットを含むトラックの範囲における第1のターゲット・トラックまたは最後のターゲット・トラックの一部のみが、ターゲット・セット内のターゲット論理アドレスを含むかどうかを判断する。そうでない場合、これは、コピーするソース論理アドレスが、論理アドレスのターゲット・セットを含む各トラックを並べ、満たすことを意味し、コピー・マネージャ12は、(ブロック122で)すべてのコピー・インジケータを、コピー・インジケータによって表されるターゲット・トラックにマッピングするソース論理アドレスがコピーされる必要があることを示すように設定する。
(ブロック120の「はい」分岐から)第1または最後のターゲット・トラックの一部のみが、ターゲット・トラック内の論理アドレスを含んでいる場合、コピー・マネージャ12は、PiTコピー関係14を確立する一部として、ターゲット・セット論理アドレスを部分的のみ含むターゲット・トラックのデータをコピーする。コピー・マップ24は、確立コマンドの一部として更新された第1または最後のターゲット・トラックをコピーすることを示さない。このように、コピー・マップ24は、PiTデータを部分的に含むターゲット・トラックがコピーされる必要があることを示さないので、ターゲット・セット内の論理アドレスを含まないターゲット・トラックの一部への書込みは、PiT関係の一部としてコピーされない。(ブロック126で)第1のターゲット・トラックの一部のみが、ターゲット・セット内の論理アドレスを含んでいる場合、コピー・マネージャ12は、(ブロック128で)第1のターゲット・トラックに対してマッピングするソース論理アドレスを第1のターゲット・トラックにコピーする。(ブロック130で)最後のターゲット・トラックの一部のみが、ターゲット・セット内の論理アドレスを含んでいる場合、または(ブロック126の「いいえ」分岐から)第1のターゲット・トラックが、部分的に限らずターゲット・セットの論理アドレスを記憶する場合、コピー・マネージャ12は、(ブロック132で)最後のターゲット・トラックに対してマッピングするソース・セット内のソース論理アドレスを最後のターゲット・トラックにコピーする。
(ブロック132、またはブロック130の「いいえ」分岐から)第1または最後あるいはその両方のターゲット・トラックの論理アドレスをコピーした後、コピー・マネージャ12は、(ブロック134で)コピー・インジケータを、更新される第1のターゲット・トラックまたは最後のターゲット・トラックあるいはその両方を除いて、たとえば1など、コピー・インジケータによって表されるターゲット・トラックのソース論理アドレスがコピーされる必要があることを示すように設定する。ブロック128または132あるいはその両方で更新される第1または最後あるいはその両方のターゲット・トラックのコピー・インジケータは、ソース・トラックがコピーされる必要があることを示すように設定されない。たとえばコピー・マップ24など、(ブロック122または130から)PiT関係情報およびデータ構造を生成した後、および(ブロック134から)部分的に満たされた第1または最後あるいはその両方のターゲット・トラックにマッピングする、ソース・セット内のソース論理アドレスをコピーした後、(ブロック138で)PiTコピー確立コマンド50を開始したアプリケーションまたはユーザに全部が戻される。
コピー・マップ24が論理アドレスのソース・セットを有するソース・トラックを示す代替の実施形態では、ソース論理アドレスのソース・セットが、論理アドレスのソース・セットの一部を含む第1のソース・トラックまたは最後のソース・トラックあるいはその両方の一部のみにマッピングする場合、PiT論理アドレスで部分的のみ満たされた第1のソース・トラックまたは最後のソース・トラックあるいはその両方は、PiT確立関係操作の一部として、対応するターゲット・トラックのうちの少なくとも1つにコピーされる。そのような場合、コピー・マップ24は、第1または最後あるいはその両方のソース・トラックがコピーされる必要があることを示さない。さらに、この代替の実施形態では、第1のソース・トラックまたは最後のソース・トラックあるいはその両方を対応するターゲット・トラックにコピーすることに応答して、仮想コピー確立コマンドへの全部の戻りが行われる。
PiTコピー関係14が確立された後、ホスト(図示せず)は、確立されたPiTコピー関係14のうちの1つにおけるデータを含むソース・ボリューム6a内のソース論理アドレスについてのコントローラ2への書込みをサブミットすることができる。ターゲット・ボリューム6bにコピーされなかったPiTコピー関係14におけるソース論理アドレスへのデータの書込みは、PiT関係を維持するように、それらが更新される前に、コピー関係14におけるソース論理アドレスのデータをターゲット・ストレージ4bにコピーするために、コピー・オン・ライト操作を実行するようコピー・マネージャ12をトリガする。
いくつかの記載された実施形態では、コピー関係14におけるソース論理アドレスへの書込みを受信すると、コピー・マネージャ12は、更新するソース論理アドレスを含む、たとえばターゲット・トラックなど、同じくコピー関係14におけるターゲット論理アドレスのターゲット・グループを決定する。コピー・マネージャ12は、ターゲット・グループ内のターゲット論理アドレスに対応するソース論理アドレスを決定し、決定されたソース論理アドレスを決定されたターゲット・グループにコピーする。このようにして、関係情報70におけるソースおよびターゲット論理アドレスのマッピングは、ターゲット・ストレージ4bにコピーされる必要があるコピー関係14におけるソース論理アドレスを決定するために使用される。いくつかの記載された実施形態において、ソース・セット内のソース論理アドレスは、デステージ・グループ内のソース論理アドレスによって更新される論理アドレスのターゲット・セットを含むターゲット・トラックとは異なる番号をつけられたトラックであり得るソース・トラックにあるので、このタイプのマッピングが実行される。
図7は、ソース・ボリューム6a内のソース論理アドレスに対する更新を処理するためにコピー・マネージャ12によって実行される動作の一実施形態を示す。書込み要求が複数のソース論理アドレスに向けられる場合、図7の動作は、書込みでソース論理アドレスごとに実行され得る。(ブロック200で)更新を受信すると、コピー・マネージャ12は、更新するソース論理アドレスが、1つのPiTコピー関係14において、第1のソース論理アドレス74および数論理アドレス78(図3)によって定義されるように、ソース論理アドレスの範囲内にあるかどうかを判断する(ブロック202で)ために、ソース関係情報20を検討する。そうでない場合、コピー・マネージャ12は、(ブロック204で)更新をソース・ボリューム6aにコピーする。(ブロック202で)更新するソース論理アドレスが1つのPiTコピー関係14にある場合、コピー・マネージャ12は、(ブロック206で)更新されているソース論理アドレスによって更新されるターゲット・セット内のターゲット論理アドレスを含むターゲット・トラックを決定する。これは、第1のソース論理アドレス74、第2のターゲット論理アドレス76、およびコピーする数論理アドレス78によって定義されるように、ソース論理アドレスおよびターゲット論理アドレスの範囲から更新するソース論理アドレスに対応するターゲット論理アドレスを決定することによって、ターゲット関係情報22から決定され得る。
コピー・マネージャ12は、次いで(ブロック208で)、検討されるPiTコピー関係14のコピー・マップ24が、決定されたターゲット、たとえば、ターゲット・グループなどのトラックが更新されたことを示すかどうか、すなわち、決定されたターゲット・トラックまたはターゲット・グループのビットまたはインジケータが、ターゲット・トラックが更新されたことを示すかどうかを決定する。インジケータは、トラックが更新される必要があることをそれが示していない場合、またはトラックがカレントであることを示す値をそれが有する場合、トラックが更新されたことを示し得る。(ブロック208の「はい」分岐から)更新するソース論理アドレスがコピーされることになっている決定されたターゲット・トラックが更新された場合、ソース論理アドレスについてのPiTデータは、決定されたターゲット・トラック(ターゲット・グループ)にすでにコピーされており、制御は、更新をソース・ボリューム6a内のソース論理アドレスに書き込むために、ブロック204に進む。
(ブロック208で)決定されたターゲット・トラックが更新されなかったことをコピー・マップ24が示す場合、コピー・マネージャ12は、(ブロック210で)更新するターゲット論理アドレスを有する決定されたターゲット・トラック内のターゲット論理アドレスを決定する。コピー・マネージャ12は、(ブロック212で)少なくとも1つのターゲット・トラック内のターゲット論理アドレスにコピーされるソース・セット内のソース論理アドレスを決定する。決定されたソース論理アドレスは、次いで(ブロック214で)、ターゲット・トラックまたはターゲット・グループ内の決定されたターゲット論理アドレスにコピーされる。更新されたターゲット・トラックのためのコピー・マップ24における少なくとも1つのコピー・インジケータは、(ブロック216で)少なくとも1つのターゲット・トラックが更新されたことを示すように設定される。ターゲット・トラックが更新された後、制御は、更新をソース論理アドレスに適用するためにブロック204に進む。
図7の記載された実施形態で、一緒にデステージされるソース論理アドレスを含むソース・トラックを決定することによって、ソース論理アドレスに対する更新が処理される。次いで、一緒にデステージされるソース論理アドレスを有するターゲット・トラックが決定され、次いで、ソース論理アドレスは、更新されたソース・トラックのコピー・オン・ライトの実行の一部として、コピー関係における対応するターゲット論理アドレスにコピーされる。
ひとたびソース論理アドレスの少なくとも1つのターゲット・トラックへのコピーが確認されると、更新するソース論理アドレスを有するソース・トラックは、ソース・トラックにデステージされ、その結果、ポイント・イン・タイム・データは、デステージされ、より新しいデータで上書きされない。
図8は、確立コマンド50がバックグラウンド・コピー操作62を示す場合、バックグラウンド・コピー操作の一部として、コピー関係におけるターゲット論理アドレスにソース論理アドレスをコピーするために、コピー・マネージャ12によって実行される動作の一実施形態を示す。バックグラウンド・コピー操作は、ソース論理アドレスの冗長なコピーを提供するために、PiTコピー関係14におけるすべてのソース論理アドレスをターゲット・ボリューム6bにコピーするために実行される。(ブロック250で)バックグラウンド・コピー操作を開始すると、コピー・マネージャ12は、(ブロック252で)たとえば、更新されなかったトラックなどのターゲット論理アドレスを表すコピー・マップ24における1つのインジケータ、たとえばビットを選択する。コピー・マネージャ12は、ターゲット・ボリューム6b内の連続したターゲット・トラックを更新するために、最後の選択されたビットにコピー・マップ24において隣接するコピー・マップ24のビットを選択することができる。コピー・マネージャ12は、(ブロック254で)選択されたターゲット論理アドレスにコピーされるソース論理アドレスをソース・セットから決定する。これは、選択されたターゲット論理アドレスに対応するソース範囲内のソース論理アドレスを決定することによって、ソース関係情報20で定義されたソースおよびターゲットの論理アドレス範囲からのソース関係情報20から決定され得る。
決定されたソース論理アドレスは、(ブロック256で)選択されたターゲット・トラックにコピーされ、次いで、コピー・マップ24における選択されたインジケータは、(ブロック258で)ターゲット・トラックが更新されたことを示すように設定される。
記載された実施形態は、PiTコピー確立操作が、それぞれ指定されたソースおよびターゲット論理ブロック・アドレスを有するソースおよびターゲット・トラックにマッピングするソースおよびターゲット論理アドレスを指定することができるようにするための技法を提供する。記載された実施形態では、ソース論理アドレスを含むソース・トラックの第1または最後あるいはその両方は、コピーするソース論理アドレスの一部のみを有し得、ターゲット論理アドレスを含むターゲット・トラックの第1および最後は、ターゲット論理アドレスの一部のみを有し得る。このような場合、第1または最後あるいはその両方のターゲット・トラックの一部のみに対してマッピングするソース論理アドレスは、確立操作中、第1または最後あるいはその両方のターゲット・トラックにコピーされる。さらに、ソース・トラックで更新される必要があるターゲット・トラックを示すコピー・マップは、確立操作中にソース論理アドレスがコピーされる第1または最後あるいはその両方のターゲット・トラックについて、データがコピーされる必要があることを示さない。
記載された実施形態は、PiTコピー関係におけるソース論理アドレスに対する更新を扱うための技法をさらに提供する。ソース・トラックは、更新されたソース論理アドレスを含む、たとえばトラックなど、デステージ・グループにおいてデステージされるので、記載された実施形態は、デステージされるソース・トラック内のソース論理アドレスによって更新されるPiTコピー関係におけるターゲット論理アドレスを有するターゲット・トラックを決定する。次いで、ソース論理アドレスは、PiTコピー関係における決定された少なくとも1つのターゲット・トラック内の対応するターゲット論理アドレスにコピーされる。
記載された実施形態は、ターゲット・トラックを表すコピー・インジケータを決定し、PiTコピー関係におけるターゲット・トラック内のターゲット論理アドレスにマッピングするソース論理アドレスを決定し、次いで、決定されたソース論理アドレスをターゲット・トラックにコピーすることによって、PiTコピー関係におけるソース論理アドレスのバックグラウンド・コピー操作を実行するための技法をさらに提供する。記載された実施形態は、ソースおよびターゲット・データが論理アドレスとして表されるとき、ならびにソースおよびターゲット論理アドレスの異なる範囲が指定されるとき、PiTコピー関係におけるソース論理アドレスについての更新およびバックグラウンド・コピー操作を管理することができる。
記載された動作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成する標準のプログラミングまたはエンジニアリング技法あるいはその両方を使用して、方法、装置、またはコンピュータ・プログラム製品として実装され得る。したがって、実施形態の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐のソフトウェア、マイクロ・コードなどを含む)、または本明細書においてすべて一般に「回路」、「モジュール」または「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの態様を結合する実施形態の形をとり得る。さらに、実施形態の態様は、コンピュータ可読プログラム・コードが組み込まれる1つまたは複数のコンピュータ可読媒体で具現化されるコンピュータ・プログラム製品の形をとり得る。
1つまたは複数のコンピュータ可読媒体の任意の組合せが使用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体でもよい。コンピュータ可読記憶媒体は、たとえば、それだけには限定されないが、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のうちの任意の適した組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例(包括的でないリスト)は、1つまたは複数のワイヤを含む電気接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読取り専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、または前述の任意の適した組合せを含む。本文書の文脈で、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスが使用するための、またはそれに関連したプログラムを含むまたは記憶することができる任意の有形の媒体であり得る。
コンピュータ可読信号媒体は、たとえば、ベースバンドにおいて、または搬送波の一部として、そこに組み込まれるコンピュータ可読プログラム・コードを有する伝搬されたデータ信号を含み得る。そのような伝搬された信号は、それだけには限定されないが、電磁気、光学、またはそれらの任意の適した組合せを含む様々な形のうちの任意の形をとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でない、命令実行システム、装置、またはデバイスが使用するための、またはそれに関連したプログラムを伝達、伝搬、またはトランスポートすることができる任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体に組み込まれるプログラム・コードは、それだけには限定されないが、ワイヤレス、有線、光ファイバ・ケーブル、RFなどを含む任意の適切な媒体または前述の任意の適した組合せを使用して送信され得る。
本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、およびたとえば「C」プログラミング言語または類似のプログラミング言語など従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラム・コードは、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータにおいて、および部分的にリモート・コンピュータにおいて、または完全にリモート・コンピュータもしくはサーバにおいて実行され得る。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してリモート・コンピュータがユーザのコンピュータに接続され得る、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対する接続が行われ得る。
本発明の態様は、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方に関して上で記載されている。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せがコンピュータ・プログラム命令によって実施され得ることを理解されよう。コンピュータまたは他のプログラム可能データ処理のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックで指定されている機能/行為を実施するための手段を作成するように、これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを生成するものであってよい。
コンピュータ可読媒体に記憶された命令により、フローチャートまたはブロック図あるいはその両方のブロックで指定されている機能/行為を実施する命令を含む製品を生成するように、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶され、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方法で機能するように指示するものであってよい。
また、コンピュータまたは他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで指定されている機能/行為を実施するためのプロセスを提供するように、コンピュータ実施プロセスを生成するために、コンピュータ・プログラム命令は、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにおいて一連の操作ステップを実行させるものであってよい。
「一実施形態」、「実施形態」、「複数の実施形態」、「本実施形態」、「複数の実施形態」、「1つまたは複数の実施形態」、「いくつかの実施形態」、および「1つの実施形態」という用語は、特に明記されない限り、「本発明の1つまたは複数の(しかしすべてではない)実施形態」を意味する。
「含む」、「備える」、「有する」、およびその変形の用語は、特に明記されない限り、「それには限定されないが、含む」ことを意味する。
列挙された項目のリストは、特に明記されない限り、項目のうちの任意のものまたは全部が相互に排他的であることを意味しない。
「a」、「an」および「the」という用語は、特に明記されない限り、「1つまたは複数」を意味する。
互いに通信しているデバイスは、特に明記されない限り、互いに連続通信である必要はない。さらに、互いに通信しているデバイスは、直接、または1つまたは複数の仲介物を介して間接的に通信することができる。
互いに通信しているいくつかの構成要素を有する一実施形態の説明は、すべてのそのような構成要素が必要とされることを意味しない。これに反して、様々な任意の構成要素は、本発明の多種多様な可能な実施形態を示すために記載されている。
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどが順番で記載され得るが、そのようなプロセス、方法、およびアルゴリズムは、別の順序で動作するように構成され得る。言い換えると、記載され得るステップの任意のシーケンスまたは順序は、ステップがその順序で実行されるという要件を必ずしも示すとは限らない。本明細書に記載されているプロセスのステップは、実際的な任意の順序で実行され得る。さらに、いくつかのステップは、同時に実行され得る。
単一のデバイスまたは物品が本明細書に記載されているとき、複数のデバイス/物品(それらが協働するかどうかにかかわらず)が単一のデバイス/物品の代わりに使用され得ることは容易に明らかである。同様に、複数のデバイスまたは物品(それらが協働するかどうかにかかわらず)が本明細書に記載されている場合、単一デバイス/物品が複数のデバイスもしくは物品の代わりに使用され得ること、または異なる数のデバイス/物品が示された数のデバイスまたはプログラムの代わりに使用され得ることは容易に明らかである。代わりに、デバイスの機能または特徴あるいはその両方が、そのような機能/特徴を有するものとして明確に記載されていない1つまたは複数の他のデバイスによって実施されてもよい。したがって、本発明の他の実施形態は、デバイス自体を含む必要はない。
図の示された動作は、ある順序で行われるいくつかのイベントを示す。代替の実施形態では、いくつかの動作は、異なる順序で実行され、変更され、または取り除かれ得る。さらに、ステップは、上述した論理に追加され、依然として記載された実施形態に従い得る。さらに、本明細書に記載されている動作は、順次に行われ得、またはいくつかの動作は、並行して処理され得る。さらに、動作は、単一の処理ユニットによって、または分散された処理ユニットによって実行され得る。
本発明の様々な実施形態の上記の説明は、図および説明の目的で示されている。それは網羅的であるものではなく、または本発明を開示される正確な形に限定するものではない。上記説明の観点から多くの変更および変形が可能である。

Claims (19)

  1. 少なくとも1つのストレージを含むデータをコピーするためのコンピュータ・プログラムであって、
    前記少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする前記少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示すコピー関係を提供することであり、前記ソース論理アドレスが、ソース・トラックにマッピングし、前記ターゲット論理アドレスが、ターゲット・トラックにマッピングする、前記コピー関係を提供することと、
    前記コピー関係の一部として対応するターゲット論理アドレスにコピーされなかった論理アドレスの前記ソース・セット内のソース論理アドレスに対する更新を受信することと、
    前記コピー関係に従って更新される前記ソース論理アドレスに対応する前記ターゲット論理アドレスを決定することと、
    前記決定されたターゲット論理アドレスを含む前記ターゲット・セット内のターゲット論理アドレスのターゲット・グループを決定することであり、前記ターゲット・グループ内の前記ターゲット論理アドレスが前記ターゲット・セットにある、前記ターゲット・グループを決定することと、
    前記ターゲット・グループ内の前記ターゲット論理アドレスに対応する前記ソース・セット内の前記ソース論理アドレスを決定することと、
    前記決定されたソース論理アドレスを、前記決定されたターゲット・グループ内の前記ターゲット論理アドレスにコピーすることと
    をコンピュータに実行させるコンピュータ・プログラム。
  2. ターゲット論理アドレスの前記ターゲット・セットを含むターゲット・ストレージ内の前記ターゲット論理アドレスが、前記決定されたターゲット・グループを含むターゲット・グループに配置される、請求項1に記載のコンピュータ・プログラム。
  3. 前記ターゲット・グループが、ターゲット・ストレージにおいて構成されるターゲット・トラックを含む、請求項1に記載のコンピュータ・プログラム。
  4. 動作が、
    前記ターゲット・グループの各々の1つのインジケータを含む複数のインジケータを含むコピー・マップを維持することであり、少なくとも1つのターゲット・グループを表す前記インジケータのうちの少なくとも1つが、前記コピー関係が確立されて以来、前記表された少なくとも1つのターゲット・グループ内の前記ターゲット論理アドレスが更新されていないことを示す、前記コピー・マップを維持すること
    をさらに含む、請求項2に記載のコンピュータ・プログラム。
  5. 更新する前記ソース論理アドレスに対応する前記ターゲット論理アドレスを前記決定すること、および前記決定されたターゲット論理アドレスを含む前記ターゲット・グループを前記決定することが、前記ソース論理アドレスに対する前記更新を受信することに応答して前記決定は実行され、
    前記決定されたターゲット・グループ内の前記ターゲット論理アドレスが前記コピー関係における前記対応するソース論理アドレスで更新されたことを前記決定されたターゲット・グループの前記インジケータが示すかどうかを、前記コピー・マップから判断することであり、前記ターゲット・グループが更新されなかったことを前記決定されたターゲット・グループの前記インジケータが示すことを決定することに応答して、前記決定されたソース論理アドレスをコピーする前記動作が実行される、前記判断すること
    をさらに含む、請求項4に記載のコンピュータ・プログラム。
  6. 前記ソース・セットを含む前記ソース・トラックが、論理アドレスの前記ターゲット・セットを含む前記ターゲット・トラックとは異なる番号をつけられたトラックである、請求項1に記載のコンピュータ・プログラム。
  7. 動作が、
    前記ソース・セット内の前記決定されたソース論理アドレスが前記決定されたターゲット・グループ内の前記決定されたターゲット論理アドレスにコピーされたことの承認を受信することに応答して、前記受信された更新を前記ソース論理アドレスに書き込むこと
    をさらに含む、請求項1に記載のコンピュータ・プログラム。
  8. 論理アドレスが論理ブロック・アドレス(LBA)を含み、前記ソース・トラックおよび前記ターゲット・トラックが同じボリューム、または前記少なくとも1つのストレージ内の異なるボリュームにある、請求項1に記載のコンピュータ・プログラム。
  9. 少なくとも1つのストレージを含むデータをコピーするためのコンピュータ・プログラムであって、
    前記少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする前記少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示すコピー関係を提供することであり、前記ソース論理アドレスが、ソース・トラックにマッピングし、前記ターゲット論理アドレスが、ターゲット・トラックにマッピングする、前記コピー関係を提供することと、
    前記ターゲット・セット内のターゲット論理アドレスに前記ソース・セット内のソース論理アドレスをコピーするためのコピー操作を開始することと、
    前記コピー操作の開始に応答して更新されなかった前記ターゲット・セット内のターゲット論理アドレスを選択することと、
    前記選択されたターゲット論理アドレスにコピーされるソース論理アドレスを前記ソース・セットから決定することと、
    前記決定されたソース論理アドレスを、前記選択されたターゲット論理アドレスにコピーすることと
    をコンピュータに実行させるコンピュータ・プログラム。
  10. 複数のインジケータを含むコピー・マップを提供することであり、前記インジケータの各々が複数の前記ターゲット論理アドレスを表し、前記ターゲット・セット内のターゲット論理アドレスを表す前記インジケータのうちの少なくとも1つが、前記コピー関係が確立されて以来、前記表されたターゲット論理アドレスが更新されていないことを示す、前記コピー・マップを提供することと、
    前記表されたターゲット論理アドレスが更新されていないことを示す1つのインジケータを選択することであり、前記選択されたターゲット論理アドレスが、前記選択されたインジケータによって表される前記ターゲット論理アドレスを含む、前記1つのインジケータを選択することと、
    前記選択されたインジケータを、前記コピーすることに応答して前記表されたターゲット論理アドレスが更新されたことを示すように設定することと
    をさらにコンピュータに実行させる、請求項9に記載のコンピュータ・プログラム。
  11. 各インジケータがトラックを表し、更新されなかった前記ターゲット・セット内のターゲット論理アドレスを表す前記インジケータが、前記表されたトラック内のすべての前記ターゲット論理アドレスが更新されなかった前記ターゲット・セット内のターゲット論理アドレスを含むことを示す、請求項9に記載のコンピュータ・プログラム。
  12. 少なくとも1つのストレージを含むデータをコピーするためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコンピュータ・プログラム・コードを有するコンピュータ可読記憶媒体とを含み、前記動作が、
    前記少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする前記少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示すコピー関係を提供することであり、前記ソース論理アドレスが、ソース・トラックにマッピングし、前記ターゲット論理アドレスが、ターゲット・トラックにマッピングする、前記コピー関係を提供することと、
    前記コピー関係の一部として対応するターゲット論理アドレスにコピーされなかった論理アドレスの前記ソース・セット内のソース論理アドレスに対する更新を受信することと、
    前記コピー関係に従って更新される前記ソース論理アドレスに対応する前記ターゲット論理アドレスを決定することと、
    前記決定されたターゲット論理アドレスを含む前記ターゲット・セット内のターゲット論理アドレスのターゲット・グループを決定することであり、前記ターゲット・グループ内の前記ターゲット論理アドレスが前記ターゲット・セットにある、前記ターゲット・グループを決定することと、
    前記ターゲット・グループ内の前記ターゲット論理アドレスに対応する前記ソース・セット内の前記ソース論理アドレスを決定することと、
    前記決定されたソース論理アドレスを、前記決定されたターゲット・グループ内の前記ターゲット論理アドレスにコピーすることと
    を含む、システム。
  13. 前記ターゲット・グループが、ターゲット・ストレージにおいて構成されるターゲット・トラックを含む、請求項12に記載のシステム。
  14. 前記動作が、
    前記ターゲット・グループの各々の1つのインジケータを含む複数のインジケータを含むコピー・マップを維持することであり、少なくとも1つのターゲット・グループを表す前記インジケータのうちの少なくとも1つが、前記コピー関係が確立されて以来、前記表された少なくとも1つのターゲット・グループ内の前記ターゲット論理アドレスが更新されていないことを示す、前記コピー・マップを維持すること
    をさらに含む、請求項13に記載のシステム。
  15. 更新する前記ソース論理アドレスに対応する前記ターゲット論理アドレスを前記決定すること、および前記決定されたターゲット論理アドレスを含む前記ターゲット・グループを前記決定することが、前記ソース論理アドレスに対する前記更新を受信することに応答して実行され、
    前記決定されたターゲット・グループ内の前記ターゲット論理アドレスが前記コピー関係における前記対応するソース論理アドレスで更新されたことを前記決定されたターゲット・グループの前記インジケータが示すかどうかを、前記コピー・マップから判断することであり、前記ターゲット・グループが更新されなかったことを前記決定されたターゲット・グループの前記インジケータが示すことを決定することに応答して、前記決定されたソース論理アドレスをコピーする前記動作が実行される、前記判断すること
    をさらに含む、請求項14に記載のシステム。
  16. 前記ソース・セットを含む前記ソース・トラックが、論理アドレスの前記ターゲット・セットを含む前記ターゲット・トラックとは異なる番号をつけられたトラックである、請求項12に記載のシステム。
  17. 少なくとも1つのストレージを含むデータをコピーするためのシステムであって、
    プロセッサと、
    動作を実行するために前記プロセッサによって実行されるコンピュータ・プログラム・コードを有するコンピュータ可読記憶媒体とを含み、前記動作が、
    前記少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする前記少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示すコピー関係を提供することであり、前記ソース論理アドレスが、ソース・トラックにマッピングし、前記ターゲット論理アドレスが、ターゲット・トラックにマッピングする、前記コピー関係を提供することと、
    前記ターゲット・セット内のターゲット論理アドレスに前記ソース・セット内のソース論理アドレスをコピーするためのコピー操作を開始することと、
    前記コピー操作の開始に応答して更新されなかった前記ターゲット・セット内のターゲット論理アドレスを選択することと、
    前記選択されたターゲット論理アドレスにコピーされるソース論理アドレスを前記ソース・セットから決定することと、
    前記決定されたソース論理アドレスを、前記選択されたターゲット論理アドレスにコピーすることと
    を含む、システム。
  18. 少なくとも1つのストレージを含むデータをコピーするための方法であって、
    前記少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする前記少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示すコピー関係を提供することであり、前記ソース論理アドレスが、ソース・トラックにマッピングし、前記ターゲット論理アドレスが、ターゲット・トラックにマッピングする、前記コピー関係を提供することと、
    前記コピー関係の一部として対応するターゲット論理アドレスにコピーされなかった論理アドレスの前記ソース・セット内のソース論理アドレスに対する更新を受信することと、
    前記コピー関係に従って更新される前記ソース論理アドレスに対応する前記ターゲット論理アドレスを決定することと、
    前記決定されたターゲット論理アドレスを含む前記ターゲット・セット内のターゲット論理アドレスのターゲット・グループを決定することであり、前記ターゲット・グループ内の前記ターゲット論理アドレスが前記ターゲット・セットにある、前記ターゲット・グループを決定することと、
    前記ターゲット・グループ内の前記ターゲット論理アドレスに対応する前記ソース・セット内の前記ソース論理アドレスを決定することと、
    前記決定されたソース論理アドレスを、前記決定されたターゲット・グループ内の前記ターゲット論理アドレスにコピーすることと
    を含む方法。
  19. 少なくとも1つのストレージを含むデータをコピーするための方法であって、
    前記少なくとも1つのストレージ内のターゲット論理アドレスのサブセットを含むターゲット・セットにコピーする前記少なくとも1つのストレージ内のソース論理アドレスのサブセットのソース・セットを示すコピー関係を提供することであり、前記ソース論理アドレスが、ソース・トラックにマッピングし、前記ターゲット論理アドレスが、ターゲット・トラックにマッピングする、前記コピー関係を提供することと、
    前記ターゲット・セット内のターゲット論理アドレスに前記ソース・セット内のソース論理アドレスをコピーするためのコピー操作を開始することと、
    前記コピー操作の開始に応答して更新されなかった前記ターゲット・セット内のターゲット論理アドレスを選択することと、
    前記選択されたターゲット論理アドレスにコピーされるソース論理アドレスを前記ソース・セットから決定することと、
    前記決定されたソース論理アドレスを、前記選択されたターゲット論理アドレスにコピーすることと、を含む方法。
JP2015536275A 2012-10-16 2013-10-14 ストレージを含むデータをコピーするためのコンピュータ・プログラム、システム、および方法 Active JP6341918B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/653,349 US9135121B2 (en) 2012-10-16 2012-10-16 Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses
US13/653,349 2012-10-16
PCT/IB2013/059346 WO2014060934A2 (en) 2012-10-16 2013-10-14 Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses

Publications (2)

Publication Number Publication Date
JP2015531522A JP2015531522A (ja) 2015-11-02
JP6341918B2 true JP6341918B2 (ja) 2018-06-13

Family

ID=50476526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015536275A Active JP6341918B2 (ja) 2012-10-16 2013-10-14 ストレージを含むデータをコピーするためのコンピュータ・プログラム、システム、および方法

Country Status (4)

Country Link
US (2) US9135121B2 (ja)
JP (1) JP6341918B2 (ja)
GB (1) GB2521326B (ja)
WO (1) WO2014060934A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116852B2 (en) 2012-10-16 2015-08-25 International Business Machines Corporation Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture
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
US9135121B2 (en) 2012-10-16 2015-09-15 International Business Machines Corporation Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses
US9063997B2 (en) 2013-02-12 2015-06-23 International Business Machines Corporation Asynchronous pausing of the formation of consistency groups
US9747047B2 (en) 2014-06-25 2017-08-29 International Business Machines Corporation Performing a remote point-in-time copy to a source and target storages in further mirror copy relationships
CN105808374B (zh) * 2014-12-31 2019-02-05 华为技术有限公司 一种快照处理方法及相关设备
WO2016113831A1 (ja) * 2015-01-13 2016-07-21 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
CN107391391B (zh) * 2017-07-19 2019-05-14 深圳大普微电子科技有限公司 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘
CN111104249A (zh) * 2018-10-26 2020-05-05 伊姆西Ip控股有限责任公司 用于数据备份的方法、设备和计算机程序产品
US11354268B2 (en) * 2020-01-08 2022-06-07 EMC IP Holding Company LLC Optimizing snapshot creation
CN113391949A (zh) * 2020-03-13 2021-09-14 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品
US11977783B2 (en) * 2021-10-28 2024-05-07 Silicon Motion, Inc. Method and apparatus for performing data access control of memory device with aid of predetermined command

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041386A (en) 1998-02-10 2000-03-21 International Business Machines Corporation Data sharing between system using different data storage formats
US6611901B1 (en) * 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
JP2001066974A (ja) 1999-08-27 2001-03-16 Canon Inc 画像形成装置
US6757797B1 (en) 1999-09-30 2004-06-29 Fujitsu Limited Copying method between logical disks, disk-storage system and its storage medium
JP3606797B2 (ja) 1999-09-30 2005-01-05 富士通株式会社 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
GB0227825D0 (en) 2002-11-29 2003-01-08 Ibm High-performance lock management for flash copy in n-way shared storage systems
US7085909B2 (en) 2003-04-29 2006-08-01 International Business Machines Corporation Method, system and computer program product for implementing copy-on-write of a file
US7133982B2 (en) 2003-06-18 2006-11-07 International Business Machines Corporation Method, system, and article of manufacture for consistent copying of storage volumes
US6996586B2 (en) 2003-06-18 2006-02-07 International Business Machines Corporation Method, system, and article for incremental virtual copy of a data block
JP3842772B2 (ja) * 2003-09-10 2006-11-08 株式会社東芝 ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム
JP4581518B2 (ja) 2003-12-19 2010-11-17 株式会社日立製作所 スナップショット取得方法
US7415628B2 (en) 2004-01-09 2008-08-19 International Business Machines Corporation Restricting the execution of copy services commands
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
CN100359476C (zh) 2004-06-03 2008-01-02 华为技术有限公司 一种快照备份的方法
JP2006164162A (ja) 2004-12-10 2006-06-22 Fujitsu Ltd コピー制御装置および方法
US7509535B1 (en) 2005-09-29 2009-03-24 Emc Corporation System and method for managing failover in a data storage environment
CN101206596A (zh) 2006-12-22 2008-06-25 英业达股份有限公司 复原系统操作的方法
JP4900811B2 (ja) 2007-03-30 2012-03-21 株式会社日立製作所 記憶システムおよび記憶制御方法
US8423739B2 (en) 2008-02-06 2013-04-16 International Business Machines Corporation Apparatus, system, and method for relocating logical array hot spots
ATE525695T1 (de) 2008-10-30 2011-10-15 Ibm Durchführen eines datenschreibvorgangs auf einer speicheranordnung
TWI514249B (zh) 2009-01-23 2015-12-21 Infortrend Technology Inc 遠端非同步資料卷複製的方法及執行該方法的儲存系統
US8560787B2 (en) 2009-03-30 2013-10-15 International Business Machines Corporation Incremental backup of source to target storage volume
US8788768B2 (en) 2010-09-29 2014-07-22 International Business Machines Corporation Maintaining mirror and storage system copies of volumes at multiple remote sites
US8335766B2 (en) 2010-12-14 2012-12-18 International Business Machines Corporation Flash-copying within asynchronous mirroring environment
US8775753B2 (en) 2011-01-04 2014-07-08 International Business Machines Corporation Synchronization of logical copy relationships
US8555010B2 (en) 2011-03-24 2013-10-08 Hitachi, Ltd. Computer system and data backup method combining flashcopy and remote copy
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
US9135121B2 (en) * 2012-10-16 2015-09-15 International Business Machines Corporation Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses
US9116852B2 (en) 2012-10-16 2015-08-25 International Business Machines Corporation Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture

Also Published As

Publication number Publication date
GB201506963D0 (en) 2015-06-10
US9135121B2 (en) 2015-09-15
WO2014060934A3 (en) 2014-07-10
GB2521326A (en) 2015-06-17
JP2015531522A (ja) 2015-11-02
US9836231B2 (en) 2017-12-05
WO2014060934A2 (en) 2014-04-24
GB2521326B (en) 2015-11-04
US20140108752A1 (en) 2014-04-17
US20150277798A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
JP6341918B2 (ja) ストレージを含むデータをコピーするためのコンピュータ・プログラム、システム、および方法
US9747198B2 (en) Processing a point-in-time copy establish command to copy data
US9740634B2 (en) Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
US10664177B2 (en) Replicating tracks from a first storage site to a second and third storage sites
US10740018B2 (en) Data migration method and apparatus applied to computer system, and computer system
US9098452B2 (en) Selecting files to backup in a block level backup
US7930496B2 (en) Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship
JP2017509958A (ja) 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成
US9354986B2 (en) Setting copy permissions for target data in a copy relationship
US11030125B2 (en) Point in time copy operations from source volumes to space efficient target volumes in two stages via a non-volatile storage
JP6561765B2 (ja) ストレージ制御装置およびストレージ制御プログラム
KR101834082B1 (ko) 다중 ssd 시스템 관리 장치 및 방법
US20160357479A1 (en) Storage control apparatus
US20140108680A1 (en) Quiescing input/output (i/o) requests to subsets of logical addresses in a storage for a requested operation
US11221790B2 (en) Storage system
US9690503B2 (en) Returning coherent data in response to a failure of a storage device when a single input/output request spans two storage devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171215

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: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180515

R150 Certificate of patent or registration of utility model

Ref document number: 6341918

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150