(57)【要約】【課題】  データを一次格納機能部から二次格納機能部にコピーし、一次機能部の格納コントローラに対するワークロードを減少させ、帯域幅の使用量を最小にすること。【解決手段】  一次格納機能部は、データを二次データ複製装置に転送する、一次データ複製装置を含む。ホストからの更新済データは、一次機能部の格納コントローラにより格納され、かつ、一次複製装置によっても受信される。一次複製装置における論理部は、直前のバージョンのデータが、前の格納動作から、そのバッファ内に残っているかどうかを判断する。残っている場合には、現在の（更新済の）バージョンのデータが、前のバージョンと比較され、例えばビットごとの排他的論理和演算により計算される差が、二次複製装置に転送される。プロセスは、二次複製装置においては逆方向に遂行され、再作成された更新済バージョンのデータが二次機能部に格納される。【選択図】  図３
2006260563.tif 000002
【特許請求の範囲】
【請求項１】
一次格納コントローラ、ホスト・デバイス及び一次データ複製装置を有する一次格納機能部から二次データ複製装置を有する二次格納機能部に更新済データをコピーするための方法であって、
前記一次格納コントローラにおいて現在のバージョンのデータを前記ホスト・デバイスから受信するのと実質的に同時に、前記一次データ複製装置において、前記現在のバージョンのデータを受信するステップと、
直前のバージョンのデータが前記一次データ複製装置の第１のバッファ内に格納されているかどうかを判断するステップと、
前記直前のバージョンのデータが前記第１のバッファ内に格納されている場合に、前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算するステップ、及び前記計算された差を、前記一次データ複製装置から前記二次データ複製装置に転送するステップと、
前記直前のバージョンのデータが前記第１のバッファ内に格納されていない場合に、前記現在のバージョンのデータを、前記二次データ複製装置に転送するステップと
を含む方法。
【請求項２】
前記二次データ複製装置において、前記差を前記一次データ複製装置から受信するステップと、
前記直前のバージョンのデータが前記二次データ複製装置の第２のバッファ内に格納されているかどうかを判断するステップと、
前記直前のバージョンのデータが、前記第２のバッファ内に格納されている場合に、前記直前のバージョンのデータを前記第２のバッファから読取るステップと、
前記直前のバージョンのデータが、前記第２のバッファ内に格納されていない場合に、前記二次データ複製装置において前記直前のバージョンのデータを、前記二次データ複製装置に接続された二次格納コントローラを介して格納デバイスから読取るステップと、
前記二次データ複製装置において、前記直前のバージョンのデータ及び前記受信された差から、前記現在のバージョンのデータを再作成するステップと、
前記現在のバージョンのデータを前記格納デバイスに格納するステップと、
を更に含む請求項１に記載に方法。
【請求項３】
前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算するステップが、ビットごとの排他的論理和を前記現在のバージョン及び前記直前のバージョンに適用するステップを含む、請求項１に記載の方法。
【請求項４】
前記二次データ複製装置において、前記計算された差を前記一次データ複製装置から受信するステップと、
前記二次データ複製装置において、前記直前のバージョンのデータを、前記二次データ複製装置に接続された二次格納コントローラを介して格納デバイスから読取るステップと、
前記直前のバージョンのデータを、前記二次データ複製装置の不揮発性メモリ内に格納するステップと、
前記直前のバージョンのデータ及び前記受信された差から、前記現在のバージョンのデータを計算するステップと、
前記現在のバージョンのデータを前記格納デバイスに格納するステップと、
を更に含む請求項１に記載の方法。
【請求項５】
前記現在のバージョンのデータを格納するステップが、前記直前のバージョンのデータに上書きするステップを含む、請求項４に記載の方法。
【請求項６】
前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算するステップが、ビットごとの排他的論理和を前記現在のバージョンのデータ及び前記直前のバージョンのデータに適用するステップを含み、
前記直前のバージョンのデータ及び前記受信された差から、前記現在のバージョンのデータを計算するステップが、ビットごとの排他的論理和を前記差及び前記直前のバージョンのデータに適用するステップを含む、
請求項４に記載の方法。
【請求項７】
前記差を前記二次データ複製装置に転送する前に、前記差を圧縮するステップを更に含む、請求項１に記載の方法。
【請求項８】
前記差を前記二次データ複製装置に転送する前に、前記差を暗号化するステップを更に含む、請求項１に記載の方法。
【請求項９】
ホスト・デバイスに接続された一次格納コントローラにおいて現在のバージョンのデータを前記ホスト・デバイスから受信するのと実質的に同時に前記現在のバージョンのデータを前記ホスト・デバイスから受信するための第１のインターフェースと、
前記現在のバージョンのデータの一時格納のための第１のバッファと、
前記現在のバージョンのデータの直前のバージョンが、前記第１のバッファ内に格納されているかどうかを判断するための手段と、
前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算する論理部と、
前記計算された差を二次データ複製装置に転送するための第２のインターフェースと、
を含む一次データ複製装置。
【請求項１０】
前記計算するための論理部が、ビットごとの排他的論理和を前記現在のバージョンのデータ及び前記直前のバージョンのデータに対して実行する論理部を含む、請求項９に記載の装置。
【請求項１１】
前記計算された差を前記二次データ複製装置に転送する前に、前記差を圧縮するための手段を更に含む、請求項９に記載の装置。
【請求項１２】
前記計算された差を前記二次データ複製装置に転送する前に、前記差を暗号化するための手段を更に含む、請求項９に記載の装置。
【請求項１３】
前記二次データ複製装置が、
前記計算された差を前記一次データ複製装置から受信するための手段と、
第２のバッファと、
前記直前のバージョンのデータが、前記第２のバッファ内に格納されている場合に、前記直前のバージョンのデータを前記第２のバッファから読取る手段と、
前記直前のバージョンのデータが、前記第２のバッファ内に格納されていない場合に、前記直前のバージョンのデータを格納デバイスから読取る手段と、
前記転送された差及び前記直前のバージョンのデータから、前記現在のバージョンのデータを再作成する論理部と、
前記再作成された現在のバージョンのデータを、前記格納デバイスに格納するための手段とを含む、請求項９に記載の装置。
【請求項１４】
前記計算するための論理部が、ビットごとの排他的論理和を前記現在のバージョンのデータ及び前記直前のバージョンのデータに対して実行する論理部を含み、
前記再作成するための論理部が、ビットごとの排他的論理和を前記差及び前記直前のバージョンのデータに対して実行する論理部を含む、
請求項１３に記載の装置。
【請求項１５】
前記二次データ複製装置が、
前記計算された差を前記一次データ複製装置から受信するための第３のインターフェースと、
不揮発性メモリと、
前記直前のバージョンのデータを格納デバイスから読取り、前記直前のバージョンのデータを前記不揮発性メモリ内に格納するための手段と、
前記転送された差及び前記直前のバージョンのデータから、前記現在のバージョンのデータを再作成する論理部と、
前記再作成された現在のバージョンのデータを、前記格納デバイス内に格納する手段とを含む、請求項９に記載の装置。
【請求項１６】
前記二次データ複製装置が、前記格納デバイスに格納された前記直前のバージョンのデータに対して、書き込み前読取り動作を実行し、これによって、前記直前のバージョンのデータが、前記再作成された現在のバージョンのデータにより上書きされるようになる論理部を更に含む、請求項１５に記載の装置。
【請求項１７】
データを一次格納機能部から二次格納機能部にコピーするためのシステムであって、
前記一次格納機能部は、
ホスト・デバイスと、
前記ホスト・デバイスに接続された一次格納コントローラと、
前記ホスト・デバイスに接続された一次データ複製装置とを含み、
前記一次データ複製装置は、
前記一次格納コントローラにおいて前記ホスト・デバイスから現在のバージョンのデータを受信するのと実質的に同時に前記現在のバージョンのデータを前記ホスト・デバイスから受信するための第１のインターフェースと、
前記現在のバージョンのデータの一時格納のための第１のバッファと、
前記現在のバージョンのデータの直前のバージョンが、前記第１のバッファ内に格納されているかどうかを判断するための手段と、
前記現在のバージョンのデータの直前のバージョンが前記第１のバッファ内に格納されている場合に、前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算する論理部と、
第２のインターフェースを含み、
前記二次格納機能部は、
格納デバイスと、
二次データ複製装置とを含み、
前記二次データ複製装置は、
前記一次データ複製装置の前記第２のインターフェースに動作可能に結合されて、前記計算された差を受信する第３のインターフェースと、
第２のバッファと、
前記直前のバージョンのデータが前記第２のバッファ内に格納されている場合に、前記直前のバージョンのデータを前記第２のバッファから読取る手段、及び、前記直前のバージョンのデータが前記第２のバッファ内に格納されていない場合に、前記直前のバージョンのデータを前記格納デバイスから読取る手段と、
前記差及び前記直前のバージョンのデータから、前記現在のバージョンのデータを再作成する論理部と、
前記再作成された現在のバージョンのデータを、前記格納デバイスに格納するための手段とを含む、システム。
【請求項１８】
前記二次データ複製装置が、
不揮発性メモリと、
前記読取られた前のバージョンのデータを前記不揮発性メモリ内に格納するための手段と、
前記格納デバイスに格納された前記直前のバージョンのデータに対して、書込み前読取り動作を実行し、これによって、前記直前のバージョンのデータが、前記再作成されたバージョンのデータにより上書きされるようになる論理と、
を更に含む請求項１７に記載のシステム。
【請求項１９】
一次格納コントローラ、ホスト・デバイス及び一次データ複製装置を有する一次格納機能部から二次データ複製装置を有する二次格納機能部に更新済データをコピーするためのコンピュータ・プログラムであって、前記一次データ複製装置に、
前記一次格納コントローラにおいて前記ホスト・デバイスから現在のバージョンのデータを受信するのと実質的に同時に前記現在のバージョンのデータを受信するステップ、
直前のバージョンのデータが前記一次データ複製装置の第１のバッファ内に格納されているかどうかを判断するステップ、
前記直前のバージョンのデータが前記第１のバッファ内に格納されている場合に、前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算するステップ、及び前記計算された差を、前記一次データ複製装置から前記二次データ複製装置に転送するステップ、
前記直前のバージョンのデータが前記第１のバッファ内に格納されていない場合に、前記現在のバージョンのデータを、前記二次データ複製装置に転送するステップ
とを実行させるためのコンピュータ・プログラム。
【請求項２０】
前記二次データ複製装置に、
前記差を前記一次データ複製装置から受信するステップ、
前記直前のバージョンのデータが、前記二次データ複製装置の第２のバッファ内に格納されているかどうかを判断するステップ、
前記直前のバージョンのデータが、前記第２のバッファ内に格納されている場合に、前記直前のバージョンのデータを前記第２のバッファから読取るステップ、
前記直前のバージョンのデータが、前記第２のバッファ内に格納されていない場合において、前記直前のバージョンのデータを、前記二次データ複製装置に接続された二次格納コントローラを介して格納デバイスから読取るステップ、
前記直前のバージョンのデータ及び前記受信された差から、前記現在のバージョンのデータを再作成するステップ、
前記現在のバージョンのデータを前記格納デバイスに格納するステップとを実行させるためのプログラムを更に含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２１】
前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算するステップが、ビットごとの排他的論理和を前記現在のバージョンのデータ及び前記直前のバージョンのデータに適用するステップを含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２２】
前記二次データ複製装置に、
前記計算された差を前記一次データ複製装置から受信するステップ、
前記直前のバージョンのデータを格納部から読取るステップ、
前記直前のバージョンのデータを、前記二次データ複製装置の不揮発性メモリ内に格納するステップ、
前記直前のバージョンのデータ及び前記受信された差から、前記現在のバージョンのデータを計算するステップ、
前記現在のバージョンのデータを、前記二次格納機能部において格納するステップとを実行させるためのプログラムを更に含む請求項１９に記載のコンピュータ・プログラム。
【請求項２３】
前記現在のバージョンのデータを格納するステップが、前記直前のバージョンのデータに上書きするためのステップを含む、請求項２２に記載のコンピュータ・プログラム。
【請求項２４】
前記現在のバージョンのデータと前記直前のバージョンのデータとの間の差を計算するためのステップが、ビットごとの排他的論理和を前記現在のバージョンのデータ及び前記直前のバージョンのデータに適用するステップを含み、
前記直前のバージョンのデータ及び前記受信された差から、前記現在のバージョンのデータを計算するためのステップが、ビットごとの排他的論理和を前記差及び前記直前のバージョンのデータに適用するステップを含む、
請求項２２に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データをデータ・リンク上で転送することに関し、具体的には、相違検出アルゴリズムを適用して、データ転送中のデータ・リンクの帯域幅使用量を減少させることに関する。
【背景技術】
【０００２】
データの遠隔複写は、災害時回復において不可欠な部分であり、重要なデータを損失から保護し、データの連続的な可用性を提供する。災害時回復サポート・システムにおいては、一次即ち中央データ格納部へのデータ書込み更新は、二次遠隔サイトにおいて複製される。遠隔サイトは、自然災害からの保護が問題である場合には、一次データ格納部から或る距離をおいて配置されることが通例であるが、機器障害が主要な問題である場合には、一次サイトに隣接させることもできる。一次データ格納部において障害が発生した際には、遠隔サイトは、いかなるデータも損失していないという確信を持って、データ書込み更新を含む全ての動作を引き継ぐことができる。のちに、修理の後で、一次データ格納部を遠隔サイトの状態に復元して、データ書込み動作を含む全ての動作を再開することができる。
【０００３】
遠隔複写の間、同じサイズのデータ・ブロックが、一次データ格納部からリモート・データ・サイトに送信されることが通例である。このような方法により、一次データ格納部におけるデータ書込み更新が遠隔サイトにおいて複製されて、該一次データ格納部において行われたデータ書込み更新の正確なシーケンスの再構成を含む、データの再構成ができるようになる。この再生性は、例えば、バンキング・システム又は他のトランザクション・ログ・システムにおいて、特に重要なものとなろう。このようにして、一次データ格納部におけるデータ書込み更新が収集され、遠隔複写動作により、定期的に、遠隔サイトに送信される。
【０００４】
種々の形式の遠隔複写は、一次データ格納部と遠隔サイト・コントローラとの間のデータ・ライン上に膨大な量の帯域幅を必要とする場合がある。例えば、一次データ格納コントローラが１秒当たり２０，０００回の入出力（Ｉ／Ｏ）動作をサポートすることができ、これらの動作の５０％が書込み動作である場合には、このコントローラは、１秒当たり１０，０００回の書込み動作を処理することができる。各書込み更新が４Ｋバイトを要する場合には、一次コントローラと遠隔サイト・コントローラとの間には１秒当たり４０ＭＢの帯域幅が必要となる。これは、現在利用可能なデータ・ラインの価格設定を考慮すると、与えるべき帯域幅としては相当量のものである。非同期型遠隔複写でも書込み更新を高速化することはできるが、必要とされる帯域幅の量を減らすわけではない。
【０００５】
帯域幅の使用量問題に対処する１つの提案されるシステムは、本出願の譲受人に譲渡された、「ＤＥＬＴＡ  ＣＯＭＰＲＥＳＳＥＤ  ＡＳＹＮＣＨＲＯＮＯＵＳ  ＲＥＭＯＴＥ  ＣＯＰＹ」という表題の特許文献１（’６７１特許）に提示されている。図１に示すように、そこに開示されるシステムは、どのバイトが変更されたかを識別し、変更されたバイトのみを、一次データ格納部から二次サイトに送信することにより、データ書込み更新を一次データ格納部から二次データ格納部にコピーする遠隔複写動作を提供する。排他的論理和（ＸＯＲ）論理演算のようなデータ演算を用いて、変更されたバイトを識別することができる。周知のＲＡＩＤ形式のデータ格納部を実装するシステムを含む多くのデータ格納システムは、通常の構成の一部としてＸＯＲ機能部を含む。’６７１特許においては、このＸＯＲ演算は、書込みが更新されたコピーされるべきデータ・ブロック上において用いられる。次いで、データ圧縮をＸＯＲデータ・ブロックに用いて、変更されていないバイトを削除することができ、次いで、変更されたバイトのみが遠隔サイトに送信される。このことは、一次データ格納部と遠隔サイトとの間で送信されるデータ量を減らし、両サイト間で必要とされる帯域幅を減少させる。このように、遠隔複写システムは、大量の高価な帯域幅を必要とすることなしに、遠隔複写を与えると言われる。
【０００６】
しかしながら、’６７１特許の遠隔複写システムに用いられる相違検出論理は、一次データ格納部の格納コントローラに常駐する。格納コントローラは、前のバージョンのデータを更新済バージョンのデータと比較して、変更されたバイトを識別する前に、まず、その格納部から（又は、１つの開示された実施形態においては、キャッシュから）前のバージョンのデータを読取らなければならない。従って、コントローラは、読取り動作及び比較動作中は、他のタスクを実行する可用性が少ない。コントローラ性能に対するこの悪影響は、そのコントローラにアクセスする上流側のホスト性能に対しても同様に悪影響を及ぼす可能性がある。
【０００７】
更に、コントローラにおいて相違検出動作が実行される場合には、各々の異なるコントローラ形式が、相違検出アルゴリズムの異なる実装を必要とする可能性があり、従って、開発及び実装のコストを増加させる。
【０００８】
【特許文献１】米国特許第６，３２７，６７１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
結果として、格納コントローラに対するワークロードを減らし、しかも帯域幅の使用量を最小にする、１つの機能部から別の機能部にデータをコピーするシステムに対する必要性が存在する。
【課題を解決するための手段】
【００１０】
本発明は、データを一次格納機能部から二次格納機能部にコピーし、該一次機能部の格納コントローラに対するワークロードを減少させ、帯域幅の使用量を最小にする方法及び装置を提供する。一次格納機能部は、データを二次データ複製装置に転送する、一次データ複製装置を含む。ホストからの更新済データは、一次機能部の格納コントローラにより格納され、かつ、一次複製装置によっても受信される。一次複製装置における論理は、直前のバージョンのデータが、前の格納動作からバッファ内に残っているかどうかを判断する。残っている場合には、現在の（更新済の）バージョンのデータが、前のバージョンと比較され、例えばビットごとの排他的論理和演算により計算される差が圧縮されて、二次複製装置に転送される。プロセスは、二次複製装置においては逆方向に遂行され、再作成された更新済バージョンのデータが二次機能部に格納される。
【００１１】
一次装置がこれらの動作を行っている間、格納コントローラは、ホストによるアクセスを可能にすることを含む他のタスクを実行することができる。従って、一次複製装置において実行される本発明の動作は、格納コントローラ又はホストのワークロードに悪影響を及ぼすことはない。更に、前のバージョンのデータと、変更されたビットのみを表わす現在のバージョンとの間の差は、通例、高度に圧縮可能であるため、これが圧縮されて二次複製装置に伝送されると、帯域幅使用量が減少される。
【００１２】
本発明の他の特徴及び利点は、一例として本発明の原理を示す、以下の好ましい実施形態の説明から明らかとなるはずである。
【発明を実施するための最良の形態】
【００１３】
図２は、本発明のデータ複製システム２００のブロック図である。システム２００は、一次データ機能部２１０と、二次データ機能部２５０とを含む。機能部２１０及び２５０の両方は、データ格納デバイス又はアレイ２１４、２５４に結合された格納コントローラ２１２、２５２を含む。本発明の機能部２１０、２５０の両方は、更に、適切なインターフェース２２１、２６１により、直接又は接続部２０２により表わされるネットワークを通して、相互接続された複製装置２２０、２６０を含む。一次データ機能部２１０の格納コントローラ２１２及び複製装置２２０は、それぞれのインターフェース２１３、２２３を通じて、ホスト・デバイス２０４に動作可能に結合される。
【００１４】
一次複製装置２２０及び二次複製装置２６０の両方は、プロセッサ２２２、２６２と、該プロセッサ２２２、２６２上で実行されるソフトウェア命令を格納するためのメモリ２２４、２６４と、ディスク格納部２２８、２６８と、データの一時格納のための先入れ先出し（ＦＩＦＯ）バッファ２２６、２６６とを含む。本発明の動作を実行するための論理２３０、２７０は、メモリ２２４、２６４か、ファームウェアか、又は別個のプロセッサに常駐することができる。
【００１５】
図３のフローチャートを参照すると、動作中、ホスト２０４は、一次格納デバイス２１４に格納されるべきデータを一次格納コントローラ２１２に送信する（ステップ３００）。一次複製装置２２０もまた、同時にホスト２０４からこのデータを受けるか、又は一次コントローラ２１２によって転送される形でデータを受信し（ステップ３０２）、最終的には、データのコピーを、接続部２０２を介して送信し（ステップ３０６）、二次複製装置２６０により重複格納が行われる（ステップ３０８）。プロセス中、一次装置２２０はデータを一時的にバッファ２２６に格納する（ステップ３０４）。他のデータがホスト２０４から受信された際には、それもまた一時的にバッファ２２６内に格納される。前に格納されたデータに対する更新が、ホスト２０４によって伝送された時には（ステップ３１０）、一次格納コントローラ２１２によって格納され、（ステップ３１２）、かつ一次複製装置２２０によっても受信される（ステップ３１４）。論理２３０の指示の下で、一次複製装置２２０は、更新されている直前のバージョンのデータが、依然としてバッファ２２６内に残っているかどうか判断する（ステップ３１６）。バッファ２２６のサイズ及び前のバージョンのデータが受信されてから経過した時間の長さによっては、前のバージョンのデータは、バッファ２２６において、他の、より最近のデータによって、まだ上書きされていない可能性がある。前のバージョンのデータが存在しなくなっている場合には、論理２３０は、現在のバージョンを二次複製装置２６０に転送するように指示する（ステップ３１８）。
【００１６】
更新されている前のバージョンのデータが依然として存在する場合には、論理２３０は、これを現在の（更新済）バージョンと比較するように指示する（ステップ３２０）。排他的論理和（ＸＯＲ）機能部が容易に利用可能であり、かつ、可逆性を有するために、ビットごとのＸＯＲ演算を二組のデータに実行して、「差」を計算することが好ましい（ステップ３２２）。次いで、差は圧縮されて（ステップ３２４）、サイズが小さくなる。その後、圧縮された差は、二次複製装置２６０に転送される（ステップ３２８）。一次装置２２０がこれらの動作を実行する間、一次格納コントローラ２１２は、ホスト２０４によるアクセスを可能にすることを含む他のタスクを実行することができる。従って、複製装置２２０において実行される本発明の動作は、一次格納コントローラ２１２又はホスト２０４のワークロードに悪影響を及ぼすことはない。更に、前のバージョンのデータと、変更されたビットのみを表わす現在のバージョンとの間の、通例、高度に圧縮可能である差は、圧縮されて二次複製装置に伝送されるため、帯域幅の使用量が減少する。
【００１７】
論理２３０の指示を受けて、転送前に、差を暗号化して、セキュリティを向上させることができる（ステップ３２６）。前のバージョンのデータがバッファ２２６内に残っておらず、未処理の現在のバージョンが二次装置２６０に転送されることになっている場合には、同様に、転送前に圧縮するか、暗号化するか、又はその両方を行うことができる。
【００１８】
図４のフローチャートを参照すると、差が、二次複製装置２６０によって受信された時には（ステップ４００）、必要であれば、これは暗号化解除され（ステップ４０２）、圧縮解除される（ステップ４０４）。二次複製装置２６０は、論理２７０の指示の下で、前のバージョンのデータが、依然としてバッファ２６６内に残っているかどうかを判断する（ステップ４０６）。残っている場合には、論理は、ここでも好ましくはビットごとのＸＯＲを用いて、差と、前のバージョンのデータとを比較し（ステップ４０８）、前のプロセスを逆方向に遂行して、現在の（更新済）バージョンのデータを再作成することを指示する（ステップ４１０）。再作成された現在のバージョンのデータは、次いで、二次格納コントローラ２５２を通じて、二次データ格納デバイス２５４内に格納される（ステップ４１２）。
【００１９】
前のバージョンのデータが、二次複製装置２６０のバッファ２６６内に残っていない場合には、差と比較して（ステップ４０８）現在のバージョンを再作成（ステップ４１０）し、格納（ステップ４１２）することが可能になる前に、前のバージョンのデータを二次データ格納デバイス２５４から取り出さなければならない（ステップ４１４）。二次複製装置２６０が、データを格納する時に書込み前読取り機能部を使用する場合には、前のバージョンのデータは、まず、二次データ格納デバイス２５４から読取られ、バッファ２６６を含むことができる不揮発性メモリ内に、一時的に格納されることになる。このようにして前のバージョンが固められた後で初めて、再作成された現在のバージョンが、二次データ格納デバイス２５４における前のバージョンを上書きすることになる。従って、上書きが失敗した場合にも、回復のために、前のバージョンは依然として利用可能である。この結果として、現在のバージョンを再作成する前に、前のバージョンのデータを取得するために、二次複製装置２６０により必要とされる付加的なステップはない。
【００２０】
帯域幅の節約に加えて、本発明は、複製装置と共にどの形式の格納コントローラが用いられるかに関わらず、ここで説明されたプロセスに指示を与える１つの論理を開発し、配置することを可能にするという利点を持つ。
【００２１】
本発明は、完全に機能するシステムの内容について説明したが、本発明のプロセスは、コンピュータ可読媒体の命令形態で及び種々の形態で配布されることが可能であること、及び、本発明は配布を行うために実際に使用される信号伝達媒体の特定の形式に関わりなく適用されることを当業者は理解するであろう。コンピュータ可読媒体の例は、フロッピー・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、及びＣＤ−ＲＯＭのような記録可能形式の媒体、及びデジタル通信リンク並びにアナログ通信リンクのような伝送形式の媒体を含む。
【００２２】
本発明の説明は、例示及び説明の目的のために提示されており、包括的となること又は開示された形態の発明に限定されることは意図されていないことに注目するのは重要である。当業者には、多くの修正及び変形が明らかとなろう。本実施形態は、本発明の原理、実際の適用例を最も良く説明するために、及び、他の当業者が、本発明を、考慮される特定の用途に適合する種々の修正を伴う種々の実施形態についての理解を可能にするために選択され、説明されたものである。更に、方法及びシステムに関して上述されてはいるが、当該技術分野における必要性はまた、更新済みデータを一次格納機能部から二次格納機能部にコピーするための命令を含むコンピュータ・プログラム、又は、コンピュータ可読コードをコンピューティング・システムに統合して、これを実行することを含む、コンピューティング・インフラストラクチャを配置するための方法によっても満たすことができる。
【図面の簡単な説明】
【００２３】
【図１】従来技術の遠隔複写システムのブロック図である。
【図２】本発明のデータ複製システムのブロック図である。
【図３】本発明の一次複製装置によって実行される動作ステップのフローチャートである。
【図４】本発明の二次複製装置によって実行される動作ステップのフローチャートである。
【符号の説明】
【００２４】
２０４  ホスト
２１０  一次機能部
２１２  格納コントローラ
２２０  複製装置
２２２  プロセッサ
２２４  メモリ
２２６  バッファ
２２８  ディスク
２３０  論理
２５０  二次機能部
２５２  格納コントローラ
２６０  複製装置
２６２  プロセッサ
２６４  メモリ
２６６  バッファ
２６８  ディスク
２７０  論理
【図１】
2006260563.tif 000003
【図２】
2006260563.tif 000004
【図３】
2006260563.tif 000005
【図４】
2006260563.tif 000006