JPH08335204A - 双方向同期マルチドロップ・データ・バスを有するデータ処理システム - Google Patents

双方向同期マルチドロップ・データ・バスを有するデータ処理システム

Info

Publication number
JPH08335204A
JPH08335204A JP8089105A JP8910596A JPH08335204A JP H08335204 A JPH08335204 A JP H08335204A JP 8089105 A JP8089105 A JP 8089105A JP 8910596 A JP8910596 A JP 8910596A JP H08335204 A JPH08335204 A JP H08335204A
Authority
JP
Japan
Prior art keywords
data
slave
master
processing system
bus
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
JP8089105A
Other languages
English (en)
Inventor
Marcel Brown Lawrence
ローレンス・マーセル・ブラウン
W Finni Damon
デイモン・ダブリュ・フィニー
George B Marenin
ジョージ・ボースロウ・マレニン
Guillermo Ienz Adalberto
アダルベルト・ギレルモ・イェンズ
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 JPH08335204A publication Critical patent/JPH08335204A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 パイプライン・パケット・データ転送によ
り、双方向同期マルチドロップ・バスを用いるマスタ制
御装置とメモリ制御装置との間において、高速高帯域の
データ転送を可能にするシステムを提供する。 【解決手段】 データ処理システムが共通バス20へ接
続された1又は複数のプロセッサ12〜18と、共通バ
ス及び1又は複数の記憶サブシステム26へ接続された
1又は複数の入出力制御装置22と、データを記憶する
ための1又は複数の記憶サブシステム26とを有する。
各入出力制御装置に含まれる1又は複数のマスタ制御装
置は、スレーブと称されるメモリ制御装置と通信する。
スレーブはメモリ・サブシステムへ入出するデータ・フ
ローを制御する。マスタ制御装置とスレーブとの間のデ
ータ・バスは2×2バイト並列インタフェース上で同期
的にマルチドロップ動作を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理システム
に関し、特に、高速のパイプライン・データ転送を用い
る方法及び装置により記憶サブシステムにデータを書込
み又はこれからデータを読取るデータ処理システムに関
する。
【0002】
【従来の技術】マルチドロップ・データ・バスの目的
は、待ち時間の少ない短いパケットでデータ転送が行わ
れるチップやモジュール間の高速データ転送を実現する
ことである。従来、この目的を達成するための様々な技
術が提示されている。データ処理システムにおけるチッ
プやモジュール間の高速データ転送を解決しようとする
試みの一例としては、米国特許第5313594号「Me
thods and Apparatus forData Transfer Between Sourc
e and Destination Modules Using a Ready Signal」が
ある。
【0003】上記の米国特許は、モジュール間で高速ブ
ロック転送を実行するべく最適化されたコンピュータ・
システムを、マルチマスタ・グローバル同期バスを通し
て通信するローカル・メモリを含めて教示している。各
書込み要求の前に送信先モジュールがデータ信号の受入
れ準備完了信号を送ることにより書込みオペレーション
の速度が向上する。送信元モジュールがデータ・ワード
をバスへ配信する所与のクロック期間の間、送信先モジ
ュールは、送信元モジュールによる次のクロック期間の
別のワードの配信に対する準備ができていることを送信
元モジュールに対して示す準備完了信号を出す。
【0004】上記の米国特許は、同期バス上での高速デ
ータ転送の問題を解決しようとしたが、送信先モジュー
ルが準備完了信号を出すことが必要なため、データ転送
の速度及び効率に限界がある。
【0005】さらに上記特許は同期バスを用いている
が、待ち時間及びバッファ処理を低減するためにデータ
・ストリーム内に応答文字(response characters)を挿
入する技術に対する教示も示唆もない。
【0006】
【発明が解決しようとする課題】以上により、本発明の
主な目的は、モジュール間のパイプライン・データ転送
を用いる双方向同期マルチドロップ・データ・バスを具
備するデータ処理システムにおいて効率的にデータを転
送することであって、転送の正常な完了を示すための挿
入を容易にかつ少ない待ち時間で行うことが可能なパケ
ットによるデータ転送を実現することである。
【0007】
【課題を解決するための手段】本発明によるデータ処理
システムは、共通バスへ接続された1又は複数のプロセ
ッサ、共通バス及び1又は複数の記憶サブシステムへ接
続された1又は複数の入出力(I/O)制御装置、並びに
データ処理システムで用いるデータを記憶する1又は複
数の記憶サブシステムを有する。各I/O制御装置には
1又は複数のマスタ制御装置が含まれ、これらはスレー
ブと称されるメモリ制御装置と通信する。スレーブはメ
モリ・サブシステムとの間のデータ・フローを制御す
る。I/Oマスタ制御装置とメモリ制御装置との間のデ
ータ・バスは、2×2バイト並列インタフェース上で同
期的に動作するマルチドロップ・バスである。
【0008】本発明の長所は、パイプライン・パケット
・データ転送により双方向同期マルチドロップ・バスを
用いるI/Oマスタ制御装置とメモリ制御装置との間に
おいて高速広帯域幅のデータ転送が実現されることであ
る。
【0009】以上は、本発明の詳細な説明の理解を支援
するべく、本発明の態様及び技術的有益性をかなり広く
概略的に述べたものである。本発明の主題は以降の説明
により明らかとされるであろう。本発明及びその有用性
を更に完全に理解するために、添付の図面を参照して以
下に詳細に説明する。
【0010】
【発明の実施の形態】本発明は、広帯域幅の閉ループ応
答性を備えたデータ転送のためにバス・ラインを最適化
する。データ・バスは、メモリ制御装置のマスタ・チッ
プからスレーブ・チップへのメモリ・オペレーションを
処理することを意図したマルチドロップ・バスである。
このバスのためのプロトコルは、2×2バイト並列イン
タフェースであり、50MHz(各バスにつき100M
Hz)で動作し、そして全体として同期的である。
【0011】図1は、本発明を実施するデータ処理シス
テムを示す図である。多数の並列プロセッサ12、1
4、16及び18がそれぞれバス20へ接続され、バス
20へは1又は複数の記憶制御装置22、24も接続さ
れている。記憶制御装置22及び24は、プロセッサ1
2、14、16及び18と1又は複数の記憶アレイ26
との間のデータの読取り及び書込みを制御する。記憶ア
レイ26は、具体的にはRAID(reduced array of in
dependent drives)として、又は記憶装置の幾つかのア
レイにより実施できる。
【0012】図2は、多数のI/Oマスタ202と20
4との間及びこれらからスレーブ制御装置206への接
続を示す図である。各記憶制御装置22は多数のI/O
マスタを含み、これらのI/Oマスタはバス20へ接続
されることによりプロセッサ12、14、16及び18
と通信し、そして内部データ・バスA242及びB24
4へ接続されることによりマスタ202及び204とス
レーブ206との間でデータ伝送する。スレーブ206
は、記憶アレイ26に対する読取り及び書込みを制御す
るための制御装置である。
【0013】先ず、データ・バスについて説明する。次
の表1は、データ・バス信号を、その名前、送信元、及
び送信先により示した表である。
【0014】
【表1】 データ・バス信号 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 信号名 送信元 送信先 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− +制御_A マスタ又はスレーブ マスタ又はスレーブ +データ_A(0-15) マスタ又はスレーブ マスタ又はスレーブ +制御_B マスタ又はスレーブ マスタ又はスレーブ +データ_B(0-15) マスタ又はスレーブ マスタ又はスレーブ −要求_0 マスタ0 スレーブ +許可_A(0:1) スレーブ マスタ0:2 +要求_1 マスタ1 +許可_B(0:1) スレーブ マスタ0:2 +サンプル(A:B) スレーブ マスタ0:2 +要求_2 マスタ2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【0015】表1中、「スレーブ」は、スレーブ装置と
して動作するバッファ・インタフェース制御装置であ
る。また、「マスタ」は、マスタ装置として動作するデ
バイス接続のためのローカル・インタフェース又はシス
テム接続制御装置である。次に各信号の定義を示す。
【0016】 信号名 信号定義 制御_A/B この信号がアクティブであるとき、データ・バスが制 御文字(表2参照)を含むことを示す。 データ(0-15) このバスは、バス・フレームについて定義された制御 文字又はデータ文字を含む。 要求_0:2 この信号がアクティブであるとき、マスタがいずれか のデータ・バスの使用を要求していることを示す。 許可_A/B(0:1) これらの信号は、特定のマスタについていずれのデー タ・バスが有効かを示すためにマスタに対して駆動さ れる。 ・00−許可なし ・01−モジュール1に対する許可 ・02−モジュール2に対する許可 ・03−モジュール3に対する許可 サンプル(A:B) これらの信号は、いつデータバスをサンプリングする かを示すためにマスタに対して(スレーブにより)駆 動される。サンプルは、データ・バスの1つに対する 内部スレーブ要求によって発生する。この信号は、マ スタの論理を受信するデータ・バスを有効化する。
【0017】全ての制御文字は複写バイトを有しかつ全
てのデータはCRC保護されているので、パリティは設
けられない。
【0018】制御文字は各々2バイトであり、第2のバ
イトは冗長性のために第1のバイトの複写となってい
る。有効な制御文字を次の表2に示す。
【0019】
【表2】 データ・バス制御文字 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− バイナリ値 制御文字 0100000001000000 ヌル(null)(マスタからのみ) 0001000000010000 フレームのブレイク開始(マスタからのみ) 1011TTTT1011TTTT スレーブのみからの正常応答 1101000011010000 取消し 1110TTTT1110TTTT エラー応答(スレーブからのみ) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【0020】注)TTTTは、対応するマスタ要求コマンド
の部分として送られるタグである。TTTT=XXYZの値は、
次の情報を反映する。 ・XX(0又は1、モジュールID):読取りデータをバ
ス上へ送信する際にスレーブにより用いられる。 00:未使用 01:モジュール1 02:モジュール2 11:モジュール3 ・Y(0又は1、読取り=0/書込み=1) ・Z(0又は1、要求ID):読取り又は書込み毎の未対
応要求を2に限定
【0021】図3は、許可オペレーションを示した図で
ある。スレーブ・モジュール206は、バスAについて
の許可信号をライン242によりマスタ・モジュール3
34、336及び338のA入力へ発生する。バスBに
ついての許可信号は、ライン244によりマスタ・モジ
ュール334、336及び338へ伝送される。
【0022】図4は、要求信号及びサンプル信号を示す
図である。再び、前述のように、スレーブ・モジュール
206は、マスタ・モジュール334からの要求をライ
ン402により受信し、マスタ・モジュール336から
の要求をライン404により受信し、そしてマスタ・モ
ジュール338からの要求をライン406により受信す
ることができる。そしてスレーブ・モジュール206
は、サンプル信号(サンプルA:B)をライン408に
より全てのマスタ・モジュール334、336及び33
8へそれぞれ送出する。要求信号、許可信号、及びサン
プル信号については、全て上記表1に詳細に示されてい
る。
【0023】図5は、読取りオペレーションにおけるデ
ータ要求を詳細に示す図である。図5はタイミング図で
あり、複数回のクロック・サイクルにわたるマスタ・モ
ジュール334に関する信号を示す。この図で、1つの
クロック・サイクルにおける要求信号の立ち上がり及び
その後のその要求信号の下がり、そしてその後の数クロ
ック・サイクルにおける再度のその信号の立ち上がり
は、読取り要求を示す。
【0024】読取り要求の次には、スレーブ・モジュー
ル206からの許可信号が続き、その許可信号がアクテ
ィブとなった数クロック・サイクル後に、データ・バス
Aに適宜データが出される。許可信号の後、ライン40
8上のサンプル信号がアクティブとされることにより、
読取り要求されたデータがデータ・バスAから取得可能
であることを要求モジュール334に対して示す。
【0025】図6は、書込みオペレーションにおけるデ
ータ要求を詳細に示す図である。マスタ・モジュール3
34は、クロック・サイクル0で要求ラインを立ち上
げ、そしてクロック・サイクル7の終わりまで要求ライ
ンが立ち上がったままとなる。これは、書込み要求を示
す。続いて、許可A信号及び許可1信号が立ち上げら
れ、そして数クロック・サイクルの後、要求された書込
みデータがデータ・バスA上でアクティブとなる。
【0026】上記の読取り及び書込みにおけるデータ要
求は、単一のマスタ・モジュール334から別々に発生
する単一要求である。
【0027】図7は、同じデータに対する2つの要求に
ついて説明する図である。マスタ・モジュール334
が、書込み要求を示す要求ラインを立ち上げる。同時に
マスタ・モジュール335が、書込み要求を示す要求ラ
インを立ち上げる。マスタ・モジュール334からの要
求は、クロック・サイクル5において要求ラインが1サ
イクルだけ下がっているので多重要求であることを注記
する。バスAラインにおける許可0は、クロック・サイ
クル2の始めに立ち上げられ、バスAラインにおける許
可1は、クロック・サイクル8の始めに立ち上げられ
る。マスタ・モジュール334からの要求に応答するデ
ータは、クロック・サイクル4の始めにデータ・バスA
242においてアクティブとなり、クロック・サイクル
8の終わりまで続く。1サイクルの下がり期間に続き、
マスタ・モジュール334からの第2の要求に応答して
データ・バスA242においてデータがアクティブとな
る。
【0028】データ・バスB244については、データ
・バスB244における許可0及び1が非アクティブで
ありながら、サンプルBはクロック・サイクル2の始め
にアクティブとなった後、数サイクル期間続く。続い
て、マスタ・モジュール336からの要求に応答してデ
ータ・バスB244上からデータを取得することができ
るようになる。
【0029】図8は、一方のバス上におけるマスタから
スレーブへのオペレーション及びそれに続くスレーブか
らマスタへのオペレーション、並びにもう一方のバス上
におけるサンプルのタイミングを示す図である。図7に
関して説明したように、マスタ・モジュール334は、
スレーブ・モジュール206に対して多重要求信号を与
え、そして同時にマスタ・モジュール336はスレーブ
・モジュール206に対して単一要求信号を与える。ス
レーブ・モジュール206は、マスタ・モジュール33
4に対して要求の許可を示す許可0ラインを立ち上げ、
マスタ・モジュール336に対しては許可を与えない。
続いて、データ・バスA242においてデータがアクテ
ィブとなり、ライン408上のバスAについてのサンプ
ル信号が立ち上げられる。この結果、マスタ・モジュー
ル334又は336のいずれに対しても、バスBについ
ての許可は与えられないが、バスB上のサンプルはクロ
ック・サイクル2の始めに立ち上げられ、その後のサイ
クルにおいてバスBからデータを取得可能となる。
【0030】図9は、書込みオペレーションの結果とし
て正常応答信号を送るスレーブ・モジュール206を示
すタイミング図である。スレーブ・モジュール206は
クロック・サイクル2の間にバスA242上のサンプル
信号を立ち上げ、そして黒く・サイクル4の間に再び立
ち上げる。クロック・サイクル4及び6の間、スレーブ
・モジュール206は、データ・バスA242がそのデ
ータではなく表2に示した制御文字を含むことを示す制
御A信号を立ち上げる。従って、サイクル4におけるデ
ータ・バスAに示された文字「N」は、データではなく
制御文字を表している。同様に、サイクル6において制
御A信号がアクティブとなり、サイクル6におけるデー
タ・バスA242上の文字「P」は制御文字を表す。デ
ータ・バスBに関しても同様であり、サンプルBがサイ
クル0及び4で発生し、サイクル2及び6で制御B信号
が続く。サイクル2及び6において立ち上げられる制御
B信号は、それぞれサイクル2及び6の間、データ・バ
ス244が制御文字を含むことを示す。
【0031】データ・バス・プロトコル 全てのメモリ・オペレーションは、マスタにより送られ
るマスタ制御フレームとそれに続くスレーブにより送ら
れるスレーブ応答フレーム又は正常応答制御文字からな
る。制御フレーム及び応答フレームは、そのメモリ・オ
ペレーションが読取り若しくは書込み又はXORのいず
れであるかに依存して2つの形態を有する。
【0032】RAIDアーキテクチャのパリティ機能
は、パリティ・ディスク上のスロットによるn個のディ
スクからのn個のスロットを包含する。これらのn個の
データ・スロット及びパリティ・スロットは共に、パリ
ティ・グループと称される。いずれかのディスクが故障
したとき、残りのn個のディスクからのパリティ・グル
ープにより失われたデータ又はパリティを常に回復する
ことができる。高速のパリティ・スロット発生は、ハー
ドウェア排他的論理和(XOR)により実現される。X
ORは、2つの入力データ・ストリームを得る。これら
は、1つの出力データ・ストリームを発生するためにバ
イト同期されている。
【0033】パリティ・スロットを計算するために、X
OR機能がn回呼び出されなければならない。ここで、
nは、パリティ・グループのデータ・ディスクの数であ
る。ノードの出力ポートは、毎回、パリティ・グループ
のn個のデータ・スロットの1つを指定する。同時に、
入力ポートはそのパリティ・グループの同じパリティ・
スロットを指定する。
【0034】図13は、1ソース2ノードのハードウェ
アXORの例を示す図である。ノード1302及び13
22は、各々スイッチ1312及び1314を介してバ
ス1316へそれぞれ接続される。第1のノード130
2は、バッファ1304からデータ・ストリーム発生器
1306を通してデータを出力する出力ポートを含む。
入力ポートは、XOR回路1310の入力の1つへ接続
される。XOR回路1310は、バッファ1308の入
力へ接続された出力を有する。
【0035】通常、ノード1302は、前述のスレーブ
・モジュール206でもよい。XOR1310への入力
データ・ストリームIと、その入力データ・ストリーム
Iに含まれるアドレスによるバッファ1308からのデ
ータ出力との排他的論理和演算が行われる。XOR13
10における排他的論理和演算の結果は新たなデータで
あり、指定されたアドレス場所へ記憶される。正常応答
制御文字は1つの2バイト制御文字であって、正常な書
込みオペレーション又はXORオペレーションに対して
高速に応答するために用いられる(通常の場合)。
【0036】ノード1322は、バッファ1324とデ
ータ・ストリーム発生器1326を含み、データ・スト
リーム発生器1326は、ノード1322のデータ・ス
トリーム出力をバッファ1324に記憶されたデータか
ら発生する。
【0037】正常応答制御文字は1つの2バイト制御文
字であって、正常書込みオペレーション及びXORオペ
レーションに対して高速に応答するために用いられる。
【0038】全ての制御文字(ヌルを含む)は、フレー
ムの途中で送ることができる。有効な制御文字又はデー
タ文字は、バスを所有している装置の許可又はサンプル
のサイクル毎に送られなければならない。
【0039】書込み又は読取り中にエラーが検出された
ならば、スレーブはエラー応答制御文字を返す。
【0040】各マスタは、時間内のいつの時点でも未完
了の(マスタ・フレームを送信したが応答フレームを受
信していない)2つの書込みオペレーション及び2つの
読取りオペレーションを有することができる。これによ
り、以前のコマンド・フレームがメモリに関してキュー
状態にある一方で、更なるコマンド又は応答フレームを
転送するためにバスを用いることができる。
【0041】マスタ・フレーム定義 図10は、マスタ制御フレーム1000を示す図であ
る。2種類のマスタ制御フレーム1000がある。第1
のタイプは読取りオペレーション用であり、2バイトの
コマンド1002、4バイトのアドレス1004、及び
2バイトの周期冗長文字(CRC)1006からなる。マ
スタ制御フレーム1000の第2のタイプは書込みオペ
レーション又はXORオペレーション用であり、2バイ
トのコマンド1008、4バイトのアドレス1010、
コマンド1008のカウント・フィールドに指定された
データ・バイト1012、...1014、及び2バイト
のCRC1016からなる。コマンド1002、100
8の第1のバイトはオペレーションの種類を示す3ビッ
トを含み、1つのビットは読取りを示し、1つのビット
は書込みを示し、そして1つのビットはXORを示す。
コマンド1002、1008の第1のバイトの第4のビ
ットは、常に「0」である。第1のバイトの残りは4ビ
ット・タグを含み、これは応答に関連する応答フレーム
へ複写される。コマンド1002、1008の第2のバ
イトは、8ビットのカウント・フィールドであり、実行
されているメモリ・オペレーションに関するバイト・カ
ウントを示す。
【0042】スレーブ・フレーム定義 図11は、スレーブ応答フレーム1100を示す図であ
る。読取りオペレーション用のスレーブ応答フレーム1
100は、2バイトのコマンド1102、4バイトのア
ドレス1104、コマンドのカウント・フィールドに指
定された多数のデータ・バイト1106.....1108
及び2バイトのCRC1110からなる。
【0043】スレーブ・モジュール206の読取り応答
フレームにおいて、2バイトのコマンド1102は、図
10に示したマスタ制御フレーム1000のコマンド1
002、1008の複写である。しかしながら、コマン
ド1102のエラー・ビットは、バス・オペレーション
又はメモリ・オペレーション中にそのオペレーションの
完了を妨げるハードウェア・エラーを報告するために用
いられる。制御文字、CRC、データ・カウント、メモ
リのアドレス範囲検査及びECCは、エラーに関して検
査される。
【0044】マスタ336又はスレーブ206のいずれ
かがフレーム送信の途中でエラーを検知したならば、送
られているデータのCRCに続けて取消制御文字を即座
に送信することによりそのフレームを中断することがで
きる。取消制御文字によって、他の検査が報告されない
ようにしなければならない。例えば、カウント不一致や
CRCエラー等である。もし取消制御文字を送信した後
にいずれかの非制御文字が送られたならば、エラー条件
が不正取消文字をセットすることになる。
【0045】マスタ・モジュール334が送信するべき
データを有していない場合、データ・フレーム101
2、1014をヌル制御文字で置換することができる。
【0046】ブレイク開始制御文字は、短い読取り制御
フレームが書込み又はXOR制御フレームの途中に挿入
されていることを示すために用いられる。これは、書込
み又はXOEオペレーションに対して僅かな時間的損失
を課すのみで読取りオペレーションの待ち時間を低減す
るために行われる。ブレイク開始制御文字は、書込み又
はXORのマスタ制御フレーム1000のコマンド・フ
ィールド又はアドレス・フィールドの後にのみ送信する
ことができる。ブレイク制御文字は、書込みデータに関
するCRCフレームが送信された後、常に、コマンド/
アドレス/CRCを伴う。
【0047】取消制御文字 フレーム送信の途中でマスタ又はスレーブのいずれかが
エラーを検出した場合、(送信されるデータの)CRC
及びそれに続けて取消制御文字を即座に送ることにより
そのフレームを中断することができる。取消制御文字
は、カウント不一致やCRCエラー等の他のいずれのエ
ラーも報告されないようにしなければならない。もし取
消制御文字の送信後にいずれかの非制御文字が送信され
たならば、検査は不正取消文字をセットすることにな
る。この検査は、不測の取消文字の全てを検知する。
【0048】ヌル制御文字 マスタが送るべきデータをもっていない場合、そのデー
タ・フレームをヌル制御文字で置換することができる。
このとき、コマンドとアドレスのフレームはヌル制御文
字で置換できないことを注記する。ヌル制御文字は、第
2のアドレスフレームの後でかつCRCフレームの前に
のみ挿入することができる。
【0049】ブレイク制御文字 ブレイク開始制御文字は、短い読取り制御フレームが書
込み/XOR制御フレームの途中に挿入されていること
を示すために用いられる。これは、書込み又はXOEオ
ペレーションに対して僅かな時間的損失を課すのみで読
取りオペレーションの待ち時間を低減するために行われ
る。ブレイク開始制御文字は、書込み又はXORのマス
タ制御フレーム1000のコマンド・フィールド又はア
ドレス・フィールドの後にのみ送信することができる。
ブレイク制御文字は、書込みデータに関するCRCフレ
ームが送信された後、常に、コマンド/アドレス/CR
Cを伴う。ここで、ヌル制御文字は(ブレイク制御文字
の後の)読取り要求の一部として送ることができないこ
とを注記する。
【0050】エラー応答 書込みオペレーションにおいてマスタがスレーブへデー
タを送信しているとき、スレーブがエラーを検知したな
らば、スレーブはエラー応答制御文字により応答する。
エラー応答制御文字は、単にエラーが発生したことを示
している。エラーの実際の具体的種類を決定するために
は、スレーブ・エラー検査レジスタを読取ることが必要
である。ここで、スレーブがエラーによる割込みを報告
することを注記する。以下は、スレーブが報告するエラ
ーのリストである。
【0051】・無効制御文字 不正制御文字 不正取消文字 ・CRCエラー ・カウント不一致 ・アドレス・エラー CMIに対する不正アドレス応答
【0052】書込みに対するスレーブからのCRCエラ
ー応答は、送られているタグ情報を無効化することを注
記する。マスタは、その要求を無効化する際にタグ情報
に依存することはできない。
【0053】マスタが書込みに対するエラーを検知した
とき、取消制御文字によりそのオペレーションを中断す
る。スレーブはエラーが検知された場合であっても取消
制御文字に対する応答を発生しない。スレーブは、エラ
ーを検知したならば読取りの間に取消制御文字を送るこ
とになる。これを発生可能な検査の1つは、データがマ
スタへ送られる際の内部スレーブ・データ・パリティ検
査である。
【0054】スレーブが、読取りオペレーションにおけ
るメモリからのデータの読取りに関してエラーを検知し
たならば、エラー応答制御文字を送るだけである。なぜ
ならその検査は、データ・バス・インタフェース上の読
取りオペレーションを開始する前に検知するからであ
る。
【0055】最大データ・サイズ 1フレームに許容される最大データ・サイズは、128
バイトである(コマンド、アドレス、又はCRCを含ま
ない)。これは、必要なバッファの量を限定しまた長い
転送による待ち時間を制限するための任意の限界であ
る。
【0056】最大未完了要求 いずれのマスタについても、最大の読取り要求及び書込
みオペレーションは2個である。スレーブは、4個の読
取り要求及び4個の書込みオペレーションの全体をバッ
ファすることによりサポートする。マスタは、圧縮デー
タのみを読取ったり書込んだりするときに伝送リンクあ
たりの限界を超えないようにその未完了の読取り要求及
び書込みオペレーションを追跡しなければならない。当
初の電源投入時(自己検査後)マスタは、応答フレーム
を全く受信することなく2個の書込みコマンドフレーム
と読取りコマンドとを送ることができる。
【0057】データ・バスCRC定義 次に、データ・バス・インタフェースCRCのXOR構
造を説明する。CRCは2バイト幅であり、最初に
「1」にリセットされる。発生器多項式は、以下の通り
である。 G(x)=x16+x12+x4+1 「+」は排他的論理和(XOR)関数と定義される。d
0〜d15は、入ってくるデータ・ビットを表す。c0〜c
15は、新たに計算されたCRC(状態n)を表す。p0
〜p15は、前のCRC(状態n−1)を表す。pd0〜
pd15は、p(x).XOR.d(x)を表す。 0 c(0)=pd(4)+pd(5)+pd(8)+pd(12) 1 c(1)=pd(5)+pd(6)+pd(9)+pd(13) 2 c(2)=pd(6)+pd(7)+pd(10)+pd(14) 3 c(3)=pd(0)+pd(7)+pd(8)+pd(11)+pd(15) 4 c(4)=pd(0)+pd(1)+pd(4)+pd(5)+pd(9) 5 c(5)=pd(1)+pd(2)+pd(5)+pd(6)+pd(10) 6 c(6)=pd(0)+pd(2)+pd(3)+pd(6)+pd(7)+pd(11) 7 c(7)=pd(0)+pd(1)+pd(3)+pd(4)+pd(7)+pd(8)+pd(1
2) 8 c(8)=pd(0)+pd(1)+pd(2)+pd(4)+pd(5)+pd(8)+pd(9)
+pd(13) 9 c(9)=pd(2)+pd(3)+pd(4)+pd(6)+pd(9)+pd(10)+pd(1
4) 10 c(10)=pd(2)+pd(3)+pd(4)+pd(6)+pd(7)+pd(10)+p
d(11)+pd(15) 11 c(11)=pd(0)+pd(3)+pd(7)+pd(11) 12 c(12)=pd(0)+pd(1)+pd(4)+pd(8)+pd(12) 13 c(13)=pd(1)+pd(2)+pd(5)+pd(9)+pd(13) 14 c(14)=pd(2)+pd(3)+pd(6)+pd(10)+pd(14) 15 c(15)=pd(3)+pd(4)+pd(7)+pd(11)+pd(15)
【0058】データ・バス・タイミング 図12に示すように、全ての制御文字及びデータ文字
は、同じサイクルで送信されかつ受信される。20ns
サイクル毎に1つの2バイト文字を送るタイミング要求
に適合させるために、全てのデータ・バス信号はラッチ
により捕捉されなければならない。
【0059】以上、本発明及びその利点を詳細に説明し
たが、本発明の趣旨及び範囲を逸脱することなく種々の
変更、置換、及び代替が可能であることを理解された
い。
【0060】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0061】(1)共通バスへ接続された1又は複数の
プロセッサと、前記共通バス及び1又は複数の記憶サブ
システムへ接続され、かつスレーブ・メモリ制御装置と
通信する1又は複数のマスタ制御装置を各々が含む1又
は複数の入出力制御装置と、データを記憶するための1
又は複数の記憶サブシステムとを有し、上記スレーブ・
メモリ制御装置は、上記マスタ制御装置のうちの1又は
複数に対するアクセスを許可することによりメモリ・サ
ブシステムへ入出するデータ・フローを制御するデータ
処理システム。 (2)前記マスタ制御装置と前記スレーブ・メモリ制御
装置とを接続するデータ・バスを有し、該データ・バス
が所定の並列インタフェース上で同期的に動作する上記
(1)に記載のデータ処理システム。 (3)前記1又は複数のマスタ制御装置のオペレーショ
ンを制御するマスタ制御フレームを有する上記(1)に
記載のデータ処理システム。 (4)前記マスタ制御フレームが、読取りオペレーショ
ンのための第1の制御フレームと、書込みオペレーショ
ン又はXORオペレーションのための第2の制御フレー
ムとを有する上記(3)に記載のデータ処理システム。 (5)スレーブ応答フレームを有する上記(1)に記載
のデータ処理システム。 (6)前記スレーブ応答フレームが、読取りオペレーシ
ョンに応答する第1のスレーブ応答フレームと、書込み
オペレーション又はXORオペレーションに応答する第
2のスレーブ応答フレームと、書込みオペレーション又
はXORオペレーションの成功を伝える第3のスレーブ
応答フレームとを有する上記(5)に記載のデータ処理
システム。 (7)前記同期双方向共通バスが、待ち時間を低減しか
つシステム性能を向上させるべく、複数のマスタ制御装
置の間又は複数のスレーブ制御装置の間で切換可能であ
る複数のバスを有する上記(1)に記載のデータ処理シ
ステム。 (8)前記同期双方向共通バス上のデータ伝送を制御す
る複数の制御文字を有する上記(1)に記載のデータ処
理システム。 (9)前記制御文字が、データが遅延されるとき同期を
維持するためにデータ・ストリームに挿入可能なヌル文
字を含む上記(8)に記載のデータ処理システム。 (10)前記データベース・ストリームの即時終了のた
めにデータ・ストリームに挿入可能な取消文字を含む上
記(8)に記載のデータ処理システム。 (11)前の伝送の成功又は失敗を示す即時応答のため
にデータ・ストリームに挿入可能なブレイク文字を含む
上記(8)に記載のデータ処理システム。
【図面の簡単な説明】
【図1】本発明を実施するデータ処理システムのブロッ
ク図である。
【図2】本発明による双方向同期マルチドロップ・デー
タ転送機構のブロック図である。
【図3】許可オペレーションを示す図2のバス制御論理
のブロック図である。
【図4】要求及びサンプル・オペレーションを示す図2
のデータ転送制御論理のブロック図である。
【図5】読取りデータ要求におけるタイミング図であ
る。
【図6】書込みデータ要求におけるタイミング図であ
る。
【図7】1つのデータ・バス上の多重同時要求及び他の
データ・バス上のサンプル・オペレーションを示すタイ
ミング図である。
【図8】1つのバス上のマスタからスレーブへのオペレ
ーション及びそれに続くスレーブからマスタへのオペレ
ーション並びに第2のバス上のサンプル・オペレーショ
ンを示すタイミング図である。
【図9】スレーブからマスタへの書込みオペレーション
に対する正常応答を示すタイミング図である。
【図10】本発明によるマスタ制御フレームの概略図で
ある。
【図11】本発明によるスレーブ応答フレームの概略図
である。
【図12】本発明によるデータ・バス及びクロック信号
を示すタイミング図である。
【図13】パリティ機能で用いられる排他的論理和関数
を示すブロック図である。
【符号の説明】 10 データ処理システム 12、14、16、18 プロセッサ 22、24 記憶制御装置 26 記憶アレイ 206 スレーブ・モジュール 334、336、338 マスタ・モジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイモン・ダブリュ・フィニー アメリカ合衆国95133、カリフォルニア州、 サンノゼ、ストーンクレスト・ウェイ 2830 (72)発明者 ジョージ・ボースロウ・マレニン アメリカ合衆国95120、カリフォルニア州、 サンノゼ、エルドリッジ・ドライブ 6856 (72)発明者 アダルベルト・ギレルモ・イェンズ アメリカ合衆国94087、カリフォルニア州、 サニーベイル、ロイ・アベニュー 1042

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】共通バスへ接続された1又は複数のプロセ
    ッサと、 前記共通バス及び1又は複数の記憶サブシステムへ接続
    され、かつスレーブ・メモリ制御装置と通信する1又は
    複数のマスタ制御装置を各々が含む1又は複数の入出力
    制御装置と、 データを記憶するための1又は複数の記憶サブシステム
    とを有し、 上記スレーブ・メモリ制御装置は、上記マスタ制御装置
    のうちの1又は複数に対するアクセスを許可することに
    よりメモリ・サブシステムへ入出するデータ・フローを
    制御するデータ処理システム。
  2. 【請求項2】前記マスタ制御装置と前記スレーブ・メモ
    リ制御装置とを接続するデータ・バスを有し、該データ
    ・バスが所定の並列インタフェース上で同期的に動作す
    る請求項1に記載のデータ処理システム。
  3. 【請求項3】前記1又は複数のマスタ制御装置のオペレ
    ーションを制御するマスタ制御フレームを有する請求項
    1に記載のデータ処理システム。
  4. 【請求項4】前記マスタ制御フレームが、 読取りオペレーションのための第1の制御フレームと、 書込みオペレーション又はXORオペレーションのため
    の第2の制御フレームとを有する請求項3に記載のデー
    タ処理システム。
  5. 【請求項5】スレーブ応答フレームを有する請求項1に
    記載のデータ処理システム。
  6. 【請求項6】前記スレーブ応答フレームが、 読取りオペレーションに応答する第1のスレーブ応答フ
    レームと、 書込みオペレーション又はXORオペレーションに応答
    する第2のスレーブ応答フレームと、 書込みオペレーション又はXORオペレーションの成功
    を伝える第3のスレーブ応答フレームとを有する請求項
    5に記載のデータ処理システム。
  7. 【請求項7】前記共通バスが、 待ち時間を低減しかつシステム性能を向上させるべく、
    複数のマスタ制御装置の間又は複数のスレーブ制御装置
    の間で切換可能である複数のバスを有する請求項1に記
    載のデータ処理システム。
  8. 【請求項8】前記共通バス上のデータ伝送を制御する複
    数の制御文字を有する請求項1に記載のデータ処理シス
    テム。
  9. 【請求項9】前記制御文字が、 データが遅延されるとき同期を維持するためにデータ・
    ストリームに挿入可能なヌル文字を含む請求項8に記載
    のデータ処理システム。
  10. 【請求項10】前記データベース・ストリームの即時終
    了のためにデータ・ストリームに挿入可能な取消文字を
    含む請求項8に記載のデータ処理システム。
  11. 【請求項11】前の伝送の成功又は失敗を示す即時応答
    のためにデータ・ストリームに挿入可能なブレイク文字
    を含む請求項8に記載のデータ処理システム。
JP8089105A 1995-06-07 1996-04-11 双方向同期マルチドロップ・データ・バスを有するデータ処理システム Pending JPH08335204A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/480,010 US5687393A (en) 1995-06-07 1995-06-07 System for controlling responses to requests over a data bus between a plurality of master controllers and a slave storage controller by inserting control characters
US480010 1995-06-07

Publications (1)

Publication Number Publication Date
JPH08335204A true JPH08335204A (ja) 1996-12-17

Family

ID=23906306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8089105A Pending JPH08335204A (ja) 1995-06-07 1996-04-11 双方向同期マルチドロップ・データ・バスを有するデータ処理システム

Country Status (3)

Country Link
US (1) US5687393A (ja)
JP (1) JPH08335204A (ja)
KR (1) KR100195856B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523077B1 (en) 1999-01-14 2003-02-18 Nec Corporation Data processing apparatus and data processing method accessing a plurality of memories in parallel
CN1110753C (zh) * 1997-05-16 2003-06-04 逻辑控制公司 销售点***及其所用分布式电脑网路
US7461188B2 (en) * 2000-08-11 2008-12-02 Micron Technology, Inc. Capacitive multidrop bus compensation

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203728B2 (en) * 1993-01-26 2007-04-10 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
US6272529B1 (en) 1993-01-26 2001-08-07 Logic Controls, Inc. Point-of-sale system and distributed computer network for same
US6047002A (en) * 1997-01-16 2000-04-04 Advanced Micro Devices, Inc. Communication traffic circle system and method for performing packet conversion and routing between different packet formats including an instruction field
US6425020B1 (en) * 1997-04-18 2002-07-23 Cirrus Logic, Inc. Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry
US5896383A (en) * 1997-05-01 1999-04-20 Advanced Micro Devices, Inc. System and method for encoding instruction fields within data packets
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6801529B1 (en) * 1999-06-08 2004-10-05 Amx Corporation Method and system for sending messages to multiple locations in a control system
US6657646B2 (en) 1999-06-08 2003-12-02 Amx Corporation System and method for multimedia display
KR20010018338A (ko) * 1999-08-19 2001-03-05 권상문 전자선 폐수 처리장치
US7224366B2 (en) 2002-10-17 2007-05-29 Amx, Llc Method and system for control system software
US7984195B2 (en) * 2006-07-07 2011-07-19 Logic Controls, Inc. Hybrid industrial networked computer system
CA2621713C (en) 2005-09-07 2016-01-26 Amx Llc Method and computer program for device configuration
JP2008078768A (ja) * 2006-09-19 2008-04-03 Denso Corp ネットワークシステム,ネットワークデバイスおよびプログラム
WO2014163612A1 (en) * 2013-04-01 2014-10-09 Hewlett-Packard Development Company, L.P. External memory controller
US11126372B2 (en) 2013-04-01 2021-09-21 Hewlett Packard Enterprise Development Lp External memory controller

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
US4183089A (en) * 1977-08-30 1980-01-08 Xerox Corporation Data communications system for a reproduction machine having a master and secondary controllers
US5093804A (en) * 1984-06-04 1992-03-03 Ge Fanuc Automation North America, Inc. Programmable controller input/output communications system
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
DE68916413T2 (de) * 1989-03-14 1995-01-26 Ibm Vermittlungssystem für den gleichzeitigen Datentransfer zwischen Datenprozessoren.
EP0435344B1 (en) * 1989-12-28 1995-10-25 Canon Kabushiki Kaisha Multi-media terminal apparatus
US5353417A (en) * 1991-05-28 1994-10-04 International Business Machines Corp. Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access
US5191656A (en) * 1991-08-29 1993-03-02 Digital Equipment Corporation Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters
US5265211A (en) * 1992-01-02 1993-11-23 International Business Machines Corporation Arbitration control logic for computer system having dual bus architecture
US5465340A (en) * 1992-01-30 1995-11-07 Digital Equipment Corporation Direct memory access controller handling exceptions during transferring multiple bytes in parallel
US5418924A (en) * 1992-08-31 1995-05-23 Hewlett-Packard Company Memory controller with programmable timing
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
US5394526A (en) * 1993-02-01 1995-02-28 Lsc, Inc. Data server for transferring selected blocks of remote file to a distributed computer network involving only single data transfer operation
US5463643A (en) * 1994-03-07 1995-10-31 Dell Usa, L.P. Redundant memory channel array configuration with data striping and error correction capabilities

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1110753C (zh) * 1997-05-16 2003-06-04 逻辑控制公司 销售点***及其所用分布式电脑网路
US6523077B1 (en) 1999-01-14 2003-02-18 Nec Corporation Data processing apparatus and data processing method accessing a plurality of memories in parallel
US7461188B2 (en) * 2000-08-11 2008-12-02 Micron Technology, Inc. Capacitive multidrop bus compensation
US7913005B2 (en) 2000-08-11 2011-03-22 Round Rock Research, Llc Capacitive multidrop bus compensation
US20110145453A1 (en) * 2000-08-11 2011-06-16 Round Rock Research, Llc Capacitive multidrop bus compensation
US8539126B2 (en) 2000-08-11 2013-09-17 Round Rock Research, Llc Capacitive multidrop bus compensation

Also Published As

Publication number Publication date
KR100195856B1 (ko) 1999-06-15
KR970002617A (ko) 1997-01-28
US5687393A (en) 1997-11-11

Similar Documents

Publication Publication Date Title
US5987627A (en) Methods and apparatus for high-speed mass storage access in a computer system
JPH08335204A (ja) 双方向同期マルチドロップ・データ・バスを有するデータ処理システム
US6370611B1 (en) Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
JP2846837B2 (ja) 障害を早期検出するためのソフトウェア制御方式のデータ処理方法
US6434720B1 (en) Method of checking data integrity for a RAID 1 system
AU652707B2 (en) Bus interface logic for computer system having dual bus architecture
US6336159B1 (en) Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system
US4926315A (en) Digital data processor with fault tolerant peripheral bus communications
KR100290943B1 (ko) 유니버설 시리얼 버스 제어 이전을 처리하는 장치 및 방법
US5133062A (en) RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
US5313627A (en) Parity error detection and recovery
US7143227B2 (en) Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US5919254A (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
US5659696A (en) Method and apparatus for determining address location and taking one of two actions depending on the type of read/write data transfer required
US6061822A (en) System and method for providing a fast and efficient comparison of cyclic redundancy check (CRC/checks sum) values of two mirrored disks
JP2770976B2 (ja) パリティ検査装置
US6182267B1 (en) Ensuring accurate data checksum
US5287457A (en) Computer system DMA transfer
US7107343B2 (en) Method and apparatus for improved RAID 1 write performance in low cost systems
US6578126B1 (en) Memory system and method of using same
US6678768B1 (en) Method and apparatus for configuring redundant array of independent disks (RAID)
US6493785B1 (en) Communication mode between SCSI devices
US5581790A (en) Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
US20050050244A1 (en) Method for controlling data transfer unit, data transfer unit, channel control unit, and storage device control unit
US6567908B1 (en) Method of and apparatus for processing information, and providing medium