JPH0451313A - ディスク制御方式および装置 - Google Patents

ディスク制御方式および装置

Info

Publication number
JPH0451313A
JPH0451313A JP16104490A JP16104490A JPH0451313A JP H0451313 A JPH0451313 A JP H0451313A JP 16104490 A JP16104490 A JP 16104490A JP 16104490 A JP16104490 A JP 16104490A JP H0451313 A JPH0451313 A JP H0451313A
Authority
JP
Japan
Prior art keywords
disk
access
units
track
accessed
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
JP16104490A
Other languages
English (en)
Inventor
Masamichi Kato
加藤 正道
Hiroyuki Okuda
奥田 弘幸
Hitoshi Suzuki
仁 鈴木
Tokuyuki Iwai
岩井 徳幸
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 JP16104490A priority Critical patent/JPH0451313A/ja
Publication of JPH0451313A publication Critical patent/JPH0451313A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ディスク制御方式および装置に関し、さらに
詳しくは、効率よくディスク装置にアクセスするための
ディスク制御方式およびそのディスク制御方式を実施す
るディスク制御装置に関する。
[従来の技術] 仮想メモリ管理方式を用いた計算機システムにおいて、
ページをグループ化してディスク装置に対して入出力す
ることにより、実メモリとディスク装置との入出力回数
を削減し、性能を高速化するディスク制御方式が、例え
ばr IEEE 、 COMPUTERMARCH(1
983) pp38−39 Jで論じられている。この
技術は、ディスク装置から実メモリ上にページを読み込
む際に、先読みすべきページでまとめられるものをまと
め読みしたり、実メモリ上で内容変更されたページは、
変更したページをチエインに接続して一度に書き込みの
行えるページをこのチエインから探し出して、−度のデ
ィスク出力命令でディスク装置に書き込むものである。
この処理は、ディスク装置への入出力回数を減らすため
のクラスタリングと呼ばれている。
他方、ディスク装置において、2以上のトラックあるい
はシリンダに続けてアクセスするとき、アクセス要求の
生じた順で各トラックあるいはシリンダにアクセスして
いる。
また、ディスク装置において、トラックあるいはシリン
ダの連続領域にアクセスするとき、ヘッドが前記連続領
域の最初の位置まで到達するのを待ってからアクセスを
開始し、連続領域の最後までアクセスしている。
[発明が解決しようとする課題] 上記ディスク装置への入出力回数を減らすためのクラス
タリングを行う従来技術は、ページをグループ化するこ
とによりディスク装置に対する入出力回数を減らすこと
のみに着目しており、ディスク装置の物理的性質に対す
る配慮がなされていない。すなわち、ディスク装置にお
いては記憶単位が物理的にトラック単位やシリンダ単位
であるため、入出力の単位もこのようなトラック単位や
シリンダ単位であるのが好都合であるが、これに対する
配慮がなされていないため、高速化の効果が低い問題点
がある。
他方、アクセス要求の生じた順で各トラックあるいはシ
リンダにアクセスする従来技術では、アクセス要求の生
じた順とトラックやシリンダの配置との絹合せによって
はヘッドがトラック間やシリンダ間を移動する移動量が
徒に大きくなり、アクセスが遅れる問題点がある。
また、トラックあるいはシリンダの連続領域の最初の位
置までヘッドが到達するのを待ってからアクセスを開始
する従来技術では、例えばヘッドか連続領域の最初の位
置をわずかに過ぎていると、ディスクがほぼ1回転する
までアクセスが遅れる問題点がある。
そこで、本発明の第1の目的は、ディスク装置の物理的
性質を考慮してアクセスを制御し7より高速化の効果を
高めるようにしたディスク制御方式を提供することにあ
る。
また、本発明の第2の目的は、上記ディスク制御方式を
実施するのに好適なディスク制御装置を提供することに
ある。
また、本発明の第3の目的は、2以」―のトラックある
いはシリンダ:に続けてアクセスするとき。
トラックやシリンダの配置を考慮してアクセスを制御し
、より高速にアクセスできるようにしたディスク制御方
式を提供することにある。
また、本発明の第4の目的は、上記ディスク制御方式を
実施するのに好適なディスク制御装置を提供することに
ある。
さらに、本発明の第5の目的は、トラックあるいはシリ
ンダの連続領域にアクセスするとき、ヘッドの位置を考
慮してアクセスを制御し、より高速にアクセスできるよ
うにしたディスク制御方式を提供することにある。
また、本発明の第6の目的は、上記ディスク制御方式を
実施するのに好適なディスク制御装置を提供することに
ある。
[課題を解決するための手段] 第1の観点では、本発明は、処理装置のディス= 7− り装置へのアクセスを制御するディスク制御方式であっ
て、ディスクが1回転でアクセスできるトランク単位ま
たはシリンダ単位より小さなサイズのページ単位を基準
として処理装置からのアクセスを受け付け、前記ページ
単位を基準としたアクセスを前記トラック単位またはシ
リンダ単位を基準としたアクセスに変換し、前記トラッ
ク単位またはシリンダ単位を基準としてディスク装置に
アクセスすることを特徴とするディスク制御方式を提供
する。
第2の観点では、本発明は、処理装置のディスク装置へ
のアクセスを制御するディスク制御装置であって、ディ
スクが1回転でアクセスできるトラック単位またはシリ
ンダ単位より小さなサイズのページ単位を基準として処
理装置からのアクセスを受け付けるホストインタフェー
ス手段と、前記トラック単位またはシリンダ単位でデー
タを記憶しうる複数のエントりを有するバッファ手段と
、前記バッファ手段を用いて前記ページ単位を基準とし
たアクセスを前記トラック単位またはシリンダ単位を基
準としたアクセスに変換する管理手段と、前記トラック
単位またはシリンダ単位を基準としてディスク装置にア
クセスするディスクインタフェース手段とを具備したこ
とを特徴とするディスク制御装置を提供する。
なお、上記構成において「ページ単位を基準として」あ
るいは[トラック単位またはシリンダ単位を基準として
」とは、「ページ単位で又はページ単位の整数倍で」あ
るいは「トラック単位またはシリンダ単位で又はそれら
の整数倍で」を意味する。
第3の観点では、本発明は、ディスクか1回転でアクセ
スできるトラック単位またはシリンダ単位の2以上につ
いて続けてディスク装置にアクセスするさき、ディスク
装置のヘッドのトラック間またはシリンダ間の移動を最
小とするように前記2以上のトラック単位またはシリン
ダ単位のアクセス順をスケジュールすることを特徴とす
るディスク制御方式を提供する。
第4の観点では、本発明は、ディスクが1回転でアクセ
スできるトラック単位またはシリンダ単位の2以」二に
ついてのディスク装置へのアクセスを蓄積するバッファ
手段と、ディスク装置のヘッドのトラック間またはシリ
ンダ間の移動を最小とするように前記蓄積した2以上の
トラック単位またはシリンダ単位のアクセスをスケジュ
ールするスケジュール手段とを具備したことを特徴とす
るディスク制御装置を提供する。
第5の観点では、本発明は、ディスクが1回転でアクセ
スできるトラック単位またはシリンダ単位内の連続した
領域にアクセスするとき、ディスク装置のヘッドが前記
領域の途中にあってもアクセスを開始して前記領域の最
後までアクセスし、次いで前記領域の最初からアクセス
を開始して前記領域の途中までアクセスすることを特徴
とするディスク制御方式を提供する。
第6の観点では、本発明は、ディスクが1回転でアクセ
スできるトラック単位またはシリンダ単位内のアクセス
したい連続領域内にディスク装置のヘッドが存在してい
ないか存在しているかを検出するヘッド位置検出手段と
、前記連続領域内にヘッドが存在していないときには前
記連続領域の最初までアクセスを待ち1次いで前記連続
領域の最初からアクセスを開始して前記連続領域の最後
までアクセスする回転待ちアクセス手段と、前記連続領
域内にヘッドが存在しているときには直にアクセスを開
始して前記連続領域の最後までアクセスし1次いで前記
連続領域の最初からアクセスを開始して未だアクセスし
ていない前記連続領域の部分にアクセスする回転待ち防
止アクセス手段とを具備したことを特徴とするディスク
制御装置を提供する。
[作用] 上記本発明の第1の観点によるディスク制御方式および
第2の観点によるディスク制御装置では、ページ単位を
基準として処理装置からのアクセスを受け付けるため、
仮想メモリ管理方式を損わない。一方、このページ単位
を基準としたアクセスを、トラック単位またはシリンダ
単位を基準としたアクセスに変換してディスク装置にア
クセスす1す るので、ディスク装置の物理的性質に合致し、無駄時間
がなくなって、より高速のアクセスが可能となる。
上記本発明の第3の観点によるディスク制御方式および
第4の観点によるディスク制御装置では、アクセスすべ
きトラックまたはシリンダの配置に基づいてアクセス順
を変更してヘッドの移動距離を最小にするため、無駄時
間がなくなって、より高速のアクセスが可能となる。
上記本発明の第5の観点によるディスク制御方式および
第6の観点によるディスク制御装置では、アクセスすべ
き連続領域の途中にヘッドが位置していたときは、連続
領域の最初まで待たすに、直ちにアクセスを開始するた
め、無駄時間がなくなって、より高速のアクセスが可能
となる。
[実施例コ 以下、図に示す実施例により本発明をさらに詳細に説明
する。なお、これにより本発明が限定されるものではな
い。
第16図は、本発明の一実施例のディスク制御装置7を
含む計算機システム1を示すブロック図である。
この計算機システム1は、計算や制御を行う処理装置2
と、ネットワークを通じて他のシステムとデータの送受
信を行う通信制御装置3と、コマンドの入力やデータの
入力を行なうためのキーボード4と、処理結果の表示や
入力データの表示を行なうためのデイスプレィ5と、主
メモリ6と。
本発明のディスク制御方式を実施するディスク制御装置
7と、データやプログラムを格納しておくためのディス
ク装置8とが、システムバス9に接続されて構成されて
いる。
第17図は、上記計算機システム1における仮想メモリ
管理方式の概要を示すものである。
仮想メモリ空間25は、ページと呼ばれる4にバイトあ
るいは8にバイトの単位に分割されている。ディスク装
置8の記憶空間も同サイズのページに分割され、仮想メ
モリ空間25とディスク装置8の記憶空間とがマツピン
グされている。
第18図は、仮想メモリ空間25のページと。
主メモリ6およびディスク装置8のページの対応を管理
する管理テーブル31を示している。
管理テーブル31のカラム30は、仮想メモリ空間25
−トの仮想メモリベーン番号である。
カラム32は、仮想メモリ空間25上の仮想メモリアド
レスである。
カラム33は、その仮想メモリベーンが格納されている
主メモリ6の物理アドレスか又はディスク装置8の物理
アドレスである。
カラム34は、前記カラム33の物理アドレスが主メモ
リ6のものか又はディスク装置8のものか(仮想メモリ
ページか、主メモリ6」二にあるか。
ディスク装置8」二にあるか)を示すフラグであり、「
1」なら主メモリ6であり、「O」ならディスク装置8
である。
第18図の例では、仮想メモリページ番号#Oの仮想メ
モリページは、カラム34が「1」であるから主メモリ
6」−にあり、主メモリ6上の物理アドレスはカラム3
3の値の「i」である。また、仮想メモリページ番号#
1の仮想メモリベーンは、カラム34が「0」であるか
ら、ディスク装置8」二にあり、ディスク装置8」二の
物理アドレスはカラム33の値の「a」である。
応用プログラム21により仮想メモリページがアクセス
されると、オペレーティングシステム23のメモリ管理
プログラム24は管理テーブル31のカラム34を調べ
て、主メモリ6」−にそのページがあるか、ディスク装
置8」二にあるかを判断する。主メモリ6」二にあれば
、その主メモリ6」二のページにアクセスする。ディス
ク装置8上にあれば、そのページを主メモリ6」二の空
いているページに読み込み(主メモリ6」二に空いてい
るページがないときは、主メモリ6上にある不必要と思
われるページをディスク装置8上に書き出して、空きペ
ージを作り出す)、読み込んだ主メモリ6−1−のペー
ジの物理アドレスを管理テーブル31のカラム33に格
納し、カラム34に「1」をセットする。そして、その
主メモリ6上のページにアクセスする。
このように、仮想メモリ管理は、ページ単位で】5 行う。
ところが、ディスク制御装置7は、ディスク装置8との
入出力を、ページ単位あるいは単にページをまとめて行
うのではなく、トラック単位あるいはシリンダ単位で行
うように制御する。以下、これを説明する。
第1図に示すように、ディスク制御装置7は、システム
バス9を介して処理装置2との間でデータやコマンドを
転送するホストインタフェース回路608と、CPU6
01と4制御プログラムや管理情報やデータを保持する
メモリ602と、ディスク装置8のセクタ位置を検出す
るセクタ検出回路603と1デイスク装置8のトラック
単位のデータを保持する多数のエントりを有するトラッ
クバッファ606と、ディスク装置8とトラックバッフ
ァ606の間のデータの転送を行うDMA回路604と
、データのフォーマットを識別してトラックの管理用情
報とデータとを分離するフォーマット識別回路605と
、ディスクインタフェース回路607とを具備して構成
されている。
トラックサイズが16にバイトとすると、前記トラック
バッファ606の各エントリは16にハイドとなる。ま
た、ページサイズが4にバイトとすると、4ページで1
トラック分となる。
第2図は、前記CPU601で実行されるディスク制御
のためのソフトウェア構成を示すもので、処理装置2と
の間でデータやコマンドを転送するためのホストインタ
フェースブロック701と処理装置2から与えられたコ
マンドを解析するコマンド解析ブロック702と、解析
したコマンドを実行するコマンド実行ブロック703と
、前記トラックバッファ606を管理するトラックバッ
ファ管理ブロック704と、前記ディスクインタフェー
ス回路607とトラックバッファ606の間のデータ転
送を制御するデータ転送制御ブロック705と、ディス
ク装置8との間でデータやコマンドを転送するためのデ
ィスクインタフェースブロック706と1回転待ち防止
制御を行う回転待ち防止制御ブロック707とを有して
構成されている。
第3図は、処理装置2とディスク制御装置7の間でやり
とりされるコマンドの形式を示したものである。
このコマンド55は、ディスク装置8のユニットアドレ
ス56と、READコマンドかWRITEコマンドかの
区別を示すコマンドコード57とREADデータを格納
するか又はWRITEデータを取り出す主メモリ6上の
アドレス58と、ディスク装置8上のアクセスすべき領
域の開始アドレスを示すシリンダ番号59とヘッドアド
レス60とセクタ番号61と、アクセスすべき領域のサ
イズを示す処理セクタ数62とから構成されている。
処理装置2は、1ページあるいは複数ページをまとめて
READ/WRITEするコマンドを発行する。
第4図は、トラックバッファ606のエントリとディス
ク装置8のトラックの対応を管理するトラックバッファ
管理テーブルを示している。
このトラックバッファ管理テーブル65は、トラックバ
ッファ管理部704にあり、トラックバッファ606の
エントリと同数のレコードを有している。
カラム66は、トラックアドレスであり、シリンダ番号
59とヘッドアドレス60とで決められる。
カラム67は、書き込みフラグであり、「1」のときは
、ディスク装置8へ書き込むべきデータを対応するトラ
ックバッファ606のエントリに保持していることを示
している。「0」のときは、ディスク装置8へ書き込む
べきデータを対応するトラックバッファ606のエント
リに保持していないことを示している。
カラム68は、有効フラグであり、このレコードが有効
であるとき「1」、無効であるときrOJである。
カラム69は、トラックバッファ606上のエントリの
アドレスである。
第5図は、処理装置2からディスク制御装置7へREA
Dコマンドが発行されたときのディスク制御装置7の作
動のフローチャートである。
ステップ72では、READコマンドに含まれるシリン
ダ番号59.ヘッドアドレス60からトラックアドレス
を求める。
ステップ73では、トラックバッファ管理テブル65の
カラム68(有効フラグ)が「1」で且つ上記トラック
アドレスがカラム66(トラックアドレス)と一致する
レコードがあるか調べる。
なければ、ステップ75に移行し、あれば、ステップ7
8に移行する(ステップ74)。
ステップ75では、トラックバッファ606の空きエン
トリのアドレスを求めるサブルーチンをコールする。こ
のサブルーチンについては、第7図を参照して後述する
ステップ76では、前記サブルーチンで求めた空きエン
トリに、ディスク装置8のトラックからデータを読み込
む。トラックのアドレスは、前記ステップ72で求めた
トラックアドレスである。
ステップ77では、トラックバッファ管理テーブル65
を更新する。すなわち、一つのレコードのカラム66に
トラックアドレスを格納し、カラム67(書き込みフラ
グ)に「0」をセットし、カラム68に「1」をセット
し、カラム69(エントリアドレス)にエントリのアド
レスをセットする。
ステップ78では、当該レコードのカラム69からトラ
ックバッファ606のエントリのアドレスを求めて、そ
のアドレスのエントリからデータを主メモリ6へ転送し
、READ処理を終了する。
上記説明のように、トラックバッファ606に格納され
ているデータに対してREADコマンドが発行されれば
、ディスク装置8を読むことはしないで、トラックバッ
ファ606から主メモリ6へデータを転送する。このた
め、ディスク装置8に対する入出力を省略できる。
次に、第6図は、処理装置2からディスク制御装置7へ
WRITEコマンドが発行されたときのディスク制御装
置7の作動のフローチャートである。
ステップ81では、WRITEコマンドに含まれるシリ
ンク番号59.ヘッドアドレス60からトラックアトレ
ス ステップ82では、トラックバッファ管理テーブル65
のカラム68か「1」で且つ上記トラックアドレスなカ
ラム66と一致するレコードがあるか調べる。
なければ、ステップ84に移行し、あれば、ステップ8
7に移行する(ステップ83)。
ステップ84では、トラックバッファ606の空きエン
トりのアドレスを求めるサブルーチンをコールする。こ
のザブルーチンについては、第7図を参照して後述する
ステップ85では、前記サブルーチンで求めた空きエン
トリに、ディスク装置8からデータを読み込む。このデ
ータのトラックアドレスは、前記ステップ72で求めた
トラックア)・レスである。
ステップ86では、トラックバッファ管理テーブル65
を更新する。すなわち、一つのレコードのカラム66に
該当トラックアドレスを格納し、カラム67に「0」を
セットし、カラム68に「1」をセットシ、カラム69
に該当トラックバッファ606のエントリのアドレスを
セットする。
ステップ87では、処理装置2からのデータを、当該ト
ラックバッファ606のエントりに書き込む。そして、
l−ラックバッファ管理テーブル65のカラム67に「
1」をセラl− L、WtTE処理を終了する。
」−記説明のように、WRITEコマンドに対しては、
トラックバッファ6 0 61に処理装置2からのデー
タを書き込むが、ディスク装置8には直ちにデータを書
き込まない。そして、ディスク装置8のトラックへの強
制書き込み要求が発行されたときや トラックバッファ
606」―に空きエントリが見つけ出せないときや,一
つのジョブが終了したときや,ディスク制御装置7がr
eady状態のときを契機として、カラム67が「1」
のレコードか指すエントリを探し、それらのエントリの
データをディスク装置8に書き込む。すなわち、後書き
を行なう。
第7図は、トラックバッファ606の空きエン1・りを
求めるザブルーチンのフローチャートである。
ステップ91では、トラックハソファ管理テーブル65
を調へて、カラム68がrOJのレコードを探す。
もし、カラム68が「0」のレコードかあれば、ステッ
プ93に移行する。なければ、ステップ94に移行する
ステップ93では、カラム68が「O」のレコー1〜の
カラム69にあるエントリアドレスをリターン値として
、リターンする。
ステップ94では、トラックバッファ管理テーブル65
を調べて、カラム67が「1」のレコードを探す。
もし、カラム67が「IJのレコードがなければステッ
プ96に移行し、あればステップ97に移行する(ステ
ップ95)。
ステップ96では、カラム67かrOJのレコードのカ
ラム69にあるエントリアドレスをリターン値として、
リターンする。
ステップ97では、カラム67が「1」のレコードのカ
ラム69にあるエントリアドレスか指すエントリのデー
タを、カラム66が指すディスク装置8のトラックアド
レスに、書き込む。
ステップ98では、該当レコードのカラム67。
68をそれぞれ「0」にセットする。
ステップ99では、当該レコードのカラム69にあるエ
ントリアドレスをリターン値として、リターンする。
第8図は、第7図に示した空きエントりを求めるサブル
ーチンにおいて、空きエントりがないとき(カラム68
がrOJのレコードがないとき)、使用中のどのエント
リを空けるかを決定する方法を示す概念図である。
すなわち、トラックバッファ管理テーブル65にカラム
100を追加して、最も新しくアクセスしたレコードが
最後になるようにチエインでつなぐ。また、そのチエイ
ンの最初のレコードへのポインタをポインタ101を設
けて格納しておく。
そして、ポインタ101からチエインをたとって、第7
図のステップ91またはステップ94の条件を順にテス
トし、最初に条件を満たしたものを選んで、以後の処理
を行なえばよい。この決定方法は、L RU (Lea
st Recentry Used)方式と呼ばれるも
のである。
次に、第9図は、トラックバッファの2以上のエントリ
について続けてディスク装置8にアクセスするときのス
ケジュールおよびアクセスのフローチャートである。こ
の動作は、トラックバッファ管理ブロック704により
実行される。
ステップ211では、トラックバッファ管理テーブル6
5のカラム68が「1」で且つカラム67が11」のレ
コードを求める。
ステップ212では、前記ステップ211で求めたレコ
ードについて、第10図に示す如きアクセス順チエイン
を作成する。このアクセス順チエイン200は、各レコ
ードに対応したポインタ203をトラックアドレスの順
にチエインでつないだものである。ポインタ203のカ
ラム204は、トラックアドレスの小さいものから大き
いものを指す。大きいものがないときは値を「0」とす
る。
カラム205は、トラックアドレスの大きいものから小
さいものを指す。小さいものがないときは値をrOJと
する。カラム206は、対応するトラックバッファ60
6のエントリを指す。さらに、ポインタ201は、最小
のトラックアドレスのポインタ203を指す。また、ポ
インタ202は、最大のトラックアドレスのポインタ2
03を指す。
ステップ213では、ディスク装置8に対してコマンド
を発行して、ヘッドの現在位置のトラックアドレスTi
を求める。
ステップ214では、前記アクセス順チエイン200の
ポインタ201,202の指すポインタ203のカラム
206が指すエントリより最小トラックアドレスT M
INI 最大トラックアドレス1Mバを求める。
ステップ215では、 T MAW −T i  <  T MIN  T i
なら、ステップ216へ進み、 TMAX  Ti  ≧ TMIN  Tiなら、ステ
ップ218へ進む。
ステップ216では、ヘッドを最大トラックアドレスT
MAXのトラックへ移動する。
ステップ217では、アクセス順チエイン200のポイ
ンタ202から各ポインタ203をカラム205の順に
たどり、各ポインタ203が指すエントリのトラックア
ドレスのトラックに順にアクセスする。アクセスした後
、トラックバッファ管理テーブル65の該当するレコー
ドのカラム67をrOJにする。
一方、ステップ218では、ヘッドを最小トラックアド
レスTMINのトラックへ移動する。
ステップ217では、アクセス順チエイン200のポイ
ンタ201から各ポインタ203をカラム204の順に
たどり、各ポインタ203が指すエントリのトラックア
ドレスのトラックに順にアクセスする。アクセスした後
、トラックバッファ管理テーブル65の該当するレコー
ドのカラム67をrOJにする。
上記スケジュールおよびアクセスの作動によれば、例え
ば、第11図に示すように、トラックアドレスT4.T
3.T7.T6.TIのトラックに。
この順(括弧付き番号順)でアクセス要求が発生し、ヘ
ッドの現在位置がトラックアドレスT5のトラックであ
るときに、ヘッドはまず最大トラックアドレスT7のト
ラックへ移動し、次いでトラックアドレスT7.T6.
T4.T3.Tlの順(丸付き番号順)で各トラックに
アクセスすることとなる。これは最小のヘッドの移動距
離であり、無駄時間がなく、アクセスが高速になる。
次に、第12図は、前記回転待ち防止制御ブロック70
7の作動のフローチャートである。
ステップ301では、セクタ検出回路603により、ヘ
ッドの現在位置のセクタを検出する。
ステップ302では、検出したセクタがアクセス要求さ
れた連続領域中のセクタであるか否か判定する。アクセ
ス要求された連続領域中のセクタであるならステップ3
03へ移行し、そうでないならステップ306へ移行す
る。
ステップ303では、そのセクタからアクセスを開始し
、前記連続領域の最終セクタまでアクセスする。このと
き、CPU601は、そのセクタに対応するトラックバ
ッファ606のエンドす」二のアドレスを転送先頭アド
レスとしてDMA回路604に設定する。また、そのセ
クタから前記連続領域の最終セクタまでのデータ数を計
算して、そのデータ数を転送データ数としてDMA回路
604に設定する。DMA回路604は、データ転送に
伴い前記転送データ数をデクリメンl−L、この値がr
OJになったとき、CPU601に転送終了を通知する
ステップ304ては、セクタ検出回路603により前記
連続領域の先頭セクタか検出されるのを待つ。
ステップ305では、前記連続領域の先頭セクタからア
クセスを開始し、前記ステップ303でアクセスを開始
したセクタの前のセクタまでアクセスする。このとき、
」1記ステップ303と同様にしてトラックバッファ6
06のエントリとディスク装置8の間でD M Aによ
りデータ転送を行な一方、ステップ306では、セクタ
検出回路603により前記連続領域の先頭セクタが検出
されるのを待つ。
ステップ307では、前記連続領域の先頭セクタから最
終セクタまでをアクセスする。このとき、上記ステップ
303と同様にしてトラックバッファ606のエンI・
りとディスク装置8の間でDMAによりデータ転送を行
なう。
例えば、第13図に示すように、トラックTのアクセス
すべき連続領域の先頭Sから最終Eまでの途中H,にヘ
ッドが位置しているとき、」1記回転待ち防止制御がな
ければ第14図の」二段に示すように時間10から時間
t2まて回転待ち時間を生しるが、」1記回転待ち防止
制御があれば第14図の下段に示すように回転待ち時間
を生じない。従って、時間t3にはアクセスを終了でき
る。
すなわち、上記回転待ち防止制御を用いた場合、前記ス
テップ301で検出されたセクタがアクセスすべき連続
領域内のセクタであれば直ちにアクセスが開始されるか
ら、従来のように連続領域の先頭セクタが検出されるま
で待機する無駄時間がなくなり、アクセスか高速になる
なお、」1記回転待ち防止制御がある場合のディスクア
クセス時間D T 、は以下のように導かれる(たたし
、シーク時間は含まない)。
1トラックのデータサイズ゛ DT+ = (0,5+x−0,5x2)L(但し、L
はディスクの1回転時間) このうち(xL)はデータアクセス時間であるから、回
転待ち時間W”F、は、 WT+ = (0,50,5x2) Lとなる。
これに対して、回転待ち防止制御のない場合のディスク
アクセス時間DT。および回転待ち時間WT、は以下の
ようになる。
DTO= (0,5+x)L WT。= (0,5)L 第15図は、上記WT、とWT、のXに対する関係を示
すグラフである。この図からも明らかなように、上記回
転待ち防止制御がある場合、アクセスするデータのサイ
ズが11−ラックのデータサイズに近づくほど回転待ち
時間WT、が小さくなり、1トラツクにアクセスする場
合には「0」になる。すなわち、前記ディスク制御装置
7はトラック単位でディスク装置8にアクセスするから
、回転待ち時間WT、はrOJとなり、アクセスを高速
化できる。
他の実施例としては、」1記トラックバッファ606を
主メモリ6」二に構成し、」二記ホストインタフェース
ブロック701とトラックバッファ管理ブロックとをオ
ペレーティングシステム23」二に構成したものが挙げ
られる。
[発明の効果] 本発明のディスク制御方式および装置によれば、以下の
ような効果を得られる。
(1)仮想メモリ管理方式におけるページ単位の処理を
損わないで、トラック単位またはシリンダ単位を基準と
してディスク装置に対する入出力を行うことが出来る。
これは、ディスク装置の物理的性質に適合しているので
、より高速化できる。
(2)ディスク制御装置のバッファ手段にデータが存在
するときはそのアクセスにディスク入出力を伴わない。
このため、アクセス時間を短縮できる。
(3)2以上のトラック単位またはシリンダ単位につい
て続けてディスク装置にアクセスするとき、予めスケジ
ュールして、トラック間またはシリンダ間のヘッドの移
動距離を最小にする順でアクセスするため、高速化が実
現できる。
(4)アクセスすべき領域の途中にヘッドが位置してい
るときは直ちにアクセスを開始し、前記領域の最初まで
回転待ちしないため、アクセスの遅れをなくすことが出
来る。
(5)上記各効果を得られるため、オペレーティングシ
ステムの仮想メモリ管理プログラムでページの先読み、
後書き、クラスタリングなどの処理をする負担がなくな
る。従って、仮想メモリ管理のオーバヘッドを削減でき
る。
【図面の簡単な説明】
第1図は本発明のディスク制御装置の一実施例のハード
ウェア構成図、第2図は第1図のディスク制御装置のソ
フトウェア構成図、第3図はディスク入出力コマンドの
形式図、第4図はトラックバッファ管理テーブルの構成
図、第5図は第1図のディスク制御装置のREAD処理
の作動のフローチャート、第6図は第1図のディスク制
御装置のWRITE処理の作動のフローチャート、第7
図は第1図のディスク制御装置の空きエントリを求める
処理の作動のフローチャート、第8図は第7図に示した
空きエントリを求める処理において空きエントリがない
とき使用中のどのエントリを空けるかを決定する方法を
示す概念図、第9図はスケジュールおよびアクセス処理
の作動のフローチャート、第10図はアクセス順チエイ
ンの概念図、第11図はアクセス順のスケジュールの例
示図、第12図は回転待ち防止制御の作動のフローチャ
ート、第13図はディスクとヘッドの位置の概念図、第
14図は回転待ち防止制御のタイミング図、第15図は
アクセスするデータサイズと回転待ち時間の特性図、第
16図は第1図のディスク制御装置を含む計算機システ
ムの構成図、第17図は仮想メモリ管理方式の概要図、
第18図は管理テーブルの概念図である。 (符号の説明) 1・・・計算機システム 2・・・処理装置 6・・・主メモリ 7・・・ディスク制御装置 8・・ディスク装置 21・・・応用プログラム 23・・・オペレーティングシステム 24・・・メモリ管理プログラム 25・・・仮想メモリ空間 31・・・管理テーブル 601・・・CPU 602・・・メモリ 603・・セクタ検出回路 606・・トラックバッファ 607・・・ディスクインタフェース回路608・・・
ホストインタフェース回路701・・・ホストインタフ
ェースブロック704・・・トラックバッファ管理ブロ
ック705・・・データ転送制御ブロック 706・・・ディスクインタフェースブロック707・
・・回転待ち防止制御ブロック。

Claims (1)

  1. 【特許請求の範囲】 1、処理装置のディスク装置へのアクセスを制御するデ
    ィスク制御方式であって、 ディスクが1回転でアクセスできるトラッ ク単位またはシリンダ単位より小さなサイズのページ単
    位を基準として処理装置からのアクセスを受け付け、 前記ページ単位を基準としたアクセスを前 記トラック単位またはシリンダ単位を基準としたアクセ
    スに変換し、 前記トラック単位またはシリンダ単位を基 準としてディスク装置にアクセスする ことを特徴とするディスク制御方式。 2、処理装置のディスク装置へのアクセスを制御するデ
    ィスク制御装置であって、 ディスクが1回転でアクセスできるトラッ ク単位またはシリンダ単位より小さなサイズのページ単
    位を基準として処理装置からのアクセスを受け付けるホ
    ストインタフェース手段と、 前記トラック単位またはシリンダ単位でデ ータを記憶しうる複数のエントリを有するバッファ手段
    と、 前記バッファ手段を用いて前記ページ単位 を基準としたアクセスを前記トラック単位またはシリン
    ダ単位を基準としたアクセスに変換する管理手段と、 前記トラック単位またはシリンダ単位を基 準としてディスク装置にアクセスするディスクインタフ
    ェース手段と を具備したことを特徴とするディスク制御装置。 3、ディスクが1回転でアクセスできるトラック単位ま
    たはシリンダ単位の2以上について続けてディスク装置
    にアクセスするとき、ディスク装置のヘッドのトラック
    間またはシリンダ間の移動を最小とするように前記2以
    上のトラック単位またはシリンダ単位のアクセス順をス
    ケジュールすることを特徴とするディスク制御方式。 4、ディスクが1回転でアクセスできるトラック単位ま
    たはシリンダ単位の2以上についてのディスク装置への
    アクセスを蓄積するバッファ手段と、 ディスク装置のヘッドのトラック間または シリンダ間の移動を最小とするように前記蓄積した2以
    上のトラック単位またはシリンダ単位のアクセスをスケ
    ジュールするスケジュール手段と を具備したことを特徴とするディスク制御装置。 5、ディスクが1回転でアクセスできるトラック単位ま
    たはシリンダ単位内の連続した領域にアクセスするとき
    、ディスク装置のヘッドが前記領域の途中にあってもア
    クセスを開始して前記領域の最後までアクセスし、次い
    で前記領域の最初からアクセスを開始して前記領域の途
    中までアクセスすることを特徴とするディスク制御方式
    。 6、ディスクが1回転でアクセスできるトラック単位ま
    たはシリンダ単位内のアクセスしたい連続領域内にディ
    スク装置のヘッドが存在していないか存在しているかを
    検出するヘッド位置検出手段と、 前記連続領域内にヘッドが存在していない ときには前記連続領域の最初までアクセスを持ち、次い
    で前記連続領域の最初からアクセスを開始して前記連続
    領域の最後までアクセスする回転待ちアクセス手段と、 前記連続領域内にヘッドが存在していると きには直にアクセスを開始して前記連続領域の最後まで
    アクセスし、次いで前記連続領域の最初からアクセスを
    開始して未だアクセスしていない前記連続領域の部分に
    アクセスする回転待ち防止アクセス手段と を具備したことを特徴とするディスク制御装置。
JP16104490A 1990-06-19 1990-06-19 ディスク制御方式および装置 Pending JPH0451313A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16104490A JPH0451313A (ja) 1990-06-19 1990-06-19 ディスク制御方式および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16104490A JPH0451313A (ja) 1990-06-19 1990-06-19 ディスク制御方式および装置

Publications (1)

Publication Number Publication Date
JPH0451313A true JPH0451313A (ja) 1992-02-19

Family

ID=15727536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16104490A Pending JPH0451313A (ja) 1990-06-19 1990-06-19 ディスク制御方式および装置

Country Status (1)

Country Link
JP (1) JPH0451313A (ja)

Similar Documents

Publication Publication Date Title
JP3183993B2 (ja) ディスク制御システム
JPS5898893A (ja) 情報処理装置
KR101075907B1 (ko) 반도체 기억 장치, 데이터 전송 장치 및 반도체 기억 장치의 제어 방법
JPH11184639A (ja) 計算機システム
JPH10301818A (ja) ファイルシステム及びその管理方法
JPH1063551A (ja) 情報処理装置
JP3469383B2 (ja) データ先読み制御方法及び情報処理装置
JPH0451313A (ja) ディスク制御方式および装置
JP3555523B2 (ja) メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体
JP2980326B2 (ja) ディスク制御装置
JPH11327802A (ja) ディスクシステム
CN114780466B (zh) 一种基于dma的数据复制延时的优化方法
JPH0455960A (ja) 階層メモリ管理方式および装置
JP3130569B2 (ja) キャッシュメモリのストア方式
JPH05189286A (ja) ディスクキャッシュ制御システムおよび制御方法
JP3013996B2 (ja) 情報処理装置
JPS634356A (ja) デイスクキヤツシユ順次モ−ド共用処理方式
JP2570853B2 (ja) データベース処理システム
JPH0581049A (ja) メモリの時間管理方式
JP2567903B2 (ja) データ転送方法
JPS62271029A (ja) デイスクキヤツシユ制御方式
KR0176639B1 (ko) 디스크 구동 기록장치의 버퍼검색장치
JPS6331808B2 (ja)
JP2797961B2 (ja) 検索システム
JPH05128050A (ja) 電子計算機システムにおけるデータ検索制御方法