(57)【特許請求の範囲】
【請求項１】
複数の記憶装置を内蔵するストレージ装置において、
外部のストレージ装置内の複数の記憶装置それぞれに設けられた論理ボリュームをコピー元とし、内蔵する複数の記憶装置それぞれに設けられた論理ボリュームをコピー先とする論理ボリューム対が複数示されたコピー要求を取得する取得部と、
前記コピー要求に基づき、コピー未実行の論理ボリューム対に属する論理ボリュームが同一ストレージ装置内の他の記憶装置よりも多く含まれる記憶装置を、前記外部のストレージ装置内の複数の記憶装置と、内蔵する複数の記憶装置とのそれぞれから優先的に選択し、選択した２つの記憶装置の一方に設けられた論理ボリュームをコピー元、他方に設けられた論理ボリュームをコピー先とするコピー未実行の論理ボリューム対を、コピー実行対象に決定する決定部と、
コピー実行対象に決定された論理ボリューム対に属するコピー元の論理ボリュームに格納されたデータを、該論理ボリューム対に属するコピー先の論理ボリュームにコピーするコピー部と、
を有するストレージ装置。
【請求項２】
前記決定部は、選択した２つの記憶装置の一方をコピー元、他方をコピー先とするコピー未実行の論理ボリューム対がない場合、前記外部のストレージ装置内の複数の記憶装置それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数に関する、該複数の記憶装置間でのばらつきと、内蔵する複数の記憶装置それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数に関する、該複数の記憶装置間でのばらつきとを比較し、ばらつきが小さい複数の記憶装置の中から選択した記憶装置の選択を解除し、該複数の記憶装置の中から、選択を解除した記憶装置とは別の記憶装置を選択する、
ことを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記決定部は、複数の記憶装置それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数の標準偏差または分散を、該複数の記憶装置間でのばらつきとすることを特徴とする請求項２記載のストレージ装置。
【請求項４】
前記決定部は、複数の記憶装置それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数のうちの最大値と最小値との差を、該複数の記憶装置間でのばらつきとすることを特徴とする請求項２記載のストレージ装置。
【請求項５】
前記決定部は、コピー実行対象とする論理ボリューム対の決定を、前記外部のストレージ装置と前記ストレージ装置との間に未使用の通信パスが存在する間、繰り返し実行することを特徴とする請求項１乃至４のいずれかに記載のストレージ装置。
【請求項６】
前記決定部は、２つの記憶装置を選択する際には、同一の記憶装置内の論理ボリュームのうち、実行中のコピー処理においてコピー元またはコピー先となっている論理ボリュームの数が、他の記憶装置よりも少ない記憶装置を優先的に選択し、実行中のコピー処理においてコピー元またはコピー先となっている論理ボリュームの数が同数の場合に、コピー未実行の論理ボリューム対に属する論理ボリュームが同一ストレージ装置内の他の記憶装置よりも多く含まれる記憶装置を優先的に選択する、
ことを特徴とする請求項１乃至５のいずれかに記載のストレージ装置。
【請求項７】
第１のストレージ装置内の複数の記憶装置それぞれに設けられた論理ボリュームをコピー元とし、第２のストレージ装置内の複数の記憶装置それぞれに設けられた論理ボリュームをコピー先とする論理ボリューム対が複数示されたコピー要求を取得する取得部と、
前記コピー要求に基づき、コピー未実行の論理ボリューム対に属する論理ボリュームを同一ストレージ装置内の他の記憶装置よりも多く含む記憶装置を、前記第１のストレージ装置内の複数の記憶装置と前記第２のストレージ装置内の複数の記憶装置とのそれぞれから優先的に選択し、選択した２つの記憶装置の一方に設けられた論理ボリュームをコピー元、他方に設けられた論理ボリュームをコピー先とするコピー未実行の論理ボリューム対を、コピー実行対象に決定する決定部と、
コピー実行対象に決定された論理ボリューム対に属するコピー元の論理ボリュームに格納されたデータを、該論理ボリューム対に属するコピー先の論理ボリュームにコピーするコピー部と、
を有する制御装置。
【請求項８】
第１のストレージ装置内の複数の記憶装置それぞれに設けられた論理ボリュームをコピー元とし、第２のストレージ装置内の複数の記憶装置それぞれに設けられた論理ボリュームをコピー先とする論理ボリューム対が複数示されたコピー要求を取得し、
前記コピー要求に基づき、コピー未実行の論理ボリューム対に属する論理ボリュームを同一ストレージ装置内の他の記憶装置よりも多く含む記憶装置を、前記第１のストレージ装置内の複数の記憶装置と前記第２のストレージ装置内の複数の記憶装置とのそれぞれから優先的に選択し、
選択した２つの記憶装置の一方に設けられた論理ボリュームをコピー元、他方に設けられた論理ボリュームをコピー先とするコピー未実行の論理ボリューム対を、コピー実行対象に決定し、
コピー実行対象に決定された論理ボリューム対に属するコピー元の論理ボリュームに格納されたデータを、該論理ボリューム対に属するコピー先の論理ボリュームにコピーする、
ことを特徴とするデータコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボリューム間でのデータ移行を行うストレージ装置に関する。
【背景技術】
【０００２】
ストレージ装置に格納されたデータを、他のストレージ装置に移行する場合がある。例えば、既存のストレージ装置を、そのストレージ装置よりも高性能なストレージ装置に置き換える場合に、既存のストレージ装置から高性能なストレージ装置にデータが移行される。このように、ストレージ装置間でデータの移行を行うことを、データマイグレーションと呼ぶ。データマイグレーションを行う場合、例えば、ストレージ装置内の論理ボリューム単位で、移行元と移行先とが指定される。論理ボリュームは、ストレージ装置が有するディスク装置内に論理的に設けたボリュームである。
【０００３】
データマイグレーションでは、ストレージ装置間で大量のデータが転送される。そのため、ストレージ装置の大容量化に伴い、データマイグレーションに要する時間も長期化する傾向にある。そこでデータマイグレーションの技術として、例えば、ボリュームの並列移行時に物理リソースの競合を少なくする技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１０８０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の物理リソースの競合を少なくする技術では、データマイグレーション処理全体としての処理の効率化が不十分な場合がある。例えば、ディスク装置ごとのデータ移行対象となる論理ボリューム数にばらつきがある場合、データ移行の終盤において、特定のディスク装置においてのみ、複数の論理ボリュームがデータ移行未完了の状態で残される可能性がある。この場合、データ移行の終盤では、特定のディスク装置にアクセスが集中してしまい、データ移行のためのデータコピーの処理効率が低下してしまう。
【０００６】
１つの側面では、本発明は、異なるストレージ装置間でのデータのコピーを効率的に行うことができるストレージ装置、制御装置、およびデータコピー方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、以下のような複数の記憶装置を内蔵するストレージ装置が提供される。ストレージ装置は、取得部、決定部、およびコピー部を有する。取得部は、外部のストレージ装置内の複数の記憶装置それぞれに設けられた論理ボリュームをコピー元とし、内蔵する複数の記憶装置それぞれに設けられた論理ボリュームをコピー先とする論理ボリューム対が複数示されたコピー要求を取得する。決定部は、コピー要求に基づき、コピー未実行の論理ボリューム対に属する論理ボリュームが同一ストレージ装置内の他の記憶装置よりも多く含まれる記憶装置を、外部のストレージ装置内の複数の記憶装置と、内蔵する複数の記憶装置とのそれぞれから優先的に選択し、選択した２つの記憶装置の一方に設けられた論理ボリュームをコピー元、他方に設けられた論理ボリュームをコピー先とするコピー未実行の論理ボリューム対を、コピー実行対象に決定する。コピー部は、コピー実行対象に決定された論理ボリューム対に属するコピー元の論理ボリュームに格納されたデータを、該論理ボリューム対に属するコピー先の論理ボリュームにコピーする。
【発明の効果】
【０００８】
１態様によれば、異なるストレージ装置間でのデータのコピーを効率的に行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態に係るストレージ装置の機能構成の一例を示す図である。
【図２】第１の実施の形態に係るデータコピー処理の手順の一例を示すフローチャートである。
【図３】第１の実施の形態によるコピー実行対象となる論理ボリューム対の決定例を示す図である。
【図４】第２の実施の形態のシステム構成例を示す図である。
【図５】データ移行時のストレージ装置間の通信を示す図である。
【図６】ストレージ装置のハードウェア構成の一例を示す図である。
【図７】ＣＭの内部構成の一例を示す図である。
【図８】ＣＡの内部構成の一例を示す図である。
【図９】第２の実施の形態に用いる端末装置のハードウェアの一構成例を示す図である。
【図１０】ストレージ装置のデータマイグレーション機能を示すブロック図である。
【図１１】移行情報のデータ構造の一例を示す図である。
【図１２】状態管理テーブルのデータ構造の一例を示す図である。
【図１３】移行先管理テーブルのデータ構造の一例を示す図である。
【図１４】移行元管理テーブルのデータ構造の一例を示す図である。
【図１５】データ移行処理の手順の一例を示すフローチャートである。
【図１６】管理テーブル作成処理の手順を示すフローチャートである。
【図１７】移行先管理テーブルの第１のソート例を示す図である。
【図１８】移行先管理テーブルの第２のソート例を示す図である。
【図１９】移行ペア決定処理の手順を示すフローチャートである。
【図２０】ばらつきの計算例を示す図である。
【図２１】判断行移動処理の手順を示すフローチャートである。
【図２２】移行開始対象となる移行ペアの決定例を示す図である。
【図２３】移行ペア間データ移行処理の手順の一例を示すフローチャートである。
【図２４】データ移行例を示す図である。
【図２５】データ移行時の情報の遷移を示す第１の図である。
【図２６】データ移行時の情報の遷移を示す第２の図である。
【図２７】データ移行時の情報の遷移を示す第３の図である。
【図２８】データ移行時の情報の遷移を示す第４の図である。
【図２９】データ移行時の情報の遷移を示す第５の図である。
【図３０】データ移行時の情報の遷移を示す第６の図である。
【発明を実施するための形態】
【００１０】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るストレージ装置の機能構成の一例を示す図である。第１の実施の形態では、ストレージ装置１とストレージ装置２とがケーブルで接続されている。ストレージ装置１は、制御装置１−１と複数の記憶装置１−２，１−３，１−４，・・・を有する。記憶装置１−２には、複数の論理ボリューム１−２ａ，１−２ｂ，・・・が設けられている。記憶装置１−３には、複数の論理ボリューム１−３ａ，１−３ｂ，・・・が設けられている。記憶装置１−４には、複数の論理ボリューム１−４ａ，１−４ｂ，・・・が設けられている。
【００１１】
ストレージ装置２は、複数の記憶装置２−１，２−２，２−３，・・・を有する。記憶装置２−１には、複数の論理ボリューム２−１ａ，２−１ｂ，・・・が設けられている。記憶装置２−２には、複数の論理ボリューム２−２ａ，２−２ｂ，・・・が設けられている。記憶装置２−３には、複数の論理ボリューム２−３ａ，２−３ｂ，・・・が設けられている。
【００１２】
ストレージ装置１の制御装置１−１は、取得部１−１ａ、決定部１−１ｂ、およびコピー部１−１ｃを有する。
取得部１−１ａは、論理ボリューム対が複数示されたコピー要求を取得する。例えば取得部１−１ａは、ストレージ装置１に接続された端末装置３から入力されたコピー要求を取得する。論理ボリューム対は、コピー元の論理ボリュームとコピー先の論理ボリュームとの対である。論理ボリューム対では、例えば、ストレージ装置２内の複数の記憶装置２−１，２−２，２−３，・・・それぞれに設けられた論理ボリュームが、コピー元として示される。また論理ボリューム対では、例えば、ストレージ装置１が内蔵する複数の記憶装置１−２，１−３，１−４，・・・それぞれに設けられた論理ボリュームが、コピー先として示される。
【００１３】
決定部１−１ｂは、コピー要求に基づき、ストレージ装置２内の複数の記憶装置２−１，２−２，２−３，・・・と、ストレージ装置１内の複数の記憶装置１−２，１−３，１−４，・・・とのそれぞれから、記憶装置を選択する。例えば決定部１−１ｂは、コピー未実行の論理ボリューム対に属する論理ボリュームが同一ストレージ装置内の他の記憶装置よりも多く含まれる記憶装置を、優先的に選択する。さらに、決定部１−１ｂは、選択した２つの記憶装置の一方に設けられた論理ボリュームをコピー元、他方に設けられた論理ボリュームをコピー先とするコピー未実行の論理ボリューム対を、コピー実行対象に決定する。
【００１４】
コピー部１−１ｃは、コピー実行対象に決定された論理ボリューム対に属するコピー元の論理ボリュームに格納されたデータを、該論理ボリューム対に属するコピー先の論理ボリュームにコピーする。
【００１５】
なお、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
次に、図１に示したシステムによるデータコピー処理の手順を説明する。
【００１６】
図２は、第１の実施の形態に係るデータコピー処理の手順の一例を示すフローチャートである。以下、図２に示す処理をステップ番号に沿って説明する。
［ステップＳ１］取得部１−１ａは、コピー要求を取得する。取得部１−１ａは、取得したコピー要求を、決定部１−１ｂに送信する。
【００１７】
［ステップＳ２］決定部１−１ｂは、ストレージ装置１とストレージ装置２との間に、未使用の通信パスがあるか否かを判断する。例えば決定部１−１ｂは、コピーを実行中の論理ボリューム対の数が、ストレージ装置１とストレージ装置２との間に確立した通信パス数に満たなければ、未使用の通信パスがあると判断する。決定部１−１ｂは、未使用の通信パスがあれば、処理をステップＳ３に進める。また決定部１−１ｂは、未使用の通信パスがなければ、ステップＳ２の処理を繰り返し、通信パスが未使用になるのを待つ。
【００１８】
［ステップＳ３］決定部１−１ｂは、それぞれのストレージ装置１，２から記憶装置を選択する。例えば決定部１−１ｂは、コピー未実行の論理ボリューム対に属する論理ボリュームが同一ストレージ装置内の他の記憶装置よりも多く含まれる記憶装置を、優先的に選択する。
【００１９】
［ステップＳ４］決定部１−１ｂは、選択した２つの記憶装置の一方に設けられた論理ボリュームをコピー元、他方に設けられた論理ボリュームをコピー先とするコピー未実行の論理ボリューム対を、コピー実行対象に決定する。
【００２０】
［ステップＳ５］決定部１−１ｂは、コピー実行対象に決定した論理ボリューム対間でのデータコピーの開始を、コピー部１−１ｃに指示する。コピー部１−１ｃは、未使用の通信パスを用い、コピー実行対象に決定された論理ボリューム対に属するコピー元の論理ボリュームに格納されたデータを、該論理ボリューム対に属するコピー先の論理ボリュームにコピーする。決定部１−１ｂは、データコピーの開始を指示後、コピー完了を待たずに、処理をステップＳ６に進める。
【００２１】
［ステップＳ６］決定部１−１ｂは、コピー要求に示されたすべての論理ボリューム対に関するコピー開始指示が完了したか否かを判断する。すべての論理ボリューム対に関するコピー開始指示が完了した場合、決定部１−１ｂは処理を終了する。コピー開始指示を行っていない論理ボリューム対がある場合、決定部１−１ｂは処理をステップＳ２に進める。
【００２２】
次に、コピー実行対象となる論理ボリューム対の決定例について説明する。
図３は、第１の実施の形態によるコピー実行対象となる論理ボリューム対の決定例を示す図である。図３に示すように、コピー要求４には、コピー先の論理ボリュームの識別情報と、コピー元の論理ボリュームの識別情報とを含む論理ボリューム対が複数含まれる。論理ボリュームの識別情報は、そのボリュームを有している記憶媒体の識別子（ＩＤ）と、その記憶媒体内での論理ボリュームの識別番号（ＬＶ＃）とで表されている。
【００２３】
入力されたコピー要求４は、取得部１−１ａを介して決定部１−１ｂに渡される。決定部１−１ｂは、例えばコピー元記憶媒体リスト５とコピー先記憶媒体リスト６とを用いて、記憶媒体を選択する際の優先順位を管理する。
【００２４】
コピー元記憶媒体リスト５には、ストレージ装置２が有する記憶媒体のＩＤが設定されている。記憶媒体のＩＤには、その記憶媒体内のコピー未実行の論理ボリューム対に属する論路ボリュームの数（コピー未実行数）が関連付けて登録されている。決定部１−１ｂは、例えば、コピー元記憶媒体リスト５内の各記憶媒体のレコードを、コピー未実行数が多い順にソートする。そして決定部１−１ｂは、ソートの結果上位に位置する記憶媒体を優先的に選択する。
【００２５】
コピー先記憶媒体リスト６には、ストレージ装置１が有する記憶媒体のＩＤが設定されている。記憶媒体のＩＤには、その記憶媒体内のコピー未実行の論理ボリューム対に属する論路ボリュームの数（コピー未実行数）が関連付けて登録されている。決定部１−１ｂは、例えば、コピー先記憶媒体リスト６内の各記憶媒体のレコードを、コピー未実行数が多い順にソートする。そして決定部１−１ｂは、ソートの結果上位に位置する記憶媒体を優先的に選択する。
【００２６】
図３の例では、コピー元であるストレージ装置２内の記憶装置２−１，２−２，２−３，・・・の中から、優先順位が最も高いＩＤ「ｂ」の記憶装置２−２が選択される。コピー先であるストレージ装置１内の記憶装置１−２，１−３，１−４，・・・の中から、優先順位が最も高いＩＤ「Ｆ」の記憶装置１−５が選択される。
【００２７】
決定部１−１ｂは、コピー要求４に含まれる論理ボリューム対の中から、選択した２つの記憶装置２−２，１−５の一方をコピー元、他方をコピー先とする、コピー未実行の論理ボリューム対を検索する。なお図３の例では、すべての論理ボリューム対について、コピー未実行であるものとする。その場合、記憶装置２−２内の識別番号「８」の論理ボリューム２−２ｃをコピー元とし、記憶装置１−５内の識別番号「３」の論理ボリューム１−５ａをコピー先とする論理ボリューム対が検出される。決定部１−１ｂは、検出した論理ボリューム対を、コピー実行対象に決定する。
【００２８】
決定部１−１ｂは、コピー実行対象の論理ボリューム対を指定したコピー開始指示７を、コピー部１−１ｃに送信する。するとコピー部１−１ｃが、コピー開始指示７に応じて、記憶装置２−２の論理ボリューム２−２ｃ内のデータを、記憶装置１−５の論理ボリューム１−５ａにコピーする。
【００２９】
このように第１の実施の形態では、コピー未実行の論理ボリュームを他よりも多く含む記憶装置を優先的に選択し、選択した記憶装置をコピー元またはコピー先とするデータコピーが行われる。これにより、コピー要求４に示されたすべての論理ボリューム対のデータコピー処理の終盤において、特定の記憶装置のみ、複数のボリュームがコピー未実行のまま残され、その記憶装置にアクセスが集中してしまう事態を抑止することができる。その結果、ストレージ装置間のデータコピーの処理効率が向上する。
【００３０】
なお、選択した２つの記憶装置の一方をコピー元、他方をコピー先とするコピー未実行の論理ボリューム対がない場合もあり得る。この場合、例えば決定部１−１ｂは、ストレージ装置２内の複数の記憶装置２−１，２−２，２−３，・・・それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数に関する、該複数の記憶装置間でのばらつきを求める。同様に、決定部１−１ｂは、ストレージ装置１が内蔵する複数の記憶装置１−２，１−３，１−４，・・・それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数に関する、該複数の記憶装置間でのばらつきを求める。決定部１−１ｂは、ストレージ装置１，２それぞれから求めたばらつきを比較する。そして決定部１−１ｂは、ばらつきが小さい方のストレージ装置内の複数の記憶装置の中から選択した記憶装置の選択を解除し、その複数の記憶装置の中から、選択を解除した記憶装置とは別の記憶装置を選択する。決定部１−１ｂは、別の記憶装置を選択した場合、新たに選択された記憶装置に基づいて、選択した２つの記憶装置の一方をコピー元、他方をコピー先とするコピー未実行の論理ボリューム対を検索する。
【００３１】
このようにして、ばらつきが大きい方のストレージ装置については、コピー未実行の論理ボリューム数が多い記憶装置を選択したまま、ばらつきが少ない方のストレージ装置から選択する記憶装置が変更され、コピー実行対象の論理ボリューム対が探索される。これにより、記憶装置内のコピー未実行の論理ボリューム数のばらつきを少なくするようにコピー実行対象が決定され、ストレージ装置間のコピーの終盤で、特定の記憶装置についてのみ、コピー未実施の論理ボリュームが複数残されることを抑止できる。
【００３２】
なお、ストレージ装置内の複数の記憶装置間でのコピー未実行の論理ボリューム数のばらつきは、例えば、複数の記憶装置それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数の標準偏差または分散で求めることができる。また複数の記憶装置それぞれのコピー未実行の論理ボリューム対に属する論理ボリューム数のうちの最大値と最小値との差を、ストレージ装置内の複数の記憶装置間でのコピー未実行の論理ボリューム数のばらつきとすることもできる。
【００３３】
さらに決定部１−１ｂは、記憶装置ごとの、コピー処理を実行中の論理ボリュームの数に応じて、記憶装置を選択することもできる。例えば決定部１−１ｂは、まず、同一の記憶装置内のコピー元またはコピー先となっている論理ボリューム数が、他の記憶装置よりも少ない記憶装置を優先的に選択する。次に決定部１−１ｂは、コピー元またはコピー先となっている論理ボリューム数が同数の場合に、コピー未実行の論理ボリューム対に属する論理ボリュームが同一ストレージ装置内の他の記憶装置よりも多く含まれる記憶装置を優先的に選択する。コピー実行中の論理ボリュームを有する記憶装置内の別の論理ボリュームをコピー元またはコピー先とする論理ボリューム対がコピー実行対象に決定されると、その記憶装置においてアクセスの競合が発生してしまう。コピー処理を実行中の論理ボリュームの数に応じて記憶装置を選択することで、アクセス競合の発生を適切に抑止し、データコピーの処理効率を向上させることができる。
【００３４】
なお、図１の例では、データのコピー先のストレージ装置１内に制御装置１−１が設けられているが、制御装置１−１を他の装置に実装することもできる。例えば、データのコピー元のストレージ装置２内に制御装置１−１を実装することもできる。また端末装置３内に制御装置１−１を実装することもできる。その場合、コピー部１−１ｃは、例えばストレージ装置１，２を遠隔制御することで、データコピーを実現する。
【００３５】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、ストレージ装置内にデータマイグレーション機構を搭載したものである。ストレージ装置内にデータマイグレーション機構を搭載することで、ホストコンピュータを介さずに、データマイグレーションが可能となる。
【００３６】
例えば、データマイグレーションを行う管理者は、データ移行先のストレージ装置として、データマイグレーション機構を有するストレージ装置を用意する。さらに管理者は、データ移行元のストレージ装置とデータ移行先のストレージ装置とを通信用のケーブルで接続する。そして管理者は、データ移行先のストレージ装置に対して、データ移行指示を入力する。するとデータ移行先のストレージ装置が、データ移行元のストレージ装置から適宜データを読み出し、内蔵するボリュームにデータを格納する。このとき、データ移行先のストレージ装置は、通信用の複数のパスを有効に使用した効率的なデータマイグレーションを行う。
【００３７】
図４は、第２の実施の形態のシステム構成例を示す図である。２台のストレージ装置１００，２００は、複数のケーブル２１，２２，２３，・・・で接続されている。１つのケーブルを用いて、ストレージ装置間のデータ通信用の１つのパスが形成できる。例えばストレージ装置１００，２００は、ＲＡＩＤ（Redundant Array of Inexpensive Disks）技術によりデータを記憶することができる。またストレージ装置１００，２００は、例えばＣＫＤ（Count Key and Data）方式でデータを記録する。またストレージ装置１００，２００は、ＦＢＡ（Fixed Block Architecture）方式でデータを記録してもよい。
【００３８】
図４の例では、ストレージ装置１００がデータの移行先であり、ストレージ装置２００がデータの移行元であるものとする。第２の実施の形態では、移行先のストレージ装置１００による、ストレージ装置２００内のボリュームからのデータ読み出し処理によって、データ移行が行われるものとする。
【００３９】
移行先のストレージ装置１００には、端末装置３００が接続されている。端末装置３００は、システムの管理者が使用するマンマシンインタフェース（man machine interface）の一例である。管理者は、端末装置３００を用いて、ストレージ装置１００に対してデータ移行指示を入力することができる。端末装置３００とストレージ装置１００とは、例えば、ＬＡＮ（Local Area Network）ケーブルによって直接接続されていてもよいし、あるいは、ＬＡＮスイッチなどを介して接続されていてもよい。
【００４０】
第２の実施の形態では、データの移動先のストレージ装置１００が、移動元のデータを保持するストレージ装置２００からデータを読み出し、自己の管理下の論理的なボリュームに格納する。
【００４１】
図５は、データ移行時のストレージ装置間の通信を示す図である。図５に示すように、ストレージ装置１００からストレージ装置２００へ、データのリードコマンドが送信される。そしてリードコマンドに応答して、ストレージ装置２００からストレージ装置１００へ、コピーデータが送信される。このようなリードコマンドとコピーデータとの送信は、パスごとに並列実行される。
【００４２】
次に、このようなデータ移行を実現する各装置のハードウェア構成について説明する。
図６は、ストレージ装置のハードウェア構成の一例を示す図である。ストレージ装置１００は、複数のハードディスク装置（ＨＤＤ：Hard Disk Drive）１１１，１１２，１１３，１１４，・・・、ＣＭ（Controller Module）１２０、および複数のＣＡ（Channel Adapter）１３１，１３２，１３３，・・・を有している。
【００４３】
ＨＤＤ１１１，１１２，１１３，１１４，・・・は、データを記憶する。例えば、複数のＨＤＤによって１つのＲＡＩＤグループを作成することができる。ＲＡＩＤグループは、１つのディスクとして取り扱うことができる。さらに、ＲＡＩＤグループには、論理ユニット（ＬＵ：Logical Unit）と呼ばれる論理的なボリュームを作成することができる。第２の実施の形態では、１つのＲＡＩＤグループを１つのディスクとし、ＲＡＩＤグループ内のＬＵを、データの移行対象のボリュームとする。
【００４４】
ＣＭ１２０は、ストレージ装置１００全体を制御する。例えばＣＭ１２０は、ＨＤＤ１１１，１１２，１１３，１１４，・・・に接続されており、ＨＤＤ１１１，１１２，１１３，１１４，・・・へのデータの入出力を行う。またＣＭ１２０には、ＣＡ１３１，１３２，１３３，・・・が接続されており、ＣＡ１３１，１３２，１３３，・・・を介して外部の装置との間のデータ通信を行う。さらにＣＭ１２０は、端末装置３００に接続されている。ＣＭ２１０は、端末装置３００からデータ移行指示などの各種の指示を取得し、指示に応じた処理結果を端末装置３００に送信する。
【００４５】
ＣＡ１３１，１３２，１３３，・・・は、ファイバーチャネルによってホストコンピュータや他のストレージ装置２００と通信する。またＣＡ１３１，１３２，１３３，・・・は、接続された相手の装置に対して、データ読み出し要求などの制御コマンドを発行する機能を有する。例えばＣＡ１３１，１３２，１３３，・・・は、ＣＣＷ（Channel Command Word）によるコマンドを発行する。第２の実施の形態では、移行先のストレージ装置１００のＣＡ１３１，１３２，１３３，・・・は、それぞれケーブル２１，２２，２３，・・・によって、移行元のストレージ装置２００のＣＡ２３１，２３２，２３３，・・・に接続される。
【００４６】
ストレージ装置２００もストレージ装置１００と同様に、複数のＨＤＤ２１１，２１２，２１３，２１４，・・・、ＣＭ２２０、および複数のＣＡ２３１，２３２，２３３，・・・を有している。ストレージ装置２００のＨＤＤ２１１，２１２，２１３，２１４，・・・には、移行対象となるデータが格納されている。
【００４７】
なお図６の例では、記憶媒体としてＨＤＤを用いているが、ＨＤＤに代えて他の記憶媒体を使用することもできる。例えばストレージ装置１００，２００は、ＨＤＤに代えて、ＳＳＤ（Solid State Drive）を使用することができる。
【００４８】
次に、ＣＭ１２０の内部構成について説明する。
図７は、ＣＭの内部構成の一例を示す図である。ＣＭ１２０は、ＣＰＵ１２１、ＲＡＭ（Random Access Memory）１２２、フラッシュＲＯＭ（Read Only Memory）１２３、キャッシュメモリ１２４、ＤＩ（Device Interface）１２５ａ，１２５ｂ，・・・およびＬＡＮインタフェース（Ｉ／Ｆ）１２６を備えている。
【００４９】
ＣＰＵ１２１は、フラッシュＲＯＭ１２３などに記憶されたプログラムを実行することにより、ＣＭ１２０全体を統括的に制御する。ＲＡＭ１２２は、ＣＰＵ１２１に実行させるプログラムの少なくとも一部や、プログラムによる処理に必要な各種データを一時的に記憶する。フラッシュＲＯＭ１２３は、ＣＰＵ１２１により実行されるプログラムや、プログラムの実行に必要な各種のデータなどを記憶する。
【００５０】
キャッシュメモリ１２４は、ＨＤＤ１１１，１１２，・・・から読み出したデータをキャッシュする。また、キャッシュメモリ１２４には、ＣＰＵ１２１による処理に必要なデータが一時的に記憶されてもよい。
【００５１】
ＤＩ１２５ａ，１２５ｂ，・・・は、それぞれＨＤＤ１１１，１１２，・・・とキャッシュメモリ１２４との間でデータを送受信するインタフェース機能を提供する。
ＬＡＮインタフェース１２６は、ＬＡＮケーブルを介して端末装置３００などの外部装置と接続し、外部装置との間でデータの送受信を行う。
【００５２】
次に、ＣＡの内部構成について説明する。
図８は、ＣＡの内部構成の一例を示す図である。ＣＡ１３１は、ホストＩ／Ｆ（インタフェース）１３１ａ、ＣＭＩ／Ｆ１３１ｂ、フラッシュＲＯＭ１３１ｃ、フレーム転送回路１３１ｄ、データ転送回路１３１ｅ、およびＣＰＵ１３１ｆを有する。
【００５３】
ホストＩ／Ｆ１３１ａは、ホストコンピュータや他のストレージ装置２００とファイバーチャネルによって通信するインタフェースである。ＣＭＩ／Ｆ１３１ｂは、ＣＭ１２０と通信するインタフェースである。フラッシュＲＯＭ１３１ｃは、ＣＡ１３１を制御するためのファームウェアを記憶する。例えばフラッシュＲＯＭ１３１ｃには、データリードのＣＣＷコマンドの発行処理に関するプログラムや、受信したＣＣＷコマンドに応じた処理に関するプログラムが記憶される。
【００５４】
フレーム転送回路１３１ｄは、ホストＩ／Ｆ１３１ａを介して、フレームの送受信を行う。例えばフレーム転送回路１３１ｄは、ホストＩ／Ｆ１３１ａを介して受信したフレームからデータを抽出し、ＣＰＵ１３１ｆを介してデータ転送回路１３１ｅに転送する。またフレーム転送回路１３１ｄは、データ転送回路１３１ｅから受信したデータを含むフレームを生成し、ホストＩ／Ｆ１３１ａへ転送する。またフレーム転送回路１３１ｄは、ＣＭ１２０からのデータ移行処理の実行要求を受信すると、ＣＰＵ１３１ｆの指示に基づき、ストレージ装置２００に対してデータリードコマンドを送信する。フレーム転送回路１３１ｄは、データリードコマンドに対してストレージ装置２００から応答されたデータを、ＣＰＵ１３１ｆを介してデータ転送回路１３１ｅに転送する。
【００５５】
データ転送回路１３１ｅは、ＣＭ１２０とフレーム転送回路１３１ｄとの間で、データ転送を行う。例えばデータ転送回路１３１ｅは、ＣＭＩ／Ｆ１３１ｂを介してＣＭ１２０からデータを受信すると、そのデータを、ＣＰＵ１３１ｆを介してフレーム転送回路１３１ｄに転送する。またデータ転送回路１３１ｅは、ＣＰＵ１３１ｆを介してフレーム転送回路１３１ｄからデータを受信すると、そのデータをＣＭＩ／Ｆ１３１ｂを介してＣＭ１２０に転送する。
【００５６】
ＣＰＵ１３１ｆは、フレーム転送回路１３１ｄとデータ転送回路１３１ｅとの間のデータ転送を中継すると共に、フレーム転送回路１３１ｄとデータ転送回路１３１ｅと動作を制御する。例えばＣＰＵ１３１ｆは、ＣＭ１２０からのデータ移行処理の実行要求を受信すると、フラッシュＲＯＭ１３１ｃに格納されているファームウェアに従って、フレーム転送回路１３１ｄに対し、ストレージ装置２００へのデータリードコマンドの送信を指示する。
【００５７】
なお図８には、ＣＡ１３１のハードウェア構成例を示したが、ストレージ装置１００とストレージ装置２００との他のＣＡも、ＣＡ１３１と同様のハードウェア構成である。
次に、端末装置３００のハードウェア構成について説明する。
【００５８】
図９は、第２の実施の形態に用いる端末装置のハードウェアの一構成例を示す図である。端末装置３００は、ＣＰＵ３０１によって装置全体が制御されている。ＣＰＵ３０１には、バス３０８を介してＲＡＭ３０２と複数の周辺機器が接続されている。
【００５９】
ＲＡＭ３０２は、端末装置３００の主記憶装置として使用される。ＲＡＭ３０２には、ＣＰＵ３０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、ＣＰＵ３０１による処理に必要な各種データが格納される。
【００６０】
バス３０８に接続されている周辺機器としては、ＨＤＤ３０３、グラフィック処理装置３０４、入力インタフェース３０５、光学ドライブ装置３０６、および通信インタフェース３０７がある。
【００６１】
ＨＤＤ３０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ３０３は、端末装置３００の二次記憶装置として使用される。ＨＤＤ３０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００６２】
グラフィック処理装置３０４には、モニタ１１が接続されている。グラフィック処理装置３０４は、ＣＰＵ３０１からの命令に従って、画像をモニタ１１の画面に表示させる。モニタ１１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００６３】
入力インタフェース３０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース３０５は、キーボード１２やマウス１３から送られてくる信号をＣＰＵ３０１に送信する。なお、マウス１３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００６４】
光学ドライブ装置３０６は、レーザ光などを利用して、光ディスク１４に記録されたデータの読み取りを行う。光ディスク１４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００６５】
通信インタフェース３０７は、ＬＡＮなどのネットワークを介して、ストレージ装置１００との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお図９の端末装置３００には、周辺機器として、フレキシブルディスク（ＦＤ）などの可搬型の磁気ディスクにリード・ライトするドライブ装置を接続することもできる。また、第１の実施の形態に示したストレージ装置も、図６〜図８に示したストレージ装置１００と同様のハードウェアにより実現することができる。
【００６６】
次に、ストレージ装置１００が有するデータマイグレーション機能について説明する。
図１０は、ストレージ装置のデータマイグレーション機能を示すブロック図である。ストレージ装置１００は、管理テーブル作成部１４０、管理テーブル記憶部１５０、移行順決定部１６０、移行制御部１７０、および複数のデータ移行部１８１，１８２，１８３，・・・を有する。
【００６７】
管理テーブル作成部１４０は、端末装置３００から入力されたデータ移行指示に従って、データ移行に用いる管理テーブルを作成する。例えば、入力されるデータ移行指示には、データ移行元のＬＵと、データ移行先のＬＵとの対応関係を示す移行情報が含まれる。
【００６８】
管理テーブル作成部１４０は、移行情報に基づいて、状態管理テーブル１５１、移行先管理テーブル１５２、および移行元管理テーブル１５３を作成する。状態管理テーブル１５１は、移行先のＬＵと移行元のＬＵとの組（以下、移行ペアと呼ぶ）ごとの、移行状態を示すデータテーブルである。移行状態には、例えば移行待ち、移行中、移行完了がある。移行先管理テーブル１５２は、移行先となるＬＵを有するディスクの移行処理状況を示すデータテーブルである。移行元管理テーブル１５３は、移行元となるＬＵを有するディスクの移行処理状況を示すデータテーブルである。移行先と移行元とのディスクに関する移行処理状況は、例えば移行待ちのＬＵ数、移行中のＬＵ数で示される。
【００６９】
管理テーブル記憶部１５０は、状態管理テーブル１５１、移行先管理テーブル１５２、および移行元管理テーブル１５３を記憶する。状態管理テーブル１５１、移行先管理テーブル１５２、および移行元管理テーブル１５３は、管理テーブル作成部１４０によって作成され、移行制御部１７０によって内容が更新される。管理テーブル記憶部１５０としては、例えばＣＭ１２０のＲＡＭ１２２の記憶領域の一部が使用される。
【００７０】
移行順決定部１６０は、管理テーブル記憶部１５０に格納された情報に基づいて、データ移行処理を開始する移行ペアを決定する。
移行制御部１７０は、管理テーブル記憶部１５０に格納された情報に基づいて、ＬＵ間のデータ移行処理を行う。例えば移行制御部１７０は、適宜、移行先管理テーブル１５２と移行元管理テーブル１５３とのそれぞれのレコードをソートする。そして移行制御部１７０は、ソート結果に基づく移行開始対象とする移行ペアの決定要求を、移行順決定部１６０に送信する。また移行制御部１７０は、決定された移行ペア間でのデータ移行の指示を、いずれかのデータ移行部に送信する。
【００７１】
データ移行部１８１，１８２，１８３，・・・は、ストレージ装置２００との間のデータ通信用のパスと同じ数だけ設けられる。データ移行部１８１，１８２，１８３，・・・は、移行ペアを指定したデータ移行開始指示を受け取ると、未使用のパスを用いて、指定された移行ペア間のデータ移行を行う。例えばデータ移行部１８１，１８２，１８３，・・・は、ＣＡを制御し、指定された移行ペアの移行元のＬＵ内のデータのリード要求をストレージ装置２００に対して送信し、リード要求に対して応答されたデータを、指定された移行ペアの移行先のＬＵに書き込む。またデータ移行部１８１，１８２，１８３，・・・は、ＣＡによるデータコピー状況を監視し、データコピーの進捗状況に応じて、管理テーブル記憶部１５０内の情報を更新する。
【００７２】
図１０に示した各要素のうち、管理テーブル作成部１４０、移行順決定部１６０、および移行制御部１７０は、例えばＣＭ１２０のＣＰＵ１２１で実現される機能である。また、管理テーブル記憶部１５０は、例えばＣＭ１２０のＲＡＭ１２２で実現される機能である。さらに、例えばデータ移行部１８１，１８２，１８３，・・・は、それぞれＣＡ１３１，１３２，１３３，・・・とＣＭ１２０のＣＰＵ１２１との連係動作により実現される機能である。
【００７３】
なお、図１０に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また管理テーブル作成部１４０は、図１に示した第１の実施の形態における取得部１−１ａの一例である。移行順決定部１６０と移行制御部１７０とを合わせた機能は、図１に示した第１の実施の形態における決定部１−１ｂの一例である。データ移行部１８１，１８２，１８３，・・・は、図１に示した第１の実施の形態におけるコピー部１−１ｃの一例である。
【００７４】
次に、データ移行指示に含まれる移行情報について説明する。
図１１は、移行情報のデータ構造の一例を示す図である。移行情報３１には、移行先と移行元との欄が設けられている。移行情報３１の同一行に登録された情報が、移行ペアを示している。
【００７５】
移行先の欄は、移行先のＬＵを示す情報が設定される。移行先の欄は、さらにＩＤとＬＵ番号（ＬＵＮ）との欄に分かれている。ＩＤの欄には、移行先のＬＵを有するディスクのストレージ装置１００内での識別子（ＩＤ）が設定される。ＬＵＮの欄には、移行先のＬＵのディスク内での識別番号が設定される。
【００７６】
移行元の欄は、移行元のＬＵを示す情報が設定される。移行元の欄は、さらにＩＤとＬＵ番号（ＬＵＮ）との欄に分かれている。ＩＤの欄には、移行元のＬＵを有するディスクのストレージ装置２００内での識別子（ＩＤ）が設定される。ＬＵＮの欄には、移行元のＬＵのディスク内での識別番号が設定される。
【００７７】
図１１に示した様な移行情報３１に基づいて、管理テーブル作成部１４０によって、状態管理テーブル１５１、移行先管理テーブル１５２、および移行元管理テーブル１５３が作成される。
【００７８】
図１２は、状態管理テーブルのデータ構造の一例を示す図である。状態管理テーブル１５１には、移行先、移行元、および状態の欄が設けられている。移行先と移行元との欄には、データ移行指示に含まれた移行情報３１の内容が設定される。
【００７９】
状態の欄には、移行情報３１で示された各移行ペアの状態が設定される。移行ペアが移行待ちの場合、状態の欄に「ＲＥＡＤＹ」と設定される。移行ペアが移行中の場合、状態の欄に「ＵＳＩＮＧ」と設定される。移行ペアのデータ移行が完了した場合、状態の欄に「ＦＩＮＩＳＨＥＤ」と設定される。状態管理テーブル１５１の作成時には、管理テーブル作成部１４０によって、移行ペアの初期状態として、すべての移行ペアの状態の欄に、「ＲＥＡＤＹ」と設定される。
【００８０】
図１３は、移行先管理テーブルのデータ構造の一例を示す図である。移行先管理テーブル１５２には、ＩＤ、ＴＯＴＡＬ数、ＲＥＡＤＹ数、およびＵＳＩＮＧ数の欄が設けられている。
【００８１】
ＩＤの欄には、移行先のストレージ装置１００内に設けられたディスクの識別子が設定される。ＴＯＴＡＬ数の欄には、対応するＤＩＳＫ番号で示されるディスク内のＬＵのうち、データの移行先に指定されているＬＵの数が設定される。ＲＥＡＤＹ数の欄には、対応するＤＩＳＫ番号で示されるディスク内の、データの移行先に指定されているＬＵのうち、移行待ち状態のＬＵの数が設定される。ＵＳＩＮＧ数の欄には、対応するＤＩＳＫ番号で示されるディスク内の、データの移行先に指定されているＬＵのうち、データを移行中のＬＵの数が設定される。
【００８２】
ＴＯＴＡＬ数の欄の数値は、移行情報３１における移行先の欄に設定されているディスクのＩＤの数を、ＩＤごとに計数することで得られる。ＲＥＡＤＹ数の欄の初期値は、ＴＯＴＡＬ数と同じである。ＵＳＩＮＧ数の初期値は、すべて「０」である。
【００８３】
図１４は、移行元管理テーブルのデータ構造の一例を示す図である。移行元管理テーブル１５３には、ＩＤ、ＴＯＴＡＬ数、ＲＥＡＤＹ数、およびＵＳＩＮＧ数の欄が設けられている。
【００８４】
ＩＤの欄には、移行元のストレージ装置２００内に設けられたディスクの識別子（ＩＤ）が設定される。ＴＯＴＡＬ数の欄には、対応するＤＩＳＫ番号で示されるディスク内のＬＵのうち、データの移行元に指定されているＬＵの数が設定される。ＲＥＡＤＹ数の欄には、対応するＤＩＳＫ番号で示されるディスク内の、データの移行元に指定されているＬＵのうち、移行待ち状態のＬＵの数が設定される。ＵＳＩＮＧ数の欄には、対応するＤＩＳＫ番号で示されるディスク内の、データの移行元に指定されているＬＵのうち、データを移行中のＬＵの数が設定される。
【００８５】
ＴＯＴＡＬ数の欄の数値は、移行情報３１における移行元の欄に設定されているディスクのＩＤの数を、ＩＤごとに計数することで得られる。ＲＥＡＤＹ数の欄の初期値は、ＴＯＴＡＬ数と同じである。ＵＳＩＮＧ数の初期値は、すべて「０」である。
【００８６】
このようなデータテーブルに基づいて、データ移行処理が実行される。以下、データ移行処理の手順について説明する。
図１５は、データ移行処理の手順の一例を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。この処理は、例えば移行情報を伴うデータ移行指示が入力されたときに開始される。
【００８７】
［ステップＳ１０１］管理テーブル作成部１４０は、管理テーブル作成処理を実行する。この処理の詳細は後述する（図１６参照）。
［ステップＳ１０２］移行制御部１７０は、未使用パスがあるか否かを判断する。例えば、ストレージ装置１００とストレージ装置２００とを接続するケーブルの本数が、パスの総数である。移行制御部１７０は、状態管理テーブル１５１を参照し、状態が「ＵＳＩＮＧ」の移行ペアの数が、パスの総数に達していなければ、未使用のパスがあると判断する。また移行制御部１７０は、状態が「ＵＳＩＮＧ」の移行ペアの数が、パスの総数に達していれば、未使用のパスはないと判断する。移行制御部１７０は、未使用のパスがあれば、処理をステップＳ１０３に進める。また移行制御部１７０は、未使用のパスがなければ、パスの空きが生じるまで、ステップＳ１０２の処理を繰り返す。
【００８８】
［ステップＳ１０３］移行制御部１７０は、移行先管理テーブル１５２と移行元管理テーブル１５３とのそれぞれを、ソートする。例えば移行制御部１７０は、移行先管理テーブル１５２と移行元管理テーブル１５３とのディスクを、ＵＳＩＮＧ数によって昇順にソートすることもできる。また移行制御部１７０は、移行先管理テーブル１５２と移行元管理テーブル１５３とのディスクを、ＲＥＡＤＹ数によって降順にソートする。
【００８９】
さらに移行制御部１７０は、ＵＳＩＮＧ数とＲＥＡＤＹ数とを組み合わせてソートすることもできる。例えば移行制御部１７０は、ＵＳＩＮＧ数によってディスクをソートし、ＵＳＩＮＧ数が同じディスク同士を、ＲＥＡＤＹ数によってソートする。なお、第２の実施の形態では、ＵＳＩＮＧ数とＲＥＡＤＹ数とを組み合わせたソートが行われるものとする。
【００９０】
［ステップＳ１０４］移行順決定部１６０は、移行ペア決定処理を行う。移行ペア決定処理は、データ移行を開始する移行ペアを決定する処理である。例えば移行先管理テーブル１５２と移行元管理テーブル１５３とのソートを終了した移行制御部１７０が、移行順決定部１６０に対して、移行ペア決定要求を送信する。移行順決定部１６０は、移行制御部１７０からの移行ペア決定要求に応じて、移行開始対象の移行ペアを決定する。移行ペア決定処理の詳細は後述する（図１９参照）。
【００９１】
［ステップＳ１０５］移行制御部１７０は、データ移行を実行していないデータ移行部に対して、移行開始対象の移行ペアを指定したデータ移行開始指示を送信する。データ移行開始指示を受けたデータ移行部は、指定された移行ペア間のデータ移行処理を開始する。指定された移行ペア間のデータ移行処理の詳細は後述する（図２３参照）。
【００９２】
［ステップＳ１０６］移行制御部１７０は、すべての移行ペアの移行開始指示が完了したか否かを判断する。例えば移行制御部１７０は、状態管理テーブル１５１に登録された移行ペアの状態が、すべて「ＵＳＩＮＧ」と「ＦＩＮＩＳＨＥＤ」とのいずれかになった場合、すべての移行ペアの移行開始指示が完了したものと判断する。移行制御部１７０は、すべての移行ペアの移行開始指示が完了した場合、処理を終了する。また移行制御部１７０は、移行開始指示を出していない移行ペアがある場合、処理をステップＳ１０２に進める。
【００９３】
このようにして移行開始指示が行われる。次に、管理テーブル作成処理を詳細に説明する。
図１６は、管理テーブル作成処理の手順を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
【００９４】
［ステップＳ１１１］管理テーブル作成部１４０は、移行情報を取得する。例えば管理テーブル作成部１４０は、移行指示から、移行情報を取得する。
［ステップＳ１１２］管理テーブル作成部１４０は、状態管理テーブル１５１を作成する。例えば管理テーブル作成部１４０は、移行情報に対して状態の欄を追加し、各移行ペアに「ＲＥＡＤＹ」の状態を設定する。管理テーブル作成部１４０は、作成した状態管理テーブル１５１を、管理テーブル記憶部１５０に格納する。
【００９５】
［ステップＳ１１３］管理テーブル作成部１４０は、移行先のストレージ装置１００内のディスクごとに、移行先となるＬＵの数をカウントする。例えば管理テーブル作成部１４０は、取得した移行情報の移行先の欄からＩＤを抽出し、ＩＤごとに、同一ＩＤの抽出数をカウントする。
【００９６】
［ステップＳ１１４］管理テーブル作成部１４０は、移行先管理テーブル１５２を作成する。例えば管理テーブル作成部１４０は、移行情報の移行先の欄に設定されているＩＤを移行先管理テーブル１５２のＩＤの欄に設定する。次に、管理テーブル作成部１４０は、ステップＳ１１３でカウントしたディスクごとの移行先のＬＵ数を、移行先管理テーブル１５２における、そのディスクのＩＤに対応するＴＯＴＡＬ数の欄に設定する。さらに管理テーブル作成部１４０は、各レコードのＴＯＴＡＬ数と同じ値を、移行先管理テーブル１５２における、そのレコードのＲＥＡＤＹ数の欄に設定する。次に、管理テーブル作成部１４０は、移行先管理テーブル１５２のすべてのレコードのＵＳＩＮＧ数の欄に「０」を設定する。そして、管理テーブル作成部１４０は、作成した移行先管理テーブル１５２を、管理テーブル記憶部１５０に格納する。
【００９７】
［ステップＳ１１５］管理テーブル作成部１４０は、移行元のストレージ装置２００内のディスクごとに、移行元となるＬＵの数をカウントする。例えば管理テーブル作成部１４０は、取得した移行情報の移行元の欄からＩＤを抽出し、ＩＤごとに、同一ＩＤの抽出数をカウントする。
【００９８】
［ステップＳ１１６］管理テーブル作成部１４０は、移行元管理テーブル１５３を作成する。例えば管理テーブル作成部１４０は、移行情報の移行元の欄に設定されているＩＤを移行元管理テーブル１５３のＩＤの欄に設定する。次に、管理テーブル作成部１４０は、ステップＳ１１５でカウントしたディスクごとの移行元のＬＵ数を、移行元管理テーブル１５３における、そのディスクのＩＤに対応するＴＯＴＡＬ数の欄に設定する。さらに管理テーブル作成部１４０は、各レコードのＴＯＴＡＬ数と同じ値を、移行元管理テーブル１５３における、そのレコードのＲＥＡＤＹ数の欄に設定する。次に、管理テーブル作成部１４０は、移行元管理テーブル１５３のすべてのレコードのＵＳＩＮＧ数の欄に「０」を設定する。そして管理テーブル作成部１４０は、作成した移行元管理テーブル１５３を、管理テーブル記憶部１５０に格納する。
【００９９】
このようにして、管理テーブル記憶部１５０内に、状態管理テーブル１５１、移行先管理テーブル１５２、および移行元管理テーブル１５３が格納される。
作成された移行先管理テーブル１５２と移行元管理テーブル１５３とは、移行制御部１７０によってソートされる。
【０１００】
図１７は、移行先管理テーブルの第１のソート例を示す図である。図１７には、初期状態の移行先管理テーブル１５２のソート例を示している。
初期状態の移行先管理テーブル１５２では、すべてのディスクのＵＳＩＮＧ数は「０」である。そのためＵＳＩＮＧ数によるソートは意味を成さない。そこで、ＲＥＡＤＹ数によるソートが行われる。図１７の例では、ＲＥＡＤＹ数が多い順に、各レコードがソートされている。ソート後の各レコードには、優先順位が高い順に、昇順の行番号が設定されている。
【０１０１】
図１８は、移行先管理テーブルの第２のソート例を示す図である。図１８の例は、データ移行処理の途中段階におけるソート処理を示している。
データ移行処理の途中段階では、移行途中の移行ペアが存在する。移行途中の移行ペアそれぞれの移行先のＬＵが属するディスクのＩＤには、ＵＳＩＮＧ数として「１」が設定されている。そこで、まずＵＳＩＮＧ数によって移行先管理テーブル１５２内の各レコードが昇順にソートされている。次に、同じＵＳＩＮＧ数のレコード間で、ＲＥＡＤＹ数によって降順にソートされている。
【０１０２】
なお図１７、図１８の例では、移行先管理テーブル１５２のソート例を示したが、移行元管理テーブル１５３も同様の処理によってソートされる。
このようにソート処理を行うことで、ＵＳＩＮＧ数（つまりはディスク競合）が少ないもの、かつ、ＲＥＡＤＹ数が多いものに高い優先順位を付与できる。
【０１０３】
すなわち、図１８に示したように、移行先管理テーブル１５２内のレコードが、まずＵＳＩＮＧ数によって昇順にソートされる。そして、移行ペアを決定する際には、移行先管理テーブル１５２の上位から順に、データ移行の開始の有無が判定される。これにより、移行中のＬＵ数が少ないディスク内のＬＵを含む移行ペアが、優先的にデータ移行開始対象として決定される。その結果、特定のディスクに対して重複してデータ移行が行われることが抑止される。
【０１０４】
また図１７，図１８に示した様に、移行待ちのＬＵ数が多いディスクのレコードほど、移行先管理テーブルの上位に設定される。これにより、移行待ちのＬＵ数が多いディスク内のＬＵを含む移行ペアが、優先的にデータ移行開始対象として決定される。その結果、移行待ちのＬＵを多く含んでいるディスク内のＬＵのデータ移行が優先して実行され、データ移行処理の終盤において、移行待ちＬＵが属するディスクが、特定のディスクに集中することが抑止される。
【０１０５】
例えば、ディスクそれぞれに対して均等にデータ移行を行うと、データ移行処理の終盤では、ＴＯＴＡＬ数が多いディスクに属するＬＵが、移行待ちとして残る。例えば図１７の例では、ＩＤ「Ｆ」、「Ｇ」のディスク内のＬＵが、移行待ちとして最後に残ってしまう。ここで例えばパス数が３だとすると、すべてのパスを使用した場合、ＩＤ「Ｆ」、「Ｇ」のいずれかのディスクにおいて、移行先の競合が発生する。逆に、移行先の競合を完全に禁止した場合、データ移行処理の終盤では一部のパスが未使用となり、処理効率が悪化する。
【０１０６】
第２の実施の形態では、図１７、図１８に示すソート処理により、各ディスクのデータ移行の終了時期の差が小さくなる。そのため、データ移行処理の終盤で、特定のディスクへのアクセス集中が発生したり、活用されないパスが生じたりすることが抑止される。
【０１０７】
次に移行ペア決定処理の手順について説明する。
図１９は、移行ペア決定処理の手順を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１０８】
［ステップＳ１２１］移行順決定部１６０は、競合許容数を初期化する。例えば移行順決定部１６０は、競合許容数を示す変数を内部に保持しており、その変数に「０」を設定する。なお競合許容数を示す変数は、例えばＲＡＭ１２２内の移行順決定部１６０が管理する記憶領域に格納される。
【０１０９】
［ステップＳ１２２］移行順決定部１６０は、移行先と移行元それぞれの、ディスクごとの移行待ちＬＵ数のばらつきを計算する。移行待ちＬＵ数のばらつきは、判断対象行移動処理（ステップＳ１２８）において使用される。
【０１１０】
すなわち、ステップＳ１２３以降の処理では、移行先管理テーブル１５２と移行元管理テーブル１５３とのそれぞれから１つずつ行が、判断対象として特定される。そして、判断対象の２つの行それぞれに示されるＩＤに対応するディスク間でのデータ移行を開始するか否かが判断される。ここでデータ移行を開始しないと判断された場合、移行先管理テーブル１５２と移行元管理テーブル１５３との少なくとも一方の判断対象の行が、別の行に移動される。このとき、データ移行元とデータ移行先のどちらか一方を常に基準としてループ処理させると、他方でのＲＥＡＤＹ数（移行待ちのＬＵ数）に偏りが生じる可能性が大きい。そこで、第２の実施の形態では、移行先管理テーブル１５２と移行元管理テーブル１５３とのどちらの行を移動させるかは、移行先と移行元との、ディスクごとのＲＥＡＤＹ数のばらつきの大小で決定する。
【０１１１】
［ステップＳ１２３］移行順決定部１６０は、移行先管理テーブル１５２と移行元管理テーブル１５３それぞれの、移行開始対象とするか否かの判断を行う行（判断行）の行番号を初期化する。例えば移行順決定部１６０は、移行先管理テーブル１５２の判断行の行番号を示す変数ｔＡに、「１」を設定する。また移行順決定部１６０は、移行元管理テーブル１５３の判断行の行番号を示す変数ｔＢに、「１」を設定する。
【０１１２】
［ステップＳ１２４］移行順決定部１６０は、移行先管理テーブル１５２のｔＡ行目のディスク番号を取得する。移行順決定部１６０は、取得したディスク番号を、変数dstDiskに設定する。
【０１１３】
［ステップＳ１２５］移行順決定部１６０は、移行元管理テーブル１５３のｔＢ行目のディスク番号を取得する。移行順決定部１６０は、取得したディスク番号を、変数srcDiskに設定する。
【０１１４】
［ステップＳ１２６］移行順決定部１６０は、変数dstDiskと変数srcDiskとで示されるディスクの組に該当する移行ペアが、状態管理テーブル１５１に登録されているか否かを判断する。移行順決定部１６０は、該当する移行ペアが登録されていれば、処理をステップＳ１２７に進める。また移行順決定部１６０は、該当する移行ペアが登録されていなければ、処理をステップＳ１３１に進める。
【０１１５】
［ステップＳ１２７］移行順決定部１６０は、ステップＳ１２６において、変数dstDiskと変数srcDiskとで示されるディスクの組に該当する移行ペアの情報を、状態管理テーブル１５１から抽出する。そして移行順決定部１６０は、抽出した移行ペアの中に移行待ち状態（ＲＥＡＤＹ）の移行ペアがあるか否かを判断する。移行順決定部１６０は、抽出した移行ペアの中に移行待ちの移行ペアがあれば、処理をステップＳ１２８に進める。また移行順決定部１６０は、抽出した移行ペアの中に移行待ちの移行ペアがなければ、処理をステップＳ１３１に進める。
【０１１６】
［ステップＳ１２８］移行順決定部１６０は、変数dstDiskで示される、移行先のディスクにおける競合数が競合許容数以下か否かを判断する。移行先となるディスクの競合数は、移行先管理テーブル１５２内の該当ディスクのＵＳＩＮＧ数である。移行順決定部１６０は、移行先のディスクの競合数が競合許容数以下であれば、処理をステップＳ１２９に進める。また移行順決定部１６０は、移行先のディスクの競合数が競合許容数より大きければ、処理をステップＳ１３１に進める。
【０１１７】
［ステップＳ１２９］移行順決定部１６０は、変数srcDiskで示される、移行元のディスクにおける競合数が競合許容数以下か否かを判断する。移行元となるディスクの競合数は、移行元管理テーブル１５３内の該当ディスクのＵＳＩＮＧ数である。移行順決定部１６０は、移行元のディスクの競合数が競合許容数以下であれば、処理をステップＳ１３０に進める。また移行順決定部１６０は、移行元のディスクの競合数が競合許容数より大きければ、処理をステップＳ１３１に進める。
【０１１８】
［ステップＳ１３０］移行順決定部１６０は、変数dstDiskと変数srcDiskとで示されるディスクの組に該当する移行ペアのうちの、移行待ち状態の移行ペアの１つを選択し、移行開始対象の移行ペアに決定する。その後、移行ペア決定処理が終了する。
【０１１９】
一方、変数dstDiskと変数srcDiskとで示されるディスクの組に該当する移行ペアを移行開始対象とすることができない場合、以下の処理が行われる。
［ステップＳ１３１］移行順決定部１６０は、変数dstDiskと変数srcDiskとのそれぞれに設定されている行番号に該当する行が、それぞれ移行先管理テーブル１５２の最後の行と移行元管理テーブル１５３の最後の行であるか否かを判断する。移行順決定部１６０は、共に最後の行であれば、処理をステップＳ１３３に進める。また移行順決定部１６０は、少なくとも一方が最後の行でなければ、処理をステップＳ１３２に進める。
【０１２０】
［ステップＳ１３２］移行順決定部１６０は、判断行移動処理を行う。判断行移行処理は、移行先管理テーブル１５２と移行元管理テーブル１５３とのいずれか一方の判断行を、次の行に移動する処理である。判断行移動処理の詳細は後述する（図２１参照）。移行順決定部１６０は、その後、処理をステップＳ１２４に進める。
【０１２１】
［ステップＳ１３３］移行順決定部１６０は、変数dstDiskと変数srcDiskとのそれぞれに設定されている行番号に該当する行が、それぞれ移行先管理テーブル１５２の最後の行と移行元管理テーブル１５３の最後の行であれば、競合許容数に「１」を加算する。そして、移行順決定部１６０は、処理をステップＳ１２３に進める。
【０１２２】
このような手順で、移行開始対象の移行ペアが決定される。
次に、ステップＳ１２２で実行される、ディスクごとのＲＥＡＤＹ数のばらつきの計算例について説明する。
【０１２３】
ばらつきは、例えば標準偏差σ、もしくは範囲Ｒで表される。以下のようにして計算される。
標準偏差σは、以下の式（１）で算出できる。
【０１２４】
【数１】
0005760843.tif 000002
【０１２５】
式（１）において、Ｎは、ストレージ装置１００またはストレージ装置２００内のディスク数である（Ｎは１以上の整数）。ストレージ装置１００またはストレージ装置２００内でＲＡＩＤグループが作成されていれば、１つのＲＡＩＤグループが１つのディスクに換算される。ｉ（１以上の整数）は、ディスクに１から順に番号を振ったときのディスクの番号である）。ｘiは、ｉ番目のディスクのＲＥＡＤＹ数である。Ａｖｅは、ディスクごとのＲＥＡＤＹ数の平均値である。なお、式（１）の平方根の中の値は、分散と呼ばれる。
【０１２６】
図２０は、ばらつきの計算例を示す図である。図２０の例では、移行先の５台のディスク（ＩＤ：Ａ，Ｂ，Ｃ，Ｄ，Ｅ）のＲＥＡＤＹ数は、それぞれ「３」、「２」、「３」、「２」、「５」である。これらの平均値は、（３＋２＋３＋２＋５）／５＝３である。分散は、｛（３−３）2＋（２−３）2＋（３−３）2＋（２−３）2＋（５−３）2｝／５＝１．２となる。分散の正の平方根である標準偏差は、約１．１となる。
【０１２７】
他方、移行元の５台のディスク（ＩＤ：ａ，ｂ，ｃ，ｄ，ｅ）のＲＥＡＤＹ数は、それぞれ「１」、「５」、「３」、「２」、「４」である。これらの平均値は、（１＋５＋３＋２＋４）／５＝３である。分散は、｛（１−３）2＋（５−３）2＋（３−３）2＋（２−３）2＋（４−３）2｝／５＝２となる。分散の正の平方根である標準偏差は、約１．４となる。
【０１２８】
図２０の例では、移行先よりも移行元の方が標準偏差の値が大きい。すなわち移行元の方がばらつきが大きい。
また、範囲Ｒは、各ディスクのＲＥＡＤＹ数の最大値をＭＡＸ、最小値をＭＩＮとすると、以下の式（２）で算出できる。
範囲（Ｒ）＝ＭＡＸ−ＭＩＮ    ・・・（２）
以上の式（１）または式（２）で計算された、移行先と移行元それぞれのばらつきの値を用いて、判断行移動処理が行われる。
【０１２９】
図２１は、判断行移動処理の手順を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
［ステップＳ１４１］移行順決定部１６０は、移行先と移行元との、ディスクごとのＲＥＡＤＹ数のばらつきを比較し、移行先が移行元以上か否かを判断する。移行順決定部１６０は、移行先のばらつきが、移行元のばらつき以上であれば、処理をステップＳ１４６に進める。また移行順決定部１６０は、移行先のばらつきが、移行元のばらつき未満であれば、処理をステップＳ１４２に進める。
【０１３０】
［ステップＳ１４２］移行順決定部１６０は、移行先のばらつきが移行元のばらつき未満の場合、移行先管理テーブル１５２の現在の判断行（ｔＡ行目）が、移行先管理テーブル１５２の最後の行か否かを判断する。移行順決定部１６０は、ｔＡ行目が最後の行であれば、処理をステップＳ１４４に進める。また移行順決定部１６０は、ｔＡ行目が最後の行でなければ、処理をステップＳ１４３に進める。
【０１３１】
［ステップＳ１４３］移行順決定部１６０は、現在の判断行が移行先管理テーブル１５２の最後の行でなければ、移行先管理テーブル１５２の判断行を、次の行に移動する。例えば移行順決定部１６０は、変数ｔＡの値に１を加算する。その後、判断行移動処理が終了する。
【０１３２】
［ステップＳ１４４］移行順決定部１６０は、現在の判断行が移行先管理テーブル１５２の最後の行であれば、移行先管理テーブル１５２の判断行を、移行先管理テーブル１５２の先頭に移動する。例えば移行順決定部１６０は、変数ｔＡの値を「１」に変更する。
【０１３３】
［ステップＳ１４５］移行順決定部１６０は、移行元管理テーブル１５３の判断行を、次の行に移動する。例えば移行順決定部１６０は、変数ｔＢの値に１を加算する。その後、判断行移動処理が終了する。
【０１３４】
［ステップＳ１４６］移行順決定部１６０は、移行先のばらつきが移行元のばらつき以上の場合、移行元管理テーブル１５３の現在の判断行（ｔＢ行目）が、移行元管理テーブル１５３の最後の行か否かを判断する。移行順決定部１６０は、ｔＢ行目が最後の行であれば、処理をステップＳ１４８に進める。また移行順決定部１６０は、ｔＢ行目が最後の行でなければ、処理をステップＳ１４７に進める。
【０１３５】
［ステップＳ１４７］移行順決定部１６０は、現在の判断行が移行元管理テーブル１５３の最後の行でなければ、移行元管理テーブル１５３の判断行を、次の行に移動する。例えば移行順決定部１６０は、変数ｔＢの値に１を加算する。その後、判断行移動処理が終了する。
【０１３６】
［ステップＳ１４８］移行順決定部１６０は、現在の判断行が移行元管理テーブル１５３の最後の行であれば、移行元管理テーブル１５３の判断行を、移行元管理テーブル１５３の先頭に移動する。例えば移行順決定部１６０は、変数ｔＢの値を「１」に変更する。
【０１３７】
［ステップＳ１４９］移行順決定部１６０は、移行先管理テーブル１５２の判断行を、次の行に移動する。例えば移行順決定部１６０は、変数ｔＡの値に１を加算する。その後、判断行移動処理が終了する。
【０１３８】
このように、移行先と移行元とのうち、ばらつきが大きい方はできるだけ判断行を動かさず、ばらつきが少ない方の判断行を移動させていくことで、移行開始対象となる移行ペアが調査される。
【０１３９】
図２２は、移行開始対象となる移行ペアの決定例を示す図である。図２２の例は、移行先の方が、移行元よりもＲＥＡＤＹ数のばらつきが大きい場合である。また図２２では、移行先の判断行と移行元の判断行との組み合わせを線で接続し、その線の上に、移行開始対象となる移行ペアがあるか否かの判断の順番を括弧書きで示している。
【０１４０】
１番目に判断される判断行の組み合わせ（図中［０１］）は、移行先管理テーブル１５２の１行目と、移行元管理テーブル１５３の１行目である。もし、１番目に判断される判断行の組み合わせに対応するディスク間で、データ移行を開始する移行ペアが見つからない場合、判断行が移動される。
【０１４１】
この例では、移行先の方がＲＥＡＤＹ数のばらつきが大きいことから、移行先管理テーブル１５２の判断行が固定され、移行元管理テーブル１５３の判断行が移動される。その結果、２番目に判断される判断行の組み合わせ（図中［０２］）は、移行先管理テーブル１５２の１行目と、移行元管理テーブル１５３の２行目となる。同様に、３番目に判断される判断行の組み合わせ（図中［０３］）は、移行先管理テーブル１５２の１行目と、移行元管理テーブル１５３の３行目となる。
【０１４２】
その後、データ移行を開始する移行ペアが見つかるまで、移行元の判断行が順次移動される。例えば７番目に判断される判断行の組み合わせ（図中［０７］）は、移行先管理テーブル１５２の１行目と、移行元管理テーブル１５３の７行目となる。
【０１４３】
移行元管理テーブル１５３の７行目は、移行元管理テーブル１５３の最後の行である。そこで、８番目に判断される判断行の組み合わせ（図中［０８］）では、移行先と移行元との両方の判断行が移動され、移行先管理テーブル１５２の２行目と、移行元管理テーブル１５３の１行目とが判断行となる。
【０１４４】
このように、移行先と移行元とのうち、統計的にみてＲＥＡＤＹ数のバラツキが大きい方を基準にすることで、データ移行処理の進行に伴って、ディスクごとのＲＥＡＤＹ数が等しくなるようにスケジューリングできる。
【０１４５】
データの移行開始対象として決定された移行ペアは、データ移行部によって、移行ペアの移行元のＬＵから移行先のＬＵへデータがコピーされる。このようなデータ移行処理の過程で、管理テーブル記憶部１５０内の情報が適宜更新される。
【０１４６】
以下、移行ペア間のデータ移行処理の手順について説明する。
図２３は、移行ペア間データ移行処理の手順の一例を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。以下の説明では、データ移行部１８１が移行ペア間のデータ移行を行うものとする。
【０１４７】
［ステップＳ１６１］データ移行部１８１は、移行制御部１７０から移行開始指示を取得する。移行開始指示には、移行開始が決定された移行ペアの情報が含まれている。
［ステップＳ１６２］データ移行部１８１は、状態管理テーブル１５１における、移行開始が決定された移行ペアの状態を、ＵＳＩＮＧに変更する。
【０１４８】
［ステップＳ１６３］データ移行部１８１は、移行先管理テーブル１５２内の、移行開始が決定された移行ペアの移行先のディスクのＲＥＡＤＹ数を１だけカウントダウンし、ＵＳＩＮＧ数を１だけカウントアップする。
【０１４９】
［ステップＳ１６４］データ移行部１８１は、移行元管理テーブル１５３内の、移行開始が決定された移行ペアの移行元のディスクのＲＥＡＤＹ数を１だけカウントダウンし、ＵＳＩＮＧ数を１だけカウントアップする。
【０１５０】
［ステップＳ１６５］データ移行部１８１は、移行開始が決定された移行ペアの移行元から移行先へ、データをコピーする。例えばデータ移行部１８１は、未使用のパスを介して、ストレージ装置２００に対して、移行元のＬＵ内のデータリード要求を送信する。ストレージ装置２００は、データリード要求に応じてＬＵ内のデータを読み出し、ストレージ装置１００に送信する。ストレージ装置１００では、データリード要求を送信したＣＡが、ストレージ装置２００から送られたデータを受信し、ＣＭ１２０に転送する。ＣＭ１２０内で機能するデータ移行部１８１は、ストレージ装置２００から送られたデータを、ＤＩを介して、移行先のＬＵに書き込む。
【０１５１】
［ステップＳ１６６］データコピーが完了すると、データ移行部１８１は、状態管理テーブル１５１における、移行開始が決定された移行ペアの状態を、ＦＩＮＩＳＨＥＤに変更する。
【０１５２】
［ステップＳ１６７］データ移行部１８１は、移行先管理テーブル１５２内の、移行開始が決定された移行ペアの移行先のディスクのＵＳＩＮＧ数を、１だけカウントダウンする。
【０１５３】
［ステップＳ１６８］データ移行部１８１は、移行元管理テーブル１５３内の、移行開始が決定された移行ペアの移行元のディスクのＵＳＩＮＧ数を、１だけカウントダウンする。
【０１５４】
このようにして、移行ペア間のデータ移行の進捗状況に合わせて、管理テーブル記憶部１５０内の情報が更新される。
以下、データ移行例について説明する。
【０１５５】
図２４は、データ移行例を示す図である。図２４の例では、データの移行元となるストレージ装置２００に３つのディスク４１〜４３が設けられている。また、データの移行先となるストレージ装置１００にも３つのディスク５１〜５３が設けられている。各ディスク４１〜４３，５１〜５３は、それぞれ、例えばＲＡＩＤ技術によって形成されたＲＡＩＤグループである。ディスク４１〜４３，５１〜５３内には、それぞれ３つずつのＬＵが設けられている。各ＬＵには、識別番号（ＬＵＮ）が付与されている。
【０１５６】
また２つのストレージ装置１００，２００の間は、データ移行用に３つのパス６１〜６３が設けられている。図２４では、移行ペアを構成するＬＵ間を、矢印で接続している。各矢印の上の数字は、その矢印に対応する移行ペアのレコードの状態管理テーブル（図２５〜図３０参照）内で行の番号を示している。
【０１５７】
ディスク４１のＬＵＮ「０ｘ００」のＬＵ内のデータの移行先は、ディスク５１のＬＵＮ「０ｘ００」のＬＵである。ディスク４１のＬＵＮ「０ｘ０１」のＬＵ内のデータの移行先は、ディスク５２のＬＵＮ「０ｘ００」のＬＵである。ディスク４１のＬＵＮ「０ｘ０２」のＬＵ内のデータの移行先は、ディスク５３のＬＵＮ「０ｘ００」のＬＵである。ディスク４２のＬＵＮ「０ｘ００」のＬＵ内のデータの移行先は、ディスク５１のＬＵＮ「０ｘ０１」のＬＵである。ディスク４２のＬＵＮ「０ｘ０１」のＬＵ内のデータの移行先は、ディスク５２のＬＵＮ「０ｘ０１」のＬＵである。ディスク４２のＬＵＮ「０ｘ０２」のＬＵ内のデータの移行先は、ディスク５３のＬＵＮ「０ｘ０１」のＬＵである。ディスク４３のＬＵＮ「０ｘ００」のＬＵ内のデータの移行先は、ディスク５１のＬＵＮ「０ｘ０２」のＬＵである。ディスク４３のＬＵＮ「０ｘ０１」のＬＵ内のデータの移行先は、ディスク５２のＬＵＮ「０ｘ０２」のＬＵである。ディスク４３のＬＵＮ「０ｘ０２」のＬＵ内のデータの移行先は、ディスク５３のＬＵＮ「０ｘ０２」のＬＵである。
【０１５８】
次に、図２４に示すようなデータ移行を実行した場合のデータ移行状況の遷移を、図２５〜図３０を参照して説明する。なお図２５〜図３０の移行先管理テーブルと移行元管理テーブルでは、ＴＯＴＡＬ数の欄が省略されている。また以下の例では、移行先管理テーブルと移行元管理テーブルとのレコードのソートに際し、ＲＥＡＤＹ数とＵＳＩＮＧ数とが共に同じレコード同士については、ＩＤに設定されたアルファベットによりソートされるものとする。
【０１５９】
図２５は、データ移行時の情報の遷移を示す第１の図である。図２５には、図２４に示すデータ移行を行う際の状態管理テーブル１５１ａ、移行先管理テーブル１５２ａ、および移行元管理テーブル１５３ａが示されている。
【０１６０】
［第１の状態］
第１の状態は、各管理テーブルの初期状態である。初期状態では、状態管理テーブル１５１ａに設定された各移行ペアの状態は、すべて「ＲＥＡＤＹ」である。移行先管理テーブル１５２ａに設定された各ディスクのＲＥＡＤＹ数はすべて「３」であり、ＵＳＩＮＧ数はすべて「０」である。移行元管理テーブル１５３ａに設定された各ディスクのＲＥＡＤＹ数はすべて「３」であり、ＵＳＩＮＧ数はすべて「０」である。また、移行先と移行元との標準偏差は、共に「０．０」である。
【０１６１】
第１の状態でデータ移行処理が開始されると、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う移行ペアが、移行開始対象として決定される。図２５の例では、状態管理テーブル１５１ａの１行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第２の状態に遷移する。
【０１６２】
［第２の状態］
第２の状態では、状態管理テーブル１５１ａの１行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１６３】
移行先管理テーブル１５２ａにおけるＩＤ「Ａ」のディスクのＲＥＡＤＹ数が「２」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．６」となる。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ｂ」、「Ｃ」、「Ａ」の順となっている。
【０１６４】
移行元管理テーブル１５３ａにおけるＩＤ「ａ」のディスクのＲＥＡＤＹ数が「２」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．６」となる。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ｂ」、「ｃ」、「ａ」の順となっている。
【０１６５】
第２の状態から、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う移行ペアが、移行開始対象として決定される。図２５の例では、状態管理テーブル１５１ａの５行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第３の状態に遷移する。
【０１６６】
［第３の状態］
第３の状態では、状態管理テーブル１５１ａの５行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１６７】
移行先管理テーブル１５２ａにおけるＩＤ「Ｂ」のディスクのＲＥＡＤＹ数が「２」に変更され、ＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ｃ」、「Ａ」、「Ｂ」の順となっている。
【０１６８】
移行元管理テーブル１５３ａにおけるＩＤ「ｂ」のディスクのＲＥＡＤＹ数が「２」に変更され、ＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ｃ」、「ａ」、「ｂ」の順となっている。
【０１６９】
第３の状態から、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う移行ペアが、移行開始対象として決定される。図２５の例では、状態管理テーブル１５１ａの９行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第４の状態（図２６参照）に遷移する。
【０１７０】
図２６は、データ移行時の情報の遷移を示す第２の図である。
［第４の状態］
第４の状態では、状態管理テーブル１５１ａの９行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１７１】
移行先管理テーブル１５２ａにおけるＩＤ「Ｃ」のディスクのＲＥＡＤＹ数が「２」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．０」となる。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ａ」、「Ｂ」、「Ｃ」の順となっている。
【０１７２】
移行元管理テーブル１５３ａにおけるＩＤ「ｃ」のディスクのＲＥＡＤＹ数が「２」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．０」となる。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ａ」、「ｂ」、「ｃ」の順となっている。
【０１７３】
第４の状態では、３つのパスがすべて使用されており、未使用のパスがない。そこで、データ移行処理を実行中の移行ペアのいずれかで、データ移行が完了するまで、移行開始対象の移行ペアの決定は行われない。データ移行処理のいずれかが完了すると、各管理テーブルの内容が更新され、第５の状態に遷移する。
【０１７４】
［第５の状態］
第５の状態では、状態管理テーブル１５１ａの１行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０１７５】
移行先管理テーブル１５２ａにおけるＩＤ「Ａ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．０」のままである。
移行元管理テーブル１５３ａにおけるＩＤ「ａ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．０」のままである。
【０１７６】
第５の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが探索される。しかし該当する移行ペアがない。そこで判断行移動処理が行われる。第５の状態では、移行先と移行元とのＲＥＡＤＹ数の標準偏差が同じである。このような場合、第２の実施の形態では、移行元管理テーブル１５３ａの判断行を基準として固定し、移行先管理テーブル１５２ａの判断行を移動する。その結果、状態管理テーブル１５１ａの４行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第６の状態に遷移する。
【０１７７】
［第６の状態］
第６の状態では、状態管理テーブル１５１ａの４行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１７８】
移行先管理テーブル１５２ａにおけるＩＤ「Ｂ」のディスクのＲＥＡＤＹ数が「１」に変更され、ＵＳＩＮＧ数が「２」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．６」となる。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ａ」、「Ｃ」、「Ｂ」の順となっている。
【０１７９】
移行元管理テーブル１５３ａにおけるＩＤ「ａ」のディスクのＲＥＡＤＹ数が「１」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．６」となる。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ｂ」、「ｃ」、「ａ」の順となっている。
【０１８０】
第６の状態において、実行中のデータ移行処理のいずれかが完了すると、各管理テーブルの内容が更新され、第７の状態（図２７参照）に遷移する。
図２７は、データ移行時の情報の遷移を示す第３の図である。
【０１８１】
［第７の状態］
第７の状態では、状態管理テーブル１５１ａの５行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０１８２】
移行先管理テーブル１５２ａにおけるＩＤ「Ｂ」のディスクのＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
移行元管理テーブル１５３ａにおけるＩＤ「ｂ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
【０１８３】
第７の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが探索される。その結果、状態管理テーブル１５１ａの２行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第８の状態に遷移する。
【０１８４】
［第８の状態］
第８の状態では、状態管理テーブル１５１ａの２行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１８５】
移行先管理テーブル１５２ａにおけるＩＤ「Ａ」のディスクのＲＥＡＤＹ数が「１」に変更され、ＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ｃ」、「Ａ」、「Ｂ」の順となっている。
【０１８６】
移行元管理テーブル１５３ａにおけるＩＤ「ｂ」のディスクのＲＥＡＤＹ数が「１」に変更され、ＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ｃ」、「ａ」、「ｂ」の順となっている。
【０１８７】
第８の状態において、実行中のデータ移行処理のいずれかが完了すると、各管理テーブルの内容が更新され、第９の状態に遷移する。
［第９の状態］
第９の状態では、状態管理テーブル１５１ａの９行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０１８８】
移行先管理テーブル１５２ａにおけるＩＤ「Ｃ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
移行元管理テーブル１５３ａにおけるＩＤ「ｃ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
【０１８９】
第９の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが探索される。しかし該当する移行ペアがない。そこで判断行移動処理が行われる。第９の状態では、移行先と移行元とのＲＥＡＤＹ数の標準偏差が同じである。そこで移行先管理テーブル１５２ａの判断行が次の行に変更される。その結果、状態管理テーブル１５１ａの３行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第１０の状態（図２８参照）に遷移する。
【０１９０】
図２８は、データ移行時の情報の遷移を示す第４の図である。
［第１０の状態］
第１０の状態では、状態管理テーブル１５１ａの３行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１９１】
移行先管理テーブル１５２ａにおけるＩＤ「Ａ」のディスクのＲＥＡＤＹ数が「０」に変更され、ＵＳＩＮＧ数が「２」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「１．０」となる。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ｃ」、「Ｂ」、「Ａ」の順となっている。
【０１９２】
移行元管理テーブル１５３ａにおけるＩＤ「ｃ」のディスクのＲＥＡＤＹ数が「１」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．０」となる。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ａ」、「ｂ」、「ｃ」の順となっている。
【０１９３】
第１０の状態において、実行中のデータ移行処理のいずれかが完了すると、各管理テーブルの内容が更新され、第１１の状態に遷移する。
［第１１の状態］
第１１の状態では、状態管理テーブル１５１ａの４行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０１９４】
移行先管理テーブル１５２ａにおけるＩＤ「Ｂ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「１．０」のままである。
移行元管理テーブル１５３ａにおけるＩＤ「ａ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．０」のままである。
【０１９５】
第１１の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが探索される。その結果、状態管理テーブル１５１ａの７行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第１２の状態に遷移する。
【０１９６】
なお第１１の状態では、移行先のＲＥＡＤＹ数の標準偏差が「１．０」であり、移行元のＲＥＡＤＹ数の標準偏差が「０．０」である。図２８の例では、第１１の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが存在する。そのため判断行移動処理は行われていない。もし、最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが存在しなかった場合、標準偏差が大きい移行先を基準とし、移行元管理テーブル１５３ａの判断行の移動が行われる。
【０１９７】
［第１２の状態］
第１２の状態では、状態管理テーブル１５１ａの７行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０１９８】
移行先管理テーブル１５２ａにおけるＩＤ「Ｃ」のディスクのＲＥＡＤＹ数が「１」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．６」となる。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ｂ」、「Ｃ」、「Ａ」の順となっている。
【０１９９】
移行元管理テーブル１５３ａにおけるＩＤ「ａ」のディスクのＲＥＡＤＹ数が「０」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．６」となる。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ｂ」、「ｃ」、「ａ」の順となっている。
【０２００】
第１２の状態において、実行中のデータ移行処理のいずれかが完了すると、各管理テーブルの内容が更新され、第１３の状態（図２９参照）に遷移する。
図２９は、データ移行時の情報の遷移を示す第５の図である。
【０２０１】
［第１３の状態］
第１３の状態では、状態管理テーブル１５１ａの２行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０２０２】
移行先管理テーブル１５２ａにおけるＩＤ「Ａ」のディスクのＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
移行元管理テーブル１５３ａにおけるＩＤ「ｂ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
【０２０３】
第１３の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが探索される。しかし該当する移行ペアがない。そこで判断行移動処理が行われる。第１３の状態では、移行先と移行元とのＲＥＡＤＹ数の標準偏差が同じである。そこで移行先管理テーブル１５２ａの判断行が次の行に変更される。その結果、状態管理テーブル１５１ａの８行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第１４の状態に遷移する。
【０２０４】
［第１４の状態］
第１４の状態では、状態管理テーブル１５１ａの８行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０２０５】
移行先管理テーブル１５２ａにおけるＩＤ「Ｃ」のディスクのＲＥＡＤＹ数が「０」に変更され、ＵＳＩＮＧ数が「２」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。また移行先管理テーブル１５２ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「Ｂ」、「Ａ」、「Ｃ」の順となっている。
【０２０６】
移行元管理テーブル１５３ａにおけるＩＤ「ｂ」のディスクのＲＥＡＤＹ数が「０」に変更され、ＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。また移行元管理テーブル１５３ａ内のレコードがＵＳＩＮＧ数とＲＥＡＤＹ数でソートされ、上位からＩＤ「ｃ」、「ａ」、「ｂ」の順となっている。
【０２０７】
第１４の状態において、実行中のデータ移行処理のいずれかが完了すると、各管理テーブルの内容が更新され、第１５の状態に遷移する。
［第１５の状態］
第１５の状態では、状態管理テーブル１５１ａの３行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０２０８】
移行先管理テーブル１５２ａにおけるＩＤ「Ａ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
移行元管理テーブル１５３ａにおけるＩＤ「ｃ」のディスクのＵＳＩＮＧ数が「０」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．６」のままである。
【０２０９】
第１５の状態において、移行先管理テーブル１５２ａと移行元管理テーブル１５３ａそれぞれの最上位の行のディスク間でデータ移行を行う、状態が「ＲＥＡＤＹ」の移行ペアが探索される。その結果、状態管理テーブル１５１ａの６行目に設定されている移行ペアが移行開始対象に決定される。移行開始対象に決定された移行ペアの移行が開始されると、各管理テーブルの内容が更新され、第１６の状態（図３０参照）に遷移する。
【０２１０】
図３０は、データ移行時の情報の遷移を示す第６の図である。
［第１６の状態］
第１６の状態では、状態管理テーブル１５１ａの６行目に設定されている移行ペアの状態が、「ＵＳＩＮＧ」に変更されている。
【０２１１】
移行先管理テーブル１５２ａにおけるＩＤ「Ｂ」のディスクのＲＥＡＤＹ数が「０」に変更され、ＵＳＩＮＧ数が「１」に変更されている。その結果、ＲＥＡＤＹ数の標準偏差は「０．０」となる。
【０２１２】
移行元管理テーブル１５３ａにおけるＩＤ「ｃ」のディスクのＲＥＡＤＹ数が「０」に変更され、ＵＳＩＮＧ数が「１」に変更されている。ＲＥＡＤＹ数の標準偏差は「０．０」となる。
【０２１３】
第１６の状態において、すべての移行ペアに対する移行開始指示が完了する。その後、実行中のデータ移行処理が終わるごとに、各管理テーブルの内容が更新される。すべての移行ペアに関するデータ移行処理が完了すると、第１７の状態に遷移する。
【０２１４】
［第１７の状態］
第１７の状態では、状態管理テーブル１５１ａの６，７，８行目に設定されている移行ペアの状態が、「ＦＩＮＩＳＨＥＤ」に変更されている。
【０２１５】
移行先管理テーブル１５２ａにおけるＩＤ「Ｂ」のディスクのＵＳＩＮＧ数が「０」に変更されている。移行先管理テーブル１５２ａにおけるＩＤ「Ｃ」のディスクのＵＳＩＮＧ数が「０」に変更されている。
【０２１６】
移行元管理テーブル１５３ａにおけるＩＤ「ａ」のディスクのＵＳＩＮＧ数が「０」に変更されている。移行元管理テーブル１５３ａにおけるＩＤ「ｂ」のディスクのＵＳＩＮＧ数が「０」に変更されている。移行元管理テーブル１５３ａにおけるＩＤ「ｃ」のディスクのＵＳＩＮＧ数が「０」に変更されている。
【０２１７】
以上のようにして、ストレージ装置２００からストレージ装置１００へのデータ移行が完了する。
第２の実施の形態では、以下の効果が得られる。
【０２１８】
第２の実施の形態では、各ディスクのデータ移行中ボリューム数（ＵＳＩＮＧ数）、データ移行待ちボリューム数（ＲＥＡＤＹ数）、およびデータ移行元とデータ移行先のＲＥＡＤＹ数のバラツキを考慮している。これにより、データ移行の開始から終了までを通して、ディスク競合がなるべく少なくなるように移行ペアを決定することができる。その結果、効率的なデータ移行が自動で行われるようになり、データ移行にかかる時間を短縮できる。
【０２１９】
また、データ移行を行う際の作業者は、移行情報を含む移行指示をストレージ装置１００に入力するだけでよい。そのため、データ移行の実行順を決定する作業が不要となり、人的負担や時間的負担が軽減される。特に大規模装置間のデータ移行においては大幅に負担が軽減される。
【０２２０】
さらに、データ移行中に実行順を動的に決定するため、例えばデータ移行中にパス切れなどが発生した場合にも、ディスク競合がなるべく少なくなるように移行ペアを決定することができる。その結果、パスが切れるといった障害発生時であっても、効率的なデータ移行が可能である。
【０２２１】
〔その他の実施の形態〕
第２の実施の形態では、ＣＭ１２０がデータ移行順を制御しているが、他の要素がデータ移行を制御することもできる。例えばストレージ装置１００に搭載されている複数のＣＡのうちの１つがデータ移行順を制御してもよい。その場合、データ移行順を制御するＣＡは、ＣＭ１２０を介して、他のＣＡへ、移行ペアを指定したデータの移行開始指示を送信する。
【０２２２】
また、第２の実施の形態では、データ移行先のストレージ装置１００がデータ移行順を制御しているが、他の装置がデータ移行順を制御してもよい。例えばデータ移行元のストレージ装置２００が、データ移行順を制御することもできる。その場合、ストレージ装置２００のＣＡは、データの移行開始指示を受け取ると、ストレージ装置２００内の移行元のＬＵからデータを読み出し、読み出したデータの移行先のＬＵへの書き込み要求をストレージ装置１００に送信する。
【０２２３】
また端末装置３００が、データ移行順を制御することもできる。例えば端末装置３００が移行情報に基づいて、データ移行開始対象の移行ペアを決定し、ストレージ装置１００に対して、移行ペアに属するＬＵ間でのデータ移行を指示する。
【０２２４】
また第２の実施の形態では、ディスクごとの移行待ち状態のＬＵ数（ＲＥＡＤＹ数）の標準偏差をＲＥＡＤＹ数のばらつきを示す値としたが、例えば、標準偏差の算出過程で得られる分散を、ばらつきを示す値として用いることもできる。
【０２２５】
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、ストレージ装置が有するデータ移行処理の手順を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０２２６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０２２７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０２２８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０２２９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０２３０】
１，２  ストレージ装置
１−１  制御装置
１−１ａ  取得部
１−１ｂ  決定部
１−１ｃ  コピー部
１−２，１−３，１−４，・・・，２−１，２−２，２−３，・・・  記憶装置
１−２ａ，１−２ｂ，・・・，１−３ａ，１−３ｂ，・・・，１−４ａ，１−４ｂ，・・・，２−１ａ，２−１ｂ，・・・，２−２ａ，２−２ｂ，・・・，２−３ａ，２−３ｂ，・・・  論理ボリューム
【図１】
0005760843.tif 000003
【図２】
0005760843.tif 000004
【図３】
0005760843.tif 000005
【図４】
0005760843.tif 000006
【図５】
0005760843.tif 000007
【図６】
0005760843.tif 000008
【図７】
0005760843.tif 000009
【図８】
0005760843.tif 000010
【図９】
0005760843.tif 000011
【図１０】
0005760843.tif 000012
【図１１】
0005760843.tif 000013
【図１２】
0005760843.tif 000014
【図１３】
0005760843.tif 000015
【図１４】
0005760843.tif 000016
【図１５】
0005760843.tif 000017
【図１６】
0005760843.tif 000018
【図１７】
0005760843.tif 000019
【図１８】
0005760843.tif 000020
【図１９】
0005760843.tif 000021
【図２０】
0005760843.tif 000022
【図２１】
0005760843.tif 000023
【図２２】
0005760843.tif 000024
【図２３】
0005760843.tif 000025
【図２４】
0005760843.tif 000026
【図２５】
0005760843.tif 000027
【図２６】
0005760843.tif 000028
【図２７】
0005760843.tif 000029
【図２８】
0005760843.tif 000030
【図２９】
0005760843.tif 000031
【図３０】
0005760843.tif 000032