JP6048976B2 - Method, computer program, and apparatus for deleting a relationship between a source and a space efficient target in a multi-target architecture - Google Patents
Method, computer program, and apparatus for deleting a relationship between a source and a space efficient target in a multi-target architecture Download PDFInfo
- Publication number
- JP6048976B2 JP6048976B2 JP2013557198A JP2013557198A JP6048976B2 JP 6048976 B2 JP6048976 B2 JP 6048976B2 JP 2013557198 A JP2013557198 A JP 2013557198A JP 2013557198 A JP2013557198 A JP 2013557198A JP 6048976 B2 JP6048976 B2 JP 6048976B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- data
- relationship
- source
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 148
- 238000004590 computer program Methods 0.000 title description 15
- 238000013507 mapping Methods 0.000 claims description 36
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 239000007787 solid Substances 0.000 description 6
- 239000000835 fiber Substances 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000022971 Tuberculous meningitis Diseases 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 125000004435 hydrogen atom Chemical class [H]* 0.000 description 1
- 208000001223 meningeal tuberculosis Diseases 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
本発明はデータ複製(replication)に関し、より具体的に言えば、データ重複(duplication)を最小限にしながらデータのポイント・イン・タイム(point-in-time)・コピー(以下において、「時点コピー」という)を作成するための装置および方法に関する。 The present invention relates to data replication, and more specifically, point-in-time copies of data (hereinafter “ point-in-time copies ” while minimizing data duplication). And an apparatus for producing the same.
IBM(R)FlashCopy(R)、Hitachi ShadowImageなどのデータ複製機能を使用して、論理ボリュームまたはデータセットのほぼ同時の時点コピーを生成することができる。他の用途の中でも、これらの時点コピーは障害回復およびビジネス継続性の目的で使用することができる。特にIBM(R)FlashCopy(R)は、ソース・ボリュームとターゲット・ボリュームとの間の関係を確立(または「マッピング」)することによって、時点コピーを作成する。この関係が確立されると、ソース・ボリュームまたはターゲット・ボリュームのいずれかからデータを読み取ることができる。ターゲット・ボリュームに関連付けられたターゲット・ビット・マップは、どのデータ・トラックが実際にソース・ボリュームからターゲット・ボリュームにコピーされたかを追跡する。あるケースでは、ボリュームは、あるボリュームがターゲットおよびソースの両方として機能するように、カスケード構成内に配置可能である。他のケースでは、ボリュームは、ソース・ボリュームが複数のターゲット・ボリュームとの関係を有するように、フラット(または「マルチターゲット」)構成内に配置可能である。 Data replication features such as IBM® FlashCopy®, Hitachi ShadowImage, etc. can be used to generate nearly simultaneous point-in-time copies of logical volumes or data sets. Among other applications, these point-in-time copies can be used for disaster recovery and business continuity purposes. In particular, IBM® FlashCopy® creates a point-in-time copy by establishing (or “mapping”) a relationship between a source volume and a target volume. Once this relationship is established, data can be read from either the source volume or the target volume. The target bitmap associated with the target volume keeps track of which data tracks were actually copied from the source volume to the target volume. In some cases, the volumes can be placed in a cascade configuration so that a volume functions as both a target and a source. In other cases, the volumes can be placed in a flat (or “multi-target”) configuration such that the source volume has a relationship with multiple target volumes.
それにもかかわらず、カスケードまたはマルチターゲットのいずれかの構成内でボリュームの数が増加した場合、I/O性能は大幅に影響を受ける可能性がある。たとえば、カスケード構成では、ソース・ボリュームへの書き込みは、カスケード内の様々なボリューム間でデータがコピーされ、書き込みが実行できるようになるまで待機が必要な可能性がある。したがって、カスケード内のボリューム数が多いほど、データがソース・ボリュームに書き込めるまでにより多くのコピーを実行する必要がある。同様に、マルチターゲット構成では、ソース・ボリュームへの書き込みは、接続されたそれぞれのターゲットにデータがコピーされ、書き込みが実行できるようになるまで待機が必要な可能性がある。マルチターゲット構成内のボリューム数が多いほど、データがソース・ボリュームに書き込めるまでにより多くのコピーを実行する必要がある。これにより、ソース・ボリュームへの書き込みが非常に遅くなる可能性がある。このため、現在のFlashCopy(R)実装は、性能影響を許容範囲内で維持するためにマルチターゲット構成内に限定数のターゲットのみを許可する。 Nevertheless, if the number of volumes increases in either a cascade or multi-target configuration, I / O performance can be significantly affected. For example, in a cascaded configuration, writing to the source volume may need to wait until data is copied between the various volumes in the cascade and writing can be performed. Therefore, the greater the number of volumes in the cascade, the more copies must be performed before data can be written to the source volume. Similarly, in a multi-target configuration, writing to the source volume may need to wait until the data is copied to each connected target and writing can be performed. The more volumes in a multi-target configuration, the more copies that need to be performed before data can be written to the source volume. This can make writing to the source volume very slow. For this reason, current FlashCopy® implementations allow only a limited number of targets in a multi-target configuration in order to maintain performance impact within acceptable limits.
上記に鑑み、カスケードまたはマルチターゲット構成内に多数のボリュームを有することの性能影響を軽減するための方法が求められている。たとえば、読み取りおよび書き込みを実行する場合に、カスケードまたはマルチターゲット構成内のデータ複製を削減するための方法が求められている。さらに、カスケードまたはマルチターゲット構成内での関係を効率良く削除するための方法が求められている。したがって、当分野では前述の問題に対処することが求められている。 In view of the above, there is a need for a method for reducing the performance impact of having multiple volumes in a cascade or multi-target configuration. For example, there is a need for a method for reducing data replication in a cascade or multi-target configuration when performing reads and writes. Furthermore, there is a need for a method for efficiently deleting relationships within a cascade or multi-target configuration. Therefore, there is a need in the art to address the aforementioned problems.
本発明は、現況技術に応答して、具体的には、現在使用可能な方法では未だ完全に解決できていない当分野における問題および必要性に応答して、開発されてきた。したがって本発明の目的は、マルチターゲット・アーキテクチャにおけるソースと空間効率の良い(SE:space-efficient)ターゲットとの間の関係を削除するための方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラムを提供することである。本発明の特徴および利点は、以下の説明および添付の特許請求の範囲からより完全に明らかとなるか、または以下に記載されるような本発明の実践によって習得可能である。 The present invention has been developed in response to state of the art, specifically in response to problems and needs in the art that have not yet been fully solved by currently available methods. Accordingly, an object of the present invention is to provide a method, apparatus, computer program product, and computer program for removing the relationship between a source and a space-efficient (SE) target in a multi-target architecture. Is to provide. The features and advantages of the invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
上記内容に一致する、マルチターゲット・アーキテクチャにおいてソースとターゲットの間の関係を削除するための方法が開示される。マルチターゲット・アーキテクチャは、ソースと、ソースにマッピングされた複数の空間効率の良い(SE)ターゲットとを含む。一実施形態では、こうした方法は、マルチターゲット・アーキテクチャからの削除のために、関係を初期に識別することを含む。次に、関係に関連付けられた空間効率の良い(SE)ターゲットが識別される。マッピング構造は、SEターゲットの論理トラック内のデータをリポジトリの物理トラックにマッピングする。次に方法は、SEターゲットからデータを継承する兄弟(sibling)SEターゲットを識別する。SEターゲットおよび兄弟SEターゲットが識別されると、方法は、リポジトリの物理トラック内のデータが兄弟SEターゲットの論理トラックにマッピングされるようにマッピング構造を修正する。次に、ソースとSEターゲットとの間の関係は削除される。 Consistent with the above, a method is disclosed for deleting a relationship between a source and a target in a multi-target architecture. A multi-target architecture includes a source and a plurality of spatially efficient (SE) targets mapped to the source. In one embodiment, such a method includes initially identifying relationships for deletion from the multi-target architecture. Next, the space efficient (SE) target associated with the relationship is identified. The mapping structure maps the data in the logical track of the SE target to the physical track of the repository. The method then identifies sibling SE targets that inherit data from the SE target. Once the SE target and sibling SE target are identified, the method modifies the mapping structure so that the data in the physical track of the repository is mapped to the logical track of the sibling SE target. Next, the relationship between the source and the SE target is deleted.
第1の態様から見ると、本発明は、マルチターゲット・アーキテクチャにおいてソースと空間効率の良い(SE)ターゲットとの間の関係を削除するための方法を提供し、マルチターゲット・アーキテクチャはソースとソースにマッピングされた複数のSEターゲットとを備え、方法は、マルチターゲット・アーキテクチャからの削除のために第1の関係を識別すること、第1の関係に関連付けられた空間効率の良い(SE)ターゲットを識別することであって、マッピング構造はSEターゲットの論理トラック内のデータをリポジトリの物理トラックにマッピングする、識別すること、SEターゲットからデータを継承する兄弟SEターゲットを識別すること、リポジトリの物理トラック内のデータを兄弟SEターゲットの論理トラックにマッピングするようにマッピング構造を修正すること、および、第1の関係を削除することを含む。 Viewed from a first aspect, the present invention provides a method for eliminating a relationship between a source and a space efficient (SE) target in a multi-target architecture, wherein the multi-target architecture is a source and source Wherein the method identifies a first relationship for removal from the multi-target architecture, a space efficient (SE) target associated with the first relationship The mapping structure maps the data in the logical track of the SE target to the physical track of the repository, identifies the sibling SE target that inherits data from the SE target, the physical of the repository The data in the track becomes the logical track of the sibling SE target Modifying the mapping structure to mappings, and includes deleting the first relation.
他の態様から見ると、本発明は、マルチターゲット・アーキテクチャにおいてソースと空間効率の良い(SE)ターゲットとの間の関係を削除するためのコンピュータ・プログラム製品を提供し、マルチターゲット・アーキテクチャはソースとソースにマッピングされた複数のSEターゲットとを備え、コンピュータ・プログラム製品は、処理回路によって読み取り可能であり、本発明のステップを実行するための方法を実行するために処理回路によって実行するための命令を記憶する、コンピュータ読み取り可能ストレージ・メディアを備える。 Viewed from another aspect, the present invention provides a computer program product for removing a relationship between a source and a space efficient (SE) target in a multi-target architecture, where the multi-target architecture is a source And a plurality of SE targets mapped to the source, the computer program product is readable by the processing circuit and for executing by the processing circuit to perform the method for performing the steps of the invention A computer readable storage medium is provided for storing instructions.
他の態様から見ると、本発明は、プログラムがコンピュータ上で実行された場合、本発明のステップを実行するためのソフトウェア・コード部分を含む、コンピュータ読み取り可能メディア上に記憶され、デジタル・コンピュータの内部メモリにロード可能な、コンピュータ・プログラムを提供する。 Viewed from another aspect, the present invention is stored on a computer readable medium that includes software code portions for performing the steps of the present invention when the program is executed on a computer. A computer program that can be loaded into an internal memory is provided.
他の態様から見ると、本発明は、マルチターゲット・アーキテクチャにおいてソースと空間効率の良い(SE)ターゲットとの間の関係を削除するための装置を提供し、マルチターゲット・アーキテクチャはソースとソースにマッピングされた複数のSEターゲットとを備え、装置は、マルチターゲット・アーキテクチャからの削除のために第1の関係を識別するための識別構成要素と、第1の関係に関連付けられた空間効率の良い(SE)ターゲットを識別するためにさらに動作可能な識別構成要素であって、マッピング構造はSEターゲットの論理トラック内のデータをリポジトリの物理トラックにマッピングする、識別構成要素と、SEターゲットからデータを継承する兄弟SEターゲットを識別するためにさらに動作可能な識別構成要素と、リポジトリの物理トラック内のデータを兄弟SEターゲットの論理トラックにマッピングするようにマッピング構造を修正するための修正構成要素と、第1の関係を削除するための削除構成要素とを備える。 Viewed from another aspect, the present invention provides an apparatus for removing a relationship between a source and a space efficient (SE) target in a multi-target architecture, wherein the multi-target architecture is With a plurality of mapped SE targets, the apparatus has an identification component for identifying the first relationship for removal from the multi-target architecture and a space efficient associated with the first relationship (SE) An identification component operable further to identify a target, wherein the mapping structure maps the data in the logical track of the SE target to the physical track of the repository, and the data from the SE target Identification configuration further operable to identify inherited sibling SE targets It comprises a hydrogen, a modified component for modifying the mapping structure to map the data in the physical tracks repositories logical track sibling SE target, and a deletion component for deleting the first relation.
他の態様から見ると、本発明は、マルチターゲット・アーキテクチャ内のターゲット・ボリューム(ターゲットx)への書き込みを実行するための方法を提供し、マルチターゲット・アーキテクチャはソース・ボリュームとソース・ボリュームにマッピングされた複数のターゲット・ボリュームとを備え、方法は、ターゲットxが最も近い年長の兄弟(COS)を有するかどうかを判別することであって、COSはターゲットxの直前に確立されたターゲット・ボリュームである、判別すること、ターゲットxおよびCOSのそれぞれに関するターゲット・ビット・マップ(TBM)が設定されているかどうかを判別すること、COSおよびターゲットxの両方に関するTBMが設定されている場合、高位のソース(HS)ボリュームからCOSにデータをコピーすること、COSに関するTBMが設定されており、ターゲットxに関するTBMが設定されていない場合、ターゲットxからCOSにデータをコピーすること、および、ターゲットxへの書き込みを実行することを含む。 Viewed from another aspect, the present invention provides a method for performing a write to a target volume (target x) in a multi-target architecture, wherein the multi-target architecture includes a source volume and a source volume. With a plurality of mapped target volumes, the method is to determine whether the target x has the nearest older sibling (COS), where the COS is the target established immediately before target x If it is a volume, if a target bit map (TBM) for each of target x and COS is set, and if a TBM for both COS and target x is set, C from higher source (HS) volume Copy data to S, if TBM for COS is set and TBM for target x is not set, copy data from target x to COS, and write to target x including.
他の態様から見ると、本発明は、マルチターゲット・アーキテクチャ内のターゲット・ボリューム(ターゲットx)上で読み取りを実行するための方法を提供し、マルチターゲット・アーキテクチャはソース・ボリュームとソース・ボリュームにマッピングされた複数のターゲット・ボリュームとを備え、方法は、ターゲットxに関連付けられたターゲット・ビット・マップ(TBM)を読み取ること、TBMが設定されているかどうかを判別すること、TBMが設定されている場合、高位のソース(HS)ボリュームからデータを読み取ること、ここでHSボリュームからデータを読み取ることは、ターゲットxに関連付けられたソース・ボリュームを見つけること、ソース・ボリューム上での生成数(GN)を検査することによって、ターゲットxに関して次に若い(next younger)(以下において、「次の年少」という)の兄弟を見つけること、および、次の年少の兄弟に関連付けられたTBMが設定されていない場合、次の年少の兄弟からデータを読み取ることを含む。 Viewed from another aspect, the present invention provides a method for performing a read on a target volume (target x) in a multi-target architecture, wherein the multi-target architecture includes a source volume and a source volume. With a plurality of mapped target volumes, the method reads a target bit map (TBM) associated with target x, determines whether the TBM is set, the TBM is set If reading data from a higher source (HS) volume, where reading data from the HS volume is to find the source volume associated with target x, the number of generations on the source volume (GN ) By inspecting Next to the young (hereinafter, "the next younger" called) (next younger) with respect to get x to find the brothers, and, if the TBM associated with the brothers of the next younger has not been set, the next younger Includes reading data from siblings.
他の態様から見ると、本発明は、マルチターゲット・アーキテクチャ内のソース・ボリュームへの書き込みを実行するための方法を提供し、マルチターゲット・アーキテクチャはソース・ボリュームとソース・ボリュームにマッピングされた複数のターゲット・ボリュームとを備え、方法は、ソース・ボリュームのトラック内のデータをソース・ボリュームにマッピングされたターゲット・ボリューム(ターゲットx)にコピーすること、ソース・ボリュームにマッピングされた少なくとも1つの兄弟ターゲット・ボリューム(兄弟)がターゲットxからデータを継承できるようにすること、および、ソース・ボリュームのトラックへの書き込みを実行することを含む。 Viewed from another aspect, the present invention provides a method for performing a write to a source volume in a multi-target architecture, wherein the multi-target architecture is mapped to a source volume and a source volume. And copying the data in the track of the source volume to the target volume (target x) mapped to the source volume, at least one sibling mapped to the source volume Including allowing the target volume (siblings) to inherit data from target x and performing writing to the tracks of the source volume.
他の態様から見ると、本発明は、マルチターゲット・アーキテクチャにおいてソースとターゲットとの間の関係を削除するための方法を提供し、マルチターゲット・アーキテクチャはソースとソースにマッピングされた複数のターゲットとを備え、方法は、マルチターゲット・アーキテクチャからの削除のために第1の関係を識別すること、第1の関係に関連付けられたターゲットを識別すること、ターゲットからデータを継承する兄弟ターゲットを識別すること、ターゲットから兄弟ターゲットにデータをコピーすること、および第1の関係を削除することを含む。 Viewed from another aspect, the present invention provides a method for deleting a relationship between a source and a target in a multi-target architecture, wherein the multi-target architecture includes a plurality of targets mapped to the source and the source. And the method identifies a first relationship for deletion from the multi-target architecture, identifies a target associated with the first relationship, identifies a sibling target that inherits data from the target Copying data from the target to the sibling target and deleting the first relationship.
次に、本発明を、以下の図面に示されるような好ましい実施形態を参照しながら単なる例として説明する。 The present invention will now be described by way of example only with reference to preferred embodiments as shown in the following drawings.
本明細書の図面に全体として説明および図示されるように、本発明の構成要素は多種多様な異なる構成内に配置および設計可能であることは容易に理解されよう。したがって、図面内に表されたような本発明の好ましい実施形態の以下のより詳細な説明は、請求されたように、本発明の範囲を限定することは意図されておらず、本発明に従った現在企図されている好ましい実施形態のある例の単なる代表である。説明された本実施形態は、全体を通じて同じ部分が同じ数字によって指定された図面を参照することにより、最も良く理解されるであろう。 It will be readily appreciated that the components of the present invention can be arranged and designed in a wide variety of different configurations, as generally described and illustrated in the drawings herein. Accordingly, the following more detailed description of preferred embodiments of the invention as depicted in the drawings is not intended to limit the scope of the invention, as claimed, but in accordance with the invention. It is merely representative of certain examples of presently contemplated preferred embodiments. The described embodiments will be best understood by referring to the drawings, wherein like parts are designated by like numerals throughout.
当業者であれば理解されるように、本発明は装置、システム、方法、またはコンピュータ・プログラム製品として具体化可能である。さらに本発明は、ハードウェア実施形態、ハードウェアを動作させるように構成されたソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、本明細書ではすべて全体として「モジュール」または「システム」と呼ばれることのあるソフトウェアおよびハードウェアの態様を組み合わせた実施形態の、形を取ることができる。さらに本発明は、内部に記憶されたコンピュータ使用可能プログラム・コードを有する任意の有形な表現メディア内に具体化されたコンピュータ使用可能ストレージ・メディアの形を取ることができる。 As will be appreciated by one skilled in the art, the present invention may be embodied as an apparatus, system, method, or computer program product. In addition, the present invention may include hardware embodiments, software embodiments configured to operate hardware (including firmware, resident software, microcode, etc.), or all herein as “modules” or “ It can take the form of an embodiment that combines aspects of software and hardware, sometimes referred to as a “system”. Furthermore, the present invention may take the form of a computer-usable storage medium embodied in any tangible representation medium having computer-usable program code stored therein.
1つまたは複数のコンピュータ使用可能またはコンピュータ読み取り可能ストレージ・メディアの任意の組み合わせを利用して、コンピュータ・プログラム製品を記憶することができる。コンピュータ使用可能またはコンピュータ読み取り可能ストレージ・メディアは、たとえば電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイスとすることができるが、これらに限定されない。コンピュータ読み取り可能ストレージ・メディアのより具体的な例(非網羅的リスト)は、1本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CDROM)、光ストレージ・デバイス、または磁気ストレージ・デバイスを含むことができる。本書との関連において、コンピュータ使用可能またはコンピュータ読み取り可能ストレージ・メディアは、命令実行のシステム、装置、またはデバイスによって、またはこれらに関して使用するためのプログラムを含む、記憶する、または移送することが可能な、任意のメディアとすることができる。 Any combination of one or more computer-usable or computer-readable storage media may be utilized to store the computer program product. The computer-usable or computer-readable storage medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (non-exhaustive list) of computer readable storage media are electrical connections with one or more wires, portable computer diskettes, hard disks, random access memory (RAM) Including read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CDROM), optical storage device, or magnetic storage device Can do. In the context of this document, a computer-usable or computer-readable storage medium may contain, store or transport programs for use by or in connection with an instruction execution system, apparatus, or device. Can be any media.
本発明の動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。本発明を実装するためのコンピュータ・プログラム・コードは、アセンブリ言語などの低水準プログラミング言語でも作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または、完全にリモート・コンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを通じてユーザのコンピュータに接続可能であるか、または(たとえばインターネット・サービス・プロバイダを使用し、インターネットを介して)外部コンピュータに接続することができる。Java(R)およびすべてのJavaベースの商標およびロゴは、Oracle社あるいはその関連会社またはその両方の商標または登録商標である。 Computer program code for implementing the operations of the present invention includes object-oriented programming languages such as Java®, Smalltalk, C ++, and conventional procedural programming languages such as the “C” programming language or similar programming languages. Can be created in any combination of one or more programming languages. Computer program code for implementing the present invention can also be created in a low level programming language such as assembly language. The program code may be entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or completely It can be executed on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or (eg, the Internet Can connect to an external computer (via the Internet using a service provider). Java® and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation and / or its affiliates.
本発明は、本発明の実施形態に従った方法、装置、システム、およびコンピュータ・プログラム製品の流れ図あるいはブロック図またはその両方を参照しながら、以下で説明することができる。流れ図あるいはブロック図またはその両方の各ブロック、および、流れ図あるいはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令またはコードによって実装可能であることを理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図あるいはブロック図またはその両方のブロックに指定された機能/動作を実装するための手段を作成するように、汎用コンピュータ、特定用途向けコンピュータ、または機械を生成するための他のプログラマブル・データ処理装置のプロセッサに提供可能である。 The present invention may be described below with reference to flowchart illustrations and / or block diagrams of methods, apparatus, systems and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions or code. These computer program instructions provide a means for instructions executed via a processor of a computer or other programmable data processing device to implement the functions / operations specified in the flowcharts and / or block diagrams. As created, it can be provided to a processor of a general purpose computer, an application specific computer, or other programmable data processing device for generating machines.
コンピュータまたは他のプログラマブル・データ処理装置に特定の様式で機能するように指示可能なコンピュータ・プログラム命令を、コンピュータ読み取り可能ストレージ・メディア内に記憶することが可能であるため、結果としてコンピュータ読み取り可能ストレージ・メディア内に記憶された命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能/動作を実装する命令手段を含む製品を生成する。一連の動作ステップをコンピュータまたは他のプログラマブル装置上で実行させ、コンピュータ実装プロセスを生成するために、コンピュータ・プログラム命令を、コンピュータまたは他のプログラマブル・データ処理装置上にロードすることもできるため、結果として、コンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図あるいはブロック図またはその両方のブロックに指定された機能/動作を実装するためのプロセスを提供する。 Computer program instructions that can direct a computer or other programmable data processing device to function in a particular manner can be stored in a computer readable storage medium, resulting in computer readable storage. • Instructions stored in the media generate a product that includes instruction means that implement the functions / operations specified in the flowcharts and / or block diagrams. The result is that the computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be executed on the computer or other programmable device to generate a computer-implemented process. As such, instructions executing on a computer or other programmable device provide a process for implementing the functions / operations specified in the flowcharts and / or block diagrams.
図1を参照すると、ネットワーク・アーキテクチャ100の一例が示されている。ネットワーク・アーキテクチャ100は、本発明に従った時点コピー方法が実装可能な環境の一例を示すために提示される。ネットワーク・アーキテクチャ100は、制限ではなく単なる例として提示される。実際に、本明細書で開示される方法は、図示されたネットワーク・アーキテクチャ100に加えて、多種多様な異なるコンピュータ、サーバ、ストレージ・デバイス、およびネットワーク・アーキテクチャに適用可能である。
Referring to FIG. 1, an
図に示されるように、ネットワーク・アーキテクチャ100は、ネットワーク104によって相互接続された1つまたは複数のコンピュータ102、106を含む。ネットワーク104は、たとえばローカル・エリア・ネットワーク(LAN)104、ワイド・エリア・ネットワーク(WAN)104、インターネット104、イントラネット104などを含むことができる。ある実施形態では、コンピュータ102、106はクライアント・コンピュータ102およびサーバ・コンピュータ106(本明細書では「ホスト・システム」106とも呼ばれる)の両方を含むことができる。一般に、クライアント・コンピュータ102は通信セッションを開始するが、サーバ・コンピュータ106はクライアント・コンピュータ102からの要求を待機する。ある実施形態では、コンピュータ102あるいはサーバ106またはその両方は、1つまたは複数の内部または外部の直接接続ストレージ・システム112(たとえばハードディスク・ドライブ、ソリッドステート・ドライブ、テープ・ドライブなどのアレイ)に接続可能である。これらのコンピュータ102、106、および直接接続ストレージ・システム112は、ATA、SATA、SCSI、SAS、Fibre Channelなどのプロトコルを使用して通信可能である。ストレージ・システム112のうちの1つまたは複数は、本明細書で開示された時点コピー方法を利用することができる。
As shown, the
ある実施形態では、ネットワーク・アーキテクチャ100は、サーバ106の後ろに、ストレージ・エリア・ネットワーク(SAN)108またはLAN108(たとえばネットワーク接続ストレージを使用する場合)などの、ストレージ・ネットワーク108を含むことができる。このネットワーク108は、ハードディスク・ドライブまたはソリッドステート・ドライブのアレイ110a、テープ・ライブラリ110b、個々のハードディスク・ドライブ110cまたはソリッドステート・ドライブ110c、テープ・ドライブ110d、CD−ROMライブラリなどの、1つまたは複数のストレージ・システム110に、サーバ106を接続することができる。ホスト・システム106は、ストレージ・システム110にアクセスするために、ホスト106上の1つまたは複数のポートからストレージ・システム110上の1つまたは複数のポートへの物理接続を介して通信することができる。接続は、スイッチ、ファイバ、直接接続などを介することができる。ある実施形態では、サーバ106およびストレージ・システム110は、ファイバ・チャネル(FC)などのネットワーキング標準を使用して通信することができる。ストレージ・システム110のうちの1つまたは複数は、本明細書で開示された時点コピー方法を利用することができる。
In some embodiments, the
図2を参照すると、ハードディスク・ドライブ204あるいはソリッドステート・ドライブ204またはその両方のアレイを含むストレージ・システム110bの一実施形態が示されている。ある実施形態では、本明細書で開示された時点コピー方法がこうしたストレージ・システム110b内で実装可能であるため、ストレージ・システム110bの内部構成要素が示されているが、方法は他のストレージ・システム110にも適用可能である。図に示されるように、ストレージ・システム110bは、ストレージ・コントローラ200、1つまたは複数のスイッチ202、および、ハードディスク・ドライブ204またはソリッドステート・ドライブ204などの(フラッシュ・メモリ・ベース・ドライブ204などの)1つまたは複数のストレージ・デバイス204を含む。ストレージ・コントローラ200は、1つまたは複数のホスト106(たとえば、オープン・システムあるいはメインフレーム・サーバまたはその両方106)の1つまたは複数のストレージ・デバイス204内のデータへのアクセスを実行可能にすることができる。
Referring to FIG. 2, one embodiment of a
選択された実施形態では、ストレージ・コントローラ200は1つまたは複数のサーバ206を含む。ストレージ・コントローラ200は、ストレージ・コントローラ200をそれぞれホスト・デバイス106およびストレージ・デバイス204に接続するために、ホスト・アダプタ208およびデバイス・アダプタ210を含むこともできる。複数のサーバ206a、206bは、接続されたホスト106が常にデータを利用できることを保証するために冗長性を提供することができる。したがって、一方のサーバ206aに障害が発生すると、I/Oがホスト106とストレージ・デバイス204との間で続行できることを保証するために、他方のサーバ206bが障害サーバ206aのI/Oロードを受信する。このプロセスは「フェイルオーバ」と呼ばれることがある。
In selected embodiments, the
図2に示されたアーキテクチャと同様のアーキテクチャを有するストレージ・システム110bの一例は、IBM DS8000(R)エンタープライズ・ストレージ・システムである。IBM DS8000(R)は、連続動作をサポートするように設計されたディスク・ストレージを提供する高性能、高容量ストレージ・コントローラである。それにもかかわらず、本明細書で開示された方法はIBM DS8000(R)エンタープライズ・ストレージ・システム110bに限定されず、システム110に関連付けられた製造業者、製品名、あるいは構成要素または構成要素名に関係なく、任意の同等または類似のストレージ・システム110内で実装可能である。さらに、本発明の1つまたは複数の好ましい実施形態から恩恵を受けることが可能な任意のストレージ・システムは、本発明の範囲内に入るものとみなされる。したがって、IBM DS8000は単なる例として提示され、限定的であることは意図されていない。IBM、FlashCopy、DS8000は、多くの管轄区域内で世界規模に登録されたインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。
An example of a
選択された実施形態では、各サーバ206は1つまたは複数のプロセッサ212およびメモリ214を含むことができる。メモリ214は揮発性メモリ(たとえばRAM)ならびに不揮発性メモリ(たとえばROM、EPROM、EEPROM、ハード・ディスク、フラッシュ・メモリなど)を含むことができる。ある実施形態では、揮発性および不揮発性メモリは、プロセッサ212上で実行し、ストレージ・デバイス204内のデータにアクセスするために使用される、ソフトウェア・モジュールを記憶することができる。サーバ206は、これらのソフトウェア・モジュールの少なくとも1つのインスタンスをホストすることができる。これらのソフトウェア・モジュールは、ストレージ・デバイス204内の論理ボリュームへのすべての読み取りおよび書き込み要求を管理することができる。
In selected embodiments, each server 206 may include one or
選択された実施形態では、メモリ214はキャッシュ218を含む。ホスト106(たとえばオープン・システムまたはメインフレーム・サーバ106)は読み取り動作を実行し、読み取りを実行するサーバ206は、これが再度必要になったイベントで、ストレージ・デバイス204からデータをフェッチし、これをそのキャッシュ218内に保存することができる。データがホスト106によって再度要求された場合、サーバ206は、ストレージ・デバイス204からそれをフェッチする代わりに、キャッシュ218からデータをフェッチし、時間およびリソースの両方を節約することができる。同様に、ホスト106が書き込みを実行する場合、書き込み要求を受信するサーバ106はこの書き込みをそのキャッシュ218内に記憶することができる。次にサーバ106は、時間およびリソースが許せば、ストレージ・デバイス204への書き込みをデステージ(destage)することができる。
In selected embodiments, memory 214 includes cache 218. A host 106 (eg, an open system or mainframe server 106) performs a read operation, and the server 206 performing the read fetches data from the
図3を参照すると、時点コピーを作成するためのマルチターゲット・アーキテクチャ300の一例が示されている。こうしたアーキテクチャ300は、図2に示されたストレージ・システム110bなどのストレージ・システム110内で実装可能である。図に示されるように、マルチターゲット・アーキテクチャ300はソース・ボリューム302および1つまたは複数のターゲット・ボリューム304a〜dを含む。ターゲット・ボリューム304a〜dのそれぞれは、ソース・ボリューム302内のデータの時点コピーを含む。FlashCopy(R)実装などの選択された実施形態では、時点コピーはソース・ボリューム302とターゲット・ボリューム304との間に関係を確立(または「マッピング」)することによって作成される。この関係が確立されると、たとえデータが依然としてソース・ボリューム302からターゲット・ボリューム304にコピーできない場合であっても、ソース・ボリューム302またはターゲット・ボリューム304のいずれかからデータを読み取ることができる。ターゲット・ボリューム304に関連付けられたターゲット・ビット・マップ(TBM)306は、どのデータ・トラックが実際にソース・ボリューム302からターゲット・ボリューム304にコピーされたかを追跡する。たとえば、TBM306内の「0」はデータ・トラックがコピーされた(すなわちターゲット・ボリューム304がそれ自体のデータを有する)旨を示すことができるが、「1」はデータ・トラックが未だにコピーされていない旨を示すことができる。TBM306が「1」を含む場合、ターゲット・ボリューム304上のトラックへの読み取りはソース・ボリューム302上の対応するトラックに向けて送ることができる。本開示では、TBM306内のビットは「1」を含む場合に「設定」されており、「0」を含む場合に「リセット」されていると言われるが、これは他の実施形態では逆の可能性がある。ソース302およびターゲット304は例示された実施形態では「ボリューム」とラベル付けされるが、ソース302およびターゲット304はデータセットまたは他のデータの集合とすることができることを理解されたい。
Referring to FIG. 3, an example of a
前述のように、従来のマルチターゲット・アーキテクチャ300では、ソース・ボリューム302への書き込みは、ソース・ボリューム302内のデータが、それ自体のデータを含まない接続された各ターゲット・ボリューム304a〜dにコピーされ(すなわちデステージされ)、ソース・ボリューム302への書き込みを完了できるまで待機が必要な可能性がある。すなわち、ソース・ボリューム302のデータ・トラック上で書き込みが実行される前に、既存のデータ・トラックを、ソース・ボリューム302上のデータ・トラックが上書きされる前にすでに未だデータ・トラックを含んでいないターゲット・ボリューム304a〜dにコピーする必要がある。マルチターゲット・アーキテクチャ300内のターゲット・ボリューム304a〜dの数が多くなるほど、データをソース・ボリューム302に正常に書き込むことができるまでに実行が必要なコピーの数も多くなる。これにより、ソース・ボリューム302への書き込みが非常に遅くなる可能性がある。このため従来の時点コピー技術は、性能影響を許容範囲内に維持するためにマルチターゲット・アーキテクチャ300内で限定数(たとえば12)のターゲット304のみをサポートすることができる。
As described above, in the conventional
以下でより詳細に説明されるように、本発明の好ましい実施形態に従った改良された方法を使用して、ソース・ボリューム302にマッピングされた複数のターゲット・ボリューム304a〜dを有することの性能影響を軽減することができる。ソース・ボリューム302上で書き込みが実行される場合に複数のターゲット304a〜dにデータをコピーする代わりに、改良された方法は、単一のターゲット304またはターゲット304のサブセットにデータをコピーする。次に継承方式は、他のターゲット304が、データを含む単一のターゲット304またはターゲット304のサブセットからデータを継承できるようにする。このようにして、ソース・ボリューム302への書き込みは、ソース・ボリューム302上で書き込みを完了できるまでに、単一のターゲット304またはターゲット304のサブセットにデータをコピーするだけでよいものとすることができる。図4から図8に示された流れ図は、こうした方法を実装するための方法の様々な特有の例を示す。
As described in more detail below, the performance of having
図4を参照すると、ターゲット・ボリューム304からトラックを読み取るための方法400の一例が示されている。ターゲット・ボリューム304からデータ・トラックを読み取るための要求を受け取ると、方法400は、ターゲット・ボリューム304のTBMが設定されているかどうかを判別する(402)。TBMが設定されていない場合(ターゲット・ボリューム304が要求されたデータを含むことを示す)、方法400は単にターゲット・ボリューム304から要求されたデータ・トラックを読み取る(406)。他方で、TBMが設定されている場合(ターゲット・ボリューム304が要求されたデータを含まないことを示す)、方法400は、データの読み取り元である高位のソース(HS)ボリュームを見つけ(404)、HSボリュームから読み取る(404)。HSボリュームを見つけるための1つの方法700は、図7に関連して説明される。本開示では、HSボリュームは、要求されたデータを含む、ターゲット・ボリューム304の継承元のボリュームである。
Referring to FIG. 4, an
図5を参照すると、ソース・ボリューム302への書き込みに応答してデータ・トラックをデステージするための方法500の一実施形態が示されている。図に示されるように、方法500は初期にソース・ボリューム302の最年少の子(YC)を見つける(502)。本開示では、YCは、ソース・ボリューム302に最後にマップされたターゲット・ボリューム304である。選択された実施形態では、生成数(GN)を使用して、時点コピーを生成するためにターゲット・ボリューム304がソース・ボリューム302に追加された順序を特定することができる。ソース・ボリューム302にターゲット304がマッピングされた順序を決定するためにGNが使用される様式について、図9に関連して考察する。
Referring to FIG. 5, one embodiment of a
方法500はYCを見つけると、YCのTBMが設定されているかどうかを判別する(504)。TBMが設定されていない場合(YC304がそれ自体のデータのコピーを含むことを示す)、YC304がすでにデータのコピーを有するため、方法500は何も実行しない(508)。他方で、TBMが設定されている場合(YC304がそれ自体のデータのコピーを含まないことを示す)、方法500はソース・ボリューム302からYC304にデータをコピーする(506)。このようにして、ソース・ボリューム302への書き込みが実行された場合、データを含まないすべてのターゲット・ボリューム304にデータをコピーするのとは反対に、ソース・ボリューム302とYC304との間で単一のコピーが実行される。そこで、他のターゲット・ボリューム304(YC304ではない)は、他のボリューム304への読み取りが実行される場合、または他のボリューム304からデータがコピーされる場合など、このデータをYC304から継承することができる。
If the
図6を参照すると、ターゲット・ボリューム304(ターゲットx)への書き込みに応答してデータ・トラックをデステージするための方法600の一実施形態が示されている。図に示されるように、方法600は初期に、ターゲットx304および最も近い年長の兄弟(COS)304に関するTBMが、書き込まれているトラックについて設定されているかどうかを判別する(602)。本開示では、COSはターゲットx304の直前にマッピングされたターゲット・ボリューム304である。両方のTBMが設定されている場合(どちらのボリュームも書き込まれているトラック内にデータを含まないことを示す)、方法600は高位ソース(HS)ボリュームからCOS304にデータ・トラックをコピーする(604)。HSボリュームを見つけるための方法については、図8に関連して考察する。他方で、ターゲットxに関するTBMが設定されておらず、COSに関するTBMが設定されている(ターゲットx304が上書きされているデータ・トラック内にデータを含むことを示す)ことが、ステップ606で判別された場合、方法600はデータ・トラックをターゲットxからCOS304にコピーする(608)、すなわちデータ・トラックはターゲットx304からCOS304にデステージされる。他方で、COSのTBMが設定されていない場合(COSがデータを含むことを示す)、COSは存在せず、方法600はコピーの必要がないため、何も実行しない(610)。方法600が終わりに達すると、ターゲットx上で書き込みを実行することができる。
Referring to FIG. 6, one embodiment of a
前述の方法500、600は、本発明から逸脱することなく様々な方法で修正可能であることを理解されたい。たとえば最年少の子(YC)を最年長の子に置き換えることが可能であり、最も近い年長の兄弟(COS)を最も近い年少の兄弟に置き換えることが可能である。したがって本開示では、YCおよびCOSを利用する実施形態は、最年長の子および最も近い年少の兄弟を利用する実施形態を包含するものともみなされる。他の変形も可能であり、本発明の範囲内にある。
It should be understood that the
図7を参照すると、読み取りのためにHSボリュームを見つけるための方法700の一実施形態が示されている。こうした方法700は、図4のステップ404に関連して使用可能である。図に示されるように、方法700は、読み取られているボリュームがターゲット・ボリューム304であるかどうかを初期に判別する(702)。ターゲット・ボリューム304でない場合、ソース・ボリューム302であるため、方法700はこのボリュームから読み取る。ボリュームがターゲット・ボリューム304である場合、方法は、ボリュームのTBMが設定されているかどうかを判別する(706)。TBMが設定されていない場合、方法700はボリューム304から読み取る(704)。ボリュームのTBMが設定されて居る場合、方法700はターゲット・ボリューム304に関連付けられたソース・ボリューム302を見つける(708)。次に方法700は、対象ターゲット・ボリューム304の生成数(GN)の次に高位の生成数(GN)との次の関係を見つける(710)。GNの使用法については、図9の例でより詳細に説明する。
Referring to FIG. 7, one embodiment of a
一般に、意思決定ステップ710は、(ステップ702で識別された)対象ターゲット・ボリューム304に関連付けられた関係の次の年少のソース・ボリューム302に関する関係を見つける。次に方法700は、この関係のターゲット304を見つける(714)。このターゲット304のTBMが設定されている場合716、方法700はターゲット304から読み取る。このターゲット304のTBMが設定されていない場合716、方法700はステップ710、714を反復し、次の年少のターゲット304を見つけて、そのTBMが設定されているかどうかを判別する(716)。このようにして、方法700は、所望のデータを含むターゲット・ボリューム304が見つかるまで、ステップ702で識別されたターゲット・ボリューム304の年少の兄弟をトラバースする。このデータが見つかると、方法700はターゲット304から読み取る(718)。所望のデータを含む年少の兄弟ターゲット304が見つからない場合、方法は単にソース・ボリューム302から読み取る(712)。このようにしてターゲット・ボリューム304は、兄弟304への読み取りが実行された場合に、兄弟304からデータを継承することができる。
In general,
図8を参照すると、データのコピー元のHSボリュームを見つけるための方法800の一実施形態が示される。こうした方法800は、図6のステップ604に関連して使用可能である。図に示されるように、方法800は初期に、書き込み先のボリュームがターゲット・ボリューム304であるかどうかを判別する。ターゲット・ボリューム304でない場合、ステップ804で反映されるように、コピーは不要である。ボリュームがターゲット・ボリューム304である場合、方法は、ボリュームのTBMが設定されているかどうかを判別する(806)。TBMが設定されていない場合、コピーは不要である。ボリュームがターゲット・ボリューム304であり、ボリュームのTBMが設定されている場合、方法はターゲット・ボリューム304に関連付けられたソース・ボリューム302を見つける(808)。次に方法800は、前述のように、高位の生成数(GN)との次の関係を見つける。
Referring to FIG. 8, one embodiment of a
次に高位のGNを見つけると、方法800は、ステップ802で識別されたターゲット304の兄弟であるこの関係のターゲット304を見つける(814)。この兄弟ターゲット304のTBMが設定されていない場合816(所望のデータを含むことを示す)、方法800は、兄弟ターゲット304からCOS304にデータをコピーする(818)。この兄弟ターゲット304のTBMが設定されている場合816(所望のデータを含まないことを示す)、方法800はステップ810、814を反復し、次の年少の兄弟ターゲット304を見つけて、そのTBMが設定されているかどうかを判別する(816)。このようにして、方法800は、所望のデータを含む兄弟ターゲット・ボリューム304が見つかるまで、ステップ802で識別されたターゲット・ボリューム304の年少の兄弟をトラバースする。このデータが見つかると、方法800は、兄弟ターゲット304からCOSにデータをコピーする(818)。所望のデータを含む兄弟ターゲット304が見つからない場合、方法800はソース・ボリューム302からCOSにデータをコピーする(812)。データがコピーされると、ステップ802で識別されたターゲット304上での書き込みが実行可能である。
Upon finding the next highest GN, the
図9を参照すると、生成数(GN)の使用を示すマルチターゲット・アーキテクチャ300の一例が示される。この例で、ソース・ボリューム(SV)302と第1のターゲット・ボリューム(TV1)304aとの間の関係が第1に作成され、次にソース・ボリューム302と第2のターゲット・ボリューム(TV2)304bとの間の関係、次にソース・ボリューム302と第3のターゲット・ボリューム(TV3)304cとの間の関係が作成されたものと想定する。新しい関係がソース・ボリューム302に追加される毎に、生成数が増分される。したがって、ソース・ボリューム302に示されるように、第1の関係は生成数「1」に関連付けられ、第2の関係は生成数「2」に関連付けられ、第3の関係は生成数「3」に関連付けられる。
Referring to FIG. 9, an example of a
初期に、ソース・ボリューム302と第1および第2のターゲット・ボリューム304a、304bとの間の関係が確立されるが、ソース・ボリューム302と第3のターゲット・ボリューム304cとの間の関係は未だ確立されていないものと想定する。このシナリオでは、第2のターゲット・ボリューム304bのトラック1への書き込みを実行するために、トラック1内のデータがソース・ボリューム302(高位のソース)から第1のターゲット・ボリューム304a(最も近い年長の兄弟、すなわちCOS)にコピーされ、第1のターゲット・ボリューム304aのTBMがリセットされる。その後、第2のターゲット・ボリューム304bのトラック1への書き込みが実行され、第2のターゲット・ボリューム304bのTBMがリセットされる。同様に、ソース・ボリューム302のトラック2への書き込みを実行するために、トラック2内のデータがソース・ボリューム302から第2のターゲット・ボリューム304b(最年少の子、すなわちYC)にコピーされ、第2のターゲット・ボリューム304bのTBMがリセットされる(ここでデータを含むことを示す)。その後、ソース・ボリューム302のトラック2への書き込みが実行される。2つの書き込み後に第1のターゲット・ボリューム(TV1)304aおよび第2のターゲット・ボリューム(TV2)304b内に常駐するデータが、図10に示される。TBM内の値も示される。
Initially, the relationship between the
ここで、ソース・ボリューム302と第3のターゲット・ボリューム304cとの間の第3の関係が確立されるものと想定する。ソース・ボリューム302のトラック3への書き込みを実行するために、トラック3内のデータがソース・ボリューム302から第3のターゲット・ボリューム304c(最年少の子、すなわちYC)にコピーされ、第3のターゲット・ボリューム304cのTBMがリセットされる。次に、ソース・ボリューム302のトラック3への書き込みが実行される。第2のターゲット・ボリューム304bのトラック4への書き込みを実行するために、トラック4内のデータがソース・ボリューム302(高位のソース)から第1のターゲット・ボリューム304a(最も近い年長の兄弟、すなわちCOS)にコピーされ、第1のターゲット・ボリューム304aのTBMがリセットされる。次に、第2のターゲット・ボリューム304bのトラック4への書き込みが実行され、第2のターゲット・ボリューム304bのTBMがリセットされる。
Here, it is assumed that a third relationship between the
第1のターゲット・ボリューム304aのトラック5への書き込みを実行するために、最も近い年長の兄弟、すなわちCOSが存在しないため、コピーは実行されない。次に、第1のターゲット・ボリューム304aのトラック5への書き込みが実行され、第1のターゲット・ボリューム304aのTBMがリセットされる。第3のターゲット・ボリューム304cのトラック6への書き込みを実行するために、トラック6内のデータがソース・ボリューム302(高位のソース)から第2のターゲット・ボリューム304b(最も近い年長の兄弟、すなわちCOS)にコピーされ、第2のターゲット・ボリューム304bのTBMがリセットされる。次に、第3のターゲット・ボリューム304cのトラック6への書き込みが実行され、第3のターゲット・ボリューム304cのTBMがリセットされる。前述の6つすべての書き込み後、第1のターゲット・ボリューム(TV1)304a、第2のターゲット・ボリューム(TV2)304b、および第3のターゲット・ボリューム(TV3)304c内に常駐するデータが、図11に示される。TBM内の値も示される。
In order to perform writing to track 5 of the
図12を参照すると、ある環境では、ソース・ボリューム302とターゲット・ボリューム304との間の関係、またはソース・ボリューム302といくつかのターゲット・ボリューム304との間のいくつかの関係を、マルチターゲット・アーキテクチャ300から削除することができる。マルチターゲット・アーキテクチャ300から関係が削除された場合、ソース・ボリューム302と関係に関連付けられたターゲット・ボリューム304との間の時点コピー関係が終了する。ある実施形態では、これにより、関係が削除されたターゲット・ボリューム304からデータを継承するための他の兄弟ターゲット・ボリューム304の機能が終了する可能性がある。したがって、ある実施形態では、関係の削除に先立って、関係に関連付けられたターゲット・ボリューム304上のデータを1つまたは複数の兄弟ターゲット・ボリューム304にコピーすることが可能であるため、結果として兄弟ターゲット・ボリューム304は依然としてデータにアクセス可能である。
Referring to FIG. 12, in some environments, a relationship between a
たとえば、ソース・ボリューム302とターゲット・ボリューム304cとの間の関係が(点線矢印で示されるように)削除用に識別されるものと想定する。関係の削除に先立って、ターゲット・ボリューム304c上に記憶され、他の兄弟ターゲット・ボリューム304によって継承されるデータを、1つまたは複数の兄弟ターゲット・ボリューム304にコピーすることが可能であるため、結果として兄弟ターゲット・ボリューム304は依然としてデータにアクセス可能である。たとえばある実施形態では、図4から図8で説明された時点コピー方法を使用する場合など、データが最も近い年長の兄弟(COS)にコピーされることになる。他の時点コピー方法を使用して、データをCOS以外の他の兄弟ターゲット・ボリューム304にコピーすることができる。それにもかかわらず、本開示では、データがCOSにコピーされるものと想定される。ターゲット・ボリューム304cに記憶され、他の兄弟ターゲット・ボリューム304によって継承されるすべてのデータがCOSにコピーされると、ソース・ボリューム302とターゲット・ボリューム304cとの間の関係は削除可能であり、それにより、ソース・ボリューム302とターゲット・ボリューム304cとの間の時点コピー関係は終了する。
For example, assume that the relationship between the
図13を参照すると、あるケースでは、ソース・ボリューム302と空間効率の良い(SE)ターゲット・ボリューム304との間の関係を削除することができる。SEターゲット・ボリューム304は、データがボリューム内に物理的に記憶されないという点で、標準の(図12に示されたような)ターゲット・ボリューム304とは異なる。むしろSEターゲット・ボリューム304は、そのデータが共通リポジトリ1200内に物理的に記憶される(点線で示されるような)仮想ボリュームである。マッピング構造1202は、SEターゲット・ボリュームのデータがリポジトリ1200内のどこに物理的に配置されるかを追跡する。言い換えれば、マッピング構造1202は、SEターゲット・ボリューム304の論理トラックをリポジトリ1200の物理トラックにマッピングする。ホスト・デバイスの観点から見ると、SEターゲット・ボリューム304からの読み取りまたはSEターゲット・ボリューム304への書き込みは、標準ターゲット・ボリュームからの読み取りまたは標準ターゲット・ボリュームへの書き込みと同じとすることができる。
Referring to FIG. 13, in some cases, the relationship between the
SEターゲット・ボリューム304はいかなるデータも物理的に記憶しないため、関係が削除される場合、SEターゲット・ボリューム304から他の兄弟SEターゲット・ボリューム304へのデータの物理的コピーは不要である。むしろ他の兄弟SEターゲット・ボリューム、より具体的に言えばCOSボリュームが、リポジトリ1200内のSEターゲット・ボリュームのデータを指し示すように、マッピング構造1202を修正することができる。言い換えれば、1つのSEターゲット・ボリュームから他へデータを物理的にコピーする代わりに、標準ターゲット・ボリュームで実行し得るように、1つのSEターゲット・ボリューム内に論理的に記憶されたデータがここでは他のSEターゲット・ボリューム内に論理的に記憶されるように、マッピング構造1202を修正することができる。本開示では、以下で言及されるすべてのターゲット・ボリュームが空間効率の良い(SE)ターゲット・ボリュームであるものと想定される。
Since the SE target volume 304 does not physically store any data, a physical copy of data from the SE target volume 304 to another sibling SE target volume 304 is not required if the relationship is deleted. Rather, the mapping structure 1202 can be modified so that other sibling SE target volumes, more specifically COS volumes, point to the data of the SE target volumes in the
図14を参照すると、ある実施形態では、マルチターゲット・アーキテクチャ300内のそれぞれの関係を追跡するために、関係テーブル1300がメモリ214内に記憶される。ある実施形態では、各関係は、それらと、関係のソースに対応するソース関係エントリ1302aおよび関係のターゲットに対応するターゲット関係エントリ1302bとを関連付けている。以下でより詳細に説明されるように、関係を削除する場合、関係の削除が進行中である(すなわちマッピング構造が、関係を削除するのに備えてデータをCOSにマッピングするように修正中である)ことを示すために、関係に関連付けられたソース関係エントリ1302aおよびターゲット関係エントリ1302bを「削除」とマーク付けすることができる。このように関係エントリ1302a、1302bを作成することで、その関係の削除が進行中であるSEターゲット・ボリューム304にデータが書き込まれないよう保証することもできる。SEターゲット・ボリューム内に論理的に記憶されたデータがCOS内に論理的に記憶されるようにマッピング構造が修正されると、関係を削除することができる。関係の削除は、関係テーブル1300からの関係に関連付けられたソース関係エントリ1302aおよびターゲット関係エントリ1302bの削除を含むことができる。
Referring to FIG. 14, in one embodiment, a relationship table 1300 is stored in the memory 214 to track each relationship in the
図15を参照すると、マルチターゲット・アーキテクチャ300内のソース302とSEターゲット304との間の関係を削除するための方法1400の一実施形態が示されている。図に示されるように、方法1400は初期に、撤回(withdraw)の要求(すなわち関係を削除する要求)が受け取られたかどうかを判別する(1402)。撤回の要求が受け取られた場合、方法1400は、関係に関連付けられた関係エントリを「削除」とマーク付けする(1404)。これは、関係に関連付けられたソース関係エントリ1302aおよびターゲット関係エントリ1302bの両方を「削除」とマーク付けすること1404を含むことができる。次に方法1400は、関係がすでに進行中かどうか、すなわちマッピング構造1202が関係削除に備えてデータをCOSにマッピングするよう修正中であるかどうかを判別する(1406)。
Referring to FIG. 15, one embodiment of a
関係がすでに進行中である場合、方法1400は関係をキューに入れる(1408)。関係をキューに入れると、方法1400は、年少関係に先立って年長関係を処理するために、キュー内の関係を最年長から最年少へとソートする(1408)。これにより、マッピング構造1202が修正される回数が理想的に最小限となる。たとえば、マッピング構造1202が、その関係が削除される番にあるCOSにデータをマッピングするように修正される場合、マッピング構造1202は再度修正される必要があり、時間とリソースの両方が無駄である。最年長から最年少へと関係を処理することで、マッピング構造1202の修正が最小回数であることを保証するのに役立つ。
If the relationship is already in progress, the
様々な方法または技法を使用して、関係の年齢を決定することができる。ある実施形態では、関係の年齢は、図9に示されたような生成数を使用して決定される。たとえば、ソース・ボリューム302上の生成数を検査することによって、関係の年齢が容易に決定できる。図9に示された例では、生成数は新しい関係が生成される毎に増分される。したがって、生成数「1」に関連付けられた関係は最年長であり、生成数「3」に関連付けられた関係は最年少である。この規則は、他の実施形態では逆にすることができる。
Various methods or techniques can be used to determine the age of the relationship. In some embodiments, the age of the relationship is determined using a generated number as shown in FIG. For example, by examining the number of generations on the
キュー内に関係がない場合、方法1400は単に関係を処理する(1410)。キュー内に1つまたは複数の関係がある場合、方法1400はキュー内の次の関係を処理する(1410)。関係を処理する(1410)ための様々な方法は、図16および図17に関連して説明される。関係が処理されると、すなわちマッピング構造1202がSEターゲット304に関してCOS304にデータをマッピングするように修正されると、方法1400は、関係テーブル1300から関係に関連付けられた関係エントリ1302a、1302bを除去する(1412)。これにより、関係は終了する。次に方法は、いずれかの他の関係がキュー内にあるかどうかをチェックする1414。キューが空の場合、方法1400は撤回する次の要求を待機する(1402)。キューが空でない場合、方法1400はキュー内の次の関係を処理する(1410)。これが、キュー内のすべての関係が処理されるまで続行される。
If there is no relationship in the queue, the
ある実施形態では、方法1400は任意の特定の時点でいくつかの関係が進行中であることが可能なように構成される。ある実施形態では、任意の特定の時点で進行中の関係の数を、ストレージ・デバイス204(たとえばディスク・ドライブ、ソリッドステート・ドライブなど)またはストレージ・デバイス204に関連付けられたデバイス・アダプタ210をオーバドライブ(overdrive)しないように制限することができる。たとえばある実施形態では、デバイスをオーバドライブしないように、デバイス・アダプタ210およびストレージ・デバイス204を任意の特定の時点でいくつか(たとえば4つ)の関係を処理するように制限することができる。いくつかの関係を同時に処理している場合、マッピング構造1202が修正される回数を最小限にするために、新しい関係よりも古い関係に優先権を与えることができる。
In certain embodiments, the
図16を参照すると、関係を処理するための方法1410の実施形態が示される。こうした方法1410は、図15で説明されるように、関係が処理される場合1410はいつでも実行可能である。図に示されるように、関係を処理するために、方法1410は関係に関連付けられたSEターゲットを初期に識別する(1500)。次に方法1410は、SEターゲットの最も近い年長の兄弟(COS)を識別する(1502)。次に方法1410は、SEターゲットおよびCOSの第1のトラックを検査する(1504)。方法1410が、トラックに関するSEターゲットのTBMが設定されていないこと(SEターゲットがデータのコピーを含むことを示す)を判別し(1506)、トラックに関するCOSのTBMが設定されていること(COSがデータのコピーを含まないことを示す)を判別する(1508)と、方法1410は、リポジトリ1200内のデータをCOSにマッピングするようにマッピング構造1202を修正する(1510)。次に、データのコピーを含むことを示すように、トラックに関するCOSのTBMがリセットされる(1510)。しかしながら、トラックに関するSEターゲットのTBMが設定されている場合(SEターゲットがデータのコピーを含まないことを示す)、またはトラックに関するCOSのTBMが設定されていない場合(COSがすでにデータのコピーを含むことを示す)、マッピング構造1202は修正されず、方法1410は意思決定ステップ1512に進む。
Referring to FIG. 16, an embodiment of a
方法1410がトラックを検査し、マッピング構造1202を修正するか、または修正が不要であるものと判別すると、方法1410は、SEターゲット304の最終トラックに到達したかどうかを判別する(1512)。最終トラックに到達していない場合、方法1410はSEターゲットの次のトラックおよびCOSの対応するトラックを検査し(1514)、ステップ1506、1508、1510、1512を反復する。SEターゲット304内のすべてのトラックが検査され、必要であればそれらのトラックに関してマッピング構造1202が修正された場合、方法1410は終了する。
If
図17を参照すると、関係を処理するための方法1410の他の実施形態が示される。こうした方法1410は、関係が処理される場合1410には必ず図16の方法の代わりに実行可能である。図17に示された方法1410を使用して、データセットレベルの時点コピー実装などの、SEターゲット内のトラックの異なる範囲が異なる最も近い年長の兄弟(COS)を有する実装に対処することができる。
Referring to FIG. 17, another embodiment of a
図に示されるように、関係を処理するために、方法1410は初期に、関係に関連付けられたSEターゲットを識別し(1600)、SEターゲットの第1のトラック範囲(たとえば第1の50のトラック)を識別する(1602)。次に方法1410は、トラック範囲に関連付けられた最も近い年長の兄弟(COS)を識別する(1604)。次に方法1410は、トラック範囲の第1のトラックおよびCOSの対応するトラックを検査する(1606)。方法1410が、トラック範囲内のトラックに関するTBMが設定されていないこと(トラックがデータのコピーを含むことを示す)を判別し(1608)、COSの対応するトラックに関するTBMが設定されていること(COS内のトラックがデータのコピーを含まないことを示す)を判別した(1610)場合、方法1410は、リポジトリ1200内のデータをCOSにマッピングするようにマッピング構造1202を修正する(1620)。次に、COS内のトラックに関するTBMが、ここでデータのコピーを含むことを示すようにリセットされる(1620)。しかしながら、SEターゲット上のトラックに関するTBMが設定されている(SEターゲットがデータのコピーを含まないことを示す)か、または対応するトラックに関するCOSのTBMが設定されていない(COSがすでにデータのコピーを含むことを示す)場合、マッピング構造1202は修正されず、方法1410は意思決定ステップ1618に進む。
As shown, to process the relationship, the
方法1410がトラック範囲内のトラックを検査し、マッピング構造1202を修正するかまたは修正が不要であると判別すると、方法1410はトラック範囲内に他のトラックが存在するかどうかを判別する(1618)。トラック範囲内に他のトラックが存在する場合、方法1410は、ステップ1608、1610、1620、1618を反復することによって、トラック範囲の次のトラック並びにCOS内の対応するトラックを検査する(1616)。トラック範囲内のすべてのトラックが検査され、必要であれば、それらのトラックに関してマッピング構造1202が修正された場合、方法1410は、SEターゲット内に他のトラック範囲があるかどうかを判別する(1614)。他のトラック範囲がある場合、方法1410はそのトラック範囲に関するCOSを識別し(1604)、トラック範囲および識別されたCOSに関してステップ1606、1608、1610、1620、1618、1616を反復する。これは、SEターゲットのすべてのトラック範囲内のすべてのトラックが検査され、必要であればそれらのトラックに関してマッピング構造1202が修正されるまで続行される。SEターゲットのすべてのトラック範囲内のすべてのトラックが検査され、マッピング構造1202が適宜修正されると、方法1410は終了する。
If
図面内の流れ図およびブロック図は、本発明の様々な好ましい実施形態に従ったシステム、方法、およびコンピュータ使用可能メディアの可能な実装のアーキテクチャ、機能、および動作を示す。この点で、流れ図またはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部分を表すことができる。いくつかの代替実装では、ブロック内に示された機能が図面内に示された順序以外で実行可能であることにも留意されたい。たとえば関連する機能に応じて、連続して示された2つのブロックが実際にはほぼ同時に実行可能であるか、または時にブロックは逆の順序で実行可能である。ブロック図あるいは流れ図またはその両方の各ブロック、およびブロック図あるいは流れ図またはその両方内のブロックの組み合わせが、指定された機能を実行する特定用途向けハードウェアベース・システム、または特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって、実装可能であることにも留意されよう。 The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer-usable media in accordance with various preferred embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of code that includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions shown in the blocks can be performed out of the order shown in the drawings. Depending on the functions involved, for example, two blocks shown in succession can actually be executed almost simultaneously, or sometimes the blocks can be executed in reverse order. Application-specific hardware-based systems, or application-specific hardware and computers, where each block in the block diagram and / or flow diagram, and combinations of blocks in the block diagram and / or flow diagram, perform the specified function Note also that it can be implemented by a combination of instructions.
Claims (4)
前記ソースと一つのSEターゲットとの間のポイント・イン・タイム・コピー関係をマッピングする第1の関係を前記マルチターゲット・アーキテクチャから見つけるステップと、
前記第1の関係に関連付けられた空間効率の良い(SE)ターゲットを前記マルチターゲット・アーキテクチャから見つけるステップであって、前記SEターゲットの論理トラック内のデータはリポジトリ内に物理的に記憶されている、前記見つけるステップと、
前記ソースとポイント・イン・タイム・コピー関係にあり且つ前記SEターゲットと異なるポイント・イン・タイムでの兄弟SEターゲットを前記マルチターゲット・アーキテクチャから見つけるステップであって、前記兄弟SEターゲットが前記データのコピーにより前記SEターゲットから当該データを継承し、前記兄弟SEターゲットは、前記SEターゲットの最も近い年長の兄弟(COS)SEターゲットであり、前記最も近い年長の兄弟SEターゲットは、前記SEターゲットの直前にマッピングされたターゲットである、前記見つけるステップと、
前記SEターゲットの論理トラック内のデータを前記リポジトリの物理トラック内のデータにマッピングするマッピング構造を、前記リポジトリの前記物理トラック内の前記データを前記兄弟SEターゲットの前記論理トラックにマッピングするように修正するステップであって、前記リポジトリは前記複数のSEターゲットのデータを物理的に記憶する、前記修正するステップと、
前記第1の関係を前記マルチターゲット・アーキテクチャから削除するステップであって、当該削除によって前記ソースと前記SEターゲットとの間のポイント・イン・タイム・コピー関係が終了する、前記削除するステップと
を実行することを含む、前記方法。 A method for removing a relationship between a source and a space efficient (SE) target in a multi-target architecture, wherein the multi-target architecture is a single source and a plurality of SE targets mapped to the source. And the computer is
Finding a first relationship from the multi-target architecture that maps a point-in-time copy relationship between the source and one SE target;
Finding from the multi-target architecture a space efficient (SE) target associated with the first relationship, wherein data in the logical track of the SE target is physically stored in a repository. And said finding step;
Finding a sibling SE target from the multi-target architecture that is in a point-in-time copy relationship with the source and at a different point in time than the SE target, wherein the sibling SE target Inherit the data from the SE target by copying, the sibling SE target is the SE's closest older sibling (COS) SE target, and the nearest older sibling SE target is the SE target Said finding step, which is the target mapped immediately before
The mapping structure that maps data in the logical track of the SE target to data in the physical track of the repository is modified to map the data in the physical track of the repository to the logical track of the sibling SE target Said modifying step wherein said repository physically stores data of said plurality of SE targets;
Deleting the first relationship from the multi-target architecture, wherein the deleting terminates a point-in-time copy relationship between the source and the SE target; and Performing said method.
(1)前記兄弟SEターゲット内に論理的に記憶されておらず且つSEターゲット内に論理的に記憶されたデータを見つけるステップと、
(2)前記SEターゲット内に論理的に記憶されているが前記兄弟SEターゲット内に論理的に記憶されていないデータが前記兄弟SEターゲット内に論理的に記憶されるように、前記マッピング構造を修正するステップと
をさらに含む、請求項1に記載の方法。 Modifying the mapping structure comprises:
(1) finding data that is not logically stored in the sibling SE target and logically stored in the SE target;
(2) The mapping structure is such that data that is logically stored in the SE target but not logically stored in the sibling SE target is logically stored in the sibling SE target. The method of claim 1, further comprising: modifying.
前記ソースと一つのSEターゲットとの間のポイント・イン・タイム・コピー関係をマッピングする第1の関係を前記マルチターゲット・アーキテクチャから見つけるための第1の構成要素と、
前記第1の関係に関連付けられた空間効率の良い(SE)ターゲットを前記マルチターゲット・アーキテクチャから見つけるための第2の構成要素であって、前記SEターゲットの論理トラック内のデータはリポジトリ内に物理的に記憶されている、前記第2の構成要素と、
前記ソースとポイント・イン・タイム・コピー関係にあり且つ前記SEターゲットと異なるポイント・イン・タイムでの兄弟SEターゲットを前記マルチターゲット・アーキテクチャから見つけるための第3の構成要素であって、前記兄弟SEターゲットが前記データのコピーにより前記SEターゲットから当該データを継承し、前記兄弟SEターゲットは、前記SEターゲットの最も近い年長の兄弟(COS)SEターゲットであり、前記最も近い年長の兄弟SEターゲットは、前記SEターゲットの直前にマッピングされたターゲットである、前記第3の構成要素と、
前記SEターゲットの論理トラック内のデータを前記リポジトリの物理トラック内のデータにマッピングするマッピング構造を、前記リポジトリの前記物理トラック内の前記データを前記兄弟SEターゲットの前記論理トラックにマッピングするように修正するための第4の構成要素であって、前記リポジトリは前記複数のSEターゲットのデータを物理的に記憶する、前記第4の構成要素と、
前記第1の関係を前記マルチターゲット・アーキテクチャから削除するための第5の構成要素であって、当該削除によって前記ソースと前記SEターゲットとの間のポイント・イン・タイム・コピー関係が終了する、前記第5の構成要素と
を備えている、前記装置。 An apparatus for deleting a relationship between a source and a space efficient (SE) target in a multi-target architecture, the multi-target architecture comprising a single source and a plurality of SE targets mapped to the source And the device comprises:
A first component for finding a first relationship from the multi-target architecture that maps a point-in-time copy relationship between the source and one SE target;
A second component for finding from the multi-target architecture a space efficient (SE) target associated with the first relationship, wherein data in the logical track of the SE target is physically stored in a repository. Said second component being stored in memory,
A third component for finding from the multi-target architecture a sibling SE target that is in a point-in-time copy relationship with the source and at a different point in time than the SE target; An SE target inherits the data from the SE target by copying the data, and the sibling SE target is the nearest older sibling (COS) SE target of the SE target, and the nearest older sibling SE The target is the third component that is the target mapped immediately before the SE target; and
The mapping structure that maps data in the logical track of the SE target to data in the physical track of the repository is modified to map the data in the physical track of the repository to the logical track of the sibling SE target A fourth component for storing, wherein the repository physically stores data of the plurality of SE targets; and
A fifth component for deleting the first relationship from the multi-target architecture, the deletion ends a point-in-time copy relationship between the source and the SE target; The device comprising: the fifth component.
前記ソースと一つのSEターゲットとの間のポイント・イン・タイム・コピー関係をマッピングする第1の関係を前記マルチターゲット・アーキテクチャからから見つけるステップと、
前記第1の関係に関連付けられた空間効率の良い(SE)ターゲットを前記マルチターゲット・アーキテクチャから見つけるステップであって、前記SEターゲットの論理トラック内のデータはリポジトリ内に物理的に記憶されている、前記見つけるステップと、
前記ソースとポイント・イン・タイム・コピー関係にあり且つ前記SEターゲットと異なるポイント・イン・タイムでの兄弟SEターゲットを前記マルチターゲット・アーキテクチャから見つけるステップであって、前記兄弟SEターゲットが前記データのコピーにより前記SEターゲットから当該データを継承し、前記兄弟SEターゲットは、前記SEターゲットの最も近い年長の兄弟(COS)SEターゲットであり、前記最も近い年長の兄弟SEターゲットは、前記SEターゲットの直前にマッピングされたターゲットである、前記見つけるステップと、
前記SEターゲットから前記兄弟SEターゲットに前記データをコピーするステップと、
前記第1の関係を前記マルチターゲット・アーキテクチャから削除するステップあって、当該削除によって前記ソースと前記SEターゲットとの間のポイント・イン・タイム・コピー関係が終了する、前記削除するステップと
を実行することを含む、前記方法。 A method for removing a relationship between a source and a space efficient (SE) target in a multi-target architecture, wherein the multi-target architecture is a single source and a plurality of SE targets mapped to the source. And the computer is
Finding from the multi-target architecture a first relationship that maps a point-in-time copy relationship between the source and one SE target;
Finding from the multi-target architecture a space efficient (SE) target associated with the first relationship, wherein data in the logical track of the SE target is physically stored in a repository. And said finding step;
Finding a sibling SE target from the multi-target architecture that is in a point-in-time copy relationship with the source and at a different point in time than the SE target, wherein the sibling SE target Inherit the data from the SE target by copying, the sibling SE target is the SE's closest older sibling (COS) SE target, and the nearest older sibling SE target is the SE target Said finding step, which is the target mapped immediately before
Copying the data from the SE target to the sibling SE target;
Performing the step of deleting the first relationship from the multi-target architecture, wherein the deletion terminates a point-in-time copy relationship between the source and the SE target. Said method comprising:
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/043,398 US8667237B2 (en) | 2011-03-08 | 2011-03-08 | Deleting relations in multi-target, point-in-time-copy architectures with data deduplication |
US13/043,398 | 2011-03-08 | ||
US13/043,409 | 2011-03-08 | ||
US13/043,394 US20120233416A1 (en) | 2011-03-08 | 2011-03-08 | Multi-target, point-in-time-copy architecture with data deduplication |
US13/043,409 US20120233121A1 (en) | 2011-03-08 | 2011-03-08 | Deleting relations between sources and space-efficient targets in multi-target architectures |
US13/043,394 | 2011-03-08 | ||
PCT/IB2012/050996 WO2012120421A1 (en) | 2011-03-08 | 2012-03-02 | Deleting relations between sources and space-efficient targets in multi-target architectures |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014511539A JP2014511539A (en) | 2014-05-15 |
JP6048976B2 true JP6048976B2 (en) | 2016-12-27 |
Family
ID=46797545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013557198A Expired - Fee Related JP6048976B2 (en) | 2011-03-08 | 2012-03-02 | Method, computer program, and apparatus for deleting a relationship between a source and a space efficient target in a multi-target architecture |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP6048976B2 (en) |
CN (1) | CN103415843B (en) |
DE (1) | DE112012000604T5 (en) |
GB (1) | GB2502929B (en) |
WO (1) | WO2012120421A1 (en) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4644446B2 (en) * | 2004-06-11 | 2011-03-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and program for managing information about a relationship between a target volume and a source volume when performing additional operations on the relationship |
GB0428108D0 (en) * | 2004-12-23 | 2005-01-26 | Ibm | Storage system with multiple copy targeting |
GB0504390D0 (en) * | 2005-03-02 | 2005-04-06 | Ibm | Storage system with cascaded copy targeting and enhanced integrity |
JP4662548B2 (en) * | 2005-09-27 | 2011-03-30 | 株式会社日立製作所 | Snapshot management apparatus and method, and storage system |
US7587564B2 (en) * | 2006-09-26 | 2009-09-08 | International Business Machines Corporation | System, method and computer program product for managing data versions |
US7593973B2 (en) * | 2006-11-15 | 2009-09-22 | Dot Hill Systems Corp. | Method and apparatus for transferring snapshot data |
US7716183B2 (en) * | 2007-04-11 | 2010-05-11 | Dot Hill Systems Corporation | Snapshot preserved data cloning |
JP5228466B2 (en) * | 2007-12-14 | 2013-07-03 | 富士通株式会社 | Backup device, backup method and backup program |
US8327095B2 (en) * | 2008-06-06 | 2012-12-04 | International Business Machines Corporation | Maintaining information of a relationship of target volumes comprising logical copies of a source volume |
US8051259B2 (en) * | 2008-06-23 | 2011-11-01 | International Business Machines Corporation | Space efficient de-allocation for cascade/multiple target flash copy cleaning |
US8449679B2 (en) * | 2008-08-15 | 2013-05-28 | Lam Research Corporation | Temperature controlled hot edge ring assembly |
US8230185B2 (en) * | 2008-10-08 | 2012-07-24 | International Business Machines Corporation | Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps |
US8990528B2 (en) * | 2009-01-06 | 2015-03-24 | International Business Machines Corporation | Method for fast format of a fully allocated volume when copied from a space efficient volume |
JP5581776B2 (en) * | 2010-03-31 | 2014-09-03 | 富士通株式会社 | Backup device, backup method and backup program |
-
2012
- 2012-03-02 CN CN201280011948.6A patent/CN103415843B/en not_active Expired - Fee Related
- 2012-03-02 GB GB1316907.3A patent/GB2502929B/en active Active
- 2012-03-02 DE DE112012000604.6T patent/DE112012000604T5/en active Pending
- 2012-03-02 JP JP2013557198A patent/JP6048976B2/en not_active Expired - Fee Related
- 2012-03-02 WO PCT/IB2012/050996 patent/WO2012120421A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
GB2502929A (en) | 2013-12-11 |
WO2012120421A1 (en) | 2012-09-13 |
GB2502929B (en) | 2020-06-03 |
DE112012000604T5 (en) | 2014-01-16 |
CN103415843B (en) | 2016-12-21 |
GB201316907D0 (en) | 2013-11-06 |
CN103415843A (en) | 2013-11-27 |
JP2014511539A (en) | 2014-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8843719B2 (en) | Multi-target, point-in-time-copy architecture with data duplication | |
US8972681B2 (en) | Enhanced copy-on-write operation for solid state drives | |
US8433867B2 (en) | Using the change-recording feature for point-in-time-copy technology to perform more effective backups | |
US7783850B2 (en) | Method and apparatus for master volume access during volume copy | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
US7716183B2 (en) | Snapshot preserved data cloning | |
US8606767B2 (en) | Efficient metadata invalidation for target CKD volumes | |
US8423505B2 (en) | Catalog reorganization apparatus and method | |
US20170177443A1 (en) | Point-in-time-copy creation for direct cloud backup | |
US9594511B2 (en) | Cascaded, point-in-time-copy architecture with data deduplication | |
US8850147B2 (en) | Deleting relations in multi-target, point-in-time-copy architectures with data deduplication | |
US8006049B2 (en) | Export of logical volumes by pools | |
JP6048976B2 (en) | Method, computer program, and apparatus for deleting a relationship between a source and a space efficient target in a multi-target architecture | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
US11048667B1 (en) | Data re-MRU to improve asynchronous data replication performance | |
US11249667B2 (en) | Storage performance enhancement | |
WO2021031618A1 (en) | Data backup method, data backup apparatus, and data backup system | |
KR20220139420A (en) | Proactive staging for complete stride destage | |
US10366014B1 (en) | Fast snap copy | |
US20120233136A1 (en) | Deleting relations between sources and space-efficient targets in multi-target architectures | |
US11379427B2 (en) | Auxilary LRU list to improve asynchronous data replication performance | |
US11055015B2 (en) | Fine-grain asynchronous mirroring suppression | |
US8892834B2 (en) | Cyclic point-in-time-copy architecture with data deduplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20151029 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151029 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20151029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20151030 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160414 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160414 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20160707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160921 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161003 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20161003 |
|
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: 20161025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20161028 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20161028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6048976 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |