JPH03184131A - コンピューティングモジュールにおける故障を記録する装置および方法 - Google Patents

コンピューティングモジュールにおける故障を記録する装置および方法

Info

Publication number
JPH03184131A
JPH03184131A JP2203803A JP20380390A JPH03184131A JP H03184131 A JPH03184131 A JP H03184131A JP 2203803 A JP2203803 A JP 2203803A JP 20380390 A JP20380390 A JP 20380390A JP H03184131 A JPH03184131 A JP H03184131A
Authority
JP
Japan
Prior art keywords
module
fault
diagnostic
memory
data
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
JP2203803A
Other languages
English (en)
Inventor
William Bruckert
ウィリアム ブルッカート
Thomas D Bissett
トーマス ディー ビセット
David Kovalcin
ディヴィッド コヴァルシン
Ravi Nene
ラヴィ ネネ
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 JPH03184131A publication Critical patent/JPH03184131A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/2273Test methods
    • 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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はデータ処理システムのコンピユーテイングモ
ジュールの動作をテストする方法に関し、特に二重ゾー
ン耐故障性データ処理システムのテストの方法に関する
〔従来の技術] データ処理システムのコンピユーテイングモジュールの
完全性は、システム動作の以前および途中のいずれにお
いてもテストすることができる。
−Sに、システム動作の途中で検出されたモジュール故
障は、作業現場では容易に修正することのできないモジ
ュールにおける誤動作を示すものである。このようなモ
ジュールは使用をやめ、除外後は、これらを修理するま
ではこれらのモジュールを利用できないことを確実に対
策を取ることが望ましい。
/′1・ 対象的に、システム動作の以前にデータ処理システムの
テストの途中で検出された故障は、現場で修正可能であ
る。例えば、システムの冒頭のスタートアップの途中或
いはシステムに対するサービスの後に検出された故障は
、コンピユーテイングモジュールの設置法が間違ってい
る場合がある。
このような場合は、単に設置法の誤りを直すだけで故障
を容易に直すことができる。コンピユーテイングモジュ
ール自体は正しく機能している場合にこのモジュールが
故障していると宣するのはリソースを充分に活用してい
ないというべきである。
〔発明が解決しようとする課題〕
したがって、現場で修理可能な故障と現場で修理不可能
な故障との区別するようにモジュールについての故障情
報を記録する方法を備えることが望ましい。
また、予備動作的診断テストの途中に検出された故障の
記録とシステム動作の途中に検出された故障との区別を
する方法を備えることが望ましい。
この発明の他の効果は以下の説明においてその一部が明
示され、別の一部はその説明から明らかであるか或いは
本発明の実施によって知ることができる。本発明の効果
は、添付の特許請求の範囲において示す手段と組合せに
よって実現、達成することができる。
〔課題を解決するための手段〕
本発明は、データ処理システムにおいて用いるモジュー
ルの動作のテストの方法を提供することによって、従来
の技術における問題点および欠点を克服する。この方法
は、モジュールにおける故障の有無を判定するためにモ
ジュール上で自動化された第1レベル手続きを実行する
段階と、この第ルベル手続きの途中で故障を検出した場
合に検出された故障が現場で訂正可能なものであること
を示す第1レベル故障情報を自動的にモジュールに格納
する段階と、モジュールにおける故障の有無を判定する
ためにモジュール上で自動化された第2レベル手続きを
実行する段階と、この第2レベル手続きの途中で故障を
検出した場合に検出された故障が現場で訂正不可能なも
のであることを示す第2レベル故障情報を自動的にモジ
ュールに格納する段階とを含む。
また、本発明は、データ処理システムにおいて用いられ
るモジュールにも向けられている。そのようなモジュー
ルは、モジュールにおける故障の有無を判定するために
モジュール上で自動化されt9第ルベルテスト手続きを
実行するための手段と、第ルベル手続きの途中で故障を
検出した場合に故障が現場で訂正可能なものであるかど
うかを示す第1レベル故障情報を格納するための第1記
憶手段と、モジュールにおける故障の有無を判定するた
めにデータ処理手段によってモジュール上で遂行される
自動化された第2レベル手続きに応答するための手段と
、第2レベル手続きの途中で故障を検出した場合に検出
された故障が現場で訂正不可能なものであることを示す
第2レベル故障情報を格納するための第2記憶手段とを
含む。
(実施例) 本発明の好適な実施例を詳細に参照するが、この実施例
の具体例は添付図に示されている。
A、システムの説明 第1図は本発明による故障許容コンピュータ・システム
10のブロック図である。この故障許容コンピュータ・
システム10はゾーンと呼ぶ重複システムを有している
。通常のモードの場合、2つのゾーン11と11′が同
時に動作している。
この重複によって、1つのポイントで故障が発生するこ
とがなく、ゾーン11または11′の1つにエラーまた
は故障が発生しても、これによってコンピュータ・シス
テム10が動作不能にならないことが保証される。さら
に、こうした故障は、これを発生させた装置または構成
要素を動作不能にするまたは無視することによって取り
除くことができる。第1図に禾すシー711と11′は
、それぞれ重複処理システム20と20′を有している
。しかし、これらが重複して設けられていることによっ
て、処理システム以上のことを行うことができる。
第2図は、故障許容コンピュータ・システムlOの物理
的ハードウェアを示し、システムが重複して設けられて
いることを図によって示す。各ゾーン11と11′は、
別のキャビネット11と12′にそれぞれ内蔵されてい
る。キャビネット12は、バッテリ13、電源調整装置
14、冷却ファン16およびAC人力17を有する。キ
ャビネット12’はキャビネット12の構成要素13.
14.16および17に対応する別の構成要素を有する
以下で詳細に説明するように、処理システム20および
20′は背面板によって相互に接続された幾つかのモジ
ュールを有する。もし1つのモジュールに故障またはエ
ラーがあれば、このモジュールは、コンピュータ・シス
テム10を動作不能にすることなく、取り外して取り替
えることができる。これは、処理システム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つの■/○装置のみしかア
クセスすることができない。しかし、4つのCPU40
.50.40′および50′は全て実質的に同じ時間に
同じデータをこのI10装置から受は取る。以下の議論
では、これらの処理システムのロックステップ同期とは
、1つのI10モジュールのみがアクセスされているこ
とを意味すると理解できる。
重複して設けられた処理システム20および20′の同
期は、各システムを決定性を有する機械として取り扱う
ことによって実行され、この場合、これらのシステムは
、同じ入力を受けて同じ既知の状態でスタートし、常に
同じ機械状態に入り、エラーのない場合には、同じ結果
を発生する。
処理システム20と20’は同じ槽底を有し、同じ入力
を受取、従って、同じ状態を通過する。従って、両方の
処理装置が同期して動作する限り、これらは同じ結果を
発生すると共に同じ状態に入る。もしこれらの処理シス
テムが同じ状態でなく、または異なった結果を発生すれ
ば、これらの処理システム20と20’の一方が故障し
ていると考えられる。そこで修正動作を行うためには、
故障しているモジュールを動作不能にする等して故障の
原因を取り除かなければならない。
エラーの検出は、−船釣に別の処理時間または論理の形
でのオーバヘッドを含む。このようなオーバヘッドを最
小にするため、システムは故障許容動作と調和しながら
、エラー・チエツクをできるだけ少ない回数行わなけれ
ばならない。少なくとも、エラーのチエツクはデータが
CPU30と30’から出力される前に行われなければ
ならない。そうでなければ、内部処理のエラーによって
、原子炉のような外部システムに正しくない動作が発生
するが、これは故障許容システムの設計によって防止し
ようとしている状態である。
これ以外にエラーのチエツクを行う理由が存在する。例
えば、故障またはエラーを除去するためには、記憶また
は使用する前に、CPUモジュール30および30’の
受は取ったデータをチエツクすることが望ましい。そう
でなければ、記憶されているエラーのあるデータが後が
アクセスされ、その結果、別のエラーが発生すると、特
にこのエラーのあるデータが一定期間記憶された場合に
は、これらのエラーの最初の原因を見出だすことが困難
または不可能になる。時間が経過することとこれらのエ
ラーのあるデータがその後処理されることによって、エ
ラーの原因を追跡することができなくなる可能性がある
検出される前にエラーが記憶されていた時間を指す「エ
ラーの潜伏時間」によって、同様に後で問題が発生する
可能性がある。例えば、コンピュータシステムが以前に
発生したエラーによって小さくなったキャパシティで既
に動作している場合に、滅多に使わないルーチンによっ
て潜在するエラーの見付かる場合がある。コンピュータ
のキャパシティが減少している場合、潜在するエラーに
よってシステムが破壊される場合がある。
更に、処理システム20および20′がデュアル・レー
ル・システムになっている場合、データをメモリのよう
な共有の資源である1つのレール・システムに転送する
のに先立って、エラーをチエツクすることが望ましい。
この理由は、このような転送を行った後には最早2つの
独立するデータのソースが存在しないためであり、もし
シングル・レール・システムで後になって何らかのエラ
ーが検出された場合、このエラーを追跡することは、不
可能でないにしても困難になる。
エラー処理の好適な方法が、これと同じ日に出願された
弁理士ドケットNo、 P D 89−289 /DE
C−344の発明の名称「ソフトウェアによるエラーの
処理」という出願で説明され、これは参考としてここに
引用されている。
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からアドレス信号、制御信号、タ
イミング信号およびECC信号を受は取る。バス80お
よび82のアドレス信号は、ボード信号、バンク信号、
および行アドレス信号と列アドレス信号を含み、これら
によってデータ転送に含まれるメモリ・ボード・アドレ
ス、バンク・アドレス、および行および列アドレスが識
別される。
第5図に示すように、各メモリ・モジュール60はメモ
リ・アレイ600を有する。各メモリ・アレイ600は
DRAMが8バンクのメモリに組織されている標準RA
Mである。好適な実施例の場合、高速ページ・モード型
のDRAMが使用される。
メモリ・モジュール60には、また制御ロジック610
、データ・トランシーバ/レジスタ620、メモリ・ド
ライバ630、およびEEPROM640が含まれる。
データ・トランシーバ/レジスタ620によってメモリ
・アレイ600とデータ・バス85の双方向データ線と
の間でデータを転送するためのデータ・バスとデータ・
インターフェースが設けられる。メモリ・ドライバ63
0は、制御ロジック610からメモリ・アレイ600の
各バンクに対して行および列アドレス信号と制御信号を
分配し、ロングワードのデータとその対応するECC信
号をメモリ・ボード信号とバンク・アドレス信号によっ
て選択されたメモリ・バンクに対して転送すると共にこ
れらがそこから転送されることを可能にする。
いずれのタイプの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組
のECC信号を転送すると共にここからこれを受は取る
。指示装置612のトランシーバ/レジスタによって、
これらの信号をバス80と82との間で授受するバッフ
ァとインターフェースが設けられる。ステータス・レジ
スタ618に記憶されているプライマリ/ミラー・マル
チプレクサのビットによって、メモリ制御装置70と7
5のいずれがプライマリ・メモリ制御装置として指定さ
れ、いずれがミラー・メモリ制御装置として指定されか
が指示され、プライマリ/ミラー・マルチプレクサ信号
がステータス・レジスタ618から指示装置612に加
えられる。
プライマリ/ミラー指示装置612よって、制御ロジッ
ク610に分配する2組の信号が与えられる。1組の信
号は指定されたプライマリ−・メモリ・ボード・アドレ
ス、バンク・アドレス、行および列アドレス、サイクル
・タイプ、サイクル・タイミングおよびEEC信号を含
む。他方の組の信号は、指定されたごラー・メモリ・ボ
ード・アドレス信号、バンク・アドレス信号、列および
行アドレス信号、サイクル・タイプ信号、サイクル・タ
イミング信号、およびEEC信号を含む。
プライマリ/ミラー・マルチプレクサ信号は、バス80
と82の信号がそれぞれ指定されたプライマリ信号を搬
送する線および指定されたミラー信号を搬送する線に向
けられるか、またはその逆であるかを選択するために指
示装置612によって使用される。
バス80と82には多数の時間分周多重化双方向線が含
まれている。メモリ転送サイクル、ステータス・レジス
タ転送サイクル、およびEEFROM転送サイクルの開
始後一定の時間に、データ・バス75のデータに対応す
るECC信号がこれらの時間分周多重化双方向線に載置
される。もしこの転送サイクルが書き込みサイクルであ
れば、メモリモジュール60はメモリ制御装置からデー
タとECC信号を受は取る。もしこの転送サイクルが読
み出しサイクルであれば、メモリ・モジュール60はデ
ータとECC信号をメモリ・モジュールに転送する。転
送サイクルの他の時間に、アドレス信号、制御信号およ
びタイミング信号は時間分周多重化双方向線でメモリ・
モジュール60によって受は取られる。メモリ転送サイ
クル、ステータス・レジスタ転送サイクル、およびEE
FROM転送サイクルの始めに、メモリ制御装置70と
75がメモリ・ボード・アドレス、バンク・アドレス、
およびサイクル・タイプ信号をこれらの時間共有線で各
メモリ・モジュール60に転送することが望ましい。
行アドレス信号と列アドレス信号は同じ転送サイクル中
に同し行および列アドレス線で多重化されることが望ま
しい。先ず、行アドレスがメモリ制御装置によってメモ
リ・モジュール60に加えられ、約60ナノ秒後に列ア
ドレスが加えられる。
シーケンサ−616は、システム・クロック信号とリセ
ット信号をCPUモジュール30から入力として受は取
り、指定されたプライマリ−・サイクル・タイミング信
号、指定されたプライマリ−・サイクル・タイプ信号、
指定されたミラー・サイクル・タイミング信号、および
指定されたくラー・サイクル・タイプ信号を指定装置6
12のトランシーバ/レジスタから受は取る。
シーケンサ616は、種々のタイプのサイクルを実行す
るために必要な多数の制御およびシーケンス・タイミン
グ信号を発生し、これらをメモリ・モジュールに対して
分配する関連したステアリング(steering) 
論理を有するリング・カウンタである。制御およびシー
ケンス・タイミング信号は、システム・クロック信号、
指定されたプライマリ−・サイクル・タイミング信号、
および指定されたプライマリ−・サイクル・タイプ信号
から発生される。
シーケンサ616は、またシステム・クロック信号、指
定された旦う−・サイクル・タイミング信号、および指
定されたミラー・サイクル・タイプ信号から重複した組
のシーケンス・タイミング信号を発生する。これらの重
複したシーケンス・タイミング信号は、エラーのチック
のために使用される。高速ページモードで多重のロング
ワードのデータをメモリ・モジュール6αとの間で授受
するためには、各組の列アドレスは第1の組でスタート
し、12727ナノ次の列アドレス120がこれに続き
、各々のロングワードのデータは前のロングワードのデ
ータの後で120ナノ秒遅れてバス85を横切って移動
される。
シーケンサ616は、またt x / r xレジスタ
制御信号を発生する。t x / r xレジスタ制御
信号は、トランシーバ/レジスタ620の動作と指定装
置612のトランシーバ/レジスタを制御するために発
生される。データの流れの方向は、シーケンサ616の
ステアリングロジックによって決定され、このシーケン
サ616はt x / r x制御信号とシーケンス・
タイミング信号を発生することによって、指定されたプ
ライマリ−・サイクル・タイプ信号に応答し、データと
ECC信号がメモリ・モジュール60のトランシーバ/
レジスタに対して書き込まれるべきであるかまたはここ
から読み出されるべきであるか、およびそれらが何時行
われるべきであるかを示す。メモリ書き込みサイクル中
、ステータス・レジスタ書き込みサイクル中、および書
き込みサイクル中、データおよびECC信号はバス80
,82、および85からトランシーバ/レジスタにラッ
チされ、一方メモリ読み出しサイクル中、ステータス・
レジスタ読み出しサイクル中、およびEEPROM読み
出しサイクル中、データおよびECC信号は、メモリ・
アレイ600、ステータス・レジスタ61B、またはE
EPROM640からトランシーバ/レジスタにラッチ
されて、CPUモジュール30に出力される。
1、シーケンサ616は、またEEPROM制御信号を
発生して、EEPROM640の動作を制御する。
メモリ・モジュール60に存在するタイミング関係はシ
ステム・クロック信号の立ち上がり時間を参考にして決
められるが、このシステム・クロック信号は30ナノ秒
の間隔を有している。全てのステータス・レジスタ読み
出しおよび書き込みサイクルと1つのロングワードの全
てのメモリ読み出しおよび書き込みサイクルは、10シ
ステム・クロックの時間内、すなわち300ナノ秒内に
実行される。メモリ読み出しおよび書き込み転送サイク
ルは、多重化されたロングワードの転送によって構成さ
れることができる。別のロングワードが転送される毎に
、メモリ転送サイクルは4システム・クロックの期間だ
けさらに延長される。
メモリ・リフレッシュ・サイクルとEEPROM書き込
みサイクルを実行するには少なくとも12システム・ク
ロックの間隔が必要であり、EEPROM読み出しサイ
クルは、少なくとも2oシステム・クロックの間隔を必
要とする。
指定されたプライマリ・サイクル、タイミング信号によ
って、シーケンサ616はシーケンス・タイミング信号
と制御信号との発生を開始し、これらの信号によって、
メモリ・ボート・アドレス信号によって選択されたメモ
リ・モジュールが要求されたサイクルを実行することが
可能になる。
指定されたプライマリ・サイクル・タイミング信号が活
性状態に遷移すると、サイクルが開始される。指定され
たプライマリ・サイクル・タイミング信号が不活性状態
に戻ると、サイクルは終了する。
CPUモジュール30によって要求されたサイクルが実
行されるに従って、シーケンサ616によって発生され
たシーケンス・タイミング信号はシーケンサの入力した
異なった状態と関連する。
これらの異なった状態の間のタイミング関係(およびこ
れらの状態の各々に対応するシーケンス・タイミング信
号の間のタイ旦ング関係)を決めるため、シーケンサ6
16によって入力することのできるディスクリートな状
態がSEQ  IDLEおよび5EQIないし5EQ1
9と識別される。
各状態は、1システム・クロックの間隔(30ナノ秒)
の間持続する。シーケンサ616の行う各々の異なった
状態に対する入力は、システム・クロック信号の立ち上
がり区間によってトリガされる。シーケンサ616に状
態SEQ  ID’LEおよび5EQIないし5EQ1
9を人力させるシステム・クロック信号の立ち上がり区
間は、これらをシーケンサ616の状態と関連させるた
めに遷移T I DLEおよびT1ないしT19として
表される。すなわち、TNはシーケンサ616に状態S
EQ  Nを入力させるシステム・クロック信号の立ち
上がり区間で“ある。
CPUモジュール30がメモリ・モジュール60に1つ
のサイクルを実行させていない場合、指定されたプライ
マリ−・サイクル・タイミング信号は表明されず(no
t asserted) 、シーケンサはSEQ  I
DLEの状態のままである。もし制御ロジック610と
シーケンサ616がこれもまたバス80でメモリ制御装
置70から転送されたメモリ・ボード・アドレスによっ
て選択されたメモリ・モジュールに位置しているならば
、シーケンサはメモリ制御装置70によるバス80のサ
イクル・タイミング信号の表明に応答してスタートされ
る(状態5EQIを入力する)。指定されたプライマリ
−・サイクルの活性信号の表明に続く第1システム・ク
ロック信号の立ち上がり区間は、遷移T1に対応する。
前に述べたように、メモリ・アレイ600に対して1つ
のロングワードを授受する場合、そのサイクルは10シ
ステム・クロックの間隔で実行される。シーケンサはS
EQ、IDLEから状態5EQIないし5EQ9に進み
、S E Q  IDLHに戻る。
しかし、別のロングワードを転送するためにメモリ読み
出しおよび書き込みサイクルを延長することができる。
メモリ・アレイ600は、「高速ページ・モードJ D
RAMを使用することが望ましい。多重化されたロング
ワードの読み出しおよび書き込みを行う期間中、最初の
ロングワードの転送の後に行われるメモリ・アレイとの
データの授受は、列アドレスを繰り返して更新し、CA
S(列アドレス・ストローブ)信号を再び発生すること
によって行われる。
多重化されたロングワードの転送サイクルの期間中、こ
れらの列アドレスのこれらの更新を実行することが可能
であるが、その理由は、全てのロングワードが転送され
るまでシステム616は、5EQ4から5EQ7を繰り
返して循環するからである。例えば、もし3つのロング
ワードがメモリ・アレイ600から読み出され、または
これに書き込まれているならば、シーケンサは状態5E
QIDLE、  5EQI  、 5EQ2 、5EQ
3 、 SEQ4.5EQ5.5EQ6.5EQ7.5
EQ4.5EQ5.5EQ6.5EQ7.5EQ4.5
EQ5.5EQ6.5EQ7.5EQ8.5EQ9、お
よびSEQI DLEを入力する。
メモリ転送サイクルの期間中、指定されたプライマリ・
サイクル・タイミング信号は、遷移T6の間のシーケン
サ616によって監視され、少なくとも1つの別のロン
グワードを転送するため、メモリ読み出しまたは書き込
みサイクルを延長するべきかどうかを決定する。指定さ
れたプライマリ・サイクル・タイミング信号が遷移T6
中に表明された場合、状態5EQ7にあるシケンサは状
態5EQ8を入力する代わりに状態5EQ4を入力する
ことによって、次のシステム・クロック信号に応答する
多重ロングワードの転送の場合、指定されたプライマリ
−・サイクル・タイミング信号は、少なくとも第1T6
の遷移の15ナノ秒前に表明され、最後のロングワード
が転送される迄、表明されたままである。最後のロング
ワードが転送されてしまった後でメモリ転送サイクルを
終了するため、指定されたプライマリ・サイクル・タイ
ミング信号が最後のT6の遷移の少なくとも15ナノ秒
前に表明を解かれ、最後のT6の伝送の後、少な(とも
10ナノ秒間表明を解かれたままになる。
メモリ転送サイクルの期間中、指定されたプライマリ行
アドレス信号と指定されたプライマリ列アドレス信号は
、制御ロジック610内の指定装置612によって別の
時間に1組の時間分周多重化線上でメモリ・ドライバ6
30に与えられる。
ドライバ630の出力はメモリ・アレイ600のDRA
Mのアドレス入力に加えられ、また指定されたミラー行
および列アドレス信号と比較するため制御ロジック61
0に戻されてエラーをチックする。状態レジスタ転送サ
イクルとEEPROM転送サイクルの期間中、列アドレ
ス信号は指定の記憶場所を選択するために必要ではない
メモリ転送サイクルの期間中、行アドレス信号はバス8
0と82の時間を共有する行および列アドレスに与えら
れた最初の信号である。状態5EQIDLEの期間中、
行アドレス信号は、メモリ制御装置によって行および列
アドレス線で転送され、列アドレスはT1の遷移の少な
くとも15ナノ秒前からT1の遷移後の10ナノ秒まで
安定した状態にある。次に、列アドレス信号はメモリ制
御装置によって行およびコラムアドレス線で転送され、
列アドレスは、T3の遷移の10ナノ秒前からT4の遷
移の後15ナノ秒まで安定した状態にある。メモリ転送
サイクルの期間中に多重ロングワードの転送を行う場合
、続いて発生する列アドレス信号は、次に行およびコラ
ムアドレス線で転送され、これらの続いて発生する列ア
ドレスはT6の遷移の10ナノ秒前からT7の遷移の後
15ナノ秒まで安定した状態にある。
ジェネレータ/チエッカ617はシーケンサ616によ
って発生された2組のシーケンス・タイミング信号を受
は取る。更に、指定されたプライマリ・サイクル・タイ
プ信号とバンク・アドレス信号および指定されたミラー
・サイクル・タイプ信号とバンク・アドレス信号が指定
装置612によってジェネレータ/チエッカ617に転
送される。ジェネレータ/チエッカでは、多数のプライ
マリ制御信号、すなわちRAS (行アドレス信号)、
CAS (列アドレス・ストローブ)およびWE(書き
込みイネーブル)が発生され、プライマリ・シーケンス
・タイミング信号と指定されたプライマリ・サイクル・
タイプ信号およびバンク・アドレス信号を使用してドラ
イバ630に分配される。これらの制御信号の重複した
組がジェネレータ/チエッカ617によって重複(ミラ
ー)シーケンス・タイミング信号と指定されたミラー・
サイクル・タイプ信号およびバンク・アドレス信号から
発生される。これらのくラーRAS。
CAS、および書き込みイネーブル信号はエラーのチエ
ツクのために使用される。
プライマリ・サイクル・タンプ信号がメモリ転送サイク
ルが実行中であることを示す場合、プライマリ・バンク
・アドレス信号はメモリ・アレイ600内のDRAMの
1つの選択されたバンクを識別する。メモリ・ドライバ
630はメモリ・アレイ600内のDRAMの各バンク
に対して別々のRASドライバを有している。ジェネレ
ータ/チエッカ617においてプライマリ制御信号は、
メモリ転送サイクル中に発生され、ジェネレータ/チエ
ッカをRASドライバに接続する線の1つに非多重化さ
れる。その結果、選択されたDRAMバンクに対応する
RASドライバのみがメモリ転送サイクル中に表明され
たRAS信号を受は取る。
リフレッシュ・サイクルの期間中、プライマリRAS信
号は非多重化されず、表明されたRAS信号が各RAS
ドライバによって受は取られる。
ステータス・レジスタ転送サイクルとEEFROM転送
サイクルの期間中、バンク・アドレス信号は不必要であ
る。
メモリ・ドライバ630はまたCASドライバを有する
。ジェネレータ/チエッカ617において、プライマリ
CAS信号はメモリ転送サイクルとリフレッシュ・サイ
クルの期間中に発生される。
プライマリCAS信号は、非多重化されず、表明された
CAS信号は各CASドライバによって受は取られる。
メモリ書き込みサイクルの期間中、プライマリWE信号
はジェネレータ/チエッカ617によって発生される。
表明されたWE信号は、ドライバ630によってメモリ
・アレイ600内の各DRAMバンクに加えられる。し
かし、書き込みは選択さ奈たDRAMバンクによっての
み実行することが可能でり、このDRAMバンクはまた
表面されたRASおよびCAS信号を受は取る。
本発明の好適な実施例の場合、メモリ転送サイクルの期
間中、プライマリRAS信号はT2の遷移の期間中表明
され、T3の遷移の少なくともlOナノ秒前から安定し
、最後のT7の遷移の期間中表面を解かれる。プライマ
リCAS信号は、各T4の遷移の前15ナノ秒間表明さ
れ、各T7の遷移の期間中表明を解かれる。メモリ書き
込みサイクルの期間中、プライマリWE信号は、T3の
遷移の期間中表明され、最初のT4の遷移の少なくとも
lOナノ秒前から安定し、最後のT7の遷移に期間中表
面を解かれる。
プライマリ・サイクル・タイプ信号がメモリ・リフレッ
シュ・サイクルが実行中であることを示す場合、メモリ
・アレイ600はシーケンサ616によって与えられる
プライマリ・シーケンス・タイミング信号に応答して、
ジェネレータ/チエッカ617によってメモリ・リフレ
ッシュ動作を実行さされる。これらのリフレッシュ動作
の期間中、RAS信号およびCAS信号が逆の順序でジ
ェネレータ/チエッカによって発生されて分配される。
このリフレッシュ・モードはバンク、行または列に対す
る外部アドレスを必要としない。
転送サイクルの期間中、データがバス85い転送されて
いる時間に、ECC信号はバス80と82の時間分周多
重化双方向線で転送される。しかし、これらの同じ線は
転送サイクル中の他の時間に制御信号(例えば、サイク
ル・タイプ)およびアドレス信号(例えば、メモリ・ボ
ード・アドレスおよびバンク・アドレス)信号を転送す
るために使用される。
プライマリ/ミラー指定装置612内のトランシーバ/
レジスタはシーケンサ616によって加えられるシーケ
ンス・タイミング信号ともtx/rxレジスタ制御信号
に応答する受信機と発信機を有する。シーケンス・タイ
ミング信号とLχ/rxレジスタ制御信号は、バス80
と82の時間分周多重化双方向線でECC信号とアドレ
ス信号および制御信号を多重化することを可能にする。
サイクル・タイプ信号、メモリ・ボード・アドレス信号
およびバンク・アドレス信号のような制御信号とアドレ
ス信号はメモリ制御装置70と75によって転送され、
単一の転送サイクルまたは多重ロングワード転送サイク
ルのいずれかの開始時にバス80と82の時間を共有し
た線に与えられることが望ましい。これらの信号はサイ
クル・タイミング信号の活性化と同時に遷移を開始しく
シーケンサはSEQ  IDLE状態にあるが)、T2
の間安定状態にある。従って、指定装置612のトラン
シーバ/レジスタにおいて、受信機は起動され、送信機
は少なくとも状態5EQ2の終わり迄そのトリステート
・モードにセットされる。
サイクル・タイプ信号は、下記にリストアツブした機能
、すなわちメモリの読み出し、メモリの書き込み、ステ
ータス・レジスタの読み出し、ステークス・レジスタの
書き込み、EEPROMの読み出し、EEPROMの書
き込み、およびリフレッシュのいずれがサイクル期間中
にメモリ・アサイ60によって実行されるかを識別する
。指定装置612によって受は取られた指定されたプラ
イマリ・サイクル・タイプ信号は、シーケンサ616に
加えられ、t x / r x制御信号とシーケンス・
タイミング信号を発生する場合に使用される。例えば、
データ・トランシーバ/レジスタ620および指定装置
612のトランシーバ/レジスタにおいて、受信機は起
動され、送信機は書き込みサイクル全体を通してシーケ
ンサ616によってトリステート・モードにセットされ
る。しかし、読み出し期間中のデータ・トランシーバ/
レジスタ620および指定装置612のトランシーバ/
レジスタの場合、受信機はトリステート・モードにセッ
トされ、送信機はサイクル・タイプ信号、メモリ・ボー
ド・アドレス信号およびバンク・アドレス信号がこのサ
イクルの開始時点で受は取られた後シーケンサ616に
よって起動される。
適切な実施例の場合、メモリ・アレイ600に対して授
受されたデータはエラー検出コード(EDC)を使用し
て各メモリ・モジュール60内でチエツクされることが
望ましく、このエラー検出コードはメモリ制御装置70
と75によって必要とされるコードと同じであることが
望ましい。
好適なコードは1ビット修正、2ビット検出のエラー修
正コード(ECC)であることが望ましい。
メモリ書き込みサイクルの期間中、メモリ制御装置70
は少なくとも1つのロングワードのデータをデータ・バ
ス85で転送し、同時に対応する組のECC信号をバス
80で転送する。一方、メモリ制御装置75は第2組の
ECC信号を転送し、これらの信号はバス82のデータ
・バス85のロングワードとまた対応する。
ここで実施されているように、メモリ書き込みサイクル
の期間中、各ロングワードに対するデータとECC信号
がデータ・トランシーバ/レジスタ620の受信機に与
えられると共に指定装置612のトランシーバ/レジス
タの受信機に与えられる。データおよびECC信号はT
4の遷移の少なくとも10ナノ秒前に安定しており、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に与えられ、その出力はメモリから読み出さ
れたECCと比較される。
ラッチの後、データおよびECC信号は、データ・トラ
ンシーバ/レジスタ620の送信機と指定装置612の
トランシーバ/レジスタの送信機によってデータ・バス
85とバス80および82に与えられる。同じECC信
号は、指定装置612のトランシーバ/レジスタからメ
モリ制御装置70とメモリ制御装置75に転送される。
データバス85とバス80および82で転送されたデー
タとECC信号は、T7の遷移の15秒後からこれに続
<T6の遷移の5ナノ秒前迄(多重ロングワード転送の
場合)またはこれに続<T  l0LE遷移の5ナノ秒
前迄(単一のロングワードの転送または多重ロングワー
ド転送の最後のロングワードの場合)安定した状態にあ
る。この時間間隔の間、メモリ制御装置70と75は、
バス80と82の時間を共有したアドレス信号と制御信
号を加えない。データ・トランシーバ/レジスタ620
の送信機と指定装置612のトランシーバ/レジスタの
送信機は、これに続<T  TDLE遷移の期間中、ト
リステート・モードにセットされる。
比較器614は、制御装置70から発生するアドレス信
号制御装置およびタイ5ング信号を制御装置75から発
生するこれらに対応するアドレス信号、制御信号および
タイミング信号と比較するために設けられる。指定され
たプライマリ・サイクル・タイミング信号、サイクル・
タイプ信号、メモリ・ボード・アドレス信号、およびバ
ンク・アドレス信号は、指定されたミラー・サイクル・
タイミング信号、サイクル・タイプ信号、メモリ・ボー
ドアドレス信号、バンク・アドレス信号、行アドレス信
号、および列アドレス信号と共に指定装置612から比
較器614に加えられる。指定されたブライマワ行アド
レス信号および列アドレス信号はドライバ630の出力
から比較器614に加えられる。そこで両方の組の信号
が比較される。
もし、メモリ制御装置から発生するアドレス信号、制御
信号、およびタイミング信号の間で比較のミスがあれば
、比較器614は適当なエラー信号を発生する。第6図
に示すように、ボード・アドレス・エラー信号、バンク
・アドレス・エラー信号、行アドレス・エラー信号、列
アドレス・エラー信号、サイクル・タイプ・アドレス・
エラー信号、およびサイクル・タイミング・エラー信号
は比較器から発生することができる。
ジェネレータ/チエッカ617は、指定されたプライマ
リ・バンク・アドレス信号、サイクル・タイプ信号およ
びサイクル・タイミング信号を使用してシーケンサ61
6およびジェネレータ/チエッカ617によって発生さ
れたプライマリ制御信号およびタイミング信号を、指定
されたミラー・バンク・アドレス信号、サイクル・タイ
プ信号およびサイクル・タイミング信号を使用して、発
生されたミラー制御信号およびタイミング信号と比較す
る。2組のシーケンス・タイミング信号は、シーケンサ
616によってジェネレータ/チエッカ617に加えら
れる。プライマリRAS信号、CAS信号、およびWE
倍信号、ドライバ630の出力からジェネレータ/チエ
ッカ617に加えられる。前に説明したように、ミラー
RAS信号、CAS信号およびWE倍信号ジェネレータ
/チエッカによって内部的に発生される。ジェネレータ
/チエ7カ617は、プライマリRAS信号、CAS信
号、WE倍信号よびシーケンス・タイミング信号をミラ
ーRAS信号、CAS信号、WE倍信号およびシーケン
ス・タイミング信号と比較する。
もし、シーケンサ616またジェネレータ/チエッカ6
17から発生する制御信号およびタイミング信号のいず
れかの間に比較のミあれば、ジェネレータ/チエッカは
適当なエラー信号を発生する。第6図に示すように、シ
ーケンサ・エラー信号、RASエラー信号、CASエラ
ー信号、およびWEエラー信号はジェネレータ/チエッ
カ617によって発生することかできる。
エラー信号は、比較器614およびジェネレータ/チエ
ッカ617からアドレス/制9卸エラー・ロジック62
1に加えられる。比較器614またはジェネレータ/チ
エッカ617から受は取ったエラー信号に応答して、ア
ドレス/制御エラー・ロジック621はアドレス/制御
エラー信号をCPUモジュール30に転送し、アドレス
信号・制御信号、またはタイミング信号のいずれかの間
で比較のミスが発生したことによる故障を検出したこと
を示す。アドレス/制御エラー信号は、エラーを処理す
るためにメモリ制御装置70と75のエラー・ロジック
に送られる。アドレス/制御エラー信号をCPUモジュ
ール30にすることによって、CPU/MEM故障が発
生するが、これは他のセクションで詳細に論じる。
比較器614およびジェネレータ/チエッカ617から
のエラー信号は、またステータス・レジスタ618に加
えられる。エラー信号および故障に関連するアドレス信
号、制御信号、タイミング信号、データ信号およびEC
C信号の全ては、−時的にステータス・レジスタに記憶
され、エラーの診断と修復を可能にする。
本発明の1つの特徴によれば、32ビットのデータ・バ
ス85が1本だけCPUモジュール30とメモリ・モジ
ュール60との間に設けられる。
従って、メモリ・モジュール60はメモリ制御装置70
と75からの2組のデータを比較することができない。
しかし、メモリ制御装置70と75によってメモリ・モ
ジュール60に転送された2つの独立した組のECC信
号をチックすることによって、ビットのデータ線の重複
した組を使用することなく、データの健全性がメモリ・
モジュール60によって検証される。
第6図に示すように、制御ロジック610はECC発生
装置623とECC比較器625を有する。指定された
プライマリおよびミラーECC信号は、指定装置712
によってECC比較器に加えられる。メモリー書き込み
サイクルの期間中、指定されたプライマリECC信号は
、指定されたミラーECC信号と比較される。その結果
、メモリ・モジュール60は、メモリ制御装置70と7
5が一致しているかどうかを検証すると共にメモリー書
き込みサイクルの期間中にメモリ・アレイ600のDR
AMに記憶されている指定されたプライマリECC信号
が正しいかどうかを検証する。更に、メモリー書き込み
サイクルの期間中にDRAMのデータ人力に与えられた
データは、ECC発生装置623に加えられる。ECC
発生装置623は、このデータ応する1組の発生された
ECC信号を発生し、この発生されたECC信号をEC
C比較器625に加える。指定されたプライマリECC
信号は発生されたECC信号と比較され、メモリ制御装
置70によってデータ・バス85に転送されたデータが
メモリ・アレイ600のDRAMに記憶されているデー
タと同じであるかどうかを検証する。
メモリ読み出しサイクルの期間中、DRAMの選択され
たバンクから読み出されたデータはFCC発生器に与え
られる。発生されたECC信号はそこでECC比較器に
加えられ、このECC比較器は、またDRAMの選択さ
れたバンクから読み出されて記憶されているECC信号
を受は取る。発生され記憶されているECC信号は、E
CC比較器625によって比較される。
もしECC比較器625によって監視されているECC
信号のいずれかの対の間に比較のミスがあれば、ECC
比較器は適当なエラー信号を発生する。第6図に示すよ
うに、プライマリ/ミラーECCエラー信号、プライマ
リ/発生されたECC信号エラーおよびメモリ/発生さ
れたECCエラー信号はECC比較器によって発生する
ことができる。
ECC比較器625からのこれらのECCエラー信号は
ステータス・レジスタ618に加えられる。ECCエラ
ー信号の各々およびECC故障に関連するアドレス信号
、制御信号、タイミング信号、データ信号、およびEC
C信号の全ては一時的にステータス・レジスタに記憶さ
れ、エラーの診断と修復を可能にする。
ECCエラー信号はECCエラー線上でECC比較器6
25によって表明され、CPUモジュール30に転送さ
れ、比較のミスによって発生したECCの故障を検出し
たことを示す。この比較のミスはメモリ書き込みサイク
ルの期間中に行われる2つのECCのチエツクの期間中
またはメモリ読み出しサイクル行われる1つのECCの
チエツクの期間中のいずれかで発生する可能性がある。
第6図に示すように、ボード選択ロジック627はメモ
リの背面板からスロット信号を受は取る。
これらのスロット信号によって、各メモリモジュール6
0に対してユニークなスロット・ロケーションが指定さ
れる。ボード選択ロジッチ627は、そこでこれらのス
ロット信号を指定回路612を介してメモリ制御装置の
1から転送された指定されたプライマリ・ボード・アド
レス信号と比較する。もしこのスロット信号が指定され
たプライマリ・ボード・アドレス信号と同じであれば、
ボード選択信号がボード選択ロジック627によって発
生され、これによって制御ロジック610内の他の回路
を動作させる。
3、 メモリ制御装置 メモリ制御装置70と75は、CPU40と50のメモ
リ・モジュール6oおよび補助メモリ素子に対するアク
セスをそれぞれ制御好適な実施例の場合、ある種のエラ
ー処理動作を実行する。
メモリ制御装置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はこれらのアドレスを行/列アドレス部、ボー
ド/バンク・アドレス部分およびシングル・ボード・ビ
ットに分割する。行/列アドレスの22ビットが11本
の線に多重化される。好適な実施例の場合、22ビット
の行/列アドレスがドライバ21を介してメモリ・モジ
ュール60に送られる。シングル・ボード・ビットはド
ライバ722を介してメモリ・モジュール60に送られ
ることが望ましく、他のボード/バンク・アドレスビッ
トはECC信号と多重化される。
マルチプレクサ725は、メモリ制御装置70に対する
通常のリフレッシュ命令とCPU30からのサイクル・
タイプ情報(すなわち読み出し、書き込み等)およびD
MAサイクル・タイプ情報とを結合する。通常のリフレ
ッシュ命令とリフレッシュ再同期アドレスの両方によっ
て、メモリ・モジュール60がメモリ・リフレッシュ動
作を開始する。
マルチプレクサ725の出力は、デマルチプレクサ72
0からのボード/バンク・アドレスと共にマルチプレク
サ730に対する入力である。マルチプレクサ730に
対する他の入力は、ECCジェネレータ/チエッカ73
5の出力である。マルチプレクサ730は、入力の1つ
を選択し、これをメモリ・モジュール60に対する時間
分割多重化ECC/アドレス線に載置する。マルチプレ
クサ730は、これらの時間分割多重化線がボード/バ
ンク・アドレスと別の制御情報ならびにECC情報を、
異なった時間に、搬送するこを可能にする。
ECC情報は、受信機734を介してメモリ・モジュー
ル60から受は取られ、入力としてECCジェネレータ
/チエッカ735に加えられ、メモリ・モジュール60
によって発生されたECCをメモリ制御装置70によっ
て発生されたECCと比較する。
ECCジェネレータ/チエッカ735に対する他の人力
は、マルチプレクサ740からの出力である。メモリ・
トランザクションが書き込みトランザクションであるか
読み出しトランザクションであるかによって、マルチプ
レクサ740はマルチプレクサ710からメモリ・モジ
ュール60に送られたメモリ・データを入力として受は
取るか、または受信機745を介してメモリ・モジュー
ル60から受は取られたメモリ・データを入力として受
は取る。マルチプレクサ740は、ECCジェネレータ
/チエッカ735に対する入力であるこれらのメモリ・
データの組の1つを選択する。
ジェネレータ/チエッカ735は、次に適当なECCコ
ードを発生し、このコードは、マルチプレクサ730に
送られる以外に、またECC修正装置750にも送られ
る。好適な実施例の場合、ECC修正装置750はメモ
リ・モジュール6゜から受は取られたメモリ・データ内
の全てのシングル・ビットエラーを修正する。
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
から受は取られた行/列アドレス信号とシングル・ビッ
ト・ボード・アドレス信号とについて同じ種類のチエツ
クを実行する。パリティ−発生装置1t770からのア
ドレス・パリティ−信弓はドライバ772によって比較
器775に送られ、この比較器775は制御装置75か
らまたアドレス・パリティ−信号を受は取る。比較器7
65と775の出力はパリティ−・エラー信号であり、
これらの信号は第9図のエラー・ロジックに供給1され
る。
第8図はDMAエンジン800の基礎を示す。
好適な実施例の場合、DMAエンジン800はメモリ制
御装置70内に位置するが、この場所にある必要はない
。第8図に示すように、DMAエンジン800はデータ
・ルータ(router)  810、DMA制御装置
820、およびDMAレジスタ830を有する。ドライ
バ815と受信機816によって、メモリ制御装?Z7
0とクロスリンク90との間にインターフェースが設け
られる。
DMA制御装置820は、制御ロジック700から内部
制御信号を受は取り、これに応答して、制御信号を送っ
てデータ・ルータ810を適当に構成する。制御装置8
20によって、データ・ルータ81Oが第7図に示すク
ロスリンク90からのデータと制御信号をメモリ制1n
10回路に送るように、その構成がまた設定される。デ
ータ・ルータは、その状態信号を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)・エラー信号
、ファイヤーウオール(f irewa l l)のミ
ス比較信号およびアドレス/制御エラー信号のようなあ
る種の外部信号と同様に、診断エラー・ロジック870
に対する入力である。好適な実施例の場合、診断エラー
・ロジック870はクロスリンク90と95を介してシ
ステム10の他の構成要素からエラー信号を受は取る。
診断エラーロジック870は、エラー信号とメモリ制御
装置70のベーシック・タイミングから発生された制御
パルス信号からエラー・パルスを形成する。診断エラー
・ロジック870によって発生されたエラー・パルスは
、ある種のタイミング信号に従って診断エラー・レジス
タ880の適当なロケーションに記憶されているある種
のエラー情報を含む。システム故障エラー・アドレス・
レジスタ65は、エラーが発生した場合、CPU40と
50が通信を行っていたメモリ・モジュール60内にア
ドレスを記憶する。
診断エラー・ロジック870からのエラー・パルスはま
たエラー・カテゴリー化ロジック850に送られ、この
エラー・カテゴリー化ロジック850はまたサイクル・
タイプ(例えば読み出し、書き込み等)を示す情報をC
PU30から受は取る。。この情報およびエラー・パル
スから、エラー・カテゴリー化ロジック850はCP 
U/ I○エラー、DMAエラー、またはCPU/ME
M故障の存在を判定する。
CP U/ T Oエラーは、バス46のCPU/I○
サイクルに直接帰するべき動作上のエラーであり、リセ
ットに関して以下で説明するように、ハードウェアーに
よって修復することが可能である。DMAエラーは、D
MAサイクルの期間中に発生するエラーであり、好適な
実施例の場合、主としてソフトウェアによって処理され
る。CPU/MEM故障は、CPUの正しい動作または
メモリの内容を保障することのできないエラーである。
エラー・カテゴリー化ロジック850からの出力は、エ
ンコーダ855に送られ、このエンコーダ855は特定
のエラー・コードを形成する。このエラー・コードは、
エラー・ディスエーブル信号が存在する場合、次にAN
Dゲート856を介してクロスリンク90と95に送ら
れる。
エラー・コードを受は取った後、クロスリンク90.9
5.90’、95’はメモリ制御装置にリトライ要求信
号を送る。第9図に示すように、メモリ制御装置70の
エンコーダ895はサイクル・タイプ情報とエラー信号
〔サイクル・クオリファイヤ(qualifiers)
 として纏めてに示される〕と共にリトライ要求信号を
受は取る。エンコーダ895は、次にシステム故障エラ
ー・レジスタ898に記憶するための適当なエラー・コ
ードを発生する。
システム故障エラー・レジスタ898は、診断エラー・
レジスタ880と同じ情報を記憶しない。
システム故障エラー・レジスタ898とは違って、診断
エラー・レジスタ880はクロスリンク・レールからの
1つの入力のエラーのようなレール・ユニーク情報およ
びメモリ・モジュール60内の修正不可能なFCCエラ
ーのようなゾーン・ユニーク・データのみを含んでいる
診断エラー・レジスタ898は、またエラーの処理に使
用される幾つかのピントを含んでいる。
これらのビットは、所望のメモリ・ロケーションが見当
たらないことを示すNXNビット、所望にI10ロケー
ションが見当たらないことを示すNXI○ビット、ソリ
ッド故障ビットおよび過渡的ビットを含んでいる。過渡
的ビットソリッド・ビットはいずれも故障のレベルを示
す。過渡的ビットによって、またシステム故障エラー・
アドレス・レジスタ865が凍結される。
第9図は、メモリ・コントローラ・ステータス・レジス
タ875を示すが、これは技術的にはエラー・ロジック
の一部ではない。レジスタ875は、DMA比率比率部
子77MA比率コード・エラー・ディスエーブル部87
8のエラー・デスエーブル・コード、およびミラー・バ
ス・ドライバ・イネーブル部876のミラー・バス・ド
ライバ・イネーブルコードのようなある種の状態情報を
記憶する。DMA比率コードは、DMAに割り当てるこ
とのできるメモリ帯域幅の部分を特定する。
エラー・デスエーテル・コードによって、ANDゲート
856および従ってエラー・コードを不能にする信号が
与えられる。ミラー・バス・ドライバ・イネーブル・コ
ードによって、ある種のトランザクションに対してミラ
ー・バス・ドライバを動作させる信号を与えられる。
41.  クロスリンク メモリ再同期、DMAおよびI10動作用のデータは、
クロスリンク90と95を通過する。
船釣に、クロスリンク90および95によって、CPU
モジュール30、CPUモジュール30′I10モジユ
ール100,110.1201およびI10モジュール
110’、110’  120’との間の通信が行われ
る。(第1図参照)クロスリンク90と95は、第10
図に示すように、並列レジスタ910と直列レジスタ9
20の両方を含む。両方のタイプのレジスタは、本発明
の好適な実施例でプロセッサ間の通信を行うために使用
される。通常の動作の期間中、処理システム20と20
′は同期され、データはそれぞれクロスリンク90/9
5と90’/95’の並列レジスタ910を使用して、
処理システム20と20′との間で交換され、処理シス
テム20と20′が同期されていない場合、ブートスト
ラッピングの期間中に最も顕著に現れるように、データ
は直列レジスタ902によってクロスリンクの間で交換
される。
並列レジスタのアドレスは、メモリ・スペースと違って
I10スペースである。メモリ・スペースとはメモリモ
ジュール60内のロケーションのことである。■/○ス
ペースとは、Iloおよび内部システム・レジスタのよ
うなロケーションのことであり、こらばメモリ・モジュ
ール60内には存在しない。
I10スペース内では、アドレスはシステム・アドレス
・スペース内に存在するか、ゾーン・アドレス・スペー
ス内に存在するかのいずれかである。「システム・アド
レス・スペース」という用語は、システム10全体を通
してアクセスすることのできるアドレス、すなわち処理
システム20と20′の両方によってアクセスすること
のできるアドレスのことである。「ゾーン・アドレス・
スペース」という用語は、特定のクロスリンクを含むゾ
ーンによってのみアクセス可能であるアドレスのことで
ある。
第10図に示す並列レジスタは、通信レジスタ906と
[10リセツト・レジスタ908を有する。通信レジス
タ906は、ゾーン間で交換される独特のデータを含む
。このようなデータは、メモリ・ソフト・エラーのよう
な通常ゾーンに特有のデータである(メモリモジュール
60と60’が同じエラーを同時に独立して経験すると
いうことは確率の領域外の出来事である) レジスタ906に記憶されるべきデータはユニークなも
のであるため、書き込みの目的のための通信レジスタ9
06のアドレスは、ゾーン・アドレス・スペースになけ
ればならない。もしそうでなければ、処理システム20
と20’は、ロックステップ同期状態にあり同じ一連の
命令を異同時に実行しているため、ゾーン・ユニーク・
データをゾーンll内の通信レジスタ906のみに記憶
することはできず、これらはこの同じデータをゾーン1
1’内の通信レジスタ906’  (図示せず)にも記
憶しなければならない。
しかし、読み出しのための通信レジスタ906のアドレ
スは、システム・アドレス・スペース内に存在する。し
たがって、同期動作の期間中、両方のゾーンは同時に1
つのゾーンから通信レジスタを読み出すことができ、次
に他のゾーンから通信レジスタを同時に読み出すことが
できる。
■/○リセット・レジスタ908ば、システム・アドレ
ス・スペース内に存在する。このI10リセット・レジ
スタは、対応するモジュールがリセット状態にあるかど
うかを示すため、1つのI10モジュールに対して1ピ
ントを有する。I10モジュールがリセット状態にある
場合、これは効果的にディスエーブルされる。
並列レジスタ91もまた他のレジスタを有するが、これ
らの他のレジスタの理解は本発明を理解するために必要
ではない。
並列クロスリンク・レジスタ920は全てゾーンの固有
のスペース内に存在するが、その理由は、これらが非同
期通信に使用されるが、ゾーンに固有の情報のみを有し
ているかのいずれかであるからである。並列クロスリン
ク・レジスタと並列クロスリンクの目的は、フ”ロセッ
サ20と20′が例えロック・ステップ同期状態(例え
ば、位相ロック状態およびこれと同じ状態)で動作して
いなくても、これらのプロセッサ20と20′に通信を
行なわせることである。好適な実施例の場合、幾つかの
並列レジスタがあるが、本発明を理解するためにこれら
を説明する必要はない。
制御および状態レジスタ912は、状態および制御フラ
グを含む直列レジスタである。これらのフラグの1つは
O3Rビット913であり、これはブートストラビング
のために使用され、対応するゾーンの処理システムがブ
ートストラブ・プロセスが既に終了しているかまたはこ
のシステムが再同期を行ったかのいずれかの理由のため
に、この処理システムが既にそのプートストラブ・プロ
セスを開始したかどうか、またはそのゾーンに対する動
作システムが現在勤作中であるかとうかを示す。
制御および状態レジスタ912は、またクロスリンク9
0の現在のモードおよび従って処理システム20の現在
のモードを識別するためのモード・ビット914を有す
る。モード・ビットは、再同期モード・ビット915と
クロスリンク・モード・ビット916を含むことが望ま
しい。再同期モード・ビット915は、クロスリンク9
0を再同期スレーブ・モードまたは再同期マスター・モ
ードのいずれかにあるものとして識別する。クロスリン
ク・モード・ビット916は、クロスリンク90をクロ
スリンク・オフ・モード、デュプレックス・モード、ク
ロスリンク・マスター・モード、またはクロスリンク・
スレーブ・モードのいずれかにあるものとして識別する
直列レジスタの用途の1つは、状態読み出し動作であり
、この動作によって、1つのゾーンのクロスリンクが他
のゾーンのクロスリンクの状態を読み出すことができる
。状態読み出し要求フラグ918を直列制御状態レジス
タ912に立てることによって、状態情報に対する要求
がクロスリンク90’に送られる。このメツセージを受
は取ると、クロスリンク90′は、その直列制御および
状態レジスタ912′の内容をクロスリンク90に送り
返す。
第11図は、プライマリ・クロスリンク90およびミラ
ー・クロスリンク95内のルート制御および状態信号(
「制御コード」と呼ぶ)用のti戒要素の幾つかを示す
。対応するクロスリンクの構成要素は、好適な実施例で
は、クロスリンク90′および95′内に存在する。こ
れらのコードは、メモリ制御装置70と75およびモジ
ュール相互接続部130.132.130′および13
2′との間に送られる。
第12図は、ルート・データおよびアドレス信号を送る
のに使用される好適な実施例のプライマリ・クロスリン
ク90の構成要素を示す。対応するクロスリンクの構成
要素は、クロスリンク95.90′および95′内に存
在する。
第11図は、プライマリ・クロスリンク90とミラー・
クロスリンク95の両方に対する構成要素を示すが、こ
れらの構成要素の間には重要な相互接続部があるため、
ハードウェアは同じである。
プライマリ・クロスリンク90の構成要素と同じミラー
・クロスリンク950回路の構成要素は同し番号で示す
が、ミラー制御装置の場合には番号の次に「m」の文字
を付ける。
第11図および第12図を参照して、これらの構成要素
はラッチ、マルチプレクサ、ドライバおよび受信機を含
む。ラッチ933および933mのような一部のラッチ
は遅延要素として動作し、クロスリンクの正しいタイミ
ングを保証し、これによって同期を維持する。第11図
に示すように、メモリ制御装置70からの制御コードは
、バス88を介してラッチ931に送られ、次にラッチ
932に送られる。このよらなラッチを行う理由は、適
当な遅れを与えてメモリ制御装置70からのデータがメ
モリ制御装置70’からのデータと同時にクロスリンク
90を通過することを保証することである。
もしメモリ制御装置70からのコードがクロスリンク9
0’を介して処理システム20’に送られるべきであれ
ば、ドライバ937が起動される。
メモリ制御装置70からの制御コードは、またラッチ9
33を通過してマルチプレクサCSMUXA935に入
る。もし制御コードがクロスリンク90′からプライマ
リ・クロスリンク90に受は取られれば、これらの経路
は受信装置936を通ってラッチ938およびまたマル
チプレクサ935に至る。
マルチプレクサ935に対する制御コードによって、デ
ータのソースが決定される、すなわちこれがメモリ制御
装置70からきたものであるかまたはメモリ制御装置7
0’からきたものであるかが決定され、これらのコード
はマルチプレクサ935の出力に加えられる。この出力
は、再び正しい遅延目的のため、ラッチ939の記憶さ
れ、もしこれらのコードがモジュール相互接続部130
に送られるべきであれば、ドライバ940が起動される
データおよびアドレス信号の経路は、第12図に示すよ
うに、第11図に示す制御信号の経路と若干類似してい
る。これらの相違点は、いずれの1つのトランザクショ
ンの期間中においてもデータおよびアドレスはクロスリ
ンク90と95を介して1つの方向のみに流れるが、制
御信号はそのトランザクションの期間中に双方向に流れ
るという事実を反映している。これと同じ理由のため、
バス88と89のデータ線は双方向であるが、制御方向
は双方向ではない。
バス88を介してメモリ制御袋W70から供給されるデ
ータとアドレスはラッチ961に入り、次いでラッチ9
62に入り、次いでラッチ964に入る。第11図の場
合と同様に、第12図のラヨチによって同期を維持する
ための正しいタイミングが与えられる。メモリ制御装置
70′から出力されるデータは受信装置986によって
バッファされ、ラッチ988に記憶され、次にマルチプ
レクサMUXA966の入力に向かう。マルチプレクサ
966の出力は、ラッチ986に記憶され、もしドライ
バ969が起動されれば、モジュール相互接続部130
に送られる。
第11図はメモリ制御装置72送られるべき制御コード
の経路を示す。モジュール相互接続部130からのコー
ドは、先ずラッチ941に記憶さ、れ、次にマルチプレ
クサC3MUXC942に与えられる。マルチプレクサ
942は、また並列クロスリンク・レジスタ910から
制御コードを受は取り、ラッチ943に転送するため並
列レジスタ・コードまたはラッチ941からのコードの
いずれかを選択する。もしこれらの制御コードがクロス
リンク90′に転送されるべきであれば、ドライバ94
6が起動される。クロスリンク90’からのコード(お
よび従ってメモリ制御装置70′からの制御コード)は
受信機947いよってバッファされ、ラッチ948に記
憶され、入力としてマルチプレクサC3MUXD945
に加えられる。
マルチプレクサC3MUXD945は、またラッチ94
3の内容を記憶しているラッチ944の出力を人力とし
て受は取る。
マルチプレクサ945は、モジュール相互接続部130
からのコードまたはクロスリンク90′からのコードの
いずれかを選択し、これらの信号を人力としてマルチプ
レクサC3MUXE949に加える。マルチプレクサ9
49は、またデコード・ロジック970からのコード(
再同期の期間中に発生するバルク・メモリの転送のため
に)、直列クロスリンク・レジスタ920からのコード
、または所定のエラーコードERRを入力として受は取
る。マルチプレクサ949は、次に適当に制限されてこ
れらの入力の幾つかを選択してランチ950に記憶する
。もしこれらのコードがメモリ制御装置70に送られる
べきであれば、次にドライバ951が起動される。
マルチプレクサ949に対する人力であるエラー・コー
ドERRの目的は、レールの1つのエラーによって、レ
ールとしての同じゾーン内のCPUが異なった情報を処
理しないことを保証することである。もしこのようなこ
とが発生すれば、CPUモジュール30は故障を検出し
、これによってトラスチックだが恐らく必要のないアク
ションが発生する。このことを回避するため、クロスリ
ンク90はEXCLUSIVE  ORゲート960を
有し、このゲートによってマルチプレクサ945と94
5mの出力が比較される。もしこれらの出力が異なって
いれば、ゲート960によってマルチプレクサ949は
ERRコードを選択する。
EXCLUSIVE  ORアゲ−960mは、同様に
マルチプレクサ949mにまたERRコードを選択させ
る。このコードは、エラーが発生しているがCPUモジ
ュールにエラーの発生することは回避されていることを
メモリ制御装置70と75に示す。メモリ・モジュール
60に対するシングル・レール・インターフェースはデ
ータとアドレスに対して同し結果を達成する。
第12図に示すデータとアドレスの流れは第11図の制
御信号の流れと同じである。モジュール相互接続部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によってまたマルチプレクサMUX
D982に対する入力が与えられる。マルチプレクサM
UXD982の他方の入力はラッチ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モジュールの全てを
効率的に不能にする。
デコード・ロジック970.971.970m。
971m、および998によって発生されたドライバ制
御信号を説明する前に、これらのゾーン、従ってクロス
リンク90と95がとることのできる異なったモードを
理解する必要がある。第13図は、異なった状態Aない
しFおよび各モードに対応するこれらの状態を説明する
表である。
開始時およびその他の場合、両方のゾーンは状態Aにあ
り、この状態Aはこれら両方のゾーンに対するOFFモ
ードとして知られる。このモードの場合、両方のゾーン
のコンピュータ・システムは独立して動作している。こ
れらのゾーンの1つの動作システムが他方のゾーンのI
loと通信を行う能力を要求し、その要求が受は入れら
れた後、これらのゾーンは状態BとCとして示されるマ
スター/スレーブ・モードに入る。このようなモードの
場合、マスターであるゾーンは動作しているCPUを有
し、そのゾーンおよび他方のゾーンのI10モジュール
を制御する。
再同期を開始すると、コンピュータ・システムは状態B
またはCのいずれかのマスター/スレーブモードを離脱
し、状態EおよびFとして示される再同期スレーブ/再
同期マスター・モードに入る。これらのモードの場合、
マスター・ゾーンであったゾーンが他方のゾーンのCP
Uをオン・ラインにする役割を果たす。もし再同期に失
敗すれば、これらのゾーンは前に再同期しようとしたの
と同しマスター/スレーブモードに戻る。
しかし、もし再同期が成功すれば、これらのゾーンは状
態りに入り、この状態りは完全デュプレックス・モード
である。このモードの場合、両方のモードはロックステ
ップ同期状態で共に動作する。動作は、CPM/MEM
の故障が発生する迄、このモードで継続され、この場合
、システムは2つのマスター・スレーブ・モードの1つ
に入る。
スレーブはそのプロセッサーがCPM/MEM故障を経
験したゾーンである。
状態D、すなわち完全デュプレックス・モードで作動し
ている場合、最も顕著なのはクロック位相エラーである
が、ある種のエラーが発生すると、システムを2つの独
立した処理システムに分割する必要が生ずる。これによ
ってシステムは状NJ Aに戻る。
第11図および第12図に示すデコード・ロジック97
0.970m、971.971m、998(まとめてク
ロスリンク・制御ロジックと称する)は、クロスリンク
・ドライバとマルチプレクサをどのようにして適切な状
態にセットするかを決定するため、第10図に示す再同
期モード・ビット915とクロスリンク・モード・ビッ
ト916にアクセスする、更に、このクロスリンク・デ
コード・ロジックは、またデータ・トランザクションの
期間中にメモリ制御装置70と75から送られたアドレ
スの一部を受は取って分析し、クロスリンク・マルチプ
レクサとドライバの状態をどのようにして設定するかを
クロスリンク・デコード・ロジックに対して更に指示す
アドレス情報を取り出す。
マルチプレクサの状態を設定するのに必要な情報は、−
度異なったモードとトランザクションを理解すると、か
なりはっきりする。行うべき唯一の判断はデータのソー
スである。従って、クロスリンク90と95がスレーブ
・モードにある場合、マルチプレクサ935.935m
、および966はゾーン11からデータ・アドレスとコ
ードを選択する。もしクロスリンク90と95が完全に
デュプレックス・モードにあり、■/○の命令のアドレ
スがゾーン11のIloに接続された装置に対するもの
であり、影響を受けたマルチプレクサとのクロスリンク
がクロスオーバー・モードにあれば、これらのマルチプ
レクサはまた他方のゾーンからデータ、アドレスおよび
コードを選択する。
クロスオーバー・モードの場合、モジュール相互接続部
に送られるべきデータはチエツクのため他方のゾーンか
ら受は取られるべきである。好適な実施例の場合、モジ
ュール相互接続部130はゾーン11のプライマリ・レ
ールからデータ、アドレスおよびコードを受は取り、モ
ジュール接続部は、ゾーン11′のミラー・レールから
データ、アドレスおよびコードを受は取る。または、モ
ジュール相互接続部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を介して
転送されたデータの間で比較のミスを識別すれば、ER
Rコードを選択するようにセットされる。この後者の場
合、マルチプレクサ949と949mの制御は、クロス
リンクロジックからではなくてEXCLUSIVE○R
ゲート960と960mから行われる。マルチプレクサ
949と949mは、クロスリンク・レジスタ910が
要求された場合には、これらのレジスタからコードをま
た選択し、これらのコードが要求された場合には、マル
チプレクサ945と945mの出力をまた選択する。マ
ルチプレクサ945と945mは、それぞれマルチプレ
クサ942と942mからの出力かまたはそれぞれクロ
スリンク90′と95′からの1.10コードかのいず
れかを選択する。
マルチプレクサ976は、I10モジュールとのトラン
ザクションの場合には、モジュール相互接続部139か
らデータとアドレスを選択するか、またはデータとアド
レスが1/○に対してかまたはメモリの再同期の期間中
かのいずれかにクロスリンク90′に送られるべきであ
る場合、メモリ制御装置90からのデータとアドレスを
選択するかのいずれかである。
ドライバ937と937mは、クロスリンク90と95
がデュプレックス・モード、マスター・モードまたは再
同期マスター・モードにある場合、動作される。ドライ
バ940と940mは、ゾーン11のI10トランザク
ションの場合に動作される。ドライバ946と946m
は、クロスリンク90と95がデュプレックス・モード
またはスレーブ・モードの場合に動作される。ドライバ
951と951mは常に動作されている。
ドライバ969はゾーン11に対するI10書き込み期
間中に動作される。ドライバ984は、クロスリンク9
0がデータとアドレスをゾーン11′の110に送って
いる場合、またはクロスリンク90が再同期マスター・
モードにある場合に動作される。受信機986はクロス
リンク90′からデータを受は取る。ドライバ992と
994は、データがメモリ制御装置70に送られている
場合に動作される。ドライバ994は、シリアル・クロ
スリンク・レジスタ910の内容が読み出されている場
合に動作され、ドライバ992は全ての他の読み出し期
間中に動作される。
5、発振器 両方の処理システム20と20’が各々同じ機能を完全
デユープレックス・モードで実行している場合、CPU
モジュール30と30’が同じ速度で動作を実行するこ
とが避けられない、もしそうでなければ、処理時間の大
部分は、I’Oおよびインタープロセッサのエラーのチ
エツクのために処理システムの20と20′を再同期さ
せることに消費されてしまう。処理システム20と20
′の好適な実施例の場合、これらのシステムの基本的な
りロック信号は相互に同期されて位相ロックされている
。故障許容コンピュータ・システム10は、処理システ
ム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は、クロック・
ロジック・バッフ7220’からのケーブル・ラン(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 reftおよびV、、2で
ある。もしこの位相差が許容範囲であれば、PHASE
  ERROR信号は活性化されない。もしこの位相差
が許容範囲以外であれば、PHASE  ERROR信
号236は活性化され、クロック・デコーダ220を介
してクロスリンク95に送られる。
6、  I10モジュール 第17図はI10モジュール100の好適な実施例を示
す。この■/○モジュール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であるが必ずしも
これではない4一方のファイヤウオールは、モジュール
相互接続部130からバス1020にデータを書き込む
この場合にはファイヤウオール1010である他方のフ
ァイヤウオールは、第18図に示すファイヤウオール比
較回路1840を使用して、そのデータをモジュール相
互接続部132から受は取った自分自身のコピーとチエ
ツクする。このチエツクは有効であるが、その理由は、
CPUモジュール30と30’からI10モジュールに
対して書き込まれたデータを実質的に同時にファイヤウ
オール1oooと1010で入手可能にしているこれら
のCPUモジュール30と30′がロックステップ同期
の状態にあるからである。
ファイヤウオール比較回路1840 ハ、CPUモジュ
ール30と30’から受取ったデータのみをチエツクす
るだけである。I10装置からCPUモジュール30と
30’送られたデータは、共通の供給元を有し、従って
チエツクを必要としない。
その代わり、I10装置から受取られCPUモジュール
30と30′に送られるデータは、EDC/CRC発生
装置1850によって実行される周期的冗長性チエツク
(CRC)コードのようなエラー検出コード(EDC)
によってチエ、7りされる。EDC/CRC発生装置1
850は、また内部ファイヤウオール・バス1815に
接続される。
E D C/CRC発生装置1850は、I10装置に
よって使用されるのと同じEDC/CRCコードを発生
してチエツクを行う。I10モジュール100は2つの
EDCを発生することが望ましい。一方のEDCはまた
E D C/CRCでもよく、これはモジュール100
が接続されているアサ−ネット(Ethernet)パ
ケット・ネットワークのようなネットワークに対するイ
ンターフェースに使用される(第17図の構成要素10
8に参照)。
他方のEDCは第17図のディスク・インターフェース
1072のようなディスク・インターフェースに使用さ
れる。
CPUモジュール30とI10モジュール100との間
でE D C/CRCを適応することは必要でないが、
その理由は、モジュールゆ相互接続部が2重になってい
るからである。例えばCPUモジュール30の場合、ク
ロスリンク90はモジュール相互接続部30を介してフ
ァイヤウオール1000と通信を行い、クロスリンク9
5はモジュール相互接続部132を介してファイヤウオ
ール1000と通信を行う。
アサ−ネット・ネットワーク10日2から受は取られた
メツセージは、第17図に示すネットワーク制御装置1
080によってE D C/CRCの有効性をチエツク
される。E D C/CRCが完全であるデータは、こ
れもまた第17図に示すローカルRAM1060に書き
込まれる。ローカルRAM1060内の全てのデータは
、DMAを使用してメモリ・モジュール60に転送され
る。
DMA制御装置1890は転送の調整を行い、EDC/
CRC発生装置に転送中(7) E D C/CRCに
よって符号化されたデータの有効性をチェックさせる。
I10装置との大部分のデータの転送はDMAによって
行われる。データはメイン・メモリとI10バッファ・
メモリとの間を移動する。データがメイン・メモリから
I10バンファメモリに移動する場合、E D C/C
RCを付加してもよい。
データがI10バッファメモリからメイン・メモリに移
動する場合、E D C/CRCはチエツクを受けてメ
イン・メモリに移動してもよく、または取り除かれても
よい。データがI10バッファメモリからディスクまた
はアサ−ネット・アダプタのような外部装置を介して移
動される場合、EDC/CRCは局部的または離れた位
置にある受信ノードでチエツクされてもよく、またはそ
の両方でチエツクされてもよい。メモリ・データ・パケ
ットは遠くの位置にあるノードまたはI10モジュール
のローカル・インターフェースによって発生されたそれ
らのEDC/CRCを有してもよい。
この動作によって、I10モジュール100のようなシ
ングル・レール・システムに存在する、またはこれを介
して転送中のデータがエラー検出コードによってカバー
されることが保証され、このエラー検出コードはこのデ
ータが最終的に通過する通信メディアと少なくとも同じ
くらい信頼性のあることが望ましい。例えば、同期プロ
トコールを処理するような異なったI10モジュールは
、適当なプロトコールのEDC/CRCコードを発生し
てチエツクするE D C/CRC発生装置を有するこ
とが望ましい。
一般的に、DMA制御装置1890はアドレスされてい
る共有のメモリ制御装置105とローカルRAM106
0に特有のDMAの動作の部分を取扱う。32ビット・
バス1020は2つの異なったモードで駆動される。D
MAのセットアツプの期間中、DMA制御装置1890
は標準非同期マイクロプロセッサ・バスとしてバス10
20を使用する。DMAの動作が発生するローカルII
AM1060のアドレスは共有のメモリ制御装置105
0とDMA制御装置1890に供給される。実際のDM
Aの転送の期間中、DMA制御装置1890はDMA制
御線1895に非同期の状態でバス1020を駆動させ
る。共有のメモリ制御装置1050はバス・サイクル毎
に32ビットのデータ・ワードをバス1020に転送し
、DMA制御装置1Z1090はどれくらいの数のワー
ドの転送が残っているかについての情報を得る。共有の
メモリ制御装置1050は、またローカルRA M 1
060を制御して次の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′がそのことを通知さ
れると、コンピュータ・システム10全体の種々のトレ
ースRAMが以下で説明するある種の機能を実行する。
トレースRAMとの通信はトレース・バス1095で行
われる。トレースRAM制御装置1870は、トレース
・バス1095からの信号に応答して、トレースRAM
1872に記憶を停止させるかその内容をソレース・バ
ス1095放出させる。
32ビットの並列バスであることが望ましいI10モジ
ュール・バス1020は、ファイヤウオール1000お
よび1010に接続されると共にI10モジュール10
0の他の構成要素にも接続される。共有のメモリ制御装
置1050は、I10モジュール100のI10モジュ
ール・バス1020にもまた接続される。共有のメモリ
制御語W1050は共有のメモリ・バス1065によっ
てローカル・メモリ1060に接続され、この共有のメ
モリ・バス1065は32ビットのデータを搬送するこ
とが望ましい。ローカル・メモリ1060は256キロ
バイトのメモリを有するRAMであることが望ましいが
、このRA M 1060は任意のサイズでよい。共有
のメモリ制御装置1050とローカルRAM 1060
によって、I10モジュール100に対する記憶能力が
与えられる。
ディスク制御装置1070によって、第1図のディスク
1075および1075’のようなディスクに対して標
準のインターフェースが設けられる。ディスク制御装置
1070は、ローカルRAM1060に使用するためま
たはI10モジュール・バス1020との通信を行うた
めに共有のメモリ制御装置1050にまた接続される。
ネットワーク制御装置1080はネットワークインター
フェース1082によってBTIIII;R肝Tネット
ワークのような標準ネットワークに対してインターフェ
ースを与える。ネットワーク制御装置tosoは、ロー
カルRAM1060とI10モジュール・バス1020
の両方に対してインターフェースとして機能する共有の
メモリ制御装置1050にまた接続される。しかし、I
10モジュール・バス1020の特定の組織または構造
については何等の要求も存在しない。
PCIM(電源および冷却用インターフェース・モジュ
ール)サポート・エレメント1030は、I10モジュ
ール・バス1020に接続されると共にASCIIイン
ターフェース103に接続される。PCIMサポート・
エレメント1030によって、処理システム20は電源
システムの状態(すなわちバッテリ・レギュレータ等)
と冷却システム(すなわちファン)を監視してこれらの
適切な動作を保証することが可能になる。PCIMサポ
ート・エレメント1030は、バッテリの電圧が許容で
きない程度に低い等のある種の故障または潜在的な故障
の徴候が存在する場合のみ、メツセージを受は取ること
が望ましい。全ての電源および冷却サブシステムを周期
的に監視するために、CP 1Mサポート・エレメント
1030を使用することもまた可能である。または、P
CIMサポート・エレメント1030は、直接ファイヤ
ウオール1000と1010に接続されてもよい。
診断マイクロプロセッサ1100が、またI10モジュ
ール・バス1020に接続される。−船釣に、診断マイ
クロプロセッサ1100は、故障が検出された場合、ト
レースRAM1872のようなトレースRAMからエラ
ー・チエツク情報を集めるために使用される。このデー
タは、それぞれファイヤウオール1000と1otoを
介してトレース・バス1095と1096に集められる
と共にモジュール・バス1020を介してマイクロプロ
セッサ1100に集められる。
D、インタープロセッサとインターモジュールの通信 1、 データ経路 コンピュータ・システム10の構成要素は、それら自身
によって故障許容システムを構成するものではない。正
常な動作の期間中および故障の検出と修正の動作の期間
中に通信を可能にする通信経路とプロトコールが必要で
ある。このような通信号に対するキーは、クロスリンク
経路25である。。クロスリンク経路25は、並列リン
ク、直列リンク、および既に説明したクロック信号によ
って構成される。これらは19図に示される。並列リン
クは、2組の同じデータおよびアドレス線、制御線、割
り込み線、符号化エラー線、および1本のソフト・リセ
ット・リクエスト線を有する。
データおよびアドレス線と制御線は、モジュール相互接
続部130と工32(または130′と132’)また
はメモリ・モジュール60(60’からCPtJモジュ
ールの間で交換される情報を有している。
割り込み線は、I10サブシステム(モジュール100
.110.120.100’  110’および120
’)で使用可能な割り込み水準の各々に対し1本の線を
有することが望ましい。これらの線はクロスリンク90
.95.90′、および95′によって共有される。
) 符号化エラー線は、両方のゾーンに対するコンソールr
HALTJ要求を同期させる複数のコードを有すること
が望ましく、これらの複数のコードの1つは両方のゾー
ンに対してCPUエラーを同期させるコード、1つは他
方のゾーンに対してCP U/メモリの故障の発生を示
すコード、1つは両方のゾーンに対してDMAエラーを
同期させるコード、および1つはクロック位相エラーを
示すコードである。各ゾーン11または11′からのエ
ラー線は、ゾーン11に対するORゲート1990また
はゾーン11’に対するORゲート1990’のような
ORゲートに対する人力である。各ORゲート2の出力
によって、他方のゾーンのクロスリンクに対する入力が
与えられる。
欠陥許容処理システム10は、過渡的な故障に関係なく
デュアル・レール・システムとして動作を継続するよう
に設計されている。I10サブシステム(モジュール1
00.110.120.100’、110’ 、120
’ )は、また過渡的なエラーまたは故障を経験しても
動作を′m続することができる。好適な実施例の場合、
ファイヤウオール比較回路1840の検出したエラーに
よって、同期化されたエラー・レポートがCPUの管理
する動作に関して経路25を介して行われる。
CPU30と30′のハードウェアは経路25を介して
同期化されたソフト・リセットを行い、故障のある動作
をもう一度行う。DMAの管理する動作の場合、同じエ
ラーの検出によって、同期割り込みが経路235を介し
て行われ、CPU40.50.40′、および50′の
ソフトウェアはDMAの動作を再び開始する。
ある種の過渡的なエラーは、動作を完全デユプレツクス
の同期形態で継続するように直ちに修復されるものでは
ない、例えば、メモリ・モジュール60に制御エラーが
発生すると、その結果メモリ・モジュール60に未知の
データが生じる。この場合、CPUとメモリ・エレメン
トは最早フェール・セーフ・システムの一部として信頼
性のある機能は果たすことはできず、従ってこれらを取
り外さなければならない。メモリ・アレー60はそこで
、CPUとメモリ・エレメントが再びメモリに取り付け
られる前に、メモリの再同期を行わなければならない。
経路25の符号化エラー線のCPUメモリ故障コードは
、CPU30のCPtJとメモリ・エレメントが故障し
ていることをCP130′に知らせる。
サイクル・タイプ、エラー・タイプおよび準備完了状態
の組み合わせを示す制御線によって、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つの場合、データはファイアウオール1
000、モジュール相互接続部130を介してクロスリ
ンク90に流れる。第12図から分かるように、クロス
リンク90はファイアウオール 1000からメモリ制
御装置90に流れるデータを遅延させ、その結果、クロ
スリンク90′に対するデータは、データがメモリ制御
装置70に加えられるのと同時に、このメモリ制御装置
70に加えられ、従って、処理システム20と20′が
同期状態のままであることが可能になる。このデータは
、次に内部バス46ど40′によってメモリ制御装置7
0および70’からCPU40および40′に進む。
同し経路を使用してCPU50と50′にデータを読み
込む。共有のメモリ制御装置1050からのデータはフ
ァイヤウオール1010を介してクロスリンク95に進
む。この時、データはクロスリンク95′と遅延装置を
介してクロスリンク95の内部の両方に流れる。
cpuyo読み出し動作は、また共有のメモリ制御装置
1050’とI10装置100′のローカルRAMを介
して処理システム20′のI10処置から受は取られた
データに対してもまた実行されることができる。
I10モジュール100.110、および120は同じ
ものであり、それぞれI10モジュール100’、11
0’   120’に対応するが、対応するI10モジ
ュールはロックステップ同期状態にはない。CPU  
Ilo読み出しのためメモリ制御装置1050’ とo
−JルRAM 1060 ’行う使用して、データは先
ずクロスリンク90’と95′に進む。残りのデータ経
路はメモリ制御装置1050からの経路と同しである。
データはクロスリンク90′と95′からメモリ制御装
置70′と75′を経由して最終的にそれぞれCPU4
0′と50′に進む。同時に、データはそれぞれクロス
リンク90と95を横切って進み、次に遅延エレメント
を経由しないでそれぞれCPU40と50に進み続ける
第20’B図は、ローカル・データのCPU  Ilo
書き込み動作を示す。このようなローカル・データはC
PU40.50.40′および50′からI10モジュ
ール100のようなI10モジュールに転送される。こ
のような動作の1つの例は、共有のメモリ制御装置10
50におけるレジスタAに対する書き込みである。CP
U40によって転送されるデータは同じ経路に沿って進
むが、その方向はCPU  Iloの読み出し期間中の
データの方向と逆の方向である。特に、このようなデー
タはバス46、メモリ制御装置70、種々のラッチ(同
期を行うため)、ファイヤウオール1000、およびメ
モリ制御装置1050を通過する。CPU50’からの
データは、またCPU110の読み出しの経路を逆の方
向に流れる。特に、このようなデータは、バス56′、
メモリ制御装置75′クロスリンク95′クロスリンク
95を経由しくファイヤウオール1010に行く。
上で述べたように、ファイヤウオール1000と101
0はIloの書き込み動作の期間中にデータをチエツク
して記憶する前にエラーを調べる。
書き込みが他方のゾーンのI10モジュールに対して行
われる場合、同じ動作が行われる。しかし、CPU50
と40′からのデータがCPU50′と40からのデー
タの代わりに使用される。
CPU50と40’からのデータは対称の経路を介して
共有のメモリ制御装置1050’に転送される。CPU
50と40′からのデータはファイヤウオール1000
’と1010’によって比較される。Ilo書き込みデ
ータに対してサービスを行うために異なったCPUの対
が使用される理由は、完全デュプレックス・システムで
正常に使用している期間中に全てのデータ経路をチエツ
クするためである。各ゾーンに対するインターレール・
チエツクはメモリ制御装置70.75.70’および7
5′で前に実行された。
第20C図は、DMA読取り動作に対するデー夕経路を
示す。メモリ・アレイ600からのデータは、同時にメ
モリ制御装置70と75に入り、次いでクロスリンク9
0と95に入る。クロスリンク90はファイヤウオール
1000に転送されたデータを遅延させ、その結果、ク
ロスリンク90と95′からのデータは実質的に同じ時
間にファイヤウオール1000と1010に到着する。
CPU  I10書き込み動作と同様に、種々のクロス
リンクに対するデータの4つのデータ/コピーが存在す
る。ファイヤウオールでは2つのコピーのみが受は取ら
れる。ゾーン11に対する読み出しを実行する場合には
、異なった対のデータが使用される。DMAの書き込み
動作に対するデータ経路は第20D図に示され、これら
はCPU110の読み出しに対するデータと同じである
特に、共有のメモリ制御装置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、 リセット システム10に関する上記の議論は、リセットに関する
多くの異なった必要性を考慮して行われた。議論しなか
ったある種の場合には、リセットは、電源が最初にシス
テム10に印加される場合等の標準的な機能のために行
われる。多くのシステムは1つのリセットを有し、この
リセットは常にプロセッサをある所定の状態または最初
の状態にセットし、従ってプロセッサの命令の流れを中
断する。しかし、大部分の他のシステムと異なって、シ
ステム10のリセットは、もし絶対的に必要でなければ
、CPU40.40′、50および50’による命令の
実行の流れに影響を及ぼさない。更に、システム10の
リセットは、正常な動作を回復するためにリセットされ
る必要のある部分のみに影響を及ぼす。
システム10のリセットの他の特徴は、これらのリセッ
トの抑制である。故障許容システムの最も重要な考慮す
べき事項の1つは、もしある機能が故障しても、その機
能はシステムの動作を停止してはならないことである。
この理由のため、システムのいかなる1つのリセットも
、ゾーン11と11’が直接に協力しないなら、ゾーン
11と11′の両方の構成要素を制御することはできな
い。従って、完全デュプレックス・モードで動作してい
るの場合、ゾーン11内の全てのリセットはゾーン11
’内のリセットとは独立している。
しかし、システム10がマスター/スレーブ・モードに
ある場合、スレーブゾーンはマスターゾーンのリセット
を使用する。更に、システムIO内のいかなるリセット
もメモリ・チップの内容に影響を及ぼさない。従って、
キャッシュ・メモリ42及び52、スクラッチ・パッド
・メモリ45および55またはメモリ・モジュール60
のいずれもリセットによっていかなるデータも失うこと
はない。
システム12は3つのクラスのリセット、すなわち、「
クロック・リセット」 「ハード・リセット」、および
「ソフト・リセット」があることが望ましい。クロック
・リセットはゾーン内の全てのクロック位相発生器を再
編成する。ゾーンll内のクロック・リッセトはまたC
PU40と50、およびメモリ・モジュール60をイニ
シアライズする。クロック・リセットは、これらのモジ
ュールのクロック位相発生器を再編成する以外にモジュ
ール相互接続部130と132に影響を及ぼさない。シ
ステム10がマスター/スレーブモードにある場合でさ
え、スレーブ・ゾーンでクロック・リセットを行っても
、これはマスターシップのモジュール相互接続部からス
レーブ・ゾーンのモジュール相互接続部に対するデータ
の転送を妨げない。しかし、ゾーン11′でクロック・
リセットを行うと、ゾーン11′内の対応する構成要素
がイニシアライズされる。
−m的に、ハード・リセットを行うと、全ての状態デバ
イスとレジスタはある所定の状態または最初の状態に戻
る。ソフト・リセットを行うと、状態エンジンと一時的
に記憶を行うレジスタのみがそれらの所定の状態または
最初の状態に戻るだけである。1つのモジュール内の状
態エンジンはそのモジュールの状態を決める回路である
。エラー情報と構成データを有するレジスタはソフト・
リセットによって影響を与えられない。更に、システム
10は、処理を継続するために、再びイニシアライズさ
れる必要のある構成要素のみをリセットするために同時
にハード・リセットとソフト・リセットの両方を選択的
に行う。
ハード・リセットはシステム10をクリアし、従来のシ
ステムと同様に、システム10を既知の構成に戻す。ハ
ード・リセットは、ゾーンが同期されるべき場合または
I10モジュールをイニシアライズまたは不能にするべ
き場合に、電源を印加した後、使用される。システム1
0の場合、4つのハード・リセット、すなわち、「パワ
ーアップ・リセット」、rcpuCPUハードット」、
「モジュール・リセット」、及び「デバイス・リセット
」があることが望ましい。ハード・リセットハ更にロー
カル・ハード・リセットとシステム・ハード・リセット
に分けることができる。ローカル・ハード・リセットは
、CPUがスレーブ・モードにある場合に応答するロジ
ックのみにに影響を及ぼす。システム・ハード・リセッ
トは、クロスリンク・ケーブル25とモジュール相互接
続部130及び132に接続されているロジックのみに
限定される。
パワーアップ・リセットは、電源が印加された直後に、
ゾーン11と11′をイニシアライズするために使用さ
れる。パワーアップ・リセットによって、ゾーンの全て
の部分に対して強制的にリセットが行われる。パワーア
ップ・リセットはシステム11のゾーンの間では決して
接続されないが、その理由は、各ゾーンがそれ自身の電
源を有し、従って異なった長さの「電源投入」イベント
を経験するからである。パワーアップ・リセットは全て
のハード・リセットとクロック・リセットをゾーン11
または11′に行うことによって実行される。
CPUハード・リセットは、CPUモジュールを既知の
状態に戻すため診断目的に使用される。
CPUハード・リセットは影響の与えられたゾーン内に
あるCPU、メモリ制御装置、およびメモリ・モジュー
ル、状態レジスタの全ての情報をクリアする。キャッシ
ュ・メモリとメモリ・モジュールは不能にされるが、ス
クラッチ・パッドRAM45および55の内容とメモリ
・モジュール60の内容は変化されない。更に、パワー
アップ・リセットと違って、CPUハード・リセットは
クロスリンクのゾーン識別またはクロック・マスターシ
ップを変更しない、CPUハード・リセットは、CPU
モジュールとクロック・リセットに加えることのできる
全てのローカル・ハード・リセットの合計である。
・モジュール・ハード・リセットは、ルートストラッピ
ングの期間中のような既知の状態にI10モジュールを
セットするために使用され、また故障したI10モジュ
ールをシステムから取り外すためにも使用される。I1
0モジュール・ハイド・リセットはモジュール上の全て
のものをクリアし、診断モードでファイヤウオールを離
れ、ドライバを不能にする。
デバイス・リセットは、I10モジュールに接続された
I10デバイスをリセットするために使用される。これ
らのリセットは装置に依存し、装置が接続されているI
10モジュールによって与えられる。
他のクラスのリセットはソフト・リセットである。上で
説明したように、ソフト・リセットは、システム10内
の状態エンジンと一時的レジスタをクリアするが、これ
らはクロスリンク内のモード・ビ・ントのような構成情
報を変化させない。更に、ソフト・リセットは、またモ
ジュール内のエラー処理機構をクリアするが、これらは
システム・エラー・レジスタ898およびシステム故障
アドレス・レジスタ865のようなエラー・レジス1り
を変化させない。
ソフト・リセットには目標が定まっているので、その結
果、システムの必要な部分のみがリセットされる。例え
ば、モジュール相互接続部130がリセットされる必要
があれば、CPU40はリセットされず、また■/○モ
ジュール110に接続されている装置もリセットされな
い。
ソフト・リセットには3つのユニークな特徴がある。1
つは各ゾーンがそれ自身のリセットの発生に対して責任
を負っていることである。1つのゾーン内の故障エラー
またはリセット・ロジックは、従って故障の発生してい
ないゾーンでリセットを行うことを防止される。
第2の特徴は、ソフト・リセットが命令実行のシーケン
スを乱さないことである。CPU40.40’   5
0、および50’はクロックとハード・リセットの組み
合わせのみによってリセットされる。更に、メモリ制御
装置70.75.70′および75′はハード・リセッ
トに取り付けたCPU命令にサービスを行うのに必要な
それらの状態エンジンとレジスタを有している。従って
、ソフト・リセットはソフトウェアの実行にとって透明
である。
第3の特徴は、ソフト・リセットの範囲、すなわちソフ
ト・リセットによって影響を与えられるシステム10内
の構成要素の数がシステム10のモードと最初のリセッ
トに対する要求によって決まるということである。完全
デュプレックス・モードの場合、CPUモジュール30
で開始されるソフト・リセットに対する要求によって、
ソフト・リセットがCPUモジュールの全ての構成要素
およびモジュール相互接続部130と132に取り付け
られた全てのファイヤウオール1000と1010に対
して行われる。従って、モジュール相互接続部130と
132によってサービスを受ける全てのモジュールはそ
れらの状態エンジンと一時的レジスタのリセットを有し
ている。これによって、過渡的なエラーによって発生さ
れる全ての問題のシステム・パイプラインがクリアされ
る。
システム10は、デュプレフクス・モードにあるので、
ゾーン11′はゾーン11の行っている全ての事柄を行
う、従って、CPUモジュール30’は、CP、Uモジ
ュール30と同時に、ソフト・リセットに対する要求を
出す。ゾーン11′内のソフト・リセットは、ゾーンl
l内のソフト・リセッ、トと同じ効果を有している。
しかし、システム10がマスタ/スレーブ・モードにあ
りCPUモジュール30′がスレーブ・モードにある場
合、CPUモジュール30で始まるソフト・リセットに
対する要求は、予期できるように、CPUモジュール3
0の全ての構成要素とモジュール相互接続部130と1
32に取り付けられた全てのファイヤウオールl000
と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と9
5を有する。CPUソフト・リセットは、またDMAま
たはIloのタイムアウトに続いて発生することもでき
る。DMAまたはIloのタイムアウトは、I10デバ
イスが特定の時間間隔内にDMAまたはIloの要求に
対して応答しない場合に発生する。
第21図は、CPUモジュール30および300′から
I10モジュール100,110,100’および11
0′とメモリ・モジュール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は、そ
れぞれクロック発生袋W 2260と2261を有する
。クロック発生装置は、システム・クロック信号を個々
のモジュールによって使用するために分割する。
メモリ制御装置70は、リセット制御回路2230とソ
フト・リセット要求レジスタ2235を有する。メモリ
制御装置75は、リセット制御回路2231とソフト・
υセット要求レジスタ2236を有する。
クロスリンク90は、ローカル・リセット発生装置22
40とシステム・リセット発生装置2250の両方を有
している。クロスリンク95は、ローカル・リセット発
生装置2241とシステム・リセット発生装置2251
を有している。クロスリンクの「ローカル」部分は、こ
のクロスリンクがスレーブ・モードにある場合に、CP
Uモジュールと共に残っているこのクロスリンクの部分
であり、従って、シリアル・レジスタ、および幾つかの
パラレル・レジスタを有している。クロスリンクの「シ
ステム」部分は、モジュール相互接続部130と132
(または130′と132’)とクロスリンク・ケーブ
ル25にアクセスするために必要であるクロスリンクの
その部分である。
ローカル・リセット発生装置f3340と2241は、
それぞれクロスリンク90と95のローカル・リセット
制御回路2245と2246にハードおよびソフト・リ
セット信号を送ると共に、それぞれメモリ制御装置70
と75のリセット制御回路2230と2231にハード
およびソフト・リセット信号を送ることによって、CP
Uモジュール30に対してリセットを発生する。ローカ
ル・クロスリンク・リセット制御回路2245と224
6は、それらの状態エンジン、転送するべきデータを記
憶しているラッチおよびそれらのエラー・レジスタをリ
セットすることによって、ソフト・リセット信号に応答
する。これらの回路は、ソフト・リセットに対して行う
のと同じ動作を行い、またエラー・レジスタと構成レジ
スタをリセットすることによって、ハード・リセット信
号に応答する。
リセット制御回路2230と2231は、同じ方法でハ
ードおよびソフト・リセット信号に応答する。
更に、ローカル・リセット発生装置2240は、モジュ
ール相互接続部130と132を介して、I10モジュ
ール100.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の全てに行き渡ること
を保証するため、適当な遅延要素を有している。
事実、リセットの同期は、システム10では非常に重要
である。これは、リセット信号がクロスリンクで始まる
からである。このようにして、リセットはほぼ同期して
異なったモジュールとこれらのモジュール内の異なった
要素に到達するように送られることができる。
第21図と第22図の構造を理解することによって、異
なったハード・リセットの実行をよりよく理解すること
ができる。パワーアップ・リセットはシステム・ハード
・リセットとローカル・ハード・リセットおよびクロッ
クこリセットの両方を発生する。−船釣に、クロスリン
ク90.95.90′および95′は最初はクロスリン
ク・オフモードと再同期オフ・モードの両方の状態にあ
り、両方のゾーンはクロック・マスターシップを表明す
る。
CPU/MEM故障リセットは、メモリ制御装置70.
75.70′および75′がCPM/MEMの故障を検
出する時は何時でも自動的に動作される。符号化エラー
・ロジックはエラー・ロジック2237と2238から
両方のクロスリンク90と95に送られる。故障が発生
したCPUモジュールは、そのクロスリンクをスレーブ
状態にセットし、他方のCPUモジュールのクロスリン
クをマスター状態にセットすることによって、システム
10から取り除かれる。しかし、故障が発生していない
CPUモジュールは、リセットを経験しない。その代わ
り、これはシリアル・クロスリンク・エラー・レジスタ
(図示せず)内のコードを介して、他方のモジュールの
故障を知らされる。CPU/MEM故障リセットは、故
障したCPUモジュールを有するゾーンに対するクロッ
ク信号とそのモジュールに対するローカル・ソフト・リ
セットによって槽底される。
再同期リセットは、基本的にはローカル・ハード・リセ
ットとクロック・リセットを有するシステム・ソフト・
リセットである。この再同期リセットは、2つのゾーン
をロックステップ同期の状態にするために使用される。
ゾーン11と11’が同期されていなかった一定の期間
の後、もしCPUレジスタの記憶された状態を含むメモ
リ・モジュール60と60’の内容が相互に等しくセッ
トされれば、これらのゾーンがデュプレックス・モード
を再び開始することができるように、再同期リセットが
使用されてこれらのッゾーンを互換性のある構成にする
再同期リセットは、基本的にはCPUハード・リセット
とクロック・リセットである。再同期リセットは、再同
期・リセット・アドレスを並列クロスリンク・レジスタ
の1つに書込むソフトウェアによって動作される。この
時、一方のゾーンは、クロスリンク・マスター/再同期
マスター・モードでなければならず、他方のゾーンは、
クロスリンク・スレーブ/再同期スレーブ・モードでな
ければならい。そこでリセットが両方のゾーンで同時に
行われ、これは、とりわけ4つのクロスリンク全てをデ
ュプレックス・モードにセットする。
再同期リセットは、システム・ソフト・リセットではな
いため、I10モジュールはリセットを受取らない。
システム10の好適な実施例は、またクロ・ツク・リセ
ット信号がコンフォーミング(conforming)
クロックをリセットせず、非コンフォーミング・クロッ
クのみをリセットすることを保証する。この理由は、ク
ロックがリセットされる場合はいつでも、これはクロッ
クのタイミングを変更し、このタイミングはこんどはこ
のようなりロックでモジュールの動作に影響を及ぼすか
らである。もしモジュールが正しく実行され、このクロ
ックが正しい位相であれば、その動作を変更することは
不必要であるばかりでなく無駄なことである。
第23図は、ノンコンフォーミング・クロックのみがリ
セットされることを保証する回路の好適な実施例である
。第23図に示す回路は、第22図に示す対応するモジ
ュールのクロック発生装置2210.2211.222
0.2221.2260、および2261内に位置する
ことが望ましい。
好適な実施例の場合、異なったクロック発生装置221
0.2211.2220.2221゜2260、および
2261は立上がり区間検出器2300、と位相発生装
?!2310を有している。
立上がり区間検出器2300は、クロスリンク90と9
5からクロック・リセット信号を受取り、クロック・リ
セット信号の立上がり区間と同時に既知の持続期間を有
するパルスを発生する。このパルスは、特定のモジュー
ルに対する内部クロック信号と同様に位相発生装置23
10に対する入力である。そのモジュールに対する内部
クロック信号は、発振器システム200と200′から
分配されたシステム・クロック信号から取出されたクロ
ック信号である。位相発生装置2310は、クロック信
号に対する異なった位相を形成する下方分割回路である
ことが望ましい。再循環シフト・レジスタのような位相
発生装置2310に対する別の設計をまた使用すること
もできる。
立上がり区間検出器2300からの立上がり区間パルス
によって、位相発生装置2310は予め選択された位相
を出力することが望ましい。従って、例えばもし位相発
生装置2310が幾つかのステージを有する下方分割回
路であれば、クロック・リセットの立上がり区間パルス
は、そのステージに対して設定された入力であり、この
ステージは全ての他のステージに対して予め選択された
位相とりセット入力を発生する。もし位相発生装置23
10が既にこの位相を発生していれば、同期化クロック
・リセット信号の存在は基本的に透明である。
このようにして組織されたリセットは、システム10の
通常の実行に対して混乱を最小限に止めるように設計さ
れ、トラスチックなアクションが必要とされる場合には
、このトラスチックなアクションは命令実行の通常のシ
ーケンスに割込みをかけることに止まる。このことは、
従来のりセントが引起こす再同期化の問題のためにデュ
アルまたは多重ゾーンの環境では特に重要である。従っ
て、システム10で行っているようにハード・リセット
の数を最小にすることが望ましい。
E0診断テストおよび故障検出 システム10にブーストラップを使う以前に、故障のモ
ジュールを検出するために診断テストが遂行される。こ
のような診断テストの途中で発見されたエラーは現場で
訂正可能である。このことは、診断テストが実行され動
作システムがブートされ即ちシステム10が通常の動作
に入った後に検出されたエラーと区別すべきものである
。この時点で発見されたエラーは現場で訂正不可能なも
のと考えられる。
コンピユーテイングシステム10における診断テストは
、第24図のフローチャート2400に示されるシーケ
ンスで遂行されると好適である。
ゾーン11および11’の両方が診断テストを実行する
が、ゾーン11のみをこの発明で推奨する方法が説明す
るのに用いる。
ゾーン11に電力が投入される(ステップ2402)と
、例えば■/○モジュール100,110および120
およびCPUモジュール30のような個別のモジュール
は、自動式モジュール診断テストを遂行すべく進む(ス
テップ2404)。ゾーン11に電力が投入された後に
生成される電力投入リセットが各110モジユールのI
10ドライバを不能にすることから、I10モジュール
100.110および120は当初はインクコネクク1
30および132と接続していない。モジュール診断テ
スト中において各モジュール間を不接続にすることによ
って、モジュールテストを厳密に各モジュールの境界内
において遂行することができる。
I10モジュールのそのモジュールの診断テストがうま
く完了した後においてのみ、そのI10モジュールのド
ライバがモジュールインクコネクタ130および132
へ接続可能とされる。
CPUモジュール30は各1/○モジユールと不接続で
あるが、推奨実施例においてはCPUモジュール30は
メモリモジュール60には不接続となっていない。これ
は、各CPU40および50がメモリモジュール60ば
かりでなくモジュール30の診断テストにも責任を負う
からである。メモリモジュール60をテストするにはC
PU40および50のそれぞれが診断テストの途中にお
いてメモリモジュール60との相互接続を起動できる必
要がある。しかし、CPU40および50は、モジュー
ル診断テストの途中において各I10モジュールを接続
するためにクロスリンク90および95のドライバを起
動することはない。
推奨実施例においては、モジュール診断テストは例えば
モジュール100のような個別のI10モジュール内に
おいて例えばプロセッサ1100のような診断プロセッ
サによって遂行される(第1および17図)。診断テス
トを実行する手続きは一般に、例えばROM43および
53のようなメモリデバイスおよびCPUモジュール3
0の中に格納される(第3図)。
第25図は、モジュール診断テストの手続きを示すフロ
ーチャート2500である。一般に、各モジュール内に
おけるモジュール診断テストは、その他のモジュールの
モジュール診断テストとは独立して実行される。
ゾーン11に電力が投入されると、発行されたパワーア
ップリセットがゾーン11内の各モジュールの磁気イン
ディケータを故障表示状態に設定する。モジュールのレ
ジスタにも、この故障表示状態に対応するビットが設定
される。第26図は、モジュール2600の磁気インデ
ィケータ2610の一例を示す。インディケータ261
0は、好ましくは二つのポジションを備えた双安定磁気
インディケータであり、一つは故障の在ることを示し、
もう一つは故障のないことを示すものである。モジュー
ル診断テストを好結果で完了することによってのみモジ
ュール2600の磁気故障表示器2610をクリアする
ことができる。
モジュールのインディケータは、視覚で判断できるもの
であるべきだが、磁気のものである必要はない。例えば
、このインディケータはLEDであってもよい。視覚で
感じることのできるインディケータによって、システム
オペレータまたは他の者はどのモジュールが故障を起し
たかを直ちに知ることができる。さらに、本発明の推奨
実施例においてはシステム内の総てのモジュールの故障
表示ビットに対応する信号を受信するために結合された
信号線2620を例えば配線式OR構成に一つに結合し
、別のインディケータ2630に供給している。インデ
ィケータ2630はオペレータに対していずれかのモジ
ュールが故障状態にあるかどうかを知らせる。
次に、モジュール診断テストが行われる(ステップ25
02)。このテストの途中に故障が検出されない場合(
ステップ2503 ) 、6m磁気故障インディケータ
クリアされ(ステップ2504)そのモジュールは有効
と判定される(ステップ2514)。勿論、モジュール
の他の部分がチエツクされることを確実にするために付
加的なテストを実行するまで磁気インディケータをクリ
アすることを延ばしてもよい。
モジュール診断テストが好結果でない場合(ステップ2
503 ) 、磁気インディケータは設定されたままと
なり、診断ビットと呼ぶモジュールのEEFROMの診
断「ブロークコビットが設定される(ステップ2505
 )。さらに何らかの検出された故障をドキュメントし
た別の情報をモジュールのEEFROMに格納すること
ができる(2505)。
あるモジュールについてEEPROMに診断ピントが設
定されると、システムはそのモジュールが修理されるま
では、それを使用することはできない。普通は、サービ
ス人員が、モジュール故障状態を直すために現場修理を
試みる(ステップ21,506)。この修理の後に、モ
ジュール診断テストを再度行う(ステップ250B)。
推奨実施例においては、モジュール診断テストの反復は
、ゾーン全体をリセットするか或いはオペレータのコン
ソールを通して故障したモジュールのマイクロプロセッ
サに直接指令を送るかして行うことができる。
もしこの時点でモジュール診断テストが好結果で完了し
た場合(ステップ2510)は、このテスト手続きが、
磁気故障インディケータおよびEEFROMの診断ピン
トをクリアする(ステップ2512)。
モジュール診断テストの反復の途中で何らかの故障が起
きた場合(ステップ2510)は、磁気インディケータ
および診断ビットはクリアされず、追加の故障情報をE
EPROMに記録することができる(ステップ2516
)。さらに修理することが望ましい場合(ステップ25
1B)は、修理(ステップ2506)およびモジュール
診断テストを反復する(ステップ250B)。モジュー
ル診断テストを好結果に実行できずそれ以上の修理が不
可能か或いは何か他の理由で行われない場合(ステップ
2518)は、モジュール診断テストを完了し、そのモ
ジュールを使用不能として分類する(ステップ2520
)。
第24図のフローチャート2400において、CPUモ
ジュール30またはメモリモジュール60のいずれか或
いは両方がモジュール診断テスト(ステップ2406)
に合格しない場合は、処理システム20はコンソールモ
ードとなる(ステップ2408)。これは、これらモジ
ュールの両方がないと、ゾーン11を起動できないため
である。
CPUモジュール30およびメモリモジュール60がそ
れぞれのモジュール診断テストを好結果で完了した場合
は、ゾーン診断テストは次にCPU40および50によ
って実行される(ステップ2410)。
ゾーン診断テストの一環として、CPU40および50
は、CPUモジュール30、I10モジュール100,
110および120間のモジュールインタコネクタ13
0および132を3周べる。
CPU40および50が“有効な′”I10モジュール
が1つもないと判定したときは、ゾーン診断テストは成
功せず(ステップ241.2)、ゾーンはコンソールモ
ードに切換えられる(ステップ2408)。CPUモジ
ュールが通信できる■10モジュールが少なくとも1個
ある場合は、ゾーン診断テストは先へ進む。
ゾーン診断テスト中に故障が検出された場合は、CPU
および50は、ゾーン診断テストが不成功であると判断
する(ステップ2412)。そして、ゾーン11は、適
当な対策を講じられるように、コンソールモードへと切
換えられる(ステップ2408)。
ゾーン診断テストが好結果で完了した場合(ステップ2
412)、ゾーン11は直列クロスリンクを介してゾー
ン11′の状態を査定する(ステップ2414)。この
査定の目的は、ゾーン11’がシステム診断テスト、即
ち両方のゾーンを含めた診断テストを実行することがで
き且つそれに利用可能であるかどうかを判定することに
ある。
ゾーン11′が診断テストの実行に利用できない場合は
、モジュールおよびゾーンの診断テストを成功させたゾ
ーン11は、ロードをブーストラップするか或いはメモ
リ同期化動作の遂行のいずれかを試みる(ステップ24
22)。ゾーン11’を利用可能な場合は、システム診
断テストはゾーン11および11′によって遂行される
(ステップ2416)。
システム診断テスト中に故障が検出された場合、ゾーン
11および11′は、システム診断テストは好結果で完
了しなかったと判定する(ステップ2418)。このよ
うな場合は、故障のあるモジュールはシステムから除去
され(ステップ2419)、ゾーン11′がシステム診
断テストを実行することができ且つ利用可能であるかど
うかを判断するために別の判定を下す、除去されたモジ
ュールがCPUモジュールの場合は、質問に対する答え
はノーである。この場合、ゾーン11は、それがゾーン
診断テスト(ステップ2422)を好結果で完了したこ
とから、自身をブートしようと試みることになりゾーン
11′はコンソールモードとなる。
故障を検出することなしにシステム診断テストが遂行さ
れた場合は、診断テストは完了したものとみなされ、各
ゾーンはブーストラップローディングへと進む(ステッ
プ2420)。
ゾーンおよびシステム診断テストは、第25図のフロー
チャート2500についてモジュール診断テストを説明
したのと類似して進行する。ゾーンおよびシステム診断
テスト中に検出された故障の査定および訂正の機会が設
けられている。故障インディケータを、故障が最初に検
出されたゾーンまたはシステムテストを再実行すること
によって、EEPROMからクリアすることができる。
実際、推奨実施例においては、EEPROMをクリアす
る唯一の方法は、以前に故障を明らかにしたものと同じ
診断テストを好結果で完了することである。
しかし、これは常に可能なことではない。例えば、故障
がシステム診断テスト中に検出され記録されるが、修理
後にはゾーンの一つが使用できない場合がある。この状
況においては、モジュールがモジュールおよびゾーン診
断テストをバスしたとしても、モジュールのEEFRO
Mから故障表示をクリあすることは不可能である。
モジュール、ゾーンおよびシステムテストの途中で検出
され且つ現場で訂正できないモジュール故障については
、適切な情報をいろいろなモジュール内にあるEEPR
OMに記録することができる。好ましくは、現場でモジ
ュールを修理できなかった技術者が後に故障の本質を査
定できるようにし、したがって適切な訂正のための対策
が講じられるように充分な情報をEEPROMに記憶さ
せるとよい。
CPUモジュール30については、CPU40および5
0がそれぞれEEFROM44および54に故障情報を
格納するとよい。メモリモジュール60については、C
PU40および50がメモリモジュール60(第5図)
のEEFROM640に故障情報を格納するとよい。I
10モジュール100については、診断用マイクロプロ
セッサ1100が、バス1020 (第17図参照)に
接続するTloEEPROMI 155に故障情報を記
録するとよい。実際には、CPU40および50の一つ
が、故障情報をEEPROMI 155に書込むように
診断用マイクロプロセッサ1100を指令することが好
ましい。
この発明にしたがった診断テストの重要な特徴は、ある
種の故障を訂正できることにある。本発明に従えば、診
断手続きを、その途中において故障を検出し、それが現
場で訂正可能な場合はそれを訂正することのできる手続
きとしてみなすことができる。
この診断手続きは、システムがブートされ且つエラーの
検出に対応して動作システムが故障モジュールを特定し
た後に起きる故障ハンドリングとは異なるものである。
これら二つの手続きの間に違いがあるのは、その効率に
よるものである。システム10の構成要素が組立てられ
、システムに電力が投入された場合に、例えば回路板を
間違った場所に設置したというような取るに足らない原
因による特定の故障が検出されることがある。このよう
な故障は、モジュール自体には何ら異常がない場合には
、現場で訂正する方が、モジュールを交換して修理に出
すよりは効率的である。
診断テストの際中に検出された故障とは対象的に、シス
テム動作の途中で検出された故障は、例えば構成要素の
障害のような現場では訂正できない性質の問題を示す。
システムlOは既に診断テストを受けているから、この
ような故障は一般に深刻である。
EEFROMは、動作システムがブートされた後に検出
された故障についての情報を格納するのにも用いること
もできる。一般に、このようなエラーは、ハードウェア
によって検出され、CPU40.50.40’および5
0′での動作システムは、そのエラーについて後に知ら
される。本発明の推奨実施例では、断続的(即ち繰返し
しない)および切れ目のない(即ち繰返しする)故障に
ついて情報を格納するかどうか、そしてもしそうする場
合は、それらの故障についてどんな情報を格納するかを
動作システムが決定することができる。
格納された情報には、動作システム°°ブローク°゛ビ
ットおよび故障の原因を後に評価するのに充分なデータ
を含むことが好ましい。
この発明の推奨実施例においては、動作システムによっ
て突きとめられた故障からの格納された故障情報は、適
切な修理施設の技術者による以外はクリアすることがで
きない。したがって、このような現場で訂正できない故
障の表示をつけたモジュールは、磁気インディケータお
よび動作システム“°ブローク″ビットの両方として、
モジュールが修理されるまでその表示をつけ続けること
になる。これによって、モジュールを、不注意から交換
用モジュールとしてシステムに設置することを妨げる。
推奨実施例においては、そのような不ン主意な設置は、
そのモジュールのEEPROMが診断テスト中或いは動
作中のシステムによって読まれた場合に検出されること
となり、そのモジュールはその時点において故障してい
ると宣せられる。
本発明の別の特徴として、I10モジュールにおいて、
システム動作中に検出されたエラーのソースがモジュー
ル内であることを動作システムが確実には知ることので
きない場合は、I10モジュールのEEPROMI O
55に“°ブロークバイインプリケーション°”  (
BBI)ビットを設定するように動作システムがプロゲ
ラl、されている。
例えば、I10モジュールがモデムを妨害し、動作シス
テムによって検出されたエラーの本質が、I10モジュ
ールまたはモデムのいずれが故障しているかの判定を可
能にするのに充分でない場合がある。BBIビットは、
動作システムが特定のI10モジュールが故障していな
いと判断したときに、動作システムによってクリアされ
る。
推奨実施例においては、BBIビットの状態の変化は、
モジュールの磁気インディケータを設定させる。これは
各モジュールの診断および動作システム″ブローク″ビ
ットと対象的であり、それの、設定状態が磁気インディ
ケータを設定させる。
I10モジュールについては、サービス技術者は5、磁
気インディケータによってBBIビットが設定されてい
るモジュールに案内される。しかし、特定のI10モジ
ュールを含むゾーンが業務またはリセットから除外され
た場合は、システムを業務に復帰させるにあたって診断
テストが好結果で完了した場合に、磁気インディケータ
はクリアされる。結果として、磁気インディケータがク
リアされたことによって、モジュールは故障モジュール
として取扱われることはなく、このことは、そのモジュ
ールが実際に故障を起したかどうかわからないことから
適切といえる。BBIビットによって最初は設定された
磁気インディケータが診断テストの結果、クリアされた
としても、BBIビット自体は、動作システムによって
クリアされるまでは設定されたままである。
■、結論 本発明は、その推奨実施例によって示されるように、モ
ジュールについての故障情報を現場で直せる故障と現場
で直せない故障とで区別するような方式で記録する方法
を提供するなどして、顕著な効果を達成した。この発明
の方法および装置において変更や変化が可能なことは当
業者にとっては明白である。したがって、より広い見地
から、本発明は、提示且つ説明された特定の詳細、代表
としての方法および装置、説明のための例に限定される
ものではない。したがって、総合的発明概念の精神およ
び範囲から逸脱することなしにこのような詳細から変化
することが可能である。
【図面の簡単な説明】
第1図は、本発明を実施する故障許容コンピュータ・シ
ステムの好適な実施例のブロック図である。 第2図は、第1図の故障許容コンピュータ・システムを
有する物理的ハードウェアを示す。 第3図は、第1図の故障許容コンピュータ・システムに
示すCPUモジュールのブロック図である。 第4図は、第1図に示すコンピュータ・システムの相互
に接続されたCPUモジュールとI10モジュールのブ
ロック図を示す。 第5図は、第1図に示す故障許容コンピュータ・システ
ムのメモリ・モジュールのプロ・ンク図を示す。 第6図は、第5図に示すメモリ・モジュールの制御ロジ
ックの構成要素の詳細図である。 第7図は、第3図に示すCPUモジュールのプライマリ
・メモリ制御装置の部分ブロック図を示す。 第8図は、第3図のCPUモジュールのプライマリ・メ
モリ制御装置のDMAエンジンのらブロック図である。 第9図は、第3図のCPUモジュールのプライマリ・メ
モリ制御装置のエラー処理回路図である。 第1O図は、第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図は、システム10の診断テストのためのフロー
チャートの図である。 第25図は、変調診断テストのためのフローチャート、
そして、 第26図は、コンピユーテイング変調上での磁気インデ
ィケータの使用を示す図である。 手 続 補 正 書く方式) 1、事件の表示 平成2年特許願第203803号 3、補正をする者 事件との関係 出 願人 4代 理 人

Claims (1)

  1. 【特許請求の範囲】 1、データ処理システムのモジュールの故障の有無を判
    定するために診断手続きのみを実行できる場合の診断モ
    ードと、非診断手続きが実行される場合の完全動作モー
    ドとの両方で動作可能な前記データ処理システムで用い
    られるモジュールの動作をテストする方法において、そ
    の方法が、 モジュールにおける故障の有無を判定するためにデータ
    処理システムが診断モードにある場合に、該モジュール
    上で自動化された診断手続きを実行する段階と、 診断手続き中に故障が検出された場合に、 検出された故障が現場で訂正可能であるかもしれないこ
    とを示診断情報をモジュールに自動的に格納する段階と
    、 データ処理システムが作動可能モードにある場合に、デ
    ータ処理システムにおいて非診断手続きを実行する段階
    と、 データ処理システムが非診断手続き実行している間に、
    モジュールにおける故障の存在を自動的に検出する段階
    と、 非診断手続き中において故障が検出された場合に、検出
    された故障が現場で修理できないものであることを示す
    非診断故障情報をモジュールに自動的に格納する段階と
    を含むことを特徴とするデータ処理システムに用いられ
    るモジュールの動作をテストする方法。 2、前記モジュールが、診断および非診断故障情報の一
    部として、診断および非診断手続き中に検出された個々
    の故障の記録を格納するための不揮発性記憶装置を含み
    、 前記方法が更に、 診断手続き中に現場で訂正できると判定されたところの
    故障を訂正する段階と、 診断手続き中に検出された個々の故障のモジュールメモ
    リ内での記録を現場で訂正できる故障を訂正した後にク
    リアする段階とを含むことを特徴とする請求項1記載の
    方法。 3、更に、現場で訂正できるところの故障を検出した際
    に実行された自動化された診断手続きを反復する段階含
    み、 個々の故障の記録をクリアする段階が、 診断手続きが反復された際に故障が生じない場合にのみ
    各故障の記録をクリアする従属段階を含むことを特徴と
    する請求項2記載の方法。 4、モジュールが前記データ処理システムに接続可能で
    あり、前記データ処理システムから独立してモジュール
    レベルの診断手続きを実行することが可能であり、 自動化された診断手続きを実行する段階がモジュールの
    データ処理システムへの電気的接続の以前にモジュール
    レベル診断手続きを実行する段階を含むことを特徴とす
    る請求項1記載の方法。 5、モジュールが、診断および非診断手続き中に検出さ
    れた個々の故障の記録を格納するメモリを含み、 前記方法が更に、 診断手続き中に現場で訂正できると判定されたところの
    故障を訂正する段階と、 診断手続き中に検出された個々の故障のモジュールメモ
    リ内での記録を故障が訂正された後にクリアする段階と
    を含むことを特徴とする請求項4記載の方法。 6、更に、診断手続きを実行した際に故障が検出された
    場合に、モジュールメモリにある故障の記録をクリアす
    る以前に自動診断手続きを反復する段階を含み、 個々の故障の記録をクリアする段階が 診断手続きが反復された際に故障が生じない場合にのみ
    各故障の記録をクリアする従属段階を含むことを特徴と
    する請求項4記載の方法。 7、前記モジュールが、前記データ処理システムにおい
    て各I/OモジュールのためのインタフェースをとるI
    /Oモジュールであり、 前記I/Oモジュールが診断および非診断手続き中に検
    出された個々の故障の記録を格納するメモリを含み、 前記方法が更に、 前記非診断手続きが前記I/Oモジュールによるかもし
    れない故障の存在を検出した場合に、前記メモリに第1
    所定ビットを暫定的に設定する段階と、 前記データ処理システムが前記I/Oモジュールが検出
    された故障のソースではないと判断した場合に、前記第
    1所定ビットをリセットする段階とを含むことを特徴と
    する請求項6記載の方法。 8、モジュールが、第1および非診断手続き中に検出さ
    れた各故障の記録を格納するための不揮発性記憶装置を
    含み、 モジュールが可視のインディケータを含み、前記方法が
    更に、 診断或いは非診断の手続きが該記憶装置に格納されてい
    る際中に故障の記録が検出された場合に、モジュールに
    可視のインディケータを設定する段階を含むことを特徴
    とする請求項1記載の方法。 9、CPUを備えた第1データ処理ゾーンとCPUを備
    えた第2データ処理ゾーンとを含み、前記第1および第
    2ゾーンのそれぞれが、それぞれに故障情報を格納する
    記憶要素を備えた複数のデータ処理モジュールを有する
    データ処理システムにおいて、データ処理システム、ゾ
    ーンおよびモジュールの診断テストを遂行する方法が、 モジュールにおける故障の有無を判定するために個々の
    モジュールで自動モジュールレベル診断手続きを遂行す
    る段階と、 モジュールレベル診断手続き中に故障が検出された各モ
    ジュールの記憶要素にモジュール情報を自動的格納する
    段階と 前記モジュールレベル診断手続き中に故障が検出されな
    かった場合に、個々のモジュールを前記各ゾーンに結合
    する段階と、 各ゾーンのモジュールの故障の有無を判定するために、
    前記第1および第2ゾーンのそれぞれのモジュールのた
    めのゾーンレベル診断手続きをそれぞれのゾーンに対応
    するCPUによって遂行する段階と、 ゾーンレベル診断手続き中に故障を検出した各モジュー
    ルの記憶要素にゾーンレベル情報を自動的に格納する段
    階と、 ゾーンレベル診断手続き中に故障が検出されない場合に
    、前記データ処理システムを形成するために第1および
    第2ゾーンを一緒に結合する段階と、 システム中の各モジュールの故障の有無を判定するため
    に、データ処理システム全体の各モジュールのためのシ
    ステムレベル診断手続きを各CPUによってほぼ同時に
    遂行する段階と、システムレベル診断手続き中に故障が
    検出された各モジュールの記憶要素にシステムレベル情
    報を自動的に格納する段階と を含むことを特徴とするデータ処理システム、ゾーンお
    よびモジュールの診断テストを遂行する方法。 10、モジュール、ゾーンおよびシステムレベル診断手
    続き中に格納された対応するモジュール、ゾーンおよび
    システムレベル情報が対応する手続き中に検出された各
    故障の記録を含み、 前記方法が更に、 対応する診断手続き中に現場で訂正できると判定された
    ところの故障を訂正する段階と 対応する診断手続き中に検出された各故障の記録を現場
    で訂正できる故障の訂正の後にクリアする段階と を含むことを特徴とする請求項9記載の方法。 11、更に、故障が検出された際の対応する診断手続き
    を反復する段階を含み 各故障の記録をクリアする段階が、対応する診断手続き
    を反復した際に故障が発生しない場合にのみ各故障の記
    録をクリアする従属段階を含むことを特徴とする請求項
    10記載の方法。 12、データ処理システムで用いるモジュールにおいて
    、 モジュール内の故障の有無を判定するために自動的診断
    テスト手続きを実行する処理手段と、自動診断テスト手
    続き中に故障が検出された場合に、故障が現場で訂正可
    能なものであるかどうかを示す診断故障情報を格納する
    ための第1メモリ手段と、 データ処理システムによる通常手続きの実行の途中で故
    障が検出された場合に、検出された故障が現場で訂正で
    きないことを示す非診断故障情報を格納するための第2
    メモリ手段とを含むことを特徴とするデータ処理システ
    ムで用いるモジュール。 13、前記第1および第2メモリ手段がEEPROMに
    位置することを特徴とする請求項12記載のモジュール
    。 14、更に、モジュールにおいて故障が検出されたこと
    を示す可視インディケータを含むことを特徴とする請求
    項14記載のモジュール。 15、前記可視インディケータがリセット可能であるこ
    とを特徴とする請求項14記載の方法。 16、前記可視インディケータが磁気スイッチであるこ
    とを特徴とする請求項14記載の方法。
JP2203803A 1989-08-01 1990-07-31 コンピューティングモジュールにおける故障を記録する装置および方法 Pending JPH03184131A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/388,093 US5068851A (en) 1989-08-01 1989-08-01 Apparatus and method for documenting faults in computing modules
US388093 1999-09-01

Publications (1)

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

Family

ID=23532658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2203803A Pending JPH03184131A (ja) 1989-08-01 1990-07-31 コンピューティングモジュールにおける故障を記録する装置および方法

Country Status (4)

Country Link
US (1) US5068851A (ja)
EP (1) EP0415550A3 (ja)
JP (1) JPH03184131A (ja)
CA (1) CA2022229A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298731A (ja) * 1996-04-30 1997-11-18 Sanyo Electric Co Ltd 番組案内表示制御装置およびテレビジョン受像機
JP2010146175A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd 複合型計算機装置、複合型計算機の管理方法及び管理サーバ

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830269B2 (ja) * 1990-01-12 1998-12-02 ソニー株式会社 ディスク装置
US5200958A (en) * 1990-09-28 1993-04-06 Xerox Corporation Method and apparatus for recording and diagnosing faults in an electronic reprographic printing system
US5392302A (en) * 1991-03-13 1995-02-21 Quantum Corp. Address error detection technique for increasing the reliability of a storage subsystem
US5245615A (en) * 1991-06-06 1993-09-14 International Business Machines Corporation Diagnostic system and interface for a personal computer
US5253184A (en) * 1991-06-19 1993-10-12 Storage Technology Corporation Failure and performance tracking system
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
US5327435A (en) * 1992-11-13 1994-07-05 Digital Equipment Corporation Method for testing a processor module in a computer system
US5574849A (en) * 1992-12-17 1996-11-12 Tandem Computers Incorporated Synchronized data transmission between elements of a processing system
US5640530A (en) * 1992-12-17 1997-06-17 International Business Machines Corporation Use of configuration registers to control access to multiple caches and nonvolatile stores
US5602990A (en) * 1993-07-23 1997-02-11 Pyramid Technology Corporation Computer system diagnostic testing using hardware abstraction
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5778170A (en) * 1996-02-14 1998-07-07 Hewlett-Packard Company Data processing system with integral diagnostic procedure
US6449735B1 (en) * 1996-07-01 2002-09-10 Intel Corporation Method and apparatus for providing improved diagnostic functions in a computer system
US6044479A (en) * 1998-01-29 2000-03-28 International Business Machines Corporation Human sensorially significant sequential error event notification for an ECC system
US6185718B1 (en) 1998-02-27 2001-02-06 International Business Machines Corporation Memory card design with parity and ECC for non-parity and non-ECC systems
GB9810512D0 (en) * 1998-05-15 1998-07-15 Sgs Thomson Microelectronics Detecting communication errors across a chip boundary
US6070255A (en) * 1998-05-28 2000-05-30 International Business Machines Corporation Error protection power-on-self-test for memory cards having ECC on board
US6247143B1 (en) * 1998-06-30 2001-06-12 Sun Microsystems, Inc. I/O handling for a multiprocessor computer system
US6725278B1 (en) * 1998-09-17 2004-04-20 Apple Computer, Inc. Smart synchronization of computer system time clock based on network connection modes
US6980381B2 (en) * 1998-09-21 2005-12-27 William F. Gray Apparatus and method for predicting failure of a disk drive
US6249887B1 (en) 1998-09-21 2001-06-19 William G. Gray Apparatus and method for predicting failure of a disk drive
US6385739B1 (en) * 1999-07-19 2002-05-07 Tivo Inc. Self-test electronic assembly and test system
US7168007B2 (en) * 2002-05-17 2007-01-23 Sun Microsystems, Inc. Field replaceable unit (FRU) identification system tool
US7137020B2 (en) * 2002-05-17 2006-11-14 Sun Microsystems, Inc. Method and apparatus for disabling defective components in a computer system
US6892159B2 (en) * 2002-05-17 2005-05-10 Sun Microsystems, Inc. Method and system for storing field replaceable unit operational history information
US20030217043A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method and system for storing field replaceable unit dynamic information using tagged data elements
US7716334B2 (en) 2002-05-17 2010-05-11 Oracle America, Inc. Computer system with dynamically configurable capacity
US20030217247A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method and system for storing field replaceable unit static and dynamic information
US20030236998A1 (en) * 2002-05-17 2003-12-25 Sun Microsystems, Inc. Method and system for configuring a computer system using field replaceable unit identification information
US7131030B2 (en) * 2002-05-17 2006-10-31 Sun Microsystems, Inc. Method and system for storing field replaceable unit repair history information
US7577816B2 (en) * 2003-08-18 2009-08-18 Cray Inc. Remote translation mechanism for a multinode system
US7543133B1 (en) 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US7735088B1 (en) 2003-08-18 2010-06-08 Cray Inc. Scheduling synchronization of programs running as streams on multiple processors
US7421565B1 (en) * 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US7437521B1 (en) 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7743223B2 (en) * 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7519771B1 (en) 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US7366873B1 (en) * 2003-08-18 2008-04-29 Cray, Inc. Indirectly addressed vector load-operate-store method and apparatus
US7334110B1 (en) 2003-08-18 2008-02-19 Cray Inc. Decoupled scalar/vector computer architecture system and method
US7503048B1 (en) 2003-08-18 2009-03-10 Cray Incorporated Scheduling synchronization of programs running as streams on multiple processors
US7526692B2 (en) * 2004-09-30 2009-04-28 International Business Machines Corporation Diagnostic interface architecture for memory device
US7478769B1 (en) 2005-03-09 2009-01-20 Cray Inc. Method and apparatus for cooling electronic components
US7756036B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Synchronous data communication
US8054752B2 (en) 2005-12-22 2011-11-08 Intuitive Surgical Operations, Inc. Synchronous data communication
US7757028B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Multi-priority messaging
US8161324B2 (en) * 2009-12-17 2012-04-17 Hewlett-Packard Development Company, L.P. Analysis result stored on a field replaceable unit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254539A (ja) * 1987-04-10 1988-10-21 Fujitsu Ltd エラ−ログ方式

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT285689B (de) * 1968-03-29 1970-11-10 Siemens Ag Zentralgesteuerte Vermittlungsanlage der Fernmelde-, insbesondere Fernsprechtechnik
US3665173A (en) * 1968-09-03 1972-05-23 Ibm Triple modular redundancy/sparing
FR2182259A5 (ja) * 1972-04-24 1973-12-07 Cii
FR2232255A5 (ja) * 1973-05-28 1974-12-27 Honeywell Bull Soc Ind
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US4031372A (en) * 1973-11-06 1977-06-21 Westinghouse Electric Corporation System for manually or automatically transferring control between computers without power generation disturbance in an electric power plant or steam turbine operated by a multiple computer control system
US3873819A (en) * 1973-12-10 1975-03-25 Honeywell Inf Systems Apparatus and method for fault-condition signal processing
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
US4141066A (en) * 1977-09-13 1979-02-20 Honeywell Inc. Process control system with backup process controller
US4153318A (en) * 1977-10-17 1979-05-08 Square D Company Bus stab for panelboard assembly
GB2019622B (en) * 1978-04-14 1982-04-07 Lucas Industries Ltd Digital computing apparatus
US4200226A (en) * 1978-07-12 1980-04-29 Euteco S.P.A. Parallel multiprocessing system for an industrial plant
US4245344A (en) * 1979-04-02 1981-01-13 Rockwell International Corporation Processing system with dual buses
US4253147A (en) * 1979-04-09 1981-02-24 Rockwell International Corporation Memory unit with pipelined cycle of operations
DE2926292A1 (de) * 1979-06-29 1981-01-08 Harnischfeger Gmbh Insbesondere mobiler teleskopauslegerkran
US4428044A (en) * 1979-09-20 1984-01-24 Bell Telephone Laboratories, Incorporated Peripheral unit controller
DE3003291C2 (de) * 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
US4330826A (en) * 1980-02-05 1982-05-18 The Bendix Corporation Synchronizer and synchronization system for a multiple computer system
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
US4541094A (en) * 1983-03-21 1985-09-10 Sequoia Systems, Inc. Self-checking computer circuitry
US4610013A (en) * 1983-11-08 1986-09-02 Avco Corporation Remote multiplexer terminal with redundant central processor units
CA1226954A (en) * 1984-05-11 1987-09-15 Jan S. Herman Control sequencer with dual microprogram counters for microdiagnostics
US4729124A (en) * 1985-12-19 1988-03-01 Concurrent Computer Corporation Diagnostic system
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
JPH0690682B2 (ja) * 1987-02-28 1994-11-14 日本電気株式会社 マルチプロセツサシステムの障害処理方式
DE3854026D1 (de) * 1987-09-04 1995-07-27 Digital Equipment Corp Fehlertolerantes Rechnersystem mit Fehler-Eingrenzung.
US4916704A (en) * 1987-09-04 1990-04-10 Digital Equipment Corporation Interface of non-fault tolerant components to fault tolerant system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254539A (ja) * 1987-04-10 1988-10-21 Fujitsu Ltd エラ−ログ方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298731A (ja) * 1996-04-30 1997-11-18 Sanyo Electric Co Ltd 番組案内表示制御装置およびテレビジョン受像機
JP2010146175A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd 複合型計算機装置、複合型計算機の管理方法及び管理サーバ

Also Published As

Publication number Publication date
US5068851A (en) 1991-11-26
CA2022229A1 (en) 1991-02-02
EP0415550A2 (en) 1991-03-06
EP0415550A3 (en) 1992-05-27

Similar Documents

Publication Publication Date Title
JPH03184131A (ja) コンピューティングモジュールにおける故障を記録する装置および方法
US5153881A (en) Method of handling errors in software
US5291494A (en) Method of handling errors in software
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
US5185877A (en) Protocol for transfer of DMA data
US5251227A (en) Targeted resets in a data processor including a trace memory to store transactions
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
US4916704A (en) Interface of non-fault tolerant components to fault tolerant system
US5249187A (en) Dual rail processors with error checking on I/O reads
US5065312A (en) Method of converting unique data to system data
JPH02118872A (ja) I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ
US5048022A (en) Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
EP0415552B1 (en) Protocol for read and write transfers
EP0411805B1 (en) Bulk memory transfer during resync
JP3069585B2 (ja) データ処理装置における目標指定リセット法
JPH03184155A (ja) 非存在メモリエラー処理の方法
JPS63113641A (ja) パイプライン結合されたメモリサイクルをもつデイジタルデ−タ処理装置