(57)【特許請求の範囲】
【請求項１】
互いにビットの値が反転している関係にあるビットパターンの第１及び第２のテストデータを発生するテストデータ発生手段と、
診断すべきメモリに対して、書き込み時は互いにビットの値が反転している関係にあるビットパターンの第１及び第２の特定アドレスを含む書き込みアドレスを順次に発生し、読み出し時は前記第１及び第２の特定アドレスを含む読み出しアドレスを順次に発生するアドレス生成手段と、
前記メモリに対して前記アドレス生成手段からのアドレスを順次に入力して、前記第１又は第２のテストデータを書き込んだ後、該メモリから書き込んだデータを読み出すことを２回繰り返す書き込み／読み出し制御手段と、
前記書き込み／読み出し制御手段による１回目の書き込み時は、前記アドレス生成手段からのアドレスが、前記第１の特定アドレス及び前記第２の特定アドレスのときに前記テストデータ発生手段から前記第１のテストデータを出力させ、該第１及び第２の特定アドレス以外のアドレスのときは前記テストデータ発生手段から前記第２のテストデータを出力させて前記メモリに書き込み、前記書き込み／読み出し制御手段による２回目の書き込み時は、前記アドレス生成手段からのアドレスが、前記第１の特定アドレス及び前記第２の特定アドレスのときに前記テストデータ発生手段から前記第２のテストデータを出力させ、該第１及び第２の特定アドレス以外のアドレスのときは前記テストデータ発生手段から前記第１のテストデータを出力させて前記メモリに書き込む書き込みデータ選択手段と、
前記書き込み／読み出し制御手段による１回目及び２回目の読み出し時は、前記アドレス生成手段から順次に出力されるアドレスに基づき、前記メモリの全アドレス領域からデータを順次読み出し、その読み出しデータと前記テストデータ発生手段から出力される同じアドレスの期待値の前記第１又は第２のテストデータとを順次比較し、不一致の比較結果が得られたときの、前記メモリから読み出した不一致データが前記第１及び第２のテストデータのいずれかであるときに該メモリのアドレス線の故障と判定し、前記メモリから読み出した不一致データが前記第１及び第２のテストデータ以外の値のときに該メモリのデータ領域の故障と判定する比較判定手段と
を有することを特徴とするメモリ診断装置。
【請求項２】
前記書き込みデータ選択手段は、前記アドレス生成手段からのアドレスが前記第１の特定アドレス又は前記第２の特定アドレスと一致するかどうか判定し、一致するときは一致信号を出力する判定手段と、前記書き込み／読み出し制御手段による１回目の書き込み時は、前記判定手段から前記一致信号が出力されるときは前記テストデータ発生手段から前記第１のテストデータを選択して出力させ、前記一致信号が出力されないときは前記テストデータ発生手段から前記第２のテストデータを選択して出力させ、前記書き込み／読み出し制御手段による２回目の書き込み時は、前記判定手段から前記一致信号が出力されるときは前記テストデータ発生手段から前記第２のテストデータを選択して出力させ、前記一致信号が出力されないときは前記テストデータ発生手段から前記第１のテストデータを選択して出力させる選択手段とよりなることを特徴とする請求項１記載のメモリ診断装置。
【請求項３】
前記第１のテストデータは、各ビットの値がビット番号順に０と１の交互配置によるｎビットパターン（ｎは２以上の整数）であり、前記第２のテストデータは、該第１のテストデータの各ビットの値が反転しているｎビットパターンであることを特徴とする請求項１又は２記載のメモリ診断装置。
【請求項４】
前記第１の特定アドレスは、各ビットの値がビット番号順に０と１の交互配置によるｍビットパターン（ｍは２以上の整数）であり、前記第２の特定アドレスは、該第１の特定アドレスの各ビットの値が反転しているｍビットパターンであることを特徴とする請求項１乃至３のうちいずれか一項記載のメモリ診断装置。
【請求項５】
診断すべきメモリの全アドレス領域のうち、互いにビットの値が反転している関係にあるビットパターンの第１及び第２の特定アドレスに第１のテストデータを書き込み、かつ、該第１及び第２の特定アドレス以外のアドレスに前記第１のテストデータと各ビットの値が反転した関係にある第２のテストデータを書き込む第１のステップと、
前記第１ステップにより前記第１及び第２のテストデータが書き込まれたメモリの全アドレス領域からデータを順次読み出し、その読み出しデータと同じアドレスの期待値の前記第１又は第２のテストデータとを比較し、その比較結果に基づいて故障判定する第２のステップと、
前記メモリの前記第１及び第２の特定アドレスに前記第２のテストデータを書き込み、かつ、該第１及び第２の特定アドレス以外のアドレスに前記第１のテストデータを書き込む第３のステップと、
前記第３のステップにより前記第１及び第２のテストデータが書き込まれたメモリの全アドレス領域からデータを順次読み出し、その読み出しデータと前記テストデータ発生手段から出力される同じアドレスの期待値の前記第１又は第２のテストデータとを比較し、その比較結果に基づいて故障判定する第４のステップと
を含み、前記第２のステップ又は前記第４のステップにおいて、不一致の比較結果が得られたときの、前記メモリから読み出した不一致データが前記第１及び第２のテストデータのいずれかであるときに該メモリのアドレス線の故障と判定し、前記メモリから読み出した不一致データが前記第１及び第２のテストデータ以外の値の比較結果が得られたときに該メモリのデータ領域の故障と判定することを特徴とするメモリ診断方法。
【請求項６】
前記第１のテストデータは、各ビットの値がビット番号順に０と１の交互配置によるｎビットパターン（ｎは２以上の整数）であり、前記第２のテストデータは、該第１のテストデータの各ビットの値が反転しているｎビットパターンであることを特徴とする請求項５記載のメモリ診断方法。
【請求項７】
前記第１の特定アドレスは、各ビットの値がビット番号順に０と１の交互配置によるｍビットパターン（ｍは２以上の整数）であり、前記第２の特定アドレスは、該第１の特定アドレスの各ビットの値が反転しているｍビットパターンであることを特徴とする請求項５又は６記載のメモリ診断方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリ診断装置及び診断方法に係り、特にメモリの全アドレス領域に対して書き込み、読み出し、比較をシーケンシャルに行うことでメモリの障害をチェックするメモリ診断装置及び診断方法に関する。
【０００２】
【従来の技術】
従来より知られているメモリ診断方法は、レジスタに格納したテストデータをシーケンシャルに診断しようとするメモリの全アドレスに書き込んだ後、メモリの全アドレスから記憶データを順次読み出して、その読み出しデータとレジスタに格納したテストデータとを比較することで行っている。この従来のメモリ診断方法では、メモリの全アドレス領域の各ビットが正常に動作するかをチェックするためには、全ビットを変化させる必要があるため、テストデータとして、各ビットの値が相反する２つ以上のデータパターンで行っている。
【０００３】
例えば、１６ビット幅のデータを書き込み読み出すメモリにおいては、テストデータとして、５５５５ｈとＡＡＡＡｈ（ｈは１６進数表示：以下同じ）の２パターンを使用し、それぞれのテストデータにおいて、書き込み、読み出し、比較のシーケンシャルの処理を行いメモリの全アドレス領域の各ビットをチェックしている。
【０００４】
【発明が解決しようとする課題】
しかるに、上記の従来のメモリ診断方法では、メモリへのアドレス線の障害が発生した場合、この障害を発見できない。その理由は、例えば８ビット幅（ビット７〜ビット０）のアドレス領域”００ｈ〜ＦＦｈ”のメモリにおいて、ビット７のアドレス線が０固定の故障となったと仮定すると、８０ｈ〜ＦＦｈのアドレス領域への書き込み時に、実際は００ｈ〜ＥＦｈのアドレス領域に上書きされ、読み出し時にもこのアドレス領域のデータが読み出されるが、同じテストデータのため、比較一致において正常となり、障害が発見できない。これは、アドレス線が１固定で故障した場合も、他のビットのアドレス線が故障した場合も同様である。
【０００５】
また、従来、アドレス線の障害を検出し得るメモリ診断方法も知られている（例えば特開平４−３０２０４５号公報）。この従来のメモリ診断方法では、アドレス線のビットのいずれか１つを１にしたアドレスを供給してメモリに異なるデータを書き込んだ後、全てのビットが０のアドレスを供給してメモリからデータを読み出すことを、全てのアドレス線のビットについて繰り返し行い、読み出した値が初期値（例えば０）以外のときにメモリの当該ビット自身あるいはビット線が障害と診断する。
【０００６】
しかし、この公報記載の従来のメモリ診断方法は、アドレス線の障害を検出するためだけの処理であり、アドレス領域のビットの障害を診断するための上記の全アドレス領域の書き込み、読み出し、比較の診断処理とは別に行う必要があるため、診断に長時間要するという問題がある。また、このアドレス線の障害検出処理のためのアドレス生成部やテストデータ保持部などの診断回路が更に必要となるという問題がある。
【０００７】
本発明は以上の点に鑑みなされたもので、全アドレス領域の書き込み、読み出し、比較の診断処理とアドレス線の障害を同時にチェックし得るメモリ診断装置及び診断方法を提供することを目的とする。
【０００８】
また、本発明の他の目的は、簡単な回路構成により短時間でメモリのデータ領域とアドレス線の障害の有無をチェックし得るメモリ診断装置及び診断方法を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、本発明のメモリ診断装置は、互いにビットの値が反転している関係にあるビットパターンの第１及び第２のテストデータを発生するテストデータ発生手段と、診断すべきメモリに対して、書き込み時は互いにビットの値が反転している関係にあるビットパターンの第１及び第２の特定アドレスを含む書き込みアドレスを順次に発生し、読み出し時は第１及び第２の特定アドレスを含む読み出しアドレスを順次に発生するアドレス生成手段と、メモリに対してアドレス生成手段からのアドレスを順次に入力して、第１又は第２のテストデータを書き込んだ後、メモリから書き込んだデータを読み出すことを２回繰り返す書き込み／読み出し制御手段と、書き込み／読み出し制御手段による１回目の書き込み時は、アドレス生成手段からのアドレスが、第１の特定アドレス及び第２の特定アドレスのときにテストデータ発生手段から第１のテストデータを出力させ、第１及び第２の特定アドレス以外のアドレスのときはテストデータ発生手段から第２のテストデータを出力させてメモリに書き込み、書き込み／読み出し制御手段による２回目の書き込み時は、アドレス生成手段からのアドレスが、第１の特定アドレス及び第２の特定アドレスのときにテストデータ発生手段から第２のテストデータを出力させ、第１及び第２の特定アドレス以外のアドレスのときはテストデータ発生手段から第１のテストデータを出力させてメモリに書き込む書き込みデータ選択手段と、書き込み／読み出し制御手段による１回目及び２回目の読み出し時は、アドレス生成手段から順次に出力されるアドレスに基づき、メモリの全アドレス領域からデータを順次読み出し、その読み出しデータとテストデータ発生手段から出力される同じアドレスの期待値の第１又は第２のテストデータとを順次比較し、不一致の比較結果が得られたときの、メモリから読み出した不一致データが第１及び第２のテストデータのいずれかであるときにメモリのアドレス線の故障と判定し、メモリから読み出した不一致データが第１及び第２のテストデータ以外の値のときにメモリのデータ領域の故障と判定する比較判定手段とを有する構成としたものである。
【００１０】
また、上記の目的を達成するため、本発明のメモリ診断方法は、診断すべきメモリの全アドレス領域のうち、互いにビットの値が反転している関係にあるビットパターンの第１及び第２の特定アドレスに第１のテストデータを書き込み、かつ、第１及び第２の特定アドレス以外のアドレスに第１のテストデータと各ビットの値が反転した関係にある第２のテストデータを書き込む第１のステップと、第１ステップにより第１及び第２のテストデータが書き込まれたメモリの全アドレス領域からデータを順次読み出し、その読み出しデータと同じアドレスの期待値の第１又は第２のテストデータとを比較し、その比較結果に基づいて故障判定する第２のステップと、メモリの第１及び第２の特定アドレスに第２のテストデータを書き込み、かつ、第１及び第２の特定アドレス以外のアドレスに第１のテストデータを書き込む第３のステップと、第３のステップにより第１及び第２のテストデータが書き込まれたメモリの全アドレス領域からデータを順次読み出し、その読み出しデータとテストデータ発生手段から出力される同じアドレスの期待値の第１又は第２のテストデータとを比較し、その比較結果に基づいて故障判定する第４のステップとを含み、第２のステップ又は第４のステップにおいて、不一致の比較結果が得られたときの、メモリから読み出した不一致データが第１及び第２のテストデータのいずれかであるときにメモリのアドレス線の故障と判定し、メモリから読み出した不一致データが第１及び第２のテストデータ以外の値の比較結果が得られたときにメモリのデータ領域の故障と判定することを特徴とする。
【００１１】
上記の本発明のメモリ診断装置及び方法では、予め定めた第１及び第２の特定アドレスに、互いに各ビットの値が反転した関係にある第１のテストデータ及び第２のテストデータの一方を書き込み、かつ、第１及び第２の特定アドレス以外のアドレスに他方のテストデータを書き込むようにしたため、アドレス線が故障した場合は他のアドレスに影響し、特定アドレスに書き込まれるべきテストデータと異なるテストデータが上書きされたり、他のアドレスのテストデータが読み出され、その結果、特定アドレスの期待値と読み出しデータとが不一致となる。
【００１２】
また、本発明では、メモリから第１又は第２の特定アドレス指定時に読み出した第１又は第２のテストデータが、第１の特定アドレスの期待値又は第２の特定アドレスの期待値と異なるときにアドレス線の故障と判定し、メモリから読み出したデータが第１及び第２のテストデータ以外の値のときにメモリのデータ領域の故障と判定することができるため、データ故障を検出するシーケンシャルな処理中の、第１及び第２の特定アドレスに他のアドレスと異なるデータパターンのテストデータを設定するだけで、追加のメモリアクセス処理を行うことなく、アドレス線の故障とデータ領域の故障の両方を検出することができる。
【００１３】
また、上記の目的を達成するため、本発明は、上記の第１のテストデータを、各ビットの値がビット番号順に０と１の交互配置によるｎビットパターン（ｎは２以上の整数）とし、上記の第２のテストデータを、第１のテストデータの各ビットの値が反転しているｎビットパターンとすることを特徴とする。
【００１４】
また、本発明は、上記の第１の特定アドレスを、各ビットの値がビット番号順に０と１の交互配置によるｍビットパターン（ｍは２以上の整数）とし、上記の第２の特定アドレスを、第１の特定アドレスの各ビットの値が反転しているｍビットパターンとすることを特徴とする。
【００１５】
本発明では、第１及び第２のテストデータや第１及び第２の特定アドレスを、ビット番号順に０と１が交互に配置されたビットパターン（例えば、１６ビット幅の場合、５５５５ｈとＡＡＡＡｈ）としているので、アドレス線やデータバスが物理的にビット番号順に配列している場合、隣接するビットが短絡して同時にしか動作しない故障状態が発生しても、故障を検出することができる。
【００１６】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に説明する。図１は本発明になるメモリ診断装置の一実施の形態のブロック図を示す。同図において、メモリ１のメモリ診断装置２は、診断時のメモリアドレスＳ１と通常動作時のメモリアドレスＳ２を選択するアドレス選択回路３と、診断時のメモリ入力データＳ３と通常動作時のメモリ入力データＳ４を選択するデータ選択回路４と、診断制御部５と、アドレス生成部６と、データレジスタ７及び８と、テストデータ選択回路９と、データ制御部１０と、比較一致回路１１とから構成される。
【００１７】
診断制御部５は、アドレス選択回路３とデータ選択回路４を制御して、診断時のアドレスＳ１とメモリ入力データＳ３か、通常動作時のアドレスＳ２とメモリ入力データＳ４を選択する。アドレス生成部６は、メモリ１の全アドレスをシーケンシャルに生成する。データレジスタ７とデータレジスタ８は互いに各ビットが反転している関係にあるビットパターン（例えば１６ビットデータ幅の場合、５５５５ｈとＡＡＡＡｈなど）をそれぞれ保持する。
【００１８】
テストデータ選択回路９は、データレジスタ７とデータレジスタ８のいずれか一方のビットパターンを診断時のメモリ入力データＳ３として選択する。データ制御部１０は、診断制御部５からの指示信号Ｓ８と、アドレス生成部６からのアドレス値に基づいて、テストデータ選択回路９へ選択信号Ｓ９を出力して、テストデータ選択回路９の選択動作を制御して診断時のメモリ入力データＳ３を出力させる。
【００１９】
比較一致回路１１は、メモリ出力データＳ５とメモリ入力データＳ３とを比較して両データが一致するかどうかチェックし、不一致の場合は不一致信号Ｓ７を出力する。診断制御部５は、メモリ診断時において、アドレス生成部６へシーケンシャルアドレス生成の指示と、データ制御部１０へテストデータの指示を行うと共に、メモリ１へ書き込み／読み出し制御信号Ｓ６を出力する。
【００２０】
図２は図１中のデータ制御部１０の一実施の形態の構成図を示す。図２において、アドレスレジスタ２１とアドレスレジスタ２２は、各ビットが互いに反転している関係にある２つのビットパターン（例えば８ビットアドレス幅の場合、５５ｈとＡＡｈなど）の一方と他方をそれぞれ保持し、アドレス生成部６からのメモリアドレスＳ１がどちらかのアドレスのビットパターンと一致した場合に一致信号を出力し、ＡＮＤ回路２３によりメモリ入力データ選択信号Ｓ９を変化させる。また、診断制御部５からのテストデータ指示信号Ｓ８により、データ初期値選択回路２４を制御し、ＡＮＤ回路２３の出力とそれを極性反転する極性反転回路２５の出力とを選択して、メモリ入力データ選択信号Ｓ９を設定し、テストデータの初期値を選択する。
【００２１】
次に、図１と図２に示す本実施の形態の動作について、図３のフローチャートを併せ参照して説明する。ここでは、一例として、メモリ１のデータ幅を１６ビット、アドレス幅を８ビットとする。データレジスタ７及び８、アドレスレジスタ２１及び２２は、それぞれ互いに相反する関係にあるビットパターンを保持しており、ここではデータレジスタ７に保持されているビットパターンの値を５５５５ｈ、データレジスタ８に保持されているビットパターンの値をＡＡＡＡｈ、アドレスレジスタ２１に保持されているビットパターンの値を５５ｈ、アドレスレジスタ２２に保持されているビットパターンの値をＡＡｈとする。
【００２２】
まず、診断制御部５は、アドレス選択回路３とデータ選択回路４を診断時のアドレスとデータに選択し、メモリ診断可能状態とする（ステップ１０１）。続いて、診断制御部５はテストデータ指示信号Ｓ８を出力して、データ制御部１０内のデータ初期値選択回路２４から初期値を設定する選択信号Ｓ９をテストデータ選択回路９へ出力させ、このテストデータ選択回路９によりテストデータの初期値をデータレジスタ７からのデータ（５５５５ｈ）に選択させる（ステップ１０２）。
【００２３】
次に、診断制御部５は、アドレス生成部６にてシーケンシャルアドレスを供給すると共に、メモリ１への書き込み／読み出し制御信号Ｓ６を書き込み指示として、テストデータ選択回路９により選択されてデータ選択回路４を介してメモリ１に入力されるテストデータを、メモリ１に順次に書き込む（ステップ１０３）。
【００２４】
ここで、アドレス生成部６からアドレス選択回路３を介してメモリ１に供給されるアドレスのビットパターンが、アドレスレジスタ２１のアドレス５５ｈと同じ場合、またはアドレスレジスタ２２のアドレスＡＡｈと同じ場合は、アドレスレジスタ２１又はアドレスレジスタ２２から一致信号が出力され、ＡＮＤ回路２３の出力が反転して、メモリ入力データ選択信号Ｓ９を反転するため、テストデータ選択回路９はテストデータをデータレジスタ８からのデータ（ＡＡＡＡｈ）に切り替える。
【００２５】
他方、アドレス生成部６からアドレス選択回路３を介してメモリ１に供給されるアドレスのビットパターンが、アドレスレジスタ２１のアドレス５５ｈ及びアドレスレジスタ２２のアドレスＡＡｈのいずれとも異なる場合は、アドレスレジスタ２１及びアドレスレジスタ２２から一致信号が出力されず、ＡＮＤ回路２３の出力の論理値が初期値設定時と同じとなり、メモリ入力データ選択信号Ｓ９を上記の一致信号出力時と異なる初期値設定時と同じ論理値とするため、テストデータ選択回路９はテストデータをデータレジスタ７からのデータ（５５５５ｈ）に切り替える。これにより、図４に示すように、ステップ１０３ではメモリ１のアドレス５５ｈとＡＡｈはテストデータＡＡＡＡｈが書き込まれ、それ以外のアドレスには、テストデータ５５５５ｈが書き込まれる。
【００２６】
続いて、診断制御部５はアドレス生成部６にてシーケンシャルアドレスを供給すると共に、メモリ１への書き込み／読み出し制御信号Ｓ６を読み出し指示として、メモリ１より順次データを読み出す。ここで、データ制御部１０の動作は書き込み時と同じであり、アドレス生成部６のアドレスが５５ｈ又はＡＡｈの場合、テストデータ選択回路９から出力されるテストデータＳ３をデータレジスタ８からのデータ（ＡＡＡＡｈ）に切り替えるが、それ以外のアドレスではデータレジスタ７からのデータ（５５５５ｈ）を選択する。診断制御部５の指示に従って、メモリ１から順次読み出されるメモリ出力データＳ５は、比較一致回路１１に供給され、ここでテストデータ選択回路９から出力されるテストデータＳ３と比較され、全アドレス領域の読み出しデータＳ５がテストデータＳ３と同じかどうかチェックされる（ステップ１０４）。
【００２７】
次に、診断制御部５はテストデータ指示信号Ｓ８を出力して、データ制御部１０内のデータ初期値選択回路２４から初期値を設定する選択信号Ｓ９をテストデータ選択回路９へ出力させる。ここで、テストデータ指示信号Ｓ８によりデータ初期値選択回路２４が先のステップ１０２で例えばＡＮＤ回路２３の出力を選択していた場合は、極性反転回路２５の出力を選択するように切り替えられるため、選択信号Ｓ９の論理値は前記ステップ１０２における初期値設定時と反対論理値となり、その結果、テストデータ選択回路９はテストデータの初期値としてデータレジスタ８からのデータ（ＡＡＡＡｈ）を選択する（ステップ１０５）。
【００２８】
続いて、診断制御部５は、アドレス生成部６にてシーケンシャルアドレスを供給すると共に、メモリ１への書き込み／読み出し制御信号Ｓ６を書き込み指示として、テストデータ選択回路９により選択されてデータ選択回路４を介してメモリ１に入力されるテストデータを、メモリ１に順次に書き込む（ステップ１０６）。
【００２９】
ここで、アドレス生成部６からアドレス選択回路３を介してメモリ１に供給されるアドレスのビットパターンが、アドレスレジスタ２１のアドレス５５ｈと同じ場合、またはアドレスレジスタ２２のアドレスＡＡｈと同じ場合は、アドレスレジスタ２１又はアドレスレジスタ２２から一致信号が出力され、ＡＮＤ回路２３の出力が初期値設定時と反転して、メモリ入力データ選択信号Ｓ９を反転するため、テストデータ選択回路９はテストデータをデータレジスタ７からのデータ（５５５５ｈ）に切り替える。
【００３０】
他方、アドレス生成部６からアドレス選択回路３を介してメモリ１に供給されるアドレスのビットパターンが、アドレスレジスタ２１のアドレス５５ｈ及びアドレスレジスタ２２のアドレスＡＡｈのいずれとも異なる場合は、アドレスレジスタ２１及びアドレスレジスタ２２から一致信号が出力されず、ＡＮＤ回路２３の出力の論理値が初期値設定時と同じとなり、メモリ入力データ選択信号Ｓ９を上記の一致信号出力時と異なる初期値設定時と同じ論理値とするため、テストデータ選択回路９はテストデータをデータレジスタ８からのデータ（ＡＡＡＡｈ）に切り替える。これにより、このステップ１０６ではメモリ１のアドレス５５ｈとＡＡｈにはテストデータ５５５５ｈが書き込まれ、それ以外のアドレスには、テストデータＡＡＡＡｈが書き込まれる。
【００３１】
次に、診断制御部５は、アドレス生成部６にてシーケンシャルアドレスを供給すると共に、メモリ１への書き込み／読み出し制御信号Ｓ６を読み出し指示として、メモリ１より順次データを読み出す。ここで、データ制御部１０の動作はステップ１０６の書き込み時と同じであり、アドレス生成部６のアドレスが５５ｈ又はＡＡｈの場合、テストデータ選択回路９から出力されるテストデータＳ３をデータレジスタ７からのデータ（５５５５ｈ）に切り替えるが、それ以外のアドレスではデータレジスタ８からのデータ（ＡＡＡＡｈ）を選択する。診断制御部５の指示に従って、メモリ１から順次読み出されるメモリ出力データＳ５は、比較一致回路１１に供給され、ここでテストデータ選択回路９から出力されるテストデータＳ３と比較され、全アドレス領域の読み出しデータＳ５がテストデータＳ３と同じかどうかチェックされる（ステップ１０７）。
【００３２】
最後に、診断制御部５はアドレス選択回路３とデータ選択回路４を、通常動作時のアドレスＳ２とデータＳ４を選択する状態に切り替え、メモリ診断を終了する（ステップ１０８）。
【００３３】
次に、上記の実施の形態において、アドレス線の障害が発生した場合の動作について、図５、図６を参照して説明する。８ビット幅アドレス（ビット７〜ビット０）の内、ビット７が０固定で故障した場合、アドレスＡＡｈが、２Ａｈとなる（図５）。図３のステップ１０３において、アドレス２Ａｈにテストデータ５５５５ｈが書き込まれる。また、その後アドレスＡＡｈにテストデータＡＡＡＡｈを書き込む処理において、アドレスＡＡｈが故障により２Ａｈとなるため、アドレス２ＡｈにテストデータＡＡＡＡｈが上書きされる。
【００３４】
これにより、図３のステップ１０４において、アドレス２Ａｈのデータ読み出し時にデータＡＡＡＡｈが出力され、期待値であるテストデータ５５５５ｈと不一致が発生する。ここで、データＡＡＡＡｈはメモリ１のアドレス５５ｈ又はＡＡｈから読み出されるはずであるが、不一致発生時の読み出しアドレス２Ａｈは５５ｈとは７つのビットの値が異なり、実際はそのようなことはないので、アドレスＡＡｈの１つのビット（ビット７）が０固定で故障したものとして検出できる。
【００３５】
同様に、８ビット幅アドレス（ビット７〜ビット０）の内、ビット７が１固定で故障した場合、アドレス５５ｈが、Ｄ５ｈとなる（図６）。この場合、図３のステップ１０３において、アドレス５５ｈにテストデータＡＡＡＡｈを書き込む処理において、アドレス５５ｈが故障によりＤ５ｈとなるため、アドレスＤ５ｈにテストデータＡＡＡＡｈを書き込む。その後、アドレスＤ５ｈにテストデータ５５５５ｈが上書きされる。
【００３６】
これにより、図３のステップ１０４において、アドレス５５ｈを読み出す処理において、アドレス５５ｈが故障によりＤ５ｈとなるため、アドレスＤ５ｈに書き込まれているテストデータ５５５５ｈが読み出され、期待値であるテストデータＡＡＡＡｈと不一致が発生する。ここで、データＡＡＡＡｈはメモリ１のアドレス５５ｈ又はＡＡｈから読み出されるはずであるが、不一致発生時の読み出しアドレスＤ５ｈはＡＡｈとは７つのビットの値が異なり、実際はそのようなことはないので、アドレス５５ｈの１つのビット（ビット７）が１固定で故障したものとして検出できる。
【００３７】
また、アドレス線の他のビットが故障した場合についても、同様に不一致が検出可能である。例えば、８ビット幅アドレス（ビット７〜ビット０）の内、ビット５が１固定で故障した場合、アドレス５５ｈがアドレス７５ｈとなる。この場合は、図３のステップ１０４において、アドレス５５ｈを読み出す処理において、アドレス５５ｈが故障により７５ｈとなるため、アドレス７５ｈに書き込まれているテストデータ５５５５ｈが読み出され、期待値であるテストデータＡＡＡＡｈと不一致が発生する。
【００３８】
このようにして、ステップ１０４又はステップ１０７での読み出し時に、読み出したデータパターンが、５５５５ｈ期待時にＡＡＡＡｈとなるか、ＡＡＡＡｈ期待時に５５５５ｈとなることにより、比較一致回路１１はアドレス線の故障を検出することができる。
【００３９】
また、メモリ１の全データ領域にはＡＡＡＡｈ又は５５５５ｈのテストデータをステップ１０３で書き込んだ後ステップ１０４で読み出したときに、故障したデータ領域（アドレス）からはＡＡＡＡｈ及び５５５５ｈ以外の値が読み出され、続いてステップ１０３でＡＡＡＡｈを書き込んだデータ領域にはステップ１０７で５５５５ｈを書き込み、かつ、ステップ１０３で５５５５ｈを書き込んだデータ領域にはステップ１０７でＡＡＡＡｈを書き込み、ステップ１０８で読み出したときに、故障したデータ領域（アドレス）からはＡＡＡＡｈ及び５５５５ｈ以外の値が読み出される。そして、比較一致回路１１は、ステップ１０４と１０８で読み出したＡＡＡＡｈ及び５５５５ｈ以外の値を比較することで、どのデータ領域（アドレス）が故障であるかを検出することができる。
【００４０】
このように、本実施の形態では、特定のアドレス５５ｈとＡＡｈのみに他のアドレスと異なるデータパターンを設定するようにしたため、アドレス線が故障した場合は他のアドレスに影響するため、特定のアドレスに書き込まれたデータパターンの期待値と不一致のデータパターンの読み出しによりアドレス線の故障が検出できる。また、追加のメモリアクセスが必要なく、従来から行われているメモリ１の全データ領域の全ビットの確認と同じアクセス回数でアドレス線の故障検出と全データ領域の全ビットの故障検出とができる。
【００４１】
なお、上記の実施の形態では、データレジスタ７とデータレジスタ８の保持データを５５５５ｈとＡＡＡＡｈ、アドレスレジスタ２１とアドレスレジスタ２２の保持データを５５ｈとＡＡｈとした。しかし、本発明の目的はメモリ診断として、メモリの全ビット、及びデータ線とアドレス線をすべて変化させ、正常に動作することをチェックすることにあるため、各ビットが相反するビットパターンであれば何でもよい。
【００４２】
ただし、データバス信号やアドレスバス信号がそれぞれ物理的に隣接している場合は、隣接ビットが短絡して同時にしか動作しない故障状態が考えられる。この場合は、単に各ビットが相反するビットパターンであればよいというわけではなく、隣接するビットが同じ値の相反する２つのビットパターン（例えば、００００ｈとＦＦＦＦｈ）では不一致を検出できない。このため、隣接ビットと異なる値の２つのビットパターンが相反する関係にあることが望ましく、アドレスバスやデータバスが物理的にビット番号順に配列している場合は、上記の実施の形態の５５５５ｈとＡＡＡＡｈ（１６ビット幅の場合）のような各ビットの値がビット番号順に０と１の交互配置によるビットパターンが望ましい。
【００４３】
【発明の効果】
以上説明したように、本発明によれば、特定アドレスに第１及び第２のテストデータの一方を書き込み、特定アドレス以外のアドレスに他方のテストデータを書き込むことにより、アドレス線が故障した場合は他のアドレスに影響し、特定アドレスに書き込まれるべきテストデータと異なるテストデータが上書きされたり、他のアドレスのテストデータが読み出され、その結果、特定アドレスの期待値と読み出しデータとが不一致となるようにしたため、アドレス線の故障を検出することができる。
【００４４】
また、本発明によれば、データ故障を検出するシーケンシャルな処理中の、第１及び第２の特定アドレスに他のアドレスと異なるデータパターンのテストデータを設定するだけで、追加のメモリアクセス処理を行うことなく、アドレス線の故障とデータ領域の故障の両方を検出することができるため、データ故障を検出する処理において、アドレス線の故障を検出するためのメモリアクセスを追加する必要がなく、診断時間の増加を防止でき、特別なハードウェアを不要にできる。
【図面の簡単な説明】
【図１】本発明のメモリ診断装置の一実施の形態のブロック図である。
【図２】図１中のデータ制御部の一実施の形態のブロック図である。
【図３】本発明の動作説明用フローチャートである。
【図４】本発明におけるメモリのデータ格納状態の一例の説明図である。
【図５】本発明においてアドレス線の障害が発生した場合のアドレスビットパターン（その１）である。
【図６】本発明においてアドレス線の障害が発生した場合のアドレスビットパターン（その２）である。
【符号の説明】
１  メモリ
２  メモリ診断装置
３  アドレス選択回路
４  データ選択回路
５  診断制御部
６  アドレス生成部
７、８  データレジスタ
９  テストデータ選択回路
１０  データ制御部
１１  比較一致回路
２１、２２  アドレスレジスタ
２３  ＡＮＤ回路
２４  データ初期値選択回路
２５  極性反転回路
【図１】
0003570388.tif 000002
【図２】
0003570388.tif 000003
【図３】
0003570388.tif 000004
【図４】
0003570388.tif 000005
【図５】
0003570388.tif 000006
【図６】
0003570388.tif 000007