(57)【要約】【課題】高速なデータプログラムが可能な半導体不揮発性記憶装置を実現する。【解決手段】ワード線単位のページプログラムにおいて、所定回数のプログラム／ベリファイ動作を繰り返し行った後にプログラム未終了メモリセルが存在する場合に、当該プログラム未終了メモリセルの個数をカウント回路４０で計数し、当該個数がエラー訂正可能な所定個数以内のエラービットである場合に、プログラム未終了メモリセルを残したままデータプログラムを終了し、エラービットは外部のエラー訂正回路によりエラー訂正して救済する。したがって、ごくまれに存在する非常にプログラムの遅いメモリセルに律速されることなく、高速にデータプログラムが可能となる。【選択図】図１
2006209971.tif 000002
【特許請求の範囲】
【請求項１】
電気的にデータの処理が行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
複数ビットデータを単位としたデータの処理を当該複数単位のメモリセルに対して行い、データの処理後に当該データ処理未終了メモリセルの個数を計数する手段と、
前記データ処理未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該データ処理未終了メモリセルを残したままデータの処理を終了する手段と
を備えた半導体不揮発性記憶装置。
【請求項２】
上記エラービットは外部のエラー訂正手段によりエラー訂正され救済される
請求項１記載の半導体不揮発性記憶装置。
【請求項３】
電気的にデータのプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
複数ビットデータを単位としたデータプログラムを当該複数単位のメモリセルに対して行い、データプログラム後にプログラム未終了メモリセルの個数を把握する手段と、
前記プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了する手段と
を備えた半導体不揮発性記憶装置。
【請求項４】
上記エラービットは外部のエラー訂正手段によりエラー訂正され救済される
請求項３記載の半導体不揮発性記憶装置。
【請求項５】
セクタ単位のページプログラムデータを各ビット線毎に設けられたデータラッチ回路に転送し、当該データに従って選択されたセクタのメモリセル一括に電気的にデータプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
ページプログラムデータに従ったデータプログラムがベリファイ読み出し動作を介して複数回のプログラム動作を繰り返し行うことによりなされ、各プログラム動作毎にプログラム未終了メモリセルが存在するか否かを検知する手段と、
所定回数のプログラム動作を繰り返し行った後にプログラム未終了メモリセルが存在する場合に、当該プログラム未終了メモリセルの個数を把握する手段と、
前記プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了する手段と
を備えた半導体不揮発性記憶装置。
【請求項６】
上記エラービットは外部のエラー訂正手段によりエラー訂正され救済される
請求項５記載の半導体不揮発性記憶装置。
【請求項７】
上記セクタ単位はワード線単位である
請求項５記載の半導体不揮発性記憶装置。
【請求項８】
前記プログラム未終了メモリセルの検知手段は、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する手段と、
前記再プログラムデータの自動設定後に、プログラム未終了のデータがラッチされているデータラッチ回路が少なくとも１個以上存在するか否かを検出する終点検出手段と
を備えた請求項５記載の半導体不揮発性記憶装置。
【請求項９】
前記プログラム未終了メモリセルを把握する手段は、一定のクロックパルスに同期したカラムデコーダの動作によりページ読み出しし、当該ページ読み出しデータを順次計数回路にシフト転送してプログラム未終了のデータの個数をカウントする
請求項５記載の半導体不揮発性記憶装置。
【請求項１０】
前記メモリセルがマトリクス配置されたメモリアレイは、複数のメモリセルが直列接続されたＮＡＮＤ型構造をなす
請求項５記載の半導体不揮発性記憶装置。
【請求項１１】
電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
少なくとも１単位以上の複数ビットデータ単位のメモリセルに対してデータ消去を行い、データ消去後に当該各複数ビットデータ単位内の消去未終了メモリセルの個数を把握する手段と、
前記消去未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該消去未終了メモリセルを残したままデータプログラムを行う手段と
を備えた半導体不揮発性記憶装置。
【請求項１２】
上記エラービットは、データ読み出し時に外部のエラー訂正手段によりエラー訂正され救済される
請求項１１記載の半導体不揮発性記憶装置。
【請求項１３】
電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
少なくとも１単位以上の複数ビットデータ単位のメモリセルに対するデータ消去を、ベリファイ読み出し動作を介して複数回の消去電圧パルスを繰り返し印加して行い、各消去動作毎に消去未終了メモリセルが存在するか否かを検知する手段と、
所定回数の消去動作を繰り返し行った後に消去未終了メモリセルが存在する場合に、各複数ビットデータ単位内の消去未終了メモリセルの個数を把握する手段と、
前記消去未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該消去未終了メモリセルを残したままデータプログラムを行う手段と
を備えた半導体不揮発性記憶装置。
【請求項１４】
上記エラービットは、データ読み出し時に外部のエラー訂正手段によりエラー訂正され救済される
請求項１３記載の半導体不揮発性記憶装置。
【請求項１５】
前記複数ビットデータ単位のメモリセルは、ワード線毎のページ単位のメモリセルである
請求項１３記載の半導体不揮発性記憶装置。
【請求項１６】
前記消去未終了メモリセルを把握する手段は、一定のクロックパルスに同期したカラムデコーダの動作によりページ読み出しし、当該ページ読み出しデータを順次計数回路にシフト転送してプログラム未終了のデータの個数をカウントする
請求項１３記載の半導体不揮発性記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的にデータのプログラムが可能な半導体不揮発性記憶装置に係り、特にデータプログラムおよび消去の高速化に関するものである。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリ、ＤＩＮＯＲ型フラッシュメモリ等の半導体不揮発性記憶装置においては、選択するワード線に接続されたすべてのメモリセル一括にデータプログラムが行われる。
すなわち、ワード線単位でページプログラムが行われる。
【０００３】
図７（ａ）、図７（ｂ）は、それぞれＮＡＮＤ型、ＤＩＮＯＲ型フラッシュメモリにおける、メモリアレイ構造を示す図である。
【０００４】
図７（ａ）は、便宜上、１本のビット線に接続されたＮＡＮＤ列１本に４個のメモリセルが接続された場合のＮＡＮＤ型フラッシュメモリアレイを示す図である。
図７（ａ）において、ＢＬはビット線を示し、ビット線ＢＬに２個の選択トランジスタタＳＴ１〜ＳＴ２、および４個のメモリセルＭＴ１〜ＭＴ４が直列接続されたＮＡＮＤ列が接続されている。
選択トランジスタＳＴ１〜ＳＴ２はそれぞれ選択ゲート線ＳＬ１，ＳＬ２により制御され、またメモリセルＭＴ１〜ＭＴ４はそれぞれワード線ＷＬ１〜ＷＬ４により制御される。
【０００５】
図７（ｂ）は、便宜上、１本の主ビット線に接続された副ビット線１本に４個のメモリトランジスタが接続された場合のＤＩＮＯＲ型フラッシュメモリアレイを示す図である。
図７（ｂ）において、ＭＢＬは主ビット線、ＳＢＬは副ビット線をそれぞれ示し、主ビット線ＭＢＬおよび副ビット線ＳＢＬは、選択ゲート線ＳＬにより制御される選択トランジスタＳＴ１を介して作動的に接続される。
副ビット線ＳＢＬは、４本のワード線ＷＬ１〜ＷＬ４と交差し、各交差位置には４個のメモリセルＭＴ１〜ＭＴ４が配置されている。
【０００６】
また、ＮＯＲ型フラッシュメモリ等の半導体不揮発性記憶装置においては、データの書き換えは、所定のブロック単位（たとえば６４Ｋバイト程度）でデータの消去を行った後、当該消去ブロックのメモリセルに対してデータプログラムが行われる。
【０００７】
図８は、一般的なＮＯＲ型フラッシュメモリにおける、メモリアレイ構造およびデータ消去時のバイアス条件を示す図である。
【０００８】
図８のＮＯＲ型フラッシュメモリにおいては、便宜上、４本のワード線ＷＬ１〜ＷＬ４と４本のビット線ＢＬ１〜ＢＬ４との格子位置にメモリセルＭＴ１１〜ＭＴ４４がマトリクス配置されている。
【０００９】
次に、図８のＮＯＲ型フラッシュメモリにおいて、データ消去動作について説明する。
データ消去は、図８に示すように、消去ブロックメモリアレイ内のすべてのワード線ＷＬ１〜ＷＬ４を接地レベル（０Ｖ）に、すべてのビット線ＢＬ１〜ＢＬ４をフローティング状態とし、共通ソース線ＶＳＳに高電圧（たとえば１２Ｖ）の消去電圧パルスを印加する。
その結果、データプログラム時に各メモリセルに蓄積されていた電子がソース側からトンネル電流により引き抜かれて、各メモリセルのしきい値電圧Ｖｔｈは、データプログラム状態の６Ｖ〜７Ｖから消去状態の２Ｖ〜３Ｖに遷移する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上述したＮＡＮＤ型、ＤＩＮＯＲ型フラッシュメモリ等のようなワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置においては、データのプログラムは選択ワード線に接続されたすべてのメモリセル一括にデータプログラムを行う。
しかし、選択ワード線に接続された各メモリセルは、製造プロセスに起因するサイズ等のバラツキのため、それぞれプログラム速度に差が生じる。
【００１１】
図９は上述した各選択ワード線に接続されたメモリセル間のプログラム速度の差を示す図である。
図９において、横軸はｔＰＲＯＧ（プログラム時間）、すなわち各メモリセルのプログラム必要時間を表わしている。
また、縦軸はＮ（メモリセル個数）、すなわち横軸ｔＰＲＯＧ（プログラム時間）に対応したメモリセル個数の分布頻度を表わしている。
【００１２】
図９に示すように、ＮＡＮＤ型フラッシュメモリ等のようなワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置においては、メモリセル間でプログラム必要時間ｔＰＲＯＧに分布が生じる。
このようなプログラム速度のバラツキを考慮して、一般的なＮＡＮＤ型フラッシュメモリ等においては、プログラム時のしきい値電圧Ｖｔｈの分布を狭く抑える観点から、プログラム動作がベリファイ動作を介して行われ、かつ当該プログラム／ベリファイ動作をプログラム終了メモリセルから順次プログラム禁止にしてすべてのメモリセルのプログラムが終了するまで繰り返し行う、いわゆるビット毎ベリファイ動作が行われる。
【００１３】
ところが図９に示すように、一般的なメモリセルの場合、プログラム必要時間ｔＰＲＯＧは図中ｔ０であるが、プロセス等のバラツキ要因から非常に長いプログラム必要時間ｔＰＲＯＧ、たとえば図中ｔ１以上を要するメモリセルがごくまれに存在する場合がある。
このような場合、ごくまれに存在するプログラムの遅いメモリセルのために、上述したプログラム／ベリファイ動作の回数も、たとえば１００回以上と非常に多くなり、その結果、ページプログラムを終了するのに要する時間も非常に長くなる。
【００１４】
図１０は、かかる従来のＮＡＮＤ型フラッシュメモリ等のようなワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
以下、図１０のシーケンスフローについて、順を追って説明する。
【００１５】
ステップＳＦ１でデータプログラムが開始され、最初にステップＳＦ２でページプログラムデータがメモリアレイ内の各ビット線毎に設けられたデータラッチ回路に転送される。
次に、ステップＳＦ３でプログラムベリファイ回数Ｋが０にリセットされ、プログラムパルスを印加するプログラム動作（ステップＳＦ４）、およびベリファイ読み出し後に再プログラムデータを自動設定するベリファイ読み出し動作（ステップＳＦ５）が連続して行われる。
次に、ステップＳＦ６ですべてのメモリセルのプログラムが終了したかどうかの終点検出が、再プログラムデータ内に少なくとも１個以上のプログラム未終了メモリセルが残っているか否かを調べることにより行われる。
【００１６】
その結果、全ビットプログラム終了の終点検出ができた場合には、データプログラムを完了する（ステップＳＦ９）。
一方、全ビットプログラム終了の終点検出ができなかった場合には、さらにプログラムベリファイ回数Ｋがインクリメントされ（ステップＳＦ７）、Ｋが予め設定された所定回数ｋ０（たとえば１００回程度）未満であるかどうかが調べられる（ステップＳＦ８）。
そしてＫがｋ０未満である場合には、上述したステップＳＦ４〜ステップＳＦ８のシーケンスフローが繰り返し行われ、Ｋがｋ０に到達した時点でデータプログラム失敗と判断される（ステップＳＦ１０）。
【００１７】
この所定のプログラムベリファイ回数Ｋ０は、ごくまれに存在するプログラムの遅いメモリセルのために、従来のＮＡＮＤ型フラッシュメモリ等の場合たとえば１００回以上と非常に多くなり、その結果、ページプログラムを終了するのに要する時間も非常に長くなっていた。
【００１８】
また、上述したＮＯＲ型フラッシュメモリ等のような半導体不揮発性記憶装置においては、データの書き換えは、所定のブロック単位（たとえば６４Ｋバイト程度）でデータ消去を行った後、当該ブロック単位でデータプログラムを行う。
しかし、消去ブロック単位内の各メモリセルは、製造プロセスに起因するサイズ等のバラツキのため、それぞれ消去速度に差が生じる。
【００１９】
図１１は上述した消去ブロック内のメモリセル間の消去速度の差を示す図である。
図１１において、横軸はｔｅｒａｓｅ（消去時間）、すなわち各メモリセルの消去必要時間を表わしている。
また、縦軸はＮ（メモリセル個数）、すなわち横軸ｔｅｒａｓｅ（消去時間）に対応したメモリセル個数の分布頻度を表わしている。
【００２０】
図１１に示すように、ＮＯＲ型フラッシュメモリ等のような所定のブロック単位でデータ消去を行う半導体不揮発性記憶装置においては、メモリセル間で消去必要時間ｔｅｒａｓｅに分布が生じる。
このような消去速度のバラツキを考慮して、一般的なＮＯＲ型フラッシュメモリにおいては、消去動作がベリファイ動作を介して行われ、かつ当該消去／ベリファイ動作を消去ブロック内のすべてのメモリセルのデータ消去が終了するまで繰り返し行われる。
【００２１】
ところが図１１に示すように、一般的なメモリセルの場合、消去必要時間ｔｅｒａｓｅは図中ｔ０であるが、プロセス等のバラツキ要因から非常に長い消去必要時間ｔｅｒａｓｅ、たとえば図中ｔ１以上を要するメモリセルがごくまれに存在する場合がある。
このような場合、ごくまれに存在する消去の遅いメモリセルのために、上述した消去／ベリファイ動作の回数も、たとえば１００回〜１０００回以上と非常に多くなり、その結果、消去動作を終了するのに要する時間も非常に長くなり、ひいてはデータの書き換えに要する時間も長くなる。
さらに、ごくまれに存在する消去の遅いメモリセルのために消去／ベリファイ動作の回数が非常に多くなると、消去の速いメモリセルが過剰消去されて当該メモリセルのしきい値電圧Ｖｔｈがデプレーション状態（Ｖｔｈ＜０）となって、誤動作の原因となる。
【００２２】
図１２は、かかる従来のＮＯＲ型フラッシュメモリ等のような所定のブロック単位でデータの書き換えを行う半導体不揮発性記憶装置における、データ消去およびその後のデータプログラム時のシーケンスフローを示す図である。
以下、図１２のシーケンスフローについて、順を追って説明する。
【００２３】
ステップＳＦ２１でデータ消去が開始され、ステップＳＦ２２で消去ベリファイ回数Ｋを最初の１に設定して消去パルスを印加する消去動作（ステップＳＦ２３）、およびベリファイ読み出し動作（ステップＳＦ２４）が連続して行われる。
ステップＳＦ２４のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができた場合には（ステップＳＦ２５）、データ消去を完了して、ステップＳＦ１０１のデータプログラム動作が開始される。
【００２４】
一方、ステップＳＦ２４のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができなかった場合には（ステップＳＦ２５）、ステップＳＦ２６において、消去ベリファイ回数Ｋがあらかじめ設定された所定回数Ｋ０（たとえば１００〜１０００回程度）未満であるか否かが調べられる。
その結果、消去ベリファイ回数Ｋが設定回数Ｋ０未満である場合には、さらに消去ベリファイ回数Ｋがインクリメントされて（ステップＳＦ２７）、上述したステップＳＦ２３〜ＳＦ２７のシーケンスフローが繰り返し行われる。そして、消去ベリファイ回数Ｋが設定回数Ｋ０に到達した時点でデータ消去失敗と判断される（ステップＳＦ２８）。
【００２５】
次に、ブロック内のすべてのメモリセルの消去終了の終点検出ができた場合には、引き続いてデータプログラムが開始される。
まず、ステップＳＦ１０１でメモリセルのアドレス番地Ａｒ−ＮＯを最初の１に設定して、当該メモリセルに対してデータ内容に応じてデータプログラムが行われ（ステップＳＦ１０２）、アドレス番地Ａｒ−ＮＯが最終アドレス番地があるか否かが調べられる（ステップＳＦ１０３）。
その結果、アドレス番地Ａｒ−ＮＯが最終アドレス番地でない場合には、さらにアドレス番地Ａｒ−ＮＯがインクリメントされて（ステップＳＦ１０４）、上述したステップＳＦ１０２〜ＳＦ１０４のシーケンスフローが繰り返し行われる。そして、アドレス番地Ａｒ−ＮＯが最終アドレス番地に到達した時点でデータプログラムが完了する（ステップＳＦ１０５）。
【００２６】
上述したシーケンスフローにおいて、所定の消去ベリファイ回数Ｋ０は、ごくまれに存在する消去の遅いメモリセルのために、従来のＮＯＲ型フラッシュメモリ等の場合たとえば１００回〜１０００回程度と非常に多くなり、その結果、消去動作を終了するのに要する時間も非常に長くなり、ひいてはデータの書き換えに要する時間も長くなっていた。
さらには、上記消去の遅いメモリセルのために消去の速いメモリセルが過剰消去されて、誤動作の原因となっていた。
【００２７】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、データプログラムを高速に行うことができ、データの書き換えを高速に行うことが可能で、さらには過剰消去メモリセルの発生を防止でき、信頼性の向上を図れる半導体不揮発性記憶装置を提供することにある。
【課題を解決するための手段】
【００２８】
上記目的を達成するため、本発明の第１の観点は、電気的にデータの処理が行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、複数ビットデータを単位としたデータの処理を当該複数単位のメモリセルに対して行い、データの処理後に当該データ処理未終了メモリセルの個数を計数する手段と、前記データ処理未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該データ処理未終了メモリセルを残したままデータの処理を終了する手段とを備えている。
【００２９】
本発明の第２の観点は、電気的にデータのプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、複数ビットデータを単位としたデータプログラムを当該複数単位のメモリセルに対して行い、データプログラム後にプログラム未終了メモリセルの個数を把握する手段と、前記プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了する手段とを備えている。
【００３０】
本発明の第３の観点は、セクタ単位のページプログラムデータを各ビット線毎に設けられたデータラッチ回路に転送し、当該データに従って選択されたセクタのメモリセル一括に電気的にデータプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、ページプログラムデータに従ったデータプログラムがベリファイ読み出し動作を介して複数回のプログラム動作を繰り返し行うことによりなされ、各プログラム動作毎にプログラム未終了メモリセルが存在するか否かを検知する手段と、所定回数のプログラム動作を繰り返し行った後にプログラム未終了メモリセルが存在する場合に、当該プログラム未終了メモリセルの個数を把握する手段と、前記プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了する手段とを備えている。
【００３１】
好適には、上記エラービットは外部のエラー訂正手段によりエラー訂正され救済される。
【００３２】
本発明の第４の観点は、電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、少なくとも１単位以上の複数ビットデータ単位のメモリセルに対してデータ消去を行い、データ消去後に当該各複数ビットデータ単位内の消去未終了メモリセルの個数を把握する手段と、前記消去未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該消去未終了メモリセルを残したままデータプログラムを行う手段とを備えている。
【００３３】
本発明の第５の観点は、電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、少なくとも１単位以上の複数ビットデータ単位のメモリセルに対するデータ消去を、ベリファイ読み出し動作を介して複数回の消去電圧パルスを繰り返し印加して行い、各消去動作毎に消去未終了メモリセルが存在するか否かを検知する手段と、所定回数の消去動作を繰り返し行った後に消去未終了メモリセルが存在する場合に、各複数ビットデータ単位内の消去未終了メモリセルの個数を把握する手段と、前記消去未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合に、当該消去未終了メモリセルを残したままデータプログラムを行う手段とを備えている。
【００３４】
好適には、上記エラービットは、データ読み出し時に外部のエラー訂正手段によりエラー訂正され救済される。
【００３５】
本発明の半導体不揮発性記憶装置によれば、所定回数のデータ処理、たとえばプログラム動作を繰り返し行った後にプログラム未終了メモリセルが存在しても、当該プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内のエラービットである場合には、プログラム未終了メモリセルを残したままデータプログラムを終了する。
したがって、ごくまれに存在する非常にプログラムの遅いメモリセルに律速されることなく、高速にデータプログラムが可能となる。
【発明の効果】
【００３６】
本発明によれば、高速にデータプログラムを行うことができる。
【発明を実施するための最良の形態】
【００３７】
第１実施形態
図１は、本発明に係る半導体不揮発性記憶装置、たとえばＮＡＮＤ型フラッシュメモリの具体的な構成例を示す図である。
【００３８】
図１において、１０はメモリ本体を示し、メモリ本体１０は、メモリアレイ部１１、ローデコーダ１２、各ビット線毎に設けられたデータラッチ回路群１３、カラム選択部１４、再プログラムデータ自動設定回路群１５および終点検出回路１６等から構成されている。
【００３９】
メモリアレイ１１は、正規メモリアレイ１１ａとパリティメモリアレイ１１ｂから構成されている。
正規メモリアレイ１１ａにはｎ本（通常は５１２バイト程度）の正規ビット線Ｂ1 〜Ｂｎが配線され、パリティメモリアレイ１１ｂにはｊ本（通常は１０バイト程度）のパリティビット線ｂ1 〜ｂｊが配線されている。
なお、図中はワード線Ｗｍを選択して、正規メモリセルＭＴ１〜ＭＴｎおよびパリティメモリセルｍＴ１〜ｍＴｊに対してページプログラムを行う場合を図示している。
【００４０】
データラッチ回路群１３は、正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊから構成され、カラム選択部１４は正規カラム選択部１４ａおよびパリティカラム選択部１４ｂから構成されている。
カラム選択部１４はデータ転送クロック信号φＣＬに同期して作動し、正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊにページプログラムデータをシフト転送し、またデータラッチ回路からページデータの読み出しを行う。
【００４１】
再プログラムデータ自動設定回路群１５は、各正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊ毎に対応して設けられた自動設定回路１５Ｓ−１〜１５Ｓ−ｎ、１５ｓ−１〜１５ｓ−ｊにより構成されている。
自動設定回路１５Ｓ−１〜１５Ｓ−ｎ、１５ｓ−１〜１５ｓ−ｊは、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する。
【００４２】
終点検出回路１６は、各正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊ毎に設けられたトランジスタＴ１〜ＴｎおよびＴｐ１〜Ｔｐｊ、並びにトランジスタＴｓｅｔ、および反転回路ＩＮＶ１により構成されている。
各トランジスタＴ１〜ＴｎおよびＴ１〜Ｔｊのゲート電極がそれぞれの正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊの反転出力に、ソース電極が接地電位に、ドレイン電極が共通接続されており、プログラム未終了セルが存在して少なくとも１個以上のデータラッチ回路の反転出力がハイレベルである場合に、共通接続された終点検出電位Ｖａが接地電位となり、反転回路ＩＮＶ１により終点検出信号ＥＮＤｏｕｔがハイレベルとして出力される。
またトランジスタＴｓｅｔは、終点検出電位Ｖａを予めＶＣＣレベルにプリチャージするために設けられ、終点検出に先だってプリチャージ信号φｓｅｔにより駆動される。
【００４３】
２０はデータ入力部を示し、データ入力部２０は、データ入力回路２１とエラー検査コード発生回路２２とにより構成される。
データ入力回路２１は正規入力データ［Ｄｉｎ］1 〜n をエラー検査コード発生回路２２に入力し、エラー検査コード（パリティ入力データ）［Ｃｉｎ］1 〜j を発生する。正規入力データ［Ｄｉｎ］1 〜n およびエラー検査コード［Ｃｉｎ］1 〜j により合成されるページプログラムデータは、データ転送クロック信号φＣＬに同期して、それぞれ正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊにシフト転送され、対応する正規メモリセルおよびパリティメモリセルにページプログラムされる。
【００４４】
３０はデータ出力部を示し、データ出力部３０は、エラー検査回路３１とデータ訂正回路３２とにより構成される。
エラー検査回路３１は、ページ読み出しした正規出力データ［Ｄｏｕｔ］1 〜n およびエラー検査コード（パリティ出力データ）［Ｃｏｕｔ］1 〜j により、データ復調コード［Ｓ］1 〜j を発生する。
データ訂正回路３２は、正規出力データ［Ｄｏｕｔ］1 〜n およびデータ復調コード［Ｓ］1 〜j により、ページ読み出しデータ内に所定個数（たとえば１ビット）以内のエラービットが存在する場合にこれを訂正し、訂正後の正しい正規出力データ［ＤＡＴＡ］1〜n を出力する。
【００４５】
４０はカウント回路（計数回路）を示し、カウント回路４０は、所定回数のプログラムベリファイ回数（たとえば１０回程度）を繰り返した後にプログラム未終了メモリセルが存在して終点検出できなかった場合、つまり少なくとも１個以上のデータラッチ回路の出力がローレベルである場合に、以下のようにプログラム未終了メモリセルの個数を計数する。
すなわち、基本データ転送クロック信号φＣＬに同期したベリファイページ読み出しデータＤＡＴＡｖｅｒの反転回路ＩＮＶ２の出力ＤＡＴＡｖｅｒ’をシフト入力し、最後にチェック信号φＣＨＫの入力に応じてプログラム未終了メモリセルの個数を計数する。
【００４６】
未終了判定回路５０は、メモリ本体１０の反転回路ＩＮＶ１の出力信号φＣＨＫをハイレベルで入力すると、プログラム未終了メモリセルがあるものとして、プログラム未終了メモリセルの個数の計数を開始するようにチェック信号φＣＨＫをカウント回路４０に出力する。
【００４７】
判定回路６０は、カウント回路４０の出力チェック信号φＣＮＴがハイレベルに切り換わったならば、プログラム未終了のセルが１つ以上あるものとして、図示しない制御系に出力する。
本実施形態の場合、判定回路６０は、たとえばフリップフロップにより構成される。
【００４８】
図２は、図１の半導体不揮発性記憶装置におけるエラー訂正手段において、１ビットエラーに対処できる正規データビット数ｎとパリティデータビット数（エラー検査ビット数）ｊとの関係を示す図である。
【００４９】
エラー訂正の原理、エラー検査コード発生回路２２、エラー検査回路３１、およびデータ訂正回路３２については、本発明の骨子と直接関係しないため、ここでは詳述しない。
しかし図２によれば、５１２ビットの正規データビット数には１０ビットのエラー検査ビット数が必要であり、したがって一般的な５１２ビットの正規入力データ［Ｄｉｎ］1
〜n には１０ビットのエラー検査コード［Ｃｉｎ］1 〜j を発生させる必要がある。
【００５０】
図３は、図１の半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
以下、図３のシーケンスフローについて、図１の構成例等を参照しながら順を追って説明する。
【００５１】
ステップＳ１でデータプログラムが開始され、最初にデータ入力回路２１を介して入力された正規入力データ［Ｄｉｎ］1 〜n に基づき、エラー検査コード発生回路２２によりエラー検査コード［Ｃｉｎ］1 〜j が発生される（ステップＳ２）。
そして、正規入力データ［Ｄｉｎ］1 〜n およびエラー検査コード［Ｃｉｎ］1 〜j は正規カラム選択１４ａおよびパリティカラム選択１４ｂに入力され、合成したページプログラムデータがメモリアレイ内の各ビット線毎に設けられた正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊに転送される（ステップＳ３）。
【００５２】
次に、図示しないプログラム制御系によりステップＳ４でプログラムベリファイ回数Ｋが０にリセットされ、プログラムパルスを印加するプログラム動作が行われ（ステップＳ５）、ベリファイ読み出し後に、自動設定回路１５Ｓ−１〜１５Ｓ−ｎ、１５ｓ−１〜１５ｓ−ｊにおいてプログラム終了メモリセルの正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊ内のデータを順次反転させて再プログラムデータを自動設定するベリファイ読み出し動作（ステップＳ６）が連続して行われる。
【００５３】
次に、ステップＳ７で終了検出回路１６および未終了判定回路５０において、すべてのメモリセルのプログラムが終了したかどうかの終点検出が、再プログラムデータ内に少なくとも１個以上のプログラム未終了メモリセルに対応するデータが残っているか否かを調べることにより行われる。
【００５４】
その結果、全ビットプログラム終了の終点検出ができた場合には、データプログラムを完了する（ステップＳ１２）。
しかし、全ビットプログラム終了の終点検出ができなかった場合には、さらにプログラムベリファイ回数Ｋがインクリメントされて（ステップＳ８）、Ｋが予め設定された所定回数ｋ０（たとえば１０回程度）未満であるかどうかが調べられる（ステップＳ９）。
そしてＫがｋ０未満である場合には、上述したステップＳ５〜Ｓ９のシーケンスフローが繰り返し行われ、Ｋがｋ０に到達した時点でステップＳ１０に進む。
【００５５】
次にステップＳ１０では、データラッチ回路内のデータがページ読み出しされて、プログラム未終了メモリセルの個数がカウント回路４０でカウントされる。次に、ステップＳ１１おいて、計数したプログラム未終了メモリセルの個数がエラー訂正可能な所定個数（たとえば１個）以内であるかどうかが調べられる。
その結果、プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内である場合にはデータプログラムを完了し（ステップＳ１２）、所定個数を超えている場合にはデータプログラム失敗と判断される（ステップＳ１３）。
【００５６】
以上のシーケンスフローによりデータプログラムが行われた本発明の半導体不揮発性記憶装置においては、データ読み出し時に、エラー検査回路３１およびデータ訂正回路３２とによりプログラム未終了メモリセルのエラー訂正がなされ、正しい正規データ［ＤＡＴＡ］1 〜n が読み出される。
【００５７】
以上説明したように、本第１の実施形態に係る半導体不揮発性記憶装置によれば、所定回数のプログラム動作を繰り返し行った後にプログラム未終了メモリセルが存在しても、当該プログラム未終了メモリセルの個数がエラー訂正手段により訂正可能な所定個数以内のエラービットである場合には、プログラム未終了メモリセルを残したままデータプログラムを終了する。
したがって、ごくまれに存在する非常にプログラムの遅いメモリセルに律速されることなく、高速にデータプログラムが可能となる。
【００５８】
第２実施形態
図４は、本発明に係る半導体不揮発性記憶装置、たとえばＮＯＲ型フラッシュメモリの具体的な構成例を示す図である。
【００５９】
すなわち、図４において、１００はメモリ本体を示し、メモリ本体１００は、メモリアレイ部１１１、ローデコーダ１１２、各ビット線毎に設けられたデータラッチ回路群１１３、カラム選択部１１４、再プログラムデータ自動設定回路群１１５および終点検出回路１１６等から構成されている。
【００６０】
メモリアレイ１１１は、正規メモリアレイ１１１ａとパリティメモリアレイ１１１ｂとから構成されている。
正規メモリアレイ１１１ａにはｎ本（通常は５１２バイト程度）の正規ビット線Ｂ1 〜Ｂｎが配線され、パリティメモリアレイ１１１ｂにはｊ本（通常は１０バイト程度）のパリティビット線ｂ1 〜ｂｊが配線されている。
なお、図中はワード線Ｗｍを選択して、正規メモリセルＭＴ１〜ＭＴｎおよびパリティメモリセルｍＴ１〜ｍＴｊに対してページ読み出しを行う場合を図示している。
【００６１】
データラッチ回路群１１３は、正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊから構成され、カラム選択部１１４は正規カラム選択部１１４ａおよびパリティカラム選択部１１４ｂから構成されている。
カラム選択部１１４はデータ転送クロック信号φＣＬに同期して作動し、正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊにページプログラムデータをシフト転送し、またデータラッチ回路からワード線単位のページデータの読み出しを行う。
【００６２】
再プログラムデータ自動設定回路群１１５は、各正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊ毎に対応して設けられた自動設定回路１１５Ｓ−１〜１１５Ｓ−ｎ、１１５ｓ−１〜１１５ｓ−ｊにより構成されている。
自動設定回路１１５Ｓ−１〜１１５Ｓ−ｎ、１１５ｓ−１〜１１５ｓ−ｊは、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する。
【００６３】
終点検出回路１１６は、各正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊ毎に設けられたトランジスタＴ１〜ＴｎおよびＴｐ１〜Ｔｐｊ、並びにトランジスタＴｓｅｔ、および反転回路ＩＮＶ１００により構成されている。
各トランジスタＴ１〜ＴｎおよびＴｐ１〜Ｔｐｊのゲート電極がそれぞれの正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊの反転出力に、ソース電極が接地電位に、ドレイン電極が共通接続されており、消去未終了セルが存在して少なくとも１個以上のデータラッチ回路の反転出力がハイレベルである場合に、共通接続された終点検出電位Ｖａが接地電位となり、反転回路ＩＮＶ１により終点検出信号ＥＮＤｏｕｔがハイレベルとして出力される。
またトランジスタＴｓｅｔは、終点検出電位Ｖａを予めＶＣＣレベルにプリチャージするために設けられ、終点検出に先だってプリチャージ信号φｓｅｔにより駆動される。
【００６４】
１２０はデータ入力部を示し、データ入力部１２０は、データ入力回路１２１とエラー検査コード発生回路１２２とにより構成される。
データ入力回路１２１は正規入力データ［Ｄｉｎ］1 〜n をエラー検査コード発生回路１２２に入力し、エラー検査コード（パリティ入力データ）［Ｃｉｎ］1 〜j を発生する。正規入力データ［Ｄｉｎ］1 〜n およびエラー検査コード［Ｃｉｎ］1 〜j により合成されるワード線単位のページプログラムデータは、データ転送クロック信号φＣＬに同期して、それぞれ正規データラッチ回路ＳＡ１〜ＳＡｎおよびパリティデータラッチ回路ｓＡ１〜ｓＡｊにシフト転送され、対応する正規メモリセルおよびパリティメモリセルに順次データプログラムされる。
【００６５】
１３０はデータ出力部を示し、データ出力部１３０は、エラー検査回路１３１とデータ訂正回路１３２とにより構成される。
エラー検査回路１３１は、ページ読み出しした正規出力データ［Ｄｏｕｔ］1 〜n およびエラー検査コード（パリティ出力データ）［Ｃｏｕｔ］1 〜j により、データ復調コード［Ｓ］1 〜j を発生する。
データ訂正回路１３２は、正規出力データ［Ｄｏｕｔ］1 〜n およびデータ復調コード［Ｓ］1 〜j により、ページ読み出しデータ内に所定個数（たとえば１ビット）以内のエラービットが存在する場合にこれを訂正し、訂正後の正しい正規出力データ［ＤＡＴＡ］1 〜n を出力する。
【００６６】
１４０はカウント回路（計数回路）を示し、カウント回路１４０は、所定回数の消去ベリファイ回数（たとえば１０回〜数１０回程度）を繰り返した後に消去ブロック内の各ページ内に消去未終了メモリセルが存在して終点検出できなかった場合、つまり各ページ毎のベリファイ読み出し時に１個以上のデータラッチ回路の出力がハイレベルである場合に、以下のように消去未終了メモリセルの個数を計数する。
すなわち、基本データ転送クロック信号φＣＬに同期したベリファイページ読み出しデータＤＡＴＡｖｅｒをシフト入力し、最後にチェック信号φＣＨＫの入力に応じて消去未終了メモリセルの個数を計数する。
【００６７】
未終了判定回路１５０は、メモリ本体１００の反転回路ＩＮＶ１００の出力信号φＣＨＫをハイレベルで入力すると、消去未終了メモリセルがあるものとして、消去未終了メモリセルの個数の計数を開始するようにチェック信号φＣＨＫをカウント回路１４０に出力する。
【００６８】
判定回路１６０は、カウント回路１４０の出力チェック信号φＣＮＴがハイレベルに切り換わったならば、消去未終了のセルが１つ以上あるものとして、図示しない制御系に出力する。
本実施例の場合も、判定回路１６０は、たとえばフリップフロップにより構成される。
【００６９】
図４の半導体不揮発性記憶装置におけるエラー訂正手段において、１ビットエラーに対処できる正規データビット数ｎとパリティデータビット数（エラー検査ビット数）ｊとの関係は、第１実施例の場合と同様に、図２に示すような関係である。
【００７０】
エラー訂正の原理、エラー検査コード発生回路１２２、エラー検査回路１３１、およびデータ訂正回路１３２については、本発明の骨子と直接関係しないため、ここでは詳述しない。
しかし図２によれば、５１２ビットの正規データビット数には１０ビットのエラー検査ビット数が必要である。
したがって、ワード線を５１２バイトページサイズとして１２８ページの６４Ｋバイトで消去ブロック単位が構成されている場合、各ページ毎で、５１２バイトの正規入力データ［Ｄｉｎ］1 〜n には１０ビットのエラー検査コード［Ｃｉｎ］1 〜j を発生させる必要がある。
【００７１】
図５は、図４の半導体不揮発性記憶装置においてデータの書き換えを行う場合データ消去時のシーケンスフローを示す図である。
また、図６は、その後のデータプログラム時のシーケンスフローを示す図である。
以下、図５および図６のシーケンスフローについて、図４の構成例等を参照しながら順を追って説明する。
【００７２】
まず、図５のデータ消去時のシーケスフローについて説明する。
ステップＳ２１でデータ消去が開始され、ステップＳ２２で消去ベリファイ回数Ｋを最初の１に設定して消去パルスを印加する消去動作（ステップＳ２３）、およびベリファイ読み出し動作（ステップＳ２４）が連続して行われる。
ステップＳ２４のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができた場合には（ステップＳ２５）、データ消去を完了する。
【００７３】
一方、ステップＳ２４のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができなかった場合には（ステップＳ２５）、ステップＳ２６において、消去ベリファイ回数Ｋがあらかじめ設定された所定回数Ｋ０（たとえば１００〜１０００回程度）未満であるか否かが調べられる。
その結果、消去ベリファイ回数Ｋが設定回数Ｋ０未満である場合には、さらに消去ベリファイ回数Ｋがインクリメントされて（ステップＳ２７）、上述したステップＳ２３〜Ｓ２７のシーケンスフローが繰り返し行われる。そして、消去ベリファイ回数Ｋが設定回数Ｋ０に到達した時点で消去未終了メモリセルが存在するものとしてステップＳ２８の処理に移行する。
【００７４】
ステップＳ２８において、消去ブロック内のページ番地Ｐｇ−ＮＯをまず最初の１に設定して、データラッチ回路の消去データをページ読み出しして、消去未終了メモリセルの個数がカウントされる（ステップＳ２９）。
【００７５】
次に、ステップＳ３０で、計数した消去未終了メモリセルの個数がエラー訂正可能ま所定個数（たとえば１個）以内であるか否かが調べられる。
その結果、消去未終了メモリセルの個数がエラー訂正可能な所定個数を超えてる場合にはデータ消去失敗と判断される（ステップＳ３４）。
一方、消去未終了メモリセルの個数がエラー訂正可能な所定個数以内である場合には、ページ番地Ｐｇ−ＮＯが最終アドレス番地であるか否かが調べられる（ステップＳ３１）。
そして、ページ番地Ｐｇ−ＮＯが最終アドレス番地でない場合には、さらにページ番地Ｐｇ−ＮＯがインクリメントされて（ステップＳ３２）、上述したステップＳ２９〜Ｓ３２のシーケンスフローが繰り返し行われる。そして、ページ番地Ｐｇ−ＮＯが最終ページ番地に到達した時点で、データ消去完了と判断される（ステップＳ３３）。
【００７６】
次に、図６のデータプログラム時のシーケンスフローについて説明する。
データの消去が完了した場合、（図３のステップＳ３３）には、引き続いてデータプログラムが開始される（ステップＳ１０１）。
まず、ステップＳ１０２でブロック内のページ番地Ｐｇ−ＮＯをまず最初の１に設定して、当該ページの正規入力データ［Ｄｉｎ］1 〜n に基づき、エラー検査コード発生回路２２によりエラー検査コード［Ｃｉｎ］1 〜j が発生される（ステッＳ１０３）。
次に、当該ページ内でメモリセルのアドレス番地Ｐｇ−ＮＯを最初の１に設定して（ステップＳ１０４）、当該メモリセルに対してデータ内容に応じてデータプログラムが行われ（ステップＳ１０５）、アドレス番地Ａｒ−ＮＯが最終アドレス番地であるか否かが調べられる（ステップＳ１０６）。
その結果、アドレス番地Ａｒ−ＮＯが最終アドレス番地でない場合には、さらにアドレス番地Ａｒ−ＮＯがインクリメントされて（ステップＳ１０７）、上述したステップＳ１０３〜Ｓ１０７のシーケンスフローが繰り返し行われる。そして、アドレス番地Ａｒ−ＮＯが最終アドレス番地に到達した時点で当該ページのデータプログラムが完了する。
【００７７】
次に、ステップＳ１０８でページ番地Ｐｇ−ＮＯが最終番地であるか否かが調べられる。
その結果、アドレス番地Ｐｇ−ＮＯが最終番地でない場合には、さらにページ番地Ｐｇ−ＮＯがインクリメントされて（ステップＳ１０９）、上述したステップＳ１０３〜Ｓ１０９のシーケンスフローが繰り返し行われる。そして、アドレス番地Ａｒ−ＮＯが最終アドレス番地に到達した時点で当該ページのデータプログラムが完了する（Ｓ１１０）。
【００７８】
以上のシーケンスフローによりデータの書き換えが行われた本発明の半導体不揮発性記憶装置においては、データ読み出し時に、エラー検査回路３１およびデータ訂正回路３２とにより消去未終了メモリセルのエラー訂正がなされ、正しい正規データ［ＤＡＴＡ］1
〜n が読み出される。
【００７９】
以上説明したように、本第２の実施形態に係る半導体不揮発性記憶装置によれば、所定回数の消去動作を繰り返し行った後に消去未終了メモリセルが存在しても、当該消去未終了メモリセルの個数がエラー訂正手段により訂正可能な所定個数以内のエラービットである場合には、消去未終了メモリセルを残したままデータプログラムを行う。
したがって、ごくまれに存在する非常に消去の遅いメモリセルに律速されることなく、高速にデータプログラムが可能となり、ひいては、データの書き換えを高速に行うことができる。
さらには、消去の速いメモリセルが過剰消去されることを防止でき、信頼性の高い半導体不揮発性記憶装置を実現することができる。
【図面の簡単な説明】
【００８０】
【図１】本発明に係る半導体不揮発性記憶装置の第１の実施形態の構成例を示す図である。
【図２】図１の半導体不揮発性記憶装置におけるエラー訂正手段において、１ビットエラーに対処できる正規データビット数ｎとパリティデータビット数（エラー検査ビット数）ｊとの関係を示す図である。
【図３】図１の半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
【図４】本発明に係る半導体不揮発性記憶装置の第２の実施形態の構成例を示す図である。
【図５】図１の半導体不揮発性記憶装置における、データ消去時のシーケンスフローを示す図である。
【図６】図１の半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
【図７】ＮＡＮＤ型およびＤＩＮＯＲ型フラッシュメモリにおける、メモリアレイ構造を示す図である。
【図８】一般的なＮＯＲ型フラッシュメモリにおける、メモリアレイ構造およびデータ消去時のバイアス条件を示す図である。
【図９】従来のワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置のメモリセル間のプログラム速度の差を示す図である。
【図１０】従来のワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
【図１１】消去ブロック内のメモリセル間の消去速度の差を示す図である。
【図１２】従来のＮＯＲ型フラッシュメモリにおけるデータ書き換え時のシーケンスフローを示す図である。
【符号の説明】
【００８１】
Ｂ１〜Ｂｎ…正規ビット線、ｂ１〜ｂｊ…パリティビット線、Ｗｍ…選択ワード線、ＭＴ１〜ＭＴｎ…正規メモリセル、ｍＴ１〜ｍＴｊ…パリティメモリセル、ＳＡ１〜ＳＡｎ…正規データラッチ回路、ｓＡ１〜ｓＡｊ…パリティデータラッチ回路、［Ｄｉｎ］1 〜n …正規入力データ、［Ｄｏｕｔ］1 〜n …正規出力データ、［ＤＡＴＡ］1 〜n …エラー訂正後の正規出力データ、［Ｃｉｎ］1 〜j …入力エラー検査コード、［Ｃｏｕｔ］1〜j …出力エラー検査コード、［Ｓ］1 〜j …データ復調コード、ＤＡＴＡｖｅｒ…ベリファイページ読み出しデータ、φＣＬ…データ転送クロック信号、φｃｈｅｃｋ…チェック信号、φｓｅｔ…プリチャージ信号、ＥＮＤｏｕｔ…終点検出信号、Ｖａ…終点検出電位、ＩＮＶ１〜ＩＮＶ２，ＩＮＶ１００…反転回路、１０，１００…メモリ本体、１１，１１１…メモリアレイ部、１１ａ，１１１ａ…正規メモリアレイ、１１ｂ，１１１ｂ…パリティメモリアレイ、１２，１１２…ローデコーダ、１３，１１３…データラッチ回路、１４，１１４…カラム選択部、１４ａ，１１４ａ…正規カラム選択部、１４ｂ，１１４ｂ…パリティカラム選択部、１５，１１５…再プログラムデータ自動設定回路、１６，１１６…終点検出回路、２０，１２０…データ入力部、２１，１２１…データ入力回路、２２，１２２…エラー検査コード発生回路、３０，１３０…データ出力部、３１，１３１…エラー検査回路、３２，１３２…データ訂正回路、４０，１４０…カウント回路、５０，１５０…未終了判定回路、６０，１６０…判定回路。
【図１】
2006209971.tif 000003
【図２】
2006209971.tif 000004
【図３】
2006209971.tif 000005
【図４】
2006209971.tif 000006
【図５】
2006209971.tif 000007
【図６】
2006209971.tif 000008
【図７】
2006209971.tif 000009
【図８】
2006209971.tif 000010
【図９】
2006209971.tif 000011
【図１０】
2006209971.tif 000012
【図１１】
2006209971.tif 000013
【図１２】
2006209971.tif 000014