JPH04162126A - バッファ付き記憶装置および制御装置および記憶装置サブシステム - Google Patents
バッファ付き記憶装置および制御装置および記憶装置サブシステムInfo
- Publication number
- JPH04162126A JPH04162126A JP2289210A JP28921090A JPH04162126A JP H04162126 A JPH04162126 A JP H04162126A JP 2289210 A JP2289210 A JP 2289210A JP 28921090 A JP28921090 A JP 28921090A JP H04162126 A JPH04162126 A JP H04162126A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- control device
- storage
- buffer
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は、バッファ付き記憶装置および制御装置および
記憶装置サブシステムに関し、さらに詳しくは、記憶装
置へのデータの書き込み処理を高速化、高効率化しうる
バッファ付き記憶装置および制御装置および記憶装置サ
ブシステムに関する。
記憶装置サブシステムに関し、さらに詳しくは、記憶装
置へのデータの書き込み処理を高速化、高効率化しうる
バッファ付き記憶装置および制御装置および記憶装置サ
ブシステムに関する。
特開平1−182970号公報において、バッファ付き
ディスク装置に関する従来技術が開示されている。 この特開平1−182970号公報におけるバッファの
利用目的は、制御装置側から見たとき、ディスク装置に
対する位置付は処理(シークサーチ処理)が完了した後
、直ちにリード/ライト動作に入ることが出来るように
することである。 具体的には、まず、制御装置は、バッファ付きディスク
装置側に、位置付は処理を行うべきディスク装置上のア
ドレス、リート/ライトの対象となるレコードのレコー
ド番号とデータ長を、制御情報として、送出する。 リード動作を実行する場合、バッファ付きディスク装置
は、位置付は処理を完了後、受け取ったレコード番号に
よりリード対象となるレコードを見つけ、このレコード
をバッファに読み込みつつ、制御装置にデータを読むよ
うに要求する。そして、制御装置からリード要求がある
と、バッファに読み込んでいたデータを制御装置に送る
。 ライト動作を実行する場合、バッファ付きディスク装置
は、位置付は処理を完了後、受け取ったレコード番号に
よりライト対象となるレコード見つける動作に入るのと
同時に、制御装置がらライトすべきデータをバッファに
読み込む処理に入る。 ライト対象となるレコードを見つけると、バッファに読
み込んでいたライトデータを前記レコードに書き込む。 他方、特開昭59−38866号公報において、複数の
読み書きヘッドと複数のり一ト/ライト回路を有するデ
ィスク装置に関する技術か開示されている。 この従来技術の目的は、データの読み出し処理と書き込
み処理の並列実行による効率向上である。 具体的には、バッファ付きディスク装置は、バッファに
ライトデータを蓄積しておく。そして、制御装置からの
読み出し要求があると、要求データをディスク装置から
読みだす際、複数の読み書きヘッドと複数のリード/ラ
イト回路を利用して、バッファに蓄積したライトデータ
の中で、リートデータと同一シリンダに属するデータの
書き込み処理を、リードデータの読み出し処理と並列に
実行するものである。 また、特開昭55−157053号公報においては、デ
ィスクキャッシュを有する制御装置に関する従来技術が
開示されている。 この従来技術の目的は、ディスクキャッシュを利用して
ライト処理を高速化することである。この制御は、ライ
トアフタ制御と呼ばれる。 具体的には、制御装置は、処理装置から受け付けたライ
トデータをキャッシュ内に書き込み、その段階で処理装
置に対してはライト処理を完了させる。 キャッシュ内に格納したライトデータのディス装置への
実際の書き込み処理は、後から、処理装置からの入出力
要求とは非同期に制御装置か実行する。この非同期の書
き込み処理は、ライトアフタ処理と呼ばれる。 また、特開昭59−135563号公報においても、上
記と同様のディスクキャッシュを有する制御装置に関す
る従来技術が開示されている。 この従来技術の目的は、ライトアフタ処理の信頼性の向
上と高速化である。 具体的には、制御装置内にディスクキャッシュに加えて
不揮発性メモリを設け、ライトデータをディスクキャッ
シュと不揮発性メモリの両方に格納する。これにより、
ライトアフタ処理の高信頼化を図る。また、ディスクキ
ャッシュ内のライトデータをディスク装置に書き込む時
、ライトデータをシリンダ番号順にソートすることによ
り、シーク時間を短縮する。 さらに、特開昭59−100946号公報においても、
上記と同様のディスクキャッシュを有する制御装置に関
する従来技術が開示されている。 この従来技術の目的は、ライトアフタ処理の高速化であ
る。 具体的には、処理装置とディスクキャッシュの間のデー
タ転送と、ディスクキャッシュとディスク装置の間のデ
ータ転送とを並列に実行させる。 これにより、高速化を図るものである。
ディスク装置に関する従来技術が開示されている。 この特開平1−182970号公報におけるバッファの
利用目的は、制御装置側から見たとき、ディスク装置に
対する位置付は処理(シークサーチ処理)が完了した後
、直ちにリード/ライト動作に入ることが出来るように
することである。 具体的には、まず、制御装置は、バッファ付きディスク
装置側に、位置付は処理を行うべきディスク装置上のア
ドレス、リート/ライトの対象となるレコードのレコー
ド番号とデータ長を、制御情報として、送出する。 リード動作を実行する場合、バッファ付きディスク装置
は、位置付は処理を完了後、受け取ったレコード番号に
よりリード対象となるレコードを見つけ、このレコード
をバッファに読み込みつつ、制御装置にデータを読むよ
うに要求する。そして、制御装置からリード要求がある
と、バッファに読み込んでいたデータを制御装置に送る
。 ライト動作を実行する場合、バッファ付きディスク装置
は、位置付は処理を完了後、受け取ったレコード番号に
よりライト対象となるレコード見つける動作に入るのと
同時に、制御装置がらライトすべきデータをバッファに
読み込む処理に入る。 ライト対象となるレコードを見つけると、バッファに読
み込んでいたライトデータを前記レコードに書き込む。 他方、特開昭59−38866号公報において、複数の
読み書きヘッドと複数のり一ト/ライト回路を有するデ
ィスク装置に関する技術か開示されている。 この従来技術の目的は、データの読み出し処理と書き込
み処理の並列実行による効率向上である。 具体的には、バッファ付きディスク装置は、バッファに
ライトデータを蓄積しておく。そして、制御装置からの
読み出し要求があると、要求データをディスク装置から
読みだす際、複数の読み書きヘッドと複数のリード/ラ
イト回路を利用して、バッファに蓄積したライトデータ
の中で、リートデータと同一シリンダに属するデータの
書き込み処理を、リードデータの読み出し処理と並列に
実行するものである。 また、特開昭55−157053号公報においては、デ
ィスクキャッシュを有する制御装置に関する従来技術が
開示されている。 この従来技術の目的は、ディスクキャッシュを利用して
ライト処理を高速化することである。この制御は、ライ
トアフタ制御と呼ばれる。 具体的には、制御装置は、処理装置から受け付けたライ
トデータをキャッシュ内に書き込み、その段階で処理装
置に対してはライト処理を完了させる。 キャッシュ内に格納したライトデータのディス装置への
実際の書き込み処理は、後から、処理装置からの入出力
要求とは非同期に制御装置か実行する。この非同期の書
き込み処理は、ライトアフタ処理と呼ばれる。 また、特開昭59−135563号公報においても、上
記と同様のディスクキャッシュを有する制御装置に関す
る従来技術が開示されている。 この従来技術の目的は、ライトアフタ処理の信頼性の向
上と高速化である。 具体的には、制御装置内にディスクキャッシュに加えて
不揮発性メモリを設け、ライトデータをディスクキャッ
シュと不揮発性メモリの両方に格納する。これにより、
ライトアフタ処理の高信頼化を図る。また、ディスクキ
ャッシュ内のライトデータをディスク装置に書き込む時
、ライトデータをシリンダ番号順にソートすることによ
り、シーク時間を短縮する。 さらに、特開昭59−100946号公報においても、
上記と同様のディスクキャッシュを有する制御装置に関
する従来技術が開示されている。 この従来技術の目的は、ライトアフタ処理の高速化であ
る。 具体的には、処理装置とディスクキャッシュの間のデー
タ転送と、ディスクキャッシュとディスク装置の間のデ
ータ転送とを並列に実行させる。 これにより、高速化を図るものである。
特開平1−182970号公報に開示の従来技術では、
1つのレコード番号を比較する回路により見出したレコ
ードをライト対象として選択し、そのレコードを書き込
むとしているが、通常、ディスク装置上にはデータの読
み書きができない不良箇所があるため、実際には、この
不良箇所を避けてレコードを書き込む位置を決定する必
要がある。しかし、この不良箇所を考慮したレコードの
書き込み制御の実現方法は開示されていない。 また、ライトデータを制御装置からバッファに転送する
処理にディスク装置が入るのは、位置付は処理が完了し
た時である。しかし、この時に、制御装置が他のディス
ク装置との処理を実行していると、ライトデータをバッ
ファに転送する処理に入れないことになる。このため、
ディスク装置がライトレコードを見つけた時、まだライ
トデータがバッファ内に転送さていない場合があり、デ
ータの書き込みが遅れる問題点がある。 他方、特開昭59−38866号公報に開示の従来技術
では、ライト対象とするレコードを決定する機能の実現
方法や、レコードの書き込み位置を計算する機能の実現
方法について具体的な開示かされていない。 また、制御装置から受け付けたライトデータに対して複
数の読み書きヘッドをどのように割り当てるかの方法が
開示されていない。 また、特開昭59−135563号公報に開示の従来技
術では、ディスクキャッシュ内のライトデータをディス
ク装置に書き出す時、シリンダ番号順にソートを行い、
シーク時間を短くしている。 しかし、多数シリンダに渡ったライトデータを一度にデ
ィスクキャッシュ内からディスク装置に書き出すと、ラ
イトアフタ処理時間が長くなりすぎて、処理装置からの
り−ド/ライト要求が待たされる問題点が発生する。 本発明の目的は、以上の各問題点を解消し、より効率良
く記憶制御を行うことが出来るバッファ付き記憶装置お
よび制御装置および記憶装置サブシステムを提供するこ
とにある。 すなわち、本発明は、次の各課題を解決するバッファ付
き記憶装置および制御装置および記憶装置サブシステム
を提供するものである。 課題1・・・バッファと複数の読み書きヘッドの間で効
率良くデータ転送を実行するライト対象レコードの決定
機能および不良箇所を避けてレコードを書き込む機能の
実現。 課題2・・・位置付は処理完了後、データの書き込みを
開始するまでの時間の短縮。 課題3・・・制御装置からディスク装置に要求したライ
ト処理のスループットの向上。 課題4・・・ライト処理時間を短縮する効率の良いライ
トデータ転送順序制御。
1つのレコード番号を比較する回路により見出したレコ
ードをライト対象として選択し、そのレコードを書き込
むとしているが、通常、ディスク装置上にはデータの読
み書きができない不良箇所があるため、実際には、この
不良箇所を避けてレコードを書き込む位置を決定する必
要がある。しかし、この不良箇所を考慮したレコードの
書き込み制御の実現方法は開示されていない。 また、ライトデータを制御装置からバッファに転送する
処理にディスク装置が入るのは、位置付は処理が完了し
た時である。しかし、この時に、制御装置が他のディス
ク装置との処理を実行していると、ライトデータをバッ
ファに転送する処理に入れないことになる。このため、
ディスク装置がライトレコードを見つけた時、まだライ
トデータがバッファ内に転送さていない場合があり、デ
ータの書き込みが遅れる問題点がある。 他方、特開昭59−38866号公報に開示の従来技術
では、ライト対象とするレコードを決定する機能の実現
方法や、レコードの書き込み位置を計算する機能の実現
方法について具体的な開示かされていない。 また、制御装置から受け付けたライトデータに対して複
数の読み書きヘッドをどのように割り当てるかの方法が
開示されていない。 また、特開昭59−135563号公報に開示の従来技
術では、ディスクキャッシュ内のライトデータをディス
ク装置に書き出す時、シリンダ番号順にソートを行い、
シーク時間を短くしている。 しかし、多数シリンダに渡ったライトデータを一度にデ
ィスクキャッシュ内からディスク装置に書き出すと、ラ
イトアフタ処理時間が長くなりすぎて、処理装置からの
り−ド/ライト要求が待たされる問題点が発生する。 本発明の目的は、以上の各問題点を解消し、より効率良
く記憶制御を行うことが出来るバッファ付き記憶装置お
よび制御装置および記憶装置サブシステムを提供するこ
とにある。 すなわち、本発明は、次の各課題を解決するバッファ付
き記憶装置および制御装置および記憶装置サブシステム
を提供するものである。 課題1・・・バッファと複数の読み書きヘッドの間で効
率良くデータ転送を実行するライト対象レコードの決定
機能および不良箇所を避けてレコードを書き込む機能の
実現。 課題2・・・位置付は処理完了後、データの書き込みを
開始するまでの時間の短縮。 課題3・・・制御装置からディスク装置に要求したライ
ト処理のスループットの向上。 課題4・・・ライト処理時間を短縮する効率の良いライ
トデータ転送順序制御。
第1の観点から第4の観点までの観点は、課題1の解決
に対応する。 第1の観点では、本発明は、多数のレコードを格納する
記憶媒体とその記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有するバッファ付き記憶装置に
おいて、記憶媒体上の不良箇所を示す不良箇所情報を保
持する不良箇所情報保持手段と、記憶媒体上のレコード
の識別子とバッファ内のデータの識別子とを比較してそ
のデータを書き込むべきレコードを決定する書き込みレ
コード決定処理と、前記不良箇所情報保持手段が保持し
ている不良箇所情報を参照して不良箇所を避けるように
前記データの書き込み位置を決定する書き込み位置決定
処理とを行う1以上のプロセッサを具備したことをさら
に有するバッファ付き記憶装置を提供する。 上記構成において、不良箇所情報保持手段は、記憶媒体
上の所定領域上に構成されてもよく、バッファ内の所定
領域内に構成されてもよい。 第2の観点では、本発明は、多数のレコードを格納する
記憶媒体を有する記憶装置およびその記憶装置に対して
書き込むべきデータを送信する制御装置からなる記憶装
置サブシステムにおいて、制御装置は、記憶装置の記憶
媒体上の不良箇所を示す不良箇所情報を保持する不良箇
所情報保持手段と、その不良箇所情報保持手段が保持し
ている不良箇所情報を参照して不良箇所を避けるように
データの書き込み位置を決定する書き込み位置決定手段
と、前記データと前記書き込み位置を記憶装置に送信す
る送信手段を具備し、記憶装置は、制御装置から送信さ
れてきたデータと書き込み位置を受信する受信手段と、
受信したデータを記憶媒体上の前記受信した書き込み位
置に書き込む書き込み実行手段を具備することをさらに
有する記憶装置サブシステムを提供する。 上記構成において、不良箇所情報保持手段は、キャッシ
ュメモリ内の所定領域に構成するのが好ましい。 第3の観点では、本発明は、多数のレコードを格納する
記憶媒体を有する記憶装置およびその記憶装置に対して
書き込むべきデータを送信する制御装置からなる記憶装
置サブシステムにおいて、制御装置は、記憶装置に対し
て記憶媒体上の不良箇所を示す不良箇所情報を送信する
よう要求する不良箇所情報送信要求手段と、記憶装置か
ら送信されてきた不良箇所情報を参照して不良箇所を避
けるようにデータの書き込み位置を決定する書き込み位
置決定手段と、前記データと前記書き込み位置を記憶装
置に送信する送信手段を具備し、記憶装置は、記憶媒体
上の不良箇所を示す不良箇所情報を保持する不良箇所情
報保持手段と、制御装置からの要求に応じて不良箇所情
報を制御装置に送信する不良箇所情報送信手段と、制御
装置から送信されてきたデータと書き込み位置を受信す
る受信手段と、受信したデータを記憶媒体上の前記受信
した書き込み位置に書き込む書き込み実行手段を具備す
ることをさらに有する記憶装置サブシステムを提供する
。 上記構成において、不良箇所情報保持手段は、バッファ
内の所定領域に構成するのが好ましい。 第4の観点では、本発明は、多数のレコードを格納する
記憶媒体を有する記憶装置およびその記憶装置に対して
書き込むべきデータを送信する制御装置からなる記憶装
置サブシステムにおいて、制御装置は、記憶装置に対し
て記憶媒体上の不良箇所を示す不良箇所情報を保持する
よう要求する不良箇所情報保持要求手段を具備し、記憶
装置は、制御装置からの前記要求に応じて記憶媒体上の
不良箇所を示す不良箇所情報を保持する不良箇所情報保
持手段と、その不良箇所情報保持手段に保持しでいる不
良箇所情報を参照して不良箇所を避けるように制御装置
から受信したデータの書き込み位置を決定する書き込み
位置決定手段とを具備することをさらに有する記憶装置
サブシステムを提供する。 上記構成において、不良箇所情報保持手段は、バッファ
内の所定領域に構成するのか好ましい。 第5.第6の観点は、課題21課題3の解決に対応する
。 第5の観点では、本発明は、多数のレコードを格納する
記憶媒体とその記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有し、記憶媒体上にデータを書
き込む際に位置付は処理が必要なバッファ付き記憶装置
において、外部から送られてきたデータを受け付けて次
々にバッファに格納するデータ受付手段と、そのデータ
受付手段によりデータを次々に受け付けてバッファに格
納するのと並行して前記データを書き込むための位置付
は処理を実行する並行位置付は実行手段を具備したこと
をさらに有するバッファ付き記憶装置を提供する。 第6の観点では、本発明は、多数のレコードを格納する
記憶媒体と前記記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有するバッファ付き記憶装置に
おいて、記憶媒体の複数の領域に並行してバッファ内の
データの書き込みを実行しうる並行書き込み実行手段と
、その並行書き込み実行手段により現在書き込み可能な
領域の中でバッファ内に書き込むべきデータが存在する
領域の数を検出する領域数検出手段と、前記検出した領
域数に基づいてデータの書き込みを並行に実行する領域
数を決定し前記並行書き込み実行手段に指令する並行書
き込み制御手段とを具備したことをさらに有するバッフ
ァ付き記憶装置を提供する。 第7.第8の観点は、課題4の゛解決に対応する。 第7の観点では、本発明は、多数のレコードを格納する
記憶媒体と前記記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有する記憶装置およびその記憶
装置に対して書き込むべきデータを送信する制御装置か
らなる記憶装置サブシステムにおいて、記憶装置は、記
憶媒体の複数の領域に並行してバッファ内のデータの書
き込みを実行しうる並行書き込み実行手段を具備し、制
御装置は、前記記憶装置で並行してデータの書き込みを
実行しうる領域数に基づいてデータを送信する順序を決
定するデータ送信順序決定手段を具備することをさらに
有する記憶装置サブシステムを提供する。 第8の観点では、本発明は、多数のレコードを格納する
記憶媒体とその記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有し旦つ記憶媒体上にデータを
書き込む際に位置付は処理が必要なバッファ付き記憶装
置およびその記憶装置に対して書き込むべきデータを送
信する制御装置からなる記憶装置サブシステムにおいて
、制御装置は、前記記憶装置で位置付は処理が完了した
ときに書き込み可能となる記憶媒体上の領域を予測する
書き込み領域予測手段と、その領域予測に基づいてデー
タを送信する順序を決定するデータ送信順序決定手段を
具備することをさらに有する記憶装置サブシステムを提
供する。
に対応する。 第1の観点では、本発明は、多数のレコードを格納する
記憶媒体とその記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有するバッファ付き記憶装置に
おいて、記憶媒体上の不良箇所を示す不良箇所情報を保
持する不良箇所情報保持手段と、記憶媒体上のレコード
の識別子とバッファ内のデータの識別子とを比較してそ
のデータを書き込むべきレコードを決定する書き込みレ
コード決定処理と、前記不良箇所情報保持手段が保持し
ている不良箇所情報を参照して不良箇所を避けるように
前記データの書き込み位置を決定する書き込み位置決定
処理とを行う1以上のプロセッサを具備したことをさら
に有するバッファ付き記憶装置を提供する。 上記構成において、不良箇所情報保持手段は、記憶媒体
上の所定領域上に構成されてもよく、バッファ内の所定
領域内に構成されてもよい。 第2の観点では、本発明は、多数のレコードを格納する
記憶媒体を有する記憶装置およびその記憶装置に対して
書き込むべきデータを送信する制御装置からなる記憶装
置サブシステムにおいて、制御装置は、記憶装置の記憶
媒体上の不良箇所を示す不良箇所情報を保持する不良箇
所情報保持手段と、その不良箇所情報保持手段が保持し
ている不良箇所情報を参照して不良箇所を避けるように
データの書き込み位置を決定する書き込み位置決定手段
と、前記データと前記書き込み位置を記憶装置に送信す
る送信手段を具備し、記憶装置は、制御装置から送信さ
れてきたデータと書き込み位置を受信する受信手段と、
受信したデータを記憶媒体上の前記受信した書き込み位
置に書き込む書き込み実行手段を具備することをさらに
有する記憶装置サブシステムを提供する。 上記構成において、不良箇所情報保持手段は、キャッシ
ュメモリ内の所定領域に構成するのが好ましい。 第3の観点では、本発明は、多数のレコードを格納する
記憶媒体を有する記憶装置およびその記憶装置に対して
書き込むべきデータを送信する制御装置からなる記憶装
置サブシステムにおいて、制御装置は、記憶装置に対し
て記憶媒体上の不良箇所を示す不良箇所情報を送信する
よう要求する不良箇所情報送信要求手段と、記憶装置か
ら送信されてきた不良箇所情報を参照して不良箇所を避
けるようにデータの書き込み位置を決定する書き込み位
置決定手段と、前記データと前記書き込み位置を記憶装
置に送信する送信手段を具備し、記憶装置は、記憶媒体
上の不良箇所を示す不良箇所情報を保持する不良箇所情
報保持手段と、制御装置からの要求に応じて不良箇所情
報を制御装置に送信する不良箇所情報送信手段と、制御
装置から送信されてきたデータと書き込み位置を受信す
る受信手段と、受信したデータを記憶媒体上の前記受信
した書き込み位置に書き込む書き込み実行手段を具備す
ることをさらに有する記憶装置サブシステムを提供する
。 上記構成において、不良箇所情報保持手段は、バッファ
内の所定領域に構成するのが好ましい。 第4の観点では、本発明は、多数のレコードを格納する
記憶媒体を有する記憶装置およびその記憶装置に対して
書き込むべきデータを送信する制御装置からなる記憶装
置サブシステムにおいて、制御装置は、記憶装置に対し
て記憶媒体上の不良箇所を示す不良箇所情報を保持する
よう要求する不良箇所情報保持要求手段を具備し、記憶
装置は、制御装置からの前記要求に応じて記憶媒体上の
不良箇所を示す不良箇所情報を保持する不良箇所情報保
持手段と、その不良箇所情報保持手段に保持しでいる不
良箇所情報を参照して不良箇所を避けるように制御装置
から受信したデータの書き込み位置を決定する書き込み
位置決定手段とを具備することをさらに有する記憶装置
サブシステムを提供する。 上記構成において、不良箇所情報保持手段は、バッファ
内の所定領域に構成するのか好ましい。 第5.第6の観点は、課題21課題3の解決に対応する
。 第5の観点では、本発明は、多数のレコードを格納する
記憶媒体とその記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有し、記憶媒体上にデータを書
き込む際に位置付は処理が必要なバッファ付き記憶装置
において、外部から送られてきたデータを受け付けて次
々にバッファに格納するデータ受付手段と、そのデータ
受付手段によりデータを次々に受け付けてバッファに格
納するのと並行して前記データを書き込むための位置付
は処理を実行する並行位置付は実行手段を具備したこと
をさらに有するバッファ付き記憶装置を提供する。 第6の観点では、本発明は、多数のレコードを格納する
記憶媒体と前記記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有するバッファ付き記憶装置に
おいて、記憶媒体の複数の領域に並行してバッファ内の
データの書き込みを実行しうる並行書き込み実行手段と
、その並行書き込み実行手段により現在書き込み可能な
領域の中でバッファ内に書き込むべきデータが存在する
領域の数を検出する領域数検出手段と、前記検出した領
域数に基づいてデータの書き込みを並行に実行する領域
数を決定し前記並行書き込み実行手段に指令する並行書
き込み制御手段とを具備したことをさらに有するバッフ
ァ付き記憶装置を提供する。 第7.第8の観点は、課題4の゛解決に対応する。 第7の観点では、本発明は、多数のレコードを格納する
記憶媒体と前記記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有する記憶装置およびその記憶
装置に対して書き込むべきデータを送信する制御装置か
らなる記憶装置サブシステムにおいて、記憶装置は、記
憶媒体の複数の領域に並行してバッファ内のデータの書
き込みを実行しうる並行書き込み実行手段を具備し、制
御装置は、前記記憶装置で並行してデータの書き込みを
実行しうる領域数に基づいてデータを送信する順序を決
定するデータ送信順序決定手段を具備することをさらに
有する記憶装置サブシステムを提供する。 第8の観点では、本発明は、多数のレコードを格納する
記憶媒体とその記憶媒体に書き込むべきデータを一時的
に格納するバッファとを有し旦つ記憶媒体上にデータを
書き込む際に位置付は処理が必要なバッファ付き記憶装
置およびその記憶装置に対して書き込むべきデータを送
信する制御装置からなる記憶装置サブシステムにおいて
、制御装置は、前記記憶装置で位置付は処理が完了した
ときに書き込み可能となる記憶媒体上の領域を予測する
書き込み領域予測手段と、その領域予測に基づいてデー
タを送信する順序を決定するデータ送信順序決定手段を
具備することをさらに有する記憶装置サブシステムを提
供する。
第1の観点による本発明のバ・ソファ付き記憶装置では
、バッファと記憶媒体の間のデータ転送を行うプロセッ
サを設ける。そして、このブロモ・ノサに、ライト対象
とするレコード決定と、データの書き込み位置の計算と
を行わせる。 論理の複雑なレコード書き込み位置の計算も、プロセッ
サで好適に実行できる。 プロセッサを設けず、専用の回路を設ける方法もある。 しかし、その場合には、レコード書き込み位置の計算の
ため、回路が大規模化したり、複雑になったりする。 記憶媒体の複数の領域に並行してライト処理を行う場合
に、複数のライト処理に対するライト対象レコードの決
定機能とレコード書き込み位置計算機能とを1つのプロ
セッサに持たせることも可能であるが、制御オーバへ・
ソドが大きくなるため、並行してライト処理を行う複数
の領域数だけのプロセッサを設けるのが好ましい。 第2の観点による本発明の記憶装置サブシステムでは、
ライト対象とするレコード決定機能とデータ書き込み位
置計算機能とを制御装置に持たせる。バッファ付き記憶
装置に複数のプロセッサを設ける場合よりもコストを低
減できる。 通常、処理装置がライトするレコードは、その前に読み
だすことが多い。したがって、制御装置がキャッシュメ
モリを有する場合、ライト対象となるレコードがキャッ
シュメモリに格納されている確率が高い。そこで、制御
装置は、キャッシュメモリ内のレコードに含まれている
レコード番号。 不良箇所情報を読みだし、ライト対象となるレコードの
決定、データ書き込み位置の計算を行うことが出来る。 第3の観点による本発明の記憶装置サブシステムでは、
ライト対象とするレコード決定機能とデータ書き込み位
置計算機能とを制御装置に持たせる。そして、制御装置
は、記憶装置からレコード番号、不良位置情報とを読み
だし、ライト対象となるレコードの決定、データ書き込
み位置の計算を行う。 第4の観点による本発明の記憶装置サブシステムでは、
ライト対象とするレコード決定機能とデータ書き込み位
置計算機能とを記憶装置に持たせる。そして、記憶装置
は、制御装置からの指示に従ってレコード番号、不良位
置情報を得て、ライト対象となるレコードの決定、デー
タ書き込み位置の計算を行う。 第5の観点による本発明のバッファ付き記憶装置では、
制御装置側からライト要求を受信すると、直ちに、ライ
トすべきデータを制御装置からバッファに転送する処理
を開始すると共に、並行して前記データを記憶媒体に書
き込むための位置付は処理を実行する。これにより、位
置付は処理が完了したときには、バッファ内にデータが
入っているため、ライトすべきレコードが見つかり次第
、直ちにデータを書き込む処理を開始できる。 第6の観点による本発明のバッファ付き記憶装置では、
バッファ内に溜ったデータを見て、できるだけ多くの並
列書き込み実行手段を起動する。 これにより、ライトスルーブツトを向上させることが出
来る。 なお、多くのライトデータをバッファに溜めておくと、
多くの並列書き込み実行手段を起動でき、よりライトス
ルーブツトが向上する。したがって、前記第5の観点に
おいて、制御装置からライト要求を受信すると直ちに制
御装置からバッファへのデータ転送を開始するのは、ラ
イトスルーブツトを向上させる効果も持つ。 第7の観点による本発明の記憶装置サブシステムでは、
並行してデータの書き込みを実行しうる領域に平均して
データが送信されるように、すなわち、小数の領域に集
中してデータが送信されることがないように、データの
送信順序を決定する。 これにより、データの書き込みを並行に実行できる領域
数を多く確保できるようになり、ライトスループットを
向上させることが出来る。 第8の観点による本発明の記憶装置サブシステムでは、
位置付は処理が完了した時の記憶媒体上の位置を予測計
算し、その予測位置の直後のライト対象レコードのデー
タから転送する。これにより、位置付は処理完了後から
データの書き込み処理を実行するまでの時間を短縮する
ことが出来る。
、バッファと記憶媒体の間のデータ転送を行うプロセッ
サを設ける。そして、このブロモ・ノサに、ライト対象
とするレコード決定と、データの書き込み位置の計算と
を行わせる。 論理の複雑なレコード書き込み位置の計算も、プロセッ
サで好適に実行できる。 プロセッサを設けず、専用の回路を設ける方法もある。 しかし、その場合には、レコード書き込み位置の計算の
ため、回路が大規模化したり、複雑になったりする。 記憶媒体の複数の領域に並行してライト処理を行う場合
に、複数のライト処理に対するライト対象レコードの決
定機能とレコード書き込み位置計算機能とを1つのプロ
セッサに持たせることも可能であるが、制御オーバへ・
ソドが大きくなるため、並行してライト処理を行う複数
の領域数だけのプロセッサを設けるのが好ましい。 第2の観点による本発明の記憶装置サブシステムでは、
ライト対象とするレコード決定機能とデータ書き込み位
置計算機能とを制御装置に持たせる。バッファ付き記憶
装置に複数のプロセッサを設ける場合よりもコストを低
減できる。 通常、処理装置がライトするレコードは、その前に読み
だすことが多い。したがって、制御装置がキャッシュメ
モリを有する場合、ライト対象となるレコードがキャッ
シュメモリに格納されている確率が高い。そこで、制御
装置は、キャッシュメモリ内のレコードに含まれている
レコード番号。 不良箇所情報を読みだし、ライト対象となるレコードの
決定、データ書き込み位置の計算を行うことが出来る。 第3の観点による本発明の記憶装置サブシステムでは、
ライト対象とするレコード決定機能とデータ書き込み位
置計算機能とを制御装置に持たせる。そして、制御装置
は、記憶装置からレコード番号、不良位置情報とを読み
だし、ライト対象となるレコードの決定、データ書き込
み位置の計算を行う。 第4の観点による本発明の記憶装置サブシステムでは、
ライト対象とするレコード決定機能とデータ書き込み位
置計算機能とを記憶装置に持たせる。そして、記憶装置
は、制御装置からの指示に従ってレコード番号、不良位
置情報を得て、ライト対象となるレコードの決定、デー
タ書き込み位置の計算を行う。 第5の観点による本発明のバッファ付き記憶装置では、
制御装置側からライト要求を受信すると、直ちに、ライ
トすべきデータを制御装置からバッファに転送する処理
を開始すると共に、並行して前記データを記憶媒体に書
き込むための位置付は処理を実行する。これにより、位
置付は処理が完了したときには、バッファ内にデータが
入っているため、ライトすべきレコードが見つかり次第
、直ちにデータを書き込む処理を開始できる。 第6の観点による本発明のバッファ付き記憶装置では、
バッファ内に溜ったデータを見て、できるだけ多くの並
列書き込み実行手段を起動する。 これにより、ライトスルーブツトを向上させることが出
来る。 なお、多くのライトデータをバッファに溜めておくと、
多くの並列書き込み実行手段を起動でき、よりライトス
ルーブツトが向上する。したがって、前記第5の観点に
おいて、制御装置からライト要求を受信すると直ちに制
御装置からバッファへのデータ転送を開始するのは、ラ
イトスルーブツトを向上させる効果も持つ。 第7の観点による本発明の記憶装置サブシステムでは、
並行してデータの書き込みを実行しうる領域に平均して
データが送信されるように、すなわち、小数の領域に集
中してデータが送信されることがないように、データの
送信順序を決定する。 これにより、データの書き込みを並行に実行できる領域
数を多く確保できるようになり、ライトスループットを
向上させることが出来る。 第8の観点による本発明の記憶装置サブシステムでは、
位置付は処理が完了した時の記憶媒体上の位置を予測計
算し、その予測位置の直後のライト対象レコードのデー
タから転送する。これにより、位置付は処理完了後から
データの書き込み処理を実行するまでの時間を短縮する
ことが出来る。
以下、本発明の第1実施例〜第4実施例を順に説明する
。本発明は、バッファ付きディスク装置のライト動作に
関して特に有用であるので、バッファ付きディスク装置
のライト動作を想定した実施例とする。なお、これによ
り本発明が限定されるものではない。 まず、第1実施例〜第4実施例に共通する計算機システ
ムの構成を説明する。 第2図に示すように、計算機システム2は、処理装置2
00と、制御装置204と、1台以上のバッファ付きデ
ィスク装置205と、0台以上のバッファなしディスク
装置206とにより構成される。なお、バッファ付きデ
ィスク装置205とバッファなしディスク装置206を
区別しないで単にディスク装置210と呼ぶことがある
。 処理装置2oOは、CPU201と、主記憶202と、
チャネル203とにより構成される。 制御装置204は、1つ以上のディレクタ207により
構成される。 ディレクタ207は、処理装置200からのライト要求
をそのままディスク装置210に伝達し、処理装置20
0とディスク装置210の間でデータの転送を行う。 第3図に、別の計算機システム3の構成を示す。 第2図の計算機システム2との差異は、制御装置204
が、ディレクタ207以外にキヤノンユ208と、ディ
レクトリ209とを含む点である。 キャッシュ208には、ディスク装W210の中のアク
セス頻度の高いデータをロードする。 ディレクトリ209には、キャッシュ208の管理情報
を格納する。 ディレクタ207は、キャッシュ28へのロード処理を
実行する。また、処理装置200から受け付けたライト
要求を次の第1の方法または第2の方法のいずれかによ
り処理する。 第1の方法では、ディレクタ207は、処理装置200
からライト要求を受け付け、ライト対象データがキャッ
シュ208に存在した場合、ディレクタ207は、キャ
ッシュ208にライトデータを書き込み、その段階でラ
イト処理を完了させる。キャッシュ208に書き込んだ
データは、ディレクタ207が、空いた時間を利用して
、処理装置200からの要求とは非同期に、ディスク装
置210にライト要求を発行し、ライト処理を実行する
(ライトアフタ処理)。キャッシュ208に書き込んだ
データをライトアフタデータと呼ぶ。 第2の方法では、ディレクタ207は、ライト要求をそ
のままディスク装置210に伝達し、処理装w200と
ディスク装置210の間でデータの転送を行う。すなわ
ち、第2図の計算機システム2における場合と同じであ
る。ただし、処理装置200から受け取った更新内容を
キャッシュ208内にあるライト対象データにも書き込
む点が異なる。 バッファ付きディスク装置210の構成/機能は、第2
図の計算機システム2でも、第3図の計算機システム3
でも同じである。つまり、制御装置204側から受け取
ったライト要求が、ライトアフタ処理を実行するものな
のか、処理装置から受け取ったライト要求かそのまま伝
達されたものなのかを区別しない。 次に、ディスク装置210のデータの記録構造について
説明する。 第4図は、ディスク装置210のデータ記録構造を表し
たものである。 円盤400は、データを記録する媒体であり、1台のデ
ィスク装置210に複数存在する回転体である。以下の
説明では、n枚の円盤400が存在するものとする。 読み書きヘッド401は、円盤400にデータを読み書
きする装置であり、円盤400対応に存在する。したが
って、n個の読み書きヘッド401が存在する。読み書
きヘッド401は、読み書きへラドイタフェース402
を介して制御される。 第5図に示すように、円盤400が1回転する間に、読
み書きヘッド401がアクセス可能な円状の記録単位を
トラック500とよぷ。トラ、ツク500は、円盤40
0上に複数存在する。あるトラック500が入出力対象
となった時、読み書きヘット4.01をこのトラック5
00が読み書きできる位置に移動する。この動作は、シ
ーク動作と呼ばれる。このディスク装置210では、複
数の読み書きヘット401が、独立に移動するのではな
く、同時に移動する。円盤400が1回転する間にn個
の読み書きヘッド401が同時にアクセス可能なトラッ
ク500の集合をシリンダ510と呼ぶ。 通常、読み書きするトラック500をディレクタ207
が指定する場合、「何番目のシリンダ510」の「何番
目の読み書きヘット4o1」のトラック500というよ
うに、シリンダ番号とヘッド番号で指定する。このディ
スク装置210では、シリンダ番号は、円盤400の内
側から外側に1つごとの昇順につけられている。ヘッド
番号は、上から下に1つごとの昇順につけられている。 なお、あるトラック500の次のトラック500とは、
あるトラック500と同じシリンダ番号で。 1つヘッド番号の大きいトラック500を指す。 トラック500の上には、リード/ライト動作の単位と
なるレコード501か1つ以上存在する。 レコード501とレコード501の間には、ギャップ5
02がある。トラック500のある基準の位置には、ト
ラック先頭505か定められる。レコード501の格納
位置は、円盤400の回転方向に、トラック先頭505
からの相対的な長さて表す。あるレコード501の次の
レコード501とは、トラック500の回転方向で、あ
るレコード501の直後にあるレコード501をいう。 例えば、レコードa503の次のレコード501とは、
レコードb504を指す。 第6A図は、レコード501の典型的な構成例を示す。 レコード501は、基本的に制御部600とデータ部6
01の2つのフィールトロ06から構成される。これら
2つのフィールド606以外のフィールド606を含む
場合もある。制御部600とデータ部601の間には、
ギャップ602が存在する。制御部600は、レコード
501の制御情報を格納する。データ部601は、処理
装置200上で実行されるプログラム等か処理する情報
を格納する。 制御部600内の情報で、本発明に関係する情報は、レ
コード番号602と、フィールド長607と、不良位置
情報604である。 レコード番号602は、このレコード501の識別子で
ある。 フィールド長607は、所定の個数存在し、各々が制御
部600以外の対応するフィールド606の長さを表す
。対応するフィールド606か存在しない場合は、値を
〈0〉とする。データ部601の長さを表すフィールド
長607を特にデータ部長603と呼ぶ。 不良位置情報604は、そのレコード501か属するト
ラック500上に存在する全てのディフェクト5600
の位置を格納する。ディフェクト5600とは、データ
の書き込みか不可能な箇所であり、そこを避けてデータ
が書き込まれる。同一トラック500上のレコード50
1の不良位置情報604は、全て等しい内容となる。 ディフェクト5600を避けてデータを書き込む方法は
、第1の方法と第2の方法の2通りある。 第1の方法は、第6B図(a)に示すように、ディフェ
クト5600の後ろに制御部600.データ部601の
書き込み位置をすらす方法である。 第2の方法は、第6B図(b)に示すように、データ部
601を分割してディフェクト5600の前後に書き込
む方法である。データ部601を3つ以上に分割して書
き込むこともある。なお、通常、制御部600の長さは
データ部601の長さに比較して短いため、制御部60
0は分割しない。 ディフェクト5600が存在する位置によって、上記2
通りの方法のいずれかを選択する。すなわち、基準とな
る書き込み位置からディフェクト5600が一定値より
前に存在する場合は、上記第lの方法を選択する。一定
値以上後ろに存在する場合は、上記第2の方法を選択す
る。 レコード501の書き込み位置を計算する場合、上記不
良位置情報604を参照して、ディフェクト5600を
避ける必要がある。また、レコード501か制御部60
0.データ部601以外のフィールド606を含む場合
は、これらのフィールトロ06を考慮する必要がある。 さらに、ライト対象となるフィールド606か、レコー
ド501に含まれるフィールド606のどれであるか判
定する必要がある。 このように、非常に複雑な条件を考慮して書き込み位置
の計算を行う必要があり、また、1つ1つの書き込み位
置の計算量も比較的大きいため、書き込み位置の計算は
、専用論理回路でハードウェア的に行うより、マイクロ
プロセッサ等でソフトウェア的に行うのが実用的である
。 次に、第1実施例から第4実施例の概要を順に説明する
。その後、これらの実施例の詳細を説明する。 〔第1実施例の概要〕 第1図は、第1実施例におけるバッファ付きディスク装
置205の構成を、ライト対象レコードの決定機能およ
びレコードを書き込む位置の計算機能を実現する機構に
着目して示したものである。 制御プロセッサ100は、バッファ付きディスク装置2
05の全体の制御を行う。 制御装置インターフェイス107は、制御装置204と
のインターフェイスである。 制御装置側転送装置101は、制御装置204との間の
データ転送処理を、制御プロセッサ100の指示にした
がって実行する。 制御メモリ102は、リード/ライト動作に必要な制御
情報を格納する。 バッファ103は、リード/ライトデータを格納する。 ヘット側転送プロセッサ104は、バッファ103と読
み書きヘッド401の間のデータ転送制御と転送処理を
実行する。本実施例では、へ・ノド側転送プロセッサ1
04の台数をm台とする。これは、円盤400が1回転
する間にリート/ライト動作可能なトラック500の数
か最大m本であることを意味する。ヘッド側転送プロセ
ッサ104の数mは、読み書きヘット401の数nよす
大きい必要性がなく、m≦nが成立する。 また、ヘッド側転送プロセッサ104は、ライトデータ
の書き込み位置の計算も実行する。 バッファ付ディスク装置205は、制御部W2O4から
、ライト処理を実行するために必要な制御情報として以
下の情報を受取る。 サーチレコード番号2108 ・・・ライト対象とするレコード501を決定するため
の情報。 ライトフィールド2107 ・・・ライト対象とするフィールド606を表す情報。 これらの情報を、制御装置インターフェイス107を介
して制御プロセッサ100が受取り、制御メモリ102
に格納する。 ライトデータは、制御プロセッサ100の指示にしたが
い、制御装置側転送装置101が、制御装置インターフ
ェイス107を介して受取り、バッファ103に転送す
る。 ライトデータの円盤400への書き込みは、読み書きヘ
ッド401の位置付は処理完了後、制御プロセッサ10
0の指示により、ヘッド側転送プロセッサ104が実行
する。 ヘッド側転送プロセッサ104は、書き込みレコード決
定処理105で、制御メモリ102内のサーチレコード
番号2108と、トラック500上のレコード501の
制御部600内のレコード番号602の比較を行う。こ
れにより、ライトデータを書き込むレコード501を決
定する。 次に、ヘッド側転送プロセッサ104は、レコード書き
込み位置決定処理106で、制御部600内のフィール
ド長607.不良位置情報604゜制御メモリ102内
のライトフィールド2107等により、トラック500
上のライトデータの書き込み位置の計算を行う。 この後、ヘッド側転送プロセッサ104は、レコード書
き込み処理108で、ライトデータを前記計算した書き
込み位置に書き込む。 第7図は、制御装置204とバッファ103の間のデー
タ転送制御の概要およびバッファ103と読み書きヘッ
ド401の間のデータ転送制御の概要を示したものであ
る。これらの制御は、第2実施例以降の実施例において
も共通である。 全体制御部700は、バッファ付きディスク装置f20
5内のデータ転送処理全体の制御を行う。 制御装置側転送制御部701は、制御装置204とバッ
ファ103の間のデータ転送制御を行う。 ヘッド側転送制御部702は、バッファ103と読み書
きヘッドの間のデータ転送制御を行う。 第8図は、ライト処理を実行した時の上記全体制御部7
00と、制御装置側転送制御部701と。 ヘッド側転送制御部702の作動のタイムチャートを表
している。 以下、第7図、第8図を用いて動作概要を説明する。 制御装置204のディレクタ207からのライト要求は
、全体制御部700が受け付ける。 全体制御部700は、制御装置側転送制御部701の起
動と、ヘット側転送制御部702の起動を行う。 制御装置側転送制御部701は、制御g置204からラ
イト処理の実行に必要な制御情報を受け取り、制御メモ
リ102に格納する。ライト処理の実行に必要な制御情
報とは、上述したサーチレコード番号2108. ライ
トフィールド2107等である。 さらに、制御装置側転送制御部701は、制御装置20
4のディレクタ207とバッファ103の間でライトデ
ータを転送するために、制御装置側転送装置101の起
動を行う。 そして、制御装置側転送制御部701は、転送の完了後
、制御装置側転送装置101から完了報告を受け取る。 制御装置側転送制御部701は、以上の処理を全てのラ
イトデータの転送が完了するまで繰り返し、完了段階で
、全体制御部700に完了報告を行う〇 一方、ヘッド側転送制御部702は、全体制御部700
から起動を受けた後、読み書きヘッドインターフェイス
402を通して、読み書きヘット401に位置付は要求
を発行する。 次に、ヘット側転送制御部702は、読み書きヘッドイ
ンターフェイス402から位置付は処理完了報告を受け
取ると、制御メモリ102内の制御情報を参照し、現在
、読み書きヘッド401が位置付いたシリンダ510内
の何本分のトラック500に対するライトデータかバッ
ファ103に蓄積されているかを調べる。 調べた結果、データ蓄積トラック数がm本未満の場合、
起動するヘッド側転送プロセッサ104の数をデータ蓄
積トラック数と同数に決定する。 一方、データ蓄積トラック数がm本以上なら、起動する
ヘッド側転送プロセッサ104の数をm個に決定する。 そして、ヘッド側転送制御部702は、決定した数のヘ
ッド側転送プロセッサ104を起動する。 起動されたヘッド側転送プロセッサ104がライトデー
タを書き込む動作については、先に第1図を用いて説明
した通りである。ヘット側転送プロセッサ104は、ラ
イト動作が完了すると、ヘッド側転送制御部702に完
了報告を送る。 ヘット側転送制御部702は、ライト動作の完了報告を
ヘッド側転送プロセッサ104から受け取ると、全ての
ライトデータの転送か完了したかどうかを調べる。完了
していない場合は、上記動作の繰り返しとなる。完了し
ていれば、ヘット側転送制御部702は、全体制御部7
00に完了報告を行う。 全体制御部700は、制?Ia装置側転送制御部701
からの完了報告およびヘッド側転送制御部702からの
完了報告を受けると、ライト処理か完了したことを制御
部W2O4のディレクタ207に報告する。 第8図から理解されるように、制御装置204とバッフ
ァ103の間のデータ転送処理は、読み書きヘッド40
1が位置付は処理を実行している間に実行されている。 したかって、位置付は処理が完了した時には、ライトデ
ータがバッファ103内に既に蓄積されているから、速
やかにトラック500へのライトデータの書き込みを開
始することが出来るようになる。 また、バッファ付きディスク装置205が制御装置20
4からのライト要求を受け付けると直ちに制御装置20
4とバッファ103の間のデータ転送処理に入るから、
位置付は処理が完了するまでに十分多くのライトデータ
をバッファ103内に蓄積することが出来る。このため
、十分多くのヘッド側転送プロセッサ104を起動でき
、効率の良いライト処理を実行できるようになる。 次に、第9図、第10図、第11図、第12図を用いて
、制御装置204とバッファ付きディスク装置205の
間のライトデータの転送順序制御を説明する。これによ
り、バッファ付きディスク装置205の性能を高めるこ
とが出来る。 まず、第9図と第10図とにより、起動可能なヘッド側
転送プロセッサ104の数を多くすることが出来るライ
トデータの転送順序制御を説明する。 第9図は、あるトラック500に対するライトデータを
全て転送してから次のトラック500のライトデータの
転送に移るようなライトデータの転送順序制御を行う場
合のバッファ103内のライトデータの溜り方を表す。 第10図は、あるトラック500に対するライトデータ
の部分転送が済むと、別のトラック500のライトデー
タの部分転送に移るようなライトデータの転送順序制御
を行う場合のバッファ103内のライトデータの溜り方
を表す。 第9図と第10図とを比較すると理解されるように、第
10図に示したライトデータの転送順序制御を行うこと
により、同一時間内に、多くのトラック500対して、
バッファ103内にライトデータを蓄積することが出来
る。したがって、起動できるヘッド側転送プロセッサ1
04の数が多くなり、データ転送効率か高くなる。なお
、ヘッド側転送プロセッサ104の数に等しいm個のト
ラック500の間で、第10図のライトデータの転送順
序制御を行うのが最も効率がよく、好ましい。 次に、第11図と第12図とにより、位置付は処理時間
を短くすることが出来るライトデータの転送順序制御を
説明する。 第11図は、トラック先頭505に近い位置に格納され
たレコード501に対するライトデータからデータ転送
を開始する場合の動作を表している。この場合、シーク
処理が完了してから読み書きへラド401の下にトラッ
ク先頭505が来るまで待ってから書き込みが開始され
る。 第12図は、シーク処理が完了した時に読み書きヘッド
401の下に来ると予測される位置の近くにあるレコー
ド501に対するライトデータからデータ転送を開始す
る場合の動作を表している。 この場合、シーク処理が完了すると直ちに書き込みを開
始することが出来る。 第11図と第12図とを比較すると理解されるように、
第12図に示したライトデータの転送順序制御を行うこ
とにより、位置付は処理時間を短縮することが出来る。 シーク処理が完了した時に読み書きヘッド401の下に
来る位置は、次のようにして予測することか出来る。 =読み書きヘッド401が移動するシリンダ数=(現在
読み書きヘッドの下にあるシリンダ)−(ライト対象と
なるシリンダ) ・・・■=シーク時間=f(N)
・・・■=シーク時間中に読み書き
ヘッドが移動する距離 =g (T)
・・・■シーク処理が完了した時に読み書きヘッド
401の下に来る位置 =現在の読み書きヘッド401の下にある位置子L
・・・■関数f (N) 、
g (T)は、バッファ付きディスク装置205の機
種が決定すれば、既知となる関数である。従って、次の
情報(a)(b)(c)が分かれば、シーク処理が完了
した時に読み書きヘッド401の下に来る位置を計算で
きる。 (a)ライト対象となるシリンダ (b)現在読み書きヘッドの下にあるシリンダ(c)現
在、読み書きヘッドの下にある位置上記情報(a)は、
制御装置204には判明している。(b)(c)の情報
は、バッファ付きディスク装置205側では判明してい
るが、一般的には制御装置204には分らない。したが
って、(b)(c)の情報は、制御装置204がライト
要求を発行する前に、バッファ付きディスク装置205
から受け取るようにすればよい。あるいは、制御装置2
04側で、この前にバッファ付きディスク装置205に
発行した入出力要求の実行対象としたシリンダ501を
記憶しておくことにより(b)の情報を制御装置204
側で持ち、また、適当な契機にその時刻の読み書きヘッ
ド401の下にあるトラック500上の位置をバッファ
付きディスク装置205から制御装置204か受け取っ
ておき、現在までの経過時間から次式により情報(c)
を算出するようにすればよい。 (c)現在、読み書きヘッドの下にある位置=(ある契
機時刻における読み書きヘット4o1の下にあるトラッ
ク500上の位置)+g(現在時刻−契機時刻) なお、制御装置204かライトデータの転送順序制御を
実行できるのは、ライトアフタ処理に対応するライト要
求のみである。これは、処理装置200から受け取った
ライト要求をそのままバッファ付きディスク装置205
に伝える場合、制御装置204は単に処理装置200か
ら受け取った順にライトデータを転送することになるた
めである。 第13図は、制御装置204が実行するデータ転送順序
制御処理の概要を示している。上述のように、この処理
は、ライトアフタ処理に対応するライト要求をバッファ
付きディスク装置205に発行する場合に実行される。 ステップ1300では、制御装置204は、シーク処理
が完了した時に、読み書きヘッド401の下に来るトラ
ック500上の位置をディレクトリ209上の情報に基
づき、予測計算する。すなわち、現在、読み書きヘッド
401の下にあるシリンダ510を格納した現シリンダ
1303をディレクタ209から取り出す。次に、ある
時点のトラック500上の位置に関する情報であるトラ
ック位1j1304とこの情報を得た時の時刻である獲
得時刻1305をディレクタ209から取り出す。この
後、前記0〜0式により、シーク処理が完了した時に読
み書きヘッド401の下に来るトラック500上の位置
を計算する。 次に、ステップ1301では、円盤400が1回転する
間にライトデータを転送するトラック50oの集合を選
択する。この場合、転送順序が未決定のトラック500
の数がm本以上なら、m本のトラック500を選択する
。m本未満なら、転送順序が未決定のトラック500を
全て選択する。 ステップ1302では、選択したトラック500上のレ
コード501に対するライトデータを、前記ステップ1
300で計算したトラック500上の位置に近い順にソ
ート処理を行う。このソート結果順に転送すると、先に
第10図、第12図を参照して説明したデータ転送順序
制御となり、先に説明した効果を得ることが出来る。 ライトアフタ処理に対応したライト要求以外の場合には
、ライトデータの転送順序は、通常、処理装置200側
のライト要求を発行するプログラムが決定する。そこで
、処理装置200側のプログラムか上記データ転送順序
制御を行うようにすれば、同じ効果を得ることが出来る
。従って、この場合も、本発明の範囲に含まれる。 〔第2実施例の概要〕 第14図は、第2実施例におけるバッファ付きディスク
装置205の構成を、ライトデータの書き込みを行う機
構を中心に示したものである。 このバッファ付きディスク装置205が第1図のバッフ
ァ付きディスク装置205の構成と異なる点は、ヘッド
側転送プロセッサ104の代わりに、ヘッド側転送装置
1400を含んでいることである。その他の点では、第
1図のハソファ付きディスク装置205の構成と同じで
ある。 ヘッド側転送装置11400は、バッファ103と読み
書きヘッド401の間のデータ転送処理を実行する。但
し、ヘット側転送装置I400は、単にデータ転送を実
行する装置であり、データの書き込み位置の計算機能等
は持たない。 したがって、制御装置204か、内部に有しているキャ
ッシュ208にロードしたトラック500上のレコード
501内の制御部600からレコード番号や不良位置情
報等の情報を得て、ライトすべきレコード501の決定
、データの書き込み位置の計算等を行う。 このため、キャッシュ208内に存在するレコード50
1に対するライト処理に対してのみ本実施例が適用され
ることになる。たたし、処理装置200によってライト
されるレコード501はその前にリートされることが多
く、かつ、リートされたレコード501はキャッシュ2
08内にロートされるから、上記制限下でも十分な効果
を得られる。 なお、バッファ付きディスク装置204上の全てのトラ
ック500のレコード番号や不良位置情報等の情報を制
御装置208内に格納するようにすれば、上記制限かな
くなり、全てのライト処理に対して本実施例が適用可能
となる。 本実施例においても、第1実施例と同様に、制御装置2
04が実行するライト処理は、ライトアフタ処理を実行
するライト処理でも、処理装置から受け取ったライト要
求をそのまま伝達するライト処理でも、いずれでもよい
。(要するに、キャッシュ208内に存在するレコード
501に対するライト処理であればよい。) さて、第14図において、制御装置204は、バッファ
付きディスク装置205に対して、トラック500上に
連続して書き込む1つのライトデータ制御情報として、
ライトエレメントアドレス3601と、ライトエレメン
ト長3603とを送る。 ライトエレメントアドレス3601は、トランク先頭5
05からの相対位置を表す。 ライトエレメント長3603は、書き込むライトデータ
の長さを表す。ライトエレメント長3603の代わりに
、ライトデータの書き込み終了位置を表わす情報を送っ
てもよい。 ヘッド側転送装置1400は、ライト書き込み開始位置
1401で指定されたトラック500上の位置から、ラ
イトデータ長1402で指定された長さまで、バッファ
103内のライトデータを書き込む。 第7図を参照して説明した制御プロセッサ100のライ
トデータ転送制御は、本実施例にも適用できる。ただし
、本実施例では、ヘッド側転送制御プロセッサ104の
代わりに、ヘッド側転送制御装置140oを起動する。 起動するヘッド側転送制御装置1400台数は、第1実
施例でヘット側転送制御プロセッサ104起動した台数
と同じである。 また、第13図を参照して説明した制御装置2o4のデ
ータ転送順序制御は、本実施例にもそのまま適用可能で
ある。 〔第3実施例の概要〕 第15図は、第3実施例におけるパンファ付きディスク
装置205の構成を、ライトデータの書き込みを行う機
構を中心に示したものである。 この第3実施例は、第2実施例に近いが、ライトすべき
レコード501の決定、データの書き込み位置の計算等
の機能を実行する際に必要なレコード番号、不良位置情
報等の情報を制御部W2O4がバッファ付きディスク装
置205から得る方法が異なっている。 すなわち、制御部j!204は、ライト対象となるトラ
ック500上のデータを、バッファ付きディスク装置2
05のバッファ103内にロードするよう要求する。 バッファ付きディスク装置205のバッファ103内へ
のロート処理が完了すると、制御装置204は、バッフ
ァ付きディスク装置205のバッファ103内に格納さ
れたレコード501のレコード番号602.フィールド
長6o7.不良位置情報604等を送るようバッファ付
きディスク装fi205に要求する。 バッファ付きディスク装置205がら不良位置情報60
4等を受け取ると、制御装置204は、ライトデータの
書き込み位置を計算する。これ以降の処理は、第2実施
例と同様である。 第2実施例では、制御装置204のキャッシュ208内
の不良位置情報等を利用したため、キャッシュ208内
に格納されているレコード501に対するライト処理に
適用が限定された。しかし、本実施例では、不良位置情
報等をバッファ付きディスク装置205から得るため、
全てのレコード501に対するライト処理に適用できる
ようになる。 第7図を参照して説明した制御プロセッサ1゜Oのライ
トデータ転送制御は、本実施例にも適用できる。たたし
、本実施例では、ヘッド側転送制御プロセッサ104の
代わりに、ヘット側転送制御装置1400を起動する。 起動するヘット側転送制御装置1400台数は、第1実
施例でヘット側転送制御プロセッサ104起動した台数
と同しである。 また、第13図を参照して説明した制御装置204のデ
ータ転送順序制御は、本実施例にもそのまま適用可能で
ある。 〔第4実施例の概要〕 第16図は、第4実施例におけるバッファ付きディスク
装置205の構成を、ライトレコードの決定、ライトデ
ータの書き込み位置を計算する機構を中心に示したもの
である。 本実施例におけるバッファ付きディスク装置205の構
成は、第3実施例と近いか、バッファ付きディスク装W
2O5が、ライトデータの書き込み位置を計算する点が
相違する。 すなわち、制御袋ff204は、ライト対象となるトラ
ック500上のデータを、バッファ付きディスク装置2
05のバッファ103内にロードするよう要求する(こ
れは、第3実施例と同様である)。 バッファ付きディスク装置205のバッファ103内へ
のロード処理が完了すると、バッファ付きディスク装置
205は、バッファ103内に格納したレコード501
のレコード番号602.フィールド長6o7.不良位置
情報604等を参照して、ライトデータの書き込み位置
を計算する。 本実施例も、第3実施例と同様に、全てのレコード50
1のライト処理に適用できる。 第7図を参照して説明した制御プロセッサ100のライ
トデータ転送制御は、本実施例にも適用できる。ただし
、本実施例では、ヘッド側転送制御プロセッサ104の
代わりに、ヘッド側転送制御装置1400を起動する。 起動するヘッド側転送制御装置1400台数は、第1実
施例でヘッド側転送制御プロセッサ104起動した台数
と同しである。 また、第13図を参照して説明した制御装置204のデ
ータ転送順序制御は、本実施例にもそのまま適用可能で
ある。 以上で各実施例の概要の説明を終り、次に詳細を説明す
る。 〔第1実施例の詳細〕 第17図は、バッファ付きディスク装置205内のバッ
ファ103の構成である。ライト領域1601は、本実
施例の対象となるライト処理用の領域であり、バッファ
103全体の中の一部である。他の領域については、本
実施例と直接関係しないため特に述べない。 第18図に示すように、ライト領域1601は、複数の
スロット16oOにより構成される。 スロット1600は、1本のトラック500上のレコー
ド501を格納するための領域である。 バッファ付きディスク装置j205の制御プロセッサ1
00の制御装置側転送部701は、制御装1j204か
ら受け取ったライトデータを格納する際のスロット16
00の割り当てをサイクリックに行う。各スロット16
00の中で、最初にライトデータを格納するために割り
当てるスロット1600を先頭スロット1602と呼び
、最後に割り当てるスロット1600を最終スロット1
603と呼ぶ。スロット1600の数は十分多く、バッ
ファ付きディスク装置205かライト処理を実行中にス
ロット1600不足を起こすことはない。 第19図は、制御メモリ102の中で、本実施例に関係
する情報を示している。 ライト用管理情報1700には、ライト領域1601の
管理情報を格納する。 ヘッド側インターフェイス情報1701は、ヘット側転
送プロセッサ104対応に設けられており、制御プロセ
ッサ100とヘット側転送プロセッサ104の間で交換
する情報を格納する。 第20図は、ライト用管理情報17oOの構成を示して
いる。 ライト用管理情報1700は、1つの全体情報1800
と、スロット1600対応のスロット管理情報1801
とから構成される。 第21図は、全体情報1800の構成を占めしている。 制御装置側転送ポインタ1900は、制御装置204か
ら受け取ったライトデータを格納するために最も最近(
Most Recently)割り当てた7、0ツト管
理情報18o1を指す。 制御装置側転送スロット数1901は、制御装置205
とバッファ103間の間で現在転送中になっているスロ
ット管理情報1801の数を表す。 ヘッド側転送ポインタ1902は、バッファ103と読
み書きヘッド4010間で転送中のスロット1600の
中で、バッファ付きディスク装置205か、最初にライ
トデータを格納したスロット160に対応したスロット
管理情報1801を指す。 先に述べたように、スロット1600の割り当ては、サ
イクリックに行われる。したがって、ヘッド側転送ポイ
ンタ1902が示すスロット管理情報1801から制御
装置側転送ポインタ1900が示すスロット管理情報1
801までが、ライトデータを格納しているスロット1
600に対応するスロット管理情報1801となる。 ヘッド側転送スロット数1903は、バッファ103と
読み書きヘソ)” 401の間で転送中のスロット管理
情報1801の数、すなわち、起動したヘッド側転送プ
ロセッサ104の数を表す。 ヘッド側転送シリンダ1904は、バッファ103と読
み書きヘッド401の間で転送中のシリンダ510を表
す。 制御装置側転送終了フラグ1905は、制御装置205
側からライトデータを受け取る処理が終了したことを表
す。 第22図は、バッファ103と読み書きヘット401の
間でスロット1600の転送が完了した時に実行する操
作を示す。すなわち、スロット管理情報1801 iか
らスロット管理情報1801jを指すようにヘッド側転
送ポインタ1902を変更する(ヘッド側転送スロット
数1903たけヘット側転送ポインタ1902を進める
)。 第23図は、スロット管理情報1801の構成を示して
いる。 スロットポインタ2100 対応するスロット1600
のアドレスを表す。 シリンダ番号2101.ヘッド番号21o2・書き込み
を開始するトラック500を表す。 サーチ開始位置2103・・・ライト対象とするレコー
ド501のサーチを開始するトラック先頭505からの
相対位置を表す。 ライトレコード数2105・・・対応するスロット16
00に格納したライト対象とするレコード501の数を
表わす。 ライトフィールド数2106・・・対応するスロット1
6o○に格納したライト対象とするフィールトロ06の
数を表わす。 ライトフィールド2107・・・レコード501の中で
、ライト対象となるフィールド606を指定する。 サーチレコード番号2108・・・制御部600のレコ
ード番号602との比較処理を実行するよう指定された
番号である。対応するトラック5o○上で連続したレコ
ード501をライトする場合、制御装置204は、バッ
ファ付きディスク装置205に、サーチレコード番号2
108を指定しない場合かある。この場合、サーチレコ
ード番号2108にはヌル値を格納する。 ライトフィールド長2109・・・対応したスロット9
oOに格納したライト対象とするフィールド606の長
さを表す。 ライトフィールドポインタ211o・・・対応するスロ
ット900に格納したライト対象とするフィールド60
6へのポインタである。 終了フラグ2111・・・受け付けたライト処理におい
て、制御装置204との転送が完了したことを表す。 シリンダ番号2101以下の情報は、制御装置205内
のディレクタ207から受け付けたライト処理を実行す
るための制御情報である。 シリンダ番号2101〜ライトフイールド数2106の
5つの情報領域は、1つだけ存在する。 ライトフィールド2107とサーチレコード番号210
8の2つの情報領域は、1本のトラック500上に定義
可能なレコード501の数たけある。ただし、実際に情
報か格納されるのは、ライトレコード数2105に等し
い数となる。 ライトフィールド長2109とフィールドポインタ21
10の2つの情報領域は、1本のトラック500の中に
格納可能な最大限のフィールトロ06の数たけある。た
だし、実際に情報か格納されるのは、ライトフィールド
数2106に等しい数となる。 第24図は、ヘッド側インターフェイス1701の構成
を示している。 スロット管理情報ポインタ2200・・・ヘッド側プロ
セッサ104がライト対象とするスロット1600に対
応するスロット管理情報18o1へのポインタである。 次に、制御プロセッサ100内の各制御部分の作動を詳
細に説明する。 第25図(a)(b)に、本実施例に関係する全体制御
部700の処理フローを示す。 第25図(a)の処理は、制御装置205内のいずれか
のディレクタ207からライト要求を受け付けた時に実
行される。 ステップ2300では、全体制御部700は、制御装置
側転送ポインタ1900.ヘット側転送ポインタ190
2が、最終スロット1603に対応したスロット管理情
報1801を指すようにする。 ステップ2301では、全体制御部700は、制御装置
側転送制御部701.ヘッド側転送制御部702を起動
する。そして、処理を終了する。 第25図(b)の処理は、ヘッド側転送制御部702か
ら転送完了報告を受けた時に実行される。 ステップ2302では、全体制御部700は、制御装置
側転送終了フラグ1905がオンになるのを待つ。 ステップ2303では、全体制御部700は、ライト要
求の完了を制御装置205内のディレクタ207に通知
する。そして、処理を終了する。 第26図(a)(b)は、制御装置側転送制御部701
の処理フローである。 第26図(a)の処理は、全体制御部700から起動さ
れた時に実行される。 ステップ2400では、制御装置側転送制御部701は
、ライト処理を行うための制御情報をディレクタ207
から受け取る。 ステップ2401では、制御装置側転送制御部701は
、ディレクタ207から受け取った制御情報の解析を行
い、それがスケジュール情報ならステップ2402にジ
ャンプし、それがライト指令ならステップ2405にジ
ャンプする。 スケジュール情報とは、次の情報である。 スケジュールトラック数・・スケジュールするトラック
500の数。 スケジュールトラックリスト・・・スケジュールするト
ラック500のリスト。 サーチ開始位置リスト・・・スケジュールするそれぞれ
のトラ、り500に対応して、レコード501のサーチ
を開始するトラック先頭505からの相対位置を指定し
たリスト。 ステップ2402では、制御装置側転送制御部701は
、スケジュール対象として指定されたトラック500に
対しスロット管理情報1801を割り当てる。すなわち
、現在、制御装置側ポインタ1900が指しているスロ
ット管理情報1801の次のスロット管理情報1801
からスケジュールトラック数で指定された数のスロット
管理情報1801までを割り当てる。そして、制御装置
側ポインタ1900をスケジュールトラック数で指定さ
れた数だけ進める。また、スケジュールトラック数を制
御装置側転送スロット数1901にセットする。 ステップ2403では、制御装置側転送制御部701は
、割り当てたスロット管理情報1801のそれぞれのシ
リンダ番号2101.へ、ノド番号2102に、スケジ
ュールトラックリストで指定されたトラック500をそ
れぞれ設定する。また、それぞれのサーチ開始位置21
03に、サーチ開始位置リストで指定された値をそれぞ
れ設定する。 ステップ2404では、制御装置側転送制御部701は
、処理の完了報告をディレクタ207に通知する。この
後、次の指令をディレクタ207から受けるために、前
記ステップ2400に戻る。 一方、ライト指令とは、次の情報である。 トラック指定・・・ライト処理を行うトラック5゜Oを
指定する。 レコード番号指定・・・制御部600内のレコード番号
602と比較する値を指定する。値がヌルの場合、先に
ライトしたレコード501の次のレコード501が指定
されたものとする。 フィールド指定・・・ライト対象とするフィールド60
6を指定する。 フィールド長指定・・・ライト対象とするそれぞれのフ
ィールド606の長さを指定する。 ステップ2405では、制御装置転送制御部701は、
トラック指定より、対応するスロット管理情報1801
を見つける。 ステップ2406では、ライトレコード数2105およ
びライトフィールド数2106を更新する。 ステップ2407では、制御装置転送制御部701は、
レコード番号指定で指定された値をサーチレコード番号
2108に設定する。また、フィールド指定で指定され
た値をライトフィールド2107に設定する。また、フ
ィールド長指定で指定されたフィールド長をライトフィ
ールド長2109に設定する。また、フィールド長指定
で指定されたフィールド長から当該フィールド606を
格納するスロット1600上のアドレスを計算し、その
値をライトフィールドポインタ2110に設定する。 ステップ2408では、制御装置転送制御部701は、
ライト対象とするフィールド606の数およびそれぞれ
のライトフィールド長2109の値を、制御装置側転送
袋W101に通知し、制御装置107とバッファ103
の間のデータ転送を実行させる。この後、−度処理を終
了させる。 第26図(b)の処理は、制御装置転送制御部701が
、制御装置側転送装置101からデータ転送完了報告を
受け取った時に実行される。 ステップ2409では、制御装置転送制御部701は、
制御装置204のディレクタ207にライト処理の完了
報告を行う。 ステップ2410では、制御装置204のディレクタ2
07から次の指示があるかをチエツクする。次の指示が
ある場合、前記ステップ2400ヘジヤンブする。次の
処理がない場合、ステップ2411へ進む。 ステップ2411では、制御装置側転送ポインタ190
0が示すスロット管理情報18o1内の終了フラグ21
11をオンにする。さらに、制御装置側転送終了フラグ
1905をオンにする。この後、処理を終了させる。 第27図(a)(b)(c)は、ヘッド側転送制御部7
02の処理フローである。 第27図(a)の処理は、全体制御部700からの起動
要求を受け取った時に実行する。 ステップ2500では、ヘット側転送制御部702は、
制御装置側転送ポインタ1900とヘッド側転送ポイン
タ1902にずれか生ずるのを待つ。 ステップ2501では、ヘッド側転送制御部702は、
ヘッド側転送ポインタ1902が指す次のスロット管理
情報1801内のシリンダ番号2101をヘッド側転送
シリンダ19o4にセットし、そのセットしたシリンダ
510へのシーク動作を、読み書きヘッドインターフェ
イス402を通じて、読み書きヘッド401に要求する
。そして、処理を終了する。 第27図(b)の処理は、読み書きヘット401からシ
ーク動作の完了報告を受け取った時に実行する。 ステップ2502では、ヘッド側転送制御部702は、
制御装置側転送ポインタ1900とヘッドαり転送ポイ
ンタ1902の差およびヘッド側転送プロセッサ104
の台数(m台)より、起動可能なスロット管理情報18
01(=ライト可能なトラック50o)を決める。 ステップ25o3ては、起動可能と判断したスロット管
理情報1801のシリンダ番号21o1と、ヘッド側転
送シリンダ1904とを、ヘット側転送ポインタ190
2か指す次のスロット管理情報1801から順番に比較
して行く。この時、一致しないという結果が得られると
、比較処理を止め、それまでに一致するという比較結果
を得ていたスロット管理情報1801を最終的に起動対
象として決定する。 ステップ2504では、ヘット側転送制御部702は、
起動対象として決定したそれぞれのスロット管理情報1
8o1に対応してヘッド側転送プロセッサ104を選択
し、それらの起動を行う。 この時、各ヘッド側転送プロセッサ104に対応したヘ
ッド側インターフェイス1701のスロット管理情報ポ
インタ2200に、処理対象とするスロット管理情報1
801へのポインタを設定する。 ステップ2505では、起動したヘッド側転送プロセッ
サ104の数に等しい値をヘッド側転送スロット数19
03に設定する。そして、処理を終了する。 第27図(C)の処理は、起動した全てのヘッド側転送
プロセッサ104からの転送完了報告を受けた時に実行
される。 ステップ2506では、ヘット側転送制御部702は、
起動した数のヘット側転送プロセッサ104の分だけヘ
ッド側転送ポインタ1902を進める。 ステップ2507では、ヘット側転送制御部702は、
ヘット側転送ポインタ1902が示すスロット管理情報
1801内の終了フラグ2111がオンかをチエツクす
る。オンでなければステップ2508ヘジヤンプし、オ
ンであればステップ2510ヘジヤンプする。 ステップ2507では、ヘッド側転送ポインタ19o2
が指すスロット管理情報1801の次のスロット管理情
報1801のシリンダ番号2101を取り出す。そして
、取り出したシリンダ番号2101と、ヘッド側転送シ
リンダ19o4との比較を行う。一致しない場合、シー
ク動作が必要となるため、前記ステップ25o1ヘジヤ
ンプする。一致した場合、さらに、ヘッド側転送プロセ
ッサ104の起動を行うため、前記ステップ25o2ヘ
ジヤンプする。 ステップ251oでは、ヘッド側転送処理の完了報告を
全体制御部700に通知する。そして、処理を終了する
。 第28図は、ヘッド側転送プロセッサ104の処理フロ
ー図である。ヘッド側転送プロセッサ104は、ヘッド
側転送制御部702の指示に従って処理を実行する。 ステップ2600では、ヘッド側転送プロセッサ104
は、ヘッド側インターフェイス情報1701のスロット
管理情報ポインタ2200が指すスロット管理情報18
01のヘッド番号21o2に対応した読み書きヘッド4
01を選択する。この動作は、読み書きヘッドインター
フェイス4゜2を通じて実行する。 ステップ2601では、ヘット側転送プロセッサ104
は、スロット管理情報ポインタ2200か指すスロット
管理情報1801のサーチ開始アドレス2103で指定
された位置に、読み書きヘッド401が位置付くのを待
つ。 ステップ2602では、ヘッド側転送プロセッサ104
は、スロット管理情報ポインタ2200が指すスロット
管理情報18o1のライトフィールド2107.サーチ
レコード番号2108.ライトフィールド長2109.
ライトフィールドポインタ2110の先頭のものを
選択する。 ステップ2603では、ヘッド側転送プロセッサ104
は、最初に見つけたレコード501の制御部600内の
レコード番号602と、前記選択したサーチレコード番
号2108の比較を行う。 一致した場合、ステップ2604へ進むか、一致しない
場合、次のレコード501のレコード番号602との比
較を行うため、ステップ2603を繰返し実行する。た
だし、サーチレコード番号2108の値かヌル値であれ
ば、そのまま、ステップ2604に進む。 ステップ2604では、ヘッド側転送プロセッサ104
は、ライト対象として選択したライトフィールド210
7に基づき、書き込み対象とするフィールトロ06の数
を認識する。 ステップ2605では、ヘッド側転送プロセッサ104
は、選択したライトフィールドポインタ2110から前
記ステップ2604で認識した数分のライトフィールド
ポインタ2110までのライトフィールドポインタ21
10で指されたライトフィールドのデータをライト対象
として選択する。また、ライト対象として選択したライ
トフィールドポインタ2110に対応するライトフィー
ルド長2109に示された値を各ライトデータの長さと
認識する。 ステップ2606では、ヘッド側転送プロセッサ104
は、制御部600内のフィールド長607と、認識した
ライトフィールド長2109に示された値と比較する。 ステップ2607では、ヘッド側転送プロセッサ104
は、レコード501の制御部600内のフィールド長6
07と不良位置情報604とを参照して、ライト対象と
して選択したライトフィールドポインタ2110が指す
データの書き込み位置を計算する。 ステップ2608では、ヘット側転送プロセッサ104
は、計算した書き込み位置に、ライト対象として選択し
たライトフィールドポインタ2110か指すデータを書
き込む。 ステップ2609では、ヘット側転送プロセッサ104
は、ライトレコード数2105およびライトフィールド
数2106を参照して、当該スロット管理情報1801
に係る全てのライト処理か完了したかをチエツクする。 完了していない場合、ステップ2610に進む。完了し
ている場合、ステップ2611へ進む。 ステップ2610では、ヘッド側転送プロセッサ104
は、次のライト処理を行うため、次のライトフィールド
2107.サーチレコード番号2108を選択する。ま
た、完了したライト処理でライトしたフィールド606
の数を考慮し、次の゛ライトフィールド長2109.
ライトフィールドポインタ2110を選択する。この後
、前記ステップ2603ヘンヤンプする。 ステップ2611では、ヘット側転送プロセッサ104
は、ヘッド側転送制御部702に完了報告を行う。そし
て、処理を終了する。 次に、制御装置204の詳細な動作について説明する。 制御装置204内のディレクタ207かバッファ付きデ
ィスク装置205にライト要求を発行するのは、次の2
つの場合である。 (1)処理装置200から受け付けたライト要求をその
ままバッファ付きディスク装置205に発行する場合。 (2)キャッンユ208内に格納したライトデータをラ
イトアフタ処理によって書き込むためのライト要求をバ
ッファ付きディスク装置205に発行する場合。 まず、ディレクタ207が処理装置200から受け付け
たライト要求をそのままバッファ付きディスク装置20
5に発行する前記(1)の場合について説明する。 第29図は、ディレクタ207の処理フローである。 ステップ2700では、ディレクタ207は、処理装置
200から受け取ったライト要求にしたがって、次の制
御情報を、バッファ付きディスク装置205に通知する
。 スケジュールトラック数・・・スケジュールするトラッ
ク500の数。 スケジュールトラックリスト・・・スケジュールするト
ラック500のリスト。 サーチ開始位置リスト・・・スケジュールするそれぞれ
のトラック500に対応して、レコード501のサーチ
を開始するトラック先頭505からの相対位置を指定し
たリスト。 ステップ2701では、ディレクタ207は、バッファ
付きディスク装置205からの受信報告を受け取る。 ステップ2702では、ディレクタ207は、処理装置
200側からの次の指示を待つ。 ステップ2703では、処理装置200からの指示にし
たがって、ディレクタ207は、バッファ付きディスク
装置205に、次のライトデータの制御情報を送る。 トラック指定・・・ライト処理を行うトラック500を
指定する。 レコード番号指定・・・制御部600内のレコード番号
602と比較する値を指定する。ヌル値を指定した場合
、ライトしたレコード501の直後のレコード501を
ライト対象とする。 フィールド指定・・・ライト対象とするフィールトロ0
6を指定する。 フィールド長指定・・・ライト対象とするそれぞれのフ
ィールド606の長さを指定する。 ステップ2704では、処理装置200側から転送され
たライトデータをそのままバッファ付きディスク装置2
05に送る。 ステップ27o5では、ディレクタ207は、バッファ
付きディスク装置205からの転送の完了報告を待つ。 転送の完了報告を受け取った時の処理は後述する。 ステップ2706では、ディレクタ207は、転送の完
了報告を処理装置200に対して行い、処理袋r112
00からの次の指示を待つ。 ステップ2707では、ディレクタ207は、処理装置
200側からの指示が次のライトデータの転送であるか
をチエツクする。そうであれば、前記ステップ2703
ヘジヤンプする。そうでなければ、ステップ2708へ
進む。 ステップ2708では、ディレクタ207は、ライト要
求の転送処理が全て完了したかをチエツクする。完了し
てなければ、前記ステップ2702ヘジヤンプする。完
了していれば、ステップ2709に進む。 ステップ2709では、バッファ付きディスク装置20
5からのライト処理完了報告を待つように、処理装置2
00に通知を行う。この後、処理を終了する。 バッファ付きディスク装置205から完了報告を受け取
るまでの間(上記ステップ27o4からステップ270
5の間)、ディレクタ207は、他のディスク装置21
0の入出力処理を実行できる。 第30図は、ディレクタ207が、バッファ付きディス
ク装置205からライト処理の完了報告を受け取った時
の処理フローである。 ステップ2800では、ディレクタ207は、処理装置
200にライト要求の完了報告を行う。 次に、ディレクタ207か、ライトアフタ処理を実行す
るためのライト要求をバッファ付きディスク装置205
に発行する前記(2)の場合について説明する。 まず、制御装置204のキャッシュ208.ディレクト
リ209の構成を説明する。 第31図は、キャッシュ208の構成を示すものである
。 キャッシュ208は、各々が1本のトラック500上の
データを格納する複数のセグメント2900により構成
される。 どのトラック500をどのセグメント2900に割り当
てるかについては、本発明とは直接関係しないため、説
明を省略する。 第32図は、ディレクトリ209の中の本発明で必要な
情報を示したものである。 これらのうち、現シリンダ1303、トラック位置13
04.獲得時刻1305については、先に第13図を参
照して説明した通りである。 セグメント管理情報3000は、セグメント2900対
応に存在する。 トラック票3001は、1つだけ存在する。 第33図は、セグメント管理情報3000中に設ける本
発明で必要な情報を示したものである。 レコード数3100・・・当該セグメント管理情報30
00に対応したセグメント2900内に格納したレコー
ド501の数を示す。 ライトレコード数3101・・・当該セグメント管理情
報3000に対応したセグメント2900内のライトア
フタレコードの数を表す。 キャソシュドシリンダ番号3102・・・当該セグメン
ト管理情報3000に対応したセグメン1−2900に
ロードしたトラック500のシリンダ番号を表す。 キャッシュトヘッド番号3103・・当該セグメント管
理情報3000に対応したセグメント2900にロード
したトラック500のヘッド番号を表す。 レコードアドレス3104・・・当該セグメント管理情
報3000に対応したセグメント2900内に格納した
レコード501の制御部600がトラック500上で格
納開始されている相対位置を表す。レコードアドレス3
104は、レコード数3100に等しい数だけ存在する
。 更新レコードアドレス3105・・・当該セグメント管
理情報3000に対応したセグメント2900内に格納
したライトアフタレコードの制御部600がトラック5
00上で格納開始されているアドレスを表す。更新レコ
ードアドレス3105は、ライトレコード数3001に
等しい数だけ存在する。また、更新レコードアドレス3
105は、昇順に並べる。 更新レコードフィールド情報3106・・当該セグメン
ト管理情報3000に対応したセグメント2900内に
格納したライトアフタレコードの更新対象とするフィー
ルド606を表す。 なお、レコードアドレス3104.更新レコードアドレ
ス3105.更新レコードフィールド情報3106の領
域は、1本のトラック500上に格納できるレコード5
01の最大数分だけ用意されている。 第34図は、トラック票3001の構成である。 トラック票3001は、全てのバッファ付きディスク装
ff205のトラック500に関して、そのトラック5
00に対してセグメント2900が割り当てられている
か、いないかを表す。割り当てられている場合には、割
り当てられているセグメント2900に対応したセグメ
ント管理情報3000へのポインタとなる。トラック票
3001上では、同じバッファ付きディスク装M2O3
上のトラック500に関するデータは、連続して格納さ
れる。これらの格納順は、シリンダ510の番号順であ
る。また、同一シリンダ510の中では、読み書きヘッ
ド401の番号順である。これにより、同じシリンダ5
10の中のライトアフタレコードを、読み書きヘッド4
01の順に、容易に見つけることが出来る。 第35図は、セグメント2900内のレコード501の
格納形式を表す。既に述べたように、セグメント290
0内には、対応したトラック500上の全てのレコード
501が格納される。 第36図は、ディレクタ207が、ライトアフタ処理を
実行するときの処理フローである。ディレクタ207は
、−度に1つのシリンダ510のライトアフタ処理を実
行する。 ステップ3400では、ディレクタ207は、ライトア
フタ対象とするシリンダ510を決定する。この決定方
法は、本発明には直接関係しないため、説明を省略する
。 ステップ3401では、ディレクタ207は、決定した
シリンダ510のトラック500に割り当てられたセグ
メント管理情報3000をトラック票3001により見
出す。さらに、これらの中から、ライトレコード数31
01が1以上になっているセグメント管理情報3000
があるかをチエツクする。なければ処理を終了する。 ステップ3402では、ディレクタ207は、ライトア
フタ対象とすべきセグメント管理情報3000、および
、バッファ付きディスク装置205との間でライトアフ
タデータを転送する順番を決定する。この決定方法は、
第13図を参照して先に説明した方法である。 ステップ3403では、ディレクタ207は、バッファ
付きディスク装置205にスケジュール情報を通知する
。スケジュール情報は、先に説明したスケジュールトラ
ック数、スケジュールトラックリスト、サーチ開始位置
リストである。サーチ開始位置リストにおける相対位置
は、セグメント管理情報3000の更新レコードアドレ
ス3105、更新フィールド情報3106により決定す
る。 ステップ3404では、ディレクタ207は、バッファ
付きディスク装置205からの受信報告を待つ。 ステップ3405では、ディレクタ207は、決定した
転送順序にしたがってライトアフタデータを転送するた
め、ライト指令をバッファ付きディスク装置205に送
る。ライト指令は、先に説明したトラック指定、レコー
ド番号指定、フィールド指定、フィールド長指定である
。 ステップ3406では、ディレクタ207は、キャッシ
ュ208内のライトアフタデータをバッファ付きディス
ク装置205に転送する。 ステップ3407では、ディレクタ207は、転送の完
了報告がバッファ付きディスク装置205から来るのを
待つ。転送の完了報告を受け取ったときの処理は後述す
る。 ステップ3408では、ディレクタ207は、スケジュ
ールしたライトアフタ処理が全て完了したかをチエツク
する。完了していなければ、前記ステップ3405ヘジ
ヤンプする。完了していれば、ステップ3408へ進む
。 ステップ3409では、ディレクタ207は、ライトア
フタ対象として決定したシリンダ510のトラック50
0に割り当てられたセグメント管理情報3401であっ
て旦つライトレコード数3101が1以上になっている
セグメント管理情報3000の中に、スケジュールを行
っていないセグメント管理情報300oがあるかをチエ
ツクする。あれば、前記ステップ3402ヘジヤンプす
る。なければ、バッファ付きディスク装置205からの
ライト処理完了報告を待つために、処理を一度終了する
。 ディレクタ207は、バッファ付きディスク装置t20
5からライト処理完了報告を受lす取るまでの間、他の
ディスク装置210に対する入出力処理を実行できる。 第37図は、ディレクタ207がバッファ付きディスク
装置205からライトアフタ処理の完了報告を受け取っ
た時の処理フローである。 ステップ3500では、ディレクタ207は、ライトア
フタ処理の完了したトラック500に割り当てたセグメ
ント管理情報3000内のライトレコード数3101.
更新レコードアドレス3105、更新レコードフィール
ド情報3106をリセットする。この後、処理を終了す
る。 〔第2実施例の詳細〕 本実施例では、制御装置204が、内部に有する情報を
参照して、ライト対象レコードの決定。 ライトデータを書き込むトラック500上の位置の計算
を行う。 そこで、第14図に示すように、バッファ付きディスク
装置205の構成は、第1実施例におけるヘッド側プロ
セッサ104(第1図)の代わりに、ヘッド側転送装置
1400という単なる転送装置制御装置を用いる。この
こと以外は、本実施例のバッファ付きディスク装置20
5の構成は、第1実施例のバッファ付きディスク族W2
O5(第1図)と基本的に同じである。ただし、各構成
要素の内部構成ついては、第1実施例と異なるものもあ
る。以下、第1実施例と異なる構成のみ説明する。 第38図は、スロット管理情報1801の構成を示すも
のである。 スロ・ントポインタ2100. シリンダ番号210
1、ヘッド番号2102.終了フラグ2111は、第2
3図に示した第1実施例のスロット管理情報1801の
構成要素と同じである。他の構成要素は、次のものであ
る。 ライトエレメント数3600・・・当該スロット管理情
報1801に対応したスロット1600内に受け付けた
ライトデータの数を表す。 ライトエレメントアドレス3601・・・ライトデータ
を書き込むトラック500上の位置を表す。 ライトエレメントポインタ3602・・・ライトデータ
のスロット1600上の位置を指す。 ライトエレメント長3603・・・ライトデータの長さ
を表す。 ライトエレメントアドレス3601. ライトエレメ
ントポインタ3602. ライトエレメント長360
3用の領域は、それぞれ1つのスロット1600内に格
納可能なライトデータの数だけ用意されている。但し、
実際に情報か格納されている数は、ライトエレメント数
3601に等しい。なお、ライトエレメントアドレス3
601は、昇順に並べられている。 第39図(a)(b)は、制御装置側転送制御部701
の処理フローである。第1実施例における制御装置側転
送制御部701の処理フロー(第26図(a )(b
))と同じ内容のステップには同じステップ番号を付し
ている。内容の異なるステップについてのみ次に説明す
る。 ステップ3700では、制御装置側転送制御部701は
、ディレクタ207からライト処理の制御情報として、
次の情報を受け取る。 ライト対象トラック・・・転送対象となるライトデータ
を書き込むべきトラック500を表す。 ライトデータアドレス・・・転送対象となるライトデー
タを書き込むべきトラック500上の位置を表す。 ライトデータ長・・・転送対象となるライトデータの長
さを表す。 ステップ3701では、制御装置側転送制御部701は
、受け取った制御情報をスロット管理情報1801にセ
ットする。制御情報をセットすべきスロット管理情報1
801は、ライト対象トラックで指定されたトラック5
00に割り当てたスロット管理情報18o1である。ラ
イトデータアドレス、ライトデータ長は、スロット管理
情報1801に、ライトエレメントアドレス3601゜
ライトエレメント長3603として追加設定する。 また、ライトエレメントポインタ3602を設定して、
ライトデータを転送するスロット上の位置を決定する。 また、ライトエレメント数3600を1だけ増やす。 ステップ3702では、制御装置側転送制御部701は
、ライトデータを転送するために制御装置側転送装置1
01を起動する。 ヘッド側転送制御部702の処理フローは、第27図(
a)(b)(c)の処理フローと1カ所を除いて全く同
じであるため、図示を省略する。異なる1カ所は、第2
7図(b)のステップ2504で、ヘッド側転送プロセ
ッサ104の代わりに、ヘッド側転送装置1400を起
動する点である。 起動されたヘッド側転送装置1400は、トラック50
0上の指定された位置(ライトエレメントアドレス36
01)に、指定された長さ(ライトエレメント長360
3)のライトデータを、指定されたスロット2900の
位置(ライトエレメントポインタ3602)から書き込
む。 制御装置204におけるディレクタ207の処理は、第
1実施例における処理に、ライト対象レコードの決定、
ライトデータを書き込むトラック500上の位置の計算
の処理が追加されたものになる。 第40図は、処理装置200から受け付けたうイト要求
をそのまま実行する前記(1)の場合における制御装置
204のディレクタ207の処理フローである。第1実
施例におけるディレクタ207の処理フロー(第29図
)と同じ内容のステップには同じステップ番号を付して
いる。内容の異なるステップについてのみ次に説明する
。 ステップ3900では、ディレクタ207は、処理装置
200からのレコード501のライト指示にしたがって
、キャッシュ208内のレコード501の制御部600
内のレコード番号602゜不良位置情報604より、転
送すべきライトデータとそのトラック500上の書き込
み位置を決定する。 ステップ39o1では、転送するライトデータごとに次
の制御情報のセットを作成し、その1セツトをバッファ
付きディスク装置205に送る。 ライト対象トラック・・・転送対象となるライトデータ
を書き込むべきトラック500を表す。 ライトデータアドレス・・・転送対象となるライトデー
タを書き込むべきトラック500上の位置を表す。 ライトデータ長・・・転送対象となるライトデータの長
さを表す。 ステップ3902では、ディレクタ207は、ライトデ
ータをバッファ付きディスク装置1205に転送する。 ステップ3903では、ディレクタ207は、前記ステ
ップ3900で転送することを決定したライトデータの
転送が完了したかチエツクする。 完了していない場合、前記ステップ3901へ戻る。完
了した場合、ステップ2705へ進む。 ディレクタ207が、バッファ付きディスク装置205
からライト処理の完了報告を受け取った時の処理フロー
は、第1実施例における処理フロー(第30図)と同じ
である。 第41図は、ライトアフタ処理のライト要求を実行する
前記(2)の場合における制御装置204のディレクタ
207の処理フローである。第1実施例におけるディレ
クタ207の処理フロー(第36図)と同じ内容のステ
ップには同じステップ番号を付している。内容の異なる
ステップについてのみ次に説明する。なお、キャッシュ
208、ディレクトリ209.セグメント管理情報3o
oo、 トラック票3001.セグメント2900の
構造は、第1実施例におけるもの(第31図。 第32図、第33図、第34図、第35図)と同じであ
る。また、本実施例でも、ディレクタ207は、−度に
1つのシリンダ510のライトアフタ処理を実行する。 ステップ4000では、ディレクタ207は、ステップ
34o2で決定した転送順序にしたがってライトアフタ
対象とするレコード501を選択する。そして、選択し
たレコード501を、キャッシュ208内のレコード5
01の制御部600内のレコード番号6o2.不良位置
情報604を参照して、転送単位であるライトデータに
分割し、転送すべきライトデータとそのトラック750
0上の書き込み位置を決定する。 ステップ4001では、転送するライトデータごとに先
に述べたライト対象トラック、ライトデータアドレス、
ライトデータ長の制御情報セットを作成し、その1セツ
トをバッファ付きディスク装置205に送る。 ステップ4002では、ディレクタ207は、ライトデ
ータをバッファ付きディスク装置205に転送する。 ステップ4003では、ディレクタ207は、バッファ
付きディスク装置205からの完了報告を待つ。 ステップ4004では、ライトデータの転送が全て完了
したかをチエツクする。完了していない場合、前記ステ
ップ4001ヘジヤンプする。完了した場合、ステップ
3408へ進む。 ディレクタ207が、バッファ付きディスク装置1:2
05からライトアフタ処理の完了報告を受け取った時の
処理フローは、第1実施例における処理フロー(第37
図)と同じである。 〔第3実施例の詳細〕 本実施例では、ライト対象とするトラック500を、前
もってバッファ付きディスク装w205のバッファ10
3内にロードする。そして、制御装置204が、バッフ
ァ103にロードしたトラック500上のレコード50
1の制御部600内のレコード番号602.不良位置情
報604を参照して、ライト対象とするレコードとその
書き込み位置を決定する。これ以外は前記第2実施例と
同様の構成である。 第42図は、バッファ付きディスク装置205のバッフ
ァ103の構成の要部である。 ライト領域1601は、第17図を参照して説明したも
のである。 ロード領域4100は、第43図に示すように、複数の
ロードスロット4300より構成される。 ロードスロット4300は、1つのトラックSoO上の
データを格納する。ロードスロット4300の数は、全
てのライト対象となるトラック500を収容するだけ十
分存在する。 第44図は、バッファ付きディスク装置205の制御メ
モリ102の要部の構成である。 ライト用管理情報1700は、第19図を参照して説明
したものである。 第45図は、ヘッド側インターフェイス情報1701の
構成を示すものである。 ロード起動フラグ4700は、ロート処理の実行を要求
するときにオンにする。 ライト起動フラグ4701は、ライト処理の実行を要求
するときにオンにする。 バッファ付きディスク装置205は、第2実施例ではラ
イト処理を実行するだけであったが、本実施例ではロー
ド処理も実行する。したがって、どちらの処理を実行す
るかをヘッド側転送袋W1400に指定するため、これ
らのフラグを用いる。 スロット管理情報ポインタ2200は、第24図を参照
して説明したものである。 第46図は、ロード管理情報4400の構成を示すもの
である。 ロードスロット管理情報4500は、ロードスロット4
300対応に存在する。 ロードシリンダ4501は、ロード処理を実行するシリ
ンダを表す。 第47図は、ロードスロット管理情報450゜の構成で
ある。 ロードスロットポインタ4600・・・対応するロード
スロット4300へのポインタである。 シリンダ番号2101.ヘッド番号21o2・・・当該
ロードスロット管理情報4500に割り当てたトラック
500を表す。 ロードスロットサーチ開始アドレス4601・・・ロー
ドスロット4300内をサーチするトラック500上の
相対位置を表す。 ロード要求フラグ4602・・・ロード処理を要求中の
スロット管理情報43oOであることを表す。 第48図は、制御プロセッサ100の構成を示すもので
ある。第7図と比較すると、ロード処理部4800が新
たに加えられている。 第49図(a )(b )(c )は、全体制御部70
0の処理フローである。第1実施例における処理フロー
(第25図(a)(b))と同じ内容のステップには同
じステップ番号を付した。次に、処理内容の異なるステ
ップの説明を行う。 ステップ4900では、全体制御部700は、制御装置
204から受け取った要求が、ロード要求か、ライト要
求かを判別する。ライト要求なら、第1実施例と同様の
処理に入る。ロード要求の場合には、ステップ4901
に進む。 ステップ4901では、全体制御部700は、制御装置
204から次の制御情報を受け取る。 ロードトラックリスト・・・ロード対象とするトラック
500のリスト。 ステップ4902では、全体制御部700は、ロード処
理対象として指定されたトラック500にロードスロッ
ト管理情報4500を割り当てる。 具体的には、ロードトラックリストで指定されたトラッ
ク500の番号を、割り当て先のロードスロット管理情
報4500のシリンダ番号2101゜ヘッド番号210
2にセットする。さらに、ロード要求フラグ4602を
オンにする。 ステップ49o3では、全体制御部700は、ロードシ
リンダ4501にヌル値を設定し、さらに、ロード処理
部4800の起動を行う。 第49図(c)は、ロード処理部480oからの処理完
了報告を受け取った時に実行する処理フローである。 ステップ4904では、全体制御部700は、ロード要
求の完了を制御装置204に報告する。 第50図は、ロード処理部4800の処理フローである
。 第50図(a)の処理は、全体制御部700からの起動
要求を受け取った時に実行される。 ステップ5000では、ロード処理部4800は、ロー
ド要求フラグ4602がオンのロードスロット管理情報
4500を見つける。見つからなかった場合、ステップ
5001に進む。見つかった場合、ステップ5002に
進む。 ステップ5001では、ロード処理部4800は、ロー
ド処理が完了したことを全体制御部700に通知する。 ステップ5002では、ロード処理部4800は、見つ
かったロートスロフト管理情報4500のシリンダ番号
2101とロードシリンダ4501の値か一致するか判
定する。一致すれば、第50図(b)のステップ500
4へ進む。一致しなかった場合、ステップ5003に進
む。 ステップ5003では、ロードシリンダ4501にシリ
ンダ番号2101の値を写す。さらに、このシリンダ番
号2101の値のシリンダ510に対してシーク動作を
行うよう読み書きヘッドインターフェイス402に要求
する。 第50図(b)の処理は、読み書きヘッドインターフェ
イス402からのシーク完了報告を受けた時に実行する
。 ステップ5004では、ロード処理部4800は、第5
0図(a)のステップ5000で見つけたロードスロッ
ト管理情報4500と同じシリンダ番号2101で、旦
つ、ロード要求フラグ4602がオンのロードスロット
管理情報4500を最大m個まで見つける。 ステップ5005では、ロード処理部4800は、見つ
かったロードスロット管理情報4500に対応するトラ
ック500のロード処理を実行するため、見つかったロ
ードスロット管理情報4500の数に等しいヘッド側転
送装置1400を起動する。 第50図(c)の処理は、起動した全てのヘッド側転送
プロセッサ104からの転送完了報告を受けた時に実行
される。 ステップ5006では、ロード処理部4800は、ロー
ド処理の完了したロードスロット管理情報4500のロ
ード要求フラグ4602をオフにする。この後、次のロ
ード処理に入るため、第50図(a)のステップ500
0にジャンプする。 第51図(a )(b )は、制御装置側転送制御部7
01の処理フローである。第2実施例における制御装置
側転送制御部701の処理フロー(第39図(a )(
b ))と同じ内容のステップには同じステップ番号を
付した。次に、処理内容の異なるステップの説明を行う
。 ステップ5100では、制御装置側転送制御部701は
、スケジュールトラックリストに指定されたトラック5
00に対応するロードスロ・ント管理情報45oOを探
しだす。 ステップ5101では、制御装置側転送制御部701は
、探しだしたロードスロット管理情報4500のロード
スロットサーチ開始位置4603に、対応する値を、サ
ーチ開始位置リストの中から取り出して、設定する。 一方、制御部読み取り指令を制御装置204から受け取
ると、ステップ2401からステップ5102に進む。 ステップ5102では、制御装置側転送制御部701は
、次の制御情報を制御装置204のディレクタ207か
ら受け取る。 トラックアドレス・・・制御部600の情報を取り出す
トラック500を指定する。 ステップ5103では、制御装置側転送制御部701は
、トラックアドレスで指定されたトラック500に対応
するロードスロット管理情報4500を見い出す。 ステップ5104では、制御装置側転送制御部701は
、見い出したロードスロット管理情報4500内のロー
ドスロットサーチ開始位置4603から、対応するロー
ドスロット4300内をサーチし、最初に見出したレコ
ード501の制御部600を転送対象として決定する。 ステップ5105では、制御装置側転送制御部701は
、転送対象とした制御部600から、レコード番号60
2.不良位置情報604.フィールド長607.転送対
象とした制御部600のトラック上の開始位置の制御情
報を取り出し、制御装置204のディレクタ207に送
る。 ステップ5106では、制御装置側転送制御部701は
、ロードスロットサーチ開始位置4603を更新し、次
の要求を受けた時には、転送対象としたレコード501
0次のレコード501 t−を送対象にできるようにし
ておく。そして、ステップ2400に戻る。 ヘッド側転送制御部702は、第2実施例と同様の処理
を行うため、説明を省略する。 次に、制御袋!204側の詳細な動作について説明する
。 第52図は、処理装置200から受け付けたライト要求
をそのまま実行する前記(1)の場合のディレクタ20
7の処理フローである。第2実施例における処理フロー
(第40図)と同じ内容のステップには同じステップ番
号を付した。次に、処理内容の異なるステップの説明を
行う。 ステップ5200では、ディレクタ207は、処理装置
200からのライト対象となるトラック500の指示に
したがって、これらのトラック500を、バッファ付き
ディスク装置205にロードするよう要求する。 ステップ5201では、ディレクタ207は、バッファ
付きディスク装置1205からのロード処理の完了報告
を待ち、受け取る。 ステップ5202では、ディレクタ207は、処理装置
200にロード処理の完了を報告する。 一方、ステップ5203では、ディレクタ207は、処
理装置200からのレコード501のライト指示にした
がって、バッファ付きディスク装置205から制御部6
00の情報を得る必要があるかを判別する。必要なけれ
ば、ステップ5207ヘジヤンプする。必要があれば、
ステップ5204に進む。 ′ ステップ5204では、ディレクタ207は、バッファ
付きディスク装置205に、制御部6゜Oの情報を送る
よう要求する。 ステップ5205では、ディレクタ207は、バッファ
付きディスク装置205から制御部600の情報が送ら
れてくるのを待ち、受け取る。 ステップ5206では、ディレクタ207は、バッファ
付きディスク装置205から送られてきた制御部600
の情報のうちのレコード番号602と、処理装置200
から指示された値が一致するか比較する。一致しない場
合、前記ステップ5204に戻る。一致した場合、ステ
ップ52o7に進む。 ステップ5207では、ディレクタ207は、バッファ
付きディスク装置205側がら得たレコード番号602
.不良位置情報604.制御部600の格納位置等より
、転送すべきライトデータ。 分割数、書き込み位置等を決定する。また、ライト処理
の制御情報として、ライト対象トラック。 ライトデータアドレス、ライトデータ長のセットを、転
送するライトデータごとに作成する。 ディレクタ207が、バッファ付きディスク装置205
からライト処理の完了報告を受け取った時の処理フロー
は、第1実施例における処理フロー(第30図)と同様
である。 第53図は、ライトアフタ処理のライト要求を実行する
前記(2)の場合における制御部!!204のディレク
タ207の処理フローである。第2実施例におけるディ
レクタ207の処理フロー(第41図)と同じ内容のス
テップには同じステップ番号を付している。内容の異な
るステップについてのみ次に説明する。なお、キャッシ
ュ208、ディレクトリ209.セグメント管理情報3
000、 トラック票3001.セグメント2900
の構造は、第1実施例におけるもの(第31図。 第32図、第33図、第34図、第35図)と同じであ
る。また、本実施例でも、ディレクタ207は、−度に
1つのシリンダ510のライトアフタ処理を実行する。 ステップ5300では、ディレクタ207は、バッファ
付きディスク装置205に、ライトアフタ対象として選
択したトラック500をロードするよう要求する。 ステップ5301では、ディレクタ207は、バッファ
付きディスク装置205からのロード処理の完了報告を
待ち、受け取る。 一方、ステップ5302では、ディレクタ207は、ス
テップ3402で決定した転送順序にしたがって、ライ
トアフタ対象とするレコード501を選択する。 ステップ5303では、ディレクタ207は、ライトア
フタ対象として選択したレコード501の更新フィール
ド情報3106等にしたがって、バッファ付きディスク
装置205から制御部600の情報を送る必要があるか
を判別する。必要なければ、ステップ53o7ヘジヤン
プする。必要なら、ステップ5304に進む。 ステップ53o4では、ディレクタ207は、バッファ
付きディスク装置205対して、制御部600の情報を
送るよう要求する。 ステップ53o5では、ディレクタ207は、バッファ
付きディスク装置205から情報が送られてくるのを待
ち、受け取る。 ステップ5306では、ディレクタ207は、バッファ
付きディスク装置205から送られてきた情報のうちの
レコード番号602と、処理装置200から指示された
値が一致するか比較する。 一致しない場合、前記ステップ53o4に戻る。 一致した場合、ステップ5307に進む。 ステップ5307では、ディレクタ207は、バッファ
付きディスク装置205から得た制御部600内のフィ
ールド長607.レコード番号602、不良位置情報6
04.制御部の600の格納開始位置等を参照し、ライ
トデータ、分割数。 書き込み位置等を計算する。また、ライト処理の制御情
報として、ライト対象トラック、ライトデータアドレス
、ライトデータ長のセットを、転送するライトデータご
とに作成する。 ディレクタ207が、バッファ付きディスク装置205
からライトアフタ処理の完了報告を受け取った時の処理
フローは、第1実施例における処理フロー(第37図)
と同様である。 〔第4実施例の詳細〕 本実施例では、バッファ付きディスク装置205が、バ
ッファ103にロードしたトラック500上のレコード
501の制御部600内のレコード番号6o2.不良位
置情報604を参照して、ライト対象レコードを決定し
、その書き込み位置を計算する。 第54図(a)(b)は、本実施例における制御装置側
転送制御部701の処理フローである。第1実施例にお
ける制御装置側転送制御部701の処理フロー(第26
図(a )(b ))と同じ内容のステップには同じス
テップ番号を付した。次に、処理内容の異なるステップ
の説明を行う。 ステップ5500では、制御装置側転送制御部701は
、スケジュールトラックリストに指定されたトラック5
00に対応するロードスロット管理情報4500を探し
だす。 ステップ5501では、制御装置側転送制御部701は
、探しだしたロードスロット管理情報4500のロード
スロットサーチ開始位置46o3に、サーチ開始位置リ
ストの中から取り出した対応する値を設定する。 一方、ステップ5502では、制御装置側転送制御部7
01は、トラックアドレスで指定されたトラック500
に対応するスロット管理情報18o1と、ロードスロッ
ト管理情報4500を見い出す。 ステップ5503では、制御装置側転送制御部701は
、見い出したロードスロット管理情報4500内のロー
ドスロットサーチ開始位置4603を取り出す。取り出
したロードスロットサーチ開始位置4603から、対応
するロードスロット4300内をサーチし、最初に見出
したレコード501の制御部600のレコード番号60
2.フィールド長607.不良位置情報604.制御部
600の格納位置等を取り出す。 ステップ5504では、制御装置側転送制御部701は
、ロードスロットサーチ開始位置4603を更新し、制
御部600を取り出したレコード501の直後のレコー
ド501を次に選択できるようにしておく。 ステップ5505では、制御装置側転送制御部701は
、取り出したレコード番号602と、制御装置204か
ら受け取った指定レコード番号が一致するか比較する。 処理装置11200から指示された値を比較する。一致
しない場合、前記ステップ5503に戻る。一致した場
合、ステップ5506に進む。受け取った指定レコード
番号がヌル値である場合、一致するものとしてステップ
5506に進む。 ステップ5506では、制御装置側転送制御部701は
、取り出したフィールド長607.不良位置情報604
等と、ディレクタ207から受け取ったフィールド指定
、フィールド長指定により、ライトデータの分割数を計
算する。そして、分割するライトデータごとの書き込み
位置と長さを計算する。 ステップ5507では、制御装置側転送制御部701は
、計算結果を、ステップ55o2で選択したスロット管
理情報1801に設定する。すなわち、ライトデータの
分割数だけライトエレメント数360oを増やす。さら
に、書き込み位置と長さを、分割するライトデータごと
にライトエレメントアドレス3601とライトエレメン
ト長3603に登録する。この後、ライトデータのスロ
ット1600上の書き込み位置を、ライトエレメントポ
インタ3602に設定する。 第55図は、処理装置200から受け付けたライト要求
をそのまま発行する前記(1)の場合の制御装置204
のディレクタ207の処理フローである。 ステップ5200からステップ5202で、ライト対象
とするトラック500をバッファ付きディスク装置20
5のバッファ103にロードするよう要求する。これら
ステップ5200からステップ5202は、第3実施例
における同じ参照番号のステップ(第52図)と同じで
ある。 ステップ2700以降の処理は、第1実施例における同
じ参照番号のステップ(第29図)と同じである。 ディレクタ207が、バッファ付きディスク装置205
からライト処理の完了報告を受け取った時の処理フロー
は、第1実施例において第28図で示した内容と同様で
ある。 第56図は、ライトアフタ処理を実行する前記(2)の
場合のディレクタ207の動作の処理フローである。 ステップ3400.ステップ3401.ステップ530
0.ステップ5301により、ライトアフタ対象とする
トラック500をバッファ付きディスク装置205のバ
ッファ103にロードする。 これらステップ3400.ステップ3401.ステップ
5300.ステップ5301の処理は、第3実施例にお
ける同じ参照番号のステップ(第53図)と同じである
。 ステップ3400以降の処理は、第1実施例における同
じ参照番号のステップ(第36図)と同じである。 ディレクタ207か、バッファ付きディスク装置205
からライトアフタ処理の完了報告を受け取った時の処理
フローは第1実施例における処理フロー(第37図)と
同じである。
。本発明は、バッファ付きディスク装置のライト動作に
関して特に有用であるので、バッファ付きディスク装置
のライト動作を想定した実施例とする。なお、これによ
り本発明が限定されるものではない。 まず、第1実施例〜第4実施例に共通する計算機システ
ムの構成を説明する。 第2図に示すように、計算機システム2は、処理装置2
00と、制御装置204と、1台以上のバッファ付きデ
ィスク装置205と、0台以上のバッファなしディスク
装置206とにより構成される。なお、バッファ付きデ
ィスク装置205とバッファなしディスク装置206を
区別しないで単にディスク装置210と呼ぶことがある
。 処理装置2oOは、CPU201と、主記憶202と、
チャネル203とにより構成される。 制御装置204は、1つ以上のディレクタ207により
構成される。 ディレクタ207は、処理装置200からのライト要求
をそのままディスク装置210に伝達し、処理装置20
0とディスク装置210の間でデータの転送を行う。 第3図に、別の計算機システム3の構成を示す。 第2図の計算機システム2との差異は、制御装置204
が、ディレクタ207以外にキヤノンユ208と、ディ
レクトリ209とを含む点である。 キャッシュ208には、ディスク装W210の中のアク
セス頻度の高いデータをロードする。 ディレクトリ209には、キャッシュ208の管理情報
を格納する。 ディレクタ207は、キャッシュ28へのロード処理を
実行する。また、処理装置200から受け付けたライト
要求を次の第1の方法または第2の方法のいずれかによ
り処理する。 第1の方法では、ディレクタ207は、処理装置200
からライト要求を受け付け、ライト対象データがキャッ
シュ208に存在した場合、ディレクタ207は、キャ
ッシュ208にライトデータを書き込み、その段階でラ
イト処理を完了させる。キャッシュ208に書き込んだ
データは、ディレクタ207が、空いた時間を利用して
、処理装置200からの要求とは非同期に、ディスク装
置210にライト要求を発行し、ライト処理を実行する
(ライトアフタ処理)。キャッシュ208に書き込んだ
データをライトアフタデータと呼ぶ。 第2の方法では、ディレクタ207は、ライト要求をそ
のままディスク装置210に伝達し、処理装w200と
ディスク装置210の間でデータの転送を行う。すなわ
ち、第2図の計算機システム2における場合と同じであ
る。ただし、処理装置200から受け取った更新内容を
キャッシュ208内にあるライト対象データにも書き込
む点が異なる。 バッファ付きディスク装置210の構成/機能は、第2
図の計算機システム2でも、第3図の計算機システム3
でも同じである。つまり、制御装置204側から受け取
ったライト要求が、ライトアフタ処理を実行するものな
のか、処理装置から受け取ったライト要求かそのまま伝
達されたものなのかを区別しない。 次に、ディスク装置210のデータの記録構造について
説明する。 第4図は、ディスク装置210のデータ記録構造を表し
たものである。 円盤400は、データを記録する媒体であり、1台のデ
ィスク装置210に複数存在する回転体である。以下の
説明では、n枚の円盤400が存在するものとする。 読み書きヘッド401は、円盤400にデータを読み書
きする装置であり、円盤400対応に存在する。したが
って、n個の読み書きヘッド401が存在する。読み書
きヘッド401は、読み書きへラドイタフェース402
を介して制御される。 第5図に示すように、円盤400が1回転する間に、読
み書きヘッド401がアクセス可能な円状の記録単位を
トラック500とよぷ。トラ、ツク500は、円盤40
0上に複数存在する。あるトラック500が入出力対象
となった時、読み書きヘット4.01をこのトラック5
00が読み書きできる位置に移動する。この動作は、シ
ーク動作と呼ばれる。このディスク装置210では、複
数の読み書きヘット401が、独立に移動するのではな
く、同時に移動する。円盤400が1回転する間にn個
の読み書きヘッド401が同時にアクセス可能なトラッ
ク500の集合をシリンダ510と呼ぶ。 通常、読み書きするトラック500をディレクタ207
が指定する場合、「何番目のシリンダ510」の「何番
目の読み書きヘット4o1」のトラック500というよ
うに、シリンダ番号とヘッド番号で指定する。このディ
スク装置210では、シリンダ番号は、円盤400の内
側から外側に1つごとの昇順につけられている。ヘッド
番号は、上から下に1つごとの昇順につけられている。 なお、あるトラック500の次のトラック500とは、
あるトラック500と同じシリンダ番号で。 1つヘッド番号の大きいトラック500を指す。 トラック500の上には、リード/ライト動作の単位と
なるレコード501か1つ以上存在する。 レコード501とレコード501の間には、ギャップ5
02がある。トラック500のある基準の位置には、ト
ラック先頭505か定められる。レコード501の格納
位置は、円盤400の回転方向に、トラック先頭505
からの相対的な長さて表す。あるレコード501の次の
レコード501とは、トラック500の回転方向で、あ
るレコード501の直後にあるレコード501をいう。 例えば、レコードa503の次のレコード501とは、
レコードb504を指す。 第6A図は、レコード501の典型的な構成例を示す。 レコード501は、基本的に制御部600とデータ部6
01の2つのフィールトロ06から構成される。これら
2つのフィールド606以外のフィールド606を含む
場合もある。制御部600とデータ部601の間には、
ギャップ602が存在する。制御部600は、レコード
501の制御情報を格納する。データ部601は、処理
装置200上で実行されるプログラム等か処理する情報
を格納する。 制御部600内の情報で、本発明に関係する情報は、レ
コード番号602と、フィールド長607と、不良位置
情報604である。 レコード番号602は、このレコード501の識別子で
ある。 フィールド長607は、所定の個数存在し、各々が制御
部600以外の対応するフィールド606の長さを表す
。対応するフィールド606か存在しない場合は、値を
〈0〉とする。データ部601の長さを表すフィールド
長607を特にデータ部長603と呼ぶ。 不良位置情報604は、そのレコード501か属するト
ラック500上に存在する全てのディフェクト5600
の位置を格納する。ディフェクト5600とは、データ
の書き込みか不可能な箇所であり、そこを避けてデータ
が書き込まれる。同一トラック500上のレコード50
1の不良位置情報604は、全て等しい内容となる。 ディフェクト5600を避けてデータを書き込む方法は
、第1の方法と第2の方法の2通りある。 第1の方法は、第6B図(a)に示すように、ディフェ
クト5600の後ろに制御部600.データ部601の
書き込み位置をすらす方法である。 第2の方法は、第6B図(b)に示すように、データ部
601を分割してディフェクト5600の前後に書き込
む方法である。データ部601を3つ以上に分割して書
き込むこともある。なお、通常、制御部600の長さは
データ部601の長さに比較して短いため、制御部60
0は分割しない。 ディフェクト5600が存在する位置によって、上記2
通りの方法のいずれかを選択する。すなわち、基準とな
る書き込み位置からディフェクト5600が一定値より
前に存在する場合は、上記第lの方法を選択する。一定
値以上後ろに存在する場合は、上記第2の方法を選択す
る。 レコード501の書き込み位置を計算する場合、上記不
良位置情報604を参照して、ディフェクト5600を
避ける必要がある。また、レコード501か制御部60
0.データ部601以外のフィールド606を含む場合
は、これらのフィールトロ06を考慮する必要がある。 さらに、ライト対象となるフィールド606か、レコー
ド501に含まれるフィールド606のどれであるか判
定する必要がある。 このように、非常に複雑な条件を考慮して書き込み位置
の計算を行う必要があり、また、1つ1つの書き込み位
置の計算量も比較的大きいため、書き込み位置の計算は
、専用論理回路でハードウェア的に行うより、マイクロ
プロセッサ等でソフトウェア的に行うのが実用的である
。 次に、第1実施例から第4実施例の概要を順に説明する
。その後、これらの実施例の詳細を説明する。 〔第1実施例の概要〕 第1図は、第1実施例におけるバッファ付きディスク装
置205の構成を、ライト対象レコードの決定機能およ
びレコードを書き込む位置の計算機能を実現する機構に
着目して示したものである。 制御プロセッサ100は、バッファ付きディスク装置2
05の全体の制御を行う。 制御装置インターフェイス107は、制御装置204と
のインターフェイスである。 制御装置側転送装置101は、制御装置204との間の
データ転送処理を、制御プロセッサ100の指示にした
がって実行する。 制御メモリ102は、リード/ライト動作に必要な制御
情報を格納する。 バッファ103は、リード/ライトデータを格納する。 ヘット側転送プロセッサ104は、バッファ103と読
み書きヘッド401の間のデータ転送制御と転送処理を
実行する。本実施例では、へ・ノド側転送プロセッサ1
04の台数をm台とする。これは、円盤400が1回転
する間にリート/ライト動作可能なトラック500の数
か最大m本であることを意味する。ヘッド側転送プロセ
ッサ104の数mは、読み書きヘット401の数nよす
大きい必要性がなく、m≦nが成立する。 また、ヘッド側転送プロセッサ104は、ライトデータ
の書き込み位置の計算も実行する。 バッファ付ディスク装置205は、制御部W2O4から
、ライト処理を実行するために必要な制御情報として以
下の情報を受取る。 サーチレコード番号2108 ・・・ライト対象とするレコード501を決定するため
の情報。 ライトフィールド2107 ・・・ライト対象とするフィールド606を表す情報。 これらの情報を、制御装置インターフェイス107を介
して制御プロセッサ100が受取り、制御メモリ102
に格納する。 ライトデータは、制御プロセッサ100の指示にしたが
い、制御装置側転送装置101が、制御装置インターフ
ェイス107を介して受取り、バッファ103に転送す
る。 ライトデータの円盤400への書き込みは、読み書きヘ
ッド401の位置付は処理完了後、制御プロセッサ10
0の指示により、ヘッド側転送プロセッサ104が実行
する。 ヘッド側転送プロセッサ104は、書き込みレコード決
定処理105で、制御メモリ102内のサーチレコード
番号2108と、トラック500上のレコード501の
制御部600内のレコード番号602の比較を行う。こ
れにより、ライトデータを書き込むレコード501を決
定する。 次に、ヘッド側転送プロセッサ104は、レコード書き
込み位置決定処理106で、制御部600内のフィール
ド長607.不良位置情報604゜制御メモリ102内
のライトフィールド2107等により、トラック500
上のライトデータの書き込み位置の計算を行う。 この後、ヘッド側転送プロセッサ104は、レコード書
き込み処理108で、ライトデータを前記計算した書き
込み位置に書き込む。 第7図は、制御装置204とバッファ103の間のデー
タ転送制御の概要およびバッファ103と読み書きヘッ
ド401の間のデータ転送制御の概要を示したものであ
る。これらの制御は、第2実施例以降の実施例において
も共通である。 全体制御部700は、バッファ付きディスク装置f20
5内のデータ転送処理全体の制御を行う。 制御装置側転送制御部701は、制御装置204とバッ
ファ103の間のデータ転送制御を行う。 ヘッド側転送制御部702は、バッファ103と読み書
きヘッドの間のデータ転送制御を行う。 第8図は、ライト処理を実行した時の上記全体制御部7
00と、制御装置側転送制御部701と。 ヘッド側転送制御部702の作動のタイムチャートを表
している。 以下、第7図、第8図を用いて動作概要を説明する。 制御装置204のディレクタ207からのライト要求は
、全体制御部700が受け付ける。 全体制御部700は、制御装置側転送制御部701の起
動と、ヘット側転送制御部702の起動を行う。 制御装置側転送制御部701は、制御g置204からラ
イト処理の実行に必要な制御情報を受け取り、制御メモ
リ102に格納する。ライト処理の実行に必要な制御情
報とは、上述したサーチレコード番号2108. ライ
トフィールド2107等である。 さらに、制御装置側転送制御部701は、制御装置20
4のディレクタ207とバッファ103の間でライトデ
ータを転送するために、制御装置側転送装置101の起
動を行う。 そして、制御装置側転送制御部701は、転送の完了後
、制御装置側転送装置101から完了報告を受け取る。 制御装置側転送制御部701は、以上の処理を全てのラ
イトデータの転送が完了するまで繰り返し、完了段階で
、全体制御部700に完了報告を行う〇 一方、ヘッド側転送制御部702は、全体制御部700
から起動を受けた後、読み書きヘッドインターフェイス
402を通して、読み書きヘット401に位置付は要求
を発行する。 次に、ヘット側転送制御部702は、読み書きヘッドイ
ンターフェイス402から位置付は処理完了報告を受け
取ると、制御メモリ102内の制御情報を参照し、現在
、読み書きヘッド401が位置付いたシリンダ510内
の何本分のトラック500に対するライトデータかバッ
ファ103に蓄積されているかを調べる。 調べた結果、データ蓄積トラック数がm本未満の場合、
起動するヘッド側転送プロセッサ104の数をデータ蓄
積トラック数と同数に決定する。 一方、データ蓄積トラック数がm本以上なら、起動する
ヘッド側転送プロセッサ104の数をm個に決定する。 そして、ヘッド側転送制御部702は、決定した数のヘ
ッド側転送プロセッサ104を起動する。 起動されたヘッド側転送プロセッサ104がライトデー
タを書き込む動作については、先に第1図を用いて説明
した通りである。ヘット側転送プロセッサ104は、ラ
イト動作が完了すると、ヘッド側転送制御部702に完
了報告を送る。 ヘット側転送制御部702は、ライト動作の完了報告を
ヘッド側転送プロセッサ104から受け取ると、全ての
ライトデータの転送か完了したかどうかを調べる。完了
していない場合は、上記動作の繰り返しとなる。完了し
ていれば、ヘット側転送制御部702は、全体制御部7
00に完了報告を行う。 全体制御部700は、制?Ia装置側転送制御部701
からの完了報告およびヘッド側転送制御部702からの
完了報告を受けると、ライト処理か完了したことを制御
部W2O4のディレクタ207に報告する。 第8図から理解されるように、制御装置204とバッフ
ァ103の間のデータ転送処理は、読み書きヘッド40
1が位置付は処理を実行している間に実行されている。 したかって、位置付は処理が完了した時には、ライトデ
ータがバッファ103内に既に蓄積されているから、速
やかにトラック500へのライトデータの書き込みを開
始することが出来るようになる。 また、バッファ付きディスク装置205が制御装置20
4からのライト要求を受け付けると直ちに制御装置20
4とバッファ103の間のデータ転送処理に入るから、
位置付は処理が完了するまでに十分多くのライトデータ
をバッファ103内に蓄積することが出来る。このため
、十分多くのヘッド側転送プロセッサ104を起動でき
、効率の良いライト処理を実行できるようになる。 次に、第9図、第10図、第11図、第12図を用いて
、制御装置204とバッファ付きディスク装置205の
間のライトデータの転送順序制御を説明する。これによ
り、バッファ付きディスク装置205の性能を高めるこ
とが出来る。 まず、第9図と第10図とにより、起動可能なヘッド側
転送プロセッサ104の数を多くすることが出来るライ
トデータの転送順序制御を説明する。 第9図は、あるトラック500に対するライトデータを
全て転送してから次のトラック500のライトデータの
転送に移るようなライトデータの転送順序制御を行う場
合のバッファ103内のライトデータの溜り方を表す。 第10図は、あるトラック500に対するライトデータ
の部分転送が済むと、別のトラック500のライトデー
タの部分転送に移るようなライトデータの転送順序制御
を行う場合のバッファ103内のライトデータの溜り方
を表す。 第9図と第10図とを比較すると理解されるように、第
10図に示したライトデータの転送順序制御を行うこと
により、同一時間内に、多くのトラック500対して、
バッファ103内にライトデータを蓄積することが出来
る。したがって、起動できるヘッド側転送プロセッサ1
04の数が多くなり、データ転送効率か高くなる。なお
、ヘッド側転送プロセッサ104の数に等しいm個のト
ラック500の間で、第10図のライトデータの転送順
序制御を行うのが最も効率がよく、好ましい。 次に、第11図と第12図とにより、位置付は処理時間
を短くすることが出来るライトデータの転送順序制御を
説明する。 第11図は、トラック先頭505に近い位置に格納され
たレコード501に対するライトデータからデータ転送
を開始する場合の動作を表している。この場合、シーク
処理が完了してから読み書きへラド401の下にトラッ
ク先頭505が来るまで待ってから書き込みが開始され
る。 第12図は、シーク処理が完了した時に読み書きヘッド
401の下に来ると予測される位置の近くにあるレコー
ド501に対するライトデータからデータ転送を開始す
る場合の動作を表している。 この場合、シーク処理が完了すると直ちに書き込みを開
始することが出来る。 第11図と第12図とを比較すると理解されるように、
第12図に示したライトデータの転送順序制御を行うこ
とにより、位置付は処理時間を短縮することが出来る。 シーク処理が完了した時に読み書きヘッド401の下に
来る位置は、次のようにして予測することか出来る。 =読み書きヘッド401が移動するシリンダ数=(現在
読み書きヘッドの下にあるシリンダ)−(ライト対象と
なるシリンダ) ・・・■=シーク時間=f(N)
・・・■=シーク時間中に読み書き
ヘッドが移動する距離 =g (T)
・・・■シーク処理が完了した時に読み書きヘッド
401の下に来る位置 =現在の読み書きヘッド401の下にある位置子L
・・・■関数f (N) 、
g (T)は、バッファ付きディスク装置205の機
種が決定すれば、既知となる関数である。従って、次の
情報(a)(b)(c)が分かれば、シーク処理が完了
した時に読み書きヘッド401の下に来る位置を計算で
きる。 (a)ライト対象となるシリンダ (b)現在読み書きヘッドの下にあるシリンダ(c)現
在、読み書きヘッドの下にある位置上記情報(a)は、
制御装置204には判明している。(b)(c)の情報
は、バッファ付きディスク装置205側では判明してい
るが、一般的には制御装置204には分らない。したが
って、(b)(c)の情報は、制御装置204がライト
要求を発行する前に、バッファ付きディスク装置205
から受け取るようにすればよい。あるいは、制御装置2
04側で、この前にバッファ付きディスク装置205に
発行した入出力要求の実行対象としたシリンダ501を
記憶しておくことにより(b)の情報を制御装置204
側で持ち、また、適当な契機にその時刻の読み書きヘッ
ド401の下にあるトラック500上の位置をバッファ
付きディスク装置205から制御装置204か受け取っ
ておき、現在までの経過時間から次式により情報(c)
を算出するようにすればよい。 (c)現在、読み書きヘッドの下にある位置=(ある契
機時刻における読み書きヘット4o1の下にあるトラッ
ク500上の位置)+g(現在時刻−契機時刻) なお、制御装置204かライトデータの転送順序制御を
実行できるのは、ライトアフタ処理に対応するライト要
求のみである。これは、処理装置200から受け取った
ライト要求をそのままバッファ付きディスク装置205
に伝える場合、制御装置204は単に処理装置200か
ら受け取った順にライトデータを転送することになるた
めである。 第13図は、制御装置204が実行するデータ転送順序
制御処理の概要を示している。上述のように、この処理
は、ライトアフタ処理に対応するライト要求をバッファ
付きディスク装置205に発行する場合に実行される。 ステップ1300では、制御装置204は、シーク処理
が完了した時に、読み書きヘッド401の下に来るトラ
ック500上の位置をディレクトリ209上の情報に基
づき、予測計算する。すなわち、現在、読み書きヘッド
401の下にあるシリンダ510を格納した現シリンダ
1303をディレクタ209から取り出す。次に、ある
時点のトラック500上の位置に関する情報であるトラ
ック位1j1304とこの情報を得た時の時刻である獲
得時刻1305をディレクタ209から取り出す。この
後、前記0〜0式により、シーク処理が完了した時に読
み書きヘッド401の下に来るトラック500上の位置
を計算する。 次に、ステップ1301では、円盤400が1回転する
間にライトデータを転送するトラック50oの集合を選
択する。この場合、転送順序が未決定のトラック500
の数がm本以上なら、m本のトラック500を選択する
。m本未満なら、転送順序が未決定のトラック500を
全て選択する。 ステップ1302では、選択したトラック500上のレ
コード501に対するライトデータを、前記ステップ1
300で計算したトラック500上の位置に近い順にソ
ート処理を行う。このソート結果順に転送すると、先に
第10図、第12図を参照して説明したデータ転送順序
制御となり、先に説明した効果を得ることが出来る。 ライトアフタ処理に対応したライト要求以外の場合には
、ライトデータの転送順序は、通常、処理装置200側
のライト要求を発行するプログラムが決定する。そこで
、処理装置200側のプログラムか上記データ転送順序
制御を行うようにすれば、同じ効果を得ることが出来る
。従って、この場合も、本発明の範囲に含まれる。 〔第2実施例の概要〕 第14図は、第2実施例におけるバッファ付きディスク
装置205の構成を、ライトデータの書き込みを行う機
構を中心に示したものである。 このバッファ付きディスク装置205が第1図のバッフ
ァ付きディスク装置205の構成と異なる点は、ヘッド
側転送プロセッサ104の代わりに、ヘッド側転送装置
1400を含んでいることである。その他の点では、第
1図のハソファ付きディスク装置205の構成と同じで
ある。 ヘッド側転送装置11400は、バッファ103と読み
書きヘッド401の間のデータ転送処理を実行する。但
し、ヘット側転送装置I400は、単にデータ転送を実
行する装置であり、データの書き込み位置の計算機能等
は持たない。 したがって、制御装置204か、内部に有しているキャ
ッシュ208にロードしたトラック500上のレコード
501内の制御部600からレコード番号や不良位置情
報等の情報を得て、ライトすべきレコード501の決定
、データの書き込み位置の計算等を行う。 このため、キャッシュ208内に存在するレコード50
1に対するライト処理に対してのみ本実施例が適用され
ることになる。たたし、処理装置200によってライト
されるレコード501はその前にリートされることが多
く、かつ、リートされたレコード501はキャッシュ2
08内にロートされるから、上記制限下でも十分な効果
を得られる。 なお、バッファ付きディスク装置204上の全てのトラ
ック500のレコード番号や不良位置情報等の情報を制
御装置208内に格納するようにすれば、上記制限かな
くなり、全てのライト処理に対して本実施例が適用可能
となる。 本実施例においても、第1実施例と同様に、制御装置2
04が実行するライト処理は、ライトアフタ処理を実行
するライト処理でも、処理装置から受け取ったライト要
求をそのまま伝達するライト処理でも、いずれでもよい
。(要するに、キャッシュ208内に存在するレコード
501に対するライト処理であればよい。) さて、第14図において、制御装置204は、バッファ
付きディスク装置205に対して、トラック500上に
連続して書き込む1つのライトデータ制御情報として、
ライトエレメントアドレス3601と、ライトエレメン
ト長3603とを送る。 ライトエレメントアドレス3601は、トランク先頭5
05からの相対位置を表す。 ライトエレメント長3603は、書き込むライトデータ
の長さを表す。ライトエレメント長3603の代わりに
、ライトデータの書き込み終了位置を表わす情報を送っ
てもよい。 ヘッド側転送装置1400は、ライト書き込み開始位置
1401で指定されたトラック500上の位置から、ラ
イトデータ長1402で指定された長さまで、バッファ
103内のライトデータを書き込む。 第7図を参照して説明した制御プロセッサ100のライ
トデータ転送制御は、本実施例にも適用できる。ただし
、本実施例では、ヘッド側転送制御プロセッサ104の
代わりに、ヘッド側転送制御装置140oを起動する。 起動するヘッド側転送制御装置1400台数は、第1実
施例でヘット側転送制御プロセッサ104起動した台数
と同じである。 また、第13図を参照して説明した制御装置2o4のデ
ータ転送順序制御は、本実施例にもそのまま適用可能で
ある。 〔第3実施例の概要〕 第15図は、第3実施例におけるパンファ付きディスク
装置205の構成を、ライトデータの書き込みを行う機
構を中心に示したものである。 この第3実施例は、第2実施例に近いが、ライトすべき
レコード501の決定、データの書き込み位置の計算等
の機能を実行する際に必要なレコード番号、不良位置情
報等の情報を制御部W2O4がバッファ付きディスク装
置205から得る方法が異なっている。 すなわち、制御部j!204は、ライト対象となるトラ
ック500上のデータを、バッファ付きディスク装置2
05のバッファ103内にロードするよう要求する。 バッファ付きディスク装置205のバッファ103内へ
のロート処理が完了すると、制御装置204は、バッフ
ァ付きディスク装置205のバッファ103内に格納さ
れたレコード501のレコード番号602.フィールド
長6o7.不良位置情報604等を送るようバッファ付
きディスク装fi205に要求する。 バッファ付きディスク装置205がら不良位置情報60
4等を受け取ると、制御装置204は、ライトデータの
書き込み位置を計算する。これ以降の処理は、第2実施
例と同様である。 第2実施例では、制御装置204のキャッシュ208内
の不良位置情報等を利用したため、キャッシュ208内
に格納されているレコード501に対するライト処理に
適用が限定された。しかし、本実施例では、不良位置情
報等をバッファ付きディスク装置205から得るため、
全てのレコード501に対するライト処理に適用できる
ようになる。 第7図を参照して説明した制御プロセッサ1゜Oのライ
トデータ転送制御は、本実施例にも適用できる。たたし
、本実施例では、ヘッド側転送制御プロセッサ104の
代わりに、ヘット側転送制御装置1400を起動する。 起動するヘット側転送制御装置1400台数は、第1実
施例でヘット側転送制御プロセッサ104起動した台数
と同しである。 また、第13図を参照して説明した制御装置204のデ
ータ転送順序制御は、本実施例にもそのまま適用可能で
ある。 〔第4実施例の概要〕 第16図は、第4実施例におけるバッファ付きディスク
装置205の構成を、ライトレコードの決定、ライトデ
ータの書き込み位置を計算する機構を中心に示したもの
である。 本実施例におけるバッファ付きディスク装置205の構
成は、第3実施例と近いか、バッファ付きディスク装W
2O5が、ライトデータの書き込み位置を計算する点が
相違する。 すなわち、制御袋ff204は、ライト対象となるトラ
ック500上のデータを、バッファ付きディスク装置2
05のバッファ103内にロードするよう要求する(こ
れは、第3実施例と同様である)。 バッファ付きディスク装置205のバッファ103内へ
のロード処理が完了すると、バッファ付きディスク装置
205は、バッファ103内に格納したレコード501
のレコード番号602.フィールド長6o7.不良位置
情報604等を参照して、ライトデータの書き込み位置
を計算する。 本実施例も、第3実施例と同様に、全てのレコード50
1のライト処理に適用できる。 第7図を参照して説明した制御プロセッサ100のライ
トデータ転送制御は、本実施例にも適用できる。ただし
、本実施例では、ヘッド側転送制御プロセッサ104の
代わりに、ヘッド側転送制御装置1400を起動する。 起動するヘッド側転送制御装置1400台数は、第1実
施例でヘッド側転送制御プロセッサ104起動した台数
と同しである。 また、第13図を参照して説明した制御装置204のデ
ータ転送順序制御は、本実施例にもそのまま適用可能で
ある。 以上で各実施例の概要の説明を終り、次に詳細を説明す
る。 〔第1実施例の詳細〕 第17図は、バッファ付きディスク装置205内のバッ
ファ103の構成である。ライト領域1601は、本実
施例の対象となるライト処理用の領域であり、バッファ
103全体の中の一部である。他の領域については、本
実施例と直接関係しないため特に述べない。 第18図に示すように、ライト領域1601は、複数の
スロット16oOにより構成される。 スロット1600は、1本のトラック500上のレコー
ド501を格納するための領域である。 バッファ付きディスク装置j205の制御プロセッサ1
00の制御装置側転送部701は、制御装1j204か
ら受け取ったライトデータを格納する際のスロット16
00の割り当てをサイクリックに行う。各スロット16
00の中で、最初にライトデータを格納するために割り
当てるスロット1600を先頭スロット1602と呼び
、最後に割り当てるスロット1600を最終スロット1
603と呼ぶ。スロット1600の数は十分多く、バッ
ファ付きディスク装置205かライト処理を実行中にス
ロット1600不足を起こすことはない。 第19図は、制御メモリ102の中で、本実施例に関係
する情報を示している。 ライト用管理情報1700には、ライト領域1601の
管理情報を格納する。 ヘッド側インターフェイス情報1701は、ヘット側転
送プロセッサ104対応に設けられており、制御プロセ
ッサ100とヘット側転送プロセッサ104の間で交換
する情報を格納する。 第20図は、ライト用管理情報17oOの構成を示して
いる。 ライト用管理情報1700は、1つの全体情報1800
と、スロット1600対応のスロット管理情報1801
とから構成される。 第21図は、全体情報1800の構成を占めしている。 制御装置側転送ポインタ1900は、制御装置204か
ら受け取ったライトデータを格納するために最も最近(
Most Recently)割り当てた7、0ツト管
理情報18o1を指す。 制御装置側転送スロット数1901は、制御装置205
とバッファ103間の間で現在転送中になっているスロ
ット管理情報1801の数を表す。 ヘッド側転送ポインタ1902は、バッファ103と読
み書きヘッド4010間で転送中のスロット1600の
中で、バッファ付きディスク装置205か、最初にライ
トデータを格納したスロット160に対応したスロット
管理情報1801を指す。 先に述べたように、スロット1600の割り当ては、サ
イクリックに行われる。したがって、ヘッド側転送ポイ
ンタ1902が示すスロット管理情報1801から制御
装置側転送ポインタ1900が示すスロット管理情報1
801までが、ライトデータを格納しているスロット1
600に対応するスロット管理情報1801となる。 ヘッド側転送スロット数1903は、バッファ103と
読み書きヘソ)” 401の間で転送中のスロット管理
情報1801の数、すなわち、起動したヘッド側転送プ
ロセッサ104の数を表す。 ヘッド側転送シリンダ1904は、バッファ103と読
み書きヘッド401の間で転送中のシリンダ510を表
す。 制御装置側転送終了フラグ1905は、制御装置205
側からライトデータを受け取る処理が終了したことを表
す。 第22図は、バッファ103と読み書きヘット401の
間でスロット1600の転送が完了した時に実行する操
作を示す。すなわち、スロット管理情報1801 iか
らスロット管理情報1801jを指すようにヘッド側転
送ポインタ1902を変更する(ヘッド側転送スロット
数1903たけヘット側転送ポインタ1902を進める
)。 第23図は、スロット管理情報1801の構成を示して
いる。 スロットポインタ2100 対応するスロット1600
のアドレスを表す。 シリンダ番号2101.ヘッド番号21o2・書き込み
を開始するトラック500を表す。 サーチ開始位置2103・・・ライト対象とするレコー
ド501のサーチを開始するトラック先頭505からの
相対位置を表す。 ライトレコード数2105・・・対応するスロット16
00に格納したライト対象とするレコード501の数を
表わす。 ライトフィールド数2106・・・対応するスロット1
6o○に格納したライト対象とするフィールトロ06の
数を表わす。 ライトフィールド2107・・・レコード501の中で
、ライト対象となるフィールド606を指定する。 サーチレコード番号2108・・・制御部600のレコ
ード番号602との比較処理を実行するよう指定された
番号である。対応するトラック5o○上で連続したレコ
ード501をライトする場合、制御装置204は、バッ
ファ付きディスク装置205に、サーチレコード番号2
108を指定しない場合かある。この場合、サーチレコ
ード番号2108にはヌル値を格納する。 ライトフィールド長2109・・・対応したスロット9
oOに格納したライト対象とするフィールド606の長
さを表す。 ライトフィールドポインタ211o・・・対応するスロ
ット900に格納したライト対象とするフィールド60
6へのポインタである。 終了フラグ2111・・・受け付けたライト処理におい
て、制御装置204との転送が完了したことを表す。 シリンダ番号2101以下の情報は、制御装置205内
のディレクタ207から受け付けたライト処理を実行す
るための制御情報である。 シリンダ番号2101〜ライトフイールド数2106の
5つの情報領域は、1つだけ存在する。 ライトフィールド2107とサーチレコード番号210
8の2つの情報領域は、1本のトラック500上に定義
可能なレコード501の数たけある。ただし、実際に情
報か格納されるのは、ライトレコード数2105に等し
い数となる。 ライトフィールド長2109とフィールドポインタ21
10の2つの情報領域は、1本のトラック500の中に
格納可能な最大限のフィールトロ06の数たけある。た
だし、実際に情報か格納されるのは、ライトフィールド
数2106に等しい数となる。 第24図は、ヘッド側インターフェイス1701の構成
を示している。 スロット管理情報ポインタ2200・・・ヘッド側プロ
セッサ104がライト対象とするスロット1600に対
応するスロット管理情報18o1へのポインタである。 次に、制御プロセッサ100内の各制御部分の作動を詳
細に説明する。 第25図(a)(b)に、本実施例に関係する全体制御
部700の処理フローを示す。 第25図(a)の処理は、制御装置205内のいずれか
のディレクタ207からライト要求を受け付けた時に実
行される。 ステップ2300では、全体制御部700は、制御装置
側転送ポインタ1900.ヘット側転送ポインタ190
2が、最終スロット1603に対応したスロット管理情
報1801を指すようにする。 ステップ2301では、全体制御部700は、制御装置
側転送制御部701.ヘッド側転送制御部702を起動
する。そして、処理を終了する。 第25図(b)の処理は、ヘッド側転送制御部702か
ら転送完了報告を受けた時に実行される。 ステップ2302では、全体制御部700は、制御装置
側転送終了フラグ1905がオンになるのを待つ。 ステップ2303では、全体制御部700は、ライト要
求の完了を制御装置205内のディレクタ207に通知
する。そして、処理を終了する。 第26図(a)(b)は、制御装置側転送制御部701
の処理フローである。 第26図(a)の処理は、全体制御部700から起動さ
れた時に実行される。 ステップ2400では、制御装置側転送制御部701は
、ライト処理を行うための制御情報をディレクタ207
から受け取る。 ステップ2401では、制御装置側転送制御部701は
、ディレクタ207から受け取った制御情報の解析を行
い、それがスケジュール情報ならステップ2402にジ
ャンプし、それがライト指令ならステップ2405にジ
ャンプする。 スケジュール情報とは、次の情報である。 スケジュールトラック数・・スケジュールするトラック
500の数。 スケジュールトラックリスト・・・スケジュールするト
ラック500のリスト。 サーチ開始位置リスト・・・スケジュールするそれぞれ
のトラ、り500に対応して、レコード501のサーチ
を開始するトラック先頭505からの相対位置を指定し
たリスト。 ステップ2402では、制御装置側転送制御部701は
、スケジュール対象として指定されたトラック500に
対しスロット管理情報1801を割り当てる。すなわち
、現在、制御装置側ポインタ1900が指しているスロ
ット管理情報1801の次のスロット管理情報1801
からスケジュールトラック数で指定された数のスロット
管理情報1801までを割り当てる。そして、制御装置
側ポインタ1900をスケジュールトラック数で指定さ
れた数だけ進める。また、スケジュールトラック数を制
御装置側転送スロット数1901にセットする。 ステップ2403では、制御装置側転送制御部701は
、割り当てたスロット管理情報1801のそれぞれのシ
リンダ番号2101.へ、ノド番号2102に、スケジ
ュールトラックリストで指定されたトラック500をそ
れぞれ設定する。また、それぞれのサーチ開始位置21
03に、サーチ開始位置リストで指定された値をそれぞ
れ設定する。 ステップ2404では、制御装置側転送制御部701は
、処理の完了報告をディレクタ207に通知する。この
後、次の指令をディレクタ207から受けるために、前
記ステップ2400に戻る。 一方、ライト指令とは、次の情報である。 トラック指定・・・ライト処理を行うトラック5゜Oを
指定する。 レコード番号指定・・・制御部600内のレコード番号
602と比較する値を指定する。値がヌルの場合、先に
ライトしたレコード501の次のレコード501が指定
されたものとする。 フィールド指定・・・ライト対象とするフィールド60
6を指定する。 フィールド長指定・・・ライト対象とするそれぞれのフ
ィールド606の長さを指定する。 ステップ2405では、制御装置転送制御部701は、
トラック指定より、対応するスロット管理情報1801
を見つける。 ステップ2406では、ライトレコード数2105およ
びライトフィールド数2106を更新する。 ステップ2407では、制御装置転送制御部701は、
レコード番号指定で指定された値をサーチレコード番号
2108に設定する。また、フィールド指定で指定され
た値をライトフィールド2107に設定する。また、フ
ィールド長指定で指定されたフィールド長をライトフィ
ールド長2109に設定する。また、フィールド長指定
で指定されたフィールド長から当該フィールド606を
格納するスロット1600上のアドレスを計算し、その
値をライトフィールドポインタ2110に設定する。 ステップ2408では、制御装置転送制御部701は、
ライト対象とするフィールド606の数およびそれぞれ
のライトフィールド長2109の値を、制御装置側転送
袋W101に通知し、制御装置107とバッファ103
の間のデータ転送を実行させる。この後、−度処理を終
了させる。 第26図(b)の処理は、制御装置転送制御部701が
、制御装置側転送装置101からデータ転送完了報告を
受け取った時に実行される。 ステップ2409では、制御装置転送制御部701は、
制御装置204のディレクタ207にライト処理の完了
報告を行う。 ステップ2410では、制御装置204のディレクタ2
07から次の指示があるかをチエツクする。次の指示が
ある場合、前記ステップ2400ヘジヤンブする。次の
処理がない場合、ステップ2411へ進む。 ステップ2411では、制御装置側転送ポインタ190
0が示すスロット管理情報18o1内の終了フラグ21
11をオンにする。さらに、制御装置側転送終了フラグ
1905をオンにする。この後、処理を終了させる。 第27図(a)(b)(c)は、ヘッド側転送制御部7
02の処理フローである。 第27図(a)の処理は、全体制御部700からの起動
要求を受け取った時に実行する。 ステップ2500では、ヘット側転送制御部702は、
制御装置側転送ポインタ1900とヘッド側転送ポイン
タ1902にずれか生ずるのを待つ。 ステップ2501では、ヘッド側転送制御部702は、
ヘッド側転送ポインタ1902が指す次のスロット管理
情報1801内のシリンダ番号2101をヘッド側転送
シリンダ19o4にセットし、そのセットしたシリンダ
510へのシーク動作を、読み書きヘッドインターフェ
イス402を通じて、読み書きヘッド401に要求する
。そして、処理を終了する。 第27図(b)の処理は、読み書きヘット401からシ
ーク動作の完了報告を受け取った時に実行する。 ステップ2502では、ヘッド側転送制御部702は、
制御装置側転送ポインタ1900とヘッドαり転送ポイ
ンタ1902の差およびヘッド側転送プロセッサ104
の台数(m台)より、起動可能なスロット管理情報18
01(=ライト可能なトラック50o)を決める。 ステップ25o3ては、起動可能と判断したスロット管
理情報1801のシリンダ番号21o1と、ヘッド側転
送シリンダ1904とを、ヘット側転送ポインタ190
2か指す次のスロット管理情報1801から順番に比較
して行く。この時、一致しないという結果が得られると
、比較処理を止め、それまでに一致するという比較結果
を得ていたスロット管理情報1801を最終的に起動対
象として決定する。 ステップ2504では、ヘット側転送制御部702は、
起動対象として決定したそれぞれのスロット管理情報1
8o1に対応してヘッド側転送プロセッサ104を選択
し、それらの起動を行う。 この時、各ヘッド側転送プロセッサ104に対応したヘ
ッド側インターフェイス1701のスロット管理情報ポ
インタ2200に、処理対象とするスロット管理情報1
801へのポインタを設定する。 ステップ2505では、起動したヘッド側転送プロセッ
サ104の数に等しい値をヘッド側転送スロット数19
03に設定する。そして、処理を終了する。 第27図(C)の処理は、起動した全てのヘッド側転送
プロセッサ104からの転送完了報告を受けた時に実行
される。 ステップ2506では、ヘット側転送制御部702は、
起動した数のヘット側転送プロセッサ104の分だけヘ
ッド側転送ポインタ1902を進める。 ステップ2507では、ヘット側転送制御部702は、
ヘット側転送ポインタ1902が示すスロット管理情報
1801内の終了フラグ2111がオンかをチエツクす
る。オンでなければステップ2508ヘジヤンプし、オ
ンであればステップ2510ヘジヤンプする。 ステップ2507では、ヘッド側転送ポインタ19o2
が指すスロット管理情報1801の次のスロット管理情
報1801のシリンダ番号2101を取り出す。そして
、取り出したシリンダ番号2101と、ヘッド側転送シ
リンダ19o4との比較を行う。一致しない場合、シー
ク動作が必要となるため、前記ステップ25o1ヘジヤ
ンプする。一致した場合、さらに、ヘッド側転送プロセ
ッサ104の起動を行うため、前記ステップ25o2ヘ
ジヤンプする。 ステップ251oでは、ヘッド側転送処理の完了報告を
全体制御部700に通知する。そして、処理を終了する
。 第28図は、ヘッド側転送プロセッサ104の処理フロ
ー図である。ヘッド側転送プロセッサ104は、ヘッド
側転送制御部702の指示に従って処理を実行する。 ステップ2600では、ヘッド側転送プロセッサ104
は、ヘッド側インターフェイス情報1701のスロット
管理情報ポインタ2200が指すスロット管理情報18
01のヘッド番号21o2に対応した読み書きヘッド4
01を選択する。この動作は、読み書きヘッドインター
フェイス4゜2を通じて実行する。 ステップ2601では、ヘット側転送プロセッサ104
は、スロット管理情報ポインタ2200か指すスロット
管理情報1801のサーチ開始アドレス2103で指定
された位置に、読み書きヘッド401が位置付くのを待
つ。 ステップ2602では、ヘッド側転送プロセッサ104
は、スロット管理情報ポインタ2200が指すスロット
管理情報18o1のライトフィールド2107.サーチ
レコード番号2108.ライトフィールド長2109.
ライトフィールドポインタ2110の先頭のものを
選択する。 ステップ2603では、ヘッド側転送プロセッサ104
は、最初に見つけたレコード501の制御部600内の
レコード番号602と、前記選択したサーチレコード番
号2108の比較を行う。 一致した場合、ステップ2604へ進むか、一致しない
場合、次のレコード501のレコード番号602との比
較を行うため、ステップ2603を繰返し実行する。た
だし、サーチレコード番号2108の値かヌル値であれ
ば、そのまま、ステップ2604に進む。 ステップ2604では、ヘッド側転送プロセッサ104
は、ライト対象として選択したライトフィールド210
7に基づき、書き込み対象とするフィールトロ06の数
を認識する。 ステップ2605では、ヘッド側転送プロセッサ104
は、選択したライトフィールドポインタ2110から前
記ステップ2604で認識した数分のライトフィールド
ポインタ2110までのライトフィールドポインタ21
10で指されたライトフィールドのデータをライト対象
として選択する。また、ライト対象として選択したライ
トフィールドポインタ2110に対応するライトフィー
ルド長2109に示された値を各ライトデータの長さと
認識する。 ステップ2606では、ヘッド側転送プロセッサ104
は、制御部600内のフィールド長607と、認識した
ライトフィールド長2109に示された値と比較する。 ステップ2607では、ヘッド側転送プロセッサ104
は、レコード501の制御部600内のフィールド長6
07と不良位置情報604とを参照して、ライト対象と
して選択したライトフィールドポインタ2110が指す
データの書き込み位置を計算する。 ステップ2608では、ヘット側転送プロセッサ104
は、計算した書き込み位置に、ライト対象として選択し
たライトフィールドポインタ2110か指すデータを書
き込む。 ステップ2609では、ヘット側転送プロセッサ104
は、ライトレコード数2105およびライトフィールド
数2106を参照して、当該スロット管理情報1801
に係る全てのライト処理か完了したかをチエツクする。 完了していない場合、ステップ2610に進む。完了し
ている場合、ステップ2611へ進む。 ステップ2610では、ヘッド側転送プロセッサ104
は、次のライト処理を行うため、次のライトフィールド
2107.サーチレコード番号2108を選択する。ま
た、完了したライト処理でライトしたフィールド606
の数を考慮し、次の゛ライトフィールド長2109.
ライトフィールドポインタ2110を選択する。この後
、前記ステップ2603ヘンヤンプする。 ステップ2611では、ヘット側転送プロセッサ104
は、ヘッド側転送制御部702に完了報告を行う。そし
て、処理を終了する。 次に、制御装置204の詳細な動作について説明する。 制御装置204内のディレクタ207かバッファ付きデ
ィスク装置205にライト要求を発行するのは、次の2
つの場合である。 (1)処理装置200から受け付けたライト要求をその
ままバッファ付きディスク装置205に発行する場合。 (2)キャッンユ208内に格納したライトデータをラ
イトアフタ処理によって書き込むためのライト要求をバ
ッファ付きディスク装置205に発行する場合。 まず、ディレクタ207が処理装置200から受け付け
たライト要求をそのままバッファ付きディスク装置20
5に発行する前記(1)の場合について説明する。 第29図は、ディレクタ207の処理フローである。 ステップ2700では、ディレクタ207は、処理装置
200から受け取ったライト要求にしたがって、次の制
御情報を、バッファ付きディスク装置205に通知する
。 スケジュールトラック数・・・スケジュールするトラッ
ク500の数。 スケジュールトラックリスト・・・スケジュールするト
ラック500のリスト。 サーチ開始位置リスト・・・スケジュールするそれぞれ
のトラック500に対応して、レコード501のサーチ
を開始するトラック先頭505からの相対位置を指定し
たリスト。 ステップ2701では、ディレクタ207は、バッファ
付きディスク装置205からの受信報告を受け取る。 ステップ2702では、ディレクタ207は、処理装置
200側からの次の指示を待つ。 ステップ2703では、処理装置200からの指示にし
たがって、ディレクタ207は、バッファ付きディスク
装置205に、次のライトデータの制御情報を送る。 トラック指定・・・ライト処理を行うトラック500を
指定する。 レコード番号指定・・・制御部600内のレコード番号
602と比較する値を指定する。ヌル値を指定した場合
、ライトしたレコード501の直後のレコード501を
ライト対象とする。 フィールド指定・・・ライト対象とするフィールトロ0
6を指定する。 フィールド長指定・・・ライト対象とするそれぞれのフ
ィールド606の長さを指定する。 ステップ2704では、処理装置200側から転送され
たライトデータをそのままバッファ付きディスク装置2
05に送る。 ステップ27o5では、ディレクタ207は、バッファ
付きディスク装置205からの転送の完了報告を待つ。 転送の完了報告を受け取った時の処理は後述する。 ステップ2706では、ディレクタ207は、転送の完
了報告を処理装置200に対して行い、処理袋r112
00からの次の指示を待つ。 ステップ2707では、ディレクタ207は、処理装置
200側からの指示が次のライトデータの転送であるか
をチエツクする。そうであれば、前記ステップ2703
ヘジヤンプする。そうでなければ、ステップ2708へ
進む。 ステップ2708では、ディレクタ207は、ライト要
求の転送処理が全て完了したかをチエツクする。完了し
てなければ、前記ステップ2702ヘジヤンプする。完
了していれば、ステップ2709に進む。 ステップ2709では、バッファ付きディスク装置20
5からのライト処理完了報告を待つように、処理装置2
00に通知を行う。この後、処理を終了する。 バッファ付きディスク装置205から完了報告を受け取
るまでの間(上記ステップ27o4からステップ270
5の間)、ディレクタ207は、他のディスク装置21
0の入出力処理を実行できる。 第30図は、ディレクタ207が、バッファ付きディス
ク装置205からライト処理の完了報告を受け取った時
の処理フローである。 ステップ2800では、ディレクタ207は、処理装置
200にライト要求の完了報告を行う。 次に、ディレクタ207か、ライトアフタ処理を実行す
るためのライト要求をバッファ付きディスク装置205
に発行する前記(2)の場合について説明する。 まず、制御装置204のキャッシュ208.ディレクト
リ209の構成を説明する。 第31図は、キャッシュ208の構成を示すものである
。 キャッシュ208は、各々が1本のトラック500上の
データを格納する複数のセグメント2900により構成
される。 どのトラック500をどのセグメント2900に割り当
てるかについては、本発明とは直接関係しないため、説
明を省略する。 第32図は、ディレクトリ209の中の本発明で必要な
情報を示したものである。 これらのうち、現シリンダ1303、トラック位置13
04.獲得時刻1305については、先に第13図を参
照して説明した通りである。 セグメント管理情報3000は、セグメント2900対
応に存在する。 トラック票3001は、1つだけ存在する。 第33図は、セグメント管理情報3000中に設ける本
発明で必要な情報を示したものである。 レコード数3100・・・当該セグメント管理情報30
00に対応したセグメント2900内に格納したレコー
ド501の数を示す。 ライトレコード数3101・・・当該セグメント管理情
報3000に対応したセグメント2900内のライトア
フタレコードの数を表す。 キャソシュドシリンダ番号3102・・・当該セグメン
ト管理情報3000に対応したセグメン1−2900に
ロードしたトラック500のシリンダ番号を表す。 キャッシュトヘッド番号3103・・当該セグメント管
理情報3000に対応したセグメント2900にロード
したトラック500のヘッド番号を表す。 レコードアドレス3104・・・当該セグメント管理情
報3000に対応したセグメント2900内に格納した
レコード501の制御部600がトラック500上で格
納開始されている相対位置を表す。レコードアドレス3
104は、レコード数3100に等しい数だけ存在する
。 更新レコードアドレス3105・・・当該セグメント管
理情報3000に対応したセグメント2900内に格納
したライトアフタレコードの制御部600がトラック5
00上で格納開始されているアドレスを表す。更新レコ
ードアドレス3105は、ライトレコード数3001に
等しい数だけ存在する。また、更新レコードアドレス3
105は、昇順に並べる。 更新レコードフィールド情報3106・・当該セグメン
ト管理情報3000に対応したセグメント2900内に
格納したライトアフタレコードの更新対象とするフィー
ルド606を表す。 なお、レコードアドレス3104.更新レコードアドレ
ス3105.更新レコードフィールド情報3106の領
域は、1本のトラック500上に格納できるレコード5
01の最大数分だけ用意されている。 第34図は、トラック票3001の構成である。 トラック票3001は、全てのバッファ付きディスク装
ff205のトラック500に関して、そのトラック5
00に対してセグメント2900が割り当てられている
か、いないかを表す。割り当てられている場合には、割
り当てられているセグメント2900に対応したセグメ
ント管理情報3000へのポインタとなる。トラック票
3001上では、同じバッファ付きディスク装M2O3
上のトラック500に関するデータは、連続して格納さ
れる。これらの格納順は、シリンダ510の番号順であ
る。また、同一シリンダ510の中では、読み書きヘッ
ド401の番号順である。これにより、同じシリンダ5
10の中のライトアフタレコードを、読み書きヘッド4
01の順に、容易に見つけることが出来る。 第35図は、セグメント2900内のレコード501の
格納形式を表す。既に述べたように、セグメント290
0内には、対応したトラック500上の全てのレコード
501が格納される。 第36図は、ディレクタ207が、ライトアフタ処理を
実行するときの処理フローである。ディレクタ207は
、−度に1つのシリンダ510のライトアフタ処理を実
行する。 ステップ3400では、ディレクタ207は、ライトア
フタ対象とするシリンダ510を決定する。この決定方
法は、本発明には直接関係しないため、説明を省略する
。 ステップ3401では、ディレクタ207は、決定した
シリンダ510のトラック500に割り当てられたセグ
メント管理情報3000をトラック票3001により見
出す。さらに、これらの中から、ライトレコード数31
01が1以上になっているセグメント管理情報3000
があるかをチエツクする。なければ処理を終了する。 ステップ3402では、ディレクタ207は、ライトア
フタ対象とすべきセグメント管理情報3000、および
、バッファ付きディスク装置205との間でライトアフ
タデータを転送する順番を決定する。この決定方法は、
第13図を参照して先に説明した方法である。 ステップ3403では、ディレクタ207は、バッファ
付きディスク装置205にスケジュール情報を通知する
。スケジュール情報は、先に説明したスケジュールトラ
ック数、スケジュールトラックリスト、サーチ開始位置
リストである。サーチ開始位置リストにおける相対位置
は、セグメント管理情報3000の更新レコードアドレ
ス3105、更新フィールド情報3106により決定す
る。 ステップ3404では、ディレクタ207は、バッファ
付きディスク装置205からの受信報告を待つ。 ステップ3405では、ディレクタ207は、決定した
転送順序にしたがってライトアフタデータを転送するた
め、ライト指令をバッファ付きディスク装置205に送
る。ライト指令は、先に説明したトラック指定、レコー
ド番号指定、フィールド指定、フィールド長指定である
。 ステップ3406では、ディレクタ207は、キャッシ
ュ208内のライトアフタデータをバッファ付きディス
ク装置205に転送する。 ステップ3407では、ディレクタ207は、転送の完
了報告がバッファ付きディスク装置205から来るのを
待つ。転送の完了報告を受け取ったときの処理は後述す
る。 ステップ3408では、ディレクタ207は、スケジュ
ールしたライトアフタ処理が全て完了したかをチエツク
する。完了していなければ、前記ステップ3405ヘジ
ヤンプする。完了していれば、ステップ3408へ進む
。 ステップ3409では、ディレクタ207は、ライトア
フタ対象として決定したシリンダ510のトラック50
0に割り当てられたセグメント管理情報3401であっ
て旦つライトレコード数3101が1以上になっている
セグメント管理情報3000の中に、スケジュールを行
っていないセグメント管理情報300oがあるかをチエ
ツクする。あれば、前記ステップ3402ヘジヤンプす
る。なければ、バッファ付きディスク装置205からの
ライト処理完了報告を待つために、処理を一度終了する
。 ディレクタ207は、バッファ付きディスク装置t20
5からライト処理完了報告を受lす取るまでの間、他の
ディスク装置210に対する入出力処理を実行できる。 第37図は、ディレクタ207がバッファ付きディスク
装置205からライトアフタ処理の完了報告を受け取っ
た時の処理フローである。 ステップ3500では、ディレクタ207は、ライトア
フタ処理の完了したトラック500に割り当てたセグメ
ント管理情報3000内のライトレコード数3101.
更新レコードアドレス3105、更新レコードフィール
ド情報3106をリセットする。この後、処理を終了す
る。 〔第2実施例の詳細〕 本実施例では、制御装置204が、内部に有する情報を
参照して、ライト対象レコードの決定。 ライトデータを書き込むトラック500上の位置の計算
を行う。 そこで、第14図に示すように、バッファ付きディスク
装置205の構成は、第1実施例におけるヘッド側プロ
セッサ104(第1図)の代わりに、ヘッド側転送装置
1400という単なる転送装置制御装置を用いる。この
こと以外は、本実施例のバッファ付きディスク装置20
5の構成は、第1実施例のバッファ付きディスク族W2
O5(第1図)と基本的に同じである。ただし、各構成
要素の内部構成ついては、第1実施例と異なるものもあ
る。以下、第1実施例と異なる構成のみ説明する。 第38図は、スロット管理情報1801の構成を示すも
のである。 スロ・ントポインタ2100. シリンダ番号210
1、ヘッド番号2102.終了フラグ2111は、第2
3図に示した第1実施例のスロット管理情報1801の
構成要素と同じである。他の構成要素は、次のものであ
る。 ライトエレメント数3600・・・当該スロット管理情
報1801に対応したスロット1600内に受け付けた
ライトデータの数を表す。 ライトエレメントアドレス3601・・・ライトデータ
を書き込むトラック500上の位置を表す。 ライトエレメントポインタ3602・・・ライトデータ
のスロット1600上の位置を指す。 ライトエレメント長3603・・・ライトデータの長さ
を表す。 ライトエレメントアドレス3601. ライトエレメ
ントポインタ3602. ライトエレメント長360
3用の領域は、それぞれ1つのスロット1600内に格
納可能なライトデータの数だけ用意されている。但し、
実際に情報か格納されている数は、ライトエレメント数
3601に等しい。なお、ライトエレメントアドレス3
601は、昇順に並べられている。 第39図(a)(b)は、制御装置側転送制御部701
の処理フローである。第1実施例における制御装置側転
送制御部701の処理フロー(第26図(a )(b
))と同じ内容のステップには同じステップ番号を付し
ている。内容の異なるステップについてのみ次に説明す
る。 ステップ3700では、制御装置側転送制御部701は
、ディレクタ207からライト処理の制御情報として、
次の情報を受け取る。 ライト対象トラック・・・転送対象となるライトデータ
を書き込むべきトラック500を表す。 ライトデータアドレス・・・転送対象となるライトデー
タを書き込むべきトラック500上の位置を表す。 ライトデータ長・・・転送対象となるライトデータの長
さを表す。 ステップ3701では、制御装置側転送制御部701は
、受け取った制御情報をスロット管理情報1801にセ
ットする。制御情報をセットすべきスロット管理情報1
801は、ライト対象トラックで指定されたトラック5
00に割り当てたスロット管理情報18o1である。ラ
イトデータアドレス、ライトデータ長は、スロット管理
情報1801に、ライトエレメントアドレス3601゜
ライトエレメント長3603として追加設定する。 また、ライトエレメントポインタ3602を設定して、
ライトデータを転送するスロット上の位置を決定する。 また、ライトエレメント数3600を1だけ増やす。 ステップ3702では、制御装置側転送制御部701は
、ライトデータを転送するために制御装置側転送装置1
01を起動する。 ヘッド側転送制御部702の処理フローは、第27図(
a)(b)(c)の処理フローと1カ所を除いて全く同
じであるため、図示を省略する。異なる1カ所は、第2
7図(b)のステップ2504で、ヘッド側転送プロセ
ッサ104の代わりに、ヘッド側転送装置1400を起
動する点である。 起動されたヘッド側転送装置1400は、トラック50
0上の指定された位置(ライトエレメントアドレス36
01)に、指定された長さ(ライトエレメント長360
3)のライトデータを、指定されたスロット2900の
位置(ライトエレメントポインタ3602)から書き込
む。 制御装置204におけるディレクタ207の処理は、第
1実施例における処理に、ライト対象レコードの決定、
ライトデータを書き込むトラック500上の位置の計算
の処理が追加されたものになる。 第40図は、処理装置200から受け付けたうイト要求
をそのまま実行する前記(1)の場合における制御装置
204のディレクタ207の処理フローである。第1実
施例におけるディレクタ207の処理フロー(第29図
)と同じ内容のステップには同じステップ番号を付して
いる。内容の異なるステップについてのみ次に説明する
。 ステップ3900では、ディレクタ207は、処理装置
200からのレコード501のライト指示にしたがって
、キャッシュ208内のレコード501の制御部600
内のレコード番号602゜不良位置情報604より、転
送すべきライトデータとそのトラック500上の書き込
み位置を決定する。 ステップ39o1では、転送するライトデータごとに次
の制御情報のセットを作成し、その1セツトをバッファ
付きディスク装置205に送る。 ライト対象トラック・・・転送対象となるライトデータ
を書き込むべきトラック500を表す。 ライトデータアドレス・・・転送対象となるライトデー
タを書き込むべきトラック500上の位置を表す。 ライトデータ長・・・転送対象となるライトデータの長
さを表す。 ステップ3902では、ディレクタ207は、ライトデ
ータをバッファ付きディスク装置1205に転送する。 ステップ3903では、ディレクタ207は、前記ステ
ップ3900で転送することを決定したライトデータの
転送が完了したかチエツクする。 完了していない場合、前記ステップ3901へ戻る。完
了した場合、ステップ2705へ進む。 ディレクタ207が、バッファ付きディスク装置205
からライト処理の完了報告を受け取った時の処理フロー
は、第1実施例における処理フロー(第30図)と同じ
である。 第41図は、ライトアフタ処理のライト要求を実行する
前記(2)の場合における制御装置204のディレクタ
207の処理フローである。第1実施例におけるディレ
クタ207の処理フロー(第36図)と同じ内容のステ
ップには同じステップ番号を付している。内容の異なる
ステップについてのみ次に説明する。なお、キャッシュ
208、ディレクトリ209.セグメント管理情報3o
oo、 トラック票3001.セグメント2900の
構造は、第1実施例におけるもの(第31図。 第32図、第33図、第34図、第35図)と同じであ
る。また、本実施例でも、ディレクタ207は、−度に
1つのシリンダ510のライトアフタ処理を実行する。 ステップ4000では、ディレクタ207は、ステップ
34o2で決定した転送順序にしたがってライトアフタ
対象とするレコード501を選択する。そして、選択し
たレコード501を、キャッシュ208内のレコード5
01の制御部600内のレコード番号6o2.不良位置
情報604を参照して、転送単位であるライトデータに
分割し、転送すべきライトデータとそのトラック750
0上の書き込み位置を決定する。 ステップ4001では、転送するライトデータごとに先
に述べたライト対象トラック、ライトデータアドレス、
ライトデータ長の制御情報セットを作成し、その1セツ
トをバッファ付きディスク装置205に送る。 ステップ4002では、ディレクタ207は、ライトデ
ータをバッファ付きディスク装置205に転送する。 ステップ4003では、ディレクタ207は、バッファ
付きディスク装置205からの完了報告を待つ。 ステップ4004では、ライトデータの転送が全て完了
したかをチエツクする。完了していない場合、前記ステ
ップ4001ヘジヤンプする。完了した場合、ステップ
3408へ進む。 ディレクタ207が、バッファ付きディスク装置1:2
05からライトアフタ処理の完了報告を受け取った時の
処理フローは、第1実施例における処理フロー(第37
図)と同じである。 〔第3実施例の詳細〕 本実施例では、ライト対象とするトラック500を、前
もってバッファ付きディスク装w205のバッファ10
3内にロードする。そして、制御装置204が、バッフ
ァ103にロードしたトラック500上のレコード50
1の制御部600内のレコード番号602.不良位置情
報604を参照して、ライト対象とするレコードとその
書き込み位置を決定する。これ以外は前記第2実施例と
同様の構成である。 第42図は、バッファ付きディスク装置205のバッフ
ァ103の構成の要部である。 ライト領域1601は、第17図を参照して説明したも
のである。 ロード領域4100は、第43図に示すように、複数の
ロードスロット4300より構成される。 ロードスロット4300は、1つのトラックSoO上の
データを格納する。ロードスロット4300の数は、全
てのライト対象となるトラック500を収容するだけ十
分存在する。 第44図は、バッファ付きディスク装置205の制御メ
モリ102の要部の構成である。 ライト用管理情報1700は、第19図を参照して説明
したものである。 第45図は、ヘッド側インターフェイス情報1701の
構成を示すものである。 ロード起動フラグ4700は、ロート処理の実行を要求
するときにオンにする。 ライト起動フラグ4701は、ライト処理の実行を要求
するときにオンにする。 バッファ付きディスク装置205は、第2実施例ではラ
イト処理を実行するだけであったが、本実施例ではロー
ド処理も実行する。したがって、どちらの処理を実行す
るかをヘッド側転送袋W1400に指定するため、これ
らのフラグを用いる。 スロット管理情報ポインタ2200は、第24図を参照
して説明したものである。 第46図は、ロード管理情報4400の構成を示すもの
である。 ロードスロット管理情報4500は、ロードスロット4
300対応に存在する。 ロードシリンダ4501は、ロード処理を実行するシリ
ンダを表す。 第47図は、ロードスロット管理情報450゜の構成で
ある。 ロードスロットポインタ4600・・・対応するロード
スロット4300へのポインタである。 シリンダ番号2101.ヘッド番号21o2・・・当該
ロードスロット管理情報4500に割り当てたトラック
500を表す。 ロードスロットサーチ開始アドレス4601・・・ロー
ドスロット4300内をサーチするトラック500上の
相対位置を表す。 ロード要求フラグ4602・・・ロード処理を要求中の
スロット管理情報43oOであることを表す。 第48図は、制御プロセッサ100の構成を示すもので
ある。第7図と比較すると、ロード処理部4800が新
たに加えられている。 第49図(a )(b )(c )は、全体制御部70
0の処理フローである。第1実施例における処理フロー
(第25図(a)(b))と同じ内容のステップには同
じステップ番号を付した。次に、処理内容の異なるステ
ップの説明を行う。 ステップ4900では、全体制御部700は、制御装置
204から受け取った要求が、ロード要求か、ライト要
求かを判別する。ライト要求なら、第1実施例と同様の
処理に入る。ロード要求の場合には、ステップ4901
に進む。 ステップ4901では、全体制御部700は、制御装置
204から次の制御情報を受け取る。 ロードトラックリスト・・・ロード対象とするトラック
500のリスト。 ステップ4902では、全体制御部700は、ロード処
理対象として指定されたトラック500にロードスロッ
ト管理情報4500を割り当てる。 具体的には、ロードトラックリストで指定されたトラッ
ク500の番号を、割り当て先のロードスロット管理情
報4500のシリンダ番号2101゜ヘッド番号210
2にセットする。さらに、ロード要求フラグ4602を
オンにする。 ステップ49o3では、全体制御部700は、ロードシ
リンダ4501にヌル値を設定し、さらに、ロード処理
部4800の起動を行う。 第49図(c)は、ロード処理部480oからの処理完
了報告を受け取った時に実行する処理フローである。 ステップ4904では、全体制御部700は、ロード要
求の完了を制御装置204に報告する。 第50図は、ロード処理部4800の処理フローである
。 第50図(a)の処理は、全体制御部700からの起動
要求を受け取った時に実行される。 ステップ5000では、ロード処理部4800は、ロー
ド要求フラグ4602がオンのロードスロット管理情報
4500を見つける。見つからなかった場合、ステップ
5001に進む。見つかった場合、ステップ5002に
進む。 ステップ5001では、ロード処理部4800は、ロー
ド処理が完了したことを全体制御部700に通知する。 ステップ5002では、ロード処理部4800は、見つ
かったロートスロフト管理情報4500のシリンダ番号
2101とロードシリンダ4501の値か一致するか判
定する。一致すれば、第50図(b)のステップ500
4へ進む。一致しなかった場合、ステップ5003に進
む。 ステップ5003では、ロードシリンダ4501にシリ
ンダ番号2101の値を写す。さらに、このシリンダ番
号2101の値のシリンダ510に対してシーク動作を
行うよう読み書きヘッドインターフェイス402に要求
する。 第50図(b)の処理は、読み書きヘッドインターフェ
イス402からのシーク完了報告を受けた時に実行する
。 ステップ5004では、ロード処理部4800は、第5
0図(a)のステップ5000で見つけたロードスロッ
ト管理情報4500と同じシリンダ番号2101で、旦
つ、ロード要求フラグ4602がオンのロードスロット
管理情報4500を最大m個まで見つける。 ステップ5005では、ロード処理部4800は、見つ
かったロードスロット管理情報4500に対応するトラ
ック500のロード処理を実行するため、見つかったロ
ードスロット管理情報4500の数に等しいヘッド側転
送装置1400を起動する。 第50図(c)の処理は、起動した全てのヘッド側転送
プロセッサ104からの転送完了報告を受けた時に実行
される。 ステップ5006では、ロード処理部4800は、ロー
ド処理の完了したロードスロット管理情報4500のロ
ード要求フラグ4602をオフにする。この後、次のロ
ード処理に入るため、第50図(a)のステップ500
0にジャンプする。 第51図(a )(b )は、制御装置側転送制御部7
01の処理フローである。第2実施例における制御装置
側転送制御部701の処理フロー(第39図(a )(
b ))と同じ内容のステップには同じステップ番号を
付した。次に、処理内容の異なるステップの説明を行う
。 ステップ5100では、制御装置側転送制御部701は
、スケジュールトラックリストに指定されたトラック5
00に対応するロードスロ・ント管理情報45oOを探
しだす。 ステップ5101では、制御装置側転送制御部701は
、探しだしたロードスロット管理情報4500のロード
スロットサーチ開始位置4603に、対応する値を、サ
ーチ開始位置リストの中から取り出して、設定する。 一方、制御部読み取り指令を制御装置204から受け取
ると、ステップ2401からステップ5102に進む。 ステップ5102では、制御装置側転送制御部701は
、次の制御情報を制御装置204のディレクタ207か
ら受け取る。 トラックアドレス・・・制御部600の情報を取り出す
トラック500を指定する。 ステップ5103では、制御装置側転送制御部701は
、トラックアドレスで指定されたトラック500に対応
するロードスロット管理情報4500を見い出す。 ステップ5104では、制御装置側転送制御部701は
、見い出したロードスロット管理情報4500内のロー
ドスロットサーチ開始位置4603から、対応するロー
ドスロット4300内をサーチし、最初に見出したレコ
ード501の制御部600を転送対象として決定する。 ステップ5105では、制御装置側転送制御部701は
、転送対象とした制御部600から、レコード番号60
2.不良位置情報604.フィールド長607.転送対
象とした制御部600のトラック上の開始位置の制御情
報を取り出し、制御装置204のディレクタ207に送
る。 ステップ5106では、制御装置側転送制御部701は
、ロードスロットサーチ開始位置4603を更新し、次
の要求を受けた時には、転送対象としたレコード501
0次のレコード501 t−を送対象にできるようにし
ておく。そして、ステップ2400に戻る。 ヘッド側転送制御部702は、第2実施例と同様の処理
を行うため、説明を省略する。 次に、制御袋!204側の詳細な動作について説明する
。 第52図は、処理装置200から受け付けたライト要求
をそのまま実行する前記(1)の場合のディレクタ20
7の処理フローである。第2実施例における処理フロー
(第40図)と同じ内容のステップには同じステップ番
号を付した。次に、処理内容の異なるステップの説明を
行う。 ステップ5200では、ディレクタ207は、処理装置
200からのライト対象となるトラック500の指示に
したがって、これらのトラック500を、バッファ付き
ディスク装置205にロードするよう要求する。 ステップ5201では、ディレクタ207は、バッファ
付きディスク装置1205からのロード処理の完了報告
を待ち、受け取る。 ステップ5202では、ディレクタ207は、処理装置
200にロード処理の完了を報告する。 一方、ステップ5203では、ディレクタ207は、処
理装置200からのレコード501のライト指示にした
がって、バッファ付きディスク装置205から制御部6
00の情報を得る必要があるかを判別する。必要なけれ
ば、ステップ5207ヘジヤンプする。必要があれば、
ステップ5204に進む。 ′ ステップ5204では、ディレクタ207は、バッファ
付きディスク装置205に、制御部6゜Oの情報を送る
よう要求する。 ステップ5205では、ディレクタ207は、バッファ
付きディスク装置205から制御部600の情報が送ら
れてくるのを待ち、受け取る。 ステップ5206では、ディレクタ207は、バッファ
付きディスク装置205から送られてきた制御部600
の情報のうちのレコード番号602と、処理装置200
から指示された値が一致するか比較する。一致しない場
合、前記ステップ5204に戻る。一致した場合、ステ
ップ52o7に進む。 ステップ5207では、ディレクタ207は、バッファ
付きディスク装置205側がら得たレコード番号602
.不良位置情報604.制御部600の格納位置等より
、転送すべきライトデータ。 分割数、書き込み位置等を決定する。また、ライト処理
の制御情報として、ライト対象トラック。 ライトデータアドレス、ライトデータ長のセットを、転
送するライトデータごとに作成する。 ディレクタ207が、バッファ付きディスク装置205
からライト処理の完了報告を受け取った時の処理フロー
は、第1実施例における処理フロー(第30図)と同様
である。 第53図は、ライトアフタ処理のライト要求を実行する
前記(2)の場合における制御部!!204のディレク
タ207の処理フローである。第2実施例におけるディ
レクタ207の処理フロー(第41図)と同じ内容のス
テップには同じステップ番号を付している。内容の異な
るステップについてのみ次に説明する。なお、キャッシ
ュ208、ディレクトリ209.セグメント管理情報3
000、 トラック票3001.セグメント2900
の構造は、第1実施例におけるもの(第31図。 第32図、第33図、第34図、第35図)と同じであ
る。また、本実施例でも、ディレクタ207は、−度に
1つのシリンダ510のライトアフタ処理を実行する。 ステップ5300では、ディレクタ207は、バッファ
付きディスク装置205に、ライトアフタ対象として選
択したトラック500をロードするよう要求する。 ステップ5301では、ディレクタ207は、バッファ
付きディスク装置205からのロード処理の完了報告を
待ち、受け取る。 一方、ステップ5302では、ディレクタ207は、ス
テップ3402で決定した転送順序にしたがって、ライ
トアフタ対象とするレコード501を選択する。 ステップ5303では、ディレクタ207は、ライトア
フタ対象として選択したレコード501の更新フィール
ド情報3106等にしたがって、バッファ付きディスク
装置205から制御部600の情報を送る必要があるか
を判別する。必要なければ、ステップ53o7ヘジヤン
プする。必要なら、ステップ5304に進む。 ステップ53o4では、ディレクタ207は、バッファ
付きディスク装置205対して、制御部600の情報を
送るよう要求する。 ステップ53o5では、ディレクタ207は、バッファ
付きディスク装置205から情報が送られてくるのを待
ち、受け取る。 ステップ5306では、ディレクタ207は、バッファ
付きディスク装置205から送られてきた情報のうちの
レコード番号602と、処理装置200から指示された
値が一致するか比較する。 一致しない場合、前記ステップ53o4に戻る。 一致した場合、ステップ5307に進む。 ステップ5307では、ディレクタ207は、バッファ
付きディスク装置205から得た制御部600内のフィ
ールド長607.レコード番号602、不良位置情報6
04.制御部の600の格納開始位置等を参照し、ライ
トデータ、分割数。 書き込み位置等を計算する。また、ライト処理の制御情
報として、ライト対象トラック、ライトデータアドレス
、ライトデータ長のセットを、転送するライトデータご
とに作成する。 ディレクタ207が、バッファ付きディスク装置205
からライトアフタ処理の完了報告を受け取った時の処理
フローは、第1実施例における処理フロー(第37図)
と同様である。 〔第4実施例の詳細〕 本実施例では、バッファ付きディスク装置205が、バ
ッファ103にロードしたトラック500上のレコード
501の制御部600内のレコード番号6o2.不良位
置情報604を参照して、ライト対象レコードを決定し
、その書き込み位置を計算する。 第54図(a)(b)は、本実施例における制御装置側
転送制御部701の処理フローである。第1実施例にお
ける制御装置側転送制御部701の処理フロー(第26
図(a )(b ))と同じ内容のステップには同じス
テップ番号を付した。次に、処理内容の異なるステップ
の説明を行う。 ステップ5500では、制御装置側転送制御部701は
、スケジュールトラックリストに指定されたトラック5
00に対応するロードスロット管理情報4500を探し
だす。 ステップ5501では、制御装置側転送制御部701は
、探しだしたロードスロット管理情報4500のロード
スロットサーチ開始位置46o3に、サーチ開始位置リ
ストの中から取り出した対応する値を設定する。 一方、ステップ5502では、制御装置側転送制御部7
01は、トラックアドレスで指定されたトラック500
に対応するスロット管理情報18o1と、ロードスロッ
ト管理情報4500を見い出す。 ステップ5503では、制御装置側転送制御部701は
、見い出したロードスロット管理情報4500内のロー
ドスロットサーチ開始位置4603を取り出す。取り出
したロードスロットサーチ開始位置4603から、対応
するロードスロット4300内をサーチし、最初に見出
したレコード501の制御部600のレコード番号60
2.フィールド長607.不良位置情報604.制御部
600の格納位置等を取り出す。 ステップ5504では、制御装置側転送制御部701は
、ロードスロットサーチ開始位置4603を更新し、制
御部600を取り出したレコード501の直後のレコー
ド501を次に選択できるようにしておく。 ステップ5505では、制御装置側転送制御部701は
、取り出したレコード番号602と、制御装置204か
ら受け取った指定レコード番号が一致するか比較する。 処理装置11200から指示された値を比較する。一致
しない場合、前記ステップ5503に戻る。一致した場
合、ステップ5506に進む。受け取った指定レコード
番号がヌル値である場合、一致するものとしてステップ
5506に進む。 ステップ5506では、制御装置側転送制御部701は
、取り出したフィールド長607.不良位置情報604
等と、ディレクタ207から受け取ったフィールド指定
、フィールド長指定により、ライトデータの分割数を計
算する。そして、分割するライトデータごとの書き込み
位置と長さを計算する。 ステップ5507では、制御装置側転送制御部701は
、計算結果を、ステップ55o2で選択したスロット管
理情報1801に設定する。すなわち、ライトデータの
分割数だけライトエレメント数360oを増やす。さら
に、書き込み位置と長さを、分割するライトデータごと
にライトエレメントアドレス3601とライトエレメン
ト長3603に登録する。この後、ライトデータのスロ
ット1600上の書き込み位置を、ライトエレメントポ
インタ3602に設定する。 第55図は、処理装置200から受け付けたライト要求
をそのまま発行する前記(1)の場合の制御装置204
のディレクタ207の処理フローである。 ステップ5200からステップ5202で、ライト対象
とするトラック500をバッファ付きディスク装置20
5のバッファ103にロードするよう要求する。これら
ステップ5200からステップ5202は、第3実施例
における同じ参照番号のステップ(第52図)と同じで
ある。 ステップ2700以降の処理は、第1実施例における同
じ参照番号のステップ(第29図)と同じである。 ディレクタ207が、バッファ付きディスク装置205
からライト処理の完了報告を受け取った時の処理フロー
は、第1実施例において第28図で示した内容と同様で
ある。 第56図は、ライトアフタ処理を実行する前記(2)の
場合のディレクタ207の動作の処理フローである。 ステップ3400.ステップ3401.ステップ530
0.ステップ5301により、ライトアフタ対象とする
トラック500をバッファ付きディスク装置205のバ
ッファ103にロードする。 これらステップ3400.ステップ3401.ステップ
5300.ステップ5301の処理は、第3実施例にお
ける同じ参照番号のステップ(第53図)と同じである
。 ステップ3400以降の処理は、第1実施例における同
じ参照番号のステップ(第36図)と同じである。 ディレクタ207か、バッファ付きディスク装置205
からライトアフタ処理の完了報告を受け取った時の処理
フローは第1実施例における処理フロー(第37図)と
同じである。
本発明のバッファ付きディスク装置およびその制御装置
および記憶方法によれば、次の効果が得られる。 (1)バッファとトラックの間で、複数のライト処理を
並行して実行することが出来る。 (2)位置付は処理(シーク/サーチ処理)の後、直ち
に、トラック上にデータを書き込めるようになる。 (3)バッファとトラックの間のライトデータ転過処理
の起動多重度を高めることか出来る。 (4)シーク動作後、レコードの書き込みまでの時間(
サーチ時間)を短縮できる。
および記憶方法によれば、次の効果が得られる。 (1)バッファとトラックの間で、複数のライト処理を
並行して実行することが出来る。 (2)位置付は処理(シーク/サーチ処理)の後、直ち
に、トラック上にデータを書き込めるようになる。 (3)バッファとトラックの間のライトデータ転過処理
の起動多重度を高めることか出来る。 (4)シーク動作後、レコードの書き込みまでの時間(
サーチ時間)を短縮できる。
第1図は、本発明の第1実施例におけるバッファ付きデ
ィスク装置の構成図である。第2図は、本発明の対象と
なる計算機システムの一例の構成図である。第3図は、
本発明の対象となる計算機システムの他の一例の構成図
である。第4図は、ディスク装置のデータの記録機構の
模式図である。 第5図は、ディスク装置の記録フォーマットを表す概念
図である。第6A図は、レコードの構成の概念図である
。第6B図(a)(b)は、不良位置を避けたデータの
書き込み方法を表す概念図である。第7図は、バッファ
付きディスク装置内の制御プロセッサの処理構成を示す
概念図である。第8図は、バッファ付きディスク装置が
実行するライト処理のタイムチャートである。第9図は
、バッファ付きディスク装置205内のヘッド側転送プ
ロセッサ104の数を考慮しないで制御装置204がラ
イトデータを転送した場合の動作を表す概念図である。 第10図は、バッファ付きディスク装置205内のヘッ
ド側転送プロセッサ104の数を考慮して制御装置20
4がライトデータ転送順序制御を行った場合の動作を表
す概念図である。第11図は、バッファ付きディスク装
置205のシーク動作完了後の読み書きヘッド401の
トラック500上の位置を考慮しないで制御装置204
がライトデータを転送した場合の動作を表す概念図であ
る。第12図は、バッファ付きディスク装置205のシ
ーク動作完了後の読み書きヘッド401のトラック50
0上の位置を考慮して制御装置がライトデータ転送順序
制御を行った場合の動作を表す概念図である。第13図
は、データ転送順序を決定する制御装置204の動作を
表わす概念図である。第14図は、本発明の第2実施例
のバッファ付きディスク装置の構成図である。 第15図は、本発明の第3実施例のバッファ付きディス
ク装置の構成図である。第16図は、本発明の第4実施
例のバッファ付きディスク装置の構成図である。第17
図は、第1実施例におけるバッファの構成図である。第
18図は、第17図に示すバッファ内のライト領域の構
成図である。第18図は、制御メモリ102の構成であ
る。第19図は、第1実施例における制御メモリの構成
図である。第20図は、第19図に示すライト用管理情
報の構成図である。第21図は、第20図に示す全体情
報の構成図である。第22図は、へ、ンド側転送ポイン
タの進め方を表す概念図である。 第23図は、第20図に示すスロット管理情報の構成図
である。第24図は、第19図に示すヘッド側インター
フェイス情報の構成図である。第25図(a)(b)は
、第1実施例の全体制御部の処理フロー図である。第2
6図(a)(b)は、第1実施例の制御装置側転送制御
部の処理フロー図である。第27図(a)(b)(c)
は、第1実施例のヘッド側転送制御部の処理フロー図で
ある。第28図は、第1実施例のヘッド側転送プロセッ
サの処理フロー図である。第29図は、処理装置から受
け付けたライト要求をそのまま実行する場合の第1実施
例の制御装置のディレクタの処理フロー図である。第3
0図は、処理装置にライト要求の完了報告を行うときの
第1実施例の制御装置のディレクタの処理フロー図であ
る。第31図は、キャッシュの構成図である。第32図
は、ディレクトリの構成図である。第33図は、第32
図に示すセグメント管理情報の構成図である。第34図
は、第32図に示すトラック票の構成図である。 第35図は、第31図に示すセグメントに格納したレコ
ードの概念図である。第36図は、ライトアフタ処理を
実行する場合の第1実施例の制御装置のディレクタの処
理フロー図である。第37図は、バッファ付きディスク
装置からライトアフタ処理の完了報告を受けた時に実行
するディレクタの処理フロー図である。第38図は、第
2実施例におけるスロット管理情報の構成図である。第
39図(a)(b)は、第2実施例の制御装置側転送制
御部の処理フロー図である。第40図は、処理装置から
受け付けたライト要求をそのまま実行する場合の第2実
施例の制御装置のディレクタの処理フロー図である。第
41図は、ライトアフタ処理を実行する場合の第2実施
例の制御装置のディレクタの処理フロー図である。第4
2図は、第3実施例におけるバッファの構成図である。 第43図は、第42図に示すロード領域の構成図である
。 第44図は、第3実施例における制御メモリの構成図で
ある。第45図は、第44図に示すヘット側インターフ
ェイス情報の構成図である。第46図は、第44図に示
すロード管理情報の構成図である。第47図は、第46
図に示すロードスロット管理情報の構成図である。第4
8図は、第3実施例における制御プロセッサの処理部の
構成図である。第49図(a )(b )(c )は、
第3実施例の全体制御部の処理フロー図である。第50
図(a)(b)(c)は、第48図に示すロード処理部
の処理フロー図である。第51図(a )(b )は、
第3実施例の制御装置側転送制御部の処理フロー図であ
る。 第52図は、処理装置から受け付けたライト要求をその
まま実行する場合の第3実施例の制御装置のディレクタ
の処理フロー図である。第53図は、ライトアフタ処理
を実行する場合の第3実施例の制御装置のディレクタの
処理フロー図である。第54図(a )(b )は、第
4実施例の制御装置側転送制御部の処理フロー図である
。第55図は、処理装置から受け付けたライト要求をそ
のまま実行する場合の第4実施例の制御装置のディレク
タの処理フロー図である。第56図は、ライトアフタ処
理を実行する場合の第4実施例の制御装置のディレクタ
の処理フロー図である。
ィスク装置の構成図である。第2図は、本発明の対象と
なる計算機システムの一例の構成図である。第3図は、
本発明の対象となる計算機システムの他の一例の構成図
である。第4図は、ディスク装置のデータの記録機構の
模式図である。 第5図は、ディスク装置の記録フォーマットを表す概念
図である。第6A図は、レコードの構成の概念図である
。第6B図(a)(b)は、不良位置を避けたデータの
書き込み方法を表す概念図である。第7図は、バッファ
付きディスク装置内の制御プロセッサの処理構成を示す
概念図である。第8図は、バッファ付きディスク装置が
実行するライト処理のタイムチャートである。第9図は
、バッファ付きディスク装置205内のヘッド側転送プ
ロセッサ104の数を考慮しないで制御装置204がラ
イトデータを転送した場合の動作を表す概念図である。 第10図は、バッファ付きディスク装置205内のヘッ
ド側転送プロセッサ104の数を考慮して制御装置20
4がライトデータ転送順序制御を行った場合の動作を表
す概念図である。第11図は、バッファ付きディスク装
置205のシーク動作完了後の読み書きヘッド401の
トラック500上の位置を考慮しないで制御装置204
がライトデータを転送した場合の動作を表す概念図であ
る。第12図は、バッファ付きディスク装置205のシ
ーク動作完了後の読み書きヘッド401のトラック50
0上の位置を考慮して制御装置がライトデータ転送順序
制御を行った場合の動作を表す概念図である。第13図
は、データ転送順序を決定する制御装置204の動作を
表わす概念図である。第14図は、本発明の第2実施例
のバッファ付きディスク装置の構成図である。 第15図は、本発明の第3実施例のバッファ付きディス
ク装置の構成図である。第16図は、本発明の第4実施
例のバッファ付きディスク装置の構成図である。第17
図は、第1実施例におけるバッファの構成図である。第
18図は、第17図に示すバッファ内のライト領域の構
成図である。第18図は、制御メモリ102の構成であ
る。第19図は、第1実施例における制御メモリの構成
図である。第20図は、第19図に示すライト用管理情
報の構成図である。第21図は、第20図に示す全体情
報の構成図である。第22図は、へ、ンド側転送ポイン
タの進め方を表す概念図である。 第23図は、第20図に示すスロット管理情報の構成図
である。第24図は、第19図に示すヘッド側インター
フェイス情報の構成図である。第25図(a)(b)は
、第1実施例の全体制御部の処理フロー図である。第2
6図(a)(b)は、第1実施例の制御装置側転送制御
部の処理フロー図である。第27図(a)(b)(c)
は、第1実施例のヘッド側転送制御部の処理フロー図で
ある。第28図は、第1実施例のヘッド側転送プロセッ
サの処理フロー図である。第29図は、処理装置から受
け付けたライト要求をそのまま実行する場合の第1実施
例の制御装置のディレクタの処理フロー図である。第3
0図は、処理装置にライト要求の完了報告を行うときの
第1実施例の制御装置のディレクタの処理フロー図であ
る。第31図は、キャッシュの構成図である。第32図
は、ディレクトリの構成図である。第33図は、第32
図に示すセグメント管理情報の構成図である。第34図
は、第32図に示すトラック票の構成図である。 第35図は、第31図に示すセグメントに格納したレコ
ードの概念図である。第36図は、ライトアフタ処理を
実行する場合の第1実施例の制御装置のディレクタの処
理フロー図である。第37図は、バッファ付きディスク
装置からライトアフタ処理の完了報告を受けた時に実行
するディレクタの処理フロー図である。第38図は、第
2実施例におけるスロット管理情報の構成図である。第
39図(a)(b)は、第2実施例の制御装置側転送制
御部の処理フロー図である。第40図は、処理装置から
受け付けたライト要求をそのまま実行する場合の第2実
施例の制御装置のディレクタの処理フロー図である。第
41図は、ライトアフタ処理を実行する場合の第2実施
例の制御装置のディレクタの処理フロー図である。第4
2図は、第3実施例におけるバッファの構成図である。 第43図は、第42図に示すロード領域の構成図である
。 第44図は、第3実施例における制御メモリの構成図で
ある。第45図は、第44図に示すヘット側インターフ
ェイス情報の構成図である。第46図は、第44図に示
すロード管理情報の構成図である。第47図は、第46
図に示すロードスロット管理情報の構成図である。第4
8図は、第3実施例における制御プロセッサの処理部の
構成図である。第49図(a )(b )(c )は、
第3実施例の全体制御部の処理フロー図である。第50
図(a)(b)(c)は、第48図に示すロード処理部
の処理フロー図である。第51図(a )(b )は、
第3実施例の制御装置側転送制御部の処理フロー図であ
る。 第52図は、処理装置から受け付けたライト要求をその
まま実行する場合の第3実施例の制御装置のディレクタ
の処理フロー図である。第53図は、ライトアフタ処理
を実行する場合の第3実施例の制御装置のディレクタの
処理フロー図である。第54図(a )(b )は、第
4実施例の制御装置側転送制御部の処理フロー図である
。第55図は、処理装置から受け付けたライト要求をそ
のまま実行する場合の第4実施例の制御装置のディレク
タの処理フロー図である。第56図は、ライトアフタ処
理を実行する場合の第4実施例の制御装置のディレクタ
の処理フロー図である。
200・・・処理装置、
204・・・制御装置、
207・・・ディレクタ、
208・・・キャッシュ、
209・・・ディレクトリ、
205・・・バッファ付きディスク装置葛lOO・・・
制御プロセッサ、 101・・・制御装置側転送装置、 102・・・制御メモリ、 103・・・バッファ、 104・・・ヘッド側転送プロセッサ、700・・・全
体制御部、 701・・・制御装置側転送制御部、 702・・・ヘッド側転送制御部、 1300・・・データ転送順序制御、 4800・・・ロード処理部 1400・・・ヘッド側転送装置。
制御プロセッサ、 101・・・制御装置側転送装置、 102・・・制御メモリ、 103・・・バッファ、 104・・・ヘッド側転送プロセッサ、700・・・全
体制御部、 701・・・制御装置側転送制御部、 702・・・ヘッド側転送制御部、 1300・・・データ転送順序制御、 4800・・・ロード処理部 1400・・・ヘッド側転送装置。
Claims (1)
- 【特許請求の範囲】 1、多数のレコードを格納する記憶媒体とその記憶媒体
に書き込むべきデータを一時的に格納するバッファとを
有するバッファ付き記憶装置において、 記憶媒体上の不良箇所を示す不良箇所情報を保持する不
良箇所情報保持手段と、 記憶媒体上のレコードの識別子とバッファ内のデータの
識別子とを比較してそのデータを書き込むべきレコード
を決定する書き込みレコード決定処理と、前記不良箇所
情報保持手段が保持している不良箇所情報を参照して不
良箇所を避けるように前記データの書き込み位置を決定
する書き込み位置決定処理とを行う1以上のプロセッサ
と を具備したことを特徴とするバッファ付き記憶装置。 2、多数のレコードを格納する記憶媒体を有する記憶装
置およびその記憶装置に対して書き込むべきデータを送
信する制御装置からなる記憶装置サブシステムにおいて
、 制御装置は、記憶装置の記憶媒体上の不良箇所を示す不
良箇所情報を保持する不良箇所情報保持手段と、その不
良箇所情報保持手段が保持している不良箇所情報を参照
して不良箇所を避けるようにデータの書き込み位置を決
定する書き込み位置決定手段と、前記データと前記書き
込み位置を記憶装置に送信する送信手段を具備し、 記憶装置は、制御装置から送信されてきたデータと書き
込み位置を受信する受信手段と、受信したデータを記憶
媒体上の前記受信した書き込み位置に書き込む書き込み
実行手段を具備する、 ことを特徴とする記憶装置サブシステム。 3、多数のレコードを格納する記憶媒体を有する記憶装
置およびその記憶装置に対して書き込むべきデータを送
信する制御装置からなる記憶装置サブシステムにおいて
、 制御装置は、記憶装置に対して記憶媒体上の不良箇所を
示す不良箇所情報を送信するよう要求する不良箇所情報
送信要求手段と、記憶装置から送信されてきた不良箇所
情報を参照して不良箇所を避けるようにデータの書き込
み位置を決定する書き込み位置決定手段と、前記データ
と前記書き込み位置を記憶装置に送信する送信手段を具
備し、 記憶装置は、記憶媒体上の不良箇所を示す不良箇所情報
を保持する不良箇所情報保持手段と、制御装置からの要
求に応じて不良箇所情報を制御装置に送信する不良箇所
情報送信手段と、制御装置から送信されてきたデータと
書き込み位置を受信する受信手段と、受信したデータを
記憶媒体上の前記受信した書き込み位置に書き込む書き
込み実行手段を具備する、 ことを特徴とする記憶装置サブシステム。 4、多数のレコードを格納する記憶媒体を有する記憶装
置およびその記憶装置に対して書き込むべきデータを送
信する制御装置からなる記憶装置サブシステムにおいて
、 制御装置は、記憶装置に対して記憶媒体上の不良箇所を
示す不良箇所情報を保持するよう要求する不良箇所情報
保持要求手段を具備し、 記憶装置は、制御装置からの前記要求に応じて記憶媒体
上の不良箇所を示す不良箇所情報を保持する不良箇所情
報保持手段と、その不良箇所情報保持手段に保持してい
る不良箇所情報を参照して不良箇所を避けるように制御
装置から受信したデータの書き込み位置を決定する書き
込み位置決定手段とを具備する、ことを特徴とする記憶
装置サブシステム。 5、多数のレコードを格納する記憶媒体とその記憶媒体
に書き込むべきデータを一時的に格納するバッファとを
有し、記憶媒体上にデータを書き込む際に位置付け処理
が必要なバッファ付き記憶装置において、 外部から送られてきたデータを受け付けて次々にバッフ
ァに格納するデータ受付手段と、そのデータ受付手段に
よりデータを次々に受け付けてバッファに格納するのと
並行して前記データを書き込むための位置付け処理を実
行する並行位置付け実行手段を具備したことを特徴とす
るバッファ付き記憶装置。 6、多数のレコードを格納する記憶媒体と前記記憶媒体
に書き込むべきデータを一時的に格納するバッファとを
有するバッファ付き記憶装置において、 記憶媒体の複数の領域に並行してバッファ内のデータの
書き込みを実行しうる並行書き込み実行手段と、 その並行書き込み実行手段により現在書き込み可能な領
域の中でバッファ内に書き込むべきデータが存在する領
域の数を検出する領域数検出手段と、 前記検出した領域数に基づいてデータの書き込みを並行
に実行する領域数を決定し前記並行書き込み実行手段に
指令する並行書き込み制御手段と を具備したことを特徴とするバッファ付き記憶装置。 7、多数のレコードを格納する記憶媒体と前記記憶媒体
に書き込むべきデータを一時的に格納するバッファとを
有する記憶装置およびその記憶装置に対して書き込むべ
きデータを送信する制御装置からなる記憶装置サブシス
テムにおいて、 記憶装置は、記憶媒体の複数の領域に並行してバッファ
内のデータの書き込みを実行しうる並行書き込み実行手
段を具備し、 制御装置は、前記記憶装置で並行してデータの書き込み
を実行しうる領域数に基づいてデータを送信する順序を
決定するデータ送信順序決定手段を具備する ことを特徴とする記憶装置サブシステム。 8、多数のレコードを格納する記憶媒体とその記憶媒体
に書き込むべきデータを一時的に格納するバッファとを
有し旦つ記憶媒体上にデータを書き込む際に位置付け処
理が必要なバッファ付き記憶装置およびその記憶装置に
対して書き込むべきデータを送信する制御装置からなる
記憶装置サブシステムにおいて、 制御装置は、前記記憶装置で位置付け処理が完了したと
きに書き込み可能となる記憶媒体上の領域を予測する書
き込み領域予測手段と、その領域予測に基づいてデータ
を送信する順序を決定するデータ送信順序決定手段を具
備する ことを特徴とする記憶装置サブシステム。 9、バッファ内に格納したデータの記憶媒体上への書き
込みが完了した時に外部に対して完了報告を送信する完
了報告送信手段をさらに有する請求項7のバッファ付き
記憶装置。10、1台以上のバッファ付き記憶装置と処
理装置の間に介設される制御装置において、処理装置か
らライト要求を受け取るライト要求受け取り手段と、 処理装置からデータを受け取ってバッファ付き記憶装置
のバッファに送信するデータ送信手段と、 前記データの送信処理が完了した時、前記ライト要求に
対する処理以外の処理を実行可能な状態にする状態制御
手段と を具備したことを特徴とする制御装置。 11、データの書き込みの完了報告を記憶装置から受け
取ると、処理装置へ書き込み完了報告を送信する完了報
告送信手段をさらに有する請求項10の制御装置。 12、1台以上のバッファ付き記憶装置が接続される制
御装置において、 バッファ付き記憶装置の記憶媒体に書き込むべきデータ
を一時的に格納するキャッシュメモリと、 そのキャッシュメモリのデータをバッファ付き記憶装置
の記憶媒体に書き込むライト処理をスケジュールするス
ケジュール手段と、前記キャッシュメモリのデータをバ
ッファ 付き記憶装置のバッファに送信するデータ送信手段と、 前記データの送信が完了した時、前記ライト処理以外の
処理を実行可能な状態にする状態制御手段と を具備したことを特徴とする制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2289210A JPH04162126A (ja) | 1990-10-26 | 1990-10-26 | バッファ付き記憶装置および制御装置および記憶装置サブシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2289210A JPH04162126A (ja) | 1990-10-26 | 1990-10-26 | バッファ付き記憶装置および制御装置および記憶装置サブシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04162126A true JPH04162126A (ja) | 1992-06-05 |
Family
ID=17740207
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2289210A Pending JPH04162126A (ja) | 1990-10-26 | 1990-10-26 | バッファ付き記憶装置および制御装置および記憶装置サブシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04162126A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04245522A (ja) * | 1991-01-31 | 1992-09-02 | Fujitsu Ltd | データ転送制御方法 |
-
1990
- 1990-10-26 JP JP2289210A patent/JPH04162126A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04245522A (ja) * | 1991-01-31 | 1992-09-02 | Fujitsu Ltd | データ転送制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5805864A (en) | Virtual integrated cartridge loader for virtual tape storage system | |
| US5890208A (en) | Command executing method for CD-ROM disk drive | |
| US6557073B1 (en) | Storage apparatus having a virtual storage area | |
| US6505273B2 (en) | Disk control device and method processing variable-block and fixed-block accesses from host devices | |
| EP0848321A2 (en) | Method of data migration | |
| JPS60147855A (ja) | 記憶管理装置 | |
| US5239644A (en) | Data preloading method and system for using a buffer | |
| JP3324572B2 (ja) | 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体 | |
| US5765193A (en) | System for controlling a write operation involving data held in a write cache | |
| JPH04243458A (ja) | チャネルー直接アクセス記憶装置間非同期通信システム | |
| JPS62119626A (ja) | 磁気デイスクの多重制御方式 | |
| JP2008146408A (ja) | データ記憶装置、そのデータ再配置方法、プログラム | |
| JPH04162126A (ja) | バッファ付き記憶装置および制御装置および記憶装置サブシステム | |
| US20070079101A1 (en) | Storage control apparatus and storage control method | |
| JPH04246746A (ja) | 記憶装置システム | |
| US6745300B1 (en) | Magnetic disk device and disk access method therefor | |
| US5187778A (en) | Buffered disk unit and method of transferring data therein | |
| JPH07121376A (ja) | ダウンロード情報作成装置 | |
| JP2785451B2 (ja) | 記憶制御方法および装置 | |
| JP2001118365A (ja) | 記憶階層管理システム、記憶階層管理方法及び記憶階層管理プログラムを記録した記録媒体 | |
| JP2755103B2 (ja) | 記憶装置のアクセス方法 | |
| JPH0728836A (ja) | データベース検索方法及びこの方法を用いたデータベースシステム | |
| JPH09258909A (ja) | 記録装置 | |
| JP3252517B2 (ja) | 入出力制御方法および入出力制御システム | |
| JP3313207B2 (ja) | 情報記憶装置及び情報管理方法 |