(57)【要約】【課題】  メンテナンスに要するコスト及び労力を抑制しながら、記憶装置の有効利用を促進させ得るストレージ装置及びデータ階層管理方法を提案する。【解決手段】  仮想ボリュームに対するホスト装置からのライト要求に応じて動的に記憶領域を割り当てるストレージ装置に関し、仮想ボリュームの単位領域ごとのアクセス頻度を監視し、よりアクセス頻度が多い単位領域に対してより応答性能が高い記憶領域を割り当てるようにデータ移行を実行させる制御部を設け、制御部が、書換え可能回数に制限がある第１の記憶装置が提供する第１の記憶領域から他の第２の記憶装置が提供する第２の記憶領域にデータを移行させる際に、当該データを第１の記憶領域から消去せず、その後そのデータを第２の記憶領域から第１の記憶領域に戻すときに、前記第２の記憶領域に移行された後に更新された更新部分のみを第１の記憶領域に残存する対応するデータ上に上書きさせるようにした。【選択図】        図１７
2011233009.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に仮想ボリュームを公開し、前記仮想ボリュームに対する前記ホスト装置からのライト要求に応じて、当該仮想ボリュームに動的に記憶領域を割り当てるストレージ装置において、
複数種別の複数の記憶装置と、
前記仮想ボリュームの前記単位領域ごとのアクセス頻度を監視し、当該アクセス頻度が多い前記単位領域ほど、より応答性能が高い前記記憶装置が提供する前記記憶領域を割り当てるように、対応する前記記憶装置を制御することにより、必要なデータ移行を実行させる制御部と
を備え、
前記制御部は、
前記複数種別の複数の記憶装置のうち、書換え可能回数に制限がある第１の記憶装置が提供する第１の記憶領域から他の第２の記憶装置が提供する第２の記憶領域にデータを移行させる際に、当該データを第１の記憶領域から消去することなく第２の記憶領域に移行させるように、対応する前記記憶装置を制御し、
第１の記憶領域から第２の記憶領域に移行したデータの当該第２の記憶領域に移行された後の更新部分を管理し、
第１の記憶領域から第２の記憶領域に移行させたデータを第２の記憶領域から第１の記憶領域に戻すときには、当該データのうちの前記第２の記憶領域に移行された後に更新された更新部分を、第１の記憶領域に残存する対応するデータ上に上書きさせるように、対応する前記記憶装置を制御する
ことを特徴とするストレージ装置。
【請求項２】
前記第１の記憶装置は、ＳＳＤ（Solid State Drive）である
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記制御部は、
前記第１の記憶領域の使用容量が予め定められた閾値を超えた場合に、予め与えられた前記仮想ボリュームの前記単位領域ごとの優先度に基づいて、格納されていたデータが前記第２の記憶領域に移行された後も当該データが消去されずに残されている単位領域であって、優先度が最も低い単位領域に残されているデータを、前記第１の記憶領域の使用容量が前記閾値以下となるまで前記第１の記憶領域から消去するように、対応する前記記憶装置を制御する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記仮想ボリュームの前記単位領域ごとの優先度は、
当該単位領域に対する単位時間当たりの更新量と、当該単位領域に格納されたデータについて予測される前記第１及び第２の記憶領域間の移行頻度とに基づいて決定された
ことを特徴とする請求項１に記載のストレージ装置。
【請求項５】
ホスト装置に仮想ボリュームを公開し、前記仮想ボリュームに対する前記ホスト装置からのライト要求に応じて、当該仮想ボリュームに動的に記憶領域を割り当てるストレージ装置におけるデータ階層管理方法において、
前記ストレージ装置は、
複数種別の複数の記憶装置と、
前記仮想ボリュームの前記単位領域ごとのアクセス頻度を監視し、当該アクセス頻度が多い前記単位領域ほど、より応答性能が高い前記記憶装置が提供する前記記憶領域を割り当てるように、対応する前記記憶装置を制御することにより、必要なデータ移行を実行させる制御部とを有し、
前記制御部が、前記複数種別の複数の記憶装置のうち、書換え可能回数に制限がある第１の記憶装置が提供する第１の記憶領域から他の第２の記憶装置が提供する第２の記憶領域にデータを移行させる際に、当該データを第１の記憶領域から消去することなく第２の記憶領域に移行させるように、対応する前記記憶装置を制御する第１のステップと、
第１の記憶領域から第２の記憶領域に移行したデータの当該第２の記憶領域に移行された後の更新部分を管理する第２のステップと、
第１の記憶領域から第２の記憶領域に移行させたデータを第２の記憶領域から第１の記憶領域に戻すときに、当該データのうちの前記第２の記憶領域に移行された後に更新された更新部分を、第１の記憶領域に残存する対応するデータ上に上書きさせるように、対応する前記記憶装置を制御する第３のステップと
を備えることを特徴とするデータ階層管理方法。
【請求項６】
前記第１の記憶装置は、ＳＳＤ（Solid State Drive）である
ことを特徴とする請求項５に記載のデータ階層管理方法。
【請求項７】
前記制御部が、前記第１の記憶領域の使用容量が予め定められた閾値を超えた場合に、予め与えられた前記仮想ボリュームの前記単位領域ごとの優先度に基づいて、格納されていたデータが前記第２の記憶領域に移行された後も当該データが消去されずに残されている単位領域であって、優先度が最も低い単位領域に残されているデータを、前記第１の記憶領域の使用容量が前記閾値以下となるまで前記第１の記憶領域から消去するように、対応する前記記憶装置を制御する第４のステップを備える
ことを特徴とする請求項５に記載のデータ階層管理方法。
【請求項８】
前記仮想ボリュームの前記単位領域ごとの優先度は、
当該単位領域に対する単位時間当たりの更新量と、当該単位領域に格納されたデータについて予測される前記第１及び第２の記憶領域間の移行頻度とに基づいて決定された
ことを特徴とする請求項５に記載のデータ階層管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージ装置におけるデータ階層管理方法に関し、特に、記憶装置としてＳＳＤ（Solid State Drive）が搭載され、かつデータ管理方式としてストレージ階層管理方式が適用されたストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
従来、企業等においては、ＳＳＤやハードディスク装置（ＨＤＤ：Hard Disk Drive）等の記憶装置が複数搭載されたディスクアレイサブシステムと呼ばれるストレージ装置にデータを保存することが一般的に行われている。
【０００３】
この種のストレージ装置では、１又は複数の同一種別の記憶装置によりＲＡＩＤ（Redundant Array of Inexpensive Disks）グループが構成され、１つのＲＡＩＤグループを構成する記憶装置が提供する記憶領域上にボリュームと呼ばれる論理的な記憶領域が定義される。そしてホストコンピュータ（以下、これをホスト装置と呼ぶ）からのデータは、このボリュームに読み書きされる。
【０００４】
なお、ＳＳＤは、ハードディスク装置と比較してより高い信頼性及び応答性能を有するというメリットがあるため、ストレージ装置の記憶装置としてＳＳＤの採用が今後増えていくと考えられる。一方で、ＳＳＤは、半導体記憶素子の劣化に起因する書換え可能回数の制限があり、さらにハードディスク装置と比較してビット単価が高いといったデメリットがある。
【０００５】
ところで、近年、企業等の組織で管理されるデータの量は年々増加する一方であり、ストレージ装置の有効利用が重要課題となっている。この課題を解決するために、ストレージ階層管理やシン・プロビジョニングといったデータ管理技術が従来から提案されている。
【０００６】
例えば、特許文献１には、ストレージ装置内に定義されたボリュームを、記憶領域を提供する記憶装置の信頼性や応答性能といった特性に応じてストレージ階層と呼ばれるグループに分類し、データを、その価値や単位時間当たりのアクセスＩ／Ｏ数などに応じて最適なストレージ階層のボリュームに配置するストレージ階層管理技術が開示されている。このようなストレージ階層管理技術によれば、記憶装置の有効利用を図ることができる。
【０００７】
またシン・プロビジョニング技術は、ストレージ装置の容量利用効率を向上するための技術である。シン・プロビジョニングによらない通常のボリュームにおいては、ボリューム作成時にその全容量に相当する記憶領域が確保されるため、その分の記憶領域を予め用意しておく必要がある。
【０００８】
一方、シン・プロビジョニング技術では、複数のボリュームによりプール（以下、これを仮想プールと呼ぶ）を構成し、その上に仮想的なボリューム（以下、これを仮想ボリュームと呼ぶ）を構築する。そして、その仮想ボリュームをホスト装置に公開し、当該仮想ボリュームのうちのデータが書き込まれた単位領域（以下、これをデータブロックと呼ぶ）に対してだけ、物理的な記憶領域を仮想プール内のボリュームから割り当てる。
【０００９】
このようなシン・プロビジョニング技術によれば、大容量の仮想ボリュームを作成しても、その仮想ボリュームの全容量分の記憶領域を予め用意しておく必要がなく、実際にホスト装置から使用される分だけの記憶容量を用意しておけば良いため、ストレージ装置の容量利用効率を向上させることができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−０９９７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、以上のような従来のストレージ階層管理技術と、シン・プロビジョニング技術とを組み合わせた新たなストレージ階層管理技術を採用することで、記憶装置の有効利用がより促進されると考えられる。
【００１２】
すなわち、仮想プールを構成するボリュームを応答性能によって複数のストレージ階層に分類し、仮想ボリュームのデータブロックに書き込まれたデータを、データブロックに対する単位時間当たりのアクセスＩ／Ｏ数に応じて他のストレージ階層に属するボリュームに移行（再配置）することで、ユーザはストレージ階層管理技術とシン・プロビジョニング技術の両方の利点を享受することができるものと考えられる。これにより、ストレージ装置導入時のコストを抑えつつ、ストレージ装置の性能向上を図ることが期待できる。
【００１３】
ところがボリュームに対する単位時間当たりのアクセスＩ／Ｏ数は、ボリューム内の各データブロックに対するアクセスＩ／Ｏ数の総和であるため、ボリューム内のアクセスが集中するデータブロックが変化しても、ボリュームに対する単位時間当たりのアクセスＩ／Ｏ数の変化は小さい場合が考えられる。
【００１４】
データブロックに対するアクセスＩ／Ｏ数は、ボリューム全体に対するアクセスＩ／Ｏ数より短時間で変化すると考えられるため、ボリュームを管理単位とする従来のストレージ階層管理技術と比較して、上述のようなデータブロックを管理単位とする新たなストレージ階層管理技術ではボリューム間におけるブロックデータの移行が頻発する可能性がある。
【００１５】
そして、例えばＳＳＤが提供する記憶領域上に定義されたボリューム（以下、これをＳＳＤボリュームと呼ぶ）と、ハードディスク装置が提供する記憶領域上に定義されたボリューム（以下、これをＨＤＤボリュームと呼ぶ）との間でデータブロックのデータの移行が頻発した場合、データ移行に伴うＳＳＤへのデータ書込み回数とＳＳＤからのデータ消去回数とが増加し、ＳＳＤを短命化させることになる。このような事態は、ストレージ装置のメンテナンスコストを増加させるばかりでなく、メンテナンスに要する労力をも増加させる問題がある。
【００１６】
本発明は以上の点を考慮してなされたもので、メンテナンスに要するコスト及び労力を抑制しながら、記憶装置の有効利用を促進させ得るストレージ装置及びストレージ装置におけるデータ階層管理方法を提案しようとするものである。
【課題を解決するための手段】
【００１７】
かかる課題を解決するため本発明においては、ホスト装置に仮想ボリュームを公開し、前記仮想ボリュームに対する前記ホスト装置からのライト要求に応じて、当該仮想ボリュームに動的に記憶領域を割り当てるストレージ装置において、複数種別の複数の記憶装置と、前記仮想ボリュームの前記単位領域ごとのアクセス頻度を監視し、当該アクセス頻度が多い前記単位領域ほど、より応答性能が高い前記記憶装置が提供する前記記憶領域を割り当てるように、対応する前記記憶装置を制御することにより、必要なデータ移行を実行させる制御部とを設け、前記制御部が、前記複数種別の複数の記憶装置のうち、書換え可能回数に制限がある第１の記憶装置が提供する第１の記憶領域から他の第２の記憶装置が提供する第２の記憶領域にデータを移行させる際に、当該データを第１の記憶領域から消去することなく第２の記憶領域に移行させるように、対応する前記記憶装置を制御し、第１の記憶領域から第２の記憶領域に移行したデータの当該第２の記憶領域に移行された後の更新部分を管理し、第１の記憶領域から第２の記憶領域に移行させたデータを第２の記憶領域から第１の記憶領域に戻すときには、当該データのうちの前記第２の記憶領域に移行された後に更新された更新部分を、第１の記憶領域に残存する対応するデータ上に上書きさせるように、対応する前記記憶装置を制御するようにした。
【００１８】
また本発明においては、ホスト装置に仮想ボリュームを公開し、前記仮想ボリュームに対する前記ホスト装置からのライト要求に応じて、当該仮想ボリュームに動的に記憶領域を割り当てるストレージ装置におけるデータ階層管理方法において、前記ストレージ装置は、複数種別の複数の記憶装置と、前記仮想ボリュームの前記単位領域ごとのアクセス頻度を監視し、当該アクセス頻度が多い前記単位領域ほど、より応答性能が高い前記記憶装置が提供する前記記憶領域を割り当てるように、対応する前記記憶装置を制御することにより、必要なデータ移行を実行させる制御部とを有し、前記制御部が、前記複数種別の複数の記憶装置のうち、書換え可能回数に制限がある第１の記憶装置が提供する第１の記憶領域から他の第２の記憶装置が提供する第２の記憶領域にデータを移行させる際に、当該データを第１の記憶領域から消去することなく第２の記憶領域に移行させるように、対応する前記記憶装置を制御する第１のステップと、第１の記憶領域から第２の記憶領域に移行したデータの当該第２の記憶領域に移行された後の更新部分を管理する第２のステップと、第１の記憶領域から第２の記憶領域に移行させたデータを第２の記憶領域から第１の記憶領域に戻すときに、当該データのうちの前記第２の記憶領域に移行された後に更新された更新部分を、第１の記憶領域に残存する対応するデータ上に上書きさせるように、対応する前記記憶装置を制御する第３のステップとを設けるようにした。
【発明の効果】
【００１９】
本発明によれば、第２の記憶領域から第１の記憶領域にデータを戻す際に第１の記憶装置において書き換えられるデータ量を必要最小限にすることができる。従って、第１の記憶装置において本来書換えが不要なデータ部分についてまで書き換えが行われることを防止し、データの書き換えが頻発することに起因する第１の記憶装置の短命化を有効に防止することができる。かくするにつき、第１の記憶装置が短命化することに起因するメンテナンスに要するコスト及び労力を抑制しながら、記憶装置の有効利用を促進することができる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施の形態による計算機システムの全体構成を示すブロック図である。
【図２】第１の実施の形態によるデータ階層管理方式の説明に供する概念図である。
【図３】ストレージ階層管理処理の説明に供する概念図である。
【図４】第１の実施の形態によるデータ階層管理方式の説明に供する概念図である。
【図５】第１の実施の形態によるデータ階層管理方式の説明に供する概念図である。
【図６】第１の実施の形態によるデータ階層管理方式の説明に供する概念図である。
【図７】第１の実施の形態によるデータ階層管理方式の説明に供する概念図である。
【図８】第１の実施の形態によるデータ階層管理方式の説明に供する概念図である。
【図９】データブロックの優先度の説明に供する図表である。
【図１０】データブロック管理テーブルの説明に供する概念図である。
【図１１】ボリューム管理テーブルの説明に供する概念図である。
【図１２】ページ管理テーブルの説明に供する概念図である。
【図１３】データブロック優先度管理テーブルの説明に供する概念図である。
【図１４】データブロックＩ／Ｏ履歴テーブルの説明に供する概念図である。
【図１５】データブロック移行履歴テーブルの説明に供する概念図である。
【図１６】ライト処理の処理手順を示すフローチャートである。
【図１７】データブロック移行制御処理の処理手順を示すフローチャートである。
【図１８】ＳＳＤボリューム空き領域監視処理の処理手順を示すフローチャートである。
【図１９】第１の実施の形態によるデータブロック優先度決定処理の処理手順を示すフローチャートである。
【図２０】第２の実施の形態による計算機システムの全体構成を示すブロック図である。
【図２１】第２の実施の形態によるデータブロック優先度決定処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００２１】
以下図面について、本発明の一実施の形態を詳述する。
【００２２】
（１）第１の実施の形態
（１−１）本実施の形態による計算機システムの構成
図１において、１は全体として本実施の形態による計算機システムを示す。この計算機システム１は、ホスト装置２、ストレージ装置３及び管理サーバ４を備えて構成される。これらホスト装置２、ストレージ装置３及び管理サーバ４は、管理用ＬＡＮ（Local Area Network）５を介して接続され、ホスト装置２及びストレージ装置３は、ＳＡＮ（Storage Area Network）などから構成されるネットワーク６を介して接続されている。
【００２３】
ホスト装置２は、ＣＰＵ（Central Processing Unit）１０及びメモリ１１等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト装置２には、ユーザの業務内容に応じたアプリケーションソフトウェアが実装されており、このアプリケーションソフトウェアが使用するデータがネットワーク６を介してストレージ装置３に読み書きされる。
【００２４】
ストレージ装置３は、ホスト装置２に対して仮想ボリュームを公開し、当該仮想ボリュームに対するホスト装置２からのデータの書き込みに応じて動的に仮想ボリュームに記憶領域を割り当てるシン・プロビジョニング機能が搭載されたもので、ＣＰＵ２０、メモリ２１、ディスクインタフェース２２及び複数の記憶装置２３を備えて構成される。
【００２５】
ＣＰＵ２０は、ストレージ装置３全体の動作制御を司るプロセッサである。またメモリ２１は、主として制御プログラム及び制御データを記憶するために用いられる。後述するデータブロック移行制御プログラム２４、データブロック管理プログラム２５、データブロック管理テーブル２６、ボリューム管理テーブル２７及びページ管理テーブル２８もこのメモリ２１に格納されて保持される。メモリ２１に格納された制御プログラムをＣＰＵ２０が実行することにより、ストレージ装置３全体としての各種処理が行われる。
【００２６】
ディスクインタフェース２２は、記憶装置２３に対するインタフェースであり、例えばファイバーチャネルプロトコルに従って記憶装置２４との間でデータ及びコマンドなどを送受する。
【００２７】
記憶装置２３は、例えばＳＳＤなどの半導体メモリと、ＳＡＳ（Serial Attached SCSI）ディスク等の高性能かつ高価なハードディスク装置及びＳＡＴＡ（Serial AT Attachment）ディスク等の低性能かつ安価なハードディスク装置とから構成される。
【００２８】
同じ種別（ＳＳＤ、ＳＡＳディスク又はＳＡＴＡディスク等）の１又は複数の記憶装置２３によりＲＡＩＤグループが形成され、１つのＲＡＩＤグループが提供する記憶領域がページと呼ばれる所定の大きさ単位で仮想ボリュームに動的に割り当てられる。ＲＡＩＤグループ、データブロック及びページ等の関係については後述する。
【００２９】
管理サーバ４は、ＣＰＵ３０及びメモリ３１等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。
【００３０】
ＣＰＵ３０は、管理サーバ４全体の動作制御を司るプロセッサである。またメモリ３１は、主として制御プログラム及び制御データを記憶するために用いられる。後述するデータブロック優先度決定プログラム３２、データブロック優先度管理テーブル３３、データブロックＩ／Ｏ履歴テーブル３４及びデータブロック移行履歴テーブル３５もこのメモリ３１に格納されて保持される。ＣＰＵ３０が、メモリ３１に格納された制御プログラムを実行することにより、管理サーバ４全体としての各種処理が行われる。
【００３１】
（１−２）本実施の形態によるデータ階層管理方式
図２は、ストレージ装置３の論理構成を示す。本ストレージ装置３では、上述のように同一種別の１又は複数の記憶装置２３によりＲＡＩＤグループＲＧ（ＲＧ１〜ＲＧ３）が形成され、１つのＲＡＩＤグループＲＧを構成する各記憶装置２３が提供する記憶領域上に１又は複数のボリュームＶＯＬ（ＶＯＬ１〜ＶＯＬ３）が定義される。また同一種別の１又は複数のボリュームＶＯＬ（同一種別の記憶装置２３が提供する記憶領域上に定義された１又は複数のボリュームＶＯＬ）により１つの種別のストレージ階層４１が形成され、複数種別のストレージ階層４１により仮想プールＶＰＯＬが形成される。
【００３２】
例えば図２の例では、複数のＳＳＤにより第１のＲＡＩＤグループＲＧ（ＲＧ１〜ＲＧ３）が構成され、この第１のＲＡＩＤグループＲＧが提供する記憶領域上にＳＳＤボリュームＶＯＬ１が定義され、１又は複数のＳＳＤボリュームＶＯＬ１により第１のストレージ階層（以下、これをＳＳＤ階層と呼ぶ）ＨＣ１が形成されている。また複数のＳＡＳハードディスク装置により第２のＲＡＩＤグループＲＧ２が構成され、この第２のＲＡＩＤグループＲＧ２が提供する記憶領域上にＨＤＤボリューム（以下、これをＳＡＳ＿ＨＤＤボリュームと呼ぶ）ＶＯＬ２が定義され、１又は複数のＳＡＳ＿ＨＤＤボリュームＶＯＬ２により第２のストレージ階層（以下、これをＳＡＳ＿ＨＤＤ階層と呼ぶ）ＨＣ２が形成されている。さらに複数のＳＡＴＡハードディスク装置により第３のＲＡＩＤグループＲＧ３が構成され、この第３のＲＡＩＤグループＲＧ３が提供する記憶領域上にＨＤＤボリューム（以下、これをＳＡＴＡ＿ＨＤＤボリューム）ＶＯＬ３が定義され、１又は複数のＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３により第３のストレージ階層（以下、これをＳＡＴＡ＿ＨＤＤ階層と呼ぶ）ＨＣ３が形成されている。そしてかかるＳＳＤ階層ＨＣ１、ＳＡＳ＿ＨＤＤ階層ＨＣ２及びＳＡＴＡ＿ＨＤＤ階層ＨＣ３により仮想プールＶＰＯＬが構成されている。
【００３３】
この場合、ＳＳＤ、ＳＡＳハードディスク装置及びＳＡＴＡハードディスク装置の中では、ＳＳＤが最も信頼性及び応答性能が高く、ＳＡＴＡハードディスク装置が最も信頼性及び応答性能が低い。従って、仮想プールＶＰＯＬを構成するボリュームＶＯＬ１〜ＶＯＬ３のうち、ＳＳＤボリュームＶＯＬ１の信頼性及び応答性能が最も高く、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２の信頼性及び応答性能がその次に高く、ＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３の信頼性及び応答性能が最も低ことが分かる。
【００３４】
一方、ストレージ装置３内には、１又は複数の仮想ボリュームＶＶＯＬが作成され、この仮想ボリュームＶＶＯＬがホスト装置２に公開される。各仮想ボリュームＶＶＯＬには、それぞれ固有の識別子（以下、これをＬＵＮ（Logical Unit number）と呼ぶ）が付与される。また仮想ボリュームＶＶＯＬの記憶領域は所定大きさのブロック（以下、これをデータブロックと呼ぶ）ＤＢＬに区分され、これら各データブロックＤＢＬにそれぞれ固有の番号（以下、これをＬＢＡ（Logical Block Address）と呼ぶ）が付与される。そしてホスト装置２から仮想ボリュームＶＶＯＬに対するデータの読み書きは、ＬＵＮとＬＢＡとを組み合わせたものをアドレスとして、当該アドレスを指定したデータブロック単位で行われる。
【００３５】
各仮想ボリュームＶＶＯＬは、ストレージ装置３内に定義されたいずれか１つの仮想プールＶＰＯＬと対応付けられる。そして仮想ボリュームＶＶＯＬに対するデータのライト要求がホスト装置２からストレージ装置に与えられた場合、そのライト要求においてデータの書込み先として指定された仮想ボリュームＶＶＯＬ内のデータブロックに記憶領域が割り当てられていないときには、その仮想ボリュームＶＶＯＬと対応付けられた仮想プールＶＰＯＬから必要量の記憶領域がページＰＧと呼ばれる所定大きさ単位でそのデータブロックに割り当てられる。
【００３６】
ここで、ページＰＧは、仮想プールＶＰＯＬを構成するボリュームＶＯＬ（ＶＯＬ１〜ＶＯＬ３）から対応する仮想ボリュームＶＶＯＬに対して割り当てられる記憶領域の基本単位である。このページＰＧは、ホスト装置２が仮想ボリュームＶＶＯＬに対してデータを読み書きする単位であるデータブロックＤＢＬよりも小さく、従って１つのデータブロックＤＢＬに複数のページＰＧが割り当てられることになる。そしてホスト装置２からのデータは、当該データの書込み先として指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬに割り当てられたページＰＧに書き込まれ、これ以降、そのデータブロックＤＢＬに対するデータの読み書きは結果的にそのページＰＧに対して行われることになる。
【００３７】
他方、ストレージ装置３は、上述のような仮想ボリュームＶＶＯＬに対する記憶領域の割り当てと並行して、仮想ボリュームＶＶＯＬの各データブロックＤＢＬに対する単位時間当たりのアクセスＩ／Ｏ数を監視する。そしてストレージ装置３は、単位時間当たりのアクセスＩ／Ｏ数の平均に応じて、定期的に又は不定期に、仮想ボリュームＶＶＯＬのデータブロックＤＢＬにページＰＧを割り当てる割当て元のボリュームＶＯＬ（ＶＯＬ１〜ＶＯＬ３）を、必要に応じて他のストレージ階層ＨＣ（ＨＣ１〜ＨＣ３）のボリュームＶＯＬに変更（再割当て）するストレージ階層管理処理を実行する。
【００３８】
具体的に、ストレージ装置３は、図３に示すように、単位時間当たりのアクセスＩ／Ｏ数の平均が予め定められた第１の閾値ＳＨ１を超えるデータブロックＤＢＬに対してはＳＳＤ階層ＨＣ１のＳＳＤボリュームＶＯＬ１からページＰＧを割り当て、単位時間当たりのアクセスＩ／Ｏ数の平均が第１の閾値ＳＨ１以下で予め定められた第２の閾値ＳＨ２（ＳＨ２＜ＳＨ１）よりも多いデータブロックＤＢＬに対してはＳＡＳ＿ＨＤＤ階層ＨＣ２のＳＡＳ＿ＨＤＤボリュームＶＯＬ２からページＰＧを割り当て、単位時間当たりのアクセスＩ／Ｏ数の平均が第２の閾値ＳＨ２以下のデータブロックＤＢＬに対してはＳＡＴＡ＿ＨＤＤ階層ＨＣ３のＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からページＰＧを割り当てるように、必要に応じてＳＳＤボリュームＶＯＬ１、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２及びＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３間でデータを移行させる。
【００３９】
加えて本実施の形態の場合、ストレージ装置３は、図４に示すように仮想ボリュームＶＶＯＬに対してＳＳＤボリュームＶＯＬ１からページＰＧを割り当てている状態において、ページＰＧの割当て元をＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に切り替える場合に、図５に示すように、ＳＳＤボリュームＶＯＬ１に格納されている対応するデータを、ＳＳＤボリュームＶＯＬ１から消去することなく残したまま、対応するＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行（コピー）することを特徴の１つとしている。
【００４０】
そしてこのようなＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３へのデータ移行が行われた場合、その後、ホスト装置２から対応する仮想ボリュームＶＶＯＬの対応するデータブロックＤＢＬに対するアクセスがあったときには、図６に示すように、そのアクセスはデータが移行されたＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に対して行われるが、この際、ストレージ装置３は、かかるデータブロックＤＢＬに格納されたデータが更新された場合には、当該データブロックＤＢＬに割り当てたページＰＧのうちのその更新が行われたページＰＧを管理する。
【００４１】
そしてストレージ装置３は、この後、かかるデータブロックＤＢＬに対する単位時間当たりのアクセスＩ／Ｏ数の平均が第１の閾値ＳＨ１（図３）よりも多くなって、当該データブロックＤＢＬのデータをＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１に戻す（移行する）ことになった場合には、図７に示すように、かかるデータブロックＤＢＬのデータのうちの更新が行われたページＰＧのデータのみを、ＳＳＤボリュームＶＯＬ１における移行前のデータ（ＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行後もＳＳＤボリュームＶＯＬ１に残されていたデータのことであり、以下、これを移行前データと呼ぶ）の対応部分上に上書きコピーする。またストレージ装置３は、この後、図８に示すように、そのデータブロックＤＢＬのデータを移行元のＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３から削除する。
【００４２】
そしてこのようなＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１へのデータ移行が行われた場合、その後、ホスト装置２から対応する仮想ボリュームＶＶＯＬの対応するデータブロックＤＢＬに対するアクセスがあったときには、図８に示すように、そのアクセスはＳＳＤボリュームＶＯＬ１に対して行われる。
【００４３】
ただし、以上のような本実施の形態によるデータ階層管理方式によると、ＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行されたデータの移行前データがいつまでもＳＳＤボリュームＶＯＬ１内に残ることになるため、ＳＳＤボリュームＶＯＬ１の容量が枯渇するおそれがある。
【００４４】
そこで本実施の形態の場合、管理サーバ４がストレージ装置３のＳＳＤボリュームＶＯＬ１に残された各移行前データが格納されている仮想ボリュームＶＶＯＬのデータブロックＤＢＬに対して優先度をそれぞれ決定すると共に、決定した各データブロックＤＢＬの優先度をストレージ装置３に通知し、ストレージ装置３が、ＳＳＤボリュームＶＯＬ１の空き容量が予め定められた閾値を超えた場合に、優先度の低いデータブロックＤＢＬに格納されているデータから順番に移行前データをＳＳＤボリュームＶＯＬ１から削除するようになされている。
【００４５】
この場合において、管理サーバ４は、このようなデータブロックＤＢＬの優先度を、そのデータブロックＤＢＬに格納されたデータの単位時間当たりの更新量（ライトアクセス量）と、そのデータについて予測されるその後の単位時間当たりのボリューム間の移行頻度（以下、これを予測移行頻度と呼ぶ）とに基づいて決定する。
【００４６】
すなわち、データブロックＤＢＬに対するライトアクセス量が大きいほどＳＳＤボリュームＶＯＬ１に残された移行前データと、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行されたデータとの間の差分も大きくなることが予想される。このような場合、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１に移行される更新部分のページ数が多くなることが予想されるだけでなく、データを一旦消去してから書き込みを行うＳＳＤ固有の上書き動作により、データ移行に多くの時間を要する可能性がある。
【００４７】
これに対して、データブロックＤＢＬに対するライトアクセス量が少なければ、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１に戻すページ数が小さくなるため、ＳＳＤボリュームＶＯＬ１におけるデータの書き換えが行われるページ数を最小限に抑えることができ、さらにデータ移行に要する時間も短縮できると考えられる。
【００４８】
またデータの予測移行頻度が高いデータブロックＤＢＬについては、ＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３にデータを移行させた場合においても、その後、そのＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１にデータを戻すデータ移行が発生する可能性が高い。
【００４９】
以上の点を考慮して、本実施の形態の場合、管理サーバ４は、図９のようにデータブロックの優先度を決定する。すなわち、本実施の形態の場合、ＳＳＤボリュームＶＯＬ１に移行前データが残されているデータブロックＤＢＬのうち、そのデータブロックＤＢＬに格納されたデータに対する単位時間当たりのライトアクセス量が予め定められた閾値（以下、これをライトアクセス量閾値と呼ぶ）以下であり、かつ予測移行頻度が予め定められた閾値（以下、これを予測移行頻度閾値と呼ぶ）よりも大きいデータブロック（図９においてライトアクセス量が「小」、かつ予測移行頻度が「大」となるデータブロック）ＤＢＬの優先度を「高」に決定する。
【００５０】
また管理サーバ４は、ライトアクセス量がライトアクセス量閾値以下であり、かつ予測移行頻度が予測移行頻度閾値以下のデータブロック（図９においてライトアクセス量が「小」、かつ予測移行頻度が「小」となるデータブロック）ＤＢＬと、ライトアクセス量がライトアクセス量閾値よりも大きく、かつ予測移行頻度も予測移行頻度閾値よりも大きいデータブロック（図９においてライトアクセス量が「大」、かつ予測移行頻度が「大」となるデータブロック）ＤＢＬとの優先度を「中」に決定する。さらに管理サーバ４は、ライトアクセス量がライトアクセス量閾値よりも大きく、かつ予測移行頻度が予測移行頻度閾値以下のデータブロック（図９においてライトアクセス量が「大」、かつ予測移行頻度が「小」となるデータブロック）ＤＢＬの優先度を「低」に決定する。
【００５１】
そして管理サーバ４は、以上のようにして決定した対応するデータブロックＤＢＬの優先度をストレージ装置３に通知する。
【００５２】
なお、予測移行頻度ＰＦは、データブロックＤＢＬに格納されたデータがＳＡＳハードディスク装置又はＳＡＴＡハードディスク装置からＳＳＤに移行される平均的な時間間隔をＡとし、単位時間をＴとして、次式
【数１】
2011233009.tif 000003
により求めることができる。ここで、Ｈ（Ｈ）は、ホスト装置２のオンライン状態に応じて決定する定数であり、ホスト装置２がオンラインの場合には「１」、オフラインの場合には「０」の値をとる関数である。
【００５３】
一方、ストレージ装置３は、ＳＳＤボリュームＶＯＬ１の使用容量を常時監視し、使用容量がそのＳＳＤボリュームＶＯＬ１について予め設定された閾値（以下、これを使用容量閾値と呼ぶ）を超えた場合には、優先度が低いデータブロックＤＢＬから順番（優先度が「低」、「中」又は「高」に決定されたデータブロックＤＢＬの順番）で、ＳＳＤボリュームＶＯＬ１に残されているそのデータブロックＤＢＬに格納されたデータの移行前データをＳＳＤボリュームＶＯＬ１から削除する。
【００５４】
以上のような本実施の形態によるデータ階層管理機能を実現するための手段として、図１に示すように、ストレージ装置３のメモリ２１には、データブロック移行制御プログラム２４及びデータブロック管理プログラム２５と、データブロック管理テーブル２６、ボリューム管理テーブル２７及びページ管理テーブル２８とが格納され、管理サーバ４のメモリ３１には、データブロック優先度決定プログラム３２と、データブロック優先度管理テーブル３３、データブロックＩ／Ｏ履歴テーブル３４及びデータブロック移行履歴テーブル３５とが格納されている。
【００５５】
このうちデータブロック移行制御プログラム２４は、ボリュームＶＯＬ間でのデータ移行を制御するプログラムである。またデータブロック管理プログラム２５は、仮想ボリュームＶＶＯＬ内の各データブロックＤＢＬに対する単位時間当たりのアクセスＩ／Ｏ数に応じてこれらデータブロックＤＢＬに格納されたデータを必要に応じて他のストレージ階層ＨＣのボリュームＶＯＬに移行させる等の制御を行うプログラムである。ストレージ装置３のＣＰＵ２０（図１）は、データブロック移行制御プログラム２４に基づいてディスクインタフェース２２（図１）を介して対応する記憶装置２３を制御することにより、ボリューム間のデータ移行処理を実行する。またＣＰＵ２０は、データブロック管理プログラム２５に基づいて後述するライト処理、データ移行制御処理及びＳＳＤボリューム空き領域関し処理を実行する。
【００５６】
またデータブロック管理テーブル２６は、各仮想ボリュームＶＶＯＬの各データブロックＤＢＬにそれぞれ格納されたデータの格納場所やそのデータの移行に関する情報等を管理するために用いられるテーブルであり、図１０に示すように、データブロックＩＤ欄２６Ａ、データブロック格納場所情報欄２６Ｂ、移行前データブロック格納場所情報欄２６Ｃ、移行実施日時欄２６Ｄ及び優先度欄２６Ｅから構成される。
【００５７】
そしてデータブロックＩＤ欄２６Ａには、各仮想ボリュームＶＶＯＬの各データブロックＤＢＬにそれぞれ付与された識別子（データブロックＩＤ）が格納され、データブロック格納場所情報欄２６Ｂには、対応するデータブロックＤＢＬに書き込まれたデータの実際の格納場所を示すアドレス情報（ＬＵＮ及びＬＢＡ）が格納される。
【００５８】
また移行前データブロック格納場所情報欄２６Ｃには、対応するデータブロックＤＢＬのデータがＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行された場合に、ＳＳＤボリュームＶＯＬ１におけるそのデータの移行前データの格納場所を示すアドレス情報（ＬＵＮ及びＬＢＡ）が格納される。
【００５９】
さらに移行実施日時欄２６Ｄには、対応するデータブロックＤＢＬのデータがＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行された場合に、そのデータ移行が最初に行われた日時が格納され、優先度欄２６Ｅには、管理サーバ４から通知されたそのデータブロックＤＢＬの優先度が格納される。
【００６０】
従って、図１０の例では、例えば「DataBlook#1-2」というデータブロックＤＢＬについては、現在の優先度は「Mid（中）」であり、「2009/12/01 19:00」に「SSDVolume#1」というＳＳＤボリュームＶＯＬ１から現在の「HDDVolume#1」というＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３にデータ移行が行われており、その移行前データは「SSDVolume#1」という場所に残されていることが示されている。
【００６１】
さらにボリューム管理テーブル２７は、ストレージ装置３内に定義された各ボリューム（ＳＳＤボリュームＶＯＬ１、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２及びＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３）を管理するために用いられるテーブルであり、図１１に示すように、ボリュームＩＤ欄２７Ａ、容量欄２７Ｂ、使用容量欄２７Ｃ及び使用容量閾値欄２７Ｄから構成される。
【００６２】
そしてボリュームＩＤ欄２７Ａには、ストレージ装置３内に定義された各ボリュームＶＯＬの識別子（ＬＵＮ）が格納され、容量欄２７Ｂには、対応するボリュームＶＯＬの容量が格納される。また使用容量欄２７Ｃには、そのボリュームＶＯＬの現在の使用容量が格納され、使用容量閾値欄２７Ｄには、そのボリュームＶＯＬについて予め設定された使用容量閾値が格納される。
【００６３】
従って、図１１の例では、「SSDVolume#1」というボリュームＶＯＬは、容量が「700GB」であり、現在の使用容量が「350GB」であって、使用容量閾値が「80％」であることが示されている。
【００６４】
さらにページ管理テーブル２８は、ストレージ装置３内に定義された各仮想ボリュームＶＶＯＬのデータブロックＤＢＬうち、ページＰＧが割り当てられている各データブロックＤＢＬについて、当該データブロックＤＢＬに割り当てられたページＰＧに書き込まれたデータが更新されたか否かを管理するために用いるテーブルであり、図１２に示すように、データブロックＩＤ欄２８Ａ、ページＩＤ欄２８Ｂ及び更新欄２８Ｃから構成される。
【００６５】
そしてデータブロックＩＤ欄２８Ａには、各仮想ボリュームＶＶＯＬにおけるページＰＧが割り当てられたデータブロックＤＢＬの識別子（データブロックＩＤ）が格納され、ページＩＤ欄２８Ｂには、仮想プールＶＰＯＬから対応するデータブロックＤＢＬに割り当てられた各ページＰＧの識別子（ページＩＤ）が格納される。また更新欄２８Ｃには、対応するページＰＧの更新が行われたか否かを笑わすフラグ（更新されたていないときには「０」、更新されたときには「１」）が格納される。
【００６６】
従って、図１２の例では、「DataBlock#1-3」というデータブロックＤＢＬには、「Page#1-3-1」、「Page#1-3-2」、……というページＰＧが割り当てられており、このうち少なくとも「Page#1-3-2」というページＰＧに格納されたデータは更新されていることが示されている。
【００６７】
一方、データブロック優先度決定プログラム３２は、上述のようにストレージ装置３内に定義された各仮想ボリュームＶＶＯＬの各データブロックＤＢＬの優先度をそれぞれ決定するためのプログラムである。管理サーバ４のＣＰＵ３０（図１）は、このデータブロック優先度決定プログラム３２に従って各データブロックＤＢＬの優先度をそれぞれ決定し、決定結果をストレージ装置３に通知する。
【００６８】
またデータブロック優先度管理テーブル３３は、データブロック優先度決定プログラム３２により決定された各データブロックＤＢＬの優先度を管理するために用いるテーブルであり、図１３に示すように、ホストＩＤ欄３３Ａ、オンライン状態欄３３Ｂ、仮想ボリュームＩＤ欄３３Ｃ、データブロックＩＤ欄３３Ｄ及び優先度欄３３Ｅから構成される。
【００６９】
そしてホストＩＤ欄３３Ａには、計算機システム１内に存在する各ホスト装置２にそれぞれ付与された識別子（ホストＩＤ）が格納され、仮想ボリュームＩＤ欄３３Ｃには、対応するホスト装置２がアクセスを許可された各仮想ボリュームＶＶＯＬの識別子（ＬＵＮ）が格納される。
【００７０】
またデータブロックＩＤ欄３３Ｄには、対応する仮想ボリュームＶＶＯＬの各データブロックＤＢＬの識別子（データブロックＩＤ）が格納され、優先度欄３３Ｅには、データブロック優先度決定プログラム３２により決定された対応するデータブロックＤＢＬの優先度が格納される。本実施の形態の場合、データブロックＤＢＬの優先度は、図８について上述したように、優先度が高い順に「High（高）」、「Mid（中）」及び「Low（低）」の３段階に分けられている。
【００７１】
さらにオンライン状態欄３３Ｂには、対応する仮想ボリュームＶＶＯＬに対する対応するホスト装置２のオンライン状態（オンラインのときには「Online」、オフラインのときには「Offline」）が格納される。この情報は、データブロック優先度決定プログラム３２により管理用ＬＡＮ５（図１）を介して各ホスト装置２からそれぞれ収集される。
【００７２】
従って、図１３の例では、例えば「Host#1」というホスト装置２は、「Volume#1」、「Volume#2」、……という仮想ボリュームＶＶＯＬに対するアクセスが許可され、これらの仮想ボリュームＶＶＯＬに対するオンライン状態は「Online」となっており、「Volume#1」という仮想ボリュームＶＶＯＬの「DataBlock#1-1」というデータブロックＤＢＬについては優先度が「High」に決定され、「DataBlock#1-2」というデータブロックＤＢＬについては優先度が「Mid」に決定され、「DataBlock#1-3」というデータブロックＤＢＬについては優先度が「Low」に決定されていることが示されている。
【００７３】
またデータブロックＩ／Ｏ履歴テーブル３４は、ストレージ装置３内の各仮想ボリュームＶＶＯＬの各データブロックＤＢＬに対するホスト装置２からのアクセス履歴を管理するためのテーブルであり、図１４に示すように、データブロックＩＤ欄３４Ａ、ライトアクセス量欄３４Ｂ及び日時欄３４Ｃから構成される。
【００７４】
そしてデータブロックＩＤ欄３４Ａには、ストレージ装置３内に存在する各データブロックＤＢＬの識別子（データブロックＩＤ）が格納され、日時欄３４Ｃ及びライトアクセス量欄３４Ｂには、それぞれ対応するデータブロックＤＢＬに対してライトアクセスがあった日時及びそのときのライトアクセス量がそれぞれ格納される。
【００７５】
従って、図１４の例では、例えば「DataBlock#1-2」というデータブロックＤＢＬについては、「2009/12/01 18:00」、「2009/12/01 19:00」、「2009/12/01 20:00」、……にそれぞれライトアクセスがあり、そのときのアクセス量（書き込まれたデータ量）がそれぞれ「1355KB」、「2300KB」、「1420KB」、……であったことが示されている。
【００７６】
データブロック移行履歴テーブル３５は、ストレージ装置３内の各仮想ボリュームＶＶＯＬのデータブロックＤＢＬごとのデータ移行の履歴を管理するためのテーブルであり、図１５に示すように、データブロックＩＤ欄３５Ａ、移行元ボリューム欄３５Ｂ、移行先ボリューム欄３５Ｃ及び移行実施日時欄３５Ｄから構成される。
【００７７】
そしてデータブロックＩＤ欄３５Ａには、ストレージ装置３内の各仮想ボリュームＶＶＯＬの各データブロックＤＢＬのうち、仮想プールＶＰＯＬからページＰＧが割り当てられたデータブロックＤＢＬの識別子（データブロックＩＤ）が格納され、移行元ボリューム欄３５Ｂ及び移行先ボリューム欄３５Ｃには、それぞれ対応するデータブロックＤＢＬのデータが移行されたときの移行元のボリュームＶＯＬ及び移行先のボリュームＶＯＬの各識別子（ＬＵＮ）がそれぞれ格納される。また移行実施日時欄３５Ｄには、対応するデータ移行が行われた日時が格納される。
【００７８】
従って、図１５の例の場合、例えば「DataBlock#1-2」というデータブロックＤＢＬについては、「2009/12/01 00:00」に「HDDVolume#3」というボリュームＶＯＬから「SSDVolume#1」というボリュームＶＯＬにデータの移行が行われ、その後、「2009/12/01 19:00」に「SSDVolume#1」というボリュームＶＯＬから「HDDVolume#1」というボリュームＶＯＬにデータの移行（再配置）が行われたことが示されている。
【００７９】
なお、データブロックＩ／Ｏ履歴テーブル３４及びデータブロック移行履歴テーブル３５に格納された各情報は、データブロック優先度決定プログラム３２が定期的に管理用ＬＡＮ５（図１）を介してストレージ装置３にアクセスすることにより収集した情報である。
【００８０】
（１−３）本実施の形態によるデータ階層管理機能に関する各種処理
次に、本実施の形態によるデータ階層管理機能に関する各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上は、そのプログラムに基づいて、ストレージ装置３のＣＰＵ２０（図１）又は管理サーバ４のＣＰＵ３０がその処理を実行することは言うまでもない。
【００８１】
（１−３−１）ライト処理
図１６は、ホスト装置２から仮想ボリュームＶＶＯＬに対するライト要求を受信したときにデータブロック管理プログラム２５により実行されるライト処理の処理手順を示す。
【００８２】
データブロック管理プログラム２５は、ホスト装置２からのライト要求が与えられるとこのライトアクセス処理を開始し、まず、そのライト要求において指定されたデータの書込み先が、仮想ボリュームＶＶＯＬ内のＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からページＰＧが割り当てられているデータブロックＤＢＬであるか否かを判断する（ＳＰ１）。
【００８３】
この判断において否定結果を得ることは、データの書込み先としてライト要求において指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬに未だ対応する仮想プールＶＰＯＬからページＰＧが割り当てられておらず、又は、データの書込み先としてライト要求において指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬに既にＳＳＤボリュームＶＯＬ１からページＰＧが割り当てられていることを意味する。
【００８４】
かくして、このときデータブロック管理プログラム２５は、ライト要求において指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬにページＰＧが割り当てられていない場合には、そのデータブロックＤＢＬにＳＳＤボリュームＶＯＬ１からページＰＧを割り当てた上で、そのページＰＧに書込み対象のデータを書き込む（ＳＰ２）。またデータブロック管理プログラム２５は、データの書込み先としてライト要求において指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬに既にＳＳＤボリュームＶＯＬ１からページＰＧが割り当てられている場合には、そのＳＳＤボリュームＶＯＬ１に書込み対象のデータを書き込む（ＳＰ２）。そしてデータブロック管理プログラム２５は、この後、このライト処理を終了する。
【００８５】
これに対してステップＳＰ１の判断において肯定結果を得ることは、データの書込み先としてライト要求において指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬに既にＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からページＰＧが割り当てられていることを意味する。
【００８６】
かくしてこのときデータブロック管理プログラム２５は、データブロック管理テーブル２６を参照して、かかるページＰＧに格納されているデータがＳＳＤボリュームＶＯＬ１から移行されたものであって、そのデータの移行前データがＳＳＤボリュームＶＯＬ１に残っているか否かを判断する（ＳＰ３）。
【００８７】
そしてデータブロック管理プログラム２５は、この判断において否定結果を得ると、ステップＳＰ５に進み、これに対して肯定結果を得ると、ページ管理テーブル２８におけるその書込み対象のデータを書き込む各ページＰＧに対応する更新欄２８Ｃ（図１２）のフラグを、更新が行われたことを意味する「１」に変更する（ＳＰ４）。
【００８８】
続いて、データブロック管理プログラム２５は、ライト要求において指定された仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬにＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３から割り当てられているページＰＧに書込み対象のデータを格納し（ＳＰ５）、この後、このライト処理を終了する。
【００８９】
（１−３−２）データブロック移行制御処理
図１７は、データブロック管理プログラム２５により実行されるデータブロック移行制御処理の処理手順を示す。データブロック管理プログラム２５は、この図１７に示す処理手順に従って、仮想ボリュームＶＶＯＬのデータブロックＤＢＬに書き込まれたデータを必要に応じて他のストレージ階層ＨＣのボリュームＶＯＬに移行させる。
【００９０】
すなわちデータブロック管理プログラム２５は、ホスト装置２に公開されている各仮想ボリュームＶＶＯＬ内のデータブロックＤＢＬのうち、対応する仮想プールＶＰＯＬからページＰＧが割り当てられている各データブロックＤＢＬに対する単位時間当たりのアクセスＩ／Ｏ数を常時監視する（ＳＰ１０）。
【００９１】
そしてデータブロック管理プログラム２５は、いずれかのデータブロックＤＢＬに対する単位時間当たりのアクセスＩ／Ｏ数の平均が変動し、データの保存先を他のストレージ階層ＨＣのボリュームＶＯＬに切り替える（そのデータブロックＤＢＬのデータを他のストレージ階層ＨＣのボリュームＶＯＬに移行する）必要があることを検知すると、そのデータブロックＤＢＬのデータの移行元及び移行先の各ボリュームＶＯＬを決定する（ＳＰ１１）。
【００９２】
実際上、データブロック管理プログラム２５は、まず、単位時間当たりのアクセスＩ／Ｏ数の平均に上述の変動があったデータブロックＤＢＬのデータの現在の格納場所を、データブロック管理テーブル２６上で検索する。またデータブロック管理プログラム２５は、図３について上述したルールと、ボリューム管理テーブル２７に登録された移行先候補の各ボリュームＶＯＬの使用容量及び使用容量閾値とに基づいて、かかるデータブロックＤＢＬのデータの移行先となるボリュームＶＯＬを決定する。この際、データブロック管理プログラム２５は、移行先とすべき優先度のボリュームＶＯＬが複数存在する場合には、それらのボリュームＶＯＬの中からアクセスＩ／Ｏ数の平均が最も少ないボリュームＶＯＬを選択する。ただし、同じ優先度の複数のボリュームＶＯＬの中から上述とは異なる方法により移行先のボリュームＶＯＬを選択するようにしても良い。
【００９３】
続いて、データブロック管理プログラム２５は、ステップＳＰ１１での決定結果に基づいて、かかるデータブロックＤＢＬのデータの移行がＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３への移行であるか否かを判断する（ＳＰ１２）。
【００９４】
そしてデータブロック管理プログラム２５は、この判断において肯定結果を得ると、データブロック移行制御プログラム２４（図１）を起動する。かくしてデータブロック移行制御プログラム２４は、ディスクインタフェース２２（図１）を介して対応する記憶装置２３（図１）を制御することにより、かかるデータブロックＤＢＬのデータをステップＳＰ１１において決定した移行元のボリュームＶＯＬ（ＳＳＤボリュームＶＯＬ１）から移行先のボリュームＶＯＬ（ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３）に移行させる（ＳＰ１３）。
【００９５】
またデータブロック管理プログラム２５は、データブロック管理テーブル２６の対応するデータブロック格納場所情報欄２６Ｂに格納された情報を、かかるデータの実際の移行先のアドレスに変更することにより、これ以降にホスト装置２からそのデータブロックＤＢＬに対するアクセスがあった場合の参照場所を変更し（ＳＰ１５）、さらにステップＳＰ１３及びステップＳＰ１４の処理内容に応じてデータブロック管理テーブル２６及びページ管理テーブル２８を更新する（ＳＰ１５）。そしてデータブロック管理プログラム２５は、この後、ステップＳＰ１０に戻る。
【００９６】
一方、データブロック管理プログラム２５は、ステップＳＰ１２の判断において否定結果を得ると、かかるデータブロックＤＢＬのデータの移行が、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１への移行であるか否かを判断する（ＳＰ１６）。
【００９７】
データブロック管理プログラム２５は、この判断において肯定結果を得ると、データブロック管理テーブル２６を参照して、そのデータが、以前にＳＳＤボリュームＶＯＬ１からそのＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行されたものであり、かつその移行前データがＳＳＤボリュームＶＯＬ１に残されているか否かを判断する（ＳＰ１７）。
【００９８】
そして、データブロック管理プログラム２５は、この判断において否定結果を得るとステップＳＰ２２に進む。これに対してデータブロック管理プログラム２５は、このステップＳＰ１６の判断において肯定結果を得ると、ページ管理テーブル２８を参照して、かかるデータが格納されたＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３内のデータブロックＤＢＬのうち、ＳＳＤボリュームＶＯＬ１からそのＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行された後にデータが更新されたページ（ページ管理テーブル２８の更新欄２８Ｃ（図１２）に格納されたフラグが「１」となっているページ）ＰＧを検出する。そしてデータブロック管理プログラム２５は、この後、データブロック移行制御プログラム２４を起動する。かくしてデータブロック移行制御プログラム２４は、ディスクインタフェース２２を介して対応する記憶装置２３（図１）を制御することにより、そのページＰＧのデータのみを当該ＳＳＤボリュームＶＯＬ１の対応するページＰＧに上書きコピーさせる（ＳＰ１８）。
【００９９】
続いてデータブロック管理プログラム２５は、データブロック管理テーブル２６の対応するデータブロック格納場所情報欄２６Ｂに格納された情報を、かかるデータの実際の移行先のアドレスに変更することにより、これ以降にホスト装置２からそのデータブロックＤＢＬに対するアクセスがあった場合の参照場所を変更し（ＳＰ１９）、さらにディスクインタフェース２２を介して対応する記憶装置２３を制御することにより、そのデータの移行元のＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３内からそのデータを削除する（ＳＰ２０）。
【０１００】
さらにデータブロック管理プログラム２５は、ステップＳＰ１９及びステップＳＰ２０の処理内容に応じてデータブロック管理テーブル２６及びページ管理テーブル２８を更新し（ＳＰ２１）、この後、ステップＳＰ１０に戻る。
【０１０１】
他方、データブロック管理プログラム２５は、ステップＳＰ１６の判断において否定結果を得ると、データブロック移行制御プログラム２４を起動する。かくしてデータブロック移行制御プログラム２４は、ディスクインタフェース２２を介して対応する記憶装置２３（図１）を制御することにより、かかるデータブロックＤＢＬのデータをステップＳＰ１１において決定した移行元のボリュームＶＯＬ（ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３）から移行先のボリュームＶＯＬ（ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３）に移行させる（ＳＰ２２）。
【０１０２】
続いて、データブロック管理プログラム２５は、データブロック管理テーブル２６の対応するデータブロック格納場所情報欄２６Ｂに格納された情報を、かかるデータの実際の移行先のアドレスに変更することにより、これ以降にホスト装置２からそのデータブロックＤＢＬに対するアクセスがあった場合の参照場所を変更する（ＳＰ２３）。またデータブロック管理プログラム２５は、ディスクインタフェース２２を介して対応する記憶装置２３を制御することにより、そのデータの移行元のＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からそのデータを削除し（ＳＰ２４）、この後、ステップＳＰ１０に戻る。
【０１０３】
（１−３−３）ＳＳＤボリューム空き容量監視処理
図１８は、データブロック管理プログラム２５により実行されるＳＳＤボリューム空き容量監視処理の処理手順を示す。データブロック管理プログラム２５は、この図１８に示す処理手順に従って、ＳＳＤボリュームＶＯＬ１の空き容量を監視し、必要に応じてＳＳＤボリュームＶＯＬ１に残されている移行前データのうちの優先度の低いデータを当該ＳＳＤボリュームＶＯＬ１から削除する。
【０１０４】
すなわちデータブロック管理プログラム２５は、ストレージ装置３内のＳＳＤボリュームＶＯＬ３の空き容量を常時監視する（ＳＰ３０）。そしてデータブロック管理プログラム２５は、やがていずれかのＳＳＤボリュームＶＯＬ１の空き容量が、ボリューム管理テーブル２７において規定されたそのＳＳＤボリュームＶＯＬ１の使用容量閾値を超えたことを検知すると、データブロック管理テーブル２６を参照して、そのＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行済みのデータであって、その移行前データがＳＳＤボリュームＶＯＬ１に残っているデータがあるか否かを判断する（ＳＰ３１）。
【０１０５】
そしてデータブロック管理プログラム２５は、この判断において否定結果を得ると、図１７のステップＳＰ１１以降の処理を実行する。この際、データブロック管理プログラム２５は、ステップＳＰ３０において空き容量不足を検知したＳＳＤボリュームＶＯＬ１の空き容量不足が解消するまで、図１７のステップＳＰ１１以降の処理を繰り返し実行する。またデータブロック管理プログラム２５は、このストレージ階層管理処理に伴い、データブロック管理テーブル２６、ボリューム管理テーブル２７及びページ管理テーブル２８を更新する（ＳＰ３２）。そしてデータブロック管理プログラム２５は、この後、ステップＳＰ３０に戻る。
【０１０６】
これに対してデータブロック管理プログラム２５は、ステップＳＰ３１の判断において肯定結果を得ると、ディスクインタフェース２２を介して対応する記憶装置２３を制御することにより、ステップＳＰ３０において空き容量不足を検知したＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３に移行済みのデータであって、未だそのＳＳＤボリュームＶＯＬ１に残存しているデータのうち、管理サーバ４から通知された優先度が最小のデータブロックＤＢＬのデータをＳＳＤボリュームＶＯＬ１から削除させる。またデータブロック管理プログラム２５は、これに伴い、データブロック管理テーブル２６及びボリューム管理テーブル２７を更新する（ＳＰ３３）。
【０１０７】
続いてデータブロック管理プログラム２５は、ステップＳＰ３０において空き容量不足を検知したＳＳＤボリュームＶＯＬ１の空き容量不足が解消されたか否かを判断する（ＳＰ３４）。そしてデータブロック管理プログラム２５は、この判断において否定結果を得るとステップＳＰ３１に戻り、この後ステップＳＰ３１〜ステップＳＰ３４の処理を繰り返す。
【０１０８】
そしてデータブロック管理プログラム２５は、やがてステップＳＰ３０において空き容量不足を検知したＳＳＤボリュームＶＯＬ１の空き容量不足が解消されることによりステップＳＰ３４において肯定結果を得ると、ステップＳＰ３０に戻り、この後、同様の処理を繰り返す。
【０１０９】
（１−３−４）データブロック優先度決定処理
一方、図１９は、管理サーバのデータブロック優先度決定プログラム３２により実行されるデータブロック優先度決定処理の処理手順を示す。データブロック優先度決定プログラム３２は、この図１９に示す処理手順に従って、仮想ボリュームＶＶＯＬ内の各データブロックＤＢＬの優先度を決定してストレージ装置３に通知する。
【０１１０】
すなわちデータブロック優先度決定プログラム３２は、定期的にこのデータブロック優先度決定処理を開始し、まず、データブロック優先度管理テーブル３３（図１３）に登録されたデータブロックＤＢＬの中から未処理のデータブロックＤＢＬを１つの選択する（ＳＰ４０）。
【０１１１】
続いてデータブロック優先度決定プログラム３２は、ステップＳＰ４０において選択したデータブロックＤＢＬについて、データブロック移行履歴テーブル３５（図１５）を参照して、上述した（１）式により予測移行頻度を計算する（ＳＰ４１）。
【０１１２】
次いでデータブロック優先度決定プログラム３２は、ステップＳＰ４１の計算結果と、データブロックＩ／Ｏ履歴テーブル３４（図１４）に基づき認識される対応するデータブロックＤＢＬに対する単位時間当たりのライトアクセス量とに基づき、図９について上述した優先度決定ルールに従って、そのデータブロックＤＢＬの優先度を決定する（ＳＰ４２）。
【０１１３】
そしてデータブロック優先度決定プログラム３２は、ステップＳＰ４２の決定結果に基づいて、データブロック優先度管理テーブル３３における対応するエントリの優先度欄３３Ｅ（図１３）を更新し（ＳＰ４３）、この後、データブロック優先度管理テーブル３３に登録されたすべてのデータブロックＤＢＬについて同様の処理を実行し終えたか否かを判断する（ＳＰ４４）。
【０１１４】
データブロック優先度決定プログラム３２は、この判断において否定結果を得ると、ステップＳＰ４０に戻り、この後、ステップＳＰ４０〜ステップＳＰ４４の処理を繰り返す。そしてデータブロック優先度決定プログラム３２は、やがてデータブロック優先度管理テーブル３３に登録されたすべてのデータブロックＤＢＬについて同様の処理を実行し終えることによりステップＳＰ４４において肯定結果を得ると、データブロック優先度管理テーブル３３に登録されている、各データブロックＤＢＬの最新の優先度を、データブロック管理テーブル２６（図１０）の更新命令と共にストレージ装置３に送信する（ＳＰ４５）。
【０１１５】
かくしてストレージ装置３のデータブロック管理プログラム２５（図１）は、この更新命令を受信すると、データブロック管理テーブル２６に登録された各データブロックＤＢＬの優先度を、当該更新命令と共に管理サーバ４から送信される各データブロックＤＢＬの最新の優先度に基づき必要に応じて更新する。
【０１１６】
そしてデータブロック優先度決定プログラム３２は、この後、このデータブロック優先度決定処理を終了する。
【０１１７】
（１−４）本実施の形態の効果
以上のように本実施の形態による計算機システム１によれば、ストレージ装置３において、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１にデータを戻す際にＳＳＤボリュームＶＯＬ１において書き換えられるデータ量を必要最小限にすることができる。
【０１１８】
従って、ＳＳＤボリュームＶＯＬ１において本来書換えが不要なデータ部分についてまで書き換えが行われることを防止し、データの書き換えが頻発することに起因するＳＳＤの劣化を有効に防止することができる。かくするにつき、ＳＳＤが短命化することに起因するメンテナンスに要するコスト及び労力を抑制しながら、記憶装置２３の有効利用を促進することができる。
【０１１９】
（２）第２の実施の形態
（２−１）第２の実施の形態におけるデータブロックの優先度の決定方法
第１の実施の形態による計算機システム１においては、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１にデータを戻す際に、上書きせずに再利用できる移行前ページの合計が多いデータブロックＤＢＬほど、ＳＳＤが短命化することに起因するメンテナンスに要するコスト及び労力を抑制しながら、記憶装置２３の有効利用を促進するという効果をより多く得ることができる。
【０１２０】
従って、ある一定期間で発生するＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１へのデータ移行において、上書きせずに再利用する移行前ページの合計がより多いデータブロックＤＬＢほど、より高く優先度を設定して、そのデータをＳＳＤボリュームＶＯＬ１内に残すべきであると考えられる。
【０１２１】
すなわち、データブロックＤＢＬの優先度Ｐは、１回の移行で再利用可能なページ数の平均値をＡＮＰ、予測移行頻度をＰＦとして、次式のように表すことができる。
【数２】
2011233009.tif 000004
【０１２２】
ここで、１回の移行で再利用可能なページ数の平均値ＡＮＰは、データブロックＤＢＬのページ数をＮＰＤ、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上で生じるライトアクセスによる更新済みページ数の平均値をＡＮ、データブロックＤＢＬのデータサイズをＤＳＤ、＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上で生じるライトアクセスによる更新済みデータサイズの平均をＡＤＳ、ページサイズをＤＳＰとして、次式
【数３】
2011233009.tif 000005
で与えられる。
【０１２３】
またＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上で生じるライトアクセスによる更新済みデータサイズＡＤＳは、単位時間当たりのライトアクセス量Ｗと、データのＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上での滞在時間Ｂの積に比例すると考えられるため、１回の移行で再利用可能なページ数の平均値ＡＮＰは、Ｃ及びＣ´を定数として、次式
【数４】
2011233009.tif 000006
で与えられる。
【０１２４】
実用上は、負の数になる場合を考慮して、１回の移行で再利用可能なページ数の平均値ＡＮＰを次式のように表すことができる。なお、次式において記号［］は、括弧内が負の数になる場合は０とすることを意味する。
【数５】
2011233009.tif 000007
【０１２５】
この（５）式において「ＤＳＤ×Ｃ´」は定数であり、閾値と考えることができる。従って、「Ｃ´＝１」とすれば、（５）式は、「ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上でデータブロックに対してデータブロックのブロックサイズ以上のライトアクセスが発生する見込みがある場合には、優先度を０とする」ことを意味する。
【０１２６】
一方、一定期間内で発生するＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１へのデータの予測移行頻度ＰＦは、（１）式のように表すことができる。
【０１２７】
よって、データブロックＤＢＬの優先度Ｐは、（１）式、（２）式及び（５）式から、次式
【数６】
2011233009.tif 000008
のように表すことができる。ただし（６）式においてＴは定数であるため、データブロックＤＢＬの優先度Ｐは次式
【数７】
2011233009.tif 000009
により表すことができる。
【０１２８】
よって、各データブロックＤＢＬの優先度Ｐの高低は、次式
【数８】
2011233009.tif 000010
により個々のデータブロックＤＢＬの優先度を算出し、算出結果を比較することによって求めることができる。
【０１２９】
なお、（８）式において、「Ｄ×Ｃ´」は上述のように閾値として値を設定する。また（８）式において、単位時間当たりのライトアクセス量ＷはデータブロックＩ／Ｏ履歴テーブル３４（図１４）から求めることができ、データのＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上での滞在時間Ｂは、データブロック移行履歴テーブル３５（図１５）から求めることができる。さらにデータブロックＤＢＬに格納されたデータがＳＡＳハードディスク装置又はＳＡＴＡハードディスク装置からＳＳＤに移行される平均的な時間間隔Ａは、データブロック移行履歴テーブル３５から求めることができ、関数Ｈ（Ｈ）は、データブロック優先度管理テーブル３３（図１３）のオンライン状態欄３３Ｅ（図１３）を参照することにより値を決定することができる。
【０１３０】
（２−２）第２の実施の形態によるデータブロック優先度決定処理
図１との対応部分に同一符号を付して示す図２０は、第２の実施の形態による計算機システム４０を示す。この計算機システム４０は、管理サーバ４１のデータブロック優先度決定プログラム４２により実行される各データブロックＤＢＬの優先度の決定方法が異なる点を除いて第１の実施の形態による計算機システム１（図１）と同様に構成されている。
【０１３１】
図２１は、図１９について上述したデータブロック優先度決定処理に代えて、管理サーバ４１のデータブロック優先度決定プログラム４２により実行される第２の実施の形態によるデータブロック優先度決定処理の処理手順を示す。
【０１３２】
データブロック優先度決定プログラム４２は、定期的にこのデータブロック優先度決定処理を開始し、まず、データブロック優先度管理テーブル３３（図１３）に登録されたデータブロックＤＢＬの中から未処理のデータブロックＤＢＬを１つの選択する（ＳＰ５０）。
【０１３３】
続いてデータブロック優先度決定プログラム４２は、ステップＳＰ５０において選択したデータブロックＤＢＬについて、データブロックＩ／Ｏ履歴テーブル３４、データブロック移行履歴テーブル３５及びデータブロック優先度管理テーブル３３を参照して、単位時間当たりのライトアクセス量Ｗと、データのＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３上での滞在時間Ｂと、データブロックＤＢＬに格納されたデータがＳＡＳハードディスク装置又はＳＡＴＡハードディスク装置からＳＳＤに移行される平均的な時間間隔Ａと、関数Ｈ（Ｈ）の値とを求める（ＳＰ５１）。
【０１３４】
続いてデータブロック優先度決定プログラム４２は、ステップＳＰ５１において求めた各値を利用して、そのデータブロックＤＢＬの優先度を数値として算出し（ＳＰ５２）、算出結果に基づいてデータブロック優先度管理テーブル３３における対応する優先度欄３３Ｅ（図１３）を更新する（ＳＰ５３）。
【０１３５】
次いでデータブロック優先度決定プログラム４２は、データブロック優先度管理テーブル３３に登録されたすべてのデータブロックＤＢＬについて同様の処理を実行し終えたか否かを判断する（ＳＰ５４）。
【０１３６】
データブロック優先度決定プログラム４２は、この判断において否定結果を得ると、ステップＳＰ５０に戻り、この後、ステップＳＰ５０〜ステップＳＰ５４の処理を繰り返す。そしてデータブロック優先度決定プログラム４２は、やがてデータブロック優先度管理テーブル３３に登録されたすべてのデータブロックＤＢＬについて同様の処理を実行し終えることによりステップＳＰ５４において肯定結果を得ると、データブロック優先度管理テーブル３３に登録されている、各データブロックＤＢＬの最新の優先度を、データブロック管理テーブル２６（図１０）の更新命令と共にストレージ装置３に送信する（ＳＰ５５）。
【０１３７】
かくしてストレージ装置３のデータブロック管理プログラム２５（図１）は、この更新命令を受信すると、データブロック管理テーブル２６に登録された各データブロックＤＢＬの優先度を、当該更新命令と共に管理サーバ４から送信される各データブロックＤＢＬの最新の優先度に基づき必要に応じて更新する。
【０１３８】
そしてデータブロック優先度決定プログラム４２は、この後、このデータブロック優先度決定処理を終了する。
【０１３９】
（２−２）本実施の形態の効果
以上のように本実施の形態による計算機システム４０では、データブロック優先度管理テーブル３３に登録された各データブロックＤＢＬの優先度を数値として算出するため、例えば図１８について上述したＳＳＤボリューム空き容量監視処理のステップＳＰ３３において優先度が最小のデータブロックＤＢＬのデータをＳＳＤボリュームＶＯＬ１から削除する際に、不要なデータブロックＤＢＬのデータをより精度良く選択してＳＳＤボリュームＶＯＬ１から削除することができる。
【０１４０】
よって本実施の形態による計算機システム４０によれば、ストレージ装置３において、ＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３からＳＳＤボリュームＶＯＬ１にデータを戻す際にＳＳＤボリュームＶＯＬ１において書き換えられるデータ量を必要最小限にすることができるため、ＳＳＤが短命化することに起因するメンテナンスに要するコスト及び労力を抑制しながら、記憶装置２３の有効利用をより一層と促進することができる。
【０１４１】
（３）他の実施の形態
なお上述の第１及び第２の実施の形態においては、本発明を図１のように構成されたストレージ装置３に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のストレージ装置に広く適用することができる。
【０１４２】
また上述の第１及び第２の実施の形態においては、ストレージ装置３内に定義された各仮想ボリュームＶＶＯＬの各データブロックＤＢＬの優先度を管理サーバ４，４１において決定するようにした場合について述べたが、本発明はこれに限らず、同様の機能をストレージ装置３に搭載し、かかる各データブロックＤＢＬの優先度をストレージ装置３において決定するようにしても良い。
【０１４３】
さらに上述の第１及び第２の実施の形態においては、ＳＳＤボリュームＶＯＬ１からＳＡＳ＿ＨＤＤボリュームＶＯＬ２又はＳＡＴＡ＿ＨＤＤボリュームＶＯＬ３にデータを移行し、その後、そのデータをＳＳＤボリュームＶＯＬ１に戻す際に本発明を適用するようにした場合について述べたが、本発明はこれに限らず、ＳＳＤ以外の書換え可能回数に制限がある記憶デバイスが提供する記憶領域から他の記憶デバイスが提供する記憶領域にデータを移行し、その後、そのデータを書換え回数に制限がある記憶デバイスが提供する記憶領域に戻す場合に広く適用することができる。
【０１４４】
さらに上述の第１及び第２の実施の形態においては、仮想ボリュームＶＶＯＬのデータブロックＤＢＬごとのアクセス頻度を監視し、当該アクセス頻度が多いデータブロックＤＢＬほど、より応答性能が高い記憶装置２３が提供する記憶領域を割り当てるように、対応する記憶装置２３を制御することにより、必要なデータ移行を実行させる制御部を、ストレージ装置３全体の動作制御を司るＣＰＵ２０及びデータブロック管理プログラム２５により構成するようにした場合について述べたが、本発明はこれに限らず、このような機能を有する構成要素をＣＰＵ２０とは別個にストレージ装置３に設けるようにしても良い。
【産業上の利用可能性】
【０１４５】
本発明は、データ管理方式としてストレージ階層管理方式が適用されたストレージ装置に適用できる。
【符号の説明】
【０１４６】
１，４０……計算機システム、２……ホスト装置、３……ストレージ装置、４，４１……管理サーバ、１０，２０，３０……ＣＰＵ、１１，２１，３１……メモリ、２３……記憶装置、２４……データブロック移行制御プログラム、２５……データブロック管理プログラム、２６……データブロック管理テーブル、２７……ボリューム管理テーブル、２８……ページ管理テーブル、３２，４２……データブロック優先度決定プログラム、３３……データブロック優先度管理テーブル、３４……データブロックＩ／Ｏ履歴テーブル、３５……データブロック移行履歴テーブル、ＤＢＬ……データブロック、ＨＣ，ＨＣ〜ＨＣ３……ストレージ階層、ＰＧ……ページ、ＶＯＬ，ＶＯＬ１〜ＶＯＬ３……ボリューム、ＶＰＯＬ……仮想プール、ＶＶＯＬ……仮想ボリューム。
【図１】
2011233009.tif 000011
【図２】
2011233009.tif 000012
【図３】
2011233009.tif 000013
【図４】
2011233009.tif 000014
【図５】
2011233009.tif 000015
【図６】
2011233009.tif 000016
【図７】
2011233009.tif 000017
【図８】
2011233009.tif 000018
【図９】
2011233009.tif 000019
【図１０】
2011233009.tif 000020
【図１１】
2011233009.tif 000021
【図１２】
2011233009.tif 000022
【図１３】
2011233009.tif 000023
【図１４】
2011233009.tif 000024
【図１５】
2011233009.tif 000025
【図１６】
2011233009.tif 000026
【図１７】
2011233009.tif 000027
【図１８】
2011233009.tif 000028
【図１９】
2011233009.tif 000029
【図２０】
2011233009.tif 000030
【図２１】
2011233009.tif 000031