(57)【特許請求の範囲】
【請求項１】
一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報を取得する段階であって、前記差分データ情報は、前記一次ボリューム内に位置付けられた前記差分データの記憶アドレスと、前記差分データの差分データ決定値とを有し、前記差分データ決定値は、前記差分データのデータ量、又は、前記一次ボリュームと前記二次ボリュームとの間の複製用の帯域幅に対する前記差分データの前記データ量の比を含む、段階と、
差分データ決定値が事前設定された閾値より小さくないと決定された場合、前記一次ボリューム内に位置付けられた前記差分データの前記記憶アドレスに従って前記差分データを前記一次ボリュームから前記二次ボリュームに複製する段階と、
前記差分データ決定値が前記事前設定された閾値より小さいと決定された場合、前記一次ボリュームのスナップショットをとり、前記スナップショットに従って前記差分データを前記二次ボリュームに複製する段階と
を備えるデータ複製方法。
【請求項２】
一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報を取得する段階であって、前記差分データ情報は、前記一次ボリューム内に位置付けられた前記差分データの記憶アドレスと、前記差分データの差分データ決定値とを有し、前記差分データ決定値は、前記差分データのデータ量、又は、前記一次ボリュームと前記二次ボリュームとの間の複製用の帯域幅に対する前記差分データの前記データ量の比を含む、段階と、
差分データ決定値が事前設定された閾値より小さくないと決定された場合、前記一次ボリューム内に位置付けられた前記差分データの前記記憶アドレスに従って前記差分データを前記一次ボリュームから前記二次ボリュームに複製する段階と、
前記差分データ決定値が前記事前設定された閾値より小さいと決定された場合、前記一次ボリュームのスナップショットをとり、前記スナップショットに従って前記差分データを前記二次ボリュームに複製する段階と
を備え、
前記一次ボリューム内に位置付けられた前記差分データの前記記憶アドレスに従って前記差分データを前記一次ボリュームから前記二次ボリュームに複製する前記段階は、具体的に、データ複製ポインタの前記一次ボリュームの開始アドレスから前記一次ボリュームの終了アドレスへの順序に従って差分データ複製を実行する段階と、前記一次ボリューム内に位置付けられた前記差分データの前記記憶アドレスに従って前記差分データを前記一次ボリュームから前記二次ボリュームに複製する段階とを有し、前記データ複製ポインタは現在複製中の差分データのアドレスを指し示すのに使用され、
前記一次ボリューム内に位置付けられた前記差分データの前記記憶アドレスに従って、前記差分データを前記一次ボリュームから前記二次ボリュームに複製する工程中、システムホストによって送信されたデータを前記一次ボリュームによって受信する段階と、前記一次ボリューム内の前記受信されたデータの記憶アドレスが、前記順序において前記データ複製ポインタによって現在示されているアドレスの後に位置付けられている場合、前記差分データ複製において前記データを前記一次ボリュームから前記二次ボリュームに複製する段階と、前記一次ボリューム内の前記受信されたデータの前記記憶アドレスが、前記順序において前記データ複製ポインタによって現在示されている前記アドレスの前に位置付けられている場合、前記差分データ複製において前記データの複製をスキップする段階と
を備える、データ複製方法。
【請求項３】
プロセッサ、メモリ、通信インタフェース、及びバス
を備える一次データストレージコントローラであって、前記プロセッサ、前記メモリ、及び前記通信インタフェースは前記バスを使用して通信し、
前記通信インタフェースは、一次ストレージプール及び二次ストレージプールと通信し、前記一次ストレージプールは一次ボリュームを含み、前記二次ストレージプールは二次ボリュームを含み、
前記メモリは、プログラムを記憶し、
前記一次データストレージコントローラが動作するとき、前記プロセッサは、前記メモリに記憶された前記プログラムを実行して、請求項１又は２に記載の方法を実行する、一次データストレージコントローラ。
【請求項４】
一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報であって、前記一次ボリューム内に位置付けられた前記差分データの記憶アドレスと、前記差分データの差分データ決定値であって、前記差分データのデータ量、又は、前記一次ボリュームと前記二次ボリュームとの間の複製用の帯域幅に対する前記差分データの前記データ量の比を含む、差分データ決定値とを有する、差分データ情報を取得する差分データ情報取得モジュールと
前記差分データ決定値が事前設定された閾値より小さくないと決定された場合、前記一次ボリューム内に位置付けられた前記差分データの前記記憶アドレスに従って、前記差分データを前記一次ボリュームから前記二次ボリュームに複製するデータ複製モジュールと、
前記差分データ決定値が前記事前設定された閾値より小さいと決定された場合、前記一次ボリュームのスナップショットをとり、前記スナップショットに従って前記差分データを前記二次ボリュームに複製するスナップショット複製モジュールと
を備えるデータ複製制御装置。
【請求項５】
請求項３に記載の一次データストレージコントローラ、一次ストレージプール、及び二次ストレージプールを備え、前記一次ストレージプールは一次ボリュームを含み、前記二次ストレージプールは二次ボリュームを含む、データ複製システム。
【請求項６】
コンピュータに請求項１又は２に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ技術分野に関し、具体的には、データ複製の方法、装置、及びシステムに関する。
【背景技術】
【０００２】
既存のストレージシステムは、データを実際に生成するパーティとして機能するシステムホストと、システムホストによって生成されたデータを記憶及び制御する一次ストレージアレイと、一次ストレージアレイ内のデータを記憶及びバックアップする二次ストレージアレイとを含む。一次ストレージアレイは、データストレージデバイスとして機能する一次ストレージプールと、一次ストレージプール内に記憶されたデータを制御する一次データストレージコントローラとを含む。一次ストレージプールは、システムホストによって送信されたデータを受信及び記憶するのに使用される一次ボリュームと、一次ボリュームのスナップショットデータを記憶するのに使用される、一次ボリュームのスナップショットボリュームとを含む。二次ストレージアレイは、データストレージデバイスとして機能する二次ストレージプールと、二次ストレージプールに記憶されたデータを制御する二次データストレージコントローラとを含む。二次ストレージプールは、一次ボリュームのバックアップデータを受信及び記憶するのに使用される二次ボリュームと、二次ボリュームのスナップショットデータを記憶するのに使用される二次ボリュームのスナップショットボリュームとを含む。データ生成処理中、システムホストによって生成されたデータは、一次ボリュームに送信される。システムホストによって一次ボリュームに送信されたデータは、データ複製技術を使用して継続的に二次ボリュームにバックアップされ、これにより、二次ボリューム内のデータ及び一次ボリューム内のデータは絶えず一致しており、システムホスト内のデータが損なわれた場合に災害バックアップの効果をももたらす。
【０００３】
従来技術では、データ複製はスナップショット技術に基づいて実施されている。スナップショット技術の処理工程は次の通りである。一次データストレージコントローラが定期的に一次ボリュームのスナップショットをとり、一次ストレージプールの一次ボリュームから二次ボリュームに、システムホストによってホストに送信されたデータをスナップショットを使用することで複製する。従来技術では、一次ボリューム内のデータの修正の必要がある場合、一次ボリュームについて、コピーオンライト（Ｃｏｐｙ  Ｏｎ  Ｗｒｉｔｅ、略して「ＣＯＷ」）スナップショット、又は、スプリットミラー（Ｓｐｌｉｔ  Ｍｉｒｒｏｒ）スナップショットがとられる必要がある。スナップショットの開始工程中、システムホスト及び一次ストレージアレイの性能は大いに影響を受け、スナップショット複製工程中、システムホストから一次ボリュームに送信されたデータは、二次ボリュームにバックアップされ得ないので、災害が発生した場合に失われるデータ量が増える。
【発明の概要】
【０００４】
本発明は先述の従来技術に関して提案される。本発明を使用することで、以下の問題が解決されるだろう。システムホスト及び一次ストレージアレイの性能が、スナップショットを頻繁に開始することによって深刻な影響を受けるという、既存の技術的解決法における問題、及び、既存のスナップショット複製の工程中では、システムホストによって一次ボリュームに送信されたデータは二次ボリュームと同期され得ないために、災害が発生した場合に失われるデータ量が比較的大きいという問題。
【０００５】
第１態様に従って、本発明の一実施形態はデータ複製方法を提供する。当該方法は、
一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報を取得する段階であって、当該差分データ情報は、一次ボリューム内に位置付けられた差分データの記憶アドレスと、差分データの差分データ決定値とを含み、当該差分データ決定値は、差分データのデータ量、又は、一次ボリュームと二次ボリュームとの間の複製用の帯域幅に対する差分データの差分データ量の比を含む、段階と、
差分データ決定値が事前設定された閾値より小さくなと決定された場合、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って差分データを一次ボリュームから二次ボリュームへと複製する段階と、
差分データ決定値が事前設定された閾値より小さいと決定された場合、一次ボリュームのスナップショットをとり、当該スナップショットに従って差分データを二次ボリュームに複製する段階とを備える。
【０００６】
第１態様を参照して、第１態様の第１の実装方式において、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って差分データを一次ボリュームから二次ボリュームに複製する段階は、具体的に、データ複製ポインタの一次ボリュームの開始アドレスから一次ボリュームの終了アドレスへの順序に従って、差分データ複製の各ラウンドを実行する段階と、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って、差分データを一次ボリュームから二次ボリュームに複製する段階とを有し、当該データ複製ポインタは、現在複製中の差分データのアドレスを指し示すのに使用され、当該方法は、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って差分データを一次ボリュームから二次ボリュームへと複製する工程中、システムホストによって配信されたデータを一次ボリュームによって受信する段階と、一次ボリューム内のデータの記憶アドレスが、データ複製ポインタによって現在示されているアドレスの後に位置付けられている場合、複製の現在のラウンドにおいてデータを一次ボリュームから二次ボリュームへと複製する段階と、一次ボリューム内のデータの記憶アドレスが、データ複製ポインタによって現在示されているアドレスの前に位置付けられている場合、複製の現在のラウンドにおいてデータの複製をスキップする段階とを備える。
【０００７】
第２態様に従って、本発明の一実施形態は一次データストレージコントローラを提供する。当該一次データストレージコントローラは、
プロセッサと、メモリと、通信インタフェースと、バスとを備え、当該プロセッサ、メモリ、及び通信インタフェースは、当該バスを使用して通信し、
通信インタフェースは一次ストレージプール及び二次ストレージプールと通信するよう構成されており、当該一次ストレージプールは一次ボリュームを含み、当該二次ストレージプールは二次ボリュームを含み、
当該メモリは、プログラムを記憶するよう構成されており、
一次データストレージコントローラが動作するとき、当該プロセッサは、本発明の一実施形態によって第１態様において提供されるデータ複製方法、又は、本発明の一実施形態によって第１態様の第１の実装方式において提供されるデータ複製方法を実行すべく、メモリに記憶されたプログラムを実行するよう構成されている。
【０００８】
第３態様に従って、本発明の一実施形態はデータ複製制御装置を提供する。当該データ複製制御装置は、
一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報であって、一次ボリューム内に位置付けられた差分データの記憶アドレスと、差分データの差分データ決定値であって、差分データのデータ量、又は、一次ボリュームと二次ボリュームとの間の複製用の帯域幅に対する差分データの差分データ量の比を含む、差分データ決定値とを有する、差分データ情報を取得するよう構成された差分データ情報取得モジュールと、
差分データ決定値が事前設定された閾値より小さくないと決定された場合、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って差分データを一次ボリュームから二次ボリュームに複製するよう構成されたデータ複製モジュールと、
差分データ決定値が事前設定された閾値より小さいと決定された場合、一次ボリュームのスナップショットをとり、当該スナップショットに従って差分データを二次ボリュームに複製するよう構成されたスナップショット複製モジュールとを備える。
【０００９】
第４態様に従って、本発明の一実施形態はデータ複製システムを提供する。当該データ複製システムは、本発明の一実施形態によって第２態様において提供される一次データストレージコントローラ、一次ストレージプール及び二次ストレージプールを備え、当該一次ストレージプールは一次ボリュームを含み、当該二次ストレージプールは二次ボリュームを含む。
【００１０】
上記で提供された実施形態によると、一次ボリュームと二次ボリュームとの差を示す差分データを一次ボリュームから二次ボリュームに複製する工程中、差分データ決定値が閾値より小さくなるよう減少するまで、一次ボリュームについて何れのスナップショットもとられない。一次ボリュームについて、スナップショットが頻繁にとられる既存の技術的解決法と比較して、スナップショットを頻繁に開始することによって引き起こされる、システムホスト及び一次ストレージアレイの性能に与える影響は明らかに軽減され、本発明の複数の実施形態において、差分データを直接複製する工程中、ホストによって一次ボリュームに送信されたデータは、二次ボリュームに複製され得、それにより、災害が発生した場合に失われるデータ量を低減する。
【図面の簡単な説明】
【００１１】
本発明の実施形態における技術的解決法をより明確に説明すべく、実施形態を説明するのに必要な添付の図面が以下で簡潔に紹介される。以下の説明における添付の図面は本発明のいくつかの実施形態を示しているに過ぎず、当業者ならば、創造努力なしにこれらの添付の図面から他の図面を更に導き出し得ることは明らかである。
【００１２】
【図１】本発明の一実施形態において適用されるデータ複製システムのアーキテクチャの概略図である。
【００１３】
【図２】本発明の一実施形態において適用されるデータ複製の方法の概略フローチャートである。
【００１４】
【図３ａ】本発明の一実施形態において適用される別のデータ複製の方法の概略フローチャートである。
【図３ｂ】本発明の一実施形態において適用される別のデータ複製の方法の概略フローチャートである。
【００１５】
【図４】本発明の一実施形態において適用されるデバイスの実施形態１の構成の概略構造図である。
【００１６】
【図５】本発明の一実施形態において適用される装置の実施形態２の構成の概略構造図である。
【００１７】
【図６】本発明の一実施形態において適用されるシステムの実施形態の構成の概略構造図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態の目的、技術的解決法、及び利点をより明確にすべく、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的解決法が以下で明確かつ完全に説明される。説明される実施形態は、本発明の実施形態のいくつかであって全てではないことは明らかである。本発明の実施形態に基づいて当業者によって創造努力なしに得られた他の全ての実施形態は、本発明の保護範囲に含まれるものとする。
【００１９】
本発明の複数の実施形態は、データ複製の方法、装置、及びシステムを提供する。図１に示されるように、データ複製システムは、システムホスト、一次ストレージアレイ、及び二次ストレージアレイを備える。システムホストと一次ストレージアレイとは通信接続を確立し、一次ストレージアレイと二次ストレージアレイとは通信接続を確立する。システムホストによって一次ストレージアレイに送信されたデータは、一次ストレージプールの一次ボリュームに記憶され、一次ボリューム内のデータのバックアップ複製データが、二次ストレージプールの二次ボリュームに記憶される。一次ストレージプール及び二次ストレージプールにはそれぞれ、一次ボリュームのスナップショットボリューム及び二次ボリュームのスナップショットボリュームが設けられている。一次ボリュームのスナップショットボリューム及び二次ボリュームのスナップショットボリュームはそれぞれ、一次ボリュームのスナップショットデータ及び二次ボリュームのスナップショットデータを記憶するのに使用される。一次ストレージアレイは更に、一次ストレージプールに記憶されたデータを制御する一次データストレージコントローラを含み、二次ストレージアレイは更に、二次ストレージプールに記憶されたデータを制御する二次データストレージコントローラを含む。
【００２０】
具体的に、システムホストによって一次ストレージアレイに送信されたデータは一次ボリュームに記憶され、一次データストレージコントローラは、一次ボリュームに位置付けられた上記データの記憶アドレス、及び上記データのデータ量などの、一次ボリュームに位置付けられた上記データの記憶情報を記録する。加えて、一次データストレージコントローラは、事前設定されたデータ複製ポリシを実施し、一次ボリューム内に位置付けられた上記データの記憶アドレスに従って、上記データを一次ストレージプールから二次ボリュームに複製する。ここで、記憶情報は一次データストレージコントローラに記録されている。複製工程中、一次ボリュームのスナップショットの開始によって生成されたスナップショットデータが、一次ボリュームのスナップショットボリュームに記憶される。二次データストレージコントローラは、二次ボリューム内の記憶情報であって、一次ストレージプールから二次ボリュームに複製されたデータの記憶情報を記録する。一次ストレージプールから二次ボリュームに複製されたデータを二次ボリュームが受信する工程中、二次ボリュームのスナップショットを開始することで生成されたスナップショットデータは、二次ボリュームのスナップショットボリュームに記憶される。
【００２１】
上記内容に基づいて、本発明の複数の実施形態はデータ複製の方法、装置、及びシステムを提供する。
【００２２】
方法の実施形態１
本発明の方法の実施形態１はデータ複製の方法を提供する。当該方法のフローチャートが図２に示されている。当該方法は以下の段階を備える。
【００２３】
段階２０１：一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報を取得する。ここで、差分データ情報は一次ボリューム内に位置付けられた差分データの記憶アドレスと、差分データの差分データ決定値とを含み、当該差分データ決定値は、差分データのデータ量、又は、一次ボリュームと二次ボリュームとの間の複製用の帯域幅に対する差分データの差分データ量の比を含む。
【００２４】
システムホストによって一次ボリュームに送信され、一次データストレージコントローラによって記録されたデータ情報と、一次ボリュームから二次ボリュームに複製されたデータ情報とに従って、一次データストレージコントローラが、一次ボリュームと二次ボリュームとの差を示す差分データの差分データ情報を取得する。上記差分データ情報は、一次ボリューム内に位置付けられた差分データの記憶アドレスと、差分データの差分データ決定値とを含む。上記差分データ決定値は差分データのデータ量を含む。加えて、一次データストレージコントローラが、上記差分データのデータ量を参照して一次ボリュームと二次ボリュームとの間の複製用の帯域幅を記録した場合、差分データを一次ボリュームから二次ボリュームに複製するのに必要な時間、すなわち、一次ボリュームと二次ボリュームとの間の複製用の帯域幅に対する上記差分データのデータ量の比が取得されてよい。当該比はまた、差分データ決定値としても使用され得、上記複製用帯域幅は、データが一次ボリュームと二次ボリュームとの間で複製される場合に使用される通信帯域幅である。
【００２５】
段階２０２：差分データ決定値が事前設定された閾値より小さくないと決定された場合、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って、差分データを一次ボリュームから二次ボリュームに複製する。
【００２６】
事前設定された閾値とは、段階２０１における差分データ決定値に対応する閾値を指す。すなわち、差分データのデータ量が、段階２０１における差分データ決定値として選択された場合、上記事前設定された閾値はデータ量である、又は、一次ボリュームと二次ボリュームとの間の複製用の帯域幅に対する差分データの差分データ量の比が段階２０１における差分データ決定値として選択された場合、上記事前設定された閾値は比率である。上記差分データ決定値が上記事前設定された閾値より大きいか又はそれに等しいと一次データストレージコントローラが決定した後、差分データは、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って、一次ボリュームから二次ボリュームに複製される。複製工程中、一次データストレージコントローラは、一次ボリュームから二次ボリュームに複製された差分データの差分データ情報を記録する。加えて、複製工程中、システムホストがデータを一次ボリュームに送信した場合、一次データストレージコントローラはまた、システムホストによって一次ボリュームに送信されたデータに対応するデータ情報を記録する。データ情報は、複製工程中システムホストによって一次ボリュームに送信されたデータに対応するデータ量と、一次ボリューム内にあるストレージ位置であって、システムホストによって一次ボリュームに送信されたデータのストレージ位置とを含み、これにより、複製工程中、一次データストレージコントローラは、一次ボリュームと二次ボリュームとの差を示す差分データの差分データ情報を更新し得る。
【００２７】
段階２０３：差分データ決定値が事前設定された閾値より小さいと決定された場合、一次ボリュームのスナップショットをとり、スナップショットに従って、差分データを二次ボリュームに複製する。
【００２８】
上記差分データ決定値が上記事前設定された閾値より小さいと一次データストレージコントローラが決定した後、上記一次ボリュームのスナップショットがとられる。ここで、上記スナップショットはコピーオンライト・スナップショット又はスプリットミラー・スナップショットであってよく、差分データは、当該スナップショットに従って二次ボリュームに複製される。
【００２９】
一次ボリュームのコピーオンライト・スナップショットをとる工程は、次の通りである。コピーオンライト・スナップショットが確立された場合、一次ボリュームのスナップショットボリュームにおいてマッピングテーブル及びリソースボリュームが確立され、マッピングテーブルに記録されたポインタが、一次ボリューム内のデータブロックを指し示す。ここで、マッピングテーブルに記録されたポインタは差分データを指し示すポインタを含む。コピーオンライト・スナップショットが存在する間、システムホストが一次ボリュームにデータを送信した場合、上記データに割り当てられ、一次ボリューム内にある記憶空間に記憶された元の一次ボリュームデータはリソースボリュームに複製され、次に、上記データは、一次ボリューム内に割り当てられた記憶空間の中に記憶される。加えて、マッピングテーブルに記録され、一次ボリュームに記憶されたら元の一次ボリュームデータを指し示すポインタは、ストレージのリソースボリュームに複製された元の一次ボリュームデータを指し示すよう変更される。コピーオンライト・スナップショットが存在する間、複製工程中、差分データを記憶し、かつ、一次ボリューム内にある記憶空間の中に記憶されたデータがあるかどうかに関わらず、マッピングテーブルに記録され、差分データを指し示すポインタが、コピーオンライト・スナップショットが確立されたときにポインタが指し示す差分データを指し示すことが保証され得、マッピングテーブルに記録され、差分データを指し示すポインタを使用することで差分データは二次ボリュームに複製される。コピーオンライト・スナップショットが確立されたときに存在する差分データが全て一次ボリュームから二次ボリュームに複製された場合、コピーオンライト・スナップショットはキャンセルされる。
【００３０】
一次ボリュームのスプリット‐ミラー・スナップショットをとる段階は、次の通りである。スプリット‐ミラー・スナップショットが確立された場合、一次ボリュームのデータが一次ボリュームのスナップショットボリュームに複製される。次に、一次ボリュームと二次ボリュームとの差を示す差分データは、一次ボリュームのスナップショットボリュームと二次ボリュームとの差を示す差分データに変換され、一次ボリュームのスナップショットボリュームと二次ボリュームとの差を示す当該差分データは、一次ボリュームのスナップショットボリュームから二次ボリュームに複製される。スプリット‐ミラー・スナップショットが存在する間、システムホストがデータを一次ボリュームに送信した場合、上記データは一次ボリュームに直接記憶され、スプリット‐ミラー・スナップショットが確立されたときに存在する差分データが全て、一次ボリュームのスナップショットボリュームから二次ボリュームに複製された場合、スプリット‐ミラー・スナップショットはキャンセルされる。
【００３１】
この方法の実施形態において、差分データ決定値が事前設定された閾値より大きいか又はそれに等しい場合、一次データストレージコントローラは差分データを一次ボリュームから二次ボリュームに直接複製し、それにより、一次ボリュームのスナップショットの開始回数を大いに低減し、スナップショットを頻繁に開始することによって引き起こされる、システムホスト及び一次ストレージアレイの性能に与える影響を軽減する。
【００３２】
方法の実施形態２
本発明の方法の実施形態２では、本発明の方法の実施形態１に基づいて、差分データ決定値が事前設定された閾値と比較される前、すなわち、差分データ決定値が事前設定された閾値より大きいか又はそれに等しいと段階２０２において決定される、又は、差分データ決定値が事前設定された閾値より小さいと段階２０３において決定される前に、二次ボリュームについてスナップショットがとられる。ここで、上記スナップショットはコピーオンライト・スナップショット又はスプリットミラー・スナップショットであってよい。一次ボリュームのスナップショットが開始されたときに存在する差分データが全て二次ボリュームに複製された後、すなわち、段階２０３におけるスナップショットに従って差分データが二次ボリュームに複製された後、二次ボリュームのスナップショットはキャンセルされる。
【００３３】
この方法の実施形態では、差分データが一次ボリュームから二次ボリュームに複製される前に、二次ボリュームについてスナップショットがとられ、二次ボリュームのスナップショットは、一次ボリュームのスナップショットが開始されたときに存在する差分データが全て二次ボリュームに複製された後にキャンセルされ、それにより、二次ボリュームが差分データを受信する工程中、二次ボリューム内のデータは、二次ボリュームのスナップショットが開始された瞬間の状態にロールバックされ得ることを保証する。
【００３４】
方法の実施形態３
本発明の方法の実施形態３において、方法の実施形態１に基づいて、更に、方法の実施形態１の段階２０２において一次ボリュームに位置付けられた差分データの記憶アドレスに従って差分データを一次ボリュームから二次ボリュームに複製する段階は具体的に、データ複製ポインタが指し示す、一次ボリュームの開始アドレスから一次ボリュームの終了アドレスまでの順序に従って、差分データ複製の各ラウンドを実行する段階を含む。図３ａに示されるように、データ複製ポインタは、Ａ１からＡ５への順序に従って動作し、現在複製中の差分データのアドレスを指し示し、当該差分データは、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って、一次ボリュームから二次ボリュームに複製される。
【００３５】
差分データが一次ボリュームから二次ボリュームに複製される期間内に、システムホストはデータを一次ボリュームに送信する。一次ボリューム内に位置付けられた、システムホストによって送信されたデータの記憶アドレスが、データ複製ポインタが現在指し示しているアドレスの後に位置付けられている場合、すなわち、図３ａに示すような場合、システムホストによって送信されたデータは、一次ボリュームの位置Ａ４に記憶され、現在データ複製ポインタは位置Ａ３を指し示し、システムホストによって送信された上記データは、複製の現在のラウンドで複製される。一次ボリューム内に位置付けられた、システムホストによって送信されたデータの記憶アドレスが、データ複製ポインタが現在指し示しているアドレスの前に位置付けられている場合、すなわち、図３ｂに示すような場合、システムホストによって送信されたデータは一次ボリュームの位置Ａ２に記憶され、現在データ複製ポインタは位置Ａ３を指し示し、システムホストによって送信された上記データは、複製の現在のラウンドにおいては複製されない。システムホストによって送信された上記データは、位置Ａ２に記憶された後、差分データ複製の次のラウンドの工程中に二次ボリュームに複製される。
【００３６】
本発明のデバイスの実施形態１が一次データストレージコントローラを提供する。図４に示されるように、一次データストレージコントローラは少なくとも、プロセッサ４０１、メモリ４０２、通信インタフェース４０３、及びバス４０４を備える。ここで、プロセッサ４０１、メモリ４０２、及び通信インタフェース４０３は、バス４０４を使用して通信を行う。
【００３７】
メモリ４０２はプログラムを記憶するよう構成されている。具体的に、プログラムはプログラムコードを含んでよい。ここで、当該プログラムコードはコンピュータ演算命令を含む。メモリ４０２は、高速ＲＡＭメモリであってよい、又は、少なくとも１つのディスクストレージなどの不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）であってよい。
【００３８】
プロセッサ４０１は、メモリ４０２に記憶された演算命令を実行するよう構成されており、単一‐コア若しくはマルチ‐コアの中央演算処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、又は、本発明のこの実施形態を実施するよう構成された１又は複数の集積回路であってよい。
【００３９】
通信インタフェース４０３は、一次ストレージプール及び二次ストレージプールと通信するよう構成されている。ここで、一次ストレージプールは一次ボリュームを含み、二次ストレージプールは二次ボリュームを含む。
【００４０】
コントローラが動作するとき、プロセッサ４０１はプログラムを実行して、上記方法の実施形態１、方法の実施形態２、及び方法の実施形態３のうちの何れか１つを実行する。
【００４１】
本発明の上記方法の実施形態に対応して、本発明の装置の実施形態２はデータ複製制御装置を提供する。図５に示されるように、装置５００は、
一次ボリュームと二次ボリュームとの差を示す差分データに対応する差分データ情報であって、一次ボリューム内に位置付けられた差分データの記憶アドレスと、差分データの差分データ決定値であって、差分データのデータ量、又は、一次ボリュームと二次ボリュームとの間の複製用の帯域幅に対する差分データのデータ量の比を含む、差分データ決定値とを含む、差分データ情報を取得するよう構成された差分データ情報取得モジュール５０１と、
差分データ決定値が事前設定された閾値より小さくないと決定された場合、一次ボリューム内に位置付けられた差分データの記憶アドレスに従って差分データを一次ボリュームから二次ボリュームに複製するよう構成されたデータ複製モジュール５０２と、
差分データ決定値が事前設定された閾値より小さいと決定された場合、一次ボリュームのスナップショットをとり、当該スナップショットを使用して差分データを二次ボリュームに複製するよう構成されたスナップショット複製モジュール５０３とを備える。
【００４２】
本発明は更にデータ複製システムの実施形態を提供する。システム６００は、上記装置の実施形態において提供された一次データストレージコントローラ６０１、一次ストレージプール６０２、及び二次ストレージプール６０３を備える。ここで、一次ストレージプール６０２は一次ボリューム６０２１を含み、二次ストレージプール６０３は二次ボリューム６０３１を含む。一次データストレージコントローラ６０１は一次ストレージプール６０２との通信を確立し、一次ストレージプール６０２は二次ストレージプール６０３との通信を確立する。
【００４３】
本発明の一実施形態は更にコンピュータ可読媒体を提供する。当該コンピュータ可読媒体はコンピュータ演算命令を含み、コンピュータ演算命令は、本発明の方法の実施形態のうちの何れか１つにおいて説明された方法の方法をコントローラによって実行するよう構成されている。
【００４４】
説明を容易にすべく、上記方法の実施形態は、一連の動作の組み合わせとして説明されることに留意すべきである。しかしながら、当業者は、本発明が説明された動作の順序に限定されないことを理解すべきである。なぜなら、本発明に従っていくつかの段階は別の順序で実行されてよい、又は、同時に実行されてよいからである。加えて、当業者はまた、本明細書において説明された全ての実施形態が例示的な実施形態に属し、含まれる複数の動作及び複数のモジュールが、必ずしも本発明に必須というわけではないことを理解するべきである。
【００４５】
先述の実施形態では、各実施形態の説明はそれぞれの焦点を有する。一実施形態において詳細に説明されていない部分については、他の実施形態における関連した説明が参照されてよい。
【００４６】
先述の実施形態の説明があれば、当業者は、本発明がハードウェア、ファームウェア、又はこれらの組み合わせによって実施され得ることを明確に理解するであろう。本発明がソフトウェアによって実施された場合、先述の機能は、コンピュータ可読媒体に記憶されてよい、又は、コンピュータ可読媒体内の１又は複数の命令若しくはコードとして送信されてよい。コンピュータ可読媒体は、コンピュータストレージ媒体及び通信媒体を含んでよい。通信媒体は、コンピュータプログラムがある場所から別の場所に送信されることを可能にする任意の媒体を含む。ストレージ媒体はコンピュータがアクセス可能な任意の利用可能な媒体であってよい。以下に一例を挙げるが、これらに限定するものではない：コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ‐ＲＯＭ、若しくは別の光ディスクストレージ或いはディスクストレージ媒体、若しくは別の磁気ストレージデバイス、又は、命令若しくはデータ構成の形態の、予想されるプログラムコードを運び得又は記憶し得、かつ、コンピュータがアクセスし得る任意の他の媒体を含んでよい。加えて、任意の接続がコンピュータ可読媒体として適切に定義されてよい。例えば、同軸ケーブル、光ファイバ／ケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、又は、赤外線、無線、若しくはマイクロ波などの無線技術を使用して、ソフトウェアが、ウェブサイト、サーバ、又は別のリモートソースから送信された場合、同軸ケーブル、光ファイバ／ケーブル、ツイストペア、ＤＳＬ、又は、赤外線、無線、若しくはマイクロ波などの無線技術は、それらが属する媒体の固定に含まれる。例えば、本発明によって使用されるディスク（ｄｉｓｋ）及びディスク（ｄｉｓｃ）は、コンパクトディスクＣＤ、レーザディスク、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、及びブルーレイディスクを含み、当該ディスクは通常、磁気的手段によってデータをコピーし、当該ディスクは、レーザ手段によってデータを光学的にコピーする。上記の組み合わせもまた、コンピュータ可読媒体の保護範囲に含まれるべきである。
【００４７】
最後に、先述の実施形態は本発明の技術的解決法を説明するためのものに過ぎず、本発明を限定するためのものではないことに留意すべきである。本発明は先述の実施形態を参照して詳細に説明されたが、当業者であれば、本発明の実施形態の技術的解決法の主旨及び範囲から逸脱することなく、更に、先述の実施形態において説明された技術的解決法に対して変更を施すこと、又は、それらの一部の技術的特徴に対して均等な置き換えを施すことができるということを当業者は理解するべきである。
【図１】
0006455898.tif 000002
【図２】
0006455898.tif 000003
【図３ａ】
0006455898.tif 000004
【図３ｂ】
0006455898.tif 000005
【図４】
0006455898.tif 000006
【図５】
0006455898.tif 000007
【図６】
0006455898.tif 000008