JPH05108274A - 並列デイスク制御方法および並列デイスク制御装置 - Google Patents

並列デイスク制御方法および並列デイスク制御装置

Info

Publication number
JPH05108274A
JPH05108274A JP3263826A JP26382691A JPH05108274A JP H05108274 A JPH05108274 A JP H05108274A JP 3263826 A JP3263826 A JP 3263826A JP 26382691 A JP26382691 A JP 26382691A JP H05108274 A JPH05108274 A JP H05108274A
Authority
JP
Japan
Prior art keywords
sub
request
requests
input
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3263826A
Other languages
English (en)
Inventor
Shizuo Yokohata
静生 横畑
Yoshihiro Uchiyama
善弘 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3263826A priority Critical patent/JPH05108274A/ja
Publication of JPH05108274A publication Critical patent/JPH05108274A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 入出力要求の応答性と並列ディスク制御装置
のスループットを向上する。 【構成】 並列ディスク装置への入出力処理要求を待ち
行列で待たせるときに、複数の並列ディスク装置にまた
がる入出力処理要求の各並列ディスク装置間での処理完
了のタイミングのバラツキが小さくなるように、入出力
要求の順序を入れ換える。 【効果】 入出力要求の応答性と並列ディスク制御装置
のスループットが向上する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列ディスク制御方法
および並列ディスク制御装置に関し、さらに詳しくは、
入出力要求の応答性とスループットを向上させるのに好
適な並列ディスク制御方法および並列ディスク制御装置
に関する。
【0002】
【従来の技術】ホスト計算機では1個の論理ディスク装
置として扱うが、実際には複数のディスク装置に対して
アクセスする並列ディスクサブシステムが研究されてい
る。このような並列ディスクサブシステムは、ホスト計
算機からの1個の入出力要求を複数のディスク装置(ま
たは1個以上のディスク装置を各々が有し且つ独立に入
出力処理を行い得る複数の並列ディスク装置、または1
個以上のディスク装置を各々が有し且つ独立に入出力処
理を行い得る1個以上の並列ディスク装置を各々が管理
する複数のサブコントローラ)に分配する並列ディスク
制御装置を備えている。しかし、並列ディスク制御装置
におけるスケジューリング技術は従来知られていない。
【0003】なお、並列ディスク制御装置ではないが、
計算機におけるオペレーティングシステムでのジョブ・
スケジューリングの技術が例えば「Harvey M. Deitel;
AnIntroduction to Operating Systems, Addison-Wes
ley Publishing 」に開示されている。
【0004】
【発明が解決しようとする課題】並列ディスク制御装置
において、ホスト計算機からの入出力要求を到着順に処
理すると、ディスク装置(または並列ディスク装置、ま
たはサブコントローラ)毎に入出力要求の待ち行列の長
さや処理時間が異なるため、1個の入出力要求の処理が
複数のディスク装置等にまたがる場合に、それらでの実
行終了のタイミングにバラツキを生じる。しかし、先に
実行終了したディスク装置等は最後のディスク装置等の
実行終了まで待たなくてはならないため、前記バラツキ
が大きいと、入出力要求の応答性およびスループットが
低下してしまう問題点がある。
【0005】そこで、本発明の目的は、入出力要求の応
答性とスループットを向上させることが出来る並列ディ
スク制御装置を提供することにある。
【0006】
【問題を解決するための手段】第1の観点では、本発明
は、独立に入出力処理を行い得る複数のディスク装置の
1個以上と対応する論理ディスク装置へのホスト計算機
からの入出力要求を前記複数のディスク装置の1個以上
への副入出力要求に展開し、各ディスク装置対応の待ち
行列につなぎ、1個の入出力要求を2個以上の副入出力
要求に展開し複数のディスク装置対応の待ち行列につな
いだときにそれら2個以上の副入出力要求の実行終了タ
イミングのバラツキが小さくなるように各待ち行列の内
部で副入出力要求の順序を入れ換え、各待ち行列の先頭
の副入出力要求から順に実行することを特徴とする並列
ディスク制御方法を提供する。
【0007】第2の観点では、本発明は、1個以上のデ
ィスク装置を各々が有し且つ独立に入出力処理を行い得
る複数の並列ディスク装置の1個以上と対応する論理デ
ィスク装置へのホスト計算機からの入出力要求を前記複
数の並列ディスク装置の1個以上への副入出力要求に展
開し、各並列ディスク装置対応の待ち行列につなぎ、1
個の入出力要求を2個以上の副入出力要求に展開し複数
の並列ディスク装置対応の待ち行列につないだときにそ
れら2個以上の副入出力要求の実行終了タイミングのバ
ラツキが小さくなるように各待ち行列の内部で副入出力
要求の順序を入れ換え、各待ち行列の先頭の副入出力要
求から順に実行することを特徴とする並列ディスク制御
方法を提供する。
【0008】第3の観点では、本発明は、1個以上のデ
ィスク装置を各々が有し且つ独立に入出力処理を行い得
る複数の並列ディスク装置の1個以上と対応する論理デ
ィスク装置へのホスト計算機からの入出力要求を前記複
数の並列ディスク装置の1個以上への副入出力要求に展
開し、1個以上の並列ディスク装置を各々が管理する複
数のサブコントローラの各個対応の待ち行列につなぎ、
1個の入出力要求を2個以上の副入出力要求に展開し複
数のサブコントローラの待ち行列につないだときにそれ
ら2個以上の副入出力要求の実行終了タイミングのバラ
ツキが小さくなるように各待ち行列の内部で副入出力要
求の順序を入れ換え、各待ち行列の先頭の副入出力要求
から順に実行することを特徴とする並列ディスク制御方
法を提供する。
【0009】第4の観点では、本発明は、上記並列ディ
スク制御方法を実施する並列ディスク制御装置を提供す
る。
【0010】
【作用】本発明の並列ディスク制御方法では、ホスト計
算機からの1個の入出力要求を2個以上の副入出力要求
に展開し複数の待ち行列につないだときに、それら2個
以上の副入出力要求の実行終了タイミングのバラツキが
小さくなるように各待ち行列の内部で副入出力要求の順
序を入れ換える。このため、入出力要求の応答性および
スループットの低下を最小限に抑えることが出来る。
【0011】また、本発明の並列ディスク制御装置で
は、上記並列ディスク制御方法を実施するため、入出力
要求の応答性およびスループットの低下を最小限に抑え
ることが出来る。
【0012】
【実施例】以下、図に示す実施例により本発明を詳細に
説明する。図1は、本発明の一実施例の並列ディスク制
御装置2を含む計算機システムの構成図である。1は、
ホスト計算機である。並列ディスク制御装置2は、n台
のサブコントローラ3(1)〜3(n)と,m×n台の
並列ディスク装置4(1,1)〜4(m,n)とを制御
する。並列ディスク制御装置2と、サブコントローラ3
(1)〜3(n)と、並列ディスク装置4(1,1)〜
4(m,n)とを一括して並列ディスクサブシステムと
呼ぶ。
【0013】並列ディスク制御装置2は、ホスト計算機
1からの入出力要求を記録しておく入出力要求記憶バッ
ファ13と、ホスト計算機1と並列ディスク装置4
(1,1)〜4(m,n)の間で転送されるデータを分
割/統合するためのバッファ10と、前記入出力要求記
憶バッファ13内の入出力要求をスケジューリングする
スケジュールプログラム14と、ホスト計算機1との通
信およびサブコントローラ3(1)〜3(n)への指示
を行う制御プログラム15と、それらのプログラム1
4,15を実行するマイクロプロセッサ12と、時間を
ミリ秒単位で計るシステム時計16とから構成される。
【0014】サブコントローラ3(1)は、m台の並列
ディスク装置4(1,1)〜4(m,1)を制御する。
但し、同時に複数台の並列ディスク装置からデータを読
むことは出来ない。他のサブコントローラ3(2)〜3
(n)も同様である。並列ディスク装置4(1,1)〜
4(m,n)は、それぞれ複数のディスク装置5,5,
…を有する。
【0015】図2に示すように、ホスト計算機1は、並
列ディスク装置4(1,1)〜4(m,n)を論理ボリ
ューム(1)21〜論理ボリューム(7)27として取
り扱う。論理ボリューム(1)21〜論理ボリューム
(4)24は、それぞれ物理的には1個の並列ディスク
装置から構成される。論理ボリューム(5)25〜論理
ボリューム(6)26は、それぞれ物理的には2個の並
列ディスク装置から構成される。論理ボリューム(7)
27は、物理的には4個の並列ディスク装置から構成さ
れる。
【0016】図3は、論理ボリューム(1)21〜論理
ボリューム(7)27を並列ディスク装置4(1,1)
〜4(m,n)に対応付けるボリューム変換テーブル3
0であり、入出力要求記憶バッファ13内に置かれる。
論理ボリューム番号(i)をインデックスとしてボリュ
ーム変換テーブル30を引くことにより、対応する並列
ディスク装置を求めることが出来る。
【0017】図4は、データの並列ディスク装置4
(1,1)〜4(m,n)内での格納方法(データ分配
方法)を示している。転送データは、適当なブロックサ
イズ(ここでは1Kbyteとする)に分割されて、各ディ
スク装置5,5,…に分配される。例えば論理ボリュー
ム(1)に対する転送データの場合、図4の(a)に示
すように、並列ディスク装置4(1,1)が8個のディ
スク装置5(1)〜5(8)からなるとき、データブロ
ックをディスク装置5(1)〜5(8)に順番に分配す
る。ディスク装置5(8)まで分配すると、再びディス
ク装置5(1)〜5(8)に分配し、最後のデータブロ
ックまでこれを繰り返す。また、例えば論理ボリューム
(7)に対する転送データの場合、図4の(b)に示す
ように、並列ディスク装置4(3,1)〜4(3,4)
がそれぞれ8個のディスク装置からなるとき、8個づつ
のデータブロックを並列ディスク装置4(3,1)〜4
(3,4)に順番に分配する。並列ディスク装置4
(3,4)まで分配すると、再び並列ディスク装置4
(3,1)〜4(3,4)に分配し、最後のデータブロ
ックまでこれを繰り返す。
【0018】図5に、ホスト計算機1からの入出力要求
40を示す。エントリとして、論理ボリューム番号4
1,転送データの転送開始番地42,転送データ長4
3,コマンド(リード/ライト)44がある。入出力要
求40は、ボリューム変換テーブル30を使って、各サ
ブコントローラ3(1)〜3(4)単位の副入出力要求
50に展開される。
【0019】図6に、副入出力要求50を示す。エント
リとして、当該副入出力要求50を待ち行列に登録する
場合に次につながる副入出力要求50を指す次ポインタ
51,副入出力要求50が複数の並列ディスク装置5単
位の副入出力要求50に展開された場合にそれらの副入
出力要求50間を双方向に指すマルチ間ポインタ52,
転送データの転送開始番地とデータ長である転送開始番
地/データ長53,コマンド(リード/ライト)54,
当該副入出力要求50の処理にかかる時間の予測である
予測処理時間55,当該副入出力要求50の実行が終了
する時間(現時刻からの相対的な積算時間)である実行
終了時間56,複数の副入出力要求50に展開された場
合にその中での最大の実行終了時間を持つことを示す最
大マークおよび最小の実行終了時間を持つことを示す最
小マークである最大マーク/最小マーク57,対応する
サブコントローラ3による実行の開始時刻58,スケジ
ューリングにより待ち行列での順番が入れ換えられた回
数を示す置換回数59がある。
【0020】なお、入出力要求40が単一の副入出力要
求50に展開された場合、その副入出力要求50をシン
グル副入出力要求と呼ぶ。一方、複数の副入出力要求5
0に展開された場合、その副入出力要求50をマルチ副
入出力要求と呼ぶ。
【0021】図7に、副入出力要求50,50の待ち行
列とサブコントローラ3(1)〜3(4)の待ち行列ヘ
ッダ60〜63を示す。待ち行列ヘッダ60〜63のエ
ントリとして、待ち行列の先頭の副入出力要求50を指
す先頭ポインタ65,最後の副入出力要求50を指す最
終ポインタ66がある。
【0022】入出力要求40、副入出力要求50、待ち
行列ヘッダ60〜63は、すべて入出力要求記憶バッフ
ァ13内に置かれる。
【0023】図8から図13は、スケジュールプログラ
ム14による処理のアルゴリズムの概要を示す説明図で
ある。図8は、ある時点における待ち行列を示す。副入
出力要求1201〜1205は、それぞれシングル副入
出力要求である。破線でつないだ副入出力要求1206
〜1209は、マルチ副入出力要求である。なお、副入
出力要求1201〜1209の下段は予測処理時間のエ
ントリ55であり、上段は実行終了時間のエントリ56
である。実行終了時間は、待ち行列の先頭の副入出力要
求から当該副入出力要求までの予測処理時間の積算値で
ある。図8のマルチ副入出力要求1206〜1209の
実行終了時間を見ると、この中で実行終了時間<150
>の副入出力要求1207が最後に終了することが分
る。つまり、サブコントローラ3(1),3(3),3
(4)が、サブコントローラ3(2)の副入出力要求1
207の実行終了時間<150>まで待たされることに
なる。
【0024】そこで、副入出力要求1207と副入出力
要求1205を置換してみる。置換結果を図9に示す。
図9のマルチ副入出力要求1206〜1209の実行終
了時間を見ると、この中で実行終了時間<110>の副
入出力要求1208が最後に終了することが分る。つま
り、サブコントローラ3(1),3(2),3(4)
が、サブコントローラ3(3)の副入出力要求1208
の実行終了時間<110>まで待たされることになる。
しかし、図8の場合に比べて実行終了時間が早くなり,
バラツキ時間(=最大の実行終了時間−最小の実行終了
時間)も小さくなっている。すなわち、応答性が改善さ
れ、並列ディスクサブシステム全体のスループットも改
善されることになる。
【0025】次に、図10は、図9の状態において新た
な副入出力要求1210を登録した状態を表している。
ここで、副入出力要求1210と副入出力要求1209
を入れ換えると、図11のようになる。マルチ副入出力
要求1206〜1209のバラツキ時間は変わらない
が、副入出力要求1210の実行終了時間が早くなる。
すなわち、応答性が改善され、並列ディスクサブシステ
ム全体のスループットも改善されることになる。
【0026】次に、図12は、図11の状態において新
たな副入出力要求1211を登録した状態を表してい
る。ここで、副入出力要求1211と副入出力要求12
06を入れ換えると、図13のようになる。副入出力要
求1206の実行終了時間が<150>になるため、マ
ルチ副入出力要求1206〜1209のバラツキ時間が
大きくなり、応答性が低下する。したがって、このよう
な入れ換えは行わない。
【0027】以上をまとめると、第1に、マルチ副入出
力要求が登録されたときに、最小実行終了時間に近づけ
る方向に置換を行い、バラツキ時間を小さくする。第2
に、シングル副入出力要求が登録されたときに、一つ前
がマルチ副入出力要求で、置換してもバラツキ時間が変
わらない場合だけ置換を行い、応答性を改善する。な
お、置換により特定の副入出力要求の応答性が極端に遅
くなってしまうのを防ぐため、後回しにされた置換回数
をカウントして、一定回数以上は後回しにしないように
する。また、マルチ副入出力要求の優先処理を防止する
ために、置換後の実行終了時間が最小の実行終了時間よ
り小さくなるものは置換しない。
【0028】図14から図18は、スケジュールプログ
ラム14による処理のフローチャートである。図14
は、ホスト計算機1から新規の入出力要求40が到着し
た時に行う置換スケジューリング処理70のフローチャ
ートである。図15は、入出力要求40がマルチ副入出
力要求50に展開された場合に行うマルチ用置換処理8
0のフローチャートである。図16は、入出力要求40
がシングル副入出力要求50に展開された場合に行うシ
ングル用置換処理90のフローチャートである。図17
は、副入出力要求50の開始時に行う開始時刻設定処理
100のフローチャートである。図18は、並列ディス
ク装置4毎の実際の入出力が終了した時に行う予測処理
時間補正処理110のフローチャートである。
【0029】以下、図14〜図18のフローチャート
を、図19〜図30の具体例を用いて説明する。図30
は、ホスト計算機1からの入出力要求1501〜150
8の列を示す。各入出力要求は、10ms間隔で到着す
るものとする。図19〜図29は、図30の入出力要求
1501〜1508の処理過程における副入出力要求の
待ち行列である。
【0030】図14の処理71では、ホスト計算機1か
ら並列ディスク制御装置2に入出力要求1501が到着
すると、ボリューム変換テーブル30を使って論理ボリ
ューム番号(1)から対応する並列ディスク装置4
(1,1)を求める。並列ディスク装置4(1,1)を制
御するのはサブコントローラ3(1)だけであるから、
シングル副入出力要求に展開する。このとき、入出力要
求1501で指定された転送開始番地,データ転送長,
コマンドを副入出力要求1401に複写する。そして、
図19に示すように、副入出力要求1401を、サブコ
ントローラ3(1)の待ち行列60に登録する。なお、
シングル副入出力要求1401の左上段は予測処理時間
のエントリ55であり、左中段は開始時刻のエントリ5
8であり、左下段は最大マークのエントリ57であり、
右上段は実行終了時間のエントリ56であり、右中段は
置換回数のエントリ59であり、右下段は最小マークの
エントリ57である。
【0031】図14の処理72では、副入出力要求14
01のデータ転送量から予測処理時間を概算して、エン
トリ55に記録する。シーク,回転待ち等の時間を考慮
して、50ms/Mbyteで処理を行うとすると、予測処
理時間は80ms(=1.6Mbyte×50ms/Mbyt
e)である。
【0032】図14の処理73では、待ち行列の先頭の
副入出力要求が実行を開始してからの経過時間を求め
る。副入出力要求1401の実行はまだ開始されていな
いから、経過時間は<0>である。
【0033】図14の処理74では、経過時間を使って
補正しながら待ち行列の先頭の待ち行列から当該待ち行
列までの予測処理時間を積算し、実行終了時間を求め
て、エントリ56に記録する。経過時間は<0>であ
り,副入出力要求1401の予測処理時間は80msで
あるから、実行終了時間は<80>になる。また、最大
マーク/最小マークのエントリ57と、置換回数のエン
トリ59を<0>にする。
【0034】図14の処理75では、マルチ副入出力要
求かシングル副入出力要求かを判定し、マルチ副入出力
要求なら処理76に進み、シングル副入出力要求なら処
理77に進む。副入出力要求1401はシングル副入出
力要求なので、処理77に進む。図14の処理77で
は、図16のシングル用置換処理90を行う。
【0035】図16の処理91では、新たな副入出力要
求1401を置換対象副入出力要求とする。図16の処
理92では、待ち行列内の置換対象副入出力要求の前に
他の副入出力要求があり且つそれがマルチ副入出力要求
であって最大の実行終了時間を持たないものか調べる。
そうであれば処理94に進み、そうでなければ処理93
に進んでシングル用置換処理90を終了する。副入出力
要求1401の前に他の副入出力要求がないので、処理
93に進んでシングル用置換処理90を終了する。
【0036】置換処理が終わると、サブコントローラ3
(1)を使って副入出力要求1401の処理を開始す
る。このとき、図17の開始時刻設定処理100を行
う。すなわち、図19に示すように、システム時計16
の現時刻1000msを副入出力要求1401のエント
リ58に設定する。
【0037】以上と同様にして、ホスト計算機1から入
出力要求1502が到着すると、図20のように、副入
出力要求1402が登録される。また、ホスト計算機1
から入出力要求1503が到着すると、図21のよう
に、副入出力要求1403が登録される。また、ホスト
計算機1から入出力要求1504が到着すると、図22
のように、副入出力要求1404が登録される。
【0038】ホスト計算機1から入出力要求1505が
到着すると、図14の処理71,72により、図23に
示すように、副入出力要求1405を登録し、予測処理
時間を記録する。次に、図14の処理73で、同一待ち
行列内の先頭の副入出力要求1402の経過時間30m
s(=システム時計1040ms−開始時刻1010m
s)を求める。図14の処理74では、図24に示すよ
うに、前記経過時間30msを使って、副入出力要求1
402中の予測処理時間と実行終了時間を50ms(=
80ms−30ms)に補正する。また、開始時刻もシ
ステム時計16の現時刻(=1040ms)に改める。
さらに、副入出力要求1402の予測処理時間50ms
と副入出力要求1405の予測処理時間60msとを積
算して、副入出力要求1405の実行終了時間110m
s(=50ms+60ms)を求めて、エントリ56に
記録する。また、副入出力要求1405の最大マーク/
最小マークのエントリ57と置換回数のエントリ59を
<0>にする。
【0039】図14の処理75では、副入出力要求14
05がシングル副入出力要求なので、処理77に進む。
図14の処理77では、図16のシングル用置換処理9
0を行うが、副入出力要求1405の前はシングル副入
出力要求1402なので置換を行わない。また、副入出
力要求1405の前の副入出力要求1402の処理を終
了していないので、図17の開始時刻設定もなされな
い。
【0040】ホスト計算機1から入出力要求1506が
到着すると、図14の処理71では、ボリューム変換テ
ーブル30を使って論理ボリューム番号(7)から対応
する並列ディスク装置4(3,1),4(3,2),4
(3,3),4(3,4)を求め、図25に示すように、入
出力要求1506を4つの副入出力要求1406〜14
09に展開し、サブコントローラ3(1)〜3(4)の
各待ち行列60〜63に登録する。副入出力要求140
6〜1409はマルチ副入出力要求であるから、双方向
ポインタで結合する(図中では破線で双方向の結合を表
わしている)。図4で説明したデータ分配方法でデータ
分配を行うと、データ転送長が2.4Mbyteであること
から並列ディスク装置4(3,1),4(3,2),4
(3,3),4(3,4)の4つに平等に0.6Mbyteのデ
ータ転送量となる。これにより、転送開始番地/データ
長をエントリ53に登録する。
【0041】図14の処理72では、データ転送量0.
6Mbyteから予測処理時間30ms(=0.6Mbyte×
50ms/Mbyte)を算出し、各副入出力要求1406
〜1409のエントリ55に記録する。
【0042】図14の処理73では、各待ち行列60〜
63内の先頭の副入出力要求1401〜1404の経過
時間(=システム時計1050ms−各開始時刻)を求
める。
【0043】図14の処理74では、各待ち行列60〜
63に前から登録していた副入出力要求の予測処理時間
と実行終了時間とを経過時間によって補正する。また、
各待ち行列60〜63の先頭の副入出力要求1401〜
1404の開始時刻にシステム時計16の現時刻を設定
する。さらに、新規に登録した副入出力要求1406〜
1409の実行終了時間を計算してエントリ56に記録
する。また、副入出力要求1406〜1409の最大マ
ーク/最小マークのエントリ57と置換回数のエントリ
59とを<0>にする。
【0044】図14の処理75では、副入出力要求14
06〜1409がマルチ副入出力要求なので、処理76
に進む。図14の処理76では、図15のマルチ用置換
処理80を行う。図15の処理81では、副入出力要求
1406〜1409の中から最大の実行終了時間をもつ
ものを見つけて、最大マークをエントリ57に設定す
る。また、副入出力要求1406〜1409の中から最
小の実行終了時間をもつものを見つけて、最小マークを
エントリ57に設定する。副入出力要求1407の実行
終了時間130msが最大で、副入出力要求1406の
実行終了時間60が最小である。
【0045】図15の処理82では、副入出力要求14
06〜1409の中から、最小の実行終了時間を持つ副
入出力要求1406以外で、サブコントローラ3(1)
に近い副入出力要求を置換対象とする。ここでは、副入
出力要求1407が置換対象となる。
【0046】図15の処理83では、1つ前がシングル
副入出力要求で且つその置換回数がn回(例えば5回)
以下で且つまだ実行を開始していないか判定し、この条
件に該当するなら処理84に進み、該当しないなら処理
87に進む。置換対象の副入出力要求1407の前の副
入出力要求1405は該当するので、処理84に進む。
【0047】図15の処理84では、置換対象の副入出
力要求とその前の副入出力要求を置換した場合の置換対
象の副入出力要求の実行終了時間を求める。副入出力要
求1407と副入出力要求1405を置換した場合の副
入出力要求1407の実行終了時間は、70msとな
る。
【0048】図15の処理85では、処理84で求めた
実行終了時間が最小の実行終了時間より小さいか判定
し、小さいなら処理87に進み、小さくないなら処理8
6に進む。求めた実行終了時間は70msであり、最小
の実行終了時間60msより小さくないので、処理86
に進む。
【0049】図15の処理86では、図26に示すよう
に、置換対象の副入出力要求1407とその前の副入出
力要求1405を実際に置換する。また、置換されて後
になった副入出力要求1405の置換回数に<1>を加
える。また、両者の実行終了時間を新たに求めて、記録
する。さらに、新たな実行終了時間に基づいて当該マル
チ副入出力要求における最大マークと最小マークを更新
する。ここでは、最大マークを持つ副入出力要求が、副
入出力要求1407から副入出力要求1408に変わ
る。そして、前記処理83に戻る。
【0050】処理83では、置換対象の副入出力要求1
407の前の副入出力要求1402の実行が開始されて
いるので、処理87に進む。
【0051】図15の処理87では、副入出力要求14
06〜1409の中の最小の実行終了時間を持つ副入出
力要求1406以外の全ての副入出力要求を置換対象と
したか判定する。全て置換対象としたなら処理89に進
んで処理を終了し、そうでないなら処理88に進む。こ
こでは、副入出力要求1408と1409をまだ置換対
象としていないので、処理88に進む。
【0052】図15の処理88では、ポインタをたどっ
て次の副入出力要求1408を新たな置換対象とする。
そして、前記処理83に戻る。処理83では、副入出力
要求1408の前の副入出力要求1403の実行が開始
されているので、処理87に進む。処理87,88で
は、副入出力要求1409を新たな置換対象として、処
理83に戻る。処理83では、副入出力要求1409の
前の副入出力要求1404の実行が開始されているの
で、処理87に進む。処理87では、全ての副入出力要
求を置換対象としたので、処理89に進み、マルチ用置
換処理80を終了する。マルチ副入出力要求1406〜
1409の前の副入出力要求1401〜1404の処理
を終了していないので、図17の開始時刻設定はなされ
ない。
【0053】ホスト計算機1から入出力要求1507が
到着すると、図14の処理71,72で、図27に示す
ように、副入出力要求1410を、サブコントローラ3
(4)の待ち行列63に登録する。次に、図14の処理
73で、同一待ち行列内の先頭の副入出力要求1404
の経過時間10ms(=システム時計1060ms−開
始時刻1050ms)を求める。図14の処理74で
は、前記経過時間10msを使って、副入出力要求14
02中の予測処理時間と実行終了時間を50ms(=6
0ms−10ms)に補正する。また、副入出力要求1
409中の実行終了時間を80ms(=90ms−10
ms)に補正する。また、副入出力要求1402中の開
始時刻をシステム時計16の現時刻(=1060ms)
に改める。さらに、副入出力要求1404の予測処理時
間50msと副入出力要求1409の予測処理時間30
msと副入出力要求1410の予測処理時間20msと
を積算して、副入出力要求1410の実行終了時間10
0ms(=50ms+30ms+20ms)を求めて、
エントリ56に記録する。また、副入出力要求1410
の最大マーク/最小マークのエントリ57と置換回数の
エントリ59を<0>にする。
【0054】図14の処理75では、副入出力要求14
10がシングル副入出力要求なので、処理77に進む。
図14の処理77では、図16のシングル用置換処理9
0を行う。図16の処理91では、副入出力要求141
0を置換対象とする。図16の処理92では、副入出力
要求1410の前に副入出力要求1409があり、それ
が最大の実行終了時間を持つマルチ副入出力要求以外で
あるから、処理94に進む。
【0055】図16の処理94では、副入出力要求14
10と副入出力要求1409を置換した場合の副入出力
要求1409の実行終了時間100msを求める。図1
6の処理95では、処理94で求めた実行終了時間10
0msが、副入出力要求1409を含むマルチ副入出力
要求1406〜1409の中の最大の実行終了時間より
も大きいか調べる。但し、このときの最大の実行終了時
間は、経過時間による補正をした後の実行終了時間で考
える。すなわち、図27によれば、マルチ副入出力要求
1406〜1409の中の最大の実行終了時間は、副入
出力要求1408の110msであるが、これは副入出
力要求1403に設定した開始時間1050msを基準
としたものであり、実際にはシステム時計16の現時間
は1060msであって経過時間が10msなので、補
正して100ms(=110ms−10ms)で考え
る。すると、副入出力要求1408と1409の実行終
了時間は等しく、2つが最大になる。そして、大きいな
ら、処理96に進んで、シングル用置換処理90を終了
する。また、大きくないなら、処理97に進む。ここで
は、大きくない(等しい)から、処理97に進む。
【0056】図16の処理97では、図28に示すよう
に、副入出力要求1409と1410を実際に置換し、
置換後の副入出力要求1409,1410の実行終了時
間を求めて記録する。また、マルチ副入出力要求140
6〜1409の実行終了時間を比較して、最大マーク/
最小マークを更新する。そして、置換対象をそのままと
して、前記処理92に戻る。
【0057】処理92では、置換対象の副入出力要求1
410の前の副入出力要求1404がシングル副入出力
要求なので、処理93に進み、シングル用置換処理90
を終了する。
【0058】副入出力要求1410の前の副入出力要求
1404の処理を終了していないので、図17の開始時
刻設定はなされない。
【0059】ホスト計算機1から入出力要求1508が
到着すると、図14の処理71,72で、図29に示す
ように、副入出力要求1411を、サブコントローラ3
(1)の待ち行列60に登録する。次に、図14の処理
73で、同一待ち行列内の先頭の副入出力要求1401
の経過時間20ms(=システム時計1070ms−開
始時刻1050ms)を求める。図14の処理74で
は、前記経過時間20msを使って、副入出力要求14
01中の予測処理時間と実行終了時間を10ms(=3
0ms−20ms)に補正する。また、副入出力要求1
406中の実行終了時間を40ms(=60ms−20
ms)に補正する。また、副入出力要求1401中の開
始時刻をシステム時計16の現時刻(=1070ms)
に改める。さらに、副入出力要求1401の予測処理時
間10msと副入出力要求1406の予測処理時間30
msと副入出力要求1411の予測処理時間100ms
とを積算して、副入出力要求1411の実行終了時間1
40ms(=10ms+30ms+100ms)を求め
て、エントリ56に記録する。また、副入出力要求14
11の最大マーク/最小マークのエントリ57と置換回
数のエントリ59を<0>にする。
【0060】図14の処理75では、副入出力要求14
11がシングル副入出力要求なので、処理77に進む。
図14の処理77では、図16のシングル用置換処理9
0を行う。図16の処理91では、副入出力要求141
1を置換対象とする。図16の処理92では、副入出力
要求1411の前に副入出力要求1406があり、それ
が最大の実行終了時間を持つマルチ副入出力要求以外で
あるから、処理94に進む。
【0061】図16の処理94では、副入出力要求14
11と副入出力要求1406を置換した場合の副入出力
要求1406の実行終了時間140msを求める。図1
6の処理95では、処理94で求めた実行終了時間14
0msが、副入出力要求1406を含むマルチ副入出力
要求1406〜1409の中の最大の実行終了時間より
も大きいか調べる。このときの最大の実行終了時間は、
経過時間による補正をした後の実行終了時間で考えて9
0msである。従って大きいから、処理96に進んで、
シングル用置換処理90を終了する。すなわち、置換を
行わない。
【0062】副入出力要求1411の前の副入出力要求
1406の処理を終了していないので、図17の開始時
刻設定はなされない。
【0063】さて、システム時計16が1075msに
なった時に副入出力要求1401が終了したとすると、
図18の予測処理時間補正処理を行う。図18の処理1
11では、図30に示すように、終了した副入出力要求
1401を削除する。図18の処理112では、当該待
ち行列60の副入出力要求1406,1411の実行終
了時間を更新する。
【0064】待ち行列60の先頭の副入出力要求が新し
くなったので、サブコントローラ3(1)を使って当該
副入出力要求1406を開始する。このとき、図17の
開始時刻設定処理100の処理100で、システム時計
16の現時刻1075msを副入出力要求1406のエ
ントリ58に記録する。
【0065】なお、上記実施例は複数のサブコントロー
ラ3(1)〜3(4)対応の待ち行列60〜63につい
て説明したが、並列ディスク装置4(1,1)〜4
(m,n)対応の待ち行列や,ディスク装置5対応の待
ち行列を構成した場合も上記と同様に本発明を適用しう
る。
【0066】
【発明の効果】本発明の並列ディスク制御方法および並
列ディスク制御装置によれば、ホスト計算機からの単一
の入出力要求の処理が複数の並列ディスク装置等にまた
がる場合に、複数の並列ディスク装置等間での処理完了
タイミングのバラツキを小さくできるので、入出力要求
の応答性とスループットを向上させることが出来る。
【図面の簡単な説明】
【図1】本発明の並列ディスク制御装置を含む計算機シ
ステムの構成図である。
【図2】論理ボリュームの構成図である。
【図3】ボリューム変換テーブルの構成図である。
【図4】並列ディスク装置へのデータの分配方法の例示
図である。
【図5】ホスト計算機からの入出力要求の形式図であ
る。
【図6】副入出力要求の形式図である。
【図7】副入出力要求の待ち行列の構成図である。
【図8】副入出力要求の待ち行列の例示図である。
【図9】図8の副入出力要求の待ち行列の置換後の例示
図である。
【図10】図9の副入出力要求の待ち行列に追加後の例
示図である。
【図11】図10の副入出力要求の待ち行列の置換後の
例示図である。
【図12】図11の副入出力要求の待ち行列に追加後の
例示図である。
【図13】図12の副入出力要求の待ち行列の置換後の
例示図である。
【図14】置換スケジューリング処理のフローチャート
である。
【図15】マルチ用置換処理のフローチャートである。
【図16】シングル用置換処理のフローチャートであ
る。
【図17】開始時刻設定処理のフローチャートである。
【図18】予測処理時間補正処理のフローチャートであ
る。
【図19】最初の副入出力要求の待ち行列の例示図であ
る。
【図20】図19の副入出力要求の待ち行列に追加後の
例示図である。
【図21】図20の副入出力要求の待ち行列に追加後の
例示図である。
【図22】図21の副入出力要求の待ち行列に追加後の
例示図である。
【図23】図22の副入出力要求の待ち行列に追加直後
の例示図である。
【図24】図22の副入出力要求の待ち行列に補正後の
例示図である。
【図25】図24の副入出力要求の待ち行列に追加後の
例示図である。
【図26】図25の副入出力要求の待ち行列の置換後の
例示図である。
【図27】図26の副入出力要求の待ち行列に追加後の
例示図である。
【図28】図27の副入出力要求の待ち行列の置換後の
例示図である。
【図29】図28の副入出力要求の待ち行列に追加後の
例示図である。
【図30】図29の副入出力要求の待ち行列から削除後
の例示図である。
【図31】ホスト計算機からの入出力要求列の例示図で
ある。
【符号の説明】
1 ホスト計算機 2 並列ディスク制御装置 3(1)〜3(n) サブコントローラ 4(1,1)〜4(m,n) 並列ディスク装置 5 ディスク装置 12 マイクロプロセッサ 13 入出力要求記憶バッファ 14 スケジュールプログラム 15 制御プログラム 16 システム時計 30 ボリューム変換テーブル 40 入出力要求 50 副入出力要求 70 置換スケジューリング処理 80 マルチ用置換処理 90 シングル用置換処理 100 開始時刻設定処理 110 予測処理時間補正処理

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 独立に入出力処理を行い得る複数のディ
    スク装置の1個以上と対応する論理ディスク装置へのホ
    スト計算機からの入出力要求を前記複数のディスク装置
    の1個以上への副入出力要求に展開し、各ディスク装置
    対応の待ち行列につなぎ、1個の入出力要求を2個以上
    の副入出力要求に展開し複数のディスク装置対応の待ち
    行列につないだときにそれら2個以上の副入出力要求の
    実行終了タイミングのバラツキが小さくなるように各待
    ち行列の内部で副入出力要求の順序を入れ換え、各待ち
    行列の先頭の副入出力要求から順に実行することを特徴
    とする並列ディスク制御方法。
  2. 【請求項2】 1個以上のディスク装置を各々が有し且
    つ独立に入出力処理を行い得る複数の並列ディスク装置
    の1個以上と対応する論理ディスク装置へのホスト計算
    機からの入出力要求を前記複数の並列ディスク装置の1
    個以上への副入出力要求に展開し、各並列ディスク装置
    対応の待ち行列につなぎ、1個の入出力要求を2個以上
    の副入出力要求に展開し複数の並列ディスク装置対応の
    待ち行列につないだときにそれら2個以上の副入出力要
    求の実行終了タイミングのバラツキが小さくなるように
    各待ち行列の内部で副入出力要求の順序を入れ換え、各
    待ち行列の先頭の副入出力要求から順に実行することを
    特徴とする並列ディスク制御方法。
  3. 【請求項3】 1個以上のディスク装置を各々が有し且
    つ独立に入出力処理を行い得る複数の並列ディスク装置
    の1個以上と対応する論理ディスク装置へのホスト計算
    機からの入出力要求を前記複数の並列ディスク装置の1
    個以上への副入出力要求に展開し、1個以上の並列ディ
    スク装置を各々が管理する複数のサブコントローラの各
    個対応の待ち行列につなぎ、1個の入出力要求を2個以
    上の副入出力要求に展開し複数のサブコントローラの待
    ち行列につないだときにそれら2個以上の副入出力要求
    の実行終了タイミングのバラツキが小さくなるように各
    待ち行列の内部で副入出力要求の順序を入れ換え、各待
    ち行列の先頭の副入出力要求から順に実行することを特
    徴とする並列ディスク制御方法。
  4. 【請求項4】 請求項1から請求項3のいずれかの並列
    ディスク制御方法において、1個の入出力要求を2個以
    上の副入出力要求に展開し複数の待ち行列につないだと
    きに、その待ち行列での1つ前の副入出力要求が、1個
    の入出力要求を1個の副入出力要求に展開し1個の待ち
    行列につないだものであり且つそれと前後を入れ換える
    と前記2個以上の副入出力要求のバラツキ時間が小さく
    なる場合に、前後を入れ換えることを特徴とする並列デ
    ィスク制御方法。
  5. 【請求項5】 請求項1から請求項4のいずれかの並列
    ディスク制御方法において、1個の入出力要求を1個の
    副入出力要求に展開し1個の待ち行列につないだとき
    に、その待ち行列での1つ前の副入出力要求が、1個の
    入出力要求を2個以上の副入出力要求に展開し複数の待
    ち行列につないだものの一つであり且つそれと前後を入
    れ換えても前記2個以上の副入出力要求のバラツキ時間
    が変わらない場合に、前後を入れ換えることを特徴とす
    る並列ディスク制御方法。
  6. 【請求項6】 請求項1から請求項5のいずれかの並列
    ディスク制御方法において、順を後にされた置換回数を
    カウントし、所定回数以上は入れ換えを行わないことを
    特徴とする並列ディスク制御方法。
  7. 【請求項7】 請求項1から請求項6のいずれかの並列
    ディスク制御方法において、2個以上の副入出力要求の
    バラツキ時間が小さくなるように順を前に入れ換えた副
    入出力要求の実行終了時間が前記2個以上の副入出力要
    求の内の最小の実行終了時間より小さくなる場合は、入
    れ換えを行わないことを特徴とする並列ディスク制御方
    法。
  8. 【請求項8】 独立に入出力処理を行い得る複数のディ
    スク装置の1個以上と対応する論理ディスク装置へのホ
    スト計算機からの入出力要求を前記複数のディスク装置
    の1個以上への副入出力要求に展開し各ディスク装置対
    応の待ち行列につなぐ副入出力要求展開手段と、1個の
    入出力要求を2個以上の副入出力要求に展開し複数のデ
    ィスク装置対応の待ち行列につないだときにそれら2個
    以上の副入出力要求の処理終了タイミングのバラツキが
    小さくなるように各待ち行列の内部で副入出力要求の順
    序を入れ換える副入出力要求置換手段とを有することを
    特徴とする並列ディスク制御装置。
  9. 【請求項9】 1個以上のディスク装置を各々が有し且
    つ独立に入出力処理を行い得る複数の並列ディスク装置
    の1個以上と対応する論理ディスク装置へのホスト計算
    機からの入出力要求を前記複数の並列ディスク装置の1
    個以上への副入出力要求に展開し各並列ディスク装置対
    応の待ち行列につなぐ副入出力要求展開手段と、1個の
    入出力要求を2個以上の副入出力要求に展開し複数の並
    列ディスク装置対応の待ち行列につないだときにそれら
    2個以上の副入出力要求の処理終了タイミングのバラツ
    キが小さくなるように各待ち行列の内部で副入出力要求
    の順序を入れ換える副入出力要求置換手段とを有するこ
    とを特徴とする並列ディスク制御装置。
  10. 【請求項10】 1個以上のディスク装置を各々が有し
    且つ独立に入出力処理を行い得る複数の並列ディスク装
    置の1個以上と対応する論理ディスク装置へのホスト計
    算機からの入出力要求を前記複数の並列ディスク装置の
    1個以上への副入出力要求に展開し1個以上の並列ディ
    スク装置を各々が管理する複数のサブコントローラの各
    個対応の待ち行列につなぐ副入出力要求展開手段と、1
    個の入出力要求を2個以上の副入出力要求に展開し複数
    のサブコントローラの待ち行列につないだときにそれら
    2個以上の副入出力要求の処理終了タイミングのバラツ
    キが小さくなるように各待ち行列の内部で副入出力要求
    の順序を入れ換える副入出力要求置換手段とを有するこ
    とを特徴とする並列ディスク制御装置。
JP3263826A 1991-10-11 1991-10-11 並列デイスク制御方法および並列デイスク制御装置 Pending JPH05108274A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3263826A JPH05108274A (ja) 1991-10-11 1991-10-11 並列デイスク制御方法および並列デイスク制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3263826A JPH05108274A (ja) 1991-10-11 1991-10-11 並列デイスク制御方法および並列デイスク制御装置

Publications (1)

Publication Number Publication Date
JPH05108274A true JPH05108274A (ja) 1993-04-30

Family

ID=17394766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3263826A Pending JPH05108274A (ja) 1991-10-11 1991-10-11 並列デイスク制御方法および並列デイスク制御装置

Country Status (1)

Country Link
JP (1) JPH05108274A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991098A (ja) * 1995-09-27 1997-04-04 Nec Software Ltd デバイスドライバアクセス方式
JPH11232058A (ja) * 1998-02-09 1999-08-27 Fuji Xerox Co Ltd 機器情報管理装置
US6799245B1 (en) 1996-11-01 2004-09-28 Fujitsu Limited Raid apparatus storing a plurality of some logical volumes on different disk units
JP2009009572A (ja) * 2007-06-26 2009-01-15 Seagate Technology Llc ホスト適応シーク技術環境
JP2009015844A (ja) * 2007-06-29 2009-01-22 Seagate Technology Llc 要求優先順位シーク・マネージャ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991098A (ja) * 1995-09-27 1997-04-04 Nec Software Ltd デバイスドライバアクセス方式
US6799245B1 (en) 1996-11-01 2004-09-28 Fujitsu Limited Raid apparatus storing a plurality of some logical volumes on different disk units
JPH11232058A (ja) * 1998-02-09 1999-08-27 Fuji Xerox Co Ltd 機器情報管理装置
JP2009009572A (ja) * 2007-06-26 2009-01-15 Seagate Technology Llc ホスト適応シーク技術環境
JP2009015844A (ja) * 2007-06-29 2009-01-22 Seagate Technology Llc 要求優先順位シーク・マネージャ

Similar Documents

Publication Publication Date Title
US6230239B1 (en) Method of data migration
US7167959B2 (en) Reordering hardware for mass storage command queue
JP5029513B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US6260109B1 (en) Method and apparatus for providing logical devices spanning several physical volumes
JP3382176B2 (ja) 要求処理方法および要求処理装置
JP3440219B2 (ja) 入出力装置及びディスク・タイムシェアリング方法
JPH0713905A (ja) 記憶装置システム及びその制御方法
JP2003131908A (ja) 記憶制御装置
JP4305378B2 (ja) データ処理システム、アクセス制御方法、その装置およびそのプログラム
US9465745B2 (en) Managing access commands by multiple level caching
US6567886B1 (en) Disk drive apparatus and control method thereof
US5678062A (en) Input/output control method and data processor
JPH05108274A (ja) 並列デイスク制御方法および並列デイスク制御装置
JP2007501473A (ja) メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
EP0266586A2 (en) Decreasing response time to I/O request by duplicating data
JPH07239756A (ja) 入出力スケジューリング方法及び入出力スケジューリングシステム
US5923891A (en) System for minimizing disk access using the computer maximum seek time between two furthest apart addresses to control the wait period of the processing element
JP3189874B2 (ja) I/oリクエスト発行スケジュール装置
JP2770794B2 (ja) ディスク書込み保証方法
JP3252517B2 (ja) 入出力制御方法および入出力制御システム
JP2553756B2 (ja) 情報処理装置
JP4024502B2 (ja) 情報処理装置の制御方法
JPH11259363A (ja) 記憶制御装置
JPH10320253A (ja) バックアップシステムおよび記録媒体