JPH0772888B2 - ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム - Google Patents
ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システムInfo
- Publication number
- JPH0772888B2 JPH0772888B2 JP3200124A JP20012491A JPH0772888B2 JP H0772888 B2 JPH0772888 B2 JP H0772888B2 JP 3200124 A JP3200124 A JP 3200124A JP 20012491 A JP20012491 A JP 20012491A JP H0772888 B2 JPH0772888 B2 JP H0772888B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- polling
- access request
- request signal
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program 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)
Description
【0001】
【産業上の利用分野】本発明は全体として中央処理装置
における入出力チャネルの処理、特に非同期チャネル処
理用のデバイスのダイナミックポーリングに関する。
における入出力チャネルの処理、特に非同期チャネル処
理用のデバイスのダイナミックポーリングに関する。
【0002】
【従来の技術】IBMシステム/360の導入以来、大
型と中間システムのダイレクトアクセスメモリ装置は殆
んどがカウントキーデータ(CKD)トラックフォーマ
ットを使用している。前記デバイス群はその間でデータ
を読書きするために使用される共通の1組のCKD手続
コマンドに対して反応する。
型と中間システムのダイレクトアクセスメモリ装置は殆
んどがカウントキーデータ(CKD)トラックフォーマ
ットを使用している。前記デバイス群はその間でデータ
を読書きするために使用される共通の1組のCKD手続
コマンドに対して反応する。
【0003】特に同期処理用に一定のCKDチャネルプ
ログラムが設計されている。CKDコマンドの下では前
記デバイスとそれらのメモリコントローラはシステムチ
ャネルと同期して動作する。目的のデータフィールドが
デバイス上の読出し/書込みヘッドを通過する時にそれ
ぞれのサーチ、読出しまたは書込みのコマンドに対して
チャネルデータの転送が行われる。CKDコマンドはこ
の同期処理方式によるものである。
ログラムが設計されている。CKDコマンドの下では前
記デバイスとそれらのメモリコントローラはシステムチ
ャネルと同期して動作する。目的のデータフィールドが
デバイス上の読出し/書込みヘッドを通過する時にそれ
ぞれのサーチ、読出しまたは書込みのコマンドに対して
チャネルデータの転送が行われる。CKDコマンドはこ
の同期処理方式によるものである。
【0004】前記同期処理方式の下では、1個のコマン
ドの実行を終了し次のコマンドの実行を開始するために
必要とされるチャネルとメモリの制御活動は全て2つの
付属フィールド間のギャップ内で完了させる必要があ
る。もし以上のように同期が維持されない場合、チャネ
ルの多くは性能の低下を蒙る虞れがある。書込処理はか
かるチャネルプログラムの1つである。
ドの実行を終了し次のコマンドの実行を開始するために
必要とされるチャネルとメモリの制御活動は全て2つの
付属フィールド間のギャップ内で完了させる必要があ
る。もし以上のように同期が維持されない場合、チャネ
ルの多くは性能の低下を蒙る虞れがある。書込処理はか
かるチャネルプログラムの1つである。
【0005】書込処理を実行するチャネルプログラムは
同期処理によって行われる。全ての書込みコマンドの前
にはサーチ処理が成功裡に行われなければならず、書込
コマンドはメモリコントローラがサーチ処理の完了を報
告するまでメモリコントローラへは送られない。従っ
て、前記サーチの完了、その結果のチャネルへの報告、
チャネルからの次のコマンドの受取り、および同コマン
ドの解釈は全て現在の記録フィールドの終りと次の記録
フィールドの開始の間に行われなければならない。
同期処理によって行われる。全ての書込みコマンドの前
にはサーチ処理が成功裡に行われなければならず、書込
コマンドはメモリコントローラがサーチ処理の完了を報
告するまでメモリコントローラへは送られない。従っ
て、前記サーチの完了、その結果のチャネルへの報告、
チャネルからの次のコマンドの受取り、および同コマン
ドの解釈は全て現在の記録フィールドの終りと次の記録
フィールドの開始の間に行われなければならない。
【0006】幾何学依存のチャネルプログラムはチャネ
ルとデバイス間の同期処理に依存する。幾何学依存チャ
ネルプログラムは1個のデバイスシリンダ中のレコード
とトラックがほぼ垂直方向に整合したものと、1つのト
ラックから別のトラックへの切換えのようにレコードを
所望順序で処理するために特殊の技術を使用するもので
ある。かかるプログラムは実データレコード間に小さな
フィラーレコードを挿入している。このことを行うのは
例えばディスクデバイスを余分に回転させずにコマンド
を連続するコマンド間で実行することができるレコード
間ギャップを効果的に大きくするためである。前記フィ
ラーレコードの所要サイズはデバイスのタイプが変化す
るに応じて変化するのが普通であり、全体としてメモリ
コントローラの関数として変化する。データレコードの
大きさはデータレコード自体がフィラーレコードとして
働くことによってフィラーレコードに対するトラック容
量を犠牲にすることがないように選択することができ
る。データとフィラーレコードの大きさの選択は同期処
理の仮定に基づいており、デバイスやメモリコントロー
ラの動作特性が変化する場合にはプログラムの変更さえ
必要となる虞れがある。
ルとデバイス間の同期処理に依存する。幾何学依存チャ
ネルプログラムは1個のデバイスシリンダ中のレコード
とトラックがほぼ垂直方向に整合したものと、1つのト
ラックから別のトラックへの切換えのようにレコードを
所望順序で処理するために特殊の技術を使用するもので
ある。かかるプログラムは実データレコード間に小さな
フィラーレコードを挿入している。このことを行うのは
例えばディスクデバイスを余分に回転させずにコマンド
を連続するコマンド間で実行することができるレコード
間ギャップを効果的に大きくするためである。前記フィ
ラーレコードの所要サイズはデバイスのタイプが変化す
るに応じて変化するのが普通であり、全体としてメモリ
コントローラの関数として変化する。データレコードの
大きさはデータレコード自体がフィラーレコードとして
働くことによってフィラーレコードに対するトラック容
量を犠牲にすることがないように選択することができ
る。データとフィラーレコードの大きさの選択は同期処
理の仮定に基づいており、デバイスやメモリコントロー
ラの動作特性が変化する場合にはプログラムの変更さえ
必要となる虞れがある。
【0007】ケーブル長さによる遅延が大きすぎてレコ
ード間ギャップが小さすぎる場合のように、もしチャネ
ルプログラムとデバイスが同期して動作不可能な場合に
は、CKDチャネルプログラムの性能が影響を受ける。
1つまたはそれ以上の連続するレコードを読取るチャネ
ルプログラムの中継時間はチャネルがデバイスより遅延
る値だけ拡張される。1個もしくはそれ以上のレコード
を書込むチャネルプログラムはレコードが書込まれる毎
に1回のデバイス回転だけ遅延するのが普通である。多
数レコードを更新するチャネルプログラムはそれぞれの
更新書込コマンドの前にサーチが成功する必要があるた
めに書込みコマンド毎に1回転を失うことになる。幾何
学依存チャネルプログラムはその中のシークまたはシー
クヘッドコマンド毎にデバイス回転を1回だけ遅らせる
傾向がある。同期的環境の下で丁度1回のシーク処理を
可能にするだけの大きさのフィラーレコードはシークを
完了するために要する時間とチャネルがデバイスより遅
れる大きさを共に収容できる程大きくはない。フィラー
レコードの大きさを調節するだけでは前記ラグの大きさ
が一貫せず、また予測することが不可能なために問題を
解決するものではない。
ード間ギャップが小さすぎる場合のように、もしチャネ
ルプログラムとデバイスが同期して動作不可能な場合に
は、CKDチャネルプログラムの性能が影響を受ける。
1つまたはそれ以上の連続するレコードを読取るチャネ
ルプログラムの中継時間はチャネルがデバイスより遅延
る値だけ拡張される。1個もしくはそれ以上のレコード
を書込むチャネルプログラムはレコードが書込まれる毎
に1回のデバイス回転だけ遅延するのが普通である。多
数レコードを更新するチャネルプログラムはそれぞれの
更新書込コマンドの前にサーチが成功する必要があるた
めに書込みコマンド毎に1回転を失うことになる。幾何
学依存チャネルプログラムはその中のシークまたはシー
クヘッドコマンド毎にデバイス回転を1回だけ遅らせる
傾向がある。同期的環境の下で丁度1回のシーク処理を
可能にするだけの大きさのフィラーレコードはシークを
完了するために要する時間とチャネルがデバイスより遅
れる大きさを共に収容できる程大きくはない。フィラー
レコードの大きさを調節するだけでは前記ラグの大きさ
が一貫せず、また予測することが不可能なために問題を
解決するものではない。
【0008】テープとディスクデバイスは同デバイスと
同期して実行されたチャネルプログラムを使用すること
によってチャネルによって制御されるのが普通である。
即ち、デバイスのトラック上に記録されたフィールドが
ヘッドの読取り/書込み素子を通過する時に、それらの
フィールドに作用する特定のチャネルプログラムコマン
ドがリアルタイムに実行される。このことはチャネルに
対して一定の最小限速度が必要とされることを意味す
る。例えば、チャネルデータ速度能力は少なくともデバ
イスのデータ速度と同程度大きくなければならない。更
に、データフィールド間のフィールド間ギャップ中では
所与のフィールドに対する処理の終りにチャネルに信号
を送ると同時に次のフィールドに対するコマンドを適時
に検索してそのフィールドを処理することができなけれ
ばならない。
同期して実行されたチャネルプログラムを使用すること
によってチャネルによって制御されるのが普通である。
即ち、デバイスのトラック上に記録されたフィールドが
ヘッドの読取り/書込み素子を通過する時に、それらの
フィールドに作用する特定のチャネルプログラムコマン
ドがリアルタイムに実行される。このことはチャネルに
対して一定の最小限速度が必要とされることを意味す
る。例えば、チャネルデータ速度能力は少なくともデバ
イスのデータ速度と同程度大きくなければならない。更
に、データフィールド間のフィールド間ギャップ中では
所与のフィールドに対する処理の終りにチャネルに信号
を送ると同時に次のフィールドに対するコマンドを適時
に検索してそのフィールドを処理することができなけれ
ばならない。
【0009】ヘッド素子がダイレクトアクセスディスク
デバイス上の正確なトラックと位置に向けられる断続時
期の終りにはチャネルに対する接続を再び適時に確立し
てエントリーのレコードを処理することが可能でなけれ
ばならない。
デバイス上の正確なトラックと位置に向けられる断続時
期の終りにはチャネルに対する接続を再び適時に確立し
てエントリーのレコードを処理することが可能でなけれ
ばならない。
【0010】以上の要求条件は例えばチャネルと通信す
るために必要とされる時間が大きい場合には常に満たさ
れることは限らない。こうしたことが起るのはデバイス
とCPU間のチャネルの距離が大きい場合である。同様
に、フィールド間のギャップを出来るだけ小さく維持す
ることによってデバイスの容量を最大限にする誘因が存
在する。このことはフィールド間ギャップ中で利用可能
な時間が少ないためにチャネル時間の増加に対しては不
利に作用する。もしこうしたことが起こるとすれば、フ
ィールド間ギャップ期間中にコマンドのターンアラウン
ドを達成することは不可能になる虞れがある。
るために必要とされる時間が大きい場合には常に満たさ
れることは限らない。こうしたことが起るのはデバイス
とCPU間のチャネルの距離が大きい場合である。同様
に、フィールド間のギャップを出来るだけ小さく維持す
ることによってデバイスの容量を最大限にする誘因が存
在する。このことはフィールド間ギャップ中で利用可能
な時間が少ないためにチャネル時間の増加に対しては不
利に作用する。もしこうしたことが起こるとすれば、フ
ィールド間ギャップ期間中にコマンドのターンアラウン
ドを達成することは不可能になる虞れがある。
【0011】同期チャネルプログラムが必要であるもう
1つの理由は、チャネルの活用度がより多くのテープ
と、殊にディスクデバイスの数が増加することによって
大きくなるためである。何れのデバイスをCPUに対す
るチャネル接続を適時に取得してディスクデバイスにで
のトランスジューサの回転位置決めに続いてレコードを
処理することは増々困難になっている。更に、今日のデ
バイス技術の先進段階によってデータ速度が今日利用可
能なチャネルの速度を上廻るようなデバイスが出現して
いる。その結果、前記チャネルは前記の如きデバイスの
先進的なデータ速度についてゆくことはできないでい
る。
1つの理由は、チャネルの活用度がより多くのテープ
と、殊にディスクデバイスの数が増加することによって
大きくなるためである。何れのデバイスをCPUに対す
るチャネル接続を適時に取得してディスクデバイスにで
のトランスジューサの回転位置決めに続いてレコードを
処理することは増々困難になっている。更に、今日のデ
バイス技術の先進段階によってデータ速度が今日利用可
能なチャネルの速度を上廻るようなデバイスが出現して
いる。その結果、前記チャネルは前記の如きデバイスの
先進的なデータ速度についてゆくことはできないでい
る。
【0012】
【発明が解決しようとする課題】従って、本発明の目的
はギャップの無い同期作用を提供することである。
はギャップの無い同期作用を提供することである。
【0013】同期チャネルはコントローラと付属テープ
・ディスクデバイスにとって重要なチャネル応答時間に
合致する必要がある。もしチャネルが最大限許容時間間
隔以内にその接続コマンドに応答しない場合には割込の
撤回や、回転の喪失、コマンドオーバーラン、データオ
ーバーランが生ずることになろう。
・ディスクデバイスにとって重要なチャネル応答時間に
合致する必要がある。もしチャネルが最大限許容時間間
隔以内にその接続コマンドに応答しない場合には割込の
撤回や、回転の喪失、コマンドオーバーラン、データオ
ーバーランが生ずることになろう。
【0014】従って、本発明のもう1つの目的はダイナ
ミックポーリング処理によってこれらのチャネル応答時
間の要求条件を除去することである。
ミックポーリング処理によってこれらのチャネル応答時
間の要求条件を除去することである。
【0015】従来、同期入出力コントローラは、リクエ
ストイン信号が確実にチャネルにより検出され接続が実
現されたりエージング期間を上廻るような場合に途絶す
るようにするために必要とされる期間、チャネルリクエ
ストイン信号をインターフェース上に保持するようにし
ている。このためにコントローラの性能に深刻な影響が
及ぶことはなかった。非同期I/Oコントローラは同期
コントローラのチャネル接続時間のほぼ10倍をサポー
トする。一方、ポーリングが行われ実際の接続が行われ
る時間中の他の仕事の遅滞は性能に深刻な影響を及ぼす
虞れがある。
ストイン信号が確実にチャネルにより検出され接続が実
現されたりエージング期間を上廻るような場合に途絶す
るようにするために必要とされる期間、チャネルリクエ
ストイン信号をインターフェース上に保持するようにし
ている。このためにコントローラの性能に深刻な影響が
及ぶことはなかった。非同期I/Oコントローラは同期
コントローラのチャネル接続時間のほぼ10倍をサポー
トする。一方、ポーリングが行われ実際の接続が行われ
る時間中の他の仕事の遅滞は性能に深刻な影響を及ぼす
虞れがある。
【0016】従って、本発明の目的は非同期チャネルの
ダイナミックポーリングを改善することである。
ダイナミックポーリングを改善することである。
【0017】
【課題を解決するための手段および作用】本発明の場
合、非同期I/Oコントローラのデバイスはチャネルに
対する接続時間を調節するために設定された周波数で連
続的にポーリングされる。非同期コントローラを使用す
る場合にはずっと長いケーブルを使用することが可能に
なる。ケーブルの長さを大きくすると1デバイスがポー
リングされた後の応答時間の遅延は可変でなければなら
ない。最短の遅延はポーリング周波数を設定する一方、
最長の遅延は接続が達成される以前にリクエストが保持
されなければならないポーリングサイクル数を設定す
る。ポーリングが行われず通信が行われない間はチャネ
ルとコントローラは低レベルの割込みと自由に通信し処
理することができる。リクエストイン信号は最長のケー
ブルの遅延については持続できない。何故ならば、デバ
イスのポーリングが一定の周波数で行われ、異なった長
さのケーブルによる遅延からリクエストイン信号を検出
し、一定の周波数で接続を処理し、最短、中程度および
最長のケーブル長のデバイスが遅延接続時間に従って保
持されるようにしているからである。
合、非同期I/Oコントローラのデバイスはチャネルに
対する接続時間を調節するために設定された周波数で連
続的にポーリングされる。非同期コントローラを使用す
る場合にはずっと長いケーブルを使用することが可能に
なる。ケーブルの長さを大きくすると1デバイスがポー
リングされた後の応答時間の遅延は可変でなければなら
ない。最短の遅延はポーリング周波数を設定する一方、
最長の遅延は接続が達成される以前にリクエストが保持
されなければならないポーリングサイクル数を設定す
る。ポーリングが行われず通信が行われない間はチャネ
ルとコントローラは低レベルの割込みと自由に通信し処
理することができる。リクエストイン信号は最長のケー
ブルの遅延については持続できない。何故ならば、デバ
イスのポーリングが一定の周波数で行われ、異なった長
さのケーブルによる遅延からリクエストイン信号を検出
し、一定の周波数で接続を処理し、最短、中程度および
最長のケーブル長のデバイスが遅延接続時間に従って保
持されるようにしているからである。
【0018】本発明の場合、I/Oコントローラに対す
るダイナミックポーリング装置はチャネルからの応答に
対して要求される時間だけリクエストを保持すると共に
不要な遅延を伴わずにリクエストを処理することによっ
て例えばテープやディスクデバイスからのチャネル接続
要求を管理する。ダイナミックポーリング装置はデバイ
スをポーリングしてアクセス要求信号を発見するための
手段を含む。デバイスのポーリングはデバイスとI/O
コントローラ間に期待される最短と最長の時間遅延によ
って決定される設定周波数によって行われる。アクセス
要求信号はそれぞれのポーリングがデバイスに対して行
われた後にメモリ手段内にストアされシフトされる。各
チャネルの遅延時間はデバイスからのアクセス要求と共
にメモリ手段内にストアされる。アクセス要求信号はI
/Oコントローラに提示され、チャネルからの接続応答
がメモリ手段におけるアクセス要求信号の位置によって
決定されるようにして受取られると思われる時間だけエ
ージングされる。もし前記接続が行われなければ、チャ
ネルからの応答が同応答に対して割当てられた時間内に
受取られなかったためにアクセス要求信号は失効したも
のとしてドロップされる。一方、もし前記接続応答がタ
イムリーに受取られればアクセス要求が行われる。それ
ぞれのアクセス要求は、アクセス要求信号をメモリ手段
の特定部分内へシフトさせることによってアクセスを要
求するデバイスに対する通信応答時間の遅延に従ってチ
ャネルに対して接続される間保持される。前記特定部分
はチャネル補正を行わなければならなかったであろう時
間に対応するものである。
るダイナミックポーリング装置はチャネルからの応答に
対して要求される時間だけリクエストを保持すると共に
不要な遅延を伴わずにリクエストを処理することによっ
て例えばテープやディスクデバイスからのチャネル接続
要求を管理する。ダイナミックポーリング装置はデバイ
スをポーリングしてアクセス要求信号を発見するための
手段を含む。デバイスのポーリングはデバイスとI/O
コントローラ間に期待される最短と最長の時間遅延によ
って決定される設定周波数によって行われる。アクセス
要求信号はそれぞれのポーリングがデバイスに対して行
われた後にメモリ手段内にストアされシフトされる。各
チャネルの遅延時間はデバイスからのアクセス要求と共
にメモリ手段内にストアされる。アクセス要求信号はI
/Oコントローラに提示され、チャネルからの接続応答
がメモリ手段におけるアクセス要求信号の位置によって
決定されるようにして受取られると思われる時間だけエ
ージングされる。もし前記接続が行われなければ、チャ
ネルからの応答が同応答に対して割当てられた時間内に
受取られなかったためにアクセス要求信号は失効したも
のとしてドロップされる。一方、もし前記接続応答がタ
イムリーに受取られればアクセス要求が行われる。それ
ぞれのアクセス要求は、アクセス要求信号をメモリ手段
の特定部分内へシフトさせることによってアクセスを要
求するデバイスに対する通信応答時間の遅延に従ってチ
ャネルに対して接続される間保持される。前記特定部分
はチャネル補正を行わなければならなかったであろう時
間に対応するものである。
【0019】それ故、本発明の目的は更に、チャネルと
サポートされたテープ・ディスクデバイス間の通信の遅
延によって必要とされるタイミング条件からチャネルと
コントローラを解放することである。
サポートされたテープ・ディスクデバイス間の通信の遅
延によって必要とされるタイミング条件からチャネルと
コントローラを解放することである。
【0020】以上の目的、特徴、ならびに利点は添附図
面に示す本発明の実施例の詳説から明らかとなる。
面に示す本発明の実施例の詳説から明らかとなる。
【0021】
図1に示すシステムの最良の働きを理解するために非同
期設計者は多重メモリパス構造を使用して4つのメモリ
パスに対してダイナミック再接続を行う。前記非同期シ
ステムはメモリコントローラとチャネルもしくはデバイ
スの何れか一方との間でデータの転送を開始する前にI
/O処理の性質と範囲を知る必要がある。かかる情報を
提供するために、カウントキーデータ(CKD)コマン
ドの集合を幾つかの新たなコマンドを追加することによ
って拡張して拡張カウントキーデータ(ECKD)コマ
ンドの集合を形成している。ECKDコマンドの集合の
主な目的は、最初の転送コマンドが実行される前にデー
タ転送処理の性質と範囲が完全に記述されるようなチャ
ネルプログラム、即ち予言的なチャネルプログラムを可
能にすることによってメモリサブシステムに対してデー
タ転送処理中に何が進行中であるかを知らせ続けること
である。メモリサブシステムに対してデータ転送処理の
意図と範囲を知らせるために、位置付けレコードコマン
ドを使用して実行さるべきデータ転送の種類、処理さる
べきレコード数、トラック、セクタ、およびデータ転送
を開始する前にデバイスを位置決めすべきレコード識別
子を搬送する。また、前記ECKDコマンドは定義範囲
コマンドを含み、同コマンドはチャネルプログラムが処
理可能なトラック範囲を規定し、チャネルプログラム中
の定義範囲コマンドに続くコマンドの一定属性と同コマ
ンドに対する制約を規定する。
期設計者は多重メモリパス構造を使用して4つのメモリ
パスに対してダイナミック再接続を行う。前記非同期シ
ステムはメモリコントローラとチャネルもしくはデバイ
スの何れか一方との間でデータの転送を開始する前にI
/O処理の性質と範囲を知る必要がある。かかる情報を
提供するために、カウントキーデータ(CKD)コマン
ドの集合を幾つかの新たなコマンドを追加することによ
って拡張して拡張カウントキーデータ(ECKD)コマ
ンドの集合を形成している。ECKDコマンドの集合の
主な目的は、最初の転送コマンドが実行される前にデー
タ転送処理の性質と範囲が完全に記述されるようなチャ
ネルプログラム、即ち予言的なチャネルプログラムを可
能にすることによってメモリサブシステムに対してデー
タ転送処理中に何が進行中であるかを知らせ続けること
である。メモリサブシステムに対してデータ転送処理の
意図と範囲を知らせるために、位置付けレコードコマン
ドを使用して実行さるべきデータ転送の種類、処理さる
べきレコード数、トラック、セクタ、およびデータ転送
を開始する前にデバイスを位置決めすべきレコード識別
子を搬送する。また、前記ECKDコマンドは定義範囲
コマンドを含み、同コマンドはチャネルプログラムが処
理可能なトラック範囲を規定し、チャネルプログラム中
の定義範囲コマンドに続くコマンドの一定属性と同コマ
ンドに対する制約を規定する。
【0022】非同期処理は1コマンドの実行を終了し次
のコマンドの実行を開始するために必要とされるチャネ
ルと制御装置の活動が必ずしも単一のレコード間ギャッ
プ内で行われるには及ばないような方式として定義され
る。非同期処理の場合、チャネルは一定の読取り動作に
ついてデバイスよりも若干後れて実行し、書込み処理に
ついてはデバイスよりも幾分先行して実行することが可
能である。1つのチャネルプログラムの実行中に観察さ
れるリードタイムまたはラグタイムの大きさは、通常の
場合、デバイスまたはメモリコントローラの一定性質に
ではなく現在の動作環境に依存することになろう。非同
期処理はチャネルとデバイスによる処理が時間的にどれ
程隔たっていなければならないかを規定せず、また、そ
れらがどれ程隔たることが可能かも限定しない。読取り
処理中、メモリコントローラは少数バイト、1フィール
ド、1レコード、もしくは更に数レコードを最初の読取
りコマンドが実行される前にバッファ内へ読込むことが
できる。書込み処理時、メモリコントローラは1つもし
くはそれ以上の書込みコマンドを受取り、それと関連す
るデータを最初のフィールドがデバイスに書込まれる前
にバッファ内へ転送することができる。拡張カウントキ
ーデータ(ECKD)のコマンド集合はCKDコマンド
集合と同一のトラックアドレシングスキームを使用して
いる。トラックは1つのデバイスに対して直接アドレス
指定可能な最小スペースである。各トラックはインデク
スと称される任意のスタート点を有する。1つのECK
Dコマンド集合はトラックがデバイスの全回転に対応す
るかまたは対応しないようにトラックを規定する。トラ
ックはシリンダと称される複数の組にグルーピングされ
る。ECKDコマンドの集合は1シリンダを任意のトラ
ック群となるように規定する。
のコマンドの実行を開始するために必要とされるチャネ
ルと制御装置の活動が必ずしも単一のレコード間ギャッ
プ内で行われるには及ばないような方式として定義され
る。非同期処理の場合、チャネルは一定の読取り動作に
ついてデバイスよりも若干後れて実行し、書込み処理に
ついてはデバイスよりも幾分先行して実行することが可
能である。1つのチャネルプログラムの実行中に観察さ
れるリードタイムまたはラグタイムの大きさは、通常の
場合、デバイスまたはメモリコントローラの一定性質に
ではなく現在の動作環境に依存することになろう。非同
期処理はチャネルとデバイスによる処理が時間的にどれ
程隔たっていなければならないかを規定せず、また、そ
れらがどれ程隔たることが可能かも限定しない。読取り
処理中、メモリコントローラは少数バイト、1フィール
ド、1レコード、もしくは更に数レコードを最初の読取
りコマンドが実行される前にバッファ内へ読込むことが
できる。書込み処理時、メモリコントローラは1つもし
くはそれ以上の書込みコマンドを受取り、それと関連す
るデータを最初のフィールドがデバイスに書込まれる前
にバッファ内へ転送することができる。拡張カウントキ
ーデータ(ECKD)のコマンド集合はCKDコマンド
集合と同一のトラックアドレシングスキームを使用して
いる。トラックは1つのデバイスに対して直接アドレス
指定可能な最小スペースである。各トラックはインデク
スと称される任意のスタート点を有する。1つのECK
Dコマンド集合はトラックがデバイスの全回転に対応す
るかまたは対応しないようにトラックを規定する。トラ
ックはシリンダと称される複数の組にグルーピングされ
る。ECKDコマンドの集合は1シリンダを任意のトラ
ック群となるように規定する。
【0023】唯一の要求条件は全シリンダが同数のトラ
ックを含み、1シリンダ内のトラックがゼロから始まっ
て連続的に番号を振る点だけである。ECKDコマンド
の集合は、データ転送処理を実行するためにストレート
ホワードなチャネルプログラムの構造を推奨し、デバイ
スのトラックとシリンダ構成の基礎になっているデバイ
ス形状の信頼性のあるインプリントを拒否する。トラッ
クフォーマットはECKDコマンド集合の場合、CKD
コマンド集合の場合と同じである。トラック上の最初の
エリアはホームアドレスであって、トラックを同定し、
その状態を表示する、即ち、それが使用可能なトラック
であるか欠陥のあるトラックであるかを表示する。ホー
ムアドレスの次にはレコードゼロ(RO)と称される特
殊レコードが来る。レコードゼロROカウントエリア中
のレコードIDはCCHHOでなければならない。但
し、CCHHはトラックのアドレスである。トラック上
のレコードゼロの次にはユーザデータレコードと称され
る1つもしくはそれ以上のレコードを含むデータが来
る。ユーザデータレコードは最大長255バイトのキー
エリアを備えることができる。1レコードは単一のトラ
ック上にその全体が含まれていなければならない。ユー
ザデータレコードカウント中のレコードIDフィールド
は任意の5バイト値を含むことができ、任意のパターン
に従って命名することができる。共通の約束事はレコー
ドが書式CCHHRのIDを付与される点である。但
し、Rはトラックのレコードの序数である。
ックを含み、1シリンダ内のトラックがゼロから始まっ
て連続的に番号を振る点だけである。ECKDコマンド
の集合は、データ転送処理を実行するためにストレート
ホワードなチャネルプログラムの構造を推奨し、デバイ
スのトラックとシリンダ構成の基礎になっているデバイ
ス形状の信頼性のあるインプリントを拒否する。トラッ
クフォーマットはECKDコマンド集合の場合、CKD
コマンド集合の場合と同じである。トラック上の最初の
エリアはホームアドレスであって、トラックを同定し、
その状態を表示する、即ち、それが使用可能なトラック
であるか欠陥のあるトラックであるかを表示する。ホー
ムアドレスの次にはレコードゼロ(RO)と称される特
殊レコードが来る。レコードゼロROカウントエリア中
のレコードIDはCCHHOでなければならない。但
し、CCHHはトラックのアドレスである。トラック上
のレコードゼロの次にはユーザデータレコードと称され
る1つもしくはそれ以上のレコードを含むデータが来
る。ユーザデータレコードは最大長255バイトのキー
エリアを備えることができる。1レコードは単一のトラ
ック上にその全体が含まれていなければならない。ユー
ザデータレコードカウント中のレコードIDフィールド
は任意の5バイト値を含むことができ、任意のパターン
に従って命名することができる。共通の約束事はレコー
ドが書式CCHHRのIDを付与される点である。但
し、Rはトラックのレコードの序数である。
【0024】メモリコントローラがデバイストラック間
でデータを転送することができる前に、コントローラは
既にトラック上に記録されたエリアに対する読取り/書
込みヘッド機構の位置を知っていなければならない。デ
ータ転送処理が進行するにつれてメモリコントローラは
その知悉状態または向きを断続して維持しなければなら
ない。メモリコントローラはインデクスポイントまたは
レコードゼロ以外のカウントエリアの開始の何れかを検
出する。ひとたびカウントエリアもしくはインデクスが
発見されると、メモリコントローラはトラックを進むこ
とができ、読取り/書込みヘッドの下を通るエリアの種
類を常に知悉していることができる。特定の向きはイン
デクス、ホームアドレス、カウント、キー、およびデー
タを含む過剰データとデータ転送コマンドの働きを記述
したり定義したりする効用を述べる。インデクス状態は
読取り/書込みヘッドがインデスポイントとホームアド
レスの間に位置することを意味する。同様にして、他の
状態はそれぞれ読取り/書込み機構がトラック上の対応
するエリアの終りと次のエリアの開始の間に位置決めさ
れるということを意味する。位置付けレコードコマンド
の実行はその後連続するデータ転送コマンドのシーケン
ス全体にわたって維持される向きを確立する。読取り/
書込みまたはサーチコマンド以外のコマンドの実行はそ
の向きをリセットし、メモリサブシステムはデータ転送
が再開できる前に再び向きを替えなければならない。
でデータを転送することができる前に、コントローラは
既にトラック上に記録されたエリアに対する読取り/書
込みヘッド機構の位置を知っていなければならない。デ
ータ転送処理が進行するにつれてメモリコントローラは
その知悉状態または向きを断続して維持しなければなら
ない。メモリコントローラはインデクスポイントまたは
レコードゼロ以外のカウントエリアの開始の何れかを検
出する。ひとたびカウントエリアもしくはインデクスが
発見されると、メモリコントローラはトラックを進むこ
とができ、読取り/書込みヘッドの下を通るエリアの種
類を常に知悉していることができる。特定の向きはイン
デクス、ホームアドレス、カウント、キー、およびデー
タを含む過剰データとデータ転送コマンドの働きを記述
したり定義したりする効用を述べる。インデクス状態は
読取り/書込みヘッドがインデスポイントとホームアド
レスの間に位置することを意味する。同様にして、他の
状態はそれぞれ読取り/書込み機構がトラック上の対応
するエリアの終りと次のエリアの開始の間に位置決めさ
れるということを意味する。位置付けレコードコマンド
の実行はその後連続するデータ転送コマンドのシーケン
ス全体にわたって維持される向きを確立する。読取り/
書込みまたはサーチコマンド以外のコマンドの実行はそ
の向きをリセットし、メモリサブシステムはデータ転送
が再開できる前に再び向きを替えなければならない。
【0025】ECKDコマンドの集合は処理がトラック
境界だけでなくシリンダ境界をクロスできるようにする
ことによって多重トラックデータ転送処理の範囲を拡張
する。ECKDでの基本的書込み処理は位置付けレコー
ド領域である。書込み処理が成功裡に完了すると位置付
けレコード領域内の最後の書込みについてデバイスの最
終状態を提示することによって報知する。最後の書込コ
マンドを除く全ての書込コマンドに対するデバイスの最
終状態はデータがメモリコントローラのバッファに転送
されたことだけを意味する。非同期処理により1つもし
くはそれ以上の書込みコマンドの実行が可能になり、デ
ータが実際にデバイス上へ書込まれる前にデータはチャ
ネルから制御装置へと転送される。チャネルの最終状態
はチャネルからのデータ転送が完了後にそれぞれの書込
みコマンドについて受取られる。もしもう1つの書込み
コマンドが位置付けレコード領域に予期される場合には
デバイス最終状態がチャネル終了と共に受取られる。さ
もなければ、デバイス最終状態は書込み処理がデバイス
で完了した時に提示される。デバイス最終状態が位置付
けレコード領域における最後の書込みコマンドを除く全
ての書込みコマンドから受取られると、データはデバイ
スへ転送されたことになる。
境界だけでなくシリンダ境界をクロスできるようにする
ことによって多重トラックデータ転送処理の範囲を拡張
する。ECKDでの基本的書込み処理は位置付けレコー
ド領域である。書込み処理が成功裡に完了すると位置付
けレコード領域内の最後の書込みについてデバイスの最
終状態を提示することによって報知する。最後の書込コ
マンドを除く全ての書込コマンドに対するデバイスの最
終状態はデータがメモリコントローラのバッファに転送
されたことだけを意味する。非同期処理により1つもし
くはそれ以上の書込みコマンドの実行が可能になり、デ
ータが実際にデバイス上へ書込まれる前にデータはチャ
ネルから制御装置へと転送される。チャネルの最終状態
はチャネルからのデータ転送が完了後にそれぞれの書込
みコマンドについて受取られる。もしもう1つの書込み
コマンドが位置付けレコード領域に予期される場合には
デバイス最終状態がチャネル終了と共に受取られる。さ
もなければ、デバイス最終状態は書込み処理がデバイス
で完了した時に提示される。デバイス最終状態が位置付
けレコード領域における最後の書込みコマンドを除く全
ての書込みコマンドから受取られると、データはデバイ
スへ転送されたことになる。
【0026】位置付けレコード領域外部の多重トラック
読取り処理は次のトラックが定義済みの拡張コマンドに
より規定される範囲内にある限り可能である。もしヘッ
ドを切替えた後にメモリコントローラが処理すべきレコ
ードを発見しない場合には、即ち、トラックが空白であ
る場合には、メモリコントローラは再びヘッドを切替
え、空白でないトラックが見つかるかシリンダの終りに
達するまで続行する。
読取り処理は次のトラックが定義済みの拡張コマンドに
より規定される範囲内にある限り可能である。もしヘッ
ドを切替えた後にメモリコントローラが処理すべきレコ
ードを発見しない場合には、即ち、トラックが空白であ
る場合には、メモリコントローラは再びヘッドを切替
え、空白でないトラックが見つかるかシリンダの終りに
達するまで続行する。
【0027】多重トラック処理は読取りだけでなく書込
みに対しても許される。多重トラック処理は次のトラッ
クが範囲定義コマンドにより規定される範囲内にある限
り、トラックとシリンダの両方の境界をクロスすること
が許される。
みに対しても許される。多重トラック処理は次のトラッ
クが範囲定義コマンドにより規定される範囲内にある限
り、トラックとシリンダの両方の境界をクロスすること
が許される。
【0028】ECKDチャネルプログラムでは範囲規定
コマンドはチャネルプログラム内の最初の位置付けコマ
ンドに先行する必要がある。処理システムがユーザがア
クセスできるトラックとできないトラックと、1つのチ
ャネルプログラム内で実行可能な処理に対して制御を実
行可能にすることが第1次的な機能である。1つの位置
付けレコードコマンドはメモリサブシステムが1つのチ
ャネルプログラム中に何が発生するかを予測することを
可能にする。
コマンドはチャネルプログラム内の最初の位置付けコマ
ンドに先行する必要がある。処理システムがユーザがア
クセスできるトラックとできないトラックと、1つのチ
ャネルプログラム内で実行可能な処理に対して制御を実
行可能にすることが第1次的な機能である。1つの位置
付けレコードコマンドはメモリサブシステムが1つのチ
ャネルプログラム中に何が発生するかを予測することを
可能にする。
【0029】同コマンドはサブシステムに対して最初の
読取りまたは書込みコマンドの受取り前にデータ転送処
理の意図と範囲を知らせる。位置付けレコードコマンド
後に標準的なCKD読取り/書込みチャネルコマンドが
データを転送する。
読取りまたは書込みコマンドの受取り前にデータ転送処
理の意図と範囲を知らせる。位置付けレコードコマンド
後に標準的なCKD読取り/書込みチャネルコマンドが
データを転送する。
【0030】チャネルコマンドチェインは1つの範囲規
定コマンドのみを含む。範囲規定コマンドはオペレーテ
ィングシステムによりユーザチャネルプログラムの前に
付すことができる。範囲規定コマンドはチャネルプログ
ラムが処理可能なトラック範囲を指定し、チャネルプロ
グラム中の規定範囲に続くコマンドの一定属性と、同コ
マンドに対する制約を定義する。1範囲は1つのチャネ
ルプログラムによってアクセス可能な連続的にアドレス
指定されるトラックの集合である。同範囲はその内部の
最初と最後のトラックのアドレスを指定することにより
規定される。位置付けレコードコマンドはデータ転送処
理のタイプと範囲を指定する。位置付けレコードコマン
ドの前には範囲規定コマンドが先行しなければならな
い。位置付けレコードコマンドは実行すべきデータ転送
のタイプ、処理さるべきレコードまたはトラックの数、
およびデータ転送の初期化に先立ってデバイスを方向づ
けなければならないトラック、セクタ、およびレコード
IDを同定する。位置付けレコードパラメータにより提
供される情報はこの位置付けレコードコマンドの領域の
データ転送コマンドによって実行さるべき読取りまたは
書込み処理を完全に規定する。前記領域は位置付けレコ
ードパラメータの転送から始まり、それらのパラメータ
により同定される最後の処理へと拡張する。位置付けレ
コードパラメータを吟味した後、メモリコントローラは
シークすべきデバイスを特定トラックへ方向づけ、デバ
イスを所望のセクタへ位置決めし、サーチ動作を開始し
て更にそれ自体をトラック上の特定レコードエリアへ位
置決めする。ECKDコマンドの集合はキーエリアの読
取りと書込み、および位置付けレコード領域内にキーを
有するレコードの初期化をサポートするが、位置付けレ
コードコマンドではキーサーチ処理は提供しない。実行
すべき処理のタイプと特定メモリ制御設計に応じてメモ
リコントローラは位置付けレコードパラメータの処理後
にチャネルから断続するか、直ちに位置付けレコードに
続くデータ転送コマンドを実行しはじめることができ
る。
定コマンドのみを含む。範囲規定コマンドはオペレーテ
ィングシステムによりユーザチャネルプログラムの前に
付すことができる。範囲規定コマンドはチャネルプログ
ラムが処理可能なトラック範囲を指定し、チャネルプロ
グラム中の規定範囲に続くコマンドの一定属性と、同コ
マンドに対する制約を定義する。1範囲は1つのチャネ
ルプログラムによってアクセス可能な連続的にアドレス
指定されるトラックの集合である。同範囲はその内部の
最初と最後のトラックのアドレスを指定することにより
規定される。位置付けレコードコマンドはデータ転送処
理のタイプと範囲を指定する。位置付けレコードコマン
ドの前には範囲規定コマンドが先行しなければならな
い。位置付けレコードコマンドは実行すべきデータ転送
のタイプ、処理さるべきレコードまたはトラックの数、
およびデータ転送の初期化に先立ってデバイスを方向づ
けなければならないトラック、セクタ、およびレコード
IDを同定する。位置付けレコードパラメータにより提
供される情報はこの位置付けレコードコマンドの領域の
データ転送コマンドによって実行さるべき読取りまたは
書込み処理を完全に規定する。前記領域は位置付けレコ
ードパラメータの転送から始まり、それらのパラメータ
により同定される最後の処理へと拡張する。位置付けレ
コードパラメータを吟味した後、メモリコントローラは
シークすべきデバイスを特定トラックへ方向づけ、デバ
イスを所望のセクタへ位置決めし、サーチ動作を開始し
て更にそれ自体をトラック上の特定レコードエリアへ位
置決めする。ECKDコマンドの集合はキーエリアの読
取りと書込み、および位置付けレコード領域内にキーを
有するレコードの初期化をサポートするが、位置付けレ
コードコマンドではキーサーチ処理は提供しない。実行
すべき処理のタイプと特定メモリ制御設計に応じてメモ
リコントローラは位置付けレコードパラメータの処理後
にチャネルから断続するか、直ちに位置付けレコードに
続くデータ転送コマンドを実行しはじめることができ
る。
【0031】方向は位置付けレコードコマンドが受取ら
れた時にメモリコントローラ内でリセットする。続いて
各位置決めレコードコマンドが実行されることによって
データがデバイス間で転送される前に新たな方向状態が
確立される。範囲規定と位置付けレコードコマンドの他
に、拡張カウントキーデータ(ECKD)コマンド集合
は3つの書込みコマンドと、1つの全トラック読取りト
ラックコマンドと、1つの読取りデバイス特性コマンド
を追加する。最初に追加したコマンドは書込み用CKD
の次トラックコマンドである。このコマンドは位置付け
レコード領域内でのみ妥当であり、書込みCKDまたは
もう1つの書込みCKD次トラックコマンドに続かなけ
ればならない。このコマンドによってメモリコントロー
ラは現在トラックの残りを消去し、ヘッドが次のトラッ
クへ切換わり、レコードゼロを受渡し、新たなトラック
上の最初のユーザデータレコードを初期化することにな
る。次の書込みCKDトラックコマンドは多重トラック
が単一の書込みレコード領域で初期化できるようにする
ために提供される。
れた時にメモリコントローラ内でリセットする。続いて
各位置決めレコードコマンドが実行されることによって
データがデバイス間で転送される前に新たな方向状態が
確立される。範囲規定と位置付けレコードコマンドの他
に、拡張カウントキーデータ(ECKD)コマンド集合
は3つの書込みコマンドと、1つの全トラック読取りト
ラックコマンドと、1つの読取りデバイス特性コマンド
を追加する。最初に追加したコマンドは書込み用CKD
の次トラックコマンドである。このコマンドは位置付け
レコード領域内でのみ妥当であり、書込みCKDまたは
もう1つの書込みCKD次トラックコマンドに続かなけ
ればならない。このコマンドによってメモリコントロー
ラは現在トラックの残りを消去し、ヘッドが次のトラッ
クへ切換わり、レコードゼロを受渡し、新たなトラック
上の最初のユーザデータレコードを初期化することにな
る。次の書込みCKDトラックコマンドは多重トラック
が単一の書込みレコード領域で初期化できるようにする
ために提供される。
【0032】追加される次のコマンドは書込み更新デー
タコマンドである。このコマンドは位置付けレコード領
域内でのみ有効でその前に位置付けレコードまたはもう
1つの書込み更新データコマンドがすぐ先行しなければ
ならない。書込み更新データコマンドは異なる前提条件
を有し多重トラックコマンドである以外は書込みデータ
コマンドとほぼ同様な働きを行う。書込み更新データコ
マンドが実行される時にトラック上にレコードが存在し
なければ、メモリコントローラは次のトラックに切換わ
り、新たなトラック上の最初のユーザレコードのデータ
エリアを更新する。
タコマンドである。このコマンドは位置付けレコード領
域内でのみ有効でその前に位置付けレコードまたはもう
1つの書込み更新データコマンドがすぐ先行しなければ
ならない。書込み更新データコマンドは異なる前提条件
を有し多重トラックコマンドである以外は書込みデータ
コマンドとほぼ同様な働きを行う。書込み更新データコ
マンドが実行される時にトラック上にレコードが存在し
なければ、メモリコントローラは次のトラックに切換わ
り、新たなトラック上の最初のユーザレコードのデータ
エリアを更新する。
【0033】第3の追加書込みコマンドは書込み更新キ
ーとデータコマンドである。このコマンドは位置付けレ
コード領域内でのみ妥当で、その直前には1つの位置付
けレコードもしくはもう1つの書込み更新キーとデータ
コマンドが先行しなければならない。書込み更新キーと
データコマンドは1つの書込キーデータコマンドとほぼ
同様な働きを行うが、異なる前提条件を有し、多重トラ
ックコマンドである。もし書込み更新キーとデータのコ
マンドが実行される時にトラック上に最早レコードが存
在しなければ、メモリコントローラは次のトラックへ切
換わり、新たなトラック上の最初のユーザデータレコー
ドのキーとデータエリアを更新する。
ーとデータコマンドである。このコマンドは位置付けレ
コード領域内でのみ妥当で、その直前には1つの位置付
けレコードもしくはもう1つの書込み更新キーとデータ
コマンドが先行しなければならない。書込み更新キーと
データコマンドは1つの書込キーデータコマンドとほぼ
同様な働きを行うが、異なる前提条件を有し、多重トラ
ックコマンドである。もし書込み更新キーとデータのコ
マンドが実行される時にトラック上に最早レコードが存
在しなければ、メモリコントローラは次のトラックへ切
換わり、新たなトラック上の最初のユーザデータレコー
ドのキーとデータエリアを更新する。
【0034】ECKD転送コマンド中に追加される読取
りトラックコマンドはひとつの位置付けレコード領域に
おいてのみ妥当である。このコマンドはファイルレコー
ドの最後を含めて1トラック上の全てのレコードを読取
る。1つの位置付けレコード領域中の最初の読取りトラ
ックコマンドは位置付けレコードコマンドにより確立さ
れる方向に従ってレコードゼロを含む最初のカウントエ
リアの始めに向かう。このコマンドはトラックの終りに
達するまでトラック上の各カウント、キー、およびデー
タエリアを転送する。続く読取りトラックコマンドは次
のトラックへ切換わり、トラックの終りに達するまでそ
のトラック上のカウント、キー、およびデータエリアを
転送する。トラック上の最後のレコードが転送され終っ
た後、疑似カウントフィールドが転送される。もし転送
さるべきトラック上にレコードが存在しなければ、読取
りトラックコマンドは疑似カウントフィールドのみを転
送する。前記疑似カウントフィールドはホストシステム
主記憶中のトラック画像文字ストリングの終りをつきと
めるために使用される。読取りトラックコマンドはトラ
ック全体を読取るように設計したものである。バイトカ
ウントはトラック上のカウント、キー、およびデータエ
リアの全てと8バイト疑似カウントフィールドをプラス
したものの合計と少なくとも同程度の大きさでなければ
ならない。もしバイトカウントが小さすぎると、データ
転送はトラックからの全てのデータがチャネルへ転送さ
れ終る前に終了し、主記憶中のトラック画像はトラック
マーカの終りを含まなくなるであろう。
りトラックコマンドはひとつの位置付けレコード領域に
おいてのみ妥当である。このコマンドはファイルレコー
ドの最後を含めて1トラック上の全てのレコードを読取
る。1つの位置付けレコード領域中の最初の読取りトラ
ックコマンドは位置付けレコードコマンドにより確立さ
れる方向に従ってレコードゼロを含む最初のカウントエ
リアの始めに向かう。このコマンドはトラックの終りに
達するまでトラック上の各カウント、キー、およびデー
タエリアを転送する。続く読取りトラックコマンドは次
のトラックへ切換わり、トラックの終りに達するまでそ
のトラック上のカウント、キー、およびデータエリアを
転送する。トラック上の最後のレコードが転送され終っ
た後、疑似カウントフィールドが転送される。もし転送
さるべきトラック上にレコードが存在しなければ、読取
りトラックコマンドは疑似カウントフィールドのみを転
送する。前記疑似カウントフィールドはホストシステム
主記憶中のトラック画像文字ストリングの終りをつきと
めるために使用される。読取りトラックコマンドはトラ
ック全体を読取るように設計したものである。バイトカ
ウントはトラック上のカウント、キー、およびデータエ
リアの全てと8バイト疑似カウントフィールドをプラス
したものの合計と少なくとも同程度の大きさでなければ
ならない。もしバイトカウントが小さすぎると、データ
転送はトラックからの全てのデータがチャネルへ転送さ
れ終る前に終了し、主記憶中のトラック画像はトラック
マーカの終りを含まなくなるであろう。
【0035】ECKD転送コマンドに追加される読取り
デバイス特性コマンドによって1つのプログラムはメモ
リサブシステムの動作特性を判断することができる。転
送された情報はデバイスのタイプとメモリ制御形式を同
定し、メモリサブシステムのプログラムに可視的な特徴
の幾つかを指定する。1次診断と代替診断の数とアドレ
スやデバイスサポートトラックの如き情報が提供され
る。
デバイス特性コマンドによって1つのプログラムはメモ
リサブシステムの動作特性を判断することができる。転
送された情報はデバイスのタイプとメモリ制御形式を同
定し、メモリサブシステムのプログラムに可視的な特徴
の幾つかを指定する。1次診断と代替診断の数とアドレ
スやデバイスサポートトラックの如き情報が提供され
る。
【0036】さて図1について述べると、マルチCPU
と共用デバイスの構成が示されている。参照番号10、
12、14および16により示す複数のCPUシステム
は複数チャネル22、24、26および28を介して1
対のコントローラシステム18と20にクロス接続する
ことが望ましい。それぞれのコントローラシステム18
と20は2つのメモリクラスタを含んでいる。
と共用デバイスの構成が示されている。参照番号10、
12、14および16により示す複数のCPUシステム
は複数チャネル22、24、26および28を介して1
対のコントローラシステム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
と共にマルチパスメモリディレクタ49と2つのメモリ
パスコントローラ50、52を含んでいる。メモリクラ
スタ32は不揮発性メモリ56を含む。制御システム1
8はそのメモリパス40、42が2つのデバイスサブシ
ステム60、62に分割された複数のデバイスに接続さ
れている。データ転送のデバイスレベル選択強化方式の
場合、同一の4つのパスストリング内では4つのメモリ
パス全体にわたって同時的なデータ転送が可能である。
それぞれのデバイスサブシステム60と62はメモリク
ラスタ36のメモリパスと連絡すると共にメモリクラス
タ30のそれぞれのメモリパス40、42と連絡する。
タ30、32を含む一方、コントローラシステム20は
2つのメモリクラスタ34、36を含んでいる。メモリ
クラスタ30は、例えばマルチパスメモリディレクトリ
ー38を含み、同ディレクトリー38自身は2つのメモ
リパス40、42を含んでいる。また、各メモリクラス
タ30は共有制御アレイ(SCA)44を含み、キャッ
シュメモリシステム46を含むことができる。メモリク
ラスタ32はそれ自身の共用制御アレイ(SCA)54
と共にマルチパスメモリディレクタ49と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によって制御され
る形でタンデム形に動作する。
メモリクラスタ32のメモリパス50と52、およびメ
モリクラスタ34のメモリパスと接続される。デバイス
サブシステム60、62、および64、66の組はそれ
ぞれコントローラシステム18、20によって制御され
る形でタンデム形に動作する。
【0039】コントローラシステムの各々におけるメモ
リクラスタの各々は独立成分として動作する。それぞれ
のメモリクラスタは別々のパワーとサービス領域と2つ
の別個のパスをデバイスに提供する。1つのメモリクラ
スタに対する電力の喪失は他のメモリクラスタ内で処理
が断続可能なためデータに対するアクセスを妨げるもの
ではない。コントローラシステムに接続されたデバイス
の全てはコントローラシステムの各々において両コント
ローラシステムと1つのメモリクラスタにクロスする形
となっている。デバイスサブシステム60、62中のデ
バイスは概してダイレクトアクセスメモリデバイス(D
ASD)ディスクデバイスであるが、そのデバイスはテ
ープもしくは光学装置とすることができる。それぞれの
メモリクラスタはそれ自身をサポートする能力を備えて
いる。それぞれのメモリクラスタは必須プロダクトデー
タメモリモジュールを含んでいる。同モジュールはコン
トローラの特徴、サブシステム処理方式、サブシステム
識別子、サブシステムコンフィギュレーション、各チャ
ネル用のコントローラ装置アドレス、各メモリクラスタ
へ接続されるチャネルの種類とチャネル速度、およびデ
バイスブロック中の論理条に付属可能なアドレス指定可
能なデバイスの数をストアする。
リクラスタの各々は独立成分として動作する。それぞれ
のメモリクラスタは別々のパワーとサービス領域と2つ
の別個のパスをデバイスに提供する。1つのメモリクラ
スタに対する電力の喪失は他のメモリクラスタ内で処理
が断続可能なためデータに対するアクセスを妨げるもの
ではない。コントローラシステムに接続されたデバイス
の全てはコントローラシステムの各々において両コント
ローラシステムと1つのメモリクラスタにクロスする形
となっている。デバイスサブシステム60、62中のデ
バイスは概してダイレクトアクセスメモリデバイス(D
ASD)ディスクデバイスであるが、そのデバイスはテ
ープもしくは光学装置とすることができる。それぞれの
メモリクラスタはそれ自身をサポートする能力を備えて
いる。それぞれのメモリクラスタは必須プロダクトデー
タメモリモジュールを含んでいる。同モジュールはコン
トローラの特徴、サブシステム処理方式、サブシステム
識別子、サブシステムコンフィギュレーション、各チャ
ネル用のコントローラ装置アドレス、各メモリクラスタ
へ接続されるチャネルの種類とチャネル速度、およびデ
バイスブロック中の論理条に付属可能なアドレス指定可
能なデバイスの数をストアする。
【0040】デバイスレベル選択強化処理方式によれば
2つのマルチパスメモリディレクタはデバイスサブシス
テム中のデータにアクセスすることができる。それぞれ
のマルチパスメモリディレクタは図1に示すように2つ
のメモリパスを備えている。デバイスレベル選択強化方
式は2つのコントローラシステムから同一の2つのデバ
イスサブシステムに対して4つの独立かつ同時のデータ
転送パスを提供する。入出力処理は4つのパスの何れか
1つにダイナミックに再接続することができる。かくし
て、CPUからデバイスに対しては4つの完全に独立な
パスが存在することになる。
2つのマルチパスメモリディレクタはデバイスサブシス
テム中のデータにアクセスすることができる。それぞれ
のマルチパスメモリディレクタは図1に示すように2つ
のメモリパスを備えている。デバイスレベル選択強化方
式は2つのコントローラシステムから同一の2つのデバ
イスサブシステムに対して4つの独立かつ同時のデータ
転送パスを提供する。入出力処理は4つのパスの何れか
1つにダイナミックに再接続することができる。かくし
て、CPUからデバイスに対しては4つの完全に独立な
パスが存在することになる。
【0041】各メモリクラスタ30は、例えばチャネル
22をマルチパスメモリディレクタ38へ接続するため
の付加チャネルを含んでいる。メモリディレクタ38は
2つのメモリパス40と42へ接続される。メモリクラ
スタ30は共用制御アレイ44を含んでいる。キャシュ
46と不揮発性メモリ56はメモリクラスタ30とメモ
リクラスタ32の両方のメモリパスによって共用される
が、それらメモリクラスタとは物理的にも論理的にも隔
たっている。各メモリクラスタは独立の構成部分であ
る。それぞれのメモリクラスタは1つの別個のパワーと
サービス領域とデバイスサブシステムに至る2つの別個
のパスを提供する。キャシュと不揮発性メモリは1つの
コントローラシステム中の両メモリクラスタによってア
クセスされる。メモリディレクタはチャネルコマンドを
解釈してメモリパス、キャシュ、不揮発性メモリ、およ
びデバイスサブシステム中の付属デバイスを制御する。
それぞれのメモリパスはデバイスサブシステム中の全デ
バイスに対して別々に接続される。チャネル接続処理中
に、メモリパスは特定のチャネルと接続する。マルチパ
スメモリディレクタは、単一のチャネルアドレスを介し
てマルチパスアクセスをデバイスに接続する。1つのメ
モリディレクタアドレスを介して、マルチパスメモリデ
ィレクタはデータ転送処理のためにメモリクラスタ内の
何れかのメモリパスを選択する。共用制御アレイはメモ
リパスとデバイスに関する状態情報を含んでいる。
22をマルチパスメモリディレクタ38へ接続するため
の付加チャネルを含んでいる。メモリディレクタ38は
2つのメモリパス40と42へ接続される。メモリクラ
スタ30は共用制御アレイ44を含んでいる。キャシュ
46と不揮発性メモリ56はメモリクラスタ30とメモ
リクラスタ32の両方のメモリパスによって共用される
が、それらメモリクラスタとは物理的にも論理的にも隔
たっている。各メモリクラスタは独立の構成部分であ
る。それぞれのメモリクラスタは1つの別個のパワーと
サービス領域とデバイスサブシステムに至る2つの別個
のパスを提供する。キャシュと不揮発性メモリは1つの
コントローラシステム中の両メモリクラスタによってア
クセスされる。メモリディレクタはチャネルコマンドを
解釈してメモリパス、キャシュ、不揮発性メモリ、およ
びデバイスサブシステム中の付属デバイスを制御する。
それぞれのメモリパスはデバイスサブシステム中の全デ
バイスに対して別々に接続される。チャネル接続処理中
に、メモリパスは特定のチャネルと接続する。マルチパ
スメモリディレクタは、単一のチャネルアドレスを介し
てマルチパスアクセスをデバイスに接続する。1つのメ
モリディレクタアドレスを介して、マルチパスメモリデ
ィレクタはデータ転送処理のためにメモリクラスタ内の
何れかのメモリパスを選択する。共用制御アレイはメモ
リパスとデバイスに関する状態情報を含んでいる。
【0042】デバイスサブシステムの各組、例えばデバ
イスサブシステム60と62は、コントローラシステム
18と20の双方に接続される。それぞれはそれぞれの
メモリディレクタ、例えばメモリディレクタ38の各メ
モリパス、例えばメモリパス40、42に至る経路を有
する。かくして、例えばデバイスシステム60と62
は、CPUへ至る2つのパスと、コントローラシステム
18のメモリクラスタ30へ至る2つのパスと、コント
ローラシステム20のメモリクラスタ36へ至る2つの
パスを備えている。かくして、1つのポーリングシーケ
ンスについて、何れかのデバイスサブシステム60また
は62における1デバイスからの割込み要求は4つのメ
モリパス全てによって検出されることになろう。前記メ
モリパスの何れも前記割込みを満足させることができ
る。キャシュ46は高密度の電子メモリで、コントロー
ラシステム18に接続される全メモリパスによって共用
される。頻繁に使用されるデータはキャシュ46とチャ
ネル22間で高速度で転送させることができる。キャシ
ュ46とチャネル22のうちの1本のチャネル間のアク
セスタイムは遅延がないためにデバイスサブシテムのデ
バイスとチャネル間よりもずっと高速である。キャシュ
46はメモリクラスタ30、32から隔たったパワー領
域にあり、他のメモリクラスタが何らかの理由でオフラ
インとなった時に何れかのメモリクラスタを介してキャ
シュ処理を可能にするようになっている。
イスサブシステム60と62は、コントローラシステム
18と20の双方に接続される。それぞれはそれぞれの
メモリディレクタ、例えばメモリディレクタ38の各メ
モリパス、例えばメモリパス40、42に至る経路を有
する。かくして、例えばデバイスシステム60と62
は、CPUへ至る2つのパスと、コントローラシステム
18のメモリクラスタ30へ至る2つのパスと、コント
ローラシステム20のメモリクラスタ36へ至る2つの
パスを備えている。かくして、1つのポーリングシーケ
ンスについて、何れかのデバイスサブシステム60また
は62における1デバイスからの割込み要求は4つのメ
モリパス全てによって検出されることになろう。前記メ
モリパスの何れも前記割込みを満足させることができ
る。キャシュ46は高密度の電子メモリで、コントロー
ラシステム18に接続される全メモリパスによって共用
される。頻繁に使用されるデータはキャシュ46とチャ
ネル22間で高速度で転送させることができる。キャシ
ュ46とチャネル22のうちの1本のチャネル間のアク
セスタイムは遅延がないためにデバイスサブシテムのデ
バイスとチャネル間よりもずっと高速である。キャシュ
46はメモリクラスタ30、32から隔たったパワー領
域にあり、他のメモリクラスタが何らかの理由でオフラ
インとなった時に何れかのメモリクラスタを介してキャ
シュ処理を可能にするようになっている。
【0043】不揮発性メモリ56はランダムアクセス電
子メモリを提供する。バッテリーバックアップシステム
は不揮発性メモリ56に対するパワーを維持する。不揮
発性メモリはデバイスサブシステム60、62のデバイ
スに転送される必要のあるデータを保持する。もし情報
がデバイスに転送できる前にコントローラシステム18
に対するパワーが失われると、データはパワーが回復さ
れるまで不揮発性メモリ56内に保持される。前記パワ
ーの回復時にデータはデバイスにデステイジされる。
子メモリを提供する。バッテリーバックアップシステム
は不揮発性メモリ56に対するパワーを維持する。不揮
発性メモリはデバイスサブシステム60、62のデバイ
スに転送される必要のあるデータを保持する。もし情報
がデバイスに転送できる前にコントローラシステム18
に対するパワーが失われると、データはパワーが回復さ
れるまで不揮発性メモリ56内に保持される。前記パワ
ーの回復時にデータはデバイスにデステイジされる。
【0044】共用制御アレイ44、54はコントローラ
システム18の状態とデバイスサブシステム中の付属デ
バイスに関する情報を格納する電子メモリである。それ
ぞれのメモリクラスタの共用制御アレイ中には同一の情
報が保持される。図1のようにペアにする際、共用制御
アレイ情報は共にペアになった2つのメモリクラスタへ
複製される。例えば、メモリクラスタ30の共用制御ア
レイ44はメモリクラスタ36内の共用制御アレイSC
Aへペア状にする。
システム18の状態とデバイスサブシステム中の付属デ
バイスに関する情報を格納する電子メモリである。それ
ぞれのメモリクラスタの共用制御アレイ中には同一の情
報が保持される。図1のようにペアにする際、共用制御
アレイ情報は共にペアになった2つのメモリクラスタへ
複製される。例えば、メモリクラスタ30の共用制御ア
レイ44はメモリクラスタ36内の共用制御アレイSC
Aへペア状にする。
【0045】本発明はデバイスサブシステムにおけるデ
バイスのダイナミックポーリングを対象とするものであ
る。デバイスのダイナミックポーリングの基本的な働き
は例えばデバイスサブシステム60と62とコントロー
ラシステム18間のインターフェースで実行される態勢
にあるタスクを走査することである。前記タスクはデバ
イスからキャシュ46の如きコントローラシステムの部
分へ至るインターフェースしか必要としないものとする
か、CPUとのインターフェース用にチャネルとの接続
を必要とすることができる。これらのタスクは断続チャ
ネルプログラムを再接続するためにデバイス割込みをチ
ャネル要求に翻訳することを含む。即ち、キャシュのス
テージングまたはデステージングのために断続プログラ
ムに接続しなおすこと、付属システムに対するパック変
更の通知、あるいはデバイス位置付けタスク、即ち、チ
ャネルからのプログラムもしくはキャシュステージング
またはデステージングプログラムによって待ち行列され
たシークとセットセクタである。本発明ではポーリング
のような1機能が変更され、1機能が追加される。これ
らの機能は非同期環境をサポートする必要がある。追加
機能は拡張された時間、1レジスタ内のチャネルリクエ
ストイン信号(RQI’S)を維持して非同期環境中で
全体として利用可能な長いチャネルケーブルの伝送遅延
を調節することである。必要な場合、コントローラシス
テム18とチャネル22間の拡張ケーブルとシリアルチ
ャネルインターフェースをサポートして、優先順位が低
レベルの他の要求の処理を不必要に遅滞させることなく
RQI信号を処理する時間が必要となる。実施例を論ず
るためにポーリングシーケンスはコントローラシステム
18のメモリクラスタ30によりデバイスサブシステム
60と62をポーリングする場合につき論ずることを理
解されたい。同時に、前記のポーリングはメモリディレ
クタ38のメモリパス40と42によるデバイスサブシ
ステムによって行われ、あるポーリングはメモリクラス
タ36のメモリパスによるデバイスサブシステム60に
よって行われることを理解されたい。更に、その時、一
定のポーリングはメモリクラスタ32と34のメモリパ
スによるデバイスシステム64によって行われる。同様
にして、ポーリングがデバイスサブシステム62によっ
て構成される場合にはポーリングはそれらの関連するメ
モリクラスタのメモリパスによるデバイスサブシステム
66によって行われる。4つの別個のパスはそれぞれの
検出されるそれぞれのデバイス割込みについて利用でき
る。
バイスのダイナミックポーリングを対象とするものであ
る。デバイスのダイナミックポーリングの基本的な働き
は例えばデバイスサブシステム60と62とコントロー
ラシステム18間のインターフェースで実行される態勢
にあるタスクを走査することである。前記タスクはデバ
イスからキャシュ46の如きコントローラシステムの部
分へ至るインターフェースしか必要としないものとする
か、CPUとのインターフェース用にチャネルとの接続
を必要とすることができる。これらのタスクは断続チャ
ネルプログラムを再接続するためにデバイス割込みをチ
ャネル要求に翻訳することを含む。即ち、キャシュのス
テージングまたはデステージングのために断続プログラ
ムに接続しなおすこと、付属システムに対するパック変
更の通知、あるいはデバイス位置付けタスク、即ち、チ
ャネルからのプログラムもしくはキャシュステージング
またはデステージングプログラムによって待ち行列され
たシークとセットセクタである。本発明ではポーリング
のような1機能が変更され、1機能が追加される。これ
らの機能は非同期環境をサポートする必要がある。追加
機能は拡張された時間、1レジスタ内のチャネルリクエ
ストイン信号(RQI’S)を維持して非同期環境中で
全体として利用可能な長いチャネルケーブルの伝送遅延
を調節することである。必要な場合、コントローラシス
テム18とチャネル22間の拡張ケーブルとシリアルチ
ャネルインターフェースをサポートして、優先順位が低
レベルの他の要求の処理を不必要に遅滞させることなく
RQI信号を処理する時間が必要となる。実施例を論ず
るためにポーリングシーケンスはコントローラシステム
18のメモリクラスタ30によりデバイスサブシステム
60と62をポーリングする場合につき論ずることを理
解されたい。同時に、前記のポーリングはメモリディレ
クタ38のメモリパス40と42によるデバイスサブシ
ステムによって行われ、あるポーリングはメモリクラス
タ36のメモリパスによるデバイスサブシステム60に
よって行われることを理解されたい。更に、その時、一
定のポーリングはメモリクラスタ32と34のメモリパ
スによるデバイスシステム64によって行われる。同様
にして、ポーリングがデバイスサブシステム62によっ
て構成される場合にはポーリングはそれらの関連するメ
モリクラスタのメモリパスによるデバイスサブシステム
66によって行われる。4つの別個のパスはそれぞれの
検出されるそれぞれのデバイス割込みについて利用でき
る。
【0046】ポーリング機能はコントローラシステム1
8の割込みレベル6と3のタスクとして実行する。ポー
リング機能はコントローラシステムの割込みレベル7で
現在実行中のタスクに周期的に割込む。ポーリング機能
は例えば割込みレベル6で実行可能な仕事の項目につい
てデバイスサブシステムを走査した後、コントローラシ
ステムが割込みレベル7で処理時に先着タスクに対して
制御を戻す。ポーリング機能に対する割込み機構はプロ
グラマブル割込みタイマにより提供される。ポーリング
割込みの頻度はデバイスサブシステム60の付属デバイ
スにより提供されるセクター割込みの長さによって決定
される。ポーリングは接続を要求する全てのデバイスが
同時に検出され処理されるに十分な頻度で駆動させ、レ
ベル7のコマンドの処理からのロックアウトを回避する
一方、割込みレベルにおけるデバイスの処理を更に遅ら
せる再接続ミスを回避するようにする必要がある。
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マイクロセカンドを占めること
が望ましい。デバイスワーク開始要求の処理はメモリパ
ス40のポーリングで4分の1時間毎に行われるにすぎ
ず、従って、時間308ではメモリパス40によるデバ
イスサブシステムのポーリングしか行われず、この時間
は更に8マイクロセカンドの間であることが望ましい。
前記サイクルは繰返され、デバイスサブシステム60の
ポーリングが行われ、次いで時間310で時間300で
行われたと同じようにデバイスワークのサービス開始要
求が反復される。デバイスワークサービス開始要求はバ
ックグラウンドワークが処理される時間を大きくするこ
とができるようにデバイスサブシステム60のポーリン
グについて1期間毎にのみ実行される。かくしてデバイ
スワーク開始要求は時間300と312で処理される
が、時間308には処理されない。図2(B)はサブス
トリング割込みによるポーリングデューティサイクルを
示す。
ンドタスクであって、割込みレベル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マイクロセカンドを占めること
が望ましい。デバイスワーク開始要求の処理はメモリパ
ス40のポーリングで4分の1時間毎に行われるにすぎ
ず、従って、時間308ではメモリパス40によるデバ
イスサブシステムのポーリングしか行われず、この時間
は更に8マイクロセカンドの間であることが望ましい。
前記サイクルは繰返され、デバイスサブシステム60の
ポーリングが行われ、次いで時間310で時間300で
行われたと同じようにデバイスワークのサービス開始要
求が反復される。デバイスワークサービス開始要求はバ
ックグラウンドワークが処理される時間を大きくするこ
とができるようにデバイスサブシステム60のポーリン
グについて1期間毎にのみ実行される。かくしてデバイ
スワーク開始要求は時間300と312で処理される
が、時間308には処理されない。図2(B)はサブス
トリング割込みによるポーリングデューティサイクルを
示す。
【0048】メモリパス40と42は異なるタイマによ
って動作する。恐らく、双方とも同時にはポーリングさ
れないであろう。例えば、もしメモリパス42がチャネ
ルからのスタートI/O信号を処理している場合には、
1つのポーリングサイクルを経過してはいないであろう
が、メモリパス40は経過しているかもしれない。メモ
リパス42はスタートI/O手続が完了した時にポーリ
ングをスタートすることになろう。メモリパス40と4
2は異なるタイマによって実行する。
って動作する。恐らく、双方とも同時にはポーリングさ
れないであろう。例えば、もしメモリパス42がチャネ
ルからのスタートI/O信号を処理している場合には、
1つのポーリングサイクルを経過してはいないであろう
が、メモリパス40は経過しているかもしれない。メモ
リパス42はスタートI/O手続が完了した時にポーリ
ングをスタートすることになろう。メモリパス40と4
2は異なるタイマによって実行する。
【0049】図2(B)について述べると、時間320
で、例えばメモリパス40からポーリングが行われる。
その間割込みは発見されず例えばデバイスサブシステム
60中のデバイスに対してサブストリングポーリングが
行われる。時間320の長さは20マイクロセカンド
で、任意の20マイクロセカンドチャネルを処理し、以
下により詳しく論ずるようにそれよりも長いチャネルを
何れもエージングするようにすることが望ましい。時間
322においてデバイスシステム62についてポーリン
グが行われ、サブストリングがチェックされ割込みが発
見され処理される。時間322の後にバックグラウンド
タスクが再び処理される。デューティサイクルは時間3
24に継続し、そこで最初のデバイスサブシステム60
が再びポーリングされ、この時間中発見されるサブスト
リング割込みは存在しないから、この期間は短く、本発
明の場合8マイクロセカンドであることが望ましい。そ
れより長い時間が示されていないのはこれが第1のメモ
リパスの第2のポーリングであるからである。デバイス
ワーク開始要求は図4(A)のフローチャートに示すよ
うに時間320で処理されているだろう。デューティサ
イクルは図2(B)では図2(A)に示すような割込み
がない繰返しか、図2(B)に示すような割込みの何れ
かの場合に継続する。ポーリング要求のサイクリングと
割込み接続もしくはミスは、エージングレジスタとチャ
ネルレジスタと共に図3に示されている。
で、例えばメモリパス40からポーリングが行われる。
その間割込みは発見されず例えばデバイスサブシステム
60中のデバイスに対してサブストリングポーリングが
行われる。時間320の長さは20マイクロセカンド
で、任意の20マイクロセカンドチャネルを処理し、以
下により詳しく論ずるようにそれよりも長いチャネルを
何れもエージングするようにすることが望ましい。時間
322においてデバイスシステム62についてポーリン
グが行われ、サブストリングがチェックされ割込みが発
見され処理される。時間322の後にバックグラウンド
タスクが再び処理される。デューティサイクルは時間3
24に継続し、そこで最初のデバイスサブシステム60
が再びポーリングされ、この時間中発見されるサブスト
リング割込みは存在しないから、この期間は短く、本発
明の場合8マイクロセカンドであることが望ましい。そ
れより長い時間が示されていないのはこれが第1のメモ
リパスの第2のポーリングであるからである。デバイス
ワーク開始要求は図4(A)のフローチャートに示すよ
うに時間320で処理されているだろう。デューティサ
イクルは図2(B)では図2(A)に示すような割込み
がない繰返しか、図2(B)に示すような割込みの何れ
かの場合に継続する。ポーリング要求のサイクリングと
割込み接続もしくはミスは、エージングレジスタとチャ
ネルレジスタと共に図3に示されている。
【0050】図3は4つのT時間にわたって広がった1
つのリクエストイン(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ワードにアクセ
スするためにポインタを使用する。チャネルマネージャ
はデバイスマネージャサービスルーチンコマンドを介し
てそのポインタを使用してデバイスアドレスを求めてポ
ーリング結果バッファを走査し、リクエストイン(RQ
I)サイクルに応答中のチャネルに提示する。チャネル
マネージャは今度はサービスルーチンに対するセレクト
チャネルを同定する。サービスルーチンはセレクトチャ
ネルに対する能動リクエストイン信号によってデバイス
アドレスを求めてポーリング結果バッファを走査する。
前記走査ルーチンコマンドは任意の20マイクロセカン
ドチャネルについて最高2ワードをサーチする。チャネ
ル遅延が長い場合、同ルーチンはエージングレジスタ中
のチャネルがマッチするカレントサイクルの4ワードを
全て走査する。1つのマッチングが完了した時にのみ1
走査が行われるために、ポーリング結果バッファはポー
リングが再開された時にはリセットされない。ポインタ
はデバイスマネージャがアクティブでない場合にはチャ
ネルマネージャによって妥当であると見做される。
つのリクエストイン(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ワードにアクセ
スするためにポインタを使用する。チャネルマネージャ
はデバイスマネージャサービスルーチンコマンドを介し
てそのポインタを使用してデバイスアドレスを求めてポ
ーリング結果バッファを走査し、リクエストイン(RQ
I)サイクルに応答中のチャネルに提示する。チャネル
マネージャは今度はサービスルーチンに対するセレクト
チャネルを同定する。サービスルーチンはセレクトチャ
ネルに対する能動リクエストイン信号によってデバイス
アドレスを求めてポーリング結果バッファを走査する。
前記走査ルーチンコマンドは任意の20マイクロセカン
ドチャネルについて最高2ワードをサーチする。チャネ
ル遅延が長い場合、同ルーチンはエージングレジスタ中
のチャネルがマッチするカレントサイクルの4ワードを
全て走査する。1つのマッチングが完了した時にのみ1
走査が行われるために、ポーリング結果バッファはポー
リングが再開された時にはリセットされない。ポインタ
はデバイスマネージャがアクティブでない場合にはチャ
ネルマネージャによって妥当であると見做される。
【0051】ポーリングサイクルは2組のバイトベクト
ルを使用してデバイス割込みをチャネルリクエストイン
もしくはデバイスマネージャ呼出しの何れか一方に傾向
し、チャネルに対する再接続を処理する。前記2組のバ
イトベクトルはそれぞれ外部と内部割込み用に使用され
る。2組のデバイス有意バイトベクトルが共用制御アレ
イ(SCA)内に存在し、デバイス割込みをチャネルプ
ログラム、ICCプログラム、または予期しないパック
変更と関連させるために使用される。チャネルRQI遅
延、遅延1、遅延2、遅延3のポーリングプロセスに付
与される4個の2次ページレジスタはエージングレジス
タとして確立され、多数のポーリングサイクルにわたっ
てそれらがエージングしている時にリクエストイン(R
QI)信号を含む。レジスタはポーリングプロセスが図
3の時刻T0でスタートする時にゼロに初期化され、後
続のポーリングサイクルによって1つのエージングプロ
セス中でリクエストイン信号をシフトさせるために使用
される。
ルを使用してデバイス割込みをチャネルリクエストイン
もしくはデバイスマネージャ呼出しの何れか一方に傾向
し、チャネルに対する再接続を処理する。前記2組のバ
イトベクトルはそれぞれ外部と内部割込み用に使用され
る。2組のデバイス有意バイトベクトルが共用制御アレ
イ(SCA)内に存在し、デバイス割込みをチャネルプ
ログラム、ICCプログラム、または予期しないパック
変更と関連させるために使用される。チャネルRQI遅
延、遅延1、遅延2、遅延3のポーリングプロセスに付
与される4個の2次ページレジスタはエージングレジス
タとして確立され、多数のポーリングサイクルにわたっ
てそれらがエージングしている時にリクエストイン(R
QI)信号を含む。レジスタはポーリングプロセスが図
3の時刻T0でスタートする時にゼロに初期化され、後
続のポーリングサイクルによって1つのエージングプロ
セス中でリクエストイン信号をシフトさせるために使用
される。
【0052】3個の2次ページレジスタはポーリングプ
ロセスに対してエージングマークレジスタとして付与さ
れる。これらのレジスタはチャネルをそれらのリクエス
トインウィンドウで同定するチャネルバイトマスクを含
む。リクエストインウィンドウは4つのT時刻に対する
もので20、65、130、または195マイクロセカ
ンドエージングタイムである。エージングマスクレジス
タはそれらの所定寿命を終えたエージングレジスタ中に
ストアされるチャネルインターフェースRQIをリセッ
トする。それらのチャネルに対する接続時間が作られる
とき、チャネルに対する接続が行われるか、要求がその
有効寿命を上廻ったものとして却下されるかの何れかで
ある。エージングマスクレジスタの割込み要求とチャネ
ルに対する接続時間は接続時間で決定され、バックグラ
ウンドタスクとして更新される。エージングマスクの変
化はポーリングサイクルが再開される時に生ずることに
なろう。チャネルセレクションの如き高レベル割込みは
何れもポーリングサイクルの再開をひきおす。デバイス
ワークを開始してメモリパスがファシリティ通信をサポ
ートするようにしたときも再開する。ダイナミックRQ
IはスタティックRQIがポーリングデューティサイク
ル間にあるときに併合される。制御メモリ中のデータオ
ブジェクトはポーリングがスティックエージングをダイ
ナミックエージングと識別できるようにスタティック割
込みの画像を含むようにつくりだされる。データオブジ
ェクトはスタティック割込みを引上げ維持する後に任ず
るバックグラウンドプロセスによって管理される。
ロセスに対してエージングマークレジスタとして付与さ
れる。これらのレジスタはチャネルをそれらのリクエス
トインウィンドウで同定するチャネルバイトマスクを含
む。リクエストインウィンドウは4つのT時刻に対する
もので20、65、130、または195マイクロセカ
ンドエージングタイムである。エージングマスクレジス
タはそれらの所定寿命を終えたエージングレジスタ中に
ストアされるチャネルインターフェースRQIをリセッ
トする。それらのチャネルに対する接続時間が作られる
とき、チャネルに対する接続が行われるか、要求がその
有効寿命を上廻ったものとして却下されるかの何れかで
ある。エージングマスクレジスタの割込み要求とチャネ
ルに対する接続時間は接続時間で決定され、バックグラ
ウンドタスクとして更新される。エージングマスクの変
化はポーリングサイクルが再開される時に生ずることに
なろう。チャネルセレクションの如き高レベル割込みは
何れもポーリングサイクルの再開をひきおす。デバイス
ワークを開始してメモリパスがファシリティ通信をサポ
ートするようにしたときも再開する。ダイナミックRQ
Iはスタティック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のみが接続を要求していることを表示する。時刻T
0プラスで、ポインタはアクセスを要求しているデバイ
スの全てをストアし、図の如く、ポインタは最初のセク
ションの最後のバッファを指摘する。時刻T0プラス
で、チャネルRQIエージングバッファはその内部にス
トアされたチャネルHからのチャネル要求を有する。第
2のダイナミックポーリングサイクル、時刻T1では、
チャネルBのデバイス23はアクセスを要求している。
ポーリング結果バッファ4はデバイス23を格納し、こ
れがチャネルBからのアクセスを要求する唯一のデバイ
スであるから、ポーリング結果バッファ5は無効アドレ
スIを含むことになろう。時刻T1プラスで、Bチャネ
ル要求はチャネルRQIエージングレジスタ内へ配置さ
れ、ポインタは現在、第2のタイムサイクルの終りT1
+を指示している。時刻T1ではチャネルRQIレジス
タからのHチャネル要求は遅延1のエージングレジスタ
へシフトする。
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のみが接続を要求していることを表示する。時刻T
0プラスで、ポインタはアクセスを要求しているデバイ
スの全てをストアし、図の如く、ポインタは最初のセク
ションの最後のバッファを指摘する。時刻T0プラス
で、チャネルRQIエージングバッファはその内部にス
トアされたチャネル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で何らかのチャネル接続が既に
行われていれば、時間T0にポーリングが再起動され、
全てのエージングレジスタおよびCR2がクリアされ
る。
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で何らかのチャネル接続が既に
行われていれば、時間T0にポーリングが再起動され、
全てのエージングレジスタおよびCR2がクリアされ
る。
【0055】無効(I)信号のポーリング結果バッファ
への挿入、即ち、セクションがチェック中の第1のバッ
ファ内への挿入か、アクセスを要求中のデバイスが存在
する場合後続のセクションへの挿入を行うことによって
ポーリング結果バッファにより行われる検討量を短くす
る。ポーリング結果バッファの走査を行い接続を要求す
るデバイスをチェックする。ひとたびチェックが無効信
号即ちI信号を復帰させると、ポーリング結果バッファ
を介してはそれ以上の探索は行われない。無効アドレス
はポーリング結果バッファ内のそのセクションのそれ以
上の探索はストップする。
への挿入、即ち、セクションがチェック中の第1のバッ
ファ内への挿入か、アクセスを要求中のデバイスが存在
する場合後続のセクションへの挿入を行うことによって
ポーリング結果バッファにより行われる検討量を短くす
る。ポーリング結果バッファの走査を行い接続を要求す
るデバイスをチェックする。ひとたびチェックが無効信
号即ちI信号を復帰させると、ポーリング結果バッファ
を介してはそれ以上の探索は行われない。無効アドレス
はポーリング結果バッファ内のそのセクションのそれ以
上の探索はストップする。
【0056】本発明はデバイスサブシステム60と62
内のデバイスによって提示されるような割込みの発見に
向けられている(図1参照)。ポーリング手続自体は割
込みをリセットもしなければ割込みを処理もしない。本
発明のダイナミックポーリングは、割込みが存在するこ
とをコントローラシステムに通知し、CPUからチャネ
ルによりサービスされるまで、または割込み要求を発生
したデバイスがチャネルの接続に必要な時間を超えてエ
ージングしたが接続は行われなかったためにポーリング
がチャネルへの割込み要求をドロップするまで、割込み
の通知をアクティブにつづける。もしチャネルが割込み
がエージングされる時間内に接続を行わなかった場合、
それはチャネルが他の仕事に忙しくてその時刻に割込み
を処理することはないであろうということを意味する。
デバイスはその割込みを再度呼出し、ダイナミックポー
リングシーケンスはこの割込みを検出してその割込みを
再度チャネルに対して呼出し、それをチャネルが応答す
るに必要なエージング時間中アクティブな状態に維持す
ることになろう。先に述べたようなチャネル応答に対す
る遅延は今日のデータ処理システムに必要とされるケー
ブルの長さが長いことによるものである。割込みの引上
げはデバイスに対するアクセスのチャネル要求に呼応す
ることができ、デバイスは今やチャネルに対する接続態
勢にある。
内のデバイスによって提示されるような割込みの発見に
向けられている(図1参照)。ポーリング手続自体は割
込みをリセットもしなければ割込みを処理もしない。本
発明のダイナミックポーリングは、割込みが存在するこ
とをコントローラシステムに通知し、CPUからチャネ
ルによりサービスされるまで、または割込み要求を発生
したデバイスがチャネルの接続に必要な時間を超えてエ
ージングしたが接続は行われなかったためにポーリング
がチャネルへの割込み要求をドロップするまで、割込み
の通知をアクティブにつづける。もしチャネルが割込み
がエージングされる時間内に接続を行わなかった場合、
それはチャネルが他の仕事に忙しくてその時刻に割込み
を処理することはないであろうということを意味する。
デバイスはその割込みを再度呼出し、ダイナミックポー
リングシーケンスはこの割込みを検出してその割込みを
再度チャネルに対して呼出し、それをチャネルが応答す
るに必要なエージング時間中アクティブな状態に維持す
ることになろう。先に述べたようなチャネル応答に対す
る遅延は今日のデータ処理システムに必要とされるケー
ブルの長さが長いことによるものである。割込みの引上
げはデバイスに対するアクセスのチャネル要求に呼応す
ることができ、デバイスは今やチャネルに対する接続態
勢にある。
【0057】また、ダイナミックポーリング手続は内部
割込みを検出してコントローラ自体にとって内部の割込
みについてデバイスマネージャに通知する。内部仕事は
例えばキャシュ46に対する接続とすることができよ
う。チャネルに対する、もしくはコントローラ内でのポ
ーリングの場合にはデバイスマネージャに対する接続法
は従来技術において公知であり、本文ではこれ以上論じ
ない。ダイナミックポーリング手続はチャネルに対して
接続が行われる時に何れの段階にもあることができる。
チャネルは高い割込みレベルにあるため、チャネルが要
求に応ずる時ダイナミックポーリングの手続が中断して
接続が行われ、先のポーリング手続内にストアされた割
込みを処理するようになっている。デバイスマネージャ
がデバイスに対するその仕事を完了するか、チャネルが
デバイスに対するその仕事を終了した後、ダイナミック
ポーリングサイクルは繰延べられて所論の手続内で再び
動作する。
割込みを検出してコントローラ自体にとって内部の割込
みについてデバイスマネージャに通知する。内部仕事は
例えばキャシュ46に対する接続とすることができよ
う。チャネルに対する、もしくはコントローラ内でのポ
ーリングの場合にはデバイスマネージャに対する接続法
は従来技術において公知であり、本文ではこれ以上論じ
ない。ダイナミックポーリング手続はチャネルに対して
接続が行われる時に何れの段階にもあることができる。
チャネルは高い割込みレベルにあるため、チャネルが要
求に応ずる時ダイナミックポーリングの手続が中断して
接続が行われ、先のポーリング手続内にストアされた割
込みを処理するようになっている。デバイスマネージャ
がデバイスに対するその仕事を完了するか、チャネルが
デバイスに対するその仕事を終了した後、ダイナミック
ポーリングサイクルは繰延べられて所論の手続内で再び
動作する。
【0058】本発明のダイナミックポーリング手続を図
4(A)−(C)に示す。手続は図3に示すようなT時
間毎にコントローラのプログラマブル割込みタイマから
の制御を受取る。T時間は65マイクロセカンドである
ことが望ましい。先のポーリングシーケンスによって発
見された65マイクロセカンド、130マイクロセカン
ド、もしくは195マイクロセカンドのチャネルに対す
る割込みは何れもそれらがエージングしたか、即ち、そ
のデバイスに対する接続を要求するチャネルを処理する
ために必要とされる時間、生きつづけたかどうかを見る
ために引上げられる。現在のダイナミックRQIは全て
エージングし、時間を経過したRQIは何れもドロップ
する。このため割込みは長いケーブルチャネルからの応
答に対して必要な時間アクティブな状態にとどまること
ができるが、接続に対する要求はその時間を超えてはア
クティブには維持されない。ダイナミックポーリング手
続が呼出される毎にサマリーポーリングタグが各コント
ローラシステムの1デバイスサブシステムに対してのみ
発せられる。もしこのサマリータグがメモリパスに付加
されたストリングからの割込み要求を処理する場合に
は、制御は転送されて、チャネルに対する接続用のポー
リングシーケンス手続全体か、コントローラシステム内
部の仕事を処理してデバイス割込みを処理するための限
定されたポーリングシーケンス手続の何れか一方を処理
する。ポーリングシーケンス全体はデバイス割込みを全
て、即ち、チャネルプログラムデバイス、内部プログラ
ムデバイス、および不測のデバイス割込みを処理する。
限定されたポーリングシーケンスはコントローラシステ
ム自体内のプログラムから受取ったデバイスからの割込
みに対してのみ応答する。チャネルインターフェースが
ビジー状態の場合には限定されたポーリングが表示され
る。4分の1の時間毎にこの手続が呼出され、デバイス
ワークの待ち行列が待ち行列状態のデバイスワークを求
めてチェックされる。もしワークが発見されると、制御
はダイナミック走査手続に転送され、デバイスワークを
デバイスマネージャに発送する。前記の手続の何れかが
存在しない場合には、プロセスは全体としてレベル7の
ワークであるかバックグラウンドタスクを処理するため
の予め空白になった手続に復帰する。
4(A)−(C)に示す。手続は図3に示すようなT時
間毎にコントローラのプログラマブル割込みタイマから
の制御を受取る。T時間は65マイクロセカンドである
ことが望ましい。先のポーリングシーケンスによって発
見された65マイクロセカンド、130マイクロセカン
ド、もしくは195マイクロセカンドのチャネルに対す
る割込みは何れもそれらがエージングしたか、即ち、そ
のデバイスに対する接続を要求するチャネルを処理する
ために必要とされる時間、生きつづけたかどうかを見る
ために引上げられる。現在のダイナミックRQIは全て
エージングし、時間を経過したRQIは何れもドロップ
する。このため割込みは長いケーブルチャネルからの応
答に対して必要な時間アクティブな状態にとどまること
ができるが、接続に対する要求はその時間を超えてはア
クティブには維持されない。ダイナミックポーリング手
続が呼出される毎にサマリーポーリングタグが各コント
ローラシステムの1デバイスサブシステムに対してのみ
発せられる。もしこのサマリータグがメモリパスに付加
されたストリングからの割込み要求を処理する場合に
は、制御は転送されて、チャネルに対する接続用のポー
リングシーケンス手続全体か、コントローラシステム内
部の仕事を処理してデバイス割込みを処理するための限
定されたポーリングシーケンス手続の何れか一方を処理
する。ポーリングシーケンス全体はデバイス割込みを全
て、即ち、チャネルプログラムデバイス、内部プログラ
ムデバイス、および不測のデバイス割込みを処理する。
限定されたポーリングシーケンスはコントローラシステ
ム自体内のプログラムから受取ったデバイスからの割込
みに対してのみ応答する。チャネルインターフェースが
ビジー状態の場合には限定されたポーリングが表示され
る。4分の1の時間毎にこの手続が呼出され、デバイス
ワークの待ち行列が待ち行列状態のデバイスワークを求
めてチェックされる。もしワークが発見されると、制御
はダイナミック走査手続に転送され、デバイスワークを
デバイスマネージャに発送する。前記の手続の何れかが
存在しない場合には、プロセスは全体としてレベル7の
ワークであるかバックグラウンドタスクを処理するため
の予め空白になった手続に復帰する。
【0059】図4(A)について述べると、ダイナミッ
クポーリング手続は特定のデバイスサブシステム、即
ち、例えばデバイスサブシステム60もしくは62の何
れかをチェックするためにタグを発することによってス
タートする。図3において先に論じたように、現在のリ
クエストイン(RQI)はその後エージングレジスタ内
でシフトする。時間がセットされ、進行中だったレベル
7のワークがストアされることによって手続はレベル6
のワークを終えた後にレベル7で進行中のワークに復帰
できるようになっている。表1にダイナミックポーリン
グ手続DYNMPLの詳細を示す。表に示す詳細は最適
の方法による条件を満たして手続の詳細を当業者に示
し、本発明の実行に使用される特殊手続を開示するため
である。図4(A)−(C)に引用する異なる表はそれ
らの図に示すようなプロセスの詳細を与えるためであ
る。
クポーリング手続は特定のデバイスサブシステム、即
ち、例えばデバイスサブシステム60もしくは62の何
れかをチェックするためにタグを発することによってス
タートする。図3において先に論じたように、現在のリ
クエストイン(RQI)はその後エージングレジスタ内
でシフトする。時間がセットされ、進行中だったレベル
7のワークがストアされることによって手続はレベル6
のワークを終えた後にレベル7で進行中のワークに復帰
できるようになっている。表1にダイナミックポーリン
グ手続DYNMPLの詳細を示す。表に示す詳細は最適
の方法による条件を満たして手続の詳細を当業者に示
し、本発明の実行に使用される特殊手続を開示するため
である。図4(A)−(C)に引用する異なる表はそれ
らの図に示すようなプロセスの詳細を与えるためであ
る。
【0060】表1−DYNMPL *コントローラに対するサマリープルタブ’N’を発す
る *バッファ内の最終値を使用することによって’N’を
決定する /*ポーリングさるべきコントローラをトグルする /*スタティックRQIを全てフェッチする /*DDCポーリングタグを引上げる /*もしポーリング結果バッファが更新されていれば更
新をバイパスする /*無効ストリングアドレスをセットする /*初期化されたポーリングバッファをストアする /*遷移フラグをセットインする *ポーリング発送タイマを再スタートする /*195マイクロセカンドチャネルのみを維持する /*再ロード時間=65マイクロセカンド /*AGE130バケットをエージング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)を予めロードする *コントローラ状態データオブジェクトをテストする *コントローラが応答中であるかどうかを判断する *1回目、もしイエスなら’スタート・コントローラ’
を呼出す *コントローラからの妥当応答 *デバイスによりポーリング結果ビットをメッセージす
る /*もし32デバイスタイプコントローラであればリセ
ットをバイパスする /*ストリング2、3割込みビットをリセットする /*もし割込みがなければサマリー解析をバイパスする *ポーリングタグがドロップしてから1.1マイクロセ
カンド *ストリング割込みがサマリーポールから発見される *アドレスにういて高優先順位デバイスワークをテスト
する /*もしデバイスWKがHI待ち行列にあればワークを
発送する *制御をポーリングシーケンス手続に転送してストリン
グポーリングを実行してポーリング結果を分析し、チャ
ネル再接続を求めるデバイスのためにチャネルRQIを
呼出し、ICCプログラム再接続もしくは不測のデバイ
ス割込みを求めているデバイスに対する割込みを累積す
る /*スタックポインタを初期化する /*ポーリングアクティブインディケータをターンオン
する /*もしチャネルがオンならば、限定ポーリングへ移行
する /*もし限定ポーリングが必要ならば、限定ポーリング
へ移行する /*PTR(高優先順位Q)をプリロードする /*もしデバイスワークが高優先順位にあれば、ワーク
を発送する /*もしバイパスすべき時ならば、ワークQをチェック
する /*ダイナミックRQIがなければ、DEVワーク待ち
行列をチェックする /*PTRDEVワーク待ち行列カウントをプリロード
する /*バイパスDEVワーク待ち行列CNTRをフェッチ
する /*優先順位カウンタをインクリメントする /*更新カウンタ値をインクリメントする /*もし待ち行列ワークを発送すべき時ならば、ワーク
待ち行列をチェックする *ダイナミックRQIが呼出され、デバイスワーク待ち
行列カウンタは時間切れとなっていないか、このパスは
待ち行列デバイスワークについてはチェックしない *チェックをバイパスし、レベル6をドロップする *割込みは行われないが待ち行列デバイスワークは存在
し、ダイナミック走査モジュールに対する転送をスター
トする *ストリング割込みはサマリーポーリングから検出され
ない *レベル6からドロップする *高優先順位待ち行列デバイスのポーリングルーチンを
呼出す *制御スタートまたは検出コントローラを終了する。も
し高順位ワークがなければ、DYNERPEIへ転送す
る。
る *バッファ内の最終値を使用することによって’N’を
決定する /*ポーリングさるべきコントローラをトグルする /*スタティックRQIを全てフェッチする /*DDCポーリングタグを引上げる /*もしポーリング結果バッファが更新されていれば更
新をバイパスする /*無効ストリングアドレスをセットする /*初期化されたポーリングバッファをストアする /*遷移フラグをセットインする *ポーリング発送タイマを再スタートする /*195マイクロセカンドチャネルのみを維持する /*再ロード時間=65マイクロセカンド /*AGE130バケットをエージング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)を予めロードする *コントローラ状態データオブジェクトをテストする *コントローラが応答中であるかどうかを判断する *1回目、もしイエスなら’スタート・コントローラ’
を呼出す *コントローラからの妥当応答 *デバイスによりポーリング結果ビットをメッセージす
る /*もし32デバイスタイプコントローラであればリセ
ットをバイパスする /*ストリング2、3割込みビットをリセットする /*もし割込みがなければサマリー解析をバイパスする *ポーリングタグがドロップしてから1.1マイクロセ
カンド *ストリング割込みがサマリーポールから発見される *アドレスにういて高優先順位デバイスワークをテスト
する /*もしデバイスWKがHI待ち行列にあればワークを
発送する *制御をポーリングシーケンス手続に転送してストリン
グポーリングを実行してポーリング結果を分析し、チャ
ネル再接続を求めるデバイスのためにチャネルRQIを
呼出し、ICCプログラム再接続もしくは不測のデバイ
ス割込みを求めているデバイスに対する割込みを累積す
る /*スタックポインタを初期化する /*ポーリングアクティブインディケータをターンオン
する /*もしチャネルがオンならば、限定ポーリングへ移行
する /*もし限定ポーリングが必要ならば、限定ポーリング
へ移行する /*PTR(高優先順位Q)をプリロードする /*もしデバイスワークが高優先順位にあれば、ワーク
を発送する /*もしバイパスすべき時ならば、ワークQをチェック
する /*ダイナミックRQIがなければ、DEVワーク待ち
行列をチェックする /*PTRDEVワーク待ち行列カウントをプリロード
する /*バイパスDEVワーク待ち行列CNTRをフェッチ
する /*優先順位カウンタをインクリメントする /*更新カウンタ値をインクリメントする /*もし待ち行列ワークを発送すべき時ならば、ワーク
待ち行列をチェックする *ダイナミックRQIが呼出され、デバイスワーク待ち
行列カウンタは時間切れとなっていないか、このパスは
待ち行列デバイスワークについてはチェックしない *チェックをバイパスし、レベル6をドロップする *割込みは行われないが待ち行列デバイスワークは存在
し、ダイナミック走査モジュールに対する転送をスター
トする *ストリング割込みはサマリーポーリングから検出され
ない *レベル6からドロップする *高優先順位待ち行列デバイスのポーリングルーチンを
呼出す *制御スタートまたは検出コントローラを終了する。も
し高順位ワークがなければ、DYNERPEIへ転送す
る。
【0061】図4(A)について述べると、判断ブロッ
ク102はこのデバイスサブシステムのチェック中に何
らかの割込みが存在するかどうかを見るためにチェック
する。もし存在しなければノーラインがとられて判断ブ
ロック104に示すように必要とされる高Qワークが存
在するかどうかを見るためにチェックする。高Qワーク
は高優先順位要求の処理を意味する。もし待ち行列中に
高優先順位のワークが存在する場合には判断ブロック1
04のうちのイエスラインはブロック106へ移行する
ようにとられる。そのことは高優先順位要求が従来技術
のコントローラで使用されるものとして知られているプ
ロセス中で処理される。もし高優先順位要求が存在しな
い場合にはノーラインが判断ブロック108に対してと
られる。そこでこれがダイナミックポーリングによる手
続の第4番目であるかどうかを見るためにチェックが行
われる。図3に示すように、ポーリング手続による第4
回目は事実上時刻T0でスタートするサイクリングの反
復である時刻T4で行われる。唯一の相違は時刻T4に
初期化段階が取られ、しかるに時刻T4では割込み要求
が検出され割込みがチャネルRQIと遅延1、2、3の
エージングレジスタを介して処理されるという点であ
る。エージングプロセスは先に論じた如くタイミングサ
イクル全体にわたって反復しつづける。もしこれがダイ
ナミックポーリングによる第4回目ではない場合、判断
ブロック108からブロック110へノーラインがとら
れ、レベル7へ復帰し、そこでバックグラウンドタスク
が処理される。ブロック110では、制御はダイナミッ
クポーリングシーケンスが行われるレベルである割込み
レベル6から戻り、レベル7へ戻ってバックグラウンド
タスクについてのワークを継続する。然しながら、もし
それがダイナミックポーリングについて第4番目である
場合には判断ブロック108からイエスラインがとられ
判断ブロック112へ移行し、そこで待ち行列中のサマ
リーワークがチェックされる。もし待ち行列中にサマリ
ーワークが存在しなければ、判断ブロック112からノ
ーラインがとられ、ブロック110へ移行し、そこでバ
ックグラウンドタスクが処理される。待ち行列中にサマ
リーワークが存在する場合には、判断ブロック112か
らイエスラインがとられてブロック114に示すように
ダイナミック走査手続へ移行する。ダイナミック走査手
続は図4(B)中に示すが、後に論ずる。
ク102はこのデバイスサブシステムのチェック中に何
らかの割込みが存在するかどうかを見るためにチェック
する。もし存在しなければノーラインがとられて判断ブ
ロック104に示すように必要とされる高Qワークが存
在するかどうかを見るためにチェックする。高Qワーク
は高優先順位要求の処理を意味する。もし待ち行列中に
高優先順位のワークが存在する場合には判断ブロック1
04のうちのイエスラインはブロック106へ移行する
ようにとられる。そのことは高優先順位要求が従来技術
のコントローラで使用されるものとして知られているプ
ロセス中で処理される。もし高優先順位要求が存在しな
い場合にはノーラインが判断ブロック108に対してと
られる。そこでこれがダイナミックポーリングによる手
続の第4番目であるかどうかを見るためにチェックが行
われる。図3に示すように、ポーリング手続による第4
回目は事実上時刻T0でスタートするサイクリングの反
復である時刻T4で行われる。唯一の相違は時刻T4に
初期化段階が取られ、しかるに時刻T4では割込み要求
が検出され割込みがチャネルRQIと遅延1、2、3の
エージングレジスタを介して処理されるという点であ
る。エージングプロセスは先に論じた如くタイミングサ
イクル全体にわたって反復しつづける。もしこれがダイ
ナミックポーリングによる第4回目ではない場合、判断
ブロック108からブロック110へノーラインがとら
れ、レベル7へ復帰し、そこでバックグラウンドタスク
が処理される。ブロック110では、制御はダイナミッ
クポーリングシーケンスが行われるレベルである割込み
レベル6から戻り、レベル7へ戻ってバックグラウンド
タスクについてのワークを継続する。然しながら、もし
それがダイナミックポーリングについて第4番目である
場合には判断ブロック108からイエスラインがとられ
判断ブロック112へ移行し、そこで待ち行列中のサマ
リーワークがチェックされる。もし待ち行列中にサマリ
ーワークが存在しなければ、判断ブロック112からノ
ーラインがとられ、ブロック110へ移行し、そこでバ
ックグラウンドタスクが処理される。待ち行列中にサマ
リーワークが存在する場合には、判断ブロック112か
らイエスラインがとられてブロック114に示すように
ダイナミック走査手続へ移行する。ダイナミック走査手
続は図4(B)中に示すが、後に論ずる。
【0062】もしダイナミックポーリング手続の初めに
割込みが存在する場合には、判断ブロック102から判
断ブロック116へイエスラインがとられ、そこでチャ
ネルが既に制御装置についてビジー状態にあるかどうか
について判断が行われる。もしそうであれば、判断ブロ
ック116からブロック118へイエスラインが移行
し、そこで限定されたサマリーワークがとられる。限定
されたサマリーポーリングではコントローラの内側の仕
事のみがチェックされる。何故ならば、制御装置に対す
る接続を必要とするチャネルは既にビジー状態にあり、
制御装置の内側の仕事のみが実行可能であるからであ
る。従って、コントローラに接続する態勢にある仕事を
有するデバイスのみがチェックされる。もしチャネルが
ビジーではなくチャネルに対する接続を行うことが可能
であれば、判断ブロック116からノーラインが取られ
てブロック120へ移行し、そこでサマリーポーリング
全体が続き、チャネルに対する接続用かコントローラの
内部の割込みが存在するかどうかがチェックされる。
割込みが存在する場合には、判断ブロック102から判
断ブロック116へイエスラインがとられ、そこでチャ
ネルが既に制御装置についてビジー状態にあるかどうか
について判断が行われる。もしそうであれば、判断ブロ
ック116からブロック118へイエスラインが移行
し、そこで限定されたサマリーワークがとられる。限定
されたサマリーポーリングではコントローラの内側の仕
事のみがチェックされる。何故ならば、制御装置に対す
る接続を必要とするチャネルは既にビジー状態にあり、
制御装置の内側の仕事のみが実行可能であるからであ
る。従って、コントローラに接続する態勢にある仕事を
有するデバイスのみがチェックされる。もしチャネルが
ビジーではなくチャネルに対する接続を行うことが可能
であれば、判断ブロック116からノーラインが取られ
てブロック120へ移行し、そこでサマリーポーリング
全体が続き、チャネルに対する接続用かコントローラの
内部の割込みが存在するかどうかがチェックされる。
【0063】表2には限定サマリーポーリング手続LS
UMPLが開示されるがそれをまづ論ずることにする。
限定サマリーポーリング手続はサマリーポーリングタス
クの結果を分析してチャネルに対する接続なしに処理可
能な割込みを探索する。手続はどのストリングがポーリ
ングされるべきかを判断し、タグを発する。手続は、そ
の後プログラムを構築し積み重ねポーリングを制御して
次のストリングを分析する。それは内部コントローラチ
ェーンから断続されたストリングに対してポーリングを
発しプログラムを構築するだけである。チャネルに対す
る外部再接続に対する割込みや不測の割込みは何れも無
視される。手続はブロック118からブロック122へ
続き、限定ストリングポーリング手続LSTRPLに移
行する。その詳細は表3に示す。
UMPLが開示されるがそれをまづ論ずることにする。
限定サマリーポーリング手続はサマリーポーリングタス
クの結果を分析してチャネルに対する接続なしに処理可
能な割込みを探索する。手続はどのストリングがポーリ
ングされるべきかを判断し、タグを発する。手続は、そ
の後プログラムを構築し積み重ねポーリングを制御して
次のストリングを分析する。それは内部コントローラチ
ェーンから断続されたストリングに対してポーリングを
発しプログラムを構築するだけである。チャネルに対す
る外部再接続に対する割込みや不測の割込みは何れも無
視される。手続はブロック118からブロック122へ
続き、限定ストリングポーリング手続LSTRPLに移
行する。その詳細は表3に示す。
【0064】表2−LSUMPL *エントリー限定サマリーポーリング分析 *サマリーポーリング1部分析 *内部サマリー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 DYNS
CNを制御し待ち行列のデバイスワークをスタートす
る。
る /*サマリー内部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 DYNS
CNを制御し待ち行列のデバイスワークをスタートす
る。
【0065】表3−LSTRPL *コントローラからの妥当応答デバイスをセーブ *割込み、ポーリングタグをドロップし内部割込みをセ
ーブ *デバイス割込みを得る /*ストリングのスターティングデバイスアドレスをコ
ピー /*ポーリングタグをドロップする /*右に3度シフトすることによってストリングを決定
する /*オフセットを内部割込みテーブル内へ入れる /*ストリングのマスクを得る /*予測割込みだけをセーブ /*アドレスをバス出力上へ置く /*次のタグを呼出す /*内部割込みだけをセーブする /*発見した内部割込みを処理する /*更新されたポーリング結果バッファをセットする *次のポーリングタグを呼出し、次のターゲットサブル
ーチンへ転送する前にタグを高く保持する。
ーブ *デバイス割込みを得る /*ストリングのスターティングデバイスアドレスをコ
ピー /*ポーリングタグをドロップする /*右に3度シフトすることによってストリングを決定
する /*オフセットを内部割込みテーブル内へ入れる /*ストリングのマスクを得る /*予測割込みだけをセーブ /*アドレスをバス出力上へ置く /*次のタグを呼出す /*内部割込みだけをセーブする /*発見した内部割込みを処理する /*更新されたポーリング結果バッファをセットする *次のポーリングタグを呼出し、次のターゲットサブル
ーチンへ転送する前にタグを高く保持する。
【0066】ブロック122の限定ストリングポーリン
グ手続は呼出し手続により発せられたポーリングタグ中
のストリングをドロップし、ストリングポーリング結果
を分析する。結果の分析から手続は共同制御アレイ中に
ストアされた予期割込コマンドを使用するチャネルプロ
グラムの代わりにどのデバイスが中断しているか、内部
コントローラ処理の代わりにどのデバイスが中断してい
るか、またどのデバイスが不測の割込みを提示している
かを判断する。内部割込みは1つのビット有意ストリン
グマスクにより要約される。発見される実際の内部割込
みはメモリ内の1ロケーション内にストアされる。1チ
ャネルに対するデバイスの割込みはポーリング結果バッ
ファ内にストアされる。チャネルリクエストイン信号
(RQI)は蓄積されも呼出されもしない。更に、不測
の割込みは限定ストリングポーリング手段によって無視
される。ブロック122の限定ストリングポーリング手
段後、プロセスはブロック114に続き、図4(B)の
ダイナミック走査手続に移行する。
グ手続は呼出し手続により発せられたポーリングタグ中
のストリングをドロップし、ストリングポーリング結果
を分析する。結果の分析から手続は共同制御アレイ中に
ストアされた予期割込コマンドを使用するチャネルプロ
グラムの代わりにどのデバイスが中断しているか、内部
コントローラ処理の代わりにどのデバイスが中断してい
るか、またどのデバイスが不測の割込みを提示している
かを判断する。内部割込みは1つのビット有意ストリン
グマスクにより要約される。発見される実際の内部割込
みはメモリ内の1ロケーション内にストアされる。1チ
ャネルに対するデバイスの割込みはポーリング結果バッ
ファ内にストアされる。チャネルリクエストイン信号
(RQI)は蓄積されも呼出されもしない。更に、不測
の割込みは限定ストリングポーリング手段によって無視
される。ブロック122の限定ストリングポーリング手
段後、プロセスはブロック114に続き、図4(B)の
ダイナミック走査手続に移行する。
【0067】ブロック120のフルサマリーポーリング
手続FSUMPLを表4に示す。フルサマリーポーリン
グ手続はサマリーポーリングタグの結果を分析する。そ
れはどのストリングがポーリングさるべきかを決定し、
タグを発する。その後、手続は一定のプログラムを構築
し、スタックしてポーリングを制御し、次のストリング
の分析を完了する。1つの割込みを有するストリングは
全て処理される。割込みはチャネルプログラム再接続、
内部コントローラ再接続、もしくはパック変更の如き不
測のデバイス割込みに対するものとすることができよ
う。ブロック120のフルサマリーポーリング手続はそ
の後、ブロック124に示すようにストリングポーリン
グ手続へ移行する。
手続FSUMPLを表4に示す。フルサマリーポーリン
グ手続はサマリーポーリングタグの結果を分析する。そ
れはどのストリングがポーリングさるべきかを決定し、
タグを発する。その後、手続は一定のプログラムを構築
し、スタックしてポーリングを制御し、次のストリング
の分析を完了する。1つの割込みを有するストリングは
全て処理される。割込みはチャネルプログラム再接続、
内部コントローラ再接続、もしくはパック変更の如き不
測のデバイス割込みに対するものとすることができよ
う。ブロック120のフルサマリーポーリング手続はそ
の後、ブロック124に示すようにストリングポーリン
グ手続へ移行する。
【0068】表4−FSUMPL *ストリング0の外部EDIをフェッチする *次のポーリングタグを呼出す /*発せられたばかりのサマリータグをコピーする /*JASポインタをEDIベクトルにセットする /*CTLR0を分析中であればCTLR1データをバ
イパスする /*さもなければCTLR1データを移動する /*CTLRN/STR0アドレスをオフセットする /*CTLRN/STR0アドレスだけオフセット /*もし割込みSTR0:STR1がなければ、STR
2&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を再初期化して最初のポ
ーリングタグをバイパスする /*次のターゲットサブルーチンに移行する。
イパスする /*さもなければCTLR1データを移動する /*CTLRN/STR0アドレスをオフセットする /*CTLRN/STR0アドレスだけオフセット /*もし割込みSTR0:STR1がなければ、STR
2&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を再初期化して最初のポ
ーリングタグをバイパスする /*次のターゲットサブルーチンに移行する。
【0069】ブロック124のフルストリングポーリン
グ手続FSTRPLを表5に示す。フルストリングポー
リング手続は呼出し手続により発せられるストリングN
ポーリングタグをドロップして、ストリングポーリング
結果を分析する。結果の分析からフルストリングポーリ
ング手続はどのデバイスがチャネルプログラムのために
割込んでいるか、どのデバイスが内部コントローラ処理
に割込んでいるか、またどのデバイスが不測の割込みを
提示しているかを決定する。チャネルプログラムのため
の割込みは共同制御アレイ内にストアされた予期外部割
込みである。1つの予期割込みはサマリーポーリング中
に発見された特定のデバイスから行われる。特定デバイ
スの確認はストアされ、その後、手続は、要求を処理す
るためにどのチャネルにデバイスを接続すべきかを見る
ためにチェックする。かくして、デバイスを中断するチ
ャネルプログラムの割込みのために、1層の分析が必要
となる。20マイクロセカンドチャネル遅延時間割込み
デバイス、チャネルRQI信号は蓄積されて、このポー
リングサイクル中にチャネルに提示される。65マイク
ロセカンド、130マイクロセカンドまたは195マイ
クロセカンドチャネルに対する接続の割込みを提示する
デバイスが蓄積され、エージングされる。これらのチャ
ネルRQIは次のポーリングサイクル上でダイナミック
ポーリング手続によって提示される。内部コントローラ
デバイス割込みと不測のデバイス割込みとはデバイスマ
ネージャプロセス中の次の優先順位の手続のためにスト
アされる。フルストリングポーリング手続の終りに、C
R2レジスタまたは20マイクロセカンドチャネル中に
ストアされたチャネルRQIが更新される。これらのチ
ャネル識別はこのストリングのために蓄積されたチヤネ
ルRQIに20マイクロセカンドの間UP状態であった
チャネル識別にとって代わる。エージングプロセスによ
って進行する割込みが維持される。ブロック124のフ
ルストリングポーリング手続後にプロセスはブロック1
14のダイナミック走査手続へ移行する。
グ手続FSTRPLを表5に示す。フルストリングポー
リング手続は呼出し手続により発せられるストリングN
ポーリングタグをドロップして、ストリングポーリング
結果を分析する。結果の分析からフルストリングポーリ
ング手続はどのデバイスがチャネルプログラムのために
割込んでいるか、どのデバイスが内部コントローラ処理
に割込んでいるか、またどのデバイスが不測の割込みを
提示しているかを決定する。チャネルプログラムのため
の割込みは共同制御アレイ内にストアされた予期外部割
込みである。1つの予期割込みはサマリーポーリング中
に発見された特定のデバイスから行われる。特定デバイ
スの確認はストアされ、その後、手続は、要求を処理す
るためにどのチャネルにデバイスを接続すべきかを見る
ためにチェックする。かくして、デバイスを中断するチ
ャネルプログラムの割込みのために、1層の分析が必要
となる。20マイクロセカンドチャネル遅延時間割込み
デバイス、チャネルRQI信号は蓄積されて、このポー
リングサイクル中にチャネルに提示される。65マイク
ロセカンド、130マイクロセカンドまたは195マイ
クロセカンドチャネルに対する接続の割込みを提示する
デバイスが蓄積され、エージングされる。これらのチャ
ネルRQIは次のポーリングサイクル上でダイナミック
ポーリング手続によって提示される。内部コントローラ
デバイス割込みと不測のデバイス割込みとはデバイスマ
ネージャプロセス中の次の優先順位の手続のためにスト
アされる。フルストリングポーリング手続の終りに、C
R2レジスタまたは20マイクロセカンドチャネル中に
ストアされたチャネルRQIが更新される。これらのチ
ャネル識別はこのストリングのために蓄積されたチヤネ
ルRQIに20マイクロセカンドの間UP状態であった
チャネル識別にとって代わる。エージングプロセスによ
って進行する割込みが維持される。ブロック124のフ
ルストリングポーリング手続後にプロセスはブロック1
14のダイナミック走査手続へ移行する。
【0070】表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に置換する /*更新されたポーリング結果バッファをセットする /*次のターゲットサブルーチンに移行する。
ブして、ポーリングタグをドロップし、実デバイス/割
込みにより論理積をとった予測割込みを用いて外部割込
みのビットマップをつくりだす /*実デバイス割込みをセーブする *デバイス’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に置換する /*更新されたポーリング結果バッファをセットする /*次のターゲットサブルーチンに移行する。
【0071】さて図4(B)について述べると、ブロッ
ク126のダイナミック走査手続DYNSCNを表6に
示す。ダイナミックデバイス走査手続はデバイスマネー
ジャを呼出してポーリング手続によって処理し、待ち行
列中に配置されたデバイスワークをスタートする。ダイ
ナミック走査手続はワーク発送時には優先順位スキーム
に従う。まづ、手続は20マイクロセカンドチャネルに
対してRQIを維持する。第2に、手続は内部割込みを
処理する。第3に、手続は65マイクロセカンド、13
0マイクロセカンドまたは195マイクロセカンドチャ
ネルに対するRQIを維持する。最後に、手続は待ち行
列となったデバイスワーク要求を処理する。20マイク
ロセカンドチャネルに対するチャネルRQIは割込みレ
ベル3でエージングする。内部割込みのラウンドロビン
走査を使用してデバイスマネージャに接続さるべき次の
デバイスを選択して内部割込み要求を処理する。ダイナ
ミックRQIがアクティブでないか、発送待ち行列ワー
クカウンタが時間切れの場合には、ラウンドロビン走査
を用いて次のデバイスワークサービス要求をピックアッ
プしてデバイスマネージャ内に待ち行列となった手続を
処理して内部コントローラワークを処理する。ワークは
デバイスにとって未処理の割込みが存在しない場合にの
み発送される。優先順位スキームのエントリーポイント
ナンバー2を使用して内部割込みと待ち行列になったデ
バイスワークを共にチェックする。優先順位スキームの
エントリーポイントナンバー4を使用してダイナミック
ポーリング手続が待ち行列のワークを発見したがその処
理中にはデバイス割込みは全く発見されなかった時、待
ち行列になったデバイスワークをチェックするために使
用される。20マイクロセカンドチャネルRQIのエー
ジングは割込みレベル3で行われる。次のポーリングサ
イクルのハードウェアタイマー値もこの時にセットされ
る。
ク126のダイナミック走査手続DYNSCNを表6に
示す。ダイナミックデバイス走査手続はデバイスマネー
ジャを呼出してポーリング手続によって処理し、待ち行
列中に配置されたデバイスワークをスタートする。ダイ
ナミック走査手続はワーク発送時には優先順位スキーム
に従う。まづ、手続は20マイクロセカンドチャネルに
対してRQIを維持する。第2に、手続は内部割込みを
処理する。第3に、手続は65マイクロセカンド、13
0マイクロセカンドまたは195マイクロセカンドチャ
ネルに対するRQIを維持する。最後に、手続は待ち行
列となったデバイスワーク要求を処理する。20マイク
ロセカンドチャネルに対するチャネルRQIは割込みレ
ベル3でエージングする。内部割込みのラウンドロビン
走査を使用してデバイスマネージャに接続さるべき次の
デバイスを選択して内部割込み要求を処理する。ダイナ
ミックRQIがアクティブでないか、発送待ち行列ワー
クカウンタが時間切れの場合には、ラウンドロビン走査
を用いて次のデバイスワークサービス要求をピックアッ
プしてデバイスマネージャ内に待ち行列となった手続を
処理して内部コントローラワークを処理する。ワークは
デバイスにとって未処理の割込みが存在しない場合にの
み発送される。優先順位スキームのエントリーポイント
ナンバー2を使用して内部割込みと待ち行列になったデ
バイスワークを共にチェックする。優先順位スキームの
エントリーポイントナンバー4を使用してダイナミック
ポーリング手続が待ち行列のワークを発見したがその処
理中にはデバイス割込みは全く発見されなかった時、待
ち行列になったデバイスワークをチェックするために使
用される。20マイクロセカンドチャネルRQIのエー
ジングは割込みレベル3で行われる。次のポーリングサ
イクルのハードウェアタイマー値もこの時にセットされ
る。
【0072】表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 /もしストリング割込みが発見されたら、デバイス割込
みを発見する /*オフセットポインタをセットしてフェッチしてビッ
ト有意値を戻す /*デバイスはラウンドロビン走査によって次のストリ
ングのために割込む /*もしデバイス割込みが発見されなければ、もう1つ
のストリングをテストする *次のデバイス内部割込み、 *発見。デバイスの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する /*メインラインを戻す /*待ち行列ワークが発見されない /*メインラインを戻す。
をテストする *ポーリングから残りの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 /もしストリング割込みが発見されたら、デバイス割込
みを発見する /*オフセットポインタをセットしてフェッチしてビッ
ト有意値を戻す /*デバイスはラウンドロビン走査によって次のストリ
ングのために割込む /*もしデバイス割込みが発見されなければ、もう1つ
のストリングをテストする *次のデバイス内部割込み、 *発見。デバイスの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する /*メインラインを戻す /*待ち行列ワークが発見されない /*メインラインを戻す。
【0073】図4(B)において、ブロック126のダ
イナミック走査手続後に、手続は判断ブロック128へ
継続し、そこで手続は内部割込みと待ち行列になったワ
ークをチェックする。もし存在しなければ制御は割込み
レベル7へ戻ってブロック130に示すようにバックグ
ラウンドタスクを処理する。もし内部割込みが存在する
か、待ち行列中にワークが存在すれば、判断ブロック1
28からのイエスラインはブロック132への手続をと
り、そこで制御はデバイスマネージャへ転送され、コン
トローラ内部の要求ワークを処理する。コントローラの
内部ワーク要求条件は例えばキャシュ接続を処理したり
不揮発性メモリに対する接続を行うこととすることがで
きる。
イナミック走査手続後に、手続は判断ブロック128へ
継続し、そこで手続は内部割込みと待ち行列になったワ
ークをチェックする。もし存在しなければ制御は割込み
レベル7へ戻ってブロック130に示すようにバックグ
ラウンドタスクを処理する。もし内部割込みが存在する
か、待ち行列中にワークが存在すれば、判断ブロック1
28からのイエスラインはブロック132への手続をと
り、そこで制御はデバイスマネージャへ転送され、コン
トローラ内部の要求ワークを処理する。コントローラの
内部ワーク要求条件は例えばキャシュ接続を処理したり
不揮発性メモリに対する接続を行うこととすることがで
きる。
【0074】図4(C)にブロック134でスタートす
るチャネルのRQI信号への応答手続を示す。ブロック
134に示すようにチャネルのRQIへの応答におい
て、チャネルマネージャはブロック136に示すような
走査ルーチンを呼出す。ブロック138に示すような手
続の次のステップは走査ルーチンを実行することであ
る。走査ルーチンは表7に詳細に示されている。表7の
走査ダイナミック割込みサブルーチンは図3と4(A)
に示すダイナミックポーリング手続によって構築された
ポーリング結果バッファを走査する。ポーリング手続中
に見出される割込みに応答するチャネルのタイプに基づ
いて2〜16ワードが質問される。論理デバイスが決定
され、このデバイスのUACBも質問される。このメモ
リパスについて発見された割込みは走査されて規定チャ
ネルに対する割込みが発見される。マッチングが発見さ
れると、走査は完了し、デバイスはチャネルに接続され
る。
るチャネルのRQI信号への応答手続を示す。ブロック
134に示すようにチャネルのRQIへの応答におい
て、チャネルマネージャはブロック136に示すような
走査ルーチンを呼出す。ブロック138に示すような手
続の次のステップは走査ルーチンを実行することであ
る。走査ルーチンは表7に詳細に示されている。表7の
走査ダイナミック割込みサブルーチンは図3と4(A)
に示すダイナミックポーリング手続によって構築された
ポーリング結果バッファを走査する。ポーリング手続中
に見出される割込みに応答するチャネルのタイプに基づ
いて2〜16ワードが質問される。論理デバイスが決定
され、このデバイスのUACBも質問される。このメモ
リパスについて発見された割込みは走査されて規定チャ
ネルに対する割込みが発見される。マッチングが発見さ
れると、走査は完了し、デバイスはチャネルに接続され
る。
【0075】表7−SCAN *セレクトチャネルマスクとメモリパスIDをポーリン
グプロセス2次レジスタページへスイッチする前に、1
次ページにコピーしてダイナミック割込みをサーチする *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バッファ内の1ワードを走査する。もし資格のあるデ
バイスが発見され、デバイスUACBが捕獲されれば、
制御はチャネルマネージャへ戻る /*SPインデクスを隔離する /*係属中のSP割込み中へインデキシングする /*係属中の割込みにオフセットする *デバイスについてPOLRSLをテストする *デバイスがバッファ中に発見される。デバイスがセレ
クトチャネルについて係属中の割込みを有するかどうか
を見る /*ストリング中の最初のデバイスを加える /*係属中の割込みバイトをフェッチする /*デバイスナンバーを回復する /*カレントデバイスをPOLRSL候補から除去する /*割込み係属バイトを読取る /*このチャネル上になければ、もう1つのデバイスを
テストする *カレントデバイスアドレスはデュプレックス対の外部
デバイス割込み2次を有する。1次対のアドレスにポイ
ンティングを戻す *ポーリング結果バッファ内に1デバイスが発見され
た。もしデバイスアドレスロックをとることができれ
ば、退去する。さもなければ、次のデバイスを走査する *このチャネルについて資格のあるデバイスが発見さ
れ、UALOCKHが取られた。この選択を進める態勢
にあるモジュールの呼び手へ戻る /*デバイスをビジーにリセットする /*RC=デバイス発見さる *このバッファロケーション内にはデバイスワークは存
在しない。メインラインに戻る /*デバイスアドレスを回復する /*このアドレスをリセットする /*もし何れかのアドレスが再び走査すれば、このモジ
ュールのメインラインへ戻る *このチャネルのバッファは全て処理され、資格のある
デバイスは存在しない。復帰コードをデバイス無しにセ
ットして呼び手に戻る。
グプロセス2次レジスタページへスイッチする前に、1
次ページにコピーしてダイナミック割込みをサーチする *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バッファ内の1ワードを走査する。もし資格のあるデ
バイスが発見され、デバイスUACBが捕獲されれば、
制御はチャネルマネージャへ戻る /*SPインデクスを隔離する /*係属中のSP割込み中へインデキシングする /*係属中の割込みにオフセットする *デバイスについてPOLRSLをテストする *デバイスがバッファ中に発見される。デバイスがセレ
クトチャネルについて係属中の割込みを有するかどうか
を見る /*ストリング中の最初のデバイスを加える /*係属中の割込みバイトをフェッチする /*デバイスナンバーを回復する /*カレントデバイスをPOLRSL候補から除去する /*割込み係属バイトを読取る /*このチャネル上になければ、もう1つのデバイスを
テストする *カレントデバイスアドレスはデュプレックス対の外部
デバイス割込み2次を有する。1次対のアドレスにポイ
ンティングを戻す *ポーリング結果バッファ内に1デバイスが発見され
た。もしデバイスアドレスロックをとることができれ
ば、退去する。さもなければ、次のデバイスを走査する *このチャネルについて資格のあるデバイスが発見さ
れ、UALOCKHが取られた。この選択を進める態勢
にあるモジュールの呼び手へ戻る /*デバイスをビジーにリセットする /*RC=デバイス発見さる *このバッファロケーション内にはデバイスワークは存
在しない。メインラインに戻る /*デバイスアドレスを回復する /*このアドレスをリセットする /*もし何れかのアドレスが再び走査すれば、このモジ
ュールのメインラインへ戻る *このチャネルのバッファは全て処理され、資格のある
デバイスは存在しない。復帰コードをデバイス無しにセ
ットして呼び手に戻る。
【0076】チャネルリクエストイン(RQI)信号は
表8に詳しく示すタイマー手続を更新する。チャネルR
QI更新タイマー手続は時刻T1時に11マイクロセカ
ンド毎に制御を受取り、20マイクロセカンドチャネル
RQI信号をチェックする。その後T時間毎に手続はリ
クエストインを計時してプログラマブル割込みタイマを
介して割込みをエージングする。手続はチャネル要求と
並行して割込みレベル3を処理する。チャネルRQIは
エージングされて、時間切れのRQIは何れもドロップ
される。
表8に詳しく示すタイマー手続を更新する。チャネルR
QI更新タイマー手続は時刻T1時に11マイクロセカ
ンド毎に制御を受取り、20マイクロセカンドチャネル
RQI信号をチェックする。その後T時間毎に手続はリ
クエストインを計時してプログラマブル割込みタイマを
介して割込みをエージングする。手続はチャネル要求と
並行して割込みレベル3を処理する。チャネルRQIは
エージングされて、時間切れのRQIは何れもドロップ
される。
【0077】表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。
ドである *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。
【0078】限定サマリーポーリングとフルサマリーポ
ーリングに対する図4Aのブロック118と120のサ
マリーポーリングはコマンドテーブルをストアする。制
御はコマンドテーブルを介してストリングポーリングへ
転送される。コマンドテーブルはストリングポーリング
に対する情報を有し、何が必要とされており、、また手
続のパラメータであるかを手続に対して告知する。サマ
リーポーリング手続はコマンドテーブルを構築してその
後、ストリングポーリング手続の処理を制御する。スト
リングポーリング手続が呼出される回数はコマンドテー
ブルによって制御される。
ーリングに対する図4Aのブロック118と120のサ
マリーポーリングはコマンドテーブルをストアする。制
御はコマンドテーブルを介してストリングポーリングへ
転送される。コマンドテーブルはストリングポーリング
に対する情報を有し、何が必要とされており、、また手
続のパラメータであるかを手続に対して告知する。サマ
リーポーリング手続はコマンドテーブルを構築してその
後、ストリングポーリング手続の処理を制御する。スト
リングポーリング手続が呼出される回数はコマンドテー
ブルによって制御される。
【0079】ブロック104の高レベル待ち行列ワーク
は何らかの理由で特定ドライブの処理が高い優先順位を
有するということを述べる。一般に、セレクタチャネル
と呼ばれる特定チャネルはデバイスに対するアクセスを
要求する。セレクタチャネルは接続を要求し、特定デバ
イスに対する接続を待機する。チャネルは接続を待機
し、従って、セレクタチャネルが特定デバイスに関して
処理されるまで他のワークを何ら行うことができないた
めに、高レベル優先順位で処理される必要がある。他の
デバイスはセレクタチャネルの処理が完了するまで満足
されない筈である。セレクタチャネルはセレクトされた
デバイスに対する接続を待機している。正規の手続はセ
レクタチャネルがデバイスを特定タスクに対してデバイ
スアクセスを要求せず、従ってダイナミックポーリング
手続が継続するということである。
は何らかの理由で特定ドライブの処理が高い優先順位を
有するということを述べる。一般に、セレクタチャネル
と呼ばれる特定チャネルはデバイスに対するアクセスを
要求する。セレクタチャネルは接続を要求し、特定デバ
イスに対する接続を待機する。チャネルは接続を待機
し、従って、セレクタチャネルが特定デバイスに関して
処理されるまで他のワークを何ら行うことができないた
めに、高レベル優先順位で処理される必要がある。他の
デバイスはセレクタチャネルの処理が完了するまで満足
されない筈である。セレクタチャネルはセレクトされた
デバイスに対する接続を待機している。正規の手続はセ
レクタチャネルがデバイスを特定タスクに対してデバイ
スアクセスを要求せず、従ってダイナミックポーリング
手続が継続するということである。
【0080】サマリーワークはブロック112に示すよ
うにダイナミックポーリング中に第4回毎にのみ待ち行
列でチェックされるため、レベル7で進行中のワークは
必要以上は最早遅滞することはない。図2(A)に示す
如く、行列中にサマリーワークが存在するかどうかをチ
ェックする時間は参照番号300と312に示すように
17マイクロセカンド要する。時刻304、308、お
よび310では65マイクロセカンドタイミングのうち
の8マイクロセカンドを要するポーリング手続がとられ
る。かくして待ち行列中のサマリーワークは図2(A)
に示すように第4サイクル毎にチェックされるにすぎな
い。
うにダイナミックポーリング中に第4回毎にのみ待ち行
列でチェックされるため、レベル7で進行中のワークは
必要以上は最早遅滞することはない。図2(A)に示す
如く、行列中にサマリーワークが存在するかどうかをチ
ェックする時間は参照番号300と312に示すように
17マイクロセカンド要する。時刻304、308、お
よび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、 デバイスサブシステム。
タ、 40、42、50、52、 メモリパス、 46、 キャシュ、 56、 不揮発性メモリ、 60、62、64、66、 デバイスサブシステム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム トーマス ヒギンズ アメリカ合衆国95123、カリフォルニア州 サンホゼ、マディソン ドライヴ 350 (56)参考文献 特開 昭63−26758(JP,A) 特公 昭63−61698(JP,B2)
Claims (30)
- 【請求項1】 チャネルからの遅延応答に必要とされる
時間の間アクセス要求信号を保持することによって中央
処理装置へのチャネル接続に対するデバイスからのアク
セス要求信号を管理すると共に信号を処理して複数のチ
ャネルへのアクセスを許可するコントローラ用のダイナ
ミックポーリング装置において、 デバイスをポーリングしてアクセス要求信号受取るポー
リング手段と、 前記ポーリング手段を周期的に付勢する付勢手段と、 アクセス要求信号を受取りストアするための複数のセク
ションを有するエージングメモリ手段と、 前記エージングメモリ手段を制御し前記ポーリング手段
により付勢されてストアされたアクセス要求信号を1セ
クションから別のセクションへとシフトさせる手段と、 各デバイスおよび各チャネルを検知し各デバイスとその
チャネル間の通信応答時間を判定しこれをストアするタ
イマー手段と、 チャネルからのアクセス要求信号を受取るように接続さ
れ、アクセス要求信号を前記エージングメモリ手段中の
前記複数のセクションの特定の1つ内に配置し、且つ前
記タイマー手段により付勢されてアクセス要求信号を前
記タイマー手段により決定される特定セクション中に配
置する手段と、 前記エージングメモリ手段により制御され、チャネルが
接続を要求した時にアクセス要求信号が前記エージング
メモリ手段内にストアされている場合には、チャネルを
デバイスに接続する手段と、 を備え、 アクセス要求信号が前記エージングメモリ手段中の複数
セクションのうちの最後のものにストアされ、前記シフ
ト手段が前記ポーリング手段により付勢された時にアク
セス要求信号が前記シフト手段によって前記エージング
メモリ手段からシフトアウトされるようにしたダイナミ
ックポーリング装置。 - 【請求項2】 1デバイスからのアクセス要求信号の受
取りと前記ポーリング手段の次の付勢時間との間にバッ
クグラウンドタスクを処理する手段を更に含む請求項1
のダイナミックポーリング装置。 - 【請求項3】 デバイスが2つのセクションに分けら
れ、各セクションが前記ポーリング手段の付勢の1回お
きに前記ポーリング手段によってポーリングされる請求
項1のダイナミックポーリング装置。 - 【請求項4】 アクセスを要求するデバイスを表すアド
レスを受取りストアするための複数のメモリエリアを有
するポーリング結果バッファメモリを更に含む請求項1
のダイナミックポーリング装置。 - 【請求項5】 もしそれ以上のデバイスがアクセスを要
求していない場合1つの無効アドレスが次のバッファメ
モリエリア内に配置される請求項4のダイナミックポー
リング装置。 - 【請求項6】 デバイスの応答の待機中にバックグラウ
ンド処理を許可するようにデバイスとチャネル間の通信
を管理するための機械処理方法において、 ダイナミックポーリング手続をスタートし、 ダイナミックポーリング手続中にチャネルのビジー状態
をチェックし、 もしチャネルがビジーではないと判った時、フルサマリ
ーポーリング手続の中で全アクセス要求信号に対してデ
バイスサブセクションをチェックし、もしチャネルがビ
ジーであることが判ると限定サマリーポーリング手続中
で内部コントローラワークをチェックし、 フルサマリーポーリングではアクセス要求信号を求めて
デバイスをポーリングし、限定サマリーポーリングでは
内部コントローラのアクセス要求信号を求めてデバイス
をポーリングし、 発見されたアクセス要求信号をチャネルとアクセスを要
求中のデバイスの間の通信遅延時間に応じてシフトレジ
スタ内にストアし、 アクセス要求信号を有するデバイスの識別子をストア
し、さもなくば無効応答信号をストアし、 チャネルにより要求された時にストアされた識別子に従
ってデバイスのチャネルへ至る通信リンクを接続し、 バックグラウンドワークを実行し、 チャネルのビジー状態をチェックするステップに戻る一
方、アクセス要求信号がチャネルとデバイスの間の通信
遅延時間を超えてシフトレジスタ内におかれている時に
はシフトレジスタ内のストアされたアクセス要求信号を
シフトしてシフトレジスタからシフトアウトすることに
よってストアされたアクセス要求信号をドロップし、 高優先順位のワークが要求された時にダイナミックポー
リング手続を終了する、ステップより成る機械処理方
法。 - 【請求項7】 1つのデバイスサブセクションが奇数番
目のデバイスサブセクション・チェックステップでチェ
ックされ、第2のデバイスサブセクションが偶数番目の
デバイスサブセクション・チェックステップでチェック
される請求項6の機械処理方法。 - 【請求項8】 いずれのデバイスもまたはそれ以上のデ
バイスがアクセス要求信号を出さない時、識別子をスト
アするステップが無効識別子をストアする請求項6の機
械処理方法。 - 【請求項9】 ダイナミックポーリング手続をスタート
後にアクセス要求信号が検出されない場合に優先ワーク
が実行される請求項6の機械処理方法。 - 【請求項10】 デバイスの応答の待機中にバックグラ
ウンド処理を許可するようにデバイスとチャネル間の通
信を管理するための機械処理方法において、 ダイナミックポーリング手続をサイクリングさせて、ア
クセス要求信号を送ることによってチャネルへの接続を
要求しているデバイスをチェックし、 チャネルとアクセス要求信号を送っているデバイスとの
間の通信遅延時間に従ってアクセス要求信号を異なる位
置にストアし、 チャネルにより要求された時にチャネルに対する通信リ
ンクを接続し、通信遅延時間が時間切れとなった後にス
トアされたアクセス要求をドロップする、ステップより
成る機械処理方法。 - 【請求項11】 アクセス要求信号を送っているデバイ
スの識別子をストアし、さもなくば無効信号をストアす
るステップを更に含み、前記通信リンクの接続ステップ
はチャネルにより要求された時にストアされている識別
子に従ってチャネルをデバイスに接続する請求項10の
機械処理方法。 - 【請求項12】 異なるロケーションにストアされたア
クセス要求信号が通信遅延時間に従ってシフトレジスタ
内の異なる位置にストアされ、その際、アクセス要求信
号はダイナミックポーリング手続がサイクリングする毎
にシフトレジスタ内をシフトされ、ストアされたアクセ
ス要求信号をドロップさせるステップはアクセス要求信
号をシフトレジスタからシフトアウトすることによって
行われる請求項10の機械処理方法。 - 【請求項13】 デバイスと少なくとも1つの中央処理
デバイス間の通信接続を少なくとも1つのチャネルを介
して管理するコントローラにおいて、 少なくとも1つのチャネルに接続され少なくとも1つの
中央処理装置と通信し、少なくとも1つの中央処理装置
からのチャネルコマンドを少なくとも1つのチャネルを
介して受取る少なくとも1つのメモリディレクタと、 前記少なくとも1つのメモリディレクタに接続され、少
なくとも1つの中央処理装置により要求されるデータ情
報を前記少なくとも1つのメモリディレクタによりアク
セス可能な複数のデバイスにストアするデバイスサブシ
ステムと、 前記少なくとも1つのメモリディレクタに接続され前記
デバイスサブシステムの前記複数のデバイスに関する状
態情報を含む共用制御アレイと、 から成り、 前記少なくとも1つのメモリディレクタはチャネルコマ
ンドを解釈してそれに応じて前記共用制御アレイにアク
セスし、前記デバイスサブシステムのデバイスを制御し
て前記デバイスにデータを書込みまたは前記デバイスか
らデータを読取り、 前記少なくとも1つのメモリディレクタはダイナミック
ポーリングデバイスを含み、 前記ダイナミックポーリング装置は少なくとも1つのチ
ャネルに対する接続に応答して出される前記デバイスか
らのアクセス要求信号を管理し、前記デバイスサブシス
テムをポーリングしてアクセス要求信号を検出し、前記
デバイスサブシステム中のアクセス要求信号を送ってい
るデバイスと少なくとも1つのチャネル間のチャネルア
クセス通信時間に応じてアクセス要求信号を異なる時間
の間保持し、前記保持手段が前記デバイスに対するアク
セス要求信号をチャネルアクセス通信時間の間保持して
いる間に、前記少なくとも1つのメモリディレクタは少
なくとも1つのチャネルと前記デバイスサブシステムを
解放して他のタスクの実行を許可する手段を含む、コン
トローラ。 - 【請求項14】 前記メモリディレクタの保持手段がア
クセス要求信号をチャネルアクセス通信時間の間保持し
た後、チャネルアクセスが完了したか否かに応じてアク
セス要求信号をドロップする請求項13のコントロー
ラ。 - 【請求項15】 複数のデバイスを有するデバイスサブ
システムと中央処理装置の間の通信接続を少なくとも1
つのチャネルを介して管理するコントローラにおいて、 少なくとも1つのチャネルを介して中央処理装置と通信
し、チャネルコマンドを受取りそれに応じてデバイスを
アクセスし制御する少なくとも1つのメモリディレクタ
と、 前記メモリディレクタに接続されデバイスとデバイスサ
ブシステムに関する状態情報を含む共用制御アレイと、 から成り、 前記少なくとも1つのメモリディレクタはダイナミック
ポーリング装置を含み、 前記ダイナミックポーリング装置は前記少なくとも1つ
のメモリディレクタにより受取られた少なくとも1つの
チャネルに対する接続要求に応答して送られたデバイス
からのアクセス要求信号を管理し、デバイスサブシステ
ムをポーリングしてアクセス要求信号を検出し、デバイ
スサブシステム内のアクセス要求信号を送っているデバ
イスと少なくとも1つのチャネル間のチャネルアクセス
通信時間に応じてアクセス要求信号を異なる時間の間保
持し、前記保持手段がデバイスに対するアクセス要求信
号をチャネルアクセス通信時間の間保持している間に、
前記少なくとも1つのメモリディレクタは少なくとも1
つのチャネルとデバイスサブシステムを解放して他のタ
スクの実行を許可する手段を含む、コントローラ。 - 【請求項16】 前記メモリコントローラの保持手段
がチャネルアクセス通信時間の間アクセス要求信号を保
持した後、チャネルアクセスが完了したか否かに応じて
アクセス要求信号をドロップする請求項15のコントロ
ーラ。 - 【請求項17】 内部メモリ装置を更に含み、前記ダイ
ナミックポーリング装置が前記内部メモリ装置に対する
接続に応答して送られるデバイスからのアクセス要求信
号を管理する請求項15のコントローラ。 - 【請求項18】 前記ダイナミックポーリング装置はフ
ルサマリーポーリングを実行し、デバイスサブシステム
と少なくとも1つのチャネルもしくは前記内部メモリ装
置の何れか一方との間のアクセス要求信号を管理する請
求項17のコントローラ。 - 【請求項19】 前記ダイナミックポーリング装置が限
定サマリーポーリングを実行して少なくとも1つのチャ
ネルがビジーの時にデバイスサブシステムのみと前記内
部メモリ装置間のアクセス要求信号を管理する請求項1
7のコントローラ。 - 【請求項20】 チャネルを介する中央処理装置からの
およびメモリ装置真らの接続要求に応じて送られるデバ
イスサブシステム中のデバイスからのアクセス要求信号
を管理するダイナミックポーリング装置において、 デバイスをポーリングしてアクセス要求信号を検出する
ポーリング手段と、 前記ポーリング手段によって検出されたアクセス要求信
号を受取り、それに応じてアクセス要求信号を送ってい
るデバイスとチャネル間のチャネルアクセス通信時間に
応じてアクセス要求信号を異なる時間の間保持する保持
手段と、 前記保持手段がデバイスに対するアクセス要求信号をチ
ャネルアクセス通信時間の間保持している間にチャネル
とデバイスサブシステムを解放して他のタスクの実行を
許可する手段と、 から成り、 前記保持手段がアクセス要求信号をチャネルアクセス通
信時間の間保持した後、アクセスが完了したかどうかに
応じてアクセス要求信号をドロップする、ダイナミック
ポーリング装置。 - 【請求項21】 前記ダイナミックポーリングデバイス
がフルサマリーポーリングを実行しデバイスサブシステ
ムとチャネルもしくはメモリ装置の何れか一方との間の
アクセス要求信号を管理する請求項20のダイナミック
ポーリング装置。 - 【請求項22】 前記ダイナミックポーリング装置が限
定サマリーポーリングを実行してチャネルがビジーの時
にデバイスサブシステムのみとメモリ装置間のアクセス
要求信号を管理する請求項20のダイナミックポーリン
グ装置。 - 【請求項23】 デバイスの応答の待機中に低優先順位
の処理を許可するようにデバイスとチャネルの間の通信
を管理するための機械処理方法において、 ダイナミックポーリング手続をスタートしてチャネルに
対する接続を要求するデバイスを発見し、 アクセス要求信号を求めてデバイスサブセクションをチ
ェックし、 チャネルとアクセスを要求信号を送っているデバイス間
の通信遅延時間に従ってシフトレジスタ中にアクセス要
求信号をストアし、 シフトレジスタ内でストアされたアクセス要求信号をそ
れぞれのデバイスチェックステップにおいてシフトレジ
スタ内でシフトし、 チャネルにより要求された時にデバイスとチャネルの間
の通信リンクを接続し、 ストアされたアクセス要求信号をシフトレジスタからシ
フトアウトすることによってドロップする、 ステップより成る機械処理方法。 - 【請求項24】 アクセス要求信号を送っているデバイ
スの識別子をストアし、さもなくば無効応答信号をスト
アするステップを更に有し、前記通信リンクを接続する
ステップはチャネルにより要求された時にストアされて
いる識別子に従ってチャネルをデバイスに接続する請求
項23の機械処理方法。 - 【請求項25】 複数のチャネルの少なくとも1つを介
する少なくとも1つの中央処理装置との通信を管理する
データ処理システムにおいて、 チャネルを介して中央処理装置からデータおよびコマン
ドを受取るように接続された少なくとも1つのコントロ
ーラと、 少なくとも1つの中央処理装置によって使用されるよう
に前記コントローラによってアクセス可能な情報をスト
アする複数のデバイスを備える少なくとも1つのデバイ
スサブシステムと、 から成り、 前記コントローラはコントローラに接続されたチャネル
と通信しチャネルからチャネルコマンドおよびデータを
受取る少なくとも1つのメモリディレクタと、前記少な
くとも1つのメモリディレクタに接続され前記少なくと
も1つのデバイスサブシステムのデバイスに関する状態
情報を含む共用制御アレイを含み、 前記メモリディレクタはチャネルコマンドを解釈してそ
れに応じて前記共用制御アレイをアクセスして前記デバ
イスの動作を制御して前記デバイスにデータを書込みま
たは前記デバイスからデータを取出し、 前記メモリディレクタはチャネルからの前記メモリディ
レクタによって受取られた接続要求に応答して送られる
前記少なくとも1つのデバイスサブシステム中のデバイ
スからのアクセス要求信号を管理し、デバイスをポーリ
ングしてアクセス要求信号を検出するダイナミックポー
リング手段と、前記ポーリング手段により検出されたア
クセス要求信号をストアしてこれに応答してアクセス要
求信号を送っているデバイスとチャネル間のチャネルア
クセス通信時間に応じてアクセス要求信号を異なる時間
の間保持する保持手段と、前記保持手段がデバイスのア
クセス要求信号をチャネルアクセス通信時間の間ストア
している間にチャネルおよびデバイスサブシステムを開
放してバックグラウンドタスクを実行することを許可す
る手段と、少なくとも1つのチャネルが前記メモリディ
レクタに対して接続コマンドを送った時チャネルとアク
セス要求信号を送っているデバイスの間の通信リンクを
接続する手段とを含む、データ処理システム。 - 【請求項26】 前記メモリディレクタの保持手段がア
クセス要求信号をチャネルアクセス通信時間の間保持し
た後、チャネルアクセスが完了したか否かに応じてアク
セス要求信号をドロップする請求項25のデータ処理シ
ステム。 - 【請求項27】 内部コントローラメモリ装置を更に含
み、前記ダイナミックポーリング手段は前記内部コント
ローラメモリ装置に対する接続要求に応答して送られる
デバイスからのアクセス要求信号を管理する請求項25
のデータ処理システム。 - 【請求項28】 前記ダイナミックポーリング手段はフ
ルサマリーポーリングを実行してデバイスサブシステム
のデバイスと少なくとも1つのチャネルもしくは前記内
部コントローラメモリ装置の何れか一方との間でのアク
セス要求信号を管理する請求項27のデータ処理システ
ム。 - 【請求項29】 前記ダイナミックポーリング手段が限
定されたサマリーポーリングを実行して少なくとも1つ
のチャネルがビジーの時に前記内部コントローラメモリ
装置間のアクセス要求信号を管理する請求項27のデー
タ処理システム。 - 【請求項30】 前記保持手段がエージングシフトレジ
スタを含み、その際、アクセス要求信号がエージングシ
フトレジスタ内の異なるエリアに異なる時間に応じてス
トアされ、前記ダイナミックポーリング手段のサイクル
毎にシフトレジスタ内でシフトする請求項25のデータ
処理装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/576,049 US5201053A (en) | 1990-08-31 | 1990-08-31 | Dynamic polling of devices for nonsynchronous channel connection |
| US576049 | 1990-08-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04314160A JPH04314160A (ja) | 1992-11-05 |
| JPH0772888B2 true 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 (27)
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
| US6044444A (en) * | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
| US5930483A (en) * | 1996-12-09 | 1999-07-27 | International Business Machines Corporation | Method and apparatus for communications control on a small computer system interface |
| CN1206877C (zh) * | 2000-12-27 | 2005-06-15 | 三洋电机株式会社 | 无线基地系统及同步脉冲串的发送控制方法 |
| 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 |
| EP1653354A4 (en) * | 2003-08-04 | 2008-03-26 | Hitachi Ltd | REAL TIME CONTROL SYSTEM |
| JP4405277B2 (ja) * | 2004-02-16 | 2010-01-27 | 株式会社日立製作所 | ディスク制御装置 |
| US7467238B2 (en) * | 2004-02-10 | 2008-12-16 | Hitachi, Ltd. | Disk controller and storage system |
| JP4441286B2 (ja) * | 2004-02-10 | 2010-03-31 | 株式会社日立製作所 | ストレージシステム |
| 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 |
| CN114443151B (zh) * | 2022-01-14 | 2024-12-27 | 山东云海国创云计算装备产业创新中心有限公司 | 一种轮询方法、装置及计算机可读存储介质 |
Family Cites Families (9)
| 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 |
| JPS6326758A (ja) * | 1986-07-19 | 1988-02-04 | Fujitsu Ltd | 動的ポ−リングによるパケツト通信装置 |
| JPH07115672B2 (ja) * | 1986-08-29 | 1995-12-13 | スズキ株式会社 | 船外機等のトリムタブ |
| 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 |
-
1990
- 1990-08-31 US US07/576,049 patent/US5201053A/en not_active Expired - Fee Related
-
1991
- 1991-07-15 JP JP3200124A patent/JPH0772888B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04314160A (ja) | 1992-11-05 |
| US5201053A (en) | 1993-04-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0772888B2 (ja) | ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム | |
| US6311256B2 (en) | Command insertion and reordering at the same storage controller | |
| EP0788055B1 (en) | Multipath i/o storage systems with multipath i/o request mechanisms | |
| US6230239B1 (en) | Method of data migration | |
| 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 | |
| US6851020B2 (en) | Storage subsystem that connects fiber channel and supports online backup | |
| US4697232A (en) | I/O device reconnection in a multiple-CPU, dynamic path allocation environment | |
| JP2872251B2 (ja) | 情報処理システム | |
| JPH0793219A (ja) | 情報処理装置 | |
| KR20180025128A (ko) | Ssd 어레이 관리를 위한 스트림 식별자 기반 스토리지 시스템 | |
| US5463752A (en) | Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller | |
| JPH0268639A (ja) | ディスクキャッシュ制御方式および情報処理システム | |
| US5426761A (en) | Cache DASD sequential staging and method | |
| JP2550311B2 (ja) | 磁気デイスクの多重制御方式 | |
| US5313640A (en) | Method and system for the efficient response to multiple different types of interrupts | |
| US6725348B1 (en) | Data storage device and method for reducing write misses by completing transfer to a dual-port cache before initiating a disk write of the data from the cache | |
| US5452421A (en) | 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 | |
| US7600074B2 (en) | Controller of redundant arrays of independent disks and operation method thereof | |
| US6985998B2 (en) | Disk array device for idle seek | |
| CN1532701B (zh) | 存储器不稳定仍维持系统稳定度的系统及存储器控制方法 | |
| KR920007949B1 (ko) | 컴퓨터 주변장치 제어기 | |
| JP2007193839A (ja) | ストレージシステム、ストレージシステムにおけるデータ送受信方法及びシステム | |
| JP2588946B2 (ja) | 入出力経路の制御方法および入出力サブシステム | |
| JPS61118847A (ja) | メモリの同時アクセス制御方式 | |
| JPH07262121A (ja) | データ処理システム及びその方法 |