JP2000195147A - ディスク制御装置 - Google Patents

ディスク制御装置

Info

Publication number
JP2000195147A
JP2000195147A JP10120279A JP12027998A JP2000195147A JP 2000195147 A JP2000195147 A JP 2000195147A JP 10120279 A JP10120279 A JP 10120279A JP 12027998 A JP12027998 A JP 12027998A JP 2000195147 A JP2000195147 A JP 2000195147A
Authority
JP
Japan
Prior art keywords
access
cylinder
seek
input
access mode
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
JP10120279A
Other languages
English (en)
Inventor
Minoru Tateno
稔 舘野
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10120279A priority Critical patent/JP2000195147A/ja
Publication of JP2000195147A publication Critical patent/JP2000195147A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

(57)【要約】 【課題】 複数のホストコンピュータから共用されるデ
ィスク記憶装置のディスク制御装置において、次の入出
力命令を予測し、予めシーク動作を行わせることによ
り、アクセス性能を向上させる。 【解決手段】 複数のホストコンピュータから共用され
るディスク記憶装置のディスク制御装置において、入出
力命令が発行されると、アクセス形態がアクセス形態履
歴格納テーブルに格納される(ステップS4−2)。入
出力命令が実行された後、アクセス形態検知手段がアク
セス形態を検知し、入出力命令がシーケンシャルアクセ
スであるか否か等の検査が行われる(ステップS4−
5)。次に、独自シーク発行可否判断手段がアクセス形
態履歴格納テーブルに格納されているアクセスの履歴に
基づき次の入出力命令の予測を行う。そして、予測した
入出力命令がアクセスするシリンダに近付くようにヘッ
ドを移動させるべく、独自シークを発行させる(ステッ
プS4−8)。これによって、入出力命令に対するレス
ポンスの改善を図ることができ、アクセス性能の向上し
たディスク記憶装置が実現できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスク制御装置
に関する。特に、複数のホストコンピュータからアクセ
スされるディスクドライブを制御するディスク制御装置
に関する。
【0002】
【従来の技術】大量のディジタルデータを格納する記憶
装置としてディスク記憶装置は幅広く利用されている。
このディスク記憶装置の記憶媒体として用いられている
ディスクドライブの模式図が図13に示されている。こ
の図に示されているようにディスクドライブは、複数の
ディスクがスピンドルを中心として同軸に所定の隙間を
あけてそのスピンドルに取り付けられている。そして、
データの読み書きを行うヘッドがその隙間に対して挿入
されることになる。このヘッドは、アクチュエータによ
って駆動され、各ディスク上の円周部分(外周)から内
周までの所定の位置に移動することができる。
【0003】1枚のディスク上には複数のトラックが設
けられている。そして、複数のディスクの同じ位置にあ
るトラック群は、一つのグループ化が行われており、そ
のグループをシリンダと呼ぶ。
【0004】図19には、シリンダとトラックの関係を
表す説明図が示されている。この図に示されているよう
に、ディスクは、例えば7枚スピンドルに重ねられてお
り、その表面と裏面の磁気面、すなわち14面に対して
ヘッドがそれぞれ1個ずつ、すなわち14個のヘッドが
備えられている。そして、1枚目のディスクの表面の最
外周のトラックをトラック0と呼び、裏面のトラックを
トラック1と呼ぶ。同様にして、2枚目のディスクの表
面の最外周のトラックをトラック3と呼び、裏面のトラ
ックをトラック4と呼ぶ。その結果、図19に示されて
いるように7枚目のディスクの裏面のトラックはトラッ
ク14になる。このトラック0からトラック14、すな
わち最外周にあるトラックをシリンダ0と呼ぶ。
【0005】そして、最外周から1トラック内側に位置
するトラックの集合を同様にシリンダ1と呼ぶ。同様に
してトラックの位置が内側になるにつれてシリンダ2、
シリンダ3と呼び、最内周に位置するトラック(14
個)をシリンダM(Mはディスク上のトラックの数であ
り、正の整数である。)と呼ぶ。このような関係が図2
0の説明図に示されている。
【0006】また、図21には、このトラックとトラッ
ク上に記録されるレコードとの関係を表す説明図が示さ
れている。各トラックはそのトラック上の位置を表すた
めのインデックスが記録されており、このインデックス
の間にレコード1からレコードN(Nは正の整数)まで
が記録されることになる。
【0007】さて、近年、複数のホストコンピュータか
らディスク記憶装置を共用するような構成が広く利用さ
れている。このように、1台のディスク記憶装置がホス
トコンピュータであるホストA2と、ホストコンピュー
タであるホストB3とによって共用されている場合の構
成ブロック図が図22に示されている。この図に示され
ているようにディスク記憶装置は、ディスク制御装置1
と、ディスクドライブ8とから構成されている。そし
て、ホストA2とホストB3とはディスク制御装置1に
接続されている。
【0008】ディスク制御装置1は、CPU切換スイッ
チ4はホストA2と、ホストB3とを切り換えて接続す
るためのダイナミックスイッチであり、例えばホストA
2から入出力命令がきた場合には、ホストA2との接続
を確立し、その処理が終わるまでホストB3の接続は切
り離される。ここで、切り離されるとは、物理的に切り
離すのではなく、単にホストB3からの入出力命令を受
け付けなくなることをいう。または、切り離されると
は、ビジー信号をホストB3に対して出力し、受け付け
ないことをホストB3に対して伝えることをいう。
【0009】CPU切換スイッチ4にはデータバッファ
5が接続されており、このデータバッファ5は読み込み
のデータ、書き込みのデータを一旦蓄える働きをする。
ディスクドライブI/F6は、ディスクドライブ8に対
して具体的な制御を行うインターフェイスであり、デー
タバッファ5に書かれているデータをディスクドライブ
8に書き込んだり、又はディスクドライブ8から読み出
したデータをデータバッファ5に格納する等の動作を行
う。
【0010】また、ディスク制御装置1にはマイクロプ
ロセッサ7が備えられている。このマイクロプロセッサ
7は、CPU切換スイッチ4や、データバッファ5や、
ディスクドライブI/F6等の動作の制御を行う。
【0011】
【発明が解決しようとする課題】さて、図22に示され
ているような2つのホストコンピュータからディスク記
憶装置が共用されている場合には、ホストA2やホスト
B3からのアクセスが位置的に近いシリンダに対して集
中的にアクセスが行われれば、ヘッドのシーク時間が短
くなるため、効率的なデータの書き込み/読みだしがで
きる。しかし、アクセスするシリンダの位置によっては
データの読み書きが極めて遅くなってしまう場合も想定
される。
【0012】このように、データの書き込み/読みだし
が遅くなってしまう場合の動作の説明図が図23に示さ
れている。この図には、ヘッドの動きを著すタイムチャ
ートが示されており、このタイムチャートは横軸に時間
をとり縦軸にアクセスの対象となるシリンダをとったも
のである。この図に示されているように、まずホストA
2はシリンダCYL1からCYL2の間にあるファイル
に対してアクセスを行い、ホストB3は、CYL3から
CYL4の間のファイルに対してアクセスをするものと
する。すると、ホストA2からのアクセスがシーケンシ
ャルアクセスであっても、ホストA2の入出力命令の間
にホストB3から出力される入出力命令が入ることによ
り、ディスクドライブのヘッドは、CYL1〜CYL2
の領域と、CYL3〜CYL4との間を往復運動するこ
とになる。この往復動作のシークが図23においてSE
EK2、SEEK3、SEEK4・・・等で表されてい
る。
【0013】このように、ホストA2やホストB3から
のアクセスが連続するシリンダに対するアクセス、すな
わちシーケンシャルアクセスであっても、そのタイミン
グによってはヘッドの移動量が大きくなってしまい、シ
ーク時間が極めて大となってしまう。その結果、システ
ム全体として、入出力命令の処理に要する時間が長くな
ってしまうといった問題がある。
【0014】本発明は、係る課題に鑑みなされたもので
あり、複数のホストコンピュータから共用されるディス
ク記憶装置において、ディスクドライブに対して独自シ
ークを適宜行わせることにより、効率的なアクセスを行
うことができるようにしたディスク制御装置を提供する
ことである。
【0015】
【課題を解決するための手段】本発明は、複数のホスト
コンピュータ群によって共用されているディスク記憶装
置のディスク制御装置において、前記ホストコンピュー
タ群が発行する入出力命令の履歴を格納するアクセス形
態履歴格納テーブルと、前記ディスク記憶装置上におい
てオープンされているファイルのトラックアドレスを格
納するオープンファイルトラックアドレス格納テーブル
と、前記ホストコンピュータ群が発行する入出力命令を
観察し、前記入出力命令が前記ディスク記憶装置をアク
セスする形態を検知し、前記入出力命令の前記アクセス
形態と、前記入出力命令のアクセスするシリンダと、前
記入出力命令の受付時刻と、を前記アクセス形態履歴格
納テーブルに格納するアクセス形態検知手段と、前記ア
クセス形態履歴格納テーブルに格納されている、前記ア
クセス形態の履歴に基づき、次に前記ホストコンピュー
タから発行されるであろう次の入出力命令を予測し、前
記次の入出力命令で指定されると予測されるシリンダに
前記ディスク記憶装置のヘッドが近づく方向に、前記ヘ
ッドを移動させる独自シークを行う独自シーク発行可否
判断手段と、を含むことを特徴とするものである。
【0016】本発明は、前記アクセス形態検知手段は、
ヘッドスイッチ回数が所定回数以上である場合には、ア
クセス形態としてシーケンシャルアクセスを前記アクセ
ス形態履歴格納テーブルに格納することを特徴とするも
のである。
【0017】本発明は、前記アクセス形態検知手段は、
ヘッドスイッチ回数が所定回数未満である場合には、ア
クセス形態として定点アクセスを前記アクセス形態履歴
格納テーブルに格納することを特徴とするものである。
【0018】本発明は、前記独自シーク発行可否判断手
段は、前記アクセス形態履歴格納テーブルに格納されて
いる前記アクセス形態がシーケンシャルアクセスである
場合には、最後に発行された入出力命令のアクセスした
シリンダを、独自シーク動作の目標シリンダとすること
を特徴とする請求項1、2、3のいずれかに記載のディ
スク制御装置。
【0019】本発明は、前記独自シーク発行可否判断手
段は、前記アクセス形態履歴格納テーブルに格納されて
いる前記アクセス形態が定点アクセスであり、かつ、最
後の入出力命令のアクセスするシリンダと最後の入出力
命令の1回前の入出力命令のアクセスするシリンダとが
同一でない場合には、前記アクセス形態履歴格納テーブ
ルに格納されている過去の入出力命令の履歴を参照し、
最もアクセスの多いシリンダを、独自シーク動作の目標
シリンダとすることを特徴とするものである。
【0020】本発明は、前記独自シーク発行可否判断手
段は、前記アクセス形態履歴格納テーブルに格納されて
いる前記アクセス形態が定点アクセスであり、かつ、最
後の入出力命令のアクセスするシリンダと最後の入出力
命令の1回前の入出力命令のアクセスするシリンダとが
同一である場合には、最後に発行された入出力命令のア
クセスしたシリンダを、独自シーク動作の目標シリンダ
とすることを特徴とするものである。
【0021】本発明は、前記独自シーク発行可否判断手
段は、ヘッドの現在位置から、前記目標シリンダへシー
クするのに必要な時間TSeekと、現在時刻TPREから次
に入出力命令が発行されると予測される時刻までの時間
Δtと、を比較し、前記Δtが前記TSeekより大きい場
合には前記目標シリンダを到達先とする前記独自シーク
動作を行うことを特徴とするものである。
【0022】本発明は、前記独自シーク発行可否判断手
段は、ヘッドの現在位置から、前記目標シリンダへシー
クするのに必要な時間TSeekと、現在時刻TPREから次
に入出力命令が発行されると予測される時刻までの時間
Δtと、を比較し、前記Δtが前記TSeekより大きくな
い場合には、前記Δtの時間で移動可能なシリンダの中
で、前記目標シリンダに最も近いシリンダを到達先とす
る前記独自シーク動作を行うことを特徴とするものであ
る。
【0023】本発明は、前記独自シーク発行可否判断手
段は、ディスク記憶装置に対するアクセスが開始されて
から所定期間経過後に、前記独自シーク動作を開始する
ことを特徴とするものである。
【0024】
【発明の実施の形態】以下、本発明の好ましい実施の形
態について図面に基づいて説明する。
【0025】実施の形態1.図1には、本発明の好まし
い実施の形態であるディスク制御装置1の構成ブロック
図が示されている。この図においては、ディスク制御装
置1がディスクドライブ8とともにディスク記憶装置を
構成し、且つこのディスク制御装置1に対して2台のホ
ストコンピュータ、すなわちホストA2とホストB3と
が接続されている様子が示されている。
【0026】この図に示されているように、ディスク制
御装置1は、従来と同様にCPU切換スイッチ4と、デ
ータバッファ5と、ディスクドライブI/F6とを備え
ている。そして、従来と同様にホストA2とホストB3
とはCPU切換スイッチ4に接続されている。また、デ
ィスクドライブ8自体は、ディスクドライブI/F6に
接続されている。これらの構成、CPU切換スイッチ
4、データバッファ5、ディスクドライブI/F6は従
来のディスク制御装置における構成と同様である。
【0027】また、これらの構成は従来と同様にマイク
ロプロセッサ7によって制御されている。
【0028】本実施の形態において特徴的なことは、こ
のマイクロプロセッサ7の下に、アクセス形態検知手段
9とアクセス形態履歴格納テーブル10とオープンファ
イルトラックアドレス格納テーブル11と、独自シーク
発行可否判断手段12とが接続されていることである。
【0029】なお、実際には、アクセス形態検知手段9
や独自シーク発行可否判断手段12は、マイクロプロセ
ッサ7により実行されるソフトウェアがメモリに格納さ
れていることにより実現されている。また、アクセス形
態履歴格納テーブル10や、オープンファイルトラック
アドレス格納テーブル11は、マイクロプロセッサ7か
らアクセスできるメモリ中に構成されている記憶テーブ
ルである。
【0030】図2には、ホストA2やホストB3におい
て実行されるアプリケーションソフトウェアの動作例を
表すフローチャートが示されている。
【0031】まず、ステップS2−1においては、アプ
リケーションソフトウェアにおいて使用するファイルの
オープンが行われる。
【0032】次に、ステップS2−2においてはこのホ
ストA2又はホストB3からファイルオープン指示コマ
ンドが発行される。このファイルオープン指示コマンド
は、いわゆる入出力命令の一種であり、ディスク記憶装
置に対してこれからファイルの使用を行うという宣言が
行われるのである。
【0033】ステップS2−3においては、シーケンシ
ャルアクセス指示コマンドが発行される。このシーケン
シャルアクセス指示コマンドは、ホストA2などのホス
トコンピュータからディスク記憶装置に対して出力され
るものである。このシーケンシャルアクセスが指示され
ることにより、ディスク記憶装置は、これからシーケン
シャルアクセスが行われることを予め知ることができる
のである。このシーケンシャルアクセス指示コマンドに
よる具体的な動作については後に詳述する。
【0034】ステップS2−4においては、オープンさ
れたファイルに対し、所望のファイル処理が実行され
る。このファイルの処理においては、アプリケーション
ソフトウェアによりその内容は異なるが、データの読み
だしやデータの書き込みなどが行われる。
【0035】ステップS2−5においては、ファイルク
ローズ指示コマンドが発行される。このコマンドは、入
出力命令の一種であり、そのファイルの使用が終了した
ことを意味する。
【0036】ステップS2−6においては、実際にファ
イルのにクローズが行われ、そのファイルは他のアプリ
ケーションソフトウェアで使用することができるように
なる。
【0037】図3には、ファイルのオープンとクローズ
の概念を説明する説明図が示されている。この図は、横
軸に時間をとり、縦軸にアクセスの対象となるシリンダ
をとったタイムチャートである。この図に示されている
ように、例えば時刻t1においてはファイルAのオープ
ンが行われる。このファイルAは、シリンダのCYL5
〜CYL6の間に格納されているファイルである。この
時刻t1におけるファイルAのオープンに対応して、時
刻t4においてはファイルAのクローズが行われてい
る。
【0038】ファイルAがオープンされている間の時刻
t2においてはファイルBのオープンが行われている。
また、同様にファイルAのオープンがされている間の時
刻t3においてはファイルCのオープンが行われてい
る。
【0039】ファイルBは図3に示されているように、
CYL7〜CYL8の間のシリンダに格納されているフ
ァイルであり、ファイルCはCYL9〜CYL10の間
に格納されているファイルである。従って、時刻t3か
ら時刻t4の間においてはファイルAとファイルBとフ
ァイルCの3個のファイルがオープンされている。時刻
t4を経過すると、ファイルAはクローズされているた
めオープンされているファイルはファイルBとファイル
Cの2個になる。
【0040】時刻t5においては、ファイルBとCが既
にオープンされているが、これに加えて新たにファイル
Dがオープンされる。このファイルDはシリンダのCY
L11〜CYL12の間のシリンダに格納されているフ
ァイルである。従って、時刻t5を経過した後は、ファ
イルB、Cに加えてファイルDの合計3個のファイルが
オープンされていることになる。
【0041】時刻t6においてファイルDのクローズが
行われる。この結果、時刻t6が経過した後はファイル
BとCのみがオープンされていることになる。
【0042】時刻t7においては、ファイルCのクロー
ズが行われる。この結果、時刻t7が経過した後はファ
イルBのみがオープンされていることになる。
【0043】最後に、時刻t8においては、ファイルB
がクローズされ、オープンされているファイルは0個と
なる。
【0044】図4には、本実施の形態に係るディスク制
御装置1における入出力命令処理の動作を表すフローチ
ャートが示されている。
【0045】このフローチャートにおいて、まずステッ
プS4−1においてはマイクロプロセッサ8がCPU切
換スイッチ4の監視を行うことによって、I/O要求が
出されているか否かの検査を行う。この検査の結果、I
/O要求がいずれのホストコンピュータ(ホストA2又
はホストB3)からも出されていない場合には、再びこ
のステップS4−1における検査が繰り返し実行され
る。
【0046】上記ステップS4−1において、I/O要
求が出されていると判断された場合には、ステップS4
−2に処理が移行し、現在のリアルタイムクロックの
値、すなわち現在時刻と、上記I/O要求を出力したホ
ストコンピュータの名称と、をアクセス形態履歴格納テ
ーブル10に格納する。アクセス形態履歴格納テーブル
10の具体的な内容については後に詳述する。
【0047】次に、ステップS4−3においてはコマン
ドのデコードと、そのコマンドの実行が行われる。この
コマンドデコードとその実行については更に後に詳述す
る。
【0048】ステップS4−4においては、ラストコマ
ンドであるか否かが検査される。これは、ディスク記憶
装置に対するコマンドは、いわゆるコマンドチェーンに
よって複数のコマンドが引き続き出される場合があるか
らである。そのため、一連のコマンドの最終のコマンド
であるか否かがこのステップS4−4において検査され
るのである。そして、ラストコマンドではない場合には
再び上記ステップS4−3に処理が移行し、コマンドの
デコードとコマンドの実行が行われるのである。一方、
ステップS4−4においてラストコマンドであると判断
された場合には、ステップS4−5においてアクセス形
態検知手段9の処理が実行される。このアクセス形態検
知手段9の具体的な処理動作については、後にフローチ
ャートで説明する。
【0049】次に、ステップS4−6においては、独自
シーク発行可否判断手段12の処理が行われる。この処
理についても、後に別のフローチャートでその動作を詳
細に説明する。
【0050】次に、ステップS4−7においてはこの独
自シーク発行可否判断手段12によって独自シークが発
行されるか否かが検査される。独自シークが発行される
場合には、ステップS4−8に処理が移行し独自シーク
の発行が行われる。独自シークを発行しない場合には、
ステップS4−7から上のステップS4−1に処理が移
行し、再びI/O要求の有無の検査が行われる。
【0051】次に、この図4におけるステップS4−3
のコマンドデコードとコマンドの実行についてフローチ
ャートに基づき詳細に説明する。
【0052】図5には、コマンドデコードの操作を表す
フローチャートが示されている。このコマンドデコード
は、マイクロプロセッサ7がコマンドのデコードを行
う。図5に示されているように、このコマンドデコード
によってファイルオープンコマンド(ステップS5−
1)、ファイルクローズコマンド(ステップS5−
2)、シーケンシャルアクセス指示コマンド(ステップ
S5−3)、シークコマンド(ステップS5−4)、リ
ードコマンド(ステップS5−5)、ライトコマンド
(ステップS5−6)、の6種類のコマンドにデコード
する例が示されている。ここに示されているコマンド
は、主要な入出力命令のコマンドについて示したが、そ
の他の種々のコマンドを処理するように構成することも
好ましい。
【0053】それぞれのコマンドをデコードした後に、
各コマンドの内容の処理が実行される。以下、フローチ
ャートに基づき、各コマンドの動作について詳細に説明
する。
【0054】図6には、ファイルオープンコマンドと、
ファイルクローズコマンドの動作を表すフローチャート
が示されている。
【0055】ステップS6−1は、ファイルオープンコ
マンドの動作である。ここに示されているように、まず
オープンの対象となる新たなファイル番号を登録する。
この登録は、オープンファイルトラックアドレス格納テ
ーブル11に格納される。更に、ホストコンピュータか
ら受け取ったこのファイルが利用するシリンダ、ヘッド
をオープンファイルトラックアドレス格納テーブル11
に更に格納する。これによって、ファイルのオープンが
完了する。
【0056】ステップS6−2には、ファイルクローズ
コマンドの動作が示されている。ここに示されているよ
うに、ホストコンピュータから受け取ったシリンダ、ヘ
ッドアドレスと、オープンファイルトラックアドレス格
納テーブルのシリンダ、ヘッドの値の比較が行われる。
この比較の結果、一致している領域の削除が行われる。
これによってファイルクローズの動作が完了する。
【0057】なお、このステップS6−2においてはア
クセス形態履歴テーブル10に格納されているアクセス
形態の履歴の削除は特に行われない。後に説明するよう
に、アクセス形態履歴テーブル10は基本的にはFIF
Oで構成されており、ディスク記憶装置に対するアクセ
スが実行され、FIFOであるアクセス形態履歴テーブ
ル10の内容がいっぱいになった場合に、古いアクセス
情報から順番に消されて行くのである。従って、単にフ
ァイルがクローズされたからといって、アクセス形態履
歴テーブル10の中から情報が削除されることはない。
【0058】このように、アクセス形態履歴テーブル1
0自体は、アクセスに伴う、入出力命令の履歴をそのテ
ーブルの容量が許す限り保存しておき、一方オープンフ
ァイルトラックアドレス格納テーブル11には、現在オ
ープンしているファイルについての情報のみが格納され
ているのである。
【0059】図7には、シーケンシャルアクセス指示コ
マンドとシークコマンドの動作を表すフローチャートが
示されている。
【0060】ステップS7−1には、シーケンシャルア
クセス指示コマンドによるコマンド実行動作が示されて
おり、アクセス形態履歴格納テーブル10のアクセス形
態エリアのシーケンシャルフラグがセットされる。この
フラグをセットすることにより、シーケンシャルアクセ
スを行うことが明示的に履歴としてアクセス形態履歴格
納テーブル10の中に残ることになる。
【0061】ステップS7−2においては、シークコマ
ンドのコマンド実行動作が行われる。ここに示されてい
るように、ホストコンピュータから受け取ったシリンダ
やヘッドアドレスを、アクセス形態履歴テーブル10の
中のアクセス開始シリンダ、アクセス開始ヘッド、及
び、アクセス終了シリンダ、アクセス終了ヘッドにそれ
ぞれ格納する。そして、実際にディスクドライブ8に対
してシーク動作を指示することによってシーク動作が行
われる。その結果、ヘッドの位置が変更される。このよ
うな、ヘッドの位置変更の情報がアクセス形態履歴テー
ブルに反映されるのである。
【0062】図8には、リードコマンドと、ライトコマ
ンドの動作を表すフローチャートが示されている。
【0063】まず、ステップS8−1においては、リー
ドコマンドの処理が開始される。このリードコマンドに
おいては、ディスクドライブ8からデータを読み取り、
この読み取ったデータがホストコンピュータに送られ
る。
【0064】次に、ステップS8−2においてはヘッド
スイッチが実施されたか否かが検査される。ここでヘッ
ドスイッチとは、データを読み取る最中にヘッドの位置
が別のトラックに移動したことを意味する。このヘッド
スイッチが実施された場合には、ステップS8−3にお
いてアクセス終了ヘッドがインクリメント(すなわち1
の加算)される。このアクセス終了ヘッドとは、具体的
にはアクセス形態履歴格納テーブル10の中の終了シリ
ンダを意味する。このアクセス終了ヘッドの値は最初に
アクセス形態履歴格納テーブル10に格納される際には
アクセス開始ヘッドと同じ数字であるが、ヘッドスイッ
チが行われる度にインクリメントされてゆくものであ
る。このアクセス終了ヘッドの値をインクリメントする
ことにより、データの読みとりがその位置で終了したと
いうことを覚えておくことができるのである。その結
果、次のデータアクセスを、前回のデータアクセスの続
きから続行することができるのである。
【0065】ライトコマンドの動作は、まずステップS
8−4においてホストコンピュータからのデータをディ
スクドライブ8に書き込むことから行われる。
【0066】それに引き続いて、ステップS8−5にお
いては、ヘッドスイッチが実施されたか否かが検査さ
れ、実施されていた場合にはステップS8−6において
アクセス終了ヘッドをインクリメントされる。このステ
ップS8−5とステップS8−6の動作は、上で述べた
ステップS8−2とステップS8−3の動作と全く同様
である。
【0067】次に、アクセス形態検知手段9の動作につ
いて説明する。この動作は、上記図4におけるステップ
S4−5のアクセス形態検知手段9の処理における動作
である。以下、この動作をフローチャートに基づいて説
明する。このアクセス形態検知手段9の動作が図9及び
図10のフローチャートに示されている。
【0068】まず、ステップS9−1においてはシーケ
ンシャルアクセス指示コマンドが実行されているか否か
の検査が行われる。もし、シーケンシャルアクセス指示
コマンドが既に実行されている場合には、アクセス形態
履歴格納テーブル10の中に既にシーケンシャルフラグ
がセットされているため、このアクセス形態検知手段9
がアクセス形態を検知する必要はない。そのため、その
ままアクセス形態検知手段9の動作処理は終了する。
【0069】一方、シーケンシャルアクセス指示コマン
ドが実行されていない場合には、ステップS9−2に処
理が移行し、アクセス形態履歴格納テーブル10のアク
セス開始シリンダ及びアクセス開始ヘッドと、アクセス
終了シリンダ及びアクセス終了ヘッドと、をそれぞれ比
較する。この比較の結果、ヘッドの開始時点における位
置と、終了時(現在時)の位置とが比較されることによ
り、ヘッドスイッチの回数が求められる。
【0070】次に、図10に示されているフローチャー
トのステップS10−1においてこのヘッドスイッチ回
数が所定の正の整数m以上であるか否かが検査される。
このmは、現在行われているアクセスがシーケンシャル
アクセスであるのか、もしくは定点アクセスであるのか
を区別するための基準となる数である。このmよりヘッ
ドスイッチ回数が多い場合にはシーケンシャルアクセス
が事実上行われていると認識し、アクセス形態履歴格納
テーブル10のアクセス形態領域にシーケンシャルアク
セスを格納する(ステップS10−2)。
【0071】このように、本実施の形態においては、ホ
ストコンピュータであるホストA2やホストB3等から
明示的にシーケンシャルアクセスを行うと示されなくて
も、アクセスの様子を観察することによって、事実上の
アクセス形態を検知している。したがって、このアクセ
ス形態に基づき、将来のディスクアクセスを正確に予測
することができるのである。
【0072】一方、ヘッドスイッチ回数がこのm未満で
ある場合にはステップS10−3において、アクセス形
態履歴格納テーブル10のアクセス形態領域に定点アク
セスを格納する。これは、ヘッドスイッチ回数が小さ
く、ヘッドの位置がほとんど変らないことから、シーケ
ンシャルアクセスではなく、定点アクセスであると判断
したものである。
【0073】ここで、整数mは、正の整数であるが、具
体的な値は実際にディスク制御装置の制御を行いなが
ら、いわゆるチューニングによって定めるのが望まし
い。このmの値が小さすぎれば、実際には定点アクセス
であったのをシーケンシャルアクセスであると誤認する
おそれが大きくなり、将来アクセスの対象となるであろ
うシリンダの予測精度が劣化してしまう。一方、mの値
が大きすぎる場合には、シーケンシャルアクセスをシー
ケンシャルアクセスと認識するまでの時間がかかってし
まい、将来アクセスの対象となるであろうシリンダの予
測精度がやはり劣化してしまう。そのため、実際のディ
スク記憶装置で運用することによって、mの値をチュー
ニングすることが好ましい。勿論、このmの値は、使用
するディスクドライブ8や、アプリケーションソフトウ
ェアの依存する値である。
【0074】以上のようにして、本実施の形態における
アクセス形態検知手段9は、シーケンシャルアクセス指
示コマンドが実行されている場合だけでなく、このコマ
ンドが実行されていない場合においてもヘッドスイッチ
の回数によって事実上シーケンシャルアクセスであるの
か、それとも定点アクセスであるのかを区別して、アク
セス形態履歴格納テーブル10にそのアクセス形態を格
納している。これによって、ホストコンピュータのディ
スクアクセスの形態が検知されるのである。
【0075】次に、アクセス形態履歴格納テーブル10
の格納内容について説明する。
【0076】アクセス形態履歴格納テーブル10の格納
内容の説明図が図11に示されている。このアクセス形
態履歴格納テーブル10は、入出力命令に対してN(N
は正の整数)個分のメモリから構成されている。このN
は履歴を格納しておくというアクセス形態履歴格納テー
ブル10の性格から、多ければ多いほど望ましい。上で
述べたように、このアクセス形態履歴格納テーブル10
は、いわゆるFIFO型のテーブルであり、古い情報か
ら新しい情報へまで、各入出力命令毎にデータが格納さ
れていく。そして、N個分のメモリが一杯になった場合
には、最も古いデータから削除されていき、その代りに
新しいデータが書き込まれていくのである。
【0077】このアクセス形態履歴格納テーブル10に
おいては、1つの入出力命令に対してMバイトの領域が
割り当てられている。すなわち、このアクセス形態履歴
格納テーブル10は、合計M×Nバイトの容量をもって
いる。
【0078】例えば、図11においてはI/O(1)が
最も古い入出力命令のデータである。この図に示されて
いるようにアクセス形態履歴格納テーブル10の中には
I/O受付時刻や、発行ホストコンピュータ名、アクセ
スファイル番号、アクセス開始シリンダ及びアクセス開
始ヘッドと、アクセス終了シリンダ及びアクセス終了ヘ
ッドと、アクセス形態などが格納されている。上で述べ
たように、アクセス開始シリンダ及びアクセスヘッド
と、アクセス終了シリンダ及びアクセス終了ヘッドと
は、入出力命令が発行された時点においては同じ値が格
納されている。ディスク記憶装置に対するアクセスが続
行され、データが読み進められたり、書き進められたり
する場合には、このアクセス終了シリンダ及びアクセス
終了ヘッドはインクリメントされ続け、アクセス開始シ
リンダやアクセス開始ヘッドとは異なる値になってい
く。アクセス形態は、上の図9や図10のフローチャー
トに説明したように、その入出力命令によるアクセスの
形態を表すものである。
【0079】図11に示されている例においてはI/O
(1)からI/O(L)までのL(Lは正の整数)個の
データが格納されている。そして、I/O(1)が最も
古いデータであり、I/O(L)が最も新しいデータで
ある。
【0080】次に、オープンファイルトラックアドレス
格納テーブル11の格納内容について説明する。このオ
ープンファイルトラックアドレス格納テーブル11の格
納内容を表す説明図が図12に示されている。この図に
示されているように、このオープンファイルトラックア
ドレス格納テーブル11はファイルL個分のメモリから
なるテーブルである。ここで、Lとは、このシステムが
オープンすることができるファイルの数である。換言す
れば、このLはファイルの多重度を表している。
【0081】この図に示されているように、各ファイル
のデータはXバイトのデータで表される。従って、この
オープンファイルトラックアドレス格納テーブル11
は、X×Lバイトからなるメモリ上に構成されている。
そして、図12においては現在オープンされているファ
イルとして1からNまでのN個のファイルが示されてい
る。そして、各ファイル毎に、ファイル番号と、開始シ
リンダ及び開始ヘッドと、終了シリンダ及び終了ヘッド
と、がそれぞれのファイル毎に格納されている。
【0082】次に、独自シーク発行可否判断手段12の
動作をフローチャートに基づき説明する。このフローチ
ャートは、図13から図17までに記載されており、こ
のフローチャートに示されている動作は図4におけるス
テップS4−6の動作である。
【0083】まず、ステップS13−1においては既に
オープンしているファイルの個数が調べられる。
【0084】ステップS13−2においては、ステップ
S13−1における調査の結果オープンしているファイ
ル数が1であるか否かが検査される。1である場合に
は、図14におけるステップS14−1に処理が移行
し、一方、オープンしているファイル数が1ではなく2
以上であった場合には図15におけるステップS15−
1に処理が移行する。
【0085】このように、本実施の形態においてはオー
プンしているファイルの個数によって独自シークを発行
するか否かの判断を大幅に異ならせている。これは、フ
ァイル数が1個の場合には、1つのホストコンピュータ
からのアクセスのみが来ることが明らかであり、複数の
ホストコンピュータからの入出力命令が競合して出力さ
れるということが想定できないため、ファイル数が2以
上の場合と区別して制御した方が効率的だからである。
【0086】まず、既にオープンしているファイルの数
が1である場合について説明する。Kの場合の動作は図
14のフローチャートに示されている。
【0087】同図のフローチャートのステップS14−
1において、シーケンシャルアクセスであるか否かが検
査される。この検査は、アクセス形態履歴格納テーブル
10の格納内容を検査することにより実行される。具体
的には、図11に示されているようにアクセス形態履歴
格納テーブル10の内部のアクセス形態を調べることに
よりシーケンシャルアクセスか否かが検査される。
【0088】この検査の結果、もしシーケンシャルアク
セスである場合には、ステップS14−8に処理が移行
し、独自シーク発行は実施されない。独自シーク動作と
は、ホストコンピュータの入出力命令とは別個独立にヘ
ッドを移動させるシーク動作を行うことをいい、次の入
出力命令でアクセスの対象となりそうなシリンダにヘッ
ドを予め移動させておくことによって、入出力命令か出
力されてからヘッドが所望のシリンダに移動するまでの
時間を短くするために行うものである。
【0089】さて、上述したようにシーケンシャルアク
セスである場合には、ディスクドライブ8の磁気ヘッド
は、入出力命令に従ってシリンダ間を移動するだけであ
り、独自にシークを行うことはない。これは、1個のフ
ァイルに対してシーケンシャルアクセスが行われている
ことは、シリンダが順番にアクセスされていくというこ
とを意味する。従って、独自シーク動作を行う必要が何
らないためである。むしろ、独自シーク動作を行ってし
まっては、1つのファイルの中においてシリンダが連続
的に変化して行く動作を乱すこととなり、かえってアク
セス性能の劣化をもたらすからである。
【0090】勿論このように独自シークを行わない制御
を行うのは、ファイルが1個の場合だけであり、2個以
上の場合には後述するように独自シークを行う。
【0091】一方、上記ステップS14−1において、
シーケンシャルアクセスではないと判断された場合に
は、今回の入出力命令の1つ前に実行されている入出力
命令のシリンダを調べる。これによって、入出力命令と
しては定点アクセスであっても、実際のシリンダがどの
ようなアクセスを行っているのかを調べるためである。
【0092】ステップS14−3においては、今回の入
出力命令と、前回の入出力命令におけるシリンダが同一
であるか否かが検査される。同一である場合には、ステ
ップS14−8に処理が移行し、独自シーク発行は実施
されない。これは、前回の入出力命令と、今回の入出力
命令のシリンダが同じであったことから、将来次にやっ
て来る入出力命令においても同じシリンダに対してアク
セスが行われる場合が多いと考えられるからである。同
じシリンダにアクセスが行われるならば、独自シーク動
作を行う必要はなく、行えばかえってアクセス性能の劣
化をもたらすからである。
【0093】一方、上記ステップS14−3において今
回の入出力命令と、前回の入出力命令におけるシリンダ
が同じではないと判断された場合には、ステップS14
−4に処理が移行する。
【0094】ステップS14−4においては過去の入出
力命令を調べて、最もアクセスの多いシリンダ(X)を
探す。この過去の入出力命令を調べることは、上で述べ
た図11におけるアクセス形態履歴格納テーブル10を
参照することにより行われる。
【0095】本実施の形態において特徴的なことは、入
出力命令の履歴を保存しておくアクセス形態履歴格納テ
ーブル10を備えていることである。このアクセス形態
履歴格納テーブル10に格納されている各入出力命令の
アクセス形態であるシリンダを調べることにより、アク
セスの多いシリンダ(X)を探すことができる。そし
て、この最もアクセスの多いシリンダ(X)までヘッド
をシークするための時間TSeekの計算を行う。これは現
在のヘッドが位置するシリンダから、最もアクセスの多
いシリンダ(X)へのヘッドの移動時間である。
【0096】次に、ステップS14−5においては、今
回の入出力命令と、前回の入出力命令の発行の時間間隔
である時間Δtを求める。この時間Δtは、現在オープ
ンされているファイルに対する入出力命令の発行される
時間間隔であると予想される。従って次に入出力命令が
ホストコンピュータから出力されるのは、今回の入出力
命令が来てからΔt時間後であると予想される。
【0097】次に、ステップS14−6においては、こ
の時間Δtが上記シーク時間TSeekより大きいか否かが
検査される。もし、次に入出力命令が出力されるであろ
うと予想される時間間隔であるΔtの方が、シリンダ
(X)へのシーク時間TSeekより大きい場合には、次に
入出力命令がやってくる前に、シリンダ(X)へシーク
できる確率が高いと考えられる。従って、この検査の結
果が「YES」である場合には、ステップS14−7に
処理が移行し、独自シーク発行を実施するのである。こ
のステップS14−7における独自シークの発行は、上
で述べた最もアクセスの多いシリンダ(X)へ向うシー
ク動作である。もし、予想が現実と合致した場合には、
次に入出力命令がホストコンピュータから出力される前
に、ヘッドをシリンダ(X)に移動させることにがで
き、入出力命令で読書きを行いたいシリンダの近くにヘ
ッドを予め位置させている確率が高くなるのである。そ
の結果、次の入出力命令が出力されるまで、ヘッドを何
ら動かさないのに比べ、入出力命令が出力されてからの
シーク動作が完了するまでの時間を短くできると期待さ
れ、アクセス性能の向上したディスク記憶装置が提供す
ることができる。
【0098】一方、上記ステップS14−6においてΔ
tの方がシリンダ(X)へのシーク時間TSeekより大き
くない場合には、現時点からシリンダ(X)へシークを
行っても、シリンダ(X)に到達する前に次の入出力命
令が出力されてしまう確率が高い。もし、シーク動作中
に入出力命令がやってきた場合には、その入出力命令は
待たされたり、拒否されるなどの処理が行われる。その
結果、独自シークを行うことによってかえってアクセス
性能が劣化してしまうことも考えられる。そこで、シリ
ンダ(X)へのシーク時間TSeekの方が大きな場合に
は、図17におけるステップS17−3に処理が移行す
る。この動作の詳細については後に説明するが、シリン
ダ(X)の方向に、できるだけヘッドを動かしておこう
とするものである。すなわち、この方向に対して、使用
可能な時間すなわちΔt時間で移動可能な分だけヘッド
を移動させてしまうのである。この動作については後に
図17の動作について説明する時にもう一度説明する。
【0099】次に、図13のステップS13−2におい
てオープンしているファイル数が2以上の場合について
説明する。この場合の動作を表すフローチャートが図1
5以降に示されているまず、図15のステップS15−
1においては、現在オープンされている全てのファイル
に対して、入出力命令が発行される間隔に規則性がある
かどうかが調べられる。ここで、規則性とは入出力命令
の発行間隔が周期的であると言う意味である。
【0100】具体的には、過去の3個の入出力命令の受
付時刻を調べるのである。つまり、今回の入出力命令
と、一回前(前回)の入出力命令と、二回前の入出力命
令の3個の入出力命令の時刻を観察する。この時刻は、
上記図11で説明したアクセス形態履歴格納テーブル1
0を参照することにより、容易に知ることができる。こ
のアクセス形態履歴格納テーブル10は、図11に示さ
れているように時刻順に格納されているため、順番にM
バイトのデータを3ブロック参照していけば、自動的に
3個の入出力命令の受付時刻を読み出すことができる。
そして、今回の入出力命令と、前回の入出力命令の受付
時刻の差をΔt2と呼ぶ。また、前回の入出力命令と、
前々回の入出力命令の受付時刻の差をΔt3と呼ぶ。こ
のようにして求めた、Δt2と、Δt3との比較を行
い、両者がほぼ等しい場合には、規則性があると判断す
る。
【0101】次に、規則性がある場合には、その規則性
に基づきこれからも入出力命令が発行されるであろうと
の前提の下に、次に入出力命令が発行される予想時刻を
求める。この予想時刻から現在の時刻Tpreを引いた
時間が、予想時間間隔Δtである。すなわち、現在時刻
TpreからΔt経過後に次の入出力命令が発行される
という予測を行ったのである。
【0102】次に、ステップS15−2において、この
ような規則性が、全てのファイルに対して存在するか否
かの検査が行われる。全てのファイルに対して規則性が
存在する場合には図16におけるステップS16−1に
処理が移行する。
【0103】一方、必ずしも全てのファイルに規則性が
存在する訳ではないと判断された場合には、図15にお
けるステップS15−3に処理が移行する。
【0104】このステップS15−3においては、規則
性が存在すると認められたファイルの全てに対する入出
力命令について集計を行って、単位時間当りのそれらの
ファイルに対する入出力命令の発行数を求める。さら
に、今度は規則性がないファイルに対する単位時間当り
の入出力命令の発行数を求める。このような入出力命令
の発行数はアクセス形態履歴格納テーブル10を参照す
ることにより容易に求めることができる。このようにし
て単位時間当りの入出力命令の発行数を求め、この入出
力命令の発行数が多いものを選択する。
【0105】次に、ステップS15−4において入出力
命令が発行された回数が最も大きいのは規則性のあるフ
ァイル群であったかどうかが検査される。規則性がある
と判断されたファイルに対する入出力命令の発行回数の
方が大きい場合には後述する図16におけるステップS
16−1に処理が移行する。
【0106】一方、規則性のあるファイルではなく規則
性のないファイルに対する単位時間当りの入出力命令の
発行数の方が多いと判断された場合には、ステップS1
5−5に処理が移行し、入出力発行回数が大きい、規則
性のないファイルに対して、最後に発行された入出力命
令を選択する。そして、この最後の入出力命令における
アクセス履歴の調査を行う。この調査の結果、シーケン
シャルアクセスが行われているか否かを知ることができ
る。
【0107】シーケンシャルアクセスが行われていた場
合には、図17のアクセス形態履歴格納テーブル10か
らその最後に発行された入出力命令のアクセス終了シリ
ンダを独自シークアドレスとする。これは、規則性のな
いファイルアクセスが行われているが、入出力の回数は
大きいファイルに対してシーケンシャルアクセスが行わ
れている時であるから、そのファイルに中のアクセスの
対象となるシリンダの位置が大幅に変化することは少な
いであろうと考えられるためである。そのため、前回の
入出力命令のアクセス終了シリンダを独自シークアドレ
スと認定し、このアドレスまでヘッドをシークさせてお
けば、次に出力される入出力命令のアクセスの対象であ
るシリンダにヘッドを予め近づけておくことができると
期待される。これは、次に出力される入出力命令のアク
セスの対象であるシリンダは、前回の入出力命令のアク
セス終了シリンダの近傍に位置するであろうと予想した
ためである。
【0108】さらに、このステップS17−2において
は、その独自シークアドレスで指定されるシリンダまで
のシーク時間TSeekを求める。このシーク時間は、ヘッ
ドが現在位置しているシリンダから上記独自シークアド
レスの対象であるアクセス終了シリンダまでのシーク時
間である。
【0109】さて、上で述べた図15において全てのフ
ァイルに規則性がある訳ではなく、なおかつ規則性のな
いファイルに対して入出力命令の発行回数が大きい場合
には図16のステップS16−2においてシーケンシャ
ルアクセスであってもステップS17−2における独自
シークアドレスとしてアクセス終了シリンダが選択され
た。
【0110】一方、全てのファイルに規則性がある場合
(ステップS15−2)や、入出力命令の発行回数が大
きいのは規則性のあるファイルである場合(ステップS
15−4)の場合には、図16のフローチャートのステ
ップS16−1に処理が移行する。
【0111】このステップS16−1においては、現在
の時刻Tpreと、次に入出力命令が出力されるであろ
う時刻までの時間間隔Δtを、それぞれのファイル毎に
求め(このΔtの実際の算出は上記ステップS15−2
において全てのファイルに規則性があるか否かを調べる
時に既に求められている)、この求めた時間間隔Δtの
中で、最もその値が小さいファイルを選び出し、この選
んだファイルに対して最後に発行された入出力命令を選
択する。そして、この選択した入出力命令に関して、ア
クセス形態履歴格納テーブル10を参照することによ
り、そのアクセス履歴を調べる。
【0112】ステップS16−2においては、このよう
にして調べたアクセス履歴からシーケンシャルアクセス
か否かの検査が行われる。シーケンシャルアクセスであ
った場合には、後述する図17のステップS17−2に
処理が移行し、上述したように最後に出力された入出力
命令のアクセス終了シリンダが独自シークアドレスとさ
れる。
【0113】一方、ステップS16−2においてシーケ
ンシャルアクセスではないと判断される場合には、最後
に発行された入出力命令のさらに1つ前の入出力命令の
シリンダが調べられる(ステップS16−3)。
【0114】そして、ステップS16−4において、最
後の入出力命令と、さらに1つ前の入出力命令のアクセ
スの対象であるシリンダが同一であるか否かの検査が行
われる。同一である場合には各入出力命令におけるシリ
ンダの移動が殆ど無いようなアクセスが行われていると
考えられるため、上で述べたようにステップS17−2
において最後の入出力命令のアクセス終了シリンダを独
自シークアドレスとして設定する。すなわち、このアク
セス終了シリンダに対するシーク動作をホストコンピュ
ータの命令とは独立に行うのである。
【0115】一方、ステップS16−4において、最後
の入出力命令と、その1つ前の入出力命令のシリンダが
同一でないと判断された場合には、図17のフローチャ
ートのステップS17−1に処理が移行する。このステ
ップS17−1においては、過去の入出力命令を調べる
ことにより、最もアクセスが多かったシリンダ(X)を
探すのである。
【0116】このように、ステップS17−1において
は最もアクセスの多いシリンダ(X)を探し、このシリ
ンダ(X)への現在のヘッド位置からのシーク時間T
Seekを計算する。すなわち、このステップS17−1に
おいてはこのシリンダ(X)を独自シークの対象シリン
ダに認定し、このシリンダ(X)までの移動時間を算出
している。
【0117】このように、本実施の形態においてはアク
セス形態、ファイルに対する入出力命令の発行状況、ま
た入出力命令がシーケンシャルアクセスであるか否か、
などに基づき独自シークの対象シリンダをどのシリンダ
にするかを定めている。 例えば、このステップS17
−1においては、シーケンシャルアクセスではない場合
において、かつ最後の入出力命令とその前の入出力命令
のシリンダを調べて、現実に異なるシリンダに対してア
クセスが行われている場合、または、シーケンシャルア
クセスではなく、かつ、実質的に同じシリンダに対して
アクセスが行われていない場合には、過去の履歴から最
もアクセスの多いシリンダ(X)を探し出しているので
ある。そして、このシリンダ(X)に対して独自シーク
を行おうとするものである。
【0118】一方、シーケンシャルアクセスの場合、ま
たは、シーケンシャルアクセスでなくても実質的には同
じような位置のシリンダに対してアクセスが集中してい
る場合には最後の入出力命令に対するシリンダに再びア
クセスが行われる場合が多いと考えられる。従って、上
記ステップS17−2において最後の入出力命令のアク
セス終了シリンダを独自シークの対象となるシリンダと
して定めたのである。
【0119】以上のようにして、本実施の形態において
は、独自シークの対象となるシリンダを定め、かつその
シリンダにシークする時間をそれぞれ求めた。次に、ス
テップS17−3においては次に出力されるであろう入
出力命令が出力されるまでの時間Δtと、上で求めたシ
ーク時間TSeekとの比較が行われる。この比較の結果、
Δtの方が大きい場合にはステップS17−6に処理が
移行し、そうでない場合にはステップS17−4に処理
が移行する。Δtの方がシーク時間TSeekより大きい場
合には次に入出力命令が出力される前にシークが完了す
ると予想されるため、ステップS17−6において独自
シークの発行が行われる。このシークにおいては、ステ
ップS17−1やステップS17−2で求めたシリンダ
(X)や、アクセス終了シリンダを、シークの対象とし
ている。
【0120】一方、Δtの方がシーク時間TSeekよりも
大きくない場合には、ステップS17−4においてシー
クの対象であるシリンダ、すなわちシリンダ(X)また
はアクセス終了シリンダの方向にΔt時間で移動可能な
シリンダを計算して求める。すなわち、このステップS
17−4における計算は、最終的な目標となるシリンダ
ーまでは行けないものの、そのシリンダにより近い位置
までシークを行おうとするものである。
【0121】次に、ステップS17−5においてそのよ
うにして求めたシリンダに対して独自シークの発行が行
われる。これによって、何も独自シークを行わないこと
に比べれば、より入出力命令の対象となる可能性の高い
シリンダに近付くことができ、シーク時間の短縮化を図
ることができると考えられる。
【0122】最後に、本実施の形態に係るディスク制御
装置による制御の様子をタイムチャートに基づき説明す
る。図18には、本実施の形態に係るディスク制御装置
が制御を行った場合のヘッドのシーク動作を表すタイム
チャートが示されている。この図において、横軸は時間
を表し、縦軸はヘッドが位置するシリンダを表す。この
図18に示されているタイムチャートは、従来の図22
に対応するものであり、同様にホストA2及びホストB
3の双方からアクセスされる場合の動作について示され
ている。
【0123】ここで、ホストA2はシリンダCYL1か
らCYL2の範囲にあるファイルに対してシーケンシャ
ルアクセスを行っている。また、このホストA2が実際
にアクセスするシリンダは、この図においてシリンダC
YLAで表されている。
【0124】一方、ホストB3は、シリンダCYL3か
らCYL4の間にあるファイルBをオープンしてこのフ
ァイルBに対してアクセスを行っている。そして、この
ホストB3についてもシーケンシャルアクセスを行って
いる。ホストB3がアクセスするシリンダは、この図に
おいてシリンダCYLBで表されている。
【0125】まず、ホストA2による入出力命令A1に
よってヘッドがシークし、ヘッドがシリンダCYLAに
位置する。この入出力命令A1は時刻t1において発行
されている。また、この入出力命令A1によるシーク動
作は、図18においてSEEK1で表されている。
【0126】次に、時刻t2においてホストB3から入
出力命令B1が発行される。この入出力命令B1はCY
LBのシリンダにおいて入出力を行うものであり、ディ
スク制御装置1は、ヘッドをシークし、シリンダCYL
Bに位置させる。このシーク動作が、図18においてS
EEK2で表されている。なお、時刻t1と時刻t2と
の間の時間間隔がΔt1で表されている。
【0127】次に、時刻t3において入出力命令A2が
ホストA2から発行されている。ディスク制御装置1
は、この入出力命令A2に対応して、SEEK3で表さ
れているシーク動作を行い、ヘッドをシリンダCYLA
に位置させる。以下、同様にして時刻t4、時刻t5に
おいてそれぞれ入出力命令B2及び入出力命令A3がホ
ストB3とホストA2から交互に発行されている。ここ
までのヘッドの動き及びデータの入出力に関しては従来
のディスク制御装置と同様の制御が行われている。
【0128】しかしながら、本実施の形態においては、
従来の技術と異なり、この時刻t1から時刻t5までの
間における入出力命令の履歴がアクセス形態履歴格納テ
ーブル10に格納されている。このように、本実施の形
態においてはディスク制御装置1が動作を開始してから
所定期間は入出力命令の発行パターンを検知する期間と
して独自シーク動作は行わないように設定している。本
文では、この期間を、入出力命令発行パターン検知期間
と呼び、この期間においては、従来と同様の制御を行い
ながら、入出力命令のアクセス形態をアクセス形態履歴
格納テーブル10に格納する動作のみを行っている。こ
れは、十分にアクセス形態の履歴を格納しないうちに独
自シークを発行すると、誤った方向にシーク動作を行っ
てしまう確率が高くなり、却ってディスク記憶装置のア
クセス性能が劣化してしまうおそれがあるからである。
【0129】時刻t5においてある程度入出力命令の履
歴がアクセス形態履歴格納テーブル10に格納されてい
ると判断されたため、独自シーク発行可否判断手段12
が適宜独自シーク動作を行うようになる。例えば、時刻
t5において入出力命令A3がホストA2から発行され
た時には、ヘッドはその入出力命令A3に基づきシリン
ダCYLAに移動するが、入出力動作が完了した後、独
自シークSEEK6が発行される。これは、今までのア
クセス履歴に基づき、シリンダCYLBに対して入出力
命令が発行されると予測したためである。また、その予
測時刻は今までの入出力命令の発行間隔、すなわちΔt
1、Δt2、Δt3、Δt4の間隔が今後も続き、その
時間間隔で入出力命令が発行されると仮定した場合に、
時刻t7においてCYLBに対する入出力命令が発行さ
れると予測したものである。
【0130】具体的な予測の流れを説明する。
【0131】まず、上記ステップS13−1において、
オープンされているファイル数が1ではないため、ステ
ップS13−2において「NO」の方向に移行し、ステ
ップS15−1に移行する。
【0132】ステップS15−1においては、オープン
されている各ファイルの入出力命令の発行間隔が検査さ
れ、規則性の有無が検査される。図18に示されている
例においては、全てのファイルに規則性ありと判断され
る。そのため、ステップS15−2において、「YE
S」の方向に移行し、ステップS16−1に処理が移行
する。
【0133】ステップS16−1においては、現在時刻
から、最も近い将来に入出力命令が発行されるであろう
ファイルを選択する。このファイルはホストB3からア
クセスされるファイルであり、図18においてシリンダ
CYL3〜CYL4の間に位置する。そして、そのファ
イルに最後に発行された入出力命令について調べられ
る。上で述べたように、ホストB3はシーケンシャルア
クセスを行っているので、ステップS16−2において
は、「YES」の方向に処理が移行する。
【0134】そして、ステップS17−2においては、
最後の入出力命令のアクセス終了シリンダが独自シーク
アドレスとして認定され、そのシーク時間TSEEKが算出
される。次にステップS17−3においては、現在時刻
から次に入出力命令が来るであろう時刻までの時間Δt
と、上記TSeekとが比較される。この比較の結果、Δt
の方がTSeekがより大きくはなかったため、「NO」の
方向に処理が移行し、ステップS17−4において、現
在からΔt時間で、ヘッドがアクセス終了シリンダー方
向で移動できるシリンダのうち最も遠いシリンダを求め
る。最後に求めたシリンダに対して独自シークがステッ
プS17−5において実行される。この独自シーク動作
がSEEK6である。
【0135】なお、図18における時刻t7までの時間
間隔、すなわちシリンダCYLAにおける入出力動作が
完了した時刻t6から、次に入出力命令が発行されると
予測される時刻t7までの時間間隔が十分にある場合に
は、このシーク動作SEEK6によってヘッドは完全に
シリンダCYLBまで移動させることになる。この場合
は、上記ステップS17−3において「NO」の方向に
処理が移行し、ステップS17−6において、最終シリ
ンダすなわちシリンダCYLBまでのシーク動作が実行
される。
【0136】しかしながら、図18に示されている例に
おいては、時刻t6と時刻t7との時間間隔が十分には
ないため、ヘッドをシリンダCYLBの方向にできるだ
け移動させるようにシーク動作SEEK6を行ってい
る。この結果、独自シークの発行はシリンダM1までの
シーク動作となり、入出力命令B3が発行されてから、
改めてシーク動作SEEK7が行われるのである。この
ように、本実施の形態においてはヘッドの位置を、次に
アクセスされるであろうシリンダのなるべく近くにまで
移動させているため、入出力命令が発行されてから行わ
れるシーク動作(図18の例においてはSEEK7)の
時間を短くすることができ、全体的にアクセス性能の向
上を図ることができる。なお、本実施の形態においては
独自シークを実行する期間を独自シーク発行期間と呼ん
でいる。
【0137】さて、入出力命令B3に対応してシリンダ
CYLBにおける入出力動作が完了した後、ディスク制
御装置1は次に発行される入出力命令の予測を行う。こ
の結果、時刻t9においてシリンダCYLAに対する入
出力命令が発行されると予測し、このシリンダCYLA
になるべく近付くように独自シークSEEK8を発行す
る。このシーク動作によって、図18に示されているよ
うにシリンダM2に対してヘッドが移動していくのであ
る。そして、実際に時刻t9において入出力命令A4が
発行された後に、シーク動作SEEK9を行い、ヘッド
をシリンダCYLAに移動させているのである。この独
自シーク動作SEEK8においても、時刻t8から時刻
t9までの時間が短いため、なるべくシリンダCYLA
に近いシリンダであるシリンダM2にまでシーク動作S
EEK8を行ったが、この時間間隔が十分にある場合に
は、このシーク動作SEEK8によって最終的なシリン
ダであるシリンダCYLAまで動作することが勿論好ま
しい。
【0138】以上述べたように、本実施の形態によれ
ば、次に発行されるであろう入出力命令の時刻及びこの
入出力命令によってアクセスされるであろうシリンダを
予測し、その時刻までに十分に余裕がある場合にはその
予想されるシリンダまで独自シークを行い、時間の余裕
がない場合にはなるべくそのシリンダに近付く方にヘッ
ドを移動させた。この結果、入出力命令が発行されてか
らシーク動作を行って所望のシリンダに到達するまでの
時間を短くすることができ、アクセス性能の向上したデ
ィスク記憶装置を提供することができる。
【0139】
【発明の効果】以上述べたように、本発明によれば、ア
クセス形態の履歴に基づき、入出力命令を予測したの
で、効率的な独自シークを行うことができ、アクセス性
能の向上したディスク制御装置が得られる。
【0140】本発明によれば、ヘッドスイッチ回数が多
い場合にはシーケンシャルアクセスと判断するので、実
際のアクセスの状況に基づいて入出力命令の予測を行う
ことができる。
【0141】本発明によれば、ヘッドスイッチ回数が少
ない場合には定点アクセスと判断するので、実際のアク
セスの状況に基づいて入出力命令の予測を行うことがで
きる。
【0142】本発明によれば、シーケンシャルアクセス
の場合には、最後の入出力命令のシリンダーまで独自シ
ークを行うので、効率的な独自シークを行うことがで
き、アクセス性能の向上したディスク制御装置が得られ
る。
【0143】本発明によれば、定点アクセスの場合であ
って、最後の入出力命令と最後から1つ前の入出力命令
のシリンダが同一の場合には、実際上はシーケンシャル
アクセスであると見なし、その同一であるシリンダに対
して独自シークを行うので、効率的な独自シークを行う
ことができ、アクセス性能の向上したディスク制御装置
が得られる。
【0144】本発明によれば、定点アクセスの場合に
は、最後の入出力命令と最後から1つ前の入出力命令の
シリンダが非同一の場合には、実際上もシーケンシャル
アクセスではないと判断し、過去最も多くアクセスして
いるシリンダに対して独自シークを行うので、効率的な
独自シークを行うことができ、アクセス性能の向上した
ディスク制御装置が得られる。
【0145】本発明によれば、独自シークによる目標シ
リンダへの移動時間が、予測された入出力命令の発行時
刻から現在時刻を引いた時間より短い場合には、次の入
出力命令が発行される前に独自シークを終了させること
ができると判断し、そのまま独自シークを行うので、ア
クセス性能の向上したディスク制御装置が得られる。
【0146】本発明によれば、独自シークによる目標シ
リンダへの移動時間が、予測された入出力命令の発行時
刻から現在時刻を引いた時間より短くない場合には、次
の入出力命令が発行される前に独自シークを終了させる
ことができないと判断し、なるべく目標となるシリンダ
に近いシリンダまで独自シークを行うので、アクセス性
能の向上したディスク制御装置が得られる。
【0147】本発明によれば、ディスク制御装置が稼働
してから所定期間は独自シーク発行を行わずにアクセス
履歴の蓄積を行っている。その結果、履歴が不完全な状
態における不正確な独自シークを行ってしまうおそれを
小さくすることができ、アクセス性能の向上したディス
ク制御装置が得られる。
【図面の簡単な説明】
【図1】 本実施の形態に係るディスク制御装置の構成
ブロック図である。
【図2】 本実施の形態においてアプリケーションソフ
トウェアの動作を表すフローチャートである。
【図3】 ファイルのオープンとクローズの関係を表す
説明図である。
【図4】 本実施の形態におけるディスク制御装置にお
ける入出力命令の処理動作を表すフローチャートであ
る。
【図5】 図4におけるステップS4−3コマンドのデ
コードを表すフローチャートである。
【図6】 図4におけるステップS4−3におけるコマ
ンドの実行を表すフローチャートである。
【図7】 図4におけるステップS4−3におけるコマ
ンドの実行を表すフローチャートである。
【図8】 図4におけるステップS4−3におけるコマ
ンドの実行を表すフローチャートである。
【図9】 図4におけるステップS4−5のアクセス形
態検知手段の処理動作を表すフローチャートである。
【図10】 図4におけるステップS4−5のアクセス
形態検知手段の処理動作を表すフローチャートである。
【図11】 アクセス形態履歴格納テーブルの格納内容
を表す説明図である。
【図12】 オープンファイルトラックアドレス格納テ
ーブルの格納内容を表す説明図である。
【図13】 図4におけるステップS4−6の独自シー
ク発行可否判断手段の動作を表すフローチャートであ
る。
【図14】 図4におけるステップS4−6の独自シー
ク発行可否判断手段の動作を表すフローチャートであ
る。
【図15】 図4におけるステップS4−6の独自シー
ク発行可否判断手段の動作を表すフローチャートであ
る。
【図16】 図4におけるステップS4−6の独自シー
ク発行可否判断手段の動作を表すフローチャートであ
る。
【図17】 図4におけるステップS4−6の独自シー
ク発行可否判断手段の動作を表すフローチャートであ
る。
【図18】 本実施の形態に係るディスク制御装置の具
体的な動作と効果を表すタイムチャートである。
【図19】 一般的なディスクドライブの構成を表す説
明図である。
【図20】 論理トラックとシリンダの関係を表す説明
図である。
【図21】 論理トラックとレコードの関係を表す説明
図である。
【図22】 従来のディスク制御装置の構成を現す構成
ブロック図である。
【図23】 従来のディスク制御装置における動作を表
すタイムチャートである。
【符号の説明】
1 ディスク制御装置、2 ホストA、3 ホストB、
4 CPU切替スイッチ、5 データバッファ、6 デ
ィスクドライブI/F、7 マイクロプロセッサ、8
ディスクドライブ、9 アクセス形態検知手段、10
アクセス形態履歴格納テーブル、11 オープンファイ
ルトラックアドレス格納テーブル、12独自シーク発行
可否判断手段。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のホストコンピュータ群によって共
    用されているディスク記憶装置のディスク制御装置にお
    いて、 前記ホストコンピュータ群が発行する入出力命令の履歴
    を格納するアクセス形態履歴格納テーブルと、 前記ディスク記憶装置上においてオープンされているフ
    ァイルのトラックアドレスを格納するオープンファイル
    トラックアドレス格納テーブルと、 前記ホストコンピュータ群が発行する入出力命令を観察
    し、前記入出力命令が前記ディスク記憶装置をアクセス
    する形態を検知し、前記入出力命令の前記アクセス形態
    と、前記入出力命令のアクセスするシリンダと、前記入
    出力命令の受付時刻と、を前記アクセス形態履歴格納テ
    ーブルに格納するアクセス形態検知手段と、 前記アクセス形態履歴格納テーブルに格納されている、
    前記アクセス形態の履歴に基づき、次に前記ホストコン
    ピュータから発行されるであろう次の入出力命令を予測
    し、前記次の入出力命令で指定されると予測されるシリ
    ンダに前記ディスク記憶装置のヘッドが近づく方向に、
    前記ヘッドを移動させる独自シークを行う独自シーク発
    行可否判断手段と、 を含むことを特徴とするディスク制御装置。
  2. 【請求項2】 前記アクセス形態検知手段は、ヘッドス
    イッチ回数が所定回数以上である場合には、アクセス形
    態としてシーケンシャルアクセスを前記アクセス形態履
    歴格納テーブルに格納することを特徴とする請求項1記
    載のディスク制御装置。
  3. 【請求項3】 前記アクセス形態検知手段は、ヘッドス
    イッチ回数が所定回数未満である場合には、アクセス形
    態として定点アクセスを前記アクセス形態履歴格納テー
    ブルに格納することを特徴とする請求項1記載のディス
    ク制御装置。
  4. 【請求項4】 前記独自シーク発行可否判断手段は、前
    記アクセス形態履歴格納テーブルに格納されている前記
    アクセス形態がシーケンシャルアクセスである場合に
    は、最後に発行された入出力命令のアクセスしたシリン
    ダを、独自シーク動作の目標シリンダとすることを特徴
    とする請求項1、2、3のいずれかに記載のディスク制
    御装置。
  5. 【請求項5】 前記独自シーク発行可否判断手段は、前
    記アクセス形態履歴格納テーブルに格納されている前記
    アクセス形態が定点アクセスであり、かつ、最後の入出
    力命令のアクセスするシリンダと最後の入出力命令の1
    回前の入出力命令のアクセスするシリンダとが同一でな
    い場合には、前記アクセス形態履歴格納テーブルに格納
    されている過去の入出力命令の履歴を参照し、最もアク
    セスの多いシリンダを、独自シーク動作の目標シリンダ
    とすることを特徴とする請求項1、2、3のいずれかに
    記載のディスク制御装置。
  6. 【請求項6】 前記独自シーク発行可否判断手段は、前
    記アクセス形態履歴格納テーブルに格納されている前記
    アクセス形態が定点アクセスであり、かつ、最後の入出
    力命令のアクセスするシリンダと最後の入出力命令の1
    回前の入出力命令のアクセスするシリンダとが同一であ
    る場合には、最後に発行された入出力命令のアクセスし
    たシリンダを、独自シーク動作の目標シリンダとするこ
    とを特徴とする請求項1、2、3のいずれかに記載のデ
    ィスク制御装置。
  7. 【請求項7】 前記独自シーク発行可否判断手段は、ヘ
    ッドの現在位置から、前記目標シリンダへシークするの
    に必要な時間TSEEKと、現在時刻TPREから次に入出力
    命令が発行されると予測される時刻までの時間Δtと、
    を比較し、前記Δtが前記TSEEKより大きい場合には前
    記目標シリンダを到達先とする前記独自シーク動作を行
    うことを特徴とする請求項4、5、6のいずれかに記載
    のディスク制御装置。
  8. 【請求項8】 前記独自シーク発行可否判断手段は、ヘ
    ッドの現在位置から、前記目標シリンダへシークするの
    に必要な時間TSEEKと、現在時刻TPREから次に入出力
    命令が発行されると予測される時刻までの時間Δtと、
    を比較し、前記Δtが前記TSEEKより大きくない場合に
    は、前記Δtの時間で移動可能なシリンダーの中で、前
    記目標シリンダに最も近いシリンダを到達先とする前記
    独自シーク動作を行うことを特徴とする請求項4、5、
    6のいずれかに記載のディスク制御装置。
  9. 【請求項9】 前記独自シーク発行可否判断手段は、デ
    ィスク記憶装置に対するアクセスが開始されてから所定
    期間経過後に、前記独自シーク動作を開始することを特
    徴とする請求項1、2、3、4、5、6、7、8のいず
    れかに記載のディスク制御装置。
JP10120279A 1998-04-30 1998-04-30 ディスク制御装置 Pending JP2000195147A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10120279A JP2000195147A (ja) 1998-04-30 1998-04-30 ディスク制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10120279A JP2000195147A (ja) 1998-04-30 1998-04-30 ディスク制御装置

Publications (1)

Publication Number Publication Date
JP2000195147A true JP2000195147A (ja) 2000-07-14

Family

ID=14782316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10120279A Pending JP2000195147A (ja) 1998-04-30 1998-04-30 ディスク制御装置

Country Status (1)

Country Link
JP (1) JP2000195147A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001020442A1 (fr) * 1999-09-16 2001-03-22 Matsushita Electric Industrial Co., Ltd. Disque magnetique, acces a un dispositif de disque magnetique, et support d'enregistrement de programme de commande d'acces au disque pour dispositif de disque magnetique
JP2007310919A (ja) * 2006-05-16 2007-11-29 Fujitsu Ltd 階層型ストレージ装置のデータリード方法及びシステム
US10387380B2 (en) 2016-11-21 2019-08-20 Fujitsu Limited Apparatus and method for information processing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001020442A1 (fr) * 1999-09-16 2001-03-22 Matsushita Electric Industrial Co., Ltd. Disque magnetique, acces a un dispositif de disque magnetique, et support d'enregistrement de programme de commande d'acces au disque pour dispositif de disque magnetique
US6535953B1 (en) 1999-09-16 2003-03-18 Matsushita Electric Industrial Co., Ltd. Magnetic disk, method of accessing magnetic disk device, and recording medium storing disk access control program for magnetic disk device
JP2007310919A (ja) * 2006-05-16 2007-11-29 Fujitsu Ltd 階層型ストレージ装置のデータリード方法及びシステム
US10387380B2 (en) 2016-11-21 2019-08-20 Fujitsu Limited Apparatus and method for information processing

Similar Documents

Publication Publication Date Title
CN110135985B (zh) 一种区块链上交易的并行执行方法及系统
US7325112B2 (en) High-speed snapshot method
US6374327B2 (en) Method of data migration
US5937427A (en) Information recording apparatus and method capable of efficient erase, write and verify processes
US5729718A (en) System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
US20030041214A1 (en) Cache control methods and apparatus for hard disk drives
US6842801B2 (en) System and method of implementing a buffer memory and hard disk drive write controller
US20020091902A1 (en) File system and data caching method thereof
US20030056059A1 (en) Optimizing data transfer performance through partial write command purging in a disc drive
JPS6143742B2 (ja)
US6925539B2 (en) Data transfer performance through resource allocation
US20030056060A1 (en) Adaptive bi-directional write skip masks in a data storage device
JP2003196032A (ja) ストレージ装置のライトキャッシュ制御方法及びストレージ装置
JP2000195147A (ja) ディスク制御装置
US5060142A (en) System which matches a received sequence of channel commands to sequence defining rules for predictively optimizing peripheral subsystem operations
JP4061563B2 (ja) 磁気ディスク装置、磁気ディスク装置のディスクアクセス方法、及び磁気ディスク装置用ディスクアクセス制御プログラム記録媒体
US6253279B1 (en) Method and system for determining the data layout geometry of a disk drive
JPH10161932A (ja) ディスクキャッシュ制御方式
JPH05289818A (ja) ディスクアレイ制御方式
JPH11265262A (ja) 高速ライトキャッシュディスク装置
JPH07121308A (ja) ディスク装置のライトバック制御方法
JP2004102440A (ja) コマンド処理方法及び記憶装置
JP3435176B2 (ja) 磁気ディスク装置
JPH09128291A (ja) キャッシュメモリ管理方法
JP3585264B2 (ja) データベースシステム及びデータ検索方法