JP2001508218A - Stabilization circuit for multiple digital bits - Google Patents

Stabilization circuit for multiple digital bits

Info

Publication number
JP2001508218A
JP2001508218A JP53914497A JP53914497A JP2001508218A JP 2001508218 A JP2001508218 A JP 2001508218A JP 53914497 A JP53914497 A JP 53914497A JP 53914497 A JP53914497 A JP 53914497A JP 2001508218 A JP2001508218 A JP 2001508218A
Authority
JP
Japan
Prior art keywords
memory
charge
cell
memory cell
erase
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.)
Granted
Application number
JP53914497A
Other languages
Japanese (ja)
Other versions
JP3706146B2 (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 アゲート・セミコンダクタ・インコーポレーテッド
Publication of JP2001508218A publication Critical patent/JP2001508218A/en
Application granted granted Critical
Publication of JP3706146B2 publication Critical patent/JP3706146B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5657Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using ferroelectric storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/565Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using capacitive charge storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Plural Heterocyclic Compounds (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)b 【要約】 1メモリ・セル当たり複数のビットを格納することができるメモリ・セル(20)を有する集積回路メモリ・システム(33、17、18、21)について記述する。このメモリ・システムは、初期設定からドリフトを生じている可能性のあるメモリ・セルの蓄積電荷を、デジタル情報ビットに対応する所定の複数のレベルのいずれかの範囲内に維持し、1組の固有の基準電圧値によって定義する復元動作を有する。メモリ・システム(33、17、18、21)は、所定のレベルの範囲内に電荷を維持するのに十分な電荷量のみをメモリ・システムとの間で移動するためのミニプログラミング動作とミニ消去動作を有する。メモリ・システム(33、17、18、21)はまた、メモリ・セルの高速プログラミングのための動作と、所定のレベル間で広がりおよび安全マージンを大きくとるために消去メモリ・セル(20)の電荷分布を狭くする消去動作も有する。 (57) b Abstract: An integrated circuit memory system (33, 17, 18, 21) having a memory cell (20) capable of storing a plurality of bits per memory cell is described. The memory system maintains the stored charge of a memory cell, which may have drifted from an initial setting, within any of a plurality of predetermined levels corresponding to digital information bits. It has a restoration operation defined by a unique reference voltage value. The memory system (33, 17, 18, 21) includes a mini-programming operation and a mini-erase for transferring only a sufficient amount of charge to and from the memory system to maintain the charge within a predetermined level range. Have an action. The memory system (33, 17, 18, 21) also provides operations for fast programming of the memory cell and charge of the erased memory cell (20) to spread between predetermined levels and to increase the safety margin. It also has an erase operation to narrow the distribution.

Description

【発明の詳細な説明】 複数デジタル・ビットのための安定化回路 発明の分野 本発明は一般に、半導体メモリに関し、詳細にはドリフト効果を受ける半導体 メモリの安定化に関する。そうしたメモリは、1メモリ・セル当たり1つまたは 複数のデジタル・ビットを記憶できる。 発明の背景 EEPROM、EPROM、FLASH、DRAMなどの半導体メモリ集積回 路はこれまで、1メモリ・セルごとに1つのデジタル・ビットを記憶できるよう に使用されており、以下ではこの方式を単一ビット記憶と呼ぶ。1メモリ・セル 当たり2ビット以上のデジタル・データが記憶可能なメモリとその利点について はすでに説明がなされている。そうした1セル当たり複数ビットのメモリは、単 一ビット記憶技術に使用されるこれまでの2つ(伝導状態と非伝導状態)のセル しきい値電圧VTレベルより多くのレベルを必要とすることから多レベル・メモ リと呼ばれる。 多レベル・メモリ・セルの各レベルは、各メモリ・セルに蓄積される特定範囲 の電荷を表し、不揮発性メモリ、すなわちEEPROM、EPROM、FLAS Hなどのメモリの場合は、セルVT値の特定範囲を表す。1メモリ・セル当たり Nビットを記憶するためには、セルVTの範囲と電荷蓄積量が2Nのレベルに分割 できなければならない。各レベルは、Nビットすべてに固有のバイナリ・データ ・パターンに対応する。セルの消去または電荷蓄積のためのプログラムは、セル VTがこれら2N個のレベルのいずれかの範囲内に設定されるように行う。セルVT がどのレベルになっているかの判定と、Nビットに対して記憶された対応する バイナリ・データ・パターンの読出しは、検出回路によって行う。このように、 これまで1セル当たり1ビットのみを記憶していた同じメモリ・セル・アレイ領 域にN倍のビット数を記憶することができるので、はるかに低いビット単価 でデジタル情報を記憶することが可能である。 不揮発性メモリに関する以下の説明で「レベル」と呼ぶのは、一定範囲のVT 値であって、1つの電圧値ではない。また、セルVTという用語は、半導体デバ イス物理学によって定義された厳密な意味で使用するのではなく、検出回路によ ってメモリ・セルの伝導状態を判定する方法に対して使用する。この伝導はセル VTに関連している。同様に、DRAMのレベルとは1つの電荷値ではなく一定 範囲の蓄積電荷を指す。 個々のレベルの検出動作は、複数の基準電圧または基準電流を基準にして検出 した電圧または電流で表したメモリ・セルの伝導度(すなわち蓄積電荷)を比較 することによって行う。本発明では電圧の検出に関して記述するが、負荷回路を 介して当技術分野で実施されている検出方法で容易に電圧を電流に変換可能であ る。 多レベル・メモリには多くの問題が伴う。通常は、1メモリ・セル当たりNビ ットを記憶する場合、2N−1または2N個の基準電圧値VRI(ここで、I=1、 2、...、2N−1、または2N)を使用して、VR1<VR2<...<VR(2 ^N ) となるように互いを2N個のレベルに分離することが提案されている。説明を簡 潔にするために、場合によってはVRIをVRと略称することに注意されたい。第 1A図ないし第1C図に基準電圧値とセルVTとの関係を示す。これらの図面は 、1セル当たりそれぞれ1ビット、2ビット、および4ビットを記憶する場合の 、メモリ・チップ全体の多レベル検出基準電圧とセルVTの分布を示している。 メモリ・セルのVTがVR電圧のいずれかに近いと望ましくない状態が生じる。 すなわち、セルVTの判定があいまいになる。セルVTを判定する実際の検出回路 は、回路の安定性や速度、デジタル・スイッチング・ノイズによって生じる電圧 変動や電流変動、ならびに電源電圧、温度、およびシリコン加工におけるその他 の変動によって制限される。分離した複数のレベルと複数の基準電圧のどちらも 必要ないアナログ信号記憶とは異なり、デジタル・メモリ記憶技術では、レベル を明瞭に判定することが必要であり、またそのような分離した基準電圧が必要で ある。セル内のレベルの検出が不正確だと、デジタル・メモリが誤動作を起こし 、1セル当たり最大Nビットが失われる可能性がある。 VR電圧のいずれかに近いか、あるいはそれに等しいセルVT値を検出する際の 問題を回避するために、マージン電圧範囲VMPI(第2図を参照)によってある レベルのセルVTを他の隣接するレベルと分離することが提案されている。この 分離は、セルの消去時とプログラム時に実行する。ただし、各VMPI範囲の両端 は定められていない。むしろ、提案されているこの技術では、1セル当たり1ビ ット、あるいは2ビットを格納するのに十分なVMPIを設けるための冗長なプロ グラミング・アルゴリズムと共に、シリコン加工の統計的管理を利用する。ただ し、セルVTが所期の範囲を超えたかどうかを判定する機構は設けられていない 。しかし、この技術は次の2つの条件が満たされた場合にのみ信頼できるものと なる。第1に、明瞭に検出を行うのに十分なマージンを設けることができるほど 、VR値間の分離が大きくなければならない。第2に、データを有効な状態にと どめておく限り、セルVTが所期のレベルの範囲内で安定していなければならな い。この期間は、メモリ・チップの寿命に相当すると考えられる。 しかし、すべての多レベル記憶技術が克服しなければならない問題は、メモリ ・セルVTを各レベルごとにきわめて狭い範囲内に制御することである。このVT 制御に関する問題は、メモリ・セルのプログラム、消去、および読出しを含めて 、メモリの動作モードすべてに当てはまる。1セル当たりNビットを格納するに は1セル当たり2N個のレベルが必要であることから、VT制御に関する問題の重 大度は、メモリ・セルごとに格納するビット数が増加するにつれて幾何級数的に 大きくなる。単一レベル内のVT値の範囲VLと、異なるレベルのセルVTを分離 するマージン範囲VM(第3A図ないし第3C図を参照)は、すべての有効なセ ルVT値の固定範囲VF内のレベル数が増加するにつれて狭くなる。本発明では、 説明を簡潔にするために、場合によってはVLI(ここで、Iは2N個のレベルの いずれか)をVLと略称する。 VFは、プログラム、消去、および検出動作の際にメモリ・セルの端子に印加 可能な電圧範囲によって制限されるので、通常は固定である。VFはまた、回路 の速度、複雑さ、およびデータ記憶の信頼性によっても制約を受ける。これまで 提案されている不揮発性メモリ技術の多くでは、VFは読出動作時の電源電圧Vc c とほぼ一致する。 すべてのレベルのVL範囲を同じものとし、レベル間のマージンをゼロとする きわめて単純な場合では、VL=VF/2Nとなる。例えば、単一ビット記憶技術 を用いて5ボルトのVccで動作させた場合のVLの範囲は5/2=2.5Vとな るが、1セル当たり4ビットの多レベル・メモリを3Vで動作させた場合のVL の範囲は3/16=187.5mVとなる。各レベルの間にマージン電圧範囲VM を加えると、VF=VL1+VM1+VL2+VM2+...+VM 2n-1+VL 2nとなる。 先の単純な場合を引き続き使用し、VMの範囲もすべて同じと仮定すると、レベ ルの範囲はこのとき、VL=[VF−(2N−1)×VM]/2Nまで減少する。0 .1VのVMを採用すると、先の4ビットの場合の3ボルトのVccの場合のVL例 はこのとき、[3−(15×0.1)]/16−93.8mVまで減少する。 VTの制御に加えて問題となるのはメモリ・セルを消去する手順である。実際 のメモリ・アレイの実施形態では、セルの消去は多くのセルを含むブロック単位 で行われるので、完全に消去されたセルVTの分布は、より選択的にプログラム された他のレベルより広くなる。完全に消去されたセルを定義するのにより広い VLレベルVLERASEが使用されることにより、プログラムされるレベルのVLの範 囲はより減少する。第3A図ないし第3C図に、第1A図ないし第1C図に示し たものと同じ技術を用いた場合のこの問題を示す。 第1A図、第1B図、第1C図、第2図、第3A図、第3B図、および第3C 図は、プログラミングがセルVTを増加する技術の例であることに注意されたい 。先の記述は、プログラミングの際にセルVTを減少させる技術にも同様に当て はまる。この場合、これらの図面は、セルVTのローエンドではなくハイエンド で広く消去されたレベルを示す。 このように、1セル当たりのビット数が増加するにつれて各レベル内のVTの 範囲が幾何級数的に減少することから、単一ビット記憶システムの場合よりも多 レベルの場合の方がはるかにVTの制御が重要になる。 そのうえ、セルVTを当初プログラムされた値からドリフトさせる可能性のあ る様々な機構がある。これらの機能の多くは、元のプログラミングに続いてセル に印加される電圧ストレスによって生じる。こうした状態を「外乱」と呼び、有 効なメモリ・システムを形成するためにセルを他の類似したセル・アレイ内にグ ループ化する場合には不可避である。プログラムおよび消去の外乱は、最小の累 積時間にわたって存在するが、これらの動作時に使用される高電圧によって生じ るVTのドリフトの大きな原因となる。例えば、外乱に関するデータは、FLA SHメモリの新技術について記述する技術文献で日常的に報告されている。 VTのドリフトのその他の発生源は、浮遊ゲートの周囲、または浮遊ゲートと メモリ・セルの基板との間の捕捉電荷の数もしくは位置の変化の影響によるもの である。捕捉電荷は、欠陥によるものであったり、繰返しのプログラム/消去( P/E)サイクルの間など、時間の経過に伴って作用する高電界の累積効果によ るものであったりする。ゲート誘電体に流す消去またはプログラミング電流を多 くすると、捕捉電荷の蓄積もそれに応じて多くなる。この結果、これらの動作の 遅延や部品の誤動作につながる。 捕捉電荷はまた、繰り返さない形のP/Eサイクルでも生じる可能性がある。 これは、いわゆる「ローグ・ビット(rogue bit)」効果によるものとされている 。ローグ・ビットは、あるサイクルでプログラミング能力または消去能力が変化 し、、別のサイクルでは通常の状態に戻る。VTのドリフト速度は常に一定とは 限らず、しかも欠陥の存在の統計的差異により、すべてのセルにわたって同じで あるとは限らない。セルがその中で相互接続された行とコラムが異なれば、それ に応じて様々な順序でアクセスされるので、メモリ・セル・アレイ内の各セルは 、外乱と電荷ストレス状態の独自の組合せをそれぞれ有する。また、不規則な電 圧ストレスによって生じるドリフト効果が、不規則な欠陥によって生じるドリフ ト効果に加えられる。これらの効果は、セルVTのドリフトに対して累積的に作 用する。 この結果、不揮発性セルは繰返しP/Eサイクルに対する耐久力を失う。すな わち、そのプログラム動作または消去動作があまりに遅いため、これらの動作に 与えられた時間内に終えることができず、結果的にそれらの動作は失敗する。一 部の従来型プログラミング技術では、メモリ・セル・アレイの特定の部分をサイ クリングした回数をカウントする。一例では、そうしたサイクリング・データを 使用して、所定の控え目な最大サイクル回数に基づき、メモリ・セル・アレイの その過度に使用された部分をさらにP/Eサイクリングすることを防止する。こ のように、このプログラミング技術は、その技術が必要になる前よりメモリの機 能性を損なうように働く可能性がある。 さらに、VTの外乱およびドリフトの機構に関する上述の問題はすべて、メモ リ・セルの物理的サイズの縮小に応じてセル内の電界が増加することによって悪 化する。これらの問題がセルのスケーリングの障害となったり、より経済的なメ モリ・チップの障壁となったりするのは周知のことである。1セル当たりに複数 ビットを格納する場合や、低電源電圧を使用する場合など、VLの範囲が狭くな ると、セルVTのドリフトの問題はさらに重大になる。 本発明は、これらの問題を解決するか、あるいはほぼ解消する。本発明による メモリは、部品の寿命にわたり、各不揮発性メモリの安定性、プログラム可能性 、および消去性を直ちに改善する。 発明の概要 本発明は、デジタル情報に対応する複数のレベルのいずれかに蓄積された電荷 をそれぞれが有する複数のメモリ・セルを備えた集積回路メモリ・システムを提 供する。このメモリ・システムはさらに、メモリ・セル内のデジタル情報の消失 を防止するために、メモリ・セル内の電荷の所定の変化量に応答して電荷を回復 する回路構成も備える。電荷の回復は、蓄積電荷を第1の組の固有の基準電圧値 によって決められた元の値に移行するのに十分な電荷のみをメモリ・セルとの間 で移動させるミニプログラミング動作とミニ消去動作によって実行する。 この集積回路メモリ・システムはまた、新規のプログラミング動作と消去動作 のための回路構成も備える。このメモリ・システムは、メモリ・セルのプログラ ミング時には、プログラムするメモリ・セルにデジタル情報に対応する複数のレ ベルのいずれかの電荷を書き込む。このレベルは、第2の組の固有の基準電圧値 によって決めるが、この組では第1の組の固有の基準電圧値よりもレベルを広く 決める。その後、必要に応じてミニプログラミング動作とミニ消去動作を実行し て、蓄積電荷の範囲を第1の組の固有の基準電圧値によって決められたレベルに まで狭める。当初は蓄積電荷の範囲が広いので、メモリ・セルのプログラミング が高速化される。 このメモリ・システムは、メモリ・セルの消去時には、消去するメモリ・セル のレベルにある蓄積電荷の範囲を固有の基準電圧値によって狭める。消去するも ののレベルを狭くすることにより、デジタル情報に対応するレベルの間の間隔が 広くなる。これにより、レベル間の安全マージンを大きくしたり、メモリ・セル 内に記憶可能なビット数を多くしたりすることができる。 図面の簡単な説明 第1A図は、従来技術による、1セル当たり1ビットのデータを記憶する場合 のメモリ・チップ全体の検出基準電圧とセルVTの分布の例を示す図である。 第1B図は、従来技術による、1セル当たり2ビットのデータを記憶する場合 のメモリ・チップ全体の検出基準電圧とセルVTの分布の例を示す図である。 第1C図は、従来技術による、1セル当たり4ビットのデータを記憶する場合 のメモリ・チップ全体の検出基準電圧とセルVTの分布の例を示す図である。 第2図は、特定の従来技術による、1セル当たり2ビットのデータを記憶する 場合のメモリ・チップ全体の読出し、プログラム、および消去モードの検出基準 電圧と得られるセルVTの分布の例を、異なるVTレベルで分けたマージンと共に 示す図である。 第3A図は、従来技術による、1セル当たり1ビットのデータを記憶する場合 のメモリ・チップ全体のVF、VLERASE、VM、およびVLの各セルVTの分布の範 囲の定義例を示す図である。 第3B図は、従来技術による、1セル当たり2ビットのデータを記憶する場合 のメモリ・チップ全休のVF、VLERASE、VM、およびVLの各セルVTの分布の範 囲の定義例を示す図である。 第3C図は、従来技術による、1セル当たり4ビットのデータを記憶する場合 のメモリ・チップ全体のVF、VLERASE、VM、およびVLの各セルVTの分布の範 囲の定義例を示す図である。 第4A図は、VTが上昇する場合の時間に対するセルVTのドリフトの例を示す 図である。 第4B図は、VTが降下する場合の時間に対するセルVTのドリフトの例を示 す図である。 第5A図は、VTが上昇する場合の時間に対するセルVTのドリフトの例を、新 たな2つの多レベル・デジタル読出し検出基準電圧と所与のレベルの保護帯域と 共に示す図である。 第5B図は、VTが降下する場合の時間に対するセルVTのドリフトの例を、新 たな2つの多レベル・デジタル読出し検出基準電圧と所与のレベルの保護帯域と 共に示す図である。 第6図は、1メモリ・セル当たり4ビットの多レベル・デジタル・データを検 出する場合のBSERD技術の好ましい実施形態の一般的動作を示す図である。 第7図は、本発明の好ましい実施形態の構成図である。 第8図は、BSERD技術をその好ましい実施形態で実施した場合の流れ図で ある。 第9図は、BSERD技術を用いて1つのメモリ・セルから多レベル・デジタ ル・データを検出する例を示す図である。 第10図は、第9図に示す例のタイミング図である。 第11図は、本発明の実施形態の1つであるページ・モード動作の場合のメモ リ・アレイとY−DRIVERSの詳細な構成を示す構成図である。 第12図は、2つの異なる時点でのメモリ内の複数セルのセルVT分布、およ び所与のレベルの範囲内にある新たな2つのミニプログラミング検出基準電圧と 保護帯域を示しながら、本発明によるミニプログラミングの例を示す図である。 第13A図は、4つの異なる時点でのメモリ内の複数セルのセルVT分布、新 たな予備消去ミニプログラミング検出基準電圧と保護帯域、ならびに所与のレベ ルの範囲内にある新たな2つのミニ消去検出基準電圧と保護帯域を示しながら、 本発明によるミニ消去技術の例を示す図である。 第13B図は、第13A図に続くものであり、3つの異なる時点でのメモリ内 の複数セルのセルVT分布、新たな予備消去ミニプログラミング検出基準電圧と 保護帯域、ならびに所与のレベルの範囲内にある新たな2つのミニ消去検出基準 電圧と保護帯域を示しながら、本発明によるミニ消去技術の例を示す図である。 第14A図は、4つの異なる時点でのメモリ内の複数セルのセルVT分布、お よび所与のレベルの範囲内にある新たな予備消去マイクロプログラム検出基準電 圧と保護帯域を示しながら、本発明によるVTオーバーシュート回復技術の例を 示す図である。 第14B図は、第14A図の続くものであり、3つの異なる時点でのメモリ内 の複数セルのセルVT分布、新たな予備消去マイクロプログラム検出基準電圧と 保護帯域、ならびに所与のレベルの範囲内にある新たな2つのマイクロプログラ ム検出基準電圧と保護帯域を示しながら、本発明によるVTオーバーシュート回 復技術の例を示す図である。 第15A図は、プログラム直後のメモリ内の所与のレベルの範囲内にある複数 セルの当初は厳密なセルVT分布、および長時間が経過した後のあいまいな検出 によって障害が生じた時点での同じセルの大幅に広がった分布を示しながら、従 来技術の例を示す図である。 第15B図は、新たな2つのプログラミング検出基準電圧と保護帯域、および 3つの異なる時点での所与のレベルの範囲内にあるメモリ内の複数セルのセルVT 分布の例、すなわち第1プログラミング部分の直後の当初は広いセルVT分布、 第2プログラミング部分の直後の狭くなった分布、および第15A図に示すのと 同じ長時間が経過した後にあいまいな検出による障害を防止するために復元技術 を適用したときの同じセルの復元された分布を示す図である。 第16A図は、4つの異なる時点でのメモリ内の複数セルのセルVT分布、お よび所与のレベルの範囲内にある新たな2つのプログラミング検出基準電圧と保 護帯域を示しながら、本発明によるプログラミング技術の例を示す図である。 第16B図は、第16A図の続くものであり、所与のレベルの範囲内にある3 つの異なる時点でのメモリ内の複数セルのセルVT分布を示しながら、本発明に よるミニ消去技術の例を示す図である。 第17A図は、従来用いられている技術と同様にVL0にVERASEを使用する場 合の、1セル当たり4ビットのデータ記憶時の消去ブロックのVF、VLERASE、 VM、およびVLの各セルVT分布の範囲の定義例を示す図である。 第17B図は、VL0にVLERASEは使用せず、VLレベルをVFの全範囲にわたっ て展開した結果、第17A図よりVLおよびVMの範囲が広がった場合の、1 セル当たり4ビットのデータ記憶時の消去ブロックのVF、VLERASE、VM、およ びVLの各セルVT分布の範囲の定義例を示す図である。 第17C図は、VL0にVLERASEは使用せず、一部の技術では高信頼のデータ検 出に必要である可能性のあるVLERASEにVLレベルを重複させない場合の、1セ ル当たり4ビットのデータ記憶時の消去ブロックのVF、VLERASE、VM、および VLの各セルVT分布の範囲の定義例を示す図である。 第18A図は、4つの異なる時点での4つのレベル全体での消去ブロック内の 複数セルのセルVT分布、およびVL0レベルの範囲内にある新たな4つの消去検 出基準電圧と新たなVMEFL保護帯域を示しながら、本発明による消去技術の例を 示す図である。 第18B図は、第18A図の続くものであり、4つの異なる時点での4つのレ ベル全体での消去ブロック内の複数セルのセルVT分布、およびVL0レベルの範 囲内にある新たな2つの消去検出基準電圧と新たなVMEFU保護帯域を示しながら 、本発明による消去技術の例を示す図である。 好ましい実施形態の説明 上述の問題を回避するために、本発明によるメモリ・システムは、セルVTの 微調整を行い、プログラミングのずっと後でもドリフト効果を自動的に補正する 。それにより、セルVTは適切なVLIの範囲内の最適値に復元される。この復元 動作を必要に応じて実行することにより、メモリの寿命の全期間にわたって高信 頼のデータ記憶を行うのに十分な検出マージンを維持する。このメモリ・システ ムは、セルVTが所期のVL範囲の片側のVR値のいずれかに近づきすぎていると きを判定する追加の検出基準電圧により、メモリ・セルVTを復元すべきタイミ ングを決定する。 本発明はまた、別個の検出基準電圧によって分離した複数のレベルを使用しな い従来のアナログ記憶技術とまったく異なる。そのようなアナログ技術では、元 のアナログ信号がVTドリフトによって不正になった後は、セルのドリフト効果 または外乱効果を検出することも補正することもできない。 セルVTは、次の3つのいずれかで移動することができる。 VTの上昇(例えば、第4A図に示すように、浮遊ゲートに電子を加えた場 合など) VTの降下(例えば、第4B図に示すように、浮遊ゲートから電子を除去し た場合など) 電荷の平衡またはストレス状態の解消によるVTの安定 本発明によるメモリは、各メモリ・セルごとに上記の3つの可能性すべてに応答 し、セルVTを復元するのに必要な処置を決定する。この応答と決定は、元のデ ータ・プログラミングのずっと後でも行うことができる。このメモリ・システム は、必ずしもプログラミングの前に消去を実行しない。その代わりに、このメモ リは、正しい方向にVTを補正するミニ消去動作とミニプログラム動作を実行す る。これらの動作では、VTの復元を行うのに必要な少量の蓄積電荷のみを移動 する。これにより、他のセル上のデータを妨害することを回避する。従来のP/ Eサイクリング技術の磨耗効果は最小限に抑えられる。 さらに、このメモリ・システムは、通常のP/Eサイクル中にゲート誘電体を 大量の電荷が流れたときに生じるローグ・ビットも補正する。復元動作では、セ ルVTをほんの少し変化させるだけでVTを復元することができる。 FLASH不揮発性メモリのメモリ・セル・アレイは通常、そのセルをセクタ と呼ばれる大きなグループ単位、すなわち消去ブロック単位で電子的に消去する 必要があることから、チップのシリコン領域を縮小するように最適化される。プ ログラミングは、ページ、ワード、バイトなどの小さなグループ単位でより少数 のビットを同時にプログラムするといった、より選択的な形で行われる。プログ ラミング・ページ、ワード、またはバイト内のすべてのセルは、同時に検出(読 出しまたは検査)することもできる。1つの消去セクタまたは消去ブロックは、 複数のプログラミング・ページを含んでいてもよい。 プログラミングにより、メモリ・セルVTは消去時とは反対方向にシフトする 。本明細書で使用するプログラミングと消去の定義は、浮遊ゲートなどの電荷蓄 積領域への電荷移動の極性にも方向にも関係せず、メモリ・セル・アレイによっ て決定されることに注意されたい。したがって、本発明はセルVTの上昇によっ てプログラムを行う技術にも、降下によってプログラムを行う技術にも適用する こ とができる。 集積回路セルのプログラミングに際して、メモリ・システムは、消去ブロック 内のすべてのセルを完全に消去してから、その消去ブロック内のページに新しい データ・ビットをプログラムする。従来のプログラミング・アルゴリズムでは、 各セルを一連のプログラミング・パルスのうちの所期のVTにプログラムする。 多レベル・プログラミングでは、その後のドリフトを見越して、プログラミング 中にできる限り厳密なVLが得られるように各セルVTを個別に設定することが好 ましい。従来の多レベル・プログラミング・アルゴリズムでは、セルVTをある 方向にシフトするためにプログラム/検査を何回も繰り返す必要がある。また、 セルVTのプログラミングを最高速化したときにレベル内の所期の範囲を超えた り、VRに近づきすぎたりすることを回避するために、統計的プロセス管理に大 きく依存する。このオーバーシュートを回避するには、小規模のプログラミング を何回も繰り返す必要がある。 それとは対照的に、本明細書で記述するメモリ・システムのプログラミング動 作では、プログラミング・モード時にミニ消去動作を採用することにより、セル VTを両方向にシフトすることができる。このミニ消去動作により、大規模のプ ログラミングの繰返しを実行することが可能になる。プログラミング中は、各セ ルのプログラミング特性の統計的管理に依存するのではなく、各VL範囲の両端 を制御する。以下に記述するプログラミング技術のもう1つの利点は、ミニプロ グラミング動作とミニ消去動作により、当初プログラミングされた各レベル内の 広いセルVTの分布が縮小され、VTのオーバーシュートがすべて補正されるので 、多レベル・メモリのプログラミング時間が短縮されることである。 本発明を用いる場合、メモリ・システムは、外部システムに組み込みながら直 接測定を行うことにより、データのプログラム、消去、または格納を高信頼に行 うことができなくなったときを判定することができる。適切な処置が直ちに必要 かどうかを判定して初めてそうした処置を講じる。これにより、メモリ・チップ の有効寿命が延びる。 以下、本発明によるメモリ・システムの様々な態様を詳細に説明する。多レベ ル・データ検出、ミニプログラミング、ミニ消去、プログラミング、および消去 の各動作は以下の通りである。 I.多レベル・デジタル・データ検出検出動作の全般的説明 本発明は、新規の多レベル・デジタル・データ検出技術を提供する。この技術 では、検出動作中に追加の基準電圧と保護帯域を使用して、メモリ・セルVTが ドリフトを生じているかどうかと、VLIレベルの一方を定義するレベル分離基準 電圧VRIまたはVR(I+1)のいずれかに近づきすぎているかどうかとを判定する。 第5A図および第5B図に示すように、検出モードの間は、基準電圧VUGIお よびVLGIによってセルVTの読出しマージン保護帯域を導入する。各レベル「I 」ごとに、1)上側読出し保護帯域VMRUI=VR(I+1)−VUGIと、2)下側読出 し保護帯域VMRLI=VLGI−VRIという2つの読出しマージン保護帯域を設ける 。保護帯域VMRIおよびVMRLIは、VRIを基準とする。例えば、VMRIはVR(I+1) を基準とし、VMRLIはVRIを基準とする。VRIを中心とする全読出し保護帯域は 、VMRIVMRU(I−1)+VMRLIとなる。 この新しい多レベル・デジタル・データ検出技術では、セルVTが読出しマー ジン保護帯域のいずれかへのドリフトを生じていることを検知した場合、復元サ イクル状態を確立し、条件付き状況フラグを設定する。この新しい多レベル・デ ジタル・データ検出技術ではまた、(2N+1)個のレベル分離基準電圧VRIも 使用する(ここで、Nは各メモリ・セルごとに格納される多レベル・デジタル・ ビットの数、Iは0〜(2N+1)である)。セルが信頼できるデータ検出の極 限へのドリフトを生じているかどうかを検出するために、2つの読出しマージン 保護帯域も別途使用する。バイナリサーチ埋込み復元検知方法論 バイナリサーチ埋込み復元検知(BSERD:Binary Search Embedded Resto re Detection)技術と呼ばれるこの新しい多レベル・デジタル・データ検出技術 は、多レベル・デジタル・データとしてメモリ・セルに格納された複数のビット のデータを検出し、帯域検出検知を用いて復元サイクル状態が確立されているか どうかを判定する。 第6図に、1メモリ・セル当たり4ビット(N=4)の多レベル・デジタル・ データを検出する場合のBSERD技術の好ましい実施形態の全般的動作を示す 。この実施形態でN=4を選択したのは、本発明の教示のためにすぎず、Nを他 の値にした場合への本発明の応用を限定するものではない。本発明は、例えば1 メモリ・セル当たり1ビット(N=1)に利用したり、他の複数ビット記憶(た だしN>1)応用したりすることができる。 各「Set BitX」サイクル(X=0〜N−1)中に、2つのサブサイク ル動作を実行する。これらのサブサイクルは、データ検知サブサイクルと、それ に続いての復元検知サブサイクルである。各サブサイクルの間、適切な基準電圧 VCRFを設定し、検出したセルVTと比較する。ある時点でのVCRF電圧は 、その時点でのVCRF電圧とその前の各時点で検出されたセルVTとを比較し た結果によって決まる。必要な回数のSet BitXサイクルが終了した後は 、境界検知サブサイクルと境界復元サブサイクルを実行して、セルVTがセルVT 検出範囲の信頼マージン内であるかどうかと、セルVTが上限または下限の復元 マージン範囲内であるかどうかを判定する。多レベル・メモリ検出システム 第7図に本発明の好ましい実施形態の構成図を示す。4ビットの多レベル・デ ジタル・データは、各メモリ・セルから検出する。外部システムと好ましい実施 形態との間でのデータ信号、アドレス信号、制御信号、およびシステム・クロッ ク信号の送受信は、DATA、ADDR & CNTRL SYSTEM IN TERFACEブロック10をインターフェースとして、DATAバス11、A DDRバス12、CNTRLバス13、およびCLKIN線14をそれぞれ介し て行う。別法として、内部CLOCKブロック(第7図には図示せず)により、 第7図に示すCLCK信号線15上にクロック信号を生成する。検出動作中、D ATA、ADDR & CNTRL SYSTEM INTERFACEブロッ ク10は、メモリ・アレイ・ブロックCELL ARRAY 21内の該当する メモリ・セル20を選択するために、両方向アドレスADDRBUSバス16を 介して水平復号器X−DEC 17、垂直復号器Y−DEC 18、およびブロ ック復号器BLOCK−DEC 19にアドレス情報を供給する。 復号器は、PRG−ERS制御バス22、HVCTRL制御バス23、PRG HV高電圧線24、HVOUT高電圧線25上の信号に応じて、セル20の端子 に適切な多レベル・プログラミング電圧、消去電圧、または検出電圧を供給する 。PRG−ERSおよびHVCTRL信号は、PROGRAM ERASE R EAD RESTORE SEQUENCERブロック26によって生成する。 HVOUTおよびPRGHV信号は、HVGENブロック27によって生成する 。 検出中、RD線28を強制的に高電圧状態にすることにより、GATECスイ ッチ29を作動させてMLLINE線30をVMEM線31に接続する。MLL INE線30は、Y−MUXブロック32とBL00ビット線71を介してセル 20に接続されている。検出中にMLLINE線30に接続される特定のセル2 0は、Y−DECブロック18によってYDECOバス34上に生成された信号 に応答して、Y−MUXブロック32が決定する。VMEM線31は、コンパレ ータCMP35の非反転入力に接続されている。RD線28が高電圧状態になる と、負荷ブロック回路CELL LOAD36もVMEM線31に接続される。 アドレス指定されたセル20の端子に適切な電圧が印加され、CELL LO AD36が接続されると、4ビットのデジタル・データを表す電圧がVMEM線 31上に発生する。PROGRAM ERASE READ RESTORES EQUENCERブロック26はまた、PRGRDBバス37を介して、基準電 圧選択ブロックVX VY GENブロック38および△VU △VL GEN ブロック39にも信号を送信する。VX VY GENブロック38および△V U △VL GENブロック39の出力は、コンパレータ基準電圧生成ブロック VCRFGENブロック40に渡される。基準電圧は、VX VY GENブロ ック38と△VU △VLGENブロック39により、基準電圧バスRVBUS 42を介してVOLTAGE REFERENCESブロック41から選択さ れる。 検出動作中、BINARY SEARCH READ SEQUENCERブ ロック43とPROGRAM ERASE READ RESTORE SEQ UENCERブロック26は、DATA、ADDR & CNTRL SYST EM INTERFACEブロック10からCLCK線15上に送信されたクロ ック信号によって同期されたBSERD技術の制御と順序付けを行う。BINA RY SEARCH READ SEQUENCERブロック43は、両方向バ スDATABUS[0〜3]44上の該当するデータ線を引き込む。 VCRFGENブロック40はまた、PROGRAM ERASE READ RESTORE SEQUENCERブロック26からの制御線PHSSEL 線46、およびSTPDIRラッチ52からの制御線STPDIR線47からも 制御信号を受信する。STPDIRラッチ52は、出力線VCMPO 49と転 送ゲートGATEA 50を介して、CMPコンパレータ35の出力端子に接続 されている。DATABUS[0〜3]バス44からの入力信号に基づき、VX VY GENブロック38と△VU △VL GENブロック39はVCRFG ENブロック40への適切な電圧を生成する。表1に、検出中にPHSSEL線 46とSTPDIR線47上のレベルに基づいてVCRFGENブロック40か ら出力VCRF線45上に出力される電圧を示す。VCRF線45は、CMPコ ンパレータ35の反転入力側に接続されている。 第6図に基準電圧VR0ないしVR16を示す。これらの基準電圧は、PRGRD Bバス37およびDATABUS[0〜3]バス44の制御信号のもとにVXV Y GENブロック38の出力として生成され、次いでシーケンサ26および 43によって制御される。検出中、VX VY GENブロック38からの電圧 出力は、VX=VRIおよびVY=VRIである(ここで、IはDATABUS[0 〜3]バス44上のデータ線によって決定される0〜16の範囲の整数である) 。検出中は、第6図に示すように、△VU △VL GENブロック39もまた 出力電圧△VLおよび△VUを生成する(ここで、△VL=VMRLI)△VU=VMRU(I-1) で、それぞれI=0〜15)。 DATA[0〜3] LATCHESブロック48は、各メモリ・セル20か らの4つのビットがBSERD技術によって検出されたときにそれらのビットを 格納する4つのラッチを有する。CMPコンパレータ35は、VMEM入力線3 1上の電圧とVCRF入力線45上の電圧とを比較し、VCMPO出力線49上 に論理高電圧信号または論理低電圧信号を生成する。VMEM線31上の電圧が VCRF線45上の電圧より高い場合は、VCMPO線49を論理高電圧信号に 駆動する。逆に、VMEM線31上の電圧がVCRF線45上の電圧より低い場 合には論理低電圧信号に駆動する。 出力線VCMPO 49は、転送スイッチGATEA 50の他に、転送スイ ッチGATEB 51の入力側にも接続されている。GATEA 50の出力線 は、STPDIR LATCH 52の入力線に接続する。GATEB 51の 出力線は、ラッチRES LATCH 53の入力に接続されている。スイッチ GATEA 50およびGATEB 51の動作は、PROGRAM ERAS E READ RESTORE SEQUENCERブロック26からのPHS SEL線46によって制御する。PHSSEL線46が高電圧状態になると、C MPコンパレータ35からの出力線VCMPO 49は、スイッチGATEB5 1を介してRES LATCH 53の入力に接続される。PHSSEL線46 が低電圧状態になると、VCMPO線49は、GATEAスイッチ50を介して STPDIR LATCH 52の入力に接続される。 PROGRAM ERASE READ RESTORE SEQUENCE Rブロック26からのRST線54は、STPDIR LATCH 52とRE S LATCH 53の両方に接続する。この2つのラッチ52および53は、 RST線54が論理高電圧になるとリセットされる。RES LATCH 53 がリセットされると、ラッチ53からの出力線RES 55は低電圧状態になる 。STPDIR LATCH 52からの出力線STPDIR 47は、ラッチ 52からの反転信号を搬送する。STPDIR LATCH52がリセットされ ると、出力線STPDIR 47は高電圧状態になる。STPDIR線47は、 高電圧スイッチHVSW56、VCRFGENブロック40、転送スイッチGA TED 57、転送スイッチGATEF 58、および転送スイッチGATEH 59に接続されている。STPDIR線47が高電圧状態になると、HVSWス イッチ56は高電圧発生器HVGENブロック27に接続されているPRGHV 線24とMLLINE線30に高電圧パルスを渡す。STPDIR線47が低電 圧状態になると、HVSWスイッチ56はPRGHV線24をMLLINE線3 0から切断する。 PROGRAM ERASE RESTORE SEQUENCERブロック 26からHVCTRLバス23を強制的にプログラミングまたは消去動作に設定 すると、HVGENブロック27によって高電圧パルスが生成される。検出中は 、HVCTRLバス23が検出用に設定されるので、高電圧線PRGHV 24 は変動しても差し支えなく、HVGENブロック27は高電圧パルスをまったく 生成しない。HVGENブロック27はまた、プログラミング、消去、および復 元の各動作中、ならびに潜在的には検出動作中にも、HVOUTバス25を介し てY−DECブロック18、X−DECブロック17、およびBLOCK−DE Cブロック19に高電圧を供給する。 Y−MUXブロック32は、Y−DECブロック18の制御のもとに、アドレ ス指定されたセル20の該当するビット(検出)線を選択する。REGISTE RS & ADDRESS BUFFERブロック60は、BSERD技術によ って決められた条件付き復元状況フラグと共に復元するメモリ・セルのアドレス を格納する。ADDRBUSバス16に接続されているREGISTERS & ADDRESS BUFFERブロック60の制御は、BFCTLBUSバス 61を介して、PROGRAM ERASE READ RESTORE SE QUENCERブロック26によって行う。 GATEDスイッチ57とGATEEスイッチ62は、GROUND線64に 直列に接続されており、論理低電圧信号に設定される。これらのスイッチ57お よび62の制御は、STPDIR線47上の信号とRES線55上の信号によっ てそれぞれ行う。同様に、GATEFスイッチ58とGATEGスイッチ63は 、POWER線67に直列に接続されており、論理高電圧信号に設定される。こ れらのスイッチ58および63の制御もまた、STPDIR線47とRES線5 5によってそれぞれ行う。 STPDIR線47とRES線55が共に高電圧状態になると、GATEDス イッチ57とGATEEスイッチ62を介してFLGB線65に論理低電圧信号 が渡される。STPDIR線47上の信号とRES線55上の信号の他のどんな 組合せでも、FLGB線65に論理低電圧信号が渡されることはないので、PU LL UP LOADブロック66はFLGB線65上の高電圧信号を引き込む ことができる。STPDIR線47とRES線55が共に低電圧状態になると、 GATEFスイッチ58とGATEGスイッチ63を介してFUGB線68に論 理高電圧信号が渡される。STPDIR線47上の信号とRES線55上の信号 の他のどんな組合せでも、FUGB線68に論理高電圧信号が渡されることはな いので、PULL DOWN LOADブロック69はFUGB線68上の低電 圧信号を引き込む。FLGB線65とFUGB線68は、PROGRAM ER ASE READ RESTORE SEQUENCERブロック26およびB INARY SEARCH READ SEQUENCERブロック43の入力 線である。STPDIR線47が低電圧状態になると、PROGRAM ERA SE READ RESTORE SEQUENCERブロック26によって生 成され、LCHDAT線70を介して伝導されたデータ・ラッチング・パルスが 、GATEHスイッチ59を通過してDATA[0〜3]LATCHESブロッ ク48に渡される。 第8図に、BSERD技術を実施した場合の流れ図を示す。BINARY S EARCH READ SEQUENCERブロック43とPROGRAM E RASE READ RESTORE SEQUENCERブロック26は、B SERD技術を実施するのに必要な制御回路を含む。この回路の設計は、集積回 路設計の当業者には明らかなものであろう。 第9図に、メモリ・セルから多レベル・デジタル・データを検出する例を示す 。第9図中の矢印は、時間軸に示した前の各時点でのCMP 35の出力の状態 に応答した、ある時点でのCMPコンパレータ 35へのVCRF入力線45に おける基準電圧の遷移を示す。 第10図に、第9図に示すメモリ・セル20から多レベル・デジタル・データ を検出するときの典型的なタイミング図を示し、以下このタイミング図について 述べる。選択したセル20のVTは、あらかじめ適切にプログラムしてあり、そ のVMEM線31(第7図を参照)上での検出は、第9図に「セルVT」として 示した黒い点線の横線で行う。BSERD技術の開始を表す時間T0に、RST 線54に高電圧パルスを流してSTPDIRラッチ52とRESラッチ53をリ セットする。PRGRDBバス37を設定するとPHSSEL線46は低電圧状 態になり、HVCTRLバス23を検出用に設定するとRD線28は高電圧状態 になり、選択したメモリ・セルの検出されたアドレスがADDRBUSバス16 に格納される。線54上にリセット・パルスを流すと、STPDIR線47は高 電圧状態になり、RES線55は低電圧状態になる。また、FLGB線65は高 電圧状態になり、FUGB線68は低電圧状態になる。 次に、「Set BIT3」サイクル(第6図を参照)と最初のデータ検知サ ブサイクルを開始する。DATABUS[0〜3]バス44の最上位ビット線B it3を、BINARY SEARCH READ SEQUENCERブロッ ク43によって強制的に高電圧状態にする。DATABUS[0〜3]バス44 上の(0001)であるBit3を強制的に高電圧状態にすることにより、VX VY GEN ブロック38は時間T1Dに基準電圧VR8を出力し、△VU △VL GENブロック39は基準電圧VMRL8およびVMRU7を出力する。PHS SEL線46はこのとき低電圧状態にあるので、VCRFGENブロック40は VCRF線45上に基準電圧VR8を出力する。時間T1Dの直後に、CMPコン パレータ35はVMEM線31がVCRF線45より高い電圧の状態になってい ることを感知し、VCMPO線49上に論理高電圧信号を生成する。PHSSE L線46が低電圧状態になると、GATEAスイッチ50はVCMPO線49を 介して論理高電圧信号をSTPDIR LATCH 52の入力線に渡す。ラッ チ5 2は、設定されるとSTPDIR線47上に論理低電圧信号を生成する。STP DIR線47が低電圧状態になると、PROGRAM ERASE READ RESTORE SEQUENCERブロック26からLCHDAT線70上へ のラッチング・パルスがGATEHスイッチ59を通過して、DATA[0〜3 ]LATCHESブロック48内のDATA3ラッチに「1」が保持される。こ れは、データ検知サブサイクルの終了を示す。 次に、最初の復元検知サブサイクルを開始する。まず、PHSSEL線46を 高電圧に設定する。PHSSEL線46が高電圧状態となり、STPDIR線4 7が低電圧状態にあるので、VCRFGENブロック40は時間T1RにVCRF 線45上に電圧(VR8+VMRL8)を出力する。CMPコンパレータ35は、VM EM線31上の信号がVCRF線45上の信号より依然として高いことを感知し 、VCMPO線49上に論理高電圧信号を生成する。PHSSEL線46が論理 高電圧状態にあるので、VCMPO線49上の信号は、GATEBスイッチ51 を通ってRES LATCH 53に渡されるが、GATEAスイッチ50を通 ってSTPDIR LATCH 52に渡されることはない。RES LATC H 53の入力ではレベルは高い状態にあるので、出力RES線55は高電圧状 態に設定される。これで最初の復元検知サブサイクルが終了し、「Set Bi t3」サイクルも終了する。 BSERD技術では、前段で述べたように事象およびサブサイクルの順序付け を実行しており、Set BIT2、Set BIT1、およびSet BIT 0の各サイクルを順に実行する。第9図に、様々な時点でVCRF線45に設定 される基準電圧を示す。第10図に、様々な時点でのVCMPO線49、STP DIR線47、RES線55、FLGB線65、FUGB線68、およびDAT ABUS[0〜3]バス44上の各出力論理電圧を示す。いずれかのデータ検知 サブサイクルの終了時に、CMPコンパレータ35からの出力線VCMPO49 が低電圧状態のままである、すなわちVMEM線31上の電圧がVCRF線45 上の電圧より低いと、STPDIR線47は高電圧状態となる。その状態になる と、LCHDAT線70からのデータ・ラッチング・パルスはGATEHスイッ チ59を通過しない。その場合、DATA[0〜3] LATCHESブロック 48内の該当するデータ・ラッチは「0」にリセットされた状態のままとなる。 この例ではこの状態は生じていない。同様に、いずれかの復元検知サブサイクル の終了時に、STPDIR線47とRES線55が共に高電圧状態になると、低 電圧復元サイクル状態が確立され、FLGB線65を強制的に低電圧状態にする 。いずれかの復元検知サブサイクルの終了時に、STPDIR線47とRES線 55が共に低電圧状態になると、高電圧復元サイクル状態が確立され、FUGB 線68を強制的に高電圧状態にする。 データ検知サブサイクルと復元検知サブサイクルの完了時に、BSERD技術 によって境界検知サブサイクルと境界復元サブサイクルを実行する。先の例で最 後の「Set BIT0」サイクルの終了時には、DATABUS[0〜3]バ ス44上のデータは(1111)である。境界検知サブサイクルの開始時に、P ROGRAM ERASE READ RESTORE SEQUENCERブ ロック26はDATABUS[0〜3]バス44上の(1111)を検出し、V X VY GENブロック38の出力には基準電圧VR16を、△VU △VLG ENブロック39の出力には基準電圧VMRU15およびVMRL15をそれぞれ選択する ようにPRGRDBバス37を設定する。PHSSEL線46はこのとき低電圧 状態にあるので、VCRFGENブロック40は時間T5FにVCRF線45上に 基準電圧VR16を出力する。CMPコンパレータ35は、VMEM線31がVC RF線45より低電圧になっていることを感知し、VCMPO線49上に論理低 電圧信号を出力する。PHSSEL線46が低電圧状態になると、GATEAス イッチ50はVCMPO線49を介してSTPDIR LATCH 52に低電 圧信号を渡し、ラッチ52はSTPDIR線47上に論理高電圧信号を出力する 。これで境界検知サブサイクルが終了する。境界検知サブサイクルの間は、LC HDAT線70上にラッチング・パルスは生成されない。 次に、境界復元サブサイクルの開始時にPHSSEL線46を高電圧状態に設 定する。STPDIR線47とPHSSEL線46が共に高電圧状態になると、 表1に従って、VCRFGENブロック40は時間T5RにVCRF線45上に電 圧VR16−VMRU15を出力する。CMPコンパレータ35は、VMEM線31上の 電圧がVCRF線45上の電圧より高いことを感知し、VCMPO線49上に 論理高電圧信号を生成する。PHSSEL線46は高電圧状態にあるので、VC MPO線49上の論理高電圧信号はGATEBスイッチ51を通ってRES L ATCH 53に渡される。論理高電圧信号がGATEAスイッチ50を通って STPDIR LATCH 52に渡されることはない。RES LATCH5 3の入力は高電圧状態なので、RES線55は高電圧状態に設定されたままにな る。STPDIR線47=高電圧かつRES線55=高電圧の状態になると、低 電圧復元サイクル状態が確立され、FLGB線65は強制的に低電圧状態になる 。これで境界復元サブサイクルは終了し、BSERD技術も終了する。境界検知 サブサイクルの開始時に、BSERD技術がDATABUS[0〜3]バス44 上に(1111)と(0000)のどちらも検出しなかった場合、BSERD検 出技術は終了したことになる。 BSERD技術の終了に際して、選択したセル20に蓄積されたVTレベルに 一意に対応するNビットのバイナリ・データ・パターンがDATA[0〜3]L ATCHESブロック48内に保持され、DATABUS[0〜3]バス44、 DATA、ADDR & CNTRL SYSTEM INTERFACEブロ ック10、およびDATAバス11を介して読出しに利用可能となる。 好ましい実施形態では、低電圧復元と高電圧復元という2つの状態があり、そ れによって復元検知サブサイクルまたは境界復元サブサイクルの終了時に復元サ イクル状態を発生させることができる。STPDIR線47=高電圧かつRES 線55=高電圧の状態が低電圧復元状態であり、そのときFLGB線65を強制 的に低電圧状態にする。STPDIR線47=低電圧かつRES線55=低電圧 の状態が高電圧復元状態であり、そのときFUGB線68を強制的に高電圧状態 にする(第7図および第8図を参照)。BSERD技術の動作中はいつでも、復 元サイクル状態が確立されると、PROGRAM ERASE READ RE STORE SEQUENCERブロック26は状態を検知し、FLGB線65 およびFUGB線68の状況を復元サイクル状況ラッチ上に内部的に保存する。 復元サイクル状況ラッチは、PROGRAM ERASE READ REST ORE SEQUENCERブロック26がその内部に備える。BSERD技術 の動作中に復元サイクル状態が設定されると、その完了時に、PROGRAM ERASE READ RESTORE SEQUENCERブロック26は、 復元サイクルに必要な記憶域のアドレスならびに必要な復元サイクルのタイプを REGISTERS & ADDRESS BUFFERブロック60に保存す る動作を開始する。 復元サイクルに必要なアドレスならびに必要な復元のタイプを保存することに より、後で復元サイクルを実行できるという柔軟性がもたらされる。現在の記憶 域で復元サイクル動作を直ちに実行する場合は、REGISTERS & AD DRESS BUFFERブロック60への必要な復元サイクルのアドレスとタ イプの保存は行わない。REGISTERS & ADDRESS BUFFE Rブロック60は、復元サイクル動作を必要とする複数のアドレスに関する復元 サイクル情報を保存することができる。REGISTERS & ADDRES S BUFFERブロック60は、同じ集積回路と別のシステムのどちらに置い てもよく、しかも揮発性メモリと不揮発性メモリのどちらからなってもよい。 第6図および第7図に、あるメモリ・セルからのデータ検出を示す。好ましい 実施形態はまた、セルのページからのデータ検出にも働く。第7図のY−DRI VERブロック33は、ページ内に存在するセル数Jと同じ数だけ繰り返す。第 7図のY−DRIVERブロック33の境界を越える線は、CELL ARRA Yブロック21への線を除いて、すべてのY−DRIVERブロック33に共通 である。FLGB線65とFUGB線68は、すべてのY−DRIVERブロッ ク33の間で出力結合の形で互いに接続する。 第11図に、ある実施形態におけるページ・モード動作の場合のメモリ・アレ イおよびY−DRIVERブロック33の構成をより詳細に示す。セルのページ に対するプログラミングおよび復元サイクル中と、セルの消去ブロックに対する 消去サイクル中とでは同じ構成を使用する。第11図に「J」個のY−DRIV ERブロック33を示す。第7図のY−DECブロック18からのYDECOバ ス34が、各Y−DRIVERブロック33内のY−MUX 32を介してアク ティブ・ページの選択を制御する。 第11図のCELL ARRAY 21と記した概略のブロック内に示した回 路とメモリ・セル・アレイは本発明の一部ではないが、本発明の実施形態が任意 のメモリ・セル・アレイと連動する方法を説明するために、以下この回路とメモ リ・セル・アレイについて述べる。 第11図に「S」個のページを示す。また、「K」個のブロック83ないし8 4も示す。各ブロックは、複数の行のセルで構成することができる。第7図に示 したように、ブロック選択と行選択は、それぞれBLOCK−DECブロック1 9とX−DECブロック17によって同時に行う。各ブロック83ないし84内 のBSUサブブロック77とBSLサブブロック78は、アレイ内の各ブロック 83ないし84ごとに、ビット(検出)線(BL00線71ないしBLSJ線7 2)または共通線(CL0線75ないしCLK線76)の選択/選択解除を実行 する。BSUブロック77とBSLブロック78の制御は、SLUK線79とS LLK線80によって行う。第11図に示すように、BLOCK0ブロック83 に入るSLL0線81、SLU0線82、およびCL0線75と、BLOCKK ブロック84に入るSLLK線80、SLUK線79およびCLK線76は、第 7図のBLOCK−DECブロック19に端を発する。 すべてのブロック83ないし84内の該当する行の選択は、ワード線(WL0 0線85ないしWLKT線86)によって行う。第11図に、ブロックごとに「 T」本のワード線を示す。ワード線の制御は、第7図に示したX−DECブロッ ク17によって行う。X−DECブロック17、BLOCK−DECブロック19 、およびY−DECブロック18は、それぞれ複数個を用いる。ただし、説明を簡 潔にするために、第7図にはそれぞれ1つずつのみを示した。ページ動作では、 ブロック83ないし84を選択し、そのブロック内で行を選択し、その行内でペ ージを選択する。第11図に太線で示すセル20は、ブロック0内の行1の中の ページ1を形成する。このページ1の選択は、ビット(検出)線BL10 73 ないしBLIJ 74と、ワード線WL01 87と、ブロック選択線SLU0 82、SLL0 81、およびCL0 75とを介して行う。消去動作は、選 択したブロック83内のすべてのセルに直接作用する。プログラム動作は、選択 したページ内のすべてのセルに直接作用する。本発明のこの実施形態は、どんな 不揮発性メモリ・セル・アレイとも連動することができる。 II.ミニプログラミングミニプログラミング動作の全般的説明 このセクションでは、本発明の一部として、ミニプログラミングと呼ばれる新 しい多レベル・プログラミング技術について述べる。完全消去状態のセルにのみ プログラミングを開始する従来のプログラミング技術とは異なり、ミニプログラ ミング技術では完全消去を行う必要なく、有効なデータがまだ格納されているセ ルに対して動作する。従来技術による消去動作では、選択した消去ブロックまた はセクタ内のすべてのセルVTを、第3A図ないし第3C図にVLERASEとして示 した、セルVTの有効範囲VFの一方の端の外側へわざわざシフトする。従来のプ ログラミング技術では、消去動作が終了すると、メモリ・セルの浮遊ゲートの周 囲の酸化物を通して大量の電荷を移動することにより、選択したセルVTをVLER ASE 範囲外の他のいずれかのレベルにシフトする。 従来技術とは対照的に、本発明によるミニプログラミング技術では、完全消去 を行う必要がないので少量の電荷を移動するだけでよい。選択した各セルVTは 、ほんの少しだけ、しかもそのセルの元のVLレベルの範囲内のみにおいてシフ トする。新しいこのミニプログラミング技術により、電荷の移動はほんの少量だ けで済むので、従来のプログラミング技術によるセルP/Eサイクリング耐久力 に対する有害作用が回避される。また、先に決定したVTドリフトを補正するの に必要な量の電荷のみを移動する。ミニプログラミング技術は、従来技術によっ て行った場合より少ない時間で、消去状態からプログラミング状態に移行する。 さらに、ミニプログラミングは選択したセルVTにわずかに作用するだけであり 、その結果、他の選択していないセルに対して生じるプログラムの外乱効果は無 視できる程度となる。ミニプログラミング動作では、VLレベルを消去とは反対 方向にほんの少しだけシフトし、復元動作中に所期のVT復元に必要な1つの機 能を実行することができ、それによって高信頼の多レベルデータ記憶が可能にな る。 ミニプログラミング技術では、先に多レベル・デジタル検出のセクションで述 べたものと同様の本発明による帯域検出能力を利用して、各セルVTを読み出し 、それらがVL範囲の所期の帯域内にあることを検証する。これにより、そのVL 範囲の両端であいまいな検出が行われるのを防止するのに十分なマージン保護帯 域が確保される。これは、ミニプログラミング検証動作中に複数の新たな基準電 圧によって実施する。 本発明によるミニプログラミング技術は、VRI+VMPLIとVR(I+1)−VMPUIに 新たな2つの基準電圧をさらに備える。第12図に示すように、これらの基準電 圧は、VRIおよびVR(I+1)と共に、各VLIレベルの範囲内に新たな2つの上側お よび下側のミニプログラミング・マージン保護帯域VMPLIおよびVMPUIを決める 。VMPLIとVMPUIは、先に述べた読出しマージン保護帯域VMRLIおよびVMRUIと 等しくなる場合もあれば等しくならない場合もあり、またそれより高くなる場合 もあれば高くならない場合もある。各VLIレベルの範囲内のVMPLIおよびVMPUI 帯域の選択は、ミニプログラミングの後に得られるVTの分布がVL範囲より狭い 所期の帯域内に最適化されるような形で行う。最適化では、VMPLI帯域とVMPUI 帯域が互いに等しくならないようにすることが必要になる可能性もあれば、各VLI レベルごとに別の帯域値が必要になる可能性もあり、またメモリ・セル・アレ イ製造技術によって決定される任意の帯域値が必要になる可能性すらある。ある いは、各VLIレベル内のVMPLIとVMPUIが等しい値になる場合もある。本発明は 、広範なメモリ製造技術に対する最適化に合わせて改変することができる。 本発明による検証技術は、1つの値のみを基準にしてセルVTを検証し、セル VTが所期のVT帯域をオーバーシュートするのを防止するための統計的プロセス 管理に依存する従来技術とはまったく異なる。VTのオーバーシュートは、プロ グラミング動作中に生じる可能性があり、前述のローグ・セル効果によって生じ る可能性もある。この効果は、メモリ・セルの浮遊ゲートの周囲の酸化物内に捕 捉された電荷、あるいは他のプロセスによって誘発された欠陥によって引き起こ される。 ミニプログラミング技術は、ゲート酸化物を通って移動する電荷の量をほんの 少しにすることにより、電荷の捕捉とローグ・セルが生じる可能性を最小限に抑 える。ミニプログラミングの検証動作は、VTがいずれかの保護帯域内にシフト しすぎていることを検知し、それによってミニ消去動作(後述)を用いて所期の VTをそのレベル内に再設定できるようにする。VTのオーバーシュートに対する この回復能力は従来技術にはないものであり、最初に完全消去動作と再プログ ラム動作を実行しない。本発明による復元方法を用いることにより、VTのオー バーシュートを回復する際の完全消去と再プログラムが回避され、チップのP/ E耐久期間が維持される。ミニプログラミングの方法 ミニプログラミング技術は、同じプログラミング・ページ内で互いに接続され た複数のセルを考察すると最もよくわかる。実際の多レベル・メモリ・システム は、ページ・モード・アーキテクチャを利用して、複数のセルを同時にプログラ ムする形でプログラミング時間を短縮する。チップ全体でなくとも、少なくとも そうしたページ内でのすべてのセルの挙動を理解するには、任意の形式のプログ ラミングにありうるすべての結果を考察することが必要である。 第12図に、2つの異なる時間TRESRおよびTRESPに同じレベルVLIの範囲内 にある、メモリ内の複数のセルVTの分布を示す。この例では、一方のVTの分布 は、先に述べた本発明によるBSERD技術を用いて時間TRESRでセルを読み出 した後の状態を示している。BSERD技術により、保護帯域VMRLI内のAおよ びBにVT値を持つ2つのセルが検出されている。そのため、復元動作が必要な ことを示す復元条件付きフラグが設定されている。BSERD技術はまた、保護 帯域VMRUI内で検出されたセルはないことから、ミニ消去を行う必要なく復元動 作を実施することができると判定し、このページ・アドレスに対して高電圧復元 状態フラグを設定したままにする。 本発明の1つの実施形態では、チップはミニ消去を行わずに復元動作を行うよ うにフラグが設定されたセルのページのVTを復元するために、ミニプログラミ ング動作を後で実行すると好都合である。その場合はまず、復元検知サブサイク ルを用いずにデータ検知サブサイクルのみを用いる簡易型BSERD技術によっ てセルを読み出して、読み出した各セル内に蓄積されていたVTに対応するN個 のバイナリ・データを保持する。 本発明のもう1つの実施形態では、通常の完全BSERD読出しの直後にミニ プログラム動作を実行する場合は、完全BSERD技術によってすでにN個のバ イナリ・ビットが保持されているので、最初の簡易型BSERDステップは省略 する。次いで、セルVTを新たな下側のミニプログラミング・マージン基準電圧 VRI+VMPLIと比較(検証)する。ここで、Iは保持されたN個のバイナリ・ビ ットによって表されるレベルに一意に対応する。セル内に蓄積されているVTに 対応するすでに保持されたN個のバイナリ・ビットの状態が検証によって変更さ れることはないので、この検証検出はBSERDの際の読出し検出とは異なる。 したがって、VTがVRI+VMPLIより低いことが確認されたセルはすべて、値VR I およびVRI+VMPLIによって決められた下側のミニプログラミング・マージン 保護帯域VMPLIの範囲内である。 次に、選択したページ内において、先の検証ステップで下側の保護帯域VMPLI の範囲内にVTを持つとすでに判定されたセルにのみ、適切な電圧と持続時間を 持ったミニプログラミング・パルスを選択的に印加する。VMPLI保護帯域より上 にVTを持つセルは、ミニプログラミング・パルスから除外する。最初のミニプ ログラミング・パルスの後に、検証動作をもう一度実行する。下側の保護帯域V MPLI内にあることが確認されたセルがある場合は、VMPLI帯域内にあるセルに のみ、別のミニプログラミング・パルスを選択的に印加する。検証/ミニプログ ラミング・パルス・シーケンスは、第12図に示した時間TRESPまでの間にペー ジ内のすべてのセルが保護帯域VMPLIより上にVTを持つことが確認されるまで 繰り返すか、あるいは所定の最大数までミニプログラミング・パルスを印加し、 システム・エラー・フラグが設定されるまで繰り返す。得られたセルVTの分布 は、例えば第12図の時間TRESPに示す次の分布に示したようなものとなる。 この例では、復元動作は当初、第12図のセルAやセルBなど、下側の読出し マージン保護帯域内VMRLIにあることがすでに判明しているセルによって起動さ れたものである。VMPLIの範囲内にVTを持つセルに対してもミニプログラムを 実行し、それによってそのVTがVMRLIの範囲内にあるものとして当初フラグを 設定したセルを補正するだけでなく、ページ全体にわたってVTの分布を狭くす る。その結果、ページ全体のVT分布が狭くなり、このページに対してその後の 復元動作を行う必要性がなくなることにより、システム性能が向上する。 VTのオーバーシュート状態を検知するために、上述の検証/ミニプログラミ ング・パルス・シーケンスの後に追加の検証ステップを実行する。あるいは、各 ミニプログラミング・パルスの後に追加の検証ステップを実行することもできる が、実施にかかる時間が長くなるはずである。この追加のステップでは、もう1 つの新たな上側のミニプログラミング・マージン基準電圧VR(I+1)−VMPUIと比 較することにより、選択したミニプログラムを適用したページ内のすべてのセル VTを検証する。この場合もやはり、Iは保持されたN個のバイナリ・ビットに よって表される同じレベルに一意に対応する。そのVTが電圧VR(I+1)−VMPUI より高いことが確認されたセルはすべて、値VR(I+1)と値VR(I+1)−VMPUIによ って決められる上側のミニプログラミング・マージン保護帯域内にある。保護帯 域VMPUIの範囲内で検出されたセルVTがある場合は、VTオーバーシュート・シ ステム条件付きフラグを設定する。後の復元動作で、VTオーバーシュート・シ ステム条件付きフラグが設定されているかどうかを検査し、VTオーバーシュー ト回復動作が必要かどうかを判定する。VTオーバーシュート回復は、以下の本 発明のミニ消去セクションで詳細に述べるミニ消去動作を含む一連の動作である 。多レベル・メモリミニプログラミング・システム 第7図に本発明の好ましい実施形態の構成図を示すが、この図についてすでに BSERD検出技術と共に述べた。ミニプログラミングの検証検出動作は、PR OGRAM ERASE READ RESTORE SEQUENCERブロ ック26が、PRGRDBバス37を介して△VU △VL GENブロック3 9に対して、基準電圧バスRVBUS 42からの電圧VMRU(I-1)およびVMRLI の代わりに電圧VMPUIおよびVMPUIを生成するように指令するという点で読出し 検出動作とは異なる。また、VX VY GENブロック38に対しても、電圧 VRIおよびVR(I+1)を生成するように指令する。ここで、Iは先のBSERDス テップにおいて各Y−DRIVER 33内のDATA[0−3] LATCH ESブロック48にすでに保持されているN個のバイナリ・ビットによって表さ れるレベルに対応する。 検証動作シーケンスの後、セルVTが保護帯域VMPLI内にあることが確認され た場合にSTPDIR線47が高電圧状態になるように、各Y−DRIVER 33内のSTPDIR LATCH 52およびRES LATCH 53を設 定する。STPDIR線47に高電圧信号が流れると、高電圧スイッチHVSW 56が作動して、PRGHV線24からの高電圧プログラミング・パルスがM LLINE線30に渡される。各Y−DRIVER 33内のY−MUXマルチ プレクサ32は、CELL ARRAY21内の選択されたページの該当するセ ル20に高電圧パルスを渡して、Y−DEC復号器18によって選択されたとお りにそのセルをプログラムする。セルVTが保護帯域VMPLIの外側にあることが 確認された場合は、STPDIR線47は低電圧状態になる。STPDIR線4 7に低電圧信号が流れると、高電圧スイッチHVSW 56はオフになる。これ により、高電圧プログラミング・パルスをMLLINE線30から分離する。 上側の保護帯域VMPUIの範囲内にあることが確認されたセルVTがある場合は 、PROGRAM ERASE READ RESTORE SEQUENCE Rブロック26内にVTオーバーシュート条件付きフラグを設定する。そのアド レス位置と対応するVTオーバーシュート条件付きフラグを、REGISTER S & ADDRESS BUFFERブロック60に保存する。検証/ミニプ ログラミング・パルス・シーケンスを行うごとに、PROGRAM ERASE READ RESTORE SEQUENCERブロック26内のカウンタを増 分する。そのカウンタが所定の最大数を超えた場合、そのページに対するミニプ ログラミングを停止し、PROGRAM ERASE READ RESTOR E SEQUENCERブロック26内にシステム・エラー・フラグを設定する と同時に、そのアドレスをREGISTERS & ADDRESS BUFF ERブロック60に保存する。 III.ミニ消去ミニ消去動作の全般的説明 このセクションでは、本発明の一部として、ミニ消去と呼ばれる多レベル消去 技術について述べる。セル内に格納されたデータを破壊する従来の消去技術とは 異なり、ミニ消去技術ではセル内に元々格納されているデータの原型を保つ。従 来技術による消去動作では、選択した消去ブロック内のすべてのセルVTを、第 3A図ないし第3C図にVLERASEとして示した、セルVTの有効範囲VFの一方の 端の外側へわざわざシフトする。この消去では、メモリ・セルの浮遊ゲートの周 囲の酸化物を通して大量の電荷を移動することにより、選択したセルVTをVLER ASE 範囲外の他のいずれかのVLレベルにシフトする。 これとは対照的に、ミニ消去技術では少量の電荷のみを移動する。ミニプログ ラミングの場合と同様に、セルVTは、ほんの少しだけ、しかもそのセルの元の VLレベルの範囲内のみにおいてシフトする。従来技術の消去によって生じるセ ルP/Eサイクリング耐久力に対する有害作用は、ミニ消去によって回避される 。というのは、電荷の移動はほんの少量だけで済むからである。また、先に判定 されたVTドリフトを補正するのに必要な量の電荷のみを移動する。ミニ消去技 術は、従来技術によって行った場合の完全消去状態までの消去より少ない時間し か必要としない。さらに、ミニ消去は選択したセルVTにわずかに作用するだけ であり、その結果、他の選択していないセルに対して生じる消去の外乱効果は無 視できる程度となる。ミニ消去動作では、VTをVLレベル中でプログラミングと は反対方向にほんの少しだけシフトし、復元動作中に所期のVT復元に必要な1 つの機能を実行することができ、それによって高信頼の多レベル・データ記憶が 可能になる。 ミニ消去技術と先に述べたミニプログラミング技術とを組み合わせることによ り、大規模の消去ブロック・サイズに関連する問題を克服することができる。セ ルが多数の場合には、それらが同じ消去ブロック内で接続されている可能性があ り、それによって消去パルス後のセルVTの分布が、プログラミング・ページ内 の少数のセルにプログラミング・パルスを印加した後に得られる分布より広くな る。ミニ消去技術では、ミニプログラム動作とミニ消去動作を組み合わせて用い ることにより、消去ブロック内のすべてのセルに対して、各VLIレベル内でのセ ルVTの分布を幅を狭くする。 ミニ消去動作では、先に多レベル・デジタル検出セクションで述べたものと同 様の本発明による帯域検出能力を利用して、各セルVTがVL範囲の所期の帯域内 にあることを検証し、それによってそのVL範囲の両端であいまいな検出が行わ れるのを防止するのに十分なマージン保護帯域を確保する。これは、ミニ消去 検証中に複数の基準電圧によって実施する。VRI+VMPELI、VRI+VMELI、お よびVR(I+1)−VMEUIという新たな3つの基準電圧があり、第13A図および第 13B図に示すように、これらの基準電圧はVRIおよびVR(I+1)と共に、各VLI レベルの範囲内に3つのミニ消去マージン保護帯域VMPELI、VMELI、およびVM EUI を定義する。VMPELI、VMELI、およびVMEUIは、先に述べた読出しマージン 保護帯域VMRLIおよびVMRUIまたはミニプログラミングマージン保護帯域VMPLI およびVMPUIと等しくなる場合もあれば等しくならない場合もあり、またそれよ り高くなる場合もあれば高くならない場合もある。各VLIレベルの範囲内のマー ジン保護帯域VMPELI、VMELI、およびVMEUIの選択は、ミニ消去の後に得られ るVTの分布がVL範囲より狭い所期の帯域内に最適化されるような形で行う。 最適化では、VMPELI、VMELI、およびVMEUIの各帯域が互いに等しくならな いようにすることが必要になる可能性もあれば、各VLIレベルごとに別の帯域値 が必要になる可能性もあり、またメモリ・セル・アレイ製造技術によって決定さ れる任意の帯域値が必要になる可能性すらある。あるいは、各レベル内のマージ ン保護帯域が等しい値になる場合もある。このミニ消去は、広範なメモリ製造技 術に対して最適化を行うのに十分な柔軟性を備える。 本発明によるミニ消去検証技術は、1つの値のみを基準にしてセルVTを検証 し、セルVTが所期のVT帯域をアンダーシュートするのを防止するための統計的 プロセス管理に依存する従来技術とはまったく異なる。VTのアンダーシュート (プログラミング時のVTオーバーシュートに相当する消去時の現象)は、消去 動作中に生じる可能性があり、メモリ・セルの浮遊ゲートの周囲の酸化物内に捕 捉された電荷または他のプロセスが誘発した欠陥による前述のローグ・セル効果 によって引き起こされる可能性がある。さらに、ミニ消去は、ゲート酸化物を通 って移動する電荷の量をほんの少しにすることにより、電荷の捕捉とローグ・セ ルが生じる可能性を最小限に抑える。 ミニ消去の検証動作は、消去ブロック内のいずれかのセルVTがVMELI保護帯 域の1つ内にシフトしすぎていることを検知するとそれ以降のミニ消去を停止し 、それによって後でミニプログラミング動作を用いてそのレベル内に所期のVT に再設定できるようにする。VTのアンダーシュートに対するこの回復能力は従 来 技術にはないものであり、最初に完全消去動作と再プログラム動作を実行しない 。本発明による復元動作を用いることにより、VTのアンダーシュートを回復す る際の完全消去と再プログラムが回避され、チップのP/E耐久期間が拡大する 。 消去中のセルVTのシフトの方向は特定のシリコン技術に特有なものとなる。 ミニ消去は、消去時のどちらの方向へのVTシフトにも対応することができるの で、広範なメモリ技術に応用することができる。話を簡単にするために、消去動 作によってセルVTを降下させる場合を示す添付の例と図面を用いてミニ消去動 作について説明する。当業者なら、これとは逆の、消去のさいVTを上昇させる 場合にも同様に対処することができよう。したがって、この特定の例と方法は、 消去の方向性に関して特定のメモリ・セル技術に限定するものではない。ミニ消去の方法 ミニ消去技術は、同じ消去ブロック内で互いに接続された複数のセルを考察す ると最もよくわかる。実際の多レベル・メモリ・システムは、複数のセルを同時 に消去できるようにセル領域を縮小した消去ブロック・メモリ・セル・アーキテ クチャを利用するはずである。チップ全体でなくとも、少なくともそうした消去 ブロック内でのすべてのセルの挙動を理解するには、任意の形式の消去にありう るすべての結果を考察することが必要である。 第13A図および第13B図に、6つの異なる時間TRESR、TRESPE1、TRESE 1 、TRESPE2、TRESE2、およびTRESPに同じレベルVLIの範囲内にある、メモリ 内の複数のセルVTの分布を示す。この例では、時間TRESRでのVTの分布は、 先に述べたBSERD技術を用いて読み出した後のセルの状態を示している。B SERD技術により、保護帯域VMRLI内のAおよびBにVT値を持つ2つのセル と、保護帯域VMRUI内のCおよびDにVT値を持つさらに2つのセルが検出され ている。そのため、復元動作が必要なことを示す復元条件付きフラグが設定され ている。BSERD技術はまた、保護帯域VMRUI内にセルが検出されたことから 、ミニ消去を含めた復元動作を実施することができると判定し、このブロック・ アドレスに対して低電圧復元状態フラグを設定したままにする。 ミニ消去技術の1つの実施形態では、集積回路はミニプログラムとミニ消去を 含めた一連の動作を実行する。ミニプログラム動作についてはすでに述べた。ミ ニ消去技術では、2つの形のミニプログラミング動作を用いる。1つは、前述の ミニプログラミングと同じである。この場合、先に述べた保護帯域VMPLIおよび VMPUIを用いることにより、ミニ消去シーケンスの終了時に最終的なVT調整を 実行する。 もう1つの形のミニプログラミング動作は、別の(予備消去)プログラミング マージン保護帯域VMPELIを用いるという点で最初の形とは異なる。VMPELIによ るミニプログラミング動作は、各ミニ消去動作の前に実行する。所定の最大回数 まで、複数回のミニ消去動作を実行することができる。以下、ミニ消去技術の1 つの実施形態における動作順序について説明する。 本発明の1つの実施形態では、集積回路はミニ消去を含めた復元動作を行うよ うに事前にフラグが設定されたセルの消去ブロックのVTを復元するために、ミ ニ消去を含めた復元動作をしばらく後の時点で実行すると好都合である。その場 合はまず、ミニ消去すべき消去ブロック内のすべてのセルに対してミニプログラ ムを実行し、それによって消去ブロック内のすべてのセルVTが各Iレベルごと の保護帯域VMPELIより高くなるようにする。この予備消去ミニプログラムは、 下側保護帯域の検証値をVRI+VMPLIではなくVRI+VMPELIに設定した上で、 ミニプログラミング技術を用いてブロック内の各ページごとに実行する。まず、 時間TRESPE1において、ブロック内のすべてのページに対する予備消去ミニプロ グラムを完了する。その結果得られる各VLIレベル内のセルVTの分布の例は、 消去ブロック内のすべてのセルに関して第13A図の時間TRESPE1に示す。ミニ プログラム動作を最初に実行することにより、時間TRESRでのセルAおよびBの ようにVR値に近すぎる帯域VMPELI内のセルは、ミニ消去動作中に隣接するVL 範囲にシフトする可能性がある。これは、データの喪失を引き起こすことになる 。予備消去ミニプログラミングにより、消去ブロック内のセルVTが帯域VMPELI 内にある場合に生じる可能性があるデータの喪失を防止する。 次に、消去ブロック内のすべてのセルにミニ消去パルスを印加する。ミニ消去 パルスにより、消去ブロック内のすべてのセルVTは消去方向(プログラミング 動作の方向とは反対の方向)に向かってシフトする。次いで、消去ブロック内の 最初のページがミニ消去動作の対象として選択されるように、消去ブロック(複 数のページからなる)内のすべてのセルに対してミニ消去検証動作を実行する。 次いで、データ検知サブサイクルのみによる簡易型BSERD技術によってセル を読み出して、セル内に蓄積されているVTに対応するN個のバイナリ・ビット を保持する。その後、消去ブロック内の選択したページ内のセルVTを、新たな 下側のミニ消去マージン基準電圧VRI+VMELIと比較(検証)する。ここで、I は保持されたN個のバイナリ・ビットによって表されるレベルに一意に対応する 。 セル内に蓄積されているVTに対応するすでに保持されたN個のバイナリ・ビ ットの状態が検証動作によって変更されることはないので、この検証検出は上述 の読出し検出とは異なる。このとき、VTがVRI+VMELIより低いことが確認さ れたセルは、値VRIおよびVRI+VMELIによって定められた下側のミニ消去マー ジン保護帯域VMELIの範囲内である。最初のページの保護帯域VMELI内にあるこ とが確認されたセルがない場合は、次のページを選択し、読出しと検証を同様に 行う。消去ブロック全体において、保護帯域VMELI内にあることが確認されたセ ルがない場合は、消去ブロックに別のミニ消去パルスを印加し、上述の読出動作 と検証動作を繰り返す。 ミニ消去パルス/消去ブロック検証ステップのシーケンスは、消去ブロック検 証中に時間TRESE1において、選択した消去ブロックの任意のページの任意のセ ルが保護帯域VMELIの範囲内に見つかった場合か、あるいは所定の最大数までミ ニ消去パルスを印加し、得られるエラー・フラグを設定した時点で終了する。時 間TRESE1でのセルVTの分布の例は、第13A図に示した。この繰り返しのミニ 消去パルス/消去ブロック検証動作シーケンスを用いて、消去ブロック内のすべ てのセルVTを小規模の増分で、またすべてのセルVTを元のVLI範囲より狭い帯 域内に維持するような形で同時に調整する。このようにして、セルVTのアンダ ーシュートとデータの喪失を防止する。 上述の例より高速のもう1つの実施形態では、保護帯域VMELIの検証動作を行 わずに1つのミニ消去パルスを用いる。この場合、データの喪失を防止するには 、消去ブロック内のすべてのセルの消去特性のより厳密なプロセス制御が必要に なる。第13A図では、セルVTの分布の端が消去方向側に長く延びていること に 注目されたい。これは、その消去ブロック内のセルの大部分において、一部のセ ルのミニ消去が他のセルより速いことに起因する。このとき、消去ブロックのVT の分布は、VTのアンダーシュートもデータの喪失も生じない範囲でできる限り 大きく消去方向にシフトされている。このとき、元々ミニ消去のきっかけとなっ たセル(第13A図のCおよびDにVTを持つ)は、第13A図にVDELE1として 示した量だけ所期の方向にシフトされている。 次の検証動作では、第14A図の時間TRESPE1でのセルEのように、先の予備 消去ミニプログラミング動作中にVTオーバーシュートの挙動を示したものがあ るかどうかについてすべてのセルを検査し、またミニ消去がさらに必要かどうか についても検査する。このミニ消去検証動作の場合もやはり、消去ブロック内の 最初のページがミニ消去動作の対象として選択されるように、消去ブロック内の すべてのセルに対して実行する。次いで、データビット検知サブサイクルのみに よる、すなわち復元検知サブサイクルを行わない簡易型BSERD技術によって セルを読み出して、セル内に蓄積されているVTに対応するN個のバイナリ・ビ ットを保持する。その後、セルVTを新たな上側のミニ消去マージン基準電圧VR (I+1) −VMEUIと比較(検証)する。ここで、Iは保持されたN個のバイナリ・ ビットによって表されるレベルに一意に対応する。 この検証検出動作の場合もやはり、セル内に蓄積されているVTに対応するす でに保持されたN個のバイナリ・ビットの状態が検証動作によって変更されるこ とはないので、上述の読出し検出動作とは異なる。したがって、VTがVR(I+1) −VMEUIより高いことが確認されたセルは、値VR(I+1)およびVR(I+1)−VMEU I によって定められた上側のミニ消去保護帯域VMEUIの範囲内である。最初のペ ージの保護帯域VMEUI内にあることが確認されたセルがない場合は、次のページ を選択し、読出しと検証を同様に行う。消去ブロック全体において、保護帯域VMEUI 内にあることが確認されたセルがある場合は、消去ブロックに対して上述の 予備消去ミニプログラミング/ミニ消去/検証動作のシーケンスを再度実行する 。ただし、そうしたシーケンスが所定の最大数まで実行され、その結果エラー・ フラグが設定された場合を除く。 検証中に保護帯域VMEUIの範囲内で検出されたセルがある場合は、そのセルの アドレス位置を、第13A図のCおよびDなど、元々ミニ消去のきっかけとなっ たセルのすでに保存されているアドレス位置と比較する。第14A図のEのよう に新しいアドレスが検知された場合は、VTオーバーシュート条件付きフラグを 設定し、そのページ・アドレスを保存する。第13A図および第13B図に示し た例では、CおよびDの2つのセルが時間TRESE1において依然として保護帯域 VMEUIの範囲内にあるので、上述のシーケンスが2回必要になる。この例では、 時間TRESPE2で2回目の予備消去ミニプログラミングを完了したのに続いて、2 回目の一連のミニ消去パルスを印加し、その結果、セルCのVTは時間TRESE2で 量VDELE2だけシフトされる。得られるセルVTの分布は第13B図に示す。 第13B図の例に示したように、時間TRESE2での上述の消去ブロック検証中 に保護帯域VMEUIの範囲内にセルが見つからなければ、最後のミニプログラミン グ動作を開始する。最後のミニプログラミング動作は、消去ブロック内の各ペー ジをミニプログラムするという点を除き、ミニプログラミングのセクションで述 べたのと同じ方法で実行する。最後のミニプログラミング動作中に、上側の保護 帯域VMPUIの範囲内にセルVTが検知された場合は、VTオーバーシュート・シス テム条件付きフラグを設定し、そのページ・アドレスを保存する。最後のミニプ ログラミング動作では、第13B図の例の時間TRESPに示したように、保護帯域 VMPUIと保護帯域VMPUIの間の各VLレベルごとに、消去ブロック全体のセルVT の分布を復元する。 どのページに対してミニプログラミング動作を実行する場合も、VTオーバー シュート・システム条件付きフラグの検査を事前に行う。ミニプログラムすべき ページにこのフラグが設定されているのが検出された場合は必ず、各パルスによ って生じる通常のセルVTシフト増分量より小規模となるようにミニプログラミ ング・パルス・シーケンスを変更するが、これをマイクロプログラミングと呼ぶ 。検証/マイクロプログラミング・パルス・シーケンスが完了した後の選択した ページ内の各レベル内のセルVTの分布は、検証/ミニプログラミング・パルス ・シーケンスの後より狭くなる。マイクロプログラミングを行うようにフラグが 設定されたページは、ミニプログラミングより処理に時間がかかるが、フラグが 設定された必要なページのみに対してマイクロプログラムを行うので、全体とし て のシステム性能は最適化される。 別のマイクロプログラミング動作では、各VL範囲内での得られるセルVTの分 布が最適化されるように、ミニプログラミングの際に使用する保護帯域VMPELI 、VMPLI、およびVMPUIを保護帯域VCPELI、VCPLI、およびVCPUIにそれぞれ 置き換える(第14A図および第14B図を参照)。ミニプログラミング技術の 場合と同様に、検証/マイクロプログラミング・パルス・シーケンスの数が所定 数を超えると、マイクロプログラミングを停止し、システム・エラー・フラグを 設定する。VTオーバーシュート・システム条件付きフラグは、フラグが設定さ れたページが正常にマイクロプログラムされた後にリセットする。復元中にミニ 消去を行わずにVTオーバーシュート・システム条件付きフラグを設定すること により、その消去ブロックに対するミニ消去動作は、直ちに、あるいはその後の 都合のよい時間に開始される。ミニ消去技術は、マイクロプログラミングと共に 用いることにより、VTオーバーシュートを回復するための方法として機能する 。多レベル・メモリ・ミニ消去システム 第7図のPROGRAM ERASE READ RESTORE SEQU ENCERブロック26は、BINARY SEARCH READ SEQU ENCERブロック43と共に、ミニ消去動作を実行するのに必要なすべての事 象の制御と順序付けを行う。第11図に、セル・アレイ21への特定のインター フェースを示す。 例えば、BLOCK0ブロック83は、この消去ブロック内のアドレスに対し て低電圧復元状態がすでに設定されているので、ミニ消去動作の対象として選択 される。第13A図の時間TRESRに、PROGRAM ERASE READR ESTORE SEQUENCERブロック26は復元条件付きフラグに基づい てミニ消去動作を開始する。第11図に示すように、1ページ当たりJ個のセル があり、1行当たりS個のページがあり、1ブロック当たりT個の行がある。し たがって、1ブロック当たり(S×T)個のページがあり、1ブロック当たり( S×T×J)個のセルがあることになる。第13A図の例を用いる。まずBLO CK0ブロック83のすべてのページに対して予備消去ミニプログラム動作を 実行する。BLOCK0ブロック83の各ページごとに、復元検知サブサイクル を行わない簡易型BSERD技術を実行して、選択したページ内のJ個のセルす べてについて各セル20から4ビットのデータを同時に読み出す。読出動作が完 了すると、各Y−DRIVER 33内のDATA[0〜3] LATCHES ブロック48には、選択したページのJ個のセルそれぞれに対する1セル当たり 4ビットの個別データが格納される。 次に、PROGRAM ERASE READ RESTORE SEQUE NCERブロック26によってPRGRDBバス37を設定する。各Y−DRI VER 33ごとにDATA[0〜3] LATCHESブロック48からの出 力に基づいて、VX VY GENブロック38からのVX出力として該当する 電圧VRIを生成し、またそのブロックからのVY出力として電圧VR(I+1)を生成 する。△VU △VL GENブロック39は、△VL出力としてVMPELIを生 成する。VCRFGENブロック40は、すべての予備消去ミニプログラミング 動作中に、VCRF線45上に電圧(VRI+VMPELI)を生成する。次いで、繰 り返しのミニプログラム・パルス・シーケンスによって予備消去ミニプログラミ ング動作を実行し、選択したページ内のJ個のセルがすべて、(VRI+VMPELI )より高いVTを持つようになるまで検証動作を実行する。その後、PROGR AM ERASE READ RESTORE SEQUENCERブロック2 6とBINARY SEARCH READ SEQUENCERブロック43 は、最初の行線WL0085内のS個のページすべてに対する予備消去ミニプログ ラミングを継続する。この動作は、S個のページを伴うT個の行がすべて予備消 去ミニプログラムされ、プログラムされたすべてのセルVTが電圧(VRI+VMPE LI )より高くなるまで継続する。これで、選択したBLOCK0ブロック83の 予備消去ミニプログラミングは完了する。BLOCK0のセルVTの典型的な分 布は、第13A図の時間TRESPE1に示す。 選択したメモリ・ブロックまたはセクタに対して消去動作が実行できるように 、BLOCK−DECブロック19、X−DECブロック17、およびY−DE Cブロック18に対してPRG−ERSバス22を強制的に設定する。次いで、 選択したBLOCK0ブロック83内のすべてのセル20にミニ消去パルスを印 加 する。このミニ消去パルスは、HVGENブロック27によって生成され、HV OUTバス25を介して渡される。 ミニ消去パルスを印加した後は、選択したBLOCK0ブロック83内のすベ てのセル20に対して検証動作を実行する。復元検知サブサイクルを行わないB SERD技術により、ページ内の各セル20から4ビットのデータを各Y−DR IVER 33内のDATA[0〜3] LATCHESブロック48に保持す る。各Y−DRIVER 33内のDATA[0〜3] LATCHESブロッ ク48からの出力に基づき、VX VY GENブロック38はVX出力として 電圧VRIを、VY出力として電圧VR(I+1)をそれぞれ生成する。△VU △VL GENブロック39は、△VL出力として電圧VMELIを生成する。 すべてのミニ消去検証動作中、VCRFGENブロック40はVCRF線45 上に電圧(VRI+VMELI)を出力するが、これは各Y−DRIVER 33ごと にDATA[0〜3] LATCHESブロック48からの出力によって一意に 定義される。その後、PROGRAM ERASE READ RESTORE SEQUENCERブロック26とBINARY SEARCH READ SEQUENCERブロック43は、選択したBLOCK0ブロック83のT個 の行のS個のページすべて対してミニ消去検証動作を実行する。ミニ消去検証で は、各Y−DRIVER 33ごとに、VMEM線31上の電圧とVCRF線上 の電圧(VRI+VMELI)とを比較する。ミニ消去検証動作中に、VMEM線31 がVCRF線45より低電圧になった場合、PROGRAM ERASE RE AD RESTORE SEQUENCERブロック26内に条件付きフラグを 設定する。条件付きフラグを設定しなかった場合は、選択したBLOCK0ブロ ック83に対して別のミニ消去パルスおよびミニ消去検証動作を実行する。条件 付きフラグを設定したか、ミニ消去パルス動作の最大数に達した場合は必ず、P ROGRAM ERASE READ RESTORE SEQUENCERブ ロック26はミニ消去/検証動作を停止する。第13A図の時間TRESE1に、条 件付きフラグが設定された後のセルVTの分布を示す。 次に、選択したBLOCK0ブロック83のすべてのセルに対して、オーバー シュート・セル検証動作を実行する。PROGRAM ERASE READ RESTORE SEQUENCERブロック26とBINARY SEARC H READ SEQUENCERブロック43は、選択したBLOCK0のT 個の行のS個のページすべてに対してオーバーシュート・セル検証を実行する。 オーバーシュート検証動作の期間全体にわたり、VCRF線45上の電圧をVR( I+1) −VMEUIに設定するが、これは各Y−DRIVER 33内のDATA[0 〜3]LATCHESブロック48の出力によって一意に決まる。VMEM線3 1がVCRF線45より低電圧である限りは、各ページごとに、また各Y−DR IVER 33ごとにオーバーシュート検証を継続して次のページに進む。選択 したページのいずれかの時点で、いずれかのY−DRIVER 33に関してV MEM線31がVCRF線45より高電圧になっている場合は、それらのセル2 0のアドレスをREGISTERS & ADDRESS BUFFERブロッ ク60に保存する。 オーバーシュート条件付きフラグが設定されたセルのアドレスを、元々ミニ消 去条件フラグのきっかけとなったセルのアドレスと照合する。アドレスが不一致 となった場合は、そのページに対してオーバーシュート条件付きフラグを設定す ると共に、そのページ・アドレスをREGISTERS & ADDRESSB UFFERブロック60に保存する。アドレスが一致する場合は、別の予備消去 ミニプログラミング動作を実行する。第13A図および第13B図に、2回目の 予備消去ミニプログラミング動作の後の時間TRESPE2でのセルVTの分布を示す 。 その後、別のミニ消去パルスを印加し、ミニ消去検証を実行する。第13B図 の時間TRESE2に、2回目のミニ消去/検証動作後のセルVTの分布を示す。VME UI 保護帯域検証の後にオーバーシュート条件付きフラグが設定されていない場合 、選択したBLOCK0ブロック83内のすべてのページに対して最後のミニプ ログラミング動作を実行する。各ページに対する最後のミニプログラミング動作 の開始時に、PROGRAM ERASE READ RESTORE SEQ UENCERブロック26は、REGISTERS & ADDRESS BU FFERブロック60内のそのページに対して、VTオーバーシュート条件付き フラグ検査を実行する。フラグが見つからなかった場合は、通常のミニプログ ラミング動作を実行する。第13B図の時間TRESPに、最後の通常のミニプログ ラミング動作を実行した後のセルVTの分布を示す。あるページに条件付きフラ グが見つかった場合は必ず、そのページに対してマイクロプログラミング動作を 実行する。マイクロプログラミング動作は、1)PROGRAM ERASE READ RESTORE SEQUENCERブロック26が、PRGRDB バス37を介して△VU △VL GENブロック39に対して、アナログ電圧 バスRVBUS 42からの電圧VMPELI、VMPUI、およびVMPLIの代わりに、 電圧VCPELI、VCPUI、およびVCPLIを生成するように指令する、2)PROG RAM ERASE READ RESTORE SEQUENCERブロック 26が、HVCTRLバス23を介してHVGENブロック27に対して、ミニ プログラミング・パルスをマイクロプログラミング・パルスに変更するように指 令し、それによってセル20のVTのシフト量がミニプログラミング動作中より 小さくなるようにするという例外を除いて、ミニプログラミング動作と同じであ ることが好ましい。 IV.プログラミングプログラミング動作の全般的説明 本明細書で記述する集積回路はまた、新規の多レベル・プログラミング技術に よっても動作する。このプログラミング技術は、これまで述べたミニプログラミ ング技術とは異なる。このプログラミングにより、すでに消去したページに新し いデータを格納すると同時に、ミニプログラミングにより、すでに格納されたデ ータを変更することなく既存データを復元する。ミニプログラミングと比べて、 このプログラミング技術では浮遊ゲートの周囲の酸化物を通してより大量の電荷 を移動するので、セルVTをより大幅にシフトすることができる。一方向(プロ グラミング方向)にのみセルVTをシフトする従来のプログラミング技術とは異 なり、本発明によるプログラミング技術は、プログラミングと消去の両方向にセ ルVTをシフトする。 そうした従来の多レベル・メモリ・プログラミングでは、セルVTの分布がき わめて狭いことが必要である。プログラミング後の各レベル内のマージンが非常 に広いと、メモリ・チップの寿命全体にわたって将来的にVTのドリフトが生じ る可能性がある。第15A図に、時間TPにおける1つのマージン値PV1を用い た従来技術によるプログラミングの直後の、VLレベル内のセルVTの当初は狭い 分布の例を示す。また、同図に、当初は狭かった分布が、その間のVTドリフト によって時間TFにおけるあいまいな検出による障害が生じるに至るまで大幅に 広がった、長期間後の分布も示す。 これとは対照的に、本発明では、しばらくの間だけデータを高信頼に記憶する ための最初のプログラミング・ステップから生じた各レベル内のきわめて広いセ ルVT分布(第15B図の時間TPを参照)を、近い将来の時間(第15B図のTRESP で示した)に復元動作が実行可能となるまで用いることができる。さらに、 本発明によるセルVT復元技術によって維持されるマージン(第15B図の時間 TFを参照)は、本発明を用いないプログラミングの際に必要なマージンほど広 くはない。従来技術においてプログラミングVTの分布が狭くなければならない ということは、所期の基準電圧が正常に確認されるまで、VTを小規模の増分で シフトするのに多くの検証/プログラム・パルス・シーケンスが必要になるので 、プログラミング時間を大幅に長くする。ほとんどのシステム応用分野では、プ ログラミング時間が長いということは外部システムから見て非常に不都合である 。一方、本発明は、外部システムの感知プログラミング・アルゴリズムへの各レ ベル内の広いセルVT分布の採用を可能にすることにより、多レベル記憶のプロ グラミング時間を短縮する。 本発明の1つの実施形態は、VLIレベルすべてについてセルVTをプログラミ ング動作に設定するための最後の動作が必要であるという点と、VF範囲の一方 の端のいずれかのレベルに対して従来技術で使用されるのと同様の消去動作が不 要であるという点で従来技術と異なる。 本発明では、プログラミング・サイクルを2つの部分に分割する。第1部分で はまず、各レベルごとのVR基準電圧値の周囲に小規模のマージンを設けて、す ばやくセルにデータを記憶する。長期のVTドリフト効果によってデータの喪失 が生じるまで一時的にデータを高信頼に記憶するには、この小さなマージンで十 分である。この第1部分では、外部システムから見てできる限り短時間となるよ うにプログラミング時間を最適化する。外部システムにとっての総プログラム時 間は、第1部分の間のデータ記憶を行うのに必要な時間のみである。第1部分で は、ゲート酸化物を通しての電荷移動のほとんどと、セルVTシフトのほとんど を実行する。 第2部分は、先に述べたミニ消去動作を含めた復元と同じである。第1部分で すでにデータはセルに記憶されているので、第2部分は外部システムから独立し て実施することができる。第2部分は、外部システムによって感知されたプログ ラミング期間が終了した後に、そうでない場合はメモリ・チップがアイドル状態 の期間中に実行することができる。プログラミング・サイクルの第2部分では、 システム動作の最適化と長期的な信頼性のために必要なより広いマージンをVR 値の周囲に設定する。このプログラミング・サイクルの第2部分は、第1部分よ り処理に時間がかかる。 本発明の1つの実施形態では、第2部分は第1部分の直後に行う。もう1つの 実施形態では、より時間のかかる第2部分を第1部分のしばらく後まで延期し、 外部システムから見たプログラミング時間が大幅に短縮されるような形で行う。 プログラム動作の第1部分では、多レベル・デジタル検出のセクションで述べ たのと同様の、本発明による帯域検出能力を利用する。各セルVTがVL範囲の所 期の帯域にシフトされたことを検証して、そのVL範囲の両端でのあいまいな検 出を防止するのに十分なマージン保護帯域を確保する。プログラミング検証動作 では複数の基準電圧を用いる。プログラム技術の第1部分では、基準電圧VRI+ VPLIおよびVR(I+1)−VPUIを使用し、それによってVRIおよびVR(I+1)と共に 、第15B図に示す各VLIレベルの範囲内に新たな2つの下側および上側のプロ グラミング・マージン保護帯域VPLIおよびVPUIを定める。VPLIおよびVPUIは 、先に述べた読出し保護帯域VMRLIおよびVMRUI、ミニプログラミング保護帯域 VMPLIおよびVMPUI、ミニ消去保護帯域VMPELI、VMELI、およびVMUI、あるい はマイクロプログラミング保護帯域VCPELI、VCPLI、およびVCPUIと等しくな る場合もあれば等しくならない場合もあり、またそれより高くなる場合もあれば 高くならない場合もある。各VLIレベルの範囲内の保護帯域VPLIおよびVPUIの 選択は、プログラミングの第1部分の後に得られるVTの分布がVL 範囲より狭い所期の帯域内に最適化されるような形で行う。最適化では、VPLI とVPUIの各帯域が互いに等しくならないようにすることが必要になる可能性も あれば、各Iレベルごとに別の帯域値が必要になる可能性もあり、またメモリ・ セル・アレイ製造技術によって決定される任意の帯域値が必要になる可能性すら ある。あるいは、各レベル内の帯域が等しい値になる場合もある。このプログラ ミング技術は、広範なメモリ製造技術に対して最適化を行うのに十分な柔軟性を 備える。 本発明による検証技術は、1つの値のみを基準にしてセルVTを検証する従来 のプログラミング技術とはまったく異なる。従来技術では、先に述べたあいまい な検出の問題を引き起こす基準電圧VR(I+1)にVTが近づきすぎるような形でセ ルのプログラムが行われる可能性がある。本発明は、各レベルごとに2つの追加 の検証基準電圧を用いて、プログラム後のデータが最適化された帯域内にあるこ とを検証することにより、従来技術を用いた場合に生じる可能性があるあいまい なデータ検出の問題を防止する。プログラミングの方法 まず、プログラムすべきページ内に新しいデータを保持し、各セルごとに2N 個のVLレベルのいずれかに変換する。本発明の1つの実施形態では、集積回路 はプログラミング・シーケンスの第1部分を実行する。セルVTを新たな下側の プログラミング・マージン基準電圧VRI+VPLIと比較(検証)する。ここで、 Iは保持されたN個のバイナリ・ビットによって表されるレベルに一意に対応す る。この検証検出技術は、先に述べた読出および検証検出とは異なり、また値VRI およびVRI+VPLIによって定められる保護帯域VPLIの値が、いずれの従来技 術で可能な値よりもはるかに小さいという点で従来技術とも異なる。本発明にお いてそうした小さなプログラミング・マージン保護帯域VPLIが可能なのは、1 )プログラミング・シーケンスの第2部分により、長期的なVTの安定性のため のマージンが高くなること、2)プログラミング・シーケンスの第2部分は、第 1部分が完了した後、該当するVTのドリフトが生じる前に実行することによる 。セル内に蓄積されているVTに対応するすでに保持されたN個のバイナリ・ ビットの状態が検証動作によって変更されることはないので、この検証検出は読 出し検出動作とは異なる(前述のBSERD技術を参照)。 次に、選択したページ内の選択したセルにのみ、適切な電圧と持続時間を持っ たプログラミング・パルスを印加する。このプログラミング・パルスは、先の検 証ステップでVTが電圧VRI+VPLIより低いとすでに判定されたセルにのみ、選 択的に印加する。VTが電圧VRI+VPLIより高いと判定されたセルは、プログラ ミングから除外する。最初のプログラミング・パルスの後、別の検証動作を実行 する。VTが電圧VRI+VPLIより低いことが確認されたセルがある場合は別のプ ログラミング・パルスを選択的に印加するが、この場合もやはり、VTが電圧VR I +VPLIより低いセルにのみ印加する。 このプログラミング技術は、同じページ内で互いに接続された複数のセルを考 察すると最もよくわかる。第16A図および第16B図に、6つの異なる時間TP 、TRESPE1、TRESE1、TRESPE2、TRESE2、およびTRESPに同じレベルVLIの 範囲内にある、メモリ内の複数のセルVTの分布を示す。検証/プログラミング ・パルス・シーケンスは、第16A図に示した時間TPまでの間にページ内のす べてのセルが電圧VRI+VPLIより上にVTを持つことが確認されるまで繰り返す か、あるいは所定の最大数までパルスを印加し、システム・エラー・フラグが設 定されるまで繰り返す。 最初のページが正常にプログラムされると、プログラムすべき次の消去済みペ ージを選択し、この手順を最後のページまで繰り返す。プログラムすべきページ は、すでに消去したブロックまたはセクタ内になければならない。第1部分のプ ログラミング動作の実行対象となった各消去ブロックのアドレスを保存し、それ によって第2部分のプログラミング動作を後で実行できるようにする。この第1 部分のプログラミング手順の完了が、外部システムから見たプログラミング時間 を決定する。このプログラミング部分で用いるプログラミング・パルスは、従来 技術で必要なほどの狭いセルVT分布を各VLレベル内に必要としないので、本発 明によって多レベルプログラミング時間は大幅に短縮される。 本発明は、上述の検証/プログラミング・パルス・シーケンスの後に追加の検 証ステップを加える。あるいは、この新たな検証ステップは、各プログラミング ・パルスの後に実行することもできる。当然のことながら、この場合には処理時 間がよけいにかかることになる。追加のステップでは、プログラムを終えたばか りの選択したページ内のすべてのセルVTを、もう1つの新たなプログラミング ・マージン基準電圧VR(I+1)−VPUIと比較する。この場合もやはり、Iは保持 されたN個のバイナリ・ビットによって表される同じレベルに一意に対応する( 第16A図を参照)。このとき、そのVTが電圧VR(I+1)−VPUIより高いことが 確認されたセルはすべて、過剰プログラムされており、システム・エラー・フラ グを設定する。この検証動作により、検証に合格したプログラム済みのセルVT をVLの範囲より狭い帯域内に設定し、上側と下側の両プログラミング・マージ ンVPLIおよびVPUIを設定することが可能になる。これにより、あるビットのプ ログラムが基準電圧値VR(I+1)に近すぎる場合にあいまいな検出が生じる可能性 は回避される。これとは対照的に、従来技術では下側のマージンのみを設定する 。 上述の第1部分のプログラミング・シーケンスの後の都合のよい時間に、集積 回路はプログラムを終えたばかりのすべての消去ブロックに対して順次、ミニ消 去動作を含めた復元を実行する。第13A図の時間TRESRに示したミニ消去を含 めた復元前のセルVTの分布と第16A図の時間TPに示したセルVTの分布は、 これらの動作の結果を例示している。 したがって、プログラミング・シーケンスの第2部分は、先に述べたミニ消去 技術を含めた復元によって完全に実施される。第16A図および第16B図にこ れらのステツプを示すが、これは時間TRESPE1、TRESE1、TRESPE2、TRESE2、 およびTRESPの後にミニ消去動作を含めた復元を行った場合の第13A図および 第13B図に示す同じステップに対応する。プログラミングの第1部分で最小限 の保護帯域で蓄積したセルVTにドリフトを生じるための時間を与える前に、完 全な保護帯域VMPLIおよびVMPUIが復元される。このとき、得られるVTの分布 は、第16B図の時間TRESPに示す最後の分布に見られるようなものとなる。 あるいは、集積回路は、第2部分のプログラミング動作を行うようにすでにフ ラグが設定されたセルの消去ブロックのVTを復元するために、プログラミング 動作の第2部分(ミニ消去を含めた復元)をしばらく後の時点で実行すると好都 合である。 もう1つの変形では、第1部分ですでにプログラムした消去ブロックに対する 第2部分のプログラミングを、その第1部分のプログラミング・ステップの直後 に実行する。いずれの場合も、すべてのデータがすでにメモリ・セル内に格納さ れているので、第2部分のプログラミング動作は自律的に実行される。したがっ て、本発明の自律的に実行される第2部分のプログラミング・シーケンスは、外 部システムが感知するプログラミング時間を増加しない。多レベル・メモリ・プログラミング・システム プログラミングに関する好ましい実施形態については、BSERD検出技術、 ミニプログラミング技術、およびミニ消去技術と共にすでに述べた。まず、第7 図のDATA、ADDR & CNTRL SYSTEM INTERFACE ブロック10を介して、外部の供給源からのデータを各Y−DRIVER 33 内のDATA[0〜3] LATCHESブロック48にロードする。また、デ ータを格納するためのアドレス位置も与える。データは、すでに消去されている ブロックにプログラムする。プログラミングの第1部分は、先に述べたミニプロ グラミング技術ときわめてよく似ている。このとき、PROGRAM ERAS E READ RESTORE SEQUENCERブロック26は、PRGR DBバス37を介して△VU △VL GENブロック39に対して、基準電圧 バスRVBUS 42からの電圧VMPUIおよびVMPLIの代わりに、基準電圧VPU I およびVPLIを生成するように指令する。VX VY GENブロック38は指 令を受けて、基準電圧VRIおよびVR(I+1)を生成する。ここで、Iは各Y−DR IVER 33内のDATA[0〜3] LATCHESブロック48に先にロ ードされ、保持されているN個のバイナリ・ビットによって表されるレベルに対 応する。プログラム/検証動作とオーバーシュート検証動作は、先に述べたミニ プログラミング技術で使用するものと同様である。プログラミング技術の第2部 分は、先に述べたミニ消去技術とまったく同じである。 V.消去消去動作時の全般的説明 集積回路はまた、先に述べたミニ消去技術とは異なる多レベル消去技術によっ ても動作する。消去は消去ブロックまたはセクタ内にすでに格納されているデー タを破壊するが、ミニ消去はすでに格納されているデータを改変することなく既 存のデータを復元する。また、消去は、ミニ消去の際に生じるよりも大量の電荷 を浮遊ゲートの周囲の酸化物を通して移動し、しかもより大幅にセルVTをシフ トする可能性がある。 セルVTを一方向(消去方向)にのみシフトする従来の消去技術とは異なり、 本発明による消去技術は、プログラミングと消去の両方向にセルVTをシフトす る。多レベル・メモリ記憶の場合の従来技術による消去は、消去ブロック内のす べてのセルについて非常に広いセルVTの分布を引き起こす。従来技術では、こ の消去済みのセルの広くなったVT分布VLERASEが、多レベル記憶の場合の2N個 のVLの範囲として用いられてきた。しかし、本発明による消去技術では、消去 済みの広くなったセルVT分布を2N個のVLの範囲の1つとして使用しない。VL の範囲はすべて、範囲VL0の幅が、VLERASEの範囲と同時に重複しながらも他の VLの範囲のいずれかと同様になるように最適化する。 第17A図ないし第17C図に、1セル当たり4ビットの多レベル記憶の場合 の消去ブロック内のすべてのセルに関する長期データ記憶時のセルVT分布の例 を示す。また、第17A図ないし第17C図は、すべて同じメモリ・アレイ製造 技術を用いており、したがって1)VFとして示した、プログラミングおよび消 去の場合の有効セルVTの範囲と、2)VLERASEの範囲はまったく同じである。 しかしながら、これらの図面は消去技術のタイプと得られるVR値、VLの範囲 、およびVMの範囲が異なる。第17A図は、従来用いられている技術と同様に VLERASEの範囲をVL0レベル(基準値VR0とVR1の間)として用いた場合の例を 示す。第17A図には16個のレベルを示した。各レベルはVM分だけ分離して おり、15個のレベルの幅はVLであり、1個のレベルの幅はVLERASEであり、 VLERASE>>VLであり、またVF=VLERASE+15VM+15VLである。第17 B図は、1)VL0レベルとしてVLERASEの範囲を使用しない、その代わりに2) VFの範囲全休にわたってVLの範囲がほぽ等しくなるように広げることに より、VFの範囲全体の利用率を最適化した場合の本発明の1つの実施形態を示 す。第17B図に示した16個のVLレベルはVM分だけ分離しており、VF=1 6VL+15VMとなる。VFは等しいので、VL+VMは第17A図の例より第1 7B図の例の方が大きくなる(したがって、製造や管理が容易になる)。したが って、第17B図に示した実施形態は第17A図に示した技術より優れており、 高密度の多レベルデータ記憶を可能にする。 第17C図にもう1つの変形は示す。VFの範囲全体にわたって広がっている 第17B図のVLレベルとは異なり、第17C図のVLレベルはVLERASEの範囲と は重複しない。これは、VL+VMの電圧が広くなるという利点をもたらさないが 、一部の技術でのより高信頼のデータ検出には必要になる可能性がある。さらに 、先にミニ消去のセクションで述べたように、この集積回路の消去技術は、いず れの方向への消去VTシフトにも適応できる。本発明は、広範なメモリ・アレイ 製造と多レベル記憶のための検出回路を可能にする。 この消去動作では、先に多レベル・デジタル検出セクションで述べたものと同 様の帯域検出能力を利用して、各セルVTがVL範囲の所期の帯域内にあることを 検証する。これにより、そのVL範囲の両端であいまいな検出が行われるのを防 止するのに十分なマージン保護帯域を確保する。 消去検証中には複数の基準電圧を用いる。第18A図および第18B図に示す ように、基準電圧VR0+VMEFLおよびVRI−VMEFUは、VR0およびVR1と共に、 各VL0レベルの範囲内に新たな2つの下側および上側の消去マージン保護帯域VMEFL およびVMEFUを定義する。消去基準電圧VEAおよびVEBと、プログラミング 基準電圧VPEBおよびVPEFを用いる。以下説明するように、その他の電圧を用い ることもできる。VMEFLおよびVMEFUは、先に述べた読出し保護帯域VMRLIおよ びVMRUI、ミニプログラミング保護帯域VMPLIおよびVMPUI、ミニ消去保護帯域 VMPELI、VMELI、およびVMUI、マイクロプログラミング保護帯域VCPELI、VC PLI 、およびVCPUI、あるいはプログラミング保護帯域VPLIおよびVPUIと等し くなる場合もあれば等しくならない場合もあり、またそれより高くなる場合もあ れば高くならない場合もある。 各VL0レベルの範囲内のマージン保護帯域VMEFLおよびVMEFUの選択は、消去 技術の後に得られるVTの分布がVL0範囲より狭い所期の帯域内に最適化される ような形で行う。最適化では、VMEFLとVMEFUの各帯域が互いに等しくならない ようにすることが必要になる場合がある。あるいは、各レベル内の帯域を等しい 値にする場合もある。 この技術は、広範なメモリ製造技術に適応できるように最適化される。本発明 による検証技術は、1つの消去基準電圧のみを基準にしてセルVTを検証する従 来技術とはまったく異なる。従来技術では、先に述べたあいまいな検出の問題を 引き起こす基準値VR0またはVR1にVTが近づきすぎるような形でセルの消去が 行われる可能性がある。本発明による消去技術は、追加の検証基準電圧を用いて 消去後のデータが最適化された帯域内にあることを検証することにより、あいま いなデータ検出の問題を防止する。消去の方法論 消去技術は、同じ消去ブロック内で互いに接続された複数のセルを考察すると 最もよくわかる。先に述べたように、実際の多レベル・メモリ・システムは、複 数のセルを同時に消去できるようにセル領域を縮小した消去ブロック・メモリ・ セル・アーキテクチャを利用する。チップ全体でなくとも、少なくともそうした 消去ブロック内でのすべてのセルの挙動を理解するには、任意の形式の消去にあ りうるすべての結果を考察することが必要である。 第18A図および第18B図に、7つの異なる時間TPE、TE1、TEPE2、TE2 、TEPEF、TEF、およびTPに4つのレベルVL0ないしVL3の範囲内にある、メ モリ内の複数のセルVTの分布を示す。この例では、VLERASEは4つのVL範囲と 重複する。ただし、この技術がこの特定の例に限定されるものと見なしてはなら ない。 時間TPEでのVTの分布は、消去の直前のセルの状態を示す。この消去方法は 、多くの点でミニ消去方法と似ており、同じ原理の多くを用いることからここで はあまり詳しく述べない。まず、選択したセクタに消去パルスを与える。次いで 、メモリ・アレイ製造の特徴に応じて、次の2つの方法のいずれかによってその セクタ内のすべてのセルを検証する。最初の方法ではすべてのセルが基準電圧VEA より低くなっていることを検証するが、もう1つの方法ではすべてのセルがマー ジン基準電圧VR0+VMEFLより高くなっていることを検証する。後続の消去パル ス/検証シーケンスは、すべてのセルが基準電圧VEAより低くなるまで、最初の セルがマージン保護帯域VMEFL内にあることが確認されるまで、あるいはシーケ ンスの最大数(エラー・フラグ)に達するまで印加する。得られるセルVTの分 布は、第18A図の時間TE1に示す。 次に、消去済みのセルの分布を狭くし、マージン基準電圧VR0+VMEFLに向け てシフトするためのもう1つの方法として、一連の予備消去ミニプログラミング /ミニ消去ステップを実行する。予備消去ミニプログラミング/ミニ消去シーケ ンスの回数は、メモリを製造する際のプロセスによって決まり、適切な基準電圧 値を選択することによって最小限に抑えられる。 第18A図および第18B図の例は、それぞれ時間TEPE2/TE2と時間TEPEF /TEFでの、そうした2つの予備消去ミニプログラミング/ミニ消去シーケンス を示す。第18A図に示した例では、最初の予備消去ミニプログラミング基準電 圧はVPEBに設定される。VPEBでのミニプログラミング・パルス/検証動作は、 すべてのセルが基準電圧VPEBより高いことが確認されるまで印加する。この最 初の予備消去ミニプログラミング・ステップから得られるセルVTの分布を、時 間TEPE2に示す。次いで、すべてのセルが基準電圧VEBより低いことが確認され るまで、最初のセルがマージン保護帯域VMEFL内にあることが確認されるまで、 あるいはシーケンスの最大数(エラー・フラグ)に達するまで、ミニ消去パルス /検証動作を行う。基準電圧VEBは、先の基準電圧VEAとVR0+VMEFLの間で最 適に選択される。その結果得られるセルVTの分布を、第18A図および第18 B図の時間TE2に示す。 再び、予備消去ミニプログラミング/ミニ消去ステップを繰り返す。次いで、 もう1つの予備消去ミニプログラミング基準電圧をVPEFに設定する。基準電圧 VPEFは、先の基準電圧VPEBとVR0+VMEFLの間で最適に選択される。VPEFで のミニプログラミング・パルス/検証動作は、すべてのセルが基準電圧VPEFよ り高いことが確認されるまで行われる。このもう1つの予備消去ミニプログラミ ング・ステップから得られるセルVT分布を時間TEPEFに示す。次いで、すべ てのセルが保護帯域基準電圧VR1−VMEFUより低いことが確認されるまで、最初 のセルがマージン保護帯域VMEFL内にあることが確認されるまで、あるいは最大 数(エラー・フラグ)に達するまで、ミニ消去パルス/検証動作が行われる。 今回は、別のミニプログラミング・ステップを適用するのではなく、保護帯域 基準電圧VR1−VMEFUを用いて検証する時とあらかじめ決められている。保護帯 域VMEFU内にあることが確認されたセルがない場合、あるいは最大数(エラー・ フラグ)まで消去ステップを実行した場合は、消去動作を完了する。あるいは、 先のミニ消去検証ステップの終了時に保護帯域基準電圧VR1−VMEFUより高いこ とが確認されたセルがある場合にのみ、次の基準電圧VPEを用いて最大数(エラ ー・フラグ)まで予備消去ミニプログラミング/ミニ消去シーケンスを実行する 。次の基準電圧VPEは、先の基準電圧VPEとVR0+VMEFLの間で最適に選択され る。その結果得られるセルVTの分布を第18B図の時間TEFに示すが、これは すべてのセルが保護帯域基準電圧VR1−VMEFUより低いことが確認されたことを 示している。これで消去動作は完了する。得られるセルVTの分布を第18B図 の時間TEFに示すが、これは、プログラミング技術の第1部分によって得られる ものと幅が類似する。これで、消去ブロックは、VL0レベルに残存していないセ ルをいつでもプログラミングできる状態となる。先に述べたプログラミング技術 の第1部分の後のセルVTの分布を、第18B図の時間TPに示す。多レベル・メモリ消去システム 消去動作は、先に述べたミニ消去技術の動作とほぼ同じである。例外は、PR OGRAM ERASE READ RESTORE SEQUENCERブロ ック26が、PRGRDBバス37を介して△VU △VL GENブロック3 9に対して、基準電圧バスRVBUS42からの電圧VMEUIおよびVMELIの代わ りに、基準電圧VMEFUおよびVMEFLを生成するように指令することである。VX VY GENブロック38は指令を受けて、基準電圧VR0およびVR1を生成す る。基準電圧VEA、VPEB、VEB、およびVPEFも同様の形で生成され、先に述べ た最適化に応じて最も近いVR1を基準にする。また、ミニ消去のセクションで先 に述べたように、選択したメモリ・ブロックまたはセクタに対して消去動作が 実行できるように、BLOCK−DECブロック19、X−DECブロック17 、およびY−DECブロック18に対してPRG−ERSバス22を強制的に設 定する。 以上は、本発明の好ましい実施形態の完全な説明であるが、様々な代替例、修 正例、および均等物を用いることができる。上述の実施形態に対して適切な修正 を加えることにより、本発明を同等に応用てきることは明白であろう。本発明に 当てはまるメモリ技術は多くあり、単に電荷の蓄積に限定されない。自然界のそ の他の基本的物質も、集積回路メモリ・セルに蓄積することができる。例えば、 半導体チャネル上の薄膜中の強誘電体拘束電荷はチャネルの伝導度を調整するの で、強誘電体メモリの基礎をなす。導体や制御ゲートに電圧を印加したり、強誘 電性薄膜全体に電圧を印加することにより、拘束電荷量を制御することができ、 それによって様々な伝導度を得ることができる。基準電圧を用いて制御ゲート電 圧を設定することもできる。このように、本発明は電荷蓄積型のメモリと同様に 強誘電体メモリにも応用することができる。 したがって、以上の説明を、添付の請求の範囲によって定義される本発明の範 囲を限定するものとして捉えてはならない。DETAILED DESCRIPTION OF THE INVENTION                  Stabilization circuit for multiple digital bits                                Field of the invention   The present invention relates generally to semiconductor memories, and more particularly to semiconductors that are subject to drift effects. Regarding memory stabilization. One such memory per memory cell or Multiple digital bits can be stored.                                Background of the Invention   Integration of semiconductor memory such as EEPROM, EPROM, FLASH, DRAM Path so far can store one digital bit per memory cell This method is hereinafter referred to as single bit storage. One memory cell Memory that can store more than 2 bits of digital data per bit and its advantages Has already been explained. Such multi-bit memory per cell is simply The previous two (conductive and non-conductive) cells used in one-bit storage technology Threshold voltage VTMulti-level notes because you need more levels than levels Called Ri.   Each level of a multi-level memory cell is a specific range stored in each memory cell And the nonvolatile memory, ie, EEPROM, EPROM, FLAS In the case of a memory such as H, the cell VTRepresents a specific range of values. Per memory cell To store N bits, cell VTRange and charge storage amount is 2NDivided into levels Must be able to do it. Each level is binary data unique to all N bits ・ Corresponds to the pattern. The program for erasing or storing the cell VTBut these twoNThis is done so that it is set within any of the levels. Cell VT Is at what level and the corresponding stored for N bits Reading of the binary data pattern is performed by a detection circuit. in this way, The same memory cell array area that previously stored only one bit per cell Much lower bit cost because N times more bits can be stored in the area Can store digital information.   In the following description of the non-volatile memory, "level" refers to a range of VT Value, not one voltage value. Also, cell VTThe term semiconductor device Instead of using the exact meaning defined by chair physics, To determine the conduction state of the memory cell. This conduction is a cell VTRelated to Similarly, the DRAM level is not a single charge value but a constant Refers to the range of accumulated charge.   Individual level detection is based on multiple reference voltages or currents Memory cell conductivity (ie, stored charge) as a function of voltage or current Do by doing. In the present invention, the detection of the voltage will be described. The voltage can be easily converted to a current by a detection method implemented in the art. You.   Multilevel memory has many problems. Normally, N bits per memory cell If you memorize theN-1 or 2NReference voltage values VRI(Where I = 1, 2,. . . , 2N-1 or 2N) Using VR1<VR2<. . . <VR (2 ^ N ) Two each other so thatNSeparation into individual levels has been proposed. Brief description For simplicity, sometimes VRITo VRNote that it is abbreviated as No. 1A to 1C show reference voltage values and cell VTThe relationship is shown below. These drawings are For storing 1 bit, 2 bits, and 4 bits per cell, respectively , Multi-level detection reference voltage and cell V of the entire memory chipTIs shown.   V of memory cellTIs VRUndesirable conditions occur near any of the voltages. That is, cell VTIs ambiguous. Cell VTThe actual detection circuit that determines Is the voltage caused by circuit stability, speed, and digital switching noise. Fluctuations and current fluctuations, as well as power supply voltages, temperatures, and others in silicon processing Is limited by the variation of Both separate levels and reference voltages Unlike analog signal storage, which is not needed, digital memory storage technology Need to be clearly determined and such a separate reference voltage is required. is there. Incorrect detection of levels in cells can cause digital memory to malfunction. , Up to N bits per cell can be lost.   VRCell V close to or equal to one of the voltagesTWhen detecting the value To avoid the problem, the margin voltage range VMPI(See FIG. 2) Level cell VTTo be separated from other adjacent levels. this The separation is performed at the time of erasing the cell and at the time of programming. However, each VMPIBoth ends of the range Is not stipulated. Rather, in this proposed technology, one cell per cell V or enough V to store two bitsMPIRedundant professionals for providing Utilizes statistical management of silicon processing along with gramming algorithms. However And cell VTThere is no mechanism to determine whether the data has exceeded the expected range . However, this technology is only reliable if the following two conditions are met: Become. First, a sufficient margin can be provided for clear detection. , VRThe separation between the values must be large. Second, make sure your data is valid As long as you keep it, cell VTMust be stable within expected levels No. This period is considered to correspond to the life of the memory chip.   However, the problem that all multilevel storage technologies must overcome is memory ・ Cell VTIs controlled within a very narrow range for each level. This VT Control issues include programming, erasing, and reading memory cells. This applies to all operation modes of the memory. To store N bits per cell Is 2 per cellNV levels are needed becauseTThe weight of control issues To a large extent, geometrically exponentially as more bits are stored per memory cell growing. V within a single levelTValue range VLAnd cells V at different levelsTSeparate Margin range VM(See FIGS. 3A through 3C) show all available cells. Le VTFixed range of values VFNarrows as the number of levels within increases. In the present invention, In some cases, for simplicity, VLI(Where I is 2NLevels Either) is VLAbbreviated.   VFIs applied to memory cell terminals during program, erase, and detect operations Usually fixed, as limited by the possible voltage range. VFAlso the circuit Speed, complexity, and reliability of data storage. Until now In many of the proposed nonvolatile memory technologies, VFIs the power supply voltage V during the read operationc c And almost match.   V for all levelsLMake the ranges the same and zero margin between levels In a very simple case, VL= VF/ 2NBecomes For example, single-bit storage technology 5 volt V usingccV when operated atLRange is 5/2 = 2.5V However, when a 4-bit multi-level memory per cell is operated at 3 V, VL Is 3/16 = 187.5 mV. Margin voltage range V between each levelM Is added, VF= VL1+ VM1+ VL2+ VM2+. . . + VM 2n-1+ VL 2nBecomes Continuing with the previous simple case, VMAssuming that all ranges are the same, The range ofL= [VF-(2N-1) × VM] / 2NTo decrease. 0 . V of 1VM, The 3 volt V for the previous 4 bitsccV in caseLAn example At this time, it decreases to [3- (15 × 0.1)] / 16-93.8 mV.   VTA problem in addition to the above control is a procedure for erasing a memory cell. Actual In the memory array embodiment of the present invention, the erasing of cells is performed in block units including many cells. , The completely erased cell VTDistribution can be more selectively programmed Made wider than other levels. Wider to define completely erased cells VLLevel VLERASEIs used, so that the programmed level of VLRange of Surround is reduced more. 3A to 3C and FIGS. 1A to 1C. This problem is shown when the same technique is used.   FIG. 1A, FIG. 1B, FIG. 1C, FIG. 2, FIG. 3A, FIG. 3B, and FIG. The figure shows that programming is cell VTNote that this is an example of a technology that increases . The above description shows that the cell VTTechnology to reduce Addictive. In this case, these figures show the cell VTHigh end, not low end Indicates a widely erased level.   Thus, as the number of bits per cell increases, the VTof Because the range decreases exponentially, more than in single-bit storage systems Much more V for levelTControl becomes important.   In addition, cell VTMay drift from the originally programmed value. There are various mechanisms. Many of these functions follow the original programming Caused by voltage stress applied to the Such a condition is called "disturbance" Group cells into other similar cell arrays to form an efficient memory system. This is inevitable in the case of looping. Program and erase disturbances have minimal cumulative Product time, but caused by the high voltage used during these operations VTA major cause of drift. For example, data on disturbance is FLA It is routinely reported in technical literature describing new technologies for SH memory.   VTOther sources of drift around the floating gate or with the floating gate Due to changes in the number or position of trapped charges between the memory cell and the substrate It is. The trapped charge may be due to defects or repeated program / erase ( Due to the cumulative effect of the high electric field acting over time, such as during a P / E cycle. Or something. High erase or programming currents through the gate dielectric Then, the accumulation of trapped charges increases accordingly. As a result, these actions This can lead to delays and component malfunctions.   Trapped charges can also occur in non-repeating P / E cycles. This is attributed to the so-called "rogue bit" effect . Rogue bits change programming or erasing ability in one cycle Then, in another cycle, it returns to the normal state. VTDrift speed is always constant Without limitation, and due to the statistical differences in the presence of defects, Not always. If the row and column the cell was interconnected in is different, Are accessed in different orders depending on the order of each cell in the memory cell array. , Each having its own combination of disturbance and charge stress conditions. In addition, irregular power Drift effect caused by pressure stress Added to the effect. These effects are due to cell VTCumulatively To use.   As a result, the non-volatile cells lose their durability against repeated P / E cycles. sand That is, because the program or erase operation is too slow, They cannot finish within the given time and consequently their operations fail. one Some conventional programming techniques involve sizing certain parts of a memory cell array. Count the number of clings. In one example, such cycling data To use the memory cell array based on a predetermined conservative maximum number of cycles. Prevent further P / E cycling of the overused part. This As with this programming technology, memory May work to impair performance.   Furthermore, VTAll of the above issues regarding the disturbance and drift mechanisms of This is caused by the increase in the electric field in the cell as the physical size of the re-cell decreases. Become These issues can hinder cell scaling and can reduce economic costs. It is well known that it can be a barrier to moly chips. Multiple per cell When storing bits or when using a low power supply voltage,LRange is narrow Then, cell VTThe drift problem becomes even more serious.   The present invention solves or almost eliminates these problems. According to the invention Memory is the stability, programmability of each non-volatile memory over the life of the component Immediately improve erasure and erasability.                                Summary of the Invention   The present invention relates to a method for storing electric charges stored in any of a plurality of levels corresponding to digital information. To provide an integrated circuit memory system comprising a plurality of memory cells each having Offer. This memory system also provides for the loss of digital information in the memory cells. Charge in response to a predetermined change in charge in the memory cell to prevent It also has a circuit configuration. Charge recovery is achieved by storing the stored charge in a first set of unique reference voltage values. Transfer only enough charge to the memory cell to return to the original value determined by This is executed by the mini-programming operation and the mini-erase operation to be moved by the keys.   This integrated circuit memory system also provides new programming and erasing operations. And a circuit configuration for This memory system implements the programming of memory cells. During programming, memory cells to be programmed have multiple levels corresponding to digital information. Write any charge on the bell. This level is the second set of unique reference voltage values In this set, the level is wider than the unique reference voltage value of the first set. Decide. Then, execute the mini-programming operation and mini-erase operation as necessary. The range of the stored charge to a level determined by the first set of unique reference voltage values. Narrow down to Initially, the range of stored charge is wide, so programming memory cells Is speeded up.   This memory system uses a memory cell to be erased when erasing the memory cell. Is narrowed by the inherent reference voltage value. Also erase By narrowing the level of the digital information, the interval between the levels corresponding to digital information Become wider. This increases the safety margin between levels, Or the number of bits that can be stored in the memory.                             BRIEF DESCRIPTION OF THE FIGURES   FIG. 1A shows the case of storing 1-bit data per cell according to the prior art. Reference voltage and cell V of the entire memory chipTIt is a figure showing an example of distribution of.   FIG. 1B shows a case of storing data of 2 bits per cell according to the prior art. Reference voltage and cell V of the entire memory chipTIt is a figure showing an example of distribution of.   FIG. 1C shows the case of storing 4-bit data per cell according to the prior art. Reference voltage and cell V of the entire memory chipTIt is a figure showing an example of distribution of.   FIG. 2 stores two bits of data per cell according to certain prior art techniques. Read, program, and erase mode detection criteria for entire memory chip Voltage and resulting cell VTAn example of the distribution ofTWith margins divided by level FIG.   FIG. 3A shows the case of storing 1-bit data per cell according to the prior art. V of the entire memory chipF, VLERASE, VM, And VLEach cell VTRange of distribution It is a figure which shows the example of a definition of an enclosure.   FIG. 3B shows a case of storing data of 2 bits per cell according to the prior art. V for all memory chipsF, VLERASE, VM, And VLEach cell VTRange of distribution It is a figure which shows the example of a definition of an enclosure.   FIG. 3C shows a case of storing 4-bit data per cell according to the prior art. V of the entire memory chipF, VLERASE, VM, And VLEach cell VTRange of distribution It is a figure which shows the example of a definition of an enclosure.   FIG. 4A shows VTCell V for time whenTHere is an example of drift FIG.   FIG. 4B shows VTCell V for time when descentTShow drift example FIG.   FIG.TCell V for time whenTExamples of drifting new Two multi-level digital read detection reference voltages and a given level of guard band It is a figure shown together.   FIG.TCell V for time when descentTExamples of drifting new Two multi-level digital read detection reference voltages and a given level of guard band It is a figure shown together.   FIG. 6 illustrates the detection of 4-bit multilevel digital data per memory cell. FIG. 3 shows the general operation of the preferred embodiment of the BSERD technique when issuing.   FIG. 7 is a configuration diagram of a preferred embodiment of the present invention.   FIG. 8 is a flowchart when the BSERD technique is implemented in its preferred embodiment. is there.   FIG. 9 shows a multi-level digital signal from one memory cell using BSERD technology. FIG. 9 is a diagram showing an example of detecting file data.   FIG. 10 is a timing chart of the example shown in FIG.   FIG. 11 is a memo of page mode operation according to one embodiment of the present invention. FIG. 3 is a configuration diagram showing a detailed configuration of a re-array and Y-DRIVERS.   FIG. 12 shows a cell V of a plurality of cells in a memory at two different times.TDistribution And two new mini-programming detection reference voltages within a given level and FIG. 3 shows an example of mini-programming according to the invention, showing guard bands.   FIG. 13A shows a cell V of a plurality of cells in a memory at four different times.TDistribution, new Pre-erase mini-programming detection reference voltage and guard band, and given level While showing the two new mini-erase detection reference voltages and guard bands that are within range of FIG. 3 is a diagram showing an example of a mini erase technique according to the present invention.   FIG. 13B is a continuation of FIG. 13A, in memory at three different times. Cell V of a plurality of cellsTDistribution, new pre-erase mini-programming detection reference voltage and Guard band as well as two new mini-erasure detection criteria within a given level FIG. 3 shows an example of a mini-erase technique according to the present invention, showing the voltage and the guard band.   FIG. 14A shows a cell V of a plurality of cells in a memory at four different times.TDistribution And a new pre-erase microprogram detection reference voltage within a given level. V, according to the invention, showing the pressure and the guard band.TExamples of overshoot recovery technology FIG.   FIG. 14B is a continuation of FIG. 14A, in memory at three different times. Cell V of a plurality of cellsTDistribution, new pre-erase microprogram detection reference voltage and Guard band, as well as two new microprograms within a given level While showing the voltage detection reference voltage and the guard band, the VTOvershoot times It is a figure which shows the example of a recovery technique.   FIG. 15A shows a multiple within a given level in memory immediately after programming. Initially exact cell VTDistribution and ambiguous detection after a long time Shows a much wider distribution of the same cell at the time of the failure, FIG. 3 is a diagram illustrating an example of the related art.   FIG. 15B shows two new programming detection reference voltages and guard bands, and Cell V of cells in a memory within a given level at three different timesT An example of a distribution, that is, an initially wide cell V immediately after the first programming portionTdistribution, The narrowed distribution immediately after the second programming portion, and as shown in FIG. 15A Restoration technology to prevent failure due to ambiguous detection after the same long time FIG. 10 is a diagram showing a restored distribution of the same cell when applying.   FIG. 16A illustrates a cell V of a plurality of cells in a memory at four different times.TDistribution And two new programming detection reference voltages within a given level and FIG. 3 illustrates an example of a programming technique according to the present invention, showing guard bands.   FIG. 16B is a continuation of FIG. 16A, with three levels within a given level. Cell V of cells in the memory at two different timesTWhile showing the distribution, the present invention FIG. 3 is a diagram showing an example of a mini-erase technique according to the present invention.   FIG. 17A shows the VL0To VERASEWhere to use Of the erase block when storing 4 bits of data per cellF, VLERASE, VM, And VLEach cell VTIt is a figure showing the example of definition of the range of distribution.   FIG.L0To VLERASEIs not used and VLLevel VFAcross the entire range of As a result, VLAnd VM1 when the range of V of erase block when storing 4 bits of data per cellF, VLERASE, VM, And And VLEach cell VTIt is a figure showing the example of definition of the range of distribution.   FIG. 17C shows the VL0To VLERASEIs not used, and some technologies use highly reliable data V that may be required for exitLERASETo VLIf you do not overlap levels, V of erase block when storing 4 bits of data per unitF, VLERASE, VM,and VLEach cell VTIt is a figure showing the example of definition of the range of distribution.   FIG. 18A shows a block within an erase block across four levels at four different times. Cell V of multiple cellsTDistribution, and VL04 new erasure detections within the level range Out reference voltage and new VMEFLThe example of the erasure technique according to the present invention is shown while showing the guard band. FIG.   FIG. 18B is a continuation of FIG. 18A, with four records at four different times. Cell V of a plurality of cells in an erase block for the entire bellTDistribution, and VL0Level range Two new erase detection reference voltages and a new VMEFUWhile showing the guard band FIG. 3 is a diagram showing an example of an erasing technique according to the present invention.                          Description of the preferred embodiment   To avoid the above-mentioned problem, the memory system according to the present invention uses a cell VTof Tweak and automatically compensate for drift effects long after programming . Thereby, the cell VTIs the appropriate VLIIs restored to the optimal value within the range. This restoration Performing operations as needed ensures high reliability over the life of the memory. Maintain a sufficient detection margin to perform reliable data storage. This memory system Is cell VTIs the expected VLV on one side of the rangeRToo close to one of the values The additional detection reference voltage for determining theTShould be restored To decide   The present invention also does not use multiple levels separated by separate detection reference voltages. Completely different from conventional analog storage technology. In such analog technology, the original Analog signal is VTAfter being cheated by drift, the cell drift effect Also, neither disturbance effect can be detected nor corrected.     Cell VTCan be moved in one of three ways:     VT(For example, as shown in FIG. 4A, when electrons are added to the floating gate). Etc.)     VT(For example, removing electrons from the floating gate as shown in FIG. 4B). Etc.)     V due to charge equilibrium or elimination of stressTStability The memory according to the invention responds to all three possibilities for each memory cell And cell VTDetermine the actions required to restore This response and decision It can be done long after data programming. This memory system Does not necessarily perform an erase before programming. Instead, this note Ri is V in the right directionTExecute the mini erase operation and mini program operation You. In these operations, VTMoves only a small amount of stored charge necessary to restore I do. This avoids interfering with data on other cells. Conventional P / The wear effect of e-cycling technology is minimized.   Further, the memory system removes the gate dielectric during a normal P / E cycle. The rogue bit generated when a large amount of charge flows is also corrected. During the restore operation, Le VTWith a slight change in VTCan be restored.   The memory cell array of a FLASH nonvolatile memory typically has its cells Erasing electronically in large groups called erase blocks Because of the need, it is optimized to reduce the silicon area of the chip. Step Programming is less for small groups of pages, words, bytes, etc. In a more selective manner, such as programming the bits of Blog All cells in a ramming page, word, or byte are detected (read) at the same time. Out or inspection). One erase sector or erase block is It may include multiple programming pages.   By programming, the memory cell VTShifts in the opposite direction of the erase . The definitions of programming and erasing used in this document are charge storage such as floating gates. Regardless of the polarity or direction of charge transfer to the product area, the memory cell array Note that this is determined by Therefore, the present invention provides a cell VTBy the rise of To both the technology of programming by descent and the technology of programming by descent This Can be.   During the programming of an integrated circuit cell, the memory system may include an erase block. Completely erase all cells in the Program the data bits. In traditional programming algorithms, Each cell is connected to the desired V in a series of programming pulses.TTo program. In multi-level programming, programming is anticipated V as strict as possible insideLSo that each cell VTIt is preferable to set Good. In a conventional multilevel programming algorithm, cell VTIs The program / test needs to be repeated many times to shift in the direction. Also, Cell VTExceeded the intended range within the level when programming the fastest And VRTo avoid getting too close to It depends. To avoid this overshoot, use small programming Need to be repeated many times.   In contrast, the programming behavior of the memory system described herein In the operation, the mini erase operation is adopted in the programming mode, VTCan be shifted in both directions. This mini-erase operation allows large-scale It becomes possible to execute repetition of the programming. During programming, Rather than relying on statistical management of the programming characteristics of eachLBoth ends of the range Control. Another advantage of the programming techniques described below is that By the gramming operation and mini erase operation, Wide cell VTDistribution is reduced and VTAll overshoots are corrected , The programming time of the multi-level memory is reduced.   When using the present invention, the memory system is directly integrated with the external system. By performing direct measurement, you can program, erase, or store data with high reliability. Can no longer be determined. Immediate action needed Only after determining whether or not to take such action. This allows the memory chip The useful life of the device is extended.   Hereinafter, various aspects of the memory system according to the present invention will be described in detail. Many levels Data detection, mini-programming, mini-erase, programming, and erase Are as follows.                  I. Multi-level digital data detectionGeneral description of detection operation   The present invention provides a novel multi-level digital data detection technique. This technology Uses an additional reference voltage and guard band during the sensing operation toTBut Whether there is a drift and VLILevel separation criteria that defines one of the levels Voltage VRIOr VR (I + 1)Is determined to be too close to either of the above.   As shown in FIGS. 5A and 5B, during the detection mode, the reference voltage VUGIYou And VLGIBy cell VT, A read margin protection band is introduced. Each level "I 1) Upper readout protection band VMRUI= VR (I + 1)-VUGIAnd 2) lower reading Protection band VMRLI= VLGI-VRITo provide two read margin protection bands . Protection band VMRIAnd VMRLIIs VRIBased on For example, VMRIIs VR (I + 1) , And VMRLIIs VRIBased on VRIThe total read protection band around , VMRI=VMRU(I-1) + VMRLIBecomes   This new multi-level digital data detection technology uses cell VTIs the readout marker Recovery drift is detected when drifting to one of the Establish a cycle state and set a conditional status flag. This new multi-level de In digital data detection technology, (2)N+1) level separation reference voltages VRIAlso (Where N is a multi-level digital stored in each memory cell) The number of bits, I is 0- (2N+1)). Cell is a reliable data detection pole Two read margins to detect if A guard band is also used separately.Binary Search Embedded Restoration Detection Methodology   Binary Search Embedded Recovery (BSERD) This new multi-level digital data detection technology called re-detection technology Is the number of bits stored in the memory cell as multi-level digital data Data has been detected and the restoration cycle state has been established using band detection detection. Determine whether   FIG. 6 shows a multi-level digital signal of 4 bits (N = 4) per memory cell. 4 illustrates the general operation of the preferred embodiment of the BSERD technique when detecting data . The choice of N = 4 in this embodiment is merely for the purpose of teaching the present invention and N is not This does not limit the application of the present invention to the case where The present invention provides, for example, It can be used for one bit (N = 1) per memory cell, or can be used to store other multiple bits. However, N> 1) can be applied.   During each “Set BitX” cycle (X = 0 to N−1), two subcycles Execute the operation. These sub-cycles are the data detection sub-cycle and Is a restoration detection sub-cycle subsequent to. Appropriate reference voltage during each sub-cycle Set VCRF and detect cell VTCompare with At some point the VCRF voltage is , The VCRF voltage at that time and the cell V detected at each time beforeTAnd compare Depends on the result. After the required number of Set BitX cycles have been completed Executing the boundary detection sub-cycle and the boundary restoration sub-cycle,TIs cell VT Whether it is within the confidence margin of the detection range,TRestore upper or lower bound It is determined whether it is within the margin range.Multi-level memory detection system   FIG. 7 shows a configuration diagram of a preferred embodiment of the present invention. 4-bit multi-level data Digital data is detected from each memory cell. External systems and preferred practices Data signals, address signals, control signals, and system clocks to and from The transmission and reception of the clock signal are performed by DATA, ADDR & CNTRL SYSTEM IN Using the TERFACE block 10 as an interface, the DATA bus 11, A Via a DDR bus 12, a CNTRL bus 13, and a CLKIN line 14, respectively. Do it. Alternatively, an internal CLOCK block (not shown in FIG. 7) A clock signal is generated on the CLCK signal line 15 shown in FIG. During the detection operation, D ATA, ADDR & CNTRL SYSTEM INTERFACE Block Block 10 corresponds to a corresponding one of the memory array blocks CELL ARRAY 21. To select a memory cell 20, a bidirectional address ADDRBUS bus 16 is used. The horizontal decoder X-DEC 17, the vertical decoder Y-DEC 18, and the The address information is supplied to the block decoder BLOCK-DEC 19.   The decoder includes a PRG-ERS control bus 22, an HVCTRL control bus 23, a PRG In response to signals on the HV high voltage line 24 and the HVOUT high voltage line 25, Provide the appropriate multi-level programming, erase, or sense voltage for . The PRG-ERS and HVCTRL signals are used as PROGRAM ERASE R Generated by the EAD RESTORE SEQUENCER block 26. The HVOUT and PRGHV signals are generated by the HVGEN block 27 .   During detection, the RD line 28 is forcibly set to a high voltage state, so that the GATEC switch is turned on. By operating the switch 29, the MLLINE line 30 is connected to the VMEM line 31. MLL The INE line 30 is connected to the cell via the Y-MUX block 32 and the BL00 bit line 71. 20. Specific cell 2 connected to MLLINE line 30 during detection 0 is the signal generated on the YDECO bus 34 by the Y-DEC block 18 , The Y-MUX block 32 determines. VMEM line 31 Data CMP 35 is connected to the non-inverting input. RD line 28 goes into high voltage state Then, the load block circuit CELL LOAD 36 is also connected to the VMEM line 31.   Appropriate voltage is applied to the terminals of the addressed cell 20 and CELL LO When the AD 36 is connected, a voltage representing 4-bit digital data is applied to the VMEM line. It occurs on 31. PROGRAM ERASE READ RESTORES The EQUENCER block 26 also provides a reference voltage via a PRGRDB bus 37. Pressure selection block VX VY GEN block 38 and ΔVU ΔVL GEN The signal is also transmitted to the block 39. VX VY GEN block 38 and ΔV The output of the U ΔVL GEN block 39 is a comparator reference voltage generation block. It is passed to the VCRFGEN block 40. The reference voltage is VX VY GEN Block 38 and the ΔVU ΔVLGEN block 39, the reference voltage bus RVBUS   42 from the VOLTAGE REFERENCES block 41 It is.   During the detection operation, the BINARY SEARCH READ SEQUENCER Lock 43 and PROGRAM ERASE READ RESTORE SEQ The UENCER block 26 includes DATA, ADDR & CNTRL SYST The clock transmitted on the CLCK line 15 from the EM INTERFACE block 10 Control and sequencing of the BSERD technology synchronized by the clock signal. BINA The RY SEARCH READ SEQUENCER block 43 is a bidirectional bus. The corresponding data line on the DATABUS [0-3] 44 is pulled in.   The VCRFGEN block 40 also includes a PROGRAM ERASE READ   The control line PHSSEL from the RESTORE SEQUENCER block 26 Line 46 and the control line STPDIR line 47 from the STPDIR latch 52 Receive a control signal. The STPDIR latch 52 is connected to the output line VCMPO 49 and Connected to the output terminal of the CMP comparator 35 via the transmission gate GATEA 50 Have been. VX based on the input signal from the DATABUS [0-3] bus 44 VY GEN block 38 and ΔVU △ VL GEN block 39 are VCRFG Generate the appropriate voltage to EN block 40. Table 1 shows the PHSSEL line during detection. VCRFGEN block 40 based on levels on 46 and STPDIR line 47 5 shows a voltage output on the output VCRF line 45. VCRF line 45 is a CMP It is connected to the inverting input side of the comparator 35.  FIG. 6 shows the reference voltage VR0Or VR16Is shown. These reference voltages are PRGRD VXV under control signals of the B bus 37 and the DATABUS [0-3] bus 44 It is generated as the output of the Y GEN block 38 and then the sequencer 26 and 43. During detection, the voltage from the VX VY GEN block 38 The output is VX = VRIAnd VY = VRI(Where I is DATABUS [0 -3] is an integer in the range of 0-16 determined by the data lines on bus 44) . During the detection, as shown in FIG. 6, the ΔVU ΔVL GEN block 39 is also Generate output voltages ΔVL and ΔVU (where ΔVL = VMRLI) △ VU = VMRU (I-1) And I = 0 to 15), respectively.   DATA [0-3] LATCHES block 48 indicates whether each memory cell 20 When those four bits are detected by the BSERD technique, It has four latches to store. The CMP comparator 35 is connected to the VMEM input line 3 1 and the voltage on the VCRF input line 45, To generate a logic high voltage signal or a logic low voltage signal. The voltage on the VMEM line 31 is When the voltage is higher than the voltage on the VCRF line 45, the VCMPO line 49 is changed to a logical high voltage signal. Drive. Conversely, if the voltage on the VMEM line 31 is lower than the voltage on the VCRF line 45 In this case, it is driven to a logic low voltage signal.   The output line VCMPO 49 is connected to a transfer switch in addition to the transfer switch GATEA 50. Switch GATEB 51 is also connected to the input side. GATEA 50 output line Is connected to the input line of the STPDIR LATCH 52. GATEB 51 The output line is connected to the input of the latch RES LATCH 53. switch The operation of GATEA 50 and GATEB 51 is based on PROGRAM ERAS PHS from E READ RESTORE SEQUENCER block 26 It is controlled by the SEL line 46. When the PHSSEL line 46 is in a high voltage state, C The output line VCMPO 49 from the MP comparator 35 is connected to the switch GATEB5 1 to the input of RES LATCH 53. PHSSEL wire 46 Is in a low voltage state, the VCMPO line 49 goes through the GATEA switch 50 Connected to the input of STPDIR LATCH 52.   PROGRAM ERASE READ RESTORE SEQUENCE The RST line 54 from the R block 26 is connected to the STPDIR LATCH 52 and the RE Connect to both S LATCH 53. These two latches 52 and 53 It is reset when the RST line 54 goes to a logic high voltage. RES LATCH 53 Is reset, the output line RES 55 from the latch 53 goes to a low voltage state. . The output line STPDIR 47 from the STPDIR LATCH 52 is connected to a latch 52 carries the inverted signal. STPDIR LATCH 52 is reset Then, the output line STPDIR 47 is in a high voltage state. The STPDIR line 47 is High voltage switch HVSW56, VCRFGEN block 40, transfer switch GA TED 57, transfer switch GATEF 58, and transfer switch GATEH 59. When the STPDIR line 47 goes into a high voltage state, the HVSW The switch 56 is connected to the PRGHV connected to the high voltage generator HVGEN block 27. Pass high voltage pulse on line 24 and MLLINE line 30. STPDIR line 47 is low When the pressure state is reached, the HVSW switch 56 sets the PRGHV line 24 to the MLLINE line 3 Disconnect from zero.   PROGRAM ERASE RESTORE SEQUENCER block 26: Forcibly set HVCTRL bus 23 to programming or erasing operation Then, a high voltage pulse is generated by the HVGEN block 27. During detection , HVCTRL bus 23 are set for detection, so that high-voltage lines PRGHV 24 Can be varied, and the HVGEN block 27 outputs a high-voltage pulse at all. Do not generate. HVGEN block 27 also includes programming, erasing, and During each original operation, and potentially also during a detection operation, via the HVOUT bus 25 Y-DEC block 18, X-DEC block 17, and BLOCK-DE A high voltage is supplied to the C block 19.   The Y-MUX block 32 has an address under the control of the Y-DEC block 18. The corresponding bit (detection) line of the designated cell 20 is selected. REGISTER The RS & ADDRESS BUFFER block 60 is based on BSERD technology. Of the memory cell to be restored together with the conditional restoration status flag Is stored. REGISTERS & connected to the ADDRBUS bus 16   The control of the ADDRESS BUFFER block 60 is controlled by the BFCTLBUS bus. 61 through the PROGRAM ERASE READ RESTORE SE This is performed by the QUENCER block 26.   GATED switch 57 and GATEE switch 62 are connected to GROUND line 64. They are connected in series and set to a logic low voltage signal. These switches 57 and And 62 are controlled by the signal on the STPDIR line 47 and the signal on the RES line 55. Do each. Similarly, the GATEF switch 58 and the GATEG switch 63 , POWER line 67 in series, and is set to a logic high voltage signal. This Control of these switches 58 and 63 is also controlled by the STPDIR line 47 and the RES line 5 5, respectively.   When both the STPDIR line 47 and the RES line 55 are in a high voltage state, A logic low voltage signal is supplied to the FLGB line 65 via the switch 57 and the GATEE switch 62. Is passed. Any other signal on the STPDIR line 47 and the signal on the RES line 55 Even in the combination, since the logic low voltage signal is not passed to the FLGB line 65, LL UP LOAD block 66 pulls in a high voltage signal on FLGB line 65 be able to. When both the STPDIR line 47 and the RES line 55 are in a low voltage state, It is connected to the FUGB line 68 via the GATEF switch 58 and the GATEG switch 63. A high voltage signal is passed. Signal on STPDIR line 47 and signal on RES line 55 In any other combination, no logic high voltage signal is passed on the FUGB line 68. Therefore, the PULL DOWN LOAD block 69 is connected to the low power line on the FUGB line 68. Pull in pressure signal. The FLGB line 65 and the FUGB line 68 are connected to the PROGRAM ER ASE READ RESTORE SEQUENCER blocks 26 and B Input of INARY SEARCH READ SEQUENCER block 43 Line. When the STPDIR line 47 is in a low voltage state, the PROGRAM ERA Created by SE READ RESTORE SEQUENCER block 26 And the data latching pulse conducted through LCHDAT line 70 is Through the GATEH switch 59 and the DATA [0-3] LATCHES block. Passed to the client 48.   FIG. 8 shows a flowchart when the BSERD technique is implemented. BINARY S EARCH READ SEQUENCER block 43 and PROGRAM E The RASE READ RESTORE SEQUENCER block 26 Contains the control circuitry required to implement the SERD technology. The design of this circuit is It will be apparent to those skilled in the art of road design.   FIG. 9 shows an example of detecting multi-level digital data from a memory cell. . The arrows in FIG. 9 indicate the state of the output of the CMP 35 at each time point before the time axis. To the CMPRF input line 45 to the CMP comparator 35 at a certain point in time 3 shows the transition of the reference voltage in FIG.   FIG. 10 shows the multi-level digital data from the memory cell 20 shown in FIG. Shows a typical timing diagram when detecting State. V of selected cell 20TIs properly programmed in advance and The detection on the VMEM line 31 (see FIG. 7) of FIG.TAs This is performed with the black dotted horizontal line shown. Time T representing the start of the BSERD technique0And RST A high voltage pulse is applied to the line 54 to reset the STPDIR latch 52 and the RES latch 53. set. When the PRGRDB bus 37 is set, the PHSSEL line 46 is in a low voltage state. When the HVCTRL bus 23 is set for detection, the RD line 28 And the detected address of the selected memory cell is changed to the ADDRBUS bus 16 Is stored in When a reset pulse is applied on line 54, STPDIR line 47 goes high. RES line 55 is in a low voltage state. The FLGB line 65 is high. FUGB line 68 is in a low voltage state.   Next, the “Set BIT 3” cycle (see FIG. 6) and the first data detection Start the cycle. Most significant bit line B of DATABUS [0-3] bus 44 it3 to the BINARY SEARCH READ SEQUENCER block In step 43, a high voltage state is forcibly set. DATABUS [0-3] bus 44 By forcing Bit 3 above (0001) to a high voltage state, VX   VY GEN block 38 is time T1DReference voltage VR8Is output and △ VU ΔVL GEN block 39 is the reference voltage VMRL8And VMRU7Is output. PHS Since the SEL line 46 is now in a low voltage state, the VCRFGEN block 40 The reference voltage VR on the VCRF line 458Is output. Time T1DImmediately after the CMP In the parator 35, the voltage of the VMEM line 31 is higher than that of the VCRF line 45. And generates a logical high voltage signal on the VCMPO line 49. PHSSE When the L line 46 is in a low voltage state, the GATEA switch 50 switches the VCMPO line 49 Pass the logical high voltage signal to the input line of the STPDIR LATCH 52 via Luck Chi 5 2 generates a logic low voltage signal on the STPDIR line 47 when set. STP When the DIR line 47 is in a low voltage state, PROGRAM ERASE READ From the RESTORE SEQUENCER block 26 onto the LCHDAT line 70 , Passes through the GATEH switch 59, and the DATA [0-3] "1" is held in the DATA3 latch in the LATCHES block 48. This This indicates the end of the data detection sub-cycle.   Next, the first restoration detection sub-cycle is started. First, the PHSSEL line 46 Set to high voltage. The PHSSEL line 46 becomes a high voltage state, and the STPDIR line 4 7 is in the low voltage state, so that the VCRFGEN block 401RTo VCRF The voltage (VR8+ VMRL8) Is output. The CMP comparator 35 has a VM Senses that the signal on EM line 31 is still higher than the signal on VCRF line 45 , VCMPO line 49 to generate a logic high voltage signal. PHSSEL line 46 is logic Because of the high voltage state, the signal on the VCMPO line 49 To the RES LATCH 53 through the GATEA switch 50 Is not passed to the STPDIR LATCH 52. RES LATC Since the level is high at the input of H53, the output RES line 55 is in a high voltage state. State is set. This completes the first restoration detection sub-cycle, and the “Set Bi The “t3” cycle also ends.   In BSERD technology, the ordering of events and subcycles BIT2, Set BIT1, and Set BIT Each cycle of 0 is executed in order. In FIG. 9, the VCRF line 45 is set at various times. Shows the reference voltage to be applied. FIG. 10 shows VCMPO lines 49, STP at various times. DIR line 47, RES line 55, FLGB line 65, FUGB line 68, and DAT Each output logic voltage on the ABUS [0-3] bus 44 is shown. Any data detection At the end of the sub-cycle, the output line VCMPO49 from the CMP comparator 35 Remains in the low voltage state, that is, the voltage on the VMEM line 31 Below the above voltage, the STPDIR line 47 will be in a high voltage state. Be in that state And the data latching pulse from the LCHDAT line 70 is the GATEH switch. Do not pass through In that case, DATA [0-3] LATCHES block The corresponding data latch in 48 remains reset to "0". This situation does not occur in this example. Similarly, any restoration detection sub-cycle When the STPDIR line 47 and the RES line 55 both become high voltage at the end of A voltage restoration cycle state is established, forcing the FLGB line 65 to a low voltage state. . At the end of any restoration detection sub-cycle, the STPDIR line 47 and the RES line When both 55 go to a low voltage state, a high voltage restore cycle state is established and FUGB Force line 68 to a high voltage state.   At the completion of the data detection sub-cycle and the recovery detection sub-cycle, BSERD technology To execute the boundary detection sub-cycle and the boundary restoration sub-cycle. In the previous example At the end of the subsequent “Set BIT0” cycle, DATABUS [0-3] The data on the source 44 is (1111). At the beginning of the boundary detection subcycle, P ROGRAM ERASE READ RESTORE SEQUENCER The lock 26 detects (1111) on the DATABUS [0-3] bus 44 and The reference voltage V is applied to the output of the X VY GEN block 38.R16To △ VU △ VLG The reference voltage V is applied to the output of the EN block 39.MRU15And VMRL15Select each The PRGRDB bus 37 is set as described above. At this time, the PHSEL line 46 is at a low voltage. State, the VCRFGEN block 40 is at time T5FOn the VCRF line 45 Reference voltage VR16Is output. The CMP comparator 35 determines that the VMEM line 31 It senses that the voltage is lower than the RF line 45, and outputs a logical low Outputs a voltage signal. When the PHSSEL line 46 goes into a low voltage state, the GATEA The switch 50 is connected to the STPDIR LATCH 52 via the VCMPO line 49 with a low voltage. The latch 52 outputs a logic high voltage signal on the STPDIR line 47. . This ends the boundary detection sub-cycle. During the boundary detection subcycle, LC No latching pulse is generated on HDAT line 70.   Next, the PHSSEL line 46 is set to a high voltage state at the start of the boundary restoration subcycle. Set. When both the STPDIR line 47 and the PHSSEL line 46 are in a high voltage state, According to Table 1, the VCRFGEN block 40 has a time T5ROn the VCRF line 45 Pressure VR16-VMRU15Is output. The CMP comparator 35 operates on the VMEM line 31 Senses that the voltage is higher than the voltage on the VCRF line 45, Generate a logic high voltage signal. Since the PHSEL line 46 is in a high voltage state, The logic high voltage signal on MPO line 49 passes through GATEB switch 51 and RES L Passed to ATCH 53. Logic high voltage signal passes through GATEA switch 50 It is not passed to STPDIR LATCH 52. RES LATCH5 Since input 3 is in a high voltage state, RES line 55 remains set to the high voltage state. You. When the STPDIR line 47 = high voltage and the RES line 55 = high voltage, A voltage restoration cycle state is established and FLGB line 65 is forced to a low voltage state . This ends the boundary restoration subcycle and the BSERD technique ends. Boundary detection At the beginning of the sub-cycle, the BSERD technology uses the DATABUS [0-3] bus 44 If neither (1111) nor (0000) is detected above, BSERD detection The outgoing technology has ended.   At the end of the BSERD technique, the V stored in the selected cell 20TOn the level Uniquely corresponding N-bit binary data pattern is DATA [0-3] L It is held in the ATCHES block 48, and the DATABUS [0-3] bus 44, DATA, ADDR & CNTRL SYSTEM INTERFACE , And is available for reading via the data bus 11 and the DATA bus 11.   In the preferred embodiment, there are two states, low voltage restoration and high voltage restoration. Restore recovery at the end of the recovery detection sub-cycle or the boundary recovery sub-cycle. A cycle condition can be generated. STPDIR line 47 = high voltage and RES Line 55 = high voltage state is low voltage restoration state, then force FLGB line 65 To a low voltage state. STPDIR line 47 = low voltage and RES line 55 = low voltage Is a high-voltage restoration state, in which case the FUGB line 68 is forcibly set to the high-voltage state. (See FIGS. 7 and 8). At any time during the operation of BSERD technology, When the original cycle state is established, PROGRAM ERASE READ RE The STORE SEQUENCER block 26 detects the condition and sends the FLGB line 65 And the status of FUGB line 68 is stored internally on the restore cycle status latch. The restore cycle status latch is a PROGRAM ERASE READ REST An ORE SEQUENCER block 26 is provided therein. BSERD technology When the restore cycle state is set during the operation of The ERASE READ RESTORE SEQUENCER block 26 Specify the storage address required for the restore cycle and the type of restore cycle required. Save in REGISTERS & ADDRESS BUFFER block 60 Start operation.   Saving the addresses needed for the restore cycle as well as the type of restore required This provides the flexibility to perform the restore cycle later. Current memory REGISTERS & AD to execute the restoration cycle operation immediately in the Address and data of the necessary restoration cycle to the DRESS BUFFER block 60. Does not save IPs. REGISTERS & ADDRESS BUFFE The R block 60 performs restoration for a plurality of addresses that require a restoration cycle operation. Cycle information can be stored. REGISTERS & ADDRES The S BUFFER block 60 can be located on the same integrated circuit or on a separate system. And it may be composed of either a volatile memory or a nonvolatile memory.   FIG. 6 and FIG. 7 show detection of data from a certain memory cell. preferable Embodiments also work for detecting data from a page of cells. Y-DRI in FIG. The VER block 33 repeats the same number as the number J of cells existing in the page. No. The line beyond the boundary of the Y-DRIVER block 33 in FIG. Common to all Y-DRIVER blocks 33, except for the line to Y-block 21 It is. FLGB line 65 and FUGB line 68 are connected to all Y-DRIVER blocks. Are connected to one another in the form of an outgoing connection.   FIG. 11 shows a memory array in a page mode operation according to an embodiment. A and the configuration of the Y-DRIVER block 33 will be described in more detail. Cell page During the programming and restoring cycle for The same configuration is used during the erase cycle. FIG. 11 shows “J” Y-DRIVs. The ER block 33 is shown. The YDECO block from the Y-DEC block 18 in FIG. Access 34 via Y-MUX 32 in each Y-DRIVER block 33. Control the selection of the active page.   The circuit shown in the schematic block labeled CELL ARRAY 21 in FIG. Channels and memory cell arrays are not part of the present invention, but embodiments of the present invention are optional. In order to explain how to work with the memory cell array of The re-cell array will be described.   FIG. 11 shows “S” pages. Also, “K” blocks 83 to 8 4 is also shown. Each block can be composed of a plurality of rows of cells. As shown in FIG. As described above, the block selection and the row selection are performed in the BLOCK-DEC block 1 respectively. 9 and the X-DEC block 17 simultaneously. Within each block 83 to 84 BSU sub-block 77 and BSL sub-block 78 correspond to each block in the array. For each of 83 to 84, a bit (detection) line (BL00 line 71 to BLSJ line 7 2) Select / deselect the common line (CL0 line 75 to CLK line 76) I do. The control of the BSU block 77 and the BSL block 78 is based on the SLUK line 79 and S This is performed by the LLK line 80. As shown in FIG. 11, BLOCK0 block 83 SLL0 line 81, SLU0 line 82, and CL0 line 75, and BLOCKK SLLK line 80, SLUK line 79 and CLK line 76 entering block 84 It starts from the BLOCK-DEC block 19 in FIG.   Selection of a corresponding row in all blocks 83 to 84 is performed by selecting a word line (WL0). 0 line 85 through WLKT line 86). In FIG. 11, " "T" word lines are shown. The word line is controlled by the X-DEC block shown in FIG. This is performed by step 17. X-DEC block 17, BLOCK-DEC block 19 , And a plurality of Y-DEC blocks 18. However, the explanation is simplified. For simplicity, only one of each is shown in FIG. In page behavior, Select a block 83 or 84, select a row in that block, and Select a page. A cell 20 indicated by a thick line in FIG. Form page one. The selection of this page 1 is performed by selecting the bit (detection) line BL10 73 To BLIJ 74, word line WL01 87, block select line SLU0   82, SLL0 81, and CL0 75. Erase operation is selected Acts directly on all cells in the selected block 83. Select program operation Acts directly on all cells in a given page. This embodiment of the present invention It can also work with non-volatile memory cell arrays.                         II. Mini programmingGeneral description of mini-programming operation   In this section, a new program called mini-programming is part of the present invention. A new multi-level programming technique is described. Only for cells in the completely erased state Unlike traditional programming techniques that start programming, There is no need to perform complete erasure with the Works on files. In the conventional erase operation, the selected erase block or Is all cells V in the sectorTIn FIG. 3A to FIG. 3C.LERASEShown as Cell VTEffective range VFOn the outside of one end of the. Conventional In the programming technique, when the erase operation is completed, the area around the floating gate of the memory cell is By transferring a large amount of charge through the surrounding oxide, the selected cell VTTo VLER ASE Shift to any other level out of range.   In contrast to the prior art, the mini-programming technique according to the present invention provides a complete erase It is only necessary to transfer a small amount of charge since there is no need to carry out. Each selected cell VTIs , Just a little, and the original V of the cellLShift only within level To With this new mini-programming technology, charge transfer is only a small amount Cell P / E cycling endurance with conventional programming technology The harmful effects on are avoided. Also, the previously determined VTTo compensate for the drift Transfer only the required amount of charge. Mini-programming technology is The transition from the erased state to the programmed state takes less time than in the case where the operation is performed. In addition, mini-programming isTOnly slightly affects As a result, there is no program disturbance effect on other unselected cells. It will be visible. In mini-programming operation, VLOpposite of clearing level Shifts slightly in the direction, and the desired VTOne machine required for restoration Function, which allows for reliable multi-level data storage. You.   In the case of mini-programming technology, it was described earlier in the section on multi-level digital detection. Utilizing the band detection capability according to the present invention similar to the above, each cell VTRead , They are VLVerify that it is within the expected band of the range. As a result, the VL Margin guards sufficient to prevent ambiguous detection at both ends of the range Area is secured. This is because several new reference Performed by pressure.   The mini-programming technique according to the present inventionRI+ VMPLIAnd VR (I + 1)-VMPUITo It further comprises two new reference voltages. As shown in FIG. Pressure is VRIAnd VR (I + 1)With each VLITwo new tops within the level And lower mini-programming margin protection band VMPLIAnd VMPUIDecide . VMPLIAnd VMPUIIs the read margin protection band V described above.MRLIAnd VMRUIWhen Sometimes equal, sometimes unequal, and higher There are times when it does not rise. Each VLIV within levelMPLIAnd VMPUI The choice of band depends on the V obtained after mini-programming.TDistribution is VLNarrower than range Perform in such a way that it is optimized within the intended band. For optimization, VMPLIBand and VMPUI It may be necessary to ensure that the bands are not equal to each other,LI Different levels may require different bandwidth values, and memory cell arrays B) An arbitrary band value determined by the manufacturing technology may be required. is there Well, each VLIV in levelMPLIAnd VMPUIMay be equal. The present invention And can be modified to optimize for a wide range of memory manufacturing techniques.   The verification technique according to the present invention uses the cell V based on only one value.TValidate the cell VTIs the expected VTStatistical process to prevent overshoot of bandwidth It is completely different from the prior art which depends on management. VTOvershoot is a professional It can occur during a gramming operation and is caused by the Rogue Cell effect described above. It is possible that This effect is trapped in oxide around the floating gate of the memory cell. Caused by trapped charges or defects induced by other processes Is done.   Mini-programming techniques reduce the amount of charge traveling through the gate oxide A small measure minimizes the potential for charge trapping and rogue cells. I can. Verification operation of mini-programming is VTShifts into either guard band Is detected, and the desired erase is performed using the mini erase operation (described later). VTCan be reset within that level. VTAgainst overshoot This resiliency is not available in the prior art, and requires a complete erase operation and reprogramming first. Does not perform ram operation. By using the restoration method according to the present invention, VTOh no Complete erasure and reprogramming when recovering burshoots are avoided, and the chip P / The E endurance period is maintained.Mini programming method   Mini-programming techniques are interconnected within the same programming page This can be best understood by considering multiple cells. Real multi-level memory system Utilizes the page mode architecture to program multiple cells simultaneously. To reduce programming time. At least not the whole chip To understand the behavior of all cells in such a page, use any form of programming. It is necessary to consider all possible consequences of ramming.   FIG. 12 shows two different times TRESRAnd TRESPThe same level VLIWithin range Cells V in the memoryTIs shown. In this example, one VTDistribution Is calculated using the BSERD technique according to the present invention as described above.RESRRead cell with FIG. With BSERD technology, protection band VMRLIA and V to BTTwo cells with values have been detected. Therefore, restoration operation is necessary Is set. BSERD technology also protects Band VMRUISince no cells were detected in the Operation can be performed, and high voltage restoration is performed for this page address. Leave the status flag set.   In one embodiment of the present invention, the chip performs a restore operation without performing a mini-erase. V of the page of the cell that has been flaggedTMini program to restore It is expedient to perform the switching operation later. In that case, first, the restoration detection subcycle Simple BSERD technology that uses only data detection subcycles without using Cell, and read out the V stored in each read cell.TN corresponding to Holds the binary data of   In another embodiment of the present invention, a mini-read is performed immediately after a normal full BSERD read. When executing the program operation, N buses are already used by the full BSERD technology. The first simplified BSERD step is omitted because the inari bits are retained I do. Then, cell VTThe new lower mini-programming margin reference voltage VRI+ VMPLICompare (verify) with. Here, I is the number of held binary binary Uniquely corresponds to the level represented by the unit. V stored in the cellTTo The state of the corresponding already held N binary bits has been changed by verification. This verification detection is different from the read detection in BSERD. Therefore, VTIs VRI+ VMPLIAll cells that were found to be lower than the value VR I And VRI+ VMPLIMini-programming margin determined by Protection band VMPLIIs within the range.   Next, in the selected page, the lower protection band VMPLI Within the range ofTOnly cells that have already been determined to have an appropriate voltage and duration The applied mini-programming pulse is selectively applied. VMPLIAbove guard band To VTAre excluded from the mini-programming pulse. The first minip After the programming pulse, the verification operation is performed again. Lower protection band V MPLIIf any cell is found to be withinMPLIFor cells within the band Only selectively apply another mini-programming pulse. Verification / mini-prog The ramming pulse sequence corresponds to the time T shown in FIG.RESPPage All cells in the network are protected band VMPLIV aboveTUntil it is confirmed that Repeat or apply mini-programming pulses up to a predetermined maximum number, Repeat until system error flag is set. Obtained cell VTDistribution Is, for example, the time T in FIG.RESPAnd the following distribution shown in FIG.   In this example, the restoring operation initially starts with the lower readout, such as cell A or cell B in V within margin protection bandMRLIActivated by a cell already known to be It was a thing. VMPLIWithin the range ofTMini programs for cells with Run, and that VTIs VMRLIInitially flag as In addition to correcting the set cell, VTNarrow the distribution of You. As a result, VTThe distribution has narrowed and subsequent Eliminating the need to perform a restore operation improves system performance.   VTThe above verification / mini-program Perform additional verification steps after the pulsing pulse sequence. Or each Additional verification steps can be performed after the mini-programming pulse However, it will take longer to implement. In this additional step, Two new upper mini-programming margin reference voltages VR (I + 1)-VMPUIAnd ratio By comparing all the cells in the page that applied the selected mini-program VTVerify Again, I is equal to the retained N binary bits. Thus, it uniquely corresponds to the same level represented. That VTIs the voltage VR (I + 1)-VMPUI All cells that have been found to be higher will have the value VR (I + 1)And the value VR (I + 1)-VMPUIBy Is within the upper mini-programming margin guard band determined by Protective belt Area VMPUICell V detected within the rangeTIf there isTOvershoot Set the stem conditional flag. In a later restoration operation, VTOvershoot Check if the stem conditional flag is set, andTOvershoes It is determined whether the recovery operation is necessary. VTOvershoot recovery is based on the following book A series of operations including a mini-erase operation described in detail in the mini-erase section of the invention. .Multi-level memory mini-programming system   FIG. 7 shows a block diagram of a preferred embodiment of the present invention. Described in conjunction with the BSERD detection technique. Verification detection operation of mini programming is PR OGRAM ERASE READ RESTORE SEQUENCER BRO Block 26 is connected to the △ VU △ VL GEN block 3 via the PRGRDB bus 37. 9, the voltage V from the reference voltage bus RVBUS 42MRU (I-1)And VMRLI Voltage V instead ofMPUIAnd VMPUIRead in that it instructs Different from the detection operation. Also, the voltage is applied to the VX VY GEN block 38. VRIAnd VR (I + 1)Is generated. Where I is the previous BSERD In step, DATA [0-3] LATCH in each Y-DRIVER 33 Represented by N binary bits already held in ES block 48 Corresponding to the level of   After the verify operation sequence, the cell VTIs the protection band VMPLIIs confirmed to be within Each Y-DRIVER so that the STPDIR line 47 is in a high voltage state when 33, an STPDIR LATCH 52 and a RES LATCH 53 are provided. Set. When a high voltage signal flows through the STPDIR line 47, the high voltage switch HVSW   56 is activated and the high voltage programming pulse from PRGHV line 24 It is passed to the LLINE line 30. Y-MUX multi within each Y-DRIVER 33 The plexer 32 selects a corresponding section of the selected page in the cell array 21. A high voltage pulse is passed to the Y-DEC decoder 18 as selected by the Y-DEC decoder 18. Program the cell. Cell VTIs the protection band VMPLIBe outside of If so, the STPDIR line 47 goes to a low voltage state. STPDIR line 4 When a low voltage signal flows through 7, the high voltage switch HVSW 56 is turned off. this Separates the high voltage programming pulse from the MLLINE line 30.   Upper guard band VMPUICell V confirmed to be within the rangeTIf there is , PROGRAM ERASE READ RESTORE SEQUENCE V in R block 26TSet the flag with overshoot condition. The ad V corresponding to the rest positionTThe flag with overshoot condition is set to REGISTER Save in S & ADDRESS BUFFER block 60. Verification / Minip Each time the programming pulse sequence is performed, PROGRAM ERASE Increment the counter in the READ RESTORE SEQUENCER block 26 Minute. If the counter exceeds a predetermined maximum, the mini- Stop programming, and return to PROGRAM ERASE READ RESTORE Set system error flag in E SEQUENCER block 26 At the same time, the address is registered in REGISTERS & ADDRESS BUFF. It is stored in the ER block 60.                             III. Mini eraseGeneral description of mini erase operation   In this section, as part of the present invention, a multi-level erase called mini-erase The technology is described. What is conventional erase technology that destroys data stored in cells? In contrast, the mini-erase technique preserves the original data stored in the cell. Obedience In the erase operation according to the prior art, all cells V in the selected erase block areTThe 3A to 3C show VLERASECell V, shown asTEffective range VFOne of Both sides shift out of the way. In this erase, the area around the floating gate of the memory cell is By transferring a large amount of charge through the surrounding oxide, the selected cell VTTo VLER ASE Any other V out of rangeLShift to level.   In contrast, mini-erase techniques transfer only small amounts of charge. Mini-prog As in the case of ramming, cell VTIs only a small amount, and the original VLShift only within the level range. Security caused by erasing the prior art Detrimental effects on P / E cycling endurance are avoided by mini-erasure . This is because only a small amount of charge needs to be transferred. Also, determine first Done VTOnly the amount of charge necessary to correct for drift is transferred. Mini erase technique Operation takes less time than erasure to the complete erase state when performed by the prior art. Or do not need. In addition, mini-erase is performed on the selected cell VTOnly slightly affects As a result, there is no erase disturbance effect on other unselected cells. It will be visible. In the mini erase operation, VTTo VLProgramming in the level and Shifts slightly in the opposite direction, and the desired VT1 necessary for restoration Functions can be performed, thereby providing reliable multi-level data storage. Will be possible.   By combining the mini-erase technology with the mini-programming technology described above, Thus, problems associated with large erase block sizes can be overcome. C If there are many files, they may be connected in the same erase block. Cell V after the erase pulse.TDistribution in the programming page Wider than the distribution obtained after applying a programming pulse to a small number of cells You. Mini erase technology uses a combination of mini program and mini erase operations. Thus, for each cell in the erase block, each VLIWithin the level Le VTNarrow the distribution of.   The mini-erase operation is the same as described earlier in the multi-level digital detection section. Each cell V using the band detection capability according to the present invention.TIs VLWithin the intended band of the range That VLAmbiguous detection at both ends of range A sufficient margin protection band to prevent the This is a mini erase Performed with multiple reference voltages during verification. VRI+ VMPELI, VRI+ VMELI, And VR (I + 1)-VMEUIThere are three new reference voltages, FIG. 13A and FIG. As shown in FIG. 13B, these reference voltages are VRIAnd VR (I + 1)With each VLI Three mini-erase margin protection bands V within levelMPELI, VMELI, And VM EUI Is defined. VMPELI, VMELI, And VMEUIIs the read margin mentioned earlier Protection band VMRLIAnd VMRUIOr mini-programming margin protection band VMPLI And VMPUIIt may or may not be equal to It may be higher or not higher. Each VLIMarkers within level Gin protection band VMPELI, VMELI, And VMEUIThe choice is obtained after mini erase VTDistribution is VLIt is done in such a way that it is optimized within the intended band narrower than the range.   For optimization, VMPELI, VMELI, And VMEUIAre not equal to each other It may be necessary to ensure that each VLIDifferent band values for each level May be required and is determined by the memory cell array manufacturing technology. May even be needed. Or merge within each level In some cases, the protection bands have the same value. This mini-erase uses a wide range of memory manufacturing techniques. Be flexible enough to optimize for surgery.   The mini-erase verification technique according to the present invention uses the cell V based on only one value.TVerify And cell VTIs the expected VTStatistical to prevent bandwidth undershoot It is completely different from the prior art which relies on process management. VTUndershoot of (V during programmingTThe phenomenon at the time of erase corresponding to overshoot) is This can occur during operation and is trapped in oxide around the floating gate of the memory cell. The aforementioned Rogue Cell effect due to trapped charge or other process induced defects Can be caused by: In addition, mini-erase is performed through the gate oxide. Transfer and the rogue security by minimizing the amount of charge Minimizing the likelihood of intrusion.   The verify operation of the mini-erase is performed by using any of the cells V in the erase block.TIs VMELIProtective belt If it detects that it has shifted too far into one of the regions, it stops mini-erasing after that , Thereby later using the mini-programming operation to bring the desired VT To be reset to. VTThis ability to recover from undershoot Coming Not in technology, does not perform complete erase and reprogram operations first . By using the restoration operation according to the present invention, VTRecovers undershoot Complete erasure and reprogramming at the time of writing is avoided, and the P / E durability of the chip is extended. .   Cell V being erasedTIs specific to a particular silicon technology. Mini-erase is performed by V in either direction during erase.TCan handle shifts Thus, it can be applied to a wide range of memory technologies. To make the story easier, By cell VTUsing the attached example and drawing to show The work will be described. A person skilled in the art will understand that the opposite is true.TRaise The case could be addressed as well. Therefore, this particular example and method The direction of the erase is not limited to a particular memory cell technology.Mini erase method   Mini erase technology considers multiple cells connected together in the same erase block. You can best understand. Practical multilevel memory systems use multiple cells simultaneously. Erase block memory cell architecture with reduced cell area You should use Kucha. At least such erasure, if not the entire chip To understand the behavior of all cells within a block, it can be in any form of erasure It is necessary to consider all the consequences.   13A and 13B show six different times TRESR, TRESPE1, TRESE 1 , TRESPE2, TRESE2, And TRESPThe same level VLIMemory in the range 2 shows a distribution of a plurality of cells VT in the inside. In this example, the time TRESRV atTThe distribution of The state of the cell after reading using the BSERD technique described above is shown. B With SERD technology, protection band VMRLIV in A and B inTTwo cells with values And the protection band VMRUIV in C and D inTTwo more cells with values are found ing. Therefore, a flag with restoration condition indicating that restoration operation is necessary is set. ing. BSERD technology also provides guard band VMRUICell was detected in Determines that restoring operations including mini-erasing can be performed. Leave the low voltage restoration state flag set for the address.   In one embodiment of the mini-erase technique, the integrated circuit performs mini-program and mini-erase. Perform a series of actions including The mini-program operation has already been described. Mi The two-erasing technique uses two forms of mini-programming operations. One is the aforementioned Same as mini programming. In this case, the above-described guard band VMPLIand VMPUIAt the end of the mini-erase sequence.TAdjustment Execute.   Another form of mini-programming operation is another (pre-erase) programming Margin protection band VMPELIIt differs from the first form in that it uses VMPELIBy The mini-programming operation is performed before each mini-erase operation. Predetermined maximum number of times Up to a plurality of times. Hereafter, one of the mini erase technologies The operation order in one embodiment will be described.   In one embodiment of the invention, the integrated circuit performs a recovery operation, including a mini-erase. Of the erase block of the cell previously flaggedTTo restore It is convenient to execute the restoring operation including the erasure at a later point in time. On the spot First, the mini-program is executed for all cells in the erase block to be mini-erased. Execute all the cells V in the erase block.TIs for each I level Protection band VMPELITry to be higher. This pre-erase mini program, The verification value of the lower protection band is VRI+ VMPLINot VRI+ VMPELIAfter setting to Execute for each page in the block using mini-programming technology. First, Time TRESPE1, A pre-erase mini program for all pages in a block Complete the gram. Each resulting VLICell V in levelTAn example of the distribution of Time T in FIG. 13A for all cells in the erase blockRESPE1Shown in mini By executing the program operation first, the time TRESROf cells A and B at Like VRBand V too close to valueMPELICells in adjacent Vs during a mini-erase operation.L May shift to range. This will cause data loss . Pre-erase mini-programming allows cells V in the erase blockTIs band VMPELI Prevent data loss that can occur if they are within   Next, a mini erase pulse is applied to all cells in the erase block. Mini erase A pulse causes all cells V in the erase block to beTIs the erase direction (programming (The direction opposite to the direction of operation). Then, in the erase block Erase block (multiple) so that the first page is selected for mini-erase operation. Perform a mini-erase verify operation on all cells within a number of pages. Next, the cell is obtained by the simple BSERD technology using only the data detection subcycle. Is read out, and V stored in the cell is read out.TN binary bits corresponding to Hold. Then, the cell V in the selected page in the erase blockTA new Lower mini erase margin reference voltage VRI+ VMELICompare (verify) with. Where I Uniquely corresponds to the level represented by the retained N binary bits .   V stored in the cellTAlready held N binary videos corresponding to This verification detection is described above, since the status of the Read detection. At this time, VTIs VRI+ VMELIConfirmed lower Cell with the value VRIAnd VRI+ VMELIThe lower mini eraser defined by Gin protection band VMELIIs within the range. First page guard band VMELIInside If no cell is found, select the next page and repeat reading and verification Do. In the entire erase block, the protection band VMELIIs confirmed to be within If there is no erase operation, another mini erase pulse is applied to the erase block, and the above read operation is performed. And the verification operation are repeated.   The sequence of the mini erase pulse / erase block verification step is Time T during testimonyRESE1In any case, any section of any page of the selected erase block Is the protection band VMELIIf it is found in the range of When the erase pulse is applied and the obtained error flag is set, the process ends. Time Interval TRESE1Cell V atT13A are shown in FIG. 13A. Mini of this repetition Using the erase pulse / erase block verification operation sequence, Cell VTIn small increments and all cells VTTo the original VLIBelt narrower than range Adjust at the same time to keep it within range. Thus, cell VTAnda -Prevent shoots and data loss.   In another embodiment faster than the above example, the guard band VMELIVerify operation Only one mini-erase pulse is used. To prevent data loss in this case Requires Stricter Process Control of Erase Characteristics of All Cells in Erase Block Become. In FIG. 13A, cell VTThe edge of the distribution extends long in the erase direction To Please pay attention. This means that most of the cells in the erase block This is due to the fact that mini-erase of the file is faster than other cells. At this time, VT Distribution is VTAs much as possible without undershooting or data loss It is largely shifted in the erasing direction. At this time, it originally triggered the mini erase Cells (V in FIG. 13C and D)THas a V in FIG. 13A.DELE1As The amount has been shifted in the expected direction.   In the next verification operation, the time T in FIG.RESPE1As in cell E at V during erase mini-programming operationTSome show overshoot behavior Inspects all cells for whether or not more mini-erase is needed Inspect also. In the case of this mini erase verify operation, too, The first page is selected in the erase block so that it is selected for mini-erase operation. Execute for all cells. Next, only in the data bit detection subcycle, In other words, by simple BSERD technology that does not perform restoration detection sub-cycle The cell is read, and V stored in the cell is read.TBinary binary corresponding to Hold the unit. Then, cell VTTo the new upper mini erase margin reference voltage VR (I + 1) -VMEUICompare (verify) with. Where I is the retained N binary Uniquely corresponds to the level represented by the bit.   Also in the case of this verification detection operation, the V stored in the cellTCorresponding to The state of the N binary bits held in Therefore, this is different from the above-described read detection operation. Therefore, VTIs VR (I + 1) -VMEUICells that have been found to be higher have the value VR (I + 1)And VR(I + 1)-VMEU I Mini-erasure protection band V defined byMEUIIs within the range. First pair Protection band VMEUIIf no cell is found in the next page Is selected, and reading and verification are performed in the same manner. In the entire erase block, the protection band VMEUI If any of the cells are found to be within the Re-execute pre-erase mini-programming / mini-erase / verify operation sequence . However, such sequences are executed up to a predetermined maximum, resulting in an error Except when the flag is set.   Protected band V during verificationMEUIIf there is a cell detected within the range of, The address location was originally a trigger for mini-erase, such as C and D in FIG. 13A. Compared to the previously stored address location of the cell. Like E in FIG. 14A If a new address is detected onTOvershoot conditional flag Set and save the page address. As shown in FIGS. 13A and 13B In the example, two cells C and D are at time TRESE1Still in the guard band VMEUI, The above sequence is required twice. In this example, Time TRESPE2After completing the second pre-erase mini-programming at A second series of mini-erase pulses is applied, resulting in VTIs time TRESE2so Quantity VDELE2Only shifted. Cell V obtainedTIs shown in FIG. 13B.   As shown in the example of FIG. 13B, the time TRESE2During the above erase block verification at Protection band VMEUIIf no cell is found in the range, the last miniprogram Start the operation. The last mini-programming operation is for each page in the erase block. Described in the mini-programming section, except that Perform in the same way as the solid. During the last mini-programming operation, the upper protection Band VMPUICell V within the rangeTIf is detected, VTOvershoot cis Set system conditional flag and save its page address. The last minip In the programming operation, the time T in the example of FIG.RESPAs shown in the VMPUIAnd guard band VMPUIEach V duringLFor each level, the cells V in the entire erase blockT Restore the distribution of.   When performing a mini-programming operation on any page, VTover- Check the chute system conditional flag in advance. Should be a mini program Whenever this flag is detected on a page, each pulse Cell VTMini program so that it is smaller than the shift increment Change the pulse sequence, called microprogramming . Selected after verification / microprogramming pulse sequence is complete Cell V in each level in the pageTDistribution of verification / mini-programming pulse ・ Narrower than after the sequence. Flag to do microprogramming The set page takes longer to process than mini-programming, but the flag Since the microprogram is performed only for the necessary pages that have been set, the overall hand System performance is optimized.   In another microprogramming operation, each VLThe resulting cell V within the rangeTMinute The guard band V used during mini-programming so that the fabric is optimizedMPELI , VMPLI, And VMPUIThe protection band VCPELI, VCPLI, And VCPUITo each Replace (see FIGS. 14A and 14B). Mini programming technology As before, the number of verification / microprogramming pulse sequences is fixed If the number is exceeded, stop microprogramming and clear the system error flag. Set. VTThe overshoot system conditional flag is set when the flag is set. Reset after the page has been successfully microprogrammed. Mini during restoration V without erasingTSet the overshoot system conditional flag The mini-erase operation for that erase block immediately or Started at a convenient time. Mini erase technology, along with microprogramming By using, VTActs as a way to recover from overshoot .Multi-level memory mini erase system   PROGRAM ERASE READ RESTORE SEQU of FIG. The ENCER block 26 includes a BINARY SEARCH READ SEQU. With the ENCER block 43, all that is required to perform a mini-erase operation Control and order elephants. FIG. 11 shows a specific interface to the cell array 21. Show the face.   For example, the BLOCK 0 block 83 Selected as the target of mini erase operation because the low voltage restoration state has already been set Is done. Time T in FIG. 13ARESRAnd PROGRAM ERASE READR The ESTORE SEQUENCER block 26 is based on a restoration conditional flag. To start the mini erase operation. As shown in FIG. 11, J cells per page , There are S pages per row, and there are T rows per block. I Therefore, there are (S × T) pages per block, and per block ( There will be (S × T × J) cells. The example of FIG. 13A is used. First BLO Pre-erase mini program operation for all pages of CK0 block 83 Execute. Restore detection sub-cycle for each page of BLOCK 0 block 83 Performs a simple BSERD technique that does not perform In each case, 4-bit data is simultaneously read from each cell 20. Read operation completed Upon completion, DATA [0-3] LATCHES in each Y-DRIVER 33 Block 48 contains one per cell for each of the J cells on the selected page. 4-bit individual data is stored.   Next, the PROGRAM ERASE READ RESTORE SEQ The NCGR block 26 sets the PRGRDB bus 37. Each Y-DRI DATA [0-3] for each VER 33 Exit from LATCHES block 48 Based on the force, it is appropriate as the VX output from VX VY GEN block 38 Voltage VRIAnd the voltage VY as the VY output from the block.R (I + 1)Generate a I do. ΔVU ΔVL GEN block 39 outputs VMPELIRaw To achieve. The VCRFGEN block 40 contains all pre-erase mini-programming During operation, a voltage (VRI+ VMPELI). Then, Pre-erasing mini-program by repeated mini-program pulse sequence A J operation is performed, and all J cells in the selected page are (VRI+ VMPELI ) Higher VTThe verification operation is performed until it has. Then, PROGR AM ERASE READ RESTORE SEQUENCER block 2 6 and BINARY SEARCH READ SEQUENCER block 43 Is the first row line WL00Pre-erase mini-program for all S pages in 85 Continue ramming. This operation means that all T rows with S pages are pre-erased. All mini-programmed and programmed cells VTIs the voltage (VRI+ VMPE LI ) Continue until higher. With this, the selected BLOCK 0 block 83 Pre-erase mini-programming is complete. Cell V of BLOCK0TTypical minutes The cloth is at time T in FIG. 13A.RESPE1Shown in   Erase operation can be performed on selected memory blocks or sectors , BLOCK-DEC block 19, X-DEC block 17, and Y-DE The PRG-ERS bus 22 is forcibly set for the C block 18. Then A mini erase pulse is applied to all cells 20 in the selected BLOCK0 block 83. Addition I do. This mini-erase pulse is generated by the HVGEN block 27, It is passed through the OUT bus 25.   After applying the mini-erase pulse, all the blocks in the selected BLOCK0 block 83 The verification operation is performed on all the cells 20. B not performing restoration detection sub-cycle According to the SERD technology, 4-bit data is transferred from each cell 20 in the page to each Y-DR. DATA [0-3] in IVER 33 Store in LATCHES block 48 You. DATA [0-3] LATCHES block in each Y-DRIVER 33 Based on the output from the block 48, the VX VY GEN block 38 Voltage VRIIs the voltage V as the VY output.R (I + 1)Respectively. △ VU △ VL   The GEN block 39 outputs the voltage VMELIGenerate   During all mini-erase verify operations, the VCRFGEN block 40 Voltage (VRI+ VMELI) Is output for each Y-DRIVER 33 Is uniquely determined by the output from the DATA [0-3] LATCHES block 48 Defined. After that, PROGRAM ERASE READ RESTORE   SEQUENCER block 26 and BINARY SEARCH READ SEQUENCER block 43 is T blocks of selected BLOCK 0 block 83 , The mini erase verify operation is performed on all S pages of the row. With mini erase verification Is the voltage on the VMEM line 31 and the voltage on the VCRF line for each Y-DRIVER 33. Voltage (VRI+ VMELI) And compare. During the mini erase verify operation, the VMEM line 31 Is lower than the VCRF line 45, the PROGRAM ERASE RE AD RESTORE SEQUENCER Conditional flag in block 26 Set. If the conditional flag is not set, the selected BLOCK0 block Then, another mini-erase pulse and another mini-erase verify operation are performed on the block 83. conditions If the flag with the flag is set or the maximum number of mini erase pulse operations is reached, ROGRAM ERASE READ RESTORE SEQUENCER Lock 26 stops the mini-erase / verify operation. Time T in FIG. 13ARESE1And Article Cell V after flag with condition is setTIs shown.   Next, all cells in the selected BLOCK0 block 83 are overwritten. Perform a shoot cell verification operation. PROGRAM ERASE READ RESTORE SEQUENCER block 26 and BINARY SEARC The H READ SEQUENCER block 43 determines the T of the selected BLOCK0. Perform overshoot cell verification on all S pages of rows. The voltage on the VCRF line 45 is set to V over the entire period of the overshoot verification operation.R ( I + 1) -VMEUI, Which is the value of DATA [0] in each Y-DRIVER 33. ~ 3] It is uniquely determined by the output of the LATCHES block 48. VMEM wire 3 As long as 1 is lower than the VCRF line 45, each page and each Y-DR Continue the overshoot verification for each IVER 33 and proceed to the next page. Choice At any point in the page, the V for any Y-DRIVER 33 If the MEM line 31 has a higher voltage than the VCRF line 45, those cells 2 REGISTERS & ADDRESS BUFFER block And save it in the box 60.   Originally erase the address of the cell with the flag with overshoot condition set to mini. This is compared with the address of the cell that triggered the leaving condition flag. Address mismatch , Set a flag with overshoot condition for the page. And the page address is REGISTERS & ADDRESSB Store in UFFER block 60. If the addresses match, another preliminary erase Perform a mini-programming operation. 13A and 13B, the second time Time T after pre-erase mini-programming operationRESPE2Cell V atTShow the distribution of .   Thereafter, another mini-erase pulse is applied to perform mini-erase verification. FIG. 13B Time TRESE2Cell V after the second mini-erase / verify operationTIs shown. VME UI If the flag with overshoot condition is not set after guard band verification , Last mini-play for all pages in the selected BLOCK 0 block 83 Perform a logging operation. Last mini-programming operation for each page At the beginning of the PROGRAM ERASE READ RESTORE SEQ The UENCER block 26 is composed of the REGISTERS & ADDRESS BU. For that page in FFER block 60, VTWith overshoot condition Perform a flag check. If no flags are found, a normal mini-program Perform a ramming operation. Time T in FIG. 13BRESPThe last regular mini-prog Cell V after performing ramming operationTIs shown. Conditional hula on a page Whenever a micro-programming operation is found, a micro-programming operation Execute. The microprogramming operation is as follows: 1) PROGRAM ERASE The READ RESTORE SEQUENCER block 26 is a PRGRDB The analog voltage is applied to the △ VU △ VL GEN block 39 via the bus 37. Voltage V from bus RVBUS 42MPELI, VMPUI, And VMPLIInstead of, Voltage VCPELI, VCPUI, And VCPLI2) PROG RAM ERASE READ RESTORE SEQUENCER block 26 is connected to the HVGEN block 27 via the HVCTRL bus 23, Specify to change the programming pulse to a microprogramming pulse. And thereby the V of cell 20TShift amount during mini-programming operation Same as mini-programming operation, with the exception of being smaller Preferably.                           IV. programmingGeneral description of the programming operation   The integrated circuits described herein also support new multi-level programming techniques. Therefore, it works. This programming technology is based on the mini-program Technology. With this programming, a new page is At the same time as storing new data, Restore existing data without changing data. Compared to mini programming, This programming technique allows for a larger amount of charge through the oxide around the floating gate Move to cell VTCan be shifted more significantly. One-way (Pro Cell V only in the gramming direction)TIs different from conventional programming technology that shifts Thus, the programming technique according to the present invention is secure in both the programming and erasing directions. Le VTShift.   In such conventional multi-level memory programming, cell VTDistribution of It is necessary to be narrow. Margins within each level after programming are very high Wide, the future V V over the life of the memory chipTDrift May be In FIG. 15A, the time TPMargin value PV at1Using V, immediately after programming according to prior artLCell V in levelTInitially narrow An example of the distribution is shown. In the same figure, the distribution which was narrow at firstTDrift By time TFTo the point of failure due to ambiguous detection in Spread, long-term distribution is also shown.   In contrast, the present invention stores data reliably for only a while. Very wide cells within each level resulting from the initial programming steps for Le VTDistribution (time T in FIG. 15B)P) In the near future (T in FIG. 15B).RESP Can be used until the restoration operation can be executed. further, Cell V according to the inventionTThe margin maintained by the restoration technique (the time in FIG. 15B) TFIs larger than the margin required for programming without the present invention. Not bad. Programming V in the prior artTDistribution must be narrow This means that until the expected reference voltage is confirmed normally,TIn small increments Because many verification / program pulse sequences are required to shift , Significantly increase programming time. In most system applications, The long programming time is very inconvenient for external systems . On the other hand, the present invention provides each of the external system sensing programming algorithms. Wide cell V inside the bellTBy enabling the adoption of distributions, multi-level memory professionals Reduce gramming time.   One embodiment of the present invention provides a VLICell V for all levelsTThe program That the last operation is required to set theFOne side of the range Erase operation similar to that used in the prior art for any level at It differs from the prior art in that it is important.   The present invention divides the programming cycle into two parts. In the first part First, V for each levelRWith a small margin around the reference voltage value, Quickly store data in cells. Long-term VTData loss due to drift effects This small margin is sufficient to temporarily and reliably store data until the Minutes. In this first part, it will be as short as possible from the perspective of the external system Optimize programming time. Total program time for external system The only interval is the time required to perform the data storage during the first part. In the first part Indicates that most of the charge transfer through the gate oxide and cell VTMost of the shift Execute   The second part is the same as the restoration including the mini-erase operation described above. In the first part Since the data is already stored in the cell, the second part is independent of the external system. Can be implemented. The second part is the program detected by the external system. After the ramming period ends, otherwise the memory chip is idle Can be performed during the period. In the second part of the programming cycle, The wider margin required for optimal system operation and long-term reliabilityR Set around the value. The second part of this programming cycle is the first It takes time to process.   In one embodiment of the invention, the second part is performed immediately after the first part. Another In embodiments, the more time-consuming second part is postponed until some time after the first part, This is done in such a way that the programming time seen from the external system is greatly reduced.   The first part of the program operation is described in the section on multi-level digital detection. As before, the band detection capability of the present invention is used. Each cell VTIs VLPlace of scope Verify that the band has been shifted toLAmbiguous detection at both ends of the range Ensure a sufficient margin protection band to prevent output. Programming verification operation Uses a plurality of reference voltages. In the first part of the programming technique, the reference voltage VRI+ VPLIAnd VR (I + 1)-VPUIAnd thereby VRIAnd VR (I + 1)With , Each V shown in FIG. 15BLITwo new lower and upper professionals within the level Gramming margin protection band VPLIAnd VPUIIs determined. VPLIAnd VPUIIs , The previously described read protection band VMRLIAnd VMRUI, Mini-programming protection band VMPLIAnd VMPUI, Mini erase protection band VMPELI, VMELI, And VMUIOr Is the microprogramming protection band VCPELI, VCPLI, And VCPUIEquals In some cases, it may not be equal, in other cases it may be higher, It may not be high. Each VLIGuard band V within levelPLIAnd VPUIof The selection is based on the V obtained after the first part of programming.TDistribution is VL It is done in such a way that it is optimized within the intended band narrower than the range. For optimization, VPLI And VPUIIt may be necessary to make sure that the bands of the If so, a different bandwidth value may be required for each I-level, Even the need for arbitrary band values determined by cell array manufacturing techniques is there. Alternatively, the bands within each level may have the same value. This program Technology is flexible enough to optimize for a wide range of memory manufacturing technologies. Prepare.   The verification technique according to the present invention uses the cell V based on only one value.TVerify the conventional It is completely different from programming technology. In the prior art, the fuzzy Reference voltage V that causes various detection problemsR (I + 1)To VTIs too close Programs may be implemented. The present invention provides two additional Verify that the programmed data is within the optimized band using the By verifying that the ambiguity that may occur when using the prior art Prevent data detection problems.Programming method   First, keep the new data in the page to be programmed, two cells per cell.N VLConvert to one of the levels. In one embodiment of the present invention, an integrated circuit Performs the first part of the programming sequence. Cell VTThe new lower side Programming margin reference voltage VRI+ VPLICompare (verify) with. here, I uniquely corresponds to the level represented by the retained N binary bits. You. This verification detection technique differs from the previously described read and verification detection, and has the value VRI And VRI+ VPLIProtection band V defined byPLIValue of any conventional technology It differs from the prior art in that it is much smaller than possible with the art. The present invention And such a small programming margin protection band VPLICan be 1 ) The second part of the programming sequence allows the long term VTFor stability 2) The second part of the programming sequence is After one part is completed, the corresponding VTBy running before drift occurs . V stored in the cellTThe already held N binaries corresponding to This verification detection is read because the state of the bit is not changed by the verification operation. This is different from the outgoing detection operation (see the BSERD technique described above).   Then, only the selected cells in the selected page have the appropriate voltage and duration Applied programming pulse. This programming pulse is V at the test stepTIs the voltage VRI+ VPLIOnly cells already determined to be lower Selectively apply. VTIs the voltage VRI+ VPLICells determined to be higher are Exclude from mining. Perform another verification operation after the first programming pulse I do. VTIs the voltage VRI+ VPLIIf any cells are found to be lower, The programming pulse is selectively applied.TIs the voltage VR I + VPLIApplies only to lower cells.   This programming technique considers multiple cells connected together within the same page. You can best understand if you think. 16A and 16B show six different times TP , TRESPE1, TRESE1, TRESPE2, TRESE2, And TRESPThe same level VLIof A plurality of cells V in the memory within the rangeTIs shown. Verification / Programming The pulse sequence is the time T shown in FIG. 16APBetween the pages All cells are at voltage VRI+ VPLIV aboveTRepeat until it is confirmed that you have Or apply a pulse up to a predetermined maximum number to set the system error flag. Repeat until specified.   Once the first page is successfully programmed, the next erased page to be programmed Page and repeat this procedure until the last page. Pages to program Must be in a previously erased block or sector. The first part Save the address of each erase block that was targeted for the programming operation, This allows the second part of the programming operation to be performed later. This first Completion of the part programming procedure is the programming time seen from the external system To determine. The programming pulse used in this programming part is Narrow cell V required by technologyTDistribution for each VLSince it is not required within the level, Lighting greatly reduces multi-level programming time.   The present invention provides additional verification after the verification / programming pulse sequence described above. Test step is added. Alternatively, this new verification step is -It can be executed after the pulse. Naturally, in this case, when processing It will take a while. An additional step is to finish the program All cells V in the selected pageT, Another new programming ・ Margin reference voltage VR (I + 1)-VPUICompare with Again, I holds Corresponding to the same level represented by the N binary bits See FIG. 16A). At this time,TIs the voltage VR (I + 1)-VPUIBe higher All identified cells are over-programmed and have a system error flag. Setting. With this verification operation, the programmed cell VT To VLSet within a band narrower than the range, and merge both upper and lower programming VPLIAnd VPUICan be set. This allows a certain bit of Program is the reference voltage value VR (I + 1)Can be ambiguous if too close Is avoided. In contrast, the prior art only sets the lower margin .   At a convenient time after the above first part programming sequence, the integration The circuit sequentially applies mini erase to all erase blocks that have just been programmed. Execute restoration including the delete operation. Time T in FIG. 13ARESRIncluding mini erase shown in Cell V before restorationTDistribution and time T in FIG. 16APCell V shown inTThe distribution of The results of these operations are illustrated.   Therefore, the second part of the programming sequence is the mini-erase described earlier. Completely implemented by restoration including technology. 16A and 16B. These steps are shown, which are performed at time TRESPE1, TRESE1, TRESPE2, TRESE2, And TRESP13A when restoring including mini erase operation is performed after Corresponds to the same step shown in FIG. 13B. Minimal in the first part of programming V stored in the protection band ofTComplete before giving time to drift Full protection band VMPLIAnd VMPUIIs restored. At this time, the obtained VTDistribution Is the time T in FIG. 16BRESPAs seen in the last distribution shown in   Alternatively, the integrated circuit has already been programmed to perform the programming operation of the second part. V of erase block of lagged cellTProgramming to restore It is convenient to execute the second part of the operation (restoration including mini-erase) some time later It is.   In another variant, for the erase block already programmed in the first part Programming the second part immediately after the programming step of the first part To run. In all cases, all data is already stored in memory cells. The second part of the programming operation is performed autonomously. Accordingly Thus, the autonomously executed second part programming sequence of the present invention is It does not increase the programming time perceived by the external system.Multi-level memory programming system   For preferred embodiments for programming, see the BSERD detection technique, It has already been mentioned with the mini-programming and mini-erase techniques. First, the seventh DATA, ADDR & CNTRL SYSTEM INTERFACE Via block 10, data from an external source is transferred to each Y-DRIVER 33. Is loaded into the LATCHES block 48. Also, It also gives the address location for storing the data. Data has already been erased Program the block. The first part of programming is the mini-pro Very similar to the gramming technique. At this time, PROGRAM ERAS The E READ RESTORE SEQUENCER block 26 is a PRGR A reference voltage is applied to the ΔVU ΔVL GEN block 39 via the DB bus 37. Voltage V from bus RVBUS 42MPUIAnd VMPLIInstead of the reference voltage VPU I And VPLIIs generated. VX VY GEN block 38 is a finger And the reference voltage VRIAnd VR (I + 1)Generate Here, I is each Y-DR Data [0-3] in IVER 33 LATCHES block 48 To the level represented by the N binary bits that are loaded and held. Respond. The program / verification operation and overshoot verification operation are Similar to those used in programming technology. Second part of programming technology The minutes are exactly the same as the mini-erase technique described above.                                 V. EraseGeneral description of erase operation   Integrated circuits can also be implemented using multi-level erase techniques that are different from the mini-erase techniques described above. Works even though. Erasing is performed on data already stored in erase blocks or sectors. Data, but mini-erase does not alter the stored data. Restore existing data. Erasing also requires a larger amount of charge than does mini-erasing. Through the oxide around the floating gate, and more significantlyTThe sif May be   Cell VTUnlike the conventional erase technology that shifts only one direction (erase direction), The erasing technique according to the present invention uses the cell V in both programming and erasing directions.TShift You. Prior art erasure in the case of multi-level memory storage requires only Very wide cell V for all cellsTCause a distribution. In the prior art, Erased cell widened VTDistribution VLERASEIs the case of multi-level storageNPieces VLHas been used as a range. However, in the erasing technique according to the present invention, Already expanded cell VTDistribution 2NVLNot used as one of the ranges. VL Are all in the range VL0Is VLERASEOverlap with the range of other but other VLOptimize to be similar to any of the ranges.   17A to 17C show the case of multi-level storage of 4 bits per cell. V during long-term data storage for all cells in the erase block ofTExample distribution Is shown. 17A to 17C show the same memory array manufacturing. Technology and therefore 1) VFProgramming and deletion shown as Effective cell V in the case of leavingTAnd 2) VLERASERange is exactly the same.   However, these figures show the type of erasing technique and the resulting VRValue, VLRange , And VMRange is different. FIG. 17A shows the same as the conventional technology. VLERASERange of VL0Level (reference value VR0And VR1Example) Show. FIG. 17A shows 16 levels. Each level is VMSeparated by minutes And the width of 15 levels is VLAnd the width of one level is VLERASEAnd VLERASE>> VLAnd VF= VLERASE+ 15VM+ 15VLIt is. Seventeenth Figure B shows 1) VL0V as levelLERASEDoes not use the range, instead 2) VFVLTo be almost equal Than VFShows one embodiment of the present invention when the utilization of the entire range of You. The 16 Vs shown in FIG. 17BLLevel is VMSeparated by VF= 1 6VL+ 15VMBecomes VFAre equal, so VL+ VMIs the first from the example of FIG. 17A. The example in FIG. 7B is larger (and therefore easier to manufacture and manage). But Thus, the embodiment shown in FIG. 17B is superior to the technique shown in FIG. Enables high density multi-level data storage.   Another variation is shown in FIG. 17C. VFSpread over the entire range of V in FIG. 17BLUnlike the level, V in FIG. 17CLLevel is VLERASERange and Do not overlap. This is VL+ VMDoes not provide the advantage of a wider voltage May be needed for more reliable data detection in some technologies. further As mentioned earlier in the mini-erase section, this integrated circuit erase technique is Erase V in this directionTCan be adapted to shifts. The present invention provides a broad memory array Enables manufacturing and detection circuits for multi-level storage.   This erase operation is the same as described earlier in the multi-level digital detection section. Utilizing the same band detection capability, each cell VTIs VLWithin the intended band of the range Verify. As a result, the VLPrevents ambiguous detection at both ends of the range Ensure a sufficient margin protection band to stop.   During erase verification, a plurality of reference voltages are used. As shown in FIGS. 18A and 18B So that the reference voltage VR0+ VMEFLAnd VRI-VMEFUIs VR0And VR1Along with Each VL0Two new lower and upper erase margin protection bands V within the level rangeMEFL And VMEFUIs defined. Erase reference voltage VEAAnd VEBAnd programming Reference voltage VPEBAnd VPEFIs used. Using other voltages as described below You can also. VMEFLAnd VMEFUIs the read protection band V described above.MRLIAnd And VMRUI, Mini-programming protection band VMPLIAnd VMPUI, Mini erase protection band VMPELI, VMELI, And VMUI, Microprogramming protection band VCPELI, VC PLI , And VCPUIOr programming protection band VPLIAnd VPUIEqual In some cases, it may be unequal, and sometimes it may be higher. May not be higher.   Each VL0Margin protection band V within levelMEFLAnd VMEFUSelection of erase V obtained after technologyTDistribution is VL0Optimized within expected band narrower than range Perform in such a form. For optimization, VMEFLAnd VMEFUBands are not equal to each other It may be necessary to do so. Or equal the band within each level May be a value.   This technology is optimized to accommodate a wide range of memory manufacturing technologies. The present invention The verification technique by the cell V is based on only one erase reference voltage.TTo verify It is completely different from conventional technology. The prior art addresses the vague detection problem described earlier. Reference value VR0Or VR1To VTCells are erased in such a way that Could be done. The erase technique according to the present invention uses an additional verification reference voltage. By verifying that the erased data is within the optimized bandwidth, Prevent unwanted data detection problems.Elimination methodology   Erasure techniques consider multiple cells connected together in the same erase block. I understand best. As mentioned earlier, a real multilevel memory system is Erase block memory with reduced cell area so that a number of cells can be erased simultaneously Utilize cell architecture. If not the whole chip, at least To understand the behavior of all cells within an erase block, you can use any form of erase. It is necessary to consider all possible outcomes.   18A and 18B show seven different times TPE, TE1, TEPE2, TE2 , TEPEF, TEF, And TP4 levels VL0Or VL3Within the range of Multiple cells V in the memoryTIs shown. In this example, VLERASEIs four VLRange and Duplicate. However, do not consider this technology to be limited to this particular example. Absent.   Time TPEV atTIndicates the state of the cell immediately before erasing. This erasing method Is similar in many respects to the mini-erase method, and uses many of the same principles here. Does not elaborate much. First, an erase pulse is given to the selected sector. Then , Depending on the characteristics of the memory array fabrication, by one of two methods: Verify all cells in the sector. In the first method, all cells have a reference voltage VEA Verify that it is lower, but another way is to mark all cells Gin reference voltage VR0+ VMEFLVerify that it is higher. Subsequent erased pal The verification / verification sequence is such that all cellsEAFirst until lower Cell is margin protection band VMEFLUntil it is confirmed that the Applied until the maximum number of errors (error flag) is reached. Cell V obtainedTMinute The cloth is applied at time T in FIG. 18A.E1Shown in   Next, the distribution of erased cells is narrowed, and the margin reference voltage VR0+ VMEFLTowards Another method for shifting is to use a series of pre-erase mini-programming. / Perform the mini erase step. Pre-erase mini-programming / mini-erase sequence The number of sensing depends on the process used to manufacture the memory, It can be minimized by choosing a value.   18A and 18B show time TEPE2/ TE2And time TEPEF / TEF, Two such pre-erase mini-programming / mini-erase sequences Is shown. In the example shown in FIG. 18A, the first pre-erase mini-programming reference Pressure is VPEBIs set to VPEBThe mini-programming pulse / verification operation at All cells have a reference voltage VPEBApply until higher is confirmed. This Cell V from First Pre-Erase Mini-Programming StepTThe distribution of Interval TEPE2Shown in Then, all cells are connected to the reference voltage V.EBIs confirmed to be lower Until the first cell has a margin guard band VMEFLUntil it is verified that Or mini erase pulse until the maximum number of sequences (error flag) is reached / Perform verification operation. Reference voltage VEBIs the reference voltage VEAAnd VR0+ VMEFLThe most among Appropriately selected. The resulting cell VT18A and 18 Time T in diagram BE2Shown in   Again, the pre-erase mini-programming / mini-erase steps are repeated. Then Another pre-erase mini-programming reference voltage is VPEFSet to. Reference voltage VPEFIs the reference voltage VPEBAnd VR0+ VMEFLIs optimally selected between VPEFso The mini-programming pulse / verify operation in which all cells have a reference voltage VPEFYo Until it is confirmed that it is higher. This another pre-erase mini program V obtained from the aging stepTTime distribution TEPEFShown in Then, everything All cells have a guard band reference voltage VR1-VMEFUFirst until lower is confirmed Cell is the margin protection band VMEFLUntil it is confirmed that it is within A mini erase pulse / verify operation is performed until a number (error flag) is reached.   This time, instead of applying another mini-programming step, Reference voltage VR1-VMEFUIt is decided in advance when to verify using. Protective belt Area VMEFUIf no cells are found to be in the When the erasing step is performed up to (flag), the erasing operation is completed. Or, At the end of the previous mini-erase verification step, the guard band reference voltage VR1-VMEFUHigher Only when there is a cell for which the next reference voltage VPEUsing the maximum number (error Pre-erase mini-programming / mini-erase sequence . Next reference voltage VPEIs the reference voltage VPEAnd VR0+ VMEFLIs optimally selected between You. The resulting cell VTOf the distribution of time T in FIG. 18B.EFAs shown in the All cells are protected band reference voltage VR1-VMEFUThat it was confirmed to be lower Is shown. This completes the erasing operation. Cell V obtainedTFigure 18B shows the distribution of Time TEFWhich is obtained by the first part of the programming technique The width is similar to the one. The erase block is now VL0There is no security left on the level Is ready for programming. Programming techniques mentioned earlier Cell V after the first part ofTOf the distribution of time T in FIG. 18B.PShown inMulti-level memory erase system   The erase operation is almost the same as the operation of the mini-erase technique described above. The exception is PR OGRAM ERASE READ RESTORE SEQUENCER BRO Block 26 is connected to the △ VU △ VL GEN block 3 via the PRGRDB bus 37. 9, the voltage V from the reference voltage bus RVBUS42MEUIAnd VMELIInstead of In addition, the reference voltage VMEFUAnd VMEFLIs generated. VX   The VY GEN block 38 receives the command and receives the reference voltage VR0And VR1Generate You. Reference voltage VEA, VPEB, VEB, And VPEFIs generated in a similar fashion, as described earlier. The nearest V depending on the optimizationR1Based on Also in the mini erase section As mentioned in the previous section, the erase operation is performed on the selected memory block or sector. The BLOCK-DEC block 19, the X-DEC block 17 , And the PRG-ERS bus 22 is forcibly set for the Y-DEC block 18. Set.   While the above is a complete description of the preferred embodiment of the present invention, various alternatives, modifications, and improvements have been described. Positive examples and equivalents can be used. Appropriate modifications to the above embodiment It will be clear that the present invention is equally applicable by adding In the present invention There are many memory technologies that apply and are not limited to merely storing charge. In nature Other basic materials can also be stored in integrated circuit memory cells. For example, Ferroelectric bound charge in thin films on semiconductor channels modulates channel conductivity. And form the basis of ferroelectric memory. Apply voltage or induce voltage to conductors and control gates By applying a voltage to the entire conductive thin film, the amount of constrained charges can be controlled, Thereby, various conductivity can be obtained. Control gate voltage using reference voltage The pressure can also be set. Thus, the present invention is similar to the charge storage type memory. It can also be applied to ferroelectric memories.   Accordingly, the above description is not to be construed as limiting the scope of the invention, which is defined by the appended claims. It should not be taken as limiting the enclosure.

【手続補正書】特許法第184条の8第1項 【提出日】平成10年7月24日(1998.7.24) 【補正内容】 補正請求の範囲 1.集積回路メモリ・システムであって、 情報ビットに対応する複数の、それぞれが事前選択範囲を有する離散状態のい ずれかをそれぞれ格納することができる複数のメモリ・セルと、 前記の一離散状態の事前選択範囲外の前記メモリ・セルによるドリフトを検出 する手段と を含む集積回路メモリ・システム。 2.前記検出手段がほぼ同時に、かつ選択された複数のメモリ・セルとは独立し て動作することを特徴とする請求項1に記載のメモリ・システム。 3.前記事前選択範囲外の前記メモリ・セルによるドリフトに対して前記の一離 散状態を復元する手段をさらに含み、前記復元手段が前記検出手段に応答する請 求項1に記載のメモリ・システム。 4.各メモリ・セルが前記情報ビットに対応する浮遊ゲートに電荷量を蓄積する 不揮発性メモリ・セルを具備し、 前記電荷量に応答して前記の複数のメモリ・セルの各浮遊ゲート内の前記電荷 量を維持する回路手段をさらに含み、 それによって各メモリ・セル内の前記情報ビットの喪失を回避する請求項1に 記載のメモリ・システム。 5.前記電荷維持回路手段が各不揮発性メモリ・セルの電荷を増分式に加減する ことにより、前記不揮発性メモリ・セルからほぼすべての電荷を最初に消去する ことなく前記電荷量を調整することを特徴とする請求項4に記載のメモリ・シス テム。 6.各メモリ・セル内の前記情報ビットが少なくとも2ビットを含むことを特徴 とする請求項4に記載のメモリ・システム。 7.2N個以上の基準値を生成する手段をさらに含み、 各メモリ・セルがNビットの情報に対応する2N個の離散状態のいずれかを格 納することができ、前記検出手段が前記基準値との比較によって前記メモリ・セ ル内の前記の一離散状態を検出し、前記基準値を基準として前記の一離散状態の 事前選択範囲外でのドリフトを決定する請求項1に記載のメモリ・システム。 8.前記検出手段と前記基準値生成手段が協働して決められた順序で前記の一離 散状態と前記基準値とを順次比較することにより、前記の一離散状態を決定し、 および前記基準値を基準にして前記の一離散状態におけるドリフトを決定するこ とを特徴とする請求項7に記載のメモリ・システム。 9.前記基準値が第1の組と第2の組を具備し、前記検出手段が前記第1の組の 基準値に応答して前記の一離散状態を検出し、前記検出手段が前記第2の組の基 準値に応答して前記メモリ・セル内の前記の一離散状態におけるドリフトを決定 し、かつ前記第2の組の基準値が第1の組の基準値と所定の関係を有することを 特徴とする請求項7に記載のメモリ・システム。 10.前記検出手段に応答して前記の一離散状態にある前記メモリ・セルを復元 する手段をさらに含み、それによって前記の一離散状態に対応する情報を前記の 複数のメモリ・セルのいずれかに保持できるようにする請求項9に記載のメモリ ・システム。 11.各メモリ・セルが前記の一離散状態を表す電荷量を蓄積し、前記検出手段 が前記の一離散状態を表す電荷を保持するために前記メモリ・セルとの間で電荷 の加減を行うべきかどうかを判定し、 さらに前記検出手段による判定に応答して少なくとも1つの状況フラグを設定 する手段を含む請求項7に記載のメモリ・システム。 12.前記メモリ・セルに関係する記憶域に前記の少なくとも1つの状況フラグ を保存する手段をさらに含む請求項11に記載のメモリ・システム。 13.前記検出手段が前記の一離散状態を少なくとも2つの基準値と比較して、 前記メモリ・セルに付加した電荷が前記の一離散状態を復元するのに十分か不十 分かを判定することを特徴とする請求項11に記載のメモリ・システム。 14.前記の複数のメモリ・セルがアレイ内に配置され、各メモリ・セルが前記 情報ビットに対応する電荷量を蓄積するメモリ・システムであって、 前記メモリ・セル・アレイに結合され、前記メモリ・セル・アレイに信号を供 給して前記メモリ・セルとの間で電荷を移動させ、それによって前記メモリ・セ ルに蓄積した電荷を前記情報ビットに対応させるプログラミング回路と、 さらに複数の基準電圧を生成することができる基準電圧回路と、 前記メモリ・セル・アレイと前記基準電圧回路とに結合されたコンパレータと 、 前記メモリ・セル・アレイ、前記基準電圧回路、および前記コンパレータに結 合された制御回路とを含み、前記制御回路が電荷量を検出することならびに前記 の選択された複数の各メモリ・セル内の情報ビットに対応する前期電荷量におけ るドリフトを決定することを目的として、前記メモリ・セル・アレイ内の選択さ れた複数のメモリ・セルと前記基準電圧回路を前記コンパレータに接続する請求 項1に記載のメモリ・システム。 15.前記制御回路がドリフト決定に応答して前記の選択された複数のメモリ・ セル内の電荷の調整を前記プログラミング回路に行わせ、それによって各メモリ ・セル内の情報ビットの喪失を回避できるようにすることを特徴とする請求項1 4に記載の集積回路。 16.前記プログラミング回路が前記の複数のメモリ・セルからほぼすべての電 荷を最初に消去することなく前記電荷を調整することを特徴とする請求項15に 記載の集積回路。 17.前記コンパレータが前記の選択された複数の各メモリ・セル内の前記電荷 に応答した電圧を前記の複数の基準電圧のうちの第1の組の基準電圧と比較して 、前記の選択された複数の各メモリ・セル内の前記デジタル情報を決定すること 、 前記コンパレータが前記の選択された複数の各メモリ・セル内の前記電荷に応 答した前記電圧を前記の複数の基準電圧のうちの第2の組の基準電圧と比較して 、前記デジタル情報に対応する前記電荷の前記電荷量における前記ドリフトを決 定すること、および 前記制御回路が前記情報ビットに対応する前記電荷の前記電荷量における前記 ドリフトの前記決定を表す状況フラグを設定することを特徴とする請求項14に 記載の集積回路。 18.複数のメモリ・セルを有する集積回路メモリ・システムを動作させる方法 であって、 それぞれ情報ビットに対応し、事前選択範囲を有する複数の離散量のいずれか で各メモリ・セル内に電荷を蓄積する段階と、 前記の一離散量の事前選択範囲内での前記メモリ・セルによるドリフトを受動 的に検出する段階と を含む方法。 19.前記の一離散量の前記事前選択範囲からの前記ドリフトに応答して前記メ モリ・セル内の電荷を復元する段階をさらに含む請求項18に記載の方法。 20.前記検出段階が前記電荷量に対応する値と前記第1シーケンスの基準値と を反復して比較する段階を含み、ある比較段階での基準値が前の比較段階の結果 によって決まり、 さらに第2シーケンスの基準値に対して各メモリ・セル内の前記電荷量におけ るドリフトを決定する段階と、 前記ドリフト決定段階がドリフトの存在を肯定した場合にドリフトの方向を表 す少なくとも1つの状況フラグを設定する段階とを含むことを特徴とする請求項 18に記載の方法。 21.前記メモリ・セルに関係する記憶域に前記の少なくとも1つの状況フラグ を保存する段階をさらに含む請求項20に記載の方法。 22.前記ドリフト決定段階が前記電荷量に対応する値と前記第2シーケンスの 基準値とを反復して比較する段階を含み、ある比較段階での基準値が前の比較段 階の結果によって決まることを特徴とする請求項20に記載の方法。 23.前記第2シーケンスの基準値との前記反復比較段階がそれぞれ、前記第1 シーケンスの基準値との前記反復比較段階のいずれかに続いて行われることを特 徴とする請求項22に記載の方法。 24.前記検出段階が前記の対応する情報ビットがすべて論理「1」とすべて論 理「0」のどちらと判定したかに応じて、前記電荷量に対応する前記値と前記シ ーケンスの基準値のどれよりも大きいまたは小さい基準値とを比較する段階をさ らに含む請求項20に記載の方法。 25.各メモリ・セル内に電荷を蓄積するための前記の複数の離散量が2N個か らなること、および前記比較手段を少なくともN回だけ繰り返すことを特徴とす る請求項20に記載の方法。[Procedure for Amendment] Article 184-8, Paragraph 1 of the Patent Act [Date of Submission] July 24, 1998 (July 24, 1998) [Details of Amendment] Claims for Amendment An integrated circuit memory system, comprising: a plurality of memory cells each capable of storing one of a plurality of discrete states corresponding to information bits, each having a preselected range; Means for detecting drift due to the memory cell outside the selected range. 2. 2. The memory system according to claim 1, wherein said detection means operates substantially simultaneously and independently of a plurality of selected memory cells. 3. 2. The memory system of claim 1, further comprising: means for restoring said discrete state to drift due to said memory cells outside said preselected range, said restoration means responsive to said detection means. 4. A nonvolatile memory cell in which each memory cell stores an amount of charge in a floating gate corresponding to the information bit, wherein the charge in each floating gate of the plurality of memory cells is responsive to the amount of charge; The memory system of claim 1, further comprising circuit means for maintaining the quantity, thereby avoiding loss of said information bits in each memory cell. 5. The charge maintaining circuit means adjusts the amount of charge without first erasing substantially all of the charge from the non-volatile memory cell by incrementally adding and subtracting the charge in each non-volatile memory cell. The memory system according to claim 4, wherein: 6. 5. The memory system according to claim 4, wherein said information bits in each memory cell include at least two bits. Means for generating at least 7.2 N reference values, wherein each memory cell can store any of 2 N discrete states corresponding to N bits of information; The memory of claim 1, wherein the discrete state in the memory cell is detected by comparing to a reference value, and a drift of the discrete state outside a preselected range is determined with respect to the reference value. ·system. 8. The one discrete state and the reference value are sequentially compared in the order determined by the detection means and the reference value generation means to determine the discrete state, and 8. The memory system according to claim 7, wherein the drift in the one discrete state is determined with reference to a reference. 9. The reference value comprises a first set and a second set, wherein the detecting means detects the discrete state in response to the first set of reference values, and wherein the detecting means comprises the second set. Determining a drift in the discrete state in the memory cell in response to a set of reference values, and wherein the second set of reference values has a predetermined relationship with the first set of reference values. The memory system according to claim 7, wherein the memory system comprises: 10. Means for restoring the memory cell in the discrete state in response to the detecting means, whereby information corresponding to the discrete state is retained in any of the plurality of memory cells. 10. The memory system of claim 9, wherein the memory system is enabled. 11. Should each memory cell accumulate the amount of charge representing the discrete state, and the detecting means should adjust the charge with the memory cell in order to retain the charge representing the discrete state. 8. The memory system according to claim 7, further comprising means for determining whether or not, and setting at least one status flag in response to the determination by said detecting means. 12. The memory system of claim 11, further comprising means for storing said at least one status flag in a storage associated with said memory cell. 13. The detecting means compares the discrete state with at least two reference values to determine whether the charge applied to the memory cell is sufficient or insufficient to restore the discrete state. The memory system according to claim 11, wherein: 14. A memory system, wherein the plurality of memory cells are arranged in an array, each memory cell storing an amount of charge corresponding to the information bit, the memory system being coupled to the memory cell array; A programming circuit for supplying a signal to a cell array to move electric charges between the memory cells, thereby causing the electric charges stored in the memory cells to correspond to the information bits; and generating a plurality of reference voltages. A reference voltage circuit, a comparator coupled to the memory cell array and the reference voltage circuit, and a control circuit coupled to the memory cell array, the reference voltage circuit, and the comparator. Wherein the control circuit detects the amount of charge and responds to information bits in each of the selected plurality of memory cells. 2. The memory system according to claim 1, wherein said plurality of selected memory cells in said memory cell array and said reference voltage circuit are connected to said comparator for the purpose of determining a drift in said charge amount. 15. The control circuit causes the programming circuit to adjust the charge in the selected plurality of memory cells in response to the drift determination, thereby avoiding loss of information bits in each memory cell. The integrated circuit according to claim 14, wherein: 16. The integrated circuit of claim 15, wherein the programming circuit adjusts the charge without first erasing substantially all of the charge from the plurality of memory cells. 17. The comparator compares a voltage responsive to the charge in each of the selected plurality of memory cells to a first set of reference voltages of the plurality of reference voltages, and Determining the digital information in each memory cell of the plurality of memory cells. The comparator responds to the charge in each of the selected plurality of memory cells with a second voltage of the plurality of reference voltages. Determining the drift in the charge amount of the charge corresponding to the digital information in comparison with a set of reference voltages, and wherein the control circuit controls the drift in the charge amount of the charge corresponding to the information bit. 15. The integrated circuit according to claim 14, wherein a status flag indicating the determination is set. 18. A method of operating an integrated circuit memory system having a plurality of memory cells, each of which corresponds to an information bit and stores charge in each memory cell in one of a plurality of discrete quantities having a preselected range. And passively detecting drift by the memory cell within the discrete amount of the preselected range. 19. 19. The method of claim 18, further comprising restoring charge in the memory cell in response to the drift of the discrete amount from the preselected range. 20. The detecting step includes iteratively comparing a value corresponding to the charge amount with a reference value of the first sequence, wherein a reference value in one comparison step is determined by a result of a previous comparison step; Determining a drift in the amount of charge in each memory cell relative to a reference value in a sequence; and setting at least one status flag indicating a direction of the drift if the determining the drift affirms the presence of the drift. 19. The method of claim 18, comprising the steps of: 21. 21. The method of claim 20, further comprising storing the at least one status flag in storage associated with the memory cell. 22. The drift determination step includes a step of repeatedly comparing a value corresponding to the charge amount with a reference value of the second sequence, wherein a reference value in one comparison step is determined by a result of a previous comparison step. 21. The method of claim 20, wherein: 23. 23. The method of claim 22, wherein each of the iterative comparison steps with the second sequence reference value is performed subsequent to any of the iterative comparison steps with the first sequence reference value. 24. The value corresponding to the charge amount and any of the reference values of the sequence depend on whether the corresponding information bits are all logic "1" or all logic "0". 21. The method of claim 20, further comprising comparing to a higher or lower reference value. 25. 21. The method of claim 20, wherein the plurality of discrete quantities for storing charge in each memory cell comprises 2 <N > and the comparing means is repeated at least N times.

Claims (1)

【特許請求の範囲】 1.情報ビットに対応する複数の離散状態のいずれかをそれぞれ格納することが できる複数のメモリ・セルと、 前記の一離散状態にある前記メモリ・セルによるドリフトを検出する手段とを 含む集積回路メモリ・システム。 2.前記検出手段が前記メモリ・セルのドリフトに起こりうる第1方向または第 2方向を検出することを特徴とする請求項1に記載のメモリ・システム。 3.前記の一離散状態にある前記メモリ・セルを復元する手段をさらに含み、前 記復元手段が前記検出手段と、前記の一離散状態に対応する前期情報ビットを維 持する前記の検出された第1方向または第2方向とに応答する請求項2に記載の メモリ・システム。 4.各メモリ・セルが前記情報ビットに対応する浮遊ゲート上の電荷量を蓄積す る不揮発性メモリ・セルを具備し、 前記電荷量に応答して前記の複数のメモリ・セルの各浮遊ゲート内の前記電荷 量を維持する回路手段をさらに含み、 それによって各メモリ・セル内の前記情報ビットの喪失を回避する請求項1に 記載のメモリ・システム。 5.前記維持回路手段が各不揮発性メモリ・セルとの間で電荷を加減することに より、前記不揮発性メモリ・セルからほぼすべての電荷を最初に消去することな く前記電荷量を調整することを特徴とする請求項4に記載のメモリ・システム。 6.各メモリ・セル内の前記情報ビットが少なくとも2ビットを含むことを特徴 とする請求項4に記載のメモリ・システム。 7.2N個以上の基準値を生成する手段をさらに含み、 各メモリ・セルがNビットの情報に対応する2N個の離散状態のいずれかを格 納することができ、前記検出手段が前記基準値との比較によって前記メモリ・セ ル内の前記の一離散状態を検出し、前記基準値を基準として前記の一離散状態に おけるドリフトを決定する請求項1に記載のメモリ・システム。 8.前記検出手段と前記基準値生成手段が協働して決められた順序で前記の一離 散状態と前記基準値とを順次比較することにより、前記の一離散状態を決定する こと、および前記基準値を基準にして前記の一離散状態におけるドリフトを決定 することを特徴とする請求項7に記載のメモリ・システム。 9.前記基準値が第1の組と第2の組を具備すること、前記検出手段が前記第1 の組の基準値に応答して前記の一離散状態を検出すること、前記検出手段が前記 第2の組の基準値に応答して前記メモリ・セル内の前記の一離散状態におけるド リフトを決定すること、および前記第2の組の基準値が第1の組の基準値と所定 の関係を有することを特徴とする請求項7に記載のメモリ・システム。 10.前記検出手段に応答して前記の一離散状態にある前記メモリ・セルを復元 する手段をさらに含み、それによって前記の一離散状態に対応する情報を前記の 複数のメモリ・セルのいずれかに保持できるようにする請求項9に記載のメモリ ・システム。 11.各メモリ・セルが前記の一離散状態を表す電荷量を蓄積し、前記検出手段 が前記の一離散状態を表す電荷を保持するために前記メモリ・セルとの間で電荷 の加減を行うべきかどうかを判定し、 さらに前記検出手段による判定に応答して少なくとも1つの状況フラグを設定 する手段を含む請求項7に記載のメモリ・システム。 12.前記メモリ・セルに関係する記憶域に前記の少なくとも1つの状況フラグ を保存する手段をさらに含む請求項11に記載のメモリ・システム。 13.前記検出手段が前記の一離散状態を少なくとも2つの基準値と比較して、 前記メモリ・セルに付加した電荷が前記の一離散状態を復元するのに十分か不十 分かを判定することを特徴とする請求項11に記載のメモリ・システム。 14.前記の複数のメモリ・セルがアレイ内に配置され、各メモリ・セルが前記 情報ビットに対応する電荷量を蓄積するメモリ・システムであって、 前記メモリ・セル・アレイに結合され、前記メモリ・セル・アレイに信号を供 給して前記メモリ・セルとの間で電荷を移動させ、それによって前記メモリ・セ ルに蓄積した電荷を前記情報ビットに対応させるプログラミング回路と、 さらに複数の基準電圧を生成することができる基準電圧回路と、 前記メモリ・セル・アレイと前記基準電圧回路とに結合されたコンパレータと 、 前記メモリ・セル・アレイ、前記基準電圧回路、および前記コンパレータに結 合された制御回路とを含み、前記制御回路が電荷量を検出することならびに前記 の選択された複数の各メモリ・セル内の情報ビットに対応する前期電荷量におけ るドリフトを決定することを目的として、前記メモリ・セル・アレイ内の選択さ れた複数のメモリ・セルと前記基準電圧回路を前記コンパレータに接続する請求 項1に記載のメモリ・システム。 15.前記制御回路がドリフト決定に応答して前記の選択された複数のメモリ・ セル内の電荷の調整を前記プログラミング回路に行わせ、それによって各メモリ ・セル内の情報ビットの喪失を回避できるようにすることを特徴とする請求項1 4に記載の集積回路。 16.前記プログラミング回路が前記の複数のメモリ・セルからほぼすべての電 荷を最初に消去することなく前記電荷を調整することを特徴とする請求項15に 記載の集積回路。 17.前記コンパレータが前記の選択された複数の各メモリ・セル内の前記電荷 に応答した電圧を前記の複数の基準電圧のうちの第1の組の基準電圧と比較して 、前記の選択された複数の各メモリ・セル内の前記デジタル情報を決定すること 、 前記コンパレータが前記の選択された複数の各メモリ・セル内の前記電荷に応 答した前記電圧を前記の複数の基準電圧のうちの第2の組の基準電圧と比較して 、前記デジタル情報に対応する前記電荷の前記電荷量における前記ドリフトを決 定すること、および 前記制御回路が前記情報ビットに対応する前記電荷の前記電荷量における前記 ドリフトの前記決定を表す状況フラグを設定することを特徴とする請求項14に 記載の集積回路。 18.複数のメモリ・セルを有する集積回路メモリ・システムを動作させる方法 であって、 それぞれ情報ビットに対応する複数の離散量のいずれかで各メモリ・セル内に 電荷を蓄積する段階と、 前記の一離散量におけるドリフトに応答して前記メモリ・セル内の電荷を復元 する段階とを含み、 それによって前記メモリ・セル内の情報ビットの喪失を回避する方法。 19.第1シーケンスの基準値に対して各メモリ・セル内の電荷量を検出して各 メモリ・セルごとに前記の対応する情報ビットを決定する段階をさらに含む請求 項18に記載の方法。 20.前記検出段階が前記電荷量に対応する値と前記第1シーケンスの基準値と を反復して比較する段階を含み、ある比較段階での基準値が前の比較段階の結果 によって決まり、 さらに第2シーケンスの基準値に対して各メモリ・セル内の前記電荷量におけ るドリフトを決定する段階と、 そうしたドリフト決定段階がドリフトの存在を肯定した場合にドリフトの方向 を表す少なくとも1つの状況フラグを設定する段階とを含むことを特徴とする請 求項19に記載の方法。 21.前記メモリ・セルに関係する記憶域に前記の少なくとも1つの状況フラグ を保存する段階をさらに含む請求項20に記載の方法。 22.前記ドリフト決定段階が前記電荷量に対応する値と前記第2シーケンスの 基準値とを反復して比較する段階を含み、ある比較段階での基準値が前の比較段 階の結果によって決まることを特徴とする請求項20に記載の方法。 23.前記第2シーケンスの基準値との前記反復比較段階がそれぞれ、前記第1 シーケンスの基準値との前記反復比較段階のいずれかに続いて行われることを特 徴とする請求項22に記載の方法。 24.前記検出段階が前記の対応する情報ビットがすべて論理「1」とすべて論 理「0」のどちらと判定したかに応じて、前記電荷量に対応する前記値と前記シ ーケンスの基準値のどれよりも大きいまたは小さい基準値とを比較する段階をさ らに含む請求項20に記載の方法。 25.各メモリ・セル内に電荷を蓄積するための前記の複数の離散量が2N個か らなること、および前記比較手段を少なくともN回だけ繰り返すことを特徴とす る請求項20に記載の方法。[Claims] 1. An integrated circuit memory comprising: a plurality of memory cells each capable of storing any of a plurality of discrete states corresponding to information bits; and means for detecting drift due to the memory cells in the one discrete state. system. 2. 2. The memory system according to claim 1, wherein said detecting means detects a first direction or a second direction that may occur in the drift of the memory cell. 3. Means for restoring the memory cell in the one discrete state, wherein the means for restoring the detecting means and the first detected direction maintaining information bits corresponding to the one discrete state. 3. The memory system of claim 2, wherein the memory system is responsive to the second direction. 4. Each memory cell comprises a non-volatile memory cell for storing an amount of charge on a floating gate corresponding to the information bit; and The memory system of claim 1, further comprising circuit means for maintaining a charge amount, thereby avoiding a loss of said information bit in each memory cell. 5. The sustain circuit means adjusts the amount of charge between each nonvolatile memory cell and adjusts the amount of charge without first erasing almost all charge from the nonvolatile memory cell. 5. The memory system according to claim 4, wherein: 6. 5. The memory system according to claim 4, wherein said information bits in each memory cell include at least two bits. Means for generating at least 7.2 N reference values, wherein each memory cell can store any of 2 N discrete states corresponding to N bits of information; The memory system of claim 1, wherein the discrete state in the memory cell is detected by comparing with a reference value, and a drift in the discrete state is determined based on the reference value. 8. Determining the discrete state by sequentially comparing the discrete state and the reference value in an order determined by the detecting means and the reference value generating means in cooperation with each other; and 8. The memory system according to claim 7, wherein the drift in the one discrete state is determined with reference to: 9. The reference value comprises a first set and a second set; the detecting means detecting the one discrete state in response to the first set of reference values; Determining a drift in the discrete state in the memory cell in response to two sets of reference values; and determining a predetermined relationship between the second set of reference values and the first set of reference values. The memory system according to claim 7, comprising: 10. Means for restoring the memory cell in the discrete state in response to the detecting means, whereby information corresponding to the discrete state is retained in any of the plurality of memory cells. 10. The memory system of claim 9, wherein the memory system is enabled. 11. Should each memory cell accumulate the amount of charge representing the discrete state, and the detecting means should adjust the charge with the memory cell in order to retain the charge representing the discrete state. 8. The memory system according to claim 7, further comprising means for determining whether or not, and setting at least one status flag in response to the determination by said detecting means. 12. The memory system of claim 11, further comprising means for storing said at least one status flag in a storage associated with said memory cell. 13. The detecting means compares the discrete state with at least two reference values to determine whether the charge applied to the memory cell is sufficient or insufficient to restore the discrete state. The memory system according to claim 11, wherein: 14. A memory system, wherein the plurality of memory cells are arranged in an array, each memory cell storing an amount of charge corresponding to the information bit, the memory system being coupled to the memory cell array; A programming circuit for supplying a signal to a cell array to move electric charges between the memory cells, thereby causing the electric charges stored in the memory cells to correspond to the information bits; and generating a plurality of reference voltages. A reference voltage circuit, a comparator coupled to the memory cell array and the reference voltage circuit, and a control circuit coupled to the memory cell array, the reference voltage circuit, and the comparator. Wherein the control circuit detects the amount of charge and responds to information bits in each of the selected plurality of memory cells. 2. The memory system according to claim 1, wherein said plurality of selected memory cells in said memory cell array and said reference voltage circuit are connected to said comparator for the purpose of determining a drift in said charge amount. 15. The control circuit causes the programming circuit to adjust the charge in the selected plurality of memory cells in response to the drift determination, thereby avoiding loss of information bits in each memory cell. The integrated circuit according to claim 14, wherein: 16. The integrated circuit of claim 15, wherein the programming circuit adjusts the charge without first erasing substantially all of the charge from the plurality of memory cells. 17. The comparator compares a voltage responsive to the charge in each of the selected plurality of memory cells to a first set of reference voltages of the plurality of reference voltages, and Determining the digital information in each memory cell of the plurality of memory cells. The comparator responds to the charge in each of the selected plurality of memory cells with a second voltage of the plurality of reference voltages. Determining the drift in the charge amount of the charge corresponding to the digital information in comparison with a set of reference voltages, and wherein the control circuit controls the drift in the charge amount of the charge corresponding to the information bit. 15. The integrated circuit according to claim 14, wherein a status flag indicating the determination is set. 18. A method of operating an integrated circuit memory system having a plurality of memory cells, comprising: storing a charge in each memory cell in one of a plurality of discrete quantities each corresponding to an information bit; Restoring charge in said memory cell in response to drift in discrete quantities, thereby avoiding loss of information bits in said memory cell. 19. 19. The method of claim 18, further comprising detecting an amount of charge in each memory cell relative to a first sequence of reference values to determine the corresponding information bit for each memory cell. 20. The detecting step includes iteratively comparing a value corresponding to the charge amount with a reference value of the first sequence, wherein a reference value in one comparison step is determined by a result of a previous comparison step; Determining a drift in the amount of charge in each memory cell relative to a reference value in a sequence, and setting at least one status flag indicating a direction of the drift if such a drift determination step affirms the presence of the drift. 20. The method of claim 19, comprising the steps of: 21. 21. The method of claim 20, further comprising storing the at least one status flag in storage associated with the memory cell. 22. The drift determination step includes a step of repeatedly comparing a value corresponding to the charge amount with a reference value of the second sequence, wherein a reference value in one comparison step is determined by a result of a previous comparison step. 21. The method of claim 20, wherein: 23. 23. The method of claim 22, wherein each of the iterative comparison steps with the second sequence reference value is performed subsequent to any of the iterative comparison steps with the first sequence reference value. 24. The value corresponding to the charge amount and any of the reference values of the sequence depend on whether the corresponding information bits are all logic "1" or all logic "0". 21. The method of claim 20, further comprising comparing to a higher or lower reference value. 25. 21. The method of claim 20, wherein the plurality of discrete quantities for storing charge in each memory cell comprises 2 <N > and the comparing means is repeated at least N times.
JP53914497A 1996-04-30 1997-04-28 Stabilization circuit for multiple digital bits Expired - Lifetime JP3706146B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/640,367 1996-04-30
US08/640,367 US5815439A (en) 1996-04-30 1996-04-30 Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell
PCT/US1997/007152 WO1997041640A1 (en) 1996-04-30 1997-04-28 Stabilization circuits for multiple digital bits

Publications (2)

Publication Number Publication Date
JP2001508218A true JP2001508218A (en) 2001-06-19
JP3706146B2 JP3706146B2 (en) 2005-10-12

Family

ID=24567961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53914497A Expired - Lifetime JP3706146B2 (en) 1996-04-30 1997-04-28 Stabilization circuit for multiple digital bits

Country Status (9)

Country Link
US (2) US5815439A (en)
EP (1) EP0896763B1 (en)
JP (1) JP3706146B2 (en)
KR (1) KR100522561B1 (en)
CN (1) CN1126256C (en)
AT (1) ATE235094T1 (en)
DE (1) DE69719968T2 (en)
TW (1) TW345660B (en)
WO (1) WO1997041640A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524176A (en) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド Method and system for error correction in flash memory
JP2012109012A (en) * 2006-08-05 2012-06-07 Benhov Gmbh Llc Solid state storage element and method

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857099B1 (en) 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
JP3159105B2 (en) * 1997-02-21 2001-04-23 日本電気株式会社 Nonvolatile semiconductor memory device and writing method thereof
US6781883B1 (en) * 1997-03-20 2004-08-24 Altera Corporation Apparatus and method for margin testing single polysilicon EEPROM cells
JPH1139886A (en) * 1997-07-14 1999-02-12 Rohm Co Ltd Semiconductor memory
KR100292625B1 (en) * 1998-06-29 2001-07-12 박종섭 High speed interface device
US6282145B1 (en) 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6166962A (en) * 1999-06-24 2000-12-26 Amic Technology, Inc. Circuit and method for conditioning flash memory array
US6198662B1 (en) 1999-06-24 2001-03-06 Amic Technology, Inc. Circuit and method for pre-erasing/erasing flash memory array
US6211698B1 (en) * 1999-06-29 2001-04-03 Hyundai Electronics Industries Co., Ltd. High speed interface apparatus
KR20010004990A (en) 1999-06-30 2001-01-15 김영환 Flash EEPROM cell and method of manufacturing the same
KR20010005001A (en) 1999-06-30 2001-01-15 김영환 Method of manufacturing a flash memory cell
US6275417B1 (en) * 1999-10-08 2001-08-14 Aplus Flash Technology, Inc. Multiple level flash memory
US6259627B1 (en) * 2000-01-27 2001-07-10 Multi Level Memory Technology Read and write operations using constant row line voltage and variable column line load
US6219276B1 (en) * 2000-02-25 2001-04-17 Advanced Micro Devices, Inc. Multilevel cell programming
US6829571B1 (en) * 2000-06-15 2004-12-07 Hewlett-Packard Development Company, L.P. Method of determining DC margin of a latch
DE60102203D1 (en) * 2000-12-15 2004-04-08 St Microelectronics Srl Programming method for a multi-level memory cell
US6344994B1 (en) 2001-01-31 2002-02-05 Advanced Micro Devices Data retention characteristics as a result of high temperature bake
US6493261B1 (en) 2001-01-31 2002-12-10 Advanced Micro Devices, Inc. Single bit array edges
US6307784B1 (en) 2001-02-28 2001-10-23 Advanced Micro Devices Negative gate erase
US6456533B1 (en) 2001-02-28 2002-09-24 Advanced Micro Devices, Inc. Higher program VT and faster programming rates based on improved erase methods
US6442074B1 (en) 2001-02-28 2002-08-27 Advanced Micro Devices, Inc. Tailored erase method using higher program VT and higher negative gate erase
KR100391154B1 (en) * 2001-05-14 2003-07-12 삼성전자주식회사 method and apparatus for programming non-volatile semiconductor memory devices
US6512701B1 (en) 2001-06-21 2003-01-28 Advanced Micro Devices, Inc. Erase method for dual bit virtual ground flash
US6614695B2 (en) 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
JP4206683B2 (en) * 2002-03-27 2009-01-14 セイコーエプソン株式会社 Ferroelectric memory
US7051127B2 (en) * 2002-05-10 2006-05-23 Hewlett-Packard Development Company, L.P. Method and apparatus for selectively providing data pre-emphasis based upon data content history
US7242632B2 (en) * 2002-06-20 2007-07-10 Tokyo Electron Device Limited Memory device, memory managing method and program
EP1381057B1 (en) * 2002-07-10 2008-12-03 STMicroelectronics S.r.l. Line selector for a matrix of memory elements
US6856534B2 (en) * 2002-09-30 2005-02-15 Texas Instruments Incorporated Ferroelectric memory with wide operating voltage and multi-bit storage per cell
US6754103B2 (en) * 2002-11-04 2004-06-22 Silicon Storage Technology, Inc. Method and apparatus for programming and testing a non-volatile memory cell for storing multibit states
JP3935139B2 (en) 2002-11-29 2007-06-20 株式会社東芝 Semiconductor memory device
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
JP4713873B2 (en) * 2004-11-12 2011-06-29 株式会社東芝 Semiconductor memory device
KR100648254B1 (en) * 2004-12-01 2006-11-24 삼성전자주식회사 Non_volatile memory device being capable of reducing erase time and erase method thereof
US20070086244A1 (en) * 2005-10-17 2007-04-19 Msystems Ltd. Data restoration in case of page-programming failure
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103280239B (en) 2006-05-12 2016-04-06 苹果公司 Distortion estimation in memory device and elimination
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7539052B2 (en) * 2006-12-28 2009-05-26 Micron Technology, Inc. Non-volatile multilevel memory cell programming
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US7729165B2 (en) * 2007-03-29 2010-06-01 Flashsilicon, Incorporation Self-adaptive and self-calibrated multiple-level non-volatile memories
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
KR101378365B1 (en) * 2008-03-12 2014-03-28 삼성전자주식회사 Apparatus and method for hybrid detecting memory data
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7924613B1 (en) * 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR101882853B1 (en) * 2011-12-21 2018-08-27 에스케이하이닉스 주식회사 Semiconductor memory device and operating method thereof
US8797804B2 (en) 2012-07-30 2014-08-05 Micron Technology, Inc. Vertical memory with body connection
US9378830B2 (en) 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
KR102248276B1 (en) * 2014-05-26 2021-05-07 삼성전자주식회사 Operating method of storage device
US9548107B1 (en) * 2015-07-09 2017-01-17 Kabushiki Kaisha Toshiba Semiconductor memory device
US9753657B2 (en) * 2015-09-18 2017-09-05 Sandisk Technologies Llc Dynamic reconditioning of charge trapped based memory
US9928126B1 (en) 2017-06-01 2018-03-27 Apple Inc. Recovery from cross-temperature read failures by programming neighbor word lines
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771404A (en) * 1984-09-05 1988-09-13 Nippon Telegraph And Telephone Corporation Memory device employing multilevel storage circuits
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5293560A (en) * 1988-06-08 1994-03-08 Eliyahou Harari Multi-state flash EEPROM system using incremental programing and erasing methods
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US4989179A (en) * 1988-07-13 1991-01-29 Information Storage Devices, Inc. High density integrated circuit analog signal recording and playback system
US4890259A (en) * 1988-07-13 1989-12-26 Information Storage Devices High density integrated circuit analog signal recording and playback system
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5479170A (en) * 1992-10-16 1995-12-26 California Institute Of Technology Method and apparatus for long-term multi-valued storage in dynamic analog memory
US5258759A (en) * 1992-10-16 1993-11-02 California Institute Of Technology Method and apparatus for monotonic algorithmic digital-to-analog and analog-to-digital conversion
US5365486A (en) * 1992-12-16 1994-11-15 Texas Instruments Incorporated Method and circuitry for refreshing a flash electrically erasable, programmable read only memory
US5422842A (en) * 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
US5511020A (en) * 1993-11-23 1996-04-23 Monolithic System Technology, Inc. Pseudo-nonvolatile memory incorporating data refresh operation
GB9401227D0 (en) * 1994-01-22 1994-03-16 Deas Alexander R Non-volatile digital memory device with multi-level storage cells
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
GB9415539D0 (en) * 1994-08-02 1994-09-21 Deas Alexander R Bit resolution optimising mechanism

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524176A (en) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド Method and system for error correction in flash memory
US8473812B2 (en) 2006-01-20 2013-06-25 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8677215B2 (en) 2006-01-20 2014-03-18 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8856622B2 (en) 2006-01-20 2014-10-07 Marvell World Trade Ltd. Apparatus and method for encoding data for storage in multi-level nonvolatile memory
US9053051B2 (en) 2006-01-20 2015-06-09 Marvell World Trade Ltd. Multi-level memory controller with probability-distribution-based encoding
JP2012109012A (en) * 2006-08-05 2012-06-07 Benhov Gmbh Llc Solid state storage element and method

Also Published As

Publication number Publication date
EP0896763B1 (en) 2003-03-19
KR100522561B1 (en) 2006-01-27
CN1268261A (en) 2000-09-27
WO1997041640A1 (en) 1997-11-06
US5901089A (en) 1999-05-04
CN1126256C (en) 2003-10-29
TW345660B (en) 1998-11-21
EP0896763A4 (en) 2000-08-16
JP3706146B2 (en) 2005-10-12
KR20000065145A (en) 2000-11-06
DE69719968T2 (en) 2004-01-08
ATE235094T1 (en) 2003-04-15
DE69719968D1 (en) 2003-04-24
EP0896763A1 (en) 1999-02-17
US5815439A (en) 1998-09-29

Similar Documents

Publication Publication Date Title
JP2001508218A (en) Stabilization circuit for multiple digital bits
US9818486B2 (en) Fast secure erase in a flash system
JP6127200B2 (en) Error correction operation in memory devices
US9378830B2 (en) Partial reprogramming of solid-state non-volatile memory cells
US9224483B2 (en) Nonvolatile memory device, system and programming method with dynamic verification mode selection
JP4391941B2 (en) Method for reducing the effect of coupling between storage elements in adjacent rows of memory cells
JP3784163B2 (en) Nonvolatile semiconductor memory device
KR101222063B1 (en) Non volatile memory device and operating method thereof
US9001578B2 (en) Soft erasure of memory cells
US8243523B2 (en) Sensing operations in a memory device
JP4638544B2 (en) Method and apparatus for improved program verify operation in non-volatile memory
JPH11154394A (en) Multilevel non-volatile memory provided with error detection and correction
WO2013090003A1 (en) Non-volatile memory and method with improved first pass programming
US8553458B2 (en) Methods for segmented programming and memory devices
KR20080080511A (en) Method and apparatus for programming/erasing a non-volatile memory
CN110795270A (en) Solid state storage device and read retry method thereof
JP4270898B2 (en) Nonvolatile semiconductor memory device
US6668303B2 (en) Method for refreshing stored data in an electrically erasable and programmable non-volatile memory

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050728

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term