JP4912460B2 - Detecting individual size margin in nonvolatile memory read operation improvement and detection by compensation in selected state - Google Patents

Detecting individual size margin in nonvolatile memory read operation improvement and detection by compensation in selected state Download PDF

Info

Publication number
JP4912460B2
JP4912460B2 JP2009516620A JP2009516620A JP4912460B2 JP 4912460 B2 JP4912460 B2 JP 4912460B2 JP 2009516620 A JP2009516620 A JP 2009516620A JP 2009516620 A JP2009516620 A JP 2009516620A JP 4912460 B2 JP4912460 B2 JP 4912460B2
Authority
JP
Japan
Prior art keywords
volatile storage
storage element
state
level
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009516620A
Other languages
Japanese (ja)
Other versions
JP2009541910A (en
Inventor
輝彦 亀井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/425,111 external-priority patent/US7606084B2/en
Priority claimed from US11/425,116 external-priority patent/US7352628B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009541910A publication Critical patent/JP2009541910A/en
Application granted granted Critical
Publication of JP4912460B2 publication Critical patent/JP4912460B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/26Sensing or reading circuits; Data output 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
    • 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/10Programming or data input circuits
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Description

本発明は不揮発メモリのプログラムに関する。   The present invention relates to a program for nonvolatile memory.

半導体メモリ装置は、様々な電子装置に使用されることが一般的になっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及びその他の装置に使用されている。最も普及している不揮発性半導体メモリは、フラッシュEEPROMを含む電気的消去プログラム可能読取専用メモリ(EEPROM)と電気的プログラム可能読取専用メモリ(EPROM)である。   Semiconductor memory devices are commonly used in various electronic devices. For example, non-volatile semiconductor memories are used in mobile phones, digital cameras, personal digital assistants, mobile computers, non-mobile computers, and other devices. The most prevalent nonvolatile semiconductor memories are electrically erasable programmable read only memory (EEPROM) including flash EEPROM and electrically programmable read only memory (EPROM).

フラッシュメモリシステムの一例は、2個の選択ゲート間で直列に配置された複数のトランジスタを内蔵したNAND構造を使用する。直列のトランジスタと選択ゲートはNANDストリングと呼ばれる。図1は、1個のNANDストリングを示す平面図である。図2はその等価回路である。図1、図2に示すNANDストリングは、第1選択ゲート120と第2選択ゲート122の間で直列に配置された4個のトランジスタ100、102、104、106を備えている。選択ゲート120はNANDストリングをビットライン126に接続する。選択ゲート122はNANDストリングをソースライン128に接続する。選択ゲート120は、選択ラインSGDを介して制御ゲート120CGに適切な電圧を印加することで制御される。選択ゲート122は、選択ラインSGSを介して制御ゲート122CGに適切な電圧を印加することで制御される。各トランジスタ100、102、104、106は、メモリセルのゲート要素を形成する制御ゲートとフローティングゲートを有している。例えば、トランジスタ100は、制御ゲート100CGとフローティングゲート100FGを有している。トランジスタ102は、制御ゲート102CGとフローティングゲート102FGを有している。トランジスタ104は、制御ゲート104CGとフローティングゲート104FGを有している。トランジスタ106は、制御ゲート106CGとフローティングゲート106FGを有している。制御ゲート100CGはワードラインWL3に接続されており、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。   One example of a flash memory system uses a NAND structure that includes a plurality of transistors arranged in series between two select gates. The transistor in series and the select gate are called a NAND string. FIG. 1 is a plan view showing one NAND string. FIG. 2 is an equivalent circuit thereof. The NAND string shown in FIGS. 1 and 2 includes four transistors 100, 102, 104, and 106 arranged in series between a first selection gate 120 and a second selection gate 122. Select gate 120 connects the NAND string to bit line 126. Select gate 122 connects the NAND string to source line 128. The selection gate 120 is controlled by applying an appropriate voltage to the control gate 120CG via the selection line SGD. The selection gate 122 is controlled by applying an appropriate voltage to the control gate 122CG via the selection line SGS. Each transistor 100, 102, 104, 106 has a control gate and a floating gate that form the gate element of the memory cell. For example, the transistor 100 includes a control gate 100CG and a floating gate 100FG. The transistor 102 includes a control gate 102CG and a floating gate 102FG. The transistor 104 has a control gate 104CG and a floating gate 104FG. The transistor 106 includes a control gate 106CG and a floating gate 106FG. The control gate 100CG is connected to the word line WL3, the control gate 102CG is connected to the word line WL2, the control gate 104CG is connected to the word line WL1, and the control gate 106CG is connected to the word line WL0. Yes.

図1と2は、NANDストリング内の4個のメモリセルを示す。しかしながら、この4個のトランジスタは、単に一例として提供されていることに注意する。NANDストリングは、4個未満のメモリセルを有していてもよいし、4個よりも多いメモリセルを有していてもよい。例えば、NANDストリングが、8個、16個、32個、その他の個数のメモリセルを有していてもよい。ここでの説明は、NANDストリング内のメモリセルを特定の数に限定するものではない。   1 and 2 show four memory cells in a NAND string. However, note that the four transistors are provided as an example only. The NAND string may have less than four memory cells or may have more than four memory cells. For example, a NAND string may have 8, 16, 32, or other numbers of memory cells. The description here does not limit the number of memory cells in the NAND string to a specific number.

NAND構造を使用したフラッシュメモリシステムの一般的な構造は、複数のNANDストリングを有している。例えば、図3は、より多くのNANDストリングを有するメモリアレイのうちの3つのNANDストリング202、204、206を示している。図3の各NANDストリングは、2個の選択トランジスタまたはゲートと、4個のメモリセルを有している。例えば、NANDストリング202は、選択トランジスタ220、230と、メモリセル222、224、226、228を有している。NANDストリング204は、選択トランジスタ240、250と、メモリセル242、244、246、248を有している。各ストリングは、1つの選択ゲート(例えば選択ゲート230、250)によってソースラインに接続されている。選択ラインSGSは、ソース側の選択ゲートの制御に使用される。様々なNANDストリングが、選択ラインSGDによって制御される選択ゲート220、240等によって、各ビットラインに接続されている。他の実施形態においては、選択ラインは必ずしも共通化されている必要はない。ワードラインWL3は、メモリセル222、242の制御ゲートに接続されている。ワードラインWL2は、メモリセル224、244の制御ゲートに接続されている。ワードラインWL1は、メモリセル226、246の制御ゲートに接続されている。ワードラインWL0は、メモリセル228、248の制御ゲートに接続されている。図に見られるように、ビットラインと各NANDストリングはメモリセルアレイの列を備えている。ワードライン(WL3,WL2,WL1,WL0)はアレイの行を備えている。各ワードラインは、行内の各メモリセルの制御ゲートを接続している。例えば、ワードラインWL2は、メモリセル224、244、252の制御ゲートに接続されている。   A typical structure of a flash memory system using a NAND structure has a plurality of NAND strings. For example, FIG. 3 shows three NAND strings 202, 204, 206 in a memory array having more NAND strings. Each NAND string in FIG. 3 has two select transistors or gates and four memory cells. For example, the NAND string 202 includes select transistors 220 and 230 and memory cells 222, 224, 226 and 228. The NAND string 204 includes select transistors 240 and 250 and memory cells 242, 244, 246, and 248. Each string is connected to the source line by one select gate (eg select gates 230, 250). The selection line SGS is used to control the selection gate on the source side. Various NAND strings are connected to each bit line by select gates 220, 240, etc. controlled by select line SGD. In other embodiments, the selection lines are not necessarily shared. The word line WL3 is connected to the control gates of the memory cells 222 and 242. The word line WL2 is connected to the control gates of the memory cells 224 and 244. The word line WL1 is connected to the control gates of the memory cells 226 and 246. The word line WL0 is connected to the control gates of the memory cells 228 and 248. As can be seen, the bit lines and each NAND string comprise a column of memory cell arrays. Word lines (WL3, WL2, WL1, WL0) comprise array rows. Each word line connects the control gates of each memory cell in the row. For example, the word line WL2 is connected to the control gates of the memory cells 224, 244 and 252.

NAND型のフラッシュメモリ及びそれらの動作に関する例が、以下の米国特許/特許出願によって提供されている。米国特許第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第6,456,528号及び米国特許出願番号第09/893,277号(公報第US2003/0002348号)。これらの出願の全体は、参照することにより本明細書に組み込まれる。   Examples of NAND type flash memories and their operation are provided by the following US patents / patent applications. U.S. Patent No. 5,570,315, U.S. Patent No. 5,774,397, U.S. Patent No. 6,046,935, U.S. Patent No. 6,456,528 and U.S. Patent Application No. 09 / 893,277. (Publication No. US2003 / 0002348). The entirety of these applications is hereby incorporated by reference.

各メモリセルはデータ(アナログ又はデジタル)を記憶することができる。1ビットのデジタルデータを記憶する場合、典型的にバイナリメモリセルと呼ばれるメモリセルの使用可能な閾値電圧の範囲が、論理データ「1」と「0」に割り当てられた2つの範囲に分割される。NAND型フラッシュメモリの一例では、メモリセルの消去後に閾値電圧が負になり、論理「1」と定義される。プログラム動作後の閾値電圧は正になり、論理「0」と定義される。閾値電圧が負であり、制御ゲートに0ボルトが印加されて読み出し動作が試みられた場合、メモリセルがオンになり、論理1が記憶されていることを示す。閾値電圧が正であり、制御ゲートに0ボルトが印加されて読み出し動作が試みられた場合は、メモリセルはオンにならず、論理0が記憶されたことを示す。マルチ状態のメモリセルは、例えば、複数ビットのデジタルデータのような複数レベルの情報を記憶することもできる。複数レベルのデータを記憶する場合には、使用可能な閾値電圧の範囲が、多数のデータのレベルに分割される。例えば、4つのレベルの情報を記憶する場合には、データ値「11」,「10」,「01」,「00」の4つの閾値電圧範囲が割り当てられる。NAND型メモリの一例では、消去動作後の閾値電圧は負であり、「11」と定義される。異なる3個の正の閾値電圧が、「10」,「01」,「00」に使用される。メモリセル内にプログラムされたデータとセルの閾値電圧範囲の特定の関係性は、メモリセルに採用されたデータ符号化方式に依存する。例えば、2003年6月13日出願の米国特許第6,222,762号及び米国特許出願第10/461,244号の「Tracking Cells For A Memory System」(その両方が参照することにより本明細書に組み込まれる)は、マルチ状態フラッシュメモリセルのための多様なデータ符号化方式を説明している。さらに、本開示の実施形態は3ビット以上のデータを記憶するメモリセルに適用できる。   Each memory cell can store data (analog or digital). When storing 1-bit digital data, the usable threshold voltage range of a memory cell, typically called a binary memory cell, is divided into two ranges assigned to logic data “1” and “0”. . In an example of the NAND flash memory, the threshold voltage becomes negative after erasing the memory cell, and is defined as logic “1”. The threshold voltage after the program operation becomes positive and is defined as logic “0”. If the threshold voltage is negative and a read operation is attempted with 0 volts applied to the control gate, the memory cell is turned on, indicating that a logic 1 is stored. If the threshold voltage is positive and a read operation is attempted with 0 volts applied to the control gate, the memory cell is not turned on, indicating that a logic 0 has been stored. A multi-state memory cell can also store multiple levels of information such as, for example, multiple bits of digital data. When storing multiple levels of data, the usable threshold voltage range is divided into multiple levels of data. For example, when four levels of information are stored, four threshold voltage ranges of data values “11”, “10”, “01”, and “00” are assigned. In an example of the NAND memory, the threshold voltage after the erase operation is negative and is defined as “11”. Three different positive threshold voltages are used for “10”, “01”, and “00”. The specific relationship between the data programmed in the memory cell and the threshold voltage range of the cell depends on the data encoding scheme employed in the memory cell. For example, US Pat. No. 6,222,762 filed Jun. 13, 2003 and US Patent Application No. 10 / 461,244, “Tracking Cells For A Memory System” (both herein incorporated by reference). Describes various data encoding schemes for multi-state flash memory cells. Furthermore, the embodiment of the present disclosure can be applied to a memory cell that stores data of 3 bits or more.

EEPROMまたはフラッシュメモリ装置をプログラムすると、通常、プログラム電圧が制御ゲートに印加され、ビットラインが接地される。チャネルからの電子は、フローティングゲートに注入される。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、メモリセルの閾値電圧が上昇するので、メモリセルはプログラム状態である。フローティングゲートの電荷及びセルの閾値電圧は、記憶されたデータに対応するある特定の状態を示すことがある。プログラミングについての詳細は、2003年3月5日出願の米国特許出願第10/379,608号の「Self Boosting Technique」、及び2003年7月29日出願の米国特許出願第10/629,068号の「Detecting Over Programmed Memory」に記載されている。両方の出願とも参照することにより本明細書に組み込まれる。   When programming an EEPROM or flash memory device, a program voltage is typically applied to the control gate and the bit line is grounded. Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell increases, so the memory cell is in the programmed state. The charge of the floating gate and the threshold voltage of the cell may indicate a certain state corresponding to the stored data. For details on programming, see “Self Boosting Technique” in US patent application Ser. No. 10 / 379,608, filed Mar. 5, 2003, and US Patent Application No. 10 / 629,068, filed Jul. 29, 2003. In “Detecting Over Programmed Memory”. Both applications are incorporated herein by reference.

フローティングゲートに蓄えられる見かけ電圧のシフトは、隣接するフローティングゲートに蓄えられる電荷に基づいた電場の結合のために発生することがある。このフローティングゲート間結合現象は米国特許第5,867,429号に説明されており、その全体は参照することにより本明細書に組み込まれる。フローティングゲート間結合現象は、それに限らないが、異なるときにプログラムされた隣接メモリセルのセットの間で最も顕著に発生する。例えば、第1のメモリセルは、データのセットに対応するそのフローティングゲートに、電荷のあるレベルを追加するようにプログラムできる。以後、1個または複数の隣接メモリセルが、データのセットに対応するそれらのフローティングゲートに電荷のあるレベルを追加するようにプログラムされる。隣接メモリセルの1個または複数がプログラムされた後、第1のメモリセルから読み出される電荷レベルは、第1のメモリセルに結合される隣接メモリセル(複数の場合がある)上の電荷の影響のため、それがプログラムされたときとは違っているように見える。隣接メモリセルからの結合が、記憶されているデータの誤った読み出しにつながるほど十分な量で、選択されたメモリセルから読み出される見かけの電荷レベルをシフトする場合がある。   The apparent voltage shift stored in the floating gate may occur due to the coupling of electric fields based on the charge stored in the adjacent floating gate. This floating gate coupling phenomenon is described in US Pat. No. 5,867,429, the entirety of which is incorporated herein by reference. The floating-gate coupling phenomenon occurs most prominently between sets of adjacent memory cells programmed at different times, but not limited thereto. For example, the first memory cell can be programmed to add a level of charge to its floating gate corresponding to the set of data. Thereafter, one or more adjacent memory cells are programmed to add a level of charge to their floating gates corresponding to the set of data. After one or more of the adjacent memory cells are programmed, the charge level read from the first memory cell is affected by the charge on the adjacent memory cell (s) coupled to the first memory cell. Because of this, it looks different from when it was programmed. Coupling from adjacent memory cells may shift the apparent charge level read from the selected memory cell by an amount sufficient to lead to erroneous reading of stored data.

メモリセルのサイズが縮小し続けるに従って、短いチャネルの影響、より大きな酸化物の厚さ/結合率のバラツキ、及び多くのチャネルドーパントの変動のために、閾値電圧の本来のプログラミング及び消去分布が増大することが予想され、隣接状態間の利用可能な分離を減少させる。この影響は、2つの状態のみを用いるバイナリメモリよりもマルチ状態メモリの方がいっそう重大になる。ワードラインの間の間隔とビットラインの間の間隔の減少も、隣接フローティングゲート間の結合を増加させる。マルチ状態装置において許可されている閾値電圧範囲と禁止されている範囲(別々のメモリ状態を表す2つの異なる閾値電圧範囲間の範囲)はバイナリ装置においてよりさらに狭いので、フローティングゲート間結合の影響はマルチ状態装置にとってさらに大きな懸念である。従って、フローティングゲート間結合により、メモリセルが許可閾値電圧範囲から禁止範囲にシフトする場合がある。   As memory cell sizes continue to shrink, the inherent programming and erase distribution of threshold voltages increases due to short channel effects, larger oxide thickness / coupling ratio variations, and many channel dopant variations To reduce the available separation between adjacent states. This effect is more significant in multi-state memory than in binary memory using only two states. A reduction in spacing between word lines and bit lines also increases coupling between adjacent floating gates. Because the allowed threshold voltage range and the forbidden range in multi-state devices (range between two different threshold voltage ranges representing different memory states) are even narrower than in binary devices, the effect of coupling between floating gates is A greater concern for multi-state machines. Therefore, the memory cell may shift from the permitted threshold voltage range to the prohibited range due to coupling between floating gates.

従って、フローティングゲート結合の前述の問題を効果的に管理する不揮発性メモリについてのニーズがある。   Accordingly, there is a need for a non-volatile memory that effectively manages the aforementioned problems of floating gate coupling.

本明細書に説明される技術は、不揮発性メモリにおけるフローティングゲート結合の影響に対処しようとするものである。   The techniques described herein attempt to address the effects of floating gate coupling in non-volatile memory.

不揮発性メモリ読み出し動作は、メモリセルの見かけの閾値電圧がシフトした可能性があるときにフローティングゲート結合を補償できる。関心のあるメモリセルは、隣接メモリセルから読み出されるレベルの電荷に基づいて基準値を使用して読み出すことができる。隣接セルの読み違いは、特にプログラミング方法論において、及びさらに詳細にはそれらの方法論における特定の状態または電荷レベルについて隣接セルを読み出すときに、より大きな影響をもたらす可能性がある。一実施形態では、メモリセルは、隣接セルの読み違いがより支障を来たす特定の状態間に、さらに広いマージンを作り出すようにプログラムされる。さらに一実施形態において、メモリセルは、さらに広いマージンが作り出された場合の基準レベル等の他の基準レベルで読み出すときではなく、特定の基準レベルを読み出すときに、隣接セルの状態に基づいてフローティングゲート結合を補償することにより読み出される。   A non-volatile memory read operation can compensate for floating gate coupling when the apparent threshold voltage of the memory cell may have shifted. The memory cell of interest can be read using a reference value based on the level of charge read from adjacent memory cells. Misreading of neighboring cells can have a greater impact, especially in programming methodologies, and more particularly when reading neighboring cells for a particular state or charge level in those methodologies. In one embodiment, the memory cell is programmed to create a wider margin between certain conditions where misreading adjacent cells is more disruptive. Further, in one embodiment, the memory cell floats based on the state of the neighboring cell when reading a particular reference level, rather than when reading at a particular reference level, such as the reference level when a wider margin is created. Read by compensating for gate coupling.

一実施形態では、第1の不揮発性記憶要素を読み出す要求を受け取るのに応えて、第1の不揮発性記憶要素に隣接する第2の不揮発性記憶要素を読み出す不揮発性記憶装置を読み出す方法が提供される。第1の基準は、第1のプログラム状態と第2のプログラム状態間のレベルで第1の不揮発性記憶要素を読み出すために適用される。第2の基準は、第2のプログラム状態と第3のプログラム状態の間のレベルで第1の不揮発性記憶要素を読み出すために適用される。第1の不揮発性記憶要素のデータは、第1のレベルで第1の基準を適用した結果と、第2の不揮発性要素が物理状態の第1のサブセットにあるときに第2のレベルで第2の基準を適用した結果を使用して決定される。第2の不揮発性記憶要素が物理状態の第2のサブセットにあるとき、第1の不揮発性記憶要素のデータを決定することは、第1のレベルで第1の基準を適用した結果と、第3のレベルで第2の基準を適用した結果を使用する。   In one embodiment, a method of reading a non-volatile storage device that reads a second non-volatile storage element adjacent to a first non-volatile storage element in response to receiving a request to read the first non-volatile storage element is provided. Is done. The first criterion is applied to read the first non-volatile storage element at a level between the first program state and the second program state. The second criterion is applied to read the first non-volatile storage element at a level between the second program state and the third program state. The data of the first non-volatile storage element is the result of applying the first criterion at the first level and the second level when the second non-volatile element is in the first subset of the physical state. Determined using the result of applying the two criteria. Determining data for the first non-volatile storage element when the second non-volatile storage element is in the second subset of the physical state results from applying the first criterion at the first level, and Use the result of applying the second criterion at a level of 3.

一実施形態では、ともにプログラムされるメモリセルのセットからのメモリセルの第1のグループと、セットからのメモリセルの第2のグループと、セットからのメモリセルの第3のグループとを含む不揮発性メモリシステムが提供される。第1のグループは、閾値電圧の第1の範囲と関連付けられた第1のプログラム状態にプログラムされる。第2のグループは、閾値電圧の第2の範囲と関連付けられた第2のプログラム状態にプログラムされる。閾値電圧の第1の範囲と第2の範囲は、第1のプログラム状態と第2のプログラム状態の間に、第1のサイズの第1のマージンを定める。第3のグループは、閾値電圧の第3の範囲と関連付けられた第3のプログラム状態にプログラムされる。閾値電圧の第2の範囲と第3の範囲は、第2のプログラム状態と第1のサイズよりも小さい第2のサイズの第3のプログラム状態の間に、第2のマージンを定める。   In one embodiment, a non-volatile including a first group of memory cells from a set of memory cells that are programmed together, a second group of memory cells from the set, and a third group of memory cells from the set. A memory system is provided. The first group is programmed to a first program state associated with a first range of threshold voltages. The second group is programmed to a second program state associated with a second range of threshold voltages. The first range and the second range of threshold voltages define a first margin of a first size between the first program state and the second program state. The third group is programmed to a third program state associated with a third range of threshold voltages. The second range and the third range of threshold voltages define a second margin between the second program state and a third program state of a second size that is smaller than the first size.

開示された技術の実施形態の他の特長、態様、及び目的は、明細書、図及び請求項の検討から取得できる。   Other features, aspects, and objects of the disclosed technology embodiments can be obtained from a review of the specification, figures, and claims.

NANDストリングの平面図である。It is a top view of a NAND string. 図1のNANDストリングの等価回路図である。FIG. 2 is an equivalent circuit diagram of the NAND string of FIG. 1. 3つのNANDストリングを示す回路図である。It is a circuit diagram which shows three NAND strings. 不揮発性メモリシステムの一実施形態のブロック図である。1 is a block diagram of one embodiment of a non-volatile memory system. メモリアレイの例示的な構成を示す。2 illustrates an exemplary configuration of a memory array. 一実施形態に係るプログラム電圧信号を示す。Fig. 5 shows a program voltage signal according to one embodiment. 閾値電圧分布及びフルシーケンスプログラミングプロセスの例示的なセットを示す。Fig. 4 illustrates an exemplary set of threshold voltage distribution and full sequence programming processes. 閾値電圧分布及び2経路プログラミングプロセスの例示的なセットを示す。Fig. 4 illustrates an exemplary set of threshold voltage distribution and two-path programming processes. プログラム前の第1のワードラインに接続されるメモリセルのグループの例示的な閾値電圧分布を示す。Fig. 4 shows an exemplary threshold voltage distribution of a group of memory cells connected to a first word line before programming. プログラム後の図9Aの第1のワードラインに隣接する第2のワードラインに接続されるメモリセルのグループの例示的な閾値電圧分布を示す。FIG. 9B illustrates an exemplary threshold voltage distribution for a group of memory cells connected to a second word line adjacent to the first word line of FIG. 9A after programming. プログラム後の図9Aのメモリセルのグループの閾値電圧分布を示す。FIG. 9B shows the threshold voltage distribution of the group of memory cells of FIG. 図10Aに示されるメモリセルのグループをプログラムした後の、図9Bのメモリセルのグループの閾値電圧分布を示す。FIG. 10B shows the threshold voltage distribution of the group of memory cells of FIG. 9B after programming the group of memory cells shown in FIG. 10A. フローティングゲート結合を補償するために使用されるオフセット読み出し基準電圧とともに、図10Bのメモリセルの閾値分布を示す。FIG. 10B shows the threshold distribution of the memory cell of FIG. 10B along with the offset read reference voltage used to compensate for floating gate coupling. (A)から(C)は、メモリセルのグループと、フローティングゲート結合影響を削減するためにメモリセルの隣接グループのために前のページをプログラムした後のメモリセルのグループのためにデータの選択ページをプログラムするプログラミングプロセスのための例示的な閾値電圧分布を示す。(A) through (C) are the selection of data for a group of memory cells and a group of memory cells after programming a previous page for adjacent groups of memory cells to reduce floating gate coupling effects. Fig. 4 illustrates an exemplary threshold voltage distribution for a programming process for programming a page. 図12の(A)から(C)のプロセスに従ってプログラムされたメモリセルのフローティングゲート結合の影響と、フローティングゲート結合を補償するために使用される例示的な読み出し基準電圧を示す。FIG. 13 illustrates the effect of floating gate coupling on a memory cell programmed according to the process of FIGS. 12A-12C and an exemplary read reference voltage used to compensate for floating gate coupling. 図12の(A)から(C)のプロセスに従ってプログラムされたメモリセルのフローティングゲート結合の影響と、フローティングゲート結合を補償するために使用される例示的な読み出し基準電圧を示す。FIG. 13 illustrates the effect of floating gate coupling on a memory cell programmed according to the process of FIGS. 12A-12C and an exemplary read reference voltage used to compensate for floating gate coupling. 一実施形態によるプログラミング及び読み出し技法と、プログラミング技法に従ってプログラムされたメモリセルのグループの閾値電圧分布を示す。FIG. 6 illustrates a programming and reading technique according to one embodiment and a threshold voltage distribution for a group of memory cells programmed according to the programming technique. 選択メモリ状態の間にさらに大きなマージンを作り出すために、不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。6 is a flowchart describing one embodiment of a process for programming non-volatile memory to create a larger margin during a selected memory state. 選択メモリ状態の間にさらに大きなマージンを作り出すために、不揮発性メモリのプログラミングを検証するプロセスの一実施形態を説明するフローチャートである。6 is a flowchart describing one embodiment of a process for verifying programming of a non-volatile memory to create a larger margin during a selected memory state. 不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。3 is a flowchart illustrating one embodiment of a process for reading non-volatile memory. 不揮発性メモリセルから上側ページデータを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for reading upper page data from a non-volatile memory cell. 補償を使用しないでデータを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for reading data without using compensation. フローティングゲート結合の補償を使用しながらデータを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flow chart describing one embodiment of a process for reading data using floating gate coupling compensation. フローティングゲート結合の補償を使用して上側ページデータを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flow chart describing one embodiment of a process for reading upper page data using floating gate coupling compensation.

図4は、本開示の1つ又は複数の実施形態を実現するために使用できるフラッシュメモリシステムの一実施形態のブロック図である。他のシステム及び実施も使用することができる。メモリセルアレイ302は、列制御部304、行制御部306、cソース制御部310及びpウェル制御部308によって制御される。列制御部304は、メモリセルに記憶されたデータを読み出すため、プログラム動作中におけるメモリセルの状態を決定するため、及び、プログラミング及び消去を促進又は禁止するビットラインの電位レベルを制御するために、メモリセルアレイ302のビットラインに接続されている。行制御部306は、ワードラインを選択するため、読み出し電圧を印加するため、列制御部304により制御されたビットライン電位レベルと組み合わせたプログラム電圧を印加するため、及び、消去電圧を印加するために、ワードラインに接続されている。cソース制御部310は、メモリセルに接続されている共有ソースを制御する。pウェル制御部308はpウェル電圧を制御する。   FIG. 4 is a block diagram of one embodiment of a flash memory system that can be used to implement one or more embodiments of the present disclosure. Other systems and implementations can also be used. The memory cell array 302 is controlled by a column control unit 304, a row control unit 306, a c source control unit 310, and a p well control unit 308. The column controller 304 reads data stored in the memory cell, determines the state of the memory cell during a program operation, and controls the potential level of the bit line that promotes or inhibits programming and erasing. Are connected to the bit lines of the memory cell array 302. The row controller 306 selects a word line, applies a read voltage, applies a program voltage combined with a bit line potential level controlled by the column controller 304, and applies an erase voltage. Connected to the word line. The c source control unit 310 controls the shared source connected to the memory cell. The p well controller 308 controls the p well voltage.

メモリセルに記憶されたデータは、列制御部304によって読み出され、データ入力/出力バッファ312を介して外部I/Oラインへ出力される。メモリセルに記憶されるプログラムデータは、外部I/Oラインを介してデータ入力/出力バッファ312に入力され、列制御部304へ転送される。外部I/Oラインは、制御部318に接続されている。   Data stored in the memory cell is read by the column control unit 304 and output to the external I / O line via the data input / output buffer 312. Program data stored in the memory cell is input to the data input / output buffer 312 via the external I / O line and transferred to the column control unit 304. The external I / O line is connected to the control unit 318.

列制御部304は、検知動作を実行する1本または複数のビットラインと夫々関連付けられた複数の検出ブロック320を含むことがある。例えば、単一の検出ブロックは、8本のビットラインと関連付けられてよく、個々のビットラインのために1つの共通した部分と8つの別々の検出モジュールとを含んでよい。詳細については、2004年12月29日出願の米国特許出願第11/026,536号、「Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers」を参照すること。この出願の全体は参照することにより本明細書に組み込まれる。検出モジュール320は、接続されたビットラインの伝導電流または他のパラメータが所定の閾値レベルを超えているのか、あるいは下回っているのかを決定する。検出モジュールは、検出されたメモリセルに記憶されているデータを決定し、決定したデータをデータラッチスタック322の中に記憶できる。データラッチスタック322は、読み出し動作中に決定されるデータビットを記憶するために使用される。データラッチスタック322は、プログラム動作中にメモリの中にプログラムされるデータビットを記憶するためにも使用される。一実施形態では、各検出モジュール320のデータラッチスタック322は、3つのデータラッチを含む。また、検出モジュールは、接続されたビットラインで電圧状態を設定するために使用されるビットラインラッチも含むことがある。例えば、ビットラインラッチにラッチされた所定の状態により、接続されたビットラインはプログラム禁止を指定する状態(例えばVdd)に引かれることになる。   The column controller 304 may include a plurality of detection blocks 320 each associated with one or more bit lines that perform a sensing operation. For example, a single detection block may be associated with 8 bit lines and may include one common portion and 8 separate detection modules for individual bit lines. For details, see US Patent Application No. 11 / 026,536, filed December 29, 2004, “Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers”. The entirety of this application is incorporated herein by reference. The detection module 320 determines whether the conduction current or other parameter of the connected bit line is above or below a predetermined threshold level. The detection module can determine the data stored in the detected memory cell and store the determined data in the data latch stack 322. Data latch stack 322 is used to store data bits that are determined during a read operation. Data latch stack 322 is also used to store data bits that are programmed into memory during a program operation. In one embodiment, the data latch stack 322 of each detection module 320 includes three data latches. The detection module may also include a bit line latch that is used to set a voltage state on the connected bit line. For example, according to a predetermined state latched by the bit line latch, the connected bit line is pulled to a state (for example, Vdd) designating program prohibition.

フラッシュメモリ装置を制御するためのコマンドデータは、制御部318に入力される。コマンドデータは、どの動作が要求されたかをフラッシュメモリに通知する。入力コマンドは、制御回路315の一部である状態マシン316に転送される。状態マシン316は、列制御部304、行制御部306、cソース制御部310、pウェル制御部308、及びデータ入力/出力バッファ312を制御する。状態マシン316は、READY/BUSY又はPASS/FAILといった、フラッシュメモリの状態データを出力することもできる。   Command data for controlling the flash memory device is input to the control unit 318. The command data notifies the flash memory which operation is requested. Input commands are forwarded to a state machine 316 that is part of the control circuit 315. The state machine 316 controls the column controller 304, the row controller 306, the c source controller 310, the p-well controller 308, and the data input / output buffer 312. The state machine 316 can also output flash memory state data such as READY / BUSY or PASS / FAIL.

制御部318は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタント等のホストシステムに接続されているか、又は接続可能となっている。制御部318は、メモリアレイ302に対するデータの保存又は読み出しを行ったり、このようなデータの提供又は受信を行うコマンドを開始するホストと通信する。制御部318は、このようなコマンドを、制御回路315の一部である命令回路314によって読み取り、実行できるコマンド信号に変換する。命令回路314は、状態マシン316と通信している。一般的に、制御部318は、メモリアレイに対する書き込み又は読み出しが行われるユーザデータのためのバッファメモリを内蔵している。   The control unit 318 is connected to or connectable to a host system such as a personal computer, a digital camera, or a personal digital assistant. The controller 318 communicates with a host that initiates commands to store or read data from the memory array 302 and to provide or receive such data. The control unit 318 converts such a command into a command signal that can be read and executed by the instruction circuit 314 that is a part of the control circuit 315. Command circuit 314 is in communication with state machine 316. In general, the control unit 318 includes a buffer memory for user data to be written to or read from the memory array.

1つの例示的なメモリシステムは、制御部318を備えた1つの集積回路と、メモリアレイと関連する制御をそれぞれ備えた1つ又は複数の集積回路チップと、入力/出力状態マシン回路とを備えている。メモリアレイとシステムの制御部回路は、1つ又は複数の集積回路チップ上に一緒に搭載されることが多い。メモリシステムはホストシステムの一部として組み込まれてもよいし、ホストシステム内に取り外し可能に挿入されるメモリカード(若しくは他のパッケージ)内に内蔵されていてもよい。このようなカードは、メモリシステム全体(例えば、制御部を含む)や、関連する周辺回路を備えた(1または複数の)メモリアレイ(ホスト内に制御部又は制御機能が組み込まれたもの)を備えていてもよい。したがって、制御部は、ホスト内に組み込んだり、取り外し可能なメモリシステム内に搭載したりすることが可能である。   One exemplary memory system includes an integrated circuit with a controller 318, one or more integrated circuit chips, each with controls associated with the memory array, and input / output state machine circuits. ing. The memory array and system controller circuitry are often mounted together on one or more integrated circuit chips. The memory system may be incorporated as part of the host system, or may be incorporated in a memory card (or other package) that is removably inserted into the host system. Such a card may include an entire memory system (eg, including a controller) or a memory array (or controllers) with associated peripheral circuitry (a controller or control function incorporated within a host). You may have. Therefore, the control unit can be incorporated in the host or mounted in a removable memory system.

図5には、メモリセルアレイ302の構造の一例が示されている。一例として、1024個のブロックに区分されたNANDフラッシュEEPROMについて説明する。各ブロックに記憶されたデータは、同時に消去することができる。一実施形態では、ブロックが、同時に消去されるセルの最小単位である。メモリセルは、pウェルを消去電圧(例えば20ボルト)まで上昇させ、選択したブロックのワードラインを接地することにより消去される。ソースライン及びビットラインはフローティングしている。消去は、メモリアレイ全体、別々のブロック、またはセルの別の単位で実行できる。電子はフローティングゲートからpウェル領域に移動し、(一実施形態では)閾値電圧は負になる。   FIG. 5 shows an example of the structure of the memory cell array 302. As an example, a NAND flash EEPROM divided into 1024 blocks will be described. Data stored in each block can be erased simultaneously. In one embodiment, a block is the smallest unit of cells that are simultaneously erased. The memory cell is erased by raising the p-well to an erase voltage (eg, 20 volts) and grounding the word line of the selected block. The source line and bit line are floating. Erasing can be performed on the entire memory array, separate blocks, or another unit of cells. Electrons move from the floating gate to the p-well region and (in one embodiment) the threshold voltage becomes negative.

図5の例の各ブロックには、8,512列がある。各ブロックは、通常、プログラミングの単位となることがある多くのページに分割される。プログラミングのためのデータの他の単位も可能であり、考慮される。一実施形態では、個々のページがセグメントに分けられ、セグメントは、基本プログラミング動作として一度に書き込まれる最小数のセルを含んでよい。データの1つまたは複数のページは、一般的に、1行のメモリセルに記憶される。   Each block in the example of FIG. 5 has 8,512 columns. Each block is usually divided into a number of pages that can be a unit of programming. Other units of data for programming are possible and are contemplated. In one embodiment, individual pages are divided into segments, which may include the minimum number of cells that are written at one time as a basic programming operation. One or more pages of data are typically stored in a row of memory cells.

図5の例の各ブロックでは、偶数の列と奇数の列に分割された8,512の列がある。ビットラインは偶数ビットライン(BLe)と奇数ビットライン(BLo)に分割されている。奇数/偶数ビットラインアーキテクチャでは、共通のワードラインに沿っており奇数ビットラインに接続されているメモリセルは、一回でプログラムされる。一方、共通ワードラインに沿っており偶数ビットラインに接続されているメモリセルは、別のときにプログラムされる。図5は、直列で接続され、NANDストリングを形成している4つのメモリセルを示す。4つのセルが各NANDストリングに含まれていることが示されているが、4個より多い又は4個未満を使用することもできる(例えば、16、32又はその他の数)。NANDストリングの1つの端子は、第1の選択トランジスタ又はゲートを介して対応するビットライン(選択ゲートドレインラインSGD)に接続されている。別の端子は、第2の選択トランジスタを介してcソース(選択ゲートソースラインSGS)に接続されている。   In each block in the example of FIG. 5, there are 8,512 columns divided into even columns and odd columns. The bit lines are divided into even bit lines (BLe) and odd bit lines (BLo). In an odd / even bit line architecture, memory cells along a common word line and connected to an odd bit line are programmed at a time. On the other hand, the memory cells along the common word line and connected to the even bit lines are programmed at another time. FIG. 5 shows four memory cells connected in series to form a NAND string. Although four cells are shown to be included in each NAND string, more or less than four cells may be used (eg, 16, 32 or other numbers). One terminal of the NAND string is connected to the corresponding bit line (select gate drain line SGD) via the first select transistor or gate. Another terminal is connected to the c source (selection gate source line SGS) via the second selection transistor.

一実施形態では、読み出し及びプログラミング動作の間に、4,256個のメモリセルが同時に選択される。選択されたメモリセルは、同一のワードライン(例えばWL2)及び同型のビットライン(例えば偶数ビットライン)を有している。したがって、532バイトのデータを同時に読み出し又はプログラムすることができる。同時に読み出し又はプログラムされるこれらの532バイトのデータによって、論理ページが形成される。したがって、この例では、1つのブロックが少なくとも8ページを記憶できる。各メモリセルが2ビットのデータ(例えばマルチ状態セル)を記憶する場合、このようなブロックは16ページを記憶できる(つまり、例えば8ページのそれぞれが1064バイトを含む)。他のサイズのブロック及びページも実施形態として使用できる。一実施形態では、同時に選択されるメモリセルのセットが、複数のページのデータを記憶できる。   In one embodiment, 4,256 memory cells are simultaneously selected during read and programming operations. The selected memory cell has the same word line (for example, WL2) and the same type of bit line (for example, even bit line). Therefore, 532 bytes of data can be read or programmed simultaneously. These 532 bytes of data that are read or programmed at the same time form a logical page. Thus, in this example, one block can store at least 8 pages. If each memory cell stores 2 bits of data (eg, a multi-state cell), such a block can store 16 pages (ie, for example, each of the 8 pages contains 1064 bytes). Other sized blocks and pages can also be used as embodiments. In one embodiment, a set of simultaneously selected memory cells can store multiple pages of data.

図4及び図5以外のアーキテクチャは、実施形態に従って使用できる。一実施形態では、ビットラインは、偶数ビットラインと奇数ビットラインに分割されない。このようなアーキテクチャは、一般的には全ビットラインアーキテクチャと呼ばれる。全ビットラインアーキテクチャでは、ブロックの全ビットラインは、読み出し動作とプログラム動作の間に同時に選択される。共通のワードラインに沿っており任意のビットラインに接続されるメモリセルが、同時にプログラムされる。さまざまなビットラインアーキテクチャ及び関連する操作技法に関する詳細は、参照することにより本明細書に組み込まれる2005年4月5日出願の米国特許出願番号第11/099,133号、「Compensating for coupling during Read Operations of Non-Volatile Memory」に開示されている。   Architectures other than FIGS. 4 and 5 can be used in accordance with embodiments. In one embodiment, the bit lines are not divided into even bit lines and odd bit lines. Such an architecture is commonly referred to as an all bit line architecture. In an all bit line architecture, all the bit lines of a block are selected simultaneously between a read operation and a program operation. Memory cells along a common word line and connected to any bit line are programmed simultaneously. Details regarding various bit line architectures and associated manipulation techniques are described in US patent application Ser. No. 11 / 099,133, filed Apr. 5, 2005, “Compensating for coupling during Read,” which is incorporated herein by reference. It is disclosed in “Operations of Non-Volatile Memory”.

読み出し及び検証動作では、選択されたブロックの選択ゲートが1又は複数の選択電圧にまで上昇される一方で、選択されたブロックの選択されていないワードライン(例えばWL0,WL1,WL3)は読み出しパス電圧(例えば4.5ボルト)にまで上昇されて、トランジスタをパスゲートとして動作させる。選択されたブロックの選択されたワードライン(例えばWL2)は、基準電圧に接続される。この基準電圧のレベルは、対応するメモリセルの閾値電圧がこのレベルよりも高いか低いかを判定するために、各読み出し及び検証動作に対して指定されている。例えば、1ビットのメモリセルの読み出し動作では、閾値電圧が0Vよりも高いか否かを検出できるように、選択されたワードラインWL2は接地される。1ビットのメモリセルの検証動作では、例えば閾値電圧が0.8Vに達したか否かが検証されるプログラミングの進行に伴って、選択されたワードラインWL2は0.8Vに接続される。ソースとpウェルは、読み出し及び検証の間は0Vとされる。選択されたビットライン(BLe)は、例えば0.7Vのレベルにプレチャージされる。閾値電圧が読み出し又は検証レベルよりも高い場合には、関連する非伝導性メモリセルのために、対応するビットライン(BLe)の電位レベルは高レベルに維持される。これに対して、閾値電圧が読み出し又は検証レベルよりも低い場合には、伝導性メモリセルのために、対応するビットライン(BLe)の電位レベルが、例えば0.5V以下の低レベルにまで低下される。実施形態に従って、他の電流及び電圧検出技法を使用できる。マルチ状態セルのための読み出しまたは検出の間、状態マシン316は、多様なメモリ状態に対応する多様な所定の制御ゲート基準電圧を通る。検出モジュールは電圧の内の1つでトリップし、出力は検出モジュールから提供される。検出モジュール内のプロセッサは、トリップイベント(複数の場合がある)及び状態マシンから印加された制御ゲート電圧についての情報を検討することにより、結果として生じるメモリ状態を決定できる。メモリ状態のためのバイナリ符号化が計算され、データラッチに記憶される。   In a read and verify operation, the select gate of the selected block is raised to one or more select voltages, while unselected word lines (eg, WL0, WL1, WL3) of the selected block are read paths. Raised to a voltage (eg, 4.5 volts), causing the transistor to operate as a pass gate. A selected word line (eg, WL2) of the selected block is connected to a reference voltage. This reference voltage level is specified for each read and verify operation to determine whether the threshold voltage of the corresponding memory cell is higher or lower than this level. For example, in a read operation of a 1-bit memory cell, the selected word line WL2 is grounded so that it can be detected whether or not the threshold voltage is higher than 0V. In the verify operation of the 1-bit memory cell, for example, the selected word line WL2 is connected to 0.8V as the programming progresses to verify whether or not the threshold voltage has reached 0.8V. The source and p-well are at 0V during read and verify. The selected bit line (BLe) is precharged to a level of 0.7V, for example. If the threshold voltage is higher than the read or verify level, the potential level of the corresponding bit line (BLe) is kept high for the associated non-conductive memory cell. On the other hand, when the threshold voltage is lower than the read or verify level, the potential level of the corresponding bit line (BLe) decreases to a low level of, for example, 0.5 V or less due to the conductive memory cell. Is done. Other current and voltage sensing techniques can be used according to embodiments. During reading or detection for multi-state cells, state machine 316 passes through a variety of predetermined control gate reference voltages that correspond to a variety of memory states. The detection module trips on one of the voltages and an output is provided from the detection module. The processor in the detection module can determine the resulting memory state by examining information about the trip event (s) and the control gate voltage applied from the state machine. A binary encoding for the memory state is calculated and stored in the data latch.

プログラム動作及び検証動作の間、セルのセットにプログラムされるデータは、ビットラインごとのデータラッチ322のセットに記憶することができる。アドレス指定されたメモリセルの制御ゲートは、規模が大きくなるにつれて一連のプログラミングパルスを受け取る一方で、メモリのドレイン及びpウェルは0Vを受け取る。一実施形態では、一連の中のパルスの大きさは、12Vから24Vの範囲となる。他の実施形態では、範囲は、例えば12Vより高い開始レベルを有する等、異なる場合がある。プログラミングの間、検証動作はプログラミングパルスの間で実施される。並列でプログラムされている各セルのプログラムレベルは、それがプログラムされている状態にとっての検証レベルに到達したか否か、あるいは超えたか否かを判断するために、各プログラミングパルスの間で読み出される。検証レベルが、対応するメモリ状態におけるセルにとってのターゲット最小閾値電圧である場合がある。プログラミングを検証する1つの手段は、特殊な比較ポイントでの導通を試験する。十分にプログラムされていると検証されたセルは、追加のプログラミングを禁止するためにロックアウトされる。検証セルビットラインの電圧は、以後のプログラミングパルスの間0VからVdd(例えば2.5ボルト)に上げられ、それらのセルのためのプログラミングプロセスを終了する。いくつかのケースでは、パルスの数は限られており(例えば20パルス)、既定のメモリセルが最後のパルスによって十分にプログラムされていない場合、エラーが想定される。   During program and verify operations, data programmed into a set of cells can be stored in a set of data latches 322 for each bit line. The control gate of the addressed memory cell receives a series of programming pulses as it grows, while the drain and p-well of the memory receive 0V. In one embodiment, the magnitude of the pulses in the series ranges from 12V to 24V. In other embodiments, the range may be different, eg, having a starting level higher than 12V. During programming, a verify operation is performed between programming pulses. The program level of each cell programmed in parallel is read between each programming pulse to determine if it has reached or exceeded the verification level for the state being programmed. . The verification level may be the target minimum threshold voltage for the cell in the corresponding memory state. One means of verifying programming is to test continuity at special comparison points. Cells that are verified to be fully programmed are locked out to prevent additional programming. The voltage on the verify cell bit line is raised from 0V to Vdd (eg, 2.5 volts) during subsequent programming pulses, ending the programming process for those cells. In some cases, the number of pulses is limited (eg, 20 pulses) and an error is assumed if a given memory cell is not fully programmed by the last pulse.

図6は、一実施形態におけるプログラム電圧信号を示している。この信号は、上昇する1セットのパルスを有する。パルスの大きさは、各パルスと共に所定のステップサイズずつ上昇する。複数ビットのデータを記憶するメモリセルを備えた一実施形態では、例えば、ステップサイズは0.2ボルト(又は0.4ボルト)である。各プログラムパルスの間には検証パルスが存在する。図6の信号は、4つの状態のメモリセルを想定しているので、3つの検証パルスを有している。例えば、プログラミングパルス330とプログラミングパルス332の間には、3つの連続した検証パルスが存在する。第1検証パルス334は、0ボルトの検証電圧レベルとして示されている。第1検証パルスの後には、第2検証電圧レベルにある第2検証パルス336が存在する。第2検証パルス336の後には、第3検証電圧レベルにある第3検証パルス338が存在する。データを8個の状態に記憶することができるマルチ状態メモリセルは、7個の比較点について検証動作を実行する必要がある。そのため、2つの連続するプログラミングパルスの間で、7個の検証パルスが連続して印加されて、7個の検証動作を7個の検証レベルで実行する。7個の検証動作に基づいて、システムはメモリセルの状態を判定することができる。検証に要する時間的負担を軽減する1つの方法は、より効率的な検証処理を利用することである。このことは、例えば、2002年12月5日出願の米国特許出願第10/314,055号の「Smart Verify for Multi-State Memories」、2005年10月27日出願の米国特許出願第11/259,799号の「Method for Programming of Multi-State Non-Volatile Memory Using Smart Verify」、及び2005年10月27日出願の米国特許出願第11/260,658号の「Apparatus for Programming of Multi-State Non-Volatile Memory Using Smart Verify」に記載されている。それら全ては参照することにより本明細書に組み込まれる。   FIG. 6 shows the program voltage signal in one embodiment. This signal has a set of pulses that rise. The magnitude of the pulse increases by a predetermined step size with each pulse. In one embodiment with memory cells that store multiple bits of data, for example, the step size is 0.2 volts (or 0.4 volts). There is a verify pulse between each program pulse. Since the signal in FIG. 6 assumes a memory cell in four states, it has three verification pulses. For example, there are three consecutive verify pulses between the programming pulse 330 and the programming pulse 332. The first verify pulse 334 is shown as a verify voltage level of 0 volts. After the first verification pulse, there is a second verification pulse 336 at a second verification voltage level. After the second verification pulse 336, there is a third verification pulse 338 at a third verification voltage level. Multi-state memory cells that can store data in 8 states need to perform verify operations on 7 comparison points. Therefore, seven verification pulses are applied in succession between two consecutive programming pulses, and seven verification operations are performed at seven verification levels. Based on the seven verify operations, the system can determine the state of the memory cell. One way to reduce the time burden required for verification is to use a more efficient verification process. This is the case, for example, in US Patent Application No. 10 / 314,055 filed Dec. 5, 2002, “Smart Verify for Multi-State Memories”, US Patent Application No. 799, "Method for Programming of Multi-State Non-Volatile Memory Using Smart Verify", and US Patent Application No. 11 / 260,658, filed October 27, 2005, "Apparatus for Programming of Multi-State Non -Volatile Memory Using Smart Verify ". All of which are incorporated herein by reference.

上述した消去、読み出し、及び検証動作は公知の技術に応じて実施される。そのため、説明した詳細の多くは、当業者が変更することが可能である。   The above-described erase, read, and verify operations are performed according to known techniques. As such, many of the details described can be varied by one skilled in the art.

成功したプログラム処理の最後において、メモリセルの閾値電圧は、プログラムされたメモリセルのための閾値電圧の1つ以上の分布内、又は、必要に応じて消去されたメモリセルの閾値電圧の分布内になければならない。図7は、各メモリセルが2ビットのデータを記憶している場合の、メモリセルのグループの閾値電圧分布を示している。図7は、消去されたメモリセルのための第1閾値電圧分布E及びプログラムされたメモリセルの3つの閾値電圧分布A、B及びCを示す。一実施形態では、分布Eの閾値電圧は負であり、分布A、B、Cの閾値電圧は正である。   At the end of a successful programming process, the threshold voltage of the memory cell is within one or more distributions of threshold voltages for the programmed memory cells, or within the distribution of threshold voltages of the erased memory cells as needed. Must be. FIG. 7 shows a threshold voltage distribution of a group of memory cells when each memory cell stores 2-bit data. FIG. 7 shows a first threshold voltage distribution E for erased memory cells and three threshold voltage distributions A, B, and C for programmed memory cells. In one embodiment, the threshold voltage of distribution E is negative and the threshold voltages of distributions A, B, and C are positive.

図7の異なる閾値電圧範囲の夫々は、データビットのセットの所定の値に相当する。メモリセルの中にプログラムされるデータとセルの閾値電圧レベルの間の特殊な関係性は、セルのために採用されたデータ符号化方式に依存する。一実施形態では、フローティングゲートの閾値がその隣接する物理状態に誤ってシフトした場合に影響を受けるのが1ビットだけとなるように、データ値は、グレイコード割り当てを使用して閾値電圧範囲に割り当てられる。しかし、他の実施形態では、グレイコードは用いられない。一例は「11」を閾値電圧範囲E(状態E)、「10」を閾値電圧範囲A(状態A)、「00」を閾値電圧範囲B(状態B)、及び「01」を閾値電圧範囲C(状態C)に割り当てる。図7は4つの状態を示しているが、本開示の実施形態は、4つより多い、又は4つより少ない状態を含む他のマルチ状態構造を使用することもできる。   Each of the different threshold voltage ranges in FIG. 7 corresponds to a predetermined value of a set of data bits. The special relationship between the data programmed into the memory cell and the threshold voltage level of the cell depends on the data encoding scheme employed for the cell. In one embodiment, data values are placed in the threshold voltage range using Gray code assignment so that only one bit is affected if the floating gate threshold is erroneously shifted to its adjacent physical state. Assigned. However, in other embodiments, Gray code is not used. For example, “11” is the threshold voltage range E (state E), “10” is the threshold voltage range A (state A), “00” is the threshold voltage range B (state B), and “01” is the threshold voltage range C. Assign to (state C). Although FIG. 7 illustrates four states, embodiments of the present disclosure may use other multi-state structures that include more or less than four states.

図7は、メモリセルからデータを読み出すための3つの読み出し基準電圧Vra、Vrb及びVrcを示す。所定のメモリセルの閾値電圧がVra、Vrb及びVrcより高いか低いかをテストすることにより、システムは、メモリセルがどの状態にあるのかを判定することができる。メモリセルがVraで導通する場合には、メモリセルは状態Eにある。メモリセルがVrbとVrcで導通するが、Vraでは導通しない場合には、メモリセルは状態Aにある。メモリセルがVrcで導通するが、VraとVrbでは導通しない場合には、メモリセルは状態Bにある。メモリセルがVra、Vrb及びVrcで導通しない場合には、メモリセルは状態Cにある。図7は、互いから均等に離間された3つの検証基準電圧Vva、Vvb及びVvcも示す。メモリセルを状態Aにプログラムすると、システムは、それらのメモリセルがVvaをより大きい又はVvaに等しい閾値電圧を有するか否かを試験する。メモリセルを状態Bにプログラムすると、システムは、メモリセルがVvbより大きい又は等しい閾値電圧を有するか否かを試験する。メモリセルを状態Cにプログラムすると、システムは、メモリセルがVvcより大きい又はVvcに等しい閾値電圧を有するか否かを判断する。検証電圧は、特定の物理状態と禁止範囲の間に、割り当てられる閾値電圧の範囲を定める。検証レベルは、ある状態で最高の閾値電圧と次の状態で最低の閾値電圧の間で、十分なマージンを提供するために離間される。自然に発生するさらに大きなマージンは、消去状態Eと第1プログラム状態Aの間に存在する。   FIG. 7 shows three read reference voltages Vra, Vrb and Vrc for reading data from the memory cell. By testing whether the threshold voltage of a given memory cell is higher or lower than Vra, Vrb and Vrc, the system can determine which state the memory cell is in. If the memory cell is conducting at Vra, the memory cell is in state E. If the memory cell conducts at Vrb and Vrc but not at Vra, the memory cell is in state A. If the memory cell conducts at Vrc but not at Vra and Vrb, the memory cell is in state B. If the memory cell is not conducting at Vra, Vrb and Vrc, the memory cell is in state C. FIG. 7 also shows three verification reference voltages Vva, Vvb and Vvc that are equally spaced from each other. When programming memory cells to state A, the system tests whether those memory cells have a threshold voltage greater than or equal to Vva. When the memory cell is programmed to state B, the system tests whether the memory cell has a threshold voltage greater than or equal to Vvb. When programming a memory cell to state C, the system determines whether the memory cell has a threshold voltage greater than or equal to Vvc. The verification voltage defines an assigned threshold voltage range between a specific physical state and a prohibited range. The verification levels are spaced apart to provide sufficient margin between the highest threshold voltage in one state and the lowest threshold voltage in the next state. A larger margin that occurs naturally exists between the erased state E and the first programmed state A.

図7はさらに、フルシーケンスプログラミングを示す。フルシーケンスプログラミングでは、メモリセルが、消去状態Eからプログラム状態A、B、又はCのいずれかに直接的にプログラムされる。プログラムされるメモリセルの集団は、全てのメモリセルが消去状態Eになるように最初に消去されてよい。次に一連のプログラム電圧パルスが、状態A、B又はCに直接的にメモリセルをプログラムするために、選択されたメモリセルの制御ゲートに印加される。いくつかのメモリセルが状態Eから状態Aにプログラムされている一方、他のメモリセルは状態Eから状態Bに、及び/または状態Eから状態Cにプログラムされている。   FIG. 7 further illustrates full sequence programming. In full sequence programming, the memory cell is programmed directly from erased state E to either programmed state A, B, or C. The population of memory cells to be programmed may be erased first such that all memory cells are in erased state E. A series of program voltage pulses are then applied to the control gate of the selected memory cell to program the memory cell directly into state A, B or C. Some memory cells are programmed from state E to state A, while other memory cells are programmed from state E to state B and / or from state E to state C.

図8は、2つの異なるページ(下側ページと上側ページ)に対してデータを記憶するマルチ状態メモリセルをプログラムする2経路技法の一例を示している。状態E(11)、状態A(10)、状態B(00)及び状態C(01)の4つの状態が示されている。状態Eの場合、両方のページが「1」を記憶する。状態Aの場合、下側ページが「0」を記憶し、上側ページが「1」を記憶する。状態Bの場合、両方のページが「0」を記憶する。状態Cの場合、下側ページが「1」を記憶し、上側ページが「0」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることもできる。第1プログラミング経路では、セルの閾値電圧レベルは、下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「1」であれば、閾値電圧は、以前に消去された結果として適切な状態にあるので変更されない。しかし、プログラムされるビットが論理「0」であれば、矢印450で示したように、セルの閾値レベルは、状態Aになるように増大される。それは、第1プログラミング経路を結論付ける。   FIG. 8 shows an example of a two-pass technique for programming a multi-state memory cell that stores data for two different pages (a lower page and an upper page). Four states, state E (11), state A (10), state B (00), and state C (01) are shown. In state E, both pages store “1”. In the state A, the lower page stores “0” and the upper page stores “1”. In state B, both pages store “0”. In the state C, the lower page stores “1” and the upper page stores “0”. Although a specific bit pattern is assigned to each state, a different bit pattern can be assigned. In the first programming path, the threshold voltage level of the cell is set according to the bit programmed into the lower logical page. If the bit is a logic “1”, the threshold voltage is not changed because it is in the proper state as a result of being previously erased. However, if the bit being programmed is a logic “0”, the threshold level of the cell is increased to state A as indicated by arrow 450. It concludes the first programming path.

第2プログラミング経路では、セルの閾値電圧レベルは、上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「1」を記憶する場合、セルは下側ページビットのプログラミングに依存する状態E又はAの一方であり、どちらも上側ページビットは「1」を保持するので、プログラミングは生じない。上側ページビットが論理「0」となる場合、閾値電圧はシフトされる。第1経路によってセルが消去状態Eに留まっている場合、第2段階でセルをプログラムし、矢印454で示したように、閾値電圧が状態C内になるように増大させる。第1プログラミング経路の結果としてセルが状態A内にプログラムされている場合、メモリセルはさらに第2経路でプログラムされ、矢印452で示したように、閾値電圧が状態B内になるように増大させる。第2経路の結果は、下側ページ用のデータを変更することなく、上側ページに対して論理「0」を記憶するように指定した状態にセルをプログラムすることである。   In the second programming path, the threshold voltage level of the cell is set according to the bit programmed in the upper logical page. If the upper logical page bit stores a logic “1”, the cell is in one of states E or A depending on the programming of the lower page bit, both of which hold the “1” so the programming is Does not occur. If the upper page bit is a logic “0”, the threshold voltage is shifted. If the cell remains in erased state E by the first path, the cell is programmed in the second stage and the threshold voltage is increased to be in state C as indicated by arrow 454. If the cell is programmed in state A as a result of the first programming path, the memory cell is further programmed in the second path and the threshold voltage is increased to be in state B as indicated by arrow 452. . The result of the second path is to program the cell to a state that is designated to store logic “0” for the upper page without changing the data for the lower page.

一実施形態では、ページ全体を充填するのに十分なデータが書き込まれた場合、システムは、全シーケンス書き込みを実行するように設定される。全ページに対して十分ではないデータが書き込まれた場合、プログラミング処理は、受け取ったデータを用いて下側ページをプログラムすることができる。次のデータを受け取ったときに、システムは上側ページをプログラムする。さらに別の実施形態では、システムは、2経路技法を使用してデータの書き込みを開始し、それから、ワードラインのメモリセル全体(または大半)を充填するために十分なデータが続いて受け取られた場合にフルシーケンスプログラミングモードに変換することができる。このような実施形態のさらなる詳細は、発明者Sergy Anatolievich Gorobets及びYan Liの米国特許出願第11/013,125号、「Pipelined Programming of Non-Volatile Memories Using Early Data」、出願日2004年12月14日で開示されている。その全体は参照することによって本明細書に組み込まれる。   In one embodiment, if enough data is written to fill the entire page, the system is set to perform a full sequence write. If insufficient data has been written for all pages, the programming process can program the lower page with the received data. When the next data is received, the system programs the upper page. In yet another embodiment, the system starts writing data using a two-pass technique, and then enough data is subsequently received to fill the entire (or most) word line memory cells. Can be converted to full sequence programming mode. Further details of such an embodiment can be found in US Patent Application No. 11 / 013,125, “Pipelined Programming of Non-Volatile Memories Using Early Data”, inventors Sergy Anatolievich Gorobets and Yan Li, filing date December 14, 2004. Disclosed in the day. The entirety of which is incorporated herein by reference.

フローティングゲート結合は、読み出し中にエラー回復の実行を必要とする場合がある読み出し動作中に、回復不可能なエラーを引き起こすことがある。メモリセルのフローティングゲート上に蓄えられる電荷は、隣接メモリセルのフローティングゲートに蓄えられる電荷又は他の電荷蓄積領域(例えば、誘電電荷蓄積領域)からの電場結合によって、見かけのシフトを経験することがある。理論上、メモリアレイのメモリセルのフローティングゲート上の電荷からの電場は、アレイ内の他のメモリセルのフローティングゲートに結合できる。一方、その影響は、隣接メモリセルで最も顕著且つ注目される。隣接メモリセルは、同じビットライン上にある隣接メモリセル、同じワードライン上にある隣接メモリセル、又は隣接ビットラインと隣接ワードラインの両方の上にあり、従って対角方向で互いから隣接する隣接メモリセルを含んでよい。電荷の見かけのシフトは、メモリセルのメモリ状態を読み出すときにエラーを引き起こす可能性がある。   Floating gate coupling can cause unrecoverable errors during read operations that may require performing error recovery during read. The charge stored on the floating gate of a memory cell may experience an apparent shift due to electric field coupling from the charge stored on the floating gate of an adjacent memory cell or other charge storage region (eg, a dielectric charge storage region). is there. In theory, the electric field from the charge on the floating gates of the memory cells in the memory array can be coupled to the floating gates of other memory cells in the array. On the other hand, the influence is most noticeable and noticeable in the adjacent memory cells. Adjacent memory cells are adjacent memory cells that are on the same bit line, adjacent memory cells that are on the same word line, or both adjacent bit lines and adjacent word lines, and therefore adjacent to each other diagonally Memory cells may be included. The apparent shift of charge can cause errors when reading the memory state of the memory cell.

フローティングゲート結合の影響は、ターゲットメモリセルに隣接するメモリセルがターゲットメモリセルに続いてプログラムされる状況で最も顕著であるが、その影響は他の状況でも見られてもよい。隣接メモリセルのフローティングゲート上にかけられた電荷、又は電荷の一部は、事実上、電場結合を通してターゲットメモリセルに結合され、ターゲットメモリセルの閾値電圧の見かけのシフトを生じさせる。メモリセルの見かけの閾値電圧は、プログラムされた後、それがプログラムされることが意図されていたメモリ状態のメモリセルに予想されるように、印加された基準読み出し基準電圧の元でオンとオフ(伝導)しない程度にシフトできる。   The effect of floating gate coupling is most noticeable in situations where a memory cell adjacent to the target memory cell is programmed following the target memory cell, but the effect may also be seen in other situations. The charge, or part of the charge, applied on the floating gate of the adjacent memory cell is effectively coupled to the target memory cell through electric field coupling, causing an apparent shift in the threshold voltage of the target memory cell. The apparent threshold voltage of the memory cell is turned on and off under the applied reference read reference voltage as programmed, after it is expected for the memory cell in the memory state that it was intended to be programmed. It can be shifted to such an extent that it does not conduct.

通常、メモリセルの行は、ソース側選択ゲートラインに隣接するワードライン(WL0)で開始してプログラムされる。プログラミングは、先行するワードライン(WLn)のプログラミング(ワードラインの各セルをその最終状態にする)完了後に、少なくとも1ページのデータが隣接ワードライン(WLn+1)でプログラムされるように、ワードライン(WL1、WL2、WL3等)によってその後連続してセルのストリングの中を進む。このパターンのプログラミングは、フローティングゲート結合が原因でメモリセルがプログラムされた後に、メモリセルの閾値電圧の見かけのシフトを生じさせる。プログラムされるストリングスの最後のワードラインを除くワードラインごとに、関心のあるワードラインのプログラミング完了に続いて、隣接ワードラインがプログラムされる。隣接しており、後でプログラムされたワードライン上のメモリセルのフローティングゲートに付加される負の電荷は、関心のあるワードライン上のメモリセルの見かけの閾値電圧を上昇させる。   Normally, a row of memory cells is programmed starting with the word line (WL0) adjacent to the source side select gate line. The programming is performed on the word line (WLn + 1) so that at least one page of data is programmed on the adjacent word line (WLn + 1) after the programming of the preceding word line (WLn) is completed (making each cell of the word line its final state). WL1, WL2, WL3, etc.) then proceed sequentially through the string of cells. This pattern of programming causes an apparent shift in the threshold voltage of the memory cell after it has been programmed due to floating gate coupling. For each word line except the last word line of the programmed string, adjacent word lines are programmed following completion of programming of the word line of interest. A negative charge that is added to the floating gate of a memory cell on an adjacent and later programmed word line raises the apparent threshold voltage of the memory cell on the word line of interest.

図9Aから図10Bは、図7に示されるようにフルシーケンスプログラミングを使用してプログラムされたメモリセルのセットに対するフローティングゲート結合の影響を示す。図9Bは、プログラムされた後に選択されたワードラインWLnのメモリセルのセットの閾値電圧分布を示す。分布500は消去(プログラムされていない)状態EのWLnでのセルの実際の閾値電圧分布を示し、分布505は状態AにプログラムされたWLnでの実際の閾値電圧分布を示し、分布510は状態BにプログラムされたWLnでのセルの実際の閾値電圧分布を示し、分布520は状態CにプログラムされたWLnでのセルの実際の閾値電圧分布を示す。メモリセルのセットは、選択された行つまりワードラインWLnの各メモリセル、又はある特定のタイプのビットライン(偶数または奇数)に接続されたWLnのセルだけを含むことがある。図9Aは、プログラミング前の隣接ワードラインWLn+1のメモリセルの閾値電圧分布を示す。WLn+1のセルは、WLnのセルのプログラム後にプログラムされる。WLn+1での各セルは消去されるが、プログラムされていないので、それらはWLnのセルにフローティングゲート結合の悪影響を及ぼさない。さらに重要なことには、WLnのセルがプログラム中に検証されたレベルに等しい見かけの閾値電圧を有するように、それらは、WLnをプログラムしたときの状態と同じ状態である。   9A-10B illustrate the effect of floating gate coupling on a set of memory cells programmed using full sequence programming as shown in FIG. FIG. 9B shows the threshold voltage distribution of a set of memory cells on the word line WLn selected after being programmed. Distribution 500 shows the actual threshold voltage distribution of cells in WLn in erased (unprogrammed) state E, distribution 505 shows the actual threshold voltage distribution in WLn programmed in state A, and distribution 510 shows the state. B shows the actual threshold voltage distribution of the cell at WLn programmed to B, and distribution 520 shows the actual threshold voltage distribution of the cell at WLn programmed to state C. The set of memory cells may include only each memory cell in a selected row or word line WLn, or only cells in WLn connected to a certain type of bit line (even or odd). FIG. 9A shows the threshold voltage distribution of the memory cells in the adjacent word line WLn + 1 before programming. The WLn + 1 cell is programmed after the WLn cell is programmed. Each cell at WLn + 1 is erased, but since it is not programmed, they do not adversely affect the floating gate coupling on the WLn cells. More importantly, they are in the same state as when WLn was programmed so that the cells of WLn have an apparent threshold voltage equal to the level verified during programming.

図10Aは、プログラムされた後のWLn+1のメモリセルのセットの閾値電圧分布を示す。メモリセルは、消去された閾値電圧分布Eからプログラムされた閾値電圧分布A、B及びCにプログラムされている。ワードラインWLnをプログラムした後にワードラインWLn+1のメモリセルのフローティングゲートにかけられる電荷は、検出中にメモリシステムによって分かるように、WLのメモリセルのメモリ状態を変える可能性がある。ワードラインWLn+1のフローティングゲート上の電荷に関連付けられた電場は、ワードラインWLでのメモリセルのフローティングゲートに結合する。電場は、WLでのメモリセルの閾値電圧の見かけのシフトを引き起こす。 FIG. 10A shows the threshold voltage distribution of a set of WL n + 1 memory cells after being programmed. The memory cells are programmed to programmed threshold voltage distributions A, B and C from the erased threshold voltage distribution E. The charge applied to the floating gates of the memory cells on word line WL n + 1 after programming word line WLn can change the memory state of the memory cells on WL n as seen by the memory system during detection. The electric field associated with the charge on the floating gate of word line WL n + 1 is coupled to the floating gate of the memory cell on word line WL n . Electric field, causing a shift in the apparent threshold voltage of the memory cell at WL n.

図10Bは、WLn+1をプログラミングした後のワードラインWLのメモリセルの見かけの閾値電圧分布を示す。各プログラム状態は、4つの異なる対応する閾値電圧分布で示されている。各物理状態に対する全体的な分布は、ワードラインWLn+1での隣接メモリセルがプログラムされた状態に基づいて、4つの個々の分布に分類できる。状態Aにプログラムされた(同じビットライン上の)WLn+1に隣接メモリセルを有するワードラインWLの各メモリセルは、その見かけの閾値電圧のシフトの第1のレベルを経験する。状態BのWLn+1に隣接セルを有するWLの各セルは、見かけの閾値電圧の第2のより大きなシフトを経験する。状態CのWLn+1に隣接セルを有する各セルは、第3のさらに大きなシフトを経験する。 10B shows a threshold voltage distribution of the apparent memory cells of word line WL n after programming WL n + 1. Each program state is shown with four different corresponding threshold voltage distributions. The overall distribution for each physical state can be classified into four individual distributions based on the state in which adjacent memory cells on word line WL n + 1 are programmed. State A programmed into each memory cell of the word line WL n having the (same bit on line) WL n + 1 in the adjacent memory cell will experience a first level of shift in the threshold voltage of the apparent. Each cell in WL n that has an adjacent cell in state B WL n + 1 experiences a second, larger shift in apparent threshold voltage. Each cell with neighboring cells in state C WL n + 1 experiences a third, larger shift.

状態AのWLのセルの場合、分布502は、プログラミング後の消去状態Eに留まっていたワードラインWLn-1上に隣接メモリセルを有するそれらのセルの閾値電圧を示す。分布504は、状態AにプログラムされたワードラインWLn+1に隣接セルを有するセルの閾値電圧を示す。分布506は、状態BにプログラムされたワードラインWLn+1に隣接セルを有するセルの閾値電圧を示す。分布508は、状態CにプログラムされたワードラインWLn+1に隣接セルを有するメモリセルの閾値電圧を示す。 For the WL n cells in state A, distribution 502 shows the threshold voltages of those cells having adjacent memory cells on word line WL n−1 that remained in the erased state E after programming. Distribution 504 shows the threshold voltage of cells having adjacent cells on word line WL n + 1 programmed to state A. Distribution 506 shows the threshold voltage of cells having adjacent cells on word line WL n + 1 programmed to state B. Distribution 508 shows the threshold voltages of memory cells having adjacent cells on word line WL n + 1 programmed to state C.

他の状態にプログラムされたWLのメモリセルは、類似した結合影響を経験する。従って、4つの個々の閾値電圧分布は、状態B及び状態Cについても示している。状態BにプログラムされたワードラインWLのメモリセルは、ワードラインWLn+1の隣接メモリセルの後にプログラムされた状態に基づいて、4つの異なる閾値電圧分布512、514、516、及び518を有すると考えられる。状態CにプログラムされたWLのメモリセルは、同様に4つの異なる分布522、524、526及び528を有する。結合影響は、WLの消去されたメモリセルによっても経験されることに注意すべきである。消去状態Eと状態Aの間で本来発生するマージンは、消去セルを読み出す際にシフトがエラーを引き起こさないほど十分であるためシフトは示されていない。しかしながら、影響は存在し、開示されている技法がそれらにも対処できる。 WL n memory cells programmed to other states will experience similar coupling effects. Thus, the four individual threshold voltage distributions are also shown for state B and state C. A memory cell in word line WL n programmed to state B has four different threshold voltage distributions 512, 514, 516, and 518 based on the state programmed after the adjacent memory cell in word line WL n + 1. Conceivable. Memory cells programmed WL n to state C likewise have four different distributions 522, 524, 526 and 528. Binding effect, it should be noted that experienced by the erased memory cells of WL n. Since the margin that originally occurs between erased state E and state A is sufficient that the shift does not cause an error when reading the erased cell, the shift is not shown. However, there are implications and the disclosed techniques can handle them as well.

メモリセルの見かけの閾値電圧の上昇が、読み出しエラーを引き起こすことがある。図10Bに示されているように、最初に状態AにプログラムされたWLのいくつかのメモリセルは、読み出し基準電圧レベルVrbを超えてその閾値電圧をシフトさせることがある。これにより、読み出し時にエラーが生じることがある。読み出し基準電圧Vrbが印加された状態において、これらのメモリセルは、それらがたとえ状態Aにプログラムされているとしても導通しない可能性がある。状態マシン及び制御部は、(Vrbが印加された状態で導通を検出しなかった後に)メモリセルが状態Aよりむしろ状態Bにあると決定するかもしれない。状態Bに最初にプログラムされたWLのいくつかのメモリセルは、読み出し基準電圧Vrcを超えてシフトし、同様に読み出しエラーを生じさせることもある。 An increase in the apparent threshold voltage of the memory cell may cause a read error. As shown in FIG. 10B, some memory cells in WL n that are initially programmed to state A may shift their threshold voltages beyond the read reference voltage level Vrb. As a result, an error may occur during reading. In the state where the read reference voltage Vrb is applied, these memory cells may not conduct even if they are programmed to state A. The state machine and controller may determine that the memory cell is in state B rather than state A (after not detecting conduction with Vrb applied). Some memory cells in WL n that are initially programmed to state B may shift beyond the read reference voltage Vrc and cause read errors as well.

図11は、図10Bに示されている閾値電圧の見かけのシフトのいくつかに対処するために使用できる読み出し技法を示す。図11では、図10Bで示されているWLでのセルの各状態の4つの分布が、メモリセルの集団に対する結合の累積的な影響を表す分布530、540、及び550に要約されている。分布530はWLn+1をプログラムした後の状態AのWLのセルを表し、分布540はWLn+1をプログラムした後の状態BのWLのセルを表し、分布550はWLn+1をプログラムした後の状態CのWLnのセルを表す。分布530は個々の分布502から508を含み、分布504は個々の分布512から518を含み、分布550は個々の分布522から528を含む。 FIG. 11 illustrates a read technique that can be used to address some of the apparent shifts in threshold voltage shown in FIG. 10B. In FIG. 11, the four distributions of each state of the cell at WL n shown in FIG. 10B are summarized in distributions 530, 540, and 550 that represent the cumulative effect of coupling on the population of memory cells. . Distribution 530 represents the cells of WL n state A after programming the WL n + 1, distribution 540 represents the cells of WL n state B after programming the WL n + 1, the state after distribution 550 has been programmed to WLn + 1 C represents a cell of WLn. Distribution 530 includes individual distributions 502 to 508, distribution 504 includes individual distributions 512 to 518, and distribution 550 includes individual distributions 522 to 528.

ワードラインWLのデータを読み出す場合、ワードラインWLn+1のデータも読み出すことができる。ワードラインWLn+1のデータがWLでデータを阻害した場合、WLのための読み出しプロセスが、その阻害を補償することができる。例えば、ワードラインWLを読み出す場合、ワードラインWLn+1のメモリセルの状態又は電荷レベル情報は、ワードラインWLの個々のメモリセルを読み出すための適切な読み出し基準電圧を選択するために決定できる。図11は、ワードラインWLn+1の隣接メモリセルの状態に基づいてWLを読み出すための個々の読み出し基準電圧を示す。一般的には、公称読み出し基準電圧に対するさまざまなオフセット(例えば0V、0.1V、0.2V、0.3V)が使用され、別のオフセットで検出した結果が、隣接ワードライン上のメモリセルの状態の関数として選択される。一実施形態では、ワードラインWLのメモリセルは、異なる読み出し基準電圧のそれぞれを使用して検出される。既定されたメモリセルの場合、読み出し基準電圧の内の適切な1つでの検出の結果は、ワードラインWLn+1の隣接メモリセルの状態に基づいて選択できる。いくつかの実施形態では、WLn+1のための読み出し動作は、WLn+1で記憶される実際のデータを決定する。一方、他の実施形態では、WLn+1のための読み出し動作は、これらのセルの電荷レベルしか決定せず、WLn+1で記憶されるデータを正確に反映する場合もあれば、しない場合もある。いくつかの実施形態では、WLn+1を読み出すために使用されるレベル及び/又はレベルの数は、WLを読み出すために使用されるものとまったく同じではない可能性がある。いくつかの実装形態におけるWL訂正目的には、フローティングゲート閾値の何らかの近似で十分な場合がある。一実施形態では、WLn+1を読み出した結果は、WLnを読み出すときに使用される各ビットラインのラッチ322に記憶できる。 When reading the data on the word line WL n, the data on the word line WL n + 1 can also be read. When the word line WL n + 1 of the data is inhibited data WL n, read process for WL n is able to compensate for the inhibition. For example, when reading word line WL n, state or charge level information of the word line WL n + 1 of the memory cell can be determined to select appropriate read reference voltages for reading individual memory cells of word line WL n . FIG. 11 shows individual read reference voltages for reading WL n based on the state of adjacent memory cells on word line WL n + 1 . In general, various offsets (eg, 0V, 0.1V, 0.2V, 0.3V) with respect to the nominal read reference voltage are used, and the result detected at another offset is the result of the memory cell on the adjacent word line. Selected as a function of state. In one embodiment, the memory cells of word line WL n are detected using each of the different read reference voltages. In the case of a predetermined memory cell, the result of detection at the appropriate one of the read reference voltages can be selected based on the state of the adjacent memory cell on word line WL n + 1 . In some embodiments, the read operation for WL n + 1 determines the actual data stored at WLn + 1. On the other hand, in other embodiments, the read operation for WL n + 1 only determines the charge level of these cells and may or may not accurately reflect the data stored in WL n + 1 . In some embodiments, the level and / or number of levels used to read WL n + 1 may not be exactly the same as that used to read WL n . The WL n correction purposes in some implementations, may be sufficient for some approximation of the floating gate threshold. In one embodiment, the result of reading WLn + 1 can be stored in a latch 322 for each bit line used when reading WLn.

読み出し動作は、最初に、結合影響を補償しない公称読み出し基準電圧レベルVra、Vrb及びVrcの関心のあるワードラインWLnのために実行できる。公称基準レベルで読み出した結果は、WLn+1の近隣セルが状態Eにあると判断されたメモリセルでビットライン用の適切なラッチに記憶される。他のビットラインの場合、データは無視され、WLn+1データが維持される。次に読み出し動作が、読み出された基準電圧に対するオフセットの第1のセットを使用して、ワードラインWLnに実行される。読み出しプロセスは、Vra1(Vra+0.1V)、Vrb1(Vrb+0.1V)、及びVrc1(Vrc+0.1V)を使用できる。これらの基準値を使用した結果は、状態AのWLn+1に隣接メモリセルを有するメモリセルのビットラインのために記憶される。次に、読み出し動作は、読み出し基準レベルVra2(Vra+0.2V)、Vrb2(Vrb+0.2V)及びVrc2(Vrc+0.2V)を使用してオフセットの第2のセットで実行される。結果は、状態BのWLn+1の近傍のメモリセルでビットライン用のラッチに記憶される。読み出し動作は、基準レベルVra3(Vra+0.3V)、Vrb3(Vrb+0.3V)、及びVrc3(Vrc+0.3V)を使用してオフセットの第3のセットでワードラインWLのために実行され、結果は、状態CのWLn+1に隣接セルとメモリセルを有するそれらのビットラインのために記憶される。いくつかの実施形態では、状態Eと状態Aの間のより大きな本来のマージンにために、Vraではオフセットは使用されない。このような実施形態は、単一の読み出し基準電圧Vraが状態Aレベルで示されている図11に示されている。他の実施形態はこのレベルに対してもオフセットを使用してよい。 A read operation can initially be performed for the word line WLn of interest for nominal read reference voltage levels Vra, Vrb and Vrc that do not compensate for coupling effects. The result read at the nominal reference level is stored in the appropriate latch for the bit line in the memory cell in which the neighboring cell of WLn + 1 is determined to be in state E. For the other bit lines, the data is ignored and WLn + 1 data is maintained. A read operation is then performed on the word line WLn using a first set of offsets relative to the read reference voltage. The read process can use Vra1 (Vra + 0.1V), Vrb1 (Vrb + 0.1V), and Vrc1 (Vrc + 0.1V). The result of using these reference values is stored for the bit line of the memory cell having an adjacent memory cell in state A WL n + 1 . Next, a read operation is performed with a second set of offsets using read reference levels Vra2 (Vra + 0.2V), Vrb2 (Vrb + 0.2V) and Vrc2 (Vrc + 0.2V). The result is stored in the bit line latch in the memory cell near WL n + 1 in state B. Read operation, the reference level Vra3 (Vra + 0.3V), Vrb3 (Vrb + 0.3V), and using Vrc3 (Vrc + 0.3V) is performed for the word line WL n in the third set of offsets, the result is , Stored in state C WL n + 1 for those bit lines with adjacent cells and memory cells. In some embodiments, no offset is used in Vra because of the larger native margin between state E and state A. Such an embodiment is illustrated in FIG. 11 where a single read reference voltage Vra is shown at the state A level. Other embodiments may use an offset for this level as well.

公称読み出し基準電圧に対するさまざまなオフセットは、隣接ワードライン上のメモリセルの状態の関数として選択することができる。例えば、オフセット値のセットは、状態Eの隣接セルに対応する0Vオフセット、状態Aの隣接セルに対応する0.1Vオフセット、状態Bの隣接セルに対応する0.2Vオフセット、及び状態Cの隣接セルに対応する0.3Vオフセットを含む。オフセット値は、実装形態に従って変化する。一実施形態では、オフセット値は、対応する状態にプログラムされている隣接セルから生じる見かけの閾値電圧のシフト量に等しい。例えば、0.3Vは、WLn+1の隣接セルがその後状態Cにプログラムされる場合、WLのセルの見かけ閾値電圧のシフトを表してよい。オフセット値は、あらゆる基準電圧に対して同じである必要はない。例えば、Vrb基準電圧のオフセット値は、0V、0.1V、0.2V及び0.3Vであってよい。一方、Vrc基準電圧のオフセット値は、0V、0.15V、0.25V及び0.35Vであってよい。さらに、オフセットの増加分は、あらゆる状態で等しくなくてもよい。例えば、一実施形態でのオフセットのセットが、それぞれ状態E、A、B及びCの隣接セルに対して、0V、0.1V、0.3V及び0.4Vを含むことがある。 Various offsets relative to the nominal read reference voltage can be selected as a function of the state of the memory cells on adjacent word lines. For example, the set of offset values may be 0V offset corresponding to state E neighbor cells, 0.1V offset corresponding to state A neighbor cells, 0.2V offset corresponding to state B neighbor cells, and state C neighbors. Includes a 0.3V offset corresponding to the cell. The offset value varies according to the implementation. In one embodiment, the offset value is equal to the apparent threshold voltage shift amount resulting from neighboring cells being programmed to the corresponding state. For example, 0.3V, when the neighboring cells of WL n + 1 is programmed to then state C, the may represent a shift in the apparent threshold voltage of the cell of WL n. The offset value need not be the same for every reference voltage. For example, the offset value of the Vrb reference voltage may be 0V, 0.1V, 0.2V, and 0.3V. On the other hand, the offset value of the Vrc reference voltage may be 0V, 0.15V, 0.25V and 0.35V. Furthermore, the increment in offset need not be equal in every state. For example, the set of offsets in one embodiment may include 0V, 0.1V, 0.3V, and 0.4V for neighboring cells in states E, A, B, and C, respectively.

一実施形態では、既定の状態の複数の個々の読み出し基準レベルで読み出し、隣接メモリセルの状態に基づいて結果を選択することによって、フローティングゲート電荷の結合の影響を、約50パーセント削減すると期待できる。検出モジュールにより読み取られるようにメモリセルのワードラインの閾値電圧分布は、これらの技法を使用して、効率的に約50パーセント狭くすることができる。   In one embodiment, the effect of floating gate charge coupling can be expected to be reduced by about 50 percent by reading at a plurality of individual read reference levels in a predetermined state and selecting the result based on the state of the adjacent memory cell. . The threshold voltage distribution of the word line of the memory cell as read by the detection module can be effectively narrowed by about 50 percent using these techniques.

不揮発性メモリのためのプログラミングプロセスを構造化し、フローティングゲート結合から閾値電圧の見かけのシフトを削減することができる。図12Aから12Cは、特定のメモリセルについて、前のページに隣接するメモリセルへの書き込みに続いて特定のページに関してその特定のメモリセルに書き込むことによって、フローティングゲート間結合を削減する不揮発性メモリをプログラムするプロセスを開示する。図12Aから12Cの例では、各セルは、4個のデータ状態を使用して、メモリセルあたり2ビットのデータを記憶する。消去状態Eはデータ11を記憶し、状態Aはデータ01を記憶し、状態Bはデータ10を記憶し、状態Cはデータ00を記憶する。物理データ状態へのデータの他の符号化も使用できる。各メモリセルは、データの2つの論理ページの一部を記憶する。参照のために、これらのページは上側ページと下側ページと呼ばれるが、他のラベルが与えられてもよい。状態Aは、上側ページのためにビット0を、下側ページのためにビット1を記憶するために符号化される。状態Bは、上側ページのためにビット1を、下側ページのためにビット0を記憶するために符号化される。状態Cは、両方のページのためにビット0を記憶するために符号化される。ワードラインWLnのメモリセルのための下側ページデータは図12Aに示される第1のステップでプログラムされ、セルの上側ページデータは図12Cに示される第2のステップでプログラムされる。下側ページデータが特定のセルのためにデータ1に留まらなければならない場合、セルの閾値電圧は、第1のステップの間状態Eに留まる。データが0にプログラムされなければならない場合、メモリセルの閾値電圧は、状態B’に上がる。状態B’は、Vvbより低い検証レベルVvb’を有する暫定的な状態Bである。   The programming process for non-volatile memory can be structured to reduce the apparent shift in threshold voltage from floating gate coupling. 12A-12C illustrate non-volatile memory that reduces coupling between floating gates for a particular memory cell by writing to that particular memory cell for a particular page following a write to a memory cell adjacent to the previous page. The process of programming is disclosed. In the example of FIGS. 12A-12C, each cell uses two data states to store 2 bits of data per memory cell. The erase state E stores data 11, state A stores data 01, state B stores data 10, and state C stores data 00. Other encodings of data into physical data states can also be used. Each memory cell stores a portion of two logical pages of data. For reference, these pages are called the upper and lower pages, but other labels may be given. State A is encoded to store bit 0 for the upper page and bit 1 for the lower page. State B is encoded to store bit 1 for the upper page and bit 0 for the lower page. State C is encoded to store bit 0 for both pages. The lower page data for the memory cells in word line WLn is programmed in the first step shown in FIG. 12A, and the upper page data for the cell is programmed in the second step shown in FIG. 12C. If the lower page data must remain at data 1 for a particular cell, the cell's threshold voltage remains in state E during the first step. If the data has to be programmed to 0, the threshold voltage of the memory cell goes up to state B '. The state B ′ is a provisional state B having a verification level Vvb ′ lower than Vvb.

一実施形態では、メモリセルの下側ページデータがプログラムされた後、隣接ワードラインWLn+1の隣接メモリセルが、その下側ページに対してプログラムされる。例えば、図3のWL2のメモリセルの下側ページは、WL1でのメモリセルのための下側ページの後にプログラムされてよい。メモリセル224の閾値電圧がメモリセル226をプログラムした後に状態Eから状態B’に上昇する場合、フローティングゲート結合は、メモリセル226の見かけの閾値電圧を上昇させてよい。WLnのメモリセルに対する累積的な結合影響は、図12Bに示されるように、セルの閾値電圧の見かけの閾値電圧分布を広げる。閾値電圧分布の見かけの拡大は、関心のあるワードラインの上側ページをプログラムするときに矯正できる。 In one embodiment, after the lower page data of a memory cell is programmed, the adjacent memory cell of adjacent word line WL n + 1 is programmed for that lower page. For example, the lower page of the memory cell at WL2 in FIG. 3 may be programmed after the lower page for the memory cell at WL1. If the threshold voltage of memory cell 224 increases from state E to state B ′ after programming memory cell 226, floating gate coupling may increase the apparent threshold voltage of memory cell 226. The cumulative coupling effect of WLn on the memory cell broadens the apparent threshold voltage distribution of the cell threshold voltage, as shown in FIG. 12B. The apparent expansion of the threshold voltage distribution can be corrected when programming the upper page of the word line of interest.

図12Cは、WLnのセルの上側ページをプログラムするプロセスを示す。メモリセルが消去状態Eにあり、その上側ページビットが1に留まらなければならない場合、メモリセルは状態Eに留まる。メモリセルが状態Eにあり、その上側ページデータビットが0にプログラムされなければならない場合、メモリセルの閾値電圧は状態Aの範囲内になるまで上げられる。メモリセルが中間閾値電圧分布B’にあり、その上側ページデータが1に留まらなければならない場合、メモリセルは最終状態Bにプログラムされる。メモリセルが中間閾値電圧分布B’にあり、その上側ページデータがデータ0にならなければならない場合、メモリセルの閾値電圧は状態Cの範囲内に入るように上げられる。図12Aから12Cによって示されるプロセスは、近傍メモリセルの上側ページプログラミングだけが既定のメモリセルの見かけの閾値電圧を達成するので、フローティングゲート結合の影響を削減する。この技法の交互状態のコーディングの例は、上側ページデータが1であるときに中間状態B’から状態Cに移動し、上側ページデータが「0」であるときに状態Bに移動することである。図12Aから12Cは4つのデータ状態及び2ページのデータに関する例を示すが、図12Aから12Cによって教示される概念は、4つより多いまたは少ない状態及び異なるページ数の他の実装形態に応用できる。   FIG. 12C shows the process of programming the upper page of WLn cells. If a memory cell is in erased state E and its upper page bit must remain at 1, the memory cell remains in state E. If a memory cell is in state E and its upper page data bit must be programmed to 0, the memory cell's threshold voltage is raised until it is within state A. If the memory cell is in the intermediate threshold voltage distribution B 'and its upper page data must remain at 1, the memory cell is programmed to the final state B. If the memory cell is in the middle threshold voltage distribution B 'and its upper page data must be data 0, the threshold voltage of the memory cell is raised to be within state C. The process illustrated by FIGS. 12A-12C reduces the effects of floating gate coupling, because only the upper page programming of neighboring memory cells achieves the apparent threshold voltage of a given memory cell. An example of alternating coding for this technique is to move from intermediate state B ′ to state C when upper page data is 1, and to state B when upper page data is “0”. . Although FIGS. 12A-12C show examples for four data states and two pages of data, the concepts taught by FIGS. 12A-12C can be applied to other implementations with more or less than four states and different page numbers. .

図13Aは、図12Aから12Cのプログラミング技法のフローティングゲート結合の影響を示す。図13Bは、これらの影響のいくつかを克服するために、補償オフセットを使用する読み出し方法を示す。ワードラインWLnに隣接するワードラインWLn+1のメモリセルは、図12Cに示されるようにその上側ページデータをプログラムするために第2のパスの間にプログラムされる。この第2のパスの間、メモリセルは、状態Eから状態Aに、または中間状態B’から状態Bまたは状態Cのどちらかでプログラムされる。関心のあるWLnのワードラインのメモリセルは図13Aに示されており、ワードラインWLn+1のメモリセルの下側ページがプログラムされた後、その上側ページに対してプログラムされる。従って、図12Cに描かれている上側ページプログラミングは、ワードラインWLnのメモリセルの見かけの閾値電圧に影響を及ぼすための唯一のプログラミングである。   FIG. 13A illustrates the effect of floating gate coupling on the programming techniques of FIGS. 12A-12C. FIG. 13B shows a readout method that uses compensation offsets to overcome some of these effects. The memory cells on word line WLn + 1 adjacent to word line WLn are programmed during the second pass to program its upper page data as shown in FIG. 12C. During this second pass, the memory cell is programmed either from state E to state A or from intermediate state B 'to state B or state C. The word line memory cells of WLn of interest are shown in FIG. 13A and are programmed to the upper page after the lower page of memory cells of word line WLn + 1 is programmed. Thus, the upper page programming depicted in FIG. 12C is the only programming to affect the apparent threshold voltage of the memory cells in word line WLn.

状態Eから状態AにプログラムされるワードラインWLn+1のメモリセルは、中間状態B’から状態Cにプログラムされたセルとして閾値電圧の類似した変化を経験する。中間状態B’から状態Bにプログラムされる隣接ワードラインWLn+1のメモリセルは、閾値電圧の著しい増加を経験せず、WLnのセルの見かけの閾値電圧に対する影響をほとんど生じさせない。状態AにプログラムされるWLnのメモリセルは、それぞれ状態E、状態B、状態A及び状態CのWLn+1に隣接セルを有するセルに対応する個々の分布652、654、656、658によって表される。状態BにプログラムされるWLnのメモリセルは、それぞれ状態E、状態B、状態A、及び状態CのWLn+1に隣接セルを有する状態Bのセルに対応する個々の分布662、664、666及び668によって表される。状態CにプログラムされるWLnのメモリセルは、それぞれ状態E、状態B、状態A、及び状態CのWLn+1に隣接セルを有する状態Cのセルに対応する個々の分布672、674、676及び678によって表される。   A memory cell on word line WLn + 1 programmed from state E to state A experiences a similar change in threshold voltage as a cell programmed from intermediate state B 'to state C. The memory cells in adjacent word line WLn + 1 programmed from intermediate state B 'to state B do not experience a significant increase in threshold voltage and have little effect on the apparent threshold voltage of the WLn cell. The memory cells in WLn that are programmed to state A are represented by individual distributions 652, 654, 656, and 658 that correspond to cells having neighboring cells in WLn + 1 in state E, state B, state A, and state C, respectively. The memory cells in WLn that are programmed to state B are represented by individual distributions 662, 664, 666, and 668 corresponding to the cells in state B that have neighboring cells in WLn + 1 in state E, state B, state A, and state C, respectively. expressed. WLn memory cells programmed to state C are represented by individual distributions 672, 674, 676, and 678 corresponding to state C cells that have neighboring cells in state E, state B, state A, and WLn + 1 of state C, respectively. expressed.

図13Aに示されるように、WLnのいくつかのメモリセルは、それらの見かけの閾値電圧を、読み出し基準電圧VrbまたはVrcの近くにまたは読み出し基準電圧VrbまたはVrcを超えてシフトさせる可能性がある。これが読み出しエラーを引き起こすことがある。前述したように、説明した結合影響はWLnの消去分布に適用可能であり、開示された技術は等しくそれに適用可能である。消去セルに対する影響は、状態Eと状態Cの間の本来のマージンなので主として説明しない。   As shown in FIG. 13A, some memory cells in WLn may shift their apparent threshold voltages close to or beyond the read reference voltage Vrb or Vrc. . This can cause read errors. As described above, the described coupling effects are applicable to the erase distribution of WLn, and the disclosed technique is equally applicable to it. The effect on the erased cell will not be mainly described because it is the natural margin between state E and state C.

図13Bは、図12Aから12Cのプログラミング技法とともに使用することができる読み出し基準レベルのオフセットを示す。明確にするために、分布652、654、656及び658は単一に結合された分布651に示され、分布662、664、666及び668は結合された分布661に示され、分布672、674、676及び678は結合された分布671に示される。分布650、660、及び670は、WLn+1で上側ページデータをプログラムする前のWLnのセルを表す。図13Bの実施形態では、状態A又は状態Cにプログラムされた隣接ワードライン上のセルからの結合の類似する影響がともに一団にされ、これらの状態レベルのそれぞれに単一のオフセットを形成する。オフセット基準電圧Vrb1及びVrc1での検出の結果は、状態A又は状態CのワードラインWLn+1に隣接セルを有するメモリセルに使用される。中間状態B’から状態Bへのプログラミングから生じるマイナーな結合影響は無視される。公称基準電圧VrbとVrcを使用するときの検出の結果は、状態Eまたは状態BのワードラインWLn+1に隣接セルを有するメモリセルに使用される。WLn+1の特定の状態ごとの追加のオフセットが一実施形態で使用できる。図13Bに示す技法は、フローティングゲート結合の影響に追加の削減を提供するが、エラーは依然として存在するかもしれない。   FIG. 13B illustrates a read reference level offset that can be used with the programming techniques of FIGS. 12A-12C. For clarity, distributions 652, 654, 656, and 658 are shown in a single combined distribution 651, distributions 662, 664, 666, and 668 are shown in a combined distribution 661, and distributions 672, 674, 676 and 678 are shown in the combined distribution 671. Distributions 650, 660, and 670 represent WLn cells prior to programming the upper page data with WLn + 1. In the embodiment of FIG. 13B, similar effects of coupling from cells on adjacent word lines programmed to state A or state C are grouped together to form a single offset for each of these state levels. The result of detection at the offset reference voltages Vrb1 and Vrc1 is used for a memory cell having an adjacent cell on the word line WLn + 1 in the state A or the state C. Minor coupling effects resulting from programming from intermediate state B 'to state B are ignored. The result of detection when using the nominal reference voltages Vrb and Vrc is used for memory cells that have adjacent cells in the state E or state B word line WLn + 1. Additional offsets for each particular state of WLn + 1 can be used in one embodiment. Although the technique shown in FIG. 13B provides an additional reduction in the effects of floating gate coupling, errors may still exist.

関心のあるセルを読み出すための適切なオフセットを決定しようとするときの隣接ワードラインの読み違いは、実際には、図12Aから12Cの技法でプログラムされたセルにとってはさらに問題があることが判明する場合がある。状態B読み出し基準電圧vrbを印加するときのワードラインWLn+1のメモリセルの読み違いを検討する。WLn+1のメモリセルが状態Aにプログラムされ、状態Bにあるとして読み違えられると、公称読み出し基準電圧を使用するワードラインWLnの対応するメモリセルの読み出し動作の結果が選択され、報告される。WLn+1のセルは状態Bにあり、従ってWLnをプログラムした後に閾値電圧のマイナーな変化を経験したに過ぎないと判断されるのでフローティングゲート結合の補償は使用されない。しかしながら、実際には、WLn+1でのメモリセルはWLnのセルの見かけの閾値電圧に対する強力な影響を示す可能性がある。WLn+1のセルが状態A分布の上端にあり、それが読み違えられた理由である可能性が高い。従って、WLn+1のメモリセルは、状態Eから状態Aの上端にプログラムされるときにそのフローティングゲートでの電荷の大きな変化を経験する。WLn+1のセルにより蓄えられる電荷の大きな変化は、WLnのセルの見かけの閾値電圧のかなりのシフトを生じさせる。しかしながら、WLn+1での読み違いのためにこのシフトの補償は使用されない。従って、WLnのメモリセルがWLn+1読み違いの結果として読み違えられることが考えられる、あるいはその可能性が高い。 The misreading of adjacent word lines when trying to determine the proper offset for reading the cell of interest has actually proved even more problematic for cells programmed with the techniques of FIGS. 12A-12C. There is a case. Consider the misreading of the memory cells in the word line WL n + 1 when the state B read reference voltage vrb is applied. When a memory cell at WLn + 1 is programmed to state A and misread as being in state B, the result of the corresponding memory cell read operation on word line WLn using the nominal read reference voltage is selected and reported. The WLn + 1 cell is in state B, so floating gate coupling compensation is not used because it is determined that it has only experienced minor changes in threshold voltage after programming WLn. In practice, however, the memory cell at WLn + 1 may have a strong effect on the apparent threshold voltage of the WLn cell. It is likely that the WLn + 1 cell is at the top of the state A distribution, which is why it was misread. Thus, a WLn + 1 memory cell experiences a large change in charge at its floating gate when programmed from state E to the top of state A. The large change in charge stored by the WLn + 1 cell causes a significant shift in the apparent threshold voltage of the WLn cell. However, this shift compensation is not used due to misreading at WLn + 1. Therefore, it is conceivable that the memory cell of WLn is misread as a result of misreading of WLn + 1, or the possibility is high.

状態BにプログラムされたワードラインWLn+1の隣接メモリセルが状態Aにあるとして読み違えられる場合、類似した問題が発生する場合がある。実際にはそれが状態Bにあるときに状態Aにあるとして読み出されるワードラインWLn+1のメモリセルは、状態B分布の下端での閾値電圧を有する可能性がある。メモリセルは、WLn+1のメモリセルをプログラムした後、閾値電圧の変化をほとんど経験しないであろう。その結果、WLnの対応するセルの見かけの閾値電圧のシフトは、ほとんど又はまったく発生しない。しかしながら、対応するメモリセルのWLnでの読み出し動作の結果は、補償基準レベルでの読み出しの結果を選択する。関心のあるメモリセルは、見かけの閾値電圧の著しいシフトを経験していないので、補償基準レベルが使用されるときに結果を選択すると、WLnで読み違い又はエラーを生じることがある。   A similar problem may occur if an adjacent memory cell of word line WLn + 1 programmed to state B is misread as being in state A. In fact, the memory cell on word line WLn + 1 that is read as being in state A when it is in state B may have a threshold voltage at the lower end of the state B distribution. The memory cell will experience little change in threshold voltage after programming WLn + 1 memory cells. As a result, little or no apparent threshold voltage shift of the corresponding cell in WLn occurs. However, the result of the read operation at WLn of the corresponding memory cell selects the result of read at the compensation reference level. The memory cell of interest does not experience a significant shift in the apparent threshold voltage, so selecting a result when the compensation reference level is used can cause misreading or errors in WLn.

従来の技術で、多様なプログラム状態にメモリセルをプログラムすることは、図13Aから図13Bに示されるような、等しく離間した検証レベルで行われていた。すなわち、状態A、状態B及び状態Cにとっての検証レベルは互いからそれぞれ等しく離間しているので、検証レベルVvbとVvaの間の電圧差は検証レベルVvcとVvbの間の電圧差に等しい。プログラミング検証レベルの均等な間隔により、同じであるか又は実質的に等しい多様なプログラム状態間のマージンが生じる。マージンは、物理状態間の禁止電圧範囲に相当する。状態Aと状態B間のマージンは、状態Aのメモリセルの最大閾値電圧及び状態Bのメモリセルの最小閾値電圧により定められる。正確な読み出しが実行できるように、プログラム状態間には十分なマージンが提供される。フローティングゲート結合のため、物理状態間のマージンが減少し、読み出しエラーを生じさせる場合がある。   In the prior art, programming memory cells in various programming states has been performed at equally spaced verification levels as shown in FIGS. 13A-13B. That is, since the verification levels for state A, state B, and state C are equally spaced from each other, the voltage difference between verification levels Vvb and Vva is equal to the voltage difference between verification levels Vvc and Vvb. The equal spacing of the programming verification levels results in a margin between various program states that are the same or substantially equal. The margin corresponds to the forbidden voltage range between physical states. The margin between state A and state B is determined by the maximum threshold voltage of the memory cell in state A and the minimum threshold voltage of the memory cell in state B. Sufficient margin is provided between program states so that an accurate read can be performed. Due to the floating gate coupling, the margin between physical states is reduced, which may cause read errors.

本開示の一実施形態に従って、検知精度の改善のために特定の状態間でさらに大きなマージンを作り出すために、状態B等の1つまたは複数の選択された状態をプログラムするときにシフトされた検証レベルが使用される。一実施形態では、オフセット補償された読み出し基準レベルは、より幅広いマージンに対応するレベルで使用されないが、より高い性能のためにさらに効率的な読み出しを提供するために他のレベルで使用される。選択物理状態間のより幅広いマージンと、オフセット基準レベルの選択的な適用を組み合わせることにより、所望されるレベルの性能を維持しつつ、正確な検知技法が提供される。図14は、本開示の一実施形態に従ってプログラムされたメモリセルのセットの閾値電圧分布を示す。分布678、680、684及び688は、プログラムされた後であるが隣接ワードラインWLn+1のセルをプログラムする前のメモリセルのセットを示す。   In accordance with one embodiment of the present disclosure, shifted verification when programming one or more selected states, such as state B, to create a larger margin between specific states for improved detection accuracy Level is used. In one embodiment, the offset compensated read reference level is not used at a level corresponding to a wider margin, but is used at other levels to provide a more efficient read for higher performance. Combining a wider margin between selected physical states and selective application of an offset reference level provides an accurate sensing technique while maintaining a desired level of performance. FIG. 14 illustrates a threshold voltage distribution for a set of memory cells programmed according to one embodiment of the present disclosure. Distributions 678, 680, 684 and 688 show the set of memory cells after being programmed but before programming the cells in adjacent word line WLn + 1.

シフトされたプログラム検証レベルVvb1が、メモリセルを状態Bにプログラムするときに図14で使用される。図14の実施形態は、図12Aから12Cに示される技法に従ってプログラムするときに使用されてよい。状態Aと状態Bの間にさらに大きなマージンが作り出されるように、検証レベルVvb1は図12Cに示される従来の動作のVvbの検証レベルより高い。状態Aの任意のメモリセルの最高の閾値電圧は、従来の技法と同じに留まる。しかしながら、状態Bの任意のセルの最低の閾値電圧は、正の方向でシフトされる。メモリセルを状態Bにプログラムするときの検証レベルの上昇が、状態Aと状態B間のマージンを拡大する。図14に示されるように、状態AとBの間のマージン683は、状態BとCの間のマージン685よりも大きい。その結果、状態B基準電圧レベルVrbでの検知時に読み違いが起きる可能性はより低い。   The shifted program verify level Vvb1 is used in FIG. 14 when programming the memory cell to state B. The embodiment of FIG. 14 may be used when programming according to the techniques shown in FIGS. 12A-12C. The verification level Vvb1 is higher than the verification level of Vvb in the conventional operation shown in FIG. 12C so that a larger margin is created between the state A and the state B. The highest threshold voltage of any memory cell in state A remains the same as in conventional techniques. However, the lowest threshold voltage of any cell in state B is shifted in the positive direction. An increase in verification level when programming a memory cell to state B increases the margin between state A and state B. As shown in FIG. 14, the margin 683 between states A and B is larger than the margin 685 between states B and C. As a result, the possibility of misreading during detection at the state B reference voltage level Vrb is lower.

分布682、686、及び690は、(例えば、図12Cに示されるように)隣接するワードラインWLn+1がプログラムされた後のフローティングゲート結合の影響を示す。図14では、Vrb読み出しレベルは、見かけのA状態分布682と見かけのB状態分布686の間で十分に離間している。その結果、隣接ワードラインからの結合の影響を考慮した後も、Vrb読み出しレベルは状態Aにあることが意図される任意のセルの閾値電圧と重複しないので、読み違いが起こる可能性は低い。一実施形態では、基準レベルVrbは、図12Cに示されるその公称値Vvbからのプログラム検証レベルVvb1のシフトに相当する量で、従来の使用レベル(図12のVrb)からシフトされる。Vrbは状態Aの任意のメモリセルの最高の閾値電圧を十分に超えてシフトされるので、単一の基準値Vrbを読み出し中に使用することが可能であり、補償を適用しないことができる。   Distributions 682, 686, and 690 show the effect of floating gate coupling after adjacent wordline WLn + 1 is programmed (eg, as shown in FIG. 12C). In FIG. 14, the Vrb read level is sufficiently separated between the apparent A state distribution 682 and the apparent B state distribution 686. As a result, even after considering the effect of coupling from adjacent word lines, the Vrb read level does not overlap with the threshold voltage of any cell that is intended to be in state A, so there is a low probability of misreading. In one embodiment, the reference level Vrb is shifted from the conventional usage level (Vrb in FIG. 12) by an amount corresponding to the shift of the program verification level Vvb1 from its nominal value Vvb shown in FIG. 12C. Since Vrb is shifted well beyond the highest threshold voltage of any memory cell in state A, a single reference value Vrb can be used during the read and no compensation can be applied.

従って、一実施形態では、読み出し基準電圧のオフセットは、状態Bレベルで読み出すときに使用されない。図14の実施形態では、読み出し基準電圧に対するオフセットは、最高の状態、つまり状態Cのためだけに使用される。より高い検証レベルの効果によって状態Aと状態Bの間に存在するより大きなマージンは、フローティングゲート結合を直接的に補償することなく、状態Bレベルでの正確な読み出しを可能にする。オフセットレベルでの追加の読み出しが選択状態だけで使用されるので、この技法は、読み違いを削減するだけでなく、読み出し時間も改善する。図14では、ただ1つの追加検知動作だけが実行される。性能及び読み出し時間を改善することに加え、削減された数の検知動作が、選択されたメモリセルを検知するときに、隣接メモリセルに関してデータを維持するために必要とされるキャッシュ回路網の複雑度及びサイズを減少させる。   Thus, in one embodiment, the read reference voltage offset is not used when reading at state B level. In the embodiment of FIG. 14, the offset relative to the read reference voltage is used only for the highest state, state C. The larger margin that exists between state A and state B due to the effect of the higher verify level allows accurate reading at state B level without directly compensating for floating gate coupling. This technique not only reduces misreading, but also improves read time because additional reading at the offset level is used only in the selected state. In FIG. 14, only one additional detection operation is performed. In addition to improving performance and read time, the reduced number of sensing operations requires the complexity of the cache circuitry required to maintain data with respect to adjacent memory cells when sensing a selected memory cell. Reduce degree and size.

限定されない例として、図14の技法を実現するときに、一実施形態として、以下の読み出し基準レベルとプログラム検証レベルを使用できる。図12Aから12Cに説明されるような従来の技術の技法では、1つの例示的なシステムにおける状態Aと状態Bの間のマージンは、約0.7Vであり、状態Bと状態C間のマージンとほぼ同じであると予想される。このような従来の技術のシステムは、セルにデータをプログラムするとき、あるいは、セルからデータを読み出すときに、Vva=0.5V、Vvb=2.0V、Vvc=3.5V、Vra=0.0V、Vrb=1.5V及びVrc=3.0Vという検証レベル及び読み出しレベルが利用される。しかしながら、図14のこのようなシステムは、状態Bに対してシフトされた検証レベルによって、状態Aと状態Bの間の約0.7Vのマージンと、状態Bと状態Cの間の約0.1Vのマージンを有することになる。これらのマージンを達成するために、図14で使用できる典型的な読み出し基準レベル及びプログラム検証レベルは、Vva=0.5V、Vvb=2.3V、Vvc=3.5V、Vra=0.0V、Vrb=1.8V、Vrc=3.0V及びVrc1=3.6Vを含むことがある。示されているような一実施形態では、それぞれの状態での読み出し基準レベルとプログラム検証レベルの差異は、Vrbが同じ量シフトされるので、Vvbがシフトされるときと同じままである。従って、Vva−Vra=Vvb−Vrb=Vvc−Vrcである。   By way of non-limiting example, the following read reference levels and program verification levels can be used as an embodiment when implementing the technique of FIG. In the prior art techniques as illustrated in FIGS. 12A-12C, the margin between state A and state B in one exemplary system is approximately 0.7V, and the margin between state B and state C. Is expected to be almost the same. In such a prior art system, Vva = 0.5V, Vvb = 2.0V, Vvc = 3.5V, Vra = 0.V when programming data in the cell or reading data from the cell. Verification levels and read levels of 0V, Vrb = 1.5V and Vrc = 3.0V are used. However, such a system of FIG. 14 has a margin of about 0.7V between state A and state B and about 0. It will have a margin of 1V. To achieve these margins, typical read reference levels and program verification levels that can be used in FIG. 14 are: Vva = 0.5V, Vvb = 2.3V, Vvc = 3.5V, Vra = 0.0V, Vrb = 1.8V, Vrc = 3.0V and Vrc1 = 3.6V may be included. In one embodiment as shown, the difference between the read reference level and the program verify level in each state remains the same as when Vvb is shifted because Vrb is shifted the same amount. Therefore, Vva-Vra = Vvb-Vrb = Vvc-Vrc.

図15は、図14に示されるような不均等な大きさのマージンを達成するために不揮発性メモリをプログラムする方法の一実施形態を説明するフローチャートである。図15に示されているプログラミング方法は、単一のワードラインに接続されているメモリセル等のメモリセルのグループを同時にプログラムするために使用できる。また、図15は、奇数/偶数ビットラインアーキテクチャにおいて等、ワードラインの選択メモリセルをプログラムするために使用することもできる。一実施形態では、ステップ860からステップ882の反復の第1のセットが、メモリセルのグループの第1の論理ページをプログラムするために使用される。ステップ860から882の第2の反復は、メモリセルのグループの第2の論理ページをプログラムするために使用できる。   FIG. 15 is a flow chart describing one embodiment of a method for programming non-volatile memory to achieve a non-uniformly sized margin as shown in FIG. The programming method shown in FIG. 15 can be used to simultaneously program a group of memory cells, such as memory cells connected to a single word line. FIG. 15 can also be used to program selected memory cells in a word line, such as in an odd / even bit line architecture. In one embodiment, the first set of iterations from step 860 to step 882 is used to program the first logical page of the group of memory cells. The second iteration of steps 860 through 882 can be used to program a second logical page of the group of memory cells.

プログラムされるメモリセルは、ステップ850で消去される。ステップ850は、(例えば、ブロックまたは他の単位の)プログラムされるメモリセルよりも多くのメモリセルを消去することを含む場合がある。ステップ852では、ソフトプログラミングは、消去メモリセルに対して消去された閾値電圧の分布を狭めるために実行される。いくつかのメモリセルは、消去プロセスの結果として、必要以上に深い消去状態にある場合がある。ソフトプログラミングは、消去されたメモリセルの閾値電圧を消去検証レベルに近づけるために、小さなプログラミングパルスを印加することができる。これは消去メモリセルに対してより狭い分布を与える。ステップ854では、データロードコマンドが、制御部318によって発行されて命令回路314に入力され、データをデータ入力/出力バッファ312に入力できるようにする。入力データはコマンドとして認識され、命令回路314に入力されるコマンドラッチ信号(不図示)を介して状態マシン316によってラッチされる。ステップ856では、ページアドレスを指定するアドレスデータが、ホストから行制御部306に入力される。入力データはページアドレスとして認識されて、命令回路314に入力されるアドレスラッチ信号によって達成される状態マシン316を介してラッチされる。ステップ858では、アドレス指定されたページのプログラムデータのページが、プログラミングのためにデータ入力/出力バッファ312に入力される。例えば、532バイトのデータが、1つの例示的な実施形態として入力できる。入力されたデータは、選択されたビットラインのための適切なレジスタでラッチされる。いくつかの実施形態では、データは、検証動作のために使用される選択されたビットラインのための第2のレジスタでもラッチされる。ステップ860では、プログラムコマンドが制御部によって発行され、データ入力/出力バッファ312に入力される。コマンドは、命令回路314に入力されるコマンドラッチ信号を介して状態マシン316によってラッチされる。   The memory cell to be programmed is erased at step 850. Step 850 may include erasing more memory cells than programmed memory cells (eg, in blocks or other units). In step 852, soft programming is performed to narrow the distribution of erased threshold voltages for erased memory cells. Some memory cells may be in an erased state that is deeper than necessary as a result of the erase process. Soft programming can apply a small programming pulse to bring the threshold voltage of the erased memory cell closer to the erase verify level. This gives a narrower distribution for erased memory cells. In step 854, a data load command is issued by the controller 318 and input to the instruction circuit 314 so that data can be input to the data input / output buffer 312. Input data is recognized as a command and latched by the state machine 316 via a command latch signal (not shown) input to the instruction circuit 314. In step 856, address data designating a page address is input from the host to the row control unit 306. Input data is recognized as a page address and is latched through a state machine 316 which is accomplished by an address latch signal input to the instruction circuit 314. In step 858, the page of program data for the addressed page is input to data input / output buffer 312 for programming. For example, 532 bytes of data can be input as one exemplary embodiment. The input data is latched in the appropriate register for the selected bit line. In some embodiments, data is also latched in the second register for the selected bit line used for the verify operation. In step 860, a program command is issued by the control unit and input to the data input / output buffer 312. The command is latched by the state machine 316 via a command latch signal input to the instruction circuit 314.

プログラムコマンドによってトリガされ、ステップ858でラッチされるデータは、状態マシン316によって制御される選択されたメモリセルの中にプログラムされる。図6のプログラム電圧信号に示されているもののようなステッププログラム電圧パルスを使用して、プログラム電圧信号が、ページまたはプログラムされているセルの他の単位に対応する適切なワードラインに印加される。ステップ862では、Vpgm、つまりプログラミングパルス電圧レベルが開始パルス(例えば12V)に初期化され、状態マシン316によって維持されるプログラムカウンタPCがゼロに初期化される。ステップ864では、第1のVpgmパルスが、選択されたワードラインに印加される。論理ゼロが特定のデータラッチに記憶され、対応するメモリセルがプログラムされる必要があることを示す場合には、対応するビットラインは接地される。他方、論理1が特定のラッチに記憶され、対応するメモリセルがその現在のデータ状態に維持される必要があることを示す場合には、対応するビットラインがプログラミングを禁止するためにVDDに接続される。 The data triggered by the program command and latched in step 858 is programmed into the selected memory cell controlled by state machine 316. Using a step program voltage pulse, such as that shown in the program voltage signal of FIG. 6, the program voltage signal is applied to the appropriate word line corresponding to the page or other unit of the cell being programmed. . In step 862, Vpgm, the programming pulse voltage level, is initialized to the start pulse (eg, 12V) and the program counter PC maintained by the state machine 316 is initialized to zero. In step 864, a first Vpgm pulse is applied to the selected word line. If a logic zero is stored in a particular data latch indicating that the corresponding memory cell needs to be programmed, the corresponding bit line is grounded. On the other hand, if a logic 1 is stored in a particular latch, indicating that the corresponding memory cell needs to be maintained in its current data state, the corresponding bit line is set to V DD to inhibit programming. Connected.

ステップ866では、選択されたメモリセルの状態が検証される。図15に示されるプロセスはこれまで、周知の技法に従って進行してきた。しかしながら、ステップ866では、プロセスは、選択レベルをより正確に読み出すことを容易にする不均等に離間されたマージンを作り出す新規の技法を含む。2つのプログラムされた状態の間に、より大きなマージンが作り出される。一実施形態では、最高の状態がその公称位置に留まる一方で、より大きなマージンが、より低いレベルの状態の間に作り出される。一実施形態では、より大きなマージンが状態Bと状態Aの間に存在するように、検証が実行される。また、他の実施形態では、最高レベルの状態又はより高いレベルの状態が、それらのレベルにおいてより大きな検証電圧を使用することによって、正方向にシフトされてもよい。しかしながら、分布を全体的により高い正の電圧にシフトすることは、プログラム外乱等を最小限に抑える等の理由から電圧レベル(例えばVpgm)が特定の最大レベルに保たれるべきいくつかの実装形態では受け入れがたい。   In step 866, the state of the selected memory cell is verified. The process shown in FIG. 15 has so far proceeded according to well-known techniques. However, at step 866, the process includes a new technique that creates an unevenly spaced margin that facilitates more accurate reading of the selection level. A larger margin is created between the two programmed states. In one embodiment, the highest state remains in its nominal position, while a larger margin is created during the lower level state. In one embodiment, verification is performed such that a larger margin exists between states B and A. Also, in other embodiments, the highest level state or higher level state may be shifted in the positive direction by using a larger verify voltage at those levels. However, shifting the distribution to an overall higher positive voltage may result in some implementations where the voltage level (eg, Vpgm) should be kept at a certain maximum level, such as to minimize program disturbances etc. Then it is unacceptable.

一実施形態では、不均等に離間された検証レベルは、不均等なマージンを作り出すためにステップ866で使用される。図14に示されるように、第2のプログラム状態Bのための検証レベルVvb1は、第3のプログラム状態(状態C)の検証レベルが第2のプログラム状態(状態B)の検証レベルから分離される量とは異なる量で、第1のプログラム状態(状態A)から離間される。検証レベルVva、Vvb、及びVvcは、それらの特定の状態のために最も低い最小閾値電圧を定める。不均等に離間された検証レベルを使用することによって、状態Aと状態Bの間に作り出されるマージンは、状態Bと状態Cの間に作り出されるマージンよりも大きくなる。   In one embodiment, the unevenly spaced verification levels are used at step 866 to create an uneven margin. As shown in FIG. 14, the verification level Vvb1 for the second program state B is separated from the verification level of the second program state (state B) in the third program state (state C). Is separated from the first program state (state A) by an amount different from the first amount. Verification levels Vva, Vvb, and Vvc define the lowest minimum threshold voltage for their particular state. By using non-uniformly spaced verification levels, the margin created between state A and state B is greater than the margin created between state B and state C.

印加された基準電圧で検知した後、ステップ868において、データラッチの全ては、論理1を記憶しているか否かについてチェックされる。論理1を記憶している場合には、全ての選択されたメモリセルが、プログラムされているとともにそのターゲット状態に対して検証されているので、プログラムプロセスは、完了するとともに成功である。合格のステータスは、ステップ876で報告される。ステップ868において、データラッチの全てが論理1を記憶しているわけではないと判断されると、プロセスは、プログラムカウンタPCがプログラム制限値と照合されるステップ872において続行する。多様な実施形態では他の値を使用できるが、プログラム制限値の一例は20である。プログラムカウンタPCが20以上である場合には、ステップ874において、うまくプログラムされなかったメモリセル数が所定数以下であるか否かが判断される。うまくプログラムされなかったセルの数が所定数以下の場合には、プロセスは合格であるとフラグを立てられ、合格のステータスがステップ876で報告される。無事にプログラムされなかったビットは、読み出しプロセス中にエラー補正を使用して補正できる。無事にプログラムされなかったメモリセルの数が所定数よりも大きい場合、プログラムプロセスは不合格であるフラグを立てられ、不合格のステータスがステップ878で報告される。プログラムカウンタPCが20未満の場合には、Vpgmレベルはステップサイズ分だけ増加し、プログラムカウンタPCがステップ880で増加される。ステップ880後に、プロセスは、ステップ864にループバックして次のVpgmパルスを印加する。 After sensing with the applied reference voltage, in step 868, all of the data latches are checked to see if they are storing a logic one. When storing a logic one, the programming process is complete and successful because all selected memory cells have been programmed and verified against their target state. Pass status is reported at step 876. If it is determined in step 868 that not all of the data latches are storing logic ones, the process continues in step 872 where the program counter PC is checked against the program limit value. An example program limit value is 20, although other values may be used in various embodiments. If the program counter PC is greater than or equal to 20, it is determined in step 874 whether or not the number of memory cells that have not been successfully programmed is less than or equal to a predetermined number. If the number of cells that have not been successfully programmed is less than or equal to a predetermined number, the process is flagged as passing and a passing status is reported at step 876. Bits that were not successfully programmed can be corrected using error correction during the read process. If the number of successfully programmed memory cells is greater than a predetermined number, the programming process is flagged as failing and a failing status is reported at step 878. If the program counter PC is less than 20, the V pgm level is increased by the step size, and the program counter PC is increased at step 880. After step 880, the process loops back to step 864 to apply the next V pgm pulse.

説明したように、ステップ866は、プログラムされたメモリセル対して不均等に離間されたマージンが存在するように、不均等に離間された検証レベルを使用することを含む。図16は、図15のステップ866の一実施形態を示す。ステップ882では、第1のプログラム状態の検証レベルVvaが印加される。ステップ884では、ビットラインが、Vvaが各ビットラインのメモリセルに印加された状態で検知される。ステップ886では、状態Aにプログラムされるべきセルの結果が記憶される。ステップ886では、プログラミングがそのメモリセルのために継続しなければならないことを示すために、ビットラインに対するデータラッチを論理1に設定することができる。あるいは、ステップ886では、そのメモリセルがそのターゲットレベルにあるか又は超えており、そのメモリセルのプログラミングを停止する必要があることを示すために、ビットラインに対するデータラッチを論理0に設定することができる。ステップ888では、第2のプログラム状態の検証レベルVvb1が、検証されている各メモリセルに印加される。検証レベルVvb1は、第1の量だけ検証レベルVvaから離間されている。例えば、VvaとVvb1は、約0.8Vに等しい量だけ互いに離間することができる。ステップ890では、ビットラインが、Vvb1が各メモリセルに印加された状態で検知される。その結果は、ビットラインごとのデータラッチに対応するメモリセルがそのターゲットレベルに達したか否かを示すことによって892に記憶される。ステップ894では、第3の検証レベルVvcが第3のプログラム状態のために印加される。検証レベルVvcは、VvaとVvb1を分離する第1の量と異なる第2の量だけ検証レベルVvb1から離間される。図14に示されるように、検証レベルVvb1とVvcの間の間隔は、検証レベルVvaとVvb1の間の間隔よりも小さい。ステップ896では、ビットラインが、Vvcが各メモリセルに印加された状態で検知される。ステップ898では、その結果が、セルが追加のプログラミングを受ける必要があるか否かを例えばデータラッチの中に示すことによって、セルが状態Cにプログラムされるために記憶される。   As described, step 866 includes using non-uniformly spaced verification levels such that there are non-uniformly spaced margins for programmed memory cells. FIG. 16 illustrates one embodiment of step 866 of FIG. In step 882, the first program state verification level Vva is applied. In step 884, the bit lines are detected with Vva applied to the memory cells of each bit line. In step 886, the result of the cell to be programmed to state A is stored. In step 886, the data latch for the bit line can be set to logic 1 to indicate that programming must continue for that memory cell. Alternatively, in step 886, the data latch for the bit line is set to logic 0 to indicate that the memory cell is at or above its target level and programming of the memory cell needs to be stopped. Can do. In step 888, the second program state verification level Vvb1 is applied to each memory cell being verified. The verification level Vvb1 is separated from the verification level Vva by a first amount. For example, Vva and Vvb1 can be separated from each other by an amount equal to about 0.8V. In step 890, the bit line is detected with Vvb1 applied to each memory cell. The result is stored in 892 by indicating whether the memory cell corresponding to the data latch for each bit line has reached its target level. In step 894, a third verification level Vvc is applied for the third program state. The verification level Vvc is separated from the verification level Vvb1 by a second amount different from the first amount that separates Vva and Vvb1. As shown in FIG. 14, the interval between the verification levels Vvb1 and Vvc is smaller than the interval between the verification levels Vva and Vvb1. In step 896, the bit line is detected with Vvc applied to each memory cell. In step 898, the result is stored for the cell to be programmed to state C, for example by indicating in a data latch whether the cell needs to undergo additional programming.

ボックス891及び899に示すように、不均等に離間された検証レベルは、状態Aと状態Bの間の第1のサイズのマージンと、状態BとCの間の第2のサイズのマージンを生じさせる。状態AとBの間のマージンは、シフトされたVvb検証レベルなので、状態BとCの間のマージンよりも大きい。   As shown in boxes 891 and 899, the non-uniformly spaced verification levels result in a first size margin between states A and B and a second size margin between states B and C. Let The margin between states A and B is larger than the margin between states B and C because it is a shifted Vvb verification level.

図17は、特定の1ページ又は複数のページ、あるいは、他のグループのデータを読み出す要求に応えて実行されるデータを読み出す全体的なプロセスを示すフローチャートである。他の実施形態では、図17のプロセスは、従来の読み出しプロセスに応えてエラーを検出した後に、データ回復動作の一部としてプログラムできる。図12Aから図12Cに従ってプログラムされたデータを読み出す場合、隣接セルの下側ページのプログラミングに起因するフローティングゲート結合からの摂動が、関心のあるセルの上側ページをプログラムするときに補正される。従って、隣接セルからのフローティングゲート結合の影響を補償しようと試みる場合、プロセスは、隣接セルの上側ページのプログラミングに起因する結合効果を考慮しさえすればよい。   FIG. 17 is a flowchart illustrating the overall process of reading data that is performed in response to a request to read a particular page or pages or other groups of data. In other embodiments, the process of FIG. 17 can be programmed as part of a data recovery operation after detecting an error in response to a conventional read process. When reading data programmed according to FIGS. 12A-12C, perturbations from floating gate coupling due to programming of the lower page of adjacent cells are corrected when programming the upper page of the cell of interest. Thus, when attempting to compensate for the effects of floating gate coupling from neighboring cells, the process need only consider coupling effects due to programming of the upper page of the neighboring cell.

図17のステップ902では、関心のあるワードラインに隣接しており、後にプログラムされるワードラインの上側ページデータが読み出される。ステップ904において、隣接ワードラインの上側ページが決定されたようにプログラムされていない場合、ワードライン又は関心のあるページは、ステップ908でフローティングゲート結合の影響を補償せずに読み出される。隣接ワードラインの上側ページがプログラムされている場合、関心のあるページは、ステップ906でフローティングゲート結合の影響の補償を使用して読み出される。いくつかの実施形態では、隣接ワードラインのセルを読み出すことによって、隣接ワードライン上の電荷レベルが決定される。その電荷レベルは、隣接ワードライン上に記憶されるデータを正確に反映する場合もあるし、正確に反映しない場合もある。   In step 902 of FIG. 17, the upper page data of the word line that is adjacent to the word line of interest and is programmed later is read. In step 904, if the upper page of the adjacent word line is not programmed as determined, the word line or page of interest is read in step 908 without compensating for the effects of floating gate coupling. If the upper page of the adjacent word line is programmed, the page of interest is read using compensation for floating gate coupling effects at step 906. In some embodiments, the charge level on an adjacent word line is determined by reading a cell on the adjacent word line. The charge level may or may not accurately reflect the data stored on the adjacent word line.

一実施形態では、メモリアレイが1つ又は複数のフラグを記憶するために、メモリセルのセットを確保する。例えば、メモリセルのある列は、メモリセルのそれぞれの行の下側ページがプログラムされているか否かを示すフラグを記憶するために使用することができる。別の列は、メモリセルのそれぞれの行の上側ページがプログラムされているか否かを示すフラグを記憶するために使用できる。適切なフラグをチェックすることによって、近接ワードラインの上側ページがプログラムされたか否かを判断することができる。このようなフラグ及びプログラミングのためのプロセスについての詳細は、米国特許第6,657,891号、Shibataら、「Semiconductor Memory Device For Storing Multi-Valued Data」に記載されており、その全体は参照することにより本明細書に組み込まれる。   In one embodiment, a set of memory cells is reserved for the memory array to store one or more flags. For example, a column of memory cells can be used to store a flag that indicates whether the lower page of each row of memory cells has been programmed. Another column can be used to store a flag that indicates whether the upper page of each row of memory cells has been programmed. By checking the appropriate flag, it can be determined whether the upper page of the neighboring word line has been programmed. Details about such flags and programming processes are described in US Pat. No. 6,657,891, Shibata et al., “Semiconductor Memory Device For Storing Multi-Valued Data,” which is incorporated by reference in its entirety. Are incorporated herein by reference.

図18は、図17のステップ902で使用できる隣接ワードラインの上側ページデータを読み出すプロセスの一実施形態を説明する。ステップ910で読み出し参照電圧Vrcがワードラインに印加され、ステップ912でビットラインが前述したように検知される。検知の結果は、ステップ914で適切なラッチに記憶される。Vrcで最初に読み出すことは、下側ページデータは通常すでにWLn+1に書き込まれているので、上側ページデータを一意に決定するために選ばれる。中間分布B’(図12B)はこれらの値に重複する可能性があるので、Vra又はVrbで読み出すことは、一意の結果を保証しない。   FIG. 18 illustrates one embodiment of a process for reading the upper page data of an adjacent word line that can be used in step 902 of FIG. At step 910, the read reference voltage Vrc is applied to the word line, and at step 912, the bit line is detected as described above. The result of the detection is stored in the appropriate latch at step 914. Reading first with Vrc is chosen to uniquely determine the upper page data since the lower page data is usually already written to WLn + 1. Since the intermediate distribution B '(FIG. 12B) can overlap these values, reading with Vra or Vrb does not guarantee a unique result.

ステップ916では、読み出されるページに関連した上側ページプログラミングを示すフラグがチェックされる。ステップ918においてフラグが決定された通りにセットされていない場合、ステップ920においてプロセスは、上側ページがプログラムされていないという結論で終了する。フラグがセットされている場合には、上側ページはプログラムされていると仮定される。ステップ922において、読み出し基準電圧Vrbが、読み出されているページと関連するワードラインに印加される。ステップ924ではビットラインが検知され、ステップ926ではその結果が適切なラッチに記憶される。ステップ928では、読み出し基準電圧Vraが印加される。ステップ930ではビットラインが検知され、ステップ932ではその結果が適切なラッチに記憶される。ステップ934では、読み出されるメモリセルのそれぞれに記憶されるデータ値が、検知ステップ912、924及び930の結果に基づいて決定される。ステップ936において、データ値は、ユーザへの最終的な通信のために適切なデータラッチに記憶できる。上側ページデータと下側ページデータは、選択された特殊な状態コーディングに依存する周知の論理技法を使用して決定される。図12Aから図12Cに説明される例示的なコーディングの場合、下側ページデータはVrb(Vrbで読み出すときに記憶される値の補数)であり、上側ページデータはVraOR(Vrb及びVrc)である。図18のプロセスは、ここではWLn+1を読み出すために使用されていると説明しているが、後述するようにWLを読み出すために使用することもできる。 In step 916, a flag is checked indicating upper page programming associated with the page being read. If in step 918 the flag is not set as determined, then in step 920 the process ends with the conclusion that the upper page is not programmed. If the flag is set, the upper page is assumed to be programmed. In step 922, a read reference voltage Vrb is applied to the word line associated with the page being read. In step 924, the bit line is detected and in step 926, the result is stored in the appropriate latch. In step 928, the read reference voltage Vra is applied. In step 930 the bit line is detected and in step 932 the result is stored in the appropriate latch. In step 934, the data value stored in each of the read memory cells is determined based on the results of detection steps 912, 924, and 930. In step 936, the data value can be stored in an appropriate data latch for final communication to the user. Upper page data and lower page data are determined using well-known logic techniques that depend on the particular state coding selected. For the exemplary coding illustrated in FIGS. 12A-12C, the lower page data is Vrb * (the complement of the value stored when reading with Vrb) and the upper page data is Vra * OR (Vrb and Vrc). * ). Although the process of FIG. 18 is described here as being used to read WL n + 1 , it can also be used to read WL n as described below.

図19は、隣接ワードラインからのフローティングゲート結合の補償が必要とされない場合に(図17のステップ908)、関心のあるワードラインのデータを読み出す実施形態を説明するフローチャートである。ステップ950では、関心のあるワードラインに関連する上側ページが読み出されているのか、あるいは、下側ページが読み出されているのかが判断される。下側ページが読み出されている場合は、ステップ952において、読み出し基準電圧Vrbが適切なワードラインに印加される。ステップ954ではビットラインが検知され、ステップ956ではその結果が適切なラッチに記憶される。ステップ958では、関心のあるページが上側ページデータを含むか否かを判断するために、フラグがチェックされる。セットされているフラグがない場合には、プログラムされたデータは、中間状態B’になる。従って、Vrbは正確な検知結果を生じさせないので、プロセスは、Vraがワードラインに印加されるステップ960に継続する。ステップ962でビットラインが再検知され、ステップ964でその結果が記憶される。ステップ966では、記憶されるデータ値が決定される。1つの実施形態では、Vrb(またはVra)がワードラインに印加された状態でメモリセルがオンする場合、下側ページデータは「1」となる。それ以外の場合、下側ページデータは「0」である。   FIG. 19 is a flowchart illustrating an embodiment of reading data of a word line of interest when compensation for floating gate coupling from adjacent word lines is not required (step 908 of FIG. 17). In step 950, it is determined whether the upper page associated with the word line of interest has been read or the lower page has been read. If the lower page is being read, in step 952, the read reference voltage Vrb is applied to the appropriate word line. In step 954 the bit line is detected and in step 956 the result is stored in the appropriate latch. In step 958, the flag is checked to determine whether the page of interest contains upper page data. If no flag is set, the programmed data is in the intermediate state B '. Therefore, since Vrb does not produce an accurate sensing result, the process continues to step 960 where Vra is applied to the word line. In step 962, the bit line is re-detected and in step 964 the result is stored. In step 966, the stored data value is determined. In one embodiment, when the memory cell is turned on with Vrb (or Vra) applied to the word line, the lower page data is “1”. In other cases, the lower page data is “0”.

ステップ950においてページアドレスが上側ページに一致すると判断されると、ステップ970において上側ページ読み出しプロセスが実行される。一実施形態では、ステップ970での上側ページ読み出しは、書き込まれていない上側ページが読み出しのためにアドレス指定される可能性があるので、あるいは別の理由から、フラグ及び3つすべての状態を読み出すことを有する図18で説明した同じ方法を含む。   If it is determined in step 950 that the page address matches the upper page, an upper page read process is performed in step 970. In one embodiment, the upper page read in step 970 reads the flag and all three states because an unwritten upper page may be addressed for reading, or for another reason. Including the same method described in FIG.

図20は、図17のステップ906を実行できるように、フローティングゲート結合を補償している間にデータを読み出すプロセスの一実施形態を説明するフローチャートである。フローティングゲート結合を補償するためにオフセットを使用するか否かは、ステップ966で決定される。ステップ966は、ビットラインごとに別々に実行される。隣接ワードラインからのデータは、どのビットラインがオフセットを使用する必要があるのかを決定するために使用される。隣接セルが状態E又はBにある場合、読み出されているワードラインのメモリセルは、検知の間に適用される補償を必要としない。WLn+1のセルが状態Eにある場合、その閾値電圧は関心のあるワードラインが書き込まれる以前と同じなので、結合を助長していなかった。WLn+1のセルが状態Bにある場合、それらは、小さな電荷の変化であり大部分の状況では無視することができる中間状態B’からプログラムされる。読み出しオフセットは、状態A又は状態CのWLn+1の隣接メモリセルを有するWLのセルのために使用される。 FIG. 20 is a flowchart describing one embodiment of a process for reading data while compensating for floating gate coupling so that step 906 of FIG. 17 can be performed. Whether an offset is used to compensate for floating gate coupling is determined at step 966. Step 966 is performed separately for each bit line. Data from adjacent word lines is used to determine which bit lines need to use the offset. If the adjacent cell is in state E or B, the memory cell in the word line being read does not require compensation applied during sensing. When the WL n + 1 cell is in state E, its threshold voltage was the same as before the word line of interest was written, so it did not facilitate the coupling. When WL n + 1 cells are in state B, they are programmed from an intermediate state B ′, which is a small charge change and can be ignored in most situations. The read offset is used for WL n cells with WL n + 1 adjacent memory cells in state A or state C.

ステップ967において読み出されるページが下側ページであると判断されると、ステップ968において読み出されるページと関連するワードラインにVrbが印加される。Vrbで読み出すことは、図12Aから図12Cに示される符号化のために下側ページデータを決定するのに十分である。ステップ969ではビットラインが検知され、ステップ970ではその結果がビットラインのための適切なラッチに記憶される。図14に示されるように、補償オフセットはVrbレベルで印加されないため、ステップ969は実行される唯一の下側ページ検知である。セルが状態Aと状態Bの間にさらに大きなマージンを作り出すようにプログラムされるので、結合を補償しなくても正確な読み出しを達成できる。下側ページデータはステップ971で決定される。Vrbに応じてセルがオンすると、その下側ページデータは1である。それ以外の場合、その下側ページデータは0である。ステップ972では、下側ページデータが、ユーザへの通信のために適切なラッチに記憶される。   If it is determined in step 967 that the page read is the lower page, Vrb is applied to the word line associated with the page read in step 968. Reading with Vrb is sufficient to determine the lower page data for the encoding shown in FIGS. 12A-12C. In step 969, the bit line is detected and in step 970 the result is stored in the appropriate latch for the bit line. As shown in FIG. 14, step 969 is the only lower page detection performed because no compensation offset is applied at the Vrb level. Since the cell is programmed to create a larger margin between state A and state B, an accurate read can be achieved without compensating for coupling. Lower page data is determined at step 971. When a cell is turned on according to Vrb, its lower page data is 1. Otherwise, the lower page data is zero. In step 972, the lower page data is stored in an appropriate latch for communication to the user.

ステップ967において読み出されるページが上側ページであると判断されると、ステップ976において上側ページは補償を使用して読み出される。図21は、オフセット読み出し基準レベルを使用して読み出される上側ページを説明するフローチャートである。図21のステップ974では、読み出し基準電圧Vrcが、読み出されるページに関連するワードラインに印加される。ステップ975ではビットラインが検知され、ステップ976ではその結果が適切なラッチに記憶される。ステップ977では、Vrcとオフセット(例えば0.1V)の合計が、読み出されるページに関連するワードラインに印加される。ステップ978では、ビットラインが検知される。ステップ979では、ステップ978での検知の結果が、オフセットが必要である任意のビットラインに対して、ステップ976に記憶される結果を上書きするために使用される。ステップ980ではVrbがワードラインに印加され、ステップ981ではビットラインが検知される。ステップ981で検知した結果は、ステップ982で記憶される。ステップ983では、Vraが、読み出されるページに関連するワードラインに印加される。ステップ984ではビットラインが検知され、ステップ985ではその結果が適切なラッチに記憶される。図20では、状態Eと状態Aの間で本来発生するマージンが、Vraに関連するオフセットが必要ない程度に十分であると仮定される。他の実施形態では、Vraレベルのオフセットを使用できる。ステップ986ではデータ値が求められ、ステップ987ではデータ値がユーザへの通信のために適切なデータラッチに記憶される。他の実施形態では、読み出し順序(Vrc、Vrb、Vra)を変更してよい。   If it is determined in step 967 that the page to be read is the upper page, in step 976 the upper page is read using compensation. FIG. 21 is a flowchart for explaining the upper page read using the offset read reference level. In step 974 of FIG. 21, a read reference voltage Vrc is applied to the word line associated with the page being read. In step 975 the bit line is detected and in step 976 the result is stored in the appropriate latch. In step 977, the sum of Vrc and offset (eg, 0.1V) is applied to the word line associated with the page being read. In step 978, a bit line is detected. In step 979, the result of the detection in step 978 is used to overwrite the result stored in step 976 for any bit line that requires an offset. In step 980, Vrb is applied to the word line, and in step 981, the bit line is detected. The result detected in step 981 is stored in step 982. In step 983, Vra is applied to the word line associated with the page being read. In step 984, the bit line is detected and in step 985 the result is stored in the appropriate latch. In FIG. 20, it is assumed that the margin originally generated between state E and state A is sufficient to avoid the need for an offset associated with Vra. In other embodiments, Vra level offsets can be used. In step 986, the data value is determined, and in step 987, the data value is stored in an appropriate data latch for communication to the user. In other embodiments, the read order (Vrc, Vrb, Vra) may be changed.

本発明の前記の詳細な説明は、図解及び説明の目的で提示されてきた。網羅的になること、又は開示されている正確な形式に本発明を制限することが目的ではない。前記教示を鑑みて多くの変更及び変形が可能である。説明した実施形態は、本発明の原理及びその実際的な応用例を最もよく説明し、それにより当業者が、意図された特定の使用に適するように、多様な実施形態において、及び多様な変更とともに本発明を最大に活用できるようにするために選ばれた。本発明の範囲は、本明細書に添付される請求項により明示されることが意図される。   The foregoing detailed description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments best illustrate the principles of the invention and its practical application, so that those skilled in the art can make use of various modifications and variations to suit their particular intended use. It was chosen to make the most of the present invention. It is intended that the scope of the invention be defined by the claims appended hereto.

Claims (22)

不揮発性記憶を読み出す方法であって、
第1の不揮発性記憶要素を読み出す要求を受け取る工程と、
前記第1の不揮発性記憶要素に隣接しており、少なくとも4つの物理的な状態でデータを記憶することができる第2の不揮発性記憶要素を、前記要求に応えて読み出す工程と、
前記4つの物理的な状態は、第1物理状態と、第1物理状態よりも電荷レベルが高い第2物理状態と、第2物理状態よりも電荷レベルが高い第3物理状態と、第3物理状態よりも電荷レベルが高い第4物理状態とを含み、
第1のプログラム状態と前記第1のプログラム状態より第1の量だけ電荷レベルが高い第2のプログラム状態の間のレベルにおいて、前記第1の不揮発性記憶要素を読み出すために第1の基準を適用する工程と、
前記第2のプログラム状態と前記第2のプログラム状態より第2の量だけ電荷レベルが高い第3のプログラム状態の間のレベルにおいて、前記第1の不揮発性記憶要素を読み出すために第2の基準を適用する工程と、
第2の量は、第1の量よりも小さく、
前記第2の不揮発性記憶要素が前記第1物理状態又は前記第3物理状態である場合に、第1のレベルで前記第1の基準を適用した結果と、第2のレベルで前記第2の基準を適用した結果を使用して、前記第1の不揮発性記憶要素のデータを決定する工程と、
前記第2の不揮発性記憶要素が前記第2物理状態又は前記第4物理状態である場合に、前記第1のレベルで前記第1の基準を適用した結果と、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合に基づく分だけ第2のレベルをオフセットした第3のレベルで前記第2の基準を適用した結果を使用して、前記第1の不揮発性記憶要素のデータを決定する工程と、
を含む不揮発性記憶要素の読み出し方法。
A method for reading non-volatile memory, comprising:
Receiving a request to read the first non-volatile storage element;
Reading in response to the request a second non-volatile storage element adjacent to the first non-volatile storage element and capable of storing data in at least four physical states;
The four physical states include a first physical state, a second physical state having a higher charge level than the first physical state, a third physical state having a higher charge level than the second physical state, and a third physical state. A fourth physical state having a higher charge level than the state,
A first reference for reading the first non-volatile storage element at a level between a first program state and a second program state having a charge level that is higher by a first amount than the first program state Applying
In order to read the first non-volatile storage element at a level between the second program state and a third program state having a charge level that is a second amount higher than the second program state. Applying the criteria;
The second amount is less than the first amount;
When the second non-volatile storage element is in the first physical state or the third physical state , the result of applying the first criterion at a first level, and the second level at the second level Determining data of the first non-volatile storage element using a result of applying a criterion;
A result of applying the first criterion at the first level when the second non-volatile storage element is in the second physical state or the fourth physical state; and the first non-volatile storage element And using the result of applying the second criterion at a third level offset by a second level by a floating gate coupling between the first nonvolatile memory element and the second nonvolatile storage element, Determining data of sex memory elements;
A method for reading a non-volatile storage element comprising:
前記第1の不揮発性記憶要素が第1のワードラインに結合される不揮発性記憶要素のセットの一部であり、さらに、
不揮発性記憶要素のセットを、前記第1のプログラム状態、前記第2のプログラム状態、及び前記第3のプログラム状態を含む複数の物理状態にプログラムする工程と、
前記第1のプログラム状態にプログラムされる前記セットの不揮発性記憶要素が、前記第1のプログラム状態に対応する第1のターゲットレベルに達しているか否かを検証する工程と、
前記第2のプログラム状態にプログラムされる前記セットの不揮発性記憶要素が、前記第2のプログラム状態に対応するとともに、第1の量だけ前記第1のターゲットレベルから離間されている第2のターゲットレベルに達しているか否かを検証する工程と、
前記第3のプログラム状態にプログラムされる前記セットの不揮発性記憶要素が、前記第3のプログラム状態に対応するとともに、前記第1の量より小さい第2の量だけ前記第2のターゲットレベルから離間されている第3のターゲットレベルに達しているか否かを検証する工程と、
を含む請求項1に記載の方法。
The first non-volatile storage element is part of a set of non-volatile storage elements coupled to a first word line;
Programming a set of non-volatile storage elements into a plurality of physical states including the first program state, the second program state, and the third program state;
A step of non-volatile storage elements of said set to be programmed to said first programmed state is to verify whether reached a first target level corresponding to said first programmed state,
A second target, wherein the set of non-volatile storage elements programmed to the second program state corresponds to the second program state and is spaced from the first target level by a first amount; Verifying whether the level has been reached,
The set of non-volatile storage elements programmed to the third program state corresponds to the third program state and is spaced from the second target level by a second amount that is less than the first amount. Verifying whether a third target level is reached, and
The method of claim 1 comprising:
前記第1のレベルで前記第1の基準を適用することが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合を補償せず、
前記第2のレベルで前記第2の基準を適用することが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合を補償せず、
前記第3のレベルで前記第2の基準を適用することが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合を補償する請求項1又は2に記載の方法。
Applying the first criterion at the first level does not compensate for floating gate coupling between the first non-volatile storage element and the second non-volatile storage element;
Applying the second criterion at the second level does not compensate for floating gate coupling between the first and second non-volatile storage elements;
3. Applying the second criterion at the third level compensates for floating gate coupling between the first non-volatile storage element and the second non-volatile storage element. the method of.
前記第2の不揮発性記憶要素が前記第2物理状態又は前記第4物理状態である場合に、前記第1の不揮発性記憶要素のデータを決定する工程が、
前記第1の不揮発性記憶要素の制御ゲートに前記第1のレベルでの前記第1の基準に対応する第1の電圧を印加して、前記第1の不揮発性記憶要素の導通を検知する工程と、
前記第1の不揮発性記憶要素の前記制御ゲートに前記第2のレベルでの前記第2の基準に対応する第2の電圧を印加して、前記第1の不揮発性記憶要素の導通を検知する工程と、
前記第1の不揮発性記憶要素の前記制御ゲートに前記第3のレベルでの前記第2の基準に対応するとともに前記第2の電圧にオフセットを加えた電圧に等しい第3の電圧を印加して、前記第1の不揮発性記憶要素の導通を検知する工程と、
前記第1の電圧を印加した前記結果を選択し、前記第3の電圧を印加した前記結果を選択し、前記第2の電圧を印加した前記結果を無視することによって、前記第1の不揮発性記憶要素の前記データを決定する工程と、
を含む請求項1からのいずれか一項に記載の方法。
Determining the data of the first non-volatile storage element when the second non-volatile storage element is in the second physical state or the fourth physical state ;
Applying a first voltage corresponding to the first reference at the first level to a control gate of the first non-volatile storage element to detect conduction of the first non-volatile storage element; When,
Applying a second voltage corresponding to the second reference at the second level to the control gate of the first non-volatile storage element to detect conduction of the first non-volatile storage element. Process,
Applying a third voltage corresponding to the second reference at the third level and equal to a voltage obtained by adding an offset to the second voltage to the control gate of the first nonvolatile memory element; Detecting conduction of the first non-volatile storage element;
Selecting the result of applying the first voltage, selecting the result of applying the third voltage, and ignoring the result of applying the second voltage; Determining the data of a storage element;
The method according to any one of claims 1 3 including.
前記オフセットが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間の前記フローティングゲート結合に基づいた前記第1の不揮発性記憶要素の閾値電圧の見かけの変化と実質的に等しい請求項4に記載の方法。  The offset is substantially different from an apparent change in threshold voltage of the first non-volatile storage element based on the floating gate coupling between the first non-volatile storage element and the second non-volatile storage element. The method of claim 4 being equal. 前記第1物理状態が消去状態であり、
前記第2物理状態が前記第1のプログラム状態であり、
前記第3物理状態が前記第2のプログラム状態であり、
前記第4物理状態が前記第3のプログラム状態である請求項1から5のいずれか一項に記載の方法。
The first physical state is an erased state;
The second physical state is the first program state;
The third physical state is the second program state;
The method according to any one of the fourth physical state claim 1 wherein Ru third programmed state der 5.
前記第2の不揮発性記憶要素が上側ページデータと下側ページデータを記憶し、
前記要求に応えて前記第2の不揮発性記憶要素を読み出す工程が、前記第2の不揮発性記憶要素の前記上側ページデータを読み出す工程を備えており、
前記第2の基準の前記第2のレベルと第3のレベルが、前記第2の不揮発性記憶要素の前記上側ページデータに基づいているとともに前記下側ページデータには基づいておらず、
前記第1物理状態又は前記第3物理状態が、前記上側ページの第1のデータを記憶する前記第2の不揮発性記憶要素に対応しており、
前記第2物理状態又は前記第4物理状態が、前記上側ページの第2のデータを記憶する前記第2の不揮発性記憶要素に対応している請求項1から6のいずれか一項に記載の方法。
The second non-volatile storage element stores upper page data and lower page data;
Reading the second non-volatile storage element in response to the request comprises reading the upper page data of the second non-volatile storage element;
The second level and the third level of the second reference are based on the upper page data of the second nonvolatile storage element and not on the lower page data;
The first physical state or the third physical state corresponds to the second non-volatile storage element storing the first data of the upper page;
The said 2nd physical state or the said 4th physical state respond | corresponds to the said 2nd non-volatile storage element which memorize | stores the 2nd data of the said upper page. Method.
前記第1の不揮発性記憶要素が、第1の論理ページと第2の論理ページのデータを記憶しており、
前記第2の不揮発性記憶要素が、第3の論理ページと第4の論理ページのデータを記憶しており、
前記第1の不揮発性記憶要素によって記憶される前記第2の論理ページの前記データが、前記第2の不揮発性記憶要素によって記憶される前記第3の論理ページの前記データをプログラムした後であって、前記第2の不揮発性記憶要素によって前記第4の論理ページのために記憶される前記データをプログラムする前にプログラムされる請求項1から6のいずれか一項に記載の方法。
The first non-volatile storage element stores data of a first logical page and a second logical page;
The second non-volatile storage element stores data of a third logical page and a fourth logical page;
The data of the second logical page stored by the first non-volatile storage element is after programming the data of the third logical page stored by the second non-volatile storage element. The method of any one of claims 1 to 6, programmed prior to programming the data stored for the fourth logical page by the second non-volatile storage element.
前記第1の不揮発性記憶要素が、第1のワードラインに接続されており、
前記第2の不揮発性記憶要素が、前記第1のワードラインに隣接する第2のワードラインに接続されており、
前記第1のワードラインに接続された不揮発性記憶要素のデータをプログラムすることが、前記第2のワードラインに接続された不揮発性記憶要素のデータをプログラムする前に開始される請求項1から8のいずれか一項に記載の方法。
The first non-volatile storage element is connected to a first word line;
The second non-volatile storage element is connected to a second word line adjacent to the first word line;
The programming of data in a non-volatile storage element connected to the first word line is initiated before programming data in a non-volatile storage element connected to the second word line. 9. The method according to any one of items 8.
前記第1の不揮発性記憶要素が、マルチ状態NANDフラッシュメモリ装置である請求項1から9のいずれか一項に記載の方法。  The method of any one of claims 1 to 9, wherein the first non-volatile storage element is a multi-state NAND flash memory device. 前記第1の不揮発性記憶要素がフラッシュメモリ装置のアレイの一部であり、
前記アレイが、ホストシステムから取り外し可能である請求項1から10のいずれか一項に記載の方法。
The first non-volatile storage element is part of an array of flash memory devices;
The method of any one of claims 1 to 10, wherein the array is removable from a host system.
少なくとも4つの物理状態にデータを記憶できる複数の不揮発性記憶要素と、
前記複数の不揮発性記憶要素と通信する管理回路とを備えており、
前記管理回路は、
第1の不揮発性記憶要素を読み出す要求を受け取り、前記要求に応えて前記第1の不揮発性記憶要素に隣接する第2の不揮発性記憶要素を読み出し、
前記第2の不揮発性記憶要素は、第1物理状態と、第1物理状態よりも電荷レベルが高い第2物理状態と、第2物理状態よりも電荷レベルが高い第3物理状態と、第3物理状態よりも電荷レベルが高い第4物理状態にデータを記憶でき、
第1のプログラム状態と前記第1のプログラム状態より第1の量だけ電荷レベルが高い第2のプログラム状態の間のレベルにおいて、前記第1の不揮発性記憶要素を読み出すために第1の基準を適用し、
前記第2のプログラム状態と前記第2のプログラム状態より第2の量だけ電荷レベルが高い前記第3のプログラム状態の間のレベルにおいて、前記第1の不揮発性記憶要素を読み出すために第2の基準を適用することによって前記第1の不揮発性記憶要素を読み出し、
第2の量は、第1の量よりも小さく、
前記第2の不揮発性記憶要素が前記第1物理状態又は前記第3物理状態である場合に、第1のレベルで前記第1の基準を適用した結果と、第2のレベルで前記第2の基準を適用した結果を使用して、前記第1の不揮発性記憶要素のデータを決定し、
前記第2の不揮発性記憶要素が前記第2物理状態又は前記第4物理状態である場合に、前記第1のレベルで前記第1の基準を適用した結果と、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合に基づく分だけ第2のレベルをオフセットした第3のレベルで前記第2の基準を適用した結果を使用して、前記第1の不揮発性記憶要素のデータを決定する不揮発性メモリシステム。
A plurality of non-volatile storage elements capable of storing data in at least four physical states;
A management circuit in communication with the plurality of non-volatile storage elements,
The management circuit includes:
Receiving a request to read a first non-volatile storage element and reading a second non-volatile storage element adjacent to the first non-volatile storage element in response to the request;
The second nonvolatile memory element includes a first physical state, a second physical state having a higher charge level than the first physical state, a third physical state having a higher charge level than the second physical state, and a third Data can be stored in a fourth physical state having a higher charge level than the physical state;
A first reference for reading the first non-volatile storage element at a level between a first program state and a second program state having a charge level that is higher by a first amount than the first program state Apply
To read the first non-volatile storage element at a level between the second program state and the third program state that has a charge level that is a second amount higher than the second program state. Reading the first non-volatile storage element by applying the criteria of:
The second amount is less than the first amount;
When the second non-volatile storage element is in the first physical state or the third physical state , the result of applying the first criterion at a first level, and the second level at the second level Using the result of applying the criteria to determine the data of the first non-volatile storage element;
A result of applying the first criterion at the first level when the second non-volatile storage element is in the second physical state or the fourth physical state; and the first non-volatile storage element And using the result of applying the second criterion at a third level offset by a second level by a floating gate coupling between the first nonvolatile memory element and the second nonvolatile storage element, A non-volatile memory system for determining data of a sexual storage element.
前記第1の不揮発性記憶要素が第1のワードラインに結合される不揮発性記憶要素のセットの一部であり、
前記管理回路が、
前記第1のプログラム状態、前記第2のプログラム状態、及び前記第3のプログラム状態を含む複数の物理状態に不揮発性記憶要素の前記セットをプログラムし、
前記第1のプログラム状態にプログラムされる前記セットの不揮発性記憶要素が、前記第1のプログラム状態に対応する第1のターゲットレベルに到達しているか否かを検証し、
前記第2のプログラム状態にプログラムされる前記セットの不揮発性記憶要素が、前記第2のプログラム状態に対応するとともに、第1の量だけ前記第1のターゲットレベルから離間されている前記第2のターゲットレベルに到達しているか否かを検証し、
前記第3のプログラム状態にプログラムされる前記セットの不揮発性記憶要素が、前記第3のプログラム状態に対応するとともに、前記第1の量より小さい第2の量だけ前記第2のターゲットレベルから離間されている第3のターゲットレベルに到達しているか否かを検証する請求項12に記載の不揮発性メモリシステム。
The first non-volatile storage element is part of a set of non-volatile storage elements coupled to a first word line;
The management circuit is
Programming the set of non-volatile storage elements into a plurality of physical states including the first program state, the second program state, and the third program state;
It said non-volatile storage elements of said set to be programmed to a first programmed state, to verify whether reaches the first target level corresponding to said first programmed state,
The set of non-volatile storage elements programmed to the second program state corresponds to the second program state and is separated from the first target level by a first amount. Verify that the target level has been reached,
The set of non-volatile storage elements programmed to the third program state corresponds to the third program state and is spaced from the second target level by a second amount that is less than the first amount. The non-volatile memory system according to claim 12, wherein it is verified whether or not a third target level is reached.
前記第1のレベルで前記第1の基準を適用することが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合を補償せず、
前記第2のレベルで前記第2の基準を適用することが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合を補償せず、
前記第3のレベルで前記第2の基準を適用することが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間のフローティングゲート結合を補償する請求項12又は13に記載の不揮発性メモリシステム。
Applying the first criterion at the first level does not compensate for floating gate coupling between the first non-volatile storage element and the second non-volatile storage element;
Applying the second criterion at the second level does not compensate for floating gate coupling between the first and second non-volatile storage elements;
14. Applying the second criterion at the third level compensates for floating gate coupling between the first and second non-volatile storage elements. Non-volatile memory system.
前記第2の不揮発性記憶要素が前記第2物理状態又は前記第4物理状態である場合に、
前記第1の不揮発性記憶要素の制御ゲートに前記第1のレベルでの前記第1の基準に対応する第1の電圧を印加して、前記第1の不揮発性記憶要素の導通を検知し、
前記第1の不揮発性記憶要素の前記制御ゲートに前記第2のレベルでの前記第2の基準に対応する第2の電圧を印加して、前記第1の不揮発性記憶要素の導通を検知し、
前記第1の不揮発性記憶要素の前記制御ゲートに前記第3のレベルでの前記第2の基準に対応するとともに前記第2の電圧にオフセットを加えた電圧に等しい第3の電圧を印加して、前記第1の不揮発性記憶要素の導通を検知し、
前記第1の電圧を印加した前記結果を選択し、前記第3の電圧を印加した前記結果を選択し、前記第2の電圧を印加した前記結果を無視することにより前記第1の不揮発性記憶要素の前記データを決定することによって、前記管理回路が前記第1の不揮発性記憶要素のデータを決定する請求項12から14のいずれか一項に記載の不揮発性メモリシステム。
When the second non-volatile storage element is in the second physical state or the fourth physical state ,
Applying a first voltage corresponding to the first reference at the first level to a control gate of the first non-volatile storage element to detect conduction of the first non-volatile storage element;
Applying a second voltage corresponding to the second reference at the second level to the control gate of the first non-volatile storage element to detect conduction of the first non-volatile storage element. ,
Applying a third voltage corresponding to the second reference at the third level and equal to a voltage obtained by adding an offset to the second voltage to the control gate of the first nonvolatile memory element; Detecting conduction of the first non-volatile storage element;
The first nonvolatile memory is selected by selecting the result of applying the first voltage, selecting the result of applying the third voltage, and ignoring the result of applying the second voltage. 15. The nonvolatile memory system according to any one of claims 12 to 14, wherein the management circuit determines data of the first nonvolatile storage element by determining the data of an element.
前記オフセットが、前記第1の不揮発性記憶要素と前記第2の不揮発性記憶要素の間の前記フローティングゲート結合に基づいた前記第1の不揮発性記憶要素の閾値電圧の見かけの変化と実質的に等しい請求項15に記載の不揮発性メモリシステム。  The offset is substantially different from an apparent change in threshold voltage of the first non-volatile storage element based on the floating gate coupling between the first non-volatile storage element and the second non-volatile storage element. The non-volatile memory system of claim 15, which is equal. 前記第1物理状態が消去状態であり、
前記第2物理状態が前記第1のプログラム状態であり、
前記第3物理状態が前記第2のプログラム状態であり、
前記第4物理状態が前記第3のプログラム状態である請求項12から16のいずれか一項に記載の不揮発性メモリシステム。
The first physical state is an erased state;
The second physical state is the first program state;
The third physical state is the second program state;
The fourth physical state nonvolatile memory system according to either one of said third programmed state der Ru claims 12 to 16.
前記第2の不揮発性記憶要素が上側ページデータと下側ページデータを記憶し、
前記要求に応えて前記第2の不揮発性記憶要素を読み出すことが、前記第2の不揮発性記憶要素の前記上側ページデータを読み出す工程を備えており、
前記第2の基準の前記第2のレベルと第3のレベルが、前記第2の不揮発性記憶要素の前記上側ページデータに基づいているとともに前記下側ページデータには基づいておらず、
前記第1物理状態又は前記第3物理状態が、前記上側ページの第1のデータを記憶する前記第2の不揮発性記憶要素に対応しており、
前記第2物理状態又は前記第4物理状態が、前記上側ページの第2のデータを記憶する前記第2の不揮発性記憶要素に対応している請求項12から17のいずれか一項に記載の不揮発性メモリシステム。
The second non-volatile storage element stores upper page data and lower page data;
Reading the second non-volatile storage element in response to the request comprises reading the upper page data of the second non-volatile storage element;
The second level and the third level of the second reference are based on the upper page data of the second nonvolatile storage element and not on the lower page data;
The first physical state or the third physical state corresponds to the second non-volatile storage element storing the first data of the upper page;
The said 2nd physical state or the said 4th physical state respond | corresponds to the said 2nd non-volatile storage element which memorize | stores the 2nd data of the said upper page. Non-volatile memory system.
前記第1の不揮発性記憶要素が、第1の論理ページと第2の論理ページのデータを記憶しており、
前記第2の不揮発性記憶要素が、第3の論理ページと第4の論理ページのデータを記憶しており、
前記第1の不揮発性記憶要素によって記憶される前記第2の論理ページの前記データが、前記第2の不揮発性記憶要素によって記憶される前記第3の論理ページの前記データをプログラムした後であって、前記第2の不揮発性記憶要素によって前記第4の論理ページのために記憶される前記データをプログラムする前にプログラムされる請求項12から17のいずれか一項に記載の不揮発性メモリシステム。
The first non-volatile storage element stores data of a first logical page and a second logical page;
The second non-volatile storage element stores data of a third logical page and a fourth logical page;
The data of the second logical page stored by the first non-volatile storage element is after programming the data of the third logical page stored by the second non-volatile storage element. 18. A non-volatile memory system according to any one of claims 12 to 17 programmed prior to programming the data stored for the fourth logical page by the second non-volatile storage element. .
前記第1の不揮発性記憶要素が、第1のワードラインに接続されており、
前記第2の不揮発性記憶要素が、前記第1のワードラインに隣接する第2のワードラインに接続されており、
前記第1のワードラインに接続された不揮発性記憶要素にデータをプログラムすることが、前記第2のワードラインに接続された不揮発性記憶要素のデータをプログラムする前に開始される請求項12から19のいずれか一項に記載の不揮発性メモリシステム。
The first non-volatile storage element is connected to a first word line;
The second non-volatile storage element is connected to a second word line adjacent to the first word line;
The programming of data into a non-volatile storage element connected to the first word line is initiated prior to programming data of a non-volatile storage element connected to the second word line. The non-volatile memory system according to any one of 19.
前記第1の不揮発性記憶要素が、マルチ状態NANDフラッシュメモリ装置である請求項12から20のいずれか一項に記載の不揮発性メモリシステム。  21. The nonvolatile memory system according to any one of claims 12 to 20, wherein the first nonvolatile storage element is a multi-state NAND flash memory device. 前記第1の不揮発性記憶要素がフラッシュメモリ装置のアレイの一部であり、
前記アレイが、ホストシステムから取り外し可能である請求項12から21のいずれか一項に記載の不揮発性メモリシステム。
The first non-volatile storage element is part of an array of flash memory devices;
The non-volatile memory system according to any one of claims 12 to 21, wherein the array is removable from a host system.
JP2009516620A 2006-06-19 2007-05-25 Detecting individual size margin in nonvolatile memory read operation improvement and detection by compensation in selected state Expired - Fee Related JP4912460B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/425,111 US7606084B2 (en) 2006-06-19 2006-06-19 Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US11/425,116 US7352628B2 (en) 2006-06-19 2006-06-19 Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US11/425,111 2006-06-19
US11/425,116 2006-06-19
PCT/US2007/069713 WO2007149678A2 (en) 2006-06-19 2007-05-25 Programming defferently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory

Publications (2)

Publication Number Publication Date
JP2009541910A JP2009541910A (en) 2009-11-26
JP4912460B2 true JP4912460B2 (en) 2012-04-11

Family

ID=38834213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009516620A Expired - Fee Related JP4912460B2 (en) 2006-06-19 2007-05-25 Detecting individual size margin in nonvolatile memory read operation improvement and detection by compensation in selected state

Country Status (5)

Country Link
JP (1) JP4912460B2 (en)
KR (2) KR101041595B1 (en)
CN (1) CN102306501B (en)
TW (2) TWI451422B (en)
WO (1) WO2007149678A2 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639532B2 (en) * 2007-10-10 2009-12-29 Micron Technology, Inc. Non-equal threshold voltage ranges in MLC NAND
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
JP5710475B2 (en) * 2008-07-01 2015-04-30 エルエスアイ コーポレーション Method and apparatus for soft demapping and inter-cell interference mitigation in flash memory
JP5535219B2 (en) 2008-09-30 2014-07-02 エルエスアイ コーポレーション Method and apparatus for soft data generation in a memory device using a reference cell
US7813181B2 (en) 2008-12-31 2010-10-12 Sandisk Corporation Non-volatile memory and method for sensing with pipelined corrections for neighboring perturbations
US8429500B2 (en) 2010-03-31 2013-04-23 Lsi Corporation Methods and apparatus for computing a probability value of a received value in communication or storage systems
US8775913B2 (en) 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
US8504885B2 (en) 2010-03-31 2013-08-06 Lsi Corporation Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems
JP2012069192A (en) * 2010-09-22 2012-04-05 Toshiba Corp Memory system
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US9292377B2 (en) 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US9502117B2 (en) * 2011-03-14 2016-11-22 Seagate Technology Llc Cell-level statistics collection for detection and decoding in flash memories
CN102347069B (en) * 2011-05-26 2013-04-03 忆正存储技术(武汉)有限公司 Programming method for multi-layered flash memory array and switching control method thereof
US9030870B2 (en) * 2011-08-26 2015-05-12 Micron Technology, Inc. Threshold voltage compensation in a multilevel memory
US8934306B2 (en) * 2012-03-06 2015-01-13 Micron Technology, Inc. Memory and sense parameter determination methods
US9146850B2 (en) * 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US11443175B2 (en) * 2018-07-11 2022-09-13 Silicon Storage Technology, Inc. Compensation for reference transistors and memory cells in analog neuro memory in deep learning artificial neural network
US11081189B1 (en) * 2020-02-25 2021-08-03 Micron Technology, Inc. Charge loss compensation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
JP3935139B2 (en) * 2002-11-29 2007-06-20 株式会社東芝 Semiconductor memory device
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
JP3878573B2 (en) * 2003-04-16 2007-02-07 株式会社東芝 Nonvolatile semiconductor memory device
JP3913704B2 (en) * 2003-04-22 2007-05-09 株式会社東芝 Nonvolatile semiconductor memory device and electronic device using the same
US6956770B2 (en) * 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
JP4177847B2 (en) * 2006-01-06 2008-11-05 株式会社東芝 Nonvolatile semiconductor memory device

Also Published As

Publication number Publication date
JP2009541910A (en) 2009-11-26
KR101020812B1 (en) 2011-03-09
KR101041595B1 (en) 2011-06-15
TW201124991A (en) 2011-07-16
TWI451422B (en) 2014-09-01
TW200805381A (en) 2008-01-16
KR20100111735A (en) 2010-10-15
CN102306501A (en) 2012-01-04
CN102306501B (en) 2014-03-19
TWI336080B (en) 2011-01-11
WO2007149678A2 (en) 2007-12-27
WO2007149678A3 (en) 2008-04-10
KR20080111458A (en) 2008-12-23

Similar Documents

Publication Publication Date Title
JP4912460B2 (en) Detecting individual size margin in nonvolatile memory read operation improvement and detection by compensation in selected state
US7352628B2 (en) Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US7606084B2 (en) Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
TWI424436B (en) Compensating for coupling during read operations in non-volatile storage
JP4954223B2 (en) Read operation for non-volatile memory with compensation for floating gate coupling
JP4680904B2 (en) Technology for detecting over-programmed memory cells after programming of adjacent memory cells
TWI416527B (en) Method for operating non-volatile storage and non-volatile storage device
JP4754486B2 (en) Technology to detect over-programmed memory
TWI480878B (en) Multi-pass programming for memory using word line coupling
KR101094422B1 (en) Margined neighbor reading for non-volatile memory read operations including coupling compensation
TWI389124B (en) System and method for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
JP2008535145A (en) How to program higher level states more quickly into multi-level cell flash memory
KR101428767B1 (en) Reducing power consumption during read operations in non-volatile storage
KR20120039539A (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
JP4995264B2 (en) Reduction of program disturbance during reading
JP4995265B2 (en) Reduction of program disturbance during reading

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120117

R150 Certificate of patent or registration of utility model

Ref document number: 4912460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

LAPS Cancellation because of no payment of annual fees