(57)【要約】  ＨＡペア構成としているストレージ装置間でのオフロードデータコピーを実現するストレージシステムを提供する。そのために、第１ストレージ装置の第１ボリュームと第２ストレージ装置の第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答するＨＡペア構成において、第１又は第２のストレージ装置が、仮想ＩＤをコピー先として指定したオフロードデータコピーの指示をホスト計算機から受領すると、コピー先ボリュームの位置に応じて第１ボリュームまたは第２ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする。
2015189925.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機に接続するストレージシステムであって、
前記ストレージシステムは、第１ストレージ装置と、第２ストレージ装置とを備え、
前記第１ストレージ装置の第１ボリュームと、前記第１ボリュームのデータが二重化された前記第２ストレージ装置の第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成し、
前記第１ストレージ装置または前記第２のストレージ装置が、仮想ＩＤをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領すると、
コピー先ボリュームが存在するストレージ装置に応じて、前記第１ボリュームまたは前記第２ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする
ことを特徴とするストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、前記コピー先ボリュームが第３ボリュームと、前記第３ボリュームのデータが二重化された第４ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成する
ことを特徴とするストレージシステム。
【請求項３】
請求項１記載のストレージシステムであって、前記コピー元ボリュームから読み出したデータを、前記第３ボリュームに書き込んだ後、前記第４ボリュームに当該データを書き込む
ことを特徴とするストレージシステム。
【請求項４】
請求項２記載のストレージシステムであって、更に第３ストレージ装置を備え、前記第１ストレージ装置に第３ボリュームを、第３ストレージ装置に前記第４ボリュームを備える
ことを特徴とするストレージシステム。
【請求項５】
請求項４記載のストレージシステムであって、第１ストレージ装置に前記第４ボリュームを、第３ストレージ装置に前記第３ボリュームを備える
ことを特徴とするストレージシステム。
【請求項６】
請求項４記載のストレージシステムであって、第３ストレージ装置に前記第４ボリュームを、第２ストレージ装置に前記第３ボリュームを備える
ことを特徴とするストレージシステム。
【請求項７】
請求項４記載のストレージシステムであって、第２ストレージ装置に前記第４ボリュームを、第３ストレージ装置に前記第３ボリュームを備える
ことを特徴とするストレージシステム。
【請求項８】
請求項１記載のストレージシステムであって、更に、各ボリュームを制御する制御部を備え、前記ホスト計算機からのデータコピー命令を当該制御部が受信し、前記コピー元ボリュームから前記コピー先ボリュームへのデータコピーを実行する
ことを特徴とするストレージシステム。
【請求項９】
請求項８記載のストレージシステムであって、
前記ホスト計算機は前記第１ストレージ装置ないし第２ストレージ装置にトークン取得命令を発行し、
前記トークン取得命令を受信したストレージ装置は、当該トークン取得命令にトークンを一意に識別するトークンＩＤを付加したトークンを生成して、当該生成したトークンを前記ホスト計算機の送信し、
前記トークンＩＤを前記第１ボリュームと前記第２ボリュームとに格納し、
前記ホスト計算機は受信した前記トークンからデータコピー命令を生成し、当該データコピー命令を前記第１ストレージ装置ないし第２ストレージ装置の制御部に送信して前記コピー元ボリュームから前記コピー先ボリュームへのデータコピーを実行する
ことを特徴とするストレージシステム。
【請求項１０】
ホスト計算機に接続するストレージ装置であって、
第１ボリュームと、前記第１ボリュームのデータが二重化された前記第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成し、
前記ストレージ装置が、仮想ＩＤをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領すると、
前記第１ボリュームまたは前記第２ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする
ことを特徴とするストレージ装置。
【請求項１１】
請求項１０記載のストレージ装置であって、前記コピー先ボリュームが第３ボリュームと、前記第３ボリュームのデータが二重化された第４ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成する
ことを特徴とするストレージ装置。
【請求項１２】
ホスト計算機に接続するストレージシステムのデータ移行方法であって、
前記ストレージシステムは、第１ストレージ装置と、第２ストレージ装置とを備え、
前記第１ストレージ装置の第１ボリュームと、前記第１ボリュームのデータが二重化された前記第２ストレージ装置の第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成し、
前記第１ストレージ装置または前記第２のストレージ装置が、仮想ＩＤをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領するステップと、
コピー先ボリュームが存在するストレージ装置に応じて、前記第１ボリュームまたは前記第２ボリュームのいずれをコピー元ボリュームとして選択するステップと、
前記選択したコピー元ボリュームからコピー先ボリュームにデータをコピーするステップとを有する
ことを特徴とするストレージシステムのデータ移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、ストレージ装置及びデータ移行方法に関する。
【背景技術】
【０００２】
ストレージシステムでは、記憶デバイスとして、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）を用いるストレージ装置を１つ以上備える。そのストレージ装置を含むストレージシステムが、ストレージエリアネットワーク（Storage  Area  Network（SAN））やローカルネットワーク（Local  Area  Network（LAN））経由で、複数の上位装置（例えば、ホスト計算機）からアクセスされる。一般的にストレージ装置では、ＲＡＩＤ（Redundant  Array  of  Independent  (or  Inexpensive)  Disks）技術に従う高信頼化方法を用いることで、信頼性を向上している。【０００３】
特許文献１には、オフロードデータ転送機能に対応して、コピー制御の効率を改善すること、すなわち、ホスト計算機側が行うデータのコピー機能をストレージ装置にオフロードすることが記載されている。【０００４】
特許文献２には、可用性を向上させることができる情報システムが開示されており、第１のストレージの第１のボリュームと、第２のストレージの第２のボリュームと、を同一のボリュームとして上位装置に提供することが記載されている。ホスト計算機からは第１のボリュームと第２のボリュームはパスが異なる同一のボリュームとして認識される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１４／００６８２３３号明細書
【特許文献２】米国特許出願公開第２００９／０２７１５８２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献２のような、ストレージ装置がホスト計算機に仮想的なボリュームを提供している環境において、特許文献１記載のオフロードデータコピーをホスト計算機が指示するとき、ホスト計算機側から認識している仮想的なボリュームがコピー元として指定される。このような場合、コピー元となる仮想ボリュームの実体は第１のボリュームと第２のボリュームとで２つあり、それぞれ同一のデータが格納されているため、複数のコピー経路が存在する。そのため、ストレージ装置は、オフロードデータコピーの指示に対して最適な経路を選択する必要がある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一実施形態であるストレージシステムでは、第１ストレージ装置の第１ボリュームと第２ストレージ装置の第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答するＨＡペア構成において、第１ストレージ装置又は第２ストレージ装置が、仮想ＩＤをコピー先として指定したオフロードデータコピーの指示をホスト計算機から受領すると、コピー先ボリュームが存在するストレージ装置に応じて、第１ボリュームまたは第２ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする。
【発明の効果】
【０００８】
本発明のストレージシステムでは、ストレージ装置全体がダウンしてもシステムが稼働させることのできるＨＡペア構成による高い信頼性を実現しながら、データ処理時間の削減・ホスト計算機の負荷の減少といった高性能化及びリソース効率化を実現したオフロードデータコピーを可能とする。前述以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】図１は、ＨＡペア構成の概念を示す図である。
【図２】図２は、ストレージシステムの全体構成図である。
【図３】図３は、ＶＯＬ管理テーブルの構成例を示す図である。
【図４】図４は、ＶＯＬ管理テーブルの構成例を示す図である。
【図５】図５は、第１のオフロードデータコピー動作を示す図である。
【図６】図６は、第２のオフロードデータコピー動作を示す図である。
【図７】図７は、第３のオフロードデータコピー動作を示す図である。
【図８】図８は、第４のオフロードデータコピー動作を示す図である。
【図９】図９は、第１から第４でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。
【図１０】図１０は、転送されたオフロードデータコピー命令（ＳＣＯＰＹ命令）を受領したボリューム側でのオフロードデータコピー処理を示すフローチャートである。
【図１１】図１１は、ボリュームサーチ処理を示すフローチャートである。
【図１２】図１２は、ボリュームからのデータ読み出し処理を示すフローチャートである。
【図１３】図１３は、ボリュームへのデータ書き込み処理を示すフローチャートである。
【図１４】図１４は、第５のオフロードデータコピー動作を示す図である。
【図１５】図１５は、第６のオフロードデータコピー動作を示す図である。
【図１６】図１６は、第７のオフロードデータコピー動作を示す図である。
【図１７】図１７は、第８のオフロードデータコピー動作を示す図である。
【図１８】図１８は、第５から第８でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。
【図１９】図１９は、転送されたオフロードデータコピー命令（ＴＣＯＰＹ命令）を受領したボリューム側でのオフロードデータコピー処理を示すフローチャートである。
【図２０】図２０は、トークン取得命令を受領したボリューム側でのトークンへの処理を示すフローチャートである。
【図２１】図２１は、第９のオフロードデータコピー動作（コピー元ボリュームとコピー先ボリュームが別ストレージ装置に存在）を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
【００１１】
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、ＭＰ（Micro  Processor）やＣＰＵ（Central  Processing  Unit）によって実行されるもので、定められた処理をするものである。なお、プロセッサは、適宜に記憶資源（例えばメモリ）及び通信インターフェース装置（例えば、通信ポート）を用いながら処理を行うため、処理の主語がプロセッサとされてもよい。プロセッサは、ＣＰＵの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであっても良い。
【００１２】
また、各要素、例えば、コントローラは番号などで識別可能であるが、各要素を識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本実施例の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
【００１３】
＜ＨＡペア構成＞
図１は、ＨＡペア構成の概念を示す図である。ストレージシステムは、ホスト計算機１６がアクセスするストレージ装置１  １１と、ストレージ装置２  １２、ストレージ装置１  １１とストレージ装置２  １２を管理する管理計算機（図示せず）を備える。各ストレージ装置は、１つ以上の物理ボリュームを装置内に構成し、Ａ１−ＶＯＬ（ＰＶＯＬ（Primary  Volume）：正ボリューム）１１７１と、Ａ２−ＶＯＬ（ＳＶＯＬ（Secondary  Volume：副ボリューム））１２７２をホスト計算機１６へ仮想ＶＯＬ−Ａとして提供する。
【００１４】
また、ＨＡペア構成のストレージ装置では、
（ＨＡ１）２つの物理ボリューム（ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１及びＶＯＬ−Ａ２（ＳＶＯＬ）１２７２）でデータを同期的に複製する。
（ＨＡ２）ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とＶＯＬ−Ａ２（ＳＶＯＬ）１２７２との双方にアクセスを可能とすることで、両方のＶＯＬが同時にＩ／Ｏ処理を担当するＡｃｔｉｖｅ−Ａｃｔｉｖｅ構成を実現する。
（ＨＡ３）ホスト計算機１６からのＩｎｑｕａｒｙ  コマンドに対して、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とＶＯＬ−Ａ２（ＳＶＯＬ）１２７２とは、どちらも同じ仮想装置の製番（製造番号）ないし装置を一意に識別する装置ＩＤ、と仮想ＶＯＬ名（図１では“仮想ＶＯＬ−Ａ”）ないし仮想ボリュームを一意に識別する仮想ＶＯＬ−ＩＤ（仮想ＩＤとも表す）を応答する。そのため、ホスト計算機１６は、１組のＨＡペア構成のＶＯＬに割り当てられた仮想装置製番、仮想ＶＯＬ名（図１では“仮想ＶＯＬ−Ａ”）を指定することで、ストレージ装置１  １１のＶＯＬ−Ａ１  １２７２とストレージ装置２  １２のＶＯＬ−Ａ２とのどちらのＨＡペア構成のＶＯＬにもアクセスできる。
（ＨＡ４）ホスト計算機１６側からは、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１もＶＯＬ−Ａ２（ＳＶＯＬ）１２７２も、同じＡというＶＯＬ名でアクセスする。ライトの際は、最初に、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１にデータを書き込み、次に、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２にデータを書き込む。
という構成とし、ホスト計算機１６からのＩ／Ｏを処理する。
【００１５】
＜ストレージシステム＞
図２は、ストレージシステムの全体構成図である。ストレージシステムは、ホスト計算機１６、複数のストレージ装置１１から１５と、ストレージ装置１１から１５を管理する管理計算機１７を備える。
【００１６】
ホスト計算機１６は、装置全体を制御するＣＰＵ１６１、装置の制御情報や制御プログラム等を格納するメモリ、ストレージ装置とのＩ／Ｆを行うＦＥ（Front  End）−ＰＯＲＴ１６３を備える。管理計算機１７もホスト計算機１６と同様の構成である。
【００１７】
ストレージ装置１１から１５は、ホスト計算機１６とのＩ／Ｆを行うＦＥ−ＰＯＲＴ１１１、管理計算機１７との通信を行うネットワークＩ／Ｆ１１２、ストレージ装置間での通信を行うためのＰＯＲＴ１１３、装置全体を制御する複数のＭＰＰＫ（Micro  Processor  Package）１１４、ホスト計算機１６からの/へのデータ及びＨＤＤ１１７からの/へのデータを一時的に格納するＣＭＰＫ（Cache  Memory  Package）１１５、ＨＤＤ１１７とのデータ送受信を制御するＢＥ（Back  End）−ＰＯＲＴ１１６の構成要素を備え、更に各構成用を接続する内部ネットワーク１１９を備える。また、ＭＰＰＫ１１４は、複数のプロセッサコア１１４１と、各プロセッサコアで使用される制御プログラムや制御データを格納するローカルメモリ１１４２を有する。
【００１８】
また、ストレージ装置１１から１５は、複数のＨＤＤ１１７を用いて論理ボリュームを構成し、構成された論理ボリュームを、他のストレージ装置の論理ボリュームへ、ＰＯＲＴ１１３及び接続線１１３１（Fibre  ChannelプロトコルやLANなど）を用いてオフロードデータコピーを行う。なお、オフロードデータコピー処理は、各論理ボリュームへのアクセス担当するオーナ権を有するＭＰＰＫ１１４ないしＭＰＰＫ１１４内のプロセッサコア１１４１が行う。
【００１９】
＜オフロードデータコピー＞
オフロードデータコピーとは、本来はホスト計算機１６が行う処理である複製（コピー）やマイグレーション機能（コピー及び削除）を、ホスト計算機１６ではなくストレージ装置間で実行する機能である。このオフロードデータコピー機能によりホスト計算機１６は、コピー対象データの入出力をすることなく、コピー処理を実行できる。これにより、ホスト計算機１６の使用リソース（ＣＰＵやメモリ）削減効果、ホスト計算機１６とストレージ装置間の通信量削減による処理時間短縮が見込める。
【００２０】
オフロードデータコピーとして、主に下記（１）及び（２）の２方式がある。
（１）一命令（Ｓｉｎｇｌｅ）オフロードデータコピー（以下、ＳＣＯＰＹ命令と称す）
ＳＣＯＰＹ命令は、コピー元仮想ボリューム名（以下、コピー元ボリューム）、コピー先仮想ボリューム名（以下、コピー先ボリューム）、コピー元ボリュームでのコピーデータ格納元、コピー先ボリュームでのコピーデータ格納先の情報から構成される。コピーデータ格納元及びコピーデータ格納先には、例えば、格納開始ＬＢＡ（Logical  Block  Address）と格納ブロック数で表されたアドレス範囲が格納される。なお、ＳＣＯＰＹ命令でコピー元仮想ボリューム名ないしコピー先仮想ボリューム名の代わりに、仮想ボリュームを一意に識別するコピー元仮想ボリュームＩＤ（コピー元ＶＯＬ−ＩＤ）ないしコピー先仮想ボリュームＩＤ（コピー先ＶＯＬ−ＩＤ）を用いることもできる。
【００２１】
ホスト計算機１６がコピー元ボリューム（ＶＯＬ−Ａ）からコピー先ボリューム（ＶＯＬ−Ｂ）へのオフロードコピー命令（ＳＣＯＰＹ命令）をストレージ装置１  １１に発行し、発行された命令をストレージ装置１  １１は受領する。そして、コピー元ボリューム（ＶＯＬ−Ａ）へのＩ／Ｏ処理を担当するＭＰＰＫ−Ａ（オーナ権ＭＰＰＫとも呼ぶ）は、コピー元ボリューム（ＶＯＬ−Ａ）からデータをリードする。また、コピー先ボリューム（ＶＯＬ−Ｂ）へのＩ／Ｏ処理を担当するＭＰＰＫ−Ｂは、コピー元ボリューム（ＶＯＬ−Ａ）からリードされたデータをＭＰＰＫ−Ａから受領し、コピー先ボリューム（ＶＯＬ−Ｂ）にライトする。なお、ＳＣＯＰＹ命令は、コピー元ボリュームとコピー先ボリュームとが、同一ストレージ装置内のボリュームであれば、どのボリュームでも受け取ることができる。コピー先ボリューム（ＶＯＬ−Ｂ）がＳＣＯＰＹ命令を受信し、コピー元ボリューム（ＶＯＬ−Ａ）との間でオフロードデータコピーを行うこともできる。
【００２２】
更に、コピー元ボリューム（ＶＯＬ−Ａ）でもコピー先ボリューム（ＶＯＬ−Ｂ）でもない第３のＶＯＬ−ＣがＳＣＯＰＹ命令を受領して、オフロードデータコピーを制御することができる。その場合、ＳＣＯＰＹ命令を受領したＭＰＰＫ−Ｃ（ＶＯＬ−Ｃ）は、ＭＰＰＫ−Ａ（ＶＯＬ−Ａ）にリード命令を、ＭＰＰＫ−Ｂ（ＶＯＬ−Ｂ）にライト命令を発行しデータコピーを行わせる。これにより、コピー元ボリューム（ＶＯＬ−Ａ）でリードが実行され、コピー先ボリューム（ＶＯＬ−Ｂ）にリードされたデータのライトが実行される。ＳＣＯＰＹ命令を受け取るボリュームに依ってＳＣＯＰＹ命令によるオフロードデータコピー処理に差はない。そのため、本実施例ではコピー元ボリューム（ＶＯＬ−Ａ）がＳＣＯＰＹ命令を受領するケースを中心に説明する。
【００２３】
（２）二命令（Ｍｕｌｔｉ）コピー（トークン方式、以下、ＴＣＯＰＹ命令と称す）
まず、ホスト計算機１６は、コピー元仮想ボリューム名、コピー元仮想ボリュームでのコピーデータ格納元の情報で構成されるトークン取得命令を、ストレージ装置１  １１（例えば、ＶＯＬ−Ａ）に発行する。トークン取得命令を受領したストレージ装置１  １１は、コピー元仮想ボリューム名およびコピー元仮想ボリュームでのコピーデータ格納元の情報に、トークンを一意に示すトークンＩＤを付加したトークンを生成し、ホスト計算機１６に返信する。
【００２４】
次に、ホスト計算機１６は、コピー先仮想ボリューム名、コピー元仮想ボリュームでのコピーデータ格納先、受領したトークンで構成されるＴＣＯＰＹ命令をストレージ装置１  １１のコピー先ボリュームへ送信する。ＴＣＯＰＹ命令を受領したストレージ装置１  １１は、ＶＯＬ−ＡからＶＯＬ−Ｂへのオフロードデータコピーを行う。 なお、ＴＣＯＰＹ命令では、トークンを送付するホスト計算機は、トークン取得命令を発行したホスト計算機でもよいし、トークン取得命令を実行したホスト計算機からトークンの複製を受領した別のホスト計算機でもよい。また、ＴＣＯＰＹ命令でもＳＣＯＰＹ命令と同様、コピー元仮想ボリューム名ないしコピー先仮想ボリューム名の代わりに、仮想ボリュームを一意に識別するコピー元仮想ボリュームＩＤ（コピー元ＶＯＬ−ＩＤ）ないしコピー先仮想ボリュームＩＤ（コピー先ＶＯＬ−ＩＤ）を用いることもできる。
【００２５】
＜オフロードデータコピーパターン＞
本実施例では、ホスト計算機１６から指定されたオフロードデータコピーのコピー元（ＶＯＬ−Ａ）が実ボリュームＶＯＬ−Ａ１（ＰＶＯＬ）とＶＯＬ−Ａ２（ＳＶＯＬ）とから構成されるＨＡ構成の仮想ボリュームであり、ホスト計算機１６から指定されたオフロードデータコピーのコピー先（ＶＯＬ−Ｂ）が実ボリュームＶＯＬ−Ｂ１（ＰＶＯＬ）とＶＯＬ−Ｂ２（ＳＶＯＬ）とから構成されるＨＡ構成の仮想ボリュームである場合を考える。この場合、ＶＯＬ−Ａ、ＶＯＬ−Ｂを構成する実ボリュームのストレージ装置における配置とオフロードデータコピーの方式により、以下のようなケースが存在する。
・ケース１（Ｃ０１）：ＶＯＬ−Ａ１とＶＯＬ−Ｂ１が同一装置内（ＳＣＯＰＹ命令）
・ケース２（Ｃ０２）：ＶＯＬ−Ａ１とＶＯＬ−Ｂ２が同一装置内（ＳＣＯＰＹ命令）
・ケース３（Ｃ０３）：ＶＯＬ−Ａ２とＶＯＬ−Ｂ１が同一装置内（ＳＣＯＰＹ命令）
・ケース４（Ｃ０４）：ＶＯＬ−Ａ２とＶＯＬ−Ｂ２が同一装置内（ＳＣＯＰＹ命令）
・ケース５（Ｃ０５）：ＶＯＬ−Ａ１とＶＯＬ−Ｂ１が同一装置内（ＴＣＯＰＹ命令）
・ケース６（Ｃ０６）：ＶＯＬ−Ａ１とＶＯＬ−Ｂ２が同一装置内（ＴＣＯＰＹ命令）
・ケース７（Ｃ０７）：ＶＯＬ−Ａ２とＶＯＬ−Ｂ１が同一装置内（ＴＣＯＰＹ命令）
・ケース８（Ｃ０８）：ＶＯＬ−Ａ２とＶＯＬ−Ｂ２が同一装置内（ＴＣＯＰＹ命令）
・ケース１１（Ｃ１１）ＶＯＬ−Ａ１とＶＯＬ−Ｂ１が異なる（別の）装置
・ケース１２（Ｃ１２）ＶＯＬ−Ａ１とＶＯＬ−Ｂ２が異なる（別の）装置
・ケース１３（Ｃ１３）ＶＯＬ−Ａ２とＶＯＬ−Ｂ１が異なる（別の）装置
・ケース１４（Ｃ１４）ＶＯＬ−Ａ２とＶＯＬ−Ｂ２が異なる（別の）装置
なお、ケース１１（Ｃ１１）からケース１４（Ｃ１４）の異なる（別の）装置でのコピー動作については、同一装置内のケースでの“同一装置内コピー（ローカルコピー）”の代わりに、“別装置へのコピー（リモートコピー）”を使用する。また、“同一装置内ボリュームのサーチ”の代わりに“接続装置内ボリュームのサーチ”を実行する。以降の説明では、ＶＯＬ−Ａ１（ＰＶＯＬ）、ＶＯＬ−Ａ２（ＳＶＯＬ）、ＶＯＬ−Ｂ１（ＰＶＯＬ）、ＶＯＬ−Ｂ２（ＳＶＯＬ）と表記し、ＶＯＬ−Ａ１（ＰＶＯＬ）とＶＯＬ−Ａ２（ＳＶＯＬ）とはＨＡペア構成であるコピー元ＶＯＬ、ＶＯＬ−Ｂ１（ＰＶＯＬ）とＶＯＬ−Ｂ２（ＳＶＯＬ）ともＨＡペア構成であるコピー先ＶＯＬとする。また、ＶＯＬ−ＡとはＶＯＬ−Ａ１とＶＯＬ−Ａ２を指す仮想ＶＯＬ名で、ＶＯＬ−Ｂは、ＶＯＬ−Ｂ１とＶＯＬ−Ｂ２を指す仮想ＶＯＬ名とする。なお、本実施例では、コピー元ＶＯＬないしコピー先ＶＯＬがＨＡペア構成でなくてもよく、どちらか一方がＨＡペア構成としてればよい。
【００２６】
＜ＶＯＬ管理テーブル＞
図３及び図４は、ＶＯＬ管理テーブルの構成例を示す図である。ＶＯＬ管理テーブル１は、（Ｃ０１）、（Ｃ０５）、（Ｃ０２）、（Ｃ０６）でのボリューム管理テーブルである。ストレージ装置１  １１（ストレージ１）用テーブルがＶＯＬ管理テーブル３１、ストレージ装置２  １２（ストレージ２）用テーブルがＶＯＬ管理テーブル３２、ストレージ装置３  １３（ストレージ３）用テーブルがＶＯＬ管理テーブル３３である。ＶＯＬ管理テーブル１は、実ＶＯＬ名３１１、仮想ＶＯＬ名３１２、ＶＯＬ種別３１３、ＨＡペアＶＯＬ格納先３１４を備える。なお、ＶＯＬ管理テーブル３１／ＶＯＬ管理テーブル３２／ＶＯＬ管理テーブル３３は、ストレージ１  １１／ストレージ２  １２／ストレージ３  １３のローカルメモリ１１４２それぞれに格納されるが、３つのＶＯＬ管理テーブル全てを各ストレージ装置のローカルメモリ１１４２に格納することもできる。
【００２７】
なお、ＶＯＬ管理テーブル３１及びＶＯＬ管理テーブル３３の実ＶＯＬ名３１１とＨＡペアＶＯＬ格納先３１４の括弧内の表記が（Ｃ０２）、（Ｃ０６）の場合で、それ以外は、４つのケース共に同じである。
【００２８】
例えば、ＶＯＬ管理テーブル３１の実ＶＯＬ名３１１が“Ｂ１（Ｂ２）”とあるのは、（Ｃ０１）、（Ｃ０５）の場合が“Ｂ１”で、（Ｃ０２）、（Ｃ０６）の場合が“Ｂ２”である。また、ＨＡペアＶＯＬ格納先３１４が“ストレージ３のＢ２（Ｂ１）”とあるのは、（Ｃ０１）、（Ｃ０５）の場合が“ストレージ３のＢ２”で、（Ｃ０２）、（Ｃ０６）の場合が“ストレージ３のＢ１”である。なお、どのケースも仮想ＶＯＬ名３１２は“Ｂ”で、ＶＯＬ種別３１３は“ＨＡ−ＰＶＯＬ”である。
【００２９】
同じく、ＶＯＬ管理テーブル３３の実ＶＯＬ名３１１が“Ｂ２（Ｂ１）”とあるのは、（Ｃ０１）、（Ｃ０５）の場合が“Ｂ２”で、（Ｃ０２）、（Ｃ０６）の場合が“Ｂ１”である。また、ＨＡペアＶＯＬ格納先３１４が“ストレージ１のＢ１（Ｂ２）”とあるのは、（Ｃ０１）、（Ｃ０５）の場合が“ストレージ１のＢ１”で、（Ｃ０２）、（Ｃ０６）の場合が“ストレージ１のＢ２”である。なお、どのケースも仮想ＶＯＬ名３１２は“Ｂ”で、ＶＯＬ種別３１３は“ＨＡ−ＳＶＯＬ”である。
【００３０】
ＶＯＬ管理テーブル１は、このように各ストレージ装置のボリュームを管理し、ＭＰＰＫ１１４がＶＯＬ管理テーブル１を検索することで、必要なボリュームがどのストレージ装置に存在するか、また、このＶＯＬ管理テーブル１におり、どのボリュームが単一（Ｓｉｍｐｌｅｘ）か、ＨＡペア構成となっているかが分かる。
【００３１】
また、ＶＯＬ管理テーブル２は、（Ｃ０４）、（Ｃ０８）、（Ｃ０３）、（Ｃ０７）でのボリューム管理テーブルである。ストレージ１  １１用テーブルがＶＯＬ管理テーブル４１、ストレージ装置２  １２（ストレージ２）用テーブルがＶＯＬ管理テーブル４２、ストレージ装置３  １３（ストレージ３）用テーブルがＶＯＬ管理テーブル４３である。ＶＯＬ管理テーブル２は、ＶＯＬ管理テーブル１と同様、実ＶＯＬ名３１１、仮想ＶＯＬ名３１２、ＶＯＬ種別３１３、ＨＡペアＶＯＬ格納先３１４を備える。また、ＶＯＬ管理テーブル１とＶＯＬ管理テーブル２を合わせて、ＶＯＬ管理テーブルと呼ぶことがある。
【００３２】
なお、ＶＯＬ管理テーブル４２及びＶＯＬ管理テーブル４３の実ＶＯＬ名３１１とＨＡペアＶＯＬ格納先３１４の括弧内の表記が（Ｃ０３）、（Ｃ０７）の場合で、それ以外は、４つのケース共に同じである。
【００３３】
例えば、ＶＯＬ管理テーブル４２の実ＶＯＬ名３１１が“Ｂ２（Ｂ１）”とあるのは、（Ｃ０４）、（Ｃ０８）の場合が“Ｂ２”で、（Ｃ０３）、（Ｃ０７）の場合が“Ｂ１”である。また、ＨＡペアＶＯＬ格納先３１４が“ストレージ３のＢ１（Ｂ２）”とあるのは、（Ｃ０４）、（Ｃ０８）の場合が“ストレージ３のＢ１”で、（Ｃ０３）、（Ｃ０７）の場合が“ストレージ３のＢ２”である。なお、どのケースも仮想ＶＯＬ名３１２は“Ｂ”で、ＶＯＬ種別３１３は“ＨＡ−ＳＶＯＬ”である。
【００３４】
同じく、ＶＯＬ管理テーブル４３の実ＶＯＬ名３１１が“Ｂ１（Ｂ２）”とあるのは、（Ｃ０４）、（Ｃ０８）の場合が“Ｂ１”で、（Ｃ０３）、（Ｃ０７）の場合が“Ｂ２”である。また、ＨＡペアＶＯＬ格納先３１４が“ストレージ２のＢ２（Ｂ１）”とあるのは、（Ｃ０４）、（Ｃ０８）の場合が“ストレージ２のＢ２”で、（Ｃ０３）、（Ｃ０７）の場合が“ストレージ２のＢ１”である。なお、どのケースも仮想ＶＯＬ名３１２は“Ｂ”で、ＶＯＬ種別３１３は“ＨＡ−ＰＶＯＬ”である。
【００３５】
ＶＯＬ管理テーブル１と同様、ＭＰＰＫ１１４がＶＯＬ管理テーブル２を検索して、ストレージ装置内のボリュームの構成を特定する。
【００３６】
次に、ＳＣＯＰＹ命令でのオフロードデータコピー動作について、ケース毎に説明する。
＜Ｃ０１：ＶＯＬ−Ａ１、ＶＯＬ−Ｂ１が同一装置内（ＳＣＯＰＹ）＞
ＳＣＯＰＹ命令のコピー元ボリューム名に“ＶＯＬ−Ａ”と、コピー先ボリューム名に“ＶＯＬ−Ｂ”、コピーデータ格納元およびコピーデータ格納先には、それぞれアドレス情報が格納されている。図５は、第１のオフロードデータコピー動作を示す図である。このケースでは、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１がストレージ１  １１という同一装置内にあるものとする。
【００３７】
Ｓ０１１で、ホスト計算機１６がコピー元ＶＯＬ−Ａからコピー先ＶＯＬ−Ｂへのオフロードコピー命令（ＳＣＯＰＹ命令）を、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４に送信する。Ｓ０１２で、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１へのＳＣＯＰＹ命令を受領する。Ｓ０１３で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１が存在する同一ストレージ（ストレージ１  １１）内のボリュームをＶＯＬ管理テーブル３１で検索する。検索の結果、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ（ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１）とＶＯＬ−Ｂ（ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１）をストレージ１  １１内に発見する。また、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１のＨＡペアＶＯＬ格納先３１４から、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とストレージ２  １２のＶＯＬ−Ａ２（ＳＶＯＬ）１２７２とがＨＡペア構成、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１とストレージ３  １３のＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２とがＨＡペア構成であると判断する。この検索により、ＳＣＯＰＹ命令でのコピー元ボリュームとコピー先ボリュームとが、どのストレージ装置に存在するかを特定できると共にＨＡペア構成の状態も認識できる。
【００３８】
Ｓ０１４で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１からコピーデータ格納元の情報で指定されたコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０１５で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１でのコピーデータ格納先に、キャッシュメモリからリードしたコピー対象データをライトする。
【００３９】
Ｓ０１６で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１の検索結果より、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２とＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１とがＨＡペア構成すると判断し、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２へのコピー対象データのライト命令を、ストレージ３  １３のＭＰＰＫ１１４に転送する。Ｓ０１７で、ストレージ３  １３のＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４が、ライト命令を受信する。Ｓ０１８で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２にコピー対象データをライトする。
【００４０】
なお、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１がＨＡペア構成でない単一ボリューム（Ｓｉｍｐｌｅｘ）の場合と、ＨＡペア構成のボリューム（ＨＡ−ＰＶＯＬ）である２ケースがある。また、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１もＨＡペア構成でない単一ボリュームの場合と、ＨＡペア構成のボリュームである２ケースがある。ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１がＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２とのＨＡペア構成の場合、コピー対象データをＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２の順番でライトする。
【００４１】
また、前述のように、ＳＣＯＰＹ命令を受け取るボリュームは、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１と同一装置内のボリュームであればよい。ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１以外のボリュームのＩ／Ｏ処理を担当するＭＰＰＫ１１４が受信したＳＣＯＰＹ命令をＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４に処理を転送する。そのため、ＳＣＯＰＹ命令転送後の処理は、上記Ｓ０１１からＳ０１８の処理と同じになる。また、ＶＯＬ−Ａ１がＳＶＯＬで、ＶＯＬ−Ａ２がＰＶＯＬの場合でも、処理内容は同じである。なお、ＶＯＬ−Ａ２（ＳＶＯＬ）がＳＣＯＰＹ命令を受信した場合の処理は、後述する（Ｃ０３）でＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合の処理と同じである。
【００４２】
以上のように、オフロードデータコピー命令（ＳＣＯＰＹ命令）を受領したＶＯＬ−Ａ１（ＰＶＯＬ）１１７１が、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１と、ＨＡペア構成をするＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２へのコピー対象データを書き込むことができる。そのため、従来ホスト計算機１６が行っていたＨＡペア構成のボリューム間のデータコピーを、ストレージ装置間だけで行うことができるので、ホスト計算機１６でのデータ処理時間の削減・負荷の減少といった高性能化及びリソース効率化が図れる。
【００４３】
＜Ｃ０２：ＶＯＬ−Ａ１、ＶＯＬ−Ｂ２が同一装置内（ＳＣＯＰＹ）＞
図６は、第２のオフロードデータコピー動作を示す図である。このケースでは、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２がストレージ１  １１という同一装置内にあるものとする。
【００４４】
Ｓ０２１で、ホスト計算機１６がコピー元ＶＯＬ−Ａからコピー先ＶＯＬ−ＢへのＳＣＯＰＹ命令を、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４に送信する。Ｓ０２２で、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＳＣＯＰＹ命令を受領する。Ｓ０２３で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１が存在する同一ストレージ装置（ストレージ１  １１）内のボリュームをＶＯＬ管理テーブル３１で検索する。検索の結果、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ（ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１）とＶＯＬ−Ｂ（ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２）を発見する。また、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１のＨＡペアＶＯＬ格納先３１４から、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とストレージ装置２  １２のＶＯＬ−Ａ２（ＳＶＯＬ）１２７２とがＨＡペア構成、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２とストレージ３  １３のＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１とがＨＡペア構成であると判断する。
【００４５】
Ｓ０２４で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０２５で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１の検索結果より、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２とＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１とがＨＡペア構成すると判断し、コピー対象データのライト命令をストレージ３  １３のＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４に転送する。
【００４６】
Ｓ０２６で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、コピー対象データのライト命令を受信する。Ｓ０２７で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１にコピー対象データをライトする。そして、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４はライト完了報告を、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４に送信する。Ｓ０２８で、ストレージ１  １１のＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４は、ライト完了報告受領後にＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２へコピー対象データをライトする。以上のようにホスト計算機１６は、ストレージ装置にＳＣＯＰＹ命令を発行するだけで、オフロードデータコピーをストレージ間のみで実行できる。
【００４７】
また、ＶＯＬ−Ａ１がＳＶＯＬで、ＶＯＬ−Ａ２がＰＶＯＬの場合でも、処理内容は同じである。なお、ＶＯＬ−Ａ２（ＳＶＯＬ）がＳＣＯＰＹ命令を受信した場合の処理は、後述する（Ｃ０４）でＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合の処理と同じである。ＨＡペア構成の場合、リードするデータはＰＶＯＬまたはＳＶＯＬのどちらからでも可能であるが、ライトの場合は必ずＰＶＯＬにライトした後にＳＶＯＬにライトして、ＨＡペア構成とするボリューム間でのデータを同期させる。そのため、ＶＯＬ−Ｂにおいて、ＳＶＯＬが最初にライト命令を受信した場合はＰＶＯＬにライト命令を転送しＰＶＯＬにデータライトが完了した後にＳＶＯＬへのライトを実行する。このケースでも（Ｃ０１）と同様の効果を得られる。
【００４８】
＜Ｃ０３：ＶＯＬ−Ａ２、ＶＯＬ−Ｂ１が同一装置内（ＳＣＯＰＹ）＞
図７は、第３のオフロードデータコピー動作を示す図である。このケースでは、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１がストレージ２  １２という同一装置内にあるものとする。
【００４９】
Ｓ０３１で、ホスト計算機１６がコピー元ＶＯＬ−Ａからコピー先ＶＯＬ−ＢへのＳＣＯＰＹ命令を、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４に送信する。Ｓ０３２で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４が、ＳＣＯＰＹ命令を受領する。Ｓ０３３で、ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１が存在する同一ストレージ１  １１内のボリュームをＶＯＬ管理テーブル４１で検索する。検索の結果、ＭＰＰＫ１１４は、ＶＯＬ−Ａ（ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１）を発見するが、ＶＯＬ−Ｂは発見できない（未発見）。また、ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とＨＡペア構成するＶＯＬ−Ａ２（ＳＶＯＬ）１２７２を、ストレージ２  １２内に発見する。
【００５０】
Ｓ０３４で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＳＣＯＰＹ命令をストレージ２  １２に転送する。Ｓ０３５で、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＳＣＯＰＹ命令を受領しＶＯＬ管理テーブル４２を検索する。その結果、ストレージ２  １２内にＶＯＬ−Ａ２（ＳＶＯＬ）１２７２と、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１を発見する。更に、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル４２から、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１とＨＡペア構成するＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２がストレージ３  １３に存在することを認識する。
【００５１】
Ｓ０３６で、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０３７で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１にキャッシュメモリからリードしたコピー対象データをライトする。
【００５２】
Ｓ０３８で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１とＨＡペア構成するＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２へのコピー対象データのライト命令を、ストレージ３  １３のＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４に転送する。Ｓ０３９で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４が、ライト命令を受信する。Ｓ０３ａで、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２にコピー対象データをライトする。以上のようにホスト計算機１６は、ストレージ装置にＳＣＯＰＹ命令を発行するだけで、オフロードデータコピーをストレージ間のみで実行できる。
【００５３】
なお、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１がＨＡペア構成でない単一ボリュームの場合と、ＨＡペア構成のボリュームである２ケースがある。また、ＶＯＬ−Ａ１がＳＶＯＬで、ＶＯＬ−Ａ２がＰＶＯＬの場合でも、処理内容は同じである。なお、ＶＯＬ−Ａ２（ＳＶＯＬ）がＳＣＯＰＹ命令を受信した場合の処理は、前述の（Ｃ０１）でＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合の処理と同じである。
【００５４】
＜Ｃ０４：ＶＯＬ−Ａ２、ＶＯＬ−Ｂ２が同一装置内（ＳＣＯＰＹ）＞
図８は、第４のオフロードデータコピー動作を示す図である。このケースでは、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２がストレージ２  １２という同一装置内にあるものとする。
【００５５】
Ｓ０４１で、ホスト計算機１６がコピー元ＶＯＬ−Ａからコピー先ＶＯＬ−ＢへのＳＣＯＰＹ命令を、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４に送信する。Ｓ０４２で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＳＣＯＰＹ命令を受領する。Ｓ０４３で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１が存在する同一ストレージ１  １１内のボリュームをＶＯＬ管理テーブル４１で検索する。検索の結果、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ（ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１）を発見するが、ＶＯＬ−Ｂは発見できない（未発見）。また、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とＨＡペア構成するＶＯＬ−Ａ２（ＳＶＯＬ）１２７２を、ストレージ２  １２内に発見する。
【００５６】
Ｓ０４４で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、オフロードデータコピー命令（ＳＣＯＰＹ命令）を、ストレージ２  １２のＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４に転送する。Ｓ０４５で、ＳＣＯＰＹ命令を受領したＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル４２を検索する。その結果、ストレージ２  １２内にＶＯＬ−Ａ２（ＳＶＯＬ）１２７２と、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２を発見する。更に、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル４２から、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２とＨＡペア構成するＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１がストレージ３  １３に存在することを認識する。
【００５７】
Ｓ０４６で、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。そして、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４はライト命令をＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４に送信する。Ｓ０４７で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１の検索結果で認識したＨＡペア構成するＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４へコピー対象データのライト命令を転送する。Ｓ０４８で、ストレージ３  １３のＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４が、ライト命令を受信する。Ｓ０４９で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１にコピー対象データをライトする。そして、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１にＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１でのライト完了報告を送信する。Ｓ０３ａで、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２にコピー対象データをライトする。以上のようにホスト計算機１６は、ストレージ装置にＳＣＯＰＹ命令を発行するだけで、オフロードデータコピーをストレージ間のみで実行できる。
【００５８】
また、ＶＯＬ−Ａ１がＳＶＯＬで、ＶＯＬ−Ａ２がＰＶＯＬの場合でも、処理内容は同じである。なお、ＶＯＬ−Ａ２（ＳＶＯＬ）がＳＣＯＰＹ命令を受信した場合の処理は、前述の（Ｃ０２）でＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合の処理と同じである。
【００５９】
＜ＳＣＯＰＹ命令のメイン処理＞
図９は、第１から第４でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。説明を簡便にするため、処理の主体を単純にＭＰＰＫ１１４とする。
【００６０】
Ｓ９００で、ＭＰＰＫ１１４は、ホスト計算機１６からＳＣＯＰＹ命令（コピー元ＶＯＬ名、コピー先ＶＯＬ名、コピーデータ格納元、コピーデータ格納先）を受領する。Ｓ９０１で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１／４１を検索してコピー元ＶＯＬ名を見つけ出す。Ｓ９０２で、ＭＰＰＫ１１４は、コピー元ＶＯＬを発見したかを判断する。コピー元ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ９０２を実行する。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４はＳ９０３を実行し、コピー元ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。なお、Ｓ９０１及びＳ９０２の処理を、ＳＣＯＰＹ命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー元ＶＯＬを探し出すようにしてもよい。
【００６１】
Ｓ９０４で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１／４１を検索してコピー先ＶＯＬ名を見つけ出す。Ｓ９０５で、ＭＰＰＫ１１４は、コピー先ＶＯＬを発見したかを判断する。コピー先ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４は自装置内でのオフロードデータコピーが可能と判断しＳ９０６を実行する。このケースは、前述の（Ｃ０１）及び（Ｃ０２）である。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４は自装置内でのオフロードデータコピーが不可能と判断しＳ９０８を実行する。
【００６２】
Ｓ９０６で、ＭＰＰＫ１１４は、コピー元ＶＯＬからコピーデータ格納元で指定されたコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリのリードしたコピー対象データをライトする。Ｓ９０７で、ＭＰＰＫ１１４は、ＣＭＰＫ１１５のキャッシュメモリに格納したコピー対象データをリードし、コピー先ＶＯＬでのコピーデータ格納先にリードしたコピー対象データをライトする。そして、ＭＰＰＫ１１４は、全てのコピー対象データをコピーした後、ＳＣＯＰＹ命令のメイン処理を終了し、コピー完了報告をホスト計算機１６に送信する。
【００６３】
Ｓ９０８で、ＭＰＰＫ１１４は、コピー元ＶＯＬ種別がＨＡ−ＰＶＯＬまたはＨＡ−ＳＶＯＬであるかをＶＯＬ管理テーブル３１／４１のＶＯＬ種別３１３で判断する。ＨＡペア構成であれば（Ｙｅｓ）、ＭＰＰＫ１１４はＳ９１０を実行する。ＨＡペア構成でなければ（Ｎｏ）、ＭＰＰＫ１１４はＳ９０９を実行し、コピー先ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。
【００６４】
Ｓ９１０で、ＭＰＰＫ１１４は、コピー元ＶＯＬのＨＡペアＶＯＬが存在するストレージ装置にＳＣＯＰＹ命令を転送する。ＳＣＯＰＹ命令を転送されたストレージ装置での処理は、図１０で説明する。そして、ＭＰＰＫ１１４はＳＣＯＰＹ命令の実行を終了する。なお、コピー対象データのリード開始からライト終了までの間（Ｓ９０６及びＳ９０７、Ｓ９１０）は、コピー対象データはライトロックして、他処理で変更されないようにする。
【００６５】
＜ＳＣＯＰＹ命令を受領したストレージ装置側でのメイン処理＞
図１０は、転送されたオフロードデータコピー命令（ＳＣＯＰＹ命令）を受領したストレージ装置側でのオフロードデータコピー処理を示すフローチャートである。本処理は、（Ｃ０３）、（Ｃ０４）での転送ＳＣＯＰＹ命令をストレージ装置が受領したことを契機に開始される。
【００６６】
Ｓ１０００で、ＭＰＰＫ１１４は、他のストレージ装置から転送されたＳＣＯＰＹ命令を受領する。Ｓ１００１で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１／４１を検索してＳＣＯＰＹ命令で指定されたコピー元ＶＯＬ名を見つけ出す。Ｓ１００２で、ＭＰＰＫ１１４は、コピー元ＶＯＬを発見したかを判断する。コピー元ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１００４を実行する。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４はＳ１００３を実行し、コピー元ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。なお、Ｓ１００１及びＳ１００２の処理を、転送されたＳＣＯＰＹ命令を受領したストレージ装置に接続されている全てのストレージ装置に実行しコピー元ＶＯＬを探し出すようにしてもよい。
【００６７】
Ｓ１００４で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１／４１を検索してＳＣＯＰＹ命令で指定されたコピー先仮想ＶＯＬ名（コピー先ＶＯＬ）を見つけ出す。Ｓ１００５で、ＭＰＰＫ１１４は、コピー先ＶＯＬを発見したかを判断する。コピー先ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１００７を実行する。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４はＳ１００６を実行し、コピー先ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。なお、Ｓ１００４及びＳ１００５の処理を、転送されたＳＣＯＰＹ命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー先ＶＯＬを探し出すようにしてもよい。
【００６８】
Ｓ１００７で、ＭＰＰＫ１１４は、コピー元ＶＯＬにおいてＳＣＯＰＹ命令で指定されたコピーデータ格納元からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリのリードしたコピー対象データをライトする。Ｓ１００８で、ＭＰＰＫ１１４は、ＭＰＫ１１５のキャッシュメモリに格納したコピー対象データをリードし、コピー先ＶＯＬにおいてＳＣＯＰＹ命令で指定されたコピーデータ格納先へリードしたコピー対象データをライトする。Ｓ１００８の処理を完了した後、処理を図９のＳ９１０に戻す。なお、前述のＳ９０１、Ｓ９０４、Ｓ１００１、Ｓ１００４でのＶＯＬサーチ処理は図１１で説明する。
【００６９】
＜サーチ処理＞
図１１は、ボリュームサーチ処理を示すフローチャートである。Ｓ１１００で、ＭＰＰＫ１１４は、ＶＯＬサーチ処理（ＶＯＬ名の検索）を開始する。Ｓ１１０１で、ＭＰＰＫ１１４は、自ＶＯＬがあるストレージ装置のＶＯＬ管理テーブルの仮想ＶＯＬ名３１２から、引数（コピー元ＶＯＬ名ないしコピー先ＶＯＬ名）に該当する仮想ＶＯＬ名を探す。ＭＰＰＫ１１４は探し出した仮想ＶＯＬ名に対応する実ＶＯＬ名を、ＶＯＬ管理テーブルの実ＶＯＬ名３１１から取得する。ＭＰＰＫ１１４は、取得した実ＶＯＬ名を本処理のコールルーチンに渡し、処理を終了する。なお、該当する実ＶＯＬが存在しない場合は、エラー報告ないしＮＵＬＬ（空白）などの情報をコールルーチンに渡す。
【００７０】
＜ＶＯＬリード処理＞
図１２は、ボリュームからのデータ読み出し処理を示すフローチャートである。Ｓ１２００で、ＭＰＰＫ１１４は、引数で指定されたＶＯＬ名（コピー元ＶＯＬ名）に該当するボリュームからコピー対象データをリードする処理を開始する。Ｓ１２０１で、ＭＰＰＫ１１４は、コピー元ボリュームから読み出し、読み出したコピー対象データをＣＭＰＫ１１５のキャッシュメモリに書き出す。なお、リード処理は、ボリュームが単体ＶＯＬ（ＶＯＬ種別３１３が“Ｓｉｍｐｌｅｘ”）／ＰＶＯＬ／ＳＶＯＬの何れであるかは関係なく、単純にボリュームからコピー対象データを読み出す処理である。
【００７１】
＜ＶＯＬライト処理＞
図１３は、ボリュームへのデータ書き込み処理を示すフローチャートである。Ｓ１３００で、ＭＰＰＫ１１４は、引数で指定されたＶＯＬ名（コピー先ＶＯＬ名）に該当するボリュームにコピー対象データをライトする処理を開始する。
【００７２】
Ｓ１３０１で、ＭＰＰＫ１１４は、コピー先ＶＯＬがＨＡペア構成かを判断する。ＨＡペア構成でない場合（Ｎｏ）、ＭＰＰＫ１１４は、コピー先ＶＯＬが単一ＶＯＬで、その単一ＶＯＬへコピー対象データをライトするため、Ｓ１３０２を実行する。ＨＡペア構成である場合（Ｙｅｓ）、ＭＰＰＫ１１４は、Ｓ１３０３を実行する。Ｓ１３０２で、ＭＰＰＫ１１４は、図１２のリード処理でＣＭＰＫ１１５のキャッシュメモリに格納したコピー対象データを読み出し、読み出したコピー対象データをコピー先ＶＯＬに書き出す。
【００７３】
Ｓ１３０３で、ＭＰＰＫ１１４は、コピー先ＶＯＬがＰＶＯＬであるかを判断する。ＰＶＯＬである場合（Ｙｅｓ）、ＭＰＰＫ１１４は、コピー先ＰＶＯＬへコピー対象データを書き込むため、Ｓ１３０４以降の処理を実行する。なお、このコピー先ＰＶＯＬへのライトは、（Ｃ０１）、（Ｃ０３）、（Ｃ０５）、（Ｃ０７）の４ケースである。コピー先ＶＯＬがＰＶＯＬでなくＳＶＯＬである場合（Ｎｏ）、ＭＰＰＫ１１４は、コピー先ＳＶＯＬへコピー対象データを書き込むため、Ｓ１３０７以降の処理を実行する。なお、このコピー先ＳＶＯＬへのライトは、（Ｃ０２）、（Ｃ０４）、（Ｃ０６）、（Ｃ０８）の４ケースである。
【００７４】
Ｓ１３０４で、ＭＰＰＫ１１４は、ＣＭＰＫ１１５のキャッシュメモリに格納したコピー対象データを読み出し、読み出したコピー対象データをコピー先ＶＯＬ（ＰＶＯＬ）に書き出す。Ｓ１３０５で、ＭＰＰＫ１１４は、コピー対象データのライト命令をＨＡペア構成としているＳＶＯＬ担当ＭＰＰＫ１１４に転送する。Ｓ１３０６で、ＭＰＰＫ１１４は、ＳＶＯＬにコピー対象データをライトする。そして、ＰＶＯＬ担当ＭＰＰＫへ処理を返し、ＶＯＬライト処理を終了する。
【００７５】
Ｓ１３０７で、ＭＰＰＫ１１４は、コピー対象データのライト命令をＰＶＯＬ担当ＭＰＰＫ１１４に転送する。ＶＯＬへのライト処理では、ＰＶＯＬとＳＶＯＬ間でのデータ一致性を保証するため、最初にＰＶＯＬへライトした後にＳＶＯＬへライトする。Ｓ１３０８で、ＰＶＯＬ担当ＭＰＰＫ１１４は、ＰＶＯＬにコピー対象データをライトして、ＳＶＯＬ担当ＭＰＰＫ１１４に処理を返す。Ｓ１３０９で、ＳＶＯＬ担当ＭＰＰＫ１１４は、ＣＭＰＫ１１５のキャッシュメモリから読み出したコピー対象データをコピー先ＶＯＬ（ＳＶＯＬ）に書き出す。
【００７６】
次に、ＴＣＯＰＹ命令でのオフロードデータコピー動作について説明する。
＜ＨＡペア構成でのトークン取り扱い＞
ＨＡペア構成の場合、コピー元（トークン発行元）として仮想ＶＯＬ名を使用する。ＨＡペア構成ではＰＶＯＬもＰＶＯＬとペア構成するＳＶＯＬも仮想ＶＯＬ名は同じであるから、コピー元としてどちらのＶＯＬも使用することができる。そのため、トークンを発行したボリュームがＶＯＬ−Ａ１（ＰＶＯＬ）であっても、トークン発行元のＨＡペアであるＶＯＬ−Ａ２（ＳＶＯＬ）のどちらもコピー元として使用できる。この場合、ＶＯＬ−Ａ１（ＰＶＯＬ）で発行されたトークンは、ＶＯＬ−Ａ２（ＳＶＯＬ）でコピーされ二重化される。次に、トークン方式の命令（ＴＣＯＰＹ命令）でのオフロードデータコピー動作を説明する。
【００７７】
＜Ｃ０５：ＶＯＬ−Ａ１、ＶＯＬ−Ｂ１が同一装置内（ＴＣＯＰＹ）＞
図１４は、第５のオフロードデータコピー動作を示す図である。ＴＣＯＰＹ命令のコピー元ボリューム名に“ＶＯＬ−Ａ”と、コピー先ボリューム名に“ＶＯＬ−Ｂ”、コピーデータ格納元およびコピーデータ格納先には、それぞれアドレス情報が格納されている。このケースでは、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１がストレージ１  １１という同一装置内にあるものとする。
【００７８】
Ｓ０５１で、ホスト計算機１６からストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１へトークン取得命令が発行され、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４がそのトークン取得命令を受領する。ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、生成したコピー元ＶＯＬ−Ａに関するトークンをホスト計算機１６に送信し、ホスト計算機１６はそのトークンを取得する。Ｓ０５２で、ホスト計算機１６は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１に発行元のコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令を送信し、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１担当ＭＰＰＫ１１４が受信する。
【００７９】
Ｓ０５３で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１担当ＭＰＰＫ１１４は、ストレージ１  １１内ＶＯＬをＶＯＬ管理テーブル３１でサーチする。サーチした結果、ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１を発見する。Ｓ０５４で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０５５で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１にキャッシュメモリからリードしたコピー対象データをライトする。
【００８０】
Ｓ０５６で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１の検索結果より認識したＨＡペア構成するＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２へのコピー対象データのライト命令を、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４に転送する。Ｓ０５７で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４が、ライト命令を受信する。Ｓ０５８で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２にコピー対象データをライトする。
【００８１】
なお、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１がＨＡペア構成でない単一ボリュームの場合と、ＨＡペア構成のボリュームである２ケースがある。また、ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１もＨＡペア構成でない単一ボリュームの場合と、ＨＡペア構成のボリュームである２ケースがある。ＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１がＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２とのＨＡペア構成の場合、コピー対象データをＶＯＬ−Ｂ１（ＰＶＯＬ）１１８１、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２の順番でライトする。
【００８２】
また、ＶＯＬ−Ａ１がＳＶＯＬで、ＶＯＬ−Ａ２がＰＶＯＬの場合でも、処理内容は同じである。なお、ＶＯＬ−Ａ２（ＳＶＯＬ）がＴＣＯＰＹ命令を受信した場合の処理は、後述する（Ｃ０７）でＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合の処理と同じである。トークン取得時にトークンの二重化処理を行うため、ＶＯＬ−Ａ２がトークンの取得命令を受けた場合も、ＶＯＬ−Ａ１でトークンの複製と二重化が行われる。このトークンの複製と二重化処理は、（Ｃ０６）、（Ｃ０７）、（Ｃ０８）でも同じ処理が実行される。
【００８３】
以上のように、オフロードデータコピー命令（ＴＣＯＰＹ命令）を受領したコピー先ＶＯＬであるＶＯＬ−Ｂ１（ＰＶＯＬ）がコピー元ＶＯＬを検索し、検索したコピー元ＶＯＬのコピー対象データをＶＯＬ−Ｂ１（ＰＶＯＬ）と、ＨＡペア構成をするＶＯＬ−Ｂ２（ＳＶＯＬ）１１７１にコピー対象データを書き込むことができる。そのため、従来では、ホスト計算機１６が行っていたＨＡペア構成のボリューム間のデータコピーを、ストレージ装置間だけで行うことができるので、ホスト計算機１６でのデータ処理時間の削減・負荷の減少という高性能化及びリソース効率化が図れる。
【００８４】
＜Ｃ０６：ＶＯＬ−Ａ１、ＶＯＬ−Ｂ２が同一装置内（ＴＣＯＰＹ）＞
図１５は、第６のオフロードデータコピー動作を示す図である。
【００８５】
Ｓ０６１で、ホスト計算機１６からストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１へトークン取得命令が発行され、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４がそのトークン取得命令を受領する。ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、生成したコピー元ＶＯＬ−Ａに関するトークンをホスト計算機１６に送信し、ホスト計算機１６はそのトークンを取得する。Ｓ０６２で、ホスト計算機１６は、ストレージ３  １３のＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１に発行元のコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令を送信し、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４が受信する。
【００８６】
Ｓ０６３で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ストレージ３  １３内ＶＯＬをＶＯＬ管理テーブル３３でサーチする。サーチした結果、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１だけを発見し、コピー元ＶＯＬ−Ａは発見できない。なお、このサーチ処理で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１とＨＡペア構成するＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２がストレージ１  １１内に存在することを認識する。Ｓ０６４で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２にコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令を転送する。
【００８７】
Ｓ０６５で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４は、ストレージ１  １１内ＶＯＬをＶＯＬ管理テーブルでサーチする。サーチした結果、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１とＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２を発見する。Ｓ０６６で、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０６７で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４にキャッシュメモリからリードしたコピー対象データとライト命令を転送する。Ｓ０６８で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、コピー対象データとライト命令を受領する。Ｓ０６９で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１にコピー対象データを書き込む。書き込み完了後に、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、書き込み完了報告を、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４へ送る。Ｓ０６ａで、書き込み完了報告を受信したＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１１８２にコピー対象データを書き込む。
【００８８】
図１５の構成で、ＶＯＬ−Ａ２（ＳＶＯＬ）がＴＣＯＰＹ命令を受けた場合は、（Ｃ０８）で仮想ＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合に該当する。
【００８９】
＜Ｃ０７：ＶＯＬ−Ａ２、ＶＯＬ−Ｂ１が同一装置内（ＴＣＯＰＹ）＞
図１６は、第７のオフロードデータコピー動作を示す図である。
【００９０】
Ｓ０７１で、ホスト計算機１６からストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１へトークン取得命令が発行され、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４がそのトークン取得命令を受領する。ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、生成したコピー元ＶＯＬ−Ａに関するトークンをホスト計算機１６に送信し、ホスト計算機１６はそのトークンを取得する。Ｓ０７２で、ホスト計算機１６は、ストレージ２  １２のＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１に発行元のコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令を送信し、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４が受信する。
【００９１】
Ｓ０７３で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４は、ストレージ２  １２内ＶＯＬをＶＯＬ管理テーブル４２でサーチする。サーチした結果、ＭＰＰＫ１１４は、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２とＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１を発見する。なお、このサーチ処理で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１とＨＡペア構成するＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２がストレージ３  １３内に存在することを認識する。
【００９２】
Ｓ０７４で、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０７５で、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４にキャッシュメモリからリードしたコピー対象データとライト命令を転送する。そして、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１に受信したコピー対象データを書き込む。Ｓ０７６で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１２８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２にコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令とコピー対象データを転送する。
【００９３】
Ｓ０７７で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４はＴＣＯＰＹ命令とコピー対象データを受領する。Ｓ０７８で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ２（ＳＶＯＬ）１３８２にコピー対象データを書き込む。
【００９４】
図１６の構成で、ＶＯＬ−Ａ２（ＳＶＯＬ）がＴＣＯＰＹ命令を受けた場合は、（Ｃ０５）で仮想ＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合に該当する。
【００９５】
＜Ｃ０８：ＶＯＬ−Ａ２、ＶＯＬ−Ｂ２が同一装置内（ＴＣＯＰＹ）＞
図１７は、第８のオフロードデータコピー動作を示す図である。
【００９６】
Ｓ０８１で、ホスト計算機１６からストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１へトークン取得命令が発行され、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４がそのトークン取得命令を受領する。ＶＯＬ−Ａ（ＰＶＯＬ）担当ＭＰＰＫ１１４は、生成したコピー元ＶＯＬ−Ａに関するトークンをホスト計算機１６に送信し、ホスト計算機１６はそのトークンを取得する。Ｓ０８２で、ホスト計算機１６は、ストレージ３  １３のＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１に、発行元がコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令を送信し、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４が受信する。
【００９７】
Ｓ０８３で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ストレージ３  １３内ＶＯＬをＶＯＬ管理テーブル４３でサーチする。サーチした結果、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１をストレージ３  １３内に発見するがＶＯＬ−Ａは発見できない。なお、このサーチ処理で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１とＨＡペア構成するＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２がストレージ２  １２内に存在することを認識する。
【００９８】
Ｓ０８４で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１とＨＡペア構成するストレージ２  １２のＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４への発行元がコピー元ＶＯＬ−Ａのトークンを含むＴＣＯＰＹ命令を転送する。Ｓ０８５で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４は、ストレージ２  １２内ＶＯＬをＶＯＬ管理テーブル４２でサーチする。サーチした結果、ＭＰＰＫ１１４は、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２とＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２を発見する。
【００９９】
Ｓ０８６で、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２担当ＭＰＰＫ１１４は、ＶＯＬ−Ａ２（ＳＶＯＬ）１２７２からコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリにリードデータをライトする。Ｓ０８７で、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４が、リードしたコピー対象データとライト命令をＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４に転送する。
【０１００】
Ｓ０８８で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、コピー対象データとライト命令を受領する。Ｓ０８９で、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１にコピー対象データを書き込む。書き込み完了後に、ＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１担当ＭＰＰＫ１１４は、書き込み完了報告を、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４へ送る。Ｓ０８ａで、ＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２担当ＭＰＰＫ１１４が、コピー対象データをＶＯＬ−Ｂ２（ＳＶＯＬ）１２８２に書き込み。
【０１０１】
以上のように、ホスト計算機１６は、トークン取得命令と取得したトークンから生成したＴＣＯＰＹ命令をストレージ装置に送信するだけで、ストレージ装置間でのオフロードデータコピー（仮想ＶＯＬ−Ａから仮想ＶＯＬ−Ｂへのデータコピー）を実行させることができる。ホスト計算機１６は、ストレージ装置に対するデータコピーのためのリード／ライト処理を不要とできるので、処理性能を向上できる。また、ホスト計算機１６とストレージ装置間のネットワークを占有する時間も削減できるので、応答性能も向上できる。なお、図１７の構成で、ＶＯＬ−Ａ２（ＳＶＯＬ）がＴＣＯＰＹ命令を受けた場合は、（Ｃ０６）で仮想ＶＯＬ−ＡのＰＶＯＬとＳＶＯＬを入れ替えた場合に該当する。
【０１０２】
＜メイン処理（ＴＣＯＰＹ命令）＞
図１８は、第５から第８でのオフロードデータコピー動作におけるメイン処理を示すフローチャートである。本処理は、ホスト計算機１６がストレージ装置へのトークン取得命令で取得したトークンを含むＴＣＯＰＹ命令を、コピー先ＶＯＬを有するストレージ装置に発行したことを契機に処理が開始される。なお、説明を簡便にするため、処理の主体を単純にＭＰＰＫ１１４とする。Ｓ１８００で、ＭＰＰＫ１１４は、ＴＣＯＰＹ命令（トークン）を受領し、オフロードデータコピー処理を開始する。
【０１０３】
Ｓ１８０１で、ＭＰＰＫ１１４は、ＴＣＯＰＹ命令のコピー先仮想ＶＯＬ（以下、コピー先ＶＯＬ）名に該当するＶＯＬを、ＶＯＬ管理テーブルでサーチする。つまり、ＭＰＰＫ１１４は、ＶＯＬ管理テーブルの仮想ＶＯＬ名３１２にコピー先ＶＯＬ名が存在するかを確認する。Ｓ１８０２で、ＭＰＰＫ１１４は、コピー先ＶＯＬを発見したかを判断する。発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１８０４を、発見できない場合（Ｎｏ）はＳ１８０３を実行する。Ｓ１８０３で、ＭＰＰＫ１１４は、コピー先ＶＯＬを発見できなかったというエラー報告をホスト計算機１６に送信し、処理を終了する。
【０１０４】
Ｓ１８０４で、ＭＰＰＫ１１４は、ＴＣＯＰＹ命令のトークンからコピー元仮想ＶＯＬ（以下、コピー元ＶＯＬ）名を取得する。Ｓ１８０５で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブルの仮想ＶＯＬ名３１２に取得したコピー元ＶＯＬ名が存在するかをサーチする。Ｓ１８０６で、ＭＰＰＫ１１４は、コピー元ＶＯＬを発見したかを判断する。発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１８０７をする。このケースは、（Ｃ０５）及び（Ｃ０８）が該当し、１つのストレージ装置単独（自筐体内）でのオフロードデータコピーが可能なケースである。発見できない場合（Ｎｏ）、ＭＰＰＫ１１４はＳ１８０９を実行する。このケースは、（Ｃ０６）及び（Ｃ０７）が該当し、１つのストレージ装置単独（自筐体内）でのオフロードデータコピーが不可能なケースである。
【０１０５】
Ｓ１８０７で、ＭＰＰＫ１１４は、コピー元ＶＯＬのコピーデータ格納元からコピー対象データをリードする。Ｓ１８０８で、ＭＰＰＫ１１４は、コピー先ＶＯＬのコピーデータ格納先へコピー対象データをライトする。このＳ１８０７のリード処理とＳ１８０８のライト処理の間は、他の処理（デステージング処理等）がコピー対象データを書き換えないようライトロックを行う。
【０１０６】
Ｓ１８０９で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１／４１のＶＯＬ種別３１３で、コピー先ＶＯＬ種別がＨＡ−ＰＶＯＬまたはＨＡ−ＳＶＯＬかを判断する。ＨＡペア構成であれば（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１８１１を実行する。ＨＡペア構成でなければ（Ｎｏ）、ＭＰＰＫ１１４はＳ１８１０を実行し、コピー元ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。
【０１０７】
Ｓ１８１１で、ＭＰＰＫ１１４は、コピー先ＶＯＬのＨＡペアＶＯＬが存在するストレージ装置にＴＣＯＰＹ命令を転送する。ＴＣＯＰＹ命令を転送されたストレージ装置での処理は、図１９で説明する。そして、ＭＰＰＫ１１４は、ホスト計算機１６へＴＣＯＰＹ命令の完了報告を送信し、処理を終了する。
【０１０８】
＜転送ＴＣＯＰＹ命令の処理＞
図１９は、転送されたオフロードデータコピー命令（ＴＣＯＰＹ）を受領したボリューム側でのオフロードデータコピー処理を示すフローチャートである。本処理は、（Ｃ０６）、（Ｃ０７）での転送ＳＣＯＰＹ命令を受領したことを契機に開始される。
【０１０９】
Ｓ１９００で、ＭＰＰＫ１１４は、他のストレージ装置から転送されたＴＣＯＰＹ命令を受領する。Ｓ１９０１で、ＭＰＰＫ１１４は、ＴＣＯＰＹ命令のコピー先ＶＯＬ名が、ＶＯＬ管理テーブルの仮想ＶＯＬ名３１２を検索してコピー先ＶＯＬ名を見つけ出す。Ｓ１９０２で、ＭＰＰＫ１１４は、コピー先ＶＯＬを発見したかを判断する。コピー先ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１００４を実行する。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４はＳ１００３を実行し、コピー先ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。なお、Ｓ１９０１及びＳ１９０２の処理を、転送されたＴＣＯＰＹ命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー先ＶＯＬを探し出すようにしてもよい。
【０１１０】
Ｓ１９０４で、ＭＰＰＫ１１４は、ＴＣＯＰＹ命令内のトークンからコピー元ＶＯＬ名を取得する。Ｓ１９０５で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブルの仮想ＶＯＬ名３１２を検索して取得したコピー元ＶＯＬ名に一致するＶＯＬを見つけ出す。Ｓ１９０６で、ＭＰＰＫ１１４は、コピー元ＶＯＬを発見したかを判断する。コピー元ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１９０８を実行する。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４はＳ１９０７を実行し、コピー元ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。なお、Ｓ１９０５及びＳ１９０６の処理を、転送されたＴＣＯＰＹ命令を受領したストレージ装置に接続されている全てのストレージ装置に対し実行しコピー元ＶＯＬを探し出すようにしてもよい。
【０１１１】
Ｓ１９０８で、ＭＰＰＫ１１４は、コピー元ＶＯＬがトークンＩＤを記憶しているかを判断する。ＨＡペア構成では、トークンＩＤをＰＶＯＬ及びＳＶＯＬの両方のＶＯＬが保持して二重化しておく。コピー元ＶＯＬがこのトークンＩＤを記憶することで、ＭＰＰＫ１１４が、ＴＣＯＰＹ命令でのコピー対象データを読み出すコピー元ＶＯＬ（コピー元ＶＯＬ（ＰＶＯＬ）単体か、コピー元ＶＯＬ（ＰＶＯＬ）とコピー元ＶＯＬ（ＰＶＯＬ）とがペア構成）を正しく認識でき、どちらのコピー元ＶＯＬからもコピー対象データを読み出すことができる。詳細な処理は図２０で説明する。コピー元ＶＯＬがトークンＩＤを記憶している場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ１９１０を実行する。トークンＩＤを記憶していない場合（Ｎｏ）、ＭＰＰＫ１１４はＳ１９０９でコピー元ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。
【０１１２】
Ｓ１９１０で、ＭＰＰＫ１１４は、コピー元ＶＯＬからコピー対象データをリードし、ＣＭＰＫ１１５のキャッシュメモリのリードしたコピー対象データをライトする。Ｓ１９１１で、ＭＰＰＫ１１４は、ＭＰＫ１１５のキャッシュメモリに格納したコピー対象データをリードし、コピー先ＶＯＬへリードしたコピー対象データをライトする。Ｓ１９１１の処理を完了した後、ＭＰＰＫ１１４は、処理を図１８のＳ１８１１に戻す。なお、前述のＶＯＬサーチ処理は図１１、Ｓ１８０７／Ｓ１９１０のリード処理は図１２、Ｓ１８０８／Ｓ１９１１ライト処理は図１３での処理と同じである。
【０１１３】
＜トークン処理＞
図２０は、トークン取得命令を受領したボリューム側でのトークンへの処理を示すフローチャートである。Ｓ２０００で、ＭＰＰＫ１１４は、ホスト計算機１６からのトークン取得命令（コピー元仮想ＶＯＬ名、コピーデータ格納元）を受領する。このトークン取得命令の受領により、ＭＰＰＫ１１４での処理が開始される。
【０１１４】
Ｓ２００１で、ＭＰＰＫ１１４は、ＶＯＬ管理テーブルの仮想ＶＯＬ名３１２を検索して取得したコピー元ＶＯＬ名に一致するＶＯＬを見つけ出す。Ｓ２００２で、ＭＰＰＫ１１４は、コピー元ＶＯＬを発見したかを判断する。コピー元ＶＯＬを発見した場合（Ｙｅｓ）、ＭＰＰＫ１１４はＳ２００４を実行する。未発見の場合（Ｎｏ）、ＭＰＰＫ１１４はＳ２００３を実行し、コピー元ＶＯＬが存在しないというエラー報告をホスト計算機１６に送信する。
【０１１５】
Ｓ２００４で、ＭＰＰＫ１１４は、受領したトークン取得命令の情報（コピー元仮想ＶＯＬ名、コピーデータ格納元）にトークンを一意に識別するためのトークンＩＤを付加したトークンを生成する。Ｓ２００５で、ＭＰＰＫ１１４は、コピー元ＶＯＬはトークンＩＤを記憶する。また、コピー元ＶＯＬ担当ＭＰＰＫ１１４がアクセスするローカルメモリにトークンを格納して、トークン識別等に利用することもできる。
【０１１６】
Ｓ２００６で、ＭＰＰＫ１１４は、コピー元ＶＯＬ種別がＨＡ−ＰＶＯＬまたはＨＡ−ＳＶＯＬであるかを、ＶＯＬ管理テーブルのＶＯＬ種別３１３で判断する。ＨＡペア構成ＶＯＬであれば（Ｙｅｓ）、ＭＰＰＫ１１４はＳ２００７を実行する。Ｓ２００７で、ＭＰＰＫ１１４は、トークンの二重化処理を行う。
【０１１７】
そのトークンの二重化処理は、ＭＰＰＫ１１４が、コピー元ＶＯＬのＨＡペアＶＯＬにトークンＩＤを送付し、トークンＩＤを受信したＨＡペアＶＯＬは、トークンＩＤを自身に記憶する。ＨＡペア構成であるＶＯＬであれば（Ｎｏ）、ＭＰＰＫ１１４は、生成したトークンをホスト計算機１６に送信する。なお、生成したトークンをＳ２００４で、ホスト計算機１６に送信してもよい。そうすることで、ストレージ装置側でのトークン取得命令処理と、ホスト計算機１６側でのＴＣＯＰＹ命令生成処理を並行して実行できるので、ストレージシステム全体の処理性能を向上できる。また、トークンを二重化しておくことで、片方のコピー元ＶＯＬでのトークンが消失したとしても、もう一方のコピー元ＶＯＬでオフロードデータコピーを継続できる。更に、同じトークンを有するコピー元ＶＯＬの負荷を取得し、負荷の軽いコピー元ＶＯＬからデータをリードし、コピー元ＶＯＬへのアクセス性能の低下を防止することもできる。
【０１１８】
以上の処理で、ホスト計算機１６は、トークン取得命令とそれに伴うＴＣＯＰＹ命令をストレージ装置に発行するだけで、所定のボリューム間でのオフロードデータコピーを行うことができる。そのため、ＳＣＯＰＹ命令と同じように、ホスト計算機１６側でのコピーに関する処理を削減できるので、ホスト計算機１６及びストレージシステム全体の処理性能を向上できる。また、オフロードデータコピーもストレージ装置間を専用に接続するポート及び専用線を用いることで、データ転送速度や転送効率を向上できるのでコピー時間も短縮できる。
【０１１９】
＜異なる装置間でのオフロードデータコピー：Ｃ１１−Ｃ１４＞
図２１で、コピー元ＶＯＬ−Ａ（ＶＯＬ−Ａ１（ＰＶＯＬ）、ＶＯＬ−Ａ２（ＳＶＯＬ））と、コピー先ＶＯＬ−Ｂ（ＶＯＬ−Ｂ１（ＰＶＯＬ）、ＶＯＬ−Ｂ２（ＳＶＯＬ））が全て異なるストレージ装置に存在する場合でのオフロードデータコピー動作について説明する。
【０１２０】
まず、ストレージ１  １１にＶＯＬ−Ａ１（ＰＶＯＬ）１１７１が、ストレージ２  １２にＶＯＬ−Ａ２（ＳＶＯＬ）１２７２が、ストレージ３  １３にＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１が、ストレージ４  １４にＶＯＬ−Ｂ２（ＳＶＯＬ）１４８２が存在する。また、各ストレージはＰＯＲＴ１１３を使用し相互に通信できる環境であるものとする。
【０１２１】
例えば、ホスト計算機１６からＳＣＯＰＹ命令が、ストレージ１  １１のＶＯＬ−Ａ１（ＰＶＯＬ）１１７１に発行されると、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４がオフロードデータコピー処理を開始する。まず、ＶＯＬ管理テーブル３１で、自装置内のボリュームをサーチする。そして、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ストレージ１  １１にＶＯＬ−Ａ１（ＰＶＯＬ）１１７１だけの存在を確認する。同時に、ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１のＨＡペアＶＯＬ格納先３１４の情報からストレージ２  １２にＶＯＬ−Ａ２（ＳＶＯＬ）１２７２が存在することを認識する。
【０１２２】
次に、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ストレージ４  １４のＶＯＬ管理テーブル３１を、ストレージ２  １２経由でサーチする。そのサーチ結果で、ストレージ４  １４にＶＯＬ−Ｂ２（ＳＶＯＬ）１４８２が存在することを認識する。同時に、ＶＯＬ−Ａ１（ＰＶＯＬ）１１７１担当ＭＰＰＫ１１４は、ＶＯＬ管理テーブル３１のＨＡペアＶＯＬ格納先３１４の情報からストレージ３  １３にＶＯＬ−Ｂ１（ＰＶＯＬ）１３８１が存在することを認識する。以上のように別のストレージ装置のＶＯＬ管理テーブルをサーチすることで、オフロードデータコピー命令を受信したストレージ装置は、コピー元ＶＯＬまたはコピー先ＶＯＬが存在するストレージ装置を特定できる。図２１では、カスケード構成を例としたが、マルチターゲット構成でもＶＯＬサーチを行うことができる。
【０１２３】
ＶＯＬが存在するストレージを特定できたので、次にリモートコピーでコピー元ＶＯＬ−Ａからコピー先ＶＯＬ−Ｂへデータをコピーする。このように、異なる（別の）ストレージ装置間での通信（ポート１１３と専用線１１３１）により、別装置のＶＯＬ探索と別装置間でのリモートコピーができる。つまり、互いに通信できるストレージ装置内にあるＶＯＬは、あたかも同一ストレージ装置内にあるＶＯＬのように扱え、ホスト計算機１６に提供できる。これにより、本実施例で説明した同一ストレージ装置内にあるＶＯＬでのオフロードデータコピー処理と同じ処理を、互いに通信できる別のストレージにあるＶＯＬでも行うことができる。
【０１２４】
なお、以上の説明では、ＨＡペア構成は、２つのＶＯＬ（ＶＯＬ−Ｂ１（ＰＶＯＬ）、ＶＯＬ−Ｂ２（ＳＶＯＬ））として説明したが、これに限定されるものではない。３つ以上でもよい。また、接続構成も、ＶＯＬ−Ｂ１（ＰＶＯＬ）にＶＯＬ−Ｂ２（ＳＶＯＬ１）が接続し、ＶＯＬ−Ｂ２（ＳＶＯＬ１）にＶＯＬ−Ｂ３（ＳＶＯＬ２）が接続するカスケード構成でもよい。また、ＶＯＬ−Ｂ１（ＰＶＯＬ）にＶＯＬ−Ｂ２（ＳＶＯＬ１）とＶＯＬ−Ｂ３（ＳＶＯＬ２）とが接続するマルチターゲット構成でも本実施例でのオフロードデータコピーを実行することができる。
【０１２５】
以上説明したように、本発明の一実施形態であるストレージシステムでは、ストレージ装置全体がダウンしてもシステムが稼働させることのできるＨＡペア構成による高い信頼性を実現しながら、データ処理時間の削減・ホスト計算機の負荷の減少といった高性能化及びリソース効率化を実現したオフロードデータコピーを可能とすることができる。
【０１２６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【０１２７】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置いてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１２８】
１１、１２、１３、１４、１５：ストレージ装置、１６：ホスト計算機、１７：管理計算機、３１、３２、３３、４１、４２、４３：ＶＯＬ管理テーブル、１１４：ＭＰＰＫ、１１５：ＣＭＰＫ、１１４１：プロセッサコア、１１４２：ローカルメモリ
【図１】
2015189925.tif 000003
【図２】
2015189925.tif 000004
【図３】
2015189925.tif 000005
【図４】
2015189925.tif 000006
【図５】
2015189925.tif 000007
【図６】
2015189925.tif 000008
【図７】
2015189925.tif 000009
【図８】
2015189925.tif 000010
【図９】
2015189925.tif 000011
【図１０】
2015189925.tif 000012
【図１１】
2015189925.tif 000013
【図１２】
2015189925.tif 000014
【図１３】
2015189925.tif 000015
【図１４】
2015189925.tif 000016
【図１５】
2015189925.tif 000017
【図１６】
2015189925.tif 000018
【図１７】
2015189925.tif 000019
【図１８】
2015189925.tif 000020
【図１９】
2015189925.tif 000021
【図２０】
2015189925.tif 000022
【図２１】
2015189925.tif 000023
【手続補正書】
【提出日】平成28年7月15日(2016.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホスト計算機に接続するストレージシステムであって、
前記ストレージシステムは、第１ストレージ装置と、第２ストレージ装置とを備え、
前記第１ストレージ装置の第１ボリュームと、前記第１ボリュームのデータが二重化された前記第２ストレージ装置の第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成し、
前記第１ストレージ装置または前記第２ストレージ装置が、仮想ＩＤをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領すると、
コピー先ボリュームが存在するストレージ装置に応じて、前記第１ボリュームまたは前記第２ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする
ことを特徴とするストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、前記コピー先ボリュームが第３ボリュームと、前記第３ボリュームのデータが二重化された第４ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成する
ことを特徴とするストレージシステム。
【請求項３】
請求項２記載のストレージシステムであって、前記コピー元ボリュームから読み出したデータを、前記第３ボリュームに書き込んだ後、前記第４ボリュームに当該データを書き込む
ことを特徴とするストレージシステム。
【請求項４】
請求項２記載のストレージシステムであって、更に第３ストレージ装置を備え、前記第１ストレージ装置に前記第３ボリュームを、第３ストレージ装置に前記第４ボリュームを備える
ことを特徴とするストレージシステム。
【請求項５】
請求項２記載のストレージシステムであって、更に第３ストレージ装置を備え、前記第１ストレージ装置に前記第４ボリュームを、前記第３ストレージ装置に前記第３ボリュームを備える
ことを特徴とするストレージシステム。
【請求項６】
請求項２記載のストレージシステムであって、更に第３ストレージ装置を備え、前記第３ストレージ装置に前記第４ボリュームを、前記第２ストレージ装置に前記第３ボリュームを備える
ことを特徴とするストレージシステム。
【請求項７】
請求項２記載のストレージシステムであって、更に第３ストレージ装置を備え、前記第２ストレージ装置に前記第４ボリュームを、前記第３ストレージ装置に前記第３ボリュームを備える
ことを特徴とするストレージシステム。
【請求項８】
請求項１記載のストレージシステムであって、更に、各ボリュームを制御する制御部を備え、前記ホスト計算機からのデータコピー命令を当該制御部が受信し、前記コピー元ボリュームから前記コピー先ボリュームへのデータコピーを実行する
ことを特徴とするストレージシステム。
【請求項９】
請求項８記載のストレージシステムであって、
前記ホスト計算機は前記第１ストレージ装置ないし前記第２ストレージ装置にトークン取得命令を発行し、
前記トークン取得命令を受信したストレージ装置は、当該トークン取得命令にトークンを一意に識別するトークンＩＤを付加したトークンを生成して、当該生成したトークンを前記ホスト計算機の送信し、
前記トークンＩＤを前記第１ボリュームと前記第２ボリュームとに格納し、
前記ホスト計算機は受信した前記トークンからデータコピー命令を生成し、当該データコピー命令を前記第１ストレージ装置ないし前記第２ストレージ装置の制御部に送信して前記コピー元ボリュームから前記コピー先ボリュームへのデータコピーを実行する
ことを特徴とするストレージシステム。
【請求項１０】
ホスト計算機に接続するストレージ装置であって、
第１ボリュームと、前記第１ボリュームのデータが二重化された第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成し、
前記ストレージ装置が、仮想ＩＤをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領すると、
前記第１ボリュームまたは前記第２ボリュームのいずれをコピー元ボリュームとして選択し、当該選択したコピー元ボリュームからコピー先ボリュームにデータをコピーする
ことを特徴とするストレージ装置。
【請求項１１】
請求項１０記載のストレージ装置であって、前記コピー先ボリュームが第３ボリュームと、前記第３ボリュームのデータが二重化された第４ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成する
ことを特徴とするストレージ装置。
【請求項１２】
ホスト計算機に接続するストレージシステムのデータ移行方法であって、
前記ストレージシステムは、第１ストレージ装置と、第２ストレージ装置とを備え、
前記第１ストレージ装置の第１ボリュームと、前記第１ボリュームのデータが二重化された前記第２ストレージ装置の第２ボリュームとがそれぞれ同じ仮想ＩＤをホストに応答し、ＨＡペアを構成し、
前記第１ストレージ装置または前記第２ストレージ装置が、仮想ＩＤをコピー元として指定したオフロードデータコピーの指示を前記ホスト計算機から受領するステップと、
コピー先ボリュームが存在するストレージ装置に応じて、前記第１ボリュームまたは前記第２ボリュームのいずれをコピー元ボリュームとして選択するステップと、
前記選択したコピー元ボリュームからコピー先ボリュームにデータをコピーするステップとを有する
ことを特徴とするストレージシステムのデータ移行方法。
【国際調査報告】
2015189925.tif 000024
2015189925.tif 000025
2015189925.tif 000026
2015189925.tif 000027
2015189925.tif 000028
2015189925.tif 000029