JPH0877092A - 入出力制御装置及び入出力制御方法 - Google Patents

入出力制御装置及び入出力制御方法

Info

Publication number
JPH0877092A
JPH0877092A JP6208506A JP20850694A JPH0877092A JP H0877092 A JPH0877092 A JP H0877092A JP 6208506 A JP6208506 A JP 6208506A JP 20850694 A JP20850694 A JP 20850694A JP H0877092 A JPH0877092 A JP H0877092A
Authority
JP
Japan
Prior art keywords
input
port
busy
speed
time
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.)
Granted
Application number
JP6208506A
Other languages
English (en)
Other versions
JP3474646B2 (ja
Inventor
Susumu Koyama
進 小山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20850694A priority Critical patent/JP3474646B2/ja
Priority to US08/503,162 priority patent/US5781800A/en
Priority to DE69525120T priority patent/DE69525120T2/de
Priority to DE69535635T priority patent/DE69535635T2/de
Priority to EP01115735A priority patent/EP1143343A3/en
Priority to EP95305348A priority patent/EP0703535B1/en
Priority to EP07123186A priority patent/EP1939755A3/en
Priority to EP01115734A priority patent/EP1143342B1/en
Publication of JPH0877092A publication Critical patent/JPH0877092A/ja
Priority to US08/992,736 priority patent/US6029008A/en
Priority to US09/248,364 priority patent/US6366963B2/en
Application granted granted Critical
Publication of JP3474646B2 publication Critical patent/JP3474646B2/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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
    • G06F13/126Program 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 and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】チャネルと入出力ポート間のチャネルバスの速
度が異なっても、特定のポートに偏ることなく均等に入
出力処理をサービスする。 【構成】入出力制御装置の各入出力ポートA,Bに、転
送終了に伴うエンドステータスの応答から起動要求を受
信するまでの起動時間T1,T2を計測して記憶する起
動時間計測記憶部48を設ける。そしてルート制御部4
6によって、高速チャネル装置Bから対応する高速入出
力ポートBに起動要求を受けた際に、起動時間計測記憶
部48に記憶した低速入出力ポートAの起動時間T1に
亘って低速入出力ポートAに対する起動要求を待つ。こ
の待ち時間T1中に低速入出力ポートAに起動要求があ
れば、対応する低速チャネル装置Aと結合して転送処理
を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ホストコンピュータ側
の複数のチャネル装置を複数の入出力ポートに個別に接
続して入出力要求を処理する入出力制御装置に関し、特
に、転送速度の異なるチャネルバスを使用した入出力制
御装置及び入出力制御方法に関する。
【0002】
【従来の技術】図26は、磁気テープ装置を用いた入出
力サブシステムの一例である。入出力サブシステムは、
入出力制御ユニットとして機能する磁気テープ制御ユニ
ット410と、入出力装置として機能する複数の磁気テ
ープドライブユニット412−1〜412−4で構成さ
れる。磁気テープドライブユニット412−1〜412
−4には、デバイス機番#1〜#4が定義される。
【0003】磁気テープ制御ユニット410は例えば2
つの入出力ポート420−1,420−2をもつ。入出
力ポート420−1,420−2にはポート番号A,B
が定義される。入出力ポート420−1,420−2に
はホストコンピュータ414−1,414−2のチャネ
ル装置416−1,416−2がチャネルバス418−
1,418−2を介して接続される。チャネル装置41
6−1,416−2にはチャネル番号A,Bが定義され
る。尚、以下の説明は、単にチャネルA,B及びポート
A,Bと表わす。
【0004】ホストコンピュータによる入出力動作を簡
単に説明する。例えばホストコンピュータ414−1で
磁気テープドライブユニット412−1にロードされた
磁気テープに対する入出力要求、例えばライト要求が発
生したとする。ホストコンピュータ414−1のチャネ
ルAは、まず入出力ポートAに対し磁気テープドライブ
ユニット412−1のデバイス機番#1を指定したスタ
ートI/O要求(起動要求)を発行する。
【0005】磁気テープ制御ユニット410は、ポート
AからのスタートI/O要求に対しポートBがチャネル
Bと結合中か否かチェックする。ポートBが結合中にな
ければ、ポートAに対するスタートI/O要求を受け入
れてチャネルAと結合し、スタートI/O要求の正常終
了を応答し、コマンドシーケンスの転送処理を行う。一
方、チャネルAからのスタートI/O要求をポートAで
受けた際に、チャネルBが結合中であった場合は、ビジ
ィ応答を返す。そして、チャネルBとポートBの結合に
よる転送処理が終了すると、ポートBからチャネルBに
ユニットエンドのステータス応答が行われ結合が切り離
される。これに伴ないポートAからチャネルAにもビジ
ィ解除を示すビジィエンドが行われ、ビジィ応答により
待ち状態にあるチャネルAから、再度、ポートAに対し
起動要求が行われる。
【0006】
【発明が解決しようとする課題】ところで、このような
複数のチャネルからの入出力要求を処理する入出力制御
装置にあっては、各チャネルの入出力要求に対し、ある
程度、均等にサービスを行う必要がある。しかし、チャ
ネルバスの転送速度が異なったり、電気チャネルバスや
光チャネルバスのようにチャネルによって異なった転送
プロトコルが採用されている場合、どうしても高速チャ
ネルのサービスへ偏る傾向になり、低速チャネルに対す
るサービスは低下する問題点があった。
【0007】またシステム環境として、高速ホストコン
ピュータと中・低速ホストコンピュータが混在している
場合が多く、更に、高速ホストコンピュータと中・低速
ホストコンピュータはクロスコール可能に接続されてい
る。このような場合にも、同様な問題が発生する。これ
を図26について説明すると次のようになる。例えばチ
ャネルAが低速チャネルであり、チャネルBが高速チャ
ネルであったとする。この場合の入出力制御は例えば図
27のタイムチャートのようになる。
【0008】いま高速チャネルBからスタートI/O要
求500をポートBに行い、正常終了による結合完了応
答502が得られると、高速チャネルBとポートB間で
のコマンドシーケンスの転送処理504,506が行わ
れる。この転送処理504,506の間に、低速チャネ
ルAからスタートI/O要求508をポートAに発行し
たとすると、ポートBが結合中にあるため、ビジィ応答
510が返される。
【0009】転送処理506が終了するとポートBから
ユニットエンド(Unit End)512が高速チャネルBに
返され、結合が解除される。このユニットエンド512
に伴ない、次にポートAからビジィ解除待ちにある低速
チャネルAにビジィ解除を示すビジィエンド514が返
される。ここでユニットエンド512を受けた高速チャ
ネルBで次の入出力要求が発生していたとすると、直ち
に高速チャネルBから起動要求としてのスタートI/O
要求516がポートBに出され、結合完了応答518を
経て再び転送処理520,522に入る。
【0010】一方、ビジィエンド514を受けた低速チ
ャネルAは、ビジィ解除を認識してスタートI/O要求
524をポートAに出す。しかし、ビジィエンド514
を出してからスタートI/O要求524がポートAで受
信されるまでに時間がかかり、この間に、高速チャネル
BからのスタートI/O要求516でポートBが結合中
になっている。このため低速チャネルAからのスタート
I/O要求524に対しポートAから再びビジィ応答5
26が出され、低速チャネルAは再度、ビジィ解除待ち
となる。
【0011】このため高速チャネルBに入出力要求が続
く限り、低速チャネルAはスタートI/O要求、ビジィ
応答、ビジィエンドのループ処理が繰り返され、入出力
要求が受け入れられずサービスの低下が発生する。最悪
の場合、このループ処理が長時間に亘ることで、低速チ
ャネルAのホストコンピュータは、チャネル装置や入出
力サブシステムに何らかの異常が起きたものと判断する
チェック・コンディションとなってしまう問題がある。
【0012】また制御方法によっては、高速チャネルか
らの入出力要求が連続した場合、低速チャネルAに対し
て高速チャネル側での結合終了に伴なうビジィエンドを
応答する時間も無くなり、ビジィ解除待ちにある低速チ
ャネルはいくら待ってもビジィエンドが得られず、ビジ
ィ解除待ちがタイムアウトとなって低速チャネルの入出
力要求がエラー終了となる事態も発生する。
【0013】このように特定のチャネルに入出力制御装
置のサービスが偏ってしまう問題を解決する方法とし
て、各入出力ポートが均等にサービスされるように、時
分割でルートの優先度を変化させる方法がある。図28
は入出力制御装置にポートA〜Hの8チャネルを設けた
場合であり、クロックによりポートA〜Hに順番に優先
度を割り当てていく。例えば時刻t0 で全入出力ポート
A〜Hに起動要求があった場合、このとき入出力ポート
Cのスロットにクロックがあって優先度を設定してお
り、入出力ポートCでの結合が受理される。それ以外の
入出力ポートについては、自動的にビジィ応答が報告さ
れる。
【0014】また時刻t0 で入出力ポートB,Eの2つ
に起動要求があったとすると、入出力ポートEのスロッ
トにクロックが変化した時刻t1 で入出力ポートEの結
合が受理され、入出力ポートBについては自動的にビジ
ィ応答が報告される。このような時分割でルートの優先
度を変化させる方法は、各チャネルバスが同一性能で、
且つ電気チャネルバス又は光チャネルバスといったプロ
トコルが同じ場合は有効である。しかし、転送速度が異
なったり、電気チャネルと光チャネルが混在したプロト
コルの異なる場合には、あまり有効ではない。
【0015】本発明の目的は、チャネルと入出力ポート
間のチャネルバス速度が異なっても、特定のポートに偏
ることなく均等に入出力処理をサービスできる入出力制
御装置及び制御方法を提供する。
【0016】
【課題を解決するための手段】図1及び図2は本発明の
原理説明図である。まず本発明は、異なる転送速度のチ
ャネルバスを介して上位装置側の複数のチャネル装置と
複数の入出力ポートを接続した入出力制御装置を対象と
する。具体的には、転送速度の異なるチャネルバスを介
して上位装置側の高速チャネル装置及び低速チャネル装
置の各々に接続された高速入出力ポート及び低速入出力
ポートを有する入出力制御装置を対象とする。
【0017】本願の第1発明は、図1(A)のように、
入出力制御装置10における入出力ポートA,Bの各々
に、他の入出力ポートの転送終了に伴いビジィ解除を応
答から起動要求を受信するまでの起動時間を計測して記
憶する起動時間計測記憶部48を設ける。そしてルート
制御部46によって、高速チャネル装置Bから高速入出
力ポートBに起動要求を受けた際に、起動時間計測記憶
部48に記憶した低速入出力ポートBの起動時間T2に
亘って低速入出力ポートBに対する起動要求を待つ。こ
の待ち時間中に低速入出力ポートBに起動要求があれ
ば、対応する低速チャネル装置Bと結合して転送処理を
行う。
【0018】この場合、高速チャネル装置Aに対しては
ビジィ応答とする。また待ち時間に亘り低速入出力ポー
トBから起動要求がなかった場合は、高速チャネル装置
Aと高速入出力ポートAを結合して転送処理を行う。第
1発明は、更に、各入出力ポートのビジィ率を計測して
記録するビジィ率計測記憶部50を設ける。この場合、
起動時間計測記憶部50は、各入出力ポートA,Bの起
動時間T1,T2を計測する毎に、最大時間Tmax 、平
均時間Tav及び最小時間Tmin を生成して記憶する。ま
たルート制御部46は、ビジィ率計測記憶部50に記憶
した各入出力ポートA,Bのビジィ率R1,R2が均等
になるように、最大時間、平均時間または最小時間を選
択して低速入出力ポートBの起動要求の待ち時間T1を
設定する。
【0019】ビジィ率Rとしては、各入出力ポートA,
B毎に、計測したビジィ応答回数をチャネル装置からの
入出力起動回数で割って算出する。ビジィ率に基づく待
ち時間の設定としては、低速入出力ポートAのビジィ率
R1が高速入出力ポートBのビジィ率R2より大きい場
合は最大時間Tmax を選択して設定し、低速入出力ポー
トAのビジィ率R1が高速入出力ポートBのビジィ率R
2に等しい場合は平均時間Tavを選択して設定する。さ
らに低速入出力ポートAのビジィ率R1が高速入出力ポ
ートBのビジィ率R2より小さい場合は最小時間Tmin
を選択して設定する。
【0020】また第1発明の変形として次のようにす
る。まず入出力制御装置に、低速入出力ポートAから低
速チャネル装置Aにビジィ解除を応答してから起動要求
を受信するまでの起動時間を計測する起動時間計測部を
設ける。ルート制御部46は、低速入出力ポートAから
のビジィ解除の応答時に、高速入出力ポートBに対する
高速チャネル装置Bからの処理要求を、計測した起動時
間に亘り待たせ、その間に低速入出力ポートBに対する
低速チャネル装置Bから処理要求を受け付ける。
【0021】また起動時間計測部の計測時間に基づい
て、ルート制御部46の待ち時間を可変させる待ち時間
設定部を設けてもよい。更に、オペレータの入力操作に
よって、ルート制御部46の待ち時間を設定させる待ち
時間設定部を設けてもよい。本願の第2発明は、図1
(B)のように、判定部68によって、複数の入出力ポ
ートA,Bのいずれかで、起動要求に対するビジィ応答
と他の入出力ポートの転送終了に伴うビジィ解除(ビジ
ィエンド)の応答とが繰り返されるループ状態の回数を
計数し、このループ回数が所定値を越えるか否か判定す
る。
【0022】判定部68でループ回数が所定値を越える
入出力ポートが判定された場合、ルート制御部46が判
定入出力ポートに対し起動要求の受付けを優先的に割り
付ける。即ち、ルート制御部46は、優先割付け入出力
ポートに対する起動要求のみを受付け、他の入出力ポー
トに対する起動要求に対してはビジィ応答する。本願の
第3発明は、図1(C)のように、ビジィ応答時刻記憶
部70で複数の入出力ポートA,Bの各々につき、起動
要求に対するビジィ応答を行った時刻を記憶する。処理
ポート決定部72は、起動要求に対する転送処理の終了
毎に、ビジィ応答時刻の中の最も古い応答時刻をもつ入
出力ポートを処理ポートに決定する。ルート制御部46
は、決定した入出力ポートに対し起動要求の受付けを優
先的に割り付ける。
【0023】本願の第4発明は、図2(D)のように、
ルート制御部46によって特定のチャネル装置Bと入出
力ポートBとの結合中に、他の入出力ポートAに他のチ
ャネル装置Aから起動要求があった場合、再試行割込み
処理部74が他の入出力ポートBから再試行ステータス
を応答して他のチャネル装置Bとの結合を切り離す。そ
して、現在処理中の入出力ポートAとチャネル装置Aの
結合終了時に、試行割込み処理部74は、他の入出力ポ
ートAから再試行開始の割込み通知を他のチャネル装置
Aに通知して起動要求を再試行させる。
【0024】本願の第5発明は、図2(E)のように、
ルート制御部46によって特定のチャネル装置Bと入出
力ポートBとの結合中に所定の割込条件が成立した場
合、例えば割込タイマ80がタイムアップした場合、再
試行割込み処理部76によって割込み処理を行う。この
再試行割込み処理は、 (1)入出力ポートBからチャネル装置Bに再試行ステ
ータスを応答して処理を中断して結合を切り離す。
【0025】(2)切離しが済むと、全てのポートA,
Bについて、それまでのビジィ応答状態をチェックし、
優先処理ポートを決定する。例えば、以前にビジィ応答
を行ったポートAを優先処理ポートに決定する。 (3)続いて、優先処理ポートAからチャネル装置Aに
エンドステータスを応答して起動要求を行わせる。
【0026】(4)この起動要求に伴なう転送処理が終
了すると、再試行割込み処理部76は、入出力ポートB
からチャネル装置Bに再試行開始の割込みを通知し、中
断した処理を再開させる。ここで再試行割込みの割込条
件としては、 入出力ポートの結合時間が一定時間に達したこと、 結合中の入出力ポートのコマンド処理回数が所定値に
達したこと、 入出力ポートの結合中に、他の入出力ポートに対する
起動要求に対するビジィ応答でビジィ率が所定値に到達
したこと、 等とする。
【0027】本願の第6発明は、図2(F)のように、
複数の入出力ポートA,B毎にコマンド解析実行部9
2,94を設ける。例えばコマンド解析実行部92は、
他の入出力ポートBの結合中に、入出力ポートAの起動
要求に伴って受信したコマンドが実行可能なコマンドか
否か解析し、実行可能なコマンドであれば起動要求を受
け付けて内部資源に対するコマンド処理を実行する。
【0028】具体的には、他の入出力ポートBの結合に
よって内部資源のデータ転送を行っている場合、別の内
部資源で且つデータ転送を伴わない制御系のコマンドで
あれば、入出力ポートAの起動要求を受け付けて他の内
部資源に対するコマンド処理を実行する。内部資源は、
データバスに対し独立した制御バスを備えた複数の入出
力装置、例えば磁気テープドライブユニット12であ
る。
【0029】
【作用】このような本発明の入出力制御装置及び方法に
よれば、次の作用が得られる。まず第1発明は、学習方
式ということができる。高速のチャネル装置に入出力制
御のサービスが偏ってしまう一因として、ビジィ解除待
ちにあるチャネルがビジィ解除の通知(ビジィエンド)
を受けてから起動要求を出すまでの速さが上げられる。
一般に高速チャネルは、この時間が短く、低速チャネル
は長い。
【0030】そこで第1発明は、各入出力ポートにタイ
マを設け、ビジィ解除を応答してから起動要求を受ける
までの起動時間をダイナミックに計測して記憶する。こ
の起動時間の計測結果は、最大値、最小値、平均値に分
けて算出記憶する。入出力制御装置は、例えば高速入出
力ポートで連続してユニットエンド後に起動要求を受け
ても、受理応答は即座に行わずに、低速ポートの起動要
求を起動時間だけ待つ。そして低速入出力ポートからの
起動が来れば、高速ポートと低速ポートのどちらを受理
するか判断し、片側だけにサービスが偏るのを防ぐ。
【0031】サービスの偏りを示す指標の一つとしてビ
ジィ率を使用する。ビジィ率は、ビジィ応答カウンタで
求めたビジィ応答の数を、チャネルからの起動の数を積
算する起動数カウンタの値で割って求める。そして各入
出力ポートのビジィ率をなるべく小さい値に、また各入
出力ポートのビジィ率の値の差が大きくならないよう
に、待ち時間を決める。
【0032】ビジィ解除の応答後、例えば、応答した入
出力ポートのビジィ率が高い場合は、起動時間の最大値
付近の値で待ち、逆に入出力ポートのビジィ率が低く、
他の入出力ポートのビジィ率が高い場合は、最小値付近
の値で待つようにする。このように、第1発明は、自ら
の学習によって各チャネルのサービスを均一化できる。
【0033】第2発明は、ビジィ応答とビジィ解除応答
(ビジィエンド)のループ処理が長時間続くとホスト側
でチェックコンディションになるので、これを防ぐ。即
ち、起動要求、ビジィ応答−ビジィ解除応答となるルー
プ処理の回数をカウンタで検出し、カウンタが一定値を
越えた入出力ポートを優先的にサービスする。その他の
入出力ポートにはビジィを応答する。入出力ポートで優
先処理が済んだら、その入出力ポートのカウンタはリセ
ットする。これによりビジィ応答とビジィ解除応答がル
ープすることによるチェックコンディションを回避でき
る。
【0034】第3発明は、時系列処理方式である。各入
出力ポートにビジィ応答した時刻を記憶し、継続中のチ
ャネルとの処理が終了したら、各入出力ポートのビジィ
応答時刻を調べ、一番古い時刻を示している入出力ポー
トにビジィエンドを報告して優先的にサービスを行う。
第4発明は、再試行割込み方式である。チャネルとの結
合中に他のチャネルからの起動がきたら、ビジィ応答の
代わりにチャネルの再試行を要求するステータスを報告
して、後からの起動してきたチャネルとの結合を一旦切
る。現在処理中のチャネルとの結合が終了したら、再試
行要求を既にしたチャネルに対して再試行開始の割り込
みを行い、再結合する。このようにビジィ応答の代わり
に再試行ステータスを応答することで、入出力制御装置
側でどの入出力ポートを再結合するか決定でき、各入出
力ポートを平均してサービスできる。
【0035】第5発明は、再試行割込み方式の変形とい
える。まずチャネルとの結合中に所定の割込条件(所定
時間、所定コマンド処理回数、所定ビジィ率等)が成立
したら、割込みを発生して現在結合中のチャネルに対し
てチャネル再試行要求のステータスを応答し、処理を中
断して一旦結合を切る。その後、全バスについて、以前
にビジィ応答しているか、チェック要因は割込み要因を
分析して、どの入出力ポートに対しサービスするか決定
する。
【0036】処理ポートを決定したら、そのポートから
ユニットエンドを応答して優先的に処理する。この優先
処理が済んだら、再試行要求のステータス応答を行った
チャネルに対し再試行開始の割込み通知を行い、再結合
して中断した処理を再開する。これによって、高速チャ
ネルの処理が連続し、低速チャネルでビジィ応答を解除
するユニットエンドが報告できない事態を回避できる。
【0037】第6発明は、チャネルスイッチとして機能
する入出力ポートのインテリジェント化である。他の入
出力ポートでコマンド処理中であっても、入出力ポート
自身で受け付けたコマンドが実行可能か否か判断し、実
行可能な場合は、下位のドライブユニットに対する処理
を実行し、ビジィ応答の回数を減らす。例えば他の入出
力ポートの結合中に、ある入出力ポートに起動要求があ
った場合は、これを受け付けてコマンドを解析し、結合
中の入出力ポートと共通の内部資源、例えばデータバス
を使わないコマンド、例えばモーション系やセンス系の
制御コマンドの場合は、有効に受け付けて実行してしま
う。このインテリジェント化は、データバスとコマンド
処理バスが別であったり、共通バスであっても、データ
転送と、コマンド処理用のデータ転送が同時に行えるよ
うな共通バス構成のハードウェアをもつ場合に有効とな
る。
【0038】
【実施例】
<目 次> 1.システム構成 2.学習処理 3.ビジィ応答−ビジィエンドの循環チェック処理 4.時系列処理 5.再試行割込み処理その1 6.再試行割込み処理その2 7.入出力ポートのインテリジェント化 1.システム構成 図3は、磁気テープ装置をドライブユニットとして用い
た本発明の入出力制御装置のシステム構成である。
【0039】図3において、入出力制御装置として機能
する磁気テープ制御ユニット10に対しては、デバイス
インタフェース22を介して、この実施例にあっては、
8台の磁気テープドライブユニット12−1〜12−8
が接続される。磁気テープドライブユニット12−1〜
12−8には、予めドライブ機番#1〜#8が設定され
る。
【0040】磁気テープ制御ユニット10は、この実施
例にあっては、8つの入出力ポート20−1〜20−8
を有する。入出力ポート20−1〜20−8はポート番
号A〜Hが定義される。以下の説明では、単にポートA
〜Hと表現する。磁気テープ制御ユニット10のポート
A〜Hのそれぞれには、ホストコンピュータ14−1〜
14−8に設けたチャネル装置16−1〜16−8がチ
ャネルバス18−1〜18−8を介して接続される。こ
こで、チャネル装置16−1〜16−8にはチャネル番
号A〜Hが定義されている。以下の説明では単に、チャ
ネルA〜チャネルHと表現する。
【0041】ホストコンピュータ14−1〜14−8の
チャネルA〜Hと磁気テープ制御ユニット10のポート
A〜Hの間のチャネルバス18−1〜18−8は、それ
ぞれ固有の転送速度をもっている。例えば、チャネルA
とポートAを結ぶチャネルバス18−1は電気的なチャ
ネルバスであり、その転送速度は4.5MBsとなる。
【0042】このような電気的なチャネルバス18−1
としては、IBM製のブロック・マルチプレクス・チャ
ネルインタフェース(BMC)を使用することができ
る。また、チャネルBとポートBを結ぶチャネルバス1
8−2は、例えば光チャネルバスであり、その転送速度
は9MBsと高速である。このような光チャネルバス1
8−2としては、例えばIBM製のESCONチャネル
を使用することができる。残りのチャネルバス18−3
〜18−8についても、各々固有の転送速度をもったチ
ャネルバスが使用される。勿論、本発明にあっては、少
なくとも複数のチャネルバスの転送速度が高速と低速の
2種類である場合を対象としている。例えば、転送速度
4.5MBsの電気的なチャネルバス18−1は低速チ
ャネルバスとなり、これに対し光チャネルバスを用いた
チャネルバス18−2は、転送速度が9MBsであるこ
とから高速チャネルバスとなる。
【0043】以下の説明では、低速チャネルバス18−
1のチャネルAを低速チャネルといい、高速チャネルバ
ス18−2のチャネルBを高速チャネルという。同様
に、ポートA,Bについても、ポートAが低速入出力ポ
ート、ポートBが高速入出力ポートとなる。図4は、図
3の磁気テープ制御ユニット10のハードウェア構成で
ある。磁気テープ制御ユニット10は、ホストインタフ
ェース部24、バッファメモリ26、フォーマッタ部2
8および通信情報メモリテーブル30で構成される。ホ
ストインタフェース部24には、MPU32、ファーム
ウェア34およびインタフェースプロセッサ36が設け
られる。
【0044】インタフェースプロセッサ36には、ホス
トコンピュータとのチャネルバスを接続した入出力ポー
ト20−1〜20−8で実現されるポートA〜Hが設け
られる。フォーマッタ部28には、MPU38、ファー
ムウェア40およびフォーマッタプロセッサ42が設け
られる。本発明の入出力制御は、ホストインタフェース
部24に設けられたMPU32、ファームウェア34お
よびインタフェースプロセッサ36の制御機能により実
現することができる。バッファメモリ26には、ホスト
コンピュータと磁気テープドライブユニットとの間でや
り取りされるデータが一時的に格納される。バッファメ
モリ26を経由したデータ転送により、入出力制御装置
10とチャネル側の転送、入出力制御装置10と磁気テ
ープドライブユニット側の転送は、非同期に行われるこ
とになる。
【0045】ホストインタフェース部24に設けられた
MPU32は、インタフェースプロセッサ36におい
て、いずれかのポートA〜Hに起動要求を受けると、他
のポートが結合中でないことを条件に起動要求を受け入
れ、チャネルバスと結合して、ホストコンピュータから
の入出力要求に基づくチャネルコマンドワードの転送処
理を行う。
【0046】チャネルコマンドは、通常、一連のコマン
ドシーケンスを実現するための異なったコマンド語の連
続するコマンドチェインニングと、データのブロック単
位の転送を行う際のリードコマンドまたはライトコマン
ドを繰り返し転送するためのデータチェインニングがあ
る。このようなチャネルコマンドによる1回の転送処理
ごとに、チャネル装置は対応する磁気テープ制御ユニッ
ト10のポートに対しスタートI/O要求(スタートI
/Oコマンド)を発行して起動要求を行う。この起動要
求の際には、通常、磁気テープドライブユニットのドラ
イブ機番#1〜#8のいずれかを指定する。インタフェ
ースプロセッサ36は、ポートA〜Hに対するチャネル
バスからのスタートI/O要求を監視しており、スター
トI/O要求を認識すると、他のポートが結合中にない
ことを条件に、スタートI/Oコマンドに対する正常終
了を示す結合完了応答を返す。もし、スタートI/O要
求を受けた際に他のポートが結合中であった場合には、
基本的にはビジィ応答を返すことになる。
【0047】MPU32は、インタフェースプロセッサ
36を介して受信したチャネル側からのコマンドを解読
し、磁気テープドライブユニットの制御に必要なパラメ
ータなどの各種情報を通信情報メモリテーブル30に書
き込む。また、磁気テープドライブユニットに対する書
込みのために転送されたデータについては、バッファメ
モリ26に書き込む。
【0048】フォーマッタ部28のMPU38は、MP
U32とは非同期に、通信情報メモリテーブル30をサ
イクリックに参照しており、磁気テープドライブユニッ
トの制御またはデータ転送に必要な情報を認識すると、
フォーマットプロセッサ42を経由して、指定されたド
ライブ機番をもつ磁気テープドライブユニットに対する
各種の制御およびデータ転送のための処理動作を指示す
る。
【0049】またMPU38は、サイクリックに磁気テ
ープドライブユニット12−1〜12−8の状態を検出
して、検出結果を通信情報メモリテーブル30に書き込
んでいる。このため、チャネル側より磁気テープドライ
ブユニットの状態を確認するためのセンスコマンドをホ
ストインタフェース部24で受けた場合、MPU32は
通信情報メモリテーブル30を参照することで磁気テー
プドライブユニットの状態を認識し、ステータスコマン
ドに対し応答することができる。
【0050】更にインタフェースプロセッサ36には、
チャネルバスからの転送データを圧縮した後にバッファ
メモリ26に書き込み、また磁気テープドライブユニッ
トからバッファメモリ26に読み出された圧縮リードデ
ータを元のデータに伸長してチャネルバスに送り出すた
めの圧縮伸長部としての機能が設けられる。このデータ
の圧縮伸長処理は、リードまたはライト要求の最初に送
られてくるセットコマンドのビットフラグにより伸長ま
たは圧縮するか、そのまま処理するか、指定することが
できる。
【0051】一方、オプションとして、デバイスインタ
フェース25を介してCRT35とキーボード45が設
けられる。これによりオペレータはホストインタフェー
ス部24のMPU32の入出力制御に必要な各種のパラ
メータを外部から設定できる。勿論、ホストコンピュー
タ側のCRTとキーボードを使用して、MPU32の制
御パラメータを設定してもよい。 2.学習処理 図5は本願の第1発明の実施例であり、磁気テープ制御
ユニット10にポートAとポートBの2つを設けた場合
を例にとっている。
【0052】磁気テープ制御ユニット10にはルート制
御部46が設けられ、ポートAまたはポートBに対する
チャネルバスからの起動要求に基づいて、いずれか一方
のポートを選択するチャネルスイッチとしての機能をも
つ。ポートA,ポートBのそれぞれにはタイマ52,5
8が設けられている。タイマ52,58は、ポートA,
Bからのチャネルバスに対するビジィエンドで起動し、
その後にチャネルバスから起動要求を受けたときに停止
する。
【0053】タイマ52,58により計測される起動時
間は、より正確には、チャネルバスに対しビジィ応答を
行った後に他のポートの結合終了に伴ってビジィエンド
を応答した時点から、このビジィエンドを受けたビジィ
解除待ちのチャネル装置からの起動要求がポートで受信
されるまでの時間となる。したがって起動時間そのもの
はチャネル装置がビジィ解除待ちの状態でユニットエン
ドを受信して再度起動要求を発行する時間を表わすこと
になり、チャネルバスの転送速度に依存する。
【0054】ここで、ポートAは低速チャネルバス18
−1に接続された低速ポートであり、ポートBは高速チ
ャネルバス18−2に接続された高速ポートとなってい
る。このため、タイマ52で計測される低速ポートAの
起動時間T1は、タイマ58で計測される高速ポートB
の起動時間T2より長い時間となる。起動時間計測記憶
部48は、タイマ52,58による低速ポートAの起動
時間T1と高速ポートBの起動時間T2を記憶する。
【0055】更に磁気テープ制御ユニット10には、ビ
ジィ率計測記憶部50が設けられている。ビジィ率計測
記憶部50は、ポートAに設けた起動数カウンタ54と
ビジィ数カウンタ56、およびポートBについて設けた
起動数カウンタ60とビジィ数カウンタ62のそれぞれ
の計数値を用いて、ポートA,Bごとにビジィ率R1,
R2を算出して記憶する。
【0056】例えばポートAを例にとると、起動数カウ
ンタ54はポートAに対するチャネルバス18−1から
の起動要求があるごとにカウントアップされ、ポートA
に対する運用中の起動要求の総数を表わす。ビジィ数カ
ウンタ56は、ポートAに対する起動要求のうち、他の
ポートBが結合中でビジィ応答を行った回数を計数す
る。
【0057】ビジィ率計測記憶部50は、起動数カウン
タ54がカウントアップするごとに、即ち起動要求があ
るごとに、そのときの起動数カウンタ54の値でビジィ
数カウンタ56の値を割って、ポートAのビジィ率R1
を算出する。この点は、ポートBの起動数カウンタ60
およびビジィ数カウンタ62についても同様であり、起
動要求を受けるごとにビジィ数カウンタ62の値を起動
数カウンタ60の値で割って、ポートBのビジィ率R2
を算出して記憶する。
【0058】更に、起動時間計測記憶部48にあって
は、タイマ52,58で計測されたポートA,Bの起動
時間T1,T2をそのまま記憶するのではなく、起動時
間はそのときの状況により異なることから、最大時間T
max ,最小時間Tmin および平均時間Tavに分けて記憶
する。最大時間Tmax の記憶は、前回までに得られた最
大時間Tmax と今回得られた起動時間Tを比較し、起動
時間Tが大きければ、それまでの最大時間Tmax を更新
し、小さければ、それまでの最大時間Tmax を残す。最
小時間Tmin についても同様にして更新する。
【0059】平均時間Tavについては、現時点までの起
動時間の総和を起動要求回数で割ることで求めることが
できる。全ての起動時間の総和をとった場合には、デー
タビット長が大きくなりすぎることから、一定数の起動
時間ごとの移動平均を計算することが望ましい。ルート
制御部46は、高速ポートBに起動要求を受けると、ポ
ートAが非結合状態にあっても直ちに結合完了応答を行
わず、ビジィ率計測記憶部50を参照して、ポートAと
ポートBのビジィ率R1,R2を比較し、ビジィ率R
1,R2が同じになるようにルート制御を行う。通常、
低速ポートA側のビジィ率R1が大きく、高速ポートB
のビジィ率R2が小さいことから、ビジィ率の大きい低
速ポートAの起動時間T1を起動時間計測記憶部48か
ら読み出し、読み出した低速ポートAの起動時間T1に
亘って、ポートBは低速ポートAに対する起動要求の待
ち時間を設定する。
【0060】このポートAに対する起動要求の待ち時間
T1の間に低速ポートAに対し起動要求があると、ルー
ト制御部46はポートAをチャネルバス18−1に結合
して転送処理を行い、先に起動要求のあった高速ポート
Bについては、ビジィ応答を返すようになる。この結
果、ビジィ率の高い低速ポートA側が優先的に起動要求
を受け入れられることになり、高速ポートBとのビジィ
率をほぼ等しくさせることができる。
【0061】また起動時間計測記憶部48には、低速ポ
ートAの起動時間T1として最大時間Tmax ,平均時間
Tavおよび最小時間Tmin が記憶されていることか
ら、ポートA,Bのビジィ率R1,R2の関係から、例
えば次のように低速ポートAに対する起動要求の待ち時
間を設定する。 R1>R2の場合は、最大時間Tmax を待ち時間に設
定する。
【0062】R1=R2の場合は、平均時間Tavを待
ち時間に設定する。 R1<R2の場合は、最小時間Tmin を待ち時間に設
定する。 図6は、図5の磁気テープ制御ユニット10における起
動時間計測処理のタイムチャートである。いま、ホスト
コンピュータ14−2がスタートI/O要求100をポ
ートBに発行すると、このときポートAは使用されてい
ないことから、正常終了を示す結合完了応答102が返
され、チャネルBおよびポートBが転送処理104,1
06を行う。
【0063】この転送処理104,106の間に、低速
チャネルAからスタートI/O要求108が行われたと
すると、低速ポートAからビジィ応答110が返され
る。転送処理が済むと、高速ポートBよりユニットエン
ド112が高速チャネルBに報告され、続いて低速ポー
トAよりビジィ解除待ちにある低速チャネルAに対しビ
ジィエンド114が出される。このビジィエンド114
に対し低速チャネルAはビジィ解除を認識し、スタート
I/O116を発行する。
【0064】図5のタイマ58は、この低速ポートAに
おけビジィエンド114からスタートI/O要求116
を受けるまでの時間T1を起動時間として計測する。ス
タートI/O要求116を受けた低速ポートAは、正常
終了を示す結合完了応答118を出し、低速チャネルA
および低速ポートAで転送処理120,122を行う。
【0065】この転送処理120,122の間に、高速
チャネルBからスタートI/O要求124が行われたと
すると、高速ポートBからビジィ応答126が返され
る。転送処理が済むと、低速ポートAよりユニットエン
ド128が低速チャネルAに報告され、続いて高速ポー
トBよりビジィ解除待ちにある高速チャネルBに対しビ
ジィエンド130が出される。このビジィエンド130
に対し高速チャネルBはビジィ解除を認識し、スタート
I/O132を発行する。
【0066】図5のタイマ60は、この高速ポートBに
おけビジィエンド130からスタートI/O要求132
を受けるまでの時間T2を起動時間として計測する。図
7は、起動時間計測記憶部48の記憶時間を使用したル
ート制御部46による入出力制御である。いま高速チャ
ネルBからスタートI/O要求142が高速ポートBに
行われ、結合完了応答114により転送処理145,1
46を行っている間に、低速チャネルAからスタートI
/O要求148があると、これはビジィ応答150とな
る。
【0067】この低速チャネルAがビジィ解除待ちの状
態で転送処理145,146が終了してユニットエンド
146が出され、これに伴い低速ポートAからビジィエ
ンド156が出されると、起動時間T1に基づいた待ち
時間Tの設定を行う。待ち時間T0 の間に、高速チャネ
ルBから高速ポートBに対しスタートI/O要求156
が先に行われる。しかし、待ち時間T0 のに中にあるの
で、スタートI/O要求156は受け入れられず、待た
される。
【0068】続いて低速チャネルAは、ビジィエンド1
54を受けてからT1´時間後にスタートI/O要求1
58を出す。このとき磁気テープ制御ユニット10は、
待ち時間Tの設定で低速ポートAに対する起動要求を優
先させる待ち時間Tの間にあり、スタートI/O要求1
58を受け入れて結合完了応答160を返し、転送処理
162,164に入る。
【0069】続いて高速ポートBより高速チャネルAに
対し、スタートI/O要求156に対するビジィ応答1
66を返す。転送処理162,164が済むとユニット
エンド168を出し、またビジィエンド170を出す。
そして、高速チャネルBと高速ポートBの結合による転
送処理174,174を行う。このように、高速ポート
Bに対する起動要求の受付時に低速ポートA側の起動時
間に亘る待ち時間Tを設けて、低速ポートAに対する起
動要求を待って処理を行うことで、高速ポートBに対す
る起動要求が連続していても、低速ポートAに対する起
動要求があればこれを正常に受け付けて処理することが
でき、高速ポートB側にサービスが偏ってしまうことを
防止できる。
【0070】図8は、図5の磁気テープ制御ユニット1
0における起動時間およびビジィ率を用いた入出力制御
処理のフローチャートである。ステップS1で起動要求
があると、ステップS2に進み、高速ポートか否かチェ
ックする。高速ポートであればステップS3に進み、例
えば低速ポートで計測した起動時間T1を待ち時間Tと
してタイマにセットし、ステップS4で起動時間T1が
タイムアウトするまで、ステップS5で低速ポートに対
する起動要求をチェックする。
【0071】起動時間T1の間に低速ポートに起動要求
があったことがステップS5で判別されると、ステップ
S6に進んで、低速ポートを低速チャネルに結合して、
転送処理を開始する。同時に、ステップS7で高速ポー
トから高速チャネルにビジィ応答を行う。低速側での転
送処理の終了がステップS8で判別されると、ステップ
S9でユニットエンドを低速ポートから出し、次にビジ
ィエンドを高速ポートから出す。このため、ビジィ解除
待ちにある高速ポートから再度、起動要求が行われ、再
びステップS1の処理となる。
【0072】一方、ステップS2で低速ポートからの起
動要求が判別された場合には、ステップS10に進み、
高速ポートが結合中にないことを条件に、低速ポートを
チャネルに結合して転送制御を行う。もし高速ポートが
結合中であれば、低速ポートより制御ユニットエンドを
応答し、高速ポートの結合終了による制御ユニットエン
ドの応答を待って低速ポートに再度起動要求を行わせる
通常の処理となる。
【0073】図9のフローチャートは図5の起動時間計
測記憶部48の処理動作であり、ポートA,Bごとに独
立して処理動作を行う。例えばポートAを例にとると、
ステップS1でビジィエンドの応答を判別し、ステップ
S2に進んで、タイマをスタートする。続いてステップ
S3で、ポートAに対する起動要求の受信をチェックし
ており、起動要求を受信するとステップS4に進み、ス
テップS2で起動したタイマを停止する。
【0074】続いてステップS5で、タイマに保持され
ている時間を起動時間として取り込んで記憶する。次に
ステップS6で、今回計測した起動時間を含めた平均時
間Tavを算出し、ステップS7で、最小時間の条件を満
足すれば現在の最小時間Tmin を更新し、またステップ
S8で、最大時間の条件を満足すれば最大時間Tmaxを
更新する。
【0075】図10のフローチャートは、図8のステッ
プS3で低速ポートの起動時間T1をタイマにセットす
る際の詳細を示す。まずステップS1で、起動要求を受
けた高速ポートBのビジィ率R2と、要求待ちにある低
速ポートAのビジィ率R1を算出する。このビジィ率R
1,R2のそれぞれは、図4のポートA,Bのそれぞれ
に設けたビジィ数カウンタ56,62の計数値を起動数
カウンタ54,60の計数値で割って得たビジィ率計測
記憶部50に格納している値である。続いてステップS
2で、低速ポートAのビジィ率R1と高速ポートBのビ
ジィ率R2の大小関係を比較する。低速ポートのビジィ
率R1が高速ポートのビジィ率R2より大きければ、ス
テップS3に進み、起動時間計測記憶部48に格納して
いる低速ポートAの起動時間の内の最大時間Tmax を待
ち時間としてセットする。低速ポートのビジィ率R1と
高速ポートのビジィ率R2が等しい場合には、ステップ
S4で低速ポートの起動時間の平均時間Tavを待ち時間
にセットする。更に、低速ポートのビジィ率R1が高速
ポートのビジィ率R2より小さいときは、ステップS5
に進み、低速ポートの起動時間の内の最小時間Tmin を
待ち時間にセットする。
【0076】尚、図10による高速ポートと低速ポート
のビジィ率に基づいた起動時間の待ち時間へのセットに
限定されず、高速ポートのビジィ率と低速ポートのビジ
ィ率がほぼ等しくなるように待ち時間を決める適宜の方
式を採用することができる。例えば、低速ポートの起動
時間として平均時間Tavのみを使用し、ステップS3,
S5の最大時間または最小時間の代わりに平均時間に所
定の重み係数を掛け合わせた時間を求めてセットするよ
うにしてもよい。
【0077】図11は本願第1発明の変形実施例であ
る。この実施例は、高速ポートのユニットエンドの際
に、低速ポートから低速チャネルにビジィエンドを応答
してから起動要求を受信するまでの起動時間を計測し、
その後の高速ポートBに対する高速チャネルからの起動
要求を、計測した起動時間に亘り待たせ、その間に低速
ポートに対する低速チャネルから処理要求を受け付ける
ようにしたことを特徴とする。
【0078】図11において、低速ポートAに対しては
起動時間計測部230が設けられる。起動時間計測部2
30は、図6のタイムチャートと同様に、低速ポートA
が低速チャネルAにビジィエンドを出してからスタート
I/O要求(起動要求)を受けるまでの起動時間Tを計
測する。待ち時間決定部232は、起動時間計測部23
0の計測時間Tに基づいて、ルート制御部46における
待ち時間T0 を設定する。この待ち時間T0 の設定は、
計測時間Tと同じ時間あってもよい。
【0079】また計測時間Tに応じて待ち時間T0 を可
変設定してもよい。通常、計測時間Tに対し実際の待ち
時間T0 を長めにした方が、低速側へのサービスの割付
けが有効にできるので、例えば計測時間Tに1以上の所
定の係数Kを掛け合せた待ち時間T0 を可変設定する。
更に、待ち時間T0 をオペレータの入力操作により設定
してもよい。このため待ち時間決定部232に対し、外
部に表示部234と入力部236が設けられる。表示部
234と入力部236の機能は、図4のデバイスインタ
フェース25、CRT35及びキーボード45で実現さ
れる。
【0080】オペレータは、入力部236の操作で待ち
時間決定部323に設定された現在の待ち時間T0 を表
示部234に読出し表示し、そのときの各チャネルのビ
ジィ状態やホストコンピュータの運用形態を考慮し、任
意の待ち時間T0 を入力し、待ち時間決定部232に設
定する。ルート制御部46は、高速ポートBの転送終了
でユニットエンドを応答すると、待ち時間設定部232
から与えられる待ち時間T0 に亘り、高速ポートBに起
動要求があってもビジィ応答を出して待たせる。この待
ち時間T0 の間に、低速ポートAに起動要求があれば、
直ちに受け付けて転送処理を行う。
【0081】待ち時間T0 がタイムアップするか、又は
低速ポートAの転送終了でユニットエンドとなると、高
速ポートBからビジィエンドを出し、高速チャネルに再
度起動要求を行わせて受け付けることになる。 3.ビジィ応答−ビジィエンドの循環チェック処理 図12は本願の第2発明の実施例である。この実施例
は、高速ポートでの連続的な起動要求により、低速ポー
ト側がビジィエンド(ビジィ解除応答)に基づく起動要
求に対しビジィ応答を繰り返してしまうビジィ応答−ビ
ジィエンドの循環状態を検出して、低速ポートに優先的
にサービスを割り付けるようにしたことを特徴とする。
【0082】磁気テープ制御ユニット10の低速ポート
Aおよび高速ポートBのそれぞれには、カウンタ64,
66が設けられる。カウンタ64,66は、ビジィエン
ドの応答と、応答したビジィエンドに基づく起動要求に
対するビジィ応答が行われることで1つカウントアップ
される。即ち、1回のビジィ応答−ビジィエンドの循環
を検出してカウントアップする。
【0083】循環数判定部68は、カウンタ64,66
の計数値、即ちビジィ応答−ビジィエンドの循環回数が
所定値に達したか否か判定している。循環数判定部68
でカウンタ64またはカウンタ66の計数値が所定値に
達したことが判定されると、この判定出力を受けてルー
ト制御部46が、循環数が所定数を越えたポートAまた
はポートBに対し優先的に起動要求を受け付けるように
制御する。
【0084】図13のフローチャートは、図12の処理
動作である。まずステップS1で、ポートAまたはポー
トBに対する起動要求の有無をチェックしている。起動
要求があると、他のポートと結合中にないことを条件に
チャネルに結合して転送処理を行う。ステップS3で転
送処理を終了すると、ステップS4でユニットエンドを
応答する。
【0085】このときビジィ応答を行っていたポートが
あれば、そのポートからビジィエンドを応答する。この
ため、他のポートでもしステップS2の結合による転送
中に起動要求が行われてビジィ応答が済んでいると、ス
テップS4のビジィエンドで図12に示した対応するカ
ウンタがビジィ応答−ビジィエンドの循環数を1つカウ
ントアップすることになる。
【0086】次にステップS5で、ビジィ応答−ビジィ
エンドの循環数が一定値を越えるポートがあるか否かチ
ェックする。もし一定値を越えるポートがあった場合に
は、ステップS6に進み、一定値を越えるポートに対し
起動要求の優先処理を割り付ける。そしてステップS7
で起動要求を判別すると、ステップS8で優先割付けポ
ートか否かチェックし、優先割付けポートでなければ、
ステップS12でビジィ応答を返す。
【0087】この結果、優先割付けポートに対する起動
要求のみが受け付けられて、ステップS9でチャネルバ
スとの結合により転送処理が行われることになる。ステ
ップS10で優先割付けポートの転送処理が終了する
と、ステップS11で、優先割付けポートに設けている
循環数カウンタをリセットし、ユニットエンドを応答す
る。このときステップS12でビジィ応答により待ち状
態となっている他のポートがあれば、そのポートからビ
ジィエンドを出して起動要求を行わせる。 4.時系列処理 図14は、本願の第3発明の実施例である。この第3発
明の実施例は、あるポートの結合中における他のポート
のビジィ応答の時刻を記憶しておき、結合終了時にビジ
ィ応答時刻の最も古いポートに優先的にサービスを割り
付けるようにしたことを特徴とする。
【0088】磁気テープ制御ユニット10には、ポート
A,ポートBおよびルート制御部46に加えて、ビジィ
応答時刻記憶部70と処理ポート決定部72が設けられ
る。ビジィ応答時刻記憶部70は、ポートAまたはポー
トBの結合中に他のポートに起動要求が行われてビジィ
応答を行った時刻を記憶する。この実施例は、ポート
A,ポートBの2つであることから、ポートAの結合中
はポートBの応答時刻を記憶し、ポートBの結合中はポ
ートAの応答時刻を記憶する。
【0089】処理ポート決定部72は、結合中のポート
の転送処理が終了してユニットエンドを応答した際に、
ビジィ応答時刻記憶部70を参照し、記憶しているビジ
ィ応答時刻の中の最も古い時刻をもつポートを、次に起
動要求を優先的に処理ポートとして決定して、ルート制
御部46に通知する。ルート制御部46は、処理ポート
決定部72で決定されたポートからの起動要求を優先的
に処理する。
【0090】この実施例では、ポートA,ポートBの2
つしかないことから、ポートAの結合中にポートBがビ
ジィ応答を行うと、処理ポート決定部72は次に優先受
け付けるポートとしてポートBを決定し、ルート制御部
46はポートAからの起動要求に対してはビジィ応答を
行い、ポートBからの起動要求のみを受け付ける。この
結果、ポートAが低速ポート、ポートBが高速ポートで
あっても、それぞれの連続した起動要求に対し、ルート
制御部46は交互に起動要求を受け付けることができ、
低速ポートAと高速ポートBのビジィ率をほぼ均一にす
ることができる。
【0091】実際には図3の実施例のように、磁気テー
プ制御ユニット10にはポートA〜Hの8つのポートが
設けられており、この場合には、あるポートの結合中に
残り7つのポートのいずれかに起動要求があれば、その
ときのビジィ応答時刻が記憶される。そして、現在の転
送処理が終了してユニットエンドとなった場合には、複
数のビジィ応答時刻の中の最も古い時刻をもつポートか
らビジィエンドを出すことで、起動要求の受付けが割り
付けられることになる。
【0092】図15のフローチャートは、図14の処理
動作である。ステップS1で、複数のポートに対する起
動要求を監視しており、特定のポートに起動要求がある
と、ステップS2で、ポートをチャネルバスに結合して
転送処理を行う。ステップS3で転送処理の終了をチェ
ックしており、転送を終了すると、ステップS4で、結
合中のポートからユニットエンドを応答する。
【0093】このステップS1〜S4において、あるポ
ートの結合中に他のポートから起動要求があれば、ビジ
ィ応答時刻記憶部70に応答時刻が記憶されている。そ
こで、ユニットエンドを応答した後のステップS5で、
ビジィ応答時刻の中から最も古い時刻のポートを処理ポ
ートとして決定し、ステップS6で、決定ポートからビ
ジィエンドを出す。このビジィエンドを受けたビジィ解
除待ちチャネルは、起動要求を再度発行する。
【0094】続いてステップS7で起動要求をチェック
しており、起動要求があると、ステップS8で優先割付
けポートか否かチェックする。優先割付けポートでなけ
れば、ステップS12でビジィ応答を返す。この結果、
優先割付けポートに対する起動要求のみが受け付けら
れ、ステップS9で、チャネルバスに結合して転送処理
が行われる。
【0095】ステップS10で転送処理の終了が判別さ
れると、ステップS11で、処理ポートのビジィ応答時
刻をリセットし、ユニットエンドを応答してステップS
13に戻り、ビジィ応答時刻の記録が残っていれば再び
ステップS5に戻り、残っているビジィ応答時刻の中の
最も古い応答時刻をもつポートを処理ポートとして決定
してビジィエンドを出す処理を繰り返す。ビジィ応答時
刻が残っていなければ、再びステップS1に戻る。 5.再試行割込み処理その1 図16は、本願の第5発明の実施例である。この第5発
明の実施例は、あるポートがチャネルとの結合中に他の
ポートに起動要求が来たら、ビジィを応答する代わりに
チャネル動作の再試行を要求するステータスを応答し
て、現在処理中の転送処理が終了したら、再試行要求を
ステータス応答したチャネルに対し再試行開始の割込み
要求を行って、再結合するようにしたことを特徴とす
る。
【0096】磁気テープ制御ユニット10には、ポート
A,ポートBおよびルート制御部46に加えて再試行割
込み処理部74が設けられる。再試行割込み処理部74
は、例えばポートAの結合中にポートBに起動要求が来
たら、通常はビジィ応答を返していたが、この第4発明
にあっては、チャネル動作の再試行を要求するステータ
スを応答し、ポートBのチャネルバスとの結合を一旦切
り離す。
【0097】次に、ポートAの結合による転送処理が終
了してユニットエンドが応答されたら、再試行要求のス
テータスを応答したチャネルBに対し再試行開始の割込
み要求を行って再結合する。このような再試行割込み処
理部74による起動要求に対する再試行要求ステータス
の応答を受けたチャネル装置は、チャネル動作の再試行
開始の待ち状態に入り、その後、再試行開始の割込み応
答を受けると、再度、起動要求からのコマンドシーケン
スを開始して再結合する。
【0098】このような再試行割込み処理部74の処理
により、磁気テープ制御ユニット10側でどのポートと
再結合するか決定でき、各ポートに対し平均したサービ
スを提供できる。例えば、高速ポートBの起動要求が連
続しており、高速ポートBの結合中に低速ポートAに起
動要求があると、再試行割込み処理部74は再試行要求
ステータスを応答し、ポートAに対するチャネル側を再
試行待ち状態とする。
【0099】高速ポートBの転送処理が終了してユニッ
トエンドを応答すると、再試行割込み処理部74は低速
ポートAを経由して、対応するチャネル装置側に再試行
開始の割込み要求を行って再結合し、再試行開始の割込
みを受けたチャネル装置から起動要求を再発行し、一連
のコマンドシーケンスに従った転送処理を行う。この結
果、高速ポートB側に起動要求が連続しても、高速ポー
トBの結合中に生じた低速ポートAの起動要求がビジィ
応答として排除されず、割込みにより強制的に低速ポー
トAの起動要求が受け入れられ、低速ポートAと高速ポ
ートBに平均してサービスを提供できる。
【0100】図17は、図16で高速ポートBの結合中
に低速ポートAに起動要求があった場合の処理である。
まず高速チャネルBよりスタートI/O要求200が高
速ポートBに対し行われると、結合完了応答202を行
った後、転送処理204,206が行われる。この転送
中に低速チャネルAより低速ポートAにスタートI/O
要求208があると、再試行割込みステータス応答21
0が行われ、低速チャネルAは再試行起動待ちに入る。
【0101】転送処理204,206が終了して制御ユ
ニットエンド212が出されると、これに伴って低速ポ
ートAより低速チャネルAに対し再試行開始割込み通知
214が行われ、再試行開始待ち状態にある低速チャネ
ルAより再度、スタートI/O要求216が発行され
る。これに対し再結合により結合完了応答218が出さ
れ、低速チャネルAと低速ポートAの間の結合で転送処
理220,222が行われる。転送処理が終了すると、
制御ユニットエンド224が出される。
【0102】図18のフローチャートは、図16の実施
例の処理動作である。まずステップS1で、起動要求の
有無をチェックしており、特定のポートに起動要求があ
ると、ステップS2に進み、他のポートが結合状態にな
いことを条件に、チャネルと結合して転送処理を行う。
転送中はステップS3で転送終了が判別されるまで、ス
テップS4で他のポートに起動要求があるか否かチェッ
クしている。
【0103】もし起動要求があると、ステップS5に進
み、起動要求を行ったチャネル装置に対し、ステップS
5で、再試行ステータスを応答するか否かチェックす
る。ここで、現在結合中のポートが低速ポートであり、
結合中に起動要求を受けたポートが高速ポートであった
場合には、優先的に処理する必要がないことから、ステ
ップS7でビジィ応答を返す。
【0104】一方、現在結合中のポートが高速ポートで
あり、結合中に起動要求を受けたポートが低速ポートで
あった場合には、優先的に処理する必要があることか
ら、ステップS6に進み、再試行ステータスを応答す
る。ステップS7で転送終了が判別されると、ステップ
S8に進み、結合中のポートからユニットエンドを応答
する。続いてステップS9で、転送中に再試行ステータ
スの応答を行ったか否かチェックし、もし行っていれ
ば、ステップS10で、再試行ステータスの応答を行っ
た他のポートから再試行開始の割込み要求を発行する。
【0105】もし転送中に再試行ステータスを応答して
いなければ、ステップS11で、ビジィ応答を行った他
のポートからユニットエンドを応答し、再びステップS
1に戻る。尚、上記の第4発明の実施例は、低速ポート
Aと高速ポートBの2つのポートを例にとっているが、
図4に示したように、ポートA〜Hの8つの場合につい
ても同様に適用できる。ポートが3以上となった場合に
は、あるポートの結合中に他の複数のポートで割込み要
求を受ける場合があることから、割込み要求に対する再
試行割込み処理に優先順位を付け、その優先順位に従っ
て再試行開始の割込み通知を行えばよい。 6.再試行割込み処理その2 図19は、本願の第5発明の第1実施例である。この第
5発明にあっては、あるポートの結合中に所定の割込み
条件が成立したら、現在結合中のポートからチャネルに
対し再試行要求のステータスを応答して、一旦結合を切
り離す。次に、全てのポートに関しビジィ応答の状況、
例えば最も新しいビジィ応答時刻やビジィ回数をチェッ
クするか、あるいは割込み要求を解析し、どのポートに
対するサービスを優先させるかを決定する。そして優先
処理を決定したポートからユニットエンドを応答して、
優先的に転送処理を行う。転送処理が終了したら、結合
を切り離したポートから再試行開始の割込み要求を行っ
て再結合し、一度中断した処理を再開する。
【0106】図19の第1実施例は、割込み条件として
一定の時間間隔で割込みを発生させるようにしたことを
特徴とする。磁気テープ制御ユニット10には、ポート
A,ポートBおよびルート制御部46に加えて、割込み
タイマ80、ビジィ応答記憶部82および再試行割込み
処理部76が設けられる。割込みタイマ80は、予め定
めた一定の時間間隔で再試行割込み処理部76にタイマ
出力を生じ、割込み処理を行わせる。
【0107】ビジィ応答記憶部82には、ポートAとポ
ートBのビジィ状態を示す情報として例えば最新のビジ
ィ応答を行った時刻およびビジィ回数が記憶されてい
る。再試行割込み処理部76は、例えば高速ポートBの
結合中に割込みタイマ80のタイムアウトで割込み動作
を開始し、現在結合中にある高速ポートBよりチャネル
装置に対し再試行要求のステータスを応答して、一旦結
合を切り離す。
【0108】高速ポートBとの結合を切り離した後、ビ
ジィ応答記憶部82に記憶している全ポート、即ちポー
トA,ポートBのそれぞれのビジィ状態、例えばビジィ
応答の最新時刻とビジィ回数を参照し、どのポートに対
するサービスを優先すべきかを決定する。例えば、現在
高速ポートBについては処理中であることから、他のポ
ートとなる低速ポートAについてのビジィ時刻が最も古
い時刻で、またビジィ回数がある値を示しているため、
再試行割込み処理部76は低速ポートAを優先的な処理
ポートと決定する。
【0109】処理ポートを決定すると再試行割込み処理
部76は、ルート制御部46を通じて、決定した処理ポ
ートAよりチャネル装置に対しユニットエンドを応答さ
せる。このポートAからのユニットエンドを受けて、そ
れまでのビジィ応答により待ち状態にあるチャネル装置
より起動要求が低速ポートAに対し行われ、有効に結合
されて転送処理を行う。
【0110】低速ポートA側の転送処理が終了してユニ
ットエンドが応答されると、再試行割込み処理部76
は、処理を中断して切り離していた高速ポートBよりチ
ャネル装置に対し再試行開始の割込み要求を発行する。
この割込み要求を受けて、チャネル装置より高速ポート
Bに対し起動要求が行われ、一旦中断された転送処理が
再開される。また、低速ポートAの優先的な処理を終了
してユニットエンドを発行したときに、同時にビジィ応
答記憶部82の低速ポートAに関するビジィ応答時刻お
よびビジィ回数はリセットされる。
【0111】図20のタイムチャートは、図19の再試
行処理の動作である。まず、高速チャネルBよりスター
トI/O要求300が高速ポートBに対し行われ、他の
低速ポートAが結合中にないことから、正常終了として
の結合完了応答302が返され、高速チャネルBおよび
高速ポートBは転送処理304,306を行う。この転
送処理中に割込みタイマによるタイマ割込み308が発
生すると、高速ポートBより高速チャネルBに対し再試
行ステータス応答310を出して、結合を切り離す。
【0112】結合の切離し後に、全ポートA,Bについ
てビジィ応答の状態をチェックし、このとき低速ポート
A側にビジィ応答があった場合には、優先的に処理する
ポートとして低速ポートAを決定する。そして優先処理
を決定したポートAより低速チャネルAに対しユニット
エンド314を発行し、低速チャネルAからスタートI
/O要求316を発行させる。
【0113】スタートI/O要求316は低速ポートA
で正常に受け入れられ、結合完了応答318を返した
後、低速チャネルAと低速ポートAの間で転送処理32
0,322が行われる。この転送処理が終了すると、低
速ポートAよりユニットエンド324が応答され、次に
結合を一旦切り離していた高速ポートBから高速チャネ
ルBに対し再試行開始割込みの通知326が行われる。
【0114】このため、再試行待ち状態にあった高速チ
ャネルBからスタートI/O要求328が出され、高速
ポートBで受け付けられて正常終了となって結合完了応
答330を返し、一旦中断した転送処理を転送処理33
2,334として再開する。再開した転送処理が終了す
れば、ユニットエンド336を高速ポートBから発行す
る。
【0115】このように割込み条件の成立時に、磁気テ
ープ制御ユニット側で現在の結合を切り離してビジィ状
態に応じて優先的に処理すべきポートを決定して割込み
的に転送処理を行わせることで、高速ポートに対する起
動要求が連続するような場合にも、低速ポート側につい
てビジィ−ユニットエンドの循環を防止することができ
る。図21のフローチャートは、図18の割込みタイマ
を用いた再試行割込み処理の処理動作である。まずステ
ップS1で、各ポートに対する起動要求の有無をチェッ
クしており、あるポートに起動要求があると、ステップ
S2に進み、他のポートと結合状態にないことを条件
に、チャネルと結合して転送処理を開始する。
【0116】転送中は、ステップS3で転送終了が判別
されるまで、ステップS4で割込みタイマのタイムアッ
プを監視している。転送中に割込みタイマがタイムアッ
プしたら、ステップS5に進み、現在結合中のポートか
ら再試行要求のステータス応答を行って結合を切り離
す。次にステップS6で、全ポートのビジィ応答の要因
例えば時刻と回数を解析して、優先処理ポートを決定す
る。
【0117】ステップS7では、決定した優先処理ポー
トとステップS5で切り離した切離しポートとが同一ポ
ートか否かチェックする。同一ポートでなければ、ステ
ップS8で、決定ポートからチャネルに対しユニットエ
ンドを応答し、これに伴う起動要求をステップS9で受
けて、ポートを結合して転送処理を行う。続いてステッ
プS10で、割込みによる転送処理が終了すると、ステ
ップS11で、ユニットエンドを応答して結合を切り離
し、次にステップS12で、結合切離しにより再試行開
始待ち状態にあるチャネル装置に対し、結合切離しポー
トから再試行開始の割込み要求を行う。
【0118】この割込み要求を受けて、再試行開始待ち
状態にあるチャネル装置より起動要求が再度行われ、こ
れがステップS1で判別されて、ステップS2で再びポ
ートとチャネルを結合して転送処理を再開する。再開し
た転送処理の終了がステップS3で判別されると、ステ
ップS13でユニットエンドを応答して、一連の転送処
理が終了する。
【0119】一方、ステップS6で全ポートのビジィ応
答の要因を解析して決定された最優先処理ポートが、ス
テップS5で結合を切り離したポートと同一ポートであ
った場合には、直ちにステップS12に進んで、切離し
ポートから再試行開始の割込み要求を行って、再結合に
よる転送処理を直ちに再開する。この図21のフローチ
ャートから明らかなように、図19の高速ポートBの結
合中に割込みタイマによる割込み条件が成立すると、ビ
ジィ待ちにある低速ポートAの優先処理が決定されて、
割込みにより低速ポートA側の転送処理を終了し、その
後に高速ポートBの中断した転送処理を再開することに
なる。
【0120】また、低速ポートA側の処理中に割込みタ
イマによる割込み条件が成立した場合には、ビジィ応答
回数が低速ポート側に偏っていれば、最優先処理ポート
として切離しポートと同じ低速ポートAが再び最優先処
理ポートに決定され、この場合には直ちに再結合のため
の再試行開始の割込み要求によって中断した低速ポート
Aでの転送処理が再開される。勿論、状況によっては低
速ポートの処理中に高速ポート側の転送処理が優先的に
処理されるケースもあり得る。
【0121】また図19〜図21の実施例は、ポート
A,Bの2つを例にとっているが、図5に示したよう
に、実際には磁気テープ制御ユニット10には8つのポ
ートA〜Hが設けられており、再試行割込み処理部76
は割込みタイマによる割込み通知を受けた際に8つのポ
ートA〜Hに関するビジィ応答の状態をチェックして、
優先処理を行うポートを決定することになる。
【0122】図22は本願の第5発明の第2実施例であ
り、この実施例は、各ポートで一定の回数のコマンド処
理を実行したことで割込み条件が成立したものと判断し
て再試行割込み処理を実行するようにしたことを特徴と
する。図22において、磁気テープ制御ユニット10に
は低速ポートA、高速ポートB、ルート制御部46、再
試行割込み処理部76、ビジィ応答記憶部82およびコ
マンドカウンタ84,86を設けている。コマンドカウ
ンタ84は、低速ポートAのコマンド実行回数を計数す
る。コマンドカウンタ86は、高速ポートBのコマンド
実行回数を計数する。
【0123】再試行割込み処理部76は、コマンドカウ
ンタ84または86の計数値が予め定めた一定回数に達
すると再試行割込み処理を実行する。例えば高速ポート
Bの結合による転送処理で一連のコマンドシーケンスが
実行されており、コマンドカウンタ86でコマンド実行
に伴ってカウントアップが行われる。このときの計数値
が一定回数を越えたことを再試行割込み処理部76が判
定すると、現在結合中のポートBよりチャネル装置に対
し再試行要求のステータス応答を行って結合を切り離
す。
【0124】結合を切り離した後、再試行割込み処理部
76は、ビジィ応答記憶部82を参照し、全てのポート
A,Bについてのそれまでのビジィ応答の状況をチェッ
クする。具体的には、ポートA,Bの各々におけるビジ
ィ応答の最新応答時刻およびビジィ回数をチェックす
る。そしてビジィ応答時刻が古くビジィ応答回数の多い
ポートを最優先処理を行うポートとして決定する。この
場合には、低速ポートAを最優先処理ポートに決定す
る。
【0125】この決定を受けてルート制御部46は、低
速ポートAよりチャネル装置にビジィエンドを応答し、
ビジィエンドを受けたチャネル装置より起動要求を低速
ポートAに対し行わせ、ポートAの結合により転送処理
を行う。低速ポートAの割込みによる転送処理が終了す
ると、低速ポートAからのユニットエンドの応答に続い
て再試行割込み処理部76は、高速ポートBより再試行
開始の割込み要求を行い、ポートBを結合して、中断し
た転送処理を再開する。
【0126】再試行割込み処理の詳細は、コマンドカウ
ンタ84,86でポートA,Bのコマンド実行回数を計
数し、このコマンド実行回数が一定値に達したときに再
試行割込み処理を開始する以外は、図19〜図21に示
した第1実施例と同じになる。図23は本願の第5発明
の第3実施例であり、この実施例は各ポートのビジィ率
が一定値に達したときに再試行割込み処理を行うように
したことを特徴とする。
【0127】図23において、磁気テープ制御ユニット
10には、低速ポートA、高速ポートB、ルート制御部
46、再試行割込み処理部76、ビジィ応答記憶部8
2、更にビジィ率演算部88が設けられる。ビジィ率演
算部88は、図4の実施例に示した起動数カウンタ5
4,60、ビジィ数カウンタ56,62およびビジィ率
計測記憶部50で実現することができる。
【0128】再試行割込み処理部76は、ビジィ率演算
部88で演算される低速ポートAのビジィ率R1または
ポートBのビジィ率R2が、予め定めた一定値に達する
か否か判断している。ビジィ率R1またはR2が一定値
に達すると、再試行割込み処理を開始する。再試行割込
み処理は、図19の第1実施例および図22の第2実施
例と同じになる。
【0129】即ち、現在結合中のポートから再試行要求
のステータスを応答して、一旦結合を切り離し、ビジィ
応答記憶部82を参照して、最優先に処理すべきポート
を決定する。決定したポートに対してはビジィエンドを
発行して、起動要求を受け付けて転送処理を行う。割込
みによる転送処理が終了すると、切り離したポートに対
し再試行開始の割込み要求を行って再結合し、中断した
転送処理を再開する。
【0130】尚、第3実施例にあっては、ビジィ率が一
定値に達して再試行割込み処理が行われた場合、全ポー
トのビジィ応答の状況、即ちビジィ応答の時刻、ビジィ
回数から優先処理ポートを決定しているが、割込み要因
となったビジィ率そのものを分析して優先処理ポートを
決定してもよい。即ち、全ポートのビジィ率を分析し、
最もビジィ率の高いポートを優先処理ポートに決定すれ
ばよい。これは、割込み要因そのものの分析による優先
処理ポートの決定といえる。
【0131】図19の第1実施例および図22の第2実
施例についても、図23の第3実施例と同様、ビジィ率
演算部88を設けることで、再試行割込み処理の際に全
ポートのビジィ率を分析して、ビジィ率の最も高いポー
トを優先処理ポートに決定してもよい。 7.入出力ポートのインテリジェント化 図24は本願の第6発明の実施例であり、各ポートにコ
マンド解析機能を設け、他のポートの処理中に実行可能
なコマンドを解析して並列的に処理を行うようにしたこ
とを特徴とする。
【0132】図24において、磁気テープ制御ユニット
10には、低速ポートAに対しコマンド解析実行部92
が設けられ、またポートBに対しコマンド解析実行部9
4が設けられる。コマンド解析実行部92,94は、磁
気テープ制御ユニット10と下位の磁気テープドライブ
ユニット12−1,12−2に対し、独立した制御パス
98で制御信号を供給する。
【0133】これに対し、磁気テープドライブユニット
12−1,12−2側とのデータの転送はデータバス9
6により行われ、このデータバス96に対してはポート
AとポートBを切替えるためのデータルート制御部90
が設けられる。なお、既に説明した第1発明〜第5発明
の実施例にあっては、コマンド解析実行部とデータルー
ト制御部は1つのルート制御部として磁気テープ制御ユ
ニット10に設けられている。
【0134】ポートA,Bごとに設けたコマンド解析実
行部92,94は、起動要求に伴うチャネルとの結合で
受信されたコマンドを解析し、他のポートでデータ転送
中にあっても実行可能なコマンドか否かを判断する。他
のポートの結合によるデータ転送中に実行可能なコマン
ドとしては、磁気テープドライブユニット12−1,1
2−2側での磁気テープのロード動作、アンロード動
作、早送り動作、巻戻し動作などのモーション系のコマ
ンド、および磁気テープドライブユニット12−1,1
2−2側の動作状態を通知するためのセンス系のコマン
ドなどがある。これに対し、他のポート側の結合による
データ転送中に実行できないコマンドとしては、リード
コマンドおよびライトコマンドがある。
【0135】コマンド解析実行部92,94は、他のポ
ートの結合によるデータ転送中に起動要求を受けてモー
ション系またはセンス系のコマンドの受信を解析する
と、ビジィ応答を行わずに結合完了応答を出して受け付
け、モーション系またはセンス系のコマンドを実行す
る。この場合、他のポートの結合でデータ転送を行って
いる磁気テープドライブユニットと、並行して実行する
モーション系またはセンス系コマンドの磁気テープドラ
イブユニットとは、別ユニットでなければならない。ユ
ニットの区別はスタートI/O要求のコマンドパラメー
タとして受信されるドライブ機番でチェックする。
【0136】データ転送系と制御系およびセンス系が独
立に処理可能な磁気テープ制御ユニット10と磁気テー
プドライブユニット12−1,12−2側の間のデバイ
スバスとしては、図示の制御用バス98とデータ転送用
バス96の独立したバス以外に、コマンド処理とデータ
転送が同時に行えるような共通バス構成を用いることも
できる。
【0137】図25のフローチャートは、図24の処理
動作である。まずステップS1で、ポートに対する起動
要求をチェックしており、起動要求を受けると、ステッ
プS2で、そのポートをチャネルと結合してコマンドの
転送処理を行う。次にステップS3で、受信コマンドを
解析する。このコマンド解析によって、データ転送を伴
わないモーション系かまたはセンス系のコマンドかが判
る。
【0138】次のステップS4では、データ転送を伴わ
ないコマンドか、即ちモーション系のコマンドかまたは
センス系のコマンドかを判別する。モーション系コマン
ドまたはセンス系コマンドであれば、ステップS5に進
み、動作中の磁気テープドライブユニットがあるか否か
チェックする。動作中の磁気テープドライブユニットが
あれば、ステップS6で、受信コマンドの解析で得られ
たドライブ機番と現在動作中のドライブ機番が同一か否
かチェックする。
【0139】同一であれば、コマンドの如何に関わらず
実行することはできないため、ステップS10でビジィ
応答を返す。ドライブ機番が異なっていれば、モーショ
ン系コマンドまたはセンス系コマンドは実行可能である
ことから、ステップS7で受信コマンドを実行する。続
いてステップS8で、コマンド実行に伴う一連の転送処
理の終了を判別すると、ステップS9でユニットエンド
を応答して、再びステップS1に戻る。勿論、ビジィ応
答を行ったポートがあれば、ユニットエンドに伴ってビ
ジィエンドを応答する。
【0140】一方、ステップS4でデータ転送を伴うラ
イトコマンドまたはリードコマンドであった場合には、
ステップS11に進み、他のポートでデータ転送中か否
かチェックする。他のポートでデータ転送中にあれば、
データ転送はできないことから、ステップS12でビジ
ィ応答を返し、ステップS1に戻る。他のポートでデー
タ転送中でなければ、ライトコマンドまたはリードコマ
ンドは実行可能であることから、ステップS12でコマ
ンド実行に伴うデータ転送処理を行い、ステップS8で
転送終了を終了すると、ステップS9でユニットエンド
を応答して、再びステップS1の処理に戻る。
【0141】尚、前述した本願の第1発明〜第6発明の
各実施例にあっては、磁気テープを記憶媒体とした磁気
テープ制御ユニットおよび磁気テープドライブユニット
で構成された入出力サブシステムを例にとっているが、
これ以外の入出力装置として、光磁気ディスク装置、磁
気ディスク装置など、適宜の入出力装置を対象とした入
出力制御装置を含むものである。また本発明は、実施例
に示した数値による限定は受けない。
【0142】
【発明の効果】以上説明してきたように本発明によれ
ば、入出力制御装置の複数の入出力ポートを異なった転
送速度のチャネルバスによってホストコンピュータ側の
チャネル装置と接続していても、入出力要求に対するサ
ービスが特定のチャネルとポート間に偏ってしまうこと
を確実に防止でき、チャネル装置からの入出力要求が重
複しても、各入出力ポートに対するサービスをほぼ均一
に提供することができる。
【0143】このため、低速のチャネルとポート間で起
動要求がビジィ応答となってユニットエンドに対し起動
要求を再度行ってもビジィ応答となってしまうビジィ−
ユニットエンドのループ状態へ陥ることを確実に防止
し、ホストコンピュータの入出力要求に対する応答遅れ
でタイムオーバとなり、チェックコンディションとなる
事態を回避して、システム性能を保証することができ
る。
【図面の簡単な説明】
【図1】本願の第1〜3発明の原理説明図
【図2】本願の第4〜6発明の原理説明図
【図3】本発明が適用されるシステムの構成図
【図4】本発明の入出力制御ユニットのブロック図
【図5】第1発明の実施例のブロック図
【図6】図6の起動時間の計測のタイムチャート
【図7】図6の入出力処理のタイムチャート
【図8】図6の入出力処理のフローチャート
【図9】図6の起動時間計測のフローチャート
【図10】図6の待ち時間のタイマセットのフローチャ
ート
【図11】第1発明の変形実施例のブロック図
【図12】第2発明の実施例のブロック図
【図13】図12の入出力処理のフローチャート
【図14】第3発明の実施例のブロック図
【図15】図14の入出力処理のフローチャート
【図16】第4発明の実施例のブロック図
【図17】図16の入出力処理のタイムチャート
【図18】図16の入出力処理のフローチャート
【図19】第5発明の第1実施例のブロック図
【図20】図19の入出力処理のタイムチャート
【図21】図19の入出力処理のフローチャート
【図22】第5発明の第2実施例のブロック図
【図23】第5発明の第3実施例のブロック図
【図24】第6発明の実施例のブロック図
【図25】図24の入出力処理のタイムチャート
【図26】従来装置のブロック図
【図27】従来の入出力制御で起きるビジィ−ユニット
エンドの循環のタイムチャート
【図28】入出力ポートにクロックに同期したタイムス
ロットを割当てる従来制御の説明図
【符号の説明】
10:磁気テープ制御ユニット(入出力制御装置) 12−1〜12−8:磁気テープドライブユニット(入
出力装置) 14−1〜14−8:ホストコンピュータ(上位装置) 16−1〜16−8:チャネル装置 18−1〜18−8:チャネルバス 20−1〜20−8:入出力ポート(ポート) 22:デバイスバス 24:ホストインタフェース部 25:デバイスバス 26:バッファメモリ 28:フォーマッタ部 30:通信情報メモリテーブル 32,38:MPU 34,40:ファームウェア 35:CRT 36:インタフェースプロセッサ 42:フォーマットプロセッサ 44:内部バス 45:キーボード 46:ルート制御部 48:起動時間計測記憶部 50:ビジィ率計測記憶部 52,58:タイマ 54,60:起動数カウンタ 56,62:ビジィ数カウンタ 64,66:カウンタ 68:ビジィ−ユニットエンド循環数判定部(判定部) 74,76:再試行割込み処理部 80:割込みタイマ 82:ビジィ応答記憶部 90:データルート制御部 92,94:コマンド解析実行部 96:データバス 98:制御バス
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年7月24日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 入出力制御装置及び入出力制御方
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ホストコンピュータ側
の複数のチャネル装置を複数の入出力ポートに個別に接
続して入出力要求を処理する入出力制御装置に関し、特
に、転送速度の異なるチャネルバスを使用した入出力制
御装置及び入出力制御方法に関する。
【0002】
【従来の技術】図26は、磁気テープ装置を用いた入出
力サブシステムの一例である。入出力サブシステムは、
入出力制御ユニットとして機能する磁気テープ制御ユニ
ット410と、入出力装置として機能する複数の磁気テ
ープドライブユニット412−1〜412−4で構成さ
れる。磁気テープドライブユニット412−1〜412
−4には、デバイス機番#1〜#4が定義される。
【0003】磁気テープ制御ユニット410は例えば2
つの入出力ポート420−1,420−2をもつ。入出
力ポート420−1,420−2にはポート番号A,B
が定義される。入出力ポート420−1,420−2に
はホストコンピュータ414−1,414−2のチャネ
ル装置416−1,416−2がチャネルバス418−
1,418−2を介して接続される。チャネル装置41
6−1,416−2にはチャネル番号A,Bが定義され
る。尚、以下の説明は、単にチャネルA,B及びポート
A,Bと表わす。
【0004】ホストコンピュータによる入出力動作を簡
単に説明する。例えばホストコンピュータ414−1で
磁気テープドライブユニット412−1にロードされた
磁気テープに対する入出力要求、例えばライト要求が発
生したとする。ホストコンピュータ414−1のチャネ
ルAは、まず入出力ポートAに対し磁気テープドライブ
ユニット412−1のデバイス機番#1を指定したスタ
ートI/O要求(起動要求)を発行する。
【0005】磁気テープ制御ユニット410は、ポート
AからのスタートI/O要求に対しポートBがチャネル
Bと結合中か否かチェックする。ポートBが結合中にな
ければ、ポートAに対するスタートI/O要求を受け入
れてチャネルAと結合し、スタートI/O要求の正常終
了を応答し、コマンドシーケンスの転送処理を行う。一
方、チャネルAからのスタートI/O要求をポートAで
受けた際に、チャネルBが結合中であった場合は、ビジ
ィ応答を返す。そして、チャネルBとポートBの結合に
よる転送処理が終了すると、ポートBからチャネルBに
ユニットエンドのステータス応答が行われ結合が切り離
される。これに伴ないポートAからチャネルAにもビジ
ィ解除を示すビジィエンドが行われ、ビジィ応答により
待ち状態にあるチャネルAから、再度、ポートAに対し
起動要求が行われる。
【0006】
【発明が解決しようとする課題】ところで、このような
複数のチャネルからの入出力要求を処理する入出力制御
装置にあっては、各チャネルの入出力要求に対し、ある
程度、均等にサービスを行う必要がある。しかし、チャ
ネルバスの転送速度が異なったり、電気チャネルバスや
光チャネルバスのようにチャネルによって異なった転送
プロトコルが採用されている場合、どうしても高速チャ
ネルのサービスへ偏る傾向になり、低速チャネルに対す
るサービスは低下する問題点があった。
【0007】またシステム環境として、高速ホストコン
ピュータと中・低速ホストコンピュータが混在している
場合が多く、更に、高速ホストコンピュータと中・低速
ホストコンピュータはクロスコール可能に接続されてい
る。このような場合にも、同様な問題が発生する。これ
を図26について説明すると次のようになる。例えばチ
ャネルAが低速チャネルであり、チャネルBが高速チャ
ネルであったとする。この場合の入出力制御は例えば図
27のタイムチャートのようになる。
【0008】いま高速チャネルBからスタートI/O要
求500をポートBに行い、正常終了による結合完了応
答502が得られると、高速チャネルBとポートB間で
のコマンドシーケンスの転送処理504,506が行わ
れる。この転送処理504,506の間に、低速チャネ
ルAからスタートI/O要求508をポートAに発行し
たとすると、ポートBが結合中にあるため、ビジィ応答
510が返される。
【0009】転送処理506が終了するとポートBから
ユニットエンド(Unit End)512が高速チャネルBに
返され、結合が解除される。このユニットエンド512
に伴ない、次にポートAからビジィ解除待ちにある低速
チャネルAにビジィ解除を示すビジィエンド514が返
される。ここでユニットエンド512を受けた高速チャ
ネルBで次の入出力要求が発生していたとすると、直ち
に高速チャネルBから起動要求としてのスタートI/O
要求516がポートBに出され、結合完了応答518を
経て再び転送処理520,522に入る。
【0010】一方、ビジィエンド514を受けた低速チ
ャネルAは、ビジィ解除を認識してスタートI/O要求
524をポートAに出す。しかし、ビジィエンド514
を出してからスタートI/O要求524がポートAで受
信されるまでに時間がかかり、この間に、高速チャネル
BからのスタートI/O要求516でポートBが結合中
になっている。このため低速チャネルAからのスタート
I/O要求524に対しポートAから再びビジィ応答5
26が出され、低速チャネルAは再度、ビジィ解除待ち
となる。
【0011】このため高速チャネルBに入出力要求が続
く限り、低速チャネルAはスタートI/O要求、ビジィ
応答、ビジィエンドのループ処理が繰り返され、入出力
要求が受け入れられずサービスの低下が発生する。最悪
の場合、このループ処理が長時間に亘ることで、低速チ
ャネルAのホストコンピュータは、チャネル装置や入出
力サブシステムに何らかの異常が起きたものと判断する
チェック・コンディションとなってしまう問題がある。
【0012】また制御方法によっては、高速チャネルか
らの入出力要求が連続した場合、低速チャネルAに対し
て高速チャネル側での結合終了に伴なうビジィエンドを
応答する時間も無くなり、ビジィ解除待ちにある低速チ
ャネルはいくら待ってもビジィエンドが得られず、ビジ
ィ解除待ちがタイムアウトとなって低速チャネルの入出
力要求がエラー終了となる事態も発生する。
【0013】このように特定のチャネルに入出力制御装
置のサービスが偏ってしまう問題を解決する方法とし
て、各入出力ポートが均等にサービスされるように、時
分割でルートの優先度を変化させる方法がある。図28
は入出力制御装置にポートA〜Hの8チャネルを設けた
場合であり、クロックによりポートA〜Hに順番に優先
度を割り当てていく。例えば時刻t0 で全入出力ポート
A〜Hに起動要求があった場合、このとき入出力ポート
Cのスロットにクロックがあって優先度を設定してお
り、入出力ポートCでの結合が受理される。それ以外の
入出力ポートについては、自動的にビジィ応答が報告さ
れる。
【0014】また時刻t0 で入出力ポートB,Eの2つ
に起動要求があったとすると、入出力ポートEのスロッ
トにクロックが変化した時刻t1 で入出力ポートEの結
合が受理され、入出力ポートBについては自動的にビジ
ィ応答が報告される。このような時分割でルートの優先
度を変化させる方法は、各チャネルバスが同一性能で、
且つ電気チャネルバス又は光チャネルバスといったプロ
トコルが同じ場合は有効である。しかし、転送速度が異
なったり、電気チャネルと光チャネルが混在したプロト
コルの異なる場合には、あまり有効ではない。
【0015】本発明の目的は、チャネルと入出力ポート
間のチャネルバス速度が異なっても、特定のポートに偏
ることなく均等に入出力処理をサービスできる入出力制
御装置及び制御方法を提供する。
【0016】
【課題を解決するための手段】図1及び図2は本発明の
原理説明図である。まず本発明は、異なる転送速度のチ
ャネルバスを介して上位装置側の複数のチャネル装置と
複数の入出力ポートを接続した入出力制御装置を対象と
する。具体的には、転送速度の異なるチャネルバスを介
して上位装置側の高速チャネル装置及び低速チャネル装
置の各々に接続された高速入出力ポート及び低速入出力
ポートを有する入出力制御装置を対象とする。
【0017】本願の第1発明は、図1(A)のように、
入出力制御装置10における入出力ポートA,Bの各々
に、他の入出力ポートの転送終了に伴いビジィ解除を応
答から起動要求を受信するまでの起動時間を計測して記
憶する起動時間計測記憶部48を設ける。そしてルート
制御部46によって、高速チャネル装置Bから高速入出
力ポートBに起動要求を受けた際に、起動時間計測記憶
部48に記憶した低速入出力ポートBの起動時間T2に
亘って低速入出力ポートBに対する起動要求を待つ。こ
の待ち時間中に低速入出力ポートBに起動要求があれ
ば、対応する低速チャネル装置Bと結合して転送処理を
行う。
【0018】この場合、高速チャネル装置Aに対しては
ビジィ応答とする。また待ち時間に亘り低速入出力ポー
トBから起動要求がなかった場合は、高速チャネル装置
Aと高速入出力ポートAを結合して転送処理を行う。第
1発明は、更に、各入出力ポートのビジィ率を計測して
記録するビジィ率計測記憶部50を設ける。この場合、
起動時間計測記憶部50は、各入出力ポートA,Bの起
動時間T1,T2を計測する毎に、最大時間Tmax 、平
均時間Tav及び最小時間Tmin を生成して記憶する。ま
たルート制御部46は、ビジィ率計測記憶部50に記憶
した各入出力ポートA,Bのビジィ率R1,R2が均等
になるように、最大時間、平均時間または最小時間を選
択して低速入出力ポートBの起動要求の待ち時間T1を
設定する。
【0019】ビジィ率Rとしては、各入出力ポートA,
B毎に、計測したビジィ応答回数をチャネル装置からの
入出力起動回数で割って算出する。ビジィ率に基づく待
ち時間の設定としては、低速入出力ポートAのビジィ率
R1が高速入出力ポートBのビジィ率R2より大きい場
合は最大時間Tmax を選択して設定し、低速入出力ポー
トAのビジィ率R1が高速入出力ポートBのビジィ率R
2に等しい場合は平均時間Tavを選択して設定する。さ
らに低速入出力ポートAのビジィ率R1が高速入出力ポ
ートBのビジィ率R2より小さい場合は最小時間Tmin
を選択して設定する。
【0020】また第1発明の変形として次のようにす
る。まず入出力制御装置に、低速入出力ポートAから低
速チャネル装置Aにビジィ解除を応答してから起動要求
を受信するまでの起動時間を計測する起動時間計測部を
設ける。ルート制御部46は、低速入出力ポートAから
のビジィ解除の応答時に、高速入出力ポートBに対する
高速チャネル装置Bからの処理要求を、計測した起動時
間に亘り待たせ、その間に低速入出力ポートBに対する
低速チャネル装置Bから処理要求を受け付ける。
【0021】また起動時間計測部の計測時間に基づい
て、ルート制御部46の待ち時間を可変させる待ち時間
設定部を設けてもよい。更に、オペレータの入力操作に
よって、ルート制御部46の待ち時間を設定させる待ち
時間設定部を設けてもよい。本願の第2発明は、図1
(B)のように、判定部68によって、複数の入出力ポ
ートA,Bのいずれかで、起動要求に対するビジィ応答
と他の入出力ポートの転送終了に伴うビジィ解除(ビジ
ィエンド)の応答とが繰り返されるループ状態の回数を
計数し、このループ回数が所定値を越えるか否か判定す
る。
【0022】判定部68でループ回数が所定値を越える
入出力ポートが判定された場合、ルート制御部46が判
定入出力ポートに対し起動要求の受付けを優先的に割り
付ける。即ち、ルート制御部46は、優先割付け入出力
ポートに対する起動要求のみを受付け、他の入出力ポー
トに対する起動要求に対してはビジィ応答する。本願の
第3発明は、図1(C)のように、ビジィ応答時刻記憶
部70で複数の入出力ポートA,Bの各々につき、起動
要求に対するビジィ応答を行った時刻を記憶する。処理
ポート決定部72は、起動要求に対する転送処理の終了
毎に、ビジィ応答時刻の中の最も古い応答時刻をもつ入
出力ポートを処理ポートに決定する。ルート制御部46
は、決定した入出力ポートに対し起動要求の受付けを優
先的に割り付ける。
【0023】本願の第4発明は、図2(D)のように、
ルート制御部46によって特定のチャネル装置Bと入出
力ポートBとの結合中に、他の入出力ポートAに他のチ
ャネル装置Aから起動要求があった場合、再試行割込み
処理部74が他の入出力ポートBから再試行ステータス
を応答して他のチャネル装置Bとの結合を切り離す。そ
して、現在処理中の入出力ポートAとチャネル装置Aの
結合終了時に、試行割込み処理部74は、他の入出力ポ
ートAから再試行開始の割込み通知を他のチャネル装置
Aに通知して起動要求を再試行させる。
【0024】本願の第5発明は、図2(E)のように、
ルート制御部46によって特定のチャネル装置Bと入出
力ポートBとの結合中に所定の割込条件が成立した場
合、例えば割込タイマ80がタイムアップした場合、再
試行割込み処理部76によって割込み処理を行う。この
再試行割込み処理は、 (1)入出力ポートBからチャネル装置Bに再試行ステ
ータスを応答して処理を中断して結合を切り離す。
【0025】(2)切離しが済むと、全てのポートA,
Bについて、それまでのビジィ応答状態をチェックし、
優先処理ポートを決定する。例えば、以前にビジィ応答
を行ったポートAを優先処理ポートに決定する。 (3)続いて、優先処理ポートAからチャネル装置Aに
エンドステータスを応答して起動要求を行わせる。
【0026】(4)この起動要求に伴なう転送処理が終
了すると、再試行割込み処理部76は、入出力ポートB
からチャネル装置Bに再試行開始の割込みを通知し、中
断した処理を再開させる。ここで再試行割込みの割込条
件としては、 入出力ポートの結合時間が一定時間に達したこと、 結合中の入出力ポートのコマンド処理回数が所定値に
達したこと、 入出力ポートの結合中に、他の入出力ポートに対する
起動要求に対するビジィ応答でビジィ率が所定値に到達
したこと、 等とする。
【0027】本願の第6発明は、図2(F)のように、
複数の入出力ポートA,B毎にコマンド解析実行部9
2,94を設ける。例えばコマンド解析実行部92は、
他の入出力ポートBの結合中に、入出力ポートAの起動
要求に伴って受信したコマンドが実行可能なコマンドか
否か解析し、実行可能なコマンドであれば起動要求を受
け付けて内部資源に対するコマンド処理を実行する。
【0028】具体的には、他の入出力ポートBの結合に
よって内部資源のデータ転送を行っている場合、別の内
部資源で且つデータ転送を伴わない制御系のコマンドで
あれば、入出力ポートAの起動要求を受け付けて他の内
部資源に対するコマンド処理を実行する。内部資源は、
データバスに対し独立した制御バスを備えた複数の入出
力装置、例えば磁気テープドライブユニット12であ
る。
【0029】
【作用】このような本発明の入出力制御装置及び方法に
よれば、次の作用が得られる。まず第1発明は、学習方
式ということができる。高速のチャネル装置に入出力制
御のサービスが偏ってしまう一因として、ビジィ解除待
ちにあるチャネルがビジィ解除の通知(ビジィエンド)
を受けてから起動要求を出すまでの速さが上げられる。
一般に高速チャネルは、この時間が短く、低速チャネル
は長い。
【0030】そこで第1発明は、各入出力ポートにタイ
マを設け、ビジィ解除を応答してから起動要求を受ける
までの起動時間をダイナミックに計測して記憶する。こ
の起動時間の計測結果は、最大値、最小値、平均値に分
けて算出記憶する。入出力制御装置は、例えば高速入出
力ポートで連続してユニットエンド後に起動要求を受け
ても、受理応答は即座に行わずに、低速ポートの起動要
求を起動時間だけ待つ。そして低速入出力ポートからの
起動が来れば、高速ポートと低速ポートのどちらを受理
するか判断し、片側だけにサービスが偏るのを防ぐ。
【0031】サービスの偏りを示す指標の一つとしてビ
ジィ率を使用する。ビジィ率は、ビジィ応答カウンタで
求めたビジィ応答の数を、チャネルからの起動の数を積
算する起動数カウンタの値で割って求める。そして各入
出力ポートのビジィ率をなるべく小さい値に、また各入
出力ポートのビジィ率の値の差が大きくならないよう
に、待ち時間を決める。
【0032】ビジィ解除の応答後、例えば、応答した入
出力ポートのビジィ率が高い場合は、起動時間の最大値
付近の値で待ち、逆に入出力ポートのビジィ率が低く、
他の入出力ポートのビジィ率が高い場合は、最小値付近
の値で待つようにする。このように、第1発明は、自ら
の学習によって各チャネルのサービスを均一化できる。
【0033】第2発明は、ビジィ応答とビジィ解除応答
(ビジィエンド)のループ処理が長時間続くとホスト側
でチェックコンディションになるので、これを防ぐ。即
ち、起動要求、ビジィ応答−ビジィ解除応答となるルー
プ処理の回数をカウンタで検出し、カウンタが一定値を
越えた入出力ポートを優先的にサービスする。その他の
入出力ポートにはビジィを応答する。入出力ポートで優
先処理が済んだら、その入出力ポートのカウンタはリセ
ットする。これによりビジィ応答とビジィ解除応答がル
ープすることによるチェックコンディションを回避でき
る。
【0034】第3発明は、時系列処理方式である。各入
出力ポートにビジィ応答した時刻を記憶し、継続中のチ
ャネルとの処理が終了したら、各入出力ポートのビジィ
応答時刻を調べ、一番古い時刻を示している入出力ポー
トにビジィエンドを報告して優先的にサービスを行う。
第4発明は、再試行割込み方式である。チャネルとの結
合中に他のチャネルからの起動がきたら、ビジィ応答の
代わりにチャネルの再試行を要求するステータスを報告
して、後からの起動してきたチャネルとの結合を一旦切
る。現在処理中のチャネルとの結合が終了したら、再試
行要求を既にしたチャネルに対して再試行開始の割り込
みを行い、再結合する。このようにビジィ応答の代わり
に再試行ステータスを応答することで、入出力制御装置
側でどの入出力ポートを再結合するか決定でき、各入出
力ポートを平均してサービスできる。
【0035】第5発明は、再試行割込み方式の変形とい
える。まずチャネルとの結合中に所定の割込条件(所定
時間、所定コマンド処理回数、所定ビジィ率等)が成立
したら、割込みを発生して現在結合中のチャネルに対し
てチャネル再試行要求のステータスを応答し、処理を中
断して一旦結合を切る。その後、全バスについて、以前
にビジィ応答しているか、チェック要因は割込み要因を
分析して、どの入出力ポートに対しサービスするか決定
する。
【0036】処理ポートを決定したら、そのポートから
ユニットエンドを応答して優先的に処理する。この優先
処理が済んだら、再試行要求のステータス応答を行った
チャネルに対し再試行開始の割込み通知を行い、再結合
して中断した処理を再開する。これによって、高速チャ
ネルの処理が連続し、低速チャネルでビジィ応答を解除
するユニットエンドが報告できない事態を回避できる。
【0037】第6発明は、チャネルスイッチとして機能
する入出力ポートのインテリジェント化である。他の入
出力ポートでコマンド処理中であっても、入出力ポート
自身で受け付けたコマンドが実行可能か否か判断し、実
行可能な場合は、下位のドライブユニットに対する処理
を実行し、ビジィ応答の回数を減らす。例えば他の入出
力ポートの結合中に、ある入出力ポートに起動要求があ
った場合は、これを受け付けてコマンドを解析し、結合
中の入出力ポートと共通の内部資源、例えばデータバス
を使わないコマンド、例えばモーション系やセンス系の
制御コマンドの場合は、有効に受け付けて実行してしま
う。このインテリジェント化は、データバスとコマンド
処理バスが別であったり、共通バスであっても、データ
転送と、コマンド処理用のデータ転送が同時に行えるよ
うな共通バス構成のハードウェアをもつ場合に有効とな
る。
【0038】
【実施例】 <目 次> 1.システム構成 2.学習処理 3.ビジィ応答−ビジィエンドの循環チェック処理 4.時系列処理 5.再試行割込み処理その1 6.再試行割込み処理その2 7.入出力ポートのインテリジェント化 1.システム構成 図3は、磁気テープ装置をドライブユニットとして用い
た本発明の入出力制御装置のシステム構成である。
【0039】図3において、入出力制御装置として機能
する磁気テープ制御ユニット10に対しては、デバイス
インタフェース22を介して、この実施例にあっては、
8台の磁気テープドライブユニット12−1〜12−8
が接続される。磁気テープドライブユニット12−1〜
12−8には、予めドライブ機番#1〜#8が設定され
る。
【0040】磁気テープ制御ユニット10は、この実施
例にあっては、8つの入出力ポート20−1〜20−8
を有する。入出力ポート20−1〜20−8はポート番
号A〜Hが定義される。以下の説明では、単にポートA
〜Hと表現する。磁気テープ制御ユニット10のポート
A〜Hのそれぞれには、ホストコンピュータ14−1〜
14−8に設けたチャネル装置16−1〜16−8がチ
ャネルバス18−1〜18−8を介して接続される。こ
こで、チャネル装置16−1〜16−8にはチャネル番
号A〜Hが定義されている。以下の説明では単に、チャ
ネルA〜チャネルHと表現する。
【0041】ホストコンピュータ14−1〜14−8の
チャネルA〜Hと磁気テープ制御ユニット10のポート
A〜Hの間のチャネルバス18−1〜18−8は、それ
ぞれ固有の転送速度をもっている。例えば、チャネルA
とポートAを結ぶチャネルバス18−1は電気的なチャ
ネルバスであり、その転送速度は4.5MBsとなる。
【0042】このような電気的なチャネルバス18−1
としては、IBM製のブロック・マルチプレクス・チャ
ネルインタフェース(BMC)を使用することができ
る。また、チャネルBとポートBを結ぶチャネルバス1
8−2は、例えば光チャネルバスであり、その転送速度
は9MBsと高速である。このような光チャネルバス1
8−2としては、例えばIBM製のESCONチャネル
を使用することができる。残りのチャネルバス18−3
〜18−8についても、各々固有の転送速度をもったチ
ャネルバスが使用される。勿論、本発明にあっては、少
なくとも複数のチャネルバスの転送速度が高速と低速の
2種類である場合を対象としている。例えば、転送速度
4.5MBsの電気的なチャネルバス18−1は低速チ
ャネルバスとなり、これに対し光チャネルバスを用いた
チャネルバス18−2は、転送速度が9MBsであるこ
とから高速チャネルバスとなる。
【0043】以下の説明では、低速チャネルバス18−
1のチャネルAを低速チャネルといい、高速チャネルバ
ス18−2のチャネルBを高速チャネルという。同様
に、ポートA,Bについても、ポートAが低速入出力ポ
ート、ポートBが高速入出力ポートとなる。図4は、図
3の磁気テープ制御ユニット10のハードウェア構成で
ある。磁気テープ制御ユニット10は、ホストインタフ
ェース部24、バッファメモリ26、フォーマッタ部2
8および通信情報メモリテーブル30で構成される。ホ
ストインタフェース部24には、MPU32、ファーム
ウェア34およびインタフェースプロセッサ36が設け
られる。
【0044】インタフェースプロセッサ36には、ホス
トコンピュータとのチャネルバスを接続した入出力ポー
ト20−1〜20−8で実現されるポートA〜Hが設け
られる。フォーマッタ部28には、MPU38、ファー
ムウェア40およびフォーマッタプロセッサ42が設け
られる。本発明の入出力制御は、ホストインタフェース
部24に設けられたMPU32、ファームウェア34お
よびインタフェースプロセッサ36の制御機能により実
現することができる。バッファメモリ26には、ホスト
コンピュータと磁気テープドライブユニットとの間でや
り取りされるデータが一時的に格納される。バッファメ
モリ26を経由したデータ転送により、入出力制御装置
10とチャネル側の転送、入出力制御装置10と磁気テ
ープドライブユニット側の転送は、非同期に行われるこ
とになる。
【0045】ホストインタフェース部24に設けられた
MPU32は、インタフェースプロセッサ36におい
て、いずれかのポートA〜Hに起動要求を受けると、他
のポートが結合中でないことを条件に起動要求を受け入
れ、チャネルバスと結合して、ホストコンピュータから
の入出力要求に基づくチャネルコマンドワードの転送処
理を行う。
【0046】チャネルコマンドは、通常、一連のコマン
ドシーケンスを実現するための異なったコマンド語の連
続するコマンドチェインニングと、データのブロック単
位の転送を行う際のリードコマンドまたはライトコマン
ドを繰り返し転送するためのデータチェインニングがあ
る。このようなチャネルコマンドによる1回の転送処理
ごとに、チャネル装置は対応する磁気テープ制御ユニッ
ト10のポートに対しスタートI/O要求(スタートI
/Oコマンド)を発行して起動要求を行う。この起動要
求の際には、通常、磁気テープドライブユニットのドラ
イブ機番#1〜#8のいずれかを指定する。インタフェ
ースプロセッサ36は、ポートA〜Hに対するチャネル
バスからのスタートI/O要求を監視しており、スター
トI/O要求を認識すると、他のポートが結合中にない
ことを条件に、スタートI/Oコマンドに対する正常終
了を示す結合完了応答を返す。もし、スタートI/O要
求を受けた際に他のポートが結合中であった場合には、
基本的にはビジィ応答を返すことになる。
【0047】MPU32は、インタフェースプロセッサ
36を介して受信したチャネル側からのコマンドを解読
し、磁気テープドライブユニットの制御に必要なパラメ
ータなどの各種情報を通信情報メモリテーブル30に書
き込む。また、磁気テープドライブユニットに対する書
込みのために転送されたデータについては、バッファメ
モリ26に書き込む。
【0048】フォーマッタ部28のMPU38は、MP
U32とは非同期に、通信情報メモリテーブル30をサ
イクリックに参照しており、磁気テープドライブユニッ
トの制御またはデータ転送に必要な情報を認識すると、
フォーマットプロセッサ42を経由して、指定されたド
ライブ機番をもつ磁気テープドライブユニットに対する
各種の制御およびデータ転送のための処理動作を指示す
る。
【0049】またMPU38は、サイクリックに磁気テ
ープドライブユニット12−1〜12−8の状態を検出
して、検出結果を通信情報メモリテーブル30に書き込
んでいる。このため、チャネル側より磁気テープドライ
ブユニットの状態を確認するためのセンスコマンドをホ
ストインタフェース部24で受けた場合、MPU32は
通信情報メモリテーブル30を参照することで磁気テー
プドライブユニットの状態を認識し、ステータスコマン
ドに対し応答することができる。
【0050】更にインタフェースプロセッサ36には、
チャネルバスからの転送データを圧縮した後にバッファ
メモリ26に書き込み、また磁気テープドライブユニッ
トからバッファメモリ26に読み出された圧縮リードデ
ータを元のデータに伸長してチャネルバスに送り出すた
めの圧縮伸長部としての機能が設けられる。このデータ
の圧縮伸長処理は、リードまたはライト要求の最初に送
られてくるセットコマンドのビットフラグにより伸長ま
たは圧縮するか、そのまま処理するか、指定することが
できる。
【0051】一方、オプションとして、デバイスインタ
フェース25を介してCRT35とキーボード45が設
けられる。これによりオペレータはホストインタフェー
ス部24のMPU32の入出力制御に必要な各種のパラ
メータを外部から設定できる。勿論、ホストコンピュー
タ側のCRTとキーボードを使用して、MPU32の制
御パラメータを設定してもよい。 2.学習処理 図5は本願の第1発明の実施例であり、磁気テープ制御
ユニット10にポートAとポートBの2つを設けた場合
を例にとっている。
【0052】磁気テープ制御ユニット10にはルート制
御部46が設けられ、ポートAまたはポートBに対する
チャネルバスからの起動要求に基づいて、いずれか一方
のポートを選択するチャネルスイッチとしての機能をも
つ。ポートA,ポートBのそれぞれにはタイマ52,5
8が設けられている。タイマ52,58は、ポートA,
Bからのチャネルバスに対するビジィエンドで起動し、
その後にチャネルバスから起動要求を受けたときに停止
する。
【0053】タイマ52,58により計測される起動時
間は、より正確には、チャネルバスに対しビジィ応答を
行った後に他のポートの結合終了に伴ってビジィエンド
を応答した時点から、このビジィエンドを受けたビジィ
解除待ちのチャネル装置からの起動要求がポートで受信
されるまでの時間となる。したがって起動時間そのもの
はチャネル装置がビジィ解除待ちの状態でユニットエン
ドを受信して再度起動要求を発行する時間を表わすこと
になり、チャネルバスの転送速度に依存する。
【0054】ここで、ポートAは低速チャネルバス18
−1に接続された低速ポートであり、ポートBは高速チ
ャネルバス18−2に接続された高速ポートとなってい
る。このため、タイマ52で計測される低速ポートAの
起動時間T1は、タイマ58で計測される高速ポートB
の起動時間T2より長い時間となる。起動時間計測記憶
部48は、タイマ52,58による低速ポートAの起動
時間T1と高速ポートBの起動時間T2を記憶する。
【0055】更に磁気テープ制御ユニット10には、ビ
ジィ率計測記憶部50が設けられている。ビジィ率計測
記憶部50は、ポートAに設けた起動数カウンタ54と
ビジィ数カウンタ56、およびポートBについて設けた
起動数カウンタ60とビジィ数カウンタ62のそれぞれ
の計数値を用いて、ポートA,Bごとにビジィ率R1,
R2を算出して記憶する。
【0056】例えばポートAを例にとると、起動数カウ
ンタ54はポートAに対するチャネルバス18−1から
の起動要求があるごとにカウントアップされ、ポートA
に対する運用中の起動要求の総数を表わす。ビジィ数カ
ウンタ56は、ポートAに対する起動要求のうち、他の
ポートBが結合中でビジィ応答を行った回数を計数す
る。
【0057】ビジィ率計測記憶部50は、起動数カウン
タ54がカウントアップするごとに、即ち起動要求があ
るごとに、そのときの起動数カウンタ54の値でビジィ
数カウンタ56の値を割って、ポートAのビジィ率R1
を算出する。この点は、ポートBの起動数カウンタ60
およびビジィ数カウンタ62についても同様であり、起
動要求を受けるごとにビジィ数カウンタ62の値を起動
数カウンタ60の値で割って、ポートBのビジィ率R2
を算出して記憶する。
【0058】更に、起動時間計測記憶部48にあって
は、タイマ52,58で計測されたポートA,Bの起動
時間T1,T2をそのまま記憶するのではなく、起動時
間はそのときの状況により異なることから、最大時間T
max ,最小時間Tmin および平均時間Tavに分けて記憶
する。最大時間Tmax の記憶は、前回までに得られた最
大時間Tmax と今回得られた起動時間Tを比較し、起動
時間Tが大きければ、それまでの最大時間Tmax を更新
し、小さければ、それまでの最大時間Tmax を残す。最
小時間Tmin についても同様にして更新する。
【0059】平均時間Tavについては、現時点までの起
動時間の総和を起動要求回数で割ることで求めることが
できる。全ての起動時間の総和をとった場合には、デー
タビット長が大きくなりすぎることから、一定数の起動
時間ごとの移動平均を計算することが望ましい。ルート
制御部46は、高速ポートBに起動要求を受けると、ポ
ートAが非結合状態にあっても直ちに結合完了応答を行
わず、ビジィ率計測記憶部50を参照して、ポートAと
ポートBのビジィ率R1,R2を比較し、ビジィ率R
1,R2が同じになるようにルート制御を行う。通常、
低速ポートA側のビジィ率R1が大きく、高速ポートB
のビジィ率R2が小さいことから、ビジィ率の大きい低
速ポートAの起動時間T1を起動時間計測記憶部48か
ら読み出し、読み出した低速ポートAの起動時間T1に
亘って、ポートBは低速ポートAに対する起動要求の待
ち時間を設定する。
【0060】このポートAに対する起動要求の待ち時間
T1の間に低速ポートAに対し起動要求があると、ルー
ト制御部46はポートAをチャネルバス18−1に結合
して転送処理を行い、先に起動要求のあった高速ポート
Bについては、ビジィ応答を返すようになる。この結
果、ビジィ率の高い低速ポートA側が優先的に起動要求
を受け入れられることになり、高速ポートBとのビジィ
率をほぼ等しくさせることができる。
【0061】また起動時間計測記憶部48には、低速ポ
ートAの起動時間T1として最大時間Tmax ,平均時間
Tavおよび最小時間Tmin が記憶されていることか
ら、ポートA,Bのビジィ率R1,R2の関係から、例
えば次のように低速ポートAに対する起動要求の待ち時
間を設定する。 R1>R2の場合は、最大時間Tmax を待ち時間に設
定する。
【0062】R1=R2の場合は、平均時間Tavを待
ち時間に設定する。 R1<R2の場合は、最小時間Tmin を待ち時間に設
定する。 図6は、図5の磁気テープ制御ユニット10における起
動時間計測処理のタイムチャートである。いま、ホスト
コンピュータ14−2がスタートI/O要求100をポ
ートBに発行すると、このときポートAは使用されてい
ないことから、正常終了を示す結合完了応答102が返
され、チャネルBおよびポートBが転送処理104,1
06を行う。
【0063】この転送処理104,106の間に、低速
チャネルAからスタートI/O要求108が行われたと
すると、低速ポートAからビジィ応答110が返され
る。転送処理が済むと、高速ポートBよりユニットエン
ド112が高速チャネルBに報告され、続いて低速ポー
トAよりビジィ解除待ちにある低速チャネルAに対しビ
ジィエンド114が出される。このビジィエンド114
に対し低速チャネルAはビジィ解除を認識し、スタート
I/O116を発行する。
【0064】図5のタイマ58は、この低速ポートAに
おけビジィエンド114からスタートI/O要求116
を受けるまでの時間T1を起動時間として計測する。ス
タートI/O要求116を受けた低速ポートAは、正常
終了を示す結合完了応答118を出し、低速チャネルA
および低速ポートAで転送処理120,122を行う。
【0065】この転送処理120,122の間に、高速
チャネルBからスタートI/O要求124が行われたと
すると、高速ポートBからビジィ応答126が返され
る。転送処理が済むと、低速ポートAよりユニットエン
ド128が低速チャネルAに報告され、続いて高速ポー
トBよりビジィ解除待ちにある高速チャネルBに対しビ
ジィエンド130が出される。このビジィエンド130
に対し高速チャネルBはビジィ解除を認識し、スタート
I/O132を発行する。
【0066】図5のタイマ60は、この高速ポートBに
おけビジィエンド130からスタートI/O要求132
を受けるまでの時間T2を起動時間として計測する。図
7は、起動時間計測記憶部48の記憶時間を使用したル
ート制御部46による入出力制御である。いま高速チャ
ネルBからスタートI/O要求142が高速ポートBに
行われ、結合完了応答114により転送処理145,1
46を行っている間に、低速チャネルAからスタートI
/O要求148があると、これはビジィ応答150とな
る。
【0067】この低速チャネルAがビジィ解除待ちの状
態で転送処理145,146が終了してユニットエンド
146が出され、これに伴い低速ポートAからビジィエ
ンド156が出されると、起動時間T1に基づいた待ち
時間Tの設定を行う。待ち時間T0 の間に、高速チャネ
ルBから高速ポートBに対しスタートI/O要求156
が先に行われる。しかし、待ち時間T0 のに中にあるの
で、スタートI/O要求156は受け入れられず、待た
される。
【0068】続いて低速チャネルAは、ビジィエンド1
54を受けてからT1´時間後にスタートI/O要求1
58を出す。このとき磁気テープ制御ユニット10は、
待ち時間Tの設定で低速ポートAに対する起動要求を優
先させる待ち時間Tの間にあり、スタートI/O要求1
58を受け入れて結合完了応答160を返し、転送処理
162,164に入る。
【0069】続いて高速ポートBより高速チャネルAに
対し、スタートI/O要求156に対するビジィ応答1
66を返す。転送処理162,164が済むとユニット
エンド168を出し、またビジィエンド170を出す。
そして、高速チャネルBと高速ポートBの結合による転
送処理174,176を行う。このように、高速ポート
Bに対する起動要求の受付時に低速ポートA側の起動時
間に亘る待ち時間Tを設けて、低速ポートAに対する起
動要求を待って処理を行うことで、高速ポートBに対す
る起動要求が連続していても、低速ポートAに対する起
動要求があればこれを正常に受け付けて処理することが
でき、高速ポートB側にサービスが偏ってしまうことを
防止できる。
【0070】図8は、図5の磁気テープ制御ユニット1
0における起動時間およびビジィ率を用いた入出力制御
処理のフローチャートである。ステップS1で起動要求
があると、ステップS2に進み、高速ポートか否かチェ
ックする。高速ポートであればステップS3に進み、例
えば低速ポートで計測した起動時間T1を待ち時間Tと
してタイマにセットし、ステップS4で起動時間T1が
タイムアウトするまで、ステップS5で低速ポートに対
する起動要求をチェックする。
【0071】起動時間T1の間に低速ポートに起動要求
があったことがステップS5で判別されると、ステップ
S6に進んで、低速ポートを低速チャネルに結合して、
転送処理を開始する。同時に、ステップS7で高速ポー
トから高速チャネルにビジィ応答を行う。低速側での転
送処理の終了がステップS8で判別されると、ステップ
S9でユニットエンドを低速ポートから出し、次にビジ
ィエンドを高速ポートから出す。このため、ビジィ解除
待ちにある高速ポートから再度、起動要求が行われ、再
びステップS1の処理となる。
【0072】一方、ステップS2で低速ポートからの起
動要求が判別された場合には、ステップS10に進み、
高速ポートが結合中にないことを条件に、低速ポートを
チャネルに結合して転送制御を行う。もし高速ポートが
結合中であれば、低速ポートより制御ユニットエンドを
応答し、高速ポートの結合終了による制御ユニットエン
ドの応答を待って低速ポートに再度起動要求を行わせる
通常の処理となる。
【0073】図9のフローチャートは図5の起動時間計
測記憶部48の処理動作であり、ポートA,Bごとに独
立して処理動作を行う。例えばポートAを例にとると、
ステップS1でビジィエンドの応答を判別し、ステップ
S2に進んで、タイマをスタートする。続いてステップ
S3で、ポートAに対する起動要求の受信をチェックし
ており、起動要求を受信するとステップS4に進み、ス
テップS2で起動したタイマを停止する。
【0074】続いてステップS5で、タイマに保持され
ている時間を起動時間として取り込んで記憶する。次に
ステップS6で、今回計測した起動時間を含めた平均時
間Tavを算出し、ステップS7で、最小時間の条件を満
足すれば現在の最小時間Tmin を更新し、またステップ
S8で、最大時間の条件を満足すれば最大時間Tmaxを
更新する。
【0075】図10のフローチャートは、図8のステッ
プS3で低速ポートの起動時間T1をタイマにセットす
る際の詳細を示す。まずステップS1で、起動要求を受
けた高速ポートBのビジィ率R2と、要求待ちにある低
速ポートAのビジィ率R1を算出する。このビジィ率R
1,R2のそれぞれは、図4のポートA,Bのそれぞれ
に設けたビジィ数カウンタ56,62の計数値を起動数
カウンタ54,60の計数値で割って得たビジィ率計測
記憶部50に格納している値である。続いてステップS
2で、低速ポートAのビジィ率R1と高速ポートBのビ
ジィ率R2の大小関係を比較する。低速ポートのビジィ
率R1が高速ポートのビジィ率R2より大きければ、ス
テップS3に進み、起動時間計測記憶部48に格納して
いる低速ポートAの起動時間の内の最大時間Tmax を待
ち時間としてセットする。低速ポートのビジィ率R1と
高速ポートのビジィ率R2が等しい場合には、ステップ
S4で低速ポートの起動時間の平均時間Tavを待ち時間
にセットする。更に、低速ポートのビジィ率R1が高速
ポートのビジィ率R2より小さいときは、ステップS5
に進み、低速ポートの起動時間の内の最小時間Tmin を
待ち時間にセットする。
【0076】尚、図10による高速ポートと低速ポート
のビジィ率に基づいた起動時間の待ち時間へのセットに
限定されず、高速ポートのビジィ率と低速ポートのビジ
ィ率がほぼ等しくなるように待ち時間を決める適宜の方
式を採用することができる。例えば、低速ポートの起動
時間として平均時間Tavのみを使用し、ステップS3,
S5の最大時間または最小時間の代わりに平均時間に所
定の重み係数を掛け合わせた時間を求めてセットするよ
うにしてもよい。
【0077】図11は本願第1発明の変形実施例であ
る。この実施例は、高速ポートのユニットエンドの際
に、低速ポートから低速チャネルにビジィエンドを応答
してから起動要求を受信するまでの起動時間を計測し、
その後の高速ポートBに対する高速チャネルからの起動
要求を、計測した起動時間に亘り待たせ、その間に低速
ポートに対する低速チャネルから処理要求を受け付ける
ようにしたことを特徴とする。
【0078】図11において、低速ポートAに対しては
起動時間計測部230が設けられる。起動時間計測部2
30は、図6のタイムチャートと同様に、低速ポートA
が低速チャネルAにビジィエンドを出してからスタート
I/O要求(起動要求)を受けるまでの起動時間Tを計
測する。待ち時間決定部232は、起動時間計測部23
0の計測時間Tに基づいて、ルート制御部46における
待ち時間T0 を設定する。この待ち時間T0 の設定は、
計測時間Tと同じ時間あってもよい。
【0079】また計測時間Tに応じて待ち時間T0 を可
変設定してもよい。通常、計測時間Tに対し実際の待ち
時間T0 を長めにした方が、低速側へのサービスの割付
けが有効にできるので、例えば計測時間Tに1以上の所
定の係数Kを掛け合せた待ち時間T0 を可変設定する。
更に、待ち時間T0 をオペレータの入力操作により設定
してもよい。このため待ち時間決定部232に対し、外
部に表示部234と入力部236が設けられる。表示部
234と入力部236の機能は、図4のデバイスインタ
フェース25、CRT35及びキーボード45で実現さ
れる。
【0080】オペレータは、入力部236の操作で待ち
時間決定部323に設定された現在の待ち時間T0 を表
示部234に読出し表示し、そのときの各チャネルのビ
ジィ状態やホストコンピュータの運用形態を考慮し、任
意の待ち時間T0 を入力し、待ち時間決定部232に設
定する。ルート制御部46は、高速ポートBの転送終了
でユニットエンドを応答すると、待ち時間設定部232
から与えられる待ち時間T0 に亘り、高速ポートBに起
動要求があってもビジィ応答を出して待たせる。この待
ち時間T0 の間に、低速ポートAに起動要求があれば、
直ちに受け付けて転送処理を行う。
【0081】待ち時間T0 がタイムアップするか、又は
低速ポートAの転送終了でユニットエンドとなると、高
速ポートBからビジィエンドを出し、高速チャネルに再
度起動要求を行わせて受け付けることになる。 3.ビジィ応答−ビジィエンドの循環チェック処理 図12は本願の第2発明の実施例である。この実施例
は、高速ポートでの連続的な起動要求により、低速ポー
ト側がビジィエンド(ビジィ解除応答)に基づく起動要
求に対しビジィ応答を繰り返してしまうビジィ応答−ビ
ジィエンドの循環状態を検出して、低速ポートに優先的
にサービスを割り付けるようにしたことを特徴とする。
【0082】磁気テープ制御ユニット10の低速ポート
Aおよび高速ポートBのそれぞれには、カウンタ64,
66が設けられる。カウンタ64,66は、ビジィエン
ドの応答と、応答したビジィエンドに基づく起動要求に
対するビジィ応答が行われることで1つカウントアップ
される。即ち、1回のビジィ応答−ビジィエンドの循環
を検出してカウントアップする。
【0083】循環数判定部68は、カウンタ64,66
の計数値、即ちビジィ応答−ビジィエンドの循環回数が
所定値に達したか否か判定している。循環数判定部68
でカウンタ64またはカウンタ66の計数値が所定値に
達したことが判定されると、この判定出力を受けてルー
ト制御部46が、循環数が所定数を越えたポートAまた
はポートBに対し優先的に起動要求を受け付けるように
制御する。
【0084】図13のフローチャートは、図12の処理
動作である。まずステップS1で、ポートAまたはポー
トBに対する起動要求の有無をチェックしている。起動
要求があると、他のポートと結合中にないことを条件に
チャネルに結合して転送処理を行う。ステップS3で転
送処理を終了すると、ステップS4でユニットエンドを
応答する。
【0085】このときビジィ応答を行っていたポートが
あれば、そのポートからビジィエンドを応答する。この
ため、他のポートでもしステップS2の結合による転送
中に起動要求が行われてビジィ応答が済んでいると、ス
テップS4のビジィエンドで図12に示した対応するカ
ウンタがビジィ応答−ビジィエンドの循環数を1つカウ
ントアップすることになる。
【0086】次にステップS5で、ビジィ応答−ビジィ
エンドの循環数が一定値を越えるポートがあるか否かチ
ェックする。もし一定値を越えるポートがあった場合に
は、ステップS6に進み、一定値を越えるポートに対し
起動要求の優先処理を割り付ける。そしてステップS7
で起動要求を判別すると、ステップS8で優先割付けポ
ートか否かチェックし、優先割付けポートでなければ、
ステップS12でビジィ応答を返す。
【0087】この結果、優先割付けポートに対する起動
要求のみが受け付けられて、ステップS9でチャネルバ
スとの結合により転送処理が行われることになる。ステ
ップS10で優先割付けポートの転送処理が終了する
と、ステップS11で、優先割付けポートに設けている
循環数カウンタをリセットし、ユニットエンドを応答す
る。このときステップS12でビジィ応答により待ち状
態となっている他のポートがあれば、そのポートからビ
ジィエンドを出して起動要求を行わせる。 4.時系列処理 図14は、本願の第3発明の実施例である。この第3発
明の実施例は、あるポートの結合中における他のポート
のビジィ応答の時刻を記憶しておき、結合終了時にビジ
ィ応答時刻の最も古いポートに優先的にサービスを割り
付けるようにしたことを特徴とする。
【0088】磁気テープ制御ユニット10には、ポート
A,ポートBおよびルート制御部46に加えて、ビジィ
応答時刻記憶部70と処理ポート決定部72が設けられ
る。ビジィ応答時刻記憶部70は、ポートAまたはポー
トBの結合中に他のポートに起動要求が行われてビジィ
応答を行った時刻を記憶する。この実施例は、ポート
A,ポートBの2つであることから、ポートAの結合中
はポートBの応答時刻を記憶し、ポートBの結合中はポ
ートAの応答時刻を記憶する。
【0089】処理ポート決定部72は、結合中のポート
の転送処理が終了してユニットエンドを応答した際に、
ビジィ応答時刻記憶部70を参照し、記憶しているビジ
ィ応答時刻の中の最も古い時刻をもつポートを、次に起
動要求を優先的に処理ポートとして決定して、ルート制
御部46に通知する。ルート制御部46は、処理ポート
決定部72で決定されたポートからの起動要求を優先的
に処理する。
【0090】この実施例では、ポートA,ポートBの2
つしかないことから、ポートAの結合中にポートBがビ
ジィ応答を行うと、処理ポート決定部72は次に優先受
け付けるポートとしてポートBを決定し、ルート制御部
46はポートAからの起動要求に対してはビジィ応答を
行い、ポートBからの起動要求のみを受け付ける。この
結果、ポートAが低速ポート、ポートBが高速ポートで
あっても、それぞれの連続した起動要求に対し、ルート
制御部46は交互に起動要求を受け付けることができ、
低速ポートAと高速ポートBのビジィ率をほぼ均一にす
ることができる。
【0091】実際には図3の実施例のように、磁気テー
プ制御ユニット10にはポートA〜Hの8つのポートが
設けられており、この場合には、あるポートの結合中に
残り7つのポートのいずれかに起動要求があれば、その
ときのビジィ応答時刻が記憶される。そして、現在の転
送処理が終了してユニットエンドとなった場合には、複
数のビジィ応答時刻の中の最も古い時刻をもつポートか
らビジィエンドを出すことで、起動要求の受付けが割り
付けられることになる。
【0092】図15のフローチャートは、図14の処理
動作である。ステップS1で、複数のポートに対する起
動要求を監視しており、特定のポートに起動要求がある
と、ステップS2で、ポートをチャネルバスに結合して
転送処理を行う。ステップS3で転送処理の終了をチェ
ックしており、転送を終了すると、ステップS4で、結
合中のポートからユニットエンドを応答する。
【0093】このステップS1〜S4において、あるポ
ートの結合中に他のポートから起動要求があれば、ビジ
ィ応答時刻記憶部70に応答時刻が記憶されている。そ
こで、ユニットエンドを応答した後のステップS5で、
ビジィ応答時刻の中から最も古い時刻のポートを処理ポ
ートとして決定し、ステップS6で、決定ポートからビ
ジィエンドを出す。このビジィエンドを受けたビジィ解
除待ちチャネルは、起動要求を再度発行する。
【0094】続いてステップS7で起動要求をチェック
しており、起動要求があると、ステップS8で優先割付
けポートか否かチェックする。優先割付けポートでなけ
れば、ステップS12でビジィ応答を返す。この結果、
優先割付けポートに対する起動要求のみが受け付けら
れ、ステップS9で、チャネルバスに結合して転送処理
が行われる。
【0095】ステップS10で転送処理の終了が判別さ
れると、ステップS11で、処理ポートのビジィ応答時
刻をリセットし、ユニットエンドを応答してステップS
13に戻り、ビジィ応答時刻の記録が残っていれば再び
ステップS5に戻り、残っているビジィ応答時刻の中の
最も古い応答時刻をもつポートを処理ポートとして決定
してビジィエンドを出す処理を繰り返す。ビジィ応答時
刻が残っていなければ、再びステップS1に戻る。 5.再試行割込み処理その1 図16は、本願の第5発明の実施例である。この第5発
明の実施例は、あるポートがチャネルとの結合中に他の
ポートに起動要求が来たら、ビジィを応答する代わりに
チャネル動作の再試行を要求するステータスを応答し
て、現在処理中の転送処理が終了したら、再試行要求を
ステータス応答したチャネルに対し再試行開始の割込み
要求を行って、再結合するようにしたことを特徴とす
る。
【0096】磁気テープ制御ユニット10には、ポート
A,ポートBおよびルート制御部46に加えて再試行割
込み処理部74が設けられる。再試行割込み処理部74
は、例えばポートAの結合中にポートBに起動要求が来
たら、通常はビジィ応答を返していたが、この第4発明
にあっては、チャネル動作の再試行を要求するステータ
スを応答し、ポートBのチャネルバスとの結合を一旦切
り離す。
【0097】次に、ポートAの結合による転送処理が終
了してユニットエンドが応答されたら、再試行要求のス
テータスを応答したチャネルBに対し再試行開始の割込
み要求を行って再結合する。このような再試行割込み処
理部74による起動要求に対する再試行要求ステータス
の応答を受けたチャネル装置は、チャネル動作の再試行
開始の待ち状態に入り、その後、再試行開始の割込み応
答を受けると、再度、起動要求からのコマンドシーケン
スを開始して再結合する。
【0098】このような再試行割込み処理部74の処理
により、磁気テープ制御ユニット10側でどのポートと
再結合するか決定でき、各ポートに対し平均したサービ
スを提供できる。例えば、高速ポートBの起動要求が連
続しており、高速ポートBの結合中に低速ポートAに起
動要求があると、再試行割込み処理部74は再試行要求
ステータスを応答し、ポートAに対するチャネル側を再
試行待ち状態とする。
【0099】高速ポートBの転送処理が終了してユニッ
トエンドを応答すると、再試行割込み処理部74は低速
ポートAを経由して、対応するチャネル装置側に再試行
開始の割込み要求を行って再結合し、再試行開始の割込
みを受けたチャネル装置から起動要求を再発行し、一連
のコマンドシーケンスに従った転送処理を行う。この結
果、高速ポートB側に起動要求が連続しても、高速ポー
トBの結合中に生じた低速ポートAの起動要求がビジィ
応答として排除されず、割込みにより強制的に低速ポー
トAの起動要求が受け入れられ、低速ポートAと高速ポ
ートBに平均してサービスを提供できる。
【0100】図17は、図16で高速ポートBの結合中
に低速ポートAに起動要求があった場合の処理である。
まず高速チャネルBよりスタートI/O要求200が高
速ポートBに対し行われると、結合完了応答202を行
った後、転送処理204,206が行われる。この転送
中に低速チャネルAより低速ポートAにスタートI/O
要求208があると、再試行割込みステータス応答21
0が行われ、低速チャネルAは再試行起動待ちに入る。
【0101】転送処理204,206が終了して制御ユ
ニットエンド212が出されると、これに伴って低速ポ
ートAより低速チャネルAに対し再試行開始割込み通知
214が行われ、再試行開始待ち状態にある低速チャネ
ルAより再度、スタートI/O要求216が発行され
る。これに対し再結合により結合完了応答218が出さ
れ、低速チャネルAと低速ポートAの間の結合で転送処
理220,222が行われる。転送処理が終了すると、
制御ユニットエンド224が出される。
【0102】図18のフローチャートは、図16の実施
例の処理動作である。まずステップS1で、起動要求の
有無をチェックしており、特定のポートに起動要求があ
ると、ステップS2に進み、他のポートが結合状態にな
いことを条件に、チャネルと結合して転送処理を行う。
転送中はステップS3で転送終了が判別されるまで、ス
テップS4で他のポートに起動要求があるか否かチェッ
クしている。
【0103】もし起動要求があると、ステップS5に進
み、起動要求を行ったチャネル装置に対し、ステップS
5で、再試行ステータスを応答するか否かチェックす
る。ここで、現在結合中のポートが低速ポートであり、
結合中に起動要求を受けたポートが高速ポートであった
場合には、優先的に処理する必要がないことから、ステ
ップS7でビジィ応答を返す。
【0104】一方、現在結合中のポートが高速ポートで
あり、結合中に起動要求を受けたポートが低速ポートで
あった場合には、優先的に処理する必要があることか
ら、ステップS6に進み、再試行ステータスを応答す
る。ステップS7で転送終了が判別されると、ステップ
S8に進み、結合中のポートからユニットエンドを応答
する。続いてステップS9で、転送中に再試行ステータ
スの応答を行ったか否かチェックし、もし行っていれ
ば、ステップS10で、再試行ステータスの応答を行っ
た他のポートから再試行開始の割込み要求を発行する。
【0105】もし転送中に再試行ステータスを応答して
いなければ、ステップS11で、ビジィ応答を行った他
のポートからユニットエンドを応答し、再びステップS
1に戻る。尚、上記の第4発明の実施例は、低速ポート
Aと高速ポートBの2つのポートを例にとっているが、
図4に示したように、ポートA〜Hの8つの場合につい
ても同様に適用できる。ポートが3以上となった場合に
は、あるポートの結合中に他の複数のポートで割込み要
求を受ける場合があることから、割込み要求に対する再
試行割込み処理に優先順位を付け、その優先順位に従っ
て再試行開始の割込み通知を行えばよい。 6.再試行割込み処理その2 図19は、本願の第5発明の第1実施例である。この第
5発明にあっては、あるポートの結合中に所定の割込み
条件が成立したら、現在結合中のポートからチャネルに
対し再試行要求のステータスを応答して、一旦結合を切
り離す。次に、全てのポートに関しビジィ応答の状況、
例えば最も新しいビジィ応答時刻やビジィ回数をチェッ
クするか、あるいは割込み要求を解析し、どのポートに
対するサービスを優先させるかを決定する。そして優先
処理を決定したポートからユニットエンドを応答して、
優先的に転送処理を行う。転送処理が終了したら、結合
を切り離したポートから再試行開始の割込み要求を行っ
て再結合し、一度中断した処理を再開する。
【0106】図19の第1実施例は、割込み条件として
一定の時間間隔で割込みを発生させるようにしたことを
特徴とする。磁気テープ制御ユニット10には、ポート
A,ポートBおよびルート制御部46に加えて、割込み
タイマ80、ビジィ応答記憶部82および再試行割込み
処理部76が設けられる。割込みタイマ80は、予め定
めた一定の時間間隔で再試行割込み処理部76にタイマ
出力を生じ、割込み処理を行わせる。
【0107】ビジィ応答記憶部82には、ポートAとポ
ートBのビジィ状態を示す情報として例えば最新のビジ
ィ応答を行った時刻およびビジィ回数が記憶されてい
る。再試行割込み処理部76は、例えば高速ポートBの
結合中に割込みタイマ80のタイムアウトで割込み動作
を開始し、現在結合中にある高速ポートBよりチャネル
装置に対し再試行要求のステータスを応答して、一旦結
合を切り離す。
【0108】高速ポートBとの結合を切り離した後、ビ
ジィ応答記憶部82に記憶している全ポート、即ちポー
トA,ポートBのそれぞれのビジィ状態、例えばビジィ
応答の最新時刻とビジィ回数を参照し、どのポートに対
するサービスを優先すべきかを決定する。例えば、現在
高速ポートBについては処理中であることから、他のポ
ートとなる低速ポートAについてのビジィ時刻が最も古
い時刻で、またビジィ回数がある値を示しているため、
再試行割込み処理部76は低速ポートAを優先的な処理
ポートと決定する。
【0109】処理ポートを決定すると再試行割込み処理
部76は、ルート制御部46を通じて、決定した処理ポ
ートAよりチャネル装置に対しユニットエンドを応答さ
せる。このポートAからのユニットエンドを受けて、そ
れまでのビジィ応答により待ち状態にあるチャネル装置
より起動要求が低速ポートAに対し行われ、有効に結合
されて転送処理を行う。
【0110】低速ポートA側の転送処理が終了してユニ
ットエンドが応答されると、再試行割込み処理部76
は、処理を中断して切り離していた高速ポートBよりチ
ャネル装置に対し再試行開始の割込み要求を発行する。
この割込み要求を受けて、チャネル装置より高速ポート
Bに対し起動要求が行われ、一旦中断された転送処理が
再開される。また、低速ポートAの優先的な処理を終了
してユニットエンドを発行したときに、同時にビジィ応
答記憶部82の低速ポートAに関するビジィ応答時刻お
よびビジィ回数はリセットされる。
【0111】図20のタイムチャートは、図19の再試
行処理の動作である。まず、高速チャネルBよりスター
トI/O要求300が高速ポートBに対し行われ、他の
低速ポートAが結合中にないことから、正常終了として
の結合完了応答302が返され、高速チャネルBおよび
高速ポートBは転送処理304,306を行う。この転
送処理中に割込みタイマによるタイマ割込み308が発
生すると、高速ポートBより高速チャネルBに対し再試
行ステータス応答310を出して、結合を切り離す。
【0112】結合の切離し後に、全ポートA,Bについ
てビジィ応答の状態をチェックし、このとき低速ポート
A側にビジィ応答があった場合には、優先的に処理する
ポートとして低速ポートAを決定する。そして優先処理
を決定したポートAより低速チャネルAに対しユニット
エンド314を発行し、低速チャネルAからスタートI
/O要求316を発行させる。
【0113】スタートI/O要求316は低速ポートA
で正常に受け入れられ、結合完了応答318を返した
後、低速チャネルAと低速ポートAの間で転送処理32
0,322が行われる。この転送処理が終了すると、低
速ポートAよりユニットエンド324が応答され、次に
結合を一旦切り離していた高速ポートBから高速チャネ
ルBに対し再試行開始割込みの通知326が行われる。
【0114】このため、再試行待ち状態にあった高速チ
ャネルBからスタートI/O要求328が出され、高速
ポートBで受け付けられて正常終了となって結合完了応
答330を返し、一旦中断した転送処理を転送処理33
2,334として再開する。再開した転送処理が終了す
れば、ユニットエンド336を高速ポートBから発行す
る。
【0115】このように割込み条件の成立時に、磁気テ
ープ制御ユニット側で現在の結合を切り離してビジィ状
態に応じて優先的に処理すべきポートを決定して割込み
的に転送処理を行わせることで、高速ポートに対する起
動要求が連続するような場合にも、低速ポート側につい
てビジィ−ユニットエンドの循環を防止することができ
る。図21のフローチャートは、図18の割込みタイマ
を用いた再試行割込み処理の処理動作である。まずステ
ップS1で、各ポートに対する起動要求の有無をチェッ
クしており、あるポートに起動要求があると、ステップ
S2に進み、他のポートと結合状態にないことを条件
に、チャネルと結合して転送処理を開始する。
【0116】転送中は、ステップS3で転送終了が判別
されるまで、ステップS4で割込みタイマのタイムアッ
プを監視している。転送中に割込みタイマがタイムアッ
プしたら、ステップS5に進み、現在結合中のポートか
ら再試行要求のステータス応答を行って結合を切り離
す。次にステップS6で、全ポートのビジィ応答の要因
例えば時刻と回数を解析して、優先処理ポートを決定す
る。
【0117】ステップS7では、決定した優先処理ポー
トとステップS5で切り離した切離しポートとが同一ポ
ートか否かチェックする。同一ポートでなければ、ステ
ップS8で、決定ポートからチャネルに対しユニットエ
ンドを応答し、これに伴う起動要求をステップS9で受
けて、ポートを結合して転送処理を行う。続いてステッ
プS10で、割込みによる転送処理が終了すると、ステ
ップS11で、ユニットエンドを応答して結合を切り離
し、次にステップS12で、結合切離しにより再試行開
始待ち状態にあるチャネル装置に対し、結合切離しポー
トから再試行開始の割込み要求を行う。
【0118】この割込み要求を受けて、再試行開始待ち
状態にあるチャネル装置より起動要求が再度行われ、こ
れがステップS1で判別されて、ステップS2で再びポ
ートとチャネルを結合して転送処理を再開する。再開し
た転送処理の終了がステップS3で判別されると、ステ
ップS13でユニットエンドを応答して、一連の転送処
理が終了する。
【0119】一方、ステップS6で全ポートのビジィ応
答の要因を解析して決定された最優先処理ポートが、ス
テップS5で結合を切り離したポートと同一ポートであ
った場合には、直ちにステップS12に進んで、切離し
ポートから再試行開始の割込み要求を行って、再結合に
よる転送処理を直ちに再開する。この図21のフローチ
ャートから明らかなように、図19の高速ポートBの結
合中に割込みタイマによる割込み条件が成立すると、ビ
ジィ待ちにある低速ポートAの優先処理が決定されて、
割込みにより低速ポートA側の転送処理を終了し、その
後に高速ポートBの中断した転送処理を再開することに
なる。
【0120】また、低速ポートA側の処理中に割込みタ
イマによる割込み条件が成立した場合には、ビジィ応答
回数が低速ポート側に偏っていれば、最優先処理ポート
として切離しポートと同じ低速ポートAが再び最優先処
理ポートに決定され、この場合には直ちに再結合のため
の再試行開始の割込み要求によって中断した低速ポート
Aでの転送処理が再開される。勿論、状況によっては低
速ポートの処理中に高速ポート側の転送処理が優先的に
処理されるケースもあり得る。
【0121】また図19〜図21の実施例は、ポート
A,Bの2つを例にとっているが、図5に示したよう
に、実際には磁気テープ制御ユニット10には8つのポ
ートA〜Hが設けられており、再試行割込み処理部76
は割込みタイマによる割込み通知を受けた際に8つのポ
ートA〜Hに関するビジィ応答の状態をチェックして、
優先処理を行うポートを決定することになる。
【0122】図22は本願の第5発明の第2実施例であ
り、この実施例は、各ポートで一定の回数のコマンド処
理を実行したことで割込み条件が成立したものと判断し
て再試行割込み処理を実行するようにしたことを特徴と
する。図22において、磁気テープ制御ユニット10に
は低速ポートA、高速ポートB、ルート制御部46、再
試行割込み処理部76、ビジィ応答記憶部82およびコ
マンドカウンタ84,86を設けている。コマンドカウ
ンタ84は、低速ポートAのコマンド実行回数を計数す
る。コマンドカウンタ86は、高速ポートBのコマンド
実行回数を計数する。
【0123】再試行割込み処理部76は、コマンドカウ
ンタ84または86の計数値が予め定めた一定回数に達
すると再試行割込み処理を実行する。例えば高速ポート
Bの結合による転送処理で一連のコマンドシーケンスが
実行されており、コマンドカウンタ86でコマンド実行
に伴ってカウントアップが行われる。このときの計数値
が一定回数を越えたことを再試行割込み処理部76が判
定すると、現在結合中のポートBよりチャネル装置に対
し再試行要求のステータス応答を行って結合を切り離
す。
【0124】結合を切り離した後、再試行割込み処理部
76は、ビジィ応答記憶部82を参照し、全てのポート
A,Bについてのそれまでのビジィ応答の状況をチェッ
クする。具体的には、ポートA,Bの各々におけるビジ
ィ応答の最新応答時刻およびビジィ回数をチェックす
る。そしてビジィ応答時刻が古くビジィ応答回数の多い
ポートを最優先処理を行うポートとして決定する。この
場合には、低速ポートAを最優先処理ポートに決定す
る。
【0125】この決定を受けてルート制御部46は、低
速ポートAよりチャネル装置にビジィエンドを応答し、
ビジィエンドを受けたチャネル装置より起動要求を低速
ポートAに対し行わせ、ポートAの結合により転送処理
を行う。低速ポートAの割込みによる転送処理が終了す
ると、低速ポートAからのユニットエンドの応答に続い
て再試行割込み処理部76は、高速ポートBより再試行
開始の割込み要求を行い、ポートBを結合して、中断し
た転送処理を再開する。
【0126】再試行割込み処理の詳細は、コマンドカウ
ンタ84,86でポートA,Bのコマンド実行回数を計
数し、このコマンド実行回数が一定値に達したときに再
試行割込み処理を開始する以外は、図19〜図21に示
した第1実施例と同じになる。図23は本願の第5発明
の第3実施例であり、この実施例は各ポートのビジィ率
が一定値に達したときに再試行割込み処理を行うように
したことを特徴とする。
【0127】図23において、磁気テープ制御ユニット
10には、低速ポートA、高速ポートB、ルート制御部
46、再試行割込み処理部76、ビジィ応答記憶部8
2、更にビジィ率演算部88が設けられる。ビジィ率演
算部88は、図4の実施例に示した起動数カウンタ5
4,60、ビジィ数カウンタ56,62およびビジィ率
計測記憶部50で実現することができる。
【0128】再試行割込み処理部76は、ビジィ率演算
部88で演算される低速ポートAのビジィ率R1または
ポートBのビジィ率R2が、予め定めた一定値に達する
か否か判断している。ビジィ率R1またはR2が一定値
に達すると、再試行割込み処理を開始する。再試行割込
み処理は、図19の第1実施例および図22の第2実施
例と同じになる。
【0129】即ち、現在結合中のポートから再試行要求
のステータスを応答して、一旦結合を切り離し、ビジィ
応答記憶部82を参照して、最優先に処理すべきポート
を決定する。決定したポートに対してはビジィエンドを
発行して、起動要求を受け付けて転送処理を行う。割込
みによる転送処理が終了すると、切り離したポートに対
し再試行開始の割込み要求を行って再結合し、中断した
転送処理を再開する。
【0130】尚、第3実施例にあっては、ビジィ率が一
定値に達して再試行割込み処理が行われた場合、全ポー
トのビジィ応答の状況、即ちビジィ応答の時刻、ビジィ
回数から優先処理ポートを決定しているが、割込み要因
となったビジィ率そのものを分析して優先処理ポートを
決定してもよい。即ち、全ポートのビジィ率を分析し、
最もビジィ率の高いポートを優先処理ポートに決定すれ
ばよい。これは、割込み要因そのものの分析による優先
処理ポートの決定といえる。
【0131】図19の第1実施例および図22の第2実
施例についても、図23の第3実施例と同様、ビジィ率
演算部88を設けることで、再試行割込み処理の際に全
ポートのビジィ率を分析して、ビジィ率の最も高いポー
トを優先処理ポートに決定してもよい。 7.入出力ポートのインテリジェント化 図24は本願の第6発明の実施例であり、各ポートにコ
マンド解析機能を設け、他のポートの処理中に実行可能
なコマンドを解析して並列的に処理を行うようにしたこ
とを特徴とする。
【0132】図24において、磁気テープ制御ユニット
10には、低速ポートAに対しコマンド解析実行部92
が設けられ、またポートBに対しコマンド解析実行部9
4が設けられる。コマンド解析実行部92,94は、磁
気テープ制御ユニット10と下位の磁気テープドライブ
ユニット12−1,12−2に対し、独立した制御パス
98で制御信号を供給する。
【0133】これに対し、磁気テープドライブユニット
12−1,12−2側とのデータの転送はデータバス9
6により行われ、このデータバス96に対してはポート
AとポートBを切替えるためのデータルート制御部90
が設けられる。なお、既に説明した第1発明〜第5発明
の実施例にあっては、コマンド解析実行部とデータルー
ト制御部は1つのルート制御部として磁気テープ制御ユ
ニット10に設けられている。
【0134】ポートA,Bごとに設けたコマンド解析実
行部92,94は、起動要求に伴うチャネルとの結合で
受信されたコマンドを解析し、他のポートでデータ転送
中にあっても実行可能なコマンドか否かを判断する。他
のポートの結合によるデータ転送中に実行可能なコマン
ドとしては、磁気テープドライブユニット12−1,1
2−2側での磁気テープのロード動作、アンロード動
作、早送り動作、巻戻し動作などのモーション系のコマ
ンド、および磁気テープドライブユニット12−1,1
2−2側の動作状態を通知するためのセンス系のコマン
ドなどがある。これに対し、他のポート側の結合による
データ転送中に実行できないコマンドとしては、リード
コマンドおよびライトコマンドがある。
【0135】コマンド解析実行部92,94は、他のポ
ートの結合によるデータ転送中に起動要求を受けてモー
ション系またはセンス系のコマンドの受信を解析する
と、ビジィ応答を行わずに結合完了応答を出して受け付
け、モーション系またはセンス系のコマンドを実行す
る。この場合、他のポートの結合でデータ転送を行って
いる磁気テープドライブユニットと、並行して実行する
モーション系またはセンス系コマンドの磁気テープドラ
イブユニットとは、別ユニットでなければならない。ユ
ニットの区別はスタートI/O要求のコマンドパラメー
タとして受信されるドライブ機番でチェックする。
【0136】データ転送系と制御系およびセンス系が独
立に処理可能な磁気テープ制御ユニット10と磁気テー
プドライブユニット12−1,12−2側の間のデバイ
スバスとしては、図示の制御用バス98とデータ転送用
バス96の独立したバス以外に、コマンド処理とデータ
転送が同時に行えるような共通バス構成を用いることも
できる。
【0137】図25のフローチャートは、図24の処理
動作である。まずステップS1で、ポートに対する起動
要求をチェックしており、起動要求を受けると、ステッ
プS2で、そのポートをチャネルと結合してコマンドの
転送処理を行う。次にステップS3で、受信コマンドを
解析する。このコマンド解析によって、データ転送を伴
わないモーション系かまたはセンス系のコマンドかが判
る。
【0138】次のステップS4では、データ転送を伴わ
ないコマンドか、即ちモーション系のコマンドかまたは
センス系のコマンドかを判別する。モーション系コマン
ドまたはセンス系コマンドであれば、ステップS5に進
み、動作中の磁気テープドライブユニットがあるか否か
チェックする。動作中の磁気テープドライブユニットが
あれば、ステップS6で、受信コマンドの解析で得られ
たドライブ機番と現在動作中のドライブ機番が同一か否
かチェックする。
【0139】同一であれば、コマンドの如何に関わらず
実行することはできないため、ステップS10でビジィ
応答を返す。ドライブ機番が異なっていれば、モーショ
ン系コマンドまたはセンス系コマンドは実行可能である
ことから、ステップS7で受信コマンドを実行する。続
いてステップS8で、コマンド実行に伴う一連の転送処
理の終了を判別すると、ステップS9でユニットエンド
を応答して、再びステップS1に戻る。勿論、ビジィ応
答を行ったポートがあれば、ユニットエンドに伴ってビ
ジィエンドを応答する。
【0140】一方、ステップS4でデータ転送を伴うラ
イトコマンドまたはリードコマンドであった場合には、
ステップS11に進み、他のポートでデータ転送中か否
かチェックする。他のポートでデータ転送中にあれば、
データ転送はできないことから、ステップS12でビジ
ィ応答を返し、ステップS1に戻る。他のポートでデー
タ転送中でなければ、ライトコマンドまたはリードコマ
ンドは実行可能であることから、ステップS12でコマ
ンド実行に伴うデータ転送処理を行い、ステップS8で
転送終了を終了すると、ステップS9でユニットエンド
を応答して、再びステップS1の処理に戻る。
【0141】尚、前述した本願の第1発明〜第6発明の
各実施例にあっては、磁気テープを記憶媒体とした磁気
テープ制御ユニットおよび磁気テープドライブユニット
で構成された入出力サブシステムを例にとっているが、
これ以外の入出力装置として、光磁気ディスク装置、磁
気ディスク装置など、適宜の入出力装置を対象とした入
出力制御装置を含むものである。また本発明は、実施例
に示した数値による限定は受けない。
【0142】
【発明の効果】以上説明してきたように本発明によれ
ば、入出力制御装置の複数の入出力ポートを異なった転
送速度のチャネルバスによってホストコンピュータ側の
チャネル装置と接続していても、入出力要求に対するサ
ービスが特定のチャネルとポート間に偏ってしまうこと
を確実に防止でき、チャネル装置からの入出力要求が重
複しても、各入出力ポートに対するサービスをほぼ均一
に提供することができる。
【0143】このため、低速のチャネルとポート間で起
動要求がビジィ応答となってユニットエンドに対し起動
要求を再度行ってもビジィ応答となってしまうビジィ−
ユニットエンドのループ状態へ陥ることを確実に防止
し、ホストコンピュータの入出力要求に対する応答遅れ
でタイムオーバとなり、チェックコンディションとなる
事態を回避して、システム性能を保証することができ
る。
【図面の簡単な説明】
【図1】本願の第1〜3発明の原理説明図
【図2】本願の第4〜6発明の原理説明図
【図3】本発明が適用されるシステムの構成図
【図4】本発明の入出力制御ユニットのブロック図
【図5】第1発明の実施例のブロック図
【図6】図5の起動時間の計測のタイムチャート
【図7】図5の入出力処理のタイムチャート
【図8】図5の入出力処理のフローチャート
【図9】図5の起動時間計測のフローチャート
【図10】図5の待ち時間のタイマセットのフローチャ
ート
【図11】第1発明の変形実施例のブロック図
【図12】第2発明の実施例のブロック図
【図13】図12の入出力処理のフローチャート
【図14】第3発明の実施例のブロック図
【図15】図14の入出力処理のフローチャート
【図16】第4発明の実施例のブロック図
【図17】図16の入出力処理のタイムチャート
【図18】図16の入出力処理のフローチャート
【図19】第5発明の第1実施例のブロック図
【図20】図19の入出力処理のタイムチャート
【図21】図19の入出力処理のフローチャート
【図22】第5発明の第2実施例のブロック図
【図23】第5発明の第3実施例のブロック図
【図24】第6発明の実施例のブロック図
【図25】図24の入出力処理のタイムチャート
【図26】従来装置のブロック図
【図27】従来の入出力制御で起きるビジィ−ユニット
エンドの循環のタイムチャート
【図28】入出力ポートにクロックに同期したタイムス
ロットを割当てる従来制御の説明図
【符号の説明】 10:磁気テープ制御ユニット(入出力制御装置) 12−1〜12−8:磁気テープドライブユニット(入
出力装置) 14−1〜14−8:ホストコンピュータ(上位装置) 16−1〜16−8:チャネル装置 18−1〜18−8:チャネルバス 20−1〜20−8:入出力ポート(ポート) 22:デバイスバス 24:ホストインタフェース部 25:デバイスバス 26:バッファメモリ 28:フォーマッタ部 30:通信情報メモリテーブル 32,38:MPU 34,40:ファームウェア 35:CRT 36:インタフェースプロセッサ 42:フォーマットプロセッサ 44:内部バス 45:キーボード 46:ルート制御部 48:起動時間計測記憶部 50:ビジィ率計測記憶部 52,58:タイマ 54,60:起動数カウンタ 56,62:ビジィ数カウンタ 64,66:カウンタ 68:ビジィ−ユニットエンド循環数判定部(判定部) 74,76:再試行割込み処理部 80:割込みタイマ 82:ビジィ応答記憶部 90:データルート制御部 92,94:コマンド解析実行部 96:データバス 98:制御バス
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図7
【補正方法】変更
【補正内容】
【図7】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図8
【補正方法】変更
【補正内容】
【図8】
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正内容】
【図10】

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】転送速度の異なるチャネルバスを介して上
    位装置側の高速チャネル装置及び低速チャネル装置の各
    々に接続された高速入出力ポート及び低速入出力ポート
    と、 前記複数の入出力ポートの各々に設けられ、他の入出力
    ポートの転送終了に伴いビジィ解除を応答してから起動
    要求を受信するまでの起動時間を、入出力ポート毎に計
    測して記憶する起動時間計測記憶部と、 前記高速チャネル装置から前記高速入出力ポートに起動
    要求を受けた際に、前記起動時間計測記憶部に記憶した
    前記低速入出力ポートの起動時間に亘って前記低速入出
    力ポートに対する起動要求を待ち、該待ち時間中に前記
    低速入出力ポートに起動要求があれば、前記低速チャネ
    ル装置と結合して転送処理を行い、該待ち時間中に低速
    入出力ポートから起動要求がなかった場合は、前記高速
    チャネル装置と前記高速入出力ポートを結合して転送処
    理を行うルート制御部と、を設けたことを特徴とする入
    出力制御装置。
  2. 【請求項2】請求項1記載の入出力制御装置に於いて、
    更に、各入出力ポートのビジィ率を計測して記録するビ
    ジィ率計測記憶部を設け、 前記起動時間計測記憶部は、各入出力ポートの起動時間
    を計測する毎に、最大時間、平均時間及び最小時間を生
    成して記憶し、 前記ルート制御部は、前記ビジィ率計測記憶部に記憶し
    た各入出力ポートのビジィ率が均等になるように、前記
    最大時間、平均時間または最小時間を選択して低速入出
    力ポートの起動要求の待ち時間を設定することを特徴と
    する入出力制御装置。
  3. 【請求項3】請求項1記載の入出力制御装置に於いて、
    前記ビジィ率計測記憶部は、各入出力ポート毎に、計測
    したビジィ応答回数をチャネル装置からの入出力起動回
    数で割ってビジィ率を算出し、記憶したことを特徴とす
    る入出力制御装置。
  4. 【請求項4】請求項2記載の入出力制御装置に於いて、
    前記ルート制御部は、低速入出力ポートのビジィ率が高
    速入出力ポートのビジィ率より大きい場合は前記最大時
    間を選択し、低速入出力ポートのビジィ率が高速入出力
    ポートのビジィ率に等しい場合は前記平均時間を選択
    し、低速入出力ポートのビジィ率が高速入出力ポートの
    ビジィ率より小さい場合は前記最小時間を選択すること
    を特徴とする入出力制御装置。
  5. 【請求項5】転送速度の異なるチャネルバスを介して上
    位装置側の高速チャネル装置及び低速チャネル装置の各
    々に接続された高速入出力ポート及び低速入出力ポート
    の各々につき、他の入出力ポートの転送終了に伴いビジ
    ィ解除を応答してから起動要求を受信するまでの起動時
    間を計測して記憶する起動時間計測記憶過程と、 高速チャネル装置から高速入出力ポートに起動要求を受
    けた際に、低速入出力ポートについて記憶した起動時間
    に亘って該低速入出力ポートに対する起動要求を待つ起
    動要求待ち過程と、 前記起動要求の待ち時間中に低速入出力ポートに起動要
    求があれば、対応する低速チャネル装置と結合して転送
    処理を行い、該待ち時間中に低速入出力ポートから起動
    要求がなかった場合は、前記高速チャネル装置と前記高
    速入出力ポートを結合して転送処理を行うルート制御過
    程と、を備えたことを特徴とする入出力制御方法。
  6. 【請求項6】請求項5記載の入出力制御装置に於いて、
    更に、各入出力ポートのビジィ率を計測して記録するビ
    ジィ率計測過程を備え、 前記起動時間計測記憶過程は、各入出力ポートの起動時
    間を計測する毎に、最大時間、平均時間及び最小時間を
    生成して記憶し、 前記起動要求待ち過程は、前記ビジィ率計測記憶過程で
    求めた各入出力ポートのビジィ率が均等になるように、
    前記最大時間、平均時間または最小時間を選択して低速
    入出力ポートの起動要求の待ち時間を設定することを特
    徴とする入出力制御方法。
  7. 【請求項7】請求項6記載の入出力制御方法に於いて、
    前記ビジィ率計測記憶過程は、各入出力ポート毎に、計
    測したビジィ応答回数をチャネル装置からの入出力起動
    回数で割ってビジィ率を算出し、記憶したことを特徴と
    する入出力制御方法。
  8. 【請求項8】請求項6記載の入出力制御方法に於いて、
    前記ルート制御過程は、低速入出力ポートのビジィ率が
    高速入出力ポートのビジィ率より大きい場合は前記最大
    時間を選択し、低速入出力ポートのビジィ率が高速入出
    力ポートのビジィ率に等しい場合は前記平均時間を選択
    し、低速入出力ポートのビジィ率が高速入出力ポートの
    ビジィ率より小さい場合は前記最小時間を選択すること
    を特徴とする入出力制御方法。
  9. 【請求項9】転送速度の異なるチャネルバスを介して上
    位装置側の高速チャネル装置及び低速チャネル装置の各
    々に接続された高速入出力ポート及び低速入出力ポート
    と、 前記低速入出力ポートから前記低速チャネル装置にビジ
    ィ解除を応答してから起動要求を受信するまでの起動時
    間を計測する起動時間計測部と、 前記低速入出力ポートからのビジィ解除の応答時に、前
    記高速入出力ポートに対する前記高速チャネル装置から
    の処理要求を、前記起動時間に亘り待たせ、その間に前
    記低速入出力ポートに対する前記低速ャネル装置から処
    理要求を受け付けるルート制御部と、
  10. 【請求項10】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートと、 前記複数の入出力ポートの中の低速入出力ポートから低
    速チャネル装置にビジィ解除を応答してから起動要求を
    受信するまでの起動時間を計測する起動時間計測部と、 前記低速入出力ポートから低速チャネル装置へのビジィ
    解除の応答時に、前記高速入出力ポートに対する前記高
    速チャネル装置からの処理要求を、予め設定された待ち
    時間に亘り待たせ、その間に前記低速入出力ポートに対
    する前記低速チャネル装置から処理要求を受け付けるル
    ート制御部と、 前記起動時間計測部の計測時間に基づいて、前記ルート
    制御部の待ち時間を可変させる待ち時間設定部と、を設
    けたことを特徴とする入出力制御装置。
  11. 【請求項11】転送速度の異なるチャネルバスを介して
    上位装置側の高速チャネル装置及び低速チャネル装置の
    各々に接続された高速入出力ポート及び低速入出力ポー
    トと、 前記低速入出力ポートからのビジィ解除の応答時に、前
    記高速入出力ポートに対する前記高速チャネル装置から
    の処理要求を、予め設定した待ち時間に亘り待たせ、そ
    の間に前記低速入出力ポートに対する前記低速チャネル
    装置から処理要求を受け付けるルート制御部と、 オペレータの入力操作によって、前記ルート制御部の待
    ち時間を設定させる待ち時間設定部と、を設けたことを
    特徴とする入出力制御装置。
  12. 【請求項12】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートと、 前記複数の入出力ポートのいずれかで、起動要求に対す
    るビジィ応答と他の入出力ポートの転送終了に伴うビジ
    ィ解除の応答とが繰り返されるループ状態の回数を計数
    し、該ループ回数が所定値を越えるか否か判定する判定
    部と、 前記判定部でループ回数が所定値を越える入出力ポート
    が判定された場合、該判定入出力ポートの起動要求を優
    先的に処理するルート制御部と、を設けたことを特徴と
    する入出力制御装置。
  13. 【請求項13】請求項12記載の入出力制御装置に於い
    て、前記ルート制御部は、前記判定ポートに対する起動
    要求のみを受け付け、他の入出力ポートの起動要求に対
    してはビジィ応答することを特徴とする入出力制御装
    置。
  14. 【請求項14】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートのいずれかで、起動要求に対するビジィ応答
    と他の入出力ポートの転送終了に伴うビジィ解除の応答
    とが繰り返されるループ状態の回数を計数し、該ループ
    回数が所定値を越えるか否か判定する判定過程と、 前記判定過程でループ回数が所定値を越える入出力ポー
    トが判定された場合、該判定入出力ポートの起動要求を
    優先的に処理するルート制御過程と、を備えたことを特
    徴する入出力制御方法。
  15. 【請求項15】請求項14記載の入出力制御方法に於い
    て、前記ルート制御過程は、前記判定ポートに対する起
    動要求のみを受け付け、他の入出力ポートの起動要求に
    対してはビジィ応答することを特徴とする入出力制御方
    法。
  16. 【請求項16】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートと、 前記複数の入出力ポートの各々につき、起動要求に対す
    るビジィ応答を行った時刻を記憶するビジィ応答時刻記
    憶部と、 前記起動要求に対する転送処理の終了毎に、前記ビジィ
    応答時刻の中の最も古い応答時刻をもつ入出力ポート
    を、優先処理ポートに決定する処理ポート決定部と、 前記処理ポート決定部で決定した優先処理ポートの起動
    要求を優先的に処理するルート制御部と、を設けたこと
    を特徴する入出力制御装置。
  17. 【請求項17】請求項16記載の入出力制御装置に於い
    て、前記ルート制御部は、前記優先処理ポートに対する
    起動要求のみを受け付け、他の入出力ポートの起動要求
    に対してはビジィ応答することを特徴とする入出力制御
    装置。
  18. 【請求項18】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートの各々につき、起動要求に対するビジィ応答
    を行った時刻を記憶するビジィ応答時刻記憶過程と、 前記起動要求に対する転送制御の終了毎に、前記ビジィ
    応答時刻の中の最も古い応答時刻をもつ入出力ポート
    を、優先処理ポートに決定する処理ポート決定過程と、 前記処理ポート決定過程で決定した優先処理ポートの起
    動要求を優先的に処理するルート制御過程と、を設けた
    ことを特徴とする入出力制御方法。
  19. 【請求項19】請求項18記載の入出力制御方法に於い
    て、前記ルート制御過程は、前記優先処理ポートに対す
    る起動要求のみを受け付け、他の入出力ポートの起動要
    求に対してはビジィ応答することを特徴とする入出力制
    御方法。
  20. 【請求項20】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートと、 前記複数の入出力ポートのいずれかに対するチャネル装
    置からの起動要求に伴なう結合、結合中の転送処理、及
    び転送終了に伴うエンドステータスの応答を行うルート
    制御部と、 前記ルート制御部によって特定のチャネル装置と入出力
    ポートとの結合中に、他の入出力ポートに他のチャネル
    装置から起動要求があった場合、該他の入出力ポートか
    ら再試行ステータスを応答して前記他のチャネル装置と
    の結合を切り離し、現在処理中の入出力ポートとチャネ
    ル装置の結合終了時に、前記他の入出力ポートから再試
    行開始の割込み通知を前記他のチャネル装置に通知して
    起動要求を再試行させる再試行割込み処理部と、を設け
    たことを特徴とする入出力制御装置。
  21. 【請求項21】特定のチャネル装置と入出力ポートとの
    結合中に、他の入出力ポートに他のチャネル装置から起
    動要求があった場合、該他の入出力ポートから再試行ス
    テータスを応答して前記他のチャネル装置との結合を切
    り離し、現在処理中の入出力ポートとチャネル装置の結
    合終了時に、前記他の入出力ポートから再試行開始の割
    込みを前記他のチャネル装置に通知して起動要求を再試
    行させることを特徴とする入出力制御方法。
  22. 【請求項22】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートと、 前記複数の入出力ポートのいずれかに対するチャネル装
    置からの起動要求に伴なう結合、結合中の転送処理、及
    び転送終了に伴うエンドステータスの応答、更には他の
    入出力ポートが結合中の起動要求に対しビジィ応答を行
    うルート制御部と、 前記ルート制御部によって特定のチャネル装置と入出力
    ポートとの結合による転送処理中に所定の割込条件が成
    立した場合、前記入出力ポートから前記チャネル装置に
    再試行ステータスを応答し転送処理を中断して結合を切
    り離し、全ポートに関するビジィ応答の状態を解析して
    優先処理ポートを決定し、該優先処理ポートから他のチ
    ャネル装置にエンドステータスを応答して起動要求を行
    わせ、該起動要求に伴なう転送処理の終了時に、前記入
    出力ポートから前記チャネル装置に再試行開始の割込み
    を通知して中断した転送処理を再開させる再試行割込み
    処理部と、を設けたことを特徴とする入出力制御装置。
  23. 【請求項23】請求項22記載の入出力制御装置に於い
    て、前記再試行割込み処理部は、一定時間に達する毎
    に、再試行割込み処理を行うことを特徴とする入出力制
    御装置。
  24. 【請求項24】請求項22記載の入出力制御装置に於い
    て、前記再試行割込み処理部は、結合中の前記入出力ポ
    ートのコマンド処理回数が所定値に達した時に、再試行
    割込み処理を行うことを特徴とする入出力制御装置。
  25. 【請求項25】請求項22記載の入出力制御装置に於い
    て、前記再試行割込み処理部は、前記入出力ポートの結
    合中に、他の入出力ポートに対する起動要求に対するビ
    ジィ応答でビジィ率が所定値に到達した時、再試行割込
    み処理を行うことを特徴とする入出力制御装置。
  26. 【請求項26】上位装置側の特定のチャネル装置と入出
    力ポートとの結合による転送処理中に所定の割込条件が
    成立するか否かを判定する判定過程と、 前記判定過程で割込条件が成立した場合、前記入出力ポ
    ートから前記チャネル装置に再試行ステータスを応答し
    転送処理を中断して結合を切り離し、全ポートに関する
    ビジィ応答の状態を解析して優先処理ポートを決定し、
    該優先処理ポートから他のチャネル装置にエンドステー
    タスを応答して起動要求を行わせ、該起動要求に伴なう
    転送処理の終了時に、前記入出力ポートから前記チャネ
    ル装置に再試行開始の割込みを通知して中断した転送処
    理を再開させる再試行割込み過程と、を備えたことを特
    徴とする入出力制御方法。
  27. 【請求項27】請求項26記載の入出力制御方法に於い
    て、前記判定過程は、一定時間に達する毎に、割込条件
    の成立を判定することを特徴とする入出力制御方法。
  28. 【請求項28】請求項26記載の入出力制御装置に於い
    て、前記判定過程は、結合中の前記入出力ポートのコマ
    ンド処理回数が所定値に達した時に、割込条件の成立を
    判定することを特徴とする入出力制御方法。
  29. 【請求項29】請求項26記載の入出力制御方法に於い
    て、前記判定過程は、前記入出力ポートの結合中に、他
    の入出力ポートに対する起動要求に対するビジィ応答で
    ビジィ率が所定値に到達した時、割込条件の成立を判定
    することを特徴とする入出力制御方法。
  30. 【請求項30】転送速度の異なるチャネルバスを介して
    上位装置側の複数のチャネル装置に接続された複数の入
    出力ポートと、 前記複数の入出力ポート毎に設けられ、他の入出力ポー
    トの結合中の起動要求に伴って受信したコマンドが実行
    可能なコマンドか否か解析し、実行可能なコマンドであ
    れば前記起動要求を受け付けて内部資源に対するコマン
    ド処理を実行するコマンド解析実行部と、を設けたこと
    を特徴とする入出力制御装置。
  31. 【請求項31】請求項30記載の入出力制御装置に於い
    て、前記コマンド解析実行部は、他の入出力ポートの結
    合によって内部資源のデータ転送を行っている場合、別
    の内部資源で且つデータ転送を伴わない制御系のコマン
    ドであれば、起動要求を受け付けて他の内部資源に対す
    るコマンド処理を実行することを特徴とする入出力制御
    装置。
  32. 【請求項32】請求項30記載の入出力制御装置に於い
    て、前記内部資源は、共通データバスに対し独立した制
    御バスを備えた複数の入出力装置であることを特徴とす
    る入出力制御装置。
  33. 【請求項33】他の入出力ポートが結合中の状態で、特
    定の入出力ポートで起動要求に伴ってコマンドが受信さ
    れた場合、該受信コマンドが実行可能なコマンドか否か
    解析するコマンド解析過程と、 該コマンド解析過程で受信コマンドが他の入出力ポート
    が結合中の状態で実行可能なコマンドと解析された場
    合、前記起動要求を受け付けて内部資源に対するコマン
    ド処理を実行するコマンド実行過程と、を備えたことを
    特徴とする入出力制御方法。
  34. 【請求項34】請求項33記載の入出力制御方法に於い
    て、前記コマンド解析過程は、他の入出力ポートの結合
    によって内部資源のデータ転送を行っている場合、別の
    内部資源で且つデータ転送を伴わない制御系のコマンド
    であれば、実行可能なコマンドと判定することを特徴と
    する入出力制御方法。
JP20850694A 1994-09-01 1994-09-01 入出力制御装置及び入出力制御方法 Expired - Fee Related JP3474646B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP20850694A JP3474646B2 (ja) 1994-09-01 1994-09-01 入出力制御装置及び入出力制御方法
US08/503,162 US5781800A (en) 1994-09-01 1995-07-17 System for processing activation request of port by counting number of busy response for activation request and response of busy end association with another port
DE69535635T DE69535635T2 (de) 1994-09-01 1995-07-31 Vefahren und Vorrichtung zur Ein-/Ausgabeanforderungsverarbeitung mit einer Mehrzahl von Kanalbussen
EP01115735A EP1143343A3 (en) 1994-09-01 1995-07-31 Method and apparatus for processing input/output requests using a plurality of channel buses
EP95305348A EP0703535B1 (en) 1994-09-01 1995-07-31 Method and apparatus for processing input/output requests from several host computer
EP07123186A EP1939755A3 (en) 1994-09-01 1995-07-31 Method and apparatus for processing input/output requests using a plurality of channel buses
DE69525120T DE69525120T2 (de) 1994-09-01 1995-07-31 Verfahren und Vorrichtung zur Verarbeitung von Ein-/Ausgabeanforderungen von mehreren Host-Rechnern
EP01115734A EP1143342B1 (en) 1994-09-01 1995-07-31 Method and apparatus for processing input/output request using a plurality of channel buses
US08/992,736 US6029008A (en) 1994-09-01 1997-12-17 Method and apparatus for processing input/output request by using a plurality of channel buses
US09/248,364 US6366963B2 (en) 1994-09-01 1999-02-10 Method and apparatus for processing input/output request by using a plurality of channel buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20850694A JP3474646B2 (ja) 1994-09-01 1994-09-01 入出力制御装置及び入出力制御方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2003126127A Division JP4202812B2 (ja) 2003-05-01 2003-05-01 入出力制御装置および入出力制御方法
JP2003278844A Division JP4160470B2 (ja) 2003-07-24 2003-07-24 入出力制御装置および入出力制御方法

Publications (2)

Publication Number Publication Date
JPH0877092A true JPH0877092A (ja) 1996-03-22
JP3474646B2 JP3474646B2 (ja) 2003-12-08

Family

ID=16557292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20850694A Expired - Fee Related JP3474646B2 (ja) 1994-09-01 1994-09-01 入出力制御装置及び入出力制御方法

Country Status (4)

Country Link
US (3) US5781800A (ja)
EP (4) EP1143343A3 (ja)
JP (1) JP3474646B2 (ja)
DE (2) DE69525120T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
US6330585B1 (en) * 1998-10-14 2001-12-11 International Business Machines Corporation Transfer information using optical fiber connections
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6240446B1 (en) 1998-10-14 2001-05-29 International Business Machines Corporation Multiplexing of multiple data packets for multiple input/output operations between multiple input/output devices and a channel subsystem having multiple channels
US6434637B1 (en) * 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
US6820115B1 (en) * 1999-04-09 2004-11-16 Nortel Networks Limited Apparatus and method for mediating message transmission across a network
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6499066B1 (en) 1999-09-27 2002-12-24 International Business Machines Corporation Method and apparatus for using fibre channel test extended link service commands for interprocess communication
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
JP2005115600A (ja) 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
US7574548B2 (en) * 2007-09-12 2009-08-11 International Business Machines Corporation Dynamic data transfer control method and apparatus for shared SMP computer systems
CN101539771B (zh) * 2008-03-21 2012-09-19 鸿富锦精密工业(深圳)有限公司 主设备对从设备的自动定址系统
US8966126B2 (en) 2012-04-10 2015-02-24 Oracle International Corporation Multiple path load distribution for host communication with a tape storage drive
US8769162B2 (en) 2012-04-10 2014-07-01 Oracle International Corporation Multiple path load distribution for host communication with a tape storage device
US10055368B2 (en) * 2016-02-26 2018-08-21 Sandisk Technologies Llc Mobile device and method for synchronizing use of the mobile device's communications port among a plurality of applications

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4191997A (en) * 1978-04-10 1980-03-04 International Business Machines Corporation Circuits and methods for multiple control in data processing systems
US4310882A (en) * 1978-12-28 1982-01-12 International Business Machines Corporation DAS Device command execution sequence
JPS5654535A (en) * 1979-10-08 1981-05-14 Hitachi Ltd Bus control system
JPS5947625A (ja) * 1982-09-13 1984-03-17 Fujitsu Ltd 入出力割り込み方式
US4901232A (en) * 1983-05-19 1990-02-13 Data General Corporation I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
USH696H (en) * 1984-07-03 1989-10-03 Cpt Corporation System for accessing shared resource device by intelligent user devices
US4815074A (en) * 1986-08-01 1989-03-21 General Datacomm, Inc. High speed bit interleaved time division multiplexer for multinode communication systems
JPH0752420B2 (ja) * 1986-09-10 1995-06-05 株式会社日立製作所 入出力装置アドレス方式
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US5129090A (en) * 1988-05-26 1992-07-07 Ibm Corporation System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
JPH0267653A (ja) * 1988-09-01 1990-03-07 Fujitsu Ltd ポインタ制御方式
US5179667A (en) * 1988-09-14 1993-01-12 Silicon Graphics, Inc. Synchronized DRAM control apparatus using two different clock rates
FR2644260B1 (fr) * 1989-03-08 1993-10-29 Nec Corp Dispositif de commande d'acces en memoire pouvant proceder a une commande simple
JPH0831077B2 (ja) * 1989-04-07 1996-03-27 富士通株式会社 入出力サブシステムのチャネルパス負荷率均等化方法
DE69029760T2 (de) * 1989-05-15 1997-07-17 Ibm Dateiverriegelung in einem verteilten Dateisystem
US5276678A (en) * 1990-06-18 1994-01-04 Intelect, Inc. Distributed switching and telephone conferencing system
US5255372A (en) * 1990-08-31 1993-10-19 International Business Machines Corporation Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters
JPH04167648A (ja) * 1990-10-29 1992-06-15 Fujitsu Ltd データ伝送装置
US5241630A (en) * 1990-11-13 1993-08-31 Compaq Computer Corp. Device controller with a separate command path between a host and the device and a separate data path including a first in, first out memory between the host and the device
JPH04373056A (ja) * 1991-06-21 1992-12-25 Matsushita Electric Ind Co Ltd 割り込みコントローラ
IE922761A1 (en) * 1992-10-21 1994-05-04 Digital Equipment Internat Ltd Port controller
US5572694A (en) * 1992-11-25 1996-11-05 Fujitsu Limited Virtual system for detecting access paths belonging to same group from plurality of access paths to reach device designated by command with reference to table
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5509126A (en) * 1993-03-16 1996-04-16 Apple Computer, Inc. Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
US5933648A (en) * 1996-12-20 1999-08-03 Intel Corporation Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input

Also Published As

Publication number Publication date
JP3474646B2 (ja) 2003-12-08
EP0703535A2 (en) 1996-03-27
EP0703535B1 (en) 2002-01-23
DE69535635T2 (de) 2008-07-10
DE69525120D1 (de) 2002-03-14
EP1939755A3 (en) 2008-07-30
EP1143342B1 (en) 2007-10-31
US5781800A (en) 1998-07-14
US6366963B2 (en) 2002-04-02
US20010034801A1 (en) 2001-10-25
EP1939755A2 (en) 2008-07-02
DE69535635D1 (de) 2007-12-13
EP0703535A3 (en) 1996-10-02
EP1143342A3 (en) 2004-10-06
DE69525120T2 (de) 2002-06-13
US6029008A (en) 2000-02-22
EP1143343A2 (en) 2001-10-10
EP1143343A3 (en) 2004-10-06
EP1143342A2 (en) 2001-10-10

Similar Documents

Publication Publication Date Title
JP3474646B2 (ja) 入出力制御装置及び入出力制御方法
US7925922B2 (en) Failover method and system for a computer system having clustering configuration
JP4160470B2 (ja) 入出力制御装置および入出力制御方法
JP4202812B2 (ja) 入出力制御装置および入出力制御方法
JPH0844649A (ja) データ処理装置
JP2550811B2 (ja) 通信制御方法
US5878278A (en) System for controlling connection requests by each IO controllers storing and managing a request queue wherein additional channel addresses can be added
EP1118942B1 (en) Method of and system for managing reselection on a scsi bus
CN116185649A (zh) 存储控制方法、存储控制器、存储芯片、网卡、可读介质
JPS6235150B2 (ja)
JPH0483439A (ja) データ転送量異常検出方式
JPH11327793A (ja) 記憶制御装置
US20240054012A1 (en) Inter-chip communication circuit, method and system
JP2809164B2 (ja) 双方向データ通信システム
TW202336602A (zh) 基於rs232序列埠實現的資料與指令傳輸方法
JP2535611B2 (ja) 情報処理装置
JPS593528A (ja) 共用制御方式
JPH0831077B2 (ja) 入出力サブシステムのチャネルパス負荷率均等化方法
JPH02282855A (ja) Dma転送制御方法
JPH0754487B2 (ja) チャネル・インターフェイス回路
JPH06274440A (ja) Scsiバス制御におけるsave data point処理方法
JPH0131223B2 (ja)
JP2003167838A (ja) Scsiデバイス及びその制御方法
JPH0833867B2 (ja) 記憶制御監視方式
JPH05143554A (ja) マルチプロセツサシステムの制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030819

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

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090919

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees