JPH03182958A - 再同期時のバルクメモリ転送 - Google Patents

再同期時のバルクメモリ転送

Info

Publication number
JPH03182958A
JPH03182958A JP2203800A JP20380090A JPH03182958A JP H03182958 A JPH03182958 A JP H03182958A JP 2203800 A JP2203800 A JP 2203800A JP 20380090 A JP20380090 A JP 20380090A JP H03182958 A JPH03182958 A JP H03182958A
Authority
JP
Japan
Prior art keywords
zone
master
slave
memory
memory system
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
JP2203800A
Other languages
English (en)
Inventor
Thomas D Bissett
トーマス ディー ビセット
Ajai Thirumalai
アジャイ ティルマライ
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 JPH03182958A publication Critical patent/JPH03182958A/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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は複数のコンピュータシステムを同期させる分野
に関し、特に異なるコンピュータシステムのゾーンが相
互にロックステップの状態で動作するように設計された
デュアルゾーンコンピュータシステムの同期化に関する
(従来の技術) 2つ以上の同等なコンピュータシステムゾーンを有する
故障許容(フォルト・トレラント)コンピュータシステ
ムでは、各ゾーンがロックステップした状態での完全二
重動作を遠戚するため、起動時または動作中にそれらの
ゾーンを同期させる機構が必要である。動作中における
同期化の必要は、エラーのため一方のコンピュータシス
テムゾーンが動作不能になったり、あるいは一方のゾー
ンを定期点検に付したりするときに生じる。
各ゾーンを同期させる一つの方法では、両方のゾーンつ
まりコンピュータシステム全体を停止し、各ゾーンを同
じ状態にしてから、それらを再始動2 させる。この方法は初期化時や完全なシステム故障時な
ど、故障許容コンピュータシステム全体がすでにダウン
している場合には問題とならないが、一方のゾーンだけ
が動作しているときにコンピュータシステム全体をかな
りの時間動作不能にすることが必要な再同期化方法はい
ずれも、重大な欠点を有する。
故障許容コンピュータシステムは、少しのダウン時間で
も極めて害が太き(またコスト高となる航空交通管制や
核処理プラントの制御など、重要な分野でほとんどの場
合使われている。従ってダウン時間が長引くほど、もた
らされる実際の害または潜在的な害は大きくなる。
事実、複数のゾーンを用いる理論的な根拠自体は、一方
のゾーンだけが適切に動作しなくなったとき、システム
全体が動作不能になるのを避けることにある。つまり、
再同期化のためコンピュータシステム全体をダウンさせ
るよりも、他方の良好なゾーンをできるだけ長い時間動
作させる方に努力が向けられるべきである。
3 故障許容システムは再び故障許容とするのに、完全多重
ゾーンの機能状態へ戻されねばならないため、動作を停
止させたコンピュータシステムゾーンは一旦修理した後
、動作しているゾーンに再同期されなければならない。
このような再同期化は、多くの理由で困難を伴う。その
一つは、2つのゾーンが同等の状態にある時点、つまり
同期化可能な時点を判定する際の困難である。動作して
いるコンピュータシステムゾーンは絶えず状態が変化し
ているため、動作していないゾーンが動作しているゾー
ンと同じ状態に維持されるのを保証するのが難しい。
困難の別の理由は、各ゾーンが独立なことに原因してい
る。相互に独立に動作する2つまたはそれより多いゾー
ンを有するコンピュータシステムでは、各々のゾーンは
適切な動作を維持するため、メモリリフレッシュ信号な
どそれぞれ独自の内部信号をいくつか発生する。これに
よって、万一他方のゾーンが正しい動作を停止した場合
にも、各々のゾーンが独立に動作するのが許容される。
し4 かし同期化時、その独立動作が厄介な問題になることが
分かっている。動作していないゾーンのメモリフレッシ
ュ信号などの内部信号で、そのゾーンが動作しているゾ
ーンと正しく同期するのを妨げられることがあり得るか
らである。
(発明が解決しようとする課題) 従って、オンラインでの同期化を可能とする多重ゾーン
のコンピュータシステムが必要とされている。またかか
る同期化は、同期化時に動作しているゾーンに加わる妨
害を最小限とずべきである。
(課題を解決するための手段) 本発明は、同期時、動作しているゾーンのメモリシステ
ムの内容と動作しているゾーンのメモリシステムによっ
て受け取られた全ての記憶コマンドを、動作していない
ゾーンのメモリシステムへ転送することによって同期化
の問題を解消する。
メモリ内容が完全に転送されたところで、両ゾーンを同
じ状態へ一時的にリセッl−L、両ゾーン内でオペレー
ティングシステムを再開することによって、同期化が行
われる。
5 すなわち本発明によれば、以下実施例を示し且つここで
概括するように、デュアルゾーンコンピュータシステム
のスレーブゾーンをデュアルゾーンコンピュータシステ
ムのマスターゾーンに同期させる方法で、両方のゾーン
が相互に通信可能であると共に、両方のゾーンがCPU
とメモリシステムを含んでいる方法が、マスターゾーン
メモリシステムの内容をスレーブゾーンメモリシステム
へ転送するステップ:マスターゾーンメモリシステムの
内容のスレーブゾーンメモリシステムへの転送時に、書
込コマンド及びメモリリフレッシュコマンドを含めマス
ターゾーンメモリシステムによって受け取られた全ての
記憶コマンドを、スレーブゾーンメモリシステムへ転送
するステップ;及びマスターゾーンメモリシステムの内
容のスレーブゾーンメモリシステムへの転送が完了した
後、スレーブゾーンCPUをマスターゾーンCPUと同
じ状態にセットするステップ;を含む。
同期モードと同期化モードの両方で動作可能な本発明に
よるデュアルゾーンコンビュータシステ6 ムは、マスターゾーンとスレーブゾーンを備えている。
スレーブゾーンは、CPUの状態を決める複数のCPU
レジスタを含むスレーブゾーンCPU;該スレーブゾー
ンCPUに接続されると共に、スレーブゾーンCPUか
ら及びスレーブゾーンCPU以外のソースからの書込及
びメモリフレッシュコマンドを含むアクセスコマンドと
記憶コマンドに応答するスレーブゾーンメモリシステム
;及び該スレーブゾーンメモリシステムに接続され、コ
ンピュータシステムが同期化モードにあるとき、マスタ
ーゾーンから記憶コマンドとデータを受け取るスレーブ
ゾーンクロスリンク手段;を含む。
マスターゾーンは、同じくマスターゾーンCPUの状態
を決める複数のCPUレジスタを含むマスターゾーンC
PU 、該マスターゾーンCPUに接続されると共に、
マスターゾーンCPUから及びマスターゾーンCPU以
外のソースからの書込及びメモリフレッシュコマンドを
含むアクセスコマンドと記憶コマンドに応答するマスタ
ーゾーンメモリシステム;及びコンピュータシステムが
同期7 化モードにあるとき、該マスターゾーンメモリシステム
に記憶されたデータと該マスターゾーンメモリシステム
によって受け取られた記憶コマンドとを、スレーブゾー
ンに送るマスターゾーンクロスリンク手段;を含む。
(実施例) 本発明の好適な実施例を詳細に参照するが、この実施例
の具体例は添付図に示されている。
A、システムの説明 第1図は本発明による故障許容コンピュータ・システム
10のブロック図である。この故障許容コンピュータ・
システム10はゾーンと呼ぶ重複システムを有している
。通常のモードの場合、2つのゾーン11と11’が同
時に動作している。
この重複によって、1つのポイントで故障が発生するこ
とがなく、ゾーン11または11′の1つにエラーまた
は故障が発生しても、これによってコンピュータ・シス
テム10が動作不能にならないことが保証される。さら
に、こうした故障は、これを発生させた装置または構成
要素を動作不能8 にするまたは無視することによって取り除くことができ
る。第1図に示すゾーン11と11′は、それぞれ重複
処理システム20と20′を有している。しかし、これ
らが重複して設けられていることによって、処理システ
ム以上のことを行うことができる。
第2図は、故障許容コンピュータ・システム■0の物理
的ハードウェアを示し、システムが重複して設けられて
いることを図によって示す。各ゾーン11と11′は、
別のキャビネット11と12′にそれぞれ内蔵されてい
る。キャビネット12は、ハンテリ13、電源調整装置
14、冷却ファン16およびAC入力17を有する。キ
ャビネット12′はキャビネット12の構成要素13.
14.16および17に対応する別の構成要素を有する
以下で詳細に説明するように、処理システム20および
20′は背面板によって相互に接続された幾つかのモジ
ュールを有する。もし1つのモジュールに故障またはエ
ラーがあれば、このモジ9 コールは、コンピュータ・システム10を動作不能にす
ることなく、取り外して取り替えることができる。これ
ば、処理システム20と20′が物理的に分離され、モ
ジュールがプラグによって挿入されている別の背面板を
有し、相互に独立して動作することができるためである
。従って、これらのモジュールは、一方の処理システム
が動作を継続している間に、他方の処理システムの背面
板から取り外しまたはその背面板にプラグによって挿入
することができる。
好適な実施例の場合、重複処理システム20および20
′は同一のものであり、同一のモジュールを内蔵してい
る。したがって、処理システム20′は同じ動作をする
と理解して、処理システム20のみを完全に説明する。
処理システム20は第3図および第4図に詳細に示すC
PUモジュール30を有している。CPUモジュール3
0は、以下で詳細に説明するクロスリンク経路25によ
って処理システム20′のCPUモジュール30′と相
互に接続されている。
0 クロスリンク経路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に接続される。モジ
ュール相互接続部】30と132はI10相互接続部と
して機能し、背面板を介して処理システム20に接続さ
れている。
1 この用途に使用するため、CPU40、メモリ制御装置
70、クロスリンク90およびモジュール相互接続部1
30を有するデータ経路が一方のレールと考えられ、C
PU50、メモリ制御装置75、クロスリンク95、お
よびモジュール相互接続部132を有するデータ経路が
他方のレールと考えられる。動作が正しく行われている
間は、両方のレールのデータは同じである。
B、故障許容システムの原理 故障許容コンピュータ・システムIOでは、1つのポイ
ントで故障の発生することがないが、その理由は、各構
成要素が重複して設けられているためである。処理シス
テム20と20′は、それぞれ故障停止処理システムで
あり、このことは、これらのシステムがサブシステム内
の故障またはエラーを検出し、これらの故障またはエラ
ーが他のサブシステムに制御されない状態で広がること
を防止することができる。しかし、これらの処理システ
ムではVは、各処理システム内の構成要素が重複して設
けられていないため、1つの点で故2 障が発生する。
2つの故障停止処理システム20と20′は、所定の方
法で動作するある種の構成要素によって相互に接続され
、フェール・セーフ・システムを形成する。故障許容コ
ンピュータ・システム10として具体化されているフェ
ール・セーフ・システムの場合、たとえ故障停止処理シ
ステム20および20′の一方が故障しても、コンピュ
ータ・システムは全体として処理を継続することができ
る。
2つの故障停止処理システム20と20′はロックステ
ップ同期で動作すると考えられるが、その理由は、CP
U40.50.40′および50′がこのような同期で
動作するからである。この場合、3つの重要な例外が存
在する。第1の例外は、ブードストラップ法によって両
方の処理装置を同期させる初期化の時に発生する。第2
の例外は、処理システム20と20′が2つの異なった
作業負荷で独立して(非同期の状態で)動作する場合に
発生する。第3の例外は、ある種のエラーが処3 環システム20と20′に発生する場合に起こる。
この最後の例外の場合、これらの処理システムの内の一
方のCPUとメモリ素子を動作不能し、これによって同
期動作を終了する。
システムがロックステップT10で動作している場合、
いずれの1つの時間にも、1つのI10装置のみしかア
クセスすることができない。しかし、4つのCPU40
.50.40′および50′は全て実質的に同じ時間に
同じデータをこのI10装置から受け取る。以下の議論
では、これらの処理システムのロックステップ同期とは
、1つのI10モジュールのみがアクセスされているこ
とを意味すると理解できる。
重複して設けられた処理システム20および20′の同
期は、各システムを決定性を有する機械として取り扱う
ことによって実行され、この場合、これらのシステムは
、同じ入力を受けて同じ既知の状態でスタードし、常に
同じ機械状態に入り、エラーのない場合には、同じ結果
を発生する。
処理システム20と20′は同じ構成を有し、同4 し入力を受取、従って、同じ状態を通過する。従って、
両方の処理装置が同期して動作する限り、これらは同じ
結果を発生すると共に同じ状態に入る。もしこれらの処
理システムが同じ状態でなく、または異なった結果を発
生ずれば、これらの処理システム20と20′の一方が
故障していると考えられる。そこで修正動作を行うため
には、故障しているモジュールを動作不能にする等して
故障の原因を取り除かなければならない。
エラーの検出は、−船釣に別の処理時間または論理の形
でのオーバヘッドを含む。このようなオーバヘッドを最
小にするため、システムは故障許容動作と調和しながら
、エラへチエツクをできるだけ少ない回数行わなければ
ならない。少なくとも、エラーのチエツクはデータがC
PU30と30′から出力される前に行われなければな
らない。そうでなければ、内部処理のエラーによって、
原子炉のような外部システムに正しくない動作が発生す
るが、これは故障許容システムの設計によって防止しよ
うとしている状態である。
5 これ以外にエラーのチエツクを行う理由が存在する。例
えば、故障またはエラーを除去するためには、記憶また
は使用する前に、CPUモジュール30および30′の
受け取ったデータをチエツクすることが望ましい。そう
でなければ、記憶されているエラーのあるデータが後が
アクセスされ、その結果、別のエラーが発生すると、特
にこのエラーのあるデータが一定期間記憶された場合に
は、これらのエラーの最初の原因を見出だすことが困難
または不可能になる。時間が経過することとこれらのエ
ラーのあるデータがその後処理されることによって、エ
ラーの原因を追跡することができなくなる可能性がある
検出される前にエラーが記憶されていた時間を指す「エ
ラーの潜伏時間」によって、同様に後で問題が発生ずる
可能性がある。例えば、コンピュータシステムが以前に
発生したエラーによって小さくなったキャパシティで既
に動作している場合に、滅多に使わないルーチンによっ
て潜在するエラーの見付かる場合がある。コンピュータ
のキャ6 パシティが減少している場合、潜在するエラーによって
システムが破壊される場合がある。
更に、処理システム20および20′がデュアル・レー
ル・システムになっている場合、データをメモリのよう
な共有の資源である1つのレール・システムに転送する
のに先立って、エラーをチエツクすることが望ましい。
この理由は、このような転送を行った後には最早2つの
独立するデータのソースが存在しないためであり、もし
シングル・レール・システムで後になって何らかのエラ
ーが検出された場合、このエラーを追跡することは、不
可能でないにしても困難になる。
エラー処理の好適な方法が、これと同じ日に出願された
弁理士ドケットNo、PD89−289/DEC−34
4の発明の名称「ソフトウェアによるエラーの処理」と
いう出願で説明され、これは参考としてここに引用され
ている。
C,モジュールの説明 7 を第3図および第4図により詳細に示す。第3図はCP
Uモジュールのブロック図であり、第4図はCPUモジ
ュール30およびI10モジュール100並びにこれら
の相互接続部のブロック図である。CPUモジュール3
0および30′の動作およびこれらに含まれる構成要素
は−・船間に同じであるため、CPU30のみを説明す
る。
CPUモジュールは、デュアルCPU40と50を内蔵
する。CPU40と50は当業者に周知の標準的な中央
処理装置である。好適な実施例の場合、CPU40と5
0は本出願の譲受人であるディジタル・エクイップメン
ト会社によって製造されたVAXマイコロプロセッサで
ある。
CPU40と50に関連するのはそれぞれキャッシュ・
メモリ42と52であり、これらはCPUに対して十分
なメモリのサイズを有する標準のキャッシュRAMであ
る。好適な実施例の場合、キャッシュRAMは4Kx6
4ビツトである。しかし、本発明がキャッシュRAMを
有する必要はない。
8 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図に示すように、各メモリ・モジュール9 60はメモリ・アレイ600を有する。各メモリ・アレ
イ600はDRAMが8バンクのメモリに組織されてい
る標準RAMである。好適な実施例の場合、高速ページ
・モード型のDRAMが使用される。
メモリ・モジュール60には、また!lJi卸ロジック
610、データ・トランシーバ/レジスタ620、メモ
リ・ドライバ630、およびEEPROM640が含ま
れる。データ・トランシーバ/レジスタ620によって
メモリ・アレイ600とデータ・バス85の双方向デー
タ線との間でデータを転送するためのデータ・バスとデ
ータ・インターフェースが設けられる。メモリ・ドライ
バ630は、制御卸ロジック610からメモリ・アレイ
600の各バンクに対して行および列アドレス信号と制
御信号を分配し、ロングワードのデータとその対応する
ECC信号をメモリ・ボード信号とバンク・アドレス信
号によって選択されたメモリ・バンクに対して転送する
と共にこれらがそこから転送されることを可能にする。
0 いずれのタイプの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組1 のメモリ・ボード・アドレス・バンク・アドレス、行お
よび列アI−レス、サイクル・タイプ・サイクル・タイ
ミング信号を受け取り、またバス80と82でメモリ制
御装置に対して2組のECC信号を転送すると共にここ
からこれを受け取る。指示装置612の1−ランシーバ
/レジスタによって、これらの信号をバス80と82と
の間で授受するバッファとインターフェースが設けられ
る。ステータス・レジスタ61Bに記憶されているプラ
イマリ/ミラへマルチプレクサのビットによって、メモ
リ制御装置70と75のいずれがプライマリ・メモリ制
御装置として指定され、いずれがミラへメモリ制御装置
として指定されかが指示され、プライマリ/ミラへマル
チプレクサ信号がステータス・レジスタ618から指示
装置612に加えられる。
プライマリ/ミラー指示装置612よって、制御ロジッ
ク610に分配する2組の信号が与えられる。1組の信
号は指定されたプライマリ−・メモリ・ボード・アドレ
ス、バンク・アドレス、行2 および列アドレス、サイクル・タイプ、サイクル・タイ
ミングおよびEEC信号を含む。他方の組の信号は、指
定されたミラへメモリ・ボード・アドレス信号、バンク
・アドレス信号、列および行アドレス信号、サイクル・
タイプ信号、サイクル・タイミング信号、およびEEC
信号を含む。
プライマリ/ミラへマルチプレクサ信号は、バス80と
82の信号がそれぞれ指定されたプライマリ信号を搬送
する線および指定されたミラー信号を搬送する線に向け
られるか、またはその逆であるかを選択するために指示
装置612によって使用される。
バス80と82には多数の時間分周多重化双方向線が含
まれている。メモリ転送サイクル、ステータス・レジス
タ転送サイクル、およびIEEPROM転送サイクルの
開始後一定の時間に、データ・ハス75のデータに対応
するECC信号がこれらの時間分周多重化双方向線に載
置される。もしこの転送サイクルが書き込みサイクルで
あれば、メモリモジュール60はメモリ制御装置からデ
ータと3 ECC信号を受け取る。もしこの転送サイクルが読み出
しサイクルであれば、メモリ・モジュール60はデータ
とECC信号をメモリ・モジコ、−ルに転送する。転送
サイクルの他の時間に、アドレス信号、制御信号および
タイ砧ング信号は時間分周多重化双方向線でメモリ・モ
ジュール60によって受け取られる。メモリ転送サイク
ル、ステータス・レジスタ転送サイクル、および[EP
ROM転送サイクルの始めに、メモリ制御語W70と7
5がメモリ・ボード・アドレス、バンク・アドレス、お
よびサイクル・タイプ信号をこれらの時間共有線で各メ
モリ・モジュール60に転送することが望ましい。
行アドレス信号と列アドレス信号は同じ転送サイクル中
に同じ行および列アドレス線で多重化されることが望ま
しい。先ず、行アドレスがメモリ制御装置によってメモ
リ・モジュール60に加えられ、約60ナノ秒後に列ア
ドレスが加えられる。
シーケンサ−616は、システム・クロック信号とりセ
ット信号をCPUモジュール30から入4 ツノとして受け取り、指定されたプライマリ−・サイク
ル・タイミック信号、指定されたプライマリ・サイクル
・タイプ信号、指定されたミラへサイクル・クイくツク
信号、および指定されたミラへサイクル・タイプ信号を
指定装置612のトランシーバ/レジスタから受け取る
シーケンサ616は、種々のタイプのサイクルを実行す
るために必要な多数の制御およびシーケンス・タイミン
グ信号を発生し、これらをメモリ・モジュールに対して
分配する関連したステアリング(steering)論
理を有するリング・カウンタである。制御およびシーケ
ンス・タイごツク信号は、システム・クロック信号、指
定されたプライマリ−・サイクル・タイミング信号、お
よび指定されたプライマリ−・サイクル・タイプ信号か
ら発生される。
シーケンサ616は、またシステム・クロック信号、指
定されたミラへサイクル・タイミック信号、および指定
されたミラへサイクル・タイプ信号から重複した組のシ
ーケンス・タイミング55 信号を発生ずる。これらの重複したシーケンス・タイミ
ング信号は、エラーのチックのために使用される。高速
ページモードで多重のロングワードのデータをメモリ・
モジュール60との間で授受するためには、各組の列ア
ドレスは第1の組でスタードし、12727ナノ次の列
アドレス120がこれに続き、各々のロングワードのデ
ータは前のロングワードのデータの後で120ナノ秒遅
れてハス85を横切って移動される。
シーケンサ616は、またt x / r xレジスフ
制御信号を発生ずる。t x / r xレジスタ制御
信号は、トランシーバ/レジスタ620の動作と指定装
置612のトランシーバ/レジスタを制御するために発
生される。データの流れの方向は、シーケンサ616の
ステアリングロジンクによって央定され、このシーケン
サ616ばt x / r x制御信号とシーケンス・
タイミング信号を発生ずることによって、指定されたプ
ライマリ−・サイクル・タイプ信号に応答し、データと
ECC信号がメモリ・モジュール60のトランシーバ/
レジス6 夕に対して書き込まれるべきであるかまたはここから読
み出されるべきであるか、およびそれらが何時行われる
べきであるかを示す。メモリ書き込みサイクル中、ステ
ータス・レジスタ書き込みサイクル中、および書き込み
サイクル中、データおよびECC信号はバス80.82
、および85からトランシーバ/レジスタにラッチされ
、一方メモリ読み出しサイクル中、ステータス・レジス
タ読み出しサイクル中、およびEBPROM読み出し・
リーイクル中、データおよびECCi:”、号は、メモ
リ・アレイ600、ステータス・レジスタ618、また
はEBPROM640からトランシーバ/レジスタにラ
ッチされて、CPUモジュール30に出力される。
シーケンサ616は、またEEPROM制御信号を発生
して、EBPROM640の動作を制御する。
メモリ・モジュール60に存在するタイミング関係はシ
ステム・クロック信号の立ち上がり時間を参考にして決
められるが、このシステム・クロ7 ツク信号は30ナノ秒の間隔を有している。全てのステ
ータス・レジスタ読み出しおよび書き込めサイクルと1
つのロングワードの全てのメモリ読み出しおよび書き込
みサイクルは、10システム・クロックの時間内、すな
わち300ナノ秒内に実行される。メモリ読み出しおよ
び書き込み転送サイクルは、多重化されたロングワード
の転送によって構成されることができる。別のロングワ
ードが転送される毎に、メモリ転送サイクルは4システ
ム・クロックの期間だけさらに延長される。
メモリ・リフレッシュ・サイクルとEEPROM書き込
みサイクルを実行するには少なくとも12システム・ク
ロックの間隔が必要であり、EEFROM読み出しサイ
クルは、少なくとも20システム・クロックの間隔を必
要とする。
指定されたプライマリ・サイクル、タイミック信号によ
って、シーケンサ616はシーケンス・タイミング信号
と制御信号との発生を開始し、これらの信号によって、
メモリ・ボード・アドレス信号によって選択されたメモ
リ・モジュールが要8 求されたサイクルを実行することが可能になる。
指定されたプライマリ・サイクル・タイミング信号が活
性状態に遷移すると、サイクルが開始される。指定され
たプライマリ・サイクル・タイミング信号が不活性状態
に戻ると、・す′イクルは終了する。
CPUモジュール30によって要求されたサイクルが実
行されるに従って、シーケン→U°616によって発生
されたシーケンス・タイミング信号はシーケンサの入力
した異なった状態と関連する。
これらの異なった状態の間のタイミング関係(およびこ
れらの状態の各々に対応するシーケンス・タイミング信
号の間のタイミング関係)を決めるため、シーケンサ6
16によって入力することのできるディスクリードな状
態がSEQ  IDLEおよび5EQIないし5EQI
 9と識別される。
各状態は、1システム・クロックの間隔(30ナノ秒)
の間持続する。シーケンサ616の行う各々の異なった
状態に対する入力は、システム・クロック信号の立ち上
がり区間によってトリガされ9 る。シーケンサ616に状態SEQ  IDLEおよび
5EQIないし5EQ19を入力させるシステム・クロ
ック信号の立ち上がり区間は、これらをシーケンサ61
6の状態と関連させるために遷移TIDLEおよびTl
ないしT19として表される。すなわち、TNはシーケ
ンサ616に状態SEQ  Nを入力させるシステム・
クロック信号の立ち上がり区間である。
CPUモジュール30がメモリ・モジュール60に1つ
のサイクルを実行させていない場合、指定されたプライ
マリ−・サイクル・タイミング信号は表明されず(no
t asserted) 、シーケンサはSEQ  I
DLEの状態のままである。もし制御ロジック610と
シーケンサ616がこれもまたバス80でメモリ制御装
置70から転送されたメモリ・ボード・アドレスによっ
て選択されたメモリ・モジュールに位置しているならば
、シーケンサはメモリ制御装置70によるバス80のサ
イクル・タイミング信号の表明に応答してスタードされ
る(状態5EQIを入力する)。指定された0 プライマリ−・サイクルの活性信号の表明に続く第1シ
ステム・クロック信号の立ち上がり区間は、遷移TIに
対応する。
前に述べたように、メモリ・アレイ600に対して1つ
のロングワードを授受する場合、そのサイクルは10シ
ステム・クロックの間隔で実行される。シーケンサはS
EQ  IDLEから状態5EQIないし5EQ9に進
み、S E Q  IDLHに戻る。
しかし、別のロングワードを転送するためにメモリ読み
出しおよび書き込みサイクルを延長することができる。
メモリ・アレイ600は、「高速ページ・モードJD、
RAMを使用することが望ましい。多重化されたロング
ワードの読み出しおよび書き込みを行う期間中、最初の
ロングワードの転送の後に行われるメモリ・アレイとの
データの授受け、列アドレスを繰り返して更新し、CA
S(列アドレス・ストローブ)信号を再び発生すること
によって行われる。
多重化されたロングワードの転送サイクルの期1 間中、これらの列アドレスのこれらの更新を実行するこ
とが可能であるが、その理由は、全てのロングワードが
転送されるまでシステム616は、5EQ4から5EQ
7を繰り返して循環するからである。例えば、もし3つ
のロングワードがメモリ・アレイ600から読み出され
、またはこれに書き込まれているならば、シーケンサは
状態5EQIDLE、  5EQI  、 5EQ2 
、5EQ3 、 SIE口4.5EQ5.5EQ6.5
EQ7.5EQ4.5EQ5.5EQ6 、5EQ7 
、5EQ4 、5EQ5 、38口6.5EQ7.5E
Q8.5EQ9、および5EQI DLEを入力する。
メモリ転送サイクルの期間中、指定されたプライマリ・
サイクル・タイミング信号は、遷移T6の間のシーケン
サ616によって監視され、少なくとも1つの別のロン
グワードを転送するため、メモリ読み出しまたは書き込
みサイクルを延長するべきかどうかを決定する。指定さ
れたプライマリ・サイクル・タイミング信号が遷移T6
中に表明された場合、状態5EQ7にあるシケンサは状
2 態5EQ8を入力する代わりに状態5EQ4を入力する
ことによって、次のシステム・クロック信号に応答する
多重ロングワードの転送の場合、指定されたプライマリ
−・サイクル・タイごング信号は、少なくとも第1T6
の遷移の15ナノ秒前に表明され、最後のロングワード
が転送される迄、表明されたままである。最後のロング
ワードが転送されてしまった後でメモリ転送サイクルを
終了するため、指定されたプライマリ・サイクル・タイ
ミング信号が最後のT6の遷移の少なくとも15ナノ秒
前に表明を解かれ、最後のT6の伝送の後、少なくとも
10ナノ秒間表明を解かれたままになる。
メモリ転送サイクルの期間中、指定されたプライマリ列
アドレス信号と指定されたプライマリ列アドレス信号は
、制御ロジック610内の指定装置612によって別の
時間に1組の時間分周多重化線上でメモリ・ドライバ6
30に与えられる。
ドライバ630の出力はメモリ・アレイ600のDRA
Mのアドレス入力に加えられ、また指定さ3 れたミラー行および列アドレス信号と比較するため制御
ロジック610に戻されてエラーをチックする。状態レ
ジスタ転送サイクルとE F、 P ROM転送ザイク
ルの期間中、列アドレス信号は指定の記憶場所を選択す
るために必要ではない。
メモリ転送サイクルの期間中、行アドレス信号はバス8
0と82の時間を共有する行および列アドレスに与えら
れた最初の信号である。状態SE口I DLEの期間中
、行アドレス信号は、メモリ制御装置によって行および
列アドレス線で転送され、列アドレスはTIの遷移の少
なくとも15ナノ秒前からT1の遷移後の10ナノ秒ま
で安定した状態にある。次に、列アドレス信号はメモリ
制御装置によって行およびコラムアドレス線で転送され
、列アドレスは、T3の遷移の10ナノ秒前からT4の
遷移の後15ナノ秒まで安定した状態にある。メモリ転
送サイクルの期間中に多重ロングワードの転送を行う場
合、続いて発生ずる列アドレス信号は、次に行およびコ
ラムアドレス線で転送され、これらの続いて発生する列
アドレスはT64 の遷移のlOナノ秒前からT7の遷移の後15ナノ秒ま
で安定した状態にある。
ジェネレータ/チエッカ617はシーケンサ616によ
って発生された2組のシーケンス・タイミング信号を受
け取る。更に、指定されたプライマリ・サイクル・タイ
プ信号とバンク・アドレス信号および指定されたミラへ
サイクル・タイプ信号とバンク・アドレス信号が指定装
置612によってジェネレータ/チエッカ617に転送
される。ジェネレータ/チエッカでは、多数のプライマ
リ制御信号、すなわちRAS (行アドレス信号L C
AS (列アドレス・ストローブ)およびWE(書き込
みイネーブル)が発生され、プライマリ・シーケンス・
タイどング信号と指定されたプライマリ・サイクル・タ
イプ信号およびバンク・アドレス信号を使用してドライ
バ630に分配される。これらの制御信号の重複した組
がジェネレータ/チエッカ617によって重複(ミラー
)シーケンス・タイミング信号と指定されたミラへサイ
クル・タイプ信号およびバンク・アドレス55 信号から発生される。これらのミラーRAS、CAS、
および書き込みイネーブル信号はエラーのチエツクのた
めに使用される。
プライマリ・サイクル・タンプ信号がメモリ転送サイク
ルが実行中であることを示す場合、プライマリ・バンク
・アドレス信号はメモリ・アレイ600内のDRAMの
1つの選択されたバンクを識別する。メモリ・ドライバ
630はメモリ・アレイ600内のDRAMの各バンク
に対して別々のRASドライバを有している。ジェネレ
ータ/チエッカ617においてプライマリRAS信号は
、メモリ転送サイクル中に発生され、ジェネレータ/チ
エッカをRASドライバに接続する線の1つに非多重化
される。その結果、選択されたDRAMバンクに対応す
るRASドライバのみがメモリ転送サイクル中に表明さ
れたRAS信号を受け取る。
リフレッシュ・サイクルの期間中、プライマリRAS信
号は非多重化されず、表明されたRAS信号が各RAS
ドライバによって受け取られる。
ステータス・レジスタ転送サイクルとl1EPJ70F
I転6 送サイクルの期間中、バンク・アドレス信号は不必要で
ある。
メモリ・トライバ630はまたCASドライバを有する
。ジェネレータ/チエッカ617において、プライマリ
CAS信号はメモリ転送サイクルとリフレッシュ・サイ
クルの期間中に発生される。
プライマリCAS信号は、非多重化されず、表明された
CAS信号は各CASドライバによって受け取られる。
メモリ書き込みサイクルの期間中、プライマリWE信号
はジェネレータ/チエッカ617によって発生される。
表明されたWE信号は、ドライバ630によってメモリ
・アレイ600内の各DRAMバンクに加えられる。し
かし、書き込みは選択ささたDRAMバンクによっての
み実行することが可能でり、このDRAMバンクはまた
表面されたRASおよびCAS信号を受け取る。
本発明の好適な実施例の場合、メモリ転送サイクルの期
間中、プライマリRAS信号はT2の遷移の期間中表明
され、T3の遷移の少なくとも7 1Oナノ秒前から安定し、最後のT7の遷移の期間中表
面を解かれる。プライマリCAS信号は、各T4の遷移
の前15ナノ秒間表明され、各T7の遷移の期間中表明
を解かれる。メモリ書き込みサイクルの期間中、プライ
マリWE信号は、T3の遷移の期間中表明され、最初の
T4の遷移の少なくとも10ナノ秒前から安定し、最後
のT7の遷移に期間中表面を解かれる。
プライマリ・サイクル・タイプ信号がメモリ・リフレッ
シュ・サイクルが実行中であることを示す場合、メモリ
・アレイ600はシーケンサ616によって与えられる
プライマリ・シーケンス・タイミング信号に応答して、
ジェネレータ/チエッカ617によってメモリ・リフレ
ッシュ動作を実行さされる。これらのリフレッシュ動作
の期間中、RAS信号およびCAS信号が逆の順序でジ
ェネレータ/チエッカによって発生されて分配される。
このリフレッシュ・モードはバンク、行または列に対す
る外部アドレスを必要としない。
転送サイクルの期間中、データがバス85い転8 送されている時間に、ECC信号はハス80と82の時
間分周多重化双方向線で転送される。しかし、これらの
同じ線は転送サイクル中の他の時間に制御信号(例えば
、サイクル・タイプ)およびアドレス信号(例えば、メ
モリ・ボード・アドレスおよびバンク・アトルス)信号
を転送するために使用される。
プライマリ/ミラー指定装置612内のトランシーバ/
レジスタはシーケンサ616によって加えられるシーケ
ンス・タイくング信号ともtx/rxレジスタ制御信号
に応答する受信機と発信機を有する。シーケンス・タイ
ミング信号とtx/rxレジスタ制御信号は、バス80
と82の時間分周多重化双方向線でECC信号とアドレ
ス信号および制御信号を多重化することを可能にする。
サイクル・タイプ信号、メモリ・ボード・アドレス信号
およびバンク・アドレス信号のような制御信号とアドレ
ス信号はメモリ制御装置70と75によって転送され、
単一の転送サイクルまたは多重ロングワード転送サイク
ルのいずれかの開9 始時にバス80と82の時間を共有した線に与えられる
ことが望ましい。これらの信号はサイクル・タイミング
信号の活性化と同時に遷移を開始しくシーケンサはSE
Q  IDLE状態にあるが)、T2の間室定状態にあ
る。従って、指定装置612のトランシーバ/レジスタ
において、受信機は起動され、送信機は少なくとも状態
5EQ2の終わり迄そのトリステード・モードにセット
される。
サイクル・タイプ信号は、下記にリストアツブした機能
、すなわちメモリの読み出し、メモリの書き込み、ステ
ータス・レジスタの読み出し、ステータス・レジスタの
書き込み、EEPROMの読み出し、EEPROMの書
き込み、およびリフレッシュのいずれがサイクル期間中
にメモリ・アサイ60によって実行されるかを識別する
。指定装置612によって受け取られた指定されたプラ
イマリ・サイクル・タイプ信号は、シーケンサ616に
加えられ、L x / r x 1tIa制御信号とシ
ーケンス・タイミング信号を発生する場合に使用される
。例えば、データ・トランシーバ/1/ジスク0 620および指定装置612のトランシーバ/レジスタ
において、受信機は起動され、送信機は書き込みサイク
ル全体を通してシーケンサ616によってトリステード
・モードにセットされる。しかし、読み出し期間中のデ
ータ・トランシーバ/レジスタ620および指定装置6
12のトランシーバ/レジスタの場合、受信機はトリス
テード・モードにセットされ、送信機はサイクル・タイ
プ信号、メモリ・ボード・アドレス信号およびバンク・
アドレス信号がこのサイクルの開始時点で受け取られた
後シーケンサ616によって起動される。
適切な実施例の場合、メモリ・アレイ600に対して授
受されたデータはエラー検出コード(EDC)を使用し
て各メモリ・モジュール60内でチエツクされることが
望ましく、このエラー検出コードはメモリ制御装置70
と75によって必要とされるコードと同じであることが
望ましい。
好適なコードは1ピント修正、2ビット検出のエラー修
正コード(ECC)であることが望ましい。
1 メモリ書き込みサイクルの期間中、メモリ制御装置70
は少なくとも1つのロングワードのデータをデータ・ハ
ス85で転送し、同時に対応する組のECC信号をハス
80で転送する。一方、メモリ制御装置75は第2組の
ECC信号を転送し、これらの信号はバス82のデータ
・ハス85のロングワードとまた対応する。
ここで実施されているように、メモリ書き込めサイクル
の期間中、各ロングワード′に対するデータとECC信
号がデータ・トランシーバ/レジスタ620の受信機に
与えられると共に指定装置612のトランシーバ/レジ
スタの受信機に与えられる。データおよびECC信号は
T4の遷移の少なくとも10ナノ秒前に安定しており、
T6の遷移後15ナノ秒後迄安定した状態にあり、これ
らのトランシーバ/レジスタにラッチされる。この時間
の間、メモリ制御装置70と75はハス80と82の時
間を共有した線にアドレス信号と制御信号を加えない。
メモリ書き込みサイクルの期間中に指定装置2 612によって受け取られた指定されたプライマIJE
cc信号とトランシーバ/レジスタ620によって受け
取られたロングワードのデータは、メモリ・アレイ60
0の8つのバンクの各々に於けるDRAMのデータ入力
とECC発生装置623に加えられる。発生されたEC
Cは比較器625によって指定されたプライマリ・EC
Cと比較される。指定されたプライマリ・ECC信号は
、また指定されたξラへECC信号と共にECC比較器
625に加えられる。
ここで実施例されているように、メモリ読み出しサイク
ルの期間中、少なくとも1つのロングワードのデータと
対応する組のECC信号がメモリ・アレイ600から読
み出され、データ・トランシーバ/レジスタ620と指
定装置612のトランシーバ/レジスタにそれぞれ向け
られる。メモリ読み出しサイクルの遷移T7の期間中、
各ロングワードに対するデータとECC信号はメモリ・
アレイ600から入手可能であり、これらのI・ランシ
ーバ/レジスタにラッチされる。このデータ3 はECC発生装置623に与えられ、その出力はメモリ
から読み出されたECCと比較される。
ラッチの後、データおよびECC信号は、データ・トラ
ンシーバ/レジスタ620の送信機と指定装置612の
トランシーバ/レジスタの送信機によってデータ・バス
85とバス80および82に与えられる。同じECC信
号は、指定装置612のトランシーバ/レジスタからメ
モリ制御装置70とメモリ制御装置75に転送される。
データバス85とバス80および82で転送されたデー
タとECC信号は、T7の遷移の15秒後からこれに続
<T6の遷移の5ナノ秒前迄(多重ロングワード転送の
場合)またはこれに続<T  IDLE遷移の5ナノ秒
前迄(単一のロングワードの転送または多重ロングワー
ド転送の最後のロングワードの場合)安定した状態にあ
る。この時間間隔の間、メモリ制御装置70と75は、
バス80と82の時間を共有したアドレス信号と制御信
号を加えない。データ・トランシーバ/レジスタ620
の送信機と指定装置612のトランシーバ/レジスタ4 の送信機は、これに続<T  ID1.、E遷移の期間
中、トリステード・モードにセットされる。
比較器614は、制御装置70から発生ずるアドレス信
号制御装置およびタイミング信号を制御装置75から発
生するこれらに対応するアドレス信号、制御信号および
タイごング信号と比較するために設けられる。指定され
たプライマリ・サイクル・タイミング信号、サイクル・
タイプ信号、メモリ・ボード・アドレス信号、およびバ
ンク・アドレス信号は、指定されたミラへサイクル・タ
イミング信号、サイクル・タイプ信号、メモリ・ボード
アドレス信号、バンク・アドレス信号、行アドレス信号
、および列アドレス信号と共に指定装置612から比較
器614に加えられる。指定されたプライマリ行アドレ
ス信号および列アドレス信号はドライバ630の出力か
ら比較器614に加えられる。そこで両方の組の信号が
比較される。
もし、メモリ制御装置から発生するアドレス信号、制御
信号、およびタイミング信号の間で比較5 のミスがあれば、比較器614は適当なエラー信号を発
生する。第6図に示すように、ボード・アトL/ス・エ
ラー信号、バンク・アドレス・エラー信号、行アドレス
・エラー信号、列アドレス・エラー信号、サイクル・タ
イプ・アドレス・エラー信号、およびサイクル・タイミ
ング・エラー信号は比較器から発生することができる。
ジェネレータ/チエッカ617は、指定されたプライマ
リ・バンク・アドレス信号、サイクル・タイプ信号およ
びサイクル・タイミング信号を使用してシーケンサ61
6およびジェネレータ/チエッカ617によって発生さ
れたプライマリ制御信号およびタイ逅ング信号を、指定
されたミラへバンク・アドレス信号、サイクル・タイプ
信号およびサイクル・タイミング信号を使用して、発生
されたごラー制御信号およびタイミング信号と比較する
。2組のシーケンス・タイミング信号は、シーケンサ6
16によってジェネレータ/チエッカ617に加えられ
る。プライマリRAS信号、CAS信号、およびWE倍
信号、ドライバ6306 の出力からジェネレータ/チエッカ617に加えられる
。前に説明したように、ミラーRAS信号、CAS信号
およびWE倍信号ジェネレータ/チエッカによって内部
的に発生される。ジェネレータ/チエッカ617は、プ
ライマリRAS信号、CAS信号、WE倍信号よびシー
ケンス・タイミング信号をξラーRAS信号、CAS信
号、WE倍信号およびシーケンス・タイミング信号と比
較する。
もし、シーケンサ616またジェネレータ/チエッカ6
17から発生する制御信号およびタイミング信号のいず
れかの間に比較のミあれば、ジェネレータ/チエッカは
適当なエラー信号を発生する。第6図に示すように、シ
ーケンサ・エラー信号、RASエラー信号、CASエラ
ー信号、およびWEエラー信号はジェネレータ/チエッ
カ617によって発生することかできる。
エラー信号は、比較器614およびジェネレータ/チエ
ッカ617からアドレス/制御エラへロジック621に
加えられる。比較器614また7 はジェネレータ/チエッカ617から受け取ったエラー
信号に応答して、アドレス/制御エラへロジック621
はアドレス/制御エラー信号をCPUモジュール30に
転送し、アドレス信号・制御信号、またはタイごング信
号のいずれかの間で比較の旦スが発生したことによる故
障を検出したことを示す。アドレス/制御エラー信号は
、エラーを処理するためにメモリ制御装置70と75の
エラへロジックに送られる。アドレス/制御エラー信号
をCPUモジュール30にすることによって、CPU/
MEM故障が発生ずるが、これは他のセクションで詳細
に論じる。
比較器614およびジェネレータ/チエッカ617から
のエラー信号は、またステータス・レジスタ618に加
えられる。工・ラー信号および故障に関連するアドレス
信号、制御信号、タイミング信号、データ信号およびE
CC信号の全ては、−時的にステータス・レジスタに記
憶され、エラーの診断と修復を可能にする。
本発明の1つの特徴によれば、32ビツトのデ8 −タ・ハス85が1本だけCPUモジュール30とメモ
リ・モジュール60との間に設けられる。
従って、メモリ・モジュール60はメモリ制御装置70
と75からの2組のデータを比較することができない。
しかし、メモリ制御装置70と75によってメモリ・モ
ジュール60に転送された2つの独立した組のECC信
号をチックすることによって、ビットのデータ線の重複
した組を使用することなく、データの1建全1生がメ士
り・七ジュール60によって検証される。
第6図に示すように、制御ロジック610はECC発生
装置623とECC比較器625を有する。指定された
プライマリおよびミラーECC信号は、指定装置712
によってECC比較器に加えられる。メモリー書き込み
サイクルの期間中、指定されたプライマリECC信号は
、指定されたくラーECC信号と比較される。その結果
、メモリ・モジュール60は、メモリ制御装置7oと7
5が一致しているかどうかを検証すると共にメモリー書
き込みサイクルの期間中にメモリ・アレ9 イ600のDRAMに記憶されている指定されたプライ
マリECC信号が正しいかどうかを検証する。更に、メ
モリー書き込みサイクルの期間中にDRAMのデータ入
力に与えられたデータは、ECC発生装W623に加え
られる。ECC発生装置623は、このデータ応する1
組の発生されたECC信号を発生し、この発生されたE
CC信号をECC比較器625に加える。指定されたプ
ライマリECC信号は発生されたECC信号と比較され
、メモリ制御装置70によってデータ・バス85に転送
されたデータがメモリ・アレイ600のDRAMに記憶
されているデータと同じであるかどうかを検証する。
メモリ読み出しサイクルの期間中、DRAMの選択され
たバンクから読み出されたデータはECC発生器に与え
られる。発生されたECC信号はそこでECC比較器に
加えられ、このECC比較器は、またDRAMの選択さ
れたバンクから読み出されて記憶されているECC信号
を受け取る。発生され記憶されているECC信号は、E
CC比較0 器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の故障を検出し
たことを示す。この比較の1 ミスはメモリ書き込みサイクルの期間中に行われる2つ
のECCのチエツクの期間中またはメモリ読み出しサイ
クル行われる1つのECCのチエツクの期間中のいずれ
かで発生ずる可能性がある。
第6図に示すように、ボード選択ロジンクロ27はメモ
リの背面板からスロット信号を受け取る。
これらのスロット信号によって、各メモリモジュール6
0に対してユニークなスロワ1−・ロケーションが指定
される。ボード選択ロジッチ627は、そこでこれらの
スロット信号を指定回路612を介してメモリ制御装置
のIから転送された指定されたプライマリ・ボード・ア
ドレス信号と比較する。もしこのスロット信号が指定さ
れたプライマリ・ボード・アドレス信号と同じであれば
、ボード選択信号がボード選択ロジック627によって
発生され、これによって制御ロジック610内の他の回
路を動作させる。
3、 メモリ制御装置 メモリ制御装置70と75は、CPU40と50のメモ
リ・モジュール60および補助メモリ2 素子に対するアクセスをそれぞれ制御好適な実施例の場
合、ある種のエラー処理動作を実行する。
メモリ制御装置72に接続された補助メモリ素子はシス
テムROM43、EEPROM44、およびスクラッチ
・パッドRAM45を有する。ROM43は、診断コー
ド、コンソール・ドライバ・コード、およびブードスト
ラップ・コードの一部のようなある種の標準コードを保
持している。
EEPROM44は、CPU40の動作中に検出された
エラー情報のような情報を保持するのに使用されるが、
この情報は変更を行う必要がある。が、電源を切った場
合に失われるべきではない。スクラッチ・パッドRAM
45は、CPU40によって実行されるある種の動作の
ために使用されると共に、レール・ユニーク情報(例え
ば、ただ1つのCPU40または50に使用することの
できる1つのレールの条件に特有の情報)をゾーン情報
(CPU40と50の両方がアクセスすることのできる
情報)に変換するために使用される。
等価な構成要素53.54および55がメモリ3 制御装置75に接続される。システムROM53、EE
PROM54およびスクラッチ・パッドl?AM55は
、システムROM43、EEPROM44、およびスク
ラッチ・パッドRAM45とそれぞれ同じであり、同じ
機能を実行する。
第7図ないし第9図は、プライマリ・メモリ制御装置7
0の好適な実施例の詳細を示す。くラへメモリ制御装置
75は、第7図ないし第9図に示す構成要素と同じ構成
要素を有しているが、動作は若干界なっている。従って
、メモリ制御装置75の動作と異なっている部分を除い
て、プライマリ・メモリ制御装置70の動作のみを説明
する。
処理システム20′内のメモリ制御装置70′と75′
は同じ構成要素を有し、それぞれメモリ制御装置70と
75と同じように動作する。
第7図に示す構成要素は、プライマリ・メモリ制御装置
70を介してデータの流れ、アスおよび信号を制御する
。制御ロジ・ンク700は、メモリ制御語M70の受け
取った信号および制御ロジック700に記憶されている
そのメモリ制御装置の4 ステード・エンジンに従って第7図の種々の構成要素の
状態を制御する。マルチプレクサ702は、これらのソ
ースの1つからアドレスを選択する。
これらのアドレスは、受信a705を介してCPU30
から得ることもできるし、第8図を参照して以下で説明
するDMAエンジン800から得ることもできるし、ま
た再同期化動作の期間中に1つのゾーンから他のゾーン
にある種のバンク・メモリを転送する間に人工的リフレ
ッシュを発生するのに使用されるリフレッシュ再同期化
アドレスから得ることもできる。
CPU30からのデータは、受信[705を介して受け
取られDMAからのデータはエンジン800を介して受
け取られるので、マルチプレクサ702の出力はマルチ
プレクサOの入力である。
マルチプレクサ710の出力は、メモリ相互接続部85
とドライバ715を介してメモリ・モジュール60にデ
ータを与える。ドライバ715はミラへメモリ制御モジ
ュール75と75′に対して不能にされるが、その理由
は、メモリ・データ5 の1つの組のみが、それぞれメモリ・モジュール60と
60′に送られるからである。
メモリ相互接続部85に送られるデータは、CPU30
からメモリ・モジュール60に記憶されるべきデータま
たはDMAエンジン800からメモリ・モジュール60
に記憶されるべきデータのいずれかを含んでいる。CP
U30からのデータとマルチプレクサ702からのデー
タはまたこの経路また受信機745とECC修正装置7
50を介してDMAエンジン800に送られる。
マルチプレクサ702からのアドレスは、デマルチプレ
クサ720の入力にまた加えられ、このデマルチプレク
サ720はこれらのアドレスを47列アドレス部、ボー
ド/バンク・アドレス部分およびシングル・ボード・ビ
ットに分割する。47列アドレスの22ビツトが11本
の線に多重化される。好適な実施例の場合、22ビツト
の47列アドレスがドライバ21を介してメモリ・モジ
ュール60に送られる。シングル・ボード・ヒツトはド
ライハフ22を介してメモリ・モジュール6 60に送られることが望ましく、他のボード/バンク・
アドレスピントはECC信号と多重化される。
マルチプレクサ725は、メモリ制御装置70に対する
通1:I;のリフレッシュ命令とCP[J30からのサ
イクル・タイプ情報(すなわち読み出し、書き込み等)
およびDMAサイクル・タイプ情報とを結合する。通常
のリフレッシュ命令どリフレッシュ再同期アドレスの両
方によって、メモリ・モジュール60がメモリ・リフレ
ッシュ動作を開始する。
マルチプレクサ725の出力は、デマルチプレクサ72
0からのボード/バンク・アドレスと共にマルチプレク
サ730に対する入力である。マルチプレクサ730に
対する他の入力は、ECCジェネレータ/チエッカ73
5の出力である。マルチプレクサ730は、入力の1つ
を選択し、これをメモリ・モジュール60に対する時間
分割多重化ECC/アドレス線に載置する。マルチプレ
クサ730は、これらの時間分割多重化線がボー7 ド/バンク・アドレスと別の制御情報ならびにECC情
報を、異なった時間に、搬送するこを可能にする。
ECC情報は、受信機734を介してメモリ・モジュー
ル60から受け取られ、入力として[ECCジェネレー
タ/チエッカ735に加えられ、メモリ・モジュール6
0によって発生されたECCをメモリ制御装置70によ
って発生されたECCと比較する。
ECCジェネレータ/チy−yカフ35に対する他の入
力は、マルチプレクサ740からの出力である。メモリ
・トランザクションが書き込みトランザクションである
か読み出しトランザクションであるかによって、マルチ
プレクサ740はマルチプレクサ710からメモリ・モ
ジュール60に送られたメモリ・データを入力として受
け取るか、または受信機745を介してメモリ・モジュ
ール60から受け取られたメモリ・データを入力として
受け取る。マルチプレクサ740は、ECCジェネレー
タ/チエッカ735に対する入力である8 これらのメモリ・データの組の1つを選択する。
ジェネレータ/チエッカ735は、次に適当なECCコ
ードを発生し、このコードは、マルチプレクサ730に
送られる以外に、またECC修正装置750にも送られ
る。好適な実施例の場合、ECC修正装置750はメモ
リ・モジュール60から受け取られたメモリ・データ内
の全てのシングル・ビットエラーを修正する。
ECCチエッカ750からの修正されたメモリ・データ
は、次に第8図に示すDMAエンジンに送られると共に
マルチプレクサ752に送られる。
マルチプレクサ752に対する他の入力は、第9図と関
連して以下で説明するエラー処理ロジックからのエラー
情報である。マルチプレクサ752の出力は、ドライハ
フ53を介してCPU30に送られる。
比較器755は、マルチプレクサ710からメモリ・モ
ジュール60に送られたデータをこのデータがドライハ
フ15と受信機745を通過した後、このデータのコピ
ーと比較する。チエツクに9 よって、ドライバ715と受信機745が正しく動作し
ているかどうかを判定する。比較器755からの出力は
CMPエラー信号であり、この信号はこのような比較エ
ラーがあるか無いかを示す。
第9図においてCMPエラへロジックに供給すれる。
第7図の他の2つの構成要素によって、異なった種類の
エラー検出が行われる。構成要素760はパリティ−発
生装置である。メモリ制御装置70によってメモリ・モ
ジュール6oに記憶されるべきデータに発生されたかま
たはメモリ・モジュール60によってメモリ・モジュー
ル60がら読み出されたデータに発生されたECCデー
タは、パリティ−発生装置70に送られる。発生装置7
60からのパリティ−信号は、ドライバ762を介して
、比較器765に送られる。比較器765は、発生装置
760からECCパリティ−信号を制御装置75′によ
って発生された等価のECCパリティ−信号と比較する
パリティ−発生装置770は、デマルチプレク0 ザ720から受け取られた行/列アドレス信号とシング
ル・ピッ1〜・ボード・アドレス信号とについて同じ種
類のチエツクを実行する。パリティ−発生装置770か
らのアドレス・パリティ−信号はドライバ772によっ
て比較器775に送られ、この比較器775は制御装置
75からまたアドレス・パリティ−信号を受け取る。比
較器765と775の出力はパリティ−・エラー信号で
あり、これらの信号は第9図のエラへロジックに供給さ
れる。
第8図はDMAエンジン800の基礎を示す。
好適な実施例の場合、DMAエンジン800はメモリ制
御装置70内に位置するが、この場所にある必要はない
。第8図に示すように、DMAエンジン800はデータ
・ルータ(router)  810、DMA制御装置
820、およびl) M Aレジスタ830を有する。
ドライバ815と受信m816によって、メモリ制御装
置70とクロスリンク90との間にインターフェースが
設けられる。
DMA制御装置820は、制御ロジック7001 から内部制御信号を受け取り、これに応答して、制御信
号を送ってデータ・ルータ810を適当に構成する。制
御装置820によって、データ・ルータ810が第7図
に示すクロスリンク90からのデータと制御信号をメモ
リ制御70回路に送るように、その構成がまた設定され
る。データ・ルータは、その状態信号をDMA制御制御
820に送り、このDMA制御装置はこの信号を他のD
MA情報と共に第9図のエラへロジックに伝える。
レジスタ830はDMAバイト・カウンタ・レジスタ8
32とDMAアドレス・レジスタ836を有する。これ
らのレジスタは、ルータ810を介してCPU40によ
って初期値にセットされる。
次に、DMAサイクルの期間中、制御装置820はルー
タ810を介してカウンタ・レジスタ832をインクリ
メントさせアドレス・レジスタ836をデクリメントさ
せる。制御装置820によって、アドレス・サイクル8
36の内容がDMA動作の期間中ルータ810と第7図
の回路を介してまたメモリ・モジュール60に送られる
2 上に説明したように、本発明の好適な実施例の場合、メ
モリ制御装置70.75.70′、および75′は、ま
たある種の基本的なエラー動作を実行する。第9図は、
このようなエラー動作を実行するハードウェアの好適な
実施例の1例を示す。
第9図に示すように、タイムアウト信号、[CCエラー
信号およびバスのくス比較信号のようなある種のメモリ
制御装置内部信号は、レール(rail)・エラー信号
、ファイヤーウオール(firewall)のくス比較
信号およびアドレス/制御エラー信号のようなある種の
外部信号と同様に、診断エラへロジック870に対する
入力である。好適な実施例の場合、診断エラへロジック
870はクロスリンク90と95を介してシステム10
の他の構成要素からエラー信号を受け取る。
診断エラーロジック870は、エラー信号とメモリ制御
装置70のベーシック・タイミングから発生された制御
パルス信号からエラへパルスを形成する。診断エラへロ
ジック870によって発生されたエラへパルスは、ある
種のタイミン33 グ信号に従って診断エラへレジスタ880の適当なロケ
ーションに記憶されているある種のエラー情報を含む。
システム故障エラへアドレス・レジスタ65は、エラー
が発生した場合、CPU40と50が通信を行″ってい
たメモリ・モジュール60内にアドレスを記憶する。
診断エラへロジック870からのエラへパルスはまたエ
ラへカテゴリー化ロジック850に送られ、このエラへ
カテゴリー化ロジック850はまたサイクル・タイプ(
例えば読み出し、書き込み等)を示す情報をCPU30
から受け取る。。この情報およびエラへパルスから、エ
ラへカテゴリー化ロジック850はCPU/10エラー
、DMAエラー、またはCPU/MEM故障の存在を判
定する。
CPU/Toエラーは、バス46のCPU/IOサイク
ルに直接帰するべき動作上のエラーであり、リセットに
関して以下で説明するように、ハードウェアーによって
修復することが可能である。DMAエラーは、DMAサ
イクルの期間中に4 発生するエラーであり、好適な実施例の場合、主として
ソフトウェアによって処理される。CPU/MEM故障
は、CPUの正しい動作またはメモリの内容を保障する
ことのできないエラーである。
エラへカテゴリー化ロジック850からの出力は、エン
コーダ855に送られ、このエンコーダ855は特定の
エラへコードを形成する。このエラへコードは、エラへ
ディスエーブル信号が存在する場合、次にANDゲード
856を介してクロスリンク90と95に送られる。
エラへコードを受け取った後、クロスリンク90.95
.90’ 、95’はメモリ制御装置にリトライ要求信
号を送る。第9図に示すように、メモリ制御装置70の
エンコーダ895はサイクル・タイプ情報とエラー信号
〔サイクル・クオリファイヤ(qualif 1ers
)として纏めてに示される)と共にリトライ要求信号を
受け取る。エンコーダ895は、次にシステム故障エラ
へレジスタ898に記憶するための適当なエラへコード
を発生する。
5 システム故障エラへレジスタ898は、診断エラへレジ
スタ880と同じ情報を記憶しない。
システム故障エラへレジスタ898とは違って、診断エ
ラへレジスタ880はクロスリンク・レールからの1つ
の入力のエラーのようなレール・ユニーク情報およびメ
モリ・モジュール60内の修正不可能なECCエラーの
ようなゾーン・ユニーク・データのみを含んでいる。
診断エラへレジスタ898は、またエラーの処理に使用
される幾つかのビットを含んでいる。
これらのビットは、所望のメモリ・ロケーションが見当
たらないことを示すNXNビット、所望にI10ロケー
ションが見当たらないことを示すNXl0ビツト、ソリ
ッド故障ピントおよび過渡的ビットを含んでいる。過渡
的ビットソリッド・ビットはいずれも故障のレベルを示
す。過渡的ビットによって、またシステム故障エラへア
ドレス・レジスタ865が凍結される。
第9図は、メモリ・コントローラ・ステータス・レジス
タ875を示すが、これは技術的には工6 ラへロジックの一部ではない。レジスタ875は、DM
A比率比率部子77MA比率コード・エラへディスエー
ブル部878のエラへデスエーブル・コード、およびミ
ラへバス・ドライバ・イネーブル部876のミラへハス
・ドライバ・イネーブルコードのようなある種の状態情
報を記憶する。
DMA比率コードは、DMAに割り当てることのできる
メモリ帯域幅の部分を特定する。
エラへデスエーテル・コードによって、ANDゲード8
56および従ってエラへコードを不能にする信号が与え
られる。ミラへバス・ドライバ・イネーブル・コードに
よって、ある種のトランザクションに対してミラへバス
・ドライバを動作させる信号を与えられる。
4、 クロスリンク メモリ再同期、DMAおよびI10動作用のデータは、
クロスリンク90と95を通過する。
船釣に、クロスリンク90および95によって、CPU
モジュール30、CPU士ジュール30′I10モジュ
ール100.110.120、およ7 びI10モジュール110’、110’、120’との
間の通信が行われる。(第1図参照)クロスリンク90
と95は、第10図に示すように、並列レジスタ910
と直列レジスタ920の両方を含む。両方のタイプのレ
ジスタは、本発明の好適な実施例でプロセッサ間の通信
を行うために使用される。通常の動作の期間中、処理シ
ステム20と20′は同期され、データはそれぞれクロ
スリンク90/95と90’/95’の並列レジスタ9
10を使用して、処理システム20と20′との間で交
換され、処理システム20と20′が同期されていない
場合、ブードストラッピングの期間中に最も顕著に現れ
るように、データは直列レジスタ902によってクロス
リンクの間で交換される。
並列レジスタのアドレスは、メモリ・スペースと違って
I10スペースである。メモリ・スペースとはメモリモ
ジュール60内のロケーションのことである。I10ス
ペースとは、110および内部システム・レジスタのよ
うなロケーションの8 ことであり、こらばメモリ・モジュール60内には存在
しない。
110スペース内では、アドレスはシステl、・アドレ
ス・スペース内に存在するか、ゾーン・アドレス・スペ
ース内に存在するかのいずれかである。「システム・ア
ドレス・スペース」という用語は、システム10全体を
通してアクセスすることのできるアドレス、すなわち処
理システム20と20′の両方によってアクセスするこ
とのできるアドレスのことである。「ゾーン・アドレス
・スペース」という用語は、特定のクロスリンクを含む
ゾーンによってのみアクセス可能であるアドレスのこと
である。
第10図に示す並列レジスタは、通信レジスタ906と
I10リセット・レジスタ908を有する。通信レジス
タ906は、ゾーン間で交換される独特のデータを含む
。このようなデータは、メモリ・ソフト・エラーのよう
な通常ゾーンに特有のデータである(メモリモジュール
60と60′が同じエラーを同時に独立して経験すると
いうこ9 とは確率の領域外の出来事である) レジスタ906に記憶されるべきデータはユニークなも
のであるため、書き込みの目的のための通信レジスタ9
06のアドレスは、ゾーン・アドレス・スペースになけ
ればならない。もしそうでなければ、処理システム20
と20′は、ロックステップ同期状態にあり同じ一連の
命令を異同時に実行しているため、ゾーン・ユニーク・
データをゾーン11内の通信レジスタ906のみに記憶
することはできず、これらはこの同じデータをゾーン1
1’内の通信レジスタ906’  (図示せず)にも記
憶しなければならない。
しかし、読み出しのための通信レジスタ906のアドレ
スは、システム・アドレス・スペース内に存在する。し
たがって、同期動作の期間中、両方のゾーンは同時に1
つのゾーンから通信レジスタを読み出すことができ、次
に他のゾーンから通信レジスタを同時に読み出すことが
できる。
I10リセット・レジスタ908は、システム・アドレ
ス・スペース内に存在する。このI100 リセット・レジスタは、対応するモジエールがリセット
状態にあるかどうかを示すため、1つのI10モジュー
ルに対して1ピツI・を有する。I10モジュールがリ
セット状態にある場合、これは効果的にディスエーブル
される。
並列レジスタ91もまた他のレジスタを有するが、これ
らの他のレジスタの理解は本発明を理解するために必要
ではない。
並列クロスリンク・レジスタ920は全てゾーンの固有
のスペース内に存在するが、その理由は、これらが非同
期通信に使用されるが、ゾーンに固有の情報のみを有し
ているかのいずれかであるからである。並列クロスリン
ク・レジスタと並列クロスリンクの目的は、プロセッサ
20と20′が例えロック・ステップ同期状態(例えば
、位相ロック状態およびこれと同じ状態)で動作してい
なくても、これらのプロセッサ20と20′に通信を行
なわせることである。好適な実施例の場合、幾つかの並
列レジスタがあるが、本発明を理解するためにこれらを
説明する必要はない。
1 制御および状態レジスタ912は、状態および制御フラ
グを含む直列レジスタである。これらのフラグの1つは
O3Rビット913であり、これはブードストラビング
のために使用され、対応するゾーンの処理システムがブ
ードストラブ・プロセスが既に終了しているかまたはこ
のシステムが再同期を行ったかのいずれかの理由のため
に、この処理システムが既にそのブードストラブ・プロ
セスを開始したかどうか、またはそのゾーンに対する動
作システムが現在勤作中であるかとうかを示す。
制御および状態レジスタ912は、またクロスリンク9
0の現在のモードおよび従って処理システム20の現在
のモードを識別するためのモード・ビット914を有す
る。モード・ビットハ、再同期モード・ビット915と
クロスリンク・モード・ビット916を含むことが望ま
しい。再同期モード・ビット915は、クロスリンク9
0を再同期スレーブ・モードまたは再同期マスタへモー
ドのいずれかにあるものとして識別する。クロ2 スリフク・モード・ビット916は、クロスリンク90
をクロスリンク・オフ・モード、デュプレックス・モー
ド、クロスリンク・マスタへモード、またはクロスリン
ク・スレーブ・モードのいずれかにあるものとして識別
する。
直列レジスタの用途の1つは、状態読み出し動作であり
、この動作によって、1つのゾーンのクロスリンクが他
のゾーンのクロスリンクの状態を読み出すことができる
。状態読み出し要求フラグ918を直列制御状態レジス
タ912に立°Cることによって、状態情報に対する要
求がクロスリンク90′に送られる。このメツセージを
受け取ると、クロスリンク90′は、その直列制御およ
び状態レジスタ912′の内容をクロスリンク90に送
り返す。
第11図は、プライマリ・クロスリンク90およびミラ
へクロスリンク95内のルード制御および状態信号(「
制御コード」と呼ぶ)用の構成要素の幾つかを示す。対
応するクロスリンクの構成要素は、好適な実施例では、
クロスリンク90′3 および95′内に存在する。これらのコードは、メモリ
制御装置70と75およびモジュール相互接続部130
.132.130′および132′との間に送られる。
第12図は、ルード・データおよびアドレス信号を送る
のに使用される好適な実施例のプライマリ・クロスリン
ク90の構成要素を示す。対応するクロスリンクの構成
要素は、クロスリンク95.90′および95′内に存
在する。
第11図は、プライマリ・クロスリンク90とミラへク
ロスリンク95の両方に対する構成要素を示すが、これ
らの構成要素の間には重要な相互接続部があるため、ハ
ードウェアは同じである。
プライマリ・クロスリンク90の構成要素と同じミラへ
クロスリンク95の回路の構成要素は同じ番号で示すが
、くラー制御装置の場合には番号の次に「m」の文字を
付ける。
第11図および第12図を参照して、これらの構成要素
はラッチ、マルチプレクサ、ドライバおよび受信機を含
む。ラッチ933および933m4 のような一部のラッチは遅延要素として動作し、クロス
リンクの正しいタイミングを保証し、これによって同期
を維持する。第11図に示すように、メモリ制御装置7
0からの制御コードは、ハス88を介してラッチ931
に送られ、次にラッチ932に送られる。このよらなラ
ッチを行う理由は、適当な遅れを与えてメモリ制御装置
70からのデータがメモリ制御装置70′からのデータ
と同時にクロスリンク90を通過することを保証するこ
とである。
もしメモリ制御装置70からのコードがクロスリンク9
0′を介して処理システム20′に送られるべきであれ
ば、ドライバ937が起動される。
メモリ制御装置70からの制御コードは、またラッチ9
33を通過してマルチプレクサCSMUXA935に入
る。もし制御コードがクロスリンク90′からプライマ
リ・クロスリンク90に受け取られれば、これらの経路
は受信装置936を通ってラッチ938およびまたマル
チプレクサ935に至る。
マルチプレクサ935に対する制御コードによ5 って、データのソースが決定される、すなわちこれがメ
モリ制御装置70からきたものであるかまたはメモリ制
御装置70′からきたものであるかが決定され、これら
のコードはマルチプレクサ935の出力に加えられる。
この出力は、再び正しい遅延目的のため、ラッチ939
の記憶され、もしこれらのコードがモジュール相互接続
部130に送られるべきであれば、ドライバ940が起
動される。
データおよびアドレス信号の経路は、第12図に示すよ
うに、第11図に示す制御信号の経路と若干類似してい
る。これらの相違点は、いずれの1つのトランザクショ
ンの期間中においてもデータおよびアドレスはクロスリ
ンク90と95を介して1つの方向のみに流れるが、制
御信号はそのトランザクションの期間中に双方向に流れ
るという事実を反映している。これと同じ理由のため、
バス88と89のデータ線は双方向であるが、制御方向
は双方向ではない。
バス88を介してメモリ制御装置70から供給6 されるデータとアドレスはラッチ961に入り、次いで
ラッチ962に入り、次いでランチ964に入る。第1
1図の場合と同様に、第12図のラヨチによって同期を
維持するための正しいタイミングが与えられる。メモリ
制御装置70′から出力されるデータは受信装置986
によってバッファされ、ラッチ988に記憶され、次に
マルチプレクサMUXA966の入力に向かう。マルチ
プレクサ966の出力は、ラッチ986に記憶され、も
しドライバ969が起動されれば、モジュール相互接続
部130に送られる。
第11図はメモリ制御装置72送られるべき制御コード
の経路を示す。モジュール相互接続部130からのコー
ドは、先ずラッチ941に記憶され、次にマルチプレク
サC3MUXC942に与えられる。マルチプレクサ9
42は、また並列クロスリンク・レジスタ910から1
ift ?卸コードを受け取り、ラッチ943に転送す
るため並列レジスタ・コードまたはラッチ941からの
コードのいずれかを選択する。もしこれらの制御コード
が7 クロスリンク90′に転送されるべきであれば、ドライ
バ946が起動される。クロスリンク90′からのコー
ド(および従ってメモリ制御装置70′からの制御コー
ド)は受信機947いよってバッファされ、ラッチ94
8に記憶され、入力としてマルチプレクサC3MUXD
945に加えられる。
マルチプレクサC3MUXD945は、またラッチ94
3の内容を記憶しているラッチ944の出力を入力とし
て受け取る。
マルチプレクサ945は、モジュール相互接続部130
からのコードまたはクロスリンク90’からのコードの
いずれかを選択し、これらの信号を入力としてマルチプ
レクサC3MUXE949に加える。マルチプレクサ9
49は、またデコード・ロジック970からのコード(
再同期の期間中に発生ずるバルク・メモリの転送のため
に)、直列クロスリンク・レジスタ920からのコード
、または所定のエラーコードERRを入力として受け取
る。マルチプレクサ949は、次に適当に制限されてこ
れらの入力の幾つかを選択してラッチ8 950に記憶する。もしこれらのコードがメモリ制御装
置70に送られるべきであれば、次にトライバ951が
起動される。
マルチプレクサ949に対する入力であるエラへコード
ERRの目的ば、レールの1つのエラーによって、レー
ルとしての同じゾーン内のCPUが異なった情報を処理
しないことを保証することである。もしこのようなこと
が発生すれば、CPUモジュール30は故障を検出し、
これによってトラスチックだが恐らく必要のないアクシ
ョンが発生ずる。このことを回避するため、クロスリン
ク90はEXCLUSIVE  ORゲード960を有
し、このゲードによってマルチプレクサ945と945
mの出力が比較される。もしこれらの出力が異なってい
れば、ゲード960によってマルチプレク1す949は
E RRコードを選択する。
EXCLUSIVE  ORゲード960mは、同様に
マルチプレクサ949mにまたERRコードを選択させ
る。このコードは、エラーが発生しているがCPUモジ
ュールにエラーの発生すること9 は回避されていることをメモリ制御装置70と75に示
す。メモリ・モジュール60に対するシングル・レール
・インターフェースはデータとアドレスに対して同じ結
果を達成する。
第12図に示すデータとアドレスの流れは第11図の制
御信号の流れと同じである。モジュール相互接続部13
0からのデータとアドレスは、ラッチ972に記憶され
、次に入力としてマルチプレクサMUXB974に入力
として加えられる。
並列レジスタ910からのデータによって別の入力がマ
ルチプレクサ974に加えられる。マルチプレクサ97
4の出力は、マルチプレクサMUXC976に対する入
力であり、このマルチプレクサMUXC976ば、また
もともとメモリ制御装置70から送られてラッチ961
に記憶されているデータとアドレスを受け取る。マルチ
プレクサ976は、次にこれらの入力の1つを選択して
ラッチ798に記憶する。もしモジュール相互接続部1
30から入力されたものであれ、メモリ制御装置70か
ら入力されたものであれ、もしデータ0 とアドレスがクロスリンク90′に送られるべきであれ
ば、ドライバ984が起動される。
クロスリンク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、デコードロジック1 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および2 966の目的は、ドライバ937.937mおよび98
4が適切な状態にセントされることを保証することであ
る。この「初期デコード」によって、データ・アドレス
とコードが全てのケースで適切なりロスリンクに送られ
ることを確認する。このような初期デコード・ロジック
がなければ、クロスリンクは全てそれらのドライバが不
能にされた状態におかれる可能性がある。メモリ制御装
置のドライバがまた不能にされれば、そのクロスリンク
は決してアドレス、データおよび制御コードを受け取ら
ず、そのクロスリンクに接続されているI10モジュー
ルの全てを効率的に不能にする。
デコード・ロジック970.971.970m。
971m、および998によって発生されたドライバ制
御信号を説明する前に、これらのゾーン、従ってクロス
リンク90と95がとることのできる異なったモードを
理解する必要がある。第13図は、異なった状態Aない
しFおよび各モードに対応するこれらの状態を説明する
表である。
開始時およびその他の場合、両方のゾーンは状3 態Aにあり、この状態Aはこれら両方のゾーンに対する
OFFモードとして知られる。このモードの場合、両方
のゾーンのコンピュータ・システムは独立して動作して
いる。これらのゾーンの1つの動作システムが他方のゾ
ーンのIloと通信を行う能力を要求し、その要求が受
け入れられた後、これらのゾーンは状態もとCとして示
されるマスター/スレーブ・モードに入る。このような
モードの場合、マスターであるゾーンは動作しているC
PUを有し、そのゾーンおよび他方のゾーンのI10モ
ジュールを制御する。
再同期を開始すると、コンピュータ・システムは状態B
またはCのいずれかのマスター/スレーブモードを離脱
し、状態EおよびFとして示される再同期スレーブ/再
同期マスタへモードに入る。これらのモードの場合、マ
スタへゾーンであったゾーンが他方のゾーンのCP U
をオン・ラインにする役割を果たす。もし再同期に失敗
すれば、これらのゾーンは前に再同期しようとしたのと
同じマスター/スレーブモードに戻る。
4 しかし、もし再同期が成功すれば、これらのゾーンは状
態りに入り、この状態りは完全デュプレックス・モード
である。このモードの場合、両方のモードはロックステ
ップ同期状態で共に動作する。動作は、CPM/MEM
の故障が発生する迄、このモードで継続され、この場合
、システムは2つのマスタへスレーブ・モードの1つに
入る。
スレーブはそのプロセッサーがCP、M/MEM故障を
経験したゾーンである。
状態D、すなわち完全デュプレックス・モードで作動し
ている場合、最も顕著なのはクロック位相エラーである
が、ある種のエラーが発生ずると、システムを2つの独
立した処理システムに分割する必要が生ずる。これによ
ってシステムは状態Aに戻る。
第11図および第12図に示すデコード・ロジック97
0.970m、971.971m、99B(まとめてク
ロスリンク・制御ロジックと称する)は、クロスリンク
・ドライバとマルチプレクサをどのようにして適切な状
態にセットするかを決定5 するため、第10図に示す再同期モード・ビット915
とクロスリンク・モード・ビット916にアクセスする
、更に、このクロスリンク・デコード・ロジックは、ま
たデータ・トランザクションの期間中にメモリ制御装置
70と75から送られたアドレスの一部を受け取って分
析し、クロスリンク・マルチプレクサとドライバの状態
をどのようにして設定するかをクロスリンク・デコード
・ロジックに対して更に指示すアドレス情報を取り出す
マルチプレクサの状態を設定するのに必要な情報は、−
度異なったモードとトランザクションを理解すると、か
なりはっきりする。行うべき唯一の判断はデータのソー
スである。従って、クロスリンク90と95がスレーブ
・モードにある場合、マルチプレクサ935.935m
、および966はゾーン11からデータ・アドレスとコ
ードを選択する。もしクロスリンク90と95が完全に
デュプレックス・モードにあり、Iloの命令のアドレ
スがゾーン11の丁/○に接続された装置に6 対するものであり、影響を受けたマルチプレクサとのク
ロスリンクがクロスオーバへモードにあれば、これらの
マルチプレクサはまた他方のゾーンからデータ、アドレ
スおよびコードを選択する。
クロスオーバへモードの場合、モジュール相互接続部に
送られるべきデータはチエ・ンクのため他方のゾーンか
ら受け取られるべきである。好適な実施例の場合、モジ
ュール相互接続部130はゾーン11のプライマリ・レ
ールからデータ、アドレスおよびコードを受け取り、モ
ジュール接続部は、ゾーン11′のミラへレールからデ
ータ、アドレスおよびコードを受け取る。または、モジ
ュール相互接続部132はゾーン11’のプライマリ・
レールからデータ、アドレスおよびコードを受け取るこ
とができ、これによって、一方のゾーンのプライマリ・
レールを他方のゾーンのミラへレールと比較することが
可能になる。
マルチプレクサ945.945m、9B2は、データの
ソースであるいずれかのゾーンからデータ、アドレスお
よびコードを受け入れるようにセフ シトされる。このことは、全てのクロスリンクが完全に
デュプレックス・モードにあり、データ、アドレスおよ
びコードがI10モジュールから受け取られる場合と、
クロスリンクが再同期スレーブ・モードであり、データ
、アドレスおよびコードが他方のゾーンのメモリ制御装
置から受け取られる場合の両方について、真実である。
もしメモリ制御装置70および75からのアドレス情報
が、廠答データとコードのソースがクロスリンク自身の
並列レジスタ910であることを示せば、マルチプレク
サ942.942m、および974はこれらのレジスタ
からデータとコードを選択するようにセットされる。同
様に、もしメモリ制御装置70および75からのアドレ
ス情報が応答データのソースはクロスリンク自身のシリ
アル・レジスタ920であることを示せば、マルチプレ
クサ949と949mはデータとコードをこれらのレジ
スタから選択するようにセットされる。
もしこの情報がメモリ再同期動作期間中の制御8 コードであれば、マルチプレクサ949と949mはデ
コード・ロジック970と970mからデータを選択す
るようにまたセットされ、もしEXCLUSIVE  
ORゲード960と960mがクロスリンク90と95
を介して転送されたデータの間で比較のミスを識別すれ
ば、ERRコードを選択するようにセントされる。この
後者の場合、マルチプレクサ949と949mの制御は
、クロスリンクロジックからではなくてEXCLUSI
VIEORゲード960と960mから行われる。マル
チプレクサ949と949mは、クロスリンク・レジス
タ910が要求された場合には、これらのレジスタから
コードをまた選択し、これらのコードが要求された場合
には、マルチプレクサ945と945mの出力をまた選
択する。マルチプレクサ945と945mは、それぞれ
マルチプレクサ942と942mからの出力かまたはそ
れぞれクロスリンク90′と95′からのI10コード
′かのいずれかを選択する。
マルチプレクサ976は、I10モジュールと9 のトランザクションの場合には、モジュール相互接続部
139からデータとアドレスを選択するか、またはデー
タとアドレスがIloに対してかまたはメモリの再同期
の期間中かのいずれかにクロスリンク90′に送られる
べきである場合、メモリ制御装置90からのデータとア
ドレスを選択するかのいずれかである。
ドライバ937と937mは、クロスリンク90と95
がデュプレックス・モード、マスタへモードまたは再同
期マスタへモードにある場合、動作される。ドライバ9
40と940mは、ゾーン11のl10)ランザクジョ
ンの場合に動作される。ドライバ946ど946mは、
クロスリンク90と95がデュプレックス・モーl−ま
たはスレーブ・モードの場合に動作される。l”ライハ
951と951mは常に動作されている。
ドライバ969はゾーン11に対するl10書き込み期
間中に動作される。トライバ984は、クロスリンク9
0がデータとアドレスをゾーン11′のIloに送って
いる場合、またはクロス 00 リンク90が再同期マスタへモードにある場合に動作さ
れる。受信機986はクロスリンク90′からデータを
受け取る。ドライバ992と994は、データがメモリ
制御装置70に送られている場合に動作される。ドライ
バ994は、シリアル・クロスリンク・レジスタ910
の内容が読み出されている場合に動作され、ドライバ9
92ば全ての他の読み出し期間中に動作される。
5、衾豊澁 両方の処理システム20と20′が各々同じ機能を完全
デユープレックス・モードで実行している場合、CPU
モジュール30と30′が同じ速度で動作を実行するこ
とが避けられない、もしそうでなければ、処理時間の大
部分は、I’Oおよびインタープロセッサのエラーのチ
エツクのために処理システムの20と20′を再同期さ
・已ることに消費されてしまう。処理システム20と2
0′の好適な実施例の場合、これらのシステムの基本的
なりロック信号は相互に同期されて位相ロックされてい
る。故障許容コンピュータ・システム01 10は、処理システム20と20′に対するクロック信
号の周波数を制御し、各処理システムに対するクロック
信号の間の位相差を最小にするために、タイミング・シ
ステムを有している。
第14図は、処理システム20と20′で実施される本
発明のタイミング・システムのブロック図を示す。この
タイミング・システムは、処理システム20のCPUモ
ジュール30の発信器システム200と処理システム2
0′のCPUモジュール30′の発振器システム200
′によって構成される。発振器200′の構成要素は発
振器200の構成要素と同じであり、両方の発振器シス
テムの動作は同じである。従って、発振器システム20
0と200’の動作が異なっている場合を除いて、発振
器システム200の構成要素と動作のみを説明する。
第14図に示すように、発振器システム200の大部分
、特にディジタル・ロジックはクロスリンク95内部に
位置しているが、この位置は本発明にとって必要なもの
ではない。発振器システム02 200は電圧制御水晶発振器(VCX)205を有し、
これは好ましくは、66.66 Mhzの基本発振器信
号を発生ずる。VCXO205の周波数は入力の電圧レ
ヘルによって調整することができる。
クロック分配チップ210は基本発振器信号を分周し、
全て同じ周波数を有する4つの一次クロックを発生する
ことが望ましい。プライマリCP[I40の場合、これ
らのクロックはPCLK  LおよびPCLKHであり
、これらは相互に論理が反転しているものである。ミラ
ーCr’U50の場合、クロック分配チップ210はク
ロック信号MCLK  LとMCLKHを発生し、これ
らはまた相互に論理が反転しているものである。第15
図は、これらのクロック信号のタイごングと位相の関係
を示す。クロック信号PCLK  L、PCLK  H
,MCLK  M、およびM CL KHは約33.3
3Mhzであることが望ましい。クロック・チンプ21
0は、また第15図に示ず16.66Mhzの位相ロッ
ク・ループ信号CLKCHをまた発生する。この位相ロ
ック・ループ信号は、こ 03 の信号をバッファするクロック・ロジック220に送ら
れる。
クロック・ロジック・バッファ220は、同期に使用す
るため、CLKCH信号を発振器200′に送る。発振
器200′のクロック・ロジック・パンツ7220′は
、それ自身のバッファされた位相ロック・ループ信号C
L K C’  Hを発振器200の位相検出器230
に送る。位相検出器230は、遅延素子225を介して
クロック・ロジック220から位相ロック・ループ信号
CLKCHをまた受け取る。遅延素子225は、クロッ
ク・ロジック・バッファ220′からのケーブル・ラン
(cable run)による遅延を概算する。
位相検出器230は、その入力位相ロック・ループ信号
を比較して2つの出力を発生する。これらの信号の1つ
は位相差異信号235であり、これはループ増幅器24
0を介してVCXO205の電圧入力に送られる。位相
差異信号235によって、増幅器240は信号を発生し
、この位相差異を補償するためにVCXO205の周波
数を変04 換する。
位相検出器230の他方の出力は、位相エラー信号23
6であり、これは可能性のある同期の故障を示す。
第16図は、位相検出器230の詳細図である。
位相検出器230は位相比較器232と電圧比較器23
4を有する。位相比較器232は、遅延素子225から
クロック信号(CLKCH)を受け取ると共に検出器2
00′から位相ロック・ループ・クロック信号(CLK
C’  H)を受け取り、これらの信号の位相差を表す
電圧差として位相差信号235を発生する。
もしクロックを同期させる目的のために処理システム2
0が「スレーブ」であれば、スイッチ245はrSLA
VE、の位置(すなわち閉)にあり、電圧水準235は
、ループ増幅器240によって増幅された後、VCXO
205の周波数を制御する。もし両方のスイッチ245
と245′が「マスター」の位置にあれば、処理システ
ム20と20′は位相ロックされず、非同期の状態 0
5 で(独立して)動作する。
位相差信号235の電圧水準は、また電圧比較器234
に対する入力であり、これらの位相差は位相の進みと遅
れの許容範囲を表ず電圧V raftおよびV r、、
f2である。もしこの位相差が許容範囲であれば、PH
ASE  ERROR信号は活性化されない。もしこの
位相差が許容範囲以外であれば、PHASE  ERR
OR信号236は活性化され、クロック・デコーダ22
0を介してクロスリンク95に送られる。
6、  I10モジュール 第17図はI10モジュール100の好適な実施例を示
す。このI10モジュール100の動作の原理は、他の
I10モジュールにも同様に適応することができる。
第18図はファイヤウオール(firewall) 1
000の好適な実施例の構成要素を示す。ファイヤウオ
ール1000は、第17図に示すモジュール相互接続部
130に対する16ビツトのバス・インターフェース1
810とバス1020に接続するた06 めの32ビットのハス・インターフェース1820を有
する。インターフェース1810と1820は内部ファ
イヤウオール・ハス1815によって接続され、このフ
ァイヤウオール・ハス1815ばまたファイヤウオール
l000の他の構成要素とも相互に接続される。ハス1
815は16または35ビット幅の並列バスであること
が望ましい。
I10モジュール100はデュアル・レール・モジュー
ル相互接続部130と132によってCPUモジュール
30に接続される。モジュール相互接続部の各々は、そ
れぞれファイヤウオール1oooと1010に接続され
る。通常はファイヤウオール1000であるが必ずしも
これではない一方のファイヤウオールは、モジュール相
互接続部130からバス1020にデータを書き込む。
この場合にはファイヤウオール1010である他方のフ
ァイヤウオールは、第18図に示すファイヤウオール比
較回路1840を使用して、そのデータをモジュール相
互接続部132から受け取った自分自身のコピーとチエ
ツクする。このチエ’707 りは有効であるが、その理由は、CPUモジュル30と
30′からI / O:tジュールに対して書き込まれ
たデータを実質的に同時にファイヤウオール1000と
1010で人手可能にしているこれらのCPUモジュー
ル30と30′がロックステップ同期の状態にあるから
である。
ファイヤウオール比較回路1840は、CPUモジュー
ル30と30′から受取ったデータのみをチエツクする
だけである。I10装置からCPUモジュール30と3
0′送られたデータは、共通の供給元を有し、従ってチ
エツクを必要としない。
その代わり、I10装置から受取られCPUモジュール
30と30′に送られるデータは、EDC/CRC発生
装!1850によって実行される周期的冗長性チエツク
(CRC)コードのようなエラー検出コード(EDC)
によってチエ・ン夕される。E D C/CRC発生装
置1850は、また内部ファイヤウオール・バス181
5に接続される。
E D C/CRC発生装置1850は、I10装置に
よって使用されるのと同じE D C/CRCコ 08 −ドを発生してチエツクを行う。I10モジュール10
0は2つのEDCを発生ずることが望ましい。一方のE
DCはまたEDC/CRCでもよく、これはモジュール
100が接続されているアサ−ネット(IEthern
et)パケット・ネットワークのようなネットワークに
対するインターフェースに使用される(第17図の構成
要素10Bに参照)。
他方のEDCは第17図のディスク・インターフェース
1072のようなディスク・インターフェースに使用さ
れる。
CPUモジュール30とI10モジュール100との間
でE D C/CRCを適応することは必要でないが、
その理由は、モジュールゆ相互接続部が2重になってい
るからである。例えばCPUモジュール30の場合、ク
ロスリンク90はモジュール相互接続部30を介してフ
ァイヤウオール1000と通信を行い、クロスリンク9
5はモジュール相互接続部132を介してファイヤウオ
ール1000と通信を行う。
アサ−ネット・ネットワーク1082から受け 09 取られたメツセージは、第17図に示すネットワーク制
御装置1080によってEDC/CRCの有効性をチエ
ツクされる。EDC/CRCが完全であるデータは、こ
れもまた第17図に示すローカルRAM1060に書き
込まれる。ローカルRAM1060内の全てのデータは
、DMAを使用してメモリ・モジュール60に転送され
る。
DMA制御装置1890は転送の調整を行い、EDC/
CRC発生装置に転送中のE D C/CRCによって
符号化されたデータの有効性をチエツクさせる。
I10装置との大部分のデータの転送はDMAによって
行われる。データはメイン・メモリとT10バツフア・
メモリとの間を移動する。データがメイン・メモリから
I10バッファメモリに移動する場合、EDC/CRC
を付加してもよい。
データがT10バ・ンファメモリからメイン・メモリに
移動する場合、E D C/CRCばチエツクを受けて
メイン・メモリに移動してもよく、または取り除かれて
もよい。データがT10バッフアメ 10 モリからディスクまたはアサ−ネット・アダプタのよう
な外部装置を介して移動される場合、EDC/CRCは
局部的または離れた位置にある受信ノードでチエツクさ
れてもよく、またはその両方でチエツクされてもよい。
メモリ・データ・パケットは遠くの位置にあるノードま
たはI10モジュールのローカル・インターフェースに
よって発生されたそれらのE D C/CRCを有して
もよい。
この動作によって、I10モジュール100のようなシ
ングル・レール・システムに存在する、またはこれを介
して転送中のデータがエラー検出コードによってカバー
されることが保証され、このエラー検出コードはこのデ
ータが最終的に通過する通信メディアと少なくとも同じ
くらい信頼性のあることが望ましい。例えば、同期プロ
I・コールを処理するような異なったI10モジュール
は、適当なプロトコールのE D C7CRCコードを
発生してチエツクするE D C/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は、またローカルRAM1060を制
御して次のDMAアドレスを発生する。
I10モジュール(100,110,120)はそれら
自身のローカルRAM1060に対する読み出し/書込
み動作を制御する責任を負う。
CP Uモジュール30はメモリ・アレイ60との転送
動作を制御する責任を負う。メモリ制御装置70と75
のDMAエンジン800(第8図に示す)は、CI)U
モジュール30に対するDMAの動作を管理する。この
ような作業の分割によって、いずれかのモジュールのD
MA+:+シックの故障がゾーン11または11’のい
ずれかの他のモジュールのデータの健在性を低下させる
ことを防止する。
トレースRAM1872はトレースRAM制御装置18
70の機能を以下で詳細に説明する。簡単に言えば、故
障が検出され、CPU40.40’50および50′と
CPUモジュール30および30′がそのことを通知さ
れると、コンピュータ・システム10全体の種々のトレ
ースRAMが以下で説明するある種の機能を実行する。
トレースRAMとの通信はトレース・バス1095で行
われる。トレースRAM制御装置187oは、トレース
・バス1095からの信号に応答して、トレ 13 一スRAM1872に記憶を停止させるかその内容をソ
レース・バス1095放出させる。
32ビツトの並列バスであることが望ましいI10モジ
ュール・バス1020は、ファイヤウオール1000お
よび1010に接続されると共にI10モジュール10
0の他の構成要素にも接続される。共有のメモリ制御装
置1050は、I10モジュール100のI10モジュ
ール・バス1020にもまた接続される。共有のメモリ
制御装置11050は共有のメモリ・バス1065によ
ってローカル・メモリ1060に接続され、この共有の
メモリ・バス1065は32ビツトのデータを搬送する
ことが望ましい。ローカル・メモリ1060は256キ
ロバイトのメモリを有するRAMであることが望ましい
が、このRA M1060は任意のサイズでよい。共有
のメモリ制御装置1050とローカルRAM1060に
よって、I10モジュール100に対する記憶能力が与
えられる。
ディスク制御装置1070によって、第1図の 14 ディスク1075および1075’のようなディスクに
対して標準のインターフェースが設けられる。ディスク
制御装置1070は、ローカルRAM1060に使用す
るためまたはI10モジュール・バス1020との通信
を行うために共有のメモリ制御装置1050にまた接続
される。
ネットワーク制御装置1080はネットワーク・インタ
ーフェース1082によってETIIERNETネット
ワークのような標準ネットワークに対してインターフェ
ースを与える。ネットワーク制御装置1080は、ロー
カルRAM1060とI10モジュール・ハス1020
の両方に対してインターフェースとして機能する共有の
メモリ制御装置1050にまた接続される。しかし、I
10モジュール・バス1020の特定の組織または構造
については何等の要求も存在しない。
PCIM(電源および冷却用インターフェース・モジュ
ール)サポード・ニレメンI−1030は、I10モジ
ュール・ハス1020に接続されると共にASCIIイ
ンターフェース103に接続される。PCIMサボー1
〜・エレメント1030によって、処理システム20は
電源システムの状態(すなわちバッテリ・レボ1.レー
ク等)と冷却システム(すなわちファン)を監視してこ
れらの適切な動作を保証することが可能になる。PCI
Mサポード・エレメント1030は、バッテリの電圧が
許容できない程度に低い等のある種の故障または潜在的
な故障の徴候が存在する場合のみ、メ・7セージを受け
取ることが望ましい。全ての電源および冷却サブシステ
ムを周期的に監視するために、CP 1Mサポード・エ
レメント1030を使用することもまた可能である。ま
たは、PCIMザボード・エレメント1030は、直接
ファイヤウオール1000と1010に接続されてもよ
い。
診断マイクロプロセッサ1100が、またI10モジュ
ール・ハス1020に接続される。−船釣に、診断マイ
クロプロセッサ1100は、故障が検出された場合、ト
レースRAM1872のようなトレースRAMからエラ
へチエツク情報を集めるために使用される。このデータ
は、それぞれファイヤウオール1000と1010を介
してトレース・バス1095と1096に集められると
共にモジュール・ハス1020を介してマイクロプロセ
ッサ1100に集められる。
D、インタープロセッサとインターモジュールの通信 1、 データ経路 コンピュータ・システム10の構成要素は、それら自身
によって故障許容システムを構成するものではない。正
常な動作の期間中および故障の検出と修正の動作の期間
中に通信を可能にする通信経路とプロトコールが必要で
ある。このような通信号に対するキーは、クロスリンク
経路25である。クロスリンク経路25は、並列リンク
、直列リンク、および既に説明したクロック信号によっ
て構成される。これらは19図に示される。並列リンク
は、2組の同じデータおよびアドレス線、制御線、割り
込み線、符号化エラー線、および1本のソフト・リセッ
ト・リクエスト線を有する。
データおよびアドレス線と制御線は、モジュール 17 相互接続部130と132(または130′と132’
)またはメモリ・モジュール60 (60’からCPU
モジュールの間で交換される情報を有している。
割り込み線は、I10サブシステム(モジュール100
.110,120.100’、110’および120′
)で使用可能な割り込み水準の各々に対し1本の線を有
することが望ましい。これらの線はクロスリンク90.
95.90′、および95′によって共有される。
符号化エラー線は、両方のゾーンに対するコンソールr
HALTJ要求を同期させる複数のコードを有すること
が望ましく、これらの複数のコードの1つは両方のゾー
ンに対してCPUエラーを同期させるコード、1つは他
方のゾーンに対してCPU/メモリの故障の発生を示す
コード、1つは両方のゾーンに対してDMAエラーを同
期させるコード、および1つはクロック位相エラーを示
すコードである。各ゾーン11または11’からのエラ
ー線は、ゾーン11に対するORゲード)  18 1990またはゾーン11′に対するORゲード199
0’のようなORゲードに対する入力である。各ORゲ
ード2の出力によって、他方のゾーンのクロスリンクに
対する入力が与えられる。
欠陥許容処理システム10は、過渡的な故障に関係なく
デュアル・レール・システムとしてtjJJ 作を継続
するように設計されている。I10ザブシステム(モジ
ュール100.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とI10
モジュールとの間に送られて要求された動作の完了を示
す。
シリアル・クロスリンクは状態読み出しのためのシリア
ル・データの転送、ループバック、およびデータの転送
を行うために2本の線を2組有している。
交換されるクロック信号は、位相ロック・クロック信号
CLKCHとCLCK’  H(遅延した)。である。
第20A図乃至第20D図は、異なった動作期間中にデ
ータが通過するCPUモジュール30および30′とI
10モジュール100および100′の構成要素のブロ
ックを示す。これらの構成要素 21 の各々は前に説明したものである。
第20A図は、共有のメモリ制御装置1050(105
0’)からのレジスタ・データのCPUのI10レジス
タによる読み出し動作のようなI10モジュール100
からのデータの一般的なCPU  Iloによるデータ
読み出し動作のためのデータ経路を示す。このような動
作はローカル・データの読み出しと呼び、これをローカ
ル・メモリ1060からのDMAによるデータの読み出
しと区別し、このローカル・メモリ1060は通常内部
装置の制御装置からのデータを有している。
ローカル・データは共有のメモリ制御装置1050(1
050’)を介して転送されるようにローカルRAM1
060 (1060”)に8己1,0されているものと
仮定する。経路が1つの場合、データはファイアウオー
ル1000、モジュール相互接続部130を介してクロ
スリンク90に流れる。第12図から分かるように、ク
ロスリンク90はファイアウオール 1000からメモ
リ制御装置90に流れるデータを遅延させ、その結果、
クロ 22 スリツク90′に対するデータは、データがメモリ制御
装置70に加えられるのと同時に、このメモリ制御装置
70に加えられ、従って、処理システム20と20′が
同期状態のままであることが可能になる。このデータは
、次に内部ハス46と40′によってメモリ制御装置7
0および70′からCPU40および40′に進む。
同じ経路を使用してCPU50と50′にデータを読み
込む。共有のメモリ制御装置1050からのデータはフ
ァイヤウオール1010を介してクロスリンク95に進
む。この時、データはクロスリンク95′と遅延装置を
介してクロスリンク95の内部の両方に流れる。
CPUl0読み出し動作は、また共存のメモリ制御装置
1050’とI10装置100′のローカルRAMを介
して処理システム20′のI10処置から受け取られた
データに対してもまた実行されることができる。
I10モジュール100.110、および120は同じ
ものであり、それぞれI10モジュール100’、11
0’   120’に対応するが、対応するI10モジ
ュールはロックステップ同期状態にはない。CPtJ 
 I10読み出しのためメモリ制御装置1050’ と
ローカルRAM1060’行う使用して、データは先ず
クロスリンク90′と95′に進む。残りのデータ経路
はメモリ制御装置1050からの経路と同じである。デ
ータはクロスリンク90′と95′からメモリ制御装置
70′と75′を経由して最終的にそれぞれCPU40
′と50′に進む。同時に、データはそれぞれクロスリ
ンク90と95を横切って進み、次に遅延エレメントを
経由しないでそれぞれCP tJ40と50に進み続け
る。
第20B図は、ローカル・データのCPU  110書
き込み動作を示す。このようなローカル・データばCP
U40.50.40′および50’からI10モジュー
ル100のようなI10モジュールに転送される。この
ような動作の1つの例は、共有のメモリ制御装置105
0におけるレジスタAに対する書き込みである。CPU
40によって転送されるデータは同じ経路に沿って進む
が、その方向はCPU  Iloの読み出し期間中のデ
ータの方向と逆の方向である。特に、このようなデータ
はバス46、メモリ制御装置70、種々のラッチ(同期
を行うため)、ファイヤウオール1000、およびメモ
リ制御装置1050を通過する。CPU50’からのデ
ータは、またCPU110の読み出しの経路を逆の方向
に流れる。特に、このようなデータは、バス56′、メ
モリ制御装置75′クロスリンク95′クロスリンク9
5を経由しくファイヤウオール1010に行く。
上で述べたように、ファイヤウオール1000と101
0はIloの書き込み動作の期間中にデータをチエツク
して記憶する前にエラーを調べる。
書き込みが他方のゾーンのI10モジュールに対して行
われる場合、同じ動作が行われる。しかし、CPU50
と40′からのデータがCPU50′と40からのデー
タの代わりに使用される。
CPU50と40′からのデータは対称の経路を介して
共有のメモリ制御装置、 1050 ’に転送 25 される。CPU50と40′からのデータはファイヤウ
オール1000’ と1010’によって比較される。
I10書き込みデータに対してサービスを行うために異
なったCPUの対が使用される理由は、完全デュプレッ
クス・システムで正常に使用している期間中に全てのデ
ータ経路をチエツクするためである。各ゾーンに対する
インターレール・チエツクはメモリ制御装置70.75
.70′および75′で前に実行された。
第20C図は、DMA読取り動作に対するデータ経路を
示す。メモリ・アレイ600からのデータは、同時にメ
モリ制御装置70と75に入り、次いでクロスリンク9
0と95に入る。クロスリンク90はファイヤウオール
1000に転送されたデータを遅延させ、その結果、ク
ロスリンク90と95′からのデータは実質的に同じ時
間にファイヤウオール1000と1010に到着する。
CPU  I10書き込み動作と同様に、種々のクロス
リンクに対するデータの4つのデータ/コピーが存在す
る。ファイヤウオールでは2つのコ 26 ピーのみが受け取られる。ゾーン11に対する読み出し
を実行する場合には、異なった対のデータが使用される
。DMAの書き込み動作に対するデータ経路は第20D
図に示され、ごれらはCPU110の読み出しに対する
データと同じである。
特に、共有のメモリ制御装置1050’からのブタは、
ファイアウオール1000′、クロスリンク90′ (
遅延を伴う)、メモリ制御装置70′を経由してメモリ
・アレイ600′に進む。同時に、このデータは、ファ
イヤウオール1010’クロスリンク95′ (遅延を
伴う)およびメモリ制御装置75′を通過し、この時こ
れはインターレール・エラへチエツクの期間中にメモリ
制御装置70′からのデータと比較される。CPU11
0の読み出しの場合のように、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つのリセットを有し、この
リセットは常にプロセッサをある所定の状態または最初
の状態にセットし、従ってプロセッサの命令の流れを中
断する。しかし、大部分の他のシステムと異なって、シ
ステムlOのリセットは、もし絶対的に必要でなければ
、CPU40.40’、50および50′による命令の
実行の流れに影響を及ぼさない。更に、システムIOの
リセットは、正常な動作を回復するためにリセットされ
る必要のある部分のみに影響を及ぼす。
システム10のリセットの他の特徴は、これらのリセッ
トの抑制である。故障許容システムの最も重要な考慮す
べき事項の1つは、もしある機能が故障しても、その機
能はシステムの動作を停止してはならないことである。
この理由のため、システムのいかなる1つのリセッi・
も、ゾーン11と11’が直接に脇力しないなら、ゾー
ン11と11′の両方の構成要素を制御することはでき
ない。従って、完全デュプレックス・モードで動作して
いるの場合、ゾーン11内の全てのリセット 29 はゾーン11′内のリセットとは独立している。
しかし、システムIOがマスター/スレーブ・モードに
ある場合、スレーブゾーンはマスターゾーンのリセット
を使用する。更に、システム10内のいかなるリセット
もメモリ・チップの内容に影響を及ぼさない。従って、
キャッシュ・メモリ42及び52、スクラッチ・パッド
・メモリ45および55またはメモリ・モジュール60
のいずれもリセットによっていかなるデータも失うこと
はない。
システム12は3つのクラスのリセット、すなわち、「
クロック・リセットj 「ハード・リセット」、および
「ソフト・リセット」があることが望ましい。クロック
・リセットはゾーン内の全てのクロック位相発生器を再
編成する。ゾーン11内のクロック・リンセトはまたC
PU40と50、およびメモリ・モジュール60をイニ
シアライズする。クロック・リセットは、これらのモジ
ュールのクロック位相発生器を再編成する以外にモジュ
ール相互接続部130と132に影響を及ぼさ 30 ない。システムIOがマスター/スレーブモードにある
場合でさえ、スレーブ・ゾーンでクロック・リセットを
行っても、これはマスターゾーンのモジュール相互接続
部からスレーブ・ゾーンのモジュール相互接続部に対す
るデータの転送を妨げない。しかし、ゾーン11′でク
ロック・リセットを行うと、ゾーン11′内の対応する
構成要素がイニシアライズされる。
−i的に、ハード・リセットを行うと、全ての状態デバ
イスとレジスタはある所定の状態または最初の状態に戻
る。ソフト・リセットを行うと、状態エンジンと一時的
に記憶を行うレジスタのみがそれらの所定の状態または
最初の状態に戻るだけである。1つのモジュール内の状
態エンジンはそのモジュールの状態を決める回路である
。エラー情報と構成データを有するレジスタはソフト・
リセットによって影響を与えられない。更に、システム
10は、処理を継続するために、再びイニシアライズさ
れる必要のある構成要素のみをリセットするために同時
にハード・リセットとソフト・リセットの両方を選択的
に行う。
ハード・リセ、ットはシステム10をクリアし、従来の
システムと同様に、システム10を既知の構成に戻す。
ハード・リセットは、ゾーンが同期されるべき場合また
はI10モジュールをイニシアライズまたも;L不能に
するべき場合に、電源を印加した後、使用される。シス
テム10の場合、4つのハード・リセット、すなわち、
「パワーアップ・リセッl−J、rcPUCPUハード
・ノド」、「モジュール・リセット」、及び「デバイス
・リセッl−Jがあることが望ましい。ハード・リセッ
トは更にローカル・バー1°・リセットとシステム・ハ
ード・リセットに分けることができる。ロカル・ハード
・リセットは、CPUがスレーブ・モードにある場合に
応答するロジックのめにに影響を及ぼす。システム・ハ
ード・リセットは、りI:Iスリフク・ケーブル25と
モジュール)111 Zi’、接続部130及び132
に接続されているロジックのみに限定される。
パワーアップ・す12ノド(11、電源か印加された直
後に、ゾーン11と11’をイニシアライスするために
使用される。パワーアップ・リセットによって、ゾーン
の全ての部分に対して強制的にリセットが行われる。パ
ワーアップ・リセ71−はシステム11のゾーンの間で
は決して接続されないが、その理由は、各ゾーンがそれ
自身の電源を有し、従って異なった長さの「電源投入」
イベントを経験するからである。パワーアップ・リセッ
トは全てのハード・リセットとクロック・リセットをゾ
ーン11または11′に行うことによって実行される。
CPUハード・リセットは、CPUモジュールを既知の
状態に戻すため診断目的に使用される。
CPtJハード・リセットは影響の与えられたゾーン内
にあるCPU、メモリ制御装置、およびメモリ・モジュ
ール、状態レジスタの全ての情報をクリアする。キャッ
シュ・メモリとメモリ・モジュールは不能にされるが、
スクラッチ・パッドRAM45および55の内容とメモ
リ・モジュール60の内容は変化されない。史に、パワ
ー)′ツブ・す 33 セントと違って、CPUハード・リセットはクロスリン
クのゾーン識別またはクロック・マスターシップを変更
しない。CPUハード・リセットは、CPUモジュール
とクロック・リセットに加えることのできる全てのロー
カル・ハード・リセットの合計である。
・モジュール・ハード・リセットは、ルードストラッピ
ングの期間中のような既知の状態にI10モジュールを
セットするために使用され、また故障したI10モジュ
ールをシステムから取り外すためにも使用される。I1
0モジュール・ハイド・リセットはモジュール上の全て
のものをクリアし、診断モードでファイヤウオールを離
れ、ドライバを不能にする。
デバイス・リセットは、I10モジュールに接続された
I10デバイスをリセットするために使用される。これ
らのリセットは装置に依存し、装置が接続されているI
10モジュールによって写えられる。
他のクラスのリセットはソフト・リセットであ34 る。上で説明したように、ソフト・リセッ■よ、システ
ム10内の状態エンジンと一時的レジスタをクリアする
が、これらはクロスリンク内のモード・ビットのような
構成情報を変化さセない。更に、ソフト・リセットは、
またモジュール内のエラー処理機構をクリアするが、こ
れらはシステム・エラへレジスタ898およびシステム
故障アドレス・レジスタ865のようなエラへレジスタ
を変化させない。
ソフト・リセットには目標が定まっているので、その結
果、システムの必要な部分のみがリセットされる。例え
ば、モジエール相互接続部130がリセットされる必要
があれば、CPU40はリセットされず、またI10モ
ジュール110に接続されている装置もリセットされな
い。
ソフト・リセットには3つのユニークな特徴がある。1
つは各ゾーンがそれ自身のりセラI・の発生に対して責
任を負っているごとである。1つのゾーン内の故障エラ
ーまたはリセット・ロジックは、従って故障の発生して
いないゾーンでリセットを行うことを防止される。
第2の特徴は、ソフト・リセットが命令実行のシーケン
スを乱さないことである。CPU40.40′、50、
および50′はクロックとハード・リセットの組み合わ
せのみによってリセットされる。更に、メモリ制御装置
70.75.70′および75′はハード・リセットに
取り付けたCPU命令にサービスを行うのに必要なそれ
らの状態エンジンとレジスタを有している。従って、ソ
フト・リセットはソフトウェアの実行にとって透明であ
る。
第3の特徴は、ソフト・リセットの範囲、すなわちソフ
ト・リセットによって影響を与えられるシステム10内
の構成要素の数がシステム10のモードと最初のリセッ
トに対する要求によって決まるということである。完全
デュプレックス・モードの場合、CPUモジュール30
で11#I始されるソフト・リセッ1〜に対する要求に
よって、ソフト・リセットがCPUモジュールの全ての
構成要素およびモジュール相互接続部130と132に
取すイ\t &Jられた全てのファイヤウオール100
0と1010に対して行われる。従って、モジュール相
互接続部130と132によってサービスを受ける全て
のモジュールはそれらの状態エンジンと一時的レジスタ
のリセットを有している。これによって、過渡的なエラ
ーによって発生される全ての問題のシステム・パイプラ
インがクリアされる。
システム10ば、デュプレックス・モードにあるので、
ゾーン11′はゾーン11の行っている全ての事柄を行
う。従って、CP Uモジュール30’は、CPUモジ
ュール30と同時に、ソフト・リセットに対する要求を
出す。ゾーン11’内のソフト・リセットは、ゾーンl
l内のソフト・リセットと同じ効果を有している。
しかし、システム10がマスタ/スレーブ・モードにあ
りCPUモジュール30′がスレーブ・モード′にある
場合、CPUモジュール30で始まるソフト・リセット
に対する要求は、予期できるように、CPUモジュール
3oの全ての構成要素とモジュール相互接続部130と
132に取り付37 けられた全てのファイヤウオール1000と1010に
対してソフト・リセットを出す。更に、ソフト・リセッ
トに対する要求は、クロスリンク90と90′、クロス
リンク・ケーブル25およびクロスリンク90′と95
′を介してCPUモジュール30′に出される。一部の
モジュール相互接続部130と132はソフト・リセッ
トを受け取る。
この同じ構成の場合、CPUモジュール30′から開始
されるソフト・リセットに対する要求は、メモリ制御装
置70’と75′およびクロスリンク90′と95′に
一部のみリセットする。
ソフト・リセットは、rCPUソフト・リセット」と「
システム・ソフト・リセット」を有する。
CPUソフト・リセットは、要求を最初に出したCPU
モジュールの状態エンジンに影響を及ぼすソフト・リセ
ットである。システム・ソフト・リセットは、モジュー
ル相互接続部とこれに直接取付けられた構成要素に対す
るソフト・リセットである。CPUモジュールは、常に
CPUソフト・リセットを要求することができる。シス
テム・ソ 38 フト・リセットは、CPUを要求するクロスリンクがデ
ュプレックス・モード・マスター/スーブ・モード、ま
たはオフ・モードにある場合にのみ、要求することがで
きる。スレーブ・七−ドにあるクロスリンクは、他方の
ゾーンからシステム・ソフト・リセットを与えられ、そ
れ自身のモジュール相互接続部に対してシステム・ソフ
ト・シセットを発生する。
CPUソフト・リセットは、エラーの状態に続いていて
CPUのパイプラインをクリアする。
CPUパイプラインは、メモリ相互接続部80と82、
メモリ制御装置75および75内のラッチ(図示せず)
、DMAエンジン800およびクロスリンク90と95
を有する。CPUソフト・リセットは、またDMAまた
はIloのタイムアウトに続いて発生することもできる
。DMAまたはIloのタイムアラ1−は、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つのクロック・リ
セッI・線が全ての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とシステム・す 41 セット発生装置2251を有している。クロスリンクの
「ローカル」部分は、このクロスリンクがスレーブ・モ
ードにある場合に、CPUモジュールと共に残っている
このクロスリンクの部分であり、従って、シリアル・レ
ジスタ、および幾つかのパラレル・レジスタを有してい
る。クロスリンクの「システム」部分は、モジュール相
互接続部130と132(または130′と132’ 
”)とクロスリンク・ケーブル25にアクセスするため
に必要であるクロスリンクのその部分である。
ローカル・リセット発生装置3340と2241は、そ
れぞれクロスリンク90と95のローカル・リセット制
御回路2245と2246にハードおよびソフト・リセ
ット信号を送ると共に、それぞれメモリ制御装置70と
75のりセット制御回路2230と2231にハードお
よびソフト・リセット信号を送ることによって、CPU
モジュール30に対してリセットを発生ずる。ローカル
・クロスリンク・リセット制御回路2245と2246
ば、それらの状態エンジン、転送するべきデータを記 
42 憶しているラッチおよびそれらのエラへレジスタをリセ
ッ1へすることによって、ソフト・リセット信号に応答
する。これらの回路は、ソフト・リセットに対して行う
のと同じ動作を行い、またエラへレジスタと構成レジス
タをリセットすることによって、ハード・リセット信号
に応答する。
リセット制御回路2230と2231は、同じ方法でハ
ードおよびソフト・リセット信号に応答する。
更に、ローカル・リセット発生装置2240は、モジュ
ール相互接続部130と132を介して、I10モジュ
ール100.110および120にクロック・リセット
信号を送る。I10モジュール100.110および1
20は、以下で述べる方法でそれらのクロックをリセッ
I・するため、クロック・リセット信号を使用する。ソ
フト・リセット要求レジスタ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に送られる。
システム・ソフト・リセットは、データとffi!I 
i卸信号が送られるのと同じデータ経路に沿ってゾーン
の間に送られる。従って、データとアドレスに対するの
と同じ遅延を等しくする原理が使用され、リセットはほ
ぼ同時に2つのゾーンの全ての構成要素に到達する。
ハード・リセットは、適当なコードをローカル・ハード
・リセット・レジスタ2243に書込む 45 CPU40と50またはDCOK倍信号よって発生され
るパワーアップ・リセットに対する要求によって発生さ
れる。
クロスリンク90の同期回路2270は、DCOK信号
が同時にローカルおよびリセット発生装置2240.2
250.2241および2251の全てに行き渡ること
を保証するため、適当な遅延要素を有している。
事実、リセットの同期は、システム10では非常に重要
である。これは、リセット信号がクロスリンクで始まる
からである。このようにして、リセットはほぼ同期して
異なったモジュールとこれらのモジュール内の異なった
要素に到達するように送られることができる。
第21図と第22図の構造を理解することによって、異
なったハード・リセットの実行をよりよく理解すること
ができる。パワーアップ・リセットはシステム・ハード
・リセットとローカル・ハード・リセットおよびクロッ
ク・リセットの両方を発生する。−船釣に、クロスリン
ク90.95、46 90′および95′は最初はクロスリンク・オフモード
と相同ル1オフ・モードの両方の状態にあり、両方のゾ
ーンはクロック・マスターシップを表明する。
CPU/MEM故障りセラl〜は、メモリ制御装置70
.75.70′および75′がCPM/MEMの故障を
検出する時は何時でも自動的に動作される。符号化エラ
へロジックはエラへlコシツク2237と2238から
両方のクロスリンク90と95に送られる。故障が発生
したCPUモジュールは、そのクロスリンクをスレーブ
状態にセットし、他方のCPUモジュールのクロスリン
クをマスター状態にセットすることによって、システム
10から取り除かれる。しかし、故障が発生していない
CPUモジュールは、リセットを経験しない。その代わ
り、これはシリアル・クロスリンク・エラへレジスタ(
図示せず)内のコードを介して、他方のモジュールの故
障を知らされる。CPU/MEM故障リセットは、故障
したCPUモジュールを有するゾーンに対するクロック
信号とそのモジュールに対するローカル・ソフト・リセ
ットによって構成される。
再同期リセットは、基本的にはローカル・ハード・リセ
ットとクロック・リセットを有するシステム・ソフト・
リセットである。この再同期リセットは、2つのゾーン
をロックステップ同期の状態にするために使用される。
ゾーン11と11′が同期されていなかった一定の期間
の後、もしCPUレジスタの記憶された状態を含むメモ
リ・モジュール60と60′の内容が相互に等しくセッ
トされれば、これらのゾーンがデュプレックス・モード
を再び開始することができるように、再同期リセットが
使用されてこれらのツゾーンを互換性のある構成にする
再同期リセットは、基本的にはCPUハード・リセット
とクロック・リセットである。再同期リセットは、再同
期・リセット・アドレスを並列クロスリンク・レジスタ
の1つに書込むソフトウェアによって動作される。この
時、一方のゾーンは、クロスリンク・マスター/再同期
マスタへモードでなければならず、他方のゾーンは、ク
ロスリンク・スレーブ/再同期スレーブ・モードでなけ
ればならい。そこでリセットが両方のゾーンで同時に行
われ、これは、とりわけ4つのクロスリンク全てをデュ
プレックス・モードにセットする。
再同期リセットは、システム・ソフト・リセットではな
いため、I10モジュールはりセットを受取らない。
システム10の好適な実施例は、またクロック・リセッ
ト信号がコンフォーくング(conforming)ク
ロックをリセットせず、非コンフォーミング・クロック
のみをリセットすることを保証する。この理由は、クロ
ックがリセットされる場合はいつでも、これはクロック
のタイミングを変更し、このタイミングはこんどはこの
ようなりロックでモジュールの動作に影響を及ぼすから
である。もしモジュールが正しく実行され、このクロッ
クが正しい位相であれば、その動作を変更することは不
必要であるばかりでなく無駄なことである。
第23図は、ノンコンフォーミング・クロック 49 のみがリセットされるごとを保証する回路の好適な実施
例である。第23図に示す回路は、第22図に示す対応
するモジュールのクロック発生装置22IO12211
,2220,2221,2260、および2261内に
位置することが望ましい。
好適な実施例の場合、異なったクロック発生装置221
0.2211.2220.2221.2260、および
2261は立上がり区間検出器2300、と位相発生装
置2310を有している。
立上がり区間検出器2300は、クロスリンク90と9
5からクロック・リセット信号を受取り、クロック・リ
セット信号の立上がり区間と同時に既知の持続期間を有
するパルスを発生する。このパルスは、特定のモジュー
ルに対する内部クロック信号と同様に位相発生装置23
10に対する入力である。そのモジュールに対する内部
クロック信号は、発振器システム200と200′から
分配されたシステム・クロック信号から取出されたクロ
ック信号である。位相発生装置2310は、 50 クロック信号に対する異なった位相を形成する下方分割
回路であることが望ましい。再循環シフト・レジスフの
ような位相発生装置231Oに対する別の設計をまた使
用することもできる。
立上がり区間検出器2300からの立上がり区間パルス
によって、位相発生装置2310は予め選択された位相
を出力することが望ましい。従って、例えばもし位相発
生装置2310が幾つかのステージを有する下方分割回
路であれば、クロック・リセッ1−の立上がり区間パル
スは、そのステージに対して設定された入力であり、こ
のステージは全ての他のステージに対して予め選択され
た位相とりセット入力を発生する。もし位相発生装置2
310が既にこの位相を発生していれば、同期化クロッ
ク・リセット信号の存在は基本的に透明である。
このようにして組織されたリセットは、システム10の
通常の実行に対して混乱を最小限に止めるように設計さ
れ、トラスチックなアクションが必要とされる場合には
、このトラスチックなアクションは命令実行の通常のシ
ーケンスに割込みをかけることに止まる。このことば、
従来のリセットが引起こす再同期化の問題のためにデエ
アルまたは多重ゾーンの環境では特に重要である。従っ
て、システム10で行っているようにハード・リセット
の数を最小にすることが望ましい。
E、再同期化とバルクメモリの転送 ゾーン11と11°がロックステップ同期の状態になく
、そのような同期化が全二重動作のために望まれている
場合、行う必要のある第1のステップは、ゾーン11と
11゛のメモリモジュール60と60”をそれぞれ同じ
状態にすることである。これは、メモリアレイ600と
600゛の内容が同等になることの保証も含む。メモリ
アレイ600゛からメモリアレイ600への内容のバル
ク転送に関するデータの流れが、第20E図に示しであ
る。
この発明によれば、両ゾーン間におけるメモリ内容の転
送は、(動作しているゾーンと想定した)ゾーン11を
停止することなく、しかも命令の実行を最小限中断させ
て行われる。つまり、ゾーン11内で実行中のアプリケ
ーションは、バルクメモリの転送中も実行を継続できる
。本発明による好ましい方法は、第24図に示しである
但し、バルクメモリの転送及び再同期化の動作2400
へ入る前に、CPU40と50はどのページが存在する
かを判定するため、マスターメモリアレイ600とスレ
ーブメモリアレイ600゜のページを監査していなけれ
ばならない。CP tJ40と50は、ルーチンのメモ
リ管理動作の進行中に、メモリアレイ600の監査をす
でに完了していることもある。ともかく監査情報が予め
CPU40と50に与えられていなければ、CPU40
と50はメモリアレイ600゛の監査をしなければなら
ない。スレーブメモリアレイ600“がマスターメモリ
アレイ600の各ページ毎にページを有している場合に
のみ、バルク転送動作が行われる。
第24図に示すように、バルクメモリコピー動作240
0における第1のステップは、クロスリ 53 ンク90.95.90°及び95゛をメモリ再同期マス
ター/スレーブモードにセントし、第20E図に示した
データ路を使用可能にすることを含む(ステップ24]
0)。これは、モードビット915のソフトウェア制御
を介してなされる。
再同期スレーブモードにある両クロスリンク90”、9
5゛の各制御路に対する影響は、第11図から見て取る
ことができる。各制御路は、メモリコマンド(指令)が
メモリコントローラ70と75からメモリコントローラ
70°と75”へどのように移動するかを決める。以下
の説明中、ダッシュ付きの数字はゾーン11’ 内の要
素を示す。
図示してないものは、図示しであるダッシュ(=Jきで
ない要素と同等である。バルクメモリの転送のため、マ
ルチプレクサ935” と935m’ はそれぞれラッ
チ938゛と93Bm’からの入力を選択し、さらにコ
マンドをデコーダ970”と970m“へ差し向けるよ
うにセントされる。コマンドがスレーモノすリコントロ
ーラ、この例ではメモリコントローラ70゛と75゛へ
向けられ54 る場合、デコーダ970°と970m’ はメモリコン
トローラ70と75からのコマンドを変更する。これは
好ましい実施例において、4ビツトのダウンコードから
3ビツトのアップコードヘコドを変えることによってな
される。次いで、マルチプレクサ949°と949m’
がそれぞれデコードロジック970゛と970m’ か
らの出力を選択し、それらのコードをそれぞれドライバ
951゛と951m を介してメモリコントローラ70
と75゛へ伝送する。
クロスリンクスレーブモードにあるときのクロスリンク
90゛を介したデータ路は、第12図から見て取ること
ができる。クロスリンク95゛を介したデータ路は、こ
れと対応した要素からなる。
クロスリンクケーブル25からのデータは、レシーバ9
86゛を介してラッチ988”に入る。マルチプレクサ
982″がラッチ988゛からのデータを選択し、ラッ
チ990“がそのデータを記憶する。ドライバ992′
が、記憶されたデータをメモリコントローラ90”に送
る。以下説明するように、この構成によって、I10装
置からのDMAデータがメモリモジュール60と60 
へ同時に記憶可能となる。
次に、メモリモジュール60゛のシーケンサ617”内
のレフレッシュ回路が動作不能とされる(ステップ24
20)。好ましい実施例では、ゾーン11’ がスレー
ブモードに入ると、CPU40゛ と50゛がディセー
ブル信号をシーケンサ617′に送る。メモリモジュー
ル60“からのリフレッシュ信号をディセーブルする理
由は、ゾーン11からのデータを受けている間にメモリ
アレイ600°がリフレッシュ動作を実行する際に、ロ
グジャムが起きるのを防くことにある。リフレッシュ動
作中、メモリアレイは新しいデータを記憶できないため
、メモリアレイ600 がそのリフレッシュ動作を終了
するまで、“ログジャム“が続く。
リフレッシュ回路を動作不能にした後、マスターメモリ
モジュール60からのメモリの各ページが、マスターゾ
ーン11のメモリコントローラ(すなわちコントローラ
70と75)のDNAエンジン800内へ逐次キュー登
録される(ステップ2430)。好ましい実施例では、
各DMA転送が、転送の種類の指示(この例では読取)
、開始アドレス(この例では次ページ用の境界アドレス
)、転送すべき要素の数(この例ではページサイズ)、
及び宛先の指示(この例ではスレーブゾーンメモリ)を
含む。このデータが、DMAエンジン800に送られる
本発明のバルクメモリ転送方法はI10装置からのDM
Aデータの記憶を可能とするので、以下非同期DMA転
送と称するそのようなデータを記憶する要求がDMAキ
ュー内に混入される。これも、バルクメモリの転送プロ
セス中に、現在システム10に対して実行されているア
プリケーションを継続可能とするものである。I10モ
ジュール100,110.120,100’、110゜
及び120”へのDMAデータ転送用のキューエントリ
は、動作の非同期モードから変更されない。
各I10”[−ジュールから主メモリ60へのDMA 
57 データ転送用のキューエントリは、スレーブメモリに関
する境界アドレスと要素サイズの追加情報を必要とする
クロスリンクは、I10モジュール100.110.1
20.100“、110°及び120からの全てのDM
Aデータを、マスター及びスレーブ両メモリコントロー
ラ70.75.70゛及び75′へ自動的に送る。アプ
リケーションDMAの混入は対話的である。DMA作業
のためアプリケーションの必要が生したときは、その要
求を未処理のキエーへ追加可能である(ステップ244
0)。
DMAエンジン800と800゛は、DMAキュー内の
次のエントリを調べる(ステップ2450)。
エントリがバルクメモリ転送用であれば、マスターゾー
ンのメモリコントローラ70と75に、開始アドレス及
び要素の数の構成情報が与えられ、読取動作の一部とし
て転送する(ステップ2451 )。
次いで、スレーブゾーンのメモリコントローラ70”と
75゛が、書込動作の一部として同じ情報を得る(ステ
ップ2452)。
 58 Iloからメモリへの転送の場合には、マスターゾーン
のメモリコントローラ70と75に、宛先アドレス及び
転送カウントが与えられる(ステップ2453)、スレ
ーブゾーンのメモリコントローラ70′と75′につい
ても同様である(ステップ2454)。次いで、開始ア
ドレス及び転送カウントがI10モジュールに送られる
。(ステップ2455)。これはメモリコントローラに
とって書込動作、I10モジュールにとって読取動作で
ある。
メモリからIloへの転送の場合には、マスターメモリ
コントローラ70と75に、読取動作のための開始アド
レス及び転送カウントが送られる(ステップ2456)
。I10モジュールは、書込動作のための宛先アドレス
及び転送カウントを受け取る(ステップ2457)。ス
レーブメモリコントローラは、この種のDMA転送に係
わらない。
DMA転送の設定後、該当の動作が実行される(ステッ
プ2460)。
マスターゾーンメモリからスレーブゾーンメモリへのメ
モリ内容のDMA転送中、あるいはそれに関連したなん
らかのDMA転送中、マスターゾーンのメモリコントロ
ーラによって受け取られたいずれの記憶コマンドもスレ
ーブゾーンのメモリコントローラに転送される(ステッ
プ2465)。
このような記憶コマンドには例えば、現在実行中のアプ
リケーションによって生ぜられ、マスターゾーンCPU
からマスターゾーンのメモリコントローラによって受け
取られた書込コマンドを含む。
また、メモリコントローラ70と75からメモリモジュ
ール60に送られたメモリリフレッシュアドレスコマン
ドも、記憶コマンドに含まれる。
スレーブゾーン11”内のシーケンサ617はリフレッ
シュ信号を発生していないので、リフレッシュコマンド
の転送が行われる。スレーブゾーンのメモリモジュール
60°はこれで、リフレッシュ信号による中断を伴わず
に、マスターゾーンのメモリモジュール60から受け取
られたデータを記憶することができる。一方スレープメ
モリモジュール60“の動作は、同モジュール60がマ
スターゾーンのメモリコントローラ70からリフレッシ
ュ信号を受け取るので、何等損なわれない。また、マス
ターゾーンがそのリフレッシュ信号をスレーブゾーンに
送るため、スレーブ及びマスター両ゾーンのメモリアレ
イ600゛ と600は同時にリフレッシュする。
各ページ転送の終わりで、マスターゾーンのメモリモジ
ュール60から全てのページが転送されたかどうかが行
われる(ステップ2470)。まだなら、所定の遅延後
(ステップ24130)、キュー内の次のページが転送
される。遅延はCPU40と50により、マスターゾー
ンメモリコントローラ70内のメモリ制御状態レジスタ
876のDMAレシオ部8部子77−ドを書き込むこと
によってセットされ、CPU40と50がDMAエンジ
ン800に記憶コマンドを送る時点を制御することによ
って、遅延は実施される。好ましい実施例では、メモリ
ハンド幅の1/8と8/8の間のうち、DMA作業の最
大比を遅延でセットする。
 61 但しそのような遅延中も、記憶コマンドはゾーン11°
に送られ続ける。
好ましい実施例では調整可能な遅延の目的は、メモリの
同期動作中に、DMA転送がCPU (すなわちCPU
40と50)の平常処理をあまりにスローダウンさせて
しまうのを防ぐことにある。
再同期化時に見込まれる処理が軽ければ、遅延は小さい
値にセット可能である。再同期化時に見込まれる処理が
重zノれば、遅延は大きい値にセット可能である。
マスターゾーンの全メモリモジュールが転送されている
と、マスターゾーンCPU (すなわちCPU40と5
0)は後の再ブーティング動作のため、それらのCPU
レジスタをメモリアレイ600内に記憶する(ステップ
2485)。両ゾーンはまだ再同期化のため構成されて
いるところなので、CPUレジスタのメモリアレイ60
0内への記1意と同時に、CPUレジスタはスレーブメ
モリアレイ600′にも記憶される。
次に、゛再同期リセット“を用いて、両ゾーン 62 がリセットされる(ステップ2490)。再同期リセッ
トはキャッシュメモリ42.52.42及び52”をフ
ラッシュし、両ゾーン11及び11を同じ初期状態に置
くと共に、クロスリンクを重モードにリセットすること
によって、両ゾーンを同期状態から出す(すなわち同期
モードをキャンセルする)。これによって、再同期リセ
ッI・は自動的に、マスターゾーンの記憶コマンドのス
レーブゾーンによる模倣をキャンセルし、シーケンサ6
1フ゛内のりフレンシェ回路を再び動作可能とする。再
同期リセット後、システム10がブードされ(ステップ
2495)、同期した全二重モードで始動可能となる。
■、結論 以上好ましい実施例によって示したように本発明は、デ
ュアルゾーンシステムにおける再同期化の問題と遅延を
最小限にするなど、顕著な利点を達成するものである。
本発明の方法及び装置において変更及び変形が可能なこ
とは、当業者にとって明かであろう。そのため、本発明
は広義の観点において、図示及び説明した個々の詳細、
代表的な方法及び装置、並びに例示の実施例に制限され
ない。従って、全体的な発明概念の精神または範囲から
逸脱することなく、個々の詳細に変更を施すことができ
る。
【図面の簡単な説明】
第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モジュールのクロスリ
ンクの状態を示す状態図である。  65 第14図は、第1図の故障許容コンピュータ・システム
のタイミング・システムのブロック図である。 第15図は、第14図のタイごング・システムによって
発生されるクロック信号のタイミング図である。 第16図は、第14図に示すタイミング・システムの位
相検出器の詳細図である。 第17図は、第1図のコンピュータ・システムのI10
モジュールのブロック図である。 第18図は、第17図に示すI10モジュールのファイ
ヤウオールの構成要素のブロック図である。 第19図は、第1図のコンピュータ・システムのクロス
リンク経路の構成要素の詳細図である。 第20A図ないし第20E図は第1図のコンピュータ・
システムのデータ・フロー図である。 第21図は、リセット信号の流れを示すゾーン20のブ
ロック図である。 第22図は、第3図に示すCPUモジュールの 66 リセットに含まれる構成要素のブロック図である。 第23図は、クロック・リセット回路の図である、そし
て 第24図は、第1図のコンピュータシステムによる再同
期化そしてバルクメモリトランスファーのための論理フ
ローダイアグラムである。  67 特開平3 182958 (46) 11”tへ 特開平3 182958 (60) 符開平 5 18Z9b8(61) 特開平3 182958 (62) 手 続 補 正 書 (方式) 1、事件の表示 平成2年特許願第203800号 2、発明の名称 再同期時のバルクメモリ転送 3、補正をする者 事件との関係 出 願 人 4、代 理 人 5、補正命令の日付 平底2年10月30日

Claims (1)

  1. 【特許請求の範囲】 1、同期して動作可能であり且つ相互に交信可能なマス
    ターゾーンとスレーブゾーンを有するデュアルゾーンコ
    ンピュータシステムで、前記マスター及びスレーブゾー
    ンが各々中央処理装置(CPU)とメモリシステムを含
    み、該メモリシステムの各々が同一ゾーン内のCPU及
    び同一ゾーン内のCPU以外のソースから受け取った記
    憶コマンド及びアクセスコマンドに応答し、該記憶コマ
    ンドが前記メモリシステムにデータを書き込むためのコ
    マンド及び前記メモリシステムをリフレッシュするため
    のリフレッシュコマンドを含み、前記スレーブゾーンを
    マスターゾーンに同期させる方法において: 前記マスターゾーンメモリシステムの内容を前記スレー
    ブゾーンメモリシステムへ転送するステップ; 前記マスターゾーンメモリシステムの内容の前記スレー
    ブゾーンメモリシステムへの転送時に、書込コマンド及
    びリフレッシュコマンドを含め前記マスターゾーンメモ
    リシステムによって受け取られた全ての記憶コマンドを
    、前記スレーブゾーンメモリシステムへ転送するステッ
    プ;及び 前記マスターゾーンメモリシステムの内容の前記スレー
    ブゾーンメモリシステムへの転送が完了した後、前記ス
    レーブゾーンCPUを前記マスターゾーンCPUと同じ
    状態にセットするステップ;を含む方法。 2、前記マスターゾーンメモリシステムが、マスターゾ
    ーンメモリシステムへの全ての書込コマンドを受け取る
    と共に、マスターゾーンメモリシステム用のリフレッシ
    ュコマンドを発生するマスターゾーンメモリコントロー
    ラを含み:前記スレーブゾーンメモリシステムが、スレ
    ーブゾーンメモリシステムへの全ての書込コマンドを受
    け取ると共に、スレーブゾーンメモリシステム用のリフ
    レッシュコマンドを発生するスレーブゾーンメモリコン
    トローラを含み;さらに前記方法が: 前記マスターゾーンメモリシステムの内容の前記スレー
    ブゾーンメモリシステムへの転送中、スレーブゾーンメ
    モリコントローラがリフレッシュコマンドを発生するの
    を防ぐステップ;も含む請求項1記載の方法。 3、前記マスターゾーンCPU及びスレーブゾーンCP
    Uが各々、対応したCPUの状態をそれぞれ決める複数
    のCPUレジスタを含み、スレーブゾーンCPUをマス
    ターゾーンCPUと同じ状態にセットする前記ステップ
    が: 前記マスターゾーンCPUレジスタの内容をマスターゾ
    ーンメモリシステム及びスレーブゾーンメモリシステム
    に記憶するサブステップ;及び 前記マスターゾーンとスレーブゾーンのメモリシステム
    及びCPUを同じ初期状態にセットするサブステップ; を含む請求項1記載の方法。 4、前記マスター及びスレーブ両ゾーンのCPUとメモ
    リシステムを同じ初期状態にセットするステップがさら
    に: 前記マスターゾーンメモリシステム内に記憶されたマス
    ターゾーンCPUレジスタの内容を、マスターゾーンメ
    モリシステムからマスターゾーンCPUレジスタへ転送
    するサブステップ;及び 前記スレーブゾーンメモリシステム内に記憶されたマス
    ターゾーンCPUレジスタの内容を、スレーブゾーンメ
    モリシステムからスレーブゾーンCPUレジスタへ転送
    するサブステップで、マスターゾーンCPUレジスタの
    内容のスレーブゾーンメモリシステムからスレーブゾー
    ンCPUレジスタへの転送が、マスターゾーンCPUレ
    ジスタの内容のマスターゾーンメモリシステムからマス
    ターゾーンCPUレジスタへの転送とほぼ同時で且つマ
    スター及びスレーブ両ゾーンのCPUとメモリシステム
    がリセットされた後に生じる; を含む請求項3記載の方法。 5、前記マスター及びスレーブ両ゾーンのCPUとメモ
    リシステムが各々初期状態を有しており、マスター及び
    スレーブ両ゾーンのCPUとメモリシステムを同じ初期
    状態にセットする前記ステップが: マスターゾーンとスレーブゾーンの両方でリセットコマ
    ンドを実行するサブステップ; を含む請求項3記載の方法。 6、前記マスターゾーンメモリシステムと前記スレーブ
    ゾーンメモリシステムの両方が直接メモリアクセス(D
    MA)転送の機能を有し、マスターゾーンメモリシステ
    ムの内容をスレーブゾーンメモリシステムへ転送する前
    記ステップが:前記マスターゾーンメモリシステムの内
    容をDMA転送を介して出力するサブステップ;及び 前記マスターゾーンメモリシステムの内容をDMA転送
    を介してスレーブゾーンメモリシステムへ入力するサブ
    ステップ; を含む請求項1記載の方法。 7、前記マスターゾーンと前記スレーブゾーンが各々マ
    スターゾーンとスレーブゾーン間で情報を転送するクロ
    スリンク回路を含み、マスターゾーンメモリシステムの
    内容をスレーブゾーンメモリシステムへ転送する前記ス
    テップが:前記マスターゾーンメモリシステムの内容の
    スレーブゾーンメモリシステムへのDMA転送と、前記
    マスターゾーンメモリシステムによって受け取られた全
    記憶コマンドのスレーブゾーンメモリシステムへの転送
    とを可能とするように、マスターゾーンとスレーブゾー
    ンのクロスリンク回路を構成するサブステップ; を含む請求項6記載の方法。 8、前記マスター及びスレーブ両ゾーンを同じ状態にセ
    ットする前記ステップが: マスターゾーンとスレーブゾーンのクロスリンク手段を
    、マスターゾーンメモリシステムによって受け取られた
    全記憶コマンドがスレーブゾーンメモリシステムへ転送
    されるように構成し直すサブステップ; を含む請求項7記載の方法。 9、出力を行う前記ステップが: 前記マスターゾーンメモリのページを出力するサブステ
    ップ;及び 前記マスターゾーンメモリの各ページの出力後、所定の
    時間待つサブステップ; を含む請求項6記載の方法。 10、コンピュータシステムの両ゾーンが同期状態で動
    作する同期モードと、コンピュータシステムの該同期モ
    ードへ入ろうと試みる同期化モードの両方で動作可能な
    デュアルゾーンコンピュータシステムにおいて: マスターゾーンとスレーブゾーンを備え; 前記スレーブゾーンが; スレーブゾーンCPUの状態を決める複数 のCPUレジスタを含むスレーブゾーン中央処理装置(
    CPU)、 前記スレーブゾーンCPUに接続されたス レーブゾーンメモリシステムで、前記スレーブゾーンC
    PUから及び前記スレーブゾーンCPU以外のソースか
    らのメモリフレッシュコマンドを含むアクセス及び記憶
    コマンドに応答するスレーブゾーンメモリシステム、及
    び 前記スレーブゾーンメモリシステムに接続 され、前記コンピュータシステムが前記同期化モードに
    あるとき、前記マスターゾーンから記憶コマンドとデー
    タを受け取るスレーブゾーンクロスリンク手段を含み; 前記マスターゾーンは: マスターゾーンCPUの状態を決める複数 のCPUレジスタを含むマスターゾーン中央処理装置(
    CPU)、 前記マスターゾーンCPUに接続されたマ スターゾーンメモリシステムで、前記マスターゾーンC
    PUから及び前記マスターゾーンCPU以外のソースか
    らのメモリフレッシュコマンドを含むアクセス及び記憶
    コマンドに応答するマスターゾーンメモリシステム、及
    び前記コンピュータシステムが前記同期化モ ードにあるとき、前記マスターゾーンメモリシステムに
    記憶されたデータと前記マスターゾーンメモリシステム
    によって受け取られた記憶コマンドとを前記スレーブゾ
    ーンに送るマスターゾーンクロスリンク手段を含む; デュアルゾーンコンピュータシステム。 11、前記マスターゾーンメモリシステムが、マスター
    ゾーンメモリシステムをリフレッシュするための周期的
    なメモリリフレッシュ信号を発生するマスターゾーンメ
    モリコントローラを含み;さらに 前記スレーブゾーンメモリシステムが; スレーブゾーンメモリシステムのためのメモリリフレッ
    シュ信号を周期的に発生するスレーブゾーンメモリコン
    トローラ手段、及び 前記コンピュータシステムが前記同期化モードにあると
    き、前記スレーブゾーンメモリコントローラ手段を動作
    不能とする手段を含む;請求項10記載のコンピュータ
    システム。 12、前記マスターゾーンが、前記同期化モードの終わ
    りにマスターゾーンリセットコマンドを発生し、前記マ
    スターゾーンCPU、前記マスターゾーンメモリシステ
    ム及び前記マスターゾーンクロスリンク手段が初期状態
    へ入るようにするマスターゾーンリセット手段を含み;
    さらに前記スレーブゾーンが、マスターゾーンリセット
    コマンドに応答してスレーブゾーンリセットコマンドを
    発生し、前記スレーブゾーンCPU、前記スレーブゾー
    ンメモリシステム及び前記スレーブゾーンクロスリンク
    手段が前記初期状態へ入るようにするスレーブゾーンリ
    セット手段を含む請求項11記載のコンピュータシステ
    ム。 13、前記マスターゾーンメモリシステムが、前記同期
    化モード時に前記マスターゾーンメモリシステムの内容
    を出力する直接メモリアクセス(DMA)手段を含み;
    さらに 前記スレーブゾーンメモリシステムが、前記同期化モー
    ド時に前記マスターゾーン及びスレーブゾーン両クロス
    リンク手段を介して、前記マスターゾーンメモリシステ
    ムから受け取ったデータを入力するDMA手段を含む請
    求項12記載のコンピュータシステム。 14、前記マスターゾーンが、前記マスターゾーンCP
    U、メモリシステム及びクロスリンク手段にタイミング
    信号を与えるマスターゾーンクロック手段を含み、該マ
    スターゾーンクロック手段が、前記マスターゾーンリセ
    ットコマンドに応答して前記マスターゾーンクロック手
    段を初期状態にリセットする手段を含み;さらに 前記スレーブゾーンが: 前記スレーブゾーンCPU、メモリシステム及びクロス
    リンク手段にタイミング信号を与えるスレーブゾーンク
    ロック手段を含み、該スレーブゾーンクロック手段が; 前記スレーブゾーンリセットコマンドに応答して前記ス
    レーブゾーンクロック手段を初期状態にリセットする手
    段を含む; 請求項13記載のコンピュータシステム。
JP2203800A 1989-08-01 1990-07-31 再同期時のバルクメモリ転送 Pending JPH03182958A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38804289A 1989-08-01 1989-08-01
US388042 2003-03-13

Publications (1)

Publication Number Publication Date
JPH03182958A true JPH03182958A (ja) 1991-08-08

Family

ID=23532403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2203800A Pending JPH03182958A (ja) 1989-08-01 1990-07-31 再同期時のバルクメモリ転送

Country Status (5)

Country Link
EP (1) EP0411805B1 (ja)
JP (1) JPH03182958A (ja)
AT (1) ATE144058T1 (ja)
CA (1) CA2022216A1 (ja)
DE (1) DE69028821D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003116A (en) * 1995-11-07 1999-12-14 Hitachi, Ltd. Multiplexed computer system with the capability to copy data from one processor memory to another

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255388A (en) * 1990-09-26 1993-10-19 Honeywell Inc. Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US5278969A (en) * 1991-08-02 1994-01-11 At&T Bell Laboratories Queue-length monitoring arrangement for detecting consistency between duplicate memories
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US5841963A (en) * 1994-06-08 1998-11-24 Hitachi, Ltd. Dual information processing system having a plurality of data transfer channels
CA2309926A1 (en) 1997-11-14 1999-05-27 Erik Muench Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems
US6625756B1 (en) 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6138198A (en) 1998-06-15 2000-10-24 Sun Microsystems, Inc. Processor bridge with dissimilar data registers which is operable to disregard data differences for dissimilar data write accesses
US6625749B1 (en) 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
JP3774826B2 (ja) 2002-07-11 2006-05-17 日本電気株式会社 情報処理装置
US7263631B2 (en) 2004-08-13 2007-08-28 Seakr Engineering, Incorporated Soft error detection and recovery
JP4161276B2 (ja) * 2004-12-17 2008-10-08 日本電気株式会社 フォルトトレラントコンピュータ装置およびその同期化方法
JP2006178550A (ja) 2004-12-21 2006-07-06 Nec Corp 二重化同期システム、及び二重化同期システムの動作方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757442A (en) * 1985-06-17 1988-07-12 Nec Corporation Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor
EP0306211A3 (en) * 1987-09-04 1990-09-26 Digital Equipment Corporation Synchronized twin computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003116A (en) * 1995-11-07 1999-12-14 Hitachi, Ltd. Multiplexed computer system with the capability to copy data from one processor memory to another
US6453391B2 (en) 1995-11-07 2002-09-17 Hitachi, Ltd. Multiplexed computer system

Also Published As

Publication number Publication date
CA2022216A1 (en) 1991-02-02
EP0411805B1 (en) 1996-10-09
EP0411805A2 (en) 1991-02-06
ATE144058T1 (de) 1996-10-15
EP0411805A3 (en) 1993-02-24
DE69028821D1 (de) 1996-11-14

Similar Documents

Publication Publication Date Title
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
JPH03184130A (ja) ソフトウェアの誤り処理方法
US5153881A (en) Method of handling errors in software
US5068851A (en) Apparatus and method for documenting faults in computing modules
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
EP0306209B1 (en) Dual rail processors with error checking at single rail interfaces
US5249187A (en) Dual rail processors with error checking on I/O reads
EP0306244B1 (en) Fault tolerant computer system with fault isolation
US5163138A (en) Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US4939643A (en) Fault tolerant digital data processor with improved bus protocol
US5048022A (en) Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
EP0306252B1 (en) Fault tolerant computer system input/output interface
US6161165A (en) High performance data path with XOR on the fly
US5251227A (en) Targeted resets in a data processor including a trace memory to store transactions
JPH03184129A (ja) 特定のデータをシステムデータに変換する方法
JPH03182958A (ja) 再同期時のバルクメモリ転送
JP3069585B2 (ja) データ処理装置における目標指定リセット法
JPH03184155A (ja) 非存在メモリエラー処理の方法
JPS63113641A (ja) パイプライン結合されたメモリサイクルをもつデイジタルデ−タ処理装置
JPH04195646A (ja) 多重化システム