(57)【要約】【課題】データ最適配置を行いつつ、所望のボリュームのブロックを最上位階層に配置すること。【解決手段】本発明にかかるストレージ装置は、複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報と、複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報と、を記憶する記憶部と、性能要件管理情報及びブロック管理情報を参照し、最上位階層及び性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行うブロック再配置部と、を備える。【選択図】図１
2018169728.tif 000002
【特許請求の範囲】
【請求項１】
複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報と、
前記複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報と、
を記憶する記憶部と、
前記性能要件管理情報及び前記ブロック管理情報を参照し、最上位階層及び前記性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び前記性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行うブロック再配置部と、
を備えるストレージ装置。
【請求項２】
前記第２のデータブロックに対する再配置の即時要求を受け付ける受付部をさらに備え、
前記ブロック再配置部は、前記即時要求に応じて、前記第１のデータブロックと前記第２のデータブロックとの入れ替えを行う
請求項１に記載のストレージ装置。
【請求項３】
前記ブロック再配置部は、
前記ブロック管理情報を参照し、前記最上位階層に関連付けられ、かつ、データが格納されていないデータブロックである空きブロックが存在するか否かを判定し、
前記空きブロックが存在すると判定した場合、当該空きブロックに前記第２のデータブロックを割り当て、
前記空きブロックが存在しないと判定した場合、前記第１のデータブロックと前記第２のデータブロックとの入れ替えを行う
請求項１又は２に記載のストレージ装置。
【請求項４】
前記記憶部は、前記複数のボリュームのデータブロック単位のアクセス頻度を管理するアクセス頻度管理情報をさらに記憶し、
前記性能要件管理情報は、各ボリュームのそれぞれについて最上位階層に固定するか否かを示すフラグをさらに対応付け、
前記ブロック再配置部は、
前記アクセス頻度管理情報に基づいて前記複数のボリュームの各データブロックの再配置を行う際に、前記アクセス頻度が低く、前記フラグが最上位階層に固定しないことを示すボリューム及び前記最上位階層に関連付けられた第３のデータブロックと、前記フラグが最上位階層に固定することを示すボリューム及び前記下位階層に関連付けられた第４のデータブロックとの入れ替えを行う
請求項１乃至３のいずれか１項に記載のストレージ装置。
【請求項５】
前記性能要件は、ＩＯＰＳ（Input/Output Per Second）を含む
請求項１乃至４のいずれか１項に記載のストレージ装置。
【請求項６】
複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報、及び、前記複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報を参照し、
最上位階層及び前記性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び前記性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行う
ストレージ管理方法。
【請求項７】
複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報、及び、前記複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報を参照する処理と
最上位階層及び前記性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び前記性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行う処理と、
をコンピュータに実行させるストレージ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージ管理方法及びストレージ管理プログラムに関し、特に、データ最適配置を行うストレージ装置、ストレージ管理方法及びストレージ管理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、ストレージに保存したデータへのアクセス頻度を分析して、アクセス頻度が高ければより高速かつ高価なデバイス（例えばＳＳＤ（Solid State Drive））を利用したプール上にデータブロックを配置し、アクセス頻度が低ければ、高速ではないかつ安価なデバイス（例えばニアラインＳＡＳ（ＮＬ−ＳＡＳ（NearLine Serial Attached SCSI）））を利用したプール上にデータブロックを配置することで、効果的にストレージを利用する技術（データ最適配置技術）が開示されている。
【０００３】
また、特許文献２には、性能の異なる複数の記憶装置を用いてプールを構成し、当該プールから複数の仮想論理ボリュームを提供するストレージサブシステムを管理するストレージ管理システムに関する技術が開示されている。特許文献２にかかるシステムは、複数の仮想論理ボリュームのそれぞれについての目標応答性能の情報に基づいて、複数の仮想論理ボリュームのそれぞれが目標応答性能を満足するように複数のグループに分類される。そして、当該仮想論理ボリュームの複数のグループのそれぞれに対して新たなプールが割り当てられる。さらに、当該プールと各グループに含まれる仮想論理ボリュームとの対応関係を示す情報が生成され、その情報が出力される。
【０００４】
特許文献３には、アクセス頻度に基づいて仮想ページの入れ替えを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１１／１１７９２５号公報
【特許文献２】国際公開第２０１２／１６４７１８号公報
【特許文献３】特表２０１３−５３６４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術における階層間のブロック再配置は、ボリューム単位のアクセス頻度の分析結果に応じて実施される。そのため、所望のボリュームのブロックを最上位階層に配置できるとは限らないという問題点があった。
【０００７】
本発明は、このような問題点を解決するためになされたものであり、データ最適配置を行いつつ、所望のボリュームのブロックを最上位階層に配置するためのストレージ装置、ストレージ管理方法及びストレージ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様にかかるストレージ装置は、
複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報と、
前記複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報と、
を記憶する記憶部と、
前記性能要件管理情報及び前記ブロック管理情報を参照し、最上位階層及び前記性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び前記性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行うブロック再配置部と、
を備える。
【０００９】
本発明の第２の態様にかかるストレージ管理方法は、
複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報、及び、前記複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報を参照し、
最上位階層及び前記性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び前記性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行う。
【００１０】
本発明の第３の態様にかかるストレージ管理プログラムは、
複数のボリュームのそれぞれにおける性能要件の下限値の設定を管理する性能要件管理情報、及び、前記複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理するブロック管理情報を参照する処理と
最上位階層及び前記性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び前記性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行う処理と、
をコンピュータに実行させる。
【発明の効果】
【００１１】
本発明により、データ最適配置を行いつつ、所望のボリュームのブロックを最上位階層に配置するためのストレージ装置、ストレージ管理方法及びストレージ管理プログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかるストレージ装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるストレージ管理方法の流れを示すフローチャートである。
【図３】本発明の実施の形態２にかかるストレージ管理システムの全体構成を示すブロック図である。
【図４】本発明の実施の形態２にかかる階層プール管理テーブルの例を示す図である。
【図５】本発明の実施の形態２にかかるプール管理テーブルの例を示す図である。
【図６】本発明の実施の形態２にかかるボリューム管理テーブルの例を示す図である。
【図７】本発明の実施の形態２にかかるＱｏＳ管理テーブルの例を示す図である。
【図８】本発明の実施の形態２にかかるデータ最適配置管理テーブルの例を示す図である。
【図９】本発明の実施の形態２にかかるアクセス頻度管理テーブルの例を示す図である。
【図１０】本発明の実施の形態２にかかるボリューム設定画面の例を示す図である。
【図１１】本発明の実施の形態２にかかるＱｏＳ設定処理の流れを示すフローチャートである。
【図１２】本発明の実施の形態２にかかるブロック入替処理の流れを示すフローチャートである。
【図１３】本発明の実施の形態２にかかるブロック入替処理の実行結果の例を示す図である。
【図１４】本発明の実施の形態２にかかるアクセス頻度に基づくブロック入替処理の流れを示すフローチャートである。
【図１５】関連技術にかかるＩＯＰＳの設定ポリシーの例を示す図である。
【発明を実施するための形態】
【００１３】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１４】
＜実施の形態１＞
図１は、本発明の実施の形態１にかかるストレージ装置１０００の構成を示すブロック図である。ストレージ装置１０００は、記憶部１１００と、ブロック再配置部１２００と、を備える。記憶部１１００は、性能要件管理情報１１１０と、ブロック管理情報１１２０とを記憶する。性能要件管理情報１１１０は、複数のボリューム（論理ディスク）のそれぞれにおける性能要件の上限値や下限値などの設定を管理する情報である。性能要件とは例えば、ストレージ装置１０００のＩＯＰＳ（Input/Output Per Second）やレスポンスタイム等である。ブロック管理情報１１２０は、複数のボリュームの各データブロックについて、階層プールにおける階層と、所属するボリュームとを関連付けて管理する情報である。
【００１５】
ブロック再配置部１２００は、性能要件管理情報１１１０及びブロック管理情報１１２０を参照し、最上位階層及び性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行う。
【００１６】
図２は、本発明の実施の形態１にかかるストレージ管理方法の流れを示すフローチャートである。まず、ストレージ装置１０００のブロック再配置部１２００は、性能要件管理情報１１１０及びブロック管理情報１１２０を参照する（Ｓ１０１）。次に、ブロック再配置部１２００は、最上位階層及び性能要件の下限値が未設定のボリュームに関連付けられた第１のデータブロックと、下位階層及び性能要件の下限値が設定されたボリュームに関連付けられた第２のデータブロックとの入れ替えを行う（Ｓ１０２）。
【００１７】
このように、本実施の形態により、データ最適配置を行いつつ、所望のボリュームのブロックを最上位階層に配置することができる。
【００１８】
＜実施の形態２＞
本実施の形態２は、上述した実施の形態１の一実施例である。
ここで、本実施の形態で解決しようとする課題について説明する。まず、上述したように、ストレージのデータ最適配置（ストレージ階層化、又は、筐体内ＩＬＭ（Information Lifecycle Management）とも呼ぶ。）機能を利用したボリュームのブロック再配置をＱｏＳ（Quality of Service）（Ｉ／Ｏ流量制御とも呼ぶ。）機能と組み合わせて利用する場合、高性能が要求されるボリュームを、高性能なプールに配置して処理遅延を防ぐ技術が知られている（例えば、特許文献１）。
【００１９】
また、ＱｏＳ機能をＩＯＰＳを元に利用する場合、例えば図１５のような設定ポリシーの定義を与えることができる。図１５は、関連技術にかかるＩＯＰＳの設定ポリシーの例を示す図である。つまり、ＩＯＰＳ上限値を設定する場合は、自業務が利用するボリュームが、突発的な高負荷などにより他業務（のボリューム）に影響を与えないようにするポリシーである。一方、ＩＯＰＳ下限値を設定する場合は、自業務（のボリューム）が他業務（のボリューム）の突発的な高負荷等の影響を受けることなく、安定的にＩＯＰＳ下限値以上の性能を確保できるようにするポリシーである。ＩＯＰＳ上限値と下限値の両方を設定する場合は、その中間のポリシーである。
【００２０】
ここで、ＩＯＰＳ下限値を設定したボリュームの方が、ＩＯＰＳ上限値を設定したボリュームよりも業務の重要度が高い、と考えることが出来る。その理由は、まず、ＩＯＰＳ下限値が設定されている場合、下限値以上のＩＯＰＳ性能を確保しなければならないため、ホスト計算機からのＩＯＰＳ下限値以上のＩ／Ｏ要求に対してより高速なデバイスにデータを配置する必要があるためである。また、ＩＯＰＳ上限値が設定されている場合、上限値以下の性能に抑え込めばよいため、必ずしも高速なデバイスにデータを配置する必要はないためである。
【００２１】
つまり、業務が要求するサービスレベルは、最重要レベルの場合、ＩＯＰＳ下限値のみを設定し、重要レベルの場合、ＩＯＰＳ上限値と下限値を設定し、一般レベルの場合、ＩＯＰＳ上限値のみを設定する、と考えることが出来る。
【００２２】
したがって、ＱｏＳ機能をデータ最適配置機能と組み合わせる場合、重要度が最も高い最重要の業務、すなわちＩＯＰＳ下限値のみを設定したボリュームは、より高速なデバイスである最上位階層に配置させたい、という要望がある。
【００２３】
しかしながら、従来技術については、以下の（１）及び（２）の問題があった。
（１）データ最適配置機能の階層間のブロック再配置は、ボリューム単位のアクセス頻度の分析結果に応じて実施するため、高頻度にアクセスされるブロックが最上位階層の高速デバイスに配置されるまで、分析期間に依存して一定の期間を要する（例えば、数日〜１週間など）。これは、ボリュームの新規作成直後の場合、過去のアクセス頻度データが存在しないため特に顕著である。
【００２４】
（２）ＩＯＰＳ下限値を設定したボリュームの各ブロックの最上位階層への配置については、過去のＩ／Ｏ履歴に基づくアクセス頻度分析の結果、当該ボリューム以外のブロックの方がアクセス頻度が高ければ、当該ボリュームのブロックは最上位階層へ配置されない。
【００２５】
このように上記（１）及び（２）共に、結果として、設定したＩＯＰＳ下限値のＱｏＳを維持できなくなる場合がある、という課題があった。また、どうしても最上位階層の高速デバイスに即座にまたは継続的に配置させたい場合は、階層プールとは別のプールが必要となり、余分なコストがかかる、という課題もあった。
【００２６】
上記の課題を解決するための本発明の実施の形態について、以下に概要を説明する。
ＱｏＳ機能によるボリュームのＩＯＰＳ下限値の設定時、当該ボリュームのブロックを即座に最上位階層のブロックに割り当てる（または、割り当て済みの最上位階層のブロックとの再配置を行う）オプションを用意する。本オプション指定時は、アクセス頻度分析とは独立して以下を実施する。
・最上位階層に空きがあれば、当該ボリュームの下位階層のブロックから最上位階層のブロックへ再配置（移動）を行う。
・最上位階層に空きが無ければ、最上位階層の各ブロックが属するボリュームの内、ＩＯＰＳ下限値が設定されていないボリュームのブロックを対象に、下位階層の当該ボリュームのブロックと入れ替えて再配置を行う。
【００２７】
上記について図３及び図１０を用いて説明する。
まず、管理コンソール５００内のストレージ管理クライアントプログラム５０１は、データ最適配置機能を利用した階層プール上に構築されたボリュームに対して、ＱｏＳ機能によるＩＯＰＳ上限値及び下限値設定を行う。その際、利用者は、図１０のストレージ管理クライアントプログラム  ＧＵＩイメージのようなユーザインタフェースを介して、ストレージ装置１０に対して、ＱｏＳ設定要求を送信する。ここで、要求内容には、ボリューム名、ＩＯＰＳ上限値、ＩＯＰＳ下限値、「Ｔｉｅｒ０に即座にブロックを割り当てる」フラグ、「Ｔｉｅｒ０に固定的にブロックを割り当てる」フラグ、の各情報が含まれる。尚、「Ｔｉｅｒ０に即座にブロックを割り当てる」フラグがＯＮの場合のＱｏＳ設定要求は、データブロックに対する再配置の即時要求の一例である。また、「Ｔｉｅｒ０に即座にブロックを割り当てる」フラグは、最上位階層に固定するか否かを示すフラグの一例である。
【００２８】
ＱｏＳ管理手段１１０は、ストレージ管理クライアントプログラム５０１からのＱｏＳ設定要求を受け取ると、要求内容をＱｏＳ管理テーブル３４０に保存する。
【００２９】
次に、「Ｔｉｅｒ０に即座にブロックを割り当てる」フラグがＯＮ（＝即座に割り当てる）の時、ＱｏＳ管理手段１１０は、データ最適配置管理手段１２０を起動する。データ最適配置管理手段１２０は、データ最適配置管理テーブル３５０を参照し、Ｔｉｅｒ０（ＳＳＤプール）に空きブロックがあるか確認する。空きブロックがあれば、データ最適配置管理手段１２０は、要求されたボリュームのブロックをＴｉｅｒ０のプールに割り当てるよう、ブロックの再配置を行う。データ最適配置管理手段１２０は、再配置を行う際、ブロック間のデータ移動用の作業領域として、ストレージ装置１０のメモリ１１の領域の一部である、データ最適配置ｗｏｒｋ領域１２を使用する。空きブロックが無ければ、データ最適配置管理手段１２０は、ＱｏＳ管理テーブル３４０を参照し、ＩＯＰＳ下限値が設定されていないボリュームのブロックがＴｉｅｒ０（ＳＳＤプール）に存在するか確認する。存在する場合、データ最適配置管理手段１２０は、ＩＯＰＳ下限値が設定されていないボリュームのブロックと、要求されたボリュームのブロックとを入れ替えるよう、ブロックの再配置を行う。
【００３０】
このようにして、次回のアクセス頻度分析まで待つことなく、また、実際のアクセス頻度が他のボリュームより高くない場合であっても、ＩＯＰＳ下限値を設定したボリュームのブロックを速やかに最上位階層の高速デバイスに配置することが出来る。
【００３１】
尚、「Ｔｉｅｒ０に固定的にブロックを割り当てる」フラグについては後述する。続いて、本発明の実施の形態の構成について説明する。
【００３２】
図３は、本発明の実施の形態２にかかるストレージ管理システム１の全体構成を示すブロック図である。ストレージ管理システム１は、ホスト計算機５１０、５２０、・・・と、ストレージ装置１０と、管理コンソール５００とを備える。ここで、ホスト計算機５１０等とストレージ装置１０とは、ストレージエリアネットワーク（Storage Area Network（SAN））Ｎ１で接続されている。また、管理コンソール５００とストレージ装置１０とは、ローカルエリアネットワーク（Local Area Network（LAN））Ｎ２で接続されている。
【００３３】
ストレージ装置１０は、ストレージ管理プログラム１００と、メモリ１１と、性能ログ２１と、階層プール管理テーブル３１０と、プール管理テーブル３２０と、ボリューム管理テーブル３３０と、ＱｏＳ管理テーブル３４０と、データ最適配置管理テーブル３５０と、アクセス頻度管理テーブル３６０と、複数のＳＳＤ（Solid State Drive）Ｓ１、Ｓ２、・・・Ｓｍ（ｍは２以上の整数。）と、複数のＨＤＤ（Hard Disk Drive）Ｈ１、Ｈ２、・・・Ｈｎ（ｎは２以上の整数。）と、複数の階層プールと、複数のボリュームＬＤ１、ＬＤ２、ＬＤ３及びＬＤ４と、を備える。
【００３４】
尚、ストレージ管理プログラム１００と、性能ログ２１と、階層プール管理テーブル３１０と、プール管理テーブル３２０と、ボリューム管理テーブル３３０と、ＱｏＳ管理テーブル３４０と、データ最適配置管理テーブル３５０と、アクセス頻度管理テーブル３６０とは、ストレージ装置１０内の管理用の記憶領域（不図示）に格納されている。ストレージ装置１０の制御部（不図示）は、ストレージ管理プログラム１００をメモリ（不図示。メモリ１１とは別のもの。）に読み込み実行する。これにより、ストレージ装置１０は、ＱｏＳ管理手段１１０、データ最適配置管理手段１２０及び性能監視手段１３０として機能する。
【００３５】
メモリ１１は、ストレージ装置１０に用意されたキャッシュメモリである。メモリ１１は、ホスト計算機５１０、５２０、・・・から受け付けたＲｅａｄやＷｒｉｔｅのＩ／Ｏ要求のデータを、一時的に格納する領域である。メモリ１１は、その一部にデータ最適配置ｗｏｒｋ領域１２を含む。
【００３６】
データ最適配置ｗｏｒｋ領域１２は、データ最適配置管理手段１２０が階層間のデータブロックを再配置により入れ替える（移動する）際に、移動対象のデータを一時的に格納するためや、移動元や移動先のブロックに関する必要な情報を記憶するために使用する作業領域である。
【００３７】
性能ログ２１は、性能監視手段１３０がストレージ装置１０のＩＯＰＳやレスポンスタイムなどの各種性能情報を出力するログファイルである。性能ログ２１は、性能監視手段１３０が定期的に実行するアクセス頻度分析時の入力となる情報である。
【００３８】
階層プールは、複数のプール（例えば、Ｔ０、Ｔ１、Ｔ２）を仮想的に１つのプールとして束ねたものである。図４では、階層プールの例として、Ｔｉｅｒ０（最上位階層）にＳＳＤプール、Ｔｉｅｒ１にＳＡＳプール、Ｔｉｅｒ２にニアラインＳＡＳ（以下ＮＬ−ＳＡＳ）プール、の３段構成の階層プールを示している。各階層には、ハードウェア的なデバイス特性やＲＡＩＤ（Redundant Arrays of Inexpensive Disks）タイプが異なるものを配置する。これにより、アクセス頻度分析に応じて、よくアクセスされるブロックはＴｉｅｒ０などの高速かつ高価なデバイスに配置し、あまりアクセスされないブロックはＴｉｅｒ２などの低速かつ安価なデバイスに配置することで、効率よくストレージを利用することができる。尚、図４の例では、階層プールは３階層であるが、２階層や４階層以上であっても良い。
【００３９】
ボリュームＬＤ１〜ＬＤ４は、階層プールから切り出されて、ホスト計算機５１０、５２０、・・・に割り当てて利用される。
【００４０】
ＱｏＳ管理手段１１０は、ストレージ管理クライアントプログラム５０１から発行されたＱｏＳ設定要求を受け付けて、ボリューム単位のＩＯＰＳ上限値や下限値などの情報を設定する機能と、要求結果をストレージ管理クライアントプログラム５０１に返却する機能と、性能監視手段１３０と連携して、設定したＩＯＰＳ上限値や下限値の情報に基づいて、ボリュームごとのＩＯＰＳ値を制御する機能、とを有する。尚、ＱｏＳ管理手段１１０は、受付部の一例である。
【００４１】
データ最適配置管理手段１２０は、管理コンソール５００上のストレージ管理クライアントプログラム５０１からの要求に基づいて、「Ｔｉｅｒ０に即座にブロックを割り当てる」及び「Ｔｉｅｒ０に固定的にブロックを割り当てる」機能と、性能監視手段１３０のアクセス頻度分析の結果に基づいて、階層プールのブロックを再配置する機能、とを有する。尚、データ最適配置管理手段１２０は、ブロック再配置部１２００の一例である。
【００４２】
性能監視手段１３０は、ストレージ装置１０のＩＯＰＳなどの各種性能情報を性能ログ２１に出力する機能と、性能ログ２１を入力情報として、ストレージ装置１０のアクセス頻度分析を定期的に実行する機能、とを有する。
【００４３】
図４は、本発明の実施の形態２にかかる階層プール管理テーブル３１０の例を示す図である。階層プール管理テーブル３１０は、ＩＤ、階層プール名、容量、階層数の各カラムを持つ。ＩＤは主キーである。階層プール名は、階層プールを一意に特定する識別子である。容量は、階層プールの総容量を表す。階層数は、階層プールを構成する各プールのＴｉｅｒ数を表す。
【００４４】
図４の、例えば先頭行から、階層プール１が、容量１００ＧＢで、３階層のＴｉｅｒから成ることが分かる。
【００４５】
図５は、本発明の実施の形態２にかかるプール管理テーブル３２０の例を示す図である。プール管理テーブル３２０は、ＩＤ、階層プール名、Ｔｉｅｒ番号、プール名、容量の各カラムを持つ。ＩＤは主キーである。階層プール名は、階層プールを一意に特定する識別子である。Ｔｉｅｒ番号は、０から始まる自然数であり、階層プールの何番目の階層にプールが属しているかを表す。プール名は、プールを一意に特定する識別子である。容量は、プールの容量を表す。
【００４６】
図５の、例えば先頭行から、階層プール１のＴｉｅｒ番号０はＳＳＤプール１であり、その容量は２０ＧＢであることが分かる。
【００４７】
図６は、本発明の実施の形態２にかかるボリューム管理テーブル３３０の例を示す図である。ボリューム管理テーブル３３０は、ＩＤ、ボリューム名、容量、階層プール名、ブロック数、ボリュームブロック番号リストの各カラムを持つ。ＩＤは主キーである。ボリューム名は、ボリュームを一意に特定する識別子である。容量は、ボリューム名の容量を表す。階層プール名は、ボリュームが属する階層プールを表す。ブロック数は、ボリュームを構成するブロックの総ブロック数を表す。ボリュームブロック番号リストは、ボリューム内の通番であり、ボリュームを構成する全てのブロックの情報をＣＳＶ形式でリスト化したものである。
【００４８】
図６の、例えば先頭行から、ボリューム１の容量は７０ＧＢで、階層プール１に属しており、総ブロック数は１４で、ＬＤ１−１からＬＤ１−１４のブロックに分割して階層プール１上に配置されていることが分かる。
【００４９】
図７は、本発明の実施の形態２にかかるＱｏＳ管理テーブル３４０の例を示す図である。ＱｏＳ管理テーブル３４０は、ＩＤ、ボリューム名、ＩＯＰＳ上限値、ＩＯＰＳ下限値、Ｔｉｅｒ０即時割り当てフラグ、Ｔｉｅｒ０固定割り当てフラグ、階層プール名の各カラムを持つ。ＩＤは主キーである。ボリューム名は、ボリュームを一意に特定する識別子である。ＩＯＰＳ上限値は、ボリュームに設定されたＩＯＰＳ上限値を表す。上限値が設定されていない場合の値は「−」である。ＩＯＰＳ下限値は、ボリュームに設定されたＩＯＰＳ上限値を表す。下限値が設定されていない場合の値は「−」である。Ｔｉｅｒ０即時割り当てフラグは、アクセス頻度分析の結果によらず、当該ボリュームのブロックをＴｉｅｒ０に即座に割り当てて再配置するかどうかを示すフラグである。即時割り当てを行う場合は「ＹＥＳ」、行わない場合は「ＮＯ」となる。Ｔｉｅｒ０固定割り当てフラグは、アクセス頻度分析の結果によらず、当該ボリュームのブロックをＴｉｅｒ０に固定的に割り当てるかどうかを示すフラグである。固定割り当てを行う場合は「ＹＥＳ」、行わない場合は「ＮＯ」となる。階層プール名は、ボリュームが属する階層プールを表す。尚、ＱｏＳ管理テーブル３４０は、性能要件管理情報１１１０の一例である。
【００５０】
図７の、例えば先頭行から、ボリューム１にはＩＯＰＳ上限値として２０００ＩＯＰＳが設定されているが、ＩＯＰＳ下限値は未設定であること、Ｔｉｅｒ０即時割り当て、Ｔｉｅｒ０固定割り当てはどちらも行わない設定であること、ボリューム１が階層プール１に属していることが分かる。
【００５１】
図８は、本発明の実施の形態２にかかるデータ最適配置管理テーブル３５０の例を示す図である。データ最適配置管理テーブル３５０は、ＩＤ、プール名、プール内ブロック番号、ブロック開始アドレス、ブロック終了アドレス、階層プール名、ボリューム名、ボリュームブロック番号の各カラムを持つ。ＩＤは主キーである。プール名は、プールを一意に特定する識別子である。プール内ブロック番号は、プール内の通番である。ブロック開始アドレス及びブロック終了アドレスはそれぞれ、当該プールの当該ブロック番号のデータが格納されている先頭及び末尾のアドレス情報を表す。階層プール名は、ボリュームが属する階層プールを表す。ボリューム名は、ボリュームを一意に特定する識別子である。ボリュームブロック番号は、ボリューム内で一意の通番であり、ボリュームを構成するブロック番号である。尚、プール管理テーブル３２０及びデータ最適配置管理テーブル３５０を組み合わせたものは、ブロック管理情報１１２０の一例である。
【００５２】
図８の、例えば先頭行から、ＳＳＤプール１のブロック番号１のデータは、0x00000000〜0x0FFFFFFFのアドレスに格納されていること、ＳＳＤプール１は階層プール１に属していること、また、現在ボリューム１のボリュームブロック番号ＬＤ１−１のデータを格納していることが分かる。データを未格納の場合、ボリューム名とボリュームブロック番号の値は、どちらも「−」となる。
【００５３】
図９は、本発明の実施の形態２にかかるアクセス頻度管理テーブル３６０の例を示す図である。アクセス頻度管理テーブル３６０は、ＩＤ、階層プール名、プール名、プール内ブロック番号、ボリューム名、ボリュームブロック番号、平均ＩＯＰＳ値、移動済みフラグの各カラムを持つ。ＩＤは主キーである。階層プール名は、階層プールを一意に特定する識別子である。プール名は、プールを一意に特定する識別子である。プール内ブロック番号は、プール内の通番である。ボリューム名は、ボリューム名は、ボリュームを一意に特定する識別子である。ボリュームブロック番号は、ボリューム内で一意の通番であり、ボリュームを構成するブロック番号である。平均ＩＯＰＳ値は、アクセス頻度分析の結果、その分析期間における、当該ボリュームの当該ブロックに対する平均のＩＯＰＳ値を表す。移動済みフラグは、ブロック移動が完了したら「ＹＥＳ」を設定する。初期値は「ＮＯ」である。尚、アクセス頻度管理テーブル３６０は、アクセス頻度管理情報の一例である。
【００５４】
図９の、例えば先頭行から、階層プール１を構成するＳＡＳプール１のプール内ブロック番号６のブロックには、ボリューム３のブロック番号ＬＤ３−２のデータが割り当てられており、平均ＩＯＰＳ値は５００ＩＯＰＳであること、また、ブロック移動は未完了であることが分かる。
【００５５】
ホスト計算機５１０、５２０、・・・は、ストレージエリアネットワークＮ１を介してストレージ装置１０を利用する。具体的には、ストレージ装置１０のボリュームに対してＩ／Ｏ要求を発行し、ストレージ装置１０からＩ／Ｏ処理結果を受け取る。
【００５６】
管理コンソール５００は、ストレージ管理クライアントプログラム５０１を含む。ストレージ管理クライアントプログラム５０１は、ストレージ装置１０に対して、ＱｏＳ機能の設定要求を発行し、要求結果を受信する機能を有する。ストレージ管理クライアントプログラム５０１は、具体的には、ストレージ装置１０の各ボリュームに対してＩＯＰＳ上限値やＩＯＰＳ下限値を設定する、などの処理要求を発行する。
【００５７】
続いて、本実施の形態の動作について説明する。以下では、図３〜図１０の構成例を元に、管理コンソールからのＱｏＳ設定要求に基づいて、階層プールの最上位階層へのブロック再配置を行う処理フローを説明する。
【００５８】
図１１は、本発明の実施の形態２にかかるＱｏＳ設定処理の流れを示すフローチャートである。まず、管理コンソール５００内のストレージ管理クライアントプログラム５０１は、ストレージ装置１０に対して、ＱｏＳ設定要求を送信する（ステップＳ１１）。ＱｏＳ設定要求は、利用者が図１０のストレージ管理クライアントプログラム５０１のＧＵＩインタフェースを介して指示された内容である。
【００５９】
図１０は、本発明の実施の形態２にかかるボリューム設定画面の例を示す図である。図１０のボリューム名は、リストボックスから作成済みボリュームを選択するものであり、ここでは「ボリューム４」を選択している。容量は、選択したボリューム名に応じて、ストレージ管理クライアントプログラム５０１がストレージ装置１０から取得した情報を利用者に表示する。ここでは「１０ＧＢ」が表示されている。ＩＯＰＳ上限値とＩＯＰＳ下限値は、設定する場合に具体的なＩＯＰＳ値を指定する。設定しない場合は、初期値として「設定しない」を表示する。ここでは、ＩＯＰＳ上限値は設定せず、ＩＯＰＳ下限値として「１０００」が設定されたことを示す。また、「Ｔｉｅｒ０に「即座に」ブロックを割り当てる」はチェックボックスであり、指定したボリュームに対して、ＱｏＳ設定を行うと同時にＴｉｅｒ０へ即座にブロック割り当ての再配置処理を行う場合に指定する。図１０では、「Ｔｉｅｒ０に「即座に」ブロックを割り当てる」を指定している。「Ｔｉｅｒ０に「固定的に」ブロックを割り当てる」はチェックボックスであり、指定したボリュームに対して、アクセス頻度分析の結果とは無関係に、Ｔｉｅｒ０へ固定的にブロック割り当てを行う場合に指定する（ＱｏＳ設定後の最初のアクセス頻度分析で、指定したボリュームのブロックがＴｉｅｒ０以外の階層にある場合は、Ｔｉｅｒ０への再配置処理を行うこととなる）。図１０では、「Ｔｉｅｒ０に「固定的に」ブロックを割り当てる」を指定している。
【００６０】
そのため、図１１のステップＳ１１では、ストレージ管理クライアントプログラム５０１からストレージ装置１０に対して、ＱｏＳ設定要求として、ボリューム名として「ボリューム４」、ＩＯＰＳ上限値として「−」（設定しないことを意味する）、ＩＯＰＳ下限値として「１０００」、Ｔｉｅｒ０即時割り当てフラグとして「ＹＥＳ」、Ｔｉｅｒ０固定割り当てフラグとして「ＹＥＳ」、をストレージ装置１０に対して送信する。
【００６１】
ストレージ装置１０は、ＱｏＳ管理手段１１０がＱｏＳ設定要求を受信する（ステップＳ２１）。その後、ＱｏＳ管理手段１１０は、メモリ１１上のＲｅｔｕｒｎＣｏｄｅを「ＯＫ」に設定する（ステップＳ２２）。ＲｅｔｕｒｎＣｏｄｅは、ストレージ装置１０上の複数の手段が共有して設定・参照を行えるメモリ領域である。
【００６２】
次に、ＱｏＳ管理手段１１０は、ＱｏＳ管理テーブル３４０に受信したＱｏＳ設定要求設定する（ステップＳ２３）。図７は、ＱｏＳ管理テーブル３４０の４行目（ＩＤが１の行）に、ＩＯＰＳ上限値として「−」（上限値を設定しない）、ＩＯＰＳ下限値として「１０００」、Ｔｉｅｒ０即時割り当てフラグとして「ＹＥＳ」、Ｔｉｅｒ０固定割り当てフラグとして「ＹＥＳ」、を登録した例である。この場合、ＱｏＳ管理手段１１０は、ボリューム４のデータブロックに対する再配置の即時要求を受け付けたことになる。
【００６３】
ＱｏＳ管理手段１１０は、Ｔｉｅｒ０即時割り当てフラグが「ＮＯ」であった場合（ステップＳ２４がＮＯ）、ステップＳ３０へ進む。Ｔｉｅｒ０即時割り当てフラグが「ＹＥＳ」であった場合（ステップＳ２４がＹＥＳ）、ＱｏＳ管理手段１１０は、データ最適配置管理手段１２０を起動して、以降の処理を引き継ぐ（ステップＳ２５）。起動時には、引数としてボリューム名の情報（本例では「ボリューム４」）をデータ最適配置管理手段１２０に渡す。そして、データ最適配置管理手段１２０は、即時要求に応じて第１のデータブロックと第２のデータブロックとの入れ替えを以下のように行う。
【００６４】
データ最適配置管理手段１２０は、ボリューム管理テーブル３３０、ＱｏＳ管理テーブル３４０、プール管理テーブル３２０及びデータ最適配置管理テーブル３５０を参照して、Ｔｉｅｒ０に空きブロックがないか確認する（ステップＳ２６）。つまり、データ最適配置管理手段１２０は、ブロック管理情報を参照し、最上位階層に関連付けられ、かつ、データが格納されていないデータブロックである空きブロックが存在するか否かを判定する。
【００６５】
これは次のように行われる。まず、データ最適配置管理手段１２０は、図６のボリューム管理テーブル３３０を参照して、ボリューム４のブロック数として「２」を取得する。次に、データ最適配置管理手段１２０は、図７のＱｏＳ管理テーブル３４０を参照して、ボリューム４の階層プール名として「階層プール１」を取得する。次に、データ最適配置管理手段１２０は、図５のプール管理テーブル３２０を参照して、「階層プール１」のＴｉｅｒ０すなわちＴｉｅｒ番号が０のプールとして「ＳＳＤプール１」を取得する。次に、データ最適配置管理手段１２０は、図８のデータ最適配置管理テーブル３５０を参照して、プール名が「ＳＳＤプール１」のエントリの内、ボリューム名とボリュームブロック番号がどちらも「−」のエントリを検索する。ボリューム名とボリュームブロック番号がどちらも「−」の場合、プールの当該ブロックには、ボリュームのブロックが割り当てられていないことを意味する。
【００６６】
Ｔｉｅｒ０に空きブロックがあった場合（ステップＳ２６がＹＥＳ）、データ最適配置管理手段１２０は、Ｔｉｅｒ０の空きブロックにボリューム４のブロックを割り当てて再配置する（ステップＳ２７）。具体的には、データ最適配置管理手段１２０は、データ最適配置管理テーブル３５０のボリューム名が「ボリューム４」のエントリを検索し、そのエントリのボリューム名とボリュームブロック番号を「ＳＳＤプール１」の空きエントリにコピーする。また、データ最適配置管理手段１２０は、元の「ボリューム４」のエントリのボリューム名とボリュームブロック番号のそれぞれに「−」を設定する。ＮＬ−ＳＡＳディスクからＳＳＤディスクへの物理的なデータ移動は、このデータ最適配置管理テーブル３５０のエントリ変更を契機として行われる。但し、当該データ移動は、既存技術のため説明を省略する。
【００６７】
続いて、Ｔｉｅｒ０に空きブロックが無かった場合（ステップＳ２６がＮＯ）の動作を説明する。図８のデータ最適配置管理テーブル３５０の例では、「ＳＳＤプール１」のエントリはＩＤが１から４まで４エントリ存在するが、いずれも、ボリューム名とボリュームブロック番号が「−」でなく、ボリュームブロックを割り当て済みのため、ステップＳ２６がＮＯのフローとなる。
【００６８】
データ最適配置管理手段１２０は、Ｔｉｅｒ０にＩＯＰＳ下限値が未設定のボリュームが存在するかを、ＱｏＳ管理テーブル３４０とデータ最適配置管理テーブル３５０を参照して確認する（ステップＳ２８）。これは次のように実施する。まず、ＱｏＳ管理テーブル３４０から、ＩＯＰＳ下限値が設定されていないボリュームは、「ボリューム１」と「ボリューム２」の２つであることが分かる。次に、データ最適配置管理手段１２０は、データ最適配置管理テーブル３５０から、Ｔｉｅｒ０のプールである「ＳＳＤプール１」に対して、ボリューム名が「ボリューム１」または「ボリューム２」のエントリが無いか順に検索する。
【００６９】
Ｔｉｅｒ０にＩＯＰＳ下限値が未設定のボリュームが存在しない場合（ステップＳ２８がＮＯ）、ＲｅｔｕｒｎＣｏｄｅに「Ｔｉｅｒ０即時割り当て不可」の値を設定する（ステップＳ２９）。
【００７０】
Ｔｉｅｒ０にＩＯＰＳ下限値が未設定のボリュームが存在する場合（ステップＳ２８がＹＥＳ）の動作（図１１のＡの部分）を、図１２を用いて説明する。図１２は、本発明の実施の形態２にかかるブロック入替処理の流れを示すフローチャートである。図８の例では、ＩＤが１、２、３のエントリが該当するため、ステップＳ２８がＹＥＳのフローとなる。
【００７１】
ＱｏＳ設定を要求されたボリューム４の総ブロック数が２であることが分かっているため、この個数分、以下のループ処理を行う（ステップＳ４０）。
【００７２】
まず、データ最適配置管理手段１２０は、データ最適配置管理テーブル３５０から、Ｔｉｅｒ０すなわちＳＳＤプール１のエントリの中で、移動可能なエントリ、すなわちＩＯＰＳ下限値が未設定のボリュームのエントリを検索する（ステップＳ４１）。図８の例では、最初のエントリとして、ＩＤが１のエントリが見つかる。
【００７３】
移動可能なエントリが見つからなかった場合（ステップＳ４２がＮＯ）、一部割り当て済みフラグの値が「ＯＮ」か確認する（ステップＳ４８）。一部割り当て済みフラグは、メモリ上の領域であり、初期値は「ＯＦＦ」である。一部割り当て済みフラグが「ＯＮ」の場合（ステップＳ４８がＹＥＳ）、ＲｅｔｕｒｎＣｏｄｅに「Ｔｉｅｒ０に一部割り当てＯＫ」の値を設定する（ステップＳ４９）。一部割り当て済みフラグが「ＯＦＦ」の場合（ステップＳ４８がＮＯ）、ＲｅｔｕｒｎＣｏｄｅに「Ｔｉｅｒ０に即時割り当て不可」の値を設定する（ステップＳ５０）。
【００７４】
移動可能なエントリが見つかった場合（ステップＳ４２がＹＥＳ）、データ最適配置管理手段１２０は、移動対象エントリの情報をデータ最適配置ｗｏｒｋ領域１２にコピーし、一時的に退避する（ステップＳ４３）。これにより、ボリューム名の「ボリューム１」とボリュームブロック番号の「ＬＤ１−１」を含むエントリ情報が、データ最適配置ｗｏｒｋ領域１２に退避される。
【００７５】
次に、データ最適配置管理手段１２０は、要求されたボリュームのブロックを、ステップＳ４３で退避したＴｉｅｒ０のブロックに移動する（ステップＳ４４）。図８の例では、「ボリューム４」の１つ目のブロック、すなわちボリュームブロック番号が「ＬＤ４−１」であるＩＤが１９のエントリに対して、ボリューム名の「ボリューム４」と、ボリュームブロック番号の「ＬＤ４−１」の２つの情報を、ＩＤが１のエントリに移動する。
【００７６】
次に、データ最適配置管理手段１２０は、データ最適配置ｗｏｒｋ領域のデータを、要求されたボリュームの移動前のブロックに移動する（ステップＳ４５）。図８の例では、データ最適配置ｗｏｒｋ領域１２に退避したエントリ情報を元に、ボリューム名の「ボリューム１」とボリュームブロック番号の「ＬＤ１−１」をＩＤが１９のエントリに対してコピーし、ブロックの再配置（移動）を行う。
【００７７】
次に、データ最適配置管理手段１２０は、メモリ上の一部割り当て済みフラグの値を「ＯＮ」に設定する（ステップＳ４６）。
【００７８】
上記の処理を、ボリューム４の総ブロック数分繰り返す（ステップＳ４７）。これにより、要求されたボリュームのブロック数分、Ｔｉｅｒ０に移動可能なブロックがあれば入れ替えて再配置することができる。図１３は、本発明の実施の形態２にかかるブロック入替処理の実行結果の例を示す図である。
【００７９】
以上の処理が終了後、データ最適配置管理手段１２０は、ＱｏＳ処理要求結果を表すＲｅｔｕｒｎＣｏｄｅを、ストレージ管理クライアントプログラム５０１に返却する（ステップＳ３０）。その後、ストレージ管理クライアントプログラム５０１は、ＱｏＳ処理要求結果を受信する（ステップＳ１２）。このようにして、ＩＯＰＳ下限値を設定したボリュームのデータブロックを、アクセス頻度分析の結果を待つことなく、階層プールの最上位階層（Ｔｉｅｒ０）に即座に割り当てることができる。
【００８０】
また、ＱｏＳ設定要求における「Ｔｉｅｒ０に固定的にブロックを割り当てる」フラグがＯＮ（＝固定で割り当てる）の場合に、性能監視手段１３０が定期的に実施するアクセス頻度分析に伴い、次のように動作する。
【００８１】
図１４は、本発明の実施の形態２にかかるアクセス頻度に基づくブロック入替処理の流れを示すフローチャートである。
まず、性能監視手段１３０は、性能ログ２１からアクセス頻度管理テーブル３６０を更新する（Ｓ６１）。すなわち、性能監視手段１３０は、性能ログ２１に蓄積したストレージ装置１０の過去の一定期間（例：１週間）における性能情報から、分析対象の階層プールにおけるブロック単位のアクセス頻度を、平均ＩＯＰＳ値の高い順にアクセス頻度管理テーブル３６０に保存する。
【００８２】
次に、データ最適配置管理手段１２０は、ＱｏＳ管理テーブル３４０を参照し、「Ｔｉｅｒ０に固定的にブロックを割り当てる」ボリュームが存在するか確認する（Ｓ６２）。存在する場合、データ最適配置管理手段１２０は、当該ボリュームのブロックがＴｉｅｒ０以外に存在するか否かを判定する（Ｓ６３）。Ｔｉｅｒ０以外に存在するとは、ここでは、ＳＡＳプール又はＮＬ−ＳＡＳプールに存在することとなる。
【００８３】
Ｔｉｅｒ０以外に存在する場合、データ最適配置管理手段１２０は、アクセス頻度管理テーブル３６０を参照し、「Ｔｉｅｒ０に固定的にブロックを割り当てる」ボリュームを除いて、Ｔｉｅｒ０に存在するブロックの内、アクセス頻度が最も低いブロックを特定する（Ｓ６４）。そして、データ最適配置管理手段１２０は、特定したブロック（第３のデータブロック）と、Ｔｉｅｒ０以外に存在する「Ｔｉｅｒ０に固定的にブロックを割り当てる」ボリュームのブロック（第４のデータブロック）とを入れ替えるよう、ブロックの再配置を行う（Ｓ６５）。再配置を行う際は、データ最適配置管理手段１２０は、ブロック間のデータ移動用の作業領域として、データ最適配置ｗｏｒｋ領域１２を使用する。
【００８４】
このようにして、アクセス頻度分析の結果、当該ボリュームのブロックへのアクセス頻度が他のボリュームのブロックへのアクセス頻度より低い場合であっても、当該ボリュームのブロックを最上位階層へ固定的に割り当て、下位階層へ再配置されてしまわないようにすることが出来る。
【００８５】
尚、上記を言い換えると次のようになる。すなわち、前記記憶部は、前記複数のボリュームのデータブロック単位のアクセス頻度を管理するアクセス頻度管理情報をさらに記憶し、前記性能要件管理情報は、各ボリュームのそれぞれについて最上位階層に固定するか否かを示すフラグをさらに対応付け、前記ブロック再配置部は、前記アクセス頻度管理情報に基づいて前記複数のボリュームの各データブロックの再配置を行う際に、前記アクセス頻度が低く、前記フラグが最上位階層に固定しないことを示すボリューム及び前記最上位階層に関連付けられた第３のデータブロックと、前記フラグが最上位階層に固定することを示すボリューム及び前記下位階層に関連付けられた第４のデータブロックとの入れ替えを行う。
【００８６】
以上により、データ最適配置機能とＱｏＳ機能を併用しつつ、設定したＩＯＰＳ下限値のＱｏＳを維持できなくなる場合がある課題と、最上位階層の高速デバイスに即座にまたは継続的に配置させたい場合は、階層プールとは別のプールが必要となり、余分なコストがかかる、という課題を解決できる。
【００８７】
すなわち、本発明の実施の形態により、データ最適配置機能とＱｏＳ機能を併用させつつ、アクセス頻度の分析結果に応じた階層間のブロック再配置の影響を受けることなく、ＩＯＰＳ下限値を指定したボリュームのデータブロックの高速デバイス（＝最上位階層）への即時割り当てを行えることができる。その理由は、本発明の実施の形態では、階層プールの最上位階層に空き領域が無い場合であっても、下位階層に存在するＩＯＰＳ下限値を設定したボリュームのデータブロックと、最上位階層に存在するＩＯＰＳ下限値を設定していないボリュームのデータブロックを入れ替えることで、当該ボリュームのブロックを、階層プールの最上位階層（Ｔｉｅｒ０）に即座に再配置可能とできるためである。これにより、設定したＩＯＰＳ下限値以上の性能を速やかに確保することができる。
【００８８】
また、ＩＯＰＳ下限値を設定したボリュームを、アクセス頻度の分析結果に基づくブロック再配置の対象から除外することで、アクセス頻度に関わらず、当該ボリュームのブロックを最上位階層の高速デバイスに固定配置させて、ＩＯＰＳ下限値性能を確保することができる。
【００８９】
＜その他の実施の形態＞
本発明によれば、ボリューム単位のＩＯＰＳ上限値／下限値制御によるＱｏＳ機能と、ブロック単位のデータ最適配置機能の両方を有するストレージ装置やストレージ管理ソフトウェアの用途に適用できる。
【００９０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００９１】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００９２】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００９３】
１０００  ストレージ装置
１１００  記憶部
１１１０  性能要件管理情報
１１２０  ブロック管理情報
１２００  ブロック再配置部
１  ストレージ管理システム
１０  ストレージ装置
１１  メモリ
１２  データ最適配置ｗｏｒｋ領域
１００  ストレージ管理プログラム
１１０  ＱｏＳ管理手段
１２０  データ最適配置管理手段
１３０  性能監視手段
２１  性能ログ
３１０  階層プール管理テーブル
３２０  プール管理テーブル
３３０  ボリューム管理テーブル
３４０  ＱｏＳ管理テーブル
３５０  データ最適配置管理テーブル
３６０  アクセス頻度管理テーブル
ＬＤ１  ボリューム
ＬＤ２  ボリューム
ＬＤ３  ボリューム
ＬＤ４  ボリューム
Ｔ０  階層プール
Ｔ１  階層プール
Ｔ２  階層プール
Ｓ１  ＳＳＤ
Ｈ１  ＨＤＤ
Ｎ１  ストレージエリアネットワーク
Ｎ２  ローカルエリアネットワーク
５００  管理コンソール
５０１  ストレージ管理クライアントプログラム
５１０  ホスト計算機
５２０  ホスト計算機
【図１】
2018169728.tif 000003
【図２】
2018169728.tif 000004
【図３】
2018169728.tif 000005
【図４】
2018169728.tif 000006
【図５】
2018169728.tif 000007
【図６】
2018169728.tif 000008
【図７】
2018169728.tif 000009
【図８】
2018169728.tif 000010
【図９】
2018169728.tif 000011
【図１０】
2018169728.tif 000012
【図１１】
2018169728.tif 000013
【図１２】
2018169728.tif 000014
【図１３】
2018169728.tif 000015
【図１４】
2018169728.tif 000016
【図１５】
2018169728.tif 000017