(57)【要約】【課題】検査用データとしてどのようなデータを用いても不揮発性メモリを検査することができる構成において、誤り訂正回路の検査時間を極力短縮することができるようにする。【解決手段】符号化機能検査時には、ＣＰＵ４は、誤り訂正回路１２により検査ビットの付加されたデータをＥＥＰＲＯＭ２よりも書き込み速度の速いメモリ３に対して書き込ませ、誤り訂正回路１２を機能させない状態で読み出し照合することにより検査を行う。復号化機能検査時には、ＣＰＵ４は、予め検査用データＤ１５〜Ｄ０を符号化し仮想検査ビットＤ２０〜Ｄ１６が生成され付加されたデータを誤り訂正回路１２を機能させない状態でメモリ３に対して書き込ませ、書き込まれたデータについて誤り訂正回路１２に復号化させた状態で読み出して照合することにより検査を行う。【選択図】  図１
2004220676.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに書き込まれるデータについて誤り検出，訂正を行う誤り訂正回路が付加された不揮発性メモリ装置を検査する検査方法において、
検査用データを誤り訂正回路により符号化する過程と、
前記符号化され検査ビットが付加されたデータを前記不揮発性メモリよりも書き込み速度が速く前記誤り訂正回路の検査専用に設けられた記憶手段に書き込む過程と、
前記記憶手段に書き込まれたデータを読み出す過程と、
前記検査用データおよび前記読み出されたデータに基づいて前記誤り訂正回路の符号化機能が正常に動作しているか否かを検査する過程とを備えたことを特徴とする不揮発性メモリ装置の検査方法。
【請求項２】
不揮発性メモリに書き込まれるデータについて誤り検出，訂正を行う誤り訂正回路が付加された不揮発性メモリ装置を検査する検査方法において、
検査用データを符号化し仮想検査ビットを予め生成する過程と、
検査用データに仮想検査ビットが付加されたデータを前記不揮発性メモリよりも書き込み速度が速く前記誤り訂正回路の検査専用に設けられた記憶手段に書き込む過程と、
前記記憶手段に書き込まれたデータを読み出し当該読み出されたデータを前記誤り訂正回路により復号化する過程と、
前記検査用データ，仮想検査ビットおよび復号化されたデータに基づいて誤り訂正回路の復号化機能が正常に動作しているか否かを検査する過程とを備えたことを特徴とする不揮発性メモリ装置の検査方法。
【請求項３】
不揮発性メモリと、この不揮発性メモリに書き込まれるデータについて誤り検出，訂正を行う誤り訂正回路とを有してなる不揮発性メモリ装置において、
前記誤り訂正回路の検査専用として前記不揮発性メモリよりも書き込み速度が速い記憶手段を設け、
前記記憶手段は、前記誤り訂正回路により符号化され検査ビットが付加されたデータを前記不揮発性メモリに代えて書き込み可能に構成されていると共に、書き込まれたデータが、前記誤り訂正回路を機能させない状態で読み出し可能に構成されていることを特徴とする不揮発性メモリ装置。
【請求項４】
不揮発性メモリと、この不揮発性メモリに書き込まれるデータについて誤り検出，訂正を行う誤り訂正回路とを有してなる不揮発性メモリ装置において、
前記誤り訂正回路の検査専用として不揮発性メモリよりも書き込み速度が速い記憶手段を設け、
前記記憶手段は、予め検査用データを符号化することで仮想検査ビットが生成され付加されたデータを誤り訂正回路を機能させない状態で前記不揮発性メモリに代えて書き込み可能に構成されていると共に、前記記憶手段に書き込まれたデータについて誤り訂正回路による復号化が可能に構成されていることを特徴とする不揮発性メモリ装置。
【請求項５】
前記記憶手段は、Ｄフリップフロップにより構成されていることを特徴とする請求項３または４記載の不揮発性メモリ装置。
【請求項６】
前記記憶手段は、ラッチ回路により構成されていることを特徴とする請求項３または４記載の不揮発性メモリ装置。
【請求項７】
符号化時および復号化時に入力される入力データを多重化するように構成することで符号化機能および復号化機能を達成する回路の一部が共通化されている誤り訂正回路を備えたことを特徴とする不揮発性メモリ装置。
【請求項８】
請求項３，５ないし７の何れかに記載の不揮発性メモリ装置を備え、
前記不揮発性メモリ装置の誤り訂正回路に検査用データを与えるＣＰＵを設け、
前記ＣＰＵは、前記誤り訂正回路により符号化されたデータを前記不揮発性メモリ装置の記憶手段に書き込ませ、前記記憶手段に書き込まれたデータを読み出し当該読み出されたデータおよび検査用データに基づいて誤り訂正回路の符号化機能が正常か否かを判定するように構成されていることを特徴とするマイクロコンピュータ。
【請求項９】
請求項４ないし７の何れかに記載の不揮発性メモリ装置を備え、
検査用データを符号化し仮想検査ビットを予め生成するＣＰＵを設け、
前記ＣＰＵは、検査用データに仮想検査ビットが付加されたデータを前記不揮発性メモリ装置の記憶手段に書き込ませ、前記記憶手段に書き込まれたデータを読み出し読み出されたデータを誤り訂正回路に復号化させ、前記検査用データ，仮想検査ビットおよび復号化されたデータに基づいて誤り訂正回路の復号化機能が正常に動作しているか否かを検査するように構成されていることを特徴とするマイクロコンピュータ。
【請求項１０】
ＣＰＵに、
不揮発性メモリ装置が有する誤り訂正回路に検査用データを与える手順と、
誤り訂正回路により符号化され検査ビットが付加されたデータを前記不揮発性メモリよりも書き込み速度が速く前記誤り訂正回路の検査専用の記憶手段に書き込ませる手順と、
前記記憶手段に書き込まれた後に読み出したデータおよび前記検査用データに基づいて前記誤り訂正回路が正常に動作しているか否かを検査する手順とを実行させることを特徴とする不揮発性メモリ装置の検査用プログラム。
【請求項１１】
ＣＰＵに、
検査用ビットを符号化し仮想検査ビットを予め生成する手順と、
検査用データに仮想検査ビットが付加されたデータを不揮発性メモリよりも書き込み速度が速く前記誤り訂正回路の検査専用の記憶手段に書き込ませる手順と、
前記記憶手段に書き込まれたデータを前記誤り訂正回路に復号化させる手順と、
前記検査用データ，仮想検査ビットおよび復号化されたデータに基づいて誤り訂正回路の復号化機能が正常に動作しているか否かを検査する手順とを実行させることを特徴とする不揮発性メモリ装置の検査用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリに書き込まれるデータについて誤り検出，訂正を行う誤り訂正回路が付加された不揮発性メモリ装置を検査する検査方法，不揮発性メモリが搭載された不揮発性メモリ装置，マイクロコンピュータおよび不揮発性メモリ装置の検査用プログラムに関する。
【０００２】
【従来の技術】
近年、この種の不揮発性メモリ装置には、不揮発性メモリの他に、不揮発性メモリに書き込まれるデータの誤りを検出，訂正するための誤り訂正回路（以下、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）回路）が付加されつつある（例えば、特許文献１参照）。特許文献１に開示されている方法によれば、ＣＰＵがチェッカーパターン（「１０１０…Ｂ」もしくは「０１０１…Ｂ」（Ｂは２進数を表わす））を不揮発性メモリに書き込みこのデータを検査することで不揮発性メモリを検査することができる。
【０００３】
【特許文献１】
特開平７−２９３９５号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、実際には上述した方法のみでは、メモリセルの不良を判定する信頼性に欠けるため、上述した検査方法のみにとどまらず、全エリア消去パターン「００００…Ｂ」，全エリア書き込みパターン「１１１１…Ｂ」や、その他種々の組合せの検査用データを不揮発性メモリに書き込み、書き込まれたデータを読み出すことに基づいて検査する方法が従来より行われている。したがって、特許文献１に開示されている構成を適用したとしても十分な検査容易性は実現できていないという問題を生じている。
【０００５】
さらに、ＥＣＣ回路が付加された不揮発性メモリ装置では、製品の信頼性を向上するため、ＥＣＣ回路自体も検査する必要を生じる。しかしながら、特許文献１に開示されている構成によれば、ＥＣＣ回路を検査する場合には、ＥＣＣ回路用不揮発性メモリに対してデータ書き込処理やデータ消去処理を行う必要があり、このため通常の読み出し処理に必要とされる電圧に比較して高い電圧をＥＣＣ回路用不揮発性メモリに長時間印加する必要があり、ＥＣＣ回路を構成する論理回路の検査でありながら、検査時間が長くなってしまうという事情がある。また、このような誤り訂正回路が付加された不揮発性メモリ装置の小型化も要求されている。
【０００６】
本発明は、上記事情に鑑みてなされたもので、その第１の目的は、検査用データとしてどのようなデータを用いても不揮発性メモリを検査することができる構成において、誤り訂正回路の検査時間を極力短縮することができる不揮発性メモリ装置の検査方法，不揮発性メモリ装置，マイクロコンピュータおよび不揮発性メモリ装置の検査用プログラムを提供することであり、その第２の目的は、誤り訂正回路を小型化して構成することができる不揮発性メモリ装置を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１記載の不揮発性メモリ装置の検査方法によれば、次のように作用する。検査用データとしてどのようなデータを使用したとしても、誤り訂正回路が検査用データを符号化することで、検査ビットが生成される。この後、検査ビットは記憶手段に書き込まれる。この記憶手段は検査専用に設けられているもので書き込み速度は不揮発性メモリより速いため、不揮発性メモリを使用して書き込む従来構成よりも素早く書き込むことができる。そして、書き込まれたデータを読み出し、検査用データおよび読み出されたデータに基づいて誤り訂正回路の符号化機能が正常に動作しているか否かを検査するため、書き込みに要する時間を短縮することができ、特に誤り訂正回路の符号化機能が正常に動作しているか否かを検査することができ、誤り訂正回路の検査速度を極力向上することができる。
【０００８】
請求項２記載の不揮発性メモリ装置の検査方法によれば、記憶手段に書き込まれ読み出された仮想検査ビットや検査用データおよび復号化されたデータに基づいて誤り訂正回路の復号化機能が正常に動作しているか否かを検査する。記憶手段は、誤り訂正回路の検査専用に設けられ、書き込み速度は不揮発性メモリより速いため、不揮発性メモリを使用して書き込む従来構成よりも、速やかに書き込むことができ、書き込みに必要とされる時間を短縮することができる。特に誤り訂正回路の復号化機能が正常に動作しているか否かを検査することができ、誤り訂正回路の検査速度を極力向上することができる。
【０００９】
請求項３記載の不揮発性メモリ装置によれば、不揮発性メモリに対して書き込みに必要とされる時間が比較的長かったとしても、不揮発性メモリよりも書き込み速度が速く誤り訂正回路の検査専用に設けられた記憶手段が検査ビットの付加されたデータを不揮発性メモリに代えて書き込み可能になっているので、不揮発性メモリに書き込む構成に比較して書き込みに必要とされる時間を短縮することができる。しかも、書き込まれたデータが、誤り訂正回路を機能させない状態で読み出し可能になっているので、符号化され検査ビットが付加されたデータをそのまま読み出すことができ、特に誤り訂正回路の符号化機能が正常に動作しているか否かを検査することができる。
【００１０】
請求項４記載の不揮発性メモリ装置によれば、不揮発性メモリに対する書き込みに必要とされる時間が比較的長かったとしても、不揮発性メモリよりも書き込み速度が速く誤り訂正回路の検査専用に設けられた記憶手段が仮想検査ビットの付加されたデータを誤り訂正回路を機能させない状態で不揮発性メモリに代えて書き込み、記憶手段に書き込まれたデータについて誤り訂正回路による復号化ができるため、復号化機能が正常に動作しているか否かを検査することができると共に、検査時に不揮発性メモリに書き込む構成に比較して書き込みに必要とされる時間を短縮することができる。
【００１１】
請求項５または６記載の不揮発性メモリ装置によれば、記憶手段がＤフリップフロップもしくはラッチ回路により構成されているので、回路構成を極力簡単化することができる。
【００１２】
請求項７記載の不揮発性メモリ装置によれば、付加された誤り訂正回路が、符号化時および復号化時に入力される入力データを多重化するように構成されることで符号化機能および復号化機能を達成する回路の一部が共通化されているので、誤り訂正回路の構成を極力小型化することができる。
【００１３】
【発明の実施の形態】
以下、本発明の不揮発性メモリ装置をＥＥＰＲＯＭ装置に適用し当該装置をマイクロコンピュータに搭載した一実施形態について図１ないし図７を参照して説明する。図１は、ＥＥＰＲＯＭ装置を搭載したマイクロコンピュータの電気的構成を概略的に示す機能ブロック図である。尚、この図１は、本発明の説明をわかりやすくするために検査時における主要回路接続構成および信号の入出力関係を概略的に示すものであり、実際の回路構成はその他周辺回路（入出力インターフェースおよび各種バス等）が付加された状態で動作するものである。この図１において、ＥＥＰＲＯＭ装置１は、ＥＥＰＲＯＭ（不揮発性メモリ）２およびメモリ（記憶手段）３を別体に備えている。ＥＥＰＲＯＭ２は、周知のようにマトリクス構造にメモリセルが二次元配置されて構成されており、例えば数（１〜）Ｍビットのメモリ容量を有するものである。
【００１４】
メモリ３は、２１ビットの情報を記憶可能で少なくともＥＥＰＲＯＭ２よりも記憶容量が少なく書き込み速度も速いもので構成されており、２１ビット分のＤフリップフロップ（図示せず：以下、ＤＦＦと称する）からなるものであり後述する誤り訂正回路１２の検査専用に設けられている。
【００１５】
ＥＥＰＲＯＭ装置１には、ＣＰＵ４が接続されている。ＣＰＵ４は、図示しないプログラム用メモリに記憶された制御用プログラムに基づいて誤り訂正回路１２（後述する）を介してＥＥＰＲＯＭ２に記憶されている内容を書き込み／読み出しするようになっている。また、ＣＰＵ４は、プログラム用メモリに記憶された検査用プログラムに基づいてＥＥＰＲＯＭ装置１の検査を行うようになっているがこの詳細については後述する。
【００１６】
以下、検査時のデータの入出力関係について説明する。尚、発明の説明をわかりやすくするため、マイクロコンピュータ５内のデータの入出力及び制御線について発明に関わる主要な部分の説明のみ行い、バスライン、クロック等については説明を省略する。
【００１７】
ＥＥＰＲＯＭ装置１には、マルチプレクサ（以下、ＭＵＸと称する）６〜８が構成されている。ＭＵＸ６は、例えば入力端子”０”及び”１”に対する５ビットの入力信号を何れか選択出力するように構成されている。ＭＵＸ７は、入力端子”０”及び”１”に対する１６ビットの入力信号を何れか選択出力するようになっており、さらに、ＭＵＸ８は、入力端子”０”及び”１”に対する２１ビットの入力信号を何れか選択出力するように構成されている。ＭＵＸ６の入力端子”０”には、ＣＰＵ４からの５ビットの書込データＤ２０〜Ｄ１６が与えられるようになっており、また、ＭＵＸ７の入力端子”０”には、ＣＰＵ４からの１６ビットの書込データＤ１５〜Ｄ０が与えられるようになっている。また、この書込データＤ１５〜Ｄ０は、メモリ３を構成する１６ビット分のＤＦＦに夫々与えられるように構成されていると共にＥＥＰＲＯＭ２側にも与えられるように構成されている。
【００１８】
また、ＭＵＸ６の出力端子からは、データがメモリ３の５ビット分のＤＦＦ（上述の１６ビット分のＤＦＦとは異なる）に与えられると共に、ＥＥＰＲＯＭ２に与えられるようになっている。ＭＵＸ８の入力端子”０”には、ＥＥＰＲＯＭ２からの２１ビットのデータが与えられるようになっている。
【００１９】
ＭＵＸ８から出力されるデータのうち検査用データＤ１５〜Ｄ０に対応する１６ビットのデータは、ＭＵＸ７の入力端子”１”に与えられると共に、出力データ生成回路９にも与えられるようになっている。また、ＭＵＸ８から出力されるデータのうちＤ２０〜Ｄ１６に対応する５ビットのデータは、符号器およびシンドローム計算回路（以下、計算回路と略す）１０に与えられると共に、検査データ選択回路１１に与えられる。また、ＭＵＸ７は、計算回路１０に対して検査用データＤ１５〜Ｄ０に対応するデータを与えるようになっている。
【００２０】
計算回路１０は、符号化機能およびシンドローム計算機能を有しているもので、具体的な回路構成および動作は後述する。計算回路１０の出力データは、ＭＵＸ６の入力端子”１”に与えられると共に、出力データ生成回路９および検査データ選択回路１１に与えられるようになっている。出力データ生成回路９は、ＣＰＵ４からの制御信号に基づいて出力データを生成しＣＰＵ４に与えるようになっているがその内容は後述する。そして、検査データ選択回路１１は、ＣＰＵ４からの制御信号に基づいて計算回路１０からの５ビットのデータ（後述する）もしくはＭＵＸ８からの５ビットのデータ（後述する）を選択し、ＣＰＵ４に与えるようになっている。出力データ生成回路９の出力は、ＣＰＵ４に与えられるようになっており、また、検査データ選択回路１１の出力は、ＣＰＵ４に与えられるようになっている。
【００２１】
また、ＣＰＵ４の制御用端子は、ＭＵＸ８の選択切替え端子に接続されている。また、ＣＰＵ４の別の制御用端子は、ＭＵＸ６の選択切替え端子，出力データ生成回路９の制御端子および検査データ選択回路１１の制御端子に接続されている。さらに、ＣＰＵ４のさらに別の制御用端子は、ＭＵＸ７の選択切替え端子および計算回路１０を構成するＭＵＸ１０ｃ（後述する）の選択切替え端子に接続されている。ＭＵＸ６の選択切替え信号には、ＥＣＣ選択信号が用いられ、この信号が”ロウ”の場合には入力端子”０”側が選択（有効化）され、”ハイ”の場合には入力端子”１”側が選択（有効化）されるようになっている。
【００２２】
また、この選択切替え信号は、出力データ生成回路９および検査データ選択回路１１にも与えられるようになっている。また、ＭＵＸ７の選択切替え信号には、符号／復号切替え信号が用いられ、この信号が”ロウ”の場合には入力端子”０”側が選択（有効化）されるようになっており、”ハイ”の場合には入力端子”１”側が選択（有効化）されるようになっている。この信号は、計算回路１０にも与えられるようになっている。また、ＭＵＸ８の選択切替え信号には、メモリ選択切替信号が用いられるようになっている。
【００２３】
このようなデータの入出力が行われる回路構成の中で、出力データ生成回路９および計算回路１０により誤り訂正回路（ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）回路）１２が構成されている。
【００２４】
＜計算回路１０の構成について＞
計算回路１０の構成について図２ないし図４を参照しながら説明する。本実施形態においては、検査用ビット１６ビットのうちの１ビットのエラー検出訂正を行う誤り訂正回路１２を想定して以下説明を行う。１ビットの誤り訂正を行うには、ハミング最小距離が３以上必要となり、検査ビットの数は周知のように５以上必要である。
【００２５】
そこで、符号化時において、検査ビットを生成する場合には、（１）式に示す生成用計算式を設定しこの式に１６ビットの検査用データＤ１５〜Ｄ０を代入することにより検査ビット列Ｐ４〜Ｐ０を生成することができる。
【００２６】
【数１】
2004220676.tif 000003
【００２７】
この行列式は、各行の”１”の数を極力少なくするように設定しながら、各列がそれぞれ異なるように設定した行列式を示すもので、この行列式に基づいて検査ビット列を生成することができる。すなわち、図２（ａ）に示す９入力のＥＸＯＲ回路を５個並列に構成し、図２（ｂ）に示す検査ビット入出力信号対応表に基づいて夫々の９入力ＥＸＯＲ回路に入力するように結線することで、符号化機能を達成することができる。
【００２８】
また、復号化時において、シンドロームを計算する場合には、検査用データＤ１５〜Ｄ０に受信時の検査ビットＰ４〜Ｐ０が付加されたデータを、（２）式に示すシンドローム計算式に代入することによりシンドロームＳ４〜Ｓ０を計算することができる。
【００２９】
【数２】
2004220676.tif 000004
【００３０】
すなわち、図３（ａ）に示す１０入力のＥＸＯＲ回路を５個並列に構成し、図３（ｂ）に示すシンドローム計算回路入出力対応表に基づいて夫々の回路に入力するように結線することで、シンドローム計算機能を達成することができる。尚、図３（ｃ）は、各ビットのエラーコード対応表を示している。
【００３１】
そこで、このような符号化機能およびシンドローム計算機能を多重化して構成するため、図４に示す回路を５つ並列接続して計算回路１０として構成する。すなわち、計算回路１０は、ＥＸＯＲゲート１０ａａ〜１０ａｇからなる８入力のＥＸＯＲ回路（入力データａ〜ｈ）１０ａ，入力端子ｉ及びｐからデータ入力されるＥＸＯＲゲート１０ｂ，マルチプレクサ（以下、ＭＵＸと称する）１０ｃおよびＥＸＯＲゲート１０ｄからなる回路を５つ並列に接続して構成する。
【００３２】
ここで、この単位回路の結線関係を説明するに、入力端子ｉは、ＭＵＸ１０ｃの入力端子”０”側に接続されるとともに２入力ＥＸＯＲゲート１０ｂの一方の入力に接続されている。また、入力端子ｐは、ＥＸＯＲゲート１０ｂの他方の入力端子に接続されており、ＥＸＯＲゲート１０ｂの出力はＭＵＸ１０ｃの入力端子”１”に接続されている。また、ＭＵＸ１０ｃの出力はＥＸＯＲゲート１０ｄの一方の入力に接続されていると共に、８入力ＥＸＯＲ回路１０ａの出力はＥＸＯＲゲート１０ｄの他方の入力に接続されている。
【００３３】
また、ＭＵＸ１０ｃの選択切替え信号には、上述した符号／復号切替え信号が用いられ、この信号が”ロウ”の場合には入力端子”０”側が選択され、この信号が”ハイ”の場合には入力端子”１”側が選択されるようになっている。このようにして計算回路１０が構成されている。
【００３４】
上記構成の作用について図５ないし図７をも参照しながら説明する。
ＥＥＰＲＯＭ装置１を検査する際の説明を行う。ＥＥＰＲＯＭ装置１を検査する場合には、以下の３つの検査を行う。
【００３５】
すなわち、
（Ｉ）「符号化機能の検査」
（ＩＩ）「復号化機能の検査」
（ＩＩＩ）「ＥＥＰＲＯＭ２の検査」
を行う。以下これらの検査動作の説明を行う。本実施形態においては、全エリア消去パターン「００００００００００００００００Ｂ」（００００Ｈ），全エリア書き込みパターン「１１１１１１１１１１１１１１１１Ｂ」（１１１１Ｈ），チェッカーパターン「１０１０１０１０１０１０１０１０Ｂ」（ＡＡＡＡＨ）（「Ｂ」は２進数、「Ｈ」は１６進数を表わす）等を検査用データとして説明を示す。
【００３６】
（Ｉ）符号化機能の検査
符号化機能の検査においては、図５に示す手順で検査を行う。ＣＰＵ４はまず１回目の検査用データ（全エリア消去パターン）をセットする（Ｓ１）。これは、ＣＰＵ４が検査用データＤ１５〜Ｄ０の格納されている図示しないＲＡＭから読み出すことにより処理を行うものである。そして、ＣＰＵ４は符号／復号切替え信号を出力することにより、ＭＵＸ７に入力端子”０”側を選択させるとともにＭＵＸ１０ｃに入力端子”０”側を選択させ、計算回路１０の符号化機能を有効化する（Ｓ２）。
【００３７】
またＣＰＵ４は、ＭＵＸ６に入力端子”１”側を選択させる。ＣＰＵ４は、ＭＵＸ７の入力端子”０”側を介して検査用データを計算回路１０に入力させる。計算回路１０は、この検査用データを符号化し（Ｓ３）、符号語を生成する。符号化された５ビットの検査ビット列は、ＭＵＸ６を介してメモリ３に書き込まれる。また一方でＣＰＵ４は、検査用データＤ１５〜Ｄ０をメモリ３に対して書き込ませる（Ｓ４）。したがって、検査用データ（１６ビット）と共に計算回路１０において符号化された検査ビット（５ビット）がメモリ３に書き込まれる。
【００３８】
そして、ＣＰＵ４は、計算回路１０の符号化機能を無効化する（Ｓ５）。そして、ＣＰＵ４は、ＭＵＸ８に入力端子”１”側を選択切替えさせる。ＣＰＵ４は、符号化され検査ビットが付加された２１ビットのデータをメモリ３から読み出させる（Ｓ６）ことで、出力データ生成回路９に検査用データＤ１５〜Ｄ０に対応する１６ビットのデータが出力され、検査データ選択回路１１には検査ビット列に対応する５ビットのデータが出力される。
【００３９】
出力データ生成回路９は、ＭＵＸ８側から与えられた１６ビットのデータをそのままＣＰＵ４に与える。また、検査データ選択回路１１は、ＭＵＸ８側から与えられた５ビットのデータをそのままＣＰＵ４に与える。
【００４０】
ＣＰＵ４では、これら与えられたデータ及びステップＳ１にてセットした検査用データに基づいて誤り訂正回路１２の符号化機能が正常に動作しているか否かを検査する。すなわち、ＣＰＵ４は、ステップＳ１にてセットした検査用データ（全エリア消去パターン）と与えられた１６ビットのデータとを照合（ベリファイ）し（Ｓ７）、間違っていれば（Ｓ７：ＮＧ）、マイクロコンピュータ５を不良品として処理し（Ｓ８）、終了する。この場合、メモリ３もしくは出力データ生成回路９等に不良が生じていると推定される。
【００４１】
また、ＣＰＵ４は、ステップＳ７において５ビットの検査ビット列の照合を行う。すなわち、検査用データ（全エリア消去パターン）を（１）式に示す検査ビット生成用計算式に代入することで仮想検査ビットＰ４〜Ｐ０がＣＰＵ４により算出され、この算出された仮想検査ビットＰ４〜Ｐ０とＥＥＰＲＯＭ装置１により出力された５ビットの検査ビット列に対応するデータ（符号化されたデータ）とを照合する。この場合、この照合結果が間違っていれば、ステップＳ８において、マイクロコンピュータ５を不良品として処理して終了する。この場合、主に計算回路１０の符号化機能に問題が生じていると推定される。
【００４２】
一方、ベリファイに成功すれば（Ｓ７：ＯＫ）、ＣＰＵ４が次の検査用データがあるか否かを判定する。この場合、全エリア書き込みパターン「１１１１１１１１１１１１１１１１Ｂ」，チェッカーパターン「１０１０１０１０１０１０１０１０Ｂ」等による検査が終了していないため、ＹＥＳと判定され、次の検査用データ（全エリア書き込みパターン）がセットされる（Ｓ１０）。そして、ステップＳ２から再度同様な処理を繰り返し、チェッカーパターンの検査が行われる。そして、検査すべきパターン（検査用データ）がない場合には（Ｓ９：ＮＯ）、検査ＯＫとして処理し（Ｓ１１）、終了する。尚、検査用データとして全エリア消去パターン，全エリア書き込みパターンおよびチェッカーパターンにより検査を行う実施形態を示したが、その他の組合せパターンでも同様に行うことができる。これにより、検査用データとしてどのようなデータを用いても、ＥＣＣ回路１２（計算回路１０）の符号化機能の検査を行うことができ、検査の容易性を向上することができる。メモリ３がＤＦＦにより構成されているので、ＥＣＣ回路１２の符号化機能の検査時間を極力短縮することができる。
【００４３】
（ＩＩ）復号化機能の検査
復号化機能の検査については、図６に示す手順で検査が行われる。ＣＰＵ４は内部処理として、１回目の検査用データ（全エリア消去パターン）を符号化し、仮想的な検査ビットを生成する（Ｔ１）。これは、上述したように、ＣＰＵ４が全エリア消去パターンを（１）式に示す検査ビット生成用計算式に検査用データＤ１５〜Ｄ０を代入し、仮想検査ビットＰ４〜Ｐ０（Ｄ２０〜Ｄ１６に相当）を生成することにより行われる。
【００４４】
そして、ＣＰＵ４は、ＭＵＸ６に入力端子”０”側を選択させると共に、ＭＵＸ７に入力端子”１”側を選択させることにより、計算回路１０の機能を無効化し（Ｔ２）、この状態でＣＰＵ４は、メモリ３に書き込ませる（Ｔ３）ことにより、メモリ３の２１ビット分のＤＦＦには検査用データおよび仮想検査ビットが書き込まれる。
【００４５】
この場合、ＣＰＵ４は、計算回路１０のＭＵＸ１０ｃに入力端子”１”側を選択させることで計算回路１０の復号化機能を有効に切替えるとともに、出力データ生成回路９にＥＣＣ選択信号を与えることにより復号化機能を動作させる（Ｔ４）。
【００４６】
そして、ＣＰＵ４はメモリ３からデータを読み出す（Ｔ５）。読み出されたデータのうち検査用データＤ１５〜Ｄ０に対応した１６ビットは、ＭＵＸ８の入力端子”１”およびＭＵＸ７の入力端子”１”を介して計算回路１０に与えられる。また、読み出されたデータのうち仮想検査ビットＰ４〜Ｐ０（Ｄ２０〜Ｄ１６）に対応した５ビットは、ＭＵＸ８の入力端子”１”を介して計算回路１０に与えられる。計算回路１０ではシンドロームＳ４〜Ｓ０が計算され（（２）式参照）、計算されたシンドロームは、検査データ選択回路１１および出力データ生成回路９に与えられる。
【００４７】
検査データ選択回路１１は、ＣＰＵ４からの選択信号に基づいて与えられたシンドロームの計算結果をＣＰＵ４に与える。また、出力データ生成回路９は、ＭＵＸ８側から与えられた検査用データＤ１５〜Ｄ０に対応した１６ビットのデータおよび与えられたシンドロームに基づいて誤り訂正する。具体的には、出力データ生成回路９は、図３（ｃ）に示すエラーコード対応表のデータに基づく論理回路が形成されており、出力データ生成回路９はこの対応に基づいてデータを生成し出力する。すなわち、出力データ生成回路９は、例えば与えられたシンドロームが「ＡＢＣＤＥ」＝「０００１１Ｂ」であればデータＤ０に対応するデータを反転し出力することで誤りを訂正し１６ビットのデータをＣＰＵ４に出力する。他の誤りが発生しても図３（ｃ）に示す対応に基づいてエラーが発生したデータを反転し出力する。このようにしてＥＣＣ回路１２において復号化される（Ｔ６）。
【００４８】
ＣＰＵ４では、復号化された１６ビットのデータとステップＴ１にて使用した検査用データＤ１５〜Ｄ０とを照合（ベリファイ）し（Ｔ７）、ベリファイが失敗すれば（Ｔ７：ＮＧ）不良品として処理し（Ｔ８）終了する。すなわち、メモリ３に記憶される過程で何らかの影響により誤りが生じ、この誤りをＥＣＣ回路１２により訂正し復号化したとしても誤りが生じていることになるため、ＥＣＣ回路１２のハードウェアに何らかの不具合を生じていることが推定される。
【００４９】
この場合、ＣＰＵ４では、検査データ選択回路１１から与えられたシンドロームの計算結果に基づいてメモリ３に記憶される過程で誤りが発生していたか否か，もしくはＥＣＣ回路１２により誤りが訂正されているか否かを判定することができる。
【００５０】
ステップＴ７において、ＣＰＵ４によるベリファイが終了し、この結果が正常であれば（Ｔ７：ＯＫ）、ＣＰＵ４は、次の検査用データがあるか否かを判定する（Ｔ９）。この場合、全エリア書き込みパターン「１１１１１１１１１１１１１１１１Ｂ」，チェッカーパターン「１０１０１０１０１０１０１０１０Ｂ」等による検査が終了していないため、ＹＥＳと判定され、次の検査用データ（全エリア書き込みパターン）がセットされる（Ｔ１０）。
【００５１】
そして、ステップＴ２から再度同様の処理を繰り返し、チェッカーパターンの検査が行われる。そして、ＣＰＵ４は検査すべきパターン（検査用データ）がない場合には（Ｔ９：ＮＯ）、検査ＯＫとして処理し（Ｔ１１）終了する。尚、検査用データとして全エリア消去パターン，全エリア書き込みパターンおよびチェッカーパターンにより検査を行う実施形態を示したが、その他組合せパターンでも同様に行うことができる。これにより、検査用データとしてどのようなデータを用いても、ＥＣＣ回路１２の復号化機能の検査を行うことができ、検査の容易性を向上することができる。しかも、メモリ３がＤＦＦにより構成されているので、ＥＣＣ回路１２の復号化機能の検査時間を極力短縮することができる。
【００５２】
＜符号化機能検査および復号化機能検査のまとめ＞
上述したように、ＣＰＵ４からの符号／復号切替信号に基づいて計算回路１０のＭＵＸ１０ｃを選択切替えすることにより、図２（ａ）および図３（ａ）に示す符号化機能およびシンドローム計算機能を切替えることができる。したがって、符号化時および復号化時に入力される入力データ（ａ〜ｈ）を多重化するように構成することで符号化機能および復号化機能を達成する回路の大部分を共通化することができる。これにより、符号化機能および復号化機能を構成する回路構成を極力小型化することができる。
【００５３】
また、例えば１６ビットで構成される全ての検査用データで検査したい場合には、符号化用回路および復号化用回路を別々に構成すると独立に検査しなければならないため、全ての検査用データについて２回同様の検査を行う必要があるが、符号化機能および復号化機能を達成する回路の大部分を共通化して構成したので、検査における検証組合せを削減することができる。
【００５４】
（ＩＩＩ）ＥＥＰＲＯＭ２の検査
ＥＥＰＲＯＭ２の検査については、１６ビットのデータをＥＥＰＲＯＭ２に対して書き込み／読み出しする場合に図７に示す手順で検査が行われる。ＣＰＵ４はまず１回目の検査用データ（全エリア消去パターン）をセットする（Ｕ１）。そして、ＣＰＵ４は、ＭＵＸ７に入力端子”１”側を選択させる。そして、ＣＰＵ４は、出力データ生成回路９および検査データ選択回路１１に制御信号を出力することによりＥＣＣ回路１２の符号化および復号化機能を無効化する（Ｕ２）。この状態で、ＣＰＵ４は、検査用データをＥＥＰＲＯＭ２に書き込ませる（Ｕ３）。さらに、ＣＰＵ４は、ＭＵＸ７に入力端子”０”側を選択させることで、符号化および復号化機能を無効化状態のまま維持し（Ｕ４）、さらに、メモリ選択切替信号をＭＵＸ８に出力することによりＭＵＸ８に入力端子”０”側を選択させる。
【００５５】
この状態で、ＥＥＰＲＯＭ２から検査用データが読み出される（Ｕ５）。このデータは、ＭＵＸ８の入力端子”０”を介して出力データ生成回路９に入力される。出力データ生成回路９は、この１６ビットのデータをそのままＣＰＵ４に与える。ＣＰＵ４は、このデータとステップＵ１にてセットした検査用データＤ１５〜Ｄ０とを照合（ベリファイ）し（Ｕ６）、ベリファイが失敗すれば（Ｕ６：ＮＧ）、不良品として処理し（Ｕ７）終了する。すなわち、ＥＥＰＲＯＭ２に記憶される過程で何らかの影響により誤りが生じたことになり、ＥＥＰＲＯＭ２に何らかの不具合を生じていることが推定される。
【００５６】
ステップＵ６において、ＣＰＵ４によるベリファイが終了し、この結果が正常であれば（Ｕ６：ＯＫ）、ＣＰＵ４により次の検査用データがあるか否かが判定される。この場合、全エリア書き込みパターンおよびチェッカーパターン等による検査が終了していないため、ＹＥＳと判定され、次の検査用データ（全エリア書き込みパターン）がセットされ（Ｕ９）、ステップＵ２から処理を再び繰り返し、チェッカーパターンの検査もなされる。そして、検査すべきパターン（検査用データ）がない場合には（Ｕ８：ＮＯ）、良品として処理し（Ｕ１０）、終了する。尚、検査用データとして全エリア消去パターン，全エリア書き込みパターンおよびチェッカーパターンにより検査を行う一例を示したが、その他組合せパターンでも同様に行うことができる。これにより、検査用データとしてどのようなデータを用いても、ＥＥＰＲＯＭ２の検査を行うことができ、検査の容易性を向上することができる。
【００５７】
尚、検査が終了したＥＥＰＲＯＭ装置１（ＥＥＰＲＯＭ２）に対して読み出し／書き込みを行う場合には、ＣＰＵ４は、上述したようにプログラム用メモリに記憶された制御用プログラムに基づいて誤り訂正回路１２を介して符号化してＥＥＰＲＯＭ２に書き込み、ＥＥＰＲＯＭ２から誤り訂正回路１２により復号化された状態で読み出すが、詳細は従来と略同様であるため、その説明を省略する。
【００５８】
このような実施形態によれば、符号化機能検査時において、ＣＰＵ４は、ＥＥＰＲＯＭ２よりも書き込み速度の速いメモリ３に検査ビットの付加されたデータを書き込ませるため、ＥＥＰＲＯＭ２に書き込む構成に比較して書き込みに必要とされる時間を短縮することができる。しかも、ＣＰＵ４は、書き込まれたデータを誤り訂正回路１２を機能させない状態で読み出すことができるので、符号化され検査ビットが付加されたデータをそのまま読み出すことができ、特に誤り訂正回路１２の符号化機能が正常に動作しているか否かを検査することができる。
【００５９】
復号化機能検査時において、ＣＰＵ４は、仮想検査ビットの付加されたデータを誤り訂正回路１２を機能させない状態でメモリ３に書き込ませ、誤り訂正回路１２がメモリ３に書き込まれたデータについて復号化しＣＰＵ４が照合することにより復号化機能が正常に動作しているか否かを検査するため、書き込みに必要とされる時間を短縮することができる。
【００６０】
ＥＣＣ回路１２の符号化機能の検査、ＥＣＣ回路１２の復号化機能の検査、ＥＥＰＲＯＭ２の検査に分けて検査を行うため、ＥＣＣ回路１２に不具合があるか，もしくはＥＥＰＲＯＭ２に不具合があるかを切り分けて推定し判定することができる。
【００６１】
（他の実施形態）
本発明は、上記し且つ図面に記載した実施例にのみ限定されるものではなく、例えば次のような変形または拡張が可能である。
計算回路１０として、図４に示す回路を５つ並列に構成する実施形態を示したが、これに限定されるものではなく、図４に示す回路を１つだけ設け、それぞれの入力データ（ａ〜ｉ）として、２〜４入力のマルチプレクサ、シーケンサを組み合わせて図２（ｂ）および図３（ｂ）に示すデータを入力するように構成しても良い。
【００６２】
メモリ３を２１ビットのＤＦＦにより構成した実施形態を示したが、これに限定されるものではなく、２１ビット分のラッチ回路や各種他のフリップフロップにより構成しても良いし、この程度以上の情報量を記憶可能な各種ＲＡＭやＲＯＭ等により構成しても良い。要は不揮発性メモリよりも書き込み速度が速ければ何れのメモリにより構成されていても良い。メモリ３がＤＦＦやラッチ回路により構成されていれば、回路構成を極力簡単化することができる。
【００６３】
マイクロコンピュータ５に適用しデータの入出力関係を簡略化した図および説明を示したが、具体的には次のように構成することで上述機能を構成することができる。すなわち、復号化機能を検査する場合に、ＣＰＵ４が、検査用データＤ１５〜Ｄ０を１６ビットのバスラインによりメモリ３との間で入出力するように構成する。そしてその他にも、ＣＰＵ４が上述した仮想検査ビットＤ２０〜Ｄ１６のデータを別途設けたラッチ回路もしくはレジスタに一旦保持させてから当該データをメモリ３に記憶させるように構成する。そして、検査データ選択回路１１から出力される５ビットのデータを上述したラッチ回路もしくはレジスタに一旦格納してから読み出すように構成する。この場合、上述実施形態と略同様の機能を達成することができる。尚、検査用データＤ１５〜Ｄ０をメモリ３に記憶させて読み出す場合も同様に構成することができる。
【００６４】
また、ＥＥＰＲＯＭ装置１として、シリアル通信可能に構成されたシリアルＥＥＰＲＯＭ装置に適用することができる。このシリアルＥＥＰＲＯＭ装置は、ＣＰＵに内蔵されるものではなく単体のＥＥＰＲＯＭ装置として機能するものである。この場合、シリアルＥＥＰＲＯＭ装置を通常のメモリとして用いる場合（通常モード時）には、シフトレジスタにより１６ビットでシリアル通信を行い、誤り訂正回路１２の検査時（テストモード時）にはシフトレジスタが出力するデータを１６ビットから２１ビットに拡張するように設けることにより構成することができる。
【００６５】
また、不揮発性メモリ２として、ＥＥＰＲＯＭだけでなく、フラッシュメモリ等他の種々の不揮発性メモリでも本装置に適用できることはいうまでもない。
【図面の簡単な説明】
【図１】本発明の一実施形態のマイクロコンピュータの機能ブロックを概略的に示す図
【図２】（ａ）検査ビット計算回路の一部を示す図、（ｂ）検査ビット計算回路入出力信号対応図
【図３】（ａ）シンドローム計算回路の一部を示す図、（ｂ）シンドローム計算回路入出力信号対応図、（ｃ）エラーコード対応図
【図４】符号器及びシンドローム計算回路の一部を示す図
【図５】符号化機能を検査するための動作を示すフローチャート
【図６】復号化機能を検査するための動作を示すフローチャート
【図７】不揮発性メモリを検査するための動作を示すフローチャート
【符号の説明】
１はＥＥＰＲＯＭ装置（不揮発性メモリ装置）、２はＥＥＰＲＯＭ（不揮発性メモリ）、３はメモリ（記憶手段）、４はＣＰＵ、５はマイクロコンピュータ、９は出力データ生成回路、１０は符号器及びシンドローム計算回路、１１は検査データ選択回路、１２は誤り訂正回路を示す。
【図１】
2004220676.tif 000005
【図２】
2004220676.tif 000006
【図３】
2004220676.tif 000007
【図４】
2004220676.tif 000008
【図５】
2004220676.tif 000009
【図６】
2004220676.tif 000010
【図７】
2004220676.tif 000011