JP3796851B2 - 不揮発性半導体記憶装置 - Google Patents

不揮発性半導体記憶装置 Download PDF

Info

Publication number
JP3796851B2
JP3796851B2 JP27839596A JP27839596A JP3796851B2 JP 3796851 B2 JP3796851 B2 JP 3796851B2 JP 27839596 A JP27839596 A JP 27839596A JP 27839596 A JP27839596 A JP 27839596A JP 3796851 B2 JP3796851 B2 JP 3796851B2
Authority
JP
Japan
Prior art keywords
write
data
memory cell
program
threshold voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP27839596A
Other languages
English (en)
Other versions
JPH10125082A (ja
Inventor
孝之 江守
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP27839596A priority Critical patent/JP3796851B2/ja
Publication of JPH10125082A publication Critical patent/JPH10125082A/ja
Application granted granted Critical
Publication of JP3796851B2 publication Critical patent/JP3796851B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、不揮発性半導体記憶装置、例えば、フラッシュEEPROMに関するものである。
【0002】
【従来の技術】
FN(Fowler-Nordheim) トンネル注入により書き込みを行うフラッシュEEPROMにおいては、書き込みの速度が遅いため、一般的に、同時に多数のメモリセルに対してプログラムを行う。具体的に、一つのワード線に接続されている一ページ分のメモリセル全てに対して同時にプログラムを行う。
【0003】
書き込み後のメモリセルのしきい値電圧分布のバラツキを抑えたいページプログラム動作においては、細かいプログラムパルスを何回も与えて、かつメモリセル毎に書き込み後のしきい値電圧Vthを検証(ベリファイ)し、書き込みペリファイしきい値電圧VTHに到達次第プログラムパルスの印加を停止するように制御を行う。
【0004】
図6は従来のメモリセル毎プログラムを行うページプログラムの一例を示すフローチャートである。
図6に示すように、ページプログラム動作は、データロード、プログラム、ベリファイ読み出し、判定結果に応じて再プログラムなどの動作により構成されている。
以下、図6を参照しつつ、ページプログラム動作について説明する。
【0005】
まず、ステップSS1に示すように、プログラムの対象メモリセルに書き込む1ページ分のデータをプログラム制御装置、例えば、CPUからフラッシュEEPROMにロード(読み込み)し、各ビット線に設けられたラッチ回路によりラッチする。データロード後、次のステップSS2に進む。
【0006】
ステップSS2において、ロードしたデータに応じて書き込み動作を行う。即ち、最初のプログラムパルスをロードしたデータに応じて、各メモリセルに印加する。
【0007】
書き込みステップSS2の後、ステップSS3に示すベリファイ動作を行う。このステップにおいて、メモリセル毎に書き込みベリファイしきい値電圧VTHに達したか否かについて検証するため、ベリファイ読み出しを行う。書き込みベリファイしきい値電圧VTHに達すれば、ラッチ回路のデータは自動的に“1”に設定され、その後のプログラムパルスの印加を止める。一方、消去メモリセルにおいて、ラッチ回路のデータが最初から“1”に設定されている。
【0008】
そして、ステップSS4において、ラッチ回路のデータが全て“1”になっているか否かについて調べる。そうである場合にページプログラムは終了となる。そうでない場合は、ステップSS5の動作に進み、再びプログラムパルスを印加する。なお、この再プログラム動作において、書き込み不足のメモリセルに対してのみプログラムパルスを印加する。
【0009】
そして、ステップSS5の再プログラム動作の後、ステップSS3の動作に戻り、ラッチ回路のデータが全て“1”になるまでベリファイ読み出しとプログラムパルスを印加する再プログラム動作を繰り返して行う。
【0010】
このようなページプログラム動作により、書き込み対象となる一ページのメモリセルが、消去メモリセルを除き、全て書き込みベリファイしきい値電圧VTHに設定される。
【0011】
【発明が解決しようとする課題】
ところで、上述した従来のページプログラムにおいては、ソース線寄生抵抗の影響により、書き込み後メモリセルのしきい値電圧Vthが書き込みベリファイしきい値電圧VTHに達しないことがあり、書き込み後メモリセルのしきい値電圧にバラツキが生じるという問題がある。
【0012】
図7は書き込み後のベリファイ読み出し時の状態を示す回路図である。
図7において、Vr は読み出し電圧、LAT1 ,LAT2 ,LAT3 ,…,LATn はラッチ回路、YC1 ,YC2 ,YC3 ,…,YCn はカラム選択信号線、NC1 ,NC2 ,NC3 ,…,NCn はカラム選択トランジスタ、BL1 ,BL2 ,BL3 ,…,BLn はビット線、M1 ,M2 ,M3 ,…,Mn は書き込み対象となる一ページ分のメモリセル、WL1 はワード線、R1 ,R2 ,R3 ,…,Rn はソース線寄生抵抗をそれぞれ示している。
【0013】
カラム選択信号線YC1 ,YC2 ,YC3 ,…,YCn は図示しないカラムデータに接続され、ページ読み出し時に、選択されたページのカラム選択信号線が全てハイレベル、例えば、電源電圧VCCレベルに保持される。
選択されたページにある全てのメモリセルM1 ,M2 ,M3 ,…,Mn の制御ゲートがワード線WL1 に接続され、各メモリセルの一方の拡散層はそれぞれビット線BL1 ,BL2 ,BL3 ,…,BLn に接続され、他方の拡散層はソース線SLに接続されている。
【0014】
なお、ビット線BL1 ,BL2 ,BL3 ,…,BLn はそれぞれカラム選択トランジスタNC1 ,NC2 ,NC3 ,…,NCn を介して、ラッチ回路LAT1 ,LAT2 ,LAT3 ,…,LATn に接続され、これらのラッチ回路は、読み出し電圧Vr の供給端子Tr に接続されている。
ソース線SLは、例えば、接地されている。
【0015】
図7に示すように、メモリセルの拡散層と接地電位間にソース線の寄生抵抗が存在する。このため、ベリファイ読み出し時に、ワード線WL1 に接続された一ページ分のメモリセルM1 ,M2 ,M3 ,…,Mn に対して、同時に読み出しを行い、消去メモリセルと書き込み不足のメモリセルに読み出し電流が流れる。なおここで、消去メモリセルのしきい値電圧が低い値に設定され、書き込みメモリセルのしきい値電圧が高い値に設定されると仮定する。
【0016】
ベリファイ読み出し時に、ワード線WL1 に読み出し電圧が印加され、ワード線WL1 に接続された一ページ分のメモリセルM1 ,M2 ,M3 ,…,Mn の内、消去メモリセルと書き込み不足のメモリセルが導通状態となり、それに読み出し電流が流れる。
通常、一ページのメモリセルの数は、64〜256に設定されているので、これらのメモリセルに生じた読み出し電流がまとめて接続された同一のソース線SLを介して、接地点に流れ込む。
【0017】
このため、書き込み不足のメモリセルが存在する一回目のベリファイ読み出し時と書き込み不足メモリセルが存在しない最終回のベリファイ読み出し時にソース線SLに流れる電流の合計値が異なる。ソース線SLの寄生抵抗により、ソース線電位が浮き上がり、即ち、ソース線電位が接地電位より高くなる。ソース線電位の上昇分は寄生抵抗とソース線に流れる電流値との積で決まるので、一回目のベリファイ読み出しと最終回のベリファイ読み出し時のソース線電位の上昇が異なる。
【0018】
最終のベリファイ読み出し時にソース線に流れる電流の合計値が減少し、それに従ってソース線の電位上昇分も低下する。
このため、一回目のベリファイ読み出し時に書き込みベリファイしきい値電圧VTHに達したが、その後のプログラムパルス印加を止めたメモリセルのソース電位は最終回のベリファイ読み出し時に低下しがちである。
【0019】
この場合、一回目のベリファイ読み出し時のメモリセルのしきい値電圧Vthには基板バイアス効果の大きいしきい値であり、最終回のベリファイ読み出し時のメモリセルのしきい値電圧Vthには、基板バイアス効果の小さいしきい値である。
【0020】
即ち、図8に示すように、一回目のベリファイ読み出し時にメモリセルのしきい値電圧VTH1 が書き込みベリファイしきい値電圧VTHに達したと判定されても、最終回のベリファイ読み出し時に基板バイアス効果が小さくなることにより、メモリセルのしきい値電圧VTHN がベリファイしきい値電圧VTHを下回ることが起きる。
このため、従来のページプログラムでは、ソース線の寄生抵抗の影響により、メモリセルのしきい値電圧Vthが書き込みベリファイしきい値電圧VTHに達しないことがあり、書き込み後のメモリセルのしきい値電圧分布にはバラツキが避けられない。
【0021】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、ベリファイ読み出し時にソース線の寄生抵抗によるソース線電位上昇の影響を回避でき、プログラム後メモリセルのしきい値分布のバラツキを抑制できる不揮発性半導体記憶装置を提供することにある。
【0022】
【課題を解決するための手段】
上記目的を達成するため、本発明は、複数のメモリセルが行列状に配置され、プログラム動作は同一のワード線に接続された一ページ分のメモリセルに対して行い、書き込みデータに応じた書き込み動作の後、読み出しにより各メモリセルのしきい値電圧が所定の基準しきい値に達したか否かを判定し、全ての書き込みメモリセルのしきい値電圧が上記基準しきい値に達するまで、書き込み動作を繰り返して行う不揮発性半導体記憶装置であって、上記書き込みデータに応じた書き込み動作を終えた一ページ分のメモリセルに対して、各書き込みメモリセルのしきい値電圧が上記基準しきい値に達したか否かについて、読み出しにより再度検証を行い、全ての書き込みメモリセルのしきい値電圧が上記基準しきい値に達するまで、上記書き込みおよび読み出しによる検証を繰り返して行う制御手段を有する。
【0023】
また、本発明では、上記書き込みデータを保持するデータ保持手段を有し、上記書き込みおよび上記検証開始時に、上記書き込みデータを上記データ保持手段に格納させるデータ格納手段を有する。
【0024】
さらに、本発明では、上記制御手段は、上記書き込み動作時に、上記データ保持手段に格納されたデータに応じて、各メモリセルに書き込みパルスを印加するか否かを決定し、上記読み出し結果に応じて、しきい値電圧が上記基準しきい値に達した書き込みメモリセルに対応する書き込みデータを改めて設定する。
【0025】
本発明によれば、プログラム対象となる一ページ分のメモリセルに対して、書き込みデータに応じて書き込みが行われ、制御手段により書き込み結果が検証され、書き込みメモリセルのしきい値電圧が所定の基準しきい値に達するまで、書き込みおよび検証動作が繰り返して行われる。
【0026】
そして、全ての書き込みメモリセルのしきい値電圧が所定のしきい値に達したあと、読み出しによる検証動作が再度行われ、全ての書き込みメモリセルのしきい値電圧が所定のしきい値に達するまで、再度書き込みと検証動作が繰り返して行われる。
これにより、ソース線の寄生抵抗によるメモリセルしきい値電圧の誤判断を回避でき、書き込みメモリセルのしきい値電圧分布のバラツキを抑制できる。
【0027】
【発明の実施の形態】
図1は本発明に係る不揮発性半導体記憶装置の一実施形態を示すブロック図である。
図1において、10はアドレスバッファ、20はロウデコーダ、30はカラムデコーダ、40はメモリセルアレイ、50は周辺回路、60はプログラムステートマシン、100は入出力バッファをそれぞれ示している。
【0028】
アドレスバッファ10は入力アドレスADRを保持し、保持したアドレスADRをロウデコーダ20およびカラムデコーダ30に出力する。
ロウデコーダ20は、アドレスバッファ10からのアドレスADRR に応じて、ワード線WLの中から、ページプログラム対象となる一ページ分に対応するワード線を選択する。
カラムデコーダ30は、アドレスバッファ10からのアドレスADRC に応じて、カラム選択信号線YCの中から、ページプログラム対象となる一ページ分に対応するカラム選択信号線を選択する。
【0029】
メモリセルアレイ40は行列状に配置されたメモリセルにより構成され、各行のメモリセルは、同一のワード線に接続され、各列のメモリセルは同一のビット線に接続されている。そして、ページプログラムは、同一ワード線に接続されている一ページ分のメモリセルに対して行われる。
【0030】
周辺回路50は、例えば、カラムセレクタ、ラッチ回路、センスアンプにより構成されている。
カラムセレクタは、カラム選択信号線YCより入力されたカラム選択信号に応じて、ページプログラムの対象となる一ページ分のメモリセルに対応するビット線を選択する。
ラッチ回路は、プログラムステートマシン60からのデータをロードし、保持する。そして、プログラム動作時に、ロードしたデータに応じて、メモリセルにプログラムパルスを印加するか否かを制御する。そして、ベリファイ読み出し時に、ベリファイしきい値電圧VTHに達したメモリセルに応じたデータを“1”に設定し、次回の再プログラム動作において、データが“1”に設定されているメモリセルにプログラムパルスの印加を止める。
【0031】
プログラムステートマシン60は、コマンドレジスタ70、ループカウンタ80およびプログラム制御回路90により構成されている。
コマンドレジスタ70は、プログラム動作にかかるコマンドを格納し、プログラム動作時に、格納したコマンドに対応する動作を指示する。
ループカウンタ80は、プログラム動作の回数をカウントし、カウント値Xをプログラム動作の制御に用いる。
プログラム制御回路90は、コマンドレジスタ70、ループカウンタ80からの情報に基づき、プログラム動作を制御するための各信号を発生し、それぞれの部分回路に出力する。
【0032】
入出力バッファ100は、外部からのプログラムデータを受けて、それを保持して、プログラムステートマシン60または周辺回路へ出力する。さらに、プログラムステートマシン60と周辺回路50の間に転送されたデータを一時保持して転送先へ出力する。
【0033】
プログラムステートマシン60は、プログラムにおける各動作およびそのタイミングを自動的に制御する。プログラムステートマシン60には、外部回路から書き込みイネーブル信号/WE、チップイネーブル信号/CEおよび出力イネーブル信号/OEが入力される。また、入出力バッファ100を介して、外部からプログラムコマンドを受けて、これらのコマンドをコマンドレジスタ70に格納する。
また、プログラムステートマシン60からプログラム動作状態を示す信号R/Bを外部に出力される。R/B信号がハイレベルの場合、プログラム動作が終了して、新しいコマンドを受けられる状態を示し、R/B信号がローレベルの場合、プログラム動作中であることを示す。
【0034】
プログラム動作時に、プログラムステートマシン60は、上述した外部信号の状態に応じて、コマンドレジスタ70に格納したコマンドに応じて、プログラム動作を制御する。
【0035】
以下、上述した構成を有する不揮発性半導体記憶装置におけるプログラム動作を、図2〜5を参照しつつ、詳細に説明する。
図2および図3は、プログラム動作の第1の実施例を示し、図4および図5はプログラム動作の第2の実施例を示す。
【0036】
実施例1
図2はプログラム動作の実施例1におけるプログラム動作時に、書き込みメモリセルに印加されるプログラムパルスを示す波形図である。
図示のように、プログラムにおける各回の書き込み動作時に、書き込みメモリセルに同レベルの書き込みパルスが印加される。これに応じて、書き込みメモリセルのしきい値電圧が高い値、例えば、電源電圧VCC以上に設定される。
【0037】
そして、書き込み後、ベリファイ読み出しにより、書き込みメモリセルに対して、読み出しによる書き込み結果の検証が行われる。検証の結果、全ての書き込みメモリセルのしきい値電圧がベリファイしきい値電圧VTHに達した場合、プログラム動作が終了するが、そうでない場合、メモリセルに対して再プログラムが行われる。
【0038】
プログラムデータに基づく書き込み、プログラム結果の検証および再プログラム動作の制御は、図1に示すプログラムステートマシン60により制御され、その動作フローチャートは、図3に示している。
図3に示すように、本実施例のプログラム動作は、第1のフローと第2フローからなる。以下、図3のフローチャートを参照しつつ、本実施例におけるメモリセルのプログラム動作について説明する。
【0039】
プログラム動作開始後、まず、ステップS1に示すように、ループカウンタ80のカウント値Xが“0”に初期化される。そして、ステップS2に示すように、選択された一ページ分のメモリセルのプログラムデータがラッチ回路にロードされ、ラッチ回路により保持される。
【0040】
ステップS3において、ラッチ回路にロードされたデータに応じて、選択された一ページ分のメモリセルに対して、プログラム動作が行われる。ここで、例えば、書き込みメモリセルに対応するロードデータが“0”に設定され、消去メモリセルに対応するロードデータが“1”に設定されている。プログラム時に、ロードデータ“0”に対応するメモリセル、即ち、書き込みメモリセルに図2に示す最初のプログラムパルスP1 が印加され、ロードデータ“1”に対応するメモリセル、即ち、消去メモリセルにプログラムパルスが印加されない。
【0041】
プログラム動作後、ステップS4に示すベリファイ読み出し動作が行われる。ベリファイ読み出し時に、ステップS3でプログラムされた一ページ分のメモリセルに対して読み出しが行われる。読み出しの結果、書き込みメモリセルのしきい値電圧がベリファイしきい値電圧VTHに達すれば、それに応じたラッチ回路のデータが“1”に設定される。なお、消去メモリセルに対応するラッチ回路のデータが、上述したように、ステップS2のデータロードのとき、予め“1”に設定されている。
【0042】
ベリファイ読み出し動作後、ステップS5に示す判定動作が行われる。判定動作において、ラッチ回路のデータが全て“1”になっているか否かについて判定を行う。ラッチデータが全て“1”になっている場合、ステップS10に示すようにループカウンタ80のカウント値Xに対して判定を行い、ループカウンタ80のカウント値Xが“0”であるとき、即ち、プログラム動作が一回のみ行われ、全ての書き込みメモリセルのしきい値電圧がベリファイしきい値電圧VTHに達した場合、プログラム動作が成功したと判定し、プログラム動作を終了させる。
【0043】
一方、ループカウンタ80のカウント値Xが“0”ではない場合、即ち、プログラム動作が二回以上が行われて、ラッチデータが全て“1”に達した場合、図3に示すように、第2フローの動作に進む。
【0044】
なお、ステップS5の判定動作において、ラッチ回路のデータが全て“1”に達していないと判定されたとき、ステップS6に進み、ループカウンタ80のカウント値Xを一回カウントアップする。
そして、ステップS7において、ループカウンタ80のカウント値Xが所定の値nになっているかどうかについて判定する。カウント値Xがnに達したとき、メモリ装置に欠陥があるとして、プログラムステートマシン60により、メモリ不良を示す情報が出力され、プログラム動作が終了する。一方、カウント値Xがnに達していないとき、ステップS9に進み、選択された一ページ分のメモリセルに対して、ラッチ回路のデータに基づき、再プログラムが行われる。
【0045】
なお、ステップS7の判定時に用いられたデータnは、プログラム時間の上限および酸化膜などのデバイス欠陥により見積もられ、プログラム動作開始前に、予めプログラムステートマシン60に設定される。ここで、nの値は、例えば、数10から数1000程度に設定されることが望ましい。
【0046】
ステップS9の再プログラム動作後、ステップS4に戻り、再プログラム後のメモリセルに対して、もう一度ベリファイ読み出しが行われる。そして、前回のベリファイ読み出し動作と同様に、ベリファイ読み出しの結果に応じて、ラッチ回路のデータが設定される。
【0047】
このように、ラッチ回路のデータが全て“1”になるまで、上述した再プログラム動作が繰り返して行われる。ラッチデータが全て“1”に達したとき、第2フローに進む。
【0048】
第2フローにおいて、まず、ステップS11に示すように、ループカウンタ80のカウント値Xがクリアされ、“0”に設定される。そして、ステップS12に示すように、選択された一ページ分のメモリセルのプログラムデータがラッチ回路にロードされ、ラッチ回路に保持される。
【0049】
そして、ステップS13に示すように、一ページ分のメモリセルに対して、ベリファイ読み出しが行われる。ベリファイ読み出しの結果に応じて、書き込みメモリセルのしきい値電圧がベリファイしきい値電圧VTHに達すれば、それに応じたラッチ回路のデータが“1”に設定される。
【0050】
ベリファイ読み出し動作後、ステップS14に示す判定動作が行われる。ステップS14において、ラッチ回路のデータが全て“1”になっているか否かについて判定を行う。ラッチデータが全て“1”になっている場合、ステップS15に示すように、ループカウンタ80のカウント値Xに対して判定を行い、ループカウンタ80のカウント値Xが所定の値mを越えていないとき、プログラムが成功したと判定し、プログラム動作が終了する。一方、カウント値Xが値mを越えた場合、第2フロー始めのステップS11に戻り、ループカウンタ80のカウント値Xを“0”に設定して、再びデータロード、ベリファイ読み出しおよびラッチ回路のデータに対する判定動作が行われる。
【0051】
なお、上述したステップS15に用いられている値mは、例えば、0〜10の範囲内に設定されている。mの値が小さいほどベリファイ読み出しの回数が少なくなり、ソース線の寄生抵抗で生じた電圧降下によるしきい値電圧変動の影響が小さく抑制される。
【0052】
ステップS14において、ラッチ回路の全てのデータが“1”に達していないと判定されたとき、ステップS16に示すように、カウント値Xが所定の値nに達したかどうかについて判定し、カウント値Xが値nに達したとき、メモリ装置が不良と判定され、ステップS17に示すように、プログラムステートマシン60により、メモリ不良を示す情報が出力され、プログラム動作が終了する。一方、カウント値Xがnに達していないとき、ステップS18に進み、選択された一ページ分のメモリセルに対して、ラッチ回路のデータに基づき、再プログラムが行われる。
なお、ステップS16におけるカウント値Xの判定値nは、ステップS7で用いられている値nと同様に設定されている。
【0053】
再プログラム動作の後、ステップS19に示すように、ループカウンタ80のカウント値Xを一回カウントアップした後、ステップS13のベリファイ読み出し動作に戻る。
このように、ラッチ回路のデータが全て“1”になるまで、再プログラムとベリファイ読み出し動作が繰り返して行われる。ラッチ回路のデータが全て“1”に達したとき、ステップS15におけるカウント値Xの判定結果により、プログラム動作が終了するか、または、第2フローの始めに戻り、ラッチ回路のデータロードおよびベリファイ読み出し、ラッチ回路データの判定動作が再び行われる。
【0054】
以上説明したように、本実施例によれば、第1と第2フローからなるプログラム動作を行い、プログラム時に、同電圧のプログラムパルスを書き込みメモリセルに印加し、第1フローにおいて、選択された一ページ分のメモリセルに対するプログラムデータをラッチ回路にロードした後、ロードデータに応じてプログラムし、ベリファイ読み出しにより、書き込みメモリセルのしきい値電圧を検証し、ベリファイしきい値電圧VTH以上に達した場合、それに対応するラッチ回路のデータを“1”に設定する。ラッチ回路のデータが全て“1”に達するまで、再プログラムおよびベリファイ読み出しを繰り返して行い、ラッチ回路のデータが全て“1”に達したとき、ループカウンタ80のカウント値Xに応じて、プログラムを終了させ、または第2フローの動作に進む。第2のフローにおいて、プログラムデータをもう一度ラッチ回路にロードし、ベリファイ読み出しにより、ラッチ回路のデータを設定し、ラッチ回路のデータが全て“1”になるまで、再プログラムとベリファイ読み出しが繰り返して行い、ラッチ回路のデータが全て“1”に達したとき、ループカウンタ80のカウント値Xに応じて、第2フローの動作を始めからやり直し、またはプログラム動作を終了させるので、ソース線寄生抵抗に基づくソース電位の上昇によるしきい値電圧の誤判断を回避でき、書き込みメモリセルのしきい値電圧分布のバラツキを抑えることができる。
【0055】
実施例2
図4および図5は本発明に係る不揮発性半導体記憶装置の第2の実施例を示す図である。
図4は、本実施例2におけるプログラム動作時に、書き込みメモリセルに印加されるプログラムパルスを示す波形図である。
図示のように、プログラムにおける各回の書き込み動作時に、書き込みメモリセルに印加される書き込みパルスの電圧レベルが段々高く設定される。例えば、一回目のプログラムパルスの電圧が15Vに設定され、p回目のプログラムパルスの電圧が20Vに設定される。p回目以降のパルス電圧が全て20Vに保持されている。即ち、p回目のプログラムまでに、書き込みメモリセルに階段状のプログラムパルスが印加され、それ以降のプログラム動作において、書き込みメモリセルに一定の電圧に保持されたパルスが印加される。
これは、プログラムパルスによるメモリセルのゲート破壊を防ぐため、プログラムパルスの上限が設定されるからである。
【0056】
上述したプログラムパルスが書き込みメモリセルに印加されることにより、書き込みメモリセルのしきい値電圧が高い値に設定される。そして、プログラム動作後、ベリファイ読み出しにより、書き込みメモリセルのしきい値電圧に対して検証が行われる。検証の結果、全ての書き込みメモリセルのしきい値電圧がベリファイしきい値電圧VTHに達した場合、プログラム動作が終了するが、そうでない場合、メモリセルに対して再プログラムが行われる。
【0057】
以下、図5のフローチャートを参照しつつ、本実施例におけるメモリセルのプログラム動作について説明する。
図5に示すように、本実施例のプログラム動作は第1フローと第2フローの2段階で行われる。
【0058】
第1フローにおいて、まず、プログラム動作開始後、ループカウンタ80のカウント値Xが初期値“0”に設定され、そして、選択された一ページ分のメモリセルのプログラムデータがラッチ回路にロードされる。
図示のように、ステップS1〜ステップS5までの動作は、図3に示す第1の実施例と同様であるため、これらの動作について詳細の説明を省略する。
【0059】
ステップS5において、ラッチ回路のデータが全て“1”に達したか否かについて判定する。判定結果、ラッチ回路のデータが全て“1”に達したとき、図示のように、第1フローの動作が完了し、第2フローの動作に進む。
【0060】
一方、判定の結果、ラッチ回路のデータが全て“1”に達していないとき、ステップS6に示すように、ループカウンタ80のカウント値Xを一回カウントアップして、即ち、カウント値Xに1を加算して、ステップSN7に示すカウント値Xの判定動作に進む。
【0061】
ステップSN7において、カウント値Xが予め設定された値jに達したか否かについて判定を行う。カウント値Xが値jに達した場合、メモリ装置に欠陥があるとして、プログラムステートマシン60により、メモリ不良を示す情報が出力され、プログラム動作が終了する。一方、カウント値Xがjに達していないとき、ステップS9に進み、選択された一ページ分のメモリセルに対して、ラッチ回路のデータに基づき、再プログラムが行われる。
【0062】
なお、ステップSN7の判定時に用いられたデータjは、書き込みメモリセルに印加された階段状のプログラムパルスの数、プログラム時間の上限および酸化膜などのデバイス欠陥により見積もられ、プログラム動作開始前に、予めプログラムステートマシン60に設定される。
図4の波形図に示すように、プログラムパルスの電圧が一定の電圧値、例えば20Vに達するまで、階段状のパルスが合計p回印加されるとすると、ステップSN7に用いられる判定の値jは、階段状パルス数pより数回〜数100回を加えた値とする。例えば、ここで一例として、(j=p+50)とする。
【0063】
ステップS9の再プログラム動作後、ステップS4に戻り、再プログラム後のメモリセルに対して、もう一度ベリファイ読み出しが行われる。そして、前回のベリファイ読み出し動作と同様に、ベリファイ読み出しの結果に応じて、ラッチ回路のデータが設定される。
【0064】
このように、ラッチ回路のデータが全て“1”になるまで、上述した再プログラム動作が繰り返して行われる。ラッチデータが全て“1”に達したとき、第2フローに進む。
【0065】
第2フローにおけるステップS11〜S14までの動作は、図3に示す第1の実施例のステップS11〜S14と同様であり、ここで、これらの動作について説明を省略する。
ステップS14において、ラッチ回路のデータを判定する。そして、判定結果、ラッチ回路のデータが全て“1”である場合、ステップSN15に示すように、ループカウンタ80のカウント値Xに対して判定を行い、ループカウンタ80のカウント値Xが所定の値iを越えていないとき、プログラムが成功したと判定し、プログラム動作が終了する。一方、カウント値Xが値iを越えた場合、第2フロー始めのステップS11に戻り、ループカウンタ80のカウント値Xを“0”に設定して、再びデータロード、ベリファイ読み出しおよびラッチ回路のデータに対して判定動作が行われる。
【0066】
なお、上述したステップSN15に用いられている値iは、図4に示すプログラムパルスの内、階段状のパルスの数pに基づき設定され、(p+1)〜(p+10)の範囲内に設定されている。ここで、一例として、(i=p+5)とする。
【0067】
ステップS14において、判定結果がラッチ回路の全てのデータが“1”に達していない場合、ステップSN16に示すように、カウント値Xが所定の値jに達したかどうかについて判定し、カウント値Xが値jに達したとき、メモリ装置が不良と判定され、ステップS17に示すように、プログラムステートマシン60により、メモリ不良を示す情報が出力され、プログラム動作が終了する。一方、カウント値Xがjに達していないとき、ステップS18に進み、選択された一ページ分のメモリセルに対して、ラッチ回路のデータに基づき、再プログラムが行われる。
なお、ステップSN16におけるカウント値Xの判定値jは、ステップSN7で用いられている値jと同様に設定されている。
【0068】
再プログラム動作の後、ステップS19に示すように、ループカウンタ80のカウント値Xを一回カウントアップした後、ステップS13のベリファイ読み出し動作に戻る。
このように、ラッチ回路のデータが全て“1”になるまで、再プログラムとベリファイ読み出し動作が繰り返して行われる。ラッチ回路のデータが全て“1”に達したとき、ステップSN15におけるカウント値Xの判定結果により、プログラム動作が終了するか、または、第2フローの始めに戻り、ラッチ回路のデータロードおよびベリファイ読み出し、ラッチ回路データの判定動作が再び行われる。
【0069】
以上説明したように、本実施例によれば、第1と第2フローからなるプログラム動作を行い、プログラム時に、電圧レベルが階段状に設定されたプログラムパルスを書き込みメモリセルに印加し、第1フローにおいて、選択された一ページ分のメモリセルに対するプログラムデータをラッチ回路にロードした後、ロードデータに応じてプログラムし、ベリファイ読み出しにより、書き込みメモリセルのしきい値電圧を検証し、ベリファイしきい値電圧VTH以上に達した場合、それに対応するラッチ回路のデータを“1”に設定する。ラッチ回路のデータが全て“1”に達するまで、再プログラムおよびベリファイ読み出しを繰り返して行い、ラッチ回路のデータが全て“1”に達したとき、第2フローの動作に進む。第2のフローにおいて、プログラムデータをもう一度ラッチ回路にロードし、ベリファイ読み出しにより、ラッチ回路のデータを設定し、ラッチ回路のデータが全て“1”になるまで、再プログラムとベリファイ読み出しが繰り返して行い、ラッチ回路のデータが全て“1”に達したとき、ループカウンタ80のカウント値Xに応じて、第2フローの動作を始めからやり直し、またはプログラム動作を終了させるので、ソース線寄生抵抗に基づくソース電位の上昇による書き込みメモリセルのしきい値電圧の誤判断を回避でき、メモリセルのしきい値電圧分布のバラツキを抑えることができる。
【0070】
なお、以上においては、消去メモリセルのしきい値電圧を低い値に設定し、書き込みメモリセルのしきい値電圧を高い値に設定するものとして説明したが、本発明はこれに限定されるものではなく、消去メモリセルのしきい値電圧を高い値に設定し、書き込みメモリセルのしきい値電圧を低い値に設定する場合においても、本発明のプログラム動作が有効であることはいうまでもない。
【0071】
【発明の効果】
以上説明したように、本発明の不揮発性半導体記憶装置によれば、メモリセルの拡散層と接地電位間の寄生抵抗によるソース線電位上昇の影響を回避でき、書き込み後メモリセルしきい値電圧がベリファイしきい値電圧に達しないことを防止でき、メモリセルのしきい値電圧分布のバラツキを抑制できる利点がある。
【図面の簡単な説明】
【図1】本発明に係る不揮発性半導体記憶装置の一実施形態を示すブロック図である。
【図2】本発明の第1の実施例のプログラムパルス波形図である。
【図3】第1の実施例のフローチャートである。
【図4】本発明の第2の実施例のプログラムパルス波形図である。
【図5】第2の実施例のフローチャートである。
【図6】従来のプログラム動作のフローチャートである。
【図7】ベリファイ読み出し回路の一例を示す回路図である。
【図8】ベリファイ読み出し回数としきい値電圧の変化を示すグラフである。
【符号の説明】
10…アドレスバッファ、20…ロウデコーダ、30…カラムデコーダ、40…メモリセルアレイ、50…周辺回路、60…プログラムステートマシン、70…コマンドレジスタ、80…ループカウンタ、90…プログラム制御回路、100…入出力バッファ、VCC…電源電圧、GND…接地電位。

Claims (9)

  1. 複数のメモリセルが行列状に配置され、書き込みデータに応じて、同一のワード線に接続された一ページ分のメモリセルに対して、書き込みを行った後、読み出しにより各メモリセルのしきい値電圧が所定の基準しきい値に達したか否かを判定し、全ての書き込みメモリセルのしきい値電圧が上記基準しきい値に達するまで、書き込み動作を繰り返して行う不揮発性半導体記憶装置であって、
    上記書き込みデータに応じた書き込み動作を終えた一ページ分のメモリセルに対して、各書き込みメモリセルのしきい値電圧が上記基準しきい値に達したか否かについて、読み出しにより再度検証を行い、全ての書き込みメモリセルのしきい値電圧が上記基準しきい値に達するまで、上記書き込みおよび読み出しによる検証を繰り返して行う制御手段
    を有する不揮発性半導体記憶装置。
  2. 上記書き込みデータを保持するデータ保持手段を有し、上記書き込みおよび上記検証開始時に、上記書き込みデータを上記データ保持手段に格納させるデータ格納手段
    を有する請求項1記載の不揮発性半導体記憶装置。
  3. 上記制御手段は、上記書き込み動作時に、上記データ保持手段に格納されたデータに応じて、各メモリセルに書き込みパルスを印加するか否かを決定する
    請求項1記載の不揮発性半導体記憶装置。
  4. 上記制御手段は、上記書き込みメモリセルに対応する書き込みデータを第1のデータに設定し、消去メモリセルに対応する書き込みデータを第2のデータに設定する
    請求項1に記載の不揮発性半導体記憶装置。
  5. 上記制御手段は、上記読み出し結果に応じて、しきい値電圧が上記基準しきい値に達した書き込みメモリセルに対応する書き込みデータを上記第2のデータに設定する
    請求項4記載の不揮発性半導体記憶装置。
  6. 上記制御手段は、上記書き込み動作時に、上記第1のデータに対応するメモリセルのみに所定の電圧レベルに保持された書き込みパルスを印加する
    請求項4記載の不揮発性半導体記憶装置。
  7. 上記書き込みパルスの電圧レベルは、初回の書き込みから徐々に高く設定され、一定の書き込み回数に達したとき、当該書き込みパルスの電圧レベルが一定に保持される
    請求項6記載の不揮発性半導体記憶装置。
  8. 上記制御手段に、書き込み回数を計数するカウンタを有し、
    書き込み開始時、上記カウンタの計数値を初期化する初期化手段と、
    一回の書き込み毎に、上記カウンタの計数値を一回カウントアップするカウントアップ手段と、を有し、
    上記制御手段は、上記書き込みおよび上記検証動作時に、上記カウンタの計数値が所定の値に達したとき、書き込み対象に欠陥があると判断し、上記プログラム動作を終了させる
    請求項1記載の不揮発性半導体記憶装置。
  9. 上記初期化手段は、上記検証動作開始時に、上記カウンタの計数値を初期化する
    請求項8記載の不揮発性半導体記憶装置。
JP27839596A 1996-10-21 1996-10-21 不揮発性半導体記憶装置 Expired - Fee Related JP3796851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27839596A JP3796851B2 (ja) 1996-10-21 1996-10-21 不揮発性半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27839596A JP3796851B2 (ja) 1996-10-21 1996-10-21 不揮発性半導体記憶装置

Publications (2)

Publication Number Publication Date
JPH10125082A JPH10125082A (ja) 1998-05-15
JP3796851B2 true JP3796851B2 (ja) 2006-07-12

Family

ID=17596751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27839596A Expired - Fee Related JP3796851B2 (ja) 1996-10-21 1996-10-21 不揮発性半導体記憶装置

Country Status (1)

Country Link
JP (1) JP3796851B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10056144B2 (en) 2015-06-24 2018-08-21 Renesas Electronics Corporation Nonvolatile semiconductor memory device and its operation program

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308192B1 (ko) * 1999-07-28 2001-11-01 윤종용 플래시 메모리 셀들의 과소거를 방지할 수 있는 플래시 메모리장치 및 그것의 소거 방법
JP2001093433A (ja) 1999-09-28 2001-04-06 Nec Kansai Ltd カラーブラウン管
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
KR100719368B1 (ko) * 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
EP1971984B1 (en) * 2005-12-29 2011-03-02 Sandisk Corporation Continued verification in non-volatile memory write operations
JP4936914B2 (ja) * 2007-01-23 2012-05-23 株式会社東芝 半導体記憶装置
ITRM20080114A1 (it) * 2008-02-29 2009-09-01 Micron Technology Inc Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria.
KR102140784B1 (ko) 2013-12-03 2020-08-03 삼성전자주식회사 비휘발성 메모리 장치의 데이터 기록 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10056144B2 (en) 2015-06-24 2018-08-21 Renesas Electronics Corporation Nonvolatile semiconductor memory device and its operation program

Also Published As

Publication number Publication date
JPH10125082A (ja) 1998-05-15

Similar Documents

Publication Publication Date Title
US7907463B2 (en) Non-volatile semiconductor storage device
JP2716906B2 (ja) 不揮発性半導体記憶装置
US7298654B2 (en) Non-volatile memory device and associated method of erasure
JP4249131B2 (ja) フラッシュメモリデバイスの多重セクタの消去中に消去電圧をコントロールするためのシステム及び方法
US5982670A (en) Non-volatile memory device
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
WO2002050843A1 (fr) Memoire a semi-conducteurs non volatile et procede d'effacement
US5801991A (en) Deselected word line that floats during MLC programming of a flash memory
US7286398B2 (en) Semiconductor device and method of controlling said semiconductor device
JPH05182479A (ja) 電気的に書き込み一括消去可能な不揮発性半導体記憶装置
US6172915B1 (en) Unified erase method in flash EEPROM
US6781882B2 (en) Nonvolatile semiconductor storage device having a shortened time required for a data erasing operation and data erasing method thereof
JP2002230981A (ja) 不揮発性半導体メモリ装置およびその消去方法
JP3796851B2 (ja) 不揮発性半導体記憶装置
US7099210B2 (en) Semiconductor memory device having memory cells with floating gates and memory cell threshold voltage control method
JP4698605B2 (ja) 半導体装置および半導体装置の制御方法
JP4106028B2 (ja) メモリ装置におけるソフトプログラム検証のための方法および装置
JP3143161B2 (ja) 不揮発性半導体メモリ
US5559736A (en) Non-volatile semiconductor memory device capable of preventing excessive-writing
JP3857642B2 (ja) 不揮発性半導体記憶装置及びその消去シーケンス
JP2007102923A (ja) 不揮発性半導体記憶装置およびそのデータ消去方法
US20090122616A1 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
JPWO2005109442A1 (ja) 半導体装置およびプログラム方法
US20120140572A1 (en) Semiconductor memory device and method of operating the same

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060410

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees