JPH03184155A - 非存在メモリエラー処理の方法 - Google Patents

非存在メモリエラー処理の方法

Info

Publication number
JPH03184155A
JPH03184155A JP2203806A JP20380690A JPH03184155A JP H03184155 A JPH03184155 A JP H03184155A JP 2203806 A JP2203806 A JP 2203806A JP 20380690 A JP20380690 A JP 20380690A JP H03184155 A JPH03184155 A JP H03184155A
Authority
JP
Japan
Prior art keywords
error
data
memory
module
cpu
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
JP2203806A
Other languages
English (en)
Inventor
William Bruckert
ウィリアム ブルッカート
Thomas D Bissett
トーマス ディー ビセット
James Melvin
ジェイムズ メルヴィン
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH03184155A publication Critical patent/JPH03184155A/ja
Pending 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0793Remedial or corrective actions
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般にエラーり回復システムに関する。さら
に詳細に言えば、エラー源が、ハードウェアによるもの
であっても、ソフトウェアによるものであっても、どち
らのエラーも回復してくれるというものである。
多くのコンピュータシステムにおいて、エラー検出は、
即座にコンピュータシステムの働きを止めさせてしまう
ものであったり、クラッシュダンプ(crash du
mp)あるいは、システム全てのリセットを実行してし
まうものであったり、またその両方を実行させてしまう
ものである。もしコンピュータシステムが小く、リブー
トがそれほど扱いにくくなければ、そのような全ての働
きはうけいれられるものであるかもしれない。しかしな
がら、より大きなシステムには、より精巧なエラー処理
が必要である。
度々あることであるが、要求されるエラー処理は、ハー
ドウェアエラーの原因によるものと、それと対立したソ
フトウェアエラーによるものとでは異なるものである。
ハードウェアエラーは、システム要素の実効率が降下さ
せられているのを示しており、そこでハードウェア全体
では疑わしい。
ソフトウェアエラーは、コードの幾つかの部分が誤りで
あることを示してはいるが、システムの働きほの根本は
まだ受は入れられるものである。
ハードウェアあるいは、ソフトウェア、それらいづれか
により引き起こされるエラーの例は、非存在メモリエラ
ーである。メモリモジュール(memory modu
le)をしくじったことによるものであっても、このよ
うな場合エラーはハードウェアエラーである、あるいは
、ソフトウェアがシステムの適当でない部分にメモリ部
分を割り当てようとしたことによるものであっても、そ
れらどちらの場合であっても、エラーは発生するのであ
る。
フォールトの源がソフトウェアによるものか、あるいは
ハードウェアによるものかによって、非存在メモリフォ
ールトを、異なる取り扱いにすることは有益なことであ
る。
もし、ハードウェアがまず初めに、エラーの源がハード
ウェアにあれば、システムへの付加的な損害が起こらな
いということを確実にする、という段階を行うならば、
これはさらに有益なことになるであろう。
もしシステムのエラー処理が、ある特定のエラーの原因
がソフトウェア中にあるのならば、ソフトウェアに対し
てどのようなエラー段階でも取らせるというのであれば
、さらに有益なことになるであろう。
発明の概要 本発明は、そのようなエラー処理に関連した問題を克服
し、且つ、上で示したような利点を提供してくれるもの
であり、それは、その原因がソフトウェア、あるいはハ
ードウェアにある、非存在メモリエラーのようなエラー
を受けたときに、先ず初めにコンテインメント機構をセ
ットするということによるものである。もし原因がハー
ドウェアにあるのなら、抑制機構は保持されるが、もし
原因がソフトウェアにあるのなら、抑制機構は解放され
、そうしてソフトウェアは、エラー処理に充てる段階を
さらにとることが出来る。
さらに言えば、具現化しさらに上で広く述べたような本
発明に従えば、プロセッサ内のフォールト処理の方法は
、一連の指示と外部要素との会話を可能とするものであ
り、指示あるいはプロセッサにより引き起こされるフォ
ールトは、フォールトの存在を検出し、抑制機構に対し
てプロセッサが外部要素と通信することを妨げるのを可
能とし、プロセッサの縮小運転により引き起こされたフ
ォールトであるのか、指示の特別な実行により発生され
た誤動作によるフォールトであるのかを決定し、もしフ
ォールトの原因が、指示の特別な実行により発生された
誤動作と判断される場合にのみ、プロセッサが外部要素
と通信することを許可するため、抑制機構をディスエイ
ブルし、もしフォールトの原因が、指示の特別な実行に
より発生された誤動作であると判断することができない
場合には、抑制機構を保持するという、プロセッサによ
り実行される段階を備えるでいる。
(実施例) 本発明の好適な実施例を詳細に参照するが、この実施例
の具体例は添付図に示されている。
A、システムの説明 第1図は本発明による故障許容コンピュータ・システム
10のブロック図である。この故障許容コンピュータ・
システムIOはゾーンと呼ぶ重複システムを有している
。通常のモードの場合、2つのゾーン11と11’が同
時に動作している。
この重複によって、1つのポイントで故障が発生するこ
とがなく、ゾーン11または11’の1つにエラーまた
は故障が発生しても、これによってコンピュータ・シス
テム10が動作不能にならないことが保証される。さら
に、こうした故障は、これを発生させた装置または構成
要素を動作不能にするまたは無視することによって取り
除くことができる。第1図に示すゾーン11と11’は
、それぞれ重複処理システム20と20′を有している
。しかし、これらが重複して設けられていることによっ
て、処理システム以上のことを行うことができる。
第2図は、故障許容コンピュータ・システムlOの物理
的ハードウェアを示し、システムが重複して設けられて
いることを図によって示す。各ゾーンIfと11′は、
別のキャビネット11と12’にそれぞれ内蔵されてい
る。キャビネット12は、バッテリ13、電源調整装置
14、冷却ファン16およびAC人力1−7を有する。
キャビネット12’はキャビネット12の構成要素13
.14.16および17に対応する別の構成要素を有す
る。
以下で詳細に説明するように、処理システム20および
20′は背面板によって相互に接続された幾つかのモジ
ュールを有する。もし1つのモジュールに故障またはエ
ラーがあれば、このモジュールは、コンピュータ・シス
テムIOを動作不能にすることなく、取り外して取り替
えることができる。これは、処理システム20と20′
が物理的に分離され、モジュールがプラグによって挿入
されている別の背面板を有し、相互に独立して動作する
ことができるためである。従って、これらのモジュール
は、一方の処理システムが動作を継続している間に、他
方の処理システムの背面板から取り外しまたはその背面
板にプラグによって挿入することができる。
好適な実施例の場合、重複処理システム20および20
′は同一のものであり、同一のモジュールを内蔵してい
る。したがって、処理システム20’は同じ動作をする
と理解して、処理システム20のみを完全に説明する。
処理システム20は第3図および第4図に詳細に示すC
PUモジュール30を有している。CPUモジュール3
0は、以下で詳細に説明するクロスリンク経路25によ
って処理システム20′のCPUモジュール30′と相
互に接続されている。
クロスリンク経路25によって、処理システム20と2
0′との間にデータ転送経路が設けられ、処理システム
20と20′が同期して動作することを保証するために
タイミング信号が搬送される。
処理システム20はまたI10モジュール100.11
0、および120を有する。I10モジュール100.
110.120,100’  110’および120′
は独立した装置である。第1図、第4図および第17図
はI10モジュール100を詳細に示す。複数のI10
モジュールを図示するが、これらの重複したモジュール
はこのシステムによって要求されるものではない。しか
し、このような重複がなければ、ある程度の補償許容度
が失われる。
I10モジュール100.110.120の各々は、デ
ュアル・レール・モジュール相互接続部130および1
32によってCPUモジュール30に接続される。モジ
ュール相互接続部130と132はI10相互接続部と
して機能し、背面板を介して処理システム20に接続さ
れている。
この用途に使用するため、CPU40、メモリ制御装置
70、クロスリック90およびモジュール相互接続部1
30を有するデータ経路が一方のレールと考えられ、C
PU50、メモリ制御装置75、クロスリンク95、お
よびモジュール相互接続部132を有するデータ経路が
他方のレールと考えられる。動作が正しく行われている
間は、両方のレールのデータは同じである。
B、故障許容システムの原理 故障許容コンピュータ・システム10では、1つのポイ
ントで故障の発生することがないが、その理由は、各構
成要素が重複して設けられているためである。処理シス
テム20と20′は、それぞれ故障停止処理システムで
あり、このことは、これらのシステムがサブシステム内
の故障またはエラーを検出し、これらの故障またはエラ
ーが他のサブシステムに制御されない状態で広がること
を防止することができる。しかし、これらの処理システ
ムではVは、各処理システム内の構成要素が重複して設
けられていないため、1つの点で故障が発生する。
2つの故障停止処理システム20と20’は、所定の方
法で動作するある種の構成要素によって相互に接続され
、フェール・セーフ・システムを形成する。故障許容コ
ンピュータ・システム10として具体化されているフェ
ール・セーフ・システムの場合、たとえ故障停止処理シ
ステム20および20′の一方が故障しても、コンピュ
ータ・システムは全体として処理を継続することができ
る。
2つの故障停止処理システム20と20′はロックステ
ップ同期で動作すると考えられるが、その理由は、CP
U40.50.40′および50′がこのような同期で
動作するからである。この場合、3つの重要な例外が存
在する。第1の例外は、ブートストラップ法によって両
方の処理装置を同期させる初期化の時に発生する。第2
の例外は、処理システム20と20′が2つの異なった
作業負荷で独立して(非同期の状態で)動作する場合に
発生する。第3の例外は、ある種のエラーが処理システ
ム20と20′に発生する場合に起こる。
この最後の例外の場合、これらの処理システムの内の一
方のCPUとメモリ素子を動作不能し、これによって同
期動作を終了する。
システムがロックステップI10で動作している場合、
いずれの1つの時間にも、1つのI10装置のみしかア
クセスすることができない。しかし、4つのCPU40
.50.40′および50′は全て実質的に同じ時間に
同じデータをこのI10装置から受は取る。以下の議論
では、これらの処理システムのロックステップ同期とは
、1つのI10モジュールのみがアクセスされているこ
とを意味すると理解できる。
重複して設けられた処理システム20および20’の同
期は、各システムを決定性を有する機械として取り扱う
ことによって実行され、この場合、これらのシステムは
、同じ入力を受けて同じ既知の状態でスタートし、常に
同じ機械状態に入り、エラーのない場合には、同じ結果
を発生する。
処理システム20と20′は同じ構成を有し、同じ入力
を受取、従って、同じ状態を通過する。従って、両方の
処理装置が同期して動作する限り、これらは同じ結果を
発生すると共に同じ状態に入る。もしこれらの処理シス
テムが同じ状態でなく、または異なった結果を発生すれ
ば、これらの処理システム20と20’の一方が故障し
ていると考えられる。そこで修正動作を行うためには、
故障しているモジュールを動作不能にする等して故障の
原因を取り除かなければならない。
エラーの検出は、−膜内に別の処理時間または論理の形
でのオーバヘッドを含む。このようなオーバヘッドを最
小にするため、システムは故障許容動作と調和しながら
、エラー・チエツクをできるだけ少ない回数行わなけれ
ばならない。少なくとも、エラーのチエツクはデータが
CPU30と30′から出力される前に行われなければ
ならない。そうでなければ、内部処理のエラーによって
、原子炉のような外部システムに正しくない動作が発生
するが、これは故障許容システムの設計によって防止し
ようとしている状態である。
これ以外にエラーのチエツクを行う理由が存在する。例
えば、故障またはエラーを除去するためには、記憶また
は使用する前に、CPUモジュール30および30′の
受は取ったデータをチエツクすることが望ましい。そう
でなければ、記憶されているエラーのあるデータが後が
アクセスされ、その結果、別のエラーが発生すると、特
にこのエラーのあるデータが一定期間記憶された場合に
は、これらのエラーの最初の原因を見出だすことが困難
または不可能になる。時間が経過することとこれらのエ
ラーのあるデータがその後処理されることによって、エ
ラーの原因を追跡することができなくなる可能性がある
検出される前にエラーが記憶されていた時間を指す「エ
ラーの潜伏時間」によって、同様に後で問題が発生する
可能性がある。例えば、コンピュータシステムが以前に
発生したエラーによって小さくなったキャパシティで既
に動作している場合に、滅多に使わないルーチンによっ
て潜在するエラーの見付かる場合がある。コンピュータ
のキャパシティが減少している場合、潜在するエラーに
よってシステムが破壊される場合がある。
更に、処理システム20および20′がデュアル・レー
ル・システムになっている場合、データをメモリのよう
な共有の資源である1つのレール・システムに転送する
のに先立って、エラーをチエツクすることが望ましい。
この理由は、このような転送を行った後には最早2つの
独立するデータのソースが存在しないためであり、もし
シングル・レール・システムで後になって何らかのエラ
ーが検出された場合、このエラーを追跡することは、不
可能でないにしても困難になる。
エラー処理の好適な方法が、これと同じ日に出願された
弁理士ドケットFkXPD89−289/DEC−34
4の発明の名称「ソフトウェアによるエラーの処理」と
いう出願で説明され、これは参考としてここに引用され
ている。
C,モジュールの説明 1、cPUモジュール 第1図に示すCPUモジュール30の構成要素を第3図
および第4図により詳細に示す。第3図はCPUモジュ
ールのブロック図であり、第4図はCPUモジュール3
0およびI10モジュール100並びにこれらの相互接
続部のブロック図である。CPUモジュール30および
30′の動作およびこれらに含まれる構成要素は一般的
に同じであるため、CPU30のみを説明する。
CPUモジュールは、デュアルCPU40と50を内蔵
する。CPU40と50は当業者に周知の標準的な中央
処理装置である。好適な実施例の場合、CPU40と5
0は本出願の譲受人であるディジタル・エクイップメン
ト会社によって製造されたVAXマイコロプロセッサで
ある。
CPU40と50に関連するのはそれぞれキャッシュ・
メモリ42と52であり、これらはCPUに対して十分
なメモリのサイズを有する標準のキャッシュRAMであ
る。好適な実施例の場合、キャッシュRAMは4Kx6
4ビツトである。しかし、本発明がキャッシュRAMを
有する必要はない。
2、 メモリ・モジュール CPU40と50は、最高4つのメモリ・モジュール6
0を共有できることが望ましい。第5図はCPUモジュ
ール30に接続して示した1つのメモリ・モジュール6
0のブロック図である。
メモリ転送サイクル、ステータス・レジスタ転送サイク
ルおよびEEPROM転送サイクルの期間中、各メモリ
・モジュール60は双方向データ・バス85を介してプ
ライマリ・メモリ制御装置70にデータを転送すると共
にこれからデータの転送を受ける。各メモリモジュール
60は、またそれぞれバス80および82を介してメモ
リ制御装置70と75からアドレス信号、制御信号、タ
イミング信号およびFCC信号を受は取る。バス80お
よび82のアドレス信号は、ボード信号、バンク信号、
および行アドレス信号と列アドレス信号を含み、これら
によってデータ転送に含まれるメモリ・ボード・アドレ
ス、バンク・アドレス、および行および列アドレスが識
別される。
第5図に示すように、各メモリ・モジュール60はメモ
リ・アレイ600を有する。各メモリ・アレイ600は
DRAMが8バンクのメモリに組織されている標準RA
Mである。好適な実施例の場合、高速ページ・モード型
のDRAMが使用される。
メモリ・モジュール60には、また制御ロジック610
、データ・トランシーバ/レジスタ6201メモリ・ド
ライバ630、およびEEPROM640が含まれる。
データ・トランシーバ/レジスタ620によってメモリ
・アレイ600とデータ・バス85の双方向データ線と
の間でデータを転送するためのデータ・バスとデータ・
インターフェースが設けられる。メモリ・ドライバ63
0は、制御ロジック610からメモリ・アレイ600の
各バンクに対して行および列アドレス信号と制御信号を
分配し、ロングワードのデータとその対応するFCC信
号をメモリ・ボード信号とバンク・アドレス信号によっ
て選択されたメモリ・バンクに対して転送すると共にこ
れらがそこから転送されることを可能にする。
いずれのタイプのNVRAM (非揮発性RAM)であ
ってもよいEEPROM640によって、オフ・ライン
修理用のメモリ・エラー・データとモジュールのサイズ
のような構成データが記憶される。故障の発生後メモリ
・モジュールが取り外された場合、故障の原因を判定す
るため、記憶されているデータがEEPROM640か
ら取り出される。EEPROM640は、ドライバ63
0からの行アドレス線を介して、制御ロジック610か
らのEEPROM制御信号によってアドレスされる。E
EPROM640は、32ビツトの内部メモリ・データ
・バス645に対して8ビツトのデータを転送し、ここ
からこのデータを受は取る。
制御ロジック610は、メモリ・モジュール60の素子
に対してアドレス信号を転送すると共に内部タイミング
と制御信号を発生する。第6図に詳細に示すように、制
御ロジック612はプライマリ/ミラー指示回路612
を有する。
プライマリ/ミラー指示回路612は、バス80と82
でメモリ制御装置70と75から2組のメモリ・ボード
・アドレス・バンク・アドレス、行および列アドレス、
サイクル・タイプ・サイクル・タイミング信号を受は取
り、またバス80と82でメモリ制御装置に対して2組
のFCC信号を転送すると共にここからこれを受は取る
。指示装置612のトランシーバ/レジスタによって、
これらの信号をバス80と82との間で授受するバッフ
ァとインターフェースが設けられる。ステータス・レジ
スタ618に記憶されているプライマリ/ミラー・マル
チプレクサのビットによって、メモリ制御装置70と7
5のいずれがプライマリ・メモリ制御装置として指定さ
れ、いずれがミラー・メモリ制御装置として指定されか
が指示され、プライマリ/ミラー・マルチプレクサ信号
がステータス・レジスタ618から指示装置612に加
えられる。
プライマリ/ミラー指示装置612よって、制御ロジッ
ク610に分配する2組の信号が与えられる。1組の信
号は指定されたプライマリ−・メモリ・ボード・アドレ
ス、バンク・アドレス、行および列アドレス、サイクル
・タイプ、サイクル・タイミングおよびEEC信号を含
む。他方の組の信号は、指定されたミラー・メモリ°・
ボード・アドレス信号、バンク・アドレス信号、列およ
び行アドレス信号、サイクル・タイプ信号、サイクル・
タイミング信号、およびEEC信号を含む。
プライマリ/ミラー・マルチプレクサ信号は、バス80
と82の信号がそれぞれ指定されたプライマリ信号を搬
送する線および指定されたミラー信号を搬送する線に向
けられるか、またはその逆であるかを選択するために指
示装置612によって使用される。
バス80と82には多数の時間分周多重化双方向線が含
まれている。メモリ転送サイクル、ステータス・レジス
タ転送サイクル、およびEEFROM転送サイクルの開
始後一定の時間に、データ・バス75のデータに対応す
るFCC信号がこれらの時間分周多重化双方向線に載置
される。もしこの転送サイクルが書き込みサイクルであ
れば、メモリモジュール60はメモリ制御装置からデー
タとFCC信号を受は取る。もしこの転送サイクルが読
み出しサイクルであれば、メモリ・モジュール60はデ
ータとFCC信号をメモリ・モジュールに転送する。転
送サイクルの他の時間に、アドレス信号、制御信号およ
びタイミング信号は時間分周多重化双方向線でメモリ・
モジュール60によって受は取られる。メモリ転送サイ
クル、ステータス・レジスタ転送サイクル、およびBE
FROM転送サイクルの始めに、メモリ制御装置70と
75がメモリ・ボード・アドレス、バンク・アドレス、
およびサイクル・タイプ信号をこれらの時間共有線で各
メモリ・モジュール60に転送することが望ましい。
行アドレス信号と列アドレス信号は同じ転送サイクル中
に同じ行および列アドレス線で多重化されることが望ま
しい。先ず、行アドレスがメモリ制御装置によってメモ
リ・モジュール60に加えられ、約60ナノ秒後に列ア
ドレスが加えられる。
シーケンサ−616は、システム・クロック信号とリセ
ット信号をCPUモジュール30から入力として受は取
り、指定されたプライマリ−・サイクル・タイミング信
号、指定されたプライマリ−・サイクル・タイプ信号、
指定されたミラー・サイクル・タイミング信号、および
指定されたミラー・サイクル・タイプ信号を指定装置6
12のトランシーバ/レジスタから受は取る。
シーケンサ616は、種々のタイプのサイクルを実行す
るために必要な多数の制御およびシーケンス・タイミン
グ信号を発生し、これらをメモリ・モジュールに対して
分配する関連したステアリング(steering)論
理を有するリング・カウンタである。制御およびシーケ
ンス・タイミング信号は、システム・クロック信号、指
定されたプライマリ−・サイクル・タイミング信号、お
よび指定されたプライマリ−・サイクル・タイプ信号か
ら発生される。
シーケンサ61.6は、またシステム・クロック信号、
指定されたミラー・サイクル・タイミング信号、および
指定されたミラー・サイクル・タイプ信号から重複した
組のシーケンス・タイミング信号を発生する。これらの
重複したシーケンス・タイミング信号は、エラーのチッ
クのために使用される。高速ページモードで多重のロン
グワードのデータをメモリ・モジュール60との間で授
受するためには、各組の列アドレスは第1の組でスター
トし、12727ナノ次の列アドレス120がこれに続
き、各々のロングワードのデータは前のロングワードの
データの後で120ナノ秒遅れてバス85を横切って移
動される。
シーケンサ616は、またtx/rxレジスタ制御信号
を発生する。tx/rxレジスタ制御信号は、トランシ
ーバ/レジスタ620の動作と指定装置612のトラン
シーバ/レジスタを制御するために発生される。データ
の流れの方向は、シーケンサ616のステアリングロジ
ックによって決定され、このシーケンサ616はtx/
rx制御信号とシーケンス・タイミング信号を発生する
ことによって、指定されたプライマリ−・サイクル・タ
イプ信号に応答し、データとFCC信号がメモリ・モジ
ュール60のトランシーバ/レジスタに対して書き込ま
れるべきであるかまたはここから読み出されるべきであ
るか、およびそれらが何時行われるべきであるかを示す
。メモリ書き込みサイクル中、ステータス・レジスタ書
き込みサイクル中、および書き込みサイクル中、データ
およびFCC信号はバス80.82、および85からト
ランシーバ/レジスタにラッチされ、一方メモリ読み出
しサイクル中、ステータス・レジスタ読み出しサイクル
中、およびEEPROM読み出しサイクル中、データお
よびFCC信号は、メモリ・アレイ600、ステータス
・レジスタ618、またはEBFROM640からトラ
ンシーバ/レジスタにラッチされて、CPUモジュール
30に出力される。
シーケンサ616は、またEEPROM制御信号を発生
して、EEPR’0M640の動作を制御する。
メモリ・モジュール60に存在するタイミング関係はシ
ステム・クロック信号の立ち上がり時間を参考にして決
められるが、このシステム・クロック信号は30ナノ秒
の間隔を有している。全てのステータス・レジスタ読み
出しおよび書き込みサイクルと1つのロングワードの全
てのメモリ読み出しおよび書き込みサイクル、は、10
システム・クロックの時間内、すなわち300ナノ秒内
に実行される。メモリ読み出しおよび書き込み転送サイ
クルは、多重化されたロングワードの転送によって構成
されることができる。別のロングワードが転送される毎
に、メモリ転送サイクルは4システム・クロックの期間
だけさらに延長される。
メモリ・リフレッシュ・サイクルとEEPROM書き込
みサイクルを実行するには少なくとも12システム・ク
ロックの間隔が必要であり、EBFROM読み出しサイ
クルは、少なくとも20システム・クロックの間隔を必
要とする。
指定されたプライマリ・サイクル、タイミング信号によ
って、シーケンサ616はシーケンス・タイミング信号
と制御信号との発生を開始し、これらの信号によって、
メモリ・ボート・アドレス信号によって選択されたメモ
リ・モジュールが要求されたサイクルを実行することが
可能になる。
指定されたプライマリ・サイクル・タイミング信号が活
性状態に遷移すると、サイクルが開始される。指定され
たプライマリ・サイクル・タイミング信号が不活性状態
に戻ると、サイクルは終了する。
CPUモジュール30によって要求されたサイクルが実
行されるに従って、シーケンサ616によって発生され
たシーケンス・タイミング信号はシーケンサの入力した
異なった状態と関連する。
これらの異なった状態の間のタイミング関係(およびこ
れらの状態の各々に対応するシーケンス・タイミング信
号の間のタイミング関係)を決めるため、シーケンサ6
16によって入力することのできるディスクリートな状
態がSEQ  IDLEおよび5EQIないしSEQ 
l 9と識別される。
各状態は、■システム・クロックの間隔(30ナノ秒)
の間持続する。シーケンサ616の行う各々の異なった
状態に対する入力は、システム・クロック信号の立ち上
がり区間によってトリガされる。シーケンサ616に状
態SEQ  IDLEおよび5EQIないし5EQ19
を入力させるシステム・クロック信号の立ち上がり区間
は、これらをシーケンサ616の状態と関連させるため
に遷移TIDLEおよびTIないしT19として表され
る。すなわち、TNはシーケンサ616に状態SEQ 
 Nを入力させるシステム・クロック信号の立ち上がり
区間である。
CPUモジュール30がメモリ・モジュール60に1つ
のサイクルを実行させていない場合、指定されたプライ
マリ−・サイクル・タイミング信号は表明されず(no
t asserted) 、シーケンサはSEQ  I
DLEの状態のままである。もし制御ロジック610と
シーケンサ616がこれもまたバス80でメモリ制御装
置70から転送されたメモリ・ボード・アドレスによっ
て選択されたメモリ・モジュールに位置しているならば
、シーケンサはメモリ制御装置70によるバス80のサ
イクル・タイミング信号の表明に応答してスタートされ
る(状態5EQIを入力する)。指定されたプライマリ
−・サイクルの活性信号の表明に続く第1システム・ク
ロック信号の立ち上がり区間は、遷移TIに対応する。
前に述べたように、メモリ・アレイ600に対して1つ
のロングワードを授受する場合、そのサイクルはIOシ
ステム・クロックの間隔で実行される。シーケンサはS
EQ  IDLEから状態5EQIないし5EQ9に進
み、S E Q  IDLEに戻る。
しかし、別のロングワードを転送するためにメモリ読み
出しおよび書き込みサイクルを延長することができる。
メモリ・アレイ600は、「高速ページ・モードJ D
RAMを使用することが望ましい。多重化されたロング
ワードの読み出しおよび書き込みを行う期間中、最初の
ロングワードの転送の後に行われるメモリ・アレイとの
データの授受は、列アドレスを繰り返して更新し、CA
S(列アドレス・ストローブ)信号を再び発生すること
によって行われる。
多重化されたロングワードの転送サイクルの期間中、こ
れらの列アドレスのこれらの更新を実行することが可能
であるが、その理由は、全てのロングワードが転送され
るまでシステム616は、5EQ4から5EQ7を繰り
返して循環するからである。例えば、もし3つのロング
ワードがメモリ・アレイ600から読み出され、または
これに書き込まれているならば、シーケンサは状態5E
QIDLE、5EQI、5EQ2.5EQ3.5EQ4
.5EQ5.5EQ6.5EQ7.5EQ4.5EQ5
.5EQ6.5EQ7.5EQ4.5EQ5.5EQ6
.5EQ7.5EQ8.5EQ9、および5EQI D
LEを入力する。
メモリ転送サイクルの期間中、指定されたプライマリ・
サイクル・タイミング信号は、遷移T6の間のシーケン
サ616によって監視され、少なくとも1つの別のロン
グワードを転送するため、メモリ読み出しまたは書き込
みサイクルを延長するべきかどうかを決定する。指定さ
れたプライマリ・サイクル・タイミング信号が遷移T6
中に表明された場合、状態5EQ7にあるシケンサは状
態5EQ8を入力する代わりに状態5EQ4を入力する
ことによって、次のシステム・クロック信号に応答する
多重ロングワードの転送の場合、指定されたプライマリ
−・サイクル・タイミング信号は、少なくとも第1T6
の遷移の15ナノ秒前に表明され、最後のロングワード
が転送される迄、表明されたままである。最後のロング
ワードが転送されてしまった後でメモリ転送サイクルを
終了するため、指定されたプライマリ・サイクル・タイ
ミング信号が最後のT6の遷移の少なくとも15ナノ秒
前に表明を解かれ、最後のT6の伝送の後、少なくとも
lOナノ秒間表明を解かれたままになる。
メモリ転送サイクルの期間中、指定されたプライマリ行
アドレス信号と指定されたプライマリ列アドレス信号は
、制御ロジック610内の指定装置612によって別の
時間に1組の時間分周多重化線上でメモリ・ドライバ6
.30に与えられる。
ドライバ630の出力はメモリ・アレイ600のDRA
Mのアドレス入力に加えられ、また指定されたミラー行
および列アドレス信号と比較するため制御ロジック61
0に戻されてエラーをチックする。状態レジスタ転送サ
イクルとEEPROM転送サイクルの期間中、列アドレ
ス信号は指定の記憶場所を選択するために必要ではない
メモリ転送サイクルの期間中、行アドレス信号はバス8
0と82の時間を共有する行および列アドレスに与えら
れた最初の信号である。状態5EQIDLEの期間中、
行アドレス信号は、メモリ制御装置によって行および列
アドレス線で転送され、列アドレスはTIの遷移の少な
くとも15ナノ秒前からT1の遷移後のlOナノ秒まで
安定した状態にある。次に、列アドレス信号はメモリ制
御装置によって行およびコラムアドレス線で転送され、
列アドレスは、T3の遷移のlOナナ1秒前らT4の遷
移の後15ナノ秒まで安定した状態にある。メモリ転送
サイクルの期間中に多重ロングワードの転送を行う場合
、続いて発生する列アドレス信号は、次に行およびコラ
ムアドレス線で転送され、これらの続いて発生する列ア
ドレスはT6の遷移のlOナナ1秒前らT7の遷移の後
15ナノ秒まで安定した状態にある。
ジェネレータ/チエッカ617はシーケンサ616によ
って発生された2組のシーケンス・タイミング信号を受
は取る。更に、指定されたプライマリ・サイクル・タイ
プ信号とバンク・アドレス信号および指定されたミラー
・サイクル・タイプ信号とバンク・アドレス信号が指定
装置612によってジェネレータ/チエッカ617に転
送される。ジェネレータ/チエッカでは、多数のプライ
マリ制御信号、すなわちRAS (行アドレス信号)、
CAS (列アドレス・ストローブ)およびWE (書
き込みイネーブル)が発生され、プライマリ・シーケン
ス・タイミング信号と指定されたプライマリ・サイクル
・タイプ信号およびバンク・アドレス信号を使用してド
ライバ630に分配される。これらの制御信号の重複し
た組がジェネレータ/チエッカ617によって重複(ミ
ラー)シーケンス・タイミング信号と指定されたミラー
・サイクル・タイプ信号およびバンク・アドレス信号か
ら発生される。これらのミラーRAS、CAS、および
書き込みイネーブル信号はエラーのチエツクのために使
用される。
プライマリ・サイクル・タンプ信号がメモリ転送サイク
ルが実行中であることを示す場合、プライマリ・バンク
・アドレス信号はメモリ・アレイ600内のDRAMの
1つの選択されたバンクを識別する。メモリ・ドライバ
630はメモリ・アレイ600内のDRAMの各バンク
に対して別々のRASドライバを有している。ジェネレ
ータ/チエッカ617においてプライマリRAS信号は
、メモリ転送サイクル中に発生され、ジェネレータ/チ
エッカをRASドライバに接続する線の1つに非多重化
される。その結果、選択されたDRAMバンクに対応す
るRASドライバのみがメモリ転送サイクル中に表明さ
れたRAS信号を受は取る。
リフレッシュ・サイクルの期間中、プライマリRAS信
号は非多重化されず、表明されたRAS信号が各RAS
ドライバによって受は取られる。
ステータス・レジスタ転送サイクルとBEFROM転送
サイクルの期間中、バンク・アドレス信号は不必要であ
る。
メモリ・ドライバ630はまたCASドライバを有する
。ジェネレータ/チエッカ617において、プライマリ
CAS信号はメモリ転送サイクルとリフレッシュ・サイ
クルの期間中に発生される。
プライマリCAS信号は、非多重化されず、表明された
CAS信号は各CASドライバによって受は取られる。
メモリ書き込みサイクルの期間中、プライマリWE信号
はジェネレータ/チエッカ617によって発生される。
表明されたWE倍信号、ドライバ630によってメモリ
・アレイ600内の各DRAMバンクに加えられる。し
かし、書き込みは選択ささたDRAMバンクによっての
み実行することが可能でり、このDRAMバンクはまた
表面されたRASおよびCAS信号を受は取る。
本発明の好適な実施例の場合、メモリ転送サイクルの期
間中、プライマリRAS信号はT2の遷移の期間中表明
され、T3の遷移の少なくとも10ナノ秒前から安定し
、最後のT7の遷移の期間中表面を解かれる。プライマ
リCAS信号は、各T4の遷移の前15ナノ秒間表明さ
れ、各T7の遷移の期間中表明を解かれる。。メモリ書
き込みサイクルの期間中、プライマリWE信号は、T3
の遷移の期間中表明され、最初のT4の遷移の少なくと
も10ナノ秒前から安定し、最後のT7の遷移に期間中
表面を解かれる。
プライマリ・サイクル・タイプ信号がメモリ・リフレッ
シュ・サイクルが実行中であることを示す場合、メモリ
・アレイ600はシーケンサ616によって与えられる
プライマリ・シーケンス・タイミング信号に応答して、
ジェネレータ/チエッカ617によってメモリ・リフレ
ッシュ動作を実行さされる。これらのリフレッシュ動作
の期間中、RAS信号およびCAS信号が逆の順序でジ
ェネレータ/チエッカによって発生されて分配される。
このリフレッシュ・モードはバンク、行または列に対す
る外部アドレスを必要としない。
転送サイクルの期間中、データがバス85い転送されて
いる時間に、ECC信号はバス80と82の時間分周多
重化双方向線で転送される。しかし、これらの同じ線は
転送サイクル中の他の時間に制御信号(例えば、サイク
ル・タイプ)およびアドレス信号(例えば、メモリ・ボ
ード・アドレスおよびバンク・アドレス)信号を転送す
るために使用される。
プライマリ/ミラー指定装置612内のトランシーバ/
レジスタはシーケンサ616によって加えられるシーケ
ンス・タイミング信号ともtx/rxレジスタ制御信号
に応答する受信機と発信機を有する。シーケンス・タイ
ミング信号とtx/rxレジスタ制御信号は、バス80
と82の時間分周多重化双方向線でECC信号とアドレ
ス信号および制御信号を多重化することを可能にする。
サイクル・タイプ信号、メモリ・ボード・アドレス信号
およびバンク・アドレス信号のような制御信号とアドレ
ス信号はメモリ制御装置70と75によって転送され、
単一の転送サイクルまたは多重ロングワード転送サイク
ルのいずれかの開始時にバス80と82の時間を共有し
た線に与えられることが望ましい。これらの信号はサイ
クル・タイミング信号の活性化と同時に遷移を開始しく
シーケンサはSEQ  IDLE状態にあるが)、T2
の間安定状態にある。従って、指定装置612のトラン
シーバ/レジスタにおいて、受信機は起動され、送信機
は少なくとも状態5EQ2の終わり迄そのトリステート
・モードにセットされる。
サイクル・タイプ信号は、下記にリストアツブした機能
、すなわちメモリの読み出し、メモリの書き込み、ステ
ータス・レジスタの読み出し、ステータス・レジスタの
書き込み、EEPROMの読み出し、EEPROMの書
き込み、およびリフレッシュのいずれがサイクル期間中
にメモリ・アサイ60によって実行されるかを識別する
。指定装置612によって受は取られた指定されたプラ
イマリ・サイクル・タイプ信号は、シーケンサ616に
加えられ、tx/rx制御信号とシーケンス・タイミン
グ信号を発生する場合に使用される。例えば、データ・
トランシーバ/レジスタ620および指定装置612の
トランシーバ/レジスタにおいて、受信機は起動され、
送信機は書き込みサイクル全体を通してシーケンサ61
6によってトリステート・モードにセットされる。しか
し、読み出し期間中のデータ・トランシーバ/レジスタ
620および指定装置612のトランシーバ/レジスタ
の場合、受信機はトリステート・モードにセットされ、
送信機はサイクル・タイプ信号、メモリ・ボード・アド
レス信号およびバンク・アドレス信号がこのサイクルの
開始時点で受は取られた後シーケンサ616によって起
動される。
適切な実施例の場合、メモリ・アレイ600に対して授
受されたデータはエラー検出コード(EDC)を使用し
て各メモリ・モジュール60内でチエツクされることが
望ましく、このエラー検出コードはメモリ制御装置70
と75によって必要とされるコードと同じであることが
望ましい。
好適なコードは1ビツト修正、2ビツト検出のエラー修
正コード(E CC)であることが望ましい。
メモリ書き込みサイクルの期間中、メモリ制御装置70
は少なくとも1つのロングワードのデータをデータ・バ
ス85で転送し、同時に対応する組のECC信号をバス
80で転送する。一方、メモリ制御装置75は第2組(
7>ECC信号を転送し、これらの信号はバス82のデ
ータ・バス85のロングワードとまた対応する。
ここで実施されているように、メモリ書き込みサイクル
の期間中、各ロングワードに対するデータとECC信号
がデータ・トランシーバ/レジスタ620の受信機に与
えられると共に指定装置612のトランシーバ/レジス
タの受信機に与えられる。データおよびECC信号はT
4の遷移の少なくともlOナナ1秒前安定しており、T
6の遷移後15ナノ秒後迄安定した状態にあり、これら
のトランシーバ/レジスタにラッチされる。この時間の
間、メモリ制御装置70と75はバス80と82の時間
を共有した線にアドレス信号と制御信号を加えない。
メモリ書き込みサイクルの期間中に指定装置612によ
って受は取られた指定されたプライマリECC信号とト
ランシーバ/レジスタ620によって受は取られたロン
グワードのデータは、メモリ・アレイ600の8つのバ
ンクの各々に於けるDRAMのデータ入力とECC発生
装置623に加えられる。発生されたECCは比較器6
25によって指定されたプライマリ・ECCと比較され
る。指定されたプライマリ・ECC信号は、また指定さ
れたミラー・ECC信号と共にECC比較器625に加
えられる。
ここで実施例されているように、メモリ読み出しサイク
ルの期間中、少なくとも1つのロングワードのデータと
対応する組のECC信号がメモリ・アレイ600から読
み出され、データ・トランシーバ/レジスタ620と指
定装置612のトランシーバ/レジスタにそれぞれ向け
られる。メモリ読み出しサイクルの遷移T7の期間中、
各ロングワードに対するデータとECC信号はメモリ・
アレイ600から入手可能であり、これらのトランシー
バ/レジスタにラッチされる。このデータはECC発生
装置623に与えられ、その出力はメモリから読み出さ
れたFCCと比較される。
ラッチの後、データおよびECC信号は、データ・トラ
ンシーバ/レジスタ620の送信機と指定袋fi612
のトランシーバ/レジスタの送信機によってデータ・バ
ス85とバス80および82に与えられる。同じECC
信号は、指定装置612のトランシーバ/レジスタから
メモリ制御装置70とメモリ制御装置75に転送される
。データバス85とバス80および82で転送されたデ
ータとECC信号は、T7の遷移の15秒後からこれに
続<T6の遷移の5ナノ秒前迄(多重ロングワード転送
の場合)またはこれに続<T  IDLII!遷移の5
ナノ秒前迄(単一のロングワードの転送または多重ロン
グワード転送の最後のロングワードの場合)安定した状
態にある。この時間間隔の間、メモリ制御装置70と7
5は、バス80と82の時間を共有したアドレス信号と
制御信号を加えない。データ・トランシーバ/レジスタ
620の送信機と指定装置612のトランシーバ/レジ
スタの送信機は、これに続<T  IDLE遷移の期間
中、トリステート・モードにセットされる。
比較器614は、制御装置70から発生するアドレス信
号制御装置およびタイミング信号を制御装置75から発
生するこれらに対応するアドレス信号、制御信号および
タイミング信号と比較するために設けられる。指定され
たプライマリ・サイクル・タイミング信号、サイクル・
タイプ信号、メモリ・ボード・アドレス信号、およびバ
ンク・アドレス信号は、指定されたミラー・サイクル・
タイミング信号、サイクル・タイプ信号、メモリ・ボー
ドアドレス信号、バンク・アドレス信号、行アドレス信
号、および列アドレス信号と共に指定装置612から比
較器614に加えられる。指定されたプライマリ行アド
レス信号および列アドレス信号はドライバ630の出力
から比較器614に加えられる。そこで両方の組の信号
が比較される。
もし、メモリ制御装置から発生するアドレス信号、制御
信号、およびタイミング信号の間で比較のミスがあれば
、比較器614は適当なエラー信号を発生する。第6図
に示すように、ボード・アドレス・エラー信号、バンク
・アドレス・エラー信号、行アドレス・エラー信号、列
アドレス・エラー信号、サイクル・タイプ・アドレス・
エラー信号、およびサイクル・タイミング・エラー信号
は比較器から発生することができる。
ジェネレータ/チエッカ617は、指定されたプライマ
リ・バンク・アドレス信号、サイクル・タイプ信号およ
びサイクル・タイミング信号を使用してシーケンサ61
6およびジェネレータ/チエッカ617によって発生さ
れたプライマリ制御信号およびタイミング信号を、指定
されたミラー・バンク・アドレス信号、サイクル・タイ
プ信号およびサイクル・タイミング信号を使用して、発
生されたミラー制御信号およびタイミング信号と比較す
る。2組のシーケンス・タイミング信号は、シーケンサ
616によってジェネレータ/チエッカ617に加えら
れる。プライマリRAS信号、CAS信号、およびWE
倍信号、ドライバ630の出力からジェネレータ/チエ
ッカ617に加えられる。前に説明したように、ミラー
RAS信号、CAS信号およびWE倍信号ジェネレータ
/チエッカによって内部的に発生される。ジェネレータ
/チエッカ617は、プライマリRAS信号、CAS信
号、WE倍信号よびシーケンス・タイミング信号をミラ
ーRAS信号、CAS信号、WE倍信号およびシーケン
ス・タイミング信号と比較する。
もし、シーケンサ616またジェネレータ/チエッカ6
17から発生する制御信号およびタイミング信号のいず
れかの間に比較のミあれば、ジェネレータ/チエッカは
適当なエラー信号を発生する。第6図に示すように、シ
ーケンサ・エラー信号、RASエラー信号、CASエラ
ー信号、およびWEエラー信号はジェネレータ/チエッ
カ617によって発生することかできる。
エラー信号は、比較器614およびジェネレータ/チエ
ッカ617からアドレス/制御エラー・ロジック621
に加えられる。比較器614またはジェネレータ/チエ
ッカ617から受は取ったエラー信号に応答して、アド
レス/制御エラー・ロジック621はアドレス/制御エ
ラー信号をCPUモジュール30に転送し、アドレス信
号・制御信号、またはタイミング信号のいずれかの間で
比較のミスが発生したことによる故障を検出したことを
示す。アドレス/制御エラー信号は、エラーを処理する
ためにメモリ制御装置70と75のエラー・ロジックに
送られる。アドレス/制御エラー信号をCPUモジュー
ル30にすることによって、CPU/MEM故障が発生
するが、これは他のセクションで詳細に論じる。
比較器614およびジェネレータ/チエッカ617から
のエラー信号は、またステータス・レジスタ618に加
えられる。エラー信号および故障に関連するアドレス信
号、制御信号、タイミング信号、データ信号およびFC
C信号の全ては、−時的にステータス・レジスタに記憶
され、エラーの診断と修復を可能にする。
本発明の1つの特徴によれば、32ビツトのデータ・バ
ス85が1本だけCPUモジュール30とメモリ・モジ
ュール60との間に設けられる。
従って、メモリ・モジュール60はメモリ制御装置70
と75からの2組のデータを比較することができない。
しかし、メモリ制御装置70と75によってメモリ・モ
ジュール60に転送された2つの独立した組のFCC信
号をチックすることによって、ビットのデータ線の重複
した組を使用することなく、データの健全性がメモリ・
モジュール60によって検証される。
第6図に示すように、制御ロジック610はECC発生
装置623とECC比較器625を有する。指定された
プライマリ−およびミラーFCC信号は、指定装置71
2によってECC比較器に加えられる。メモリー書き込
みサイクルの期間中、指定されたプライマリECC信号
は、指定されたミラーFCC信号と比較される。その結
果、メモリ・モジュール60は、メモリ制御装置7oと
75が一致しているかどうかを検証すると共にメモリー
書き込みサイクルの期間中にメモリ・アレイ600のD
RAMに記憶されている指定されたプライマリECC信
号が正しいかどうかを検証する。更に、メモリー書き込
みサイクルの期間中にDRAMのデータ入力に与えられ
たデータは、ECC発生装置623に加えられる。FC
C発生装置623は、このデータ応する1組の発生され
たECC信号を発生し、この発生されたECC信号をE
CC比較器625に加える。指定されたプライマリEC
C信号は発生されたECC信号と比較され、メモリ制御
装置70によってデータ・バス85に転送されたデータ
がメモリ・アレイ600のDRAMに記憶されているデ
ータと同じであるかどうかを検証する。
メモリ読み出しサイクルの期間中、DRAMの選択され
たバンクから読み出されたデータはBCC発生器に与え
られる。発生されたECC信号はそこでFCC比較器に
加えられ、このFCC比較器は、またDRAMの選択さ
れたバンクから読み出されて記憶されているECC信号
を受は取る。発生され記憶されているECC信号は、E
CC比較器625によって比較される。
もしECC比較器625によって監視されているECC
信号のいずれかの対の間に比較のミスがあれば、FCC
比較器は適当なエラー信号を発生する。第6図に示すよ
うに、プライマリ/ミラーECCエラー信号、プライマ
リ/発生されたECC信号エラーおよびメモリ/発生さ
れたECCエラー信号はFCC比較器によって発生する
ことができる。
ECC比較器625からのこれらのECCエラー信号は
ステータス・レジスタ618に加えられる。ECCエラ
ー信号の各々およびFCC故障に関連するアドレス信号
、制御信号、タイミング信号、データ信号、およびEC
C信号の全ては一時的にステータス・レジスタに記憶さ
れ、エラーの診断と修復を可能にする。
ECCエラー信号はFCCエラー線上でECC比較器6
25によって表明され、CPUモジュール30に転送さ
れ、比較のミスによって発生したFCCの故障を検出し
たことを示す。この比較のミスはメモリ書き込みサイク
ルの期間中に行われる2つのFCCのチエツクの期間中
またはメモリ読み出しサイクル行われる1つのECCの
チエツクの期間中のいずれかで発生する可能性がある。
第6図に示すように、ボード選択ロジック627はメモ
リの背面板からスロット信号を受は取る。
これらのスロット信号によって、各メモリモジュール6
0に対してユニークなスロット・ロケーションが指定さ
れる。ボード選択ロジッチ627は、そこでこれらのス
ロット信号を指定回路612を介してメモリ制御装置の
1から転送された指定されたプライマリ・ボード・アド
レス信号と比較する。もしこのスロット信号が指定され
たプライマリ・ボード・アドレス信号と同じであれば、
ボード選択信号がボード選択ロジック627によって発
生され、これによって制御ロジック610内の他の回路
を動作させる。
3、 メモリ制御装置 メモリ制御装置70と75は、CPU40と50のメモ
リ・モジュール60および補助メモリ素子に対するアク
セスをそれぞれ制御好適な実施例の場合、ある種のエラ
ー処理動作を実行する。
メモリ制御装置72に接続された補助メモリ素子はシス
テムROM43、EEPROM44、およびスクラッチ
・パッドRAM45を有する。ROM43は、診断コー
ド、コンソール・ドライバ・コード、およびブートスト
ラップ・コードの一部のようなある種の標準コードを保
持している。
EEPROM44は、CPU40の動作中に検出された
エラー情報のような情報を保持するのに使用されるが、
この情報は変更を行う必要があるが、電源を切った場合
に失われるべきではない。スクラッチ・パッドRAM4
5は、CPU40によって実行されるある種の動作のた
めに使用されると共に、レール・ユニーク情報(例えば
、ただ1つのCPU40または50に使用することので
きる1つのレールの条件に特有の情報)をゾーン情報(
CPU40と50の両方がアクセスすることのできる情
報)に変換するために使用される。
等価な構成要素53.54および55がメモリ制御装置
75に接続される。システムROM53、EEPROM
54およびスクラッチ・パッドRAM55は、システム
ROM43、EEPROM44、およびスクラッチ・パ
ッドRAM45とそれぞれ同じであり、同じ機能を実行
する。
第7図ないし第9図は、プライマリ・メモリ制御装置7
0の好適な実施例の詳細を示す。ミラー・メモリ制御装
置75は、第7図ないし第9図に示す構成要素と同じ構
成要素を有しているが、動作は若干具なっている。従っ
て、メモリ制御装置75の動作と異なっている部分を除
いて、プライマリ・メモリ制御装置70の動作のみを説
明する。
処理システム20’内のメモリ制御装置70′と75′
は同じ構成要素を有し、それぞれメモリ制御装置70と
75と同じように動作する。
第7図に示す構成要素は、プライマリ・メモリ制御装置
70を介してデータの流れ、アスおよび信号を制御する
。制御ロジック700は、メモリ制御装置70の受は取
った信号および制御ロジック700に記憶されているそ
のメモリ制御装置のステート・エンジンに従って第7図
の種々の構成要素の状態を制御する。マルチプレクサ7
02は、これらのソースの1つからアドレスを選択する
これらのアドレスは、受信機705を介してCPU30
から得ることもできるし、第8図を参照して以下で説明
するDMAエンジン800から得ることもできるし、ま
た再同期化動作の期間中に1つのゾーンから他のゾーン
にある種のバンク・メモリを転送する間に人工的リフレ
ッシュを発生するのに使用されるリフレッシュ再同期化
アドレスから得ることもできる。
CPU30からのデータは、受信機705を介して受は
取られDMAからのデータはエンジン800を介して受
は取られるので、マルチプレクサ702の出力はマルチ
プレクサ0の入力である。
マルチプレクサ710の出力は、メモリ相互接続部85
とドライバ715を介してメモリ・モジュール60にデ
ータを与える。ドライバ715はミラー・メモリ制御モ
ジュール75と75′に対して不能にされるが、その理
由は、メモリ・データの1つの組のみが、それぞれメモ
リ・モジュール60と60′に送られるからである。
メモリ相互接続部85に送られるデータは、CPU30
からメモリ・モジュール60に記憶されるべきデータま
たはDMAエンジン800からメモリ・モジュール60
に記憶されるべきデータのいずれかを含んでいる。CP
U30からのデータとマルチプレクサ702からのデー
タはまたこの経路また受信機745とECC修正装置7
50を介してDMAエンジン800に送られる。
マルチプレクサ702からのアドレスは、デマルチプレ
クサ720の入力にまた加えられ、このデマルチプレク
サ720はこれらのアドレスを67列アドレス部、ボー
ド/バンク・アドレス部分およびシングル・ボード・ビ
ットに分割する。67列アドレスの22ビツトが11本
の線に多重化される。好適な実施例の場合、22ビツト
の67列アドレスがドライバ21を介してメモリ・モジ
ュール60に送られる。シングル・ボード・ビットはド
ライバ722を介してメモリ・モジュール60に送られ
ることが望ましく、他のボード/バンク・アドレスビッ
トはFCC信号と多重化される。
マルチプレクサ725は、メモリ制御装置70に対する
通常のリフレッシュ命令とCPU30からのサイクル・
タイプ情報(すなわち読み出し、書き込み等)およびD
MAサイクル・タイプ情報とを結合する。通常のリフレ
ッシュ命令とリフレッシュ再同期アドレスの両方によっ
て、メモリ・モジュール60がメモリ・リフレッシュ動
作を開始する。
マルチプレクサ725の出力は、デマルチプレクサ72
0からのボード/バンク・アドレスと共にマルチプレク
サ730に対する入力である。マルチプレクサ730に
対する他の入力は、FCCジェネレータ/チエッカ73
5の出力である。マルチプレクサ730は、入力の1つ
を選択し、これをメモリ・モジュール60に対する時間
分割多重化ECC/アドレス線に載置する。マルチプレ
クサ730は、これらの時間分割多重化線がボード/バ
ンク・アドレスと別の制御情報ならびにFCC情報を、
異なった時間に、搬送するこを可能にする。
FCC情報は、受信機734.を介してメモリ・モジュ
ール60から受は取られ、入力としてBCCジェネレー
タ/チエッカ735に加えられ、メモリ・モジュール6
0によって発生されたFCCをメモリ制御装置70によ
って発生されたECCと比較する。
ECCジェネレータ/チエッカ735に対する他の入力
は、マルチプレクサ740からの出力である。メモリ・
トランザクションが書き込みトランザクションであるか
読み出しトランザクションであるかによって、マルチプ
レクサ740はマルチプレクサ710からメモリ・モジ
ュール60に送られたメモリ・データを入力として受は
取るか、または受信機745を介してメモリ・モジュー
ル60から受は取られたメモリ・データを入力として受
は取る。マルチプレクサ740は、ECCジェネレータ
/チエッカ735に対する入力であるこれらのメモリ・
データの組の1つを選択する。
ジェネレータ/チエッカ735は、次に適当なECCコ
ードを発生し、このコードは、マルチプレクサ730に
送られる以外に、またECC修正装置750にも送られ
る。好適な実施例の場合、ECC修正装置750はメモ
リ・モジュール60から受は取られたメモリ・データ内
の全てのシングル・ビットエラーを修正する。
FCCチエッカ750からの修正されたメモリ・データ
は、次に第8図に示すDMAエンジンに送られると共に
マルチプレクサ752に送られる。
マルチプレクサ752に対する他の入力は、第9図と関
連して以下で説明する〜エラー処理ロジックからのエラ
ー情報である。マルチプレクサ752の出力は、ドライ
バ753を介してCPU30に送られる。
比較器755は、マルチプレクサ710からメモリ・モ
ジュール60に送られたデータをこのデータがドライバ
715と受信機745を通過した後、このデータのコピ
ーと比較する。チエツクによって、ドライバ715と受
信機745が正しく動作しているかどうかを判定する。
比較器755からの出力はCMPエラー信号であり、こ
の信号はこのような比較エラーがあるか無いかを示す。
第9図においてCMPエラー・ロジックに供給される。
第7図の他の2つの構成要素によって、異なった種類の
エラー検出が行われる。構成要素760はパリティ−発
生装置である。メモリ制御装置70によってメモリ・モ
ジュール60に記憶されるべきデータに発生されたかま
たはメモリ・モジュール60によってメモリ・モジュー
ル60から読み出されたデータに発生されたECCデー
タは、パリティ−発生装置70に送られる。発生装置7
60からのパリティ−信号は、ドライバ762を介して
、比較器765に送られる。比較器765は、発生装置
760からECCパリティ−信号を制御装置75′によ
って発生された等価のECCパリティ−信号と比較する
パリティ−発生装置770は、デマルチプレクサ720
から受は取られた行/列アドレス信号とシングル・ビッ
ト・ボード・アドレス信号とについて同じ種類のチエツ
クを実行する。パリティ−発生装置770からのアドレ
ス・パリティ−信号はドライバ772によって比較器7
75に送られ、この比較器775は制御装置75からま
たアドレス・パリティ−信号を受は取る。比較器765
と775の出力はパリティ−・エラー信号であり、これ
らの信号は第9図のエラー・ロジックに供給される。
第8図はDMAエンジン800の基礎を示す。
好適な実施例の場合、DMAエンジン800はメモリ制
御装置70内に位置するが、この場所にある必要はない
。第8図に示すように、DMAエンジン800はデータ
・ルータCrouter) 810、DMA制御装置8
20、およびDMAレジスタ830を有する。ドライバ
815と受信機816によって、メモリ制御装置70と
クロスリンク90との間にインターフェースが設けられ
る。
DMA制御装置820は、制御ロジック700から内部
制御信号を受は取り、これに応答して、制御信号を送っ
てデータ・ルータ810を適当に構成する。制御装置8
20によって、データ・ルータ810が第7図に示すク
ロスリンク90からのデータと制御信号をメモリ制御7
0回路に送るように、その構成がまた設定される。デー
タ・ルータは、その状態信号をDMA制御装置820に
送り、このDMA制御装置はこの信号を他のDMA情報
と共に第9図のエラー・ロジックに伝える。
レジスタ830はDMAバイト・カウンタ・レジスタ8
32とDMAアドレス・レジスタ836を有する。これ
らのレジスタは、ルータ810を介してCPU40によ
って初期値にセットされる。
次に、DMAサイクルの期間中、制御装置820はルー
タ810を介してカウンタ・レジスタ832をインクリ
メントさせアドレス・レジスタ836をデクリメントさ
せる。制御装置820によって、アドレス・サイクル8
36の内容がDMA動作の期間中ルータ810と第7図
の回路を介してまたメモリ・モジュール60に送られる
上に説明したように、本発明の好適な実施例の場合、メ
モリ制御装置70.75.70′、および75′は、ま
たある種の基本的なエラー動作を実行する。第9図は、
このようなエラー動作を実行するハードウェアの好適な
実施例の1例を示す。
第9図に示すように、タイムアウト信号、ECCエラー
信号およびバスのミス比較信号のようなある種のメモリ
制御装置内部信号は、レール(rail)・エラー信号
、ファイヤーウオール(firewall)のミス比較
信号およびアドレス/制御エラー信号のようなある種の
外部信号と同様に、診断エラー・ロジック870に対す
る入力である。好適な実施例の場合、診断エラー・ロジ
ック870はクロスリンク90と95を介してシステム
10の他の構成要素からエラー信号を受は取る。
診断エラーロジック870は、エラー信号とメモリ制御
装置70のベーシック・タイミングから発生された制御
パルス信号からエラー・パルスを形成する。診断エラー
・ロジック870によって発生されたエラー・パルスは
、ある種のタイミング信号に従って診断エラー・レジス
タ880の適当なロケーションに記憶されているある種
のエラー情報を含む。システム故障エラー・アドレス・
レジスタ65は、エラーが発生した場合、CPU40と
50が通信を行っていたメモリ・モジュール60内にア
ドレスを記憶する。
診断エラー・ロジック870からのエラー・パルスはま
たエラー・カテゴリー化ロジック850に送られ、この
エラー・カテゴリー化ロジック850はまたサイクル・
タイプ(例えば読み出し、書き込み等)を示す情報をC
PU30から受は取る。。この情報およびエラー・パル
スから、エラー・カテゴリー化ロジック850はCP 
U/ I Oエラー、DMAエラー、またはCPU/M
EM故障の存在を判定する。
CPU/IOエラーは、バス46のCPU/IOサイク
ルに直接帰するべき動作上のエラーであり、リセットに
関して以下で説明するように、ハードウェアーによって
修復することが可能である。DMAエラーは、DMAサ
イクルの期間中に発生するエラーであり、好適な実施例
の場合、主としてソフトウェアによって処理される。C
PU/MEM故障は、CPUの正しい動作またはメモリ
の内容を保障することのできないエラーである。
エラー・カテゴリー化ロジック850からの出力は、エ
ンコーダ855に送られ、このエンコーダ855は特定
のエラー・コードを形成する。このエラー・コードは、
エラー・ディスエーブル信号が存在する場合、次にAN
Dゲート856を介してクロスリンク90と95に送ら
れる。
エラー・コードを受は取った後、クロスリンク90.9
5.90’   95’はメモリ制御装置にリトライ要
求信号を送る。第9図に示すように、メモリ制御装置7
0のエンコーダ895はサイクル・タイプ情報とエラー
信号〔サイクル・クオリファイヤ(qualifier
s)として纏めてに示される〕と共にリトライ要求信号
を受は取る。エンコーダ895は、次にシステム故障エ
ラー・レジスタ898に記憶するための適当なエラー・
コードを発生する。
システム故障エラー・レジスタ898は、診断エラー・
レジスタ880と同じ情報を記憶しない。
システム故障エラー・レジスタ898とは違って、診断
エラー・レジスタ880はクロスリンク・レールからの
1つの入力のエラーのようなレール・ユニーク情報およ
びメモリ・モジュール6o内の修正不可能なFCCエラ
ーのようなゾーン・ユニーク・データのみを含んでいる
診断エラー・レジスタ898は、またエラーの処理に使
用される幾つかのビットを含んでいる。
これらのビットは、所望のメモリ・ロケーションが見当
たらないことを示すNXNビット、所望にI10ロケー
ションか見当たらないことを示すNXl0ビツト、ソリ
ッド故障ビットおよび過渡的ビットを含んでいる。過渡
的ビットソリッド・ビットはいずれも故障のレベルを示
す。過渡的ビットによって、またシステム故障エラー・
アドレス・レジスタ865が凍結される。
第9図は、メモリ・コントローラ・ステータス・レジス
タ875を示すが、これは技術的にはエラー・ロジック
の一部ではない。レジスタ875は、DMA比率比率部
子77MA比率コード・エラー・ディスエーブル部87
8のエラー・デスエーブル・コード、およびミラー・バ
ス・ドライバ・イネーブル部876のミラー・バス・ド
ライバ・イネーブルコードのようなある種の状態情報を
記憶する。DMA比率コードは、DMAに割り当てるこ
とのできるメモリ帯域幅の部分を特定する。
エラー・デスエーテル・コードによって、ANDゲート
856および従ってエラー・コードを不能にする信号が
与えられる。ミラー・バス・ドライバ・イネーブル・コ
ードによって、ある種のトランザクションに対してミラ
ー・バス・ドライバを動作させる信号を与えられる。
4、 クロスリンク メモリ再同期、DMAおよびI10動作用のデータは、
クロスリンク90と95を通過する。
膜内に、クロスリンク90および95によって、CPU
モジュール30、CPUモジュール30′I10モジユ
ール100.110.120、およびI10モジュール
110’、110’  120’との間の通信が行われ
る。(第1図参照)クロスリンク90と95は、第1O
図に示すように、並列レジスタ910と直列レジスタ9
20の両方を含む。両方のタイプのレジスタは、本発明
の好適な実施例でプロセッサ間の通信を行うために使用
される。通常の動作の期間中、処理システム20と20
’は同期され、データはそれぞれクロスリンク90/9
5と90’/95’の並列レジスタ910を使用して、
処理システム20と20′との間で交換され、処理シス
テム20と20′か同期されていない場合、ブートスト
ラッピングの期間中に最も顕著に現れるように、データ
は直列レジスタ902によってクロスリンクの間で交換
される。
並列レジスタのアドレスは、メモリ・スペースと違って
I10スペースである。メモリ・スペースとはメモリモ
ジュール60内のロケーションのことである。I10ス
ペースとは、Iloおよび内部システム・レジスタのよ
うなロケーションのことであり、こらはメモリ・モジュ
ール60内には存在しない。
I10スペース内では、アドレスはシステム・アドレス
・スペース内に存在するか、ゾーン・アドレス・スペー
ス内に存在するかのいずれかである。「システム・アド
レス・スペースJという用語は、システムlO全体を通
してアクセスすることのできるアドレス、すなわち処理
システム20と20′の両方によってアクセスすること
のできるアドレスのことである。「ゾーン・アドレス・
スペース」という用語は、特定のクロスリンクを含むゾ
ーンによってのみアクセス可能であるアドレスのことで
ある。
第1O図に示す並列レジスタは、通信レジスタ906と
I10リセット・レジスタ908を有する。通信レジス
タ906は、ゾーン間で交換される独特のデータを含む
。このようなデータは、メモリ・ソフト・エラーのよう
な通常ゾーンに特有のデータである(メモリモジュール
60と60′が同じエラーを同時に独立して経験すると
いうことは確率の領域外の出来事である) レジスタ906に記憶されるべきデータはユニークなも
のであるため、書き込みの目的のための通信レジスタ9
06のアドレスは、ゾーン・アドレス・スペースになけ
ればならない。もしそうでなければ、処理システム20
と20’は、ロックステップ同期状態にあり同じ一連の
命令を異同時に実行しているため、ゾーン・ユニーク・
データをゾーン11内の通信レジスタ906のみに記憶
することはできず、これらはこの同じデータをゾーン1
1内の通信レジスタ906’  (図示せず)にも記憶
しなければならない。
しかし、読み出しのための通信レジスタ906のアドレ
スは、システム・アドレス・スペース内に存在する。し
たがって、同期動作の期間中、両方のゾーンは同時に1
つのゾーンから通信レジスタを読み出すことができ、次
に他のゾーンから通信レジスタを同時に読み出すことが
できる。
I10リセット・レジスタ908は、システム・アドレ
ス・スペース内に存在する。このI10リセット・レジ
スタは、対応するモジュールがリセット状態にあるかど
うかを示すため、1つのI10モジュールに対して1ビ
ツトを有する。I10モジュールがリセット状態にある
場合、これは効果的にディスエーブルされる。
並列レジスタ91もまた他のレジスタを有するが、これ
らの他のレジスタの理解は本発明を理解するために必要
ではない。
並列クロスリンク・レジスタ920は全てゾーンの固有
のスペース内に存在するが、その理由は、これらが非同
期通信に使用されるが、ゾーンに固有の情報のみを有し
ているかのいずれかであるからである。並列クロスリン
ク・レジスタと並列クロスリンクの目的は、プロセッサ
20と20′が例えロック・ステップ同期状態(例えば
、位相ロック状態およびこれと同じ状態)で動作してい
なくても、これらのプロセッサ20と20′に通信を行
なわせることである。好適な実施例の場合、幾つかの並
列レジスタがあるが、本発明を理解するためにこれらを
説明する必要はない。
制御および状態レジスタ912は、状態および制御フラ
グを含む直列レジスタである。これらのフラグの1つは
O8Rビット913であり、これはブートストラビング
のために使用され、対応するゾーンの処理システムがブ
ートストラブ・プロセスが既に終了しているかまたはこ
のシステムが再同期を行ったかのいずれかの理由のため
に、この処理システムが既にそのブートストラブ・プロ
セスを開始したかどうか、またはそのゾーンに対する動
作システムが現在勤作中であるかとうかを示す。
制御および状態レジスタ912は、またクロスリンク9
0の現在のモードおよび従って処理システム20の現在
のモードを識別するためのモード・ビット914を有す
る。モード・ビットは、再同期モード・ビット915と
クロスリンク・モード・ビット916を含むことが望ま
しい。再同期モード・ビット915は、クロスリンク9
0を再同期スレーブ・モードまたは再同期マスター・モ
ードのいずれかにあるものとして識別する。クロスリン
ク・モード・ビット916は、クロスリンク90をクロ
スリンク・オフ・モード、デュプレックス・モード、ク
ロスリンク・マスター・モード、またはクロスリンク・
スレーブ・モードのいずれかにあるものとして識別する
直列レジスタの用途の1つは、状態読み出し動作であり
、この動作によって、1つのゾーンのクロスリンクが他
のゾーンのクロスリンクの状態を読み出すことができる
。状態読み出し要求フラグ918を直列制御状態レジス
タ912に立てることによって、状態情報に対する要求
がクロスリンク90′に送られる。このメツセージを受
は取ると、クロスリンク90′は、その直列制御および
状態レジスタ912′の内容をクロスリンク90に送り
返す。
第11図は、プライマリ・クロスリンク90およびミラ
ー・クロスリンク95内のルート制御および状態信号(
「制御コード」と呼ぶ)用の構成要素の幾つかを示す。
対応するクロスリンクの構成要素は、好適な実施例では
、クロスリンク90′および95′内に存在する。これ
らのコードは、メモリ制御装置70と75およびモジュ
ール相互接続部130.132.130′および132
′との間に送られる。
第12図は、ルート・データおよびアドレス信号を送る
のに使用される好適な実施例のプライマリ・クロスリン
ク90の構成要素を示す。対応するクロスリンクの構成
要素は、クロスリンク95.90′および95′内に存
在する。
第11図は、プライマリ・クロスリンク90とミラー・
クロスリンク95の両方に対する構成要素を示すが、こ
れらの構成要素の間には重要な相互接続部があるため、
ハードウェアは同じである。
プライマリ・クロスリンク90の構成要素と同じミラー
・クロスリンク95の回路の構成要素は回し番号で示す
が、ミラー制御装置の場合には番号の次にrmJの文字
を付ける。
第11図および第12図を参照して、これらの構成要素
はラッチ、マルチプレクサ、ドライバおよび受信機を含
む。ラッチ933および933mのような一部のラッチ
は遅延要素として動作し、クロスリンクの正しいタイミ
ングを保証し、これによって同期を維持する。第11図
に示すように、メモリ制御装置70からの制御コードは
、バス88を介してラッチ931に送られ、次にラッチ
932に送られる。このよらなラッチを行う理由は、適
当な遅れを与えてメモリ制御装置70からのデータがメ
モリ制御装置70′からのデータと同時にクロスリンク
90を通過することを保証することである。
もしメモリ制御装置70からのコードがクロスリンク9
0′を介して処理システム20′に送られるべきであれ
ば、ドライバ937が起動される。
メモリ制御装置70からの制御コードは、またラッチ9
33を通過してマルチプレクサC3MUXA935に入
る。もし制御コードがクロスリンク90′からプライマ
リ・クロスリンク90に受は取られれば、これらの経路
は受信装置936を通ってラッチ938およびまたマル
チプレクサ935に至る。
マルチプレクサ935に対する制御コードによって、デ
ータのソースが決定される、すなわちこれがメモリ制御
装置70からきたものであるかまたはメモリ制御装置7
0′からきたものであるかが決定され、これらのコード
はマルチプレクサ935の出力に加えられる。この出力
は、再び正しい遅延目的のため、ラッチ939の記憶さ
れ、もしこれらのコードがモジュール相互接続部130
に送られるべきであれば、ドライバ940が起動される
データおよびアドレス信号の経路は、第12図に示すよ
うに、第11図に示す制御信号の経路と若干類似してい
る。これらの相違点は、いずれの1つのトランザクショ
ンの期間中においてもデータおよびアドレスはクロスリ
ンク90と95を介して1つの方向のみに流れるが、制
御信号はそのトランザクションの期間中に双方向に流れ
るという事実を反映している。これと同じ理由のため、
バス88と89のデータ線は双方向であるが、制御方向
は双方向ではない。
バス88を介してメモリ制御装置70から供給されるデ
ータとアドレスはラッチ961に入り、次いでラッチ9
62に入り、次いでラッチ964に入る。第11図の場
合と同様に、第12図のラヨチによって同期を維持する
ための正しいタイミングが与えられる。メモリ制御装置
70′から出力されるデータは受信装置986によって
バッファされ、ラッチ988に記憶され、次にマルチプ
レクサMUXA966の入力に向かう。マルチプレクサ
96′6の出力は、ラッチ986に記憶され、もしドラ
イバ969が起動されれば、モジュール相互接続部13
0に送られる。
第it図はメモリ制御装置72送られるべき制御コード
の経路を示す。モジュール相互接続部130からのコー
ドは、先ずラッチ941に記憶され、次にマルチプレク
サC8MUXC942に与えられる。マルチプレクサ9
42は、また並列クロスリンク・レジスタ910から制
御コードを受は取り、ラッチ943に転送するため並列
レジスタ・コードまたはラッチ941からのコードのい
ずれかを選択する。もしこれらの制御コードがクロスリ
ンク90′に転送されるべきであれば、ドライバ946
が起動される。クロスリンク90′からのコード(およ
び従ってメモリ制御装置70′からの制御コード)は受
信機9,47いよってバッファされ、ラッチ948に記
憶され、入力とじてマルチプレクサC3MUXD945
に加えられる。
マルチプレクサC8MUXD945は、またラッチ94
3の内容を記憶しているラッチ944の出力を入力とし
て受は取る。
マルチプレクサ945は、モジュール相互接続部130
からのコードまたはクロスリンク90′からのコードの
いずれかを選択し、これらの信号を入力としてマルチプ
レクサC8MUXE949に加える。マルチプレクサ9
49は、またデコード・ロジック970からのコード(
再同期の期間中に発生するバルク・メモリの転送のため
に)、直列クロスリンク・レジスタ920からのコード
、または所定のエラーコードERRを入力として受は取
る。マルチプレクサ949は、次に適当に制限されてこ
れらの入力の幾つかを選択してラッチ950に記憶する
。もしこれらのコードがメモリ制御装置70に送られる
べきであれば、次にドライバ951が起動される。
マルチプレクサ949に対す“る入力であるエラー・コ
ードERRの目的は、レールの1つのエラーによって、
レールとしての同じゾーン内のCPUが異なった情報を
処理しないことを保証することである。もしこのような
ことが発生すれば、CPυモジュール30は故障を検出
し、これによってトラスチックだが恐らく必要のないア
クションが発生する。このことを回避するため、クロス
リンク90はEXCLUSIVE  ORゲート960
を有し、このゲートによってマルチプレクサ945と9
45mの出力が比較される。もしこれらの出力が異なっ
ていれば、ゲート960によってマルチプレクサ949
はERRコードを選択する。
EXCLUSIVE  ORゲート960mは、同様に
マルチプレクサ949mにまたERRコードを選択させ
る。このコードは、エラーが発生しているがCPUモジ
ュールにエラーの発生することは回避されていることを
メモリ制御装置70と75に示す。メモリ・モジュール
60に対するシングル・レール・インターフェースはデ
ータとアドレスに対して同じ結果を達成する。
第12図に示すデータとアドレスの流れは第L1図の制
御信号の流れと同じである。モジュール相互接続部13
0からのデータとアドレスは、ラッチ972に記憶され
、次に入力としてマルチプレクサMUXB974に入力
として加えられる。
並列レジスタ910からのデータによって別の入力がマ
ルチプレクサ974に加えられる。マルチプレクサ97
4の出力は、マルチプレクサMUXC976に対する入
力であり、このマルチプレクサMUXC976は、また
もともとメモリ制御装置70から送られてラッチ961
に記憶されているデータとアドレスを受は取る。マルチ
プレクサ976は、次にこれらの入力の1つを選択して
ラッチ798に記憶する。もしモジュール相互接続部1
30から入力されたものであれ、メモリ制御装置70か
ら入力されたものであれ、もしデータとアドレスがクロ
スリンク90′に送られるべきであれば、ドライバ98
4が起動される。
クロスリンク90′から入力されたデータは受信装置9
86によってバッファされラツ、チ988に記憶される
が、このラッチ988によってまたマルチプレクサMU
XD982に対する入力が与えられる。マルチプレクサ
MUXD982の他方の入力はラッチ980の出力であ
り、このラッチ988はラッチ978から入力されたデ
ータとアドレスを有している。マルチプレクサ982は
次にその入力の1つを選択し、こらは次にラッチ900
に記憶される。もしデータまたはアドレスがメモリ制御
装置70に送られるべきであれば、ドライバ922が起
動される。シリアル−レジスタ920からのデータはド
ライバ944を介してメモリ制御装置70に送られる。
クロスリンク90を通るデータ、特に第11図および第
12図の両方のエクソンレオール(xonreol)素
子を通るデータは、デコード・ロジック970、デコー
ド、・ロジック971、デコードロジック996、およ
びデコード・ロジック998によって発生される幾つか
の信号によって制御される。
適当な入力ソースを選択するため、このロジックによっ
て、適当な入力ソースを選択するために、マルチプレク
サ935.942.945.949、966.974.
976、および982を制御する信号が与えられる。更
に、このデコード・ロジックは、またドライバ940.
946.951.969.984.992、および99
4を制御する。
制御信号の大部分は、デコード・ロジック998によっ
て発生されるが、これらの一部はデコード・ロジック9
70,971.970m、971m。
および996によって発生される。デコード・ロジック
998.970および970mは、データとコードがそ
れ自身のゾーンから受は取られるか他のゾーンから受は
取られるかを制御するのに必要なデータとコードをこの
ロジックが受は取ることを保証する位置に持続される。
デコード・ロジック971.971mおよび966の目
的は、ドライバ937.937mおよび984が適切な
状態にセットされることを保証することである。この「
初期デコード」によって、データ・アドレスとコードが
全てのケースで適切なりロスリンクに送られることを確
認する。このような初期デコード・ロジックがなければ
、クロスリンクは全てそれらのドライバが不能にされた
状態におかれる可能性がある。メモリ制御装置のドライ
バがまた不能にされれば、そのクロスリンクは決してア
ドレス、データおよび制御コードを受は取らず、そのク
ロスリンクに接続されているI10モジュールの全てを
効率的に不能にする。
デコード−0シツク970.971.970m。
971m、および998によって発生されたドライバ制
御信号を説明する前に、これらのゾーン、従ってクロス
リンク90と95がとることのできる異なったモードを
理解する必要がある。第13図は、異なった状態Aない
しFおよび各モードに対応するこれらの状態を説明する
表である。
開始時およびその他の場合、両方のゾーンは状態Aにあ
り、この状態Aはこれら両方のゾーンに対するOFFモ
ードとして知られる。このモードの場合、両方のゾーン
のコンピュータ・システムは独立して動作している。こ
れらのゾーンの1つの動作システムが他方のゾーンのI
loと通信を行う能力を要求し、その要求が受は入れら
れた後、これらのゾーンは状態BとCとして示されるマ
スター/スレーブ・モードに入る。このようなモードの
場合、マスターで、あるゾーンは動作しているCPUを
有し、そのゾーンおよび他方のゾーンの110モジユー
ルを制御する。
再同期を開始すると、コンピュータ・システムは状態B
またはCのいずれかのマスター/スレーブモードを離脱
し、状態EおよびFとして示される再同期スレーブ/再
同期マスター・モードに入る。これらのモードの場合、
マスター・ゾーンであったゾーンが他方のゾーンのCP
Uをオン・ラインにする役割を果たす。もし再同期に失
敗すれば、これらのゾーンは前に再同期しようとしたの
と同じマスター/スレーブモードに戻る。
しかし、もし再同期が成功すれば、これらのゾーンは状
態りに入り、この状態りは完全デュプレックス・モード
である。このモードの場合、両方のモードはロックステ
ップ同期状態で共に動作する。動作は、CPM/MEM
の故障が発生する迄、このモードで継続され、この場合
、システムは2つのマスター・スレーブ・モードの1つ
に入る。
スレーブはそのプロセッサーがCPM/MEM故障を経
験したゾーンである。
状態D、すなわち完全デュプレックス・モードで作動し
ている場合、最も顕著なのはクロック位相エラーである
が、ある種のエラーが発生すると、システムを2つの独
立した処理システムに分割する必要が生ずる。これによ
ってシステムは状態Aに戻る。
第11図および第12図に示すデコード・ロジック97
0.970m、971,971m、998(まとめてク
ロスリンク・制御ロジックと称する)は、クロスリンク
・ドライバとマルチプレクサをどのようにして適切な状
態にセットするかを決定するため、第1O図に示す再同
期モード・ビット915とクロスリンク・モード・ビッ
ト916にアクセスする、更に、このクロスリンク・デ
コード・ロジックは、またデータ・トランザクションの
期間中にメモリ制御装置70と75から送られたアドレ
スの一部を受は取って分析し、クロスリンク・マルチプ
レクサとドライバの状態をどのようにして設定するかを
クロスリンク・デコード・ロジックに対して更に指示す
アドレス情報を取り出す。
マルチプレクサの状態を設定するのに必要な情報は、−
度異なったモードとトランザクションを理解すると、か
なりはっきりする。行うべき唯一の判断はデータのソー
スである。従って、クロスリンク90と95がスレーブ
・モードにある場合、マルチプレクサ935.935m
、および966はゾーン11からデータ・アドレスとコ
ードを選択する。もしクロスリンク90と95が完全に
デュプレックス・モードにあり、Iloの命令のアドレ
スがゾーン11のIloに接続された装置に対するもの
であり、影響を受けたマルチプレクサとのクロスリンク
がクロスオーバー・モードにあれば、これらのマルチプ
レクサはまた他方のゾーンからデータ、アドレスおよび
コードを選択する。
クロスオーバー・モードの場合、モジュール相互接続部
に送られるべきデータはチエツクのため他方のゾーンか
ら受は取られるべきである。好適な実施例の場合、モジ
ュール相互接続部130はゾーン11のプライマリ・レ
ールからデータ、アドレスおよびコードを受は取り、モ
ジュール接続部は、ゾーンII’のミラー・レールから
データ、アドレスおよびコードを受は取る。または、モ
ジュール相互接続部132はゾーン11’のプライマリ
・レールからデータ、アドレスおよびコードを受は取る
ことができ、これによって、一方のゾーンのプライマリ
・レールを他方のゾーンのミラー・レールと比較するこ
とが可能になる。
マルチプレクサ945.945m、982は、データの
ソースであるいずれかのゾーンからデータ、アドレスお
よびコードを受は入れるようにセットされる。このこと
は、全てのクロスリンクが完全にデュプレックス・モー
ドにあり、データ、アドレスおよびコードがI10モジ
ュールから受は取られる場合と、クロスリンクが再同期
スレーブ・モードであり、データ、アドレスおよびコー
ドが他方のゾーンのメモリ制御装置から受は取られる場
合の両方について、真実である。
もしメモリ制御装置70および75からのアドレス情報
が、応答データとコードのソースがクロスリンク自身の
並列レジスタ910であることを示せば、マルチプレク
サ942.942m、および974はこれらのレジスタ
からデータとコードを選択するようにセットされる。同
様に、もしメモリ制御装置70および75からのアドレ
ス情報が応答データのソースはクロスリンク自身のシリ
アル・レジスタ920であることを示せば、マルチプレ
クサ949と949mはデータとコードをこれらのレジ
スタから選択するようにセットされる。
もしこの情報がメモリ再同期動作期間中の制御コードで
あれば、マルチプレクサ949と949mはデコード・
ロジック970と970mからデータを選択するように
またセットされ、もしEXCLUSIVE  ORゲー
ト960(!:960mがクロスリンク90と95を介
して転送されたデータの間で比較のミスを識別すれば、
ERRコードを選択するようにセットされる。この後者
の場合、マルチプレクサ949と949mの制御は、ク
ロスリンクロジックからではなくてBXCLUS IV
EORゲート960と960mから行われる。マルチプ
レクサ949と949mは、クロスリンク・レジスタ9
10が要求された場合には、これらのレジスタからコー
ドをまた選−択し、これらのコードが要求された場合に
は、マルチプレクサ945と945mの出力をまた選択
する。マルチプレクサ945と945mは、それぞれマ
ルチプレクサ942と942mからの出力かまたはそれ
ぞれクロスリンク90′と95′からのI10コードか
のいずれかを選択する。
マルチプレクサ976は、I10モジュールとのトラン
ザクションの場合には、モジュール相互接続部139か
らデータとアドレスを選択するか、またはデータとアド
レスがIloに対してかまたはメモリの再同期の期間中
かのいずれかにクロスリンク90′に送られるべきであ
る場合、メモリ制御装置90からのデータとアドレスを
選択するかのいずれかである。
ドライバ937と937mは、クロスリンク90と95
がデュプレックス・モード、マスター・モードまたは再
同期マスター・モードにある場合、動作される。ドライ
バ940と940mは、ゾーン11のI10トランザク
ションの場合に動作される。ドライバ946と946m
は、クロスリンク90と95がデュプレックス・モード
またはスレーブ・モードの場合に動作される。ドライバ
951と951mは常に動作されている。
ドライバ969はゾーン11に対するI10書き込み期
間中に動作される。ドライバ984は、クロスリンク9
0がデータとアドレスをゾーンエビのIloに送ってい
る場合、またはクロスリンク90が再同期マスター・モ
ードにある場合に動作される。受信機986はクロスリ
ンク90′からデータを受は取る。ドライバ992と9
94は、データがメモリ制御装置70に送られている場
合に動作される。ドライバ994は、シリアル・クロス
リンク・レジスタ910の内容が読み出されている場合
に動作され、ドライバ992は全ての他の読み出し期間
中に動作される。
5、発振器 両方の処理システム20と20’が各々同じ機能を完全
デユープレックス・モードで実行している場合、CPU
モジュール30と30′が同じ速度で動作を実行するこ
とが避けられない、もしそうでなければ、処理時間の大
部分は、I’Oおよびインタープロセッサのエラーのチ
エツクのために処理システムの20と20′を再同期さ
せることに消費されてしまう。処理システム20と20
′の好適な実施例の場合、これらのシステムの基本的な
りロック信号は相互に同期されて位相ロックされている
。故障許容コンピュータ・システムIOは、処理システ
ム20と20′に対するクロック信号の周波数を制御し
、各処理システムに対するクロック信号の間の位相差を
最小にするために、タイミング・システムを有している
第14図は、処理システム20と20′で実施される本
発明のタイミング・システムのブロック図を示す。この
タイミング・システムは、処理システム20のCPUモ
ジュール30の発信器システム200と処理システム2
0′のCPUモジュール30′の発振器システム200
′によって構成される。発振器200′の構成要素は発
振器200の構成要素と同じであり、両方の発振器シス
テムの動作は同じである。従って、発振器システム20
0と200′の動作が異なっている場合を除いて、発振
器システム200の構成要素と動作のみを説明する。
第14図に示すように、発振器システム200の大部分
、特にディジタル・ロジックはクロスリンク95内部に
位置しているが、この位置は本発明にとって必要なもの
ではない。発振器システム200は電圧制御水晶発振器
(VCX)205を有し、これは好ましくは、66.6
6Mhzの基本発振器信号を発生する。VCXO205
の周波数は入力の電圧レベルによって調整することがで
きる。
クロック分配チップ210は基本発振器信号を分周し、
全て同じ周波数を有する4つの一次クロックを発生する
ことが望ましい。プライマリCPU40の場合、これら
のクロックはPCLK  LおよびPCLK  Hであ
り、これらは相互に論理が反転しているものである。ミ
ラーCPU50の場合、クロック分配チップ210はク
ロック信号MCLK  LとMCLK  Hを発生し、
これらはまた相互に論理が反転しているものである。第
15図は、これらのクロック信号のタイミングと位相の
関係を示す。クロック信号PCLK  L、PCLK 
 H,MCLK  M、およびMCLKHは約33.3
3Mhzであることが望ましい。クロック・チップ21
0は、また第15図に示す16.66Mhzの位相ロッ
ク・ループ信号CLKCHをまた発生する。この位相ロ
ック・ループ信号は、この信号をバッファするクロック
・ロジック220に送られる。
クロック・ロジック・バッファ220は、同期に使用す
るため、CLKCH信号を発振器200′に送る。発振
器200′のクロック・ロジック・バッファ220′は
、それ自身のバッファされた位相ロック・ループ信号C
LKC’  Hを発振器200の位相検出器230に送
る。位相検出器230は、遅延素子225を介してクロ
ック・ロジック220から位相ロック・ループ信号CL
KCHをまた受は取る。遅延素子225は、クロック・
ロジック・バッファ220′からのケーブル・ラン(c
able run)による遅延を概算する。
位相検出器230は、その入力位相ロック・ループ信号
を比較して2つの出力を発生する。これらの信号の1つ
は位相差異信号235であり、これはループ増幅器24
0を介してVCXO205の電圧入力に送られる。位相
差異信号235によって、増幅器240は信号を発生し
、この位相差異を補償するためにVCXO205の周波
数を変換する。
位相検出器230の他方の出力は、位相エラー信号23
6であり、これは可能性のある同期の故障を示す。
第16図は、位相検出器230の詳細図である。
位相検出器230は位相比較器232と電圧比較器23
4を有する。位相比較器232は、遅延素子225から
クロック信号(CLKCH)を受は取ると共に検出器2
00′から位相ロック・ループ・クロック信号(CLK
C’  H)を受は取り、これらの信号の位相差を表す
電圧差として位相差信号235を発生する。
もしクロックを同期させる目的のために処理システム2
0が「スレーブ」であれば、スイッチ245はrSLA
VEJの位置(すなわち閉)にあり、電圧水準235は
、ループ増幅器240によって増幅された後、VCXO
205の周波数を制御する。もし両方のスイッチ245
と245′が「マスター」の位置にあれば、処理システ
ム20と20′は位相ロックされず、非同期の状態で(
独立して)動作する。
位相差信号235の電圧水準は、また電圧比較器234
に対する入力であり、これらの位相差は位相の進みと遅
れの許容範囲を表す電圧V、。、およびV48.である
。もしこの位相差が許容範囲であれば、PHASE  
ERROR信号は活性化されない。もしこの位相差が許
容範囲以外であれば、PHASE  ERROR信号2
36は活性化され、クロック・デコーダ220を介して
クロスリンク95に送られる。
6、  I10モジュール 第17図はI10モジュール100の好適な実施例を示
す。このI10モジュール100の動作の原理は、他の
I10モジュールにも同様に適応することがてきる。
第18図はファイヤウオール(firewall) 1
000の好適な実施例の構成要素を示す。ファイヤウオ
ール1000は、第17図に示すモジュール相互接続部
130に対する16ビツトのバス・インターフェース1
810とバス1020に接続するための32ビツトのバ
ス・インターフェース1820を有する。インターフェ
ース1810と1820は内部ファイヤウオール・バス
1815によって接続され、このファイヤウオール・バ
ス1815はまたファイヤウオール1000の他の構成
要素とも相互に接続される。バス1815は16または
35ビツト幅の並列バスであることが望ましい。
I10モジュール100はデュアル・レール・モジュー
ル相互接続部130と132によってCPUモジュール
30に接続される。モジュール相互接続部の各々は、そ
れぞれファイヤウオール1000と1010に接続され
る。通常はファイヤウオール1000であるが必ずしも
これではない一方のファイヤウオールは、モジュール相
互接続部130からバス1020にデータを書き込む。
この場合にはフナイヤウオール1010である他方のフ
ァイヤウオールは、第18図に示すファイヤウオール比
較回路1840を使用して、そのデータをモジュール相
互接続部132から受は取った自分自身のコピーとチエ
ツクする。このチエツクは有効であるが、その理由は、
CPUモジュール30と30′からI10モジュールに
対して書き込まれたデータを実質的に同時にファイヤウ
オール1000と1010で入手可能にしているこれら
のCPUモジュール30と30′がロックステップ同期
の状態にあるからである。
ファイヤウオール比較回路1840は、CPUモジュー
ル30と30′から受取ったデータのみをチエツクする
だけである。I10装置からCPUモジュール30と3
0′送られたデータは、共通の供給元を有し、従ってチ
エツクを必要としない。
その代わり、I10装置から受取られCPUモジュール
30と30′に送られるデータは、EDC/CRC発生
装置1850によって実行される周期的冗長性チエツク
(CRC)コードのようなエラー検出コード(EDC)
によってチエツクされる。EDC/CRC発生装置18
50は、また内部ファイヤウオール・バス1815に接
続される。
EDC/CRC発生装置1850は、I10装置によっ
て使用されるのと同じEDC/CRCコードを発生して
チエツクを行う。I10モジュール100は2つのED
Cを発生することが望ましい。一方のEDCはまたED
C/CRCでもよく、これはモジュール100が接続さ
れているアサ−ネット(Ethernet)パケット・
ネットワークのようなネットワークに対するインターフ
ェースに使用される(第17図の構成要素108に参照
)。
他方のEDCは第17図のディスク・インターフェース
1072のようなディスク・インターフェースに使用さ
れる。
CPUモジュール30とI10モジュール100との間
でEDC/CRCを適応することは必要でないが、その
理由は、モジュ、−ルゆ相互接続部が2重になっている
からである。例えばCPUモジュール30の場合、クロ
スリンク90はモジュール相互接続部30を介してファ
イヤウオール1000と通信を行い、クロスリンク95
はモジュール相互接続部132を介してファイヤウオー
ル1000と通信を行う。
アサ−ネット・ネットワーク1082から受は取られた
メツセージは、第17図に示すネットワーク制御装置1
080によってEDC/CRCの有効性をチエツクされ
る。EDC/CRCが完全であるデータは、これもまた
第17図に示すローカルRAMI 060に書き込まれ
る。ローカルRAM1060内の全てのデータは、DM
Aを使用してメモリ・モジュール60に転送される。
DMA制御装置1890は転送の調整を行い、EDC/
CRC発生装置に転送中のE D C/CRCによって
符号化されたデータの有効性をチエツクさせる。
I10装置との大部分のデータの転送はDMAによって
行われる。データはメイン・メモリとI10バッファ・
メモリとの間を移動する。データがメイン・メモリから
I10バッファメモリに移動する場合、EDC/CRC
を付加してもよい。
データがI10バッファメモリからメイン・メモリに移
動する場合、EDC/CRCはチエツクを受けてメイン
・メモリに移動してもよく、または取り除かれてもよい
。データがI10バッフ7メモリからディスクまたはア
サ−ネット・アダプタのような外部装置を介して移動さ
れる場合、BDC/CRCは局部的または離れた位置に
ある受信ノードでチエツクされてもよく、またはその両
方でチエツクされてもよい。メモリ・データ・バケット
は遠くの位置にあるノードまたはI10モジュールのロ
ーカル・インターフェースによって発生されたそれらの
EDC/CRCを有してもよい。
この動作によって、I10モジュール100のようなシ
ングル・レール・システムに存在する、またはこれを介
して転送中のデータがエラー検出コードによってカバー
されることが保証され、このエラー検出コードはこのデ
ータが最終的に通過する通信メディアと少なくとも同じ
くらい信頼性のあることが望ましい。例えば、同期プロ
トコールを処理するような異なったI10モジュールは
、適当なプロトコールのEDC/CRCコードを発生し
てチエツクするEDC/CRC発生装置を有することが
望ましい。
一般的に、DMA制御装置1890はアドレスされてい
る共有のメモリ制御装置105とローカルRAM106
0に特有のDMAの動作の部分を取扱う。32ビツト・
バス1020は2つの異なったモードで駆動される。D
MAのセットアツプの期間中、DMA制御装置1890
は標準非同期マイクロプロセッサ・バスとしてバス10
20を使用する。DMAの動作が発生するローカルRA
M1060のアドレスは共有のメモリ制御装置1050
とDMA制御装置1890に供給される。実際のDMA
の転送の期間中、DMA制御装置1890はDMA制御
線1895に非同期の状態でバス1020を駆動させる
。共有のメモリ制御装置1050はバス・サイクル毎に
32ビツトのデータ・ワードをバス1020に転送し、
DMA制御装置1090はどれくらいの数のワードの転
送が残っているかについての情報を得る。共有のメモリ
制御装置1050は、またローカルRA M 1060
を制御して次のDMAアドレスを発生する。
I10モジュール(100,110,120)はそれら
自身のローカルRAM1060に対する読み出し/書込
み動作を制御する責任を負う。
CPUモジュール30はメモリ・アレイ60との転送動
作を制御する責任を負う。メモリ制御装置70と75の
DMAエンジン800(第8図に示す)は、CPUモジ
ュール30に対するDMAの動作を管理する。このよう
な作業の分割によって、いずれかのモジュールのDMA
ロジックの故障がゾーン11または11’のいずれかの
他のモジュールのデータの健在性を低下させることを防
止する。
トレースRAM1872はトレースRAM制御装置18
70の機能を以下で詳細に説明する。簡単に言えば、故
障が検出され、CPU40.40′50および50′と
CPUモジュール30および30′がそのことを通知さ
れると、コンピュータ・システムIO全体の種々のトレ
ースRAMが以下で説明するある種の機能を実行する。
トレースRAMとの通信はトレース・バス1095で行
われる。トレースRAM制御装置1870は、トレース
・バス1095からの信号に応答して、トレースRAM
1872に記憶を停止させるかその内容をソレースeバ
ス1095放出させる。
32ビツトの並列バスであることが望ましいI10モジ
ュール・バス1020は、ファイヤウオール1000お
よび1010に接続されると共にI10モジュール10
0の他の構成要素にも接続される。共有のメモリ制御装
置1050は、I10モジュール100のI10モジュ
ール・バスl020にもまた接続される。共有のメモリ
制御装置1050は共有のメモリ・バス1065によっ
てローカル・メモリ1060に接続され、この共有のメ
モリ・バス1065は32ビツトのデータを搬送するこ
とが望ましい。ローカル・メモリ1060は256キロ
バイトのメモリを有するRAMであることが望ましいが
、このRA M 1060は任意のサイズでよい。共有
のメモリ制御装置1050とローカルRAM1060に
よって、I10モジュール100に対する記憶能力が与
えられる。
ディスク制御装置1070によって、第1図のディスク
1075および1075’のようなディスクに対して標
準のインターフェースが設けられる。ディスク制御装置
1070は、ローカルRAM1060に使用するためま
たはI10モジュール・バス1020との通信を行うた
めに共有のメモリ制御装置1050にまた接続される。
ネットワーク制御装置1080はネットワーク・インタ
ーフェース1082によってBTHBRNBTネットワ
ークのような標準ネットワークに対してインターフェー
スを与える。ネットワーク制御装置1080は、ローカ
ルRAM1060とI10モジュール・バス1020の
両方に対してインターフェースとして機能する共有のメ
モリ制御装置1050にまた接続される。しかし、I1
0モジュール・バス1020の特定の組織または構造に
ついては何等の要求も存在しない。
PCIM(電源および冷却用インターフェース・モジュ
ール)サポート・エレメント1030は、I10モジュ
ール・バス1020に接続されると共にASCIIイン
ターフェース103に接続される。PCIMサポート・
エレメント1030によって、処理システム20は電源
システムの状態(すなわちバッテリ・レギュレータ等)
と冷却システム(すなわちファン)を監視してこれらの
適切な動作を保証することが可能になる。PCIMサポ
ート・エレメント1030は、バッテリの電圧が許容で
きない程度に低い等のある種の故障または潜在的な故障
の徴候が存在する場合のみ、メツセージを受は取ること
が望ましい。全ての電源および冷却サブシステムを周期
的に監視するために、CPIMサポート・エレメント1
030を使用することもまた可能である。または、PC
7Mサポート・エレメント1030は、直接ファイヤウ
オール1000と1010に接続されてもよい。
診断マイクロプロセッサ1100が、またI10モジュ
ール・バス1020に接続される。−膜内に、診断マイ
クロプロセッサ1100は、故障が検出された場合、ト
レースRAM+872のようなトレースRAMからエラ
ー・チエツク情報を集めるために使用される。このデー
タは、それぞれファイヤウオール1000と1010を
介してトレース・バスl095と1096に集められる
と共にモジュール・バス1020を介してマイクロプロ
セッサ1100に集められる。
D、インタープロセッサとインターモジュールの通信 1、 データ経路 コンピュータ・システムIOの構成要素は、それら自身
によって故障許容システムを構成するものではない。正
常な動作の期間中および故障の検出と修正の動作の期間
中に通信を可能にする通信経路とプロトコールが必要で
ある。このような通信号に対するキーは、クロスリンク
経路25である。クロスリンク経路25は、並列リンク
、直列リンク、および既に説明したクロック信号によっ
て構成される。これらは19図に示される。並列リンク
は、2組の同じデータおよびアドレス線、制御線、割り
込み線、符号化エラー線、および1本のソフト・リセッ
ト・リクエスト線を有する。
データおよびアドレス線と制御線は、モジュール相互接
続部130と132(または130′と132’)また
はメモリ・モジュール60(60’からCPUモジュー
ルの間で交換される情報を有している。
割り込み線は、I10サブシステム(モジュールI00
.110.120.100’  110’および120
’)で使用可能な割り込み水準の各々に対し1本の線を
有することが望ましい。これらの線はクロスリンク90
.95.90′、および95′によって共有される。
符号化エラー線は、両方のゾーンに対するコンソールr
HALT」要求を同期させる複数のコードを有すること
が望ましく、これらの複数のコードの1つは両方のゾー
ンに対してCPUエラーを同期させるコード、1つは他
方のゾーンに対してCPU/メモリの故障の発生を示す
コード、1つは両方のゾーンに対してDMAエラーを同
期させるコード、および1つはクロック位相エラーを示
すコードである。各ゾーン11または11’からのエラ
ー線は、ゾーン11に対するORゲート1990または
ゾーン11’に対するORゲート1990’のようなO
Rゲートに対する入力である。各ORゲート2の出力に
よって、他方のゾーンのクロスリンクに対する入力が与
えられる。
欠陥許容処理システムlOは、過渡的な故障に関係なく
デュアル・レール・システムとして動作を継続するよう
に設計されている。I10サブシステム(モジュール1
00.110.120.100’   110’   
120’)は、また過渡的なエラーまたは故障を経験し
ても動作を継続することができる。好適な実施例の場合
、ファイヤウオール比較回路1840の検出したエラー
によって、同期化されたエラー・レポートがCPUの管
理する動作に関して経路25を介して行われる。
CPU30と30’のハードウェアは経路25を介して
同期化されたソフト・リセットを行い、故障のある動作
をもう一度行う。DMAの管理する動作の場合、同じエ
ラーの検出によって、同期割り込みが経路235を介し
て行われ、CPU40.50.40′、および50’の
ソフトウェアはDMAの動作を再び開始する。
ある種の過渡的なエラーは、動作を完全デュプレックス
の同期形態で継続するように直ちに修復されるものでは
ない、例えば、メモリ・モジュール60に制御エラーが
発生すると、その結果メモリ・モジュール60に未知の
データが生じる。この場合、CPUとメモリ・エレメン
トは最早フェール・セーフ・システムの一部として信頼
性のある機能は果たすことはできず、従ってこれらを取
り外さなければならない。メモリ・アレー60はそこで
、CPUとメモリ・エレメントが再びメモリに取り付け
られる前に、メモリの再同期を行わなければならない。
経路25の符号化エラー線のCPUメモリ故障コードは
、CPU30のCPUとメモリ・エレメントが故障して
いることをCPU30′に知らせる。
サイクル・タイプ、エラー・タイプおよび準備完了状態
の組み合わせを示す制御線によって、CPUモジュール
(30および30′)とI10モジュールとの間にハン
ドシェーキングが行われる。上で説明したように、実行
されているバス動作のタイプがサイクル・タイプによっ
て決められる。すなわち、これらは、CPU  Ilo
の読み出し、DMAの転送、DMAのセットアツプまた
は割り込みベクトルの要求である。エラー・タイプによ
ってファイヤウオールの比較ミスまたはCRCのエラー
が決められる。「準備完了」のメツセージはCPUとI
10モジュールとの間に送られて要求された動作の完了
を示す。
シリアル・クロスリンクは状態読み出しのためのシリア
ル・データの転送、ループバック、およびデータの転送
を行うために2本の線を2組有している。
交換されるクロック信号は、位相ロック・クロック信号
CLKCH(!:CLCK’  H(遅延した)。であ
る。
第20A図乃至第20D図は、異なった動作期間中にデ
ータが通過するCPUモジュール30および30′とI
10モジュール100および100′の構成要素のブロ
ックを示す。これらの構成要素の各々は前に説明したも
のである。
第20A図は、共有のメモリ制御装置1050(105
0’)からのレジスタ・データのCPUのI10レジス
タによる読み出し動作のようなI10モジュール100
からのデータの一般的なCPU  Iloによるデータ
読み出し動作のためのデータ経路を示す。このような動
作はローカル・データの読み出しと呼び、これをローカ
ル・メモリ1060からのDMAによるデータの読み出
しと区別し、このローカル・メモリ1060は通常内部
装置の制御装置からのデータを有している。
ローカル・データは共有のメモリ制御装置1050(1
050’)を介して転送されるようにローカルRAM1
060 (1060’)に記憶されているものと仮定す
る。経路が1つの場合、データはファイアウオールl0
00、モジュール相互接続部130を介してクロスリン
ク90に流れる。第12図から分かるように、クロスリ
ンク90はファイアウオール 1000からメモリ制御
装置90に流れるデータを遅延させ、その結果、クロス
リンク90’に対するデータは、データがメモリ制御装
置70に加えられるのと同時に、このメモリ制御装置7
0に加えられ、従って、処理システム20と20′が同
期状態のままであることが可能になる。このデータは、
次に内部バス46と40′によってメモリ制御装置70
および70’からCPU40および40′に進む。
同じ経路を使用してCPU50と50′にデータを読み
込む。共有のメモリ制御装置1050からのデータはフ
ァイヤウオール1010を介してクロスリンク95に進
む。この時、データはクロスリンク95′と遅延装置を
介してクロスリンク95の内部の両方に流れる。
CPUl0読み出し動作は、また共有のメモリ制御装置
1050’とI10装置100′のローカルRAMを介
して処理システム20′のI10処置から受は取られた
データに対してもまた実行されることができる。
I10モジュールioo、110、および120は同じ
ものであり、それぞれI10モジュール100’   
110’   120’に対応するが、対応するI10
モジュールはロックステップ同期状態にはない。CPU
  I10読み出しのためメモリ制御装置1050’と
ローカルRAMI 060’行う使用して、データは先
ずクロスリンク90′と95′に進む。残りのデータ経
路はメモリ制御装置1050からの経路と同じである。
データはクロスリンク90′と95′からメモリ制御装
置70′と75′を経由して最終的にそれぞれCPU4
0′と50’に進む。同時に、データはそれぞれクロス
リンク90と95を横切って進み、次に遅延エレメント
を経由しないでそれぞれCPU40と50に進み続ける
第20B図は、ローカル・データのCPU  Ilo書
き込み動作を示す。このようなローカル・データはCP
U40.50.40′および50′からI10モジュー
ル100のようなI10モジュールに転送される。この
ような動作の1つの例は、共有のメモリ制御装置1os
oにおけるレジスタAに対する書き込みである。CPU
40によって転送されるデータは同じ経路に沿って進む
が、その方向はCPU  Iloの読み出し期間中のデ
ータの方向と逆の方向である。特に、このようなデータ
はバス46、メモリ制御装置70、種々のラッチ(同期
を行うため)、ファイヤウオール1000、およびメモ
リ制御装置1050を通過する。CPU50’からのデ
ータは、またCPUl10の読み出しの経路を逆の方向
に流れる。特に、このようなデータは、バス56′、メ
モリ制御装置75′クロスリンク95′クロスリンク9
5を経由しくファイヤウオール1010に行く。
上で述べたように、ファイヤウオール1000と101
0はIloの書き込み動作の期間中にデータをチエツク
して記憶する前にエラーを調べる。
書き込みが他方のゾーンのI10モジュールに対して行
われる場合、同じ動作が行われる。しかし、CPU50
ど40′からのデータがCPU50′と40からのデー
タの代わりに使用される。
CPU50と40′からのデータは対称の経路を介して
共有のメモリ制御装置1050’に転送される。CPU
50と40′からのデータはファイヤウオールtooo
’と1010’によって比較される。Ilo書き込みデ
ータに対してサービスを行うために異なったCPUの対
が使用される理由は、完全デュプレックス・システムで
正常に使用している期間中に全てのデータ経路をチエツ
クするためである。各ゾーンに対するインターレール・
チエツクはメモリ制御装置70.75.70′および7
5′で前に実行された。
第20C図は、DMA読取り動作に対するデータ経路を
示す。メモリ・アレイ600からのデータは、同時にメ
モリ制御装置70と75に入り、次いでクロスリンク9
0と95に入る。クロスリンク90はファイヤウオール
1000に転送されたデータを遅延させ、その結果、ク
ロスリンク90と95′からのデータは実質的に同じ時
間にファイヤウオール1000と1010に到着する。
CPU  Ilo書き込み動作と同様に、種々のクロス
リンクに対するデータの4つのデータ/コピーが存在す
る。ファイヤウオールでは2つのコピーのみが受は取ら
れる。ゾーン11に対する読み出しを実行する場合には
、異なった対のデータが使用される。DMAの書き込み
動作に対するデータ経路は第20D図に示され、これら
はCPUl10の読み出しに対するデータと同じである
特に、共有のメモリ制御装置1050’からのデータは
、ファイアウオール1000’、クロスリンク90′ 
(遅延を伴う)、メモリ制御装置70’を経由してメモ
リ・アレイ600′に進む。同時に、このデータは、フ
ァイヤウオール1010’クロスリンク95′ (遅延
を伴う)およびメモリ制御装置75′を通過し、この時
これはインターレール・エラー・チエツクの期間中にメ
モリ制御装置70′からのデータと比較される。CPU
110の読み出しの場合のように、DMA書き込み動作
中のデータは、共有のメモリ制御装置1050を介して
交互に同じ動作に入ってもよい。
クロスリンク90′からのデータは、またクロスリンク
90とメモリ制御装置70を通過してメモリ・アレイ6
00に行く。クロスリンク95′からのデータは、クロ
スリンク95とメモリ制御装置75を通過し、この時こ
れは同時に行われるインターレール・チエツクの期間中
にメモリ制御装置70′からのデータと比較される。
第20E図は、メモリ再同期(resync)動作のた
めのデータ経路を示す。この動作の場合、メモリ・アレ
イ60と60′の両方の内容は、相互に同じように設定
されなければならない。メモリの再同期の場合、メモリ
・アレイ600′からのデータは、DMAに制御されて
メモリ制御装置70′と75′を通過し、次にそれぞれ
クロスリンク90′と95′を通過する。このデータは
、次にメモリ600アレイに記憶される前に、それぞれ
メモリ制御装置70と75に入る。
2、 リセット システムIOに関する上記の議論は、リセットに関する
多くの異なった必要性を考慮して行われた。議論しなか
ったある種の場合には、リセットは、電源が最初にシス
テムlOに印加される場合等の標準的な機能のために行
われる。多くのシステムは1つのリセットを有し、この
リセットは常にプロセッサをある所定の状態または最初
の状態にセットし、従ってプロセッサの命令の流れを中
断する。しかし、大部分の他のシステムと異なって、シ
ステム10のリセットは、もし絶対的に必要でなければ
、CPU40.40’  50および50’による命令
の実行の流れに影響を及ぼさない。更に、システムlO
のリセットは、正常な動作を回復するためにリセットさ
れる必要のある部分のみに影響を及ぼす。
システムlOのリセットの他の特徴は、これらのリセッ
トの抑制である。故障許容システムの最も重要な考慮す
べき事項の1−っは、もしある機能が故障しても、その
機能はシステムの動作を停止してはならないことである
。この理由のため、システムのいかなる1つのリセット
も、ゾーン11と11’が直接に協力しないなら、ゾー
ン11と11’の両方の構成要素を制御することはでき
ない。従って、完全デュプレックス・モードで動作して
いるの場合、ゾーン11内の全てのリセットはゾーン1
1’内のリセットとは独立している。
しかし、システムIOがマスター/スレーブ・モードに
ある場合、スレーブゾーンはマスターゾーンのリセット
を使用する。更に、システムIO内のいかなるリセット
もメモリ・チップの内容に影響を及ぼさない。従って、
キャッシュ・メモリ42及び52、スクラッチ・パッド
・メモリ45および55またはメモリ・モジュール60
のいずれもリセットによっていかなるデータも失うこと
はない。
システム12は3つのクラスのリセット、すなわち、「
クロック・リセット」 「ハード・リセット」、および
「ソフト・リセットJがあることが望ましい。クロック
・リセットはゾーン内の全てのクロック位相発生器を再
編成する。ゾーン11内のクロック・リッセトはまたC
PU40と50、およびメモリ・モジュール60をイニ
シアライズする。クロック・リセットは、これらのモジ
ュールのクロック位相発生器を再編成する以外にモジュ
ール相互接続部130と132に影響を及ぼさない。シ
ステム10がマスター/スレーブモードにある場合でさ
え、スレーブ・ゾーンでクロック・リセットを行っても
、これはマスターゾーンのモジュール相互接続部からス
レーブ・ゾーンのモジュール相互接続部に対するデータ
の転送を妨げない。しかし、ゾーン11’でクロック・
リセットを行うと、ゾーン11’内の対応する構成要素
がイニシアライズされる。
一般的に、ハード・リセットを行うと、全ての状態デバ
イスとレジスタはある所定の状態または最初の状態に戻
る。ソフト・リセットを行うと、状態エンジンと一時的
に記憶を行うレジスタのみがそれらの所定の状態または
最初の状態に戻るだけである。1つのモジュール内の状
態エンジンはそのモジュールの状態を決める回路である
。エラー情報と構成データを有するレジスタはソフト・
リセットによって影響を与えられない。更に、システム
10は、処理を継続するために、再びイニシアライズさ
れる必要のある構成要素のみをリセットするために同時
にハード・リセットとソフト・リセットの両方を選択的
に行う。
ハード・リセットはシステム10をクリアし、従来のシ
ステムと同様に、システムIOを既知の構成に戻す。ハ
ード・リセットは、ゾーンが同期されるべき場合または
I10モジュールをイニシ7ライズまたは不能にするべ
き場合に、電源を印加した後、使用される。システムl
oの場合、4つのハード・リセット、すなわち、「パワ
ーアップ・リセットJ、 rCPUハード・リセット」
、「モジュール・リセットJ、及び「デバイス・リセッ
ト」があることが望ましい。ハード・リセットは更にロ
ーカル・ハード・リセットとシステム・ハード・リセッ
トに分けることができる。ローカル・ハード・リセット
は、CPUがスレーブ・モードにある場合に応答するロ
ジックのみにに影響を及ぼす。システム・ハード・リセ
ットは、クロスリンク・ケーブル25とモジュール相互
接続部130及び132に接続されているロジックのみ
に限定される。
パワーアップ・リセットは、電源が印加された直後に、
ゾーンl!とlビをイニシアライズするために使用され
る。パワーアップ・リセットによって、ゾーンの全ての
部分に対して強制的にリセットが行われる。パワーアッ
プ・リセットはシステムllのゾーンの間では決して接
続されないが、その理由は、各ゾーンがそれ自身の電源
を有し、従って異なった長さの「電源投入」イベントを
経験するからである。パワーアップ・リセットは全ての
ハード・リセットとクロック・リセットをゾーン11ま
たはlビに行うことによって実行される。
CPUハード・リセットは、CPUモジュールを既知の
状態に戻すため診断目的に使用される。
CPUハード・リセットは影響の与えられたゾーン内に
あるCPU、メモリ制御装置、およびメモリ・モジュー
ル、状態レジスタの全ての情報をクリアする。キャッシ
ュ・メモリとメモリ・モジュールは不能にされるが、ス
クラッチ・パッドRAM45および55の内容とメモリ
・モジュール60の内容は変化されない。更に、パワー
アップ・リセットと違って、CPUハード・リセットは
クロスリンクのゾーン識別またはクロック・マスターシ
ップを変更しない。CPUハード・リセットは、CPU
モジュールとクロック・リセットに加えることのできる
全てのローカル・ハード・リセットの合計である。
・モジュール・ハード・リセットは、ルートストラッピ
ングの期間中のような既知の状態にI10モジュールを
セットするために使用され、また故障したI10モジュ
ールをシステムから取り外すためにも使用される。I1
0モジュール・ハイド・リセットはモジュール上の全て
のものをクリアし、診断モードでファイヤウオールを離
れ、ドライバを不能にする。
デバイス・リセットは、I10モジュールに接続された
I10デバイスをリセットするために使用される。これ
らのリセットは装置に依存し、装置が接続されているI
10モジュールによって与えられる。
他のクラスのリセットはソフト・リセットである。上で
説明したように、ソフト・リセットは、システム10内
の状態エンジンと一時的レジスタをクリアするが、これ
らはクロスリンク内のモード・ビットのような構成情報
を変化させない。更に、ソフト・リセットは、またモジ
ュール内のエラー処理機構をクリアするが、これらはシ
ステム・エラー・レジスタ898およびシステム故障ア
ドレス・レジスタ865のようなエラー・レジスタを変
化させない。
ソフト・リセットには目標が定まっているので、その結
果、システムの必要な部分のみがリセットされる。例え
ば、モジュール相互接続部130がリセットされる必要
があれば、CPU40はリセットされず、またI10モ
ジュール110に接続されている装置もリセットされな
い。
ソフト・リセットには3つのユニークな特徴がある。1
つは各ゾーンがそれ自身のリセットの発生に対して責任
を負っていることである。lっのゾーン内の故障エラー
またはリセット・ロジックは、従って故障の発生してい
ないゾーンでリセットを行うことを防止される。
第2の特徴は、ソフト・リセットが命令実行のシーケン
スを乱さないことである。CPU40.40’  50
、および50′はクロックとハード・リセットの組み合
わせのみによってリセットされる。更に、メモリ制御装
置70.75.70′および75′はハード・リセット
に取り付けたCPU命令にサービスを行うのに必要なそ
れらの状態エンジンとレジスタを有している。従って、
ソフト・リセットはソフトウェアの実行にとって透明で
ある。
第3の特徴は、ソフト・リセットの範囲、すなわちソフ
ト・リセットによって影響を与えられるシステムlO内
の構成要素の数がシステムlOのモードと最初のリセッ
トに対する要求によって決まるということである。完全
デュプレックス・モードの場合、CPUモジュール30
で開始されるソフト・リセットに対する要求によって、
ソフト・リセットがCPUモジュールの全ての構成要素
およびモジュール相互接続部130と132に取り付け
られた全てのファイヤウオール1000と1010に対
して行われる。従って、モジュール相互接続部130と
132によってサービスを受ける全てのモジュールはそ
れらの状態エンジンと一時的レジスタのリセットを有し
ている。これによって、過渡的なエラーによって発生さ
れる全ての問題のシステム・パイプラインがクリアされ
る。
システム10は、デュプレックス・モードにあるので、
ゾーンll′はゾーン11の行っている全ての事柄を行
う。従って、CPUモジュール30′は、CPUモジュ
ール30と同時に、ソフト・リセットに対する要求を出
す。ゾーン11’内のソフト・リセットは、ゾーン11
内のソフト・リセットと同じ効果を有している。
しかし、システムIOがマスタ/スレーブ・モードにあ
りCPUモジュール30′がスレーブ・モードにある場
合、CPUモジュール30で始まるソフト・リセットに
対する要求は、予期できるように、CPUモジュール3
0の全ての構成要素とモジュール相互接続部130と1
32に取り付けられた全てのファイヤウオール1000
と1010に対してソフト・リセットを出す。更に、ソ
フト・リセットに対する要求は、クロスリンク90と9
0′、クロスリンク・ケーブル25およびクロスリンク
90′と95′を介してCPUモジュール30′に出さ
れる。一部のモジュール相互接続部130と132はソ
フト・リセットを受は取る。
この同じ構成の場合、CPUモジュール30′から開始
されるソフト・リセットに対する要求は、メモリ制御装
置70’と75′およびクロスリンク90′と95′に
一部のみリセットする。
ソフト・リセットは、rcPUソフト・リセット」と「
システム・ソフト・リセット」を有する。
CPUソフト・リセットは、要求を最初に出したCPU
モジュールの状態エンジンに影響を及ぼすソフト・リセ
ットである。システム・ソフト・リセットは、モジュー
ル相互接続部とこれに直接取付けられた構成要素に対す
るソフト・リセットである。CPUモジュールは、常に
CPUソフト・リセットを要求することができる。シス
テム・ソフト・リセットは、CPUを要求するクロスリ
ンクがデュプレックス・モード・マスター/スレーブ・
モード、またはオフ・モードにある場合にのみ、要求す
ることがてきる。スレーブ・モードにあるクロスリンク
は、他方のゾーンからシステム・ソフト・リセットを与
えられ、それ自身のモジュール相互接続部に対してシス
テム・ソフト・シセットを発生する。
CPUソフト・リセットは、エラーの状態に続いていて
CPUのパイプラインをクリアする。
CPUパイプラインは、メモリ相互接続部80と82、
メモリ制御装置75および75内のラッチ(図示せず)
 、DMAエンジーン800およびクロスリンク90と
95を有する。CPUソフト・リセットは、またDMA
またはIloのタイムアウトに続いて発生することもで
きる。DMAまたはIloのタイムアウトは、I10デ
バイスが特定の時間間隔内にDMAまたはIloの要求
に対して応答しない場合に発生する。
第21図は、CPUモジュール30および300′から
I10モジュール100.110,100’およびl 
l O’とメモリ・モジュール60および60′に対す
るリセット線を示す。CPUモジュール30は、何時電
源が印加されたかを示すDCOK信号を受は取る。リセ
ットをイニシアライズするのはこの信号である。CPU
モジュール30′は、その電源から同じ信号を受取る。
1つのシステム・ハード・リセット線は、各I10モジ
ュールに送られ、1つのシステム・ソフト・リセットは
3つのI10モジュールの全てに送られる。1つのハー
ド・リセットが各モジュールに対して必要である理由は
、システム・ハード・リセット線がシステム10から個
々のI10モジュールを取除くのに使用されるからであ
る。各システム・ソフト・リセットに対してI10モジ
ュールを3つに制限しているのは、単にローデングを考
慮しているからにに過ぎない。更に、1つのクロック・
リセット線が全てのI10モジュールとメモリ・モジュ
ールに送られる。1つのモジュールについて1つの線を
使用する理由は、負荷を制御することによってスキュー
を制限するためである。
第22図は、リセットに関連するCPUモジュール30
の構成要素を示す。CPU40と50は、それぞれクロ
ック発生装置2210と2211を有している。メモリ
制御装置70と75は、それぞれクロック発生装置22
20と2221を有し、クロスリンク90と95は、そ
れぞれクロック発生装置2260と2261を有する。
クロック発生装置は、システム・クロック信号を個々の
モジュールによって使用するために分割する。
メモリ制御装置70は、リセット制御回路2230とソ
フト・リセット要求レジスタ2235を有する。メモリ
制御装置75は、リセット制御回路2231とソフト・
リセット要求レジスタ2236を有する。
クロスリンク90は、ローカル・リセット発生装置22
40とシステム・リセット発生装置2250の両方を有
している。クロスリンク95は、ローカル・リセット発
生装置2241とシステム・リセット発生装置2251
を有している。クロスリンクの「ローカル1部分は、こ
のクロスリンクがスレーブ・モードにある場合に、CP
Uモジュールと共に残っているこのクロスリンクの部分
であり、従って、シリアル・レジスタ、および幾つかの
パラレル・レジスタを有している。クロスリンクの「シ
ステム」部分は、モジュール相互接続部130と132
(または130′と132’)とクロスリンク・ケーブ
ル25にアクセスするために必要であるクロスリンクの
その部分である。
ローカル・リセット発生装置3340と2241は、そ
れぞれクロスリンク90と95のローカル・リセット制
御回路2245と2246にバーrおよびソフト・リセ
ット信号を送ると共に、それぞれメモリ制御装置70と
75のリセット制御回路2230と2231にハードお
よびソフト・リセット信号を送ることによって、CPU
モジュール30に対してリセットを発生する。ローカル
・クロスリンク・リセット制御回路2245と2246
は、それらの状態エンジン、転送するべきデータを記憶
しているラッチおよびそれらのエラー・レジスタをリセ
ットすることによって、ソフト・リセット信号に応答す
る。これらの回路は、ソフト・リセットに対して行うの
と同じ動作を行い、またエラー・レジスタと構成レジス
タをリセットすることによって、ハード・リセット信号
に応答する。
リセット制御回路2230と2231は、同じ方法でハ
ードおよびソフト・リセット信号に応答する。
更に、ローカル・リセット発生装置2240は、モジュ
ール相互接続部130と132を介して、I10モジュ
ールioo、110および120にクロック・リセット
信号を送る。I10モジュール100.110および1
20は、以下で述べる方法でそれらのクロックをリセッ
トするため、クロック・リセット信号を使用する。ソフ
ト・リセット要求レジスタ2235と2236は、それ
ぞれローカル・リセット発生装置2240と2241に
ソフト要求信号を送る。
クロスリンク90と95のシステム、リセット発生装置
2450と2251は、それぞれモジュール相互接続部
130と132を介してI10モジュール100.11
0、および120にそれぞれシステム・ハード・リセッ
ト信号とシステム・ソフト・リセット信号に送る。I1
0モジュール100.110、および120は、CPU
データまたは命令に依存する全てのレジスタをリセット
することによってソフト・リセット信号に応答する。こ
れらのモジュールは、ソフト・リセットが行なうのと同
じレジスタをリセットし、また全ての構成レジスタをリ
セットすることによって、ハード・リセット信号に応答
する。
更に、システム・リセット発生装置2250と2251
は、またシステム・ソフトおよびシステム・ハード・リ
セット信号を各クロスリンクのシステム・リセット制御
回路2255と2256に送る。システム・リセット制
御回路2255と2256は、ローカル・ソフトおよび
ローカル・ハード・リセット信号に対するローカル・リ
セット制御回路の応答と同じ方法でシステム・ソフト・
リセット信号とシステム・ハード・リセット信号に応答
する。
メモリ制御装置70と75は、CPU40と50がそれ
ぞれ適当なコードをソフト・リセット要求レジスタ22
35と2236にそれぞれ書込み場合に、クロスリンク
90と95にそれぞれソフト・リセットを発生させる。
ソフト・リセット要求レジスタ2235と2236は、
ソフト・リセット要求信号をローカル・リセット発生装
置2240と2241に送る。符号化エラー信号は、メ
モリ制御装置70からローカル・リセット発生装置22
40と2241に送られる。
システム・ソフト・リセットは、データと制御信号が送
られるのと同じデータ経路に沿ってゾーンの間に送られ
る。従って、データとアドレスに対するのと同じ遅延を
等しくする原理が使用され、リセットはほぼ同時に2つ
のゾーンの全ての構成要素に到達する。
ハード・リセットは、適当なコードをローカル・ハード
・リセット・レジスタ2243に書込むCPU40と5
0またはDCOK信号によって発生されるパワーアップ
・リセットに対する要求によって発生される。
クロスリンク90の同期回路2270は、DCOK信号
が同時にローカルおよびリセット発生装置2240.2
250.2241および2251の全てに行き渡ること
を保証するため、適当な遅延要素を有している。
事実、リセットの同期は、システムIOでは非常に重要
である。これは、リセット信号がクロスリンクで始まる
からである。このようにして、リセットはほぼ同期して
異なったモジュールとこれらのモジュール内の異なった
要素に到達するように送られることができる。
第21図と第22図の構造を理解することによって、異
なったハード・リセットの実行をよりよく理解すること
ができる。パワーアップ・リセットはシステム・ハード
・リセットとローカル・ハード・リセットおよびクロッ
ク・リセットの両方を発生する。−膜内に、クロスリン
ク90.95.90′および95′は最初はクロスリン
ク・オフモードと再同期オフ・モードの両方の状態にあ
り、両方のゾーンはクロック・マスターシップを表明す
る。
CPU/MEM故障リセットは、メモリ制御装置70.
75.70’および75′がCPM/MEMの故障を検
出する時は何時でも自動的に動作される。符号化エラー
・ロジックはエラー・ロジック2237と2238から
両方のクロスリンク90と95に送られる。故障が発生
したCPUモジュールは、そのクロスリンクをスレーブ
状態にセットし、他方のCPUモジュールのクロスリン
クをマスター状態にセットすることによって、システム
IOから取り除かれる。しかし、故障が発生していない
CPUモジュールは、リセットを経験しない。その代わ
り、これはシリアル・クロスリンク・エラー・レジスタ
(図示せず)内のコードを介して、他方のモジュールの
故障を知らされる。CPU/MEM故障リセットは、故
障したCPUモジュールを有するゾーンに対するクロッ
ク信号とそのモジュールに対するローカル・ソフト・リ
セットによって構成される。
再同期リセットは、基本的にはローカル・ハード・リセ
ットとクロック・リセットを有するシステム・ソフト・
リセットである。この再同期リセットは、2つのゾーン
をロックステップ同期の状態にするために使用される。
ゾーン11と11’が同期されていなかった一定の期間
の後、もしCPUレジスタの記憶された状態を含むメモ
リ・モジュール60と60′の内容が相互に等しくセッ
トされれば、これらのゾーンがデュプレックス・モード
を再び開始することができるように、再同期リセットが
使用されてこれらのツゾーンを互換性のある構成にする
再同期リセットは、基本的にはCPUハード・リセット
とクロック・リセットである。再同期リセットは、再同
期・リセット・アドレスを並列クロスリンク・レジスタ
の1つに書込むソフトウェアによって動作される。この
時、一方のゾーンは、クロスリンク・マスター/再同期
マスターiモードでなければならず、他方のゾーンは、
クロスリンク・スレーブ/再同期スレーブ・モードでな
ければならい。そこでリセットが両方のゾーンで同時に
行われ、これは、とりわけ4つのクロスリンク全てをデ
ュプレックス・モードにセットする。
再同期リセットは、システム・ソフト・リセットではな
いため、I10モジュールはリセットを受取らない。
システム10の好適な実施例は、またクロック・リセッ
ト信号がコンフォーミング(conforming)ク
ロックをリセットせず、非コンフォーミング・クロック
のみをリセットすることを保証する。この理由は、クロ
ックがリセットされる場合はいつでも、これはクロック
のタイ6ミングを変更し、このタイミングはこんどはこ
のようなりロックでモジュールの動作に影響を及ぼすか
らである。もしモジュールが正しく実行され、このクロ
ックが正しい位相であれば、その動作を変更することは
不必要であるばかりでなく無駄なことである。
第23図は、ノンコンフォーミング・クロックのみがリ
セットされることを保証する回路の好適な実施例である
。第23図に示す回路は、第22図に示す対応するモジ
ュールのクロック発生装置22IO12211,222
0,2221゜2260、および2261内に位置する
ことが望ましい。
好適な実施例の場合、異なったクロック発生装置221
0.2211.2220.2221゜2260、および
2261は立上がり区間検出器2300、と位相発生装
置2310を有している。
立上がり区間検出器2300は、クロスリンク90と9
5からクロック・リセット信号を受取り、クロック・リ
セット信号の立上がり区間と同時に既知の持続期間を有
するパルスを発生する。このパルスは、特定のモジュー
ルに対する内部クロック信号と同様に位相発生装置23
10に対する入力である。そのモジュールに対する内部
クロック信号は、発振器システム200と200′から
分配されたシステム・クロック信号から取出されたクロ
ック信号である。位相発生装置231Oは、クロック信
号に対する異なった位相を形成する下方分割回路である
ことが望ましい。再循環シフト・レジスタのような位相
発生装置23■0に対する別の設計をまた使用すること
もできる。
立上かり区間検出器2300からの立上がり区間パルス
によって、位相発生装置2310は予め選択された位相
を出力することが望ましい。従って、例えばもし位相発
生装置2310が幾つかのステージを有する下方分割回
路であれば、クロック・リセットの立上がり区間パルス
は、そのステージに対して設定された入力であり、この
ステージは全ての他のステージに対して予め選択された
位相とりセット入力を発生する。もし位相発生装置23
10が既にこの位相を発生していれば、同期化クロック
・リセット信号の存在は基本的に透明である。
このようにして組織されたリセットは、システムlOの
通常の実行に対して混乱を最小限に止めるように設計さ
れ、トラスチックなアクションが必要とされる場合には
、このトラスチックなアクションは命令実行の通常のシ
ーケンスに割込みをかけることに止まる。このことは、
従来のリセットが引起こす再同期化の問題のためにデュ
アルまたは多重ゾーンの環境では特に重要である。従っ
て、システム10で行っているようにハード・リセット
の数を最小にすることが望ましい。
E、誤り処理 誤り処理には、誤り検出、誤り回復、及び誤り報告があ
る。誤り検出は、前項で、メモリ制御器?0,75.7
0’、75’、メモリモジュール60と60′ クロス
リング90,95.90’95′、及びファイヤウオー
ル(Fire wall )1000、1010.10
00’、 1010’の比較構成要素に関して、検討さ
れた。
本発明の誤り回復は、かような回復に費いやす時間を最
小にし、誤り回復が通常実行するソフトウェアに課する
オーバヘッドを最小にすることを意図している。この誤
り回復には2つの面がある。
すなわち、ハードウェアとソフトウェアである。
ハードウェアの誤り回復は、−膜内ソフトウェア誤り処
理過程内のソフトウェアの誤り回復が行われ前に、大抵
の故障に対して試みられる。ハードウェアの誤り回復が
試みられた故障が一時的の場合、故障許容ロックステッ
プ・オペレーションへ戻る誤り回復は、ハードウェアに
よりその時間の多くを十分に費いやして行われる。ハー
ドウェア誤り回復がうまく行われないか、あるいは使用
されない場合、ソフトウェアの誤り回復が試みられる。
かようなソフトウェアの回復は、CPU (中央処理装
置)40,50.40’、50’が正規のオペレーショ
ンから誤り処理プロセスへの整然とした変換を行えるよ
うにしているものである。
データ処理システムが、どのモジュールが誤り源である
かを決定し、故障装置を不能にするかあるいは故障装置
をバイパスするためにシステムを再構成した時に、誤り
回復は完了する。
1、 ハードウェア誤りの処理と回復 本発明の好適な実施例において、誤り回復はハードウェ
アレベルで出来るだけ多く行われる。これは、誤り処理
の誤り回復の段階で費いやされる時間を最小にし、ソフ
トウェアの複雑性を最低にするために行われる。ソフト
ウェアの介入は、−般に、多くの時間がかかり、システ
ムの残りの装置へ比較的大きい衝撃を起す。これは、特
に、システム10のようなマルチプロセッサで起り、こ
こでは、異なるゾーン11と11’が互いにロックステ
ップの同期化をしている。ハードウェアで行われる誤り
処理の割合いが大きくなればなる程、システム全体への
衝撃は小さくなる。
ハードウェア誤り回復アルゴリズムを使用して解決され
るシステムの故障あるいは誤りには、3つの基本的カテ
ゴリがある。この誤りは、CPU入出力誤り、CPU/
MEM(メモリ)故障、及びDMA (直接メモリアク
セス)誤りである。各タイプの誤りについての誤り処理
ルーチンは僅かに異なる。
第24図は、全ハードウェア誤り処理手順を示す流れ図
2400を示す。前記の説明にあるように、ゾーン11
に関しては、このプロセスがゾーン11’の構成要素と
同等に実行されると理解することにより、プロセス24
00の手順が説明される。
図2400を説明する前に、誤り処理に関するいくつか
の原理を理解することが重要である。データ処理オペレ
ーションが行われた後に、誤りを発生したバスオペレー
ションに誤りを関係づける情報が存在している間、時間
の窓がある。いわゆる“バスオペレーション”は、CP
U40,50゜40′、または50’に直接に接続して
いないメモリ・モジュール60と60′などの資源を必
要とするCPU40,50.40’または50′により
始動した完全オペレーションに相当する。
第24図が示すように、バス・オペレーションが行われ
た後(ステップ2410)、誤りが発生したかしていな
いかの確認が行われる。誤りが検出されない場合(ステ
ップ2420)、ハードウェア誤り処理の必要はなく、
手順が完了する(ステップ2440)。
しかし、誤りが検出された場合、ハードウェア誤り処理
が、故障を起したバスオペレーションに続いて時間窓で
開始されなければならない。最初に、誤りのタイプが識
別されなければならない(ステップ2430)。誤りの
タイプは、CPU入出力誤り、DMA誤り、あるいはC
PU/MEM故障である。
データ処理命令またはデータ処理システムlOにより行
われたオペレーションにより、各種のハードウェア誤り
処理手順が行われる。CPU入出力誤りが検出された場
合、CPU入出力誤りハンドラが入力される(ステップ
2450)。CPU入出力誤りは、CPU40と50、
メモリモジュール60、及びメモリモジュール60とイ
ンターフェイスしているメモリ制御器70と75の部分
の周辺で発生した誤りのタイプを示す。例えば、CPU
88と89またはファイヤウオール1000と1010
の両方で検出された間違い比較、メモリ制御器70と7
5、あるいはクロスリンク90と95が時間切れの場合
、CPU入出力誤りが発生する。かような場合、CPU
40と50とは、継続的確実なオペレーションが可能で
あると見なされる。
CPU入出力誤り処理について以下に説明する。
しかし、一般に、CPU入出カバードウェア誤り処理が
完了した後、レジスタがセットされて、その誤りが一時
的か永続的であったかを示し、誤りの分析のために他の
情報と一緒にロードされる。
−時的故障あるいは誤りは、故障オペレーションの再試
行がハードウェア誤り回復の間にうまく行われたことを
意味する。また、所定のレベルの割込み(システム誤り
Sys Err)は、CPU40と50がソフトウェア
誤り回復あるいはロッギングを行うようにセットされる
誤りがDMAオペレーションの間に検出された場合、D
MA誤りハンドラが入力される(ステップ2452)。
例えば、CPUバス88と89またはファイヤウオール
1000と1010の両方で検出された入出力間違い比
較、メモリ制御器70と75、あるいはクロスリンク9
0と95が時間切れの場合、この誤りはDMAオペレー
ション中に検出される。DMAはCPU40と50のオ
ペレーションと非同期的に動作しているので、DMAハ
ンドラの基本的動作(ステップ2452)は、DMAエ
ンジン800を遮断し、以降に説明する他の各種応答、
例えばシステム誤り割込み及びDMA割込みなどを使用
することとなる。
誤りが、CPU40または50のオペレーションあるい
はメモリモジュール60の内容が疑わしいと、検出され
た場合、誤りは、CPU/MEM故障と見なされて、C
PU/MEM故障ハンドラが入力される(ステップ24
54)。CPU/MEM故障の例としては、二重ビット
ECC誤り、CPU40と50からのデータに関する間
違い比較、またはメモリモジュール60へ送られたアド
レスに関する間違い比較などがある。CPU/MEM故
障の検出は、CPUモジュール30とその関連メモリモ
ジュールの状態を疑しいものにする。
このタイプの誤りは限界にあると考えられ、CPU/M
EM故障を受けた一対のCPUメモリは、自身を自動的
に連間し、システムは再構成する。
故障しているCPUまたは関連メモリは、関連している
一対の信頼の置けないCPUメモリによりハードウェア
またはソフトウェアの誤り処理を引続いて行う。
第25図の流れ図は、第24図のCPU入出カバンドラ
(ステップ2450)より成るCPU入出力誤り処理の
ための好適なプロセス(2500)を示す。本発明の好
適な実施例において、この誤り処理プロセスとほかの誤
り処理プロセスで説明した信号が第26図に示されてい
る。
ハードウェアCPU入出力誤り処理の1つの重要な面は
、メモリ制御器70と75と関係のないオペレーション
のなかには、誤り信号が入力されなければ、オペレーシ
ョンの後に遅れを生じているものもあることである。従
って、誤り信号が、かようなオペレーションに対応する
データとして入力されるならば、システムは、すべての
誤り報告がメモリ制御器へ伝播するように遅れるであろ
う。
CPU入出力誤り信号が受信された(ステップ2510
)後に、メモリ制御器70と75とにより行われた一連
のオペレーションは、次の3つの状態のうち1つが存在
する場合、メモリ制御器70と75とによって始動する
。すなわち、(1)  特定の信号がクロスリンク90
と95とから伝送される。(2)  誤り報告がメモリ
モジュール60により作成される。あるいは、内部誤り
信号がメモリ制御器70と75に発生する。
クロスリンク90と95とから伝送された特定の信号が
、バス88と89の制御状態回線に沿って同時に送られ
たコードである。本発明の好適実施例において、このよ
うなコードは、間違い比較がフッイヤウオール1000
及び1010において検出された場合か、あるいは、ク
ロスリンク90と95が、レール(rail)間違い比
較を、例えば第11図の排他的ORゲート960と96
0mとにおいて検出する場合、生成される。ファイヤウ
オール1000と1010が間違い比較するならば、そ
れらは、所定のビットパターンを、モジュール相互接続
130と132をそれぞれ経由してクロスリンク90と
95とへ送られ、次に、そのパターンはメモリ制御器7
0と75とへそれぞれ再び送られる。
メモリ制御器70と75は、これらの誤り信号を、第9
図に示された診断誤りレジスタ論理870へ送り、論理
は誤りパルスを生成する。その誤りパルスは、ビットを
診断誤りレジスタ880(ステップ2510)に設定す
る。診断誤り論理870からの誤りパルスは、誤り類別
論理850への入力である。
誤り類別論理850の出力は、誤りコードを生成するエ
ンコーダ855へ送られる(ステップ2510)。誤り
コードは、ハードウェア誤り処理が使用可能の場合、A
NDゲート856から送られ、誤り使用不能ビット87
8が、それに応じて設定される。次に、誤りコードはク
ロスリンク90と95へ送られる。
誤りコードに応答して、クロスリング90と95は、一
連のハードウェア・オペレーションを行う(ステップ2
520)。これらのオペレーションの1つは、システム
IOへ配分するためのゾーン誤り回線の所定の誤り信号
の表明である(2520)。
第19図と第26図に示されているように、ゾーン当り
4本1組の誤り回線がある。クロスリンク90と95(
ゾーン11’の誤り信号のクロスリンクは、90′と9
5′である。)からの誤り回線が共に論理和されと、ゾ
ーン11のゾーン誤り信号が生成される。これは、−貫
した誤り報告がクロスリンク90と95(及びクロスリ
ング90′と95′)により作成され、他のゾーンのク
ロスリンクへ送り出されるように行われる。
所定の誤り信号を他のクロスリンク(ステップ2520
)へ配分した後、クロスリンク90.95゜90’  
95’は、同時にシステム誤り割込みを中止し、追跡R
AMを固定して、再試行リフニス) (Retry R
equest)を送る(ステップ252 (J>。
クロスリンク90と95は、割込みをCPU40と50
とへ送ったシステム誤り回線(参照第26図)を設定す
ることにより、システム誤り割込みを中止する。また、
クロスリンク90と95は、追跡RAM(ステップ25
20)を固定し、RAMは、広域誤り回線(参照第26
図)を設定することにより、バス情報を収集するために
種々のバスと接続する。
追跡RAMは、誤りの検出の前に送られた最新のデータ
を収集するために、固定される。追跡RAMの機能は、
この章で手短かに説明され、誤り分析でのその使用は、
ソフトウェア誤り処理の説明で述べられる。
システムlOにおいて追跡RAMは、好適に、すべての
主要レール(rail)データ経路に配置されている。
第27図は、コンピュータシステム10内の追跡RAM
の好適な配置を示しているCPUモジュール30と入出
カモジュール100の構成図である。もちろん、ほかの
配置も選択出来る。
追跡RAMの機能は、追跡RAMの内容間のデータの間
違い比較を追跡することにより、誤り源の識別を行うこ
とである。
第27図において、追跡RAM2700と2705は、
フッイヤウオール1000と101Oとにそれぞれ配置
され、モジュール相互接続130と132とにそれぞれ
接続している。追跡RAM271O12715,271
8は、それぞれ、クロスリンク95の対応するバスとの
インターフェースに配置され、追跡RAM2720.2
725.2728は、それぞれ、クロスリンク95の対
応するバスとのインターフェースに配置されている。
−群の相補追跡RAMが処理システム20′に配置され
ている。
ゾーン11において、追跡RAM2700と2718は
モジュール相互接続130を監視し、追跡RAM270
5と2728はモジュール相互接続132を監視し、追
跡RAM2 ? 15と2725はクロスリンクケーブ
ル25を監視し、追跡RAM2710はバス88を監視
し、追跡RAM2720はバス89を監視する。ゾーン
ll′の対応している追跡RAMはそれぞれのバスを監
視する。
追跡RAM2800の1例が第28図に示されている。
追跡RAM2800は、連結しているバス経路のN回の
最初のサイクルで送られたデータを格納する循環バッフ
ァとして、好適に構成されている。
追跡RAM2800は、連結しているデータ経路からデ
ータを受けるために接合した入力部を有するバッファ・
レジスタ2805より成っている。
バッファ2805へ入力されたロードは、ANDゲート
2815の出力である。ANDゲート2815への入力
は、データ経路からのクロック信号であり、故障が検出
されると広域誤り信号が生成され、追跡RAMは、追跡
RAMデコーダ2820からの信号を使用可能にする。
追跡RAM使用可能信号が、バスが休止状態にない場合
、対応するバスからのデータ格納を可能にする。バスが
休止サイクル状態にある時、バスはデータ伝送のために
使用されている。従って、追跡RAMは、バスに存在す
る信号を格納することを続けない。
好適に、広域誤り信号により、追跡RAMはそのデータ
を固定し、さらに信号を格納することを停止する。広域
誤り信号が表明されると、バッファ2805が連結した
データ経路の信号の格納を中止するように、広域誤り信
号の逆信号がANDゲート2815へ送られる。
バッファ2805のアドレス入力は、ANDゲート28
15からカウント信号を受ける再反復カウンタ281O
により供給される。
追跡RAMは、それぞれ、そのメモリに、それと連結し
たデータ経路のN個の最新非休止トランザクションのコ
ピーを保持する。例えば、第27図では、追跡RAM2
700は、モジュール相互接続13θのN個の最新トラ
ンザクションを保持する。
追跡RAM2800の深さNは、最も遠くから送られた
メツセージに必要とされるバスサイクル数の合計と、誤
りあるいは故障が発生した場合、広域誤り信号を追跡R
AMへ送ることが必要とされるサイクル数の合計とによ
り決定される。好適な実施例においては、16回の非休
止バスサイクルが格納されている。。誤りコードの生成
に直接応答して、行われた残りの動作は、再試行リクエ
ストの伝達である。クロスリング90と95内の誤り論
理回路2237.2238は、誤りコード(ステップ2
520)に応答して再試行リクエストを送る。再試行リ
クエストにより、一連のオペレーションがほぼ同時にメ
モリ制御器70と75に発生する(ステップ2530)
。すなわち、故障レベルの増大、システム故障・誤リア
ドレス・レジスタの固定、ソフトウェアのリセット・リ
クエストの伝達である。
現在のハードウェア誤り回復故障レベル、または状態が
、システム故障・誤りレジスタ898の2ビツトに存在
する。これらの2ビツトは、−時ビットと固定ビットで
ある(参照第9図)。これらの2ビツトの組合せは、バ
ス誤りコードとして指定される。CPU入出力字体を解
釈する場合、バス誤りコードに3つの有効値がある。有
効値の1つは、現在未定の誤りがなく、誤り回復アルゴ
リズムが現在実行されていないシステム状態に相当する
。バス誤りコードのもう1つの有効値は、オペレーショ
ンの初期の実行中に誤りがあったか、あるいは、再試行
が試みられなかった誤りが発生したシステム状態に該当
する。第3の有効値は、オペレーションが再試行された
後に発生する誤りの場合である。再試行リクエストは、
故障レベルを増加するエンコーダ895への入力である
誤りが頻繁に発生し、従って、最初の故障レベルがソフ
トウェア誤り処理によりクリアされなかつた場合、故障
レベルは多くの誤りにより何回となく増加される。かよ
うに、間断なく発生する2つの故障は、ソフトウェア誤
り処理により固定的故障であるかのように見える。
故障レベルを増加すると、システム故障誤リアドレス・
レジスタは固定する。−時的ビットは、第1と第2の故
障レベルのいずれにも設定されるが、現在未定誤りがな
い状態に対応する最低レベルには設定されない。−時的
ビットは、システム故障誤リアドレス・レジスタ898
を使用不能ニして、固定する。システム故障誤リアドレ
ス・レジスタ865は、メモリ制御器70と75とに内
蔵されており、現在のバスオペレーションを再試行し、
診断の実行を援助させるために固定される。
ソフトウェア・リセット・リクエストは、第26図に示
されたソフトウェア・リセット・リクエスト回線を設定
し、メモリ制御器70と75とのそれぞれにより、クロ
スリンク90と9°5へ送られる(ステップ2530)
。さらに、メモリ制御器70と75が再試行リクエスト
を受けると、DMAエンジン800を停止し、誤りコー
ドをDMA制御器820内の状態レジスタに書込み、誤
りのタイプを示し、さらにメモリ制御器70と75と、
クロスリンク90と95とのそれぞれの間にあるバス8
8と89とを固定する。
各種オペレーションが再試行リクエストに応答して実行
された後、主クロスリンク90の局部ソフトウェア・リ
セット・ジェネレータ2240は、ソフトウェア・リセ
ット・リクエストに応答して、局部ソフトウェア・リセ
ットを生成する(ステップ2532)。局部ソフトウェ
ア・リセットに応答して、メモリ制御器70と75内の
再試作ジェネレータ2610と2620は、それぞれ、
未定のバス・トランザクションを再始動する(ステップ
2534)。再試行バス・オペレーションが順調に行わ
れて、誤り信号が入力されない場合(ステップ2536
)、CPU入出力誤りに関するハードウェア誤り処理が
完了する(ステップ2525)。
誤り信号が、メモリ制御器70と75とへ入力される場
合、同様なハードウェア・オペレーションが、最初の誤
り信号が入力された時に行われたように、実行される。
診断誤りレジスタが設定され、誤りコードが生成される
(ステップ2538)。
誤り信号が配布され、システム誤り割込みが中止され、
追跡RAMが固定されて、再試行リクエストが送られる
(ステップ2539)。次に、故障レベルが増加され、
システム故障誤りアドレス・レジスタが固定され、ソフ
トウェア・リセット・リクエストが送られる(ステップ
2540)。これらのオペレーションの多くは、すでに
行われているので、追跡RAM、誤リアドレスと診断誤
りとのレジスタには変化はない。しかし、故障レベルは
、コンピュータ・システムに固定的故障があることを示
しているその最高レベルへ増加されている。これは、誤
りがバス・オペレーションの再試行の後に検出され、誤
りが再試行において検出される時に固定的故障が発生す
ることによるものである。次に、CPU入出力誤り25
00に関するハードウェア・誤り・処理ルーチンから移
行する前に、ソフトウェア・リセットが行われる。
割込みが、下記のソフトウェア誤り処理に関して行われ
るように、CPU40と50により行われているオペレ
ーションを完了するために、誤りが検出された時に読取
りオペレーションが行われていたか、いなかったかを確
認する□テストが行われる(ステップ2544)。そう
であれば、省略(dataalt)オペレーションが行
われる(ステップ2546)。省略オペレーションは、
CPUモジュール30へ一貫したデータ、例えばすべて
ゼロなどを送ることより成っており、従って、現在実行
中のオペレーションは、レール・データの分散により、
失敗の危険がなく完了する。
第29図は、DMA誤りから受けるための手順2900
を示す。ハードウェアレベルで行われる一連のオペレー
ション(ステップ2910)は、CPU入出力誤り回復
の連続動作について述べたものと類似している。DMA
誤りに対するハードウェアの応答動作には、システム誤
り割込みの入力、DMA割込みの入力、追跡RAMの固
定、及びDMAの停止がある。
最初に、システム割込内のデータの改悪を防止するため
に、DMAは停止される。システム誤り割込みの入力は
、システムに、完全な回復が誤りから行われるように、
入力処理ルーチンが行われなければならないことを示す
。DMA割込みを入力すると、DMAハンドラをソフト
ウェアへ呼び出して、それ自身のオペレーションの点検
を始める。追跡RAMも、ソフトウェア誤りハンドラが
故障源を局部制限することが出来るように、固定される
DMAが停止しても、残りのシステムは、通常のオペレ
ーションを続行することが出来る。しかし、動作不能な
りMAエンジンは、入出力オペレーションを実行するこ
とが出来ないので、DMAが停止した時にシステムのオ
ペレーションを続けると、さらに他の誤り、例えばバス
の時間切れによるCPU入出力誤りなどが発生する。
DMA誤りへのハードウェアの応答が行われた後、DM
A誤り回復の一連の動作が完了する(ステップ2920
)。その後、DMA故障の処理とDMAオペレーション
の再開がソフトウェアで行われなければならない。CP
U40,50と40′50′により行われるソフトウェ
ア誤り処理スキーマは以下に説明される。
主にハードウェアにより処理される第3のタイプの誤り
は、CPU/MEM故障である。第30図はCPU/M
EM故障誤り処理手順3000を示す。
CPU/MEM故障に関する誤り信号が入力されると、
それらの信号は、診断誤りレジスタ論理879と誤り類
別化論理850を経て、誤りを検出したメモリ制御器に
伝播する。次に、誤り類別論理850は、エンコーダ8
55により、CPU/MEM故障を示す2ビット誤りコ
ードへ符号されたCPU/MEM故障信号を入力する。
2ビット誤りコードが、ANDゲート856を経てクロ
スリンク90と95へ送られる。
CPU/MEM故障(ステップ3010)を入力すると
、システム割込みの入力、故障レベルの増加、システム
故障誤リアドレスレジスタの固定、及び追跡RAM (
ステップ3020)が行われる。
これらは、CPU入出力誤り処理プロセス2500の検
討のなかで前に述べられている。
CPU/MEM故障の検出が完了すると、正確に動じ、
従って誤り回復スキーマのすべてのタイプを行うべき現
在のゾーンの能力が、最善の状態で不確かであるので、
オペレーションを再試行する動きはない。クロスリンク
90と95が、CPU/MEM故障を示す誤りコードを
受けると、直ちにそれ自体をスレーブ・モード(sla
ve mode。
ステップ3025)へ再構成する。ここで、システム1
0は、効率低下デュプレックスまたはマスタ/スレーブ
・モードで動作していると見なされる。
局部ソフトウェア・リセット(ステップ3030)及び
ゾーン・クロック・リセーット(ステップ3040)が
行われ、CPU/MEM故障に関する/1−ドウエア誤
り回復が完了する(ステップ3050)。
2つの状態が生成し、システム誤りレジスタ898内の
2つの対応するビットがセットされる。
最初の状態は、記憶動作中の応答の欠如に相当するNX
M(nonexistent memory、非存在メ
モリ)である。もう1つの誤り状態は、入出力動作中の
応答の欠如に相当するNX I O(nonexist
ent l10device、非存在入出力デバイス)
である。
NXM誤りは、以下に述べるように、ソフトウェアに回
復される。NX I O誤りは、CPU入出力誤りタイ
プに属し、CPU入出カバンドラ・プロセス2500に
従ってハードウェア内で処理される。
NXl0ビツトとNXMビット(参照第9図)は、対応
するNXMとNX I O誤りに関して検出される。N
XMビットが設定されると、DMA800は使用不能に
なり、これにより入出力へのアクセスはシステムによっ
て阻止される。
ハードウェア誤り回復の3つのタイプの各タイプにおい
て、ソフトウェア誤り処理プロセスは、出来るならば誤
りの原因と個所を検出するため、ハードウェア誤り回復
手順の後に使用される。そのほかに、ソフトウェア誤り
処理は、故障がなく、システムが通常の完全デュプレク
ス・モードで再始動出来ることを確認する。一方で、ソ
フトウェア誤り処理中に、モジュールが不良であり、こ
れによりモジュールがマークされることが決定される。
全ハードウェア誤り回復スキーマは、CPU入出力誤り
ハンドラ・プロセス内の一時的故障の後に、システムに
オペレーションを続けさせることにより、誤り回復で浪
費する時間を最小にする。
さらに、誤り処理に当てられたシステム・オーバヘッド
は、CPU/MEM故障からの回復を提供するために試
行しないことにより、最小化される。
CPU/MEM故障から回復するためのシステムIOの
能力は、好適実施例においてシステムの機能を厳しく効
率低下する誤り回復を考慮するために、時間のペナルテ
ィを課する。
2、 ソフトウェア誤り処理と回復 ソフトウェア誤り処理を始めるために、コンピュータシ
ステムIOは、いずれが適正であるとしても、システム
誤り割込みまたはDMA割込み(図示せず)を行わなけ
ればならない。割込みは、システム10に現在のバス・
オペレーションを完成させるために、マシン点検などの
より思い切った手段の代りに使用される。マシン点検に
より、アクションが直ちにとられ、システムをバス・オ
ペレーションの中間で停止することが出来る。ノ)−ド
ウエア誤り処理に関して簡潔に述べたように、省略情報
が、バス・オペレーションを完成するために、生成され
ることが必要である。
システムlOが割込みを受は入れている場合、システム
は、第31図の手順3100などのソフトウェア誤り処
理手順を開始する。コンピュータシステムIOは、変更
可能な与えられたIPL(割込み優先順位)で動作する
。IPLは、割込みが、現在のコンピュータシステム・
オペレーションに割り込むために、入力されなければな
らない優先を指定する。割込みが、コンピュータシステ
ムIOが運転している現在のIPL以下のIPLで生成
されるならば、割込み、は受入れられないであろう。好
適実施例において、システム誤り割込みは最高の優先割
込みである。
ほかの例で行われているように、システム10がロック
ステップ・モードで機能している場合、同様な動作がゾ
ーン11′により行われていること理解した上で、ソフ
トウェア・誤り処理は、ゾーン11の構成機器の動作に
関して一般に説明される。
システム10がシステム誤り割込み(ステップ3110
)を受は入れると、システムlOはソフトウェア・リセ
ットを開始する(ステップ3112)。
次に、システム10は、メモリ制御器70と75、及び
70′と75′内と、クロスリング90と95及び90
′と95′とに配置された各種族りレジスタを読取るこ
とを試みる(ステップ3114)。
メモリ制御器とクロスリンクは、その一部が図示されて
いないが、ソフトウェア誤り処理に使用される情報を格
納する。2つのかような誤りレジスタは、システム故障
誤りレジスタ898とシステム故障誤リアドレス・レジ
スタ865である。これらは、ゾーンのアドレス・スペ
ースに格納されており、各ゾーン毎に同じ情報を備えて
いなければならない。しかし、CPU/MEM故障の場
合、2つのゾーンのシステム故障誤りレジスタは異って
いる。2つのゾーンのレジスタの内容のこの差異は、デ
ータ処理システム20と20′がもはやロックステップ
になく、システム10が効率低下デュプレクスまたはマ
スタ/スレーブ・モードで運行している場合に、許容さ
れるだけである。
従って、誤り分析に使用したレジスタからのデータが一
貫していなければ、□これは検出された誤りまたは間違
い比較があることを意味するが一一貫していない誤りデ
ータを検出するゾーンは、CPTJ/MEM故障を設定
し、第30図に示されたハードウェア誤り回復手順30
00を入力する(ステップ3118)。この状態は、誤
り論理で発生した場合、生成し、この手法は、システム
IOから欠陥構成要素を除去する。
誤り情報が一貫しているならば(ステップ3116)、
ソフトウェア誤り処理は継続し、システム10は故障の
特性を確認して、どの誤りハンドラを採用すべきかを決
定する。誤りのタイプを識別するため、誤りレジスタ、
例えば、メモリ制御器70と75内のシステム故障誤り
レジスタ898とシステム故障誤リアドレスレジスタ8
65、及びクロスリンク90と95 (図示せず)内の
誤りレジスタは分析される。さらに、クロスリンクへの
アクセスは、NXMビットが設定されている間抑制され
てるので、システム故障誤りレジスタのNXM誤リビリ
ビットクロスリング90と95の誤りレジスタをアクセ
スする前に、検査されなければない。
検出された故障がCPU入出力タイプの誤りであったな
らば、CPU入出力誤りハンドラが入力される(ステッ
プ3124)。その故障がCPU/MEM故障であるな
らば、CPU/MEM故障ハンドラが入力される(ステ
ップ3126)。クロック誤りが検出されたならば、ク
ロック誤りハンドラが入力される(ステップ3128)
。NXMが検出されたならば、NXMハンドラが入力さ
れる(ステップ3130)。CPU入出力誤りとCPU
/MEM故障は、ハードウェア誤り処理に関して上述さ
れている。ソフトウェア誤り処理の場合にのみ、CPU
入出力誤りはDMA誤りを有する。NXM誤りは、アク
セスするために探し出されたメモリが存在しないことを
示す。
第32図に示されているように、CPU入出力誤りハン
ドラ3200は、追跡RAM読取りから始まる(ステッ
プ3210)。追跡RAM読取りは必要ではないが、比
較長いプロセスであるのでこの時点で開始する。前章で
明らかにしたように、追跡RAMは、広域誤り信号によ
り固定された。
次に、追跡RAMからのデータは、診断マイクロプロセ
ッサにより追跡バス1095と1096とに読み取られ
、入出カモジュールlOOの局部RAM1060へ読み
込まれる。両方のゾーンの追跡RAMからの追跡RAM
データの完全セットが、ゾーンIIとII′の両方の入
出カモジュールにより収集される。
追跡RAMデータの分析には、追跡RAMサインを調べ
ることが必要である。追跡RAMデータが入出カモジュ
ール100とi00′へ読み取られるにつれて、追跡R
AMサインが、各ゾーンの一連のMビットとして形成さ
れる。Mは、各レールの追跡RAMの数に等しい。追跡
RAMサインの各ビットは、1対の追跡RAMに相当す
る。1対の追跡RAMは、同じ関係位置に配置されてい
る各種レール上の2つの追跡RAMである。例えば、第
27図では、ゾーン11の追跡RAMの対は、追跡RA
 M2700/2705.2718/2728.271
5/2725.2710/2720などである。追跡R
AMサイン内にビットが設定されるならば、l対の追跡
RAMの間に間違い比較が存在している。
次に、誤りステータス・レジスタ898内のNXl0ビ
ツトが調べられる(ステップ3212)。
そのビットがセットされるならば、NXl0は、入出力
への読込みあるいは入出力からの書出しが行われている
間、時間切れを示すが、これが発生する。NXl0がセ
ットされないならば(ステップ3212) 、追跡RA
Mが分析されて、誤りが発生した装置の決定を助ける(
ステップ3214)。
例えば、1対の追跡RA M2700/2705に対応
する追跡RAMサイン・ビットがセットされる。装置は
、ファイヤ・ウオール1000と10IOに対応する入
出カモジュールが誤り源であることを決定することが出
来る。
誤り源である装置が決定された後、システムは、故障装
置の通知を作成する(ステップ3220)。
この通知は、各種族りレジスタ、例えばシステム故障誤
リアドレス・レジスタ865に格納された誤り情報を使
用し、特定の故障装置を識別するために追跡RAMを分
析することにより作成される。
システムが、故障装置を識別すると、誤りが永続的故障
であるか、あるいは断続的故障であるかの決定が行われ
る。故障が永続的かどうかを決定するために、システム
故障誤りレジスタ898の最初の2つのビットが分析さ
れる。
故障が断続的であるならば、明示された装置が故障して
いると見なされるべきか、でないかを決定するために、
故障基準のしきい値化が行われる。
故障率基準しきい値化は、与えられた期間中に故障装置
に発生した断続的誤りの回数を、その装置の所定のしき
い値に比較して行われる。装置の単位時間当りの誤りの
回数が、所定のしきい値より大きい場合(ステップ32
24)、装置は故障していると見なされる。単位時間当
りの誤り回数が、しきい値より大きくないならば(ステ
ップ3224)、ソフトウェア誤り処理の基本機能は完
全であり、二三のステップが行われて、ソフトウェア誤
り処理手順3200を退出させる。
断続的故障の回数が余り多いか、あるいは故障が永続的
である場合、故障装置のハンドラ(ステップ3226.
)が呼び出される。
第33図は、故障装置ハンドラ手順3300を示す。最
初に、適切な故障情報が故障モジュールのEEPROM
 (電気的消去可能プログラマブルROM)に格納され
る(ステップ3310)。かような情報は、対応するモ
ジュールが破壊されているか、または破壊される可能性
があることを示すビットを有する。格納された情報は、
また、あるステータス情報を有することも出来る。
装置の故障による影響を最小にするため、故障装置の仮
想アドレスが、“ブラックホール”と呼ばれる物理アド
レスヘマップされる(3314)。“ブラックホール”
は、システム内の誤りの影響を受けることなく、データ
が送られる装置に実際に対応し、所定の一式のデーター
これはゼロであるが好適であるが−を読取り動作で戻す
物理アドレス空間である。マツピングは、好適実施例に
おいて、システム10の装置に関して、仮想アドレスと
対応システムアドレスのリストを有するシステムアドレ
ス変換表を使用して行われる。
第34図は、好適にメモリ・アレイ600と600′と
に格納されているシステムアドレス変換表3400の例
を示す。
システム変換表3400には、仮想アドレス領域341
Oと物理アドレス領域342oが記載されている。ソフ
トウェアは、装置の仮想アドレスをその物理アドレスへ
翻訳あるいはマツプするために、システムアドレス変換
表3410を使用する。そのほかに、入出力ドライバ・
ルーチンは、対応する人出装置を識別するために、仮想
アドレスを使用する。従って、装置に関してシステムア
ドレス変換表3400を修正すると、入出力装置に仮に
該当する仮想アドレス宛のデータについて最終宛先を効
果的に変更することが出来る。
マツピングが完了した後、故障装置ハンドラの次のステ
ップは、メモリ・アレイ600に格納されているソフト
ウェア表内の装置存在フラッグを消すことである(ステ
ップ3316)。フラッグを消す目的は、故障装置に対
応する装置ドライバへ、装置は故障していると見なされ
ていると、伝えることである。
装置存在フラッグが消された後に、システムは必要な修
理の通知を送る(ステップ3318)。
好適な実施例では、通知はメツセージを修理担当者へ送
る。1つの例では、このメツセージは、モデムを経て、
遠隔地のサービス者へ送られる。
故障装置ハンドラ手順3300の効果は、装置ドライバ
の性能を試験することにょ°す、評価される。第35図
は、装置ドライバの一例を示しており、ドライバーは、
対応する装置により行われる一連の入出力命令を有する
命令の実行可能なブロックである。装置が故障しても、
装置のドライバーは、正常に動作して、入出力命令を実
行し続ける。人出装置アドレス空間は、故障装置の“ブ
ラックホール”ヘマップされるので、命令の継続的実行
は、そのほかに故障を発生しない。装置ドライバーは、
すべて、“存在装置の点検”の命令351Oを有する。
この命令は、存在装置ビットに対応する入出力装置を点
検する。存在装置ビットがクリアされると、その装置は
故障していると見なされて、ドライバは、規則通りの仕
方で自身を使用不能にする。
“存在装置の点検”の命令351oの直前に、クリア・
パイプライン命令352oがある。クリア・パイプライ
ン命令は、即時実施中の命令内の誤りが、パイプライン
の遅れにより落されないように、入出力の命令が、すべ
て、完全であることを保証する。“クリア・パイプライ
ン”命令の一例は、メモリ制御器レジスタからの読取り
である。
装置が故障していると見なされるか、どうかを点検する
前に、一連の命令を実行する能力は、この能力によりす
べのオペレーションの後に点検を行うことを避けること
が出来るので、ソフトウェアのオーバヘッドを保全する
第32図に示されたCPU入出力誤りハンドラは、誤り
を有する装置がしきい値評価(ステップ3224)の後
またはクラッシュ・ダンプ実行(ステップ3232)後
に故障していると見なされないと決定した後、故障装置
ハンドラ3300(ステップ3226)を退去されてか
ら、多くのハウスキーピング・オペレーションを開始す
る。
これらのハウスキーピング・オペレーションは、追跡R
AM及び誤りレジスタのリセット(ステップ3228)
と誤りのロギング(ステップ3230)とより成ってい
る。
第31図のソフトウェア誤り処理の流れに再度関連して
、誤りのタイプがCPU/MEM故障(ステップ312
2)であると決定されたならば、CPU/MEM故障ハ
ンドラが入力される(ステップ3126)。第36図は
、CPU/MEM故障ハンドラの一例を示す。
CPU/MEM故障ハンドラ3600は、CPU/ME
M故障が発生していると決定された場合及びCPUまた
はMEMモジュールの確実な動作を未知の場合のすべて
のケースにおいて、入力される簡単なソフトウェア手順
である。従って、CPU/MEM故障のあるシステムに
関して、確実な誤り処理は僅かしか行われない。CPU
/MEM故障が入力された後、故障しているCPUモジ
ュールは、その内部誤りレジスタ(図示せず)を適切な
EEPROM (ステップ3612)、例えばEEPR
OMI 055へ動かそうとする。CPU/MEM故障
誤り報告の表示が、両方のレールへ伝播する時必ずしも
与えられず、システムは、ハードウェア誤り処理中に可
及的速かに閉鎖されるので、EEPROMI 055へ
動かされた誤りレジスタは、レール固有データを非常に
適切に保有している。
故障CPUモジュールが、誤りレジスタをそのEEPR
OMへ移動させようとした後(ステップ3612) 、
故障CPUモジュールは、直ちに、コンソール・モード
に入り(ステップ3614)、CPU/MEM故障ハン
ドラ3600は完了する(ステップ3616)。
ソフトウェア誤りハンドラ・ルーチンの場合、誤りのタ
イプが、クロック誤りであると決定されると(ステップ
3122) 、クロック誤りハンドラが加えられる(ス
テップ3128)。クロック誤りハンドラの一例が、手
順3700として第37図に示されている。
クロック誤りが発生した場合、誤りが発生した時にはク
ロックは同期されていないので、正確な診断あるいは誤
り分析は行われないと見なされる。
従って、誤りレジスタはクリアされ(ステップ3710
)、追跡RAMは、広域誤り信号の表明を解除すること
により、固定から解かれる(ステップ3716)。クロ
ック誤りを発見したすべてのゾーンは、自身を基本クロ
ックへ合せる(ステップ3718)。
次に、クロック誤りを発見しているゾーンは、ケーブル
が装着されているか、電力がほかのゾーンへ送られてい
るかを確認するために、点検を行う。クロスリンク・ケ
ーブル25が装着されており(ステップ3720)、か
つほかのゾーンが電力を受けていない(ステップ372
5)ならば、クロック誤りは通常の形でロッグされ(ス
テップ3730)、ゾーンは続行する。クロスリンク・
ケーブル25が装着されていないか(ステップ3720
)、あるいは装着されていないがほかのゾーンが電力を
受けているならば(ステップ3725)、ゾーンは、こ
れらの状態の下で動作を続けるように事前に選定された
ゾーンか、どうかを質問する(ステップ3735)。そ
うであれば、クロック誤りはロッグされ(ステップ37
30)、ゾーンは続く。ゾーンが事前に選定されたゾー
ンでなければ(ステップ3735)、ゾーンはコンソー
ル・モードに入る(ステップ3740)。
ソフトウェア誤り処理ルーチンの誤りのタイプが、NX
M誤りであると決定された場合(ステッブ3122)、
NXMハンドラが加えられる(ステップ3130)。N
XM誤りは、NXMビットが第9図に示されたシステム
故障誤りレジスタ898にセットされているならば、検
出される。
システム故障誤リアドレス・レジスタ898内のNXM
ビットは2つの状態にセットされる。1つは、システム
が実行しようとしたイリーガル命令がある場合である。
もう1つは、NXM誤りが、メモリモジュール60から
の応答がないために検出された場合である。
NXM誤り処理の手順3800の例が第38図に示され
ている。NXMハンドラが加えられた後(ステップ31
30)、最初の判断は、イリーガル命令が行われようと
したか、どうかである(ステップ3810)。イリーガ
ル命令があったので、NXMビットがセットされた場合
、コンソール・モードが加えられ(ステップ3812)
、NXMビットの表明が解除され(ステップ3831)
、NXMハンドラが完了する(ステップ3832)。
実際のNXM誤りがあった場合、システム故障誤リアド
レス・レジスタ865は読み取られる(ステップ382
0)。システム故障誤りアドレス・レジスタ865は、
記憶場所のアドレスをメモリ・アレイに格納している。
次のステップは、メモリ・アドレスをメモリ・マツプに
配列された有効記憶場所と比較することである(ステッ
プ3826)。この比較の目的は、ハードウェア誤りを
ソフトウェア誤りと識別することである。
NXM誤りが検出される3つの異なる状況がある。最初
の状況は、システムがブーティングアップ(booti
ng up) L/ており、メモリが、メモリ・アップ
を形成するために、大きさ合せられている状態である。
ブーティング中に、ソフトウェアは、メモリ・アレイ6
00内の有効と無効の記憶場所を調べている。この状況
が誤りを発生することを防止するため、報告もまた、メ
モリ探査中にシステムIPLを高めることにより、ブー
ツ時のメモリ探査の間、使用不能にされる。かようにし
て、NXM誤リハリハンドラえられない。
NXM誤りが検出される第2の状況は、メモリアレイ6
00の特定の部分が、メモリマツプが形成されていた時
に有効であったとしても、メモリ・モジュール60が、
その特定部分を使用不能にしたハードウェア故障を受け
た場合である。例えば、これは、メモリアレイ・カード
の1つが、動作中にシステムから簡単に取り除かれる場
合である。これはハードウェア故障であり、対応するC
PUモジュールの確実な動作を不可能にする。
NXM誤りが発生する第3の状況は、ソフトウェアが無
効なメモリ・アドレスを生成する場合である。この状況
では、ソフトウェアは間違っている。
これらの3つのケースは、現在の状況において区別する
ことが可能である。上述のように、第1状況は、NXM
誤りハンドラを参入させないことにより区別される。次
の2つの状況は、NXM誤りが有効な記憶場所とメモリ
マツプで検出された時に、メモリアドレスを点検するこ
とによって区別される(ステップ3826)。明らかな
ように、ゾーンのメモリモジュールがハードウェア故障
を受け、さらに現在の記憶場所がマツプ内の有効な場所
であるが、ある理由ですでに有効でない場合、CPU/
MEM故障は強制される(ステップ3828)。
このようにして、CPU/MEM故障により、ハードウ
ェア誤り処理ルーチンが、効率低下デュブレクスあるい
はマスク/スレーブ・モードにおいて動作を続行するた
めに、システムを再構成することが出来るので、現在実
行中の作業は引続いて実行される。
しかし、現在の記憶場所が無効な場所であり、有効なメ
モリマツプに存在しないことが確認されたならば、シス
テムは、ソフトウェアは間違っており、衝撃ダンプと誤
りログは行わなければならないと決定する(ステップ3
830)。これら2つのケースが行われた後に(ステッ
プ3828と3830)、NXMビットは表明が解除さ
れ(ステップ2931)、次にNXM誤リハリハンドラ
場させられる(ステップ3832)。NXMビットの表
明が解除された後、入出力装置へのアクセスは、上述の
ように行われる。
3つのタイプの各ハードウェア誤り回復において、ソフ
トウェア処理プロセスは、誤りの原因または場所を検出
するハードウェア誤り回復手順の後に、可能ならば使用
される。そのほかに、ソフトウェア誤り処理は、故障が
ないこと、及びシステムは、通常の完全デコプレクス・
モードにおいて再始動出来ることとを決定する。一方で
、ソフトウェア誤り処理の間に、モジュールが不良であ
り、従ってモジュールは、マークされることが決定され
る。
要約すると、割込みサイクルがシステム10により達成
される時にのみ、システムIOがソフトウェア誤り回復
を行うことが出来るようにすることにより、誤りが検出
された時に実行中゛のオペレーションへのインパクトは
、最小になる。ハードウェア誤り回復は、誤り処理の通
常実行データ処理命令への透明伝送機構を容易にする。
入出力装置を“ブラックホール”ヘマッピングし、それ
によって、装置のドライバーに、誤り点検前に多くの入
出力命令を完了せしめることにより、最初の誤り検出後
に誤りがほかに検出されないならば、入出力オペレーシ
ョンは正確に行われ、不適切に割り込まれないことを保
証するために必要なオーバヘッドを最小にする。
3、 レールの固有データからシステム・データへの変
換 故障許容計算システムにおける誤り処理のある条件の下
で、データは生成され、ゾーン11または11’の単一
レールに固有のものである。本発明の好適実施例におい
て、レール固有データは、CPU/MEM故障の後に、
診断誤りレジスタ880に格納される。しかし、レール
固有データは、診断レジスタ880に制約されない。診
断誤り分析中に、レール固有データは、試験中のレジス
タにより、多くの場所で生成する。
データ処理装置20または20’が、レール固有データ
を1つの場所からほかへ移動しようとするか、あるいは
、何かの方法で使用しようとする場合、通常の誤り検出
回路、例えば、データ比較1000及び1000’は、
各レールのデータは同一でないので、誤りの信号を送る
。従って、転送中に誤りの発生を防止するため機構が必
要とされる。
さらに、レール固有データが、ゾーンに共用のデータに
変換された場合、ゾーン11と11’のデータの間に不
一致があるので、固有データは故障許容システムにより
未だ使用出来る状態ではない。このデータを分析するた
め、各データ処理装置20と20′に存在するデータの
1つの一貫性のあるコピーがあるように、データはさら
にシステムデータへ変換されなければならない。このデ
ータ変換は、ロックステップ同期化状態で運転中の4つ
のCPU40.50.40’、50’と共に行わなけれ
ばならない。
レール固有データからゾーン固有データへの変換は、同
じ手順がゾーン11’のデータ処理装置20’により行
われることを理解した上で、実例説明のために、ゾーン
11とデータ処理装置20に関して説明する。
第39図に図示されているように、レール固有データか
らシステムデータへの変換手順の本発明の好適実施例に
おいて、コンピュータシステム10のIPL(割込み優
先順位)は、間違い比較の誤りによって、ソフトウェア
誤り処理ルーチンが行われるレベルよりも高められる(
ステップ3910)。
このIPLにおいて、コンピュータシステムlOは、シ
ステム誤り割込みレベルより高い優先レベルを有する割
込みを受は入れるだけである。
誤り報告システムは、また、メモリ制御器70と75に
おいて使用不能にされる(ステップ3912)。
メモリ制御器70と75内の誤り報告は、誤り使用不能
ビット878を、ANDゲート856への入力であるメ
モリ制御器ステータス・レジスタにセットすることによ
って、使用不能になる。
特定のレジスタからのレール固有データは、これは、例
えば、診断誤りレジスタ880からのデータであるが、
対応するメモリ制御器70と75のそれぞれにある診断
誤りレジスタから、作業用メモリ(scratch p
ad memory) 45と55へ移動される(ステ
ップ3914)。作業用メモリ45と55は、メモリ制
御器70と75の“上位”に位置しており、従ってすべ
ての誤すチェ’7カーを通過しない。
作業用メモリ45と55内のこのデータは、メモリモジ
ュール60へ移動する。最初に、書込みオペレーション
が行われ、これで、作業用メモリ45と55のデータは
、メモリモジュール60へ最初の場所に書き込まれる(
ステップ3916)。
システム省略再構成は、データを、主レールからメモリ
モジュール60のアドレスされた記憶場所へ書き込む。
最初の記憶場所へのこの書込み動作により、作業用メモ
リ45からメモリモジュール60へ読み込まれるデータ
が生成する。
対称の作業用メモリ55からのデータは、2の動作を必
要とするメモリモジュールへ書き込まれる。最初に、メ
モリ制御器75内のメモリ・バス変換が可能とならなけ
ればならず、メモリ制御器70内のその変換は、使用不
能にならなければならない(ステップ3918)。これ
は、対称バス・ドライバ・使用可能ビット879をメモ
リ制御器ステータス・レジスタ876にセットすること
により、達成される。次に、メモリモジュール60は、
対称メモリ制御器75からのデータに関してFCCを選
択することを指令される(ステップ3920)。
次に、もう1つの書込み動作が実行され、作業用メモリ
45と55のデータは、作業用メモリ45と55とから
最初に書き込まれた場所(ステップ3916)と異なる
第2の記憶場所へ書き込まれる(ステップ3922)。
対称レールは、書込み動作のデータ源と選定されている
ので、第2の記憶場所へのこの書込み動作により、作業
用メモリ55からのデータは、メモリモジュール60内
の第2の記憶場所へ書き込まれる(ステップ3918と
ステップ3920)。
この一連のオペレーションによって、レール固有データ
はゾーン固有データへ変換する。ゾーンilの各レール
に位置するレジスタからのデータは、現在では、メモリ
モジュール60内にあって、間違い比較を起すこともな
く、データ処理装置20により使用される。ここで、こ
れらのゾーンは、前に使用した作業用メモリ45と55
内の特定の場所をクリアしくステップ3924) 、メ
モリモジュールの主レールを選定しくステップ3926
)、対称バス・ドライバ使用可能ビット879を再セッ
トしてメモリ制御器75内の対称レール・バス・ドライ
バーを選定から解除しくステップ3928)、該当する
誤りと診断のレジスタをクリアしくステップ3930)
、ソフトウェアをメモリ制御器70と75とに再セット
(ステップ3932)などの一連の操作を行うことより
、その正常な状態にセットされて戻される。
[’Lが、システムが割込みを受は入られるレベルに復
帰した後(ステップ3934)、システム10は、各メ
モリモジュール60と60′内の2つのアドレスに格納
されたゾーン固有データを、全システムにより使用可能
なデータへ変換する。
ゾーン固有データをシステムデータへ変換するために、
通信レジスタ906が利用される。通信レジスタ906
は、ゾーンの間で変換されるべき固有データを保持する
ために使用される。前述のように、書込み用通信レジス
タのアドレスは、ゾーン・アドレス空間内にある。かよ
うにして、ロックステップ動作の間、両方のゾーンは、
通信レジスタを各ゾーンに同時に書き込むことが出来る
しかし、読取り用の通信レジスタ906のアドレスは、
システム・アドレスの空間にある。このように、ロック
ステップ動作中の2つのゾーンは、通信レジスタを使用
して、ゾーン固有データを同時に読むことが出来る。
ゾーン固有データをシステムデータへ変換する方法は、
第40図の手順4000に示されている。
最初に、両方のデータ処理装置20と20′は、希望の
場所を各メモリモジュールから各通信レジスタへ書き込
む(ステップ4010)。次に、両方のデータ処理装置
は、そのデータを通信レジスタ906からメモリモジュ
ール60と60′へ書き込む(ステップ4020)。そ
れから、両方のデータ処理装置20は、そのデータを通
信レジスタ906′からメモリモジュール60と60′
へ書き込む(ステップ4030)。ここで、すべてのゾ
ーンは、同一データを有する。
レール固有データの場合のように、異なるデータを有す
る複数のメモリモジュール・ロケーションがある場合、
手順4000が、各ロケーションについて繰り返される
【図面の簡単な説明】
第1図は、本発明を実施する故障許容コンピュータ・シ
ステムの好適な実施例のブロック図である。 第2図は、第1図の故障許容コンピュータ・システムを
有する物理的ハードウェアを示す。 第3図は、第1図の故障許容コンピュータ・システムに
示すCPUモジュールのブロック図である。 第4図は、第1図に示すコンピュータ・システムの相互
に接続されたCPUモジュールとI10モジュールのブ
ロック図を示す。 第5図は、第1図に示す故障許容コンピュータ・システ
ムのメモリ・モジュールのブロック図を示す。 第6図は、第5図に示すメモリ・モジュールの制御ロジ
ックの構成要素の詳細図である。 第7図は、第3図に示すCPUモジュールのプライマリ
・メモリ制御装置の部分ブロック図を示す。 第8図は、第3図のCPUモジュールのプライマリ・メ
モリ制御装置のDMAエンジンのらブロック図である。 第9図は、第3図のCPUモジュールのプライマリ・メ
モリ制御装置のエラー処理回路図である。 第10図は、第3図に示すCPUモジュールのクロスリ
ンクの幾つかのレジスタの図である。 第11図は、第3図に示すCPUモジュールのクロスリ
ンクに制御信号を流す構成要素のブロック図である。 第12図は、第3図に示すCPUモジュールのプライマ
リ・クロスリンクにデータとアドレス信号を流す構成要
素のブロック図である。 第13図は、第3図に示すCPUモジュールのクロスリ
ンクの状態を示す状態図である。 第14図は、第1図の故障許容コンピュータ・システム
のタイミング・システムのブロック図である。 第15図は、第14図のタイミング・システムによって
発生されるクロック信号のタイミング図である。 第16図は、第14図に示すタイミング・システムの位
相検出器の詳細図である。 第17図は、第1図のコンピュータ・システムのI10
モジュールのブロック図である。 第18図は、第17図に示すI10モジュールのファイ
ヤウオールの構成要素のブロック図である。 第19図は、第1図のコンピュータ・システムのクロス
リンク経路の構成要素の詳細図である。 第20A図ないし第20E図は第1図のコンピュータ・
システムのデータ・フロー図である。 第21図は、リセット信号の流れを示すゾーン20のブ
ロック図である。 第22図は、第3図に示すCPUモジュールのリセット
に含まれる構成要素のブロック図である。 第23図は、クロック・リセット回路の図である。 第24図は、第1図のコンピュータ・システムの全ハー
ドウェア誤り処理手順を示す流れ図であプロセス内のC
PU入出力誤り処理手順の流れ図である。 第26図は、第1図のコンピュータシステムの誤り処理
手順に使用された誤り回線と各種構成要素を示す構成図
である。 第27図は、第1図のコンピュータシステム内の追跡R
AMの位置を示す構成図である。 第28図は、第1図のコンピュータシステムの追跡RA
Mの構成図である。 第29図は、第24図の全ハードウェア誤り処理手順内
DMA誤りらの回復手順を示す流れ図である。 第30図は、第24図のプロセス内CPU/MEM故障
の処理手順を示す流れ図である。 第31図は、第1図のコンピュータシステムの全ソフト
ウェア誤り処理手順を示す流れ図である。 第32図は、第31図のCPU入出力誤りハンドラを示
す流れ図である。 第33図は、第32図の故障装置ハンドラを示す流れ図
である。 第34図は、第1図のコンピュータシステムに使用され
たシステム・アドレス変換表の説明図である。 第35図は、第1図のコンピュータシステムに使用され
た装置ドライバーの例の説明図である。 第36図は、第31図のCPU/MEM故障ホルダーの
流れ図である。 第37図は、第31図のクロック誤りハンドラの流れ図
である。 第38図は、第31図のNXM誤リハリハンドラれ図で
ある。 第39図は、第1図のコンピュータシステムのレール固
有データからゾーンデータへの変換手順を示す流れ図で
ある。 第40図は、ゾーンデータからシステムデータへの移動
手順の流れ図である。 DMA誤り

Claims (7)

    【特許請求の範囲】
  1. (1)一連の指示の実行と、外部要素との通信を可能と
    するプロセッサにおいて、指示、あるいはプロセッサに
    より引き起こされるフォールトを処理する方法であって
    、 フォールトの存在を検出し、 抑制機構に対してプロセッサが外部要素と通信すること
    を妨げるのを可能とし、 プロセッサの縮小運転により引き起こされたフォールト
    であるのか、指示の特別な実行により発生された誤動作
    によるフォールトであるのかを決定し、 もしフォールトの原因が、指示の特別な実行により発生
    された誤動作と判断される場合にのみ、プロセッサが外
    部要素と通信することを許可するため、抑制機構をディ
    スエイブルし、もしフォールトの原因が、指示の特別な
    実行により発生された誤動作であると判断することがで
    きない場合には、抑制機構を保持するという、プロセッ
    サにより実行される段階を備えることを特徴とする処理
    方法。
  2. (2)請求項(1)記載の処理方法において、フォール
    トが、抑制機構をディスエイブルしないようにする段階
    は、 エラーとして、抑制機構をディスエイブルするための試
    みを検出する、二次段階を備える処理方法。
  3. (3)請求項(1)記載の処理方法において、プロッセ
    サは、対をなす要素のセット、及び、要素の対を成すデ
    ータが異なるときにエラーの存在を示すためのエラー検
    出機構を備え、そして、フォールトが抑制機構をディス
    エイブルしないようにする段階は、 対をなす要素のセットの間の該比較として、抑制機構を
    ディスエイブルするための試みを検出する、二次段階を
    備える処理方法。
  4. (4)一連の指示を実行し、外部要素と通信することを
    可能とするプロセッサにおいて、所望のメモリロケイシ
    ョンが存在しないことを示すフォールトを処理する方法
    であって、 非存在フォールトの存在を検出し、 もし非存在メモリフォールトが検出されたなら、抑制機
    構に対してプロセッサが外部要素と通信することを妨げ
    るのを可能とし、 プロセッサの縮小運転により引き起こされた非存在メモ
    リフォールトであるのか、指示の特別な実行により発生
    された誤動作による非存在メモリフォールトであるのか
    を決定し、 もしフォールトの原因が、指示の特別な実行により発生
    された誤動作だけであると判断される場合にのみ、プロ
    セッサが外部要素と通信することを許可するため、抑制
    機構をディスエイブルし、 もしフォールトの原因が、指示の特別な実行により発生
    された誤動作であると判断することができない場合には
    、抑制機構を保持するという、プロッセサによって実行
    される段階を備えることを特徴とする処理方法。
  5. (5)請求項(4)記載の処理方法において、抑制機構
    に、プロセッサが外部要素と通信するのを防ぐことを可
    能とする、二次段階を含む処理方法。
  6. (6)請求項(4)記載の処理方法において、抑制機構
    を保持する段階は、もしプロセッサの縮小運転のせいな
    らば、フォールトが抑制機構をディスエイブルしないよ
    うにする二次段階を備える処理方法。
  7. (7)請求項(4)記載の処理方法において、プロッセ
    サは、対をなす要素のセット、及び、要素の対を成すデ
    ータが異なるときにエラーの存在を示すためのエラー検
    出機構とを備え、そして、フォールトが抑制機構をディ
    スエイブルしないようにする段階は、 対をなす要素のセットの間の該比較として、抑制機構を
    ディスエイブルするための試みを検出する、二次段階を
    備える処理方法。
JP2203806A 1989-08-01 1990-07-31 非存在メモリエラー処理の方法 Pending JPH03184155A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38773689A 1989-08-01 1989-08-01
US387736 1989-08-01

Publications (1)

Publication Number Publication Date
JPH03184155A true JPH03184155A (ja) 1991-08-12

Family

ID=23531175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2203806A Pending JPH03184155A (ja) 1989-08-01 1990-07-31 非存在メモリエラー処理の方法

Country Status (3)

Country Link
EP (1) EP0415547A3 (ja)
JP (1) JPH03184155A (ja)
CA (1) CA2022215A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260291A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd エラー通知方法及び情報処理装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004038596A1 (de) * 2004-08-06 2006-02-23 Robert Bosch Gmbh Verfahren zur Fehlerregistrierung und entsprechendes Register
US11119909B2 (en) * 2018-12-11 2021-09-14 Texas Instmments Incorporated Method and system for in-line ECC protection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3479650A (en) * 1966-06-30 1969-11-18 Rca Corp Memory driver monitoring circuit
JPS59132050A (ja) * 1983-01-17 1984-07-30 Meidensha Electric Mfg Co Ltd マイコンシステム等における誤出力防止回路
CA1320276C (en) * 1987-09-04 1993-07-13 William F. Bruckert Dual rail processors with error checking on i/o reads

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260291A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd エラー通知方法及び情報処理装置
JP4555713B2 (ja) * 2005-03-17 2010-10-06 富士通株式会社 エラー通知方法及び情報処理装置

Also Published As

Publication number Publication date
CA2022215A1 (en) 1991-02-02
EP0415547A3 (en) 1993-03-24
EP0415547A2 (en) 1991-03-06

Similar Documents

Publication Publication Date Title
US5153881A (en) Method of handling errors in software
US5291494A (en) Method of handling errors in software
US5251227A (en) Targeted resets in a data processor including a trace memory to store transactions
US5068851A (en) Apparatus and method for documenting faults in computing modules
US5185877A (en) Protocol for transfer of DMA data
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
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
US5099485A (en) Fault tolerant computer systems with fault isolation and repair
US4916704A (en) Interface of non-fault tolerant components to fault tolerant system
US5249187A (en) Dual rail processors with error checking on I/O reads
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
US5065312A (en) Method of converting unique data to system data
US5048022A (en) Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
US5163138A (en) Protocol for read write transfers via switching logic by transmitting and retransmitting an address
EP0411805B1 (en) Bulk memory transfer during resync
JP3069585B2 (ja) データ処理装置における目標指定リセット法
JPH03184155A (ja) 非存在メモリエラー処理の方法