JPH0721786B2 - デ−タ転送制御方式 - Google Patents

デ−タ転送制御方式

Info

Publication number
JPH0721786B2
JPH0721786B2 JP15024586A JP15024586A JPH0721786B2 JP H0721786 B2 JPH0721786 B2 JP H0721786B2 JP 15024586 A JP15024586 A JP 15024586A JP 15024586 A JP15024586 A JP 15024586A JP H0721786 B2 JPH0721786 B2 JP H0721786B2
Authority
JP
Japan
Prior art keywords
data transfer
data
mtu
transfer
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP15024586A
Other languages
English (en)
Other versions
JPS635453A (ja
Inventor
幹人 尾形
利文 西村
隆 土井
山本  彰
美穂 本山
弘行 北嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15024586A priority Critical patent/JPH0721786B2/ja
Publication of JPS635453A publication Critical patent/JPS635453A/ja
Publication of JPH0721786B2 publication Critical patent/JPH0721786B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の入出力装置と主記憶装置間のデータ転
送をデータバッファを介して行うデータ転送制御方式に
関し、特にデータアクセスに伴いほぼ一定時間の前処理
が必要な複数の入出力装置に対して、アクセス能力を最
大限向上させることができるデータ転送制御方式に関す
るものである。
〔従来の技術〕
データアクセスの準備に前処理が必要な記憶装置として
は、従来より磁気ディスク装置や磁気テープ装置がその
代表的なものである。磁気ディスク装置の制御方式で
は、CPU側のチャネルや制御装置とは独立に、前処理を
駆動装置のみでオフラインにより実行し、前処理が終り
準備が完了した時点で再びチャネルや制御装置と再結合
してデータアクセスを開始する方法を用いている(例え
ば、「計算機関連の雑誌“ジャーナル・オブ・ザ・AC
M」(Journal of the Association for Computing
Machinery,Vol.15,No.4,Oct.1968“Queueing Analys
is of the ZBM2314 Disk storage Facility")参
照)。
しかし、この時に、チャネルや制御装置の状態によって
は、再結合失敗の可能性があり、性能ダウンとなる。磁
気ディスク装置では、アクセスするトラック位置によっ
て待ち時間も異なり、前準備の所要時間が定まらないた
め、再結合の失敗も止むを得ないと考えられる。これに
対して、前処理の所要時間がほぼ一定の入出力装置、例
えば磁気テープ装置等では、再結合の失敗は適切とは言
えず、一定の前処理時間を有効に利用して確実に再結合
させることが、性能的にも有利となる。
そこで、データアクセスに付随する前処理に要する時間
がほぼ一定分布であるような入出力装置に対して、この
分布特性に着目し、この前処理を他の入出力装置のデー
タアクセス処理と並行して実行するように制御して、デ
ータパスの利用率の向上を図るという方法が提案されて
いる。さらに、そのために必要な複数台の入出力装置の
動作スケジュールを定期的に実行するという制御方式
も、提案されている。
〔発明が解決しようとする問題点〕
しかし、上記提案された方式では、複数台の入出力装置
にわたるスケジュールを定期的に一括してスケジュール
し、一度スケジュールすると次回のスケジュール点まで
スケジュール内容に変更を加えないという方式であるた
め、次の点で効率が悪い。
(a)CPUからの各入出力装置へのアクセスの頻度や量
の変化が、次のスケジュール点までスケジュールに反映
されない(つまり、時々刻々と変化する動向への対応が
粗い)。
(b)停止している入出力装置に対しCPUから新たなア
クセス要求または終了要求があった場合、スケジュール
されるべき入出力装置の台数が増減するが、この変化が
次のスケジュール点までスケジュールに反映されない。
(c)スケジュール確定後の処理において、装置障害等
の異常が発生し、スケジュールの変更が必要となった時
に、スケジュール済の処理を実行中止、あるいはスケジ
ュール前の状態に戻す等、後処理が複雑となる。
(d)スケジュール確定後の処理において、テープ上の
ヘッドの位置の移動や、リードからライトへのアクセス
のパターンの変化に対して、スケジュール済の処理の実
行中止、あるいはスケジュール前の状態に戻す等の後処
理が複雑となる。
(e)データ転送の効率向上、あるいは信頼性確保のた
めに、入出力装置と上位装置との間にデータバッファを
設け、このデータバッファを複数台の入出力装置間で共
用し、また上位側データ転送と下位側データ転送との並
列転送を許すような装置構成では、スケジュール後のバ
ッファの排他制御が複数入出力装置に影響し、複雑とな
る。そこで、2面バッファリング等の別の技術が必要と
なる。
本発明の目的は、これらの従来の問題を解決し、定期的
な一括スケジュールでなく、時々刻々、1台ずつスケジ
ュールしながら処理でき、システムの種々の状態変化に
も柔軟な制御が可能なデータ転送制御方式を提供するこ
とにある。
〔問題点を解決するための手段〕
上記目的を達成するため、本発明のデータ転送制御方式
は、(1)複数の入出力装置の各データ転送の終了時点
の特定に用いる情報を含み、各入出力装置の動作を管理
する情報を格納する第1のテーブルと、データバッファ
の動作を管理する情報を格納する第2のテーブルとを設
け、第1のテーブルと第2のテーブルに格納されたデー
タに基づき、記複数の入出力装置を多重動作させると共
に、任意の1台の入出力装置のデータ転送終了から前処
理に必要とする一定時間分だけ先立って、別の入出力装
置の前処理を起動することを特徴とする。
また、(2)上記(1)に記載のデータ転送制御方式に
おいて、データ転送の終了時点は、任意の入出力装置の
前処理開始時にデータ転送終了計測用のタイマを起動
し、常に一定時間、あるいは転送開始時に予め装置状態
に依存して定められた時間だけ経過したことにより決定
することを特徴とする。
また、(3)上記(1)に記載のデータ転送制御方式に
おいて、データ転送の終了時点は、データバッファに対
して転送されたデータの量を転送開始時より計測し、常
に一定量、あるいは転送開始時に予め装置状態に依存し
て定められた量だけのデータ転送が行われることにより
決定することを特徴とする。
また、(4)上記(1)から(3)のいずれかに記載の
データ転送制御方式において、データ転送の終了時点
は、データ転送の開始後、経過時間や処理データ転送量
に関係なく、当該入出力装置以外の1台ないし複数台の
入出力装置に対応するデータバッファの残り使用可能容
量の和が、予め設定されたしきい値を越えることにより
決定することを特徴とする。
また、(5)上記(1)から(4)のいずれかに記載の
データ転送制御方式において、データ転送の終了時点
は、データバッファ内の残り使用可能容量を、データ転
送の開始後に入出力装置毎に計測し、当該入出力装置に
対応するデータバッファの残り使用可能容量が、予め設
定されたしきい値以下になることにより決定することを
特徴とする。
〔作用〕
本発明においては、複数台の入出力装置に対するスケジ
ュールを1台ずつ行い、第1の入出力装置がデータ転送
している間に、第2の入出力装置に対するスケジュール
を設定して、第1の入出力装置の転送が終了する時点
で、第2の入出力装置のデータ転送が開始できるように
立ち上げを行う。これにより、(イ)上位装置から各入
出力装置へのアクセスの頻度や量の変化、またはアクセ
ス内容の変化を、即座にスケジュールに反映できる。
(ロ)装置障害等のために、1度実行したスケジュール
をキャンセルする場合の影響範囲が少ない。(ハ)2面
バッファリング等の処理が不要であり、データバッファ
を効率よく使用できる。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
本実施例においては、データ転送処理に先行する立ち上
げ処理時間が一定分布であるようなカートリッジ型磁気
テープ装置(以下、MTUと略記する)を対象にとり、詳
述する。
第1図は、本発明の一実施例を示す磁気テープ制御系の
全体構成図である。本図において、磁気テープ制御装置
10は、CPU1に結合されている主記憶メモリ2と、バス1
3、チャネル3、およびバス14を介して接続されてお
り、また、MTU9とは、バス17および制御線20を介して接
続されている。
磁気テープ制御装置10には、装置全体を制御するマイク
ロプロセッサ7、そのマイクロプロセッサ7により実行
されるプログラムとデータが格納されているメモリ8、
転送されるデータを格納するデータバッファ5、チャネ
ル3との間のインタフェースを制御するCPU側転送回路
4、およびMTU9との間のインタフェースを制御するMTU
側転送回路6が設けられる。マイクロプロセッサ7は、
本実施例を実現するための基本的部分であって、メモリ
8上のデータを利用しながら、制御線18、21、20を介し
て、各々CPU側転送回路4、MTU側転送回路6およびMTU9
を制御し、主記憶メモリ2とMTU9間のデータ転送をデー
タバッファ5を介して行う。
メモリ8は、バス19を介してマイクロプロセッサ7によ
りアクセスされるが、ここにはマイクロプログラム自身
とともに、後述するような本発明に係わる複数のテーブ
ルが格納される。
また、データバッファ5は、チャネル3からMTU9に、あ
るいはMTU9からチャネル3に、それぞれ転送されるデー
タを一時的に蓄積するバッファである。実際には、この
データバッファ5は、予め論理的に小区画に分けられて
おり、小圧画単位にそれぞれMTUに割当てられる。つま
り、このデータバッファ5は、小区画に細分されなが
ら、複数個のMTUに対するデータを同時に貯えることが
できるようになっている。
プロセッサ7は、制御線18を用いてCPU側転送回路4
を、また制御線21を用いてMTU側転送回路6を、各々独
立に起動することができ、かつデータバッファ5とチャ
ネル3の間のデータ転送と、データバッファ5とMTU9の
間のデータ転送とを、同時並行して行うことが可能であ
る。
これらのデータ転送は、各々プロセッサ7の占有なしに
実行可能であり、各データ転送が終了した時には、プロ
セッサ7に対して制御線18,21を介して終了が通知され
る。このデータ転送が終了する時点は、後述の各実施例
で示すように、各MTUごとに、データ転送時間や転送デ
ータ量に基づき予め設定することも、また、データバッ
ファ5内のデータ量に基づき動的に設定することも可能
である。
また、プロセッサ7は、制御線20を介してMTU9に対し前
処理の要求を発行し、MTU9に前処理を行わせることがで
きる。本実施例においては、この前処理の要求の発行
を、任意の1台のデータ転送終了から前処理実行時間分
だけ先立った時点で行う。ここで、前処理とは、後述す
るように、テープを一定速度に加速する処理のことであ
るが、この前処理も、プロセッサ7およびMTU側転送回
路6の占有なしに、MTU単独で実行可能であり、前処理
の終了は制御線20を介してMTU9からプロセッサ7に通知
される。
第2図は、第1図におけるリード/ライト処理の内訳図
である。すなわち、第2図では、任意のMTU9への1回の
リード/ライトが、前処理と、データ転送と、後処理の
3つの動作から成り立っていることを示している。
具体的に、前処理とは、テープを停止状態から加速し、
記録/再生ヘッドに対してテープが一定速度になるまで
の処理をいう。また、データ転送とは、リード/ライト
のためのデータを、データバッファ5とMTU9の間でやり
とりする処理である。また、後処理とは、データ転送の
後に、テープを停止し、再び前処理が可能となるように
準備しておく処理である。
ここで、本実施例で用いられるMTUでは、前処理と後処
理に要する時間が、データの転送量あるいはMTU、ある
いはデータのテープ上の位置等に関係なく、一定の時間
がかかるという特徴点がある。一方、データ転送時間
は、データ量に比例して増減する。このデータ転送時間
およびデータ転送量を、一定の時間または一定量、ある
いは、転送開始時に予めMTU状態に依存して定められる
時間または量で区切ることにより、データ転送の終了時
点を決定することができる。そして、このようにして特
定されたデータ転送の終了時点に基づき、各MTUの起動
条件を設定することができる。以下、第3図を用いて、
このようなMTUの起動条件に基づく本発明に係わるMTUの
前処理の立ち上げ制御動作を説明する。
第3図は、本発明における複数台のMTUに対する制御原
理を示す図である。第1図における磁気テープ制御装置
10のマイクロプロセッサ7は、接続されている複数台の
MTU9に対して起動の順序を定め、いまMTU(1)を立ち
上げる場合に、次に起動させるMTU(2)に対しても前
処理の準備を行う。すなわち、第1図における磁気テー
プ制御装置10のマイプロセッサ7はメモリ8に、例え
ば、上述のようにして設定された起動条件等、各MTU9の
起動条件を示す種々のデータを格納したテーブルを備
え、先ずMTU(1)の立ち上げが終了した後、データ転
送にかかる時間を、テーブルからMTU(1)のデータを
読み出して算出し、MTU(2)のデータ転送が、その時
点に開始できるように、MTU(2)の立ち上げ開始時刻
を算出する。例えば、第3図(a)に示すように、立ち
上げ時間がどのMTUに対しても25mSとすると、MTU(1)
の立ち上げ開始時刻t0からデータ転送終了計測用のタイ
マを起動し、MTU(1)の立ち上げ時間(25ms)とテー
ブルから読み出して算出したMTU(1)のデータ転送と
の和から算出されるMTU(1)のデータ転送終了時刻か
ら25msだけ先立った時刻t1までをカウントする。そし
て、この時刻t1を、MTU(2)の立ち上げ開始時刻とす
る。このように、MTU(1)の立ち上げ開始時刻t0からM
TU(2)の立ち上げ開始時刻t1までをタイマにより待機
させ、タイムオーバによりMTU(2)の立ち上げを開始
させれば、立ち上げ終了時点でMTU(1)のデータ転送
が終了することになるので、連続してMTU(2)のデー
タ転送を行うことができる。
また、データ転送が終了して、75msを要する後処理によ
り停止させる際に、第3図(b)に示すように、一旦停
止させると、再度立ち上がるまでに、100mSかかるの
で、次に特定のMTUを100ms以内に立ち上げる場合には、
停止させずに待機させる必要があり、100mS以上遅れて
立ち上げる場合には停止させてよい。尚、本第3図にお
けるデータ転送時間は、第2図における説明で述べたよ
うに、データ量に比例するので、転送されるデータ量
を、転送開始時から計測することによっても、データ転
送の終了時点を決定することができる。
第4図は、本発明により前処理をオフライン化して、デ
ータバッファの使用効率を最大限にする動作例を示す図
である。図中、FはそのMTUが前処理中であることを、
Dはデータ転送中であることを、またBは後処理中であ
ることを、それぞれ示している。Dの次に記載された数
字は、データ転送をMTUを区別せずに時系列的に番号付
けしたものである。ここでは、制御装置10に3台のMTU
(1)(2)(3)が接続されているものとする。
先ず、MTU(1)の前処理Fを行った後、データ転送D
を行い、その途中でMTU(2)の前処理Fを開始させ
ておくことにより、連続してデータ転送Dを行う。さ
らに、このデータ転送中にMTU(3)の前処理Fを開始
させておくことにより、連続してデータ転送Dを行
う。次に起動されるMTU(1)では、他の2台のデータ
転送Dに100mS以上かかるので、後処理Bを行った
後に、前処理Fを開始する。そして、MTU(3)のデー
タ転送Dに引続いて、MTU(1)のデータ転送Dを
行う。このようにして、順次、前処理、データ転送、後
処理を繰り返していくことにより、データバッファ5の
動きのみを見ると、連続してデータ転送を行っているこ
とになる。このように、本実施例では、MTUの前処理、
後処理を他のMTUのデータ転送とオーバラップさせるこ
とにより、データバッファ5への、またはデータバッフ
ァ5からのデータ転送を、複数MTU間で途切れることな
く続行することができ、前処理、後処理によるアクセス
効率の低下を防ぐことができる。
一般に、データ転送Dは、その1つずつが複数個の転送
単位より構成される。1処理単位で処理されるデータ量
は、通常1ブロックと呼ばれる。第4図において、Dの
部分は、一般に複数ブロックのデータ転送からなる。
第5図、第6図は、それぞれマイクロプログラムによる
本発明の第1のテーブルとしてのMTU管理テーブルおよ
び本発明の第2のテーブルとしてのバッファ動作管理テ
ーブルの説明図である。これらのテーブルには、第1図
における磁気テープ制御装置10のマイクロプロセッサ7
が第4図に示した動作を実現するために必要なデータを
格納する。先ず、第5図は、第1図におけるマイクロプ
ロセッサ7が管理するMTU管理テーブル40であり、接続
された全てのMTU対応にエントリ401〜405が存在する。M
TUステータス401は、当該MTUが動作中か否か、また、リ
ード中かライト中か等の情報を有している。残り転送時
間402は、後述する別のアルゴリズム(第8図参照)に
より決定される当該MTUのデータ転送終了までの残り時
間の予測値である。転送ストップフラグ403は、前述の
残り転送時間が、前処理に要する時間以下になった時に
セットされる。有効残量404は、転送ストップフラグ=
“1"とする時の転送停止までの処理必要ブロック数であ
る。バッファへの割当て情報405は、当該MTUに割当てら
れているバッファの量、およびデータの開始アドレス、
終了アドレスを有している。
次に、第6図のバッファ動作管理テーブル50には、エン
トリ501〜505が存在している。起動待ちフラグ501は、
少なくとも任意の1台のMTUが前処理中であり、その前
処理中のMTUに予定されているデータ転送量の処理時間
だけ、他のMTUの前処理起動は待たなければならないこ
とによる待ちを制御するフラグであり、このフラグがオ
ン(=“1")である間は、新たなMTUの前処理起動が抑
止される。転送中フラグ502は、任意の1台のMTUが、現
在データ転送の処理中であることを示すフラグである。
タイマ503は、前述の起動待ちフラグを一定時間だけオ
ン(=“1")に保持するためのタイマであり、起動待ち
フラグをオンにする時に確定され、このタイマが“0"に
なると、起動待ちフラグはオフとなる。1ブロック転送
終了フラグ504は、転送中のデータを1ブロック終了し
たときオン(=“1")となる。また、前処理終了フラグ
505は、任意のMTUの前処理が終了したとき、オン(=
“1")となる。
第7図は、第1図のマイクロプロセッサが実行するマイ
クロプログラムの動作フローチャートである。この処理
は直接本発明に関係するものではなく、MTUの起動は専
用プログラムにより、定期的に行われる。また、タイマ
(ステップ602で判定される)も、このマイクロプログ
ラムでなく、ハードウェアにより独立かつ、このマイク
ロプログラムの動作と並列にカウントダウンされる。
尚、本図に示すスタートからエンドまでの手順を、各MT
Uごとに順にスキャンさせる。また、本手順に用いられ
る第5図に示すMTU管理テーブル40には、各MTUごとにエ
ントリ401〜405があり、MTU番号に対応し、当該MTUが稼
働しているか否かは、エントリ401のMTUステータスに記
録されている。
第1図のマイクロプロセッサ7は、第1図のメモリ8に
おける第6図に示すバッファ動作管理テーブル50をアク
セスし、エントリ501の起動待ちフラグが“1"であるか
否かを調べ(ステップ601)、“1"であれば、次に、第
6図におけるエントリ503のタイマ値が“0"になったと
き、エントリ501の起動待ちフラグを“0"にする(ステ
ップ602、603)。ここまでは、起動待ち状態を一定時間
だけ保持する処理である。
次に、第1図のMTU側転送回路6からの1ブロック転送
が終了したか否かをチェックし(ステップ604)、1ブ
ロックの転送終了の場合には、第6図におけるエントリ
504の1ブロック転送終了フラグをリセットした後(ス
テップ605)、第5図のMTU管理テーブル40における該当
するMTUのエントリ403の転送ストップフラグをチェック
する(ステップ606)。この転送ストップフラグは、後
述のステップ610、616でのそれぞれの判定で、残りデー
タ転送時間が前処理に要する時間A(ここでは、25ms)
以下になった時に、それぞれステップ611、617において
セットされ、有効残量分だけ、つまり、Aの時間だけデ
ータ転送を行った後、データ転送を終了するためのもの
である。ステップ607〜609は、このための処理であり、
ステップ606において転送ストップフラグが“1"で、か
つ、第5図におけるエントリ404の有効残量が1ブロッ
ク以上あれば(ステップ607)、この有効残量をカウン
トダウンして(ステップ608)、1ブロックの転送指示
を行なう(ステップ609)。そして、ステップ613の処理
に進むが、ここでは転送中(=1)であり、「エンド」
へ移る。そして、次のスキャン時(例えば、本処理が第
4図におけるMTU(1)に対するものであれば、MTU
(2)およびMTU(3)に対するスキャン後のMTU(1)
に対するスキャン時)、再度「スタート」からステップ
601〜606の処理を経由してステップ607の処理に戻る。
このようにして、有効残量カウント値が“0"になるまで
1ブロックの転送指示を行う。
ステップ606において、転送ストップフラグが“1"でな
い場合には、常時、1ブロックのデータ転送の度に、第
5図におけるエントリ402の残り転送時間が前処理に要
する時間A(ここでは、25ms)以下になったか否かをチ
ェックする(ステップ610)。この時、本実施例では、
残り転送時間がA以下になるまで、ステップ601〜606、
610、609、613(ここでは転送中であり、転送中=1と
なりエンドに進む)の処理を自スキャン毎に行ない、複
数ブロックのデータ転送を続行する。ステップ610で、
残り転送時間がA以下になった時、ステップ611に進
み、第5図におけるエントリ404の有効残量をセット
し、エントリ403の転送ストップフラグを“1"にし、ま
た、ステップ613で判断する第6図のエントリ502の転送
中フラグを“0"にし、さらに、ステップ602で用いるタ
イマを残り転送時間にセットする。このステップ611に
おける処理により、当該MTUのA時間だけ経った後のデ
ータ転送の終了が予定される。
すなわち、ステップ612〜614では、当該MTU以外のMTUの
中で、前処理を待機しているMTUをスキャンし、第6図
におけるエントリ501、502、505の各フラグ(起動待ち
フラグ、転送中フラグ、前処理終了フラグ)に基づき、
前処理の終了したMTUがないか、起動待ちもしくは転送
中のMTUがないか、さらに、転送待ちのMTUがあるか否か
を調べる。もし、ステップ614において、転送待ちのMTU
があれば、このMTUに対して前処理を指示する(ステッ
プ615)。この時、先のMTUは依然としてデータ転送中で
あるが、いま前処理が指示されたMTUが、現在よりA時
間だけ経過すると、データ転送の準備が整うので、この
時点でのタイミングで、先のMTUのデータ転送が終了す
るように予定されることが重要である。
このような予定で先のMTUのデータ転送を終了する処理
が、上述のステップ607〜609の繰返しで行なわれる。そ
して、ステップ607において、有効残量カウント値が
“0"になれば、ステップ611でセットされた転送ストッ
プフラグを“0"に戻す(ステップ620)。
このような処理により、前処理を、他のMTUのデータ転
送と並列にオフラインで行い、第1図におけるデータバ
ッファ5の利用効率を最大限に引き出すことができる。
ステップ616〜618は、さらに、前処理を指示されたMTU
のデータ転送時間をチェックして、これがA以下であれ
ば、一定時間後に、次のMTUの前処理を多重で行うため
の処理である。すなわち、前処理指示したMTUの転送時
間がA(=25ミリ秒)以下であれば(ステップ616)、
第6図におけるエントリ501の起動待ちフラグを“1"
に、また、第5図におけるエントリ403の転送ストップ
フラグを“1"に、また、ステップ602で用いる第6図に
おけるエントリ503のタイマを、第5図におけるエント
リ402の残り転送時間に、それぞれセットする(ステッ
プ617)。また、ステップ616において、前処理指示した
MTUの転送時間がAを越えていれば、第6図におけるエ
ントリ502の転送中フラグを“1"にする(ステップ61
8)。このステップ618でセットされる第6図におけるエ
ントリ502の転送中フラグは、前処理指示したMTUが、デ
ータ転送開始時に、残り転送時間がA以上ある場合に、
当該MTUの残り転送時間がA以下になるまで、すなわ
ち、ステップ611でクリアされるまで、当該MTU以外のMT
Uの前処理実行を抑止するためのものである。一方、ス
テップ617でセットされる第6図におけるエントリ501の
起動待ちフラグは、前処理指示したMTUが、データ転送
開始時に既に残り転送時間がA以下であるとき、この残
り時間分だけ(ステップ603でクリアされるまで)、他
のMTUの前処理実行を抑止するためのものであり、両者
は区別する必要がある。
第7図の動作フローによって、第3図、第4図に示した
ように、複数MTU相互間でのデータバッファの効率のよ
い連続使用が可能となり、最大でも、前処理に要する時
間分だけのスケジューリングで達成できることになる。
次に、ステップ610、611、および、ステップ616、617で
用いる、第5図のMTU管理テーブル40におけるエントリ4
02の残り転送時間の設定に関して、第8図を用いて説明
する。
第8図は、第7図におけるデータ転送終了条件を示す説
明図であって、第7図のステップ610と616の判断で用い
ている残り転送時間の算出の例を示している。本例で
は、転送開始後に、データバッファ5内の残り使用可能
容量およびデータバッファ5内の残りのデータ量を、各
MTU毎に計測し、各MTUの残り使用可能容量および残りの
データ量が、あるしきい値以下になることにより、デー
タ転送終了時点を決定する動作例を示すものである。第
8図(a)に示すように、現在、i台のMTUがCPUから起
動され、稼動しているものとする。各MTUは、V1〜Viの
バッファが既に割当てられているものとする。この割当
ては、各MTUに対し一律に一定量ずつ配分しても、また
別個のアルゴリズムにより適当に決定されても、何等差
支えはない。
CPUは、全てのMTUが、各々リード中であるか、またはラ
イト中であるかを区別することができる。ライト用のMT
Uの時、対応バッファ内には、MTUに対して書き込まれる
べきデータが格納されている(第8図(a)では、MTU
(1))。また、リード用MTUの時、対応バッファ内に
は、CPUに転送されるべきデータが格納されている(第
8図(a)では、MTU(2)と(i))。ここで、有効
データ量を、下記の量に定義する。すなわち、有効デー
タ量とは、 (イ)ライトMTUの時には、バッファ内のデータ量。
(ロ)リードMTUの時には、バッファ内の空きスペース
量。
であるものとする。
本実施例においては、第8図(b)にも示してあるよう
に、有効データ量が前処理に必要な時間以下になること
を終了条件としてある(第7図のステップ610,616参
照)。すなわち、MTU(1)では、ライトの終了条件がv
1≦A・Tであり、MTU(2)および(i)では、リード
の終了条件がV2−v2≦A・T,およびVi−vi≦A・Tであ
る。
終了条件が成立時の有効データ量を有効残量にセット
し、以下、この有効残量が0になるまでデータ転送を続
け、有効残量=0になった時にデータ転送を終了する。
これにより、先に立ち上げたMTUの前処理終了時に、途
切れなくデータバッファのデータ転送が切換わるべく制
御される。
なお、このとき、有効データ量v1,V2−v2,……Vi−vi
は、第7図の処理とは独立に、CPUからのアクセスによ
って増減していることに注意すべきである。すなわち、
本実施例では、1台のMTUを立ち上げた後のデータ転送
をいつ終了するかについては、当該MTUがデータ転送に
移るまでの上位装置からのアクセスの仕方のみならず、
データ転送後も、当該MTUに対する上位装置からのアク
セスの仕方に依存して流動的である。
例えば、ライト用MTUに対しては、MTUへのデータ転送中
に、上位装置から転送されてくるライトデータは、順次
当該MTUに対して追加スケジュールされて処理される。
また、リード用MTUの場合には、MTUからデータをバッフ
ァに読み込んでいる間にも、既にデータバッファ内に格
納されているデータを並列に上位に転送することが可能
であるが、これにより生じたデータバッファ内の新たな
空きスペース分も、順次当該MTUに対して追加スケジュ
ールされる。
そして、このようなスケジュールにおいて、既にデータ
転送を開始しているMTUに対するデータ転送量の追加修
正は、前述の終了条件が満足されるまで可能であり、一
度終了条件が成立して、当該MTUの終了をスケジュール
し、また他のMTUの前処理を指示した後は実行しない。
尚、リード処理において、チャネルへのデータ転送速度
がMTUからの読み出し速度より速い場合には、データバ
ッファは一杯になり得ないので、テープ1巻分がリード
され尽くすことにより、この動作が終了する。また、他
の条件を併用し、例えば、ある一定時間で区切って、バ
ッファが一杯にならなくともリード動作を終了させても
よい。この時、残り転送時間は、決められた時間終了点
までの時間となる。
また、終了条件については、上述以外にも種々の変形が
あり、例えば、データ転送開始後、経過時間や処理デー
タ転送量に関係なく、データ転送中のMTU以外の1台な
いし複数台のMTUに対する有効データ量の和があるしき
い値を越えること、ここでは(前処理)+(後処理)に
要する時間分より多くなるという条件等も十分に実用的
である。また、第3図におけるデータ転送終了計測用の
タイマの起動を、前処理開始時ではなく、データ転送開
始時に行っても良い。
〔発明の効果〕
以上説明したように、本発明によれば、前処理時間が装
置状態に依存せず、ほぼ一定であるような入出力装置に
対して、前処理による性能ダウンを無視できる程度に低
下させ、かつシステムの種々の状態変化にも柔軟な制御
を行うことができるので、データバッファの使用効率を
最大限まで向上させることが可能である。
【図面の簡単な説明】
第1図は本発明の一実施例を示す磁気テープ制御系の全
体構成図、第2図は磁気テープ装置のリード/ライト処
理の内訳を示す図、第3図は本発明のデータ転送制御方
式の原理を示す図、第4図は本発明により前処理をオフ
ライン化して、データバッファの使用効率を最大限向上
させた例を示す図、第5図は第1図のマイクロプログラ
ムによるMTU管理テーブルの図、第6図は同じくマイク
ロプログラムによるバッファ動作管理テーブルの図、第
7図は本発明の一実施例を示すマイクロプログラムの処
理フローチャート、第8図は第7図におけるデータ転送
終了条件を示す図である。 10:磁気テープ制御装置、5:データバッファ、4:CPU側転
送回路、6:MTU側転送回路、7:マイクロプロセッサ(CP
U)、8:メモリ、9:磁気テープ駆動装置(MTU)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 彰 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 本山 美穂 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 北嶋 弘行 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】データバッファを介して主記憶装置に接続
    され、かつデータ転送に先行してほぼ一定時間の前処理
    を必要とする複数の入出力装置のデータ転送制御方式に
    おいて、上記複数の入出力装置の各データ転送の終了時
    点の特定に用いる情報を含み、各入出力装置の動作を管
    理する情報を格納する第1のテーブルと、上記データバ
    ッファの動作を管理する情報を格納する第2のテーブル
    とを設け、上記第1のテーブルと第2のテーブルに格納
    されたデータに基づき、上記複数の入出力装置を多重動
    作させると共に、任意の1台の入出力装置のデータ転送
    終了から上記前処理に必要とする一定時間分だけ先立っ
    て、別の入出力装置の前処理を起動することを特徴とす
    るデータ転送制御方式。
  2. 【請求項2】上記データ転送の終了時点は、任意の入出
    力装置の前処理開始時にデータ転送終了計測用のタイマ
    を起動し、常に一定時間、あるいは転送開始時に予め装
    置状態に依存して定められた時間だけ経過したことによ
    り決定することを特徴とする特許請求の範囲第1項に記
    載のデータ転送制御方式。
  3. 【請求項3】上記データ転送の終了時点は、上記データ
    バッファに対して転送されたデータの量を転送開始時よ
    り計測し、常に一定量、あるいは転送開始時に予め装置
    状態に依存して定められた量だけのデータ転送が行われ
    ることにより決定することを特徴とする特許請求の範囲
    第1項に記載のデータ転送制御方式。
  4. 【請求項4】上記データ転送の終了時点は、上記データ
    転送の開始後、経過時間や処理データ転送量に関係な
    く、当該入出力装置以外の1台ないし複数台の入出力装
    置に対応する上記データバッファの残り使用可能容量の
    和が、予め設定されたしきい値を越えることにより決定
    することを特徴とする特許請求の範囲第1項から第3項
    のいずれかに記載のデータ転送制御方式。
  5. 【請求項5】上記データ転送の終了時点は、上記データ
    バッファ内の残り使用可能容量を、上記データ転送の開
    始後に上記入出力装置毎に計測し、当該入出力装置に対
    応する上記データバッファの残り使用可能容量が、予め
    設定されたしきい値以下になることにより決定すること
    を特徴とする特許請求の範囲第1項から第4項のいずれ
    かに記載のデータ転送制御方式。
JP15024586A 1986-06-25 1986-06-25 デ−タ転送制御方式 Expired - Fee Related JPH0721786B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15024586A JPH0721786B2 (ja) 1986-06-25 1986-06-25 デ−タ転送制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15024586A JPH0721786B2 (ja) 1986-06-25 1986-06-25 デ−タ転送制御方式

Publications (2)

Publication Number Publication Date
JPS635453A JPS635453A (ja) 1988-01-11
JPH0721786B2 true JPH0721786B2 (ja) 1995-03-08

Family

ID=15492732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15024586A Expired - Fee Related JPH0721786B2 (ja) 1986-06-25 1986-06-25 デ−タ転送制御方式

Country Status (1)

Country Link
JP (1) JPH0721786B2 (ja)

Also Published As

Publication number Publication date
JPS635453A (ja) 1988-01-11

Similar Documents

Publication Publication Date Title
EP0671691B1 (en) Storage controller and bus control method for use therewith
JP3160149B2 (ja) ディスク制御装置の無停止プログラム変更方法およびディスク制御装置
EP0150705B1 (en) Data storage hierarchy and its method of operation
US5226141A (en) Variable capacity cache memory
JPS6120006B2 (ja)
JP2780821B2 (ja) オンライン中のダンプ方式およびディスクサブシステム
JPH04137046A (ja) 電子計算機のオペレーティングシステム
JPH07104817B2 (ja) データレコード転送方法
US5764922A (en) I/O system for off-loading operating system functions
US5539915A (en) System for completely transferring data from disk having low rate to buffer and transferring data from buffer to computer through channel having higher rate concurrently
JPH0451851B2 (ja)
JPH0721786B2 (ja) デ−タ転送制御方式
Srodawa et al. An efficient virtual machine implementation
EP0290533B1 (en) I/o system for off-loading operating system functions
JP3385407B2 (ja) マルチプロセッサシステムの無停止プログラム変更方法およびマルチプロセッサシステム
US6038620A (en) Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface
JP2001229042A (ja) ディスク制御装置
WO1988003682A2 (en) I/o system for off-loading operating system functions
EP0278425B1 (en) Data processing system and method with management of a mass storage buffer
JPS62179035A (ja) ジャーナル版数更新方法
JPH0193816A (ja) バッフア割当て方式
JPS6242247A (ja) キヤツシユメモリ制御方式
JPH11212904A (ja) データ転送システム
JPH06105446B2 (ja) デ−タ転送制御方式
JPS61199152A (ja) 入出力制御システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees