第1のメモリに格納された複数のプログラムを含む第1のストレージコントローラ、及びホストコンピュータに提供される複数の第1のストレージボリュームを含む、第1のストレージシステムと、第2のメモリに格納された複数のプログラムを含む第2のストレージコントローラを含む、第2のストレージシステムと、第3のメモリに格納された移動プログラムを含む管理サーバとを備えるシステムであって、前記移動プログラムが、前記第1及び第2のストレージシステムの両方で利用可能なストレージ機能に関する情報を収集し、かつ前記第1のコントローラから前記第2のコントローラへの移動を条件としてデータの制御を変更するか、又は前記収集された情報に基づいて前記第2のストレージシステムのボリュームを外部ボリュームとして前記第1のストレージシステムにマウントするか否かを決定する、システム。ストレージ機能に関する前記情報が、互換性の情報を含む、請求項1に記載のシステム。前記移動プログラムが、利用可能な前記第2のストレージシステムの残容量、及び前記第1のストレージシステムのデータを前記第2のストレージシステムに移動するのに必要な容量についての情報を取得し、前記第2のストレージシステムの前記残容量が、前記第1のストレージシステムのデータを前記第2のストレージシステムに移動するのに必要な前記容量を超えない場合に、前記第2のストレージシステムが前記第1のストレージシステムにマウントされて、前記第2のストレージシステムのボリュームが外部ボリュームとして前記第1のストレージシステムに提供される、請求項1に記載のシステム。利用可能な前記第2のストレージシステムの前記残容量が、許容容量から、前記第1のストレージシステムで使用された前記第2のストレージシステムの各ストレージ機能の使用容量を減じて計算することによって提供される、請求項3に記載のシステム前記移動プログラムが、前記第1のコントローラから前記第2のコントローラへの移動を条件として、又はボリューム単位で前記第2のストレージシステムのボリュームを外部ボリュームとして前記第1のストレージシステムにマウントすることによって、データの制御を変更するか否かを決定する、請求項3に記載のシステム。前記移動プログラムが、前記第2のストレージシステムが前記ホストコンピュータからアクセス可能であるか否かに関する情報を取得し、前記第2のストレージシステムが前記ホストコンピュータからアクセス可能でない場合に、前記第2のストレージシステムが前記第1のストレージシステムにマウントされて、前記第2のストレージシステムのボリュームが前記第1のストレージシステムに外部ボリュームとして提供される、請求項1に記載のシステム前記移動プログラムが、前記第1のコントローラから前記第2のコントローラへの移動を条件としてデータの制御を変更することを決定した場合、前記第1又は第2のストレージシステムのストレージ機能を使用して前記データ移動が完了した後で、前記ホストコンピュータは、前記第1のストレージシステムの移動元ボリュームへのパスを前記第2のストレージシステムの移動先ボリュームに変更する、請求項1に記載のシステム。前記移動プログラムが、前記第1のストレージシステムのストレージ機能を使用することによって、又は前記第2のストレージシステムのストレージ機能を使用することによって、前記第1のストレージシステムから前記第2のストレージシステムへデータを移動するか否かをさらに決定し、前記移動プログラムが、前記第1のストレージシステムのストレージ機能を使用して、前記第1のストレージシステムから前記第2のストレージシステムにデータを移動することに決定した場合、前記移動プログラムは、前記移動を実行するために前記第1のメモリに格納された前記複数のプログラムのうちのプログラムを呼び出す、請求項7に記載のシステム。前記ストレージ機能に関する前記情報が前記第1及び第2のストレージシステムに格納され、前記第1のストレージシステムで使用される前記ストレージ機能に関する前記情報が前記第1のストレージボリュームの各々について対応付けられ、かつ前記第2のストレージシステムに格納される前記ストレージ機能に関する前記情報が、各ストレージ機能のために利用可能な容量を含む、請求項1に記載のシステム。第1のストレージシステムと第2のストレージシステムとの間のデータを制御する方法であって、前記第1のストレージシステム上の複数のストレージボリュームの各ボリュームのために使用されるストレージ機能に関する情報を維持することと、前記第2のストレージシステムで利用可能なストレージ機能に関する情報を維持することと、前記第1のストレージシステム上の前記複数のストレージボリュームの移動元ストレージボリュームのデータを、前記第2のストレージシステムの移動先ストレージボリュームに移動する要求を受信することと、移動先ストレージボリュームが、前記移動元ストレージボリュームによって使用された前記ストレージ機能をサポートしない場合に、前記移動先ストレージボリュームを前記第1のストレージシステムにマウントし、前記移動元ストレージボリュームから前記移動先ストレージボリュームにデータを移動し、かつ前記第1のストレージシステムの第1のコントローラによって前記移動先ストレージボリュームを外部ボリュームとしてホストコンピュータに提供することとを含む方法であり、前記第1のコントローラが、前記移動元ストレージボリュームから前記移動先ストレージボリュームへのデータの前記移動の前に、前記移動元ストレージボリュームを前記ホストコンピュータに提供する、方法。前記第1のコントローラから前記第2のコントローラへの移動を条件としてデータの制御を変更するか、又は前記第1及び第2のストレージシステムの両方のための前記維持された情報に基づいて前記移動先ボリュームを外部ボリュームとして前記第1のストレージシステムにマウントするか否かを決定することをさらに含む、請求項10に記載の方法。前記移動先ボリュームが前記ホストコンピュータからアクセスできない場合、前記移動先ストレージボリュームを前記第1のストレージシステムにマウントし、前記移動元ストレージボリュームから前記移動先ストレージボリュームにデータを移動し、かつ前記第1のコントローラによって前記移動先ストレージボリュームを外部ボリュームとして前記ホストコンピュータに提供することをさらに含む、請求項10に記載の方法。前記移動先ストレージボリュームの残容量が、前記移動元ストレージボリュームを移動するのに必要な容量を超えない場合、前記移動先ストレージボリュームを前記第1のストレージシステムにマウントし、前記移動元ストレージボリュームから前記移動先ストレージボリュームにデータを移動し、かつ前記第1のコントローラによって前記移動先ストレージボリュームを外部ボリュームとして前記ホストコンピュータに提供することと、前記第2のストレージシステムによって提供される各ストレージ機能についての許容容量及び使用容量に関する情報を維持することとをさらに含む、請求項12に記載の方法。前記第1及び第2のストレージシステムの前記ストレージ機能間の互換性の情報を維持することをさらに含む、請求項13に記載の方法。前記第1のストレージシステムのストレージ機能を使用して移動が実行される場合、前記第1のコントローラが、前記ストレージ機能を実行するためにプログラムを実行し、かつデータ移動が完了した後で、前記ホストコンピュータが、前記移動元ボリュームへのパスを前記移動先ストレージボリュームに変更する、請求項11に記載の方法。前記第2のストレージシステムのストレージ機能を使用して移動が実行される場合、前記第2のストレージシステムの第2のコントローラが、前記ストレージ機能を実行するためにプログラムを実行し、かつデータ移動が完了した後で、前記ホストコンピュータが、前記移動元ボリュームへのパスを前記移動先ストレージボリュームに変更する、請求項11に記載の方法。0020第1の実施形態0021図1は、本発明の方法及び装置が適用され得るシステムの構成を示す。ストレージサブシステム100、200は、ネットワーク400を介してホストコンピュータ500に接続される。ネットワーク400は、SANストレージエリアネットワーク、又はTCP/IP伝送制御プロトコル/インターネットプロトコルネットワークであり得る。ストレージサブシステム100は、ホストコンピュータ500からI/Oコマンドを受信し、ホストコンピュータ500にストレージボリューム131を提供する。0022ホストコンピュータ500は、CPUと、メモリと、インタフェースとを含む。CPUは、メモリに格納されたプログラムを読み出し、かつプログラムを実行する。プログラムは、アプリケーションと、オペレーティングシステムOSと、パス管理ソフトウェア501とを含む。パス管理ソフトウェア501は、移動のために又はパス障害の対策として、ストレージサブシステムへのネットワークパスを変更する。0023ストレージサブシステム100、200は、CPUと、メモリと、ストレージインタフェースと、ディスクインタフェースとを含むストレージコントローラを含む。CPUは、ストレージサブシステム100、200を制御し、メモリからマイクロコード110、210及びテーブル120、220を読み出す。メモリは、マイクロコード110、210及びテーブル120、220を格納する。ストレージインタフェースは、ストレージネットワーク400を介して複数のホストコンピュータ500と接続する。ストレージサブシステム100のストレージインタフェースは、ストレージサブシステム200のストレージインタフェースと接続する。ディスクインタフェースは、ディスクユニットに格納された複数の記憶装置と接続し、このディスクユニットは、ストレージサブシステム内にあるか、又はストレージサブシステム外に結合され得る。記憶装置は、データを格納するためのSSDsolidstatedevicesフラッシュメモリなど、及び/又はハードディスクドライブHDDで構成される。0024ストレージサブシステムのメモリに格納された管理テーブル120、220は、ボリューム情報テーブル121、221と、機能情報テーブル122、222とを含む。ボリューム情報テーブル121、221は、ストレージサブシステム内の各ストレージボリューム131についての論理ボリューム構成情報を提供する。機能情報テーブル122、222は、ストレージサブシステムに提供される機能に関する情報を提供する。各ストレージサブシステムに提供される機能は、ストレージマイクロコード110、210に格納されたプログラムをCPUが実行することによって実現される。この例では、ストレージサブシステム100は、移動機能111、外部ボリューム管理機能112、ローカルコピー機能113、リモートコピー機能114、圧縮機能115、及び暗号化機能116を実行するためのプログラムを有する。ストレージサブシステム200は、ローカルコピー機能213及びリモートコピー機能214を実行するためのプログラムを有する。移動機能111のためのプログラムは、ストレージサブシステム間でボリュームを移動し、移動元ストレージボリュームが元々提供されていたホストコンピュータ500からのパスを変更する。外部ボリューム管理機能112のためのプログラムは、外部ボリュームとして他のストレージサブシステムのボリュームをマウントし、この外部ボリュームは、そのストレージボリュームとしてホストコンピュータに提供される。ローカルコピー機能113のためのプログラムは、ボリュームのデータを同じストレージサブシステム内のボリュームにコピーする。ボリュームは、ストレージシステム内の記憶装置に割り当てられた内部ボリューム、及びストレージシステム外の記憶装置に割り当てられた外部ボリュームを含む。リモートコピー機能114のためのプログラムは、ボリュームのデータを他のストレージサブシステムのボリュームにコピーする。圧縮機能115のためのプログラムは、ボリュームのデータを圧縮する。暗号化機能116のプログラムは、ボリュームに書き込まれたデータを暗号化し、ボリュームから読み出されたデータを復号する。0025移動機能111のためのプログラムストレージコントローラの制御を、ストレージサブシステム内のストレージコントローラからストレージサブシステム外の別のストレージコントローラに変更することも行うは、ストレージサブシステム100、200の構成によっては適用できないかもしれない。なぜならば、この機能を使用したボリュームの移動が、異なるストレージシステムによるボリュームの管理を必要とするからである。例えば、ストレージサブシステム100の移動元ボリュームにアクセスしているホストが、ストレージサブシステム200の移動先ボリュームに物理的に接続されていない場合は、アクセス可能性が解決されない限り、このボリュームは移動されるべきではない。さらに、ストレージサブシステム100の移動元ボリュームのために使用される機能が、移動先ボリュームのためのストレージサブシステム200によって提供できない場合は、移動機能は使用されるべきではない。0026外部ボリューム管理機能112のためのプログラムは、移動先ボリュームの制御が移動元ストレージサブシステムによって維持されるので、この問題を解決するだろう。一方、このプログラムは、オリジナルのストレージサブシステム100のコントローラによる制御を必要とするため、CPU負荷バランスを他のストレージサブシステムに広げず、システム全体として効率的ではないかもしれない。なぜならば、CPU、記憶装置を含むアップグレードされたハードウェアを有するより新しいストレージシステムへの移動が実行されるかもしれないからである。よって、リソースを効率的に使用し、かつ移動後でもユーザが利用可能な機能を維持するために、本実施形態では、移動管理サーバは、異なるストレージシステムのボリューム間でデータを移動するために、どの機能を使用するかを決定する。0027移動管理サーバ300は、移動プロセスを管理し、かつCPUと、メモリと、インタフェースとを含む。CPUは、メモリからプログラム310及びテーブル321、322を読み出す。メモリは、プログラム310及びテーブル321、322を格納する。移動管理プログラム310は、ストレージサブシステム間のボリューム移動を制御する。この例では、移動元ボリューム131は、ストレージサブシステム100からストレージサブシステム200に移動されることになる。ストレージ管理テーブル311は、ストレージマイクロコードの互換性の情報を含む。また、ストレージ管理テーブル311は、ストレージサブシステム100、200の管理情報120、220のコピーを有し得る。ネットワーク管理テーブル312は、ストレージサブシステム100、200とホストコンピュータ500との間の到達可能なネットワーク関係の情報を含む。0028図2は、図1のストレージサブシステム100のボリューム情報テーブル121の一例を示す。ボリューム情報テーブル121は、論理ボリューム構成を提供する。ボリューム情報テーブル121は、ボリュームのIDとしてのボリューム番号121-1、ボリュームの容量を表す容量121-2、及びボリュームのために使用される機能を表す適用された機能121-3の欄を含む。例えば、ボリューム1は、ローカルコピー及び暗号化機能を使用しているが、ボリューム4は、リモートコピーを使用している。図1のストレージサブシステム200のボリューム情報テーブル221は同じ欄を含むが、ストレージサブシステム200のコントローラによってホストコンピュータに提供されたそのストレージボリュームの情報を反映する。0029図3Aは、図1の機能情報テーブル122の一例を示す。機能情報テーブル122は、機能の名前を表す機能名122-1、ストレージサブシステム100の機能のために利用可能な全容量を表す許容容量122-2、及びストレージサブシステム100の機能のために既に使用された容量を表す使用容量122-3の欄を含む。外部ボリュームのエラーチェックコードテーブル112-11-3は、さらに、外部ボリュームのエラーチェックコードを表すエラーチェックコード112-11-3-3を含み、このエラーチェックコードは、スロット内のデータの計算されたハッシュ値である。よって、ストレージサブシステム100に格納されたローカルコピー機能は、その許容容量10テラビットのうちの14テラビットを使用しており、ストレージシステム100のために最大86テラビットを提供することができる。0030図3Bは、図1の機能情報テーブル222の一例を示す。図1のストレージサブシステム200の機能情報テーブル222は、同じ欄を含むが、ストレージサブシステム200のコントローラによってホストコンピュータに提供されるその機能の情報を反映する。このストレージサブシステム200では暗号化機能、圧縮機能が利用できないので、このストレージサブシステム200にはその機能に対応する行がない。0031図4は、図1のストレージ管理テーブル321の一例を示す。ストレージ管理テーブル321は、機能の名前を表す機能名321-1、及び互換性のある機能名の情報を表す互換性情報321-2の欄を含む。よって、リモートコピーV02、V03はそれぞれ、リモートコピーV01、V01及びV02の前のバージョンと互換性があるが、逆の互換性はない。0032図5は、図1のネットワーク管理テーブル322の一例を示す。ネットワーク管理テーブル322は、ホストコンピュータのIDを表すホストコンピュータID322-1、及びホストコンピュータからの到達可能なストレージIDの情報を表すストレージID322-2の欄を含む。ストレージIDは、各ストレージサブシステムに一致する。いくつかのシステムでは、製品番号及び/又はシリアル番号が、ストレージIDとして使用され得る。ここで、ネットワークは、ホストコンピュータID2、3がストレージサブシステム0、1、2、3、4、5にアクセスすることを可能にするが、ホストコンピュータID0、1についてはストレージサブシステム0、1、2へのアクセスに限定される。よって、ストレージID1、2で示される、図1で示されるストレージサブシステム100、200は、ID0~3を有するホストコンピュータからのみアクセス可能である。アクセス可能性は、ゾーニング又は実際の物理的接続可能性によって制御され得る。0033図6は、図1の移動管理サーバ300の移動管理プログラム310のプロセスフローの一例を示す。このプログラムは、ユーザの要求によって、又はストレージサブシステム100の負荷、容量が所定のレベルを超えているという決定によって、実行され得る。プログラムは、310-0で開始する。ステップ310-1では、プログラムは、ストレージサブシステム200で移動先ボリュームを確立する。ステップ310-2では、プログラムは、ストレージサブシステム100及び200からストレージ機能情報を収集する。よって、ボリューム情報テーブル121及び機能情報テーブル222に格納された情報は、移動管理サーバ300に読み込まれる。ステップ310-3では、プログラムは、移動先ボリュームとホストコンピュータとの間のパス関係をチェックする。ネットワーク管理テーブル322に格納された情報は、移動先ボリュームが、移動元ボリュームにアクセスしたホストコンピュータからアクセス可能であるか否かを決定するために使用される。パスが存在する場合は、プログラムはステップ310-4に進む。パスが存在しない場合は、プログラムはステップ310-8に進む。0034ステップ310-4では、プログラムは、移動元ボリュームで使用されるストレージ機能がストレージサブシステム200の機能によってサポートされ得るか否かをチェックする。ボリューム情報テーブル121、ストレージ管理テーブル321、及び機能情報テーブル222に格納された情報は、移動先ボリュームが移動元ボリュームで使用されるストレージ機能をサポートできるか否かを決定するために使用される。移動元ボリュームに適用される機能は、ボリューム情報テーブル121に格納される。これらの機能は、ボリュームを同じストレージコントローラによって制御されない移動先に移動するために、ストレージサブシステム200のコントローラによって提供される必要がある。よって、ストレージサブシステム200は、そのストレージマイクロコード210でストレージ機能又は互換性のあるストレージ機能を有していなければならない。これらの機能がストレージサブシステム200によって提供され得る場合は、プログラムはステップ310-5に進むか、あるいはステップ310-8に進む。例えば、ボリューム情報テーブル121は、ローカルコピー及び暗号化機能がボリューム番号0に適用されることを示す。しかし、ストレージサブシステム200は、機能情報テーブル220に示される通り暗号化機能を有しないので、移動先ストレージシステムは、ボリューム番号0のデータを制御することができない。また、ボリューム情報テーブル121は、ローカルコピー及びリモートコピー機能V02がボリューム番号3に適用されることを示す。機能情報テーブル222は、ローカルコピー機能及びリモートコピー機能V01がストレージサブシステム200で適用され得ることを示す。ストレージ管理テーブル321によると、リモートコピーV01は、リモートコピーV02と互換性がない。よって、ストレージサブシステム200のストレージコントローラは、ローカルコピーを移動先ボリュームに提供し得るが、ストレージサブシステム100のストレージコントローラによって移動元ボリュームに適用されたリモートコピーを提供することはできないだろう。0035ステップ310-5では、プログラムは、移動先ボリュームが、ストレージサブシステム200で移動元ボリュームによって提供されるストレージ機能を提供するために十分な容量を有しているか否かをチェックする。機能情報222に格納された情報が、少なくとも移動先ボリュームに引き継がれなければならないストレージ機能のために取得される。移動の対象となる移動元ボリュームの容量が、ストレージサブシステム200の使用済容量を差し引いた許容容量以下である場合、ストレージシステムは、ストレージ機能を移動先ボリュームに提供することができるだろう。しかし、移動の対象となる移動元ボリュームの容量が、ストレージサブシステム200の使用済容量を差し引いた許容容量よりも大きい場合は、許容内容に違反することになるため、又は機能を完全には実行できないため、ストレージシステムは、ストレージ機能を移動先ボリュームに提供することができないことになる。よって、前者の場合は、当該ストレージ機能は、移動先ボリュームに引き継ぐことができ、プログラムは、ステップ310-6に進む。移動先ボリュームに引き継ぐことができないストレージ機能がある後者の場合は、プログラムはステップ310-8に進み、その結果、ストレージサブシステム100のストレージコントローラは、ストレージ機能の制御を保持し、移動先ボリュームを外部ボリュームとして扱う。例えば、ボリューム情報テーブル121は、ローカルコピーがボリューム番号1に適用され、ボリュームの容量が500GBであることを示す。機能情報テーブル222は、ストレージサブシステム200のローカルコピー機能が最大8.6TBまで実行できることを示す。よって、ストレージサブシステム200のストレージコントローラは、ボリューム番号1に適用される機能を提供することができる。0036ステップ310-6では、プログラムは、移動元ボリュームで使用される機能を移動先ボリュームに設定するために、ストレージサブシステム200のストレージコントローラに要求を送信する。また、ストレージサブシステム200のストレージコントローラは、ボリューム情報テーブル221を修正することにもなる。次に、プログラムはステップ310-7に進む。0037ステップ310-7では、プログラムは、移動元ボリュームのデータを移動先ボリュームにコピーし、かつホストパスを移動元ボリュームから移動先ボリュームに変更するために、移動機能111を呼び出す。次に、プログラムはステップ310-9に進む。0038ステップ310-8では、プログラムは、移動元ボリュームの属性を仮想ボリュームに変更し、かつ移動先ボリュームをこの仮想ボリュームにマウントするために、外部ボリューム管理機能112を呼び出す。移動元ボリュームから移動先ボリュームへのデータ移動は、マウントの前又は後で実行することができる。次に、プログラムはステップ310-9に進む。プログラムは、ステップ310-9で終了する。0039図7は、移動のシステム構成を示す図の一例を示す。移動の対象となるボリュームは、ボリューム番号1であり、これにはローカルコピー機能のみが適用される。この場合、移動先ボリューム、つまりボリューム231は、ステップ310-1によって確立され、機能構成は、ステップ310-6に従ってローカルコピー機能の対象となるボリューム231のために設定されることになる。移動元ボリュームは、移動先ボリュームに移動される。ホストコンピュータ500からのパスは、ステップ310-7に従って、ストレージサブシステム100のボリューム131からストレージサブシステム200のボリューム231に変更される。0040図8は、ストレージサブシステム200のボリュームをストレージサブシステム100のボリュームに外部ボリュームとしてマウントするシステム構成を示す図の一例を示す。このボリューム、つまりボリューム番号3は、ボリュームに適用される機能の1つすなわちリモートコピー機能がストレージサブシステム200によって提供できないので、このボリュームを移動することができないと決定される。よって、ステップ310-1に従って確立されたボリューム231’は、外部ボリューム管理機能112を使用して外部ボリュームとしてマウントされることになる。ホストコンピュータ500からの直接パスは存在せず、ストレージサブシステム100のストレージコントローラによってI/Oコマンドが処理されることになる。ボリューム131の状態は、物理ボリュームから仮想ボリュームに変更されて、ボリューム131は、ホストコンピュータ500とボリューム231’とに接続されることになる。ホストコンピュータ500から受信されたデータは、実際にはボリューム231に書き込まれることになる。0041第2の実施形態0042第1の実施形態では、移動管理サーバ300は、収集した情報に基づいて移動機能又は外部ボリューム管理機能のどちらを適用するかを管理し、この決定に従ってストレージサブシステム100、200に命令を与えるが、第2の実施形態は、管理がストレージサブシステム100内の管理プログラム310によって管理されることを示す。第1の実施形態との違いのみについて、図9を用いて説明する。0043図9は、本発明の方法及び装置が適用され得るシステムの構成を示す。ストレージサブシステム100は、移動管理310を実行するためのプログラムを有する。このプログラムは、移動又はマウントのためのターゲットとしてのストレージボリューム主体との互換性の情報を収集する。図1のストレージ管理テーブル321に対応するこの情報は、ストレージサブシステム100のメモリに格納され得る。また、移動管理プログラム310は、ホストコンピュータ500とストレージサブシステム100、200との間のネットワーク能力の情報を収集する。図1のネットワーク管理テーブル322に対応するこの情報は、ストレージサブシステム100のメモリに格納され得る。0044第3の実施形態0045第1の実施形態では、ストレージサブシステム100のプログラムによって移動が実行されたが、第3の実施形態は、第2のサブシステムのプログラムによって実行されることを示す。第1の実施形態との違いのみについて、図10-11を用いて説明する。0046図10は、本発明の方法及び装置が適用され得るシステムの構成を示す。ストレージサブシステム100ではなく、ストレージサブシステム200が、移動を実行するためのプログラム211を有する。ストレージサブシステム200のリモートコピー機能214’のバージョンは、ストレージサブシステム100のバージョンと同じであるため、ボリューム番号3は、本実施形態で移動され得る。第1の実施形態では、リモートコピー機能は互換性がなかったため、ボリューム番号3は、ボリュームを移動する代わりにマウントされなければならなかった。0047図11は、図10の移動管理サーバ300の移動管理プログラム310のプロセスフローの一例を示す。プログラムは、310-0の開始から310-9の終了まで、ステップ310-7以外は、同じステップを実行する。ステップ310-7では、プログラムは、移動元ボリュームのデータを移動先ボリュームにコピーし、移動元ボリュームから移動先ボリュームにホストパスを変更するために、移動機能211を呼び出す。次に、プログラムはステップ310-9に進む。よって、ストレージサブシステム100のストレージコントローラが移動元ボリュームのデータを移動先ボリュームにプッシュすることによって移動を制御する第1の実施形態とは異なり、本実施形態では、ストレージサブシステム200のストレージコントローラが、移動元ボリュームから移動先ボリュームにデータをプルすることによって移動を制御する。これによって、ストレージサブシステムのストレージコントローラの負荷を節約することができる。よって、ストレージサブシステム100、200の両方が移動機能を有する場合は、移動管理プログラム310は、どのストレージコントローラが移動機能を実行すべきかを、2つのストレージコントローラの負荷に基づいて決定し、移動機能の提供を担当するストレージコントローラに指示してもよい。0048本発明は、異なるストレージ機能を提供する異種ストレージシステム間のデータを制御するシステムを提供する。本発明は、ストレージボリュームに適用されるストレージ機能を維持しながら、ストレージシステム間の制御を達成する。私の発明を記述してきたが、本発明への多くの修正が、添付の請求の範囲によって定義される通りの本発明の精神から逸脱することなしに関係するところの当業者にとって明らかになるであろう。