Nothing Special   »   [go: up one dir, main page]

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 PDF

Info

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
Application number
JP2013557198A
Other languages
Japanese (ja)
Other versions
JP2014511539A (en
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
Priority claimed from US13/043,398 external-priority patent/US8667237B2/en
Priority claimed from US13/043,394 external-priority patent/US20120233416A1/en
Priority claimed from US13/043,409 external-priority patent/US20120233121A1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014511539A publication Critical patent/JP2014511539A/en
Application granted granted Critical
Publication of JP6048976B2 publication Critical patent/JP6048976B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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]

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.

従来技術に従い、本発明の好ましい実施形態が内部で実装可能な、様々なタイプのストレージ・システムを備えるネットワーク・アーキテクチャの一例を示す高水準ブロック図である。1 is a high-level block diagram illustrating an example of a network architecture with various types of storage systems in which a preferred embodiment of the present invention can be implemented, according to the prior art. FIG. 従来技術に従い、本発明の好ましい実施形態が内部で実装可能な、方法の、ストレージ・システムの一例を示す高水準ブロック図である。1 is a high-level block diagram illustrating an example storage system of a method in which a preferred embodiment of the present invention can be implemented, according to the prior art. FIG. 本発明の好ましい実施形態に従った、複数のターゲット・ボリュームにマッピングされたソース・ボリュームを備えるマルチターゲット・アーキテクチャの一例を示す高水準ブロック図である。FIG. 3 is a high level block diagram illustrating an example of a multi-target architecture with source volumes mapped to multiple target volumes, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ターゲット・ボリュームからトラックを読み取るための方法の一実施形態を示す高水準ブロック図である。FIG. 6 is a high level block diagram illustrating one embodiment of a method for reading a track from a target volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ソース・ボリュームへの書き込みに応答してデータ・トラックをコピーするための方法の一実施形態を示す流れ図である。3 is a flow diagram illustrating one embodiment of a method for copying a data track in response to writing to a source volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ターゲット・ボリュームへの書き込みに応答してデータ・トラックをコピーするための方法の一実施形態を示す流れ図である。4 is a flow diagram illustrating one embodiment of a method for copying a data track in response to writing to a target volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ボリュームへの読み取りに応答して高位のソース(HS)ボリュームを見つけるための方法の一実施形態を示す流れ図である。4 is a flow diagram illustrating one embodiment of a method for locating a higher source (HS) volume in response to reading to a volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ボリュームへの書き込みに応答して高位のソース(HS)ボリュームを見つけるための方法の一実施形態を示す流れ図である。3 is a flow diagram illustrating one embodiment of a method for locating a higher source (HS) volume in response to writing to a volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、生成数の使用を示すマルチターゲット・アーキテクチャの一例を示す高水準図である。FIG. 3 is a high-level diagram illustrating an example of a multi-target architecture showing the use of generated numbers, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、様々な書き込みが実行された後の、図9に示されたボリュームに関するデータおよびTBMボリュームを示す表である。10 is a table showing data and TBM volumes for the volume shown in FIG. 9 after various writes have been performed, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、様々な書き込みが実行された後の、図9に示されたボリュームに関するデータおよびTBMボリュームを示す表である。10 is a table showing data and TBM volumes for the volume shown in FIG. 9 after various writes have been performed, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ソース・ボリュームとターゲット・ボリュームとの間の関係の削除を示す高水準ブロック図である。FIG. 6 is a high-level block diagram illustrating deletion of a relationship between a source volume and a target volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、ソース・ボリュームと空間効率の良い(SE)ターゲット・ボリュームとの間の関係の削除を示す高水準ブロック図である。FIG. 6 is a high-level block diagram illustrating deletion of a relationship between a source volume and a space efficient (SE) target volume, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、メモリ内のソースとターゲットの関係エントリを示す高水準ブロック図である。FIG. 4 is a high level block diagram illustrating source and target relationship entries in memory, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、マルチターゲット・アーキテクチャ内でのソースとSEターゲットとの間の関係を削除するための方法の一実施形態を示す流れ図である。4 is a flow diagram illustrating one embodiment of a method for deleting a relationship between a source and an SE target in a multi-target architecture according to a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、削除された関係を処理するための方法の一実施形態を示す流れ図である。6 is a flow diagram illustrating one embodiment of a method for processing a deleted relationship, in accordance with a preferred embodiment of the present invention. 本発明の好ましい実施形態に従った、削除された関係を処理するための方法の他の実施形態を示す流れ図である。6 is a flow diagram illustrating another embodiment of a method for processing a deleted relationship according to a preferred embodiment of the present invention.

本明細書の図面に全体として説明および図示されるように、本発明の構成要素は多種多様な異なる構成内に配置および設計可能であることは容易に理解されよう。したがって、図面内に表されたような本発明の好ましい実施形態の以下のより詳細な説明は、請求されたように、本発明の範囲を限定することは意図されておらず、本発明に従った現在企図されている好ましい実施形態のある例の単なる代表である。説明された本実施形態は、全体を通じて同じ部分が同じ数字によって指定された図面を参照することにより、最も良く理解されるであろう。   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 example network architecture 100 is shown. The network architecture 100 is presented to illustrate an example environment in which the point-in-time copy method according to the present invention can be implemented. Network architecture 100 is presented by way of example only, and not limitation. Indeed, the methods disclosed herein are applicable to a wide variety of different computers, servers, storage devices, and network architectures in addition to the network architecture 100 illustrated.

図に示されるように、ネットワーク・アーキテクチャ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 network architecture 100 includes one or more computers 102, 106 interconnected by a network 104. The network 104 may include, for example, a local area network (LAN) 104, a wide area network (WAN) 104, the Internet 104, an intranet 104, and the like. In certain embodiments, computers 102, 106 may include both client computer 102 and server computer 106 (also referred to herein as “host system” 106). In general, client computer 102 initiates a communication session while server computer 106 waits for a request from client computer 102. In some embodiments, computer 102 and / or server 106 are connected to one or more internal or external direct attached storage systems 112 (eg, an array of hard disk drives, solid state drives, tape drives, etc.). Is possible. These computers 102, 106 and direct-attached storage system 112 can communicate using protocols such as ATA, SATA, SCSI, SAS, Fiber Channel. One or more of the storage systems 112 can utilize the point-in-time copy method disclosed herein.

ある実施形態では、ネットワーク・アーキテクチャ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 network architecture 100 can include a storage network 108 behind the server 106, such as a storage area network (SAN) 108 or a LAN 108 (eg, when using network attached storage). . This network 108 may include one or more of an array 110a of hard disk drives or solid state drives, a tape library 110b, individual hard disk drives 110c or solid state drives 110c, a tape drive 110d, a CD-ROM library, etc. The server 106 can be connected to a plurality of storage systems 110. Host system 106 may communicate via a physical connection from one or more ports on host 106 to one or more ports on storage system 110 to access storage system 110. it can. The connection can be via a switch, fiber, direct connection, etc. In some embodiments, server 106 and storage system 110 may communicate using a networking standard such as Fiber Channel (FC). One or more of the storage systems 110 may utilize the point-in-time copy method disclosed herein.

図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 storage system 110b that includes an array of hard disk drives 204 or solid state drives 204 or both is shown. In one embodiment, the point-in-time copy method disclosed herein can be implemented in such a storage system 110b, so that the internal components of the storage system 110b are shown, but the method may be used for other storage systems. It can also be applied to the system 110. As shown, the storage system 110b includes a storage controller 200, one or more switches 202, and a hard disk drive 204 or solid state drive 204 (such as a flash memory based drive 204). One or more storage devices 204. The storage controller 200 enables access to data in one or more storage devices 204 of one or more hosts 106 (eg, open systems and / or mainframe servers 106). be able to.

選択された実施形態では、ストレージ・コントローラ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 storage controller 200 includes one or more servers 206. The storage controller 200 can also include a host adapter 208 and a device adapter 210 to connect the storage controller 200 to the host device 106 and the storage device 204, respectively. Multiple servers 206a, 206b can provide redundancy to ensure that the connected host 106 is always available for data. Thus, if one server 206a fails, the other server 206b receives the I / O load of the failed server 206a to ensure that I / O can continue between the host 106 and the storage device 204. To do. This process is sometimes referred to as “failover”.

図2に示されたアーキテクチャと同様のアーキテクチャを有するストレージ・システム110bの一例は、IBM DS8000(R)エンタープライズ・ストレージ・システムである。IBM DS8000(R)は、連続動作をサポートするように設計されたディスク・ストレージを提供する高性能、高容量ストレージ・コントローラである。それにもかかわらず、本明細書で開示された方法はIBM DS8000(R)エンタープライズ・ストレージ・システム110bに限定されず、システム110に関連付けられた製造業者、製品名、あるいは構成要素または構成要素名に関係なく、任意の同等または類似のストレージ・システム110内で実装可能である。さらに、本発明の1つまたは複数の好ましい実施形態から恩恵を受けることが可能な任意のストレージ・システムは、本発明の範囲内に入るものとみなされる。したがって、IBM DS8000は単なる例として提示され、限定的であることは意図されていない。IBM、FlashCopy、DS8000は、多くの管轄区域内で世界規模に登録されたインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。   An example of a storage system 110b having an architecture similar to that shown in FIG. 2 is the IBM DS8000® enterprise storage system. The IBM DS8000 (R) is a high performance, high capacity storage controller that provides disk storage designed to support continuous operation. Nevertheless, the methods disclosed herein are not limited to the IBM DS8000® enterprise storage system 110b, and are not limited to the manufacturer, product name, or component or component name associated with the system 110. Regardless, it can be implemented in any equivalent or similar storage system 110. Moreover, any storage system that can benefit from one or more preferred embodiments of the present invention is considered to be within the scope of the present invention. Accordingly, the IBM DS8000 is presented as an example only and is not intended to be limiting. IBM, FlashCopy, DS8000 is a trademark of International Business Machines Corporation, registered worldwide in many jurisdictions.

選択された実施形態では、各サーバ206は1つまたは複数のプロセッサ212およびメモリ214を含むことができる。メモリ214は揮発性メモリ(たとえばRAM)ならびに不揮発性メモリ(たとえばROM、EPROM、EEPROM、ハード・ディスク、フラッシュ・メモリなど)を含むことができる。ある実施形態では、揮発性および不揮発性メモリは、プロセッサ212上で実行し、ストレージ・デバイス204内のデータにアクセスするために使用される、ソフトウェア・モジュールを記憶することができる。サーバ206は、これらのソフトウェア・モジュールの少なくとも1つのインスタンスをホストすることができる。これらのソフトウェア・モジュールは、ストレージ・デバイス204内の論理ボリュームへのすべての読み取りおよび書き込み要求を管理することができる。   In selected embodiments, each server 206 may include one or more processors 212 and memory 214. The memory 214 may include volatile memory (eg, RAM) as well as non-volatile memory (eg, ROM, EPROM, EEPROM, hard disk, flash memory, etc.). In certain embodiments, volatile and non-volatile memory may store software modules that execute on the processor 212 and are used to access data in the storage device 204. Server 206 may host at least one instance of these software modules. These software modules can manage all read and write requests to the logical volumes in the storage device 204.

選択された実施形態では、メモリ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 storage device 204 in the event that this is needed again, It can be stored in the cache 218. If the data is requested again by the host 106, the server 206 can fetch data from the cache 218 instead of fetching it from the storage device 204, saving both time and resources. Similarly, if the host 106 performs a write, the server 106 that receives the write request can store the write in its cache 218. The server 106 can then destage writing to the storage device 204 if time and resources allow.

図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 multi-target architecture 300 for creating a point-in-time copy is shown. Such an architecture 300 can be implemented in a storage system 110, such as the storage system 110b shown in FIG. As shown, the multi-target architecture 300 includes a source volume 302 and one or more target volumes 304a-d. Each of the target volumes 304a-d includes a point-in-time copy of the data in the source volume 302. In selected embodiments, such as a FlashCopy® implementation, the point-in-time copy is created by establishing (or “mapping”) a relationship between the source volume 302 and the target volume 304. Once this relationship is established, data can be read from either the source volume 302 or the target volume 304 even if the data still cannot be copied from the source volume 302 to the target volume 304. A target bitmap (TBM) 306 associated with the target volume 304 tracks which data tracks were actually copied from the source volume 302 to the target volume 304. For example, a “0” in the TBM 306 can indicate that the data track has been copied (ie, the target volume 304 has its own data), but a “1” indicates that the data track is still being copied. It can be shown that there is not. If the TBM 306 contains “1”, reads to the track on the target volume 304 can be directed to the corresponding track on the source volume 302. In this disclosure, a bit in TBM 306 is said to be “set” if it contains “1” and “reset” if it contains “0”, which is the opposite in other embodiments. there is a possibility. Although source 302 and target 304 are labeled “volume” in the illustrated embodiment, it should be understood that source 302 and target 304 may be a data set or other collection of data.

前述のように、従来のマルチターゲット・アーキテクチャ300では、ソース・ボリューム302への書き込みは、ソース・ボリューム302内のデータが、それ自体のデータを含まない接続された各ターゲット・ボリューム304a〜dにコピーされ(すなわちデステージされ)、ソース・ボリューム302への書き込みを完了できるまで待機が必要な可能性がある。すなわち、ソース・ボリューム302のデータ・トラック上で書き込みが実行される前に、既存のデータ・トラックを、ソース・ボリューム302上のデータ・トラックが上書きされる前にすでに未だデータ・トラックを含んでいないターゲット・ボリューム304a〜dにコピーする必要がある。マルチターゲット・アーキテクチャ300内のターゲット・ボリューム304a〜dの数が多くなるほど、データをソース・ボリューム302に正常に書き込むことができるまでに実行が必要なコピーの数も多くなる。これにより、ソース・ボリューム302への書き込みが非常に遅くなる可能性がある。このため従来の時点コピー技術は、性能影響を許容範囲内に維持するためにマルチターゲット・アーキテクチャ300内で限定数(たとえば12)のターゲット304のみをサポートすることができる。   As described above, in the conventional multi-target architecture 300, writing to the source volume 302 is such that the data in the source volume 302 is sent to each connected target volume 304a-d that does not contain its own data. It may be necessary to wait until it has been copied (ie destaged) and writing to the source volume 302 can be completed. That is, before a write is performed on the data track of the source volume 302, the existing data track is already included before the data track on the source volume 302 is overwritten. It is necessary to copy to the target volumes 304a to d which are not present. The greater the number of target volumes 304a-d in multi-target architecture 300, the greater the number of copies that need to be executed before data can be successfully written to source volume 302. This can make writing to the source volume 302 very slow. As such, conventional point-in-time copy techniques can support only a limited number (eg, 12) of targets 304 within the multi-target architecture 300 to maintain performance impact within acceptable limits.

以下でより詳細に説明されるように、本発明の好ましい実施形態に従った改良された方法を使用して、ソース・ボリューム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 multiple target volumes 304a-d mapped to a source volume 302 using an improved method in accordance with a preferred embodiment of the present invention. The impact can be reduced. Instead of copying data to multiple targets 304a-d when a write is performed on source volume 302, the improved method copies data to a single target 304 or a subset of targets 304. The inheritance scheme then allows other targets 304 to inherit data from a single target 304 or a subset of targets 304 that contain the data. In this way, writing to source volume 302 may only require copying the data to a single target 304 or a subset of targets 304 before the writing can be completed on source volume 302. it can. The flowcharts shown in FIGS. 4-8 illustrate various specific examples of methods for implementing such methods.

図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 example method 400 for reading a track from a target volume 304 is shown. Upon receiving a request to read a data track from the target volume 304, the method 400 determines whether the TBM of the target volume 304 has been set (402). If the TBM has not been set (indicating that the target volume 304 contains the requested data), the method 400 simply reads the requested data track from the target volume 304 (406). On the other hand, if the TBM is set (indicating that the target volume 304 does not contain the requested data), the method 400 finds a higher source (HS) volume from which the data is read (404). Read from the HS volume (404). One method 700 for finding an HS volume is described in connection with FIG. In the present disclosure, the HS volume is the inheritance source volume of the target volume 304 including the requested data.

図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 method 500 for destaging a data track in response to writing to a source volume 302 is shown. As shown, the method 500 initially finds the youngest child (YC) of the source volume 302 (502). In this disclosure, YC is the target volume 304 that was last mapped to the source volume 302. In selected embodiments, the generation number (GN) can be used to identify the order in which the target volume 304 was added to the source volume 302 to generate a point-in-time copy. The manner in which GN is used to determine the order in which targets 304 are mapped to source volumes 302 is discussed in connection with FIG.

方法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 method 500 finds YC, it determines if the YC TBM is set (504). If the TBM is not set (indicating that YC 304 contains a copy of its own data), method 500 does nothing (508) because YC 304 already has a copy of the data. On the other hand, if the TBM is set (indicating that YC 304 does not contain a copy of its own data), method 500 copies data from source volume 302 to YC 304 (506). In this way, when writing to the source volume 302 is performed, the data is simply copied between the source volume 302 and the YC 304 as opposed to copying the data to all target volumes 304 that do not contain data. One copy is executed. Therefore, another target volume 304 (not YC 304) inherits this data from YC 304 when a read to another volume 304 is executed or when data is copied from another volume 304. Can do.

図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 method 600 for destageing a data track in response to writing to a target volume 304 (target x) is shown. As shown, the method 600 initially determines whether the TBM for the target x 304 and the nearest older sibling (COS) 304 is set for the track being written (602). In the present disclosure, the COS is the target volume 304 mapped immediately before the target x304. If both TBMs are set (indicating that neither volume contains data in the written track), the method 600 copies the data track from the high source (HS) volume to the COS 304 (604). ). The method for finding the HS volume is discussed in connection with FIG. On the other hand, it is determined in step 606 that the TBM for target x is not set and the TBM for COS is set (indicating that target x304 contains data in the overwritten data track). If so, the method 600 copies 608 the data track from the target x to the COS 304, ie, the data track is destaged from the target x 304 to the COS 304. On the other hand, if the COS TBM is not set (indicating that the COS contains data), the COS does not exist and the method 600 does not need to be copied and does nothing (610). When the method 600 reaches the end, a write can be performed on the target x.

前述の方法500、600は、本発明から逸脱することなく様々な方法で修正可能であることを理解されたい。たとえば最年少の子(YC)を最年長の子に置き換えることが可能であり、最も近い年長の兄弟(COS)を最も近い年少の兄弟に置き換えることが可能である。したがって本開示では、YCおよびCOSを利用する実施形態は、最年長の子および最も近い年少の兄弟を利用する実施形態を包含するものともみなされる。他の変形も可能であり、本発明の範囲内にある。   It should be understood that the methods 500, 600 described above can be modified in various ways without departing from the invention. For example, the youngest child (YC) can be replaced with the oldest child, and the nearest older brother (COS) can be replaced with the nearest younger brother. Thus, in this disclosure, embodiments that utilize YC and COS are also considered to encompass embodiments that utilize the oldest child and the nearest younger sibling. Other variations are possible and within the scope of the present invention.

図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 method 700 for finding an HS volume for reading is shown. Such a method 700 can be used in connection with step 404 of FIG. As shown, the method 700 initially determines whether the volume being read is the target volume 304 (702). If not the target volume 304, the method 700 reads from this volume because it is the source volume 302. If the volume is the target volume 304, the method determines whether the volume's TBM is set (706). If no TBM is set, the method 700 reads from the volume 304 (704). If the TBM for the volume has been set, the method 700 finds the source volume 302 associated with the target volume 304 (708). Next, the method 700 finds the next relationship between the number of generations (GN) of the target target volume 304 and the next highest generation number (GN) (710). The usage of GN will be described in more detail with reference to the example of FIG.

一般に、意思決定ステップ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, decision step 710 finds a relationship for the next younger source volume 302 of the relationship associated with the target target volume 304 (identified in step 702). The method 700 then finds a target 304 for this relationship (714). If the TBM for this target 304 is set 716, the method 700 reads from the target 304. If the TBM for this target 304 is not set 716, the method 700 repeats steps 710 and 714 to find the next younger target 304 and determine whether the TBM is set (716). In this way, the method 700 traverses the younger siblings of the target volume 304 identified in step 702 until a target volume 304 containing the desired data is found. If this data is found, method 700 reads from target 304 (718). If a younger sibling target 304 containing the desired data is not found, the method simply reads 712 from the source volume 302. In this manner, the target volume 304 can inherit data from the sibling 304 when reading to the sibling 304 is executed.

図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 method 800 for finding an HS volume from which data is copied is shown. Such a method 800 can be used in connection with step 604 of FIG. As shown in the figure, the method 800 initially determines whether the write destination volume is the target volume 304. If it is not the target volume 304, copying is not required, as reflected in step 804. If the volume is the target volume 304, the method determines whether a TBM for the volume has been set (806). If no TBM is set, copying is not necessary. If the volume is the target volume 304 and the volume's TBM is set, the method finds the source volume 302 associated with the target volume 304 (808). The method 800 then finds the next relationship with the higher generation number (GN), as described above.

次に高位の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 method 800 finds a target 304 in this relationship that is a sibling of the target 304 identified in step 802 (814). If the TBM for this sibling target 304 is not set 816 (indicating that it contains the desired data), method 800 copies data from sibling target 304 to COS 304 (818). If the TBM for this sibling target 304 is set 816 (indicating that it does not contain the desired data), the method 800 repeats steps 810, 814 to find the next younger sibling target 304, and that TBM is It is determined whether it is set (816). In this way, the method 800 traverses the younger siblings of the target volume 304 identified in step 802 until a sibling target volume 304 containing the desired data is found. If this data is found, the method 800 copies the data from the sibling target 304 to the COS (818). If no sibling target 304 containing the desired data is found, the method 800 copies data from the source volume 302 to the COS (812). Once the data is copied, writing on the target 304 identified in step 802 can be performed.

図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 multi-target architecture 300 that illustrates the use of generated number (GN) is shown. In this example, the relationship between the source volume (SV) 302 and the first target volume (TV1) 304a is created first, and then the source volume 302 and the second target volume (TV2). Assume that the relationship between 304b and then the relationship between source volume 302 and third target volume (TV3) 304c has been created. Each time a new relationship is added to the source volume 302, the generation number is incremented. Thus, as shown in the source volume 302, the first relationship is associated with the generation number “1”, the second relationship is associated with the generation number “2”, and the third relationship is the generation number “3”. Associated with

初期に、ソース・ボリューム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 source volume 302 and the first and second target volumes 304a, 304b is established, but the relationship between the source volume 302 and the third target volume 304c is still Assume that it has not been established. In this scenario, to perform a write to track 1 of the second target volume 304b, the data in track 1 is transferred from the source volume 302 (higher source) to the first target volume 304a (closest year). The TBM of the first target volume 304a is reset. Thereafter, writing to track 1 of the second target volume 304b is executed, and the TBM of the second target volume 304b is reset. Similarly, to perform a write to track 2 of source volume 302, the data in track 2 is copied from source volume 302 to a second target volume 304b (the youngest child, or YC), The TBM of the second target volume 304b is reset (indicating that it contains data). Thereafter, writing to the track 2 of the source volume 302 is executed. The data resident in the first target volume (TV1) 304a and the second target volume (TV2) 304b after two writes is shown in FIG. The value in the TBM is also shown.

ここで、ソース・ボリューム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 source volume 302 and the third target volume 304c is established. To perform a write to track 3 of source volume 302, the data in track 3 is copied from source volume 302 to a third target volume 304c (the youngest child, or YC), and the third The TBM of the target volume 304c is reset. Next, writing to the track 3 of the source volume 302 is executed. To perform a write to track 4 of second target volume 304b, the data in track 4 is transferred from source volume 302 (higher source) to first target volume 304a (closest older brother, In other words, the TBM of the first target volume 304a is reset. Next, writing to the track 4 of the second target volume 304b is executed, and the TBM of the second target volume 304b is reset.

第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 first target volume 304a, no copy is performed because there is no nearest older brother, ie, COS. Next, writing to the track 5 of the first target volume 304a is executed, and the TBM of the first target volume 304a is reset. To perform a write to track 6 of third target volume 304c, the data in track 6 is transferred from source volume 302 (higher source) to second target volume 304b (closest older brother, In other words, the TBM of the second target volume 304b is reset. Next, writing to the track 6 of the third target volume 304c is executed, and the TBM of the third target volume 304c is reset. After all six writes described above, the data residing in the first target volume (TV1) 304a, the second target volume (TV2) 304b, and the third target volume (TV3) 304c is shown in FIG. 11. The value in the TBM is also shown.

図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 source volume 302 and a target volume 304, or some relationship between a source volume 302 and several target volumes 304, may be It can be deleted from the architecture 300. If the relationship is deleted from the multi-target architecture 300, the point-in-time relationship between the source volume 302 and the target volume 304 associated with the relationship ends. In some embodiments, this may end the function of other sibling target volumes 304 to inherit data from the target volume 304 whose relationship has been deleted. Thus, in one embodiment, prior to deleting a relationship, data on the target volume 304 associated with the relationship can be copied to one or more sibling target volumes 304, resulting in siblings. Target volume 304 is still accessible to data.

たとえば、ソース・ボリューム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 source volume 302 and the target volume 304c is identified for deletion (as indicated by the dotted arrows). Prior to deleting the relationship, data stored on the target volume 304c and inherited by other sibling target volumes 304 can be copied to one or more sibling target volumes 304, so As a result, sibling target volume 304 is still accessible to the data. For example, in one embodiment, data will be copied to the nearest older sibling (COS), such as when using the point-in-time copy method described in FIGS. Other point-in-time copy methods can be used to copy data to other sibling target volumes 304 other than the COS. Nevertheless, the present disclosure assumes that data is copied to the COS. Once all the data stored in the target volume 304c and inherited by the other sibling target volume 304 is copied to the COS, the relationship between the source volume 302 and the target volume 304c can be deleted, Thereby, the point-in-time copy relationship between the source volume 302 and the target volume 304c ends.

図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 source volume 302 and the space efficient (SE) target volume 304 can be deleted. The SE target volume 304 differs from the standard target volume 304 (as shown in FIG. 12) in that no data is physically stored in the volume. Rather, the SE target volume 304 is a virtual volume (as indicated by the dotted line) whose data is physically stored in the common repository 1200. The mapping structure 1202 keeps track of where SE target volume data is physically located in the repository 1200. In other words, the mapping structure 1202 maps the logical track of the SE target volume 304 to the physical track of the repository 1200. From the host device perspective, reading from or writing to the SE target volume 304 can be the same as reading from or writing to the standard target volume. .

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 repository 1200. In other words, instead of physically copying data from one SE target volume to another, the data that is logically stored in one SE target volume is stored here so that it can be executed on a standard target volume. Now the mapping structure 1202 can be modified to be logically stored in another SE target volume. For purposes of this disclosure, all target volumes mentioned below are assumed to be space efficient (SE) target volumes.

図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 multi-target architecture 300. In some embodiments, each relationship associates them with a source relationship entry 1302a corresponding to the source of the relationship and a target relationship entry 1302b corresponding to the target of the relationship. As will be explained in more detail below, when deleting a relationship, the deletion of the relationship is in progress (ie the mapping structure is being modified to map the data to the COS in preparation for deleting the relationship. The source relationship entry 1302a and the target relationship entry 1302b associated with the relationship can be marked as “deleted”. By creating the relationship entries 1302a and 1302b in this way, it is possible to ensure that data is not written to the SE target volume 304 for which deletion of the relationship is in progress. Once the mapping structure is modified so that the data logically stored in the SE target volume is logically stored in the COS, the relationship can be deleted. Deleting a relationship can include deleting a source relationship entry 1302a and a target relationship entry 1302b associated with the relationship from the relationship table 1300.

図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 method 1400 for deleting the relationship between the source 302 and the SE target 304 in the multi-target architecture 300 is shown. As shown, the method 1400 initially determines 1402 whether a request to withdraw (ie, a request to delete a relationship) has been received. If a withdrawal request is received, the method 1400 marks the relationship entry associated with the relationship as “deleted” (1404). This may include marking 1404 both the source relationship entry 1302a and the target relationship entry 1302b associated with the relationship as “deleted”. The method 1400 then determines whether a relationship is already in progress, ie, whether the mapping structure 1202 is being modified to map data to the COS in preparation for relationship deletion (1406).

関係がすでに進行中である場合、方法1400は関係をキューに入れる(1408)。関係をキューに入れると、方法1400は、年少関係に先立って年長関係を処理するために、キュー内の関係を最年長から最年少へとソートする(1408)。これにより、マッピング構造1202が修正される回数が理想的に最小限となる。たとえば、マッピング構造1202が、その関係が削除される番にあるCOSにデータをマッピングするように修正される場合、マッピング構造1202は再度修正される必要があり、時間とリソースの両方が無駄である。最年長から最年少へと関係を処理することで、マッピング構造1202の修正が最小回数であることを保証するのに役立つ。   If the relationship is already in progress, the method 1400 queues the relationship (1408). Once the relationships are queued, the method 1400 sorts the relationships in the queue from the oldest to the youngest (1408) to process the older relationships prior to the younger relationships. This ideally minimizes the number of times the mapping structure 1202 is modified. For example, if the mapping structure 1202 is modified to map data to a COS whose relationship is to be deleted, the mapping structure 1202 needs to be modified again, both time and resources are wasted. . Processing the relationship from oldest to youngest helps to ensure that the mapping structure 1202 has been modified a minimum number of times.

様々な方法または技法を使用して、関係の年齢を決定することができる。ある実施形態では、関係の年齢は、図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 source volume 302, the age of the relationship can be easily determined. In the example shown in FIG. 9, the generation number is incremented each time a new relationship is generated. Therefore, the relationship associated with the generation number “1” is the oldest and the relationship associated with the generation number “3” is the youngest. This rule can be reversed in other embodiments.

キュー内に関係がない場合、方法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 method 1400 simply processes the relationship (1410). If there are one or more relationships in the queue, the method 1400 processes the next relationship in the queue (1410). Various methods for processing (1410) the relationship are described in connection with FIGS. Once the relationship is processed, ie, mapping structure 1202 is modified to map data to COS 304 with respect to SE target 304, method 1400 removes relationship entries 1302a, 1302b associated with the relationship from relationship table 1300. (1412). This ends the relationship. The method then checks 1414 if any other relationships are in the queue. If the queue is empty, the method 1400 waits for the next request to withdraw (1402). If the queue is not empty, the method 1400 processes the next relationship in the queue (1410). This continues until all the relationships in the queue are processed.

ある実施形態では、方法1400は任意の特定の時点でいくつかの関係が進行中であることが可能なように構成される。ある実施形態では、任意の特定の時点で進行中の関係の数を、ストレージ・デバイス204(たとえばディスク・ドライブ、ソリッドステート・ドライブなど)またはストレージ・デバイス204に関連付けられたデバイス・アダプタ210をオーバドライブ(overdrive)しないように制限することができる。たとえばある実施形態では、デバイスをオーバドライブしないように、デバイス・アダプタ210およびストレージ・デバイス204を任意の特定の時点でいくつか(たとえば4つ)の関係を処理するように制限することができる。いくつかの関係を同時に処理している場合、マッピング構造1202が修正される回数を最小限にするために、新しい関係よりも古い関係に優先権を与えることができる。   In certain embodiments, the method 1400 is configured to allow some relationships to be in progress at any particular time. In some embodiments, the number of relationships in progress at any particular time may exceed the storage device 204 (eg, disk drive, solid state drive, etc.) or the device adapter 210 associated with the storage device 204. It can be restricted not to overdrive. For example, in one embodiment, device adapter 210 and storage device 204 may be restricted to handle several (eg, four) relationships at any particular time so as not to overdrive the device. If several relationships are being processed simultaneously, priorities can be given priority over newer relationships in order to minimize the number of times the mapping structure 1202 is modified.

図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 method 1410 for processing relationships is shown. Such a method 1410 can be performed whenever the relationship is processed, as illustrated in FIG. As shown, to process the relationship, method 1410 initially identifies (1500) the SE target associated with the relationship. The method 1410 then identifies the closest older sibling (COS) of the SE target (1502). Next, the method 1410 inspects the SE target and the first track of the COS (1504). Method 1410 determines that the SE target TBM for the track has not been set (indicating that the SE target contains a copy of the data) (1506), and that the COS TBM for the track has been set (COS is Once determined (1508), the method 1410 modifies the mapping structure 1202 to map the data in the repository 1200 to the COS (1510). Next, the COS TBM for the track is reset (1510) to indicate that it contains a copy of the data. However, if the SE target TBM for the track is set (indicating that the SE target does not contain a copy of the data), or if the COS TBM for the track is not set (the COS already contains a copy of the data) The mapping structure 1202 is not modified, and the method 1410 proceeds to decision step 1512.

方法1410がトラックを検査し、マッピング構造1202を修正するか、または修正が不要であるものと判別すると、方法1410は、SEターゲット304の最終トラックに到達したかどうかを判別する(1512)。最終トラックに到達していない場合、方法1410はSEターゲットの次のトラックおよびCOSの対応するトラックを検査し(1514)、ステップ1506、1508、1510、1512を反復する。SEターゲット304内のすべてのトラックが検査され、必要であればそれらのトラックに関してマッピング構造1202が修正された場合、方法1410は終了する。   If method 1410 examines the track and determines that mapping structure 1202 is modified or no modification is required, method 1410 determines whether the final track of SE target 304 has been reached (1512). If the final track has not been reached, the method 1410 examines (1514) the next track of the SE target and the corresponding track of the COS and repeats steps 1506, 1508, 1510, 1512. If all tracks in the SE target 304 have been examined and if necessary the mapping structure 1202 has been modified for those tracks, the method 1410 ends.

図17を参照すると、関係を処理するための方法1410の他の実施形態が示される。こうした方法1410は、関係が処理される場合1410には必ず図16の方法の代わりに実行可能である。図17に示された方法1410を使用して、データセットレベルの時点コピー実装などの、SEターゲット内のトラックの異なる範囲が異なる最も近い年長の兄弟(COS)を有する実装に対処することができる。   Referring to FIG. 17, another embodiment of a method 1410 for processing relationships is shown. Such a method 1410 can be performed instead of the method of FIG. 16 whenever the relationship is processed 1410. Using the method 1410 shown in FIG. 17 to address implementations with nearest older siblings (COS) that differ in different ranges of tracks in the SE target, such as data set level point-in-time implementations. it can.

図に示されるように、関係を処理するために、方法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 method 1410 initially identifies (1600) the SE target associated with the relationship and a first track range of SE targets (eg, the first 50 tracks). ) Is identified (1602). The method 1410 then identifies the nearest older sibling (COS) associated with the track range (1604). The method 1410 then examines the first track in the track range and the corresponding track in the COS (1606). Method 1410 determines that a TBM for a track within the track range has not been set (indicating that the track contains a copy of the data) (1608) and a TBM for the corresponding track in the COS has been set ( If it is determined (1610) that the track in the COS does not contain a copy of the data), the method 1410 modifies the mapping structure 1202 to map the data in the repository 1200 to the COS (1620). The TBM for the track in the COS is then reset (1620) to indicate that it now contains a copy of the data. However, the TBM for the track on the SE target is set (indicating that the SE target does not contain a copy of the data) or the COS TBM for the corresponding track is not set (the COS is already a copy of the data The mapping structure 1202 is not modified and the method 1410 proceeds to decision step 1618.

方法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 method 1410 examines tracks within the track range and determines that mapping structure 1202 is modified or no modification is required, method 1410 determines whether there are other tracks within the track range (1618). . If there are other tracks in the track range, the method 1410 examines the next track in the track range as well as the corresponding track in the COS by repeating steps 1608, 1610, 1620, 1618 (1616). If all tracks within the track range have been examined and if necessary the mapping structure 1202 has been modified for those tracks, the method 1410 determines if there are other track ranges within the SE target (1614). ). If there are other track ranges, the method 1410 identifies 1604 the COS for that track range and repeats steps 1606, 1608, 1610, 1620, 1618, 1616 for the track range and the identified COS. This continues until all tracks within all track ranges of the SE target have been examined and, if necessary, the mapping structure 1202 has been modified for those tracks. Once all tracks within all track ranges of the SE target have been examined and mapping structure 1202 has been modified accordingly, method 1410 ends.

図面内の流れ図およびブロック図は、本発明の様々な好ましい実施形態に従ったシステム、方法、およびコンピュータ使用可能メディアの可能な実装のアーキテクチャ、機能、および動作を示す。この点で、流れ図またはブロック図内の各ブロックは、指定された論理機能を実装するための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)ターゲットとの間の関係を削除するための方法であって、前記マルチターゲット・アーキテクチャは一つのソースと当該ソースにマッピングされた複数のSEターゲットとを含み、コンピュータが、
前記ソースと一つの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)ターゲットとの間の関係を削除するための装置であって、前記マルチターゲット・アーキテクチャは一つのソースと当該ソースにマッピングされた複数のSEターゲットとを含み、前記装置が、
前記ソースと一つの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の関係を前記マルチターゲット・アーキテクチャから削除するための第の構成要素であって、当該削除によって前記ソースと前記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)ターゲットとの間の関係を削除するための方法であって、前記マルチターゲット・アーキテクチャは一つのソースと当該ソースにマッピングされた複数のSEターゲットとを含み、コンピュータが、
前記ソースと一つの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:
JP2013557198A 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 Expired - Fee Related JP6048976B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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