(57)【特許請求の範囲】
【請求項１】
複数の物理ディスクを組み合わせたプールを階層として構築された階層プールに、論理ディスクである階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）が構築された記憶手段と接続され、
前記階層または前記物理ディスクに接続されたバスがビジーである割合を示すビジー率を監視対象とし、ＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）下限値を下回るＩＯＰＳの階層ＬＤが、ビジー率閾値を上回る前記階層または前記バスを使用している場合、ビジー率閾値を上回る前記階層または前記バスを使用している前記階層ＬＤ以外の階層ＬＤの入出力処理の優先度を下げる決定手段と、
前記優先度に基づき階層ＬＤに対する入出力処理を制御する制御手段と、
を備える情報処理装置。
【請求項２】
前記決定手段は、
前記ビジー率がビジー率閾値以上の前記階層または前記バスを使用する前記階層ＬＤのＩＯＰＳが、ＩＯＰＳ上限値以上である場合、前記階層ＬＤを上限制御対象に設定し、
前記制御手段は、
前記上限制御対象に設定された階層ＬＤへの入出力処理の要求を保留する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、入出力処理の優先度が下がっている階層ＬＤへの入出力処理の要求よりも、入出力処理の優先度が下がっていない階層ＬＤへの入出力処理の要求を優先する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ＩＯＰＳ上限値及び前記ＩＯＰＳ下限値を、ユーザの入力に基づき設定する値設定手段を備える
ことを特徴とする請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記値設定手段は、
前記ビジー率閾値をユーザの入力に基づき設定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記物理ディスクを識別する物理ディスク番号と、前記バスの種類を格納する内部接続テーブルと、
前記階層ＬＤを識別する階層ＬＤ番号と、前記階層ＬＤが構築されている階層プールを示す階層プール番号と、前記階層ＬＤに設定された前記ＩＯＰＳ上限値及び前記ＩＯＰＳ下限値を格納するＬＤ情報テーブルと、
前記監視対象である前記ビジー率と、ビジー率閾値が格納するビジー率テーブルと、
前記階層ＬＤ番号と、論理アドレスと、データが格納されている階層を識別する階層番号と、前記物理ディスク番号と、前記物理ディスクのアドレスである物理アドレスを格納する論物マップテーブルと、
前記階層ＬＤ番号と、階層ＬＤのＩＯＰＳと、階層ごとのＩＯＰＳと、バスごとのＩＯＰＳを格納するＩＯＰＳテーブルとを備え、
前記内部接続テーブルと、前記ＬＤ情報テーブルと、前記ビジー率テーブルと、前記論物マップテーブルと、前記ＩＯＰＳテーブルを格納する第１記憶手段を備える
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記制御手段は、
階層ＬＤを前記上限制御対象に設定した場合、前記ＬＤ情報テーブルに上限制御対象設定情報を前記ＬＤ情報テーブルに設定する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記プールによって構成されたプール群と、前記階層ＬＤによって構成された階層ＬＤ群を格納する第２記憶手段を備える
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
複数の物理ディスクを組み合わせたプールを階層として構築された階層プールに、論理ディスクである階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）が構築された情報処理装置が、
前記階層または前記物理ディスクに接続されたバスがビジーである割合を示すビジー率を監視対象とし、ＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）下限値を下回るＩＯＰＳの階層ＬＤが、ビジー率閾値を上回る前記階層または前記バスを使用している場合、ビジー率閾値を上回る前記階層または前記バスを使用している前記階層ＬＤ以外の階層ＬＤの入出力処理の優先度を下げ、
前記優先度に基づき階層ＬＤに対する入出力処理を制御する
ことを特徴とする情報処理方法。
【請求項１０】
複数の物理ディスクを組み合わせたプールを階層として構築された階層プールに、論理ディスクである階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）が構築された情報処理装置に、
前記階層または前記物理ディスクに接続されたバスがビジーである割合を示すビジー率を監視対象とし、ＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）下限値を下回るＩＯＰＳの階層ＬＤが、ビジー率閾値を上回る前記階層または前記バスを使用している場合、ビジー率閾値を上回る前記階層または前記バスを使用している前記階層ＬＤ以外の階層ＬＤの入出力処理の優先度を下げ、
前記優先度に基づき階層ＬＤに対する入出力処理を制御する
ことを実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入出力を制御する情報処理装置に関する。
【背景技術】
【０００２】
ストレージ装置に搭載された、性能やストレージ装置の内部に存在するバスとのインタフェースが異なる複数の物理ディスク、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）や、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を仮想化して階層プールを構築する技術が知られている。階層プールは、性能やインタフェースが同じ複数の物理ディスクをＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）などの技術で束ねたプールを複数作成し、それらプールを使用して仮想化するなどの方法で実現される。
【０００３】
また、階層プール上の論理ディスクである、階層論理ディスク（以降、「階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）」と称する）は、各階層から一定の割合ずつ実領域を割り当てるなどの方法で構成される。階層ＬＤは、ホストに割り当てられる。ホストは、階層ＬＤ上のデータにアクセスする。そのアクセス頻度に応じて、アクセスが多いデータを性能が良い階層に、アクセスが少ないデータを性能が低い階層に格納することで、物理ディスクの性能を有効活用できる。
【０００４】
また、ストレージ装置において、ホスト、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）、論理ディスク単位で、単位時間あたりの入出力数であるＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）の上限値や下限値を設定するストレージＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）の技術が知られている。例えば、ストレージ装置は、論理ディスク単位でＩＯＰＳの上限値を設定し、特定の論理ディスクに対して突発的に高負荷な入出力処理が発生したときに、設定された上限値以下にＩＯＰＳを抑えるように制御することで、ストレージ装置上でリソースを共有している他の論理ディスクへの影響を排除することができる。また、ストレージ装置は、一定以上の入出力性能を確保したい論理ディスクに対して、ＩＯＰＳの下限値を設定し、下限値以下の性能しか出ていない場合に、同じくリソースを共有している他の論理ディスクへの入出力を抑える様に制御する。その結果、ストレージ装置は、設定された下限値に近い入出力性能を確保できる。
【０００５】
このように、ストレージ装置は、ＩＯＰＳの上限値や下限値を設定し、ストレージ装置は、上記のように制御することで、ストレージの性能を利用者の要求に応じて有効活用できる。また、上限値や下限値を論理ディスク単位で設定することで、同じホスト、ＷＷＰＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｐｏｒｔ  Ｎａｍｅ）、ポートからアクセスされる論理ディスク間でのＱｏＳ制御が可能になる。
【０００６】
ストレージを階層化する機能を使用しており、個々の階層プールや階層ＬＤの性能が一定で無い環境においても、ＱｏＳ機能を適用して業務の重要度に応じてストレージの利用性能を制御する要求が出てきている。
【０００７】
特許文献１には、階層型ストレージ装置において、各階層プールにおけるＩＯＰＳに基づき、データの効果的な分配を行う方法が記載されている。
【０００８】
また、特許文献２には、ディスクの最大入力数と、予め設定されたディスクの最大負荷とから、ディスクへの出力として許容できる単位時間当たりの最大入力数を算出し、最大入力数に基づいて、ディスクへの入出力を顧客ごとに制御する方法が記載されている。
【０００９】
また、特許文献３には、処理データの優先度ごとにＩＯＰＳの上限を設定し、上限を超えないように入出力処理を制御する技術が記載されている。
【００１０】
また、特許文献４には、複数コンピュータにおいて、それぞれ優先度を設定し、入出力処理を制御する技術が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１３−１６４８２２号公報
【特許文献２】特開２０１１−２４３１１７号公報
【特許文献３】特開２００９−８７１７５号公報
【特許文献４】特開２００２−１０８５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１は、階層型ストレージ装置の階層ごとのＩＯＰＳに基づくものの、コンピュータ装置内に存在するバスのＩＯＰＳやビジー率を考慮していない。したがって、特許文献１には、高負荷がかかっているバスを使用し続ける問題点がある。また、上述した特許文献２と、特許文献３及び特許文献４とに記載されている方法を階層ＬＤに応用しても、階層ＬＤの入出力性能は格納先によって変動する。その結果、実際は性能に余裕があっても、見かけ上のＩＯＰＳが高い階層ＬＤに制御がかけられてしまい、ボトルネックが生じている階層への入出力処理が制御できない。
【００１３】
そこで、本願発明の目的は、ストレージを階層化する機能を有するストレージ装置において、階層ＬＤ及びバスのＩＯＰＳ及びビジー率に基づき、ストレージ装置の入出力処理を制御する装置、方法及びプログラムを提供する。
【課題を解決するための手段】
【００１４】
本発明の情報処理装置は、複数の物理ディスクを組み合わせたプールを階層として構築された階層プールに、論理ディスクである階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）が構築された記憶手段と接続され、前記階層または前記物理ディスクに接続されたバスがビジーである割合を示すビジー率を監視対象とし、前記ビジー率がビジー率閾値以上の前記階層または前記バスを使用する前記階層ＬＤのＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）が、ＩＯＰＳ上限値以上である場合、前記階層ＬＤを上限制御対象に設定し、ＩＯＰＳ下限値を下回るＩＯＰＳの階層ＬＤが、ビジー率閾値を上回る前記階層または前記バスを使用している場合、ビジー率閾値を上回る前記階層または前記バスを使用している前記階層ＬＤ以外の階層ＬＤの入出力処理の優先度を下げる決定手段と、前記上限制御対象及び前記優先度に基づき階層ＬＤに対する入出力処理を制御する制御手段と、を備えることを特徴とする。
【００１５】
本発明の情報処理方法は、複数の物理ディスクを組み合わせたプールを階層として構築された階層プールに、論理ディスクである階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）が構築された情報処理装置が、前記階層または前記物理ディスクに接続されたバスがビジーである割合を示すビジー率を監視対象とし、前記ビジー率がビジー率閾値以上の前記階層または前記バスを使用する前記階層ＬＤのＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）が、ＩＯＰＳ上限値以上である場合、前記階層ＬＤを上限制御対象に設定し、ＩＯＰＳ下限値を下回るＩＯＰＳの階層ＬＤが、ビジー率閾値を上回る前記階層または前記バスを使用している場合、ビジー率閾値を上回る前記階層または前記バスを使用している前記階層ＬＤ以外の階層ＬＤの入出力処理の優先度を下げ、前記上限制御対象及び前記優先度に基づき階層ＬＤに対する入出力処理を制御することを特徴とする。
【００１６】
本発明の情報処理プログラムは、複数の物理ディスクを組み合わせたプールを階層として構築された階層プールに、論理ディスクである階層ＬＤ（Ｌｏｇｉｃａｌ  Ｄｉｓｋ）が構築された情報処理装置に、前記階層または前記物理ディスクに接続されたバスがビジーである割合を示すビジー率を監視対象とし、前記ビジー率がビジー率閾値以上の前記階層または前記バスを使用する前記階層ＬＤのＩＯＰＳ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）が、ＩＯＰＳ上限値以上である場合、前記階層ＬＤを上限制御対象に設定し、ＩＯＰＳ下限値を下回るＩＯＰＳの階層ＬＤが、ビジー率閾値を上回る前記階層または前記バスを使用している場合、ビジー率閾値を上回る前記階層または前記バスを使用している前記階層ＬＤ以外の階層ＬＤの入出力処理の優先度を下げ、前記上限制御対象及び前記優先度に基づき階層ＬＤに対する入出力処理を制御することを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ストレージの階層化機能において、階層ＬＤ及びバスのＩＯＰＳ及びビジー率に基づき、ストレージ装置の入出力処理を制御することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態に係る情報処理装置１の構成の一例を示すブロック図である。
【図２】本発明の第１実施形態に係る階層プール群１７及び階層ＬＤ群１８の構成を概念的に示した例示図である。
【図３】本発明の第１実施形態に係る情報処理装置１のハードウェア構成を示すブロック図である。
【図４】本発明の第１実施形態に係る情報処理装置１の動作の一例を示すフローチャートである。
【図５】本発明の第１実施形態に係る内部接続情報テーブル１５１を概念的に例示する図である。
【図６】本発明の第１実施形態に係るＬＤ情報テーブル１５２を概念的に例示する図である。
【図７】本発明の第１実施形態に係るビジー率テーブル１５３を概念的に例示する図である。
【図８】本発明の第１実施形態に係る論物マップテーブル１５４を概念的に例示する図である。
【図９】本発明の第１実施形態に係るＩＯＰＳテーブル１５５を概念的に例示する図である。
【図１０】本発明の第１実施形態に係る制御対象判定処理を示すフローチャートである。
【図１１】本発明の第１実施形態に係る入出力制御処理を示すフローチャートである。
【図１２】本発明の第２実施形態に係る情報処理装置１０の構成の一例を示すブロック図である。
【図１３】本発明の第２実施形態に係る情報処理装置１０の動作の一例を示すフローチャートである。
【図１４】本発明の第３実施形態に係る情報処理装置２０の構成の一例を示すブロック図である。
【図１５】本発明の第３実施形態に係る情報処理装置２０の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２０】
＜第１実施形態＞
図１は、本発明の第１実施形態における情報処理装置１の構成の一例を示すブロック図である。図１において情報処理装置１は、ホストコンピュータ装置２と、ストレージ装置３によって構成されている。ホストコンピュータ装置２は、ストレージ装置３と、例えば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で接続されている。
【００２１】
ストレージ装置３は、ＩＯＰＳ値設定部１１と、ビジー率監視部１２と、制御対象判定部１３と、入出力制御部１４と、第１記憶部１５と、第２記憶部１６とを備える。ＩＯＰＳ値設定部１１は、ユーザの操作に基づいて、ＩＯＰＳ上限値及びＩＯＰＳ下限値を設定する。ビジー率監視部１２は、定期的に動作し、ストレージ装置３内にある各部材と接続されたバス（図示しない）及び階層プール群を形成している各階層のビジー率を取得する。
【００２２】
制御対象判定部１３は、ビジー率がビジー率閾値以上のバスまたは階層がある場合、そのバスまたはその階層を使用している階層ＬＤを特定する。次に、制御対象判定部１３は、特定した階層ＬＤのＩＯＰＳがＩＯＰＳ上限値を超えている場合、その階層ＬＤを上限制御対象に設定する。そして、制御対象判定部１３は、階層ＬＤのＩＯＰＳがＩＯＰＳ下限値を下回る階層ＬＤがあり、かつその階層ＬＤが、ビジー率がビジー率閾値以上のバスまたは階層を使用している場合、その階層ＬＤ以外の階層ＬＤの処理の優先度を下げる。
【００２３】
入出力制御部１４は、ホストコンピュータ装置２から、入出力処理要求を受けると動作し、入出力処理要求先の階層ＬＤが上限制御対象である場合、その階層ＬＤへの入出力処理要求を保留する。一方で、入出力処理要求先対象の階層ＬＤが上限制御対象でない場合、入出力制御部１４は、入出力処理要求のあったデータが格納されている階層と、その格納されている階層にアクセスするために使用するバスのＩＯＰＳ値のデータを更新し、データの格納先である物理アドレスに対して入出力処理を行う。
【００２４】
第１記憶部１５は、内部接続情報テーブル１５１と、ＬＤ情報テーブル１５２と、ビジー率テーブル１５３と、論物マップテーブル１５４と、ＩＯＰＳテーブル１５５とを備える。各テーブルの詳細は後述する。
【００２５】
第２記憶部１６は、階層プール群１７と、階層ＬＤ群１８とを備える。階層プール群１７は、第１階層プール１７１と、第２階層プール１７２と、第３階層プール１７３とを含む。それぞれのプールはストレージ・プールと呼ばれる公知の技術を用い、複数の物理ディスクを１つの大きな仮想ディスク（プール）として扱っている。そしてそのプールは階層化され、階層プールが構築されている。したがって、各プールはそれぞれ複数の物理ディスクを含む。
【００２６】
図２は、本願発明の第１実施形態に係る階層プール群１７及び階層ＬＤ群１８をより具体的に例示した図である。
【００２７】
上述したように、第１階層プール１７１に含まれる各階層はそれぞれ物理ディスクを保持しており、入出力インタフェース（図示しない）を備える。第１階層１７１１は、例えば、ＳＳＤ１、ＳＳＤ２、…、ＳＳＤａ（ａ：自然数）を保持し、ＰＣＩｅ（ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）  Ｅｘｐｒｅｓｓ）によって接続される。第２階層１７１２は、例えば、ＳＳＤ１０、ＳＳＤ１１、…、ＳＳＤｂ（ｂ：自然数）を保持し、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ））によって接続される。第３階層１７１３は、例えば、ＨＤＤ１、ＨＤＤ２、…、ＨＤＤｃ（ｃ：自然数）を保持し、ＳＡＳによって接続される。そして、ストレージ装置３に設定されている階層化機能では、アクセス頻度が高いデータについては、より高速な階層に移される一方、アクセス頻度の低いデータはより低速な階層に移される。
【００２８】
各プールを構成する物理ディスク及び入出力インタフェースの種類及び数については、当業者において適宜選択できる。また、階層ＬＤ群１８は、第１階層ＬＤ１８１、第２階層ＬＤ１８２、第３階層ＬＤ１８３を備える。各階層ＬＤは、各階層から領域を割り当てられて構築されている。各物理ディスクをどの程度割り当てるかは、当業者が適宜設定することができる。なお、図示はしていないが、階層ＬＤ群には第２階層プール１７２及び第３階層プール１７３に含まれる物理ディスクから領域が割り当てられた階層ＬＤも含まれている。
【００２９】
＜ハードウェア構成＞
図３は、本発明の第１実施形態に係る情報処理装置１のハードウェア構成を示すブロック図である。情報処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１と、ＲＯＭ（Ｒｏａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３２と、ネットワークインタフェース３３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４と、記憶装置３５と、入力装置３６と、出力装置３７とによって構成可能である。
【００３０】
ＩＯＰＳ値設定部１１は、入力装置６６と、ＲＯＭ３２及び記憶装置３５に記憶されたコンピュータプログラムをＲＡＭ３４に書き込み、書き込まれたコンピュータプログラムを実行するＣＰＵ３１によって構成される。ビジー率監視部１２と、制御対象判定部１３は、ＲＯＭ３２及び記憶装置３５に記憶されたコンピュータプログラムをＲＡＭ３４に書き込み、書き込まれたコンピュータプログラムを実行するＣＰＵ３１によって構成される。入出力制御部１４は、ネットワークインタフェース３３と、ＲＯＭ３２及び記憶装置３５に記憶されたコンピュータプログラムをＲＡＭ３４に書き込み、書き込まれたコンピュータプログラムを実行するＣＰＵ３１によって構成される。また、第１記憶部１５及び第２記憶部１６とは、記憶装置３５によって構成される。
【００３１】
後述の第２及び第３実施形態における情報処理装置１０及び情報処理装置２０も同様に、上記ハードウェア構成を有することが可能であり、情報処理装置１０及び情報処理装置２０が有する各機能をハードウェア的又はソフトウェア的に実現する。なお、上記ハードウェア構成は例示であり、上記構成には限定されない。
【００３２】
以下、第１実施形態に係る情報処理装置１の動作について具体的に説明する。
【００３３】
図４は本発明の第１実施形態に係る情報処理装置１の動作を示すフローチャートである。
【００３４】
まず、ＩＯＰＳ値設定部１１が、ユーザの入力に基づき、階層ＬＤ群１８の中の各階層ＬＤのＩＯＰＳ上限値及びＩＯＰＳ下限値を設定する（ステップＳ１０１）。次に、ビジー率監視部１２が、各階層及びバスのビジー率を取得する（ステップＳ１０２）。また、ビジー率監視部１２が、ステップＳ１０２で取得したビジー率をビジー率テーブル１５３に記録する（ステップＳ１０３）。なお、ビジー率監視部１２は、定期的に各階層及びバスのビジー率を取得してもよく、ステップＳ１０２及びステップＳ１０３の順序には限定されない。そして、制御対象判定部１３が、制御対象判定処理を行う（ステップＳ１０４）。この制御対象判定処理の具体的な動作は後述する。さらに、入出力制御部１４が入出力制御処理を行う（ステップＳ１０５）。この入出力制御処理の詳細は後述する。
【００３５】
上記動作によって、ＩＯＰＳ値設定部１１によってＩＯＰＳ上限値及びＩＯＰＳ下限値の設定及び各階層及びバスのビジー率を取得が可能となる。
【００３６】
図５は、本発明の第１実施形態に係る内部接続情報テーブル１５１の一例を示す図である。内部接続情報テーブル１５１は、階層プール群１７を構成する物理ディスクを識別するための物理ディスク番号と、ストレージ装置３内のバス（図示しない）の種別を示すデータを有する。内部接続テーブルを用いることにより、各物理ディスクがどのバスを利用しているのか識別することができる。
【００３７】
図６は、本発明の第１実施形態に係るＬＤ情報テーブル１５２の一例を示す図である。ＬＤ情報テーブル１５２は、階層ＬＤを識別する階層ＬＤ番号と、階層ＬＤが含まれている階層プールを示す階層プール番号と、階層ＬＤに設定されたＩＯＰＳ上限値及びＩＯＰＳ下限値と、階層ＬＤが上限制御の対象か否かを示す上限制御対象フラグと、階層ＬＤの入出力処理の優先度を示す処理優先度とを有する。なお、ＩＯＰＳ上限値及びＩＯＰＳ下限値は、ユーザが入力した値が設定されてもよいし、あらかじめ設定されていてもよい。本実施形態において、設定されていないものは、ハイフンにて登録されている。上限制御対象フラグは、例えば、初期値としてはハイフンにて登録されており、階層ＬＤが上限制御対象である場合に設定される。処理優先度は、例えば、「高」、「中」、「低」のいずれかに設定され、初期値は「高」が設定される。必ずしもこの設定には限定されない。
【００３８】
図７は、本発明の第１実施形態に係るビジー率テーブル１５３の一例を示す図である。ビジー率テーブル１５３は、ビジー監視部１２の対象となる監視対象リソースと、監視対象リソースに対応するビジー率と、監視対象のビジー率が高いか否かを判定する基準となるビジー率閾値とを有する。なお、本実施形態における監視対象は、各階層プールの階層及びバスであるが、ＣＰＵやポートなどを監視対象としてもよい。また、ビジー率閾値は、例示的に９０％が設定されているが、この数字に限定されることはない。また、本実施形態においては、ビジー率閾値を設定する手段は記載されていないが、例えば、ユーザが入力した値に基づいてビジー率閾値を設定する手段を設けてもよい。
【００３９】
図８は、本発明の第１実施形態に係る論物マップテーブル１５４の一例を示す図である。論物マップテーブル１５４は、階層ＬＤを識別する階層ＬＤ番号と、ホストコンピュータ装置２が認識して入出力処理要求を出すための論理アドレスと、データの実体が格納されている階層を識別する階層番号と、データの実体が格納されている物理ディスクを識別する物理ディスク番号と、データが格納されている位置を識別するための物理アドレスとを有する。
【００４０】
図９は、本発明の第１実施形態に係るＩＯＰＳテーブル１５５の一例を示す図である。ＩＯＰＳテーブル１５５は、階層ＬＤを識別する階層ＬＤ番号と、各階層ＬＤの階層プールに対するＩＯＰＳを示す階層プールＩＯＰＳと、階層ＬＤの各階層に対するＩＯＰＳを示す階層ＩＯＰＳと、階層ＬＤに対して入出力処理を行う際に使用するバスに対するＩＯＰＳを示すバスＩＯＰＳとを有する。階層プールの階層の数は、図９に示す行及び列の数には限定されない。なお、本実施形態では、図６乃至図９において説明した各テーブルを第１階層プール１７１のみの記載となっているが、階層プール１７１と同様に階層プール２（１７２）及び第３階層プール１７３も各テーブルに情報が記録されている。
【００４１】
図１０は、上述した制御対象判定部１３が行う制御対象判定処理を示すフローチャートである。
【００４２】
まず、制御対象判定部１３は、定期的にビジー率テーブル１５３を参照し、ビジー率がビジー率閾値以上の階層またはバスがあるかどうか判定する（ステップＳ２０１）。ビジー率がビジー率閾値以上の階層またはバスがない場合、制御対象判定部１３は、上限制御対象フラグが設定されている階層ＬＤがあるかどうかを判定する（ステップＳ２０２）。上限制御対象フラグが設定されている階層ＬＤがない場合、処理は終了する。上限制御対象フラグが設定されている階層ＬＤがある場合、制御対象判定部１３は、その階層ＬＤに設定されている上限制御対象フラグを解除し、処理優先度を初期値に戻す（ステップＳ２０３）。そして処理を終了する。
【００４３】
一方、ビジー率がビジー率閾値以上の階層またはバスがある場合、制御対象判定部１３は、ＬＤ情報テーブル１５２及びＩＯＰＳテーブル１５５を参照し、ビジー率がビジー率閾値以上の階層またはバスを使用している階層ＬＤの階層プールＩＯＰＳがＩＯＰＳ上限値を超えているかどうか判定する（ステップＳ２０４）。ビジー率がビジー率閾値以上の階層またはバスを使用している階層ＬＤの階層プールＩＯＰＳがＩＯＰＳ上限値以上である場合、制御対象判定部１３は、該当する階層ＬＤに対し、上限制御対象フラグを設定する（Ｓ２０５）。一方、ビジー率がビジー率閾値以上の階層またはバスを使用している階層ＬＤの階層プールＩＯＰＳがＩＯＰＳ上限値を超えていない場合、ステップＳ２０６へ進む。
【００４４】
上述したステップＳ２０４及びステップＳ２０５について、より具体的に説明する。図７のビジー率テーブル１５３を参照すると、第１階層プール＿第１階層がビジー率閾値以上のビジー率であるため、制御対象判定部１３は、図６のＬＤ情報テーブル１５２及び図９のＩＯＰＳテーブル１５５を参照する。その結果、階層プール１＿第１階層を使用している各階層ＬＤは、第１階層ＬＤ１８１と、第２階層ＬＤ１８２及び第３階層ＬＤ１８３であり、それぞれのＩＯＰＳ上限値が、第１階層ＬＤ１８１及び第２階層ＬＤ１８２は２０００であり、第３階層ＬＤ１８３は、３０００であることが確認できる。その確認の結果、ＩＯＰＳ上限値以上のＩＯＰＳである階層ＬＤは、第１階層ＬＤ１８１及び第２階層ＬＤ１８２であることが分かる。したがって、制御対象判定部１３は、図６のＬＤ情報テーブル１５２の第１階層ＬＤ１８１及び第２階層ＬＤ１８２を上限制御対象に設定する。
【００４５】
そして、ＩＯＰＳテーブル１５５及びＬＤ情報テーブル１５２を参照し、各階層ＬＤの階層プールＩＯＰＳの中で、ＩＯＰＳ下限値を下回る階層プールＩＯＰＳの階層ＬＤがあるかどうか判定する（ステップＳ２０６）。ＩＯＰＳ下限値を下回る階層プールＩＯＰＳの階層ＬＤがない場合、処理を終了する。一方で、ＩＯＰＳ下限値を下回る階層プールＩＯＰＳの階層ＬＤがある場合、制御対象判定部１３は、ＩＯＰＳテーブル１５５を参照し、その階層ＬＤがビジー率がビジー率閾値以上の階層またはバスを使用しているかどうか判定する（ステップＳ２０７）。該当階層ＬＤが、ビジー率がビジー率閾値以上の階層またはバスを使用している場合、制御対象判定部１３は、ＩＯＰＳテーブル１５５を参照し、ビジー率がビジー率閾値以上の階層またはバスを使用している前記該当階層ＬＤ以外の階層ＬＤを特定する。そして、制御対象判定部１３は、ＬＤ情報テーブル１５２に設定されている該当階層ＬＤ以外の階層ＬＤの処理優先度を下げる（ステップＳ２０８）。例えば、ホストから来た入出力要求をストレージ装置内でキューのように管理している場合、処理優先度が「高」の場合、入出力制御部１４は、入出力要求をそのままキューに入れる。処理優先度が「中」の場合、入出力制御部１４は、０．１ｍｓほどの隙間時間をあけてキューに入れる。処理優先度が「低」の場合、入出力制御部１４は、１ｍｓほどの隙間時間をあけてキューに入れるといった方法が考えられる。もちろん、必ずしもこの設定には限定されない。
【００４６】
上述したステップＳ２０６乃至ステップＳ２０８について、より具体的に説明する。図６のＬＤ情報テーブル１５２及び図９のＩＯＰＳテーブル１５５を参照すると、第３階層ＬＤ１８３は、ＩＯＰＳ下限値（１５００）を下回る階層プールＩＯＰＳ（１０００）であることがわかる。そして、制御対象判定部１３は、第３階層ＬＤ１８３がビジー率がビジー率閾値以上の階層またはバス、すなわち第１階層プール＿第１階層を使用しているかどうか判定を行う。図９のＩＯＰＳテーブル１５５を参照すると、第３階層ＬＤ１８３は第１階層プール＿第１階層を使用していることが確認できる。さらに、制御対象判定部１３は、第３階層ＬＤ１８３以外の第１階層プール＿第１階層を使用している階層ＬＤを特定する。図９のＩＯＰＳテーブル１５５を参照すると、第１階層ＬＤ１８１及び第２階層ＬＤ１８２は、第１階層プール＿第１階層を使用していることが確認できる。したがって、制御対象判定部１３は、図６のＬＤ情報テーブル１５２の第１階層ＬＤ１８１及び第２階層ＬＤ１８２の処理優先度を初期値の「高」から「中」へと下げる。
【００４７】
上記動作によって、階層ＬＤに上限制御対象フラグを設定したり、階層ＬＤに処理優先度を設定したりすることで、入出力制御部が、上限制御対象フラグ及び処理優先度に基づき入出力処理の制御を行うことができる。
【００４８】
図１１は、上述した入出力制御部１４が行う入出力制御処理を示すフローチャートである。
【００４９】
まず、入出力制御部１４は、ホストコンピュータ装置２から入出力処理要求先の階層ＬＤとその論理アドレスを受信する（ステップＳ３０１）。入出力制御部１４は、入出力処理要求先の階層ＬＤに上限制御対象フラグが設定されているかどうか、ＬＤ情報テーブル１５２を用いて判定する（ステップＳ３０２）。入出力処理要求先の階層ＬＤに上限制御対象フラグが設定されている場合、入出力制御部１４は、その入出力処理要求を保留し（ステップＳ３０３）、処理を終了する。例えば、入出力処理要求先の階層ＬＤが第１階層ＬＤ１８１である場合、入出力制御部１４は、図６のＬＤ情報テーブルを参照し、第１階層ＬＤ１８１に、上限制御対象フラグが設定されていることを確認し、その処理要求を保留する。
【００５０】
一方で、入出力処理要求先の階層ＬＤに上限制御対象フラグが設定されていない場合、入出力制御部１４は、論物マップテーブル１５４を参照し、入出力処理要求先の論理アドレスに対応するデータが格納されている階層と、物理ディスク番号と、物理アドレスとを確認する（ステップＳ３０４）。次に、入出力制御部１４は、内部接続情報テーブル１５１を参照し、階層プールとバスの対応関係を確認する（ステップＳ３０５）。また、入出力制御部１４は、ＩＯＰＳテーブル１５５を参照して、入出力処理要求先の階層ＬＤの階層プールＩＯＰＳと、ステップＳ３０３において確認した階層ＩＯＰＳと、ステップＳ３０４で確認したバスに対応したバスＩＯＰＳを更新する（ステップＳ３０６）。そして、入出力制御部１４は、指定の階層の物理アドレスに対して入出力処理を行う（ステップＳ３０７）。
【００５１】
例えば、入出力処理要求先の階層ＬＤが、第２階層ＬＤ１８２であり、論理アドレスが０である場合、図６のＬＤ情報テーブル１５２を参照すると、第２階層ＬＤ１８２は、上限制御対象フラグが設定されていないので、入出力制御部１４は、図８の論物マップテーブル１５４を参照する。参照した結果、論理アドレスに対応するデータが格納されている階層は第１階層プール＿第３階層であり、物理ディスク番号はＨＨＤ１１であり、物理アドレスは１００であることが確認される。また、入出力制御部１４は、図５の内部接続テーブルを参照し、ＨＤＤ１に対応するバスがＳＡＳであることを確認する。さらに、入出力制御部１４は、図９のＩＯＰＳテーブルを参照し、ＬＤ２の行の階層プールＩＯＰＳと、階層ＩＯＰＳと、バスＩＯＰＳに記載されている数値の更新を行う。そして、入出力制御部１４は、物理アドレス１００に対して入出力処理を行う。
【００５２】
上記動作によって、階層ＬＤ及びバス及び階層のＩＯＰＳと、ビジー率に基づき、適切に入出力を制限することができるので、ストレージの階層化機能において、階層及びバスのＩＯＰＳと、ビジー率とを考慮し、ストレージの入出力を制御する装置、方法及びプログラムを提供することができる。
＜第２実施形態＞
図１２は、本発明の第２実施形態に係る情報処理装置１０の構成の一例を示すブロック図である。図１１において、情報処理装置１０は、第１実施形態の構成に新たに値設定部１９が追加されている。なお、本実施形態の説明において参照する各図面において、他の実施形態と同様な構成及び同様に動作するステップには、同一の符号を付し、本実施形態において重複する説明は省略する（他実施形態においても同様）。
【００５３】
本実施形態において新たに追加された値設定部１９は、ユーザの操作に基づいてビジー率閾値を設定し、さらに、ＩＯＰＳ値設定部１１が有する機能を実現する。
【００５４】
図１３は、本発明の第２実施形態に係る情報処理装置１０の動作の一例を示すフローチャートである。
【００５５】
まず、値設定部１９は、ユーザの入力に基づき、階層ＬＤのＩＯＰＳ上限値及びＩＯＰＳ下限値と、各階層及びバスのビジー率閾値とを設定する（ステップＳ４０１）。次に、ビジー率監視部１２が、各階層及びバスのビジー率を取得する（ステップＳ４０２）。また、ビジー率監視部１２が、ステップＳ４０２で取得したビジー率をビジー率テーブル１５３に記録する（ステップＳ４０３）。なお、ビジー率監視部１２は、定期的に各階層及びバスを監視してもよく、ステップＳ４０２及びステップＳ４０３の順序には限定されない。そして、制御対象判定部１３が、制御対象判定処理を行う（ステップＳ４０４）。さらに、入出力制御部１４が入出力制御処理を行う（ステップＳ４０５）。制御対象判定処理及び入出力制御処理は、第１実施形態において説明した動作と同様であるので、ここでの詳細な説明は省略する。
【００５６】
以上、説明した動作によって、ユーザの指示に基づき、値設定部がＩＯＰＳ上限値及びＩＯＰＳ下限値の設定及び各階層とバスのビジー率閾値の設定を行うことができるため、例えば、ユーザはバスや、物理ディスクの性能に応じて、詳細に値の設定を行うことができる。
＜第３実施形態＞
図１４は、本発明の第３実施形態に係る情報処理装置２０の構成の一例を示すブロック図である。第３の実施形態は、第１実施形態及び第２実施形態の基本的な構成に対応する。図１４において、情報処理装置２０は、制御部２１と、決定部２２と、第２記憶部１６を含む。決定部２２は、ＩＯＰＳ上限値２０１と、ＩＯＰＳ下限値２０２と、ビジー率閾値２０３を含む。なお、制御部２１は、入出力制御部１４が有する機能を実現し、決定部２２は、ビジー率監視部１２と、制御対象判定部１３が有する機能を実現する。なお、第２記憶部１６は情報処理装置２０に含まれない構成でもよい。例えば、第２記憶部１６は、有線または無線によって情報処理装置２０と接続されてもよい。
【００５７】
図１５は、本発明の第３実施形態に係る情報処理装置２０の動作の一例を示すフローチャートである。
【００５８】
まず、決定部２２は、ビジー率がビジー率閾値２０３を上回る階層またはバスがあるかどうか判定する（ステップＳ５０１）。ビジー率がビジー率閾値２０３を上回る階層またはバスがない場合、決定部２２は処理を終了する。
【００５９】
一方で、ビジー率がビジー率閾値２０３を上回る階層またはバスがある場合、決定部２２は、その階層またはバスを使用する階層ＬＤの階層プールＩＯＰＳがＩＯＰＳ上限値２０１以上であるかどうか判定する（ステップＳ５０２）。ビジー率がビジー率閾値２０３以上の階層またはバスを使用する階層ＬＤの階層プールＩＯＰＳがＩＯＰＳ上限値２０１以上でない場合、決定部２２は処理を終了する。
【００６０】
一方、ビジー率がビジー率閾値２０３以上の階層またはバスを使用する階層ＬＤの階層プールＩＯＰＳがＩＯＰＳ上限値２０１以上である場合、決定部２２は、その階層ＬＤを上限制御対象に設定する（ステップＳ５０３）。次に、決定部２２は、階層プールＩＯＰＳがＩＯＰＳ下限値２０２を下回る階層ＬＤがあり、かつその階層ＬＤがビジー率閾値２０３以上の階層またはバスを使用しているかどうか判定する（ステップＳ５０４）。階層プールＩＯＰＳがＩＯＰＳ下限値２０２を下回る階層ＬＤがあり、かつその階層ＬＤがビジー率閾値２０３以上の階層またはバスを使用していない場合、決定部２２は処理を終了する。
【００６１】
一方で、階層プールＩＯＰＳがＩＯＰＳ下限値２０２を下回る階層ＬＤがあり、かつその階層ＬＤが、ビジー率がビジー率閾値２０３以上の階層またはバスを使用している場合、決定部２２は、その階層ＬＤ以外の、ビジー率がビジー率閾値以上の階層またはバスを使用している階層ＬＤの処理の優先度を下げる（ステップＳ５０５）。そして制御部２１は、上限制御対象と処理の優先度に基づき、階層ＬＤの入出力処理を制御する（ステップＳ５０６）。
【００６２】
上述した動作によって、決定部２２が、ビジー率閾値以上のビジー率である階層及びバスのＩＯＰＳに基づき制御対象を決定し、その決定に基づき制御部が入出力を制御することで、ストレージの階層化機能において、階層ＬＤ及びバスのＩＯＰＳとビジー率を考慮し、ストレージの入出力を制御する装置、方法及びプログラムを提供できる。
【００６３】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６４】
１    情報処理装置
２    ホストコンピュータ装置
３    ストレージ装置
１０    情報処理装置
１１    ＩＯＰＳ値設定部
１２    ビジー率監視部
１３    制御対象判定部
１４    入出力制御部
１５    第１記憶部
１６    第２記憶部
１７    階層プール群
１８    階層ＬＤ群
１９    値設定部
２０    情報処理装置
２１    制御部
２２    決定部
１５１    内部接続情報テーブル
１５２    ＬＤ情報テーブル
１５３    ビジー率テーブル
１５４    論物マップテーブル
１５５    ＩＯＰＳテーブル
１７１    第１階層プール
１７２    第２階層プール
１７３    第３階層プール
１８１    第１階層ＬＤ
１８２    第２階層ＬＤ
１８３    第３階層ＬＤ
２０１    ＩＯＰＳ上限値
２０２    ＩＯＰＳ下限値
２０３    ビジー率閾値
１７１１    第１階層
１７１２    第２階層
１７１３    第３階層
【図１】
0006578694.tif 000002
【図２】
0006578694.tif 000003
【図３】
0006578694.tif 000004
【図４】
0006578694.tif 000005
【図５】
0006578694.tif 000006
【図６】
0006578694.tif 000007
【図７】
0006578694.tif 000008
【図８】
0006578694.tif 000009
【図９】
0006578694.tif 000010
【図１０】
0006578694.tif 000011
【図１１】
0006578694.tif 000012
【図１２】
0006578694.tif 000013
【図１３】
0006578694.tif 000014
【図１４】
0006578694.tif 000015
【図１５】
0006578694.tif 000016