(57)【要約】ストレージシステムが、複数の仮想領域で構成された仮想ボリュームと、性能の異なる複数の実領域群で構成されたプールとを有する。ストレージシステムのコントローラが、どの仮想領域にどの実領域が割り当てられているかと、仮想領域に割り当てられている実領域のアクセス負荷とを管理する。コントローラは、第１の仮想領域に割り当てられている第１の実領域のアクセス負荷が前記第１の実領域を有する第１の実領域群に不適切である場合、第１の実領域のアクセス負荷に適した第２の実領域群内の第２の実領域に第１の実領域からデータをマイグレーションする。コントローラは、過去の時点での仮想領域とその仮想領域に割り当てられている実領域とに関する情報である履歴情報に基づく、或る時刻でのデータ配置、を実現するための、実領域間のデータマイグレーションを行う。データ配置は、仮想領域内のデータの、実領域群内の実領域への配置である。
2011096017.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想領域で構成された仮想的な論理ボリュームである仮想ボリュームと、
性能の異なる複数の実領域群で構成された記憶領域であるプールと、
アクセス元からアクセスコマンドを受信し、前記アクセスコマンドから特定された仮想領域に実領域が割り当てられていれば、その実領域にアクセスし、前記特定された仮想領域に実領域が割り当てられていなければ、前記プールのうちの、前記特定された仮想領域に前記プールから実領域を割り当て、割り当てた実領域にアクセスするコントローラと
を備え、
（Ａ）前記コントローラは、どの仮想領域にどの実領域が割り当てられているかと、仮想領域に割り当てられている実領域のアクセス負荷とを管理し、
（Ｂ）前記コントローラは、第１の仮想領域に割り当てられている第１の実領域のアクセス負荷が前記第１の実領域を有する第１の実領域群に不適切である場合、前記第１の実領域のアクセス負荷に適した第２の実領域群内の第２の実領域に前記第１の実領域からデータをマイグレーションし、前記第１の仮想領域に、前記第１の実領域に代えて前記第２の実領域を割り当て、
（Ｃ）前記コントローラは、過去の時点での仮想領域とその仮想領域に割り当てられている実領域とに関する情報である履歴情報に基づく、或る時刻でのデータ配置、を実現するための、実領域間のデータマイグレーションを行い、
前記データ配置は、仮想領域内のデータの、実領域群内の実領域への配置である、
ストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、
（Ｄ）前記コントローラは、前記データ配置を実現するのに必要な全ての前記データマイグレーションにかかる時間を算出し、
前記（Ｃ）において、前記コントローラは、前記或る時刻よりも前記算出された時間分早い時刻に、前記データ配置を実現するためのデータマイグレーションを開始する、
ストレージシステム。
【請求項３】
請求項２記載のストレージシステムであって、
前記（Ｃ）において、前記或る時刻よりも早い時刻で開始されるデータマイグレーションは、性能アップマイグレーション方向のデータマイグレーションのみであり、
前記性能アップマイグレーション方向によれば、マイグレーション元の実領域を有する実領域群よりも、マイグレーション先の実領域を有する実領域群の性能の方が高い、
ストレージシステム。
【請求項４】
請求項３記載のストレージシステムであって、
性能ダウンマイグレーション方向のデータマイグレーションは、前記或る時刻で開始され、
前記性能ダウンマイグレーション方向によれば、マイグレーション元の実領域を有する実領域群よりも、マイグレーション先の実領域を有する実領域群の性能の方が低い、
ストレージシステム。
【請求項５】
請求項４記載のストレージシステムであって、
前記履歴情報は、過去の同一時間帯毎の、仮想領域に割り当てられていた実領域のアクセス負荷、を表す情報であり、
前記コントローラは、前記履歴情報を基に、各仮想領域についての時間帯別のアクセス負荷のトレンドを特定し、特定されたトレンドを基に、時間帯別の理想的なデータ配置を特定し、
前記（Ｃ）において、前記或る時刻でのデータ配置は、各時間帯の開始時刻についての理想的なデータ配置である、
ストレージシステム。
【請求項６】
請求項２記載のストレージシステムであって、
前記（Ｄ）では、前記コントローラは、マイグレーション方向毎に、全てのデータマイグレーションにかかる時間を算出し、
前記（Ｃ）において、データマイグレーションが開始される時刻は、マイグレーション方向毎にあり、各マイグレーション方向でのデータマイグレーション開始時刻は、前記（Ｄ）で前記算出された時間に従う時刻である、
ストレージシステム。
【請求項７】
請求項６記載のストレージシステムであって、
前記（Ｃ）において、前記或る時刻よりも早い時刻で開始されるデータマイグレーションは、性能アップマイグレーション方向のデータマイグレーションのみであり、
前記性能アップマイグレーション方向によれば、マイグレーション元の実領域を有する実領域群よりも、マイグレーション先の実領域を有する実領域群の性能の方が高い、
ストレージシステム。
【請求項８】
請求項１記載のストレージシステムであって、
前記履歴情報は、過去の時刻のデータ配置を表す情報であり、
前記（Ｃ）で、前記コントローラは、前記或る時刻でのデータ配置の実現として、前記或る時刻が属する時間帯における前記過去の時刻のデータ配置を復元する、
ストレージシステム。
【請求項９】
請求項１記載のストレージシステムであって、
前記履歴情報は、過去の同一時間帯毎の、仮想領域に割り当てられていた実領域のアクセス負荷、を表す情報であり、
前記コントローラは、前記履歴情報を基に、各仮想領域についての時間帯別のアクセス負荷のトレンドを特定し、特定されたトレンドを基に、時間帯別の理想的なデータ配置を特定し、
前記（Ｃ）において、前記或る時刻でのデータ配置は、各時間帯についていずれかの時刻についての理想的なデータ配置である、
ストレージシステム。
【請求項１０】
請求項１記載のストレージシステムであって、
複数のアクセス元があり、
前記コントローラが、アクセス元管理情報を有し、
前記アクセス元管理情報は、どのアクセス元が１以上の仮想ボリュームのうちのどの仮想領域群にアクセス可能であるかと、どのアクセス元について前記（Ｃ）の処理が適用されるかとを表す情報であり、
前記コントローラは、前記アクセス元管理情報から、前記（Ｃ）の処理を行うと予め決められているアクセス元とそのアクセス元がアクセス可能な仮想領域群とを特定し、特定された仮想領域群について、前記（Ｃ）の処理を行う、
ストレージシステム。
【請求項１１】
請求項１０記載のストレージシステムであって、
前記履歴情報は、過去の複数の時刻のデータ配置を表す情報であり、
前記コントローラは、ユーザ所望の時刻及びアクセス元の指定を受け、
前記（Ｃ）で、前記コントローラは、前記指定されたアクセス元についての、前記ユーザ所望の時刻が属する時間帯における過去の時刻のデータ配置を、復元する、
ストレージシステム。
【請求項１２】
請求項１０記載のストレージシステムであって、
前記履歴情報は、過去の同一時間帯毎の、仮想領域に割り当てられていた実領域のアクセス負荷、を表す情報であり、
前記コントローラは、ユーザ所望の時刻及びアクセス元の指定を受け、
前記コントローラは、前記履歴情報を基に、前記指定されたアクセス元について、各仮想領域についての時間帯別のアクセス負荷のトレンドを特定し、特定されたトレンドを基に、時間帯別の理想的なデータ配置を特定し、
前記（Ｃ）において、前記或る時刻でのデータ配置は、前記指定されたアクセス元についての、前記ユーザ所望の時刻が属する時間帯での前記理想的なデータ配置が実現される、
ストレージシステム。
【請求項１３】
請求項１０記載のストレージシステムであって、
前記コントローラは、ユーザ所望のアクセス元の指定を受け、
前記コントローラは、前記指定されたアクセス元について、前記データ配置を実現するのに必要な全ての前記データマイグレーションにかかる時間を算出し、
前記（Ｃ）において、前記コントローラは、前記指定されたアクセス元について、前記或る時刻よりも前記算出された時間分早い時刻に、前記データ配置を実現するためのデータマイグレーションを開始する、
ストレージシステム。
【請求項１４】
記憶資源と、
前記記憶資源に接続されたプロセッサと
を有し、
前記記憶資源が、複数の仮想領域で構成された仮想的な論理ボリュームである仮想ボリュームに関する情報と、性能の異なる複数の実領域群で構成された記憶領域であるプールに関する情報とを記憶し
（Ｘ）前記プロセッサは、アクセス元からアクセスコマンドを受信し、前記アクセスコマンドから特定された仮想領域に実領域が割り当てられていれば、その実領域にアクセスし、前記特定された仮想領域に実領域が割り当てられていなければ、前記プールのうちの、前記特定された仮想領域に前記プールから実領域を割り当て、割り当てた実領域にアクセスし、
（Ａ）前記プロセッサは、どの仮想領域にどの実領域が割り当てられているかと、仮想領域に割り当てられている実領域のアクセス負荷とを管理し、
（Ｂ）前記プロセッサは、第１の仮想領域に割り当てられている第１の実領域のアクセス負荷が前記第１の実領域を有する第１の実領域群に不適切である場合、前記第１の実領域のアクセス負荷に適した第２の実領域群内の第２の実領域に前記第１の実領域からデータをマイグレーションし、前記第１の仮想領域に、前記第１の実領域に代えて前記第２の実領域を割り当て、
（Ｃ）前記プロセッサは、過去の時点での仮想領域とその仮想領域に割り当てられている実領域とに関する情報である履歴情報に基づく、或る時刻でのデータ配置、を実現するための、実領域間のデータマイグレーションを行い、
前記データ配置は、仮想領域内のデータの、実領域群内の実領域への配置である、
記憶制御装置。
【請求項１５】
ストレージシステムの記憶制御方法であって、
前記ストレージシステムが、複数の仮想領域で構成された仮想的な論理ボリュームである仮想ボリュームと、性能の異なる複数の実領域群で構成された記憶領域であるプールとを有し、アクセス元からアクセスコマンドを受信し、前記アクセスコマンドから特定された仮想領域に実領域が割り当てられていれば、その実領域にアクセスし、前記特定された仮想領域に実領域が割り当てられていなければ、前記プールのうちの、前記特定された仮想領域に前記プールから実領域を割り当て、割り当てた実領域にアクセスし、
前記記憶制御方法が、
第１の仮想領域に割り当てられている第１の実領域のアクセス負荷が前記第１の実領域を有する第１の実領域群に不適切である場合、前記第１の実領域のアクセス負荷に適した第２の実領域群内の第２の実領域に前記第１の実領域からデータをマイグレーションし、前記第１の仮想領域に、前記第１の実領域に代えて前記第２の実領域を割り当て、
過去の時点での仮想領域とその仮想領域に割り当てられている実領域とに関する情報である履歴情報に基づく、或る時刻でのデータ配置、を実現するための、実領域間のデータマイグレーションを行い、
前記データ配置は、仮想領域内のデータの、実領域群内の実領域への配置である、
記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ボリューム内のデータの再配置に関する。
【背景技術】
【０００２】
現在、企業では、データ量の増加に伴い、ストレージシステムの大規模化・複雑化が進んでいる。このため企業は、ストレージ装置の管理容易化や利用効率向上を求めている。この要求を満たすための一技術として、シン・プロビジョニング（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）がある。これは、ストレージシステムが、物理的な記憶領域を有さない仮想的な論理ボリューム（以下、仮想ボリュームと略記）をホスト計算機に提供し、ホスト計算機から仮想ボリュームへのライトに応じて、プールからページを動的に割り当てる技術である。ここで、「プール」とは、複数のページの集合であり、「ページ」とは、物理的な記憶領域である。【０００３】
この技術により、ストレージシステムの容量効率化と容量設計の容易化が可能となる。【０００４】
プールは、一般に、同一性能のメディア（ページ群）で構成される。しかし、通常、仮想ボリュームに割り当てられている複数のページのアクセス頻度は同一ではなく、それら複数のページに、アクセス頻度が高いページと低いページが混在することがある。このため、性能の過不足が生じることがある。具体的には、例えば、プールが高性能メディアだけで構成されていると、アクセス頻度が低いページについては性能過多が生じており、逆に、プールが低性能メディアだけで構成されていると、アクセス頻度が高いページについては、性能不足が生じている。【０００５】
その問題を解決するための１つの方法として、特許文献１に記載の方法が考えられる。特許文献１によれば、１つのプールが、性能の異なる複数のメディアで構成され、ページ内のデータが、そのページを有するメディアから、そのページのアクセス頻度に最適なメディアへ再配置される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００９／００７０５４１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１によれば、ページのアクセス頻度が変化したことが検出され、データの再配置は、その検出の後に行われる。このため、ページのアクセス頻度が変化してから変化後のアクセス頻度に最適なメディアにそのページ内のデータが再配置されるまでに時間がかかる。つまり、データの配置が最適でない状況が生じる。【０００８】
そこで、本発明の目的は、データの配置が最適でない状況が生じる確率を低減することにある。
【課題を解決するための手段】
【０００９】
ストレージシステムが、複数の仮想領域（仮想的な記憶領域）で構成された仮想的な論理ボリュームである仮想ボリュームと、性能の異なる複数の実領域群で構成された記憶領域であるプールとを有する。ストレージシステムのコントローラが、どの仮想領域にどの実領域（物理的な記憶領域）が割り当てられているかと、仮想領域に割り当てられている実領域のアクセス負荷とを管理する。コントローラは、第１の仮想領域に割り当てられている第１の実領域のアクセス負荷が前記第１の実領域を有する第１の実領域群に不適切である場合、第１の実領域のアクセス負荷に適した第２の実領域群内の第２の実領域に第１の実領域からデータをマイグレーションし、第１の仮想領域に、第１の実領域に代えて第２の実領域を割り当てる。コントローラは、過去の時点での仮想領域とその仮想領域に割り当てられている実領域とに関する情報である履歴情報に基づく、或る時刻でのデータ配置、を実現するための、実領域間のデータマイグレーションを行う。データ配置は、仮想領域内のデータの、実領域群内の実領域への配置である。【００１０】
ストレージシステムは、１又は複数のストレージ装置で構成されて良い。コントローラは、プールの基になっている記憶デバイスを有する装置内にあっても良いし、プールの基になっている記憶デバイスを有する装置の外にあっても良い。コントローラは、サーバでも良いし、インテリジェンスなスイッチであっても良い。
【発明の効果】
【００１１】
データの配置が最適でない状況が生じる確率を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例に係る計算機システムの全体構成を示す。
【図２】ストレージ装置１０１の構成を示す。
【図３】管理計算機１０３の構成を示す。
【図４】業務とＶＶＯＬとページとの関係の概要を示す。
【図５】業務管理テーブル２３７を示す。
【図６】ティア−メディア管理テーブル２３８を示す。
【図７】実配置履歴管理テーブル２３９を示す。
【図８】ページ性能管理テーブル２４０を示す。
【図９】ティア判定基準テーブル２４１を示す。
【図１０】理想ティア管理テーブル２４２を示す。
【図１１】再配置性能管理テーブル２４３を示す。
【図１２】再配置時間管理テーブル２４４を示す。
【図１３】再配置開始時刻管理テーブル２４５を示す。
【図１４】管理計算機１０３で表示されるページ再配置設定画面１４００を示す。
【図１５】再配置処理の選択処理を示すフローチャートである。
【図１６】ティア監視処理を示すフローチャートである。
【図１７】再配置処理１を示すフローチャートである。
【図１８】理想ティア判定処理を示すフローチャートである。
【図１９】再配置処理２を示すフローチャートである。
【図２０】再配置開始時刻算出処理を示すフローチャートである。
【図２１】再配置処理３を示すフローチャートである。
【図２２】不揮発性メモリ２３０内のプログラム及び情報を示す。
【図２３】マッピングテーブル２４６を示す。
【図２４】プール管理テーブル２４７を示す。
【図２５】理想ティア判定処理において作成される性能トレンド情報の一例を示す。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施例を説明する。【００１４】
なお、以下の説明では、「ｘｘｘテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ｘｘｘテーブル」を「ｘｘｘ情報」と呼ぶことができる。【００１５】
また、以後の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central Processing Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信インタフェース装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。プロセッサは、ＣＰＵの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。【００１６】
また、各要素（例えばページ）は、ＩＤ、番号などで識別可能であるが、識別可能な情報であれば、名前など他種の識別情報が用いられても良い。【００１７】
以下、図を用いて、本発明の一実施例を説明する。以下の図中、同一の部分には同一の符号を付加する。ただし、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。【００１８】
図１は、本発明の一実施例に係る計算機システムの全体構成を示す。【００１９】
このストレージシステムは、例えば、一つまたは複数のストレージ装置１０１と、一つまたは複数のホスト計算機１０２と、一つまたは複数の管理計算機１０３とを備える。【００２０】
ストレージ装置１０１とホスト計算機１０２とは、例えば、ネットワーク（１）１１１を介して接続される。【００２１】
ストレージ装置１０１と管理計算機１０３とは、例えば、ネットワーク（２）１１２を介して接続される。【００２２】
ホスト計算機１０２と管理計算機１０３とは、例えば、ネットワーク（３）１１３を介して接続される。【００２３】
ストレージ装置１０１は、通信線１１４を介してネットワーク（１）１１１に接続される。【００２４】
ホスト計算機１０２は、通信線１１５を介してネットワーク（１）１１１に接続される。【００２５】
管理計算機１０３は、通信線１１６を介してネットワーク（２）に接続される。【００２６】
ストレージ装置１０１は、通信線１１７を介してネットワーク（２）に接続される。【００２７】
ホスト計算機１０２は、通信線１１８を介してネットワーク（３）１１３に接続される。【００２８】
管理計算機１０３は、通信線１１９を介してネットワーク（３）１１３に接続される。【００２９】
なお、上述の通信線１１４〜１１９は、例えば、メタルケーブルや光ファイバケーブル等の有線として構成される。しかし、ホスト計算機１０２とストレージ装置１０１、ストレージ装置１０１と管理計算機１０３、ホスト計算機１０２と管理計算機１０３を無線で接続することも可能である。この場合は、通信線１１４〜１１９は省略される。【００３０】
また、ネットワーク（１）１１１、ネットワーク（２）１１２、及びネットワーク（３）１１３のうちの少なくとも２つが、共通のネットワークであっても良い。各ネットワーク１１１、１１２、１１３は、通信ネットワークであり、例えば、ＳＡＮ（Storage Area Network）又はＬＡＮ（Local Area Network）である。【００３１】
図２は、ストレージ装置１０１の構成を示す。【００３２】
ストレージ装置１０１は、制御装置２１１と、複数のディスク２２２とに大別することができる。【００３３】
本実施例では、複数のディスク２２２には、少なくとも、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）−ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）−ＨＤＤが含まれている。しかし、ディスク２２２は、それらのうちの少なくとも１つに代えて又は加えて、他の種類の物理的な記憶デバイスであっても良い。【００３４】
ディスク２２２は、ファイバチャネルケーブル等の通信線２２１を介して制御装置２１１に接続される。なお、複数のディスク２２２で、１又は複数のＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）グループを構成することができる。【００３５】
次に、制御装置２１１の構成を説明する。【００３６】
制御装置２１１は、ホスト計算機１０２から受信したコマンドに従って、ディスク２２２へのデータの書き込みや読み出しを制御する。制御装置２１１は、シン・プロビジョニングに従う仮想ボリューム（以下、ＶＶＯＬ）を提供する。ＶＶＯＬは、複数の仮想領域で構成されている。仮想領域は、仮想的な記憶領域であり、例えば、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）で表される。【００３７】
制御装置２１１は、例えば、記憶資源と、通信インタフェース装置（以下、インタフェース装置を「ＩＦ」と略記）と、それらに接続されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１３とを有する。記憶資源は、例えば、不揮発性メモリ２３０、主メモリ２１４、及びキャッシュメモリ２１５を有する。通信ＩＦとしては、例えば、ホストＩＦ（Ｈ−ＩＦ）２１６と、管理ＩＦ（Ｍ−ＩＦ）２１７と、ディスクＩＦ（Ｄ−ＩＦ）２１８とを備える。これら各メモリ２３０、２１４、２１５、ＣＰＵ２１３、ホストＩＦ２１６、管理ＩＦ２１７、ディスクＩＦ２１８は、バス等の通信線２１２を介して相互に接続されている。【００３８】
不揮発性メモリ２３０としては、例えば、フラッシュメモリ等のような書き換え可能な不揮発性のメモリを挙げることができる。【００３９】
不揮発性メモリ２３０は、コンピュータプログラム及び情報を記憶する。具体的には、例えば、不揮発性メモリ２３０は、図２２に示すように、アクセス制御プログラム２３１と、ティア監視プログラム２３２と、ページ性能測定プログラム２３３と、理想ティア判定プログラム２３４と、再配置開始時刻管理テーブル２３５と、ページ配置プログラム２３６と、業務管理テーブル２３７と、ティア−メディア管理テーブル２３８と、実配置履歴管理テーブル２３９と、ページ性能管理テーブル２４０と、ティア判定基準テーブル２４１と、理想ティア管理テーブル２４２と、再配置性能管理テーブル２４３と、再配置時間管理テーブル２４４と、再配置開始時刻管理テーブル２４５と、マッピングテーブル２４６と、プール管理テーブル２４７とを記憶する。各プログラム２３１〜２３６は、不揮発性メモリ２３０から主メモリ２１４に転送され、ＣＰＵ２１３により実行される。【００４０】
アクセス制御プログラム２３１は、ホスト計算機１０２の業務（本実施例ではオペレーティングシステム（ＯＳ））からアクセスコマンドを受信し、そのアクセスコマンドを処理する。このプログラム２３１が行う処理は、後に説明する。【００４１】
ティア監視プログラム２３２は、どの仮想領域にどのティア内のページが割り当てられているかという実配置（実際のデータ配置）を定期的にチェックし（監視し）、チェックした結果を実配置履歴管理テーブル２３９に記録する。【００４２】
ページ性能測定プログラム２３３は、どの仮想領域に割り当てられたページに対してアクセスが発生したかを監視し、アクセスが発生したページのアクセス頻度をページ性能管理テーブル２４０に記録する。【００４３】
理想ティア判定プログラム２３４は、ページ性能管理テーブル２３９とティア判定基準テーブル２４１を基に、各時刻について、ページの理想的なティアを判定し、その判定の結果を理想ティア管理テーブル２４２に記録する。【００４４】
再配置開始時刻管理プログラム２３５は、理想ティア管理テーブル２４２と再配置性能管理テーブル２４３を基に、各時刻について、マイグレーション元のページの数および再配置時間を算出し、その結果を再配置時間管理テーブル２４４に記録する。また、プログラム２３５は、再配置時間管理テーブル２４４を基に、再配置開始時刻を算出し、その結果を再配置開始時刻管理テーブル２４５に記録する。【００４５】
ページ配置プログラム２３６は、再配置処理を行う。本実施例では、再配置処理として、再配置処理０、１、２及び３の４種類がある。なお、本実施例で言う「再配置処理」とは、或るティア内のページから別のティア内のページにデータをマイグレーションすることである。その際、マイグレーション元のページに割り当てられていた仮想領域には、マイグレーション元のページに代えてマイグレーション先のページが割り当てられる。【００４６】
業務管理テーブル２３７は、どの業務（ＯＳ）がどのＶＶＯＬのどの仮想領域にアクセスできるかを表す。このテーブル２３７の詳細は、後に図５を用いて説明する。【００４７】
ティア−メディア管理テーブル２３８は、どのティアがどの種類のメディアで構成されているかを表す。このテーブル２３８の詳細は、後に図６を用いて説明する。【００４８】
実配置履歴管理テーブル２３９は、どの時刻でどんな実配置であったかの履歴を表す。このテーブル２３９の詳細は、後に図７を用いて説明する。【００４９】
ページ性能管理テーブル２４０は、どの仮想ページに割り当てられているページがどの時間帯でどのようなアクセス頻度であったかを表す。このテーブル２４０の詳細は、後に図８を用いて説明する。【００５０】
ティア判定基準テーブル２４１は、どんなアクセス頻度のページ内のデータがどのティアに配置されるべきかを表す。このテーブル２４１の詳細は、後に図９を用いて説明する。【００５１】
理想ティア管理テーブル２４２は、どのようなデータ配置が理想であるかを時点別に表す。具体的には、例えば、テーブル２４２は、どの仮想領域に割り当てられているページ内のデータがどの時刻でどのティアに配置されているのが理想であるかを表す。このテーブル２４２の詳細は、後に図１０を用いて説明する。【００５２】
再配置性能管理テーブル２４３は、再配置の方向と性能の関係を表す。このテーブル２４３の詳細は、後に図１１を用いて説明する。【００５３】
再配置時間管理テーブル２４４は、再配置方向とページ数と再配置にかかる時間との関係を時刻別に表す。このテーブル２４４の詳細は、後に図１２を用いて説明する。【００５４】
再配置開始時刻管理テーブル２４５は、どの時刻にどのページ内のデータをどのティアに配置するかを表す。このテーブル２４５の詳細は、後に図１３を用いて説明する。【００５５】
マッピングテーブル２４６は、どの仮想領域にどのページが割り当てられているかを表す。このテーブル２４６の詳細は、後に図２３を用いて説明する。【００５６】
プール管理テーブル２４７は、どのページがどのティアに含まれていてどのようなアクセス頻度であり使用中か未使用かを表す。このテーブル２４７の詳細は、後に図２４を用いて説明する。【００５７】
再び図２を参照する。【００５８】
主メモリ２１４は、必要に応じて、不揮発メモリ２３０に記憶された各プログラム２３１〜２３６が読み込まれる。ＣＰＵ２１３が、主メモリ２１４に読み込まれた各プログラム２３１〜２３６を実行することにより、後述する種々の処理が行われる。【００５９】
キャッシュメモリ２１５は、ホスト計算機１０２から受信したデータおよびディスク２２２から読み出されたデータを一時的に記憶する。【００６０】
ホストＩＦ２１６は、通信線１１４、ネットワーク（１）１１１、通信線１１５を介してホスト計算機１０２に接続される。ホストＩＦ２１６で、アクセスコマンド（ライトコマンド又はリードコマンド）が受信される。【００６１】
管理ＩＦ２０７は、通信線１１７、ネットワーク（２）１１２、通信線１１６を介して管理計算機１０３に接続される。管理ＩＦ２０７は、例えばＮＩＣ（Network Interface Card）である。【００６２】
ディスクＩＦ２１８は、各ディスク２２２との間のデータ送受信を行う。ディスクＩＦ２１８は、通信路２２１を介して各ディスク２２２にそれぞれ接続される。【００６３】
ストレージ装置１０１の基本的動作を簡単に説明する。【００６４】
ホスト計算機１０２からライトコマンドを受信した場合、制御装置２１１は、ホスト計算機１０２から受信したライトデータをキャッシュメモリ２１５に記憶する。制御装置２１１は、キャッシュメモリ２１５に記憶しているライトデータを、ディスクＩＦ２１８を介してディスク２２２に書き込む。なお、制御装置２１１は、ライトデータをキャッシュメモリ２１５に記憶した時点で、ライトコマンドの処理が完了した旨をホスト計算機１０２に通知する構成でもよいし、或いは、ライトデータをディスク２２２に書き込んだ時点で、ライトコマンドの処理が完了した旨をホスト計算機１０２に通知する構成でもよい。【００６５】
ホスト計算機１０２からリードコマンドを受信した場合、制御装置２１１は、そのリードコマンドに従うデータ（リード対象データ）がキャッシュメモリ２１５に記憶されているか否かを調べる。リード対象データがキャッシュメモリ２１５に記憶されている場合、制御装置２１１は、そのデータをキャッシュメモリ２１５から読み出し、ホストＩＦ２１６を介してホスト計算機１０２に送信する。リード対象データがキャッシュメモリ２１５に記憶されていない場合は、制御装置２１１は、ディスクＩＦ２１８を介して１以上のディスク２２２からリード対象データを読み出し、そのデータをキャッシュメモリ２１５に記憶する。そして、制御装置２１１は、キャッシュメモリ２１５に記憶されているリード対象データを、ホストＩＦ２１６を介してホスト計算機１０２に送信する。【００６６】
図３は、管理計算機１０３の構成を示す。【００６７】
管理計算機１０３の構成は、一般的な構成と同じである。例えば、管理計算機１０３は、記憶資源と、通信インタフェース装置と、入力装置３０６と、出力装置３０７と、それらに接続されたＣＰＵ３０１とを有する。通信インタフェース装置は、管理ＩＦ３０８である。記憶資源は、例えば、主メモリ３０２及びディスク３０４を有する。ＣＰＵ３０１、主メモリ３０２、ディスク３０４、ポインティング装置３０５、入力装置３０６、出力装置３０７および管理ＩＦ３０８は、バス３０３を介して相互に接続される。【００６８】
入力装置３０６は、例えば、キーボードやポインティングデバイスである。【００６９】
出力装置３０７は、例えば、表示装置である。【００７０】
ディスク３０４は、ＵＩ（User Interface）制御プログラム３１１およびストレージ通信プログラム３１２を記憶する。【００７１】
主メモリ３０２に、ディスク３０３からＵＩ制御プログラム３１１およびストレージ通信プログラム３１２がロードされる。ＣＰＵ３０１は、主メモリ３０２に記憶されたプログラムを実行することによって、ＵＩ制御処理およびストレージ通信処理を実行する。【００７２】
ＵＩ制御プログラム３１１は、後述のページ再配置設定画面１４００等の画面を出力装置３０７に表示する。また、ＵＩ制御プログラム３１１は、入力装置３０６を介して管理者（管理者以外のユーザでも良い）から入力された情報を主メモリ３０２に記憶する。【００７３】
ストレージ通信プログラム３１２は、ネットワーク（２）１１２を介してストレージ装置１０１と通信する。例えば、このプログラム３１２は、管理者から入力された情報を必要に応じてストレージ装置１０１に送信する。【００７４】
ホスト計算機１０２のハードウェア構成は、一般的な計算機と同じである。すなわち、ホスト計算機１０２は、通信インタフェース装置と、記憶資源と、それらに接続されたＣＰＵとを有する。通信インタフェース装置としては、例えば、ネットワーク（１）１１１を介した通信を行うためのホストバスアダプタ（ＨＢＡ）と、ネットワーク（３）１１３を介した通信を行うためのＮＩＣである。記憶資源は、例えば、メモリを有する。【００７５】
図４は、業務とＶＶＯＬとページとの関係の概要を示す。【００７６】
図４に示すように、本実施例では、業務は、ＯＳ４１１である。また、ＶＶＯＬ４２１があり、ＶＶＯＬ４２１が、複数の仮想領域４２４で構成されている。また、１つのプール４３０が、複数のティア４３１で構成されており、各ティア４３１が、複数のページ４３２で構成されている。以下、図４を用いた説明では、ＯＳ４１１として、ＯＳ１〜３があり、ＶＶＯＬとして、ＶＶＯＬ１００、ＶＶＯＬ２００及びＶＶＯＬ２０１があり、ティアとして、ティア０〜２があるとする。そして、ティアのＩＤ（番号）が若いほど、高性能であるとする。【００７７】
図４によれば、別々のホスト計算機１０２にあるＯＳ１およびＯＳ２が、ＶＶＯＬ１００を共有している。例えば、ＶＶＯＬ１００内の仮想領域１〜２０が、ＯＳ１からアクセス可能な範囲であり、ＶＶＯＬ１００内の仮想領域２１〜４５が、ＯＳ２からアクセス可能な範囲である。【００７８】
また別のホスト計算機１０２にあるＯＳ３が、ＶＶＯＬ２００及び２０１を使用している。ＯＳ３は、ＶＶＯＬ２００及び２０１の全域（全ての仮想領域）にアクセス可能である。【００７９】
例えば、ＶＶＯＬ１００内の仮想領域２１〜４５の各々に、ティア２内のページ４３２が割り当てられている。例えば、仮想領域２１内のデータは、実際には、仮想領域２１に割り当てられているページに格納されている。そして、ページに格納されているデータは、実際には、ページの基になっている１以上のディスク２２２に格納されている。【００８０】
プール４３０は、性能の異なるメディアで構成されているが、言い換えれば、プール４３０は、複数のティアを有する。上位のティア０が、高性能のメディアであり、中位のティア１が、中性能のメディアであり、下位のティア２が、低性能のメディアである。なお、ティアの数は、３段階に限らず、３段階より多くても少なくても良い。また、プール４３０は、複数個あっても良い。【００８１】
図４によれば、ＶＶＯＬ１００内の仮想領域１、２及び２０について、データ再配置が行われた。具体的には、例えば、点線で示すように、ＶＶＯＬ１００内の仮想領域１〜２０の各々には、ティア２内のページ４３２が割り当てられていたが、データ再配置が行われたため、仮想領域２０には、ティア２内のページ４３２に代えてティア１内のページ４３２が割り当てられ、仮想領域１及び２には、ティア２内のページ４３２に代えてティア０内のページ４３２が割り当てられた。本実施例では、業務単位（ＯＳ単位）で、ページ再配置を行うことができる。【００８２】
以上が、業務とＶＶＯＬとページとの関係の概要の説明である。なお、業務としては、ＯＳに代えて又は加えて、アプリケーションプログラム、仮想計算機、別のストレージ装置などの別種のアクセス元を採用することができる。【００８３】
以下、ストレージ装置１０１の不揮発性メモリ２３０に記憶されている各テーブルを説明する。【００８４】
図５は、業務管理テーブル２３７を示す。【００８５】
業務管理テーブル２３７は、例えば、業務毎に、下記の情報を有する。
＊業務ＩＤ５０１：業務（例えばゲストＯＳ）のＩＤである。
＊ＶＶＯＬ番号５０２：ＶＶＯＬの識別番号である。
＊ＶＡ番号５０３：仮想領域（ＶＡ）の識別番号である。仮想領域は、ＬＢＡ（Logical Block Address）等で識別されてもよい。
＊再配置タイプ５０４：どのような種類の再配置処理を行うかを表す。具体的には、再配置処理０〜３のいずれを行うかを表す。【００８６】
このテーブル２３７によれば、例えば、ＯＳ２がＶＶＯＬ１００の仮想領域２１〜４５にのみアクセス可能となっており、且つ、ＯＳ２がアクセス可能な仮想領域２１〜４５については再配置処理３が行われることがわかる。【００８７】
図６は、ティア−メディア管理テーブル２３８を示す。【００８８】
ティア−メディア管理テーブル２３８は、例えば、ティア毎に、下記の情報を有する。
＊ティア番号：ティアの識別番号である。
＊メディア種別：ティアを構成するメディアの種別を表す。【００８９】
このテーブル２３８によれば、ティア０が、ＳＳＤメディア（１以上のＳＳＤに基づくメディア）であり、ティア１が、ＳＡＳメディア（１以上のＳＡＳ−ＨＤＤに基づくメディア）であり、ティア２が、ＳＡＴＡメディア（１以上のＳＡＴＡ−ＨＤＤに基づくメディア）であることがわかる。【００９０】
なお、本実施例で言う「メディア」とは、複数のページの集合である。【００９１】
また、ティア−メディア管理テーブル２３８は、例えば、ストレージ装置１０１の不揮発性メモリ２３０に、ティアとメディアの関係を定義するプログラムが格納され、そのプログラムを実行するによって作成されてもよいし、或いは、例えば、管理計算機１０３からティアとメディアの関係を示す情報を受け取り、それをストレージ装置１０１が読み込むことで作成されてもよい。【００９２】
図７は、実配置履歴管理テーブル２３９を示す。【００９３】
実配置履歴管理テーブル２３９は、図７に示す通り、業務毎に存在する。１つのテーブル２３９は、例えば、時刻毎に、下記の情報を有する。
＊時刻７０１：実配置が検出された時刻を表す情報である。
＊ＶＡ番号７０２：仮想領域の識別番号である。
＊ティア番号７０３：ティアの識別番号である。【００９４】
このテーブル２３９によれば、実配置は、定期的に（例えば５分おきに）検出される。また、このテーブル２３９によれば、２００９／１０／０１／０９／００（２００９年１０月１日の０９時００分）の時点では、仮想領域２にはティア２内のページが割り当てられていたことがわかる。【００９５】
テーブル２３９は、業務毎に用意されることに代えて、全ての業務に１つであっても良い。その場合、テーブル２３９は、前述の情報７０１〜７０３に加えて、例えば、業務ＩＤを有する。【００９６】
図８は、ページ性能管理テーブル２４０を示す。【００９７】
ページ性能管理テーブル２４０は、図８に示す通り、業務毎に存在する。１つのテーブル２４０は、時間帯毎に、下記の情報を有する。
＊時刻８０１：時間帯の開始時刻を表す。
＊ＶＡ番号８０２：仮想領域の識別番号である。
＊ＩＯＰＳ８０３：仮想領域に割り当てられているページのＩＯＰＳ（ＩＯ  Ｐｅｒ  Ｓｅｃｏｎｄ）を表す。つまり、本実施例では、アクセス頻度の単位として、ＩＯＰＳが採用されている。アクセス頻度の単位は、ＩＯＰＳに限らず、単位時間当たりのアクセス数を表す他の単位であっても良い。また、アクセス頻度に限らず、他のアクセス負荷を表す情報（例えば、単位時間当たりにページとの間で送受信されたデータの量）が記録されても良い。【００９８】
このテーブル２４０によれば、２００９／１０／０１／０９／００〜２００９／１０／０１／０９／０５の時間帯（２００９／１０／０１／０９／０５を含まない）において、仮想領域２に割り当てられているページのアクセス頻度が、２５ＩＯＰＳであることがわかる。【００９９】
ページ性能管理テーブル２４０は、ページ性能測定プログラム２３３に従って、ページに対するアクセスに応じて更新される。例えば、２００９年１０月０１日の０９時０２分に、ＯＳ１からのライトコマンドに応じて、仮想領域２に割り当てられているページにライトが生じた場合、ページ性能測定プログラム２３３が、２００９年１０月０１日の０９時０２分が属する時間帯（２００９／１０／０１／０９／００〜２００９／１０／０１／０９／０５）及び仮想領域２に対応したＩＯＰＳ８０３を更新する。また、プログラム２３３は、テーブル２４０に記録されている最近の時間帯を過ぎた場合には、テーブル２４０に、新たな時間帯に対応した行を追加し、その行に、その新たな時間帯でのアクセス頻度を記録する。図８のテーブル２４０によれば、定期的に（例えば５分おきに）、行が追加される。なお、プログラム２３２は、テーブル２４０の行数があらかじめ決められた上限値に達した場合、一つ以上の行（例えば最も過去の時間帯に対応した行）を削除してもよい。【０１００】
テーブル２４０は、業務毎に用意されることに代えて、全ての業務に１つであっても良い。その場合、テーブル２４０は、前述の情報８０１〜８０３に加えて、例えば、業務ＩＤを有する。【０１０１】
図９は、ティア判定基準テーブル２４１を示す。【０１０２】
ティア判定基準テーブル２４１は、例えば、ティア毎に、下記の情報を有する。
＊ティア番号９０１：ティアの識別番号である。
＊ティア判定基準（ＩＯＰＳ）９０２：ティアに適したアクセス頻度範囲（ＩＯＰＳ範囲）を表す。なお、本実施例では、各ページのアクセス負荷としてアクセス頻度が測定されるため、ティア判定基準はアクセス頻度範囲で定義されるが、他種のアクセス負荷が測定される場合には、他種のアクセス負荷範囲でティア判定基準が定義されてもよい。【０１０３】
このテーブル２４１によれば、アクセス頻度が１０〜１９ＩＯＰＳに属するページ内のデータは、ティア１に配置されるべきであることがわかる。【０１０４】
なお、ティア判定基準テーブル２４１は、例えば、ストレージ装置１０１の不揮発性メモリ２３０に、ティアと、ティアの判定基準となる値の関係を定義するプログラムが格納され、そのプログラムを実行するによって作成されてもよいし、或は、例えば、管理計算機１０３からティアと、ティアの判定基準の関係を示す情報を受け取り、それをストレージ装置１０１が読み込むことで作成されてもよい。【０１０５】
図１０は、理想ティア管理テーブル２４２を示す。【０１０６】
理想ティア管理テーブル２４２は、図１０に示す通り、業務毎に存在する。１つのテーブル２４２は、時刻毎に、下記の情報を有する。
＊時刻１００１：時刻を表す。例えば、時刻１００１は、時刻８０１が表す時刻における時及び分に対応する。
＊ＶＡ番号１００２：仮想領域の識別番号である。
＊理想ティア１００３：理想的なティアの識別番号である。【０１０７】
このテーブル２４２によれば、０９時００分では、仮想領域２にティア０内のページが割り当てられていることが理想であることがわかる。【０１０８】
テーブル２４２は、業務毎に用意されることに代えて、全ての業務に１つであっても良い。その場合、テーブル２４２は、前述の情報１００１〜１００３に加えて、例えば、業務ＩＤを有する。【０１０９】
図１１は、再配置性能管理テーブル２４３を示す。【０１１０】
再配置性能管理テーブル２４３は、例えば、再配置方向毎に、下記の情報を有する。
＊再配置方向１１０１：マイグレーション元のティア（メディア）とマイグレーション先のティアを表す情報である。つまり、本実施例において、「再配置方向」とは、どのティアからどのティアにデータがマイグレーションされるかを意味する。
＊再配置性能１１０２：再配置の際の性能、具体的には、例えば、１つのページマイグレーションについてのデータ転送速度（単位時間当たりに転送されるデータの量（例えば、単位はＭＢ／ｓｅｃ））である。なお、本実施例で言う「ページマイグレーション」とは、ページ間で行われるデータのマイグレーションのことである。【０１１１】
このテーブル２４３によれば、ティア２（ＳＡＴＡメディア）からティア１（ＳＡＳメディア）へのページマイグレーションの際の性能（データ転送速度）は、５０ＭＢ／ｓｅｃであることがわかる。【０１１２】
なお、再配置性能管理テーブル２４３は、例えば、ストレージ装置１０１の不揮発性メモリ２３０に、再配置方向とその性能値を算出するプログラムが格納され、そのプログラムを実行するによって作成されてもよいし、或は、例えば、管理計算機１０３から再配置方向とその性能値の関係を示す情報を受け取り、それをストレージ装置１０１が読み込むことで作成されてもよい。【０１１３】
図１２は、再配置時間管理テーブル２４４を示す。【０１１４】
再配置時間管理テーブル２４４は、例えば、時刻毎に、下記の情報を有する。
＊時刻１２０１：ストレージ装置１０１が決定した時刻であって、再配置が完了すべき時刻を表す。
＊再配置方向（ＵＰ）１２０２：再配置方向（ＵＰ）を表す。なお、「再配置方向（ＵＰ）」とは、データのマイグレーション元のメディアよりもデータのマイグレーション先のメディアの方が性能の高いことを意味する。それに対し、再配置方向（ＤＯＷＮ）は、データのマイグレーション元のメディアよりもデータのマイグレーション先のメディアの方が性能が低いことを意味する。テーブル２４４には、情報１２０２として、再配置方向（ＵＰ）に限らず再配置方向（ＤＯＷＮ）が記録されてもよいが、本実施例では、再配置方向（ＵＰ）のみが記録される。その理由は、このテーブル２４４は、後述の再配置処理３（ページのアクセス頻度が変わる前にそのページ内のデータを理想的なティアに自動でマイグレーションしておく処理）で利用されるが、ページのアクセス頻度が変わることの問題は、アクセス頻度が高くなることでアクセス性能の低下が生じる可能性があることにあり、アクセス頻度が低くなってもアクセス性能についての問題はないと考えられるからである。
＊ＶＡ数１２０３：マイグレーション元のページが割り当てられている仮想領域の総数を表す。
＊再配置時間（ｓｅｃ）１２０４：ストレージ装置１０１が算出した、再配置にかかる時間長（単位は秒）を表す。【０１１５】
このテーブル２４４によれば、例えば、０９時００分の時点で、ティア２内の２０個のページからティア０内の２０個のページへのデータのマイグレーション（つまり、２０のページマイグレーション）が完了しているべきであって、その全てのページマイグレーションには６００秒かかることがわかる。【０１１６】
図１３は、再配置開始時刻管理テーブル２４５を示す。【０１１７】
再配置開始時刻管理テーブル２４５は、例えば、再配置毎に、下記の情報を有する。
＊再配置開始時刻１３０１：ストレージ装置１０１が算出した、再配置を開始する時刻を表す。
＊再配置方向１３０２：再配置方向を表す。
＊ＶＡ番号１３０３：マイグレーション元のページが割り当てられている仮想領域の番号のリストである。【０１１８】
このテーブル２４５によれば、０８時５０分に、ティア２からティア１への再配置を開始し、且つ、その再配置に関する対象の仮想領域は、仮想領域３、…、２１、２２及び２３であることがわかる。つまり、仮想領域３、…、２１、２２及び２３に割り当てられている全てのページ内のデータがマイグレーションされる。【０１１９】
また、このテーブル２４３と図１２に示したテーブル２４４からわかるように、将来の或る時刻での理想的なデータ配置を実現するための再配置開始時刻は、再配置方向によっては、異なることがある。なぜなら、同一の時刻１２０１であっても、再配置方向１２０２によって、１つのページマイグレーションにかかると見込まれる時間長やＶＡ番号１３０３にリストアップされている仮想領域の数が異なるために、再配置時間１２０４が異なることがある。【０１２０】
図２３は、マッピングテーブル２４６を示す。【０１２１】
マッピングテーブル２４６は、例えば、仮想領域毎に、下記の情報を有する。
＊ＶＶＯＬ番号２３０１：仮想領域を有するＶＶＯＬの識別番号。
＊ＶＡ番号２３０２：仮想領域の識別番号。
＊ティア番号２３０３：仮想領域に割り当てられているページを有するティアの識別番号。
＊ページ番号２３０４：仮想領域に割り当てられているページの識別番号。【０１２２】
このテーブル２４６によれば、例えば、ＶＶＯＬ１００内の仮想領域１にティア０内のページ００１が割り当てられていることがわかる。また、このテーブル２４６によれば、例えば、ＶＶＯＬ１００内の仮想領域３にいずれのページも割り当てられていないことがわかる（「Ｎ／Ａ」は、Ｎｏｔ  Ａｌｌｏｃａｔｅｄの略）。【０１２３】
図２４は、プール管理テーブル２４７を示す。【０１２４】
プール管理テーブル２４７は、例えば、ページ毎に、下記の情報を有する。
＊ティア番号２４０１：ページを有するティアの識別番号。
＊ページ番号２４０２：ページの識別番号。
＊ステータス２４０３：ページが使用中（割当て済み）か未使用（未割当て）かを表す。【０１２５】
このテーブル２４７によれば、例えば、ティア０内のページ００１が使用中であることがわかる。また、このテーブル２４７によれば、例えば、ティア１内のページ２００が未使用であることがわかる。【０１２６】
なお、図示しないが、ページと実際の格納位置との関連付けは、別途管理されている。例えば、ＲＡＩＤグループを基に論理ボリューム（論理的な記憶デバイス）が形成され、メディアが１以上の論理ボリュームで構成され、各論理ボリュームは複数のページで構成されていて、且つ、どの論理ボリュームがどのＲＡＩＤグループのどのアドレス範囲に対応しているかが管理されているとする。この場合、論理ボリュームにおけるページの位置（アドレス）を基に、そのページに格納されるデータは、実際には、ＲＡＩＤグループを構成する複数のディスク２２２のどこに格納されるかを算出することができる。【０１２７】
以上が、不揮発性メモリ２３０が記憶する各テーブルについての説明である。【０１２８】
以下、ストレージ装置１０１で行われるライト処理及びリード処理を説明する。ライト処理及びリード処理において、仮想領域に割り当てられているページにアクセスが生じた場合に、そのページのアクセス頻度が更新される。【０１２９】
＜ライト処理＞
（ａ１）ページ配置プログラム２３６は、ライトコマンドをホスト計算機１０２内の業務から受信する。
（ａ２）プログラム２３６は、ライトコマンドが有するアクセス先情報を基に、ライト先ＶＶＯＬとライト先仮想領域を特定する。アクセス先情報は、アクセス先を表す情報であり、例えば、ＶＶＯＬの番号と、仮想領域のＬＢＡとを有する。
（ａ３）プログラム２３６は、ライトコマンドに従うライト対象のデータをキャッシュメモリ２１５に格納する。プログラム２３６は、この段階で、ホスト計算機１０２にライト完了を応答して良い。
（ａ４）プログラム２３６は、マッピングテーブル２４６を基に、上記（ａ２）で特定されたライト先仮想領域にページが割り当てられているかを判断する。
（ａ５）上記（ａ４）の判断の結果が肯定的であれば、プログラム２３６は、ライト先仮想領域に割り当てられているページに、キャッシュメモリ２１５内のライト対象のデータを書き込む。
（ａ６）上記（ａ４）の判断の結果が否定的であれば、プログラム２３６は、プール管理テーブル２４７を基に、プール内の未使用ページ（どの仮想領域にも割り当てられていないページ）を特定する。ここで、プログラム２３６は、なるべく上位のティア内の未使用ページを特定して良い。
（ａ７）プログラム２３６は、上記（ａ６）で特定したページをライト先仮想領域に対応付ける。具体的には、例えば、プログラム２３６は、マッピングテーブル２４６に、ライト先仮想領域に対応したティア番号２３０３及びページ番号２３０４として、割り当てたページを有するティアの番号とそのページの番号とを登録する。また、例えば、プログラム２３６は、プール管理テーブル２４７に、割り当てたページに対応するステータス２４０３として、「使用中」を登録する。
（ａ８）プログラム２３６は、上記（ａ６）で特定したページに、キャッシュメモリ２１５内のライト対象のデータを書き込む（プログラム２３６は、この段階で、ホスト計算機１０２にライト完了を応答して良い）。
（ａ９）ページ性能測定プログラム２３３は、上記（ａ５）又は（ａ８）において、ライトコマンドの送信元の業務に対応したページ性能管理テーブル２４０における、ライト先仮想領域に対応したＩＯＰＳ８０３を更新する。【０１３０】
＜リード処理＞
（ｂ１）ページ配置プログラム２３６は、リードコマンドをホスト計算機１０２内の業務から受信する。
（ｂ２）プログラム２３６は、リードコマンドが有するアクセス先情報を基に、リード元ＶＶＯＬとリード元仮想領域を特定する。
（ｂ３）プログラム２３６が、リード対象のデータがキャッシュメモリ２１５に残っているか否かを判断する。
（ｂ４）上記（ｂ３）の判断の結果が肯定的の場合、プログラム２３６は、キャッシュメモリ２１５内のリード対象データを、ホスト計算機１０２に送信する。この場合、リード元仮想領域に割り当てられているページのＩＯＰＳ８０３（リードコマンドの送信元の業務に対応したテーブル２４０におけるＩＯＰＳ８０３）は、更新されない。
（ｂ５）上記（ｂ３）の判断の結果が否定的の場合、プログラム２３６は、マッピングテーブル２３６を基に、上記（ｂ２）で特定されたリード元仮想領域にページが割り当てられているかを判断する。
（ｂ６）上記（ｂ５）の判断の結果が否定的であれば、プログラム２３６は、所定のデータ（例えばエラー）をホスト計算機１０２内の業務に送信する。
（ｂ７）上記（ｂ５）の判断の結果が肯定的であれば、プログラム２３６は、リード元仮想領域に割り当てられているページからデータを読み出し、そのデータをキャッシュメモリ２１５に書き込む。そして、プログラム２３６は、キャッシュメモリ２１５内のそのデータをホスト計算機１０２内の業務に送信する。
（ｂ８）ページ性能測定プログラム２３３は、上記（ｂ６）において、リードコマンドの送信元の業務に対応したページ性能管理テーブル２４０における、リード元仮想領域に対応したＩＯＰＳ８０３を更新する。【０１３１】
前述したように、本実施例では、再配置処理０、１、２及び３の４種類の再配置処理が行われる。再配置処理０〜３のうちのどの再配置処理を行うかは、管理者が予め決めて設定しておくことができる。【０１３２】
再配置処理０は、ページのアクセス頻度がそのページを有するメディアに対応したアクセス頻度範囲に属していないこと（データの配置が不適切であること）が検出された場合に、そのページ内のデータを、そのページのアクセス頻度が属するアクセス頻度範囲に対応したメディア内のページにマイグレーションする処理である。【０１３３】
再配置処理１は、過去の実配置の履歴を基に、管理者所望の時刻（或いはその時刻が属する時間帯）でのデータ配置を復元する処理である。【０１３４】
再配置処理２は、過去のアクセス頻度の履歴を基に、管理者所望の時刻（或いはその時刻が属する時間帯）で理想的なデータ配置を実現する処理である。【０１３５】
再配置処理３は、再配置方向（ＵＰ）及び再配置方向（ＤＯＷＮ）のうち再配置方向（ＵＰ）についてのみ行われる。すなわち、再配置処理３は、ページのアクセス頻度が高くなる前にそのページ内のデータを性能のより高いティアに自動でマイグレーションしておく処理である。再配置方向（ＤＯＷＮ）については、再配置処理３は行われず、例えば再配置処理０が行われる。これにより、データのマイグレーションが行われる頻度（ストレージ装置１０１の負荷）と、アクセス頻度が高くなったが故にアクセス性能が低下する可能性との両方を抑えることができる。変形例として、再配置方向（ＤＯＷＮ）についても、再配置処理３が適用されてもよい。すなわち、ページのアクセス頻度が低くなる前にそのページ内のデータがより性能の低いティアに自動でマイグレーションされても良い。【０１３６】
再配置処理０〜３のうちのどの再配置処理を行うかの設定には、例えば、図１４に示す画面が利用される。【０１３７】
図１４は、管理計算機１０３で表示されるページ再配置設定画面１４００を示す。【０１３８】
この画面１４００は、ＵＩ制御プログラム３１１によって出力装置３０７に表示される。この画面１４００は、例えば、選択ボタン１４１０、１４１２、１４１４、１４２０、１４２１と、選択バー１４１１と、入力部１４１３、１４１５と、ボタン１４３１、１４３２とを有する。【０１３９】
選択ボタン１４１０および１４２０は、管理者にストレージ装置１０１がページを再配置する方法を選択させるためのものである。【０１４０】
選択ボタン１４１０の指定型配置は、管理者が、ストレージ装置１０１に対して、再配置する業務ＩＤや時刻を指定する場合に選択される。【０１４１】
一方、選択ボタン１４２０の自動型配置は、管理者が、ストレージ装置１０１に対して再配置の指示を行わずに、ストレージ装置１０１が単独で動作する場合に選択される。【０１４２】
管理者が、選択ボタン１４１０を選択した場合は、選択バー１４１１〜入力部１４１５を選択および入力できるが、選択ボタン１４２０を選択した場合は、選択バー１４１１〜入力部１４１５を選択および入力ができない。【０１４３】
選択バー１４１１は、管理者に設定の対象となる業務を選択させるためのものである。【０１４４】
選択ボタン１４１２および１４１４は、管理者に、ストレージ装置１０１がどの情報を基にページを再配置するかを選択させるためのボタン（つまり、再配置処理１及び２のどちらを選択するかを指定するためのボタン）である。【０１４５】
選択ボタン１４１２の実配置を基にした再配置は、管理者が、ある時点のページ配置に戻す場合に選択される。【０１４６】
選択ボタン１４１４の性能モニタを基にした再配置は、管理者が、ある時点のページ配置を、ストレージ装置１０１が理想ティア管理テーブル２４２に基づいて動作させる場合に選択される。【０１４７】
入力部１４１３は、管理者に、ティア配置を戻したい時刻を指定させるためのものである。【０１４８】
入力部１４１５は、管理者に、理想的なティア配置にしたい時刻を指定させるためのものである。【０１４９】
ボタン１４３１は、管理者によって画面１４００に入力された情報を確定させるためのものである。【０１５０】
ボタン１４３２は、管理者によって画面１４００に入力された情報を取り消すためのものである。【０１５１】
本実施例では、業務毎に、例えば、下記のように、再配置処理０〜３のうちのいずれの再配置処理を行うかを選択することができる。
＊再配置処理０〜３のうち再配置処理０だけが行われるようにするためには、管理者は、「通常配置」を選択する。
＊再配置処理１が行われるようにするためには、管理者は、「指定型配置」と、「実配置を基にした配置」とを選択する。
＊再配置処理２が行われるようにするためには、管理者は、「指定型配置」と、「性能モニタ情報を基にした配置」とを選択する。
＊再配置処理３が行われるようにするためには、管理者は、「自動型配置」を選択する。【０１５２】
画面１４００は、図１４に示す構成に限らない。例えば、選択ボタン（ラジオボタン）や選択バー（プルダウンメニュー）等に代えて又は加えて、別種の入力ツールが採用されても良い。【０１５３】
ストレージ通信プログラム３１２は、管理者によって選択および入力された設定情報（画面１４００を介して指定された情報）をストレージ装置１０１に送信する。ストレージ装置１０１のＣＰＵ２１３（業務管理プログラム２３１）は、管理計算機１０３から受信した設定情報を、業務管理テーブル２３７に登録し、再配置処理の選択処理を実行する。【０１５４】
以下、本実施例で行われる種々の処理を詳細に説明する。【０１５５】
＜再配置処理の選択処理＞。【０１５６】
図１５は、再配置処理の選択処理を示すフローチャートである。以下の各フローチャートでも同様であるが、各フローチャートは、本発明の理解および実施に必要な範囲で、各処理の概要を示すが、処理の順序は、図示の順序に限定されなくて良い。なお、以下の説明ではステップを「Ｓ」と略記する。【０１５７】
この選択処理は、業務毎に行われる。以下、１つの業務を例に採る（図１５の説明において、「対象業務」と言う）。【０１５８】
業務管理プログラム２３１は、管理計算機１０３から受信した設定情報に、「通常配置」が選択されたことを意味する情報が含まれているか否かを判断する（Ｓ１５１０）。【０１５９】
Ｓ１５１０の判断の結果が肯定的であれば（Ｓ１５１０：ＹＥＳ）、プログラム２３１は、業務管理テーブル２３７における、対象業務のＩＤを含んだ行に、再配置タイプ５０４として、再配置処理０を表す情報を登録する（Ｓ１５１１）。【０１６０】
Ｓ１５１０の判断の結果が否定的であれば（Ｓ１５１０：ＮＯ）、プログラム２３１は、「指定型配置」が選択されたことを意味する情報が上記設定情報に含まれているか否かを判断する（Ｓ１５１３）。【０１６１】
Ｓ１５１３の判断の結果が否定的であれば（Ｓ１５１３：ＮＯ）、プログラム２３１は、業務管理テーブル２３７における、対象業務のＩＤを含んだ行に、再配置タイプ５０４として、再配置処理３を表す情報を登録する（Ｓ１５１７）。【０１６２】
Ｓ１５１３の判断の結果が肯定的であれば（Ｓ１５１３：ＹＥＳ）、プログラム２３１は、「実配置を基にした配置」が選択されたことを意味する情報が上記設定情報に含まれているか否かを判断する（Ｓ１５１４）。【０１６３】
Ｓ１５１４の判断の結果が肯定的であれば（Ｓ１５１４：ＹＥＳ）、プログラム２３１は、業務管理テーブル２３７における、対象業務のＩＤを含んだ行に、再配置タイプ５０４として、再配置処理１と指定された時刻とを表す情報を登録する（Ｓ１５１５）。【０１６４】
Ｓ１５１４の判断の結果が否定的であれば（Ｓ１５１４：ＮＯ）、プログラム２３１は、業務管理テーブル２３７における、対象業務のＩＤを含んだ行に、再配置タイプ５０４として、再配置処理２と指定された時刻とを表す情報を登録する（Ｓ１５１６）。【０１６５】
＜再配置処理０〜３におけるページマイグレーション＞。【０１６６】
再配置処理０〜３のいずれでも、ページマイグレーションが行われるが、ページマイグレーションの詳細は、次の通りである。
＊ページ配置プログラム２３６が、マイグレーション元のページから、そのマイグレーション元のページを有するティアとは別のティア内の任意の未使用ページ（マイグレーション先のページ）に、データをマイグレーションする。
＊プログラム２３６が、マイグレーション元のページに割り当てられている仮想領域（以下、対象仮想領域）に、マイグレーション元のページに代えて、マイグレーション先のページを割り当てる。具体的には、例えば、プログラム２３６は、マッピングテーブル２４６において、対象仮想領域の番号２３０２に対応したティア番号２３０３及びページ番号２３０４を、マイグレーション元のティア及びページの番号に代えて、マイグレーション先のティア及びページの番号に更新する。また、プログラム２３６は、ページ管理テーブル２４１において、マイグレーション元のページに対応したステータス２４０３を「未使用」に更新し、且つ、マイグレーション先のページに対応したステータス２４０３を「使用中」に更新する。【０１６７】
なお、そのページマイグレーションの後に、例えば、マイグレーション先のページに対してアクセスが行われた場合には、ページ性能管理テーブル２４０における、対象仮想領域に対応したＩＯＰＳ８０３が表す値が増加する。【０１６８】
＜再配置処理０に関する処理＞。【０１６９】
＜＜再配置処理０の実行契機の判断＞＞
ページ配置プログラム２３６は、再配置処理０を行うことに対応した業務について、再配置処理０を行うが、再配置処理０の実行契機か否かを判断する。具体的には、例えば、プログラム２３６は、ページ性能管理テーブル２４０と、ティア判定基準テーブル２４１とを基に、不適切なティアに配置されているデータを記憶したページがあるか否かを判断する。より具体的には、例えば、プログラム２３６は、ティアに対応したアクセス頻度範囲に属していないアクセス頻度のページがそのティアにあるか否かを判断する。【０１７０】
＜＜再配置処理０＞＞
プログラム２３６は、上記の実行契機の判断の結果が肯定的の場合に、プログラム２３６は、再配置処理０を行う。すなわち、プログラム２３６は、マイグレーション元のページ内のデータを、そのページのアクセス頻度が属するアクセス頻度範囲に対応したティア内の未使用ページにマイグレーションするページマイグレーションを行う。【０１７１】
＜再配置処理１に関わる処理＞。【０１７２】
＜＜ティア監視処理＞＞。【０１７３】
再配置処理１に関わる処理として、ティア監視処理がある。ティア監視処理では、実配置が特定され、実配置履歴管理テーブル２３９が更新される。ティア監視処理は、再配置処理１を行うことが選択されている業務についてのみ行われてもよいし、再配置処理１を行うことが選択されていない業務についても行われてもよい。【０１７４】
図１６は、ティア監視処理を示すフローチャートである。【０１７５】
ティア監視処理は、定期的に（本実施例では５分間隔で）開始される。【０１７６】
ティア監視プログラム２３２が、業務管理テーブル２３７及びマッピングテーブル２４６を基に、どの業務についてのどの仮想領域にどのティア内のページが割り当てられているかを検出する（Ｓ１６１０）。【０１７７】
プログラム２３２は、Ｓ１６１０の検出結果を基に、実配置履歴管理テーブル２３９を更新する。具体的には、例えば、プログラム２３２は、２００９／１０／０１／０８／５５に開始したティア監視処理において、時刻「２００９／１０／０１／０８／５５」に対応した行を、各業務に対応したテーブル２３９に追加する。また、プログラム２３２は、例えば、ＶＶＯＬ１００の仮想領域１にティア２内のページが割り当てられていることを特定した場合には、ＯＳ１の実配置履歴管理テーブル２３９における、時刻「２００９／１０／０１／０８／５５」に対応した欄に、ＶＡ番号「１」とティア番号「２」とを登録する。【０１７８】
なお、プログラム２３２は、実配置履歴管理テーブル２３９の行数があらかじめ決められた上限値に達した場合、一つ以上の行（例えば最も過去の時刻に対応した行）を削除してもよい。【０１７９】
＜再配置処理１＞。【０１８０】
図１７は、再配置処理１を示すフローチャートである。【０１８１】
再配置処理１は、再配置処理１を行うことが業務管理テーブル２３７上で対応付けられている業務（以下、図１７の説明において「対象業務」と言う）について、対象業務に対応した指定時刻（管理者から指定された時刻）に現在時刻が達していることが検出された場合に、開始される。なお、再配置処理１が行われない間は、例えば定期的に再配置処理０の実行契機か否かが判断されて良い。【０１８２】
ページ配置プログラム２３６が、対象業務に対応した実配置履歴管理テーブル２３９から、指定時刻にマッチするＶＡ番号７０２及びティア番号７０３を抽出する（Ｓ１７１０）。【０１８３】
Ｓ１７１０で抽出された各番号セット（ＶＡ番号７０２とティア番号７０３とのセット）について、プログラム２３６は、次のＳ１７１１を行う。【０１８４】
Ｓ１７１１で、プログラム２３６は、ページマイグレーションが必要か否かを判断する。具体的には、例えば、プログラム２３６は、ＶＡ番号７０２が表す仮想領域に現在割り当てられているページを有するティア（マッピングテーブル２４６から特定されるティア）と、ティア番号７０３が表すティアとが異なるか否かを判断する。異なる場合には、ページマイグレーションが必要であり、同じ場合には、ページマイグレーションは不要である。【０１８５】
Ｓ１７１１の判断の結果が否定的の場合に（Ｓ１７１１：ＮＯ）、プログラム２３６は、Ｓ１７１４を行う。【０１８６】
Ｓ１７１１の判断の結果が肯定的の場合に（Ｓ１７１１：ＹＥＳ）、プログラム２３６は、ティア−メディア管理テーブル２３８を基に、ティア番号７０２が表すティアに対応したメディア種別を特定する（Ｓ１７１２）。【０１８７】
Ｓ１７１３で、プログラム２３６は、ページマイグレーションを行う。このページマイグレーションでは、マイグレーション元のページは、ＶＡ番号７０２に割り当てられているページ（マッピングテーブル２４６から特定されるページ）であり、マイグレーション先のページは、ティア番号７０３が表すティア内の任意の未使用ページ（プール管理テーブル２４７から特定されたページ）である。【０１８８】
Ｓ１７１０で抽出された全ての番号セットについてＳ１７１１が行われていなければ（Ｓ１７１４：ＮＯ）、Ｓ１７１１が行われていない番号セットについて、プログラム２３６は、Ｓ１７１１を行う。一方、Ｓ１７１０で抽出された全ての番号セットについてＳ１７１１が行われていれば（Ｓ１７１４：ＹＥＳ）、プログラム２３６は、この処理は終了する。【０１８９】
＜再配置処理２に関わる処理＞。【０１９０】
再配置処理２に関わる処理として、理想ティア判定処理がある。理想ティア判定処理では、アクセス頻度の履歴に基づくトレンドに従って理想ティア管理テーブル２４２が作成される。理想ティア判定処理は、再配置処理２を行うことが選択されている業務についてのみ行われてもよいし、再配置処理２を行うことが選択されていない業務についても行われてもよい。【０１９１】
＜＜理想ティア判定処理＞＞。【０１９２】
図１８は、理想ティア判定処理を示すフローチャートである。【０１９３】
理想ティア判定プログラム２３４が、ページ性能管理テーブル２４０から性能変動の規則性（性能トレンド）を特定し、その規則性を表すモデル（性能トレンド情報）を作成する（Ｓ１８１０）。性能トレンド情報は、例えば、過去一定期間（例えば１週間）分の各時間帯（例えば５分間隔）での仮想領域毎のアクセス頻度の平均を表す情報である。性能トレンド情報の一例であるテーブルを図２５に示す。このテーブル２５００は、ＯＳ毎にあり、時刻２５０１毎に、ＶＡ番号２５０２と平均ＩＯＰＳ２５０３とを有する。【０１９４】
次に、プログラム２３４は、性能トレンド情報と、ティア判定基準テーブル２４１とを基に、時刻および仮想領域毎に最適なティアを判定し、その判定結果を理想ティア管理テーブル２４２に登録する（Ｓ１８１１）。例えば、図２５に示したテーブルにおいて、ＯＳ１、ＶＶＯＬ１００、時刻０８時５５分、及び仮想領域１に対応したＩＯＰＳが２５なので、仮想領域１内のデータが格納されるページは、２５ＩＯＰＳが属するアクセス頻度範囲に対応したティア０内にあることが理想であると判定され、その判定の結果が、図１０に示すように、ＯＳ１の理想ティア管理テーブル２４２に登録される。【０１９５】
なお、プログラム２３４は、理想ティア管理テーブル２４２の行数があらかじめ決められた上限値に達した場合、一つ以上の行を削除してもよい。【０１９６】
＜＜再配置処理２＞＞。【０１９７】
図１９は、再配置処理２を示すフローチャートである。【０１９８】
再配置処理２は、再配置処理２を行うことが業務管理テーブル２３７上で対応付けられている業務（以下、図１９の説明において「対象業務」と言う）について、対象業務に対応した指定時刻（管理者から指定された時刻）に現在時刻が達していることが検出された場合に、開始される。なお、再配置処理２が行われない間は、例えば定期的に再配置処理０の実行契機か否かが判断されて良い。【０１９９】
ページ配置プログラム２３６が、対象業務に対応した理想ティア管理テーブル２４２から、指定時刻にマッチするＶＡ番号１００２及びティア番号１００３を抽出する（Ｓ１９１０）。【０２００】
Ｓ１９１０で抽出された各番号セット（ＶＡ番号１００２とティア番号１００３とのセット）について、プログラム２３６は、次のＳ１９１１を行う。【０２０１】
Ｓ１９１１で、プログラム２３６は、ページマイグレーションが必要か否かを判断する。具体的には、例えば、プログラム２３６は、ＶＡ番号１００２が表す仮想領域に現在割り当てられているページを有するティア（マッピングテーブル２４６から特定されるティア）と、ティア番号１００３が表すティアとが異なるか否かを判断する。異なる場合には、ページマイグレーションが必要であり、同じ場合には、ページマイグレーションは不要である。【０２０２】
Ｓ１９１１の判断の結果が否定的の場合に（Ｓ１９１１：ＮＯ）、プログラム２３６は、Ｓ１９１４を行う。【０２０３】
Ｓ１９１１の判断の結果が肯定的の場合に（Ｓ１９１１：ＹＥＳ）、プログラム２３６は、ティア−メディア管理テーブル２３８を基に、ティア番号１００２が表すティアに対応したメディア種別を特定する（Ｓ１９１２）。【０２０４】
Ｓ１９１３で、プログラム２３６は、ページマイグレーションを行う。このページマイグレーションでは、マイグレーション元のページは、ＶＡ番号１００２に割り当てられているページ（マッピングテーブル２４６から特定されるページ）であり、マイグレーション先のページは、ティア番号１００３が表すティア内の任意の未使用ページ（プール管理テーブル２４７から特定されたページ）である。【０２０５】
Ｓ１９１０で抽出された全ての番号セットについてＳ１９１１が行われていなければ（Ｓ１９１４：ＮＯ）、Ｓ１９１１が行われていない番号セットについて、プログラム２３６は、Ｓ１９１１を行う。一方、Ｓ１９１０で抽出された全ての番号セットについてＳ１９１１が行われていれば（Ｓ１９１４：ＹＥＳ）、プログラム２３６は、この処理は終了する。【０２０６】
＜再配置処理３に関わる処理＞。【０２０７】
再配置処理３に関わる処理として、前述した理想ティア判定処理と、後述の再配置開始時刻算出処理とがある。再配置開始時刻算出処理では、理想ティア管理テーブル２４２と実配置性能管理テーブル２４３とを基に、時刻及び再配置方向（ＵＰ）毎に再配置開始時刻が算出される。再配置開始時刻算出処理は、再配置処理３を行うことが選択されている業務についてのみ行われてもよいし、再配置処理３を行うことが選択されていない業務についても行われてもよい。【０２０８】
図２０は、再配置開始時刻算出処理を示すフローチャートである。【０２０９】
再配置開始時刻算出処理は、例えば、定期的に開始される。【０２１０】
再配置開始時刻管理プログラム２３６は、理想ティア管理テーブル２４２とマッピングテーブル２４６とを基に、時刻毎に、現在のティアよりも理想ティアの方が上位である仮想領域の数をカウントする（Ｓ２０１０）。具体的には、例えば、下記の処理が行われる。
＊プログラム２３６は、マッピングテーブル２４６を基に、各仮想領域に対応する現在のティアを特定する。
＊プログラム２３６は、理想ティア管理テーブル２４２を基に、各仮想領域に対応する理想のティアを、時刻１００１別に特定する（Ｓ２０１０）。
＊プログラム２３６は、各時刻１００１について、理想ティアの方が現在のティアよりも高い仮想領域の数をカウントする。その際、仮想領域の数は、再配置方向（ＵＰ）の種類別にカウントされる。例えば、現在のティアがティア２で理想ティアがティア１に対応した仮想領域は、再配置方向（ＵＰ）「２→１」についてカウントされ、現在のティアがティア２で理想ティアがティア０に対応した仮想領域は、再配置方向（ＵＰ）「２→０」についてカウントされる。【０２１１】
次に、プログラム２３６は、再配置性能管理テーブル２４３を基に、時刻及び再配置方向（ＵＰ）毎に、再配置時間を算出する（Ｓ２０１１）。ここで、例えば、１つの再配置方向（ＵＰ）についての再配置時間（秒）は、下記の式で算出される。【０２１２】
再配置時間（秒）＝｛（カウントされた仮想領域の数（言い換えれば、マイグレーション元になるページの数））×（１つのページのサイズ）｝／（再配置方向（ＵＰ）に対応した再配置性能１１０２が表す値）。【０２１３】
次に、プログラム２３６は、再配置時間管理テーブル２４４に、時刻１２０１及び再配置方向（ＵＰ）１２０２を登録し、且つ、時刻１２０１及び再配置方向（ＵＰ）毎に、カウントされた仮想領域の数（ＶＡ数）１２０３と、算出された再配置時間１２０４とを、テーブル２４４に登録する（Ｓ２０１２）。【０２１４】
次に、プログラム２３６は、再配置開始時刻管理テーブル２４５を作成する（Ｓ２０１３）。具体的には、例えば、下記の処理が行われる。
＊プログラム２３６は、各時刻１２０１について、再配置方向（ＵＰ）１２０２毎に、時刻１２０１が表す時刻から再配置時間１２０４が表す時間分過去に遡った時刻である再配置開始時刻１３０１を算出する。
＊プログラム２３６は、再配置方向１３０２と再配置開始時刻１３０１との各セットを、テーブル２４５に登録する。
＊プログラム２３６は、再配置方向１３０２及び再配置開始時刻１３０１毎に、ＶＡ番号２４５を登録する。ＶＡ番号２４５は、再配置処理３の対象となる仮想領域の番号のリストである。この仮想領域の番号は、Ｓ２０１０でカウントされた仮想領域の番号である。【０２１５】
＜再配置処理３＞。【０２１６】
図２１は、再配置処理３を示すフローチャートである。【０２１７】
再配置処理３は、再配置処理３を行うことが業務管理テーブル２３７上で対応付けられている業務（以下、図２１の説明において「対象業務」と言う）について、定期的に開始される。この処理が開始される時間間隔は、例えば、理想ティア管理テーブル２４２に記録される時刻１００１の間隔（図１０によれば５分間隔）より短い。【０２１８】
ページ配置プログラム２３６が、再配置開始時刻管理テーブル２４５において最も早い再配置開始時刻１３０１が表す時刻に現在の時刻が達しているか否かを判断する（Ｓ２１１１）。【０２１９】
Ｓ２１１１の判断の結果が肯定的の場合（Ｓ２１１１：ＹＥＳ）、プログラム２３６は、上記の最も早い再配置開始時刻１３０１に対応したＶＡ番号１３０３が表す各仮想領域について、ページマイグレーションを行う。各ページマイグレーションでは、マイグレーション元のページは、ＶＡ番号１３０３が表す仮想領域に割り当てられているページ（マッピングテーブル２４６から特定されるページ）であり、マイグレーション先のページは、上記の最も早い再配置開始時刻１３０１に対応した再配置方向１３０２に従うマイグレーション先ティア内の任意の未使用ページ（プール管理テーブル２４７から特定されるページ）である。上記の最も早い再配置開始時刻１３０１について全てのページマイグレーションが完了した場合、プログラム２３６は、再配置開始時刻管理テーブル２４５から、その開始時刻１３０１に対応した行を削除する。これにより、次に早い再配置開始時刻１３０１が、最も早い再配置開始時刻１３０１となる。【０２２０】
以上が、再配置処理３についての説明である。【０２２１】
なお、再配置処理３が行われない間、及び／又は、Ｓ２１１１の判断の結果が否定的の場合は、例えば再配置処理０の実行契機か否かが判断されて良い。【０２２２】
また、再配置処理３を行うことが選択された業務について、再配置方向１３０２毎に、例えば、下記の処理が行われてよい。
（処理Ａ）再配置開始時刻算出処理が開始されてから、再配置方向１３０２に対応したページマイグレーションが完了するまでの間は、そのページマイグレーションに関わる仮想領域については、再配置処理０が行われなくて良い。その間に再配置処理０が行われると、その仮想領域には、再配置方向１３０２が表すマイグレーション元のティアとは異なるティア内のページが割り当てられることになるからである。例えば、図１３に示す、再配置開始時刻１３０１「０８：５０」及び再配置方向１３０２「２→０」に対応した仮想領域１について述べる。８時５０分になる前に、仮想領域１に割り当てられているページのアクセス頻度が、ティア２のアクセス頻度範囲に属さなくなっても（再配置処理０の実行契機になっても）、仮想領域１について再配置処理０が行われなくて良い。
（処理Ｂ）再配置開始時刻算出処理が開始されてから、再配置方向１３０２に対応したページマイグレーションが完了するまでの間に、そのページマイグレーションに関わる仮想領域についてのアクセス頻度が、その仮想領域に割り当てられているページを有するティアに対応したアクセス頻度範囲に属さなくなった場合には（再配置処理０の実行契機になった場合には）、その仮想領域については、再配置開始時刻１３０１になっていなくても、再配置方向１３０２に従うマイグレーション先ティアへのページマイグレーションが行われて良い。この場合、そのページマイグレーションが済んだ仮想領域の番号は、ＶＡ番号１３０３から除去されて良い。【０２２３】
以上が、本実施例についての説明である。【０２２４】
再配置処理１によれば、管理者所望の時刻（指定時刻）が属する時間帯における過去の時刻のデータ配置が、管理者所望の業務（指定業務）について、指定時刻に復元開始される。このため、指定時刻の後にアクセス頻度が変わるよりも前に（例えば、指定業務が活性化することでアクセス頻度が高くなるよりも前に）、変化後のアクセス頻度に適したデータ配置が実現されることが期待できる。【０２２５】
再配置処理２によれば、指定時刻が属する時間帯での理想的なデータ配置を実現するためのマイグレーション処理が、指定時刻に開始される。このため、指定時刻の後にアクセス頻度が変わるよりも前に、変化後のアクセス頻度に適したデータ配置が実現されることが期待できる。【０２２６】
再配置処理３によれば、理想的なデータ配置が所定の時刻に実現されているようにするために、所定の時刻よりも早い時刻に、理想的なデータ配置を実現するためのマイグレーション処理が開始される。これにより、アクセス頻度が変わるよりも前に変化後のアクセス頻度に適したデータ配置が実現されることの可能性がより高まる。【０２２７】
以上、本発明の実施例を説明したが、本発明は、この実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。【０２２８】
例えば、再配置処理１についての指定時刻（管理者が指定した時刻）から一定時間前に、再配置開始時刻算出処理が行われても良い。この場合、再配置処理１が、指定時刻ではなく再配置開始時刻に開始されて良い。これにより、指定時刻の時点では、指定時刻と同じ時刻での実配置が復元されても良い。なお、再配置処理１を行うことになっている或る業務について、再配置開始時刻算出処理が開始されてから、再配置処理１が完了するまでの間について、再配置処理３について述べた上記（処理Ａ）又は（処理Ｂ）のいずれかが適用されて良い。また、再配置開始時刻算出処理、及び、指定時刻より早い時刻でのマイグレーション開始は、再配置方向（ＵＰ）についてのみ行われても良い。再配置方向（ＤＯＷＮ）については、指定時刻になったときにマイグレーションが開始されても良い。【０２２９】
また、例えば、再配置処理２についての指定時刻（管理者が指定した時刻）から一定時間前に、再配置開始時刻算出処理が行われても良い。この場合、再配置処理２が、指定時刻ではなく再配置開始時刻に開始されて良い。これにより、指定時刻の時点では、指定時刻と同じ時刻での理想的なデータ配置が実現されても良い。なお、再配置処理２を行うことになっている或る業務について、再配置開始時刻算出処理が開始されてから、再配置処理２が完了するまでの間について、再配置処理３について述べた上記（処理Ａ）又は（処理Ｂ）のいずれかが適用されて良い。また、再配置開始時刻算出処理、及び、指定時刻より早い時刻でのマイグレーション開始は、再配置方向（ＵＰ）についてのみ行われても良い。再配置方向（ＤＯＷＮ）については、指定時刻になったときにマイグレーションが開始されても良い。【０２３０】
また、例えば、プールを構成する複数のページのうちの少なくとも１つが、ストレージ装置１０１の外部のストレージ装置内の記憶デバイス（例えば、物理記憶デバイス或いはその物理記憶デバイスに基づく論理記憶デバイス（論理ボリューム））に基づいていても良い。【０２３１】
また、例えば、上記実施例では、再配置処理０〜３の４種類のうちのいずれか１種類が選択されるが、再配置処理０以外の選択可能な処理として、再配置処理１〜３のうちいずれかＮ個が無くても良い（Ｎは、１以上３未満の整数）。
【符号の説明】
【０２３２】
１０１：ストレージ装置
【図１】
2011096017.tif 000003
【図２】
2011096017.tif 000004
【図３】
2011096017.tif 000005
【図４】
2011096017.tif 000006
【図５】
2011096017.tif 000007
【図６】
2011096017.tif 000008
【図７】
2011096017.tif 000009
【図８】
2011096017.tif 000010
【図９】
2011096017.tif 000011
【図１０】
2011096017.tif 000012
【図１１】
2011096017.tif 000013
【図１２】
2011096017.tif 000014
【図１３】
2011096017.tif 000015
【図１４】
2011096017.tif 000016
【図１５】
2011096017.tif 000017
【図１６】
2011096017.tif 000018
【図１７】
2011096017.tif 000019
【図１８】
2011096017.tif 000020
【図１９】
2011096017.tif 000021
【図２０】
2011096017.tif 000022
【図２１】
2011096017.tif 000023
【図２２】
2011096017.tif 000024
【図２３】
2011096017.tif 000025
【図２４】
2011096017.tif 000026
【図２５】
2011096017.tif 000027
【国際調査報告】
2011096017.tif 000028
2011096017.tif 000029