(57)【要約】【課題】ＷＯＲＭ属性を維持したデータのマイグレーションを実現する。【解決手段】ネットワークを経由してコンピュータ装置と接続されるストレージ装置であって、コントローラと、複数の論理ボリュームを含むドライブ装置と、を備え、前記論理ボリュームの少なくとも一つに、更新禁止属性が付された領域を含むことを示す更新禁止情報が記録され、前記コントローラは、前記更新禁止属性が付された論理ボリュームを移動元、他の論理ボリュームを移動先の論理ボリュームとして設定し、前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定する構成管理部と、前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定した後で、前記移動元の論理ボリュームのデータを前記移動先の論理ボリュームに複写するマイグレーション部と、を含む。【選択図】      図４
2006072957.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを経由してコンピュータ装置と接続されるストレージ装置において、
コントローラと、前記コントローラと通信可能に接続されたドライブ装置と、を備え、
前記ドライブ装置は、複数の論理ボリュームを含み、
前記論理ボリュームの少なくとも一つに、更新禁止属性が付された領域を含むことを示す更新禁止情報が記録され、
前記コントローラは、
前記更新禁止属性が付された論理ボリュームを移動元の論理ボリュームとして設定し、他の論理ボリュームを移動先の論理ボリュームとして設定し、前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定する構成管理部と、
前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定した後で、前記移動元の論理ボリュームのデータを前記移動先の論理ボリュームに複写するマイグレーション部と、を含むことを特徴とするストレージ装置。
【請求項２】
前記コントローラは、
前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定した後、前記複写の実行前に、前記コンピュータ装置と前記移動元の論理ボリュームとの間に設定されていたアクセス経路を、前記コンピュータ装置と前記移動先の論理ボリュームとの間に設定する経路管理部と、
前記複写の実行中に、前記設定されたアクセス経路に従って、前記移動先の論理ボリュームに対して前記コンピュータ装置からの書き込み又は読み出し要求を実行し、前記移動先の論理ボリュームのうち、前記更新禁止属性が付された領域のデータを更新することができない入出力処理部と、を備え、
前記マイグレーション部は、前記移動先の論理ボリュームのうち、前記複写が終了した領域のデータを更新することができないことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記コントローラは、
前記複写の実行後に、前記コンピュータ装置と前記移動元の論理ボリュームとの間に設定されていたアクセス経路を、前記コンピュータ装置と前記移動先の論理ボリュームとの間に設定する経路管理部と、
前記複写の実行中に、前記設定されたアクセス経路に従って、前記移動元の論理ボリュームに対して前記コンピュータ装置からの書き込み又は読み出し要求を実行し、前記移動先の論理ボリュームのデータを更新することができない入出力処理部と、を備え、
前記マイグレーション部は、前記移動先の論理ボリュームのうち、前記複写が終了し、かつ、前記更新禁止属性が付された領域のデータを更新することができないことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
コンピュータ装置と、
複数のストレージ装置と、
前記コンピュータ装置と前記複数のストレージ装置のうち少なくとも一つとを通信可能に接続するネットワークと、を備えるストレージシステムにおいて、
前記各ストレージ装置は、コントローラと、前記コントローラと通信可能に接続されたドライブ装置と、を備え、
前記ドライブ装置は、一つ又は複数の論理ボリュームを含み、
前記論理ボリュームの少なくとも一つに、更新禁止属性が付された領域を含むことを示す更新禁止情報が記録され、
前記コントローラは、
前記一つのストレージ装置に含まれる前記更新禁止属性が付された論理ボリュームを移動元の論理ボリュームとして設定し、他のストレージ装置に含まれる前記論理ボリュームを移動先の論理ボリュームとして設定し、前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定する構成管理部と、
前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定した後で、前記移動元の論理ボリュームのデータを前記移動先の論理ボリュームに複写するマイグレーション部と、を含むことを特徴とするストレージシステム。
【請求項５】
前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定した後、前記複写の実行前に、前記コンピュータ装置と前記移動元の論理ボリュームとの間に設定されていたアクセス経路を、前記コンピュータ装置と前記移動先の論理ボリュームとの間に設定する経路管理部を備え、
前記コントローラは、前記複写の実行中に、前記設定されたアクセス経路に従って、前記移動先の論理ボリュームに対して前記コンピュータ装置からの書き込み又は読み出し要求を実行し、前記移動先の論理ボリュームのうち、前記更新禁止属性が付された領域のデータを更新することができない入出力処理部を備え、
前記マイグレーション部は、前記移動先の論理ボリュームのうち、前記複写が終了した領域のデータを更新することができないことを特徴とする請求項４に記載のストレージシステム。
【請求項６】
前記移動元の論理ボリュームを含む移動元のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続され、
前記移動先の論理ボリュームを含む移動先のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続されることを特徴とする請求項５に記載のストレージシステム。
【請求項７】
前記移動元の論理ボリュームを含む移動元のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続され、
前記移動先の論理ボリュームを含む移動先のストレージ装置は、前記移動元のストレージ装置と通信可能に接続されることを特徴とする請求項５に記載のストレージシステム。
【請求項８】
前記移動先の論理ボリュームを含む移動先のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続され、
前記移動元の論理ボリュームを含む移動元のストレージ装置は、前記移動先のストレージ装置と通信可能に接続されることを特徴とする請求項５に記載のストレージシステム。
【請求項９】
前記複写の実行後に、前記コンピュータ装置と前記移動元の論理ボリュームとの間に設定されていたアクセス経路を、前記コンピュータ装置と前記移動先の論理ボリュームとの間に設定する経路管理部を備え、
前記コントローラは、前記複写の実行中に、前記設定されたアクセス経路に従って、前記移動元の論理ボリュームに対して前記コンピュータ装置からの書き込み又は読み出し要求を実行し、前記移動先の論理ボリュームのデータを更新することができない入出力処理部を備え、
前記マイグレーション部は、前記移動先の論理ボリュームのうち、前記複写が終了し、かつ、前記更新禁止属性が付された領域のデータを更新することができないことを特徴とする請求項４に記載のストレージシステム。
【請求項１０】
前記移動元の論理ボリュームを含む移動元のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続され、
前記移動先の論理ボリュームを含む移動先のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続されることを特徴とする請求項９に記載のストレージシステム。
【請求項１１】
前記移動元の論理ボリュームを含む移動元のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続され、
前記移動先の論理ボリュームを含む移動先のストレージ装置は、前記移動元のストレージ装置と通信可能に接続されることを特徴とする請求項９に記載のストレージシステム。
【請求項１２】
前記移動先の論理ボリュームを含む移動先のストレージ装置は、前記ネットワークを経由して前記コンピュータ装置に接続され、
前記移動元の論理ボリュームを含む移動元のストレージ装置は、前記移動先のストレージ装置と通信可能に接続されることを特徴とする請求項９に記載のストレージシステム。
【請求項１３】
ネットワークを経由してコンピュータ装置と接続され、
コントローラと、前記コントローラと通信可能に接続されたドライブ装置と、を備え、
前記ドライブ装置は、複数の論理ボリュームを含み、
前記論理ボリュームのうち少なくとも一つに、更新禁止属性が付された領域を含むことを示す更新禁止情報が記録されたストレージ装置に格納されたデータの移動方法において、
前記更新禁止属性が付された論理ボリュームを移動元の論理ボリュームとして設定し、他の論理ボリュームを移動先の論理ボリュームとして設定する第１の手順と、
前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定する第２の手順と、
前記移動元の論理ボリュームのデータを前記移動先の論理ボリュームに複写する第３の手順と、を含むことを特徴とするデータ移動方法。
【請求項１４】
前記第２の手順を実行した後、前記第３の手順を実行する前に、前記コンピュータ装置と前記移動元の論理ボリュームとの間に設定されていたアクセス経路を、前記コンピュータ装置と前記移動先の論理ボリュームとの間に設定する第４の手順を含み、
前記第３の手順は、前記移動先の論理ボリュームのうち、前記更新禁止属性が付された領域への前記コンピュータ装置によるデータの更新を禁止し、前記複写が終了した領域への前記複写によるデータの更新を禁止することを特徴とする請求項１３に記載のデータ移動方法。
【請求項１５】
前記第３の手順を実行した後に、前記コンピュータ装置と前記移動元の論理ボリュームとの間に設定されていたアクセス経路を、前記コンピュータ装置と前記移動先の論理ボリュームとの間に設定する第５の手順を含み、
前記第３の手順は、前記移動先の論理ボリュームへの前記コンピュータ装置によるデータの更新を禁止し、前記移動先の論理ボリュームのうち、前記複写が終了し、かつ、前記更新禁止属性が付された領域への前記複写によるデータの更新を禁止することを特徴とする請求項１３に記載のデータ移動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置のデータ保護に関する。
【背景技術】
【０００２】
近年、企業における業務文書等の長期保存を義務付ける法規制が強化されている。このような業務文書等のデータを保存するストレージ装置には、データの消去や改変を防ぐ機能が要求される。この要求に応えるべく、ＷＯＲＭ機能（Write Once Read Many、更新禁止機能）を備えるストレージ装置が提供されている（例えば、非特許文献１又は非特許文献２参照）。このようなＷＯＲＭ機能を備えるストレージ装置は、ＷＯＲＭ属性が付されたデータを、任意の期間、更新（消去及び改変を含む）されないように保存する。
【０００３】
一方、上記のようにデータの保存が義務付けられると、データの保存期間がストレージ装置の寿命を超える場合が生じる。この場合、古いストレージ装置に保存されたデータを新しいストレージ装置に移動（マイグレーション）させる必要がある。
【０００４】
また、近年、作成から消去に至るまでのデータの全生涯を一貫して管理するＤＬＣＭ（Data LifeCycle Management）という考え方が出現した。ＤＬＣＭに従えば、時間の経過と共にデータの価値が変化すると、その価値に応じたコストのストレージ装置にデータを移動させることが望ましい。
【０００５】
しかし、データのマイグレーションのために、そのストレージ装置を含むコンピュータシステムを停止させると、その期間、業務が停止し、経済的な損失が発生する。このため、システムを停止させずにデータを移動する機能を備えるストレージ装置が提案されている（例えば、特許文献１）。
【特許文献１】特開２００３−１０８３１５号公報
【非特許文献１】EMC Corporation、“EMC Centera”、［online］、［平成１６年５月２８日検索］、インターネット＜ＵＲＬ：http://www.emc.com/pdf/products/centera/centera_guide.pdf＞
【非特許文献２】Network Appliance、“NetApp NearStore”、［online］、［平成１６年５月２８日検索］、インターネット＜ＵＲＬ：http://www.netapp.com/products/nearstore/＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
データのマイグレーションは、移動元のストレージ装置のデータを移動先のストレージ装置に複写することによって実行される。しかし、上述した従来のマイグレーションにおいて、データに付されたＷＯＲＭ属性をデータに付随して複写することは考慮されていない。すなわち、従来のマイグレーションにおいては、データの複写が開始してから終了するまでの間、データが更新されないように保護する手段がない。
【０００７】
また、移動元のストレージ装置のうち、ＷＯＲＭ属性が付されていた領域（例えば、ＷＯＲＭ属性が付されていた論理ボリューム）からデータを削除することができないため、その領域を再利用することができない。
【課題を解決するための手段】
【０００８】
本発明は、ネットワークを経由してコンピュータ装置と接続されるストレージ装置において、コントローラと、前記コントローラと通信可能に接続されたドライブ装置と、を備え、前記ドライブ装置は、複数の論理ボリュームを含み、前記論理ボリュームの少なくとも一つに、更新禁止属性が付された領域を含むことを示す更新禁止情報が記録され、前記コントローラは、前記更新禁止属性が付された論理ボリュームを移動元の論理ボリュームとして設定し、他の論理ボリュームを移動先の論理ボリュームとして設定し、前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定する構成管理部と、前記移動元の論理ボリュームに関する前記更新禁止情報を前記移動先の論理ボリュームに設定した後で、前記移動元の論理ボリュームのデータを前記移動先の論理ボリュームに複写するマイグレーション部と、を含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、マイグレーションが行われる際に、データのＷＯＲＭ属性がデータと共に複写される。このため、複写の実行中も、ＷＯＲＭ属性が付されたデータが更新されないように保護される。さらに、複写前にＷＯＲＭ属性が付されていたデータは、複写の終了後にあらためてＷＯＲＭ属性を付さなくても、複写前と同様に保護される。
【００１０】
また、本発明によれば、データの複写が終了した後、移動元のＷＯＲＭ属性を解除することによって、ＷＯＲＭ属性が付されていた領域を再利用することができる。
【発明を実施するための最良の形態】
【００１１】
本発明を適用したストレージシステムには、三つの形態が考えられる。そこで、最初に、これらの三つの形態のストレージシステムの構成を、図１から図３を参照して説明する。
【００１２】
図１は、本発明の実施の形態において、記憶装置内部でデータのマイグレーション（移動）を行うストレージシステムの構成のブロック図である。
【００１３】
図１のストレージシステムは、記憶装置１０１ａ、ホスト１０２ａ及び管理端末１０３によって構成される。
【００１４】
記憶装置１０１ａとホスト１０２ａとは、ＳＡＮ（Storage Area Network）１０４を介して通信可能に接続される。記憶装置１０１ａとホスト１０２ａとの間では、例えば、ＦＣ（Fibre Channel）プロトコルによって通信される。
【００１５】
ホスト１０２ａは、ＣＰＵ、メモリ、入出力装置等からなるコンピュータであり、ＳＡＮ１０４を介して記憶装置１０１ａにデータＩ／Ｏコマンドを発行する。
【００１６】
記憶装置１０１ａと管理端末１０３とは、ＬＡＮ（Local Area Network）を介して通信可能に接続される。
【００１７】
管理端末１０３は、ＣＰＵ、メモリ、入出力装置等からなるコンピュータであり、ＬＡＮ１０５を介して記憶装置１０１ａに種々の設定をする。これらの設定については、後で詳細に説明する。
【００１８】
記憶装置１０１ａは、コントローラ１０６ａ及びドライブ装置１０７ａによって構成される。
【００１９】
コントローラ１０６ａは、ホスト１０２ａからのＩ／Ｏコマンドを処理して、ドライブ装置１０７ａにデータを書き込み、又は、ドライブ装置１０７ａからデータを読み出す。コントローラ１０６ａは、プロセッサ１０８ａ、メモリ１０９ａ、キャッシュメモリ１１０ａ、外部インターフェース（Ｉ／Ｆ）１１１ａ及びドライブインターフェース１１６ａからなる。
【００２０】
プロセッサ１０８ａは、メモリ１０９ａに格納されたプログラムを実行するＣＰＵである。
【００２１】
メモリ１０９ａは、例えば、半導体メモリであり、プロセッサ１０８ａによって実行されるプログラムを格納する。メモリ１０９ａには、少なくとも、入出力処理プログラム１１２ａ、パス管理プログラム１１３ａ、マイグレーションプログラム１１４ａ及び構成管理プログラム１１５ａが格納される。
【００２２】
入出力処理プログラム１１２ａは、ホスト１０２ａからのデータの書き込み又は読み出しコマンドを処理し、ドライブ装置１０７ａへのデータの書き込み又はドライブ装置１０７ａからのデータの読み出しを制御する。ここで、データの「書き込み」には、新規データの書き込み及び既に書き込まれているデータの更新が含まれる。また、「更新」には、データの消去が含まれる。
【００２３】
パス管理プログラム１１３ａは、アクセスパスの切り替えを制御する。ここで、アクセスパスとは、ホスト１０２ａからいずれかの論理ボリューム（後述）へのデータアクセスの経路である。
【００２４】
マイグレーションプログラム１１４ａは、データのマイグレーションを実行する。すなわち、マイグレーションプログラム１１４ａは、移動元の論理ボリュームのデータを移動先の論理ボリュームに複写する。
【００２５】
構成管理プログラム１１５ａは、ホスト１０２ａ又は管理端末１０３と通信し、ホスト１０２ａ又は管理端末１０３からの指示を受けて、記憶装置１０１ａの構成を管理する。具体的には、例えば、ドライブ装置１０７ａの論理ボリュームを設定し、各論理ボリュームのＷＯＲＭ属性を設定し、マイグレーションを実行するときの移動元及び移動先の論理ボリュームを指定し、アクセスパスの切り替え方法を設定する。
【００２６】
ＷＯＲＭ属性とは、更新禁止属性である。ＷＯＲＭ属性が付された領域では、データの更新が禁止される。
【００２７】
これらのプログラムの動作については、後で詳細に説明する。
【００２８】
キャッシュメモリ１１０ａは、例えば、半導体メモリである。キャッシュメモリ１１０ａには、ホスト１０２ａによってドライブ装置１０７ａに書き込まれるデータ又はホスト１０２ａによってドライブ装置１０７ａから読み出されるデータが一時的に格納される。キャッシュメモリ１１０ａは、ホスト１０２ａに対するデータＩ／Ｏ処理を高速にするために設けられる。従って、データＩ／Ｏ処理を高速化する必要がない場合は、キャッシュメモリ１１０ａを設けなくてもよい。
【００２９】
外部Ｉ／Ｆ１１１ａは、記憶装置１０１ａと他の装置との間の通信を行うインターフェースであり、コントローラ１０６ａに一つ又は複数設けられる。図１においては、三つの外部Ｉ／Ｆ１１１ａが設けられ、それらのうちの一つは、ＳＡＮ１０４を介してホスト１０２ａと接続され、別の一つは、ＬＡＮ１０５を介して管理端末１０３と接続される。ホスト１０２ａと接続される外部Ｉ／Ｆは、例えば、ＦＣインターフェースであり、管理端末１０３と接続される外部Ｉ／Ｆは、例えば、いわゆるＬＡＮアダプタである。
【００３０】
ドライブ装置１０７ａは、複数のディスクドライブによって構成される。ドライブ装置１０７ａは、ディスクアレイ装置でもよい。ドライブ装置１０７ａは、複数の論理ボリューム（ＬＵ）を含む。論理ボリュームとは、論理的に一つのディスクドライブとして扱われる領域であり、物理的には、複数のディスクドライブの各々の一部の領域の集合体であってもよい。
【００３１】
ドライブ装置１０７ａ内の論理ボリュームの少なくとも一つには、ボリューム管理情報１１７ａ及びパス管理情報１１８ａが格納される。本実施の形態では、このボリューム管理情報１１７ａ及びパス管理情報１１８ａが格納される論理ボリュームを管理ボリューム１２１ａとする。また、ドライブ装置１０７ａ内の別の論理ボリュームは、移動元ボリューム１１９であり、さらに別の論理ボリュームは、移動先ボリューム１２０である。
【００３２】
移動元ボリューム１１９及び移動先ボリューム１２０は、本発明のマイグレーションが実行される論理ボリュームである。すなわち、移動元ボリューム１１９のデータが移動先ボリューム１２０に複写される。これらのように、マイグレーションにおいて対になる論理ボリュームを、マイグレーションペアとする。
【００３３】
例えば、移動元ボリューム１１９は、品質保証期限が近い、古いディスクドライブによって構成され、移動先ボリューム１２０は、新しいディスクドライブによって構成される。移動元ボリューム１１９のデータを移動先ボリューム１２０に複写すれば、データを、ディスクドライブの品質保証期限を超えて保管することができる。
【００３４】
また、例えば、移動元ボリューム１１９は、高性能でコストも高いディスクドライブによって構成され、移動先ボリューム１２０は、コストが低く、性能も低いディスクドライブによって構成される。移動元ボリューム１１９のデータを移動先ボリューム１２０に複写すれば、価値が低下したデータを、その価値に見合った低コストのディスクドライブに保管することができる。また、この複写によって空いた移動元ボリューム１１９の領域には、価値の高い別のデータを保管することができる。
【００３５】
ボリューム管理情報１１７ａは、ドライブ装置１０７ａ内の全ての論理ボリュームについての管理情報である。ボリューム管理情報１１７ａには、例えば、各論理ボリュームの容量及びＷＯＲＭ属性の有無の情報が含まれる。また、ボリューム管理情報１１７ａには、各論理ボリュームがマイグレーションの対象になっているか否かの情報が含まれる。さらに、ボリューム管理情報１１７ａには、マイグレーションの対象になっている論理ボリュームと対になる論理ボリュームの識別子の情報が含まれる。
【００３６】
パス管理情報１１８ａは、ホスト１０２ａから要求されたデータの書き込み又は読み出しを実行するパスを管理する情報である。すなわち、ホスト１０２ａからデータの書き込み又は読み出し要求があったときに、その書き込み又は読み出しを実行する対象の論理ボリュームが、パス管理情報１１８ａに従って選択される。
【００３７】
ボリューム管理情報１１７ａ及びパス管理情報１１８ａの内容については、後で詳細に説明する。
【００３８】
図２は、本発明の実施の形態において、ネットワークを介して接続された記憶装置の間でマイグレーションを行うストレージシステムの構成のブロック図である。
【００３９】
図２のストレージシステムは、図１の構成に記憶装置１０１ｂを追加した構成である。記憶装置１０１ｂは、ＳＡＮ１０４及びＬＡＮ１０５に接続され、ホスト１０２ｂ、管理端末１０３及び記憶装置１０１ａと通信することができる。
【００４０】
記憶装置１０１ａの構成は、図１において説明した通りである。記憶装置１０１ｂの構成は、記憶装置１０１ａと同じである。ただし、移動元ボリューム２０１は、記憶装置１０１ａのドライブ装置１０７ａに格納され、移動元ボリューム２０１と対になる移動先ボリューム２０２は、記憶装置１０１ｂのドライブ装置１０７ｂに格納される。
【００４１】
図２のホスト１０２ｂは、図１のホスト１０２ａと同様に、ＣＰＵ、メモリ、入出力装置等からなるコンピュータであり、ＳＡＮ１０４を介して記憶装置１０１ａにデータＩ／Ｏコマンドを発行する。さらに、ホスト１０２ｂのメモリには、ホストパス管理プログラム２０３及びホストパス管理情報２０４が格納される。
【００４２】
ホストパス管理プログラム２０３は、ＣＰＵによって実行されるプログラムであり、パス管理プログラム１１３と同様の機能を備える。
【００４３】
ホストパス管理情報２０４は、パス管理情報１１８と同様の情報を含む。
【００４４】
ホストパス管理プログラム２０３及びホストパス管理情報２０４については、後で詳細に説明する。
【００４５】
図３は、本発明の実施の形態において、直接接続された記憶装置の間でマイグレーションを行うストレージシステムの構成のブロック図である。
【００４６】
図３のストレージシステムは、図１の構成に記憶装置１０１ｃを追加した構成である。記憶装置１０１ｃは、記憶装置１０１ａ及びＬＡＮ１０５に接続される。その結果、記憶装置１０１ｃは、記憶装置１０１ａと直接通信することができ、また、管理端末１０３とＬＡＮ１０５を経由して通信することができる。
【００４７】
記憶装置１０１ａと記憶装置１０１ｃとの間の接続３０３の上では、例えば、ＦＣプロトコルによってデータが通信される。
【００４８】
記憶装置１０１ａの構成は、図１において説明した通りである。記憶装置１０１ｃの構成は、記憶装置１０１ａと同じである。ただし、移動元ボリューム３０１は、記憶装置１０１ａのドライブ装置１０７ａに格納され、移動元ボリューム３０１と対になる移動先ボリューム３０２は、記憶装置１０１ｃのドライブ装置１０７ｃに格納される。
【００４９】
なお、移動元ボリューム３０１が記憶装置１０１ｃのドライブ装置１０７ｃに格納され、移動先ボリューム３０２が記憶装置１０１ａのドライブ装置１０７ａに格納される構成にも本発明を適用することができる。
【００５０】
図１から図３に示すストレージシステムは、一つのストレージシステムとして構成することもできる（図示省略）。すなわち、図１に示すストレージシステムに、記憶装置１０１ｂを、図２に示すように接続し、さらに、記憶装置１０１ｃを、図３に示すように接続する。
【００５１】
このとき、ＳＡＮ１０４には、ホスト１０２ａ、１０２ｂ及び１０２ｃが接続される。記憶装置１０１ａのドライブ装置１０７ａには、移動元ボリューム１１９、２０１及び３０１が格納される。ドライブ装置１０７ａには、さらに、移動元ボリューム１１９と対になる移動先ボリューム１２０が格納される。記憶装置１０１ｂのドライブ装置１０７ｂには、移動元ボリューム２０１と対になる移動先ボリューム２０２が格納される。記憶装置１０１ｃのドライブ装置１０７ｃには、移動元ボリューム３０１と対になる移動先ボリューム３０２が格納される。
【００５２】
次に、本発明によるＷＯＲＭ属性が反映されたマイグレーションの動作の概要を、図４及び図５を参照して説明する。この動作は、図１から図３のストレージシステムにおいて共通である。
【００５３】
本発明において、移動元の論理ボリュームのデータのうち、ＷＯＲＭ属性が付された（すなわち、更新が禁止された）データには、移動先の論理ボリュームに複写された後、移動先の論理ボリュームにおいても、ＷＯＲＭ属性が付される。さらに、複写の実行中にホスト１０２からのアクセスがあった場合も、ＷＯＲＭ属性が付されたデータは、更新されない。このとき、ホスト１０２からのアクセスパスを移動先の論理ボリュームに対して設定する場合（図４）と、移動元の論理ボリュームに対して設定する場合（図５）とで、制御の方法が異なる。
【００５４】
図４は、本発明の実施の形態において、マイグレーションの際のデータの複写前にアクセスパス（アクセス経路）を切り替える方式（複写前切替方式）の説明図である。
【００５５】
マイグレーションが実行される前は、ホスト１０２からのアクセスパスは、移動元ボリューム４０１に設定されている。すなわち、ホスト１０２からのアクセスは、移動元ボリューム４０１に対して行われる。移動元ボリューム４０１は、ＷＯＲＭ属性が付されている領域（更新禁止領域４０１２）及びＷＯＲＭ属性が付されていない領域（更新可能領域４０１１及び４０１３）からなる。なお、図４において、斜線部は、ＷＯＲＭ属性が付された領域である。
【００５６】
ホスト１０２は、移動元ボリューム４０１の全ての領域のデータを読み出すことができる。さらに、ホスト１０２は、更新可能領域４０１１及び４０１３のデータを更新することができる。しかし、ホスト１０２は、更新禁止領域４０１２のデータを更新することができない。更新禁止領域４０１２のデータは、ＷＯＲＭ機能によって保護されているためである。
【００５７】
マイグレーションが開始すると、マイグレーションプログラム（ＭＰ）１１４がデータを複写する前に、パス管理プログラム１１３が、ホスト１０２からのアクセスパスを移動先ボリューム４０２に切り替える。すなわち、以後のホスト１０２は、移動先ボリューム４０２に対してアクセスする。
【００５８】
図４の移動先ボリューム４０２は、マイグレーションプログラム１１４によるデータの複写が完了していない状態を示す。移動先ボリューム４０２は、複写完了更新可能領域４０２１、複写完了更新禁止領域４０２２、複写未了更新禁止領域４０２３及び複写未了更新可能領域４０２４からなる。
【００５９】
複写完了更新可能領域４０２１には、ＷＯＲＭ属性が付されていないため、ホスト１０２は、データを更新することができる。しかし、データの複写は完了しているため、マイグレーションプログラム１１４は、複写完了更新可能領域４０２１のデータを更新することができない。
【００６０】
複写完了更新禁止領域４０２２には、ＷＯＲＭ属性が付されており、データの複写も完了している。このため、ホスト１０２及びマイグレーションプログラム１１４のいずれも、複写完了更新禁止領域４０２２のデータを更新することができない。
【００６１】
複写未了更新禁止領域４０２３には、ＷＯＲＭ属性が付されているため、ホスト１０２は、データを更新することができない。一方、データの複写が完了していないため、マイグレーションプログラム１１４は、データの複写を完了するために、複写未了更新禁止領域４０２３にデータを書き込むことができる。
【００６２】
複写未了更新可能領域４０２４には、ＷＯＲＭ属性が付されておらず、データの複写が完了していない。このため、ホスト１０２及びマイグレーションプログラム１１４のいずれも、複写未了更新可能領域４０２４にデータを書き込むことができる。
【００６３】
移動先ボリューム４０２全体についてデータの複写が完了すると、移動元ボリューム４０１のＷＯＲＭ属性が解除される。その結果、移動元ボリューム４０１のデータを消去できるようになる。
【００６４】
図５は、本発明の実施の形態において、マイグレーションの際のデータの複写後にアクセスパスを切り替える方式（複写後切替方式）の説明図である。
【００６５】
移動元ボリューム５０１を構成する更新可能領域５０１１、５０１３及び更新禁止領域５０１２は、それぞれ、図４の移動元ボリューム４０１を構成する更新可能領域４０１１、４０１３及び更新禁止領域４０１２と同等である。また、マイグレーション実行前の移動元ボリューム５０１へのホスト１０２からのアクセスの制御も、図４と同等である。
【００６６】
図５において、マイグレーションが開始すると、マイグレーションプログラム１１４が移動元ボリューム５０１のデータを移動先ボリューム５０２に複写する。この複写が完了するまで、パス管理プログラム１１３は、ホスト１０２からのアクセスパスを切り替えない。従って、複写が完了する前は、ホスト１０２は、移動元ボリューム５０１にアクセスする。
【００６７】
図５の移動先ボリューム５０２は、マイグレーションプログラム（ＭＰ）１１４によるデータの複写が完了していない状態を示す。すなわち、移動先ボリューム５０２は、複写完了更新可能領域５０２１、複写完了更新禁止領域５０２２、複写未了更新禁止領域５０２３及び複写未了更新可能領域５０２４からなる。
【００６８】
データの複写が完了するまでは、ホスト１０２からのアクセスパスが切り替えられないため、ホスト１０２は、移動先ボリューム５０２にアクセスすることがない。しかし、アクセスパスが不正に切り替えられた場合や、ホストからの不正なアクセスがあった場合にも、移動先ボリュームのデータを保護する必要がある。このため、アクセスパスが切り替えられるまでは、移動先ボリューム５０２全体へのホスト１０２からのデータの書き込みが禁止される。
【００６９】
複写完了更新可能領域５０２１には、データの複写が完了している。しかし、ＷＯＲＭ属性が付されていないため、アクセスパスが切り替えられる前に、更新可能領域５０１１のデータがホスト１０２によって更新される場合がある。この場合、更新されたデータを再度複写完了更新可能領域５０２１に複写する必要がある。このため、マイグレーションプログラム１１４は、複写完了更新可能領域５０２１のデータを更新することができる。
【００７０】
複写完了更新禁止領域５０２２には、データの複写が完了している。また、ＷＯＲＭ属性が付されているため、更新禁止領域５０１２のデータが更新されることはない。このため、マイグレーションプログラム１１４は、複写完了更新禁止領域５０２２のデータを更新することができない。
【００７１】
複写未了更新禁止領域５０２３には、データの複写が完了していないため、マイグレーションプログラム１１４は、データの複写を完了するために、複写未了更新禁止領域５０２３にデータを書き込むことができる。
【００７２】
複写未了更新可能領域５０２４には、データの複写が完了していない。このため、マイグレーションプログラム１１４は、データの複写を完了するために、複写未了更新可能領域５０２４にデータを書き込むことができる。
【００７３】
次に、図４及び図５に示した動作を実現する本発明の実施の形態のストレージシステムの詳細な構成を説明する。
【００７４】
図６は、本発明の実施の形態の一つの記憶装置のボリューム管理情報の説明図である。
【００７５】
図６は、記憶装置１０１ａのボリューム管理情報１１７ａの内容を示す。
【００７６】
図６において、内部ＬＵＮ６０１は、ドライブ装置１０７ａに存在する論理ボリュームを一意に識別する識別子である。図６の例では、ドライブ装置１０７ａには５個の論理ボリュームが存在し、それぞれ、「０」から「４」までの内部ＬＵＮ６０１が付されている。以下、内部ＬＵＮ６０１が「０」である論理ボリュームを「論理ボリューム０」と記載する。他の内部ＬＵＮ６０１の論理ボリュームについても、同様に記載する。
【００７７】
図６の例では、論理ボリューム０、１、２、３及び４は、それぞれ、マイグレーションの対象外のボリューム（図示省略）、移動元ボリューム１１９、移動先ボリューム１２０、移動元ボリューム２０１及び移動元ボリューム３０１に対応する。
【００７８】
容量６０２は、各論理ボリュームのデータ容量を表す。
【００７９】
Ｉ／Ｏ制御種別６０３は、各論理ボリュームの全部又は一部にＷＯＲＭ属性が付されているか否かを示す。図６の例において、論理ボリューム０のＩ／Ｏ制御種別６０３は、「通常」である。このことは、論理ボリューム０にＷＯＲＭ属性が付されていないことを示す。一方、論理ボリューム１のＩ／Ｏ制御種別６０３は、「ＷＯＲＭ」である。このことは、論理ボリューム１の全部又は一部にＷＯＲＭ属性が付されていることを示す。論理ボリューム２から４も、論理ボリューム１と同様にＷＯＲＭ属性が付されている。
【００８０】
ＷＯＲＭ単位６０４は、ＷＯＲＭ属性が付される単位を示す。図６の例において、論理ボリューム１のＷＯＲＭ単位６０４は、「セクタ」である。このことは、論理ボリューム１のＷＯＲＭ属性がセクタごとに付されていることを示す。すなわち、論理ボリューム１の一部のセクタにＷＯＲＭ属性が付されており、残りのセクタにはＷＯＲＭ属性が付されていなくてもよい。また、論理ボリューム１の全てのセクタにＷＯＲＭ属性が付されていてもよい。論理ボリューム２及び３も、論理ボリューム１と同様に、セクタごとにＷＯＲＭ属性が付されている。
【００８１】
一方、図６の例において、論理ボリューム４のＷＯＲＭ単位６０４は、「ボリューム」である。このことは、論理ボリューム４の全部にＷＯＲＭ属性が付されていることを示す。
【００８２】
なお、論理ボリューム０にはＷＯＲＭ属性が付されていないため、論理ボリューム０のＷＯＲＭ単位６０４は、空欄である。
【００８３】
マイグレーション状態６０５は、各論理ボリュームについてマイグレーションが実行されているか否か、及び、データの移動元であるか移動先であるかを示す。図６の例において、論理ボリューム０のマイグレーション状態６０５が「無」であることは、論理ボリューム０について、マイグレーションが実行されていないことを示す。一方、論理ボリューム１のマイグレーション状態６０５が「移動元」であることは、論理ボリューム１についてマイグレーションが実行されており、かつ、論理ボリューム１がデータの移動元であることを示す。論理ボリューム３及び４も、論理ボリューム１と同様である。
【００８４】
一方、論理ボリューム２のマイグレーション状態６０５が「移動先」であることは、論理ボリューム２についてマイグレーションが実行されており、かつ、論理ボリューム２がデータの移動先であることを示す。
【００８５】
なお、移動先ボリューム３０２が記憶装置１０１ａに論理ボリューム４として格納され、移動元ボリューム３０１が記憶装置１０１ｃに格納される構成の場合、論理ボリューム４のマイグレーション状態６０５は、「移動先」となる。
【００８６】
マイグレーションペアＬＵＮ６０６は、マイグレーションにおいて各論理ボリュームと対になる論理ボリュームを示す。図６の例において、論理ボリューム０ではマイグレーションが実行されていないため、論理ボリューム０のマイグレーションペアＬＵＮ６０６は、空欄である。
【００８７】
一方、論理ボリューム１のマイグレーションペアＬＵＮ６０６は、「内部ＬＵ（ＬＵＮ＝２）」である。これは、マイグレーションにおいて論理ボリューム１と対になる論理ボリュームが、ドライブ装置１０７ａの内部にあり、その内部ＬＵＮが「２」であることを示す。すなわち、論理ボリューム２が論理ボリューム１と対になることを示す。従って、論理ボリューム２のマイグレーションペアＬＵＮ６０６は、「内部ＬＵ（ＬＵＮ＝１）」である。
【００８８】
論理ボリューム１のマイグレーション状態６０５が「移動元」であり、論理ボリューム２のマイグレーション状態６０５が「移動先」であるため、論理ボリューム１のデータが論理ボリューム２に複写される。
【００８９】
論理ボリューム３のマイグレーションペアＬＵＮ６０６は、「記憶装置１０１ｂ（ＬＵＮ＝１）」である。これは、マイグレーションにおいて、論理ボリューム３が、記憶装置１０１ａとＳＡＮ１０４及びＬＡＮ１０５を介して接続された記憶装置１０１ｂ内の論理ボリューム１と対になることを示す（図２参照）。論理ボリューム３のマイグレーション状態６０５が「移動元」であるため、論理ボリューム３のデータが記憶装置１０１ｂの論理ボリューム１に複写される。
【００９０】
論理ボリューム４のマイグレーションペアＬＵＮ６０６は、「記憶装置１０１ｃ（ＬＵＮ＝３）」である。これは、マイグレーションにおいて、論理ボリューム４が、記憶装置１０１ａと直接接続された記憶装置１０１ｃ内の論理ボリューム３と対になることを示す（図３参照）。論理ボリューム４のマイグレーション状態６０５が「移動元」であるため、論理ボリューム４のデータが記憶装置１０１ｃの論理ボリューム３に複写される。
【００９１】
なお、論理ボリューム４のマイグレーション状態６０５が「移動先」である場合、記憶装置１０１ｃの論理ボリューム３のデータが記憶装置１０１ａの論理ボリューム４に複写される。
【００９２】
パス切替６０７は、ホストからのアクセスパスの設定の状態を示す。図６の例において、論理ボリューム０ではマイグレーションが実行されていないため、論理ボリューム０のパス切替６０７は空欄である。
【００９３】
論理ボリューム１及びこれと対になる論理ボリューム２のパス切替６０７は、「未」である。これは、ホストからのアクセスパスが、まだ移動先の論理ボリューム（すなわち、論理ボリューム２）に切り替えられていないことを示す。すなわち、ホストからのアクセスパスは、移動元の論理ボリューム（すなわち、論理ボリューム１）に設定されている。従って、現時点でホスト１０２からアクセス要求（データ書き込み又は読み出し要求）があった場合、論理ボリューム１に対してアクセスされる。
【００９４】
論理ボリューム３のパス切替６０７は、「未」である。これは、ホストからのアクセスパスが、まだ移動先の論理ボリューム（すなわち、記憶装置１０１ｂの論理ボリューム１）に切り替えられていないことを示す。すなわち、ホストからのアクセスパスは、移動元の論理ボリューム（すなわち、論理ボリューム３）に設定されている。従って、現時点でホスト１０２からアクセス要求があった場合、論理ボリューム３に対してアクセスされる。
【００９５】
論理ボリューム４のパス切替６０７は、「済」である。これは、ホストからのアクセスパスが、既に移動先の論理ボリューム（すなわち、記憶装置１０１ｃの論理ボリューム３）に切り替えられたことを示す。すなわち、ホストからのアクセスパスは、移動先の論理ボリュームに設定されている。従って、現時点でホスト１０２からアクセス要求があった場合、記憶装置１０１ｃの論理ボリューム３に対してアクセスされる。
【００９６】
ＷＯＲＭ属性６０８は、各論理ボリュームに付されたＷＯＲＭ属性を示す。具体的には、ＷＯＲＭ属性６０８は、各論理ボリュームに付されたＷＯＲＭ属性を示す情報（ＷＯＲＭ属性情報６０９１〜６０９３）のポインタである。
【００９７】
ＷＯＲＭ属性情報６０９１〜６０９３は、ボリューム管理情報１１７ａに含まれる情報であり、各論理ボリュームに付されたＷＯＲＭ属性に関する情報を含む。ＷＯＲＭ属性情報については、図７で詳細に説明する。
【００９８】
上述のように、論理ボリューム０にはＷＯＲＭ属性が付されていないため、論理ボリューム０のＷＯＲＭ属性６０８は、空欄である。
【００９９】
論理ボリューム１のＷＯＲＭ属性６０８は、ＷＯＲＭ属性情報（１）６０９１を指す。すなわち、ＷＯＲＭ属性情報（１）６０９１は、論理ボリューム１に付されたＷＯＲＭ属性の情報を含む。
【０１００】
論理ボリューム２は、論理ボリューム１のデータの移動先であるため、論理ボリューム２には、論理ボリューム１と同一のＷＯＲＭ属性が付される。従って、論理ボリューム２のＷＯＲＭ属性６０８は、ＷＯＲＭ属性情報（１）６０９１を指す。
【０１０１】
同様にして、論理ボリューム３のＷＯＲＭ属性６０８は、ＷＯＲＭ属性情報（２）６０９２を指し、論理ボリューム４のＷＯＲＭ属性６０８は、ＷＯＲＭ属性情報（３）６０９３を指す。
【０１０２】
以上のボリューム管理情報１１７ａの内容は、管理端末１０３がＬＡＮ１０５を経由して設定してもよいし、ホスト１０２がＳＡＮ１０４を経由して設定してもよい。
【０１０３】
図７は、本発明の実施の形態のＷＯＲＭ属性情報の説明図である。
【０１０４】
図７は、ＷＯＲＭ属性情報の例として、ＷＯＲＭ属性情報（１）６０９１の内容を示す。ＷＯＲＭ属性情報（１）６０９１は、ＷＯＲＭセクタ範囲情報７０１及び履歴情報７０４を含む。
【０１０５】
ＷＯＲＭセクタ範囲情報７０１は、論理ボリューム１のＷＯＲＭ属性が付されたセクタを示す。ＷＯＲＭセクタ範囲情報７０１に示すＷＯＲＭ領域とは、ＷＯＲＭ属性が付された更新禁止領域である。すなわち、ホスト１０２は、ＷＯＲＭ領域内のセクタのデータを更新することができない。開始番地７０２は、各ＷＯＲＭ領域の先頭のセクタの番地である。終了番地７０３は、各ＷＯＲＭ領域の末尾のセクタの番地である。例えば、ＷＯＲＭ領域１は、５０番目の番地のセクタから１００番目の番地のセクタまでの範囲である。従って、ホスト１０２は、この範囲内の番地のセクタのデータを更新することができない。
【０１０６】
なお、ＷＯＲＭセクタ範囲情報７０１は、各セクタごとのＷＯＲＭ属性の有無を示すフラグからなるビットマップであってもよい。
【０１０７】
履歴情報７０４は、論理ボリューム１の過去のマイグレーションの履歴を示す。
【０１０８】
図７において、日付７０５及び時刻７０６は、それぞれ、論理ボリュームの新規作成等が実行された日付及び時刻を示す。装置７０７及びＬＵＮ７０８は、それぞれ、論理ボリュームの新規作成等が実行された装置の識別子及び論理ボリュームの識別子を示す。状態７０９は、論理ボリュームの状態（例えば、新規作成、マイグレーション開始等）を示す。
【０１０９】
図７の例では、論理ボリューム１は、２００４年４月２６日の０時１１分２２秒に、装置ＺＺＺに、論理ボリューム０として新規作成された。続いて、２００４年５月２８日の１１時３３分２２秒に、この論理ボリュームから装置ＺＺＺの論理ボリューム３へのマイグレーションが開始し、２００４年５月２８日の１３時３３分１２秒に、そのマイグレーションが終了した。さらに、２００４年６月２５日の４時２２分３２秒に、この論理ボリュームから装置ＡＡＡの論理ボリューム１へのマイグレーションが開始し、２００４年６月２５日の６時２分３０秒に、そのマイグレーションが終了した。
【０１１０】
ホスト１０２は、履歴情報７０４を参照することによって、取得しようとするデータが現在どの論理ボリュームに存在するかを知ることができる。
【０１１１】
さらに、ある装置に格納されたデータが別の装置にマイグレーションされて確実に保存されていることが、履歴情報７０４によって証明される。
【０１１２】
論理ボリューム３に関するＷＯＲＭ属性情報（２）６０９２及び論理ボリューム４に関するＷＯＲＭ属性情報（３）６０９３も、ＷＯＲＭ属性情報（１）６０９１と同様に、ＷＯＲＭセクタ範囲情報及び履歴情報を含む（図示省略）。これらの内容は、それぞれ、ＷＯＲＭセクタ範囲情報７０１及び履歴情報７０４と同様に設定されるため、説明を省略する。
【０１１３】
ＷＯＲＭ属性情報は、マイグレーションの移動先の論理ボリュームが他の記憶装置にあるときは、その記憶装置のボリューム管理情報１１７に複写される。例えば、論理ボリューム３の移動先は、記憶装置１０１ｂである。このため、ＷＯＲＭ属性情報（２）６０９２は、記憶装置１０１ｂのボリューム管理情報１１７ｂに複写される。一方、論理ボリューム４の移動先は、記憶装置１０１ｃである。このため、ＷＯＲＭ属性情報（３）６０９３は、記憶装置１０１ｃのボリューム管理情報１１７ｃに複写される。
【０１１４】
このようにＷＯＲＭ属性情報が複写されることによって、マイグレーションの実行中にも、ＷＯＲＭ属性が付されたデータを保護することができる。
【０１１５】
図８は、本発明の実施の形態の別の記憶装置のボリューム管理情報の説明図である。
【０１１６】
図８は、記憶装置１０１ｂのボリューム管理情報１１７ｂの内容を示す。
【０１１７】
図８において、図６のボリューム管理情報１１７ａと共通する部分については、詳細な説明を省略する。
【０１１８】
図８の論理ボリューム１は、図６の論理ボリューム３の移動先である。すなわち、論理ボリューム１は、図２の移動先ボリューム２０２に対応する。このため、容量６０２、Ｉ／Ｏ制御種別６０３、ＷＯＲＭ単位６０４及びパス切替６０７は、図６の論理ボリューム３と同じである。また、マイグレーション状態６０５は「移動先」、マイグレーションペアＬＵＮ６０６は「記憶装置１０１ａ（ＬＵＮ＝３）」である。さらに、ＷＯＲＭ属性６０８は、ＷＯＲＭ属性情報（２）８０９を指す。このＷＯＲＭ属性情報（２）８０９は、図６のＷＯＲＭ属性情報（２）６０９２の複写である。
【０１１９】
図９は、本発明の実施の形態のさらに別の記憶装置のボリューム管理情報の説明図である。
【０１２０】
図９は、記憶装置１０１ｃのボリューム管理情報１１７ｃの内容を示す。
【０１２１】
図９において、図６のボリューム管理情報１１７ａと共通する部分については、詳細な説明を省略する。
【０１２２】
図９の論理ボリューム３は、図６の論理ボリューム４の移動先である。すなわち、論理ボリューム３は、図３の移動先ボリューム３０２に対応する。このため、容量６０２、Ｉ／Ｏ制御種別６０３、ＷＯＲＭ単位６０４及びパス切替６０７は、図６の論理ボリューム４と同じである。また、マイグレーション状態６０５は「移動先」、マイグレーションペアＬＵＮ６０６は「記憶装置１０１ａ（ＬＵＮ＝４）」である。さらに、ＷＯＲＭ属性６０８は、ＷＯＲＭ属性情報（３）９０９を指す。このＷＯＲＭ属性情報（３）９０９は、図６のＷＯＲＭ属性情報（３）６０９３の複写である。
【０１２３】
なお、図９の論理ボリューム３が図６の論理ボリューム４の移動元である場合、マイグレーション状態６０５は「移動元」となる。
【０１２４】
図１０は、本発明の実施の形態のパス管理情報の説明図である。
【０１２５】
マイグレーション実行中の論理ボリュームは、移動元の論理ボリュームと移動先の論理ボリュームとで一つのマイグレーションペアを構成する。ホスト１０２は、一つのマイグレーションペアを一つの論理ボリュームと認識する。従って、マイグレーション実行中の論理ボリュームにホスト１０２からのアクセスがあった場合に、どちらの論理ボリュームにアクセスパスを設定するか選択する必要がある。
【０１２６】
パス管理プログラム１１２は、ホスト１０２からのアクセスがあったときに、パス管理情報１１８を参照して、アクセスパスを選択し、選択されたアクセスパスに切り替える。パス管理情報１１８には、パス管理プログラム１１２がアクセスパスを選択するために必要な情報が格納される。
【０１２７】
ただし、図２に示すように、移動元ボリューム２０１と移動先ボリューム２０２が異なる記憶装置１０１に含まれ、それぞれの記憶装置１０１がホスト１０２と接続されている場合、記憶装置１０１内のパス管理プログラム１１３は、ホスト１０２からのアクセスパスを切り替えることができない。このため、ホスト１０２ｂは、パス管理プログラム１１３と同等の機能を備えるホストパス管理プログラム２０３と、パス管理情報１１８と同等の情報を含むホストパス管理情報２０４とを有する。
【０１２８】
図１０は、記憶装置１０１ａのパス管理情報１１８ａの内容を示す。パス管理情報１１８ｂ、１１８ｃ及びホストパス管理情報２０４も図１０と同様の内容を含む。
【０１２９】
図１０において、一つの行は、一つのマイグレーションペアに対応する。ただし、マイグレーションが実行されていない論理ボリュームに関しては、一つの行が一つの論理ボリュームに対応する。
【０１３０】
図１０の例において、行１０１０は、記憶装置１０１ａの論理ボリューム０（図示省略）に対応する。行１０１１は、記憶装置１０１ａの論理ボリューム１と論理ボリューム２とからなるマイグレーションペア（すなわち、移動元ボリューム１１９及び移動先ボリューム１２０）に対応する。行１０１２は、記憶装置１０１ａの論理ボリューム３と記憶装置１０１ｂの論理ボリューム１とからなるマイグレーションペア（すなわち、移動元ボリューム２０１及び移動先ボリューム２０２）に対応する。行１０１３は、記憶装置１０１ａの論理ボリューム４と記憶装置１０１ｃの論理ボリューム３とからなるマイグレーションペア（すなわち、移動元ボリューム３０１及び移動先ボリューム３０２）に対応する。
【０１３１】
図１０において、ポート番号１００１は、ホスト１０２からのアクセスを受けるＩ／Ｆ１１１を識別する番号である。
【０１３２】
ホストＩＤ１００２は、各行に対応する論理ボリューム（又はマイグレーションペア）にアクセスするホスト１０２の識別子である。図１０の例において、識別子「ＡＡＡ」、「ＢＢＢ」及び「ＣＣＣ」は、それぞれ、ホスト１０２ａ、１０２ｂ及び１０２ｃの識別子である。
【０１３３】
ホストＬＵＮ１００３は、ホスト１０２が認識する各論理ボリュームの識別子である。ただし、マイグレーションペアを構成する二つの論理ボリュームは、ホストからは一つの論理ボリュームとして認識される。このため、一つのマイグレーションペアに一つのホストＬＵＮが付される。また、ホスト１０２は、そのホスト１０２がアクセスする論理ボリューム（又はマイグレーションペア）のみを一意に識別すればよい。このため、別のホスト１０２からアクセスされる論理ボリューム（又はマイグレーションペア）には、同じホストＬＵＮ１００３が付されてもよい。
【０１３４】
内部ＬＵＮ１００４は、各論理ボリューム（又はマイグレーションペア）を記憶装置１０１ａ内で一意に識別する識別子である。
【０１３５】
マイグレーション状態１００５は、各論理ボリューム（又はマイグレーションペア）がマイグレーション実行中であるか否かを示す。マイグレーション状態１００５が「○」である論理ボリューム（又はマイグレーションペア）は、マイグレーション実行中である。
【０１３６】
移動元１００６は、マイグレーションペアのうち、移動元の論理ボリュームの所在及び識別子を示す。
【０１３７】
移動先１００７は、マイグレーションペアのうち、移動先の論理ボリュームの所在及び識別子を示す。
【０１３８】
パス切替１００８は、各マイグレーションペアについて、ホスト１０２からのアクセスパスが切り替えられたか否かを示す。パス切替１００８が「未」であるマイグレーションペアのアクセスパスは、移動元の論理ボリュームに設定され、パス切替１００８が「済」であるマイグレーションペアのアクセスパスは、移動先の論理ボリュームに設定されている。
【０１３９】
進捗度１００９は、マイグレーションの進捗の程度を示す。具体的には、進捗度１００９は、複写済みビットマップのポインタである。
【０１４０】
複写済みビットマップ１０１４〜１０１６は、論理ボリュームのセクタの複写が終了したか否かを示す複写済みフラグからなる。このフラグは、セクタごとに設けられてもよいが、その場合、複写済みビットマップ１０１４〜１０１６自体のデータ量が多くなる。このため、複数セクタごとに一つの複写済みフラグを設けてもよい。以下、一つの複写済みフラグに対応する複数セクタを、マイグレーションブロックと記載する。例えば、１２８個のセクタが一つのマイグレーションブロックを構成してもよい。このとき、１セクタの容量が０．５ＫＢ（キロバイト）であれば、一つのマイグレーショングループのデータ量は、６４ＫＢである。
【０１４１】
移動元ボリュームのデータは、順次、移動先ボリュームに複写される。この複写が開始する前は、複写済みビットマップ１０１４〜１０１６の全ての複写済みフラグの値は、「複写未済」を示す。一つのマイグレーションブロックのデータの複写が終了すると、そのマイグレーションブロックに対応する複写済みフラグが「複写済み」を示す値に変更される。
【０１４２】
複写済みビットマップ１０１４〜１０１６の全ての複写済みフラグが「複写済み」を示す値となったときに、移動元ボリュームから移動先ボリュームへの全てのデータの複写が終了する。
【０１４３】
なお、移動先ボリューム３０２が記憶装置１０１ａに論理ボリューム４として格納され、移動元ボリューム３０１が記憶装置１０１ｃに論理ボリューム３として格納される構成の場合、行１０１３の移動元１００６は、「記憶装置１０１ｃ（ＬＵＮ＝３）」となり、移動先１００７は、「内部ＬＵ（ＬＵＮ＝４）」となる。
【０１４４】
次に、図１から図３に示す本発明の実施の形態のストレージシステムの各部の動作を説明する。図１から図３に示すストレージシステムの動作は、基本的には共通であるが、一部に特有の動作がある。以下、共通の動作について説明し、特有の動作について説明する場合は、その旨を明示する。
【０１４５】
図１１は、本発明の実施の形態のストレージシステムのマイグレーション開始処理のフローチャートである。
【０１４６】
図１１は、記憶装置１０１ａ内の論理ボリュームを記憶装置１０１ａ内の別の論理ボリューム又は別の記憶装置内の論理ボリュームに移動（マイグレーション）するときに実行される処理を示す。
【０１４７】
マイグレーション開始処理が開始すると（１１０１）、ホスト１０２又は管理端末１０３が、移動元の論理ボリューム（ＬＵ）を含む記憶装置１０１ａの構成管理プログラム１１５ａに対して、移動元論理ボリュームの所在と識別子、移動先論理ボリュームの所在と識別子、及びパス切替方式を設定する（１１０２）。ここで、パス切替方式とは、図４で説明した複写前切替方式又は図５で説明した複写後切替方式のいずれかである。
【０１４８】
次に、構成管理プログラム１１５ａは、設定された移動先ボリュームにＷＯＲＭ属性が付されているセクタが含まれるか否かを調査する（１１０３）。移動先ボリュームにＷＯＲＭ属性が付されているセクタが含まれる場合、当該セクタのデータを更新することができない。従って、当該移動先ボリュームに対してマイグレーションを実行することができない。このため、構成管理プログラム１１５ａは、ホスト１０２又は管理端末１０３に、マイグレーションを実行することができない旨を通知する（１１０４）。そして、マイグレーション開始処理が異常終了する（１１０５）。
【０１４９】
一方、移動先ボリュームにＷＯＲＭ属性が付されているセクタが含まれていない場合は、移動先ボリュームのデータを更新することができる。このため、当該移動先ボリュームに対してマイグレーションを実行することができる。このため、構成管理プログラム１１５ａは、次に、移動先論理ボリュームが同一の記憶装置１０１ａ内の論理ボリュームであるか否かを判定する（１１０６）。
【０１５０】
移動先論理ボリュームが同一の記憶装置１０１ａ内の論理ボリュームである場合、構成管理プログラム１１５ａは、ボリューム管理情報１１７ａの移動先ボリュームのＷＯＲＭ属性６０８の設定を移動元ボリュームと同一にする（１１０７）。これは、図１の場合に相当する。図６の例では、論理ボリューム２のＷＯＲＭ属性６０８をＷＯＲＭ属性情報（１）６０９１のポインタとする。その結果、論理ボリューム２のＷＯＲＭ属性情報は、論理ボリューム１のＷＯＲＭ属性情報と同一になる。
【０１５１】
一方、移動先論理ボリュームが同一の記憶装置１０１ａ内の論理ボリュームでない場合、構成管理プログラム１１５ａは、移動先ボリュームを含む記憶装置１０１の設定をする（１１０８）。これは、図２又は図３の場合に相当する。この設定は、図１２で詳細に説明する。
【０１５２】
次に、構成管理プログラム１１５ａは、ボリューム管理情報１１７ａ及びパス管理情報１１８ａに、ステップ１１０２の設定を反映させる（１１０９）。
【０１５３】
そして、マイグレーション開始処理が正常終了する（１１１０）。
【０１５４】
図１２は、本発明の実施の形態のストレージシステムの移動先装置の設定処理のフローチャートである。
【０１５５】
移動先装置の設定処理は、図１１のステップ１１０８から呼び出される。移動先装置の設定処理が開始すると（１２０１）、構成管理プログラム１１５ａは、移動先ボリュームのＷＯＲＭ属性を移動元ボリュームと同一にするため、移動元ボリュームのＷＯＲＭ属性情報を移動先ボリュームを含む記憶装置１０１に送信する（１２０２）。
【０１５６】
次に、ステップ１２０２の実行中に移動元ボリュームのＷＯＲＭ属性情報が更新されたか否かを判定する（１２０３）。ステップ１２０２の実行中に移動元ボリュームのＷＯＲＭ属性情報が更新された場合は、移動元ボリュームのＷＯＲＭ属性情報と移動先ボリュームのＷＯＲＭ属性とが同一になっていないため、更新されたＷＯＲＭ属性情報を移動先の記憶装置１０１に送信する（１２０４）。
【０１５７】
ステップ１２０２の実行中に移動元ボリュームのＷＯＲＭ属性情報が更新されない場合、移動元ボリュームのＷＯＲＭ属性情報と移動先ボリュームのＷＯＲＭ属性とが同一になったため、構成管理プログラム１１５ａは、ステップ１１０２の設定をボリューム管理情報１１７及びパス管理情報１１８に反映させるために、この設定を移動先の記憶装置１０１に送信する（１２０５）。
【０１５８】
次に、実行しようとするマイグレーションのパス切替方式が、複写前切替方式であり、かつ、ホストパス管理プログラム２０３がアクセスパスの切替を実行するか否かを判定する（１２０６）。その結果、パス切替方式が複写後切替方式であるか、又は、パス管理プログラム１１３がアクセスパスの切替を実行する場合は、移動先装置の設定処理が正常終了する（１２０８）。これは、図３の場合、又は、図２において複写後切替方式が適用された場合に相当する。
【０１５９】
一方、パス切替方式が複写前切替方式であり、かつ、ホストパス管理プログラム２０３がアクセスパスの切替を実行する場合、構成管理プログラム１１５ａは、ホストパス管理プログラム２０３にマイグレーションの開始を通知し、パス切替を実行する（１２０７）。これは、図２において複写前切替方式が適用された場合に相当する。
【０１６０】
そして、移動先装置の設定処理が正常終了する（１２０８）。
【０１６１】
図１３は、本発明の実施の形態のストレージシステムのマイグレーション完了処理のフローチャートである。
【０１６２】
マイグレーション完了処理は、移動元ボリュームから移動先ボリュームへの全てのデータの複写が終了したときに実行される。
【０１６３】
図１３は、例として、記憶装置１０１ａ内の論理ボリュームから記憶装置１０１ａ内の別の論理ボリューム又は別の記憶装置内の論理ボリュームへのデータの複写が終了したときの処理を示す。
【０１６４】
マイグレーション完了処理が開始すると（１３０１）、構成管理プログラム１１５ａは、ボリューム管理情報１１７ａ及びパス管理情報１１８ａを更新する（１３０２）。具体的には、複写が終了した論理ボリュームのマイグレーション状態６０５を「無」に変更し、マイグレーションペアＬＵＮ６０６及びパス切替６０７を空欄にする。さらに、複写が終了したマイグレーションペアのマイグレーション状態１００５を「×」に変更し、移動元１００６、移動先１００７及びパス切替１００８を空欄にする。
【０１６５】
次に、構成管理プログラム１１５ａは、移動先ボリュームが同一の記憶装置１０１ａ内の論理ボリュームであるか否かを判定する（１３０３）。
【０１６６】
移動先ボリュームが同一の記憶装置１０１ａ内の論理ボリュームである場合は、ステップ１３０７に進む。これは、図１の場合に相当する。
【０１６７】
一方、移動先ボリュームが同一の記憶装置１０１ａ内の論理ボリュームでない場合は、移動先ボリュームを含む記憶装置１０１の構成管理プログラム１１５が、ボリューム管理情報１１７及びパス管理情報１１８を、ステップ１３０２と同様に更新する。
【０１６８】
さらに、構成管理プログラム１１５ａは、パス切替方式が複写後切替方式であり、かつ、ホストパス管理プログラム２０３がパス切替を実行するか否かを判定する（１３０５）。パス切替方式が複写前切替方式であるか、又は、パス管理プログラム１１３がパス切替を実行する場合は、ステップ１３０７に進む。これは、図３の場合、又は、図２において複写前切替方式が適用された場合に相当する。
【０１６９】
一方、パス切替方式が複写後切替方式であり、かつ、ホストパス管理プログラム２０３がパス切替を実行する場合、構成管理プログラム１１５ａは、ホストパス管理プログラム２０３に、マイグレーション完了を通知する。これは、図２において複写後切替方式が適用された場合に相当する。ホストパス管理プログラム２０３は、パス切替を実行する（１３０６）。
【０１７０】
次に、構成管理プログラム１１５ａは、移動元ボリュームに対応するボリューム管理情報１１７ａのＩ／Ｏ制御種別６０３を「通常」に変更する（１３０７）。その結果、移動元ボリュームのＷＯＲＭ属性は解除される。その後、ホスト１０２は、その移動元ボリュームのデータを更新することができる。ホスト１０２は、その移動元ボリュームを消去してもよいし、新しい論理ボリュームとして再利用してもよい。
【０１７１】
図１４は、本発明の実施の形態のストレージシステムにおいて、同一の記憶装置内でマイグレーションを実行する際にホストと各プログラムとの間でやり取りされるコマンドのシーケンス図である。
【０１７２】
図１４は、例として、ホスト１０２ａが記憶装置１０１ａ内の移動元ボリューム１１９から移動先ボリューム１２０へのマイグレーションを指示する場合を示す（図１参照）。
【０１７３】
最初に、ホスト１０２ａは、マイグレーションペアを設定するコマンドを構成管理プログラム１１５ａに送信する（１４０１）。構成管理プログラム１１５ａは、受信したコマンドに従って、ボリューム管理情報１１７ａ及びパス管理情報１１８ａを設定する（１４０２）。具体的には、構成管理プログラム１１５ａは、マイグレーション開始処理（図１１参照）を実行する。構成管理プログラム１１５ａは、マイグレーション開始処理が正常終了すると、マイグレーションペアの設定を受理したことを示す通知をホスト１０２ａに送信する（１４０３）。
【０１７４】
次に、ホスト１０２ａは、構成管理プログラム１１５ａに、マイグレーション開始のコマンドを送信する（１４０４）。構成管理プログラム１１５ａは、受信したコマンドをマイグレーションプログラム１１４ａに送信する（１４０５）。マイグレーションプログラム１１４ａは、マイグレーションの実行（１４０６）を開始すると共に、マイグレーション開始の指示を受理したことを示す通知を構成管理プログラム１１５ａに送信する（１４０７）。構成管理プログラム１１５ａは、受信した通知をホスト１０２ａに送信する（１４０８）。
【０１７５】
マイグレーションプログラム１１４ａは、複写済みビットマップ１０１４を参照する。複写が開始した時点では、複写済みビットマップ１０１４に含まれる全ての複写済みフラグは、「複写未済」である。マイグレーションプログラム１１４ａは、複写済みフラグが「複写未済」であるマイグレーションブロック（すなわち、複写が終了していないマイグレーションブロック）のデータを移動元ボリューム１１９から移動先ボリューム１２０に複写する。複写が終了したマイグレーションブロックの複写済みフラグは、「複写済み」に更新される。マイグレーションプログラム１１４ａは、複写済みフラグが「複写済み」であるマイグレーションブロックのデータを更新することができない。
【０１７６】
複写済みビットマップ１０１４の全ての複写済みフラグが「複写済み」となったときに、マイグレーションプログラム１１４ａは、マイグレーションの実行を終了する。
【０１７７】
マイグレーションプログラム１１４ａがマイグレーションを実行しているときにホスト１０２ａが読み出し又は書き込みコマンドを送信した場合（１４０９）、パス管理プログラム１１３ａがそのコマンドを受信する。パス管理プログラム１１３ａは、パス管理情報１１８ａを参照して、アクセスパスを設定し、受信したコマンドを入出力処理プログラム１１２ａに送信する（１４１０）。具体的には、パス管理プログラム１１３ａは、パス管理情報１１８ａのパス切替１００８（図１０参照）が「未」である場合は、アクセスパスを移動元ボリュームに設定し、パス切替１００８が「済」である場合は、アクセスパスを移動先ボリュームに設定する。
【０１７８】
入出力処理プログラム１１２ａは、設定されたアクセスパスに従って、ホスト１０２ａからの読み出し又は書き込みコマンドを処理する。すなわち、入出力処理プログラム１１２ａは、アクセスパスが設定された論理ボリュームに対してデータの読み出し又は書き込みを実行する。ただし、入出力処理プログラム１１２ａは、ＷＯＲＭ属性情報６０９１（図６参照）を参照して、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０１７９】
マイグレーションプログラム１１４ａがマイグレーションを実行しているときに、ホスト１０２ａがＷＯＲＭ属性情報６０９１を更新（例えば、新しいＷＯＲＭ領域を追加）するコマンドを送信した場合（１４１１）、構成管理プログラム１１５ａがそのコマンドを受信する。構成管理プログラム１１５ａは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９１を更新する（１４１２）。構成管理プログラム１１５ａは、更新が終了すると、ＷＯＲＭ属性情報６０９１の更新を受理したことを示す通知をホスト１０２ａに送信する（１４１３）。
【０１８０】
マイグレーションプログラム１１４ａは、マイグレーションの実行を終了すると、構成管理プログラム１１５ａにマイグレーション完了通知を送信する（１４１４）。構成管理プログラム１１５ａは、マイグレーション完了通知を受信すると、管理情報を更新する（１４１５）。具体的には、構成管理プログラム１１５ａは、マイグレーション完了処理（図１３参照）を実行する。構成管理プログラム１１５ａは、マイグレーション完了処理が正常終了すると、マイグレーション完了通知をホスト１０２ａに送信する（１４１６）。
【０１８１】
図１５は、本発明の実施の形態のストレージシステムにおいて、ＳＡＮを介して接続された記憶装置間で、複写前切替方式（図４）を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【０１８２】
図１５は、例として、ホスト１０２ｂが記憶装置１０１ａ内の移動元ボリューム２０１から記憶装置１０１ｂ内の移動先ボリューム２０２へのマイグレーションを指示する場合を示す（図２参照）。
【０１８３】
マイグレーションが開始する前に、ホスト１０２ｂがデータの読み出し又は書き込みをしようとする場合、ホスト１０２ｂは、ホスト１０２ｂ内のホストパス管理プログラム２０３に読み出し又は書き込みコマンドを送信する（１５０１）。
【０１８４】
ホストパス管理プログラム２０３は、ホストパス管理情報２０４を参照して、アクセスパスを設定する。具体的には、この時点でマイグレーションが開始していないため、ホストパス管理プログラム２０３は、アクセスパスを移動元の記憶装置１０１ａに設定する。そして、ホストパス管理プログラム２０３は、読み出し又は書き込みコマンドを移動元の記憶装置１０１ａに送信する（１５０２）。記憶装置１０１ａは、受信したコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１５０３）。ただし、記憶装置１０１ａは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０１８５】
ホスト１０２ｂは、マイグレーションを開始するとき、最初に、マイグレーションペアを設定するコマンドを移動元の記憶装置１０１ａに送信する（１５０４）。記憶装置１０１ａは、受信したコマンドに従ってボリューム管理情報１１７ａ及びパス管理情報１１８ａを更新する（１５０５）。さらに、記憶装置１０１ａは、受信したコマンドと、ボリューム管理情報１１７ａに含まれるＷＯＲＭ属性情報とを移動先の記憶装置１０１ｂに送信する（１５０６）。
【０１８６】
具体的には、記憶装置１０１ａの構成管理プログラム１１５ａが、マイグレーション開始処理（図１１参照）を実行し、ステップ１１０８において、移動先装置の設定処理（図１２参照）を実行する。
【０１８７】
記憶装置１０１ｂは、受信したコマンド及びＷＯＲＭ属性情報に従って、ボリューム管理情報１１７ｂ及びパス管理情報１１８ｂを更新する（１５０７）。この更新が終了すると、記憶装置１０１ｂは、記憶装置１０１ａに、マイグレーションペアを設定するコマンドを受理したことを通知する（１５０８）。
【０１８８】
記憶装置１０１ａは、ホスト１０２ｂに、マイグレーションペアを設定するコマンドを受理したことを通知する（１５０９）。
【０１８９】
さらに、ホスト１０２ｂは、ホストパス管理情報２０４を、パス管理情報１１８ａ及び１１８ｂと同様に設定する。
【０１９０】
次に、ホスト１０２ｂは、記憶装置１０１ａに、マイグレーション開始のコマンドを送信する（１５１０）。記憶装置１０１ａは、受信したコマンドを記憶装置１０１ｂに送信する（１５１１）。さらに、記憶装置１０１ａは、ホストパス管理プログラム２０３にパス切替のコマンドを送信する（１５１２）。このパス切替のコマンドは、ホスト１０２ｂと記憶装置１０１ａとの間に設定されていたアクセスパスを、ホスト１０２ｂと記憶装置１０１ｂとの間に設定しなおすことを指示するコマンドである。そして、記憶装置１０１ａは、ホスト１０２ｂに、マイグレーション開始のコマンドを受理したことを通知する（１５１３）。
【０１９１】
記憶装置１０１ａ及び１０１ｂは、マイグレーション開始のコマンドを受信すると、マイグレーションの実行を開始する（１５１４、１５１５）。具体的には、マイグレーションプログラム１１４ａ及び１１４ｂが、移動元ボリューム２０１のデータを、移動先ボリューム２０２に複写する。このとき、図１４で説明したように、マイグレーションプログラム１１４ａ及び１１４ｂは、複写済みビットマップ１０１５を参照する。
【０１９２】
記憶装置１０１ａ及び１０１ｂがマイグレーションを実行しているときに、ホスト１０２ｂが読み出し又は書き込みコマンドを送信した場合（１５１６）、ホストパス管理プログラム２０３がそのコマンドを受信する。ホストパス管理プログラム２０３は、既にパス切替のコマンドを受信しているため（１５１２）、ホスト１０２ｂからのアクセスパスを移動先の記憶装置１０１ｂに設定している。このため、ホストパス管理プログラム２０３は、受信した読み出し又は書き込みコマンドを記憶装置１０１ｂに送信する（１５１７）。
【０１９３】
記憶装置１０１ｂは、受信した読み出し又は書き込みコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１５１８）。ただし、記憶装置１０１ｂは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０１９４】
記憶装置１０１ａ及び１０１ｂがマイグレーションを実行しているときに、ホスト１０２ｂが新しいＷＯＲＭ領域を追加するコマンドを送信した場合（１５１９）、ホストパス管理プログラム２０３がそのコマンドを受信する。ホストパス管理プログラム２０３は、受信したコマンドを、記憶装置１０１ｂに送信する（１５２０）。記憶装置１０１ｂは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９２を更新する（１５２１）。記憶装置１０１ｂは、更新が終了すると、ＷＯＲＭ領域を追加したことを示す通知をホスト１０２ｂに送信する（１５２２）。
【０１９５】
記憶装置１０１ａは、マイグレーションの実行（１５１４、１５１５）が終了すると、マイグレーション完了処理（図１３）を実行する（１５２３）。その結果、ボリューム管理情報１１７ａ、１１７ｂ、パス管理情報１１８ａ及び１１８ｂが更新される。
【０１９６】
記憶装置１０１ａは、マイグレーション完了処理１５２３が正常終了すると、マイグレーション完了通知をホスト１０２ｂに送信する（１５２４）。
【０１９７】
図１６は、本発明の実施の形態のストレージシステムにおいて、ＳＡＮを介して接続された記憶装置間で、複写後切替方式（図５）を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【０１９８】
図１６は、図１５と同様に、ホスト１０２ｂが記憶装置１０１ａ内の移動元ボリューム２０１から記憶装置１０１ｂ内の移動先ボリューム２０２へのマイグレーションを指示する場合を示す（図２参照）。なお、図１６において、図１５と共通する部分については、詳細な説明を省略する。
【０１９９】
ホスト１０２ｂは、マイグレーションを開始するとき、最初に、マイグレーションペアを設定するコマンドを移動元の記憶装置１０１ａに送信する（１６０１）。記憶装置１０１ａは、受信したコマンドに従ってボリューム管理情報１１７ａ及びパス管理情報１１８ａを更新する（１６０２）。さらに、記憶装置１０１ａは、受信したコマンドと、ボリューム管理情報１１７ａに含まれるＷＯＲＭ属性情報とを移動先の記憶装置１０１ｂに送信する（１６０３）。
【０２００】
具体的には、記憶装置１０１ａの構成管理プログラム１１５ａが、マイグレーション開始処理（図１１参照）を実行し、ステップ１１０８において、移動先装置の設定処理（図１２参照）を実行する。
【０２０１】
記憶装置１０１ｂは、受信したコマンド及びＷＯＲＭ属性情報に従って、ボリューム管理情報１１７ｂ及びパス管理情報１１８ｂを更新する（１６０４）。この更新が終了すると、記憶装置１０１ｂは、記憶装置１０１ａに、マイグレーションペアを設定するコマンドを受理したことを通知する（１６０５）。
【０２０２】
記憶装置１０１ａは、ホスト１０２ｂに、マイグレーションペアを設定するコマンドを受理したことを通知する（１６０６）。
【０２０３】
さらに、ホスト１０２ｂは、ホストパス管理情報２０４を、パス管理情報１１８ａ及び１１８ｂと同様に設定する。
【０２０４】
次に、ホスト１０２ｂは、記憶装置１０１ａに、マイグレーション開始のコマンドを送信する（１６０７）。記憶装置１０１ａは、受信したコマンドを記憶装置１０１ｂに送信する（１６０８）。そして、記憶装置１０１ａは、ホスト１０２ｂに、マイグレーション開始のコマンドを受理したことを通知する（１６０９）。
【０２０５】
記憶装置１０１ａ及び１０１ｂは、マイグレーション開始のコマンドを受信すると、マイグレーションの実行を開始する（１６１０、１６１１）。
【０２０６】
記憶装置１０１ａ及び１０１ｂがマイグレーションを実行しているときに、ホスト１０２ｂが読み出し又は書き込みコマンドを送信した場合（１６１２）、ホストパス管理プログラム２０３がそのコマンドを受信する。ホストパス管理プログラム２０３は、まだパス切替のコマンドを受信していないため、ホスト１０２ｂからのアクセスパスを移動元の記憶装置１０１ａに設定している。このため、ホストパス管理プログラム２０３は、受信した読み出し又は書き込みコマンドを記憶装置１０１ａに送信する（１６１３）。
【０２０７】
記憶装置１０１ａは、受信した読み出し又は書き込みコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１６１４）。ただし、記憶装置１０１ｂは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２０８】
記憶装置１０１ａ及び１０１ｂがマイグレーションを実行しているときに、ホスト１０２ｂが新しいＷＯＲＭ領域を追加するコマンドを送信した場合（１６１５）、ホストパス管理プログラム２０３がそのコマンドを受信する。ホストパス管理プログラム２０３は、受信したコマンドを、記憶装置１０１ａに送信する（１６１６）。記憶装置１０１ａは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９２を更新する（１６１７）。さらに、記憶装置１０１ａは、受信したコマンドを、記憶装置１０１ｂに送信する（１６１８）。記憶装置１０１ｂは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９２を更新する（１６１９）。更新が終了すると、記憶装置１０１ｂは、ＷＯＲＭ領域を追加したことを示す通知を記憶装置１０１ａに送信する（１６２０）。記憶装置１０１ａは、ＷＯＲＭ領域を追加したことを示す通知をホスト１０２ｂに送信する（１６２１）。
【０２０９】
記憶装置１０１ａは、マイグレーションの実行（１６１０、１６１１）が終了すると、マイグレーション完了処理（図１３）を実行する（１６２２）。その結果、ボリューム管理情報１１７ａ、１１７ｂ、パス管理情報１１８ａ及び１１８ｂが更新される。このとき、パス切替のコマンド（図１３のステップ１３０６）がホストパス管理プログラム２０３に送信される（１６２３）。
【０２１０】
記憶装置１０１ａは、マイグレーション完了処理１６２２が正常終了すると、マイグレーション完了通知をホスト１０２ｂに送信する（１６２４）。
【０２１１】
マイグレーション完了後に、ホスト１０２ｂが読み出し又は書き込みコマンドを送信した場合（１６２５）、ホストパス管理プログラム２０３がそのコマンドを受信する。ホストパス管理プログラム２０３は、既にパス切替のコマンドを受信しているため（１６２３）、ホスト１０２ｂからのアクセスパスを移動先の記憶装置１０１ｂに設定している。このため、ホストパス管理プログラム２０３は、受信した読み出し又は書き込みコマンドを記憶装置１０１ｂに送信する（１６２６）。
【０２１２】
記憶装置１０１ｂは、受信した読み出し又は書き込みコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１６２７）。ただし、記憶装置１０１ｂは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２１３】
図１７は、本発明の実施の形態のストレージシステムにおいて、直接接続された記憶装置間で、複写前切替方式（図４）を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【０２１４】
図１７は、例として、ホスト１０２ｃが記憶装置１０１ａ内の移動元ボリューム３０１から記憶装置１０１ｃ内の移動先ボリューム３０２へのマイグレーションを指示する場合を示す（図３参照）。
【０２１５】
マイグレーションが開始する前に、ホスト１０２ｃがデータの読み出し又は書き込みをしようとする場合、ホスト１０２ｃは、移動元の記憶装置１０１ａに読み出し又は書き込みコマンドを送信する（１７０１）。
【０２１６】
記憶装置１０１ａのパス管理プログラム１１３ａは、パス管理情報１１８ａを参照して、アクセスパスを設定する。具体的には、この時点でマイグレーションが開始していないため、パス管理プログラム１１３ａは、アクセスパスを移動元の記憶装置１０１ａに設定する。記憶装置１０１ａは、受信したコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１７０２）。ただし、記憶装置１０１ａは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２１７】
ホスト１０２ｃは、マイグレーションを開始するとき、最初に、マイグレーションペアを設定するコマンドを移動元の記憶装置１０１ａに送信する（１７０３）。記憶装置１０１ａは、受信したコマンドに従ってボリューム管理情報１１７ａ及びパス管理情報１１８ａを更新する（１７０４）。図１７の例では、複写前切替方式が適用されるため、ボリューム管理情報１１７ａのパス切替６０７及びパス管理情報１１８ａのパス切替１００８は、「済」に設定される。その結果、アクセスパスは、ホスト１０２ｃから、記憶装置１０１ａを経由して、記憶装置１０１ｃに設定される。さらに、記憶装置１０１ａは、受信したコマンドと、ボリューム管理情報１１７ａに含まれるＷＯＲＭ属性情報とを移動先の記憶装置１０１ｃに送信する（１７０５）。
【０２１８】
具体的には、記憶装置１０１ａの構成管理プログラム１１５ａが、マイグレーション開始処理（図１１参照）を実行し、ステップ１１０８において、移動先装置の設定処理（図１２参照）を実行する。
【０２１９】
記憶装置１０１ｃは、受信したコマンド及びＷＯＲＭ属性情報に従って、ボリューム管理情報１１７ｃ及びパス管理情報１１８ｃを更新する（１７０６）。図１７の例には、複写前切替方式が適用されるため、ボリューム管理情報１１７ｃのパス切替６０７及びパス管理情報１１８ｃのパス切替１００８は、「済」に設定される。その結果、アクセスパスは、ホスト１０２ｃから、記憶装置１０１ａを経由して、記憶装置１０１ｃに設定される。この更新が終了すると、記憶装置１０１ｃは、記憶装置１０１ａに、マイグレーションペアを設定するコマンドを受理したことを通知する（１７０７）。
【０２２０】
記憶装置１０１ａは、ホスト１０２ｃに、マイグレーションペアを設定するコマンドを受理したことを通知する（１７０８）。
【０２２１】
次に、ホスト１０２ｃは、記憶装置１０１ａに、マイグレーション開始のコマンドを送信する（１７０９）。記憶装置１０１ａは、受信したコマンドを記憶装置１０１ｃに送信する（１７１０）。そして、記憶装置１０１ａは、ホスト１０２ｃに、マイグレーション開始のコマンドを受理したことを通知する（１７１１）。
【０２２２】
記憶装置１０１ａ及び１０１ｃは、マイグレーション開始のコマンドを受信すると、マイグレーションの実行を開始する（１７１２、１７１３）。具体的には、マイグレーションプログラム１１４ａ及び１１４ｃが、移動元ボリューム３０１のデータを、移動先ボリューム３０２に複写する。このとき、図１４で説明したように、マイグレーションプログラム１１４ａ及び１１４ｃは、複写済みビットマップ１０１６を参照する。
【０２２３】
記憶装置１０１ａ及び１０１ｃがマイグレーションを実行しているときに、ホスト１０２ｃが読み出し又は書き込みコマンドを送信した場合（１７１４）、記憶装置１０１ａがそのコマンドを受信する。ホスト１０１ｃからのアクセスパスは、記憶装置１０１ａを経由して、記憶装置１０１ｃに設定されている（１７０４、１７０６）。このため、記憶装置１０１ａは、受信した読み出し又は書き込みコマンドを記憶装置１０１ｃに送信する（１７１５）。
【０２２４】
記憶装置１０１ｃは、受信した読み出し又は書き込みコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１７１６）。ただし、記憶装置１０１ｃは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２２５】
記憶装置１０１ａ及び１０１ｃがマイグレーションを実行しているときに、ホスト１０２ｃが新しいＷＯＲＭ領域を追加するコマンドを送信した場合（１７１７）、記憶装置１０１ａがそのコマンドを受信する。記憶装置１０１ａは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９３を更新する（１７１８）。さらに、記憶装置１０１ａは、受信したコマンドを、記憶装置１０１ｃに送信する（１７１９）。記憶装置１０１ｃは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９３を更新する（１７２０）。
【０２２６】
更新が終了すると、記憶装置１０１ｃは、ＷＯＲＭ領域を追加したことを示す通知を記憶装置１０１ａに送信する（１７２１）。記憶装置１０１ａは、ＷＯＲＭ領域を追加したことを示す通知をホスト１０２ｃに送信する（１７２２）。
【０２２７】
記憶装置１０１ａは、マイグレーションの実行（１７１２、１７１３）が終了すると、マイグレーション完了処理（図１３）を実行する（１７２３）。その結果、ボリューム管理情報１１７ａ、１１７ｃ、パス管理情報１１８ａ及び１１８ｃが更新される。
【０２２８】
記憶装置１０１ａは、マイグレーション完了処理が正常終了すると、ホスト１０２ｃにマイグレーション完了通知を送信する（１７２４）。
【０２２９】
図１８は、本発明の実施の形態のストレージシステムにおいて、直接接続された記憶装置間で、複写後切替方式（図５）を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【０２３０】
図１８は、図１７と同様に、ホスト１０２ｃが記憶装置１０１ａ内の移動元ボリューム３０１から記憶装置１０１ｃ内の移動先ボリューム３０２へのマイグレーションを指示する場合を示す（図３参照）。なお、図１８において、図１７と共通する部分については、詳細な説明を省略する。
【０２３１】
マイグレーションが開始する前に、ホスト１０２ｃがデータの読み出し又は書き込みをしようとする場合、ホスト１０２ｃは、移動元の記憶装置１０１ａに読み出し又は書き込みコマンドを送信する（１８０１）。
【０２３２】
記憶装置１０１ａは、受信したコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１８０２）。ただし、記憶装置１０１ａは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２３３】
ホスト１０２ｃは、マイグレーションを開始するとき、最初に、マイグレーションペアを設定するコマンドを移動元の記憶装置１０１ａに送信する（１８０３）。記憶装置１０１ａは、受信したコマンドに従ってボリューム管理情報１１７ａ及びパス管理情報１１８ａを更新する（１８０４）。図１８の例では、複写後切替方式が適用されるため、ボリューム管理情報１１７ａのパス切替６０７及びパス管理情報１１８ａのパス切替１００８は、「未」に設定される。その結果、アクセスパスは、ホスト１０２ｃから、記憶装置１０１ａに設定される。さらに、記憶装置１０１ａは、受信したコマンドと、ボリューム管理情報１１７ａに含まれるＷＯＲＭ属性情報とを移動先の記憶装置１０１ｃに送信する（１８０５）。
【０２３４】
記憶装置１０１ｃは、受信したコマンド及びＷＯＲＭ属性情報に従って、ボリューム管理情報１１７ｃ及びパス管理情報１１８ｃを更新する（１８０６）。図１８の例には、複写後切替方式が適用されるため、ボリューム管理情報１１７ｃのパス切替６０７及びパス管理情報１１８ｃのパス切替１００８は、「未」に設定される。その結果、アクセスパスは、ホスト１０２ｃから、記憶装置１０１ａに設定される。この更新が終了すると、記憶装置１０１ｃは、記憶装置１０１ａに、マイグレーションペアを設定するコマンドを受理したことを通知する（１８０７）。
【０２３５】
記憶装置１０１ａは、ホスト１０２ｃに、マイグレーションペアを設定するコマンドを受理したことを通知する（１８０８）。
【０２３６】
次に、ホスト１０２ｃは、記憶装置１０１ａに、マイグレーション開始のコマンドを送信する（１８０９）。記憶装置１０１ａは、受信したコマンドを記憶装置１０１ｃに送信する（１８１０）。そして、記憶装置１０１ａは、ホスト１０２ｃに、マイグレーション開始のコマンドを受理したことを通知する（１８１１）。
【０２３７】
記憶装置１０１ａ及び１０１ｃは、マイグレーション開始のコマンドを受信すると、マイグレーションの実行を開始する（１８１２、１８１３）。
【０２３８】
記憶装置１０１ａ及び１０１ｃがマイグレーションを実行しているときに、ホスト１０２ｃが読み出し又は書き込みコマンドを送信した場合（１８１４）、記憶装置１０１ａがそのコマンドを受信する。ホスト１０１ｃからのアクセスパスは、記憶装置１０１ａに設定されている（１８０４、１８０６）。このため、記憶装置１０１ａは、受信した読み出し又は書き込みコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１８１５）。ただし、記憶装置１０１ａは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２３９】
記憶装置１０１ａ及び１０１ｃがマイグレーションを実行しているときに、ホスト１０２ｃが新しいＷＯＲＭ領域を追加するコマンドを送信した場合（１８１６）、記憶装置１０１ａがそのコマンドを受信する。記憶装置１０１ａは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９３を更新する（１８１７）。さらに、記憶装置１０１ａは、受信したコマンドを、記憶装置１０１ｃに送信する（１８１８）。記憶装置１０１ｃは、受信したコマンドに従って、ＷＯＲＭ属性情報６０９３を更新する（１８１９）。
【０２４０】
更新が終了すると、記憶装置１０１ｃは、ＷＯＲＭ領域を追加したことを示す通知を記憶装置１０１ａに送信する（１８２０）。記憶装置１０１ａは、ＷＯＲＭ領域を追加したことを示す通知をホスト１０２ｃに送信する（１８２１）。
【０２４１】
記憶装置１０１ａは、マイグレーションの実行（１８１２、１８１３）が終了すると、マイグレーション完了処理（図１３）を実行する（１８２２）。その結果、ボリューム管理情報１１７ａ、１１７ｃ、パス管理情報１１８ａ及び１１８ｃが更新される。このとき、ボリューム管理情報１１７ａのパス切替６０７及びパス管理情報１１８ａのパス切替１００８は、「済」に設定される。同様にして、ボリューム管理情報１１７ｃのパス切替６０７及びパス管理情報１１８ｃのパス切替１００８も、「済」に設定される。すなわち、アクセスパスは、ホスト１０２ｃから、記憶装置１０１ａを経由して、記憶装置１０１ｃに設定される。
【０２４２】
記憶装置１０１ａは、マイグレーション完了処理が正常終了すると、ホスト１０２ｃにマイグレーション完了通知を送信する（１８２３）。
【０２４３】
マイグレーション完了後にホスト１０２ｃが読み出し又は書き込みコマンドを送信した場合（１８２４）、記憶装置１０１ａがそのコマンドを受信する。ホスト１０１ｃからのアクセスパスは、記憶装置１０１ａを経由して、記憶装置１０１ｃに設定されている（１８２２）。このため、記憶装置１０１ａは、受信した読み出し又は書き込みコマンドを記憶装置１０１ｃに送信する（１８２５）。
【０２４４】
記憶装置１０１ｃは、受信した読み出し又は書き込みコマンドに従って、データの読み出し又は書き込み（入出力）を実行する（１８２６）。ただし、記憶装置１０１ｃは、データが書き込まれる領域にＷＯＲＭ属性が付されていれば、当該領域のデータを更新しない。
【０２４５】
図１９は、本発明の実施の形態のストレージシステムにおいて、複写前切替方式が適用されたマイグレーションを実行中に、ホストからデータを更新するための書き込み要求があったときに、入出力処理プログラム１１２によって実行される、更新処理のフローチャートである。
【０２４６】
ホスト１０２からデータの書き込み要求を受信して、更新処理が開始すると（１９０１）、入出力処理プログラム１１２は、ホストから受信したコマンドを解釈する（１９０２）。
【０２４７】
次に、入出力処理プログラム１１２は、ボリューム管理情報１１７に含まれるＷＯＲＭ属性情報６０９１等を参照して、データが更新されるセクタ（更新対象セクタ）とＷＯＲＭ領域が重複するか否かを判定する。すなわち、更新対象セクタにＷＯＲＭ属性が付されているか否かを判定する（１９０３）。
【０２４８】
更新対象セクタにＷＯＲＭ属性が付されている場合、当該セクタのデータを更新することができないため、入出力処理プログラム１１２は、ホスト１０２にコマンドのエラーステータスを返送して（１９０４）、更新処理を異常終了する（１９０５）。
【０２４９】
一方、更新対象セクタにＷＯＲＭ属性が付されていない場合、入出力処理プログラム１１２は、パス管理情報１１８に含まれる複写済みビットマップ１０１４等を参照して、その更新対象セクタが複写済みであるか否かを判定する（１９０６）。
【０２５０】
更新対象セクタが複写済みである場合、ステップ１９０９に進む。
【０２５１】
一方、更新対象セクタが複写済みでない場合、入出力処理プログラム１１２は、更新対象セクタを含むマイグレーションブロックのデータを、移動元ボリュームから移動先ボリュームに複写する（１９０７）。さらに、入出力処理プログラム１１２は、当該マイグレーションブロックの複写済みフラグを「複写済み」とするように、複写済みビットマップ１０１４等を更新する（１９０８）。
【０２５２】
ステップ１９０７及び１９０８を実行することによって、マイグレーションプログラム１１４が、移動先ボリュームで更新された新しいデータの上に、移動元ボリュームの古いデータを上書きすることを防ぐことができる。
【０２５３】
ただし、一つのマイグレーションブロックに含まれる全てのセクタが更新対象セクタである場合、入出力処理プログラム１１２は、ステップ１９０７を実行しなくてもよい。
【０２５４】
次に、入出力処理プログラム１１２は、移動先ボリュームの更新対象セクタのデータを更新する（１９０９）。
【０２５５】
次に、入出力処理プログラム１１２は、ホスト１０２にコマンドの正常終了ステータスを返送して（１９１０）、更新処理を正常終了する（１９１１）。
【０２５６】
図２０は、本発明の実施の形態のストレージシステムにおいて、複写前切替方式が適用されたマイグレーションを実行中に、ホストからデータの読み出し要求があったときに、入出力処理プログラム１１２によって実行される、読み出し処理のフローチャートである。
【０２５７】
ホスト１０２からデータの読み出し要求を受信して、読み出し処理が開始すると（２００１）、入出力処理プログラム１１２は、ホストから受信したコマンドを解釈する（２００２）。
【０２５８】
次に、入出力処理プログラム１１２は、パス管理情報１１８に含まれる複写済みビットマップ１０１４等を参照して、データが読み出されるセクタ（読み出し対象セクタ）が複写済みであるか否かを判定する（２００３）。
【０２５９】
読み出し対象セクタが複写済みである場合、入出力処理プログラム１１２は、移動先ボリュームから読み出し対象セクタのデータを読み出してキャッシュメモリ１１０に書き込む（２００４）。
【０２６０】
一方、読み出し対象セクタが複写済みでない場合、入出力処理プログラム１１２は、読み出し対象セクタを含むマイグレーションブロックのデータを、移動元ボリュームから移動先ボリュームに複写する（２００５）。このとき、複写されたデータは、キャッシュメモリ１１０に残しておく。
【０２６１】
次に、入出力処理プログラム１１２は、当該マイグレーションブロックの複写済みフラグを「複写済み」とするように、複写済みビットマップ１０１４等を更新する（２００６）。
【０２６２】
次に、入出力処理プログラム１１２は、キャッシュメモリ１１０から読み出し対象セクタのデータを読み出してホスト１０２に送信する（２００７）。
【０２６３】
次に、入出力処理プログラム１１２は、ホスト１０２にコマンドの正常終了ステータスを返送して（２００８）、読み出し処理を正常終了する（２００９）。
【０２６４】
図２１は、本発明の実施の形態のストレージシステムにおいて、複写後切替方式が適用されたマイグレーションを実行中に、ホストからデータを更新するための書き込み要求があったときに、入出力処理プログラム１１２によって実行される、更新処理のフローチャートである。
【０２６５】
ホスト１０２からデータの書き込み要求を受信して、更新処理が開始すると（２１０１）、入出力処理プログラム１１２は、ホストから受信したコマンドを解釈する（２１０２）。
【０２６６】
次に、入出力処理プログラム１１２は、ボリューム管理情報１１７に含まれるＷＯＲＭ属性情報６０９１等を参照して、データが更新されるセクタとＷＯＲＭ領域が重複するか否かを判定する。すなわち、更新対象セクタにＷＯＲＭ属性が付されているか否かを判定する（２１０３）。
【０２６７】
更新対象セクタにＷＯＲＭ属性が付されている場合、当該セクタのデータを更新することができないため、入出力処理プログラム１１２は、ホスト１０２にコマンドのエラーステータスを返送して（２１０４）、更新処理を異常終了する（２１０５）。
【０２６８】
一方、更新対象セクタにＷＯＲＭ属性が付されていない場合、入出力処理プログラム１１２は、パス管理情報１１８に含まれる複写済みビットマップ１０１４等を参照して、その更新対象セクタが複写済みであるか否かを判定する（２１０６）。
【０２６９】
更新対象セクタが複写済みでない場合、ステップ２１０８に進む。
【０２７０】
一方、更新対象セクタが複写済みである場合、入出力処理プログラム１１２は、当該セクタを含むマイグレーションブロックの複写済みフラグを「複写未済」とするように、複写済みビットマップ１０１４等を更新する（２１０７）。
【０２７１】
次に、入出力処理プログラム１１２は、移動元ボリュームの更新対象セクタのデータを更新し、更新されたデータを、キャッシュメモリ１１０に書き込む（２１０８）。
【０２７２】
次に、入出力処理プログラム１１２は、ホスト１０２にコマンドの正常終了ステータスを返送する（２１０９）。
【０２７３】
次に、入出力処理プログラム１１２は、キャッシュメモリ１１０に書き込まれた更新対象セクタのデータを移動先ボリュームに複写する。そして、入出力処理プログラム１１２は、当該セクタを含むマイグレーションブロックの複写済みフラグを「複写済み」とするように、複写済みビットマップ１０１４等を更新する（２１１０）。
【０２７４】
以上で、更新処理を正常終了する（２１１１）。
【０２７５】
図２２は、本発明の実施の形態のストレージシステムにおいて、複写後切替方式が適用されたマイグレーションを実行中に、ホストからデータの読み出し要求があったときに、入出力処理プログラム１１２によって実行される、読み出し処理のフローチャートである。
【０２７６】
ホスト１０２からデータの読み出し要求を受信して、読み出し処理が開始すると（２２０１）、入出力処理プログラム１１２は、ホストから受信したコマンドを解釈する（２２０２）。
【０２７７】
次に、入出力処理プログラム１１２は、移動元ボリュームから読み出し対象セクタのデータを読み出してキャッシュメモリ１１０に書き込む（２２０３）。
【０２７８】
次に、入出力処理プログラム１１２は、キャッシュメモリ１１０から読み出し対象セクタのデータを読み出してホスト１０２に送信する（２２０４）。
【０２７９】
次に、入出力処理プログラム１１２は、ホスト１０２にコマンドの正常終了ステータスを返送して（２２０５）、読み出し処理を正常終了する（２２０６）。
【０２８０】
以上の本発明によれば、マイグレーションが行われる際に、データのＷＯＲＭ属性がデータと共に複写される。このため、複写の実行中も、ＷＯＲＭ属性が付されたデータが更新されないように保護される。さらに、複写前にＷＯＲＭ属性が付されていたデータは、複写の終了後にあらためてＷＯＲＭ属性を付さなくても、複写前と同様に保護される。
【０２８１】
また、本発明によれば、データの複写が終了した後、ＷＯＲＭ属性を解除することによって、移動元のＷＯＲＭ属性が付されていた領域を再利用することができる。
【図面の簡単な説明】
【０２８２】
【図１】本発明の実施の形態において、記憶装置内部でデータのマイグレーション（移動）を行うストレージシステムの構成のブロック図である。
【図２】本発明の実施の形態において、ネットワークを介して接続された記憶装置の間でマイグレーションを行うストレージシステムの構成のブロック図である。
【図３】本発明の実施の形態において、直接接続された記憶装置の間でマイグレーションを行うストレージシステムの構成のブロック図である。
【図４】本発明の実施の形態において、マイグレーションの際のデータの複写前にアクセスパスを切り替える方式（複写前切替方式）の説明図である。
【図５】本発明の実施の形態において、マイグレーションの際のデータの複写後にアクセスパスを切り替える方式（複写後切替方式）の説明図である。
【図６】本発明の実施の形態の一つの記憶装置のボリューム管理情報の説明図である。
【図７】本発明の実施の形態のＷＯＲＭ属性情報の説明図である。
【図８】本発明の実施の形態の別の記憶装置のボリューム管理情報の説明図である。
【図９】本発明の実施の形態のさらに別の記憶装置のボリューム管理情報の説明図である。
【図１０】本発明の実施の形態のパス管理情報の説明図である。
【図１１】本発明の実施の形態のストレージシステムのマイグレーション開始処理のフローチャートである。
【図１２】本発明の実施の形態のストレージシステムの移動先装置の設定処理のフローチャートである。
【図１３】本発明の実施の形態のストレージシステムのマイグレーション完了処理のフローチャートである。
【図１４】本発明の実施の形態のストレージシステムにおいて、同一の記憶装置内でマイグレーションを実行する際にホストと各プログラムとの間でやり取りされるコマンドのシーケンス図である。
【図１５】本発明の実施の形態のストレージシステムにおいて、ＳＡＮを介して接続された記憶装置間で、複写前切替方式を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【図１６】本発明の実施の形態のストレージシステムにおいて、ＳＡＮを介して接続された記憶装置間で、複写後切替方式を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【図１７】本発明の実施の形態のストレージシステムにおいて、直接接続された記憶装置間で、複写前切替方式を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【図１８】本発明の実施の形態のストレージシステムにおいて、直接接続された記憶装置間で、複写後切替方式を適用したマイグレーションを実行する際に、ホストと各記憶装置との間でやり取りされるコマンドのシーケンス図である。
【図１９】本発明の実施の形態のストレージシステムにおいて、複写前切替方式が適用されたマイグレーションを実行中に、ホストからデータを更新するための書き込み要求があったときに実行される、入出力処理プログラムの更新処理のフローチャートである。
【図２０】本発明の実施の形態のストレージシステムにおいて、複写前切替方式が適用されたマイグレーションを実行中に、ホストからデータの読み出し要求があったときに実行される、入出力処理プログラムの読み出し処理のフローチャートである。
【図２１】本発明の実施の形態のストレージシステムにおいて、複写後切替方式が適用されたマイグレーションを実行中に、ホストからデータを更新するための書き込み要求があったときに実行される、入出力処理プログラムの更新処理のフローチャートである。
【図２２】本発明の実施の形態のストレージシステムにおいて、複写後切替方式が適用されたマイグレーションを実行中に、ホストからデータの読み出し要求があったときに実行される、入出力処理プログラムの読み出し処理のフローチャートである。
【符号の説明】
【０２８３】
１０１  記憶装置
１０２  ホスト
１０３  管理端末
１０４  ＳＡＮ（Storage Area Network）
１０５  ＬＡＮ（Local Area Network）
１０６  コントローラ
１０７  ドライブ装置
１０８  プロセッサ
１０９  メモリ
１１０  キャッシュメモリ
１１１、１１６  Ｉ／Ｆ（インターフェース）
１１２  入出力処理プログラム
１１３  パス管理プログラム
１１４  マイグレーションプログラム
１１５  構成管理プログラム
１１７  ボリューム管理情報
１１８  パス管理情報
１１９、２０１、３０１  移動元ボリューム
１２０、２０２、３０２  移動先ボリューム
１２１  管理ボリューム
２０３  ホストパス管理プログラム
２０４  ホストパス管理情報
【図１】
2006072957.tif 000003
【図２】
2006072957.tif 000004
【図３】
2006072957.tif 000005
【図４】
2006072957.tif 000006
【図５】
2006072957.tif 000007
【図６】
2006072957.tif 000008
【図７】
2006072957.tif 000009
【図８】
2006072957.tif 000010
【図９】
2006072957.tif 000011
【図１０】
2006072957.tif 000012
【図１１】
2006072957.tif 000013
【図１２】
2006072957.tif 000014
【図１３】
2006072957.tif 000015
【図１４】
2006072957.tif 000016
【図１５】
2006072957.tif 000017
【図１６】
2006072957.tif 000018
【図１７】
2006072957.tif 000019
【図１８】
2006072957.tif 000020
【図１９】
2006072957.tif 000021
【図２０】
2006072957.tif 000022
【図２１】
2006072957.tif 000023
【図２２】
2006072957.tif 000024