(57)【特許請求の範囲】
【請求項１】
複数のストレージシステムを含むシステムであって、
前記複数のストレージシステムは、主および副ボリュームのセットを前記複数のストレージシステムの間でマイグレーションさせるように動作し、前記マイグレーションでは、前記複数のストレージシステムの間で、前記主および副ボリュームの間の複数の同じデータおよび複数の差分データ、ならびに前記複数の差分データの各々のロケーション情報を管理およびコピーを行い、前記ロケーション情報は、前記差分データに関連付けられる前記主または副ボリューム内の前記差分データのロケーションを特定し、
主ボリュームに対応する各副ボリュームは、前記各副ボリュームがデータを包含していれば、前記主ボリュームと同じデータを有し、前記各副ボリュームが前記主ボリュームと同期されていなければ、前記主ボリュームに関する差分データをさらに有し、
ソースストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、ターゲットストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、
前記複数のストレージシステムは、
ペアを構成する各主ボリュームと対応する各副ボリュームとの間のローカルコピー差分情報を管理すること、
「はい」に初期設定され、各ペアのボリュームの一方または両方のアドレス上でソースからターゲットへのマイグレーションのためのコピーが終了すると「いいえ」に変更されるマイグレーション進捗デルタを示すマイグレーション進捗管理テーブルを用いて、各ソースボリュームと対応する各ターゲットボリュームとの間のマイグレーションの進捗を管理すること、
前記ソース主ボリュームについての前記マイグレーション進捗デルタが「はい」であれば、データを前記ソース主ボリュームから前記ターゲット主ボリュームにコピーし、前記ターゲット主ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更し、前記ローカルコピー差分情報が、前記ターゲット主ボリュームと前記ターゲット副ボリュームとの間の差分データがないことを示していれば、前記データを前記ソース主ボリュームから前記ターゲット副ボリュームにコピーし、前記ターゲット副ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更すること、および、
前記ソース副ボリュームについての前記マイグレーション進捗デルタが「はい」であれば、データを前記ソース副ボリュームから前記ターゲット副ボリュームにコピーし、前記ターゲット副ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更すること、
という動作が可能であるよう構成されるシステム。
【請求項２】
複数のストレージシステムのシステム内の第１ストレージシステムであって、前記第１ストレージシステムは、プロセッサ、メモリ、およびマイグレーション制御モジュールを含み、前記マイグレーション制御モジュールは、
ソース主ボリュームおよびソース副ボリュームのセットを前記第１ストレージシステムから１つ以上のターゲットストレージシステムにマイグレーションさせるように構成され、前記マイグレーションは、前記第１ストレージシステムと前記１つ以上のターゲットストレージシステムとの間で、前記ソース主ボリュームおよびソース副ボリュームの間の複数の同じデータおよび複数の差分データならびに前記複数の差分データの各々のロケーション情報を管理およびコピーを実行し、前記ロケーション情報は、前記差分データに関連付けられる前記ソース主ボリュームまたはソース副ボリューム内の前記差分データのロケーションを特定し、
前記ソース主ボリュームに対応する各ソース副ボリュームは、前記各ソース副ボリュームがデータを包含していれば、前記ソース主ボリュームと同じデータを有し、前記各ソース副ボリュームが前記ソース主ボリュームと同期されていなければ、前記ソース主ボリュームに関する差分データをさらに有し、
前記第１ストレージシステム内でソースボリュームのペアを構成する前記ソース主ボリュームおよび対応する前記ソース副ボリュームから、ターゲットストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、前記第１ストレージシステムは、ペアを構成する各ソース主ボリュームと対応する各ソース副ボリュームとの間のローカルコピー差分情報を管理するように構成されたローカルコピー制御モジュールをさらに含み、
前記マイグレーション制御モジュールは、
「はい」に初期設定され、各ペアのボリュームの一方または両方のアドレス上でソースからターゲットへのマイグレーションのためのコピーが終了すると「いいえ」に変更されるマイグレーション進捗デルタを示すマイグレーション進捗管理テーブルを用いて、各ソースボリュームと対応する各ターゲットボリュームとの間のマイグレーションの進捗を管理すること、
前記ソース主ボリュームについての前記マイグレーション進捗デルタが「はい」であれば、データを前記ソース主ボリュームから前記ターゲット主ボリュームにコピーし、前記ターゲット主ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更し、前記ターゲットストレージシステムから前記ターゲット主ボリュームと前記ターゲット副ボリュームとの間のローカルコピー差分情報を取得し、前記取得されたローカルコピー差分情報が、前記ターゲット主ボリュームと前記ターゲット副ボリュームとの間の差分データがないことを示していれば、前記データを前記ソース主ボリュームから前記ターゲット副ボリュームにコピーし、前記ターゲット副ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更すること、および、
前記ソース副ボリュームについての前記マイグレーション進捗デルタが「はい」であれば、データを前記ソース副ボリュームから前記ターゲット副ボリュームにコピーし、前記ターゲット副ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更すること、
という動作が可能であるよう構成される第１ストレージシステム。
【請求項３】
複数のストレージシステムのシステム内の第２ストレージシステムであって、前記第２ストレージシステムはプロセッサ、メモリ、およびマイグレーション制御モジュールを含み、前記マイグレーション制御モジュールは、
ソース主ボリュームおよびソース副ボリュームのセットを１つ以上のソースストレージシステムから前記第２ストレージシステムにマイグレーションさせるように構成され、前記マイグレーションは、前記１つ以上のソースストレージシステムから前記第２ストレージシステムへの間で、前記ソース主ボリュームおよびソース副ボリュームの間の複数の同じデータおよび複数の差分データならびに前記複数の差分データの各々のロケーション情報を管理およびコピーを実行し、前記ロケーション情報は、前記差分データに関連付けられる前記ソース主ボリュームまたはソース副ボリューム内の前記差分データのロケーションを特定し、
前記ソース主ボリュームに対応する各ソース副ボリュームは、前記各ソース副ボリュームがデータを包含していれば、前記ソース主ボリュームと同じデータを有し、前記各ソース副ボリュームが前記ソース主ボリュームと同期されていなければ、前記ソース主ボリュームに関する差分データをさらに有し、
前記ソースストレージシステム内でソースボリュームのペアを構成する前記ソース主ボリュームおよび対応する前記ソース副ボリュームから、前記第２ストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、前記第２ストレージシステムは、ペアを構成する各ターゲット主ボリュームと対応する各ターゲット副ボリュームとの間のローカルコピー差分情報を管理するように構成されたローカルコピー制御モジュールをさらに含み、
前記マイグレーション制御モジュールは、
「はい」に初期設定され、各ペアのボリュームの一方または両方のアドレス上でソースからターゲットへのマイグレーションのためのコピーが終了すると「いいえ」に変更されるマイグレーション進捗デルタを示すマイグレーション進捗管理テーブルを用いて、各ソースボリュームと対応する各ターゲットボリュームとの間のマイグレーションの進捗を管理すること、
前記ソース主ボリュームについての前記マイグレーション進捗デルタが「はい」であれば、データを前記ソース主ボリュームから前記ターゲット主ボリュームにコピーし、前記ターゲット主ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更し、前記ローカルコピー差分情報が、前記ターゲット主ボリュームと前記ターゲット副ボリュームとの間の差分データがないことを示していれば、前記ローカルコピー制御モジュールは、前記データを前記ターゲット主ボリュームから前記ターゲット副ボリュームにコピーし、前記ターゲット副ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更するように構成されること、および、
前記ソース副ボリュームについての前記マイグレーション進捗デルタが「はい」であれば、データを前記ソース副ボリュームから前記ターゲット副ボリュームにコピーし、前記ターゲット副ボリュームの前記アドレスの前記マイグレーション進捗デルタを「いいえ」に変更すること、
という動作が可能であるよう構成される第２ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は概してストレージシステムに関し、より具体的には、データマイグレーション時のトラフィックを削減する方法および装置に関する。
【背景技術】
【０００２】
０００２    特許文献１（米国特許第７，９９１，８６０号公報）のようなボリュームおよび経路の無停止マイグレーション技術が周知である。この技術は、シンプレックス（機能が適用されていない）ボリュームのためのものであるが、それは、例えばローカルコピーが適用されたボリューム等、機能が適用されたボリュームに容易に拡張することができる。この方法は、ペアまたはコンシステンシグループを構成するすべてのボリュームを同時にマイグレーションさせ、マイグレーションソースボリュームの同じ構成を有するマイグレーションターゲットボリュームを用いてペアまたはグループを構成することを含み、ペアおよびグループに関するステータスおよび他の情報をマイグレーションターゲットに継承する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７，９９１，８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
０００３    一般的に、マイグレーションソースおよびターゲットストレージデバイスの間の接続が狭いとマイグレーションが遅くなる。トラフィック性能を高めるために新しいスイッチデバイスを導入することは難しい。なぜなら、それはコストを増大させるからである。
【課題を解決するための手段】
【０００５】
０００４    本発明の例示的な実施形態は、データマイグレーション中のストレージデバイス間のトラフィックを削減する技法を提供する。一般的に、ストレージデバイス間の接続はストレージデバイスの内部接続のものよりも余裕がない／狭い。接続が狭いほどデータマイグレーションは遅くなる。本発明の実施形態は、ストレージデバイス間のトラフィック負荷をストレージデバイスの内部接続にオフロードすることを可能にする。１つの実施形態によれば、データマイグレーション方法が、ペアまたはコンシステンシグループを構成するすべてのボリュームを同時にマイグレーションさせる。それは、マイグレーションソースボリュームと同じ構成を有するマイグレーションターゲットボリュームを用いてペアまたはグループを構成する。ストレージデバイスはマイグレーションの前に重複排除データを見つけるかまたは作成する。ストレージデバイスは重複排除データおよび差分データのみを１度だけ転送する。マイグレーション後、ターゲットストレージデバイスはデータをコピーし、必要（元の構成およびデータ記憶ステータスを復元する場合など）に応じて、重複排除を行う。この技法は、ローカルコピー／スナップショットを用いる環境上のマイグレーション転送負荷を削減することができる。
【０００６】
０００５    本発明の態様によれば、システムが複数のストレージシステムを含み、複数のストレージシステムは、主および副ボリュームのセットを複数のストレージシステムの間でマイグレーションさせるように動作可能であり、マイグレーションでは、複数のストレージシステムの間で、主および副ボリュームの間の複数の同じデータおよび複数の差分データ、ならびに複数の差分データの各々のロケーション情報を管理およびコピーを実行し、ロケーション情報は、差分データに関連付けられる主または副ボリューム内の差分データのロケーションを特定する。主ボリュームに対応する各副ボリュームは、前記各ソース副ボリュームがデータを包含していれば、主ボリュームと同じデータを有し、前記各副ボリュームが主ボリュームと同期されていなければ、主ボリュームに関する差分データをさらに有する。
【０００７】
０００６    いくつかの実施形態においては、複数のストレージシステムは、複数の同じデータの各同じデータを、前記各同じデータのソース主ボリュームから、対応するターゲット主ボリュームおよび対応するターゲット副ボリュームにコピーするように動作可能である。対応するターゲット主ボリュームおよび対応するターゲット副ボリュームは、ターゲットストレージシステム内に配置される。複数のストレージシステムは、複数の差分データの各差分データを、前記各差分データのソース副ボリュームから、対応するターゲット副ボリュームにコピーするように動作可能であり、このコピーは、差分データがソース副ボリューム内に記憶されてから、ターゲットストレージシステム内において、対応するターゲット副ボリューム内のデータが更新されていない場合に行われる。
【０００８】
０００７    特定の実施形態においては、複数のストレージシステムは、複数の差分データの各差分データを、前記各差分データのソース副ボリュームから、対応するターゲット副ボリュームにコピーするように動作可能である。複数の差分データの各差分データのロケーション情報は、差分データに関連付けられる主または副ボリューム内の前記各差分データのロケーションを特定するデルタビットマップを含む。ソース主ボリュームが、同じソース主ボリュームに対して複数のペアを構成するために複数の対応するソース副ボリュームを有し、複数のペアの各ペアは、前記各ペアについてのあらゆる差分データのロケーションを特定するデルタビットマップを有する。ソース主ボリュームおよび複数の対応するソース副ボリュームのマイグレーションは、複数のペアの各ペアのデルタビットマップに基づき、ソース主ボリュームおよび複数の対応するソース副ボリュームについての同じデータおよび差分データを、ターゲット主ボリュームおよび複数の対応するターゲット副ボリュームにコピーすることを含む。
【０００９】
０００８    いくつかの実施形態においては、ソースストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、ターゲットストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、複数のストレージシステムは、以下の機能を奏する。ペアを構成する各主ボリュームと各対応する副ボリュームとの間のローカルコピー差分情報を管理すること、また、マイグレーション進捗デルタは、初期設定で「はい」にセットされ、各ペアのボリュームの一方または両方のアドレス上でソースからターゲットへのマイグレーションのためのコピーが終了すると「いいえ」に変更されるもので、それを示すマイグレーション進捗管理テーブルを用いて、各ソースボリュームと各対応するターゲットボリュームとの間のマイグレーションの進捗を管理すること、また、ソース主ボリュームについてのマイグレーション進捗デルタが「はい」であれば、データをソース主ボリュームからターゲット主ボリュームにコピーし、ターゲット主ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更し、ローカルコピー差分情報が、ターゲット主ボリュームとターゲット副ボリュームとの間の差分データがないことを示していれば、データをソース主ボリュームからターゲット副ボリュームにコピーし、ターゲット副ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更すること、そして、ソース副ボリュームについてのマイグレーション進捗デルタが「はい」であれば、データをソース副ボリュームからターゲット副ボリュームにコピーし、ターゲット副ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更すること。
【００１０】
０００９    特定の実施形態においては、各ストレージシステムは、前記各ストレージシステム内のボリュームについての差分データを記憶するプールを含み、各差分データのためのロケーション情報はプール内の前記各差分データのロケーションを特定する。各差分データのためのロケーション情報は、対応する主ボリュームに関する前記各差分データを有する副ボリュームに関連付けられる。複数のストレージシステムは、ソースストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、ターゲットストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、ペアを構成する各主ボリュームと各対応する副ボリュームとの間のローカルコピー差分情報を管理すること、およびローカルコピー差分情報が、ソースボリュームのペアの間の差分データがあることを示していれば、ソースボリュームのペアのソース副ボリュームに関連付けられるロケーション情報を用いて、ソースボリュームのペアについての差分データをソースストレージシステム内のプールからターゲットストレージシステム内のプールにコピーすること、ができるように構成される。ソース主ボリュームが、同じソース主ボリュームに対して複数のペアを構成するために複数の対応するソース副ボリュームを有し、各対応するソース副ボリュームは、ソース主ボリュームに関するあらゆる差分データのためのロケーション情報に関連付けられる。複数のストレージシステムは、差分データがソースストレージシステム内のプールからターゲットストレージシステム内のプールにコピーされた後、ターゲットストレージシステム内のプール内の差分データのためのロケーション情報を、ターゲットストレージシステム内の各対応するターゲット副ボリュームに関連付けるように構成される。
【００１１】
００１０    本発明の別の態様は、複数のストレージシステムのシステム内の第１ストレージシステムを対象とする。第１ストレージシステムは、プロセッサ、メモリ、およびマイグレーション制御モジュールを含む。マイグレーション制御モジュールは、ソース主ボリュームおよびソース副ボリュームのセットを第１ストレージシステムから１つ以上のターゲットストレージシステムにマイグレーションさせるように構成され、マイグレーションでは、第１ストレージシステムと１つ以上のターゲットストレージシステムとの間で、ソース主ボリュームおよびソース副ボリュームの間の複数の同じデータおよび複数の差分データならびに複数の差分データの各々のロケーション情報を管理およびコピーを実行し、ロケーション情報は、差分データに関連付けられるソース主ボリュームまたはソース副ボリューム内の差分データのロケーションを特定する。ソース主ボリュームに対応する各ソース副ボリュームは、前記各ソース副ボリュームがデータを包含していれば、ソース主ボリュームと同じデータを有し、前記各ソース副ボリュームがソース主ボリュームと同期されていなければ、ソース主ボリュームに関する差分データをさらに有する。
【００１２】
００１１    いくつかの実施形態においては、マイグレーション制御モジュールは、複数の同じデータの各同じデータを、前記各同じデータのソース主ボリュームから、ターゲットストレージシステム内の対応するターゲット主ボリュームおよび対応するターゲット副ボリュームにコピーするように構成される。マイグレーション制御モジュールは、複数の差分データの各差分データを、前記差分データのソース副ボリュームから、ターゲットストレージシステム内の対応するターゲット副ボリュームにコピーするように構成される。
【００１３】
００１２    特定の実施形態においては、複数の差分データの各差分データのロケーション情報は、差分データに関連付けられるソース主ボリュームまたはソース副ボリューム内の前記各差分データのロケーションを特定するデルタビットマップを含む。１つのソース主ボリュームが、同じソース主ボリュームに対して複数のペアを構成するために複数の対応するソース副ボリュームを有し、複数のペアの各ペアは、前記各ペアについてのあらゆる差分データのロケーションを特定するデルタビットマップを有する。ソース主ボリュームおよび複数の対応するソース副ボリュームのマイグレーションは、複数のペアの各ペアのデルタビットマップに基づき、ソース主ボリュームおよび複数の対応するソース副ボリュームについての同じデータおよび差分データを、ターゲットストレージサブシステム内のターゲット主ボリュームおよび複数の対応するターゲット副ボリュームにコピーすることを含む。
【００１４】
００１３    いくつかの実施形態においては、第１ストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、ターゲットストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、第１ストレージシステムは、ペアを構成する各ソース主ボリュームと各対応するソース副ボリュームとの間のローカルコピー差分情報を管理するように構成されたローカルコピー制御モジュールをさらに含む。マイグレーション制御モジュールは、以下の機能を奏するように構成される。まず、マイグレーション進捗デルタは、初期設定で「はい」にセットされ、各ペアのボリュームの一方または両方のアドレス上でソースからターゲットへのマイグレーションのためのコピーが終了すると「いいえ」に変更されるもので、それを示すマイグレーション進捗管理テーブルを用いて、各ソースボリュームと各対応するターゲットボリュームとの間のマイグレーションの進捗を管理すること、また、ソース主ボリュームについてのマイグレーション進捗デルタが「はい」であれば、データをソース主ボリュームからターゲット主ボリュームにコピーし、ターゲット主ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更し、ターゲットストレージシステムからターゲット主ボリュームとターゲット副ボリュームとの間のローカルコピー差分情報を取得し、取得されたローカルコピー差分情報が、ターゲット主ボリュームとターゲット副ボリュームとの間の差分データがないことを示していれば、データをソース主ボリュームからターゲット副ボリュームにコピーし、ターゲット副ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更すること、そして、ソース副ボリュームについてのマイグレーション進捗デルタが「はい」であれば、データをソース副ボリュームからターゲット副ボリュームにコピーし、ターゲット副ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更すること。
【００１５】
００１４    特定の実施形態においては、各ストレージシステムは、前記各ストレージシステム内のボリュームについての差分データを記憶するプールを含む。各差分データのためのロケーション情報はプール内の前記各差分データのロケーションを特定する。各差分データのためのロケーション情報は、対応する主ボリュームに関する前記各差分データを有する副ボリュームに関連付けられる。第１ストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、ターゲットストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、第１ストレージシステムは、ペアを構成する各ソース主ボリュームと各対応するソース副ボリュームとの間のローカルコピー差分情報を管理するように構成されるローカルコピー制御モジュールをさらに含む。マイグレーション制御モジュールは、ローカルコピー差分情報が、ソースボリュームのペアの間の差分データがあることを示していれば、ソースボリュームのペアのソース副ボリュームに関連付けられるロケーション情報を用いて、ソースボリュームのペアについての差分データを、第１ストレージシステム内のプールからターゲットストレージシステム内のプールにコピーするように構成される。
【００１６】
００１５    本発明の別の態様は、複数のストレージシステムのシステム内の第２ストレージシステムを対象とする。第２ストレージシステムはプロセッサ、メモリ、およびマイグレーション制御モジュールを含む。マイグレーション制御モジュールは、ソース主ボリュームおよびソース副ボリュームのセットを１つ以上のソースストレージシステムから第２ストレージシステムにマイグレーションさせるように構成され、マイグレーションでは、１つ以上のソースストレージシステムから第２ストレージシステムへの間で、ソース主ボリュームおよびソース副ボリュームの間の複数の同じデータおよび複数の差分データならびに複数の差分データの各々のロケーション情報を管理およびコピーを実行し、ロケーション情報は、差分データに関連付けられるソース主ボリュームまたはソース副ボリューム内の差分データのロケーションを特定する。ソース主ボリュームに対応する各ソース副ボリュームは、前記各ソース副ボリュームがデータを包含していれば、ソース主ボリュームと同じデータを有し、前記各ソース副ボリュームがソース主ボリュームと同期されていなければ、ソース主ボリュームに関する差分データをさらに有する。
【００１７】
００１６    いくつかの実施形態においては、マイグレーション制御モジュールは、複数の同じデータの各同じデータを、前記各同じデータのソース主ボリュームから、第２ストレージシステム内の対応するターゲット主ボリュームおよび対応するターゲット副ボリュームにコピーするように構成される。マイグレーション制御モジュールは、複数の差分データの各差分データを、前記差分データのソース副ボリュームから、第２ストレージシステム内の対応するターゲット副ボリュームにコピーするように構成される。
【００１８】
００１７    特定の実施形態においては、複数の差分データの各差分データのロケーション情報は、差分データに関連付けられるソース主ボリュームまたはソース副ボリューム内の前記各差分データのロケーションを特定するデルタビットマップを含む。１つのソース主ボリュームが、同じソース主ボリュームに対して複数のペアを構成するために複数の対応するソース副ボリュームを有し、複数のペアの各ペアは、前記各ペアについてのあらゆる差分データのロケーションを特定するデルタビットマップを有する。ソース主ボリュームおよび複数の対応するソース副ボリュームのマイグレーションは、複数のペアの各ペアのデルタビットマップに基づき、ソース主ボリュームおよび複数の対応するソース副ボリュームについての同じデータおよび差分データを、第２のストレージシステム内のターゲット主ボリュームおよび複数の対応するターゲット副ボリュームにコピーすることを含む。
【００１９】
００１８    いくつかの実施形態においては、ソースストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、第２ストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、第２ストレージシステムは、ペアを構成する各ターゲット主ボリュームと各対応するターゲット副ボリュームとの間のローカルコピー差分情報を管理するように構成されたローカルコピー制御モジュールをさらに含む。マイグレーション制御モジュールは、以下の機能を奏するように構成される。まず、マイグレーション進捗デルタは、初期設定で「はい」にセットされ、各ペアのボリュームの一方または両方のアドレス上でソースからターゲットへのマイグレーションのためのコピーが終了すると「いいえ」に変更されるもので、それを示すマイグレーション進捗管理テーブルを用いて、各ソースボリュームと各対応するターゲットボリュームとの間のマイグレーションの進捗を管理すること、また、ソース主ボリュームについてのマイグレーション進捗デルタが「はい」であれば、データをソース主ボリュームからターゲット主ボリュームにコピーし、ターゲット主ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更し、ローカルコピー差分情報が、ターゲット主ボリュームとターゲット副ボリュームとの間の差分データがないことを示していれば、ローカルコピー制御モジュールは、データをターゲット主ボリュームからターゲット副ボリュームにコピーし、ターゲット副ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更するように構成されること、そして、ソース副ボリュームについてのマイグレーション進捗デルタが「はい」であれば、データをソース副ボリュームからターゲット副ボリュームにコピーし、ターゲット副ボリュームのアドレスのマイグレーション進捗デルタを「いいえ」に変更すること。
【００２０】
００１９    特定の実施形態においては、各ストレージシステムは、前記各ストレージシステム内のボリュームについての差分データを記憶するプールを含む。各差分データのためのロケーション情報はプール内の前記各差分データのロケーションを特定する。各差分データのためのロケーション情報は、対応する主ボリュームに関する前記各差分データを有する副ボリュームに関連付けられる。ソースストレージシステム内でソースボリュームのペアを構成するソース主ボリュームおよび対応するソース副ボリュームから、第２ストレージシステム内でターゲットボリュームのペアを構成するターゲット主ボリュームおよび対応するターゲット副ボリュームへのマイグレーションのために、第２ストレージシステムは、ペアを構成する各ターゲット主ボリュームと各対応するターゲット副ボリュームとの間のローカルコピー差分情報を管理するように構成されるローカルコピー制御モジュールをさらに含む。マイグレーション制御モジュールは、ソースストレージシステムから、ソースボリュームのペアを構成するソース主ボリュームとソース副ボリュームとの間のローカルコピー差分情報を取得し、取得されたローカルコピー差分情報が、ソースボリュームのペアの間の差分データがあることを示していれば、ソースボリュームのペアのソース副ボリュームに関連付けられるロケーション情報を用いて、ソースボリュームのペアについての差分データを、第１ストレージシステム内のプールからターゲットストレージシステム内のプールにコピーするように構成される。
【００２１】
００２０    本発明のこれらおよび他の特徴および利点は、特定の実施形態の以下の詳細な説明を見れば当業者に明らかになろう。
【発明の効果】
【００２２】
０００４    本発明によれば、ローカルコピー／スナップショットを用いる環境上のマイグレーション転送負荷を削減することができる。
【図面の簡単な説明】
【００２３】
【図１】００２１    本発明の第１の実施形態による本発明の方法および装置の適用が可能なシステムの物理および論理ハードウェア構成の例を示す図である。
【図２】００２２    本発明の第１の実施形態によるマイグレーションの間の図１のシステムの論理ハードウェアおよびローカルコピーペアの構成の例を示す図である。
【図３】００２３    本発明の第１の実施形態によるローカルコピー対管理テーブルの例を示す図である。
【図４】００２４    本発明の第１の実施形態によるローカルコピーデルタ管理テーブルの例を示す図である。
【図５】００２５    本発明の第１の実施形態によるマイグレーション進捗管理テーブルの例を示す図である。
【図６】００２６    本発明の第１の実施形態によるマイグレーション進捗プログラムのプロセスを示すフロー図の例である。
【図７】００２７    図６に関連して上述された通りのマイグレーション進捗プログラムに基づくマイグレーションプロセスの例を例示するためにソースストレージサブシステムおよびターゲットストレージサブシステムを示す図である。
【図８】００２８    本発明の第２の実施形態による本発明の方法および装置の適用が可能なシステムの物理および論理ハードウェア構成の例を示す図である。
【図９】００２９    本発明の第２の実施形態によるマイグレーション間の図８のシステムの論理ハードウェアおよびローカルコピーペアの構成の例を示す図である。
【図１０】００３０    本発明の第２の実施形態によるマイグレーション進捗プログラムのプロセスを示すフロー図の例である。
【図１１】００３１    本発明の第３の実施形態による本発明の方法および装置の適用が可能なシステムの物理および論理ハードウェア構成の例を示す図である。
【図１２】００３２    本発明の第３の実施形態によるシステムの主ボリューム、副ボリューム、およびプール構成の例を示す図である。
【図１３】００３３    本発明の第３の実施形態によるスナップショットペア管理テーブルの例を示す図である。
【図１４】００３４    本発明の第３の実施形態によるスナップショット主ボリュームデルタ管理テーブルの例を示す図である。
【図１５】００３５    本発明の第３の実施形態によるスナップショット副ボリュームデルタ管理テーブルの例を示す図である。
【図１６】００３６    本発明の第３の実施形態によるスナップショットプール管理テーブル１４４の例を示す図である。
【図１７】００３７    本発明の第３の実施形態によるマイグレーション進捗プログラムのプロセスを示すフロー図の例である。
【発明を実施するための形態】
【００２４】
００３８    以下の発明の詳細な説明では、本開示の一部を構成する添付の図面を参照する。図面においては、限定ではなく例示の目的で、本発明の実施が可能となる例示的な実施形態が示されている。図面において、いくつかの図にわたって同じ符号が付されているが、これは実質的に同様の構成要素を示す。さらに、以下に記載される通り且つ図面において示される通り、詳細な説明は種々の例示的な実施形態を提供するが、本発明は、本願明細書において記載され図示される実施形態に限定されるものではなく、当業者には周知であろうまたは当業者に周知となるであろう他の実施形態に拡張することができることに留意されたい。明細書中の「１つの実施形態」、「この実施形態」、または「これらの実施形態」への言及は、実施形態に関連して記載される特定の特徴、構造、または特性が本発明の少なくとも１つの実施形態内に含まれることを意味しており、明細書中の種々の場所にこれらの表現が出現しても、必ずしも同じ実施形態にすべてが言及しているわけではない。加えて、以下の詳細な説明では、本発明の完全な理解を提供するために数多くの具体的詳細事項が説明されている。しかし、本発明を実施するためにこれらの具体的詳細事項がすべて必要とされなくてもよいことは当業者には明らかであろう。他の状況では、本発明を不必要に不明瞭としないようにするために、周知の構造、材料、回路、プロセスおよびインターフェースは詳細に記載されていないか、および／またはブロック図の形で示される場合がある。
【００２５】
００３９    さらに、以下の詳細な説明の一部は、コンピュータ内の操作のアルゴリズムおよび記号表現に関するものとして提示されている。これらのアルゴリズムの記述および記号表現は、データ処理の技術分野の当業者によって、彼らの革新の本質を他の当業者に最も効果的に伝えるために用いられる手段である。アルゴリズムとは、所望の最終状態または結果をもたらす一連の定義されたステップである。本発明では、実行されるステップは、具体的な結果を達成するために具体的な量の物理的操作を必要とする。必ずというわけではないが、通常、これらの量は、記憶、転送、結合、比較、および他の操作を施すことができる電気的または磁気的信号または命令という形をとる。場合によっては、主に慣用であるとの理由で、これらの信号をビット、値、要素、記号、文字、語、番号、命令、または同様のものとして参照すると都合が良いことが分かっている。しかし、これらのものおよび同様のものは、いずれも適当な物理量に関連付けられるべきものであり、単に、これらの量に付けられる便利なラベルにすぎないことに留意されたい。特に断らない限り、以下の説明から明らかなように、記載全体を通じて用語「処理する」、「計算する」、「算出する」、「求める」、「表示する」、または同様の用語を利用して説明する際は、この説明に、コンピュータシステムのレジスタおよびメモリ内で物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタあるいは他の情報ストレージ、伝送または表示デバイス内で物理量として同様に表される他のデータに変換する、コンピュータシステムまたは他の情報処理デバイスのアクションおよびプロセスを含めることができることは理解されよう。
【００２６】
００４０    本願明細書において、本発明は、動作を実行する装置にも関する。この装置は、要求される目的のために特別に構成されてもよいし、あるいはそれは、１つ以上のコンピュータプログラムによって選択的に作動または再構成される１つ以上の汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、以下に限定されるものではないが、光ディスク、磁気ディスク、リードオンリーメモリ、ランダムアクセスメモリ、ソリッドステートデバイスおよびドライブ、あるいは電子情報を記憶することに適した任意の他の種類の媒体等の、コンピュータ可読ストレージ媒体内に記憶されてよい。本願明細書において提示されているアルゴリズムおよびディスプレイはいかなる特定のコンピュータまたは他の装置にも固有に関連するものではない。種々の汎用システムが、本願明細書における教示によるプログラムおよびモジュールとともに用いられてもよいし、あるいは所望の方法ステップを遂行するためにより特殊化した装置を構成すると都合が良いと分かる場合もある。加えて、本発明はいかなる特定のプログラミング言語に関して記載されるものではない。本願明細書において記載されている通りの本発明の教示を実装するためにさまざまなプログラミング言語が用いられてよいことは理解されよう。プログラミング言語（単数または複数）の命令は１つ以上の処理デバイス、例えば、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）、プロセッサ、またはコントローラ、によって実行されてよい。
【００２７】
００４１    本発明の例示的な実施形態は、以下により詳細に記載されるように、データマイグレーション時のトラフィックを削減する装置、方法およびコンピュータプログラムを提供する。
【００２８】
００４２    第１の実施形態
【００２９】
００４３    図１は、本発明の第１の実施形態による本発明の方法および装置の適用が可能なシステムの物理および論理ハードウェア構成の例を示す。システムは、スイッチ２００ａを介してストレージサブシステム１００ａ、１００ｂに接続されるホストコンピュータ３００を含む。ストレージサブシステム１００ａ、１００ｂはスイッチ２００ｂを介して接続されている。各ストレージサブシステム１００ａ、１００ｂは、プロセッサ（単数または複数）、メモリ、ポート群、およびディスク群を有する１種のコンピュータシステムである。ストレージサブシステムはポート１０１を介してホストコンピュータおよび別のストレージサブシステムからＩ／Ｏを受信する。ストレージサブシステムはポート１０２を介して別のストレージサブシステムにＩ／Ｏを送信する。ストレージサブシステムを制御するプログラムおよびテーブルがメモリ内に記憶され、プロセッサ（単数または複数）によって実行される。ボリューム１１０ａおよび１１０ｂがストレージサブシステムによって制御され、データはディスクに記憶される。ボリューム１１０ａ、１１０ｂは主ボリューム１１０ａおよび副ボリューム１１０ｂとしてローカルコピーペアを構成する。ストレージのユーザがペアを再同期させるように指示すれば、主ボリューム１１０ａのデータは副ボリューム１１０ｂにコピーされる。ローカルコピーペアの管理および制御は、メモリ内に格納されているローカルコピー制御部１２０によって操作される。以下においてさらに説明されるように、ボリューム１１０ａ、１１０ｂは、ボリューム１１１ａおよび１１１ｂにマイグレーションされるマイグレーションソースボリュームである。ボリューム１１１ａおよび１１１ｂは、マイグレーションソースボリューム１１０ａおよび１１０ｂからマイグレーションされるマイグレーションターゲットボリュームである。より具体的には、ソース主ボリューム１１０ａのデータはターゲット主ボリューム１１１ａにマイグレーションされ、ソース副ボリューム１１０ｂのデータはターゲット副ボリューム１１１ｂにマイグレーションされる。マイグレーションの管理および制御は、メモリ内に格納されているマイグレーション制御部１３０によって操作される。マイグレーションの間にマイグレーションターゲットボリュームがＩ／Ｏ要求を受信すると、それはＩ／Ｏ要求をそのマイグレーションソースボリュームに転送する。マイグレーションの後であれば、データおよびＩ／Ｏ操作はどちらもマイグレーションターゲットボリュームにマイグレーションされる。
【００３０】
００４４    ローカルコピー制御部１２０はローカルコピーを管理および制御する。それは、ストレージサブシステム内の２つのボリュームによって構成されるペアを必要とする。一方のボリュームは主ボリュームであり、他方のボリュームは副ボリュームである。一般的に、ローカルコピー制御部は主ボリュームから副ボリュームにデータをコピーする。コピーの開始はストレージのユーザによって指示される。
【００３１】
００４５    マイグレーション制御部１３０はボリュームマイグレーションを管理および制御する。それは、異なるストレージサブシステム上の２つのボリュームによって構成されるペアを必要とする。一方のボリュームはソースボリュームであり、他方のボリュームはターゲットボリュームである。マイグレーション制御部は、データをコピーし、経路をソースボリュームからターゲットボリュームに変更する。マイグレーションの開始はストレージのユーザによって指示される。
【００３２】
００４６    ホストコンピュータ３００は、プロセッサ（単数または複数）、メモリ、およびポート群を有する１種のコンピュータシステムである。ホストコンピュータはポート３０１を介してストレージサブシステムにＩ／Ｏを送信する。スイッチ２００ａおよび２００ｂは、ホストポート３０１およびストレージサブシステムポート１０１、１０２の間でＩ／Ｏを転送するポート２０１を有する。この実施形態では、スイッチ２００ａおよび２００ｂは独立したデバイスであるが、それらを単一のデバイスに統合することができる。
【００３３】
００４７    図２は、本発明の第１の実施形態によるマイグレーションの間の図１のシステムの論理ハードウェアおよびローカルコピーペアの構成の例を示す。ソースボリューム１１０ａおよび１１０ｂはソースストレージサブシステム１００ａ内でローカルコピーペアを構成する。マイグレーションの開始前に、ソースボリューム１１０ａおよび１１０ｂはローカルコピーペアを構成する。マイグレーション後には、ペア構成もターゲットボリュームにマイグレーションされる必要がある。このため、ターゲットストレージサブシステム１００ｂはターゲットボリューム１１１ａおよび１１１ｂを作成する。ターゲットストレージサブシステム１００ｂは、マイグレーションを開始し、ホストコンピュータ３００とソースストレージサブシステム１００ａとの間の経路をホストコンピュータ３００とターゲットストレージサブシステム１００ｂとの間の経路に変更する。ターゲットストレージサブシステム１００ｂは、ソースボリューム１１０ａおよび１１０ｂの間のペアステータスをコピーし、ペアステータスをターゲットボリューム１１１ａおよび１１１ｂに適用する。
【００３４】
００４８    図３は、本発明の第１の実施形態によるローカルコピーペア管理テーブル１２１の例を示す。このテーブルは、ボリューム間のペア構成およびステータスを管理するために、ローカルコピー制御部１２０によって用いられるものであり、その中に含まれてもよい。テーブルは、ソースボリューム１１０ａおよび１１０ｂのペアの管理に用いられるために、ソースストレージサブシステム１００ａ内に記憶される。テーブルは、ターゲットボリューム１１１ａおよび１１１ｂのペアの管理に用いられるために、ターゲットストレージサブシステム１００ｂ内に記憶される。テーブルは、ペアのＩＤを包含するペア番号１２１−１、ペアのステータスを示すステータス１２１−２、ペアの主ボリュームのＩＤを包含する主ボリューム（ＰＶＯＬ）番号１２１−３、およびペアの副ボリュームのＩＤを包含する副ボリューム（ＳＶＯＬ）番号１２１−４の列を含む。ステータス列について、「ＰＳＵＳ」ステータスは、主および副ボリュームが独立していることを意味する。このステータスの間、ローカルコピー制御部１２０は主ボリュームおよび副ボリュームの書き込みアクセスされた領域を記録する。「ＣＯＰＹ」および「ＰＡＩＲ」ステータスは、主および副ボリュームが同期されていることを各々意味する。このステータスの間、ローカルコピー制御部１２０は、書き込みアクセスされた領域内にあるデータを主ボリュームから副ボリュームにコピーし、副ボリュームへのアクセスを禁止する。「ＳＭＰＬ」ステータスは、ペアがまだ構成されていないことを意味する。
【００３５】
００４９    図４は、本発明の第１の実施形態によるローカルコピーデルタ管理テーブル１２２の例を示す。このテーブルは、ローカルコピー制御部１２０によって用いられるものであり、その中に含まれてもよい。コピーペア管理テーブル１２１内に列挙されている各ペアは、このローカルコピーデルタ管理テーブル１２２を有する。それは、ペアを構成する主ボリュームと副ボリュームとの間の差分を管理する。テーブルは、アドレス１２２−１およびデルタ情報１２２−２の列を有する。アドレス１２２−１は、ペアの主ボリュームまたは副ボリュームのアドレスである。デルタ情報１２２−２について、（ペアステータスが他のペアステータスから「ＰＳＵＳ」に変わる際の）初期レコードは、すべてのアドレス上で「いいえ」である。主ボリュームおよび／または副ボリュームがライトＩ／Ｏを受信すると、ステータスは「はい」に変わる。「ＣＯＰＹ」または「ＰＡＩＲ」ステータスにあるアドレス上で主ボリュームから副ボリュームへのコピーが完了すると、レコードは「いいえ」に変わる。
【００３６】
００５０    本発明の１つの態様は、各ペアの主ボリュームおよび副ボリュームのマイグレーションを管理することである。主ボリュームおよび副ボリュームは、同じデータおよび差分データ（両ボリュームが同期されれば差分データはなくなる）を通常有する。理想的には、各ペアの主ボリュームおよび副ボリュームのマイグレーションの間、同じデータをターゲットに１度だけコピーし、もし差分データがいくらかでもあれば、差分データをターゲットに１度だけコピーし、それにより、マイグレーション転送負荷を削減することが好ましい。本発明の実施形態によればシステムがそれを行うことが可能になる。
【００３７】
００５１    図５は、本発明の第１の実施形態によるマイグレーション進捗管理テーブル１３１の例を示す。このテーブルは、マイグレーション制御部１３０によって用いられるものであり、その中に含まれてもよい。各マイグレーションターゲットボリュームは、このテーブルを有する。テーブルはアドレス１３１−１およびデルタ情報１３１−２の列を有する。アドレス１３１−１はペアの主ボリュームまたは副ボリュームのアドレスである。デルタ情報１３１−２について、（マイグレーションが開始する際の）初期レコードは、すべてのアドレス上で「はい」である。アドレス上でマイグレーションのためのコピーが完了すると、レコードは「いいえ」に変わる。
【００３８】
００５２    図６は、本発明の第１の実施形態によるマイグレーション進捗プログラム１３２のプロセスを示すフロー図の例である。このプログラムはマイグレーション制御部１３０内に含まれる。プログラムは、データをソースボリュームからターゲットボリュームにコピーし、それらはローカルコピーペアを構成する。ステップ１３２−１からプログラムが開始する。プログラムは、ローカルコピーペアの構成とともにマイグレーションターゲットボリューム１１１ａおよび１１１ｂを作成し、ペアステータスを「ＰＳＵＳ」に設定する（１３２−２）。ステップ１３２−３において、プログラムはホストコンピュータ３００とソースボリューム１１０ａおよび１１０ｂとの間の経路をホストコンピュータ３００とターゲットボリューム１１１ａおよび１１１ｂとの間の経路に変更する。ステップ１３２−４において、プログラムはソースストレージサブシステム１００ａのローカルコピーペア管理テーブル１２１内のローカルコピーペアステータスを取得する。ステップ１３２−５において、プログラムはターゲットボリューム１１１ａおよび１１１ｂのペアのペアステータスをソースボリューム１１０ａおよび１１０ｂのペアと同じものに変更する。ステップ１３２−６において、プログラムはソースストレージサブシステム１００ａのローカルコピーデルタ管理テーブル１２２内のローカルコピー差分情報（デルタビットマップ）を取得する。ステップ１３２−７において、プログラムはソースストレージサブシステム１００ａのローカルコピーデルタ管理テーブル１２２からのローカルコピー差分情報をターゲットストレージサブシステム１００ｂのそれに結合する。レコードがどちらも「はい」であれば、プログラムは「はい」を記憶する。レコードがどちらも「いいえ」であれば、プログラムは「いいえ」を記憶する。一方が「はい」で他方が「いいえ」であれば、プログラムは「はい」を記憶する。ステップ１３２−８において、マイグレーションソース主ボリューム１１０ａのアドレスのデルタ情報１３１−２が「はい」であれば、プログラムは、マイグレーションソース主ボリューム１１０ａからそのアドレスのデータを読み出し、データをマイグレーションターゲット主ボリューム１１１ａにコピーし、ターゲット主ボリューム１１１ａのアドレスのデルタ情報１３１−２を「いいえ」に変更する。ターゲットストレージサブシステム１００ｂ内に記憶されているペアのアドレスのデルタ情報１２２−２が「いいえ」であるか、あるいはペアステータスが「ＰＡＩＲ」または「ＣＯＰＹ」であれば、プログラムは、データをマイグレーションターゲット副ボリューム１１１ｂにコピーし、ターゲット副ボリューム１１１ｂのアドレスのデルタ情報１３１−２を同様に「いいえ」に変更する。ステップ１３２−９において、マイグレーションソース副ボリューム１１０ｂのアドレスのデルタ情報１３１−２が「はい」であれば、プログラムは、マイグレーションソース副ボリューム１１０ｂからそのアドレスのデータを読み出し、データをマイグレーションターゲット副ボリューム１１１ｂにコピーし、ターゲット副ボリューム１１１ｂのアドレスのデルタ情報１３１−２を「いいえ」に変更する。ステップ１��２−１０において、プログラムは、マイグレーションソースボリューム１１０ａおよび１１０ｂのペアを解放し、マイグレーションソースボリューム１１０ａおよび１１０ｂを削除する。ステップ１３２−１１において、プログラムは終了する。
【００３９】
００５３    ステップ１３２−５およびステップ１３２−７の最中、ライトＩ／Ｏがマイグレーションターゲットボリューム上に生じる場合がある。しかし、プログラムは、ステップ１３２−７に記載された方法によってストレージサブシステム１００ｂ内に記憶されたローカルコピーデルタ管理テーブル１２２上のライトＩ／Ｏ領域のレコードを保持することができる。
【００４０】
００５４    マイグレーションプロセス時に何らかの障害によってデータが失われるのを防止するために、マイグレーションプログラム１３２は、マイグレーションソースボリュームが受信するライトＩ／Ｏをマイグレーションターゲットボリュームに複製することができる。
【００４１】
００５５    もし、マイグレーションの間にペアステータスが変更されれば、プログラムはマイグレーションを停止し、マイグレーション構成を再設定し、マイグレーションをやり直す。
【００４２】
００５６    図７は、図６に関連して上述された通りのマイグレーション進捗プログラム１３２に基づくマイグレーションプロセスの例を例示するために、ソースストレージサブシステム１００ａおよびターゲットストレージサブシステム１００ｂを示す。
【００４３】
００５７    第２の実施形態
【００４４】
００５８    図８は、本発明の第２の実施形態による本発明の方法および装置の適用が可能なシステムの物理および論理ハードウェア構成の例を示す。図１の第１の実施形態との相違点のみが記載される。ソースストレージサブシステム１００ａは、マイグレーションソースボリューム１１０ｃを有し、ターゲットストレージサブシステム１００ｂはマイグレーションソースボリューム１１０ｃのためのマイグレーションターゲットボリューム１１１ｃを有する。
【００４５】
００５９    図９は、本発明の第２の実施形態によるマイグレーションの間の図８のシステムの論理ハードウェアおよびローカルコピーペアの構成の例を示す。副ボリューム１１０ｂおよび１１０ｃはソースストレージサブシステム１００ａ内の同じ主ボリューム１１０ａを共有する。主ボリューム１１０ａおよび副ボリューム１１０ｂは、ローカルコピーペアを構成し、主ボリューム１１０ａおよび副ボリューム１１０ｃもローカルコピーペアを構成する。
【００４６】
００６０    図１０は、本発明の第２の実施形態によるマイグレーション進捗プログラム１３２’のプロセスを示すフロー図の例である。このマイグレーション進捗プログラム１３２’は、第１の実施形態のマイグレーション進捗プログラム１３２の代わりに、マイグレーション制御部１３０内に含まれる。プログラムは、データをソースボリュームからターゲットボリュームにコピーし、それらはローカルコピーペアを構成する。ステップ１３２’−１からプログラムが開始する。ステップ１３２’−２において、プログラムは、ローカルコピーペアの構成とともにマイグレーションターゲットボリューム１１１ａ、１１１ｂ、１１１ｃを作成し、各ペアステータスを「ＰＳＵＳ」に設定する。ステップ１３２’−３において、プログラムはホストコンピュータ３００とソースボリューム１１０ａ、１１０ｂ、１１０ｃとの間の経路をホストコンピュータ３００とターゲットボリューム１１１ａ、１１１ｂ、１１１ｃとの間の経路に変更する。ステップ１３２’−４において、プログラムはソースストレージサブシステム１００ａのローカルコピーペア管理テーブル１２１内の各ローカルコピーペアステータスを取得する。ステップ１３２’−５において、プログラムはターゲットボリューム１１１ａおよび１１１ｂのペアならびにターゲットボリューム１１１ａおよび１１１ｃのペアの各ペアステータスをソースボリューム１１０ａおよび１１０ｂのペアならびにソースボリューム１１０ａおよび１１０ｃのペアと同じものに変更する。
【００４７】
００６１    ステップ１３２’−６において、プログラムはソースストレージサブシステム１００ａのローカルコピーデルタ管理テーブル１２２内のローカルコピー差分情報をそれぞれ取得する。ステップ１３２’−７において、プログラムはソースストレージサブシステム１００ａのローカルコピーデルタ管理テーブル１２２からのローカルコピー差分情報をターゲットストレージサブシステム１００ｂのそれに結合する。レコードがどちらも「はい」であれば、プログラムは「はい」を記憶する。レコードがどちらも「いいえ」であれば、プログラムは「いいえ」を記憶する。一方が「はい」で他方が「いいえ」であれば、プログラムは「はい」を記憶する。ステップ１３２’−８において、マイグレーションソース主ボリューム１１０ａのアドレスのデルタ情報１３１−２が「はい」であれば、プログラムはマイグレーションソース主ボリューム１１０ａからそのアドレスのデータを読み出し、データをマイグレーションターゲット主ボリューム１１１ａにコピーし、ターゲット主ボリューム１１１ａのアドレスのデルタ情報１３１−２を「いいえ」に変更する。ターゲットストレージサブシステム１００ｂ内に記憶されているペアのアドレスのデルタ情報１２２−２が「いいえ」であるか、あるいはペアステータスが「ＰＡＩＲ」または「ＣＯＰＹ」であれば、プログラムはデータをマイグレーションターゲット副ボリューム１１１ｂまたは１１１ｃにコピーし、コピーされたターゲット副ボリュームのアドレスのデルタ情報１３１−２を同様に「いいえ」に変更する。ステップ１３２’−９において、マイグレーションソース副ボリューム１１０ｂのアドレスのデルタ情報１３１−２が「はい」であれば、プログラムは、マイグレーションソース副ボリューム１１０ｂからそのアドレスのデータを読み出し、データをマイグレーションターゲット副ボリューム１１１ｂにコピーし、ターゲット副ボリューム１１１ｂのアドレスのデルタ情報１３１−２を「いいえ」に変更する。この操作は他方のソース副ボリューム１１０ｃに同様に適用される。ステップ１３２’−１０において、プログラムは、ボリューム１１０ａおよび１１０ｂ、ならびに１１０ａおよび１１０ｃのペアを解放し、マイグレーションソースボリューム１１０ａ、１１０ｂおよび１１０ｃを削除する。ステップ１３２’−１１において、プログラムは終了する。
【００４８】
００６２    第３の実施形態
【００４９】
００６３    図１１は、本発明の第３の実施形態による本発明の方法および装置の適用が可能なシステムの物理および論理ハードウェア構成の例を示す。図８の第２の実施形態との相違点のみが記載される。各ストレージサブシステム１００ａ、１００ｂは、差分データを記憶するプール１５０を有する。差分データは、主ボリュームまたは副ボリューム上に生じる以前のデータライトＩ／Ｏの結果であり、データは主ボリュームと副ボリュームとの間で同期されていない。第３の実施形態では、ローカルコピー制御部１２０の代わりにスナップショット制御部１４０が各ストレージサブシステムのメモリ内に格納される。スナップショット制御部１４０は論理スナップショットを管理および制御する。それは、ストレージサブシステム内の２つのボリュームによって構成されるペアを必要とする。一方のボリュームは主ボリュームであり、他方のボリュームは副ボリュームである。スナップショット制御部は、一般的に、主ボリュームおよび／または副ボリューム上にライトＩ／Ｏが生じると、古いデータを主ボリュームから副ボリュームに退避させる。スナップショット制御部のプロセスの開始はストレージのユーザによって指示される。２つ以上の副ボリュームが同じ主ボリュームを共有することができる。
【００５０】
００６４    図１２は、本発明の第３の実施形態によるシステムの主ボリューム、副ボリューム、およびプール構成の例を示す。主ボリューム１１０ａは複数のチャンク１１０ａ−１に分割される。副ボリューム１１０ｂは複数のチャンク１１０ｂ−１に分割される。副ボリューム１１０ｃは複数のチャンク１１０ｃ−１に分割される。プール１５０は複数のチャンク１５０−１に分割される。１つの副ボリュームチャンク１１０ｂ−１または１１０ｃ−１は主ボリュームチャンク１１０ａ−１またはプールチャンク１５０−１を参照する。２つ以上の副ボリュームチャンクは同じプールチャンク１５０−１を参照することができる。副ボリューム上にリードＩ／Ｏが生じると、システムは、アクセス領域上の副ボリュームチャンク１１０ｂが参照する主ボリュームチャンク１１０ａ−１またはプールチャンク１５０−１のデータを読み出す。主ボリューム上にライトＩ／Ｏが生じると、１つ以上の副ボリュームチャンク１１０ｂ−１または１１０ｃ−１が主ボリュームチャンク１１０ａ−１を参照する場合には、それは主ボリュームチャンク１１０ａ−１の現在のデータをプールチャンク１５０−１上にコピーし、参照をプールチャンク１５０−１に変更する。副ボリューム上にライトＩ／Ｏが生じると、１つ以上の副ボリュームチャンク１１０ｂ−１および１１０ｃ−１がチャンク１５０−１を参照する場合には、それはプールチャンク１５０−１のデータを別のチャンク１５０−１上にコピーし、参照を他のチャンク１５０−１に変更する。
【００５１】
００６５    図１３は、本発明の第３の実施形態によるスナップショットペア管理テーブル１４１の例を示す。このテーブルは、スナップショット制御部１４０によって用いられるものであり、その中に含まれてもよい。テーブルはボリューム間のペア構成およびステータスを管理する。テーブルは、ソースストレージサブシステム１００ａ内に記憶され、ソースボリューム１１０ａおよび１１０ｂのペアを管理するために用いることができる。テーブルは、ターゲットストレージサブシステム１００ｂ内に記憶され、ターゲットボリューム１１１ａおよび１１１ｂのペアを管理するために用いることができる。テーブルは、ペアのＩＤとしてのペア番号１４１−１、ペアのステータスを示すステータス１４１−２、ペアの主ボリュームのＩＤとしての主ボリューム番号１４１−３、およびペアの副ボリュームのＩＤとしての副ボリューム番号１４１−４の列を有する。「ＰＳＵＳ」ステータスは、主および副ボリュームが独立していることを意味する。このステータスの間、スナップショット制御部１４０は副ボリュームのデータをプールに退避させる。「ＣＯＰＹ」ステータスおよび「ＰＡＩＲ」ステータスは、主および副ボリュームが同期されていることを各々意味する。どちらのステータスの間でも、スナップショット制御部１４０は副ボリュームへのアクセスを禁止する。「ＳＭＰＬ」ステータスは、ペアがまだ構成されていないことを意味する。
【００５２】
００６６    図１４は、本発明の第３の実施形態によるスナップショット主ボリュームデルタ管理テーブル１４２の例を示す。このテーブルは、スナップショット制御部１４０によって用いられるものであり、その中に含まれてもよい。スナップショットペア管理テーブル１４１内の各主ボリュームは、このテーブルを有する。テーブルは書き込まれた領域を記録する。このテーブルは、主ボリュームのアドレスであるアドレス１４２−１、およびデルタ情報１４２−２の列を有する。ペアステータスが他のペアステータスから「ＰＳＵＳ」に変わる際の初期レコードは、すべてのアドレス上で「いいえ」である。主ボリュームがライトＩ／Ｏを受信し、データをプール１５０に退避させると、ステータスは「はい」に変わる。
【００５３】
００６７    図１５は、本発明の第３の実施形態によるスナップショット副ボリュームデルタ管理テーブル１４３の例を示す。このテーブルは、スナップショット制御部１４０によって用いられるものであり、その中に含まれてもよい。スナップショットペア管理テーブル１４１内の各副ボリュームは、このテーブルを有する。テーブルは、書き込まれた領域、および退避させたデータのアドレスを記録する。このテーブルは、副ボリュームのアドレスであるアドレス１４３−１、デルタ情報１４３−２、ならびにチャンクポインタまたは記憶されたアドレス１４３−３の列を有する。デルタ情報１４３−２について、ペアステータスが他のペアステータスから「ＰＳＵＳ」に変わる際の初期レコードは、すべてのアドレス上で「いいえ」である。主ボリュームまたは副ボリュームが、ライトＩ／Ｏを受信し、データをプール１５０に退避させると、ステータスは「はい」に変わる。チャンクポインタ１４３−３は、退避されたデータを記憶するプール１５０のアドレスである。
【００５４】
００６８    図１６は、本発明の第３の実施形態によるスナップショットプール管理テーブル１４４の例を示す。このテーブルは、スナップショット制御部１４０によって用いられるものであり、その中に含まれてもよい。プールはこのテーブルを有する。テーブルは、プール内の空いている割り当て領域、および副ボリュームによる領域の共有ステータスを管理する。このテーブルは、プールのアドレスであるアドレス１４４−１、割り当て情報１４４−２、および共有情報１４４−３の列を有する。割り当て情報１４４−２について、領域が、副ボリュームデータを記憶するために割り当てられていれば、レコードは「はい」である。割り当てが解放されれば、レコードは「いいえ」に変わる。共有情報１４４−３について、その領域を副ボリュームの２つ以上のチャンクが参照するならば、レコードは「はい」である。
【００５５】
００６９    図１７は、本発明の第３の実施形態によるマイグレーション進捗プログラム１３２”のプロセスを示すフロー図の例である。プログラムは、第２の実施形態におけるマイグレーションプログラム１３２’の代わりに、マイグレーション制御部１３０内に含まれる。プログラムは、データをソースボリュームからターゲットボリュームに、ソースプールからターゲットプールにコピーする。ステップ１３２”−１からプログラムが開始する。ステップ１３２”−２において、プログラムは、ローカルコピーペアの構成とともにマイグレーションターゲットボリューム１１１ａ、１１１ｂおよび１１１ｃを作成し、各ペアステータスを「ＰＳＵＳ」として設定する。ステップ１３２”−３において、プログラムはホストコンピュータ３００とソースボリューム１１０ａ、１１０ｂ、１１０ｃとの間の経路をホストコンピュータ３００とターゲットボリューム１１１ａ、１１１ｂ、１１１ｃとの間の経路に変更する。ステップ１３２”−４において、プログラムはソースストレージサブシステム１００ａのスナップショットペア管理テーブル１４１内の各ローカルコピーペアステータスを取得する。ステップ１３２”−５において、プログラムはターゲットボリューム１１１ａおよび１１１ｂのペアならびにターゲットボリューム１１１ａおよび１１１ｃのペアの各ペアステータスをソースボリューム１１０ａおよび１１０ｂのペアならびにソースボリューム１１０ａおよび１１０ｃのペアのペアステータスと同じものに変更する。ステップ１３２”−６において、プログラムはスナップショット主ボリュームデルタ管理テーブル１４２内のデルタ情報、およびソースストレージサブシステム１００ａのスナップショットプール管理テーブル１４４を取得する。
【００５６】
００７０    ステップ１３２”−７において、プログラムはソースストレージサブシステム１００ａのスナップショット主ボリュームデルタ管理テーブル１４２からのデルタ情報をターゲットストレージサブシステム１００ｂのそれに結合する。レコードがどちらも「はい」であれば、プログラムは「はい」を記憶する。レコードがどちらも「いいえ」であれば、プログラムは「いいえ」を記憶する。一方が「はい」で他方が「いいえ」であれば、プログラムは「はい」を記憶する。ステップ１３２”−８において、マイグレーションソース主ボリューム１１０ａのアドレスのデルタ情報１４２−２が「はい」であれば、プログラムは、マイグレーションソース主ボリューム１１０ａからそのアドレスのデータを読み出し、データをマイグレーションターゲット主ボリューム１１１ａにコピーし、ターゲット主ボリューム１１１ａのアドレスのデルタ情報１４２−２を「いいえ」に変更する。ステップ１３２”−９において、マイグレーションソース副ボリューム１１０ｂのアドレスのデルタ情報１４３−２が「はい」であれば、プログラムはマイグレーションソースプール１５０からそのアドレスのデータを読み出し、割り当てされたプールにデータをコピーし、ターゲット副ボリューム１１１ｂのアドレスのデルタ情報１３１−２を「いいえ」に変更する。マイグレーションソースプール１５０の領域がいくつかの他のボリュームと共有される場合には、プログラムは同様にチャンクポインタ１４３−３のポインタを割り当て領域に変更し、ターゲット副ボリューム１１１ｂのアドレスのデルタ情報１４３−２を「いいえ」に変更する。この操作は他方の副ボリューム１１０ｃに同様に適用される。ステップ１３２”−１０において、プログラムは、ソースボリューム１１０ａおよび１１０ｂならびにソースボリューム１１０ａおよび１１０ｃのペアを解放し、マイグレーションソースボリューム１１０ａ、１１０ｂおよび１１０ｃを削除する。ステップ１３２”−１１において、プログラムは終了する。
【００５７】
００７１    上述された第１および第３の実施形態等の特定の実施形態では、各ストレージサブシステムは、ローカルコピーペアを管理および制御するローカルコピー制御部１２０、ならびにマイグレーションを制御するマイグレーション制御部１３０を有する。一般的に、ソースストレージサブシステムからターゲットストレージサブシステムへのマイグレーションは、ソースストレージサブシステム内のマイグレーション制御部１３０によって制御されてもよいし、あるいはターゲットストレージサブシステム内のマイグレーション制御部１３０、またはさらに両ストレージサブシステム内のマイグレーション制御部１３０によって制御されてもよい。マイグレーションがソースまたはターゲットストレージサブシステムのいずれかの中のマイグレーション制御部１３０のみによって制御される場合、一方のストレージサブシステム内のそのマイグレーション制御部１３０は、ローカルコピー差分情報が必要であれば、他方のストレージサブシステムからローカルコピー差分情報を取得してもよい。第１の例では、第１の実施形態におけるマイグレーションはソースストレージサブシステム１００ａ内のマイグレーション制御部１３０によって制御される。図６のステップ１３２−８において、ターゲットストレージサブシステム１００ｂ内に記憶されているペアのアドレスのデルタ情報１２２−２が「いいえ」であるか、あるいはペアステータスが「ＰＡＩＲ」または「ＣＯＰＹ」であれば、プログラムはマイグレーションデータをマイグレーションターゲット副ボリュームにコピーする。ターゲットストレージサブシステムのこのローカルコピー差分情報は、ソースストレージサブシステムのマイグレーション制御部１３０による取得が必要になる。第２の例では、第３の実施形態におけるマイグレーションはターゲットストレージサブシステム１００ｂ内のマイグレーション制御部１３０によって制御される。図１７のステップ１３２”−９において、マイグレーションソース副ボリューム１１０ｂのアドレスのデルタ情報１４３−２が「はい」であれば、プログラムはデータをマイグレーションソースプールからマイグレーションターゲットプールにコピーする。ソースストレージサブシステムのこのローカルコピー差分情報は、ターゲットストレージサブシステムのマイグレーション制御部１３０による取得が必要になる。
【００５８】
００７２    無論、図１、８、および１１に示されるシステム構成は、本発明が実装されてよい情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実装するコンピュータおよびストレージシステムは、上述の発明を実装するために用いられるモジュール、プログラムおよびデータ構造を記憶し読み出すことができる周知のＩ／Ｏデバイス（例えば、ＣＤおよびＤＶＤドライブ、フロッピー（登録商標）ディスクドライブ、ハードドライブ等）を有することもできる。これらのモジュール、プログラムおよびデータ構造はこのようなコンピュータ可読媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明において用いられるプログラムが常駐する１つ以上のコンピュータ可読媒体とは独立にコンピュータ可読媒体上に記憶させることができる。システムの構成要素は任意の形態または媒体のデジタルデータ通信、例えば通信ネットワーク、によって相互に接続させることができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク、例えばインターネット、無線ネットワーク、ストレージエリアネットワーク、および同様のものが挙げられる。
【００５９】
００７３    本記載では、本発明の完全な理解を提供するべく数多くの詳細が説明のために示されている。しかし、本発明を実施するためにこれらの具体的詳細のすべてが必要とされるわけではないことは、当業者には明らかであろう。本発明は、フローチャート、フロー図、構造図、またはブロック図として通常示されるプロセスとして記載されてよいことにも留意されたい。フローチャートは、操作を逐次プロセスとして記述する場合があるが、操作の多くは並行してまたは同時に遂行させることができる。加えて、操作の順序は並べ替えられてもよい。
【００６０】
００７４    当技術分野において周知のように、上述された操作はハードウェア、ソフトウェア、あるいはソフトウェアおよびハードウェアの何らかの組み合わせによって遂行させることができる。回路および論理デバイス（ハードウェア）を用いて本発明の実施形態の種々の態様が実装されてよい。一方、プロセッサによって実行されると、プロセッサに本発明の実施形態を実行する方法を遂行させることになるマシン可読媒体上に記憶された命令（ソフトウェア）を用いて、他の態様が実装されてよい。さらに、本発明のいくつかの実施形態は、ハードウェア内でのみ遂行されてよく、その一方で、他の実施形態はソフトウェア内でのみ遂行されてよい。さらに、記載されている種々の機能は、単一のユニット内で遂行されることもできるし、またはあらゆる仕方で複数の構成要素に跨がって遂行することもできる。方法は、ソフトウェアによって遂行されると、コンピュータ可読媒体上に記憶された命令に基づき、汎用コンピュータ等のプロセッサによって実行されてよい。所望の場合には、命令は、圧縮形式および／または暗号化形式で媒体上に記憶させることができる。
【００６１】
００７５    上記のことより、本発明は、データマイグレーション時のトラフィックを削減する方法、装置、およびコンピュータ可読媒体上に記憶されるプログラムを提供することが理解できよう。加えて、本明細書には特定の実施形態が示され、記載されているが、当業者であれば分かるように、同じ目的を達成するよう意図された任意の構成が、開示されている特定の実施形態に代えられてよい。本開示は本発明のありとあらゆる適合または変形を対象に含むことが意図されており、添付の請求項において用いられている用語は、本発明を、本明細書に開示されている特定の実施形態に限定するように解釈されてはならないことを理解されたい。むしろ、本発明の範囲は、クレーム解釈の確立された原則に従って解釈されるべき添付の請求項と、このような請求項に認められる均等物の全範囲とによって完全に確定されるべきものである。
【符号の説明】
【００６２】
１００ａ、１００ｂ  ストレージサブシステム  
１１０ａ  ソース主ボリューム
１１０ｂ  ソース副ボリューム
１１１ａ  ターゲット主ボリューム
１１１ｂ  ターゲット副ボリューム
１２０  ローカルコピー制御部
１２１  ローカルコピーペア管理テーブル
１２２  ローカルコピーデルタ管理テーブル
１３１  マイグレーション進捗管理テーブル
１３０  マイグレーション制御部
１４１  スナップショットペア管理テーブル
１４２  スナップショット主ボリュームデルタ管理テーブル
１４３  スナップショット副ボリュームデルタ管理テーブル
１４４  スナップショットプール管理テーブル
３００  ホストコンピュータ
【図１】
0005878107.tif 000002
【図２】
0005878107.tif 000003
【図３】
0005878107.tif 000004
【図４】
0005878107.tif 000005
【図５】
0005878107.tif 000006
【図６】
0005878107.tif 000007
【図７】
0005878107.tif 000008
【図８】
0005878107.tif 000009
【図９】
0005878107.tif 000010
【図１０】
0005878107.tif 000011
【図１１】
0005878107.tif 000012
【図１２】
0005878107.tif 000013
【図１３】
0005878107.tif 000014
【図１４】
0005878107.tif 000015
【図１５】
0005878107.tif 000016
【図１６】
0005878107.tif 000017
【図１７】
0005878107.tif 000018