メモリセルに対するデータの書込と書き込んだデータの消去とを電気的に行うことができる不揮発性半導体記憶装置としては、いわゆるフラッシュメモリが知られている。フラッシュメモリは、メモリセル・アレイ中の全メモリセルまたは一部のメモリセルからなるブロック(あるいはセクタ)を単位としてデータの消去(当該メモリの初期化)を一括して行える点に特徴がある。
フラッシュメモリでは、通常、浮遊ゲートと制御ゲートを有する1個のMOS(Metal-Oxide-Semiconductor)電界効果トランジスタ(以下、MOSトランジスタあるいはトランジスタともいう)によって各メモリセルを構成している。その浮遊ゲートに電子を注入し、あるいはその浮遊ゲートから電子を引き抜くことによって、当該メモリセルに対してデータの「書込」及びデータの「消去」を行う。そのMOSトランジスタすなわちメモリセルの閾値電圧Vthは、浮遊ゲート中に電子が存在する程度(量)に応じて変化するので、この現象を利用してデータを記憶する。例えば、浮遊ゲート中に電子が注入されて閾値電圧Vthが高くなった状態(書込状態)を論理「0」に対応させ、浮遊ゲートから電子が引き抜かれて閾値電圧Vthが低くなった状態(消去状態)を論理「1」に対応させることにより、1ビットのデータを記憶するのである。
しかし、実際には、各メモリセルを構成するMOSトランジスタのゲート酸化膜の膜厚のバラツキや微小欠陥の量の変動等に起因して、各メモリセルのデータ消去速度が異なるため、一括消去動作を行った後の各メモリセルの閾値電圧Vthは一定にならない。その結果、メモリセル全体を見るとそれらメモリセルの閾値電圧Vthはある分布を持つ。つまり、データの一括消去を行う際に消去速度の遅いメモリセルのトランジスタが所定の閾値電圧Vthとなるようにすると、消去速度の速いメモリセルのトランジスタについては、過剰に消去された(過消去された)状態となる。
過消去されたメモリセルは、種々の問題を引き起こすので、一括消去時に過消去されたメモリセルが残存しないように何らかの対策を講じる必要がある。例えば、NOR型のフラッシュメモリでは、あるメモリセルが過消去されてその閾値電圧Vthがデプレッション状態(Vth<0)となると、そのメモリセルと同じビット線に接続された他のメモリセルの閾値電圧Vthも正しく読み出しできなくなる。すなわち、そのビット線に接続された他のメモリセルの閾値電圧Vthがエンハンス状態(Vth>0)であっても、同ビット線に接続された全メモリセルの閾値電圧Vthがデプレッション状態(Vth<0)にあると判断されてしまう。よって、そのような事態が生じないようにする必要がある。
そこで、データ消去動作で過消去されたメモリセルを救済するために、通常、当該メモリセルを構成するMOSトランジスタの浮遊ゲートに電子を注入し、それによってそのMOSトランジスタの閾値電圧Vthをデプレッション状態(Vth<0)からエンハンス状態(Vth>0)にする操作が実行される。この操作は「書き戻し」と呼ばれ、チャネル・ホット・エレクトロンを使用する方法、ドレイン・アバランシェ・ホット・エレクトロンあるいはドレイン・アバランシェ・ホット・ホールを使用する方法、サブスレッショルド・チャネル・ホット・エレクトロンを使用する方法などを用いて実現される。
なお、フラッシュメモリの初期化、すなわち全メモリセル中のデータを消去してデータ書き込み前の初期状態に戻す動作は、「自動消去」と呼ばれており、その動作は「消去前書き込み」、「消去」、「書き戻し」の三つのステップから構成されるのが通常である。
フラッシュメモリのメモリセルは、例えば図10に示すように、二層ゲート電極を有するMOSトランジスタから形成される。すなわち、P型半導体基板1の主表面に高濃度のP型領域(P+型ウェル領域)1aが形成されており、そのP+型ウェル領域1a上に、第1ゲート絶縁膜3、多結晶シリコン等によりなる浮遊ゲート4、第2ゲート絶縁膜5、多結晶シリコン等によりなる制御ゲート6がこの順に積層形成されており、二層ゲート電極を構成している。第2ゲート絶縁膜5は通常、リーク防止のための酸化シリコン膜と、窒化シリコン膜と、酸化シリコン膜の3層構造(ONO構造)を持つ。当該積層構造の両側において、P+型ウェル領域1a上には酸化シリコンよりなる一対のサイドウォール7aと7bが形成されている。
P+型ウェル領域1aの内部には、二層ゲート電極に近接してその両側に、一対の高濃度N型領域(N++型ソース領域とN++型ドレイン領域)2aaと2bbがそれぞれ形成されている。また、サイドウォール7aと7bの直下には、二層ゲート電極に近接して一対の高濃度N型領域(N+型領域)2bと2b’が形成されている。N++型ドレイン領域2bb側のN+型領域2b’は電界緩和領域として機能する。
基板1には基板電圧Vsubが印加され、P+型ウェル領域1aにはウェル電圧Vwが印加され、制御ゲート6には制御ゲート電圧Vcgが印加される。N++型ソース領域2aaとN++型ドレイン領域2bbにはソース電圧Vsとドレイン電Vdがそれぞれ印加される。これらの電圧を適当な値に組み合わせて設定することにより、データの書き込み、読み出し、消去が行われる。
次に、従来のフラッシュメモリのデータ消去方法について説明する。図6は、従来のフラッシュメモリのデータ消去方法の一例を示すフローチャートである。
図6のデータ消去方法では、まず最初にステップS101で「消去前書き込み」を行う。すなわち、所定のブロック単位で、公知の方法で、メモリセル・アレイ中の閾値電圧が低い(論理「1」の)メモリセルの浮遊ゲートに対して電子を注入し、それらメモリセルを構成するトランジスタの閾値電圧Vthを上昇させる。これにより、当該ブロック中の全メモリセルの閾値電圧Vthが高い(論理「0」の)状態になる。
次に、ステップS102において、当該ブロック中の全メモリセルの浮遊ゲートから電子を引き抜き、データ消去を行う。これにより、全メモリセルの閾値電圧Vthが低下せしめられてデータ消去状態となる。
次のステップS103では「消去ベリファイ」を行う。すなわち、当該ブロック中の全メモリセルについてその閾値電圧Vthが所定の消去ベリファイ電圧EVより低くなっている(Vth<EV)か否かを順次判定する。その判定結果がYES(Pass)なら次のステップS104に進み、NO(Fail)ならステップS102とS103を繰り返す。
図7は、図6の従来のフラッシュメモリのデータ消去方法において、「消去ベリファイ」(ステップS103)を行った後の閾値電圧Vthの分布図である。図7に示されるように、当該ブロック中の全メモリセル(当該ブロック中の全ビット)についてVth<EVとなっているが、一部のメモリセルについては、過消去により閾値電圧Vthがリペア・ベリファイ電圧RVよりも低く(Vth<RV)なっていることが分かる。
図6に戻って、次のステップS104では、閾値電圧Vthが消去ベリファイ電圧EVより低くされた当該ブロック中の全メモリセルについて、「リペア・ベリファイ」を行う。すなわち、当該ブロック中の全メモリセルについてその閾値電圧Vthが所定のリペア・ベリファイ電圧RVより高いか否かを判定する。ただし、RV<EVである。ステップS104での判定結果がYES(Pass)なら、EV>Vth>RVとなっていて所望の消去状態にあることを意味するから、当該データ消去シーケンスを終了する。しかし、ステップS104での判定結果がNO(Fail)であれば、当該メモリセルは過消去状態にあることを意味するから、ステップS105に飛び、過消去状態を解消するためにそのメモリセルに対してデータの書き戻しを行う。
すなわち、ステップS105では、過消去状態にあると判定されたメモリセルの浮遊ゲートに対して公知方法で電子を注入し、そのメモリセルを構成するトランジスタの閾値電圧Vthをリペア・ベリファイ電圧RVより高くなる(Vth>RV)ようにする。
次のステップS106では、閾値電圧Vthがリペア・ベリファイ電圧RVより高くされたメモリセルについて再度「リペア・ベリファイ」を行う。すなわち、当該メモリセルについてその閾値電圧VthがVth>RVの関係を満たすか否かを判定する。ステップS106での判定結果がNO(Fail)ならば、書き戻しが不足しているのであるから、ステップS105に戻って再度、書き戻しを行う。こうして、ステップS106での判定結果がYES(Pass)となるまで、ステップS105〜S106を繰り返す。
ステップS106での判定結果がYES(Pass)となると、Vth>RVである(過消去が解消された)ことを意味するから、次のステップS107に進み、再度「消去ベリファイ」を行う。すなわち、当該メモリセルの閾値電圧Vthが消去ベリファイ電圧EVより低いか否かを判定する。ステップS107の判定結果がYES(Pass)となると、EV>Vth>RVであることを意味するから、当該データ消去シーケンスを終了する。しかし、ステップS104での判定結果がNO(Fail)であれば、当該メモリセルは消去不足にあることを意味するから、ステップS102に戻り、上述したステップを繰り返す。
以上のシーケンスにより、当該ブロック中の全メモリセルについて閾値電圧Vthを所望のEV>Vth>RVの関係を満たすように設定することができる。当該フラッシュメモリの他のブロック中のメモリセルについても、上記と同様に行う。
しかし、図6に示す従来のデータ消去方法では、最も消去が遅いメモリセルのデータ消去が完了するまで、他のすべてのメモリセルについてもデータ消去が繰り返されるため、多数の過消去セルが生じる可能性が大である。また、一部のメモリセルのデータが深いデプレッション・レベルまで過消去される可能性も大である。さらに、過消去セルの数が増えると無視できないレベルでオフリーク電流が流れるため、書き戻しができなくなるという恐れもある。これらの問題を回避する方法が、特開2001−67882号公報に開示されている。
図8は、特開2001−67882号公報に開示された従来のフラッシュメモリのデータ消去方法を示すフローチャートである。このフローチャートは、同公報の図22に開示されたフローチャートに基づいて本発明者が作成したものである。
図8のデータ消去方法では、所定のブロック単位で、まず最初にステップS201で消去前書き込みを行う。すなわち、閾値電圧が低い(論理「1」の)メモリセルの浮遊ゲートに対して公知方法で電子を注入し、それらメモリセルを構成するトランジスタの閾値電圧Vthを高くして論理「0」に整える。
次に、ステップS202において、当該ブロック中の全メモリセルの浮遊ゲートから電子を引き抜き、データ消去を行う。これにより、当該ブロック中の全メモリセルの閾値電圧Vthが低下せしめられてデータ消去状態となる。
次のステップS203では、図6のデータ消去方法とは異なり、データ消去状態とされた全メモリセルについて「リペア・ベリファイ」を行う。すなわち、当該ブロック中の全メモリセルについて、その閾値電圧Vthが所定のリペア・ベリファイ電圧RVより高い(Vth>RV)か否かを順に判定する。ステップS203での判定結果がYES(Pass)なら、ステップS206に進んで「消去ベリファイ」を行う。ステップS203での判定結果がNO(Fail)なら、ステップS204に進んで「過消去書き戻し」を行う。
ステップS203での判定結果がNO(Fail)である場合、Vth=RVまたはVth<RVであるから、そのメモリセルは過消去状態にあることを意味する。そこで、ステップS204で「過消去書き戻し」を行う、すなわち、当該メモリセルの浮遊ゲートに対して電子を注入して閾値電圧Vthをリペア・ベリファイ電圧RVより高くなるようにする。そして、次のステップS205では、当該メモリセルについて「リペア・ベリファイ」を行い、Vth>RVとなっているか否かを判定する。ステップS204とS205は、Vth>RVとなるまで繰り返される。ステップS205でVth>RVと判定されると、ステップS206に進む。
ステップS206では「消去ベリファイ」を行う。すなわち、当該ブロック中の全メモリセルについて、その閾値電圧Vthが所定の消去ベリファイ電圧EVより低くなっている(Vth<EV)か否かを順に判定する。その判定結果がYES(Pass)であるなら、EV>Vth>RVであって所望の消去状態にあることを意味するから、当該データ消去シーケンスを終了する。NO(Fail)であるなら、ステップS202に戻り、ステップS202〜S205を繰り返す。
以上のシーケンスにより、当該ブロック中の全メモリセルについて閾値電圧Vthが所望のEV>Vth>RVの関係を満たすように設定することができる。また、図6に示すデータ消去方法とは異なり、データ消去(ステップS202)後にリペア・ベリファイを実行(ステップS203)し、過消去と判断されたメモリセルについては直ちに過消去書き戻しとリペア・ベリファイを実行する(ステップS204〜S205)。このため、一部のメモリセルが深いデプレッション・レベルまで過消去される可能性がなくなると共に、過消去セルの書き戻しができなくなるという恐れもなくなる。図8に示す方法では、このようにして図6の方法における問題を回避している。
さらに、特開2001−351389号公報には、フラッシュメモリのデータ消去方法の他の例が開示されている。図9は、同公報に開示されたデータ消去方法を示すフローチャートである。
図9に示すデータ消去方法では、まずステップS301で、メモリセル・アレイのデータを所定のブロック単位で一括消去する。次に、ステップS302で1回目の消去ベリファイを行い、ステップS303で、消去されたブロック内のメモリセルの閾値電圧が第1判定レベル(第1ベリファイ電圧VEV1)以下にあるか否かを確認する。第1ベリファイ電圧VEV1は、消去ベリファイ電圧VEV0(これは読み出し電圧との差を考慮して決定される)より僅かに(例えば0.2V程度)低い値に設定する。すなわち、VEV1<VEV0である。ステップS303で当該ブロック内のメモリセルの閾値電圧が第1ベリファイ電圧VEV1以下と判定されれば、次のステップS304に進む。当該ブロック内のメモリセルの閾値電圧が第1ベリファイ電圧VEV1以下でないと判定されれば、ステップS301に戻り、当該ブロック内の全メモリセルの閾値電圧が第1判定レベル(VEV1)以下になるまでステップS301〜S303を繰り返す。
次に、ステップS304で、当該ブロック内に過消去のメモリセルがあるか否かを調べる。そして、過消去のメモリセルがなければ、直ちに当該シーケンスを終了する。他方、過消去のメモリセルがあれば、次のステップS305で、それらメモリセルについて過消去を解消するための収束動作を行う。すなわち、それらメモリセルを構成するトランジスタの浮遊ゲートに電子を注入して閾値電圧を上げ、過消去を解消する。
ステップS305の過消去回復動作が完了すると、次のステップS306で2回目の消去ベリファイを行い、次のステップS307で過消去回復されたメモリセルの閾値電圧が第2判定レベル(第2ベリファイ電圧)以下にあるか否かを確認する。第2ベリファイ電圧は、消去ベリファイ電圧VEV0に等しくするので、第2ベリファイ電圧VEV0は第1ベリファイ電圧VEV1より高い(VEV0>電圧VEV1)。当該ブロック内のメモリセルの閾値電圧が第2ベリファイ電圧VEV0以下であれば、当該シーケンスを終了する。他方、当該ブロック内のメモリセルの閾値電圧が第2ベリファイ電圧VEV0以下でなければ、ステップステップS301に戻り、当該ブロック内の全メモリセルの閾値電圧が第2判定レベル(VEV0)以下になるまでステップS301〜S307を繰り返す。
図9のデータ消去方法によれば、ステップS305の収束動作(過消去回復動作)によって閾値電圧Vthが0.2V程度上昇するメモリセルが発生しても、ステップS302における1回目の消去ベリファイ動作でメモリセルの閾値電圧が第1判定レベル(すなわち、消去ベリファイ電圧VEV0よりも約0.2V低い第1ベリファイ電圧VEV1)以下となるように設定しているので、本来必要とされる第2判定レベル(すなわち第2ベリファイ電圧VEV0)を越えるものは生じない。従って、ステップS306における2回目の消去ベリファイの結果を判定するステップS307では、「NO」と判定される確率は極めて小さくなる。その結果、データ消去動作で無限ループに入る可能性をほとんどなくすことができる。
特開2001−67882号公報
特開2001−351389号公報
しかし、図8に示した従来のデータ消去方法では、所定のブロック単位で、ステップS203で過消去と判定されたメモリセルについてステップS204〜S205で2回目の書き戻しとリペア・ベリファイを行うが、その書き戻しに起因して次のステップS206の消去ベリファイでVth<EVでないと判定されることがある。そうすると、そのメモリセルについてはステップS202に戻って再びデータの追加消去を行い、その後、同様のリペア・ベリファイ等の処理が繰り返される。このため、データの追加消去をする毎に書き戻しをすることになって、書き戻し回数が増加する、という問題がある。これはデータ消去時間の増加につながる。
また、図9に示した従来のデータ消去方法では、ステップS302において、消去ベリファイ電圧VEV0よりも約0.2V低い消去ベリファイ電圧VEV1(第1判定レベル)を用いてメモリセルの閾値を判断しており、当該ブロックの全メモリセルの閾値がVEV1より低くなるまで、消去動作と消去ベリファイ動作とが繰り返される。このため、消去動作が最も遅いメモリセルの閾値がVEV1に等しくなった時には、消去動作が速いメモリセルの閾値はVEV1よりかなり低くなっている、換言すれば、相当に深いデプレッション・レベルにまで過消去されている可能性が高い。
このように深い過消去状態になったメモリセルでは、リーク電流が大きいことからソース・ドレイン間に印加した電圧が当該メモリセルに対して有効に作用しない。その結果、データの書き戻しが非常に困難となる、あるいは極めて長い書き戻し時間が必要になる、という問題が生じる。
本発明は上述した従来例の問題点を解消すべくなされたものであり、その目的とするところは、消去時間を大幅に増加させることなくデータの過消去を防止できる不揮発性半導体記憶装置及びその制御方法を提供することにある。
本発明の他の目的は、多数の過消去セルの発生だけでなく、深いデプレッション・レベルまで過消去されるメモリセルの発生をも防止できる不揮発性半導体記憶装置及びその制御方法を提供することにある。
ここに明記しない本発明の他の目的は、以下の説明および添付図面から明らかになる。
(1) 本発明の不揮発性半導体記憶装置は、
データを電気的に書き換え可能なメモリセル・アレイを有し、前記メモリセル・アレイのデータを所定のブロック単位で一括消去可能な不揮発性半導体記憶装置において、
閾値電圧が第1リペア・ベリファイ電圧に設定された、メモリセルの過消去状態を判定するための第1リペア・リファレンスセルと、
閾値電圧が前記第1リペア・ベリファイ電圧より高い第2リペア・ベリファイ電圧に設定された第2リペア・リファレンスセルとを備え、
データが一括消去された前記ブロック中のあるメモリセルに対し、前記第1リペア・リファレンスセルまたは前記第2リペア・リファレンスセルを用いて選択的に比較するように構成されており、
前記第2リペア・ベリファイ電圧が可変であり、
前記第2リペア・ベリファイ電圧と前記第1リペア・ベリファイ電圧との差が、前記ブロック中の全メモリセルについて得た閾値電圧分布の上限値から消去ベリファイ電圧を減算した値に等しく設定されている
ことを特徴とするものである。
(2) 本発明の不揮発性半導体記憶装置では、閾値電圧が第1リペア・ベリファイ電圧に設定された、メモリセルの過消去状態を判定するための第1リペア・リファレンスセルと、閾値電圧が前記第1リペア・ベリファイ電圧より高い第2リペア・ベリファイ電圧に設定された第2リペア・リファレンスセルとを備えている。そして、データが一括消去された前記ブロック中のあるメモリセルに対し、前記第1リペア・リファレンスセルまたは前記第2リペア・リファレンスセルを用いて選択的に比較するように構成されている。
このため、あるメモリセルの閾値電圧を前記第1リペア・リファレンスセルの前記第1リペア・ベリファイ電圧と比較することにより、そのメモリセルが過消去状態にあるか否かを判定することができる。そして、当該メモリセルが過消去状態にあると判定されると、そのメモリセルに対してデータの書き戻しを行ってから、前記第2リペア・リファレンスセルの前記第2リペア・ベリファイ電圧と比較することにより、そのメモリセルが過消去状態よりも前記第2リペア・ベリファイ電圧と前記第1リペア・ベリファイ電圧の差だけ高い閾値電圧を持つことを確認することができる。
このため、後にデータ消去処理を追加して行うと過消去状態となる可能性の高いメモリセル、換言すれば閾値電圧が閾値電圧分布の下限値に近い範囲にあるメモリセル(いわば過消去セル予備軍)を早期に発見することができる。しかも、それら過消去セル予備軍のメモリセルの閾値電圧を、追加のデータ消去処理にかける前に上記電圧差だけ上昇させることができる。その結果、追加のデータ消去処理を行った後に消去不足と判定される可能性はほとんどなくなる。よって、消去時間を大幅に増加させることなくデータの過消去を防止することが可能となる。
また、あるメモリセルを前記第1リペア・リファレンスセルと比較することにより、そのメモリセルが過消去状態にあると判定されると、そのメモリセルに対してデータの書き戻しを行ってから前記第2リペア・リファレンスセルと比較することができるから、多数の過消去セルの発生だけでなく、深いデプレッション・レベルまで過消去されるメモリセルの発生をも防止することができる。
さらに、前記第2リペア・ベリファイ電圧が可変とされているので、前記ブロック中のメモリセルについて得た閾値電圧分布の幅に応じて、前記第2リペア・ベリファイ電圧を最適値に設定できる。
さらに、前記第2リペア・ベリファイ電圧と前記第1リペア・ベリファイ電圧との差が、前記ブロック中の全メモリセルについて得た閾値電圧分布の上限値から前記消去ベリファイ電圧を減算した値に等しく設定されているので、前記第2リペア・ベリファイ電圧の設定が容易である。
(3) 本発明の不揮発性半導体記憶装置の好ましい例では、前記第1リペア・リファレンスセルとの比較によって過消去状態にあると判定された前記メモリセルに対してデータの書き戻しを行った後、前記第2リペア・リファレンスセルとの比較によって当該メモリセルの閾値電圧が前記第2リペア・ベリファイ電圧よりも高くないと判定された場合、当該メモリセルの閾値電圧が前記第2リペア・ベリファイ電圧よりも高いと確認されるまで前記データの書き戻しと前記第2リペア・リファレンスセルとの比較を繰り返して行う。この例では、本発明の効果が顕著に得られるという利点がある。
本発明の不揮発性半導体記憶装置の他の好ましい例では、閾値電圧が前記消去ベリファイ電圧に設定された消去リファレンスセルをさらに備えており、その消去リファレンスセルとの比較により前記メモリセルが所望の消去状態にないと判定された場合は、前記ブロック内の全メモリセルのデータの一括消去を行ってから前記第1リペア・リファレンスセルとの比較及び前記第2リペア・リファレンスセルとの比較を行う。この例では、本発明の効果が顕著に得られるという利点がある。
(4) 本発明の不揮発性半導体記憶装置の制御方法は、
データを電気的に書き換え可能なメモリセル・アレイを有する不揮発性半導体記憶装置の制御方法において、
前記メモリセル・アレイのデータを所定のブロック単位で一括消去し、
データが一括消去された前記ブロック中の各メモリセルについて、その閾値電圧を第1リペア・ベリファイ電圧と比較して、そのメモリセルが過消去状態にあるか否かを判定し、
前記メモリセルが過消去状態にあると判定された場合は、そのメモリセルに対してデータの書き戻しを行ってから、その閾値電圧を前記第1リペア・ベリファイ電圧より高い所定の第2リペア・ベリファイ電圧と比較することにより、そのメモリセルについて過消去状態が解消されたことを確認する
ことを特徴とするものである。
(5) 本発明の不揮発性半導体記憶装置の制御方法では、前記メモリセル・アレイのデータを所定のブロック単位で一括消去した後、データが一括消去された前記ブロック中の各メモリセルについて、その閾値電圧を第1リペア・ベリファイ電圧と比較して、そのメモリセルが過消去状態にあるか否かを判定する(第1リペア・ベリファイ動作)。そして、前記メモリセルが過消去状態にあると判定された場合は、そのメモリセルに対してデータの書き戻しを行ってから、その閾値電圧を前記第1リペア・ベリファイ電圧より高い第2リペア・ベリファイ電圧と比較することにより、そのメモリセルが過消去状態よりも前記第2リペア・ベリファイ電圧と前記第1リペア・ベリファイ電圧の差だけ高い閾値電圧を持つことを確認する(第2リペア・ベリファイ動作)。
このため、後にデータ消去処理を追加して行うと過消去状態となる可能性の高いメモリセル、換言すれば閾値電圧が閾値電圧分布の下限値に近い範囲にあるメモリセル(いわば過消去セル予備軍)を早期に発見することができる。しかも、それら過消去セル予備軍のメモリセルの閾値電圧を、追加のデータ消去処理にかける前に上記電圧差だけ上昇させることができる。その結果、追加のデータ消去処理を行った後に消去不足と判定される可能性はほとんどなくなる。よって、消去時間を大幅に増加させることなくデータの過消去を防止することが可能となる。
また、あるメモリセルの閾値電圧を前記第1リペア・ベリファイ電圧と比較することにより、そのメモリセルが過消去状態にあると判定されると、そのメモリセルに対してデータの書き戻しを行ってから前記第2リペア・ベリファイ電圧と比較することができるから、多数の過消去セルの発生だけでなく、深いデプレッション・レベルまで過消去されるメモリセルの発生をも防止することができる。
(6) 本発明の不揮発性半導体記憶装置の制御方法の好ましい例では、前記第2リペア・ベリファイ電圧が可変とされる。この例では、前記ブロック中のメモリセルについて得た閾値電圧分布の幅に応じて、前記第2リペア・ベリファイ電圧を最適値に設定できるという利点がある。
本発明の不揮発性半導体記憶装置の制御方法の他の好ましい例では、前記第2リペア・ベリファイ電圧と前記第1リペア・ベリファイ電圧との差が、前記ブロック中の全メモリセルについて得た閾値電圧分布の上限値から前記消去ベリファイ電圧を減算した値に等しく設定される。この例では、前記第2リペア・ベリファイ電圧の設定が容易であるという利点がある。
本発明の不揮発性半導体記憶装置の制御方法のさらに他の好ましい例では、前記第1リペア・ベリファイ電圧との比較により過消去状態にあると判定された前記メモリセルに対してデータの書き戻しを行った後、前記第2リペア・ベリファイ電圧との比較によって当該メモリセルの閾値電圧が前記第2リペア・ベリファイ電圧よりも高くないと判定された場合、当該メモリセルの閾値電圧が前記第2リペア・ベリファイ電圧よりも高いと確認されるまで前記データの書き戻しと前記第2リペア・リファレンスセルとの比較が繰り返して行われる。この例では、本発明の効果が顕著に得られるという利点がある。
本発明の不揮発性半導体記憶装置の制御方法のさらに他の好ましい例では、消去ベリファイ電圧との比較により前記メモリセルが所望の消去状態にないと判定された場合、前記ブロック内の全メモリセルのデータの一括消去を行ってから前記第1リペア・ベリファイ電圧との比較及び前記第2リペア・リファレンスセルとの比較が実行される。この例では、本発明の効果が顕著に得られるという利点がある。
(7) なお、図9に示した従来のフラッシュメモリのデータ消去方法では、データ消去動作(ステップS301)を行った後に、第1ベリファイ電圧VEV1を用いて1回目の消去ベリファイ動作(ステップS302、S303)を行って過消去のメモリセルを検出し(ステップS304)、それら過消去のメモリセルについて過消去状態を回復させる(ステップS305)。その後、過消去状態が回復したメモリセルについて、第1消去ベリファイ電圧VEV1より少し高い第2消去ベリファイ電圧VEV0(これは消去ベリファイ電圧に等しい)を用いて2回目の消去ベリファイ動作を行うものである。したがって、図9のデータ消去方法は、ステップS305における過消去回復後の再消去、消去ベリファイといった一連の動作の必要性を回避あるいは低減することを意図している。これに対し、本発明の不揮発性半導体記憶装置及びその制御方法では、第1リペア・ベリファイ電圧より高い第2リペア・ベリファイ電圧を用いることにより、過消去となるメモリセルの数を減少せしめ、またメモリセルが過消去される程度を低減せしめようとするものであるから、両者は明らかに異なっている。
以上詳述したように、本発明の不揮発性半導体記憶装置及びその制御方法によれば、消去時間を大幅に増加させることなくデータの過消去を防止することが可能となる。また、多数の過消去セルの発生だけでなく、深いデプレッション・レベルまで過消去されるメモリセルの発生をも防止することができる。
以下、本発明に係る不揮発性半導体記憶装置の好適な実施の形態について、添付図面を参照して詳細に説明する。
(第1実施形態)
図4は、本発明の第1実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の概略構成を示す機能ブロック図である。
図4において、本発明に係る不揮発性半導体記憶装置(フラッシュメモリ)10は、各メモリセルが図10に示すMOSトランジスタから成るメモリセル・アレイ11を有している。この記憶装置10はさらに、行デコーダ12、列デコーダ13、列セレクタ14、アドレスバッファ15、書込回路16、センスアンプ17、入出力バッファ18、消去回路19、制御回路20を備えている。記憶装置10はこれら以外の構成要素も有しているが、それらは本発明とは関係がないため、省略する。なお、制御回路20は、過消去状態判定手段と制御手段の機能を提供するものである。
行デコーダ12と列デコーダ13は、アドレスバッファ15に入力されるアドレス信号に対応して、メモリセル・アレイ11の行と列をそれぞれ選択的に指定する。列セレクタ14は、列デコーダ13により指定されるメモリセル・アレイ11の列を選択する。
書込回路16は、入出力バッファ18を介して入力されるデータを、メモリセル・アレイ11中の所望のメモリセルに書き込むために使用される。
センスアンプ17は、メモリセル・アレイ11中の所望のメモリセルから読み出されたデータを増幅して出力信号(読み出し信号)として出力する。その出力信号は、入出力バッファ18を介して当該記憶装置10の外部に向けて出力される。
消去回路19は、メモリセル・アレイ11中の各メモリセルに書き込まれ(記憶された)データを消去するために使用される。この消去動作により、メモリセル・アレイ11中のメモリセル中のデータは所定のブロック単位で電気的に一括して消去される。
制御回路20は、記憶装置(フラッシュメモリ)10の全体動作を制御する。
第1実施形態の記憶装置10では、図5に示すように、メモリセル・アレイ11中に、データ記憶用の多数のメモリセルMCと、データ読み出し用のリファレンスセル(図示省略)とに加えて、リペア・ベリファイ用の第1リペア・リファレンスセルRC1と第2リペア・リファレンスセルRC2とを備えている。両リファレンスセルも、図10に示すMOSトランジスタから構成されている。第1リペア・リファレンスセルRC1の閾値電圧Vthは、第1リペア・ベリファイ電圧RV0に設定されている(すなわちVth=RV0)。第2リペア・リファレンスセルRC2の閾値電圧Vthは、第1リペア・ベリファイ電圧RV0より高い第2リペア・ベリファイ電圧RV1に設定されている(すなわちVth=RV1>RV0)。第1リペア・リファレンスセルRC1と第2リペア・リファレンスセルRC2との切替は、センスアンプ17中に設けられたリファレンスセル・セレクタ171によりなされる。リファレンスセル・セレクタ171の動作制御は、制御回路20より送られる切替信号によりなされる。
また、センスアンプ17は、図5に示すように、第1リペア・リファレンスセルRC1と第2リペア・リファレンスセルRC2を選択的に使用可能にするリファレンスセル・セレクタ171に加えて、コンパレータ回路172を備えている。このコンパレータ回路172は、メモリセルMCに流れる電流Imcと、第1リペア・リファレンスセルRC1または第2リペア・リファレンスセルRC2に流れる電流Iref1またはIref2の差電流に応じた出力信号を生成する。コンパレータ回路172の出力信号は、制御回路20に送られ、後述するリペア・ベリファイ動作の判定に使用される。
なお、図5では、簡単化のために、メモリセル・アレイ11とセンスアンプ17の間にある列セレクタ14を省略している。
次に、以上の構成を持つ第1実施形態に係る不揮発性半導体記憶装置10の制御方法について、図1を参照しながら説明する。図1はその制御シーケンスを示すフローチャートである。
第1実施形態に係る制御方法では、まず最初に、ステップS1で、当該半導体記憶装置(フラッシュメモリ)10のメモリセル・アレイ11について、所定のブロック単位で一括して「消去前書き込み」を行う。すなわち、当該メモリブロックの各メモリセルMCには、データ「1」または「0」が記憶されているため、消去前書き込みによって各メモリセルMCにデータ「0」を記憶させる。換言すれば、当該ブロック中の電子が注入されていないメモリセルMC(閾値電圧Vthが低い消去状態にあるメモリセル)の浮遊ゲート4に対して、公知の方法で電子を注入し、それらメモリセルMCを構成するトランジスタの閾値電圧Vthを上げて書込状態にする。
この電子注入は、例えば、ソース電圧Vsを接地電位(Vs=Vsub=GND)に設定しながら、制御ゲート電圧Vcgとして正の書込電圧パルスを印加し、さらにドレイン電圧Vdとして正の書込電圧パルスを印加することにより実行できる。これにより、全メモリセルMCの閾値電圧Vthがエンハンス状態(Vth>0)になる。
次に、ステップS2において、公知方法で、当該ブロック中の全メモリセルMCの浮遊ゲート4から電子を引き抜き、一括してデータ消去を行う。これにより、当該ブロック中の全メモリセルMCの閾値電圧Vthが低下せしめられる。この電子引き抜きは、例えば、ソース領域2aaおよびドレイン領域2bbをそれぞれ開放状態としておき、制御ゲート電圧Vcgとして負の消去電圧パルスを印加し、ウェル電圧Vwとして正の消去電圧パルスを印加することにより実行できる。
ステップS2のデータ消去動作は、一定時間、消去パルスを印加することによって実施され、それによって当該ブロック内の各メモリセルMCの閾値はその特性に応じた値になる。このため、この消去動作終了時の各メモリセルMCの閾値電圧は、すべて上限値Vth_max(図2を参照)以下であるが、第1リペア・ベリファイ電圧RV0より高いものも低いものもある。
次のステップS3では1回目の「リペア・ベリファイ」を行う。すなわち、当該ブロック中の全メモリセルMCについてその閾値電圧Vthが所定の第1リペア・ベリファイ電圧RV0より高くなっている(Vth>RV0)か否かを順に判定していく。これは、当該ブロック中に「過消去セル」が含まれているか否かを調べるためである。つまり、ステップS3は、ステップS2で閾値が下げられた各メモリセルMCについて、それらの閾値電圧分布の下限レベルをチェックするステップである。
後述するところから明らかなように、本発明の特徴は、互いに異なる二つのレベル(第1リペア・ベリファイ電圧RV0と第2リペア・ベリファイ電圧RV1)を用いて、ブロック内のメモリセルMCの閾値電圧のチェックを行う点にあるが、ステップS3ではそれら二つのレベルのうちの一方(第1リペア・ベリファイ電圧RV0)を用いて閾値電圧のチェック(ベリファイ)を行って過消去のメモリセルMCを発見しているのである。そして、ステップS3で過消去と判定されたメモリセルMCについては、後述するステップS4で書き戻しを行って過消去状態を解消し、さらに、ステップS5で他方のレベル(第2リペア・ベリファイ電圧RV1、ただしRV1>RV0)を用いて2回目の閾値電圧チェック(ベリファイ)を行うことにより、これらメモリセルMCに対して再度、一括消去処理(ステップS2)を行った際に再び過消去状態になる可能性をほとんどなくしている。
ステップS3は、具体的には次のようにして実施される。すなわち、図5に示すように、制御回路20によりセンスアンプ17内のリファレンスセル・セレクタ171を制御して、閾値VthがRV0に等しい(Vth=RV0)第1リファレンスセルRC1を選択する。そして、当該第1リファレンスセルRC1に流れる電流Iref1(例えば30μA)と、所望アドレスのメモリセルMCに流れる電流Imcとをコンパレータ回路172によって比較する。Imc<Iref1であれば、そのメモリセルMCは過消去状態ではないと判定し、Imc≧Iref1であれば、過消去状態と判定する。この判定は制御回路20で行う。以後、同様の動作を当該ブロック中の全メモリセルMCについて行い、それらメモリセルMC中に過消去状態のものが含まれているか否かを判定する。
ステップS3での判定結果がYES(Pass)である場合、当該ブロック中には過消去セルが含まれていないことを意味するので、ステップS6に飛び、「消去ベリファイ」を行う。
ステップS6の「消去ベリファイ」は、当該ブロック中の全メモリセルMCについてその閾値電圧Vthが所定の消去ベリファイ電圧EVより低くなっている(Vth<EV)か否かを判定する。これは、「リペア・ベリファイ」が終了した時点で当該ブロック中に消去不足セルが存在するか否かを調べるためである。換言すれば、「リペア・ベリファイ」前から存在する消去不足セルが残存しているか否か、そして「リペア・ベリファイ」によって生じた消去不足セルが存在しているか否かを調べるためである。
ステップS6の判定結果がYES(Pass)ならば、当該ブロック中の全メモリセルMCについてVth<EVが成り立つから、データ消去シーケンスを終了する。その結果、当該ブロック中の全メモリセルMCに論理「1」が設定されたことになる。他方、ステップS6の判定結果が(Fail)ならば、当該ブロック中の全メモリセルについてはVth<EVが成り立たないから、ステップS2に戻り、ステップS2〜S5を繰り返す。こうすることにより、当該ブロック中の全メモリセルMCについて、閾値電圧Vthが徐々に低下せしめられる。ステップS2〜S5の繰り返しは、全メモリセルMCについてVth<EVが成り立つようになるまで行われる。
他方、ステップS3での判定結果がNO(Fail)である場合、これは当該ブロック中に過消去のメモリセルMCが含まれていることを意味するので、ステップS4に進み、当該ブロック中の過消去状態と判定されたメモリセルMCに対して選択的にデータの書き戻しを行う。この書き込みは、ステップS1における「書き込み」とは異なり、微調整のための「弱書き込み」であって、例えば、ソース電圧Vsを接地電位(Vs=Vsub=GND)に設定しながら、制御ゲート電圧Vcgとして正の書込電圧パルス(この電圧はステップS1で印加された電圧よりずっと低い)を印加し、ドレイン電圧Vdとして正の書込電圧パルスを印加することにより実行できる。
その後、ステップS5において、2回目の「リペア・ベリファイ」を行う。すなわち、当該ブロック中の全メモリセルMCについてその閾値電圧Vthが所定の第2リペア・ベリファイ電圧RV1より高くなっている(Vth>RV1)か否かを順に判定していく。これは、当該ブロック中に閾値電圧Vthが閾値電圧分布の下限値Vth_minに近い範囲にあるメモリセル(いわば過消去セル予備軍)が含まれているか否かを調べるためである。
具体的には、図5に示すように、センスアンプ17内のリファレンスセル・セレクタ171により、閾値VthがRV1に等しい(Vth=RV1)第2リファレンスセルRC2を選択する。そして、当該第2リファレンスセルRC2に流れる電流Iref2(Iref1>Iref2)(例えば20μA)と、所望のメモリセルMCに流れる電流Imcとをコンパレータ172によって比較する。Imc<Iref2であれば、そのメモリセルMCは過消去セル予備軍ではないと判定し、Imc≧Iref2であれば、過消去セル予備軍と判定する。以後、同様の動作を当該ブロック中の全メモリセルMCについて順に行い、それらメモリセルMC中に過消去セル予備軍と言えるものが含まれているか否かを判定する。
そして、ステップS5での判定結果がNO(Fail)である場合、これは当該ブロック中のメモリセルMCに過消去書き戻しが未だ十分でないものが含まれていることを意味するので、ステップS4に戻り、当該ブロック中の過消去書き戻しが不十分と判定されたメモリセルMCに対して再度、選択的に過消去書き戻しを行う。その後、ステップS5で2回目の「リペア・ベリファイ」を再度行う。以後、ステップS5での判定結果がYES(Pass)となるまで、これを繰り返す。
他方、ステップS5での判定結果がYES(Pass)である場合は、ステップS6に進んで上述した消去ベリファイを行う。ステップS6での判定結果がYES(Pass)ならば、当該ブロック中の全メモリセルMCについてVth<EVが成り立つから、データ消去シーケンスを終了する。ステップS6の判定結果が(Fail)ならば、当該ブロック中の全メモリセルMCについてはVth<EVが成り立たないから、ステップS2に戻り、ステップS2〜S5を繰り返す。
なお、ステップS6での判定結果がYES(Pass)となって図1のデータ消去シーケンスを終了した場合、メモリセル・アレイ11中の次のブロックについて同様の動作を繰り返す。この一連の動作は、メモリセル・アレイ11中の全ブロックについてデータ消去が終了するまで実行される。
ステップS5において、第1リペア・ベリファイ電圧RV0に代えてそれより高い第2リペア・ベリファイ電圧RV1を使用しているのは、ステップS6の後に一括消去動作(ステップS2)を追加して行うと過消去セルとなる可能性の高いメモリセルMC、換言すれば閾値電圧Vthが閾値電圧分布の下限値に近い範囲にあるメモリセルMC(いわば過消去セル予備軍)が、再び過消去セルとなる可能性を小さくするためである。そのために、本実施形態では、第2リペア・ベリファイ電圧RV1を第1リペア・ベリファイ電圧RV0よりも所定値ΔRVだけ高く設定している、すなわちRV1=RV0+ΔRVである。
ここで、ΔRVの値は、与えられた消去ベリファイ電圧EV及び第1リペア・ベリファイ電圧RV0と、過消去セルが存在すると判定された場合の閾値電圧Vthの分布の最大値Vth_maxとの関係に基づいて、以下のようにして決定する。
図2は、ステップS3での判定結果がNO(Fail)である場合(過消去セルが含まれている場合)の当該ブロック中の全メモリセルMCの閾値電圧Vthの分布を示す概念図である。図2において、この状態における閾値電圧Vthの分布の上限値(最大値)はVth_maxであり、下限値(最小値)はVth_minである。上限値Vth_maxは、消去ベリファイ電圧EVより少し高い値を持っているが、これはステップS3の終了後において消去不十分のセルが存在することを意味する。また、下限値Vth_minは、第1リペア・ベリファイ電圧RV0より少し低い値を持っているが、これはステップS2におけるデータ消去により過消去セルが生じていることを意味する。
上述したように、第2リペア・ベリファイ電圧RV1は、第1リペア・ベリファイ電圧RV0よりもΔRVだけ高く設定されている(RV1=RV0+ΔRV)が、このΔRVは上限値Vth_maxと消去ベリファイ電圧EVとの差に等しい。すなわち、ΔRV=Vth_max − EVである。
実際には、製造バラツキにより閾値電圧Vthの分布の最大値Vth_maxは変動するので、第2リペア・ベリファイ電圧RV1の設定に使用するVth_maxの値は、多数の同一構造のフラッシュメモリについてサンプリングを行い、得られた結果に基づいて決定することになる。例えば、サンプリング結果中の最頻値に設定すればよい。
第2リペア・ベリファイ電圧RV1と第1リペア・ベリファイ電圧RV0との差ΔRVは、大きければ大きいほど、過消去と判定されないためのマージンが増えるので、好ましい。しかし、反面、ステップS4〜S5における過消去書き戻し動作に要する時間が大幅に増加する。よって、過消去に対するマージンと書き戻し時間の均衡する最適解が存在すると考えられるから、その最適解に相当する値をΔRVとして使用すればよい。
当該ブロック中の消去不足と判断されたメモリセルMCについて、一括追加消去(ステップS2)により閾値電圧分布の上限値Vth_maxが低下する速度と、同じ一括追加消去により閾値電圧分布の下限値Vth_minが低下する速度とが等しいと仮定すると、ΔRV=Vth_max − EVが最適解となると考えられる。
以上述べたように、本発明の第1実施形態の不揮発性半導体記憶装置では、所定のブロック毎に、消去前書き込み(ステップS1)に引き続いて当該ブロック中の全メモリセルMCのデータの一括消去(ステップS2)を行った後、第1リペア・ベリファイ電圧RV0を用いて1回目の「リペア・ベリファイ」(ステップS3)を行い、過消去セルが含まれているか否かを調査している。そして、当該ブロック中に過消去のメモリセルMCが含まれていない場合には直ちに「消去ベリファイ」(ステップS6)を行い、消去不足のメモリセルMCが存在するか否か、つまり所望の消去状態にないメモリセルMCが存在するか否かを確認している。消去不足セルが存在しない場合には、当該シーケンスを終了し、消去不足セルが存在する場合には、当該シーケンスを再度、実行するようにしている。
他方、第1リペア・ベリファイ電圧RV0を用いた1回目の「リペア・ベリファイ」(ステップS3)で、当該ブロック中に過消去のメモリセルMCが含まれていると判定された場合には、「消去ベリファイ」(ステップS6)を行う前に、第1リペア・ベリファイ電圧RV0より少し高く設定された第2リペア・ベリファイ電圧RV1(RV1=RV0+ΔRV)を用いた2回目の「リペア・ベリファイ」(ステップS5)を行っている。2回目の「リペア・ベリファイ」では、後に一括消去処理(ステップS2)を追加して行うと過消去となる可能性の高いメモリセルMC、換言すれば閾値電圧Vthが閾値電圧分布の下限値Vth_minに近い範囲にあるメモリセルMC(いわば過消去セル予備軍)を早めに発見することができ、しかも、それら過消去セル予備軍のメモリセルMCが追加の一括消去処理(ステップS2)にかけられる前に、それらメモリセルMCの閾値電圧Vthを選択的に上昇させることができる。
その結果、過消去セル予備軍のメモリセルMCがステップS6の「消去ベリファイ」でNO(Fail)(すなわち消去不足)と判定され、ステップS2に戻って同じ処理(ステップS2〜S5)を繰り返すことになっても、追加の一括消去処理(ステップS2)をした後の1回目の「リペア・ベリファイ」(ステップS3)においてNO(Fail)(すなわち消去不足)と判定される可能性がほとんどなくなる。よって、消去時間を大幅に増加させることなくデータの過消去を防止することが可能となる。
また、本発明の第1実施形態の不揮発性半導体記憶装置では、消去ベリファイ(ステップS6)の前に1回目の「リペア・ベリファイ」(ステップS3)を行い、さらに必要に応じて「過消去書き戻し」(ステップS4)と2回目の「リペア・ベリファイ」(ステップS5)を行っている。このため、多数の過消去セルの発生だけでなく、深いデプレッション・レベルまで過消去されるメモリセルの発生をも防止することができる。
上記説明から明らかなように、本発明の第1実施形態の不揮発性半導体記憶装置では、通常は、図1のステップS1、S2、S6を数回繰り返すことにより、各ブロック中の全メモリセルMCのデータ消去を行うことができる。しかし、ステップS2の一括消去動作を実施した後にステップS3で「過消去状態」と判定された当該ブロック内のメモリセルMCについては、ステップS4とS5で第2リペア・ベリファイ電圧RV1(RV1>RV0)のレベルにまで書き戻しを行ってから、ステップS6で消去ベリファイ動作を実施するようにしている。これは、後に再度実施されるであろうブロック全体のメモリセルMCに対する一括消去動作(ステップS2)において、これらメモリセルMCの閾値電圧が低下せしめられて再び過消去状態となり得ることを見越して行うものである。換言すれば、ステップS4とS5を介在することにより、一括消去動作(ステップS2)で再び過消去状態となる可能性の高いメモリセルMC(過消去セル予備軍)を「救済」していることになる。
(第2実施形態)
図3は、本発明の第2実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の動作(制御方法)を示すフローチャートである。この装置は、以下に述べる動作の相違に関係する部分を除いて、上述した第1実施形態の不揮発性半導体記憶装置(フラッシュメモリ)10とほぼ同じ構成を持つ。
上述した第1実施形態では、第2リペア・ベリファイ電圧RV1の設定に使用する閾値電圧の上限値Vth_maxの値は、多数の同一構造のフラッシュメモリについてサンプリングを行った結果に基づいて決定されている。また、そうして決定されたVth_maxの値(すなわち第2リペア・ベリファイ電圧RV1)は固定されており、製造バラツキやデータ書込と消去の繰り返しによって閾値電圧分布の幅が変化してもVth_maxの値が変わることはない。しかし、何らかの原因で閾値電圧分布の幅が大きく変化してしまうような場合は、その変化に応じて閾値電圧の上限値Vth_max(ひいては第2リペア・ベリファイ電圧RV1)の値を変更できるのが好ましい。第2実施形態は、そのような場合に対処できるようにVth_maxとRV1の値を変更可能とした例である。
第2実施形態の制御方法では、まず最初に、所定のブロック単位でステップS11で消去前書き込みを行い、当該ブロック中の全メモリセルMCについて閾値電圧Vthを上げて書込状態にする。次に、ステップS12でデータの一括消去を行う。これにより、当該ブロック中の全メモリセルMCの閾値電圧Vthが低下せしめられて消去状態となる。次のステップS13では、第1リペア・ベリファイ電圧RV0を用いて1回目の「リペア・ベリファイ」を行い、当該ブロック中に過消去のメモリセルMCが含まれているか否かを判定する。ステップS11〜S13はそれぞれ、上述した第1実施形態のステップS1〜S3とそれぞれ同一である。
そして、ステップS13での判定結果がYES(Pass)である場合、これは当該ブロック中に過消去のメモリセルMCが含まれていないことを意味するので、ステップS18に飛んで直ちに「消去ベリファイ」を行う。この「消去ベリファイ」は、消去不足のメモリセルMCが当該ブロック中に存在するか否かを調べるためであり、第1実施形態と同様にして行う。ステップS18の判定結果がYES(Pass)ならば、当該ブロック中の全メモリセルMCについてVth<EVが成り立つから、データ消去シーケンスを終了する。ステップS18の判定結果が(Fail)ならば、当該ブロック中に全メモリセルについてはVth<EVが成り立たないから、ステップS12に戻り、ステップS12〜S18を繰り返すことになる。この点も第1実施形態と同様である。
第1実施形態と異なるのは、ステップS13での判定結果がNO(Fail)である場合(過消去のメモリセルMCが含まれていると判定された場合)の処理である。すなわち、「過消去書き戻し」(ステップS16)と2回目の「リペア・ベリファイ」(ステップS17)の前に、閾値電圧の上限値Vth_maxの値を設定するステップS14と、設定したVth_maxの値に基づいて第2リペア・ベリファイ電圧RV1を設定するステップS15が追加されている点が、第1実施形態とは異なっている。ステップS14〜S15は、制御回路20によって実現される。
ステップS14では、当該ブロック中のメモリセルMCについて得た閾値電圧分布の幅に応じて、閾値電圧の上限値Vth_maxの値を設定する。この場合、得られた閾値電圧分布の幅に応じて任意の値を採ることができるようにすることも可能であるが、そうすると連続的に上限値Vth_maxの値を設定できるようにする必要があるため、それを実現する回路構成が非常に複雑になり、製造コスト面で問題が生じる。また、そのようにする必要性はあまり高くないと考えられる。よって、採りうる上限値Vth_maxの値として複数の異なる値(とびとびの値)を予め設定しておき、実際に得られた閾値電圧分布の幅に応じて最適値に最も近い値を選択できるようにするのが好ましい。
ステップS15では、設定(選択)したVth_maxの値に応じて第2リペア・ベリファイ電圧RV1を設定する。すなわち、第2リペア・ベリファイ電圧RV1と第1リペア・ベリファイ電圧RV0の差ΔRVは、ΔRV=Vth_max−EVと表せるから、消去ベリファイ電圧EVが与えられると直ちに求められる。すると、RV1=RV0+ΔRVの関係式を用いて、第2リペア・ベリファイ電圧RV1は簡単に設定できる。これにより、第2リペア・ベリファイ電圧RV1も可変となる。
なお、ステップS14〜S15のように、閾値電圧上限値Vth_maxの設定をしてからそれを用いて第2リペア・ベリファイ電圧RV1の設定を行ってもよいが、予め異なる値の第2リペア・ベリファイ電圧RV1を設定しておき、それらの値の中から選択することにより、ステップS13の後に直ちに第2リペア・ベリファイ電圧RV1を設定するようにしてもよい。この場合、ステップS14は省略される。
こうして第2リペア・ベリファイ電圧RV1が設定されると、次のステップS16において、当該ブロック中の過消去状態にあるメモリセルに対して順にデータの書き戻しを行って過消去状態を解消し、次のステップS17において第2リペア・ベリファイ電圧RV1を用いて2回目の「リペア・ベリファイ」を行う。そして、ステップS17での判定結果がNO(Fail)である場合、これは過消去書き戻しが未だ十分でないメモリセルMCが含まれていることを意味するので、ステップS16に戻り、再度、過消去書き戻しが不十分のメモリセルMCに対して選択的に過消去書き戻しを行う。
他方、ステップS17での判定結果がYES(Pass)である場合は、ステップS18に進んで上述した消去ベリファイを行う。ステップS16〜S18は第1実施形態と同じである。
ステップS18での判定結果がYES(Pass)ならば、当該ブロック中の全メモリセルについてVth<EVが成り立つから、データ消去シーケンスを終了する。ステップS18の判定結果が(Fail)ならば、当該ブロック中の全メモリセルについてはVth<EVが成り立たないから、ステップS12に戻り、ステップS12〜S18を繰り返すことになる。この点も第1実施形態と同じである。
以上述べたように、本発明の第2実施形態の不揮発性半導体記憶装置では、「過消去書き戻し」(ステップS16)と2回目の「リペア・ベリファイ」(ステップS17)の前に、閾値電圧の上限値Vth_maxの値を設定するステップS14と、設定したVth_maxの値に基づいて第2リペア・ベリファイ電圧RV1を設定するステップS15が追加され、それによって第2リペア・ベリファイ電圧RV1の値が可変とされている点を除いて、第1実施形態と同じ処理を行っている。よって、第1実施形態と同様に、消去時間を大幅に増加させることなくデータの過消去を防止することが可能となる。また、多数の過消去セルの発生だけでなく、深いデプレッション・レベルまで過消去されるメモリセルの発生をも防止することができる。
なお、上述した第2実施形態の不揮発性半導体記憶装置では、書き戻しを行う際に閾値電圧分布の上限値Vth_maxが消去ベリファイ電圧EV以下になっている(Vth_max≦EV)場合には、ΔRV=Vth_max − EVがゼロまたは負の値になる。この場合は追加の一括消去が不要であるから、ΔRV=0とし、第2リペア・ベリファイ電圧RV1を第1リペア・ベリファイ電圧RV0に等しく設定する(RV1=RV0)のが好ましい。
さらに、例えば閾値電圧分布の幅が非常に広い場合には、RV1=RV0+ΔRV=RV0+(Vth_max−EV)で得たRV1の値が、消去ベリファイ電圧EVの値よりも大きくなる(RV1>EV)ことがある。これは、閾値電圧分布の上限値Vth_maxが消去ベリファイ電圧EVに比べてずっと高くなり、ΔRVの値が過大になるからである。そこで、このような場合には、第2リペア・ベリファイ電圧RV1を消去ベリファイ電圧EVと等しくする、すなわちRV1=EVと設定してもよい。
(変形例)
上述した第1〜第2の実施形態は本発明を具体化した例を示すものである。したがって、本発明はこれらの実施形態に限定されるものではなく、本発明の趣旨を外れることなく種々の変形が可能であることは言うまでもない。例えば、上記実施形態では、本発明をフラッシュメモリに適用したが、メモリセル・アレイのデータを所定のブロック単位で電気的に一括して消去することができると共に、消去の際にメモリセルの過消去が問題になる不揮発性半導体記憶装置であれば、その他の任意の不揮発性半導体記憶装置にも適用可能である。