"コピー機能を操作する方法であって、ソースボリュームからターゲットボリュームへの新しいフラッシュコピー機能を開始することと、前記新しいフラッシュコピー機能の前記ターゲットボリュームが既存のフラッシュコピー機能のための前記ソースボリュームであることを検出することと、前記既存のフラッシュコピー機能の前記ターゲットボリュームが2次ボリュームを有することを検出することと、前記新しいフラッシュコピー機能の前記ターゲットボリュームから新しいターゲットボリュームへのバッファフラッシュコピー機能を作成することを含む方法。前記ソースボリュームに関するデータ書き込みを受け取ることと、前記ターゲットボリュームの対応するデータ読み取りを実行することと、前記ターゲットボリュームからの前記データ読み取りについて前記新しいターゲットボリュームへのデータ書き込みを実行することをさらに含む、請求項1記載の方法。前記ソースボリュームの対応するデータ読み取りを実行することと、前記ターゲットボリュームへのデータ書き込みを実行することと、前記ソースボリュームに関する元のデータ書き込みを完了することをさらに含む、請求項2記載の方法。前記新しいターゲットボリュームに書き込まれた前記データの前記既存のフラッシュコピー機能の前記ターゲットボリューム上でデータ書き込みを実行することをさらに含む、請求項3記載の方法。前記新しいフラッシュコピー機能または既存のフラッシュコピー機能が停止または完了したことを検出することと、前記新しいターゲットボリュームをクリーニングすることと、前記コピー機能から前記新しいターゲットボリュームを除去することをさらに含む、請求項1ないし4のいずれかに記載の方法。複数のストレージボリュームと、前記ストレージボリュームに接続されたストレージボリュームコントローラとを含み、コピー機能を操作するためのシステムであって、前記ストレージコントローラが、ソースボリュームからターゲットボリュームへの新しいフラッシュコピー機能を開始することと、前記新しいフラッシュコピー機能の前記ターゲットボリュームが既存のフラッシュコピー機能のための前記ソースボリュームであることを検出することと、前記既存のフラッシュコピー機能の前記ターゲットボリュームが2次ボリュームを有することを検出することと、前記新しいフラッシュコピー機能の前記ターゲットボリュームから新しいターゲットボリュームへのバッファフラッシュコピー機能を作成することを行うように配置される、システム。前記ストレージボリュームコントローラが、前記ソースボリュームに関するデータ書き込みを受け取ることと、前記ターゲットボリュームの対応するデータ読み取りを実行することと、前記ターゲットボリュームからの前記データ読み取りについて前記新しいターゲットボリュームへのデータ書き込みを実行することをさらに行うように配置される、請求項6記載のシステム。前記ストレージボリュームコントローラが、前記ソースボリュームの対応するデータ読み取りを実行することと、前記ターゲットボリュームへのデータ書き込みを実行することと、前記ソースボリュームに関する元のデータ書き込みを完了することをさらに行うように配置される、請求項7記載のシステム。前記ストレージボリュームコントローラが、前記新しいターゲットボリュームに書き込まれた前記データの前記既存のフラッシュコピー機能の前記ターゲットボリューム上でデータ書き込みを実行することをさらに行うように配置される、請求項8記載のシステム。前記ストレージボリュームコントローラが、前記新しいフラッシュコピー機能または既存のフラッシュコピー機能が停止または完了したことを検出することと、前記新しいターゲットボリュームをクリーニングすることと、前記コピー機能から前記新しいターゲットボリュームを除去することをさらに行うように配置される、請求項6ないし9のいずれかに記載のシステム。コピー機能を操作するためのコンピュータ可読媒体上のコンピュータプログラム製品であって、ソースボリュームからターゲットボリュームへの新しいフラッシュコピー機能を開始するための命令と、前記新しいフラッシュコピー機能の前記ターゲットボリュームが既存のフラッシュコピー機能のための前記ソースボリュームであることを検出するための命令と、前記既存のフラッシュコピー機能の前記ターゲットボリュームが2次ボリュームを有することを検出するための命令と、前記新しいフラッシュコピー機能の前記ターゲットボリュームから新しいターゲットボリュームへのバッファフラッシュコピー機能を作成するための命令を含む、コンピュータプログラム製品。前記ソースボリュームに関するデータ書き込みを受け取るための命令と、前記ターゲットボリュームの対応するデータ読み取りを実行するための命令と、前記ターゲットボリュームからの前記データ読み取りについて前記新しいターゲットボリュームへのデータ書き込みを実行するための命令をさらに含む、請求項11記載のコンピュータプログラム製品。前記ソースボリュームの対応するデータ読み取りを実行するための命令と、前記ターゲットボリュームへのデータ書き込みを実行するための命令と、前記ソースボリュームに関する元のデータ書き込みを完了するための命令をさらに含む、請求項12記載のコンピュータプログラム製品。前記新しいターゲットボリュームに書き込まれた前記データの前記既存のフラッシュコピー機能の前記ターゲットボリューム上でデータ書き込みを実行するための命令をさらに含む、請求項13記載のコンピュータプログラム製品。前記新しいフラッシュコピー機能または既存のフラッシュコピー機能が停止または完了したことを検出するための命令と、前記新しいターゲットボリュームをクリーニングするための命令と、前記コピー機能から前記新しいターゲットボリュームを除去するための命令をさらに含む、請求項11ないし14のいずれかに記載のコンピュータプログラム製品。したがって、本発明の一目的は、既知の技術を改善することにある。本発明の第1の態様により、コピー機能を操作する方法であって、ソースボリュームからターゲットボリュームへの新しいフラッシュコピー機能を開始することと、新しいフラッシュコピー機能のターゲットボリュームが既存のフラッシュコピー機能のためのソースボリュームであることを検出することと、既存のフラッシュコピー機能のターゲットボリュームが2次ボリュームを有することを検出することと、新しいフラッシュコピー機能のターゲットボリュームから新しいターゲットボリュームへのバッファフラッシュコピー機能を作成することを含む方法が提供される。本発明の第2の態様により、複数のストレージボリュームと、ストレージボリュームに接続されたストレージボリュームコントローラとを含み、コピー機能を操作するためのシステムであって、そのストレージコントローラが、ソースボリュームからターゲットボリュームへの新しいフラッシュコピー機能を開始することと、新しいフラッシュコピー機能のターゲットボリュームが既存のフラッシュコピー機能のためのソースボリュームであることを検出することと、既存のフラッシュコピー機能のターゲットボリュームが2次ボリュームを有することを検出することと、新しいフラッシュコピー機能のターゲットボリュームから新しいターゲットボリュームへのバッファフラッシュコピー機能を作成することを行うように配置される、システムが提供される。本発明の第3の態様により、コピー機能を操作するためのコンピュータ可読媒体上のコンピュータプログラム製品computerprogramproductであって、ソースボリュームからターゲットボリュームへの新しいフラッシュコピー機能を開始するための命令と、新しいフラッシュコピー機能のターゲットボリュームが既存のフラッシュコピー機能のためのソースボリュームであることを検出するための命令と、既存のフラッシュコピー機能のターゲットボリュームが2次ボリュームを有することを検出するための命令と、新しいフラッシュコピー機能のターゲットボリュームから新しいターゲットボリュームへのバッファフラッシュコピー機能を作成するための命令を含む、コンピュータプログラム製品が提供される。本発明により、無制限のフラッシュコピー復元動作を可能にする、バッファリングされたフラッシュコピーマップを提供することは可能である。本発明のシステムおよび方法は、フラッシュコピーカスケードの従来技術の実装例の制約を除去するための手順を記述するものであり、単一書き込みの結果、カスケードを下って多数のクリーン動作が行われる可能性があり、それにより、カスケードの一番上で元の書き込みアクションの完了が減速することになる。本発明は、バッファリングされたフラッシュコピーの概念を導入するものである。すなわち、そのターゲットが2次ボリュームを有する他のアクティブマップのソース上へのフラッシュコピーが開始されると、スペース効率の良い新しいフラッシュコピーが作成されて開始され、それにより、クリーン動作がカスケード全域に拡がるのを防止することになる。この方法は、そのターゲットボリュームがすでに存在するアクティブフラッシュコピーマップのソースボリュームである、フラッシュコピーマップの開始に余分なステップを追加する。このステップは、開始されるフラッシュコピーマップのターゲットXがアクティブフラッシュコピーマップ1のソースである場合にマップ1のターゲットYが2次fdiskを有するかどうかを尋ね、そうである場合にXからスペース効率の良い新しいvdiskX’へのバッファフラッシュコピーを作成することである。従来技術の考察において上記の例を考慮する際に、本発明の一例による新しい方式では、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は、ストレージコントローラ8と2つのストレージディスク10および12を使用してフラッシュコピーの概念を示している。ディスク10および12は、より大きいディスクアレイの一部を形成することができ、典型的に、エンタープライズストレージソリューションの一部を形成することになるであろう。ディスク10および12は、たとえば、商用Webサイトに関するストレージソリューションの一部にすることができる。いつでもvdisk1の内容のバックアップを行う必要がある場合、ストレージボリュームコントローラ8からそのディスク10にフラッシュコピー命令を送信することができ、この命令はソースディスク10vdisk1と、フラッシュコピーのターゲットであるターゲットディスク12vdisk2も定義する。フラッシュコピー命令は、ソースディスク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は、vdiskAへの初期書き込みを完了する際に遅延の問題を改善するために図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であるvdiskB’が存在すると、その結果、ディスク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の例では、ソースボリュームはvdiskAであり、ターゲットボリュームはvdiskBであり、作成される新しいフラッシュコピー機能はvdiskAからvdiskBへのフラッシュコピー機能14である。この新しいフラッシュコピー機能は、管理者によって作成されている可能性があるか、またはソフトウェアによって自動的に作成されている可能性がある。この方法の第2のステップS2は、新しいフラッシュコピー機能のターゲットボリュームvdiskBが既存のフラッシュコピー機能のためのソースボリュームでもあることを検出するステップである。図4の例に関連して、既存のフラッシュコピー機能はvdiskBからvdiskCへのマッピング機能である。したがって、この例では、新しいフラッシュコピー機能のターゲットであるvdiskBは既存のフラッシュコピー機能のソースでもある。ストレージボリュームコントローラ8は、コントローラ8がソースボリュームからターゲットボリュームへのフラッシュコピー機能の既存のマッピングに関して維持する詳細に基づいて、この検出ステップを実行することができる。このプロセスの次のステップは、既存のフラッシュコピー機能B→CのターゲットボリュームvdiskCが2次ボリュームこの場合はvdiskDを有することを検出するステップS3である。この場合も、フラッシュコピー機能に関する既存のデータならびにそれぞれのソースおよびターゲットを使用して、ストレージボリュームコントローラ8によって実行することができる。最後に、ステップS4では、新しいフラッシュコピー機能のターゲットボリュームvdiskBから新しいターゲットボリュームvdiskB’へのバッファフラッシュコピー機能B→B’を作成する最後のステップが行われる。このようにして、vdiskB’においてカスケード内にブレークが導入され、元のディスクAへの入出力が制限される。"