JPH03100718A - バッファ付きディスク装置の入出力処理方法 - Google Patents

バッファ付きディスク装置の入出力処理方法

Info

Publication number
JPH03100718A
JPH03100718A JP1237892A JP23789289A JPH03100718A JP H03100718 A JPH03100718 A JP H03100718A JP 1237892 A JP1237892 A JP 1237892A JP 23789289 A JP23789289 A JP 23789289A JP H03100718 A JPH03100718 A JP H03100718A
Authority
JP
Japan
Prior art keywords
disk device
read
sequential
processing
input
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
JP1237892A
Other languages
English (en)
Inventor
Akira Yamamoto
彰 山本
Hiroyuki Kitajima
北嶋 弘行
Akira Kurano
倉野 昭
Michio Miyazaki
宮崎 道生
Masashi Nozawa
野沢 正史
Riyuuichi Takeuchi
竹内 瀧一
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 JP1237892A priority Critical patent/JPH03100718A/ja
Priority to US07/579,718 priority patent/US5187778A/en
Priority to DE69024145T priority patent/DE69024145T2/de
Priority to EP90117589A priority patent/EP0418723B1/en
Publication of JPH03100718A publication Critical patent/JPH03100718A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 【産業上の利用分野】
本発明は、バッファ付きディスク装置の入出力処理方法
に関し、特に読み出し処理を高速化することが可能なバ
ッファ付きディスク装置の入出力処理方法に関する。
【従来の技術J ディスク装置および制御装置を備えた計算機システムで
は、通常、制御装置に複数のディスク装置が接続されて
いる。従って、データ転送路の有効利用を目的として、
データ転送に先立つ位置付は処理(シーク、セット・セ
クタ処理)は、制御装置とは切り離した状態(オフライ
ン状態)で実行する。これにより、制御装置に接続した
複数のディスク装置に、位置付は処理を並列に実行させ
ることができる。 しかし、このような制御方式では、あるディスク装置が
位置付は処理完了後に、データ転送処理に入ろうとした
時、別のディスク装置が既に制御装置とデータ転送処理
に入っている場合がある。 なお、これを“位置付は完了後の空ぶり”と呼ぶ。 位置付は完了後の空ぶりが発生すると、そのディスク装
置はデータ転送路を確保できないことになり、次にデー
タ転送に入るためには、ディスク装置が1回転するまで
待たなければならなぐなる。 この位置付は完了後の空ぶりの対策としては、例えば特
開昭62−3455号公報に記載されているように、デ
ィスク装置に小容量のバッファを設ける方法が提案され
ている。この方法では、ディスク装置の位置付は完了時
、他のディスク装置が制御装置とデータ転送中の場合、
ディスク装置上のデータをバッファにロードしておき、
他のディスク装置のデータ転送処理が完了した時点で、
バッファ内にロードしていたデータを制御装置に転送し
ている。 また、ディスク装置に対する位置付は処理を簡素化する
方法も提案されている。 例えば、特開昭59−38866号公報に記載されてい
るように、複数の読み出し回路により、ディスク装置が
1回転する間に複数のトラックのデータをバッファ内に
読み込む方法が提案されている。 この方法では、制御装置側からの読み出し対象となって
いないトラック上のデータもバッファ内に読み込む、こ
れは、シーケンシャル読み出し処理に対する先読み処理
のためである。すなわち、データが実際に読み出し対象
となった時、ディスク装置に対する位置付は処理を実行
せずに、バッファから直接読み出すことより、位置付は
処理の実行回数を削減している。従って、大容量のバッ
ファを備える。 〔発明が解決しようとする課題〕 上記従来技術では、次に挙げる点について問題がある。 (1)ディスク装置に対する読み出し処理のうち、シー
ケンシャル処理は大きな割合を占める。さらに、シーケ
ンシャル処理は、それ以外の処理とはアクセスパターン
が大きく異なる。したがって、ディスク装置からの読み
出し処理を、シーケンシャル読み出し処理と非シーケン
シャル読み出し処理に分離して、それぞれの処理に適応
したバッファ割り当てを行う点については配慮がなされ
ていない。 (2)上位計算機システム上で並行して実行されている
複数のプログラムから、ディスク装置に対する入出力要
求が発行される場合、あるプログラムからのシーケンシ
ャル読み出し処理完了後、次の読み出し処理発行の間に
、他のプログラムからの読み出し要求が発行されて、バ
ッファ内にロードしたデータを他のプログラムにより壊
される恐れがある点については配慮がなされていない。 (3)複数のシーケンシャル読み出し処理を並行的に実
行し、新たにあるプログラムのシーケンシャル読み出し
処理を受け付けた場合、既に割り当て済のバッファの割
り当て変更を行う方法については配慮がなされていない
。 本発明の目的は、このような問題点を改善し、処理速度
を向上させるバッファ付きディスク装置を提供すること
にある。 〔課題を解決するための手段〕 上記目的を達成するため、本発明のバッファ付きディス
ク装置は、バッファを有するディスク装置と、ディレク
タを含む制御装置を備え、そのディレクタはチャネルを
経由して上位装置に接続された計算機システムにおいて
、上記バッファには、シーケンシャル読み出し処理用の
領域と非シーケンシャル読み出し処理用の領域を独立に
設け、ディレクタが上位装置からの入出力要求をディス
ク装置に伝える際、その入出力要求がシーケンシャル読
み出し処理であるか否かを通知して、それにより、面領
域の何れかを用いて、ディスク装置と上位装置の間のデ
ータ転送処理を実行するすることに特徴がある。 また、上記非シーケンシャル読み出し処理用領域とシー
ケンシャル読み出し処理用領域にそれぞれ独立の管理方
法を適用して、高性能化を実現することに特徴がある。 例えば、上記非シーケンシャル読み出し処理用領域を1
個のバッファ割り当て単位により構成する。 また、上記シーケンシャル読み出し処理用領域を複数の
バッファ割り当て単位により構成する。 さらに、上記シーケンシャル読み出し用領域におけるバ
ッファ割り当て単位を、そのバッファ割り当て単位が新
しく読み出し処理対象となった時刻順に並べて管理する
。 [作用] 本発明においては、ディスク装置側に非シーケンシャル
読み出し処理用とシーケンシャル読み出し処理用のバッ
ファを独立に設け、制御装置からディスク装置側に発行
する読み出し処理がシーケンシャル読み出し処理である
か、あるいは非シーケンシャル読み出し処理であるかを
、制御装置はディスク装置に通知する。これは、次の読
み出し対象データが明らかなシーケンシャル読み出し処
理と、次の読み出し対象データが不明な非シーケンシャ
ル読み出し処理では、バッファを利用することによって
得られる効果が異なるためである。 例えば、非シーケンシャル読み出し、処理要求を受け取
った場合、非シーケンシャル読み出し処理用のバッファ
割り当て単位を使用して、制御装置側から要求されたデ
ータをそのバッファ割り当て単位にロードする。 また、シーケンシャル読み出し処理要求を受け取った場
合、シーケンシャル読み出し処理用の複数の割り当て単
位を使用する。 この場合、バッファ割り当て単位を割り当てていないシ
ーケンシャル読み出し処理要求であれば、L RU (
Last Recently Used)キューにより
、使用するバッファ割り当て単位を決める。この後、制
御装置から要求されたデータに加え、次に読み出し対象
となるデータをバッファ割り当て単位にロードする。 また、既にバッファ割り当て単位を割り当てであるシー
ケンシャル読み出し処理要求であれば、ディスク媒体に
直接アクセスすることなく、バッファ内のデータを制御
装置側に送るだけで、処理要求を完了させる。さらに、
制御装置とのデータ転送後、当該シーケンシャル読み出
し処理用のバッファ割り当て単位内のデータ量が一定値
以下になると、次にアクセス対象となるデータを自動的
にロードする。 これにより、バッファ付きディスク装置に対する位置付
は処理の実行回数を削減して、処理速度を向上すること
が可能である。 (実施例) 以下、本発明の一実施例(第1〜第3の実施例)を図面
により説明する。 (第1の実施例) 第1図は、本発明の第1の実施例における計算機システ
ムの構成図である。 第1図において、10は非シーケンシャル処理用バッフ
ァ、11はシーケンシャル処理用バッファ、20はCP
U、21は主記憶、22はチャネル、23は制御装置、
24はバッファ付きディスク装置、25はディレクタ、
26はプログラム、307はバッファである。また、本
実施例ではディスク装置側にバッファ307を設けてい
る。 また、制御装置a23は、1個以上のディレクタ25に
より構成され、各ディレクタ25がチャネル22とバッ
ファ付ディスク装置24との間の転送を行う、なお、バ
ッファ付きディスク装置24は、接続されているそれぞ
れのディレクタ25とデータ転送可能である。 また、主記憶21上には、複数のプログラム26が格納
され、CPtJ20により、並行的に(フンカレントに
)処理される。 このプログラム26により発行された入出力要求は、チ
ャネル22を通じて制御装置23のディレクタ25に伝
達される。さらに、ディレクタ25の指示により、バッ
ファ付きディスク装置24が位置付は動作を実行する。 この後、チャネル22、ディレクタ25を経由して、バ
ッファ付きディスク装置24と主記憶21の間でデータ
転送が実行される。こうして、プログラム26は、必要
なデータの読み書きをバッファ付きディスク装置24と
の間で実行する。 次に、バッファ付きディスク装置24について述べる。 第5因は、本発明の第1の実施例におけるバッファ付き
ディスク装置の構成図である。 第5図において、300はプロセッサa、301はプロ
セッサb、302はプロセッサ・インタフェース、30
3はディレクタ・インタフェース、304は円板、30
5は読み書きヘッド、306は読み書きヘッド・インタ
フェース、308はバッファ管理情報、309は転送装
置a、310は転送インタフェースa、311はスイッ
チa、 312は転送装置b、313は転送インタフェ
ースb、314はスイッチb、315は転送装置C13
16は転送インタフェースc、317はスイッチCであ
る。 本実施例のプロセッサ300は、ディレクタ25かもの
入出力要求に従って、バッファ付きディスク装置24全
体のデータ転送制御を実行する。 また、プロセッサb301は、プロセッサa300の指
示により、読み書きヘッド305とバッファ307の間
のデータ転送制御を実行する。 また、プロセッサ・インタツース802は、プロセッサ
a300とプロセッサb301の間のインタフェース情
報を格納する。 また、ディレクタ・インタフェース303は、制御装置
23内の各ディレクタ25とのインタフェースである。 また、円板304は、データを記録する媒体であり、1
個のバッファ付きディスク装置24には複数存在する回
転体である0本実施例では、m枚の円板304が存在す
るものとする。 また、読み書きヘッド305は、円板304にデータを
読み書きする装置であり、円板304対応に存在する。 すなわち、m個の読み書きヘッド305が存在すること
になる。 また、読み書きヘッド・インタフェース306は、プロ
セッサa300.あるいはプロセッサb301の指示に
より、読み書きヘッド304のシ−り動作を行う。さら
に、シーク動作が完了すると、その旨をプロセッサa3
00あるいはプロセッサb301に伝える。また、読み
書きヘッド304の下にあるセクタ402を、プロセッ
サa300あるいはプロセッサb301に伝える。 また、バッファ307は、シーケンシャル読み出し処理
対象、あるいはランダム読み出し処理対象となったデー
タをロードするために用いる。 また、バッファ管理情報308は、バッファ307に格
納されているデータの管理情報を格納する。 また、転送装置a309は、プロセッサa300の指示
に従って、読み書きヘッド305とディレクタ25との
間のデータ転送を実行する。但し、バッファ307内に
格納されているデータが書き込み対象となる時には、バ
ッファ307内のデータも同時に書き込む。この指示は
、プロセッサa300の指示に従う。 また、転送インタフェースa310は、転送装置a30
9とプロセッサaとのインタフェースである。具体的に
は、転送装置a309がディレクタ25からのデータを
読み書きヘッド306側に送るのか、読み書きヘッド3
05から受け取ったデータをディレクタ25に送るのか
を指定する。 また、スイッチa311は、どの読み書きヘッドに対応
した円板304上のデータを転送対象とするかを設定す
るために、プロセッサa300により制御される。 また、転送装置b312は、プロセッサa300あるい
はプロセッサb301の指示に従って、読み書きヘッド
305から読み出したデータをバッファ300にロード
する。また、データ転送装置b312は複数存在し、円
板304が1回転する間に、同じシリンダ500間の転
送装置b312の数だけのトラック400上のデータを
バッファ307にロードする。従って、転送装置b31
2の数を、円板304の数以上に増やしても意味がない
。本実施例では、転送装置b312の数はn個とする。 また、転送インタフェースb313は、バッファ300
のどの位置にデータをロードするかを指定する。 また、スイッチb314は、それぞれの転送装置b31
2がどの読み書きヘッド304からのデータを読むかを
設定する。この制御は、プロセッサa300あるいはプ
ロセッサb301が行う。 また、転送装置C315は、プロセッサa300の指示
により、バッファ307から読み出したデータをディレ
クタ25に送る。 また、転送インタフェースc31.6は、バッファ30
7内のどの部分を転送対象とするかを、プロセッサa3
00が指定する。 また、スイッチCは、プロセッサa300が転送装置a
309と転送装置Cの何れか一方の装置と、制御装置2
3内のどのディレクタ25との転送を行うかを設定する
。 ここで、本実施例で用いる記録媒体について述べろ。 第2図〜第4図は、第1図の計算機システムで用いる記
録媒体の説明図である。 第2図において、304は円板、400は円板304が
1回転する間に、バッファ付きディスク装置24の読み
書きヘッド305がアクセス可能な記録単位を示すトラ
ック、401はディレクタ25との間の最小のデータ転
送単位を示すレコード、402は円板304上の所定位
置を基準にして、一定の角度ごとに設けた単位を示すセ
クタである。 なお、セクタ402は、読み書きヘッドの位置が回転し
ている円板304上のどの角度にあるかを認識するため
に使用する。 また、あるトラック400が入出力対象となった時、読
み書きヘッド305をアクセス可能な位置に移動させる
動作をシーク動作と呼ぶ、このシーク動作は、複数存在
する読み書きヘッド305が独立に動作するのではなく
、全ての読み書きヘッドが同時に移動することになる。 また、第3図において、305はバッファ付きディスク
装置24の読み書きヘッド、501は読み書きヘッドa
 % 503は読み書きヘッドb、500は同一円周上
にあるトラックの集合を示すシリンダ(シリンダの詳細
については後述する。)、505は円板a、506は円
板すである。 このシリンダ500を指定することにより、各読み書き
ヘッドがアクセス可能なトラック400を一意に定める
ことができる。例えば、読み書きヘッドa501が円板
a505上のトラックa502にアクセス可能な位置に
ある状態を想定すると、円板a505のすぐ下にある円
板b506上では、読み書きヘッドb503がアクセス
可能なのはトラックb504である。同様に、他の読み
書きヘッド305がアクセス可能なトラック400も一
意に定まることになる。これらの集合をシリンダ500
と呼ぶ。 従って、ディレクタ25が入出力対象となるトラックを
指定する場合、単純に何番目のシリンダ500の何番目
の読み書きヘッド305のトラック400というように
指定する。なお、シリンダ500の番号は円板304の
内側から外側に、読み書きヘッド305の番号は読み書
きヘッドの上から下へそれぞれ昇順に付けられている。 また、あるトラック400のすぐ下の円板上に存在し、
かつ、そのトラック400と同一シリンダ500内に属
するトラック400Gことを、そのトラック400の次
のトラック400と呼ぶ。 例えば、トラックa502の次のトラック400はトラ
ックb504である。但し、最も下にある円板304上
のトラック400の次のトラック400を以下のように
定義する。すなわち、トラック400が属するシリンダ
500より1大きい番号のシリンダに属し、かつ、1番
上にある円板304上に属するトラック400が次のト
ラック400ということになる1以上とは逆の関係、つ
まり、トラックb504に対するトラックa502の関
係を、トラックa502はトラックb504の前のトラ
ック400であるとする。 また、第2図に示したセクタ402の決め方は、第4則
に示される。 第4図において、600はトラックc、601はレコー
ドa、604はレコードb、605はレコードc、60
2はセクタa、603はセクタを設定する際に用いる円
板304上の所定位置(基準セクタ(セクタ0))であ
る。なお、セクタ401の番号は、基準セクタ603よ
り、円板304の回線方向に昇順に付けられる。 例えば、ディレクタ25がトラック600上のレコード
601を入出力対象にする場合、レコード601の先頭
の直前のセクタ602aの位置に、読み書きヘッドがき
た時、その旨をディレクタ25に通知する。これをセッ
ト・セクタ処理と呼ぶ。 なお、ディレクタ25は、セット・セクタ処理の完了を
バッファ付きディスク装置24側から受け取ると、その
位置からレコード401を捜すように指示する。そして
、最初に見つかったレコードa601を転送対象とする
。こうして、レコードa601を転送対象とすることが
できる。 通常、1回の入出力要求で複数のレコード401を転送
対象とする場合、レコードa601の次に転送対象とな
るのは、レコードb604である。 また、レコードC605のように、格納終了地点から、
基準セクタ603の間にレコード401が格納されてい
ない場合、レコードc605の次のレコード401は、
次のトラック400の基準セクタ603から格納されて
いるレコード401とする。 なお、シーケンシャル処理とは、ある入出力要求の最後
に転送対象となったレコード401の次のレコード40
1が、次の入出力要求で最初に転送対象となるような入
出力処理である。 次に、バッファ307の構成について述べる。 第6図は、本発明の第1の実施例におけるバッファの説
明図、第7図は本発明の第1の実施例におけるスロット
12の説明図である。 第6図において、10は非シーケンシャル読み出し処理
のために割り当てるランダム処理用バッファ、11はシ
ーケンシャル読み出し処理のために割り当てるシーケン
シャル処理用バッファ、12は読み出し処理に割り当て
るバッファ307の割り当て単位(スロット)である。 本実施例では、第6図(i)に示すように、ランダム処
理用バッファlOは1個のスロットから構成され、(i
f)に示すように、シーケンシャル処理用バッファ11
は複数のスロット12から構成される。 また、第7図において、13は1本のトラック上のデー
タを格納する記憶単位(セグメント)である。 本実施例では、スロット12は複数のセグメント13で
構成される。また、セグメント13の数は、転送装置b
312の台数であるn台の2倍の数(2n個)である。 次に、バッファ307によるデータ転送処理について述
べる。 第8図は、本発明の第1の実施例におけるデータ転送処
理の説明図である。 本実施例では、1回の読み出し処理要求によって読み出
されるデータの量が、円板304が1回転以上回転しな
いと読み出しが完了しない場合のデータ転送処理方式は
、第8図(i)、(u)の順序で行う。 まず、(i)のように、n台の転送袋gb312から、
セグメントa70からセグメントb71までの第1セグ
メント群72にデータをロードする。 なお、セグメント13内の最も後の位置に格納されてい
るレコードを第1セグメント群内最終レコード76と呼
ぶ。 こうして、円板1回転分の転送が終了すると、(i)の
ように、次の回転の転送を行う、すなわち、n台の転送
装置b312が、セグメントc73からセグメントd7
4までの第2セグメント群75にデータを転送する。な
お、セグメント74内の最も後の位置に格納されている
レコード401を、第2セグメント群最終レコード77
と呼ぶ。 これらの動作と同時に、転送装置c315は、第1セグ
メント群72に格納されたデータをディレクタ25へ転
送する。なお、転送装置1tc315の転送速度が転送
装置b312のn倍である場合には、n台の転送装置b
312が第2セグメント群75の中にデータをロードし
ている間に、転送装置c315が第1セグメント群72
内のデータをディレクタ25に送ることができる。また
、読み出し処理要求がさらにデータを読み出すような場
合には、次の回転では、第1セグメント群72内に転送
装置b312がデータをロードする。 以上の動作を繰り返すことにより、任意の長さのデータ
の読み出し処理が実行可能となる。 次に、第7図に示したセグメント13へのデータロード
形式について述べる。 第9図は1本発明の第1の実施例におけるセグメント1
3に対するデータロード形式を示す説明図である。 第9図において、1500は第4図に示した基準セクタ
603が格納される位置(O番地)である。 本実施例では、第4図のトラック400上のデータをセ
グメント13の中にロードした場合を示す、この場合、
セグメント13内の0番地1500から、基準セクタ6
03の内容がロードされる。 また、第5図に示したデータ転送装置b312の1台が
、プロセッサb301からあるトラック400のロード
要求を受け取った場合、そのデータ転送袋fib312
は、最初の見つけたレコード400の先頭からセグメン
ト13の中にデータをロードする。例えば、データ転送
袋fitb312が最初にレコード401を見つけた場
合、レコード401からセグメント13へのロードを開
始する。 この時、レコード401の格納開始番地は、トラック4
00の基準セクタ603からの相対番地に等しい。 このような格納形式をとることにより、セグメント13
内へのロードをトラック400のどの位置から開始して
も、それぞれのレコード401はセグメント13内で等
しくなる。 また、既にセグメント13内へのロード処理が完了して
いるトラック400に対して、新たな読み出し処理を受
け取った場合には、与えられたセクタの番号に対応する
アドレスからセグメント13をサーチする。これにより
、円板304上をサーチしたのと同じレコード401を
見い出すことできる。 次に、第5図に示したバッファ管理情報308の構成に
ついて述べる。 第10図は、本発明の第1の実施例におけるバッファ管
理情報308の説明図、第11図は本発明の第1の実施
例におけるシーケンシャル・スロット管理情報800の
説明図、第12図は本発明の第1の実施例におけるラン
ダム・スロット管理情報801の説明図、第13図は本
発明の第1の実施例における全体情報802の構成とシ
ーケンシャル・スロット管理のLRUキュー1100の
構成を示す説明図である。 第10図において、800は第6図(ii)のシーケン
シャル処理用バッファll内のスロット12に対応する
シーケンシャル・スロット管理情報、801は(i)の
ランダム処理用バッファ10内の1個のスロット12を
管理するためのランダム・スロット管理情報、802は
全体情報である。また、全体情報802は、バッファ管
理情報309内に1個存在する。なお、以下、シーケン
シャル・スロット管理情報800とランダム・スロット
管理情報801を共にスロット管理情報と呼ぶ。 このシーケンシャル・スロット管理情報8o。 の構成は、第11図に示される。 第11図において、900はLRU方向ポインタ、90
1はM RU (Most Recently Use
d)方向ポインタ、902はセグメント・シリンダ/ト
ラック、903は第1セグメント群空きフラグ、9゜4
は第2セグメント群空きフラグ、905は第1セグメン
ト群ロードフラグ、906はスロット・ポインタ、90
7はイニシャル・ロードフラグである。 本実施例のシーケンシャル・スロット管理情報800は
、LRU順、すなわち、読み出し処理を受け付けた時刻
順に並べる。 また、LRU方向ポインタ900は、当該シーケンシャ
ル・スロット管理情報の次に長い間読み出し対象となっ
ていないシーケンシャル・スロット管理情報800への
ポインタである。 また、MRU方向ポインタ901は、当該シーケンシャ
ル・スロット管理情報より1個だけ最近読み出し対象と
なったシーケンシャル・スロット管理情報へのポインタ
である。 また、セグメント・シリンダ/トラック902は、それ
ぞれのセグメント13内に、どのシリンダ500の何番
目の読み書きヘッド305に対応したトラック400上
のデータを格納するかを示す。従って、セグメント・シ
リンダ/トラック902は、1個のスロット12内のセ
グメント13の数、2n個だけ存在する。 また、第1セグメント群空きフラグ903は、第8図に
示した第1セグメント群72全体が空いているか、ある
いは第1セグメント群72全体のデータを全てディレク
タ25に送ってしまった状態を表わす。同様に、第2セ
グメント群75空きフラグ904は、第2セグメント群
75が空いているか、あるいは第2セグメント群全体の
データを全て、データディレクタ25に送ってしまった
状態を表わす。 また、第1セグメント群ロードフラグ905は、第1セ
グメント群72、第2セグメント群75の中、第1セグ
メント群72の方にデータをロードしていることを示す
。 また、スロット・ポインタ906は、このシーケンシャ
ル・スロット管理情報800に対応するスロット12へ
のポインタを表わす。 また、シーケンシャル・ロード・フラグ907は、シー
ケンシャル・スロット管理情報800を新たなシーケン
シャル読み出し処理に割り当てた後、初めてデータロー
ドを行う時、オンにする。 また、第1O図のランダム・スロット管理情報801の
構成は、第12図に示される。 本実施例のランダム・スロット管理情報801は、LR
U順に並べることはできないので、第11図に示したシ
ーケンシャル・スロット管理情報800と異なり、2n
個のセグメントシリンダ/トラック902、第1セグメ
ント群空きフラグ903、第2セグメント群空きフラグ
904、第1セグメント群ロードフラグ905、スロッ
ト・ポインタ906、イニシャル・ロード・フラグ9゜
7によって構成される。 また、第10図の全体情報8o2については、第13図
に示される。 第13図において、1100はLRUキュー1 lot
はMRUスロットポインタ、1102はLRUスロット
ポインタ、1103はリードフラグ、1104はシーケ
ンシャルフラグ、1105はシリンダ翫、1106はヘ
ッド磁、1107はセクタ磁、1108は転送レコード
数、1109は転送完了レコード数、1110はイニシ
ャル転送フラグ、1111は転送終了セグメント隘、1
112は転送終了セグメント・アドレス、1113は読
み出し対象管理情報である。 このMRUスロット・ポインタ1101は、−番最近読
み出し対象となったシーケンシャル・スロット管理情報
800を指すポインタである。 また、LRUスロット・ポインタ1102は、最も長い
間読み出し対象となっていないシーケンシャル・スロッ
ト管理情報800を指すポインタである。 また、リードフラグ1103は、ディレクタ25から受
け取った入出力処理要求がリード処理要求であることを
示す。 また、シーケンシャル・フラグ1104は、ディレクタ
25から受け取った入出力処理要求がシーケンシャル処
理要求であることを示す。 また、シリンダ41105は、受け取った入出力処理要
求において、最初に転送対象となるレコード401が格
納されているシリンダ500を示し、ヘッドN1110
6は、読み書きヘッド305から定まるトラックを表わ
す。 また、セクタPkLl107は、最初に転送対象となる
レコード401が格納されているセクタ402を表わす
。 また、転送レコード数1108は、受け取った入出力処
理で転送されるレコード401の数を表わす。 また、転送完了レコード数1109は、受け取った入出
力処理の実行中、ディレクタ25に転送したレコード4
01の数を表わす。 また、イニシャル転送フラグ1llOは、このレコード
401の転送が受け付けた入出力要求の最初の転送であ
ることを示す。 また、転送終了セグメントNal l 11は、ディレ
クタ25との転送が終了したレコード401が格納され
ているセグメントの識別子であり、転送終了セグメント
・アドレス1112は、レコード401の格納終了アド
レスである。 また、読み出し対象管理情報1113は、実際に読み出
し対象となるシーケンシャル・スロット管理情報800
、あるいはランダム・スロット管理情報801へのポイ
ンタである。 従って、例えば1個の入出力要求で複数のレコード40
1を転送する場合、2個目以降のレコード401の転送
は次のように実行される。すなわち、転送終了セグメン
トl1hl 111.転送終了セグメント・アドレス1
112より、直前の転送対象となったレコード401の
格納終了位置から転送対象とするレコード401を捜す
、この後、最初に見つかったレコード401を転送対象
とする。 次に、第14図および第15図により、LRUキュー1
100の操作方法について述べる。 第14図は、木発l對の第1の実施例において、既にス
ロット12を割り当てであるシーケンシャル読み出し処
理要求を受け付けた場合のL RUキュー1100の操
作法を示す説明図である。 第14図において、+200は読み出し対象となったス
ロット12に対応したシーケンシャル・スロット管理情
報aである。 また、(i)は、シーケンシャル読み出し処理要求を受
け付ける前のLRUキュー1100の状態を示す、この
場合、シーケンシャル・スロット管理情報a 1200
は、既にシーケンシャル読み出し処理に割り当てられて
いる。 また、(■)は、シーケンシャル読み出し処理が完了し
た時のLRUキュー1100の状態を示す。 この場合、シーケンシャル・スロット管理情報a120
0は、一番最近読み出し対象となったシーケンシャル・
スロット管理情報ということになる。 従って、MRUスロット・ポインタ1 lotが示す位
置に移動させている。 第15図は、本実施例の第1の実施例において、スロッ
トを割り当てていないシーケンシャル読み出し処理要求
を受け付けた場合のLRUキュー1100の操作法を示
す説明図である。 第15図において、1300はLRUスロット・ポイン
タ1102が示していたシーケンシャル・スロット管理
情報すである。 また、(i)は、シーケンシャル読み出し処理要求を受
け付ける前のLRUキュー1100の状態である。この
場合、受け付けたシーケンシャル読み出し処理要求には
、LRUスロット・ポインタ1102が示していたシー
ケンシャル・スロット管理情報b1300を割り当てる
。 また、(it )は、このシーケンシャル読み出し処理
が完了した後、シーケンシャル・スロット管理情報b 
1300をMRUスロット・ポインタ1101が示すよ
うに変更した場合を示す。 次に、第5図に示したプロセッサ・インタフェース30
2について述べる。 第16図は、本発明の第1の実施例におけるプロセッサ
・インタフェース302の説明図である。 第16図において、1400は要求フラグ、1401は
ロード・シリンダ、1402はロード・トラック、14
03はロード・セグメントである。 この要求フラグ1400は、プロセッサa300がプロ
セッサb301に、円板304の1回転分の読み出し処
理を行うように要求するビットである。 また、ロード・シリンダ1401は、どのシリンダ50
0のデータを読み出すかを表わす情報である。 また、ロード・トラック1402は、どの円板304上
のトラック400から、次の1本のトラック400上の
データを読み出すのかを指定する。 また、ロード・セグメント1403は、n個存在し、読
み出し対象となる1本のトラック4′00上のデータを
どのセグメント13内にロードするかを指定する。 次に、第17図〜第23図により、第5図に示したプロ
セッサa300とプロセッサb301の処理手順につい
て述べる。 第17図は、本発明の第1の実施例におけるプロセッサ
a300がディレクタ25から入出力処理要求を受け取
った場合の処理フローチャートである。 本実施例では、プロセッサa300がディレクタ・イン
タフェース303を通じて、ディレクタ25から入出力
要求を受け取り、この入出力要求に関する入出力情報を
第10図に示した全体情報802にセットする(170
0)、なお、具体的には、ディレクタ25からは、以下
に示す情報を受け取る。 (1)リード処理/ライト処理の区別 (2)シーケンシャル処理/シーケンシャル以外の処理
の区別 (3)シリンダ磁 (4)ヘッド凪 (5)セクタ魚 (6)転送レコード数 さらに、プロセッサa300は、受け取った入出力処理
がリード処理ならば、第13図に示したリードフラグ1
103をオン、ライト処理ならば。 リードフラグ1103をオフにする。さらに、受け取っ
た入出力処理が、シーケンシャル処理ならば、シーケン
シャル・フラグ1】0ルをオンにし、シーケンシャル以
外の処理ならば、シーケンシャル・フラグ1104をオ
フにする。なお、シリンダNIIL+105、ヘッドN
[Li2O2、セクタNIILII07、転送レコード
数1109に関しては、ディレクタ25側から受け取っ
た値をそのままセットする。さらに、イニシャル転送フ
ラグ1109をオフし、転送完了レコード数1110を
0にする。 この場合、入出力対象となるデータは、受け付けたシリ
ンダN11105、今ツド患1106より定まる。トラ
ック400上のセクタ&1107に示された直後のセク
タ402から開始されるレコード401を起点とする。 このレコード401以降、転送レコード数に等しくなる
までのレコード401の集合が入出力対象となる。 次に、リード・フラグ1103がオフであるかをチエツ
クする(1701)。 その結果、リード・フラグ1103がオフ、すなわち、
受け取った入出力処理がライト要求であれば、ステップ
1705ヘジヤンプする。なお、ライト要求では、バッ
ファ308を使用せず、円板304とディレクタ25と
の間で直接、転送装置a309を用いてデータ転送を実
行する。 また、リードフラグがオンならば、シーケンシャル・フ
ラグ1104がオンかをチエツクしく1702)、オン
であれば、第18図に示す処理をコールする(1717
)。また、受け取った入出力要求がシーケンシャル読み
出し処理の場合には、必らず、バッファ308に読み出
し対象データを読み込んでから、ディレクタ25へ転送
する。 次に、受け取ったシーケンシャルでない処理における転
送レコード数1108が1であるかをチエツクする(1
703)。 その結果、転送レコード数1108が2以上の場合には
、n台あるデータ転送装置b313を利用して、−度、
データをバッファ307にロードした方が効率がよい。 従って、第19図に示す処理フローをコールする(17
18)。 それ以外の場合には、次に示すように具体的な入出力処
理に入る。 ステップ1703において、転送レコード数=1である
場合、要求フラグ1400をチエツクし、プロセッサb
301がバッファ307内にデータをロード中であるか
を調べ、要求フラグ1400がオフになるまで待つ(1
704)。 また、ステップ1705では、読み書きヘッド・インタ
フェース306を通じて、現在の読み書きヘッド305
の下にあるシリンダ500の位置を確め、その値とシリ
ンダ!411105とを比較する。 それらが一致しない場合には、読み書きヘッド・インタ
フェース306を通じ、読み書きヘッド305にシーク
動作を要求する(1706)。 次に、シーク動作の完了するのを待つ(1707)。 次に、読み書きヘッド・インタフェース306を通じて
、読み書きヘッド305の下にあるセクタ402の番号
を読み出す(1708)。この動作は、読み書きヘッド
305の下にあるセクタが、セクタ11hl107と一
致するまで続ける。 次に、読み書きヘッド305の位置が指定したセクタN
a1107に示されたセクタ402に来ていることを、
ディレクタ25に伝える(1709)。 この際、ディレクタ・インタフェース303を用いる。 次に、ディレクタ25から転送要求が到着するのを一定
時間待つ(1710)。 そして、ディレクタ25からの転送要求が到着した場合
、ステップ1711において、以下の動作を実行する。 すなわち、転送装置a309を使用して、直接ディレク
タ25と読み書きヘッド305の間で、データ転送を実
行する。但し、バッファ307内に格納したレコード4
01が書き込み対象となる場合、バッファ307内のレ
コード401も更新する。 また、ステップ1710において、ディレクタ25から
の転送要求が来なかった場合、以下の動作を行う。すな
わち、リードフラグ1103がオフであり、受け付けた
入出力要求がライト要求であること示す場合(+ 71
2)、ステップ1709ヘジヤンプする。これは、円板
304がもう1回転するのを待つためである。 また、リードフラグ1103がオフの場合(1712)
、ステップ1713において、以下の動作を実行する。 すなわち、第12図に示したランダム・スロット管理情
報801のスロット・ポインタ906に指定されたスロ
ット内のセグメントにデータをロードする。次に、シリ
ンダkil。 5、ヘッドNa1106に対応したトラックをサーチす
る。この後、最初に見い出したレコード401を転送す
るように、n台の転送装置b313の中の適当な1台に
転送指示を出す。 さらに、転送装置b313の転送が完了するのを待つ(
1714)。 こうして、転送袋Wlb313の転送が完了すると、デ
ィレクタ・インタフェース303を通じ、ディレクタ2
5との転送が可能になるまで待つ(1715)。 さらに、ディレクタ25との転送が可能になると、ステ
ップ1716において、以下の動作を行う。すなわち、
ランダム処理用スロット管理情報801のスロット・ポ
インタ906が示すスロット12内のセグメント13か
ら、データをディレクタ25側に送る。以上により、読
み出し処理が完了する。 次に、第18図により、第17図のステップ1717の
詳細について述べる。 第18図は、本発明の第1の実施例において、プロセッ
サa300がシーケンシャル読み出し処理要求を受け取
った場合の処理フローチャートである。 本実施例では、全てのシーケンシャル・スロット管理情
報800のセグメントシリンダ/トラック902をサー
チする(1800)、このサーチにより、受け付けたシ
ーケンシャル読み出し処理が既にスロット12を割り当
てであるかどうかをチエツクする。具体的には、受け付
けた入出力要求のシリンダ凪1105、ヘッドIh11
06がセグメントシリンダ/トラック902に一致する
か否かを調べる。 その結果、割り当てである場合には、ステップ1804
ヘジヤンプする。 また、割り当てていない場合には、ステップ1801に
おいて、以下の処理を実行する。すなわち、LRUスロ
ット・ポインタ1107が示しているシーケンシャル・
スロット管理情報800を割り当て対象とする。これは
、当該シーケンシャル・スロット管理情報800内のス
ロット・ポインタ906が示すスロット12を、受け付
けたシーケンシャル読み出し処理に割り当てるというこ
とも意味する。 次に、第15図に示したように、受け付けたシーケンシ
ャル読み出し処理に割り当てたシーケンシャル・スロッ
ト管理情報800をMRUスロット・ポインタ1101
が示す位置に移す(1802)。 次に、シーケンシャル・スロット管理情報800内の情
報のセットを行う(1803)。具体的には、第1セグ
メント群空きフラグ903、第2セグメント群空きフラ
グ904をオンにする。さらに、第1セグメント群ロー
ド・フラグ905をオフにする。さらに、イニシャル・
ロード・フラグ907をオンにする。この後、ステップ
1805ヘジヤンプする。 一方、既にスロット12が割り当てられている場合には
(1800)、第14図に示したLRUキュー1100
の操作法に従って、受け付けたシーケンシャル読み出し
処理に割り当てであるシーケンシャル・スロット管理情
報800を、MRUスロット・ポインタ1 lotが示
す位置に移す(1804)。 次に、ステップ1805では、受け付けたシーケンシャ
ル読み出し処理に割り当てであるシーケンシャル・スロ
ット管理情報800へのポインタを、読み出し対象管理
情報1112にセットする。 さらに、具体的な転送処理に入るため、第20図に示す
処理フローをコールする(1806)。 次に、第19図により、第17図のステップ1718の
詳細について述べる。 第19図は、本発明の第1の実施例において、プロセッ
サa300が2個以上のレコードの読み出し処理を実行
する非シーケンシャル読み出し処理を受け取った場合の
処理フローチャートである。 本実施例では、まず、ランダム・スロット管理情報80
1内の情報のセットを行う(1900)。 具体的には、第1セグメント群空きフラグ903゜第2
セグメント群空きフラグ9.04をオンにする。 さらに、第1セグメント群ロード・フラグ905をオフ
にする。さらに、イニシャル・ロード・フラグ907を
オンにする。 次に、ランダム・スロット管理情報801へのポインタ
を、読み出し対象スロット1113にセットする(19
01)。 次に、具体的な読み出し処理に入るため、第20図に示
す処理をコールする(1902)。 次に、第20図により、第19図のステップ1902の
詳細について述べる。 第20図は、本発明の第1の実施例において、プロセッ
サa300がバッファを利用して読み出し処理を実行す
る場合の処理フローチャートである。 なお、本実施例で読み出し対象となるデータをロードす
るスロット12は、第13図に示した読み出し対象管理
情報1113よりポイントされたスロット12である。 従って、以下、第11図に示したシーケンシャル・スロ
ット管理情報800内の各情報について述べる場合には
、読み出し管理情報1113によりポイントされた情報
を指す。 また、第8図に示したスロット12内の構成要素につい
て述べた場合、上記スロット管理情報のスロット・ポイ
ンタ900よりポイントしたスロット12、およびその
スロット12内の構成要素を示す。以上は、第20図だ
けでなく、第21図、第22図、第26図の場合も同様
である。 本実施例では、第1セグメント群空きフラグ903、第
2セグメント群空きフラグ904が何れもオンの場合(
2000)、ステップ2014ヘジヤンプする。 また、オフの場合には、第16図に示した要求フラグ1
400がオンであるかをチエツクする(2001)。 その結果、オフの場合、ステップ2005ヘジヤンプす
る。また、オンの場合、ステップ2002で転送完了し
、転送完了レコード数1109が転送レコード数110
8に等しいかをチエツクする(2002)。そして、等
しくなければ、ステップ2010ヘジヤンプする。 また、等しい場合には、要求フラグ1400がオンにな
るまで待つ(2003)。こうして、要求フラグ140
0がオンになると、ステップ2004へ進み、第21図
に示す処理をコールする。 次に、読み出し対象情報1113がポイントしているス
ロット管理情報800内の第1セグメント群ロードフラ
グ903がオンかをチエツクする(2005)。 その結果、オンであれば、ステップ2007ヘジヤンプ
する。 また、オフの場合には、ステップ2006で以下の処理
を実行する。すなわち、第8図の第1セグメント群72
に属する全てのセグメント13のアドレスをロード・セ
グメント1403にセットする。 次に、イニシャル・ロードフラグ907がオンかをチエ
ツクする(2016)。 その結果、オフであれば、ステップ2019ヘジヤンプ
する。また、オンの場合には、シリンダN[Lll、0
5、ヘッドN11106とロード・シリンダ1401、
ロード・トラック1402にセットする(2017)。 さらに、イニシャル・ロードフラグ907をオフして(
2018)ステップ2020ヘジヤンプする。 また、ステップ2016において、イニシャル・ロード
フラグ907がオフの場合には、第2セグメント群75
の最後のセグメントに対応するセグメントシリンダ/ト
ラック902が示すトラック400を得る。次に、この
トラック400の次のトラック400に対応したシリン
ダ500の番号、読み書きヘッド305の番号を算出す
る。この後、それぞれの算出結果をロード・シリンダ1
401、ロード・トラック1402に格納する(201
9)。 次に、ステップ2021では、まず、ロード・シリンダ
1401.ロード・トラック1402に格納したシリン
ダ500の番号、読み書きヘッド305の番号から、対
応したトラック400を得る0次に、このトラック40
0から、0本のトラック400が属するシリンダ500
の番号、読み書きヘッド305の番号を算出する。この
後、算出した値を第1セグメント群72の内のセグメン
ト13に対応したn個のセグメントシリンダ/トラック
902に格納する。さらに、第1セグメント群ロードフ
ラグ906をオンにして、ステップ2008ヘジヤンプ
する。 また、ステップ2005において、第1セグメント群ロ
ードフラグがオンであれば、ステップ2007に進む(
2007)。すなわち、第2セグメント群75に属する
全てのセグメント13のアドレスを、ロード・セグメン
ト1403にセットする。次に、第1セグメント群75
の最後のセグメントに対応するセグメントシリンダ/ト
ラック902に示されたトラック400を得る。この後
、このトラックの次のトラックに対応したシリンダ50
0の番号、読み書きヘッド305の番号をそれぞれロー
ド・シリンダ1401.ロード・トラック1402に格
納する。さらに、ロード・シリンダ1401.ロード・
トラック1402に格納したシリンダ500の番号、読
み書きヘッド305の番号に対応したトラック400を
基準にして、以下の処理を行う。すなわち、このトラッ
ク400から0本のトラック400が属するシリンダ5
0oの番号、読み書きヘッド305の番号を、爾2セグ
メント群75内のセグメントに対応したn個のセグメン
トシリンダ/トラック902にセットする。この後、第
1セグメント群ロードフラグ903をオフにする。 次に、1回転分のロード処理をプロセッサb301に実
行させるため、要求フラグ1400をオンにする(20
08)。 次に、転送完了レコード数1109が転送レコード数1
108に等しいかをチエツクする(2009)。 その結果、等しい場合は、ステップ2011ヘジヤンプ
し、等しくない場合には、第1セグメント群空きフラグ
903および第2セグメント群空きフラグ904が、何
れもオンかをチエツクする(2010)。 そして、何れもオンでない場合、ステップ2014ヘジ
ヤンプする。 また、何れもオンの場合には、要求フラグ1400がオ
ンになるまで待つ(2011)。 こうして、要求フラグ1400がオンになると、第21
図に示す処理をコールして(2012)、その後、ステ
ップ2014ヘジヤンプする。 また、ステップ2009において、転送レコード数11
08=転送完了レコード数1109であれば、第1セグ
メント空きフラグ903と第2セグメント空きフラグ9
04の双方がオフかをチエツクする(2013)。 その結果、双方がオフである場合には、転送処理を終了
し、成立しない場合には、ステップ2000へ戻る。 また、ステップ2014では、ディレクタ25との間で
1個のレコードの転送を実行するため、第22図に示す
処理をコールする。 この後、シーケンシャル・フラグ1104がオフで、か
つ、転送レコード数1108と転送完了レコード数11
09が等しいかをチエツクする(2015)。 その結果、この条件が成立しない場合は、ステップ20
00ヘジヤンプし、成立する場合には、処理を終了させ
る。 次に、第21図により、第20図のステップ2004.
2012の詳細について述べる。 第21図は、本発明の第1の実施例において、要求フラ
グがオフになった場合のプロセッサa300の処理フロ
ーチャートである。 本実施例では、まず、第9図に示した第1セグメント群
ロードフラグ905がオンかをチエツクする(2100
)。 その結果、オンであれば、第1セグメント群空きフラグ
903をオフにして処理を終了する(2101)。また
、オフの場合、第2セグメント群空きフラグ904をオ
フにして処理を終了する(2102)。 次に、第22図により、第20図のステップ2014の
詳細について述べる。 第22図は、本発明の第1の実施例における転送装置c
315とディレクタ25との間の転送を示す処理フロー
チャートである。 本実施例では、まず、第5図に示したディレクタ25と
データ転送に入るための接続要求を、ディレクタ・イン
タフェース303を通じて実行する(2200)。 次に、ディレクタ25との転送が可能になると、第11
図に示したイニシャル転送フラグ907がオンかをチエ
ツクしく2201)、オフの場合、ステップ2204ヘ
ジヤンプする。 また、オンの場合には、第13図に示したシリンダNa
1105およびヘッドNa1106とセグメント・シリ
ンダ/トラック902より、転送対象となるセグメント
I3を捜し、セクタNa1107から定まる番地より、
セグメント13内をサーチして、転送対象となるレコー
ド401を見つける(2202)。 この後、イニシャル転送フラグ907をオフして(22
03)、ステップ2205ヘジヤンプする。 一方、ステップ2204では、転送終了セグメントl1
hl l l lおよび転送終了セグメントアドレス1
112より、転送対象とするレコード401を見つける
。 この後、ルコード分の転送を、転送装置C313に指示
して(2205)、これが完了するのを待つ(2206
)。 さらに、完了通知を受け取ると、転送完了レコード数1
109にlを加えて、転送終了したレコード401より
、転送終了セグメントNal 111゜転送終了セグメ
ントアドレス1112を更新する(2207)。 次に、転送完了したレコードが第8図の第1セグメント
群内最終レコード76であるかをチエツクする(220
8)。 その結果、第1セグメント群内最終レコード76であれ
ば、第1セグメント空きフラグ903をオンにして処理
を終了する(2209)。 また、第1セグメント群内最終レコード76でなければ
、転送完了したレコードが第2セグメント群内最終レコ
ード77であるかをチエツクする(2210)。 その結果、第2セグメント群内最終レコード77であれ
ば、第2セグメント空きフラグ904をオンにして処理
を終了する(2211)。 次に、第5図のプロセッサa300の指示に従い、プロ
セッサb301が1回転分のロード処理を行う場合につ
いて述べる。 第23図は、本発明の第1の実施例におけるプロセッサ
b301がプロセッサa300の指示に従って1回転分
のロード処理を行う場合の処理フローチャートである。 本実施例では、要求フラグ1400がオンになるのを待
ち(2300)、オンになると、ステップ2301以下
の処理を実行する。 すなわち、ロード・シリンダ1401と読み書きヘッド
・インタフェース306を通じて、現在の読み書きヘッ
ド305の下にあるシリンダ500の番号を得る。この
値により、シーク動作が必要かをチエツクする(230
1)。 その結果、シーク動作が必要でない場合、ステップ23
04ヘジヤンプする。 また、シーク動作が必要な場合、読み書きヘッド・イン
タフェース306を通じて、シーク要求を発行する(2
302)、この後、シーク動作が完了するのを待つ(2
303)。 こうして、シーク動作が完了すると、n台の転送装置!
b312に転送を指示する(2304)、この際、どの
転送装置b312がどのセグメントにどのトラックをロ
ードするかを転送装置bインタフェース313、および
スイッチb314にプロセッサb301が設定する。 さらに、n台の転送装置b313の転送が完了するのを
待つ(2305)。 こうして、n台の転送装置12b313の転送が完了す
ると、第16図に示した要求テラグ1400をオフにし
て(2306)、ステップ2300ヘジヤンプする。 (第2の実施例) 本実施例では、第5図に示したディレクタ25から転送
対象となるレコードの数を前もって受け取らない場合に
ついて述べる。なお、計算機システムおよびバッファ付
きディスク装置24の構成は、第1の実施例と同様であ
る。また、以下に相異点を示す部分以外は第1の実施例
と同様である。 通常、複数のレコード401の転送が終了してから次の
レコード401の転送要求を受け付けるまでの時間は非
常に短く、数10μsecのオーダである。このため、
本実施例では、あるレコード401の転送が終了してか
ら、一定時間待ち、次の転送要求が来ない場合、入出力
処理が完了したとみなす、また、非シーケンシャル処理
の場合、転送対象とするレコード401の数はlである
ことが多いため、ディレクタ25が確保できなかった場
合のみ、バッファ307にデータをロードする。 次に、第24図により、本実施例における全体情報につ
いて述べる。 第24薗は、本発明の第2の実施例における全体情報の
説明図である 本実施例では、第13図(第1の実施例)に示した転送
レコード数1108と転送完了レコード数1109の替
りに、転送終了認識フラグ1600を設ける。これは、
受け付けた入出力要求において、ディレクタ25に送る
べきレコード401は全て送ったということを認識した
時にオンとするフラグである。 次に、本実施例において、第5図に示したプロセッサa
300が入出力要求を受けた場合の処理手順、およびプ
ロセッサa300がバッファ307を利用して読み出し
処理を行う場合の処理手順について述べる。 第25図は、本発明の第2の実施例において、プロセッ
サa300が入出力要求を受け付けた場合の処理フロー
チャートである。 本実施例のステップ2500は、M17図のステップ1
700に対応する。これは、ディレクタ25からの入出
力要求を受け付けた時の各情報のイニシャル・セット処
理であり、ステップ1700における転送レコード数z
08(第13図)への値の設定、転送完了レコード数の
Oクリアのかわりに、転送終了認識フラグ1600のオ
フを行う。 また、第25図では、第17図のステップ1703に相
当する処理はなく、ランダム読み出し処理の場合、ステ
ップ1704の処理に入る。 また、ステップ1716で、バッファ308に読み込ん
だレコード401をディレクタ25に転送した後の処理
が異なる。すなわち、レコード401転送後、一定時間
待ち、ディレクタ25から次のレコード401に対する
読み出し要求がないかを待つ(2501)、そして、読
み出し要求が来ない場合、処理を終了する。また、読み
出し要求が来た場合には、イニシャル転送フラグ111
3をオフにする(2502)。この後、次のレコードの
転送処理を実行するため、第19図の処理フローをコー
ルする(2503)。 第26図は、本発明の第2の実施例において、プロセッ
サa300がバッファ307を利用して読み出し処理を
行う場合の処理フローチャートである。 第26図は、第20図(第1の実施例)に対応する。従
って、本実施例では、第18図のステップ1806でコ
ールされるのは、第26図に示す処理フローチャートで
ある。 本実施例では、ステップ2600、ステップ2601で
、第24図に示した転送終了認識フラグ1600がオン
か否かをチエツクする。なお、第20図では、ステップ
2002とステップ2008、ステップ2013におい
て、第11図に示した転送レコード数1108と転送完
了レコード数1109が等しいかをチエツクする。 また、転送終了認識フラグ1600により、入出力処理
の終了を認識する。なお、第20図では、転送レコード
数1108と転送完了レコード数1109の一致により
、入出力処理終了を認識している。 また、本実施例では、ステップ2014で、第22図(
1個のレコード401の転送を実行する処理)をコール
した後、次のレコード401の転送要求が来るかを一定
時間待つ(2602)。その結果、ディレクタ25から
次の転送要求が来た場合、ステップ2013ヘジヤンプ
し、来なかった場合には、転送終了認識フラグ1600
をオンにする(2603)。さらに、シーケンシャルフ
ラグがオフ、かつ転送終了認識フラグ1600がオンか
をチエツクしく2604)、この条件を満たせば、処理
を終了する。 (第3の実施例) 本実施例では、第7図(第1の実施例)に示したスロッ
ト12の構成およびスロット12の割り当て方法を下記
のように変更する。 (1)ランダム処理用バッファに関する変更本実施例で
は、第6図(i)に示したランダム処理用バッファ10
を複数の割り当て単位で構成する。 これにより、割り当て単位内に格納しであるデータに対
して、読み出し要求が発生した時には、割り当て単位内
のデータをそのまま読み出せばよい。 また、非シーケンシャル読み出し処理は、複数のトラッ
ク400に渡ることは殆どないので、割り当て単位はト
ラック400対応に設ける。 さらに、各割り当て単位をアクセスされた時刻順に管理
する。 これにより、割り当て単位を割り当てていないトラック
400に対して読み出し処理を受け付けた場合には、最
も長い間アクセスを受け付けていない割り当て単位を選
択する。 (2)シーケンシャル処理用バッファに関する変更 本実施例では、第6図(ii )に示したシーケンシャ
ル処理用バッファ11は、複数のスロット12で構成し
、一定時間以上アクセスがないスロット12のみを新た
なシーケンシャル読み出し処理への割り当て対象とする
。 これは、少数のスロット12をLRU順に管理した場合
、割り当てていないシーケンシャル読み出し処理を受付
けると、先読みしていたデータが消失する恐れがあるた
めである。なお、LRU順に管理する方法は、各シーケ
ンシャル読み出し処理のアクセス頻度に差がある場合、
あるいはスロット12の数が比較的多い場合有効である
。 従って、本実施例では、新たなシーケンシャル読み出し
処理を受け付けた時、一定時間以上アクセスがないスロ
ット12がなければ、新たに受け付たシーケンシャル読
み出し処理には、スロット12を割り当てず、読み出し
ヘッド305から直接データを転送する。 次に、具体的な構成について述べる。 第27図は、本発明の第3の実施例におけるランダム処
理用バッファIOの説明図である。 第27図において、2700はランダム・スロットであ
り、ランダム処理用バッファlO内に複数存在する。 また、ランダム・スロット2700には、1個のトラッ
ク400の中のデータを格納する。 第28図は、本発明の第3の実施例におけるランダム・
スロット管理情報801の説明図である。 本実施例では、ランダム・スロット管理情報801は、
第27図に示したランダム・スロット2700対応に複
数存在し、第5図に示したバッファ管理情報308に格
納される。 また、LRU方向ポインタ900は、当該ランダム・ス
ロット管理情報801の次に長い間読み出し対象となっ
ていないランダム・スロット管理情報801へのポイン
タである。また、MRU方向ポインタ901は、当該ラ
ンダム・スロット管理情報801より1個だけ最近読み
出し対象となったランダム・スロット管理情報flo1
へのポインタである。 特に本実施例では、ランダム・スロット管理情報801
の集合をアクセスされた時刻順に管理するので、第1の
実施例(第12図)と異なり、LRU方向ポインタ90
0、MRU方向ポインタ901にも値をセットする。な
お、第1の実施例では、MRU方向ポインタ901.L
RU方向ポインタ900はヌル状態であった。 また、ランダム・スロット2700は、1本のトラック
のレコードを格納するため、セグメント/シリンダ90
2は1個である。同様の理由で、第1セグメント群空き
フラグ903、第2セグメント群空きフラグ904、第
1セグメント群ロードフラグ905は必要ない。 第29図は、本発明の第3の実施例におけるシーケンシ
ャル・スロット管理情報800の説明図である。 第29図において、2900はアクセス時刻であり、当
該シーケンシャル・スロット管理情報800が読み出し
対象となった時刻である。 本実施例では、シーケンシャル・スロット管理情報80
0をLRUキューで管理しない、従って、LRU方向ポ
インタ900、MRU方向ポインタ901は、第1の実
施例(第11図)と異なり、ヌル状態にする。 第30図は、本発明の第3の実施例における全体情報の
構成およびランダムLRUキュー1100の構成を示す
説明図である。 本実施例では、第5図に示したディレクタ25が入出力
処理で対象とするレコードの転送個数を指示しない場合
について述べる。 第30図において、3000は1番最近読み出し対象と
なったランダム・スロット管理情報801へのポインタ
であるランダムMRU方向ポインタ、3001は最も長
い間読み出し対象となっていないランダム・スロット管
理情報801へのポインタであるランダムLRU方向ポ
インタ、3002はランダムLRUキュー、3003は
読み出し対象となっているランダム・スロット管理情報
801へのポインタであるランダム処理対象管理情報、
3004は読み出し処理を実行する際、バッファ307
を使用しない時にセットするスロット使用不可ビットで
ある。 本実施例のシーケンシャル・スロット管理情報800は
、LRU順に管理しないので、MRUポインタ1111
およびLRUポインタ1112はヌル状態となる。 また、ランダム・スロット管理情報801をアクセス類
に管理する必要があるので、ランダムMRUポインタ3
000、ランダムLRUポインタ3001を設け、ラン
ダム・スロット管理情報801をランダムLRUキュー
3002で管理する。 なお、ランダムLRUキュー3002の操作法は、第1
の実施例(第14図、第15図)に示したLRUキュー
1100の操作法と同様である。 なお、前述の実施例では、ランダム・スロット場理情報
801は1個であるため、ランダム処理対象管理情報3
003を設ける必要はなかった。 さらに、本実施例では、シーケンシャル読み出し処理を
受け付けた時刻を記憶するため、プロセッサa300内
にクロック(図示せず)を設ける。 これにより、ある特定の命令を実行する際、クロックを
通じて現在時刻を得ることができる。 次に、本実施例の処理手順について述べる。 本実施例では、非シーケンシャル読み出し処理を実行す
る際、次のような特徴を有する。 (1)第27図に示したランダム・スロット2700は
、1本のトラック400上のレコードを格納する。また
、セット・セクタ処理完了後、第5図に示したディレク
タ25への転送路が確保できない場合には、トラック4
00の全体のレコード401をランダム・スロット27
00にロードした後、ディレクタ25との転送を開始す
る。 (2)読み出し処理が、最初にアクセス対象としたトラ
ック400内の転送のみで終了しなかった場合、それ以
降はバッファ307を使用せず、読み書きヘッド305
とディレクタ25との間で、直接データ転送処理を行う
。 第31図は、本発明の第3の実施例において、プロセッ
サa300がディレクタ25から入出力要求を受けた場
合の処理フローチャート、第32図は本発明の第3の実
施例において、プロセッサa300が非シーケンシャル
読み出し処理を受け付けた場合の処理フローチャート、
第33図は本発明の第3の実施例において、シーケンシ
ャル読み出し処理に割り当てるスロットが存在する場合
の処理フローチャートである。 第31図において、ステップ3111は第25図のステ
ップ2500に相当し、初期情報設定を行うものである
。なお、本実施例ではスロット使用不可ビット3004
をオフにする点が異なる。 また、本実施例では、ステップ1702で第30図のシ
ーケンシャル・フラグ1104がオフの場合、つまり、
非シーケンシャル読み出し要求を受け取った場合には、
第32図に示す処理をコールする(3100)。 こうして、第32図の処理フローの処理が完了した後、
読み出し対象となるトラック400がバッファ307に
存在するかをチエツクする(3101)、その結果、存
在する場合、バッファ3゜7内のデータをディレクタ2
5に送るため、ステップ1715ヘジヤンプし、存在し
ない場合には、ステップ1704以下の処理に入る。 また、第25図のステップ1713に対応するステップ
3102では、転送装置b312は、第32図の処理フ
ローで選択したランダム・スロット2700を転送対象
とする。同様に、ステップ1716に対応するステップ
3103でも、転送装置c314は、第32図の処理フ
ローで選択したランダム・スロット2700を転送対象
とする。 これは、ランダム・スロット2700が複数存在するこ
とによる。なお、第25図のステップ1713、ステッ
プ1716では、ランダム処理用バッファ10を1個の
スロットで構成したため、転送対象となるスロットは一
意に定まっていた。 また、シーケンシャル読み出し処理を受け取った場合、
本実施例では、ステップ3104で、受け付けた読み出
し処理にスロットが割り当てであるかをチエツクする。 その結果、割り当ててあれば、ステップ3106ヘジヤ
ンプし、第33図に示す処理をコールすまた、割り当て
ていない場合、以下の処理を実行する。すなわち、全て
のシーケンシャル・スロット管理情報800内のアクセ
ス時刻2900と現在時刻より、一定時間読み出し対象
となっていないスロット12を捜す(3105)、そし
て、定時間読み出し対象となっていないスロット12が
1個でもあれば、第33図に示す処理をコールする(3
106)、また、一定時間読み出し対象となっていない
スロット12が1個も存在しない場合、スロット使用不
可ビット3004をオンにする(3107)、この後、
ステップ1704ヘジヤンプする。 なお、第25図(第2の実施例)では、ステップ171
9で第18図の処理をコールしている。 また、セット・セクタ処理完了後、ディレクタ25が確
保できなかった場合、本実施例では、ステップ3108
で、リード・フラグ1103=オフ、かつスロット使用
不可ビット3004=オンが成立しない場合に、ステッ
プ1708へ分岐すこれは、読み出し処理の場合でも、
バッファ307を使用できない場合が存在するためであ
る。 なお、第25図では、ステップ1712で、リード・フ
ラグ1103がオフの場合のみ、ステップ1708ヘジ
ヤンプして、円板304が1回転するのを待つ。 次に、非シーケンシャル読み出し処理が複数のトラック
に渡る場合の処理について述べる。これは、第25図の
ステップ2501でディレクタ25から次のレコードの
転送要求がある場合の処理である。 本実施例では、ステップ3109で、転送の完了したレ
コード401の次のレコード401が同一のトラック4
00内に存在するかをチエツクする。 その結果、次のレコード401が存在する場合、ステッ
プ17+5ヘジヤンプし、次の転送に入る。 また、存在しない場合には、ステップ3110で、以下
の処理を実行する。すなわち、シリンダNa1105.
ヘッドN11l106に今まで読み出し対象としていた
トラック400の次のトラック400のシリンダ番号、
読み書きヘッド番号をセットする0次に、セクタN11
l107に0をセットする。最後に、スロット使用不可
ビット3004をオンにする。以上の処理後、ステップ
1705ヘジヤンプする。 最後に、ステップ1711の処理の後の処理について述
べる。なお、ステップ1711では、読み書きヘッド3
05とディレクタ25の間で直接データ転送処理を行っ
ている。従って、割り当てたランダム・スロット270
0を使用しないで、データ転送を終了してしまう場合が
ある。このため、割り当てたランダム・スロット270
0のランダム・スロット管理情報801の内容をリセッ
トする必要が生じる。 本実施例では、リード・フラグ1103がオフ、あるい
はスロット使用不可ビット3004がオンかどうかをチ
エツクする(3112)、これが成立すれば、ランダム
・スロット管理情報801の内容をリセットする(31
13)、このため、ランダム処理対象管理情報3003
が指すランダム・スロット管理情報801内のセグメン
ト/シリンダトラック902に以下の操作を行う。 すなわち、このセグメント/シリンダトラック902に
、円板304上には存在しないシリンダ500の番号を
設定する。これにより、このランダム・スロット管理情
報801に対応したランダム・スロット2700には、
データが入っていないことになる。次に、ランダムMR
Uポインタ3000が示すランダム・スロット管理情報
801をランダムLRUポインタ3001が示す位置に
移す。この操作は、第15図(il)の状態を(i)の
状態に戻す操作に相当する。 次に、第32図により、第31図のステップ3100の
詳細について述べる。なお、この処理は、非シーケンシ
ャル読み出し処理を受け取った時、第5図に示したプロ
セッサa300により実行される。 第32図のように、読み出し対象となるトラック400
が第27図に示したランダム・スロット2700に格納
されているかをチエツクする(3200)。 その結果、格納されている場合、該当するランダム・ス
ロット管理情報801を第30図に示したランダムMR
Uポインタ3000が指す位置に移して(3201)、
ステップ3204へ進む。なお、この操作は第14図に
示した操作と同様の操作である。 また、読み出し対象となるトラック400がランダム・
スロット2700に格納されていない場合には、ランダ
ムLRUポインタ3001が示すランダム・スロット管
理情報801をランダムMRUポインタ3000が示す
位置に移す(3202)、なお、この操作は第15図に
示した操作と同様である。 次に、ランダムMRUポインタ3000が指す位置に移
したランダム・スロット管理情報801に以下の値を初
期設定する(3203)、すなわち、このランダム・ス
ロット管理情報801内のセグメント/シリンダトラッ
ク902内に、シリンダNn1105、ヘッドN111
106の値をセットする。 この後、ランダムMr(Uポインタ3000が指すラン
ダム・スロット管理情報801をランダム処理対象管理
情報3003が指すようにする(3204)。 次に、第33図により、第31図のステップ3106の
詳細について述べる。なお、この処理は、シーケンシャ
ル読み出し処理に対して割り当てるスロットが存在する
場合に実行される。 まず、受け付けたシーケンシャル読み出し処理に対して
、既にスロットを割り当てているかをチエツクする(3
300)。 その結果、割り当てている場合、このスロットに対応し
たシーケンシャル・スロット管理情報800を読み出し
対象管理情報1l13にセットする(3301)。 また、割り当てていない場合、ステップ3302を実行
する。すなわち、シーケンシャル・スロット管理情報8
00内のアクセス時刻3004より最も長い間アクセス
対象となっていないものを見つける。次に、このシーケ
ンシャル・スロット管理情報800を読み出し対象管理
情報1113にセットする。 次に、このシーケンシャル・スロット管理情報800内
のセグメント/シリンダ・トラック902に、シリンダ
1itai 105、ヘッドNa1106の値を設定す
る(3303)。 最後に、第26図に示した処理をコールする(3304
)。 〔発明の効果〕 本発明によれば、ディスク装置側にバッファを有する計
算機システムにおいて、シーケンシャル読み出し処理と
ランダム(非シーケンシャル)読み出し処理との間で効
率のよいバッファ割り当てを実現することにより、高速
な読み出し処理が可能である。
【図面の簡単な説明】
第1図は本発明の第1の実施例における計算機システム
の構成図、第2図〜第4図は第1図の計算機システムで
用いる記録媒体の説明図、第5図は本発明の第1の実施
例におけるバッファ付きディスク装置の構成図、第6図
は本発明の第1の実施例におけるバッファの説明図、第
7図は本発明の第1の実施例におけるスロット12の説
明図、第8図は本発明の第1の実施例におけるデータ転
送処理の説明図、第9図は本発明の第1の実施例におけ
るセグメント13に対するデータロード形式を示す説明
図、第1O図は本発明の第1の実施例におけるバッファ
管理情報308の説明図、第11図は本発明の第1の実
施例におけるシーケンシャル・スロット管理情報800
の説明図、第12図は本発明の第1の実施例におけるラ
ンダム・スロット管理情報801の説明図、第13図は
本発明の第1の実施例における全体情報802の構成と
シーケンシャル・スロット管理のLRUキュー+100
の構成を示す説明図、第14図は本発明の第1の実施例
において、既にスロット12を割り当てであるシーケン
シャル読み出し処理要求を受け付けた場合のLRUキュ
ー1100の操作法を示す説明図、第15図は本発明の
第1の実施例において、スロットを割り当てていないシ
ーケンシャル読み出し処理要求を受け付けた場合のLR
Uキュー2100の操作法を示す説明図、第16図は本
発明の第1の実施例におけるプロセッサ・インタフェー
ス302の説明図、第17図は本発明の第1の実施例に
おけるプロセッサa300がディレクタ25から入出力
要求を受け取った場合の処理フローチャート、第18図
は本発明の第1の実施例において、プロセッサa300
がシーケンシャル読み出し処理要求を受け取った場合の
処理フローチャート、第19図は本発明の第1の実施例
において、プロセッサa300が2個以上のレコードの
読み出し処理を実行する非シーケンシャル読み出し処理
を受け取った場合の処理フローチャート、第20図は本
発明の第1の実施例において、プロセッサa300がバ
ッファを利用して読み出し処理を実行する場合の処理フ
ローチャート、第21図は本発明の第1の実施例におい
て、要求フラグがオフになった場合のプロセッサa30
0の処理フローチャート、第22図は本発明の第1の実
施例における転送装置c315とディレクタ25との間
の転送を示す処理フローチャート、第23図は本発明の
第1の実施例におけるプロセッサb301がプロセッサ
a300の指示に従って1回転分のロード処理を行う場
合の処理フローチャート、第24図は本発明の第2の実
施例における全体情報の説明図、第25図は本発明の第
2の実施例において、プロセッサa300が入出力要求
を受け付けた場合の処理フローチャート、第26図は本
発明の第2の実施例において、プロセッサa300がバ
ッファ307を利用して読み出し処理を行う場合の処理
フローチャート、第27図は本発明の第3の実施例にお
けるランダム処理用バッファ10の説明図、第28図は
本発明の第3の実施例におけるランダム・スロット管理
情報801の説明図、第29図は本発明の第3の実施例
におけるシーケンシャル・スロット管理情報800の説
明図、第30図は本発明の第3の実施例における全体情
報の構成およびランダムLRUキュー1100の構成を
示す説明図、第31rjgJは本発明の第3の実施例に
おいて、プロセッサa300がディレクタ25から入出
力要求を受け付けた場合の処理フローチャート、第32
図は本発明の第3の実施例において、プロセッサa30
0が非シーケンシャル読み出し処理を受け付けた場合の
処理フローチャート、第33図は本発明の第3の実施例
において、シーケンシャル読み出し処理に割り当てるス
ロットが存在する場合の処理フローチャートである。 lO二シランダム処理用バッファ11:シーケンシャル
処理用バッファ、12ニスロツト、13:セグメント、
20:CPU、21:主記憶、22:チャネル、23:
制御装置、24:バッファ付きディスク装置、25:デ
ィレクタ、26:プログラム、70:セグメントa、7
1:セグメントb。 72:第1セグメント群、73:セグメントC174:
セグメントd、75:第2セグメント群。 76二第1セグメント群内最終レコード、77:第2セ
グメント内最終レコード、300:プロセッサa、30
1:プロセッサb、302:ブロセッサ・インタフェー
ス、303:ディレクタ・インタフェース、304:円
板、305:読み書きヘッド、306:読み書きヘッド
・インタフェース、307:バッファ、308:バッフ
ァ管理情報、309:転送装置a、310:転送インタ
フェースa、311:スイッチa、312:転送装置す
、313:転送インタフェースb、314:スイッチb
、315:転送装置c、316:転送インタフェースc
、317:スイツチc、400ニドラック、4.01ニ
レコード、402:セクタ。 500ニジリンダ、501:読み書きヘッドa。 502ニドラックa、503:読み書きヘッドb。 5o4ニドラックb、505:円板a、506:円板す
、600ニドラックc、601ニレコードa、602:
セクタa、603:基準セクタ(セクタ0)、604ニ
レコードb、605ニレコードC1800:シーケンシ
ャル・スロット管理情報、801:ランダム・スロット
管理情報、802:全体情報、900:LRU方向ポイ
ンタ、901:MRU方向ポインタ、902:セグメン
ト・シリンダ/トラック、903:第1セグメント群空
きフラグ、904:第2セグメント群空きフラグ。 905:第1セグメント群ロードフラグ、906:スロ
ット・ポインタ、907:イニシャル・ロードフラグ、
1100:LRUキュー 1101:MRUスロットポ
インタ、l l O2:LRUスロットポインタ、11
03:リードフラグ、1104:シーケンシャルフラグ
、1105ニジリンダ患。 1106:読み書きヘッドNa、1107ニセクタ磁、
ttos:転送レコード数、1109:転送完了レコー
ド数、1110:イニシャル転送フラグ、1111:転
送終了セグメント魚、1112:転送終了セグメント・
アドレス、1113:読み出し対象管理情報、  12
00:シーケンシャル・スロット管理情報a、1300
:シーケンシャル・スロット管理情報す、1400:要
求フラグ、1401:ロード・シリンダ、1402:ロ
ード・トラック、1403:ロード・セグメント、15
00:基準セクタが格納される位置、1600:転送終
了認識フラグ、2700:ランダム・スロット、290
0:アクセス時刻、3000:ランダムMRU方向ポイ
ンタ、3001:ランダムLRU方向ポインタ、300
2:ランダムLRUキュー、3003:ランダム処理対
象管理情報、3004ニスロツト使用不可ビツト。 第 図

Claims (1)

  1. 【特許請求の範囲】 1、バッファを有するディスク装置と、ディレクタを含
    む制御装置を備え、該ディレクタはチャネルを経由して
    上位装置に接続された計算機システムにおいて、上記バ
    ッファには、シーケンシャル読み出し処理用の領域と非
    シーケンシャル読み出し処理用の領域を独立に設け、デ
    ィレクタが上位装置からの入出力要求をディスク装置に
    伝える際、該入出力要求がシーケンシャル読み出し処理
    であるか否かを通知して、該通知により、両該領域の何
    れかを用いて、ディスク装置と上位装置の間のデータ転
    送処理を実行するすることを特徴とするバッファ付きデ
    ィスク装置の入出力処理方法。 2、上記非シーケンシャル読み出し処理用領域を1個の
    バッファ割り当て単位により構成することを特徴とする
    請求項1記載のバッファ付きディスク装置の入出力処理
    方法。 3、上記シーケンシャル読み出し処理用領域を複数のバ
    ッファ割り当て単位により構成することを特徴とする請
    求項1記載のバッファ付きディスク装置の入出力処理方
    法。 4、上記シーケンシャル読み出し用領域におけるバッフ
    ァ割り当て単位を、該バッファ割り当て単位が新しく読
    み出し処理対象となった時刻順に並べて管理することを
    特徴とする請求項1記載のバッファ付きディスク装置の
    入出力処理方法。 5、上記ディスク装置が、上記ディレクタから上記シー
    ケンシャル処理用領域のバッファ割り当て単位を割り当
    てていないシーケンシャル読み出し処理要求を受け取っ
    た場合、該領域におけるバッファ割り当て単位の中で、
    最も長い間読み出し対象となっていないバッファ割り当
    て単位を該シーケンシャル読み出し処理に割り当てるこ
    とを特徴とする請求項1記載のバッファ付きディスク装
    置の入出力処理方法。 6、上記ディスク装置は、上記シーケンシャル読み出し
    処理用領域におけるバッファ割り当て単位が読み出し対
    象となった時刻を記憶する手段を備え、該領域のバッフ
    ァ割り当て単位を割り当てていないシーケンシャル読み
    出し処理要求を受け取った場合、該領域のバッファ割り
    当て単位が最も新しく読み出された時刻から所定時間以
    上経過していなければ、該ディスク装置と上記ディレク
    タの間で直接データを転送することを特徴とする請求項
    1記載のバッファ付きディスク装置の入出力処理方法。 7、上記バッファ内のバッファ割り当て単位の容量を、
    上記ディスク装置が少くとも2回転する間に転送できる
    データ量とすることを特徴とする請求項1記載のバッフ
    ァ付きディスク装置の入出力処理方法。 8、上記ディスク装置は、上記シーケンシャル処理用領
    域のバッファ割り当て単位の中に、読み出し対象となる
    レコードがロードされていないシーケンシャル読み出し
    処理要求を受け取った場合、自装置が1回転する間に、
    読み出し対象となるレコードを含むトラック上の全ての
    データを、該領域のバッファ割り当て単位内にロードし
    た後、読み出し対象となるレコードを上記ディレクタに
    送ることを特徴とする請求項1記載のバッファ付きディ
    スク装置の入出力処理方法。 9、上記ディスク装置は、上記シーケンシャル処理用領
    域のバッファ割り当て単位の中に、読み出し対象となる
    レコードがロードされているシーケンシャル読み出し処
    理を受け取った場合、該領域のバッファ割り当て単位内
    のレコードを上記ディレクタに送ることを特徴とする請
    求項1記載のバッファ付きディスク装置の入出力処理方
    法。 10、上記ディスク装置は、受け付けたシーケンシャル
    読み出し処理が完了し、該シーケンシャル読み出し処理
    に対して割り当てた上記シーケンシャル処理用領域のバ
    ッファ割り当て単位内に空いた部分がある場合、該シー
    ケンシャル読み出し処理が今後、読み出し対象とする1
    個以上のレコードを該部分にロードすることを特徴とす
    る請求項1記載のバッファ付きディスク装置の入出力処
    理方法。 11、上記ディスク装置は、非シーケンシャル読み出し
    処理要求を受け付けた後、読み出し対象となるレコード
    への位置付けが完了して、上記ディレクタとの間のデー
    タ転送が可能となった場合、自装置と該ディレクタの間
    で直接データ転送処理を実行し、データ転送が不可能な
    場合には、該読み出し対象レコードを上記非シーケンシ
    ャル読み出し処理用領域のバッファ割り当て単位にロー
    ドし、該ディレクタへのデータ転送が可能となった時点
    で送ることを特徴とする請求項1記載のバッファ付きデ
    ィスク装置の入出力処理方法。 12、上記上位装置は、上記ディレクタに入出力要求を
    発行する際、該入出力要求で転送対象となるレコード数
    を伝え、該ディレクタは、上記ディスク装置に該レコー
    ド数を伝えることを特徴とする請求項1記載のバッファ
    付きディスク装置の入出力処理方法。 13、上記ディスク装置は、転送レコード数が1である
    非シーケンシャル読み出し処理要求を受け付け、読み出
    し対象となるレコードへの位置付けを完了した場合、上
    記ディレクタとの間でデータ転送が可能であれば、該デ
    ィレクタとの間で直接データ転送処理を実行し、データ
    転送が不可能であれば、該読み出し対象レコードを上記
    非シーケンシャル読み出し処理領域のバッファ割り当て
    単位にロードし、該ディレクタへのデータ転送が可能と
    なった時点で送ることを特徴とする請求項1記載のバッ
    ファ付きディスク装置の入出力処理方法。 14、上記ディスク装置は、転送レコード数が2以上で
    ある非シーケンシャル読み出し処理を受け取った場合、
    自装置が1回転する間に、転送対象となるレコードを含
    むトラック上の全てのレコードを上記非シーケンシャル
    読み出し処理用領域のバッファ割り当て単位にロードし
    た後、該転送対象レコードを上記ディレクタに送ること
    を特徴とする請求項11記載のバッファ付きディスク装
    置の入出力処理方法。 15、上記非シーケンシャル読み出し処理用領域を複数
    のバッファ割り当て単位により構成することを特徴とす
    る請求項1記載のバッファ付きディスク装置の入出力処
    理方法。 16、上記複数のバッファ割り当て単位を、新しく読み
    出し対象となった時刻順に並べて管理することを特徴と
    する請求項1、15記載のバッファ付きディスク装置の
    入出力処理方法。 17、上記複数のバッファ割り当て単位の容量を、上記
    ディスク装置の1本のトラック上に格納できるデータ量
    とすることを特徴とする請求項1、15記載のバッファ
    付きディスク装置の入出力処理方法。 18、上記ディスク装置は、非シーケンシャル読み出し
    処理要求を受け付け、上記非シーケンシャル処理用領域
    のバッファ割り当て単位内に、読み出し対象となるトラ
    ック上のデータが格納されている場合、該領域のバッフ
    ァ割り当て単位内のデータを上記ディレクタに送ること
    を特徴とする請求項1、15記載のバッファ付きディス
    ク装置の入出力処理方法。
JP1237892A 1989-09-13 1989-09-13 バッファ付きディスク装置の入出力処理方法 Pending JPH03100718A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1237892A JPH03100718A (ja) 1989-09-13 1989-09-13 バッファ付きディスク装置の入出力処理方法
US07/579,718 US5187778A (en) 1989-09-13 1990-09-10 Buffered disk unit and method of transferring data therein
DE69024145T DE69024145T2 (de) 1989-09-13 1990-09-12 Gepufferte Platteneinheit und Verfahren zur Datenübertragung
EP90117589A EP0418723B1 (en) 1989-09-13 1990-09-12 Buffered disk unit and method of transferring data therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1237892A JPH03100718A (ja) 1989-09-13 1989-09-13 バッファ付きディスク装置の入出力処理方法

Publications (1)

Publication Number Publication Date
JPH03100718A true JPH03100718A (ja) 1991-04-25

Family

ID=17021970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1237892A Pending JPH03100718A (ja) 1989-09-13 1989-09-13 バッファ付きディスク装置の入出力処理方法

Country Status (4)

Country Link
US (1) US5187778A (ja)
EP (1) EP0418723B1 (ja)
JP (1) JPH03100718A (ja)
DE (1) DE69024145T2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526507A (en) * 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
JPH07334310A (ja) * 1994-06-06 1995-12-22 Toshiba Corp ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
JPH08328752A (ja) * 1994-06-10 1996-12-13 Canon Inc 情報記録装置及び方法
US5717918A (en) * 1994-06-17 1998-02-10 Hitachi, Ltd. Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed
JPH11143643A (ja) * 1997-11-06 1999-05-28 Sony Corp 再生装置、及びキャッシュ処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5833770A (ja) * 1981-08-24 1983-02-28 Sony Corp デジタルデ−タのプログラム転送方法
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4454595A (en) * 1981-12-23 1984-06-12 Pitney Bowes Inc. Buffer for use with a fixed disk controller
JPS58186867A (ja) * 1982-04-27 1983-10-31 Hitachi Ltd キャッシュ・メモリの制御方式
JPS5933689A (ja) * 1982-08-20 1984-02-23 Hitachi Ltd デ−タ転送方式
JPS5938866A (ja) * 1982-08-27 1984-03-02 Fujitsu Ltd 磁気デイスク装置
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
JPS617967A (ja) * 1984-06-15 1986-01-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション I/oコントロ−ラ
US4667286A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for transferring data between a disk and a central processing unit
US5056010A (en) * 1989-10-30 1991-10-08 Industrial Technology Research Institute Pointer based DMA controller

Also Published As

Publication number Publication date
EP0418723B1 (en) 1995-12-13
DE69024145D1 (de) 1996-01-25
DE69024145T2 (de) 1996-10-17
US5187778A (en) 1993-02-16
EP0418723A2 (en) 1991-03-27
EP0418723A3 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
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
US4920478A (en) Cache system used in a magnetic disk controller adopting an LRU system
US5584012A (en) Cache control method and rotary storage device having cache control
EP0354579B1 (en) A controller with a cache memory and control method of the cache memory
US5937427A (en) Information recording apparatus and method capable of efficient erase, write and verify processes
CA2375672C (en) Disk drive controller circuit and method for skipping defective and/or undesired sectors
US4972364A (en) Memory disk accessing apparatus
JPH1063578A (ja) 情報記録再生装置
KR20020064357A (ko) 디스크 드라이브내 버퍼 내부 및 외부 데이터 전송 관리용버퍼 관리 시스템
JPH0675897A (ja) 分割を許容するバッファ・メモリ管理方法及びその装置
US6795264B2 (en) LBA tracking for system data management
JPH04243458A (ja) チャネルー直接アクセス記憶装置間非同期通信システム
JPH03100718A (ja) バッファ付きディスク装置の入出力処理方法
US6209057B1 (en) Storage device having data buffer
WO2011074591A1 (ja) ストレージ装置、ストレージ制御装置、ストレージ制御方法及びプログラム
JPH04246746A (ja) 記憶装置システム
JPH0368468B2 (ja)
JPH03172946A (ja) データ書き出し制御方式および装置
JPS59125463A (ja) 外部記憶制御方式
EP0278471B1 (en) Data processing method and system for accessing rotating storage means
JPH05100927A (ja) バツフア管理方法
WO1994022134A1 (en) Buffer control for data transfer within hard disk during idle periods
JP3524954B2 (ja) ディスク制御装置
JPH02132515A (ja) 先読み制御方式
JPH0519181B2 (ja)