JP5260802B2 - コピー機能を操作するための方法、システム、およびコンピュータ・プログラム製品 - Google Patents

コピー機能を操作するための方法、システム、およびコンピュータ・プログラム製品 Download PDF

Info

Publication number
JP5260802B2
JP5260802B2 JP2012550480A JP2012550480A JP5260802B2 JP 5260802 B2 JP5260802 B2 JP 5260802B2 JP 2012550480 A JP2012550480 A JP 2012550480A JP 2012550480 A JP2012550480 A JP 2012550480A JP 5260802 B2 JP5260802 B2 JP 5260802B2
Authority
JP
Japan
Prior art keywords
volume
new
copy function
target volume
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012550480A
Other languages
English (en)
Other versions
JP2013518335A (ja
Inventor
ビーケン、クリストファー、バリー
アゴンバー、ジョン、ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013518335A publication Critical patent/JP2013518335A/ja
Application granted granted Critical
Publication of JP5260802B2 publication Critical patent/JP5260802B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Colloid Chemistry (AREA)
  • Materials For Photolithography (AREA)

Description

本発明は、コピー機能を操作するための方法およびシステムに関する。
大きな組織におけるデータの保管は、データの信頼性と、ハードウェア障害の場合にデータを回復する能力のいずれについても、根本的に重要なものである。ストレージ・エリア・ネットワーク(SAN)は、非常に大量のデータを確実かつ安全な方法で保管する必要があるときに使用されるアーキテクチャである。この技術により、オペレーティング・システムにとってそのデバイスがローカルに接続されているように見えるようにディスク・アレイなどのリモート・コンピュータ・ストレージ・デバイスをサーバに接続することをサポートするネットワークを作成することができる。データ・ストレージならびに個々のコンポーネント間のハードウェア接続の両面で大量の冗長性を含むことは、このようなネットワークでは一般的なことである。
データ冗長性を作成するための様々な方法が存在する。たとえば、フラッシュコピー機能(flashcopy function)などの機能により、管理者はデータのポイント・イン・タイム全ボリューム・コピーを作成することができ、そのコピーは読み取りアクセスまたは書き込みアクセスに直ちに使用可能である。このフラッシュコピーは、テープ上にバックアップ・コピーを作成するためにその環境で使用可能な標準的なバックアップ・ツールとともに使用することができる。フラッシュコピー機能はターゲット・ボリューム上にソース・ボリュームのコピーを作成する。このコピーは、上述の通り、ポイント・イン・タイム・コピー(point-in-time copy)と呼ばれる。フラッシュコピー動作が開始されると、ソース・ボリュームとターゲット・ボリュームとの関係が作成される。この関係はソース・ボリュームとターゲット・ボリュームの「マッピング」である。このマッピングにより、そのソース・ボリュームのポイント・イン・タイム・コピーを関連のターゲット・ボリュームにコピーすることができる。この関係は、フラッシュコピー動作が開始されたときから、ストレージ・ユニットがすべてのデータをソース・ボリュームからターゲット・ボリュームにコピーするまで、またはその関係が削除されるまで、このボリューム対の間に存在する。
データが物理的にコピーされる場合、バックグラウンド・プロセスがソース・ボリュームからターゲット・ボリュームにトラックをコピーする。バックグラウンド・コピーを完了するのに要する時間の長さは、コピーされるデータの量、実行されるバックグラウンド・コピー・プロセスの数、現在行われているその他のアクティビティなど、様々な基準に依存する。コピーされるデータは実際には即座にコピーする必要がなく、更新によってソース・ボリューム上の古いデータの上書きが行われる前にコピーする必要があるだけであるという点で、フラッシュコピー機能は効果的である。したがって、ソース・ボリューム上でデータが変化するときに、ソース・ボリューム上で上書きされる前に、元のデータがターゲット・ボリュームにコピーされる。
したがって、フラッシュコピーは、様々なストレージ・デバイス上でサポートされる機能であって、ユーザまたは自動プロセスがデータの論理ボリューム全体についてほぼ瞬間的なコピーを作成できるようにする機能である。ソース・ディスクのコピーはターゲット・ディスク上に作成される。このコピーは読み取りアクセスと書き込みアクセスの両方に直ちに使用可能である。フラッシュコピーのような実装例の一般的な特徴は、そのコピーを逆転する能力である。すなわち、フラッシュコピー・マップのソース・ディスクにターゲット・ディスクの内容を入力することである。また、カスケード実装例でフラッシュコピーを使用することも可能であり、その場合、ターゲット・ディスクはその後、追加のフラッシュコピーのためのソース・ディスクになり、逆もまた同様である。
このようなカスケード・ストレージ・ボリュームおよびフラッシュコピー機能を追跡するために、1次および2次「fdisk」を定義するデータ構造を提供することが好ましい。fdiskとは、そのfdiskが関連するストレージ・ボリュームを定義し、カスケード内のフラッシュコピー機能の上り方向および下り方向を定義する関連マップへのリンクを提供するインデックスを含む論理コンポーネントである。ソース・ボリュームとターゲット・ボリュームとの間でフラッシュコピー機能が作成される場合、ターゲット・ディスクについて1次fdiskがすでに存在しない限り、ストレージ・ボリュームごとに1次fdiskが作成され、1次fdiskがすでに存在している場合、ターゲット・ボリューム用の既存のfdiskが2次fdiskに変換され、新しい1次fdiskが作成される。fdiskによって定義されるデータ構造を使用することの利点は、既存の複数のカスケード内の異なるストレージ・ボリュームに対する入出力読み取りアクセスおよび書き込みアクセスを追跡し、カスケード内の正しい位置にデータ読み取りを向けるためにfdiskを使用できることである。
フラッシュコピー・カスケード(flashcopy cascade)の制限事項は、所与の書き込み動作に必要なクリーン動作の回数を制限するために、同時復元動作の回数に関する制限を必要とすることである。たとえば、A←→B←→C←→Dというフラッシュコピー・カスケードでは、A、B、C、およびDはグラフ内のディスクであり、矢印はフラッシュコピー・マップであり、(A,B)がディスクAからディスクBへのフラッシュコピー・マップであることを示す場合、このカスケードは(A,B)、(B,C)、および(C,D)というマップを有する。このカスケードのディスクおよびフラッシュコピー機能では、ディスクAへの書き込みにより、ディスクBへの分割書き込み(split write)が行われる可能性があり、これはディスクB上のイメージを維持するために必要であり、これによりディスクBおよびCのクリーン読み取り(clean read)ならびにディスクDへのクリーン書き込み(clean write)とそれに続くディスクCへのクリーン書き込みが行われることになる。このようにして、カスケード内の一番上のディスクへの単一書き込みの結果、さらにカスケードを下ってストレージ・ボリューム上で多数のクリーン動作が行われる可能性がある。
したがって、本発明の一目的は、既知の技術を改善することにある。
本発明の第1の態様により、コピー機能を操作する方法であって、ソース・ボリュームからターゲット・ボリュームへの新しいフラッシュコピー機能を開始することと、新しいフラッシュコピー機能のターゲット・ボリュームが既存のフラッシュコピー機能のためのソース・ボリュームであることを検出することと、既存のフラッシュコピー機能のターゲット・ボリュームが2次ボリュームを有することを検出することと、新しいフラッシュコピー機能のターゲット・ボリュームから新しいターゲット・ボリュームへのバッファ・フラッシュコピー機能を作成することを含む方法が提供される。
本発明の第2の態様により、複数のストレージ・ボリュームと、ストレージ・ボリュームに接続されたストレージ・ボリューム・コントローラとを含み、コピー機能を操作するためのシステムであって、そのストレージ・コントローラが、ソース・ボリュームからターゲット・ボリュームへの新しいフラッシュコピー機能を開始することと、新しいフラッシュコピー機能のターゲット・ボリュームが既存のフラッシュコピー機能のためのソース・ボリュームであることを検出することと、既存のフラッシュコピー機能のターゲット・ボリュームが2次ボリュームを有することを検出することと、新しいフラッシュコピー機能のターゲット・ボリュームから新しいターゲット・ボリュームへのバッファ・フラッシュコピー機能を作成することを行うように配置される、システムが提供される。
本発明の第3の態様により、コピー機能を操作するためのコンピュータ可読媒体上のコンピュータ・プログラム製品(computer program product)であって、ソース・ボリュームからターゲット・ボリュームへの新しいフラッシュコピー機能を開始するための命令と、新しいフラッシュコピー機能のターゲット・ボリュームが既存のフラッシュコピー機能のためのソース・ボリュームであることを検出するための命令と、既存のフラッシュコピー機能のターゲット・ボリュームが2次ボリュームを有することを検出するための命令と、新しいフラッシュコピー機能のターゲット・ボリュームから新しいターゲット・ボリュームへのバッファ・フラッシュコピー機能を作成するための命令を含む、コンピュータ・プログラム製品が提供される。
本発明により、無制限のフラッシュコピー復元動作を可能にする、バッファリングされたフラッシュコピー・マップを提供することは可能である。本発明のシステムおよび方法は、フラッシュコピー・カスケードの従来技術の実装例の制約を除去するための手順を記述するものであり、単一書き込みの結果、カスケードを下って多数のクリーン動作が行われる可能性があり、それにより、カスケードの一番上で元の書き込みアクションの完了が減速することになる。本発明は、バッファリングされたフラッシュコピーの概念を導入するものである。すなわち、そのターゲットが2次ボリュームを有する他のアクティブ・マップのソース上へのフラッシュコピーが開始されると、スペース効率の良い新しいフラッシュコピーが作成されて開始され、それにより、クリーン動作がカスケード全域に拡がるのを防止することになる。
この方法は、そのターゲット・ボリュームがすでに存在するアクティブ・フラッシュコピー・マップのソース・ボリュームである、フラッシュコピー・マップの開始に余分なステップを追加する。このステップは、開始されるフラッシュコピー・マップのターゲットXがアクティブ・フラッシュコピー・マップ1のソースである場合にマップ1のターゲットYが2次fdiskを有するかどうかを尋ね、そうである場合にXからスペース効率の良い新しいvdisk X’へのバッファ・フラッシュコピーを作成することである。
従来技術の考察において上記の例を考慮する際に、本発明の一例による新しい方式では、(B,C)が開始されると、その結果、カスケードB←→CおよびC←→Dが得られる。これは、開始されるマップのターゲットCがマップC←→Dの一部であるが、Dが2次を有していないためである。次に、(A,B)が開始されると、バッファ・フラッシュコピー機能(B,B’)が作成されて開始される。これは、ターゲットBがB→Cの一部であり、Cが2次を有するためである。この新しいバッファ・フラッシュコピー機能の結果、カスケードA←→B、B←→B’←→C、およびC←→Dが作成される。これが作成されると、ディスクAへの新しい書き込みの結果、ディスクBのクリーン読み取りとディスクB’へのクリーン書き込みが行われることになる。フラッシュコピー・グラフがどんなに大きくなっても、単一書き込みの結果は単一クリーン動作になるだけである。マップ(B,B’)は永続クリーニング・モードになる。これは、ディスクB’またはC上のどのデータもバックグラウンドでクリーニングされることを意味する。
バッファ・フラッシュコピー・マップは、少なくともマップA→BならびにB←→CおよびC←→Dの存続期間の間、存在することになる。A→BまたはC←→Dが停止されるかまたは完了した場合、マップB←→B’はクリーニングし、それ自体をカスケードから除去する。B←→Cが停止されるかまたは完了した場合、マップB←→B’は直ちに停止することができる。これは、カスケードを維持するために必要なクリーニングがインターロックされたカスケードの数とは無関係であることを意味する。当然のことながら、インターロックされたカスケードあたりのバッファ・フラッシュコピー・マップの数を削減するために、この考え方を拡張し、追加のクリーン書き込み(上記の例に記載されているものより多い)を実行することは可能である。これは、実装上の考慮事項である。
次に、添付図面に関連して、一例としてのみ、本発明の諸実施形態について説明する。
1対のストレージ・ディスクの概略図である。 フラッシュコピー・カスケードの概略図である。 拡張フラッシュコピー・カスケードの概略図である。 データ書き込みを伴う拡張フラッシュコピー・カスケードの概略図である。 コピー機能を操作する方法の流れ図である。
図1は、ストレージ・コントローラ8と2つのストレージ・ディスク10および12を使用してフラッシュコピーの概念を示している。ディスク10および12は、より大きいディスク・アレイの一部を形成することができ、典型的に、エンタープライズ・ストレージ・ソリューションの一部を形成することになるであろう。ディスク10および12は、たとえば、商用Webサイトに関するストレージ・ソリューションの一部にすることができる。いつでもvdisk1の内容のバックアップを行う必要がある場合、ストレージ・ボリューム・コントローラ8からそのディスク10にフラッシュコピー命令を送信することができ、この命令はソース・ディスク10(vdisk1)と、フラッシュコピーのターゲットであるターゲット・ディスク12(vdisk2)も定義する。フラッシュコピー命令は、ソース・ディスク10である特定のvdiskのイメージのポイント・イン・タイム・コピーを作成する。
図1の例では、第1のフラッシュコピー命令のソース・ディスク10はvdisk1であり、ターゲット・ディスク12はvdisk2である。このフラッシュコピー命令はフラッシュコピー・プロセスを開始し、それによりソース・ディスク10からターゲット・ディスク12へのマップ14が作成される。このマップは同図ではマップ1と表示されている。この特定の時点でのvdisk1のイメージはvdisk2上で使用可能である。これにより、vdisk1上のデータのバックアップが作成され、元のソース・ディスク上に保存されるので元のデータのいずれかを喪失するという付随的な危険性なしにvdisk1のデータについてテストおよびその他の管理タスクを実行することもできる。
フラッシュコピーが行われると、マップ14によって定義されるように、2つのディスク10および12の間にリンクが作成される。次に、データはバックグラウンドでコピーすることができるが、(ターゲット・ディスク12としての)vdisk2へのアクセスにより、vdisk1のイメージの関連部分が直ちにコピーされ、結果的にそのディスク10によって保管されたイメージの変更になるようなvdisk1への任意のアクセスにより、その変更が行われる前に、未変更のデータがターゲット・ディスク12に直ちにコピーされるという追加の要件が発生する。このようにして、外部ユーザにとってvdisk2はvdisk1のポイント・イン・タイム・コピーを保管するものであるが、データは上記の情況下で物理的にコピーされるだけである。
フラッシュコピー機能のターゲット・ボリュームであるストレージ・ボリュームは、追加のフラッシュコピー機能のソース・ボリュームにすることもでき、したがって、ストレージ・ボリュームのカスケードが作成される。図2は、4つのストレージ・ボリューム10、12、16、および18からなるカスケードの一例を示しており、これらのボリュームはそれぞれのフラッシュコピー・マップ14によってリンクされている。それぞれのマップ14は、ソース・ボリュームからターゲット・ボリュームへのフラッシュコピー機能を定義する。ディスクBはディスクAのバックアップを提供し、ディスクCはディスクBのバックアップを提供し、ディスクDはディスクCのバックアップを提供する。種々のストレージ・ボリュームをリンクするフラッシュコピー機能14は種々の時期に開始されており、それによりそれぞれのストレージ・ボリュームによって保管されたイメージの種々のポイント・イン・タイム・コピーが作成される。
A←→B←→C←→Dというフラッシュコピー・カスケードでは、A、B、C、およびDは図2に示されているカスケード内のディスクであり、矢印はフラッシュコピー・マップであり、(A,B)がディスクAからディスクBへのフラッシュコピー・マッピングであることを示す場合、このカスケードは(A,B)、(B,C)、および(C,D)というマップを有する。このようなカスケードの従来技術の実装例では、ディスクAへの任意の新しいデータ書き込みにより、それぞれのフラッシュコピー機能通りに、ディスクBへの分割書き込みが行われる可能性があり、これはディスクB上のイメージを維持するために必要なものである。このディスクBへの書き込みにより、ディスクBおよびCの追加のクリーン読み取りならびにディスクDへのクリーン書き込みとそれに続くディスクCへの書き込みが行われることになる。このようにして、カスケード内の第1のストレージ・ボリューム10への単一書き込みの結果、カスケード全域で多数のクリーン動作が行われる可能性がある。
したがって、このような従来技術のフラッシュコピー・カスケードの制限事項は、所与の書き込み動作に必要なクリーン動作の回数を制限するために、同時復元動作の回数に関する制限を必要とすることである。ディスクAへの書き込みはストレージ・ボリュームAによってサポートされるサービスの通常実行になるので、このような書き込みが可能な限り迅速に完了することはビジネス上の観点から重要なことである。図2のカスケードでは、上記の従属読み取りおよび書き込みのすべてが行われるまで、ディスクAへの書き込みを完了することができない。これは、このプロセス中に何らかの障害が発生した場合に、トランザクション全体をバックアップする必要があるためである。
図3は、vdisk Aへの初期書き込みを完了する際に遅延の問題を改善するために図2の構成をどのように拡張するかを示している。ストレージ・ボリューム・コントローラ8は、そのターゲット・ボリュームがすでにアクティブ・フラッシュコピー・マップのソース・ボリュームである、フラッシュコピー・マップの開始に余分なステップを追加する。このステップは、開始される新しいマップのターゲット・ボリュームがアクティブ・フラッシュコピー・マップのソース・ボリュームである場合にそのアクティブ・マップのターゲット・ボリュームが2次fdiskを有するかどうかをそのターゲット・ボリュームに照会し、そうである場合にストレージ・ボリューム・コントローラが元のフラッシュコピーのターゲット・ボリュームからスペース効率の良い新しいvdiskへのバッファ・フラッシュコピーを作成することである。2次とは上記で定義した通りである。vdiskは、それが提示できる2つのイメージを有する。これらはfdiskと呼ばれる。1次fdiskは任意のホスト・システムに提示されたイメージである。これは、読み取り動作のために返されたデータである。2次fdiskは、そのイメージを提示するために他のvdisk上に保持されたデータを必要とする、他のフラッシュコピー・カスケードによって使用されるイメージである。
上記の図2の例を考慮する際に、この新しい方式では、(B,C)が開始されると、その結果、カスケードB←→CおよびC←→Dが得られる。これは、開始されるマップのターゲットCがマップC←→Dの一部であるが、Dが2次を有しておらず、この時点でまったく問題がないためである。しかし、(A,B)が開始されると、バッファ・フラッシュコピー機能(B,B’)が作成される。これは、ターゲットBがB→Cの一部であり、Cが2次を有するためである。この新しいバッファ・フラッシュコピー機能の結果、新しいストレージ・ボリューム20を使用して、A←→B、B←→B’←→C、およびC←→Dを含むカスケードが作成される。これが作成されると、ディスクAへの書き込みの結果、ディスクBのクリーン読み取りとディスクB’へのクリーン書き込みが行われることになる。フラッシュコピー・グラフがどんなに大きくなっても、単一書き込みの結果は単一クリーン動作になるだけである。マップ(B,B’)は永続クリーニング・モードになる。これは、ディスクB’またはディスクC上のどのデータもバックグラウンドでクリーニングされることを意味する。
バッファ・フラッシュコピー・マップ(B,B’)は、少なくともマップA→BならびにB←→CおよびC←→Dの存続期間の間、存在することになる。A→BまたはC←→Dが停止されるかまたは完了した場合、マップB←→B’はクリーニングし、それ自体をカスケードから除去する。B←→Cが停止されるかまたは完了した場合、マップB←→B’は直ちに停止することができる。これは、カスケードを維持するために必要なクリーニングがインターロックされたカスケードの数とは無関係であることを意味する。バッファ・フラッシュコピー機能のターゲットである新しいターゲット・ディスク20は、元のカスケード内にブレークを効果的に作成し、ディスクAへの元の書き込みの結果得られたディスクBから必要な変更を吸収することになる。次に、この書き込みを完了することができ、カスケードを下ってB’からCへのクリーニングを実行することができる。
図4は、バッファ・フラッシュコピー機能がセットアップされた後にディスクAへの書き込みがどのように処理されるかを示している。新しいターゲット・ディスク20であるvdisk B’が存在すると、その結果、ディスクAへの入出力に関する境界が発生する。ディスクAへの新しい書き込みの結果、ディスクBのクリーン読み取りとディスクB’へのクリーン書き込みが行われる。この時点では、ディスクCまたはDまでカスケードを下る追加のアクションはまったく不要である。ディスクAへの元の入出力を完了することができ、この結果、直列の複数ディスクからなる従来技術のカスケードと比較したときに、ディスクAへの元の入出力を完了するために必要な時間の長さが改善される。
バッファ・フラッシュコピー機能および新しいターゲット・ストレージ・ボリューム20が存在するということは、フラッシュコピー・マップを開始する順序に関する制約が除去されることを意味する。ストレージ・ボリュームB’はカスケード内のブレークとして作用し、元の入出力が完了すると、ボリュームB’上のデータは通常のバックグラウンド・プロセスとしてディスクC上にクリーニングすることができる。ストレージ・ボリュームB’はディスクBから書き込まれたデータのための一時的なストアであり、ストレージ・ボリュームB’上に存在するデータは、それがディスクC上にクリーニングされた後には存続しない。
カスケード内の下の方にあるボリュームは、これらのストレージ・ボリューム間のマップ14と同じように、それぞれの通常の方法で機能する。図3および図4の例では、カスケード内の下の方にあるディスクCおよびDは、カスケード内に挿入された新しいターゲット・ディスクB’の存在に気付かず、バッファ・フラッシュコピー機能の存在にも気付かない。これらのディスクCおよびDは通常通りに存続し、新しいターゲット・ディスクB’からディスクCへのデータのクリーニングは、そのディスクCへのデータの通常の書き込みとして処理され、それにより、C上の特定のデータがまだコピーされていない場合に、ディスクDへの書き込みを実行するようフラッシュコピー機能をトリガすることになる。
セットアップ・ステージでコピー機能を操作するプロセスを要約する流れ図が図5に示されている。コピー機能を操作する方法は、ストレージ・ボリューム・コントローラ8によって実行され、第1のステップS1として、ソース・ボリュームからターゲット・ボリュームへの新しいフラッシュコピー機能を開始するステップを含む。図4の例では、ソース・ボリュームはvdisk Aであり、ターゲット・ボリュームはvdisk Bであり、作成される新しいフラッシュコピー機能はvdisk Aからvdisk Bへのフラッシュコピー機能14である。この新しいフラッシュコピー機能は、管理者によって作成されている可能性があるか、またはソフトウェアによって自動的に作成されている可能性がある。
この方法の第2のステップS2は、新しいフラッシュコピー機能のターゲット・ボリューム(vdisk B)が既存のフラッシュコピー機能のためのソース・ボリュームでもあることを検出するステップである。図4の例に関連して、既存のフラッシュコピー機能はvdisk Bからvdisk Cへのマッピング機能である。したがって、この例では、新しいフラッシュコピー機能のターゲットであるvdisk Bは既存のフラッシュコピー機能のソースでもある。ストレージ・ボリューム・コントローラ8は、コントローラ8がソース・ボリュームからターゲット・ボリュームへのフラッシュコピー機能の既存のマッピングに関して維持する詳細に基づいて、この検出ステップを実行することができる。
このプロセスの次のステップは、既存のフラッシュコピー機能(B→C)のターゲット・ボリューム(vdisk C)が2次ボリューム(この場合はvdisk D)を有することを検出するステップS3である。この場合も、フラッシュコピー機能に関する既存のデータならびにそれぞれのソースおよびターゲットを使用して、ストレージ・ボリューム・コントローラ8によって実行することができる。最後に、ステップS4では、新しいフラッシュコピー機能のターゲット・ボリューム(vdisk B)から新しいターゲット・ボリューム(vdisk B’)へのバッファ・フラッシュコピー機能(B→B’)を作成する最後のステップが行われる。このようにして、vdisk B’においてカスケード内にブレークが導入され、元のディスクAへの入出力が制限される。

Claims (15)

  1. コピー機能を操作する方法であって、
    第1のソース・ボリュームから第1のターゲット・ボリュームへの新しいフラッシュコピー機能を開始することと、
    前記新しいフラッシュコピー機能の前記第1のターゲット・ボリュームが既存のフラッシュコピー機能のための第2のソース・ボリュームであることを検出することと、
    前記既存のフラッシュコピー機能の第2のターゲット・ボリュームが2次ボリュームを有することを検出することと、
    前記新しいフラッシュコピー機能の前記第1のターゲット・ボリュームから新しい第3のターゲット・ボリュームへのバッファ・フラッシュコピー機能を実行すること
    を含む方法。
  2. 前記第1のソース・ボリュームに関するデータ書き込みを受け取ることと、前記第1のターゲット・ボリュームの対応するデータ読み取りを実行することと、前記第1のターゲット・ボリュームからの前記データ読み取りについて前記新しい第3のターゲット・ボリュームへのデータ書き込みを実行することをさらに含む、請求項1記載の方法。
  3. 前記第1のソース・ボリュームの対応するデータ読み取りを実行することと、前記第1のターゲット・ボリュームへのデータ書き込みを実行することと、前記第1のソース・ボリュームに関する元のデータ書き込みを実行することをさらに含む、請求項2記載の方法。
  4. 前記新しい第3のターゲット・ボリュームに書き込まれた前記データにより前記既存のフラッシュコピー機能の前記第2のターゲット・ボリュームへのデータ書き込みを実行することをさらに含む、請求項3記載の方法。
  5. 前記新しいフラッシュコピー機能または既存のフラッシュコピー機能が停止または完了したことを検出することと、前記新しい第3のターゲット・ボリュームをクリーニングすることと、前記コピー機能から前記新しい第3のターゲット・ボリュームを除去することをさらに含む、請求項1ないし4のいずれかに記載の方法。
  6. 複数のストレージ・ボリュームと、前記ストレージ・ボリュームに接続されたストレージ・ボリューム・コントローラとを含み、コピー機能を操作するためのシステムであって、前記ストレージ・ボリューム・コントローラが、
    第1のソース・ボリュームから第1のターゲット・ボリュームへの新しいフラッシュコピー機能を開始することと、
    前記新しいフラッシュコピー機能の前記第1のターゲット・ボリュームが既存のフラッシュコピー機能のための第2のソース・ボリュームであることを検出することと、
    前記既存のフラッシュコピー機能の第2のターゲット・ボリュームが2次ボリュームを有することを検出することと、
    前記新しいフラッシュコピー機能の前記第1のターゲット・ボリュームから新しい第3のターゲット・ボリュームへのバッファ・フラッシュコピー機能を実行すること
    を行うように配置される、システム。
  7. 前記ストレージ・ボリューム・コントローラが、前記第1のソース・ボリュームに関するデータ書き込みを受け取ることと、前記第1のターゲット・ボリュームの対応するデータ読み取りを実行することと、前記第1のターゲット・ボリュームからの前記データ読み取りについて前記新しい第3のターゲット・ボリュームへのデータ書き込みを実行することをさらに行うように配置される、請求項6記載のシステム。
  8. 前記ストレージ・ボリューム・コントローラが、前記第1のソース・ボリュームの対応するデータ読み取りを実行することと、前記第1のターゲット・ボリュームへのデータ書き込みを実行することと、前記第1のソース・ボリュームに関する元のデータ書き込みを実行することをさらに行うように配置される、請求項7記載のシステム。
  9. 前記ストレージ・ボリューム・コントローラが、前記新しい第3のターゲット・ボリュームに書き込まれた前記データにより前記既存のフラッシュコピー機能の前記第2のターゲット・ボリュームへのデータ書き込みを実行することをさらに行うように配置される、請求項8記載のシステム。
  10. 前記ストレージ・ボリューム・コントローラが、前記新しいフラッシュコピー機能または既存のフラッシュコピー機能が停止または完了したことを検出することと、前記新しい第3のターゲット・ボリュームをクリーニングすることと、前記コピー機能から前記新しい第3のターゲット・ボリュームを除去することをさらに行うように配置される、請求項6ないし9のいずれかに記載のシステム。
  11. コピー機能を操作するためのコンピュータ可読媒体上のコンピュータ・プログラム製品であって、
    第1のソース・ボリュームから第1のターゲット・ボリュームへの新しいフラッシュコピー機能を開始するための命令と、
    前記新しいフラッシュコピー機能の前記第1のターゲット・ボリュームが既存のフラッシュコピー機能のための第2のソース・ボリュームであることを検出するための命令と、
    前記既存のフラッシュコピー機能の第2のターゲット・ボリュームが2次ボリュームを有することを検出するための命令と、
    前記新しいフラッシュコピー機能の前記第1のターゲット・ボリュームから新しい第3のターゲット・ボリュームへのバッファ・フラッシュコピー機能を実行するための命令
    を含む、コンピュータ・プログラム製品。
  12. 前記第1のソース・ボリュームに関するデータ書き込みを受け取るための命令と、前記第1のターゲット・ボリュームの対応するデータ読み取りを実行するための命令と、前記第1のターゲット・ボリュームからの前記データ読み取りについて前記新しい第3のターゲット・ボリュームへのデータ書き込みを実行するための命令をさらに含む、請求項11記載のコンピュータ・プログラム製品。
  13. 前記第1のソース・ボリュームの対応するデータ読み取りを実行するための命令と、前記第1のターゲット・ボリュームへのデータ書き込みを実行するための命令と、前記第1のソース・ボリュームに関する元のデータ書き込みを実行するための命令をさらに含む、請求項12記載のコンピュータ・プログラム製品。
  14. 前記新しい第3のターゲット・ボリュームに書き込まれた前記データにより前記既存のフラッシュコピー機能の前記第2のターゲット・ボリュームへのデータ書き込みを実行するための命令をさらに含む、請求項13記載のコンピュータ・プログラム製品。
  15. 前記新しいフラッシュコピー機能または既存のフラッシュコピー機能が停止または完了したことを検出するための命令と、前記新しい第3のターゲット・ボリュームをクリーニングするための命令と、前記コピー機能から前記新しい第3のターゲット・ボリュームを除去するための命令をさらに含む、請求項11ないし14のいずれかに記載のコンピュータ・プログラム製品。
JP2012550480A 2010-03-11 2011-03-08 コピー機能を操作するための方法、システム、およびコンピュータ・プログラム製品 Active JP5260802B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10156177.7 2010-03-11
EP10156177 2010-03-11
PCT/EP2011/053440 WO2011110542A1 (en) 2010-03-11 2011-03-08 Buffer disk in flashcopy cascade

Publications (2)

Publication Number Publication Date
JP2013518335A JP2013518335A (ja) 2013-05-20
JP5260802B2 true JP5260802B2 (ja) 2013-08-14

Family

ID=44357944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012550480A Active JP5260802B2 (ja) 2010-03-11 2011-03-08 コピー機能を操作するための方法、システム、およびコンピュータ・プログラム製品

Country Status (8)

Country Link
US (2) US8285679B2 (ja)
JP (1) JP5260802B2 (ja)
KR (1) KR101476018B1 (ja)
CN (1) CN102792276B (ja)
CA (1) CA2786165C (ja)
DE (1) DE112011100112B4 (ja)
GB (1) GB2491009B (ja)
WO (1) WO2011110542A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285679B2 (en) 2010-03-11 2012-10-09 International Business Machines Corporation Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship
US8788770B2 (en) 2010-05-25 2014-07-22 International Business Machines Corporation Multiple cascaded backup process
DE102012203778A1 (de) * 2011-04-04 2012-10-04 Schaeffler Technologies AG & Co. KG Verfahren zur Steuerung eines hybridischen Antriebsstrangs und Akkumulatoreinrichtung in diesem
US8719523B2 (en) * 2011-10-03 2014-05-06 International Business Machines Corporation Maintaining multiple target copies
US9116726B2 (en) * 2012-09-28 2015-08-25 Vmware, Inc. Virtual disk snapshot consolidation using block merge
JP6194784B2 (ja) * 2013-12-13 2017-09-13 富士通株式会社 ストレージ制御装置、制御方法および制御プログラム
US9817718B2 (en) 2014-04-02 2017-11-14 International Business Machines Corporation Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation from a shared resource pool
US9600188B2 (en) * 2014-04-02 2017-03-21 International Business Machines Corporation Collision avoidance using dynamic target volume allocation from a shared resource pool
US9672118B2 (en) * 2014-04-02 2017-06-06 International Business Machines Corporation Collision avoidance using dynamic target volume allocation
US9710339B2 (en) * 2014-04-02 2017-07-18 International Business Machines Corporation Collision avoidance using dynamic volume allocation with reuse
US9747046B2 (en) * 2014-04-02 2017-08-29 International Business Machines Corporation Collision avoidance using dynamic target volume allocation in a single repository
US9817723B2 (en) 2014-04-02 2017-11-14 International Business Machines Corporation Efficient FlashCopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse
US9632710B2 (en) 2014-04-02 2017-04-25 International Business Machines Corporation Efficient use of Flashcopy resources and target volumes for dynamic target volume allocation
US9817719B2 (en) 2014-04-02 2017-11-14 International Business Machines Corporation Efficient Flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse and from a shared resource pool
US9760450B2 (en) 2015-09-16 2017-09-12 International Business Machines Corporation Restoring a clone point-in-time copy
US9747171B2 (en) 2015-09-16 2017-08-29 International Business Machines Corporation Point-in-time copy restore
US9760449B2 (en) 2015-09-16 2017-09-12 International Business Machines Corporation Restoring a point-in-time copy
US9886349B2 (en) * 2015-09-21 2018-02-06 International Business Machines Corporation Point-in-time copy on write for golden image
US9940041B2 (en) * 2015-09-21 2018-04-10 International Business Machines Corporation Copy-redirect on write
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US20180157697A1 (en) 2016-12-07 2018-06-07 International Business Machines Corporation Updating change information for current copy relationships when establishing a new copy relationship having overlapping data with the current copy relationships
US10042581B2 (en) 2016-12-07 2018-08-07 International Business Machines Corporation Releasing space allocated to a space efficient target storage in a copy relationship with a source storage
US9983815B1 (en) 2016-12-07 2018-05-29 International Business Machines Corporation Using a cascade flag to process a copy relationship having a backward cascade copy relationship
US10884884B2 (en) * 2017-03-23 2021-01-05 International Business Machines Corporation Reversal of the direction of replication in a remote copy environment by tracking changes associated with a plurality of point in time copies

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047390B2 (en) * 2003-06-17 2006-05-16 International Business Machines Corporation Method, system, and program for managing a relationship between one target volume and one source volume
US7133982B2 (en) * 2003-06-18 2006-11-07 International Business Machines Corporation Method, system, and article of manufacture for consistent copying of storage volumes
US7188272B2 (en) 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
KR100445182B1 (ko) * 2004-03-05 2004-08-21 주식회사 넥스토디아이 데이터 복사장치
US7475204B2 (en) 2004-11-24 2009-01-06 International Business Machines Corporation Automatically managing the state of replicated data of a computing environment
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
US7506132B2 (en) * 2005-12-22 2009-03-17 International Business Machines Corporation Validity of address ranges used in semi-synchronous memory copy operations
US7454585B2 (en) * 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
US7823007B2 (en) * 2006-02-17 2010-10-26 International Business Machines Corporation Apparatus, system, and method for switching a volume address association in a point-in-time copy relationship
KR100844988B1 (ko) * 2006-09-07 2008-07-08 주식회사 스타칩 메모리 고속복사 장치 및 방법
US8230185B2 (en) * 2008-10-08 2012-07-24 International Business Machines Corporation Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps
EP2300921B1 (en) 2008-10-30 2011-11-30 International Business Machines Corporation Flashcopy handling
US8468316B2 (en) 2009-06-15 2013-06-18 International Business Machines Corporation Apparatus and method for data backup
US8533411B2 (en) 2010-03-11 2013-09-10 International Business Machines Corporation Multiple backup processes
US8285679B2 (en) 2010-03-11 2012-10-09 International Business Machines Corporation Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship
US8788770B2 (en) 2010-05-25 2014-07-22 International Business Machines Corporation Multiple cascaded backup process

Also Published As

Publication number Publication date
US20110225124A1 (en) 2011-09-15
KR101476018B1 (ko) 2014-12-23
CN102792276A (zh) 2012-11-21
US20120254569A1 (en) 2012-10-04
DE112011100112T5 (de) 2013-01-03
CA2786165C (en) 2020-02-18
DE112011100112B4 (de) 2015-09-10
US8285679B2 (en) 2012-10-09
CN102792276B (zh) 2015-03-25
GB2491009A (en) 2012-11-21
CA2786165A1 (en) 2011-09-15
US8566282B2 (en) 2013-10-22
KR20120140652A (ko) 2012-12-31
GB201208127D0 (en) 2012-06-20
GB2491009B (en) 2016-09-07
JP2013518335A (ja) 2013-05-20
WO2011110542A1 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5260802B2 (ja) コピー機能を操作するための方法、システム、およびコンピュータ・プログラム製品
JP5705309B2 (ja) バックアップ・プロセスを処理する方法、システム、及びコンピュータ・プログラム
US9063894B2 (en) Cascade ordering
KR101522443B1 (ko) 플래시카피 처리방법 및 시스템
US8464010B2 (en) Apparatus and method for data backup
JP5669988B2 (ja) 多重ターゲット・コピーの維持
US9218255B2 (en) Multi-volume instant virtual copy freeze
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
US8533411B2 (en) Multiple backup processes
CN107209705A (zh) 用于计算环境的活动回滚
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JP2005316624A (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
KR101969799B1 (ko) 전자 장치 및 제어 방법
US20180173784A1 (en) Optimized cloning for backup to disk

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5260802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150