JPH01142963A - バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法 - Google Patents

バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法

Info

Publication number
JPH01142963A
JPH01142963A JP63260721A JP26072188A JPH01142963A JP H01142963 A JPH01142963 A JP H01142963A JP 63260721 A JP63260721 A JP 63260721A JP 26072188 A JP26072188 A JP 26072188A JP H01142963 A JPH01142963 A JP H01142963A
Authority
JP
Japan
Prior art keywords
bus
message
bus device
storage
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63260721A
Other languages
English (en)
Other versions
JPH0673123B2 (ja
Inventor
Surinder P Batra
シュリンダー・ポール・バトラ
William E Hammer
ウイリアム・エルダー・ハーマー
Gene A Lushinsky
ジーン・アーサー・ルシンスキイ
David W Marquart
デヴイド・ウエイン・マークアート
Walter H Schwane
ワルター・ヘンリイ・シユワーン
Frederick J Ziecina
フレデリック・ジヨセフ・ジイーシイナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01142963A publication Critical patent/JPH01142963A/ja
Publication of JPH0673123B2 publication Critical patent/JPH0673123B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はバスにおけるプロセス間の作業の流れの制御に
関し、特に事象または非請求データのためにプロセスに
割込みをかけるバス・メツセージに関する。
B、従来技術 分散処理ネットワークにおいてバスに接続される処理装
置をバス装置と呼び、たとえばホスト・プロセッサや入
出カプロセッサがこれに当たる。
普通、各プロセッサは主記憶装置を持っている。
このようなネットワークでは、一般に2種類の直接メモ
リ・アクセス(DMA)ハードウェア、すなわちマスク
DMAハードウェア及びスレーブDMAハードウェアが
使用される。マスクDMAハードウェアを存するバス装
置は、スレーブDMAハードウェアを有するバス装置の
記憶装置を、そのプロセッサに割込みをかけることなく
アクセスすることができる。
通信方法がプロセスに対してトランスペアレントである
従来のプロセス間通信においては、要求元のプロセスを
含むバス装置が他のバス装置に対して作業の実行を要求
する。処理すべきデータは要求元の記憶装置にあり、サ
ーバ装置、すなわち要求された作業を実行するバス装置
によりアクセスされる。
通常の流れでは、作業要求及びそれに関連するデータが
要求元バス装置の記憶装置からサーバ・バス装置の記憶
装置へDMA転送される。サーバ・バス装置が入出力バ
スに接続された直接アクセス記憶制御装置の場合、この
ようなりMA転送は容易である。というのは、入出力制
御装置はマスクDMA機能を有しており、かつ作業要求
を出したホスト・バス装置はスレーブD M A 1f
fi能を有しているからである。その場合、マスクDM
A機能を有する入出力制御装置は、ホスト・バス装置の
プロセッサに割込みをかけることなく、入出力バスを介
してホスト主記憶装置を直接アクセスすることができる
しかし、入出力装置が作業要求を出した場合は問題が生
じる。米国特許第4849473号明細書に記載のごと
きサーバ駆動型の作業処理アーキテクチャでは、従来の
システムとは異なり、要求された作業を実行するプロセ
スが所望の時にデータをアクセスする必要があり、作業
要求にががるデータを受は取る必要なない。ホストはマ
スクDMA機能を、入出力制御装置はスレーブDMA機
能をそれぞれ持っていないので、サーバであるホストは
、作業要求元である入出力制御装置のデータをアクセス
できない。したがって、上述のアーキテクチャに適合す
る何らかのデータ流れ制御手段が必要である。システム
によっては、要求に関連するすべてのデータを通常のバ
ス通信によってサーバへ転送するようにしたものがある
プロセスに対してトランスペアレントなデータの流れを
実現するため、従来のシステムではバス転送機構が使用
されていた。バス転送機構は、普通、バス装置の1つが
常に作業要求を出し、他のバス装置が常にサーバとなる
ことを想定している。
各バス装置には対応するDMA機能が与えられる。
しかし、バス装置がより高度になってくると、これは当
てはまらなくなる。新しいバス装置はより多くのインテ
リジェンスを備えるようになり、したがって作業要求を
出すことも必要になる。実際、もしバス装置が対等プロ
セッサであれば、各プロセッサは作業要求の発生及び要
求された作業の実行を同程度に行なうことになろう。追
加ハードウェアのコストを抑えるため、あるいは主記憶
装置を完全に制御したいために、プロセッサにスレーブ
DMA機能を持たせたくない場合が多くある。バス装置
のDMA機能にアンバランスがあると、データの流れを
制御する能力が重要になってくる。
従来のシステムでも、簡単な割込みによる入出力アダプ
タからの非請求入力の取扱いは改善されている。非請求
入力は、ホストにデータを読み取らせるための入出力ア
ダプタによる作業要求と等価である。その代表的な例と
して、IBMシステム/38 (S/38)のチャネル
の事象通知機能がある。これは、バス装置が短い(1バ
イトの)メツセージをホストに送って、何らかの動作を
要求できるようにしたものである。
C0発明が解決しようとする課題 上述のアプローチにはいくつかの制限がある。
まず、事象通知メツセージには経路指定情報を含ませる
ことはできない。事象通知メツセージは、ホストに受は
取られるとすべて単一のプロセス(S/38のチャネル
入出力管理機構)へ送られる。可能であれば、事象通知
メツセージはその中の送信元バス装置IDに基づいての
み特定の入出力管理機構へ向けられる。メツセージを経
路指定するためには、あらかじめ定義された単一の固定
プロセスを各バス装置に割り当てる必要がある。
また、事象通知メツセージはホストに送れるだけであり
、他のバス装置には送れない。事象通知メツセージで送
れるのは最小限のユーザ・データだけである。
08課題を解決するための手段 多重バス装置システムにおいて、あるバス装置で実行さ
れるプロセスに対し、事象または他のバス装置からの非
請求入力を知らせるために特別のバス・メツセージを使
用する。このバス・メツセージは、・割込みを意図して
いるプロセスを識別し、また割り込まれたプロセスが行
なうべき動作を指示する。
メツセージを受は取ったバス装置は、従来のように送信
元がどこかに応じてメツセージの経路指定を行なう代わ
りに、ただちに行き先を知る。割り込まれたプロセスは
、何をすべきかを決定するためにメツセージの送信元ま
で戻る必要はない。
何をすべきかはメツセージ中で指示され、したがってメ
ツセージが送られた理由に答えるのにほとんど時間を浪
費しない。
後述する実施例においては、異なったDMA機能を有す
る複数のバス装置間でバスを介して作業要求及び関連デ
ータが転送される。作業要求に答えるプロセスを含むサ
ーバ・バス装置が要求及びデータの流れを制御する。サ
ーバまたは要求元が適切なりMA機能を持っておらず、
そのためサーバ・プロセスが要求及びデータをアクセス
するのに必要な転送を行なえない場合は、作業の流れに
関連するデータを転送する責任を逆にするため、バス装
置間で特別のメツセージが使用される。最初のサーバは
この特別メツセージ中の情報に応じて作業要求を開始し
、その結果、最初の要求元がサーバになるので、それぞ
れのDMA機能が適合するようになり、データの流れが
新しいサーバによって制御される。
上述の特別メツセージは、実行すべき作業のタイプを指
示し、それを受は取るバス装置に、最初の要求元バス装
置への作業要求を出させる。最初の要求元バス装置は次
いで新しい要求元へデータを転送する。新しい要求は、
最初の作業、すなわちデータ転送が実行されるように調
整される。この調整は、信号メツセージと呼ばれる上述
の特別メツセージ中の情報に基づいて行なわれる。
最初の要求元バス装置はマスクDMA機能を有し、最初
のサーバ・バス装置はスレーブDMA機能を有する。マ
スクDMA機能は、スレーブDMA機能を持った他のバ
ス装置の主記憶装置のアクセスを可能にするものであり
、したがって要求元バス装置及びサーバ・バス装置の役
割を逆にすると、それらのDMA機能が適合するように
なる。
良好な実施例においては、最初の要求元バス装置は少な
くともマスクDMA機能を備えた直接アクセス記憶制御
装置であり、最初のサーバ・バス装置は、スレーブDM
A機能を備えたホスト・プロセッサである。バス装置の
1つにマスクDMA機能及びスレーブDMA機能の両方
を持たせることもできるが、ホストが入出力制御装置の
主記憶装置をアクセスする場合、ホストはマスクDMA
機能を必要とし、入出力制御装置はスレーブDMA機能
を必要とする。
非請求情報を入出力制御装置からホストへ送る必要があ
る時、入出力制御装置内のプロセスがホストに対するデ
ータ入手の作業要求を出す。これは、ホスト及び入出力
制御装置のDMA機能とは相客れないので、入出力制御
装置のバス管理機構は信号メツセージを代わりに送る。
信号メツセージの送信は、入出力制御装置内の要求元プ
ロセスにとっては、あたかも作業を要求したかのように
見える。バス管理機構は、要求元プロセスからの作業要
求に含まれる情報からメツセージを作る。
後述の実施例では、信号メツセージは3種類の作業要求
を示す。ホストは、信号メツセージを受は取ると、指示
された作業要求の種類に応じた作業要求を送り返す。
信号メツセージは、入出力制御装置のバス管理機構によ
り生成された情報を含む複数のフィールドを有する。信
号メツセージは、受信側からの肖゛定応答が不要である
ように定められているので、ある符号化された値が信号
メツセージと共に送られ、ホストからの作業要求により
戻される。このようにし、て、入出力制御装置のバス管
理機構は、どのような信号メツセージが実際に受信され
て処理されたかを見ている。所定時間が経過してもホス
トからの作業要求を受信しなかった場合、バス管理機構
は信号メツセージを再送する。
E、実施例 第2図は、本出願人の米国特許第4849473号から
取ったものである。第2図は、読者が本発明をより明確
に理解するための基礎知識を与える。すぐ後で、根底に
ある通信管理にプロセスが気づかないようなプロセス間
通信を中心にして、第2図について説明する。根底とな
るバス転送機構、及び本発明の主題であるバス管理機構
については後の部分で説明する。
第2図で、分散処理環境の概略図を全体的に10で示す
。プロセッサA12は、線14で示す物理的経路によっ
て、プロセッサB16に結合される。プロセッサAは、
その中にプロセスA18とプロセスB19が存在するも
のとして示されている。記憶部20は、それぞれデータ
記憶部のプロセス制御及びデータ記憶部に対するアクセ
スをもたらす線21及び22によって示すように、プロ
セスA及びプロセスBと関連づけられている。
プロセッサBは、その中にプロセスC23,!:プロセ
スD24が存在するものとして示されている。
記憶部25は、それぞれデータ記憶部のプロセス制御及
びデータ記憶部に対するアクセスをもたらす線26及び
28によって示すように、プロセスC及びプロセスDと
関連づけられている。
プロセス、すなわち、プロセッサ内の実行プログラムは
互いに通信する必要がある。異なる構成のプロセッサ、
または経時変化する同一プロセッサでは、2つのプロセ
スは異なる相対位置をとることがあり、またそれらの間
の物理的経路が異なることがある。
プロセス間通信機構(IPCF)が、プロセッサA及び
プロセッサB内のそれぞれ30及び32に設けられ、プ
ロセス間通信を調整する。これは、通信を行なうプロセ
スにとってトランスペアレントな位置である。IPCF
30は、線34で示すように、プロセッサA内のプロセ
スAに結合され、また、線36で示すように、プロセス
Bに結合されている。線34及び36はプロセスA及び
プロセスBとIPCF30の間のインターフェースを表
わす。これらのインターフェースは、適当なデータ経路
が確立されていることを条件として、プロセスAとプロ
セスBの間の通信を可能にする。IPCF30はまたプ
ロセッサB内の転送機構40を介してIPCF32に結
合されている。IPCF32は、インターフェース線4
2及び44で示すように、プロセスC及びプロセスDに
結合されている。これらのインターフェースは、通信を
している相手のプロセスの位置について当該プロセスが
知ることなく、示されたすべてのプロセス間の通信を確
立することを可能にする。転送機構38及び40は、プ
ロセスA及びプロセスB1またはプロセスC及びプロセ
スDが単一プロセッサ内で通信するときに使用できるよ
うに、ローカル転送機構等の複数の転送機構を含むこと
が好ましい。
プロセッサAとプロセッサBが同じ機械内にある場合は
、バス転送機構を使って、プロセッサA及びプロセッサ
B上のプロセス間の通信を容易にする。機械間の通信の
ためには、SNA等の通信プロトコルが使用に適する。
転送機構38.40はデータ移動機構である。
それらは、データ・バイトをある場所から別の場所に転
送する責任を負い、移動される情報の意味を理解しない
。すなわち、プロセッサA内の記憶部20は、線46で
示すように転送機構38に結合され、プロセッサB内の
記憶部25は、線48で示すように転送機構40に結合
され、転送機構38.40による直接の情報転送を可能
にする。
通信を試みるプロセス用のI PCFは、通信のために
転送機構を選ぶ。通信を行なうプロセスは、使用される
機構について知っている必要はない。
通信を試みるプロセスは既に知っている目標プロセスの
名前をIPCFに供給し、IPCFは適当なディレクト
リ・サービスを使ってそれを探し出す。IPCFは次に
適当な転送機構を選択し、システムから供給されるサー
ビスを使って通常の方法でプロセス間の接続をセットア
ツプする。IPCFは、アプリケ−7ヲンからページン
グ管理機構等の基本システム・サービスまで、すべての
レベルのプロセスで使用することができる。
各々異なる能力及び特性を有する多数の異なる転送機構
の使用を可能−にするため、IPCFは各プロセスに対
する総称転送機構インターフェースを含んでいる。この
インターフェースは、接続の確立及びプロセス間での情
報の移動のための一組の機能を定義する。定義された機
能は、IPCr’により使用される転送機構にマツプさ
れる。インターフエースに対して書かれるプログラムは
転送機構から独立しており、したがって、通信時のそれ
らの相対位置から独立している。
プロセス間の通信は、IPCFによって確立されたそれ
らの間の接続を介するメツセージの送受信による。メツ
セージは作業要求またはデータあるいはその両方を含む
。特定の作業要求に関して、プロセスは要求元またはサ
ーバの役を引き受ける。
要求元は、要求を実行するサーバに要求を送ることによ
り作業要求を開始する。要求は作業要求(コマンドとそ
のパラメータ)及び任意選択として幾らかのデータを含
む。要求及びデータは共に可変長である。
IPCFl及び接続の確立方法についてさらに詳しい情
報を知りたい場合は、上記特許にさらに詳細な説明が出
ている。次に、転送機構38及び40の一部であるバス
管理機構につい゛て説明する。
バス管理機構 第1図で、バス装置50及び52は入出力バス54等の
物理的経路で結合されている。好ましい一実施例では、
バス装置50は、線60を介して主記憶装置58と結合
されたプロセッサ56を備えたホスト処理システムを含
む。ホスト・プロセッサ56は、財務会計プログラムか
らオペレーティング・システム・プログラムに至るまで
、複数のプログラムを実行する。プログラムの実行段階
はプロセスと呼ばれる。幾つかのプロセスPA1〜PA
nt PB 1〜PBn及びPCl 〜PCnがホスト
・プロセッサ56内に示しである。
バス装置52は、好ましい一実施例では、線70によっ
て主記憶装置68と結合された入出カプロセッサ66を
含む。入出カプロセッサ66もまた実行可能な幾つかの
プロセスPDI〜P D n NPEI 〜PEn及び
PFI 〜PFnを有する。プロセッサ56及び66の
各々に多数のプロセスが示されているが、プロセッサが
ただ1つのプロセスを存する場合もあり得る。他の実施
例では、プロセッサ66はプロセッサ・ネットワーク内
の対等プロセッサである。プロセスは、その位置がどこ
であっても、バス装置50内のIPCF72及びバス装
置52内のIPCF74を介して互いに通信をする。通
信を行なうプロセスの各対は、バス装置50内の80及
びバス装置52内の82で示す論理的接続により、IP
CFを介して論理的に接続される。
接続の確立は、上記特許にさらに詳細に記載されている
。要約すると、IPCFオープン動詞が2つのプロセス
間のIPCF接続を確立する。接続は、通信する各プロ
セス対にとって固有である。
したがって、線80の各々が線82の1本と対になる。
第1図に示すよりも多くの入出カプロセッサまたはホス
ト・プロセッサがあることもあるので、線82よりも線
80の方が多い場合は、図示していないプロセッサ内の
プロセスに対する接続を表わす。通信を開始しようとす
るプロセスによってオープン動詞が出されると、IPC
Fは、オープン動詞を出したプロセスと、オープン動詞
によって指定される目標プロセスの間に論理的接続を生
成させる。オープン動詞の目標はエンティティ名によっ
て識別される。オープン動詞は、オープン動詞に供給さ
れたエンティティ名に基づいて、プログラムの新しい段
階または既に実行中の段階に対する接続を確立する。
オープン動詞は、サーバ内のプログラム、及び接続され
るそのプログラムの実行段階(プロセス)を判定するた
めにIPCF及び関連するオペレーティング・システム
が使用するエンティティ名を含む。接続IDは、接続を
識別するもので、IPCFによって返される。接続ID
は、後続の操作でこの接続を参照するために使用される
。特定の接続IDは単一プロセッサ内でのみ知られてい
る。
接続された2つのプロセスは一般に、同じ接続ニ対して
異なる接続IDを有する。接続IDはローカルIPCF
によって割り当てられ、プロセッサ内で一意的である。
I PCFは、戻りコードを用いて、オープン動詞の完
了をプロセスに示す。
バス管理機構88は、図では、既に確立された幾つかの
論理的接続80によってホスト・プロセッサ56に結合
されている。図では、同様のバス管理機構88が、バス
装置52内にあり、同様に82で複数の接続を有する。
バス管理機構86は、第2図のバス装置中の38及び4
0で示されるバス転送機構によって実行されるのと同じ
機能を提供する。
バス管理機構86及び88は接続を管理し、バス54上
に作業要求の流れを制御するメツセージを出す。90及
び92で示される、バスをサポートするハードウェアは
、各バス装置についてバス・アービトレーションを実行
し、別のバス装置の主記憶装置に対するDMA転送を制
御し、更にバスの制御が得られてメツセージとデータの
転送が可能になるまでそれぞれのバス管理機構からのメ
ツセージを待ち行列に入れる。バス・ハードウェアはま
た、バス装置からのメツセージの主記憶待ち行列への入
力を制御する。
バス管理機構86は、バス装置52で出されるオープン
動詞によって起こる通信を受は取り、指示されたプロセ
スに対する接続を確立する。目標プロセス(すなわち、
サーバ・プロセス)のl 割子、要求元プロセスの識別
子、特定の装置が実行する作業の種類その他の情報を使
って、その接続に対する接続IDを、CG1、CG2、
・・・、CGnで示される複数の接続グループの1つに
割り当てる。これらの情報の一部は、バス装置52との
通信に含まれ、他の情報は主記憶装置58に含まれ、バ
ス装置52から供給された情報に基づいてアクセスされ
る。次にその情報に基づいて割当てが行なわれ、好まし
い一実施例では開発者が予め構成する。
接続グループは、作業要求の流れを制御するために使わ
れる。各作業要求は、プロセスのためにシステム資源を
必要とする。全作業要求が先入れ先出し方式で処理され
る場合、幾つかの高資源要求装置が、他の装置がサービ
スされるのを妨げることになる。
大量の主記憶資源を必要とする装置の一例はテープ駆動
装置である。テープ装置を、その最も効率的な動作モー
ドであるストリーミング・モードで動作させるには、大
きい主記憶バッフ1が必要である。複数のテープ駆動装
置を接続しようとし、各々が、ストリーミング・モード
で動作するときにデータを緩衝記憶するために大量の記
憶域を必要とする場合は、各テープ駆動装置に十分な資
源を割り当てると、直接アクセス記憶装置に割り振るの
に使用できる資源がほとんど残らなくなる。
テープ駆動装置を1つの接続グループに組み入れ、同時
に1台または2台だけが動作するのに十分な資源を割り
振ることにより、直接アクセス記憶装置が利用できる資
源がずっと多くなる。テープ駆動装置にも直接アクセス
記憶装置にも保証された水準のサポートが提供される。
5台のテープ装置が同時に動作することはまずあり得な
いので、全体的サービスの低下はない。
また接続グループを使って、幾つかのホスト・プロセス
にサービスするために資源が常に使用できるようにする
ことができる。その−例は、ホスト保管/復元プロセス
とそれに対応する入出カプロセスとの間のサーバ側接続
を、その接続だけを含む接続グループに入れることであ
る。すなわち、サーバ・プロセスは他のグループに対す
る接続を持つことができるが、資源は常にホスト保管/
復元作業要求を処理するために使用できる。
グループを割り当てるための1つの基準は装置の動作特
性である。テープ駆動装置等の大量データ移動装置はと
きどき使用されるだけであり、1つのグループに入れら
れる。主記憶装置へのページ・イン及び主記憶装置から
のページ・アウトを顛繁に行なう直接アクセス記憶装置
等の装置は、別の1グループに入れ、高水準のサービス
を砿保するために大量の資源がそのグループに割り振ら
れる。作業端末等の他の装置はさらに別のグループに入
る。十分な資源が使用可能な場合、各装置はそれぞれ独
自のグループを構成する。
装置のグループ分けを簡単に言うと、その装置に関連す
るプロセスへの接続が1つのグループに入れられる、と
いうことになる。接続のグループへの割当ては、さらに
、サービスされている作業要求の種類に基づいて行なわ
れる。エラー状態の処理及び保守に関連するその他の作
業要求に関係する接続は、そのような要求に対して最低
水準のサービスを保証するため、さらに別のグループに
入れてもよい。接続グループを使って資源を割り振り、
したがって作業の流れを制御することにより、大きな融
通性がもたらされることが分かる。
バス装置50がサーバとして働くとき、その各接続グル
ープは主記憶装置58内の第3図の制御ブロック120
にリストされる。制御ブロック120は、各接続グルー
プCGI〜nごとにGPID(グループIDを表わす)
と記した項目を含む。
欄122に示すカウンタは、GPID項目と関連してお
り、グループ内の接続を介して受は取ったがバス装置5
0内のプロセスによってまだサービスされていない作業
要求の数を記録するために使用される。活動接続ID(
CID)のテーブル125は、120の接続グループ項
目を指すポインタを存し、ある接続が含まれるグループ
を識別する。バス装置62も未処理の作業要求の数を記
録するための同様の機構を有する。
上記作業要求の流れの利点の1つは、接続グループ内の
(同じ優先順位を有する単一接続に対する)作業が、最
終的に要求元バス装置によって要求された順に処理され
ることである。したがって、1つのプロセスに対して、
ある優先順位のデータ書込み要求が複数発生した場合は
、たとえ、資源が使用可能でない時間があったとしても
、要求された順にデータが書き込まれる。このことはす
べて、要求元プロセスにとってトランスペアレントな形
で行なわれる。
次に第4図及び第5図を参照しながら要求元バス装置内
の流れ図について説明する。要求元バス装置から出る作
業要求を記録するために4つの待ち行列が使用される。
各待ち行列は、作業要求を指すポインタ、要求ID1及
びオープン・プロセス中に通信されるサーバ・バス装置
内の対応する接続グループを含む。送信準備完了待ち行
列は、サーバ・プロセッサに送られる準備ができた作業
要求をエンキューするため、通常の作業要求の流れで使
用される。送信準備完了待ち行列内の要求に対して操作
開始メツセージが送られると、ポインタは取り除かれ、
応答待機待ち行列に入れられる。操作終了メツセージを
受は取ると、その作業要求に対する項目がすべての待ち
行列から取り除かれる。この通常の流れを、第4図のブ
ロック150.152及び154で示す。なお、図面で
は待ち行列をQで表わしである。
作業要求に応答して待ち行列満杯標識が返されると、1
56で、完了待機待ち行列から拒絶待ち行列に移され、
待ち行列満杯メツセージを受は取ったという標識が、そ
の対象となる接続グループに関連づけられる。次に15
8で、その接続グループがこのとき使用可能な空間を有
することを示すQ空間フラグが検査される。このフラグ
は通常はオフであり、バス管理機構は通信の送受信を続
行する。このようにして、待ち行列満杯標識が返された
完了待機待ち行列上の各作業要求は、拒絶待ち行列に入
れられる。
第5図では、バス管理機構が、送信準備完了待ち行列内
の次の項目に対応する別の操作開始メツセージを送る準
備ができると、180で、サーバ・バス装置内の接続グ
ループに対する接続グループ満杯標識の有無について検
査する。接続グループ待ち行列が一杯であることを示す
場合は、162でその要求に対する項目が中間待ち行列
に入れられる。−杯でない場合は、164で操作開始メ
ツセージが送られ、166で、要求項目が完了待機待ち
行列に入れられる。
第4図の流れ図に戻って、168で要求元プロセッサが
待ち行列空間使用可能メツセージを受は取ると、170
でQ空間フラグがセットされ、識別された接続グループ
内で待ち行列満杯メツセージを受は取った項目の後に項
目があるかどうか完了待機待ち行列が検査される。完了
を待つすべての要求について待ち行列満杯メツセージが
返されていない場合は、174でバス装置は次の通信を
待ち続ける。
172で全部が肯定応答された場合は、176で拒絶待
ち行列から送信準備完了待ち行列の先頭に項目が移され
る。次に178で、要求項目が中間待ち行列から送信準
備完了待ち行列における拒絶待ち行列からの要素の後に
移され、180でQ空間フラグがリセットされる。18
2で待ち行列再開メツセージが送信され、184でバス
管理機構が送信準備完了待ち行列から送信を開始する。
第6図に、上記の流れで使用される待ち行列を示す。作
業要求に対応する待ち行列項目の流れを矢印で示す。送
信準備完了待ち行列200は通常、線202を介して完
了待機待ち行列210に項目を転送する。待ち行列満杯
状況を受は取った場合は、線222を介して完了待機待
ち行列210から拒絶待ち行列220に項目が転送され
る。その間に、送信準備完了待ち行列200で新しい作
業が開始されるとき、既に満杯の接続グループに対する
作業要求があることが検出された場合、その作業要求は
、線232を介して中間待ち行列230に転送される。
満杯の接続グループに向けられた完了待機待ち行列21
0からの全項目が拒絶待ち行列220に転送され、待ち
行列空間使用可能メツセージに応答して待ち行列再開メ
ツセージが送られると、拒絶された要求が線234を介
して送信準備完了待ち行列200の1番上に送り返され
る。次に、線236を介して、このとき他の作業に使用
可能な資源を有するグループに向けられた他の要求が、
送信準備完了待ち行列200の前に拒絶された要求の後
ろに転送される。
サーバ・バス装置での対応する流れを第7図及び第8図
に示す。250でサーバ・バス装置が操作開始メツセー
ジを受は取ると、252で接続グループが決定され、2
54でそのカウンタが増分される。カウンタの限界値を
使って、ある接続グループが任意の一時点で持ち得る未
処理の作業要求の数が指定される。256でカウンタの
値がカウンタ限界値と比較され、値が限界値よりも大き
い場合は、258で待ち行列満杯フラグがセットされ、
かつ280で待ち行列満杯状況がバス・エラー吠態メツ
セージで要求元バス装置に送られ、261で処理が継続
する。他の実施例では、使用可能な実際の資源が監視さ
れ、操作開始メツセージで示される作業要求にとって必
要とされる資源と比較される。カウンタの値は限界値よ
りも大きくないが、262で待ち行列満杯フラグがオン
であることが検出された場合は、260に戻り、操作開
始メツセージに応答して待ち行列満杯状況が送られ、そ
うでない場合は、264で要求の処理が続行し、266
で流れが継続する。250で受は取ったメツセージが操
作開始メツセージでない場合は、268でそれが待ち行
列再開メツセージかどうか調べるため検査される。違う
場合は、270で処理が継続する。待ち行列再開メツセ
ージである場合は、272で待ち行列満杯フラグがリセ
ットされ、274で処理が継続する。
待ち行列満杯状態を解消するには、サーバ・プロセッサ
はもっと多(の資源を割り振り、未処理 。
の要求の限度を増大させるか、または満杯接続における
要求の少なくとも1つに関する作業を完了しなければな
らない。この流れを第8図に示す。
作業要求が完了されると、280で関連する接続グルー
プのカウンタが減分される。282で操作終了メツセー
ジまたはバス・エラー状態メツセージのいずれかが送ら
れる。次に、284で待ち行列満杯フラグが検査され、
フラグがオフである場合は、285で処理が継続する。
待ち行列満杯フラグがオンにセットされている場合は、
286で接続グループ・カウンタが限界値未満であるか
どうか調べるための検査が行なわれる。この限界値はブ
ロック286で「低値」と呼ばれているが、前述の限界
値と同じである必要はない。多数の要求に十分な資源が
使用可能であるようにするため、さらに低い限界値を設
定することが望ましい。こうすると、要求元の待ち行列
の再開に続いて複数の要求が迅速に送られるという待ち
行列満杯がずっと続く状態をなくすのに役立つ。カウン
タが低値よりも小さくない場合は、287で処理が継続
する。286でカウンタが低値未満の場合は、288で
待ち行列空間使用可能メツセージが送られ、290で処
理が継続する。
好ましい一実施例では、X、25、LAN1SDLC及
びその他の通信プロトコルを実行するプロセスに対する
接続を含む各通信プロトコルごとに別々の接続グループ
がバス装置50内で定義される。
別のグループは、エラー処理プロセス接続を含む。更に
別のグループは、−船釣保守プロセスに関連する接続用
である。
さらに別のグループが、バス装置52によって制御され
るディスク駆動装置との間のデータ転送に関係するプロ
セスに対する接続等の通常の機能を含む。
接続グループの数が様々に変わっても、それは本発明の
範囲内に含まれる。プロセスによっては大量の資源を必
要とするものもあるので、そのような各プロセスに対す
る接続に対して単一の接続グループを設けることが望ま
しいことがある。どんな接続のグループ分けが望ましい
かは、実際のインプリメンテーシドンと、互いに通信し
合うプロセスの特性に応じて決まる。
ホスト・プロセッサ56内のプロセスと入出カプロセッ
サ66内のプロセスの間の接続を確立すると、バス管理
機構88は接続を完了し、そのプロセス接続を多数の接
続グループCGI、CG2・・・・・・CGnの1つに
割り当てる。したがって、別のプロセスに対する接続を
有するバス装置を含むシステムでの各プロセスごとに、
目標プロセスがあるプロセッサのバス管理機構は、その
接続をあるグループに割り当て、そのグループに割り当
てられた接続上の作業要求を処理するために使用される
資源を、その接続グループに割り振る。
流れ制御バス・メツセージ 接続グループが、そのグループに接続されたプロセスに
向けられた要求をプロセスするのに十分な資源を持たな
いときは、メツセージを制御し再同期するために、メツ
セージがバス管理機構間で転送される。目標バス装置が
特定の接続グループに対する追加の作業を受は入れるこ
とができないときは、待ち行列満杯状況を示すメツセー
ジを返す。この状況はバス・エラー状態メツセージ内に
含まれ、このメツセージのフォーマットを第9図に示す
。バス・エラー状態メツセージは、動作の正しい完了ま
たは継続を妨げる障害を報告するため、要求に対する通
常の応答の代わりに返される。
バス・エラー状態メツセージが送られるその他の幾つか
の状態には、メモリ・アクセス要求におけるアドレッシ
ング・エラー、フォーマット・エラー、及び未定義メツ
セージまたはサポートされていないメツセージの受取り
がある。他の幾つかの状態でも、バス転送機構の物理的
インプリメンテーシヨンに応じて、このメツセージの送
信が必要となることがある。
バス・エラー状態メツセージ内の予約と記されたフィー
ルドは、将来の使用のために予約されている。バス装置
フィールドは、メツセージの出所を識別するために使用
される。これは本発明では無視される。3番目のフィー
ルドであるメツセージID(82)は、メツセージをバ
ス・エラー状態メツセージとして識別するために使用さ
れる。
制御フィールドは、障害に出会うている固有の要求また
は接続を識別するための情報を含む。このフィールドの
内容は、障害及び障害に出会っている特定の転送メツセ
ージ/DMA及び流れの方法によって決まる。CFID
フィールドは制御フィールドの内容を識別する。様々な
値で、制御フィールド内の情報が要求元ID、またはサ
ーバ接続ID1または制御ブロックのアドレス等である
ことを示す。それは、メツセージが送られた理由、及び
誰が送ったかに依存する。ACTNフィールドは、講じ
るべき回復処置を識別する。ある値は、処置が講じられ
ないことを示し、別の値は接続のクローズ開始を要求し
、別の値は、通信を再同期するためのリセットを引き起
こす。
待ち行列満杯状態はエラー状況フィールドで示され、そ
の後に満杯になった接続グループを識別する接続グルー
プIDが続く。これは、アドレスされたバス装置によっ
てメツセージが実行されなかったことを示す。制御フィ
ールドは、待ち行列満杯状況が示されるとき、異なった
値を含む。このフィールドは、データが転送される方式
に応じて、制御ブロック・アドレス、または要求元のよ
りを含むことがある。データを転送する種々の方式につ
いては、本明細書の流れ制御の部分でさらに説明する。
またエラー状況フィールドは、上記のような他のエラー
状態の状況を識別するためにも使用される。
待ち行列満杯状況を要求元バス装置に送った後、それを
送った目標バス装置のバス管理機構は、接続グループに
サービスするのに十分な資源がいつ使用可能か判定する
ため、当該の接続グループを監視する。
目標バス装置が、その特定の接続グループ内で使用可能
な空間を有するときは、待ち行列空間使用可能メツセー
ジを要求元バス装置に送る。待ち行列空間使用可能メツ
セージは、待ち行列空間が使用可能であることを要求元
のバス管理機構に示すために使用される。このメツセー
ジは、バス装置が待ち行列満杯状況を要求元バス装置に
送った後に始めて、該バス装置によって送られる。この
メツセージは、どの接続グループが使用可能な待ち行列
空間を有するかを示す。待ち行列空間使用可能メツセー
ジのフォーマットを第10図に示す。
4つの予約フィールド、メツセージIDフィールド、及
び使用可能な待ち行列空間がある接続グループを一意的
に定義するグループ・フィールドがある。
要求元バス装置は待ち行列空間使用可能メツセージを受
は取り、目標バス装置上のその接続グループに送られた
作業要求の数を決定する。通信は非同期的に行なわれ、
要求元バス装置のハードウェアに内部的な待ち行列遅延
があり得るので、要求元バス装置が、作業を開始するた
めにより多くのメツセージを既に送ってしまっている可
能性がある。
再度送るべき通信、すなわち、待ち行列満杯状況を返さ
せたメツセージよりも時間的に後で生じ、かつ満杯の接
続グループに向けられた通信が識別されると、要求元バ
ス装置のバス管理機構は待ち行列再開メツセージを出す
。このメツセージは、目標プロセッサ内の接続グループ
に順番通りでなく受は取られたメツセージがないことを
確認するために使用される。待ち行列空間使用可能メツ
セージが出された直後に接続グループがメツセージの受
取りを開始する場合は、ある作業が順番通りでなく処理
されることがあり得る。これは、要求元バス装置が待ち
行列満杯状況を受は取る前に要求元バス装置から出され
、かつ待ち行列空間使用可能メツセージの発生後に、目
標バス装置管理機構に受は取られたメツセージによって
開始される作業である。
待ち行列再開メツセージのフォーマツトラ第11図に示
す。このフォーマットは、メツセージ(OD)IDフィ
ールドでそれがどのような種類のメツセージであるか識
別し、グループ・フィールドで、その待ち行列を再開す
るための接続グループを識別する点で、待ち行列空間使
用可能メツセージに類似している。目標バス装置のバス
管理機構は、待ち行列再開メツセージを受は取るまで、
作業開始の各メツセージに対して待ち行列満杯状況を返
す。
メツセージの流れの例 第12図に、目標バス装置内の接続グループに′ついて
の待ち行列満杯に応答して行なわれるメツセージの交換
を示す。目標バス装置はサーバと記し、要求元バス装置
は要求元と記しである。要求元とサーバの間の矢印は、
各メツセージを受は取ったバス装置を指す。かっこ内の
数字はメツセージの順序を示している。次に、各事象を
それらが第12図で現われる順に列挙する。
1、要求元プロセッサは、作業を開始するメツセージを
サーバ・プロセッサに送る。このメツセージは操作開始
(1)メツセージ(後はど定義する)と呼ばれる。
2、サーバ・プロセッサは、操作開始メツセージが向け
られた接続グループに対する待ち行列満杯状況を認識し
、待ち行列満杯状況を含むエラー・メツセージを返す。
3、バス装置が非同期であるため、要求元は待ち行列満
杯状況にまだ気づかず、第2のメツセージ、すなわち操
作開始(2)をサーバに送る。
4、サーバは前の作業要求を完了していると、操作終了
メツセージを送って、そのことを要求元に知らせる。
5、サーバは前の作業要求を完了したので、使用可能な
資源、すなわち、使用可能な待ち行列空間を有し、待ち
行列空間使用可能メツセージを要求元に送る。
6、要求元のハードウェアの待合せ遅延のため、要求元
は待ち行列満杯状況を認識しておらず、操作開始(3)
メツセージを送る。
7、サーバは、待ち行列再開メツセージを受は取るまで
、待ち行列満杯状況を要求元に返し続けなければならな
い。したがって、サーバは、操作開始(2)メツセージ
を認識したのに応答して待ち行列満杯(2)状況を返す
8、次に、サーバは操作開始(3)メツセージを認識し
、待ち行列満杯(3)メツセージを返す。
9゜次に、要求元は操作開始(1)、(2)及び(3)
に対する待ち行列満杯状況及び待ち行列空間使用可能メ
ツセージを認識し、どのメツセージを送り直さなければ
ならないか、及びそれらを送る順序を決定した後、待ち
行列再開メツセージを送る。
to、11.12.要求元プロセッサは操作開始メツセ
ージを正しい順序で送り直す。
作業がサーバにより完了されると、作業が完了したこと
を示す操作終了メツセージが要求元バス装置に送られる
データの流れ 第1図の好ましい実施例では、バス装置50及び52の
バス・ハードウェア90及び92は、直接メモリ・アク
セス(DMA)機能を有するものとして示されている。
この機能は、今日、大部分のバス装置に存在する標準的
なハードウェア機能である。マスクDMA機能を有する
バス装置は、スレーブDMA機能を有するバス装置内の
プロセッサに割り込むことなく、このスレーブDMAバ
ス装置の主記憶装置に直接アクセスすることができる。
その動作は本発明の完全な理解にとって8認ではないの
で、詳しく説明しない。
バス装置50はスレーブDMAハードウェア90ををす
る。好ましい実施例では、バス装置50はホスト・プロ
セッサである。スレーブDMAハードウェア90は、ホ
スト・プロセッサ56に割り込むことなく、他のバス装
置にその主記し・す装置58をアクセスさせることがで
きる。したがって、ホスト・プロセッサ56が主記憶装
置58にアクセスするための線60は、バス管理機構8
6にも接続され、また、スレーブDMAハードウェア9
0が主記憶装置58に直接アクセスできるようにスレー
ブDMAハードウェア90にも接続されている。このた
め、マスクDMAハードウェア92を有するバス装置5
2等の別のバス装置が、ホスト・プロセッサ56に割り
込むことなく、バス装置50の主記憶装置58にアクセ
スすることができる。スレーブDMA機能のみを備えた
バス装置は他のバス装置の主記憶装置に直接アクセスす
ることができず、一方、マスクDMA機能のみを備えた
バス装置は、他のバス装置にその主記憶装置の直接アク
セスを試みさせることができない。
バス装置52内のプロセスがバス装置50内のプロセス
に作業要求を送る場合、実際のデータ転送はこれらのプ
ロセスにとってトランスペアレントな形で行なわれねば
ならない。IPCF72及び74は、これらのプロセス
が作業を処理するために使用する動詞インターフェース
である。サーバ・プロセスは、要求元によって識別され
たデータに自分のペースでアクセスする。この場合のサ
ーバ・バス装置はスレーブDMA機能しかもたないので
、IPCF及びプロセスに対してトランスペアレントな
形でデータを得るための手段が設けられる。
各バス装置が完全なりMA機能を有することが保証され
た通常の流れでは、バス管理機構88は、プロセスが作
業要求を送ろうとしていることを示す情報をIPCF7
4からのI PCF動詞から受は取る。バス管理機構8
8は次に、操作開始メツセージを送って、行なうべき作
業があることをバス管理機構86に通知する。操作開始
メツセージのフォーマットを第13図に示す。このメツ
セージは、サーバ・バス装置50内のバス管理機構86
が、可能ならば制御情報及びデータ・アドレスを指定す
る要求/応答制御ブロック(RRCB)をバス装置52
の主記憶装置68からバス装置50の主記憶装置58に
移すのに十分な情報を有する。RRCBを第14図及び
第15図にさらに詳細に示す。バス管理機構86は次に
、ホスト・プロセッサ56内の意図されたプロセスに対
し、このプロセスによって待ち行列に入れられる未処理
の作業要求があることをIPCF72を介して通知する
ことができる。プロセスは次にその要求を実行するが、
それにはバス装置間でのデータ移動が必要となる。バス
装置間のデータ転送を制御するために、このとき主記憶
装置58にあるRRCBのコピーがバス管理機構86で
使用される。操作終了(第16図参照)メツセージがバ
ス管理機構88に送られることにより、要求された動作
が完了したことが知らされ、バス管理機構88はIPC
F74を介して要求元プロセスに通知する。
上記流れの問題点は、第1図のように実施された場合、
バス・ハードウェア90が主記憶装置68を直接アクセ
スできないことである。たとえバス・ハードウェア90
がマスクDMA機能を有しているとしても、スレーブD
MA機能も持たねばならない。この問題点は、記憶リス
ト制御ブロック及び幾つかの新しいバス・メツセージを
使って、ホスト・バス装置50の主記憶装置58内のバ
ッファの管理権をバス装置52のバス管理機+i488
に与えることによって解決される。こうすると、通常の
作業の流れに従って、要求元のバス管理機構88が、そ
の要求に関係するデータをサーバの主記憶装置58内の
バッファに転送し、次にサーバがデータをバッフ1から
サーバ・プロセスの使用可能な記憶域に転送することが
できる。したがって、データの流れはI PCF?2に
は正常に見える。RRCBは通常通り、サーバがアクセ
スしなければならないデータがどこにあるかを示すため
に使用される。要求元のバス管理機構88は、データが
主記憶装置58内のバッファにあるようにするだけであ
る。次に、RRCB及びメツセージについてさらに詳細
に説明する。
RRCBを第14図及び第15図に示す。RRCBは、
作業要求、及びそれに関連するデータを識別するために
使用される。RRCBは制御ブロックであり、バス装置
間のデータ移動を制御するために、要求元バス装置内の
バス管理機構及びサーバ・バス装置内のバス管理機構に
よって使用される。RRCB内の情報は物理的DMAプ
ロセスのために使用される。RRCBの内容は読取り専
用であることが好ましい。これらの内容は、サーバ・バ
ス装置内のバス管理機構によって変更または修正されな
い。
RRCBは、要求元のバス管理機構によって指定される
、最大4088バイトまでの任意の長さでよい。要求元
による固定ブロック・バッファ管理を容易にするため、
RRCBをセグメント化し、互いに連鎖することができ
る。固定ブロックが、たとえば512バイトの長さであ
り、RRCBがそれよりも長い場合は、RRCBは、何
らかのヘッダ情報を含む第1のタイプのセグメントと、
第15図に示す複数の第2のタイプのセグメントに分割
される。これらのセグメントのいずれも固定ブロックよ
りも長くない。RRCBの第1のタイプの最初のフィー
ルドは、バイトで表わしたRRCB全体の長さである。
この長さはRRCBセグメントのすべての長さの和であ
る。RRCBタイプ・フィールドは、それが第1のタイ
プのRRCBセグメントであることを指定する。サーバ
接続IDはこの要求に対する目標プロセスの識別を指定
する。要求優先順位フィールドは、サーバ・プロセスの
入力待ち行列に要求項目を挿入するときにサーバ・プロ
セッサによって使用される優先順位を指定する。フラグ
・フィールドは、サーバが確定応答を必要とするのか、
それとも例外応答のみを必要とするのかを規定する。要
求元RIDフィールドは要求の識別を指定する。これは
要求元にのみ知られる。
拡張状況ポインタは、拡張状況(状況に対して許容され
る設計寸法を超える状況データ)を入れることができる
区域のアドレスを指定する。好ましくは、この区域は使
用可能でなければならず、使用前に要求元のバス管理機
構によりOにセットされねばならない。アドレスは、要
求元によって管理されるRRCB記憶域と同じ記憶域に
対するものである。
第1のタイプのセグメントの残りの部分は、第2のタイ
プのセグメントと同じである。それは、記述要素によっ
てデータ・フラグ・フィールドに記述されるデータのタ
イプを指定する複数の記述要素ワードから成る。データ
・フラグ・フィールド内の記述子のタイプは、要求、サ
ーバの記憶装置から要求元記憶装置へのデータ入力、要
求元記憶装置からサーバの記憶装置へのデータ出力、ま
たはさらにセグメントが必要とされるときの次のRRC
Bに対するセグメント・リンク等の記述子のタイプを識
別する。RRCBセグメント・リンク記述要素は、別の
RRCBセグメントがある場合に、RRCBセグメント
の終りに現われなければならない。データ・フラグ・フ
ィールド内の記述子フォーマット・フィールドは、デー
タ・・ワードで開始し、最大44バイトにわたって続く
即値データが左寄せされることを指定するために使用さ
れる。要求記述子またはデータ出力記述子は、例えば、
データをどこに、またはどこからDMA転送するかを識
別するためのバス装置番号とデータ・アドレスを含む即
値データまたは参照である。
バス装置番号は、参照記述子形式が指定されるときは常
に現われなければならない。データ・フラグ・フィール
ドは、次のフィールドのアドレスが参照するバス装置を
、バス装置番号によって識別する。
データ長フィールドは、次のアドレス・フィールドで指
定されるフィールドのデータの長さをバイトで指定する
。それは、連続した実記憶域を指定する符号なしの整数
値である。データは8バイトの倍数になるまでOを埋め
込まれる。
データ・アドレス/データ・フィールドはアドレスまた
は即値データのいずれかとして使用される。このフィー
ルドは、RRCBのセグメントの前のワードのデータ・
フラグ記述子フォーマットで即値データが指定される場
合は、即値データである。そうでない場合は、アドレス
である。このアドレスは、サーバの記憶装置、要求元の
記憶装置、または図示しない第3のバス装置の記憶装置
のアドレスである。このアドレスは、他方のフロセッサ
の記憶装置との間で、またはサーバ記憶装置中の要求元
によって制御されるバッファ中でDMA動作を行なうた
めに、サーバ・バス管理機構によって使用される。
バッファ管理メツセージ バッファ管理権は2つのバス管理機構の間でやり取りさ
れる。一方のバス装置は、他方のバス装置が使用し管理
する遠隔記憶域をその主記憶装置内に提供する。この実
施例では、バス装置52は、ホスト・プロセッサ56に
緊密に結合された主記憶装置58内のバッファの管理権
を有する。バス装置52のプロセッサ66は、その必要
を満たす目的のために主記憶装置58内の遠隔記憶域を
使用することができる。遠隔記憶域は、プロセッサ66
からはそれ自体の記憶装置の論理的拡張部分に見える。
バス装置52は、バス管理機構88から送られる記憶域
要求バス装置メツセージにより遠隔記憶域に対する要求
を行なう。記憶域要求メツセージのフォーマットを第1
7図に示す。通常のシステムの立上げの直後に、ホスト
の遠隔記憶域を得るためにバス装置がこのメツセージを
使用する。
記憶域要求バス装置メツセージはまた、遠隔プロセッサ
が使用可能なバッファを他に持たないときにも送られ葛
。要求されたバッファの長さはバッファ長フィールドで
指定できる。ローカル・プロセッサは、要求されたバッ
ファ・サイズヲti 供テきないことがあるが、それよ
り大きなサイズのバッファが設けられている場合には要
求を滴たす。それよりも小さいサイズのバッファは設け
られない。
いくつかの予約フィールドが示され、0として指定され
ている。メツセージID(08)フィールドは、メツセ
ージを記憶要求バス装置メツセージとして識別する。記
憶域サイズ・フィールドは、バイトで表わした要求され
た記憶域の長さである。
好ましい実施例では、単一メツセージで要求できる最大
の記憶域は85535バイトである。バッファ長フィー
ルドは、要求されるバッファの最小の長さを指定する。
したがって、要求された全記憶域サイズが溝足されない
ことがあるとはいえ、1つのバッファさえ設けられれば
、それは少なくともバッファ長フィールドの値と同じ長
さになる。
記憶域リスト使用可能バス装置メツセージ及び記憶域リ
スト制御ブロック(SLCB)は、記憶域要求バス装置
メツセージに応答して、ローカル・バス装置内のバス管
理機構によって送られる。5LCBは、遠隔バス装置が
使用できるバッファのリストをローカル・バス装置の記
憶装置内に提供する。記憶域要求に応答してのみ、1つ
の記憶域リスト使用可能メツセージ/5LCBだけが送
られる。
記憶域リスト使用可能バス装置メツセージのフォーマッ
トを第18図に示す。フラグ・フィールドは、記憶域が
使用可能である、資源が使用可能でなく記憶域が提供さ
れない、あるいは要求された大きさのバッフ1が使用可
能でなく要求に応じて提供されない、といったタイプの
応答を示す。
メツセージID(07)フィールドは、これが記憶域リ
スト使用可能バス装置メツセージであることを識別する
。5LCBアドレス・フィールドは、遠隔記憶域を含む
バス装置記憶装置内の5LCBめ実アドレスを指定する
。このフィールドは、記憶域が使用可能であることをフ
ラグ・フィールドが示す場合にのみ有効である。長さフ
ィールドはローカル・バス装置の記憶装置内の5LCB
の長さを示す。
5LCBのフォーマットを第19図に示す。バス番号フ
ィールドは、このバス装置がローカル・バス装置内で現
われるバス番号を指定する。好ましい実施例では、最大
8本の異なるバスがある。
バス装置フィールドは、この5LCBが向けられる遠隔
バス装置のバス装置番号を指定する。バッファの数及び
それらの長さが次の2つのフィールドで指定される。こ
のフィールドが記憶域リスト使用可能メツセージ中の長
さフィールドと一致するようにするのは、ローカル・バ
ス装置内の送信機構の責任である。
遠隔記憶域を含むバス装置内のバス管理機構は同じバス
装置上の主記憶装置の一部を管理する。
このバス管理機構は主記憶装置内のバッファを監視し、
主記憶装置を要求する他のバス装置に制御権を与える。
したがって、接続及び他のバス装置はバス管理機構を介
して主記憶装置内のバッファを争奪する。
バッファ・アドレス・フィールドは、ローカル・バス装
置内でバッファの実記憶アドレスを指定するために使用
される。これは、「バッファ数」フィールドで指定され
たバッファの数を溝たすために、必要な回数だけ反復さ
れる。
遠隔バス装置が、5LCBで指定された遠隔記憶域にも
はやアクセスする必要がないことを示す記憶域リスト完
了バス装置メツセージが、遠隔バス装置のバス管理機構
から送られる。遠隔記憶域の返却はまた、マスクDMA
を備えた別のバス装置に対して記憶域を使用可能にした
スレーブDMA機能を備えたバス装置によって開始され
ることがあり、その場合、記憶域リスト返却バス装置メ
ツセージが未使用のバッファを返すべきことを示す。
記憶域リスト完了メツセージはまた、記憶域リスト返却
メツセージで指定された要求を充たすことができないこ
とを示すために使用される。
記憶域リスト完了メツセージのフォーマットを第20図
に示す。フラグ・フィールドは記憶域リストの通常の返
却、または返却要求の拒絶を指定する。フラグ・フィー
ルドは、通常の返却がリスト全体について行なわれるこ
と、記憶域リスト返却メツセージに応答して返却がなさ
れること、記憶域リスト返却メツセージで示される特定
のサイズのバッファの返却が行なわれていること、ある
いは、要求された記憶域が見つかったが使用する必要が
あり返却できないことを示すことができる。
5LCBアドレス−フィールドは、ローカル・プロセッ
サ内の5LCBの実アドレスである。記憶域リスト返却
メツセージがバッフTの長さを含み、バッフ1が記憶域
リスト完了メツセージで返却されていないときは、バッ
ファ長フィールドは、記憶域リスト返却メツセージで指
定されるバッファの長さを含む。
記憶域リスト返却メツセージのフォーマットを第21図
に示す。要求元は、要求されたバッファ・サイズを有す
る任意の記憶域リストを返却すべきであると指定でき、
あるいは返却される特定の記憶域リストを識別すること
ができる。このバス装置メツセージのフラグ・フィール
ドは、指定されたサイズのバッファを有する任意の記憶
域リストまたは特定の記憶域リストを返却するかどうか
を示す。記憶域リストの制御権が遠隔バス装置制御から
ローカル・バス装置制御に渡されることは、上述の記憶
域リスト完了バス装置メツセージによって示される。メ
ツセージID(09)フィールドはこのメツセージを記
憶域リスト返却メソセージとして識別する。アドレス・
フィールドは、特定のリストが要求されていることをフ
ラグ・フィールドが示す場合に返却される、記憶域リス
トのアドレスを指定する。バッファ長フィールドは、特
定の記憶域リストが要求されていない場合に、この要求
で返却されるバッファの長さを指定する。
第22図に、記憶域リストと関連する流れを簡略化して
示す。マスクDMAを備えた要求元バス装置を図の右側
に示し、その下にメツセージを列挙する。スレーブDM
Aを備えたサーバ・バス装置は図の左側に示す。各操作
を、以下のようにステップエないしステップ6と名付け
、説明する。
1、マスクDMA機能を備えた要求元プロセッサ内のバ
ス管理機構は、記憶域リスト要求メツセージを送ること
により、バッファを必要とすることをサーバ・プロセッ
サに知らせる。
2、サーバ・プロセッサ内のバス管理機構は、記憶域リ
スト制御ブロック5LCBが要求元プロセッサにとって
使用可能であることを示すメツセージを送る。
3、遠隔バス管理機構は5LCBの全部または一部をそ
の記憶装置にDMA転送する。
4、要求元プロセッサ内のバス管理機構は所望のバッフ
ァを使用する。
5、サーバ・プロセッサ内のバス管理機構が1日の終り
等のある種の遮断を行なおうとし、あるいは、バス装置
がピーク負荷を過ぎているのに、記憶域を返していない
場合、記憶域リスト返却メツセージを要求元プロセッサ
に返す。
6、要求元プロセッサ内のバス管理機構は、もはや必要
でない5LCBを示す記憶域リスト完了メツセージを送
る。
第23図で、スレーブDMA機能のみを有するバス装置
のバス管理機構がバスを介して通信を受は取ったとき、
300で、その通信が記憶域要求であるかどうか判定す
るために検査を行なう。そうである場合は、ブロック3
02.304及び306に示すように、バス管理機構は
、周知の記憶管理技術を使って、要求を溝たすためにシ
ステム記憶管理機構に主記憶装置を要求する。バス管理
機構は、その記憶域に対して管理責任を負うことを識別
するため、許可された記憶域を拘束す生。
管理責任には、別のバス装置がその記憶域を独立に使用
しないというある水準の保証のもとて記憶域の読取り及
び書込みを行なう能力が含まれる。
次いでバス管理機構は記憶域を、要求された数のブロッ
クにブロック化し、記憶域リスト制御ブロック5LCB
を組み立て、記憶域を要求するバス装置を許可されたブ
ロックの記憶アドレスに接続するポインタを保持する。
バス管理機構は次に要求元バス装置に記憶域リスト使用
可能メツセージを送り、308で処理を継続する。
ブロック300に戻り、バスの通信が記憶域要求でない
場合は、310で、記憶域リスト完了メツセージである
かどうか判定するため、通信が検査される。そうである
場合は、312で識別された記憶域がシステム記憶管理
機構に返され、記憶域管理権を返却したバス装置を指す
ポインタが削除される。314で処理が継続する。ブロ
ック310で記憶域リスト完了メツセージが検出されな
い場合は、316で処理が継続する。
ホスト自体が記憶域が返されることを望んでいることを
示す要求を、スレーブDMAのみを備えたバス装置のバ
ス管理機構が受は取った場合は、ブロック330で、第
24図に示す流れに入る。
そのような要求は、オペレータによる遮断コマンドの結
果として、または、ある種の時刻割込みによって発生す
ることがある。いずれにしても、記憶域返却要求を受は
取ると、バス管理機構は、別のバス管理機構によって管
理されているために拘束されている記憶域を調べ、返却
すべき記憶域を選択する。バス管理機構が使用量に関す
るある種の統計を保持することもでき、あるいは要求で
、遮断すべき装置の種類を指定することもできる。
このようにして、バス装置は、返却を要求する記憶域に
関して選択的である。332で、記憶域を返却するため
のバス・メツセージが所望のバス装置に送られる。バス
装置は、第23図の流れに示すように、記憶域リスト完
了メツセージを返す。
次に、334で処理が継続する。
遠隔記憶管理機槽はまた、システムの処理能力を均衡さ
せるために使用することもできる。バス装置が十分な主
記憶装置を持たない場合は、ホストの主記憶装置内のバ
ッファの使用を要求することができる。十分なバス処理
能力がある場合、バス装置の処理能力を高めることがで
きる。システムは他のバス装置の処理能力を容易に追跡
して、作業要求に対する応答が遅いバス装置により多く
の遠隔記憶域を割り振ることができる。ホストの主記憶
装置が余りにも多く遠隔的に管理されている場合は、割
り振られた量がホストの処理能力の潜在的な低下によっ
て相殺されるはずである。
逆の流れ 上述のように、作業要求の通常の流れは、ホスト・プロ
セッサ56から入出カプロセッサ66に向かう。それに
は、入出カプロセッサ66に結合された補助記憶装置に
対するデータの読取り及び古込み、あるいは入出カプロ
セッサ66を介する通信の開始等の作業が含まれる。マ
スクDMA機能を備えた入出カプロセッサ66及びスレ
ーブDMA機能を備えたホスト・プロセッサ56がある
と、この関係に理想的に適合する。入出カプロセッサで
あるサーバは、ホストに割り込むことなくデータのr送
を駆動する。
作業要求をホストに送るプロセスを入出カプロセッサ1
6が有することが一般的になってきた。
そうすると、作業に関連するデータの逆の流れが生じる
。ホストは入出カプロセッサからデータをDMA転送で
きないので、入出カプロセッサは、前述のメツセージを
用いて得た、ホストの主記憶装置内の遠隔バッファを使
用する。
次に、逆の流れの一例について第25図を参照しながら
説明する。マスクDMA機能を備えた要求元バス装置、
すなわち、入出カプロセッサ66は、図の右側に示すス
テップを実行し、スレーブDMA機能を備えたサーバ・
バス装置、すなわち、ホスト・プロセッサ56は、図の
左側に示すステップを実行する。1ないし10の番号を
付したステップについて説明する。
1、要求元プロセスはプロセス間動詞インターフェース
における要求をプロセス間機構、すなわち、第2図のI
PCF74に出す。
2、バス管理機構88はホスト・プロセッサの主記憶装
置58内で十分な大きさのバッフ1を得(まだ持ってい
ない場合)、バス・ハードウェア92を介してマスクD
MA動作を開始して要求をサーバ・バス装置50内の遠
隔記憶域に移す。
3、要求元のバス管理機構88はバッファ内へデータを
DMA転送する。
4、バス管理機構88は次にサーバ記憶装置のバッファ
内へRRCBをDMA転送する。RRCBはこのとき、
ステップ2及び3でサーバ・バス装置内の遠隔記憶域内
へDMA転送された要求及びデータのサーバ記憶装置内
でのアドレスを使用する。
5、要求元プロセッサ66内のバス管理機構88は、R
RCB及びデータがサーバ記憶装置内にあることを示す
操作開始バス装置メツセージをサーバ・プロセッサに送
る。操作開始メツセージが送られた時点で、プロセス間
機構を使用するプロセスに関連するすべてのデータは、
サーバの記憶装置内へDMA転送されている。
6、要求はプロセス間機構72によってサーバ・プロセ
スに渡される。
7、サーバ・プロセスは、サーバのローカル記憶装置に
ある必要なデータを要求する。バス管理機構88は依然
としてバッファの制御権をもつが、バス管理機構86は
、操作開始メツセージを処理しながら、これらのバッフ
ァにアクセスすることができる。サーバ・プロセスのバ
ス管理機構86は、サーバ・プロセスがアクセスできる
主記憶装置58の区域にそのデータを転送する。
8、サーバ・プロセスが要求された操作を完了すると、
IPCF動詞を使ってプロセス間機構72にそのことが
知らされる。
9、サーバ・プロセッサ56内のバス管理機構8Bは、
状況情報を含む操作終了メツセージを出す。このメツセ
ージは、バス管理機構86によってバッフ1に入れられ
た応答を要求元プロセッサ68内のバス管理機構88に
知らせる。そのような応答を検索した後、ノ(ス管理機
構88は、次のものが使用できるようにバッファを解放
し、要求された操作が完了したことを要求元プロセスに
示す。
10、プロセス間機構74は次に、操作が完了したこと
を要求元プロセスに知らせる。
信 メツセージによる逆の流れ 信号バス装置メツセージのフォーマットを第26図に示
す。信号バス装置メツセージはバス管理機構が出し、短
いメツセージを別のプロセッサ内のプロセスに転送する
ために使用される。1回の使用で一度に4文字までのデ
ータ転送が含まれる。
信号メツセージを送るバス管理機構は、信号メツセージ
の受信側が応答を送ることを要求しない。
要求元とサーバ囃プロセスの間で上位レベルのプロトコ
ルによる応答があり得るが、好ましい実施例ではバス管
理機構は何も要求しない。信号メツセージの送信側は、
信号メツセージをサーバ・バス装置が受は取ることを保
証できない。信号メツセージのための流れ制御機構は存
在しない。たとえば、受信側プロセスが記憶域を得るこ
とができなかったので、信号を実行できないと送信側に
知らせるための機構はない。このため、応答が必要でな
い場合に融通性が得られる。作業要求ではなく信号メツ
セージを使用するとオーバーヘッドが少なくなる。RR
CBは必要でない。
信号メツセージは2つの予約フィールドを含み、これら
の予約フィールドは好ましい実施例ではOである。2x
フイールドはバス装置メツセージのタイプを定義するた
めに使用される。このフィールドの2は、これを信号バ
ス装置メツセージとして定義する。Xはユーザ・データ
・フィールドの内容を指定する。信号メツセージのタイ
プは次の通りである。
20−アテンシ1ン(受信側への警告用)21−即値デ
ータ −1ノくイト 22−即値データ −2バイト 23−即値データ −3バイト 24−即値データ −4ノ(イト 25−即値エラー・データ 26−即値ユーザ・タイプ1データ 27−即値ユーザ・タイプ2データ 28−即値ユーザ・タイプ3データ 29−即値ユーザ・タイプ4データ 2A−2F−将来の使用のため予約されて℃)る。
メツセージのユーザ・データ・フィールドは、ユーザ定
義データ、すなわち、即値データを含む。
このフィールドの即値データは左寄せすることが好まし
い。目標CIDフィールドはこのバス装置メツセージの
目標プロセスを識別する。
マスクDMAを備えたバス装置からの作業要求及び関連
データを転送する立任を逆にして、マスクDMAを備え
たバス装置によって転送されるようにするための機構を
もたらすために、信号メツセージの変形を使用する。第
27図に示すように、遠隔記憶域パージロンの代わりと
して異なる形式の信号メツセージを使用する。逆の流れ
のバージョンを実施することはたやすいが、逆の流れの
遠隔記憶域パージロンがもたらすのと同じ保証を与えな
い。
入出力バス装置がホスト・バス装置で信頼性/可用性/
保守容易性(RAS)タイプのプロセスに対する要求を
開始する必要があるときは、第27図に示すフォーマッ
トの信号メツセージを送る。
ユーザ・データは、検索されるレコードの長さを示す2
バイトの長さフィールド、及び2バイトのオフセットと
して定義される。オフセット・フィールドは、入出力バ
ス装置によって割り当てられる、符号化された値であり
、信号メツセージを3つのタイプの信号メツセージの1
つに応答して発生される作業要求に関連づけるための追
跡機構として使用される。入出力バス装置の作業要求に
対応するタイプは以下のように定義される。
26−タイプ1の要求 −エラー・データ27−タイプ
2の要求 −資源データ 28−タイプ3の要求 −テスト・データ他のタイプは
容易に識別することができる。
RASタイプのプロセスは入出力バス装置からのタイプ
要求を検索し、要求中の信号メツセージのタイプ・フィ
ールド、オフセット・フィールド及び長さフィールドの
値を返す。入出力バス装置は要求に応答して、識別され
たタイプ要求コマンド及び関連データを返す。これらの
タイプ要求それぞれのフォーマットは、以前の逆の流れ
方式を使って、または通常の流れによって送られた場合
と同じになる。
この逆の流れ方式の1つの使用例は、エラー・データを
検索する際に見られる。信号メツセージを受は取ったホ
ストは、コマンド・バイト及び関連データを検索するた
めの作業要求を送る責任がある。以下の作業要求フィー
ルドは、所与の信号メツセージ・フィールドを含む。
目標−タイプ アドレス−オフセット GETMAX−長さ 入出力バス装置は次に、タイプ1.2または3の要求に
対応するプロセスの要求された待ち行列の1つから、次
の使用可能な項目をFIFO順に返す。
長さフィールドは、入出力バス装置が返すデータの長さ
を指定する。たとえば、返すことができる最大炎は、好
ましい実施例においては、送られる信号メツセージのタ
イプが与えられていれば、タイプ1.2及び3に対して
それぞれ268.272、または48である。ただし、
バイトで表わした入出力装置内の作業要求の実際の長さ
と、関連データの和がそれよりも小さくなることもあり
得る。入出力バス装置の作業要求は、関連データの実際
の長さを指定する。
システムの待合せ限度またはエラー状態により信号メツ
セージが失われる可能性があるので、メツセージを迅理
するためのシステム待ち行列のサイズは最小にすること
が好ましい。少なくとも、EN要求に対して17個の信
号、タイプ2の要求に対して24個の信号、及びタイプ
3の要求に対して16個の信号があれば、信号メツセー
ジを失うことなく、大部分の状況に対処することができ
る。
これらの数はパス装置資源サポートがどんなタイプであ
るかに大きく依存しており、ここではバス装置が直接ア
クセス記憶制御装置である好ましい実施例として上記の
数字を提示した。
上記の数は、入出力バス装置の作業要求を含む入出力内
部バッファ内の項目数である。項目がホストの作業要求
でそれらのバッフ1からクリアされず、しかもバッファ
が溝杯の場合は、エラー・データ・タイプが送られる。
信号メツセージのオフセット値は、信号メツセージが失
われたかどう、か判定するための追跡手段として使用さ
れる。予想されないオフセット値を含むホスト作業要求
は、信号メツセージの消失を示す。次に信号メツセージ
が入出力バス装置によって送り直される。ホストの要求
に対する応答は、ホスト・バス装置がその要求を廃棄す
べきことを示すエラー・コードを含む。この追跡方式は
また、要求されたレコードが既に送られているというタ
イミング状態を扱うための相関をも行なう。
ホスト作業要求は以下の情報を含む。
バイト          説  明 0〜1   コマンド長 2     コマンド修飾子 3     コマンド・コード=X”23’4    
 修飾子 ビットO〜1− アクセス・ モード =”oo” ビット2〜7− 予約 5〜7   予約 8〜15  アドレス:オフセット − 先行0を加え
て右寄せする。
16〜23 目標 バイト16:信号メツセージのタ イブ バイト17〜23:予約 24〜27 活動化ID=バス装置資源ID28〜31
  GETMAX=信号メツセージからの長さ ホストの要求に対する応答が入出力バス装置から返され
る時、その要求に関連するデータを記述する以下の情報
を含む。
バイト          説  明 0〜1   コマンド長 2     コマンド修飾子 3     コマンド・コード(信号メツセージのタイ
プに関連する) 4     修飾子 5〜(n−1)コマンド・テキスト (n=コマンド長) n −L    データ(L=データ入力記述子の長さ
) DMA要求による逆の流れ データの流れの制御を逆転するためのさらに別の方法は
、第28図及び第29図に示す1対のバス装置メツセー
ジを使用することである。DMA要求バス装置メツセー
ジ(第28図)は、記憶装置へのDMA転送を要求する
ため、サーバ・バス装置から要求元に送られる。要求元
バス装置からのDMA完了バス装置メツセージ(第29
図)は、DMA動作が完了したことを示す。要求元のバ
ス装置、すなわちマスクDMAを備えたバス装置が、サ
ーバ・バス装置に対するサービスを実行する。
要求元バス装置内のバス管理機構は、どのCIDがこの
サービス要求を引き起こしたかを知らない。
サーバ・バス装置内のバス管理機構が操作開始バス装置
メツセージを受は取った場合がその一例である。バス管
理機構は次に、要求元の記憶装置内のRRCBのアドレ
スと、それを入れるべきサーバの記憶装置内の場所とを
指定するDMA要求バス装置メツセージを送る。要求元
バス装置はサービスを実行し、動作が完了したことをD
MA完了バス装置メツセージで他方のバス装置に知らせ
る。
DMA要求メツセージを受は取ったバス管理機構は、サ
ービスの本当′の要求者を知ることなく、要求されたサ
ービスを実行する。バス管理機構は他方のバス転送機構
のためのサービスを行なう。
DMA要求バス装置メツセージのフィールドは以下の通
りである。
予約フィールドは、Oでなければならない。
長さフィールドは、このDMA要求動作で転送されるデ
ータの長さを示す。
DMA  IDは、このDMA要求に使用されるIDで
あり、このDMA要求メツセージを識別するためにDM
A完了バス装置メツセージでこのIDを返さなければな
らない。この識別は当該DMA要求及びDMA完了バス
装置メツセージ以外では意味を持たない。
タイプID(OX)は、バス装置メツセージのタイプ及
びDMAの方向を定義するために使用される。DMA要
求は2つの可能な16進値を存する。
“03°−一要求元プロセッサからサーバ・プロセッサ
へ °04“−一サーバ・プロセッサから要求元プロセッサ
へ 要求元プロセッサ・データ・アドレス・フィールドは要
求元記憶装置でのデータ転送の開始アドレスである。デ
ータ転送の方向はタイプ・フィールドによって指定され
る。これは、操作開始バス装置メツセージから得られた
RRCBのアドレス、またはRRCBの内容から得られ
たデータ・フィールド・アドレスでもよい。
サーバ・プロセッサ書データ・アドレス・フィールドは
、サーバの記憶装置内でのデータ転送の開始アドレスで
ある。データ転送の方向はタイプ・フィールドによって
指定される。
要求元が要求されたDMA動作を完了すると、動作が完
了したことをサーバに知らせる。これは、第29図のD
MA完了バス装置メツセージを送ることによって行なわ
れる。サーバ・プロセッサが要求されたDMA動作を実
行中にバス・エラーが発生した場合は、DMA完了バス
装置メツセージではなくバス・エラー杖態パス装置メツ
セージが返される。
DMA完了バス装置メツセージのフィールドは以下の通
りである。
予約フィールドはOでなければならない。
DMA  IDは、DMA要求でもたらされたIDであ
り、このDMA要求の要求元を識別するために使用され
る。
タイプ・フィールド(05)はバス装置メツセージのタ
イプを定義するために使用される。
他の2つの予約フィールドはすべてOでなければならな
い。
操作開始バス装置メツセージで開始されたシーケンスは
操作終了バス装置メツセージで完了する。
第30図は、スレーブDMA機能を持たないバス装置で
開始された要求送信動作の簡略化したメツセージの流れ
の一例である。
1、サーバ・プロセス、この場合にはホスト・バス装置
内の処理が、その処理中の待機したい地点に到達する。
I PCF待ち行列受信動詞(前出の米国特許第484
9473号参照)を出す。(この例では、サーバが待ち
行列受信により作業要求を要求したと仮定する。)その
入力待ち行列には要求ノートはないので、目標プロセス
は待機状態に入る。前記米国特許に記載されているよう
に、待ち行列受信動詞は入力待ち行列から要求ノートを
受は取るためのものであり、要求ノートは要求の長さ及
び識別子(RI D)要求元等の情報を含んでいる。
2、要求元、この例では入出力プロッセサIOP内のプ
ロセスは、データをホスト・プロッセサ内のサーバ・プ
ロセスに送ろうとする。要求元プロセスはIPCF要求
送信動詞を出す。
プロセスからのI PCFバス管理機構マツプ情報をR
RCBにマツプする。
3、IOP内のバス転送機構は、要求元が出した要求送
信の結果として、バス上での動作を開始する。IOPの
バス管理機構は操作開始バス装置メツセージをホストに
送る。
4、ホスト内のバス管理機構は、バス装置メツセージに
よって指定された場所に、IOP内のバス管理機構がD
MA転送を行なうことを要求するDMA要求バス装置メ
ツセージを送る。
5、IOPバス管理機構は要求されたDMA動作を実行
して、RRCBをIOPの記憶装置からホストの記憶装
置に移す。
E3.IOP内のバス管理機構は、要求されたDMA動
作が完了したことを示すDMA完了バス装置メツセージ
をホストに送る。
7、ホスト内のバス管理機構は、バス装置メツセージに
よって指定された場所から、DMA動作を実行するよう
IOP内のバス管理機構に要求するDMA要求バス装置
メツセージを送る。
これはホストのバス管理機構によって所有される記憶域
から行なわれる。
8、IOPのバス管理機構は要求されたDMA動作を実
行して、その要求をIOPの記憶装置からホストの記憶
装置に移す。
9、IOP内のバス管理機構は、要求されたDMA動作
が完了したことを示すDMA完了バス装置メツセージを
送る。上記3つのステップは、要求が4バイトよりも小
さい(たとえばRRCB内の即値データ)場合は必要で
ない。
10、ノートがIPCFを介して該当のサーバ・プロセ
スに送られる。これで、未処理の待ち行列受信が溝たさ
れる。
11、サーバ・プロセスは次に、ホストの記憶装置のど
こにデータを入れるかを指定するIPCFデータ受信動
詞を出さねばならない。
12、ホスト内のバス管理機構は、バス装置メツセージ
によって指定された場所へのDMA転送を実行するよう
IOP内のバス管理機構に要求するDMA要求バス装置
メツセージを送る。
このアドレスは、IPCFデータ受信動詞によって指定
される。
13.IOP内のバス管理機構は要求されたDMA動作
を実行して、ユーザ・データをIOPの記憶装置からホ
ストの記憶装置に移す。
14、IOP内のバス管理機構は、要求されたDMA動
作が完了したことを示すDMA完了バス装置メツセージ
を送る。
15、サーバのデータ受信は、上記の動作によって満た
される。
ステップ12ないし15は、要求されたすべてのデータ
を転送するのに必要な回数だけ反復する。
16、要求元プロセス、この場合はIOP内のプロセス
は、その処理中の待機したい地点に到達する。要求元プ
ロセスは待ち行列受信動詞を出す。その入力待ち行列に
は要求はないので、要求元プロセスは待機状態に入る。
176 サーバ・プロセスは次に、状況情報を含む応答
送信動詞を出す。
18、ホスト内のバス管理機構は、要求された動作が完
了したことを示す操作終了バス装置メツセージを送る。
19、ノートが要求元の待ち行列に送られる。これで要
求元の待ち行列受信が満たされる。
逆の流れ方式を使用することにより、プロセス間の通信
をプロセスから独立にし、かつプロセスに対してトラン
スペアレントにしようとするという目標が維持された。
実際には、バス管理機構は、IPCF層を通信の細部か
ら隔離するためにも使用される。接続グループを使用し
たため、流れ制御の水準を高めて、保証された最低水準
のサービスが得られるように資源がプロセスに割り当て
られるようにすることが可能になった。様々な好ましい
実施例について説明したが、特許請求の範囲内で多くの
変形が可能であることは当業者にとって明らかである。
F0発明の効果 本発明は、DMA機能の制約から作業の流れを所望の方
向にできない場合に、費用のかからないやり方で流れを
反対にするものである。いずれのバス装置に対してもD
MA機能の追加変更は必要でなく、すべてのデータを一
度にホストへ送ることなく、データを自由に流すことが
できる。ホストは信号メツ′セージに基づいてデータを
どこに置くかを指定する。ホストがビジーであった場合
、信号メツセージが再送されてくることがわかっている
ので、作業要求を送り返す必要はない。ホストは、最初
の信号メツセージを処理するための資源を持っていなけ
れば、それを廃棄するか、あるいは後での実行に備えて
待ち行列に入れておくことができる。
【図面の簡単な説明】
第1図は、プロセス間の論理的接続を有する論理的接続
グループを示す多重処理システムの概略ブロック図であ
る。 第2図は、米国特許第4649473号に記載のプロセ
ス間通信機構を有する多重処理システムの概略ブロック
図である。 第3図は、第1図の論理的接続グループの管理に使用さ
れるテーブル及び制御ブロックを示す図である。 第4図及び第5図は、もっと多くの要求を受は入れるの
に十分な資源を持たない接続グループに向けられた作業
要求のための待ち行列溝杯吠況に応答する要求元バス装
置の動作を示す流れ図である。 第6図は、待ち行列間の関係を示すブロック図である。 第7図は、十分な資源が接続グループ中で使用可能であ
るかどうか判定し、使用可能でない場合には待ち行列満
杯メツセージを送るサーバ・バス装置の流れ図である。 第8図は、接続グループに対して資源がいつ使用可能に
なったかを判定し、待ち行列空間使用可能メツセージを
送るサーバ・バス装置のもう1つの流れ図である。 第9図は、バス・エラー状態メツセージのフォーマット
を示すブロック図である。 第10図は、資源が接続グループにとって解放されてい
ることを示す待ち行列使用可能メッセ−ジのフォーマッ
トを示すブロック図である。 第11図は、接続グループに作業要求の受入れを開始す
るよう知らせる待ち行列再開メツセージのフォーマット
を示すブロック図である。 第12図は、接続グループに対する待ち行列満杯状態に
関係するメツセージの流れの図である。 第13図は、識別されたプロセスに対する作業要求があ
ることを示す操作開始メツセージのフォーマットを示す
ブロック図である。 第14図は、要求及びデータの場所を識別するために使
用される要求/応答制御ブロックRRCBのフォーマッ
トを示すブロック図である。 第15図は、要求/応答制御ブロックに対する追加のフ
ォーマットを示すブロック図である。 第16図は、作業要求に対する応答があることを示す操
作終了メツセージのフォーマットを示すブロック図であ
る。 第17図は、管理すべき遠隔記憶域を要求する記憶域要
求メツセージのフォーマットを示すブロック図である。 第18図は、遠隔的に管理される記憶域リストの場所を
示す記憶域リスト使用可能メツセージのフォーマットを
示すブロック図である。 第19図は、管理される遠隔記憶域を識別するために使
用される記憶域リスト制御ブロック5LCBのフォーマ
ットを示すブロック図である。 第20図は、遠隔記憶域の管理権を返すために使用され
る記憶域リスト完了メツセージのフォーマットを示すブ
ロック図である。 第21図は、遠隔記憶域の管理権の返却を要求するため
に使用される記憶域リスト返却メツセージのフォーマッ
トを示すブロック図である。 第22図は、遠隔記憶域の管理の制御権の転送に関係す
るメツセージの流れの図である。 第23図は、遠隔記憶域の管理権の授与を示す流れ図で
ある。 第24図は、遠隔記憶域の管理権の返却を示す流れ図で
ある。 第25図は、作業要求の流れの逆転に関係するメツセー
ジの流れの図である。 第26図は、少量のデータを非公式に転送するために使
用される信号メツセージのフォーマットを示すブロック
図である。 第27図は、作業要求の流れを逆転するための信号メツ
セージの代替パージロンを示すブロック図である。 第28図は、DMA転送を要求するために使用されるD
MA要求メツセージのフォーマットを示すブロック図で
ある。 第29図は、DMA転送が完了したことを示すために使
用されるDMA完了メツセージのフォーマットを示すブ
ロック図である。 第30図は、データを転送するために第28図及び第2
9図のDMAメツセージを使用することに関連するメツ
セージの流れの図である。 50.52・・・・バス装置、56・・・・ホスト・プ
ロセッサ、58.68・・・・主記憶装置、66・・・
・入出カプロセッサ、70.72・・・・IPCF18
6.88・・・・バス管理機構、90・・・・スレーブ
DMA機能、92・・・・マスタD″MA機能。 笛3 回 (e=tjヲL“)′−オ七ッリ・ン (1−ノで・プロで、アブ) v、13回 →景保R1七 纂 16 図 −a作iづ 纂170 記憶域要木 −へ  の −N   rQ 宴12 回 要;17C,サーバ メツで一シ 4−一一一一 )k59廿11酒外(+)     (
2)メツ七−ジ □  謹作於J(4) メツ(−ジ 鴫−一−−−  涛9瀞j!間伏用呵北 (5)メー/
l−ジ メー/−!!−シ゛ (I2)説作関@(3)□ −〜 %1%− 嘆旧圀 詑・惠熾°リスト役旧−r龍 算19 口 LCB 第20 図 41憔蕉リスト先3 v21 図 北=1t−懺゛リスト遅即 一一一−−−−−→−ハ+、、ファ伏ポ      (
4)篤 22図 信号 信号 (イ<督ハ゛−ジ言ン) 蔦 ;

Claims (1)

  1. 【特許請求の範囲】 バスを介して接続された第1バス装置及び第2バス装置
    を有するデータ処理システムにおいて、前記第1バス装
    置のプロセスから前記第2バス装置のプロセスに対する
    作業要求を出す時に、前記第1バス装置で前記作業要求
    を示すメッセージを作成して前記第2バス装置へ送り、 前記第2バス装置で前記メッセージに基づき第2の作業
    要求を作成して前記第1バス装置へ送り返し、 前記第1バス装置で前記第2の作業要求に応答して前記
    作業要求に関連するデータを前記第2バス装置へ転送す
    る、 ことを特徴とするデータ転送制御方法。
JP63260721A 1987-11-18 1988-10-18 バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法 Expired - Lifetime JPH0673123B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/122,294 US4930069A (en) 1987-11-18 1987-11-18 Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities
US122294 1987-11-18

Publications (2)

Publication Number Publication Date
JPH01142963A true JPH01142963A (ja) 1989-06-05
JPH0673123B2 JPH0673123B2 (ja) 1994-09-14

Family

ID=22401852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63260721A Expired - Lifetime JPH0673123B2 (ja) 1987-11-18 1988-10-18 バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法

Country Status (4)

Country Link
US (1) US4930069A (ja)
EP (1) EP0317466B1 (ja)
JP (1) JPH0673123B2 (ja)
DE (1) DE3852378T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180842B2 (en) 2003-12-19 2012-05-15 Fujitsu Limited Communication device management program

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121480A (en) * 1988-07-18 1992-06-09 Western Digital Corporation Data recording system buffer management and multiple host interface control
US5251303A (en) * 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
US5247676A (en) * 1989-06-29 1993-09-21 Digital Equipment Corporation RPC based computer system using transparent callback and associated method
US5347634A (en) * 1990-03-15 1994-09-13 Hewlett-Packard Company System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers
GB9019001D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station including a direct memory access controller and interfacing means to microchannel means
US5276900A (en) * 1990-12-14 1994-01-04 Stream Computers Master connected to common bus providing synchronous, contiguous time periods having an instruction followed by data from different time period not immediately contiguous thereto
CA2069711C (en) * 1991-09-18 1999-11-30 Donald Edward Carmon Multi-media signal processor computer system
JPH0660015A (ja) * 1992-06-08 1994-03-04 Mitsubishi Electric Corp 情報処理装置
US5619681A (en) * 1992-11-23 1997-04-08 Zilog, Inc. Delayed FIFO status for serial shift emulation
US5354614A (en) * 1993-03-01 1994-10-11 Minnesota Mining And Manufacturing Company Masking tape with stiffened edge and method of gasket masking
US5278959A (en) * 1993-03-13 1994-01-11 At&T Bell Laboratories Processor usable as a bus master or a bus slave
US5999742A (en) * 1995-01-26 1999-12-07 Zilog, Inc. Dual latch data transfer pacing logic using a timer to maintain a data transfer interval
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
EP0859326A3 (en) 1997-02-14 1999-05-12 Canon Kabushiki Kaisha Data transmission apparatus, system and method, and image processing apparatus
SG74611A1 (en) 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
EP0859323B1 (en) * 1997-02-14 2007-03-21 Canon Kabushiki Kaisha Data transmission apparatus, system and method, and image processing apparatus
DE69840972D1 (de) 1997-02-14 2009-08-27 Canon Kk Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
US6006292A (en) * 1997-03-13 1999-12-21 Adaptec, Inc. Method of managing hardware control blocks utilizing endless queue maintained to never be empty and containing tail pointer only accessible by process executing on system processor
US5938747A (en) * 1997-03-13 1999-08-17 Adapter, Inc. Hardware command block delivery queue for host adapters and other devices with onboard processors
US6259957B1 (en) 1997-04-04 2001-07-10 Cirrus Logic, Inc. Circuits and methods for implementing audio Codecs and systems using the same
US6012107A (en) * 1997-05-22 2000-01-04 Adaptec, Inc. Hardware control block delivery queues for host adapters and other devices with onboard processors
US6240474B1 (en) * 1997-09-16 2001-05-29 International Business Machines Corporation Pipelined read transfers
JP4019481B2 (ja) 1998-01-23 2007-12-12 ソニー株式会社 情報処理装置および方法、情報処理システム、並びに提供媒体
DE19846913A1 (de) * 1998-10-12 2000-04-20 Oce Printing Systems Gmbh Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
US6701390B2 (en) * 2001-06-06 2004-03-02 Koninklijke Philips Electronics N.V. FIFO buffer that can read and/or write multiple and/or selectable number of data words per bus cycle
US7099318B2 (en) * 2001-12-28 2006-08-29 Intel Corporation Communicating message request transaction types between agents in a computer system using multiple message groups
US7487327B1 (en) 2005-06-01 2009-02-03 Sun Microsystems, Inc. Processor and method for device-specific memory address translation
US20080125037A1 (en) * 2006-08-23 2008-05-29 Brima Ibrahim Method and system for routing of FM data to a bluetooth A2DP link
EP3321814B1 (en) * 2016-11-10 2020-09-23 NXP USA, Inc. Method and apparatus for handling outstanding interconnect transactions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6252664A (ja) * 1985-09-02 1987-03-07 Hitachi Ltd マルチプロセツサシステムのジヨブ管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4479179A (en) * 1979-07-30 1984-10-23 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4363093A (en) * 1980-03-10 1982-12-07 International Business Machines Corporation Processor intercommunication system
US4368514A (en) * 1980-04-25 1983-01-11 Timeplex, Inc. Multi-processor system
EP0057756B1 (de) * 1981-02-11 1985-02-20 Siemens Aktiengesellschaft Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
US4471427A (en) * 1981-12-01 1984-09-11 Burroughs Corporation Direct memory access logic system for a data transfer network
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4485438A (en) * 1982-06-28 1984-11-27 Myrmo Erik R High transfer rate between multi-processor units
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4601586A (en) * 1984-02-10 1986-07-22 Prime Computer, Inc. Solicited message packet transfer system
US4528626A (en) * 1984-03-19 1985-07-09 International Business Machines Corporation Microcomputer system with bus control means for peripheral processing devices
US4649473A (en) * 1985-06-17 1987-03-10 International Business Machines Corporation Flexible data transmission for message based protocols

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6252664A (ja) * 1985-09-02 1987-03-07 Hitachi Ltd マルチプロセツサシステムのジヨブ管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180842B2 (en) 2003-12-19 2012-05-15 Fujitsu Limited Communication device management program

Also Published As

Publication number Publication date
JPH0673123B2 (ja) 1994-09-14
DE3852378T2 (de) 1995-05-24
US4930069A (en) 1990-05-29
EP0317466A3 (en) 1991-01-30
EP0317466B1 (en) 1994-12-07
EP0317466A2 (en) 1989-05-24
DE3852378D1 (de) 1995-01-19

Similar Documents

Publication Publication Date Title
JPH01142963A (ja) バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法
US5257374A (en) Bus flow control mechanism
US5142683A (en) Intercomputer communication control apparatus and method
US6425021B1 (en) System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
US4937737A (en) Process transparent multi storage mode data transfer and buffer control
US6901451B1 (en) PCI bridge over network
EP0317481B1 (en) Remote storage management mechanism and method
JPS61289456A (ja) 分散処理システムの作業要求通信方法
US5204954A (en) Remote storage management mechanism and method
JPH06309252A (ja) 相互接続インタフェース
US7640549B2 (en) System and method for efficiently exchanging data among processes
JP2008086027A (ja) 遠隔要求を処理する方法および装置
JPH04257054A (ja) チャネル間接続装置
KR920004771B1 (ko) 작업 관련 메세지 흐름 제어방법 및 통신 관리 장치
US5901328A (en) System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area
JP2633900B2 (ja) 共通バス制御方法
US5218713A (en) Distributed data management mechanism for handling a data stream
JP2534229B2 (ja) マルチプロセス・コンピュ―タ装置における分散デ―タ処理方法
US5734918A (en) Computer system with an input/output processor which enables direct file transfers between a storage medium and a network
US6108694A (en) Memory disk sharing method and its implementing apparatus
US6529972B1 (en) Message translation and data proxy service for remote data transport in a computer network
EP0321544A1 (en) METHOD AND APPARATUS FOR CONTROLLING COMMUNICATIONS BETWEEN COMPUTERS.
JPH08278953A (ja) 計算機システムにおける排他制御方式
JPH0844662A (ja) 情報処理装置
JPS61195439A (ja) リモ−トフアイルアクセス方式