(57)【要約】【課題】  移行先ボリュームの性能を適切に監視し、データマイグレーションのやり直しを短時間で行う。【解決手段】  データマイグレーションを行う場合、移行元ボリューム１から移行先ボリューム２へ全データをコピーさせ（S1）、全コピーの完了後に、ホスト４のアクセスパスを移行先ボリューム２に切替える（S2）。全コピー完了後も各ボリューム１，２間のコピーペアは維持され、移行先ボリューム２で生じた差分は管理される（S3）。性能監視部６は、移行先ボリューム２の種類に応じた指標に基づいて、移行先ボリューム２の性能を監視する。監視の結果（S4）、データマイグレーション前の状態に復帰させることが決定されると、移行先ボリューム２から移行元ボリューム１へ差分データがコピーされ（S5）、ホスト１のアクセスパスが移行元ボリューム１へ切り替えられる（S6）。【選択図】        図１
2006301820.tif 000002
【特許請求の範囲】
【請求項１】
上位装置により利用され得る複数種類のボリュームと、
前記複数種類のボリュームの中からそれぞれ選択される移行元ボリューム及び移行先ボリュームの間で、データを移行させる制御部と、
前記制御部によって前記移行元ボリュームから前記移行先ボリュームへデータが移行された場合に、前記移行先ボリュームの稼働状況を監視する監視部と、を備え、
前記監視部は、前記移行先ボリュームの種類に応じた所定の指標について、前記移行先ボリュームの稼働状況を監視する、ストレージシステム。
【請求項２】
前記制御部は、前記監視部によって前記移行先ボリュームの稼働状況が監視されている間、前記移行元ボリュームと前記移行先ボリュームとの対応関係を保持し続ける請求項１に記載のストレージシステム。
【請求項３】
前記複数種類のボリュームは、前記各ボリュームが設定される記憶デバイスの種別、前記各ボリュームが設定される記憶デバイスのデータ入出力速度、または前記各ボリュームのRAID構成の種別のうち少なくともいずれか一つ以上の属性によって分類可能である請求項１に記載のストレージシステム。
【請求項４】
前記移行先ボリュームは、前記移行元ボリュームに比べて、信頼性が相対的に低い記憶デバイスに基づいて生成されている請求項１に記載のストレージシステム。
【請求項５】
単位時間当たりのアクセス総数、単位時間当たりのライトアクセス総数、単位時間当たりのリードアクセス総数、ライトアクセスのキャッシュヒット率、リードアクセスのキャッシュヒット率、単位時間当たりのデータ転送サイズ、単位時間当たりのライトデータ転送サイズ、単位時間当たりのリードデータ転送サイズの各指標の中から少なくともいずれか一つ以上の指標が前記移行先ボリュームの種類に応じて選択され、前記監視部は、この選択された指標について、前記移行先ボリュームの稼働状況を監視する請求項１に記載のストレージシステム。
【請求項６】
前記移行先ボリュームは、前記移行元ボリュームに比べて、ランダムアクセス性能が相対的に低い記憶デバイスに基づいて生成されており、
前記監視部は、少なくとも前記移行先ボリュームへのランダムアクセスの状況を監視する請求項１に記載のストレージシステム。
【請求項７】
前記制御部に接続され、前記監視部による監視結果の表示及び前記制御部への指示がそれぞれ可能なユーザインターフェースを有する管理用コンピュータをさらに備え、
前記制御部は、前記管理用コンピュータからの指示に基づいて、前記移行元ボリュームと前記移行先ボリュームとの間のデータ移行を制御する請求項１に記載のストレージシステム。
【請求項８】
前記制御部は、
（１）予め設定されている移行条件に従って前記移行元ボリュームから前記移行先ボリュームへのデータ移行を行い、
（２）前記監視部による前記移行先ボリュームの稼働状況に関する監視結果と予め設定されている復帰条件とに基づいて、前記移行先ボリュームの使用を継続するか否か判定する請求項１に記載のストレージシステム。
【請求項９】
前記制御部は、前記監視部による監視結果に基づいて、前記移行先ボリュームの使用を中止する場合に、前記移行先ボリュームの記憶内容と前記移行元ボリュームの記憶内容とを同期させる請求項１に記載のストレージシステム。
【請求項１０】
前記制御部は、前記監視部による監視結果に基づいて、前記移行先ボリュームの使用を中止する場合に、前記移行先ボリュームの記憶内容と前記移行元ボリュームの記憶内容との差分データを前記移行先ボリュームから前記移行元ボリュームにコピーさせることにより、前記移行先ボリュームと前記移行元ボリュームとを同期させる請求項１に記載のストレージシステム。
【請求項１１】
前記制御部は、
（１）前記移行元ボリュームから前記移行先ボリュームへのデータ移行が完了した場合に、前記移行元ボリュームと前記移行先ボリュームとの対応関係を維持しながら該各ボリューム間の差分データを管理し、
（２）前記監視部による監視結果に基づいて、前記移行先ボリュームの使用を中止する場合に、前記差分データを前記移行元ボリュームにコピーさせることにより、前記移行先ボリュームと前記移行元ボリュームとを同期させる、
請求項１に記載のストレージシステム。
【請求項１２】
前記制御部は、前記移行元ボリュームと前記移行先ボリュームとの間でデータを移行させている場合も、前記上位装置からのアクセス要求を受付可能である請求項１に記載のストレージシステム。
【請求項１３】
前記制御部は、前記移行元ボリュームと前記移行先ボリュームとの間でデータを移行させている場合に、前記上位装置からのライトデータを受信したときは、このライトデータを前記移行元ボリューム及び前記移行先ボリュームの両方にそれぞれ書き込ませる請求項１に記載のストレージシステム。
【請求項１４】
前記監視部は、前記移行元ボリュームから前記移行先ボリュームへの移行完了後に予め設定されている所定時間が経過した場合に、前記移行先ボリュームの稼働状況に関する監視を終了し、
前記制御部は、前記監視部による監視が終了した場合に、前記移行元ボリュームから前記移行先ボリュームへのデータ移行を確定させるようになっている請求項１に記載のストレージシステム。
【請求項１５】
前記監視部は、明示の終了指示があった場合に、前記移行先ボリュームの稼働状況に関する監視を終了し、
前記制御部は、前記監視部による監視が終了した場合に、前記移行元ボリュームから前記移行先ボリュームへのデータ移行を確定させるようになっている請求項１に記載のストレージシステム。
【請求項１６】
複数種類のボリュームを備えたストレージシステムにおいてボリューム間のデータ移行を制御するための方法であって、
前記複数種類のボリュームの中から移行元ボリューム及び移行先ボリュームをそれぞれ選択する選択ステップと、
前記移行元ボリュームと前記移行先ボリュームとを対応付けてコピーペアを生成し、前記移行元ボリュームの全ての記憶内容を前記移行先ボリュームに第１コピーさせる第１コピーステップと、
前記第１コピーの実行中に、上位装置からのライトアクセスを受け付け、前記上位装置から受信したライトデータを前記移行元ボリューム及び前記移行先ボリュームにそれぞれ書き込ませる第１書込みステップと、
前記第１コピーの完了後に、前記上位装置からのアクセスを前記移行先ボリュームに切り替える第１切替ステップと、
、前記移行先ボリュームと前記移行元ボリュームとの間に生じる差分データを管理する差分管理ステップと、
前記第１コピーの完了後に、前記移行先ボリュームの種類に応じた所定の指標について、前記移行先ボリュームの稼働状況を監視する監視ステップと、
を含むストレージシステムのデータ移行方法。
【請求項１７】
前記監視ステップの次に、前記監視ステップによる監視結果に基づいて、前記移行先ボリュームの使用を中止するか否かを判定する判定ステップと、
前記判定ステップにより前記移行先ボリュームの使用中止が決定された場合、前記差分管理ステップにより管理されている前記差分データを前記移行元ボリュームに第２コピーさせる第２コピーステップと、
前記第２コピーの実行中に、前記上位装置から受信したライトデータを前記移行先ボリューム及び前記移行元ボリュームにそれぞれ書き込ませる第２書込みステップと、
前記第２コピーの完了後に、前記第１コピーステップによって生成された前記コピーペアを解除するコピーペア解除ステップと、
前記コピーペアの解除後に、前記上位装置からのアクセスを前記移行元ボリュームに切り替える第２切替ステップと、
をさらに含む請求項１６に記載のストレージシステムのデータ移行方法。
【請求項１８】
前記判定ステップの次に、前記判定ステップにより前記移行先ボリュームの使用継続が決定された場合、前記コピーペアを解除して前記差分管理ステップによる前記差分データの管理を終了する移行確定ステップをさらに含む請求項１７に記載のボリューム間のデータ移行方法。
【請求項１９】
上位装置に複数種類のボリュームを提供可能なストレージ装置と、このストレージ装置を管理するための管理用コンピュータとを備えたストレージシステムであって、
前記ストレージ装置は、
前記複数種類のボリュームを生成するための複数種類のディスクドライブと、
前記上位装置及び前記各ディスクドライブとの間の通信をそれぞれ制御し、前記複数種類のボリュームの中からそれぞれ選択される移行元ボリューム及び移行先ボリュームの間でデータを移行させる制御部と、
を備え、
前記管理用コンピュータは、
前記制御部との間で通信を行うストレージ管理部と、
前記制御部によって前記移行元ボリュームから前記移行先ボリュームにデータが移行された場合は、前記ストレージ管理部を介して前記制御部から所定の情報を採取することにより、前記移行先ボリュームの稼働状況を監視する監視部と、
を備え、
前記監視部は、前記移行先ボリュームの種類に応じた所定の指標に基づいて、前記移行先ボリュームの稼働状況を監視し、この監視結果を出力することができるストレージシステム。
【請求項２０】
前記制御部は、
（１）前記移行元ボリュームと前記移行先ボリュームとでコピーペアを生成し、前記移行元ボリュームの記憶内容を全て前記移行先ボリュームにコピーさせることにより、前記移行元ボリュームから前記移行先ボリュームへデータを移行させ、
（２）前記データ移行の完了後は、前記上位装置からのアクセスを前記移行元ボリュームから前記移行先ボリュームへ切り替えさせ、
（３）前記コピーペアを維持したまま、前記上位装置によって前記移行先ボリュームに書き込まれたライトデータを差分データとして管理し、
（４）前記監視部からの指示により、前記移行先ボリュームの使用継続が中止された場合は、前記差分データを前記移行元ボリュームにコピーさせ、
（５）前記移行元ボリュームから前記移行先ボリュームへの前記差分データのコピーが完了した後は、前記コピーペアを解除して、前記上位装置からのアクセスを前記移行先ボリュームから前記移行元ボリュームに切り替えさせる、
ように制御する請求項１９に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれ異なる複数種類のボリュームを有するストレージシステム及びストレージシステムのデータ移行方法に関する。
【背景技術】
【０００２】
ストレージシステムは、例えば、多数のディスクドライブをアレイ状に配設して構成され、RAID（Redundant Array of Independent Disks）に基づく記憶領域を提供する。各ディスクドライブが有する物理的な記憶領域上には、論理的な記憶領域である論理ボリュームが形成される。ホストコンピュータは、ストレージシステムにライトコマンドやリードコマンドを発行することにより、所望のボリュームとの間でデータの読み書きを行うことができる。
【０００３】
ストレージシステムは、例えば、RAID構成の異なるボリュームをホストコンピュータに提供することができる。システム管理者や保守員等のユーザは、ボリュームの利用頻度に応じて、あるボリュームの記憶内容を他のボリュームに移すことができる。このようなボリューム移動は、データマイグレーションとして知られている（特許文献１）。この文献に記載の従来技術では、例えば、利用頻度の高いボリュームをRAID１で運用するディスクドライブに配置し、利用頻度の低いボリュームをRAID５で運用するディスクドライブに配置する。
【特許文献１】特開平９−２７４５４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記文献に記載の従来技術では、ボリューム単位でRAID構成を動的に変化させることができるが、ボリューム構成を変更しても、予期した性能を得られない場合がある。従って、データマイグレーション後に、ユーザは、その再配置されたボリュームの性能を監視し、予定通りの性能が得られているか、または、想定範囲内の性能低下に止まっているか否か等を検証する必要がある。
【０００５】
ところで、近年では、同一のストレージシステム内に、それぞれ性能の異なる複数種類のディスクドライブを混載することも考えられている。従って、物理デバイスのレベルで相違する２つのボリューム間で、データマイグレーションさせることも考えられる。
【０００６】
従って、この場合、ディスクドライブの種別をも考慮して、データ移行後のボリューム性能を検証する必要がある。しかし、従来は、ディスクドライブの種別の相違まで考慮してボリューム性能を検証していないため、ディスクドライブの種別が異なるボリューム間でのデータマイグレーションに対応することができない。
【０００７】
また、データマイグレーション後に、予定したボリューム性能が得られない等の理由によって、そのボリュームを移行先から移行元へ再配置する場合、移行先の全ての記憶内容を移行元にコピーする必要がある。従って、データマイグレーションをやり直すために、データマイグレーション前の状態に戻そうとすると、全データをコピーしなければならず、時間や手間がかかり、使い勝手が悪い。
【０００８】
そこで、本発明の一つの目的は、ボリュームの種類に応じた指標に基づいてデータ移行後の性能を検証することができるようにしたストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明の他の一つの目的は、移行先から移行元へ速やかに切り替え直すことができるストレージシステム及びストレージシステムのデータ移行方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明の一つの観点に従うストレージシステムは、上位装置により利用され得る複数種類のボリュームと、複数種類のボリュームの中からそれぞれ選択される移行元ボリューム及び移行先ボリュームの間で、データを移行させる制御部と、制御部によって移行元ボリュームから移行先ボリュームへデータが移行された場合に、移行先ボリュームの稼働状況を監視する監視部と、を備え、監視部は、移行先ボリュームの種類に応じた所定の指標について、移行先ボリュームの稼働状況を監視する、ようになっている。
【００１０】
複数種類のボリュームは、例えば、各ボリュームが設定される記憶デバイスの種別、各ボリュームが設定される記憶デバイスのデータ入出力速度、または各ボリュームのRAID構成の種別のうち少なくともいずれか一つ以上の属性によって分類可能である。即ち、例えば、FC（Fibre Channel）ディスクとSATA（Serial AT Attachment）ディスク等のように、それぞれ異なる種類のディスクドライブから複数種類のボリュームを生成することができる。また、例えば、１万回転のドライブと１万５千回転のドライブのように、それぞれ異なる回転数（データ入出力速度）を有するドライブから複数種類のボリュームを生成することができる。さらに、RAID1の記憶領域とRAID５の記憶領域等のように、RAID構成の異なる複数種類のボリュームを生成することもできる。また、これら各属性（ディスクドライブ種別、データ入出力速度、RAID構成）の組合せを違えることにより、より多種類のボリュームを生成することもできる。
【００１１】
制御部は、複数種類のボリュームの中から移行元ボリューム及び移行先ボリュームをそれぞれ選択する。制御部は、両ボリュームの属性の少なくとも一部が異なるように、移行元ボリュームと移行先ボリュームとをそれぞれ選択することができる。例えば、制御部は、信頼性が相対的に高い記憶デバイス（FCディスク）上のボリュームを移行元ボリュームとして、信頼性が相対的に低い記憶デバイス（SATAディスク）上のボリュームを移行先ボリュームとして、それぞれ選択可能である。
【００１２】
制御部によって移行元ボリュームから移行先ボリュームへのデータ移行が行われる場合、監視部は、移行先ボリュームの種類に応じた所定の指標について、移行先ボリュームの稼働状況を監視する。
【００１３】
制御部は、監視部によって移行先ボリュームの稼働状況が監視されている間、移行元ボリュームと移行先ボリュームとの対応関係を保持し続けることができる。移行元ボリュームと移行先ボリュームとの対応関係としては、例えば、いずれのボリュームがコピー元ボリュームであり、いずれのボリュームがコピー先ボリュームであるか等の関係を挙げることができる。監視部による移行先ボリュームの監視が行われている間、移行元ボリュームから移行先ボリュームへのデータ移行を確定させないようにすることができる。そして、この未確定の猶予期間中、制御部は、移行元ボリュームと移行先ボリュームとの対応関係を維持し、データ移行のやり直しに備えることができる。
【００１４】
所定の指標は、移行先ボリュームの種類（ディスクドライブ種別、データ入出力速度、RAID構成等）に基づいて予め設定される。指標としては、例えば、単位時間当たりのアクセス総数、単位時間当たりのライトアクセス総数、単位時間当たりのリードアクセス総数、ライトアクセスのキャッシュヒット率、リードアクセスのキャッシュヒット率、単位時間当たりのデータ転送サイズ、単位時間当たりのライトデータ転送サイズ、単位時間当たりのリードデータ転送サイズ、を挙げることができる。これらの各指標の中から、移行先ボリュームの種類に応じた一つ以上の指標が選択され、この選択された指標に基づいて、移行先ボリュームの稼働状況が監視される。
【００１５】
移行先ボリュームは、移行元ボリュームに比べて、ランダムアクセス性能が相対的に低い記憶デバイスに基づいて生成することもできる。この場合、監視部は、少なくとも移行先ボリュームへのランダムアクセスの状況を監視することができる。
【００１６】
ランダムアクセス性能の低い記憶デバイスとしては、例えば、SATAディスクを挙げることができる。これに対し、ランダムアクセス性能の高い記憶デバイスとしては、例えば、FCディスクを挙げることができる。
【００１７】
本発明の実施形態では、制御部に接続され、監視部による監視結果の表示及び制御部への指示がそれぞれ可能なユーザインターフェースを有する管理用コンピュータをさらに備えている。そして、制御部は、管理用コンピュータからの指示に基づいて、移行元ボリュームと移行先ボリュームとの間のデータ移行を制御する。
【００１８】
本発明の実施形態では、制御部は、
（１）予め設定されている移行条件に従って移行元ボリュームから移行先ボリュームへのデータ移行を行い、
（２）監視部による移行先ボリュームの稼働状況に関する監視結果と予め設定されている復帰条件とに基づいて、移行先ボリュームの使用を継続するか否か判定する。
【００１９】
例えば、あるボリュームの利用頻度が所定値以上に増大した場合、制御部は、そのボリュームを移行元ボリュームとして、より高速なアクセスが可能な移行先ボリュームへのデータ移行を開始する。監視部は、移行先ボリュームの稼働状況を監視する。制御部は、この監視結果と復帰条件とに基づいて、その移行先ボリュームをそのまま継続して使用するか否かを判断することができる。例えば、予定された性能が得られない場合や予定された性能低下を上回る性能低下が検出された場合、制御部は、移行先ボリュームの使用を中止し、移行元ボリュームに切り替え直すことができる。
【００２０】
本発明の実施形態では、制御部は、監視部による監視結果に基づいて、移行先ボリュームの使用を中止する場合に、移行先ボリュームの記憶内容と移行元ボリュームの記憶内容とを同期させる。例えば、制御部は、移行先ボリュームの記憶内容と移行元ボリュームの記憶内容との差分データを、移行先ボリュームから移行元ボリュームにコピーさせることにより、移行先ボリュームと移行元ボリュームとを同期させることができる。
【００２１】
本発明の実施形態では、制御部は、
（１）移行元ボリュームから移行先ボリュームへのデータ移行が完了した場合に、移行元ボリュームと移行先ボリュームとの対応関係を維持しながら該各ボリューム間の差分データを管理し、
（２）監視部による監視結果に基づいて、移行先ボリュームの使用を中止する場合に、差分データを移行元ボリュームにコピーさせることにより、移行先ボリュームと移行元ボリュームとを同期させる、ようになっている。
【００２２】
制御部は、移行元ボリュームと移行先ボリュームとの間でデータを移行させている場合も、上位装置からのアクセス要求を受付可能である。即ち、上位装置からのアクセス要求を停止させることなく、上位装置にボリュームを提供しながら、複数のボリューム間でデータを移行させることができる。
【００２３】
例えば、制御部は、移行元ボリュームと移行先ボリュームとの間でデータを移行させている場合に、上位装置からのライトデータを受信したときは、このライトデータを移行元ボリューム及び移行先ボリュームの両方にそれぞれ書き込ませることにより、上位装置からのアクセス要求を受け付けながら、データ移行を行うことができる。
【００２４】
監視部は、移行元ボリュームから移行先ボリュームへの移行完了後に予め設定されている所定時間が経過した場合に、移行先ボリュームの稼働状況に関する監視を終了し、制御部は、監視部による監視が終了した場合に、移行元ボリュームから移行先ボリュームへのデータ移行を確定させることもできる。即ち、移行元ボリュームから移行先ボリュームへのデータ移行が完了してからの経過時間が、予め設定されている所定時間に達した場合に、監視部は、移行先ボリュームに関する監視を終了させる。監視部による監視が終了すると、制御部は、移行元ボリュームから移行先ボリュームへのデータ移行を確定させることができる。
【００２５】
監視部は、明示の終了指示があった場合に、移行先ボリュームの稼働状況に関する監視を終了し、制御部は、監視部による監視が終了した場合に、移行元ボリュームから移行先ボリュームへのデータ移行を確定させることもできる。
【００２６】
本発明の他の観点に従うストレージシステムのデータ移行方法は、複数種類のボリュームを備えたストレージシステムにおいてボリューム間のデータ移行を制御するための方法であって、複数種類のボリュームの中から移行元ボリューム及び移行先ボリュームをそれぞれ選択する選択ステップと、移行元ボリュームと移行先ボリュームとを対応付けてコピーペアを生成し、移行元ボリュームの全ての記憶内容を移行先ボリュームに第１コピーさせる第１コピーステップと、第１コピーの実行中に、上位装置からのライトアクセスを受け付け、上位装置から受信したライトデータを移行元ボリューム及び移行先ボリュームにそれぞれ書き込ませる第１書込みステップと、第１コピーの完了後に、上位装置からのアクセスを移行先ボリュームに切り替える第１切替ステップと、移行先ボリュームと移行元ボリュームとの間に生じる差分データを管理する差分管理ステップと、第１コピーの完了後に、移行先ボリュームの種類に応じた所定の指標について、移行先ボリュームの稼働状況を監視する監視ステップと、を含む。
【００２７】
さらに、監視ステップの次に、監視ステップによる監視結果に基づいて、移行先ボリュームの使用を中止するか否かを判定する判定ステップと、判定ステップにより移行先ボリュームの使用中止が決定された場合、差分管理ステップにより管理されている差分データを移行元ボリュームに第２コピーさせる第２コピーステップと、第２コピーの実行中に、上位装置から受信したライトデータを移行先ボリューム及び移行元ボリュームにそれぞれ書き込ませる第２書込みステップと、第２コピーの完了後に、第１コピーステップによって生成されたコピーペアを解除するコピーペア解除ステップと、コピーペアの解除後に、上位装置からのアクセスを移行元ボリュームに切り替える第２切替ステップと、を含めることもできる。
【００２８】
さらに、判定ステップの次に、判定ステップにより移行先ボリュームの使用継続が決定された場合、コピーペアを解除して差分管理ステップによる差分データの管理を終了する移行確定ステップを含めることもできる。
【００２９】
本発明の機能や手段あるいはステップは、その全部または一部をコンピュータプログラムとして構成できる場合がある。このコンピュータプログラムは、記録媒体に固定して譲渡等することができるほかに、インターネット等の通信ネットワークを介して伝送することもできる。
【発明を実施するための最良の形態】
【００３０】
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、ボリューム構成の種類に応じた指標に基づいて、移行先ボリュームの性能を監視することにより、そのデータマイグレーションにおいて、移行先ボリュームの選択が適切であったか否かを判断できるようになっている。
【００３１】
もしも、その移行先ボリュームがそのデータマイグレーションにとって不適切であったた場合、データマイグレーション後に移行元ボリュームと移行先ボリュームとの間で発生した差分データのみを、移行先ボリュームから移行元ボリュームへコピーさせる。これにより、移行元ボリュームの記憶内容を最新の記憶内容に更新させることができる。その後、より適切と考えられる移行先ボリュームを選定し直して、データマイグレーションを再び実行することができる。
【００３２】
図１は、本実施形態の全体概念を示す説明図である。このストレージシステムでは、それぞれ種類の異なる移行元ボリューム１及び移行先ボリューム２を備えており、これら各ボリューム１，２間のデータ移行は、制御部３によって制御される。
【００３３】
ホスト４によって利用されるデータ群は、移行元ボリューム１に記憶されている。ホスト４は、移行元ボリューム１にアクセスすることにより、所望のデータを読み書きすることができる。
【００３４】
例えば、システム管理者や保守員等のユーザによって明示の指示が与えられた場合や、予め設定されている所定のデータマイグレーション条件が成立した場合は、移行元ボリューム１から移行先ボリューム２へのデータ移行が開始される。
【００３５】
まず初めに、移行元ボリューム１の全記憶内容が、移行先ボリューム２へコピーされる（Ｓ１）。この全コピーは、ホスト４を経由することなく、ストレージ装置内で行うことができる。移行ポインタＰ１は、移行元ボリューム１の記憶内容がどこまで移行済であるかを管理する。同様に、移行ポインタＰ２は、移行先ボリューム２にどこまで記憶内容がコピーされたかを管理する。
【００３６】
全コピーが行われている期間中でも、ホスト４は、所望のデータを読み書きすることができる。リードアクセスの場合、制御部３は、移行元ボリューム１からデータを読出してホスト４に送信する。これに対し、ライトアクセスの場合、制御部３は、ホスト４から受信したライトデータを、移行元ボリューム１及び移行先ボリューム２の両方にそれぞれ書き込ませる。これにより、全コピー期間中でも、ホスト４からのアクセス要求を受け付けて、その要求を処理することができる。
【００３７】
図１（ｂ）は、全コピーが完了した場合を示す。移行元ボリューム１の全ての記憶内容を移行先ボリューム２に移行させた後、制御部３は、ホスト４からのアクセス先を移行先ボリューム２に切り替える（Ｓ２）。制御部３は、差分管理部５により、移行先ボリューム２に生じた差分データを管理する（Ｓ３）。差分データとは、全コピーの完了後に、移行先ボリューム２において更新されたデータであり、両ボリューム１，２間に生じた記憶内容の差である。制御部３は、全コピーの完了後も、移行元ボリューム１と移行先ボリューム２との対応関係（コピーペア）を維持しており、両ボリューム１，２間の差分を管理する。
【００３８】
性能監視部６は、移行元ボリューム１から移行先ボリューム２にホスト４のアクセスパスが切り替わると、所定の情報を定期的にまたは不定期に採取することにより、移行先ボリューム２の性能（稼働状況）を評価する。評価開始のタイミングは、差分データの管理開始タイミングと一致させることができる。あるいは、差分データの管理開始後に、移行先ボリューム２の評価を開始させることもできる。
【００３９】
性能監視部６は、移行先ボリューム２の種類に応じて設定された所定の指標について、移行先ボリューム２の性能を評価する。ここで、指標としては、例えば、単位時間当たりのアクセス総数、単位時間当たりのライトアクセス総数、単位時間当たりのリードアクセス総数、ライトアクセスのキャッシュヒット率、リードアクセスのキャッシュヒット率、単位時間当たりのデータ転送サイズ、単位時間当たりのライトデータ転送サイズ、単位時間当たりのリードデータ転送サイズ、単位時間当たりのランダムアクセス総数等を挙げることができる。性能監視部６は、これらの各指標の中から、移行先ボリューム２の特性に応じた一つまたは複数の指標を選択し、これら選択された各指標について移行先ボリューム２を監視する。
【００４０】
図１（ｃ）に示すように、性能監視部６による評価の結果（Ｓ４）、例えば、移行先ボリューム２が不適切であったと判断された場合、移行先ボリューム２から移行元ボリューム１へ再び切り替えられる。
【００４１】
この切り替え直しの段階（復帰段階）では、移行先ボリューム２と移行元ボリューム１との記憶内容が再び同期される。再同期は、差分管理部５によって管理されている差分データを移行元ボリューム１にコピーすることにより、行われる（Ｓ５）。従って、この再同期は、全コピーを用いる場合に比べると、短時間で完了する。差分コピーが行われている期間中も（Ｓ５）、ホスト４からのアクセス要求は受け付けられる。リードアクセスの場合は、移行先ボリューム２からデータが読み出されてホスト４に送信される。ライトアクセスの場合、ホスト４から受信したライトデータは、移行元ボリューム１及び移行先ボリューム２の両方にそれぞれ書き込まれる。
【００４２】
このようにして、ホスト４からのアクセス要求を停止させることなく、差分データのみを移行元ボリューム１にコピーして、両ボリューム１，２の記憶内容を再同期させる。そして、再同期が完了すると、制御部３は、ホスト４からのアクセスパスを移行元ボリューム１に切り替え直す（Ｓ６）。
【００４３】
もしも、性能監視部６の評価により、移行先ボリューム２の選択が適切であると判定された場合、図１（ｂ）に示す状態において、移行元ボリューム１と移行先ボリューム２との間の対応関係が解除される。また、両ボリューム１，２間の対応関係が解除されると、差分管理部５による差分データの管理処理も終了する。
【００４４】
本実施形態では、移行元ボリューム１から移行先ボリューム２への移行後に、移行先ボリューム２の種類（属性）に応じて選択される指標に基づいて、移行先ボリューム２の性能を監視することができる。
【００４５】
従って、性能監視部６による性能監視の結果、移行先ボリューム２の選択が適切ではないと判断された場合、その移行先ボリューム２の使用を中止したり、別のボリュームを移行先ボリュームとして選定することができる。
【００４６】
本実施形態では、移行元ボリューム１から移行先ボリューム２へ暫定的にデータを移行させた後も、移行元ボリューム１と移行先ボリューム２とのコピーペアを維持し、移行先ボリューム２に生じた差分データを管理する。従って、移行先ボリューム２から移行元ボリューム１へホスト４のアクセスパスを切り替え直す場合、差分データのみを移行元ボリューム１へコピーすればよい。これにより、暫定的なデータ移行を解除して、もとの移行元ボリューム１に短時間で復帰させることができる。
【実施例１】
【００４７】
以下、本実施形態をより詳細に説明する。
後述のように、本実施形態のストレージシステムは、ホスト１０に複数種類のボリューム１６４を提供可能なストレージ装置１００と、このストレージ装置１００を管理するための管理端末２０とを備えている。
【００４８】
ストレージ装置１００は、複数種類のボリューム１６４を生成するための複数種類のディスクドライブ１６１と、ホスト１０及び各ディスクドライブ１６１との間の通信をそれぞれ制御し、複数種類のボリューム１６４の中からそれぞれ選択される移行元ボリューム及び移行先ボリュームの間でデータを移行させる制御部１０１と、を備えている。
【００４９】
また、管理端末２０は、制御部１０１との間で通信を行うストレージ管理部２１と、制御部１０１によって移行元ボリュームから移行先ボリュームにデータが移行された場合は、ストレージ管理部２１を介して制御部１０１から所定の情報を採取することにより、移行先ボリュームの稼働状況を監視する監視部２２とを備えている。
そして、監視部２２は、移行先ボリュームの種類に応じた所定の指標Ｔ１０，Ｔ１０Ａに基づいて、移行先ボリュームの稼働状況を監視し、この監視結果を出力する。
【００５０】
さらに、本実施形態では、第１ストレージ装置１００及び第２ストレージ装置２００の複数のストレージ装置を備えている。そして、第１ストレージ装置１００は、第２ストレージ装置２００の有するボリューム２４０を、第１ストレージ装置１００の内部ボリューム１６４として仮想化することにより、そのボリューム２４０を取り込んでいる。
【００５１】
図２は、ストレージシステムの全体構成を示すブロック図である。ストレージシステムは、例えば、ホスト１０と、管理端末２０と、第１ストレージ装置１００と、第２ストレージ装置２００とを備えて構成することができる。
【００５２】
ホスト１０は、例えば、CPU（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成することができる。なお、図中では、ホスト１０を一つだけ示しているが、実際には、複数のホスト１０を設けることができる。
【００５３】
ホスト１０は、通信ネットワークCN１を介して第１ストレージ装置１００にアクセスするためのHBA（Host Bus Adapter）１１と、例えば、データベースソフトウェア等のアプリケーションプログラム１２と、を備えている。
【００５４】
通信ネットワークCN１としては、例えば、LAN（Local Area Network）、SAN（Storage Area Network）、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。LANの場合、例えば、TCP/IPプロトコルに従ってデータ転送を行うことができる。この場合、ホスト１０は、ファイル名を指定してファイル単位でのデータ入出力を要求する。
【００５５】
ホスト１０がSANを介して第１ストレージ装置１００に接続される場合、ホスト１０は、ファイバチャネルプロトコルに基づいて、データ転送を行うことができる。SANの場合、ホスト１０は、ディスクドライブ１６１のデータ管理単位であるブロックを単位として、第１ストレージ装置１００にデータ入出力を要求する。
【００５６】
通信ネットワークCN１がLANの場合、HBA１１は、例えばLAN対応のネットワークカードである。通信ネットワークCN１がSANの場合、HBA１１は、例えばホストバスアダプタである。
【００５７】
管理端末２０は、ストレージシステムの構成等を管理するためのコンピュータ装置であり、例えば、システム管理者や保守員等のユーザにより操作される。管理端末２０は、通信ネットワークCN３を介して、第１ストレージ装置１００に接続されている。管理端末２０は、後述のように、コピーペアの形成やデータマイグレーション等について、第１ストレージ装置１００に所定の指示を与える。
【００５８】
第１ストレージ装置１００は、例えば、ディスクアレイサブシステムとして構成されるものである。但し、これに限らず、第１ストレージ装置１００を、例えば、高機能化されたスイッチ装置（ファイバチャネルスイッチ）として構成することもできる。第１ストレージ装置１００は、後述のように、第２ストレージ装置２００の有する記憶資源を自己の論理ボリューム（Logical Unit）としてホスト１０に提供可能である。従って、第１ストレージ装置１００は、実ボリュームを備えている必要は必ずしもない。
【００５９】
第１ストレージ装置１００は、制御部１０１（図８参照）と記憶部１６０とに大別することができる。制御部１０１は、例えば、複数のチャネルアダプタ（以下、「CHA」）１１０と、複数のディスクアダプタ（以下、「DKA」）１２０と、キャッシュメモリ１３０と、共有メモリ１４０と、接続制御部１５０とを備えて構成可能である。
【００６０】
各CHA１１０は、ホスト１０との間のデータ通信を行う。各CHA１１０は、ホスト１０と通信を行うための通信ポート１１１をそれぞれ少なくとも一つ以上備える。各CHA１１０は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成されている。各CHA１１０は、ホスト１０から受信したリードコマンドやライトコマンド等の各種コマンドを解釈して実行する。
各CHA１１０には、それぞれを識別するためのネットワークアドレス（例えば、IPアドレスやWWN）が割り当てられており、各CHA１１０は、それぞれが個別にNAS（Network Attached Storage）として振る舞うことができる。複数のホスト１０が存在する場合、各CHA１１０は、各ホスト１０からの要求をそれぞれ個別に受け付けて処理する。
【００６１】
各DKA１２０は、記憶部１６０が有するディスクドライブ１６１との間でデータ授受を行う。各DKA１２０は、CHA１１０と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA１２０は、例えば、CHA１１０がホスト１０から受信したデータや第２ストレージ装置２００から読み出されたデータを、所定のディスクドライブ１６１に書込む。また、各DKA１２０は、所定のディスクドライブ１６１からデータを読み出し、ホスト１０または第２ストレージ装置２００に送信することもできる。ディスクドライブ１６１との間でデータ入出力を行う場合、各DKA１２０は、論理的なアドレスを物理的なアドレスに変換する。
【００６２】
各DKA１２０は、ディスクドライブ１６１がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、各DKA１２０は、同一のデータを別々のディスクドライブ群（RAIDグループ）にそれぞれ書き込んだり（RAID１等）、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に書き込む（RAID５等）。
【００６３】
キャッシュメモリ１３０は、ホスト１０または第２ストレージ装置２００から受信したデータを記憶する。また、キャッシュメモリ１３０は、ディスクドライブ１６１から読み出されたデータを記憶する。後述のように、キャッシュメモリ１３０の記憶空間を利用して、仮想的な中間記憶デバイスが構築される。
【００６４】
共有メモリ（制御メモリとも呼ばれる場合がある）１４０には、第１ストレージ装置１００の作動に使用するための各種制御情報等が格納される。また、共有メモリ１４０には、ワーク領域が設定されるほか、後述するマッピングテーブル等の各種テーブル類も格納される。
【００６５】
なお、ディスクドライブ１６１のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ１３０と共有メモリ１４０とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【００６６】
接続制御部１５０は、各CHA１１０，各DKA１２０，キャッシュメモリ１３０及び共有メモリ１４０を相互に接続させる。接続制御部１５０は、例えば、クロスバスイッチ等として構成可能である。
【００６７】
記憶部１６０は、複数のディスクドライブ１６１を備えている。ディスクドライブ１６１としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC（Fibre Channel）ディスクやSATA（Serial AT Attachment）ディスク等のように、異種類のディスクを記憶部１６０内に混在させることもできる。
【００６８】
本実施例では、FCディスクとSATAディスクとがストレージシステム内に混在する場合を例に挙げて説明する。複数種類のディスクドライブがストレージシステム内に混在する場合としては、例えば、（１）第１ストレージ装置１００のディスクドライブ１６１がFCディスクで、第２ストレージ装置２００のディスクドライブ２２０がSATAディスクである場合のように、ストレージ装置単位でディスクドライブの種類がそれぞれ異なる場合と、（２）各ストレージ装置１００，２００の少なくともいずれか一方において、異種類のディスクドライブが搭載されている場合、を挙げることができる。
【００６９】
サービスプロセッサ（SVP）１７０は、LAN等の内部ネットワークCN４を介して、各CHA１１０とそれぞれ接続されている。SVP１７０は、CHA１１０を介して、共有メモリ１４０やDKA１２０とデータ授受を行うことができる。SVP１７０は、第１ストレージ装置１００内の各種情報を採取して、管理端末２０に提供する。
【００７０】
第２ストレージ装置２００は、例えば、コントローラ２１０と、複数のディスクドライブ２２０とを備えて構成される。第２ストレージ装置２００は、通信ポート２１１から通信ネットワークCN２を介して、第１ストレージ装置１００に接続されている。通信ネットワークCN２は、例えば、SANやLAN等から構成することができる。
【００７１】
第２ストレージ装置２００は、第１ストレージ装置１００とほぼ同様の構成を備えることもできるし、第１ストレージ装置１００よりも簡易な構成を採用することもできる。第２ストレージ装置２００のディスクドライブ２２０の全部または一部は、第１ストレージ装置１００の内部記憶デバイスとして扱われる。
【００７２】
図３を参照する。図３は、ストレージシステムの記憶構造を示す説明図である。まず、第１ストレージ装置１００の構成から先に説明する。
第１ストレージ装置１００の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別することができる。物理的記憶階層は、物理的なディスクであるPDEV（Physical Device）１６１により構成される。PDEVは、ディスクドライブ１６１に該当する。
【００７３】
論理的記憶階層は、複数の（例えば２種類の）階層から構成可能である。一つの論理的階層は、VDEV（Virtual Device）１６２と、VDEV１６２のように扱われる仮想的なVDEV（以下、「V-VOL」とも呼ぶ）１６３とから構成可能である。他の一つの論理的階層は、LDEV（Logical Device）１６４から構成することができる。
【００７４】
VDEV１６２は、例えば、４個１組（３Ｄ＋１Ｐ）、８個１組（７Ｄ＋１Ｐ）等のような所定数のPDEV１６１をグループ化して構成される。グループに属する各PDEV１６１がそれぞれ提供する記憶領域が集合して一つのRAID記憶領域が形成される。このRAID記憶領域がVDEV１６２となる。
【００７５】
VDEV１６２が物理的な記憶領域上に構築されるのと対照的に、V-VOL１６３は、物理的な記憶領域を必要としない仮想的な中間記憶デバイスである。V-VOL１６３は、物理的な記憶領域に直接関係づけられるものではなく、第２ストレージ装置２００のLU（Logical Unit）をマッピングするための受け皿となる。
【００７６】
LDEV１６４は、VDEV１６２またはV-VOL１６３上に、それぞれ少なくとも一つ以上設けることができる。LDEV１６４は、例えば、VDEV１６２を固定長で分割することにより構成することができる。ホスト１０がオープン系ホストの場合、LDEV１６４がLU１６５にマッピングされることにより、ホスト１０は、LDEV１６４を一つの物理的なディスクとして認識する。オープン系のホストは、LUN（Logical Unit Number ）や論理ブロックアドレスを指定することにより、所望のLDEV１６４にアクセスする。なお、メインフレーム系ホストの場合は、LDEV１６４を直接認識する。
【００７７】
LU１６５は、SCSIの論理ユニットとして認識可能なデバイスである。各LU１６５は、ターゲットポート１１１Ａを介してホスト１０に接続される。各LU１６５には、少なくとも一つ以上のLDEV１６４をそれぞれ関連付けることができる。なお、一つのLU１６５に複数のLDEV１６４を関連付けることにより、LUサイズを仮想的に拡張することもできる。
【００７８】
CMD（Command Device）１６６は、ホスト１０上で稼働するI/O制御プログラムとストレージ装置１００の制御部１０１との間で、コマンドやステータスを受け渡すために使用される専用のLUである。ホスト１０からのコマンドは、CMD１６６に書き込まれる。制御部１０１は、CMD１６６に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてCMD１６６に書き込む。ホスト１０は、CMD１６６に書き込まれたステータスを読み出して確認し、次に実行すべき処理内容をCMD１６６に書き込む。このようにして、ホスト１０は、CMD１６６を介して、ストレージ装置１００に各種の指示を与えることができる。
【００７９】
なお、ホスト１０から受信したコマンドを、CMD１６６に格納することなく、制御部１０１は直接的に処理することもできる。また、実体のデバイス（LU）を定義せずに、CMDを仮想的なデバイスとして生成し、ホスト１０からのコマンドを受け付けて処理するように構成してもよい。即ち、例えば、CHA１１０は、ホスト１０から受信したコマンドを共有メモリ１４０に書き込み、この共有メモリ１４０に記憶されたコマンドを、CHA１１０又はDKA１２０が処理する。その処理結果は共有メモリ１４０に書き込まれ、CHA１１０からホスト１０に送信される。
【００８０】
第１ストレージ装置１００の有する外部接続用のイニシエータポート（External Port）１１１Ｂには、通信ネットワークCN２を介して、第２ストレージ装置２００が接続されている。
第２ストレージ装置２００は、複数のPDEV２２０と、PDEV２２０の提供する記憶領域上に設定されたVDEV２３０と、VDEV２３０上に少なくとも一つ以上設定可能なLDEV２４０とを備えている。そして、各LDEV２４０は、LU２５０にそれぞれ関連付けられている。PDEV２２０は、図２中のディスクドライブ２２０に該当する。
【００８１】
第２ストレージ装置２００のLU２５０（即ち、LDEV２４０）は、仮想的な中間記憶デバイスであるV-VOL１６３にマッピングされている。例えば、第２ストレージ装置２００の「LDEV１」，「LDEV２」は、第２ストレージ装置２００の「LU１」，「LU２」を介して、第１ストレージ装置１００の「V-VOL１」，「V-VOL２」にそれぞれマッピングされている。「V-VOL１」，「V-VOL２」は、それぞれ「LDEV３」，「LDEV４」にマッピングされており、ホスト１０は、これらのボリュームを「LU３」，「LU４」を介して、利用可能となっている。
【００８２】
なお、VDEV１６２，V-VOL１６３には、RAID構成を適用できる。即ち、一つのディスクドライブ１６１を複数のVDEV１６２，V-VOL１６３に割り当てることもできるし（スライシング）、複数のディスクドライブ１６１から一つのVDEV１６２，V-VOL１６３を形成することもできる（ストライピング）。
【００８３】
図４は、第２ストレージ装置２００の有するボリューム２４０（以下、外部ボリューム２４０とも呼ぶ）を、第１ストレージ装置１００の内部ボリュームとして取り込むためのマッピングテーブルＴ１を示す。
【００８４】
マッピングテーブルＴ１は、例えば、LUN番号と、LDEVに関する情報と、VDEVに関する情報とを対応付けることにより、構成することができる。
【００８５】
LDEVに関する情報としては、例えば、LDEV番号及び容量（図中の「MAX SLOT数」）とを挙げることができる。VDEVに関する情報としては、例えば、VDEV番号と、容量と、デバイス種別と、パス情報とを挙げることができる。ここで、VDEVに関する情報には、V-VOL１６３の情報も含まれている。
【００８６】
「デバイス種別」には、例えば、テープ系デバイスかディスク系デバイスかの種別や、どのようなディスク（FCディスクかSATAディスクか等）であるかの情報を含めることができる。「パス情報」には、例えば、そのVDEVへアクセスするための情報が含まれている。VDEVが外部のボリュームに対応付けられている場合（即ち、V-VOLの場合）、パス情報には、例えば、各通信ポート２１１に固有の識別情報（WWN）と、LU２５０を識別するためのLUN番号とが含まれる。
【００８７】
このようなマッピングテーブルＴ１を採用することにより、第１ストレージ装置１００内のV-VOL１６３に対して、一つまたは複数の外部のディスクドライブ２２０をマッピングすることができる。なお、以下に示す他のテーブルでも同様であるが、テーブル中のボリューム番号等は、テーブル構成を説明するための例示であって、図３等に示す構成とは特に対応していない。
【００８８】
図４には、空き容量管理テーブルＴ２も示されている。空き容量管理テーブルＴ２は、ストレージシステム内に存在する記憶資源の使用状態を管理する。空き容量管理テーブルＴ２は、例えば、VDEV番号と、そのVDEVの全容量と、そのVDEVの空き容量と、そのVDEVが設定されているデバイスの種別（記憶区分）とを対応付けることにより、構成することができる。
【００８９】
図５は、複数のボリューム間でデータコピーを行う場合に使用されるテーブル群を示す説明図である。
差分管理テーブルＴ３は、対象とするボリュームにおいて、ある時点以降に発生した更新を管理するためのものである。差分管理テーブルＴ３は、例えば、トラック番号と、更新フラグとを対応付けることにより、構成可能である。なお、トラック番号に代えて、ブロックアドレス等の他の管理単位を用いてもよい。更新フラグとは、その管理単位の記憶領域のデータが更新されたか否かを示す情報である。例えば、更新された場合は、更新フラグに「１」がセットされる。未更新の場合、更新フラグの値は「０」である。
【００９０】
コピーペア管理テーブルＴ４は、ボリューム間のコピー管理に使用される。コピーペア管理テーブルＴ４は、例えば、コピー元ボリュームを特定する情報と、コピー先ボリュームを特定する情報と、ペア状態を示す情報とを対応付けることにより、構成することができる。ペア状態としては、例えば、「ペア形成」、「ペア解除（ノーマル）」等を挙げることができる。
【００９１】
コピーポインタ管理テーブルＴ５は、ボリューム間で全コピーを行う場合に使用されるテーブルである。全コピーとは、上述のように、コピー元ボリュームの全ての記憶内容を丸ごとコピー先ボリュームにコピーすることを言う。コピーポインタ管理テーブルＴ５は、例えば、コピー元ポインタのアドレスを示す情報と、コピー先ポインタのアドレスを示す情報とを含んで構成することができる。複数の全コピーが行われる場合、コピーポインタ管理テーブルＴ５は、各全コピー毎にそれぞれ用意される。
【００９２】
各ポインタは、全コピーの進捗状況をそれぞれ示す。全コピーが進捗するに連れて、各ポインタのアドレスが変化していく。コピー開始アドレスからポインタの示すアドレスまでの範囲が、コピーの完了した範囲である。
【００９３】
図６は、データマイグレーションに使用されるテーブル群を示す説明である。
データマイグレーション条件管理テーブルＴ６は、あるボリュームから別のボリュームにデータを移し替えるための条件を管理する。即ち、テーブルＴ６は、データマイグレーションを開始させるための条件を管理する。
【００９４】
このテーブルＴ６は、例えば、対象のボリュームを特定するための情報（LUN番号）と、そのボリュームについてのデータマイグレーション実行条件とを対応付けることにより、構成される。データマイグレーション実行条件としては、例えば、アクセス頻度や最終更新時からの経過時間等を挙げることができる。
【００９５】
アクセス頻度が所定値以下に低下したボリュームは、その情報価値が低下したものとみなして、より低速なディスクドライブに移すことができる。同様に、最終更新時から所定時間以上アクセスされていないボリュームも、その情報価値が低下したものと考えることができるため、より低速なディスクドライブに移される。このようにして、情報価値が相対的に低下したボリュームによって高速なディスクドライブの有する記憶資源が無駄に消費されるのを抑制することができる。なお、以上は例示であって、これ以外の条件を設定することもできる。
【００９６】
復帰条件管理テーブルＴ７は、いったん行われたデータマイグレーションを解消して、データマイグレーション実行前の状態に復帰させるための条件を管理する。復帰条件管理テーブルＴ７は、例えば、LU条件管理テーブルＴ８と、ドライブ条件管理テーブルＴ９とを備えることができる。なお、これら各テーブルＴ８，Ｔ９を全て備えている必要はなく、いずれか一方のテーブルのみを備える構成でもよい。
【００９７】
LU条件管理テーブルＴ８は、移行先ボリュームの性能に関する閾値を管理する。このテーブルＴ８は、例えば、各ボリュームを特定するための情報（LUN＃）と、管理対象の各性能項目毎の閾値とを対応付けることにより、構成することができる。性能項目としては、例えば、単位時間当たりの入出力回数（I/O Rate）、単位時間当たりのリードアクセス回数（READ Rate）、単位時間当たりのライトアクセス回数（WRITE Rate）、単位時間当たりのデータ転送サイズ（Trans Rate）等を挙げることができる。
【００９８】
これら各性能項目のそれぞれについて、閾値がそれぞれ設定されている。ある性能項目の実際の測定値がその閾値を上回った場合または下回った場合、少なくとも、その性能項目に関しては、移行先ボリュームの選択が適切でなかったことになる。但し、移行先ボリュームの選択が適切であったか否かの判定は、全ての性能項目の実測値と閾値との関係に基づいて総合的に行うことができる。
【００９９】
ドライブ条件管理テーブルＴ９は、移行先ボリュームが構築されているディスクドライブ１６１（またはディスクドライブ２２０）の性能に関する閾値を管理する。このテーブルＴ９は、例えば、VDEV番号と、ドライブ番号と、各性能項目毎の閾値とを対応付けることにより、構成することができる。VDEV番号及びドライブ番号により、そのディスクドライブがいずれの論理ボリュームに関連するのかを特定することができる。
【０１００】
性能項目としては、例えば、LU条件管理テーブルＴ８で例示的に列挙した各項目を採用することができる。なお、各テーブルＴ８，Ｔ９の性能項目は、同一である必要はなく、それぞれ異なる性能項目群を管理することもできる。
【０１０１】
図７は、ボリューム等の性能を監視するためのテーブルＴ１０，Ｔ１０Ａを示す。これら各性能監視テーブルＴ１０，Ｔ１０Ａに登録されている各項目について、そのボリュームの性能が監視される。
【０１０２】
一方のテーブルＴ１０は、FCディスク上に設けられたボリュームの性能を監視するために使用することができる。他方のテーブルＴ１０Ａは、SATAディスク上に設けられたボリュームの性能を監視するために使用することができる。
【０１０３】
これらの各テーブルＴ１０，Ｔ１０Ａは、例えば、「LU」、「ディスクドライブ」、「ポート」、「キャッシュ」、「プロセッサ」等の大項目毎に分類されており、各大項目は、それぞれ複数の性能項目を含むことができる。
【０１０４】
大項目「LU」には、例えば、「LUN番号」と、「I/O Rate」と、「READ  Rate」と、「WRITE Rate」と、「READ Hit」と、「WRITE Hit」と、「Trans Rate」と、「READ Trans Rate」と、「WRITE Trans Rate」とを含めることができる。ここで、「READ Hit」とは、リードコマンドのヒット率を示す。「WRITE Hit」とは、ライトコマンドのヒット率を示す。「READ Trans Rate」とは、単位時間当たりのリードデータの転送サイズを示し、「WRITE Trans Rate」とは、単位時間当たりのライトデータの転送サイズを示す。
【０１０５】
大項目「ディスクドライブ（図中「ドライブ」と略記）」には、例えば、「ドライブ番号」と、「I/O Rate」と、「READ  Rate」と、「WRITE Rate」と、「READ Hit」と、「WRITE Hit」と、「Trans Rate」と、「READ Trans Rate」と、「WRITE Trans Rate」とを含めることができる。これに加えて、テーブルＴ１０Ａには、「Online Verify Rate」と、「Operating Rate」とを含めることもできる。「Online Verify Rate」とは、単位時間当たりに行われたオンラインベリファイコマンドの回数を示す。「Operating Rate」とは、ドライブ稼働率を示す。
【０１０６】
本実施例のオンラインベリファイとは、SATAディスクに書き込まれたデータを書込み直後に読出して、キャッシュメモリ１３０上のライトデータと比較する処理である。オンラインベリファイは、SATAディスクのような信頼性の低いディスクについてのみ行うことができる。その詳細はさらに後述する。
【０１０７】
なお、上述の項目以外に、例えば、SATAディスクについては、ランダムアクセス率、ランダムライトアクセス率等の他の項目を採用することもできる。このように、本実施例では、ボリュームの構成（ディスク種別）に応じて、性能監視の指標を選択できるようになっている。
【０１０８】
図８は、ストレージシステムの主要な機能構成に着目した説明図である。制御部１０１は、第１ストレージ装置１００の有する各CHA１１０及び各DKA１２０と、キャッシュメモリ１３０及び共有メモリ１４０等から構成することができる。
【０１０９】
制御部１０１は、その内部機能として、例えば、データマイグレーション制御部１０２と、I/O処理部１０３と、全コピー部１０４と、差分コピー部１０５と、差分管理部１０６とを備えることができる。
【０１１０】
データマイグレーション制御部１０２は、例えば、データマイグレーション条件管理テーブルＴ６及び復帰条件管理テーブルＴ７を用いることにより、データマイグレーションの実行及び復帰を制御する機能である。
【０１１１】
I/O処理部１０３は、ホスト１０からのライトアクセスやリードアクセスを処理するための機能である。全コピー部１０４は、例えば、コピーペア管理テーブルＴ４及びコピーポインタ管理テーブルＴ５を用いることにより、指定された複数のボリューム間で、全データをコピーさせる機能である。差分コピー部１０５は、例えば、コピーペア管理テーブルＴ４及び差分管理テーブルＴ３を用いることにより、指定された複数のボリューム間で、差分データのみをコピーさせる機能である。差分管理部１０６は、差分管理テーブルＴ３を用いて、差分データを管理する機能である。
【０１１２】
管理端末２０の機能構成に着目する。管理端末２０は、例えば、ストレージ管理部２１と、性能監視部２２とを備えることができる。ストレージ管理部２１は、コピーペアの形成やデータマイグレーション等に関して、制御部１０１に指示を与える。ストレージ管理部２１は、SVP１７０から各種情報を取得することができる。
【０１１３】
性能監視部２２は、第１ストレージ装置１００の性能（ボリューム性能等）を監視するための機能である。性能監視部２２は、ストレージ管理部２１を介して制御部１０１から、テーブル１０，１０Ａに示す各指標に関する実測値を取得することができる。そして、性能監視部２２は、データマイグレーション条件管理テーブルＴ６及び復帰条件管理テーブルＴ７に基づいて、データマイグレーションの実行や復帰に関する指示を制御部１０１に与えることができる。なお、性能監視部２２は、管理端末２０に設ける場合に限らず、制御部１０１内に設けることもできる。
【０１１４】
詳細は後述するが、本実施例では、データマイグレーションを実行する場合は、全コピーを用いる。そして、そのデータマイグレーションを解消して元の状態に復帰させる場合は、差分コピーを用いる。
【０１１５】
図９は、ストレージシステムの有する記憶資源をランク分けした説明図である。上述のように、ストレージシステムは、複数種類のボリュームをホスト１０に提供することができる。各ボリュームは、それぞれ複数の属性を備えており、これら各属性の組合せによって、複数種類のボリュームが生成される。
【０１１６】
第１の属性は、ディスクドライブの種別である。本実施例では、例えば、FCディスクとSATAディスクを例示する。第２の属性は、ディスクドライブの回転数である。本実施例では、FCディスクの回転数として15000rpm及び10000rpmの２種類を、SATAディスクの回転数として10000rpm及び7200rpmの２種類を、それぞれ例示する。第３の属性は、RAID構成の種類である。本実施例では、RAID構成の種類として、RAID1+0と、RAID５との２種類を挙げる。
【０１１７】
RAID1+0とは、RAID１（ミラーリング）とRAID０（ストライピング）を組み合わせたものである。RAID５とは、データを分割して、分割されたデータからパリティを生成し、これら分割されたデータ群及びパリティを複数のディスクドライブに分散させて記憶させるものである。
【０１１８】
以上述べた３つの属性は、それぞれ複数の値を取る。本実施例では、以下のように、合計８種類のグループC1〜C8が存在する。
（C1）高速（15000rpm）なFCディスクであって、RAID1+0の構成をとるグループ
（C2）高速なFCディスクであって、RAID５の構成をとるグループ
（C3）低速（10000rpm）なFCディスクであって、RAID1+0の構成をとるグループ
（C4）低速なFCディスクであって、RAID５の構成をとるグループ
（C5）高速（10000rpm）なSATAディスクであって、RAID1+0の構成をとるグループ
（C6）高速なSATAディスクであって、RAID５の構成をとるグループ
（C7）低速（7200rpm）なSATAディスクであって、RAID1+0の構成をとるグループ
（C8）低速なSATAディスクであって、RAID５の構成をとるグループ
【０１１９】
一般的に、FCディスクの方がSATAディスクよりも、データの書込み速度及び読出し速度が速い。また、回転数が高くなるほど、目的のセクタに到達するまでの時間を短くすることができるため、データの書込み速度及び読出し速度を速くできる。RAID構成1+0の場合は、同一データを複数のディスクドライブに書き込むだけであり、パリティ計算等を行う必要がない。従って、RAID1+0の方がRAID５よりも、データの書込み速度が速くなる。
【０１２０】
以上の特性に基づいて、ライドアクセスを処理する場合のランキングを示したのが、ライトアクセス時ランキングテーブルＴ１１である。このテーブルＴ１１には、ライトコマンドをより速く処理可能なボリューム構成が順番に記載されている。同様に、リードアクセス時ランキングテーブルＴ１２には、リードコマンドを短時間で処理できる順番に、ボリューム構成が並べられている。
【０１２１】
ライトアクセス時でもリードアクセス時でも、グループC1（高速FCディスク、RAID1+0）のボリューム構成が、最短の処理時間となる。しかし、各ランキングテーブルＴ１１，Ｔ１２を見比べるとわかるように、ライトアクセスとリードアクセスとでは、C1以下のランキングが相違する。
【０１２２】
その理由として、ライトペナルティの存在が挙げられる。RAID５で運用されるディスクドライブ群にライトデータを書き込む場合は、旧パリティを読出して新たなパリティを算出する必要があるため、このパリティ演算の分だけ処理が遅くなる。この遅れをライトペナルティと呼ぶ。従って、RAID５では、ライトペナルティが生じるため、ライトアクセス時の処理時間が長くなる。これに対し、リードアクセス時には、パリティ計算を行う必要がないため、RAID構成の相違による影響は比較的少ない。従って、ライトアクセス時のランキングとリードアクセス時のランキングとは、相違する。
【０１２３】
次に、ライトアクセス及びリードアクセスの両方において、FCディスクの方がSATAディスクよりも処理時間が短くなる理由を述べる。FCディスクとSATAディスクの回転数が同一の場合でも、FCディスクの方が処理時間は短くなる。
【０１２４】
その一つの理由は、FCディスクは複数のコマンドを多重処理できるのに対し、SATAディスクではコマンドを一つずつ処理するようになっているためである。
二つ目の理由として、SATAディスクの信頼性が低いために、シーク時間が増大する点を挙げることができる。SATAディスクでは、ディスク上にヘッドを長期間置かず、ディスク外部にヘッドを退避させることにより（ヘッドアンロード）、ヘッドのストレス低減およびセクタ破損を回避する。このため、シーク時間が増大する。
三つ目の理由として、SATAディスクの信頼性が低いために、後述のように、書込みデータを読み返してチェックしなければならない点を挙げることができる。従って、この書込みデータを読み返してチェックする分だけ、SATAディスクでは処理が遅れる。
【０１２５】
このようにFCディスクとSATAディスクとでは、その性能や信頼性が異なる。従って、FCディスクは、例えば、２４時間３６５日稼働するオンラインボリュームとして使用されるのに対し、SATAディスクは、例えば、バックアップボリュームとして使用されることが多い。
【０１２６】
ランキングテーブルＴ１１，Ｔ１２は、データマイグレーションの実行に利用することができる。例えば、ランキングテーブルＴ１１，Ｔ１２の内容の全部または一部を、管理端末２０の端末画面に表示させることにより、ユーザの判断を支援できる。また、ストレージ管理部２１等によって自律的にデータマイグレーションを運用する場合、テーブルＴ１１，Ｔ１２を参照することにより、データマイグレーションポリシーに応じた移行先ボリュームを選択することもできる。
【０１２７】
図１０は、FCディスクにデータを書き込む場合の処理（ディステージ処理）の概略を示すフローチャートである。
まず、制御部１０１は、キャッシュメモリ１３０からライトデータを読出し（Ｓ１１）、このライトデータを所定のディスクドライブに転送する（Ｓ１２）。RAID1+0で運用される場合は、それぞれ複数のディスクドライブから構成される２組のディスクドライブ群に、それぞれ同一のライトデータが転送される。RAID５で運用される場合は、ライトデータの転送に先立って、旧パリティが読み出され、新しいパリティを算出してから、ライトデータ及びパリティを所定のディスクドライブ群に転送する。
【０１２８】
制御部１０１は、今回のライト処理の対象となっている全てのライトデータを、所定のディスクドライブ群にそれぞれ書き込むまで（S13：NO）、Ｓ１１，Ｓ１２のステップをそれぞれ繰り返す。
【０１２９】
図１１は、SATAディスクにデータを書き込む場合の処理の概略を示すフローチャートである。
まず、制御部１０１は、キャッシュメモリ１３０からライトデータを読出し（Ｓ２１）、そのRAID構成に応じて、所定のディスクドライブ群に転送する（Ｓ２２）。制御部１０１は、ディスクドライブから書込み完了の応答を受信するのを待つ（Ｓ２３）。制御部１０１は、書込み完了を確認すると（S23：YES）、今回のライト処理の対象となっている全ライトデータを書き込んだか否かを判定する（Ｓ２４）。全てのライトデータをディスクドライブに書き込むまで（S24：NO）、制御部１０１は、Ｓ２１〜Ｓ２３のステップを繰り返す。
【０１３０】
全ライトデータの書込みを完了すると（S24：YES）、制御部１０１は、先のステップＳ２２で書き込んだライトデータをディスクドライブ群から読出す（Ｓ２５）。制御部１０１は、ディスクドライブから読み出したデータとキャッシュメモリ１３０上に残っているライトデータとを比較する（Ｓ２６）。
【０１３１】
両データが一致する場合（S27：YES）、制御部１０１は、正常に書込みが行われたものと判定し、本処理を終了させる。これに対し、もしも両データが一致しない場合（S27：NO）、制御部１０１は、書込みが正常に行われなかったものと判定し、エラーリカバリ処理を行う（Ｓ２８）。
【０１３２】
エラーリカバリ処理として、例えば、制御部１０１は、別のディスクドライブ群を選択してライトデータを書き込んだり、あるいは、同一のディスクドライブ群に再度ライトデータを書き込む等の処理を行うことができる。
【０１３３】
上述のように、FCディスクとSATAディスクとでは、ライト処理が相違し、SATAディスクの方が複雑な処理を行うようになっている。このため、SATAディスクでは、ライトコマンドを処理するための時間が増大する。
【０１３４】
特に、ランダムライトの場合、散発的にライトデータがSATAディスクに書き込まれるため、書込みデータを読み返して確認する処理（Ｓ２５〜Ｓ２７）が、ライトアクセスのたびに実行される。この書込みデータを読み返して確認する処理のために、オーバーヘッドが大きくなりやすい。
【０１３５】
これに対し、連続したデータをディスクドライブに書き込むシーケンシャルライトの場合は、ある程度のライトデータを書き込んだ後で、まとめてそのライトデータを読み返して確認すればよい。従って、この確認処理（Ｓ２５〜Ｓ２７）を行う回数が少なくなり、オーバーヘッドは比較的小さくなる。
【０１３６】
このように、SATAディスクの場合は、ライトアクセスの処理性能がFCディスクよりも低くなる。特に、SATAディスクにおけるランダムライトアクセスの処理性能は、FCディスクのそれよりも大幅に低下する。
【０１３７】
図１２は、データマイグレーション処理の概略を示すフローチャートである。このデータマイグレーション処理は、管理端末２０と第１ストレージ装置１００との協働作業によって行われる。ここでは、Ｓ３１〜Ｓ３５を管理端末２０のストレージ管理部２１が実行し、それ以後のＳ３６〜Ｓ４３を第１ストレージ装置１００の制御部１０１が実行するものとして説明する。
【０１３８】
ストレージ管理部２１は、ユーザからの手動操作により、データマイグレーションの実行が指示されたか否かを判定する（Ｓ３１）。ユーザから指示された場合（S31：YES）、後述のＳ３４に移行する。
【０１３９】
ユーザからの指示が無い場合（S31：NO）、ストレージ管理部２１は、データマイグレーション条件管理テーブルＴ６を参照し（Ｓ３２）、移動させるべきボリュームが存在するか否かを判定する（Ｓ３３）。テーブルＴ６に登録されている条件に該当するボリュームが一つも存在しない場合（S33：NO）、ストレージ管理部２１は、データマイグレーション処理を終了させる。
【０１４０】
これに対し、テーブルＴ６に登録されている条件に該当するボリュームが発見された場合（S33：YES）、ストレージ管理部２１は、予め設定されているデータマイグレーションポリシー等に基づいて、移行先ボリュームを決定する（Ｓ３４）。データマイグレーションポリシーは、例えば、移行元ボリュームに記憶されているデータの種類や移行元ボリュームの属性等に基づいて設定することができる。
【０１４１】
例えば、FCディスクに記憶されている電子メールデータをアーカイブする場合、SATAディスク上に構築された未使用のボリュームが、移行先ボリュームとして選択される。所定期間を経過した電子メールデータは、その後の利用頻度が低いため、処理の遅いSATAディスクに移しても支障はない。また、別の例としては、データマイグレーション後においても、ある程度の利用が見込まれるような場合、RAID1+0で運用されているFCディスク群からRAID５で運用されているFCディスク群に移動させることもできる。この場合、所定台数のFCディスクにより構築されたRAID５の未使用ボリュームが、移行先ボリュームとして選択される。
【０１４２】
ストレージ管理部２１は、移行先ボリュームを選択すると、移行元ボリュームと移行先ボリュームとでコピーペアを生成させる（Ｓ３５）。制御部１０１は、ストレージ管理部２１からのコピーペア生成指示を受信すると、指定された移行元ボリューム及び移行先ボリュームとでコピーペアを生成させる。
【０１４３】
制御部１０１は、移行元ボリュームに記憶されている全てのデータ（ユーザデータ）を、移行先ボリュームに全コピーさせる（Ｓ３６）。この全コピーでは、移行元ボリュームからデータが所定量ずつ読み出され、キャッシュメモリ１３０を介して、移行先ボリュームに書き込まれていく。コピーがどこまで完了したかは、コピーポインタ管理テーブルＴ５によって管理される。
【０１４４】
なお、移行元ボリュームと移行先ボリュームとの間のデータコピーは、第１ストレージ装置１００内で、または、第１ストレージ装置１００と第２ストレージ装置２００との間で、行われる。即ち、ホスト１０は、このデータマイグレーションに関与しない。従って、ホスト１０の処理負荷を上げることなく、データマイグレーションを実行することができる。
【０１４５】
移行元ボリュームから移行先ボリュームへのデータマイグレーションが完了するよりも前に、ホスト１０からアクセスが要求される場合がある。本実施例では、データマイグレーション期間中も、ホスト１０からのアクセス要求を処理可能としている。
【０１４６】
データマイグレーション中にホスト１０からライトコマンドが発行された場合（S37：YES）、制御部１０１は、ホスト１０から受信したライトデータを、移行元ボリューム及び移行先ボリュームの両方にそれぞれ書き込ませる（Ｓ３８）。この二重書込みは、コピー済領域へのライトアクセスであるか否かを問わずに行われる。
これに対し、例えば、コピー済領域へのライトアクセスの場合は、移行先ボリュームにのみライトデータを書込み、未だコピーされていない領域へのライトアクセスの場合は、移行元ボリュームにのみライトデータを書き込むように構成することも可能である。但し、本実施例のように、コピーされた領域であるか否かを問わずに、ライトデータを移行元ボリューム及び移行先ボリュームの両方に書き込む構成の方が、制御構造を簡素化することができる。
【０１４７】
一方、データマイグレーション中にホスト１０からリードコマンドが発行された場合（S37：NO，S38：YES）、制御部１０１は、要求されたデータを移行元ボリュームから読出してホスト１０に送信する（Ｓ４０）。もしも、ホスト１０から要求されたデータがキャッシュメモリ１３０上に存在する場合は、ディスクドライブにアクセスすることなく、キャッシュされているデータをホスト１０に送信することができる。
なお、コピー済領域へのリードアクセスであるか否かを問わずに、コピー元ボリュームである移行元ボリュームからデータを読出して、ホスト１０に転送する。これに対し、コピー済領域へのリードアクセスの場合は、移行先ボリュームからデータを読み出し、未コピー領域へのリードアクセスの場合は、移行元ボリュームからデータを読み出す構成でもよい。
【０１４８】
このように、制御部１０１は、ホスト１０からのライトアクセス及びリードアクセスを処理しながら（Ｓ３７〜Ｓ４０）、移行元ボリュームから移行先ボリュームへのデータコピーを続行する（Ｓ４１）。移行元ボリュームから移行先ボリュームへの全コピーが完了した場合（S41：YES）、制御部１０１は、移行元ボリュームと移行先ボリュームとのコピーペアを維持したままで（Ｓ４２）、ホスト１０のアクセスパスを移行元ボリュームから移行先ボリュームへ切り替えさせる（Ｓ４３）。
【０１４９】
図１３は、移行元ボリュームから移行先ボリュームへの全コピーが完了した後に実行される差分管理処理を示すフローチャートである。
制御部１０１は、移行元ボリュームから移行先ボリュームへホスト１０のアクセスパスを切り替えた場合でも、移行元ボリュームと移行先ボリュームとのコピーペアを解除せずに、差分データを管理する。
【０１５０】
制御部１０１は、移行先ボリュームへアクセスパスが切り替わった後で、ホスト１０からライトコマンドが発行されたか否かを判定する（Ｓ５１）。ライトコマンドの場合（S51：YES）、制御部１０１は、ホスト１０からライトデータを受信して（Ｓ５２）、キャッシュメモリ１３０に記憶させる。制御部１０１は、ホスト１０に書込み完了を報告してから（Ｓ５３）、ライトデータを移行先ボリュームに書き込ませる（Ｓ５４）。
そして、制御部１０１は、更新された位置に対応する更新フラグを「１」にセットし、差分管理テーブルＴ３を更新させる（Ｓ５５）。なお、移行先ボリュームに係るディスクドライブ群へのライトデータの書込みを確認した後、ホスト１０に書込み完了を報告するという、いわゆる同期方式を採用してもよい。但し、同期方式の場合は、ディスクドライブからの書込み完了を待つ必要があるため、ライトコマンドの処理速度が低下する。
【０１５１】
ホスト１０からリードコマンドが発行された場合（S51：NO，S56：YES）、制御部１０１は、要求されたデータがキャッシュメモリ１３０上に存在するか否かを判定する（Ｓ５７）。要求されたデータがキャッシュメモリ１３０に記憶されていない場合（S57：NO）、制御部１０１は、移行先ボリュームからデータを読み出して（Ｓ５８）、このデータをホスト１０に送信する（Ｓ５９）。これに対し、要求されたデータがキャッシュメモリ１３０に記憶されている場合（S57：YES）、制御部１０１は、このデータをホスト１０に送信する（Ｓ５９）。
【０１５２】
図１４は、管理端末２０の性能監視部２２によって実行される性能監視処理を示すフローチャートである。
性能監視部２２は、監視を開始するか否かを判断する（Ｓ６１）。例えば、ユーザの手動操作によって性能監視が指示された場合、性能監視部２２は、監視を開始する。あるいは、性能監視部２２は、データマイグレーション処理が完了した場合に、自動的に監視を開始することもできる。
【０１５３】
性能監視部２２は、監視を開始する場合（S61：YES）、監視対象に対応する性能監視テーブルＴ１０Ａを初期化させる（Ｓ６２）。本実施例では、FCディスクからSATAディスクにデータが移行された場合を例に挙げて説明する。
【０１５４】
性能監視部２２は、監視間隔を規定するタイマをスタートさせる（Ｓ６３）。そして、性能監視部２２は、所定時間が経過するのを待ち（S64：YES）、第１ストレージ装置１００から情報を採取する（Ｓ６５）。即ち、性能監視部２２は、性能監視テーブルＴ１０Ａに登録されている各性能項目に関する情報を、第１ストレージ装置１００からそれぞれ取得する。
【０１５５】
性能監視部２２は、第１ストレージ装置１００から採取した情報に基づいて、性能監視テーブルＴ１０Ａを更新させる（Ｓ６６）。また、性能監視部２２は、管理端末２０の端末画面に表示される性能監視画面を更新させる（Ｓ６７）。性能監視画面の一例については後述する。なお、性能監視画面を表示させていない場合、Ｓ６７のステップを省略することができる。
【０１５６】
性能監視部２２は、監視処理を終了させるか否かを判定する。処理終了の判定は、処理開始の判定と同様に、ユーザからの指示、あるいは、別のプログラムの実行に基づいて行うことができる。後者の場合、例えば、後述する復帰処理が完了した場合やデータマイグレーション確定処理が完了した場合に、監視処理を終了させることができる。
【０１５７】
監視処理を続行する場合（S68：NO）、性能監視部２２は、所定の時間毎に（Ｓ６３，Ｓ６４）、第１ストレージ装置１００から情報を採取し（Ｓ６５）、性能監視テーブルＴ１０Ａを更新させる（Ｓ６６）。
【０１５８】
図１５は、ランダムライト率を算出する場合の処理を示すフローチャートである。本処理は、性能監視部２２により実行される。
ランダムライト率に関する情報は、移行先ボリュームがSATAディスクに基づいて生成されている場合に有用である。上述の通り、SATAディスクの場合は、FCディスクに比べて、ランダムライトの処理性能が特に低いためである。
【０１５９】
本実施例では、必要に応じてランダムライト率を算出し、管理端末２０の画面に表示させる。必要に応じてとは、例えば、ユーザからの明示の要求があった場合や、移行先ボリュームがSATAディスク上に生成されている場合を意味する。これにより、ランダムライト率を無駄に算出することがなく、管理端末２０の負荷を軽減できる。なお、これに代えて、常にランダムライト率を算出するように構成してもよい。
【０１６０】
性能監視部２２は、SATAディスクに関する性能表示が要求されたか否かを判定する（Ｓ７１）。SATAディスクそのもの、または、SATAディスク上に生成されたボリュームに関する性能表示が要求された場合（S71：YES）、性能監視部２２は、性能監視テーブルＴ１０Ａを参照する（Ｓ７２）。
【０１６１】
性能監視部２２は、性能監視テーブルＴ１０Ａからランダムライト率の算出に関連する情報を取得する（Ｓ７３）。ランダムライト率に関連する情報としては、例えば、「WRITE Rate」、「WRITE Hit」、「WRITE Trans Rate」等を挙げることができる。
【０１６２】
性能監視部２２は、ランダムライト率を算出し（Ｓ７４）、管理端末２０内のメモリまたはローカルディスクに記憶する。そして、性能監視部２２は、ユーザによってランダムライト率の表示が要求されると（S75：YES）、記憶させたランダムライト率を呼び出して端末画面に表示させる（Ｓ７６）。
なお、ランダムライト率は、必ずしも厳密に算出する必要はなく、その傾向がある程度把握できる程度の正確さを備えていれば足りる。
【０１６３】
図１６は、性能監視画面の一例を示す説明図である。性能監視画面は、例えば、グラフ表示タブ３０１，オプションタブ３０２，出力タブ３０３を備えることができる。ユーザは、所望のタブを操作することにより、所望の画面に移ることができる。グラフ表示タブ３０１をユーザが操作すると、図１６に示すグラフ表示画面が表示される。なお、オプションタブ３０２をユーザが操作すると、オプション画面に遷移する。ユーザが出力タブ３０３を操作すると、出力画面に遷移する。出力画面では、監視データを管理端末２０から外部に出力させることができる。ユーザは、出力された監視データをパーソナルコンピュータや携帯情報端末等に読み込んで、統計処理等を行うことができる。
【０１６４】
グラフ表示画面は、例えば、監視状態表示部３１０と、ツリー表示部３２０と、監視結果表示部３３０と、グラフ表示部３４０とを含んで構成することができる。監視状態表示部３１０は、例えば、状態表示部３１１と、採取間隔指定部３１２と、開始ボタン３１３と、終了ボタン３１４とを備えることができる。状態表示部３１１は、各監視対象毎に監視されているか否かの状態を表示する。採取間隔指定部３１２は、監視周期を指定するものである。開始ボタン３１３は、性能監視の開始を指示するためのボタンである。終了ボタン３４は、性能監視の終了を指示するためのボタンである。
【０１６５】
ツリー表示部３２０は、ストレージシステムの構成（第１ストレージ装置１００の構成）をツリー形式で表示させる。ユーザは、表示されたツリーの中から監視対象や監視結果の表示対象を選択することができる。
【０１６６】
監視結果表示部３３０は、監視の結果を表示する領域である。監視結果表示部３３０は、例えば、数値表示部３３１と、選択部３３２と、グラフ表示ボタン３３３とを備えることができる。数値表示部３３１は、各監視対象について、選択部３３２で選択された指標に関する実測値を数値で表示させる。数値表示部３３１は、選択部３３２で選択された指標の実測値のみを表示させることができる。但し、本実施例では、選択部３３２で選択された指標の実測値を先頭（画面の左側）に表示させ、これに続けて別の指標の実測値も表示させる。表示の順番は、性能監視テーブルＴ１０，Ｔ１０Ａに登録されている項目の順番により定まる。
【０１６７】
ユーザがグラフ表示ボタン３３３を操作すると、グラフ表示部３４０には、監視結果がグラフとして表示される。グラフの形式としては、例えば、折れ線グラフ、棒グラフ、円グラフ等を挙げることができる。グラフ表示部３４０には、選択部３３２で選択された指標に関する実測値のグラフが表示される。なお、例えば、選択部３３２を複数設けることにより、複数の指標の実測値を比較してグラフ表示させる構成でもよい。
【０１６８】
このように、本実施例では、移行先ボリュームに関する性能を監視して、その監視結果を管理端末２０の端末画面に表示させる。ユーザは、性能監視画面を確認して、移行先ボリュームの選択が適切であるか否かを判断することができる。
【０１６９】
例えば、RAID1+0で運用されるFCディスク群からRAID５で運用されるSATAディスク群にボリュームを移動させる場合を考える。この移行後に、そのボリュームへのランダムアクセスが多量に発生すると、第１ストレージ装置１００の応答性能が低下し、ストレージサービスの品質が低下する。従って、この場合は、RAID５で運用されるSATAディスク群の選択は、不適切であったと判断することができる。
そこで、ユーザは、後述のように、そのデータマイグレーションを取り消して元の状態に復帰させる。ユーザは、別のディスク群に生成される未使用ボリュームを選択して、データマイグレーションをやり直すことができる。例えば、ユーザは、RAID５で運用されるFCディスク群に未使用のボリュームを生成し、この未使用ボリュームを移行先ボリュームとして選択し直して、データマイグレーションをやり直すことができる。
【０１７０】
また、別の例として、例えば、RAID５で運用されている15000rpmのFCディスク群（図９中のグループC2）から、RAID1+0で運用される10000rpmのFCディスク群（グループC3）にボリュームを移動させる場合を考える。この移行後に、リードアクセスの方がライトアクセスよりも多く発生した場合、移行先のボリュームは、ユーザが意図した通りの性能を発揮しないかも知れない。
図９のテーブルＴ１１に示すように、グループC3に属するボリュームは、そのライトアクセス時のランキングは第２位であるが、テーブルＴ１２に示すように、そのリードアクセス時のランキングは第３位である。
従って、グループC3に属するボリュームへのリードアクセスが多い場合、データマイグレーションの実行前よりも、ボリュームの応答性能が低下する可能性がある。ユーザは、性能監視画面を管理端末２０の画面に表示させることにより、リードアクセス率やライトアクセス率等を確認することができる。そして、ユーザは、別のグループ（例えばC1）を選択して、データマイグレーションをやり直すことができる。
【０１７１】
なお、以上の説明では、ユーザの判断によってデータマイグレーションをやり直すか否かを決定する場合を述べたが、後述のように、自動的にデータマイグレーションの可否を評価して、そのデータマイグレーションを取り消すこともできる。
【０１７２】
図１７は、いったん実行されたデータマイグレーションを取り消して元の状態に戻すための復帰処理を示すフローチャートである。この復帰処理は、図１２で述べたデータマイグレーション処理と同様に、管理端末２０と第１ストレージ装置１００との連携によって行うことができる。
本実施例では、Ｓ７１〜Ｓ７４までを管理端末２０のストレージ管理部２１が実行し、Ｓ７５〜Ｓ８３までを第１ストレージ装置１００で実行させるものとして説明する。これに代えて、復帰処理の全部または略全部を第１ストレージ装置１００内で実行させる構成でもよい。
【０１７３】
最初に、ストレージ管理部２１は、ユーザからの復帰指示があったか否かを判定する（Ｓ７１）。復帰指示とは、未確定の状態のデータマイグレーションを取り消して、元の状態に戻させるための指示である。ユーザが復帰を命じた場合（S71：YES）、ストレージ管理部２１は、移行元ボリューム及び移行先ボリュームを特定して、第１ストレージ装置１００にデータマイグレーションの取り消しを指示する（Ｓ７４）。
【０１７４】
ユーザからの復帰指示が無い場合（S71：NO）、ストレージ管理部２１は、復帰条件管理テーブルＴ７及び性能監視テーブルＴ１０，Ｔ１０Ａを参照し（Ｓ７２）、復帰対象のボリュームが存在するか否かを判定する（Ｓ７３）。即ち、移行先ボリュームについて取得された性能の実測値が復帰条件管理テーブルＴ７に登録されている閾値に達しているか否かを判定する。
【０１７５】
復帰対象のボリュームが存在しない場合（S73：NO）、ストレージ管理部２１は、本処理を終了させる。復帰対象のボリュームが存在する場合（S73：YES）、ストレージ管理部２１は、データマイグレーションの取り消しを第１ストレージ装置１００に指示する（Ｓ７４）。
【０１７６】
第１ストレージ装置１００の制御部１０１は、差分管理テーブルＴ３及びコピーペア管理テーブルＴ４を参照し（Ｓ７５）、移行先ボリュームの側で管理されていた差分データを移行元ボリュームにコピーさせる（Ｓ７６）。
【０１７７】
暫定的なデータマイグレーションの完了後に生じた差分データのみをコピーするため、この差分コピーは比較的短時間で完了する。しかし、差分コピー中に、ホスト１０から移行先ボリュームへのアクセス要求が生じる場合もある。そこで、本実施例では、全コピーを行った場合と同様に、差分コピー中もホスト１０からのアクセス要求を受け付けて処理するようになっている。
【０１７８】
差分コピー中に、ホスト１０から移行先ボリュームを対象とするライトコマンドが発行された場合（S77：YES）、制御部１０１は、ホスト１０から受信したライトデータを移行元ボリューム及び移行先ボリュームにそれぞれ書き込ませる（Ｓ７８）。
【０１７９】
差分コピー中に、ホスト１０から移行先ボリュームを対象とするリードコマンドが発行された場合（S77：NO，S79：YES）、制御部１０１は、要求されたデータを移行先ボリュームから読み出して、ホスト１０に送信する（Ｓ８０）。
【０１８０】
制御部１０１は、差分コピーが完了するまでの間（S81：NO）、ホスト１０からのアクセス要求を処理しつつ、差分コピーを実行する。差分コピーが完了すると（S81：YES）、制御部１０１は、移行元ボリュームと移行先ボリュームとのコピーペアを解消し、コピーペア管理テーブルＴ４を更新させる（Ｓ８２）。制御部１０１は、ホスト１０のアクセスパスを、移行先ボリュームから移行元ボリュームへ切り替え直す（Ｓ８３）。
【０１８１】
図１８は、暫定的なデータマイグレーションを確定させるための処理を示すフローチャートである。
上述のように、本実施例では、データマイグレーションを実行した場合に、コピーペアを解除することなく、移行先ボリュームの性能を監視して、差分データを管理する。差分データの管理は、そのデータマイグレーションの復帰処理が実行された場合、または、これから述べるデータマイグレーション確定処理が実行された場合に、終了する。
【０１８２】
データマイグレーション確定処理は、例えば、管理端末２０のストレージ管理部２１によって実行される。これに代えて、第１ストレージ装置１００内でデータマイグレーション確定処理を行う構成でもよい。
【０１８３】
ストレージ管理部２１は、ユーザからデータマイグレーションを確定させるべき旨の指示が入力されたか否かを判定する（Ｓ９１）。ユーザからの指示が無い場合（S91：NO）、ストレージ管理部２１は、データマイグレーション後に所定時間の経過した移行先ボリュームが存在するか否かを判定する（Ｓ９２）。つまり、ストレージ管理部２１は、予め設定された所定時間以上、差分データが管理されているボリュームが存在するか否かを判定する。この所定時間は、例えば、「差分管理の上限時間」または「移行猶予期間」等のように表現することもできる。
【０１８４】
データマイグレーション後に所定時間経過したボリュームが存在する場合（S92：YES）、ストレージ管理部２１は、第１ストレージ装置１００の制御部１０１に指示を出して、移行先ボリュームと移行元ボリュームとのコピーペアを解除させる（S93）。そして、ストレージ管理部２１は、差分管理の中止及び差分管理テーブルＴ３の消去を、制御部１０１に指示して（Ｓ９４）、この処理を終了させる。
【０１８５】
図１９は、本実施例による移行元ボリューム及び移行先ボリュームのステータス変化を模式的に示す説明図である。図１９（ａ）は、データマイグレーション後に、その移行先ボリュームの使用継続が決定された場合のステータス変化を示す。
【０１８６】
データマイグレーションの開始前（初期状態）において、移行元ボリューム及び移行先ボリュームのステータスは、それぞれ「ノーマル」となっている。データマイグレーションを行うために「全コピーフェーズ」に移行すると、移行元ボリュームのステータスは「ノーマル」から「コピー元」に、移行先ボリュームのステータスは「ノーマル」から「コピー先」に、それぞれ変化する。
【０１８７】
全コピーが完了すると、全コピーフェーズから差分管理フェーズに遷移する。差分管理フェーズに遷移しても、移行元ボリューム及び移行先ボリュームのステータスは、それぞれ変化しない。移行元ボリュームは「コピー元」に、移行先ボリュームは「コピー先」になったままである。差分管理フェーズでは、移行元ボリュームと移行先ボリュームとのコピーペアを維持したままで、差分データを管理する。
【０１８８】
上述のデータマイグレーション確定処理が行われると、差分管理フェーズから移行確定フェーズに遷移する。移行確定フェーズでは、移行元ボリュームのステータスは「コピー元」から「ノーマル」に、移行先ボリュームのステータスは「コピー先」から「ノーマル」に、それぞれ変化する。
【０１８９】
図１９（ｂ）は、データマイグレーション後に、そのデータマイグレーションをやり直すべく、元の状態に復帰させる場合のステータス変化を示す。初期状態から差分管理フェーズまでの移行元ボリューム及び移行先ボリュームのステータス変化は、図１９（ａ）で述べたと同様であるため、省略する。
【０１９０】
差分管理フェーズにおいて、上述の通り、性能監視部２２は、移行先ボリュームの性能を監視している。この監視の結果、例えば、移行先ボリュームが期待されている性能を発揮していない場合、または、予定された性能低下以上に移行先ボリュームの性能が低下している場合は、そのデータマイグレーションが解消される。
【０１９１】
データマイグレーションの解消が決定されると、差分コピーフェーズに遷移し、データマイグレーション開始前の状態に戻すべく、移行先ボリュームから移行元ボリュームに差分データをコピーさせる。データマイグレーション開始前は、移行元ボリュームがホスト１０からアクセスされる基準ボリュームであったため、再び基準ボリュームを移行元ボリュームにするべく、差分コピーを行う。差分コピーフェーズでは、移行先ボリュームが「コピー元」となり、移行元ボリュームが「コピー先」となる。
【０１９２】
差分コピーが完了すると、復帰後フェーズに遷移する。復帰後フェーズでは、移行元ボリュームのステータスは「コピー先」から「ノーマル」に、移行先ボリュームのステータスは「コピー元」から「ノーマル」に、それぞれ変化する。
【０１９３】
本実施例は上述のように構成されるので、以下の効果を奏する。
本実施例では、性能監視部２２により、移行先ボリュームの種類に応じた所定の指標について、移行先ボリュームの稼働状況を監視する。従って、例えば、FCディスクからSATAディスクへのデータマイグレーション等のように、それぞれ異なる種類のドライブに基づくボリューム間でデータを移行させた場合でも、移行先ボリュームの性能を適切に監視することができる。
【０１９４】
本実施例では、ランダムアクセスに関する状況を監視可能な構成とした。従って、例えば、SATAディスクのようなランダムアクセスの処理性能が低いドライブについて、その性能をより適切に評価することができる。換言すれば、本実施例では、それぞれ技術的特性の異なる複数種類のボリュームが混在するヘテロジニアスな環境下において、これら異種類のボリュームの弱点を監視して、評価することができる。
【０１９５】
本実施例では、管理端末２０と第１ストレージ装置１００との連携によって、データマイグレーションを制御する構成とした。従って、移行先ボリュームの性能に関する監視結果を管理端末２０の画面に表示等させることができ、ユーザは、移行先ボリュームの選択が適切か否かを容易に判断することができる。
【０１９６】
本実施例では、予め設定されているデータマイグレーション条件に基づいて、自動的にデータマイグレーションを実行可能とした。また、本実施例では、移行先ボリュームの性能に関する監視結果と予め設定されている復帰条件とを比較することにより、データマイグレーション実施前の状態に自動的に復帰可能な戻すことができる構成とした。従って、本実施例では、自律的にデータマイグレーションを行うことができ、ユーザの使い勝手が向上する。
【０１９７】
本実施例では、データマイグレーションの実行中に、ホスト１０からのアクセス要求を処理可能な構成とした。また、本実施例では、ホスト１０を介さずに、ボリューム間でのデータコピーを行う構成とした。従って、ホスト１０上のアプリケーション処理に何ら影響を与えることなく、データマイグレーションを実施可能であり、ストレージシステムの使い勝手が向上する。
【０１９８】
本実施例では、暫定的なデータマイグレーションの実施後に移行先ボリュームに関して差分データを管理する構成とした。従って、暫定的なデータマイグレーションを解消して元の状態に戻す場合、移行先ボリュームから移行元ボリュームに差分データをコピーするだけでよく、現状への復帰時間を短縮することができ、使い勝手が向上する。また、差分データのみを管理すればよいため、第１ストレージ装置１００の処理負荷も少ない。
【０１９９】
本実施例では、暫定的なデータマイグレーションの実施後に、予め設定された所定時間だけ移行先ボリュームの性能を監視し、この監視の結果、その移行先ボリュームの使用継続を決定した場合は、データマイグレーションを確定させて差分管理を終了させる構成とした。従って、未確定の状態が不必要に継続するのを防止して、第１ストレージ装置１００の処理負荷を軽減することができる。
【０２００】
本実施例では、第１ストレージ装置１００は、第２ストレージ装置２００の有する記憶資源を第１ストレージ装置１００の内部で仮想化することにより、それがあたかも自己の記憶資源であるかのように取り込む構成とした。従って、第２ストレージ装置２００のディスクドライブ２２０が提供する記憶領域に対して、第１ストレージ装置１００の有する性能（キャッシュメモリ容量やCPU性能等）を適用することができ、ストレージシステム内の記憶資源を有効に利用することができる。
【０２０１】
これにより、本実施例では、異種類のボリュームが混在するストレージシステムにおいて、これら異種類のボリュームを第１ストレージ装置１００内で仮想化し、有効に利用することができる。そして、異種類のボリューム間でのデータマイグレーションを行うことができ、さらに、異種類のボリューム間でデータマイグレーションが実行された場合に、移行先ボリュームの種類に応じて適切に性能を監視することができる。
【０２０２】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０２０３】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】ストレージシステムの全体構成を示すブロック図である。
【図３】ストレージシステムの記憶構造を示す説明図である。
【図４】マッピングテーブル及び空き容量管理テーブルの構成を示す説明図である。
【図５】差分管理テーブル、コピーペア管理テーブル及びコピーポインタ管理テーブルの構成を示す説明図である。
【図６】データマイグレーション条件管理テーブル及び復帰条件管理テーブルの構成を示す説明図である。
【図７】性能監視テーブルの構成を示す説明図である。
【図８】ストレージシステムの機能に着目した模式的なブロック図である。
【図９】ディスクドライブのランク分類と、ライトアクセス時及びリードアクセス時のランキングテーブルをそれぞれ示す説明図である。
【図１０】FCディスクに基づくボリュームへのライト処理を示すフローチャートである。
【図１１】SATAディスクに基づくボリュームへのライト処理を示すフローチャートである。
【図１２】データマイグレーション処理を示すフローチャートである。
【図１３】差分管理処理を示すフローチャートである。
【図１４】性能監視処理を示すフローチャートである。
【図１５】ランダムライト率の表示処理を示すフローチャートである。
【図１６】性能監視画面の構成例を示す説明図である。
【図１７】復帰処理を示すフローチャートである。
【図１８】データマイグレーションを確定させる処理を示すフローチャートである。
【図１９】移行元ボリューム及び移行先ボリュームのステータス変化の様子を模式的に示す説明図である。
【符号の説明】
【０２０４】
１…移行元ボリューム、２…移行先ボリューム、３…制御部、４…ホスト、５…差分管理部、６…性能監視部、１０…ホスト、１１…ホストバスアダプタ（HBA）、１２…アプリケーションプログラム、２０…管理端末、２１…ストレージ管理部、２２…性能監視部、１００…第１ストレージ装置、１０１…制御部、１０２…データマイグレーション制御部、１０３…I/O処理部、１０４…全コピー部、１０５…差分コピー部、１０６…差分管理部、１１０…チャネルアダプタ（CHA）、１１１…通信ポート、１１１Ａ…ターゲットポート、１１１Ｂ…外部接続ポート、１２０…ディスクアダプタ（DKA）、１３０…キャッシュメモリ、１４０…共有メモリ、１５０…接続制御部、１６０…記憶部、１６１…ディスクドライブ、１６２…中間記憶デバイス（VDEV）、１６３…仮想中間記憶デバイス（V-VOL）、１６４…論理ボリューム（LDEV）、１６５…ロジカルユニット（LU）、１６５…コマンドデバイス、２００…第２ストレージ装置、２１０…コントローラ、２１１…通信ポート、２２０…ディスクドライブ、２４０…論理ボリューム
【図１】
2006301820.tif 000003
【図２】
2006301820.tif 000004
【図３】
2006301820.tif 000005
【図４】
2006301820.tif 000006
【図５】
2006301820.tif 000007
【図６】
2006301820.tif 000008
【図７】
2006301820.tif 000009
【図８】
2006301820.tif 000010
【図９】
2006301820.tif 000011
【図１０】
2006301820.tif 000012
【図１１】
2006301820.tif 000013
【図１２】
2006301820.tif 000014
【図１３】
2006301820.tif 000015
【図１４】
2006301820.tif 000016
【図１５】
2006301820.tif 000017
【図１６】
2006301820.tif 000018
【図１７】
2006301820.tif 000019
【図１８】
2006301820.tif 000020
【図１９】
2006301820.tif 000021
【手続補正書】
【提出日】平成17年5月26日(2005.5.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１７２
【補正方法】変更
【補正の内容】
【０１７２】
図１７は、いったん実行されたデータマイグレーションを取り消して元の状態に戻すための復帰処理を示すフローチャートである。この復帰処理は、図１２で述べたデータマイグレーション処理と同様に、管理端末２０と第１ストレージ装置１００との連携によって行うことができる。
本実施例では、Ｓ８１〜Ｓ８４までを管理端末２０のストレージ管理部２１が実行し、Ｓ８５〜Ｓ９３までを第１ストレージ装置１００で実行させるものとして説明する。これに代えて、復帰処理の全部または略全部を第１ストレージ装置１００内で実行させる構成でもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１７３
【補正方法】変更
【補正の内容】
【０１７３】
最初に、ストレージ管理部２１は、ユーザからの復帰指示があったか否かを判定する（Ｓ８１）。復帰指示とは、未確定の状態のデータマイグレーションを取り消して、元の状態に戻させるための指示である。ユーザが復帰を命じた場合（S81：YES）、ストレージ管理部２１は、移行元ボリューム及び移行先ボリュームを特定して、第１ストレージ装置１００にデータマイグレーションの取り消しを指示する（Ｓ８４）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１７４
【補正方法】変更
【補正の内容】
【０１７４】
ユーザからの復帰指示が無い場合（S81：NO）、ストレージ管理部２１は、復帰条件管理テーブルＴ７及び性能監視テーブルＴ１０，Ｔ１０Ａを参照し（Ｓ８２）、復帰対象のボリュームが存在するか否かを判定する（Ｓ８３）。即ち、移行先ボリュームについて取得された性能の実測値が復帰条件管理テーブルＴ７に登録されている閾値に達しているか否かを判定する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１７５
【補正方法】変更
【補正の内容】
【０１７５】
復帰対象のボリュームが存在しない場合（S83：NO）、ストレージ管理部２１は、本処理を終了させる。復帰対象のボリュームが存在する場合（S83：YES）、ストレージ管理部２１は、データマイグレーションの取り消しを第１ストレージ装置１００に指示する（Ｓ８４）。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１７６
【補正方法】変更
【補正の内容】
【０１７６】
第１ストレージ装置１００の制御部１０１は、差分管理テーブルＴ３及びコピーペア管理テーブルＴ４を参照し（Ｓ８５）、移行先ボリュームの側で管理されていた差分データを移行元ボリュームにコピーさせる（Ｓ８６）。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１７８
【補正方法】変更
【補正の内容】
【０１７８】
差分コピー中に、ホスト１０から移行先ボリュームを対象とするライトコマンドが発行された場合（S87：YES）、制御部１０１は、ホスト１０から受信したライトデータを移行元ボリューム及び移行先ボリュームにそれぞれ書き込ませる（Ｓ８８）。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１７９
【補正方法】変更
【補正の内容】
【０１７９】
差分コピー中に、ホスト１０から移行先ボリュームを対象とするリードコマンドが発行された場合（S87：NO，S89：YES）、制御部１０１は、要求されたデータを移行先ボリュームから読み出して、ホスト１０に送信する（Ｓ９０）。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１８０
【補正方法】変更
【補正の内容】
【０１８０】
制御部１０１は、差分コピーが完了するまでの間（S91：NO）、ホスト１０からのアクセス要求を処理しつつ、差分コピーを実行する。差分コピーが完了すると（S91：YES）、制御部１０１は、移行元ボリュームと移行先ボリュームとのコピーペアを解消し、コピーペア管理テーブルＴ４を更新させる（Ｓ９２）。制御部１０１は、ホスト１０のアクセスパスを、移行先ボリュームから移行元ボリュームへ切り替え直す（Ｓ９３）。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１８３
【補正方法】変更
【補正の内容】
【０１８３】
ストレージ管理部２１は、ユーザからデータマイグレーションを確定させるべき旨の指示が入力されたか否かを判定する（Ｓ１０１）。ユーザからの指示が無い場合（S101：NO）、ストレージ管理部２１は、データマイグレーション後に所定時間の経過した移行先ボリュームが存在するか否かを判定する（Ｓ１０２）。つまり、ストレージ管理部２１は、予め設定された所定時間以上、差分データが管理されているボリュームが存在するか否かを判定する。この所定時間は、例えば、「差分管理の上限時間」または「移行猶予期間」等のように表現することもできる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１８４
【補正方法】変更
【補正の内容】
【０１８４】
データマイグレーション後に所定時間経過したボリュームが存在する場合（S102：YES）、ストレージ管理部２１は、第１ストレージ装置１００の制御部１０１に指示を出して、移行先ボリュームと移行元ボリュームとのコピーペアを解除させる（S103）。そして、ストレージ管理部２１は、差分管理の中止及び差分管理テーブルＴ３の消去を、制御部１０１に指示して（Ｓ１０４）、この処理を終了させる。
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図１７
【補正方法】変更
【補正の内容】
【図１７】
2006301820.tif 000022
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2006301820.tif 000023