JPH04314160A - ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム - Google Patents

ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム

Info

Publication number
JPH04314160A
JPH04314160A JP3200124A JP20012491A JPH04314160A JP H04314160 A JPH04314160 A JP H04314160A JP 3200124 A JP3200124 A JP 3200124A JP 20012491 A JP20012491 A JP 20012491A JP H04314160 A JPH04314160 A JP H04314160A
Authority
JP
Japan
Prior art keywords
channel
polling
access
memory
request
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
JP3200124A
Other languages
English (en)
Other versions
JPH0772888B2 (ja
Inventor
Michael T Benhase
マイケル トーマス ベンハセ
Florence J Clark
フローレンス ジョアン クラーク
William T Higgins
ウィリアム トーマス ヒギンズ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04314160A publication Critical patent/JPH04314160A/ja
Publication of JPH0772888B2 publication Critical patent/JPH0772888B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は全体として中央処理装置
における入出力チャネルの処理、殊に非同期チャネル処
理用の装置のダイナミックポーリングに関する。
【0002】
【従来の技術】IBMシステム/360の導入以来、大
型と中間システムのダイレクトアクセス記憶装置は殆ん
ど全てカウントキーデータ(CKD)トラックフォーマ
ットを使用している。前記装置群はその間でデータを読
書きするために使用される共通の一組のCKD手続コマ
ンドに対して反応する。
【0003】殊に同期処理用に一定のCKDチャネルプ
ログラムが設計されている。CKDコマンドの下では前
記装置とそれらのメモリコントローラはシステムチャネ
ルと同期して動作する。目的のデータフィールドが装置
上の読出し/書込みヘッドを通過する時にそれぞれのサ
ーチ、読出し又は書込みのコマンドに対してチャネルデ
ータの転送が行われる。CKDコマンドはこの同期処理
方式によるものである。
【0004】前記同期処理方式の下では、一個のコマン
ドの実行を終了し次のコマンドの実行を開始するために
必要とされるチャネルとメモリの制御活動は全て2つの
付属フィールド間のギャップ内で完了させる必要がある
。もし以上のように同期が維持されない場合、チャネル
の多くは性能の低下を蒙る虞れがある。書込処理はかか
るチャネルプログラムの一つである。
【0005】書込処理を実行するチャネルプログラムは
同期処理によって行われる。全ての書込みコマンドの前
にはサーチ処理が成功裡に行われなければならず、書込
コマンドはメモリコントローラがサーチ処理の完了を報
告するまでメモリコントローラへは送られない。従って
、前記サーチの完了、その結果のチャネルへの報告、チ
ャネルからの次のコマンドの受取り、および同コマンド
の解釈は全てレコードエリアの終りと次の記録フィール
ドの開始の間に行われなければならない。
【0006】幾何学依存のチャネルプログラムはチャネ
ルと装置間の同期処理に依存する。幾何学依存チャネル
プログラムは一個の装置シリンダ中のレコードとトラッ
クがほぼ垂直方向に整合したものと、一つのトラックか
ら別のトラックへの切換えのようにレコードを所望順序
で処理するために特殊の技術を使用するものである。か
かるプログラムは実データレコード間に小さなフィラー
レコードを挿入している。このことを行うのは例えばデ
ィスク装置を余分に回転させずにコマンドを連続するコ
マンド間で実行することができるレコード間ギャップを
効果的に大きくするためである。前記フィラーレコード
の所要サイズは装置のタイプが変化するに応じて変化す
るのが普通であり、全体としてメモリコントローラの関
数として変化する。データレコードの大きさはデータレ
コード自体がフィラーレコードとして働くことによって
フィラーレコードに対するトラック容量を犠牲にするこ
とがないように選択することができる。データとフィラ
ーレコードの大きさの選択は同期処理の仮定に基づいて
おり、装置やメモリコントローラの動作特性が変化する
場合にはプログラムの変更さえ必要となる虞れがある。
【0007】ケーブル長さによる遅延が大きすぎてレコ
ード間ギャップが小さすぎる場合のように、もしチャネ
ルプログラムと装置が同期して動作不可能な場合には、
CKDチャネルプログラムの性能が影響を受ける。一つ
又はそれ以上の連続するレコードを読取るチャネルプロ
グラムの中継時間はチャネルが装置より遅れる値だけ拡
張される。1個もしくはそれ以上のレコードを書込むチ
ャネルプログラムはレコードが書込まれる毎に1回の装
置回転だけ遅れるのが普通である。多数レコードを更新
するチャネルプログラムはそれぞれの更新書込コマンド
の前にサーチが成功する必要があるために書込みコマン
ド毎に一回転を失うことになる。幾何学依存チャネルプ
ログラムはその中のシーク又はシークヘッドコマンド毎
に装置回転を1回だけ遅らせる傾向がある。同期的環境
の下で丁度一回のシーク処理を可能にするだけの大きさ
のフィラーレコードはシークを完了するために要する時
間とチャネルが装置より遅れる大きさを共に収容できる
程大きくはない。フィラーレコードの大きさを調節する
だけでは前記ラグの大きさが一貫せず、また予測するこ
とが不可能なために問題を解決するものではない。
【0008】テープとディスク装置は同装置と同期して
実行されたチャネルプログラムを使用することによって
チャネルによって制御されるのが普通である。即ち、装
置のトラック上に記録されたフィールドがヘッドの読取
り/書込み素子を通過する時に、それらのフィールドに
作用する特定のチャネルプログラムコマンドがリアルタ
イムに実行される。このことはチャネルに対して一定の
最小限速度が必要とされることを意味する。例えば、チ
ャネルデータ速度能力は少なくとも装置のデータ速度と
同程度大きくなければならない。更に、データフィール
ド間のフィールド間ギャップ中では所与のフィールドに
対する処理の終りにチャネルに信号を送ると同時に次の
フィールドに対するコマンドを適時に検索してそのフィ
ールドを処理することができなければならない。
【0009】ヘッド素子がダイレクトアクセスディスク
装置上の正確なトラックと位置に向けられる断続時期の
終りにはチャネルに対する接続を再び適時に確立してエ
ントリーのレコードを処理することが可能でなければな
らない。
【0010】以上の要求条件は例えばチャネルと交信す
るために必要とされる時間が大きい場合には常に満たさ
れることは限らない。こうしたことが起るのは装置とC
PU間のチャネルの距離が大きい場合である。同様に、
フィールド間のギャップを出来るだけ小さく維持するこ
とによって装置の容量を最大限にする誘因が存在する。 このことはフィールド間ギャップ中で利用可能な時間が
少ないためにチャネル時間の増加に対しては不利に作用
する。もしこうしたことが起こるとすれば、フィールド
間ギャップ中にコマンドのターンアラウンドを達成する
ことは不可能になる虞れがある。
【0011】同期チャネルプログラムが必要であるもう
一つの理由は、チャネルの活用度がより多くのテープと
、殊にディスク装置の数が増加することによって大きく
なるためである。何れの装置をCPUに対するチャネル
接続を適時に取得してディスク装置にでのトランスジュ
ーサの回転位置決めに続いてレコードを処理することは
増々困難になっている。更に、今日のデバイス技術の先
進段階によってデータ速度が今日利用可能なチャネルの
速度を上廻るような装置が出現している。その結果、前
記チャネルは前記の如き装置の先進的なデータ速度につ
いてゆくことはできないでいる。
【0012】
【発明が解決しようとする課題】従って、本発明の目的
はギャップの無い同期作用を提供することである。
【0013】同期チャネルはコントローラと付属テープ
・ディスク装置にとって重要なチャネル応答時間に合致
する必要がある。もしチャネルが最大限許容時間間隔以
内にその接続コマンドに応答しない場合には割込の撤回
や、回転の喪失、コマンドオーバーラン、データオーバ
ーランが生ずることになろう。
【0014】従って、本発明のもう一つの目的はダイナ
ミックポーリング処理によってこれらのチャネル応答時
間の要求条件を除去することである。
【0015】従来、同期入出力コントローラは、リクエ
ストイン信号が確実にコントローラによりポーリングさ
れ接続が実現されたりエージング期間を上廻るような場
合に途絶するようにするために必要とされる期間、チャ
ネルリクエストイン信号をインターフェース上に保持す
るようにしている。このためにコントローラの性能に深
刻な影響が及ぶことはなかった。非同期I/Oコントロ
ーラは同期コントローラのチャネル接続時間のほぼ10
倍をサポートする。一方、ポーリングが行われ実際の接
続が行われる時間中の他の仕事の遅滞は性能に深刻な影
響を及ぼす虞れがある。
【0016】従って、本発明の目的は非同期チャネルの
ダイナミックポーリングを改善することである。
【0017】
【課題を解決するための手段及び作用】本発明の場合、
非同期I/Oコントローラの装置はチャネルに対する接
続時間を調節するために設定された周波数で連続的にポ
ーリングされる。非同期コントローラを使用する場合に
はずっと長いケーブルを使用することが可能になる。ケ
ーブルの長さを大きくすると一装置がポーリングされた
後の応答時間の遅れは可変でなければならない。最短の
遅れはポーリング周波数を設定する一方、最長の遅れは
接続が達成される以前にリクエストが保持されなければ
ならないポーリングサイクル数を設定する。ポーリング
が行われず交信が行われない間はチャネルとコントロー
ラは低レベルの割込みと自由に交信し処理することがで
きる。リクエストイン信号は最長のケーブルの遅れにつ
いては持続できない。何故ならば、装置のポーリングが
一定の周波数で行われ、異なった長さのケーブルによる
遅れからリクエストイン信号を検出し、一定の周波数で
接続を処理し、最短、中程度および最長のケーブル長の
装置が遅れ接続時間に従って保持されるようにしている
からである。
【0018】本発明の場合、I/Oコントローラに対す
るダイナミックポーリング装置はチャネルからの応答に
対して要求される時間だけリクエストを保持すると共に
不要な遅れを伴わずにリクエストを処理することによっ
て例えばテープやディスク装置からのチャネル接続要求
を管理する。ダイナミックポーリング装置は装置をポー
リングしてアクセス信号に対する要求を発見するための
手段を含む。装置のポーリングは装置とI/Oコントロ
ーラ間に期待される最短と最長の時間遅れによって決定
される設定周波数によって行われる。アクセス信号に対
する要求はそれぞれのポーリングが装置に対して行われ
た後にメモリ手段内にストアされシフトされる。各チャ
ネルの遅れ時間は装置からのアクセス要求と共にメモリ
手段内にストアされる。アクセス信号に対する要求はI
/Oコントローラに提示され、チャネルからの接続応答
がメモリ手段におけるアクセス信号に対する要求の位置
によって決定されるようにして受取られると思われる時
間だけエージングされる。もし前記接続が行われなけれ
ば、チャネルからの応答が同応答に対して割当てられた
時間内に受取られなかったためにアクセス信号に対する
要求は失効したものとしてドロップされる。一方、もし
前記接続応答がタイムリーに受取られればアクセス要求
が行われる。それぞれのアクセス要求は、アクセス信号
に対する要求をメモリ手段の特定部分内へシフトさせる
ことによってアクセスを要求するデバイスに対する通信
応答時間の遅れに従ってチャネルに対して接続される間
保持される。前記特定部分はチャネル補正を行わなけれ
ばならなかったであろう時間に対応するものである。
【0019】それ故、本発明の目的は更に、チャネルと
サポートされたテープ・ディスク装置間の交信の遅れに
よって必要とされるタイミング条件からチャネルとコン
トローラを解放することである。
【0020】以上の目的、特徴、ならびに利点は添附図
面に示す本発明の実施例の詳説から明らかとなる。
【0021】
【実施例】図1に示すシステムの最良の働きを理解する
ために非同期設計者は多重メモリパス構造を使用して4
つのメモリパスに対してダイナミック再接続を行う。前
記非同期システムはメモリコントローラとチャネルもし
くは装置の何れか一方との間でデータの転送を開始する
前にI/O処理の性質と範囲を知る必要がある。かかる
情報を提供するために、カウントキーデータ(CKD)
コマンドの集合を幾つかの新たなコマンドを追加するこ
とによって拡張して拡張カウントキーデータ(ECKD
)コマンドの集合を形成している。ECKDコマンドの
集合の主な目的は、最初の転送コマンドが実行される前
にデータ転送処理の性質と範囲が完全に記述されるよう
なチャネルプログラム、即ち予言的なチャネルプログラ
ムを可能にすることによってメモリサブシステムに対し
てデータ転送処理中に何が進行中であるかを知らせ続け
ることである。メモリサブシステムに対してデータ転送
処理の意図と範囲を知らせるために、位置付けレコード
コマンドを使用して実行さるべきデータ転送の種類、処
理さるべきレコード数、トラック、セクタ、およびデー
タ転送を開始する前に装置を位置決めすべきレコード識
別子を搬送する。また、前記ECKDコマンドは定義範
囲コマンドを含み、同コマンドはチャネルプログラムが
処理可能なトラック範囲を規定し、チャネルプログラム
中の定義範囲コマンドに続くコマンドの一定属性と同コ
マンドに対する制約を規定する。
【0022】非同期処理は1コマンドの実行を終了し次
のコマンドの実行を開始するために必要とされるチャネ
ルと制御装置の活動が必ずしも単一のレコード間ギャッ
プ内で行われるには及ばないような方式として定義され
る。非同期処理の場合、チャネルは一定の読取り動作に
ついて装置よりも若干後れて実行し、書込み処理につい
ては装置よりも幾分先行して実行することが可能である
。一つのチャネルプログラムの実行中に観察されるリー
ドタイム又はラグタイムの大きさは、通常の場合、装置
又はメモリコントローラの一定性質にではなく現在の動
作環境に依存することになろう。非同期処理はチャネル
と装置による処理が時間的にどれ程隔たっていなければ
ならないかを規定せず、また、それらがどれ程隔たるこ
とが可能かも限定しない。読取り処理中、メモリコント
ローラは少数バイト、1フィールド、1レコード、もし
くは更に数レコードを最初の読取りコマンドが実行され
る前にバッファ内へ読込むことができる。書込み処理時
、メモリコントローラは一つもしくはそれ以上の書込み
コマンドを受取り、それと関連するデータを最初のフィ
ールドが装置に書込まれる前にバッファ内へ転送するこ
とができる。拡張カウントキーデータ(ECKD)のコ
マンド集合はCKDコマンド集合と同一のトラックアド
レシングスキームを使用している。トラックは一つの装
置に対して直接アドレス指定可能な最小スペースである
。各トラックはインデクスと称される任意のスタート点
を有する。一つのECKDコマンド集合はトラックが装
置の全回転に対応するか又は対応しないようにトラック
を規定する。トラックはシリンダと称される複数の組に
グルーピングされる。ECKDコマンドの集合は1シリ
ンダを任意のトラック群となるように規定する。
【0023】唯一の要求条件は全シリンダが同数のトラ
ックを含み、一シリンダ内のトラックがゼロから始まっ
て連続的に番号を振る点だけである。ECKDコマンド
の集合は、データ転送処理を実行するためにストレート
ホワードなチャネルプログラムの構造を推奨し、装置の
トラックとシリンダ構成の基礎になっているデバイス形
状の信頼性のあるインプリントを拒否する。トラックフ
ォーマットはECKDコマンド集合の場合、CKDコマ
ンド集合の場合と同じである。トラック上の最初のエリ
アはホームアドレスであって、トラックを同定し、その
状態を表示する、即ち、それが使用可能なトラックであ
るか欠陥のあるトラックであるかを表示する。ホームア
ドレスの次にはレコードゼロ(RO)と称される特殊レ
コードが来る。レコードゼロROカウントエリア中のレ
コードIDはCCHHOでなければならない。但し、C
CHHはトラックのアドレスである。トラック上のレコ
ードゼロの次にはユーザデータレコードと称される一つ
もしくはそれ以上のレコードを含むデータが来る。ユー
ザデータレコードは最大長255バイトのキーエリアを
備えることができる。1レコードは単一のトラック上に
その全体が含まれていなければならない。ユーザデータ
レコードカウント中のレコードIDフィールドは任意の
5バイト値を含むことができ、任意のパターンに従って
命名することができる。共通の約束事はレコードが書式
CCHHRのIDを付与される点である。但し、Rはト
ラックのレコードの序数である。
【0024】メモリコントローラが装置トラック間でデ
ータを転送することができる前に、コントローラは既に
トラック上に記録されたエリアに対する読取り/書込み
ヘッド機構の位置を知っていなければならない。データ
転送処理が進行するにつれてメモリコントローラはその
知悉状態又は向きを断続して維持しなければならない。 メモリコントローラはインデクスポイント又はレコード
ゼロ以外のカウントエリアの開始の何れかを検出する。 ひとたびカウントエリアもしくはインデクスが発見され
ると、メモリコントローラはトラックを進むことができ
、読取り/書込みヘッドの下を通るエリアの種類を常に
知悉していることができる。特定の向きはインデクス、
ホームアドレス、カウント、キー、およびデータを含む
過剰データとデータ転送コマンドの働きを記述したり定
義したりする効用を述べる。インデクス状態は読取り/
書込みヘッドがインデスポイントとホームアドレスの間
に位置することを意味する。同様にして、他の状態はそ
れぞれ読取り/書込み機構がトラック上の対応するエリ
アの終りと次のエリアの開始の間に位置決めされるとい
うことを意味する。位置付けレコードコマンドの実行は
その後連続するデータ転送コマンドのシーケンス全体に
わたって維持される向きを確立する。読取り/書込み又
はサーチコマンド以外のコマンドの実行はその向きをリ
セットし、メモリサブシステムはデータ転送が再開でき
る前に再び向きを替えなければならない。
【0025】ECKDコマンドの集合は処理がトラック
境界だけでなくシリンダ境界をクロスできるようにする
ことによって多重トラックデータ転送処理の範囲を拡張
する。ECKDでの基本的書込み処理は位置付けレコー
ド領域である。書込み処理が成功裡に完了すると位置付
けレコード領域内の最後の書込みについて装置の最終状
態を提示することによって報知する。最後の書込コマン
ドを除く全ての書込コマンドに対する装置の最終状態は
データがメモリコントローラのバッファに転送されたこ
とだけを意味する。非同期処理により一つもしくはそれ
以上の書込みコマンドの実行が可能になり、データが実
際に装置上へ書込まれる前にデータはチャネルから制御
装置へと転送される。チャネルの最終状態はチャネルか
らのデータ転送が完了後にそれぞれの書込みコマンドに
ついて受取られる。もしもう一つの書込みコマンドが位
置付けレコード領域に予期される場合には装置最終状態
がチャネル終了と共に受取られる。さもなければ、装置
最終状態は書込み処理が装置で完了した時に提示される
。装置最終状態が位置付けレコード領域における最後の
書込みコマンドを除く全ての書込みコマンドから受取ら
れると、データはメモリコントローラへ転送されたこと
になる。
【0026】位置付けレコード領域外部の多重トラック
読取り処理は次のトラックが定義済みの拡張コマンドに
より規定される範囲内にある限り可能である。もしヘッ
ドを切替えた後にメモリコントローラが処理すべきレコ
ードを発見しない場合には、即ち、トラックが空白であ
る場合には、メモリコントローラは再びヘッドを切替え
、空白でないトラックが見つかるかシリンダの終りに達
するまで続行する。
【0027】多重トラック処理は読取りだけでなく書込
みに対しても許される。多重トラック処理は次のトラッ
クが範囲定義コマンドにより規定される範囲内にある限
り、トラックとシリンダの両方の境界をクロスすること
が許される。
【0028】ECKDチャネルプログラムでは範囲規定
コマンドはチャネルプログラム内の最初の位置付けコマ
ンドに先行する必要がある。処理システムがユーザがア
クセスできるトラックとできないトラックと、一つのチ
ャネルプログラム内で実行可能な処理に対して制御を実
行可能にすることが第一次的な機能である。一つの位置
付けレコードコマンドはメモリサブシステムが一つのチ
ャネルプログラム中に何が発生するかを予測することを
可能にする。
【0029】同コマンドはサブシステムに対して最初の
読取り又は書込みコマンドの受取り前にデータ転送処理
の意図と範囲を知らせる。位置付けレコードコマンド後
に標準的なCKD読取り/書込みチャネルコマンドがデ
ータを転送する。
【0030】一つのチャネルコマンドは一つの範囲規定
コマンドのみを含む。範囲規定コマンドはオペレーティ
ングシステムによりユーザチャネルプログラムの前に付
すことができる。範囲規定コマンドはチャネルプログラ
ムが処理可能なトラック範囲を指定し、チャネルプログ
ラム中の規定範囲に続くコマンドの一定属性と、同コマ
ンドに対する制約を定義する。一範囲は一つのチャネル
プログラムによってアクセス可能な連続的にアドレス指
定されるトラックの集合である。同範囲はその内部の最
初と最後のトラックのアドレスを指定することにより規
定される。位置付けレコードコマンドはデータ転送処理
のタイプと範囲を指定する。位置付けレコードコマンド
の前には範囲規定コマンドが先行しなければならない。 位置付けレコードコマンドは実行すべきデータ転送のタ
イプ、処理さるべきレコード又はトラックの数、および
データ転送の初期化に先立って装置を方向づけなければ
ならないトラック、セクタ、およびレコードIDを同定
する。位置付けレコードパラメータにより提供される情
報はこの位置付けレコードコマンドの領域のデータ転送
コマンドによって実行さるべき読取り又は書込み処理を
完全に規定する。前記領域は位置付けレコードパラメー
タの転送から始まり、それらのパラメータにより同定さ
れる最後の処理へと拡張する。位置付けレコードパラメ
ータを吟味した後、メモリコントローラはシークすべき
装置を特定トラックへ方向づけ、装置を設計セクタへ位
置決めし、サーチ動作を開始して更にそれ自体をトラッ
ク上の特定レコードエリアへ位置決めする。ECKDコ
マンドの集合はキーエリアの読取りと書込み、および位
置付けレコード領域内にキーを有するレコードの初期化
をサポートするが、位置付けレコードコマンドではキー
サーチ処理は提供しない。実行すべき処理のタイプと特
定メモリ制御設計に応じてメモリコントローラは位置付
けレコードパラメータの処理後にチャネルから断続する
か、直ちに位置付けレコードに続くデータ転送コマンド
を実行しはじめることができる。
【0031】方向は位置付けレコードコマンドが受取ら
れた時にメモリコントローラ内でリセットする。続いて
各位置決めレコードコマンドが実行されることによって
データが装置間で転送される前に新たな方向状態が確立
される。範囲規定と位置付けレコードコマンドの他に、
拡張カウントキーデータ(ECKD)コマンド集合は3
つの書込みコマンドと、1つの全トラック読取りトラッ
クコマンドと、1つの読取りデバイス特性コマンドを追
加する。最初に追加したコマンドは書込み用CKDの次
トラックコマンドである。このコマンドは位置付けレコ
ード領域内でのみ妥当であり、書込みCKD又はもう一
つの書込みCKD次トラックコマンドに続かなければな
らない。このコマンドによってメモリコントローラは現
在トラックの残りを消去し、ヘッドが次のトラックへ切
換わり、レコードゼロを受渡し、新たなトラック上の最
初のユーザデータレコードを初期化することになる。次
の書込みCKDトラックコマンドは多重トラックが単一
の書込みレコード領域で初期化できるようにするために
提供される。
【0032】追加される次のコマンドは書込み更新デー
タコマンドである。このコマンドは位置付けレコード領
域内でのみ有効でその前に位置付けレコード又はもう一
つの書込み更新データコマンドがすぐ先行しなければな
らない。書込み更新データコマンドは異なる前提条件を
有し多重トラックコマンドである以外は書込みデータコ
マンドとほぼ同様な働きを行う。書込み更新データコマ
ンドが実行される時にトラック上にレコードが存在しな
ければ、メモリコントローラは次のトラックに切換わり
、新たなトラック上の最初のユーザレコードのデータエ
リアを更新する。
【0033】第3の追加書込みコマンドは書込み更新キ
ーとデータコマンドである。このコマンドは位置付けレ
コード領域内でのみ妥当で、その直前には一つの位置付
けレコードもしくはもう一つの書込み更新キーとデータ
コマンドが先行しなければならない。書込み更新キーと
データコマンドは一つの書込キーデータコマンドとほぼ
同様な働きを行うが、異なる前提条件を有し、多重トラ
ックコマンドである。もし書込み更新キーとデータのコ
マンドが実行される時にトラック上に最早レコードが存
在しなければ、メモリコントローラは次のトラックへ切
換わり、新たなトラック上の最初のユーザデータレコー
ドのキーとデータエリアを更新する。
【0034】ECKD転送コマンド中に追加される読取
りトラックコマンドはひとつの位置付けレコード領域に
おいてのみ妥当である。このコマンドはファイルレコー
ドの最後を含めて1トラック上の全てのレコードを読取
る。1つの位置付けレコード領域中の最初の読取りトラ
ックコマンドは位置付けレコードコマンドにより確立さ
れる方向に従ってレコードゼロを含む最初のカウントエ
リアの始めに向かう。このコマンドはトラックの終りに
達するまでトラック上の各カウント、キー、およびデー
タエリアを転送する。続く読取りトラックコマンドは次
のトラックへ切換わり、トラックの終りに達するまでそ
のトラック上のカウント、キー、およびデータエリアを
転送する。トラック上の最後のレコードが転送され終っ
た後、疑似カウントフィールドが転送される。もし転送
さるべきトラック上にレコードが存在しなければ、読取
りトラックコマンドは疑似カウントフィールドのみを転
送する。前記疑似カウントフィールドはホストシステム
主記憶中のトラック画像文字ストリングの終りをつきと
めるために使用される。読取りトラックコマンドはトラ
ック全体を読取るように設計したものである。バイトカ
ウントはトラック上のカウント、キー、およびデータエ
リアの全てと8バイト疑似カウントフィールドをプラス
したものの合計と少なくとも同程度の大きさでなければ
ならない。もしバイトカウントが小さすぎると、データ
転送はトラックからの全てのデータがチャネルへ転送さ
れ終る前に終了し、主記憶中のトラック画像はトラック
マーカの終りを含まなくなるであろう。
【0035】ECKD転送コマンドに追加される読取り
装置特性コマンドによって1つのプログラムはメモリサ
ブシステムの動作特性を判断することができる。転送さ
れた情報は装置のタイプとメモリ制御形式を同定し、メ
モリサブシステムのプログラムに可視的な特徴の幾つか
を指定する。一次診断と代替診断の数とアドレスやデバ
イスサポートトラックの如き情報が提供される。
【0036】さて図1について述べると、マルチCPU
と共用デバイスの構成が示されている。参照番号10、
12、14および16により示す複数のCPUシステム
は複数チャネル22、24、26および28を介して一
対のコントローラシステム18と20にクロス接続する
ことが望ましい。それぞれのコントローラシステム18
と20は2つのメモリクラスタを含んでいる。
【0037】コントローラシステム18はメモリクラス
タ30、32を含む一方、コントローラシステム20は
2つのメモリクラスタ34、36を含んでいる。メモリ
クラスタ30は、例えばマルチパスメモリディレクトリ
ー38を含み、同ディレクトリー38自身は2つのメモ
リパス40、42を含んでいる。また、各メモリクラス
タ30は共有制御アレイ(SCA)44を含み、キャッ
シュメモリシステム46を含むことができる。メモリク
ラスタ32はそれ自身の共用制御アレイ(SCA)54
と共にマルチパスメモリディレクタ48と2つのメモリ
パスコントローラ50、52を含んでいる。メモリクラ
スタ32は不揮発性メモリ56を含む。制御システム1
8はそのメモリパス40、42が2つのデバイスサブシ
ステム60、62に分割された複数のデバイスに接続さ
れている。データ転送のデバイスレベル選択強化方式の
場合、同一の4つのパスストリング内では4つのメモリ
パス全体にわたって同時的なデータ転送が可能である。 それぞれのデバイスサブシステム60と62はメモリク
ラスタ36のメモリパスと連絡すると共にメモリクラス
タ30のそれぞれのメモリパス40、42と連絡する。
【0038】2つのデバイスサブシステム64、66は
メモリクラスタ32のメモリパス50と52、およびメ
モリクラスタ34のメモリパスと接続される。デバイス
サブシステム60、62、および64、66の組はそれ
ぞれコントローラシステム18、20によって制御され
る形でタンデム形に動作する。
【0039】コントローラシステムの各々におけるメモ
リクラスタの各々は独立成分として動作する。それぞれ
のメモリクラスタは別々のパワーとサービス領域と2つ
の別個のパスをデバイスに提供する。一つのメモリクラ
スタに対する電力の喪失は他のメモリクラスタ内で処理
が断続可能なためデータに対するアクセスを妨げるもの
ではない。コントローラシステムに接続されたデバイス
の全てはコントローラシステムの各々において両コント
ローラシステムと一つのメモリクラスタにクロスする形
となっている。デバイスサブシステム60、62中のデ
バイスは概してダイレクトアクセスメモリデバイス(D
ASD)ディスクデバイスであるが、そのデバイスはテ
ープもしくは光学装置とすることができる。それぞれの
メモリクラスタはそれ自身をサポートする能力を備えて
いる。それぞれのメモリクラスタは揮発性積データメモ
リモジュールを含んでいる。同モジュールはコントロー
ラの特徴、サブシステム処理方式、サブシステム識別子
、サブシステムコンフィギュレーション、各チャネル用
のコントローラ装置アドレス、各メモリクラスタへ接続
されるチャネルの種類とチャネル速度、およびデバイス
ブロック中の論理条に付属可能なアドレス指定可能なデ
バイスの数をストアする。
【0040】デバイスレベル選択強化処理方式によれば
2つのマルチパスメモリディレクタはデバイスサブシス
テム中のデータにアクセスすることができる。それぞれ
のマルチパスメモリディレクタは図1に示すように2つ
のメモリパスを備えている。デバイスレベル選択強化方
式は2つのコントローラシステムから同一の2つのデバ
イスサブシステムに対して4つの独立かつ同時のデータ
転送パスを提供する。入出力処理は4つのパスの何れか
一つにダイナミックに再接続することができる。かくし
て、CPUからデバイスに対しては4つの完全に独立な
パスが存在することになる。
【0041】各メモリクラスタ30は、例えばチャネル
22をマルチパスメモリディレクタ38へ接続するため
の付加チャネルを含んでいる。メモリディレクタ38は
2つのメモリパス40と42へ接続される。メモリクラ
スタ30は共用制御アレイ44を含んでいる。キャシュ
46と不揮発性メモリ56はメモリクラスタ30とメモ
リクラスタ32の両方のメモリパスによって共用される
が、それらメモリクラスタとは物理的にも論理的にも隔
たっている。各メモリクラスタは独立の構成部分である
。それぞれのメモリクラスタは一つの別個のパワーとサ
ービス領域とデバイスサブシステムに至る2つの別個の
パスを提供する。キャシュと不揮発性メモリは一つのコ
ントローラシステム中の両メモリクラスタによってアク
セスされる。メモリディレクタはチャネルコマンドを解
釈してメモリパス、キャシュ、不揮発性メモリ、および
デバイスサブシステム中の付属デバイスを制御する。 それぞれのメモリパスはデバイスサブシステム中の全デ
バイスに対して別々に接続される。チャネル接続処理中
に、メモリパスは特定のチャネルと接続する。マルチパ
スメモリディレクタは、単一のチャネルアドレスを介し
てマルチパスアクセスをデバイスに接続する。一つのメ
モリディレクタアドレスを介して、マルチパスメモリデ
ィレクタはデータ転送処理のためにメモリクラスタ内の
何れかのメモリパスを選択する。共用制御アレイはメモ
リパスとデバイスに関する状態情報を含んでいる。
【0042】デバイスサブシステムの各組、例えばデバ
イスサブシステム60と62は、コントローラシステム
18と20の双方に接続される。それぞれはそれぞれの
メモリディレクタ、例えばメモリディレクタ38の各メ
モリパス、例えばメモリパス40、42に至る経路を有
する。かくして、例えばデバイスシステム60と62は
、CPUへ至る2つのパスと、コントローラシステム1
8のメモリクラスタ30へ至る2つのパスと、コントロ
ーラシステム20のメモリクラスタ36へ至る2つのパ
スを備えている。かくして、一つのポーリングシーケン
スについて、何れかのデバイスサブシステム60又は6
2における1デバイスからの割込み要求は4つのメモリ
パス全てによって検出されることになろう。前記メモリ
パスの何れも前記割込みを満足させることができる。 キャシュ46は高密度の電子メモリで、コントローラシ
ステム18に接続される全メモリパスによって共用され
る。頻繁に使用されるデータはキャシュ46とチャネル
22間で高速度で転送させることができる。キャシュ4
6とチャネル22のうちの1本のチャネル間のアクセス
タイムは遅れがないためにデバイスサブシテムのデバイ
スとチャネル間よりもずっと高速である。キャシュ46
はメモリクラスタ30、32から隔たったパワー領域に
あり、他のメモリクラスタが何らかの理由でオフライン
となった時に何れかのメモリクラスタを介してキャシュ
処理を可能にするようになっている。
【0043】不揮発性メモリ56はランダムアクセス電
子メモリを提供する。バッテリーバックアップシステム
は不揮発性メモリ56に対するパワーを維持する。不揮
発性メモリはデバイスサブシステム60、62のデバイ
スに転送される必要のあるデータを保持する。もし情報
がデバイスに転送できる前にコントローラシステム18
に対するパワーが失われると、データはパワーが回復さ
れるまで不揮発性メモリ56内に保持される。前記パワ
ーの回復時にデータはデバイスにデステイジされる。
【0044】共用制御アレイ44、54はコントローラ
システム18の状態とデバイスサブシステム中の付属デ
バイスに関する情報を格納する電子メモリである。それ
ぞれのメモリクラスタの共用制御アレイ中には同一の情
報が保持される。図1のようにペアにする際、共用制御
アレイ情報は共にペアになった2つのメモリクラスタへ
複製される。例えば、メモリクラスタ30の共用制御ア
レイ44はメモリクラスタ36内の共用制御アレイ64
へペア状にする。
【0045】本発明はデバイスサブシステムにおけるデ
バイスのダイナミックポーリングを対象とするものであ
る。デバイスのダイナミックポーリングの基本的な働き
は例えばデバイスサブシステム60と62とコントロー
ラシステム18間のインターフェースで実行される態勢
にあるタスクを走査することである。前記タスクはデバ
イスからキャシュ46の如きコントローラシステムの部
分へ至るインターフェースしか必要としないものとする
か、CPUとのインターフェース用にチャネルとの接続
を必要とすることができる。これらのタスクは断続チャ
ネルプログラムを再接続するためにデバイス割込みをチ
ャネル要求に翻訳することを含む。即ち、キャシュのス
テージング又はデステージングのために断続プログラム
に接続しなおすこと、付属システムに対するパック変更
の通知、あるいはデバイス位置付けタスク、即ち、チャ
ネルからのプログラムもしくはキャシュステージング又
はデステージングプログラムによって待ち行列されたシ
ークとセットセクタである。本発明ではポーリングのよ
うな一機能が変更され、一機能が追加される。これらの
機能は非同期環境をサポートする必要がある。追加機能
は拡張された時間、1レジスタ内のチャネルリクエスト
イン信号(RQI’S)を維持して非同期環境中で全体
として利用可能な長いチャネルケーブルの伝送遅れを調
節することである。必要な場合、コントローラシステム
18とチャネル22間の拡張ケーブルとシリアルチャネ
ルインターフェースをサポートして、優先順位が低レベ
ルの他の要求の処理を不必要に遅滞させることなくRQ
I信号を処理する時間が必要となる。実施例を論ずるた
めにポーリングシーケンスはコントローラシステム18
のメモリクラスタ30によりデバイスサブシステム60
と62をポーリングする場合につき論ずることを理解さ
れたい。同時に、前記のポーリングはメモリディレクタ
38のメモリパス40と42によるデバイスサブシステ
ムによって行われ、あるポーリングはメモリクラスタ3
6のメモリパスによるデバイスサブシステム60によっ
て行われることを理解されたい。更に、その時、一定の
ポーリングはメモリクラスタ32と34のメモリパスに
よるデバイスシステム64によって行われる。同様にし
て、ポーリングがデバイスサブシステム62によって構
成される場合にはポーリングはそれらの関連するメモリ
クラスタのメモリパスによるデバイスサブシステム66
によって行われる。4つの別個のパスはそれぞれの検出
されるそれぞれのデバイス割込みについて利用できる。
【0046】ポーリング機能はコントローラシステム1
8の割込みレベル6と3のタスクとして実行する。ポー
リング機能はコントローラシステムの割込みレベル7で
現在実行中のタスクに周期的に割込む。ポーリング機能
は例えば割込みレベル6で実行可能な仕事の項目につい
てデバイスサブシステムを走査した後、コントローラシ
ステムが割込みレベル7で処理時に先着タスクに対して
制御を戻す。ポーリング機能に対する割込み機構はプロ
グラマブル割込みタイマにより提供される。ポーリング
割込みの頻度はデバイスサブシステム60の付属デバイ
スにより提供されるセクター割込みの長さによって決定
される。ポーリングは接続を要求する全てのデバイスが
同時に検出され処理されるに十分な頻度で駆動させ、レ
ベル7のコマンドの処理からのロックアウトを回避する
一方、割込みレベルにおけるデバイスの処理を更に遅ら
せる再接続ミスを回避するようにする必要がある。
【0047】定義によりポーリング機能はバックグラウ
ンドタスクであって、割込みレベル7に対する他のバッ
クグラウンドタスクと並行して実行する。従って、ポー
リングは現在レベル7で背景で実行中のタスクのタイプ
に応じて2つの異なるモードで実行する。メモリパスが
チャネルに接続中にバックグラウンドタスクを実行して
いないか、チャネルインターフェースと関連するキャシ
ュハードウェアを活用している場合には、ポーリング割
込み全体が実行される。このモードでは前記ポーリング
タスクの全てが実行される。ポーリング割込み全体はチ
ャネルに対する接続を必要とする。もしチャネルがコン
トローラシステム18とビジー状態にあれば、限定され
たポーリング割込みが実行される。限定されたポーリン
グ割込みではデバイスサブシステム60とコントローラ
システム18間の接続を要求するタスクだけが実行され
る。これらのタスクはデバイス位置付けタスク、又は例
えばキャシュ46についてのステージングもしくはデス
テージング処理とすることができる。図2(A)はポー
リングサイクル中に何らの割込みも検出されない本発明
のポーリングデューティサイクルを示す。時間300に
おいて、メモリパス40はデバイスサブシステム60内
のそのデバイスをポーリング中である(図1参照)。同
様にして、時間300においてはスタートすべきデバイ
スワークに対するチェックが行われる。時間300の長
さは17マイクロセカンドで、その時間の間、メモリデ
ィレクタ38、従ってメモリパス40はレベル6にとど
まり、デバイスサブシステム60内のデバイスに対する
割込みに対するポーリングを行うことが望ましい。時間
300後に何らの割込みも存在しない場合には、メモリ
ディレクタ38が復帰して次の期間302バックグラウ
ンドタスクを実行する。時間304ではデバイスサブシ
ステム62に至るメモリパス40に対してポーリングが
行われる。時間304は8マイクロセカンドであること
が望ましい。この時間はデバイスワーク開始要求に対し
て何らのチェックも行われないためにその期間は短い。 図2(A)は何らの割込みもない場合のポーリングデュ
ーティサイクルを示すから、時間306においてメモリ
ディレクタ38はバックグラウンドタスクの実行に戻る
。時間306は57マイクロセカンドを占めることが望
ましい。デバイスワーク開始要求の処理はメモリパス4
0のポーリングで4分の1時間毎に行われるにすぎず、
従って、時間308ではメモリパス40によるデバイス
サブシステムのポーリングしか行われず、この時間は更
に8マイクロセカンドの間であることが望ましい。 前記サイクルは繰返して時間310で、その後時間31
2でデバイスサブシステム60をポーリングし、デバイ
スワーク開始要求の処理だけでなくデバイスサブシステ
ムのポーリングが時間300で行われたように反復され
る。デバイスワーク開始要求の処理はバックグラウンド
ワークが処理される時間を大きくすることができるよう
にデバイスサブシステム60のポーリングについて一期
間毎にのみ実行される。かくしてデバイスワーク開始要
求は時間300と312で処理されるが、時間308に
は処理されない。図2(B)はサブストリング割込みに
よるポーリングデューティサイクルを示す。
【0048】メモリパス40と42は異なるタイマによ
って動作する。恐らく、双方とも同時にはポーリングさ
れないであろう。例えば、もしメモリパス42がチャネ
ルからのスタートI/O信号を処理している場合には、
一つのポーリングサイクルを経過してはいないであろう
が、メモリパス40は経過しているかもしれない。メモ
リパス42はスタートI/O手続が完了した時にポーリ
ングをスタートすることになろう。メモリパス40と4
2は異なるタイマによって実行する。
【0049】図2(B)について述べると、時間320
で、例えばメモリパス40からポーリングが行われる。 その間割込みは発見されず例えばデバイスサブシステム
60中のデバイスに対してサブストリングポーリングが
行われる。時間320の長さは20マイクロセカンドで
、任意の20マイクロセカンドチャネルを処理し、以下
により詳しく論ずるようにそれよりも長いチャネルを何
れもエージングするようにすることが望ましい。時間3
22においてデバイスシステム62についてポーリング
が行われ、サブストリングがチェックされ割込みが発見
され処理される。時間322の後にバックグラウンドタ
スクが再び処理される。デューティサイクルは時間32
4に継続し、そこで最初のデバイスサブシステム60が
再びポーリングされ、この時間中発見されるサブストリ
ング割込みは存在しないから、この期間は短く、本発明
の場合8マイクロセカンドであることが望ましい。それ
より長い時間が示されていないのはこれが第1のメモリ
パスの第2のポーリングであるからである。デバイスワ
ーク開始要求は図4(A)のフローチャートに示すよう
に時間320で処理されているだろう。デューティサイ
クルは図2(B)では図2(A)に示すような割込みが
ない繰返しか、図2(B)に示すような割込みの何れか
の場合に継続する。ポーリング要求のサイクリングと割
込み接続もしくはミスは、エージングレジスタとチャネ
ルレジスタと共に図3に示されている。
【0050】図3は4つのT時間にわたって広がった一
つのリクエストイン(RQI)ライフサイクルを示す。 前記時間はチャネルが接続を必要とする前にリクエスト
インが保持可能な遅延時間の最大値である。図3はチャ
ネルBがポーリングを要求しようとしており、デバイス
サブシステム62のデバイス23から65マイクロセカ
ンドのエージング遅れを必要とし、チャネルHが195
マイクロセカンドの遅れであって、要求がデバイスサブ
システム62のデバイス9から到来することを示してい
る。図3では、ダイナミックポーリングタイムはポーリ
ングが最初の時間T0で行われる時、デバイスサブシス
テム60がポーリングされ、第2の時間T1でデバイス
62がポーリングされることを示す。ポーリングサイク
ルの間でレベル7のバックグラウンドタスクが処理され
る。サイクルは繰返して時間T2でデバイスサブシステ
ム60を再びポーリングして時間T3でデバイスサブシ
ステム60を再びポーリングする。チャネルリクエスト
イン(ROI)信号線は時間T0とT1の間にチャネル
Hが接続を要求し、時間T1とT2の間にチャネルBが
アクセスを要求していることを示す。(RQI)信号中
のチャネル要求と時間T1、2および3の信号はエージ
ングレジスタからの出力を形成し、同レジスタは3Tの
最大遅延時間を通してチャネル要求を保持する。T時間
はそれぞれ65マイクロセカンドの遅れを提供すること
が望ましい。エージングレジスタは接続が行われるか設
定された時間遅れ内にチャネルからの接続応答が受取ら
れなかったために要求が拒否されるかの何れかまでサイ
クルを通してチャネル要求が転送されることを示す。C
R2レジスタはチャネル要求を全てストアし、システム
に対して何れのチャネルが接続を必要としているかを確
認する。ポーリング結果バッファは接続を要求中のチャ
ネルのデバイスアドレスをストアする。ポーリング結果
バッファは割込みによってデバイスアドレスをチャネル
マネージャにパスする。このバッファはデバイスアドレ
スの4つのサブストリングを4つの連続するポーリング
サイクルにわたって保持する。このことは3T時間もし
くは195マイクロセカンドの間エージングを収納する
ために必要である。5番目のサイクルのT4時間にポー
リング結果バッファはラップアラウンドし、初めから再
びスタートする。即ち、T4時間はそれが初期又はスタ
ートタイムではない点を除いてT0時間と同じである。 それぞれのポーリングサイクルではバッファ内に応答す
るデバイスアドレスがストアされるか、存在しなければ
、無効サブストリングアドレスIは4ワードのブロック
内にそれぞれT時間ストアされる。ポーリングプロセス
に付与される2次ページレジスタはポーリング結果バッ
ファに対するレジスタとして確立され、ポーリングサイ
クロとポーリング結果バッファ間に相関関係を維持する
ために使用される。後続するポーリングサイクルはそれ
ぞれカレントサイクルと関連する4ワードにアクセスす
るためにポインタを使用する。チャネルマネージャはデ
バイスマネージャサービスルーチンコマンドを介してそ
のポインタを使用してデバイスアドレスを求めてポーリ
ング結果バッファを走査し、リクエストイン(RQI)
サイクルに応答中のチャネルに提示する。チャネルマネ
ージャは今度はサービスルーチンに対するセレクトチャ
ネルを同定する。サービスルーチンはセレクトチャネル
に対する能動リクエストイン信号によってデバイスアド
レスを求めてポーリング結果バッファを走査する。 前記走査ルーチンコマンドは任意の20マイクロセカン
ドチャネルについて最高2ワードをサーチする。チャネ
ル遅れが長い場合、同ルーチンはエージングレジスタ中
のチャネルがマッチするカレントサイクルの4ワードを
全て走査する。一つのマッチングが完了した時にのみ一
走査が行われるために、ポーリング結果バッファはポー
リングが再開された時にはリセットされない。ポインタ
はデバイスマネージャがアクティブでない場合にはチャ
ネルマネージャによって妥当であると見做される。
【0051】ポーリングサイクルは2組のバイトベクト
ルを使用してデバイス割込みをチャネルリクエストイン
もしくはデバイスマネージャ呼出しの何れか一方に傾向
し、チャネルに対する再接続を処理する。前記2組のバ
イトベクトルはそれぞれ外部と内部割込み用に使用され
る。2組のデバイス有意バイトベクトルがジョイントア
レイ構造(JAS)内に存在し、デバイス割込みをチャ
ネルプログラム、ICCプログラム、又は予期しないパ
ック変更と関連させるために使用される。チャネルRQ
I遅れ、遅れ1、遅れ2、遅れ3のポーリングプロセス
に付与される4個の2次ページレジスタはエージングレ
ジスタとして確立され、多数のポーリングサイクルにわ
たってそれらがエージングしている時にリクエストイン
(RQI)信号を含む。レジスタはポーリングプロセス
が図3の時刻T0でスタートする時にゼロに初期化され
、後続のポーリングサイクルによって一つのエージング
プロセス中でリクエストイン信号をシフトさせるために
使用される。
【0052】3個の2次ページレジスタはポーリングプ
ロセスに対してエージングマークレジスタとして付与さ
れる。これらのレジスタはチャネルをそれらのリクエス
トインウィンドウで同定するチャネルバイトマスクを含
む。リクエストインウィンドウは4つのT時刻に対する
もので20、65、130、又は195マイクロセカン
ドエージングタイムである。エージングマスクレジスタ
はそれらの所定寿命を終えたエージングレジスタ中にス
トアされるチャネルインターフェースRQIをリセット
する。それらのチャネルに対する接続時間が作られると
き、チャネルに対する接続が行われるか、要求がその有
効寿命を上廻ったものとして却下されるかの何れかであ
る。エージングマスクレジスタの割込み要求とチャネル
に対する接続時間は接続時間で決定され、バックグラウ
ンドタスクとして更新される。エージングマスクの変化
はポーリングサイクルが再開される時に生ずることにな
ろう。チャネルセレクションの如き高レベル割込みは何
れもポーリングサイクルの再開をひきおす。デバイスワ
ークを開始してメモリパスがファシリティ交信をサポー
トするようにしたときも再開する。ダイナミックRQI
はスタティックRQIがポーリングデューティサイクル
間にあるときに併合される。制御メモリ中のデータオブ
ジェクトはポーリングがスティックエージングをダイナ
ミックエージングと識別できるようにスタティック割込
みの画像を含むようにつくりだされる。データオブジェ
クトはスタティック割込みを引上げ維持する後に任ずる
バックグラウンドプロセスによって管理される。
【0053】さて図3について述べると、チャネルBと
HのRQI信号ライフサイクルはチャネルBについては
65マイクロセカンドのライフサイクルと、チャネルH
については195マイクロセカンドとが示されている。 デバイス23はチャネルBからの接続を要求し、デバイ
ス9はCR2レジスタにおいて示されるようにチャネル
Hからの接続を要求している。図3の時刻T0で、ダイ
ナミックポーリングが開始された時、エージングレジス
ターはCR2レジスタと共に全てクリアされている。時
刻T0の最初のポーリングサイクルでデバイス9が検出
され、チャネルHに対するアクセスを調節する。デバイ
ス9の指示はポーリング結果バッファ内にセットされ、
時刻T0プラスでエージングバッファ中のチャネルリク
エストはHチャネルがアクセスを要求中であることを記
憶している。デバイス9のみがアクセスを要求している
ため、ポーリング結果バッファ0はデバイス9の表示を
ストアし、一方、ポーリング結果バッファ1は無効(I
)にセットされ、唯一のデバイス、デバイス9のみが接
続を要求していることを表示する。時刻T0プラスで、
ポインタはアクセスを要求しているデバイスの全てをス
トアし、図の如く、ポインタは最初のセクションの最後
のバッファを指摘する。時刻T0プラスで、チャネルR
QIエージングバッファはその内部にストアされたチャ
ネルHからのチャネル要求を有する。第2のダイナミッ
クポーリングサイクル、時刻T1では、チャネルBのデ
バイス23はアクセスを要求している。ポーリング結果
バッファ4はデバイス23を格納し、これがチャネルB
からのアクセスを要求する唯一のデバイスであるから、
ポーリング結果バッファ5は無効アドレスIを含むこと
になろう。時刻T1プラスで、Bチャネル要求はチャネ
ルRQIエージングレジスタ内へ配置され、ポインタは
現在、第2のタイムサイクルの終りT1+を指示してい
る。時刻T1ではチャネルRQIレジスタからのHチャ
ネル要求は遅れ1のエージングレジスタへシフトする。
【0054】時刻T2のダイナミックポーリングで遅れ
1のエージングレジスタ中にストアされるHチャネル要
求は遅れ2のエージングレジスタへシフトされ、チャネ
ルRQIエージングバッファ内にストアされたチャネル
Bの要求は図3の信号中に示すように遅れ1のエージン
グレススタへシグトする。時刻T2−T3に続くポーリ
ングサイクルにおいてチャネルBのデバイスに対して接
続が行われたはづである。何れにせよ、デバイス要求は
却下されることになろう。CR2レジスタはチャネルB
とチャネルHの要求を共に含む。時刻T2プラスにおい
て、Bチャネルはデバイス1により指示されるように6
5マイクロセカンドの遅れのために接続態勢にあり、ポ
インタが第3の組を指示している状態でシステムは第2
の組をチェックしてチャネルBからのアクセスを要求し
ていたデバイスを見る。この例では、チャネルBのデバ
イス23はアクセスを要求しており、時刻T2に続くポ
ーリングタイムで接続が行われる。時刻T2で行われる
ポーリング後に、ポーリング処理は割込みからレベル7
のバックグラウンド処理へ戻る。時刻T3ではチャネル
Hからの要求は継続し、遅れ2のレジスタからのチャネ
ル要求を遅れ3のレジスタへシフトさせることによって
エージングされる。チャネルBからのチャネル要求はそ
れが65マイクロセカンドのチャネルであり、チャネル
Bリクエストは時刻T3でドロップされているため十分
にエージングされている。またチャネル要求Bも時刻T
3にCR2レジスタからドロップしている。時刻T3の
ポインタはポーリング結果バッファ内に無効表示のみが
ストアされていることを示す。それはアクセスを要求し
たデバイスが存在しなかったことを示す。時刻T4で、
デバイスサブシステム60に対してダイナミックポーリ
ングが行われる。195マイクロセカンドチャネルであ
るチャネルHは、遅れ3のエージングレジスタ中にあり
、T4のポーリングサイクル前に接続が必要である。 CR2レジスタは接続を要求中のチャネル応答をストア
する。チャネル接続はCR2レジスタ中で立上げられる
信号に対して行われる。エージングレジスタからのチャ
ネル要求信号はCR2レジスタ内へ転送される。かくし
て、時刻T1でHチャネル要求のみがエージングレジス
タ内にあり、従ってHのみがCR2レジスタ内へ配置さ
れる。時刻T2ではBとHのチャネル要求が共にエージ
ングレジスタ内にあり、従ってBとHの要求は共に時刻
T2でCR2レジスタ内へ配置される。時刻T3ではB
チャネル要求はそのエージングタイムを上廻ったとして
ドロップされるか、接続が既に行われ、Hレジスタ要求
のみが依然アクティブで、従って時刻T3とT4の間で
はHチャネル要求のみがレジスタCR2内に含まれる。 チャネル接続の最大3T時間は時刻T4で達し、従って
メモリクラスタ1のポーリングの時刻T4又はそれ以前
にチャネルHに対して接続が行われなければならない。 時刻T4で遅れ3のエージングレジスタ中にストアされ
たHチャネル要求はエージアウトされる。時刻T4は時
刻T0のポーリングサイクルステップが繰返されるため
本質的に時刻T0の繰返しである。かくして、ダイナミ
ックポーリングはポーリングタイムの間メモリパス40
から行われる。もし例えば最初のサイクルの後半部分、
即ちT2又はT3で何らかのチャネル接続が既に行われ
ており、それが1サイクルの時間遅れよりも長い場合に
はこれらのチャネル要求はリサイクルによって時刻T0
(T4)まで続き、エージングレジスタ内でシフトダウ
ンし、レジスタCR2内にストアされて必要に応じて接
続されることになろう。
【0055】無効(I)信号のポーリング結果バッファ
への挿入、即ち、セクションがチェック中の第1のバッ
ファ内への挿入か、アクセスを要求中のデバイスが存在
する場合後続のセクションへの挿入を行うことによって
ポーリング結果バッファにより行われる検討量を短くす
る。ポーリング結果バッファの走査を行い接続を要求す
るデバイスをチェックする。ひとたびチェックが無効信
号即ちI信号を復帰させると、ポーリング結果バッファ
を介してはそれ以上の探索は行われない。無効アドレス
はポーリング結果バッファ内のそのセクションのそれ以
上の探索はストップする。
【0056】本発明はデバイスサブシステム60と62
内のデバイスによって提示されるような割込みの発見に
向けられている(図1参照)。ポーリング手続自体は割
込みをリセットもしなければ割込みを処理もしない。本
発明のダイナミックポーリングは、一つの割込みが存在
し、チャネルがそれに接続するために必要な時間にわた
って割込みがエージングされたが接続は行われなかった
ためにCPUからのチャネルによって処理されるかその
割込みをドロップさせるかの何れかまで割込みの通知を
アクティブにつづけることをコントローラシステムに対
して通知する。もしチャネルが割込みがエージングされ
る時間内に接続を行わなかった場合、それはチャネルが
他の仕事に忙しくてその時刻に割込みを処理することは
ないであろうということを意味する。デバイスはその割
込みを再度呼出し、ダイナミックポーリングシーケンス
はこの割込みを検出してその割込みを再度チャネルに対
して呼出し、それをチャネルが応答するに必要なエージ
ング時間中アクティブな状態に維持することになろう。 先に述べたようなチャネル応答に対する遅れは今日のデ
ータ処理システムに必要とされるケーブルの長さが長い
ことによるものである。割込みの引上げはデバイスに対
するアクセスのチャネル要求に呼応することができ、デ
バイスは今やチャネルに対する接続態勢にある。
【0057】また、ダイナミックポーリング手続は内部
割込みを検出してコントローラ自体にとって内部の割込
みについてデバイスマネージャに通知する。内部仕事は
例えばキャシュ46に対する接続とすることができよう
。チャネルに対する、もしくはコントローラ内でのポー
リングの場合にはデバイスマネージャに対する接続法は
従来技術において公知であり、本文ではこれ以上論じな
い。ダイナミックポーリング手続はチャネルに対して接
続が行われる時に何れの段階にもあることができる。 チャネルは高い割込みレベルにあるため、チャネルが要
求に応ずる時ダイナミックポーリングの手続が中断して
接続が行われ、先のポーリング手続内にストアされた割
込みを処理するようになっている。デバイスマネージャ
がデバイスに対するその仕事を完了するか、チャネルが
デバイスに対するその仕事を終了した後、ダイナミック
ポーリングサイクルは繰延べられて所論の手続内で再び
動作する。
【0058】本発明のダイナミックポーリング手続を図
4(A)−(C)に示す。手続は図3に示すようなT時
間毎にコントローラからの制御をプログラマブル割込み
タイマから受取る。T時間は65マイクロセカンドであ
ることが望ましい。先のポーリングシーケンスによって
発見された65マイクロセカンド、130マイクロセカ
ンド、もしくは195マイクロセカンドのチャネルに対
する割込みは何れもそれらがエージングしたか、即ち、
そのデバイスに対する接続を要求するチャネルを処理す
るために必要とされる時間、生きつづけたかどうかを見
るために引上げられる。現在のダイナミックRQIは全
てエージングし、時間を経過したRQIは何れもドロッ
プする。このため割込みは長いケーブルチャネルからの
応答に対して必要な時間アクティブな状態にとどまるこ
とができるが、接続に対する要求はその時間を超えては
アクティブには維持されない。ダイナミックポーリング
手続が呼出される毎にサマリーポーリングタグが各コン
トローラシステムの一デバイスサブシステムに対しての
み発せられる。もしこのサマリータグがメモリパスに付
加されたストリングからの割込み要求を処理する場合に
は、制御は転送されて、チャネルに対する接続用のポー
リングシーケンス手続全体か、コントローラシステム自
体に対して内側仕事を処理してデバイス割込みを処理す
るための限定されたポーリングシーケンス手続の何れか
一方を処理する。ポーリングシーケンス全体はデバイス
割込みを全て、即ち、チャネルプログラムデバイス、内
部プログラムデバイス、および不測のデバイス割込みを
処理する。限定されたポーリングシーケンスはコントロ
ーラシステム自体内のプログラムから受取ったデバイス
からの割込みに対してのみ応答する。チャネルインター
フェースがビジー状態の場合には限定されたポーリング
が表示される。4分の1の時間毎にこの手続が呼出され
、デバイスワークの待ち行列が待ち行列状態のデバイス
ワークを求めてチェックされる。もしワークが発見され
ると、制御はダイナミック走査手続に転送され、デバイ
スワークをデバイスマネージャに発送する。前記の手続
の何れかが存在しない場合には、プロセスは全体として
レベル7のワークであるかバックグラウンドタスクを処
理するための予め空白になった手続に復帰する。
【0059】図4(A)について述べると、ダイナミッ
クポーリング手続は特定のデバイスサブシステム、即ち
、例えばデバイスサブシステム60もしくは62の何れ
かをチェックするためにタグを発することによってスタ
ートする。図3において先に論じたように、現在のリク
エストイン(RQI)はその後エージングレジスタ内で
シフトする。時間がセットされ、進行中だったレベル7
のワークがストアされることによって手続はレベル6の
ワークを終えた後にレベル7で進行中のワークに復帰で
きるようになっている。表1にダイナミックポーリング
手続DYNMPLの詳細を示す。表に示す詳細は最適の
方法による条件を満たして手続の詳細を当業者に示し、
本発明の実行に使用される特殊手続を開示するためであ
る。図4(A)−(C)に引用する異なる表はそれらの
図に示すようなプロセスの詳細を与えるためである。 表1−DYNMPL *コントローラに対するサマリープルタブ’N’を発す
る。 *バッファ内の最終値を使用することによって’N’を
決定する。 /*ポーリングさるべきコントローラをトグルする。 /*スタティックRQIを全てフェッチする。 /*DDCポーリングタグを引上げる。 /*もしポーリング結果バッファが更新されていれば更
新をバイパスする。 /*無効ストリングアドレスをセットする。 /*初期化されたポーリングバッファをストアする。 /*遷移フラグをセットインする。 *ポーリング発送タイマを再スタートする。 /*195マイクロセカンドチャネルのみを維持する。 /*再ロード時間=65マイクロセカンド/*AGE1
30バケットをエージング195バケットへ移動する。 /*130マイクロセカンド&195マイクロセカンド
チャネルを維持する。 /*エージング65バケットをエージング130バケッ
トへ移動する。 /*タイマー割込みをセットする。 /*エージング0バケットをエージング65バケットへ
移動する。 *先のポーリング走査により発見されたRQIを引上げ
、現在のダイナミックRQIをエージングする。スタテ
ィックRQIを維持する。 /*ACCエージング0:エージング65/*ACCエ
ージング0:エージング65:エージング130 /*ACCスタティック:エージング65:エージング
65:エージング130 /*非供給割込みを全て呼出す。 /*ダイナミックRQI全部のコピーをセーブする。 /*サマリーポーリングの結果をテストする。 *コントローラからの妥当応答 *サマリーポーリング結果をセーブしてポーリングタグ
をドロップする。 /*サマリーポーリング結果をセーブする。 /*サマリーポーリング結果をセーブする。 /*PTR(高優先順位Q)を再ロードする。 /*ポーリングタグをドロップする。 /*PTR(高優先順位Q)を予めロードする。 /*ポーリングタグをドロップする。 /*PTR(高優先順位Q)を予めロードする。 *コントローラ状態データオブジェクトをテストする。 *コントローラが応答中であるかどうかを判断する。 *一回目、もしイエスなら’スタート・コントローラ’
を呼出す。 *コントローラからの妥当応答。 *デバイスによりポーリング結果ビットをメッセージす
る。 /*もし32デバイスタイプコントローラであればリセ
ットをバイパスする。 /*ストリング2、3割込みビットをリセットする。 /*もし割込みがなければサマリー解析をバイパスする
。 *ポーリングタグがドロップしてから1.1マイクロセ
カンド *ストリング割込みがサマリーポールから発見される。 *アドレスにういて高優先順位デバイスワークをテスト
する。 /*もしデバイスWKがHI待ち行列にあればワークを
発送する。 *制御をポーリングシーケンス手続に転送してストリン
グポーリングを実行してポーリング結果を分析し、チャ
ネル再接続を求めるデバイスのためにチャネルRQIを
呼出し、ICCプログラム再接続もしくは不測のデバイ
ス割込みを求めているデバイスに対する割込みを累積す
る。 /*スタックポインタを初期化する。 /*ポーリングアクティブインディケータをターンオン
する。 /*もしチャネルがオンならば、限定ポーリングへ移行
する。 /*もし限定ポーリングが必要ならば、限定ポーリング
へ移行する。 /*PTR(高優先順位Q)をプリロードする。 /*もしデバイスワークが高優先順位にあれば、ワーク
を発送する。 /*もしバイパスすべき時ならば、ワークQをチェック
する。 /*ダイナミックRQIがなければ、DEVワーク待ち
行列をチェックする。 /*PTRDEVワーク待ち行列カウントをプリロード
する。 /*バイパスDEVワーク待ち行列CNTRをフェッチ
する。 /*優先順位カウンタをインクリメントする。 /*更新カウンタ値をインクリメントする。 /*もし待ち行列ワークを発送すべき時ならば、ワーク
待ち行列をチェックする 。 *ダイナミックRQIが呼出され、デバイスワーク待ち
行列カウンタは時間切れとなっていないか、このパスは
待ち行列デバイスワークについてはチェックしない。 *チェックをバイパスし、レベル6をドロップする。 *割込みは行われないが待ち行列デバイスワークは存在
し、ダイナミック走査モジュールに対する転送をスター
トする。 *ストリング割込みはサマリーポーリングから検出され
ない。 *レベル6からドロップする。 *高優先順位待ち行列デバイスのポーリングルーチンを
呼出す。 *制御スタート又は検出コントローラを終了する。もし
高順位ワークがなければ、DYNERPEIへ転送する
。 図4(A)について述べると、判断ブロック102はこ
のデバイスサブシステムのチェック中に何らかの割込み
が存在するかどうかを見るためにチェックする。もし存
在しなければノーラインがとられて判断ブロック104
に示すように必要とされる高Qワークが存在するかどう
かを見るためにチェックする。高Qワークは高優先順位
要求の処理を意味する。もし待ち行列中に高優先順位の
ワークが存在する場合には判断ブロック104のうちの
イエスラインはブロック106へ移行するようにとられ
る。そのことは高優先順位要求が従来技術のコントロー
ラで使用されるものとして知られているプロセス中で処
理される。もし高優先順位要求が存在しない場合にはノ
ーラインが判断ブロック108に対してとられる。そこ
でこれがダイナミックポーリングによる手続の第4番目
であるかどうかを見るためにチェックが行われる。図3
に示すように、ポーリング手続による第4回目は事実上
時刻T0でスタートするサイクリングの反復である時刻
T4で行われる。唯一の相違は時刻T4に初期化段階が
取られ、しかるに時刻T4では割込み要求が検出され割
込みがチャネルRQIと遅れ1、2、3のエージングレ
ジスタを介して処理されるという点である。エージング
プロセスは先に論じた如くタイミングサイクル全体にわ
たって反復しつづける。もしこれがダイナミックポーリ
ングによる第4回目ではない場合、判断ブロック108
からブロック110へノーラインがとられ、レベル7へ
復帰し、そこでバックグラウンドタスクが処理される。 ブロック110では、制御はダイナミックポーリングシ
ーケンスが行われるレベルである割込みレベル6から戻
り、レベル7へ戻ってバックグラウンドタスクについて
のワークを継続する。然しながら、もしそれがダイナミ
ックポーリングについて第4番目である場合には判断ブ
ロック108からイエスラインがとられ判断ブロック1
12へ移行し、そこで待ち行列中のサマリーワークがチ
ェックされる。もし待ち行列中にサマリーワークが存在
しなければ、判断ブロック112からノーラインがとら
れ、ブロック110へ移行し、そこでバックグラウンド
タスクが処理される。待ち行列中にサマリーワークが存
在する場合には、判断ブロック112からイエスライン
がとられてブロック114に示すようにダイナミック走
査手続へ移行する。ダイナミック走査手続は図4(B)
中に示すが、後に論ずる。
【0060】もしダイナミック手続の初めに割込みが存
在する場合には、判断ブロック102から判断ブロック
116へイエスラインがとられ、そこでチャネルが既に
制御装置についてビジー状態にあるかどうかについて判
断が行われる。もしそうであれば、判断ブロック116
からブロック118へイエスラインが移行し、そこで限
定されたサマリーワークがとられる。限定されたサマリ
ーポーリングではコントローラの内側の仕事のみがチェ
ックされる。何故ならば、制御装置に対する接続を必要
とするチャネルは既にビジー状態にあり、制御装置の内
側の仕事のみが実行可能であるからである。従って、コ
ントローラの一部に接続する態勢にある仕事を有するデ
バイスのみがチェックされる。もしチャネルがビジーで
はなくチャネルに対する接続を行うことが可能であれば
、判断ブロック116からノーラインが取られてブロッ
ク120へ移行し、そこでサマリーポーリング全体が続
き、チャネルに対する接続用かコントローラの内部の割
込みが存在するかどうかがチェックされる。
【0061】表2には限定サマリーポーリング手続LS
UMPLが開示されるがそれをまづ論ずることにする。 限定サマリーポーリング手続はサマリーポーリングタス
クの結果を分析してチャネルに対する接続なしに処理可
能な割込みを探索する。手続はどのストリングがポーリ
ングされるべきかを判断し、タグを発する。手続は、そ
の後プログラムを構築し積み重ねポーリングを制御して
次のストリングを分析する。それは内部コントローラチ
ェーンから断続されたストリングに対してポーリングを
発しプログラムを構築するだけである。チャネルに対す
る外部再接続に対する割込みや不測の割込みは何れも無
視される。手続はブロック118からブロック122へ
続き、限定ストリングポーリング手続LSTRPLに移
行する。その詳細は表3に示す。 表2−LSUMPL *エントリー限定サマリーポーリング分析*サマリーポ
ーリング一部分析 *内部サマリーEPIをフェッチする。 /*コピーサマリータグが丁度発せられる。 /*EDIベクトルに対するJASポインタをセットす
る。 /*サマリー内部EDIをフェッチする。 /*CTLR0を解析中であれば、CTLR1データを
バイパスし移行する。 /*さもなければCTLR1/DEV0アドレスを移動
する。 /*コントローラ  タイプ/アクティブをセーブする
。 /*サマリー内部EDIを読取る。 /*JAS内部EDIをセットする。 /*もし予期しない割込みが存在しなければダイナミッ
ク走査へ移行する。 *ストリング1のEDIを取り出した後880NSEC
JASの下で次のポーリングアドレスを計算し待機。 /*CTLRN/STR1  EDIを取出す。 /*ポーリングをセットする=STR3/*もし割込み
STR0:STR1が存在しなければテストSTR2&
STR3へ移行する。 /*ポーリング=STR0をセットする。 /*もしSTR0からの割込みがあれば、セットされた
ポーリングSTR3をバイパスする。 /*さもなければポーリング=STR1をセットする。 /*STR2からの割込みがなければ、次のストリング
をテストする。 /*さもなければポーリング=STR2をセットする。 /*STR1  EDIを読取る。 *EDIをフェッチして次のポーリングタグを呼出す。 /*EDIをフェッチする。 /*ポーリングアドレスをロードする。 /*ストリングポーリングタグを呼出す。 /*タグをセットしてポーリングとして発する。 /*ターゲットRTNのアドレスをセットアップする。 /*ルーチンアドレスを目標とする。 /*CTR2  EDIを読取る。 *今度はサマリーポーリング結果を分析する。 *発せられるべきポーリングタグの次のシーケンスを決
定する。 *ポーリングタグの発行をスケジューリングする制御構
造を生成する。 *CTR0ポーリング用の制御構造を生成する。 /*CTLR0/STR3  EDIをフェッチする。 /*CTLR0/STR3  EDIをフェッチする。 /*CTR0の割込みがなければ、スタック上のストア
データをバイパスする。 /*ポーリングタグアドレスをスタックする。 /*ストリングポーリングサブルーチンアドレスをスタ
ックする。 /*DEVOアドレス&EDIをスタックする。 *STR1ポーリングのための制御構造を生成する。 /*ポーリング=STR1をセットする。 /*もしSTR1の割込みが存在しなければ、ストリン
グ2の割込みをテストする。 /*STR1  EDIをワークレジスタへ移転する。 /*ポーリングタグアドレスをスタックする。 /*ストリングポーリングサブルーチンアドレスをスタ
ックする。 /*DEVOアドレス&EDIをスタックする。 *STR2ポーリング用の制御構造を生成する。 /*ポーリング=STR2をセットする。 /*STR2の割込みがなければ、ストリング3の割込
みをテストする。 /*STR2  EDIをワークレジスタへ移動する。 /*スタックポーリングタグアドレスをスタックする。 /*DEVO  アドレス&EDIをスタックする。 /*STR3ポーリング用に制御構造を生成する。 /*ポーリング=STR3をセットする。 /*もしSTR3の割込みがなければ、待ち行列走査を
セットアップする。 /*STR3  EDIを読取る。 /*STR3  EDIを読取る。 /*STR3  EDIを読取る。 /*ポーリングアドレスをスタックする。 /*ストリングポーリングサブルーチンアドレスをスタ
ックする。 /*DEVO  アドレス&EDIをスタックする。 *待ち行列走査用の制御構造を生成する。 /*タグをセットしてタグ無しとして発する。 /*ポーリング=サマリーCTLRをセットする。 /*ダイナミック走査を次のターゲットサブルーチンと
してセットする。 /*ポーリングタグアドレスをスタックする。 /*初期内部割込みサマリーをクリアする。 /*次のターゲットサブルーチンに移行する。 *予期した内部割込み発見されず、XFER  DYN
SCNを制御し待ち行列のデバイスワークをスタートす
る。 表3−LSTRPL *コントローラからの妥当応答デバイスをセーブ。 *割込み、ポーリングタグをドロップし内部割込みをセ
ーブ。 *デバイス割込みを得る。 /*ストリングのスターティングデバイスアドレスをコ
ピー。 /*ポーリングタグをドロップする /*右に3度シフトすることによってストリングを決定
する。 /*オフセットを内部割込みテーブル内へ入れる。 /*ストリングのマスクを得る。 /*予測割込みだけをセーブ。 /*アドレスをバス出力上へ置く。 /*次のタグを呼出す。 /*内部割込みだけをセーブする。 /*発見した内部割込みを処理する。 /*更新されたポーリング結果バッファをセットする。 *次のポーリングタグを呼出し、次のターゲットサブル
ーチンへ転送する前にタグを高く保持する。
【0062】ブロック122の限定ストリングポーリン
グ手続は呼出し手続により発せられたポーリングタグ中
のストリングをドロップし、ストリングポーリング結果
を分析する。結果の分析から手続はジョイントアレイ構
造中にストアされた予期割込コマンドを使用するチャネ
ルプログラムの代わりにどのデバイスが中断しているか
、内部コントローラ処理の代わりにどのデバイスが中断
しているか、またどのデバイスが不測の割込みを提示し
ているかを判断する。内部割込みは1つのビット有意ス
トリングマスクにより要約される。発見される実際の内
部割込みはメモリ内の一ロケーション内にストアされる
。1チャネルに対するデバイスの割込みはポーリング結
果バッファ内にストアされる。チャネルリクエストイン
信号(RQI)は蓄積されも呼出されもしない。更に、
不測の割込みは限定ストリングポーリング手段によって
無視される。ブロック122の限定ストリングポーリン
グ手段後、プロセスはブロック114に続き、図4(B
)のダイナミック走査手続に移行する。
【0063】ブロック120のサマリーポーリング手続
FSUMPL全体を表4に示す。ポーリングサマリーポ
ーリング手続はサマリーポーリングタグの結果を分析す
る。それはどのストリングがポーリングさるべきかを決
定し、タグを発する。その後、手続は一定のプログラム
を構築し、スタックしてポーリングを制御し、次のスト
リングの分析を完了する。一つの割込みを有するストリ
ングは全て処理される。割込みはチャネルプログラム再
接続、内部コントローラ再接続、もしくはパック変更の
如き不測のデバイス割込みに対するものとすることがで
きよう。ブロック120のサマリーポーリング手続全体
はその後、ブロック124に示すようにストリングポー
リング手続へ移行する。 表4−FSUMPL *ストリング0の外部EDIをフェッチする。 *次のポーリングタグを呼出す。 /*発せられたばかりのサマリータグをコピーする。 /*JASポインタをEDIベクトルにセットする。 /*CTLR0を分析中であればCTLR1データをバ
イパスする。 /*さもなければCTLR1データを移動する。 /*CTLRN/STR0アドレスをオフセットする。 /*CTLRN/STR0アドレスだけオフセット/*
もし割込みSTR0:STR1がなければ、STR2&
STR3をテストする。 /*ポーリングタグ=STR1をセットする。 /*STR0からの割込みがなければ、STR1のため
にポーリングを呼出す。 /*さもなければ、ポーリングタグ=STR1をセット
する。 /*ポーリングタグ=STR0:STR1/*ポーリン
グタグを呼出す。 /*STR0  EDIを読取る。 /*ポーリングタグ=STR2をセットする。 /*もしSTR2からの割込みがあれば、STR2のポ
ーリングタグを呼出す。 /*さもなければ、ポーリングタグ=STR3をセット
する。 /*ポーリングタグ=STR2:STR3/*ポーリン
グタグを呼出す。 /*CTLR0ポーリングならば、CTLR0アドレス
移動をバイパスする。 /*さもなければ、CTLR1  DEV0アドレスを
移動する。 /*STR0  EDIを読取る。 /*発されたばかりのストリングタグをセーブする。 *EDIをストリング1のためにフェッチする。 *次のポーリングタグのアドレスを計算する。 /*CTLR0/STR1  EDIをフェッチする。 /*CTLR0をポーリング中ならばCTLR1の移動
をバイパスする。 /*アクティブフラグとコントローラタイプをセーブす
る。 /*CTLR0/STR1  EDIをフェッチする。 /*もしCTLR=0をポーリング中ならば、CTLR
1の移動をバイパスする。 /*アクティブフラグとコントローラタイプをセーブす
る。 /*STR1  EDIを読取る。 *サマリーポーリング結果を分析してポーリングタグの
次のシーケンスを決定する。制御構造がポーリングタグ
の発行をスケジュールして、ポーリング結果を生成し、
ポーリングスタック内にストアする。 *STR2のためにEDIをフェッチする−STR0ポ
ーリングシーケンスのための制御構造を生成する。 /*CTLR/STR2  EDIをフェッチする。 /*スタックポインタを初期化する。 /*次のターゲットルーチンアドレスをセットする。 /*発すべき次のタグはポーリングとセットする。 /*もしSTR0の割込みが有れば、制御データをスタ
ックする。 /*さもなければスタックをバイパスする。 /*ポーリングタグをスタックする。 /*ストリングポーリングサブルーチンアドレスをスタ
ックする。 /*DEV0アドレス&EDIをスタックする。 /*STR2  EDIを読取る。 *STR3のためにEDIをフェッチする。−STR1
ポーリングシーケンスのために制御構造を生成する。 /*CTLR/STR3  EDIをフェッチする。 /*CTR1のDEV0アドレスを調整する。 /*STR1のポーリングタグアドレスをセットする。 /*もしSTR1割込みがあれば、データをスタック内
にストアする。 /*STR3  EDIを読取る。 /*ポーリングタグアドレスをスタックする。 /*ポーリングタグアドレスをスタックする。 /*ストリングポーリングサブルーチンアドレスをスタ
ックする。 /*DEV0アドレス&EDIをスタックする。 /*STR3  EDIを読取る。 *STR2ポーリングのために制御構造を生成する。 /*ポーリング−STR2をセットする。 /*もしSTR2の割込みがなければスタッキングデー
タをバイパスする。 /*ポーリングタグアドレスをスタックする。 /*DEV0アドレス&EDIをスタックする。 *STR3ポーリング用の制御構造を生成する。 *STR3ポーリング用の制御構造を生成する。 /*ポーリング=STR3をセットする。 /*もしSTR3の割込みがなければ、スタッキングデ
ータをバイパスする。 /*ポーリングタグアドレスをスタックする。 /*ターゲットサブルーチンアドレスをスタックする。 /*DEV0アドレス&EDIをスタックする。 *設定された待ち行列走査のための制御構造を生成する
。 *全ストリングポーリング用のハイフェッチモード/*
係属中のUACB割込みをフェッチする。 /*次のデータをセットして空白として発する。 /*ポーリング=コントローラサマリーをセットする。 /*ダイナミック走査を次のターゲットサブルーチンと
してセットする。 /*ポーリングタグアドレスをスタックする。 /*ターゲットサブルーチンアドレスをスタックする。 /*初期化内部割込みサマリーをクリアする。 /*ポーリングスタックRTRを再初期化して最初のポ
ーリングタグをバイパスする。 /*次のターゲットサブルーチンに移行する。 ブロック124のストリングポーリング手続FSTRP
Lの全体を表5に示す。ストリングポーリング手続全体
は呼出し手続により発せられるストリングNポーリング
タグをドロップして、ストリングポーリング結果を分析
する。結果の分析からストリングポーリング手続全体は
どのデバイスがチャネルプログラムのために割込んでい
るか、どのデバイスが内部コントローラ処理のために割
込まれているか、またどのデバイスが不測の割込みを提
示しているかを決定する。チャネルプログラムのための
割込みはジョイントアレイ構造内にストアされた予期外
部割込みである。一つの予期割込みはサマリーポーリン
グ中に発見された特定のデバイスから行われる。特定デ
バイスの確認はストアされ、その後、手続は、どのチャ
ネルが要求を処理するために接続さるべきものであるか
を見るためにチェックする。かくして、デバイスを中断
するチャネルプログラムの割込みのために、一層の分析
が必要となる。20マイクロセカンドチャネル遅れ時間
割込みデバイス、チャネルRQI信号は蓄積されて、こ
のポーリングサイクル中にチャネルに提示される。65
マイクロセカンド、130マイクロセカンド又は195
マイクロセカンドチャネルに対する接続の割込みを提示
するデバイスが蓄積され、エージングされる。これらの
チャネルRQIは次のポーリングサイクル上でダイナミ
ックポーリング手続によって提示される。内部コントロ
ーラデバイス割込みと不測のデバイス割込みとはデバイ
スマネージャプロセス中の次の優先順位の手続のために
ストアされる。ストリングポーリング手続全体の終りに
、CR2レジスタ又は20マイクロセカンドチャネル中
にストアされたチャネルRQIが更新される。これらの
チャネル識別はこのストリングのために蓄積されたチヤ
ネルRQIに22マイクロセカンドの間UP状態であっ
たチャネル識別にとって代わる。エージングプロセスに
よって進行する割込みが維持される。ブロック124の
ストリングポーリング手続全体後にプロセスはブロック
114のダイナミック走査手続へ移行する。 表5−FSTRPL *コントローラからの妥当応答−デバイス割込みをセー
ブして、ポーリングタグをドロップし、実デバイス/割
込みにより論理積をとった予測割込みを用いて外部割込
みのビットマップをつくりだす。 /*実デバイス割込みをセーブする。 *デバイス’XXXX  X000’Bのための割込み
を処理する。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*もし外部割込みが存在しなければ、RQIをバイパ
スする。 /*さもなければRQIマスクを累算する。 /*次のポーリングタグ&アドレスを得る。 /*次のポーリングコードをロードする。 *デバイス’XXXX  X001’B用の割込みを処
理する。 *このストリング用に内部の不測割込みのビットマップ
をつくりだす。もし存在すれば、 *ビット有意アドレスをつくりだす。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*次のタグを呼出す。 /*もし外部割込みがあればリセットRQIマスクをバ
イパスする。 /*さもなければ、RQIマスクをリセットする。 /*このストリングのRQIマスクアドレスを累算する
。 *デバイス’XXXX  X010’B用の割込みを処
理する。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*もし外部割込みが存在すればRQIマスクをバイパ
スリセットする。 /*さもなければRQIマスクをリセットする。 /*RQIマスクを累算する。 *デバイス’XXXX  X011’B用の割込みを処
理する。 /*RQIチャネルマスクを読取る。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*もし外部割込みがあれば、リセットRQIマスクを
バイパスする。 /*さもなければRQIマスクをリセットする。 /*RQIマスクを累算する。 *デバイス’XXXX  X001’Bのための割込み
を処理する。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*もし外部割込みが存在すればバイパスしてRQIマ
スクをリセットする。 /*さもなければRQIマスクをリセットする。 /*RQIマスクを累算する。 *デバイス’XXX  X100’B用の割込みを処理
する。 *ポーリングタグがダウンし妥当タグの落下が可能にな
った。次のポーリングタグを呼出す。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*次のタグを呼出す。 /*もし外部割込みが存在すれば、バイパスしてRQI
マスクをリセットする。 /*さもなければRQIマスクをリセットする。 /*RQIマスク内部割込みを累積する。 *デバイス’XXXX  X101’B用の割込みを処
理する。 /*RQIチャネルマスクを読み取る。 *次のRQIフェッチをトリガする。 /*外部割込みが存在すれば、バイパスしてRQIマス
クをリセットする。 /*RQIマスクを累積する。 *デバイス’XXXX  X110’B用の割込みを処
理する。 /*RQIチャネルマスクを読取る。 /*次のRQIフェッチをトリガする。 /*ストリングの内部割込み。 /*もし外部割込みが存在すれば、バイパスしてRQI
マスクをリセットする。 /*RQIマスクを累算する。 /*このストリング用に内部割込みをセーブする。 *デバイス’XXXX  X111’B用のプロセス割
込み /*RQIチャネルマスクを読取る。 /*RQIチャネルマスクを読取る。 /*RQIチャネルマスクを読取る。 /*もし外部割込みがなければ、RQIをバイパスする
。 /*さもなければRQIマスクを累算する。 *ポーリング走査がストリング’N’について完了した
ので今度は *新しい累積チャネルリクエストインを呼出し、*ポー
リングリクエストバッファを更新する。 /*このポーリングで全てのRQIを累算する。 /*20マイクロセカンドRQIのみをキープする。 /*新たな20マイクロセカンドRQIをセーブする。 /*もし奇数ポーリングバスならば、奇数RQIを更新
する。 /*新たなRQI=偶数/奇数RQI /*スタティックとエージングRQIを維持する。 /*新たなRQIを呼出す。 /*偶数/奇数ポーリング状態をフリップする。 /*ポーリング結果バッファを更新する。 /*偶数RQIを新RQIに置換する。 /*更新されたポーリング結果バッファをセットする。 /*次のターゲットサブルーチンに移行する。 /*次のRQI=偶数/奇数RQI /*スタティックとエージングRQIを維持する。 /*新たなRQIを呼出す。 /*偶数/奇数ポーリング状態をフリップする。 /*ポーリング結果バッファを更新する。 /*奇数RQIを新たなRQIに置換する。 /*更新されたポーリング結果バッファをセットする。 /*次のターゲットサブルーチンに移行する。 さて図4(B)について述べると、ブロック126のダ
イナミック走査手続DYNSCNを表6に示す。ダイナ
ミックデバイス走査手続はデバイスマネージャを呼出し
てポーリング手続によって処理し、待ち行列中に配置さ
れたデバイスワークをスタートする。ダイナミック走査
手続はワーク発送時には優先順位スキームに従う。まづ
、手続は20マイクロセカンドチャネルに対してRQI
を維持する。第2に、手続は内部割込みを処理する。 第3に、手続は65マイクロセカンド又は195マイク
ロセカンドチャネルに対するRQIを維持する。最後に
、手続は待ち行列となったデバイスワーク要求を処理す
る。20マイクロセカンドチャネルに対するチャネルR
QIは割込みレベル3でエージングする。内部割込みの
ラウンドロビン走査を使用してデバイスマネージャに接
続さるべき次のデバイスを選択して内部割込み要求を処
理する。ダイナミックRQIがアクティブでないか、発
送待ち行列ワークカウンタが時間切れの場合には、ラウ
ンドロビン走査を用いて次のデバイスをピックアップし
てデバイスマネージャ内に待ち行列となったワークデバ
イス手続を処理して内部コントローラワークを処理する
。ワークはデバイスにとって未処理の割込みが存在しな
い場合にのみ発送される。優先順位スキームのエントリ
ーポイントナンバー2を使用して内部割込みと待ち行列
になったデバイスワークを共にチェックする。優先順位
スキームのエントリーポイントナンバー4を使用してダ
イナミックポーリング手続が待ち行列のワークを発見し
たがその処理中にはデバイス割込みは全く発見されなか
った時、待ち行列になったデバイスワークをチェックす
るために使用される。20マイクロセカンドチャネルR
QIのエージングは割込みレベル3で行われる。次のポ
ーリングサイクルのハードウェアタイマー値もこの時に
セットされる。 表6−DYNSCN *ポーリングされた内部割込みがないかテストする。 /*もし内部割込みが存在しなければ、ワーク待ち行列
をテストする。 *ポーリングから残りの20マクロセカンドチャネルR
QIをテストする。 /*アクティブ20マイクロセカンドRQIをテストす
る。 /*もしアクティブであれば、LVL3がそれらをエー
ジングするのを待機する。 *大域インディケータを初期化して制御を*内部割込み
プロセッサへ転送する。デバイス*アドレス全体はデバ
イスマネージャ内のレジスタ内に置く。 /*進行中のデバイスワークを表示する。 /*スタティックRQIサマリーをフェッチする。 /*スタティックRQIのみを復帰させる。 /*カレント割込みマスクをセーブする。 /*チャネル割込みをブロックする。 /*ポーリング20マイクロセカンドタイマの初期化を
ブロックする。 /*スタックポインタを初期化する。 /*デバイスプロセスをアクティブにセットする。 /*ポーリングプロセスをアクティブにリセットする。 /*デバイスアドレスをロードする。 /*SPIDをフェッチする。 /*SPIDをDEVマネージャレジスタへコピーする
。 /*デバイスマネージャをコールする。 /*もしワークがスタートしていたらREDOPOLへ
移行する。 /*もしデバイスがオンにホールドされていれば待ち行
列ワークをスタートする。 *デバイスオンホールド−待ち行列デバイスワークを探
す。 /*エージング065  RQI  レジスタをクリア
する。 /*デバイス待ち行列サマリーバイトを読取る。 /*エージング130  RQ1  レジスタをクリア
する。 /*エージング195  RQI  レジスタをクリア
する。 /*エージング020  RQI  レジスタをクリア
する。 /*エージング020  RQI  レジスタをクリア
する。 /*ストリング/デバイスマスクをフェッチする。 /*ループカウンタを初期化する。 /*待ち行列ワークがなければ、ポーリングをリスケジ
ュールする。 /*待ち行列ワークをスタートする。 *このエントリーは限定サマリーポーリングによってコ
ールされる。 *予測内部割込みは発見されない。 /*もし待ち行列をチェックする時刻ならばエージング
RQIをチェックする。 /*さもなくば、このパスを終了する。 /*20マイクロセカンドチャネルマスクをコピーする
。 /*エージングRQIがないかテストする。 /*もしエージングRQIがなければ、待ち行列ワーク
がないかテストする。 /*RQIオーバーライドワークをフェッチする。 /*待ち行列カウンタ、 /*カウンタをインクリメントする。 /*もしRQIオーバーライドカウンタならば、待ち行
列ワークがないかテストする。 /*さもなくばこのパスを終了する。 *ラウンドロビン走査を用いて待ち行列デバイスワーク
がないかテストする。 /*デバイスキューサマリーバイトを読取る。 /*ストリング/デバイスマスクをフェッチする。 /*デバイス待ち行列サマリーバイトをセーブする。 /*もしワークがなければポーリングパスを終了する。 /*待ち行列ワークサブルーチンを呼出し決定する。 /*もし妥当なLDAならばつづけて待ち行列ワークを
スタートする。 /*もし妥当なLDAがなければポーリングを終了する
。 *ポーリングから残りのダイナミックチャネルRQIが
ないかテストする。 *2つの10マイクロセカンドウインドウの間残存する
ようにタイミングをとる。 /*それ以上のダイナミックチャネルがないかテストす
る。 /*あればLVL3が完全にエージングするのを待機す
る。 *大域インディケータを初期化して制御を*待ち行列デ
バイスワークプロセッサへ転送する。 *デバイスワークがなければ内部割込みを処理する。 *このポーリングパスの終了の準備をする。 *処理して予め空白になったプロセスへ戻る。 *内部割込サマリーバイトは *1つもしくはそれ以上のストリング又はデバイスでポ
ーリングされた内部割込みを指示する。ラウンドロビン
走査を用いて *デバイスマネージャに発送して処理すべきデバイス’
N’割込みを発見する。 /*もしストリング割込みが発見されると、デバイス割
込みを発見する。 /*ストリング走査マスク=N+1−>7/*デバイス
走査マスク=O−>7 /もしストリング割込みが発見されたら、デバイス割込
みを発見する。 /*オフセットポインタをセットしてフェッチしてビッ
ト有意値を戻す。 /*デバイスはラウンドロビン走査によって次のストリ
ングのために割込む。 /*もしデバイス割込みが発見されなければ、もう一つ
のストリングをテストする。 *次のデバイス内部割込み、 *発見。デバイスの2値アドレス全体をコンパイルする
。 *ラウンドロビンストリング走査をデバイスN+1に更
新する。 /*デバイス’N’ビットアドレスを復帰させる。 /*デバイスマスク=N+1−>7 /*もしN=7ならば、デバイスマスク=O−>7スト
リングマスク=M+1 /*もしM=7ならばストリングマスク=8/*ラウン
ドロビン走査マスクを更新する。 /*メインラインを戻す。 *デバイスワーク待ち行列サマリーバイトは*待ち行列
ワークがラウンドロビン走査を活用して*デバイスマネ
ージャへ発送されて処理さるべき待ち行列’N’ *を発見する。 *待ち行列を有するデバイスが発見された。 *デバイスの2進アドレスをコンパイルする。 *ラウンドロビンストリング走査マスクをN+3に更新
する。 /*ビット有意値に戻る。 /*デバイスマスク=N+1〜7 /*もしデバイスN=7ならばデバイスマスク=0〜7
/*M=7のときストリングマスク=M+1ならばキャ
リーはストリングマスク=80Xにセットすることにな
ろう。 /*更新されたデバイス/ストリングマスクをストアす
る。 *デバイス’N’には待ち行列ワークが存在する。もし
割込みがあればJASのみの処理を許可する。 /*もし係属する割込みがなければ、ワークを発送する
。 /*もし要求がDEV待ち行列にあれば待ち行列ワーク
を発送する。 /*Qオフセットインディケータをセーブする。 /*もし妥当なQオフセットがなければ、進行を完了し
バイパスする。 /*正確な待ち行列の作用をPTRする。 /*メインラインを戻す。 /*待ち行列ワークが発見されない。 /*メインラインを戻す。 図4(B)において、ブロック126のダイナミック走
査手続後に、手続は判断ブロック128へ継続し、そこ
で手続は内部割込みと待ち行列になったワークをチェッ
クする。もし存在しなければ制御は割込みレベル7へ戻
ってブロック130に示すようにバックグラウンドタス
クを処理する。もし内部割込みが存在するか、待ち行列
中にワークが存在すれば、判断ブロック128からのイ
エスラインはブロック132への手続をとり、そこで制
御はデバイスマネージャへ転送され、コントローラ内部
の要求ワークを処理する。コントローラの内部ワーク要
求条件は例えばキャシュ接続を処理したり不揮発性メモ
リに対する接続を行うこととすることができる。
【0064】図4(C)にブロック134でスタートす
るチャネルのRQI信号への応答手続を示す。ブロック
134に示すようにチャネルのRQIへの応答において
、チャネルマネージャはブロック136に示すような走
査ルーチンを呼出す。ブロック138に示すような手続
の次のステップは走査ルーチンを実行することである。 走査ルーチンは表7に詳細に示されている。表7の走査
ダイナミック割込みサブルーチンは図3と4(A)に示
すダイナミックポーリング手続によって構築されたポー
リング結果バッファを走査する。ポーリング手続中に見
出される割込みに応答するチャネルのタイプに基づいて
2〜16ワードが質問される。論理デバイスが決定され
、このデバイスのUACBも質問される。このメモリパ
スについて発見された割込みは走査されて規定チャネル
に対する割込みが発見される。マッチングが発見される
と、走査は完了し、デバイスはチャネルに接続される。 表7−SCAN *セレクトチャネルマスクとメモリパスIDを*ポーリ
ングプロセス2次レジスタページへスイッチする前に、
一次ページに *コピーしてダイナミック割込みをサーチする。 *20マイクロセカンドチャネル割込みがないかテスト
する。 /*なければ、他のRQIをテストする。 /*もし20マイクロセカンドの割込みがあればPOL
RSLTSバッファを走査する。 /*なければデバイス無しとして退去する。 *検出された20マイクロセカンド同期割込みは今度は
*POLRSLTSのデバイスをサーチする。2つポー
リング結果バッファワードのうちの *大きい方をチェックする。 *デバイスが発見されなかった場合のみ戻る。 *セレクトチャネルは20マイクロセカンドRQIバケ
ットの中にない。 *従ってエージング195バケット中のこのチャネル内
に割込みがあるかどうかをテストする。 *エージング195バケット中にチャネルマッチングが
発見された。 *既にエージング130境界チェックエージング65を
終えているから、このチャネル選択についてデバイスが
発見されない場合のみ、195マイクロセカンドの旧復
帰に近いデバイス割込みと関連する4POLRSLTS
ワードのモジュロ4境界に対してポインタを整合させる
。 /*エージング65境界をチェックする。 /*もしエージング130内にマッチングが存在しなけ
れば、エージング65をテストする。 /*130マイクロセカンド境界に整合させる。 /*境界ラップ整合は *デバイスが発見されない場合のみ復帰する/*もしエ
ージング65中にマッチングが存在しなければ、デバイ
ス無しとして退去する。 /*65マイクロセカンド境界に整合させる。 /*境界ラップ整合 *セレクトチャネルは20又は195の*RQIバケッ
ト内にないから、今度はエージングバケット内のこのチ
ャネルについて割込みがないかどうかをテストする。 /*エージング130中にマッチングがなければ、エー
ジング130バケット中に発見されたエージング65の
バケットチャネルマッチングをテストする。 *デバイスが見つからないエージング65境界を既に終
了済みであるからこのチャネル選択についてデバイスが
見つからない場合にのみ130マイクロセカンドの旧復
帰に近いデバイス割込みと関連する4POLRSLワー
ドのモジュロ04境界に対してポインタを合わせる。 *デバイス発見されないまま退去する。 /*エージング65中にマッチングが存在しなければ、
デバイス無しとして退去する。 /*065マイクロセカンド境界に合わせる。 /*境界ラップアラインメント *セレクトチャネルは20、195又は130RQIバ
ケットの中に存在しない。 *それ故、今度はエージングバケット中のこのチャネル
について割込みがないかをテストする。 /*エージング65内にマッチングが存在しなければ、
エージング65バケット中にはマッチするチャネルが発
見されないとして退去する。 *65マイクロセカンドに近いデバイス割込みと関連す
る4POLRSLTSワードのモジュロ4境界にポイン
タを合わせる。 *デバイスがない場合のみ復帰する。 *現在セレクトされたチャネルとマッチする’チャネル
リクエストイン’を有するデバイスについてPOLRS
Lバッファ内のIT04ワードを走査する。 *もし資格のあるデバイスが発見され、デバイスUAC
Bが捕獲されたならば、制御は呼び手へ復帰する。さも
なければ、制御をメインラインに戻す。 *エントリー1: *入力値を用いて走査さるべき4ワードのモジュロ04
境界へPTR(POLRSL)を合わせる。 *エントリー2: *現在セレクトされたチャネルとマッチする’チャネル
リクエストイン’を有するデバイスについて内部サブル
ーチンにより走査さるべき1〜4ワードをフェッチする
。 /*もし境界上になければ境界+Nに合わせる。 /*ポインタが更新されなければ、境界+Nにあるにち
がいない。 /*さもなければ境界+N+1を放棄する。 /*境界+N又は+N+1に合わせる。 /*境界+0に合わせる。 /*境界ラップ整合 *POLRSL境界整合は済んだから、今度はPOLR
SLのデバイスをサーチする。4つのポーリング結果バ
ッファワードのうち最大のものをチェックする。 *デバイスが見つからない場合のみ復帰する。 *現在セレクトされたチャネルとマッチする’チャネル
リクエストイン’を有するデバイスについてPOLRS
Lバッファ内の一ワードを走査する。もし資格のあるデ
バイスが発見され、デバイスUACBが捕獲されれば、
制御はチャネルマネージャへ戻る。 /*SPインデクスを隔離する。 /*係属中のSP割込み中へインデキシングする。 /*係属中の割込みにオフセットする。 *デバイスについてPOLRSLをテストする。 *デバイスがバッファ中に発見される。デバイスが*セ
レクトチャネルについて係属中の割込みを有するかどう
かを見る。 /*ストリング中の最初のデバイスを加える。 /*係属中の割込みバイトをフェッチする。 /*デバイスナンバーを回復する。 /*カレントデバイスをPOLRSL候補から除去する
。 /*割込み係属バイトを読取る。 /*このチャネル上になければ、もう一つのデバイスを
テストする。 *カレントデバイスアドレスはデュプレックス対の外部
デバイス割込み2次を有する。一次対のアドレスにポイ
ンティングを戻す。 *ポーリング結果バッファ内に一デバイスが発見された
。もし装置アドレスロックをとることができれば、退去
する。さもなければ、次のデバイスを走査する。 *このチャネルについて資格のあるデバイスが発見され
、UALOCKHが取られた。この選択を進める態勢に
あるモジュールの呼び手へ戻る。 /*デバイスをビジーにリセットする。 /*RC=デバイス発見さる。 *このバッファロケーション内にはデバイスワークは存
在しない。メインラインに戻る。 /*デバイスアドレスを回復する。 /*このアドレスをリセットする。 /*もし何れかのアドレスが再び走査すれば、このモジ
ュールのメインラインへ戻る。 *このチャネルのバッファは全て処理され、*資格のあ
るデバイスは存在しない。復帰コードをデバイス無しに
セットして呼び手に戻る。 チャネルリクエストイン(RQI)信号は表8に詳しく
示すタイマー手続を更新する。チャネルRQI更新タイ
マー手続は時刻T1時に11マイクロセカンド毎に制御
を受取り、20マイクロセカンドチャネルRQI信号を
チェックする。その後T時間毎に手続はリクエストイン
を計時してプログラマブル割込みタイマを介して割込み
をエージングする。手続はチャネル要求と並行して割込
みレベル3を処理する。チャネルRQIはエージングさ
れて、時間切れのRQIは何れもドロップされる。 表8−POLTMR *ポーリング発送時間を再スタートする。 *ポーリングデューティサイクルは11マイクロセカン
ドである。 *CR2の20マイクロセカンドRQIを更新する。 *割込みから戻る。 /*タイマ=11マイクロセカンド /*POLタイマをインクリメントする。 /*もし奇数ポーリングパスならば、奇数RQIを更新
する。 /*奇数RQIをリフレッシュする。 /*スタティックとエージングRQIをリフレッシュす
る。 /*カレントRQI−偶数を回復する。 /*偶数RQIをリセットする。 /*偶数/奇数ポーリングパスをトグルする。 /*もしアクティブな20マイクロセカンドRQIがな
ければ、計時を中断する。 /*20マイクロセカンドRQIを全て累算する。 /*リクエストインを全てコピーする。 /*20マイクロセカンドRQIをターンオフする。 /*CR2から20マイクロセカンドRQIを除去する
。 /*スタティックRQIを維持する。 /*リクエストインを更新する。 /*20マイクロセカンドエージングバケットをゼロに
する。 /*ポールタイマをリセットする。 /*偶数RQIをリフレッシュする。 /*スタティックRQIをリフレッシュする。 /*カレントRQI−奇数を回復する。 /*奇数RQIをリセットする。 /*偶数/奇数ポーリングパスをトグルする。 /*アクティブな20マイクロセカンドRQIがなけれ
ば、計時を中止する。 /*時間割込みを時間をリセットする。 /*RFI 限定サマリーポーリングと全サマリーポーリングに対す
る図4Aのブロック118と120のサマリーポーリン
グはコマンドテーブルをセットアップする。制御はコマ
ンドテーブルを介してストリングポーリングへ転送され
る。コマンドテーブルはストリングポーリングに対する
情報を有し、何が必要とされており、、また手続のパラ
メータであるかを手続に対して告知する。サマリーポー
リング手続はコマンドテーブルを構築してその後、スト
リングポーリング手続の処理を制御する。ストリングポ
ーリング手続が呼出される回数はコマンドテーブルによ
って制御される。
【0065】ブロック104の高レベル待ち行列ワーク
は何らかの理由で特定ドライブの処理が高い優先順位を
有するということを述べる。全体として特定チャネルは
その時に一デバイスに対するセレクタチャネル要求アク
セスを呼出す。セレクタチャネルは接続を要求し、接続
状態にとどまり、特定デバイスに対する接続を待機する
。チャネルは接続を待機し、従って、チャネルが特定デ
バイスに関して処理されるまで他のワークを何ら行うこ
とができないために、高レベル優先順位で処理される必
要がある。他のデバイスはセレクタチャネルの処理が完
了するまで満足されない筈である。セレクタチャネルは
セレクトされたデバイスに対する接続を待機している。 正規の手続はデバイスを特定ワークに要求しているセレ
クタチャネルが存在しないから、ダイナミックポーリン
グ手続が継続するということである。
【0066】サマリーワークはブロック112に示すよ
うにダイナミックポーリング中に第4回毎にのみ待ち行
列でチェックされるため、レベル7で進行中のワークは
必要以上は最早遅滞することはない。図2(A)に示す
如く、行列中にサマリーワークが存在するかどうかをチ
ェックする時間は参照番号300と312に示すように
17マイクロセカンド要する。それはダイナミックポー
リング手続中の第4番目の時刻であり、時刻304、3
08、および310では65マイクロセカンドタイミン
グのうちの8マイクロセカンドを要するポーリング手続
がとられる。かくして待ち行列中のサマリーワークは図
2(A)に示すように第4サイクル毎にチェックされる
にすぎない。
【図面の簡単な説明】
【図1】データ処理システムと同システムの諸部分間の
通信システムで本発明のポーリング手続を実行するもの
のブロック線図である。
【図2】(A)及び(B)は本発明のポーリング手続の
タイミング線図である。
【図3】本発明のポーリング手続の特定部分のタイミン
グ線図である。
【図4】(A)、(B)、及び(C)は本発明のポーリ
ング手続の論理流れ図である。
【符号の説明】
10、12、14、16、    CPU、22、24
、26、28、    4又は8チャネル、38、49
、                マルチメモリディ
レクタ、 40、42、50、52、    メモリパス、46、
                      キャシ
ュ、56、                    
  不揮発性メモリ、60、62、64、66、   
 デバイスサブシステム。

Claims (43)

    【特許請求の範囲】
  1. 【請求項1】  チャネルからの遅延応答に必要とされ
    る時間に対する要求を保持することによってチャネル接
    続に対する装置からのアクセル要求を管理すると共に要
    求を処理しチャネルに対するアクセスを可能にするコン
    トローラ用のダイナミックポーリング装置において、装
    置をポーリングしてアクセス信号に対する応答を検出す
    る手段と、前記ポーリング手段を周期的に駆動する手段
    と、アクセス信号に対する要求をストアする複数のセク
    ションを含むエージングメモリ手段と、前記ポーリング
    手段により駆動され、アクセス信号に対するストアされ
    た要求を1セクションから別のセクションへとシフトさ
    せる手段と、各装置とそのチャネル間の通信応答時間を
    決定しストアするタイマー手段と、アクセス信号に対す
    る要求を前記エージングメモリ手段中の前記複数のセク
    ションの特定の一つ内に配置し、アクセス信号に対する
    要求を前記タイマー手段により決定される特定セクショ
    ン中に配置する手段と、もしチャネルが接続を要求した
    時にアクセス信号に対する要求が前記エージングメモリ
    手段内にストアされている場合、チャネルを装置と接続
    する手段と、を備えることによって、アクセス信号に対
    する要求が前記エージングメモリ手段中の複数セクショ
    ンのうちの最後のものにストアされ、前記シフト手段が
    前記ポーリング手段により駆動された時にアクセス信号
    に対する要求が前記シフト手段によって前記エージング
    メモリ手段からシフトアウトするダイナミックポーリン
    グ装置。
  2. 【請求項2】  更に、一装置からのアクセス信号要求
    の受取りと前記ポーリング手段の次の駆動時間との間に
    バックグラウンドタスクを処理する手段を含む請求項1
    のダイナミックポーリング装置。
  3. 【請求項3】  装置が2つのセクションに分けられ、
    各セクションが前記ポーリング手段が駆動される一回お
    きに前記ポーリング手段によってポーリングされる請求
    項1のダイナミックポーリング装置。
  4. 【請求項4】  更に、アクセスを要求する装置のアド
    レスをストアする複数のメモリエリアを有するポーリン
    グ結果バッファを含む請求項1のダイナミックポーリン
    グ装置。
  5. 【請求項5】  もしそれ以上の装置がアクセスを要求
    していない場合一つの無効アドレスが次のバッファメモ
    リエリア内に配置される請求項1のダイナミックポーリ
    ング装置。
  6. 【請求項6】  前記駆動手段の周期が65マイクロセ
    カンドである請求項1のダイナミックポーリング装置。
  7. 【請求項7】  前記駆動手段が所定周波数で動作し、
    アクセス信号に対する応答が多数の所定周波数について
    保持される請求項1のダイナミックポーリング装置。
  8. 【請求項8】  アクセス信号に対する要求が前記エー
    ジングメモリ手段中にストアされる最長時間が所定周波
    数の3倍である請求項7のダイナミックポーリング装置
  9. 【請求項9】  チャネル接続を4つのパスの何れか一
    つについて行うことができる請求項1のダイナミックポ
    ーリング装置。
  10. 【請求項10】  装置の応答を待機中にバックグラウ
    ンド処理を可能にするためにデバイスとチャネル間の通
    信を管理するための機械処理方法において、ダイナミッ
    クポーリング手続をスタートし、チャネルをダイナミッ
    クポーリング手続中でビジー状態にあるかどうかをチェ
    ックし、もしチャネルがビジーではないと判った時、サ
    マリーポーリング手続全体の中のアクセス信号に対する
    要求全部を求めて装置サブセクションをチェックし、さ
    もなくてもしチャネルがビジーであることが判ると限定
    サマリーポーリング手続中の内部コントローラワークを
    求めてチェックし、全サマリーポーリング中であるとア
    クセス信号に対する要求を求めて装置をポーリングし、
    さもなくて限定サマリーポーリング中であるとアクセス
    信号に対する内部コントローラ要求を求めて装置をポー
    リングし、発見されたアクセス信号に対する要求をチャ
    ネルとアクセスを要求中のデバイスの間の通信遅れ時間
    に従ってシフトレジスタ内へストアし、アクセス信号に
    対する要求を有する装置の識別子をストアし、さもなく
    ば無効応答信号をストアし、チャネルに要求された時に
    ストアされた識別子に従って装置のチャネルに通信リン
    クを接続し、バックグラウンドワークを実行し、ダイナ
    ミックポーリング手続のステップを繰返す一方、シフト
    レジスタ内のストアされたアクセス信号に対する要求を
    シフトしてアクセス信号に対する要求が装置の通信遅れ
    時間を超えてシフトレジスタ内に配置された時にシフト
    レジスタからシフトアウトすることによってストアされ
    たアクセス信号に対する要求をドロップし、高優先順位
    のワークが要求された時にダイナミックポーリング手続
    を終了する、ステップより成る機械処理方法。
  11. 【請求項11】  一つの装置サブセクションが装置サ
    ブセクションをチェックする奇数ステップでチェックさ
    れ、第2の装置サブセクションが装置サブセクションを
    チェックする偶数ステップでチェックされる請求項10
    の機械処理方法。
  12. 【請求項12】  識別子をストアするステップがアク
    セス信号に対する要求を有する装置がなく、またはそれ
    以上の装置がない時に無効識別子をストアする請求項1
    0の機械処理方法。
  13. 【請求項13】  ストアされたサマリーワークがダイ
    ナミックポーリング手続がとられる第4回時刻毎に実行
    される請求項10の機械処理方法。
  14. 【請求項14】  ダイナミックポーリング手続をスタ
    ート後にアクセス信号に対する要求が検出されない場合
    に優先ワークが実行される請求項10の機械処理方法。
  15. 【請求項15】  装置とチャネル間の通信を管理しバ
    ックグラウンド処理を可能にする一方で装置の反応を待
    機させる機械処理方法において、ダイナミックポーリン
    グ手続をサイクリングさせてアクセス要求信号を送るこ
    とによってチャネルに対する接続を要求する装置をチェ
    ックし、チャネルとアクセスを要求する装置間の通信遅
    れ時間に従ってアクセス信号に対する要求を異なる位置
    にストアし、チャネルにより要求された時にチャネルに
    対する通信リンクを接続し、通信遅れ時間が時間切れと
    なった後にストアされたアクセス要求をドロップする、
    ステップより成る機械処理方法。
  16. 【請求項16】  更に、アクセス信号に対する要求を
    生成する装置の識別子をストアし、さもなくば無効信号
    をストアするステップを含み、前記通信リンクの接続ス
    テップがチャネルにより要求された時にストアされた識
    別子に従ってチャネルを装置に接続する請求項15の機
    械処理方法。
  17. 【請求項17】  異なるロケーションにストアされた
    アクセス信号に対する要求が通信遅れ時間に従ってシフ
    トレジスタ内の異なる位置にストアされ、その際、アク
    セス信号に対する要求がダイナミックポーリング手続が
    サイクリングする毎にシフトレジスタ内をシフトし、ス
    トアされたアクセスに対する要求をドロップさせるステ
    ップがアクセス信号に対する要求をシフトレジスタから
    シフトアウトすることによって行われる請求項15の機
    械処理方法。
  18. 【請求項18】  装置と中央処理装置間の通信接続を
    チャネルを介して管理するコントローラにおいて、チャ
    ネルに接続され中央処理装置と交信するようにした少な
    くとも一個のメモリディレクタで中央処理装置からのチ
    ャネルコマンドをチャネルを介して受取るようになった
    ものと、前記少なくとも一つのメモリディレクタに接続
    され、中央処理装置により要求されるデータ情報を前記
    メモリディレクタによりアクセス可能な前記装置サブシ
    ステム中の複数の装置にストアする装置サブシステムと
    、前記メモリディレクタに接続され前記装置サブシステ
    ムの装置に関する状態情報を含む共用制御アレイと、か
    ら成り、前記メモリディレクタがチャネルコマンドを解
    釈してそれに応じて前記共用制御アレイにアクセスし、
    前記装置サブシステムの装置を制御して前記装置間でデ
    ータを書込んだり検索したりし、前記メモリディレクタ
    がダイナミックポーリング装置を含み、チャネルに対す
    る接続に呼応して行われる前記装置からのアクセス要求
    を管理し、前記ダイナミックポーリング装置が前記装置
    サブシステムをポーリングしてアクセス信号に対する応
    答を検出し、前記装置サブシステム中のアクセス信号に
    対する要求を送る前記装置とチャネル間のチャネルアク
    セス通信時間に応じてアクセス信号に対する応答を異な
    る時間保持する手段を備え、前記メモリディレクタが更
    にチャネルと前記装置サブシステムを解放する手段を備
    え他のタスクの実行を可能にする一方、前記保持手段が
    前記装置に対するアクセス信号に対する応答を通信時間
    の間保持する、コントローラ。
  19. 【請求項19】  前記メモリディレクタの保持手段が
    アクセス信号に対する応答を通信接続時間の間保持した
    後、チャネルアクセスが完了したか否かに応じてアクセ
    ス信号に対する要求をドロップさせる請求項18のコン
    トローラ。
  20. 【請求項20】  前記メモリディレクタのダイナミッ
    クポーリング装置が前記装置サブシステムをポーリング
    時に設定周波数で動作し、アクセス信号に対する応答が
    多数の設定周波数時間の間保持される請求項18のコン
    トローラ。
  21. 【請求項21】  複数の装置を有する装置サブシステ
    ムと中央処理装置の間の通信接続をチャネルを介して管
    理するコントローラにおいて、チャネルを介して中央処
    理装置と交信し、チャネルコマンドを受取りそれに応じ
    てメモリサブシステムの装置を制御するようになった少
    なくとも一つのメモリディレクタと、前記メモリディレ
    クタに接続され装置と装置サブシステムに関する状態情
    報を含む共用制御アレイと、から成り、前記メモリディ
    レクタがダイナミックポーリング装置を含み、前記メモ
    リディレクタにより受取られたチャネルに対する接続に
    呼応して行われる装置からのアクセス要求を管理し、前
    記ダイナミックポーリング装置がメモリサブシステムを
    ポーリングしてアクセス信号に対する応答を検出し、装
    置サブシステム内のアクセス信号に対する要求を送る装
    置とチャネル間のチャネルアクセス通信時間に応じてア
    クセス信号に対する応答を異なる時間保持する手段を含
    み、前記メモリディレクタが更にチャネルと装置サブシ
    ステムを解放して他のタスクの実行を可能ならしめる手
    段を含む一方、前記保持手段が装置に対するアクセス信
    号に対する応答を通信時間の間保持する、コントローラ
  22. 【請求項22】  前記メモリコントローラの保持手段
    が通信接続時間中アクセス信号に対する応答を保持した
    後、チャネルアクセスが完了したか否かに応じてアクセ
    ス信号に対する要求をドロップさせる請求項21のコン
    トローラ。
  23. 【請求項23】  前記メモリディレクタのダイナミッ
    クポーリング装置が前記装置サブシステムのポーリング
    時に設定周波数で動作し、アクセス信号に対する応答が
    多数の設定周波数時間中保持される請求項21のコント
    ローラ。
  24. 【請求項24】  更に、内部記憶装置を含み、前記ダ
    イナミックポーリング装置が前記内部記憶装置に対する
    接続に呼応して行われる装置からのアクセスに対する要
    求を管理する請求項21のコントローラ。
  25. 【請求項25】  前記ダイナミックポーリング装置が
    サマリーポーリング全体を実行し、装置サブシステムと
    チャネルもしくは前記内部記憶装置の何れか一方との間
    のアクセス要求を管理する請求項24のコントローラ。
  26. 【請求項26】  前記ダイナミックポーリング装置が
    限定サマリーポーリングを実行して、チャネルがビジー
    信号を提供するために装置サブシステムのみと前記内部
    記憶装置間のアクセス信号要求を管理する請求項24の
    コントローラ。
  27. 【請求項27】  一本のチャネルを介して中央処理装
    置からと装置と関連する記憶装置とからの接続要求に応
    じて行われる装置サブシステム中の装置からのアクセス
    要求を管理するダイナミックポーリング装置において、
    装置をポーリングしてアクセス信号に対する要求を検出
    するポーリング手段と、前記ポーリング手段によって検
    出されるアクセス信号に対する応答を保持して、それに
    応じてアクセス信号に対する要求を送る装置とチャネル
    間のチャネルアクセス通信時間に応じてアクセス信号に
    対する要求を異なる時間保持する保持手段と、前記保持
    手段が装置に対するアクセス信号に対する応答を通信時
    間中保持する間にチャネルと装置サブシステムを解放し
    て他のタスクの実行を可能にする手段と、から成るダイ
    ナミックポーリング装置。
  28. 【請求項28】  前記保持手段がアクセス信号に対す
    る応答を通信接続時間中保持した後、アクセスが完了し
    たかどうかに応じてアクセス信号に対する要求をドロッ
    プさせる請求項27のダイナミックポーリング装置。
  29. 【請求項29】  前記ダイナミックポーリング装置が
    前記装置サブシステムをポーリング時に設定周波数で動
    作し、アクセス信号に対する応答が多数の設定周波数時
    間保持される請求項27のダイナミックポーリング装置
  30. 【請求項30】  前記ダイナミックポーリング装置が
    サマリーポーリング全体を実行し装置サブシステムとチ
    ャネルもしくは関連するメモリ装置の何れか一方との間
    のアクセス要求を管理する請求項27のダイナミックポ
    ーリング装置。
  31. 【請求項31】  前記ダイナミックポーリング装置が
    限定サマリーポーリングを実行し、チャネルがビジー信
    号を供給するために装置サブシステムのみと関連するメ
    モリ装置間のアクセス信号に対する要求を管理する請求
    項27のダイナミックポーリング装置。
  32. 【請求項32】  装置とチャネル間の通信を管理して
    装置応答を待機中に低優先順位の処理を可能にする機械
    処理方法において、ダイナミックポーリング手続をスタ
    ートしてチャネルに対する接続を要求する装置を発見し
    、アクセス信号に対する要求を求めて装置サブセクショ
    ンをチェックし、チャネルとアクセスを要求中の装置間
    の通信遅れ時間に従ってシフトレジスタ中にアクセス信
    号に対する要求をストアし、シフトレジスタ内でアクセ
    ス信号に対するストア要求をシフトさせそれぞれの装置
    チェックステップにおいてチャネルにより要求された時
    にチャネルに対する通信を接続し、シフトレジスタから
    シフトアウトすることによってストアされたアクセス要
    求をドロップさせる、ステップより成る機械処理方法。
  33. 【請求項33】  更にアクセス信号に対する要求を生
    成する装置の識別子をストアし、さもなくば無効応答信
    号をストアし、前記通信リンクを接続するステップがチ
    ャネルにより要求された時にストアされた識別子に従っ
    てチャネルを装置に接続する請求項32の機械処理方法
  34. 【請求項34】  少なくとも一つの中央処理装置との
    交信を複数のチャネルを介して管理するデータ処理シス
    テムにおいて、チャネルを介して中央処理装置からデー
    タとコマンドを受取るように接続された少なくとも一つ
    のコントローラと、それぞれが複数の装置を有し、中央
    処理装置によって使用される前記コントローラによって
    アクセス可能な情報をストアする複数の装置を備える少
    なくとも一つの装置サブシステムと、から成り、前記コ
    ントローラがそれぞれ前記メモリディレクタを含むコン
    トローラに接続されたチャネルと交信しチャネルからコ
    マンドとデータを受取るようになった少なくとも一つの
    メモリディレクタと、前記少なくとも一つのメモリディ
    レクタの関連する一つに接続され前記少なくとも一つの
    装置サブシステムの装置に関する状態情報を含む共用制
    御アレイとを含み、前記メモリディレクタがチャネルコ
    マンドを解釈してそれに応じて前記共用制御アレイをア
    クセスして前記装置の動作を制御して前記装置間でデー
    タを書込み又は検索し、前記メモリディレクタが、チャ
    ネルからの前記メモリディレクタによって受取られた接
    続要求に呼応して行われる前記少なくとも一つの装置サ
    ブシステム中の装置からのアクセス要求を管理し、同装
    置をポーリングしてアクセス信号に対する応答を検出す
    るダイナミックポーリング手段と、前記ポーリング手段
    により検出されたアクセス信号に対する応答をストアし
    て同応答に呼応してアクセス信号に対する要求を送る装
    置とチャネル間のチャネルアクセス通信時間に応じてア
    クセス信号に対する要求を異なる時間保持する保持手段
    と、チャネルと装置サブシステムを開放して前記保持手
    段が装置のアクセス信号に対する応答を通信時間の間ス
    トアする間にバックグラウンドタスクを実現することを
    可能にする手段と、チャネルが前記メモリディレクタに
    対して接続コマンドを送る時にチャネルとアクセス信号
    に対する要求を有する装置の間の通信を接続する手段と
    、を含むデータ処理システム。
  35. 【請求項35】  前記メモリディレクタの保持手段が
    アクセス信号に対する応答を通信接続時間の間保持した
    後、チャネルアクセスが完了したか否かに応じてアクセ
    ス信号に対する要求をドロップする請求項34のデータ
    処理システム。
  36. 【請求項36】  前記メモリディレクタのダイナミッ
    クポーリング装置が前記装置サブシステムをポーリング
    時に設定周波数で動作し、アクセス信号に対する応答が
    多数の設定周波数時間の間保持される請求項34のデー
    タ処理システム。
  37. 【請求項37】  更に、内部コントローラ記憶装置を
    含み、前記ダイナミックポーリング手段が前記内部コン
    トローラ記憶装置に対する接続に呼応して行われる装置
    からのアクセスに対する要求を管理する請求項34のデ
    ータ処理システム。
  38. 【請求項38】  前記ダイナミックポーリング手段が
    サマリーポーリング全体を実行して装置サブシステムの
    装置とチャネルもしくは前記内部コントローラ記憶装置
    の何れか一方との間でのアクセス信号要求を管理する請
    求項37のデータ処理システム。
  39. 【請求項39】  前記ダイナミックポーリング手段が
    限定されたサマリーポーリングを実行してチャネルがビ
    ジー信号を提供するために装置だけと前記内部コントロ
    ーラ記憶装置間のアクセス信号要求を管理する請求項3
    7のデータ処理システム。
  40. 【請求項40】  各コントローラが複数の装置サブシ
    ステムをサポートし、各装置サブシステムが前記ダイナ
    ミックポーリング手段により順次ポーリングされる請求
    項34のデータ処理システム。
  41. 【請求項41】  前記保持手段がアクセス信号に対す
    る要求を有する装置の識別子をストアする請求項34の
    データ処理システム。
  42. 【請求項42】  もしそれ以上の装置がアクセス信号
    に対する要求を有しない場合に無効アドレスが前記保持
    手段内へ配置される請求項41のデータ処理システム。
  43. 【請求項43】  前記保持手段がエージングシフトレ
    ジスタを含み、その際、アクセス信号に対する要求がエ
    ージングシフトレジスタ内の異なるエリアに異なる時間
    に応じてストアされ、前記ダイナミックポーリング手段
    のサイクル毎にシフトレジスタ内でシフトする請求項3
    4のデータ処理装置。
JP3200124A 1990-08-31 1991-07-15 ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム Expired - Lifetime JPH0772888B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US576049 1990-08-31
US07/576,049 US5201053A (en) 1990-08-31 1990-08-31 Dynamic polling of devices for nonsynchronous channel connection

Publications (2)

Publication Number Publication Date
JPH04314160A true JPH04314160A (ja) 1992-11-05
JPH0772888B2 JPH0772888B2 (ja) 1995-08-02

Family

ID=24302760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3200124A Expired - Lifetime JPH0772888B2 (ja) 1990-08-31 1991-07-15 ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム

Country Status (2)

Country Link
US (1) US5201053A (ja)
JP (1) JPH0772888B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3917715A1 (de) * 1989-05-31 1990-12-06 Teldix Gmbh Rechnersystem
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5327550A (en) * 1990-11-27 1994-07-05 Cray Research, Inc. Disabled memory sections for degraded operation of a vector supercomputer
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
US5452421A (en) * 1992-09-23 1995-09-19 International Business Machines Corporation System for using register sets and state machines sets to communicate between storage controller and devices by using failure condition activity defined in a request
US5463752A (en) * 1992-09-23 1995-10-31 International Business Machines Corporation Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller
US5640530A (en) * 1992-12-17 1997-06-17 International Business Machines Corporation Use of configuration registers to control access to multiple caches and nonvolatile stores
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5680624A (en) * 1993-12-21 1997-10-21 Object Licensing Corporation Object oriented interrupt system
JP3254081B2 (ja) * 1994-06-23 2002-02-04 富士通株式会社 計算機システム及びその制御方法
US5826046A (en) * 1994-12-30 1998-10-20 International Business Machines Corporation Method and apparatus for polling and selecting any paired device in any drawer
US5867685A (en) * 1995-08-29 1999-02-02 Storage Technology Corporation System and method for sequential detection in a cache management system
US5787304A (en) * 1996-02-05 1998-07-28 International Business Machines Corporation Multipath I/O storage systems with multipath I/O request mechanisms
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5930483A (en) * 1996-12-09 1999-07-27 International Business Machines Corporation Method and apparatus for communications control on a small computer system interface
US7428224B2 (en) * 2000-12-27 2008-09-23 Sanyo Electric Co., Ltd. Radio base station system, and method and program for controlling transmission of synchronous burst
US6687793B1 (en) * 2001-12-28 2004-02-03 Vignette Corporation Method and system for optimizing resources for cache management
US7451199B2 (en) * 2002-05-10 2008-11-11 International Business Machines Corporation Network attached storage SNMP single system image
JPWO2005013130A1 (ja) * 2003-08-04 2006-09-28 株式会社日立製作所 リアルタイム制御システム
US7467238B2 (en) * 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
JP4405277B2 (ja) * 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
CN101478432B (zh) * 2009-01-09 2011-02-02 南京联创科技集团股份有限公司 基于存储过程定时调度的网元状态轮询方法
US8244943B2 (en) 2009-09-30 2012-08-14 International Business Machines Corporation Administering the polling of a number of devices for device status

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6326758A (ja) * 1986-07-19 1988-02-04 Fujitsu Ltd 動的ポ−リングによるパケツト通信装置
JPS6361698A (ja) * 1986-08-29 1988-03-17 Suzuki Motor Co Ltd 船外機等のトリムタブ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH651951A5 (de) * 1980-10-20 1985-10-15 Inventio Ag Einrichtung zur steuerung des zugriffes von prozessoren auf eine datenleitung.
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4598363A (en) * 1983-07-07 1986-07-01 At&T Bell Laboratories Adaptive delayed polling of sensors
US4774496A (en) * 1986-02-28 1988-09-27 American Telephone And Telegraph Company, At&T Bell Laboratories Digital encoder and decoder synchronization in the presence of data dropouts
US4823312A (en) * 1986-10-30 1989-04-18 National Semiconductor Corp. Asynchronous communications element
US4881195A (en) * 1986-11-26 1989-11-14 Rockwell International Corp. Multi-requester arbitration circuit
US4958381A (en) * 1987-02-17 1990-09-18 Sony Corporation Two way communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6326758A (ja) * 1986-07-19 1988-02-04 Fujitsu Ltd 動的ポ−リングによるパケツト通信装置
JPS6361698A (ja) * 1986-08-29 1988-03-17 Suzuki Motor Co Ltd 船外機等のトリムタブ

Also Published As

Publication number Publication date
US5201053A (en) 1993-04-06
JPH0772888B2 (ja) 1995-08-02

Similar Documents

Publication Publication Date Title
JPH04314160A (ja) ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム
US6311256B2 (en) Command insertion and reordering at the same storage controller
US4633387A (en) Load balancing in a multiunit system
CA1116260A (en) Method and means for path independent device reservation and reconnection in a multi-cpu and shared device access system
US6157962A (en) Multipath I/O storage systems with multiipath I/O request mechanisms
US5530897A (en) System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
US6880021B2 (en) Intelligent interrupt with hypervisor collaboration
US5896548A (en) Data transferring system having foreground and background modes and upon detecting significant pattern of access in foreground mode to change background mode control parameters
US5446877A (en) Method and apparatus for operation of a data archival apparatus allowing for coupling of the data archival device with an ide interface
US8086794B2 (en) System and method for data migration between computer cluster architecture and data storage devices
US20030084213A1 (en) Low overhead I/O interrupt
EP0121373B1 (en) Multilevel controller for a cache memory interface in a multiprocessing system
KR102318477B1 (ko) Ssd 어레이 관리를 위한 스트림 식별자 기반 스토리지 시스템
US20020124124A1 (en) Storage subsystem that connects fibre channel and supports online backup
JP2000276304A (ja) データ移行方法と情報処理システム
JP2557199B2 (ja) インターフェース・システムおよび方法
JP2002140233A (ja) 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム
CN101187848A (zh) 改进硬盘驱动器效率的技术
US5463752A (en) Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller
US6792483B2 (en) I/O generation responsive to a workload heuristics algorithm
JP2550311B2 (ja) 磁気デイスクの多重制御方式
US20070083708A1 (en) Controller of redundant arrays of independent disks and operation method thereof
US5734918A (en) Computer system with an input/output processor which enables direct file transfers between a storage medium and a network
US6748460B2 (en) Initiative passing in an I/O operation without the overhead of an interrupt
US7930438B2 (en) Interrogate processing for complex I/O link