JP4181363B2 - Nonvolatile semiconductor memory device and data writing method - Google Patents

Nonvolatile semiconductor memory device and data writing method Download PDF

Info

Publication number
JP4181363B2
JP4181363B2 JP2002250932A JP2002250932A JP4181363B2 JP 4181363 B2 JP4181363 B2 JP 4181363B2 JP 2002250932 A JP2002250932 A JP 2002250932A JP 2002250932 A JP2002250932 A JP 2002250932A JP 4181363 B2 JP4181363 B2 JP 4181363B2
Authority
JP
Japan
Prior art keywords
voltage
write
levels
level
memory cell
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
JP2002250932A
Other languages
Japanese (ja)
Other versions
JP2004094987A (en
Inventor
秀貴 荒川
Original Assignee
スパンション エルエルシー
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 スパンション エルエルシー filed Critical スパンション エルエルシー
Priority to JP2002250932A priority Critical patent/JP4181363B2/en
Publication of JP2004094987A publication Critical patent/JP2004094987A/en
Application granted granted Critical
Publication of JP4181363B2 publication Critical patent/JP4181363B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に不揮発性半導体記憶装置に関し、詳しくは複数のデータレベルを記憶する不揮発性半導体記憶装置に関する。
【従来の技術】
不揮発性半導体記憶装置において、書き込み対象であるメモリセルにプログラム動作により書き込みを行うと、メモリセルトランジスタのフローティングゲートに電荷が注入され閾値電圧が上昇する。これにより、ゲートに閾値以下の電圧を印加しても電流が流れなくなり、データ“0”を書き込んだ状態が達成される。一般に、消去状態のメモリセルの閾値電圧及び書き込みスピードにはバラツキがある。従って、所定の書き込み電圧を印加してプログラム動作を実行し、閾値電圧がベリファイレベル以上になるようにベリファイすると、書き込み後のメモリセルの閾値電圧はベリファイレベル以上である程度分布を有するものとなる。
【0002】
一般には、プログラムは多数のメモリセル(例えば1024バイト分:2ビット/セルの4レベル多値では4096個)について同時に実行する。従って、ビット線4096本について、“書き込む/書き込まない”を示すデータを予めページバッファにロードしておく。ベリファイは、これらのセルの閾値がベリファイレベルの閾値よりも高くなったか否かを判定するものであり、ベリファイレベルの閾値よりも高くなった場合にベリファイOKとする。以後ビット線には“書き込まない”旨を示すデータを割り当てて、ベリファイOKでないメモリセルを続けて書き込むときにそれ以上閾値がシフトしないようにする。従って、ベリファイOKとなったセルにはその時点で閾値が固定される。
【0003】
メモリセルを異なる閾値電圧に設定することで多値を表現する多値メモリセルの不揮発性半導体記憶装置の場合には、閾値電圧が広い分布を有すると、隣り合うレベル値の間の間隔が狭くなり確実なデータ記録を実行することが困難になる。従って、成るべく狭い閾値電圧の分布を達成することが望まれる。
【0004】
例えばビット分布が4レベルである多値メモリセルにおいては、Erase及びLevel0、Level1、Level2の4つの値のレベルが存在する。
【0005】
4つのレベルのデータを書き込むには、例えば、まずページバッファに対してデータロードを行い、更にLevel0乃至Level2の書き込み対象メモリセルについて、書き込みバッファWBにデータを格納する。書き込み対象メモリセルに対して、Level0の電位パルスを用いてプログラム及びベリファイを実行し、Level0の書き込みを実行する。次に、Level1及びLevel2の書き込み対象メモリセルについて、Level1の電位パルスを用いてプログラム及びベリファイを実行し、Level1の書き込みを実行する。最後に、Level2の書き込み対象メモリセルについて、Level2の電位パルスを用いてプログラム及びベリファイを実行し、Level2の書き込みを実行する。
【発明が解決しようとする課題】
上記書き込み動作においては、書き込み速度と閾値電圧の分布の広さが互いに相反する要求として存在する。
【0006】
まず書き込み速度に関しては、書き込み動作を成るべく短時間で終了出来ることが好ましい。そのためには、書き込み動作においてプログラム電圧をステップ毎に増加していく際に、大きなステップ電圧を用いることが望ましい。しかし大きなステップ電圧を用いた場合には、小さいステップ電圧を使用して小刻みに閾値電圧を設定する場合と比較して、書き込み終了後の閾値電圧の分布が広くなってしまうという問題点がある。前述のように、閾値電圧が広い分布を有すると、隣り合うレベル値の間の間隔が狭くなり確実なデータ記録を実行することが困難になるという問題がある。逆に閾値電圧の分布を狭くするために小さなステップ電圧を使用した場合には、書き込み速度が遅くなり動作効率が悪くなるという問題がある。
【0007】
以上を鑑みて本発明は、短時間で書き込み動作を完了することが可能であり且つ比較的狭い閾値電圧の分布を生成することが可能な不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
本発明による不揮発性半導体記憶装置は、不揮発性メモリセルを含むメモリセルアレイと、異なる複数のレベルのデータを該メモリセルに書き込む書き込み回路と、該書き込み回路を制御することにより、該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルと該書き込み対象より大きい全てのレベルとに対応する書き込み対象のメモリセルに行う第1の書き込み動作であって、該第1の書き込み動作は書き込み電圧を第1のステップ電圧づつ増加させながら実行し、該第1の書き込み動作を実行しながら該書き込み対象のメモリセルの少なくとも1つの閾値電圧がベリファイ電圧を超えたタイミングにおける該書き込み電圧を記憶し、該第1の書き込み動作及び該書き込み電圧の記憶を該複数のレベルの各々に対して、該複数のレベルの低い方から高い方に順次実行した後、該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルに対応するメモリセルに該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行し、該第2の書き込み動作は該複数のレベルの低い方から高い方に順次実行する制御回路を含むことを特徴とする。
【0008】
上記不揮発性半導体記憶装置においては、まず大きなステップ電圧を用いて書き込み動作を実行することにより大まかな閾値分布を形成し、その後小さなステップ電圧を用いて書き込み動作を実行することにより閾値分布を所望の幅に整形することが可能となる。この際に大まかな閾値分布を形成した際の書き込み電圧を記憶しておくことで、小さなステップ電圧を用いてプログラムする際の書き込み開始電圧を適切な値に設定することが出来る。従って本発明においては、短時間で書き込み動作を完了し、且つ所望の幅の閾値分布を形成することが可能となる。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0009】
図1は、本発明による多値メモリセルへの書き込み動作の第1実施例を示すフローチャートである。図1は、ビット分布が4レベルの場合に相当する。図2は、図1のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【0010】
図2(a)は、メモリセルの書き込みを実行した後に達成されるべきビット分布を示す図である。ここで横軸はメモリセルトランジスタの閾値電圧を示し、縦軸はビット数(メモリセルの数)を示す。図2(a)に示されるように、書き込み後には、E(Erase)、L0(Level0)、L1(Level1)、及びL2(Level2)の4つの値のレベルが存在する。ここでレベルL0の分布の左端の閾値をV0_2(例えば0.4V)、レベルL1の分布の左端の閾値をV1_2(例えば1.3V)、レベルL2の分布の左端の閾値をV2_2(例えば2.3V)とする。また各分布の広がりは0.3Vであるとする。
【0011】
図1のフローチャートを参照し、ステップST1において、メモリセルトランジスタのセル書込み特性やワード線の書き込み特性から、プログラム時にワード線に印加する最初の電圧である初期電圧Vstartを決定し、プログラム電圧Vpgを初期電圧Vstartに設定する。またNを0に初期設定する。
【0012】
ステップST2において、ベリファイ電圧V0_1(例えば0V)としてベリファイを実行する。ステップST3において、Nが1であるか否かを判定する。最初の状態では、Nが0であるのでステップST4に進み、書き込み対象セルの閾値が1つでもベリファイ電圧V0_1を超えたか否かを判定する。超えていない場合には、ステップST5に進み、L0、L1、及びL2の書き込み対象セルを、プログラム電圧Vpgを用いてプログラムする。次にステップST6で、プログラム電圧VpgをL0用のステップ電圧Vsp0だけ増加する。ここでVsp0は例えば0.5Vとする。これはレベルL0のターゲット閾値分布の最大値が0.7Vであるので、書き込み後の閾値電圧が0.7Vを超えないように設定するものであり、ベリファイ電圧0Vに対してステップ電圧0.5Vを設定すれば閾値電圧が0.7Vを超えることはない。
【0013】
その後ステップST2に戻り、書き込み対象セルが1つでもベリファイ電圧V0_1を超えるまで、即ちステップST4の判断がYesになるまで上記処理を繰り返す。図2(b)は、書き込み対象セルがベリファイ電圧V0_1を超える直前の状態を示す。
【0014】
書き込み対象セルが1つでもベリファイ電圧V0_1を超えると、ステップST7に進み、プログラム電圧Vpgからステップ電圧Vsp0を減じた電圧を設定電圧VS0として記憶しておく。ここでステップ電圧Vsp0を減じるのは、ステップST5のプログラム後にステップ電圧Vsp0を加えているためである。従って、ここで記憶する設定電圧VS0は、最初のセルがベリファイ電圧V0_1を超えたときのプログラム電圧である。なお実際には、最初の書き込み対象セルがベリファイをパスした時点において、それまでに印加したパルス数を記憶しておくことになる。またステップST7でN=1とすることで、次回のループの実行時にステップST4及びST7をスキップするよう設定される。
【0015】
次にステップST8において、全ての書き込み対象のセルがベリファイをパスしたか否かを判定する。パスしていない場合にはステップST5に戻りプログラム動作を実行し、更にそれ以降の動作を繰り返す。ステップST8において全セルがパスした場合には、次段に進む。図2(c)は、全ての書き込み対象のセルがベリファイをパスした状態を示す。
【0016】
なお図1において、ステップST1乃至ステップST8を纏めてステップ1とし、ステップST9乃至ステップST12の4ステップを纏めてステップ2とし、更にステップST13乃至ステップST27を纏めてステップ3として表している。
【0017】
ステップST9において、記憶した設定電圧VS0にL1用のステップ電圧Vsp1を加え、プログラム電圧Vpgとして設定する。ここでVsp1は例えば1.0Vとする。次にステップST10において、L1及びL2の書き込み対象セルを、プログラム電圧Vpgを用いてプログラムする。Vsp1は1.0Vに設定してあるが、これは書き込み後の最大閾値が、L1のターゲット閾値分布の最大値を超えない程度に設定すればよい。設定電圧VS0は最初のセルがベリファイ電圧V0_1(0V)を超えたときのプログラム電圧であるので、この電圧VS0にVsp1(1.0V)を加えてプログラムした場合、最も高い閾値を有するセルであっても0.5V+1.0Vを超えることは無い。図2(d)は、ステップST10のプログラム動作を実行した直後の状態を示す。
【0018】
ステップST10のプログラム動作後にベリファイは不要であるが、実行しても構わない。またプログラム動作を2回以上実行してもよいが、その場合にベリファイ動作は必須である。ベリファイ電圧は、L1ターゲット閾値の最大値から1Vを減じた0.6Vとすればよい。
【0019】
ステップST11において、プログラム電圧VpgにL2用のステップ電圧Vsp2を加え、プログラム電圧Vpgとして設定する。ここでVsp2は例えば1.0Vとする。次にステップST12において、L2の書き込み対象セルを、プログラム電圧Vpgを用いてプログラムする。Vsp2は1.0Vに設定してあるが、これは書き込み後の最大閾値が、L2のターゲット閾値分布の最大値を超えない程度に設定すればよい。L1の場合と同様に、ステップST12のプログラム動作後にベリファイは不要であるが、実行しても構わない。図2(e)は、ステップST12のプログラム動作を実行した直後の状態を示す。
【0020】
上記動作の後に最後のステップ3が実行される。このステップ3は、図2(e)に示されるようにL0、L1、及びL2に対して大まかに設定された3つの広い分布を、小さなステップ電圧による細かいプログラム動作により、L0、L1、及びL2に対応する狭い分布に整形する段階である。
【0021】
まずステップST13において、VS0+Vsp1+Vsp2−Vsp5をプログラム電圧Vpgとして設定する。なおこの際、VS0+Vsp1+Vsp2はステップST12実行時のプログラム電圧であるので、この電圧(実際には印加したパルスの回数)を記憶しておき、ステップST13における電圧設定に用いてもよい。ここでステップ電圧Vsp5は例えば0.2Vとする。ステップ電圧Vsp5は、ターゲット閾値分布の所望幅を達成可能な程度に小さい電圧に設定すればよい。
【0022】
ステップST14において、ベリファイ電圧V2_2としてベリファイを実行し、ステップST15において、ベリファイの結果がパスしたか否かを判断する。パスしていない場合には、ステップST16に進み、L2の書き込み対象セルを、プログラム電圧Vpgを用いてプログラムする。次にステップST7で、プログラム電圧Vpgをステップ電圧Vsp5だけ増加する。その後ステップST14に戻り、ベリファイ処理を繰り返す。図2(f)は、レベルL2に対する書き込み動作が終了した状態を示す図である。
【0023】
ベリファイがパスしてレベルL2の書き込みが終了すると、ステップST18乃至ステップST22において、レベルL1の書き込みを実行する。書き込み動作はレベルL2の場合と同様である。但し、プログラム電圧Vpgの初期設定値としてはVS0+Vsp1−Vsp4を用い、Vsp4を例えば0.2Vに設定する。図2(g)は、レベルL1に対する書き込み動作が終了した状態を示す図である。
【0024】
レベルL1の書き込みが終了すると、ステップST23乃至ステップST27において、レベルL0の書き込みを実行する。書き込み動作はレベルL2の場合と同様である。但し、プログラム電圧Vpgの初期設定値としてはVS0−Vsp3を用い、Vsp3を例えば0.2Vに設定する。図2(h)は、レベルL0に対する書き込み動作が終了した状態を示す図である。
【0025】
以上でレベルL0乃至L2に対する書き込み動作が終了する。なお上記の動作とは逆に、L0から書き込みを始めてL2を後で書き込むと、L0側の方がプログラム・ディスターブを受けて閾値電圧が高い方にシフトしてしまう。上記動作のようにL2から書き込みを始めてL0を後で書き込むようにすれば、L2の書き込みの時点でL0及びL1のセルの閾値は少しシフトするが、その後にL0及びL1に対する書き込み動作を実行するのでシフトの影響は殆どなくなることになる。
【0026】
またステップST13の“−Vsp5”、ステップST18の“−Vsp4”、及びステップST23の“−Vsp3”のように、プログラム開始電圧として最初にステップ電圧を減じているのは、最初から閾値電圧変化量を可能な限り0.2Vに近づけるためである。従って、閾値分布の最大値とプログラム時間とを考慮して、ステップ電圧の2倍を減じる或いは全く減じないといった調整をすればよい。
【0027】
以上の動作により、まず大きなステップ電圧を用いてL0乃至L2に対する書き込み動作を実行することにより大まかな閾値分布を形成し、その後小さなステップ電圧を用いてL0乃至L2に対する書き込み動作を実行することにより閾値分布を所望の幅に整形することが可能となる。この際に大まかな閾値分布を形成した際のプログラム電圧を記憶しておくことで、小さなステップ電圧を用いてプログラムする際のプログラム開始電圧を適切な値に設定することが出来る。従って本発明においては、短時間で書き込み動作を完了し、且つ所望の幅の閾値分布を形成することが可能となる。
【0028】
図3は、本発明による多値メモリセルへの書き込み動作の第2実施例を示すフローチャートである。図4は、図3のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【0029】
図4(a)は、メモリセルの書き込みを実行した後に達成されるべきビット分布を示す図である。ここでレベルL0の分布の左端の閾値をV0_2(例えば0.6V)、レベルL1の分布の左端の閾値をV1_2(例えば1.8V)、レベルL2の分布の左端の閾値をV2_2(例えば3.2V)とする。また各分布の広がりは0.4Vであるとする。
【0030】
図3のフローチャートを参照し、ステップST1乃至ステップST8は、図1の第1実施例のステップST1乃至ステップST8と同一である。ベリファイ電圧V0_1は例えば0Vとし、またステップ電圧Vsp0は例えば0.75Vとする。この処理により、L0乃至L2の書き込み対象セルについて、レベルL0に対応した大まかな閾値分布を形成する。図4(b)は、書き込み対象セルがベリファイ電圧V0_1を超える直前の状態を示し、図4(c)は、レベルL0に対応した大まかな閾値分布が形成された状態を示す。
【0031】
ステップST9乃至ステップST16は、図1の第1実施例のステップST1乃至ステップST8と同様である。ステップ電圧Vsp1は、L1の閾値電圧最大値2.2VとL0の閾値電圧最大値1.0Vとの差が1.2Vであることを考慮して、多少余裕をみて例えば1.0Vに設定する。またベリファイ電圧V1_1は、L1の閾値電圧最大値2.2Vとステップ電圧1.2Vとを考慮して、例えば1.0Vとする。プログラム開始電圧は、ステップST7で記憶したVS0にステップ電圧Vsp1を加えた電圧である。この処理により、L1及びL2の書き込み対象セルについて、レベルL1に対応した大まかな閾値分布を形成する。図4(d)は、レベルL1に対応した大まかな閾値分布が形成された状態を示す。
【0032】
ステップST17乃至ステップST24は、図1の第1実施例のステップST1乃至ステップST8と同様である。ステップ電圧Vsp2は、L2の閾値電圧最大値3.6VとL0の閾値電圧最大値2.2Vとの差が1.4Vであることを考慮して、多少余裕をみて例えば1.25Vに設定する。またベリファイ電圧V2_1は、L2の閾値電圧最大値3.6Vとステップ電圧1.25Vとを考慮して、例えば2.2Vとする。プログラム開始電圧は、ステップST15で記憶したVS1にステップ電圧Vsp2を加えた電圧である。この処理により、L2の書き込み対象セルについて、レベルL2に対応した大まかな閾値分布を形成する。図4(e)は、レベルL2に対応した大まかな閾値分布が形成された状態を示す。
【0033】
図3に示す第2実施例においては、以下に示すように、第2回目の大まかに閾値分布を形成する処理を実行し、所望の閾値分布を形成する最終的な書き込み動作の前に、ある程度閾値分布の幅を狭くしておく処理が行われる。図3では、この処理をステップ2としてある。
【0034】
ステップST25乃至ステップST32は、レベルL1に対応する閾値分布の幅を狭くする処理である。ステップ電圧Vsp1_2は、例えば0.5Vに設定する。またベリファイ電圧V1_2は、L1の閾値電圧最大値2.2Vとステップ電圧0.5Vとを考慮して、例えば1.5Vとする。プログラム開始電圧は、ステップST15で記憶したVS1にステップ電圧Vsp1_2を加えた電圧である。この処理により、L1の書き込み対象セルについて、レベルL1に対応した閾値分布を狭くする。図4(f)は、レベルL1に対応した大まかな閾値分布が狭く形成された状態を示す。
【0035】
ステップST34乃至ステップST40は、レベルL2に対応する閾値分布の幅を狭くする処理である。ステップ電圧Vsp2_2は、例えば0.5Vに設定する。またベリファイ電圧V2_2は、L1の閾値電圧最大値3.6Vとステップ電圧0.5Vとを考慮して、例えば2.9Vとする。プログラム開始電圧は、ステップST23で記憶したVS2にステップ電圧Vsp2_2を加えた電圧である。この処理により、L2の書き込み対象セルについて、レベルL2に対応した閾値分布を狭くする。図4(g)は、レベルL2に対応した大まかな閾値分布が狭く形成された状態を示す。
【0036】
なおL0に対応する分布については、最初に使用したステップ電圧Vsp0が0.75Vとそれ程大きい電圧ではないので、更に狭くした大まかな閾値分布を形成する処理は省略している。
【0037】
以上の処理の後、ステップ3において、図1のステップ3と同様の書き込み動作を実行する。即ち、L0、L1、及びL2に対して大まかに設定された3つの広い分布を、小さなステップ電圧による細かいプログラム動作により、L0、L1、及びL2に対応する狭い分布に整形する。
【0038】
この書き込み処理において、使用するステップ電圧Vsp3、Vsp4、及びVsp5は0.25Vとする。またベリファイ電圧は、L0については0.6V、L1については1.8V、L2については3.2Vである。またプログラム開始電圧は、L0、L1、L2に対して夫々、ステップST7で求めたVS0、ステップST31で求めたVS1、ステップST39で求めたVS2を用いて設定している。
【0039】
図4(h)は、書き込み動作が終了した状態を示す図である。
【0040】
以上の動作により、まず大きなステップ電圧を用いてL0乃至L2に対する書き込み動作を実行することにより大まかな閾値分布を形成し、その後中間のステップ電圧を用いて閾値分布を狭くし、最後に小さなステップ電圧を用いてL0乃至L2に対する書き込み動作を実行することにより閾値分布を所望の幅に整形することが可能となる。この際に大まかな閾値分布を形成した際のプログラム電圧を記憶しておくことで、小さなステップ電圧を用いてプログラムする際のプログラム開始電圧を適切な値に設定することが出来る。従って本発明においては、短時間で書き込み動作を完了し、且つ所望の幅の閾値分布を形成することが可能となる。
【0041】
図5は、本発明による多値メモリセルへの書き込み動作の第3実施例を示すフローチャートである。図6は、図5のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【0042】
図6(a)は、メモリセルの書き込みを実行した後に達成されるべきビット分布を示す図である。ここでレベルL0の分布の左端の閾値をV0_2(例えば0.6V)、レベルL1の分布の左端の閾値をV1_2(例えば1.8V)、レベルL2の分布の左端の閾値をV2_2(例えば3.2V)とする。また各分布の広がりは0.4Vであるとする。
【0043】
図5のフローチャートを参照し、ステップST1において、メモリセルトランジスタのセル書込み特性やワード線の書き込み特性から、プログラム時にワード線に印加する最初の電圧である初期電圧Vstartを決定し、プログラム電圧Vpgを初期電圧Vstartに設定する。
【0044】
ステップST2において、ベリファイ電圧V0_1(例えば0V)としてベリファイを実行する。ステップST3において、書き込み対象セルの閾値が1つでもベリファイ電圧V0_1を超えたか否かを判定する。超えていない場合には、ステップST4に進み、L0、L1、及びL2の書き込み対象セルを、プログラム電圧Vpgを用いてプログラムする。次にステップST5で、プログラム電圧VpgをL0用のステップ電圧Vsp0だけ増加する。ここでVsp0は例えば第2実施例と同様に0.75Vとする。
【0045】
その後ステップST2に戻り、書き込み対象セルが1つでもベリファイ電圧V0_1を超えるまで、即ちステップST3の判断がYesになるまで上記処理を繰り返す。図6(b)は、書き込み対象セルがベリファイ電圧V0_1を超えた直後の状態を示す。書き込み対象セルが1つでもベリファイ電圧V0_1を超えると、ステップST6に進み、プログラム電圧Vpgからステップ電圧Vsp0を減じた電圧を設定電圧VS0として記憶しておく。
【0046】
以上でL0に対する大まかな閾値分布を形成する処理を終了する。このように、書き込み対象セルが1つでもベリファイ電圧V0_1を超えた状態で処理を終了するので、図6(b)に示されるように、閾値がベリファイ電圧V0_1よりも低いセルが多く存在する。
【0047】
ステップST7乃至ステップST12は、ステップST1乃至ステップST6と同様の処理である。第2実施例と同様に、ステップ電圧Vsp1は例えば1.0Vに設定し、またベリファイ電圧V1_1は例えば1.0Vとする。プログラム開始電圧は、ステップST6で記憶したVS0にステップ電圧Vsp1を加えた電圧である。図2(c)は、ステップST7乃至ステップST12を終了し、L1に対する大まかな閾値分布を形成した状態を示す。
【0048】
ステップST13乃至ステップST18は、ステップST1乃至ステップST6と同様の処理である。第2実施例と同様に、ステップ電圧Vsp2は例えば1.25Vに設定し、またベリファイ電圧V2_1は例えば2.2Vとする。プログラム開始電圧は、ステップST12で記憶したVS1にステップ電圧Vsp2を加えた電圧である。図2(d)は、ステップST13乃至ステップST18を終了し、L2に対する大まかな閾値分布を形成した状態を示す。
【0049】
図5に示す第3実施例においては、以下に説明するように、第2回目の大まかに閾値分布を形成する処理を実行することで、閾値分布の位置を最終的な閾値分布の位置に更に近づけておく。図5では、この処理をステップ2としてある。
【0050】
図5のステップ2の動作(ステップST19乃至ステップST36)は、図5のステップ1の動作(ステップST1乃至ステップST18)と同様であり、詳細は省略する。なお使用する閾値電圧及びベリファイ電圧は、図3の第2実施例のステップ2において使用した閾値電圧及びベリファイ電圧と同一である。但し図5では、L0に対しても閾値分布の幅を狭くしておく処理を実行しているが、この場合のステップ電圧Vsp0_2は例えば0.5Vとし、ベリファイ電圧V0_2は例えば0.3Vとする。この処理により閾値分布がシフトされていく様子を、図6(e)乃至(g)に示す。
【0051】
以上の処理の後、ステップ3において、図3のステップ3と同様の書き込み動作を実行する。即ち、L0、L1、及びL2に対して大まかに設定された3つの広い分布を、小さなステップ電圧による細かいプログラム動作により、L0、L1、及びL2に対応する狭い分布に整形する。この際、使用するステップ電圧及びベリファイ電圧は、第2実施例の場合と同一である。またプログラム開始電圧は、L0、L1、L2に対して夫々、ステップST24で求めたVS0、ステップST30で求めたVS1、ステップST36で求めたVS2を用いて設定している。
【0052】
図6(h)は、書き込み動作が終了した状態を示す図である。
【0053】
以上の動作により、まず大きなステップ電圧を用いてL0乃至L2に対する書き込み動作を2段階に分けて実行することにより大まかな閾値分布を形成し、その後小さなステップ電圧を用いてL0乃至L2に対する書き込み動作を実行することにより閾値分布を所望の幅に整形することが可能となる。この際に大まかな閾値分布を形成した際のプログラム電圧を記憶しておくことで、小さなステップ電圧を用いてプログラムする際のプログラム開始電圧を適切な値に設定することが出来る。従って本発明においては、短時間で書き込み動作を完了し、且つ所望の幅の閾値分布を形成することが可能となる。
【0054】
図7は、本発明による多値メモリセルへの書き込み動作の第4実施例を示すフローチャートである。図8は、図7のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【0055】
図8(a)は、メモリセルの書き込みを実行した後に達成されるべきビット分布を示す図である。ここでレベルL0の分布の左端の閾値をV0_2(例えば0.6V)、レベルL1の分布の左端の閾値をV1_2(例えば1.8V)、レベルL2の分布の左端の閾値をV2_2(例えば3.2V)とする。また各分布の広がりは0.4Vであるとする。
【0056】
図7のフローチャートを参照し、ステップST1において、メモリセルトランジスタのセル書込み特性やワード線の書き込み特性から、プログラム時にワード線に印加する最初の電圧である初期電圧Vstartを決定し、プログラム電圧Vpgを初期電圧Vstartに設定する。またN0、N1、及びN2を0に初期設定する。
【0057】
ステップST2において、ベリファイ電圧V0_1(例えば0V)としてベリファイを実行する。ステップST3において、N0が1であるか否かを判定する。最初の状態では、N0が0であるのでステップST4に進み、書き込み対象セルの閾値が1つでもベリファイ電圧V0_1を超えたか否かを判定する。超えていない場合には、ステップST5に進み、L0、L1、及びL2の書き込み対象セルを、プログラム電圧Vpgを用いてプログラムする。次にステップST6で、プログラム電圧Vpgをステップ電圧Vsp_1だけ増加する。ここでVsp_1は例えば0.75Vとする。このステップ電圧Vsp_1は、レベルL0乃至L2のプログラム動作に共通に使用されるものであり、従ってレベルL0乃至L2の何れに対しても問題のないように適切な値が設定される。
【0058】
その後ステップST2に戻り、書き込み対象セルが1つでもベリファイ電圧V0_1を超えるまで、即ちステップST4の判断がYesになるまで上記処理を繰り返す。図8(b)は、書き込み対象セルがベリファイ電圧V0_1を超える直前の状態を示す。
【0059】
書き込み対象セルが1つでもベリファイ電圧V0_1を超えると、ステップST7に進み、プログラム電圧Vpgからステップ電圧Vsp_1を減じた電圧を設定電圧VS0として記憶しておく。またN0=1とすることで、次回のループの実行時にステップST4及びST7をスキップするよう設定される。
【0060】
次にステップST8において、ベリファイ電圧V1_1(例えば1.2V)としてベリファイを実行する。ステップST9において、N1が1であるか否かを判定する。最初の状態では、N1が0であるのでステップST10に進み、書き込み対象セルの閾値が1つでもベリファイ電圧V1_1を超えたか否かを判定する。超えていない場合には、ステップST5に戻りL0、L1、及びL2の書き込み対象セルに対するプログラム動作を実行し、それ以降のステップを再度実行する。この動作を、書き込み対象セルが1つでもベリファイ電圧V1_1を超えるまで、即ちステップST10の判断がYesになるまで繰り返す。図8(c)は、書き込み対象セルがベリファイ電圧V1_1を超えた直後の状態を示す。
【0061】
書き込み対象セルが1つでもベリファイ電圧V1_1を超えると、ステップST11に進み、プログラム電圧Vpgからステップ電圧Vsp_1を減じた電圧を設定電圧VS1として記憶しておく。またN1=1とすることで、次回のループの実行時にステップST10及びST11をスキップするよう設定される。
【0062】
次にステップST12において、ベリファイ電圧V2_1(例えば2.6V)としてベリファイを実行する。ステップST13において、N2が1であるか否かを判定する。最初の状態では、N2が0であるのでステップST14に進み、書き込み対象セルの閾値が1つでもベリファイ電圧V2_1を超えたか否かを判定する。超えていない場合には、ステップST5に戻りL0、L1、及びL2の書き込み対象セルに対するプログラム動作を実行し、それ以降のステップを再度実行する。この動作を、書き込み対象セルが1つでもベリファイ電圧V2_1を超えるまで、即ちステップST14の判断がYesになるまで繰り返す。図8(d)は、書き込み対象セルがベリファイ電圧V2_1を超えた直後の状態を示す。
【0063】
書き込み対象セルが1つでもベリファイ電圧V2_1を超えると、ステップST15に進み、プログラム電圧Vpgからステップ電圧Vsp_1を減じた電圧を設定電圧VS2として記憶しておく。またN2=1とすることで、次回のループの実行時にステップST14及びST15をスキップするよう設定される。
【0064】
次にステップST16において、全ての書き込み対象のセルがベリファイをパスしたか否かを判定する。パスしていない場合にはステップST5に戻りプログラム動作を実行し、更にそれ以降の動作を繰り返す。ステップST16において全セルがパスした場合には、次段に進む。図2(e)は、全ての書き込み対象のセルがベリファイをパスした状態を示す。
【0065】
以上の処理の後、ステップ2において、図3のステップ3と同様の書き込み動作を逆順に実行する。即ち、L0、L1、L2の順番で書き込み動作を実行し、小さなステップ電圧による細かいプログラム動作を実行することにより、大まかに設定された3つの広い分布を夫々対応する狭い分布に整形する。この際、使用するステップ電圧及びベリファイ電圧は、L0のベリファイ電圧を除いて第2実施例の場合と同一である。L0のベリファイ電圧は、プログラム・ディスターブの影響を考慮して0.05V低く設定してある。またプログラム開始電圧は、L0、L1、L2に対して夫々、ステップST7で求めたVS0、ステップST11で求めたVS1、ステップST15で求めたVS2を用いて設定している。
【0066】
図8(f)は、書き込み動作が終了した状態を示す図である。
【0067】
以上の動作により、まず大きなステップ電圧を用いてL0乃至L2に対する書き込み動作を纏めて実行することにより大まかな閾値分布を形成し、その後小さなステップ電圧を用いてL0乃至L2に対する書き込み動作を実行することにより閾値分布を所望の幅に整形することが可能となる。この際に大まかな閾値分布を形成した際のプログラム電圧を記憶しておくことで、小さなステップ電圧を用いてプログラムする際のプログラム開始電圧を適切な値に設定することが出来る。従って本発明においては、短時間で書き込み動作を完了し、且つ所望の幅の閾値分布を形成することが可能となる。
【0068】
図9は、本発明を適用する不揮発性半導体記憶装置の全体構成を示すブロック図である。
【0069】
図9の不揮発性半導体記憶装置20は、コントロール回路21、コマンドレジスタ22、I/Oコントロール回路23、アドレスレジスタ24、ステータスレジスタ25、メモリセルアレイ26、ローアドレスデコーダ27、ローアドレスバッファ28、コラムデコーダ29、データレジスタ30、センスアンプ31、コラムアドレスバッファ32、高電圧発生回路33、ロジックコントロール34、及びレディ/ビジーレジスタ35を含む。
【0070】
ロジックコントロール34は、チップイネーブル/CE、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、ライトイネーブル/WE、リードイネーブル/RE、ライトプロテクト/WP、スペアエリアイネーブル/SE等の制御信号を外部から受け取り、これらの制御信号に基づいてロジックコントロール信号をコントロール回路21に供給する。
【0071】
I/Oコントロール回路23は、入出力信号I/O0乃至I/O7を外部とやり取りする。I/Oコントロール回路23は、アドレス信号、データ信号、コマンド信号を外部から受け取り、アドレス信号をアドレスレジスタ24に、データ信号をデータレジスタ30に、コマンド信号をコマンドレジスタ22に供給する。アドレスレジスタ24は、ローアドレスをローアドレスバッファ28に供給し、コラムアドレスをコラムアドレスバッファ32に供給する。
【0072】
コントロール回路21は、ロジックコントロール34からのロジックコントロール信号を受け取ると共に、コマンドレジスタ22からコマンドを受け取り、これらのロジックコントロール信号及びコマンドに基づいてステートマシンとして動作し、不揮発性半導体記憶装置20の各部の動作を制御する。
【0073】
コントロール回路21は、アドレスレジスタ24の指示するメモリセルアレイ26のアドレスからデータを読み出すために、メモリセルアレイ26、ローアドレスデコーダ27、コラムデコーダ29等を制御する。またコントロール回路21は、メモリセルアレイ26の書き込みアドレスにデータを書き込むために、メモリセルアレイ26、ローアドレスデコーダ27、コラムデコーダ29等を制御する。またコントロール回路21は、メモリセルアレイ26の指定された領域を所定単位で一括消去するために、メモリセルアレイ26、ローアドレスデコーダ27、コラムデコーダ29等を制御する。前述の第1乃至第4実施例の書き込み処理は、コントロール回路21が各回路ユニットを制御することで実行される。
【0074】
メモリセルアレイ26はメモリセルトランジスタの配列、ワード線、ビット線等を含み、各メモリセルトランジスタにデータを記憶する。データ読み出し時には、活性化ワード線で指定されるメモリセルからのデータが、ビット線に読み出される。プログラム或いはイレーズ時には、ワード線及びビット線をそれぞれの動作に応じた適当な電位に設定することで、メモリセルに対する電荷注入或いは電荷抜き取りの動作を実行する。
【0075】
センスアンプ31はコントロール回路21の制御の下で動作し、ローアドレスデコーダ27及びコラムデコーダ29による指定に応じてメモリセルアレイ26から供給されるデータの電流を、基準電流と比較することでデータが0であるか1であるかの判定を行う。この判定結果は読み出しデータとしてデータレジスタ30に格納され、更にデータレジスタ30からI/Oコントロール回路23に供給される。
【0076】
またプログラム動作及びイレーズ動作に伴うベリファイ動作は、ローアドレスデコーダ27及びコラムデコーダ29による指定に応じてメモリセルアレイ26から供給されるデータの電流を、プログラムベリファイ用及びイレーズベリファイ用の基準電流と比較することで行われる。プログラム動作においては、データレジスタ30に書き込みデータが格納され、このデータに基づいてメモリセルアレイ26のワード線及びビット線を適当な電位に設定することで、メモリセルに対する電荷注入を実行する。なお後述するように、本発明においては、書き込み対象セルが1つでもベリファイ電圧を超えたことを検出するための回路が、データレジスタ30及びセンスアンプ31周辺に設けられている。
【0077】
ステータスレジスタ25は、不揮発性半導体記憶装置20の動作に関するステータス情報を格納するレジスタであり、このレジスタ内容をI/Oコントロール回路23を介して外部から読み出すことで、デバイスがレディ状態であるか、書込み保護モードであるか、又はプログラム/消去動作中かを判断することが出来る。またレディ/ビジーレジスタ35は、デバイスがレディ状態であるかビジー状態であるかを示すフラグを格納し、これに応じてレディ/ビジー信号が外部に出力される。高電圧発生回路33は、プログラム動作及びイレーズ動作に用いられる高電位を発生する回路である。
【0078】
図10は、本発明に使用するページバッファ周辺の構成を示す図である。
【0079】
図10の回路は、図9に示されるメモリセルアレイ26、センスアンプ31、データレジスタ30の一部に対応し、書込み/読出し回路41、データラッチ42、データラッチ43、書込み/読出し用テンポラリラッチ44、ベリファイ検出用トランジスタ45、コンデンサ46、トランジスタ47及び48、複数のスイッチ回路49、メモリセル50、ビット線BL、及びワード線WLを含む。
【0080】
データ書込み時には、データバスからスイッチ回路49を介して、データラッチ42及び43に2ビットのデータが格納される。この2ビットデータによって、E、L0、L1、及びL2の4段階のレベルを表現する。また更に、データバスからスイッチ回路49を介して、書込み/読出し用テンポラリラッチ44に書き込み指示が格納される。即ち、書込み動作を実行する場合には、ノードNVpがHIGHになるように書込み/読出し用テンポラリラッチ44を設定する。
【0081】
書き込みの有無に応じて、書込み/読出し回路41がビット線BLの電位を制御し、ワード線WLにプログラム電圧Vpgを印加してプログラム動作を実行する。その後、ベリファイ電圧をワード線WLに印加し、書込み/読出し回路41がビット線BLから読み出されたデータをチェックする。ベリファイをパスすると、書込み/読出し回路41はノードNVpをLOWに引き下げ、これに応じてトランジスタ45が非導通になる。このトランジスタ45は、1ページのページバッファ分のメモリセルについてワイヤードNORされており、全てのメモリセルについてベリファイがパスすると全てのトランジスタ45がオフとなり、端子VerifyOK/NGがHIGHになる。
【0082】
図10のページバッファにおいては、前述の第1乃至第4実施例を実現するために、最初のセルがベリファイ電位を超えたことを検出する必要がある。ここで問題となるのは、書き込み対象でないセルに対してはノードNVpがLOWになるように書込み/読出し用テンポラリラッチ44が設定されているので、この状態と、ベリファイがパスしてノードNVpがLOWになった状態とを区別する必要があることである。
【0083】
図10の回路においては、コンデンサ46によってノードNVnの直流成分を遮断し電位変化のみを検出することによって、ベリファイがパスしてノードNVpがLOWになった状態を検出する構成となっている。図11は、図10の回路においてノードNVpのLOWへの変化を検出する動作を示すタイミング波形図である。
【0084】
図11(a)に示すように、ワード線に所定の電圧Vpgmを印加してプログラム動作を実行し、その後ベリファイ電圧V_verifyを印加してベリファイ読み出し(図11(b))を実行する。このベリファイ動作において、読み出したデータがパスしてノードNVp(図11(d))がLOWになるとノードNVn(図11(e))がHIGHとなり、コンデンサ46を介した容量結合によって、ノードNg(図11(f))の電位が上昇する。このノードNgの電位は、Set_V_1stP(図11(c))をHIGHにしてトランジスタ47を導通させることにより、予めLOWに初期設定されている。従って、上記のようにしてノードNgの電位が上昇すると、それまでオフであったトランジスタ48が導通し、端子Verify_1stPがLOWとなる。
【0085】
従って、Verify_1stPの電位をモニターしておくことで、一番最初のセルがベリファイ電位を超えたことを検出することが出来る。
【0086】
以上のようにして、本発明においては図10に示されるページバッファを使用することにより、1つでもセルがベリファイをパスした状態を検出することが出来る。従って、この検出に応じてその時点でのプログラム電圧(或いは印加パルス回数等のプログラム電圧を示す情報)をメモリに記憶し、この情報を用いて上記実施例の説明のように短時間で所望の幅を有する閾値分布を形成することが可能となる。
【0087】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【0088】
なお本発明は以下の内容を含むものである。
(付記1)不揮発性メモリセルを含むメモリセルアレイと、
異なる複数のレベルのデータを該メモリセルに書き込む書き込み回路と、
該書き込み回路を制御することにより、該複数のレベルの1つのレベルを書き込み対象として書き込み電圧を第1のステップ電圧づつ増加させながら第1の書き込み動作を実行し、該第1の書き込み動作を実行しながら所定のタイミングにおける該書き込み電圧を記憶し、該1つのレベルを書き込み対象として該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行する制御回路
を含むことを特徴とする不揮発性半導体記憶装置。
(付記2)該所定のタイミングは、書き込み対象のメモリセルの少なくとも1つの閾値電圧が所定のベリファイ電圧を超えたタイミングであることを特徴とする付記1記載の不揮発性半導体記憶装置。
(付記3)該メモリセル毎に設けられ対応メモリセルの閾値電圧がベリファイ電圧を超えると電位が変化するノードと、
該ノード電位の変化を検出する電位変化検出回路
を更に含むことを特徴とする付記2記載の不揮発性半導体記憶装置。
(付記4)該電位変化検出回路は、
該ノードに第1端が接続されるコンデンサと、
該コンデンサの第2端にゲートが接続されるトランジスタ
を含むことを特徴とする付記3記載の不揮発性半導体記憶装置。
(付記5)該制御回路は、該第1の書き込み動作を該複数のレベルに対して順次実行し、その後該第2の書き込み動作を該複数のレベルに対して順次実行し、該記憶された書き込み電圧は該複数のレベルごとに異なることを特徴とする付記1記載の不揮発性半導体記憶装置。
(付記6)該制御回路は、該第2の書き込み動作を実行しながら所定のタイミングにおける該書き込み電圧を更に記憶し、該1つのレベルを書き込み対象として該更に記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第2のステップ電圧より小さい第3のステップ電圧づつ増加させて第3の書き込み動作を実行することを特徴とする付記1記載の不揮発性半導体記憶装置。
(付記7)該制御回路は、書き込み対象のメモリセルの少なくとも1つの閾値電圧が所定のベリファイ電圧を超えると該第1の書き込み動作を終了させることを特徴とする付記1記載の不揮発性半導体記憶装置。
(付記8)該制御回路は、該第2の書き込み動作を該複数のレベルの高い方から低い方に順次実行することを特徴とする特徴とする付記1記載の不揮発性半導体記憶装置。
(付記9)該制御回路は、書き込み対象のメモリセルの最初の1つが所定のベリファイ電圧を超える時点における書き込み電圧を基準として、該書き込み電圧を記憶することを特徴とする付記1記載の不揮発性半導体記憶装置。
(付記10)異なる複数のレベルのデータを不揮発性メモリセルに書き込む方法であって、
該複数のレベルの1つのレベルを書き込み対象として書き込み電圧を第1のステップ電圧づつ増加させながら第1の書き込み動作を実行し、
該第1の書き込み動作を実行しながら所定のタイミングにおける該書き込み電圧を記憶し、
該第1の書き込み動作及び該書き込み電圧の記憶を該複数のレベルの各々に対して実行し、
ある1つのレベルを書き込み対象として該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行する
各段階を含むことを特徴とするデータ書き込み方法。
(付記11)該第1の書き込み動作を該複数のレベルに対して順次実行し、その後該第2の書き込み動作を該複数のレベルに対して順次実行し、該記憶された書き込み電圧は該複数のレベルごとに異なることを特徴とする付記10記載のデータ書き込み方法。
(付記12)該第2の書き込み動作を実行しながら所定のタイミングにおける該書き込み電圧を更に記憶し、該1つのレベルを書き込み対象として該更に記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第2のステップ電圧より小さい第3のステップ電圧づつ増加させて第3の書き込み動作を実行することを特徴とする付記10記載のデータ書き込み方法。
(付記13)該第2の書き込み動作を該複数のレベルの高い方から低い方に順次実行することを特徴とする付記10記載のデータ書き込み方法。
【発明の効果】
本発明による不揮発性半導体記憶装置においては、まず大きなステップ電圧を用いて書き込み動作を実行することにより大まかな閾値分布を形成し、その後小さなステップ電圧を用いて書き込み動作を実行することにより閾値分布を所望の幅に整形することが可能となる。この際に大まかな閾値分布を形成した際の書き込み電圧を記憶しておくことで、小さなステップ電圧を用いてプログラムする際の書き込み開始電圧を適切な値に設定することが出来る。従って本発明においては、短時間で書き込み動作を完了し、且つ所望の幅の閾値分布を形成することが可能となる。
【図面の簡単な説明】
【図1】本発明による多値メモリセルへの書き込み動作の第1実施例を示すフローチャートである。
【図2】図1のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【図3】本発明による多値メモリセルへの書き込み動作の第2実施例を示すフローチャートである。
【図4】図3のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【図5】本発明による多値メモリセルへの書き込み動作の第3実施例を示すフローチャートである。
【図6】図5のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【図7】本発明による多値メモリセルへの書き込み動作の第4実施例を示すフローチャートである。
【図8】図7のフローチャートでメモリセルの書き込みを実行する際のビット分布を示す図である。
【図9】本発明を適用する不揮発性半導体記憶装置の全体構成を示すブロック図である。
【図10】本発明に使用するページバッファ周辺の構成を示す図である。
【図11】図10の回路においてノードNVpのLOWへの変化を検出する動作を示すタイミング波形図である。
【符号の説明】
20 不揮発性半導体記憶装置
21 コントロール回路
22 コマンドレジスタ
23 I/Oコントロール回路
24 アドレスレジスタ
25 ステータスレジスタ
26 メモリセルアレイ
27 ローアドレスデコーダ
28 ローアドレスバッファ
29 コラムデコーダ
30 データレジスタ
31 センスアンプ
32 コラムアドレスバッファ
33 高電圧発生回路
34 ロジックコントロール
35 レディ/ビジーレジスタ
[0001]
BACKGROUND OF THE INVENTION
The present invention generally relates to a nonvolatile semiconductor memory device, and particularly relates to a nonvolatile semiconductor memory device that stores a plurality of data levels.
[Prior art]
In a nonvolatile semiconductor memory device, when writing is performed to a memory cell to be written by a program operation, charges are injected into the floating gate of the memory cell transistor, and the threshold voltage rises. As a result, even when a voltage equal to or lower than the threshold is applied to the gate, no current flows, and a state where data “0” is written is achieved. In general, there are variations in the threshold voltage and write speed of memory cells in the erased state. Accordingly, when a program operation is performed by applying a predetermined write voltage and the threshold voltage is verified so as to be equal to or higher than the verify level, the threshold voltage of the memory cell after writing has a certain distribution above the verify level.
[0002]
In general, the program is simultaneously executed for a large number of memory cells (for example, 1024 bytes: 4096 in the case of 4-bit multilevel of 2 bits / cell). Therefore, for 4096 bit lines, data indicating “write / not write” is previously loaded into the page buffer. The verification is to determine whether or not the threshold value of these cells has become higher than the verification level threshold value. When the threshold value becomes higher than the verification level threshold value, the verification is OK. Thereafter, data indicating “not written” is assigned to the bit line so that the threshold value does not shift any more when the memory cells that are not verified are continuously written. Therefore, the threshold value is fixed to the cell that has been verified OK at that time.
[0003]
In the case of a non-volatile semiconductor memory device having multi-level memory cells that express multi-levels by setting memory cells to different threshold voltages, if the threshold voltage has a wide distribution, the interval between adjacent level values is narrow. It becomes difficult to perform reliable data recording. Therefore, it is desirable to achieve as narrow a threshold voltage distribution as possible.
[0004]
For example, in a multi-level memory cell having a bit distribution of 4 levels, there are four levels of values, Erase, Level 0, Level 1, and Level 2.
[0005]
In order to write four levels of data, for example, data is first loaded into the page buffer, and data is stored in the write buffer WB for the write target memory cells of Level 0 to Level 2. Program and verify are executed for the write target memory cell using the Level 0 potential pulse, and Level 0 is written. Next, with respect to the write target memory cells of Level 1 and Level 2, program and verify are executed using the potential pulse of Level 1, and Level 1 is written. Finally, programming and verifying are performed for the memory cell to be written with Level 2 using the potential pulse of Level 2, and writing with Level 2 is executed.
[Problems to be solved by the invention]
In the above write operation, the write speed and the threshold voltage distribution are in conflict with each other.
[0006]
First, regarding the writing speed, it is preferable that the writing operation can be completed in as short a time as possible. For this purpose, it is desirable to use a large step voltage when the program voltage is increased step by step in the write operation. However, when a large step voltage is used, there is a problem in that the threshold voltage distribution after the end of writing becomes wider than when the threshold voltage is set in small increments using a small step voltage. As described above, when the threshold voltage has a wide distribution, there is a problem that the interval between adjacent level values becomes narrow and it is difficult to perform reliable data recording. Conversely, when a small step voltage is used to narrow the threshold voltage distribution, there is a problem that the writing speed is slowed and the operation efficiency is deteriorated.
[0007]
In view of the above, an object of the present invention is to provide a nonvolatile semiconductor memory device that can complete a write operation in a short time and can generate a relatively narrow threshold voltage distribution.
[Means for Solving the Problems]
A non-volatile semiconductor memory device according to the present invention includes a memory cell array including non-volatile memory cells, a write circuit for writing different levels of data into the memory cell, and the write circuit by controlling the write circuits. One of the levels is a write target, and the first write operation is performed on a write target memory cell corresponding to the write target level and all levels greater than the write target. The write voltage is executed while increasing by the first step voltage, and the write voltage at the timing when at least one threshold voltage of the write target memory cell exceeds the verify voltage is stored while executing the first write operation. And storing the first write operation and the write voltage in each of the plurality of levels. For , Sequentially from the lowest to the highest After running, the multiple levels One level is set as a write target, and the memory cell corresponding to the write target level is set in the memory cell. Starting from a voltage determined based on the stored write voltage, the write voltage is increased by a second step voltage smaller than the first step voltage to execute a second write operation. The second write operation is sequentially executed from the lowest of the plurality of levels to the higher A control circuit is included.
[0008]
In the nonvolatile semiconductor memory device, first, a rough threshold distribution is formed by executing a write operation using a large step voltage, and then a threshold distribution is obtained by executing a write operation using a small step voltage. It becomes possible to shape the width. At this time, by storing the write voltage when the rough threshold distribution is formed, the write start voltage at the time of programming using a small step voltage can be set to an appropriate value. Therefore, in the present invention, the write operation can be completed in a short time and a threshold distribution having a desired width can be formed.
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0009]
FIG. 1 is a flowchart showing a first embodiment of a write operation to a multilevel memory cell according to the present invention. FIG. 1 corresponds to a case where the bit distribution has four levels. FIG. 2 is a diagram showing a bit distribution when executing writing into a memory cell in the flowchart of FIG.
[0010]
FIG. 2A is a diagram illustrating a bit distribution to be achieved after executing writing of a memory cell. Here, the horizontal axis indicates the threshold voltage of the memory cell transistor, and the vertical axis indicates the number of bits (number of memory cells). As shown in FIG. 2A, after writing, there are four levels of values E (Erase), L0 (Level 0), L1 (Level 1), and L2 (Level 2). Here, the left threshold of the level L0 distribution is V0_2 (eg, 0.4V), the left threshold of the level L1 distribution is V1_2 (eg, 1.3V), and the left threshold of the level L2 distribution is V2_2 (eg, 2.V). 3V). The spread of each distribution is assumed to be 0.3V.
[0011]
Referring to the flowchart of FIG. 1, in step ST1, an initial voltage Vstart, which is the first voltage applied to the word line during programming, is determined from the cell write characteristics of the memory cell transistor and the word line write characteristics, and the program voltage Vpg is set. Set to initial voltage Vstart. N is initialized to 0.
[0012]
In step ST2, the verify is executed with the verify voltage V0_1 (for example, 0V). In step ST3, it is determined whether N is 1. In the initial state, since N is 0, the process proceeds to step ST4, and it is determined whether or not the threshold voltage of the write target cell exceeds the verify voltage V0_1. If not, the process proceeds to step ST5, and the write target cells of L0, L1, and L2 are programmed using the program voltage Vpg. Next, in step ST6, the program voltage Vpg is increased by the step voltage Vsp0 for L0. Here, Vsp0 is, for example, 0.5V. Since the maximum value of the target threshold distribution at level L0 is 0.7V, the threshold voltage after writing is set so as not to exceed 0.7V. The step voltage is 0.5V with respect to the verify voltage of 0V. Is set, the threshold voltage does not exceed 0.7V.
[0013]
Thereafter, the process returns to step ST2, and the above processing is repeated until even one write target cell exceeds the verify voltage V0_1, that is, until the determination in step ST4 becomes Yes. FIG. 2B shows a state immediately before the write target cell exceeds the verify voltage V0_1.
[0014]
If even one write target cell exceeds the verify voltage V0_1, the process proceeds to step ST7, and a voltage obtained by subtracting the step voltage Vsp0 from the program voltage Vpg is stored as the set voltage VS0. Here, the step voltage Vsp0 is reduced because the step voltage Vsp0 is added after the program of step ST5. Therefore, the set voltage VS0 stored here is a program voltage when the first cell exceeds the verify voltage V0_1. Actually, when the first write target cell passes verification, the number of pulses applied so far is stored. Also, by setting N = 1 in step ST7, it is set to skip steps ST4 and ST7 when the next loop is executed.
[0015]
Next, in step ST8, it is determined whether or not all the write target cells have passed the verification. If not, the program returns to step ST5 to execute the program operation, and the subsequent operations are repeated. If all cells pass in step ST8, the process proceeds to the next stage. FIG. 2C shows a state in which all the write target cells have passed the verification.
[0016]
In FIG. 1, step ST1 to step ST8 are collectively referred to as step 1, step 4 from step ST9 to step ST12 is collectively referred to as step 2, and step ST13 to step ST27 are collectively referred to as step 3.
[0017]
In step ST9, the step voltage Vsp1 for L1 is added to the stored setting voltage VS0 to set it as the program voltage Vpg. Here, Vsp1 is 1.0 V, for example. Next, in step ST10, the write target cells of L1 and L2 are programmed using the program voltage Vpg. Vsp1 is set to 1.0 V, but this may be set so that the maximum threshold after writing does not exceed the maximum value of the target threshold distribution of L1. Since the set voltage VS0 is a program voltage when the first cell exceeds the verify voltage V0_1 (0V), when programmed by adding Vsp1 (1.0V) to this voltage VS0, it is the cell having the highest threshold. However, it does not exceed 0.5V + 1.0V. FIG. 2D shows a state immediately after executing the program operation in step ST10.
[0018]
Verification is not necessary after the program operation in step ST10, but it may be executed. Further, the program operation may be executed twice or more, but in this case, the verify operation is essential. The verify voltage may be 0.6 V obtained by subtracting 1 V from the maximum value of the L1 target threshold.
[0019]
In step ST11, the step voltage Vsp2 for L2 is added to the program voltage Vpg to set it as the program voltage Vpg. Here, Vsp2 is set to 1.0 V, for example. Next, in step ST12, the write target cell of L2 is programmed using the program voltage Vpg. Vsp2 is set to 1.0 V, but this may be set so that the maximum threshold after writing does not exceed the maximum value of the target threshold distribution of L2. As in the case of L1, verification is not necessary after the program operation in step ST12, but it may be executed. FIG. 2E shows a state immediately after executing the program operation in step ST12.
[0020]
After the above operation, the last step 3 is executed. In step 3, as shown in FIG. 2E, three broad distributions roughly set for L0, L1, and L2 are converted into L0, L1, and L2 by fine program operation with a small step voltage. This is the step of shaping into a narrow distribution corresponding to.
[0021]
First, in step ST13, VS0 + Vsp1 + Vsp2-Vsp5 is set as the program voltage Vpg. At this time, since VS0 + Vsp1 + Vsp2 is a program voltage at the time of execution of step ST12, this voltage (actually, the number of applied pulses) may be stored and used for voltage setting in step ST13. Here, the step voltage Vsp5 is, for example, 0.2V. The step voltage Vsp5 may be set to a voltage that is small enough to achieve the desired width of the target threshold distribution.
[0022]
In step ST14, the verify is executed with the verify voltage V2_2, and in step ST15, it is determined whether or not the verify result is passed. If not passed, the process proceeds to step ST16, and the write target cell of L2 is programmed using the program voltage Vpg. Next, in step ST7, the program voltage Vpg is increased by the step voltage Vsp5. Thereafter, the process returns to step ST14 and the verify process is repeated. FIG. 2 (f) is a diagram showing a state in which the write operation for level L2 is completed.
[0023]
When the verification is passed and the writing of the level L2 is completed, the writing of the level L1 is executed in steps ST18 to ST22. The write operation is the same as that at the level L2. However, VS0 + Vsp1-Vsp4 is used as the initial setting value of the program voltage Vpg, and Vsp4 is set to 0.2 V, for example. FIG. 2G is a diagram showing a state where the write operation for level L1 is completed.
[0024]
When the writing of the level L1 is completed, the writing of the level L0 is executed in steps ST23 to ST27. The write operation is the same as that at the level L2. However, VS0-Vsp3 is used as the initial setting value of the program voltage Vpg, and Vsp3 is set to 0.2 V, for example. FIG. 2H shows a state in which the write operation for level L0 has been completed.
[0025]
Thus, the write operation for levels L0 to L2 is completed. Contrary to the above operation, when writing is started from L0 and L2 is written later, the L0 side receives program disturb and shifts to a higher threshold voltage. If writing is started from L2 and L0 is written later as in the above operation, the threshold values of the L0 and L1 cells are slightly shifted at the time of writing of L2, but thereafter the writing operation to L0 and L1 is executed. Therefore, the influence of the shift is almost eliminated.
[0026]
The step voltage is first reduced as the program start voltage, such as “−Vsp5” in step ST13, “−Vsp4” in step ST18, and “−Vsp3” in step ST23. Is as close to 0.2V as possible. Accordingly, in consideration of the maximum value of the threshold distribution and the program time, an adjustment may be made to reduce twice the step voltage or not at all.
[0027]
By the above operation, first, a rough threshold distribution is formed by executing a write operation for L0 to L2 using a large step voltage, and then a threshold value is generated by executing a write operation for L0 to L2 using a small step voltage. The distribution can be shaped to a desired width. By storing the program voltage when the rough threshold distribution is formed at this time, the program start voltage when programming using a small step voltage can be set to an appropriate value. Therefore, in the present invention, the write operation can be completed in a short time and a threshold distribution having a desired width can be formed.
[0028]
FIG. 3 is a flowchart showing a second embodiment of the write operation to the multilevel memory cell according to the present invention. FIG. 4 is a diagram showing a bit distribution when executing writing to the memory cell in the flowchart of FIG.
[0029]
FIG. 4A is a diagram showing a bit distribution to be achieved after executing writing of a memory cell. Here, the threshold value at the left end of the distribution of level L0 is V0_2 (eg, 0.6V), the threshold value at the left end of the distribution of level L1 is V1_2 (eg, 1.8V), and the threshold value at the left end of the distribution of level L2 is V2_2 (eg, 3.V). 2V). The spread of each distribution is assumed to be 0.4V.
[0030]
Referring to the flowchart of FIG. 3, steps ST1 to ST8 are the same as steps ST1 to ST8 of the first embodiment of FIG. The verify voltage V0_1 is 0 V, for example, and the step voltage Vsp0 is 0.75 V, for example. By this processing, a rough threshold distribution corresponding to the level L0 is formed for the write target cells L0 to L2. FIG. 4B shows a state immediately before the write target cell exceeds the verify voltage V0_1, and FIG. 4C shows a state in which a rough threshold distribution corresponding to the level L0 is formed.
[0031]
Steps ST9 to ST16 are the same as steps ST1 to ST8 in the first embodiment of FIG. The step voltage Vsp1 is set to, for example, 1.0 V with some margin in consideration that the difference between the maximum threshold voltage value of L1 of 2.2 V and the maximum threshold voltage value of L0 of 1.0 V is 1.2 V. . The verify voltage V1_1 is set to 1.0 V, for example, in consideration of the threshold voltage maximum value L2 of L1 and the step voltage 1.2V. The program start voltage is a voltage obtained by adding the step voltage Vsp1 to VS0 stored in step ST7. By this processing, a rough threshold distribution corresponding to the level L1 is formed for the write target cells of L1 and L2. FIG. 4D shows a state in which a rough threshold distribution corresponding to the level L1 is formed.
[0032]
Steps ST17 to ST24 are the same as steps ST1 to ST8 of the first embodiment of FIG. The step voltage Vsp2 is set to, for example, 1.25V with some margin in consideration that the difference between the maximum threshold voltage value of L2 of 3.6V and the maximum threshold voltage value of L0 of 2.2V is 1.4V. . The verify voltage V2_1 is set to, for example, 2.2V in consideration of the threshold voltage maximum value L2 of 3.6V and the step voltage 1.25V. The program start voltage is a voltage obtained by adding the step voltage Vsp2 to VS1 stored in step ST15. By this processing, a rough threshold distribution corresponding to the level L2 is formed for the write target cell of L2. FIG. 4E shows a state in which a rough threshold distribution corresponding to the level L2 is formed.
[0033]
In the second embodiment shown in FIG. 3, as will be described below, the second process of roughly forming the threshold distribution is executed, and before the final write operation for forming the desired threshold distribution, to some extent Processing for narrowing the width of the threshold distribution is performed. In FIG. 3, this process is step 2.
[0034]
Steps ST25 to ST32 are processes for narrowing the width of the threshold distribution corresponding to the level L1. The step voltage Vsp1_2 is set to 0.5 V, for example. The verify voltage V1_2 is set to 1.5 V, for example, in consideration of the threshold voltage maximum value L2 of L1 and the step voltage 0.5V. The program start voltage is a voltage obtained by adding the step voltage Vsp1_2 to VS1 stored in step ST15. By this processing, the threshold distribution corresponding to the level L1 is narrowed for the write target cell of L1. FIG. 4F shows a state in which the rough threshold distribution corresponding to the level L1 is narrowly formed.
[0035]
Steps ST34 to ST40 are processes for narrowing the width of the threshold distribution corresponding to the level L2. The step voltage Vsp2_2 is set to 0.5 V, for example. The verify voltage V2_2 is set to, for example, 2.9V in consideration of the threshold voltage maximum value L1 of 3.6V and the step voltage of 0.5V. The program start voltage is a voltage obtained by adding the step voltage Vsp2_2 to VS2 stored in step ST23. By this process, the threshold distribution corresponding to the level L2 is narrowed for the write target cell of L2. FIG. 4G shows a state in which the rough threshold distribution corresponding to the level L2 is narrowly formed.
[0036]
For the distribution corresponding to L0, the step voltage Vsp0 used at first is not as large as 0.75 V, so the process of forming a narrower rough threshold distribution is omitted.
[0037]
After the above processing, in step 3, the same write operation as in step 3 of FIG. 1 is executed. That is, three broad distributions roughly set for L0, L1, and L2 are shaped into narrow distributions corresponding to L0, L1, and L2 by a fine program operation with a small step voltage.
[0038]
In this writing process, the step voltages Vsp3, Vsp4, and Vsp5 to be used are set to 0.25V. The verify voltage is 0.6V for L0, 1.8V for L1, and 3.2V for L2. The program start voltage is set for L0, L1, and L2 using VS0 obtained in step ST7, VS1 obtained in step ST31, and VS2 obtained in step ST39, respectively.
[0039]
FIG. 4H is a diagram illustrating a state where the write operation is completed.
[0040]
With the above operation, first, a rough threshold distribution is formed by executing a write operation on L0 to L2 using a large step voltage, and then the threshold distribution is narrowed using an intermediate step voltage, and finally a small step voltage is formed. The threshold distribution can be shaped to a desired width by executing a write operation on L0 to L2 using. By storing the program voltage when the rough threshold distribution is formed at this time, the program start voltage when programming using a small step voltage can be set to an appropriate value. Therefore, in the present invention, the write operation can be completed in a short time and a threshold distribution having a desired width can be formed.
[0041]
FIG. 5 is a flowchart showing a third embodiment of the write operation to the multilevel memory cell according to the present invention. FIG. 6 is a diagram showing a bit distribution when executing writing into the memory cell in the flowchart of FIG.
[0042]
FIG. 6A is a diagram showing a bit distribution to be achieved after executing writing of a memory cell. Here, the left threshold of the level L0 distribution is V0_2 (eg, 0.6V), the left threshold of the level L1 distribution is V1_2 (eg, 1.8V), and the left threshold of the level L2 distribution is V2_2 (eg, 3.V). 2V). The spread of each distribution is assumed to be 0.4V.
[0043]
Referring to the flowchart of FIG. 5, in step ST1, an initial voltage Vstart, which is the first voltage applied to the word line during programming, is determined from the cell write characteristics of the memory cell transistor and the word line write characteristics, and the program voltage Vpg is set. Set to initial voltage Vstart.
[0044]
In step ST2, the verify is executed with the verify voltage V0_1 (for example, 0V). In step ST3, it is determined whether or not the threshold value of the write target cell exceeds the verify voltage V0_1. If not, the process proceeds to step ST4, and the write target cells of L0, L1, and L2 are programmed using the program voltage Vpg. Next, in step ST5, the program voltage Vpg is increased by the step voltage Vsp0 for L0. Here, Vsp0 is set to 0.75 V, for example, as in the second embodiment.
[0045]
Thereafter, the process returns to step ST2, and the above processing is repeated until even one write target cell exceeds the verify voltage V0_1, that is, until the determination in step ST3 is Yes. FIG. 6B shows a state immediately after the write target cell exceeds the verify voltage V0_1. If even one write target cell exceeds the verify voltage V0_1, the process proceeds to step ST6, and a voltage obtained by subtracting the step voltage Vsp0 from the program voltage Vpg is stored as the set voltage VS0.
[0046]
This completes the process for forming a rough threshold distribution for L0. As described above, since the process is completed in a state where even one cell to be written exceeds the verify voltage V0_1, as shown in FIG. 6B, there are many cells whose threshold is lower than the verify voltage V0_1.
[0047]
Steps ST7 to ST12 are the same processes as steps ST1 to ST6. As in the second embodiment, the step voltage Vsp1 is set to 1.0 V, for example, and the verify voltage V1_1 is set to 1.0 V, for example. The program start voltage is a voltage obtained by adding the step voltage Vsp1 to VS0 stored in step ST6. FIG. 2C shows a state in which steps ST7 to ST12 have been completed and a rough threshold distribution for L1 has been formed.
[0048]
Steps ST13 to ST18 are the same processes as steps ST1 to ST6. As in the second embodiment, the step voltage Vsp2 is set to 1.25V, for example, and the verify voltage V2_1 is set to 2.2V, for example. The program start voltage is a voltage obtained by adding the step voltage Vsp2 to VS1 stored in step ST12. FIG. 2D shows a state in which steps ST13 to ST18 have been completed and a rough threshold distribution for L2 has been formed.
[0049]
In the third embodiment shown in FIG. 5, as will be described below, the threshold distribution position is further changed to the final threshold distribution position by executing a second rough process of forming the threshold distribution. Keep it close. In FIG. 5, this process is step 2.
[0050]
The operation in step 2 in FIG. 5 (steps ST19 to ST36) is the same as the operation in step 1 in FIG. 5 (steps ST1 to ST18), and the details are omitted. The threshold voltage and verify voltage used are the same as the threshold voltage and verify voltage used in step 2 of the second embodiment of FIG. However, in FIG. 5, the process of narrowing the threshold distribution width is performed for L0. In this case, the step voltage Vsp0_2 is set to 0.5 V, for example, and the verify voltage V0_2 is set to 0.3 V, for example. . FIGS. 6E to 6G show how the threshold distribution is shifted by this processing.
[0051]
After the above processing, in step 3, the same write operation as in step 3 of FIG. 3 is executed. That is, three broad distributions roughly set for L0, L1, and L2 are shaped into narrow distributions corresponding to L0, L1, and L2 by a fine program operation with a small step voltage. At this time, the step voltage and verify voltage used are the same as those in the second embodiment. The program start voltage is set for L0, L1, and L2 using VS0 obtained in step ST24, VS1 obtained in step ST30, and VS2 obtained in step ST36, respectively.
[0052]
FIG. 6H is a diagram illustrating a state where the write operation is completed.
[0053]
By the above operation, first, a rough threshold distribution is formed by executing a write operation for L0 to L2 in two stages using a large step voltage, and then a write operation for L0 to L2 using a small step voltage. By executing, the threshold distribution can be shaped to a desired width. By storing the program voltage when the rough threshold distribution is formed at this time, the program start voltage when programming using a small step voltage can be set to an appropriate value. Therefore, in the present invention, the write operation can be completed in a short time and a threshold distribution having a desired width can be formed.
[0054]
FIG. 7 is a flowchart showing a fourth embodiment of the write operation to the multilevel memory cell according to the present invention. FIG. 8 is a diagram showing a bit distribution when executing writing of a memory cell in the flowchart of FIG.
[0055]
FIG. 8A is a diagram showing a bit distribution to be achieved after executing writing of a memory cell. Here, the threshold value at the left end of the distribution of level L0 is V0_2 (eg, 0.6V), the threshold value at the left end of the distribution of level L1 is V1_2 (eg, 1.8V), and the threshold value at the left end of the distribution of level L2 is V2_2 (eg, 3.V). 2V). The spread of each distribution is assumed to be 0.4V.
[0056]
Referring to the flowchart of FIG. 7, in step ST1, an initial voltage Vstart which is the first voltage applied to the word line at the time of programming is determined from the cell write characteristics of the memory cell transistor and the write characteristics of the word line, and the program voltage Vpg is set. Set to initial voltage Vstart. Also, N0, N1, and N2 are initialized to 0.
[0057]
In step ST2, the verify is executed with the verify voltage V0_1 (for example, 0V). In step ST3, it is determined whether N0 is 1. In the initial state, since N0 is 0, the process proceeds to step ST4, and it is determined whether or not the threshold voltage of the write target cell exceeds the verify voltage V0_1. If not, the process proceeds to step ST5, and the write target cells of L0, L1, and L2 are programmed using the program voltage Vpg. Next, in step ST6, the program voltage Vpg is increased by the step voltage Vsp_1. Here, Vsp_1 is set to 0.75 V, for example. This step voltage Vsp_1 is used in common for the programming operations of the levels L0 to L2, and accordingly, an appropriate value is set so as not to cause any problem for any of the levels L0 to L2.
[0058]
Thereafter, the process returns to step ST2, and the above processing is repeated until even one write target cell exceeds the verify voltage V0_1, that is, until the determination in step ST4 becomes Yes. FIG. 8B shows a state immediately before the write target cell exceeds the verify voltage V0_1.
[0059]
If even one write target cell exceeds the verify voltage V0_1, the process proceeds to step ST7, and a voltage obtained by subtracting the step voltage Vsp_1 from the program voltage Vpg is stored as the set voltage VS0. Further, by setting N0 = 1, it is set to skip steps ST4 and ST7 when the next loop is executed.
[0060]
Next, in step ST8, the verify is executed with the verify voltage V1_1 (for example, 1.2V). In step ST9, it is determined whether N1 is 1. In the initial state, since N1 is 0, the process proceeds to step ST10, and it is determined whether or not the threshold voltage of the write target cell exceeds the verify voltage V1_1. If not, the program returns to step ST5 to execute the program operation for the write target cells of L0, L1, and L2, and the subsequent steps are executed again. This operation is repeated until even one write target cell exceeds the verify voltage V1_1, that is, until the determination in step ST10 becomes Yes. FIG. 8C shows a state immediately after the write target cell exceeds the verify voltage V1_1.
[0061]
If even one write target cell exceeds the verify voltage V1_1, the process proceeds to step ST11, and a voltage obtained by subtracting the step voltage Vsp_1 from the program voltage Vpg is stored as the set voltage VS1. Further, by setting N1 = 1, it is set to skip steps ST10 and ST11 when the next loop is executed.
[0062]
Next, in step ST12, the verify is executed with the verify voltage V2_1 (for example, 2.6V). In step ST13, it is determined whether N2 is 1. In the initial state, since N2 is 0, the process proceeds to step ST14, where it is determined whether or not the threshold voltage of the write target cell exceeds the verify voltage V2_1. If not, the program returns to step ST5 to execute the program operation for the write target cells of L0, L1, and L2, and the subsequent steps are executed again. This operation is repeated until even one cell to be written exceeds the verify voltage V2_1, that is, until the determination in step ST14 becomes Yes. FIG. 8D shows a state immediately after the write target cell exceeds the verify voltage V2_1.
[0063]
If even one write target cell exceeds the verify voltage V2_1, the process proceeds to step ST15, and a voltage obtained by subtracting the step voltage Vsp_1 from the program voltage Vpg is stored as the set voltage VS2. Further, by setting N2 = 1, it is set to skip steps ST14 and ST15 when the next loop is executed.
[0064]
Next, in step ST16, it is determined whether or not all the write target cells have passed the verification. If not, the program returns to step ST5 to execute the program operation, and the subsequent operations are repeated. If all cells pass in step ST16, the process proceeds to the next stage. FIG. 2E shows a state in which all the write target cells pass the verification.
[0065]
After the above processing, in step 2, the write operation similar to step 3 in FIG. That is, by executing the write operation in the order of L0, L1, and L2, and executing a fine program operation with a small step voltage, the roughly set three broad distributions are shaped into corresponding narrow distributions. At this time, the step voltage and the verify voltage used are the same as those in the second embodiment except for the verify voltage of L0. The verify voltage of L0 is set lower by 0.05V in consideration of the influence of program disturb. The program start voltage is set for L0, L1, and L2 using VS0 obtained in step ST7, VS1 obtained in step ST11, and VS2 obtained in step ST15, respectively.
[0066]
FIG. 8F is a diagram showing a state where the write operation is completed.
[0067]
With the above operation, first, a rough threshold distribution is formed by collectively executing write operations for L0 to L2 using a large step voltage, and then a write operation for L0 to L2 is performed using a small step voltage. Thus, the threshold distribution can be shaped to a desired width. By storing the program voltage when the rough threshold distribution is formed at this time, the program start voltage when programming using a small step voltage can be set to an appropriate value. Therefore, in the present invention, the write operation can be completed in a short time and a threshold distribution having a desired width can be formed.
[0068]
FIG. 9 is a block diagram showing an overall configuration of a nonvolatile semiconductor memory device to which the present invention is applied.
[0069]
9 includes a control circuit 21, a command register 22, an I / O control circuit 23, an address register 24, a status register 25, a memory cell array 26, a row address decoder 27, a row address buffer 28, and a column decoder. 29, a data register 30, a sense amplifier 31, a column address buffer 32, a high voltage generation circuit 33, a logic control 34, and a ready / busy register 35.
[0070]
The logic control 34 receives control signals such as chip enable / CE, command latch enable CLE, address latch enable ALE, write enable / WE, read enable / RE, write protect / WP, spare area enable / SE from the outside, and these A logic control signal is supplied to the control circuit 21 based on the control signal.
[0071]
The I / O control circuit 23 exchanges input / output signals I / O0 to I / O7 with the outside. The I / O control circuit 23 receives an address signal, a data signal, and a command signal from the outside, and supplies the address signal to the address register 24, the data signal to the data register 30, and the command signal to the command register 22. The address register 24 supplies the row address to the row address buffer 28 and supplies the column address to the column address buffer 32.
[0072]
The control circuit 21 receives a logic control signal from the logic control 34 and also receives a command from the command register 22, operates as a state machine based on these logic control signal and command, and controls each part of the nonvolatile semiconductor memory device 20. Control the behavior.
[0073]
The control circuit 21 controls the memory cell array 26, the row address decoder 27, the column decoder 29, and the like in order to read data from the address of the memory cell array 26 indicated by the address register 24. In addition, the control circuit 21 controls the memory cell array 26, the row address decoder 27, the column decoder 29, and the like in order to write data to the write address of the memory cell array 26. In addition, the control circuit 21 controls the memory cell array 26, the row address decoder 27, the column decoder 29 and the like in order to erase the designated area of the memory cell array 26 in a predetermined unit. The write processing of the first to fourth embodiments described above is executed by the control circuit 21 controlling each circuit unit.
[0074]
The memory cell array 26 includes an array of memory cell transistors, word lines, bit lines, and the like, and stores data in each memory cell transistor. At the time of data reading, data from the memory cell specified by the activated word line is read to the bit line. At the time of programming or erasing, the word line and the bit line are set to appropriate potentials according to the respective operations, thereby executing the charge injection or charge extraction operation for the memory cells.
[0075]
The sense amplifier 31 operates under the control of the control circuit 21, and the data current supplied from the memory cell array 26 is compared with the reference current according to the designation by the row address decoder 27 and the column decoder 29, so that the data becomes 0. Or 1 is determined. The determination result is stored as read data in the data register 30 and is further supplied from the data register 30 to the I / O control circuit 23.
[0076]
Further, in the verify operation accompanying the program operation and the erase operation, the current of data supplied from the memory cell array 26 in accordance with the designation by the row address decoder 27 and the column decoder 29 is compared with the reference current for program verify and erase verify. Is done. In the program operation, write data is stored in the data register 30, and charge injection into the memory cell is executed by setting the word line and bit line of the memory cell array 26 to appropriate potentials based on this data. As will be described later, in the present invention, a circuit for detecting that even one write target cell exceeds the verify voltage is provided around the data register 30 and the sense amplifier 31.
[0077]
The status register 25 is a register that stores status information related to the operation of the nonvolatile semiconductor memory device 20. By reading the contents of the register from the outside via the I / O control circuit 23, whether the device is in a ready state or not It can be determined whether the mode is the write protection mode or the program / erase operation is in progress. The ready / busy register 35 stores a flag indicating whether the device is ready or busy, and in response to this, a ready / busy signal is output to the outside. The high voltage generation circuit 33 is a circuit that generates a high potential used for a program operation and an erase operation.
[0078]
FIG. 10 is a diagram showing the configuration around the page buffer used in the present invention.
[0079]
10 corresponds to a part of the memory cell array 26, sense amplifier 31, and data register 30 shown in FIG. 9, and includes a write / read circuit 41, a data latch 42, a data latch 43, and a write / read temporary latch 44. , A verify detection transistor 45, a capacitor 46, transistors 47 and 48, a plurality of switch circuits 49, a memory cell 50, a bit line BL, and a word line WL.
[0080]
At the time of data writing, 2-bit data is stored in the data latches 42 and 43 from the data bus via the switch circuit 49. By this 2-bit data, four levels of E, L0, L1, and L2 are expressed. Furthermore, a write instruction is stored in the write / read temporary latch 44 from the data bus via the switch circuit 49. That is, when the write operation is executed, the write / read temporary latch 44 is set so that the node NVp becomes HIGH.
[0081]
The write / read circuit 41 controls the potential of the bit line BL in accordance with the presence / absence of writing, and executes the program operation by applying the program voltage Vpg to the word line WL. Thereafter, a verify voltage is applied to the word line WL, and the write / read circuit 41 checks the data read from the bit line BL. When the verification is passed, the write / read circuit 41 pulls the node NVp to LOW, and accordingly the transistor 45 is turned off. The transistors 45 are wired NOR with respect to memory cells corresponding to one page of page buffer. When verification is passed for all the memory cells, all the transistors 45 are turned off, and the terminal VerifyOK / NG becomes HIGH.
[0082]
In the page buffer of FIG. 10, it is necessary to detect that the first cell has exceeded the verify potential in order to realize the first to fourth embodiments. The problem here is that the write / read temporary latch 44 is set so that the node NVp becomes LOW for a cell that is not a write target. That is, it is necessary to distinguish the state of being LOW.
[0083]
The circuit shown in FIG. 10 is configured to detect the state in which the verification is passed and the node NVp is LOW by cutting off the DC component of the node NVn by the capacitor 46 and detecting only the potential change. FIG. 11 is a timing waveform diagram showing an operation of detecting a change of node NVp to LOW in the circuit of FIG.
[0084]
As shown in FIG. 11A, the program operation is executed by applying a predetermined voltage Vpgm to the word line, and then the verify read (FIG. 11B) is executed by applying the verify voltage V_verify. In this verify operation, when the read data is passed and the node NVp (FIG. 11 (d)) becomes LOW, the node NVn (FIG. 11 (e)) becomes HIGH, and the node Ng ( The potential in FIG. 11 (f) increases. The potential of the node Ng is initially set to LOW in advance by setting Set_V_1stP (FIG. 11C) to HIGH to make the transistor 47 conductive. Therefore, when the potential of the node Ng rises as described above, the transistor 48 that has been off until then becomes conductive, and the terminal Verify_1stP becomes LOW.
[0085]
Therefore, by monitoring the potential of Verify_1stP, it is possible to detect that the first cell has exceeded the verify potential.
[0086]
As described above, in the present invention, by using the page buffer shown in FIG. 10, it is possible to detect a state in which even one cell has passed verification. Therefore, in response to this detection, the program voltage at that time (or information indicating the program voltage such as the number of applied pulses) is stored in the memory, and this information is used to obtain the desired voltage in a short time as described in the above embodiment. It is possible to form a threshold distribution having a width.
[0087]
As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.
[0088]
The present invention includes the following contents.
(Supplementary note 1) a memory cell array including nonvolatile memory cells;
A write circuit for writing different levels of data into the memory cell;
By controlling the write circuit, the first write operation is executed while increasing the write voltage by the first step voltage with one of the plurality of levels as a write target, and the first write operation is executed. While storing the write voltage at a predetermined timing, starting from a voltage determined based on the stored write voltage with the one level as a write target, the write voltage is smaller than the first step voltage. Control circuit for increasing the step voltage by 2 and executing the second write operation
A non-volatile semiconductor memory device comprising:
(Supplementary note 2) The nonvolatile semiconductor memory device according to supplementary note 1, wherein the predetermined timing is a timing at which at least one threshold voltage of a memory cell to be written exceeds a predetermined verify voltage.
(Supplementary Note 3) A node provided for each memory cell, the potential of which changes when the threshold voltage of the corresponding memory cell exceeds the verify voltage;
Potential change detection circuit for detecting change in node potential
The nonvolatile semiconductor memory device according to appendix 2, further comprising:
(Appendix 4) The potential change detection circuit
A capacitor having a first end connected to the node;
Transistor whose gate is connected to the second end of the capacitor
The nonvolatile semiconductor memory device according to appendix 3, characterized by comprising:
(Supplementary Note 5) The control circuit sequentially executes the first write operation with respect to the plurality of levels, and then sequentially executes the second write operation with respect to the plurality of levels. The nonvolatile semiconductor memory device according to appendix 1, wherein a write voltage is different for each of the plurality of levels.
(Supplementary note 6) The control circuit further stores the write voltage at a predetermined timing while executing the second write operation, and determines the one level as a write target based on the further stored write voltage The nonvolatile semiconductor memory device according to appendix 1, wherein the third write operation is executed by starting from the voltage to be increased and increasing the write voltage by a third step voltage smaller than the second step voltage.
(Supplementary note 7) The nonvolatile semiconductor memory according to supplementary note 1, wherein the control circuit terminates the first write operation when at least one threshold voltage of a memory cell to be written exceeds a predetermined verify voltage. apparatus.
(Supplementary note 8) The nonvolatile semiconductor memory device according to supplementary note 1, wherein the control circuit sequentially executes the second write operation from a plurality of higher levels to a lower one.
(Supplementary note 9) The nonvolatile memory according to supplementary note 1, wherein the control circuit stores the write voltage with reference to a write voltage at a time when the first one of the memory cells to be written exceeds a predetermined verify voltage. Semiconductor memory device.
(Supplementary note 10) A method of writing different levels of data in a nonvolatile memory cell,
Executing a first write operation while increasing a write voltage by a first step voltage with one level of the plurality of levels as a write target;
Storing the write voltage at a predetermined timing while executing the first write operation;
Performing the first write operation and storing the write voltage for each of the plurality of levels;
Starting from a voltage determined based on the stored write voltage with a certain level as a write target, the write voltage is increased by a second step voltage smaller than the first step voltage to perform a second write operation Run
A data writing method comprising each step.
(Supplementary Note 11) The first write operation is sequentially performed on the plurality of levels, and then the second write operation is sequentially performed on the plurality of levels. The stored write voltage is the plurality of levels. The data writing method according to appendix 10, wherein the data writing method is different for each level.
(Supplementary Note 12) While executing the second write operation, the write voltage at a predetermined timing is further stored, and the one level is set as a write target, starting from a voltage determined based on the further stored write voltage The data writing method according to appendix 10, wherein the third write operation is executed by increasing the write voltage by a third step voltage smaller than the second step voltage.
(Supplementary note 13) The data writing method according to supplementary note 10, wherein the second write operation is sequentially executed from the plurality of higher levels to the lower level.
【The invention's effect】
In the nonvolatile semiconductor memory device according to the present invention, first, a rough threshold distribution is formed by executing a write operation using a large step voltage, and then a threshold distribution is generated by executing a write operation using a small step voltage. It becomes possible to shape to a desired width. At this time, by storing the write voltage when the rough threshold distribution is formed, the write start voltage at the time of programming using a small step voltage can be set to an appropriate value. Therefore, in the present invention, the write operation can be completed in a short time and a threshold distribution having a desired width can be formed.
[Brief description of the drawings]
FIG. 1 is a flowchart showing a first embodiment of a write operation to a multilevel memory cell according to the present invention.
FIG. 2 is a diagram showing a bit distribution when executing writing to a memory cell in the flowchart of FIG. 1;
FIG. 3 is a flowchart showing a second embodiment of a write operation to a multi-level memory cell according to the present invention.
4 is a diagram showing a bit distribution at the time of executing writing of a memory cell in the flowchart of FIG. 3. FIG.
FIG. 5 is a flowchart showing a third embodiment of the write operation to the multi-level memory cell according to the present invention.
6 is a diagram showing a bit distribution when executing writing of a memory cell in the flowchart of FIG. 5; FIG.
FIG. 7 is a flowchart showing a fourth embodiment of the write operation to the multi-level memory cell according to the present invention.
FIG. 8 is a diagram showing a bit distribution when executing writing to a memory cell in the flowchart of FIG. 7;
FIG. 9 is a block diagram showing an overall configuration of a nonvolatile semiconductor memory device to which the present invention is applied.
FIG. 10 is a diagram showing a configuration around a page buffer used in the present invention.
11 is a timing waveform diagram showing an operation of detecting a change of node NVp to LOW in the circuit of FIG. 10;
[Explanation of symbols]
20 Nonvolatile semiconductor memory device
21 Control circuit
22 Command register
23 I / O control circuit
24 Address register
25 Status register
26 Memory cell array
27 Row address decoder
28 Row address buffer
29 Column decoder
30 Data register
31 sense amplifier
32 column address buffer
33 High voltage generator
34 Logic control
35 Ready / Busy Register

Claims (11)

不揮発性メモリセルを含むメモリセルアレイと、
異なる複数のレベルのデータを該メモリセルに書き込む書き込み回路と、
該書き込み回路を制御することにより、該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルと該書き込み対象より大きい全てのレベルとに対応する書き込み対象のメモリセルに行う第1の書き込み動作であって、該第1の書き込み動作は書き込み電圧を第1のステップ電圧づつ増加させながら実行し、該第1の書き込み動作を実行しながら該書き込み対象のメモリセルの少なくとも1つの閾値電圧がベリファイ電圧を超えたタイミングにおける該書き込み電圧を記憶し、該第1の書き込み動作及び該書き込み電圧の記憶を該複数のレベルの各々に対して、該複数のレベルの低い方から高い方に順次実行した後、該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルに対応するメモリセルに該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行し、該第2の書き込み動作は該複数のレベルの低い方から高い方に順次実行する制御回路
を含むことを特徴とする不揮発性半導体記憶装置。
A memory cell array including non-volatile memory cells;
A write circuit for writing different levels of data into the memory cell;
By controlling the write circuit, the first level is set to the write target memory cell corresponding to the write target level and all levels higher than the write target, with one level of the plurality of levels as the write target. The first write operation is executed while increasing the write voltage by a first step voltage, and at least one threshold value of the memory cell to be written is executed while the first write operation is executed. The write voltage at a timing when the voltage exceeds the verify voltage is stored, and the first write operation and the storage of the write voltage are changed from the lower one of the plurality of levels to the higher one for each of the plurality of levels. after sequentially executed, as write target one level among the plurality of levels, menu corresponding to the level of the write target Starting from the voltage determined based on the stored write voltage to write the voltage running second write operation is increased step voltage less than the second step voltage of said one by one in the Riseru, said 2. A nonvolatile semiconductor memory device comprising: a control circuit that sequentially executes the plurality of write operations from the lowest level to the higher level .
該メモリセル毎に設けられた対応メモリセルの閾値電圧がベリファイ電圧を超えると電位が変化するノードと、
該ノード電位の変化を検出する電位変化検出回路
を更に含むことを特徴とする請求項1記載の不揮発性半導体記憶装置。
A node whose potential changes when the threshold voltage of the corresponding memory cell provided for each memory cell exceeds the verify voltage;
The nonvolatile semiconductor memory device according to claim 1, further comprising a potential change detection circuit that detects a change in the node potential.
該電位変化検出回路は、
該ノードに第1端が接続されるコンデンサと、
該コンデンサの第2端にゲートが接続されるトランジスタ
を含むことを特徴とする請求項2記載の不揮発性半導体記憶装置。
The potential change detection circuit includes:
A capacitor having a first end connected to the node;
The nonvolatile semiconductor memory device according to claim 2, further comprising: a transistor having a gate connected to the second end of the capacitor.
該記憶された書き込み電圧は該複数のレベルごとに異なることを特徴とする請求項1記載の不揮発性半導体記憶装置。  2. The nonvolatile semiconductor memory device according to claim 1, wherein the stored write voltage is different for each of the plurality of levels. 該制御回路は、該第2の書き込み動作を実行しながら書き込み対象のメモリセルの少なくとも1つの閾値電圧がベリファイ電圧を超えたタイミングにおける該書き込み電圧を更に記憶し、該複数のレベル各々に対して該更に記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第2のステップ電圧より小さい第3のステップ電圧づつ増加させて第3の書き込み動作を実行することを特徴とする請求項1記載の不揮発性半導体記憶装置。  The control circuit further stores the write voltage at a timing when at least one threshold voltage of the memory cell to be written exceeds the verify voltage while executing the second write operation, and for each of the plurality of levels The third write operation is performed by starting from a voltage determined based on the further stored write voltage and increasing the write voltage by a third step voltage smaller than the second step voltage. The nonvolatile semiconductor memory device according to claim 1. 該制御回路は、書き込み対象のメモリセルの少なくとも1つの閾値電圧が所定のベリファイ電圧を超えると該第1の書き込み動作を終了させることを特徴とする請求項1記載の不揮発性半導体記憶装置。  2. The nonvolatile semiconductor memory device according to claim 1, wherein the control circuit ends the first write operation when at least one threshold voltage of a memory cell to be written exceeds a predetermined verify voltage. 該制御回路は、該第3の書き込み動作を該複数のレベルの高い方から低い方に順次実行することを特徴とする請求項5記載の不揮発性半導体記憶装置。  6. The non-volatile semiconductor memory device according to claim 5, wherein the control circuit sequentially executes the third write operation from the plurality of higher levels to the lower levels. 該制御回路は、書き込み対象のメモリセルの最初の1つが所定のベリファイ電圧を超える時点における書き込み電圧を基準として、該書き込み電圧を記憶することを特徴とする請求項1記載の不揮発性半導体記憶装置。  2. The nonvolatile semiconductor memory device according to claim 1, wherein the control circuit stores the write voltage with reference to the write voltage at the time when the first one of the memory cells to be written exceeds a predetermined verify voltage. . 異なる複数のレベルのデータを不揮発性メモリセルに書き込む方法であって、
該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルと該書き込み対象より大きい全てのレベルとに対応する書き込み対象のメモリセルに行う第1の書き込み動作であって、該第1の書き込み動作は書き込み電圧を第1のステップ電圧づつ増加させながら実行し、
該第1の書き込み動作を実行しながら該書き込み対象のメモリセルの少なくとも1つの閾値電圧がベリファイ電圧を超えたタイミングにおける該書き込み電圧を記憶し、
該第1の書き込み動作及び該書き込み電圧の記憶を該複数のレベルの各々に対して、該複数のレベルの低い方から高い方に順次実行し、
該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルに対応するメモリセルに、該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行し、該第2の書き込み動作は該複数のレベルの低い方から高い方に順次実行する
各段階を含むことを特徴とするデータの書き込み方法。
A method for writing different levels of data into a non-volatile memory cell,
A first write operation performed on a write target memory cell corresponding to the write target level and all levels greater than the write target, with one level of the plurality of levels as a write target, The write operation of 1 is executed while increasing the write voltage by the first step voltage,
Storing the write voltage at a timing when at least one threshold voltage of the memory cell to be written exceeds a verify voltage while executing the first write operation;
Sequentially executing the first write operation and storage of the write voltage for each of the plurality of levels from the lowest to the highest of the plurality of levels ;
One level of the plurality of levels is set as a write target , and a write voltage is applied to a memory cell corresponding to the write target level starting from a voltage determined based on the stored write voltage. A second write operation is executed by increasing a second step voltage smaller than the step voltage, and the second write operation includes steps for sequentially executing the plurality of levels from the lowest to the highest. How to write data.
不揮発性メモリセルを含むメモリセルアレイと、
異なる複数のレベルのデータを該メモリセルに書き込む書き込み回路と、
該書き込み回路を制御することにより、該複数のレベルのうち最小のレベルを書き込み対象として、該複数のレベル全てに対応する書き込み対象のメモリセルに行う第1の書き込み動作であって、該第1の書き込み動作は書き込み電圧を第1のステップ電圧づつ増加させながら実行し、該第1の書き込み動作を実行しながら該書き込み対象のメモリセルの少なくとも1つの閾値電圧がベリファイ電圧を超えたタイミングにおける該書き込み電圧を記憶し、該第1の書き込み動作および該書き込み電圧の記憶を実行した後、該複数のレベルのうち最小のレベル以外の1つのレベルを書き込み対象として、該書き込み対象のレベルと該書き込み対象より大きい全てのレベルとに対応する書き込み対象のメモリセルに、該記憶された書き込み電圧に基づいて決定される電圧で第4の書き込み動作を実行し、該第4の書き込み動作を該複数のレベルのうち最小のレベル以外のレベル各々に対して、該複数のレベルの低い方から高い方に順次実行した後、該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルに対応するメモリセルに、該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行し、該第2の書き込み動作は該複数のレベルの高い方から低い方に順次実行する制御回路
を含むことを特徴とする不揮発性半導体記憶装置。
A memory cell array including non-volatile memory cells;
A write circuit for writing different levels of data into the memory cell;
By controlling the write circuit, a first write operation is performed on a write target memory cell corresponding to all of the plurality of levels by setting a minimum level among the plurality of levels as a write target. The write operation is performed while increasing the write voltage by a first step voltage, and at the timing when at least one threshold voltage of the write target memory cell exceeds the verify voltage while executing the first write operation. After storing the write voltage and executing the first write operation and the storage of the write voltage, one level other than the minimum level among the plurality of levels is set as a write target, and the level of the write target and the write In the memory cell to be written corresponding to all levels larger than the target, the stored write voltage is set to A fourth write operation is performed at a voltage determined in accordance with the fourth write operation, and the fourth write operation is performed on each of the levels other than the minimum level among the plurality of levels from the lowest to the highest of the plurality of levels. Are sequentially executed, and one level of the plurality of levels is set as a write target, and the memory cell corresponding to the write target level is written starting from a voltage determined based on the stored write voltage. A control for executing a second write operation by increasing the voltage by a second step voltage smaller than the first step voltage , and sequentially executing the second write operation from the higher one of the plurality of levels to the lower one A nonvolatile semiconductor memory device including a circuit.
異なる複数のレベルのデータを不揮発性メモリセルに書き込む方法であって、
該複数のレベルのうち最小のレベルを書き込み対象として、該複数のレベル全てに対応する書き込み対象のメモリセルに行う第1の書き込み動作であって、該第1の書き込み動作は書き込み電圧を第1のステップ電圧づつ増加させながら実行し、
該第1の書き込み動作を実行しながら該書き込み対象のメモリセルの少なくとも1つの閾値電圧がベリファイ電圧を超えたタイミングにおける該書き込み電圧を記憶し、
該複数のレベルのうち最小のレベル以外の1つのレベルを書き込み対象として、該書き込み対象のレベルと該書き込み対象より大きい全てのレベルとに対応する書き込み対象のメモリセルに、該記憶された書き込み電圧に基づいて決定される電圧で第4の書き込み動作を実行し、該第4の書き込み動作は該複数のレベルのうち最小のレベル以外のレベル各々に対して、該複数のレベルの低い方から高い方に順次実行し、
該複数のレベルのうち1つのレベルを書き込み対象として、該書き込み対象のレベルに対応するメモリセルに、該記憶された書き込み電圧に基づいて決定される電圧から開始して書き込み電圧を該第1のステップ電圧より小さい第2のステップ電圧づつ増加させて第2の書き込み動作を実行し、該第2の書き込み動作は該複数のレベルの高い方から低い方に順次実行する
各段階を含むことを特徴とするデータの書き込み方法。
A method for writing different levels of data into a non-volatile memory cell,
A first write operation performed on a memory cell to be written corresponding to all of the plurality of levels by setting a minimum level among the plurality of levels as a write target, wherein the first write operation sets a write voltage to a first level. Execute while increasing the step voltage by
Storing the write voltage at a timing when at least one threshold voltage of the memory cell to be written exceeds a verify voltage while executing the first write operation;
The write voltage stored in the write target memory cell corresponding to the write target level and all levels greater than the write target, with one level other than the minimum level among the plurality of levels as the write target. A fourth write operation is performed at a voltage determined based on the second write operation, and the fourth write operation is performed from the lowest of the plurality of levels to each of the levels other than the minimum level of the plurality of levels. Run sequentially,
One level of the plurality of levels is set as a write target , and a write voltage is applied to a memory cell corresponding to the write target level starting from a voltage determined based on the stored write voltage. A second write operation is performed by increasing a second step voltage smaller than the step voltage, and the second write operation includes each step of sequentially executing the plurality of levels from the higher to the lower ones. How to write data.
JP2002250932A 2002-08-29 2002-08-29 Nonvolatile semiconductor memory device and data writing method Expired - Fee Related JP4181363B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002250932A JP4181363B2 (en) 2002-08-29 2002-08-29 Nonvolatile semiconductor memory device and data writing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002250932A JP4181363B2 (en) 2002-08-29 2002-08-29 Nonvolatile semiconductor memory device and data writing method

Publications (2)

Publication Number Publication Date
JP2004094987A JP2004094987A (en) 2004-03-25
JP4181363B2 true JP4181363B2 (en) 2008-11-12

Family

ID=32057638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002250932A Expired - Fee Related JP4181363B2 (en) 2002-08-29 2002-08-29 Nonvolatile semiconductor memory device and data writing method

Country Status (1)

Country Link
JP (1) JP4181363B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006025083A1 (en) * 2004-08-30 2008-07-31 スパンション エルエルシー Semiconductor device, semiconductor device testing method, and data writing method
JP4410188B2 (en) 2004-11-12 2010-02-03 株式会社東芝 Data writing method for semiconductor memory device
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
US7092290B2 (en) * 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
KR100655442B1 (en) 2005-09-01 2006-12-08 삼성전자주식회사 Flash memory device capable of varying program start voltage
JP4435200B2 (en) * 2007-04-03 2010-03-17 株式会社東芝 Data writing method for semiconductor memory device
US8565019B2 (en) 2007-11-20 2013-10-22 Kabushiki Kaisha Toshiba Method for controlling threshold value in nonvolatile semiconductor memory device
JP2009129479A (en) * 2007-11-20 2009-06-11 Toshiba Corp Method of controlling threshold in nonvolatile semiconductor memory device
KR100965071B1 (en) * 2008-07-10 2010-06-21 주식회사 하이닉스반도체 Method for programming of non volatile memory device
US8854887B2 (en) 2008-07-10 2014-10-07 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
US8045375B2 (en) * 2008-10-24 2011-10-25 Sandisk Technologies Inc. Programming non-volatile memory with high resolution variable initial programming pulse
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory

Also Published As

Publication number Publication date
JP2004094987A (en) 2004-03-25

Similar Documents

Publication Publication Date Title
KR0172401B1 (en) Non-volatile semiconductor memory device
US5936890A (en) Semiconductor flash memory having page buffer for verifying programmed memory cells
US6567316B1 (en) Nonvolatile semiconductor memory device and method of erasing data of nonvolatile semiconductor memory device
KR100928738B1 (en) Semiconductor device, test method and data recording method of semiconductor device
US7684250B2 (en) Flash memory device with reduced coupling effect among cells and method of driving the same
US5764568A (en) Method for performing analog over-program and under-program detection for a multistate memory cell
US6937524B2 (en) Nonvolatile semiconductor memory device having a write control circuit
US20070030730A1 (en) Nand flash memory with erase verify based on shorter evaluation time
US5982670A (en) Non-volatile memory device
JP2009301616A (en) Nonvolatile semiconductor storage device
US20070189071A1 (en) Single latch data circuit in a multiple level cell non-volatile memory device
US6614683B1 (en) Ascending staircase read technique for a multilevel cell NAND flash memory device
WO2009081745A1 (en) Nonvolatile semiconductor storage device
US7173860B2 (en) Source controlled operation of non-volatile memories
JP5264047B2 (en) Method and apparatus for programming control information of a semiconductor memory device
JP2006031871A (en) Semiconductor memory
JP4181363B2 (en) Nonvolatile semiconductor memory device and data writing method
US5844847A (en) Method and Nonvolatile semiconductor memory for repairing over-erased cells
US6870772B1 (en) Nonvolatile semiconductor memory device
US6671207B1 (en) Piggyback programming with staircase verify for multi-level cell flash memory designs
US6781882B2 (en) Nonvolatile semiconductor storage device having a shortened time required for a data erasing operation and data erasing method thereof
US8743621B2 (en) Operating method in a non-volatile memory device
JP3548830B2 (en) Flash memory system and method with reduced disturbance
US7292477B2 (en) Nonvolatile semiconductor memory device which stores multivalue data
JP2009048750A (en) Nonvolatile semiconductor memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050704

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060522

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080728

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: 20080826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080829

R150 Certificate of patent or registration of utility model

Ref document number: 4181363

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees