JP2004005627A - Duplex memory system - Google Patents

Duplex memory system Download PDF

Info

Publication number
JP2004005627A
JP2004005627A JP2003126673A JP2003126673A JP2004005627A JP 2004005627 A JP2004005627 A JP 2004005627A JP 2003126673 A JP2003126673 A JP 2003126673A JP 2003126673 A JP2003126673 A JP 2003126673A JP 2004005627 A JP2004005627 A JP 2004005627A
Authority
JP
Japan
Prior art keywords
error
memory
data
address
system bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003126673A
Other languages
Japanese (ja)
Inventor
Takashi Tanabe
田辺 隆司
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003126673A priority Critical patent/JP2004005627A/en
Publication of JP2004005627A publication Critical patent/JP2004005627A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To achieve high reliability of a computer, and facilitate error correction, repair and replacement during system operation. <P>SOLUTION: A processor 1 and a system bus control device 3 are connected to each other by a CPU bus, the system bus control device 3 and a memory device 4 are duplexed, and these are respectively connected to a pair of system buses 13. Inside the system bus control device 3 and the memory device 4, error detection circuits 6, 80 and 85 to detect error in each bus, comparator circuits 51, 104 and 105 to compare output contents of the buses, bus switching circuits 7, 82 and 83, and mode setting circuits 100, 101 and 102 are provided. Output of the error detection circuits is exchanged between a pair of devices, and the bus switching circuits are controlled in accordance with detection result of the error detection circuits from the other side, and setting contents by the mode setting circuits. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【産業上の利用分野】
この発明は、高信頼計算機におけるメモリ装置、特に二重化メモリシステムの構成方法、診断方法、及び障害監視方法に関するものである。
【0002】
【従来の技術】
フォールトトレラント計算機の分野において、計算機の信頼性を高める最も一般的な技術の1つに、処理装置(CPU)あるいは記憶装置など、信頼性上クリティカルな論理回路を多重化する方式がある。通常、記憶装置の多重化は二重化が基本で、二重化された記憶装置の一方を常用側、他方を待機側として構成する。この場合、書込み時は両方に同じデータを書き込んで一貫性を保ち、読出し時には常用側のデータのみを出力させるが、仮に常用側から読み出したデータにエラーが発生すれば、データ転送主体が待機側に切り換わり、こちらが正しいデータを出力することでシステムの動作継続が可能となる。
【0003】
ところが従来の技術は、ほとんどがメモリ装置のみの二重化にとどまり、制御部や接続されるシステムバスの二重化による高信頼化手法は確立されていない。従って、故障した記憶装置を切り離して診断する手段、システム動作中の修理交換(活線交換)、記憶装置を接続するシステムバスが故障した時の対処は、いずれも不十分であった。
【0004】
二重化記憶装置の切り換え技術として、特開昭59−17796号公報、特開平01−70847号公報、特公昭60−3225号公報、特開昭63−273950号公報、特開昭60−238957号公報、特開昭57−109195号公報、特開平4−233052号公報に記載されている方式では、記憶装置の接続されるバスが二重化されておらず、またほとんどの方式において、制御部の二重化がなされていなかった。さらに記憶装置にエラーが発生した場合、読出し時なら切り換えや修復によって正しいデータが保証されるものの、書込み時については配慮が不足し、リトライ動作等による性能の低下、処理装置側回路の複雑化を招いていた。さらに、故障したメモリの診断時に正常なメモリに影響を与えない考慮、故障した制御部やメモリ装置をシステムの動作中に修理交換する手段、入出力制御装置が記憶装置をアクセスする時の信頼性考慮等も十分とはいえず、システム全体の信頼性向上に改善の余地が残るものであった。
【0005】
【発明が解決しようとする課題】
前述のごとく従来の技術にはいくつかの課題があり、これを解決するためには、すべての構成要素を二重化する方法が考えられる。これは単に構成要素を二組用意すれば実現できるものではなく、システムとして常に正しい連続動作を確保するために、以下の諸点に配慮しなければならない。
【0006】
課題1、二重化されたシステムバスの切り換えを高速に、しかもエラーが発生したときにもシステムバスのタイミングを変えることなく、正常なデータを保証すること。
【0007】
課題2、二重化されている装置中の任意の装置の一方が実装されていなくても正常動作が可能で、相手側が実装されているかどうかを知るための特別な信号線を不要にすること。
【0008】
課題3、エラー発生時の故障箇所の特定及び診断を、正常な部分に影響を与えないで実施すること。
【0009】
課題4、書込み時にデータパリティエラーが発生した時でも、二重化動作が継続できる手段を簡単に提供すること。
【0010】
課題5、システムバスを二重化したときのエラーチェックが十分に行われるようにすること。
【0011】
課題6、二重化されたメモリ装置の一方に修復不可能なエラーが発生した時、システムを停止しないで修理交換ができ、二重化動作を再開できること。
【0012】
課題7、二重化メモリ装置として使用しない時に、簡単にメモリ容量を増やせること。
【0013】
課題8、故障した入出力制御装置を診断する時にメモリにデータを書き込むことによって、復旧が不可能となるようなメモリ破壊を招かないこと。
【0014】
課題9、二重化されたシステムバスに接続するための特別な入出力制御装置を設計しなくても、信頼性を低下させることなく二重化メモリシステムに接続可能とすること。
【0015】
目的
この発明は以上の課題を解決するためになされたもので、信頼性の高い二重化メモリシステムを提供することを目的とする。
【0016】
【課題を解決するための手段】
上記課題を解決するために本発明は、各種の処理を行う処理装置と、この処理装置にCPUバスを介して接続された一対のシステムバス制御装置と、この一対のシステムバス制御装置にそれぞれ接続された一対のシステムバスと、それぞれがこの一対のシステムバスの両方に接続された一対のメモリ装置A及びBと、を含み、処理装置における書込み動作時には、システムバス制御装置は一対のメモリ装置に同時に処理装置からのデータを書き込み、処理装置における読出し動作時には、いずれか一方のシステムバス制御装置が対応するメモリ装置から読み出したデータを処理装置に送出する二重化メモリシステムにおいて、一対のメモリ装置A及びBがそれぞれ、メモリに対する書き込みを許可する書込み許可フラグと、メモリからの読み出しを許可する読出し許可フラグと、現アドレスに対するアクセスの対象を判別するアドレス判別回路とを有するものである。
【0017】
また本発明は、前記書込み許可フラグ及び読出し許可フラグの組合せに従って前記の各メモリ装置の状態を定義する状態定義手段と、処理装置による設定に従い、各メモリ装置を状態定義手段において定義された各状態間で遷移させる状態遷移手段とを有するものである。
【0018】
また本発明は、前記メモリ装置A及びBがそれぞれ、メモリ装置Aとメモリ装置Bがともにアクセス対象となる共通アクセス空間を指定する共通アクセス空間指定レジスタと、メモリ装置Aまたはメモリ装置Bのいずれか一方がアクセス対象となる個別アクセス空間を指定する個別空間アクセス指定レジスタとを有するものである。
【0019】
また本発明は、メモリ装置Aとメモリ装置Bの共通アクセス空間指定レジスタの値を同じアドレスに設定する設定手段と、メモリ装置Aの個別空間指定レジスタの値とメモリ装置Bの個別空間指定レジスタの値を異なったアドレスに設定する第二の設定手段と、これらの設定手段によって設定されたアドレスを任意のタイミングで再設定する第三の設定手段とを有するものである。
【0020】
また本発明は、各メモリ装置の任意領域に擬似的なエラーを注入するエラー注入手段と、エラーの注入された領域をアクセスしてエラーの状態を検査するエラー状態検査手段とを有するものである。
【0021】
また本発明は、前記エラー注入手段によってエラーが注入される領域のアドレス及び注入されるデータの値を両メモリ装置で異なる値に設定する注入値設定手段を有するものである。
【0022】
また本発明は、前記各メモリ装置がシステムバスのアドレスエラーを検出するシステムアドレスエラー検出手段と、システムアドレスエラー検出手段の検出結果を他方のメモリ装置に通知するエラーアドレス信号線と、他方のメモリ装置から通知されるエラーアドレス信号線の状態に従い、他方のメモリ装置でエラーが発生した際、自装置でエラーのないアドレスを記憶するエラーアドレス記憶手段と、自装置でアドレスエラーが検出された際、自装置のメモリへの書込みを禁止する書込み禁止手段とを有するものである。
【0023】
また本発明は、前記システムアドレスエラー検出手段における検出結果に従って割込み信号を生成するシステムアドレスエラー割込み生成手段と、システムアドレスエラー割込みが発生したときに前記エラーアドレス記憶手段に格納されたアドレスをもとにエラー修復を行うエラー修復手段とを有するものである。
【0024】
【作用】
上記構成による本発明によれば、メモリ装置A及びBの書込み許可フラグがメモリに対する書き込みを許可し、読出し許可フラグがメモリからの読み出しを許可し、アドレス判別回路が現アドレスに対するアクセスの対象を判別する結果、この判別回路における判別結果と前記2つのフラグの組合せによってデータの書込みまたは読出しが行われる。
【0025】
また本発明によれば、状態定義手段が前記書込み許可フラグ及び読出し許可フラグの組合せに従って前記の各メモリ装置の状態を定義し、状態遷移手段が処理装置による設定に従い、各メモリ装置を状態定義手段において定義された各状態間で遷移させる。
【0026】
また本発明によれば、前記メモリ装置A及びBの共通アクセス空間指定レジスタがメモリ装置Aとメモリ装置Bがともにアクセス対象となる共通アクセス空間を指定し、個別空間アクセス指定レジスタがメモリ装置Aまたはメモリ装置Bのいずれか一方がアクセス対象となる個別アクセス空間を指定する。
【0027】
また本発明によれば、設定手段がメモリ装置Aとメモリ装置Bの共通アクセス空間指定レジスタの値を同じアドレスに設定し、第二の設定手段が前記設定手段によって設定されたメモリ装置Aの個別空間指定レジスタの値とメモリ装置Bの個別空間指定レジスタの値を異なったアドレスに設定し、第三の設定手段が前記2つ設定手段によって設定されたアドレスを任意のタイミングで再設定する。
【0028】
また本発明によれば、エラー注入手段が各メモリ装置の任意領域に擬似的なエラーを注入し、エラー状態検査手段がエラーの注入された領域をアクセスしてエラーの状態を検査するため、システム各部機能の動作確認を可能とする。
【0029】
また本発明によれば、注入値設定手段が前記エラー注入手段によってエラーの注入される領域のアドレス及び注入されるデータの値を両メモリ装置で異なる値に設定する。
【0030】
また本発明によれば、前記各メモリ装置のシステムアドレスエラー検出手段がシステムバスのアドレスエラーを検出し、エラーアドレス信号線がその検出結果を他方のメモリ装置に通知し、該他方のメモリ装置のエラーアドレス記憶手段が前記エラーアドレス信号線の状態に従って自装置でエラーのないアドレスを記憶するとともに、各システムバス制御装置の禁止手段によって、各装置でアドレスエラーが検出された際、自装置のメモリへの書込みが禁止される。
【0031】
また本発明によれば、システムアドレスエラー割込み生成手段が前記システムアドレスエラー検出手段における検出結果に従って割込み信号を生成し、エラー修復手段がこの割込み信号に従って前記エラーアドレス記憶手段に格納されたアドレスをもとにエラー修復を行う。
【0032】
【実施例】
実施例1.
図1は、本発明の第1実施例に係る二重化メモリシステムである。図1において、1は処理装置(CPU)、2は処理装置1が診断等の特殊処理をするためのプログラムが格納されている制御ROM、3は処理装置1とシステムバスのやりとりを制御するためのシステムバス制御装置、4はメモリ装置、5はシステムバス制御装置3に内蔵され、通常動作時にメモリ装置から読み出したデータを処理装置1に対して送出すべきシステムバス制御装置を決定するためのマスタ決定回路、6はシステムバス制御装置3に内蔵され、メモリ装置4からの読出しデータのエラーを検出するためのエラー検出回路、7はマスタ決定回路及びエラー検出回路6の指示に従い処理装置に読出しデータを出力するかどうかを決定するCPUバス切換え回路である。処理装置1とシステムバス制御装置3はデータ信号8、低レベル割込み信号9、高レベル割込み信号10、アドレス信号11で構成されるCPUバスで接続され、システムバス制御装置3及びメモリ装置4は二重化されており各々3a、3b、4a、4bで示されている。二重化されたシステムバス制御装置は、CPUバス切換え信号線12a及び12bで接続され、メモリ装置4aはシステムバスA13aを介してシステムバス制御装置3aに、メモリ装置4bはシステムバスB13bを介してシステムバス制御装置3bに接続されている。
【0033】
二重化部分は上記のようにA系統とB系統に分類されているが、以下の説明においては両側を区別する場合は構成要素番号に各々添え字aあるいはbを付けて示し、区別しない場合は添え字を付けないで表す。
【0034】
図2は、図1中のシステムバス制御装置3に内蔵されるエラー検出回路6及びCPUバス切換え回路7の詳細構成を示す。図中13−1はメモリ装置から読み出されてシステムバス上に送出されたデータ信号で、データ部32ビットとパリティ部4ビットから構成される。14はデータ信号13−1をクロック信号15でラッチしたデータ信号16を出力するデータラッチ回路、17はデータ信号16をクロック信号15でラッチしたデータ信号18を出力するデータラッチ回路、19はデータ信号16のパリティチェックを行うエラー検出回路、12はエラー検出回路19の出力でエラー検出時に“1”となるエラー信号線であってCPUバス切換え信号線として使用され、20はエラー検出回路19の出力でエラー未検出時“1”となる正常信号線、21はエラー未検出時にCPUバスに読出しデータを送出すべきシステムバス制御装置を選択するマスタモード入力信号線、22はメモリ装置から有効なデータが送出されていることを示すデータ有効信号線、23はマスタモード入力信号線21、データ有効信号線22、エラー信号線12及び正常信号線20の状態をANDゲート24、25及びORゲート26によって条件出力された信号をラッチする、CPUバス選択ラッチである。29はCPUバス選択ラッチ23の出力信号33とデータ出力タイミングクロック信号30の条件によりゲート信号32を生成するためのANDゲート、31はゲート信号32が“1”の時にデータ信号18をCPUバスのデータ信号8として出力し、ゲート信号32が“0”の時にはデータ信号8を高インピーダンス状態におく3ステートバッファ、34は他方のシステムバス制御装置からのCPUバス切換え信号12をプルアップするプルアップ抵抗である。また35はCPUバス切換え信号線12aあるいは12bのいずれか一方が“1”のときに低レベルの割込み信号9を生成するEXORゲート、36はCPUバス切換え信号線12a及び12bの両方が“1”のときに高レベルの割込み信号10を生成するANDゲートである。EXORゲート35及びANDゲート36により、処理装置に対する2種類の割込み信号が生成される。エラーの発生状況とCPUバス切換え信号線12、割込み信号線9及び10の関係を図3に示す。
【0035】
図4は、図2のエラー検出回路及びCPUバス切換え回路の動作を示すタイミング図で、各々の入出力信号を対応して示してある。図中でT01ないしT14はクロック信号15を基準としたクロックサイクルを示す。
【0036】
図5は、データ信号18がゲート信号32のタイミングによってデータ信号8としてドライブされる様子を示す。
【0037】
図6は、図1のシステムバス制御装置3内部のマスタ決定回路5の詳細を示す。図中、37はモードを記憶するフリップフロップで、出力信号線41を出力する。38はマスタを変更するマスタ変更信号線、39及び40は負論理のANDゲート、42は電源投入時にフリップフロップ37を初期状態にする負論理のリセット信号線である。図2にマスタ決定回路を組み込む場合、出力信号41がマスタモード入力線21の代わりに接続される。
【0038】
図7は、図6のマスタ決定回路の動作を示すタイミング図である。
【0039】
以上のように構成される二重化メモリシステムの概略動作について、図1を用いて説明する。処理装置1は電源投入後のイニシャル処理において、制御ROM2に格納されているプログラムを実行し、システムバス13に接続されているメモリ装置4を診断した後、ディスク制御装置(図示せず)等の入出力制御装置を介してOSなどのプログラムをメモリ装置4に読み込み、以後システムが正常に動作する間、メモリ装置4に格納されたプログラムを実行する。システムにエラーが検出されると割込み信号9あるいは10が処理装置1に対して出力され、処理装置1が制御ROM2の所定エラー処理プログラムを実行し、エラー処理完了後メモリ装置4に格納されたプログラム実行を再開する。
【0040】
プログラム実行に伴って処理装置1がメモリ装置4にアクセスする際、書込み動作であれば、二重化されたシステムバス制御装置3a及び3bを介して両側のメモリ装置4a及び4bに同時に書き込みが行われる。読出し動作時は、システムバス制御装置3a、3bがともにメモリ装置に対して読み出しを指示し、メモリ装置4a及び4bから同時に読み出しがなされ、システムバスA13a及び13bを介してシステムバス制御装置3a及び3bに読出しデータを送出する。システムバス制御装置3の内部にはマスタ決定回路5が内蔵されており、エラー検出回路6がメモリ装置から送られてきたデータにエラーの無いことを示せば、マスタに設定された側がCPUバスデータ8に読出しデータを送出する。エラーが検出された場合には、検出した側のシステムバス制御装置が相手側に対してCPUバス切換え信号線12を出力し、CPUバス切換え回路7によって正常な側のシステムバス制御装置がCPUバスデータ8に読出しデータを送出する。
【0041】
次にエラー検出回路6とCPUバス切換え回路7の詳細動作について、図2を用いて説明する。
【0042】
図2においてシステムバス制御装置にはマスタモード入力信号線21があり、いま仮にシステムバス制御装置3aではマスタモード入力信号線21aが“1”に、システムバス制御装置3bでは“0”に外部接続されているものとする。この場合、システムバス制御装置3aがマスタ、システムバス制御装置3bがスレーブとして動作する。メモリ装置から読み出されたデータは、データ有効信号線22とともにシステムバスのデータ信号線13−1としてシステムバス制御装置3に入力され、システムクロック信号15によってデータラッチ回路14にラッチされ、データラッチ回路14の出力信号線16はパリティ検出等のエラー検出回路19に入力されるとともに、データラッチ回路17に供給される。前述のデータ信号線13−1は、データ部32ビットとパリティ部4ビットで構成され、データが正常な場合、エラー検出回路19は正常信号線20を“1”、CPUバス切換え信号線12を“0”、エラーが検出された場合は両信号ともその逆の論理で出力する。
【0043】
いまデータが正常であるとすれば、マスタ側のシステムバス制御装置3aにおいて正常信号線20aは“1”であり、ANDゲート24aを経由してORゲート26aの出力が“1”になる。システムクロック信号線15aのタイミングでCPUバス選択ラッチ23aは“1”にセットされ、ANDゲート29aによってデータ出力タイミングクロック信号30aが“1”の期間に限ってCPUデータバスの3ステートバッファ31aのゲート信号32aが“1”となり、データラッチ回路17aの出力信号線18aの内容がCPUバスにデータ信号線8として出力される。
【0044】
一方、データにエラーが検出された場合は、正常信号線20aが“0”になり、ゲート信号32aが“0”となる結果、システムバス制御装置3aがCPUバスにデータを出力することはない。
【0045】
つぎにスレーブ側の動作を説明する。
【0046】
データにエラーが検出されない場合、スレーブ側のシステムバス制御装置3bにおいて正常信号線20bは“1”であるが、マスタモード入力信号線21bが“0”のためANDゲート24bは“0”となり、しかもマスタ側のシステムバス制御装置3aからのCPUバス切換え信号線12aも“0”であるため、ORゲート26bの出力も“0”となる。その結果、CPUデータバスの3ステートバッファ31bのゲート信号32bが“0”になり、システムバス制御装置3bはCPUバスにデータを出力しない。ここで仮に、マスタ側のシステムバス制御装置3aでエラーが検出されると、CPUバス切換え信号線12aが“1”となってANDゲート25b及びORゲート26bの出力が“1”となり、マスタ側のシステムバス制御装置3aに代ってスレーブ側のシステムバス制御装置3bがCPUバスにデータ信号線8を出力する。このためメモリ装置のみならず、システムバスレベルでの二重化が可能となる。
【0047】
次に処理装置1に対する割込み信号線9及び10の生成について、図3を用いて説明する。
【0048】
EXORゲート35及びANDゲート36は、CPUバス切換え信号12a及び12bの組合せによって割込み信号線9及び10の状態を決定する。メモリ装置4からの読出しデータが両側とも正常な場合、割込み信号線9、10ともインアクティブになる。どちらか一方でエラーが検出されるとEXORゲート35によって低レベルの割込み信号線9がアクティブになり、両側でエラーが検出されるとANDゲート36によって高レベルの割込み信号線10がアクティブになる。
【0049】
これら二種類の割込みによる処理装置1の動作について説明する。
【0050】
低レベルの割込みは、エラーの検出にも拘らず処理装置1に正しいデータが送らた、いわゆる軽障害の発生を示す。処理装置1はそのまま通常のプログラムを実行し、プログラムの切れ目(通常はタスクスイッチのタイミング)でエラー処理を行う。一方、高レベルの割込みは、処理装置1に正しいデータが送られなかった重障害を示し、処理装置1が直ちにエラー処理を行うべき場合に使用する。
【0051】
図2中のプルアップ抵抗34の役割について説明する。この抵抗は修理交換によって一方のシステムバス制御装置、例えばマスタ側のシステムバス制御装置3aを取り外した際に意味を持つ。このときエラー検出回路19aの出力信号がドライブされなくなるので、システムバス制御装置3bに内蔵されるプルアップ抵抗34bがCPUバス切換え信号線12aを“1”にレベル固定する。これはマスタ側のシステムバス制御装置3aがデータエラーを検出した状態と同じであり、結果としてスレーブ側のシステムバス制御装置3bがデータを送出する。
【0052】
以上説明したシステムバス制御装置3のエラー検出回路6及びCPUバス切換え回路7の動作を、連続する8ワードデータの読み出し中にエラーが検出された場合を例に、図4を用いて説明する。
【0053】
図において白丸数字のデータはメモリ装置4aから読み出されたデータ、黒丸数字のデータはメモリ装置4bから読み出されたデータを示し、T01ないしT14のタイミングに従い、システムクロック信号線15によって、システムバス制御装置内部はクロック同期で動作する。図はマスタ側のシステムバス制御装置3aで3ワード目、スレーブ側のシステムバス制御装置3bでは5ワード目にエラーが検出された時の、CPUバス切換え信号線12、ゲート信号32、CPUデータバス信号8、低レベル割込み信号線9の様子を示す。図におけるタイミングには、ラッチやゲートによる信号の遅れが考慮され、例えばデータラッチ14の出力信号線16はシステムクロック15の上昇エッジより若干遅れて出力されおり、より現実的なタイミングを示すものである。
【0054】
1及び2ワード目はデータのエラーが検出されず、マスタ側のシステムバス制御装置3aのゲート信号32aが“1”となり、CPUデータバス8にはT03及びT04のタイミングでシステムバス制御装置3aのデータ、すなわちメモリ装置4aからの読出しデータが出力される。
【0055】
3ワード目でエラーが検出されると、T04のタイミングでエラーを検出し、CPUバス切換え信号線12aが“1”になり、T05のタイミングではスレーブ側のシステムバス制御装置3bのデータ、すなわちメモリ装置4bからの読出しデータが出力され、同時に低レベルの割込み信号9が出力される。
【0056】
4ワード目では両側で正常なデータが検出されるので、CPUバスの切り換えは発生せず、デフォルト的に設定されたマスタ側のデータがT06のタイミングで出力される。
【0057】
5ワード目のデータは、スレーブ側でエラーが検出されるがマスタ側は正常であり、CPUバスの切り換えは発生せず、そのままマスタ側のデータがT07のタイミングで出力される。
【0058】
図4に示す通り、マスタ側でエラーが検出されない限り、常にマスタ側に接続されているメモリ装置の読出しデータが処理装置1に出力され、エラーが検出されたときに限ってスレーブ側に接続されたメモリ装置の読出しデータが処理装置1に出力される。従って、切り換えが発生しても、処理装置には正常なデータが同一タイミングで供給されることになる。
【0059】
また図4に例示するごとく、3ステートバッファのゲート信号線32は、転送サイクルのうち一部分しか“1”の状態にされていない。全期間“1”にすると、CPUバス切り換え時に素子の遅延によって、短時間であるが両側の3ステートバッファの出力が衝突しうるためである。図5に示すように、データはドライブの終了後も配線の浮遊容量によってデータバス上に一定期間保持されるため、設計上必要なドライブ時間を決めることができる。
【0060】
なお、図2ではマスタモード切換え信号線を直接システムバス制御装置3のマスタ切り換えとして使用したが、図6に示すマスタ決定回路を付加することにより、処理装置1によってマスタモードを切り換えることができる。マスタ切換え回路の動作を図6ないし図7を使用して説明する。
【0061】
図7において、電源投入時にはタイミングT20でリセット信号線42によって、マスタフリップフロップ37がマスタモード切換え信号線21の状態に従ってセット/リセットされ、システムバス制御装置3aのマスタモード出力信号線41aは“1”に、システムバス制御装置3bのマスタモード出力信号線41bは“0”に設定される。処理装置1からのマスタ切換え信号線38によりT21で各々のマスタフリップフロップ37は同期して反転し、システムバス制御装置3aのマスタモード出力信号線41aは“0”に、システムバス制御装置3bのマスタモード出力信号線41bは“1”に設定される。このマスタモード出力信号線41を図2のマスタモード入力信号線21として使用することにより、システムバス制御装置3のモードを切り換えることが可能になる。
【0062】
実施例2.
図8は本発明の第2実施例に係る二重化メモリシステムで、第1実施例にCPUデータバスのチェック機能を追加し、さらに信頼性を高めたものである。
【0063】
図8において50はCPUバスデータ8をシステムバス制御装置内部に取り込むためのデータレシーバ回路、51はデータラッチ回路17の出力信号線18とデータレシーバ回路50の出力信号線55を比較するデータ比較回路、53はデータ比較回路51の比較結果が不一致のときに“1”を出力する出力信号線、54は3ステートバッファである。
【0064】
図9は、データ読み出しがシステムバス制御装置3aの側から行われたとして、図8の回路のある部分が故障した時に各々のデータ比較回路51の信号線、CPUバスデータ8の正常性、及び高レベルの割込み信号線10の関係を示す図である。
【0065】
図10は本発明の第2実施例の変型で、各々のデータ比較回路51の出力信号線53をそのままシステムバス制御装置の外部に出力し、AND回路56とEXOR回路57で低レベルの割込み信号9及び高レベルの割込み信号10を生成するように構成したものであり、同様に図11は図10の回路のある部分が故障した時に各々のデータ比較回路51の出力信号線と、CPUバスデータ8の正常性と、低レベルの割込み信号9と高レベルの割込み信号線10の関係を示す図である。図11においても、データ読み出しはシステムバス制御装置3aの側から行われたものとしている。
【0066】
以上のように構成されるシステムバス制御装置のCPUデータバスの比較動作について図8を用いて説明する。
【0067】
二重化メモリ装置から読み出されたデータは一旦データラッチ17にラッチされ、比較回路51と3ステートバッファで構成されるドライバ回路31に供給され、マスタ側のシステムバス制御装置3aは実施例1の動作に従ってドライバ回路31aを介してデータをCPUバスに出力する。またCPUバスのデータ信号8はレシーバ回路50を通して両側のシステムバス制御装置3内部に取り込まれ、比較回路51に入力される。比較回路51ではデータラッチ17の出力とレシーバ回路50の出力を比較し、一致なら“0”、不一致なら比較エラー信号線53を出力する。ところでマスタ側のシステムバス制御装置3aのマスタモード出力信号線41aは“1”に設定されているので、3ステートバッファ54aのイネーブル信号は、NOT回路52aにより反転され“0”が与えられるため、エラー信号線53aは外部に出力されない。一方、スレーブ側のシステムバス制御装置3bのマスタモード出力信号線41bは“0”に設定されているので、3ステートバッファ54bのイネーブル信号は、NOT回路52bにより反転され“1”が与えられるため、エラー信号線53bは3ステートバッファ54bを介して出力され、高レベルの割込み信号線10として処理装置1に通知される。
【0068】
次に、図9を用いてデータ転送経路の途中が故障した時の比較エラー信号線53、CPUデータバス8の正当性、及び割込み信号線10の関係を説明する。この例では故障箇所として、データラッチ17、比較回路51、ドライバ回路31、及びレシーバ回路50が各々故障した時を示しており、全てが正常な場合は当然のことながらCPUデータバスには正しいデターが出力されており、割込みも発生しない。データラッチ17aあるいはドライバ回路31aが故障すると間違ったデータがCPUデータバスに出力され、これがスレーブ側の比較回路でエラー検出されて高レベルの割込みが発生し、読出しデータのエラーを処理装置1に知らせる。処理装置1は制御ROM2に格納されたエラー解析処理を実行することにより、例えばマスタ切換え信号線38を出力し、システムバス制御装置3aから3bに変更して再度メモリ装置からデータを読み出し、正常であればデータラッチ17aあるいはドライバ回路31aの故障を検出できる。以降、システムバス制御装置3bがマスタ側として動作することになる。
【0069】
マスタ側のレシーバ回路50aあるいは比較回路51aが故障した時は、比較エラー信号線53aは内部的には出力されるが、割込み信号線10が出力されず、動作に影響しない。このとき、CPUデータバス8には正常なデータが出力されるため、問題はない。一方、スレーブ側のレシーバ回路50b、比較回路51bまたはデータラッチ17bのいずれかが故障したとき、マスタ側から正しいデータがCPUデータバスに出力されるにも拘らず、比較エラー信号線53bが“1”となって高レベル割込み信号線10が出力される。このときにも処理装置1がマスタ切換え信号線を出力するためシステムバス制御装置3b側にマスタが切り換わるが、このスレーブ側の故障による不要な切換えを防ぐためには、以下の方法を用いればよい。すなわち、システムバス制御装置内のエラー信号線53の状態をステータスレジスタ(図示せず)に記憶させ、処理装置1が制御ROM2に格納されたエラー処理を実行する時に、このステータスレジスタの内容を調べる。この際、マスタ側でエラーが発生していない場合はマスタ切換えを行なわないように制御すればよい。
【0070】
なお図9では、データ読み出しがシステムバス制御装置3aの側から行われたと想定とするため、比較エラー信号線53bと高レベルの割込み信号線10の論理は常に一致する。これは図8において、比較エラー信号線53bが高レベルの割込み信号線10として出力されるためである。このことは図9で#B_ ERRORとHINTRの欄の論理が一致することによって示されている。
【0071】
次に、比較エラー信号線53を両側のシステムバス制御装置3から出力し、これらの組合せで2種類の異なるレベルの割込みを発生させる例を、図10ないし図11で説明する。図10と前述の図8との相違は、比較回路51の出力を両側外部に出力し、これらをANDゲート及びEXORゲートによって処理装置1に対する割込み信号として生成する点にある。
【0072】
図11によるドライバ回路31aが故障した時には、両側の比較エラー信号線53が“1”となり高レベルの割込み信号線10が出力され、それ以外の部分の故障では低レベルの割込み信号線9が出力される。CPUデータバスに出力されるデータの正常性判断という意味では、データラッチ17aの故障の場合も高レベルの割込み信号線10が出力されるべきだが、これは実施例1のようにデータラッチ17の出力にもパリティ検査回路を付加し、スレーブ側からデータを切り換えて出力することで解決を図るものとする。これらの結果、CPUデータバスに出力されているデータが正常な限りは低レベルの割込み信号、異常な場合に限って高レベルの割込み信号を出力することができる。
【0073】
実施例3.
図12は、本発明の第3実施例に係る二重化メモリシステムである。図において60は、システムバス制御装置3に内蔵されるCPUデータバス側のドライバ/レシーバ、61はシステムバス側のドライバ/レシーバ、62はメモリ装置4に内蔵されるドライバ/レシーバ、63は処理装置1に内蔵されるパリティ生成回路、64はシステムバス制御装置3に内蔵されるCPUデータバス側のパリティ検査回路、65はシステムバス制御装置3に内蔵されるシステムバス側のパリティ検査回路、66はメモリ装置4に内蔵されるパリティ検査回路、67ないし69は各々パリティ検査回路64ないし66の結果を格納するステータスレジスタ、70はシステムバス制御装置内部バス、71はメモリ、72はメモリ装置4の内部バスである。
【0074】
図13は、図12のシステムにおけるメモリへの書込み動作時のエラー解析を、同様に図14はメモリから読出し動作時のエラー解析を示す図であり、ステータスレジスタで○印はエラー未検出を、×印はエラー検出を示す。
【0075】
以上のように構成される二重化メモリシステムの動作を、図12を用いて説明する。まず処理装置1がメモリ装置4にデータを書き込む時は、処理装置内部に、例えばパリティコード等のエラー検査コードを生成し、これをCPUデータバス8に出力する。システムバス制御装置3は処理装置1が出力したパリティ付きデータをレシーバ回路60で受け取り、このデータのパリティチェックをパリティ検査回路64で行い、結果をステータスレジスタ67に格納し、レシーバ60で受け取ったデータは内部バス70を通ってシステムバス側のドライバ回路61に供給され、システムバス13に出力される。ドライバ回路の直前にはパリティ検査回路65があり、チェック結果は同様にステータスレジスタ68に格納される。さらにメモリ装置4は、システムバス13からのデータをレシーバ回路62を介して受け取り、パリティ検査回路66によるパリティチェックをなし、結果をステータスレジスタ69に格納し、同時にメモリ71にはメモリ装置内のデータバス72の内容をそのままデータ部とチェックコード部として書き込む。書込み時のデータ経路のどこかでエラーが検出されると処理装置1に対して割込みが発生し(割込み信号線は図示せず)、処理装置1は制御ROM2に格納されているエラー解析プログラムを実行し、故障箇所を特定する。
【0076】
次に書込み時のエラー検出結果が格納されているステータスレジスタ64ないし66の内容と、故障の解析例を図13により説明する。故障の発生確率は回路規模に基づき、メモリが1万分の1、バスが10万分の1、パリティ生成/検査回路及びドライバ/レジーバが100万分の1と想定し、例えばメモリとパリティ検査回路の2重故障は1万×100万=100億分の1と仮定する。図13は、考えられる故障原因のうち故障の発生確率が最も大きい組合せを原因と推定して作成されている。故障はステータスレジスタの組合せにより8種類が考えられ、ケース1はエラーが発生していない状態である。ケース2はシステムバス制御装置の内部バス70までは正常なため、システムバス13、ドライバ回路61、メモリ装置のレシーバ回路62、またはパリティ検査回路66いずれかの故障が考えられるが、故障の発生確率を比較して、システムバス13の故障と推定される。ケース3では経路途中のパリティ検査回路65だけがエラーを検出しているため、このパリティ検査回路65のみの故障と推定する。このケースでは、パリティ検査回路64及び66が故障で、65のみが正しい事態もありうるが、ケース2同様、故障の発生確率から判断する。以下のケースも同様に考えればよい。
【0077】
続いてメモリ装置4からの読出し時の動作を図12を用いて説明する。メモリ71にはデータ部とエラーチェックコード部が格納されており、読み出されたパリティ付きのデータは、パリティ検査回路66でパリティチェックされて結果がステータスレジスタ69に格納され、続いてドライバ回路62を介してシステムバス13に出力され、システムバス制御装置3がレシーバ回路61を通してこれを受け取り、パリティ検査回路65によるパリティチェックの結果をステータスレジスタ68に格納する。さらにCPUバスのドライバ回路60直前のパリティ検査回路64によるパリティチェックの結果がステータスレジスタ67に格納される。システムバス制御装置3では、データにパリティエラーが検出されると、実施例1の動作に従いエラーを検出していない側のシステムバス制御装置が処理装置1に対してデータを送出する。
【0078】
読出し時のエラー検出結果が格納されているステータスレジスタ64ないし66の内容と、故障の解析例を図14により説明する。図14においても、考えられる故障箇所の組合せのうち、最も確率の高いものを原因としている。ケース8はメモリ71からの読み出し直後からエラーが検出されているので、メモリ71の故障または書込み時のデータ経路でのエラーが考えられるが、確率を比較して、前者の故障と判定する。ケース7ではメモリから読み出した時点では正しく、その後エラーが検出されているのでシステムバス13の故障、ケース6ではパリティ検査回路65及びメモリ71の故障と考えられる。以下のケースも同様に考えればよい。
【0079】
実施例4.
図15は、本実施例の第4の実施例に係る二重化メモリシステムである。図において80は、システムバス制御装置3の内部にあってシステムバスに送出するデータのエラーを検出するエラー検出回路、81はエラー検出回路80の結果を相手側のシステムバス制御装置に伝えるシステムバス切換え信号線、82は相手からのシステムバス切換え信号線81と内部のエラー検出回路80の結果によって動作する、システムバスを切り換えるためのシステムバス切換え回路、85はメモリ装置4の内部にあってメモリ71から読み出したデータのエラーを検出するエラー検出回路、84はエラー検出回路85の結果を相手側のメモリ装置に伝えるメモリエラー検出信号線、83は相手からのメモリエラー検出信号線84と内部のエラー検出回路85の結果によって動作する、システムバスを切り換えるためのシステムバス切換え回路である。
【0080】
図16は、図15中のシステムバス切換え回路82及びエラー検出回路80における出力データ切り換えの概念を示す図で、図において94はシステムバス制御装置内部のデータバス70の内容を記憶するデータラッチ、90はシステムバスAにデータを送出するシステムバスA用3ステートバッファ、91はシステムバスBにデータを送出するシステムバスB用3ステートバッファ、86はシステムバスA用3ステートバッファ90の出力許可信号を生成するANDゲート、87はシステムバスB用3ステートバッファ91の出力許可信号を生成するANDゲート、95は3ステートバッファ90及び91双方の出力許可信号を生成するANDゲート、92はシステムバス切換え信号線81a及び81bの組合せにより低レベルの割込みを発生させるEXORゲート、同様に93は高レベルの割込みを発生させるANDゲートである。
【0081】
また図17は、図15中のシステムバス切換え回路83及びエラー検出回路85における入力データ切り換えの概念を示す図で、図において98はシステムバスA13aからデータをメモリ装置4に取り込むレシーバ回路、99はシステムバスB13bからデータをメモリ装置4に取り込むレシーバ回路で、各々入力データ信号76及び77を出力する。83は入力データ信号のパリティチェック等を行うエラー検出回路、73はエラー検出回路の結果により正しいデータを選択してメモリの内部バス72に出力する選択回路である。NOTゲート74の出力信号である入力切換え信号78が“1”のときは入力データ線76を選択し、ANDゲート75の出力信号である入力切換え信号線79が“1”のときは入力データ線77を選択するように構成されている。
【0082】
図18は、処理装置1からメモリ装置4への書込み時にデータバスの途中が故障した時のシステムバス切換え回路82及び85によるバスの切り換えの様子を示す図で、(A)は全て正常な状態、(B)はCPUバス切換え回路7a内部のレシーバが故障した状態、(C)はシステムバスA13aが故障した状態、(D)はシステムバス切換え回路82bのドライバが故障した状態でのデータの流れを示している。図中破線で示されているデータの流れは各々の3ステートバッファが閉じた状態で、実際のデータは出力されない。
【0083】
同様に図19は、処理装置1がメモリ装置4からの読出し時にデータバスの途中が故障した時のCPUバス切換え回路7、システムバス切換え回路82及び85によるバスの切り換えの様子を示す図で、(A)は全て正常な状態、(B)はシステムバス切換え回路82a内部のレシーバが故障した状態、(C)はシステムバスA13aが故障した状態、(D)はメモリ装置4に内蔵されているメモリ71aが故障した状態でのデータの流れを示している。
【0084】
以上のように構成される二重化メモリシステムの概略動作について、図15を用いて説明する。処理装置1がメモリ装置4に書き込みを行う時、処理装置1からの書込みデータは、CPUデータバス8として二重化されたシステムバス制御装置3の各々に供給され、システムバス制御装置はシステムバス13に書込みデータを送出する直前にエラー検査回路80でデータのパリティチェックを行い、その結果をシステムバス切換え信号線81として相互に交換しており、エラーが検出されない時、マスタ側のシステムバス制御装置3aはシステムバスA13aに、スレーブ側のシステムバス制御装置3bはシステムバスB13bに、各々データを出力する。エラーが検出されると、前述のシステムバス切換え信号線81が“1”になり、システムバス切換え回路82によってエラーを検出した側のシステムバス13への出力を停止し、代わって相手側のシステムバス制御装置が両側のシステムバスに書込みデータを出力する。またメモリ装置4ではシステムバスに出力されている書込みデータを両側のシステムバス13から取り込み、エラー検出回路85でパリティチェックを行い、エラーの発生していないシステムバスのデータをメモリ71に書き込む。
【0085】
また、メモリ装置4からの読出し時には、二重化されたメモリ71から読み出されたデータについて、内部のエラー検出回路85でパリティチェックを行い、その結果をメモリエラー信号線84として出力して相互通知しており、エラーがなければメモリ装置4aはシステムバスA13aに、メモリ装置4bはシステムバスB13bにデータを送出し、エラーが発生すると、発生した側のメモリ装置はシステムバス切換え回路83によりシステムバスへのデータ出力が停止され、相手側のメモリ装置が両側のシステムバスに読出しデータを出力する。またシステムバス制御装置3は両側のシステムバスからデータを取り込み、エラー検出回路6でパリティチェックを行い、その結果をCPUバス切換え信号線として出力して相互通知しており、エラーがなければマスタ側のシステムバス制御装置3aがCPUデータバス8に読出しデータを出力し、エラーが検出されると検出した側のシステムバス制御装置はCPUバス切換え回路7によりデータ出力が停止され、相手側のシステムバス制御装置が代わって出力する。
【0086】
まず、処理装置1からメモリ装置4にデータを書き込む時の詳細動作を、図16により説明する。処理装置からの書込みデータは内部バス70を通ってデータラッチ94にラッチされるとともに、エラー検出回路80によりパリティチェックが行われる。データラッチ94の出力信号は3ステートバッファで構成される出力バッファ90と91に供給されており、3ステートバッファのゲート信号はマスタモード入力信号線21とシステムバス切換え信号線81a及び81bとデータ出力タイミングクロック信号30により制御されている。エラー検出回路80a及び80bでエラーが検出されていない時は、マスタ側のシステムバス制御装置3aでANDゲート86aの出力が“1”、ANDゲート87a及び95aの出力が“0”になっており、ORゲート96aの出力信号が“1”、ORゲート97aの出力が“0”になり、出力バッファ90a経由でシステムバスA13aにデータを出力する。一方スレーブ側のシステムバス制御装置3bではANDゲート86b及び95bの出力が“0”、ANDゲート87bの出力が“1”になっており、ORゲート97bの出力が“1”、ORゲート96bの出力が“0”になり、出力バッファ91b経由でシステムバスB13bにデータを出力する。
【0087】
ところで、システムバス制御装置3aでデータのエラーが検出され、エラー検出回路80aの出力81aが“1”になると、ANDゲート86aの出力は“0”となり出力バッファ90aの出力は停止され、一方システムバス制御装置3bは相手からのシステムバス切換え信号線81aが“1”になることで、ANDゲート95bの出力が“1”になり、出力バッファ90bの出力も許可状態になり、システムバスA13a及び13bの両側にデータを出力する。
【0088】
さらに、メモリ装置4では図17に示したように、両側のシステムバスのデータをレシーバ回路98及び99により内部に取り込み、エラー検出回路83でパリティチェックを行っており、エラーが検出されない場合はエラー検出回路83−1の出力は“0”、入力データ切換え信号線78が“1”になり、システムバスA13aのデータを内部バス72に選択出力する。一方システムバスA13aの故障が発生するとエラー検出回路83−1の出力が“1”、入力データ切換え信号線78が“0”、入力データ切換え信号線79が“1”になることにより、システムバスB13bのデータを内部バス72に選択出力する。
【0089】
ところで、エラー検出回路83−1及び83−2の両方でエラーが検出されると(例えばシステムバス13aが故障し、更にマスタ側のレシーバ回路99aが故障した場合)、入力データ切換え信号線78及び79の双方が“0”となり、選択回路73aはいずれのシステムバスも選択できない状態になる。このときメモリ71aに不正なデータ(これはエラーとして検出することができない)が書込まれため、読み出し時に不正なデータが処理装置1に送出される事態が発生しうる。これを回避するには以下の方法によればよい。つまり、いずれのシステムバスも選択できない時、メモリの内部バス72aにエラーとなるデータ(例えば偶数パリティの場合は全て“1”のデータ、奇数パリティの場合は全て“0”のデータ)を生成するように選択回路73を構成し、強制的にエラーデータをメモリに書き込む。この結果、読み出し時には実施例1の動作によりスレーブ側のシステムバス制御装置3bが正しい読み出しデータを処理装置1に送出することができる。
【0090】
再び図15で説明する。処理装置1がメモリ装置4からデータを読み出す時の動作は、メモリ装置内部にもシステムバス制御装置3における図16と同様な回路が組み込まれており、メモリから読み出されたデータにエラーがなければ、メモリ装置4aはシステムバスA13aに読出しデータを出力し、メモリ装置4bはシステムバスB13bに読出しデータを出力する。一方、メモリ装置4bに内蔵されるメモリ71bの読出しデータにエラーが検出されると、メモリ装置4bの出力バッファのデータ出力は停止され、メモリエラー検出信号線84bが相手側のメモリ装置4aに出力され、この信号によりメモリ装置4aが両側のシステムバスにデータを出力する。またシステムバス制御装置3の内部にはメモリ装置4と同様な入力データ選択回路があり、通常はシステムバスA13aからの読出しデータを内部バスに出力しているが、システムバスA13a側でエラーが検出されると、システムバスB13bの読出しデータを内部バスに出力する。
【0091】
以上のように二重化されたメモリシステムにおいて、構成要素の一部が故障した場合のデータ切り換えの様子を、書込み動作時について図18により説明する。
【0092】
(A)全て正常な状態では、処理装置1からの書込みデータは、システムバス制御装置3aからシステムバスA13a、システムバス制御装置3bからシステムバスB13bに出力され、メモリ装置4はシステムバスA13aのデータを書込みデータとして選択し、メモリ71に書き込む。
【0093】
(B)CPUバス切換え回路7a内部のレシーバが故障した状態では、システムバス制御装置3aからシステムバス切換え信号線81aが出力され、システムバス制御装置3aの出力バッファが閉じて、代わりにシステムバス制御装置4bが両側のシステムバスにデータを出力し、メモリ装置4はシステムバスA13aのデータを書込みデータとして選択し、メモリ71に書き込む。
【0094】
(C)システムバスA13aが故障した状態では、メモリ装置4はシステムバスB13bのデータを書込みデータとして選択し、メモリ71に書き込む。
【0095】
(D)システムバス切換え回路82bのドライバが故障した状態では、システムバスB13bには正しいデータが出力されていないが、メモリ装置4はシステムバスA13aのデータを書き込むので影響はない。
【0096】
読出し動作時について、図19により説明する。
【0097】
(A)全て正常な状態では、メモリ71から読み出されたデータは、メモリ装置4aからシステムバスA13aに、メモリ装置4bからシステムバスB13bに出力され、システムバス制御装置3aがCPUバスに読出しデータを送出する。
【0098】
(B)システムバス切換え回路82a内部のレシーバが故障した状態では、システムバス制御装置3aのエラー検出回路でエラーが検出され、CPUバス切換え信号線12aが出力され、この信号線によってシステムバス制御装置3bがCPUバスにデータを出力する。
【0099】
(C)システムバスA13aが故障した状態では、システムバス制御装置内でシステムバスA13aのエラーが検出され、システムバスB13bの読出しデータを入力データとして使用し、システムバス制御装置3aがCPUバスにデータを送出する。
【0100】
(D)メモリ装置4に内蔵されているメモリ71aが故障した状態では、メモリ装置4a内部のエラー検出回路によりエラーが検出され、メモリエラー検出信号線84aを出力し、この信号によりメモリ装置4bが両側のシステムバスに読出しデータを送出し、システムバス制御装置3aがCPUバスにデータを送出する。
【0101】
実施例5.
図20は、本発明の第5実施例に係る二重化メモリシステムである。図において、100はシステムバス制御装置3に内蔵されCPUバスのモードを設定するモード設定回路、101はシステムバスのモードを設定するモード設定回路、102はメモリ装置4に内蔵されてシステムバスのモードを設定するモード設定回路、104はシステムバス制御装置3に内蔵されて二重化されたシステムバスのデータを比較する比較回路、105はメモリ装置4に内蔵されて二重化されたシステムバスのデータを比較する比較回路である。
【0102】
図21はシステムバス制御装置3内部にあってCPUバスの制御を行う回路の概念を示した図であり、モード設定回路100、データラッチ17、比較回路51、ドライバ31及びレシーバ50で構成され、モード決定回路から出力されるAバス許可信号線106により、CPUバスのデータ出力を制御する。
【0103】
図22は同様に、システムバス制御装置3内部にあってシステムバスの制御を行う回路の概念を示した図であり、システムバスAはAバス許可信号線106により、システムバスBはBバス許可信号線107により、システムバスのデータ出力を制御する。
【0104】
図23は、図20におけるモード設定回路101の詳細を示す図(100、102も同様)である。図において、120はモード設定データ信号線、121はマスタモード入力線21に従ってモード設定データ信号を選択するためのセレクタ回路、122はセレクタ回路121の出力信号線、123はAバスのモードを記憶するモードラッチ、125はBバスのモードを記憶するモードラッチで、モード設定信号線103によりセレクタ回路の出力信号線122の内容を記憶し、各々のモード出力信号線124、126は後段のANDゲートとORゲートの組合せにより、最終的な出力信号である、Aバス許可信号106及びBバス許可信号107を出力する。
【0105】
図24は、図23におけるモード設定回路の動作シーケンスを示す図で、T100はリセットタイミング、T101及びT104はモード設定タイミング、T102はシステムバス制御装置3a側でエラーを検出したタイミング、T103はエラーが回復したタイミングを示している。
【0106】
また図25は、実際の運用時のメモリ装置4の動作とモードの関係を示したもので、(A)は全体の流れ、(B)は診断動作(処理142)の詳細を示しており、図24との関係は、電源投入処理140がT100に、モード変更処理143がT101に、故障発生145がT102に、モード変更処理146がT104に、各々対応する。
【0107】
以上のように構成される二重化メモリシステムの概略動作について、図20を用いて説明する。モード設定回路100ないし102には独立してモードA、B、C、Dの4種類のモードが設定できるようになっており、モード設定回路100はシステムバス制御装置3がCPUデータバス8に読出しデータを出力する制御を、モード設定回路101はシステムバス制御装置3がシステムバスに書込みデータを出力する制御を、モード設定回路102はメモリ装置4がシステムバスに読出しデータを出力する制御を行う。システムバス制御装置3によるCPUデータバスへのデータの出力制御は、モード設定回路100の状態、システムバス制御装置3の内部にあるエラー検出回路6によるエラー検出の状況、相手からのCPUバス切換え信号線12によって制御される。システムバス制御装置3によるシステムバスへのデータの出力制御は、モード設定回路101の状態、システムバス制御装置3の内部にあるエラー検出回路80によるエラー検出の状況、相手からのシステムバス切換え信号線81により制御される。またメモリ装置4によるシステムバスへのデータの出力制御は、モード設定回路102の状態、メモリ装置4の内部にあるエラー検出回路85によるエラー検出の状況、相手からのシステムバス切換え信号線84によって制御される。
【0108】
また各々のバスの出力回路には、バスの内容を比較し、その結果を外部に出力して割込み信号線を生成するための比較回路があり、CPUバス側では出力の直前のデータと、出力されたデータを再度入力して比較しており、システムバス側では2つのシステムバスの内容を比較している。
【0109】
次にシステムバス制御装置3のCPUバス側の詳細動作について、図21を参照して説明する。通常の動作ではモード設定回路100aはモードAに、モード設定回路100bはモードBに設定されており、メモリ装置から読み出されたデータはシステムバス制御装置3の内部バス70を介してデータラッチ17にラッチされるとともに、エラー検出回路6でパリティチェックが行われる。モードAのシステムバス制御装置3aでは、エラー検出回路6aでエラーが検出されていなければモード設定回路100aの出力106aが“1”になり、読出しデータはドライバ回路31aからCPUデータバス8に出力される。エラーが検出されるとモード設定回路100aの出力106aが“0”になってデータの出力を停止するとともに、CPUバス切換え信号線12aに“1”が出力される。
【0110】
モードBのシステムバス制御装置3bでは、相手からのCPUバス切換え信号線12aが“0”であればモード設定回路100bの出力106bが“0”になってCPUデータバスにはデータを出力しないが、エラー検出回路6bでエラーが検出されていない時に、相手からのCPUバス切換え信号線12aが“1”になると、モード設定回路100bの出力106bが“1”になり、読出しデータをCPUデータバス8に出力する。またシステムの電源投入時には、両側のモード設定回路100ともモードDに設定され、モード設定回路100の出力106は常に“0”となり、このシステムバス制御装置がCPUデータバスに読出しデータを出力することはない。(ここで注意すべきは、CPUバスはシステムバスのように二重化されていないため、モードA、Bのシステムバス制御装置の一方に限ってCPUデータバスに出力が許可されることである。このため、モードA、Bは後述するシステムバスの制御におけるそれらと意味が異なる。同じ理由から、CPUバスの制御ではモードCが使用されることはない。)
【0111】
モードAのシステムバス制御装置3aはさらに、自分の出力データをレシーバ回路50aを介して入力し、この入力信号線55aとデータラッチ17aの出力信号線18aを比較しており、モードBのシステムバス制御装置3bは、相手の出力データをレシーバ回路50bを介して入力し、この入力信号線55bとデータラッチ17bの出力信号線18bを比較している。比較結果が異なっていると比較エラー信号線53が“1”になり、この信号をモードBのシステムバス制御装置3bが3ステートバッファ54bを介して外部に出力し、高レベルの割込み信号線10として処理装置1に通知され、処理装置は前述の図9のようなエラー解析を行う。
【0112】
システムバス制御装置3によるシステムバスへの出力制御はメモリ装置と同等なので、次にメモリ装置4によるシステムバスへの出力制御について、図22を参照して説明する。通常の動作モードでは、モード設定回路102aはモードAに、モード設定回路102bはモードBに設定されており、メモリから読み出されたデータはメモリ装置の内部バス72を介してデータラッチ94にラッチされるとともに、エラー検出回路85でパリティチェックが行われる。モードAのメモリ装置4aでは、エラー検出回路85aでエラーが検出されなければモード設定回路102aの出力106aが“1”、107aは“0”になり、読出しデータはドライバ回路90aからシステムバスA13aに出力される。エラーが検出されるとモード設定回路102aの出力106a及び107aはともに“0”となり、データの出力を停止するとともに、システムバス切換え信号線84aが“1”に出力される。またエラーが検出されていない時に、相手からのシステムバス切換え信号線84bが“1”になると、モード設定回路102aの出力106a及び107aはともに“1”となり、読出しデータはドライバ回路90a及び91aから両方のシステムバスA13a及び13bに出力される。
【0113】
一方、モードBのメモリ装置4bでは、エラー検出回路85bでエラーが検出されない場合、モード設定回路102bの出力106bが“0”、107bが“1”になり、読出しデータがドライバ回路90bからシステムバスB13bに出力される。エラーが検出されるとモード設定回路102bの出力106b及び107bはともに“0”となり、データの出力を停止するとともに、システムバス切換え信号線84bが”1”に出力される。またエラーが検出されていない時に、相手からのシステムバス切換え信号線84aが“1”になると、モード設定回路102bの出力106b及び107bはともに“1”になり、読出しデータはドライバ回路90b及び91bから両方のシステムバスA13a及び13bに
出力される。
【0114】
さらに両側のメモリ装置4は、二重化されたシステムバスのデータをレシーバ回路108及び109を介して入力し、比較回路105で比較しており、比較結果は内部のエラー検出回路85のエラー出力信号(システムバス切換え信号線84)とORゲートで処理されて外部に出力され、ANDゲート93とEXORゲート92で条件がとられて、処理装置1に対する異なったレベルの割込み信号を生成する。処理装置1はこの割込みを受けると、前述の図11に示すようなエラー解析処理を行う。
【0115】
モード設定回路の構成と動作について、システムバス制御装置3に内蔵されるモード設定回路101の場合を例に、図23及び図24を用いて説明する。まず電源投入時にはT100のタイミングでリセット信号線42が“0”になり、モードラッチ123及び125はリセットされて出力が“0”になり、モード設定回路101a及び101bは、ともにモードD(初期モード)に設定される。モードDではANDゲート127、129及び134の出力は“0”になるためバス許可信号線106及び107はともに“0”が出力される。
【0116】
次に処理装置が図24におけるT101のタイミングで、データ信号120−1ないし120−4に、設定すべきモードに対応したデータ“1001”を置いてモード設定信号線103を出力すると、セレクタ回路121はマスタモード入力線21の状態に従って、入力データ120のうち、2本を選択する。ここでシステムバス制御装置3aのマスタモード入力線21aは“1”であるため、セレクタ回路の出力信号122−1aには入力データ120−1が、セレクタ回路の出力信号122−2aには入力データ120−3が出力され、一方システムバス制御装置3bのマスタモード入力線21bは“0”であるため、セレクタ回路の出力信号122−1bには入力データ120−2が、セレクタ回路の出力信号122−2bには入力データ120−4が出力され、モード設定回路101aはモードAに、モード設定回路101bはモードBに設定される。逆にいえば、モードAとはモード出力信号124aが“1”、モード出力信号126aが“0”となってバス許可信号線106aに“1”、107aに“0”が出力されるモードと定義できる。同様にモードBではモード出力信号124bが“0”、モード出力信号126bが“1”になり、バス許可信号線106bには“0”、107bには“1”が出力される。
【0117】
ところで図24のT102からT103のタイミング、つまりシステムバス制御装置3aがモードAでシステムバス制御装置3bがモードBにある状態で、システムバス制御装置3a側のエラー検出回路80aがエラーを検出すると、内部のエラー信号線81aが“1”になり、ANDゲート127a、129a、134aが“0”、Aバス許可信号線106a及びBバス許可信号線107aがともに“0”となる。一方システムバス制御装置3bではシステムバス切換え信号線81a(内部のエラー信号81aと論理的に同一)が“1”になるため、ANDゲート134bの出力が“1”となり、ORゲート132b及び133bの出力であるAバス許可信号線106a及びBバス許可信号線107aがともに“1”となる。
【0118】
さらに処理装置が図24におけるT104のタイミングで、データ信号120−1ないし120−4に設定すべきモードに対応したデータ“0101”を置いてモード設定信号線103を出力すると、システムバス制御装置3a内のモードラッチ123a及び125aはともに“0”となってモード設定回路101aはモードDに戻り、バス許可信号線106a及び107aは両側“0”になる。一方、システムバス制御装置3b内のモードラッチ123b及び125bはともに“1”となってモード設定回路101aはモードCに設定され、バス許可信号線106b及び107bはともに“1”となる。
【0119】
以上説明した二重化メモリシステムにおいてモード設定回路を使用すると、診断、交換、復旧等の処理を容易に行うことができる。メモリ装置4においてこの機能を使用した例を、図25(B)を用いて説明する。
【0120】
二重化されたメモリ装置は各々A系統とB系統で示されており、各々同期してモード設定を変化させながら処理をしている。まず処理140で両側のメモリ装置に電源が投入され、リセット時の処理141によって両側がモードDに設定され、いずれのメモリもデータを出力しない状態となる。
【0121】
次に処理142における書き込み、読み出し、比較チェックによるメモリの初期診断を図25で説明する。メモリを診断するためには、二重化されたメモリ装置から独立して書込みデータを読み出す必要があるので、まず処理142−1aでA系統のメモリ装置をモードCに、処理142−1bでB系統のメモリ装置をモードDに設定し、読出しデータがA系統のメモリからのみ出力される状態にし、処理142−2aでメモリ装置に対して書き込み、読み出し、比較を行う。このため、A系統のメモリ装置が診断されることになる。この時、B系統のメモリ装置にもデータは書き込まれるが、A系統の診断結果には影響しない。次に処理142−3でA系統のメモリ装置をモードDに、B系統のメモリ装置をモードCに設定して、処理142−4bでB系統のメモリ装置を試験することができる。
【0122】
処理142によるメモリ装置の初期診断が完了すると、処理143でA系統のメモリ装置をモードAに、B系統のメモリ装置をモードBに設定することにより通常動作処理144を行い、すなわちシステムバスA13aにはA系統のメモリ装置が読出しデータを送出し、システムバスB13bにはB系統のメモリ装置が読出しデータを送出し、どちらかでエラーが検出されると反対側が両方のシステムバスにデータを送出する、二重化メモリ動作となる。故障145aによってA系統のメモリ装置が故障すると、B系統のメモリ装置が正しいデータで応答しつつ、処理装置1は割込みをもとに故障解析を行い、修理交換が必要と判定されると、処理146でA系統のメモリ装置をモードDに、B系統のメモリ装置をモードCに設定することにより、A系統のメモリ装置はシステムバスから切り離された状態となる。この後もB系統のメモリ装置が両側のシステムバスに読出しデータを送出するので、A系統の修理交換処理147aを実施することができる。
【0123】
交換処理によって新しいメモリ装置をA系統に挿入すると、A系統のメモリ装置はリセット処理によりモードDになり、その後処理150により正常なB系統のメモリ装置からデータを読み出し、新しいA系統のメモリ装置へ書き込むコピー動作を行う。コピーが完了すると、処理151でA系統のメモリ装置をモードAに、B系統のメモリ装置をモードBに設定し、通常の二重化メモリ動作に復旧することができる。
【0124】
実施例6.
図26は、本発明の第6実施例に係る二重化メモリシステムである。図において170は、メモリ装置4に内蔵され、メモリの書き込み及び読み出しを制御するための許可フラグ、171はメモリのアクセスタイミングを生成する制御回路、172はメモリ装置に対するアクセスアドレスを判定するアドレス判別回路、173はメモリ71に強制的にエラーを書き込むためのエラー注入回路、177は二重化されたシステムバスの両方に接続される入出力制御装置である。
【0125】
図27はメモリ装置4の内部の構成を示す図で、許可フラグ170、アドレス判別回路172、ドライバ220、レシーバ221、パリティ生成回路239、及びメモリ71で構成される。図において許可フラグは読出し許可フラグ170−1、書込み許可フラグ170−2、パリティ生成許可フラグ170−3で構成され、これらの出力の組合せでメモリへの書き込み、読み出し、パリティの生成を制御する。
【0126】
図28は図27中のアドレス判別回路の詳細を示すもので、共通空間指定レジスタ231、個別空間指定レジスタ232、I/Oアドレス判別回路230、比較回路233及び234、ANDゲート237で構成され、出力信号として共通空間書込み信号線210、個別空間書込み信号線211、共通空間読出し信号線212、個別空間読出し信号線213を生成する。
【0127】
図29はシステムバスをアクセスする際のアドレス空間の区分を示す図で、200はメモリ空間全体を、201はI/O空間全体を示しており(A)は二重化動作時の割付を、(B)は一重化時の割付を示している。メモリ空間はさらに、共通アクセス空間202と個別アクセス空間203に分けられている。
【0128】
図30は、図26中のメモリ装置が許可フラグ170によって状態遷移をする様子を示した図であり、許可フラグの組合せにより、切離し動作状態181、正常動作状態183、修復動作状態184及び保護動作状態185に定義され、エラーの発生あるいは許可フラグ書換えによって各状態間を遷移する。切り離し動作状態181は書き込み、読み出しとも不可、正常動作状態183は書き込み、読み出しとも可、修復動作状態184は書き込みのみ可、保護動作状態185は読み出しのみ可の状態である。
【0129】
図31はエラー注入回路173と個別空間アクセスにより、メモリ71a及び71bの診断用領域に異なったデータ及びエラー状態を注入し、それを共通空間アクセスによって読み出した時のデータを示すものである。
【0130】
図32は、メモリ装置4の内部にアドレスエラー検出回路176を設け、その出力を互いのメモリで交換し、相手側でエラーが検出されれば、エラーアドレスレジスタに正しいアドレスを記憶させる構成の概念図で、図33に詳細を示す。
【0131】
以上のように構成される二重化メモリシステムの概略動作について、図26を用いて説明する。
【0132】
メモリ装置4内部の許可フラグ170は、読出し許可フラグと書込み許可フラグ及びパリティ生成許可フラグの3ビットで構成され、アドレス判別回路172は共通アクセス空間と個別アクセス空間の判別を行う。処理装置1から共通アクセス空間を使用する書込み動作を行うとき、書込み許可フラグが“1”であれば、パリティ生成許可フラグの状態に無関係にパリティ生成を行なってメモリ71に書き込みを行い、書込み許可フラグが“0”であれば書き込みを行わない。また処理装置1から個別アクセス空間を使用する書込み動作を行う時は、書込み許可フラグの状態に無関係にメモリ装置71に書き込みを行うが、パリティ生成許可フラグが“0”であればパリティ生成を行わないでメモリ装置71に書き込みを行う。
【0133】
次に処理装置1から共通アクセス空間を使用する読出しを行う時は、読出し許可フラグが“1”であれば読み出しを行ない、読出し許可フラグが“0”であれば読み出しを行なわない。また処理装置1から個別アクセス空間を使用する読み出しを行なう時は、読出し許可フラグの状態に無関係に読み出しを行なう。
【0134】
入出力制御装置177は両方のシステムバスに接続されており、システムバスの切換え回路は実施例5におけるシステムバス制御装置と同様に構成され、メモリ装置4からの読出しデータを取り込むときには、エラーの発生していない側のシステムバスのデータを使用する。
【0135】
次に許可フラグ170、アドレス判別回路172、エラー注入回路173の回路構成と動作について、図27及び図28を用いて説明する。許可フラグ170は読出し許可フラグ170−1、書込み許可フラグ170−2、パリティ生成許可フラグ170−3で構成され、アドレス判別回路172から出力される許可フラグ設定信号線225に従い、システムバスから入力したデータ信号線224−1ないし224−3の内容をラッチする。初期状態ではリセット信号42により全てのフラグは“0”に初期化される。読出しデータをシステムバスに出力するためのゲート信号222は、読出し許可フラグの出力である読出し許可信号線214と、アドレス判別回路172の出力である共通空間読出し信号212と、個別空間読出し信号213により決定される。まず、個別空間に対する読み出しでは個別空間読出し信号213が“1”になるので、ORゲート219の機能により、読出し許可信号線214の状態と無関係にドライバ回路220のゲート信号222が“1”になり、システムバスにメモリ71からの読出しデータを出力する。一方共通空間に対する読み出しにおいては、共通情報読出し信号212が“1”になっても、ANDゲート218により読出し許可信号線214が“1”でないとシステムバスに読出しデータが出力されない。
【0136】
また個別空間に対する書き込みにおいては、個別空間書込み信号211が“1”になるので、ORゲート217の機能により、書込み許可信号線215の状態と無関係にメモリ書込み信号線162が“1”になり、メモリ71にデータが書き込まれる。一方、共通空間に対する書き込みにおいては、共通空間書込み信号線210が“1”になっても、ANDゲート216の存在により、書込み許可信号線215が“1”でないとメモリ書込み信号線162は“1”にならず、メモリ71への書き込みは行われない。ところで、パリティ生成回路239にはパリティ生成許可信号線163の制御によってパリティ生成を制御する機能があり、パリティ生成許可信号線163が“1”の時はパリティデータが正常に生成され、“0”のときはエラーとなるように生成されるものとする。従って共通空間に対する書き込みでは、共通空間書込み信号線210が“1”になるので常に正しいパリティ生成が行なわれるが、個別アクセス空間時にはパリティ許可フラグ信号線338が“1”に設定されている場合に限って、正しいパリティが生成される。個別空間の書込み動作でこの機能を使用すると、メモリ71にパリティエラーになるデータを意図的に書き込む操作、すなわちエラー注入が可能となる。
【0137】
更に、前述のアドレス判別回路172は図28のように構成され、I/Oアドレス判別回路230は、メモリ装置に対してレジスタアクセス等のために設けられた固有のアドレスをデコードする。ここでシステムバスのアドレス信号線13−2、マスタモード入力線21、システムバスの書込み信号線13−4の条件をとり、共通空間指定レジスタ設定信号線235、個別空間指定レジスタ設定信号線236、及び許可フラグ設定信号線225を出力する。共通空間レジスタは、設定信号線235によってシステムバスのデータ信号線の値をラッチし、個別空間レジスタ232は、設定信号線236によってシステムバスのデータ信号線の値をラッチする。処理装置1からメモリ空間のアクセスがされると、システムバス上のアドレス信号線13−2と共通空間指定レジスタに設定されている内容を比較回路233で比較し、一致すれば共通情報アクセス信号228が“1”になり、この際書込み信号線13−4が“1”の場合はANDゲート237−3によって共通空間書込み信号線210が“1”に、読出し信号線13−3が“1”の場合はANDゲート237−4によって共通空間読出し信号線212が“1”になる。同様に、個別空間指定レジスタの設定内容を比較回路234で比較し、一致すると個別信号アクセス信号229が“1”になって個別空間書込み信号211、または個別空間読出し信号線213が“1”になる。
【0138】
以上のように動作するアドレス判別回路172の機能を使用して、メモリ装置4のアドレス空間を割り付ける例を、図29によって説明する。(図29において、200ないし207で示される実体は、各々幅をもったメモリ領域である。)図29(A)は二重化メモリとして動作する時の設定例で、まずメモリ4aに対し、前述の共通空間レジスタ231aに共通アクセスメモリA/B空間のアドレス202−1を設定し、個別空間レジスタ232aに個別アクセスメモリA空間のアドレス203−1を設定する。次にメモリ装置4bに対しては共通空間レジスタ231bに共通アクセスメモリA/B空間のアドレス202−1を設定し、個別空間レジスタ232bに個別アクセスメモリB空間のアドレス203−2を設定する。この設定により共通空間202−1に対するアクセスにおいては、メモリ装置4aとメモリ装置4bの両方が対象になり、個別アクセス空間203−1に対するアクセスにおいてはメモリ装置4aのみ、個別空間203−2に対するアクセスにおいてはメモリ装置4bのみが対象となって、二重化メモリとしての動作が可能になる。
【0139】
また、図29(B)に示すように、メモリ装置4aに対しては共通空間レジスタ231aを共通空間アクセスメモリA空間のアドレス202−3に、メモリ装置4bに対しては共通空間レジスタ231bを共通空間アクセスメモリB空間のアドレス202−4に設定すると、共通アドレス空間202−3に対するアクセスではメモリ装置4aが、共通アドレス空間202−4に対するアクセスではメモリ装置4bが有効になり、全体としては二重化メモリ動作に比べて2倍のメモリ容量を提供できる。
【0140】
次に前述した許可フラグ170と、共通及び個別空間のアクセス機能を使用して、電源の投入から通常動作、さらに故障メモリの修復及び修理交換の様子を、読出し許可フラグと書込み許可フラグの組合せで定義される状態遷移とともに、図30で説明する。まず状態定義として、正常動作状態183は読出し許可フラグ及び書込み許可フラグが“1”、修復動作状態184は読出し許可フラグが“0”で書込み許可フラグが“1”、保護動作状態185は読出し許可フラグが“1”で書込み許可フラグが“0”、切り離し動作状態181は読出し許可フラグ及び書込み許可フラグが“0”の状態とし、さらにシステムの電源が未投入、またはメモリ装置がシステムから取外されている状態180を補足的に定義する。
【0141】
まずシステムの電源が投入されると、状態180から遷移186により、切離し状態181に移行する。この状態でそれぞれのメモリ装置に対して個別空間アクセスを使用してメモリ71に対する書き込み、読み出し、比較チェック等のメモリ診断188を行ない、正常であれば電源投入時診断完了の移行189により正常動作状態183に移行する。状態183ではメモリ装置は二重化動作を行ない、エラー未発生時、及び単一のデータパリティエラーが発生した場合にも状態183にとどまる。データパリティーエラーが重複して発生すると、故障診断のために移行191によってメモリ装置を切離し状態181に移行させるが、エラーの発生していない側のメモリ装置は正常動作状態183にとどまる。
【0142】
正常なメモリ装置が状態183、故障したメモリ装置が切離し状態181にある場合、故障したメモリ装置に対しては診断処理188によって修復可否を調べるが、一方処理装置1による診断動作中、入出力制御装置177によるメモリ装置へのアクセスは共通空間に対して実施されるので、正常なメモリ装置が応答して正常動作が保証される。診断の結果修復不可能と判断されれば、保守員により新しいメモリ装置との交換が行なわれ、新しいメモリ装置は挿入によってまず切り離し動作状態181に移行し、診断にかけられる。ところで一旦切離し状態181に移行すると、正常なメモリ装置との内容の相違が発生するので、このままでは正常動作状態183に移行することができない。そこで診断終了時の移行196によって修復動作状態184に移行する。修復動作状態184では正常なメモリ装置から共通空間でデータを読み出し、共通空間アクセスによる書き込みで正常なメモリ装置と修復対象のメモリ装置の両方にデータを書き込む。全領域のコピー処理194が完了すると、修復完了の移行193により、再度両方のメモリ装置が正常動作状態183になって二重化メモリ動作に復旧する。この間、入出力制御装置177によるメモリ装置へのアクセスは共通空間に対して実施されるので、書込み動作は両方のメモリ装置に対して行われ、読出し動作は状態183にある正常なメモリ装置が応答して正常動作が保証される。
【0143】
また正常動作状態183でアドレスパリティエラーが発生すると、エラーの発生したメモリ装置のデータ中、当該アドレスのメモリ内容が信頼できないため、直ちに読出し許可フラグを“0”にして読み出しを禁止し、修復動作状態184に移行させる。アドレスパリティエラーが発生した後の修復動作状態184でもエラーの発生したメモリ装置に対する書き込みは続行されるので、処理装置1による修復処理開始までの間、正しいメモリ装置との内容の相違はアドレスエラーの発生した箇所のみとなる。そこで必要な修復処理を施した後、正常動作状態183に戻すことができる。
【0144】
保護動作状態185の使用方法について説明する。保護動作状態へは処理装置1からのモード切り換え処理197により移行する。例えばシステムバス13に接続されている入出力制御装置177の故障を診断する場合、この装置がメモリ装置に正しい書き込みを実行するとは限らず、メモリ装置に対する書き込みを伴う診断を不用意に実行させれば、メモリ71の内容を破壊しうる。そこで二重化されたメモリ装置のうち一方を保護動作状態185にしてメモリの内容の破壊を防止した後診断を実行し、診断完了後保護動作状態185のメモリ装置から正常動作状態183のメモリ装置に内容をコピーすることとする。その結果、たとえ入出力制御装置が不正な書込み動作を行っても、正常なメモリに修復可能である。仮に入出力制御装置が正常に動作すれば、書込みデータは書込み許可フラグが“1”のままの通常動作状態183のメモリ装置に書き込まれるので、この内容を確認することで入出力制御装置の動作が診断できる。
【0145】
次に、図26におけるエラー注入回路を使用したエラーの注入状態と、この機能を利用した診断方法について、図27ないし図31を用いて説明する。図31における領域71−1は通常領域でプログラムやデータが格納され、領域71−2ないし71−5が診断領域として使用される。まずメモリ装置4aのパリティ許可フラグを“1”に設定し、メモリ装置4aの個別空間アクセスにより領域71−2aにデータ“8888”を、領域71−4aにデータ“AAAA”を書き込むことにより、正常なデータが生成される。次にメモリ装置4aのパリティ許可フラグを“0”に設定し、メモリ装置4aの個別空間アクセスにより領域71−3aにデータ“9999”を、領域71−5aにデータ“BBBB”を書き込むことにより、パリティエラーを含んだデータが生成される。同様にしてメモリ装置4bに対しては、領域71−2b及び71−3bにデータ“CCCC”及び“DDDD”の正常データを、領域71−4b及び71−5bにはデータ“EEEE”及び“FFFF”のパリティエラーを含んだデータを書き込む。
【0146】
以上のように、診断領域に正常データとパリティエラーを含むデータを書き込んだ状態で、タイマ等の機能により処理装置1が一定時間ごとに診断領域の読み出しを行なうことで、メモリにエラーが発生した場合は正常な側のメモリの内容を出力し、また両方のメモリでエラーが検出されたら高レベル割り込みが発生する機能(実施例4における動作)を診断できる。すなわち機能が正常ならば、領域71−2の読み出しではメモリ71aが応答しデータ“8888”が、領域71−3の読み出しではメモリ71aがエラーなのでメモリ71bの正常データ“DDDD”が、領域71−5の読み出しでは両方のメモリがエラーなので高レベルの割り込みが発生する。またメモリ装置4a内のエラー検出手段85aが正常の動作していない場合、領域71−3の読み出しでエラーデータの“9999”が読み出され、故障箇所の判別が可能となる。
【0147】
次に、アドレスエラーの検出について、図32を用いて概略説明をする。処理装置1からメモリ装置4がアクセスされる際、メモリのアドレス信号のパリティチェックをアドレスエラー検出回路176で行ない、この結果を相手側のメモリ装置にアドレスエラー検出信号線175として出力するとともに、エラーが検出された側は内部の読出し許可フラグを“0”にして読み出しを禁止する。一方相手のアドレスエラー信号線175の変化を検出したメモリ装置は、そのアドレスをエラーアドレスレジスタ174に記憶させ、割り込みによってアドレスエラーの発生を知った処理装置1が制御用ROM2に格納されている故障解析復旧プログラムを実行し、エラーの発生したメモリアドレスを、正常な側のメモリ装置内のエラーアドレスレジスタ174から読み出す。このアドレスの示すメモリの内容を読み出して再度書き込むことにより、エラーの発生したメモリの内容が正常なデータに復旧する。
【0148】
上記の動作のうち、アドレスエラー検出とエラーアドレスレジスタの詳細について、図33を用いて説明する。アドレスエラー検出回路176aはシステムバス上のアドレス信号線13−2aのパリティチェックを行なっており、エラーを検出するとアドレスエラー信号線175aを“1”に出力する。この信号は内部では読出し許可フラグ170−1aを“0”にリセットするとともに、ANDゲート216により書込み信号線162を“0”にして、誤ったアドレスへの書き込みを禁止する。一方、相手側のメモリ装置4bでアドレスエラーが検出された場合には、相手からのアドレスエラー信号線175bが“1”になり、この時のアドレス信号線13−2aの内容がエラーアドレスレジスタ174aに記憶される。また読出し時にアドレスエラーが発生した場合は、図15におけるメモリ誤り検出信号線84に相当する信号を出力すれば、エラーの発生していないメモリ装置が読出しデータを出力してくれるので、正常な読出しデータを保証できる。しかもアドレスエラーの発生したメモリ装置は、エラーの発生した部分のみが書き変わっていないに過ぎず、容易に修復できる。アドレスエラーが発生したときの割り込み信号は、EXORゲート92とANDゲート93によってアドレスエラー検出信号線175aと175bの条件で生成される。いずれか一方のメモリ装置でアドレスエラーが発生した場合はEXORゲート92の出力が“1”になり、低レベルの割り込み信号9が出力され、両方のメモリ装置でアドレスエラーが発生した場合はANDゲート93の出力が“1”になり、高レベルの割り込み信号10が出力される。低レベルの割り込みは、エラーの発生したアクセスアドレスが正常なメモリ装置内のアドレスエラーレジスタに記憶されていて修復処理可能であることを示し、高レベルの割り込みはエラーのあったアクセスアドレスが特定できないために修復処理が不可能なことを示す。
【0149】
実施例7.
図34は、本発明の第7実施例に係る二重化メモリシステムのメモリ装置内部のデータエラーの検出を示す図である。図において、240はアドレスを入力するためのレシーバ、241は予め発生するエラー回数の上限値を設定するためのエラー上限値レジスタ、244はエラー上限値レジスタ241に値を書込むためのエラー上限値レジスタ設定信号線、245はエラー検出回路、247はエラー検出回路245の出力であるエラー検出信号246によってインクリメントされ、外部からのエラー訂正信号線256によってデクリメントされるエラー累積カウンタ、249はエラー上限値レジスタ241とエラー累積カウンタ247の出力を比較し、比較結果に従い2種類の割り込み信号線を出力するための比較回路、252はエラーが発生したアドレスを格納するための複数のエラーアドレスレジスタ、257はエラーアドレスレジスタの書込み信号258を生成する書込み制御回路、254はメモリまたはエラーアドレスレジスタ252に格納されたデータを選択して出力するセレクタ、259はセレクタ254の出力信号255を選択するための信号で“0”のときはメモリの読み出しデータ233を“1”のときはエラーアドレスレジスタ252−1を“2”のときはエラーアドレスレジスタ252−2の内容を選択出力するための制御を行なうセレクタ切換え信号である。なおエラー上限値レジスタ設定信号線244、エラー訂正信号線256、セレクタ切換え信号259は例えば前述の実施例6における図33のアドレス判別回路172により処理装置がアクセスするアドレスをデコートして生成される。
【0150】
以上のように構成されるエラー検出の動作について、図34を用いて説明する。まず電源投入時には、エラー累積カウンタ247は“0”に初期化され、続いて処理装置からメモリ装置に内蔵されるエラー上限値レジスタ241に、エラー上限値レジスタ設定信号線244によってエラーアドレスレジスタの個数と同じ値(実施例では“2”)を設定する。この後通常のメモリアクセス動作を行うと、セレクタ切換え信号259には“0”が出力されており、メモリ71からの読み出しデータ223はエラー検出回路245によりパリティチェックが行われ、エラーが発生していなければセレクタ254及びドライバ回路220を経由してシステムバス13−1に出力される。エラーが検出されるとエラー検出信号線246が“1”になり、エラー累積カウンタ247の内容がインクリメントされる。比較回路249では前述のエラー上限値レジスタ241に設定されている内容と、エラー累積カウンタ247の内容が比較され、エラー累積カウンタの値がエラー上限値レジスタ241の数値を越えていなければ低レベルの割込み信号線9を“1”に、越えれば高レベルの割込み信号線10を“1”にする。
【0151】
ところで、書込み制御回路257はエラー検出信号線246が“1”になったときに、エラー累積カウンタの出力信号248の内容により、アドレス信号251の内容をどのエラーアドレスレジスタに書込むかを切換える動作を行なう。つまり初期状態ではエラー累積カウンタ247の内容は“0”であるので書込み信号線258−1が出力されることにより、エラーアドレスレジスタ252−1にエラーアドレスが書込まれ、2回目のエラー発生時にはエラー累積カウンタ247の内容は“1”になっているので書込み信号線258−2が出力されることにより、エラーアドレスレジスタ252−2にエラーアドレスが書込まれる。このようにしてエラーが発生したアドレスはエラーアドレスレジスタ252に順次記憶されており、処理装置は低レベルの割り込みを受けると障害回復処理によりエラーアドレスレジスタ252−1のアクセスを行なうと、セレクタ切換え信号259は“1”になりエラーアドレスレジスタ252−1の内容がセレクタ254、データドライバ220を経由してシステムバスに出力される。処理装置はこのようにしてエラーの発生したアドレスを知ることができ、このアドレスで示されるメモリのデータを読み出して同じアドレスに書込むことによりパリティエラーの発生したメモリの内容を修復する。この後処理装置はエラー訂正信号線256によりエラー累積カウンタ247の内容をデクリメントする。ところで処理装置が低レベルの割込みを受け付けるまでの間でもメモリ装置のアクセスは実行されており、別のアドレスでパリティエラーが発生すると、エラーアドレスレジスタの個数以下のエラーなら、発生したアドレスを記憶することができる。エラーアドレスレジスタの個数を越えてエラーが発生した場合は、前述の比較回路249の高レベルの割り込み信号線が“1”になって修復不可能な重障害の発生が処理装置に通知され、実施例5に記載したモード設定回路等の機能を利用して、該当するメモリ装置を切り離す。
【0152】
実施例8.
図35は、本発明の第8実施例に係る二重化メモリシステムであり、二重化バス変換アダプタ261を介して一重のバスしか持たない通常の入出力制御装置260を接続した様子を示す図である。図36及び図37に二重化バス変換アダプタ261の詳細構成を示す。
【0153】
図36において、263はアドレス信号のドライバ/レシーバ回路、264はデータ信号のドライバ/レシーバ回路、269は通常の入出力制御装置260がシステムバスに対してアクセスする時のアドレスパリティを生成するパリティ生成回路、同様に271はデータのパリティを生成するパリティ発生回路、270はシステムバスから通常の入出力制御装置をアクセスする時に、二重化されたアドレスバスのパリティを検査し、正しい方のアドレスを選択するためのパリティ検査選択回路、同様に272はデータを選択するためのパリティ検査選択回路である。
【0154】
また図37において、276は通常の入出力制御装置260がアクセスして良いアドレス領域を設定するためのアドレス領域レジスタ、278は通常の入出力制御装置260がシステムバスに出力しようとしているアドレスと、アドレス領域レジスタ276の内容を比較し、その結果によりシステムバスのドライバのゲートを制御する比較回路である。
【0155】
上記のように構成される二重化メモリシステムの入出力制御装置に関する動作概要を、図35を用いて説明する。入出力制御装置177は二重化メモリシステム対応に設計されたものであり、両側のシステムバスに対するアクセスが可能になっている。一方、通常の入出力制御装置260は二重化メモリシステムを意識していない既存のもので、それ自身は1つのシステムバスへの接続のみが可能なため、これを二重化バス変換アダプタ261によって二重化するとともに、エラーチェックコードの生成、アドレスのチェック等を行い、信頼性を向上させている。
【0156】
次に、二重化バス変換アダプタ261の詳細動作を、図36を用いて説明する。通常の入出力制御装置260は、共にパリティコードを持たないアドレス信号線262−2とデータ信号線262−1によって二重化バス変換アダプタ261と接続されており、入出力制御装置がシステムバス経由でメモリ装置1にアクセスする場合は、アドレス信号線262−2にパリティ生成回路269でパリティコードが付加されてアドレス信号線265となり、ドライバ回路263−1を介して両側のシステムバスにアドレス信号線13−2aと13−2bとして出力される。またデータ信号線262−1にはパリティ生成回路271でパリティコードが付加され、データ信号線267となり、ドライバ回路364−1を介して両側のシステムバスにアドレス信号線13−1aと13−1bとして出力される。
【0157】
一方、二重化されたシステムバスから入出力制御装置がアクセスされる場合は、システムバスのアドレス信号線13−2a及び13−2bはレシーバ回路263−2で入力され、パリティ検査選択回路270によるパリティチェックの結果、エラーの発生していない側のアドレス信号266が選択され、通常の入出力制御装置260に対するアドレス信号線262−2として出力される。同様にシステムバスのデータ信号線13−1a及び13−1bはレシーバ回路264−2で入力され、パリティ検査選択回路272によるパリティチエックの結果、エラーの発生していない側のデータ信号268が選択され、通常入出力制御装置260に対するデータ信号線262−2として出力される。
【0158】
パリティ検査選択回路270で両側のアドレス信号線でエラーが検出され、正しいアドレスが選択できないときは、アドレスエラー信号線274が、またパリティ検査選択回路272によって両側のデータ信号線でエラーが検出され、正しいデータが選択できないときにはデータエラー信号線275が、各々出力され、ORゲート273により低レベルの割込み信号が出力される。この時、通常の入出力制御装置260に対する書込み、読出し信号線(図示せず)は出力されなので、入出力制御装置は動作を開始せず、処理装置1のソフトウェアによるリトライ処理を行う。
【0159】
次に、図37を用いて、入出力制御装置260のアクセスに制限を設ける動作を説明する。アドレス領域レジスタ276は入出力制御装置260がアクセス可能なメモリアドレスの範囲を指定するためのもので、処理装置1は入出力制御装置260に対する入出力動作の起動に先立ち、アドレス領域レジスタ設定信号282により、データ信号線262−1の内容をアドレス領域レジスタ276に設定する。入出力制御装置260が起動されてメモリへの転送が発生すると、入出力制御装置260はアドレス信号線262−2にアクセスするメモリアドレスを出力する。この時比較回路278は前述のアドレス領域レジスタ276に設定された範囲内にあるかどうかを判定し、範囲内であればドライバ出力許可信号線279を“1”にしてシステムバスへのアクセスを許可し、範囲外であればドライバ出力許可信号線279を“0”にしてシステムバスへのアクセスを禁止する。またORゲート281により範囲外のアドレスがアクセスされた時には、低レベルの割込み信号線9を“1”にして処理装置に知らせる。
【0160】
なお上記実施例では、メモリ装置のデータチェックコードとしてパリティデータによって説明したが、これはパリティデータでなくECCコードであっても同様に実現できる。
【0161】
【発明の効果】
以上詳細に説明したように、本発明によれば、メモリ装置A及びBが独立して書込み許可フラグ、読出し許可フラグを持ち、かつアドレス判別回路が現アドレスに対するアクセスの対象を判別する結果、各メモリ装置はアクセスが自装置に及ぶ場合を適切に判定することができ、診断等の処理が容易になる。
【0162】
また本発明によれば、状態定義手段が前記書込み許可フラグ、読出し許可フラグの組合せに従って各メモリ装置の状態を定義し、状態遷移手段が処理装置による設定に従って各メモリ装置を各状態間で遷移させるため、各メモリ装置の初期設定、エラー発生時の切換え等を適切に行うことができる。
【0163】
また本発明によれば、メモリ装置A及びBの共通アクセス空間指定レジスタがメモリ装置Aとメモリ装置Bがともにアクセス対象となる共通アクセス空間を指定し、個別空間アクセス指定レジスタがメモリ装置Aまたはメモリ装置Bのいずれか一方がアクセス対象となる個別アクセス空間を指定する結果、的確なメモリの状態管理が可能となる。さらに入出力制御装置故障時の診断時に保護動作状態を使用すれば、入出力制御装置の誤動作によるメモリ破壊を防止できる。
【0164】
また本発明によれば、設定手段、第二の設定手段、第三の設定手段によって各メモリ装置の共通アクセス空間指定レジスタおよび個別空間指定レジスタの値を適宜設定するため、二重化動作だけでなく、二重化動作を必要としない場合(高信頼性がさほど要求されない場合)にあっては、各メモリ装置を別々に使用することによって使用可能なメモリ容量の倍増を可能とする。
【0165】
また本発明によれば、エラー注入手段が各メモリ装置の任意領域に擬似的なエラーを注入するため、装置の切換えを強制的に発生させることができ、またエラーの注入された領域を適宜アクセスすることによってエラー検出回路、バス切換え回路及び割込み生成回路の動作を確認することができるため、信頼性が向上する。
【0166】
また本発明によれば、注入値設定手段が前記エラー注入手段によってエラーの注入される領域のアドレス及び注入されるデータの値を両メモリ装置で異なる値に設定するため、エラーが強制的に発生させられたメモリ装置の識別が可能となり、装置の診断が容易になる。
【0167】
また本発明によれば、前記のメモリ装置の一方ががシステムバスのアドレスエラーを検出したとき、他方のメモリ装置が自装置でエラーのないアドレスを記憶するため、後の修復処理において、修復すべきアドレスを特定することができる。さらに、アドレスエラーが検出されたメモリ装置において、自メモリへの書込みが禁止されるため、誤って指定されたアドレスのデータが破壊される事態を回避することができる。
【0168】
また本発明によれば、システムアドレスエラー割込み生成手段がシステムアドレスエラー検出手段における検出結果に従って割込み信号を生成するため、エラー修復手段がこの割込み信号に従って前記エラーアドレス記憶手段に格納されたアドレスをもとにエラー修復を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係る二重化メモリシステムの全体構成を示すブロック図である。
【図2】図1中のエラー検出回路6及びCPUバス切換え回路7の構成を示す図である。
【図3】図1中、エラー発生状況とCPUバス切換え信号線12、割込み信号線9、10の相関を示す図である。
【図4】図2の回路の動作を示すタイミング図である。
【図5】図2の回路中、データ信号18とゲート信号32のタイミングを示す図である。
【図6】図1中のマスタ決定回路5の詳細を示す図である。
【図7】図6のマスタ決定回路5の動作を示すタイミング図である。
【図8】本発明の第2実施例に係る二重化メモリシステムのシステムバス制御回路を示す図である。
【図9】図8中の回路の一部分が故障した時の動作を示す図である。
【図10】本発明の第2実施例に係るシステムバス制御回路の変型例である。
【図11】図10中の回路の一部分が故障した時の動作を示す図である。
【図12】本発明の第3実施例に係る二重化メモリシステムのエラー検出回路とステータスレジスタの配置を示す図である。
【図13】図12における二重化メモリシステムのメモリ書込み時の故障箇所判定の方法を示す図である。
【図14】図12における二重化メモリシステムのメモリ読出し時の故障箇所判定の方法を示す図である。
【図15】本発明の第4実施例に係る二重化メモリシステムの全体構成を示すブロック図である。
【図16】図15中のシステムバス制御装置3に内蔵されるシステムバス切換え回路82のシステムバス13への出力切り換え部分を示す図である。
【図17】図15中のメモリ装置4に内蔵されるシステムバス切換え回路83のシステムバス13からの入力切換え部分を示す図である。
【図18】図15中の二重化メモリシステムにおける処理装置がメモリ装置へ書込みを行う際のデータバスの切り換えを示した図である。
【図19】図15中の二重化メモリシステムにおける処理装置がメモリ装置からの読出しを行う際のデータバスの切り換えを示した図である。
【図20】本発明の第5実施例に係る二重化メモリシステムの全体構成を示すブロック図である。
【図21】図20中のシステムバス制御装置3のCPUバス周辺の構成図である。
【図22】図20中のシステムバス制御装置3のシステムバス周辺の構成図である。
【図23】図20中のシステムバス制御装置3に内蔵されるモード設定回路100の詳細図である。
【図24】図23の回路の動作を示すタイミング図である。
【図25】図20中のメモリ装置におけるモードの遷移を示す図である。
【図26】本発明の第6実施例に係る二重化メモリシステムの全体構成を示すブロック図である。
【図27】図26中のメモリ装置4の内部構成を示す図である。
【図28】図26中のアドレス判別回路172の詳細を示す図である。
【図29】メモリ装置4のアドレス空間の割付を示す図である。
【図30】許可フラグの組合せによるメモリ装置4の状態遷移を示す図である。
【図31】図26中のエラー注入回路173によるメモリ内部のエラー注入状態を示す図である。
【図32】本発明の第6実施例にアドレスエラー検出機能を付加した二重化メモリシステムの全体構成を示すブロック図である。
【図33】図32中のメモリ装置4の内部構成を示す図である。
【図34】本発明の第7実施例に係るデータエラー検出の方式を示す図である。
【図35】本発明の第8実施例に係る二重化バス変換アダプタ261を含んだ二重化メモリシステムの全体構成を示すブロック図である。
【図36】図35中の二重化バス変換アダプタ261の内部構造を示す図である。
【図37】図36においてアドレス領域レジスタ276を付加した二重化バス変換アダプタ261を示す図である。
【符号の説明】
1 処理装置(CPU)、2 制御ROM、3 システムバス制御装置、4 メモリ装置、5 マスタ決定回路、6 エラー検出回路、7 CPUバス切替え回路、8 CPUデータバス、9 低レベルの割込み、10 高レベルの割込み、11 CPUアドレスバス、12 CPUバス切替え信号線、13 システムバス、19 エラー検出回路、20 正常信号線、21 マスタモード入力信号線、30 データ出力タイミングクロック信号、31 3ステートバッファ、34 プルアップ抵抗、35 EXORゲート、36 ANDゲート、38 マスタ切替え信号線、41 マスタモードの出力信号線、42 リセット信号線、51 データ比較回路、53 比較エラー信号線、60〜62 ドライバ/レシーバ、63 パリティ生成回路、64〜66 パリティ検査回路、67〜69 ステータスレジスタ、70 システムバス制御装置内部バス、71 メモリ、72メモリ装置内部バス、73 選択回路、78 入力データ切替え信号線、80,85 エラー検出回路、81 システムバス切替え信号線、82,83 システムバス切替え回路、84 メモリエラー検出信号線、100〜102 モード設定回路、103 モード設定信号線、104,105 比較回路、106 Aバス許可信号線、107 Bバス許可信号線、113 比較エラー信号線、120 モード設定データ信号線、121 セレクタ回路、123,125 モードラッチ、140 電源投入処理、141,146,148 モードD状態、142 診断処理、143,151 モードA状態、144,152 通常動作、145 故障発生、147 修理交換処理、149 診断処理、150 メモリコピー処理、153,161 モードB状態、156 モードC状態、157 通常動作、162 メモリ書き込み信号、163 パリティ生成許可信号線、170 パリティ許可フラグ、172 アドレス判別回路、173 エラー注入回路、174 エラーアドレスレジスタ、175 エラーアドレス信号線、176 アドレスエラー検出回路、177 入出力制御装置、180 電源遮断状態、181 切離し動作状態、183 正常動作状態、184 修復動作状態、185保護動作状態、186 カード挿入/電源投入操作、187 カード取外し/電源遮断操作、188 メモリ診断動作、189 電源投入時診断完了、190エラー無し/単一データエラー動作、191 重複データエラー発生、192アドレスエラー発生、193 修復完了、194 メモリコピー動作、195修復不可能エラー発生、196 診断終了、197 保護モード切替え、200 メモリ空間、201 I/O空間、202 共通アクセス空間、203 個別アクセス空間、206 I/O空間A、207 I/O空間B、208 メモリ空間A、209 メモリ空間B、210 共通空間書き込み、211 個別空間書き込み、212 共通空間読み出し、213 個別空間読み出し、214 読み出し許可信号線、215 書き込み許可信号線、222 ドライバゲート信号線、223 メモリ読み出しデータ信号線、225 フラグ書き込み信号線、226 メモリ書き込みデータ信号線、228 共通空間アクセス信号、229個別空間アクセス信号、230 I/Oアドレス判定回路、231 共通空間指定レジスタ、232 個別空間指定レジスタ、233,234 比較回路、235 共通空間指定レジスタ設定信号線、236 個別空間指定レジスタ信号線、239 パリティ生成回路、240 アドレスレシーバ、241 エラー上限値レジスタ、244 エラー上限値レジスタ設定信号線、245 エラー検出回路、246 エラー検出信号線、247 エラー累積カウンタ、248 累積カウンタ出力信号線、249 比較回路、251 入力アドレス信号線、253 エラーアドレス出力信号線、254 セレクタ回路、256 エラー訂正信号線、260 入出力制御装置、261 二重化バス変換アダプタ、262 変換バス信号線、263 アドレスドライバ/レシーバ回路、264 データドライバ/レシーバ回路、265 アドレス信号線、266 アドレス入力信号線、267 データ信号線、268 データ入力信号線、269 アドレスパリティ生成回路、270 アドレスパリティ生成/選択回路、271 データパリティ生成回路、272 データパリティ生成回路/選択回路、274 アドレスエラー信号線、275 データエラー信号線、276 アドレス領域レジスタ、277 アドレス領域信号線、278 比較回路、279 ドライバ出力許可信号線、282 アドレス領域レジスタ設定信号線。
[0001]
[Industrial applications]
The present invention relates to a memory device in a highly reliable computer, and more particularly to a configuration method, a diagnosis method, and a failure monitoring method of a redundant memory system.
[0002]
[Prior art]
In the field of a fault-tolerant computer, one of the most common techniques for improving the reliability of a computer is a method of multiplexing a logic circuit that is critical in reliability, such as a processing unit (CPU) or a storage device. Usually, multiplexing of storage devices is basically based on duplication, and one of the duplicated storage devices is configured as a service side and the other is configured as a standby side. In this case, when writing, the same data is written to both sides to maintain consistency, and when reading, only the data on the regular side is output.If an error occurs in the data read from the regular side, the data transfer subject is changed to the standby side. Then, by outputting the correct data, the operation of the system can be continued.
[0003]
However, most of the conventional techniques are limited to only a memory device, and a high reliability method by duplicating a control unit and a connected system bus has not been established. Therefore, the means for separating and diagnosing the failed storage device, the repair and replacement during system operation (hot wire replacement), and the measures to be taken when the system bus connecting the storage device fails are all insufficient.
[0004]
Japanese Patent Application Laid-Open Nos. Sho 59-17796, 01-70847, Japanese Patent Publication No. 60-3225, Japanese Patent Application Laid-Open No. 63-273950, and Japanese Patent Application Laid-open No. 60-238957 In the methods described in JP-A-57-109195 and JP-A-4-233305, the bus to which the storage device is connected is not duplicated, and in most systems, the control unit is duplicated. Had not been done. Furthermore, when an error occurs in the storage device, correct data is guaranteed by switching or restoration at the time of reading, but care is not taken at the time of writing, and performance is reduced due to retry operation and the processing unit side circuit becomes complicated. I was invited. Furthermore, when diagnosing a faulty memory, consideration should be given to not affecting the normal memory, means for repairing and replacing a faulty control unit or memory device during system operation, and reliability when an input / output control device accesses a storage device. Consideration was not sufficient, and there was room for improvement in the overall system reliability.
[0005]
[Problems to be solved by the invention]
As described above, the conventional technique has several problems, and a solution to this problem is to duplicate all components. This cannot be achieved simply by preparing two sets of components, and the following points must be considered in order to always ensure correct continuous operation as a system.
[0006]
Problem 1: To guarantee normal data at high speed in switching of a duplicated system bus and without changing the timing of the system bus even when an error occurs.
[0007]
Problem 2: It is possible to operate normally even if one of arbitrary devices in the duplexed device is not mounted, and to eliminate the need for a special signal line for knowing whether or not the other side is mounted.
[0008]
Problem 3: To specify and diagnose a failure point when an error occurs without affecting a normal part.
[0009]
Problem 4: To easily provide a means capable of continuing a duplex operation even when a data parity error occurs during writing.
[0010]
Problem 5: To sufficiently perform an error check when the system bus is duplicated.
[0011]
Problem 6: When an unrecoverable error occurs in one of the duplicated memory devices, repair and replacement can be performed without stopping the system, and the duplicated operation can be resumed.
[0012]
Problem 7: To be able to easily increase the memory capacity when not used as a dual memory device.
[0013]
Problem 8: When diagnosing a failed input / output control device, writing data to the memory does not cause memory destruction that makes recovery impossible.
[0014]
Problem 9: To be able to connect to a duplicated memory system without reducing reliability without designing a special input / output control device for connecting to a duplicated system bus.
[0015]
Purpose
The present invention has been made to solve the above problems, and has as its object to provide a highly reliable dual memory system.
[0016]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a processing device that performs various processes, a pair of system bus controllers connected to the processing device via a CPU bus, and a pair of system bus controllers connected to the pair of system bus controllers, respectively. A pair of system buses, and a pair of memory devices A and B respectively connected to both of the pair of system buses. During a write operation in the processing device, the system bus control device is connected to the pair of memory devices. At the same time, in a redundant memory system in which data is written from the processing device and one of the system bus controllers sends data read from the corresponding memory device to the processing device during a read operation in the processing device, a pair of memory devices A and B respectively has a write enable flag for permitting writing to the memory and a read permission from the memory. A read permission flag for permitting a tooth, and has an address discrimination circuit for discriminating an object of an access for the current address.
[0017]
Further, according to the present invention, a state defining means for defining a state of each memory device according to a combination of the write permission flag and a read permission flag, and each state defined by the state defining means according to a setting by a processing device State transition means for transitioning between the states.
[0018]
Further, according to the present invention, the memory devices A and B may each include a common access space specifying register for specifying a common access space to be accessed by both the memory device A and the memory device B; One has an individual space access designation register for designating an individual access space to be accessed.
[0019]
The present invention also provides a setting means for setting the value of the common access space designation register of the memory device A and the memory device B to the same address, the value of the individual space designation register of the memory device A and the value of the individual space designation register of the memory device B. It has a second setting means for setting a value to a different address, and a third setting means for resetting the address set by these setting means at an arbitrary timing.
[0020]
Further, the present invention has an error injection means for injecting a pseudo error into an arbitrary area of each memory device, and an error state inspection means for inspecting an error state by accessing the error injected area. .
[0021]
Further, the present invention has an injection value setting means for setting an address of an area where an error is injected by the error injection means and a value of data to be injected to different values in both memory devices.
[0022]
Also, the present invention provides a system address error detecting means for each of the memory devices to detect an address error of a system bus, an error address signal line for notifying a detection result of the system address error detecting means to the other memory device, Error address storage means for storing an error-free address in the own device when an error occurs in the other memory device according to the state of the error address signal line notified from the device, and when an address error is detected in the own device Write-inhibiting means for inhibiting writing into the memory of the own device.
[0023]
Further, the present invention provides a system address error interrupt generating means for generating an interrupt signal in accordance with a detection result of the system address error detecting means, and an address stored in the error address storage means when a system address error interrupt occurs. Error recovery means for performing error recovery.
[0024]
[Action]
According to the present invention having the above configuration, the write permission flags of the memory devices A and B permit writing to the memory, the read permission flag permits reading from the memory, and the address determination circuit determines an access target for the current address. As a result, data is written or read in accordance with a combination of the result of the determination by the determination circuit and the two flags.
[0025]
According to the invention, the state defining means defines the state of each memory device according to a combination of the write permission flag and the read permission flag, and the state transition means defines each memory device according to the setting by the processing device. Transition between the states defined in.
[0026]
According to the present invention, the common access space designation register of the memory devices A and B designates a common access space to be accessed by both the memory device A and the memory device B, and the individual space access designation register designates the memory device A or B. One of the memory devices B specifies an individual access space to be accessed.
[0027]
According to the invention, the setting means sets the value of the common access space designation register of the memory device A and the memory device B to the same address, and the second setting means sets the individual memory device A set by the setting means. The value of the space designation register and the value of the individual space designation register of the memory device B are set to different addresses, and the third setting means resets the addresses set by the two setting means at an arbitrary timing.
[0028]
Further, according to the present invention, the error injection means injects a pseudo error into an arbitrary area of each memory device, and the error state inspection means accesses the error-injected area to check the error state. Operation of each function can be confirmed.
[0029]
Further, according to the present invention, the injection value setting means sets the address of the area where the error is injected by the error injection means and the value of the data to be injected to different values in both memory devices.
[0030]
Further, according to the present invention, the system address error detecting means of each of the memory devices detects an address error of the system bus, the error address signal line notifies the other memory device of the detection result, and the other memory device detects the error. The error address storage means stores an error-free address in its own device according to the state of the error address signal line, and when an address error is detected in each device by the prohibiting means of each system bus control device, the memory of its own device is used. Writing to is prohibited.
[0031]
Further, according to the present invention, the system address error interrupt generating means generates an interrupt signal according to the detection result of the system address error detecting means, and the error repairing means also generates the address stored in the error address storage means according to the interrupt signal. And perform error repair.
[0032]
【Example】
Embodiment 1 FIG.
FIG. 1 shows a duplicated memory system according to a first embodiment of the present invention. In FIG. 1, 1 is a processing device (CPU), 2 is a control ROM in which a program for the processing device 1 to perform special processing such as diagnosis is stored, and 3 is a device for controlling the exchange of the processing device 1 with a system bus. A system bus control device, 4 is a memory device, and 5 is built in the system bus control device 3 for determining a system bus control device to which data read from the memory device during normal operation should be sent to the processing device 1. A master determination circuit 6 is built in the system bus control device 3 and an error detection circuit for detecting an error in data read from the memory device 4. The CPU bus switching circuit determines whether to output data. The processing device 1 and the system bus control device 3 are connected by a CPU bus composed of a data signal 8, a low-level interrupt signal 9, a high-level interrupt signal 10, and an address signal 11, and the system bus control device 3 and the memory device 4 are duplicated. And 3a, 3b, 4a and 4b respectively. The duplicated system bus controllers are connected by CPU bus switching signal lines 12a and 12b, the memory device 4a is connected to the system bus controller 3a via the system bus A13a, and the memory device 4b is connected to the system bus B13b via the system bus B13b. It is connected to the control device 3b.
[0033]
Although the duplicated portion is classified into the A system and the B system as described above, in the following description, when discriminating both sides, the component numbers are indicated by adding a suffix a or b to each other. Represented without letters.
[0034]
FIG. 2 shows a detailed configuration of the error detection circuit 6 and the CPU bus switching circuit 7 built in the system bus control device 3 in FIG. In the figure, reference numeral 13-1 denotes a data signal read from the memory device and sent out onto the system bus, and is composed of a data part of 32 bits and a parity part of 4 bits. 14 is a data latch circuit that outputs a data signal 16 obtained by latching the data signal 13-1 with a clock signal 15, 17 is a data latch circuit that outputs a data signal 18 obtained by latching the data signal 16 with a clock signal 15, and 19 is a data signal. 16 is an error detection circuit for performing a parity check, 12 is an error signal line which is output from the error detection circuit 19 and becomes "1" when an error is detected and is used as a CPU bus switching signal line, and 20 is an output of the error detection circuit 19 , A normal signal line which becomes “1” when no error is detected, 21 is a master mode input signal line for selecting a system bus control device to send read data to the CPU bus when no error is detected, and 22 is valid data from the memory device. Is a data valid signal line indicating that the data is transmitted, 23 is a master mode input signal line 21, and a data valid signal line. Line 22, latches the condition the signal output by the AND gates 24, 25 and OR gate 26 the error status signal line 12 and the normal signal line 20, a CPU bus selection latch. 29 is an AND gate for generating a gate signal 32 in accordance with the condition of the output signal 33 of the CPU bus selection latch 23 and the data output timing clock signal 30, and 31 is a signal for transmitting the data signal 18 to the CPU bus when the gate signal 32 is "1". A 3-state buffer which outputs the data signal 8 and keeps the data signal 8 in a high impedance state when the gate signal 32 is "0". A pull-up 34 pulls up the CPU bus switching signal 12 from the other system bus controller. Resistance. An EXOR gate 35 generates an interrupt signal 9 at a low level when one of the CPU bus switching signal lines 12a and 12b is "1". A reference numeral 36 indicates that both the CPU bus switching signal lines 12a and 12b are "1". Is an AND gate that generates a high-level interrupt signal 10 at the time of. The EXOR gate 35 and the AND gate 36 generate two types of interrupt signals for the processing device. FIG. 3 shows the relationship between the occurrence state of the error and the CPU bus switching signal line 12 and the interrupt signal lines 9 and 10.
[0035]
FIG. 4 is a timing chart showing the operation of the error detection circuit and the CPU bus switching circuit shown in FIG. 2, in which respective input / output signals are shown correspondingly. In the figure, T01 to T14 indicate clock cycles based on the clock signal 15.
[0036]
FIG. 5 shows how the data signal 18 is driven as the data signal 8 by the timing of the gate signal 32.
[0037]
FIG. 6 shows details of the master determination circuit 5 inside the system bus control device 3 of FIG. In the figure, reference numeral 37 denotes a flip-flop that stores a mode, and outputs an output signal line 41. 38 is a master change signal line for changing the master, 39 and 40 are negative logic AND gates, and 42 is a negative logic reset signal line for initializing the flip-flop 37 when the power is turned on. When the master determination circuit is incorporated in FIG. 2, the output signal 41 is connected instead of the master mode input line 21.
[0038]
FIG. 7 is a timing chart showing the operation of the master determination circuit of FIG.
[0039]
A schematic operation of the dual memory system configured as described above will be described with reference to FIG. In the initial processing after power-on, the processing device 1 executes a program stored in the control ROM 2 and diagnoses the memory device 4 connected to the system bus 13, and then executes processing such as a disk control device (not shown). A program such as an OS is read into the memory device 4 via the input / output control device, and thereafter, while the system operates normally, the program stored in the memory device 4 is executed. When an error is detected in the system, an interrupt signal 9 or 10 is output to the processing device 1, and the processing device 1 executes a predetermined error processing program in the control ROM 2, and after the error processing is completed, the program stored in the memory device 4. Resume execution.
[0040]
When the processing device 1 accesses the memory device 4 along with the execution of the program, if the writing operation is performed, the writing is simultaneously performed to the memory devices 4a and 4b on both sides via the duplicated system bus control devices 3a and 3b. At the time of the read operation, both the system bus controllers 3a and 3b instruct the memory device to perform a read operation, the data is simultaneously read from the memory devices 4a and 4b, and the system bus controllers 3a and 3b are read via the system buses A13a and 13b. To send out the read data. A master determination circuit 5 is built in the system bus control device 3. If the error detection circuit 6 indicates that there is no error in the data sent from the memory device, the side set as the master is the CPU bus data. 8 and the read data is transmitted. When an error is detected, the system bus controller on the detecting side outputs a CPU bus switching signal line 12 to the other side, and the CPU bus switching circuit 7 causes the system bus controller on the normal side to output the CPU bus switching signal. The read data is transmitted to data 8.
[0041]
Next, detailed operations of the error detection circuit 6 and the CPU bus switching circuit 7 will be described with reference to FIG.
[0042]
In FIG. 2, the system bus controller has a master mode input signal line 21. The master mode input signal line 21a is externally connected to "1" in the system bus controller 3a, and is externally connected to "0" in the system bus controller 3b. It is assumed that In this case, the system bus controller 3a operates as a master, and the system bus controller 3b operates as a slave. The data read from the memory device is input to the system bus control device 3 as a data signal line 13-1 of the system bus together with the data valid signal line 22, and is latched by the data latch circuit 14 by the system clock signal 15, and The output signal line 16 of the circuit 14 is input to an error detection circuit 19 such as parity detection and is supplied to a data latch circuit 17. The data signal line 13-1 is composed of a data part of 32 bits and a parity part of 4 bits. If the data is normal, the error detection circuit 19 sets the normal signal line 20 to "1" and sets the CPU bus switching signal line 12 to "1". If "0", an error is detected, both signals are output with the opposite logic.
[0043]
Assuming that the data is normal, the normal signal line 20a is "1" in the system bus controller 3a on the master side, and the output of the OR gate 26a becomes "1" via the AND gate 24a. The CPU bus selection latch 23a is set to "1" at the timing of the system clock signal line 15a, and the AND gate 29a controls the gate of the three-state buffer 31a of the CPU data bus only during the period when the data output timing clock signal 30a is "1". The signal 32a becomes "1", and the content of the output signal line 18a of the data latch circuit 17a is output to the CPU bus as the data signal line 8.
[0044]
On the other hand, if an error is detected in the data, the normal signal line 20a becomes "0" and the gate signal 32a becomes "0", so that the system bus controller 3a does not output data to the CPU bus. .
[0045]
Next, the operation on the slave side will be described.
[0046]
When no error is detected in the data, the normal signal line 20b is "1" in the slave-side system bus controller 3b, but the master mode input signal line 21b is "0", so that the AND gate 24b is "0". Moreover, since the CPU bus switching signal line 12a from the master system bus control device 3a is also "0", the output of the OR gate 26b is also "0". As a result, the gate signal 32b of the three-state buffer 31b of the CPU data bus becomes "0", and the system bus controller 3b does not output data to the CPU bus. Here, if an error is detected by the master system bus control device 3a, the CPU bus switching signal line 12a becomes "1" and the outputs of the AND gate 25b and the OR gate 26b become "1". The system bus controller 3b on the slave side outputs the data signal line 8 to the CPU bus instead of the system bus controller 3a. For this reason, duplication not only at the memory device but also at the system bus level becomes possible.
[0047]
Next, generation of the interrupt signal lines 9 and 10 for the processing device 1 will be described with reference to FIG.
[0048]
The EXOR gate 35 and the AND gate 36 determine the state of the interrupt signal lines 9 and 10 according to the combination of the CPU bus switching signals 12a and 12b. When the read data from the memory device 4 is normal on both sides, both the interrupt signal lines 9 and 10 become inactive. When an error is detected in one of them, the EXOR gate 35 activates the low-level interrupt signal line 9, and when an error is detected on both sides, the AND gate 36 activates the high-level interrupt signal line 10.
[0049]
The operation of the processing device 1 by these two types of interrupts will be described.
[0050]
The low-level interrupt indicates the occurrence of a so-called minor failure in which correct data has been sent to the processing device 1 despite the detection of an error. The processing device 1 executes a normal program as it is, and performs an error process at a program break (usually at the timing of a task switch). On the other hand, a high-level interrupt indicates a serious failure in which correct data was not sent to the processing device 1, and is used when the processing device 1 should immediately perform error processing.
[0051]
The role of the pull-up resistor 34 in FIG. 2 will be described. This resistor has a meaning when one system bus controller, for example, the system bus controller 3a on the master side is removed by repair and replacement. At this time, since the output signal of the error detection circuit 19a is not driven, the pull-up resistor 34b built in the system bus controller 3b fixes the level of the CPU bus switching signal line 12a to "1". This is the same as the state in which the master system bus controller 3a detects a data error. As a result, the slave system bus controller 3b sends out data.
[0052]
The operation of the error detection circuit 6 and the CPU bus switching circuit 7 of the system bus control device 3 described above will be described with reference to FIG. 4, taking an example in which an error is detected during reading of eight consecutive word data.
[0053]
In the figure, data with white circles indicate data read from the memory device 4a, and data with black circles indicate data read from the memory device 4b, and the system clock signal line 15 connects the system bus signal line 15 in accordance with the timings T01 to T14. The inside of the control device operates in clock synchronization. The figure shows a CPU bus switching signal line 12, a gate signal 32, and a CPU data bus when an error is detected in the third word in the master system bus controller 3a and in the fifth word in the slave system bus controller 3b. The signal 8 and the low-level interrupt signal line 9 are shown. The timing in the figure takes into account the signal delay due to latches and gates. For example, the output signal line 16 of the data latch 14 is output slightly behind the rising edge of the system clock 15 and indicates a more realistic timing. is there.
[0054]
No data error is detected in the first and second words, the gate signal 32a of the system bus controller 3a on the master side becomes "1", and the CPU data bus 8 receives the signals of the system bus controller 3a at the timings T03 and T04. Data, that is, read data from the memory device 4a is output.
[0055]
When an error is detected in the third word, the error is detected at the timing of T04, and the CPU bus switching signal line 12a becomes "1". At the timing of T05, the data of the slave system bus controller 3b, The read data from the device 4b is output, and at the same time, a low-level interrupt signal 9 is output.
[0056]
In the fourth word, since normal data is detected on both sides, switching of the CPU bus does not occur, and data on the master side set as default is output at the timing of T06.
[0057]
For the data of the fifth word, an error is detected on the slave side, but the master side is normal, and the switching of the CPU bus does not occur, and the data on the master side is output at the timing of T07.
[0058]
As shown in FIG. 4, unless an error is detected on the master side, the read data of the memory device connected to the master side is always output to the processing device 1 and connected to the slave side only when an error is detected. The read data of the memory device is output to the processing device 1. Therefore, even when the switching occurs, normal data is supplied to the processing device at the same timing.
[0059]
As illustrated in FIG. 4, only a part of the transfer cycle of the gate signal line 32 of the three-state buffer is set to “1”. This is because if the period is set to "1", the outputs of the three-state buffers on both sides may collide with each other for a short time due to the delay of the element when the CPU bus is switched. As shown in FIG. 5, the data is held on the data bus for a certain period of time by the stray capacitance of the wiring even after the drive is completed, so that the drive time required for design can be determined.
[0060]
In FIG. 2, the master mode switching signal line is used directly for switching the master of the system bus control device 3. However, the master mode can be switched by the processing device 1 by adding a master determination circuit shown in FIG. The operation of the master switching circuit will be described with reference to FIGS.
[0061]
In FIG. 7, when the power is turned on, the master flip-flop 37 is set / reset according to the state of the master mode switching signal line 21 by the reset signal line 42 at timing T20, and the master mode output signal line 41a of the system bus control device 3a is set to "1". And the master mode output signal line 41b of the system bus control device 3b is set to "0". The master flip-flops 37 are synchronously inverted at T21 by the master switching signal line 38 from the processing device 1, the master mode output signal line 41a of the system bus control device 3a is set to "0", and the system bus control device 3b of the system bus control device 3b. Master mode output signal line 41b is set to "1". By using the master mode output signal line 41 as the master mode input signal line 21 in FIG. 2, the mode of the system bus control device 3 can be switched.
[0062]
Embodiment 2. FIG.
FIG. 8 shows a duplicated memory system according to a second embodiment of the present invention, in which a check function of a CPU data bus is added to the first embodiment to further improve reliability.
[0063]
In FIG. 8, reference numeral 50 denotes a data receiver circuit for taking in the CPU bus data 8 into the system bus control device; 51, a data comparison circuit for comparing the output signal line 18 of the data latch circuit 17 with the output signal line 55 of the data receiver circuit 50; Reference numeral 53 denotes an output signal line for outputting "1" when the comparison result of the data comparison circuit 51 does not match. Reference numeral 54 denotes a three-state buffer.
[0064]
FIG. 9 shows that the data read is performed from the side of the system bus control device 3a, the signal line of each data comparison circuit 51 and the normality of the CPU bus data 8 when a part of the circuit of FIG. FIG. 3 is a diagram showing a relationship between high-level interrupt signal lines 10.
[0065]
FIG. 10 is a modification of the second embodiment of the present invention, in which the output signal line 53 of each data comparison circuit 51 is output as it is to the outside of the system bus control device, and the AND circuit 56 and the EXOR circuit 57 output a low-level interrupt signal. 9 and a high level interrupt signal 10. Similarly, FIG. 11 shows the output signal line of each data comparison circuit 51 and the CPU bus data when a part of the circuit of FIG. 8 is a diagram illustrating a normality of the interrupt signal 8 and a relationship between a low-level interrupt signal 9 and a high-level interrupt signal line 10. FIG. Also in FIG. 11, it is assumed that data reading is performed from the system bus control device 3a side.
[0066]
The comparison operation of the CPU data bus of the system bus control device configured as described above will be described with reference to FIG.
[0067]
The data read from the duplicated memory device is temporarily latched by the data latch 17 and supplied to the driver circuit 31 composed of the comparison circuit 51 and the three-state buffer. The master system bus controller 3a operates according to the first embodiment. Outputs the data to the CPU bus via the driver circuit 31a according to the following. The CPU bus data signal 8 is taken into the system bus controllers 3 on both sides through the receiver circuit 50, and is input to the comparison circuit 51. The comparison circuit 51 compares the output of the data latch 17 with the output of the receiver circuit 50, and outputs "0" if they match, and outputs a comparison error signal line 53 if they do not match. By the way, since the master mode output signal line 41a of the system bus controller 3a on the master side is set to "1", the enable signal of the three-state buffer 54a is inverted by the NOT circuit 52a and given "0". The error signal line 53a is not output to the outside. On the other hand, since the master mode output signal line 41b of the system bus controller 3b on the slave side is set to "0", the enable signal of the three-state buffer 54b is inverted by the NOT circuit 52b and given "1". , The error signal line 53b is output via the three-state buffer 54b, and is notified to the processing device 1 as the high-level interrupt signal line 10.
[0068]
Next, the relationship between the comparison error signal line 53, the validity of the CPU data bus 8, and the interrupt signal line 10 when a failure occurs in the middle of the data transfer path will be described with reference to FIG. In this example, the failure location indicates when the data latch 17, the comparison circuit 51, the driver circuit 31, and the receiver circuit 50 have failed, and when all are normal, the correct data is naturally stored in the CPU data bus. Is output, and no interrupt occurs. If the data latch 17a or the driver circuit 31a fails, erroneous data is output to the CPU data bus. This is detected as an error by the slave-side comparison circuit, and a high-level interrupt is generated. The read data error is notified to the processing device 1. . By executing the error analysis processing stored in the control ROM 2, the processing device 1 outputs, for example, the master switching signal line 38, changes from the system bus control device 3a to 3b, reads data from the memory device again, and returns to normal. If there is, a failure of the data latch 17a or the driver circuit 31a can be detected. Thereafter, the system bus control device 3b operates as the master.
[0069]
When the master-side receiver circuit 50a or the comparison circuit 51a fails, the comparison error signal line 53a is output internally, but the interrupt signal line 10 is not output and does not affect the operation. At this time, since normal data is output to the CPU data bus 8, there is no problem. On the other hand, when any one of the receiver circuit 50b, the comparison circuit 51b, and the data latch 17b on the slave side fails, the comparison error signal line 53b is set to “1” despite correct data being output from the master side to the CPU data bus. "And the high-level interrupt signal line 10 is output. Also at this time, since the processing device 1 outputs the master switching signal line, the master is switched to the system bus control device 3b side. To prevent unnecessary switching due to the failure of the slave side, the following method may be used. . That is, the status of the error signal line 53 in the system bus control device is stored in a status register (not shown), and when the processing device 1 executes an error process stored in the control ROM 2, the contents of the status register are checked. . At this time, if no error has occurred on the master side, control may be performed so as not to perform master switching.
[0070]
In FIG. 9, since the data read is assumed to be performed from the side of the system bus control device 3a, the logic of the comparison error signal line 53b and the logic of the high-level interrupt signal line 10 always match. This is because the comparison error signal line 53b is output as the high-level interrupt signal line 10 in FIG. This is shown in FIG. 9 by the fact that the logics in the #B_ERROR and HINTR columns match.
[0071]
Next, an example in which the comparison error signal line 53 is output from the system bus control devices 3 on both sides and two different levels of interrupts are generated by combining these will be described with reference to FIGS. The difference between FIG. 10 and FIG. 8 described above is that the output of the comparison circuit 51 is output to both outsides, and these are generated as an interrupt signal to the processing device 1 by an AND gate and an EXOR gate.
[0072]
When the driver circuit 31a shown in FIG. 11 fails, the comparison error signal lines 53 on both sides become "1" and the high-level interrupt signal line 10 is output. For the other portions, the low-level interrupt signal line 9 is output. Is done. In order to determine the normality of the data output to the CPU data bus, the high-level interrupt signal line 10 should be output even when the data latch 17a fails, but this is the same as in the first embodiment. A solution is to be achieved by adding a parity check circuit to the output and switching the data from the slave side for output. As a result, a low-level interrupt signal can be output as long as the data output to the CPU data bus is normal, and a high-level interrupt signal can be output only when the data is abnormal.
[0073]
Embodiment 3 FIG.
FIG. 12 shows a duplicated memory system according to the third embodiment of the present invention. In the figure, 60 is a driver / receiver on the CPU data bus side built in the system bus control device 3, 61 is a driver / receiver on the system bus side, 62 is a driver / receiver built in the memory device 4, and 63 is a processing device 1 is a parity generation circuit built in 1, 64 is a parity check circuit on the CPU data bus side built in the system bus control device 3, 65 is a parity check circuit on the system bus side built in the system bus control device 3, 66 is A parity check circuit built in the memory device 4, 67 to 69 are status registers for storing the results of the parity check circuits 64 to 66, 70 is an internal bus of the system bus control device, 71 is a memory, and 72 is an inside of the memory device 4. It is a bus.
[0074]
FIG. 13 is a diagram showing an error analysis at the time of a write operation to the memory in the system of FIG. 12, and FIG. 14 is a diagram showing an error analysis at the time of a read operation from the memory. The crosses indicate error detection.
[0075]
The operation of the dual memory system configured as described above will be described with reference to FIG. First, when the processing device 1 writes data to the memory device 4, an error check code such as a parity code is generated inside the processing device and is output to the CPU data bus 8. The system bus control device 3 receives the data with parity output from the processing device 1 by the receiver circuit 60, performs a parity check on the data with the parity check circuit 64, stores the result in the status register 67, and stores the data received by the receiver 60. Is supplied to the driver circuit 61 on the system bus side through the internal bus 70 and is output to the system bus 13. Immediately before the driver circuit, there is a parity check circuit 65, and the check result is similarly stored in the status register 68. Further, the memory device 4 receives the data from the system bus 13 via the receiver circuit 62, performs a parity check by the parity check circuit 66, stores the result in the status register 69, and simultaneously stores the data in the memory device in the memory 71. The contents of the bus 72 are written as they are as a data part and a check code part. If an error is detected somewhere in the data path at the time of writing, an interrupt occurs to the processing device 1 (interrupt signal lines are not shown), and the processing device 1 executes the error analysis program stored in the control ROM 2. Execute to identify the fault location.
[0076]
Next, the contents of the status registers 64 to 66 in which the error detection result at the time of writing is stored and an example of failure analysis will be described with reference to FIG. The probability of occurrence of a failure is based on the circuit scale, assuming that the memory is 1/10000, the bus is 1 / 100,000, the parity generation / inspection circuit and the driver / regiver are 1 / 100,000. It is assumed that a severe fault is 10,000 × 1,000,000 = 1/10 billion. FIG. 13 is created by estimating the combination having the highest failure occurrence probability among the possible failure causes as the cause. Eight types of failures are considered depending on the combination of status registers. Case 1 is a state in which no error has occurred. Case 2 is normal up to the internal bus 70 of the system bus control device. Therefore, a failure of the system bus 13, the driver circuit 61, the receiver circuit 62 of the memory device, or the parity check circuit 66 is considered. Are compared, it is estimated that the system bus 13 has failed. In Case 3, since only the parity check circuit 65 in the middle of the path detects an error, it is estimated that only the parity check circuit 65 has failed. In this case, there is a possibility that the parity check circuits 64 and 66 are faulty and only 65 is correct. The following case may be considered in the same manner.
[0077]
Next, the operation at the time of reading from the memory device 4 will be described with reference to FIG. The memory 71 stores a data portion and an error check code portion. The read data with parity is subjected to a parity check by a parity check circuit 66 and the result is stored in a status register 69. The system bus controller 3 receives the data through the receiver circuit 61 and stores the result of the parity check by the parity check circuit 65 in the status register 68. Further, the result of the parity check by the parity check circuit 64 immediately before the driver circuit 60 of the CPU bus is stored in the status register 67. In the system bus controller 3, when a parity error is detected in the data, the system bus controller that has not detected the error sends the data to the processing device 1 in accordance with the operation of the first embodiment.
[0078]
The contents of the status registers 64 to 66 in which the error detection result at the time of reading is stored and an example of failure analysis will be described with reference to FIG. In FIG. 14 as well, the most probable combination of possible failure locations is the cause. In case 8, since an error is detected immediately after reading from the memory 71, a failure in the memory 71 or an error in the data path at the time of writing is considered. However, the probability is compared to determine the former failure. In case 7, the error is detected at the time of reading from the memory, and after that, an error is detected. Therefore, in case 6, the failure is considered to be a failure of the parity check circuit 65 and the memory 71. The following case may be considered in the same manner.
[0079]
Embodiment 4. FIG.
FIG. 15 shows a duplicated memory system according to the fourth embodiment of the present embodiment. In the figure, reference numeral 80 denotes an error detection circuit inside the system bus control device 3 for detecting an error in data transmitted to the system bus, and 81 a system bus for transmitting the result of the error detection circuit 80 to the other system bus control device. A switching signal line 82 is a system bus switching circuit for switching a system bus, which operates according to the result of the system bus switching signal line 81 from the other party and an internal error detection circuit 80, and 85 is a memory inside the memory device 4 An error detection circuit for detecting an error in the data read from 71, a memory error detection signal line 84 for transmitting the result of the error detection circuit 85 to the memory device of the other party, and a memory error detection signal line 84 for the other party and the internal A system for switching a system bus, which operates according to the result of the error detection circuit 85 It is a scan switching circuit.
[0080]
FIG. 16 is a diagram showing the concept of output data switching in the system bus switching circuit 82 and the error detection circuit 80 in FIG. 15. In FIG. 16, reference numeral 94 denotes a data latch for storing the contents of the data bus 70 inside the system bus control device. 90 is a three-state buffer for system bus A that sends data to system bus A, 91 is a three-state buffer for system bus B that sends data to system bus B, and 86 is an output enable signal of three-state buffer 90 for system bus A. , 87 is an AND gate that generates an output enable signal for the 3-state buffer 91 for the system bus B, 95 is an AND gate that generates an output enable signal for both the 3-state buffers 90 and 91, and 92 is a system bus switch. A low level interrupt is generated by a combination of the signal lines 81a and 81b. Raised to EXOR gate, likewise 93 denotes an AND gate for generating a high level interrupt.
[0081]
FIG. 17 is a diagram showing the concept of input data switching in the system bus switching circuit 83 and the error detection circuit 85 in FIG. 15. In FIG. 17, reference numeral 98 denotes a receiver circuit for taking data from the system bus A13a into the memory device 4, and 99 denotes a receiver circuit. A receiver circuit for taking data from the system bus B13b into the memory device 4, and outputs input data signals 76 and 77, respectively. Reference numeral 83 denotes an error detection circuit that performs a parity check or the like of an input data signal. Reference numeral 73 denotes a selection circuit that selects correct data based on the result of the error detection circuit and outputs the selected data to the internal bus 72 of the memory. When the input switching signal 78 which is the output signal of the NOT gate 74 is "1", the input data line 76 is selected, and when the input switching signal line 79 which is the output signal of the AND gate 75 is "1", the input data line is selected. 77 is selected.
[0082]
FIGS. 18A and 18B are diagrams showing the state of bus switching by the system bus switching circuits 82 and 85 when a failure occurs in the middle of the data bus at the time of writing from the processing device 1 to the memory device 4. FIG. , (B) shows a state in which the receiver in the CPU bus switching circuit 7a has failed, (C) a state in which the system bus A13a has failed, and (D) a data flow in a state in which the driver of the system bus switching circuit 82b has failed. Is shown. In the data flow indicated by the broken line in the drawing, actual data is not output while each three-state buffer is closed.
[0083]
Similarly, FIG. 19 is a diagram showing a state of bus switching by the CPU bus switching circuit 7 and the system bus switching circuits 82 and 85 when the processing device 1 fails in the middle of the data bus when reading from the memory device 4, (A) is a normal state, (B) is a state in which the receiver in the system bus switching circuit 82a has failed, (C) is a state in which the system bus A13a has failed, and (D) is built in the memory device 4. It shows a data flow when the memory 71a has failed.
[0084]
The schematic operation of the dual memory system configured as described above will be described with reference to FIG. When the processing device 1 writes data to the memory device 4, write data from the processing device 1 is supplied to each of the duplexed system bus controllers 3 as the CPU data bus 8, and the system bus controller is connected to the system bus 13. Immediately before sending out the write data, the data parity check is performed by the error check circuit 80, and the result is mutually exchanged as a system bus switching signal line 81. When no error is detected, the master system bus control device 3a Output data to the system bus A13a, and the slave system bus controller 3b outputs data to the system bus B13b. When an error is detected, the above-mentioned system bus switching signal line 81 becomes "1", and the output to the system bus 13 on the side where the error is detected is stopped by the system bus switching circuit 82. The bus controller outputs write data to both system buses. In the memory device 4, the write data output to the system bus is fetched from the system buses 13 on both sides, a parity check is performed by the error detection circuit 85, and the data on the system bus in which no error has occurred is written to the memory 71.
[0085]
When reading data from the memory device 4, the internal error detection circuit 85 performs a parity check on the data read from the duplicated memory 71, and outputs the result as a memory error signal line 84 for mutual notification. If there is no error, the memory device 4a sends data to the system bus A13a and the memory device 4b sends data to the system bus B13b. If an error occurs, the memory device on the side where the error occurred is sent to the system bus by the system bus switching circuit 83. Is stopped, and the other memory device outputs read data to the system buses on both sides. Further, the system bus controller 3 takes in data from the system buses on both sides, performs a parity check in the error detection circuit 6, and outputs the result as a CPU bus switching signal line to notify each other. The system bus control device 3a outputs read data to the CPU data bus 8, and when an error is detected, the system bus control device on the detecting side stops the data output by the CPU bus switching circuit 7, and outputs the data to the system bus on the partner side. The control unit outputs on its behalf.
[0086]
First, a detailed operation when data is written from the processing device 1 to the memory device 4 will be described with reference to FIG. Write data from the processing device is latched by the data latch 94 through the internal bus 70, and a parity check is performed by the error detection circuit 80. The output signal of the data latch 94 is supplied to output buffers 90 and 91 each composed of a three-state buffer. The gate signals of the three-state buffer are the master mode input signal line 21, the system bus switching signal lines 81a and 81b, and the data output. It is controlled by the timing clock signal 30. When no error is detected by the error detection circuits 80a and 80b, the output of the AND gate 86a is "1" and the outputs of the AND gates 87a and 95a are "0" in the master system bus controller 3a. , The output signal of the OR gate 96a becomes "1" and the output of the OR gate 97a becomes "0", and outputs data to the system bus A13a via the output buffer 90a. On the other hand, in the slave system bus controller 3b, the outputs of the AND gates 86b and 95b are "0", the output of the AND gate 87b is "1", the output of the OR gate 97b is "1", and the output of the OR gate 96b is "1". The output becomes "0", and the data is output to the system bus B13b via the output buffer 91b.
[0087]
When a data error is detected by the system bus controller 3a and the output 81a of the error detection circuit 80a becomes "1", the output of the AND gate 86a becomes "0" and the output of the output buffer 90a is stopped. The bus control device 3b sets the output of the AND gate 95b to "1" when the system bus switching signal line 81a from the partner changes to "1", and also sets the output of the output buffer 90b to the enabled state. 13b is output to both sides.
[0088]
Further, in the memory device 4, as shown in FIG. 17, the data of the system buses on both sides are fetched internally by the receiver circuits 98 and 99, and the parity check is performed by the error detection circuit 83. If no error is detected, the error is detected. The output of the detection circuit 83-1 becomes "0", the input data switching signal line 78 becomes "1", and the data of the system bus A13a is selectively output to the internal bus 72. On the other hand, when a failure occurs in the system bus A13a, the output of the error detection circuit 83-1 becomes "1", the input data switching signal line 78 becomes "0", and the input data switching signal line 79 becomes "1". The data of B13b is selectively output to the internal bus 72.
[0089]
When an error is detected by both of the error detection circuits 83-1 and 83-2 (for example, when the system bus 13a fails and the receiver circuit 99a on the master side further fails), the input data switching signal line 78 and the 79 are both "0" and the selection circuit 73a cannot select any system bus. At this time, since incorrect data (which cannot be detected as an error) is written to the memory 71a, a situation in which the incorrect data is sent to the processing device 1 at the time of reading may occur. To avoid this, the following method may be used. That is, when none of the system buses can be selected, error data (for example, all data of "1" for even parity, all data of "0" for odd parity) is generated on the internal bus 72a of the memory. And the error data is forcibly written to the memory. As a result, at the time of reading, the system bus controller 3b on the slave side can send correct read data to the processing device 1 by the operation of the first embodiment.
[0090]
FIG. 15 will be described again. When the processing device 1 reads data from the memory device 4, the operation similar to that of the system bus control device 3 shown in FIG. 16 is incorporated in the memory device so that there is no error in the data read from the memory. For example, the memory device 4a outputs read data to the system bus A13a, and the memory device 4b outputs read data to the system bus B13b. On the other hand, when an error is detected in the read data of the memory 71b incorporated in the memory device 4b, the data output of the output buffer of the memory device 4b is stopped, and the memory error detection signal line 84b is output to the memory device 4a on the other side. This signal causes the memory device 4a to output data to the system buses on both sides. An input data selection circuit similar to the memory device 4 is provided inside the system bus control device 3 and normally outputs read data from the system bus A13a to the internal bus, but an error is detected on the system bus A13a side. Then, the read data of the system bus B13b is output to the internal bus.
[0091]
FIG. 18 illustrates a state of data switching when a part of the components fails in the above-described redundant memory system during a write operation.
[0092]
(A) In the normal state, write data from the processing device 1 is output from the system bus control device 3a to the system bus A13a, from the system bus control device 3b to the system bus B13b, and the memory device 4 stores data in the system bus A13a. Is selected as write data and written to the memory 71.
[0093]
(B) When the receiver in the CPU bus switching circuit 7a has failed, the system bus control signal line 81a is output from the system bus control device 3a, the output buffer of the system bus control device 3a is closed, and the system bus control is performed instead. The device 4b outputs data to the system buses on both sides, and the memory device 4 selects the data on the system bus A13a as write data and writes it to the memory 71.
[0094]
(C) When the system bus A13a has failed, the memory device 4 selects the data on the system bus B13b as write data and writes the data to the memory 71.
[0095]
(D) When the driver of the system bus switching circuit 82b fails, correct data is not output to the system bus B13b, but there is no effect since the memory device 4 writes the data of the system bus A13a.
[0096]
The read operation will be described with reference to FIG.
[0097]
(A) In the normal state, the data read from the memory 71 is output from the memory device 4a to the system bus A13a and from the memory device 4b to the system bus B13b, and the system bus control device 3a reads the data from the CPU bus. Is sent.
[0098]
(B) When the receiver in the system bus switching circuit 82a has failed, an error is detected by the error detection circuit of the system bus control device 3a, and the CPU bus switching signal line 12a is output. 3b outputs data to the CPU bus.
[0099]
(C) When the system bus A13a has failed, an error in the system bus A13a is detected in the system bus controller, the read data of the system bus B13b is used as input data, and the system bus controller 3a transmits data to the CPU bus. Is sent.
[0100]
(D) When the memory 71a incorporated in the memory device 4 has failed, an error is detected by an error detection circuit inside the memory device 4a, and a memory error detection signal line 84a is output. The read data is transmitted to the system buses on both sides, and the system bus controller 3a transmits the data to the CPU bus.
[0101]
Embodiment 5 FIG.
FIG. 20 shows a duplicated memory system according to the fifth embodiment of the present invention. In the figure, 100 is a mode setting circuit that is built in the system bus control device 3 and sets the mode of the CPU bus, 101 is a mode setting circuit that sets the mode of the system bus, and 102 is a mode that is built in the memory device 4 and is the mode of the system bus. A mode setting circuit 104 for setting data, a comparison circuit 104 incorporated in the system bus control device 3 for comparing data of a duplicated system bus, and a 105 incorporated in the memory device 4 for comparing data of a duplicated system bus. This is a comparison circuit.
[0102]
FIG. 21 is a diagram showing the concept of a circuit that controls the CPU bus in the system bus control device 3 and includes a mode setting circuit 100, a data latch 17, a comparison circuit 51, a driver 31, and a receiver 50. The data output of the CPU bus is controlled by the A bus permission signal line 106 output from the mode determination circuit.
[0103]
FIG. 22 is a diagram similarly showing the concept of a circuit in the system bus control device 3 for controlling the system bus. The system bus A is enabled by the A bus permission signal line 106, and the system bus B is enabled by the B bus. The data output of the system bus is controlled by the signal line 107.
[0104]
FIG. 23 is a diagram showing details of the mode setting circuit 101 in FIG. 20 (the same applies to 100 and 102). In the figure, reference numeral 120 denotes a mode setting data signal line; 121, a selector circuit for selecting a mode setting data signal in accordance with the master mode input line 21; 122, an output signal line of the selector circuit 121; A mode latch 125 is a mode latch for storing a mode of the B bus. The mode setting signal line 103 stores the contents of the output signal line 122 of the selector circuit. Each of the mode output signal lines 124 and 126 is connected to a subsequent AND gate. By the combination of the OR gates, an A bus enable signal 106 and a B bus enable signal 107 which are final output signals are output.
[0105]
FIG. 24 is a diagram showing an operation sequence of the mode setting circuit in FIG. 23. T100 is a reset timing, T101 and T104 are mode setting timings, T102 is a timing at which an error is detected on the system bus control device 3a side, and T103 is an error timing. This shows the timing of recovery.
[0106]
FIG. 25 shows the relationship between the operation and the mode of the memory device 4 during the actual operation. FIG. 25A shows the overall flow, and FIG. 25B shows the details of the diagnostic operation (process 142). 24, the power-on process 140 corresponds to T100, the mode change process 143 corresponds to T101, the failure occurrence 145 corresponds to T102, and the mode change process 146 corresponds to T104.
[0107]
The schematic operation of the dual memory system configured as described above will be described with reference to FIG. The mode setting circuits 100 to 102 can independently set four types of modes A, B, C, and D, and the mode setting circuit 100 reads out the data to the CPU data bus 8 by the system bus controller 3. The mode setting circuit 101 controls the output of data, the mode setting circuit 101 controls the system bus controller 3 to output the write data to the system bus, and the mode setting circuit 102 controls the memory device 4 to output the read data to the system bus. The output control of the data to the CPU data bus by the system bus control device 3 includes the state of the mode setting circuit 100, the status of error detection by the error detection circuit 6 inside the system bus control device 3, and the CPU bus switching signal from the other party. Controlled by line 12. Data output to the system bus by the system bus control device 3 is controlled by the state of the mode setting circuit 101, the status of error detection by the error detection circuit 80 inside the system bus control device 3, and the system bus switching signal line from the other party. 81. The output control of data to the system bus by the memory device 4 is controlled by the state of the mode setting circuit 102, the status of error detection by the error detection circuit 85 inside the memory device 4, and the system bus switching signal line 84 from the other party. Is done.
[0108]
The output circuit of each bus has a comparison circuit for comparing the contents of the bus and outputting the result to the outside to generate an interrupt signal line. The input data is input again for comparison, and the contents of the two system buses are compared on the system bus side.
[0109]
Next, a detailed operation on the CPU bus side of the system bus control device 3 will be described with reference to FIG. In a normal operation, the mode setting circuit 100a is set to the mode A and the mode setting circuit 100b is set to the mode B. Data read from the memory device is supplied to the data latch 17 via the internal bus 70 of the system bus control device 3. And a parity check is performed by the error detection circuit 6. In the system bus controller 3a in mode A, if no error is detected by the error detection circuit 6a, the output 106a of the mode setting circuit 100a becomes "1", and the read data is output from the driver circuit 31a to the CPU data bus 8. You. When an error is detected, the output 106a of the mode setting circuit 100a becomes "0" to stop outputting data, and "1" is output to the CPU bus switching signal line 12a.
[0110]
In the mode B system bus controller 3b, if the CPU bus switching signal line 12a from the other party is "0", the output 106b of the mode setting circuit 100b becomes "0" and no data is output to the CPU data bus. When no error is detected by the error detection circuit 6b, when the CPU bus switching signal line 12a from the other party becomes "1", the output 106b of the mode setting circuit 100b becomes "1", and the read data is transmitted to the CPU data bus. 8 is output. When the system is powered on, the mode setting circuits 100 on both sides are set to mode D, the output 106 of the mode setting circuit 100 is always "0", and this system bus control device outputs read data to the CPU data bus. There is no. (It should be noted here that the CPU bus is not duplicated like the system bus, so that output to the CPU data bus is permitted only to one of the mode A and B system bus controllers. Therefore, modes A and B have different meanings from those in control of a system bus described later. For the same reason, mode C is not used in control of the CPU bus.)
[0111]
The mode A system bus controller 3a further inputs its own output data via the receiver circuit 50a, compares the input signal line 55a with the output signal line 18a of the data latch 17a, and outputs the mode B system bus signal. The control device 3b inputs the output data of the other party via the receiver circuit 50b, and compares the input signal line 55b with the output signal line 18b of the data latch 17b. If the comparison result is different, the comparison error signal line 53 becomes "1", and this signal is output from the mode B system bus controller 3b to the outside via the three-state buffer 54b, and the high-level interrupt signal line 10 To the processing apparatus 1, and the processing apparatus performs error analysis as shown in FIG.
[0112]
Since the output control to the system bus by the system bus control device 3 is equivalent to that of the memory device, the output control to the system bus by the memory device 4 will be described next with reference to FIG. In the normal operation mode, the mode setting circuit 102a is set to the mode A and the mode setting circuit 102b is set to the mode B, and the data read from the memory is latched in the data latch 94 via the internal bus 72 of the memory device. At the same time, a parity check is performed in the error detection circuit 85. In the memory device 4a in mode A, if no error is detected by the error detection circuit 85a, the output 106a of the mode setting circuit 102a becomes "1" and the output 107a becomes "0", and the read data is transmitted from the driver circuit 90a to the system bus A13a. Is output. When an error is detected, the outputs 106a and 107a of the mode setting circuit 102a both become "0", the output of data is stopped, and the system bus switching signal line 84a is output to "1". When no error is detected and the system bus switching signal line 84b from the other party goes to "1", the outputs 106a and 107a of the mode setting circuit 102a both go to "1", and the read data is sent from the driver circuits 90a and 91a. It is output to both system buses A13a and 13b.
[0113]
On the other hand, in the memory device 4b in mode B, when no error is detected by the error detection circuit 85b, the output 106b of the mode setting circuit 102b becomes "0" and the output 107b becomes "1", and the read data is transferred from the driver circuit 90b to the system bus. B13b. When an error is detected, the outputs 106b and 107b of the mode setting circuit 102b both become "0", the output of data is stopped, and the system bus switching signal line 84b is output to "1". When no error is detected, when the system bus switching signal line 84a from the other party goes to "1", the outputs 106b and 107b of the mode setting circuit 102b both go to "1" and the read data becomes the driver circuits 90b and 91b. To both system buses A13a and 13b
Is output.
[0114]
Further, the memory devices 4 on both sides input the data of the duplicated system bus via the receiver circuits 108 and 109 and compare the data by the comparison circuit 105. The comparison result is an error output signal of the internal error detection circuit 85 ( The signals are processed by the system bus switching signal line 84) and the OR gate and output to the outside, and the conditions are taken by the AND gate 93 and the EXOR gate 92 to generate interrupt signals of different levels for the processing device 1. When receiving the interrupt, the processing device 1 performs the error analysis processing as shown in FIG.
[0115]
The configuration and operation of the mode setting circuit will be described with reference to FIGS. 23 and 24, taking the case of the mode setting circuit 101 incorporated in the system bus control device 3 as an example. First, when the power is turned on, the reset signal line 42 becomes "0" at the timing of T100, the mode latches 123 and 125 are reset and the outputs become "0", and both the mode setting circuits 101a and 101b operate in the mode D (initial mode). ). In mode D, the outputs of the AND gates 127, 129 and 134 become "0", so that the bus permission signal lines 106 and 107 both output "0".
[0116]
Next, when the processing device outputs the mode setting signal line 103 with the data “1001” corresponding to the mode to be set in the data signals 120-1 to 120-4 at the timing of T101 in FIG. Selects two of the input data 120 according to the state of the master mode input line 21. Since the master mode input line 21a of the system bus control device 3a is "1", the input data 120-1 is input to the output signal 122-1a of the selector circuit, and the input data 120-1 is output to the output signal 122-2a of the selector circuit. 120-3 is output, while the master mode input line 21b of the system bus control device 3b is "0". Therefore, the input signal 120-2 is input to the output signal 122-1b of the selector circuit, and the output signal 122-2 of the selector circuit is output. The input data 120-4 is output to -2b, the mode setting circuit 101a is set to mode A, and the mode setting circuit 101b is set to mode B. Conversely, the mode A is a mode in which the mode output signal 124a is "1", the mode output signal 126a is "0", and "1" is output to the bus permission signal line 106a and "0" is output to 107a. Can be defined. Similarly, in mode B, the mode output signal 124b is "0", the mode output signal 126b is "1", and "0" is output to the bus permission signal line 106b and "1" is output to 107b.
[0117]
By the way, when the error detection circuit 80a of the system bus control device 3a detects an error in the timing from T102 to T103 in FIG. 24, that is, when the system bus control device 3a is in the mode A and the system bus control device 3b is in the mode B, The internal error signal line 81a becomes "1", the AND gates 127a, 129a and 134a become "0", and the A bus permission signal line 106a and the B bus permission signal line 107a both become "0". On the other hand, in the system bus control device 3b, since the system bus switching signal line 81a (logically the same as the internal error signal 81a) becomes "1", the output of the AND gate 134b becomes "1" and the OR gates 132b and 133b Both the output A bus permission signal line 106a and the output B bus permission signal line 107a become "1".
[0118]
Further, when the processing device outputs the mode setting signal line 103 with data “0101” corresponding to the mode to be set in the data signals 120-1 to 120-4 at the timing of T104 in FIG. 24, the system bus control device 3a Of the mode latches 123a and 125a are both "0", the mode setting circuit 101a returns to the mode D, and the bus permission signal lines 106a and 107a are both "0". On the other hand, the mode latches 123b and 125b in the system bus controller 3b are both set to "1", the mode setting circuit 101a is set to the mode C, and the bus permission signal lines 106b and 107b are both set to "1".
[0119]
When the mode setting circuit is used in the above-described redundant memory system, processing such as diagnosis, replacement, and recovery can be easily performed. An example in which this function is used in the memory device 4 will be described with reference to FIG.
[0120]
The duplicated memory devices are indicated by A system and B system, respectively, and perform processing while changing the mode setting in synchronization with each other. First, power is turned on to both memory devices in process 140, and both processes are set to mode D by process 141 at the time of reset, so that neither memory outputs data.
[0121]
Next, the initial diagnosis of the memory by the write, read, and comparison check in the process 142 will be described with reference to FIG. In order to diagnose the memory, it is necessary to read the write data independently from the duplicated memory device. Therefore, first, the memory device of the A system is set to the mode C in the process 142-1a, and the B device is changed to the mode C in the process 142-1b. The memory device is set to mode D so that read data is output only from the memory of the A-system, and writing, reading, and comparison are performed on the memory device in process 142-2a. Therefore, the memory device of the A system is diagnosed. At this time, the data is also written in the memory device of the B system, but does not affect the diagnosis result of the A system. Next, the memory device of system A is set to mode D and the memory device of system B is set to mode C in process 142-3, and the memory device of system B can be tested in process 142-4b.
[0122]
When the initial diagnosis of the memory device by the process 142 is completed, the normal operation process 144 is performed by setting the memory device of the A system to the mode A and the memory device of the B system to the mode B in the process 143, that is, the system bus A13a. Means that the memory device of the A system sends out the read data, the memory device of the B system sends out the read data to the system bus B13b, and when an error is detected in one of them, the other side sends out the data to both system buses. , A dual memory operation. If the memory device of the system A fails due to the failure 145a, the memory device of the system B responds with correct data, and the processing device 1 performs a failure analysis based on the interrupt. By setting the memory device of system A to mode D and the memory device of system B to mode C in 146, the memory device of system A is disconnected from the system bus. Thereafter, the B-system memory device sends the read data to the system buses on both sides, so that the A-system repair / replacement process 147a can be performed.
[0123]
When a new memory device is inserted into the system A by the exchange process, the memory device of the system A is set to the mode D by the reset process, and thereafter, data is read from the memory device of the normal system B by the process 150, and the data is transferred to the memory device of the new system A. Perform a copy operation to write. When the copying is completed, the memory device of the A system is set to the mode A and the memory device of the B system is set to the mode B in the process 151, and the normal dual memory operation can be restored.
[0124]
Embodiment 6 FIG.
FIG. 26 shows a duplicated memory system according to the sixth embodiment of the present invention. In the figure, reference numeral 170 denotes a permission flag built in the memory device 4 for controlling writing and reading of the memory, 171 a control circuit for generating memory access timing, and 172 an address discriminating circuit for determining an access address to the memory device. , 173 are error injection circuits for forcibly writing errors to the memory 71, and 177 is an input / output control device connected to both of the duplicated system buses.
[0125]
FIG. 27 is a diagram showing the internal configuration of the memory device 4, which includes a permission flag 170, an address determination circuit 172, a driver 220, a receiver 221, a parity generation circuit 239, and the memory 71. In the figure, the permission flag is composed of a read permission flag 170-1, a write permission flag 170-2, and a parity generation permission flag 170-3. The combination of these outputs controls writing, reading, and parity generation to and from the memory.
[0126]
FIG. 28 shows the details of the address discriminating circuit in FIG. 27. The address discriminating circuit includes a common space specifying register 231, an individual space specifying register 232, an I / O address discriminating circuit 230, comparing circuits 233 and 234, and an AND gate 237. A common space write signal line 210, an individual space write signal line 211, a common space read signal line 212, and an individual space read signal line 213 are generated as output signals.
[0127]
FIG. 29 is a diagram showing the division of the address space when accessing the system bus. 200 shows the entire memory space, 201 shows the entire I / O space, (A) shows the allocation at the time of the duplex operation, and (B) ) Shows the assignment at the time of unification. The memory space is further divided into a common access space 202 and an individual access space 203.
[0128]
FIG. 30 is a diagram showing a state in which the memory device in FIG. 26 makes a state transition according to the permission flag 170. Depending on a combination of the permission flags, a disconnection operation state 181, a normal operation state 183, a restoration operation state 184, and a protection operation are performed. The state is defined in the state 185, and transition between the states is caused by occurrence of an error or rewriting of the permission flag. The separation operation state 181 is a state in which both writing and reading are impossible, the normal operation state 183 is a state in which writing and reading are possible, the restoration operation state 184 is a state where only writing is possible, and the protection operation state 185 is a state where only reading is possible.
[0129]
FIG. 31 shows data when different data and error states are injected into the diagnostic areas of the memories 71a and 71b by the error injection circuit 173 and the individual space access, and are read out by the common space access.
[0130]
FIG. 32 shows the concept of a configuration in which an address error detection circuit 176 is provided inside the memory device 4 and its output is exchanged between the memories, and if an error is detected on the other side, the correct address is stored in the error address register. FIG. 33 shows details.
[0131]
A schematic operation of the dual memory system configured as described above will be described with reference to FIG.
[0132]
The permission flag 170 in the memory device 4 is composed of three bits of a read permission flag, a write permission flag, and a parity generation permission flag, and the address discrimination circuit 172 discriminates a common access space and an individual access space. When performing a write operation using the common access space from the processing device 1, if the write enable flag is "1", the parity is generated and written to the memory 71 regardless of the state of the parity generation enable flag, and the write permission is performed. If the flag is "0", no writing is performed. When the processor 1 performs a write operation using the individual access space, the write is performed in the memory device 71 irrespective of the state of the write permission flag. However, if the parity generation permission flag is “0”, the parity is generated. Without writing to the memory device 71.
[0133]
Next, when reading from the processing device 1 using the common access space is performed, the reading is performed if the reading permission flag is "1", and the reading is not performed if the reading permission flag is "0". When reading using the individual access space from the processing device 1, the reading is performed regardless of the state of the read permission flag.
[0134]
The input / output control device 177 is connected to both system buses. The system bus switching circuit is configured in the same manner as the system bus control device in the fifth embodiment, and when reading data from the memory device 4, an error occurs. Use the data of the system bus on the other side.
[0135]
Next, the circuit configuration and operation of the permission flag 170, the address determination circuit 172, and the error injection circuit 173 will be described with reference to FIGS. The permission flag 170 includes a read permission flag 170-1, a write permission flag 170-2, and a parity generation permission flag 170-3, and is input from the system bus in accordance with a permission flag setting signal line 225 output from the address discrimination circuit 172. The contents of the data signal lines 224-1 to 224-3 are latched. In the initial state, all the flags are initialized to “0” by the reset signal 42. A gate signal 222 for outputting read data to the system bus is formed by a read enable signal line 214 that is an output of a read enable flag, a common space read signal 212 that is an output of the address determination circuit 172, and an individual space read signal 213. It is determined. First, in reading from the individual space, the individual space read signal 213 becomes “1”, so that the gate signal 222 of the driver circuit 220 becomes “1” by the function of the OR gate 219 regardless of the state of the read permission signal line 214. , And outputs read data from the memory 71 to the system bus. On the other hand, in reading from the common space, even if the common information read signal 212 becomes "1", the read data is not output to the system bus unless the read permission signal line 214 is "1" by the AND gate 218.
[0136]
In writing to the individual space, the individual space write signal 211 becomes “1”, and the function of the OR gate 217 causes the memory write signal line 162 to become “1” regardless of the state of the write enable signal line 215. Data is written to the memory 71. On the other hand, in writing to the common space, even if the common space write signal line 210 becomes "1", the memory write signal line 162 becomes "1" unless the write enable signal line 215 is "1" due to the presence of the AND gate 216. ", And writing to the memory 71 is not performed. The parity generation circuit 239 has a function of controlling parity generation by controlling the parity generation permission signal line 163. When the parity generation permission signal line 163 is "1", parity data is normally generated and "0". In the case of, an error is generated. Therefore, in writing to the common space, the common space write signal line 210 is set to "1", so that correct parity is always generated. However, in the case of the individual access space, when the parity permission flag signal line 338 is set to "1". Only the correct parity is generated. When this function is used in the write operation of the individual space, an operation of intentionally writing data that causes a parity error to the memory 71, that is, error injection can be performed.
[0137]
Further, the above-mentioned address discriminating circuit 172 is configured as shown in FIG. 28, and the I / O address discriminating circuit 230 decodes a unique address provided for register access to the memory device. Here, the conditions of the address signal line 13-2 of the system bus, the master mode input line 21, and the write signal line 13-4 of the system bus are taken, and a common space designation register setting signal line 235, an individual space designation register setting signal line 236, And a permission flag setting signal line 225. The common space register latches the value of the data signal line of the system bus by the setting signal line 235, and the individual space register 232 latches the value of the data signal line of the system bus by the setting signal line 236. When the processing device 1 accesses the memory space, the comparison signal 233 compares the address signal line 13-2 on the system bus with the contents set in the common space designation register. Becomes "1". At this time, when the write signal line 13-4 is "1", the common space write signal line 210 becomes "1" and the read signal line 13-3 becomes "1" by the AND gate 237-3. In this case, the common space read signal line 212 is set to "1" by the AND gate 237-4. Similarly, the setting contents of the individual space designation register are compared by the comparison circuit 234, and if they match, the individual signal access signal 229 becomes "1" and the individual space write signal 211 or the individual space read signal line 213 becomes "1". Become.
[0138]
An example of allocating the address space of the memory device 4 using the function of the address determination circuit 172 operating as described above will be described with reference to FIG. (In FIG. 29, entities indicated by 200 to 207 are memory areas having respective widths.) FIG. 29A shows a setting example when operating as a dual memory. The address 202-1 of the common access memory A / B space is set in the common space register 231a, and the address 203-1 of the individual access memory A space is set in the individual space register 232a. Next, for the memory device 4b, the address 202-1 of the common access memory A / B space is set in the common space register 231b, and the address 203-2 of the individual access memory B space is set in the individual space register 232b. With this setting, in the access to the common space 202-1, both the memory device 4a and the memory device 4b are targeted. In the access to the individual access space 203-1, only the memory device 4a is used, and in the access to the individual space 203-2. Is intended only for the memory device 4b, and can operate as a duplicated memory.
[0139]
As shown in FIG. 29B, the common space register 231a is shared with the address 202-3 of the common space access memory A space for the memory device 4a, and the common space register 231b is shared with the memory device 4b. When the address is set to the address 202-4 of the space access memory B space, the memory device 4a is enabled for access to the common address space 202-3, and the memory device 4b is enabled for access to the common address space 202-4. It is possible to provide twice the memory capacity as compared with the operation.
[0140]
Next, using the above-described permission flag 170 and the access function of the common and individual spaces, the normal operation from power-on, and the repair and repair / replacement of the failed memory are described by a combination of the read permission flag and the write permission flag. It will be described with reference to FIG. 30 together with the defined state transition. First, as a state definition, the normal operation state 183 has a read permission flag and a write permission flag of “1”, the repair operation state 184 has a read permission flag of “0” and a write permission flag of “1”, and the protection operation state 185 has a read permission. The flag is “1”, the write permission flag is “0”, the disconnection operation state 181 is a state in which the read permission flag and the write permission flag are “0”, and the system power is not turned on or the memory device is removed from the system. The defined state 180 is supplementarily defined.
[0141]
First, when the power of the system is turned on, a transition 186 is made from the state 180 to a disconnection state 181. In this state, a memory diagnosis 188 such as writing, reading and comparison check is performed on the memory 71 by using the individual space access for each memory device. It moves to 183. In state 183, the memory device performs a duplex operation and remains in state 183 when no error has occurred and when a single data parity error has occurred. When a data parity error occurs repeatedly, the memory device is disconnected by the transition 191 to the state 181 for failure diagnosis, but the memory device on which no error has occurred remains in the normal operation state 183.
[0142]
When the normal memory device is in the state 183 and the faulty memory device is in the disconnection state 181, the repair process is checked for the faulty memory device by the diagnostic processing 188. Since the access to the memory device by the device 177 is performed on the common space, the normal memory device responds and the normal operation is guaranteed. If it is determined that the repair is impossible, the maintenance personnel replaces the new memory device with the new memory device. The new memory device is first inserted into the disconnection operation state 181 and diagnosed. By the way, once transition to the disconnection state 181, there is a difference in contents from the normal memory device, so that it is not possible to transition to the normal operation state 183 as it is. Therefore, the transition to the restoration operation state 184 is made by the transition 196 at the end of diagnosis. In the repair operation state 184, data is read from the normal memory device in the common space, and data is written to both the normal memory device and the memory device to be repaired by writing by common space access. When the copy process 194 of all areas is completed, both memory devices are returned to the normal operation state 183 again by the restoration completion transition 193, and the dual memory operation is restored. During this time, since the access to the memory device by the input / output control device 177 is performed on the common space, the write operation is performed on both the memory devices, and the read operation is performed by the normal memory device in the state 183. Normal operation is assured.
[0143]
When an address parity error occurs in the normal operation state 183, the memory contents of the address are not reliable in the data of the memory device in which the error has occurred. Move to state 184. Even in the repair operation state 184 after the occurrence of the address parity error, writing to the memory device in which the error has occurred is continued. Only the place where it occurred. Then, after performing necessary restoration processing, it is possible to return to the normal operation state 183.
[0144]
A method of using the protection operation state 185 will be described. The mode is switched to the protection operation state by the mode switching processing 197 from the processing apparatus 1. For example, when diagnosing a failure of the input / output control device 177 connected to the system bus 13, this device does not always execute a correct write to the memory device, and a diagnosis involving writing to the memory device may be performed carelessly. For example, the contents of the memory 71 can be destroyed. Therefore, one of the duplicated memory devices is set to the protection operation state 185 to prevent the contents of the memory from being destroyed, and the diagnosis is executed. Shall be copied. As a result, even if the input / output control device performs an illegal write operation, the memory can be restored to a normal memory. If the input / output control device operates normally, the write data is written to the memory device in the normal operation state 183 in which the write permission flag remains “1”. Can be diagnosed.
[0145]
Next, an error injection state using the error injection circuit in FIG. 26 and a diagnosis method using this function will be described with reference to FIGS. An area 71-1 in FIG. 31 is a normal area in which programs and data are stored, and areas 71-2 to 71-5 are used as diagnostic areas. First, the parity permission flag of the memory device 4a is set to “1”, and the data “8888” is written to the area 71-2a and the data “AAAAA” is written to the area 71-4a by the individual space access of the memory device 4a, thereby making the normal operation. Data is generated. Next, the parity permission flag of the memory device 4a is set to "0", and data "9999" is written in the area 71-3a and data "BBBB" is written in the area 71-5a by the individual space access of the memory device 4a. Data including a parity error is generated. Similarly, for the memory device 4b, the normal data of the data "CCCC" and "DDDD" is stored in the areas 71-2b and 71-3b, and the data "EEEE" and "FFFF" are stored in the areas 71-4b and 71-5b. The data including the parity error of "" is written.
[0146]
As described above, while the normal data and the data including the parity error are written in the diagnostic area, the processing device 1 reads the diagnostic area at regular intervals by a function such as a timer, and an error occurs in the memory. In this case, the function of outputting the contents of the memory on the normal side and the function of generating a high-level interrupt when an error is detected in both memories (operation in the fourth embodiment) can be diagnosed. That is, if the function is normal, the memory 71a responds to the reading of the area 71-2 and the data “8888” is returned, and the normal data “DDDD” of the memory 71b is read and the area 71- In reading 5, a high-level interrupt occurs because both memories are in error. When the error detection means 85a in the memory device 4a is not operating normally, "9999" of the error data is read by reading the area 71-3, and the failure portion can be determined.
[0147]
Next, detection of an address error will be schematically described with reference to FIG. When the memory device 4 is accessed from the processing device 1, the parity check of the address signal of the memory is performed by the address error detection circuit 176, and the result is output to the other memory device as the address error detection signal line 175 and the error is detected. Is detected, the internal read permission flag is set to "0" to prohibit reading. On the other hand, the memory device that has detected the change of the address error signal line 175 of the other party stores the address in the error address register 174, and the processing device 1 that knows the occurrence of the address error due to the interruption has the fault stored in the control ROM 2. The analysis and restoration program is executed, and the memory address where the error has occurred is read from the error address register 174 in the normal memory device. By reading and rewriting the contents of the memory indicated by this address, the contents of the memory in which the error has occurred are restored to normal data.
[0148]
Of the above operations, details of the address error detection and the error address register will be described with reference to FIG. The address error detection circuit 176a performs a parity check of the address signal line 13-2a on the system bus, and outputs an address error signal line 175a to "1" when detecting an error. This signal internally resets the read permission flag 170-1a to "0", and sets the write signal line 162 to "0" by the AND gate 216 to prohibit writing to an erroneous address. On the other hand, when an address error is detected in the memory device 4b on the other side, the address error signal line 175b from the other side becomes "1", and the contents of the address signal line 13-2a at this time are stored in the error address register 174a. Is stored in When an address error occurs during reading, if a signal corresponding to the memory error detection signal line 84 in FIG. 15 is output, a memory device in which no error has occurred outputs read data. Data can be guaranteed. Moreover, in the memory device in which the address error has occurred, only the portion in which the error has occurred has not been rewritten, and can be easily repaired. An interrupt signal when an address error occurs is generated by the EXOR gate 92 and the AND gate 93 under the conditions of the address error detection signal lines 175a and 175b. When an address error occurs in one of the memory devices, the output of the EXOR gate 92 becomes "1", a low-level interrupt signal 9 is output, and when an address error occurs in both memory devices, an AND gate is output. The output of 93 becomes "1", and the high-level interrupt signal 10 is output. A low-level interrupt indicates that the errored access address is stored in the address error register in a normal memory device and can be repaired. A high-level interrupt cannot identify the errored access address. Indicates that the restoration process is not possible.
[0149]
Embodiment 7 FIG.
FIG. 34 is a diagram showing detection of a data error inside the memory device of the redundant memory system according to the seventh embodiment of the present invention. In the figure, 240 is a receiver for inputting an address, 241 is an error upper limit register for setting an upper limit of the number of errors that occur in advance, and 244 is an error upper limit for writing a value to the error upper limit register 241. The register setting signal line 245 is an error detection circuit, 247 is an error accumulation counter that is incremented by an error detection signal 246 output from the error detection circuit 245, and is decremented by an external error correction signal line 256. A comparison circuit for comparing the output of the register 241 with the output of the error accumulation counter 247 and outputting two types of interrupt signal lines in accordance with the comparison result. 252 is a plurality of error address registers for storing the address where an error has occurred. Error address register write signal 25 Is a selector for selecting and outputting data stored in the memory or the error address register 252, and 259 is a signal for selecting the output signal 255 of the selector 254. When the read data 233 is "1", it is a selector switching signal for performing control for selecting and outputting the contents of the error address register 252-2 when the error address register 252-1 is "2". Note that the error upper limit register setting signal line 244, the error correction signal line 256, and the selector switching signal 259 are generated by, for example, decoding the address accessed by the processing device by the address determination circuit 172 of FIG.
[0150]
The operation of error detection configured as described above will be described with reference to FIG. First, when the power is turned on, the error accumulation counter 247 is initialized to “0”. ("2" in this embodiment) is set. Thereafter, when a normal memory access operation is performed, "0" is output to the selector switching signal 259, and the parity check is performed on the read data 223 from the memory 71 by the error detection circuit 245, and an error occurs. If not, it is output to the system bus 13-1 via the selector 254 and the driver circuit 220. When an error is detected, the error detection signal line 246 becomes “1”, and the content of the error accumulation counter 247 is incremented. The comparison circuit 249 compares the content set in the error upper limit value register 241 with the content of the error accumulation counter 247. The interrupt signal line 9 is set to "1", and if it exceeds, the high-level interrupt signal line 10 is set to "1".
[0151]
By the way, when the error detection signal line 246 becomes "1", the write control circuit 257 switches the content of the address signal 251 to be written to which error address register according to the content of the output signal 248 of the error accumulation counter. Perform In other words, in the initial state, the content of the error accumulation counter 247 is "0", so that the write signal line 258-1 is output, so that the error address is written in the error address register 252-1. Since the content of the error accumulation counter 247 is "1", an error address is written to the error address register 252-2 by outputting the write signal line 258-2. The addresses in which the error has occurred are sequentially stored in the error address register 252. When the processing device receives the low-level interrupt and accesses the error address register 252-1 by the fault recovery processing, the selector switching signal is output. 259 becomes "1", and the contents of the error address register 252-1 are output to the system bus via the selector 254 and the data driver 220. The processor can know the address where the error has occurred in this way, and restores the contents of the memory where the parity error has occurred by reading out the data of the memory indicated by this address and writing the same at the same address. The post-processing device decrements the content of the error accumulation counter 247 by the error correction signal line 256. By the way, access to the memory device is executed even before the processing device accepts a low-level interrupt. If a parity error occurs at another address, if the error is less than the number of error address registers, the generated address is stored. be able to. If an error occurs beyond the number of error address registers, the high-level interrupt signal line of the comparison circuit 249 becomes "1", and the occurrence of an unrecoverable serious fault is notified to the processing device. Using the functions of the mode setting circuit and the like described in Example 5, the corresponding memory device is disconnected.
[0152]
Embodiment 8 FIG.
FIG. 35 shows a redundant memory system according to the eighth embodiment of the present invention, in which a normal input / output control device 260 having only a single bus is connected via a redundant bus conversion adapter 261. 36 and 37 show the detailed configuration of the duplex bus conversion adapter 261.
[0153]
In FIG. 36, reference numeral 263 denotes a driver / receiver circuit for an address signal, 264 denotes a driver / receiver circuit for a data signal, and 269 denotes a parity generation for generating an address parity when the normal input / output control device 260 accesses the system bus. 271 is a parity generation circuit for generating data parity, and 270 is for checking the parity of the duplicated address bus and selecting the correct address when accessing a normal input / output control device from the system bus. 272 is a parity check selection circuit for selecting data.
[0154]
In FIG. 37, reference numeral 276 denotes an address area register for setting an address area to which the normal input / output control device 260 can access, and 278 denotes an address which the normal input / output control device 260 intends to output to the system bus; This is a comparison circuit that compares the contents of the address area register 276 and controls the gate of the driver of the system bus according to the result.
[0155]
An operation outline of the input / output control device of the redundant memory system configured as described above will be described with reference to FIG. The input / output control device 177 is designed for a duplicated memory system, and can access the system buses on both sides. On the other hand, the ordinary input / output control device 260 is an existing device that is not aware of a duplicated memory system, and can be connected to only one system bus itself. , An error check code, an address check, etc., to improve reliability.
[0156]
Next, the detailed operation of the duplex bus conversion adapter 261 will be described with reference to FIG. The normal input / output control device 260 is connected to the duplexed bus conversion adapter 261 by an address signal line 262-2 and a data signal line 262-1 each having no parity code. When accessing the device 1, the parity code is added to the address signal line 262-2 by the parity generation circuit 269 to become the address signal line 265, and the address signal line 13- is connected to the system buses on both sides via the driver circuit 263-1. Output as 2a and 13-2b. A parity code is added to the data signal line 262-1 by the parity generation circuit 271 to form a data signal line 267, which is connected to the system buses on both sides via the driver circuit 364-1 as address signal lines 13-1a and 13-1b. Is output.
[0157]
On the other hand, when the input / output control device is accessed from the duplicated system bus, the address signal lines 13-2a and 13-2b of the system bus are input by the receiver circuit 263-2 and the parity check by the parity check selection circuit 270 is performed. As a result, the address signal 266 on the side where no error has occurred is selected and output as the address signal line 262-2 for the normal input / output control device 260. Similarly, the data signal lines 13-1a and 13-1b of the system bus are input by the receiver circuit 264-2, and as a result of the parity check by the parity check selection circuit 272, the data signal 268 on the side where no error occurs is selected. Is output as a data signal line 262-2 to the normal input / output control device 260.
[0158]
When an error is detected on both address signal lines by the parity check selection circuit 270 and a correct address cannot be selected, an error is detected on the address error signal line 274 and on the data signal lines on both sides by the parity check selection circuit 272, When correct data cannot be selected, the data error signal lines 275 are output, and the OR gate 273 outputs a low-level interrupt signal. At this time, since the write / read signal lines (not shown) for the normal input / output control device 260 are output, the input / output control device does not start the operation but performs the retry process by the software of the processing device 1.
[0159]
Next, an operation of restricting access to the input / output control device 260 will be described with reference to FIG. The address area register 276 is used to specify a range of memory addresses accessible by the input / output control device 260. Before starting the input / output operation to the input / output control device 260, the processing device 1 sets the address area register setting signal 282 Thus, the content of the data signal line 262-1 is set in the address area register 276. When the input / output control device 260 is activated and transfer to the memory occurs, the input / output control device 260 outputs a memory address for accessing the address signal line 262-2. At this time, the comparison circuit 278 determines whether or not it is within the range set in the address area register 276, and if it is within the range, sets the driver output permission signal line 279 to "1" to permit access to the system bus. If it is out of the range, the driver output permission signal line 279 is set to "0" to prohibit access to the system bus. When an address outside the range is accessed by the OR gate 281, the low-level interrupt signal line 9 is set to “1” to notify the processing device.
[0160]
In the above embodiment, parity data is used as the data check code of the memory device. However, this can be similarly realized by using ECC codes instead of parity data.
[0161]
【The invention's effect】
As described above in detail, according to the present invention, as a result of the memory devices A and B having the write permission flag and the read permission flag independently, and the address discriminating circuit discriminating the access target for the current address, The memory device can appropriately determine the case where the access reaches its own device, and facilitates processing such as diagnosis.
[0162]
According to the present invention, the state defining means defines the state of each memory device according to the combination of the write permission flag and the read permission flag, and the state transition means transitions each memory device between the states according to the setting by the processing device. Therefore, initial setting of each memory device, switching at the time of occurrence of an error, and the like can be appropriately performed.
[0163]
Further, according to the present invention, the common access space designation register of the memory devices A and B designates a common access space to be accessed by both the memory device A and the memory device B, and the individual space access designation register designates the memory device A or the memory device. As a result of specifying one of the individual access spaces to be accessed by one of the devices B, accurate memory state management becomes possible. Further, if the protection operation state is used at the time of diagnosis at the time of failure of the input / output control device, memory destruction due to malfunction of the input / output control device can be prevented.
[0164]
According to the present invention, the setting unit, the second setting unit, and the third setting unit appropriately set the values of the common access space designation register and the individual space designation register of each memory device. When the duplication operation is not required (when high reliability is not so required), the available memory capacity can be doubled by using each memory device separately.
[0165]
Further, according to the present invention, since the error injection means injects a pseudo error into an arbitrary area of each memory device, switching of the device can be forcibly generated, and the error injected area can be appropriately accessed. By doing so, the operations of the error detection circuit, the bus switching circuit, and the interrupt generation circuit can be confirmed, so that the reliability is improved.
[0166]
According to the present invention, the injection value setting means sets the address of the area into which the error is injected by the error injection means and the value of the data to be injected to different values in both memory devices, so that the error is forcibly generated. The identified memory device can be identified, and the device can be easily diagnosed.
[0167]
According to the present invention, when one of the memory devices detects an address error of the system bus, the other memory device stores an error-free address in its own device. Address to be specified. Further, in the memory device in which the address error has been detected, the writing to the own memory is prohibited, so that it is possible to avoid a situation in which the data of the erroneously designated address is destroyed.
[0168]
Further, according to the present invention, the system address error interrupt generating means generates an interrupt signal according to the detection result of the system address error detecting means, so that the error repairing means can also store the address stored in the error address storage means according to the interrupt signal. Error correction can be performed at the same time.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an overall configuration of a duplicated memory system according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of an error detection circuit 6 and a CPU bus switching circuit 7 in FIG.
FIG. 3 is a diagram showing a correlation between an error occurrence state and a CPU bus switching signal line 12 and interrupt signal lines 9 and 10 in FIG. 1;
FIG. 4 is a timing chart showing the operation of the circuit of FIG. 2;
FIG. 5 is a diagram showing timings of a data signal 18 and a gate signal 32 in the circuit of FIG.
FIG. 6 is a diagram showing details of a master determination circuit 5 in FIG. 1;
FIG. 7 is a timing chart showing an operation of the master determination circuit 5 of FIG.
FIG. 8 is a diagram showing a system bus control circuit of a duplicated memory system according to a second embodiment of the present invention.
FIG. 9 is a diagram showing an operation when a part of the circuit in FIG. 8 fails.
FIG. 10 is a modified example of the system bus control circuit according to the second embodiment of the present invention.
11 is a diagram illustrating an operation when a part of the circuit in FIG. 10 has failed.
FIG. 12 is a diagram showing an arrangement of an error detection circuit and a status register in a redundant memory system according to a third embodiment of the present invention.
FIG. 13 is a diagram showing a method of determining a failure portion at the time of writing data to the memory of the redundant memory system in FIG. 12;
FIG. 14 is a diagram showing a method of determining a failure portion at the time of memory reading of the redundant memory system in FIG. 12;
FIG. 15 is a block diagram showing an overall configuration of a duplicated memory system according to a fourth embodiment of the present invention.
16 is a diagram showing a portion of the system bus switching circuit 82 included in the system bus control device 3 in FIG. 15 for switching output to the system bus 13. FIG.
17 is a diagram showing an input switching portion from the system bus 13 of a system bus switching circuit 83 built in the memory device 4 in FIG. 15;
18 is a diagram showing switching of a data bus when a processing device in the duplicated memory system in FIG. 15 performs writing to the memory device.
19 is a diagram showing switching of a data bus when a processing device in the dual memory system in FIG. 15 performs reading from the memory device.
FIG. 20 is a block diagram showing an overall configuration of a duplicated memory system according to a fifth embodiment of the present invention.
21 is a configuration diagram around a CPU bus of the system bus control device 3 in FIG.
FIG. 22 is a configuration diagram around a system bus of the system bus control device 3 in FIG. 20;
23 is a detailed diagram of a mode setting circuit 100 built in the system bus control device 3 in FIG.
FIG. 24 is a timing chart showing an operation of the circuit of FIG. 23;
FIG. 25 is a diagram showing a mode transition in the memory device in FIG. 20;
FIG. 26 is a block diagram showing an overall configuration of a redundant memory system according to a sixth embodiment of the present invention.
FIG. 27 is a diagram showing an internal configuration of a memory device 4 in FIG. 26;
FIG. 28 is a diagram showing details of an address determination circuit 172 in FIG. 26;
FIG. 29 is a diagram showing allocation of an address space of the memory device 4;
FIG. 30 is a diagram showing a state transition of the memory device 4 according to a combination of permission flags.
FIG. 31 is a diagram showing an error injection state in the memory by the error injection circuit 173 in FIG. 26;
FIG. 32 is a block diagram showing an overall configuration of a redundant memory system in which an address error detecting function is added to the sixth embodiment of the present invention.
FIG. 33 is a diagram showing an internal configuration of a memory device 4 in FIG. 32;
FIG. 34 is a diagram illustrating a data error detection method according to a seventh embodiment of the present invention.
FIG. 35 is a block diagram showing an overall configuration of a redundant memory system including a redundant bus conversion adapter 261 according to an eighth embodiment of the present invention.
36 is a diagram showing the internal structure of the duplex bus conversion adapter 261 in FIG.
FIG. 37 is a diagram showing a duplex bus conversion adapter 261 to which an address area register 276 is added in FIG. 36;
[Explanation of symbols]
1 processing device (CPU), 2 control ROM, 3 system bus control device, 4 memory device, 5 master determination circuit, 6 error detection circuit, 7 CPU bus switching circuit, 8 CPU data bus, 9 low level interrupt, 10 high Level interrupt, 11 CPU address bus, 12 CPU bus switching signal line, 13 system bus, 19 error detection circuit, 20 normal signal line, 21 master mode input signal line, 30 data output timing clock signal, 31 3-state buffer, 34 Pull-up resistor, 35 EXOR gate, 36 AND gate, 38 master switching signal line, 41 master mode output signal line, 42 reset signal line, 51 data comparison circuit, 53 comparison error signal line, 60 to 62 driver / receiver, 63 Parity generation circuit, 64-66 parity check circuit, 7 to 69 status register, 70 system bus control device internal bus, 71 memory, 72 memory device internal bus, 73 selection circuit, 78 input data switching signal line, 80, 85 error detection circuit, 81 system bus switching signal line, 82, 83 system bus switching circuit, 84 memory error detection signal line, 100 to 102 mode setting circuit, 103 mode setting signal line, 104, 105 comparison circuit, 106 A bus permission signal line, 107 B bus permission signal line, 113 comparison error signal Line, 120 mode setting data signal line, 121 selector circuit, 123, 125 mode latch, 140 power-on processing, 141, 146, 148 mode D state, 142 diagnostic processing, 143, 151 mode A state, 144, 152 normal operation, 145 Failure occurred, 147 Repair / replacement processing, 1 9 diagnostic processing, 150 memory copy processing, 153, 161 mode B state, 156 mode C state, 157 normal operation, 162 memory write signal, 163 parity generation permission signal line, 170 parity permission flag, 172 address discrimination circuit, 173 error injection Circuit, 174 error address register, 175 error address signal line, 176 address error detection circuit, 177 input / output control device, 180 power off state, 181 disconnection operation state, 183 normal operation state, 184 restoration operation state, 185 protection operation state, 186 Card insertion / power-on operation, 187 Card removal / power-off operation, 188 Memory diagnosis operation, 189 Power-on diagnosis completion, 190 error / single data error operation, 191 Duplicate data error occurrence, 192 address error occurrence, 1 3 Repair completed, 194 Memory copy operation, 195 Unrecoverable error occurred, 196 Diagnosis completed, 197 Protection mode switching, 200 memory space, 201 I / O space, 202 common access space, 203 individual access space, 206 I / O space A, 207 I / O space B, 208 memory space A, 209 memory space B, 210 common space write, 211 individual space write, 212 common space read, 213 individual space read, 214 read enable signal line, 215 write enable signal line , 222 driver gate signal line, 223 memory read data signal line, 225 flag write signal line, 226 memory write data signal line, 228 common space access signal, 229 individual space access signal, 230 I / O address determination circuit, 231 common space Designated cash register 232 individual space specification register, 233, 234 comparison circuit, 235 common space specification register setting signal line, 236 individual space specification register signal line, 239 parity generation circuit, 240 address receiver, 241 error upper limit value register, 244 error upper limit value Register setting signal line, 245 error detection circuit, 246 error detection signal line, 247 error accumulation counter, 248 accumulation counter output signal line, 249 comparison circuit, 251 input address signal line, 253 error address output signal line, 254 selector circuit, 256 Error correction signal line, 260 input / output control device, 261 duplex bus conversion adapter, 262 conversion bus signal line, 263 address driver / receiver circuit, 264 data driver / receiver circuit, 265 address signal line, 266 address input Signal line, 267 data signal line, 268 data input signal line, 269 address parity generation circuit, 270 address parity generation / selection circuit, 271 data parity generation circuit, 272 data parity generation circuit / selection circuit, 274 address error signal line, 275 Data error signal line, 276 address area register, 277 address area signal line, 278 comparison circuit, 279 driver output enable signal line, 282 address area register setting signal line.

Claims (8)

各種の処理を行う処理装置と、この処理装置にCPUバスを介して接続された一対のシステムバス制御装置と、この一対のシステムバス制御装置にそれぞれ接続された一対のシステムバスと、それぞれがこの一対のシステムバスの両方に接続された一対のメモリ装置A及びBと、を含み、処理装置における書込み動作時には、システムバス制御装置は一対のメモリ装置に同時に処理装置からのデータを書き込み、処理装置における読出し動作時には、いずれか一方のシステムバス制御装置が対応するメモリ装置から読み出したデータを処理装置に送出する二重化メモリシステムにおいて、
メモリ装置A及びBはそれぞれ、
メモリに対する書き込みを許可する書込み許可フラグと、
メモリからの読み出しを許可する読出し許可フラグと、
現アドレスに対するアクセスの対象を判別するアドレス判別回路と、
を有し、
アドレス判別回路による判別結果と書込み許可フラグ及び読出し許可フラグの組合せに応じてデータの書込みまたは読出しを行うことを特徴とする二重化メモリシステム。
A processing device for performing various processes, a pair of system bus controllers connected to the processing device via a CPU bus, and a pair of system buses respectively connected to the pair of system bus controllers; And a pair of memory devices A and B connected to both of the pair of system buses. In a write operation in the processing device, the system bus control device writes data from the processing device to the pair of memory devices simultaneously, and At the time of the read operation in the redundant memory system in which one of the system bus control devices sends data read from the corresponding memory device to the processing device,
The memory devices A and B are respectively
A write permission flag for permitting writing to the memory,
A read permission flag for permitting reading from the memory;
An address determination circuit for determining an access target for the current address;
Has,
A dual memory system, wherein data is written or read according to a combination of a result of determination by an address determination circuit and a write permission flag and a read permission flag.
請求項1に記載の二重化メモリシステムにおいて、
該システムは、
前記書込み許可フラグ及び読出し許可フラグの組合せに従って前記の各メモリ装置の状態を定義する状態定義手段と、
処理装置による設定に従い、各メモリ装置を状態定義手段において定義された各状態間で遷移させる状態遷移手段と、
を備えたことを特徴とする二重化メモリシステム。
The dual memory system according to claim 1,
The system is
State definition means for defining a state of each of the memory devices according to a combination of the write permission flag and the read permission flag;
State transition means for transitioning each memory device between the states defined by the state definition means according to the setting by the processing device;
A dual memory system comprising:
請求項1に記載の二重化メモリシステムにおいて、
前記メモリ装置A及びBはそれぞれ、
メモリ装置Aとメモリ装置Bがともにアクセス対象となる共通アクセス空間を指定する共通アクセス空間指定レジスタと、
メモリ装置Aまたはメモリ装置Bのいずれか一方がアクセス対象となる個別アクセス空間を指定する個別空間アクセス指定レジスタと、
を備えたことを特徴とする二重化メモリシステム。
The dual memory system according to claim 1,
The memory devices A and B are respectively
A common access space designation register for designating a common access space to be accessed by both the memory device A and the memory device B;
An individual space access designation register that designates an individual access space to be accessed by one of the memory device A and the memory device B;
A dual memory system comprising:
請求項3に記載の二重化メモリシステムにおいて、
該システムは、
メモリ装置Aとメモリ装置Bの共通アクセス空間指定レジスタの値を同じアドレスに設定する設定手段と、
メモリ装置Aの個別空間指定レジスタの値とメモリ装置Bの個別空間指定レジスタの値を異なったアドレスに設定する第二の設定手段と、
これらの設定手段によって設定されたアドレスを任意のタイミングで再設定する第三の設定手段と、
を備え、
メモリ装置を追加することなく使用可能なメモリ容量の倍増を可能とすることを特徴とする二重化メモリシステム。
The dual memory system according to claim 3,
The system is
Setting means for setting the value of the common access space designation register of the memory device A and the memory device B to the same address;
Second setting means for setting the value of the individual space designation register of the memory device A and the value of the individual space designation register of the memory device B to different addresses;
Third setting means for resetting the address set by these setting means at an arbitrary timing,
With
A duplicated memory system characterized in that usable memory capacity can be doubled without adding a memory device.
請求項1に記載の二重化メモリシステムにおいて、
該システムは、
各メモリ装置の任意領域に擬似的なエラーを注入するエラー注入手段と、
エラーの注入された領域をアクセスしてエラーの状態を検査するエラー状態検査手段と、
を有し、
システム各部の機能確認を可能とすることを特徴とする二重化メモリシステム。
The dual memory system according to claim 1,
The system is
Error injection means for injecting a pseudo error into an arbitrary area of each memory device,
Error state checking means for accessing an area where an error has been injected and checking an error state;
Has,
A redundant memory system characterized in that functions of each part of the system can be confirmed.
請求項5に記載の二重化メモリシステムにおいて、
該システムは、
前記エラー注入手段によってエラーが注入される領域のアドレス及び注入されるデータの値を両メモリ装置で異なる値に設定する注入値設定手段、
を有することを特徴とする二重化メモリシステム。
The dual memory system according to claim 5,
The system is
Injection value setting means for setting an address of an area where an error is injected by the error injection means and a value of data to be injected to different values in both memory devices;
A dual memory system comprising:
請求項1に記載の二重化メモリシステムにおいて、
前記各メモリ装置は、
システムバスのアドレスエラーを検出するシステムアドレスエラー検出手段と、
システムアドレスエラー検出手段の検出結果を他方のメモリ装置に通知するエラーアドレス信号線と、
他方のメモリ装置から通知されるエラーアドレス信号線の状態に従い、他方のメモリ装置でエラーが発生した際、自装置でエラーのないアドレスを記憶するエラーアドレス記憶手段と、
自装置でアドレスエラーが検出された際、自装置のメモリへの書込みを禁止する書込み禁止手段と、
を備えたことを特徴とする二重化メモリシステム。
The dual memory system according to claim 1,
Each of the memory devices,
System address error detecting means for detecting a system bus address error;
An error address signal line for notifying the detection result of the system address error detection means to the other memory device;
Error address storage means for storing an error-free address in its own device when an error occurs in the other memory device according to the state of the error address signal line notified from the other memory device;
Write-inhibiting means for inhibiting writing to the memory of the own device when an address error is detected in the own device;
A dual memory system comprising:
請求項7に記載の二重化メモリシステムにおいて、
該システムは、
前記システムアドレスエラー検出手段における検出結果に従って割込み信号を生成するシステムアドレスエラー割込み生成手段と、
システムアドレスエラー割込みが発生したときに前記エラーアドレス記憶手段に格納されたアドレスをもとにエラー修復を行うエラー修復手段と、
を備えたことを特徴とする二重化メモリシステム。
The dual memory system according to claim 7,
The system is
System address error interrupt generating means for generating an interrupt signal according to the detection result in the system address error detecting means,
Error repair means for performing error repair based on an address stored in the error address storage means when a system address error interrupt occurs;
A dual memory system comprising:
JP2003126673A 2003-05-01 2003-05-01 Duplex memory system Pending JP2004005627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003126673A JP2004005627A (en) 2003-05-01 2003-05-01 Duplex memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003126673A JP2004005627A (en) 2003-05-01 2003-05-01 Duplex memory system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP14491094A Division JP3436974B2 (en) 1994-06-27 1994-06-27 Redundant memory system

Publications (1)

Publication Number Publication Date
JP2004005627A true JP2004005627A (en) 2004-01-08

Family

ID=30438036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003126673A Pending JP2004005627A (en) 2003-05-01 2003-05-01 Duplex memory system

Country Status (1)

Country Link
JP (1) JP2004005627A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326048C (en) * 2005-05-31 2007-07-11 威盛电子股份有限公司 Memory access device and method
JP2009288987A (en) * 2008-05-28 2009-12-10 Fujitsu Ltd Method for controlling connecting apparatus in information processing system, control program, and information processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326048C (en) * 2005-05-31 2007-07-11 威盛电子股份有限公司 Memory access device and method
JP2009288987A (en) * 2008-05-28 2009-12-10 Fujitsu Ltd Method for controlling connecting apparatus in information processing system, control program, and information processing apparatus

Similar Documents

Publication Publication Date Title
EP1019823B1 (en) Redundant controller diagnosis using a private lun
JP2005302024A (en) Method and system of arbitration, and program storage device (method and system of arbitration for redundant controller by output interlock mechanism and automatic switching function)
US4792955A (en) Apparatus for on-line checking and reconfiguration of integrated circuit chips
JPS6229827B2 (en)
US6785763B2 (en) Efficient memory modification tracking with hierarchical dirty indicators
US8166273B2 (en) Degeneration method and information processing apparatus
JPH06342381A (en) Majority decision circuit, control unit, and semiconductor integrated circuit for majority decision
US6961826B2 (en) Processor state reintegration using bridge direct memory access controller
US6950907B2 (en) Enhanced protection for memory modification tracking with redundant dirty indicators
JP3436974B2 (en) Redundant memory system
US6785777B2 (en) Control logic for memory modification tracking with hierarchical dirty indicators
JP2004005627A (en) Duplex memory system
US6981172B2 (en) Protection for memory modification tracking
JP2004005628A (en) Duplex memory system
JP2003345676A (en) Dual-memory system
JP2003337758A (en) Duplexed memory system
JP3139738B2 (en) Logic circuit
JPS6229820B2 (en)
JP5632804B2 (en) Control device with bus diagnostic function
JPH07182253A (en) Bus adaptor and bus multiplexing system
JPH11149457A (en) Cpu degrading system for cluster connection multi-cpu system
WO2019211927A1 (en) Memory diagnosis device and memory diagnosis method
JPH0922387A (en) Memory unit
JPH05298193A (en) Memory access fault detecting circuit
JP3630523B2 (en) Bus transfer processing system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060523