(57)【特許請求の範囲】
【請求項１】
メモリのアドレスを指定する複数のアドレス信号線を有するメモリの検査方法であって、
前記メモリは、第１検査アドレス信号線と、
前記第１検査アドレス信号線と隣接する第２検査アドレス信号線とを有し、
前記アドレスは、基準アドレスと、検査アドレスと、検査隣接アドレスとを含み、
前記基準アドレスと、検査アドレスと、検査隣接アドレスとを特定するビットには、前記第１検査アドレス信号線のビットと、前記第２検査アドレス信号線のビットとを含み、
前記基準アドレスと、検査アドレスと、検査隣接アドレスとを特定するビットを前記第１検査アドレス信号線のビットと、前記第２検査アドレス信号線のビットとの組合せが異なり、前記第１検査アドレス信号線のビット及び前記第２検査アドレス信号線のビットを除く他のビットは、前記基準アドレスと、検査アドレスと、検査隣接アドレスとの間で共通となるように決定するステップと、
前記基準アドレスと、検査アドレスと、検査隣接アドレスにそれぞれ異なるデータを書き込むステップと、
前記基準アドレスと、検査アドレスと、検査隣接アドレスからデータを読み取り、書き込んだデータと同一か否かを判断するステップとを有するメモリの検査方法。
【請求項２】
前記判断の結果に基づいて前記第１検査アドレス信号線及び第２検査アドレス信号線が短絡しているか、開放しているかを判定するステップをさらに有する請求項１に記載のメモリの検査方法。
【請求項３】
複数のアドレス信号線を有するメモリの検査方法であって、
前記メモリは、検査対象の第１検査アドレス信号線と、
前記第１検査アドレス信号線と隣接する第２検査アドレス信号線とを有し、
前記アドレスは、基準アドレスと、検査アドレスと、検査隣接アドレスとを含み、
前記基準アドレスと、検査アドレスと、検査隣接アドレスとを特定するビットには、前記第１検査アドレス信号線のビットと、前記第２検査アドレス信号線のビットとを含み、
前記基準アドレスを特定するビットのうち、第１検査アドレス信号線のビットを０、第２検査アドレス信号線のビットを０とし、
前記検査アドレスを特定するビットのうち、第１検査アドレス信号線のビットを０、第２検査アドレス信号線のビットを１とし、
前記検査隣接アドレスを特定するビットのうち、第１検査アドレス信号線のビットを１、第２検査アドレス信号線のビットを１とし、
前記３つのアドレスの第１検査アドレス信号線及び第２検査アドレス信号線を除く他のビットは、前記基準アドレスと、検査アドレスと、検査隣接アドレスとの間で共通となるように決定するステップと、
前記基準アドレスに任意の値ａを書込むステップと、
前記検査アドレスに任意の値ｂを書き込むステップと、
検査隣接アドレスに任意の値ｃを書き込むステップと、
前記基準アドレスのデータを読み込み、前記データが値ａと同一か否かを判断するステップと、
前記検査アドレスのデータを読み込み、前記データが値ｂと同一か否かを判断するステップと、
前記検査隣接アドレスのデータを読み込み、前記データが値ｃと同一か否かを判断するステップとを有するメモリの検査方法。
【請求項４】
前記検査隣接アドレスから読み込んだデータが、書き込んだデータと異なっている場合は、前記第２検査アドレス信号線は短絡していると判定し、
前記基準アドレスから読み込んだデータが、書き込んだデータと異なっている場合は、前記第２検査アドレス信号線は開放していると判定する請求項３に記載のメモリの検査方法。
【請求項５】
前記基準アドレスから読み込んだデータまたは前記検査隣接アドレスから読み込んだデータが書き込んだデータと異なっている場合において、
前記基準アドレスから読み込んだデータが、値ｃであって、前記検査隣接アドレスから読み込んだデータが、値ｃである場合は、前記第１検査アドレス信号線及び前記第２検査アドレス信号線は開放していると判定し、
前記基準アドレスから読み込んだデータのみが、値ｃである場合は、前記第２検査アドレス信号線のみが開放していると判定し、
前記基準アドレスから読み込んだデータのみが、値ｂである場合は、前記第１検査アドレス信号線のみが開放していると判定し、
前記検査隣接アドレスから読み込んだデータのみが、値ｃである場合は、前記第１検査アドレス信号線と前記第２検査アドレス信号線とが短絡していると判定する請求項４に記載のメモリの検査方法。
【請求項６】
前記第２検査アドレス信号線と前記第１検査アドレス信号線とを一つずつずらして検査を行なう請求項１乃至５のいずれか一項に記載のメモリの検査方法。
【請求項７】
前記メモリはアドレス信号線及びデータ信号線を介して中央演算装置と接続されており、前記メモリの検査は前記中央演算装置により行なわれる請求項１乃至６のいずれか一項に記載のメモリの検査方法。
【請求項８】
前記基準アドレス、検査アドレス及び検査隣接アドレスから読み込んだデータが、各アドレスに書き込んだデータと異なっていると判断した場合には検査結果は異常とし、前記検査の結果異常を検出した場合に異常表示を行うステップをさらに有する請求項１乃至７のいずれか一項に記載のメモリの検査方法。
【請求項９】
前記異常を検出した場合に、第２検査アドレス信号線が短絡しているか、開放しているかを表示するステップをさらに有する請求項１乃至８のいずれか一項に記載のメモリの検査方法。
【請求項１０】
前記検査の前に基準アドレス、検査アドレス、検査隣接アドレスのデータをバッファに保存するステップと、
検査後に基準アドレス、検査アドレス、検査隣接アドレスに保存した前記データを書き込むステップをさらに有する請求項１乃至９のいずれか一項に記載のメモリの検査方法。
【請求項１１】
前記メモリの検査方法は、中央演算装置とメモリとを備えた電子装置の初期化時に行なわれる請求項１乃至１０のいずれか一項に記載のメモリの検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリのアドレス信号線の配線状態の検査方法に関し、特に特別な検査装置を用いることなく、メモリに接続した中央演算装置により検査を行なう方法に関する。
【背景技術】
【０００２】
メモリを制御装置に搭載する場合、メモリは制御装置に搭載された中央演算装置とデータバスやアドレスバス等を介して接続される。回路内部は正常に動作することを確認したメモリを中央演算装置等と接続した場合、データバスやアドレスバスに接続不良が生じると、メモリに所望のデータを読み書きできなくなる。そのため、メモリを制御装置に搭載した後に、アドレスバスやデータバスの接続状態を調べる必要がある。
メモリのデータバスの検査は書き込んだデータが正常に読み込めることを確認することにより行うことができる。一方、アドレスバスラインの接続状態は、あるデータを書き込んだ後、再度読み込んで一致するかどうかにより調べることは困難である。これは、アドレスバスの接続状態に異常が生じていると、データを書き込もうとする目標のアドレス自体が変更されてしまうためである。
アドレスバスラインの接続状態を調べる方法として、特許文献１に記載された方法が知られている。この公知技術の内容について図面を用いて説明する。図１０は、特許文献１に記載のメモリ検査システムの構成を示す図である。図１０に示されているように、メモリ検査システムは、表示端末２０１と、DSP（Digital Signal Processor）２０２と、SDRAM（Random Access Memory）２０３とを有する。DSP２０２は、Ｎビットのアドレスバス、データバスに接続されているSDRAM２０３に対して特定のアドレスに特定のデータを書き込んだ後、読み込みを行う。このときに読み込みアドレスとデータが一致しなければデータバスによるメモリ不良と判定する。次に、DSP２０２は、アドレス０番地に書き込みデータ、オール０を書き込んで読み込みを行い、以降先程書き込んだ特定のアドレスから全てのデータを読み込んで、そのデータ全てをＯＲ演算する処理を行う。これらを行うことにより最終的に計算されたデータからアドレスバスに起因するメモリ不良のアドレスビット位置が特定できる。判定方法として正常ビット箇所には値１が不良箇所では値０が立っている。これにより、容易にメモリの不良箇所を特定することが可能となるというものである。
【０００３】
【特許文献１】特開２００４−３３４７０７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の特許文献１に記載された検査方法では、異常が生じているアドレス信号線の位置を知ることができても、それが短絡しているのか開放しているのかは判別できないという問題があった。
【課題を解決するための手段】
【０００５】
本発明に係るメモリの検査方法は、メモリのアドレスを指定する複数のアドレス信号線を有するメモリの検査方法であって、前記メモリは、第１検査アドレス信号線と、前記第１検査アドレス信号線と隣接する第２検査アドレス信号線とを有し、前記アドレスは、基準アドレスと、検査アドレスと、検査隣接アドレスとを含み、前記基準アドレスと、検査アドレスと、検査隣接アドレスとを特定するビットには、前記第１検査アドレス信号線のビットと、前記第２検査アドレス信号線のビットとを含み、前記基準アドレスと、検査アドレスと、検査隣接アドレスとを特定するビットを前記第１検査アドレス信号線のビットと、前記第２検査アドレス信号線のビットとの組合せが異なり、前記第１検査アドレス信号線のビット及び前記第２検査アドレス信号線のビットを除く他のビットは、前記基準アドレスと、検査アドレスと、検査隣接アドレスとの間で共通となるように決定するステップと、前記基準アドレスと、検査アドレスと、検査隣接アドレスにそれぞれ異なるデータを書き込むステップと、前記基準アドレスと、検査アドレスと、検査隣接アドレスからデータを読み取り、書き込んだデータと同一か否かを判断するステップとを有する。
また、前記判断の結果に基づいて前記第１検査アドレス信号線及び第２検査アドレス信号線が短絡しているか、開放しているかを判定するステップをさらに有していてもよい。
また、本発明の他のメモリの検査方法は、複数のアドレス信号線を有するメモリの検査方法であって、前記メモリは、検査対象の第２検査アドレス信号線と、前記第１検査アドレス信号線と隣接する第２検査アドレス信号線とを有し、前記アドレスは、基準アドレスと、検査アドレスと、検査隣接アドレスとを含み、前記基準アドレスと、検査アドレスと、検査隣接アドレスとを特定するビットには、前記第１検査アドレス信号線のビットと、前記第２検査アドレス信号線のビットとを含み、前記基準アドレスを特定するビットのうち、第１検査アドレス信号線のビットを０、第２検査アドレス信号線のビットを０とし、前記検査アドレスを特定するビットのうち、第１検査アドレス信号線のビットを０、第２検査アドレス信号線のビットを１とし、前記検査隣接アドレスを特定するビットのうち、第１検査アドレス信号線のビットを１、第２検査アドレス信号線のビットを１とし、前記３つのアドレスの第１検査アドレス信号線及び第２検査アドレス信号線を除く他のビットは、前記基準アドレスと、検査アドレスと、検査隣接アドレスとの間で共通となるように決定するステップと、前記基準アドレスに任意の値ａを書込むステップと、前記検査アドレスに任意の値ｂを書き込むステップと、検査隣接アドレスに任意の値ｃを書き込むステップと、前記基準アドレスのデータを読み込み、前記データが値ａと同一か否かを判断するステップと、前記検査アドレスのデータを読み込み、前記データが値ｂと同一か否かを判断するステップと、前記検査隣接アドレスのデータを読み込み、前記データが値ｃと同一か否かを判断するステップとを有する。
また、前記検査隣接アドレスから読み込んだデータが、書き込んだデータと異なっている場合は、前記第２検査アドレス信号線は短絡していると判定し、前記基準アドレスから読み込んだデータが、書き込んだデータと異なっている場合は、前記第２検査アドレス信号線は開放していると判定してもよい。
さらに、前記基準アドレスから読み込んだデータまたは前記検査隣接アドレスから読み込んだデータが書き込んだデータと異なっている場合において、前記基準アドレスから読み込んだデータが、値ｃであって、前記検査隣接アドレスから読み込んだデータが、値ｃである場合は、前記第１検査アドレス信号線及び前記第２検査アドレス信号線は開放していると判定し、前記基準アドレスから読み込んだデータのみが、値ｃである場合は、前記第２検査アドレス信号線のみが開放していると判定し、前記基準アドレスから読み込んだデータのみが、値ｂである場合は、前記第１検査アドレス信号線のみが開放していると判定し、前記検査隣接アドレスから読み込んだデータのみが、値ｃである場合は、前記第１検査アドレス信号線と前記第２検査アドレス信号線とが短絡していると判定してもよい。
また、前記第２検査アドレス信号線と前記第１検査アドレス信号線とを一つずつずらして検査を行なってもよい。
また、前記メモリはアドレス信号線及びデータ信号線を介して中央演算装置と接続されており、前記メモリの検査は前記中央演算装置により行なってもよい。
さらに、前記基準アドレス、検査アドレス及び検査隣接アドレスから読み込んだデータが、各アドレスに書き込んだデータと異なっていると判断した場合には検査結果は異常とし、前記検査の結果異常を検出した場合に異常表示を行うステップをさらに有していてもよい。
また、前記異常を検出した場合に、第２検査アドレス信号線が短絡しているか、開放しているかを表示するステップをさらに有していてもよい。
さらに、前記検査の前に基準アドレス、検査アドレス、検査隣接アドレスのデータをバッファに保存するステップと、検査後に基準アドレス、検査アドレス、検査隣接アドレスに保存した前記データを書き込むステップをさらに有していてもよい。
また、中央演算装置とメモリとを備えた電子装置において、前記電子装置の初期化時に上記のメモリの検査方法に従って、前記メモリの検査を行ってもよい。
【発明の効果】
【０００６】
本発明のメモリ検査方法によれば、メモリに接続されたアドレス信号線が短絡しているか開放しているかを、メモリに接続した中央演算装置により知ることができる。このため、メモリを電子装置に搭載した後において、特別な検査装置を用いることなく、アドレス信号線の接続状態を知ることが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下図面を参照して、本発明に係るメモリのアドレス信号線の検査方法について説明する。ただし、本発明の技術的範囲はそれらの実施の形態には限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【０００８】
＜メモリ構成＞
まず、本発明のメモリ検査方法を実施するメモリの構成について図１を用いて説明する。メモリ１はマイクロ・コントローラ・ユニット（MCU）２とA0〜A7のアドレス信号線３と、D0〜D7のデータ信号線４と、読み込み（RD）信号線５と、書込み（WR）信号線６と、チップ・セレクト（CS）信号線７とを介して接続されている。さらに、MCU２には異常を表示するLED８が接続されている。
【０００９】
＜アドレスの定義＞
次に、アドレスの名称の定義について、図２を用いて説明する。説明を簡単化するために、A0を第１検査アドレス信号線とし、A1を第２検査アドレス信号線とした場合について説明する。A0=0、A1=0とするアドレスを基準アドレス（base、0x00）とし、A0=1、A1=0とするアドレスを検査隣接アドレス（nhbr、0x01）とし、A0=0、A1=1とするアドレスを検査アドレス（test、0x02）とする。ここで、「0x」は１６進数表示であることを意味する。
ここで、例えばアドレス信号線が図１のように、A0〜A7までの８本が容易されている場合には、A2〜A7のビットは全て共通となるようにアドレスを選択する。
【００１０】
＜検査対象アドレスの決定＞
簡単化のために、アドレス信号線A0〜A3の４本の場合について、アドレスの決定方法について図３（ａ）〜（ｃ）を用いて説明する。
第１検査アドレス信号線をA0、第２検査アドレス信号線をA1とした場合、図３（１）に示すように、A2、A3は全て0となるように、基準アドレス、検査隣接アドレス、検査アドレスを太枠で示した0x00、0x01、0x02に選択する（図中の太枠参照）。各アドレスにおいて、検査対象のアドレス信号線で規定するビット以外のビットを斜字体で表している。
次に、  第１検査アドレス信号線をA1、第２検査アドレス信号線をA2とした場合、図３（２）に示すように、A1、A3は全て0となるように、基準アドレス、検査隣接アドレス、検査アドレスを太枠で示した0x00、0x02、0x04（図中の太枠参照）に選択する。
さらに、第１検査アドレス信号線をA2、第２検査アドレス信号線をA3とした場合、図３（３）に示すように、A0、A1は全て0となるように、基準アドレス、検査隣接アドレス、検査アドレスを太枠で示した0x00、0x04、0x08（図中の太枠参照）に選択する。
上記においては、検査対象のアドレス信号線の共通とするビットを(0,0)としたが、(0,1)、(1,0)、(1,1)としてもよい。
【００１１】
＜検査フロー＞
次に本発明のメモリの検査方法の検査フローについて、図４及び５を用いて説明する。ここでは、メモリをnビットとし、アドレス信号線がA0からAnまでのn+1本存在すると仮定する。アドレス信号線をAiと記載した場合、iは0からnまでの整数値をとる。
【００１２】
まず、図４に示すように、最端のアドレス信号線について検査を行なうため、ステップ１００でi=0とする。次にステップ１０１で、基準アドレス、検査アドレス、検査隣接アドレスを設定する。各アドレスの設定方法は既に述べた通りであるが、一般化して表現すれば、アドレス (A0, A1, A2,…, Ai, A(i+1),…, An)において、基準アドレスはAi=0, A(i+1)=0、検査アドレスはAi=1, A(i+1)=0、検査隣接アドレス はAi=0, A(i+1)=1であって、各アドレスについて、A0〜A(i-1), A(i+2)〜Anは共通である。
【００１３】
次に、ステップ１０２において、各アドレスに書き込まれているデータをバッファに一時的に保存する。これは、検査によって初期状態と異なるデータを書き込んでも、検査終了後にバッファに保存したデータを各アドレスに戻すことにより、初期状態を保つためである。
【００１４】
次に、ステップ１０３〜１０５において、基準アドレス、検査隣接アドレス、検査アドレスにデータを書き込む。
まず、ステップ１０３において、基準アドレスにデータaを書き込む。データaは任意の値を選ぶことができる。例えば、全てのビットを0としてもよい。
次に、ステップ１０４において、検査隣接アドレスにデータbを書き込む。データbは任意の値を選ぶことができるが、データaとは異なっている必要がある。例えば、一部のビットを1とし、残りのビットを0としてもよい。
次に、ステップ１０５において、検査アドレスにデータcを書き込む。データcは任意の値を選ぶことができるが、データa及びbとは異なっている必要がある。例えば、全てのビットを1としてもよい。
【００１５】
次に、図５に示すように、ステップ１０６〜１１４において、基準アドレス、検査隣接アドレス、検査アドレスからデータを読み込み、読み込んだデータに基づいて、第１検査アドレス信号線及び第２検査アドレス信号線の状態を調べる。
まず、ステップ１０６において、基準アドレスのデータがcであるか否かを判断する。基準アドレス・データが値cである場合は、ステップ１０７において、検査隣接アドレスのデータが値cであるか否かを判断する。検査隣接アドレス・データが値cである場合は、ステップ１０８において、i=0であるため、「A0、A1は開放」と出力する。検査隣接アドレス・データがcでない場合は、ステップ１００において、i=0であるため、「A1は開放」と出力する。
【００１６】
次に、ステップ１０６において、基準アドレス・データが値cでない場合は、ステップ１１０において、基準アドレスのデータが値bであるか否かを判断する。基準アドレス・データがbである場合は、ステップ１１１において、i=0であるため、「A0は開放」と出力する。
【００１７】
ステップ１１０において、基準アドレス・データが値bでない場合は、ステップ１１２において、検査隣接アドレスのデータが値cであるか否かを判断する。検査隣接アドレス・データがcである場合は、ステップ１１３において、i=0であるため、「A0、A1は短絡」と出力する。
【００１８】
ステップ１１２において、検査隣接アドレス・データが値cでない場合は、ステップ１１４において、「異常なし」と出力する。
【００１９】
次に、ステップ１１５において、バッファに保存したデータを各アドレス、即ち、基準アドレス、検査隣接アドレス、検査アドレスに書き込み、初期状態に戻す。
【００２０】
次に、ステップ１１６において、i=n−1であるか否かを判断し、全てのアドレス信号線の検査が終了したか否かを判断する。i=n−1である場合は、第１検査アドレス信号線がn−1ビット目、第２検査アドレス信号線がnビット目にあたるため、検査を終了する。i=n−1である場合は、ステップ１１７において、iの値を1増加させ、図４のフローに戻って隣のアドレス信号線の検査を行なう。
【００２１】
次に、第１検査アドレス信号線をA0、第２検査アドレス信号線をA1とした場合において、A0とA1とが短絡している場合、A0のみが開放している場合、A1のみが開放している場合、A0及びA1の両者が開放している場合について、上記の検査フローに従ってアドレス信号線の異常を検知する手順を説明する。
【実施例１】
【００２２】
まず、第１アドレス信号線A0の状態の検査方法について説明する。図６に、A0の状態と、基準アドレス「base」、検査隣接アドレス「nhbr」、検査アドレス「test」の各アドレスにデータを書込み、読み出した結果との関係について示す。
まず、アドレス信号線A0に異常がない場合について図６（１）を用いて説明する。最初にデータを読み書きする目標とする各アドレスのビットを規定する。（図４のステップ１０１参照）。基準アドレスbaseは、(A0, A1)=(0, 0)、検査隣接アドレスnhbrは、(A0, A1)=(1, 0)、検査アドレスtestは、(A0, A1)=(1, 1)とし、他のビットであるA2〜Anは共通とする。
各アドレスのデータをバッファに保存した後、各アドレスにデータを書き込む。データを書き込もうとするときに実際にアクセスするアドレスを現実アドレスと呼ぶことにすると、ここではアドレス信号線に異常がないので、現実アドレスは目標アドレスと一致する。手順１においてbaseにデータaを書き込む。次に、手順２において、nhbrにデータbを書き込む。次に、手順３において、testにデータcを書き込む（図４のステップ１０３〜１０５参照）。
次に、書き込んだデータを読み込む。ここではアドレス信号線に異常がないので、現実アドレスは目標アドレスと一致し、書き込んだデータがそのまま読み出される。
【実施例２】
【００２３】
次に、第１アドレス信号線A0が第２アドレス信号線A1と短絡している場合について図６（２）を用いて説明する。短絡している場合には、A0とA1のいずれか一方が1となっているときに、両者が1となる。従って、(A0, A1)=(0, 0)であるbaseへのaの書込みは正常に行なわれるが、目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A1=1*（「*」は異常値であることを示す。）となり、(A0, A1)=(1, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*に値bが書き込まれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestに値cを書き込もうとすると、A1=1*となり、(A0, A1)=(1, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*に値cが書き込まれる。
次に、baseからデータを読み込むと、正常にアクセスが行なわれ、値aが読取られる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(1, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*から値c*が読み込まれる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(1, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*から値cが読み取られる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。
以上の結果から、検査隣接アドレスnhbrにおいて書き込んだデータと読み取ったデータの不一致が生じ、その値が検査アドレスtestに書き込もうとした値cである場合には、第１検査アドレス信号線A0と第２検査アドレス信号線A1とが短絡していることが検出できる。
【実施例３】
【００２４】
次に、第１アドレス信号線A0が開放しており、Lowレベルとなっている場合について図６（３）を用いて説明する。Lowレベルとなっている場合には、A0は常に0となる。
まず、(A0, A1)=(0, 0)であるbaseへの値aの書込みは正常に行なわれる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A0=0*（「*」は異常値であることを示す。）となり、(A0, A1)=(0, 0)であるアドレスbase*にアクセスが行なわれ、base*に値bが書き込まれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestへの値cの書き込みは正常に行なわれる。
次に、baseからデータを読み込むと、データb*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がbであることが検知できる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrからデータを読み込もうとすると、A0=0*となり、(A0, A1)=(0, 0)であるアドレスbase*にアクセスが行なわれ、base*から値b*が読み込まれる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。次に、目標アドレスが(A0, A1)=(0, 1)であるtestからデータを読み込もうとすると、正常にcが読み取られる。
【実施例４】
【００２５】
次に、第１アドレス信号線A0が開放しており、Highレベルとなっている場合について図６（４）を用いて説明する。Highレベルとなっている場合には、A0は常に1となる。
まず、(A0, A1)=(0, 0)であるbaseに値aを書き込もうとすると、A0=1*（「*」は異常値であることを示す。）となり、(A0, A1)=(1*, 0)であるアドレスnhbr*にアクセスが行なわれ、nhbr*に値aが書き込まれる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrへの値bの書き込みは正常に行なわれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestに値cを書き込もうとすると、A0=1*（「*」は異常値であることを示す。）となり、(A1, A1)=(1*, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*に値cが書き込まれる。
次に、baseからデータを読み込もうとすると、A0=1*となり、(A0, A1)=(1*, 0)であるアドレスnhbr*にアクセスが行なわれ、nhbr*から値b*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がbであることが検知できる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrからのデータを読み込みは正常に行なわれ、値bが読み込まれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestからデータを読み込もうとすると、A0=1*となり、(A1, A1)=(1*, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*から値cが読み込まれる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。
以上のA0が開放している場合の結果から、端子の電位レベルがLowおよびHighのいずれの場合でも、基準アドレスbaseにおいて書き込んだデータと読み取ったデータの不一致が生じ、その値が隣接検査アドレスnhbrに書き込もうとした値bとなる。
【実施例５】
【００２６】
次に、第２アドレス信号線A1の状態の検査方法について説明する。図７に、A1の状態と、基準アドレス「base」、検査隣接アドレス「nhbr」、検査アドレス「test」の各アドレスにデータを書込み、読み出した結果との関係について示す。
A1の状態が正常である場合、及びA1がA0と短絡している場合は実施例１及び２と同様であるので説明を省略する。
【実施例６】
【００２７】
次に、第２検査アドレス信号線A1が開放しており、Lowレベルとなっている場合について図７（３）を用いて説明する。Lowレベルとなっている場合には、A1は常に0となる。
まず、(A0, A1)=(0, 0)であるbaseへの値aの書込みは正常に行なわれる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bの書込みは正常に行なわれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestへ値cを書き込もうとすると、A1=0*（「*」は異常値であることを示す。）となり、(A0, A1)=(0, 0*)であるアドレスbase*にアクセスが行なわれ、base*にcが書き込まれる。
次に、baseからデータを読み込むと、値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrからの値bの読み込みは正常に行なわれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestからデータを読み込もうとすると、A1=0*となり、(A0, A1)=(0, 0)であるアドレスbase*にアクセスが行なわれ、base*から値cが読み込まれる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。
【実施例７】
【００２８】
次に、第２検査アドレス信号線A1が開放しており、Highレベルとなっている場合について図７（４）を用いて説明する。Highレベルとなっている場合には、A1は常に1となる。
まず、(A0, A1)=(0, 0)であるbaseに値aを書き込もうとすると、A1=1*となり、(A0, A1)=(0, 1*)であるアドレスtest*にアクセスが行なわれ、test*にaが書き込まれる。次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A1=1*となり、(A0, A1)=(1, 1*)であるアドレス0x03*にアクセスが行なわれ、0x03*に値bが書き込まれる。次に、目標アドレスが(A0, A1)=(0, 1)であるtestへの値cの書き込みは正常に行なわれる。
次に、目標アドレスが(A0, A1)=(0, 0)であるbaseからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(0, 1*)であるアドレスtest*にアクセスが行なわれ、test*から値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
次に、目標アドレスが(A0, A1)=(1, 0)であるnhbrからのデータを読み込もうとすると、A1=1*となり、(A0, A1)=(1, 1*)であるアドレス0x03*にアクセスが行なわれ、0x03*から値bが読み込まれる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。
次に、目標アドレスが(A0, A1)=(0, 1)であるtestからデータcの読み込みは正常に行なわれる。
以上のA1が開放している場合の結果から、端子の電位レベルがLowおよびHighのいずれの場合でも、基準アドレスbaseにおいて書き込んだデータと読み取ったデータの不一致が生じ、その値が検査アドレスtestに書き込んだ値cとなることがわかる。
【実施例８】
【００２９】
次に、A0及びA1の両者に異常が生じている場合について説明する。ここでA0、A1が開放している場合は、それぞれがLowレベル、Highレベルを採り得るので４通りに場合分けして検討する。
まず、A0、A1が正常な場合、及びA0、A1が短絡している場合は、実施例１及び２と同様であるので説明を省略する。
【実施例９】
【００３０】
次に、A0、A1が開放しており、共にLowレベルとなっている場合について図８（３）を用いて説明する。Lowレベルとなっている場合には、A0、A1は常に0となる。
まず、書込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseへの値aの書き込みは正常に行なわれる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A0=0*となり、(A0, A1)=(0*, 0)であるアドレスbase*にアクセスが行なわれ、base*に値bが書き込まれる。
目標アドレスが(A0, A1)=(0, 1)であるtestへの値cを書き込もうとすると、A0=0*となり、(A0, A1)=(0, 0*)であるアドレスbase*にアクセスが行なわれ、base*に値cが書き込まれる。
次に、書き込んだデータの読み込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseからデータを読み込もうとすると、baseにはc*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrからのデータを読み込もうとすると、A0=0*となり、(A0, A1)=(0*, 0)であるアドレスbase*にアクセスが行なわれ、base*から値c*が読み込まれる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(0, 1)であるtestから値cを読み込もうとすると、A0=0*となり、(A0, A1)=(0*, 0)であるアドレスbase*にアクセスが行なわれ、base*から値cが読み込まれる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。
以上の結果から、base、nhbrの２つのアドレスにおいて書き込みデータと読み込みデータの不一致が生じ、その値が共に値cであることがわかる。
【実施例１０】
【００３１】
次に、A0、A1が開放しており、共にHighレベルとなっている場合について図８（４）を用いて説明する。Highレベルとなっている場合には、A0、A1は常に1となる。
まず、書込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseに値aを書き込もうとすると、A0=1*、A1=1*となり、(A0, A1)=(1*, 1*)であるアドレス0x03*にアクセスが行なわれ、0x03*に値aが書き込まれる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A1=1*となり、(A0, A1)=(1, 1*)であるアドレス0x03*にアクセスが行なわれ、0x03*に値bが書き込まれる。
目標アドレスが(A0, A1)=(0, 1)であるtestへ値cを書き込もうとすると、A0=1*となり、(A0, A1)=(1*, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*に値cが書き込まれる。
次に、書き込んだデータの読み込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseからデータを読み込もうとすると、A0=1*、A1=1*となり、(A0, A1)=(1*, 1*)であるアドレス0x03*にアクセスが行なわれ、0x03*には値c*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrからのデータを読み込もうとすると、A1=1*となり、(A0, A1)=(1, 1*)であるアドレス0x03*にアクセスが行なわれ、0x03*には値c*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(0, 1)であるtestから値cを読み込もうとすると、A0=1*となり、(A0, A1)=(1*, 1)であるアドレス0x03*にアクセスが行なわれ、0x03*には値c*が書き込まれているので値c*が読取られる。ここで、目標アドレスと現実アドレスは不一致であるが、書き込んだデータと読み取ったデータは一致している。
【実施例１１】
【００３２】
次に、A0、A1が開放しており、A0がLowレベル、A1がHighレベルとなっている場合について図８（５）を用いて説明する。この場合には、A0は常に0、A1は常に1となる。
まず、書込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseに値aを書き込もうとすると、A1=1*となり、(A0, A1)=(0, 1*)であるアドレスtest*にアクセスが行なわれ、test*に値aが書き込まれる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A0=0*、A1=1*となり、(A0, A1)=(0*, 1*)であるアドレスtest*にアクセスが行なわれ、test*に値bが書き込まれる。
目標アドレスが(A0, A1)=(0, 1)であるtestへの値cの書き込みは正常に行なわれる。
次に、書き込んだデータの読み込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(0, 1*)であるアドレスtest*にアクセスが行なわれ、test*には値c*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(0, 1*)であるアドレスtest*にアクセスが行なわれ、test*には値c*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(0, 1)であるtestから値cを読み込もうとすると、正常にcが読み取られる。
【実施例１２】
【００３３】
次に、A0、A1が開放しており、A0がHighレベル、A1がLowレベルとなっている場合について図８（６）を用いて説明する。この場合には、A0は常に1、A1は常に0となる。
まず、書込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseに値aを書き込もうとすると、A0=1*となり、(A0, A1)=(1*, 0)であるアドレスnhbr *にアクセスが行なわれ、nhbr *に値aが書き込まれる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrに値bを書き込もうとすると、A0=1、A1=0となり、(A0, A1)=(1, 0)であるアドレスnhbrにアクセスが行なわれ、nhbrに値bが書き込まれる。
目標アドレスが(A0, A1)=(0, 1)であるtestに値cを書き込もうとすると、A0=1*、 A1=0となり、(A0, A1)=(1*, 0*)であるアドレスnhbr*にアクセスが行なわれ、nhbrに値cが書き込まれる。
次に、書き込んだデータの読み込みについて説明する。
目標アドレスが(A0, A1)=(0, 0)であるbaseからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(1*, 0)であるアドレスnhbr *にアクセスが行なわれ、nhbr *には値c*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(1, 0)であるnhbrからデータを読み込もうとすると、A1=1*となり、(A0, A1)=(1, 0)であるアドレスnhbrにアクセスが行なわれ、nhbrには値c*が書き込まれているので値c*が読取られる。ここで、書き込んだデータと読み込んだデータの不一致を検出し、その値がcであることが検知できる。
目標アドレスが(A0, A1)=(0, 1)であるtestから値cを読み込もうとすると、A0=1*、A1=0となり、(A0, A1)=(1*, 0*)であるアドレスnhbr*にアクセスが行なわれ、値cが読み取られる。
以上のA1が開放している場合の結果から、端子の電位レベルがLowおよびHighのいずれの場合でも、基準アドレスbaseにおいて書き込んだデータと読み取ったデータの不一致が生じ、その値が検査アドレスtestに書き込んだ値cとなることがわかる。
以上の実施例においてはA0,A1について検査を行なった場合について説明したが、アドレス信号線を１つずつずらして、A1,A2以降のアドレス信号線についても同様に検査を行うことができる。
【００３４】
以上、読み込んだデータが、書き込んだデータが異なるケースは４つあり、まとめると図９のようになる。即ち、ケース１：隣接検査アドレスnhbrのみが値cである場合は、第１検査アドレス信号線A0と第２検査アドレス信号線A1とが短絡していると判断できる。ケース２：基準アドレスbaseのみが値bである場合は、第１検査アドレス信号線A0のみが開放状態であると判断できる。ケース３：基準アドレスbaseのみが値cである場合は、第２検査アドレス信号線A1のみが開放状態であると判断できる。ケース４：基準アドレスbaseが値cであって、隣接検査アドレスnhbrが値cである場合は、第１検査アドレス信号線A0と第２検査アドレス信号線A1の両者が開放状態であると判断できる。
【００３５】
なお、基準アドレス、検査アドレス及び検査隣接アドレスから読み込んだデータが、各アドレスに書き込んだデータと異なっていると判断した場合には検査結果は異常とし、検査の結果、異常を検出した場合に異常表示を行ってもよい。具体的には、図１のLED８を点灯させることによって異常表示を行うことができる。
【００３６】
また、中央演算装置とメモリとを備えた電子装置において、電子装置の初期化時に上記のメモリの検査方法に従って、メモリの検査を行ってもよい。
【００３７】
なお、上記の実施形態は本発明の好適な実施の一例であり、本発明の実施形態は、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形して実施することが可能となる。
【図面の簡単な説明】
【００３８】
【図１】本発明のメモリ検査方法を実施するメモリと中央演算装置の構成図である。
【図２】本発明のメモリ検査方法における基準アドレス、検査隣接アドレス、検査アドレスと検査アドレス信号線のビットとの対応表である。
【図３】本発明のメモリ検査方法において、検査位置をずらした場合の基準アドレス、検査隣接アドレス、検査アドレスと検査アドレス信号線のビットとの対応表である。
【図４】本発明のメモリ検査方法の検査手順を表すフローチャートである。
【図５】本発明のメモリ検査方法の検査手順を表すフローチャートである。
【図６】本発明のメモリ検査方法のA0に異常が生じている場合の適用例である。
【図７】本発明のメモリ検査方法のA1に異常が生じている場合の適用例である。
【図８】本発明のメモリ検査方法のA0、A1に異常が生じている場合の適用例である。
【図９】本発明のメモリ検査方法による検査結果と、アドレス信号線の状態との対応表である。
【図１０】従来のメモリ検査システムの構成を示す図である。
【符号の説明】
【００３９】
１    メモリ
２    ＭＣＵ
３    アドレスバス
４    データバス
５    リード線
６    ライト線
７    チップ・セレクト信号線
８    ＬＥＤ
【図１】
0005106069.tif 000002
【図２】
0005106069.tif 000003
【図３】
0005106069.tif 000004
【図４】
0005106069.tif 000005
【図５】
0005106069.tif 000006
【図６】
0005106069.tif 000007
【図７】
0005106069.tif 000008
【図８】
0005106069.tif 000009
【図９】
0005106069.tif 000010
【図１０】
0005106069.tif 000011