(57)【要約】【課題】  フラッシュメモリのリテンションによる性能低下を防ぎ、信頼性を向上させたマイクロコントローラ装置及びその制御方法を提供することにある。【解決手段】  電源投入時或いは電源リセット解除時において、フラッシュメモリ１1におけるメモリセルアレイ１１ａの書き込み状態を検証し、書き込み状態にあるメモリセルについて、再書き込みを行うことにより、その後の使用時におけるマイクロコントローラ装置の信頼性が向上する。【選択図】  図２
2005078489.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
フラッシュメモリと、
前記フラッシュメモリの動作を制御する制御部とを具備し、
電源投入時或いは電源リセット解除時において、前記フラッシュメモリにおけるメモリセルの書き込み状態を検証する検証手段と、
書き込み状態にある前記メモリセルについて、再書き込みを行う再書き込み手段とを
有することを特徴とするマイクロコントローラ装置。
【請求項２】
前記書き込み状態にあるメモリセルにおいて、書き込み状態のしきい値電圧が基準より低いメモリセルを検出し、しきい値電圧が基準より低い前記メモリセルについてのみ、前記再書き込みを行うことを特徴とする請求項１に記載のマイクロコントローラ装置。
【請求項３】
前記再書き込みの頻度を計測する計測手段と、前記頻度が規定の数を越えた場合、動作を停止する手段及び外部へ警告を発する手段を更に有することを特徴とする請求項１又は請求項２に記載のマイクロコントローラ装置。
【請求項４】
前記電源投入時或いは電源リセット解除時における前記フラッシュメモリの動作を実行させるプログラムが、前記ＣＰＵに内蔵されていることを特徴とする請求項１乃至請求項３のいずれか１項に記載のマイクロコントローラ装置。
【請求項５】
ＣＰＵ、フラッシュメモリ、及び前記フラッシュメモリの動作を制御する制御部を具備したマイクロコントローラ装置の制御方法であって、
電源投入時或いは電源リセット解除時において、フラッシュメモリのメモリセルの書き込み状態を検証し、書き込み状態にある前記メモリセルについて再書き込みを行うことを特徴とするマイクロコントローラ装置の制御方法。
【請求項６】
前記書込み状態にあるメモリセルにおいて、前記しきい値電圧が基準より低いメモリセルを検出し、しきい値電圧が基準より低い前記メモリセルについてのみ、前記再書き込みを行うことを特徴とする請求項５に記載のマイクロコントローラ装置の制御方法。
【請求項７】
前記再書き込みの頻度を計測し、前記頻度が規定の数を越えた場合、動作を停止し、かつ、外部へ警告を発することを特徴とする請求項５又は請求項６に記載のマイクロコントローラの制御方法。
【請求項８】
前記電源投入時或いは電源リセット解除時における前記フラッシュメモリの動作を実行させるプログラムを前記ＣＰＵが内蔵し、前記電源投入時或いは電源リセット解除時に前記プログラムを前記ＣＰＵが前記制御部に入力し、前記制御部が前記プログラムをデコードし、かつ、前記フラッシュメモリを制御することを特徴とする請求項５乃至請求項７のいずれか１項に記載のフラッシュメモリを含むマイクロコントローラ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを混載し、そのメモリセルにおける再書き込みの機能を有するマイクロコントローラ装置及びその制御方法に関する。
【背景技術】
【０００２】
現在、フラッシュメモリはメモリカード等に広く使われるようになっている。また、単体で使用されるだけでなく、１チップ上にＣＰＵと共に混載され、マイクロコントローラ装置の一部の回路としても利用されるようになっている。
【０００３】
このように応用が広がる中で、フラッシュメモリの特長が生かされると共に、課題についての解決が図られてきた。
【０００４】
フラッシュメモリには、メモリセルへのデータ書き込み後、その書き込み状態におけるしきい値電圧が低下する、リテンションといわれる問題点がある。これはゲートを構成するトンネル絶縁膜に注入された電荷が、そのトンネル絶縁膜から抜けていくことにより、時間と共にしきい値電圧が低下する現象である。即ち、これはゲートを構成するトンネル絶縁膜に電荷を注入してデータの書き込み状態を形成するフラッシュメモリ特有の問題である。
【０００５】
従来、このようなリテンションに対し、フラッシュメモリとしてその現象を検証する回路を設け、しきい値電圧が低下したメモリセルに再度書き込みを行う機能を設置し、その性能を保持させている。これにより、例えば、フラッシュメモリを有するマイクロコントローラ装置を搭載した機器が、リテンションによってその性能が低下することを防止していた（例えば、特許文献１参照。）。
【０００６】
しかし、今後更に、各種機器へのフラッシュメモリを有するマイクロコントローラ装置による制御が広がる中で、マイクロコントローラ装置は、それらの応用される機器に対応して、信頼性を向上させることが必要とされている。
【０００７】
フラッシュメモリに関しても、基本的な性能を満足させるだけでなく、その利用される環境、或いは利用される状況に即したきめ細かい仕様の設定が必要となる。従って、フラッシュメモリにおけるリテンションについても、マイクロコントローラ装置の機器への応用を考慮し、再書き込みのタイミング等を設定する等の対応が課題となっている。
【特許文献１】特開２００１−１４８６９号公報  （第４ページ、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明はこのような事情に鑑みてなされたもので、その目的は、フラッシュメモリを混載したマイクロコントローラ装置において、そのメモリセルがリテンションによって性能が低下することを防ぎ、信頼性のより高いマイクロコントローラ装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明の第１の発明は、マイクロコントローラ装置として、ＣＰＵと、フラッシュメモリと、前記フラッシュメモリの動作を制御する制御部とを具備し、電源投入時或いは電源リセット解除時において、前記フラッシュメモリにおけるメモリセルの書き込み状態を検証する検証手段と、書き込み状態にある前記メモリセルについて、再書き込みを行う再書き込み手段とを有することを特徴とする。
【００１０】
また、本発明の第２の発明は、ＣＰＵ、フラッシュメモリ、及び前記フラッシュメモリの動作を制御する制御部を具備したマイクロコントローラ装置の制御方法であって、電源投入時或いは電源リセット解除時において、フラッシュメモリのメモリセルの書き込み状態を検証し、書き込み状態にある前記メモリセルについて再書き込みを行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、電源投入時或いは電源リセット解除時において、フラッシュメモリにおけるメモリセルの書き込み状態を検証し、書き込み状態にあるメモリセルについて、再書き込みを行うことにより、そのフラッシュメモリが混載されているマイクロコントローラ装置の使用時における信頼性が高められる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施例を説明する。
【実施例】
【００１３】
本発明によるマイクロコントローラ装置の一実施例の回路ブロック図を図１に示す。フラッシュメモリ１１は、例えば、ＮＯＲ型フラッシュメモリである。ＣＰＵ１０ａはマイクロコントローラ装置１０全体を制御すると共に、フラッシュメモリ１１に書き込まれたデータをもとに、外部の機器を制御するプログラムを生成して出力する。制御部１２はＣＰＵ１０ａの制御指示を受けて、フラッシュメモリ１１の動作を制御する。これらのデータの入出力はバスライン１０ｂを通して行われる。検証回路１３、電圧発生回路１４、電圧選択回路１５、及び比較データ格納回路１６を含めた各回路の関連は次に示す。
【００１４】
図２は、図１に示したマイクロコントローラ装置のフラッシュメモリ１１と制御部１２を詳細に示した回路ブロック図である。また、図２において、検証回路１３、電圧発生回路１４、電圧選択回路１５、及び比較データ格納回路１６も示している。
【００１５】
フラッシュメモリ１１において、ＣＰＵがバスライン（両者共に図示せず）を通して入力したアドレスをアドレスバッファ回路１１ｂが保持する。ロウデコーダ１１ｃ及びカラムデコーダ１１ｄは、アドレスバッファ回路１１ｂからのアドレスを読み取り、メモリセルアレイ１１ａの選択されたメモリセルをアクセスする。一方、バスラインを通して入力されたデータを、データ入力バッファ回路１１ｆが保持し、センスアンプ１１ｅを通して選択されたアドレスのメモリセルに格納する。データ出力バッファ回路１１ｇはメモリセルアレイ１１ａから読み出されたデータを保持し、ＣＰＵ或いは検証回路へ送信する。
【００１６】
制御部１２はＣＰＵからのコマンド入力をコマンドバッファ回路１２ａに保持する。コマンドデコーダ１２ｂにおいて、コマッドバッファ回路１２ａのコマンドを読み取り、シーケンス制御回路１２ｃにおいて、一連の動作シーケンスを制御する制御信号を発生する。また、シーケンス制御回路１２ｃには、再書き込みの回数を計測するプログラムカウンタ１２ｄが含まれている。
【００１７】
電圧発生回路１４はメモリセルアレイ１１ａのそれぞれのメモリセルについて、書き込み状態にあるか否かを判定する電圧、及び、リテンションによるメモリセルのしきい値電圧低下を検出する電圧を発生する回路である。また、電圧選択回路１５は電圧発生回路１４における書き込み状態を判定する電圧としきい値電圧低下を検出する電圧のどちらかを選択し、ゲート電圧として、ロウデコーダ１１ｃを介して、メモリセルアレイ１１ａの選択されたメモリセルアレイに供給する回路である。
【００１８】
検証回路１３はデータ書き込み時、或いは再書き込み時において、正常にデータが書き込まれていることを検証し、その結果を制御部１２へ送信する。即ち、検証回路１３は書き込まれたデータをメモリセルアレイ１１ａからデータ出力バッファ回路１１ｇを介して読み出し、データ入力バッファ回路１１ｆから送信された書き込みデータとの一致を照合する。一致しない場合は、更に書き込みを行う。
【００１９】
また、検証回路１３は、電源投入時或いは電源リセット解除時に、メモリセルアレイ１１ａのそれぞれのメモリセルが書き込み状態にあるか否かを判定する。即ち、検証回路１３は書き込まれたデータをメモリセルアレイ１１ａからデータ出力バッファ回路１１ｇを介して読み出し、制御部１２から比較データ格納部１６に送信されたデータと比較し、その結果を制御部１２へフィードバックする。
【００２０】
図３は本実施例におけるマイクロコントローラ装置の電源投入時或いは電源リセット解除時からデータの再書き込みまでの一連の動作シーケンスを示すフロー図である。図１及び図２を参照しながら説明する。
【００２１】
マイクロコントローラ装置１０が搭載されている装置の電源投入時或いはトラブル等の後での電源リセット解除時に、マイクロコントローラ装置１０においても同様に電源が投入され、或いは電源リセットが解除され、動作が開始される（ステップＳ１）。
【００２２】
動作の開始と共に、ＣＰＵ１０ａに内蔵されているプログラムの一つである再書き込みモードコマンドが制御部１２のコマンドバッファ回路１２ａに入力される（ステップＳ２）。このコマンドが入力されると、コマンドデコーダ１２ｂはコマンドバッファ回路１２ａのデータを読み取り、シーケンス制御回路１２ｃにより再書き込みに関する一連の動作シーケンスを生成する。
【００２３】
シーケンス制御回路１２ｃはプログラムカウンタ１２ｄに計測されているメモリセルの書き込みに関する修復回数を読み取り（ステップＳ３）、規定値以上であれば、マイクロコントローラ１０装置に対する動作停止信号、並びに警告信号をＣＰＵ１０ａに送る（ステップＳ１０）。ＣＰＵ１０ａは、マイクロコントローラ装置１０が搭載されている装置に対し、警告を与える信号を出力する。また、これ以上の動作は必要とされていないため、シーケンスは終了する（ステップＳ１１）。
【００２４】
この処理により、フラッシュメモリ１１のリテンションによる性能低下を未然に防ぎ、マイクロコントローラ装置１０の信頼性を維持することが可能になる。
【００２５】
一方、修復回数が規定値未満の場合、実際の再書き込みモードが実行される。先ず、フラッシュメモリ１１のメモリセルのアドレスを指定する（ステップＳ４）。アドレスバッファ回路１１ｂに記憶されているアドレスをロウデコーダ１１ｃ及びカラムデコーダ１１ｄが読み取り、メモリセルアレイ１１ａの中からメモリセルを選択する。
【００２６】
続いて、指定されたメモリセルについてデータ書き込みの検証を行う（ステップＳ５）。一連のシーケンスとして、先ず、電圧発生回路１４において発生させた書き込み状態を判定する電圧を電圧選択回路１５が選択し、ゲート電圧としてロウデコーダ１１ｃを介し、メモリセルアレイ１１ａの選択されたメモリセルに供給する。次に、指定されたメモリセルに書き込まれているデータに関し、データ出力バッファ回路１１ｇを介して読み出し、検証回路１３に送信する。更に、検証回路１３は制御部１２から比較データ格納回路１６へ出力されたデータと上述したメモリセルに書き込まれているデータとを比較し、一致している場合は、データ書き込みに対して選択されたメモリセルと判断する。
【００２７】
一方、データが不一致の場合、検証回路１３はデータ書き込みに対して非選択のメモリセルと判断する。非選択のメモリセルについてはこれ以上の処理を行わないため、一連のシーケンスは、次のメモリセルを指定するため、メモリセルのアドレス指定に戻る（ステップＳ４）。
【００２８】
ステップＳ５において、データ書き込みに対して選択されたメモリセルと判断された場合、次にリテンションよるしきい値電圧の低下について検証が行われる（ステップＳ６）。
【００２９】
電圧発生回路１４において発生させたしきい値電圧低下を検出する電圧を電圧選択回路１５が選択し、ゲート電圧としてロウデコーダ１１ｃを介し、メモリセルアレイ１１ａの選択されたメモリセルに供給する。この電圧は前述のしきい値電圧判定の電圧よりも低く設定され、書き込まれているべきデータが消去されているメモリセルを検出する。
【００３０】
次に、メモリセルに書き込まれているデータを、データ出力バッファ回路１１ｆを介して読み出し、検証回路１３に送信する。更に、検証回路１３は制御部１２から比較データ格納回路１６へ出力されたデータと上述したメモリセルに書き込まれているデータとを比較し、一致している場合は、データ読み出し可能と判断する。この場合、一連のシーケンスは、次のメモリセルを指定するため、メモリセルのアドレス指定に戻る（ステップＳ４）。
【００３１】
一方、データが不一致の場合、検証回路１３はメモリセルに書き込まれたデータが消去されたと判断する。この場合は、次に、データを修復するため、データの再書き込みを行う（ステップＳ７）。
【００３２】
また、検証回路１３はプログラムカウンタ１２ｄへ再書き込みを通知する。プログラムカウンタ１２ｄは修復回数をカウントし（ステップＳ８）、修復回数が規定値に到達した場合は、マイクロコントローラ装置１０に対する動作停止信号、並びに警告信号をＣＰＵ１０ａに送る（ステップＳ１０）。ＣＰＵ１０ａは、マイクロコントローラ装置１０が搭載されている装置に対し、警告を与える信号を出力する。また、これ以上の動作は必要とされていないため、シーケンスは終了する（ステップＳ１１）。
【００３３】
この処理により、フラッシュメモリのリテンションによる性能低下を未然に防ぎ、マイクロコントローラ装置１０の信頼性を高めることが可能になる。
【００３４】
一方、修復回数が規定値未満の場合、一連のシーケンスは、次のメモリセルを指定するため、メモリセルのアドレス指定に戻る（ステップＳ４）。
【００３５】
以上の一連のステップは、メモリセルアレイ１１ａ内のメモリセルすべてについて順次実行された後、終了する（ステップＳ９）。
【００３６】
以上、詳述したように本実施例によれば、フラッシュメモリを含むマイクロコントローラ装置において、フラッシュメモリのリテンションによる性能低下を未然に防ぎ、マイクロコントローラ装置の信頼性を維持することが可能になる。
【００３７】
また、しきい値電圧が低下したメモリセルについてだけデータの再書き込みを行うため、再書き込みに伴う消費電力を低く抑えることができる。
【００３８】
（変形例）
フラッシュメモリにおけるリテンションの概念を図４に示す。図４はフラッシュメモリに書き込みを行った後におけるメモリセルのしきい値電圧の度数分布を表すグラフである。例えば、書き込み直後はＡに示す分布を示す。フラッシュメモリが使用されている場合も含め、時間の経過と共に、しきい値電圧が低下するメモリセルが存在し、例えばＢに示す分布をとる。更に、時間が経過すると、例えばＣに示す分布をとる。このようにメモリセルのしきい値電圧が低下する現象がリテンションである。
【００３９】
次に、上述のリテンションをもとに、実施例に関する変形例について説明する。
【００４０】
実施例では、しきい値電圧が低下したメモリセルについてデータの再書き込みを行った。しかし、図４のＣに示す分布をとるような場合、しきい値電圧が低下したメモリセルを区別せずに、すべてのデータを再書き込みする。データ書き込みがなされているメモリセルについては上書きとなる。再書き込みにかかる時間が短縮される利点がある。また、図４から判るように書き込まれたデータの消去状態の判定は、メモリセルにかけるゲート電圧によって揺らぐことが考えられる。従って、すべてのデータを再書き込みすることによって、より信頼性が高まる可能性がある。
【００４１】
また、図４に示すように、しきい値電圧のばらつきは連続的な広がりを持っており、実施例で示した、しきい値電圧低下を検出する電圧の設定は一つだけでなく複数であっても良い。
【００４２】
なお、本発明は上述した実施例に何ら限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することができる。
【００４３】
フラッシュメモリとしてＮＯＲ型フラッシュメモリだけでなく、ＮＡＮＤ型フラッシュメモリ、ＮＯＲ型及びＮＡＮＤ型の両方の利点を備えたフラッシュメモリ、ＡＮＤ型フラッシュメモリ等へも適用できる。
【００４４】
マイクロコントローラとしてフラッシュメモリとＣＰＵとを混載した場合を示したが、更に、ＤＲＡＭ等のメモリが搭載されている場合においても適用可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明によるマイクロコントローラ装置の実施例を示す回路ブロック図。
【図２】本発明によるマイクロコントローラ装置の実施例における回路ブロック図。
【図３】本発明によるマイクロコントローラ装置の実施例におけるデータの再書き込みの動作シーケンスを示すフロー図。
【図４】本発明によるマイクロコントローラ装置の実施例におけるメモリセルのリテンションの概念を示すグラフ。
【符号の説明】
【００４６】
１０  マイクロコントローラ装置
１０ａ  ＣＰＵ
１０ｂ  バスライン
１１  フラッシュメモリ
１２  制御部
１３  検証回路
１４  電圧発生回路
１５  電圧選択回路
１６  比較データ格納回路
１１ａ  メモリセルアレイ
１１ｂ  アドレスバッファ回路
１１ｃ  ロウデコーダ
１１ｄ  カラムデコーダ
１１ｅ  センスアンプ
１１ｆ  データ入力バッファ回路
１１ｇ  データ出力バッファ回路
１２ａ  コマンドバッファ回路
１２ｂ  コマンドデコーダ
１２ｃ  シーケンス制御回路
１２ｄ  プログラムカウンタ
【図１】
2005078489.tif 000003
【図２】
2005078489.tif 000004
【図３】
2005078489.tif 000005
【図４】
2005078489.tif 000006