(57)【要約】  データをコピーするための装置、システム、および方法が開示される。本発明は、高速複製をサポートするデータ・ストレージ・サブシステムと、高速複製要求をデータ・ストレージ・サブシステムに送り、高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定し、待機時間の満了を待ち、追加の高速複製要求をデータ・ストレージ・サブシステムに送り、追加の高速複製要求が認められた場合、移動されたとしてデータを記録する、ホスト・システムとを含む。ある実施形態では、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、ホスト・システムは従来のＩ／Ｏ動作を介してデータを移動する。【選択図】  図３
2010514031.tif 000002
【特許請求の範囲】
【請求項１】
データに関する高速複製要求をデータ・ストレージ・サブシステムに送るように構成された通信モジュールと、
前記高速複製要求が認められなかった場合、保留中の高速複製動作に関する予想待機時間を推定するように構成された同期モジュールと、
前記予想待機時間の満了を待つように構成されたデータ管理モジュールと、
前記データに関する追加の高速複製要求を前記データ・ストレージ・サブシステムに送るようにさらに構成された、前記通信モジュールと、
前記追加の高速複製要求が認められた場合、移動されたとして前記データを記録するようにさらに構成された、前記データ管理モジュールと、
を備える、データをコピーするための装置。
【請求項２】
前記データ管理モジュールが、前記予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、前記従来のＩ／Ｏ動作を介して前記データを移動するようにさらに構成された、請求項１に記載の装置。
【請求項３】
前記データ管理モジュールが、移動されたとして前記データを記録するようにさらに構成された、請求項２に記載の装置。
【請求項４】
前記同期モジュールが、前記データ・ストレージ・サブシステムの作業負荷に従って前記予想待機時間を調整するようにさらに構成された、請求項１に記載の装置。
【請求項５】
前記データ管理モジュールが、移動されることになるデータを表すエントリのリストから前記データを表すエントリを除去することによって、移動されたとして前記データを記録するようにさらに構成された、請求項１に記載の装置。
【請求項６】
前記データ管理モジュールが、前記データが移動された時間を記録するようにさらに構成された、請求項１に記載の装置。
【請求項７】
高速複製をサポートするように構成された少なくとも１つのデータ・ストレージ・サブシステムと、
データに関する高速複製要求を前記少なくとも１つのデータ・ストレージ・サブシステムに送ること、
前記高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定すること、
前記予想待機時間の満了を待つこと、
前記データに関する追加の高速複製要求を前記少なくとも１つのデータ・ストレージ・サブシステムに送ること、および
前記追加の高速複製要求が認められた場合、移動されたとして前記データを記録すること、
を実行するように構成された、ホスト・システムと、
を備える、データをコピーするためのシステム。
【請求項８】
前記ホスト・システムが、前記予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、前記従来のＩ／Ｏ動作を介して前記データを移動するようにさらに構成された、請求項７に記載のシステム。
【請求項９】
前記ホスト・システムが、従来のＩ／Ｏ動作を介して前記データが移動された場合、移動されたとして前記データを記録するようにさらに構成された、請求項８に記載のシステム。
【請求項１０】
前記ホスト・システムが、前記少なくとも１つのデータ・ストレージ・サブシステムの作業負荷に従って前記予想待機時間を調整するようにさらに構成された、請求項７に記載のシステム。
【請求項１１】
前記ホスト・システムが、移動されることになるデータを表すエントリのリストから前記データを表すエントリを除去することによって、移動されたとして前記データを記録するようにさらに構成された、請求項７に記載のシステム。
【請求項１２】
前記ホスト・システムが、前記データが移動された時間を記録するようにさらに構成された、請求項７に記載のシステム。
【請求項１３】
前記高速複製要求が、前記少なくとも１つのデータ・ストレージ・サブシステムに関してローカルでない場所に前記データを移動するための要求である、請求項７に記載のシステム。
【請求項１４】
データに関する高速複製要求をデータ・ストレージ・サブシステムに送るためのステップと、
前記高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定するステップと、
前記予想待機時間が従来のＩ／Ｏ動作に関する前記予想所要時間を超える場合、前記従来のＩ／Ｏ動作を介して前記データを移動するステップと、
前記予想待機時間が前記従来のＩ／Ｏ動作に関する予想所要時間を超えない場合、前記予想待機時間の満了を待つステップと、
前記データに関する追加の高速複製要求を前記データ・ストレージ・サブシステムに送るステップと、
前記追加の高速複製要求が認められた場合、移動されたとして前記データを記録するステップと、
を含む、データをコピーするための方法。
【請求項１５】
コンピュータ・プログラムがコンピュータ上で実行された場合、請求項１４に記載の発明を実行するための、実行用のソフトウェア・コード部分を備える、デジタル・コンピュータの内部メモリにロード可能な、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを管理するためのシステム、装置、方法、およびプログラムに関し、とりわけ、データをコピーするためのシステム、装置、および方法に関する。
【背景技術】
【０００２】
効率的なデータのコピー／移動ソリューションは、データの管理および格納の重要な一面である。データのコピーは、データのデフラグまたはデータのバックアップなどの、データがある場所から別の場所へと移動される動作を含む場合がある。データをコピーするためのソリューションには、ホスト・システムがデータ・ストレージ・デバイスから、およびデータ・ストレージ・デバイスへと、データの読み取りおよび書き込みを実行する、従来の入力／出力（Ｉ／Ｏ）動作が含まれる。こうした手法は、データのコピーには有効であるが、必要な入力／出力動作に起因する望ましくないデータ・コピーのオーバヘッドを作り出す。
【０００３】
他のデータ・コピー・ソリューションには、単一の要求がホスト・システムからデータ・ストレージ・サブシステムに送信され、データ・ストレージ・サブシステムが全コピー動作を実施する、ＩＢＭのＦｌａｓｈＣｏｐｙ（Ｒ）などの高速複製（fast replication）が含まれる。高速複製には複数の入力／出力動作の必要がないため、しばしば、入力／出力手法よりも高速かつ効率的であるとみなされる。高速複製は、入力／出力動作によって作り出されるデータ・コピーのオーバヘッドを低減させることができるが、ある種の問題が存在する。
【０００４】
たとえば、ホスト・システムが、すでに高速複製関係にあるデータに対応する高速複製要求を送信する場合、高速複製要求は実行できない。したがって、データが高速複製に使用できるようになるまで待機する方が、従来のＩ／Ｏ動作でデータをコピーするよりも長くかかる可能性があるため、ホスト・システムは従来のＩ／Ｏ動作でデータをコピーする。言い換えれば、ホスト・システムには、データが高速複製に使用できるようになる時点を推定する方法がないため、データは従来のＩ／Ｏ動作を介してコピーされる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
要約すれば、前述の諸問題により、高速複製動作は依然として十分に活用されていない。
【課題を解決するための手段】
【０００６】
前述の考察から、データをコピーするための強化されたシステム、装置、および方法が求められている。有益なことに、こうしたシステム、装置、および方法は、データが高速複製に使用できるようになる時点を推定するため、および追加の高速複製要求を送るための、ソリューションを提供することによって、高速複製を介してコピーされるデータを最大限にすることになる。
【０００７】
本発明は、現況技術に応えて、特に、現在使用可能なデータ・コピー・ソリューションでは完全に解決されていない当分野の問題およびニーズに応えて、開発されてきた。したがって本発明は、データが高速複製に使用できるようになる時点を推定するため、および追加の高速複製要求を送るための、ソリューションを提供することによって、高速複製を介してコピーされるデータを最大限にする、データをコピーするための装置、システム、および方法を提供するために開発されてきた。
【０００８】
本発明の一態様では、データをコピーするためのシステムは、高速複製をサポートすることが可能なデータ・ストレージ・サブシステムと、データに関する高速複製要求をデータ・ストレージ・サブシステムに送り、高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定し、予想待機時間の満了を待ち、データに関する追加の高速複製要求をデータ・ストレージ・サブシステムに送り、追加の高速複製要求が認められた場合、移動されたとしてデータを記録する、ホスト・システムとを含む。ある実施形態では、予想待機時間が従来のＩ／Ｏ動作を実行するための予想所要時間（expected duration）を超える場合、ホスト・システムは従来のＩ／Ｏ動作を介してデータを移動する。
【０００９】
いくつかの実施形態では、従来のＩ／Ｏ動作を介してデータが移動された場合、ホスト・システムは、移動されたとしてデータを記録する。ある実施形態では、高速複製要求は、データ・ストレージ・サブシステムに対してローカルな位置にデータを移動するための要求を含むことができる。他の実施形態では、高速複製要求は、データ・ストレージ・サブシステムに関してローカルでない位置にデータを移動するための要求を含むことができる。ある実施形態では、ホスト・システムは、データ・ストレージ・サブシステムの作業負荷に従って予想待機時間を調整する。ある実施形態では、ホストは、移動されることになるデータのリストからデータを除去し、データが移動された時間を記録する。
【００１０】
本発明の一態様では、データをコピーするための装置は、データに関する高速複製要求をデータ・ストレージ・サブシステムに送る通信モジュールと、高速複製要求が認められなかった場合、保留中の高速複製動作に関する予想待機時間を推定する同期モジュールと、予想待機時間の満了を待つデータ管理モジュールとを含む。通信モジュールは、データに関する追加の高速複製要求もデータ・ストレージ・サブシステムに送り、データ管理モジュールは、追加の高速複製要求が認められた場合、移動されたとしてデータを記録する。いくつかの実施形態では、予想待機時間が、従来のＩ／Ｏ動作を実行するための予想所要時間を超える場合、Ｉ／Ｏモジュールは従来のＩ／Ｏ動作を介してデータを移動する。
【００１１】
データをコピーするための本発明の方法も提示される。開示された諸実施形態における方法は、実質的に、説明されたシステムおよび装置に関して上記に提示された機能を実施するために必要な動作を含む。一実施形態では、方法は、データに関する高速複製要求をデータ・ストレージ・サブシステムに送ること、高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定すること、予想待機時間の満了を待つこと、データに関する追加の高速複製要求をデータ・ストレージ・サブシステムに送ること、および、追加の高速複製要求が認められた場合、移動されたとしてデータを記録することを含む。ある実施形態では、方法は、予想待機時間が従来のＩ／Ｏ動作を実行するための予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータを移動することも含む。
【００１２】
第１の態様から見ると、本発明はデータをコピーするためのシステムを提供し、このシステムは、高速複製をサポートするように構成された少なくとも１つのデータ・ストレージ・サブシステムと、データに関する高速複製要求を少なくとも１つのデータ・ストレージ・サブシステムに送ること、高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定すること、予想待機時間の満了を待つこと、データに関する追加の高速複製要求を少なくとも１つのデータ・ストレージ・サブシステムに送ること、および、追加の高速複製要求が認められた場合、移動されたとしてデータを記録することを、実行するように構成されたホスト・システムと、を備える。
【００１３】
好ましくは、本発明は、ホスト・システムが、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータを移動するようにさらに構成された、システムを提供する。
【００１４】
好ましくは、本発明は、ホスト・システムが、従来のＩ／Ｏ動作を介してデータが移動された場合、移動されたとしてデータを記録するようにさらに構成された、システムを提供する。
【００１５】
好ましくは、本発明は、ホスト・システムが、少なくとも１つのデータ・ストレージ・サブシステムの作業負荷に従って予想待機時間を調整するようにさらに構成された、システムを提供する。
【００１６】
好ましくは、本発明は、ホスト・システムが、移動されることになるデータを表すエントリのリストからデータを表すエントリを除去することによって、移動されたとしてデータを記録するようにさらに構成された、システムを提供する。
【００１７】
好ましくは、本発明は、ホスト・システムが、データが移動された時間を記録するようにさらに構成された、システムを提供する。
【００１８】
好ましくは、本発明は、高速複製要求が、少なくとも１つのデータ・ストレージ・サブシステムに関してローカルでない位置にデータを移動するための要求である、システムを提供する。
【００１９】
第２の態様から見ると、本発明は、データをコピーするための装置を提供し、この装置は、データに関する高速複製要求をデータ・ストレージ・サブシステムに送るように構成された通信モジュールと、高速複製要求が認められなかった場合、保留中の高速複製動作に関する予想待機時間を推定するように構成された同期モジュールと、予想待機時間の満了を待つように構成されたデータ管理モジュールと、データに関する追加の高速複製要求をデータ・ストレージ・サブシステムに送るようにさらに構成された通信モジュールと、追加の高速複製要求が認められた場合、移動されたとしてデータを記録するようにさらに構成されたデータ管理モジュールとを備える。
【００２０】
好ましくは、本発明は、データ管理モジュールが、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータを移動するようにさらに構成された、装置を提供する。
【００２１】
好ましくは、本発明は、データ管理モジュールが、移動されたとしてデータを記録するようにさらに構成された、装置を提供する。
【００２２】
好ましくは、本発明は、同期モジュールが、データ・ストレージ・サブシステムの作業負荷に従って予想待機時間を調整するようにさらに構成された、装置を提供する。
【００２３】
好ましくは、本発明は、データ管理モジュールが、移動されることになるデータを表すエントリのリストからデータを表すエントリを除去することによって、移動されたとしてデータを記録するようにさらに構成された、装置を提供する。
【００２４】
好ましくは、本発明は、データ管理モジュールが、データが移動された時間を記録するようにさらに構成された、装置を提供する。
【００２５】
第３の態様から見ると、本発明は、データをコピーするための動作を実行するために、デジタル処理装置によって実行可能なマシン読み取り可能命令のプログラムを確実に記録する、信号担持媒体を提供し、この動作は、データに関する高速複製要求をデータ・ストレージ・サブシステムに送ること、高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定すること、予想待機時間の満了を待つこと、データに関する追加の高速複製要求をデータ・ストレージ・サブシステムに送ること、および、追加の高速複製要求が認められた場合、移動されたとしてデータを記録することを含む。
【００２６】
好ましくは、本発明は、動作が、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータを移動することをさらに含む、信号担持媒体を提供する。
【００２７】
好ましくは、本発明は、動作が、データが移動された場合、移動されたとしてデータを記録することをさらに含む、信号担持媒体を提供する。
【００２８】
好ましくは、本発明は、動作が、データ・ストレージ・サブシステムの作業負荷に従って予想待機時間を調整することをさらに含む、信号担持媒体を提供する。
【００２９】
好ましくは、本発明は、移動されたとしてデータを記録することが、移動されることになるデータを表すエントリのリストからデータを表すエントリを除去することを含む、信号担持媒体を提供する。
【００３０】
好ましくは、本発明は、動作が、データが移動された時間を記録することをさらに含む、信号担持媒体を提供する。
【００３１】
第４の態様から見ると、本発明は、データをコピーするための方法を提供し、この方法は、データに関する高速複製要求をデータ・ストレージ・サブシステムに送ること、高速複製要求が認められない場合、保留中の高速複製動作に関する予想待機時間を推定すること、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータを移動すること、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超えない場合、予想待機時間の満了を待つこと、データに関する追加の高速複製要求をデータ・ストレージ・サブシステムに送ること、および、追加の高速複製要求が認められた場合、移動されたとしてデータを記録することを含む。ある実施形態では、方法は、予想待機時間が従来のＩ／Ｏ動作を実行するための予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータを移動することを含む。
【００３２】
第５の態様から見ると、本発明は、コンピュータ・プログラム製品がコンピュータ上で実行された場合、前述のように本発明を実行するための、実行用のソフトウェア・コード部分を備える、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラム製品を提供する。
【００３３】
本明細書全体を通じて特徴、利点、または同様の用語に言及することは、本発明を使用して実現可能なすべての特徴および利点が、本発明のいずれかの単一の実施形態にあるべき、またはあることを、示唆するものではない。むしろ、特徴および利点に言及する言い回しは、ある実施形態に関連して説明された特定の特徴、利点、または特性が、本発明の少なくとも１つの実施形態に含まれることを意味するものと理解されよう。したがって、特徴および利点、ならびに同様の用語についての考察は、本明細書全体を通じて同じ実施形態を言い表す場合があるが、必ずしもこれに限らない。
【００３４】
以下で、本発明の諸実施形態について、添付の図面を参照しながら単なる例として詳細に説明する。
【図面の簡単な説明】
【００３５】
【図１】本発明の好ましい実施形態に従った、データ・コピー・システムの一実施形態を示す概略ブロック図である。
【図２】本発明の好ましい実施形態に従った、ホスト・システムの一実施形態を示す概略ブロック図である。
【図３】本発明の好ましい実施形態に従った、データをコピーするための方法の一実施形態を示す流れ図である。
【図４】本発明の好ましい実施形態に従った、データをコピーするための方法の一実施形態を示す流れ図である。
【発明を実施するための形態】
【００３６】
本明細書で説明される機能ユニットの多くは、それらの実装独立性を特に強調するために、モジュールとしてラベル付けされている。たとえばモジュールは、カスタムＶＬＳＩ回路またはゲート・アレイ、論理チップなどの市販の半導体、トランジスタ、あるいは他の別個の構成要素を備える、ハードウェア回路として実装可能である。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理デバイスなどの、プログラム可能ハードウェア・デバイス内にも実装可能である。
【００３７】
モジュールは、様々なタイプのプロセッサによる実行のためのソフトウェア内にも実装可能である。実行可能コードの識別モジュールは、たとえばオブジェクト、プロシージャ、または関数として編成可能な、たとえばコンピュータ命令の１つまたは複数の物理または論理ブロックを備えることができる。それにもかかわらず、識別モジュールの実行可能コードは、物理的にまとめて配置する必要はないが、論理的にまとめて結合された場合、モジュールを備え、モジュールの定められた目的を達成する、異なる場所に格納された異種の命令を備えることができる。
【００３８】
実際、実行可能コードのモジュールは、単一命令または多数の命令とすることが可能であり、いくつかの異なるコード・セグメントにわたって、異なるプログラム中で、異なるプロセッサ中で、およびいくつかのメモリ・デバイス全体にわたって、分散させることさえも可能である。同様に、動作可能データは、本明細書ではモジュール内に識別および例示可能であり、任意の好適な形で具体化すること、および任意の好適なタイプのデータ構造内に編成することが可能である。動作可能データは、単一のデータ・セットとして集めること、または、異なるストレージ・デバイスにわたることを含む、異なる場所にわたって分散することが可能であり、さらに、少なくとも部分的に、単なる電子信号としてシステムまたはネットワーク上に存在することが可能である。
【００３９】
本明細書全体を通じて「一実施形態」、「実施形態」、または同様の用語への言及は、その実施形態に関連して説明される特定の特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて「一実施形態では」、「実施形態では」、および同様の用語の句の出現は、すべて同じ実施形態を言い表す場合があるが、必ずしもこれに限らない。
【００４０】
コンピュータ読み取り可能媒体への言及は、信号を生成すること、信号を生成させること、または、デジタル処理装置上でマシン読み取り可能命令のプログラムを実行させることが可能な、任意の形をとることができる。コンピュータ読み取り可能媒体は、伝送線路、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、ホログラフ・ディスクまたはテープ、パンチ・カード、フラッシュ・メモリ、磁気抵抗メモリ、集積回路、あるいは他のデジタル処理装置メモリ・デバイスによって、具体化することができる。
【００４１】
さらに、本発明の説明された特徴、構造、または特性は、１つまたは複数の実施形態において任意の好適な方法で組み合わせることができる。しかしながら関連分野の技術者であれば、本発明は、１つまたは複数の特定の細部なしで、あるいは他の方法、構成要素、材料などを使用して、実施可能であることを理解されよう。他のインスタンスでは、本発明の諸態様を不明瞭にしないように、良く知られた構造、材料、または動作は、詳細に図示または説明しない。
【００４２】
図１は、本発明に従ったデータ・コピー・システム１００の一実施形態を示す概略ブロック図である。示されたシステム１００は、ホスト・システム１１０および１つまたは複数のデータ・ストレージ・サブシステム１２０を含む。システム１００の構成要素は、データのコピー効率を上げるために協働する。
【００４３】
一実施形態では、ホスト・システム１１０は、データ１２２に関する高速複製要求をデータ・ストレージ・サブシステム１２０に送る。データ・ストレージ・サブシステム１２０は、高速複製またはＦｌａｓｈＣｏｐｙ（Ｒ）の関係あるいは動作またはその両方をサポート可能な、任意のデバイスを含むことができる。高速複製要求がデータ・ストレージ・サブシステム１２０によって認められた場合、ホスト・システム１１０は、移動されたとしてデータ１２２を記録することができる。高速複製要求が認められなかった場合、ホスト・システム１１０は、保留中の高速複製動作に関する予想待機時間を推定することができる。いくつかの実施形態では、予想待機時間は、データ１２２が高速複製に使用できるようになる時点を予測するように意図される。
【００４４】
ある実施形態では、ホスト・システム１１０は、予想待機時間の満了を待ち、その後すぐに、追加の高速複製要求をデータ・ストレージ・サブシステム１２０に送ることができる。追加の高速複製要求が認められた場合、ホスト・システム１１０は、移動されたとしてデータ１２２を記録することができる。いくつかの実施形態では、追加の高速複製要求が認められなかった場合、ホスト・システム１１０は、データ１２２に関する高速複製要求が認められるまで、予想待機時間を推定し、待機時間の満了を待ち、他の高速複製要求を送るという動作を、再度循環する。待機期間を伴う高速複製要求を点在させることは、不成功の高速複製要求がデータ・ストレージ・サブシステム１２０に送信されることになる確率を低下させることによって、効率を上げる。
【００４５】
ある実施形態では、ホスト・システム１１０は、データ・ストレージ・サブシステム１２０の現在の作業負荷に従って予想待機時間を調整する。いくつかの実施形態では、ホスト・システム１１０は、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超える場合、従来のＩ／Ｏ動作を介してデータ１２２を移動する。このようにして、本発明は、データ・ストレージ・サブシステム１２０の作業負荷に応じて、最も効率的なデータ・コピー・ソリューションを決定および要求することができる。
【００４６】
図２は、本発明に従ったホスト・システム２００の一実施形態を示す概略ブロック図である。示されたホスト・システム２００は、通信モジュール２１０、同期モジュール２２０、データ管理モジュール２３０、および入力／出力モジュール２４０を含む。ホスト・システム２００のモジュールは、効率的なデータ・コピー・ソリューションを容易にするように、協働的に適合する。
【００４７】
ある実施形態では、通信モジュール２１０は、データに関する高速複製要求をデータ・ストレージ・サブシステム（図示せず）に送る。高速複製要求は、高速複製関係またはＦｌａｓｈＣｏｐｙ（Ｒ）動作を確立するためのコマンドを含むことができる。高速複製関係または動作に関連するデータは、バイト、ワード、ブロック、トラック、セクタ、エクステントなどの、アトミック単位の運動によって編成可能である。いくつかの実施形態では、高速複製要求は、データ・ストレージ・サブシステムに対してローカルな位置へ、および位置から、データをコピーするための要求を含む。他の実施形態では、高速複製要求は、データ・ストレージ・サブシステムに関してローカルでない位置へ、または位置から、データをコピーするための要求を含む。
【００４８】
データ管理モジュール２３０は、高速複製要求が認められた場合、移動されたとしてデータを記録することができる。ある実施形態では、移動されたとしてデータを記録することは、移動されることになるデータを表すエントリのリストからデータを表すエントリを除去すること、および、高速複製要求が認められた時間を記録することを、含むことができる。このようにして、ホスト・システム２００は、コピーされることになるデータの現在および編成済みのリストを維持することができる。
【００４９】
高速複製要求が認められない場合、同期モジュール２２０は、保留中の高速複製動作に関する予想待機時間を推定する事ができる。ある実施形態では、通信モジュール２１０は、予想待機時間の満了後、追加の高速複製要求をデータ・ストレージ・サブシステムに送る。追加の高速複製要求が認められた場合、データ管理モジュール２３０は、移動されたとしてデータを記録することができる。追加の高速複製要求が成功しなかった場合、ホスト・システム２００は、予想待機時間後の他の高速複製要求を送るために、前述の動作の一部またはすべてを反復することができる。
【００５０】
いくつかの実施形態では、入力／出力モジュール２４０は、予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超えた場合、従来のＩ／Ｏ動作を介してデータを移動する。こうした実施形態では、データ管理モジュール２３０は、移動されたとしてデータを、および運動の時間を、記録することができる。いくつかの実施形態では、データ管理モジュール２３０は、高速複製とは対照的に、従来のＩ／Ｏ動作によって、移動されたとしてデータを記録する。したがって、本発明は、データをコピーするための最も効率的な方法を決定すること、それを実行するための高速複製要求または従来の入力／出力コマンドを発行すること、および、コピーされたデータの状況を記録することが可能である。
【００５１】
いくつかの実施形態では、同期モジュール２２０は、データ・ストレージ・サブシステムの作業負荷に従って予想待機時間を調整することができる。たとえば、データ・ストレージ・サブシステム１２０が作業負荷の低減を経験している場合、同期モジュール２２０は、将来の高速複製要求に関する予想待機時間を削減することができる。同様に、データ・ストレージ・サブシステム１２０が作業負荷の増加を経験している場合、同期モジュール２２０は、将来の高速複製要求に関する予想待機時間を増加することができる。したがってシステム１００は、高速複製要求に関する調整可能な待機時間を実行可能にすることによって、ホスト・システム１１０とデータ・ストレージ・サブシステム１２０との間で送信される通信の数を最小限にする。
【００５２】
図３は、本発明に従った、データをコピーするための方法３００の一実施形態を示す流れ図である。示された方法３００は、高速複製要求を送る動作３１０と、高速複製要求が認められたかどうかを判別する動作３２０と、保留中の高速複製要求に関する予想待機時間を推定する動作３３０と、予想待機時間の満了を待つ動作３４０と、他の高速複製要求を送る動作３５０と、追加の高速複製要求が認められるかどうかを判別する動作３６０と、高速複製要求が認められた場合、移動されたとしてデータを記録する動作３７０とを含む。方法３００の動作は、効率的にデータをコピーするための１つの手法を示す。
【００５３】
高速複製要求を送ること３１０は、ホスト・システム１１０が、データ１２２に関する高速複製要求をデータ・ストレージ・サブシステム１２０に送ることを含むことができる。高速複製要求が認められるかどうかを判別すること３２０は、データ・ストレージ・サブシステム１２０が高速複製要求を実施することを含むことができる。高速複製要求が認められた場合、ホスト・システム１１０は、移動されたとしてデータを記録すること３７０ができる。ある実施形態では、移動されたとしてデータを記録すること３７０は、移動されることになるデータを表すエントリのリストからデータを表すエントリを除去することを含むことができる。拒否される高速複製要求は、高速複製要求に対応するデータがすでに高速複製関係にあるというシナリオを含む可能性がある。
【００５４】
高速複製要求が認められない場合３２０、ホスト１１０は、保留中の高速複製動作に関する予想待機時間を推定すること３３０ができる。予想待機時間を推定すること３３０は、移動されることになるデータの量に選択された指数値を掛けることを含むことができる。予想待機時間の満了を待つこと３４０は、ホスト・システム１１０が高速複製要求をデータ・ストレージ・サブシステム１２０に送信しないことを含むことができる。予想待機時間が満了する３４０と、ホスト１１０は、他の高速複製要求をデータ・ストレージ・サブシステム１２０に送ること３５０ができる。
【００５５】
高速複製要求が認められるかどうかを判別すること３６０は、データ・ストレージ・サブシステム１２０が高速複製要求を実施することを含むことができる。高速複製が認められた場合、ホスト・システム１１０は、移動されたとしてデータを記録すること３７０ができる。高速複製要求が認められない場合、ホスト・システムは、次の高速複製要求に関して予想待機時間を再度推定することができる。
【００５６】
図４は、本発明に従った、データをコピーするための方法４００の一実施形態を示す流れ図である。示された方法４００は、移動するデータがあるかどうかを判別する動作４０５と、高速複製要求を送る動作４２５と、追加の高速複製要求を送る動作４３０と、従来のＩ／Ｏ動作を介して、適宜データを移動する動作４３５とを含む、複数の動作を含む。方法４００の動作は、データをコピーまたは移動するための本発明の多くの可能な方法のうちの１つを実証する。
【００５７】
移動するデータが存在するかどうかを判別すること４０５は、ホスト・システム１１０が、移動されることになるデータを表すエントリ（図示せず）のリスト、アレイ、またはテーブルにアクセスすることを含むことができる。図４を説明するために、エントリのテーブルは、データ・ストレージ・サブシステム上の第１のデータ・トラックを表す第１のエントリを含む。しかしながら、ある実施形態または実施例では、エントリのリストは、移動またはコピーされることが必要な複数のエントリを含む。ホスト・システム１１０が、エントリのリストが第１のエントリを含むものと判別すると、ホスト・システム１１０は、高速複製要求が第１のエントリに関して試行されたかどうかを判別すること４１０ができる。
【００５８】
高速複製要求が試行されなかった場合、ホスト・システム１１０は、第１のデータ・トラックに関する高速複製要求をデータ・ストレージ・サブシステム１２０に送ること４２５ができる。高速複製要求が認められた場合４５０、ホスト・システムは、移動されたものとして第１のデータ・トラックを記録すること４７０ができる。ある実施形態では、これは、エントリのリストから第１のエントリを除去すること、および移動の時間を通知することを、含むことができる。
【００５９】
高速複製要求が認められなかった場合４５０、ホスト・システム１１０は、第１のデータ・トラックが移動のために使用可能となる時点を推定する、予想待機時間を推定すること４４５ができる。ある実施形態では、これは、第１のデータ・トラックが高速複製関係を離れることになる時点を推定することを、含むことができる。いくつかの実施形態では、これは、１データ・ユニットを移動するための平均作業負荷を伴う、データ・ストレージ・サブシステム１２０に関する平均時間を表すために、移動されることになるデータ・ユニットの数に、選択された待機時間指数を掛けることを、含むことができる。
【００６０】
予想待機時間を推定した後４４５、ホスト・システムは、第１のエントリに関して失敗したとして、高速複製要求を記録すること４８０ができる。高速複製の失敗を記録した後４８０、または、移動されたとしてデータを記録した後４７０、ホスト・システム１１０は、移動するデータが存在するかどうかを再度判別すること４０５ができる。高速複製の試行が認められなかったもの４５０と想定すると、ホスト・システム１１０は、第１のエントリが依然としてエントリのリスト内にあることを発見することになる。したがって、ホスト・システム１１０は、第１のエントリに関して高速複製試行が実行されたかどうかを判別すること４１０になる。
【００６１】
第１のエントリに関して第１の複製要求が試行されたため、ホスト・システム１１０は、予想待機時間が満了したかどうかを判別すること４１５になる。予想待機時間が満了した場合、ホスト・システム１１０は、他の高速複製要求をデータ・ストレージ・サブシステム１２０に送ること４３０ができる。高速複製要求が認められた場合４５５、ホスト・システム１１０は、データ・ストレージ・サブシステムがより低い平均作業負荷を経験しているものと想定して、時間指数を減少させること４７５ができる。予想待機時間指数を減少させた後４７５、ホスト・システム１１０は、移動されたとしてデータを記録することができる。
【００６２】
高速複製要求が認められなかったもの４５５と想定して、ホスト・システムは、高速複製試行の失敗が、データ・ストレージ・サブシステム１２０が作業負荷の上昇を経験していることに起因するという想定に基づいて、予想待機時間指数を増加させること４６０ができる。その後、ホスト・システム１１０は、他の高速複製要求に関する予想待機時間を推定すること４６５ができる。いくつかの実施形態では、予想待機時間を推定すること４６５は、移動されることになるデータ・ユニットの数に最近増加された待機時間指数を掛けることを含むことができる。その後、ホスト・システム１１０は、移動されることになるデータが存在するかどうかを判別すること４０５に、戻ることができる。
【００６３】
ここで、第１のエントリに関する待機時間が満了していないもの４１５と想定して、ホスト・システム１１０は、第１のデータ・トラックを移動するために、従来のＩ／Ｏ動作を使用するかどうかを判別すること４２０ができる。従来のＩ／Ｏ動作を使用するかどうかを判別すること４２０は、残りの推定待機時間と、従来のＩ／Ｏ動作を介してデータをコピーするための推定時間とを、比較することを含むことができる。従来のＩ／Ｏ動作の方が長くかかる場合、ホスト・システム１１０は、移動されることになるデータが存在するかどうかを判別すること４０５に、再度戻ることができる。従来のＩ／Ｏ動作にかかる時間の方が、残りの予想待機時間よりも短いと想定すると、ホスト・システム１１０は、従来のＩ／Ｏ動作を介して第１のデータ・トラックを移動すること４３５ができる。データを移動した後、ホスト・システム１１０は、移動されるとして第１のデータ・トラックを記録し４４０、移動されることになるデータが存在するかどうかを判別すること４０５に戻ることができる。
【００６４】
いくつかの実施形態では、ホスト・システム１１０が、エントリ・リスト内のそれぞれのエントリに関して、不成功の高速複製要求をデータ・ストレージ・サブシステム１２０に送る場合、ホスト・デバイス１１０は、どのエントリの処理にも成功せずに、残りのエントリのリストのトップに戻り、たとえ第１のエントリに関する予想待機時間が従来のＩ／Ｏ動作に関する予想所要時間を超えない場合であっても、従来のＩ／Ｏ動作によって第１のエントリをコピーすることができる。こうした条件の下で、従来のＩ／Ｏ動作を介して第１のエントリをコピーすることにより、ホスト・システム１１０は、残りのエントリの予想待機時間の満了を待ちながらデータをコピーすることが可能になる。
【００６５】
本発明は、データをコピーまたは移動することに関するシステム効率性を向上させる。本発明は、その趣旨または不可欠な特徴を逸脱することなく、他の特定な形で具体化することができる。説明された諸実施形態は、すべての点において単に例示的であり、限定的でないとみなされるものとする。
【図１】
2010514031.tif 000003
【図２】
2010514031.tif 000004
【図３】
2010514031.tif 000005
【図４】
2010514031.tif 000006
【国際調査報告】
2010514031.tif 000007
2010514031.tif 000008