JP3236973B2 - デ−タ転送装置 - Google Patents

デ−タ転送装置

Info

Publication number
JP3236973B2
JP3236973B2 JP01003493A JP1003493A JP3236973B2 JP 3236973 B2 JP3236973 B2 JP 3236973B2 JP 01003493 A JP01003493 A JP 01003493A JP 1003493 A JP1003493 A JP 1003493A JP 3236973 B2 JP3236973 B2 JP 3236973B2
Authority
JP
Japan
Prior art keywords
data
bytes
input
output device
counting means
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 - Lifetime
Application number
JP01003493A
Other languages
English (en)
Other versions
JPH06223022A (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 JP01003493A priority Critical patent/JP3236973B2/ja
Publication of JPH06223022A publication Critical patent/JPH06223022A/ja
Application granted granted Critical
Publication of JP3236973B2 publication Critical patent/JP3236973B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機システムに
おけるチャネル装置に係り、特に、チャネル装置のデー
タバッファと、フレームのやりとりによって情報交換を
行う入出力装置との間のデ−タ転送装置に関する。
【0002】
【従来の技術】チャネル装置は、CPUにより起動され
ると、以後はCPUから独立して、チャネルコマンドワ
−ドに従い、主記憶装置と入出力装置の間でデータバッ
ファを介してデ−タ転送を遂行する機能を有している。
従来、チャネル装置と入出力装置との間でのデ−タ転送
は、デ−タ要求もデ−タ転送も1バイト単位で行われて
いた。そのため、例えば特開昭63−103350号公
報や特開平4−14157号公報に記載されているよう
に、チャネル装置には、デ−タバッファと入出力装置の
間で転送されたバイト数をカウントするためのレジスタ
が設けられていた。しかし、光伝送路をフレームのやり
とりによって情報交換を行う入出力装置のような一度に
複数バイトのデ−タ要求を行う入出力装置とでは、いま
までどおりのチャネル装置のデ−タ転送装置では、デ−
タ転送を行うことは出来なかった。
【0003】
【発明が解決しようとする課題】上述の従来技術には三
つの問題点があった。問題点の一つめは、上記「従来の
技術」の項で述べたように、従来のチャネル装置のデ−
タ転送装置では、光伝送路をフレームのやりとりによっ
て情報交換を行う入出力装置とはデ−タ転送を行うこと
が出来ないという問題である。問題点の二つめは、チャ
ネルコマンドワ−ド中のコマンドがライト系コマンドの
場合、チャネル装置において応答を返さずに受信できる
デ−タ要求フレ−ムの数(これ以降、応答を返さずに受
信できるデ−タ要求フレ−ムの数をMRCNTと呼ぶ)
を減らすとスル−プットが悪化する可能性がある。しか
し、MRCNTを増やすと、受け付けたデ−タ要求フレ
ームのデ−タ要求バイト数をスタックするレジスタをM
RCNT分(2バイト*MRCNT分のレジスタ)だけ
持たなければならないため、ハ−ドウェア量が増加して
しまうという問題である。
【0004】問題点の三つめは、チャネルコマンドワ−
ド中のコマンドがリ−ド系コマンドで、チャネル装置に
おいて入出力装置よりデ−タ要求フレーム受付許可があ
る場合、チャネル装置は、すぐに、あるいは一定以上の
空きエリアができた時点で、自デ−タバッファの空きエ
リア分以下のデ−タ要求バイト数で、デ−タ要求フレー
ムを送信する。このとき、デ−タ要求バイト数をデ−タ
要求フレーム送信時のデ−タバッファの空きエリア分に
するというように、ある時点の変動値とするとデ−タバ
ッファの空きエリアの監視を、1バイト単位で行わなけ
ればならないという問題である。本発明の目的は、上記
の三つの問題点を解決し、スル−プットを維持した上
で、且つ少ないハ−ドウェア量で、光伝送路をフレーム
のやりとりによって情報交換を行う入出力装置との間で
信頼度の高いデ−タ転送を行うことができるチャネル装
置を提供することである。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、チャネルコマンドワ−ド中のコマンドが
ライト系コマンドのとき、チャネルコマンドワ−ド中の
要求バイト数からデ−タバッファと入出力装置の間で転
送されるデ−タを1バイト送信するごとにカウントダウ
ンする第1計数手段と、入出力装置からの既デ−タ要求
バイト数へデ−タ要求フレ−ムを受け取る毎にデ−タ要
求バイト数を加算し、デ−タバッファと入出力装置の間
で転送されるデ−タを1バイト送信する毎にカウントダ
ウンする第2計数手段と、入出力装置よりデ−タ要求フ
レ−ムを受け取る毎にカウントアップし、そのデ−タ要
求フレ−ムに対する応答として、更なるデ−タ要求フレ
−ムの送信を許可することを示すフラグ(これ以降、更
なるデ−タ要求フレ−ムの送信を許可することを示すフ
ラグをデ−タ要求許可フラグと呼ぶ)付きデ−タフレ−
ムを送信する毎にカウントダウンする第3計数手段と、
これら第1計数手段と第2計数手段と第3計数手段への
セットを制御するための情報を供給する手段と、MRC
NTより多くのデ−タ要求フレ−ムが、チャネル装置の
応答無しに転送されてきたとき、これを障害として検出
する第1障害検出手段を設ける。
【0006】またチャネルコマンドワ−ド中のコマンド
がリ−ド系コマンド時、デ−タ要求バイト数を固定と
し、チャネルコマンドワ−ド中のバイト数から固定デ−
タ要求バイト数のデ−タ要求フレ−ムを送出する毎に上
記固定デ−タ要求バイト数を減算する第1計数手段と、
入出力装置に、既に要求しているデ−タ要求バイト数へ
デ−タ要求フレ−ムを送信する毎に上記固定デ−タ要求
バイト数を加算し、入出力装置とデ−タバッファとの間
で転送されるデ−タを1バイト受信するごとにカウント
ダウンする第2計数手段と、上記入出力装置よりデ−タ
要求許可フラグ付きデ−タフレ−ムを受け取る毎にカウ
ントアップし、デ−タ要求フレ−ムを送信する毎にカウ
ントダウンする第3計数手段と、上記固定デ−タ要求バ
イト数のデ−タ要求フレ−ムを送信するために上記デ−
タバッファの空きを監視する第4計数手段と、これら第
1計数手段と第2計数手段と第3計数手段と第4計数手
段へのセットを制御するための情報を供給する手段と、
チャネル装置が入出力装置に対して要求しているデ−タ
バイト数以上に入出力装置よりデ−タが転送されてきた
とき、これを障害として検出する第2障害検出手段と、
入出力装置より転送されてきたデ−タフレ−ムの付加情
報であるチャネルコマンドワ−ドの最終デ−タを表すフ
ラグ(これ以降、チャネルコマンドワ−ドの最終デ−タ
を表すフラグをCCWENDフラグと呼ぶ)が、付加さ
れるべきフレ−ムに付加されていなかったり、付加され
ざるべきフレ−ムに付加されていたりしたとき、これを
障害として検出する第3障害検出手段手段を設ける。
【0007】
【作用】第1計数手段ないし第4計数手段と、これら計
数手段の更新を制御するための情報を供給する手段によ
り、従来のチャネル装置のデ−タ転送方式では実現でき
なかった、光伝送路をフレームのやりとりによって情報
交換を行う入出力装置との間でのデ−タ転送が可能にな
る。また、第1障害検出手段ないし第3障害検出手段に
より、チャネル装置でデ−タ転送の異常を判断すること
ができ、デ−タ転送の信頼度を上げることができる。
【0008】チャネルコマンドワ−ド中のコマンドがラ
イト系コマンドの場合、チャネル装置において、上記の
ようにMRCNTを減らすとスル−プットが悪化する可
能性があるが、上記入出力装置からの既デ−タ要求バイ
ト数へデ−タ要求フレ−ムを受け取る毎にデ−タ要求バ
イト数を加算する第2計数手段により、少ないハ−ドウ
ェア量でチャネル装置を実現するために、MRCNTを
減らす必要もなく、スル−プットを維持するために、デ
−タ要求バイト数をスタックするためのレジスタをMR
CNT分だけもつことも必要なくなった。
【0009】チャネルコマンドワ−ド中のコマンドがリ
−ド系コマンドの場合、チャネル装置から入出力装置に
送信するデ−タ要求フレームのデ−タ要求バイト数を、
ひとつのデ−タフレ−ムで転送できる最大デ−タバイト
数(これ以降、ひとつのデ−タフレ−ムで転送できる最
大デ−タバイト数をMXDBサイズと呼ぶ)によって決
めた固定デ−タ要求バイト数とすることは、次の2つの
利点を生む。1つめは、デ−タバッファの空きエリアの
監視を1バイト単位で行う必要がなくなり、固定デ−タ
要求バイト数の最小値の単位まで省略することができ
る。2つめは、第4計数手段の減算回路にて固定の数の
減算しか行わないため、第1計数手段の減算回路を簡潔
な作りとすることを可能にする。
【0010】また、入出力装置が最大転送速度でデ−タ
転送しようとした場合、デ−タフレームはMXDBサイ
ズにより転送されてくるであろう。この時、デ−タ要求
フレームのデ−タ要求バイト数をMXDBサイズとする
と、相手側入出力装置もデ−タフレームをMXDBサイ
ズにて転送するはずであり、デ−タ転送として最も効率
がよい。これは、デ−タ要求バイト数をあまりに大きな
値とすると、それだけのデ−タバッファが空かないとデ
−タ要求フレームを送信できなくなり、転送距離を延ば
した時のデ−タ転送速度へ及ぼす影響が非常に大きいも
のになるし、逆にデータ要求バイト数をあまりに小さな
値とすると、デ−タ転送速度が相手側入出力装置のMR
CNTに大きく作用されたり、デ−タフレームをMXD
Bサイズにて転送できなくなる可能性が非常に大きくな
るため、固定デ−タ要求バイト数をMXDBサイズによ
り決定し、これらの問題に最も影響を受けにくいものと
した。
【0011】
【実施例】本発明の実施例を、図面により詳細に説明す
る。図1は、本発明の一実施例によるチャネル装置のブ
ロック図である。チャネル装置は、主制御用マイクロプ
ロセッサ、デ−タバッファ(CBS)、CPUインタ−
フェ−ス制御部、MSインタ−フェ−ス制御部、I/O
インタ−フェ−ス制御部、及びデ−タ転送制御部からな
る。ただし、デ−タ転送制御部は、バッファ制御回路、
転送バイト数制御回路、および転送フレ−ム制御回路に
分けられる。
【0012】図2はチャネル装置におけるバッファ制御
回路に関する詳細図である。図2において、CBSはチ
ャネルのデータバッファ、MBLPはCBSのMS側に
対する32バイトブロックポインタ、CBLPはCBS
のI/O側に対する32バイトブロックポインタ、CB
YPはCBLPで示されるブロックのバイトポインタ、
CBSAREAはCBSの空きエリアを監視するレジス
タを示している。
【0013】図3はチャネル装置における転送バイト数
制御回路中のI/O側バイトカウンタ(CTIOレジス
タ)に関する部分の詳細図である。CTIOレジスタ
は、マイクロプログラムによるセットと、ライト時のデ
ータ1バイト送信によるデクリメント動作と、リード時
のCBSAREA更新ステージによるマイナス256動
作により更新される。図4はチャネル装置における転送
バイト数制御回路中のI/O側要求バイト数カウンタ
(RQIOレジスタ)に関する部分の詳細図である。図
4において、TFR<E:F>はリード動作時のデータ
要求バイト数カウンタ、RFR<E:F>はライト動作
時のデータ要求バイト数カウンタを示している。RQI
Oレジスタは、マイクロプログラムによるセットと、ラ
イト時のデータ要求フレーム受信とリード時のデータ要
求フレーム送信による要求カウント加算動作と、ライト
時のデータ1バイト送信とリード時のデータ1バイト受
信によるデクリメント動作により更新される。
【0014】図5はチャネル装置における転送フレ−ム
制御回路の詳細を示す図である。図5において、MRC
レジスタはリード動作時データ要求フレームの送信制御
のために、およびライト動作時データフレームのデータ
要求許可フラグの送信制御のために用いる。MRCレジ
スタは、マイクロプログラムによるセットと、ライト時
のCCWENDフラグが0のデータ要求フレーム受信と
リード時のデータ要求許可フラグが1のデータフレーム
受信によるインクリメント動作と、ライト時のデータ要
求許可フラグが1のデータフレーム送信によるインクリ
メント動作とリード時のCCWENDフラグが0のデー
タ要求フレーム送信によるデクリメント動作により更新
される。図6はチャネル装置における障害検出回路の詳
細を示す図である。
【0015】図7はコマンドフレ−ムの形式を、図8は
コマンドレスポンスフレ−ムの形式を、図9はデ−タフ
レ−ムの形式を、図10はデ−タ要求フレ−ムの形式
を、図11はステ−タスフレ−ムの形式を、図12はフ
レ−ム内のフラグフィ−ルドの形式を示している。図7
〜図11中のアドレッシングとは、フレームの送信元と
送信先の装置アドレスを示し、アドレッシングの後にあ
る数値11、13、10、12はフレームを識別するた
めのものである。また、図7のコマンドとコマンドフラ
グはCCW中のコマンドとフラグである。図11のステ
ータスはデバイスステータスバイトを示し、ステータス
フラグはステータスの付加的情報をチャネル装置に提供
するものである。図13〜図21は本実施例の動作を示
すフローチャートである。図22は動作例1のフレーム
シーケンスを、図23は動作例2のフレームシーケンス
を示している。
【0016】チャネル装置は、CPUにより起動される
と、以後はCPUから独立して、チャネルコマンドワ−
ド(CCW)をフェッチし(ステップ51)、それに従
って、主記憶装置(MS)と入出力装置(I/O)の間
のデ−タ転送をデ−タバッファ(CBS)を介して遂行
する。以下、チャネルコマンドワ−ド(CCW)中のコ
マンドが、ライト系コマンドの場合(動作例1)と、リ
−ド系コマンドの場合(動作例2)に分けて説明する。
【0017】動作例1 ライト動作は、図22に示すようなフレームのやりとり
により実行される。主記憶装置(MS)から読み出され
たチャネルコマンドワード(CCW)中のコマンドがラ
イト系コマンドの場合(ステップ52)、マイクロプロ
グラムは、図13に示すフローチャートのように制御す
る。入出力装置(I/O)にチャネルコマンドワード
(CCW)中のコマンドとバイト数をのせたコマンドフ
レ−ム(図7)を送信する(ステップ53)。入出力装
置(I/O)より送信されたコマンドレスポンスフレ−
ム(図8)がチャネル装置で受信された後(ステップ5
4)、コマンドレスポンスフレ−ムにて、入出力装置
(I/O)よりデ−タ要求がされていたら(コマンドレ
スポンスフレ−ム(図8)中のフラグフィ−ルドのデ−
タ要求フラグが“1”だったら)(ステップ55)、そ
のデ−タ要求バイト数を図4に示すRQIOレジスタ
(第2計数手段)にセットする(ステップ56)。もし
ステップ55でデ−タ要求がされていなかったら(デ−
タ要求フラグが“0”だったら)、“0000”をRQ
IOレジスタにセットする(ステップ57)。
【0018】コマンドレスポンスフレ−ムにて、デ−タ
要求がされていて且つそのデ−タ要求バイト数がチャネ
ルコマンドワード(CCW)中のバイト数以下であるな
らば(デ−タ要求フラグが“1”でCCWENDフラグ
が“0”だったら)、図5に示すMRCレジスタ(第3
計数手段)に“01”をセットする(ステップ59)。
【0019】それ以外のケ−スにおいては、MRCレジ
スタに“00”をセットする(ステップ60)。またチ
ャネルコマンドワード(CCW)中の2バイトからなる
バイト数部を図3に示すCTIOレジスタ(第1計数手
段)にセットし(ステップ61)、図4に示すTFR
(送信フレ−ムレジスタ)にデ−タフレ−ムのヘッダを
セットする(ステップ62)。これらCTIOレジス
タ、RQIOレジスタ、MRCレジスタ、TFRレジス
タをセットしたのちマイクロプログラムは、バッファ制
御回路のクリアとデ−タ転送指示をする(ステップ6
3)。
【0020】バッファ制御回路のクリア指示により、図
2に示すCBSのアドレスポインタであるMBLP(M
S側に対する32バイトブロックポインタ)、CBLP
(I/O側に対する32バイトブロックポインタ)が、
ゼロクリアされる。
【0021】デ−タ転送指示を受けると、ハードウエア
は図15〜図18に示すフローチャートに従って、チャ
ネルコマンドワード(CCW)中のデ−タアドレスの下
位5ビットを図2に示すCBYP(CBLPで示される
ブロック内のバイトポインタ)にセットし、MSインタ
−フェ−ス制御部はチャネルコマンドワード(CCW)
中のデ−タアドレスによりデ−タを主記憶装置(MS)
からCBSにフェッチする。デ−タ転送制御部のバッフ
ァ制御回路は、主記憶装置(MS)からCBSに32バ
イトフェッチする毎(図16の1のステップ71)にM
BLPをインクリメントする(ステップ72)。
【0022】デ−タ要求フレ−ムを受信したら(図16
の2のステップ73)、デ−タ要求フレ−ムに含まれる
デ−タ要求バイト数をRQIOレジスタ(第2計数手
段)の値に加算し(ステップ74)、MRCレジスタ
(第3計数手段)の値をインクリメントする(ステップ
75)。MBLPとCBLPの差分が生じたら(図17
の3のステップ76)、CBLPとCBYPで示される
CBSの中からデ−タを読みだして、チャネルコマンド
ワード(CCW)バイト数の範囲内で(CTIOレジス
タの値が“0000”になるまで)入出力装置(I/
O)から要求されているバイト数(RQIOレジスタの
値が“0000”になるまで)のデ−タを送信する(ス
テップ78)。CBYPは、デ−タを1バイト読み出す
毎にインクリメントし(ステップ79)、x“20”
(10進の32)になるところで(ステップ80)、C
BLPをインクリメントする(ステップ81)。
【0023】デ−タフレ−ムを送信する際、MRCレジ
スタの値が“00”以外だった場合(ステップ77)、
デ−タ要求許可フラグが“1”のデ−タフレ−ムにてデ
−タを送信し(ステップ84)、MRCレジスタの値を
デクリメントする(ステップ85)。MRCレジスタの
インクリメント動作とデクリメント動作が同時に発生し
た場合は、MRCレジスタの更新は行わない。
【0024】またデ−タを1バイト送信する毎に、図3
に示したCTIOレジスタ、図4に示したRQIOレジ
スタの値をそれぞれデクリメントする(ステップ7
9)。RQIOレジスタのデクリメント動作は、“FF
FF”を加算することにより行なう。もし、このRQI
Oレジスタのデクリメント動作と、上記のデ−タ要求バ
イト数の加算動作が同時に発生した場合は、「デ−タ要
求バイト数−1」をRQIOレジスタの値に加算する。
【0025】チャネルコマンドワード(CCW)バイト
数分のデ−タを送信(図18の4のステップ87)、ま
たは入出力装置(I/O)からのステ−タスフレ−ムに
よるデバイスステ−タス報告を受けた(図18の5のス
テップ89)ことにより、データ転送を終了し(ステッ
プ88)マイクロプログラムへ割込みをあげる。
【0026】本発明のチャネル装置のMRCNTは、こ
のRQIOレジスタにより特に制限する必要は無いが、
仮にインタ−フェ−ス上で、最大“FF”と規定された
とすると、最大値“FF”を設定することができる。ま
た、MRCレジスタの値が“FF”のときにデ−タ要求
フレ−ムを受信した場合、MRCNTより多くのデ−タ
要求フレ−ムが、チャネル装置の応答無しに転送されて
きた事を示すため、図6の(イ)に示した回路を設ける
ことによって、これを障害として検出することができる
(第1障害検出手段)。障害を検出した場合、マイクロ
プログラムへデ−タ転送異常終了の割込みをあげ、終了
ステ−タスにMRCレジスタオ−バ−フロ−を表示す
る。
【0027】これらにより、チャネルコマンドワ−ドの
コマンドがライト系コマンドのとき、少ないハ−ドウェ
ア量でチャネル装置を実現するために、MRCNTを減
らす必要もなく、スル−プットを維持するために、デ−
タ要求バイト数をスタックするためのレジスタをMRC
NT分だけもつことも必要なしに、主記憶装置と光伝送
路をフレームのやりとりによって情報交換する入出力装
置の間でデ−タ転送するデ−タ転送異常検出機能を備え
たチャネル装置を実現することが可能となる。
【0028】動作例2 リード動作は、図23に示すようなフレームのやりとり
により実行される。主記憶装置(MS)から読みだされ
たチャネルコマンドワード(CCW)中のコマンドがリ
−ド系コマンドの場合、マイクロプログラムは、図14
に示すフローチャートのように制御する。
【0029】チャネル装置は、入出力装置(I/O)に
チャネルコマンドワード(CCW)中のコマンドとデ−
タ要求バイト数をのせたコマンドフレ−ムを送信する。
このとき、「バッファサイズ≧チャネルコマンドワード
(CCW)中のバイト数」の場合(ステップ92)、コ
マンドフレ−ムにのせるデ−タ要求バイト数をチャネル
コマンドワード(CCW)中のバイト数とし、この値を
RQIOレジスタ(第2計数手段)にセットする(ステ
ップ93)。デ−タ要求バイト数がチャネルコマンドワ
ード(CCW)バイト数を満足するデ−タ要求であるこ
とを示すCCWENDフラグを“1”としてコマンドフ
レ−ムを送信する(ステップ94)。ステップ92で
「バッファサイズ<チャネルコマンドワード(CCW)
中のバイト数」の場合は、コマンドフレ−ムにのせるデ
−タ要求バイト数をバッファサイズとし、この値をRQ
IOレジスタ(第2計数手段)にセットする(ステップ
97)。
【0030】また、CTIOレジスタ(第1計数手段)
には、「バッファサイズ≧チャネルコマンドワード(C
CW)中のバイト数」の場合には“0000”を、「バ
ッファサイズ<チャネルコマンドワード(CCW)中の
バイト数」の場合には「(チャネルコマンドワード(C
CW)中のバイト数)−(バッファサイズ)」をセット
する(ステップ97)。
【0031】入出力装置(I/O)より送信されたコマ
ンドレスポンスフレ−ムがチャネル装置で受信された
後、コマンドフレ−ムにのせたデ−タ要求バイト数がチ
ャネルコマンドワード(CCW)中のバイト数を満足す
るものならば、MRCレジスタ(第3計数手段)に受信
されたコマンドレスポンスフレ−ムのMRCNTをセッ
トする(ステップ100)。コマンドフレ−ムにのせた
デ−タ要求バイト数がチャネルコマンドワード(CC
W)中のバイト数を満足しないものならば、MRCレジ
スタに「MRCNT−1」をセットする(ステップ9
6)。
【0032】また、TFRレジスタに、MXDBサイズ
によって決めた固定デ−タ要求バイト数(詳細は後述)
を含むデ−タ要求フレ−ムのパタ−ンをセットする(ス
テップ101)。これらCTIOレジスタ、RQIOレ
ジスタ、MRCレジスタ、TFRレジスタをセットした
のち、マイクロプログラムはバッファ制御回路のクリア
とデ−タ転送指示をする(ステップ102)。バッファ
制御回路のクリア指示により、図2に示すCBSのアド
レスポインタである、MBLP、CBLP、CBSの空
きエリアを監視するCBSAREAレジスタ(第4計数
手段)がゼロクリアされる。
【0033】デ−タ転送指示を受けると、チャネルコマ
ンドワード(CCW)中のデ−タアドレスの下位5ビッ
トを図2に示したCBYPにセットし、デ−タフレ−ム
にて、デ−タを1バイト受信する毎にRQIOレジスタ
をデクリメントし、デ−タを1バイトCBSに書き込む
毎にCBYPをインクリメントする(図19の8のステ
ップ113)。CBYPが、x“20”になるところで
(ステップ114)、CBLPをインクリメントする
(ステップ115)。MBLPとCBLPの差分が生じ
たら(図21の10のステップ130)、MBLPで示
されるCBSのデ−タを読み出し、MSインタ−フェ−
ス制御部により、チャネルコマンドワード(CCW)中
のデ−タアドレスで示される主記憶装置(MS)へデ−
タをストアする(ステップ131)。デ−タ転送制御部
のバッファ制御回路は、主記憶装置(MS)に32バイ
トのデ−タをストアする毎にMBLPをインクリメント
する(ステップ132)。受信したデ−タフレ−ムにデ
−タ要求許可フラグが“1”と表示されていたら(図1
9の8のステップ111)、MRCレジスタをインクリ
メントする(ステップ112)。
【0034】また、チャネル装置から入出力装置(I/
O)に送信するデ−タ要求フレームのデ−タ要求バイト
数を、I/O要求のMXDBサイズが1024の時は1
024、512の時は512、256以下の時は256
とする。これが、MXDBサイズによって決めた固定デ
−タ要求バイト数である。CBSAREAレジスタは、
256バイトごとの監視とし、MBLPが8つインクリ
メントされる毎(ステップ116)にインクリメントす
る(ステップ117)。
【0035】固定デ−タ要求バイト数分CBSに空きが
できて、且つチャネルコマンドワード(CCW)バイト
数の範囲内(CTIOレジスタの値が“0000”にな
るまで)で且つ、相手からデ−タ要求フレーム送信許可
が有ることを示すMRCレジスタが“00”以外だった
ら(図20の9のステップ141)、デ−タ要求フレー
ムを送信し、RQIOレジスタにTFR中のデ−タ要求
バイト数値を加算し(ステップ145)、MRCレジス
タをデクリメントする(ステップ147)。
【0036】もし、このデ−タ要求バイト数の加算動作
と、上記のRQIOレジスタのデクリメント動作が同時
に発生した場合は、「TFR中のデ−タ要求バイト数−
1」をRQIOレジスタの値に加算する。そして、CB
SAREAレジスタを256バイトのデ−タ要求をする
毎にデクリメントする(ステップ146)。但し、デ−
タ要求バイト数が1024の場合、CBSAREA更新
ステ−ジにより4回、デ−タ要求バイト数が512の場
合は2回デクリメントする。CBSAREAレジスタの
インクリメント動作とデクリメント動作が、同時に起こ
った場合は、CBSAREAレジスタの更新は行わな
い。MRCレジスタのインクリメント動作とデクリメン
ト動作が同時に発生した場合も、MRCレジスタの更新
は、行わない。CTIOレジスタは、2バイトあるが、
256バイトのデ−タ要求をする毎に上位1バイトのみ
のデクリメントを行ない、256の減算をした事にす
る。固定デ−タ要求バイト数が256以外の場合、CB
SAREAレジスタの更新と同様に、CBSAREA更
新ステ−ジにより2または4回、デクリメント動作を行
なう。
【0037】CTIOレジスタの値が“0000”でな
く(ステップ141)、MXDBサイズによって決めた
固定デ−タ要求バイト数以下の場合(ステップ14
3)、CTIOレジスタの値を、デ−タ要求バイト数と
するため、TFRのデ−タ要求バイト数フィ−ルドをC
TIOレジスタの値に書替え(ステップ148)、デ−
タ要求フレームにCCWENDフラグを“1”として送
信する(ステップ149)。そして、CTIOレジスタ
に“0000”をセットする。この時も、RQIOレジ
スタにTFR中のデ−タ要求バイト数値を加算する(ス
テップ150)。
【0038】送信するデ−タ要求フレームのデ−タ要求
バイト数を、固定バイト数にすることは、CTIOレジ
スタの減算回路を上記のようにデクリメンタとする事が
でき、通常の減算回路に比べて簡潔な作りとすることが
可能になる。また、CBSAREAレジスタの監視単位
も固定バイト数の最小値とすることができ、ハ−ドウェ
ア量の削減が図られた。
【0039】チャネルコマンドワード(CCW)バイト
数分のデ−タを受信(図21の11のステップ15
2)、または入出力装置(I/O)からのステ−タスフ
レ−ムによるデバイスステ−タスの報告を受け(図21
の12のステップ155)、それまで受信したデ−タを
全て主記憶装置(MS)にストアしたことにより(ステ
ップ153)、マイクロプログラムへ割込みをあげる。
また、RQIOレジスタの値が“0000”なのに、デ
−タを受信したということは、チャネル装置が要求した
バイト数より多くのデ−タが入出力装置(I/O)より
転送されてきた事を示すため、チャネル装置が要求した
以上に、デ−タが入出力装置(I/O)より転送されて
きた時、図6の(ロ)に示す回路を設けることによっ
て、これを障害として検出することができる(第2障害
検出手段)。
【0040】また、チャネルコマンドワード(CCW)
のバイト数を満足するデ−タフレームには、CCWEN
Dフラグを“1”としなければならないが、RQIOレ
ジスタとCTIOレジスタが共に“0000”になるデ
ータフレームが、チャネルコマンドワード(CCW)の
バイト数を満足するデ−タフレームなので、RQIOレ
ジスタとCTIOレジスタが共に“0000”になるデ
−タフレームで、CCWENDフラグが“0”であった
り、RQIOレジスタとCTIOレジスタが共に“00
00”にならないデ−タフレームで、CCWENDフラ
グが“1”であった場合、図6の(ハ)に示す回路を設
けることによって、これを障害として検出することがで
きる(第3障害検出手段)。
【0041】これら障害を検出した場合、マイクロプロ
グラムへデ−タ転送異常終了の割込みをあげ、終了ステ
−タスに、第2障害検出手段はオ−バ−リ−ドデ−タ
を、第3障害検出手段はインバリッドENDフラグを表
示する。これらにより、チャネルコマンドワ−ドのコマ
ンドがリ−ド系コマンドのとき、少ないハ−ドウェア量
で、主記憶装置と光伝送路をフレームのやりとりによっ
て情報交換する入出力装置の間でデ−タ転送するデ−タ
転送異常終了検出機能を備えたチャネル装置を実現する
ことが可能となる。
【0042】
【発明の効果】本発明によれば、スル−プットを維持し
た上で、且つ少ないハ−ドウェア量で、主記憶装置と光
伝送路をフレームのやりとりによって情報交換する入出
力装置の間でデ−タ転送するチャネル装置を実現するこ
とできるという、電子計算機システムにおけるチャネル
装置としては必須の機能が実現された。
【図面の簡単な説明】
【図1】本発明の一実施例によるチャネル装置のブロッ
ク図である。
【図2】チャネル装置におけるバッファ制御回路の詳細
を示す図である。
【図3】チャネル装置における転送バイト数制御回路中
のCTIOレジスタに関する部分の詳細図である。
【図4】チャネル装置における転送バイト数制御回路中
のRQIOレジスタに関する部分の詳細図である。
【図5】チャネル装置における転送フレ−ム制御回路の
詳細を示す図である。
【図6】チャネル装置における障害検出回路の詳細を示
す図である。
【図7】コマンドフレ−ムの形式を示す図である。
【図8】コマンドレスポンスフレ−ムの形式を示す図で
ある。
【図9】デ−タフレ−ムの形式を示す図である。
【図10】デ−タ要求フレ−ムの形式を示す図である。
【図11】ステ−タスフレ−ムの形式を示す図である。
【図12】フレ−ム内のフラグフィ−ルドの形式を示す
図である。
【図13】ライト動作時のマイクロプログラム制御フロ
ーチャートである。
【図14】リード動作時のマイクロプログラム制御フロ
ーチャートである。
【図15】データ転送時のハードウエア制御フローチャ
ートの全体図である。
【図16】データ転送(ライト動作)時のハードウエア
制御フローチャートである。
【図17】データ転送(ライト動作)時のハードウエア
制御フローチャートである。
【図18】データ転送(ライト動作)時のハードウエア
制御フローチャートである。
【図19】データ転送(リード動作)時のハードウエア
制御フローチャートである。
【図20】データ転送(リード動作)時のハードウエア
制御フローチャートである。
【図21】データ転送(リード動作)時のハードウエア
制御フローチャートである。
【図22】ライト動作のフレームシーケンス例である。
【図23】リード動作のフレームシーケンス例である。
【符号の説明】
CBS チャネルのデ−タバッファ MS 主記憶装置 I/O 入出力装置 CCW チャネルコマンドワ−ド CTIO 第1計数手段 RQIO 第2計数手段 MRCレジスタ 第3計数手段 CBSAREA 第4計数手段 MBLP バッファ制御回路の主記憶装置(MS)側に
対する32バイトブロックポインタ CBLP バッファ制御回路のI/O側に対する32バ
イトブロックポインタ CBYP バッファ制御回路のCBLPで示されるブロ
ック内のバイトポインタ TFR 送信フレ−ムレジスタ TFR<E:F> 送信デ−タ要求フレ−ムのデ−タ要
求バイト数フィ−ルド RFR<E:F> 受信デ−タ要求フレ−ムのデ−タ要
求バイト数フィ−ルド MRCNT 応答を返さずに受信可能なデ−タ要求フレ
−ムの数 MXDBサイズ ひとつのデ−タフレ−ムで転送できる
最大デ−タバイト数 MRCOV 第1障害検出手段 OVRDDT 第2障害検出手段 INVENDFLG 第3障害検出手段

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 入出力装置との間で転送するデ−タを一
    時的に格納するデ−タバッファを具備したチャネル装置
    におけるデータ転送装置において、チャネルコマンドワ
    −ドで指定された転送バイト数の残バイト数を示す第1
    計数手段と、デ−タ受信側に要求済のバイト数を示す第
    2計数手段と、応答を返さずに送受信可能なデ−タ要求
    数を示す第3計数手段と、上記デ−タバッファ内の空き
    バイト数を監視する第4計数手段を備え、上記第1ない
    し第4計数手段により、上記入出力装置との間でデ−タ
    の転送を行うことを特徴としたデ−タ転送装置。
  2. 【請求項2】 請求項1記載のデータ転送装置におい
    て、上記チャネルコマンドワ−ド中のコマンドがライト
    系コマンドのとき、該チャネルコマンドワ−ドで指定さ
    れた転送バイト数を初期値として設定し、上記デ−タバ
    ッファから上記入出力装置へデ−タを1バイト転送する
    毎にカウントダウンする上記第1計数手段と、上記入出
    力装置から要求される転送バイト数を要求される毎に加
    算し、上記デ−タバッファから上記入出力装置へデ−タ
    を1バイト転送する毎にカウントダウンする上記第2計
    数手段と、更なるデ−タ転送要求を許可してもよいか判
    断するために、上記入出力装置よりデ−タ要求を受け取
    る毎にカウントアップし、このデ−タ要求に対し上記入
    出力装置へ応答をしたところでカウントダウンする上記
    第3計数手段を備え、上記第1計数手段ないし第4計数
    手段により、入出力装置との間でデ−タの転送を行うこ
    とを特徴とするデ−タ転送装置。
  3. 【請求項3】 請求項1または請求項2記載のデータ転
    送装置において、上記チャネルコマンドワ−ド中のコマ
    ンドがライト系コマンドの場合、上記チャネル装置が応
    答を待たずに受信できるデ−タ要求のバイト数より多く
    のデ−タ要求が転送されてきたとき、これを障害として
    検出する手段を有することを特徴とするデータ転送装
    置。
  4. 【請求項4】 請求項1記載のデータ転送装置におい
    て、上記チャネルコマンドワ−ド中のコマンドがリ−ド
    系コマンドのとき、該チャネルコマンドワ−ドで指定さ
    れた転送バイト数を初期値として設定し、上記入出力装
    置へデ−タ要求する毎にデ−タ要求バイト数を減算する
    上記第1計数手段と、上記入出力装置へデ−タ要求する
    毎にデ−タ要求バイト数を加算し、上記入出力装置から
    のデ−タを1バイト受信する毎にカウントダウンする上
    記第2計数手段と、更なるデ−タ転送要求をしてもよい
    か判断するために、上記入出力装置へデ−タ要求をする
    毎にカウントダウンし、このデ−タ要求に対し上記入出
    力装置から応答を受信したことでカウントアップする上
    記第3計数手段と、デ−タ要求を送信するために上記デ
    −タバッファ内の空きバイト数を監視する上記第4計数
    手段を備え、上記第1計数手段ないし第4計数手段によ
    り、上記入出力装置との間でデータ転送を行うことを特
    徴とするデ−タ転送装置。
  5. 【請求項5】 請求項1または請求項4記載のデータ転
    送装置において、上記チャネルコマンドワ−ド中のコマ
    ンドがリ−ド系コマンドの場合、上記チャネル装置が上
    記入出力装置に対して要求している転送バイト数以上の
    データが上記入出力装置から転送されてきたとき、これ
    を障害として検出する手段、または、上記入出力装置よ
    り転送されてきたデ−タの付加情報であるチャネルコマ
    ンドワ−ドの最終デ−タを表すフラグが、付加されるべ
    きデ−タに付加されていなかったり、付加されざるべき
    デ−タに付加されていたりしたとき、これらを障害とし
    て検出する手段を持つことを特徴とするデ−タ転送装
    置。
  6. 【請求項6】 請求項1ないし請求項5いずれかに記載
    のデータ転送装置において、データ要求バイト数を固定
    バイト数にしたことを特徴とするデータ転送装置。
JP01003493A 1993-01-25 1993-01-25 デ−タ転送装置 Expired - Lifetime JP3236973B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01003493A JP3236973B2 (ja) 1993-01-25 1993-01-25 デ−タ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01003493A JP3236973B2 (ja) 1993-01-25 1993-01-25 デ−タ転送装置

Publications (2)

Publication Number Publication Date
JPH06223022A JPH06223022A (ja) 1994-08-12
JP3236973B2 true JP3236973B2 (ja) 2001-12-10

Family

ID=11739110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01003493A Expired - Lifetime JP3236973B2 (ja) 1993-01-25 1993-01-25 デ−タ転送装置

Country Status (1)

Country Link
JP (1) JP3236973B2 (ja)

Also Published As

Publication number Publication date
JPH06223022A (ja) 1994-08-12

Similar Documents

Publication Publication Date Title
US6810440B2 (en) Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
US9021155B2 (en) Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8364853B2 (en) Fibre channel input/output data routing system and method
US8583989B2 (en) Fibre channel input/output data routing system and method
US8683084B2 (en) Fibre channel input/output data routing system and method
US20190026180A1 (en) Predictive caching for check word snooping in high performance ficon
EP1349059B1 (en) Method and apparatus for verifying data in a storage system
JPS5835627A (ja) メモリデ−タ先取り制御方式
US6105080A (en) Host adapter DMA controller with automated host reply capability
US5594868A (en) Processor unit for a parallel processor system discards a received packet when a reception buffer has insufficient space for storing the packet
US8683083B2 (en) Fibre channel input/output data routing system and method
US8769253B2 (en) Fibre channel input/output data routing system and method
JP3236973B2 (ja) デ−タ転送装置
EP0267974B1 (en) Control interface for transferring data between a data processing unit and input/output devices
JPS623361A (ja) ステ−タス通報方式
JPH0221619B2 (ja)
US5592680A (en) Abnormal packet processing system
JPS605367A (ja) 通信制御処理装置
JP3261665B2 (ja) データ転送方法及びデータ処理システム
JPS58222643A (ja) 通信制御装置
JP3056182B2 (ja) データ伝送処理回路
JPH01267764A (ja) 周辺制御装置
JPH10269161A (ja) 負荷均衡制御方式
JPH0395652A (ja) 二重化システム用記憶装置
JPH06161927A (ja) データ通信方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071005

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 12