(57)【要約】【課題】複数のアプリケーション又は仮想ホスト又はホストに使用される仮想ボリュームに初期的に割り当てられる実領域のソースとして適切なメディアをアプリケーション又は仮想ホスト又はホスト毎に選択できるようにする【解決手段】Thin Provisioningに従う仮想的な論理ボリュームであり複数の仮想領域で構成され複数のアプリケーションに使用される論理ボリュームである仮想ボリュームがある。ストレージ装置が、仮想ボリュームにおけるライト先の仮想領域を特定するためのライト先情報を含んだライト要求を受信し、且つ、ライト先の仮想領域が未割当の仮想領域の場合、ライト先の仮想領域に対するライト及び／又はそのライト元の識別情報に応じたメディアを、性能が異なりそれぞれが２以上の実領域で構成された複数のメディアから選択し、選択したメディアから実領域をライト先の仮想領域に割り当てる。【選択図】図１
2011227563.tif 000002
【特許請求の範囲】
【請求項１】
Thin Provisioningに従う仮想的な論理ボリュームであり複数の仮想領域で構成され複数のアプリケーションに使用される論理ボリュームである仮想ボリュームに対するデータのライトを制御する方法であって、
（Ａ）前記仮想ボリュームにおけるライト先の仮想領域を特定するためのライト先情報を含んだライト要求を受信し、
（Ｂ）前記ライト先情報を基に特定される前記ライト先の仮想領域が未割当の仮想領域か否かを判断し、
（Ｃ）前記（Ｂ）の判断の結果が肯定的の場合に、前記ライト先の仮想領域に対するライトに応じたメディアを、性能が異なりそれぞれが２以上の実領域で構成された複数のメディアから選択し、選択したメディアから実領域を前記ライト先の仮想領域に割り当てる、
方法。
【請求項２】
請求項１記載の方法であって、
前記（Ｃ）において、前記ライト先の仮想領域に対するライトに応じたメディアであって、前記ライト要求の送信元であるライト元の識別情報に応じたメディアを選択する、
方法。
【請求項３】
請求項２記載の方法であって、
前記仮想ボリュームは、複数のホストからアクセスされ得る仮想的な論理ボリュームである、
方法。
【請求項４】
請求項３記載の方法であって、
前記複数のホストは、ホストの仮想化技術に従って生成される複数の仮想的なホストである、
方法。
【請求項５】
請求項４記載の方法であって、
どのライト元識別情報のライト元からのどんなライトの場合にどのメディアが実領域の初期的な割り当てのソースである初期メディアとなるべきかを表す情報である初期割当てポリシ情報を有し、
前記初期割当てポリシ情報は、管理者からの入力に基づいて更新される情報であり、
前記（Ｃ）において、前記ライト要求のライト元の識別情報と、前記ライト先の仮想領域に対するライトとに対応したメディアを前記初期割当てポリシ情報から特定する、
方法。
【請求項６】
請求項５記載の方法であって、
（Ｐ）仮想領域に割り当てられている第１の実領域から、前記第１の実領域を有する第１のメディアとは別のメディアである第２のメディア内の第２の実領域にデータをマイグレーションする再配置処理を定期的に又は不定期的に行い、
（Ｑ）或るメディアから前記仮想ボリューム内の２以上の仮想領域に初期的に割り当てられた実領域のうち、前記再配置処理後の或る時間帯における、それら２以上の仮想領域に前記或るメディア以外のメディアから割り当てられている実領域、の数を、算出する、
方法。
【請求項７】
請求項６記載の方法であって、
前記初期割当てポリシ情報は、デフォルト値として、ライト元の識別情報及びライトが何でも良いことを意味する値を有し、
前記（Ｃ）において、前記ライト先の仮想領域を有する仮想ボリュームに対してデフォルト値が対応付けられていることが前記初期割当てポリシ情報から特定した場合、前記ライト要求のライト元の識別情報と、前記ライト先の仮想領域に対するライトとに関わらず、前記仮想ボリュームに対応する、前記初期割当てポリシ情報が表すメディアを選択する、
方法。
【請求項８】
請求項７記載の方法であって、
（Ｒ）前記或るメディア以外のメディアについての、前記（Ｑ）で算出された実領域数を基に、前記初期割当てポリシ情報を更新する、
方法。
【請求項９】
ホストに接続されたストレージ装置であって、
性能の異なる複数の物理記憶デバイス群と、
前記複数種類の物理記憶デバイス群に接続されたコントローラと
を備え、
各物理記憶デバイス群は、１以上の物理記憶デバイスで構成されており、
前記複数の物理記憶デバイス群を基に、性能が異なりそれぞれが２以上の実領域で構成された複数のメディアがあり、
前記コントローラは、Thin Provisioningに従う仮想的な論理ボリュームであり複数の仮想領域で構成され複数のアプリケーションに使用される論理ボリュームである仮想ボリュームを管理し、
前記コントローラは、
（Ａ）前記仮想ボリュームにおけるライト先の仮想領域を特定するためのライト先情報を含んだライト要求を前記ホストから受信し、
（Ｂ）前記ライト先情報を基に特定される前記ライト先の仮想領域が未割当の仮想領域か否かを判断し、
（Ｃ）前記（Ｂ）の判断の結果が肯定的の場合に、前記ライト要求の送信元であるライト元ホストの識別情報に応じたメディアを前記複数のメディアから選択し、選択したメディアから実領域を前記ライト先の仮想領域に割り当てる、
ストレージ装置。
【請求項１０】
請求項９記載のストレージ装置であって、
前記（Ｃ）において、前記コントローラが、前記ライト元のホストの識別情報に応じたメディアであって、前記ライト先の仮想領域に対するライトに応じたメディアを選択する、
ストレージ装置。
【請求項１１】
請求項９記載のストレージ装置であって、
前記仮想ボリュームは、複数のホストからアクセスされ得る仮想的な論理ボリュームである、
ストレージ装置。
【請求項１２】
請求項９記載のストレージ装置であって、
前記ホストは、ホストの仮想化技術に従って生成される仮想的なホストであり、
前記仮想ボリュームは、複数の仮想的なホストからアクセスされ得る仮想的な論理ボリュームである、
ストレージ装置。
【請求項１３】
請求項９記載のストレージ装置であって、
前記コントローラが、どのホスト識別情報のライト元からのライトの場合にどのメディアが実領域の初期的な割り当てのソースである初期メディアとなるべきかを表す情報である初期割当てポリシ情報を有し、
前記初期割当てポリシ情報は、管理者からの入力に基づいて更新される情報であり、
前記（Ｃ）において、前記コントローラが、前記ライト元ホストの識別情報に対応したメディアを前記初期割当てポリシ情報から特定する、
ストレージ装置。
【請求項１４】
請求項１３記載のストレージ装置であって、
前記コントローラが、仮想領域に割り当てられている第１の実領域から、前記第１の実領域を有する第１のメディアとは別のメディアである第２のメディア内の第２の実領域にデータをマイグレーションする再配置処理を定期的に又は不定期的に行い、
或るメディアから前記仮想ボリューム内の２以上の仮想領域に初期的に割り当てられた実領域のうち、前記再配置処理後の或る時間帯における、それら２以上の仮想領域に前記或るメディア以外のメディアから割り当てられている実領域、の数が、算出される、
ストレージ装置。
【請求項１５】
請求項１４記載のストレージ装置であって、
前記或るメディア以外のメディアについての、前記（Ｑ）で算出された実領域数を基に、前記初期割当てポリシ情報が更新される、
ストレージ装置。
【請求項１６】
請求項１３記載のストレージ装置であって、
前記初期割当てポリシ情報は、デフォルト値として、ライト元の識別情報が何でも良いことを意味する値を有し、
前記（Ｃ）において、前記コントローラが、前記ライト先の仮想領域を有する仮想ボリュームに対してデフォルト値が対応付けられていることが前記初期割当てポリシ情報から特定した場合、前記ライト要求のライト元の識別情報に関わらず、前記仮想ボリュームに対応する、前記初期割当てポリシ情報が表すメディアを選択する、
ストレージ装置。
【請求項１７】
（Ａ）Thin Provisioningに従う仮想的な論理ボリュームであり複数の仮想領域で構成され複数のアプリケーションに使用される論理ボリュームである仮想ボリュームに初期的に割り当てられる実領域のソースとなるメディアである初期メディアを、性能が異なりそれぞれが２以上の実領域で構成された複数のメディアから選択し、
（Ｂ）選択された初期メディアを表す値とそれに対応付けられるライト元識別情報とを含んだ第１の初期割当てポリシ情報が有する情報を、前記仮想ボリュームを有するストレージ装置に、そのストレージ装置が有する第２の初期割当てポリシ情報に設定させる、
ことをコンピュータに実行させ、それにより、前記ストレージ装置が、ライト先の仮想領域を特定するためのライト先情報を含んだライト要求をホストから受信し、且つ、そのライト先の仮想領域が未割当の仮想領域であると判断した場合に、前記ライト要求の送信元であるライト元ホストの識別情報に対応した初期メディアを前記第２の初期割当てポリシ情報を基に前記複数のメディアから選択し、選択した初期メディアから実領域を前記ライト先の仮想領域に割り当てる、ことが可能となる、コンピュータプログラムを記憶した記憶媒体。
【請求項１８】
請求項１７記載の記憶媒体であって、
前記ストレージ装置が、仮想領域に割り当てられている第１の実領域から、前記第１の実領域を有する第１のメディアとは別のメディアである第２のメディア内の第２の実領域にデータをマイグレーションする再配置処理を定期的に又は不定期的に行い、
前記コンピュータプログラムは、或るメディアから前記仮想ボリューム内の２以上の仮想領域に初期的に割り当てられた実領域のうち、前記再配置処理後の或る時間帯における、それら２以上の仮想領域に前記或るメディア以外のメディアから割り当てられている実領域、の数を算出する、ことを前記コンピュータに実行させる、
記憶媒体。
【請求項１９】
請求項１８記載の記憶媒体であって、
前記コンピュータプログラムが、前記算出された実領域数を基に、前記第１の初期割当てポリシ情報を更新し、前記ストレージ装置に、更新後の前記第１の初期割当てポリシ情報が有する情報を前記第２の初期割当てポリシ情報に設定させる、ことを前記コンピュータに実行させる、
記憶媒体。
【請求項２０】
請求項１７記載の記憶媒体あって、
前記コンピュータプログラムが、前記ストレージ装置に、デフォルト値としてライト元の識別情報が何でも良いことを意味する値を前記第２の初期割当てポリシ情報に設定させる、ことを前記コンピュータに実行させ、それにより、前記ストレージ装置が、前記ライト先の仮想領域を有する仮想ボリュームに対してデフォルト値が対応付けられていることが前記第２の初期割当てポリシ情報から特定した場合、前記ライト要求のライト元の識別情報に関わらず、前記仮想ボリュームに対応する、前記初期割当てポリシ情報が表すメディアを選択する、ことが可能となる、
記憶媒体。
【請求項２１】
請求項１記載の方法であって、
どんなライトの場合にどのメディアが実領域の初期的な割り当てのソースである初期メディアとなるべきかを表す情報である初期割当てポリシ情報を有し、
前記（Ｃ）において、前記ライト先の仮想領域に対するライトに対応したメディアを前記初期割当てポリシ情報から特定し、
以下の（Ｑ）乃至（Ｓ）を実行する、
（Ｑ）仮想領域に割り当てられている第１の実領域から、前記第１の実領域を有する第１のメディアとは別のメディアである第２のメディア内の第２の実領域にデータをマイグレーションする再配置処理を定期的に又は不定期的に行う、
（Ｒ）或るメディアから前記仮想ボリューム内の２以上の仮想領域に初期的に割り当てられた実領域であって、或るライトに対応した実領域のうち、前記再配置処理後の或る時間帯における、それら２以上の仮想領域に前記或るメディア以外のメディアから割り当てられている実領域、の数を算出する、
（Ｓ）前記初期割当てポリシ情報における、前記或るライトに対応した初期メディアを表す値を、算出された実領域数が最も多いメディアを表す値に更新する、
方法。
【請求項２２】
請求項２１記載の方法であって、
前記或るライトとは、或るライトの時間帯である、
方法。
【請求項２３】
請求項９記載のストレージ装置であって、
前記コントローラが、どのライト元識別情報のライト元からのライトの場合にどのメディアが実領域の初期的な割り当てのソースである初期メディアとなるべきかを表す情報である初期割当てポリシ情報を有し、
前記コントローラが、前記（Ｃ）において、前記ライト要求のライト元の識別情報に対応したメディアを前記初期割当てポリシ情報から特定し、
前記コントローラが、仮想領域に割り当てられている第１の実領域から、前記第１の実領域を有する第１のメディアとは別のメディアである第２のメディア内の第２の実領域にデータをマイグレーションする再配置処理を定期的に又は不定期的に行い、
或るメディアから前記仮想ボリューム内の２以上の仮想領域に初期的に割り当てられた実領域であって、或るライト元識別情報に対応した実領域のうち、前記再配置処理後の或る時間帯における、それら２以上の仮想領域に前記或るメディア以外のメディアから割り当てられている実領域、の数が算出され、
前記初期割当てポリシ情報における、前記或るライト元識別情報に対応した初期メディアを表す値が、算出された実領域数が最も多いメディアを表す値に更新される、
ストレージ装置。
【請求項２４】
請求項２３記載のストレージ装置であって、
前記初期割当てポリシ情報は、どのライト元識別情報のライト元からのどんな時間帯でのライトの場合にどのメディアが実領域の初期的な割り当てのソースである初期メディアとなるべきかを表し、
前記コントローラが、前記（Ｃ）において、前記ライト要求のライト元の識別情報と、そのライト要求を受けた時間帯とに対応したメディアを前記初期割当てポリシ情報から特定する、
ストレージ装置。
【請求項２５】
請求項１７記載の記憶媒体であって、
前記ストレージ装置が、仮想領域に割り当てられている第１の実領域から、前記第１の実領域を有する第１のメディアとは別のメディアである第２のメディア内の第２の実領域にデータをマイグレーションする再配置処理を定期的に又は不定期的に行い、
以下の（Ｐ）乃至（Ｒ）を前記コンピュータに実行させ、
（Ｐ）或るメディアから前記仮想ボリューム内の２以上の仮想領域に初期的に割り当てられた実領域であって、或るライト元識別情報に対応した実領域のうち、前記再配置処理後の或る時間帯における、それら２以上の仮想領域に前記或るメディア以外のメディアから割り当てられている実領域、の数を算出する、
（Ｑ）前記第１の初期割当てポリシ情報における、前記或るライト元識別情報に対応した初期メディアを表す値を、算出された実領域数が最も多いメディアを表す値に更新する、
（Ｒ）更新後の前記第１の初期割当てポリシ情報が有する情報を前記第２の初期割当てポリシ情報に設定させる、
記憶媒体。
【請求項２６】
請求項２５記載の記憶媒体であって、
前記第１の初期割当てポリシ情報は、どのライト元識別情報のライト元からのどんな時間帯でのライトの場合にどのメディアが実領域の初期的な割り当てのソースである初期メディアとなるべきかを表す、
記憶媒体。
【請求項２７】
請求項１記載の方法であって、
前記未割当の仮想領域は、実領域が割り当てられていない仮想領域、又は、所定のデータが書き込まれている実領域である特別実領域が割り当てられている仮想領域である、
方法。
【請求項２８】
請求項９記載の装置であって、
前記未割当の仮想領域は、実領域が割り当てられていない仮想領域、又は、所定のデータが書き込まれている実領域である特別実領域が割り当てられている仮想領域である、
ストレージ装置。
【請求項２９】
請求項１７記載の記憶媒体であって、
前記未割当の仮想領域は、実領域が割り当てられていない仮想領域、又は、所定のデータが書き込まれている実領域である特別実領域が割り当てられている仮想領域である、
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Thin Provisioningに従う仮想的な論理ボリュームへの記憶領域の割り当てに関する。
【背景技術】
【０００２】
Thin Provisioning技術を組み合わせたストレージ階層管理技術が考えられている。そのストレージ階層管理技術では、Thin Provisioningに従う仮想的な論理ボリューム（以下、仮想ボリューム）の単位で、どのメディアから実領域（実体的な記憶領域）を割り当てるかが選択される。例えば、特許文献１によれば、仮想ボリューム毎に、予め、１以上のメディアが対応付けられており、仮想ボリュームに対するライトの際には、その仮想ボリュームに対応付けられている１以上のメディアのうちのいずれから、実領域が割り当てられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−６６２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの仮想ボリュームが複数のアプリケーション又はホスト計算機に使用され、且つ、仮想ボリュームに対する性能要件がそれぞれのアプリケーション又はホスト計算機で異なる場合がある。それについて例えば２つの具体例が考えられる。
【０００５】
第１の具体例として、多くのリクエストを高速に処理する必要のあるオンライン処理アプリケーションと、そのアプリケーションのデータを夜間にバッチで処理する集計アプリケーションと、定期的にバックアップを作成するバックアップアプリケーションとが、１つの仮想ボリュームを使用する場合が考えられる。この場合、オンライン処理アプリケーションが使用する仮想領域（仮想ボリューム内の仮想的な記憶領域）には、高速なメディア内の実領域が割り当てられることが好ましく、それ以外のアプリケーションが使用する仮想領域には、その高速なメディアよりも低速のメディア内の実領域が割り当てられれば良いと考えられる。
【０００６】
しかし、上述した技術によれば、初期的に割り当てられる実領域のソースとしてのメディアが仮想ボリューム単位で決まっているため、仮想ボリュームに対して必ずしも初期的に適切な実領域を割り当てることができない。
【０００７】
第１の具体例において、仮想ボリュームに、初期的には必ず高速なメディアから実領域が割り当てられると設定すると、オンライン処理アプリケーション以外のアプリケーションからのライト先となる仮想領域にも、高速なメディアから実領域が割り当てられることになる。このため、オーバースペック（即ち過度な速度を持つメディアの割り当て）が生じる。逆に、仮想ボリュームに、初期的には必ず低速なメディアから実領域が割り当てられると設定すると、オンライン処理アプリケーションからのライト先となる仮想領域にも、低速なメディアから実領域が割り当てられることになる。このため、オンライン処理アプリケーションからのアクセスについて性能不足が生じてしまう。
【０００８】
第２の具体例として、ホストの仮想化技術（サーバ仮想化技術）が考えられる。ホストの仮想化技術では、ストレージ装置から提供された複数の仮想ボリュームが、「データストア」と呼ばれる仮想的な１つのストレージプールとみなされ、仮想ホストに対して、データストアに基づいて仮想的なディスクが提供される。これは、ストレージ装置が提供する仮想ボリュームと、仮想ホストに提供される仮想的なディスクとの間には、多対多の関係が存在し得るということ、言い換えれば、ストレージ装置が提供する仮想ボリュームが、アプリケーションの異なる複数の仮想ホストに使用され得るということを意味する。
【０００９】
そこで、本発明の目的は、複数のアプリケーションに使用される仮想ボリュームに初期的に割り当てられる実領域のソースとして適切なメディアをアプリケーション又は仮想ホスト又はホスト毎に選択できるようにすることにある。
【課題を解決するための手段】
【００１０】
Thin Provisioningに従う仮想的な論理ボリュームであり複数の仮想領域で構成され複数のアプリケーションに使用される論理ボリュームである仮想ボリュームがある。ストレージ装置が、仮想ボリュームにおけるライト先の仮想領域を特定するためのライト先情報を含んだライト要求を受信し、且つ、ライト先の仮想領域が未割当の仮想領域の場合、ライト先の仮想領域に対するライト及び／又はそのライト元の識別情報に応じたメディアを、性能が異なりそれぞれが２以上の実領域で構成された複数のメディアから選択し、選択したメディアから実領域をライト先の仮想領域に割り当てる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例に係る計算機システムの構成を示す。
【図２】ホスト１０１の構成を示す。
【図３】ストレージ装置１０９の構成を示す。
【図４】ＶＶＯＬ管理表３１２の構成を示す。
【図５】実領域管理表３１３の構成を示す。
【図６】ＲＡＩＤグループ管理表３１４の構成を示す。
【図７】ストレージ階層定義表３１５の構成を示す。
【図８】初期割当ポリシ表３１６の構成を示す。
【図９】管理システム１０３の構成を示す。
【図１０】ホスト管理表３１７の構成を示す。
【図１１】アプリケーション定義表３１８の構成を示す。
【図１２】再配置履歴表４１２の構成を示す。
【図１３】初期設定画面１５０１を示す。
【図１４】ライト処理の流れを示すフローチャートである。
【図１５】再配置処理の流れを示すフローチャートである。
【図１６】初期割当てポリシ作成処理の流れを示す。
【図１７】初期割当てポリシ定義画面１４０１を示す。
【図１８】本発明の一実施例の概要の説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施例を説明する。なお、以下の説明では、「ｘｘｘ表」の表現にて各種情報を説明することがあるが、各種情報は、表以外のデータ構造（例えば、キュー）で表現されていてもよい。データ構造に依存しないことを示すために「ｘｘｘ表」を「ｘｘｘ情報」と呼ぶことができる。
【００１３】
また、以下の説明では、種々の対象の識別情報として、ＩＤ、ＷＷＮ（World Wide Name）、名称が使用されるが、それらは相互に置換可能であるし、また、他種の識別情報（例えば、番号）も採用可能である。
【００１４】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central Processing Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又は通信インタフェース装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００１５】
また、管理システムは、一以上の計算機で構成されて良い。具体的には、例えば、管理計算機が情報を表示する場合、或いは、管理計算機が表示用情報を遠隔の計算機に送信する場合、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んで良い）が、管理システムである。
【００１６】
また、本発明で述べる「時間」には日付情報が含まれていてもよい。さらに、「時間」のデータ表現形式は、所定開始時点からの秒数、ミリ秒、マイクロ秒で表現してもよく、年、月、日、時、分、秒といった形式で表現してもよく、他の形式で表現してもよい。また、「時間」は、特定の瞬間(Point-in-Time)を指し示すものでもよく、時間帯として幅を持ったものでもよい。
【００１７】
なお、本発明における「アプリケーション」とは、以下の（Ａ）及び（Ｂ）、
（Ａ）一つ以上のアプリケーションプログラム、
（Ｂ）（ｂ１）当該プログラムの設定情報、（ｂ２）当該プログラムが処理対象とするデータ、（ｂ３）当該プログラムが受信する処理要求の内容、及び（ｂ４）当該プログラムが処理要求を受信する頻度、のうちの少なくとも１つ、
によって定められる、仮想ホスト又はホストが行う一連のオペレーションを指す。その一例が、前述のオンライン処理、集計処理、或いは、バックアップ処理である。なお、
（＊）アプリケーションプログラムの種類が同じで、処理対象とするデータが異なることで一連のオペレーションの差異につながる例としては、アプリケーションプログラムがＤＢＭＳプログラムで、処理対象とするデータが本番稼動中の基幹業務データである場合と、処理対象とするデータが、分析用データである場合がある。
（＊）アプリケーションプログラムの種類が一部共通で、処理対象とするデータも共通であるが、当該プログラムが受信する処理要求の内容が異なる一例が、前述のオンライン処理と、集計処理やバックアップ処理である。
【００１８】
＜本実施例の概要＞。
【００１９】
図１８は、本発明の一実施例の概要の説明図である。
【００２０】
ストレージ装置１０９にホスト計算機（以後、単にホストと呼ぶ）１０１及び管理システム１０３が接続されている。
【００２１】
管理システム１０３は、ストレージ装置１０９を管理する。管理システム１０３は、ストレージ装置１０９又はホスト１０１に含まれても良い。
【００２２】
ストレージ装置１０９は、プール１６１３と、複数の仮想ボリューム（以下、ＶＶＯＬ）１６１５とを有する。
【００２３】
プール１６１３は、複数の階層で構成されている。言い換えれば、プール１６１３は、性能の異なる複数のメディア１６１１で構成されている。階層の高さは、メディア１６１１の性能に依存する。例えば、複数のメディア１６１１のうち、最も性能の高い第１のメディア（最も高速のメディア）１６１１Ａが、最も高い階層に相当し、最も性能の低い第３のメディア（最も低速のメディア）１６１１Ｃが、最も低い階層に相当する。なお、ここで言う「性能」とは、例えば、アクセス性能である。アクセス性能としては、例えば、レスポンスタイム（例えば、メディアに基づく物理記憶デバイスがデータのアクセス要求をコントローラから受けてからコントローラへ応答が出力されるまでの時間）、或いは、データ転送速度（単位時間当たりに入出力されるデータの量）がある。
【００２４】
各メディア１６１１は、２以上の実領域１６１４で構成されている。従って、プール１６１３は、複数の実領域（実体的な記憶領域）１６１４で構成されている。各メディア１６１１は、１以上の物理記憶デバイス（例えば、複数の物理記憶デバイスで構成されたＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループ）に基づく１以上の実ボリュームの集合で良い。「実ボリューム」とは、物理記憶デバイスに基づく論理ボリュームである。メディア１６１１の性能は、そのメディア１６１１の基になっている物理記憶デバイスの種類、ＲＡＩＤレベル及びコンビネーション（４Ｄ＋２Ｐ、３Ｄ＋１Ｐといった構成）の少なくとも１つに依存する。物理記憶デバイスの種類として、例えば、ＳＳＤ（Solid
State Drive）、ＳＡＳ（Serial Attached SCSI）−ＨＤＤ（Hard Disk Drive）、及びＳＡＴＡ（Serial ATA）−ＨＤＤがある。なお、ＳＳＤは、フラッシュメモリ及びＤＲＡＭ等の半導体メモリを用いた物理記憶デバイスである点が、ＨＤＤと異なる。
【００２５】
ＶＶＯＬ１６１５は、複数の仮想領域（仮想的な記憶領域）１６１６で構成されている。
【００２６】
ホスト１０１に、ホストの仮想化技術（サーバ仮想化技術）が適用されている。ホスト１０１は、複数の仮想ホスト２１３と、データストア１６２１を有する。データストア１６２１は、複数のマウントボリューム１６２５の集合である。マウントボリューム１６２５は、ストレージ装置１０９からマウントされたＶＶＯＬ１６１５に対応した記憶空間である。マウントボリューム１６２５とＶＶＯＬ１６１５が１対１で対応している。データストア１６２１の一部分が、仮想ホスト２１３に論理ボリューム１６２３として提供される。このような構成により、ＶＶＯＬ１６１５と論理ボリューム１６２３との間には、多対多の関係が存在し得る、言い換えれば、ＶＶＯＬ１６１５が、アプリケーションの異なる複数の仮想ホスト２１３に使用され得る。
【００２７】
なお、「マウント」とは、少なくともホスト１０１がＶＶＯＬ１６１５を認識してデータストア１６２１に含めるために必要な管理情報を生成することを指す。さらに、前述の管理情報の一例としては、ＶＶＯＬ１６１５の識別子と、ＶＶＯＬ１６１５に対してホスト１０１が管理するために割り当てる識別子と、の対応がある。また、ＶＶＯＬ１６１５の識別子の例としては、（１）ストレージ装置の識別子とＶＶＯＬ１６１５に割り当てられるストレージ装置内でユニークな識別子や、（２）ストレージ装置のポートの識別子（例えば、ＷＷＮ、ポートＩＤ、及びＩＰアドレスのうちの少なくとも１つ）とＶＶＯＬ１６１５に割り当てられたＬＵＮ（Logical Unit Number）、がある。なお、以後の説明では、ホスト１０１の説明でも「ＶＶＯＬ１６１５」という単語を用いて説明するが、当該説明は、ホスト１０１が認識したＶＶＯＬ１６１５、即ちマウントボリューム１６２５についての説明である。
【００２８】
仮想領域１６１６に対する実領域の割り当てとして、「初期割当て」と「再配置割当て」とがある。
【００２９】
「初期割当て」とは、未割当の仮想領域１６１６に未割当の実領域（いずれの仮想領域１６１６にも割り当てられていない実領域）１６１４が割り当てられることである。従って、「初期割当て」は、ＶＶＯＬ内の当該未割当の仮想領域を含むアドレス範囲（例えばＬＢＡ（Logical Block Address）とライトデータ長）を指定したライト要求を受信した契機で行われてもよい。また、「初期割当て」は、例えば、ＶＶＯＬ１６１５から別のＶＶＯＬ１６１５へのデータのマイグレーションの際に、当該未割当の仮想領域に対するデータ格納が必要となった契機で行われても含まれて良い。なお、上記説明では割当られる実領域は、仮想領域に割当時点で未割当な領域であることが前提であるが、必ずしもそうでなくてもよい。即ち、割当時点で既に別な仮想領域に割り当てられた領域を未割当の仮想領域に割当ても良い。
【００３０】
「未割当の仮想領域」とは、実領域が割り当てられていない仮想領域、或いは、実質的に実領域が割り当てられていない仮想領域（例えば、予め所定のデータが書き込まれている実領域である特別実領域）（例えば、全ビットの値が“０”である実領域）が割り当てられている仮想領域）である。未割当の仮想領域に対するライトが発生した場合、その仮想領域に特別実領域が割り当てられていれば、その仮想領域に、特別実領域に代えて、未割当の実領域（仮想領域に割り当てられていない実領域）が割り当てられ、その実領域に、ライトデータが書き込まれる。特別実領域は、１つのプールにｎ（ｎは自然数）個存在して良い。また、特別実領域は、複数の未割当の仮想領域に共通であって良い。
【００３１】
「再配置割当て」とは、再配置処理において、データのマイグレーション元の実領域１６１４が割り当てられている仮想領域１６１６に、マイグレーション元の実領域１６１４に代えて、データのマイグレーション先の実領域１６１４が割り当てられることである。本実施例では、前述の通り、初期割当ての際に割り当てられる実領域のソースとして適切なメディア１６１１が選択される。なお、再配置割当ての場合は、マイグレーション元の実領域１６１４に格納したデータをマイグレーション先の実領域に移動（またはコピー）することが典型的である。
【００３２】
仮想ホスト２１３からのライトでは、例えば、下記（ａ１）〜（ａ７）が行われる。
（ａ１）仮想ホスト２１３で仮想的に実行されるプログラムは、その仮想ホスト２１３に提供されている仮想的なディスク（仮想ホストディスクと呼ぶ）１６２３に対してライトを要求する。なお、この時のライト要求は、仮想ホストディスク１６２３上のアドレス範囲（仮想ホストディスクアドレス範囲）を指定している。なお、ライトを要求する場合は、仮想ホスト２１３は、ライト対象のデータ（ライトデータ）も生成している。なお、仮想ホスト２１３はホスト１０１が実行するハイパーバイザプログラムの処理により提供される仮想的な計算機であり、同様に稼動ホストディスクも、ハイパーバイザプログラムの処理により、仮想ホスト上で仮想的に実行されるプログラムに対して提供される仮想的なディスクである。
（ａ２）ホスト１０１のハイパーバイザプログラムは、（ａ１）の要求に応じて、仮想ホストディスクアドレス範囲に対応したＶＶＯＬ１６１５のアドレス範囲（例えばＬＢＡ（Logical Block Address）及びライトデータ長）を指定したライト要求及びライトデータと、をストレージ装置１０９に送信する。
（ａ３）ストレージ装置１０９が、（ａ２）で送信されたライト要求を受信する。ストレージ装置１０９は、キャッシュメモリ領域を有しており、ライト要求に従うライトデータを、キャッシュメモリ領域に格納する。ライトデータをキャッシュメモリ領域に書込んだときに、ストレージ装置１０９は、ホスト１０１に、ライト完了報告を応答して良い。
（ａ４）ストレージ装置１０９が、（ａ３）で受信したライト要求が指定するアドレス範囲から、当該アドレス範囲に含まれる仮想領域（以下、ライト先仮想領域）１６１６を特定する。
（ａ５）ストレージ装置１０９が、ライト先仮想領域１６１６が未割当の仮想領域か否かを判断する。
（ａ６）ライト先仮想領域１６１６が未割当の仮想領域であれば、ストレージ装置１０９が、初期割当て処理を行う。初期割当て処理では、ストレージ装置１０９が、ライト元のアプリケーション又はホスト１０１又は仮想ホスト２１３に対応したメディア１６１１を特定し、特定したメディア１６１１から、ライト先仮想領域１６１６に未割当の実領域１６１４を割り当てる。
（ａ７）ストレージ装置１０９は、ライト先仮想領域１６１６に割り当てた実領域１６１４に、ライト対象のデータを書き込む。ライト対象のデータをキャッシュメモリ領域に書込んだときに代えて、ストレージ装置１０９は、ライト対象のデータを実領域１６１４に書込んだときに、ホスト１０１に、ライト完了報告を応答して良い。
【００３３】
一方の仮想ホスト２１３からのリードでは、例えば、下記（Ａ１）〜（Ａ７）が行われる。
（Ａ１）仮想ホスト２１３で仮想的に実行されるプログラムは、その仮想ホスト２１３に提供されている仮想ホストディスク１６２３に対してリードを要求する。なお、この時のリード要求は、仮想ホストディスクアドレス範囲を指定している。
（Ａ２）ホスト１０１のハイパーバイザプログラムは、（Ａ１）の要求に応じて、仮想ホストディスクアドレス範囲に対応したＶＶＯＬ１６１５のアドレス範囲を指定したリード要求を、ストレージ装置１０９に送信する。
（Ａ３）ストレージ装置１０９は、（Ａ２）で送信されたリード要求を受信する。ストレージ装置１０９は、リード要求で指定されたアドレス範囲を指定して過去にライトしたデータ（リード対象のデータ、またはリードデータと呼ぶ）をキャッシュメモリ領域または割当済み実領域から読み出し、ホスト１０１に送信する。
（Ａ４）ホスト１０１のハイパーバイザプログラムは、前述のリードデータを受信し、（Ａ１）にてリードを要求した仮想ホストを特定して、当該仮想ホストにリードデータを仮想的に送信する。
（Ａ５）仮想ホストで仮想的に実行されるプログラムは、要求したリードに対応するリードデータとして、（Ａ４）のリードデータを受信する。
【００３４】
なお、上記説明の「仮想ホストで仮想的に実行されるプログラム」の例は、ＯＳやアプリケーションプログラムである。さらに上記説明で主語を「ストレージ装置」とした説明はストレージ装置に含まれるコントローラの行う処理と考えても良い。
【００３５】
なお、上記（ａ２）、（Ａ２）のライト及びリードにて対象となる仮想ディスクアドレス範囲から仮想ボリューム１６１６のアドレス範囲を特定する処理は、ホスト１０１が有する変換情報に基づいて行われる。
【００３６】
本実施例に係る初期割当て処理は、ライト元のアプリケーション又は仮想ホストまたはホストは、ライト元識別情報及び／又はライト時間帯に対応するという考えが基になっている。
【００３７】
ライト元識別情報は、ライト元を識別するための情報であり、本実施例では、ライト元の仮想ホスト２１３のＷＷＮ（World Wide Name）である。ホストの仮想化技術が適用されていない場合（ホスト１０１に仮想ホスト２１３が無い場合）、ライト元識別情報は、ホスト１０１のＷＷＮ（具体的には、例えば、ホスト１０１が有するインタフェース装置（例えばＨＢＡ（Host
Bus Adapter））に割り当てられているＷＷＮ）であって良い。
【００３８】
ライト時間帯は、例えば、ライト時間が属する時間帯である。ライト時間は、例えば、ライト要求を受信した時間、ライト要求に応答して実領域が割り当てられた時間、又は、ライト要求が有するタイムスタンプが表す時間である。
【００３９】
ライト元のアプリケーションを特定するための方法として、例えば、ストレージ装置１０９又は管理システム１０３がエージェントプログラムを有し、エージェントプログラムによって、ホスト１０１からのライトの際のアプリケーションを問合せる方法が考えられる。しかし、その方法は、現実的でない。
【００４０】
そこで、本実施例では、ライト元のアプリケーション又は仮想ホストまたはホストを特定するために、ライト元識別情報及び／又はライト時間が用いられる。これは、下記の複数の仮定のうちの少なくとも１つが基になっている。
（＊）１つのホスト１０１（又は１つの仮想ホスト２１３）では、１又は少数のアプリケーションプログラムが同時実行される傾向にあり、多くのアプリケーションプログラムが常には同時実行されない傾向にある。
（＊）１つのホスト１０１（又は１つの仮想ホスト２１３）では、上述のように重複する時間帯に、多数のアプリケーションプログラムが実行されない傾向にある一方で、異なる時間帯であれば別なアプリケーションプログラムが実行される場合がある。つまり、１つの時間帯に実行されるアプリケーションプログラムの数は１つである傾向にある。例えば、昼間に第１のアプリケーションプログラムが実行され、夜間に第２のアプリケーションプログラムが実行される。
【００４１】
この方法であれば、実質的に、ストレージ装置１０９が単独でライト元のアプリケーションを特定できる。
【００４２】
なお、本発明において、ライト元識別情報は、例えばライト要求に含まれるライト要求の送信元ホスト１０１（又は仮想ホスト２１３）が有するインタフェース装置のＷＷＮ（またはＷＷＮに基いて生成されたポート番号）等の識別子そのもの、或いは、これらの情報を変換して得られる情報である。
【００４３】
本実施例では、初期割当ポリシ情報が予め用意されている。初期割当ポリシ情報を基に、上記（ａ６）において、ライト元識別情報及び／又はライト時間に対応したメディア１６１１が特定される。
【００４４】
初期割当ポリシ情報では、初めは、実領域のソースとなるメディア（以下、初期メディア）１６１１が、ＶＶＯＬ１６１５単位で定義されている。そして、初期割当ポリシ情報は、再配置処理の結果を基に、適時に更新される。再配置処理では、実領域１６１４間でデータのマイグレーションが行われる。仮想領域１６１６に割り当てられている実領域１６１４が、マイグレーション元の実領域１６１４となり、その実領域１６１４を有するメディア１６１１とは異なるメディア１６１１内の実領域１６１４が、マイグレーション先の実領域１６１４となる。再配置処理において、仮想領域１６１６に割り当てられている実領域１６１４がデータマイグレーションの対象となるか否かは、その仮想領域１６１６に対するアクセスの状況を基に決定される。なお、前述の「アクセス」には、前述のリード及び／又はライトが含まれる。アクセス状況としては、例えば、最終アクセス時間（最終ライト時間及び／又は最終リード時間）、アクセス負荷がある。アクセス負荷としては、例えば、データ転送速度（単位時間当たりに入出力されるデータの量）、又は、アクセス頻度がある。本実施例では、仮想領域１６１６のアクセス頻度を基に、その仮想領域１６１６に割り当てられている実領域１６１４がデータマイグレーションの対象となるか否かが決定される。具体的には、本実施例では、再配置処理のために、例えば、下記（項目１）及び（項目２）がある。
（項目１）各メディア１６１１又は各階層について、アクセス頻度範囲が定義されている。
（項目２）ストレージ装置１０９が、各仮想領域１６１６についてアクセス頻度（例えば、単位は「ＩＯＰＳ」）を管理する。例えば、ストレージ装置１０９は、仮想領域１６１６に対するライト及び／又はリードを行ったとき（又は、仮想領域１６１６に割り当てられた実領域に対してライト及び／又はリードが行われたとき）、その仮想領域１６１６に対応したアクセス頻度を更新する。ストレージ装置１０９は、各仮想領域１６１６についてアクセス頻度を、定期的または繰り返し、例えばゼロにリセットする。
【００４５】
なお、上記項目はアクセス頻度を例としているが、他のアクセス状況でも、各メディア１６１１又は各階層について想定するアクセス状況の範囲が定義され、ストレージ装置１０９が各仮想領域１６１６についてアクセス状況を管理していれば良い。
【００４６】
再配置処理は、定期的に又は不定期的に行われる。再配置処理では、例えば、下記（ｂ１）及び（ｂ２）が行われる。
（ｂ１）ストレージ装置１０９が、各仮想領域１６１６について、仮想領域１６１６のアクセス頻度が、その仮想領域１６１６に割り当てられている実領域１６１４を有するメディア１６１１に対応したアクセス頻度範囲を超えているか否かを判断する。この処理は他のアクセス状況であれば、各仮想領域１６１６のアクセス状況が、その仮想領域１６１６に割り当てられている実領域１６１４を有するメディア１６１１に対応した想定アクセス状況範囲の範囲外であるか否かを判断することになる。
（ｂ２）上記（ｂ１）の判断の結果、範囲外と判断した仮想領域（以下、図１８を参照した説明において「対象仮想領域」と言う）１６１６について、ストレージ装置１０９が、データマイグレーション処理を行う。具体的には、下記（ｂ２１）及び（ｂ２２）が行われる。
（ｂ２１）ストレージ装置１０９は、マイグレーション元の実領域から、そのマイグレーション元の実領域を有するメディア１６１１とは別のメディア１６１１内の任意の未割当の実領域（マイグレーション先の実領域）に、データをマイグレーションする。「マイグレーション元の実領域」とは、対象仮想領域１６１６に割り当てられている実領域である。マイグレーション先の実領域を有するメディア１６１１は、対象仮想領域１６１６のアクセス頻度が収まるアクセス頻度範囲に対応したメディア１６１１である。他のアクセス状況であれば、マイグレーション先の実領域を有するメディア１６１１は、対象仮想領域１６１６のアクセス状況が範囲内である想定アクセス状況範囲に対応したメディア１６１１であると言える。
（ｂ２２）ストレージ装置１０９が、対象仮想領域１６１６に、マイグレーション元の実領域に代えて、マイグレーション先の実領域を割り当てる。
【００４７】
管理システム１０３が、再配置処理の結果を基に、初期割当ポリシ情報の更新を行う。例えば、次のようなケースでは、管理システム１０３が、第１のライト元識別情報及び／又は第１のライト時間帯に対応するメディアが第１のメディア（例えばＳＳＤメディア）１６１１Ａから第２のメディア（例えばＳＡＳメディア）１６１１Ｂになるように初期割当ポリシ情報を更新する。
（＊）第１のライト元識別情報及び／又は第１のライト時間帯に対応したメディアが、第１のメディア１６１１Ａである。そして、第１のライト元識別情報及び／又は第１のライト時間帯に対応する複数の仮想領域に初期割当て処理において割り当てられた複数の実領域のうち、再配置処理の結果、第２のメディア１６１１Ｂに含まれている実領域の数が最も多い。
【００４８】
＜実施例の詳細の説明＞。
【００４９】
＜＜構成に関する説明＞＞。
【００５０】
図１は、本実施例に係る計算機システムの構成を示す。
【００５１】
ＳＡＮ（Storage Area Network）１０５に、ホスト１０１及びストレージ装置１０９が接続されている。ＬＡＮ（Local Area
Network）１０７に、ストレージ装置１０９及び管理システム１０３が接続されている。ストレージエリアネットワーク１０５及び管理用ネットワーク１０７の少なくとも一方は、他種の通信ネットワークでも良い。また、ストレージエリアネットワーク１０５及び管理用ネットワーク１０７は、同種の通信ネットワークであって一体となっていても良い。
【００５２】
ホスト１０１は、ストレージ装置１０９にアクセス要求を送信する。ストレージ装置１０９が、ホスト１０１からＳＡＮ１０９を介してアクセス要求を受信し、そのアクセス要求を処理する。なお、アクセス要求の一例は前述のリード要求又は／及びライト要求である。
【００５３】
管理システム１０３が、ストレージ装置１０９に制御要求（例えば、初期割当てポリシ情報の更新要求）を送信する。ストレージ装置１０９が、管理システム１０３からＬＡＮ１０７を介して制御要求を受信し、制御要求に従う処理を行う。
【００５４】
なお、計算機システムは複数のホスト１０１を含んでも良い。同様に計算機システムは複数のストレージ装置を含んでも良い。
【００５５】
図２は、ホスト１０１の構成を示す。
【００５６】
ホスト１０１は、１以上の計算機で構成されている。ホスト１０１は、ＳＡＮポート２０３と、メモリ２０５と、メモリ２０５及びＳＡＮポート２０３に接続されたＣＰＵ（Central Processing Unit）２０１とを有する。メモリ２０５に代えて又は加えて他種の記憶資源があっても良い。
【００５７】
ＳＡＮポート２０３は、ＳＡＮ１０５に接続され、例えば、ホスト１０１に搭載されたＨＢＡ（Host Bus Adapter）が有するＳＡＮポート２０３には、ＳＡＮポート２０３の識別情報であるＷＷＮが割り当てられている。
【００５８】
メモリ２０５は、前述のハイパーバイザプログラム２１１（ハイパーバイザと省略することもある）と、一つ以上の仮想ホスト情報２１３ｉと、を記憶する。ハイパーバイザ２１１は、ホストの仮想化のためのコンピュータプログラムである。ハイパーバイザ２１１がＣＰＵ２０１で実行されることにより、前述の仮想ホスト情報に基づいて、ホスト１０１で１以上の仮想ホスト（仮想計算機）２１３が稼働する。
【００５９】
各仮想ホスト２１３は、ＳＡＮポート２０３を用いて通信を行う。各仮想ホスト２１３には、仮想的なポートの識別情報である仮想ＷＷＮが割り当てられている。仮想ホスト２１３からのアクセス要求は、例えば、仮想ＷＷＮと、アクセス先情報とを含む。アクセス先情報は、アクセス先の領域を特定するための情報であり、例えば、ＬＵＮ（Logical Unit Number）及びＬＢＡ（Logical Block Address）を含む。ＬＵＮから、アクセス先のＶＶＯＬを特定し、ＬＢＡから、そのＶＶＯＬ内の仮想領域を特定することが可能である。仮想ホスト２１３からのアクセス要求は、ＳＡＮポート２０３を介して出力され、ＳＡＮ１０５を介して、ストレージ装置１０９に届く。
【００６０】
仮想ホスト情報２１３ｉは、仮想ホストの設定内容を格納した情報であり、設定内容の一例としては前述の仮想ＷＷＮ、または／及び仮想ホストディスクの容量等がある。
【００６１】
また、アクセス先情報は、ストレージ装置又はそれが有するポートを識別するための情報（例えば、ＷＷＮ及び／又はポート番号）を含んで良い。
【００６２】
図３は、ストレージ装置１０９の構成を示す。
【００６３】
ストレージ装置１０９は、性能の異なる複数のＲＡＩＤグループ３０５と、複数のＲＡＩＤグループ３０５に接続されておりＲＡＩＤグループ３０５に対するアクセスを制御するコントローラとを有する。
【００６４】
ＲＡＩＤグループ３０５は、同種の複数の物理記憶デバイスで構成されている。例えば、ＲＡＩＤグループ３０５としては、ＳＳＤで構成されたＲＡＩＤグループ、ＳＡＳ−ＨＤＤで構成されたＲＡＩＤグループ、及び、ＳＡＴＡ−ＨＤＤで構成されたＲＡＩＤグループがある。物理記憶デバイスとしては、ＨＤＤやフラッシュメモリデバイスなど、種々の物理記憶デバイスを採用可能である。なお、前述のコントローラとＲＡＩＤグループ３０５とが接続されているとは、実際にはコントローラと物理記憶デバイスとが接続されていることを指す。
【００６５】
ＲＡＩＤグループ３０５に基づく論理ボリューム、つまり実ボリューム（以下、ＲＶＯＬ）３０６が設けられている。性能の同じＲＡＩＤグループ３０５に基づく１以上のＲＶＯＬ３０６で、１つのメディアが構成される。メディアの性能は、そのメディアを構成するＲＶＯＬ３０６の基になっているＲＡＩＤグループ３０５の性能に依存する。ＲＡＩＤグループ３０５の性能は、例えば、物理記憶デバイスの種類（ＲＡＩＤグループ３０５を構成する物理記憶デバイスの種類）、ＲＡＩＤレベル及びコンビネーション（４Ｄ＋２Ｐ、３Ｄ＋１Ｐといった構成）の少なくとも１つに依存する。
【００６６】
メディアは、プールの構成要素である。このため、メディアは、２以上の実領域で構成される。従って、プールは、多数の実領域で構成される。なお、プールは一つのストレージ装置に複数存在してもよく、一つであってもよい。また、いずれのプールにも属さない実ボリュームがあっても良い。
【００６７】
コントローラは、ＳＡＮポート３０２と、ＬＡＮポート３０３と、メモリ３０４と、それらに接続されたＣＰＵ３０１とを有する。メモリ３０４に代えて又は加えて他種の記憶資源があっても良い。また、メモリ３０４は、キャッシュメモリ領域を含む。キャッシュメモリ領域には、ＲＡＩＤグループ３０５に対してリードデータまたはライトデータが一時的に記憶される。
【００６８】
ＳＡＮポート３０２は、ＳＡＮ１０５に接続されるポートである。ＳＡＮポート３０２が、仮想ホスト２１３からのアクセス要求を受信する。
【００６９】
ＬＡＮポート３０３は、ＬＡＮ１０７に接続されるポートである。ＬＡＮポート３０３が、管理システム１０３からの制御要求を受信する。
【００７０】
メモリ３０４が、ストレージ制御プログラム３１１、ＶＶＯＬ管理表３１２、実領域管理表３１３、ＲＡＩＤグループ管理表３１４、ストレージ階層定義表３１５及び初期割当ポリシ表３１６を記憶する。ストレージ制御プログラム３１１は、ＣＰＵ３０１で実行されることにより、アクセス制御処理及び再配置処理を行うことができる。
【００７１】
なお、本発明に置けるストレージ装置は、コントローラと物理記憶デバイスを含めばどのような実装形態でもよい。たとえば、図３のように一つの装置であってもよく、コントローラと物理記憶デバイスが別々な装置でネットワークで相互接続される形態であってもよい。なお、以後の説明ではストレージ装置をストレージサブシステムと呼ぶことがある。また、コントローラが行う処理の一部をホスト計算機に行わせる場合は当該ホスト計算機もストレージサブシステムの一部と考えても良い。
【００７２】
次に、表３１２〜３１６を説明する。
【００７３】
図４は、ＶＶＯＬ管理表３１２の構成を示す。
【００７４】
ＶＶＯＬ管理表３１２は、ＶＶＯＬのどの仮想領域にどの実領域が割り当てられているかや、初期割当て処理において仮想領域にはどのメディアから実領域が割り当てられたかや、再配置処理において仮想領域にはどのメディア内の実領域が割り当てられたかを表す。具体的には、例えば、ＶＶＯＬ管理表３１２は、仮想領域毎に、下記の情報を有する。
（＊）仮想領域を有するＶＶＯＬに対応したＬＵＮを表すＬＵＮ５００。ＬＵＮは、ホスト１０１から指定されるＶＶＯＬ識別情報である。
（＊）仮想領域を有するＶＶＯＬのＩＤを表すＶＶＯＬ  ＩＤ５０１。ＶＶＯＬ  ＩＤは、ホスト１０１から指定されるＩＤではなく、ストレージ装置１０９の内部で認識されるＩＤである。
（＊）仮想領域を有するＶＶＯＬにおける、仮想領域のアドレス範囲（以後はＬＢＡ範囲と呼ぶ場合がある）、を表す情報であるＬＢＡ範囲５０２。
（＊）仮想領域に割り当てられている実領域のＩＤを表す実領域ＩＤ５０３。
（＊）仮想領域に割り当てられている実領域を有する階層又はメディアのＩＤを表す階層ＩＤ５０４。
（＊）仮想領域に初期割当て処理において実領域が割り当てられることの原因となったアクセス（ライト）のアクセス元の識別情報を表す割当時アクセス元ＷＷＮ５０５。
（＊）仮想領域に初期割当て処理において実領域が割り当てられた時間を表す情報である割当時間５０６。
（＊）仮想領域のアクセス頻度を表す情報であるアクセス頻度５０７。アクセス頻度の単位は、例えば、ＩＯＰＳ（１秒当たりのアクセス（Ｉ／Ｏ）の回数）である。なお、当該情報は前述のアクセス状況であってもよい。
（＊）仮想領域に再配置処理において割り当てられた実領域を有する階層又はメディアのＩＤを表す再配置判定結果５０８。
【００７５】
図４の表３１２によれば、ＶＶＯＬ“Volume 1”の仮想領域“0-999”には、実領域“ＳＥＧ１”が割り当てられていることがわかる。また、その仮想領域“0-999”には、メディア“Tier 2”内の実領域が割り当てられているが、その実領域内のデータは、再配置処理において、メディア“Tier 1”内の実領域にマイグレーションされることがわかる。また、その仮想領域“0-999”には、仮想ホスト“WWN-A”からのライトを契機に、初期割当て処理において、2009/12/25の13:45に実領域が割り当てられたことがわかる。また、その仮想領域“0-999”のアクセス頻度が“120”であることがわかる。
【００７６】
なお、図４の例では、未割当の仮想領域のＬＢＡ範囲は登録されないものとして説明した。しかし、項目５０３乃至５０８に値が存在しないことを示すＮＵＬＬ値を入れて未割当のＬＢＡ範囲を登録してもよい。なお、ＶＶＯＬ管理表３１２は複数の表から構成されてもよい。例えば、項目５００乃至５０３だけを抽出した表を別途メモリ２０４に有し、リード要求の処理及びライト要求の処理ではこの別途の表を参照または更新するようにしてもよい。
【００７７】
図５は、実領域管理表３１３の構成を示す。
【００７８】
実領域管理表３１３は、どの実領域が未割当か否かを表す。具体的には、例えば、実領域管理表３１３は、実領域毎に、下記の情報を有する。
（＊）実領域のＩＤを表す実領域ＩＤ６０１。
（＊）実領域が未割当か割当済かを表す割当状況６０２。
（＊）実領域の基になっているＲＡＩＤグループのＩＤを表すＲＡＩＤグループＩＤ６０３。
（＊）実領域の基になっているＲＡＩＤグループの記憶空間における、対象実領域のＬＢＡ範囲、を表すＬＢＡ範囲６０４。
【００７９】
図６は、ＲＡＩＤグループ管理表３１４の構成を示す。
【００８０】
ＲＡＩＤグループ管理表３１４は、ＲＡＩＤグループの性能に関わる情報を有する。具体的には、例えば、ＲＡＩＤグループ管理表３１４は、ＲＡＩＤグループ毎に、下記の情報を有する。
（＊）ＲＡＩＤグループのＩＤを表すＲＡＩＤグループＩＤ７０１。
（＊）ＲＡＩＤグループを構成する物理記憶デバイスの種類を表すＰＤＥＶ種類７０２。
（＊）ＲＡＩＤグループのＲＡＩＤレベルを表すＲＡＩＤレベル７０３。
【００８１】
上記の情報７０１〜７０３のうちの少なくとも１つに代えて又は加えて、他種の情報（例えば、ＲＡＩＤグループのコンビネーションを表す情報）が含まれていても良い。なお、図示の表における情報が一例であることは、図５に限らず、他の図についても同様である。
【００８２】
図７は、ストレージ階層定義表３１５の構成を示す。
【００８３】
ストレージ階層定義表３１５は、メディア（階層）の性能及びアクセス頻度範囲に関わる情報を有する。具体的には、例えば、ストレージ階層定義表３１５は、メディア（階層）毎に、下記の情報を有する。
（＊）メディア（階層）のＩＤを表す階層ＩＤ８０１。
（＊）メディアの性能を表すメディア性能８０２。メディアの性能は、例えば、メディアの基になっているＲＡＩＤグループを構成する物理記憶デバイスの種類と、そのＲＡＩＤグループのＲＡＩＤレベルとで定義される。
（＊）メディア（階層）に対応したアクセス頻度範囲を表すアクセス頻度範囲８０３。なお、アクセス状況として考えた場合、本情報は前述の想定するアクセス状況範囲である。
【００８４】
図８は、初期割当ポリシ表３１６の構成を示す。
【００８５】
初期割当ポリシ表３１６は、前述した初期割当ポリシ情報の一例である。初期割当ポリシ表３１６は、アクセス元ＷＷＮ及びアクセス時間帯に対応したメディア又は階層を表す。具体的には、例えば、初期割当ポリシ表３１６は、アクセス元ＷＷＮ及びアクセス時間帯の組毎に、下記の情報を有する。
（＊）ＶＶＯＬのＩＤを表すＶＶＯＬ  ＩＤ９０１。
（＊）アクセス元仮想ホストのＷＷＮを表すアクセス元ＷＷＮ９０２。
（＊）時間帯を表す時間帯９０３。
（＊）初期メディア（階層）のＩＤを表す初期割当階層９０４。
【００８６】
この表３１６によれば、アクセス元ＷＷＮ及び時間帯の組が、アプリケーションに相当する。従って、アクセス元ＷＷＮ及び時間帯の組毎に初期メディア（階層）が定められるということは、アプリケーション毎に、初期メディア（階層）が定められるということである。
【００８７】
なお、アクセス元ＷＷＮ９０２及び時間帯９０３の両方とも、全ての場合を示すアスタリスク値”＊”を設定することが可能である。これは即ち、アクセス元ＷＷＮ９０２または時間帯９０３の何れかだけで初期メディアを決定する場合があるということである。また、図８では、アクセス元ＷＷＮ９０２及び時間帯９０３を仮想ボリューム毎に定義可能な情報形態としたが、これらはプール単位やストレージ装置単位で定義可能としてもよい。
【００８８】
なお、図８を用いて、ＶＶＯＬ  ＩＤ、アクセス元ＷＷＮ、又は／及び時間に基いて初期割当階層を求める場合、まずは図８の表のＶＶＯＬ  ＩＤ９０１、アクセス元ＷＷＮ９０２、又は／及び時間帯９０３にアスタリスク値を含まない表中の行を用いて初期割当階層を求め、もし該当する行が無い場合にアスタリスク値を含む行を用いて初期割当階層を求めても良い。さらに、図８の表では９０１乃至９０３の３つの条件にアスタリスク値を入れることができるため、どの条件がアスタリスク値の場合から優先してしようする優先条件を定め、当該条件を図８の参照時に考慮してもよい。
【００８９】
なお、初期割当ポリシ表３１６は、ライト要求で未割当の仮想領域を検知した場合に参照するため、高速に初期割当階層を決定するためにはできるだけ表の大きさが小さいほうが好ましい。その対策として、図８から、現在の時間が時間帯９０３に含まれる情報９０１、９０２、９０４の組を取り出して、別な表（アクセス元対応初期割当階層表と呼ぶ）を生成し、その表をメモリ３０４に格納し、初期割当階層を決定する処理でその表を参照してもよい。この場合、現在時間が変わることで新たに含まれることになった組をアクセス元対応初期割当階層表に登録したり、逆に現在時間に含まれなくなったために、アクセス元対応初期割当階層表に登録していた組を除くといった処理をしたりすることが必要となる。なお、このような処理は、コントローラが行ってもよい。また、図８の表を管理システムのメモリ４０２に格納し、さらに前述の処理を管理システムが行っても良い。なお、後者の場合の具体的な処理は以下の通りとなる。
（＊）初期割当階層を決定する処理ではアクセス元対応初期割当階層表を参照することで、未割当の仮想領域に対して割り当てる実領域のメディアまたは階層を決定する。
（＊）コントローラは、追加または削除する前述の組（つまり、仮想ボリュームのＩＤ、アクセス元の仮想ホストまたはホストの識別子、初期割当メディアまたは階層）を指定した実領域初期割当設定変更要求を管理システムから受信し、受信内容にあわせてアクセス元対応初期割当階層表を更新する。
（＊）管理システムは、現在時間が変わることで新たに含まれることになった組をアクセス元対応初期割当階層表に登録したり、逆に現在時間に含まれなくなったために、アクセス元対応初期割当階層表に登録していた組を特定する処理を繰り返し実行する。そして、対応する組を検知した場合は、検知した組を指定した実領域処理割当設定変更要求をストレージ装置に送信する。
【００９０】
図９は、管理システム１０３の構成を示す。
【００９１】
管理システム１０３は、１以上の計算機で構成されている。管理システム１０３は、ＬＡＮポート４０３と、メモリ４０２と、表示装置（例えば液晶ディスプレイ）４５１と、それらに接続されたＣＰＵ４０１とを有する。メモリ４０２に代えて又は加えて他種の記憶資源があっても良い。
【００９２】
メモリ４０２は、ストレージ管理プログラム４１１、ホスト管理表３１７、アプリケーション定義表３１８、再配置履歴表４１２及び初期割当てポリシ表４１３を記憶する。ストレージ管理プログラム４１１がＣＰＵ４０１で実行されることにより、以下の処理が行われる。
（＊）定期的または繰り返しストレージ装置１０９から再配置結果を表す情報を取得すること。
（＊）その結果の集計を基に再配置履歴表４１２を更新すること。
（＊）更新後の再配置履歴表４１２を基に後述の初期割当ポリシ作成処理を行うこと。
（＊）その作成処理の結果を、ユーザに提示しユーザからの承認を受けたときに、或いは、ユーザに提示することなく、初期割当てポリシ表４１３及び３１６に反映すること。
【００９３】
初期割当てポリシ表４１３の構成は、ストレージ装置１０９が有する初期割当てポリシ表３１６の構成と同じである。ストレージ管理プログラム４１１は、初期割当てポリシ表３１６が有する情報が、更新後の初期割当てポリシ表４１３が有する情報と一致するように、初期割当てポリシ表３１６を更新する。
【００９４】
図１０は、ホスト管理表３１７の構成を示す。
【００９５】
ホスト管理表３１７は、仮想ホストとＷＷＮとの関係を表す。具体的には、例えば、ホスト管理表３１７は、仮想ホスト毎に、下記の情報を有する。
（＊）仮想ホストの名称を表すホスト名１００１。
（＊）仮想ホストのＷＷＮを表すＷＷＮ１００２。
【００９６】
なお、ホスト名１００１及びＷＷＮ１００２は、仮想ホストで実行中のプログラム、またはホストのハイパーバイザプログラムから取得することができるが、手入力等の他の取得方法であってもよい。
【００９７】
図１１は、アプリケーション定義表３１８の構成を示す。
【００９８】
アプリケーション定義表３１８は、アプリケーションの定義を表す。具体的には、例えば、アプリケーション定義表３１８は、アプリケーション毎に、下記の情報を有する。
（＊）アプリケーションの名称を表すアプリケーション名１１０１。
（＊）アプリケーションに対応した仮想ホスト（例えば、そのアプリケーション用のアプリケーションプログラムが実行される仮想ホスト）の名称を表すホスト名１１０２。
（＊）アプリケーションに対応した時間帯（例えば、そのアプリケーション用のアプリケーションプログラムが実行される時間帯）を表す時間帯１１０３。
【００９９】
なお、アプリケーション名、アプリケーションが実行される仮想ホスト、アプリケーションが実行される時間帯は、仮想ホストで実行中のプログラム、またはホストのハイパーバイザプログラムから取得することができるが、手入力等の他の取得方法であってもよい。
【０１００】
また、各アプリケーションについて、ホスト名１１０２及び時間帯１１０３の一方が、全ての場合を示すアスタリスク値”＊”であっても良い。これは、アプリケーションの定義が、アプリケーションが実行される仮想ホストと、アプリケーションが実行される時間帯とのいずれかに依存しないことを意味する。
【０１０１】
なお、図１１を用いて、ホスト名、又は／及び時間に基いてアプリケーション名１１０１を求める場合、まずは図１１の表のホスト名１１０２又は／及び時間帯１１０３にアスタリスク値を含まない表中の行を用いてアプリケーション名を求め、もし該当する行が無い場合にアスタリスク値を含む行を用いてアプリケーション名を求めても良い。さらに、図８の表では１１０２乃至１１０３の２つの条件にアスタリスク値を入れることができるため、どの条件がアスタリスク値の場合から優先してしようする優先条件を定め、当該条件を図１１の参照時に考慮してもよい。
【０１０２】
図１２は、再配置履歴表４１２の構成を示す。
【０１０３】
再配置履歴表４１２は、再配置処理の結果の履歴を表す情報を有する。具体的には、例えば、再配置履歴表４１２は、アクセス元ＷＷＮ及び時間帯の組毎に、下記の情報を有する。
（＊）ＶＶＯＬのＩＤを表すＶＶＯＬ  ＩＤ１２０１。
（＊）初期割当て処理の原因となったアクセス（ライト）のアクセス元ＷＷＮ（アクセス元の仮想ホストのＷＷＮ）を表す初期アクセス元ＷＷＮ１２０２。
（＊）初期割当て処理において実領域が割り当てられた時間を含んだ時間帯を表す初期割当時間１２０３。
（＊）再配置処理の結果の集計を表す集計値１２０４。集計値１２０４は、具体的には、初期割当て処理でＶＶＯＬに割り当てられた実領域のうち、どのメディア（階層）内の実領域が幾つあるかを表す。
（＊）初期メディア（階層）のＩＤを表す初期割当階層１２０５。
【０１０４】
図１２の表４１２によれば、ＶＶＯＬ“Volume 1”に初期割当て処理で割り当てられた複数の実領域であって、時間帯“2009/12/25の12:00-13:00”に仮想ホスト“WWN-C”からのライトによって初期メディア“Tier
3”から割り当てられた複数の実領域について、その後から現在までに行われた再配置処理により、以下の結果となったことがわかる。
（＊）１個の実領域内のデータが、メディア“Tier 1”内の１個の実領域にマイグレーションされた。
（＊）２個の実領域内のデータが、メディア“Tier 2”内の２個の実領域にマイグレーションされた。
（＊）１３個の実領域内のデータが、初期メディア“Tier 3”からマイグレーションされず残った。
【０１０５】
上記各ケースの発生比率を考慮することで、仮想ホスト“WWN-C”及び時間帯“2009/12/25の12:00-13:00”に対応する初期メディアとしては、メディア“Tier 3”が適切であることがわかる。従って、仮想ホスト“WWN-C”及び時間帯“2009/12/25の12:00-13:00”に対応する初期割当階層１２０５の値が、“Tier 3”以外であれば、“Tier 3”に更新されることが好ましい。なぜなら、再配置処理でマイグレーションされるデータの量は最も小さくて済むと考えられるからである。
【０１０６】
＜＜本実施例で行われる処理に関する説明＞＞。
【０１０７】
本実施例で行われる処理として、例えば、（１）初期設定、（２）ライト処理、（３）再配置処理、及び、（４）初期割当てポリシ表の更新、がある。以下、各処理を説明する。
【０１０８】
（１）初期設定。
【０１０９】
管理システム１０３内のストレージ管理プログラム４１１が、表示装置４５１に、図１３に例示する初期設定画面１５０１を表示する。その画面１５０１には、アプリケーション名と時間帯の入力が可能である。また、その画面１５０１から、ＶＶＯＬ  ＩＤ、アクセス元ＷＷＮ及びホスト名、並びに、初期メディア（階層）のＩＤの選択が可能である。選択可能なＶＶＯＬ  ＩＤは、例えば、ＶＶＯＬ管理表３１２に登録されているＶＶＯＬ  ＩＤ５０１であり、選択可能なアクセス元ＷＷＮ及びホスト名は、例えば、ホスト管理表１１７に登録されているＷＷＮ１００２及びホスト名１００１であり、選択可能な初期メディア（階層）のＩＤは、例えば、ストレージ階層定義表３１５に登録されているＩＤ８０１である。
【０１１０】
ストレージ管理者は、ストレージ装置１０９からＶＶＯＬがホスト１０１に提供される前に（ホスト１０１にＶＶＯＬがマウントされる前に）、初期設定画面１５０１を用いて、そのＶＶＯＬに対応する初期メディア（階層）を選択しておく。つまり、少なくとも、ＶＶＯＬ  ＩＤと初期メディア（階層）が選択される。ストレージ管理プログラム４１１は、選択されたＶＶＯＬ  ＩＤと初期メディア（階層）のＩＤとを、管理システム１０３内の初期割当てポリシ表４１３に登録する。また、ストレージ管理プログラム４１１が、ストレージ装置１０９内のストレージ制御プログラム３１１に、そのＶＶＯＬ  ＩＤとメディアＩＤとを、ストレージ装置１０９内の初期割当てポリシ表３１６に登録させる。
【０１１１】
初期設定において、アクセス元ＷＷＮ及びホスト名が選択され、且つ、アプリケーション名及び時間帯が初期設定画面１５０１に入力された場合、ストレージ管理プログラム４１１は、アクセス元ＷＷＮ及び時間帯を、初期割当てポリシ表４１３に登録することができる。また、ストレージ管理プログラム４１１は、ストレージ制御プログラム３１１に、アクセス元ＷＷＮ及び時間帯を初期割当てポリシ表３１６に登録させることができる。また、ストレージ管理プログラム４１１は、ストレージ制御プログラム３１１に、アプリケーション名、ホスト名及び時間帯の組を、アプリケーション定義表３１８に登録させることができる。
【０１１２】
ストレージ管理者は、アクセス元ＷＷＮ及び時間帯の少なくとも一方を入力しなくて良い。この場合、初期割当てポリシ表３１６におけるアクセス元ＷＷＮ９０２及び／又は時間帯９０３の値として、所定のコード“＊”が登録される。ここでの“＊”は、どのようなアクセス元ＷＷＮ及び／又は時間帯であっても条件に合致すること（定義されている初期メディアから実領域が割り当てられること）を意味する。
【０１１３】
（２）ライト処理。
【０１１４】
図１４は、ライト処理の流れを示すフローチャートである。
【０１１５】
Ｓ１００１で、仮想ホストが、ライト要求を発行する。そのライト要求は、仮想ホストのＷＷＮと、ライト先情報を有する。ライト先情報は、ＬＵＮと仮想領域のＬＢＡとを含む。ライト先情報は、更に、ライト要求に付随するデータ（ライト対象のデータ）のデータサイズを含んで良い。
【０１１６】
Ｓ１００２で、ストレージ装置１０９が、仮想ホストからのライト要求を受信する。プログラム３１１は、キャッシュメモリ領域に、ライト対象のデータを書き込む。また、ストレージ制御プログラム３１１が、ライト要求内のライト先情報が有するＬＵＮに対応したＶＶＯＬ  ＩＤを特定し、且つ、ライト先情報に対応した実領域ＩＤ５０３をＶＶＯＬ管理表３１２から特定する。
【０１１７】
特定された実領域ＩＤ５０３が有効な値（いずれかの実領域のＩＤを表す値）の場合（Ｓ１００３：Ｙｅｓ）、プログラム３１１は、Ｓ１０１２で、特定された実領域ＩＤ５０３から識別される実領域に、キャッシュメモリ領域にある書込み対象のデータを書き込む。
【０１１８】
特定された実領域ＩＤ５０３が無効な値（実領域が割り当てられていないことを意味する値）の場合（Ｓ１００３：Ｎｏ）、プログラム３１１は、Ｓ１００４で、全てのライト先仮想領域（ライト先情報から特定される仮想領域）に対して割り当て可能な未割当の実領域がプールに有るか否かを、実領域管理表３１３を基に判断する。
【０１１９】
Ｓ１００４の判断の結果が否定的の場合（Ｓ１００４：Ｎｏ）、プログラム３１１は、Ｓ１００５で、ライト要求の送信元の仮想ホストにエラーを返す。
【０１２０】
Ｓ１００４の判断の結果が肯定的の場合（Ｓ１００４：Ｙｅｓ）、Ｓ１００６で、プログラム３１１は、ライト先情報内のＬＵＮを用いて特定されたＶＶＯＬ  ＩＤと、仮想ホストのＷＷＮと、ライト要求を受信した時間とに対応する初期メディアＩＤ（初期割当階層９０４）を、初期割当てポリシ表３１６から特定する。次に、Ｓ１００７で、プログラム３１１は、特定された初期メディアＩＤに対応するメディア性能８０２をストレージ階層定義表３１５から特定する。次に、Ｓ１００８で、プログラム３１１は、特定されたメディア８０２が表すＰＤＥＶ種類及びＲＡＩＤレベルに適合するＲＡＩＤグループのＲＡＩＤグループＩＤ７０１をＲＡＩＤグループ管理表３１４から特定する。
【０１２１】
Ｓ１００９で、プログラム３１１は、特定されたＲＡＩＤグループＩＤ７０１が表すＩＤをキーに、実領域管理表３１３から、そのＩＤから識別されるＲＡＩＤグループに基づく複数の実領域に、全てのライト先仮想領域に対して割り当て可能な未割当の実領域があるか否かを判断する。
【０１２２】
Ｓ１００９の判断の結果が肯定的の場合（Ｓ１００９：Ｙｅｓ）、プログラム３１１は、Ｓ１０１０で、ライト先仮想領域に初期メディア内の未割当の実領域を割り当て、Ｓ１０１２で、その実領域にキャッシュメモリ領域内のデータを書き込む。Ｓ１０１０では、具体的には、プログラム３１１は、下記の更新を行う。
（＊）プログラム３１１は、ＶＶＯＬ管理表３１２における、ライト先情報に対応した実領域ＩＤ５０３の値を、割り当てた実領域のＩＤを表す値に更新する。
（＊）プログラム３１１は、ＶＶＯＬ管理表３１２における、割当時アクセス元ＷＷＮ５０５及び割当時間５０６の値を、仮想ホストのＷＷＮと実領域を割り当てた時間とを表す値に更新する。
（＊）プログラム３１１は、ＶＶＯＬ管理表３１２における、階層ＩＤ５０４の値を、実領域のソースとなったメディアのＩＤを表す値に更新する。
（＊）プログラム３１１は、実領域管理表３１３における、割り当てた実領域の割当状況６０２の値を、割当済を表す値に更新する。
【０１２３】
Ｓ１００９の判断の結果が否定的の場合（Ｓ１００９：Ｎｏ）、プログラム３１１は、Ｓ１０１１で、なるべく初期メディアから実領域をライト先仮想領域に割り当て、足りない分についてのみ、他のメディアから実領域をライト先仮想領域に割り当て、その後、Ｓ１０１２で、割り当てた実領域にキャッシュメモリ領域内のデータを書き込む。
【０１２４】
前述のＳ１０１１では、具体的には、例えば、プログラム３１１は、２０個のライト先仮想領域があり、初期メディアに１３個の未割当の実領域があった場合、１３個の実領域を１３個のライト先仮想領域に割り当て、残り７個のライト先仮想領域に７個の実領域を他のメディアから割り当てる。なお、ここで実領域のソースとされる「他のメディア」としては、初期メディアに最も性能が近いメディア（例えば、初期メディア（階層）に近接した階層）である。その際、初期メディアの上位及び下位の両方に近接したメディアがある場合、未割当の実領域が多い方のメディアが、実領域のソースとしての「他のメディア」として選択されて良い。なぜなら、未割当の実領域の少ない方の近接メディアが選択されると、そのメディアが初期メディアとして使用される際に、未割当の実領域が不足してしまう可能性が高まってしまうからである。
【０１２５】
なお、Ｓ１０１１では、Ｓ１０１０と同様に、ＶＶＯＬ管理表３１２及び実領域管理表３１３が更新される。
【０１２６】
以上のように、ライト処理では、１以上のライト先仮想領域に、初期メディアから優先的に未割当の実領域が割り当てられる。なお、例えば、初期割当ポリシ表３１６が、図８に示した状態の場合、ＶＶＯＬ“Volume 1”にライトがあった場合、ライト元仮想ホストのＷＷＮ及びライトの時間帯に関わらず、初期メディア“Tier 2”から実領域が割り当てられる。
【０１２７】
なお、仮想ホストからリード要求が送信された場合には、例えば、下記の処理が行われる。
（ｘ１）ストレージ制御プログラム３１１は、リード要求を仮想ホストから受信する。
（ｘ２）プログラム３１１は、リード要求が有するアクセス先情報を基に、リード元ＶＶＯＬとリード元仮想領域を特定する。
（ｘ３）プログラム３１１が、リード対象のデータがキャッシュメモリ領域に残っているか否かを判断する。
（ｘ４）上記（ｘ３）の判断の結果が肯定的の場合、プログラム３１１は、キャッシュメモリ領域のリード対象データを、仮想ホストに送信する。この場合、リード元仮想領域に対応したアクセス頻度５０７の値は、更新されてもされなくても良い。
（ｘ５）上記（ｘ３）の判断の結果が否定的の場合、プログラム３１１は、ＶＶＯＬ管理表３１２を基に、上記（ｘ２）で特定されたリード元仮想領域に割り当てられている実領域を特定する。プログラム３１１は、特定された実領域からデータを読み出し、そのデータをキャッシュメモリ領域に書き込む。そして、プログラム３１１は、キャッシュメモリ領域内のそのデータを仮想ホストに送信する。プログラム３１１は、リード元仮想領域に対応したアクセス頻度５０７の値を更新する。
【０１２８】
（３）再配置処理。
【０１２９】
図１５は、再配置処理の流れを示すフローチャートである。再配置処理は、例えば定期的に行われる。
【０１３０】
Ｓ１１０１で、ストレージ制御プログラム３１１が、ＶＶＯＬ管理表３１２における全ての再配置判定結果５０８の値をクリアする。
【０１３１】
ＶＶＯＬ管理表３１２に登録されている全ての仮想領域について、Ｓ１１０２が行われる。Ｓ１１０２で、プログラム３１１が、仮想領域のアクセス頻度５０７が表すアクセス頻度を含んだアクセス頻度範囲を表すアクセス頻度範囲６０３をストレージ階層定義表３１５から特定し、そのアクセス頻度範囲８０３に対応したメディアのＩＤを、その仮想領域に対応する再配置判定結果５０８の値として記録する。この結果、そのメディアのＩＤは、その仮想領域に対応した階層ＩＤ５０４が表すメディアＩＤと同じであることもあれば異なることもある。
【０１３２】
Ｓ１１０３で、プログラム３１１が、メモリ３０４に、アクセス頻度５０７の値が高い順に仮想領域の識別情報（例えば、ＶＶＯＬ  ＩＤとＬＢＡ範囲との組）を並べる。
【０１３３】
プログラム３１１は、アクセス頻度が高い仮想領域から順（メモリ３０４での仮想領域識別情報の並び順）に、Ｓ１１０４以降を行う。以下、１つの仮想領域（図１５の説明において「対象仮想領域」と言う）を例に採り、Ｓ１１０４以降を説明する。
【０１３４】
Ｓ１１０４で、プログラム３１１は、対象仮想領域に対応した階層ＩＤ５０４の値と、対象仮想領域に対応した再配置判定処理５０８の値とが一致するか否かを判断する。
【０１３５】
Ｓ１１０４の判断の結果が肯定的の場合（Ｓ１１０４：Ｙｅｓ）、マイグレーションが不要のため、対象仮想領域についての処理は終了する。
【０１３６】
Ｓ１１０４の判断の結果が否定的の場合（Ｓ１１０４：Ｎｏ）、プログラム３１１は、Ｓ１１０５で、実領域管理表３１３を基に、対象仮想領域に対応した再配置判定処理５０８から識別されるメディア（以下、図１５の説明において「対象メディア」と言う）内に未割当の実領域があるか否かを判断する。
【０１３７】
Ｓ１１０５の判断の結果が肯定的の場合（Ｓ１１０５：Ｙｅｓ）、プログラム３１１は、Ｓ１１０７で、対象仮想領域に割り当てられている実領域（マイグレーション元の実領域）から、対象メディア内の未割当の実領域（マイグレーション先の実領域）にデータをマイグレーションする。また、プログラム３１１は、対象仮想領域に、マイグレーション元の実領域に代えてマイグレーション先の実領域を割り当てる。具体的には、プログラム３１１は、マイグレーション元の実領域に対応した割当状況６０２の値を未割当に更新する。また、プログラム３１１は、対象仮想領域に対応した実領域ＩＤ５０３の値を、マイグレーション先実領域のＩＤに更新し、且つ、対象仮想領域に対応した階層ＩＤ５０４の値を、対象メディアのＩＤに更新する。
【０１３８】
Ｓ１１０５の判断の結果が否定的の場合（Ｓ１１０５：Ｎｏ）、プログラム３１１は、Ｓ１１０６で、入れ替え可能な実領域があるか否かを判断する。具体的には、例えば、対象メディアにおける複数の割当済実領域内のデータのうち、対象仮想領域に割り当てられている実領域にマイグレーションされても良いデータがあるかどうかが判断される。
【０１３９】
Ｓ１１０６の判断の結果が肯定的の場合（Ｓ１１０６：Ｙｅｓ）、プログラム３１１は、Ｓ１１０８で、実領域の入れ替えを行う。具体的には、例えば、プログラム３１１は、下記の処理を行う。なお、下記の処理に伴って、プログラム３１１は、ＶＶＯＬ管理表３１２及び実領域管理表３１３を更新する。
（＊）プログラム３１１は、対象仮想領域に割り当てられている実領域（図１５の説明において「第１の実領域」と言う）内のデータ（図１５の説明において「第１のデータ」と言う）をキャッシュメモリ領域に書く。
（＊）プログラム３１１は、対象メディアが有する割当済実領域（図１５の説明において「第２の実領域」と言う）内のデータ（図１５の説明において「第２のデータ」と言う）をキャッシュメモリ領域に書く。
（＊）プログラム３１１は、第１のデータをキャッシュメモリ領域から第２の実領域に書き込む。
（＊）プログラム３１１は、第２のデータをキャッシュメモリ領域から第１の実領域に書き込む。
【０１４０】
Ｓ１１０６の判断の結果が否定的の場合（Ｓ１１０６：Ｎｏ）、プログラム３１１は、Ｓ１１０９で、対象メディアに性能が最も近いメディア内の未割当の実領域に第１の実領域からデータをマイグレーションする。また、プログラム３１１は、Ｓ１１０７の処理と同様に、ＶＶＯＬ管理表３１２及び実領域管理表３１３を更新する。
【０１４１】
以上が、アクセス状況としてアクセス頻度を想定した場合の再配置処理の説明である。その他のアクセス状況の場合は以下の通りである。
（＊）アクセス状況がアクセス負荷の場合は、各仮想領域のアクセス負荷に適したメディア（階層）をストレージ階層定義表３１５に基づいて特定し、特定したメディア（階層）が、当該仮想領域が現時点で割り当てられている実領域のメディアと異なる場合は、特定したメディアの実領域にマイグレーションを行う。
（＊）アクセス状況が最終アクセス時間の場合は、最終アクセス時間に基づいて定義されたストレージ階層定義表３１５の想定アクセス状況に基づいて、各仮想領域の最終アクセス時間に適したメディア（階層）をストレージ階層定義表３１５に基づいて特定し、特定したメディア（階層）が、当該仮想領域が現時点で割り当てられている実領域のメディアと異なる場合は、特定したメディアの実領域にマイグレーションを行う。
【０１４２】
（４）初期割当てポリシ作成処理。
【０１４３】
図１６は、初期割当てポリシ作成処理の流れを示す。
【０１４４】
管理システム１０３内のストレージ管理プログラム４１１は、例えば、図１５に示した再配置処理が行われる都度に、ストレージ装置１０９から再配置処理の結果を取得する。プログラム４１１は、ＶＶＯＬ  ＩＤ１２０１と、ＷＷＮ１２０２と、初期割当時間１２０３と、取得した結果の集計を表す情報（集計値）１２０４とを再配置履歴表４１２に記録する。具体的には、プログラム４１１は、最新の再配置処理と１回前の再配置処理との間に初期割当てで割り当てられた実領域を特定する。その実領域は、例えば、最新の再配置処理が行われた時間、１回前の再配置処理が行われた時間、ＶＶＯＬ  ＩＤ５０１、ＷＷＮ５０５及び時間５０６、初期割当階層９０４を基に、特定することができる。プログラム４１１は、初期割当時アクセス元ＷＷＮと初期割当て時間帯との組（つまりアプリケーション）毎に、初期割当てにおいて割り当てられたどの実領域内のデータがどのメディアにマイグレーションされたかを集計する。プログラム４１１は、その集計結果を共に、再配置履歴表４１２を更新する。その際、プログラム４１１は、或るアプリケーション（初期割当時アクセス元ＷＷＮと初期割当て時間帯との組）に対応した初期割当階層１２０５の値を、そのアプリケーションに対応した集計値１２０４において実領域数の最も多いメディアのＩＤに更新する。
【０１４５】
次に、プログラム４１１は、再配置履歴表４１２を基に、それぞれのＶＶＯＬについて、アクセス元ＷＷＮ毎に、初期割当階層１２０５の値が同じ値になっている連続する時間帯を１つの初期割当ポリシにまとめるという処理を実行する。具体的には、例えば、プログラム４１１は、中間テーブル２００１をメモリ３０４に準備する。プログラム４１１は、中間テーブル２００１に、ＶＶＯＬ  ２０１１の値としてＶＶＯＬ  ＩＤ１２０１の値を登録し、アクセス元ＷＷＮ２０１２の値としてＷＷＮ１２０２の値を登録する。プログラム４１１は、そのＷＷＮ２０１２の値と初期割当階層１２０５の値の両方が同じであるレコードを再配置履歴表４１２から特定する。プログラム４１１は、特定された２以上のレコードが表す２以上の時間帯が連続していれば（例えば、9:00-10:00、10:00-11:00、11:00-12:00のように連続していれば）、２以上の時間帯を１つにまとめる（例えば、３つの時間帯9:00-10:00、10:00-11:00、11:00-12:00を、１つの時間帯9:00-12:00にまとめる）。プログラム４１１は、時間帯２０１３の値として、１つにまとめられた時間帯を表す値を中間テーブル２００１に登録する。プログラム４１１は、初期割当階層２０１４の値として、初期割当階層１２０５の値を登録する。
【０１４６】
次に、プログラム４１１は、各ＶＶＯＬについて、時間帯２０１３の値が同じアクセス元ＷＷＮ同士で、初期割当階層２０１４の値を比較する。初期割当階層２０１４の値が互いに一致していれば、プログラム４１１は、初期割当てポリシ表４１３において、１つのレコード（行）に、アクセス元ＷＷＮ９０２の値として、複数のＷＷＮを登録する。そのレコードには、ＶＶＯＬのＩＤ、時間帯（１つにまとめられた時間帯）、及び初期メディアのＩＤも登録される。
【０１４７】
プログラム４１１は、更新後の初期割当てポリシ表４１３が表す情報（または、更新後の初期割当てポリシ表４１３と更新前の初期割当てポリシ表４１３との差分を表す情報）である更新情報を有した更新要求を、ストレージ装置１０９に送信する。ストレージ装置１０９が更新要求を受信し、ストレージ制御プログラム３１１は、その更新要求に応答して、その更新要求が有する更新情報を基に、初期割当てポリシ表３１６を、更新後の初期割当てポリシ表４１３と同じ内容になるよう更新する。
【０１４８】
以上のように、初期割当てポリシ作成処理では、再配置履歴表４１２において共通する情報がまとめられた結果としての情報が初期割当てポリシ表４１３に登録され、その初期割当てポリシ表４１３と同じ内容になるようストレージ装置１０９内の初期割当てポリシ表３１６が更新される。このため、初期割当てポリシ表４１３及び３１６が有するレコードの数をなるべく少なくすることができる。これは、ライト処理の性能の低下を防ぐことに貢献することができる。レコード数が少なければ、初期割当てポリシ表３１６からのサーチの負荷が小さくて済むからである。また、レコード数が少なければ、メモリ３０４及び４０２の消費される容量が小さくて済む。
【０１４９】
なお、初期割当ポリシ作成処理での集計の手法としては、上述した手法以外の手法（例えば、データクラスタリング）が採用されても良い。
【０１５０】
また、再配置処理の結果の集計を基に初期割当てポリシ表４１３及び３１６が更新されることは、ユーザからの明示的な指示を受けることなく行われても良いし、ユーザからの明示的な指示を受けたことに応答して行われても良い。初期割当てポリシ表４１３及び３１６の更新がユーザからの明示的な指示を受けたときに行われるケースでは、例えば、図１７に示す初期割当てポリシ定義画面１４０１が、ストレージ管理プログラム４１１によって、管理システム１０３の表示装置４５１に表示される。
【０１５１】
画面１４０１には、更新前の初期割当てポリシ表４１３、ホスト管理表３１７及びアプリケーション定義表３１８がマージされた表１７０１と、仮の更新後の初期割当てポリシ表４１３、ホスト管理表３１７及びアプリケーション定義表３１８がマージされた表１７０３とが表示される。
【０１５２】
「仮の更新後の初期割当てポリシ表４１３」とは、初期割当てポリシ表４１３は未だ更新されておらず、更新されたと仮定したときの初期割当てポリシ表４１３である。仮の更新後の初期割当てポリシ表４１３を表す情報が、推奨の情報として表示される。
【０１５３】
表１７０１及び１７０３における「ホスト名」の値は、表４１３におけるＷＷＮに対応したホスト名１００１の値である。表１７０１及び１７０３における「アプリケーション名」の値は、上記「ホスト名」と時間帯９０３の値とに対応するアプリケーション名１１０１の値である。
【０１５４】
表１７０３の１つのレコードには、１つの初期割当てポリシを表す情報が表示され、且つ、チェックボックスが表示される。チェックボックスにチェックマークが入れられて、「適用」ボタン１７０５が押された場合には、プログラム４１１は、チェックマークが入れられたレコードが表す情報（初期割当てポリシ）を、初期割当てポリシ表４１３及び３１６に登録する。つまり、ストレージ管理者は、初期割当てポリシ単位で、定義するか否かを選択することができる。なお、「適用」ボタン１７０５ではなく「詳細」ボタン１７０６が押された場合、プログラム４１１は、チェックマークが入れられたレコードが表す情報（初期割当てポリシ）に関わる、再配置履歴表４１２の部分を表示する。
【０１５５】
以上が、本実施例の説明である。
【０１５６】
本実施例によれば、ＶＶＯＬが複数のアプリケーションに使用される場合でも、ＶＶＯＬ単位で初期メディアを定義しておくだけで、アプリケーション（仮想ホストのＷＷＮ及び時間帯の組）毎に適切な初期メディアが決定される。
【０１５７】
以上、本発明の実施例を説明したが、本発明は、この実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１５８】
例えば、実施例では、仮想ホストのＷＷＮとライト時間が属する時間帯との両方に初期メディアが対応付けられるが、いずれか一方にのみ初期メディアが対応付けられても良い。
【０１５９】
また、本発明は、ホストの仮想化技術が適用されないホストにも適用可能であり、その場合、ＷＷＮは、ホストのＷＷＮとなる。ＷＷＮに限らず、他種のアクセス元識別情報（例えば、ポートＩＤ、ＩＰアドレス）を採用することができる。
【０１６０】
また、例えば、初期割当てポリシ表３１６が無くて良い。この場合、ストレージ制御プログラム３１１が、ライトの都度に、ライトに応じたメディアを判断し、判断したメディアから実領域をライト先仮想領域に割り当てて良い。具体的には、例えば、プログラム３１１は、ライト元識別情報及びライト時間に代えて又は加えて、ライトデータ属性（例えば、ライトデータのサイズ、フォーマット）、ライト要求属性（ライト要求が有する情報要素）などの別種のライト関連情報を基に、初期メディアとするメディアを決定し、そのメディアから実領域を割り当て、割り当てた実領域にライト対象のデータを書き込んでも良い。
【０１６１】
また、以上の説明では、プールに実領域を登録する場合に、ＲＡＩＤグループを作成し、ＲＡＩＤグループから論理ボリュームを作成し、論理ボリュームをプールに登録するという前提で説明した。しかし、異なる種類の物理記憶デバイスが実領域を提供するためにプールに登録されていれば、他の登録体系でもよい。たとえば、以下が考えられる。
（＊）論理ボリュームを作成せずにＲＡＩＤグループをプールに登録する。
（＊）物理記憶デバイスをプールに登録する。なおこの場合は、実領域割当が必要な場合に、ストレージ装置が仮想ボリューム、プール、またはアクセス元ＷＷＮ、または時間帯で指定されたＲＡＩＤレベル及びコンビネーションに合わせて必要な実領域を抽出して仮想領域に割当て、ライトデータを割り当てた実領域に格納する。
【０１６２】
なお、以上説明したとおり、本実施例では、アクセス元識別情報と時間帯の両方に基づいて実領域の初期割当階層を判断する点について開示したため、アプリケーション毎又は仮想ホスト毎又はホスト毎に好適な初期割当を実現するという点がメリットとなっていた。しかし、本願発明は、時間帯を用いずにアクセス元識別情報に基いて実領域の初期割当階層を判断してもよい。このような実施形態は、ホスト毎または仮想ホスト毎に好適な初期割当を実現する点において有意義であり、図１０及び図１１に示すような仮想ホストまたはホスト内部の情報を取得しなくても実現ができるため、計算機システムの管理者の利便性が高い。
【０１６３】
一方の時間帯に基づいた実領域の初期割当階層の判断は、一つの仮想ホスト又はホストを複数のアプリケーションで使用している場合にアクセス元識別情報より細やかな制御を可能とする点において有意義である。
【０１６４】
なお、以上の説明では、一つの仮想ボリュームを複数の仮想ホストが用いる場合について説明したが、本願発明は仮想ホスト以外でも一つの仮想ボリュームを複数のアプリケーションまたはホストが利用する場合にも適用可能な技術である。
【符号の説明】
【０１６５】
１０３…管理システム  １０９…ストレージ装置
【図１】
2011227563.tif 000003
【図２】
2011227563.tif 000004
【図３】
2011227563.tif 000005
【図４】
2011227563.tif 000006
【図５】
2011227563.tif 000007
【図６】
2011227563.tif 000008
【図７】
2011227563.tif 000009
【図８】
2011227563.tif 000010
【図９】
2011227563.tif 000011
【図１０】
2011227563.tif 000012
【図１１】
2011227563.tif 000013
【図１２】
2011227563.tif 000014
【図１３】
2011227563.tif 000015
【図１４】
2011227563.tif 000016
【図１５】
2011227563.tif 000017
【図１６】
2011227563.tif 000018
【図１７】
2011227563.tif 000019
【図１８】
2011227563.tif 000020