(57)【特許請求の範囲】
【請求項１】
ディスク装置への入出力要求を、ランダムアクセスか、シリアルアクセスかを判別し、ランダムアクセス要求のグループとシリアルアクセス要求のグループに分ける入出力種別判別手段と、
入出力要求を、該グループ毎に対応するキューに格納するキュー制御手段と、
割当時間制御手段の指示に従って入出力要求を該キューから読み出し、ディスク装置と処理時間予測手段とに入出力要求を発行する入出力要求処理手段と、
ディスク装置から、該入出力要求に対応して使用するディスク構成を読み取り、判別する構成判別手段と、
構成判別手段の判別結果に従って該入出力要求に対する処理に要する処理時間の予測値を計算する処理時間予測手段と、
該キュー毎にディスク装置を連続して使用する時間を割り当て、前記処理時間予測手段の計算結果を基に、連続した該入出力要求に要する処理時間の予測値の合計が、現在読み出しているキューに割り当てられた時間を超えるまで連続して、同一のキューの読み出しを入出力要求処理手段に指示し、割り当てられた時間を超えた場合は、入出力要求処理手段に指示するキューを順番に切り換える割当時間制御手段とを有することを特徴とするディスク入出力スケジュール装置。
【請求項２】
請求項１に記載のディスク入出力スケジュール装置であって、
処理時間予測手段は、入出力要求がリードかライトかを判別し、リード処理時間の予測と、ライト処理時間の予測とを個別に行うことを特徴とするディスク入出力スケジュール装置。
【請求項３】
請求項１に記載のディスク入出力スケジュール装置であって、
構成判別手段は、入出力要求に対応して使用するディスクドライブ構成とストリップ構成とを判別することを特徴とするディスク入出力スケジュール装置。
【請求項４】
請求項１に記載のディスク入出力スケジュール装置であって、
割当時間制御手段は、各グループ毎に、処理した入出力要求の実績を蓄積する入出力要求実績蓄積手段と、
入出力要求の実績に従って、各グループがディスク装置を連続して使用する時間を定める、クオンタム長制御手段とを有することを特徴とするディスク入出力スケジュール装置。
【請求項５】
ディスク装置への入出力要求を、ランダムアクセスか、シリアルアクセスかを判別し、ランダムアクセス要求のグループとシリアルアクセス要求のグループに分ける入出力種別判別手順と、
入出力要求を、該グループ毎に対応するキューに格納するキュー制御手順と、
割当時間制御手順の指示に従って入出力要求を該キューから読み出し、ディスク装置と処理時間予測手順とに入出力要求を発行する入出力要求処理手順と、
該入出力要求に対応して使用するディスク構成を、ディスク装置から読み取り判別する構成判別手順と、
構成判別手順の判別結果に従って該入出力要求に対する処理に要する処理時間の予測値を計算する処理時間予測手順と、
該キュー毎にディスク装置を連続して使用する時間を割り当て、前記処理時間予測手段の計算結果を基に、連続した該入出力要求に要する処理時間の予測値の合計が、現在読み出しているキューに割り当てられた時間を超えるまで連続して、同一のキューの読み出しを入出力要求処理手順に指示し、割り当てられた時間を超えた場合は、入出力要求処理手順に指示するキューを順番に切り換える割当時間制御手順と
をコンピュータに実行させる事を特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
ディスク装置への入出力要求を、ランダムアクセスか、シリアルアクセスかを判別し、ランダムアクセス要求のグループとシリアルアクセス要求のグループに分け、
入出力要求を、該グループ毎に対応するキューに格納し、
該キュー毎にディスク装置を連続して使用する時間を割り当て、
該入出力要求を処理する場合は、該キューから入出力要求を読み出し、ディスク装置と処理時間予測手段とに入出力要求を発行し、
ディスク装置から、該入出力要求に対応して使用するディスク構成を読み取り、
処理時間予測手段は、入出力要求と読み取ったディスク構成の判別結果とに従って該入出力要求に対する処理に要する処理時間の予測値を計算し、
連続した該入出力要求に要する処理時間の予測値の合計が、現在読み出しているキューに割り当てられた時間を超えるまで連続して、同一のキューの読み出し、
連続した該予測値の合計が、割り当てられた時間を超えた場合は、読み出すキューを順番に切り換えるスケジューリングを行うことを特徴とするディスク入出力スケジュール方法。
【請求項７】
ディスク装置への入出力要求を、ランダムアクセスか、シリアルアクセスかを判別し、ランダムアクセス要求のグループとシリアルアクセス要求のグループに分ける入出力種別判別手順と、
入出力要求を、該グループ毎に対応するキューに格納するキュー制御手順と、
割当時間制御手順の指示に従って入出力要求を該キューから読み出し、ディスク装置と処理時間予測手順とに入出力要求を発行する入出力要求処理手順と、
該入出力要求に対応して使用するディスク構成を、ディスク装置から読み取り判別する構成判別手順と、
構成判別手順の判別結果に従って該入出力要求に対する処理に要する処理時間の予測値を計算する処理時間予測手順と、
該キュー毎にディスク装置を連続して使用する時間を割り当て、前記処理時間予測手段の計算結果を基に、連続した該入出力要求に要する処理時間の予測値の合計が、現在読み出しているキューに割り当てられた時間を超えるまで連続して、同一のキューの読み出しを入出力要求処理手順に指示し、割り当てられた時間を超えた場合は、入出力要求処理手順に指示するキューを順番に切り換える割当時間制御手順とをコンピュータに実行させる事を特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク装置への入出力要求を、入出力要求の種別毎にグループ分けし、グループ間で時分割してディスクを使用する、ディスク入出力スケジュール装置に関する。
【０００２】
ハードディスクドライブ等のディスク装置を使用してデータを管理するストレージシステムにあっては、複数の種別の入出力、例えばＯＬＴＰ業務（On Line Transaction Processing）のごとく、応答時間の保証が要求されるランダムアクセス系の入出力と、データベースバックアップ業務のごとく、単位時間当たりの処理量が重視されるシーケンシャルアクセス系の入出力を行う必要がある。
【０００３】
特に、窓口業務のようなミッションクリティカルなＯＬＴＰ業務では、入出力性能の要件として、平均応答時間の他に最大応答時間を保証することが要求される。
【０００４】
しかし、種別の異なる入出力要求に対しては、最適スケジューリング方法が異なるため、通常はランダムアクセス系の業務とシーケンシャルアクセス系の業務が競合しないように時間帯を分け、それぞれに合わせたスケジューリング方法を切り換えて運用している。
【０００５】
例えば、昼間は、ＯＬＴＰ業務を行うため、単位時間当たりの処理量は低下するが、応答時間を保証するスケジューリング方法を採用し、業務終了後の夜間には、データベースバックアップ業務を行うため、応答時間は保証できないが、単位時間当たりの処理量を重視したスケジューリング方法を採用している。
【０００６】
しかし、業務の無停止化要求の増大に伴い、夜間といえどもＯＬＴＰ業務を継続する必要があり、同一時間帯にＯＬＴＰ業務と、データベースバックアップ業務の実行が必要となる。
【０００７】
【従来の技術】
図５に、従来のディスク入出力スケジュール装置の構成例を示す。
【０００８】
該従来例においては、入出力要求の種別を判別し、ランダムアクセス、シリアルアクセス等の入出力グループに分けると共に、各入出力グループには、それぞれディスク装置を連続して使用する時間「クオンタム」を割り当てる。
【０００９】
ディスク入出力スケジュール装置が、入出力要求を受け付けた場合は、入出力要求の種別を判別し、入出力要求を、各入出力グループに分け、それぞれの処理順を表示するキューに格納する。
【００１０】
入出力要求を処理する場合は、入出力要求処理手段が、入出力スケジュール手段が指示するキューを参照し、参照した入出力要求を入出力スケジュール手段とディスク装置とに送る。入出力スケジュール手段は、該キューに割り当てられたクオンタムを使い切るまでは、連続して同じキューを指示し、割り当てられたクオンタムを使い切ると、指示するキューを切り換える。これにより、各入出力グループ間で、時分割でディスク装置を使用している。
【００１１】
入出力要求を、ランダムアクセスとシリアルアクセスの二つの入出力グループに分けてスケジューリングする場合の処理フローを図６をもって説明する。
【００１２】
初期状態は、図７−ａ）に示すごとく、ランダムアクセスグループにはτ１＝１２０ｍｓ、シリアルアクセスグループにはτ２＝６０ｍｓのクオンタムが割り当てられている。
【００１３】
入出力要求は、ディスク入出力スケジュール装置５３の入出力要求受付手段５４を経て、入出力種別判別手段５５に送られる。入出力種別判別手段５５では、受け付けた入出力要求がランダムアクセスか、シリアルアクセスかを判別し、図７−ｂ）に示すごとく、ランダムアクセス要求はキュー１に、シリアルアクセス要求はキュー２に格納する。
【００１４】
入出力要求を処理する場合、入出力要求処理手段５８は、はじめにキュー１を参照し、キュー１から入出力要求ＲＱ１１を取り出し、入出力要求を入出力スケジュール手段５７とディスク装置５１とに送る（Ｓ６１）。
【００１５】
入出力スケジュール手段５７は、入出力要求を解析し、データのサイズと、リードあるいはライトを判別し、処理予測時間τｒｑを計算する。次に、残りのクオンタムΔτ（初期状態では、割り当てられたクオンタムτ１）からτｒｑを差し引き、残りのクオンタムΔτを求める（Ｓ６２）。  次に、残りのクオンタムΔτの符号を判定し（Ｓ６３）、Δτが正または０の場合、Ｓ６１に戻り、現在参照しているキューから次の入出力要求を取り出し、同様に処理する。入出力要求ＲＱ１ｎまで処理した後のクオンタムの状態を図７−ｃ）に示す。
【００１６】
図７−ｃ）において、現在のクオンタムは、入出力グループ１に割り当てられた１２０ｍｓであり、ＲＱ１１〜ＲＱ１ｎまでの処理で使用した時間は１１６ｍｓであるため、残りのクオンタムΔτ＝４ｍｓとなる。
【００１７】
次の入出力要求ＲＱ１ｎ＋１の処理で、８ｍｓ使用する場合、残りのクオンタムΔτ＝−４ｍｓとなり、Ｓ６３からＳ６４に進み、入出力要求処理手段に指示するキューをキュー２に切り換える。
【００１８】
このようにして、同時間帯にランダムアクセス、シーケンシャルアクセス等の、種別の異なるアクセスを受け付けた場合のスケジューリングを行っている。
【００１９】
【発明が解決しようとする課題】
しかし、ディスク入出力スケジュール装置の制御下にあるディスク装置が、単一のディスクドライブではなく、例えばＲＡＩＤ５のごとく、複数のディスクドライブにより構成されている場合、処理予測時間の誤差が大きくなる。
【００２０】
図８は、ディスクドライブにデータを入出力する際の状況を示したものである。ディスクドライブでは、ディスク媒体上のデータを入出力する単位、すなわちストリップを定め、ストリップ単位でデータの入出力を行う。ここでは、ストリップサイズが６０ＫＢの場合の処理について説明する。
【００２１】
データサイズが３０ＫＢの入出力要求があり、データが、
(a) ストリップの先頭から格納されている場合、データは１つのストリップにはいり、1 ディスクへのアクセスになるが、
(b) ストリップの４０ＫＢ目から格納されている場合、データは２つのストリップに分割されている。この場合、２つ目のストリップは、１つ目のストリップと同じディスクドライブにあるとは限らないため、2 ディスクドライブへのアクセスになる場合がある。
【００２２】
入出力の処理時間は、アクセスするディスクドライブが追加される毎に、増加する。従って、同じデータサイズの入出力要求でも、データが格納されている位置によって一つの入出力要求が実際には複数のディスクドライブへの入出力要求になり、処理時間が増加する場合がある。
【００２３】
このため、ディスク装置が複数のディスクドライブで構成されている場合は、従来のディスク入出力スケジュール装置では、入出力処理予測時間の誤差が大きくなる。
【００２４】
本発明の目的は、ディスク入出力スケジュール装置の制御下にあるディスク装置が複数のディスクドライブにより構成されている場合でも、精度の高い入出力処理時間の予測を行い、精度の高いスケジューリングを行うことにある。
【００２５】
【課題を解決するための手段】
本発明は、ディスク装置への入出力要求を、入出力要求の種別に従って複数のグループに分ける入出力種別判別手段と、該グループ毎に割り当てられた入出力要求の処理順を表示するキューに入出力要求を格納するキュー制御手段と、割当時間制御手段の指示に従って入出力要求を該キューから読み出し、ディスク装置と処理時間予測手段とに入出力要求を発行する入出力要求処理手段と、ディスク装置から、該入出力要求に対応して使用するディスク構成を読み取り、判別する構成判別手段と、構成判別手段の判別結果に従って該入出力要求の処理時間の予測値を計算する処理時間予測手段と、該キュー毎にディスク装置を連続して使用する時間を割り当て、連続した該予測値の合計が、現在読み出しているキューに割り当てられた時間を超えるまで連続して、同一のキューの読み出しを入出力要求処理手段に指示し、割り当てられた時間を超えた場合は、入出力要求処理手段に指示するキューを順番に切り換える割当時間制御手段とを有することを特徴とする。
【００２６】
本発明におけるディスク入出力スケジュール装置では、入出力要求受付手段が入出力要求を受け付け、入出力種別判別手段に送る。入出力種別判別手段は、受け付けた入出力要求の種別を判別し、各入出力要求の種別毎のグループに分け、各々のグループに対応するキューに格納する。
【００２７】
入出力要求を処理する場合、入出力要求処理手段は、割当時間制御手段の指示するキューを参照し、入出力要求を処理時間予測手段とディスク装置とに送る。
【００２８】
構成判別手段は、ディスク装置から該入出力要求に対応して使用するディスク構成を読み取り、該入出力要求で使用するディスク構成を判別し、処理時間予測手段に送る。
【００２９】
ディスク構成を受け付けた処理時間予測手段は、該入出力要求の単位の処理予測時間とディスク構成から処理予測時間を求め、割当時間制御手段に送る。
【００３０】
具体的な処理としては、例えば、ディスク構成から各入出力要求を処理するディスクドライブ数と入出力処理の単位であるストリップ数を判別し、該入出力要求に対応する各ディスクドライブ毎の処理予測時間を計算し、合算した値を処理予測時間とする。
【００３１】
割当時間制御手段は、該キューに割り当てられたクオンタムから処理予測時間を差し引き、残りのクオンタムがゼロになるまで連続して同じキューを指示し、残りのクオンタムが負になると入出力要求処理手段に指示するキューを切り換えることで、ディスク構成に基づいたスケジューリングを行う。
【００３２】
請求項２に記載の発明は、請求項１に記載のディスク入出力スケジュール装置であって、処理時間予測手段は、入出力要求がリードかライトかを判別し、リード処理時間の予測と、ライト処理時間の予測とを個別に行うことを特徴とする。
【００３３】
請求項３に記載の発明は、請求項１に記載のディスク入出力スケジュール装置であって、構成判別手段は、入出力要求に対応して使用するディスクドライブ構成とストリップ構成とを判別することを特徴とする。
【００３４】
請求項４に記載の発明は、請求項１に記載のディスク入出力スケジュール装置であって、割当時間制御手段は、各グループ毎に、処理した入出力要求の実績を蓄積する入出力要求実績蓄積手段と、入出力要求の実績に従って、各グループがディスク装置を連続して使用する時間を定める、クオンタム長制御手段とを有することを特徴とする。
【００３５】
【発明の実施の形態】
図１は、本発明の構成例を示す。以下、本発明のディスク入出力スケジュール装置の制御下にあるディスク装置が、ＲＡＩＤ５の構成の場合について、前記従来例と対比して以下の条件を例に説明する。
１．入出力要求グループ：入出力要求グループ１＝ランダムアクセスの入出力要求、入出力要求グループ２＝シリアルアクセスの入出力要求。
２．初期状態でのクオンタムサイズ：グループ１のクオンタムτ１＝１２０ｍｓ×５＝６００ｍｓ、グループ２のクオンタムτ２＝６０ｍｓ×５＝３００ｍｓ
３．１単位のリード処理予測時間τｒ＝４ｍｓ、１単位のライト処理予測時間τｗ＝５ｍｓ。
【００３６】
この場合の入出力要求処理の流れを図２に、各処理におけるクオンタム、およびキューの状態を図３に示す。
【００３７】
初期状態では、各入出力グループに、図３−ａ）に示すクオンタムが割り当てられている。
【００３８】
入出力要求受付手段４は、入出力要求部２からの入出力要求を入出力種別判別手段５に送る。入出力種別判別手段５では、受け付けた入出力要求の種別がランダムアクセスか、シリアルアクセスかを判別し、各々、キュー制御手段６のキュー１、キュー２に格納する（図３−ｂ）。
【００３９】
入出力要求の処理を、図２の処理フロー例をもって説明する。入出力要求処理手段８は、割当時間制御手段１０が指示するキューを参照し、キューから入出力要求を取り出し、入出力要求を処理時間予測手段７とディスク装置１とに送る（Ｓ２１）。
【００４０】
処理時間予測手段７は、入出力要求がリード要求か、ライト要求かを判定し（Ｓ２２）、入出力要求がリードの場合は、入出力要求の単位の処理予測時間τｐ＝τｒ＝４ｍｓ（Ｓ２３）、入出力要求がライトの場合はτｐ＝τｗ＝５ｍｓ（Ｓ２４）と設定する。
【００４１】
構成判別手段は、ディスク装置から、該入出力要求に対応して使用するディスク構成、例えば、アクセスするディスクドライブとストリップを読み取る（Ｓ２５）。
【００４２】
処理時間予測手段７は、τｐとディスク構成から処理予測時間τｒｑを求める（Ｓ２６）。
【００４３】
割当時間制御手段１０は、残りのクオンタムΔτ（初期状態では、割り当てられたクオンタムτ１）からτｒｑを差し引き、残りのクオンタムΔτを計算する（Ｓ２７）。
【００４４】
次に、残りのクオンタムΔτの符号を判定し（Ｓ２８）、Δτが正または０の場合、Ｓ２１に戻り、Δτが負の場合、入出力要求処理手段に指示するキューをキュー２に切り換え（Ｓ２９）、Ｓ２１に戻る。
【００４５】
入出力要求ＲＱ１ｎまで処理した後の状態の例を図４−ｃ）に示す。図４−ｃ）において、現在のクオンタムは、入出力グループ１に割り当てられた６００ｍｓで、ＲＱ１１〜ＲＱ１ｎまでに消費した時間は５９６ｍｓであるため、残りのクオンタムΔτ＝４ｍｓとなる。
【００４６】
次に取り出した入出力要求ＲＱ１ｎ＋１が、リード要求で、図１０−ａ）のごとく１つのストリップに入る場合、例えばディスクドライブ数＝１、ストリップ数＝１が、ディスク構成となり、τｒｑ＝４ｍｓ、残りのクオンタムΔτ＝４ｍｓ−４ｍｓ＝０ｍｓとなり、Ｓ２１に戻る。
【００４７】
入出力要求が、図８−ｂ）のごとく、２つのストリップに分かれ、かつ、２つのストリップが別のディスクドライブになる場合、例えばディスクドライブ数＝２、ストリップ数＝２が、ディスク構成となり、τｒｑ＝８ｍｓ、残りのクオンタムΔτ＝４ｍｓ−８ｍｓ＝−４ｍｓとなり、入出力要求処理手段８に指示するキューをキュー１からキュー２に切り換え（Ｓ２９）、Ｓ２１に戻る。
【００４８】
なお、キュー２に入出力要求が格納されていない場合は、再度指示するキューをキュー１に切り換える。
【００４９】
また、他の実施例として、割当時間制御手段１０に、入出力要求実績蓄積手段１１とクオンタム長制御手段１２とを追加し、入出力要求の実績に従ってクオンタムを再配分する。
【００５０】
例えば図４に示すごとく、初期状態で設定したクオンタム配分τ１：τ２＝６００ｍｓ：３００ｍｓに対し、蓄積された入出力要求の実績がτ１：τ２＝６０４ｍｓ：２００ｍｓと偏っている場合、クオンタムをτ１：τ２＝６０４ｍｓ：２００ｍｓと再配分し、以降のスケジューリングを行う。
【００５１】
なお、クオンタムの再配分値は、上記のごとく実績比例であっても、最大値固定、例えばτ１：τ２＝６００ｍｓ：２００ｍｓであっても良い。
【００５２】
【発明の効果】
以上説明したごとく、本発明によれば、ディスク入出力スケジュール装置の制御下にあるディスク装置が複数のディスクドライブにより構成されている場合であっても、
１．入出力が実行されるディスク構成に基づいた処理時間予測を行う。
２．リード処理とライト処理とで個別に処理時間予測を行う。
ことで、精度の高い入出力処理時間の予測を行い、精度の高いスケジューリングを行う。
【００５３】
また、入出力要求の実績を蓄積し、この実績に基づいてクオンタムを再配分することで、さらに精度の高いスケジューリングを行う。
【図面の簡単な説明】
【図１】  本発明の構成例
【図２】  本発明の入出力要求の処理フロー例
【図３】  本発明のクオンタム、およびキューの状態
【図４】  入出力グループ毎の入出力処理実績
【図５】  従来例の概略構成
【図６】  従来のディスク入出力スケジュール装置の処理フロー
【図７】  従来例のクオンタム、およびキューの状態
【図８】  入出力要求の処理例
【符号の説明】
１  ディスク装置
２  入出力要求部
３  ディスク入出力スケジュール装置
４  入出力要求受付手段
５  入出力種別判別手段
６  キュー制御手段
７  処理時間予測手段
８  入出力要求処理手段
９  構成判別手段
１０  割当時間制御手段
１１  入出力要求実績蓄積手段
１２  クオンタム長制御手段
【図１】
0003975684.tif 000002
【図２】
0003975684.tif 000003
【図３】
0003975684.tif 000004
【図４】
0003975684.tif 000005
【図５】
0003975684.tif 000006
【図６】
0003975684.tif 000007
【図７】
0003975684.tif 000008
【図８】
0003975684.tif 000009