(57)【要約】【課題】本発明の記憶制御装置は、テンポラリボリュームを用いて、ボリュームグループ間でデータを速やかに移動させる。【解決手段】記憶制御装置１は、同一性能のボリューム３をグループ化して、複数のボリュームグループ４Ａ〜４Ｃを形成する。各ボリュームグループ内には、それぞれ少なくとも一つ以上のテンポラリボリューム３Ｔが予め設けられている。制御部５は、各データの優先度をそれぞれ算出して管理する。下位のボリュームグループ内で最も高い優先度を有するデータは、ホスト８からアクセスされていない時間に、上位のボリュームグループ内のテンポラリボリュームに予めコピーされる。これにより、データマイグレーションの実行時等に、データを速やかに移動させることができる。【選択図】図１
2008112291.tif 000002
【特許請求の範囲】
【請求項１】
上位装置により利用されるデータを記憶するための複数の記憶ドライブと、これら各記憶ドライブと前記上位装置との間のデータ入出力を制御するコントローラとを備える記憶制御装置であって、
前記各記憶ドライブの有する物理的記憶領域に基づいて形成された複数の論理ボリュームと、
前記各論理ボリュームを複数個ずつグループ化してそれぞれ形成された複数のボリュームグループと、
前記コントローラ内に設けられ、前記上位装置から発行されるアクセス要求に基づいて、前記各論理ボリュームに記憶されているデータの優先度をそれぞれ検出して管理する優先度管理部と、
前記コントローラ内に設けられ、前記優先度管理部により管理されている前記各優先度に基づいて、前記各ボリュームグループ間で前記データを移動させるデータ移動部と、を備え、
前記各ボリュームグループ内の前記各論理ボリュームのうち、少なくとも一つ以上の論理ボリュームは、前記データの移動に用いるテンポラリボリュームとして設定され、
前記データ移動部は、前記テンポラリボリュームを用いて、移動対象のデータを前記各ボリュームグループ間で予め移動させる記憶制御装置。
【請求項２】
前記データ移動部は、前記移動対象のデータの移動が決定されるよりも前に、前記テンポラリボリュームを用いて、前記移動対象のデータを前記各ボリュームグループ間で予め移動させる請求項１に記載の記憶制御装置。
【請求項３】
前記各ボリュームグループをそれぞれ構成する前記各論理ボリュームの種類に応じて、前記各ボリュームグループは、ランク分けされる請求項１に記載の記憶制御装置。
【請求項４】
前記各記憶ドライブは、それぞれ性能の異なる複数種類の記憶ドライブに分類され、
前記各ボリュームグループを構成する前記各論理ボリュームが設けられている前記記憶ドライブの種類に応じて、前記各ボリュームグループは、最高ランクのボリュームグループから最低ランクのボリュームグループまでランク分けされる請求項３に記載の記憶制御装置。
【請求項５】
前記データ移動部は、前記優先度の高いデータがより上位のランクのボリュームグループ内に位置し、前記優先度の低いデータがより下位のランクのボリュームグループ内に位置するように、前記テンポラリボリュームを用いて前記各ボリュームグループ間で前記移動対象のデータを移動させる請求項３に記載の記憶制御装置。
【請求項６】
前記優先度管理部は、前記上位装置が前記各データへアクセスした最終時刻、及び、前記上位装置が前記各データにアクセスした頻度に基づいて、前記各データ毎にそれぞれ前記優先度を検出して管理する請求項１に記載の記憶制御装置。
【請求項７】
前記優先度管理部は、前記上位装置が前記各データへアクセスした最終時刻と、前記上位装置が前記各データにアクセスした頻度、及び、前記各データについて予め設定された優先度保持時間とに基づいて、前記各データ毎にそれぞれ前記優先度を検出して管理する請求項１に記載の記憶制御装置。
【請求項８】
前記データ移動部は、相対的に低ランクの移動元ボリュームグループに含まれる前記各データのうち最も高い優先度を有するデータを移動対象データとして選択し、この移動対象データを、一つ上のランクの移動先ボリュームグループに含まれる前記テンポラリボリュームに予めコピーする請求項４に記載の記憶制御装置。
【請求項９】
前記データ移動部は、前記上位装置から前記移動対象データへ向けて発行されるアクセス要求を、前記移動先ボリュームグループ内の前記テンポラリボリュームにコピーされた前記移動対象データを用いて処理させる請求項８に記載の記憶制御装置。
【請求項１０】
前記データ移動部は、前記移動対象データについて、前記移動先ボリュームグループ内の前記テンポラリボリュームと前記移動元ボリュームグループ内の移動元論理ボリュームとの差分を管理する請求項９に記載の記憶制御装置。
【請求項１１】
前記データ移動部は、前記優先度管理部によって前記移動対象データの優先度が低下された場合、前記差分を前記移動元論理ボリュームに反映させ、かつ、前記移動元ボリュームグループ内で最も高い優先度に設定された別のデータを前記移動先ボリュームグループ内の前記テンポラリボリュームにコピーさせる請求項１０に記載の記憶制御装置。
【請求項１２】
前記データ移動部は、上位ランクのボリュームグループ内に存在するバックアップ対象の論理ボリュームに記憶されているバックアップ対象データを、下位ランクのボリュームグループ内のテンポラリボリュームに予めコピーする請求項１に記載の記憶制御装置。
【請求項１３】
前記データ移動部は、前記バックアップ対象データについて、前記バックアップ対象の論理ボリュームと前記下位ランクのボリュームグループ内の前記テンポラリボリュームとの差分を管理しており、バックアップの実行が指示された場合には、前記差分を前記テンポラリボリュームに反映させることによりバックアップを完了させる請求項１２に記載の記憶制御装置。
【請求項１４】
前記コントローラは、（１）前記上位装置からアクセスされるアクセスポイントを管理するアクセス経路管理層と、（２）前記各論理ボリュームを管理するボリューム管理層と、（３）前記ボリューム管理層に記憶されている前記データに関する管理用情報、及び、前記アクセスポイントと前記論理ボリュームとの対応付けをそれぞれ管理する中間管理層とを、それぞれ制御する請求項１に記載の記憶制御装置。
【請求項１５】
前記中間管理層は、前記管理用情報を管理する第１層と、前記アクセスポイントと前記第１層との対応関係を管理する第２層と、前記第１層と前記ボリューム管理層との対応付けを管理する第３層とを含んで構成される請求項１４に記載の記憶制御装置。
【請求項１６】
前記各ボリュームグループのうち少なくとも一つの特定のボリュームグループは、複数の別の記憶制御装置内にそれぞれ存在する別の論理ボリュームに対応付けられている仮想的な論理ボリュームから構成されており、
前記コントローラは、前記仮想的な論理ボリュームがオンライン状態に設定された場合に前記コントローラ内のキャッシュメモリを割り当て、前記仮想的な論理ボリュームがオフライン状態に設定された場合には前記キャッシュメモリを割り当てない請求項１に記載の記憶制御装置。
【請求項１７】
前記コントローラは、特定の前記別の記憶制御装置内の前記別の論理ボリュームに対応付けられている特定の前記仮想的な論理ボリュームに、前記優先度の低いデータを記憶させ、かつ、前記特定の仮想的な論理ボリュームが全てオフライン状態に設定された場合に、前記特定の別の記憶制御装置への電源供給が停止可能である旨を通知するか、または、前記特定の別の記憶制御装置への電源供給を自動的に停止させる請求項１６に記載の記憶制御装置。
【請求項１８】
上位装置により利用されるデータを記憶するための複数の記憶ドライブと、これら各記憶ドライブと前記上位装置との間のデータ入出力を制御するコントローラとを備える記憶制御装置を用いたデータ移動方法であって、
前記コントローラは、
前記各記憶ドライブの有する物理的記憶領域に基づいて形成された複数の論理ボリュームを、前記各記憶ドライブの性能別に複数個ずつグループ化して複数のボリュームグループをそれぞれ生成し、かつ、前記各ボリュームグループ内の前記各論理ボリュームのうち少なくとも一つ以上の論理ボリュームを、データを移動させるためのテンポラリボリュームとして設定するステップと、
前記上位装置から発行されるアクセス要求に基づいて、前記各論理ボリュームに記憶されているデータの優先度をそれぞれ検出して管理するステップと、
前記優先度の高いデータがより性能の高い記憶ドライブに関連するボリュームグループ内に記憶され、前記優先度の低いデータがより性能の低い記憶ドライブに関連するボリュームグループ内に記憶されるように、データ移動が決定されるよりも前に、前記テンポラリボリュームを用いて、前記各ボリュームグループ間でデータを移動させるステップと、をそれぞれ実行する記憶制御装置のデータ移動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置及び記憶制御装置のデータ移動方法に関する。
【背景技術】
【０００２】
例えば、政府、官公庁、地方自治体、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模な記憶システムを用いてデータを管理する。この記憶システムは、例えば、ディスクアレイ装置等の記憶制御装置から構成される。ディスクアレイ装置は、多数のディスクドライブをアレイ状に配設して構成されるもので、例えば、RAID（Redundant Array of Independent Disks）に基づく記憶領域を提供する。ディスクドライブ群が提供する物理的な記憶領域上には少なくとも一つ以上の論理ボリューム（論理的な記憶デバイス）が形成される。この論理ボリュームは、ホストコンピュータ上で稼働するプログラムに提供される。ホストコンピュータ（以下、「ホスト」と略記）は、所定のコマンドを送信することにより、論理ボリュームに対してデータの書込み、読み出しを行うことができる。
【０００３】
情報化社会の進展等につれて、管理すべきデータは、日々増大する。一方、データの価値は一定ではなく、多くのデータの価値は、時間の経過に従って低下していく。データの価値に応じてデータを管理する手法は、例えばILM（Information Lifecycle Management）と呼ばれる。そこで、データの記憶場所をデータの価値に応じて変更させるというデータマイグレーション技術が提案されている（特許文献１）。
【０００４】
一方、ストレージ機器の構成情報とユーザにより設定されたポリシーとに基づいて、ストレージ機器を設定するためのツールにより使用されるパラメータを自動的に生成する技術も提案されている（特許文献２）。
【特許文献１】特開２００４−２９５４５７号公報
【特許文献２】特開２００３−３０３０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記第１の文献に記載された従来技術では、データの再配置が決定された場合、データを記憶するための記憶デバイスを移動先に用意してから、移動対象のデータを移動元から移動先にコピーさせる必要がある。従って、移動対象となるデータの合計サイズによっても相違するが、データの移動が完了するまでに長い時間がかかり、使い勝手が低い。
【０００６】
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的は、データ移動に関する使い勝手を向上させることができる記憶制御装置及び記憶制御装置のデータ移動方法を提供することにある。本発明の他の目的は、データの移動が決定されるよりも前に、各ボリュームグループ内に予め用意されたテンポラリボリュームを用いて、データの少なくとも一部を事前に移動させておくことにより、データの移動時間を短縮し、使い勝手を向上させることができる記憶制御装置及び記憶制御装置のデータ移動方法を提供することにある。本発明のさらに別の目的は、データの価値を自動的に判断し、価値に応じた論理ボリュームに比較的短時間で移動させることができ、使い勝手を向上させることができる記憶制御装置及び記憶制御装置のデータ移動方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００７】
上記課題を解決すべく、本発明に従う記憶制御装置は、上位装置により利用されるデータを記憶するための複数の記憶ドライブと、これら各記憶ドライブと前記上位装置との間のデータ入出力を制御するコントローラとを備える記憶制御装置であって、各記憶ドライブの有する物理的記憶領域に基づいて形成された複数の論理ボリュームと、各論理ボリュームを複数個ずつグループ化してそれぞれ形成された複数のボリュームグループと、コントローラ内に設けられ、上位装置から発行されるアクセス要求に基づいて、各論理ボリュームに記憶されているデータの優先度をそれぞれ検出して管理する優先度管理部と、コントローラ内に設けられ、優先度管理部により管理されている各優先度に基づいて、各ボリュームグループ間でデータを移動させるデータ移動部と、を備え、各ボリュームグループ内の各論理ボリュームのうち、少なくとも一つ以上の論理ボリュームは、データの移動に用いるテンポラリボリュームとして設定され、データ移動部は、テンポラリボリュームを用いて、移動対象のデータを各ボリュームグループ間で予め移動させる。
【０００８】
本発明の実施形態では、データ移動部は、移動対象のデータの移動が決定されるよりも前に、テンポラリボリュームを用いて、移動対象のデータを各ボリュームグループ間で予め移動させる。
【０００９】
本発明の実施形態では、各ボリュームグループをそれぞれ構成する各論理ボリュームの種類に応じて、各ボリュームグループは、ランク分けされる。
【００１０】
本発明の実施形態では、各記憶ドライブは、それぞれ性能の異なる複数種類の記憶ドライブに分類され、各ボリュームグループを構成する各論理ボリュームが設けられている記憶ドライブの種類に応じて、各ボリュームグループは、最高ランクのボリュームグループから最低ランクのボリュームグループまでランク分けされる。
【００１１】
本発明の実施形態では、データ移動部は、優先度の高いデータがより上位のランクのボリュームグループ内に位置し、優先度の低いデータがより下位のランクのボリュームグループ内に位置するように、テンポラリボリュームを用いて各ボリュームグループ間で移動対象のデータを移動させる。
【００１２】
本発明の実施形態では、優先度管理部は、上位装置が各データへアクセスした最終時刻、及び、上位装置が各データにアクセスした頻度に基づいて、各データ毎にそれぞれ優先度を検出して管理する。
【００１３】
本発明の実施形態では、優先度管理部は、上位装置が各データへアクセスした最終時刻と、上位装置が各データにアクセスした頻度、及び、各データについて予め設定された優先度保持時間とに基づいて、各データ毎にそれぞれ優先度を検出して管理する。
【００１４】
本発明の実施形態では、データ移動部は、相対的に低ランクの移動元ボリュームグループに含まれる各データのうち最も高い優先度を有するデータを移動対象データとして選択し、この移動対象データを、一つ上のランクの移動先ボリュームグループに含まれるテンポラリボリュームに予めコピーする。
【００１５】
本発明の実施形態では、データ移動部は、上位装置から移動対象データへ向けて発行されるアクセス要求を、移動先ボリュームグループ内のテンポラリボリュームにコピーされた移動対象データを用いて処理させる。
【００１６】
本発明の実施形態では、データ移動部は、移動対象データについて、移動先ボリュームグループ内のテンポラリボリュームと移動元ボリュームグループ内の移動元論理ボリュームとの差分を管理する。
【００１７】
本発明の実施形態では、データ移動部は、優先度管理部によって移動対象データの優先度が低下された場合、差分を移動元論理ボリュームに反映させ、かつ、移動元ボリュームグループ内で最も高い優先度に設定された別のデータを移動先ボリュームグループ内のテンポラリボリュームにコピーさせる。
【００１８】
本発明の実施形態では、データ移動部は、上位ランクのボリュームグループ内に存在するバックアップ対象の論理ボリュームに記憶されているバックアップ対象データを、下位ランクのボリュームグループ内のテンポラリボリュームに予めコピーする。
【００１９】
本発明の実施形態では、データ移動部は、バックアップ対象データについて、バックアップ対象の論理ボリュームと下位ランクのボリュームグループ内のテンポラリボリュームとの差分を管理しており、バックアップの実行が指示された場合には、差分をテンポラリボリュームに反映させることによりバックアップを完了させる。
【００２０】
本発明の実施形態では、コントローラは、（１）上位装置からアクセスされるアクセスポイントを管理するアクセス経路管理層と、（２）各論理ボリュームを管理するボリューム管理層と、（３）ボリューム管理層に記憶されているデータに関する管理用情報、及び、アクセスポイントと論理ボリュームとの対応付けをそれぞれ管理する中間管理層とを、それぞれ制御する。
【００２１】
本発明の実施形態では、中間管理層は、管理用情報を管理する第１層と、アクセスポイントと第１層との対応関係を管理する第２層と、第１層とボリューム管理層との対応付けを管理する第３層とを含んで構成される。
【００２２】
本発明の実施形態では、各ボリュームグループのうち少なくとも一つの特定のボリュームグループは、複数の別の記憶制御装置内にそれぞれ存在する別の論理ボリュームに対応付けられている仮想的な論理ボリュームから構成されており、コントローラは、仮想的な論理ボリュームがオンライン状態に設定された場合にコントローラ内のキャッシュメモリを割り当て、仮想的な論理ボリュームがオフライン状態に設定された場合にはキャッシュメモリを割り当てないようになっている。
【００２３】
本発明の実施形態では、コントローラは、特定の別の記憶制御装置内の別の論理ボリュームに対応付けられている特定の仮想的な論理ボリュームに、優先度の低いデータを記憶させ、かつ、特定の仮想的な論理ボリュームが全てオフライン状態に設定された場合に、特定の別の記憶制御装置への電源供給が停止可能である旨を通知するか、または、特定の別の記憶制御装置への電源供給を自動的に停止させる。
【００２４】
本発明の他の観点に従う、上位装置により利用されるデータを記憶するための複数の記憶ドライブと、これら各記憶ドライブと上位装置との間のデータ入出力を制御するコントローラとを備える記憶制御装置を用いたデータ移動方法では、コントローラは、各記憶ドライブの有する物理的記憶領域に基づいて形成された複数の論理ボリュームを、各記憶ドライブの性能別に複数個ずつグループ化して複数のボリュームグループをそれぞれ生成し、かつ、各ボリュームグループ内の各論理ボリュームのうち少なくとも一つ以上の論理ボリュームを、データを移動させるためのテンポラリボリュームとして設定するステップと、上位装置から発行されるアクセス要求に基づいて、各論理ボリュームに記憶されているデータの優先度をそれぞれ検出して管理するステップと、優先度の高いデータがより性能の高い記憶ドライブに関連するボリュームグループ内に記憶され、優先度の低いデータがより性能の低い記憶ドライブに関連するボリュームグループ内に記憶されるように、データ移動が決定されるよりも前に、テンポラリボリュームを用いて、各ボリュームグループ間でデータを移動させるステップと、をそれぞれ実行する。
【００２５】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態の記憶制御装置１は、上位装置としてのホスト８と、別の記憶制御装置としての外部記憶制御装置９とにそれぞれ接続されている。ホスト８は、例えば、メインフレームコンピュータやサーバコンピュータ等のようなコンピュータ装置として構成される。外部記憶制御装置９は、記憶制御装置１の外部に存在する別の記憶制御装置であり、論理ボリューム９Ａを備えている。
【００２７】
記憶制御装置１は、例えば、複数のディスクドライブ２Ａ，２Ｂと、複数の論理ボリューム３と、複数のボリュームグループ４と、少なくとも一つの制御部５とを備えて構成される。
【００２８】
ディスクドライブ２Ａ，２Ｂは、例えば、性能や信頼性に差のある複数種類のハードディスクドライブとして構成される。一方のディスクドライブ２Ａは、比較的高性能のハードディスクドライブとして構成され、他方のディスクドライブ２Ｂは、比較的低性能のハードディスクドライブとして構成される。なお、ディスクドライブ２Ａ，２Ｂは、必ずしもディスク型の記憶媒体を用いている必要はなく、ハードディスクドライブ以外の他の記憶デバイスを用いることもできる。例えば、半導体メモリ装置（フラッシュメモリデバイスを含む）、ホログラフィックメモリ、光ディスク装置、光磁気ディスク装置、磁気テープ装置等を用いる構成でもよい。以下、特に区別しない場合には、ディスクドライブ２Ａ，２Ｂをディスクドライブ２と呼ぶことがある。
【００２９】
論理ボリューム３は、ディスクドライブ２の有する物理的な記憶領域に設けられる論理的な記憶領域であり、論理的記憶デバイスと呼ぶこともできる。後述の実施例に示すように、一つまたは複数のディスクドライブ２が有する記憶領域を用いて、一つまたは複数の論理ボリューム３を生成することができる。本実施形態では、説明の便宜上、各論理ボリューム３のサイズは、同一であるものとする。
【００３０】
ボリュームグループ４は、各論理ボリューム３の性能（または信頼性）の別に、論理ボリューム３をグループ化している。即ち、各ボリュームグループ４は、それぞれ同一種類の複数の論理ボリューム３から構成されている。例えば、記憶制御装置１は、高性能のディスクドライブ２Ａの記憶領域上に設定される高性能な論理ボリューム３のグループ４Ａと、低性能のディスクドライブ２Ｂの記憶領域上に設定される低性能な論理ボリューム３のグループ４Ｂとを、それぞれ備えている。
【００３１】
図１中では、説明の便宜上、高性能の論理ボリューム３からなるボリュームグループ４Ａと低性能の論理ボリューム３からなるボリュームグループ４Ｂとをそれぞれ一つずつ示している。これに限らず、高性能のボリュームグループ４Ａと低性能のボリュームグループ４Ｂとをそれぞれ複数ずつ設けることもできるし、中程度の性能を有する論理ボリュームからなる中性能のボリュームグループを設けることもできる。
【００３２】
さらに、別のボリュームグループ４Ｃに含まれる論理ボリュームは、外部記憶制御装置９内の論理ボリューム９Ａに対応付けられている。即ち、ボリュームグループ４Ａ，４Ｂ内の各論理ボリューム３は、ディスクドライブ２Ａ，２Ｂの有する物理的な記憶領域上にそれぞれ設けられているのに対し、ボリュームグループ４Ｃ内の各論理ボリューム３は、記憶制御装置１の外部に位置する外部記憶制御装置９内の論理ボリューム９Ａを利用する仮想的な論理ボリュームとして構成されている。
【００３３】
換言すれば、ボリュームグループ４Ａ，４Ｂを構成する各論理ボリューム３内のデータは、記憶制御装置１内のディスクドライブ２Ａ，２Ｂにそれぞれ記憶されるのに対し、ボリュームグループ４Ｃを構成する各論理ボリューム３内のデータは、記憶制御装置１の外部に存在する外部記憶制御装置９内の論理ボリューム９Ａに記憶される。例えば、ボリュームグループ４Ｃ内の仮想的な各論理ボリューム３と外部記憶制御装置９内の各論理ボリューム９Ａとを直接的に対応付けることにより、データの記憶先を外部記憶制御装置９内の論理ボリューム９Ａ（外部ボリューム９Ａとも呼ぶ）に設定することができる。また、例えば、ボリュームグループ４Ｃ内の論理ボリューム３と外部ボリューム９Ａとの間に、中間的な記憶階層１Ａを設けることにより、外部ボリューム９Ａの構成を適宜変更して利用することもできる。例えば、一つの外部ボリューム９Ａを分割して複数の論理ボリューム３にマッピングすることもできるし、あるいは、複数の外部ボリューム９Ａの記憶領域を集めて一つまたは複数の論理ボリューム３にマッピングすることもできる。
【００３４】
コントローラとしての制御部５は、記憶制御装置１の全体動作を制御する。制御部５は、例えば、マイクロプロセッサ、キャッシュメモリ、プログラムメモリ、データ入出力制御回路等を備えるコンピュータ装置として構成される。制御部５は、例えば、マイクロプロセッサが予め記憶されているプログラムを読み込んで実行することにより、論理ボリューム３へのデータ入出力処理、ボリュームグループ４間でのデータ移動処理、バックアップ処理等をそれぞれ実現する。
【００３５】
制御部５は、アクセスポイント６Ａ，６Ｂ，６Ｃと、管理用ボリューム７Ａ，７Ｂ，７Ｃとを備えている。アクセスポイント６Ａ，６Ｂ，６Ｃ（特に区別しない場合は、アクセスポイント６と呼ぶ。）は、ホスト８からアクセス対象として認識されるポイントであり、ホスト８からアクセスされる仮想的なボリュームであると考えることもできる。具体的には、アクセスポイント６は、ポート番号やLUN（Logical Unit Number）及びアクセス対象のデータを特定するための識別情報等を対応付けることにより構成される。アクセスポイント６は、ホスト８からアクセスされる窓口であって、実際にデータを記憶する場所は論理ボリューム３である。
【００３６】
管理用ボリューム７Ａ，７Ｂ，７Ｃ（特に区別しない場合、管理用ボリューム７と呼ぶ）は、アクセスポイント６と論理ボリューム３との対応関係、及び、論理ボリューム３に記憶されているデータの優先度等を管理するための情報である。アクセスポイント６と論理ボリューム３とは、管理用ボリューム７によって結びつけられる。
【００３７】
優先度の算出方法の一例は、後述の実施例によって明らかにされる。先に簡単に説明すると、制御部５は、例えば、ホスト８が各データへアクセスした頻度、ホスト８が各データを最後に更新した時刻、ホスト８が各データに最後にアクセスした時刻（最後のリード時刻）、優先度保持時間を考慮して、各データの優先度をそれぞれ算出する。優先度保持時間とは、そのデータに設定された優先度を維持する時間である。優先度保持時間が経過するまでの間、そのデータに設定された優先度は、他のパラメータ（アクセス頻度、最終更新時刻、最終アクセス時刻）が変化した場合であっても、変更されない。優先度保持時間には、デフォルト値が用意されているが、ユーザが任意の時間を設定可能である。
【００３８】
論理ボリューム３に記憶されるデータの優先度は、管理用ボリューム７によって管理される。即ち、論理ボリューム３に記憶されるデータの優先度は、データ本体から切り離されて、管理用ボリューム７内で管理されている。従って、管理用ボリューム７内の優先度を書き換えるだけで、論理ボリューム３に記憶されているデータを変更することなく、そのデータの優先度を変更することができる。また、アクセスポイント６と論理ボリューム３との対応付けを管理用ボリューム７内で書き換えるだけで、ホスト８に意識させずに、ホスト８がアクセスする論理ボリューム３を切り替えることができる。
【００３９】
再びボリュームグループ４に着目する。各ボリュームグループ４には、それぞれ少なくとも一つ以上のテンポラリボリューム３Ｔが設けられている。即ち、各ボリュームグループ４を構成する複数の論理ボリューム３のうち、常に、少なくとも一つ以上の論理ボリューム３がテンポラリボリューム３Ｔとして使用される。即ち、ボリュームグループ４内の論理ボリューム３は、そのいずれもがテンポラリボリューム３Ｔとして使用される可能性がある。
【００４０】
テンポラリボリューム３Ｔは、各ボリュームグループ４間でデータを移動させるために使用される一時的な記憶領域である。データが移動可能な方向には、上り方向と下り方向とがある。上り方向とは、より高性能な論理ボリューム３に記憶される方向を意味し、下り方向とは、より低性能な論理ボリューム３に記憶される方向を意味する。上述のように、各ボリュームグループ４は、その性能や信頼性に応じて、最上位ランクのボリュームグループ４Ａから最下位ランクのボリュームグループ４Ｃまで、複数段階にランク分けされている。
【００４１】
ホスト８は、通常の場合、最上位ランクの論理ボリューム３を用いて、各種の業務処理を行う。業務処理としては、例えば、データベース処理、電子メール処理、顧客管理処理等を挙げることができる。ホスト８によって現在使用されているデータＤａは、ボリュームグループ４Ａ内の論理ボリューム３に記憶されている。このデータＤａの優先度は、”３”であるとする。本実施形態では、値が大きくなるほど優先度が高くなる。即ち、優先度が”３”のデータは、優先度が”２”のデータよりも価値が高い。
【００４２】
ボリュームグループ４Ａの一つ下のランクに位置するボリュームグループ４Ｂ内の論理ボリューム３には、データＤｂが記憶されている。このデータＤｂの優先度は”２”であり、ボリュームグループ４Ｂ内で最も高い優先度を有するものとする。ホスト８は、アクセスポイント６Ｂから管理用ボリューム７Ｂを介して、ボリュームグループ４Ｂ内の論理ボリューム３に記憶されているデータＤｂにアクセスすることができる。
【００４３】
制御部５は、ホスト８がデータＤｂにアクセスしていない場合、データＤｂをボリュームグループ４Ｂ内の論理ボリューム３からボリュームグループ４Ａ内のテンポラリボリューム３Ｔにコピーさせる。制御部５は、移行元の論理ボリューム３と移行先のテンポラリボリューム３Ｔとの差分を管理しながらコピーさせる。そして、制御部５は、管理用ボリューム７Ｂの情報を書き換えて、アクセスポイント６Ｂとボリュームグループ４Ａ内のテンポラリボリューム３Ｔとを接続させる。
【００４４】
ホスト８からデータＤｂへのアクセス要求は、以下のように処理される。ライト要求の場合、ライトデータは、移行先のテンポラリボリューム３Ｔに書き込まれる。テンポラリボリューム３Ｔに書き込まれたライトデータのアドレスは、差分ビットマップ等の差分管理用情報によって管理される。テンポラリボリューム３Ｔに既にコピーされているデータへのリード要求の場合、ホスト８から要求されたデータはテンポラリボリューム３Ｔから読み出される。テンポラリボリューム３Ｔに未だコピーされていないデータへのリード要求の場合、アクセスポイント６Ｂとボリュームグループ４Ｂ内の論理ボリューム３とが再度接続されて、ホスト８から要求されたデータは、ボリュームグループ４Ｂ内の論理ボリューム３から読み出される。
【００４５】
このように、下位のボリュームグループ４Ｂ内において、最も高い優先度を有するデータＤｂは、ホスト８からアクセスされていない期間を利用して、上位のボリュームグループ４Ａ内のテンポラリボリューム３Ｔに事前にコピーされる。そして、ホスト８からのアクセス要求は、より高性能のテンポラリボリューム３Ｔを用いて処理される。
【００４６】
各データの優先度に基づいてデータの再配置を行う場合、下位のボリュームグループ４Ｂ内で優先度が最も高いデータＤｂは、より上位のボリュームグループ４Ａへの移動が決定される可能性が高い。データＤｂは上位のボリュームグループ４Ａ内のテンポラリボリューム３Ｔに既にコピーされているため、制御部５は、管理用ボリューム７Ｂの情報を書き換えて、データＤｂの記憶先をボリューム３Ｔとする。記憶先が正式に変更されることにより、テンポラリボリューム３Ｔは、通常の論理ボリュームとして扱われる。
【００４７】
上位のボリュームグループ４Ａ内のデータのうち、最も低い優先度を有するデータは、一つ下のボリュームグループ４Ｂに移動される。最も低い優先度のデータを記憶していた論理ボリューム３は、データの移行が完了した後、テンポラリボリューム３Ｔとして使用される。このように、各ボリュームグループ４内で、最も低い優先度のデータを記憶する論理ボリューム３が、新たなテンポラリボリューム３Ｔとして使用される。
【００４８】
データＤｂを上位ボリュームグループ４Ａ内のテンポラリボリューム３Ｔにコピーさせた後で、データＤｂの優先度が低い値に変更される場合も考えられる。移行先ボリュームグループ４Ａのテンポラリボリューム３ＴにコピーされているデータＤｂが、移行元のボリュームグループ４Ｂ内で最も高い優先度を有さなくなった場合、データＤｂの先行配置は失敗したことになる。この場合、制御部５は、移行先のテンポラリボリューム３Ｔで管理されている差分を、移行元の論理ボリューム３に反映させる。移行先のボリュームグループ４Ａ内のテンポラリボリューム３Ｔは、そのままテンポラリボリュームとして使用され、別のデータの移行先ボリュームとして使用される。
【００４９】
別の観点では、テンポラリボリューム３Ｔを用いて、上位から下位へデータを移動させることもできる。例えば、優先度が”１”のデータＤｃに着目すると、ホスト８がデータＤｃにアクセスしていない場合に、データＤｃを下位ボリュームグループ４Ｃ内のテンポラリボリューム３Ｔに予めコピーさせることができる。制御部５は、移行元の論理ボリューム３と移行先のテンポラリボリューム３Ｔとの差分を管理しながら、データＤｃ論理ボリューム３からテンポラリボリューム３Ｔにコピーする。
【００５０】
ホスト８がデータＤｃへのライト要求を発行した場合、制御部５は、ライトデータを移行元の論理ボリューム３に書き込み、ライトデータのアドレスを差分ビットマップ等で管理する。ホスト８からデータＤｃへのリード要求が発行された場合、制御部５は、移行元の論理ボリューム３からデータを読み出して、ホスト８に送信する。
【００５１】
各データの優先度に基づくデータの再配置を行う場合、ボリュームグループ４Ｂ内で最も優先度の低いデータＤｃは、より下位のボリュームグループ４Ｃへの移動が決定される可能性が高い。既に、データＤｃは、下位ボリュームグループ４Ｃ内のテンポラリボリューム３Ｔにコピーされているため、制御部５は、コピー開始時からデータ再配置の実行時までの差分をテンポラリボリューム３Ｔに反映させるだけで、データＤｃの移動を完了させることができる。データＤｃの移動が完了した後、制御部５は、管理用ボリューム７Ｃの情報を書き換えて、アクセスポイント６Ｃとボリュームグループ４Ｃ内のテンポラリボリューム３Ｔとを接続させる。テンポラリボリューム３Ｔは、データＤｃの記憶先ボリュームとして使用される。最下位のボリュームグループ４Ｃ内で最も高い優先度を有するデータは、一つ上位のボリュームグループ４Ｂ内に移されるため、このデータを記憶していた論理ボリューム３が、新たなテンポラリボリューム３Ｔとして使用される。
【００５２】
図１では、紙面の都合上、各ボリュームグループ４内で、それぞれ一つずつのテンポラリボリューム３Ｔを示している。しかし、上述のように、下位から上位への上り方向の移動に使用するための上り用テンポラリボリュームと、上位から下位への下り方向の移動に使用するための下り用テンポラリボリュームとの複数のテンポラリボリュームを、各ボリュームグループ４内にそれぞれ設ける構成でもよい。なお、最上位のボリュームグループ４Ａには、上り用のテンポラリボリュームを設ける必要はないため、テンポラリボリュームを一つだけ設ければよい。
【００５３】
ボリュームグループ４Ｃに着目する。ボリューム４Ｃ内の各論理ボリューム３は、外部記憶制御装置９内の各論理ボリューム９Ａに対応付けられている。そして、ボリューム４Ｃ内の全ての論理ボリューム３がオフライン状態に設定された場合、制御部５は、外部記憶制御装置９への電源供給を停止可能である旨をユーザに通知することができる。あるいは、外部記憶制御装置９に電源を供給する電源装置を制御部５が制御可能な場合、制御部５は、外部記憶制御装置９への電源供給を自動的に停止させることもできる。
【００５４】
上述の通り、本実施形態では、ボリュームグループ４Ｃは、外部ボリューム９Ａから構成されるため、オンライン状態にするボリューム３の数を設定可能となっている。オンライン状態のボリュームとは、ホスト８からのアクセス要求を直ちに処理可能な状態に置かれているボリュームを意味する。
【００５５】
オンライン状態の論理ボリューム３には、キャッシュメモリ等のアクセス処理に必要な資源が割り当てられる。これに対し、オフライン状態の論理ボリューム３には、キャッシュメモリ等のアクセス処理に必要な資源は割り当てられていない。従って、ホスト８からアクセスされていない論理ボリューム３に無駄に資源が割り当てられるのを防止して、記憶制御装置１の運用コストを低減することができる。ボリュームグループ４Ｃ内でオンライン状態にする論理ボリューム３の数は、予め設定されている。オンライン状態にできるボリューム数を超えた論理ボリューム３が存在する場合、そのボリュームグループ４Ｃ内で優先度の低いデータを記憶する論理ボリューム３が、オフライン状態にされる。
【００５６】
このように構成される本実施形態によれば、各ボリュームグループ４内にそれぞれ少なくとも一つ以上のテンポラリボリューム３Ｔを予め設けておき、テンポラリボリューム３Ｔを用いて各ボリュームグループ４間でデータを移動させる。従って、データの移動時になってから移行先のボリュームを生成する場合に比べて、データ移動に要する時間を短縮して使い勝手を高めることができる。
【００５７】
本実施形態では、データの移動が決定されるよりも前に、移動対象のデータをテンポラリボリューム３Ｔに予めコピーしておく。従って、データの移動が決定された場合は、アクセスポイント６と論理ボリューム３との対応関係を設定したり、差分を反映させるだけで、直ちにデータを移動させることができ、データ移動の時間を短縮して使い勝手を高めることができる。
【００５８】
本実施形態では、各データの価値を優先度に基づいて判断し、各データの優先度に応じてデータの記憶先を自動的に変更する。従って、データの価値に応じて、適切な論理ボリューム３にデータを記憶させることができ、ディスクドライブ２を有効に利用することができる。即ち、高性能なディスクドライブ２Ａに基づいて構成される高性能な論理ボリューム３が、価値の低いデータによって占拠されるのを防止し、ユーザにとって利用価値の高いデータを高性能な論理ボリューム３に格納しておくことができる。以下、本実施形態をより詳細に説明する。
【実施例１】
【００５９】
図２は、本実施例による記憶制御装置の要部の構成を示すブロック図である。ホスト１０は、例えば、CPU（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、サーバコンピュータ、メインフレームコンピュータ等として構成される。
【００６０】
ホスト１０は、通信ネットワークCN１を介して、記憶制御装置１００にアクセスするための通信制御部と、例えば、データベースソフトウェア等のアプリケーションプログラムと、を備えている。
【００６１】
通信ネットワークCN１としては、例えば、LAN（Local Area Network）、SAN（Storage Area Network）、インターネット、専用回線、公衆回線等を、場合に応じて適宜用いることができる。LANを介するデータ通信は、例えば、TCP/IPプロトコルに従って行われる。ホスト１０がLANを介して記憶制御装置１００に接続される場合、ホスト１０は、ファイル名を指定してファイル単位でのデータ入出力を要求する。ホスト１０がSANを介して記憶制御装置１００に接続される場合、ホスト１０は、ファイバチャネルプロトコルに従って、ブロック単位でデータ入出力を要求する。
【００６２】
管理端末２０は、記憶制御装置１００の構成等を管理するためのコンピュータ装置であり、例えば、システム管理者等のユーザにより操作される。管理端末２０は、通信ネットワークCN２を介して、記憶制御装置１００に接続されている。ユーザは、管理端末２０を介して、各データの優先度保持時間を設定することができる。
【００６３】
記憶制御装置１００は、例えば、多数のディスクドライブ１２１を備えるディスクアレイシステムとして構成することができる。記憶制御装置１００は、固有の記憶資源（ディスクドライブ１２１）を備えるほかに、外部記憶制御装置２００の備える記憶資源（ディスクドライブ２２１）を利用することもできる。後述のように、記憶制御装置１００は、外部記憶制御装置２００の有する記憶資源を自己の論理ボリューム（Logical Unit）としてホスト１０に提供するようになっている。
【００６４】
記憶制御装置１００は、コントローラ１１０と記憶部１２０とに大別される。コントローラ１１０は、例えば、複数のチャネルアダプタ（以下、「CHA」）１１１と、複数のディスクアダプタ（以下、「DKA」）１１２と、キャッシュメモリ１１３と、共有メモリ１１４と、接続制御部１１５及びサービスプロセッサ（以下、「SVP」）１１６とを備えて構成される。
【００６５】
各CHA１１１は、ホスト１０との間のデータ通信を行うものである。各CHA１１１は、ホスト１０と通信を行うための通信ポート１１１Ｐを少なくとも一つ以上備えている。各CHA１１１は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト１０から受信した各種コマンドを解釈して実行する。各CHA１１１には、それぞれを識別するためのネットワークアドレス（例えば、IPアドレスやWWN）が割り当てられており、各CHA１１１は、それぞれが個別にNAS（Network Attached Storage）として振る舞うことも可能である。複数のホスト１０が存在する場合、各CHA１１１は、各ホスト１０からの要求をそれぞれ個別に受け付けて処理する。
【００６６】
各DKA１１２は、記憶部１２０が有するディスクドライブ１２１との間でデータ授受を行うものである。各DKA１１２は、CHA１１１と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA１１２は、SAN等の通信ネットワークCN３を介して、各ディスクドライブ１２１にそれぞれ接続されている。
【００６７】
各DKA１１２は、例えば、CHA１１１がホスト１０から受信したデータや外部記憶制御装置２００から読み出されたデータを、所定のディスクドライブ１２１の所定のアドレスに書込む。また、各DKA１１２は、所定のディスクドライブ１２１の所定のアドレスからデータを読み出し、ホスト１０または外部記憶制御装置２００に送信させる。
【００６８】
ディスクドライブ１２１との間でデータ入出力を行う場合、各DKA１１２は、論理的なアドレスを物理的なアドレスに変換する。論理的なアドレスとは、論理ボリューム１２３のブロック位置を示すアドレスであり、LBA（Logical Block Address）と呼ばれる。各DKA１１２は、ディスクドライブ１２１がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、各DKA１１２は、同一のデータを別々のディスクドライブ群（RAIDグループ１２２）にそれぞれ書き込んだり、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に書き込む。
【００６９】
キャッシュメモリ１１３は、ホスト１０または外部記憶制御装置２００から受信したデータを記憶したり、あるいは、ディスクドライブ１２１から読み出されたデータを記憶するものである。共有メモリ（制御メモリと呼ばれる場合がある）１１４には、記憶制御装置１００の作動に使用するための各種の管理情報や制御情報等が格納される。
【００７０】
なお、ディスクドライブ１２１のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ１１３と共有メモリ１１４とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【００７１】
接続制御部１１５は、各CHA１１１，各DKA１１２，キャッシュメモリ１１３及び共有メモリ１１４を相互に接続させるものである。接続制御部１１５は、例えば、高速スイッチング動作によってデータ伝送を行うクロスバスイッチ等のように構成できる。
【００７２】
SVP１１６は、例えば、LANのような通信ネットワークCN４を介して、各CHA１１１とそれぞれ接続されている。SVP１１６は、CHA１１１を介して、各DKA１１２やキャッシュメモリ１１３，共有メモリ１１４の情報にアクセスすることができる。SVP１１６は、記憶制御装置１００内の各種状態に関する情報を収集して、管理端末２０に提供する。ユーザは、管理端末２０の画面を介して、記憶制御装置１００の各種状態を知ることができる。また、ユーザは、管理端末２０からSVP１１６を介して、例えば、ホスト１０と論理ボリューム１２３とのアクセス経路の設定や、優先度保持時間の設定等を行うことができる。SVP１１６は、ユーザにより入力された情報を管理情報等に反映させる。
【００７３】
記憶部１２０は、複数のディスクドライブ１２１を備えている。ディスクドライブ１２１としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC（Fibre Channel）ディスクやSATA（Serial AT Attachment）ディスク、ATAディスク等のような、異種類のディスクを記憶部１２０内に混在させることもできる。
【００７４】
複数のディスクドライブ１２１によって一つのRAIDグループ（パリティグループとも呼ばれる）１２２が形成される。RAIDグループ１２２の物理的な記憶領域には、所定サイズまたは任意サイズの論理ボリューム１２３を一つまたは複数設けることができる。なお、単一のディスクドライブ１２１の記憶領域に一つまたは複数の論理ボリューム１２３を設けることもできる。本実施例では、説明の便宜上、各論理ボリューム１２３のサイズは同一である場合を例に挙げて説明する。
【００７５】
なお、記憶制御装置１００は、外部記憶制御装置２００の有するディスクドライブ２２１に基づく仮想的な内部ボリュームを備えている。この仮想的内部ボリュームは、記憶制御装置１００内のディスクドライブ１２１に基づいて生成される内部ボリューム１２３と同様にホスト１０に提供される。
【００７６】
外部記憶制御装置２００は、記憶制御装置１００の外部に存在する別の記憶制御装置であるため、本実施例では、外部記憶制御装置と呼ぶ。記憶制御装置１００を第１記憶制御装置と呼ぶのであれば、外部記憶制御装置２００は第２記憶制御装置と呼ばれる。記憶制御装置１００と外部記憶制御装置２００とは、SAN等の通信ネットワークCN５を介して、接続されている。従って、記憶制御装置１００を接続元記憶制御装置と呼ぶのであれば、外部記憶制御装置２００は接続先記憶制御装置と呼ばれる。図２では、外部記憶制御装置２００を一つだけ示しているが、図３等に示すように複数の外部記憶制御装置２００を記憶制御装置１００に接続することができる。
【００７７】
記憶制御装置１００，２００間を接続する通信ネットワークCN５は、ホスト１０と記憶制御装置１００とを接続するデータ入出力用の通信ネットワークCN１とは別の通信ネットワークとして構成することができる。これにより、ホスト１０と記憶制御装置１００との間の通信に影響を与えることなく、記憶制御装置１００，２００間でデータやコマンドを送受することができる。これに代えて、通信ネットワークCN１と通信ネットワークCN３とを共通の通信ネットワークとして構成してもよい。
【００７８】
外部記憶制御装置２００は、例えば、コントローラ２１０と、複数のディスクドライブ２２１とを備えている。コントローラ２１０は、通信ポート及び通信ネットワークCN５を介して、記憶制御装置１００に接続されている。記憶制御装置１００で述べたと同様に、複数のディスクドライブ２２１からRAIDグループ２２２が構成され、RAIDグループ２２２には論理ボリューム２２３が設けられている。
【００７９】
外部記憶制御装置２００は、記憶制御装置１００とほぼ同様の構成を備えることもできるし、記憶制御装置１００よりも簡易な構成を備えることもできる。外部記憶制御装置２００のディスクドライブ２２１は、記憶制御装置１００の内部記憶デバイスとして利用される。
【００８０】
図３は、記憶制御装置１００により管理される論理ボリューム１２３の構成を模式的に示す説明図である。記憶部１２０の有する複数のディスクドライブ１２１は、性能や信頼性の異なる複数種類のディスクドライブ１２１Ａ，１２１Ｂ，１２１Ｃにそれぞれ分類される。例えば、第１種類のディスクドライブ１２１Ａは、FCディスクのような高性能かつ高信頼性のディスクドライブである。第２種類のディスクドライブ１２１Ｂは、例えば、SAS（Serial Attached SCSI）ディスクのような比較的高性能かつ高信頼性のディスクドライブである。第３種類のディスクドライブ１２１Ｃは、例えば、SATAディスクのような比較的低性能かつ低信頼性のディスクドライブである。なお、以上は例示であって、本発明は、上述した種類のディスクドライブに限定されない。
【００８１】
このように性能や信頼性が同じものを集めることにより、ボリュームグループ１３０Ａ，１３０Ｂ，１３０Ｃが形成される。特に区別しない場合は、ボリュームグループ１３０と呼ぶ。最上位ランクのボリュームグループ１３０Ａは、高性能のディスクドライブ１２１Ａに基づいて生成された高性能の論理ボリューム１２３のグループである。最上位ランクよりも一つ下のランクのボリュームグループ１３０Ｂは、中性能のディスクドライブ１２１Ｂに基づいて生成された中性能の論理ボリューム１２３のグループである。さらに一つ下のランクのボリュームグループ１３０Ｃは、低性能のディスクドライブ１２１Ｃに基づいて生成された低性能の論理ボリューム１２３のグループである。
【００８２】
最下位ランクのボリュームグループ１３０Ｄは、外部記憶制御装置２００内の論理ボリューム２２３に対応付けられている論理ボリューム１２３のグループである。記憶制御装置１００内の論理ボリューム１２３を内部ボリュームと呼ぶ場合、外部記憶制御装置２００内の論理ボリューム２２３は外部ボリュームと呼ぶことができる。本実施例では、最下位ランクのボリュームグループ１３０Ｄは、外部ボリューム２２３の集合体として構成されている。
【００８３】
後述のように、本実施例では、各データの価値を優先度という独自の指標で計測し、管理する。そして、各データの記憶場所を優先度に応じて決定する。優先度の高いデータほど、より上位のボリュームグループ１３０に移動される。優先度の低いデータほど、より下位のボリュームグループ１３０に移動される。ボリュームグループ間でのデータの移動には、各ボリュームグループ１３０にそれぞれ少なくとも一つ以上設けられているテンポラリボリュームが使用される。
【００８４】
なお、性能が高い、性能が低いというのは、本発明の理解のために使用される相対的な表現であって、低性能のディスクドライブ１２１Ｃを用いた場合でも、記憶制御装置１００の信頼性は損なわれない。
【００８５】
図４は、記憶制御装置１００内に形成される複数の階層の構成を模式的に示す説明図である。記憶制御装置１００には、ホスト１０に近い側から順番に、Ａ層１４１Ａ、Ｂ層１４１Ｂ、Ｃ層１４１Ｃ、Ｄ層１４１Ｄ及びＥ層１４１Ｅが設けられる。
【００８６】
最もホスト１０に近いＡ層１４１Ａは、ホスト１０から論理ボリューム１２３へのアクセス経路を管理するアクセス経路管理層である。Ａ層１４１Ａは、ポート１１１Ｐやアクセスポイント１５１等を管理する。なお、記憶制御装置１００の内部で一方のボリュームから他方のボリュームへコピーさせるという筐体内ボリュームコピーも、ホスト１０からアクセスされる複数のアクセスポイント１５１でコピーペアを形成することにより実行されるため、Ａ層１４１Ａで管理される。
【００８７】
Ｂ層１４１Ｂは、Ａ層１４１Ａの下に位置して設けられる。Ｂ層１４１Ｂは、Ａ層１４１ＡとＣ層１４１Ｃとの対応関係を管理するためのマッピング層である。Ｂ層１４１Ｂは、アクセスポイント１５１と管理用ボリューム１５２との対応関係を管理する。Ｂ層１４１Ｂによって、どのアクセスポイント１５１がどの論理ボリューム１２３にアクセスさせるかを管理できる。即ち、ホスト１０がアクセスするアクセスポイント１５１を変更することなく、実際のアクセス先ボリューム１２３を切り替えることができる。また、Ｂ層１４１Ｂでは、アクセス属性を設定することもできる。
【００８８】
Ｃ層１４１Ｃは、Ｂ層１４１Ｂの下に位置して設けられる。Ｃ層１４１Ｃは、Ｂ層１４１Ｂ及び後述のＤ層１４１Ｄと共に「中間管理層」を形成する。Ｃ層１４１Ｃは、論理ボリューム１２３に記憶されるデータの価値を、優先度として管理する。優先度は、データの記憶される論理ボリューム１２３から切り離されて管理される。
【００８９】
Ｄ層１４１Ｄは、Ｃ層１４１Ｃの下に位置して設けられる。Ｄ層１４１Ｄは、Ｃ層１４１ＣとＥ層１４１Ｅとの対応関係を管理するための第２のマッピング層である。Ｄ層１４１Ｄは、論理ボリューム１２３をどの管理用ボリューム１５２で管理させるかを制御するためのものである。
【００９０】
Ｅ層１４１Ｅは、各論理ボリューム１２３を性能や信頼性に応じてボリュームグループ１３０に分類し、管理するためのボリューム管理層である。
【００９１】
図５は、優先度の算出方法等を示す説明図である。優先度を算出するパラメータとしては、例えば、アクセス頻度、最終更新時刻（及び最終アクセス時刻）、優先度保持時間が使用される。ユーザは、データマイグレーションポリシーに従って、任意の時間を優先度保持時間として設定することができる。最終更新時刻、最終アクセス時刻、アクセス頻度は、ホスト１０から発行されるアクセス要求を解析することにより得られる。
【００９２】
優先度は、例えば、以下の式で算出される。優先度＝−α×｛（現在時刻）−（最終更新時刻）｝＋β（アクセス頻度）−γ｛｛（現在時刻）−（最終アクセス時刻）｝／優先度保持時間｝・・・（式１）
【００９３】
この式１中の各係数α、β、γには、それぞれ初期値が用意されているが、ユーザは、各係数の値を適宜調整することもできる。γ｛｛（現在時刻）−（最終アクセス時刻）｝／優先度保持時間｝の演算結果は、小数点以下を切り捨てる。
【００９４】
式１によれば、最終更新時刻が最近であればあるほど優先度は高くなる。式１によれば、アクセス頻度が多ければ多いほど優先度は高くなる。式１によれば、最後にアクセスされた時刻から優先度保持時間が経過する毎に、優先度が段階的に低下する。従って、図５の下側に示すように、データの優先度は、時間の経過につれて段階的に低下してく。但し、図５に示すグラフは、発明の理解のために、優先度が変化する一例を模式的に表すもので、全てのデータの優先度が図５に示すように変化するわけではない。
【００９５】
図６は、Ａ層１４１Ａ，Ｂ層１４１Ｂ及びＣ層１４１Ｃで管理される情報をそれぞれ示す説明図である。ホストアクセスポイント情報Ｔ１は、Ａ層１４１Ａ及びＢ層１４１Ｂによって管理される。
【００９６】
ホストアクセスポイント情報Ｔ１は、ホスト１０がデータにアクセスするためのアクセス経路等を定義する情報である。ホストアクセスポイント情報Ｔ１は、例えば、ポートＩＤ_Ｉ１１、ホストグループ情報Ｉ１２、LUN_Ｉ１３、アクセス属性Ｉ１４、データＩＤ_Ｉ１５の管理項目を備えている。なお、以上は、いわゆるホスト１０がオープン系ホストの場合である。メインフレーム系のホストの場合、ポートＩＤはＣＵ（Command Unit）番号に、ホストグループ情報はSSID（Subsystem ID）に、LUNはLDEV番号に、それぞれ変更される。
【００９７】
アクセス属性Ｉ１４には、例えば、リード及びライトの両方が可能、リードのみ可能、リード及びライトの両方が禁止、空き容量０、コピー先としての設定禁止、隠蔽等の値を設定できる。空き容量０とは、ホスト１０からの容量問合せコマンドに対して、実際の空き容量の値とは無関係に、空き容量が全く無い旨の応答を返す属性である。隠蔽とは、ホスト１０からの問合せコマンドに対して応答を返さずに隠れる属性である。
【００９８】
データＩＤとは、記憶制御装置１００により管理されている各データを一意に特定するための識別情報である。ポートＩＤ（ＣＵ番号）、ホストグループ情報（LDEV番号）及びLUN（SSID）は、Ａ層１４１Ａで管理される。アクセス属性及びデータＩＤは、Ｂ層１４１Ｂで管理される。
【００９９】
図６の下側には、Ｃ層１４１Ｃで管理されるデータ管理情報Ｔ２Ａ及びTMPデータ管理Ｔ２Ｂがそれぞれ示されている。データ管理情報Ｔ２Ａは、各論理ボリューム１２３に記憶されているデータを管理するための情報である。TMPデータ管理情報Ｔ２Ｂは、各ボリュームグループ１３０内に少なくとも一つずつ以上設けられるテンポラリボリュームに記憶されているデータを管理するための情報である。
【０１００】
データ管理情報Ｔ２Ａには、例えば、データＩＤ_１２１Ａと、ニックネームＩ２２Ａと、優先度Ｉ２３Ａと、最終更新時刻Ｉ２４Ａと、アクセス頻度Ｉ２５Ａと、優先度保持時間Ｉ２６Ａとの管理項目が含まれている。なお、ここでは、最終更新時刻Ｉ２４Ａ内で、最終アクセス時刻も管理されているものとする。ニックネームとは、データを簡便に特定するための情報である。
【０１０１】
TMPデータ管理情報Ｔ２Ｂは、例えば、データＩＤ_Ｉ２１Ｂと、差分ビットマップＩ２２Ｂとを管理する。差分ビットマップＩ２２Ｂは、テンポラリボリュームに先行してコピーされたデータとコピー元（移行元）のデータとの差分を管理するための差分管理情報である。
【０１０２】
図７には、Ｄ層１４１Ｄで管理される情報等が示されている。データ−ボリューム対応情報Ｔ３は、Ｄ層１４１Ｄによって管理される。データ−ボリューム対応情報Ｔ３は、データと論理ボリューム１２３との対応関係を示す情報である。この情報Ｔ３は、例えば、データ管理情報Ｉ３１と、内部ボリューム情報Ｉ３２と、オンラインまたはオフラインの区別を示す情報Ｉ３３との管理項目を備えている。
【０１０３】
データ管理情報Ｉ３１には、図６中に示すデータ管理情報Ｔ２ＡまたはTMPデータ管理情報Ｔ２Ｂのいずれかがセットされる。内部ボリューム情報Ｉ３２には、図８で後述する内部ボリューム情報Ｔ６Ａまたは外部ボリューム情報Ｔ６Ｂのいずれかがセットされる。項目Ｉ３３には、論理ボリューム１２３がオンライン状態であるかオフライン状態であるかを示す情報がセットされる。
【０１０４】
ボリュームグループ情報Ｔ４は、各ボリュームグループ１３０を管理するための情報である。ボリュームグループ情報Ｔ４は、例えば、ボリュームグループＩＤ_Ｉ４１と、ニックネームＩ４２と、性能値Ｉ４３と、TMPボリューム数Ｉ４４と、複数のデータ−ボリューム対応情報Ｉ４５〜Ｉ４７とを備えている。
【０１０５】
ボリュームグループＩＤ_Ｉ４１とは、ボリュームグループ１３０を一意に特定するための情報である。ニックネームＩ４２とは、ボリュームグループ１３０を簡便に特定するための情報である。性能値Ｉ４３とは、ボリュームグループ１３０の性能に関する値を示す情報である。性能に関する情報としては、例えば、ディスクドライブ１２１の種別、アクセス速度等を挙げることができる。TMPボリューム数Ｉ４４とは、ボリュームグループ１３０内に設けられるテンポラリボリュームの数を示す情報である。データ−ボリューム対応情報Ｉ４５〜Ｉ４７とは、図７の上側に示すデータ−ボリューム対応情報Ｔ３を特定するための情報である。
【０１０６】
データグループ情報Ｔ５は、バックアップ処理に使用するための管理情報である。データグループ情報Ｔ５は、例えば、データグループＩＤ_Ｉ５１と、ニックネームＩ５２と、バックアップスケジュールＩ５３と、正ボリュームＩ５４と、少なくとも一つ以上のボリュームグループＩＤ_Ｉ５５〜Ｉ５７とを管理する。
【０１０７】
データグループＩＤ_Ｉ５１とは、正ボリュームと副ボリュームとからコピーペアを形成するデータグループを特定するための情報である。ニックネームとは、データグループを簡便に特定するための情報である。バックアップスケジュールＩ５３とは、正ボリュームのデータをバックアップするためのスケジュールを示す情報である。正ボリュームＩ５４とは、正ボリュームを特定するための情報である。ボリュームグループＩＤ_Ｉ５５〜Ｉ５７は、ボリュームグループ情報Ｔ４を特定するための情報である。このようなデータグループ情報Ｔ５を用いることにより、どの正ボリュームのデータを、どのタイミングで、どのボリュームグループ１３０内の論理ボリューム１２３にバックアップさせるかを管理することができる。
【０１０８】
図８は、Ｅ層１４１Ｅで管理される内部ボリューム情報Ｔ６Ａ及び外部ボリューム情報Ｔ６Ｂを示す説明図である。内部ボリューム情報Ｔ６Ａは、記憶制御装置１００の内部に存在する論理ボリューム１２３を管理するための情報である。外部ボリューム情報Ｔ６Ｂは、外部記憶制御装置２００内に存在する論理ボリューム２２３を管理するための情報である。
【０１０９】
内部ボリューム情報Ｔ６Ａは、例えば、ボリュームＩＤ_Ｉ６１Ａと、物理ドライブ情報Ｉ６２Ａとを備えている。物理ドライブ情報Ｉ６２Ａは、ボリュームＩＤ_Ｉ６１Ａで特定された論理ボリューム１２３が設けられているRAIDグループ１２２やディスクドライブ１２１に関する情報を記憶している。例えば、論理ボリューム１２３が設けられているディスクドライブ１２１を特定するための情報（ドライブ番号）、ディスクドライブ１２１の種別、RAIDグループ１２２のRAIDレベル、容量等を挙げることができる。
【０１１０】
外部ボリューム情報Ｔ６Ｂは、例えば、ボリュームＩＤ_Ｉ６１Ｂと、外部論理デバイス情報Ｉ６２Ｂとを備えている。外部論理デバイス情報Ｉ６２Ｂは、外部記憶制御装置２００内の論理ボリューム２２３を特定するための情報を記憶している。例えば、外部記憶制御装置２００を提供しているベンダの名称、外部記憶制御装置２００の製品名称、外部記憶制御装置２００の製造番号、論理ボリューム２２３にアクセスするための識別情報（例えば、ポート番号、LUN、ボリューム番号）等を挙げることができる。
【０１１１】
図９〜図１１に基づいて、優先度に基づいてデータを各ボリュームグループ１３０間で移動させる方法を説明する。優先度の決定方法、データマイグレーションの方法、データマイグレーション前にデータを先行してコピーさせる方法の詳細は、それぞれ別図と共に後述する。
【０１１２】
図９は、データマイグレーションが開始されるよりも前に、優先度の高いデータをより上位のボリュームグループ１３０に移動させる様子を示す説明図である。このデータマイグレーション実行前に、優先度の高いデータを上位ボリュームグループ内のテンポラリボリュームにコピーさせる処理を、先行配置処理と呼ぶことにする。以下の説明では、上位のボリュームグループとしてボリュームグループ１３０Ａを、下位のボリュームグループとしてボリュームグループ１３０Ｂをそれぞれ例に挙げて説明する。
【０１１３】
図９（ａ）は、先行配置処理を開始する前の状態を示す。上位ボリュームグループ１３０Ａの論理ボリューム１２３（Ａ１）には、優先度”３”を有するデータＡが記憶されている。ボリューム１２３（Ａ２）は、テンポラリボリュームに設定されている。下位ボリュームグループ１３０Ｂの論理ボリューム１２３（Ｂ１）には、優先度”２”のデータＢが、論理ボリューム１２３（Ｂ２）には、優先度”１”のデータＣが、それぞれ記憶されている。ボリューム１２３（Ｂ３）は、テンポラリボリュームに設定されている。
【０１１４】
下位ボリュームグループ１３０Ｂに着目すると、データＢには、ホスト１０からのアクセスが頻繁に行われており、その優先度は”２”に設定されている。従って、データＢの優先度は、下位ボリューム１３０Ｂ内に記憶されている他のデータの優先度”１”よりも大きく、下位ボリュームグループ１３０Ｂ内に記憶されてるデータの中で最も高い優先度を有する。従って、データＢは、次回のデータマイグレーション処理時に、より上位のボリュームグループ１３０Ａに移される可能性が高い。
【０１１５】
図９（ｂ）に示すように、コントローラ１１０は、ホスト１０がデータＢにアクセスしていない時間を見計らって、下位ボリュームグループ１３０Ｂ内で最も高い優先度を有するデータＢを、上位ボリュームグループ１３０Ａ内のテンポラリボリューム１２３（Ａ２）にコピーさせる。即ち、先行配置処理では、下位ボリュームグループ１３０Ｂ内で最も高い優先度のデータＢを記憶する論理ボリューム１２３（Ｂ１）をコピー元とし、上位ボリュームグループ１３０Ａ内のテンポラリボリューム１２３（Ａ２）をコピー先とするコピーペアが設定される。
【０１１６】
図９（ｃ）に示すように、下位の論理ボリューム１２３（Ｂ１）から上位のテンポラリボリューム１２３（Ａ２）へのデータコピーは、差分を管理しながら行われる。差分管理には、例えば、差分ビットマップ１６０が使用される。
【０１１７】
ホスト１０からデータＢへのアクセス要求が発行された場合、コントローラ１１０は、基本的に、上位のテンポラリボリューム１２３（Ａ２）に記憶されたデータＢを用いてアクセス要求を処理する。
【０１１８】
即ち、ホスト１０から受信したライトデータは、テンポラリボリューム１２３（Ａ２）内に書き込まれる。ライトデータの更新によって生じた差分は、差分ビットマップ１６０に記録される。ホスト１０から読出しを要求されたデータは、テンポラリボリューム１２３（Ａ２）から読み出される。コピー元の論理ボリューム１２３（Ｂ１）にのみ存在するデータの読出しが要求された場合、コントローラ１１０は、論理ボリューム１２３（Ｂ１）からデータを読み出してホスト１０に送信する。
【０１１９】
なお、下位のボリュームグループ１３０Ｂ内のテンポラリボリューム１２３（Ｂ３）には、さらに下位のボリュームグループ内で最も高い優先度を有するデータが、事前にコピーされている。
【０１２０】
このように、下位ボリュームグループ１３０Ｂ内で最も優先度の高いデータＢを、事前に上位ボリュームグループ１３０Ａ内のテンポラリボリューム１２３（Ａ２）にコピーしておき、テンポラリボリューム１２３（Ａ２）を用いてホスト１０からのアクセス要求を処理する。上位のテンポラリボリューム１２３（Ａ２）は、より高性能のディスクドライブ１２１に基づいて形成されているため、アクセス要求を速やかに処理することができ、記憶制御装置１００の応答性能を高めることができる。
【０１２１】
図１０は、データＢの先行配置が失敗した場合の処理を示す説明図である。各データＡ〜Ｃの優先度は、定期的にまたは不定期に算出され、更新される。図１０（ａ）は、データＢの先行配置が完了した時点の様子を示す。この時点では、データＢの最新の記憶内容は、上位のテンポラリボリューム１２３（Ａ２）に保存されており、先行配置を開始した時の記憶内容は下位の論理ボリューム１２３（Ｂ１）に記憶されている。そして、ボリューム１２３（Ａ２）とボリューム１２３（Ｂ１）との差分は、差分ビットマップ１６０により管理されている。
【０１２２】
従って、先行配置の完了後には、データＢは、異なる種類のボリューム１２３（Ａ２）及びボリューム１２３（Ｂ１）の両方にそれぞれ記憶されている。従って、ボリューム１２３（Ａ２）またはボリューム１２３（Ｂ１）のいずれか一方に障害が発生した場合でも、他方のボリュームを用いて最新のデータＢを得ることができる。
【０１２３】
データの優先度は、ホスト１０からのアクセス状況に応じて時々刻々と変化する。従って、図１０（ｂ）に示すように、上位のテンポラリボリューム１２３（Ａ２）にコピーされたデータＢの優先度が、その後に”２”から”１”へ低下する事態も考えられる。図１０（ｂ）では、データＢの優先度が一つ低下する一方、データＣの優先度は”１”から”２”へ一つ増大している。
【０１２４】
そこで、図１０（ｃ）に示すように、コントローラ１１０は、差分ビットマップ１６０及び上位のテンポラリボリューム１２３（Ａ２）内のデータＢを用いて、下位の論理ボリューム１２３（Ｂ１）内のデータＢを最新状態にする。このようにして、データＢをテンポラリボリューム１２３（Ａ２）から論理ボリューム１２３（Ｂ１）に書き戻した後、コントローラ１１０は、最も高い優先度を有するデータＣを、論理ボリューム１２３（Ｂ２）からテンポラリボリューム１２３（Ａ２）にコピーさせる。
【０１２５】
最後に、コントローラ１１０は、データＢの先行配置処理で述べたと同様に、ホスト１０からのアクセス要求を、テンポラリボリューム１２３（Ａ２）に記憶されたデータＣを用いて処理する（図１０（ｄ））。
【０１２６】
図１１は、各データの優先度に応じて、各データをそれぞれ適切な性能を有する論理ボリューム１２３に再配置させるデータマイグレーション処理を示す説明図である。図１１（ａ）は、データマイグレーション処理が開始される前の状態を示す。下位ボリュームグループ１３０Ｂ内で最も高い優先度を有するデータＤｃは、上述した先行配置処理によって、上位ボリュームグループ１３０Ａ内のテンポラリボリューム１２３（Ａ２）に予め記憶されている。ボリューム１２３（Ａ２）とボリューム１２３（Ｂ２）との差分は、差分ビットマップ１６０によって管理される。ホスト１０からのアクセス要求は、上位のテンポラリボリューム１２３（Ａ２）内のデータＤｃを用いて処理される。
【０１２７】
しかし、図１１（ａ）に示す時点では、データＤｃの正式な格納先（記憶先デバイス）は、コピー元のボリューム１２３（Ｂ２）である。上位のテンポラリボリューム１２３（Ａ２）は、データＤｃの一時的な格納先として使用されているに過ぎない。
【０１２８】
図１１（ｂ）は、データマイグレーション処理が実行された結果を示す。ここでは、各データＤａ，Ｄｂ，Ｄｃの優先度が改めて算出され、その結果として、データＤａの優先度が”３”から”２”へ低下したとする。
【０１２９】
データＤｃの優先度は”３”のまま変化しておらず、高い優先度を有している。従って、データＤｃは、下位ボリュームグループ１３０Ｂから上位ボリュームグループ１３０Ａへの移行が決定される。上述の先行配置処理によって、データＤｃは、上位ボリュームグループ１３０Ａ内のテンポラリボリューム１２３（Ａ２）に事前にコピーされており、かつ、コントローラ１１０は、テンポラリボリューム１２３（Ａ２）にコピーされたデータＤｃを用いてホスト１０からのアクセス要求を処理している。
【０１３０】
従って、テンポラリボリューム１２３（Ａ２）に事前にコピーされたデータＤｃは、最新状態を保っている。そこで、コントローラ１１０は、Ｃ層１４１Ｃ及びＤ層１４１Ｄで管理されている情報を書き換えて、テンポラリボリューム１２３（Ａ２）をデータＤｃの記憶先デバイスとして設定する。つまり、管理用の情報を書き換えるだけで、下位ボリュームグループ１３０Ｂから上位ボリュームグループ１３０Ａへのデータ移動は、直ちに完了する。
【０１３１】
データＤｃが上位ボリュームグループ１３０Ａに移動された結果、移動元であるボリューム１２３（Ｂ２）は、二つ目のテンポラリボリュームとして使用できる。そこで、コントローラ１１０は、上位ボリュームグループ１３０Ａ内で最も優先度の低いデータＤａを、上位の論理ボリューム１２３（Ａ１）から下位のテンポラリボリューム１２３（Ｂ２）にコピーさせる。即ち、コントローラ１１０は、ボリューム１２３（Ａ１）とボリューム１２３（Ｂ２）とのコピーペアを設定し、データ移行が完了するまでの間、両ボリュームの差分を差分ビットマップ１６０で管理する。
【０１３２】
図１２は、優先度管理処理を示すフローチャートである。本処理を含む以下の各処理は、コントローラ１１０が所定のプログラムを実行することによって実現される。また、以下に述べる各フローチャートは、本発明の理解及び実施に必要な程度で処理の概要を示しており、実際のプログラムとは相違する場合がある。ステップの変更、追加、削除は、当業者であれば適宜行うことができるであろう。
【０１３３】
コントローラ１１０は、例えば、コントローラ１１０内に設けられているタイマやカウンタ等から、現在時刻に関する情報を取得する（Ｓ１０）。コントローラ１１０は、最終更新時刻（Ｓ１１）、最終アクセス時刻（Ｓ１２）、アクセス頻度（Ｓ１３）及び優先度保持時間（Ｓ１４）をそれぞれ取得する。そして、コントローラ１１０は、上述した式１を用いて優先度を算出し（Ｓ１５）、データ管理情報Ｔ２Ａ内の優先度を最新の値に書き換える（Ｓ１６）。
【０１３４】
コントローラ１１０は、全てのデータについて優先度の算出を行ったか否かを判定する（Ｓ１７）。未処理のデータが残っている場合（S17:NO）、コントローラ１１０は、処理対象を次のデータに変更し（Ｓ１８）、Ｓ１０に戻る。全てのデータについて優先度の算出及び更新を完了すると、本処理は終了する。
【０１３５】
図１３は、先行配置処理を示すフローチャートである。コントローラ１１０は、優先度が変更されたか否かを判断する（Ｓ２０）。優先度管理処理によって優先度が変更された場合（S20:YES）、コントローラ１１０は、上位ボリュームグループ内のテンポラリボリュームに、下位ボリュームグループ内で優先度の最も高いデータが事前にコピーされているか否かを判定する（Ｓ２１）。即ち、コントローラ１１０は、データマイグレーション処理が開始されるよりも前に、移動対象のデータが事前に移動先のボリュームグループにコピーされているか否かを判定する。
【０１３６】
上位のテンポラリボリュームに優先度の高いデータが予めコピーされている場合（S21:YES）、コントローラ１１０は、この予めコピーされたデータが下位ボリュームグループ内で最も高い優先度を有しているか否かを判定する（Ｓ２２）。下位ボリュームグループ内で現在最も高い優先度を有するデータが、上位ボリュームグループ内のテンポラリボリュームに既にコピーされている場合、本処理を終了する。
【０１３７】
これに対し、前回の先行配置処理で先行配置されていた下位ボリュームのデータの優先度が変更されしまい、下位ボリュームグループ内で最も高い優先度ではない場合（S22:NO）、前回の先行配置は失敗したことになる。そこで、コントローラ１１０は、上位のテンポラリボリュームで管理されている差分データを、コピー元の下位ボリュームに書き込んで、下位ボリューム内のデータを最新状態にする（Ｓ２３）。
【０１３８】
下位ボリュームグループ内で最も高い優先度のデータが上位のテンポラリボリュームに予めコピーされていない場合（S21:NO）、コントローラ１１０は、下位ボリュームグループ内で最も高い優先度を有するデータを、上位ボリュームグループ内のテンポラリボリュームにコピーさせる（Ｓ２４）。コピー元である下位ボリュームとコピー先である上位のテンポラリボリュームとの間の差分は、上位ボリュームグループ側で管理される。コントローラ１１０は、上位のテンポラリボリュームにコピーされたデータを用いて、ホスト１０からのアクセス要求を処理する（Ｓ２５）。
【０１３９】
図１４は、データマイグレーション処理を示すフローチャートである。コントローラ１１０は、優先度が変更されたか否かを判定する（Ｓ３０）。続いて、コントローラ１１０は、データ移動の必要があるか否かを判定する（Ｓ３１）。
【０１４０】
コントローラ１１０は、少なくとも一部のデータについて優先度が変更されており（S30:YES）、かつ、データを移動させる必要性があると判断した場合に（S31:YES）、以下に述べるデータマイグレーションを開始する。
【０１４１】
Ｓ３１では、例えば、ユーザによって予め設定されたデータマイグレーションポリシーに基づいて、データ移動を行うか否かを判断する。例えば、ユーザがデータマイグレーションの実行時期を予め指定しているような場合、コントローラ１１０は、その指定された実行時期が到来したか否かを判断する。
【０１４２】
データマイグレーションの開始を決定した場合、コントローラ１１０は、上位ボリュームグループ内のテンポラリボリュームに記憶されているデータを確認する（Ｓ３２）。コントローラ１１０は、下位ボリュームグループから上位ボリュームグループへの移動が決定されたデータが、上位のテンポラリボリュームに既にコピーされているか否かを判定する（Ｓ３３）。
【０１４３】
上述の先行配置処理によって、データマイグレーション処理が開始されるよりも前に、優先度の高いデータは、予め上位のテンポラリボリュームにコピーされている。そこで、コントローラ１１０は、この先行配置が成功したか否かをＳ３３で判定する。
【０１４４】
先行配置が成功している場合（S33:YES）、コントローラ１１０は、先行配置されたデータの管理用情報を書き換えることにより、下位ボリュームグループから上位ボリュームグループへのデータ移動を完了させる（Ｓ３４）。
【０１４５】
優先度の変更等によって先行配置が失敗した場合（S33:NO）、コントローラ１１０は、下位ボリュームグループ内で最も高い優先度を有するデータを、上位ボリュームグループ内のテンポラリボリュームにコピーさせる（Ｓ３５）。
【０１４６】
最後に、コントローラ１１０は、上位ボリュームグループ内で最も優先度の低いデータを、下位ボリュームグループ内の特定のボリュームにコピーすることにより、この優先度の最も低いデータを移動させる（Ｓ３６）。特定のボリュームとは、例えば、図１１（ｂ）に示すボリューム１２３（Ｂ２）である。即ち、特定のボリュームとは、下位ボリュームグループから上位ボリュームグループへデータが移動されたために、新たなデータを受け入れることが可能となった下位ボリュームグループ内のボリュームである。
【０１４７】
本実施例は上述の構成を備えるため、以下の効果を奏する。本実施例では、各ボリュームグループ内に設けられたテンポラリボリュームを用いて、各ボリュームグループ間でデータを移動させる構成とした。従って、データマイグレーションに要する時間を短縮することができ、使い勝手が向上する。
【０１４８】
本実施例では、データマイグレーションを行うよりも前に、移動対象のデータを移動先として予定されるボリュームグループ内のテンポラリボリュームに予めコピーさせる構成とした。従って、データマイグレーションを速やかに完了させることができ、使い勝手が向上する。
【０１４９】
本実施例では、優先度に基づいてデータの価値を判断し、各データをそれぞれ適切な性能のボリュームに配置する構成とした。従って、性能や信頼性に差のあるディスクドライブ１２１を有効に利用することができ、使い勝手が向上する。
【０１５０】
本実施例では、ユーザの指定する優先度保持時間が経過する毎に優先度を変更する構成とした。従って、アクセス頻度や最終アクセス時刻等だけでは測ることのできないデータの価値を評価することができる。
【０１５１】
本実施例では、各ボリュームグループ内に予め一つずつテンポラリボリュームを用意しておき、データ移動の完了に伴って新たなデータを受け入れ可能となった論理ボリュームを別のテンポラリボリュームとして利用する構成とした。従って、記憶制御装置１００の有するボリュームを有効に利用することができ、コストの増大を抑えながら使い勝手を高めることができる。
【実施例２】
【０１５２】
図１５及び図１６に基づいて、本発明の第２実施例を説明する。本実施例を含む以下の実施例は、上述した第１実施例の変形例に相当する。本実施例では、外部記憶制御装置２００から提供される外部ボリューム２２３をできるだけオフライン状態に設定することにより、外部記憶制御装置２００への通電を停止して、ストレージシステム全体での電力消費量を低減する。
【０１５３】
図１５は、オフライン状態にするボリュームを外部記憶制御装置２００に集めて、外部記憶制御装置２００への通電を停止する様子を示す説明図である。図１５（ａ）に示すように、ボリュームグループ１３０は、外部ボリューム２２３（１）〜２２３（３）に対応付けられている論理ボリューム１２３（１）〜１２３（３）から構成されている。
【０１５４】
第１の外部記憶制御装置２００（１）の有する外部ボリューム２２３（１）は、論理ボリューム１２３（１）に対応付けられており、この論理ボリューム１２３（１）に記憶されているデータＢの優先度は”２”である。なお、正確には、論理ボリューム１２３（１）は仮想的な存在であって、データＢを実際に記憶しているのは外部ボリューム２２３（１）である。
【０１５５】
同様に、第２の外部記憶制御装置２００（２）の有する一方の外部ボリューム２２３（２）は、論理ボリューム１２３（２）に対応付けられており、この論理ボリューム１２３（１）に記憶されているデータＣの優先度は”３”である。第２の外部記憶制御装置２００（２）の有する他方の外部ボリューム２２３（３）は、論理ボリューム１２３（３）に対応付けられており、この論理ボリューム１２３（３）に記憶されているデータの優先度は”１”である。
【０１５６】
ボリュームグループ１３０内でオンライン状態に設定可能なボリュームの数が１であるとする。そこで、記憶制御装置１００は、３個の論理ボリューム１２３（１）〜１２３（３）のうち、最も優先度の高いデータを記憶する論理ボリューム１２３（２）のみをオンライン状態とし、論理ボリューム１２３（１）及び１２３（３）をそれぞれオフライン状態に設定する。
【０１５７】
そして、記憶制御装置１００は、オンライン状態の論理ボリューム１２３（２）についてのみ、キャッシュメモリ１１３の記憶領域を割り当てる。オフライン状態の論理ボリューム１２３（１）及び１２３（３）には、キャッシュメモリ１１３の記憶領域は割り当てられない。オンライン状態の論理ボリューム１２３（２）にのみキャッシュメモリ１１３の記憶領域を割り当てることにより、キャッシュメモリ１１３を効率的に使用することができ、記憶制御装置１００のコストを低減させることができる。なお、オンライン状態の論理ボリュームにのみ割り当てられる資源は、キャッシュメモリ１１３に限定されないが、ここでは説明の便宜上、キャッシュメモリ１１３を例に挙げて説明する。
【０１５８】
図１５（ｂ）に示すように、記憶制御装置１００は、データＢとデータＣの記憶場所を入れ替えることにより、論理ボリューム１２３（２），１２３（３）をそれぞれオフライン状態に設定する。データＢとデータＣとの記憶先デバイスの入れ替えは、他のボリュームグループ１３０内に設けられているテンポラリボリュームを用いることにより、実現することができる。例えば、データＢをボリューム１２３（１）からテンポラリボリュームにコピーし、データＣをボリューム１２３（２）からボリューム１２３（１）にコピーし、データＢをテンポラリボリュームからボリューム１２３（２）にコピーすれば、データＢをボリューム１２３（２）に、データＣをボリューム１２３（１）に、それぞれ記憶させることができる。
【０１５９】
データＢとデータＣの記憶場所を入れ替えた結果、第２の外部記憶制御装置２００（２）の外部ボリューム２２３（２），２２３（３）にマッピングされている論理ボリューム１２３（２），１２３（３）はそれぞれオフライン状態に設定される。従って、第２の外部記憶制御装置２００（２）の作動を停止させても、ストレージシステムとしては何ら不都合を生じない。外部ボリューム２２３（２），２２３（３）は、ホスト１０から使用されていないオフライン状態のボリュームに対応付けられているためである。
【０１６０】
そこで、記憶制御装置１００は、第２の外部記憶制御装置２００（２）への電源供給を停止させる。これにより、ストレージシステム全体としての消費電力が低減され、ストレージシステムの運用コストが低下する。
【０１６１】
図１６は、オフライン状態のボリュームを管理するための処理を示すフローチャートである。コントローラ１１０は、外部記憶制御装置２００の有する外部ボリューム２２３から構成されているボリュームグループ１３０の情報を取得する（Ｓ４０）。続いて、コントローラ１１０は、外部記憶制御装置２００に関する情報を取得する（Ｓ４１）。
【０１６２】
コントローラ１１０は、複数の外部記憶制御装置２００のうち特定の外部記憶制御装置２００から提供されている全ての外部ボリューム２２３がオフライン状態であるか否かを判定する（Ｓ４２）。正確には、コントローラ１１０は、一つの外部記憶制御装置２００の有する各外部ボリューム２２３に対応付けられている論理ボリューム１２３が全てオフライン状態であるか否かを判定する。
【０１６３】
特定の外部記憶制御装置２００内でオンライン状態の外部ボリューム２２３とオフライン状態の外部ボリューム２２３とが混在する場合（S42:NO）、図１５で述べたように、コントローラ１１０は、別の外部記憶制御装置２００から提供されているオフライン状態の外部ボリューム２２３を、特定の外部記憶制御装置２００に移動させる（Ｓ４３）。
【０１６４】
即ち、より正確に述べると、特定の外部記憶制御装置２００内の複数の外部ボリューム２２３にそれぞれ対応付けられている複数の論理ボリューム１２３の状態がオンライン状態とオフライン状態とに分かれている場合、コントローラ１１０は、特定の外部記憶制御装置２００内の全ての外部ボリューム２２３がオフライン状態の論理ボリューム１２３に対応付けられるように、データの記憶先を変更する（Ｓ４３）。
【０１６５】
そして、コントローラ１１０は、特定の外部記憶制御装置２００への電源供給をコントローラ１１０によって制御可能か否かを判断する（Ｓ４４）。例えば、記憶制御装置１００及び特定の外部記憶制御装置２００の両方が、電源供給を遠隔から制御するためのコマンドや信号を送受するためのインターフェース等をそれぞれ備えているような場合（S44:YES）、コントローラ１１０からの指令によって、特定の外部記憶制御装置２００への電源供給を自動的に停止させることができる（Ｓ４５）。
【０１６６】
これに対し、コントローラ１１０からの指令によって特定の外部記憶制御装置２００への電源供給を制御できない場合（S44:NO）、コントローラ１１０は、管理端末２０を介して、特定の外部記憶制御装置２００への電源供給を停止可能である旨をユーザに通知する（Ｓ４６）。
【０１６７】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、テンポラリボリュームを利用して、オフライン状態の論理ボリューム１２３を、特定の外部記憶制御装置２００内の外部ボリューム２２３に対応付けることができ、特定の外部記憶制御装置２００への電源供給を停止させることができる。従って、ストレージシステムの電力消費量を低減して、運用コストを節約することができる。
【実施例３】
【０１６８】
図１７〜図２３に基づいて第３実施例を説明する。本実施例では、テンポラリボリュームを用いて、バックアップ指示が発行されるよりも前に、バックアップ対象のボリュームのバックアップを予め作成する。
【０１６９】
図１７〜図２２は、正ボリューム１２３（Ａ１）に記憶されているバックアップ対象のデータＤａを、自動的かつ段階的にバックアップする様子を示す説明図である。ホスト１０により使用される正ボリューム１２３（Ａ１）は、管理用ボリューム１５２（１）によって、アクセスポイント１５１（１）と対応付けられている。バックアップ対象のデータ（運用中のデータ）Ｄａの最初の優先度は”１”であるとする。
【０１７０】
図１８に示すように、ホスト１０がデータＤａにアクセスしていない時期を見計らって、コントローラ１１０は、正ボリューム１２３（Ａ１）から、一つ下位のボリュームグループ１３０Ｂ内に設けられているテンポラリボリューム１２３（Ｂ１）に、データＤａをコピーさせる。そして、このテンポラリボリューム１２３（Ｂ１）にコピーされたデータを管理するための管理用ボリューム１５２（２）で、テンポラリボリューム１２３（Ｂ１）にコピーされたデータＤａの優先度を管理させる。コントローラ１１０は、コピー完了後に発生した、正ボリューム１２３（Ａ１）とテンポラリボリューム１２３（Ｂ１）との間の差分を、正ボリューム１２３（Ａ１）側で管理する。
【０１７１】
図１９に示すように、バックアップスケジュールまたはユーザからの指示によって、データＤａのバックアップ処理を開始する場合、コントローラ１１０は、正ボリューム１２３（Ａ１）とテンポラリボリューム１２３（Ｂ１）との差分を、テンポラリボリューム１２３（Ｂ１）内のデータＤａに反映させる。そして、コントローラ１１０は、テンポラリボリューム１２３（Ｂ１）を、データＤａを記憶しているデバイスとして設定する。即ち、以後の管理上、ボリューム１２３（Ｂ１）に記憶されているデータＤａが、実データとして取り扱われる。これにより、データＤａのバックアップが完了する。
【０１７２】
ホスト１０は、バックアップ処理の完了後、正ボリューム１２３（Ａ１）をそのまま使用して、業務処理を継続する。正ボリューム１２３（Ａ１）には、新たな運用中データＤｂが記憶される。
【０１７３】
図２０に示すように、ボリューム１２３（Ｂ１）に記憶されたデータＤａは、バックアップデータであるため、ホスト１０からアクセスされる頻度は、低下する。従って、データＤａの優先度は、次第に低下していく。そして、データマイグレーション処理によって、データＤａは、より下位のボリュームグループ１３０Ｃ内のテンポラリボリューム１２３（Ｃ１）に移動される。
【０１７４】
図２１に示すように、新たな運用中データＤｂも、図１８で述べたように、ホスト１０がデータＤｂにアクセスしない時間を見計らって、下位のボリュームグループ１３０Ｂ内のテンポラリボリューム１２３（Ｂ１）にコピーされる。
【０１７５】
図２２に示すように、上述の動作を繰り返すことにより、正ボリューム１２３（Ａ１）内のデータのバックアップが自動的に作成されていき、古い世代のバックアップデータほど下位のボリュームグループ１３０に配置される。
【０１７６】
そして、ホスト１０は、バックアップデータへアクセスするためのアクセスポイント１５１（２）に接続を切り替えるだけで、所望の世代のバックアップデータにアクセスすることができる。バックアップデータ用のアクセスポイント１５１（２）と各世代のバックアップデータを管理する管理用ボリューム１５２（２），１５２（３）との対応関係を、記憶制御装置１００の内部で切り替えるだけで、ホスト１０の希望する世代のバックアップデータをホスト１０に提供することができる。なお、図２２中では、紙面の都合上、管理用ボリューム１５２（１）及び１５２（２）の二つのみに符号を与えているが、各バックアップデータ用に管理用ボリューム１５２が用意されている。
【０１７７】
なお、図２２中の外部記憶制御装置２００（２）に対応付けられる論理ボリューム１２３（Ｃ３），１２３（Ｃ４），１２３（Ｃ５）は、それぞれオフライン状態に設定されている。これらの各ボリューム１２３（Ｃ３）〜１２３（Ｃ５）は、データを移動させる場合にのみ、一時的にオンライン状態に設定される。
【０１７８】
図２３は、上述したバックアップ処理を示すフローチャートである。コントローラ１１０は、運用中データへのホスト１０からのアクセスが途絶えたか否かを判定し（Ｓ５０）、ホスト１０から運用中データへのアクセスが途絶えた場合（S50:YES）、運用中データについて差分を管理している最中であるか否かを判定する（Ｓ５１）。差分を管理中である場合（S51:YES）、現在運用中のデータは既に下位のテンポラリボリュームにコピーされている場合であるから、以下のＳ５２，Ｓ５３をスキップして、Ｓ５４に移る。
【０１７９】
運用中データについての差分管理を行っていない場合（S51:NO）、コントローラ１１０は、運用中データを下位のボリュームグループ内のテンポラリボリュームにコピーさせ（Ｓ５２）、差分管理を開始する（Ｓ５３）。差分管理には、例えば、差分ビットマップ１６０が用いられる。
【０１８０】
コントローラ１１０は、バックアップを作成すべき旨の指示が与えられたか否かを判定する（Ｓ５４）。例えば、バックアップスケジュールに基づいて、バックアップの作成時期が到来したと判断された場合、コントローラ１１０は、運用中データがコピーされたテンポラリボリュームに差分を反映させ（Ｓ５５）、以後、テンポラリボリュームに記憶されたデータを、運用中データのバックアップデータとして管理する（Ｓ５６）。これにより、運用中データのバックアップ処理が完了する。
【０１８１】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、テンポラリボリュームを用いて、運用中データのバックアップを自動的に作成することができ、使い勝手が向上する。また、運用中データを予めテンポラリボリュームにコピーしておくため、コピー後に発生した差分をテンポラリボリュームに書き込むだけで、運用中データのバックアップを速やかに作成することができる。従って、バックアップ時間を短縮して、使い勝手を高めることができる。
【実施例４】
【０１８２】
図２４に基づいて第４実施例を説明する。本実施例では、複数の記憶制御装置１００（１），１００（２），１００（３）をそれぞれ外部接続機能を用いて相互に接続し、各記憶制御装置１００（１）〜１００（３）の有するボリュームを、各記憶制御装置１００（１）〜１００（３）のＥ層でそれぞれ管理する。なお、図中では、紙面の都合上、「記憶制御装置」を「ストレージ」と表示している。図中の「ストレージ（１）」とは記憶制御装置１００（１）を、「ストレージ（２）」とは「記憶制御装置１００（２）」を、「ストレージ（３）」とは記憶制御装置１００（３）を、それぞれ示す。同様に、「ホスト（１）」とはホスト１０（１）を、「ホスト（２）」とはホスト１０（２）を、「ホスト（３）」とはホスト１０（３）を、それぞれ示す。
【０１８３】
外部接続機能とは、記憶制御装置１００と外部記憶制御装置２００との関係で述べたように、一方の記憶制御装置が他方の記憶制御装置の有するボリュームを、あたかも自分自身の内部ボリュームであるかのようにして取り込む機能である。各記憶制御装置１００（１）〜１００（３）内に、他の記憶制御装置内のボリュームにマッピングされる仮想的なボリュームを作成することにより、各記憶制御装置は、他の記憶制御装置の有するボリュームを内部に取り込んで利用することができる。
【０１８４】
各記憶制御装置１００（１）〜１００（３）は、各データをＢ層及びＣ層を用いてそれぞれ管理し、各データを更新可能なホストについての制限を設定する。即ち、予め許可されているホスト以外のホストによってデータが更新されることがないように、更新に関する制限を設定する。なお、各ホスト１０（１）〜１０（３）が全データをそれぞれ読み出すことができるように設定される。
【０１８５】
そして、ストレージシステム内の各データを、各記憶制御装置１００（１）〜１００（３）のうち、最もアクセス頻度の高いホストに接続されている記憶制御装置内に配置されるように、データマイグレーション処理を行う。
【０１８６】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０１８７】
【図１】本発明の実施形態の全体概要を示す説明図である。
【図２】記憶制御装置の構成を示すブロック図である。
【図３】ディスクドライブの性能に応じて、ボリュームをグループ別に管理する様子を示す説明図である。
【図４】記憶制御装置内の管理階層を示す説明図である。
【図５】優先度の算出方法を示す説明図である。
【図６】Ａ層、Ｂ層及びＣ層で管理される情報の構成を示す説明図である。
【図７】Ｄ層で管理される情報の構成を示す説明図である。
【図８】Ｅ層で管理される情報の構成を示す説明図である。
【図９】下位ボリュームのデータを上位のテンポラリボリュームに予めコピーしておく先行配置処理を示す説明図である。
【図１０】先行配置が失敗した場合の処理を示す説明図である。
【図１１】上位ボリュームのデータを下位ボリュームに移動させる処理を示す説明図である。
【図１２】優先度管理処理を示すフローチャートである。
【図１３】データ先行配置処理を示すフローチャートである。
【図１４】データマイグレーション処理を示すフローチャートである。
【図１５】第２実施例に係り、外部記憶制御装置に対応付けられているボリュームをオフライン状態にし、外部記憶制御装置への電源供給を停止させる様子を示す説明図である。
【図１６】オフライン状態のボリュームを管理するための処理を示すフローチャートである。
【図１７】第３実施例に係る記憶制御装置において、バックアップ処理前の初期状態を示す説明図である。
【図１８】図１７に続く説明図である。
【図１９】図１８に続く説明図である。
【図２０】図１９に続く説明図である。
【図２１】図２０に続く説明図である。
【図２２】図２１に続く説明図である。
【図２３】バックアップ処理を示すフローチャートである。
【図２４】第４実施例に係る記憶制御装置が用いられるストレージシステムの全体構成を示す説明図である。
【符号の説明】
【０１８８】
１…記憶制御装置、１Ａ…中間記憶階層、２…ディスクドライブ、２Ａ，２Ｂ…ディスクドライブ、３…論理ボリューム、３Ｔ…テンポラリボリューム、４Ａ，４Ｂ，４Ｃ…ボリュームグループ、５…制御部、６Ａ，６Ｂ，６Ｃ…アクセスポイント、７Ａ，７Ｂ，７Ｃ…管理用ボリューム、８…ホスト、９…外部記憶制御装置、９Ａ…論理ボリューム（外部ボリューム）、１０…ホスト、２０…管理端末、１００，１００（１），１００（２），１００（３）…記憶制御装置、１１０…コントローラ、１１１…チャネルアダプタ（CHA）、１１１Ｐ…通信ポート、１１２…ディスクアダプタ（DKA）、１１３…キャッシュメモリ、１１４…共有メモリ、１１５…接続制御部、１２０…記憶部、１２１，１２１Ａ，１２１Ｂ，１２１Ｃ…ディスクドライブ、１２２…RAIDグループ、１２３…論理ボリューム、１３０，１３０Ａ，１３０Ｂ，１３０Ｃ…ボリュームグループ、１４１Ａ…Ａ層、１４１Ｂ…Ｂ層、１４１Ｃ…Ｃ層、１４１Ｄ…Ｄ層、１４１Ｅ…Ｅ層、１５１…アクセスポイント、１５２…管理用ボリューム、１６０…差分ビットマップ、２００，２００（１），２００（２）…外部記憶制御装置、２１０…コントローラ、２２１…ディスクドライブ、２２２…RAIDグループ、２２３…論理ボリューム（外部ボリューム）
【図１】
2008112291.tif 000003
【図２】
2008112291.tif 000004
【図３】
2008112291.tif 000005
【図４】
2008112291.tif 000006
【図５】
2008112291.tif 000007
【図６】
2008112291.tif 000008
【図７】
2008112291.tif 000009
【図８】
2008112291.tif 000010
【図９】
2008112291.tif 000011
【図１０】
2008112291.tif 000012
【図１１】
2008112291.tif 000013
【図１２】
2008112291.tif 000014
【図１３】
2008112291.tif 000015
【図１４】
2008112291.tif 000016
【図１５】
2008112291.tif 000017
【図１６】
2008112291.tif 000018
【図１７】
2008112291.tif 000019
【図１８】
2008112291.tif 000020
【図１９】
2008112291.tif 000021
【図２０】
2008112291.tif 000022
【図２１】
2008112291.tif 000023
【図２２】
2008112291.tif 000024
【図２３】
2008112291.tif 000025
【図２４】
2008112291.tif 000026