(57)【要約】【課題】優先度の低い入出力処理によって優先度の高い入出力処理の応答時間が長くなることを防ぎつつ、外部記憶装置の負荷状況に応じた効率の良い入出力処理を行うことである。【解決手段】本発明による入出力制御方法は、外部記憶装置と接続されるコンピュータにおいて、入出力処理の応答時間を逐次監視することによって外部記憶装置の負荷状態を判断する。例えば、応答時間を平均化した平均応答時間が所定の基準時間よりも長くかかっている場合には高負荷状態と判断する。そして、高負荷状態の場合にのみ、優先度の低い入出力要求を遅延させる。高負荷状態でない場合には、優先度に関わらず受け付けた順番で処理を行う。高負荷状態の場合には、優先度の低い入出力要求を一時待機させる。待機した優先度の低い入出力要求は、低負荷状態に切り替わるか、または即時に入出力処理を行える状態になった場合に、受け付けた順序で処理を再開する。【選択図】図１
2007188452.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置に対する入出力を制御する入出力制御装置であって、
外部記憶装置に対する入出力の応答時間に基づいて前記外部記憶装置の負荷状態を判断する負荷状態判断手段と、
前記負荷状態判断手段によって負荷が高い状態を示す高負荷状態であると判断されると、入出力要求に付与される優先度に基づく順序制御を行う優先度制御手段とを備えた
ことを特徴とする入出力制御装置。
【請求項２】
優先度制御手段は、負荷状態が高負荷状態であると判断された場合に、優先度の低い入出力要求を遅延させて、優先度の高い入出力要求を先に処理する
請求項１記載の入出力制御装置。
【請求項３】
優先度制御手段は、
受け付けた入出力要求に優先度を付与する優先度付与手段と、
負荷状態判断手段によって判断された負荷状態が高負荷状態である場合に、前記優先度付与手段によって低い優先度が付与された入出力要求を待機させる待機手段と、
負荷状態判断手段によって判断された負荷状態が低負荷状態である場合に、前記待機手段が待機させた入出力要求の待機状態を解除する待機解除手段とを有する
請求項１または請求項２記載の入出力制御装置。
【請求項４】
優先度付与手段は、入出力要求が入出力先として指定する外部記憶装置の記憶領域に割り振られたパーティションに基づいて優先度を付与する
請求項３記載の入出力制御装置。
【請求項５】
負荷状態判断手段は、外部記憶装置に対する入出力の応答時間を測定し、測定した応答時間が所定の基準時間よりも長い場合に、高負荷状態であると判断する
請求項１から請求項４のうちのいずれか１項に記載の入出力制御装置。
【請求項６】
記憶領域を複数のパーティションに分割して管理する外部記憶装置に対する入出力を制御する入出力制御装置であって、
前記外部記憶装置のパーティションの優先度を記憶する優先度記憶手段と、
即時に処理すべき入出力要求の情報を格納する即時要求格納手段と、
待機させておく入出力要求の情報を格納する待機要求格納手段と、
入出力処理毎に応答時間を測定し、測定した応答時間を用いて平均応答時間を算出する平均応答時間算出手段と、
入出力要求を受け付けた際に、前記平均応答時間算出手段が算出した平均応答時間と、前記優先度記憶手段に記憶されている前記入出力要求の処理対象であるパーティションの優先度とに基づいて、前記入出力要求を待機するか否かを判定する待機判定手段と、
前記平均応答時間が平均応答時間を更新した際に、更新された平均応答時間に基づいて、待機させた入出力要求の待機を解除するか否かを判定する待機解除判定手段と、
前記待機判定手段の判定結果に基づいて、入出力要求を対応する格納手段に格納し、また、前記待機解除判定手段の判定結果に基づいて、待機要求格納手段に格納した入出力要求を即時要求格納手段に移動する格納制御手段と、
即時要求格納手段に格納されている入出力要求を順番に取り出して、取り出した入出力要求に係る入出力処理を実行する入出力処理手段とを備えた
ことを特徴とする入出力制御装置。
【請求項７】
外部記憶装置に対する入出力を制御する入出力制御方法であって、
外部記憶装置に対する入出力の応答時間に基づいて前記外部記憶装置の負荷状態を判断し、
負荷が高い状態を示す高負荷状態であると判断すると、入出力要求に付与される優先度に基づく順序制御を行う
ことを特徴とする入出力制御方法。
【請求項８】
外部記憶装置に対する入出力を制御するための入出力制御プログラムであって、
コンピュータに、
外部記憶装置に対する入出力の応答時間に基づいて前記外部記憶装置の負荷状態を判断する処理、および
負荷が高い状態を示す高負荷状態であると判断されると、入出力要求に付与される優先度に基づく順序制御を行う処理
を実行させるための入出力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部記憶装置に対する入出力を制御する入出力制御装置、入出力制御方法および入出力制御プログラムに関し、特に、優先度に応じて入出力を制御する入出力制御装置、入出力制御方法および入出力制御プログラムに関する。
【背景技術】
【０００２】
例えば、外部記憶装置において複数のパーティションが同じディスクを共有している場合には、あるパーティションに対して行われる入出力が、全てのパーティションの入出力性能に影響を及ぼす。このため、例えば優先度の高いデータを格納するパーティションと優先度の低いデータを格納するパーティションとが同じディスクを共有している状況では、優先度の低いデータの入出力処理によって、優先度の高いデータの入出力処理の応答時間が長くなる問題があった。
【０００３】
このような問題を解決するために、個々の入出力要求に対し優先度を設定することによって優先度の高い入出力処理を優先的に行うことができる優先度制御付き入出力方法が提案されている（例えば、特許文献１）。
【０００４】
特許文献１には、個々のファイルアクセスに優先度を付けて、その優先度に基づいて、ファイルアクセス処理の順序制御を行うことで、特定のファイルアクセスで必要な帯域が保証できるようにするファイルアクセス方法が記載されている。特許文献１に記載のファイルアクセス方法では、ファイルアクセスが要求されると、例えば、高優先度が付与されたファイルアクセス（例えば、ストリーミングアクセスのように一定の帯域を継続して保持する必要のあるファイルアクセス）と、低優先度が付与されたファイルアクセス（例えば、バースト性を持つが帯域の保証が必要ないファイルアクセス）とを判別し、対応するキュー（高優先度キュー，低優先度キュー）に積む。次に、優先度に対応したキューに積まれた各ファイルアクセスを、スケジューリングポリシーに従う順序で選択的に取り出して処理する。
【０００５】
特許文献１には、スケジューリングポリシーとして、ラウンドロビンアルゴリズムを用いる方法が例示されている。例えば、高優先度：低優先度＝１：２の比率となるラウンドロビンアルゴリズムを用いることによって、アクセス当たりのデータ転送量が平均的に同じであるものとすると、高優先度のファイルアクセスに対して、全帯域の１／３の帯域が確保されると記載されている。
【０００６】
【特許文献１】特開２００２−３５８２５９号公報（段落００２２−００２７）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の優先度制御付きの入出力制御方法では、次のような問題点がある。第１の問題点は、外部記憶装置の処理能力を超えた場合であっても、優先度の低い入出力処理が行われることによって、優先度の高い入出力処理の応答時間が長くなることである。その理由は、外部記憶装置の処理能力や負荷状況を考慮した優先度制御を行っていないため、優先度の低い入出力処理が、外部記憶装置の処理能力を超えている状況においても実行されるからである。
【０００８】
第２の問題点は、外部記憶装置の処理能力に余裕があったとしても、優先度制御によって、優先度の低い入出力処理の応答時間が長くなることである。その理由は、優先度の低い入出力処理の実行が、優先度の高い入出力処理の応答時間に影響しない場合であっても優先度制御が行われてしまい、優先度制御による遅延が発生するからである。
【０００９】
第３の問題点は、入出力処理において高いスループット性能を発揮させるために、外部記憶装置の処理能力を見積もって優先度制御に関するパラメータを設定する必要があることである。その理由は、接続する外部記憶装置の能力は、製品によって異なるからである。
【００１０】
そこで、本発明は、優先度の低い入出力処理によって優先度の高い入出力処理の応答時間が長くなることを防ぎつつ、外部記憶装置の負荷状況に応じた効率の良い入出力処理を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明による入出力制御装置は、外部記憶装置に対する入出力を制御する入出力制御装置であって、外部記憶装置に対する入出力の応答時間に基づいて前記外部記憶装置の負荷状態を判断する負荷状態判断手段（例えば、入出力遅延判定手段１１１、入出力応答時間計算手段１１３）と、前記負荷状態判断手段によって負荷が高い状態を示す高負荷状態であると判断されると、入出力要求に付与される優先度に基づく順序制御を行う優先度制御手段（例えば、入出力手段１１２）とを備えたことを特徴とする。
【００１２】
また、優先度制御手段は、負荷状態が高負荷状態であると判断された場合に、優先度の低い入出力要求を遅延させて、優先度の高い入出力要求を先に処理してもよい。
【００１３】
また、優先度制御手段は、受け付けた入出力要求に優先度を付与する優先度付与手段（例えば、入出力遅延判定手段１１１）と、負荷状態判断手段によって判断された負荷状態が高負荷状態である場合に、前記優先度付与手段によって低い優先度が付与された入出力要求を待機させる待機手段（例えば、入出力遅延判定手段１１１および入出力手段１１２）と、負荷状態判断手段によって判断された負荷状態が低負荷状態である場合に、前記待機手段が待機させた入出力要求の待機状態を解除する待機解除手段（例えば、入出力応答時間計算手段１１３および入出力手段１１２）とを有していてもよい。
【００１４】
また、優先度付与手段は、入出力要求が入出力先として指定する外部記憶装置の記憶領域に割り振られたパーティションに基づいて優先度を付与してもよい。
【００１５】
また、負荷状態判断手段は、外部記憶装置に対する入出力の応答時間を測定し、測定した応答時間が所定の基準時間よりも長い場合に、高負荷状態であると判断してもよい。
【００１６】
また、本発明による入出力制御手段は、記憶領域を複数のパーティションに分割して管理する外部記憶装置に対する入出力を制御する入出力制御装置であって、前記外部記憶装置のパーティションの優先度を記憶する優先度記憶手段（例えば、入出力優先度記録表１２２）と、即時に処理すべき入出力要求の情報を格納する即時要求格納手段（例えば、リクエストキュー１２３）と、待機させておく入出力要求の情報を格納する待機要求格納手段（例えば、遅延用リクエストキュー１２４）と、入出力処理毎に応答時間を測定し、測定した応答時間を用いて平均応答時間を算出する平均応答時間算出手段（例えば、入出力応答時間計算手段１１３）と、入出力要求を受け付けた際に、前記平均応答時間算出手段が算出した平均応答時間と、前記優先度記憶手段に記憶されている前記入出力要求の処理対象であるパーティションの優先度とに基づいて、前記入出力要求を待機するか否かを判定する待機判定手段（例えば、入出力遅延判定手段１１１）と、前記平均応答時間が平均応答時間を更新した際に、更新された平均応答時間に基づいて、待機させた入出力要求の待機を解除するか否かを判定する待機解除判定手段（例えば、入出力応答時間計算手段１１３）と、前記待機判定手段の判定結果に基づいて、入出力要求を対応する格納手段に格納し、また、前記待機解除判定手段の判定結果に基づいて、待機要求格納手段に格納した入出力要求を即時要求格納手段に移動する格納制御手段と、即時要求格納手段に格納されている入出力要求を順番に取り出して、取り出した入出力要求に係る入出力処理を実行する入出力処理手段（例えば、入出力手段１１２）とを備えたことを特徴とする。
【００１７】
また、本発明による入出力制御方法は、外部記憶装置に対する入出力を制御する入出力制御方法であって、外部記憶装置に対する入出力の応答時間に基づいて前記外部記憶装置の負荷状態を判断し、負荷が高い状態を示す高負荷状態であると判断すると、入出力要求に付与される優先度に基づく順序制御を行うことを特徴とする。
【００１８】
また、本発明による入出力制御プログラムは、外部記憶装置に対する入出力を制御するための入出力制御プログラムであって、コンピュータに、外部記憶装置に対する入出力の応答時間に基づいて前記外部記憶装置の負荷状態を判断する処理、および負荷が高い状態を示す高負荷状態であると判断されると、入出力要求に付与される優先度に基づく順序制御を行う処理を実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、外部記憶装置の入出力の応答時間に基づいて、負荷状態を判断し、その負荷状態が高負荷状態であると判断される場合に、優先度に基づく順序制御を行うので、優先度の低い入出力処理によって優先度の高い入出力処理の応答時間が長くなることを防ぐことができる。また、高負荷状態においてのみ優先度制御を行うことによって、優先度の低い入出力要求が不要に遅延させられることなく、外部記憶装置の負荷状況に応じた効率の良い入出力処理を行うことができる。
【発明を実施するための最良の形態】
【００２０】
まず、本発明の概要を説明する。本発明による入出力制御方法は、外部記憶装置の負荷状態を考慮した上で、入出力要求の優先度に応じて入出力処理の順序制御を行う優先度制御付き入出力制御方法である。本発明では、外部記憶装置の入出力の応答時間を用いて、外部記憶装置の負荷状態が高負荷状態であるか否かを判断する。高負荷状態は、例えば、外部記憶装置に対する入出力が集中している状態である。負荷状態の判断として、例えば、外部記憶装置に対する入出力処理の度に応答時間を測定し、その応答時間を平均化した平均応答時間が、応答時間が長いかどうかの基準となる基準時間よりも長くかかっている場合に高負荷状態と判断する。平均応答時間は、パーティション毎に算出してもよいし、優先度の高いパーティションに対する入出力処理に限定して算出してもよい。また、平均応答時間を用いず、例えば、所定のサイズあたりの応答時間が基準時間よりも連続してｎ回上回った場合に高負荷状態と判断することも可能である。
【００２１】
そして、高負荷状態の場合にのみ、優先度の低い入出力要求を遅延させる。具体的には、次のような順序制御を行う。高負荷状態でない場合には、優先度に関わらず受け付けた順番で入出力処理を行う。高負荷状態の場合には、優先度の低い入出力要求を一旦待機させる。この時の入出力要求は、基本的には、低負荷状態に切り替わるまで待機しておくが、例えば、高負荷状態であっても即時に入出力処理を行える状態（例えば、他の入出力要求がない状態）や、低負荷状態に切り替わる前に即時に入出力処理を行える状態になった場合にも、待機状態を解除し、入出力処理を行ってもよい。同様に、優先度の低い入出力要求を受け付けた際に、高負荷状態であっても即時に入出力処理を行える状態であった場合には、待機させずに、即時に入出力処理を行ってもよい。なお、待機させた入出力要求が複数ある場合には、受け付け順序に従って、待機状態を解除していく。
【００２２】
このような負荷状態に応じた順序制御を行うことによって、優先度の高い入出力処理の応答時間が優先度の低い入出力処理が原因で長くなることを防ぐことができるだけでなく、低負荷状態において、優先度の低い入出力要求が無駄に遅延させられることなく効率の良い入出力処理を実現することができる。なお、負荷状態を実際の入出力処理の応答時間に基づいて判断するので、応答時間の基準時間を設定するだけでよく、外部記憶装置の記憶容量や処理能力に応じたパラメータを設定する必要はない。
【００２３】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明による入出力制御方法を実現する記憶システムの構成例を示すブロック図である。図１に示すデータ処理システムは、コンピュータ１００と、コンピュータ１００と接続される外部記憶装置２００とを備える。なお、図１に示す記憶システムは、コンピュータ１００の筐体内で外部記憶装置２００と接続されることによって、コンピュータ１００が外部記憶装置２００を内蔵する形態も含む。
【００２４】
また、図１に示す記憶システムは、例えば、ハードディスク装置（以下、ＨＤＤという。）を内蔵したファイルサーバ装置や、外部ディスク装置をＳＣＳＩインタフェースで接続したＤＡＳ（Direct Attached Storage ）システムや、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）構成のＨＤＤを内蔵し、ネットワーク経由のファイル共有を提供するＮＡＳ（Network Attached Storage）システムや、サーバ装置とストレージ装置とを専用ネットワークで接続するＳＡＮ（Storage Area Network）対応ディスクシステムといった実施形態も含む。なお、外部記憶装置２００に対する入出力を要求する装置は、コンピュータ１００であっても、または、ネットワークを介して接続されるクライアント装置（図示せず。）であってもよい。
【００２５】
外部記憶装置２００は、コンピュータ１００のＣＰＵからは直接アクセスできない記憶装置（例えば、ハードディスク装置）である。なお、外部記憶装置２００は、複数のハードディスク装置を搭載しＲＡＩＤ構成された記憶装置であってもよい。また、本実施の形態において、外部記憶装置２００は複数のパーティションに分割され管理されているものとする。なお、各パーティション（パーティション１〜ｎ）にはＬＵＮ（Logical Unit Number ）が振られており、コンピュータ１００は、この番号（例えば、１〜ｎ）を用いて外部記憶装置２００に対して入出力を要求する。外部記憶装置２００における入出力、およびＲＡＩＤの構成は、外部記憶装置２００が備える制御部（図示せず。）が行う。
【００２６】
コンピュータ１００は、ファイルシステム機能を有するプログラムに従って動作する情報処理装置であって、オペレーティングシステム１１０と、内部記憶領域１２０とを有する。オペレーティングシステム１１０は、コンピュータ１００を駆動させるためのプログラムであって、入出力遅延判定手段１１１と、入出力手段１１２と、入出力応答時間計算手段１１３とを含む。また、内部記憶領域１２０は、コンピュータ１００が備える記憶装置に確保される記憶領域であって、入出力応答時間記録表１２１と、入出力優先度記録表１２２と、リクエストキュー１２３と、遅延用リクエストキュー１２４とを含む。
【００２７】
入出力遅延判定手段１１１は、入出力要求時に優先度制御のための処理を行う手段であって、現在の入出力処理の応答時間および入出力要求の優先度に基づいて、受け付けた入出力要求の遅延判定を行う。入出力手段１１２は、入出力処理の全体的な制御を行う手段であって、入出力要求の受付、外部記憶装置２００に対する入出力処理の実行、完了認識および他の手段へ優先度制御のための各種指示を行う。入出力応答時間計算手段１１３は、入出力処理完了時に優先度制御のための処理を行う手段であって、入出力処理の応答時間の更新と、更新した入出力処理の応答時間に基づいて、遅延させている入出力要求の遅延解除判定を行う。
【００２８】
なお、本実施の形態では、入出力遅延判定手段１１１が遅延判定を行う等の表現を用いるが、具体的には、コンピュータ１００のＣＰＵが、プログラムである入出力遅延判定手段１１１に従って処理を実行する。このことは、他のプログラム及びプログラムによって実現する手段についても同様である。
【００２９】
入出力応答時間記録表１２１は、現在の入出力処理の平均応答時間を記録する。なお、入出力応答時間記録表１２１には、平均応答時間を更新するために必要な情報（例えば、平均応答時間を求めた各応答時間）を含めてもよい。入出力優先度記録表１２２は、各パーティションの優先度を記録する。各パーティションの優先度は、予め入出力優先度記録表１２２に記憶しておくことで設定してもよいし、設定画面を用意し利用者に入力させても、ＯＳ領域など優先度が高いことが明らかな場合にはインストール時に自動で設定してもよい。また、アクセス頻度等に応じて自動で更新することも可能である。リクエストキュー１２３は、入出力処理を行う入出力要求を繋げておくキュー（ここでは、ＦＩＦＯ操作可能な記憶領域をいう。）である。遅延用リクエストキュー１２４は、外部記憶装置２００に対する入出力要求のうち、遅延させる入出力要求を繋げておくキューである。
【００３０】
次に、図２および図３のフローチャートを参照して本実施の形態の動作について説明する。図２および図３は、本実施の形態による記憶システムの動作例を示すフローチャートである。ここでは、パーティション１をＯＳディスクとして使用する場合を例にとって説明する。ＯＳディスクに対する入出力処理に時間がかかると、その間、システム全体の動作を止めてしまう可能性があるため、ＯＳディスクに対する入出力の優先度は高くするのが好ましい。従って、入出力優先度記録表１２２のパーティション１の優先度には、”高”が記憶されているものとする。なお、説明を簡単にするため、他のパーティション（２〜ｎ）の優先度には、”低”が記憶されているものとする。
【００３１】
外部記憶装置２００に対する入出力の要求は、入出力手段１１２が受け付ける（ステップＡ１）。入出力手段１１２は、入出力要求を受け付けると、まず、入出力遅延判定手段１１１に遅延判定を指示する。遅延判定の指示を受けた入出力遅延判定手段１１１は、入出力要求の優先度を取得する。入出力要求の優先度は、例えば、要求された入出力処理の対象パーティションを示す情報に基づいて入出力優先度記録表１２２に記録された対象パーティションの優先度を入出力要求の優先度として取得する。
【００３２】
次に、入出力遅延判定手段１１１は、入出力要求の優先度に基づいて、遅延判定を行う（ステップＡ２）。優先度が高い入出力要求の場合には（ステップＡ２のＹｅｓ）、遅延不可の旨を入出力手段１１２に出力する。入出力手段１１２は、入出力遅延判定手段１１１による遅延不可の判定結果を受けて、受け付けた入出力要求を現在時刻と合わせてリクエストキュー１２３に格納する（ステップＡ３，Ａ４）。ここで、入出力要求に付加した現在時刻は入出力処理の開始時刻を示す情報となる。
【００３３】
また、入出力遅延判定手段１１１は、優先度が低い入出力要求の場合には（ステップＡ２のＮｏ）、更に、現在の入出力処理の応答時間に基づいて遅延判定を行う。入出力遅延判定手段１１１は、例えば、入出力応答時間記録表１２１を参照して、現在の平均応答時間を取得する（ステップＡ５）。なお、現在の平均応答時間は、入出力応答時間計算手段１１３によって逐次入出力応答時間記録表１２１に記録されている。入出力応答時間記録表１２１には、例えば、パーティション毎に入出力処理の応答時間を平均化した値や、優先度の高いパーティションに対する入出力処理の応答時間を平均化した値平均応答時間や、全パーティションに対する入出力処理の応答時間を平均化した値を用いる。
【００３４】
入出力遅延判定手段１１１は、取得した平均応答時間と、予め定められた基準時間（以下、単に基準時間という。）とを比較し（ステップＡ６）、平均応答時間が基準時間よりも長くなっている場合には（ステップＡ６のＹｅｓ）、遅延が必要の旨を入出力手段１１２に出力する。入出力手段１１２は、入出力遅延判定手段１１１による遅延必要の判定結果を受けて、受け付けた入出力要求を遅延用リクエストキュー１２４に格納する（ステップＡ８）。
【００３５】
また、平均応答時間が基準時間よりも長くなっていない場合には（ステップＡ６のＮｏ）、遅延不要の旨を入出力手段１１２に出力する。入出力手段１１２は、入出力遅延判定手段１１１による遅延不要の判定結果を受けると、遅延用リクエストキュー１２４の格納件数を確認し、遅延用リクエストキュー１２４が空である場合には（ステップＡ７のＹｅｓ）、受け付けた入出力要求を現在時刻と合わせてリクエストキュー１２３に格納する（ステップＡ３，Ａ４）。
【００３６】
また、遅延用リクエストキュー１２４が空でない場合には（ステップＡ７のＮｏ）、遅延用リクエストキュー１２４から先に受け付けた遅延中の入出力要求を取り出し、取り出した入出力要求を現在時刻と合わせてリクエストキュー１２３に格納するとともに、今受け付けた入出力要求を遅延用リクエストキュー１２４に格納する（ステップＡ８）。ここで、遅延が不要な入出力要求を遅延用リクエストキュー１２４に格納するのは、取り出せる状態になるまで優先度の低い入出力要求の受付順序を保持しておくためである。
【００３７】
入出力手段１１２は、入出力遅延判定手段１１１による遅延判定結果に基づくキュー操作を終えると、処理すべき入出力要求を取り出し、外部記憶装置２００に対して入出力処理を行う。入出力手段１１２は、リクエストキュー１２３に格納されている入出力要求を取り出し、必要に応じて入出力要求の対象パーティションをＬＵＮに変換し、外部記憶装置２００の制御手段に入出力を要求する。外部記憶装置２００の制御手段は、入出力が完了すると、入出力手段１１２へ入出力完了の旨を出力する。
【００３８】
入出力手段１１２は、外部記憶装置２００から入出力完了の通知を受けると（ステップＢ１）、入出力応答時間計算手段１１３に平均応答時間の更新および遅延解除の判定を指示する。入出力応答時間計算手段１１３は、入出力手段１１２からの平均応答時間の更新および遅延解除の判定の指示を受けて、まず、平均応答時間の更新を行う。入出力応答時間計算手段１１３は、完了した入出力要求に付与された時刻（入出力処理の開始時刻）と、現在時刻との差から今回の入出力処理にかかった時間を応答時間として算出し、算出した応答時間と、入出力応答時間記録表１２１に記憶されている過去の応答時間（平均応答時間を更新するための情報）とに基づいて平均応答時間を再計算して、入出力応答時間記録表１２１を更新する（ステップＢ２）。
【００３９】
なお、入出力応答時間計算手段１１３は、入出力遅延判定手段１１１が用いる平均応答時間を計算し更新する。例えば、パーティション毎の平均応答時間や、優先度の高いパーティションに対する入出力処理の平均応答時間や、所定のサイズあたりの平均応答時間を計算する。
【００４０】
次に、入出力応答時間計算手段１１３は、平均応答時間の更新を終えると、遅延解除の判定を行う。入出力応答時間計算手段１１３は、更新した平均応答時間と基準時間とを比較し、平均応答時間が基準時間よりも長くなっていない場合には（ステップＢ３のＮｏ）、遅延解除可能の旨を入出力手段１１２に出力する。入出力手段１１２は、入出力応答時間計算手段１１３による遅延解除可の判定結果を受けると、遅延用リクエストキュー１２４の格納件数を確認する（ステップＢ４）。遅延用リクエストキュー１２４が空でない場合には（ステップＢ４のＮｏ）、遅延用リクエストキュー１２４から入出力要求を取り出し、取り出した入出力要求を現在時刻と合わせてリクエストキュー１２３に格納する（ステップＢ５〜Ｂ７）。なお、遅延用リクエストキュー１２４が空の場合は、入出力要求は遅延されていない為、遅延解除判定結果に基づくキュー操作としては何も行わない（ステップＢ４のＹｅｓ）。
【００４１】
また、入出力応答時間計算手段１１３は、更新した平均応答時間が基準時間よりも長くなっている場合には（ステップＢ３のＹｅｓ）、遅延解除不可の旨を入出力手段１１２に出力する。入出力手段１１２は、入出力応答時間計算手段１１３から遅延解除不可の判定結果を受けた場合には、遅延状態を維持するため、遅延用リクエストキュー１２４の操作は何も行わない。
【００４２】
入出力手段１１２は、入出力応答時間計算手段１１３による遅延解除判定結果に基づくキュー操作を終えると、次に処理すべき入出力要求があるかを確認し、あれば引き続き外部記憶装置２００に対して入出力処理を行う。入出力手段１１２は、リクエストキュー１２３に入出力要求が格納されているかを確認し、リクエストキュー１２３が空でなければ、リクエストキュー１２３から入出力要求を取り出して、取り出した入出力要求に基づいて、外部記憶装置２００に対して入出力処理を行う。
【００４３】
ここで、もしリクエストキュー１２３が空となった後にも平均応答時間が改善されず、遅延用リクエストキュー１２４に入出力要求が残っている場合には、遅延用リクエストキュー１２４から入出力要求を取り出して、入出力処理を行ってもよい。この際、所定の時間ウェイトを入れてもよい。また、応答時間が極端に遅くなった場合には、次の入出力処理を実行することが得策でない場合もあるため、応答時間の超過量によってはエラー処理することも考えられる。
【００４４】
以上のように、本実施の形態によれば、入出力処理の平均応答時間が基準時間よりも長くなっている場合に、その平均応答時間が短くなるまで、優先度の低い入出力要求を一時的に遅延用リクエストキュー１２４に繋ぐよう構成されているため、その間、優先度の高い入出力処理を先に処理することができる。なお、この間、優先度の低い入出力処理は行われないため、外部記憶装置２００の処理負荷を軽減し、優先度の高い入出力処理の応答時間が、優先度の短い入出力処理によって遅れることを防ぐことができる。
【００４５】
また、優先度の低い入出力処理の遅延動作は、入出力処理の平均応答時間が長くなっている間に限って行うため、不必要に優先度の低い入出力処理が遅延させられることなく、効率の良い入出力処理を実現できる。
【００４６】
なお、本実施の形態において、入出力要求の優先度を対象パーティションの優先度によって定めているが、パーティションの優先度に応じて定めるだけではなく、例えば、要求元プロセス（ＯＳか、アプリケーションか等）や要求元クライアント（ネットワーク管理者か、ノーマルユーザか等）に応じて定めることも可能である。
【００４７】
また、本実施の形態では、リクエストキュー１２３および遅延用リクエストキュー１２４を用いて優先度の低い入出力処理の遅延動作を実現させる例を示したが、キューの定義や操作等はこれに限定されず、本発明の概要として既に説明した入出力制御方法を実現するための処理方法であればよい。
【００４８】
例えば、格納している情報が参照できるような高優先度入出力要求キューと低優先度入出力要求キューとを用意しておき、要求受け付け時に入出力要求の優先度に応じたキューに、受け付け時間とともに記録しておいてもよい。そのような場合には、例えば、入出力手段１１２が処理すべき入出力要求を確認する際に、現在の平均応答時間が基準時間よりも長くなっている場合には、高優先度入出力要求キューから取り出し、そうでない場合には、両方のキューを確認し、受付時間が早い入出力要求を取り出すことによって、外部記憶装置２００の負荷状態に応じた優先度制御付き入出力制御方法を実現することができる。
【産業上の利用可能性】
【００４９】
本発明は、ファイルサーバ用途のストレージ装置や、外部記憶装置を備えたオペレーティングシステムによって駆動される情報処理装置に好適に適用できる。
【図面の簡単な説明】
【００５０】
【図１】本発明による入出力制御方法を実現する記憶システムの構成例を示すブロック図である。
【図２】本実施の形態による記憶システムの動作例を示すフローチャートである。
【図３】本実施の形態による記憶システムの動作例を示すフローチャートである。
【符号の説明】
【００５１】
１００  コンピュータ
１１０  オペレーティングシステム
１１１  入出力遅延判定手段
１１２  入出力手段
１１３  入出力応答時間計算手段
１２０  内部記憶領域
１２１  入出力応答時間記録表
１２２  入出力優先度記録表
１２３  リクエストキュー
１２４  遅延用リクエストキュー
２００  外部記憶装置
【図１】
2007188452.tif 000003
【図２】
2007188452.tif 000004
【図３】
2007188452.tif 000005