(57)【要約】【課題】本発明は、　コンピュータシステムに搭載されたメモリ制御回路の誤り検出／訂正機能の診断を行うときに使用するメモリ擬似故障注入装置に関し、メモリ制御回路とメモリユニットとの間にアダプタを挿入し、アダプタで指定されたデータエラーを注入してメモリユニットに書き込ませ、読み出し時にメモリ制御回路の誤り検出／訂正機能の動作をもとに診断し、簡易かつ確実に誤り検出／訂正回路機能の診断を行うことを目的とする。【解決手段】メモリ制御回路とメモリユニットとの間に挿入接続するアダプタを設け、当該アダプタ内に、外部からのエラー注入指示を受け付ける第１の回路と、第１の回路が受け付けた指示に従いメモリユニットへのデータのエラーを注入する第２の回路とを備えるものである。【選択図】　図１
2004021922.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムに搭載されたメモリ制御回路の誤り検出／訂正機能の診断を行うときに使用するメモリ擬似故障注入装置において、
上記メモリ制御回路とメモリユニットとの間に挿入接続するアダプタを設け、
当該アダプタ内に、
外部からのエラー注入指示を受け付ける第１の回路と、
上記第１の回路が受け付けた指示に従い、上記メモリユニットへのデータのエラーを注入する第２の回路と
を備えたことを特徴とするメモリ擬似故障注入装置。
【請求項２】
上記第１の回路が外部から１ビットあるいは２ビットのデータエラーの指示を受け付けたときに、上記第２の回路が当該指示に従い、上記メモリユニットへのデータの１ビットあるいは２ビットのエラーを注入することを特徴とする請求項１記載のメモリ擬似故障注入装置。
【請求項３】
上記第２の回路が上記メモリユニットへの書き込み時に、論理１のデータを論理０に変更して出力し、エラー注入することを特徴とする請求項１あるいは請求項２記載のメモリ擬似故障注入装置。
【請求項４】
上記第２の回路でデータエラーを発生させて上記メモリユニットに書き込み、当該メモリユニットから読み出したデータを上記誤り検出／訂正機能が１ビットエラーのときは自動修正、２ビットエラーのときはエラーとしたときに、当該誤り検出／訂正機能が正常と判定する手段
を備えたことを特徴とする請求項１から請求項３のいずれかに記載のメモリ擬似故障注入装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムに搭載されたメモリ制御回路の誤り検出／訂正機能の診断を行うときに使用するメモリ擬似故障注入装置に関するものである。
【０００２】
【従来の技術】
従来、パソコンなどのメモリ制御回路に実装されている、メモリアクセス時の誤り検出／訂正回路の動作の正常、異常を評価するには、メモリユニット内に擬似故障注入回路機能を組み込み、診断コマンドによって当該機能によりメモリにエラーデータを書き込み、読み出し時に誤り検出／訂正回路の動作を確認して正常、異常を診断していた。
【０００３】
また、メモリユニットのエラーを注入するデータバス信号にテスト用の布線を半田付けし、スイッチを経由してバス信号論理値を強制的に例えば論理０に押さえ込んでメモリにエラーデータを書き込み、読み出し時に誤り検出／訂正回路の動作を確認して正常、異常を診断していた。
【０００４】
【発明が解決しようとする課題】
上述した従来の前者の手法では、通常使用しない擬似故障注入回路機能を予め組み込んでおくため、当該機能によりコスト高となってしまうと共に、メモリユニットが異なる毎に専用の診断プログラムが必要となってしまうという問題があった。
【０００５】
また、上述した従来の後者の手法では、メモリユニットに布線を半田付けする手間が必要となってしまうと共に、バス信号を押さえ込む時期の正確性に欠けて目的とするエラーを確実に注入し、メモリに書き込み難いという問題もあった。
【０００６】
本発明は、これらの問題を解決するため、メモリ制御回路とメモリユニットとの間にアダプタを挿入し、アダプタで指定されたデータエラーを注入してメモリユニットに書き込ませ、読み出し時にメモリ制御回路の誤り検出／訂正機能の動作をもとに診断し、簡易かつ確実に誤り検出／訂正回路機能の診断を行うことを目的としている。
【０００７】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
【０００８】
図１において、コンピュータ１は、メモリユニット３にデータを書き込んだり、読み出したりして各種処理を実行するものであって、ここでは、メモリ制御回路１２などから構成されるものである。
【０００９】
メモリ制御回路１２は、メモリユニット３にデータを書き込んだり、メモリユニット３から読み出したデータをチェックしたりなどするものである。
【００１０】
アダプタ２は、本願発明に係わるものであって、メモリ制御回路１２とメモリユニット３との間に挿入接続したものであり、擬似故障注入回路２１および外部インタフェース制御回路２２などから構成されるものである。
【００１１】
擬似故障注入回路２１は、メモリ制御回路１２から出力されたデータのビットの値を変更してメモリユニット３に書き込んだりなどするものである。
【００１２】
外部インタフェース制御回路２２は、外部からのエラー注入指示を受け付けるものである。
【００１３】
メモリユニット３は、アクセス元からのデータを書き込んで記憶したり、記憶したデータを読み出してアクセス元に通知したりするものである。
【００１４】
次に、動作を説明する。
コンピュータ１を構成するメモリ制御回路１２とメモリユニット３との間にアダプタ２を挿入接続し、アダプタ２を構成する外部インタフェース制御回路２２が外部からのエラー注入指示を受け付け、擬似故障注入回路２１が受け付けたエラー注入指示に従い、メモリ制御回路１２からのデータにエラーを注入してメモリユニット３に出力して書き込むようにしている。
【００１５】
この際、外部インタフェース制御回路２１が外部から１ビットあるいは２ビットのデータエラーの指示を受け付けたときに、擬似故障注入回路２１が当該指示に従いメモリ制御回路１２からのデータに１ビットあるいは２ビットのエラーを注入し、メモリユニットへ出力して書き込むようにしている。
【００１６】
また、擬似故障注入回路２１がメモリユニット３への書き込み時に、論理１のデータを論理０に変更して出力し、エラー注入するようにしている。
【００１７】
また、擬似故障注入回路２１がデータエラーを発生させてメモリユニット３に書き込み、当該メモリユニット３から読み出したデータをメモリ制御回路１２の誤り検出／訂正機能が１ビットエラーのときは自動修正、２ビットエラーのときはエラーとして動作したときに、当該誤り検出／訂正機能が正常と判定するようにしている。
【００１８】
従って、メモリ制御回路１２とメモリユニット３との間にアダプタ２を挿入し、アダプタ２で指定されたデータエラーを注入してメモリユニット３に書き込ませ、読み出し時にメモリ制御回路１２の誤り検出／訂正機能の動作をもとに診断することにより、簡易かつ確実に誤り検出／訂正回路機能の診断を行うことが可能となる。
【００１９】
【発明の実施の形態】
次に、図１から図４を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００２０】
図１は、本発明のシステム構成図を示す。
図１において、コンピュータ１は、メモリユニット３にデータを書き込んだり、読み出したりして各種処理を実行するものであって、ここでは、ＣＰＵ１１，メモリ制御回路１２などを搭載したマザーボードなどである。
【００２１】
ＣＰＵ１１は、プログラムに従い各種処理を実行するものである。
メモリ制御回路１２は、メモリユニット３にデータを書き込んだり、メモリユニット３からデータを読み出してチェックしたり、１ビットエラーのときは自動修正したり、２ビットエラーのときはエラー通知したりなどするものであって、ＥＣＣ回路、チェック回路などなどから構成されるものである。
【００２２】
ＥＣＣ回路は、メモリユニット３に書き込むデータに１ビットエラー時に自動修正するための情報（ＥＣＣデータ）をデータに付加するものである。
【００２３】
チェック回路は、メモリユニット３から読み出したＥＣＣデータ、パリティビット付きのデータについてチェックして１ビットエラーのときに自動修正し、２ビットエラーのときにエラー通知したりなどするものである。
【００２４】
メモリユニット接続コネクタ１３は、メモリユニット３のコネクタを挿入して接続するためのコネクタであって、ここでは、アダプタ２のコネクタを挿入して接続するものである。
【００２５】
アダプタ２は、本願発明に係わるものであって、メモリ制御回路１２からのデータに１ビットエラー、２ビットエラーを発生（注入）するものであり、ここでは、擬似故障注入回路２１、外部インタフェース制御回路２２、メモリユニット接続コネクタ２３などから構成されるものである。
【００２６】
擬似故障注入回路２１は、メモリ制御回路１２からのデータに１ビットエラー、２ビットエラーを注入するものである。
【００２７】
外部インタフェース制御回路２２は、外部からのエラー注入指示（１ビットエラー、２ビットエラーの指示）を受け付けるものである。
【００２８】
メモリユニット接続コネクタ２３は、メモリユニット３を挿入して接続するためのコネクタである。
【００２９】
外部制御回路２４は、外部に設けてアダプタ２に１ビットエラー、２ビットエラーの注入（発生）を指示したり、当該エラー注入したデータをコンピュータ１に読み出させてメモリ制御回路１２のエラー検出／訂正機能の動作をログ情報から取り出して診断したりなどするものである。
【００３０】
次に、図２のフローチャートの順番に従い、図１の構成の動作を詳細に説明する。
【００３１】
図２は、本発明の動作フローチャートを示す。
図２の（ａ）は、データ書き込み動作フローチャートを示す。
【００３２】
図２の（ａ）において、Ｓ１は、外部インタフェース―から、発生させるエラーの種類を指示する。これは、図１の外部制御回路２４をオペレータが操作し、アダプタ２を構成する外部インタフェース制御回路２２に、例えば、１ビットエラーあるいは２ビットエラーなどのエラーの種類の指示を送信する。
【００３３】
Ｓ２は、ＣＰＵ１１がデータライトする。
Ｓ３は、メモリ制御回路１２がＥＣＣ／パリティ付加して書き込み指示する。これは、Ｓ２でＣＰＵ１１がデータライトしたことに対応して、当該ライトされたデータを受信したメモリ制御回路１２が当該データから生成したＥＣＣデータおよびパリティビットを当該データに付加し、メモリユニットに３に書き込む（図１ではアダプタ２にライトデータを出力する）。
【００３４】
Ｓ４は、アダプタが論理”１”の書き込みデータを論理”０”に変更する。ここで、Ｓ１で１ビットエラーが指示されていたときはライトのビット１のデータの論理”１”を論理”０”に変更する。また、Ｓ１で２ビットエラーが指示されていたときはライトのビット２，４のデータの論理”１”を論理”０”にそれぞれ変更する。
【００３５】
Ｓ５は、メモリユニット３へ書き込む。これは、Ｓ４で変更した後のエラーデータをメモリユニット３へ書き込む。
【００３６】
以上によって、図１の外部制御回路２４からアダプタ２の外部インタフェース制御回路２２に１ビットエラーあるいは２ビットエラーを指示およびコンピュータ１のＣＰＵ１１に指示してデータをライトさせるとメモリ制御回路１２がＥＣＣデータ、パリティビットをデータに付加し、アダプタ２の擬似故障注入回路２１がＥＣＣデータ、パリティビットの付加されたデータの１ビットエラーあるいは２ビットエラーを発生（注入）してメモリユニット３に書き込むことが可能となる。
【００３７】
次に、図２の（ｂ）は、データ読出し動作フローチャートを示す。
図２の（ｂ）において、Ｓ１１は、ＣＰＵ１１がデータリードする。これは、図１の外部制御回路２４がコンピュータ１のＣＰＵ１１に指示し、Ｓ５でメモリユニット３へ書き込んだデータについて、読み出す。
【００３８】
Ｓ１２は、メモリユニット３からデータを読み出す。
Ｓ１３は、アダプタ２がスルーする（何もしない）。これらＳ１２、Ｓ１３は、Ｓ１１でＣＰＵ１１がメモリユニット３からデータリードすると、メモリユニット３から読み出されたデータはアダプタ２をスルーで通過してメモリ制御回路１２に入る。
【００３９】
Ｓ１４は、メモリ制御回路１２のチェック回路がエラーの有無を検査する。ここでは、データに付加されているパリティビットでエラーチェック、およびＥＣＣデータでエラーチェックする。
【００４０】
Ｓ１５は、１ビットエラーか判別する。ＹＥＳの場合には、１ビットエラーと判明したので、Ｓ１６に進む。一方、ＮＯの場合には、２ビットエラーと判明したので、Ｓ２１に進む。
【００４１】
Ｓ１６は、Ｓ１５のＹＥＳで１ビットエラーと判明したので、メモリ制御回路１２で当該１ビットエラーをＥＣＣデータをもとに自動修正し、ログファイルにアドレス、ビット位置などを書き込む。
【００４２】
Ｓ１７は、１ビットエラー発生指示か判別する。これは、既述した図２の（ａ）のＳ１で１ビットエラー発生指示したか判別する。ＹＥＳの場合には、１ビットエラー発生指示して１ビットエラーが検出されて自動修正されたので、Ｓ１８でメモリ制御回路１２のチェック回路は正常と判定する。一方、Ｓ１７のＮＯの場合には、２ビットエラー発生指示して１ビットエラーが検出されて自動修正されたので、Ｓ１９でメモリ制御回路１２のチェック回路で１ビットエラーが発生しなかったので、異常と判定する。
【００４３】
また、Ｓ２１は、Ｓ１５のＮＯで２ビットエラーと判明したので、パニック状態となり、システムが停止する。
【００４４】
Ｓ２２は、２ビットエラー発生指示か判別する。これは、既述した図２の（ａ）のＳ１で２ビットエラー発生指示したか判別する。ＹＥＳの場合には、２ビットエラー発生指示して２ビットエラーが検出されたので、Ｓ１８でメモリ制御回路１２のチェック回路は正常と判定する。一方、Ｓ２２のＮＯの場合には、１ビットエラー発生指示して２ビットエラーが検出されたので、Ｓ２３でメモリ制御回路１２のチェック回路で２ビットエラーが発生しなかったので、異常と判定する。
【００４５】
以上によって、図２の（ａ）のＳ１からＳ５により、１ビットエラーあるいは２ビットエラーのデータをメモリユニット３に書き込んでおき、当該図２の（ｂ）のＳ１１からＳ２３により、メモリユニット３から読み出したデータについてメモリ制御回路１２でチェックし、１ビットエラー指示して１ビットエラーが検出されたときおよび２ビットエラー指示して２ビットエラーが検出されたときに当該メモリ制御回路１２のエラー検出／訂正機能が正常（Ｓ１８）と判定し、それ以外の場合に異常（Ｓ１９，Ｓ２３）と判定することが可能となる。
【００４６】
図３は、本発明の１ビット／２ビットの擬似故障注入回路のブロック図を示す。これは、既述した図１の擬似故障注入回路２１の詳細ブロック図を示す。ここで、図中の各信号名称のフルネームおよび意味は下段に記載した通りである。また、以下説明する▲１▼から▲８▼の信号は、図３中の▲１▼から▲８▼および後述する図４の▲１▼から▲８▼にそれぞれ対応している。
【００４７】
ここで、１ビット擬似故障注入する場合の動作について詳細に説明する。
（１）　外部制御回路２４から外部インタフェース制御回路２２を経由して、擬似故障の種類▲３▼（ＫＥＲ１（１ビットエラー），ＫＥＲ２（２ビットエラー）、ここではＫＥＲ１），ロジック起動（ＳＴＡＲＴ）が指示されると、チップセレクト４４（Ｓ０からＳ３の論理和でユニットセレクト）とライトコマンド抽出回路（ＡＮＤ）４５の論理積▲４▼（ＣＭＤＧＥＴ）とからライトコマンド検出ラッチ（ＦＦ）４８の出力信号▲５▼（ＣＭＤＤＥＴＥＣＴ）、論理積回路（ＡＮＤ）４６の出力からクランプラッチ（ＦＦ）５０をセットする（▲６▼ＣＬＵＭＰ）。
【００４８】
（２）　このクランプラッチ（ＦＦ）５０の出力の正負信号（ＣＬＵＭＰ，＊ＣＬＵＭＰ）で高速バススイッチ５２によって入力データバス信号を遮断、高速バススイッチ５３によって０Ｖ（論理”０”）を出力信号としてメモリユニット３へ供給する。
【００４９】
（３）　クランプラッチ（ＦＦ）５０は、ライトコマンド検出ラッチ（ＦＦ）４８（▲５▼ＣＭＤＤＥＴＥＣＴ）がセットされた直後のクロックをトリガとしてクランプエンドラッチ（ＦＦ）４９（▲７▼ＣＬＵＭＰＥＮＤ）をセットし、タイマ計測器による時間経過後、リセットする。
【００５０】
（４）　シングルビット擬似故障のときは、ライトコマンド検出後、最初に書き込まれる論理”１”データバス信号に対して、１ビット時間だけ論理”０”を供給するように動作する。
【００５１】
（５）　バーストビット擬似故障の場合には、タイマ計数器５１によって指定時間経過するまでリセットを遅延する。
【００５２】
（６）　尚、２ビット擬似故障の場合には、選択した２ビットのデータバス信号が両者共に論理”１”であるとき、上述した（１）から（５）の動作を行い、選択した２本のデータバス信号にそれぞれ論理”０”を供給する。
【００５３】
以上のように、外部から１ビットエラーあるいは２ビットエラーを指示すると、高速スイッチ５２で該当１ビット、あるいは２ビットの入力データバス信号を遮断し、高速スイッチ５３で論理”０”を出力信号としてメモリユニット３に供給することにより、外部からの指示に従い１ビットエラーあるいは２ビットエラーのデータを簡易かつ確実にメモリユニット３に書き込むことが可能となる。
【００５４】
図４は、本発明の波形図を示す。これは、既述した図３の▲１▼から▲８▼における信号の波形の例を示す。
【００５５】
▲１▼クロック（ＣＬＫ）：図３の回路を同期動作させるクロックの例である。
▲２▼１ビットエラー発生指示（ＫＥＲ１）：外部から入力する、１ビットエラー発生指示の信号（ＫＥＲ１）の例である。
【００５６】
▲３▼入力データ（ＤＢ１１）：１ビットの入力データの例（ＤＢ１１）である。
【００５７】
▲４▼書込信号（ＣＭＤＧＥＴ）：図３のＡＮＤ回路４５の出力信号（▲４▼ＣＭＤＧＥＴ）である。
【００５８】
▲５▼ＣＭＤＤＥＴＥＣＴ：図３のＡＮＤ回路４８の出力信号（▲５▼ＣＭＤＤＥＴＥＣＴ）である。
【００５９】
▲６▼ＣＬＵＭＰ：図３のＦＦ回路５０の正の出力信号（▲６▼ＣＬＵＭＰ）である。
【００６０】
▲７▼ＣＬＵＭＰＥＮＤ：図３のＦＦ回路４９の出力信号（▲７▼ＣＬＵＭＰＥＮＤＤ）である。
【００６１】
▲８▼出力信号（ＤＢ１１’）：図３の▲８▼出力データ（ＤＢ１１’）である。
以上のように、▲２▼１ビットエラー発生指示がアクティブとなると、▲３▼入力データ（ＤＢ１１）が論理”１”のときに、▲４▼書込信号、▲５▼ＣＭＤＤＥＴＥＣＴ，▲６▼ＣＬＵＭＰ，▲７▼ＣＬＵＰＥＮＤによって示すように、▲８▼出力信号（ＤＢ１１’）が論理”０”に強制的に変更されて出力され、メモリユニット３に書き込まれることとなる。尚、２ビットエラー発生指示の場合には、同様の回路を更に１組設け、それぞれのデータ（例えば２ビットと４ビットのデータ）の論理”１”を論理”０”にそれぞれ変更して出力し、メモリユニット３に書き込む。
【００６２】
【発明の効果】
以上説明したように、本発明によれば、メモリ制御回路１２とメモリユニット３との間にアダプタ２を挿入し、アダプタ２で指定されたデータエラーを注入してメモリユニット３に書き込ませ、読み出し時にメモリ制御回路１２の誤り検出／訂正機能の動作をもとに診断する構成を採用しているため、簡易かつ確実に誤り検出／訂正回路機能の診断を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作フローチャートである。
【図３】本発明の１ビット／２ビットの擬似故障注入回路のブロック図である。
【図４】本発明の波形図である。
【符号の説明】
１：コンピュータ
１１：ＣＰＵ
１２：メモリ制御回路
１３：メモリユニット接続コネクタ
２：アダプタ
２１：擬似故障注入回路
２２：外部インタフェース制御回路
２３：メモリユニット接続コネクタ
２４：外部制御回路
３：メモリユニット
【図１】
2004021922.tif 000003
【図２】
2004021922.tif 000004
【図３】
2004021922.tif 000005
【図４】
2004021922.tif 000006