JP2537054B2 - 情報伝達方式 - Google Patents

情報伝達方式

Info

Publication number
JP2537054B2
JP2537054B2 JP62159554A JP15955487A JP2537054B2 JP 2537054 B2 JP2537054 B2 JP 2537054B2 JP 62159554 A JP62159554 A JP 62159554A JP 15955487 A JP15955487 A JP 15955487A JP 2537054 B2 JP2537054 B2 JP 2537054B2
Authority
JP
Japan
Prior art keywords
bus
information
module
serial
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62159554A
Other languages
English (en)
Other versions
JPS6324346A (ja
Inventor
マイケル・ジエイ・フレモント
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPS6324346A publication Critical patent/JPS6324346A/ja
Application granted granted Critical
Publication of JP2537054B2 publication Critical patent/JP2537054B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2012Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant and using different communication protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は複数の情報処理用の要素間での耐障害性の情
報伝達方式に関する。
〔従来技術およびその問題点〕
コンピュータは小形コンピュータでさえ短時間に大量
のデータを処理することができるため多くの業務にとっ
て重要な道具となってきている。多くの用途において、
データ処理が中断されないことが重要であり且つ不可欠
であることが非常に多い。コンピュータ・システムの故
障は、特に処理装置と永久記憶装置との間でデータ通信
を行っている期間中、関連業務の一部を停止する可能性
がありデータおよび金銭のかなりな損失を招く可能性が
ある。したがって、コンピュータ・システムは大量のデ
ータを処理することのできる充分な計算能力を備えてい
るばかりでなく、システムの或る構成要素が故障した場
合に中断することなくデータ処理を続けることができる
動作モードを備えていなければならない。
情報は計算システムの要素間でバスを介して伝達され
る。バスは、単一の線から構成することができ、この場
合には情報はすべて要素間をビット直列様式で転送され
る。あるいはバスは情報をバイト並列様式で転送するこ
とができる複数の線から構成することができる。いずれ
の場合でも、単一の線または同じ線に取付けた構成部品
が不良になればコンピュータ・システム全体の故障とな
る。したがって、システム動作を信頼できるようにする
には何らかの形の冗長性を設けなければならない。
冗長性への一つの方法は主要バスが故障した場合切換
えることができる二重バスを設けることである。単一線
ビット直列バスを使用するときは二重化は経済的に実現
可能であるが、これらの装置は頻繁な高データ・スルー
プットを必要とするアプリケーションには不適当であ
り、また直列の競合裁定(arbitration)を実現するの
は明らかに複雑であることから、実際に動くシステムを
構成しようとする多くの試みが成功しなかった。並列バ
ス・システムでは、余分の並列バスを追加すれば適切な
動作に必要なハードウェアの量が何倍にもなり、価格が
大幅に増加する。
バイト並列システムに関する一つの手法は主要線路の
一つが故障した場合の予備として1本以上の線路を設け
ることである。しかしながら、これらの手法は、制御モ
ジュールが誤り情報および再構築情報を不良線路を有し
ていることがわかっているバイト並列バスにより伝送し
ようとするとモジュールがうまく動作しないので、不適
当である場合が非常に多い。或る場合には、入出力モジ
ュールを用いる通信は不可能であり、システム全体の障
害となる。
予備を設けることの別の短所は、予備線を実際に必要
とする前にどのように試験するかということである。従
来の方式では、予備線を適格に試験することができず、
不良予備品はモジュールを使用しようとするまで検出さ
れないが、これでは遅すぎる。
不良が一旦検出され、分析されると、多くの場合完全
に修理するためシステム動作を中止しなければならな
い。たとえば、モジュール内のバス・ドライバが不良の
とき、普通はモジュールを取換えなければならない。し
ばしば初期設定のためシステム動作を中止しなければな
らないし、そうでなければ新しく挿入されたモジュール
をうまく適応させなければならない。バス・ドライバが
不良でバスの線1本にも障害が出て、予備への入れ換え
が必要となる場合、問題は新しく挿入したモジュールが
新しいシステム構成を知らないという事実により大きく
なる。最もましな場合でも、オペレータは新しく挿入し
たモジュールに対して予備構成に関する情報を示さなけ
ればならず、最悪の場合では、新しく挿入したモジュー
ルがシステムの残りの部分と通信できないためシステム
が再び故障してしまう。
最後に、障害が同期してないモジュールから生ずる場
合には、計算システムがオペレータの介在なしで自動的
にこのモジュールを再同期化することが望ましい。問題
に対する取組み方からは複雑なアルゴリズムを有するプ
ログラムとこれを実行する複雑なハードウェアを生ずる
ことが甚だ多い。このためコストが上昇し、ハードウェ
アが増えたため更に誤りが起る機会が多くなる。
〔発明の目的〕
本発明は上述した従来技術の問題点を解消し、バイト
並列またはビット直列のフォオーマットを選択してデー
タを伝達することができるバイト並列およびビット直列
のデータ線を備えている耐障害性の情報伝達方式を提供
することを目的とする。
〔発明の概要〕
本発明の一実施例においては、複数の、たとえば8本
のデータ線から成る並列バスが正常動作中複数の入出力
制御装置間でバイト並列フォーマットでデータを授受す
るようになっている。複数の入出力制御装置間でビット
直列フォーマットでデータを伝達する直列データ線から
成る直列バスはバイト並列線路に障害が検出されたとき
に動作する。
CPU通信制御装置はビット直列線およびバイト並列線
に接続されてどの組の線路を情報の伝達に使用するかを
選択的に示す。これは直列動作させたいとき、正しいCR
Cコードを備えたトランザクションを直列バス経由で入
出力制御装置に送ることにより行われる。制御装置が直
列バス上でこのコードを受信すると、並列バスから直列
バスに切換え、ビット直列フォーマットで動作を継続す
る。誤りが分析され匡正されると、モジュールは直列バ
スを通して並列バスに再び切換えるよう命令され、この
命令があると直ちに通常のバイト並列動作を開始する。
システムの信頼性を高めるには、並列バスを補足する
のに使用することができ、あるいは直列バスの代りとし
て使用することができる予備のデータ線を設ける。入出
力制御装置は直列バスを通して動作するが、予備構成情
報は並列バスに切換え戻すように指令される前に入出力
制御装置に送られる。したがって、最終的に切換が行わ
れると、モジュールは新しいシステムの構成を知り、こ
のような情報を並列バスで伝達することによる誤りのお
それが無くなる。
システムの信頼性を確保するため、CPU通信制御装置
は正しくないCRCコードが付されたトランザクションを
直列バス上で入出力制御装置に送ることにより、直列バ
スをときどき試験する。CRCコードが正しくないから、
モジュールは並列バスから直列バスに切換えない。また
各モジュールで計算されたCRCコードを各モジュールか
ら読取り、予想されるCRCコードと比較して直列バスと
その対応する受信論理とが正しく動作しているか確認す
ることができる。
システムが直列バスで動作しているとき競合の衝突
(arbitration conflict)を避けるため、一連の時間間
隔を各時間間隔が唯一の入出力制御装置に対応するよう
に割当てる新規な裁定方式を設ける。各時間間隔は3ビ
ット期間ずつの3組から構成される。モジュールが競合
しないときは、その割当てられた3組の最初のビットを
真とする。第2のビット期間中、裁定を要求したモジュ
ールはそのビットを偽とする。ここでの使い方では、信
号が電気的に低い状態になるとき真とされる。信号が電
気的に高い状態になるとき、あるいは受動的に電気的に
高い状態のままであるとき、信号は偽であるとされる
か、あるいはそうでなければ信号が落ちていると見なさ
れる。最後に、第3のビット期間中にモジュールはバス
から自分自身を切離す。モジュールがバスから離れる
と、バスは実質的に第2のビット期間と同じ状態に留ま
る。というのはこのバスは、プルアップ抵抗を用いるこ
とにより、能動的に低に引かれるまでは電気的に高状態
になっているように設計されているからである。これに
よりバス上に空きスロットを備えることができ、続くモ
ジュールは競合裁定を望まなければ何ら処置を取る必要
がない。第3ビットの期間中バスから切離されることに
より、モジュールはやはり同じバスに接続されている他
のモジュールから時間的に分離され、これによりモジュ
ール間の電気的衝突を回避する。これにより2つのモジ
ュールが同時にトランザクション・マスタになることが
できなくなり(2つのトランザクションが同時に発生す
ることができなくなり)、優先権とは無関係に、その競
合裁定処理の進行が結局成功することになる。
新しく挿入されたモジュールを初期設定するために、
CPU通信制御装置は規定の時間だけ信号を発生する。新
しく挿入された各モジュールはこの時間依存信号を認識
して、信号が終ったとき自身を同期させる。その後で、
通信制御装置は新しく挿入されたモジュールを初期設定
する。
新しいモジュールが予備線路を活動状態にして動作し
ているシステムに挿入される場合には、CPU制御装置は
直列バスへの切換えを命し(これは新しく挿入されたモ
ジュールを自動的に同期化する)、新しく挿入されたモ
ジュールに予備構成情報を送り、並列バスへの逆切換え
を命じ、初期設定を推進する。
最後に、CPU通信制御装置が同期していないモジュー
ルを検出すれば、別の規定時間だけ信号を発生する。モ
ジュールはすべて自分自身をバスから切離し、信号が終
ると、それに従って自分自身を同期化する。
本発明は付図に関連して行う以下の詳細な説明を参照
することにより一層良く理解されるであろう。
〔実施例の説明〕
第1図は全般に104と記したデータ処理システムを示
す。データ処理システム104は主メモリ108、キャッシュ
・メモリ112、およびCPU116を有し、これらはシステム
・バス120上で共に情報伝達を行なっている。CPU通信制
御装置124は入出力バス136を通して複数の入出力制御装
置128と通信する。CPU通信制御装置124と入出力バス136
により、主メモリ108、キャッシュ・メモリ112、CPU11
6、および入出力制御装置128の間の通信ができる。
第2図はCPU通信制御装置124、入出力制御装置128、
および入出力バス136の詳細図である。直列データ線140
はCPU通信制御装置124から入出力制御装置へのビット直
列フォーマットによる信号の伝達用である。スロット識
別線114はパワー・アップ後初期設定シーケンス中の入
出力制御装置にスロット識別情報を送るためのものであ
る。スロット識別情報は優先度依存処理(たとえば、競
合裁定)対して入出力制御装置の優先度を設定するのに
使用される。複数の、たとえば8本の、CAD線148は、CP
U通信制御装置124と入出力制御装置128との間で多重化
された制御、アドレス、およびデータ(CAD)情報を伝
達するためのものである。予備線152はCAD線148の一つ
のバックアップとして使用される。クロック線156は直
列バス(およびおそらくは基板内機能)に関して事象の
タイミングをとるためのものである。最後に、複数の電
源線160は入出力制御装置128に電力を分配するために設
けられている。
CPU通信制御装置124は入出力バス136とCPU116との間
のインタフェースとして働く。CPU通信制御装置124は、
CPUインタフェース・モジュール164、直列データ線140
に結合しているビット直列制御モジュール168、スロッ
ト識別(ID)線144に結合している裁定制御モジュール1
72、CAD線148と予備線152に結合しているバイト並列制
御モジュール176、クロック線156に結合しているタイミ
ング・モジュール180、および電源線160に結合している
電源制御モジュール184から構成されている。
同様に、入出力制御装置128はデバイス・インタフェ
ース・モジュール191、直列データ線140に結合している
ビット直列制御モジュール192、スロットID線に結合し
ている裁定制御モジュール193、CAD線148と予備線152に
結合しているバイト並列制御モジュール194、クロック
線156に結合しているタイミング・モジュール195、電源
線160に結合している電源制御モジュール196、同期化制
御モジュール197、および複数のレジスタ198から構成さ
れている。
動作: トランザクション・シーケンス 入出力バス136によるトランザクション・シーケンス
の一例を第3図に示す。トランザクション・シーケンス
はポーリング・サイクル200から始まる。CPU通信制御装
置124または入出力制御装置128が競合裁定を希望すると
きは、ポーリング・サイクルを待つ。制御装置は初期設
定中にスロットID線144で最初受取ったスロット識別情
報をその優先度に割当てられたCAD線148と関連づける。
スロットの割当ては次の通りである。
スロット CAD(0) 0 CAD(1) 1 CAD(2) 2 CAD(3) 3 CAD(4) 4 CAD(5) 5 CAD(6) 6 CAD(7) 7 ポーリング・サイクル中、制御装置はその割当てられ
た優先度に対応するCAD線148を真にする。
ポーリング・サイクル200の後、バスは第1の切離し
サイクル204に入る。切離しサイクルにより、クロック
の縁で自分自身をオフにする一つのモジュール内のドラ
イバと、同じ縁で自身をオンにする他のモジュール内の
ドライバとを(時間的に)分離する。切離しサイクル
中、モジュールはすべてその出力を断にしてデータを受
け取るだけでなければならない。したがって、ドライバ
間の衝突は起らず、そのため、コンテンションから誘起
される雑音が防止され、ドライバの信頼性が増す。次に
ステップ208で、バスに取付けられているモジュールが
ポーリング・サイクル200の期間に競合裁定を求めてい
たか確認する。そのようなモジュールが無かったのであ
れば、バスは再びポーリング・サイクル200に戻る。モ
ジュールが競合裁定を求めていた場合は、第1の切離し
サイクル204中に裁定の決定が行われ、バスはモード・
サイクル212に入る。バス支配権を得たモジュールは、
このサイクル中、CAD線148を通してスレーブ・モジュー
ルにモード情報を転送する。
モード・サイクル212の後、バスは一つ以上のアドレ
ス・サイクル220を経る。アドレス・サイクル220の期間
中、スレーブ・アドレスのビットはCAD(0……7)に
より伝送される。
高サイクル226の期間中、バス・マスクはCAD(0……
7)線を偽にする。CAD線148はプル・アップ抵抗により
受動的に高い電圧に引かれるので、その後はCAD148は能
動的に真にされるまで偽のままになっている。これによ
り(ポーリングのような)ワイヤードOR動作すなわち随
意的に駆動されることがあるサイクルの実現が容易にな
る。
第2の切離しサイクル230の後、バスは一つ以上のス
レーブ・リターン・サイクル234に入る。スレーブ・リ
ターン・サイクル234の期間中、アドレスされたスレー
ブは(もし存在すれば)下記のCAD線を上げる。
意味 CAD(0) SLAVE−ACK CAD(1) SLAVE−WAIT CAD(2) SLAVE−BUSY CAD(3……7) 予約済み アドレスされたスレーブはスレーブ・リターン・サイ
クル234の期間中SLAVE−ACK真を出さなければならな
い。ブロードキャスト・トランザクション中、すべての
モジュールはスレーブとしてアドレスされる。この場合
は、すべてのモジュールがSLAVE−ACK真を出す。SLAVE
−ACKは最初のおよびそれに続くすべてのスレーブ・リ
ターン・サイクル234の期間中真とされなければならな
い。
スレーブがデータを受取る(書込み期間中)か源デー
タを受取る(読取り期間中)ことができるまでに更に時
間が必要が場合には、SLAVE−WAIT真を出す。バスはSLA
VE−WAITが偽とされるまでスレーブ・リターン・サイク
ルのままになっている。SLAVE−WAITは16クロック・サ
イクルより長く真にされていることはできず、またこの
信号はブロードキャスト・トランザクション中は真とさ
れることはできない。SLAVE−WAITはスレーブ・リター
ン・サイクル234でないとき、またはスレーブ・リター
ン・サイクル234のうちの最後以外のもの全てに対して
真とされることができる。
スレーブがデータを出したり取込んだりする準備がで
きないため現在のところトランザクションに応答するこ
とができない場合には、SLAVE−BUSY真を出す。この際
は、トランザクションは続行されるが、転送されたデー
タはすべて無視されることになる。このトランザクショ
ンのマスタは後にトランザクションをリトライする。SL
AVE−BUSYはそのスレーブ・リターン・サイクル中でも
真とされることができ、またそうしたらそれに続くすべ
てのスレーブ・リターン・サイクルでは真とされなけれ
ばならない。SLAVE−WAITとSLAVE−BUSYは同じトランザ
クション中で真とされることができる。SLAVE−BUSYは
ブロードキャスト・トランザクション中は真とされるこ
とはできない。
スレーブ・リターン・サイクル234の期間中、CAD(3
……7)は予約済みである。モジュールはすべてその出
力ドライバをオフにし、データ受信しているだけでなけ
ればならない。
第3の切離しサイクル238の後、バスは一つ以上のデ
ータ・サイクル242に入る。データ・サイクル242の期間
中、転送されるデータの順番は、スレーブ・アドレスか
ら始まり上向きに数えていく。
データ・サイクル242の後、ソースはそれぞれ一つ以
上のCRCサイクルでCRCコードを伝送する。CRCコード
は、ポーリング・サイクルを含むそのトランザクション
中のすべての以前のサイクルにわたり計算される。この
計算は設計上の理由にしたがって、切離しサイクルを含
むこともできるし含まなくてもよい。可能な一つのCRC
各項式はx16+x12+x5+xであるが、状況に応じて他の
多項式を使用することができる。CRCコードを送ってか
ら、CAD線148は高サイクル250の期間中高電圧側に引か
れ、次に第4の切離サイクル254の期間中切離される。
ソース、受け側(sink)、それ以外のものが、ステッ
プ256で、プロトコル・エラー、データ・エラ、または
トランザクションのCRCエラー、あるいはその他トラン
ザクションを正しく完了することを不可能とする内部エ
ラーを検出した場合には、一つ以上のエラー・サイクル
258を行うことができる。エラーが検出されなかった場
合は線は切離されたままである。
最後に、バスは第5の切離しサイクルに入り、シーケ
ンスはポーリング・サイクル200からまた始まる。
第4図は本発明による代表的なエラー・サイクルを示
している。
ステップ300でエラーが生じたことが確認されると、
モジュールはステップ308でCAD(0、1)を真とする。
エラー・サイクル258の期間中にいずれかのビットが真
とされれば、バスはすべてのビットが偽とされるまでエ
ラー状態になっている。通常、モジュールは1サイクル
だけエラー真とすることができ、次いでエラー偽としな
ければならない。これに関しての例外は処理装置モジュ
ールのソフトウェアがステップ312でバス上のモジュー
ルが同期化されていないことを確認したとき起る。この
場合には、ステップ316で、最長1028クロック・サイク
ルまでCAD(0、1)真を出し続けることができる。こ
のとき、バスはエラーが真とされているかぎりエラー状
態のままとなって、同期していないモジュールがエラー
信号を確実に認識できるようにする。最後に、CAD
(0、1)はステップ320で偽とされ、ステップ324でエ
ラー・サイクルを抜出る。バス・マスタである間にエラ
ーに出合ったモジュールは、随意にトランザクションを
再試行することができる。
並列バス・エミュレーション 先に説明した通り、入出力バス136は並列バスと直列
バス(すなわち、それぞれCAD線148と直列線140)に分
けられる。通常、動作はすべて並列バスで行われる。直
列バスは並列バスに障害が起ったとき、並列バスの問題
を診断するための、および(より遅い速さで)情報を送
るための、代りのデータ径路となる。たとえば、並列バ
スの線路、または、もっとありそうなのは、そのドライ
バの一つが不良であるとき、その障害を診断し、並列バ
スに対する予備代替処置を命ずるのに直列バスを使用す
ることができる。
直列バスと並列バスは状況に応じて同時に動作するこ
ともできるし同時に動作しなくてもよい。並列バスから
直列バスへ移行する動作を生ずる命令の場合または直列
バスの試験期間中の他は、通常、任意の時刻には一つの
バスしか動作しない。
並列バスと直列バスの切換えを第5図に示す。図に示
す通り、新しいトランザクション・シーケンスがステッ
プ400で始まっている。ステップ404でエラー・サイクル
258の期間中にエラーが起った旨通報したモジュールが
無いことが確認されれば、CPU116のソフトウェアはステ
ップ406で直列バスを試験することを決定することがで
きる。直列バスは、ステップ412で誤ったCRCコードの付
いたメッセージを直列データ線140で送ることにより試
験することができる。このようなメッセージはモジュー
ルを直列バスに切換えることはない。その代り、モジュ
ールはステップ416で直列バスからCRCを受取り、ステッ
プ420でCRCが誤っていることが確認されると、ステップ
424でトランザクション・シーケンスが続行され、正常
動作が続行される。受信モジュールにより計算されたCR
Cコードは後のサイクルで各入出力制御装置128レジスタ
198の一つからCPU通信制御装置124により並列バスを介
して読取られ、最初にCPU通信制御装置124により計算さ
れたCRCコードと比較されて、直列バスおよびそれに対
応する受信論理が正しく動作しているか否か確認するこ
とができる。
逆に、ステップ404でエラーがあったことがわかれ
ば、CPU通信制御装置124はステップ427でCPU116に割込
をかけ、CPU116のソフトウェアはステッフ428で直列バ
スへの切換えが適切であるか否かを確かめる。検出され
たエラーの形式が代りのエラー回復ルーチンを用いて匡
正できるものである場合には、このようなルーチンはス
テップ432で実行され、トランザクション・シーケンス
はステップ424で続行される。
ステップ428で直列モードへの切換えが望ましい(た
とえば、問題を診断するため)ことが確認されれば、ス
テップ436で正しいCRCコードの付いたメッセージが直列
データ線140を介して送られる。ステップ416でモジュー
ルがCRCコードを受取り、ステップ420でそれが正しいこ
とが確認されると、正しいCRCコードを送ったトランザ
クションがステップ440で捨てられ、すべてのモジュー
ルがステップ444で直列バスモードに切換わる。ステッ
プ445で入出力制御装置128のレジスタ198の一つに所定
のビットがセットされ、それ以後制御装置をビット直列
モードに維持し、システムはステップ456で並列バス動
作のエミュレーションを始める。並列バスで行うことが
できる処理は直列バスでも行うことができる。
直列バス動作の期間中、ステップ460で並列バス動作
を再開してもよいことが確認されれば、ステップ464で
ブロードキャスト書込みが行われ、これにより各入力制
御装置のレジスタの、はじめに直列モードで制御装置に
保持されていた所定ビットをクリアする。ステップ468
でこのビットがクリアされていることを各モジュールが
確認すると、モジュールはステップ472で並列バスモー
ドに戻り、トランザクション・シーケンスがステップ42
4で続行する。ステップ464の期間中、予備代替情報を直
列データ線140で送ることができるので、各制御装置128
はシステムの新しい構成を知り、したがって予備線152
に置き換えることができる。
第6図は並列バス・エミュレーションのプロトコルを
示している。このプロトコルは開始シーケンス600、裁
定シーケンス604、および並列イメージ・シーケンス608
を含んでいる。伝送は開始シーケンスが送られると始ま
る。開始シーケンスは、1が17ヶ続くビット612、これ
に0ビット616が続き、最後にすべてのモジュールが自
分自身をバスから切離す開始−切離しビット620から構
成される。
競合裁定は開始フィールドが直列バスを介して送られ
た後始まる。裁定フィールドは16個の三つ組624に分け
られており、各々は三つのビット周期を備えている。各
三つ組は1つのバス・スロットに「占有」されている、
つまり三つ組0はスロット0に占有され、三つ組1はス
ロット1に占有され、以下同様である。三つ組は直列バ
ス上にスロット順に与えられる。各三つ組は要求ビット
628、セット・ビット632、および競合裁定切離しビット
636から構成されている。競合裁定を望んでいるモジュ
ールはその割当てられた三つ組の裁定期間中要求ビット
628を真とする。次にセット・ビット632を落し(偽と
し)てリセットさせ、自分自身をバスから切離すことに
より競合裁定切離しビット636が受動的にリセット状態
に留まるようにしておく。信号を落すこととそれに続く
切離しによりバスは信号が落ちた状態すなわち切離し状
態になっているので、その後の三つ組については、競合
裁定を要求しないモジュール(またはモジュールの無い
スロット)はバスをドライブする必要はない。スロット
の最後のモジュールが競合裁定を要求し終った後、各制
御装置128の裁定制御193が判断フィールド640で裁定の
判決を下し、その後続いて、並列エミュレーションが並
列イメージ・フィールド608で行なわれる。並列イメー
ジ・フィールド608は並列バス上の信号に正確に対応す
る。ただし、情報はバイト並列ではなくビット直列で提
示される。8ビットが伝達される各並列バス・サイクル
ごとに、直列バスは、最上位ビットから始まる、各1ビ
ットから成る、8個のバス・サイクルを備えている。し
たがって、CAD(0)が最初に送られ、次のCAD(1)が
送られ、以下同様となる。
オンライン修理 モジュールは電気的にバスを乱さないかぎり、電源が
はいっており動作中のバスに挿入することができる。し
たがって、新しく挿入したモジュールを初期設定し且つ
運転中のシステムと同期させなければならない。その
上、バスが予備代替モードで動作している場合には、新
しく挿入したモジュールにこのことを知らせ、正しいシ
ステム構成を指示しなければならない。第7図はこのた
めの動作を示す。
通常のトランザクション処理がステップ700で起る。
ステップ701で新しく挿入されたモジュールが入出力バ
ス136に接続されていることが(たとえばCPU116やCPU通
信制御装置124のソフトウェアやハードウェアが、その
アドレスにあるモジュールから定期的に読出しを行なお
うとすることによって)確認されると、CPU通信制御装
置124はステップ702で、バス・マスタになるまで後続の
トランザクションについて裁定を要求する。CPU通信制
御装置124がバス・マスタになることに成功すると、ス
テップ703でシステムが予備代替モードになるか否かを
確認する。否の場合には、CPU通信制御装置124はステッ
プ704でエラーをプロトコルの適切な場所に割当てて存
在しないアドレスにダミーのトランザクションを送る。
エラーはステップ708で少くとも64サイクルだけ上げら
れる。この長い期間出されたエラーを見ることにより、
ステップ716で、エラーがステップ712で落された後、各
入出力制御装置128の同期化制御モジュール197が入出力
バス136に同期する。新しく挿入されたモジュールが一
旦同期すると、CPU通信制御装置124はステップ720でそ
のモジュールに初期設定情報を送り、通常のトランザク
ション処理が再開される。
並列バスが予備代替モードで動作している場合には、
通信制御装置124は直列バスへの切換えを始め、新しく
挿入されたモジュールが初期設定できる前に新しく挿入
されたモジュールに予備代替情報を送られなければなら
ない。ステップ703でシステムが予備代替モードで動作
していることが確認されれば、入出力制御装置128はス
テップ730で直列モードに切換えるよう命令され(これ
は新しく挿入されたモジュールをバスの切換のタイミン
グにより自動的に同期化する)、ステップ734で予備代
替情報が直列バスで送られ、入出力制御装置128がステ
ップ738で並列モードに戻るように切換えられ、ステッ
プ742で初期設定情報が送られ、通常の処理が再開され
る。
CPU116または通信制御装置124のソフトウェアまたは
ハードウェアが、ステップ750で、あるモジュールが同
期していないかもしれないが、新しく挿入されたもので
はないことを検出すると(たとえばそのモジュールが正
しくない応答を返した場合等)、ステップ725で、通常
のトランザクション処理中に競合裁定を要求してからエ
ラーを上げるかあるいは直ちにエラーを上げるかが確認
される。同期していないモジュールがシステム動作にわ
ずかしか影響しないときは通常のトランザクション処理
中にエラーを上げることが望ましいが、同期していない
モジュールがシステム動作にかなり影響をおよぼすとき
は直ちにエラーを上げることが望ましい。通常のトラン
ザクション処理中にエラーを上げるように決定が行われ
れば、CPU通信制御装置124は、ステッフ754で、バス・
マスタになるまで後続のトランザクションに関して競合
裁定を要求する。CPU通信制御装置124がバス・マスタに
なることに成功すると、ステップ758でエラーをプロト
コルの適切な場所に割当ててダミーのトランザクション
を存在しないアドレスに送出する。エラーを直ちに上げ
るように決定がなされれば、今トランザクション・シー
ケンス内のどのサイクルにいるかには関係なくエラーが
上げられる。
すべてのモジュールにバスをオフにさせるため、ステ
ップ762でエラーを最大1028クロック・サイクルだけ上
げておくことができる。この長い期間エラーを上げてお
けばすべてのモジュールがこの信号を確実にエラー信号
と認識する。ステップ766でエラーが落された後、モジ
ュールはステップ770で同期化され、通常処理が再開さ
れる。
本発明をこれまで特定の実施例を参照して説明してき
た。各種の変更や置換が可能なことは当業者には明らか
であろう。たとえば、記述した制御および処理の機能は
CPU116またはCPU通信制御装置124のソフトウェアまたは
ハードウェアで実現することができる。2本以上の予備
線152を設けることができ、並列バス・エミュレーショ
ンを始めるのにCRCコード以外のコードを使用すること
ができる。またCAD線の本数はもっと多くてもあるいは
もっと少なくてもよい。したがって、本発明を特許請求
の範囲に示したものの他は限定するつもりはない。
〔発明の効果〕
以上説明したように、本発明の実施例によれば、バス
あるいはその周辺に障害が発生してもシステム全体を停
止させる必要はない。また、システムの動作中に新しい
モジュールを組込み自動的に同期化・初期化することも
できる。
【図面の簡単な説明】
第1図は本発明を用いて構成された計算システムの一例
を示すブロック図、第2図は第1図中のCPU通信制御装
置および入出力制御装置の構成を説明するブロック図、
第3図は第1図中の入出力バス上のトランザクション・
シーケンスの一例を説明するフローチャート、第4図は
本発明の一実施例におけるエラー・サイクルを説明する
フローチャート、第5図は本発明の一実施例における並
列バスと直列バスの切換え動作を説明する図、第6図は
本発明の一実施例における並列バス・エミュレーション
のプロトコルを説明する図、第7図は本発明の一実施例
におけるオンライン修理動作を説明するための図であ
る。 104:データ処理システム, 116:CPU 120:システム・バス 124:CPU通信制御装置, 128:入出力制御装置, 136:入出力バス, 140:直列データ線, 144:スロット識別線, 148:CAD線, 152:予備線, 168,192:ビット直列制御モジュール, 176,194:バイト並列制御モジュール, 197:同期化制御モジュール, 198:レジスタ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の情報処理要素間で並列情報伝達を行
    なう並列情報伝達手段と、 前記複数の情報処理要素間で直列情報伝達を行なう直列
    情報伝達手段と、 前記情報伝達手段のいずれが情報伝達を行なうかを指示
    する選択手段とを設け、 前記複数の情報処理要素の各々は、前記選択手段に応答
    して、指示された前記情報伝達手段により情報伝達を行
    なう 情報伝達方式において、 前記並列情報伝達手段の複数の情報伝達用信号線の一部
    を代替する予備信号線を設け、 使用する情報伝達手段を前記並列情報伝達手段から前記
    直列情報伝達手段へ切り換え、 前記情報伝達手段の切換後、前記複数の情報伝達用信号
    線の一部を前記予備信号線で代替することを指示する予
    備構成情報を前記情報処理要素へ前記直列情報伝達手段
    を用いて伝達し、 前記予備構成情報の伝達後、使用する情報伝達手段を前
    記直列情報伝達手段から前記並列情報伝達手段へ切り換
    える ことを特徴とする情報伝達方式。
JP62159554A 1986-06-27 1987-06-26 情報伝達方式 Expired - Lifetime JP2537054B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US879720 1986-06-27
US06/879,720 US4890224A (en) 1986-06-27 1986-06-27 Method and apparatus for fault tolerant communication within a computing system

Publications (2)

Publication Number Publication Date
JPS6324346A JPS6324346A (ja) 1988-02-01
JP2537054B2 true JP2537054B2 (ja) 1996-09-25

Family

ID=25374747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62159554A Expired - Lifetime JP2537054B2 (ja) 1986-06-27 1987-06-26 情報伝達方式

Country Status (2)

Country Link
US (1) US4890224A (ja)
JP (1) JP2537054B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032758T2 (de) * 1989-12-19 1999-06-24 3Com Corp., Santa Clara, Calif. Konfigurationsverfahren für eine Rechnerbus-Adapterkarte ohne Brücken oder Schalter
JPH0549058A (ja) * 1991-08-16 1993-02-26 Fujitsu Ltd リソース整合処理方式
US5831467A (en) * 1991-11-05 1998-11-03 Monolithic System Technology, Inc. Termination circuit with power-down mode for use in circuit module architecture
US5498990A (en) * 1991-11-05 1996-03-12 Monolithic System Technology, Inc. Reduced CMOS-swing clamping circuit for bus lines
EP0541288B1 (en) * 1991-11-05 1998-07-08 Fu-Chieh Hsu Circuit module redundacy architecture
WO1994003901A1 (en) * 1992-08-10 1994-02-17 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
JP3524110B2 (ja) * 1992-11-06 2004-05-10 株式会社ルネサステクノロジ マイクロコンピュータシステム
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5640517A (en) * 1993-06-22 1997-06-17 Dell Usa, L.P. Method and apparatus for masters to command a slave whether to transfer data in a sequential or non-sequential burst order
JP2888100B2 (ja) * 1993-08-06 1999-05-10 富士通株式会社 データ伝送系のバックアップ試験方式
JP2629584B2 (ja) * 1993-10-29 1997-07-09 日本電気株式会社 中継回線無切断迂回方式
JPH07200428A (ja) * 1993-12-28 1995-08-04 Canon Inc 通信装置
US5655113A (en) 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
JPH096718A (ja) * 1995-06-16 1997-01-10 Toshiba Corp ポータブルコンピュータシステム
US5794012A (en) * 1996-10-09 1998-08-11 Hewlett-Packard Company Verification of strongly ordered memory accesses in a functional model of an out-of-order computer system
US5815688A (en) * 1996-10-09 1998-09-29 Hewlett-Packard Company Verification of accesses in a functional model of a speculative out-of-order computer system
US6182179B1 (en) * 1998-04-20 2001-01-30 National Instruments Corporation System that is able to read and write using a transmission medium and is able to read stored information via a model information structure using a different transmission medium
KR20000049745A (ko) * 2000-04-27 2000-08-05 우상엽 반도체 메모리 테스트 장치
US6754179B1 (en) * 2000-06-13 2004-06-22 Lsi Logic Corporation Real time control of pause frame transmissions for improved bandwidth utilization
US7315551B2 (en) * 2002-03-15 2008-01-01 Lockheed Martin Corporation Synchronous low voltage differential I/O buss
US20060126706A1 (en) * 2004-12-10 2006-06-15 Kevin Brand Auto-reboot modem
US7380161B2 (en) * 2005-02-11 2008-05-27 International Business Machines Corporation Switching a defective signal line with a spare signal line without shutting down the computer system
US7443760B2 (en) * 2005-09-29 2008-10-28 Hynix Semiconductor Inc. Multi-port memory device with serial input/output interface
KR100719146B1 (ko) * 2005-09-29 2007-05-18 주식회사 하이닉스반도체 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자
JP4893746B2 (ja) * 2006-10-27 2012-03-07 富士通株式会社 アドレス線故障処理装置、アドレス線故障処理方法、アドレス線故障処理プログラム、情報処理装置およびメモリコントローラ
JP5407230B2 (ja) * 2008-09-08 2014-02-05 日本電気株式会社 Pciカード、マザーボード、pciバスシステム、制御方法、及びプログラム
US8942337B2 (en) 2012-04-25 2015-01-27 Medtronic, Inc. Systems and methods for handling race conditions during data transfer in an implantable medical device
US9265953B2 (en) 2012-04-25 2016-02-23 Medtronic, Inc. Handling race conditions during data transfer between multiple modules of an electronic device
DE102016212816A1 (de) * 2016-07-13 2018-01-18 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Bussystems
US10666540B2 (en) * 2017-07-17 2020-05-26 International Business Machines Corporation Dynamic time-domain reflectometry analysis for field replaceable unit isolation in a running system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2459494A (en) * 1948-01-26 1949-01-18 Gen Railway Signal Co Line circuit communication system
US2936442A (en) * 1957-08-22 1960-05-10 Gen Electric Alternate channel supervisory control system
US4042794A (en) * 1975-01-27 1977-08-16 Lynch Communication Systems Method and means for detecting an outgoing failure in a bidirectional communications span and looping the same in response thereto
JPS5248416A (en) * 1975-07-23 1977-04-18 Johnson Controls Inc Data communication system
US4405978A (en) * 1979-06-25 1983-09-20 Honeywell Information Systems Inc. Microprocessor based computer terminal
US4254496A (en) * 1979-06-28 1981-03-03 Northern Telecom Limited Digital communication bus system
US4281315A (en) * 1979-08-27 1981-07-28 Bell Telephone Laboratories, Incorporated Collection of messages from data terminals using different protocols and formats
US4463421A (en) * 1980-11-24 1984-07-31 Texas Instruments Incorporated Serial/parallel input/output bus for microprocessor system
JPS59157759A (ja) * 1983-02-28 1984-09-07 Fuji Electric Co Ltd 二重化システム
US4527270A (en) * 1983-05-04 1985-07-02 Allen-Bradley Company Communications network with stations that detect and automatically bypass faults
US4570220A (en) * 1983-11-25 1986-02-11 Intel Corporation High speed parallel bus and data transfer method
US4627045A (en) * 1984-02-14 1986-12-02 Rosemount Inc. Alternating communication channel switchover system

Also Published As

Publication number Publication date
US4890224A (en) 1989-12-26
JPS6324346A (ja) 1988-02-01

Similar Documents

Publication Publication Date Title
JP2537054B2 (ja) 情報伝達方式
EP0147046B1 (en) Fault-tolerant communications controlller system
JP3206006B2 (ja) 二重化バス制御方法及び装置
JP2886093B2 (ja) 障害処理方法および情報処理システム
JP2623261B2 (ja) 拡張可能なプロセッサ部を有する障害許容コンピュータ用情報処理方法および装置
US5068780A (en) Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
US7721155B2 (en) I2C failure detection, correction, and masking
EP0415550A2 (en) Apparatus and method for documenting faults in computing modules
US6842806B2 (en) Method and apparatus for interconnecting wired-AND buses
EP0415551A2 (en) Protocol for transfer of DMA data
JPH0812621B2 (ja) 情報転送方法及び装置
JPH01154243A (ja) 耐欠陥性でない要素と耐欠陥性システムとのインターフェイス
EP0415552B1 (en) Protocol for read and write transfers
JPH086910A (ja) クラスタ型計算機システム
JP3329986B2 (ja) マルチプロセッサシステム
EP0411805A2 (en) Bulk memory transfer during resync
JPH06259343A (ja) 多重バス制御方式及びそれを用いたシステム
JP2002136000A (ja) 無停電電源システム
JP3001818B2 (ja) マルチプロセッサ立ち上げ管理装置
JP2002312333A (ja) マルチプロセッサ初期化/並行診断方法
WO2024179427A1 (zh) 一种双az集群下的容灾方法及相关设备
JP2001356881A (ja) 多重化記憶制御装置
JPH04360242A (ja) 二重化システムの系切替装置およびその方法
JP2549849B2 (ja) 多重化メモリ装置
JPS634210B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term