(57)【要約】 【課題】信頼性を向上させた半導体記憶装置とマイクロコンピュータを提供する。【解決手段】不揮発性メモリと前記不揮発性メモリから読み出される読み出し信号のレベルと基準レベルとを比較するセンスアンプとを備えた半導体記憶装置において、前記読み出し信号のレベルと前記基準レベルとの差が所定のレベル差より小であることを検出したとき、当該レベル差より小であることを示す検出信号を出力する検出手段、を備える。また、当該半導体記憶装置と前記不揮発性メモリへのアクセスを制御するプロセッサとを備えたマイクロコンピュータにおいて、前記プロセッサは、前記検出信号に基づいて不揮発性メモリへのアクセスを制御する制御手段を備える。【選択図】    図１
2005141827.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、前記不揮発性メモリから読み出される読み出し信号のレベルと第１の基準レベルとを比較する第１のセンスアンプと、を備えた半導体記憶装置において、
前記読み出し信号のレベルと前記第１の基準レベルとの差が所定のレベル差より小であることを検出したとき、当該レベル差より小であることを示す検出信号を出力する検出手段、
を備えたことを特徴とする半導体記憶装置。
【請求項２】
前記検出手段は、
前記読み出し信号のレベルと前記第１の基準レベルより大きい第２の基準レベルとを比較し、前記読み出し信号のレベルに応じた論理値を出力する第２のセンスアンプと、
前記読み出し信号のレベルと前記第１の基準レベルより小さい第３の基準レベルとを比較し、前記読み出し信号のレベルに応じた論理値を出力する第３のセンスアンプと、
前記第１乃至前記第３のセンスアンプから出力される各論理値が供給され、前記各論理値がすべて一致しない場合に前記検出信号を出力する検出回路と、
を備えたことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記検出手段は、
イネーブル信号に基づいて動作の起動又は停止が設定されることを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
不揮発性メモリと前記不揮発性メモリから読み出される読み出し信号のレベルと第１の基準レベルとを比較する第１のセンスアンプとを備えた半導体記憶装置と、前記不揮発性メモリへのアクセスを制御するプロセッサと、を有するマイクロコンピュータであって、
前記半導体記憶装置は、
前記読み出し信号のレベルと前記第１の基準レベルとの差が所定のレベル差より小であることを検出したとき、当該レベル差より小であることを示す検出信号を出力する検出手段を備え、
前記プロセッサは、
前記検出信号に基づいて、前記検出信号に対応した前記不揮発性メモリの記憶領域に対してのアクセスを制御する制御手段を備えることを特徴とするマイクロコンピュータ。
【請求項５】
前記検出手段は、
前記読み出し信号のレベルと前記第１の基準レベルより大きい第２の基準レベルとを比較し、前記読み出し信号のレベルに応じた論理値を出力する第２のセンスアンプと、
前記読み出し信号のレベルと前記第１の基準レベルより小さい第３の基準レベルとを比較し、前記読み出し信号のレベルに応じた論理値を出力する第３のセンスアンプと、
前記第１乃至前記第３のセンスアンプから出力される各論理値が供給され、前記各論理値がすべて一致しない場合に前記検出信号を出力する検出回路と、
を備えることを特徴とする請求項４に記載のマイクロコンピュータ。
【請求項６】
前記制御手段は、
前記検出信号に対応する前記不揮発性メモリの記憶領域に対して、前記読み出し信号と同一の内容で再書き込みを実行することを特徴とする請求項４又は５に記載のマイクロコンピュータ。
【請求項７】
前記制御手段は、
前記再書き込みを実行したときに前記検出手段より出力された前記検出信号に基づいて、前記再書き込みが正常に実行されたか否かを検証するベリファイ手段を備えることを特徴とする請求項６に記載のマイクロコンピュータ。
【請求項８】
前記制御手段は、
前記ベリファイ手段において前記再書き込みが正常と検証されなかったとき、前記再書き込みを実行した前記不揮発性メモリの記憶領域に対するアクセスを禁止することを特徴とする請求項７に記載のマイクロコンピュータ。
【請求項９】
前記プロセッサは、
前記検出手段に送信して、前記検出手段の起動又は停止を設定するためのイネーブル信号を格納する記憶手段を備えることを特徴とする請求項４乃至８のいずれかに記載のマイクロコンピュータ。
【請求項１０】
不揮発性メモリと、前記不揮発性メモリから読み出される読み出し信号のレベルと第１の基準レベルとを比較する第１のセンスアンプと、を備えた半導体記憶装置の不揮発性メモリ検証方法であって、
前記読み出し信号のレベルと前記第１の基準レベルとの差が所定のレベル差より小であることを検出し、
当該レベル差より小であることを示す検出信号を出力することを特徴とする半導体記憶装置の不揮発性メモリ検証方法。
【請求項１１】
不揮発性メモリと前記不揮発性メモリから読み出される読み出し信号のレベルと第１の基準レベルとを比較する第１のセンスアンプとを備えた半導体記憶装置と、前記不揮発性メモリへのアクセスを制御するプロセッサとを有するマイクロコンピュータの不揮発性メモリ制御方法であって、
前記半導体記憶装置は、
前記読み出し信号のレベルと前記第１の基準レベルとの差が所定のレベル差より小であることを検出し、
当該レベル差より小であることを示す検出信号を出力し、
前記プロセッサは、
前記半導体記憶装置より前記検出信号が入力されて、
前記検出信号に対応した前記不揮発性メモリの記憶領域に対してのアクセスを制御することを特徴とするマイクロコンピュータの不揮発性メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置およびその不揮発性メモリ検証方法、マイクロコンピュータおよびその不揮発性メモリ制御方法に関する。
【背景技術】
【０００２】
図４に、フラッシュメモリやＥＥＰＲＯＭなどの電気的にデータの消去や書き換えが可能であり、電源を切っても記憶データが保持される不揮発性の半導体記憶装置に関し、そのメモリセルの構造の一例を示す。当該半導体記憶装置が備えるメモリセルは、コントロールゲート４１とドレイン４５及びソース４６の間に絶縁膜４３及び４４を介してフローティングゲート４２を有しており、コントロールゲート４１、ドレイン４５及びソース４６に所定の電圧を印加することで、フローティングゲート４２への電子の注入や放出が行われる（特許文献１参照）。
【０００３】
ここで、フローティングゲート４２に電子が注入され負の電荷が蓄積された場合、この負電荷によってコントロールゲート４１へ印加された所定の正電圧が打ち消されてしまい、ドレイン４５及びソース４６間は非導通（オフ）の状態となる。一方、フローティングゲート４２から電子が放出されて電荷が取り除かれた場合、コントロールゲート４１へ所定の正電圧を印加することで、ドレイン４５及びソース４６間に電流が流れて導通（オン）した状態となる。
【０００４】
当該半導体記憶装置では、ドレイン４５及びソース４６間の導通ならびに非導通状態を識別すべく、図５に示すように、メモリセルの所定ストローブ位置からの読み出し電圧Ｖｒ（プラス側）と所定の閾電圧Ｖｎｏｒｍａｌ（マイナス側）とを比較して、論理値「０（非導通）」又は論理値「１（導通）」を示す電圧Ｖｏｕｔを出力するセンスアンプ（以下、ＮＯＲＭＡＬ用センスアンプと称する。）１２が備わっている。例えば、ＮＯＲＭＡＬ用センスアンプ１２では、ドレイン４５及びソース４６間が非導通の場合、読み出し電圧Ｖｒは閾電圧Ｖｎｏｒｍａｌより低くなり、論理値「０」を示す電圧Ｖｏｕｔを出力する。一方、ドレイン４５及びソース４６間が導通の場合、読み出し電圧Ｖｒは閾電圧Ｖｎｏｒｍａｌ以上となり、論理値「１」を示す電圧Ｖｏｕｔを出力する。
【特許文献１】特開平１１−２８３３７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、不揮発性の半導体記憶装置では、データ保持特性として所定のスペックを維持することが求められる。しかし、これらの障害となるのがメモリセルのデータリテンション（Data Retention）とリードディスターブ（Read Disturb）である。データリテンションとは、消去によりフローティングゲートから電子が抜かれた状態において、電源のＯＮ／ＯＦＦに関わらず、何らかの原因でフローティングゲートに電子が除々に注入されてしまう障害のことである。また、リードディスターブとは、書き込みによりフローティングゲートに注入された電子が読み出し動作を多数回繰り返すことによって、注入された電子が除々に抜けてしまう障害のことである。
【０００６】
ここで、フローティングゲートに注入された電子は、半導体記憶装置の経年使用に伴うメモリセルの劣化などによって、フローティングゲート周囲にある絶縁膜中への電子トラップや、熱エネルギーによる電子の消滅などが発生してしまい、データリテンションならびにリードディスターブが悪化することが知られている。
【０００７】
図６は、半導体記憶装置におけるメモリセル入出力特性を説明する図である。なお、同図に示すゲート電圧Ｖｇは、当該メモリセルに記憶保持されたデータを読み出す際にコントロールゲートへ印加する電圧である。データリテンション又はリードディスターブの悪化に伴って、フローティングゲートに電荷ありの場合でのメモリセル入出力特性が５０ａから５０ｂに移行するので、メモリセルの読み出し電圧ＶｒのレベルがＶａからＶａ'に減少する。なお、Ｖａ'はＶｎｏｒｍａｌ以上とする。すなわち、ＮＯＲＭＡＬ用センスアンプ１２において、論理値「１」となる区間（以下、ＭＲＧ（Margin）１と称する。）を示す閾電圧Vｎｏｒｍａｌとの差が、｜Ｖａ−Ｖｎｏｒｍａｌ｜から｜Ｖａ'−Ｖｎｏｒｍａｌ｜に減少することになる。
【０００８】
一方、フローティングゲートに電荷なしの場合もまた同様に、データリテンション又はリードディスターブの悪化に際してメモリセル入出力特性が５１ａから５１ｂに移行するので、メモリセルの読み出し電圧ＶｒのレベルがＶｂからＶｂ'に増加する。なお、Ｖｂ'はＶｎｏｒｍａｌより小とする。すなわち、ＮＯＲＭＡＬ用センスアンプ１２において、論理値「０」となる区間（以下、ＭＲＧ（Margin）０と称する。）を示す閾電圧Vｎｏｒｍａｌとの差が、｜Ｖｎｏｒｍａｌ−Ｖｂ｜から｜Ｖｎｏｒｍａｌ−Ｖｂ'｜に減少することになる。
【０００９】
しかしながら、データリテンション又はリードディスターブの悪化に伴って、メモリセルの読み出し電圧ＶｒがＶａからＶａ'、又は、ＶｂからＶｂ'にレベルが変化する場合であっても、ＮＯＲＭＡＬ用センスアンプ１２ではメモリセルの出力電圧Ｖａ'又はＶｂ'と閾電圧Ｖｎｏｒｍａｌの比較によって正当な論理値を示す電圧を出力することになる。すなわち、従来の半導体記憶装置の仕組みでは、データリテンション又はリードディスターブの悪化の兆候があったとしてもエラーとして検知することが困難であった。
【００１０】
また、データリテンション又はリードディスターブの悪化に伴って、Ｖａから変化したＶａ'がＶｎｏｒｍａｌより小となる場合や、Ｖｂから変化したＶｂ'がＶｎｏｒｍａｌ以上となる場合では、ＮＯＲＭＡＬ用センスアンプ１２からは不当な論理値を示す電圧を出力することになる。このため、当該半導体記憶装置を搭載したマイクロコンピュータなどのシステムでは、ＮＯＲＭＡＬ用センスアンプ１２から出力される不当な論理値を示す信号が使用されることになるので、システムエラーを引き起こす恐れが生じてしまう。
【００１１】
そこで、本発明は、信頼性を向上させた半導体記憶装置およびその不揮発性メモリ検証方法ならびにマイクロコンピュータおよびその不揮発性メモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するための主たる本発明は、不揮発性メモリと、前記不揮発性メモリから読み出される読み出し信号のレベルと第１の基準レベルとを比較する第１のセンスアンプと、を備えた半導体記憶装置において、前記読み出し信号のレベルと前記第１の基準レベルとの差が所定のレベル差より小であることを検出したとき、当該レベル差より小であることを示す検出信号を出力する検出手段、を備えることとする。
【００１３】
なお、前述した『検出手段』とは、例えば、後述の「ＭＲＧ１用センスアンプ」、「ＭＲＧ０用センスアンプ」、「エラー検知回路」および「各センスアンプの出力をエラー検知回路に供給するための配線」で構成されるものである。
【００１４】
前述した本発明に係る半導体記憶装置の構成によれば、不揮発性メモリにおいてデータリテンション又はリードディスターブが悪化することで、不揮発性メモリから読み出した読み出し信号のレベルが変動する場合であっても、前記検出信号によって事前に検知することが可能となる。このため、信頼性を向上させた半導体記憶装置およびその不揮発性メモリ検証方法を提供することができる。
【００１５】
また、本発明は、不揮発性メモリと前記不揮発性メモリから読み出される読み出し信号のレベルと第１の基準レベルとを比較する第１のセンスアンプとを備えた半導体記憶装置と、前記不揮発性メモリへのアクセスを制御するプロセッサと、を有するマイクロコンピュータであって、前記半導体記憶装置は、前記読み出し信号のレベルと前記第１の基準レベルとの差が所定のレベル差より小であることを検出したとき、当該レベル差より小であることを示す検出信号を出力する検出手段を備え、前記プロセッサは、前記検出信号に基づいて、前記検出信号に対応した前記不揮発性メモリの記憶領域に対してのアクセスを制御する制御手段を備えることとする。
【００１６】
なお、前述した『制御手段』とは、例えば、後述の「割込制御部」や「ベリファイ処理部」と、それぞれの制御に係る「プログラムカウンタ」、「スタック処理部」、「ＲＡＭ」、「アキュムレータ」、「μＩレジスタ」などの半導体記憶装置の制御において必須な回路素子によって構成される。
【００１７】
前述した本発明に係るマイクロコンピュータの構成によれば、不揮発性メモリにおいてデータリテンション又はリードディスターブが悪化することで、不揮発性メモリから読み出した読み出し信号のレベルが変動する場合であっても、前記検出信号によって事前に検知することが可能となる。さらに、前記検出信号に対応した不揮発性メモリの記憶領域に対して、例えば、アクセスを禁止したり、その記憶保持されたデータと同一内容で再書き込みを実行する等することで、信頼性を向上させることができる。
【００１８】
すなわち、信頼性を向上させたマイクロコンピュータおよびその不揮発性メモリ制御方法を提供することができる。
【発明の効果】
【００１９】
本発明によれば、信頼性を向上させた半導体記憶装置およびその不揮発性メモリ検証方法、マイクロコンピュータおよびその不揮発性メモリ制御方法を提供することができる。
【発明を実施するための最良の形態】
【００２０】
＜システム構成＞
図１は、本発明に係るマイクロコンピュータ１０００のブロック図である。同図に示すように、マイクロコンピュータ１０００は、半導体記憶装置１００と、ＣＰＵ（『プロセッサ』）２００と、を備えている。
【００２１】
＝＝＝  半導体記憶装置側の構成  ＝＝＝
まず、半導体記憶装置１００は、図４に示したように電子が注入されるフローティングゲート４２が絶縁膜４３及び４４によって絶縁されているため、電源を切断した場合であってもメモリセルに記憶保持されたデータが消去しないという、所謂不揮発性を呈している。すなわち、半導体記憶装置１００としては、フラッシュメモリやＥＥＰＲＯＭなどの不揮発性メモリデバイスを採用することができる。
【００２２】
また、半導体記憶装置１００は、メモリセルアレイ（『不揮発性メモリ』）１０と、ＮＯＲＭＡＬ用センスアンプ（『第１のセンスアンプ』）１１、ＭＲＧ１用センスアンプ（『第２のセンスアンプ』）１２、ＭＲＧ０用センスアンプ（『第３のセンスアンプ』）１３と、エラー検知回路（『検出回路』）１４とを備える。
【００２３】
メモリセルアレイ１０は、図４に示したような、フローティングゲート４２への電子の注入状況に応じて記憶保持するデータが「０」又は「１」であるかを判別可能なメモリセル（最小記憶単位の情報を格納する記憶領域）が複数配列して構成されるものである。なお、メモリセルは、例えば、スプリットゲート(Split Gate)型ＭＯＳトランジスタや、スタックドゲート(Stacked Gate)型ＭＯＳトランジスタ等で構成される。また、メモリセルアレイ１０の周辺回路としては、後述する各センスアンプ１１乃至１３以外に、アドレスデコーダやデータレジスタ等（いずれも不図示）の半導体記憶装置１００として周知な回路素子が備わっている。
【００２４】
ＮＯＲＭＡＬ用センスアンプ１１は、メモリセルアレイ１０を構成する各メモリセルの所定のストローブ位置から読み出された読み出し電圧Ｖｒ（『読み出し信号』）のレベルと所定の閾電圧Ｖｎｏｒｍａｌのレベル（『第１の基準レベル』）を比較して、メモリセルのトランジスタが非導通を示す論理値「０」、又は、メモリセルのトランジスタが導通を示す論理値「１」のいずれかに応じた電圧Ｖｏｕｔ１を出力する。例えば、メモリセルのトランジスタが非導通の場合、読み出し電圧Ｖｒのレベルは閾電圧Ｖｎｏｒｍａｌのレベルより低くなり、論理値「０」を示す電圧Ｖｏｕｔ１を出力する。一方、メモリセルのトランジスタが導通の場合、読み出し電圧Ｖｒのレベルは閾電圧Ｖｎｏｒｍａｌのレベル以上となり、論理値「１」を示す電圧Ｖｏｕｔ１を出力する。
【００２５】
ＭＲＧ１用センスアンプ１２は、前述した読み出し電圧Ｖｒのレベルと、閾電圧Ｖｎｏｒｍａｌよりレベルが大きい閾電圧Ｖｍｒｇ１（『第２の基準レベル』）のレベルを比較して、読み出し電圧Ｖｒのレベルが閾電圧Ｖｍｒｇ１のレベル以上となる場合には論理値「１」を示す電圧Ｖｏｕｔ２を出力し、読み出し電圧Ｖｒのレベルが閾電圧Ｖｍｒｇ１のレベルより低くなる場合には論理値「０」を示す電圧Ｖｏｕｔ２を出力する。なお、閾電圧Ｖｍｒｇ１のレベルは、後述のＭＲＧ１が所定の余裕度（マージン）を満足する大きさに設定する。
【００２６】
ＭＲＧ０用センスアンプ１３は、前述した読み出し電圧Ｖｒのレベルと、閾電圧Ｖｎｏｒｍａｌよりレベルが小さい閾電圧Ｖｍｒｇ０（『第３の基準レベル』）のレベルを比較して、読み出し電圧Ｖｒのレベルが閾電圧Ｖｍｒｇ０のレベル以上となる場合には論理値「１」を示す電圧Ｖｏｕｔ３を出力し、読み出し電圧Ｖｒのレベルが閾電圧Ｖｍｒｇ０より低くなる場合には論理値「０」を示す電圧Ｖｏｕｔ３を出力する。なお、閾電圧Ｖｍｒｇ０のレベルは、後述のＭＲＧ０が所定の余裕度（マージン）を満足した大きさに設定する。
【００２７】
以上、各センスアンプ１１乃至１３の構成としては、電圧を入出力するタイプである電圧センスアンプ回路を採用した場合について説明したが、電流を入出力するタイプである電流センスアンプ回路を採用してもよい。なお、電流センスアンプ回路を採用した場合には、各センスアンプ１１乃至１３は、メモリセルアレイ１０を構成する各メモリセルから読み出した読み出し電流Ｉｒ（『読み出し信号』）のレベルと、所定の基準電流のレベル（『第１乃至第３の基準レベル』）とを比較して論理値「０」又は論理値「１」を示す電圧を出力することになる。
【００２８】
エラー検知回路１４は、メモリセルから読み出された読み出し電圧Ｖｒのレベルが閾電圧Ｖｎｏｒｍａｌ以上となり論理値「１」を示す場合には、論理値「１」となる区間を示す読み出し電圧Ｖｒと閾電圧Ｖｎｏｒｍａｌのレベル差ＭＲＧ１（『所定のレベル差』）に余裕があるか否か（マージンエラーがあるか否か）を判定する。また、同様に、読み出し電圧Ｖｒのレベルが閾電圧Ｖｎｏｒｍａｌより小となり論理値「０」を示す場合には、論理値「０」となる区間を示す閾電圧Ｖｎｏｒｍａｌと読み出し電圧Ｖｒのレベル差ＭＲＧ０（『所定のレベル差』）に余裕があるか否か（マージンエラーがあるか否か）を判定する。そして、前述したＭＲＧ１及び／又はＭＲＧ０に余裕がないと判定した場合、マージンエラーであることを示すエラー信号（『検出信号』）をＣＰＵ２００に対して出力する。
【００２９】
エラー検知回路１４は、例えば、図２に示すように、各センスアンプ１１乃至１３の出力である電圧Ｖｏｕｔ１、Ｖｏｕｔ２及びＶｏｕｔ３に基づいてマージンエラーの判定を行う論理回路によって、前述した機能を実現してもよい。
【００３０】
まず、図２（ａ）に示す「Ｖｒ＞Ｖｍｒｇ１」の場合、各センスアンプ１１乃至１３の出力は全て論理値「１」を示すことになる。また、図２（ｄ）に示す「Ｖｍｒｇ１＞Ｖｒ＞Ｖｎｏｒｍａｌ」の場合、各センスアンプ１１乃至１３の出力は全て論理値「０」を示すことになる。図２（ａ）及び（ｄ）の場合において、エラー検知回路１４は、ＭＲＧ１及びＭＲＧ０が所定の余裕度を満たす大きさとなっているために、マージンが正常であるものと判定してエラー信号は出力しない。
【００３１】
つぎに、図２（ｂ）に示す「Ｖｍｒｇ１＞Ｖｒ＞Ｖｎｏｒｍａｌ」の場合、ＭＲＧ１用センスアンプ１２の出力が他のセンスアンプ１１及び１３の出力とは異なり論理値「０」を示すことになるので、各センスアンプ１１乃至１３の出力が示す論理値が一致しない。この場合、ＭＲＧ１が所定の余裕度を満たす大きさではないので、ＭＲＧ１のマージンエラーと判定してエラー信号を出力する。
【００３２】
また、図２（ｃ）に示す「Ｖｍｒｇ１＞Ｖｒ＞Ｖｎｏｒｍａｌ」の場合、ＭＲＧ０用センスアンプ１３の出力が他のセンスアンプ１１及び１２の出力とは異なり論理値「１」を示すことになるので、各センスアンプ１１乃至１３の出力が示す論理値が一致しない。この場合、ＭＲＧ０が所定の余裕度を満たす大きさではないので、ＭＲＧ０のマージンエラーと判定してエラー信号を出力する。
【００３３】
＝＝＝  ＣＰＵ側の構成  ＝＝＝
ＣＰＵ２００は、メモリセルアレイ１０の各メモリセルに対して、データの書き込み、読み出し、消去などのアクセスを制御する。なお、ＣＰＵ２００の構成としては、図１に示すように、アキュムレータ２１、μＩレジスタ２２、制御レジスタ（『記憶手段』）２３、割り込み制御部２４、プログラムカウンタ２５、スタック処理部２６、ＲＡＭ２７、ベリファイ処理部２８を有する。
【００３４】
アキュムレータ２１は、メモリセルアレイ１０からＮＯＲＭＡＬ用センスアンプ１１を介して読み出されたデータを一時的に格納するレジスタであり、μＩレジスタ２２は、同じくＮＯＲＭＡＬ用センスアンプ１１を介して読み出された命令コードを一時的に格納するレジスタである。ＣＰＵ２００は、エラー検知回路１４からエラー信号を受信しない場合には、μＩレジスタ２２に格納された命令コードを解読した結果に基づいて、アキュムレータ２１に格納されたデータへの演算処理を行うなどの通常の処理を実行する。
【００３５】
制御レジスタ２３は、ＭＲＧ１用センスアンプ１２及びＭＲＧ０用センスアンプ１３ならびにエラー検知回路１４の起動又は停止を設定するためのレジスタである。例えば、制御レジスタ２３内にセンスアンプ１２及び１３ならびにエラー検知回路１４の起動又は停止を設定するフラグ（例えば、起動モードは「１」、停止モードは「０」とする。）を有しており、ＣＰＵ２００は、当該フラグの値に応じたイネーブル信号をセンスアンプ１２及び１３ならびにエラー検知回路１４に送信する。このことによって、エラー検知回路１４においてエラー検知を実施する必要がない場合には、センスアンプ１２及び１３ならびにエラー検知回路１４の動作を停止することが可能となり、その分消費電力を抑えることができる。
【００３６】
割り込み制御部２４は、エラー検知回路１４からエラー信号を受信した場合に、現在実行中にあるメモリセルアレイ１０からのデータの読み出しを中断して、マージンエラーの対象となる記憶領域（以下、エラー領域と称する。）に対して、ＲＡＭ２７の割り込みベクタに予め設定しておいた再書き込み（割り込み命令）を実行するための割り込み制御を行う。また、割り込み制御部２４は、前述した割り込み命令を実行するにあたって、割り込み信号をスタック処理部２６に送信する。
【００３７】
プログラムカウンタ２５は、ＣＰＵ２００がメモリセルアレイ１０の記憶領域に対して書き込みや読み出しなどのアクセスを行う場合に、そのアクセス先として順次インクリメントされるプログラムカウンタアドレス（以下、ＰＣアドレス）を格納しておくためのレジスタである。
【００３８】
スタック処理部２６は、割り込み制御部２４から割り込み信号を受信した場合に、プログラムカウンタ２５に格納された現在のＰＣアドレスをＲＡＭ２７に設けられたＰＣアドレススタック領域に退避（スタック）させる処理を行う。
【００３９】
ＲＡＭ２７は、ＣＰＵ２００内に設けられたメモリであり、前述したように割り込みベクタが付与された割り込み命令を記憶する領域や、ＰＣアドレススタック領域が区画される他に、データ退避領域が区画されている。データ退避領域は、前述した割り込みが発生した場合に、メモリセルアレイ１０のエラー領域に記憶してあるデータを退避するための領域である。なお、エラー検知回路１４においてマージンエラーが検知された場合でも、ＮＯＲＭＡＬ用センスアンプ１１の出力は正当な論理値を示すため、メモリセルアレイ１０のエラー領域に記憶してあるデータと同一内容のデータを当該エラー領域に再書き込みすることが可能である。
【００４０】
ベリファイ処理部２８は、割り込み命令によってエラー領域への再書き込みが実行された後に、その再書き込みしたデータが正常であるか否かを判定する。具体的には、エラー領域から再書き込みしたデータを読み出した際に生成されたエラー検知回路１４の出力（エラー信号）に基づいて、ＭＲＧ１及びＭＲＧ０について再度マージンエラーがあるか否かの判定を実施する。このことによって、メモリセルアレイ１０に記憶保持させるデータの信頼性が向上することになる。
【００４１】
＜マイクロコンピュータの動作＞
本発明に係るマイクロコンピュータの動作について、図１のブロック図を適宜参照しつつ、図３のフローチャートに基づいて説明する。
【００４２】
まず、ＣＰＵ２００は、メモリセルアレイ１０における記憶領域Ａ（図１参照）に記憶保持されてある記憶保持データについてマージンエラーがあるか否かを検証すべく、制御レジスタ２３に格納されたフラグ値を起動モードを示す「１」に設定するとともに、当該フラグ値に基づいて半導体記憶装置１００の各センスアンプ１１乃至１３ならびにエラー検知回路１４に対してイネーブル信号を送信する。この結果、各センスアンプ１１乃至１３ならびにエラー検知回路１４は起動状態となる。
【００４３】
また、ＣＰＵ２００は、記憶領域Ａに対応する各メモリセルの記憶保持データの読み出しを開始すべく、プログラムカウンタ２５に設定した記憶領域Ａにおける読み出し開始アドレスとしてのＰＣアドレスや、読み出し制御信号などを半導体記憶装置１００に対して送信する。なお、プログラムカウンタ２５内では、記憶領域Ａの読み出し先を変えるごとにＰＣアドレスが順次インクリメントされる。
【００４４】
一方、半導体記憶装置１００は、ＣＰＵ２００から受信したＰＣアドレスに対応するメモリセルに所定のゲート電圧Ｖｇを印加するなどして、当該メモリセルの所定ストローブ位置から当該記憶保持データに対応した読み出し電圧Ｖｒを、ＮＯＲＭＡＬ用センスアンプ１１、ＭＲＧ１用センスアンプ１２及びＭＲＧ０用センスアンプ１３に対して入力する。
【００４５】
各センスアンプ１１乃至１３は、メモリセルアレイ１０から入力された読み出し電圧Ｖｒを各閾電圧（閾電圧Ｖｎｏｒｍａｌ、閾電圧Ｖｍｒｇ１、閾電圧Ｖｍｒｇ０）と比較し、論理値「０」又は論理値「１」を示す電圧Ｖｏｕｔ１、電圧Ｖｏｕｔ２及び電圧Ｖｏｕｔ３をエラー検知回路１４に供給する（Ｓ３００）。なお、ＮＯＲＭＡＬ用センスアンプ１１の出力である電圧Ｖｏｕｔ１は、当該メモリセルの記憶保持データとしてＣＰＵ２００のアキュムレータ２１又はμＩレジスタ２２に格納されていくことになる。
【００４６】
エラー検知回路１４は、各センスアンプ１１乃至１３から供給された電圧Ｖｏｕｔ１、電圧Ｖｏｕｔ２及び電圧Ｖｏｕｔ３が示す論理値が全て一致するか否かを判定する（Ｓ３０１）。ここで、各論理値が全て一致する場合には（Ｓ３０１：ＹＥＳ）、エラー検知回路１４は、ＭＲＧ１及びＭＲＧ０についてのマージンエラーがなく正常と判定する。この結果、ＣＰＵ２００は、通常どおりの読み出し処理を継続して行うことになる（Ｓ３０２）。一方、各論理値が全て一致しない場合には（Ｓ３０１：ＮＯ）、ＭＲＧ１又はＭＲＧ０の少なくともいずれかについてのマージンエラーが発生していることになるために、エラー検知回路１４は、ＣＰＵ２００に対して現在実行中の読み出し処理についての割り込みを発生すべく、ＣＰＵ２００の割り込み制御部２４に対してエラー信号を送信する（Ｓ３０３）。
【００４７】
割り込み制御部２４は、エラー検知回路１４からのエラー信号の受信を契機として割り込みを発生させ（Ｓ３０４）、ＲＡＭ２７の割り込みベクタに設定された再書き込み命令の実行に先駆けて、スタック処理部２６に割り込み信号を送信する。そして、割り込み制御部２４は、スタック処理部２６を介して、プログラムカウンタ２５に格納されてある現在のＰＣアドレスを、ＲＡＭ２７のＰＣアドレススタック領域に退避させる（Ｓ３０５）。
【００４８】
また、割り込み制御部２４は、ＰＣアドレスの退避後、マージンエラーが発生したメモリセルを含んだ記憶領域Ａに対して、ＲＡＭ２７の割り込みベクタに予め設定しておいた再書き込みを実行するための割り込み制御を実行する。このとき、割り込み制御部２４は、ＲＡＭ２７のＰＣアドレススタック領域に退避しておいたＰＣアドレスに基づいて、マージンエラーの発生したメモリセルを含んだエラー領域のアドレスを特定する（Ｓ３０６）。
【００４９】
割り込み制御部２４は、この特定したアドレスに基づいて、メモリセルアレイ１０のエラー領域から読み出した記憶保持データを、直接的に、もしくは、アキュムレータ２１に一時的に格納した後に、ＲＡＭ２１のデータ退避領域に退避させる（Ｓ３０７）。そして、割り込み制御部２４は、退避させた記憶保持データと同一の内容となる再書き込みデータを、メモリセルアレイ１０のエラー領域に再書き込みを実行する（Ｓ３０８）。
【００５０】
つぎに、ベリファイ処理部２８は、エラー領域への再書き込みが実行された後に、エラー領域から再書き込みしたデータを読み出した際に生成されたエラー検知回路１４の出力に基づいて、ＭＲＧ１及びＭＲＧ０について再度マージンエラーがあるか否かの判定を行って、再書き込みされたデータが正常に書き込まれたか否かの検証（ベリファイ）を行う（Ｓ３０９）。
【００５１】
ＣＰＵ２００は、ベリファイ処理部２８における検証の結果が正常であれば（Ｓ３１０：ＹＥＳ）、エラー検知以降のシーケンスとして規定された処理を実行し、検証の結果が正常でなければ（Ｓ３１０：ＮＯ）、当該エラー領域に対する以降のアクセスを禁止すべく設定を行う（Ｓ３１１）。なお、このアクセス禁止の設定としては、例えば、メモリセルアレイ１０の各区画領域に設けられたステータス領域に当該エラー領域を不良領域として登録することで実施することができる。
【００５２】
このように、本発明に係る半導体記憶装置を搭載したマイクロコンピュータは、データリテンション又はリードディスターブの悪化に際してメモリセルの読み出し電圧Ｖｒのレベルが変動したとしても、読み出し電圧Ｖｒと閾電圧Ｖｍｒｇ０及び閾電圧Ｖｍｒｇ１との比較により、ＭＲＧ１及びＭＲＧ０についてマージンエラーがあるか否かを判定することで事前に検知することが可能となる。
【００５３】
また、データリテンション又はリードディスターブの悪化に際し、ＭＲＧ１又はＭＲＧ０についてのマージンエラーが発生したメモリセルに対して、当該メモリセルに記憶保持されてあるデータと同一内容で再書き込みを実行することで、当該メモリセルにおける記憶保持の特性が一時的な場合もあるが回復させることが可能となる。
【００５４】
すなわち、本発明によれば、信頼性を向上させた半導体記憶装置およびその不揮発性メモリ検証方法ならびにマイクロコンピュータおよびその不揮発性メモリ制御方法を提供することができる。
【００５５】
以上、本発明の実施形態について、その実施形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００５６】
例えば、前述した実施形態において、ＣＰＵ２００の割り込み制御部２４は、エラー検知回路１４からのエラー信号の受信を契機として割り込みを発生させて、当該エラー信号に対応するメモリセルへのアクセスを即座に禁止してもよい。読み出し電圧Ｖｒと閾電圧Ｖｍｒｇ０及び閾電圧Ｖｍｒｇ１との比較により、ＭＲＧ１及びＭＲＧ０が顕著に小さくなってしまいその解消が困難な場合には、メモリセルアレイ１０への信頼性を向上させるのに有効な手法となる。
【００５７】
また、前述した割り込みで再書き込みを実行するときに、その他の空き領域のメモリセルに対して再書き込みデータを複製してもよい。さらには、前述したベリファイ処理部２８における検証の結果が正常でない場合においても、エラー信号に対応するメモリセルに記憶保持されたデータと同一内容で、その他の空き領域のメモリセルに対して再書き込みデータを複製してもよい。このことによって、ＣＰＵ２００は、半導体記憶装置１００から継続した読み出し動作が可能となる。
【図面の簡単な説明】
【００５８】
【図１】本発明に係るマイクロコンピュータのブロック図である。
【図２】本発明に係るエラー検知回路におけるエラー判定の内容を説明する表である。
【図３】本発明に係るマイクロコンピュータの動作を説明するフローチャートである。
【図４】従来の半導体記憶装置を構成するメモリセルの断面構造を示す図である。
【図５】従来の半導体記憶装置におけるセンスアンプの構成を説明する図である。
【図６】メモリセルの入出力特性の変化を説明する図である。
【符号の説明】
【００５９】
１０      メモリセルアレイ
１１      ＮＯＲＭＡＬ用センスアンプ
１２      ＭＲＧ１用センスアンプ
１３      ＭＲＧ０用センスアンプ
１４      エラー検知回路
１００    半導体記憶装置
２１      アキュムレータ
２２      μＩレジスタ
２３      制御レジスタ
２４      割り込み制御部
２５      プログラムカウンタ
２６      スタック処理部
２７      ＲＡＭ
２８      ベリファイ処理部
２００    ＣＰＵ
１０００  マイクロコンピュータ
４１      コントロールゲート
４２      フローティングゲート
４３      絶縁膜
４４      絶縁膜
４５      ドレイン
４６      ソース
５０      メモリセルの入出力特性（電荷なし）
５１      メモリセルの入出力特性（電荷あり）
【図１】
2005141827.tif 000003
【図２】
2005141827.tif 000004
【図３】
2005141827.tif 000005
【図４】
2005141827.tif 000006
【図５】
2005141827.tif 000007
【図６】
2005141827.tif 000008