(57)【要約】      （修正有）【課題】不揮発性メモリのショート・断線を迅速にチェックでき、さらに既に書かれたデータの破壊を未然に防止可能とする。【解決手段】隣接するビット値が相互に反転した第１のアドレスのメモリ領域に、隣接するビットの値が相互に反転した第１のデータを書き込み、さらに第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスのメモリ領域に、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータを書き込まれた不揮発性メモリの第１及び第２のデータを読み取り、書き込んだ通りに読めるか否かをチェックする。【選択図】図２
2010236876.tif 000002
【特許請求の範囲】
【請求項１】
全ての隣接するビット値が相互に反転した第１のアドレスと、第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスの各メモリ領域に、全ての隣接するビットの値が相互に反転した第１のデータと、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータとがそれぞれ書き込れている不揮発性メモリ。
【請求項２】
全ての隣接するビット値が相互に反転した第１のアドレスと、第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスの各メモリ領域に、全ての隣接するビットの値が相互に反転した第１のデータと、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータとがそれぞれ書き込れている不揮発性メモリと、前記不揮発性メモリにアクセスしてデータの書き込み、読み出しを行うマイクロプロセッサとを備え、前記マイクロプロセッサは、前記不揮発性メモリの前記第１及び第２のアドレスに書き込まれている第１及び第２のデータを読み取り、書き込まれている通りに読めるか否かチェックすることを特徴とする不揮発性メモリのチェックシステム。
【請求項３】
前記マイクロプロセッサは、書き込まれている通りに読めないとき、メモリへのアクセスを禁止する請求項２記載の不揮発性メモリのチェックシステム。
【請求項４】
前記マイクロプロセッサは、第１又は第２のデータの隣接するビットの値が相互に反転していない箇所が１箇所でもあれば書き込まれている通りに読めないとする請求項２又は３記載の不揮発性メモリのチェックシステム。
【請求項５】
全ての隣接するビット値が相互に反転した第１のアドレスと、第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスの各メモリ領域に、全ての隣接するビットの値が相互に反転した第１のデータと、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータとがそれぞれ書き込れ、不揮発性メモリの前記第１及び第２のアドレスのメモリ領域に書き込まれた第１及び第２のデータを読み取り、書き込んだ通りに読めるか否かチェックすることを特徴とする不揮発性メモリのチェック方法。
【請求項６】
書き込まれた通りに読めないとき、メモリへのアクセスを禁止する請求項５記載の不揮発性メモリのチェック方法。
【請求項７】
第１又は第２のデータの隣接するビットの値が相互に反転していない箇所が１箇所でもあれば書き込まれている通りに読めないとする請求項５又は６記載の不揮発性メモリのチェックシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はショート・断線をチェック可能にした不揮発性メモリと、そのチェックシステム及びチェック方法に関する。
【背景技術】
【０００２】
不揮発性メモリの検査は、メモリの書き込み／消去特性が遅いため全メモリセルの消去／書き込みを行ってチェックするのでは検査時間がかかりすぎてしまう。そこで、マトリックス状に配置されたメモリセルの偶数列または奇数列にダミーのメモリセル行を付加し、全ビット消去後にダミーのメモリセルからデータを順次読み出すことでビット線間のショートを検出すること、また、ダミーのメモリセル行の各列にラッチ回路を付加し、ラッチ回路に順次データを書き込んで読み出すことで、列デコーダ内のショートを検出することが提案されている（特許文献１）。
【０００３】
また、不揮発性メモリやＲＡＭの検査において、同一のデータパターンが書き込まれることが無いようにして全メモリ領域に順次データを書き込み、これを順次読み出して書き込んだデータと比較することでビット不良の検査と併せてアドレス線の断線やショートを検査することも提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−５０１９８号公報
【特許文献２】特開平５−２６６６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、ダミーのメモリセルやラッチ回路を付加しており、検査用に追加ハードウエアが必要であるとともに、検査のために全データの消去処理やデータの書き込み・読み出し処理が必要で検査に時間がかかってしまい、また、特許文献２では、不揮発性メモリの場合には、検査する全領域のデータの消去が必要なため、検査に時間がかかってしまうことになる。また、特許文献１、特許文献２の技術では、不揮発性メモリ生産時のチェックとして、一旦データを消去するためデータの保護は行えず破壊されてしまうことになる。
【課題を解決するための手段】
【０００６】
本発明は上記課題を解決しようとするもので、不揮発性メモリのショート・断線を迅速にチェックできるとともに、既に書かれたデータの破壊を未然に防止可能にすることを目的とする。
本発明の不揮発性メモリは、全ての隣接するビット値が相互に反転した第１のアドレスと、第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスの各メモリ領域に、全ての隣接するビットの値が相互に反転した第１のデータと、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータとがそれぞれ書き込れていることを特徴とする。
また、本発明の不揮発性メモリのチェックシステムは、全ての隣接するビット値が相互に反転した第１のアドレスと、第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスの各メモリ領域に、全ての隣接するビットの値が相互に反転した第１のデータと、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータとがそれぞれ書き込れている不揮発性メモリと、前記不揮発性メモリにアクセスしてデータの書き込み、読み出しを行うマイクロプロセッサとを備え、前記マイクロプロセッサは、前記不揮発性メモリの前記第１及び第２のアドレスに書き込まれている第１及び第２のデータを読み取り、書き込まれている通りに読めるか否かチェックすることを特徴とする。
また、本発明の不揮発性メモリのチェック方法は、全ての隣接するビット値が相互に反転した第１のアドレスと、第１のアドレスに対応する各ビットの値が第１のアドレスのビット値に対して反転した第２のアドレスの各メモリ領域に、全ての隣接するビットの値が相互に反転した第１のデータと、第１のデータに対応するビットの値が第１のデータの各ビット値に対して反転した第２のデータとがそれぞれ書き込れ、不揮発性メモリの前記第１及び第２のアドレスのメモリ領域に書き込まれた第１及び第２のデータを読み取り、書き込んだ通りに読めるか否かチェックすることを特徴とする。
【発明の効果】
【０００７】
本発明は、通常動作中に不揮発性メモリのショート・断線を迅速に検出でき、書き込みや消去を伴わないため既に書かれたデータの破壊を未然に防ぐことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の不揮発性メモリを説明する図である。
【図２】不揮発性メモリのチェック方法を説明する図である。
【図３】不揮発性メモリのチェック方法を説明する図である。
【図４】不揮発性メモリのチェック方法を説明する図である。
【図５】不揮発性メモリのチェック方法を説明する図である。
【図６】不揮発性メモリのチェック方法を説明する図である。
【発明を実施するための形態】
【０００９】
以下、本実施形態について説明する。
図１は本実施形態のシステム構成を示すブロック図である。
不揮発性メモリ１０は電源を供給しなくても記憶を保持するメモリで、ＲＯＭ、マスクＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等からなり、メモリセルがマトリックス状に配置された構造をしている。不揮発性メモリ１０へのデータの書き込み、データの読み出しを行うマイクロプロセッサ２０は、ここでは説明の便宜上、ｄ０、ｄ１、ｄ２、ｄ３の４本のデータ線３０、ａ０、ａ１、ａ２、ａ３の４本のアドレス線４０で不揮発性メモリ１０と接続されているものとし、アドレス線４０で指定されたアドレスのメモリ領域にデータ線３０からデータが書き込まれ、アドレス線４０で指定されたアドレスのメモリ領域からデータ線３０を介してデータが読み出される。このような回路を基板に組み込んだ際、ゴミなどによる配線のショートや断線によりメモリに書き込まれたデータが正確に読めなくなったり、データを破壊してしまう場合が生ずる。
【００１０】
図２は特定のデータチェック用アドレスに特定のデータを書き込んだ不揮発性メモリと、チェックシステム、チェック方法を説明する図である。ここでは、説明の便宜上４ビットのアドレス・データ幅をもつ場合について説明する。
全ての隣接する各ビットの値が相互に反転した第１のアドレス「０１０１」と、第１のアドレスの各ビットに対応する各ビット値が第１のアドレスのビット値と反転した第２のアドレス「１０１０」のメモリ領域に、それぞれのデータチェック用アドレスのビット値と同じビット値のデータチェック用固定データを書いておく。すなわち、第１のアドレス「０１０１」に、全ての隣接する各ビット同士の値が相互に反転した第１のデータ「０１０１」と、第２のアドレス「１０１０」に第１のデータの各ビットに対応する各ビット値が第１のデータのビット値と反転した第２のデータ「１０１０」をそれぞれチェック用としてあらかじめ書いておく。この２箇所のデータチェック用アドレスの領域に書き込んだデータはチェック用の固定データであって、通常使用するデータとしては自由に使用できないようにし、マイクロプロセッサ２０によりこのチェック用の固定データをメモリ（通常使用データ）へのアクセス前、特に直前にチェックし、書き込んだ通りに読めるか否か確認する。書き込んだ通りに読めるか否かは、チェック用の固定データである第１、第２のデータとも隣接するビットの値が相互に反転しているので、第１又は第２のデータの隣接するビットの値が相互に反転していない箇所が１箇所でもあれば書き込んだ通りに読めないと判断する。そして、書き込んだ通りに読めれば正常で、不一致であればショート・断線が生じているのでメモリ（通常使用データ）へのアクセスを禁止する。なお、上記では便宜上、第１、第２のデータチェック用アドレスのメモリ領域に、データチェック用アドレスの各ビット値と同じビット値のデータチェック用固定データを書くものとして説明したが、データチェック用固定データがデータチェック用アドレスの各ビット値と反転していてもよく、要は隣接するビットの値が相互に反転し、かつ、第１、第２のデータの各ビットの値が相互に反転していればよい。図２の例で言えば，第１のアドレス「０１０１」に第１のデータ「１０１０」を、第２のアドレス「１０１０」に第２のデータ「０１０１」をそれぞれ書くようにしてもよい。
【００１１】
次に、チェック用の固定データが書き込んだ通りに読めるか否かの確認について、図３〜図６により説明する。
配線がショートするとショートした配線に対応するビット値は同じになり、例えば、「１０」→「１１」、「０１」→「１１」のように「０」が「１」に反転する（メモリによっては「１」が「０」に反転）。また、断線が生じた場合には、対応するビット値「１」→「０」（メモリによっては「０」→「１」）に反転する。例えば、データ線ｄ２とｄ３がショートすると、第１のチェック用固定データ「０１０１」は「１１０１」に、第２のチェック用固定データ「１０１０」は「１１１０」に変化し、書き込んだデータと一致しなくなり、データ線ｄ３とｄ２がショートしたことを検出することができる（図３）。
また、断線が生じた場合、例えば、データ線ｄ２が断線すると、第２のチェック用固定データ「１０１０」は変化しないが、第１のチェック用固定データ「０１０１」は「０００１」に変化する。この第１のチェック用固定データと書き込んだデータとの不一致を確認することで、データ線ｄ２の断線を検出することができる（図４，）。このように、隣接するビットの値が相互に反転した第１と第２のチェック用固定データは、対応するビットの値が相互に反転しているので、ショート・断線があると、第１と第２のどちらかのチェック用固定データのいずれかのビット値が反転し、チェック用固定データを確認することでデータ線のショート・断線を漏れなく検出することができる。
【００１２】
アドレス線のショート・断線も同様で、例えば、アドレス線ａ０とａ１がショートすると、図の矢印に示すように、第１のアドレス「０１０１」は「０１１１」に変化し、第２のアドレス「１０１０」は「１０１１」に変化するので、第１、第２のチェック用固定データを読もうとしても違うアドレス「０１１１」のデータ「Ｘ１Ｘ２Ｘ３Ｘ４」、アドレス「１０１１」のデータ「Ｙ１Ｙ２Ｙ３Ｙ４」を読んでしまい、データチェック用固定データ「０１０１」、「１０１０」と読み出したデータは不一致となり、アドレス線ａ０とａ１のショートを検出することができる（図５）。
また、例えば、アドレス線ａ０が断線すると、第２のアドレス「１０１０」は変化しないが、図の矢印で示すように、第１のアドレス「０１０１」は「０１００」に変化し、第１のチェック用固定データを読もうとしても違うアドレス「０１００」のデータ「Ｚ１Ｚ２Ｚ３Ｚ４」を読み出してしまい、データチェック用固定データ「０１０１」と読み出したデータは不一致となり、アドレス線ａ０の断線を検出することができる（図６）。こうして、アドレス線のショート・断線が生ずると、データチェック用アドレスに対応する第１、第２のチェック用固定データが読めなくなってしまうため、読み出したデータとチェック用固定データとを対比確認することでアドレス線のショート・断線を検出することができる。なお、アドレス線のショート・断線によりアドレスが変化したとき、変化したアドレス先に、たまたまチェック用固定データと同じデータが書かれている場合には正常と誤認してしまうが、その確率は限りなく０に近いと考えられる。
【００１３】
上記では説明の便宜上、アドレス・データ幅４ビットの場合について説明したが、もちろんアドレス・データ幅が８ビットでもよく、その場合は第１のアドレス「０１０１０１０１」、第２のアドレス「１０１０１０１０」の各メモリ領域に、チェック用の第１のデータ「０１０１０１０１」、チェック用の第２のデータ「１０１０１０１０」をそれぞれ書き込んでおけばよい。また、４ビット、８ビットに限らず１６ビット、３２ビット等の場合も同様であり、アドレス・データ幅がどのような大きさになってもチェック用のデータの設定は２ケ所のみでよい。
【００１４】
以上のように本実施形態では、通常動作中にショート・断線が発生したときに迅速に検知できるとともに、書き込みや消去を伴わないので、既に書かれたデータの破壊を未然に防止でき、どのような分野でも使用可能である。ナビゲーション装置用としては、例えば、各種プログラム、車両情報、シリアル番号、車載機ＩＤのような工場でしか書き込みを行わない情報に限らず、現在地、カレンダー、電話帳、サービス・メンテナンス情報、ユーザーカスタマイズ情報等のユーザによる設定情報等の保護用に有効である。また、エンジンＥＣＵとしての使用例では、バッテリーが供給されなくても記憶しておかなければならない走行距離、イモビライザ用キーコード、故障コード等の記憶用にも適している。
【符号の説明】
【００１５】
１０…不揮発性メモリ、２０…マイクロプロセッサ、３０…データ線、４０…アドレス線。
【図１】
2010236876.tif 000003
【図２】
2010236876.tif 000004
【図３】
2010236876.tif 000005
【図４】
2010236876.tif 000006
【図５】
2010236876.tif 000007
【図６】
2010236876.tif 000008