JPH10222477A - コンピュータ・システム間でデータ構造を転送する方法 - Google Patents

コンピュータ・システム間でデータ構造を転送する方法

Info

Publication number
JPH10222477A
JPH10222477A JP10008524A JP852498A JPH10222477A JP H10222477 A JPH10222477 A JP H10222477A JP 10008524 A JP10008524 A JP 10008524A JP 852498 A JP852498 A JP 852498A JP H10222477 A JPH10222477 A JP H10222477A
Authority
JP
Japan
Prior art keywords
data
link
frame
computer system
block
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.)
Pending
Application number
JP10008524A
Other languages
English (en)
Inventor
Thomas A Gregg
トーマス・アンソニー・グレッグ
Mandora Pandy Kalwont
カルウォント・マンドラ・パンディ
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 JPH10222477A publication Critical patent/JPH10222477A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 コマンドを発信するシステムとそれを受信す
るシステムとの間でデータのリンク・フレームを通信す
るときの有効リンク転送速度を高速化する。 【解決手段】 リンクを通して転送されたデータを含
む、または含むべき、コマンド受信システムの記憶域に
分散した多数の記憶ブロックの読取りまたは書込みを自
動的に制御するTRANSFER STRUCTURE命令を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、指令
コンピュータ・システムがリンクを通して被指令コンピ
ュータ・システムにコマンドを送り、リンクを通して転
送されるデータ構造を指令コンピュータ・システムとの
間で読み書きする、2つのコンピュータ・システム間の
通信リンクでのデータ転送の高速化に関し、特に、本発
明は、転送されたデータ構造の読み書きを目的に、被指
令システムでブロックを扱う単一移動法を提示する。
【0002】
【従来の技術】最新のコンピュータ・システムは、デー
タ・ビットのブロックをコンピュータのランダム・アク
セス電子記憶域に格納する。ここでビットは、普通はバ
イトまたはベクトルと呼ばれるグループにまとめられ
る。多くのコンピュータでランダム・アクセス記憶域
を、2ビットの累乗の長さの固定長のブロックに分ける
ことは都合がよいとされる。記憶域の境界は実アドレス
に位置する。実アドレスは、通常は2の累乗の倍数であ
り、これによりリンク・ブロック長が定義される。ここ
で各ブロックは記憶域の境界から始まり、次に続く境界
で終わるとみなされる。例えばIBMのS/390アー
キテクチャを使用したメインフレームでは、ブロックは
32768ビット境界に位置する(例えば4096バイ
ト境界)。Intel社のコンピュータ・アーキテクチ
ャを用いたパーソナル・コンピュータの場合、ブロック
は2048ビット境界または4096ビット境界(25
6バイト境界または512バイト境界等)に置くことが
できる。実際の記憶域境界は、2ビットの累乗の倍数で
あるビット位置に置く必要はないが、コンピュータ・ア
ーキテクチャでは一般に、2つの境界の累乗を使用する
ことが好まれる。コンピュータ記憶域の生産及び使用に
伴う経済的なコストが最小になるからである。
【0003】コンピュータ・メモリの記憶ブロック長の
選択は、一般的に、コンピュータに格納されるデータの
タイプ及び意味を考慮して調整され、選択されるブロッ
ク・サイズを大きくする場合は、格納済みブロックの終
わりで未使用記憶域の期待値が最小にされる。コンピュ
ータ命令はしばしばデータをブロック単位で記憶域内ま
たは記憶域間で移動させる。これにより、選択されるブ
ロック・サイズが小さすぎる場合は、ある量のデータに
ついて移動操作が過剰になることがある。あるコンピュ
ータ・アーキテクチャでのブロック長の決定は普通、デ
ータが使用されることの期待度が最大である状態を考慮
して行われる。
【0004】1つの記憶ブロック・サイズの選択は、記
憶域が一般には異なるタイプのデータを格納すると予測
されるときは、コンピュータが同じコンピュータ・アー
キテクチャを使用しているときであっても、コンピュー
タのタイプによって異なることがある。例えばこれは、
最大では数多いメインフレーム電子処理コンプレックス
(CPC)を持つメインフレームに用いられるIBMの
結合機構(CF)の場合である。CFはデータを基本的
にはソフトウェアのキャッシュとリストに格納する。キ
ャッシュとリストのいずれかまたは両方は、大量のデー
タ(数ギガビット)を保持でき、データは多数のデータ
・ブロックを占める。データ・ブロックはいずれも、か
なり小さい単位で機能し、小さいブロック・サイズは例
えば512バイト等となる。他方、CPCは4096バ
イトのブロック長を長く使用することによって制約され
る。これはそのオペレーティング・システムによって移
動される頻度が最大の格納単位であり、オペレーティン
グ・システムは、4KBブロックをその仮想メモリ割当
て単位として、また主記憶域とDASDとの間でそのペ
ージング可能な単位として使用する。
【0005】記憶域の割当てでは、記憶域の断片化を最
小にするために固定ブロック長が望ましい。ユーザが複
数の記憶ブロックを要する記憶域割当てを要求した場
合、システムは割当てられたブロックの位置を確認し、
ユーザが割当てられたブロックにアクセスするためにア
ドレスを使用できるようにしなければならない。連続し
たブロック位置は、結果として記憶域の割当て解除と再
割当てで記憶域が断片化されるので実際的ではない。ユ
ーザが連続ではない割当て済みブロック(記憶域の断片
化を避けるため必要)を使用しようとする場合、ユーザ
は連続でない実アドレスを割当て済み空間に持つが、こ
れはユーザにとってはかなり都合が悪い。仮想アドレス
指定は、数10年前に連続ではないブロックの連続した
アドレスを使用できるように考え出された。
【0006】コンピュータの記憶域には、様々なタイプ
のデータ構造を編み出すことができ、記憶域をアクセス
するために実アドレス指定が用いられるか仮想アドレス
指定が用いられるかとは無関係に、ブロックをデータ構
造に割当てる方法は様々考えられる。仮想アドレス指定
によりメモリ内のブロックの一部または全部がアクセス
されるとき、普通、これらのブロック全てに1つの固定
長が用いられる。連続した仮想アドレスは複数のブロッ
クをアクセスするため、これらのブロックが記憶域の分
散した位置にあっても使用できる。分散したブロックを
連続した仮想アドレス・セットにバインドするためペー
ジ・テーブルが用いられるが、これはページ・テーブル
または複数のページ・テーブルをセグメント・テーブル
にまとめることによって行われる。連続した仮想アドレ
ス・セットは、ページ・テーブルによってある範囲にマ
ップできる。範囲は仮想バイト・アドレス0から始ま
り、かなり大きいバイトの仮想アドレス(例えば2G
B)で終わるアドレス範囲が考えられる。このような仮
想アドレス範囲(例えばセグメント・テーブルによって
定義される)は、仮想アドレス・スペースと呼ぶことが
できる。複数のセグメント・テーブルを使用して、コン
ピュータ・システムに複数の仮想アドレス・スペースを
置くこともできる。
【0007】データは、メモリ内のブロックのセットを
識別することによって構成できる(仮想アドレス、実ア
ドレス、または他の方法により見つけられるかどうかと
は無関係に)。データ構造を定義する方法の1つは、ポ
インタのシーケンスを含むメモリ内のテーブルによる
(実アドレス等)。ポインタはそれぞれ、記憶域のどこ
かに分散した連続していない記憶ブロックのセットを見
つけることができる。
【0008】データ構造の例として、テーブル、リスト
及びキュー等がある。リストやキューは、記憶域に記憶
域内のどこかで見つけられる(つまり分散した)記憶ブ
ロックのセットに連結されるアンカ・エントリを持つ。
このとき各ブロックは、セット内の次のブロックを見つ
ける前方ポインタを持つことができ、また各ブロック
は、構造内の前のブロックを見つける後方ポインタを持
つこともできる。記憶ブロックをリストの単位として使
用する上での特性は、リストの各ブロックでスペースを
占めるポインタにより、データ記憶域の各ブロックに残
るのは2の累乗より小さいということである。テーブル
は記憶域のどこかで見つけられるブロックをポイントで
きる順次アドレスのリストを保持できる。
【0009】主としてリストやキャッシュのデータ構造
を格納するため用いられるコンピュータ・システムの例
として、IBMの結合機構(CF)がある。このCFの
ブロック長は、リンクを通してCFに接続されたCPC
によって用いられる4KBブロック長の約数が使用でき
る。ブロック・サイズのこの違いにより、CPCとCF
の間で通信するデータ構造に問題が生じ得る。なぜな
ら、異なるブロック長が用いられるために、同じデータ
構造にこれら2つの環境で異なる記述があることになる
からである。
【0010】CFとCPCの通信プロトコルにより、C
Fがデータ構造、つまりリストやキャッシュを保持でき
るデータ構造はリンク接続したCPCからコマンドによ
って変更できる。CPCはリンクでコマンドを伝え、C
F内のデータ構造の全てまたは一部を格納またはフェッ
チすることができる。データ構造は、リンク上、CFと
CPCとの間でデータ・フレームのシーケンスを転送す
ることによって通信される。順次に転送されるフレーム
は、データ構造のブロックを含むことができる。このブ
ロックはCFまたはCPCの電子記憶域に分散し得る。
同じデータ構造を違う形で分散させ、CPC、CFの記
憶域(メモリ)内の長さの異なるブロックに格納するこ
とができる。その結果、データ構造をリンク・フレーム
のシーケンスとして転送することを、リンクの両端のコ
ンピュータ・システムにより(例えばCPCとCFによ
り)違う形で処理する必要もでてくる。
【0011】1.市販のIBM CFでのCPCとCF
との間で通信されるリンク・フレームの従来技術による
処理:CFでは、各リンク・フレームと、CFメモリの
構造の分散したブロック位置との間でデータを移動させ
るのに、「2つ」の別々または独立した「部分移動操
作」が必要だった。これら2つの移動操作は、いずれか
の方向(送信または受信)でのリンク転送と同様に、あ
る構造の転送された各リンク・フレームについて、別々
に開始し、繰り返す必要があった。
【0012】A.部分移動の1つは("チャネル・バッ
ファ・データ移動"命令によって行われる)、データを"
リンク・バッファ"と"ステージング・バッファ"との間
で移動させた。
【0013】B.他の部分移動("CFブロック反復移
動プログラム"によって行われる)は、ステージング・
バッファと、CFメモリのデータ構造の最終的に分散し
たブロック位置との間でデータを移動させた。
【0014】C.割込みまたはポーリングの操作は、第
1部分移動操作が完了して生じ、CFプロセッサに、そ
れが第2部分移動操作を開始すべきことが通知された。
【0015】D.第2移動操作が完了した後、リンクで
受信側システムによって"確認"信号または"拒否"信号が
送信側システムに送られた。現在のデータ構造で転送す
るデータが残っている場合は、"確認"信号の受信によ
り、送信側システムは次のリンク・フレームを転送でき
た。"拒否"信号の受信では、送信側システムが拒否の適
用されたデータ・フレームを再送する必要があった。従
って、次のリンク・フレームはそれぞれ、最後のリンク
・フレームについて"確認"信号が受け入れられるまで転
送できなかった。
【0016】E.上のAとBで述べた2つの部分移動
に、CF書込み操作が実行されているかCF読取り操作
が実行されているかに応じて「逆順」が生じ、次のよう
に、操作のタイプそれぞれに割込み、またはポーリング
の信号が必要だった。
【0017】1)CF書込み操作の場合、CPCで送ら
れた各リンク・フレームはそれぞれ、CFリンク・バッ
ファによって受信されたとき、部分的にリンク・バッフ
ァからステージング・バッファにCFの"チャネル・バ
ッファ・データ移動"命令によって移動された。"チャネ
ル・バッファ・データ移動"命令は非同期命令で、CF
プロセッサは、それがいつデータをステージング・バッ
ファに移動したかを認識しなかった。信号は、この第1
部分移動が完了し、ステージング・バッファから、CF
メモリ内で分散した最終的なブロック位置への第2部分
移動(CFプロセッサの移動プログラムによって行われ
る)を開始すべきと通知されたとき、CFプロセッサに
提示された。
【0018】2)CF読取り操作の場合、CPCにより
要求されたデータ・フレームそれぞれは、最初にCFメ
モリ内の構造の分散したブロック位置から、ステージン
グ・バッファに"CFプロセッサ移動プログラム"によっ
て移動された。次に"CFプロセッサ移動プログラム"は
ステージング・バッファからリンクへの第2部分移動
を"チャネル・バッファ・データ移動"命令によって開始
した。"チャネル・バッファ・データ移動"命令は非同期
命令なので、CFプロセッサは、それがそのリンク転送
操作を完了したことを認識しなかった。従って"チャネ
ル・バッファ・データ移動"命令は完了割込み信号、ま
たは完了ポーリング信号を生成し、CFCCプログラム
に、それが次のブロックの転送準備を開始できることを
通知した。
【0019】
【発明が解決しようとする課題】本発明の目的は、指令
コンピュータ・システム(コマンドを発信する)と被指
令コンピュータ・システム(コマンドを受信する)との
間でデータのリンク・フレームを通信するときの有効リ
ンク転送速度を高速化することである。
【0020】本発明の他の目的は、被指令コンピュータ
・システム側で書込まれまたは読取られるデータ構造を
処理する際に転送遅延を小さくし、プロセッサ使用率を
高める方法及び機構を提供することである。
【0021】本発明の他の目的は、従来のリンク・プロ
トコル、特にリンク・エラー回復手順でのリンク・プロ
トコルを本発明によって提供される、より効率的な新し
いブロック処理操作で使用できるようにし、本発明と従
来のリンク・プロトコル間で相互運用性を保証すること
である。
【0022】本発明の他の目的は、2つのコンピュータ
・システムを接続するため、リンクの両端で同じリンク
・アダプタ・ハードウェアを使用できるようにするが、
データ構造の自動転送をデータ構造のデータ・フレーム
間の割込みなく、複数のデータ・フレームによって制御
するため、リンク両端で違った形で使用できるようにす
ることである。
【0023】本発明の他の目的は、半導体チップに実現
可能でアドレス・レジスタ、ポインタ、カウンタ等の集
合を保持し、アドレスとパラメータを保持及び減分/増
分して、リンクで転送されたフレームと、リンクに接続
された対応するコンピュータ・システムのメモリ内に分
散したブロック位置との間でデータ・ブロックの単一直
接移動操作を制御するため、リンクの各端部で使用でき
るリンク・アダプタ・ハードウェアを提供することであ
る。
【0024】本発明の他の目的は、潜在的エラー状態を
持つと示されたリンク・フレームの再送または受信を制
御するため、リンク・アダプタ・ハードウェアのリスト
・ポインタをバック・アップする(または減分する)機
構を提供することである。
【0025】本発明の他の目的は、被指令コンピュータ
・システムが割込みなく、データ構造の各リンク・フレ
ームについて1つの内部移動操作を実行できるよう、リ
ンクに接続されたCF等の被指令コンピュータ・システ
ムにより使用する、新しいプロセッサ命令、TRANSFER S
TRUCTUREを提供することである。TRANSFER STRUCTURE命
令の1回の実行により、リンク上のいずれかの方向で要
求されたデータ構造内の任意個数の分散したブロックの
リンク転送が、指令コンピュータ・システムからの1つ
のコマンドにより要求された通りに処理される。
【0026】
【課題を解決するための手段】本発明は、2つのコンピ
ュータ・システムを接続したリンクのいずれかの方向
で、データ構造のリンク・フレームを転送する際、現在
用いられている、データ転送速度が同じリンクを使用し
た従来のシステム間チャネル・リンク転送法と比較し
て、有効データ転送速度をおよそ2倍にする。
【0027】本発明は、他のコンピュータ・システムの
メモリ内のブロックとは長さの異なるコンピュータ・シ
ステムのブロックにデータを格納する等、通信するコン
ピュータ・システムのメモリ内である構造のデータが異
なる形で格納されても、また、いずれかのコンピュータ
・システムのブロックが他のコンピュータ・システム内
の同じ構造のブロック(分散したブロック等)とは異な
る実アドレスにあっても、転送速度を大幅に向上させ
る。
【0028】本発明は、CPCから転送コマンドを受信
するCFコンピュータ・システム等、被指令コンピュー
タ・システム(転送制御コマンドを受信するシステム)
のコストを削減する。コストの削減はCPC/CFリン
ク上等、データ構造のリンク・フレームの転送を制御す
るため必要な、被指令システムのリソースを減らすこと
によって行われる。またこれと同時に本発明は、リンク
・フレームの有効データ転送速度を大幅に向上させる。
コストの削減はステージング・バッファ、ステージング
・バッファを使用していた従来の複数の部分移動操作を
なくすことによる処理時間の短縮、及び転送されたリン
ク・フレームそれぞれについて、CFプロセッサへの従
来の移動制御割込みまたはCFプロセッサによるポーリ
ングをなくすことを含む。
【0029】本発明は更に、被指令コンピュータ・シス
テムでのプロセッサの使用率を高めることによって、被
指令システム(CF等)の操作コストを削減する。この
コストの削減は、被指令システムのメモリにデータ構造
を保持するため、全てのリンク・フレームと分散した全
てのブロックとの間の全てのデータ移動を制御するた
め、本発明によって提供される新規なTS命令の1回の
実行による結果である。これにより、部分移動プログラ
ム(多数の命令を含む)の複数回の実行、及び"チャネ
ル・バッファ・データ移動"命令の複数回の実行、つま
り転送されたデータ・フレームそれぞれについてプログ
ラム及び命令の1回の実行を要する従来の方法は不要に
なる。
【0030】以下に本発明の特徴(1乃至4)をまとめ
る。
【0031】1.本明細書は、リンク受信/送信バッフ
ァと、CF等、リンクの被指令コンピュータ・システム
のメモリ内の、あるデータ構造の分散したブロックの間
のリンク・フレーム当たり「1つ」の移動操作を開示す
る。
【0032】2.1つの移動操作は、構造の転送された
リンク・フレームの数とは無関係に、構造「全体」で、
受信されたリンク・フレームの処理の時間または処理の
間に、割込みまたはポーリング「なく」生じる(従来技
術では、割込みが必要だった(転送されたデータ・フレ
ームそれぞれについて2つの部分移動の間に))。
【0033】3.本発明は、リンクのビット転送速度を
変更せずに同じデータ・ブロックの転送に、従来技術に
必要な時間よりかなり短い時間で、"確認"信号または"
拒否"信号を送信側に転送する(これは本発明が、確認
信号を1つの移動操作の終わりに、割込み遅延なく送信
するからである。(従来技術の方法は、"確認"信号を2
つの部分移動操作の後に、2つの部分移動操作を調整す
るのに必要な割込みまたはポーリングの遅延で送信す
る)。
【0034】4.本発明は、CFプロセッサ等の被指令
コンピュータ・システムにより使用するため、新規な"
転送構造"(TS)命令を提供する。このTS命令の
「1回の実行」は、全てのリンク・フレーム及び被指令
コンピュータ・システムのメモリ内の転送された構造の
全ての分散した位置についてデータを移動させるため、
ある構造について転送された任意個数のリンク・フレー
ムに対応する。(従来技術の方法は、通常は被指令コン
ピュータ・システムのメモリ内のデータ構造の小さい部
分である1つのリンク・フレームだけのデータを移動さ
せるため、"チャネル・バッファ・データ移動"命令を使
用した。時間のかかる複数の実行は、ある構造で転送さ
れたリンク・フレームの数に等しい"チャネル・バッフ
ァ・データ移動"命令で構成された。)
【0035】転送構造命令を実行する前に被指令コンピ
ュータ・システムは、被指令コンピュータ・システムの
メモリ内のデータ構造内のデータ・ブロックのアドレス
を含むポインタ・リストを準備するプログラムを実行す
る。プロセッサはまた、指令コンピュータ・システムと
被指令コンピュータ・システムのメモリに構造を格納す
る際に用いられるデータ・ブロック長の比、各メモリ内
の構造のデータ・ブロック数のカウント、構造の分散し
たブロックへのポインタのリストの位置、ポインタのリ
ストのポインタ数等を記述する等、TS命令に必要なパ
ラメータをあらかじめ準備する。
【0036】受信されたリンク・ブロックでビット・エ
ラーが検出されるとき、本発明は、エラーのあったデー
タ・フレームの再送及び送信されたデータの再受信を制
御するため、リストの現在のポインタをバック・アップ
できるようにする新規な方法をサポートする。これは指
令システムと被指令システムのデータ構造で用いるブロ
ックの長さが異なるときであり、転送されたリンク・フ
レームでエラー状態が検出されたとき、従来の回復リン
ク・プロトコルを使用することができる。
【0037】本発明の好適な実施例で、結合機構(C
F)は、リンクの一端の被指令コンピュータ・システム
で、中央処理コンプレックス(CPC)は、リンクのも
う一端の指令コンピュータ・システムであり、CFの構
造の書込みまたは読取りの操作を要求する。従ってCP
CはリンクでCFに「書込みコマンド」を発行し、CP
CによってリンクでCFへのデータ・フレームのセット
として送られたデータ構造または構造の一部をCFメモ
リ内に格納することをCFに要求する。次にCPCはリ
ンクで「読取りコマンド」をCFに発行し、CFメモリ
に格納され、CFによってCPCとのリンク上のデータ
・フレームのセットとして送られる構造または構造の一
部の読取りをCFに要求する。
【0038】本発明は、被指令システム内のブロックの
セットのマルチブロック転送を指令システムと被指令シ
ステムの間で、"確認"(ACK)フレームと"拒否"(R
EJ)フレームにより、それにより送られた(書込み操
作)または受信された(読取り操作)ACKやREJの
フレームのいずれかにより被指令システムに対して割込
みを引き起こすことなく同期化する。指令システムは、
被指令システムが本発明を使用していることを認識する
必要がない。本発明は"TRANSFER STRUCTURE"(TS)命
令を実行して、この命令の実行中の被指令システムの操
作を制御し同期化する。
【0039】1つのTS命令は、通常は可変数のブロッ
クを持つブロックのセット全体(ここでは一般に構造と
呼ぶ)を転送するため実行される。TS命令の1回の実
行は、被指令システムのメモリ内のブロック・アドレス
・ポインタ・リスト(好適な実施例ではSBALと呼ば
れる)によって制御される。これは被指令システムの記
憶域内のセットの各記憶ブロックについてポインタ・エ
ントリを持つ。
【0040】リンクのフレーム転送はいずれかの方向で
あり、被指令システムで読取りと書込み両方の機能をサ
ポートする。ACKまたはREJのフレーム(各データ
・フレームの受信に応答)は、リンクのいずれかの方向
で送られ(関連データ・フレームを受信するシステムか
らデータ・フレームを転送するシステムへ)、指令シス
テムまたは被指令システムのいずれかがACKまたはR
EJのフレームを送信でき、他方のシステムはこれを受
信する。しかしそれでも本発明の被指令システムのデー
タ・フレームの転送は被指令システム側で、被指令シス
テムがそれらを書込みのために送信するか、読取り操作
のために受信するかにかかわらず、ACKとREJのフ
レームによって制御される。
【0041】TS命令の実行はリンク上、被指令システ
ムに送られた制御フレームによって開始され、セットの
最後のブロックが受信される(これは制御フレーム内で
送られるカウントによって示すことができ、指令システ
ムによって、それが制御フレーム内で示されるように被
指令システムに書込まれるかまたはフェッチされるセッ
トのデータ・フレームを転送する際に減分できる)まで
割込みなく継続する。いずれかのリンク方向での被指令
システム側での続くデータ・フレームそれぞれの転送
は、最後のデータ・フレームに応答するACKまたはR
EJフレームによって制御される。ACKフレームによ
り次のデータ・フレームの転送が起こる。
【0042】しかし本発明で特に独創的なことは、RE
Jフレームに対する被指令システムの応答である。これ
により最後のデータ・フレームが再送される。最後のデ
ータ・フレームは、被指令システムの記憶域(メモリ)
に記憶ブロックを2つ以上持ち得る。ここで後者は指令
システムの記憶域(メモリ)ブロック長より小さい。被
指令システムのブロック長が指令システムのブロック長
より大きい場合、被指令システムは、その最後に転送し
たブロックの一部の再送を制御する。
【0043】従って本発明は、初期制御フレームによ
り、指令記憶域のブロック長と被指令記憶域のブロック
長の、それらの比にでもある長さの関係を記述したイン
ジケータを送ることによって、被指令システムと指令シ
ステムの異なる記憶ブロック長をサポートする。
【0044】こうして、被指令システム側でのTS命令
の1回の実行により、多数のデータ・ブロックのリンク
転送が行われる。これにはREJフレーム応答を受信し
たセット内のブロックの再送が含まれる。つまりいずれ
かの方向で転送された各REJに対して再送1回であ
る。このREJ操作機能を持つ従来のリンク転送システ
ムは知られていない。
【0045】本発明は、ACKとREJのフレームによ
り、被指令システム側で割込みが生じない場合は最大速
度で動作する。これは、プロセッサがTS命令によりリ
ンク転送操作に専用される場合等である。しかし、被指
令システムはそのACKやREJのフレームの転送に割
込みを実際に使用する場合にも、本発明は、従来のシス
テムよりかなり高速に動作する。これはその転送制御法
により、ステージング・バッファを通して部分移動の利
用が避けられ、またこれら部分移動を制御するため用い
られる割込みが避けられるからである。
【0046】
【発明の実施の形態】好適な実施例について、A、B、
C及びDの4つの部分に分けて説明する。第1部Aは、
コンピュータ間でメッセージを転送するため用いられる
リンク・プロトコルについて説明する。第2部Bは、メ
ッセージの引渡しをするハードウェアと、中央処理コン
プレックス(CPC)の動作について説明する。CPC
は、データ構造を送信または受信するためコマンドを発
行するシステムである。第3部Cはメッセージの引渡し
をするハードウェアと、結合機構(CF)の動作につい
て説明する。CFは受信されたデータ構造を書込むまた
は先にCFに格納されたデータ構造を読取ることをCF
に要求するコマンドをCPCから受信するシステムであ
る。最後の部分Dはリンク・ビット・エラーからの回復
について説明する。
【0047】好適な実施例は、CPCとCFの両方で同
じリンク・アダプタ・ハードウェアを使用するが、この
ハードウェアはCPCとCFでは動作が異なる。
【0048】"アドレス"と"ポインタ"という用語はそれ
ぞれ、メモリ内の位置を指定するフィールドの意味に用
いる。実アドレス、仮想アドレス、直接アドレス、また
は間接アドレスが含まれる。仮想アドレス指定または間
接アドレス指定のいずれかが使用できる。
【0049】メッセージを引き渡すためのリンク・プロ
トコルについての説明:まず図1を参照する。2つのコ
ンピュータ要素102、104の間でデータを通信する
物理リンクが示してある。コンピュータ要素という用語
は、他のコンピュータ要素によって共有されるコンピュ
ータ・メモリの意味を含む。いずれの場合もコンピュー
タ要素102、104は、光ファイバ・バス108を含
むシステム間チャネル・リンク106によって接続され
る。光ファイバ・バス108はファイバ・ペア110で
形成される。ファイバ・ペアは2つの光ファイバを含
み、1つはデータを102から104へ転送するため、
もう1つはデータを104から102へ転送するため用
いられる。ファイバ・ペア110は、リンクの両端に位
置するトランシーバ(TCVR)112、114によっ
てコンピュータ要素102、104に接続される。トラ
ンシーバ112、114はそれぞれトランスミッタ・ユ
ニットとレシーバ・ユニットを含む。
【0050】光ファイバ・バス108上のデータ・トラ
フィックは全てコンピュータ要素102、104の間の
メッセージの引き渡しをサポートする。メッセージのタ
イプの1つは、コンピュータ要素102からコンピュー
タ要素104に送られるコマンドで、これは104によ
る読取りまたは書込みの操作を要求する。本発明は、コ
マンド・リクエストに関係するデータを扱い、データは
コンピュータ要素102からコンピュータ要素104に
送られる(要素104での書込み操作)かまたは、コン
ピュータ要素104からコンピュータ要素102に送ら
れる(要素104での読取り操作)かのいずれかであ
る。
【0051】データが転送された後、応答が被指令コン
ピュータ要素104から指令コンピュータ要素102に
送られる。コマンド・リクエスト、データ及び応答を含
むメッセージが両方のコンピュータ要素にあるバッファ
に格納される。リクエスト、データまたは応答を転送す
るためには、コンピュータ要素102、104に転送バ
ッファ116、122及び受信バッファ118、120
が必要である。転送バッファ116、122は主プロセ
ッサ・メモリを含めて、転送側コンピュータ要素10
2、104のどこに置いてもよいことは理解されたい。
また受信バッファ118、120は常にトランシーバ1
12、114によってすぐにアクセスできなければなら
ないことも理解されたい。
【0052】従って、受信バッファ118、120は、
通常はチャネル専用の記憶アレイとして実現され、コン
ピュータ要素102、104内の異なる多くの要素間で
アクセスが共有される主プロセッサ・メモリにはない。
【0053】データを持つ完全なメッセージを処理する
には、コンピュータ要素102、104両方でバッファ
を使用する必要がある。メッセージを開始するコンピュ
ータ要素は発信側であり、メッセージを処理するコンピ
ュータ要素は受信側である。図2は双方向リンクの両側
の複数のバッファを示す。例えばチャネルA202から
チャネルB204にデータを持つメッセージを引き渡す
には、ブロック206に示したチャネルAの発信側バッ
ファ0−Nと、ブロック208に示したチャネルBの受
信側バッファ0−Nを使用する必要がある。セット20
6、208のバッファの各グループは"バッファ・セッ
ト"と呼ばれる。メッセージが送られるとき、発信側バ
ッファのリクエスト領域210にコマンド・リクエスト
がロードされ、リクエストはリンクを通して受信側バッ
ファ・リクエスト領域216に送られる。データが転送
される場合、データは書込み操作のために発信側バッフ
ァ・データ領域214から受信側バッファ・データ領域
220に送られるか、または読取り操作のため、受信側
バッファ・データ領域220から発信側バッファ・デー
タ領域214に送られるか、いずれかである。
【0054】各データ・バッファ領域の長さは、様々な
リンク・データ・ブロック長に対応できる。ブロック長
は常に2の累乗であり、最大でバッファ・データ領域2
14、220の全長である。データ転送はコマンド・リ
クエストへの応答に必要になることがある。また2つ以
上のリンク・フレームと、リンク上で2回以上の交換が
必要になることもある。データ転送が完了した後、受信
側バッファ応答領域218に制御応答がロードされ、指
令システムのリンクを通して発信側バッファ応答領域2
12に送られ、コマンドが被指令システムによって正常
に完了したかどうかが示される。
【0055】リンクの一端からもう一端へ転送される情
報は全て、リンクのいずれかの方向に転送されるリンク
・フレームに含まれる。この情報は常に特定のバッファ
領域をターゲットにし、ターゲット情報はフレーム内の
リンク制御ワードに含まれる。このターゲット情報によ
り、フレームを任意の順序でリンクを通して多重化する
ことができる。図2の例で、チャネルAはバッファ・セ
ット1の書込みコマンド、これに続くバッファ・セット
0の書込みデータ・フレーム、これに続くバッファ・セ
ット0の制御応答等を送ることができる。コンピュータ
要素は確立されるリンクの数とタイプに応じて、いろい
ろな数の発信側、受信側のバッファを動的にセット・ア
ップできることに注意されたい。
【0056】この実施例に用いられるフレーム形式を図
3に示す。フレームが転送されないときは、リンクでア
イドル・ワード(IDLE)310が連続的に送られ
る。フレームが転送されるときは、フレームはリンク制
御ワード(LC)302であるデータ・ワードで始ま
る。図4にリンク制御ワード302の様々なフィールド
を示す。これらのフィールドはフレームの形式とタイプ
を識別し、バッファ・セット領域を指定し、トランシー
バとリンクの状態を制御する。
【0057】図3のフレームはまたリンク制御CRC
(巡回冗長検査)ワード304とこれに続くリンク制御
ワードを持つ。リンク制御CRCワード304は、従来
はリンク制御ワードの値から生成される。リンク制御C
RCワードはレシーバでチェックされ、受信フレームの
リンク制御ワードの有効性がテストされる。
【0058】CRCフィールド304には情報フィール
ド306が続き、これに情報フィールドCRCワード3
08が続く。情報フィールドCRCワードは、従来は情
報フィールド306の値から生成される。情報フィール
ドCRCワードは、レシーバでチェックされ、受信フレ
ームの情報フィールドの有効性がテストされる。
【0059】制御フィールドと情報フィールドの2種類
のフレームがある。制御フィールドは情報フィールドを
持たない。制御フィールドのいくつかのタイプは、リン
ク制御ワード302とリンク制御CRCワード304し
か含まない。情報フィールドはリンク制御ワード30
2、リンク制御CRCワード304、情報フィールド3
06、及び情報CRCワード308を持つ。情報フィー
ルド306は、例えば1個乃至1024個のワードを保
持する。情報フィールドは、リンクの一端のバッファ・
セット領域から、もう一端のバッファ・セット領域に送
られた情報を保持する。
【0060】図4はリンク制御ワード302の詳細を示
す。形式ビット402はフレームが情報フィールド30
6を保持しているかどうかを示す。コマンド・リクエス
ト、応答、及びデータのフレームは全て情報フィールド
を持ち、確認フレームと拒否フレームは情報フィールド
を持たない。"タイプ"・フィールド404はリクエス
ト、応答またはデータ・フレームを指定する。バッファ
・セット番号406は、どのバッファ・セットがターゲ
ットかを指定する。Aビット408には2つの用途があ
る。コマンド・リクエスト・フレームでは、Aビット状
態はデータ・フレームが続くことを示し(被指令システ
ムでは書込み操作)、応答フレームでは、Aビット状態
はデータ・フレームが応答フレームの前に付くことを示
す(読取り操作)。データ・フレームでは、Aビット状
態は続くデータ・フレームが残っていることを示す。
【0061】特定のバッファに転送された情報は2つ以
上のフレームから受信できる。あるバッファ領域で最初
のフレームは常に開始ビット410がLCワード302
でオン状態にセットされ、このビットのオン状態はカウ
ント・フィールド412の有効性を示す。カウントは、
データ・フレームでバッファに転送される256バイト
・グループの総数を示し、このカウントは、現在転送さ
れているフレームの長さは示さない。トランスミッタは
フレームの終わりに情報フィールド306の任意の25
6バイト境界でCRCワード308を付けることができ
る。トランスミッタがバッファへの転送を再開すると
き、トランスミッタは新しいフレームを、リンク制御ワ
ードの開始ビット410が0にリセットされた状態で始
める。開始ビットの0値は、このフレームが同じバッフ
ァをターゲットにした前のフレームの情報フィールドの
続きである情報フィールドを保持することを示す。レシ
ーバは、全てのフレームで転送された256バイト・グ
ループの総数が受信され、最初のフレームのリンク制御
ワードで転送されたカウント412を満足したとき、情
報が全て受信されたことを認識する。バッファ領域は、
1から総数256バイトのグループのまで任意個数のフ
レームによって転送できる。例えば1024バイトのバ
ッファ領域は1から4までの任意個数のフレームで転送
できる。
【0062】実施例は順序番号を与えないが、各フレー
ムは後のフレーム及び前のフレームとインターロックさ
れる。インターロックはリンクのプロトコルによって行
われる。例えば、あるバッファ・セットの各メッセージ
はコマンド・リクエスト・フレームで始まり、これにデ
ータ・フレーム、そして応答フレームが続く。これらの
タイプのフレームはそれぞれ一意のリンク制御ワードを
持つ。各フレームが異なるバッファ・セット領域をター
ゲットにすることがあるからである。図5、図6にプロ
トコルを示す。
【0063】図5は3つの動作例を示す。最初の例は"
情報データなし"の例で、データ転送のないコマンド・
リクエスト・フレームと応答フレームを表す。この例
で、発信側システム502(指令システム)はリクエス
トをメッセージ・コマンド・ブロック(MCB)フレー
ム506で受信側システム504(被指令システム)に
送る。このフレームのLC302はそのAビット408
が0にセットされる。後に続くデータがないからであ
る。リクエスト・フレームが処理された後、受信側シス
テム504は応答をメッセージ応答ブロック(MRB)
フレーム508で送る。このフレームのLCもAビット
が0にセットされる。応答フレームの前に付くデータは
ないからである。
【0064】図5の第2の例は、1つのリンク・データ
・ブロックの受信側システムの書込み操作である。この
例でMCBフレーム510のAビットは0にセットされ
る。後に続くリンク・データ・ブロックが少なくとも1
つあるからである。受信側がリクエスト・フレームとそ
れに関連したデータを処理した後、受信側はMRBを含
む応答フレーム514を送る。MRBフレームのAビッ
トは0にセットされる。応答の前に続くデータ・フレー
ムはないからである。図5の第3の最後の例は、1つの
リンク・データ・ブロック・フレームを持つ読取り操作
である。この例でMCBフレーム516はAビットが0
にセットされる。後に続くデータ・フレームがないから
である。受信側システムはリクエスト・フレームを処理
し、リンク・データ・ブロック(DATA)・フレーム
518を返す。このDATAフレームのAビットは0に
セットされる。後に続くデータ領域がないからである。
受信側システムはDATAフレームを送った後、応答
(MRB)フレーム520を送る。このMRBフレーム
のAビットは1にセットされる。応答フレームの前に少
なくとも1つのリンク・データ・ブロックが付くからで
ある。
【0065】図6は複数のリンク・データ・フレームを
転送する2つの例を示す。最初の例で、2つのリンク・
データ・ブロックを転送する「書込み」操作がコマンド
発信側によって実行される。1つのリンク・データ・ブ
ロックの例と同様、MCBフレーム602と第1リンク
・データ・ブロック・フレーム604が発信側によって
送られる。この第1リンク・データ・ブロック・フレー
ム604はAビットが1にセットされ、後に続くリンク
・データ・ブロック・フレームがあることが示される。
受信側システムは第1データ・フレームを処理し、それ
に保持されたデータ・ブロックをその主メモリに移動さ
せ(後述)、次のデータ・フレームの次のリンク・デー
タ・ブロックを受信するためにバッファ領域を空ける。
次に受信側は確認(ACK)フレーム606を発信側シ
ステムに送り、最後のフレームが正常に受信されたこと
を示す。ACKフレームは情報フィールド306を保持
せず、そのLCワードはバッファ・セットを識別する。
発信側システムはACKフレームに応答するため、次の
(最後の)リンク・データ・ブロック(DATA)フレ
ーム608を送る。このDATAフレームのAビットは
0にセットされる。後に続くリンク・データ・ブロック
・フレームがないからである。受信側は、リクエストと
それに関連するデータを処理した後、応答、MRBフレ
ーム610を送る。MRBフレームはAビットが、1つ
のリンク・データ・ブロックの書込みの例と同様、オフ
である。
【0066】図6の第2の例は、それぞれデータ・ブロ
ックを持つ2つのデータ・フレームを受信側システムか
ら発信側システムへ転送する「読取り」操作である。発
信側システムはMCBフレーム612を送ることによっ
て操作を開始する。受信側は、リンク・データ・ブロッ
ク・フレーム(DATA)614を返すことによって応
答する。このDATAフレームのAビットはオンで、少
なくとももう1つのデータ・ブロック・フレームが後に
続くことを示す。発信側がリンク・データ・ブロックを
受信し、その主メモリに移動させるとバッファ領域は空
き、次のフレームの次のリンク・データ・ブロックを受
信できるようになる。発信側は確認(ACK)616を
送り、最後のデータ・フレームが正常に受信されたこと
を示す。(ACKフレーム616は書込みの場合のAC
Kフレーム606と同様である。)受信側はACKに応
答するため、次のリンク・データ・ブロック・フレーム
(DATA)618を発信側システムに送る。このDA
TAフレームのAビットはオフで、最後のリンク・デー
タ・ブロックが保持されることが示される。受信側はD
ATAフレームを送った後、応答(MRB)フレーム5
20を送る。このMRBフレームのAビットは1にセッ
トされる。少なくとも1つのリンク・データ・ブロック
が応答の前に続くからである。
【0067】図5、図6の例では、1つのバッファ・セ
ットを使用した1つの操作しか示していないが、複数の
バッファ・セットをリンクによって同時に使用できるこ
と、また、リンク上のトラフィックは、複数のバッファ
・セットに送られたフレームをインタリーブできること
は理解されたい。
【0068】図3に戻るが、LCワード302と情報フ
ィールド306は、フレームについて独立したエラー・
チェック機能を持つ。このチェックは、シリアル転送の
データのエンコーディング(8ビット/10ビット・コ
ード)及びCRCフィールド304、308により実現
される。通常、転送エラーは一度に数ビットにしか影響
を与えず、転送エラーにより同じフレームのLCワード
302及び情報フィールド306が破壊される可能性は
小さい。LCワードがエラーの場合はフレーム全体が失
われるとみなされる。レシーバは、フレーム・タイプ、
バッファ・セット番号等を含めて、フレームについて何
も認識しないからである。LCワードがエラーでなく、
情報フィールドだけがエラーの場合はLCワードは、破
壊されたフレームのレシーバに、破壊されたフレームの
再送をセンダに依頼するのに充分な情報を提供する。情
報フィールドは通常はLCワードよりかなり長いので、
転送エラーが情報フィールドに影響を与え、LCワード
には影響を与えない可能性は大きくなる。つまりフレー
ムに影響を与えるほとんどの転送エラーは、LCワード
により提供される情報を使用してリトライができる。図
7に、リンク・データ・ブロック・フレーム(DAT
A)704にエラーのある「書込み」操作を示す。受信
側はエラーを検出し、拒否フレーム(REJ)706を
発信側に送り返し、リンク・データ・ブロックの再送を
要求する。次に発信側システムはリンク・データ・ブロ
ック708を再送する。
【0069】図8に、システム間チャネル・リンク80
6によって結合機構804(被指令システム)に接続さ
れた中央処理コンプレックス802(指令システム)を
示す。中央処理コンプレックス802は、その接続をシ
ステム間チャネル・リンク806に提供する"センダ"の
システム間チャネル808を含む。結合機構は、その接
続をシステム間チャネル・リンクに提供する"レシーバ"
のシステム間チャネル810を含む。中央処理コンプレ
ックス802と結合機構804は両方ともメモリ(それ
ぞれ812、814)を持つ。
【0070】中央処理コンプレックスの説明:コンピュ
ータ間でメッセージを転送するため用いられるリンク・
プロトコルについて説明してきたが、ここで、主記憶域
(メモリ902)を共有する複数のプロセッサ904を
含む中央処理コンプレックス(CPC)の詳細について
述べる。図9は中央処理コンプレックスの内部を示す。
メモリ902はプロセッサ904に接続され、プロセッ
サ904はCPU(中央処理システム)またはSAP
(支援補助プロセッサ)等である。システム間チャネル
(ISC)はメモリ902とプロセッサ904の両方に
接続されたデータ・ムーバ906を含む。データ・ムー
バ906はまたリンク・コントローラ908、及び結合
機構に接続するハードウェア・システム間チャネル・リ
ンク(ISCリンク)910に接続される。
【0071】CPCのプログラムはコマンドを結合機構
に送るため、SEND MESSAGE命令を使用する。SEND MESSA
GE命令が実行される前、CPCプログラムはメモリ90
2のその制御ブロックとデータ・ブロックをセット・ア
ップする。これら制御ブロックの1つはメッセージ操作
ブロック(MOB)920で、これは、メッセージ・ブ
ロック・アドレス・リスト(MBAL)932と呼ばれ
る別の制御ブロックのアドレス(MBAL ADDRESS)を含む
エントリのシーケンスを保持する。MOB920の他の
エントリとして、MBALの長さ(MBAL LENGTHフィー
ルド924)、各メッセージ・データ・ブロックの長さ
(BLOCK LENGTHフィールド926)、及びデータ転送の
方向(DIRECTIONフィールド928)がある。
【0072】MBAL932は、ここではメッセージ・
ブロック・アドレス・ワード(MBAW)936と呼ば
れるメッセージ・データ・ブロック934のアドレスを
含む、順次エントリ936のリストを保持する。MBA
Wはそれぞれ、メモリ902のどこかにある記憶ブロッ
クを見つける。本発明の実施例では、MBALは最大1
6のエントリを保持することができる(MBALは任意
個数のエントリを持つことができる)。メッセージ・デ
ータ・ブロック934はそれぞれ、256バイト、51
2バイト、1024バイト、2048バイトまたは40
96バイトの長さである(それぞれ2の累乗)。
【0073】制御ブロックとデータ・ブロックがセット
・アップされた後、CPCプログラムはSEND MESSAGE命
令(従来から知られている命令)を発行する。CPCプ
ロセッサは、パラメータその他のオペランド情報がメモ
リ(図示なし)にあるSEND MESSAGE命令を実行する。こ
れはシステム間チャネル・ポートとバッファ・セットに
送られる。"データ構造識別子"(構造ID)がMCBに
追加され、指令システム(結合機構)に特定のデータ構
造が通知される。このデータ構造は、SEND MESSAGE命令
により開始されるデータ転送の対象になる。システム間
チャネル・ポートとバッファ・セットの組み合わせはパ
スと呼ばれる。パスが選択されると、コマンドがCPC
のデータ・ムーバ906に送られ、これにMCB(図示
なし)をリンク・コントローラ908及びリンク910
を通して転送することが指示される。MCB(メッセー
ジ制御ブロック)を結合機構に送るためのSEND MESSAGE
コマンドの一般動作は従来のとおりである。
【0074】次にCPCプロセッサは別のコマンド(リ
スト・コマンドと呼ばれる)をデータ・ムーバ906に
送り、これに、メッセージ・データ・ブロックをリンク
を通して転送するよう指示する。リスト・コマンド命令
のマイクロコードは、MOB920から数個のパラメー
タを集め、データ・ムーバ906のハードウェア・レジ
スタに送る。これには、MBALアドレス・レジスタ
(MBAL ADDRESS)940に送られるMBAL ADDRESS92
0、MBAL長さレジスタ(MBAL LENGTH)942に送
られるMBAL LENGTH924、ブロック長レジスタ(BLOCK
LENGTH)944に送られるBLOCK LENGTH926、及び
方向ビット・レジスタ(DIRECTION)952に送られるD
IRECTIONビット928が含まれる。ここでデータ・ムー
バには、SEND MESSAGE命令に伴うメッセージ・データ・
ブロックを全て、CPCプロセッサからの援助なしに自
動的に送るため必要な情報がある。
【0075】ここで述べた実施例で、CPCのメッセー
ジ・データ・ブロック長は、各データ・フレームの情報
フィールドのリンク・ブロック長と同じにされるが、本
発明では、リンク・ブロック長を任意の値にすることが
でき、2の累乗が望ましい。メッセージ・ブロックとリ
ンク・データ・ブロック(データ・フレーム)の長さ
は、それぞれCPCの同じ長さになるよう選択されるの
で、この詳細な実施例では、CPC M/L比の値に1
つの値が選択される。この比はCPCブロック長のリン
ク・ブロック長に対する比である。そこで、中央処理コ
ンプレックスでは、プロセッサはムーバ906のM/L
RATIOレジスタ946に1つの値をセットする。
【0076】後で示すが、リンクのもう一端の結合機構
のデータ・ムーバ1006は、長さがCPCメモリ・ブ
ロックとは異なるCFのデータ・メモリ・ブロックを処
理し格納することができ、CFは、CPC M/L比と
は異なるCF S/L比を使用できる。
【0077】CPCデータ・ムーバ906に対して、DI
RECTIONビット・レジスタ952にセットされるビット
のオン状態によりCPCの「書込み」コマンドが指定さ
れ、このコマンドのデータ・フレームが中央処理コンプ
レックスから結合機構に送られデータ構造としてCFメ
モリに書込まれる予定であることが示される。図6の上
半分は、2つのデータ・ブロック・フレームをCFに転
送する書込み操作を表す。先に述べたように、コマンド
はリンクを通して送信予定の構造の構造IDを含むMC
B602を送ることによって開始される。次に送られる
フレームは最初のデータ・フレーム604である。最初
のデータ・フレームを送る前、データ・ムーバ906は
CPCメモリ902から、第1データ・フレーム604
で送られる最初のデータ・ブロックを、MBALアドレ
ス922がロードされたMBAL ADDRESSレジスタ940の
現在の内容を使用してフェッチする。MBALアドレス
は、最初のMBAW932をフェッチし、それをMBA
Wレジスタ950にロードするため用いられる。次にMB
AL ADDRESSレジスタ940は、MBAL932の次のM
BAWアドレスの位置に増分される。好適な実施例で
は、各データ・ブロック・アドレスは8バイトで、MBAL
ADDRESSレジスタは8つ増分される。データ・ムーバ9
06はまたMBAL LENGTHレジスタ942を1つ増分し、
これは構造の転送に用いられる残りのMBAWのカウン
トを維持する。この例では、2つのデータ・ブロックが
転送されるので、MBAL LENGTHレジスタ942は、リス
ト・コマンドの操作によって2にセットされた。MBAL L
ENGTHレジスタ942を減分した後、その値は1であ
る。データ・ムーバ906は次に次のMBAW936を
MBAWレジスタ950に置き、このレジスタの内容を
使用して、メモリからメッセージ・データ・ブロック9
34をフェッチする。メッセージ・データ・ブロック9
34が届くと、データ・ムーバ906はMBAL LENGTHレ
ジスタ942の内容を調べ、これがデータ構造について
転送される最後のメッセージ・データ・ブロックか確認
する。
【0078】MBAL LENGTHレジスタ942の内容はこの
例ではまだ0ではないので、これは最後のデータ・ブロ
ックではなく、Aビットは、最初にフェッチされたメッ
セージ・データ・ブロックを転送するため用いられる最
初のデータ・フレームで1にセットされる。データ・ム
ーバ906がAビットの設定を確認した後、これは他の
フレーム情報で、データ・ブロックと共にCPCリンク
・コントローラ908に送られる。リンク・コントロー
ラは次にデータ・フレーム604をリンク910を通し
てCFに送る。
【0079】データ・ムーバ906は、データ・ブロッ
クを送った後、MBAL ADDRESSレジスタ940の内容を使
用して次のMBAW936をフェッチする。MBAL LENGT
Hレジスタ942の内容が0のとき、これは送られる最
後のデータ・ブロックであり、MBAL ADDRESSレジスタ9
40は増分されない。でなければMBAL ADDRESSレジスタ
940のアドレスが再び、MBAL932の次のMBA
W936の位置に増分され、MBAL LENGTHレジスタ94
2は1つ減分される。データ・ムーバ906は次に、フ
ェッチされたMBAW936をMBAWレジスタ950
に置き、リンク・コントローラ908からのACK/R
EJ信号を待つ。
【0080】ACK606が結合機構から受信された場
合、リンク・コントローラ908は、データ・ムーバ9
06に対して信号を生成し、これに、次のデータ・フレ
ームの送信を指示する。データ・ムーバ906はMBA
Wレジスタ950の内容を使用して、メモリから次のメ
ッセージ・データ・ブロック936をフェッチする。メ
ッセージ・データ・ブロック934が届くと、データ・
ムーバ906は再び、MBAL LENGTHレジスタ942の内
容を調べ、これ(2番目のもの)が転送される最後のデ
ータ・ブロックか確認する。この例(データ・ブロック
が2つ)では、MBAL LENGTHレジスタ942の内容は0
であり、これは最後のデータ・ブロックなので、データ
・フレームのAビットは0にセットされる。データ・ム
ーバ906は、Aビットの設定を確認した後、この情報
をデータ・ブロックと共にリンク・コントローラ908
に送る。リンク・コントローラは次にデータ・フレーム
608をリンク910を通して送る。
【0081】結合機構は、最後のデータ・ブロックを受
信した後、その安全な到着を確認するため、MRB61
0を中央処理コンプレックスに送り返す。
【0082】データ・ムーバ906に対して、DIRECTIO
Nビット952の状態をオフにセットすることによっ
て、CPCの「読取り」コマンドが指定される。これに
よりCFで構造がフェッチされ、リンクを通してデータ
・フレームとして中央処理コンプレックスに送ることが
要求される。図6の下半分は2つのデータ・ブロックを
持つ読取りコマンドの操作を表す。CPC MCBコマ
ンド・フレーム612がリンクを通して送られ、コマン
ドのデータ構造IDが指定された後、データ・ムーバ9
06は、最初のデータ・フレーム614の受信に備える
ため、MBAL ADDRESSレジスタ940の内容を使用して、
最初のMBALエントリ936をフェッチする。MBAL L
ENGTHエントリ924は2の値を保持するが、これは2
つのデータ・フレームがこの例ではある構造について転
送されているからである。MBAL ADDRESSレジスタ940
のアドレスは、MBAL932の次のMBAWの位置に
増分される。データ・ムーバ906はまた、MBAL LENGT
Hレジスタ942を1つ減分する。MBAL LENGTHレジスタ
942を減分した後、その値は1になる。データ・ムー
バ906は次に、フェッチされたMBAW936をMB
AWレジスタ950に置き、このレジスタの内容を使用
して、メッセージ・データ・ブロック934を結合機構
から受信されたときにメモリに格納する。
【0083】結合機構は最初のデータ・フレーム614
を中央処理コンプレックスに送り、このデータ・フレー
ムの先頭が受信されたとき、リンク・コントローラ90
8は信号をデータ・ムーバ906に送る。CPCデータ
・ムーバ906は応答するため、必要なデータ・ブロッ
クをリンク・コントローラの対応するメッセージ・バッ
ファ960から移動する。このデータ・ブロックは次に
そのメモリ位置にMBAWレジスタ950のアドレスを
使用して送られる。リンク910から全てのデータが正
常に受信され、CPCメモリのメッセージ・データ・ブ
ロック位置934に格納された後、データ・ムーバ90
6は信号をリンク・コントローラ908に送る。リンク
・コントローラ908は次にACK信号616を結合機
構に送る。データ・ムーバ906は信号をリンク・コン
トローラに送った後、次のMBAW936のアドレスを
含むMBAL ADDRESSレジスタ940の内容を使用して次の
データ・ブロックの到着に備える。MBAL ADDRESSレジス
タ940のアドレスは、MBAL932の次のMBAL
エントリ936に増分され、その内容(次のMBAW)
をMBAWレジスタ950にコピーする。データ・ムー
バ906はまたMBALLENGTHレジスタ942を1つ減分
し、これはここで0に達する。この例でこれは受信され
る2つのデータ・ブロックの最後のものだからである。
【0084】データ・ムーバ906は、フェッチされた
MBAW936をMBAWレジスタ950に置いた後、
これは、結合機構から受信されたときに次のメッセージ
・データ・ブロック934をCPCメモリに格納するた
め用いられる。
【0085】その間、結合機構が最初のデータ・フレー
ムについてACK616をCPCから受信したとき、C
Fは応答するため、最後のデータ・フレーム618を中
央処理コンプレックスに送る。このデータ・フレームの
先頭が受信されると、リンク・コントローラ908は信
号をデータ・ムーバ906に送る。データ・ムーバ90
6は応答するため、データ・ブロックをリンク・コント
ローラの対応するメッセージ・バッファ960から引き
出す。このデータ・ブロックは次に、MBAWレジスタ
950に現在あるアドレスを使用してメモリに移動され
る。リンク910から全てのデータが正常に受信されC
PCメモリのMBALアドレスに格納された後、データ
・ムーバ906は受信されたデータ・フレームそれぞれ
でMBAL LENGTHレジスタ942の内容を調べる。レジス
タ942の値が0のときは、信号をリンク・コントロー
ラ908に送る代わりに、データ・ムーバ906はDATA
RECEIVEDレジスタ990の内部インジケータ・ビット
をセットし、構造について全てのデータ・ブロックが正
常に受信されたという事実を管理する。
【0086】結合機構は、最後のデータ・フレームを送
った後すぐにMRB620を送る。CPCリンク・コン
トローラ908はMRBを受信すると、そのデータ・ム
ーバ906に通知を出す。これは読取りコマンドなの
で、データ・ムーバ906はそのDATA RECEIVEDレジス
タ990を調べ、これが構造について全てのデータ・ブ
ロックの正常な到着を示すか確認する。全てのデータ・
ブロックが正常に受信された場合、最初にSEND MESSAGE
命令を発行したCPCプログラムに通知が出される。
【0087】結合機構の説明:ここで結合機構の詳細に
移る。図10に、これに関係する内部を示す。これは中
央処理コンプレックス側のデータ・ムーバ906とリン
ク・コントローラ908に似ているデータ・ムーバ10
06とリンク・コントローラ1008を含む。CPUま
たはSAPいずれかでよいCFプロセッサ1004にC
Fメモリ1002が接続される。CFシステム間チャネ
ルは、メモリ1002とプロセッサ1004の両方に接
続されたデータ・ムーバ1006を含む。データ・ムー
バ1006はまたリンク・コントローラ1008に接続
される。CFは中央処理コンプレックスが接続された同
じシステム間チャネル・リンク910に接続される。
【0088】結合機構は従来技術のLOCATE CHANNEL BUF
FERプロセッサ命令を使用してメッセージ・コマンド
(MCB)を受信し、従来技術のSIGNAL CHANNEL BUFFE
Rプロセッサ命令を使用してMRBを含む応答フレーム
を送る。
【0089】本発明は、CPCとCFとの間でいずれか
の方向でデータ構造の全てのデータ・ブロックを転送す
るため、後述するTRANSFER STRUCTURE(TS)命令を提
供する。TS命令はこの実施例では、CPCからSEND M
ESSAGEコマンドを受信するCFに応答して、CF(被指
令システム)でのみ実行され、構造がリンクを通してC
PCとCFとの間で、いずれかのリンク方向で転送され
る。
【0090】CFプロセッサが、MCBが到着したこと
を検出する結合機構の制御コード(CFCC)を実行し
た後、CFCCはMCBを調べ、ある場合はCFが実行
することになるデータ転送のタイプを確認する。CFは
書込みまたは読取りのいずれかのコマンドを実行し、デ
ータ構造をリンクを通して結合機構へ、または結合機構
からCPCへ転送する。データ構造は長さの等しい、結
合機構のメモリ1002に分散したデータ・ブロックの
集まりである。構造のデータ・ブロックは、CFメモリ
では連続ではない。MCBコマンド・フレームはリンク
を通して転送される構造の構造ID及びデータ・フレー
ムの長さと個数を指定する。例えば、MCBフレーム
は、構造について転送予定の長さがそれぞれ2048バ
イトの5つのデータ・フレームを指定できる。データ構
造はCPCとCFのメモリに置かれた後、ブロック長と
ブロック数がCFメモリではCPCメモリとは異なるこ
とがある。例えば構造は、CFメモリでは長さがそれぞ
れ1024バイトで、CPCメモリではそれぞれ204
8バイトの10個のデータ・ブロックを持つことができ
る。
【0091】TRANSFER STRUCTURE命令が実行される前、
CFプロセッサによって実行されているCFCCは、C
Fメモリ1002のCF制御ブロックとパラメータをセ
ット・アップする。構造のデータ・ブロック1034
は、通常は前もってセット・アップされている。いくつ
かのコマンドは構造を割振り、CFCCはまた構造デー
タ・ブロック1043をセット・アップしなければなら
ない。構造ブロック・アドレス・リスト(SBAL)1
032は、構造の各ブロックのCFメモリにアドレスを
保持する。TRANSFER STRUCTURE制御ブロックとパラメー
タ1020は、複数のエントリを保持し、1つのエント
リ1022は、構造ブロック・アドレス・リストSBA
L1032のアドレスを保持する。SBALは、構造ブ
ロック・アドレス・ワード(SBAW)を保持する複数
のエントリを持つ。SBAWは、最初のSBAW103
6を起点に、現在の構造のブロックのアドレスを保持で
きる。制御ブロック1020はまた、SBAL1024
の有効構造エントリの個数を保持するエントリ(SBAL L
ENGTH)1024、CPCコマンド・フレームで受信さ
れた各リンク・データ・ブロックの長さまたはデータ・
フレーム長を保持する(BLOCK LENGTH)エントリ102
6を持つ。CFの構造ブロック長のリンク・ブロック長
に対する比であるS/L RATIO1028(後述)を保持す
るエントリ、及びデータ転送の方向のインジケータを保
持するDIRECTIONエントリ1030を持つ。
【0092】SBALは、好適な実施例では、現在の構
造のブロックについて有効アドレスを保持する1乃至2
56のエントリを持ち得、BLOCK LENGTH1026は、各
フレームの情報フィールドの長さを保持する。これは2
56バイト、512バイト、1024バイト、2048
バイトまたは4096バイトである。従って、異なる構
造について、長さと個数の異なるデータ・ブロックに容
易に対応できる。
【0093】S/L RATIO1028は構造ブロック長のリ
ンク・ブロック長に対する比を指定する。リンク・ブロ
ック長はデータ・フレームのリンク・データ・ブロック
の長さであることに注意されたい。CF構造データ・ブ
ロックとリンク・フレームの長さは同じではないことが
あるので、CFデータ・ムーバ1006は、フレームの
再送を要する通常のリンク転送操作とリンク・エラー回
復操作の両方について、S/L比により、CFブロック
を各リンク・データ・フレーム長にパッケージ化する方
法を決定する必要がある。
【0094】図11乃至図13に、異なるS/L RATIO1
028について説明した3つの例を示す。3つの例のい
ずれも中央処理コンプレックスから結合機構へ、または
結合機構から中央電子コンプレックスへ、データ構造は
いずれかの方向にも転送できる。最も簡単な状況は、S/
L RATIOが図11に示したものと等しい場合である。こ
の例で中央処理コンプレックスは、CPC構造の4つの
メッセージ・データ・ブロックを格納する。それぞれの
ブロックは2048(2K)バイトを保持する。結合機
構はまたCFの同じ構造の4つのデータ・ブロックを格
納する。それぞれのブロックは2048(2K)バイト
を保持する。
【0095】MBAL1102には4つのエントリがあ
り、MBALはリンクでのデータ・フレームの転送方法
を決定するので、リンクには4つのデータ・フレーム1
104a、1104b、1104c、1104dがあ
る。結合機構では、SBAL1106はまた4つのエン
トリを持つ。S/L RATIOは1に等しいからである。従っ
て各MBAL1102エントリは、1つのリンク・フレ
ームと1つのSBAL1104エントリに対応する。図
12はS/L RATIOが4である例を示す。この例で中央処
理コンプレックスは4つのメッセージ・データ・ブロッ
クを転送する。それぞれ4096(4K)バイトを保持
する。結合機構は16の構造データ・ブロックを持ち、
それぞれ1024(1K)バイトを保持する。図11と
同様、MBAL1110には4つのエントリがあり、M
BALは、リンクでのデータ・フレームの転送方法を決
定するので、リンクには4つのデータ・フレーム111
2a、1112b、1112c、1112dがある。結
合機構では、SBAL1114には16のエントリがあ
り、S/L比は4に等しくなる。従って各MBAL11
10エントリは、通常どおり1つのリンク・フレーム、
及び4つのSBAL1114エントリに対応する。この
例は、次の結合機構の詳細説明でも使用する。
【0096】図13は、S/L RATIOが0.5の例を示
す。この例で中央処理コンプレックスは、ある構造でそ
れぞれのブロックが512バイトを保持する8つのデー
タ・ブロックを格納し、結合機構は同じ構造について、
それぞれのブロックが1024(K)バイトを保持する
4つの構造データ・ブロックを格納する。MBAL11
20は8つのエントリを持ち、リンクを通してデータ・
フレームがどう転送されるかを決定するので、リンクに
は8つのデータ・フレーム1122(a乃至h)があ
る。結合機構ではSBAL1124に4つのエントリが
ある。4つの構造データ・ブロックに対して1つで、S
/L比は0.5に等しくなる。従って、各MBAL11
20エントリは1つのリンク・フレームに対応し、CF
側でそのSBAL1124エントリそれぞれにつき2つ
のフレームが受信される。
【0097】図13で、8つのSBALエントリがデー
タ・ムーバ1006に引き渡され、受信された8つのデ
ータ・フレームそれぞれが格納される。次に、4つのC
Fデータ・ブロックそれぞれについて、2つのSBAL
エントリ1032が用いられる。4つの構造データ・ブ
ロック1126a、1126b、1126c、1126
dそれぞれの最初のエントリは、各CFデータ・ブロッ
クの開始アドレスであり、4つの構造データ・ブロック
1128a、1128b、1128c、1128dそれ
ぞれの第2エントリは、リンク・ブロック長(またはデ
ータ・フレーム長)を構造データ・ブロックの開始アド
レスに追加することによって生成される。
【0098】先の例では、整数、2つのS/L RATIOの累
乗しか示していない。S/L比をこれらの値に制限する
ことで、本発明の実施例は簡素になるが、本発明は、任
意の値のS/L比に対応する。
【0099】TRANSFER STRUCTURE命令は、図10の結合
機構で次のように動作する。CFCCは、構造データ・
ブロックの必要な制御ブロック、パラメータ及び位置
(つまり構造の1020、1032及びその内容)を全
て生成した後、TRANSFER STRUCTURE命令を発行する。TR
ANSFER STRUCTURE命令を実行するプロセッサのコード
は、リスト・コマンドというコマンドをデータ・ムーバ
1006に送り、これに、リンクを通してDIRECTIONレ
ジスタ1052で指示された方向に、構造データ・ブロ
ックを転送するよう指示する。TRANSFER STRUCTURE命令
はリスト・コマンドを使用し、パラメータをTRANSFER S
TRUCTURE CONTROLS AND PARAMETERS1020のエントリ
からデータ・ムーバ1006に送る。これは、SBAL ADD
RESS1022をSBALアドレス・レジスタ(SBAL ADD
RESS)1040を送信すること、SBALLENGTH1024を
SBAL長さレジスタ(SBAL LENGTH)1042に送信
すること、BLOCK LENGTH1026をブロック長レジスタ
(BLOCK LENGTH)1044に送信すること、S/L RATIO
1028をS/L RATIOレジスタ1046に送信するこ
と、及びDIRECTIONビット1030を方向ビット・レジ
スタ(DIRECTION)1052に送信することを含む。こ
こでデータ・ムーバは、CFプロセッサの援助を受けず
に、TRANSFER STRUCTURE命令に伴う構造データ・ブロッ
ク全てを自動的に送信するのに必要な情報を持つ。
【0100】図12に示したブロック長を用い、読取り
と書込み両方の操作について説明する。書込み操作の
間、DIRECTIONビット1052でデータ・ムーバ100
6に対して指定されるように、データ・フレームは中央
処理コンプレックスから結合機構に送られる。MCBが
リンクを通して送られた後、最初のデータ・フレーム1
112aが受信される。リスト・コマンドを受信した
後、データ・ムーバ1006はSBAL COUNTレジスタ10
48をS/L RATIOレジスタ1046の値に初期化する。
データ・ムーバ1006は次にSBAL ADDRESSレジスタ1
040の内容を使用して、最初のSBAW1036をフ
ェッチする。SBAL ADDRESSレジスタ1040のアドレス
は、SBAL1032の次のアドレスの位置に増分され
る。中央処理コンプレックスのMBAL ADDRESSレジスタ9
40と同様に、各構造データ・ブロック・アドレスは8
バイトなので、SBAL ADDRESSレジスタ1040は8つ増
分される。データ・ムーバ1006はまたSBAL LENGTH
レジスタ1044を1つ減分し、SBAL COUNTレジスタ1
048を1つ減分する。この例でS/L RATIOは4であ
り、転送されるリンク・データ・ブロック(またはデー
タ・フレーム)は4つあるので、MBAL LENGTHレジスタ
1042の値はここで15であり、SBAL COUNTレジスタ
1048の値はここで3である。データ・ムーバ100
6は次に、フェッチされたSBAW1036をSBAW
レジスタ1050に置き、リンク・コントローラ100
8からの信号を待つ。
【0101】第1データ・フレーム1112aの先頭が
中央処理コンプレックスから届いたとき、リンク・コン
トローラ1008は信号をデータ・ムーバ1006に送
る。データ・ムーバ1006は応答するため、データ・
フレームをリンク・コントローラ1008の対応するメ
ッセージ・バッファ1060から引き出し始める。デー
タ・ムーバ1006はSBAWレジスタ1050のアド
レスを使用し、第1データ・フレーム1112aを結合
機構のメモリに格納し始める。構造データ・ブロック1
034に格納されたデータの量は、データ・ムーバ10
06によって計算される。そのためBLOCK LENGTHレジス
タ1044の内容が、S/L RATIOレジスタ1046の内
容によって割られる。この例でBLOCK LENGTHレジスタ1
044の内容は4096、S/L RATIOレジスタの内容は
4である。計算された各構造データ・ブロックの長さは
従って1024である。好適な実施例では全てのブロッ
クのサイズが2の累乗なので、データ・ムーバ1006
はこれらの計算を簡単に行える。構造データ・ブロック
1034が結合機構メモリ1002に格納された後、デ
ータ・ムーバ1006は、SBAL ADDRESSレジスタ104
0の内容を使用し、次のSBAW1036をフェッチす
る。SBAL ADDRESSレジスタ1040のアドレスは再び、
SBAL1032の次のアドレスの位置に増分され、SB
AL COUNTレジスタ1048は再び1つ減分される。SBAL
COUNTレジスタ1048はこれで値が2になる。データ
・ムーバ1006は次に、フェッチされたSBAW10
36をSBAWレジスタ1050に置き、このレジスタ
の内容を使用して、第1データ・フレーム1112aを
結合機構メモリ1002に格納する操作を続ける。
【0102】このプロセスは、データ・フレーム111
2aがリンク・コントローラ1008から受信され、C
Fメモリ1002に格納されるとき続けられる。SBAL C
OUNTレジスタ1048の値が0に達し、データ・フレー
ムが4つのうち最初の構造データ・バッファ1034に
正常に格納されると、データ・ムーバ1006は信号を
リンク・コントローラ1008に送り、リンク・コント
ローラ1008はそこでACKフレームを中央処理コン
プレックスに送る。
【0103】データ・ムーバ1006は、ACK信号を
リンク・コントローラ1008に送った後、SBAL ADDRE
SSレジスタ1040の内容を使用して、次のデータ・ブ
ロックの到着に備え、次のSBAW1036をフェッチ
し、SBAL COUNTレジスタ1048をS/L RATIOレジスタ
1046の値に初期化する(ここでもこの例では4)。
SBAL ADDRESSレジスタ1040のアドレスは、SBAL
1032の次のアドレスの位置に増分される。データ・
ムーバ1006はまたSBAL LENGTHレジスタ1042を
1つ減分し、SBAL COUNTレジスタ1048も1つ減分す
る。この例ではS/L RATIOは4で、データ・ムーバ10
06は4つのリンク・データ・ブロック(またはデータ
・フレーム)の2番目の受信に備えるので、MBAL LENGT
Hレジスタ1042の値はここで11、SBAL COUNTレジ
スタ1048の値はここで3である。データ・ムーバ1
006は次に、フェッチされたSBAW1036をSB
AWレジスタ1050に置く。
【0104】その間、CPCはACK信号を受信し、応
答するため、4つのデータ・フレームの2番目、111
2bを結合機構に送る。データ・フレームの先頭が受信
されると、リンク・コントローラ1008は信号をデー
タ・ムーバ1006に送り、次のデータ・フレームの格
納が、先に第1データ・フレーム1112aで述べたよ
うに続けられる。
【0105】最後のデータ・フレーム1112dの最後
の構造ブロック1034がデータ・ムーバ1006によ
って処理されるとき、SBAL LENGTHレジスタ1042の
値は0に達し、リンク・コントローラは、この最後の構
造データ・ブロック1034が全て正常に受信され、結
合機構メモリ1002に格納されるまで待機する。SBAL
LENGTHレジスタ1042の値はここで0なので、デー
タ・ムーバはインジケータを結合機構メモリに格納し、
CFCCに全ての構造データ・ブロック1034が受信
されたとの警告を出す。TS命令の書込み操作が完了す
ると、CFCCはMRBフレームを中央処理コンプレッ
クスに送り、CPC書込みコマンドが終結したことを示
す。
【0106】CPC読取りコマンドも同様に、DIRECTIO
Nビット1052をセットすることによって示され、デ
ータ・フレームが結合機構から中央処理コンプレックス
に送られる。MCBフレームがCFによって受信され、
CFCCによって処理された後、CFCCはTRANSFER S
TRUCTURE命令を発行し、リスト・コマンドを実行して制
御情報エントリ内容を制御ブロック1020、1032
からデータ・ムーバ1006に送る。ここでデータ・ム
ーバはそのレジスタを先にCPC書込みコマンド操作に
ついて説明した方法で初期化する。
【0107】この読取り操作の例でも、S/L RATIOは4
であり、転送予定の4つのリンク・データ・ブロック
(またはデータ・フレーム)があるので、MBAL LENGTH
レジスタ1042の値はここで15、SBAL COUNTレジス
タ1048の値はここで3である。データ・ムーバ10
06は次に、フェッチされたSBAW1036をSBA
Wレジスタ1050に置き、第1構造データ・ブロック
1034を結合機構メモリ1002からフェッチする。
構造データ・ブロック1034が届くと、データ・ムー
バ1006はSBAL LENGTHレジスタ1042の内容を調
べ、これが転送される最後のデータ・フレームか確認す
る。SBAL LENGTHレジスタ1042の内容は、S/L RATIO
レジスタ1046の内容より小さくないので(SBAL LEN
GTHレジスタ1042は値15、SBAL COUNTレジスタ1
048の値は3)、これは最後のデータ・フレームでは
なく、データ・フレームのAビットは1にセットされ
る。データ・ムーバ1006はまたBLOCK LENGTHレジス
タ1044の値を使って、リンク制御ワード302のカ
ウント412の値をセットする。データ・ムーバ100
6はリンク制御ワード302の様々なフィールドの設定
を確認した後、この情報をデータ・ブロックと共にリン
ク・コントローラ1008に送る。
【0108】CFリンク・コントローラ1008はそこ
でデータ・フレーム1112aをリンク1010を通し
て送信し始める。データ・ムーバ1006は、第1構造
データ・ブロック1034をリンク・コントローラ10
08に送信する操作を終了するとすぐ、SBALレジス
タ1050のアドレスを使用して次の構造データ・ブロ
ック1034をフェッチする。SBAL ADDRESSレジスタ1
040のアドレスは再びSBAL1032の次のアドレ
スの位置に増分される。データ・ムーバ1006はまた
SBAL LENGTHレジスタ1044を再び1つ減分し、SBAL
COUNTレジスタ1048も1つ減分する。この例でMBAL
LENGTHレジスタ1042の値はここで14、SBAL COUNT
レジスタ1048の値はここで2である。データ・ムー
バ1006は次に、フェッチされたSBAW1036を
SBAWレジスタ1050に置き、結合機構メモリ10
02から第2構造データ・ブロック1034をフェッチ
する。この構造データ・ブロック1034はリンク・コ
ントローラ1108に送られ、データ・フレームの転送
が続けられる。構造データ・ブロックをフェッチするこ
のプロセスはSBAL COUNTレジスタ1048が0に達し、
(この例では)4つの構造データ・ブロックが全て1つ
のデータ・フレーム1112aとして中央処理コンプレ
ックスに送られるまで継続する。データ・ムーバはここ
で、信号がリンク・コントローラ1008から受信さ
れ、次のデータ・フレームに進むよう指示されるまで待
機する。
【0109】その間、中央処理コンプレックスは、第1
データ・フレーム1112aを正常に受信し格納した
後、ACKを結合機構に送り返す。リンク・コントロー
ラ1008はACKを受信すると、信号をデータ・ムー
バ1006に送り次のデータ・フレームを送るよう指示
する。データ・ムーバは次のデータ・フレーム1112
bの移動を始めるため、結合機構メモリ1002から構
造データ・ブロック1034をフェッチし、プロセスは
第1データ・フレーム1112aを送信する際と同じよ
うに進む。
【0110】データ・ムーバ1006は、最後のデータ
・フレーム1112dの送信に備えるとき、SBAL LENGT
Hレジスタ1042の内容を調べ、これが転送される最
後のデータ・フレームか確認する。SBAL LENGTHレジス
タ1042の内容は、S/L RATIOレジスタ1046の内
容より小さいので(SBAL LENGTHレジスタ1042の値
は3、S/L RATIOレジスタの値は4)、これは最後のデ
ータ・フレームであり、データ・フレーム1112dの
Aビットは0にセットされる。データ・ムーバ1006
は、リンク制御ワード302の様々なフィールドの設定
を確認した後、この情報を、構造データ・ブロック10
34と共にリンク・コントローラ1008に送る。リン
ク・コントローラはそこでリンク1010を通して最後
のデータ・フレーム1112での送信を開始する。
【0111】最後のデータ・フレーム1112dの構造
の最後のデータ・ブロック1034がリンク・コントロ
ーラ1008に送られているとき、SBAL LENGTHレジス
タ1042の値は0に達し、データ・ムーバ1006は
結合機構メモリにインジケータを格納し、CFCCに、
全ての構造ブロック1034が送られていることを警告
する。CFCCは、読取り操作を終結するため、MRB
フレームを中央処理コンプレックスに送る。
【0112】リンク・ビット・エラーからの回復の説
明:図7はデータ・フレーム704で検出されたリンク
・エラーを示す。これにより拒否信号706がデータ・
フレームのセンダに送り返され、データ・フレーム70
8全体がリンクで再送される。図14はMBAL ADDRESSレ
ジスタ940(図9のMBAL ADDRESSレジスタ940と同
じレジスタ)とSBAL ADDRESSレジスタ1040(図10
のSBAL ADDRESSレジスタ1040と同じレジスタ)が、
破壊されたデータ・フレームの回復手順でどのように制
御されるかを示す。図14に示したシーケンスは、図1
2に示したシーケンスと同じであるが、第2データ・フ
レーム1204b(図12のデータ・フレーム1112
bと同じフレーム)にリンク・エラーが導入されてい
る。
【0113】回復手順を説明するため、データ・フレー
ム1204bが中央処理コンプレックスから結合機構に
送られる書込み操作を考える。データ・フレーム120
4bが受信されているとき、これは結合機構メモリ10
02に格納されている。リンク・エラーは、データ・フ
レーム1204bの受信の任意の時点で検出され得るの
で、SBAL ADDRESS1040は、データ・フレームのどこ
でエラーが検出されたかに応じて、エラーが検出された
時点でいくつか異なる値をとり得る。リンク・コントロ
ーラ1008はエラーを検出したとき、データ・フレー
ムをデータ・ムーバ1006に送信する操作を終了し、
データ・ムーバ1006は、データ・フレームを結合機
構メモリ1002に格納する操作を終了する。
【0114】エラーは、データ・フレーム1204b内
のどこでも検出され得るので、データ・ムーバ1006
は、データ・フレーム1204bの終わりを含めて、デ
ータ・フレーム1204bの格納の間にいつでも停止で
きることに注意されたい。エラーがどこで検出されよう
と、データ・ムーバ1006は、全てのデータが結合機
構メモリ1002に正常に格納された後に、信号をリン
ク・コントローラ1008に送る。
【0115】リンク・コントローラ1008は、データ
・ムーバ1006からそれが破壊されたデータ・フレー
ム1204bの格納を終了したことを示す信号を受信し
た後、拒否(REJ706)フレームを中央処理コンプ
レックスに送り返す。通常、リンク・エラーがないと
き、リンク・コントローラ1008はACKを中央処理
コンプレックスに送り返す。中央処理コンプレックスで
は、REJフレーム706の受信により、そのリンク・
コントローラ908が信号をそのデータ・ムーバ906
に送り、それに最後のデータ・フレーム1212を結合
機構に再送するよう指示する。中央処理コンプレックス
では、正しいMBALアドレスを計算することは容易で
ある。CPCのM/L RATIO946は1だからである。デ
ータ・ムーバ906は、リンク・コントローラ908か
ら信号を受信し再送するとき、MBALADDRESSレジスタ9
40を正確に1位置バック・アップし、MBAW936
を再フェッチし、メッセージ・データ・ブロック934
を再フェッチしてから、それをリンク910を通して結
合機構に送る。
【0116】結合機構での回復手順はCFのS/L比が
4であるため(従ってCPCのM/L比1と同じではな
いため)より複雑である。SBAL ADDRESSレジスタ104
0は、任意の値を持ち得、破壊されたデータ・フレーム
1204bを受信する。再送されたデータ・フレーム1
212の先頭がリンク・コントローラ1008によって
受信されると、リンク・コントローラ1008は信号を
データ・ムーバ1006に送り、最後のデータ・フレー
ムを再び格納することを指示する。データ・ムーバ10
06はこの信号を受信すると、最初にSBAL ADDRESSレジ
スタ1040を、受信された最後のデータ・フレーム1
204bの先頭にバック・アップしなければならない。
一般的な実施例の場合、SBAL ADDRESSレジスタ1040
をバック・アップするこの手順では、データ・ムーバ1
006が最後のブロック1216について最後の受信さ
れたデータ・フレームの先頭に対するポインタを維持す
る必要がある。これにより、回復信号がリンク・コント
ローラ1008から受信された場合にはこの値を使用す
ることができる。
【0117】ブロック・サイズが2の累乗に制限される
この実施例で、データ・ムーバ1006はS/L RATIOレ
ジスタ1046の値を使って、SBAL ADDRESSレジスタ1
040をバック・アップする。更にSBAL1032自
体にアドレスを割当て、SBAL1032全体を2つの
アドレス境界の累乗内に維持することによって、単純
に、S/L RATIOレジスタ1046によって求められた低
次の(最下位の)適切な個数のSBAL ADDRESSレジスタ1
040ビットをリセットし、SBAL ADDRESSレジスタ10
40を正しくバック・アップする必要がある。これは2
ブロック長の累乗を使って得られるまた別の効率を示
す。この例でSBAL1032エントリがそれぞれ8バ
イトの場合、SBAL ADDRESSレジスタはバイト・アドレス
・レジスタで、S/L RATIOは4である。5つの低次アド
レス・ビットをリセットすると、SBALADDRESSレジスタ
が破壊された最後のデータ・フレームの位置の先頭にバ
ック・アップされる。SBAL ADDRESSレジスタ1040が
正しくバック・アップされた後、SBAW1036がフ
ェッチされ、データ転送が正常に継続する。
【0118】読取り操作の間の回復手順は書込みの場合
と似ている。読取りの場合、結合機構のデータ・ムーバ
1006はリンク・コントローラ1008により、最後
のデータ・フレームを再送するよう指示され、中央処理
コンプレックスのリンク・コントローラ906は、リン
ク・コントローラ908により、最後のデータ・フレー
ムを再び受信するよう指示される。
【0119】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0120】(1)データ構造を第1コンピュータ・シ
ステムから第2コンピュータ・システムにシステム間リ
ンクを通して転送する方法であって、転送されるデータ
構造を前記第2コンピュータ・システムに前記システム
間リンクを通して格納するため、前記第1コンピュータ
・システムによって前記第2コンピュータ・システムに
コマンドを発行し、該コマンドによって前記第2コンピ
ュータ・システムに、前記第2コンピュータ・システム
に転送される該データ構造の、前記システム間リンクに
該データ構造を転送するためリンク・フレームのシーケ
ンスの各リンク・フレーム内の該構造のデータの格納可
能なデータ単位の長さを示すパラメータを含む、パラメ
ータのセットとデータ構造識別子を通知するステップ
と、前記第1コンピュータ・システムによって、前記第
1コンピュータ・システムの記憶域内の識別されたデー
タ構造を含むデータ・ブロックの位置を表す第1ポイン
タ・リストをアクセスするステップと、前記第1コンピ
ュータ・システムの記憶域内のデータ・ブロックをアド
レス指定し、前記第1コンピュータ・システムの記憶域
で分散しており、ポインタによって見つけられた該デー
タ・ブロックをフェッチし、現在バッファされているブ
ロックの数が、前記第2コンピュータ・システムに転送
するため生成された各リンク・フレームに含まれるデー
タ・ブロック数を示すパラメータ番号と等しくなるま
で、バッファ内にフェッチ順序で該データ・ブロックの
サブセットを集めるため、前記第1記憶域リストに順序
付けられた順序で対応するポインタを利用するステップ
と、前記システム間リンクを通して、前記第1コンピュ
ータ・システムによってバッファされた各リンク・フレ
ームを転送するステップと、前記データ構造の受信の完
了を前記第2コンピュータ・システムによって確認する
ステップと、利用可能であり、前記第2コンピュータ・
システムの記憶域に受信済みデータを格納するため割当
てられたデータ・ブロックを見つけるため、ポインタ・
エントリの第2ポインタ・リストを与えるステップと、
前記第2コンピュータ・システムによって、前記システ
ム間リンクから正常に受信された各リンク・フレームに
データをバッファし、前記第2コンピュータ・システム
によって用いられるデータ・ブロック長に等しいバッフ
ァされたデータの長さを検出するステップと、前記バッ
ファされたデータを前記第2ポインタ・リストで順次に
選択されたポインタ・エントリによって、前記第2コン
ピュータ・システムの前記記憶域のどこかで見つけられ
た利用可能なデータ・ブロックに格納するステップと、
を含む、方法。 (2)第1コンピュータ・システムから第2コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第2コンピュータ・シス
テムによって送られ、前記第2バッファにリンク・フレ
ームがエラーなく受信された旨の確認信号が前記第1コ
ンピュータ・システムによって受信されるまで、前記第
2コンピュータ・システムにバッファされたデータのオ
ーバーレイを禁止するステップを含む、前記(1)記載
の方法。 (3)第1コンピュータ・システムから第2コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第1コンピュータ・シス
テム、前記第2コンピュータ・システム、及び各リンク
・フレームのデータ・ブロック長を、2の累乗に等しい
データ単位数にするステップを含む、前記(1)記載の
方法。 (4)第1コンピュータ・システムから第2コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第1コンピュータは中央
処理コンプレックスであり、前記第2コンピュータ・シ
ステムはプロセッサと、電子記憶域とを含む結合機構で
ある、前記(1)記載の方法。 (5)第2コンピュータ・システムから第1コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第1コンピュータ・シス
テムによって前記第2コンピュータ・システムにコマン
ドを発行し、転送されるデータ構造を前記第1コンピュ
ータ・システムへ前記システム間リンクを通してフェッ
チし、該コマンドによって前記第2コンピュータ・シス
テムに、前記第2コンピュータ・システムに転送される
該データ構造の、前記システム間リンクに該データ構造
を転送するリンク・フレームのシーケンスの各リンク・
フレーム内の該構造のデータの格納可能なデータ単位の
長さを示すパラメータを含む、パラメータのセットとデ
ータ構造識別子を通知するステップと、前記第2コンピ
ュータ・システムの記憶域の識別されたデータ構造を含
むデータ・ブロックの位置を表す第2ポインタ・リスト
を前記第2コンピュータ・システムによってアクセスす
るステップと、前記第2記憶リストでポインタが順序付
けられた順序で対応するポインタを利用し、前記第2コ
ンピュータ・システムの記憶域のデータ・ブロックをア
ドレス指定し、前記第2コンピュータ・システムの記憶
域で分散しており、ポインタによって見つけられたデー
タ・ブロックをフェッチし、現在バッファされているブ
ロックの数が、前記第1コンピュータ・システムに転送
するため生成された各リンク・フレームに含まれるデー
タ・ブロック数を示すパラメータ番号に等しくなるま
で、バッファ内にフェッチ順序でデータ・ブロックのサ
ブセットを集めるステップと、前記第2コンピュータ・
システムによってバッファされた各リンク・フレームを
前記システム間リンクを通して転送するステップと、前
記データ構造の受信の完了を前記第1コンピュータ・シ
ステムにより確認するステップと、ポインタ・エントリ
の第1ポインタ・リストを与え、利用可能な受信済みデ
ータを前記第1コンピュータ・システムの記憶域に格納
するため割当てられたデータ・ブロックを見つけるステ
ップと、前記システム間リンクから正常に受信された各
リンク・フレームのデータを前記第1コンピュータ・シ
ステムによりバッファし、前記第1コンピュータ・シス
テムによって用いられるデータ・ブロック長に等しいバ
ッファされたデータの長さを検出するステップと、前記
バッファされたデータを、前記第1コンピュータ・シス
テムの記憶域のどこかで、前記第1ポインタ・リストの
順次に選択されたポインタ・エントリによって見つけら
れた利用可能なデータ・ブロックに格納するステップ
と、を含む、方法。 (6)第2コンピュータ・システムから第1コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第1コンピュータ・シス
テムによって送られ、前記第1バッファにリンク・フレ
ームがエラーなく受信された旨の確認信号が前記第2コ
ンピュータ・システムによって受信されるまで、前記第
1コンピュータ・システムにバッファされたデータのオ
ーバーレイを禁止するステップを含む、前記(5)記載
の方法。 (7)第2コンピュータ・システムから第1コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第1コンピュータ・シス
テム、前記第2コンピュータ・システム、及び各リンク
・フレームのデータ・ブロック長を、2の累乗に等しい
データ単位数にするステップを含む、前記(5)記載の
方法。 (8)第2コンピュータ・システムから第1コンピュー
タ・システムへ、システム間リンクを通してデータ構造
を転送する方法であって、前記第1コンピュータは中央
処理コンプレックスであり、前記第2コンピュータ・シ
ステムはプロセッサと、電子記憶域とを含む結合機構で
ある、前記(5)記載の方法。 (9)被指令コンピュータ(被指令エンティティ)と指
令コンピュータ(指令エンティティ)の間のシステム間
リンクを通してデータ・フレームのセットのデータを、
該被指令エンティティ側の記憶ブロックのセットのデー
タの読取りまたは書込みの操作の間に転送し、指令エン
ティティの記憶域の記憶ブロックとは長さの異なる被指
令エンティティの記憶域の記憶ブロックをサポートする
方法であって、前記リンクを通して前記指令エンティテ
ィによって前記被指令エンティティへ、前記指令エンテ
ィティ側でいつ転送済みデータの終わりに達したかを確
認するインジケータと、前記被指令エンティティ側の前
記指令エンティティ側の記憶ブロックに等しいデータ量
を持つ複数の記憶ブロックを、被指令エンティティが確
認できるようにする相対ブロック長インジケータとを含
むコマンドを発行し、被指令システム記憶域のデータ・
ブロックのセットのデータを格納またはフェッチするこ
とを前記被指令エンティティに要求するステップと、TR
ANSFER STRUCTURE(TS)命令の実行を前記被指令エン
ティティによって開始し、前記被指令システム記憶域の
複数の記憶ブロックの読取りまたは書込みを制御し、リ
ンク・データのいずれかの方向に転送されるデータ・フ
レームのセットに全てのデータを加えるステップと、前
記被指令エンティティ側で、ポインタ・エントリのシー
ケンスを持つTSポインタ・リストを使用し、(前記被
指令システム記憶域に分散し得る)記憶ブロックのセッ
トを見つけ、前記TS命令の実行により制御されるフレ
ームのセットにデータを加えるステップと、確認(AC
K)フレームまたは拒否(REJ)フレームを、受信さ
れた各データ・フレームのエラー状態に応答する送信エ
ンティティとしての前記指令エンティティまたは被指令
エンティティによって送信するステップと、送信された
ACKフレームまたは送信されたREJフレームを、受
信エンティティとして前記指令エンティティと被指令エ
ンティティのもう一方によって受信するステップと、送
信されたACKフレームに前記受信エンティティによっ
て応答し、データ・フレームのセットの次のデータ・フ
レームの転送を制御するステップと、送信されたREJ
フレームに前記受信エンティティによって応答し、デー
タ・フレームのセットの送信されたREJフレームに関
連した、最後に送信されたデータ・フレームの再送を制
御するステップと、を含む、方法。 (10)データ・フレームのセットのデータをシステム
間リンクを通して転送する方法であって、記憶ブロック
長が前記被指令エンティティでは前記指令エンティティ
の記憶域とは異なるとき、送信されたREJフレームに
前記TS命令によって応答し、前記被指令エンティティ
側で記憶ブロックについて、REJフレームの原因とな
った最後に転送されたデータ・フレームの再送を制御す
るステップを含む、前記(9)記載の方法。 (11)データ・フレームのセットのデータをシステム
間リンクを通して転送する方法であって、前記被指令エ
ンティティの記憶域の主記憶域境界で2の累乗の前記T
Sポインタ・リストを見つけ、ポインタのアドレスに右
0を増やし、前記被指令システム記憶域の各フレームの
第1記憶ブロックをアドレス指定するステップと、前記
被指令エンティティの複数の記憶ブロック(パッケージ
化されたブロック)を、前記リンクで転送され、第1記
憶ブロックが同じフレームの他のブロックのポインタの
ポインタ位置よりも0が多いアドレスにて見つけられた
ポインタによりアドレス指定された、各フレームに書込
むまたは読取るステップと、現在のREJフレームを操
作するため、前記TSポインタ・リストの現在のポイン
タ・アドレスの複数の右ビット位置を0にセットし、最
後に送られたデータ・フレームの第1ポインタをアドレ
ス指定することによって、現在のTS命令の再送を制御
し、該REJフレームを前記TSポインタ・リストの開
始位置として受信し、再送のため最後に送られたデータ
・フレームを処理するステップと、を含む、前記(1
0)記載の方法。 (12)データ・フレームのセットのデータをシステム
間リンクを通して転送する方法であって、各データ・フ
レームの第1ポインタの位置(格納されたポインタ位
置)を前記TSポインタ・リストに格納するステップ
と、前記格納されたポインタ位置をフェッチして、前記
TSポインタ・リストの現在用いられているポインタの
位置をバック・アップし、前記リンクを通して再送され
るフレームに、前記被指令エンティティの複数の記憶ブ
ロック(パッケージ化されたブロック)を書込むまたは
読取ることによって現在のREJフレームを操作するス
テップと、を含む、前記(10)記載の方法。
【図面の簡単な説明】
【図1】2つのコンピュータ・システム間の物理リンク
を示すブロック図である。
【図2】マルチメッセージ・チャネル・バッファ構造を
示す図である。
【図3】代表的リンク・フレームの形式を示す図であ
る。
【図4】図3のリンク・フレームのリンク制御ワードの
内容を示す図である。
【図5】2つのコンピュータ・システム間でのコマン
ド、データ、及び応答フレームの交換を含む、フレーム
転送のシーケンスを示す図である。
【図6】複数のデータ・フレームが転送されるコマン
ド、データ及び応答フレームの交換を含む、フレーム転
送のシーケンスでの別の交換を示す図である。
【図7】データ・フレームの1つに転送エラーがあるフ
レーム交換のシーケンスを示す図である。
【図8】結合機構(被指令システム)に接続された中央
処理コンプレックス(指令システム)の図である。
【図9】リンクでのメッセージの引渡しに用いられる制
御ブロック、データ・ブロック、及びリンク・ハードウ
ェアを示す中央処理コンプレックスの内部の図である。
【図10】リンクでのメッセージの引渡しに用いられる
制御ブロック、データ・ブロック、及びリンク・ハード
ウェアを示す結合機構の内部の図である。
【図11】長さの異なるデータ・ブロックがアクセスさ
れるときの結合機構でのデータ・ブロックの分散/集合
の図である。
【図12】長さの異なるデータ・ブロックがアクセスさ
れるときの結合機構でのデータ・ブロックの分散/集合
の図である。
【図13】長さの異なるデータ・ブロックがアクセスさ
れるときの結合機構でのデータ・ブロックの分散/集合
の図である。
【図14】回復操作を要するデータ・フレームのリンク
・ビット・エラーによる通信障害を示す図である。
【符号の説明】
102、104 コンピュータ要素 106 システム間チャネル・リンク 108 光ファイバ・バス 110 ファイバ・ペア 112、114 トランシーバ 116、122 転送バッファ 118、120 受信バッファ 202 チャネルA 204 チャネルB 210 リクエスト領域 212 受信側バッファ応答領域 214 発信側バッファ・データ領域 216 受信側バッファ・リクエスト領域 220 受信側バッファ応答領域 302 リンク制御ワード(LC) 304 リンク制御CRC(巡回冗長検査)ワード 306 情報ワード 308 情報フィールドCRCワード 310 アイドル・ワード(IDLE) 402 形式ビット 404 タイプ・フィールド 406 バッファ・セット番号 408 Aビット 410 開始ビット 412 カウント・フィールド 502 発信側システム 504 受信側システム 506、510、516、602、612 メッセージ
・コマンド・ブロック(MCB)・フレーム 508、520、610 メッセージ・応答ブロック
(MRB)・フレーム 514、520 応答フレーム 518、608、614、618、704 リンク・デ
ータ・ブロック(DATA)・フレーム 604 第1リンク・データ・ブロック・フレーム 606、616 確認(ACK)フレーム 706 拒否フレーム(REJ) 708 リンク・データ・ブロック 802 中央処理コンプレックス 804 結合機構 806 システム間チャネル・リンク 808、810 システム間チャネル 812、814 メモリ 902、1002 主記憶域 904 プロセッサ 906、1006 データ・ムーバ 908、1008、1108 リンク・コントローラ 910、1010 ハードウェア・システム間チャネル
・リンク 920 メッセージ操作ブロック(MOB) 922 MBALアドレス 924 MBAL LENGTHフィールド 926 BLOCK LENGTHフィールド 928 DIRECTIONフィールド 932、1102、1110、1120 メッセージ・
ブロック・アドレス・リスト(MBAL) 936 メッセージ・データ・ブロック・アドレス・ワ
ード(MBAW) 934 メッセージ・データ・ブロック 940 MBALアドレス・レジスタ(MBAL ADDRESS) 942 MBAL長さレジスタ(MBAL LENGTH) 944 ブロック長レジスタ(BLOCK LENGTH) 946 M/L RATIOレジスタ 950 MBAWレジスタ 952、1030 DIRECTIONビット・レジスタ 960、1060 メッセージ・バッファ 990 DATA RECEIVEDレジスタ 1020 パラメータ 1024、1032、1104、1114、1124
構造ブロック・アドレス・リスト(SBAL) 1026、1044 ブロック長レジスタ(BLOCK LENG
TH) 1028 S/L RATIO 1030 DIRECTIONエントリ 1034 データ・ブロック 1036 SBAW 1040 SBALアドレス・レジスタ(SBAL ADDRES
S) 1042 SBAL長さレジスタ(SBAL LENGTH) 1046 S/L RATIOレジスタ 1048 SBAL COUNTレジスタ 1050 SBAWレジスタ 1052 DIRECTIONレジスタ 1122、1212 データ・フレーム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カルウォント・マンドラ・パンディ アメリカ合衆国12540、ニューヨーク州ラ グランジビル、アンドリュース・ロード

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】データ構造を第1コンピュータ・システム
    から第2コンピュータ・システムにシステム間リンクを
    通して転送する方法であって、 転送されるデータ構造を前記第2コンピュータ・システ
    ムに前記システム間リンクを通して格納するため、前記
    第1コンピュータ・システムによって前記第2コンピュ
    ータ・システムにコマンドを発行し、該コマンドによっ
    て前記第2コンピュータ・システムに、前記第2コンピ
    ュータ・システムに転送される該データ構造の、前記シ
    ステム間リンクに該データ構造を転送するためリンク・
    フレームのシーケンスの各リンク・フレーム内の該構造
    のデータの格納可能なデータ単位の長さを示すパラメー
    タを含む、パラメータのセットとデータ構造識別子を通
    知するステップと、 前記第1コンピュータ・システムによって、前記第1コ
    ンピュータ・システムの記憶域内の識別されたデータ構
    造を含むデータ・ブロックの位置を表す第1ポインタ・
    リストをアクセスするステップと、 前記第1コンピュータ・システムの記憶域内のデータ・
    ブロックをアドレス指定し、前記第1コンピュータ・シ
    ステムの記憶域で分散しており、ポインタによって見つ
    けられた該データ・ブロックをフェッチし、現在バッフ
    ァされているブロックの数が、前記第2コンピュータ・
    システムに転送するため生成された各リンク・フレーム
    に含まれるデータ・ブロック数を示すパラメータ番号と
    等しくなるまで、バッファ内にフェッチ順序で該データ
    ・ブロックのサブセットを集めるため、前記第1記憶域
    リストに順序付けられた順序で対応するポインタを利用
    するステップと、 前記システム間リンクを通して、前記第1コンピュータ
    ・システムによってバッファされた各リンク・フレーム
    を転送するステップと、 前記データ構造の受信の完了を前記第2コンピュータ・
    システムによって確認するステップと、 利用可能であり、前記第2コンピュータ・システムの記
    憶域に受信済みデータを格納するため割当てられたデー
    タ・ブロックを見つけるため、ポインタ・エントリの第
    2ポインタ・リストを与えるステップと、 前記第2コンピュータ・システムによって、前記システ
    ム間リンクから正常に受信された各リンク・フレームに
    データをバッファし、前記第2コンピュータ・システム
    によって用いられるデータ・ブロック長に等しいバッフ
    ァされたデータの長さを検出するステップと、 前記バッファされたデータを前記第2ポインタ・リスト
    で順次に選択されたポインタ・エントリによって、前記
    第2コンピュータ・システムの前記記憶域のどこかで見
    つけられた利用可能なデータ・ブロックに格納するステ
    ップと、 を含む、方法。
  2. 【請求項2】第1コンピュータ・システムから第2コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第2コンピュータ・システムによって送られ、前記
    第2バッファにリンク・フレームがエラーなく受信され
    た旨の確認信号が前記第1コンピュータ・システムによ
    って受信されるまで、前記第2コンピュータ・システム
    にバッファされたデータのオーバーレイを禁止するステ
    ップを含む、請求項1記載の方法。
  3. 【請求項3】第1コンピュータ・システムから第2コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第1コンピュータ・システム、前記第2コンピュー
    タ・システム、及び各リンク・フレームのデータ・ブロ
    ック長を、2の累乗に等しいデータ単位数にするステッ
    プを含む、請求項1記載の方法。
  4. 【請求項4】第1コンピュータ・システムから第2コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第1コンピュータは中央処理コンプレックスであ
    り、前記第2コンピュータ・システムはプロセッサと、
    電子記憶域とを含む結合機構である、請求項1記載の方
    法。
  5. 【請求項5】第2コンピュータ・システムから第1コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第1コンピュータ・システムによって前記第2コン
    ピュータ・システムにコマンドを発行し、転送されるデ
    ータ構造を前記第1コンピュータ・システムへ前記シス
    テム間リンクを通してフェッチし、該コマンドによって
    前記第2コンピュータ・システムに、前記第2コンピュ
    ータ・システムに転送される該データ構造の、前記シス
    テム間リンクに該データ構造を転送するリンク・フレー
    ムのシーケンスの各リンク・フレーム内の該構造のデー
    タの格納可能なデータ単位の長さを示すパラメータを含
    む、パラメータのセットとデータ構造識別子を通知する
    ステップと、 前記第2コンピュータ・システムの記憶域の識別された
    データ構造を含むデータ・ブロックの位置を表す第2ポ
    インタ・リストを前記第2コンピュータ・システムによ
    ってアクセスするステップと、 前記第2記憶リストでポインタが順序付けられた順序で
    対応するポインタを利用し、前記第2コンピュータ・シ
    ステムの記憶域のデータ・ブロックをアドレス指定し、
    前記第2コンピュータ・システムの記憶域で分散してお
    り、ポインタによって見つけられたデータ・ブロックを
    フェッチし、現在バッファされているブロックの数が、
    前記第1コンピュータ・システムに転送するため生成さ
    れた各リンク・フレームに含まれるデータ・ブロック数
    を示すパラメータ番号に等しくなるまで、バッファ内に
    フェッチ順序でデータ・ブロックのサブセットを集める
    ステップと、 前記第2コンピュータ・システムによってバッファされ
    た各リンク・フレームを前記システム間リンクを通して
    転送するステップと、 前記データ構造の受信の完了を前記第1コンピュータ・
    システムにより確認するステップと、 ポインタ・エントリの第1ポインタ・リストを与え、利
    用可能な受信済みデータを前記第1コンピュータ・シス
    テムの記憶域に格納するため割当てられたデータ・ブロ
    ックを見つけるステップと、 前記システム間リンクから正常に受信された各リンク・
    フレームのデータを前記第1コンピュータ・システムに
    よりバッファし、前記第1コンピュータ・システムによ
    って用いられるデータ・ブロック長に等しいバッファさ
    れたデータの長さを検出するステップと、 前記バッファされたデータを、前記第1コンピュータ・
    システムの記憶域のどこかで、前記第1ポインタ・リス
    トの順次に選択されたポインタ・エントリによって見つ
    けられた利用可能なデータ・ブロックに格納するステッ
    プと、 を含む、方法。
  6. 【請求項6】第2コンピュータ・システムから第1コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第1コンピュータ・システムによって送られ、前記
    第1バッファにリンク・フレームがエラーなく受信され
    た旨の確認信号が前記第2コンピュータ・システムによ
    って受信されるまで、前記第1コンピュータ・システム
    にバッファされたデータのオーバーレイを禁止するステ
    ップを含む、請求項5記載の方法。
  7. 【請求項7】第2コンピュータ・システムから第1コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第1コンピュータ・システム、前記第2コンピュー
    タ・システム、及び各リンク・フレームのデータ・ブロ
    ック長を、2の累乗に等しいデータ単位数にするステッ
    プを含む、請求項5記載の方法。
  8. 【請求項8】第2コンピュータ・システムから第1コン
    ピュータ・システムへ、システム間リンクを通してデー
    タ構造を転送する方法であって、 前記第1コンピュータは中央処理コンプレックスであ
    り、前記第2コンピュータ・システムはプロセッサと、
    電子記憶域とを含む結合機構である、請求項5記載の方
    法。
  9. 【請求項9】被指令コンピュータ(被指令エンティテ
    ィ)と指令コンピュータ(指令エンティティ)の間のシ
    ステム間リンクを通してデータ・フレームのセットのデ
    ータを、該被指令エンティティ側の記憶ブロックのセッ
    トのデータの読取りまたは書込みの操作の間に転送し、
    指令エンティティの記憶域の記憶ブロックとは長さの異
    なる被指令エンティティの記憶域の記憶ブロックをサポ
    ートする方法であって、 前記リンクを通して前記指令エンティティによって前記
    被指令エンティティへ、前記指令エンティティ側でいつ
    転送済みデータの終わりに達したかを確認するインジケ
    ータと、前記被指令エンティティ側の前記指令エンティ
    ティ側の記憶ブロックに等しいデータ量を持つ複数の記
    憶ブロックを、被指令エンティティが確認できるように
    する相対ブロック長インジケータとを含むコマンドを発
    行し、被指令システム記憶域のデータ・ブロックのセッ
    トのデータを格納またはフェッチすることを前記被指令
    エンティティに要求するステップと、 TRANSFER STRUCTURE(TS)命令の実行を前記被指令エ
    ンティティによって開始し、前記被指令システム記憶域
    の複数の記憶ブロックの読取りまたは書込みを制御し、
    リンク・データのいずれかの方向に転送されるデータ・
    フレームのセットに全てのデータを加えるステップと、 前記被指令エンティティ側で、ポインタ・エントリのシ
    ーケンスを持つTSポインタ・リストを使用し、(前記
    被指令システム記憶域に分散し得る)記憶ブロックのセ
    ットを見つけ、前記TS命令の実行により制御されるフ
    レームのセットにデータを加えるステップと、 確認(ACK)フレームまたは拒否(REJ)フレーム
    を、受信された各データ・フレームのエラー状態に応答
    する送信エンティティとしての前記指令エンティティま
    たは被指令エンティティによって送信するステップと、 送信されたACKフレームまたは送信されたREJフレ
    ームを、受信エンティティとして前記指令エンティティ
    と被指令エンティティのもう一方によって受信するステ
    ップと、 送信されたACKフレームに前記受信エンティティによ
    って応答し、データ・フレームのセットの次のデータ・
    フレームの転送を制御するステップと、 送信されたREJフレームに前記受信エンティティによ
    って応答し、データ・フレームのセットの送信されたR
    EJフレームに関連した、最後に送信されたデータ・フ
    レームの再送を制御するステップと、 を含む、方法。
  10. 【請求項10】データ・フレームのセットのデータをシ
    ステム間リンクを通して転送する方法であって、 記憶ブロック長が前記被指令エンティティでは前記指令
    エンティティの記憶域とは異なるとき、送信されたRE
    Jフレームに前記TS命令によって応答し、前記被指令
    エンティティ側で記憶ブロックについて、REJフレー
    ムの原因となった最後に転送されたデータ・フレームの
    再送を制御するステップを含む、請求項9記載の方法。
  11. 【請求項11】データ・フレームのセットのデータをシ
    ステム間リンクを通して転送する方法であって、 前記被指令エンティティの記憶域の主記憶域境界で2の
    累乗の前記TSポインタ・リストを見つけ、ポインタの
    アドレスに右0を増やし、前記被指令システム記憶域の
    各フレームの第1記憶ブロックをアドレス指定するステ
    ップと、 前記被指令エンティティの複数の記憶ブロック(パッケ
    ージ化されたブロック)を、前記リンクで転送され、第
    1記憶ブロックが同じフレームの他のブロックのポイン
    タのポインタ位置よりも0が多いアドレスにて見つけら
    れたポインタによりアドレス指定された、各フレームに
    書込むまたは読取るステップと、 現在のREJフレームを操作するため、前記TSポイン
    タ・リストの現在のポインタ・アドレスの複数の右ビッ
    ト位置を0にセットし、最後に送られたデータ・フレー
    ムの第1ポインタをアドレス指定することによって、現
    在のTS命令の再送を制御し、該REJフレームを前記
    TSポインタ・リストの開始位置として受信し、再送の
    ため最後に送られたデータ・フレームを処理するステッ
    プと、 を含む、請求項10記載の方法。
  12. 【請求項12】データ・フレームのセットのデータをシ
    ステム間リンクを通して転送する方法であって、 各データ・フレームの第1ポインタの位置(格納された
    ポインタ位置)を前記TSポインタ・リストに格納する
    ステップと、 前記格納されたポインタ位置をフェッチして、前記TS
    ポインタ・リストの現在用いられているポインタの位置
    をバック・アップし、前記リンクを通して再送されるフ
    レームに、前記被指令エンティティの複数の記憶ブロッ
    ク(パッケージ化されたブロック)を書込むまたは読取
    ることによって現在のREJフレームを操作するステッ
    プと、 を含む、請求項10記載の方法。
JP10008524A 1997-01-24 1998-01-20 コンピュータ・システム間でデータ構造を転送する方法 Pending JPH10222477A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/788,755 US5948060A (en) 1997-01-24 1997-01-24 Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US08/788755 1997-01-24

Publications (1)

Publication Number Publication Date
JPH10222477A true JPH10222477A (ja) 1998-08-21

Family

ID=25145450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10008524A Pending JPH10222477A (ja) 1997-01-24 1998-01-20 コンピュータ・システム間でデータ構造を転送する方法

Country Status (2)

Country Link
US (1) US5948060A (ja)
JP (1) JPH10222477A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005339538A (ja) * 2004-05-21 2005-12-08 Agilent Technol Inc 分散データモデル

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7342581B2 (en) 1996-07-18 2008-03-11 Computer Associates Think, Inc. Method and apparatus for displaying 3-D state indicators
US7680879B2 (en) * 1996-07-18 2010-03-16 Computer Associates Think, Inc. Method and apparatus for maintaining data integrity across distributed computer systems
US5958012A (en) * 1996-07-18 1999-09-28 Computer Associates International, Inc. Network management system using virtual reality techniques to display and simulate navigation to network components
US7003587B1 (en) 1996-07-18 2006-02-21 Computer Associates Think, Inc. Method and apparatus for maintaining data integrity across distributed computer systems
US20030023721A1 (en) * 1997-07-15 2003-01-30 Computer Associates Think, Inc. Method and apparatus for generating context-descriptive messages
US7315893B2 (en) * 1997-07-15 2008-01-01 Computer Associates Think, Inc. Method and apparatus for filtering messages based on context
US20030018771A1 (en) * 1997-07-15 2003-01-23 Computer Associates Think, Inc. Method and apparatus for generating and recognizing speech as a user interface element in systems and network management
JP3036489B2 (ja) * 1997-10-24 2000-04-24 日本電気株式会社 マルチプロセッサシステムにおける集団通信装置
JPH11272825A (ja) * 1998-03-24 1999-10-08 Toshiba Corp アクセス管理方法及びその装置
US6615383B1 (en) * 1998-05-29 2003-09-02 Sun Microsystems, Inc. System and method for message transmission between network nodes connected by parallel links
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
KR20020038575A (ko) * 1999-04-26 2002-05-23 엘그레시 도론 분산 컴퓨터 시스템을 통하여 저장된 데이터의 완전성을유지하는 방법
US6570885B1 (en) * 1999-11-12 2003-05-27 International Business Machines Corporation Segment-controlled process for controlling castouts from a communication cache in a port in any of multiple nodes in a communications network
US6826573B1 (en) * 2000-02-15 2004-11-30 Intel Corporation Method and apparatus for queue issue pointer
US6832308B1 (en) 2000-02-15 2004-12-14 Intel Corporation Apparatus and method for instruction fetch unit
US6909723B1 (en) 2000-08-04 2005-06-21 Intellon Corporation Segment bursting with priority pre-emption and reduced latency
US6907044B1 (en) 2000-08-04 2005-06-14 Intellon Corporation Method and protocol to support contention-free intervals and QoS in a CSMA network
US7469297B1 (en) * 2000-08-04 2008-12-23 Intellon Corporation Mechanism for using a quasi-addressed response to bind to a message requesting the response
US7352770B1 (en) 2000-08-04 2008-04-01 Intellon Corporation Media access control protocol with priority and contention-free intervals
US6987770B1 (en) 2000-08-04 2006-01-17 Intellon Corporation Frame forwarding in an adaptive network
US7298691B1 (en) 2000-08-04 2007-11-20 Intellon Corporation Method and protocol to adapt each unique connection in a multi-node network to a maximum data rate
US20020147809A1 (en) * 2000-10-17 2002-10-10 Anders Vinberg Method and apparatus for selectively displaying layered network diagrams
US6874040B2 (en) 2000-12-19 2005-03-29 International Business Machines Corporation Employing a data mover to communicate between dynamically selected zones of a central processing complex
US6907480B2 (en) * 2001-07-11 2005-06-14 Seiko Epson Corporation Data processing apparatus and data input/output apparatus and data input/output method
US6678754B1 (en) * 2001-07-30 2004-01-13 Lsi Logic Corporation Methods and structure for recursive scatter/gather lists
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6944787B2 (en) * 2001-10-01 2005-09-13 International Business Machines Corporation System-managed duplexing of coupling facility structures
US6813726B2 (en) 2001-10-01 2004-11-02 International Business Machines Corporation Restarting a coupling facility command using a token from another coupling facility command
US7099935B2 (en) * 2001-10-01 2006-08-29 International Business Machines Corporation Dynamically determining whether to process requests synchronously or asynchronously
US6910158B2 (en) * 2001-10-01 2005-06-21 International Business Machines Corporation Test tool and methods for facilitating testing of duplexed computer functions
US6954817B2 (en) * 2001-10-01 2005-10-11 International Business Machines Corporation Providing at least one peer connection between a plurality of coupling facilities to couple the plurality of coupling facilities
US8190766B2 (en) * 2002-05-09 2012-05-29 Broadcom Corporation Across-device communication protocol
US8149703B2 (en) 2002-06-26 2012-04-03 Qualcomm Atheros, Inc. Powerline network bridging congestion control
US7826466B2 (en) 2002-06-26 2010-11-02 Atheros Communications, Inc. Communication buffer scheme optimized for VoIP, QoS and data networking over a power line
US7120847B2 (en) 2002-06-26 2006-10-10 Intellon Corporation Powerline network flood control restriction
US7120746B2 (en) * 2002-09-09 2006-10-10 International Business Machines Corporation Technique for data transfer
WO2004038980A2 (en) 2002-10-21 2004-05-06 Intellon Corporation Contention-free access intervals on a csma network
US7281187B2 (en) 2003-11-20 2007-10-09 Intellon Corporation Using error checking bits to communicated an address or other bits
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7440468B2 (en) * 2003-12-11 2008-10-21 International Business Machines Corporation Queue management of a global link control byte in an input/output subsystem
US7660327B2 (en) 2004-02-03 2010-02-09 Atheros Communications, Inc. Temporary priority promotion for network communications in which access to a shared medium depends on a priority level
US7715425B2 (en) 2004-02-26 2010-05-11 Atheros Communications, Inc. Channel adaptation synchronized to periodically varying channel
US7579683B1 (en) 2004-06-29 2009-08-25 National Semiconductor Corporation Memory interface optimized for stacked configurations
US8223647B2 (en) * 2004-07-21 2012-07-17 Nokia Corporation System and method for increasing data throughout using a block acknowledgement
US20060136614A1 (en) * 2004-07-30 2006-06-22 Nokia Corporation System and method for variable length aggregate acknowledgements in a shared resource network
US20060034274A1 (en) * 2004-07-30 2006-02-16 Nokia Corporation System and method for variable length acknowledgements in a shared resource network
US7363742B2 (en) * 2004-11-12 2008-04-29 Taser International, Inc. Systems and methods for electronic weaponry having audio and/or video recording capability
US7636370B2 (en) 2005-03-03 2009-12-22 Intellon Corporation Reserving time periods for communication on power line networks
US7797465B2 (en) * 2005-06-10 2010-09-14 Intel Corporation Apparatus and methods to reduce frame interrupts in packet-based communication
US8175190B2 (en) 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
US7822059B2 (en) 2005-07-27 2010-10-26 Atheros Communications, Inc. Managing contention-free time allocations in a network
EP2159966A1 (en) 2007-05-10 2010-03-03 Intellon Corporation Managing distributed access to a shared medium
US8693558B2 (en) 2010-04-12 2014-04-08 Qualcomm Incorporated Providing delimiters for low-overhead communication in a network
CN103186491B (zh) * 2011-12-30 2017-11-07 中兴通讯股份有限公司 一种端到端硬件消息传输的实现方法和装置
US8891605B2 (en) 2013-03-13 2014-11-18 Qualcomm Incorporated Variable line cycle adaptation for powerline communications
US11449367B2 (en) 2019-02-27 2022-09-20 International Business Machines Corporation Functional completion when retrying a non-interruptible instruction in a bi-modal execution environment
US10698854B1 (en) 2019-02-27 2020-06-30 International Business Machines Corporation Secure and efficient application data processing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage system
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
US5537574A (en) * 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US5327570A (en) * 1991-07-22 1994-07-05 International Business Machines Corporation Multiprocessor system having local write cache within each data processor node
JPH05207023A (ja) * 1992-01-24 1993-08-13 Hitachi Ltd 大量データ伝送方法
US5509122A (en) * 1992-02-20 1996-04-16 International Business Machines Corporation Configurable, recoverable parallel bus
US5455831A (en) * 1992-02-20 1995-10-03 International Business Machines Corporation Frame group transmission and reception for parallel/serial buses
US5357608A (en) * 1992-02-20 1994-10-18 International Business Machines Corporation Configurable, recoverable parallel bus
CA2086691C (en) * 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
JP2532194B2 (ja) * 1992-03-30 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
US5659690A (en) * 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
JP3451103B2 (ja) * 1992-11-27 2003-09-29 富士通株式会社 データ通信装置及び方法
US5377337A (en) * 1993-06-08 1994-12-27 International Business Machines Corporation Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
JP2967897B2 (ja) * 1993-07-22 1999-10-25 エヌ・ティ・ティ移動通信網株式会社 自動再送要求データ伝送方法
US5574945A (en) * 1993-11-04 1996-11-12 International Business Machines Corporation Multi channel inter-processor coupling facility processing received commands stored in memory absent status error of channels
US5581705A (en) * 1993-12-13 1996-12-03 Cray Research, Inc. Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005339538A (ja) * 2004-05-21 2005-12-08 Agilent Technol Inc 分散データモデル
US8086660B2 (en) 2004-05-21 2011-12-27 Ixia Distributed data model

Also Published As

Publication number Publication date
US5948060A (en) 1999-09-07

Similar Documents

Publication Publication Date Title
JPH10222477A (ja) コンピュータ・システム間でデータ構造を転送する方法
US5931915A (en) Method for processing early arrival messages within a multinode asynchronous data communications system
US5613068A (en) Method for transferring data between processors on a network by establishing an address space for each processor in each other processor's
EP0676695B1 (en) Clock fault detection circuit
JP3208397B2 (ja) 制御要素転送システム
US5604866A (en) Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver
US6836808B2 (en) Pipelined packet processing
JP3553634B2 (ja) 相互接続インターフェース
US8719456B2 (en) Shared memory message switch and cache
US5448558A (en) Method and apparatus for managing packet FIFOS
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
US6857030B2 (en) Methods, system and article of manufacture for pre-fetching descriptors
EP0676701A1 (en) Flexible bridge between processor channel and switching mechanism
US6615282B1 (en) Adaptive messaging
US5915088A (en) Interprocessor messaging system
US5944797A (en) Data mover hardware controlled processing in a commanding system and in a commanded system for controlling frame communications on a link
US20050235072A1 (en) Data storage controller
EP0432076B1 (en) High performance shared main storage interface
US20050152274A1 (en) Efficient command delivery and data transfer
US6115803A (en) Parallel computer which verifies direct data transmission between local memories with a send complete flag
WO1992015053A1 (en) Data transfer within a data storage subsystem
US7788437B2 (en) Computer system with network interface retransmit
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
US5613141A (en) Data storage subsystem having dedicated links connecting a host adapter, controller and direct access storage devices
JP2924783B2 (ja) リモートリード処理方法およびその装置