JP2009516318A - Reverse coupling effect by timing information - Google Patents

Reverse coupling effect by timing information Download PDF

Info

Publication number
JP2009516318A
JP2009516318A JP2008540159A JP2008540159A JP2009516318A JP 2009516318 A JP2009516318 A JP 2009516318A JP 2008540159 A JP2008540159 A JP 2008540159A JP 2008540159 A JP2008540159 A JP 2008540159A JP 2009516318 A JP2009516318 A JP 2009516318A
Authority
JP
Japan
Prior art keywords
volatile storage
data
timing information
adjacent
storage elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008540159A
Other languages
Japanese (ja)
Other versions
JP4938020B2 (en
JP2009516318A5 (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/271,241 external-priority patent/US7289344B2/en
Priority claimed from US11/272,335 external-priority patent/US7289348B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009516318A publication Critical patent/JP2009516318A/en
Publication of JP2009516318A5 publication Critical patent/JP2009516318A5/ja
Application granted granted Critical
Publication of JP4938020B2 publication Critical patent/JP4938020B2/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
    • G11C16/12Programming voltage switching 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/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/3436Arrangements for verifying correct programming or erasure

Abstract

不揮発性メモリセルの浮遊ゲート(または他の電荷蓄積素子)に蓄積される見かけ上の電荷がシフトすることはあり得ることであるが、これは、隣の浮遊ゲート(または他の隣接する電荷蓄積素子)に蓄積されている電荷によって電界が結合するからである。この問題がもっとも顕著に表れるのは、互いに異なった時間にプログラムされた隣接するメモリセルの集合間である。この結合を補償するために、所定のメモリセルに対する読み出しプロセスが隣のメモリセルがこの所定のメモリセルの後にプログラムされている場合には、読み出しプロセスを隣のメモリセルのプログラム状態を考慮して実行する。隣のメモリセルが所定のメモリセルの後にプログラムされているのか、前にプログラムされているのかを判定する技法を開示する。  It is possible that the apparent charge stored in the floating gate (or other charge storage element) of the non-volatile memory cell may shift, but this is not the case with the adjacent floating gate (or other adjacent charge storage). This is because the electric field is coupled by the charge accumulated in the device. This problem is most noticeable between adjacent sets of memory cells programmed at different times. To compensate for this coupling, if the read process for a given memory cell is programmed after the given memory cell, the read process will take into account the programmed state of the neighboring memory cell. Execute. Disclosed is a technique for determining whether an adjacent memory cell is programmed after or before a given memory cell.

Description

本発明は、不揮発性メモリに関する。   The present invention relates to a nonvolatile memory.

半導体メモリは、さまざまな電子装置内で、ますます多く使用されるようになっている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピューティング装置、非モバイルコンピューティング装置、およびその他の装置の中で使用されている。電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュメモリは、最も普及している不揮発性半導体メモリである。   Semiconductor memory is increasingly used in various electronic devices. For example, non-volatile semiconductor memory is used in cell phones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices, and other devices. Electrically erasable programmable read only memory (EEPROM) and flash memory are the most popular non-volatile semiconductor memories.

従来のEEPROMとフラッシュメモリは共に、半導体基板中のチャネル領域の上方に位置するとともにチャネル領域から絶縁されている浮遊ゲートを利用している。この浮遊ゲートは、ソース領域とドレイン領域の間に位置している。制御ゲートが、浮遊ゲートの上方に設けられているとともに浮遊ゲートから絶縁されている。トランジスタの閾値電圧は、浮遊ゲート上に保持されている電荷の量によって制御される。すなわち、ソースとドレイン間を導通させる目的でトランジスタをオンさせるために制御ゲートに印加しなければならない電圧の最小値は、浮遊ゲート上の電荷のレベルによって制御される。   Both conventional EEPROM and flash memory utilize floating gates that are located above the channel region in the semiconductor substrate and insulated from the channel region. This floating gate is located between the source region and the drain region. A control gate is provided above the floating gate and insulated from the floating gate. The threshold voltage of the transistor is controlled by the amount of charge held on the floating gate. That is, the minimum voltage that must be applied to the control gate to turn on the transistor for the purpose of conducting between the source and drain is controlled by the level of charge on the floating gate.

EEPROMデバイスまたはNANDフラッシュメモリデバイスなどのフラッシュメモリデバイスをプログラムするとき、一般的には、制御ゲートにプログラム電圧を印加して、ビット線を接地する。チャネルからの電子は浮遊ゲートに注入される。電子が浮遊ゲート中に蓄積されると、浮遊ゲートは負に帯電して、メモリセルの閾値電圧が引き上げられ、これによって、メモリセルはプログラムされた状態になる。プログラミングに関するさらなる情報は、双方ともそれらの全体を参照してここに組み込む「Detecting Over Programmed Memory」という名称の米国特許第6,859,397号および2003年7月29日に出願された「Detecting Over Programmed Memory」という名称の米国特許出願第10/629,068号に見受けられる。   When programming a flash memory device, such as an EEPROM device or a NAND flash memory device, typically a program voltage is applied to the control gate to ground the bit line. Electrons from the channel are injected into the floating gate. As electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell is raised, thereby placing the memory cell in a programmed state. Further information on programming can be found in US Pat. No. 6,859,397 entitled “Detecting Over Programmed Memory”, both incorporated herein by reference in their entirety, and “Detecting Over” filed on July 29, 2003. It can be found in US patent application Ser. No. 10 / 629,068 entitled “Programmed Memory”.

EEPROMデバイスおよびフラッシュメモリデバイスのなかには、2つの範囲の電荷を記憶させるために使う浮遊ゲートを有しているものがある。したがって、メモリセルを、2つの状態(消去された状態とプログラムされた状態)のどちらかとしてプログラム/消去することを可能である。このようなフラッシュメモリは、バイナリフラッシュメモリデバイスと呼ばれることもある。   Some EEPROM and flash memory devices have floating gates that are used to store two ranges of charge. Thus, it is possible to program / erase a memory cell as one of two states: an erased state and a programmed state. Such flash memory is sometimes referred to as a binary flash memory device.

マルチステートフラッシュメモリデバイスは、禁止範囲によって分離された複数の異なる許容/有効プログラム閾値電圧範囲を特定することによって実現される。これら異なる閾値電圧範囲はそのそれぞれが、メモリデバイスの中に符号化されたデータビットの集合の所定の値に対応している。   Multi-state flash memory devices are implemented by specifying a plurality of different allowed / valid program threshold voltage ranges separated by forbidden ranges. Each of these different threshold voltage ranges corresponds to a predetermined value of the set of data bits encoded in the memory device.

浮遊ゲートに蓄積された見かけ上の電荷がシフトすることはあり得ることであるが、これは、隣接するまたは近傍の浮遊ゲートに蓄積されている電荷によって電界が結合するからである。この浮遊ゲート間の結合現象は、その全体を参照してここに組み込む米国特許第5,867,429号に記載されている。目標とする浮遊ゲートに対して結合を引き起こし得る浮遊ゲートとしては、同じビット線上にある浮遊ゲートや、同じワード線上にある浮遊ゲートや、他のビット線と他のワード線上に位置していて目標とする浮遊ゲートの向かいにある浮遊ゲートがある。   It is possible that the apparent charge stored in the floating gate is shifted, because the electric field is coupled by the charge stored in the adjacent or neighboring floating gate. This coupling phenomenon between floating gates is described in US Pat. No. 5,867,429, which is incorporated herein by reference in its entirety. Floating gates that can cause coupling to the target floating gate include floating gates on the same bit line, floating gates on the same word line, and other bit lines and other word lines. There is a floating gate opposite the floating gate.

浮遊ゲート間の結合現象は、互いに異なる時間にプログラムされたメモリセルの集合間でもっとも顕著に生じる。例えば、第1のメモリセルをプログラムして、あるレベルの電荷を1つのデータ集合に対応するその浮遊ゲートに追加する。次に、隣の1つ以上のメモリセルをプログラムして、あるレベルの電荷を、第2のデータ集合に対応するそれらの浮遊ゲートに追加する。この1つ以上の隣のメモリセルをプログラムした後では、第1のメモリセルから読み出される電荷レベルは見かけ上はプログラムされたレベルとは異なることとなるが、これは第1のメモリセルに接続されている隣のメモリセルに対して電荷が影響を与えるからである。隣のメモリセルからの結合は、読み出される電荷の見かけ上のレベルを、記憶されているデータの読み取り値を誤らせるほど変化させる。   The coupling phenomenon between floating gates is most noticeable between a set of memory cells programmed at different times. For example, a first memory cell is programmed to add a level of charge to its floating gate corresponding to a data set. Next, one or more adjacent memory cells are programmed to add a level of charge to their floating gates corresponding to the second data set. After programming this one or more neighboring memory cells, the charge level read from the first memory cell will appear to be different from the programmed level, which is connected to the first memory cell. This is because the electric charge affects the adjacent memory cell. Coupling from the adjacent memory cell changes the apparent level of the read charge so that the stored data reading is misleading.

浮遊ゲート間の結合による影響はマルチステートデバイスの場合により厄介な問題となるが、これは、マルチステートデバイスでは、閾値電圧の許容範囲と禁止範囲が、バイナリデバイスよりも狭いからである。   The effect of coupling between floating gates is a more troublesome problem with multi-state devices because the threshold voltage tolerance and prohibition ranges are narrower for binary states than for binary devices.

メモリセルのサイズが縮小するにつれて、閾値電圧の自然プログラミング分布と消去分布は増大すると考えられる。チャネルが短くなる影響、酸化膜厚/結合比率変動の増大、及び、チャネルドーパントの変動の増大のためである。したがって、隣接する状態間を分離する利用可能領域が減少すると考えられる。この影響は、2つの状態のみを用いるメモリ(バイナリメモリ)より、マルチステートメモリの場合により深刻なものとなる。さらに、ワード線間のスペースとビット線間のスペースが減少することによっても、隣接する浮遊ゲート間の結合が増大する。   As the size of the memory cell decreases, the natural programming distribution and erase distribution of the threshold voltage will increase. This is due to the effect of shortening the channel, increasing oxide film thickness / bonding ratio variation, and increasing channel dopant variation. Therefore, it is considered that the available area that separates adjacent states decreases. This effect is more severe in the case of multi-state memories than in memories that use only two states (binary memory). Further, the coupling between adjacent floating gates is increased by reducing the space between the word lines and the space between the bit lines.

隣接する浮遊ゲート間の結合を補償するために、所定のメモリセルに対する読み出しプロセスにおいて、隣のセルがこのメモリセルの次にプログラムされている場合には、この隣のメモリセルのプログラム状態を考慮する。隣のメモリセルが所定のメモリセルの前にプログラムされているか後でプログラムされているかを判定する技術を以下に開示する。   In order to compensate for coupling between adjacent floating gates, if the next cell is programmed next to this memory cell during the read process for a given memory cell, the programming state of this adjacent memory cell is taken into account. To do. Techniques for determining whether adjacent memory cells are programmed before or after a given memory cell are disclosed below.

1つの実施形態は、1つ以上の不揮発性記憶素子に記憶されるデータの集合に対してカスタマイズされたタイミング情報にアクセスするステップと、この1つ以上の不揮発性記憶素子からこのデータ集合を読み出すステップを有する。データを読み出すステップでは、タイミング情報に基づいて、このデータ集合に存在する1つ以上の潜在的エラーを選択的に補償する。   One embodiment accesses customized timing information for a set of data stored in one or more non-volatile storage elements and reads the data set from the one or more non-volatile storage elements Has steps. The step of reading data selectively compensates for one or more potential errors present in the data set based on the timing information.

1つの実施例は、複数の不揮発性記憶素子と、これらの不揮発性記憶素子に接続されているワード線の集合と、前記不揮発性記憶素子と通信する1つ以上の管理回路を有している。この1つ以上の管理回路は、所定の順序ではなく、ワード線の順序で不揮発性記憶素子にデータをプログラムする。このようにプログラムする際に、このデータのタイミング情報を記憶する。この1つ以上の管理回路は、不揮発性記憶システムからデータを読み出すが、この際に、記憶されているタイミング情報が、隣の不揮発性記憶素子がこのデータを記憶している不揮発性記憶素子よりあとでプログラムされている可能性があることを示す場合には、不揮発性記憶素子間の結合を補償する。   One embodiment includes a plurality of non-volatile storage elements, a set of word lines connected to the non-volatile storage elements, and one or more management circuits in communication with the non-volatile storage elements. . The one or more management circuits program data in the non-volatile storage elements in the order of the word lines rather than in a predetermined order. When programming in this way, the timing information of this data is stored. The one or more management circuits read data from the non-volatile storage system. At this time, the stored timing information is received from the non-volatile storage element in which the adjacent non-volatile storage element stores the data. If it indicates that it may be programmed later, it compensates for coupling between non-volatile storage elements.

本発明の実施に適した不揮発性メモリシステムの一例では、NANDフラッシュメモリ構造を使用する。NANDフラッシュメモリ構造では、2つの選択ゲートの間に複数のトランジスタが直列に配置されている。直列のトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1は、1つのNANDストリングを示す上面図である。図2は、その等価回路である。図1および図2に示すNANDストリングは、直列の4つのトランジスタ100、102、104、106を備え、第1の選択ゲート120と第2の選択ゲート122との間に挟まれている。選択ゲート120は、NANDストリングをビット線コンタクト126に接続する。選択ゲート122は、NANDストリングをソース線コンタクト128に接続する。選択ゲート120は、制御ゲート120CGに適切な電圧を印加することによって制御される。選択ゲート122は、制御ゲート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に接続されている。一実施形態ではトランジスタ100、102、104、106のそれぞれがメモリセルである。他の実施形態では、メモリセルが複数のトランジスタを含んでいてもよく、図1および図2に示した構成と異なっていてもよい。選択ゲート120は、選択線SGDに接続され、選択ゲート122は、選択線SGSに接続される。   One example of a non-volatile memory system suitable for implementing the present invention uses a NAND flash memory structure. In the NAND flash memory structure, a plurality of transistors are arranged in series between two select gates. The transistor in series and the select gate are called a NAND string. FIG. 1 is a top 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 in series, and is sandwiched between a first selection gate 120 and a second selection gate 122. Select gate 120 connects the NAND string to bit line contact 126. Select gate 122 connects the NAND string to source line contact 128. Select gate 120 is controlled by applying an appropriate voltage to control gate 120CG. Select gate 122 is controlled by applying an appropriate voltage to control gate 122CG. Each of the transistors 100, 102, 104, and 106 has a control gate and a floating gate. The transistor 100 includes a control gate 100CG and a floating gate 100FG. Transistor 102 includes a control gate 102CG and a floating gate 102FG. The transistor 104 includes 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. In one embodiment, each of transistors 100, 102, 104, 106 is a memory cell. In other embodiments, the memory cell may include a plurality of transistors and may differ from the configuration shown in FIGS. Select gate 120 is connected to select line SGD, and select gate 122 is connected to select line SGS.

図3は、上記のNANDストリングの断面図を示す。図3に示すように、NANDストリングのトランジスタはp−ウェル領域140内に形成されている。各トランジスタは、制御ゲート(100CG、102CG、104CG、および106CG)と浮遊ゲート(100FG、102FG、104FG、および106FG)からなるスタックゲート構造を備えている。浮遊ゲートは、酸化膜または他の誘電体膜上のp−ウェルの表面上に形成されている。制御ゲートは、浮遊ゲート上に位置しており、制御ゲートと浮遊ゲートは、ポリシリコン間誘電体層によって分離されている。メモリセル(100、102、104、106)の制御ゲートは、ワード線を形成している。N+ドープ層130、132、134、136、138は隣接するセル間で共有されており、これによりセルは相互に直列に接続されてNANDストリングを形成している。これらのN+ドープ層は、各セルのソースおよびドレインを形成している。例えば、N+ドープ層130は、トランジスタ122のドレイン、および、トランジスタ106のソースとして働く。N+ドープ層132は、トランジスタ106のドレイン、および、トランジスタ104のソースとして働く。N+ドープ層134は、トランジスタ104のドレイン、および、トランジスタ102のソースとして働く。N+ドープ層136は、トランジスタ102のドレイン、および、トランジスタ100のソースとして働く。N+ドープ層138は、トランジスタ100のドレイン、および、トランジスタ120のソースとして働く。N+ドープ層126は、NANDストリングのビット線に接続されており、N+ドープ層128は、複数のNANDストリングの共通ソース線に接続されている。   FIG. 3 shows a cross-sectional view of the NAND string described above. As shown in FIG. 3, the NAND string transistor is formed in the p-well region 140. Each transistor has a stack gate structure including a control gate (100CG, 102CG, 104CG, and 106CG) and a floating gate (100FG, 102FG, 104FG, and 106FG). The floating gate is formed on the surface of the p-well on the oxide film or other dielectric film. The control gate is located on the floating gate, and the control gate and the floating gate are separated by an interpolysilicon dielectric layer. The control gates of the memory cells (100, 102, 104, 106) form a word line. N + doped layers 130, 132, 134, 136, 138 are shared between adjacent cells, whereby the cells are connected in series with each other to form a NAND string. These N + doped layers form the source and drain of each cell. For example, N + doped layer 130 serves as the drain of transistor 122 and the source of transistor 106. The N + doped layer 132 serves as the drain of the transistor 106 and the source of the transistor 104. N + doped layer 134 serves as the drain of transistor 104 and the source of transistor 102. N + doped layer 136 serves as the drain of transistor 102 and the source of transistor 100. N + doped layer 138 serves as the drain of transistor 100 and the source of transistor 120. The N + doped layer 126 is connected to the bit line of the NAND string, and the N + doped layer 128 is connected to the common source line of the plurality of NAND strings.

図1〜図3では、NANDストリング内に4つのメモリセルを示しているが、4つのトランジスタを使用する構成は、一例であることに留意されたい。ここに記載される技術によって使用されるNANDストリングは、4つ未満のメモリセルを有していてもよく、または、4つを超えるメモリセルを有していてもよい。例えば、一部のNANDストリングは、8、16、32、64あるいはそれ以上の数のメモリセルなどを含むことができる。本明細書における説明は、NANDストリング内のメモリセルを特定の数に限定するものではない。   1-3, four memory cells are shown in the NAND string, but it should be noted that the configuration using four transistors is an example. NAND strings used by the techniques described herein may have less than four memory cells, or may have more than four memory cells. For example, some NAND strings can include 8, 16, 32, 64, or more memory cells. The description herein does not limit the number of memory cells in a NAND string to a specific number.

各メモリセルは、アナログまたはデジタル形式で表されたデータを記憶することが可能である。1ビットのデジタルデータを記憶する場合、メモリセルの可能な閾値電圧の範囲は、論理データ「1」および「0」が割り当てられる2つの範囲に分割される。NAND型フラッシュメモリの一例では、メモリセルの消去された後の閾値電圧は負となり、論理「1」と定義される。プログラム動作後の閾値電圧は正となり、論理「0」と定義される。閾値電圧が負の状態で制御ゲートに0Vを印加することによって読み出しが試みられた場合、メモリセルはオンになり、論理1が記憶されていることを示す。閾値電圧が正の状態で制御ゲートに0Vを印加することによって読み出し操作が試みられた場合、メモリセルはオンにならず、これは論理「0」が記憶されていることを示す。   Each memory cell can store data represented in analog or digital form. When storing 1-bit digital data, the range of possible threshold voltages of the memory cell is divided into two ranges to which logical data “1” and “0” are assigned. In an example of the NAND flash memory, the threshold voltage after the memory cell is erased becomes negative and is defined as logic “1”. The threshold voltage after the program operation is positive and is defined as logic “0”. If a read is attempted by applying 0V to the control gate with a negative threshold voltage, the memory cell is turned on, indicating a logic 1 is being stored. If a read operation is attempted by applying 0V to the control gate with the threshold voltage being positive, the memory cell is not turned on, indicating that a logic “0” is stored.

また、メモリセルは、複数の状態を記憶することも可能であり、それにより例えば複数ビットのデジタルデータを記憶することも可能である。複数の状態のデータを記憶する場合、閾値電圧の範囲は、記憶する状態の数に分割される。例えば、4つの状態の情報が使用されている場合、4つの閾値電圧範囲が存在し、それぞれにデータ値「11」、「10」、「01」、「00」が割り当てられる。NAND型メモリの一例では、消去動作の後の閾値電圧は負となり、「11」と定義される。正の閾値電圧は、「10」、「01」、「00」の状態のために使用される。一部の実施例では(上に例示したようなもの)、これらのデータ値(例えば論理状態)を、グレイコード割り当て方法を用いて閾値範囲に割り当て、これで、浮遊ゲートの閾値電圧が間違ってその隣接する物理状態にずれても、1つの論理ビットだけしか影響されないようにしている。メモリセルにプログラムされたデータとこのセルの閾値電圧範囲との間の具体的な関係は、メモリセルに対して採用されるデータ符号化スキームによって異なる。例えば、その双方の全体を参照してここに組み込む、2003年6月13日に出願された「Tracking Cells For A Memory System」という名称の米国特許第6,222,762号と米国特許出願第10/461,244号には、マルチステート式フラッシュメモリセルのさまざまなデータ符号化スキームが記載されている。   In addition, the memory cell can store a plurality of states, and for example, can store digital data of a plurality of bits. When storing data of a plurality of states, the threshold voltage range is divided into the number of states to be stored. For example, when information of four states is used, there are four threshold voltage ranges, and data values “11”, “10”, “01”, and “00” are assigned to each. In an example of the NAND memory, the threshold voltage after the erase operation is negative and is defined as “11”. A positive threshold voltage is used for states of “10”, “01”, “00”. In some embodiments (such as those illustrated above), these data values (eg, logic states) are assigned to threshold ranges using the Gray code assignment method, which causes the floating gate threshold voltage to be incorrect. Even if it shifts to the adjacent physical state, only one logical bit is affected. The specific relationship between the data programmed into the memory cell and the threshold voltage range of this cell depends on the data encoding scheme employed for the memory cell. For example, US Pat. No. 6,222,762 entitled “Tracking Cells For A Memory System” filed Jun. 13, 2003 and US patent application Ser. No. 10 filed Jun. 13, 2003, both of which are incorporated herein by reference in their entirety. / 461,244 describes various data encoding schemes for multi-state flash memory cells.

NAND型フラッシュメモリおよびそれらの動作に関連する例は、次の米国特許/特許出願で提供されており、それぞれの全体が参照により本明細書に援用される。米国特許第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第5,386,422号、米国特許第6,456,528号、および米国特許出願第09/893,277号(公開番号第US2003/0002348号)である。NAND型フラッシュメモリに加え、その他のタイプの不揮発性フラッシュメモリも本発明とともに使用されてもよい。   Examples related to NAND flash memories and their operation are provided in the following US patents / patent applications, each of which is incorporated herein by reference in its entirety. U.S. Patent 5,570,315, U.S. Patent 5,774,397, U.S. Patent 6,046,935, U.S. Patent 5,386,422, U.S. Patent 6,456,528, And US patent application Ser. No. 09 / 893,277 (publication number US2003 / 0002348). In addition to NAND flash memory, other types of non-volatile flash memory may also be used with the present invention.

フラッシュEEPROMシステムで役に立つ別のタイプのメモリセルは、導電性の浮遊ゲートの代わりに非導電性の誘電性材料を利用して、電荷を不揮発式に蓄積している。このようなセルが、1987年3月に発行されたIEEEのエレクトロン・デバイス・レターの第EDL−8巻の第3号の、チャンらによる「A True Single−Transistor Oxide−Nitride−Oxide EEPROM Device」という記事の93〜95ページに記載されている。シリコン酸化物、シリコン窒化物、シリコン酸化物(“ONO”)で形成された三層誘電体を、メモリセルのチャネル上で、導電性の制御ゲートと半導電性基板の表面とで挟んでいる。このセルは、セルのチャネルから窒素中に電子を注入し、この窒素中でこれらの電子が限られた領域中に捕獲されて蓄積されることによってプログラムされる。すると、この蓄積された電荷のため、このセルのチャネルのある部分の閾値電圧が変化するが、この変化は検出可能である。このセルは、ホットホールを窒素中に注入することによって消去される。また、1991年4月に発行されたソリッドステート回路に関するIEEEジャーナルの第26巻の第4号のノザキらによる「A 1−Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application」の497〜501ページを読めば、ドーピングされた多結晶シリコンゲートがメモリセルチャネルのある部分上を伸張して、互いに分離された選択トランジスタを形成している分離ゲート構造の類似のセルが記述されている。前述の2つの記事の全体を参照してここに組み込む。参照してここに組み込む、1998年のIEEEプレスのウイリアム・D・ブラウン(William D. Brown)とジョー・E・ブルーワ(Joe E. Brewer)によって編集された「Nonvolatile Semiconductor Memory Technology」の1.2章に言及されているプログラミング技法もまた、誘電性電荷捕獲デバイスに応用可能であるとこの章に記述されている。このパラグラフに記述されているメモリセルもまた、隣接するメモリセル間で結合している。したがって、本書に記載する技術もまた、互いに異なったメモリセルの誘電体領域間での結合に当てはまる。   Another type of memory cell useful in flash EEPROM systems utilizes a non-conductive dielectric material instead of a conductive floating gate to store charge in a non-volatile manner. Such a cell is described by Chang et al., “A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device” in EDL-8, Volume 3 of IEEE Electron Device Letter, published in March 1987. It is described in pages 93-95 of the article. A three-layer dielectric formed of silicon oxide, silicon nitride, and silicon oxide (“ONO”) is sandwiched between the conductive control gate and the surface of the semiconductive substrate on the channel of the memory cell. . The cell is programmed by injecting electrons from the cell channel into the nitrogen where they are trapped and stored in a limited area. This accumulated charge then changes the threshold voltage of a portion of the cell's channel, but this change is detectable. This cell is erased by injecting hot holes into the nitrogen. Also, read pages 497-501 of “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disc Application” by Nozaki et al., Volume 26, Issue 4 of the IEEE Journal on Solid State Circuits published in April 1991. For example, a similar cell of an isolated gate structure has been described in which a doped polycrystalline silicon gate extends over a portion of a memory cell channel to form select transistors that are isolated from each other. The entirety of the above two articles is incorporated herein by reference. "Nonvolatile Semiconductor Memory Technology 1.2" edited by William D. Brown and Joe E. Brewer of the 1998 IEEE Press, incorporated herein by reference. The programming techniques mentioned in the chapter are also described in this chapter as being applicable to dielectric charge trapping devices. The memory cells described in this paragraph are also coupled between adjacent memory cells. Accordingly, the techniques described herein also apply to coupling between dielectric regions of different memory cells.

各々のセルに2ビットを記憶する別の方式が、2000年11月に発行されたIEEEのエレクトロン・デバイス・レターの第21巻の第11号のエイタン(Eitan)らによる「NROM:A Novel Localized Trapping, 2−Bit Nonvolatile Memory Cell」の543〜545ページに記載されている。ONO誘電体層が、ソースドープ層とドレインドープ層間のチャネル上を伸張している。一方のデータビットに対する電荷がドレインに隣り合った誘電体層中で局所化され、他方のデータビット用の電荷がソースに隣り合った誘電体層中で局所化される。マルチステートデータストレージは、誘電体内部の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み取ることによって記憶される。このパラグラフに記述するメモリセルもまた、本発明で用いることが可能である。   Another method of storing two bits in each cell is described by Eitan et al., Volume 21, Issue 11 of the IEEE Electron Device Letter, published in November 2000, “NROM: A Novel Localized “Trapping, 2-Bit Nonvolatile Memory Cell”, pages 543-545. An ONO dielectric layer extends over the channel between the source and drain doped layers. The charge for one data bit is localized in the dielectric layer adjacent to the drain, and the charge for the other data bit is localized in the dielectric layer adjacent to the source. Multi-state data storage is stored by separately reading the binary states of the spatially separated charge storage regions inside the dielectric. The memory cells described in this paragraph can also be used in the present invention.

図4は、フラッシュメモリシステムの一実施形態のブロック図である。このシステムでは、メモリセルアレイ202は、列制御回路204と、行制御回路206と、C−ソース制御回路210と、p−ウェル制御回路208によって制御される。列制御回路204は、メモリセル内に記憶されたデータを読み出すために、プログラム動作中のメモリセルの状態を判定するために、およびビット線の電位レベルを制御してプログラミングを促進またはプログラミングを抑止するために、メモリセルアレイ202のビット線に接続されている。行制御回路206は、ワード線のうちのいずれかを選択し、読み出し電圧を印加し、プログラム電圧を印加するために、および、消去電圧を印加するために、ワード線に接続されている。例えば、EPROMおよびフラッシュメモリ回路で使用するプログラム電圧レベルは、通常のメモリ回路で使用される電圧より高い。これらは回路に供給される電圧より高いことが多い。これらの高い電圧は、好ましくは行制御回路206(あるいは別の場所)内の電荷ポンプによって生成される。行制御回路206は、一例において、本質的に容量性ワード線に電荷を投入し、電圧を高くする。電荷ポンプは入力を電圧Vinで受け取り、入力された電圧を電圧増幅の過程において徐々に上昇させ、より高い電圧Voutを出力する。出力された電圧は負荷、例えばEPROMメモリ回路のワード線に供給する。いくつかの実施例においては、負荷から電荷ポンプへフィードバック信号が送られる。従来技術のポンプは、負荷が所定の電圧に達したことを示す信号に応答して停止する。また、負荷が所定の電圧に達すると、過電荷を防ぐために分路が使用される。しかし、これはより多くの電力を消費し、低電圧印加の際には望ましくない。電荷ポンプに関する詳細な情報は、その全体が参照としてここに組み込まれる米国特許第6,734,718号に記載されている。   FIG. 4 is a block diagram of one embodiment of a flash memory system. In this system, the memory cell array 202 is controlled by a column control circuit 204, a row control circuit 206, a C-source control circuit 210, and a p-well control circuit 208. The column control circuit 204 facilitates programming or inhibits programming by reading data stored in the memory cells, determining the state of the memory cells during a program operation, and controlling the potential level of the bit lines. In order to do this, it is connected to the bit line of the memory cell array 202. The row control circuit 206 is connected to the word line to select any of the word lines, apply a read voltage, apply a program voltage, and apply an erase voltage. For example, the program voltage level used in EPROM and flash memory circuits is higher than the voltage used in normal memory circuits. These are often higher than the voltage supplied to the circuit. These high voltages are preferably generated by a charge pump in the row control circuit 206 (or elsewhere). The row control circuit 206, in one example, essentially charges the capacitive word line and raises the voltage. The charge pump receives the input at the voltage Vin, gradually increases the input voltage in the process of voltage amplification, and outputs a higher voltage Vout. The output voltage is supplied to a load, for example, a word line of an EPROM memory circuit. In some embodiments, a feedback signal is sent from the load to the charge pump. Prior art pumps stop in response to a signal indicating that the load has reached a predetermined voltage. Also, when the load reaches a predetermined voltage, a shunt is used to prevent overcharge. However, this consumes more power and is not desirable when applying low voltages. Detailed information regarding the charge pump is described in US Pat. No. 6,734,718, which is hereby incorporated by reference in its entirety.

C−ソース制御回路210は、メモリセルに接続された共通ソース線(図5に「C−ソース」として示す)を制御する。P−ウェル制御回路208は、p−ウェル電圧を制御する。   The C-source control circuit 210 controls a common source line (shown as “C-source” in FIG. 5) connected to the memory cell. The P-well control circuit 208 controls the p-well voltage.

メモリセル内に記憶されたデータは、列制御回路204によって読み出され、データ入力/出力バッファ212を経由して、外部I/O線に出力される。メモリセル内に記憶されるプログラムデータは、外部I/O線を経由してデータ入力/出力バッファ212に入力され、列制御回路204に転送される。外部I/O線は、コントローラ218に接続される。   Data stored in the memory cell is read by the column control circuit 204 and output to the external I / O line via the data input / output buffer 212. Program data stored in the memory cell is input to the data input / output buffer 212 via the external I / O line and transferred to the column control circuit 204. The external I / O line is connected to the controller 218.

フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ218に入力される。コマンドデータは、どのような動作が要求されているのかをフラッシュメモリに通知する。入力コマンドは、列制御回路204と、行制御回路206と、C−ソース制御210と、p−ウェル制御回路208と、データ入力/出力バッファ212とを制御する状態マシン216に転送される。状態マシン216は、さらに、レディ(READY)/ビジー(BUSY)や、パス(PASS)/フェイル(FAIL)などの、フラッシュメモリのステータスデータを出力してもよい。いくつかの実施形態において、状態マシン216は、以下に説明するフローチャートに描かれる工程を含むプログラミングプロセス、検証プロセス、読み出しプロセスの管理を担う。   Command data for controlling the flash memory device is input to the controller 218. The command data notifies the flash memory of what operation is requested. Input commands are forwarded to state machine 216 that controls column control circuit 204, row control circuit 206, C-source control 210, p-well control circuit 208, and data input / output buffer 212. The state machine 216 may further output flash memory status data such as ready / busy (BUSY) or pass / fail (FAIL). In some embodiments, the state machine 216 is responsible for managing a programming process, a verification process, and a read process, including the steps depicted in the flowcharts described below.

コントローラ218は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムに接続されている、または、接続可能である。コントローラ218は、ホストからコマンドをおよびデータを受信し、ホストにデータおよびステータス情報を提供するために、ホストと通信を行う。コントローラ218は、ホストからのコマンドを、状態マシン216と通信しているコマンド回路214が解読して実行可能なコマンド信号に変換する。コントローラ218は、通常、メモリアレイに書き込まれるか、あるいは、メモリアレイから読み出されるユーザデータのためのバッファメモリを有している。いくつかの実施例においては、プログラミングプロセスはこのコントローラによって管理できる。   The controller 218 is connected to or connectable to a host system such as a personal computer, a digital camera, or a personal digital assistant. Controller 218 receives commands and data from the host and communicates with the host to provide data and status information to the host. Controller 218 converts commands from the host into command signals that can be decoded and executed by command circuit 214 in communication with state machine 216. The controller 218 typically has a buffer memory for user data that is written to or read from the memory array. In some embodiments, the programming process can be managed by this controller.

一例のメモリシステムは、コントローラ218を含む1つの集積回路と、1つ以上の集積回路チップ(それぞれがメモリアレイと、関連する制御、入力/出力、および状態マシン回路とを含む)を備える。メモリアレイとシステムのコントローラ回路は、1つ以上の集積回路チップ上に一緒に統合される傾向にある。メモリシステムは、ホストシステムの一部として組み込まれていてもよく、または、ホストシステムに着脱可能に挿入されるメモリカード(またはその他のパッケージ)内に含まれていてもよい。そのような着脱可能なカードは、メモリシステム全体(例えば、コントローラを含む)を含んでいてもよく、または、メモリアレイおよび関連する周辺回路のみを含んでいてもよい(コントローラはホスト内に組み込まれる)。このように、コントローラ(または制御機能)は、ホスト内に組み込まれることも、または着脱可能なメモリシステム内に含まれることも可能である。   An example memory system includes one integrated circuit that includes a controller 218 and one or more integrated circuit chips, each including a memory array and associated control, input / output, and state machine circuits. Memory arrays and system controller circuits tend to be integrated together on one or more integrated circuit chips. The memory system may be incorporated as part of the host system or may be included in a memory card (or other package) that is removably inserted into the host system. Such removable cards may include the entire memory system (eg, including a controller) or may include only the memory array and associated peripheral circuitry (the controller is embedded within the host). ). In this way, the controller (or control function) can be embedded in the host or included in a removable memory system.

一部の実施形態では、図4のコンポーネントには、組み合わせることが可能なものもある。さまざまな設計で、図4のコンポーネント(単体または組み合わせたもの)のうちで、メモリセルアレイ202以外の1つ以上のコンポーネントが、制御回路と考えることが可能である。例えば、1つ以上の制御回路は、コマンド回路、状態マシン、行制御回路、列制御回路、ウェル制御回路、ソース制御回路およびデータ入/出力回路のうちのどれか1つまたはこれらを組み合わせたものを含んでよい。   In some embodiments, some of the components of FIG. 4 can be combined. In various designs, one or more of the components of FIG. 4 (single or combined) other than the memory cell array 202 can be considered a control circuit. For example, the one or more control circuits may be any one or a combination of a command circuit, a state machine, a row control circuit, a column control circuit, a well control circuit, a source control circuit, and a data input / output circuit. May be included.

図5を参照して、メモリセルアレイ202の構造の例を説明する。一例として、1,024個のブロックに区分けされているNAND型フラッシュEEPROMを説明する。各ブロックに記憶されたデータは同時に消去される。一実施形態では、ブロックは、同時に消去されるセルの最小単位である。本実施形態において、各ブロックには8,512列あり、偶数および奇数列に分割される。ビット線もまた偶数のビット線(BLe)および奇数のビット線(BLo)に分割される。図5は、直列に接続され、NANDストリングを形成する4つのメモリセルを示す。4つのセルは各NANDストリングに含まれるように図示されているが、使用するセルの数は4つ以上でも4つ以下でもよい。NANDストリングの一方の端子は、選択トランジスタSGDを介して対応するビット線に接続され、もう一方の端子は、第2の選択トランジスタSGSを介してC−ソース線に接続されている。   An example of the structure of the memory cell array 202 will be described with reference to FIG. As an example, a NAND type flash EEPROM divided into 1,024 blocks will be described. Data stored in each block is simultaneously erased. In one embodiment, a block is the smallest unit of cells that are simultaneously erased. In this embodiment, each block has 8,512 columns and is divided into even and odd columns. The bit lines are also divided into even bit lines (BLe) and odd bit lines (BLo). 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, the number of cells used may be four or more or four or less. One terminal of the NAND string is connected to the corresponding bit line via the selection transistor SGD, and the other terminal is connected to the C-source line via the second selection transistor SGS.

読み出しおよびプログラミング動作の一実施形態の間は、4,256のメモリセルが同時に選択される。選択されたメモリセルは、同じワード線と、同じ種類のビット線(例えば、偶数ビット線または奇数ビット線)とを有する。したがって、532バイトのデータが同時に読み出しまたはプログラムされることが可能である。532バイトのデータが、論理ページを形成し、同時に読み出しまたはプログラムされることが可能である。したがって、1つのブロックは、少なくとも8つの論理ページを記憶することが可能である(4本のワード線、それぞれが奇数および偶数ページを有する)。マルチステートメモリセルの場合、各メモリセルが2ビットのデータ(例えばマルチステートメモリセル)を記憶し、これら2ビットがそれぞれ異なったページに記憶される場合、1つのブロックは16の論理ページを記憶する。他のサイズのブロックおよびページも、本発明とともに使用されてもよい。さらに、図4および図5に示す構造以外の構造を、本発明を実施するために使用することもできる。例えば、一実施形態において、ビット線は、全てのビット線がプログラムされかつ同時に(あるいは非同時に)読み取りされるように奇数と偶数の線に分割されない。   During one embodiment of read and programming operations, 4,256 memory cells are simultaneously selected. The selected memory cells have the same word line and the same type of bit line (for example, even bit line or odd bit line). Thus, 532 bytes of data can be read or programmed simultaneously. 532 bytes of data form a logical page and can be read or programmed simultaneously. Thus, one block can store at least 8 logical pages (4 word lines, each with odd and even pages). In the case of multi-state memory cells, each memory cell stores 2 bits of data (eg, a multi-state memory cell), and if these 2 bits are stored on different pages, one block stores 16 logical pages. To do. Other sized blocks and pages may also be used with the present invention. Furthermore, structures other than those shown in FIGS. 4 and 5 can be used to practice the present invention. For example, in one embodiment, the bit lines are not divided into odd and even lines so that all bit lines are programmed and read simultaneously (or non-simultaneously).

メモリセルの消去は、p−ウェルを消去電圧(例えば、20ボルト)まで引き上げるとともに、選択されたブロックのワード線を接地することによって行われる。ソースおよびビット線はフローティングとする。消去は、メモリアレイ全体、独立したブロック、またはセルの別の単位に対して実行することができる。浮遊ゲートから電子がp−ウェル領域に移送され、閾値電圧は負になる。   The memory cell is erased by raising the p-well to an erase voltage (for example, 20 volts) and grounding the word line of the selected block. The source and bit lines are floating. Erasing can be performed on the entire memory array, an independent block, or another unit of cells. Electrons are transferred from the floating gate to the p-well region and the threshold voltage becomes negative.

読み出しおよび検証動作では、トランジスタをパスゲートとして動作させるために、選択ゲート(SGDおよびSGS)と、選択されないワード線(例えば、WL0、WL2、およびWL3)が、読み出しパス電圧(例えば、4.5ボルト)まで引き上げられる。選択されたワード(例えば線WL1)は、各読み出しおよび検証動作について指定されたレベルの電圧に接続され、関連するメモリセルの閾値電圧が指定されたレベルの電圧より上であるか下であるかが判定される。例えば、2レベル型のメモリセルの読み出し動作では、選択されたワード線WL1を接地してもよく、それによって閾値電圧が0Vよりも高いか否かが検出される。2レベル型のメモリセルの検証動作では、選択されたワード線WL1を例えば0.8Vに接続し、それによって閾値電圧が少なくとも0.8Vに到達しているのか否かが検証される。ソースおよびp−ウェルは0ボルトである。選択されたビット線(BLe)は、例えば0.7Vのレベルに予備チャージされる。閾値電圧が、ワード線上の読み出しまたは検証レベルよりも高い場合、該当するセルと関連するビット線(BLe)の電位レベルは、非導電性のメモリセルのため、高いレベルに維持される。一方、閾値電圧が、読み出しまたは検証レベルよりも低い場合、関連するビット線(BLe)の電位レベルは、導電性のメモリセルがビット線を放電するため、例えば0.5V未満の低いレベルに低下する。これによって、メモリセルの状態が、ビット線に接続された電圧比較器センス増幅器により検出される。   In read and verify operations, select gates (SGD and SGS) and unselected word lines (eg, WL0, WL2, and WL3) are connected to a read pass voltage (eg, 4.5 volts) to operate the transistors as pass gates. ). The selected word (eg, line WL1) is connected to a specified level voltage for each read and verify operation, and whether the threshold voltage of the associated memory cell is above or below the specified level voltage. Is determined. For example, in the read operation of the two-level type memory cell, the selected word line WL1 may be grounded, thereby detecting whether or not the threshold voltage is higher than 0V. In the verification operation of the two-level memory cell, the selected word line WL1 is connected to, for example, 0.8V, thereby verifying whether the threshold voltage has reached at least 0.8V. The source and p-well are 0 volts. 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 on the word line, the potential level of the bit line (BLe) associated with the cell in question is maintained at a high level due to the 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 associated bit line (BLe) drops to a low level, for example, less than 0.5 V, because conductive memory cells discharge the bit line. To do. Thereby, the state of the memory cell is detected by a voltage comparator sense amplifier connected to the bit line.

上記の消去、読み出し、および検証動作は、当業界で知られた技術に従って実行される。したがって、説明した詳細の多くについては、当業者によって変更することが可能である。当業界で知られた他の消去、読み出しおよび検証技術を使用することもできる。   The erase, read and verify operations described above are performed according to techniques known in the art. Accordingly, many of the details described can be varied by one skilled in the art. Other erase, read and verify techniques known in the art can also be used.

上述したように、各ブロックを多くのページに分割することが可能である。一実施形態では、1ページがプログラミングの単位である。一部の実施例では、個々のページをセグメントに分割されてもよく、セグメントが含む、基本的なプログラミング動作として一度に書き込まれるセルの数は最も少ない数であってもよい。一般的に、1ページ以上分のデータが1行のメモリセルに記憶される。1ページに1つ以上のセクターを記憶することが可能である。1つのセクターには、ユーザデータとオーバーヘッドデータが含まれる。オーバーヘッドデータは、セクターのうちのユーザデータから計算されたエラー訂正符号(ECC)を含んでいる。コントローラの一部が、データがアレイ中にプログラムされている間にECCを計算し、また、データがアレイから読み出されている間にこのECCを用いてチェックする。代替例では、ECCおよび/または他のオーバーヘッドデータを、自身が属すユーザデータとは異なったページ、さらには異なったブロックに記憶される。他の実施例では、メモリデバイスの他の部分(例えば状態マシン)がECCを計算可能である。   As described above, each block can be divided into many pages. In one embodiment, one page is a unit of programming. In some embodiments, individual pages may be divided into segments, and the segments may contain the fewest number of cells that are written at one time as a basic programming operation. Generally, data for one page or more is stored in one row of memory cells. It is possible to store more than one sector per page. One sector includes user data and overhead data. The overhead data includes an error correction code (ECC) calculated from user data in the sector. A portion of the controller calculates an ECC while data is being programmed into the array, and also uses this ECC to check while data is being read from the array. In the alternative, ECC and / or other overhead data is stored in a different page than the user data to which it belongs, and in a different block. In other embodiments, other portions of the memory device (eg, a state machine) can calculate the ECC.

ユーザデータを含むセクターは、一般に、磁気ディスクドライブ中のセクターのサイズに対応して512バイトである。オーバーヘッドデータは、一般的には追加の16〜20バイトである。多くのページが1つのブロックを形成しているが、その数値は、例えば、8ページから32ページ、64ページ、さらにこれ以上の数値の間のいずれかの数値である。   The sector containing user data is generally 512 bytes corresponding to the size of the sector in the magnetic disk drive. Overhead data is typically an additional 16-20 bytes. Many pages form one block, and the numerical value is, for example, any value between 8 pages, 32 pages, 64 pages, and more.

図6に、それぞれのメモリセルが2ビットのデータを記憶している場合のメモリセルアレイの閾値電圧分布を示す。図6は、消去されたメモリセルの第1の閾値電圧分布Eを示している。A、B、Cは、プログラムされたメモリセルの3つの閾値電圧分布を示している。1つの設計では、分布E中の閾値電圧は負であり、分布A、B、C中の閾値電圧は正である。   FIG. 6 shows the threshold voltage distribution of the memory cell array when each memory cell stores 2-bit data. FIG. 6 shows a first threshold voltage distribution E of erased memory cells. A, B, and C show three threshold voltage distributions of the programmed memory cell. In one design, the threshold voltage in distribution E is negative and the threshold voltage in distributions A, B, and C is positive.

図6の異なる閾値電圧範囲はそのそれぞれが、データビットの集合の所定の値に対応している。メモリセルにプログラムされたデータとこのセルの閾値電圧レベルとの間の具体的な関係は、セルに対して採用されるデータ符号化スキームによって異なる。1つの例では、「11」を閾値電圧範囲E(状態E)に割り当て、「10」を閾値電圧範囲A(状態A)に割り当て、「00」を閾値電圧範囲B(状態B)に割り当て、「01」を閾値電圧範囲C(状態C)に割り当てている。しかしながら、他のスキームを用いている実施形態もある。   Each of the different threshold voltage ranges in FIG. 6 corresponds to a predetermined value of the set of data bits. The specific relationship between the data programmed into the memory cell and the threshold voltage level of this cell depends on the data encoding scheme employed for the cell. In one example, “11” is assigned to the threshold voltage range E (state E), “10” is assigned to the threshold voltage range A (state A), “00” is assigned to the threshold voltage range B (state B), “01” is assigned to the threshold voltage range C (state C). However, some embodiments use other schemes.

図6はまた、メモリセルからデータを読み出すための3つの基準電圧Vra、Vrb、Vrcを示している。所与のメモリセルの閾値電圧がVra、VrbおよびVrcより大きいか小さいかをテストすることによって、本システムは、メモリセルがどの状態にあるかを判定することが可能である。図6はまた、3つの検証基準電圧Vva、Vvb、Vvcを示している。メモリセルを状態Aにプログラムする際には、本システムは、これらのメモリセルの閾値電圧がVva以上であるかどうかをテストする。メモリセルを状態Bにプログラムする際には、本システムは、これらのメモリセルの閾値電圧がVvb以上であるかどうかをテストする。メモリセルを状態Cにプログラムする際には、本システムは、これらのメモリセルの閾値電圧がVvc以上であるかどうかをテストする。   FIG. 6 also shows three 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 greater or less than Vra, Vrb and Vrc, the system can determine which state the memory cell is in. FIG. 6 also shows three verification reference voltages Vva, Vvb, and Vvc. When programming memory cells to state A, the system tests whether the threshold voltage of these memory cells is greater than or equal to Vva. When programming memory cells to state B, the system tests whether the threshold voltage of these memory cells is greater than or equal to Vvb. When programming memory cells to state C, the system tests whether the threshold voltage of these memory cells is greater than or equal to Vvc.

一実施形態では、フルシーケンスプログラミングとして知られているが、メモリセルを、消去状態Eからプログラム済み状態A、BまたはC(曲線矢印で示されている)のうちのどれにでも直接的にプログラムすることが可能である。例えば、プログラムされるメモリセルの母集団を最初に消去し、これで、この母集団中のすべてのメモリセルが消去状態Eとなるようにする。一部のメモリセルが状態Eから状態Aにプログラムされている間に、他のメモリセルを状態Eから状態Bに、および/または、状態Eから状態Cにプログラムする。   In one embodiment, known as full sequence programming, the memory cell is programmed directly from erased state E to any of programmed states A, B, or C (shown by curved arrows). Is possible. For example, the population of memory cells to be programmed is first erased, so that all memory cells in this population are in erased state E. While some memory cells are programmed from state E to state A, other memory cells are programmed from state E to state B and / or from state E to state C.

図7に、互いに異なった2つのページ、すなわち、下位ページと上位ページ分のデータを記憶するマルチステートメモリセルをプログラムする2パス式技法の例を示す。4つの状態、すなわち、状態E(11)、状態A(10)、状態B(00)および状態C(01)が示されている。状態Eの場合、両ページとも「1」を記憶している。状態Aの場合、下位ページは「0」を記憶し、上位ページは「1」を記憶している。状態Bの場合、両ページとも「0」を記憶している。状態Cの場合、下位ページは「1」を記憶し、上位ページは「0」を記憶している。ここで、特定のビットパターンがそれぞれの状態に割り当てられているが、別のビットパターンを割り当ててもよい。第1のプログラミングパスでは、セルの閾値電圧レベルを、下位の論理ページにプログラムされるビットにしたがって設定される。このビットが論理「1」であれば、この閾値電圧は変更されないが、これは、前に消去された結果として適切な状態にあるからである。しかしながら、このプログラムされるビットが論理「0」であれば、このセルの閾値電圧は、矢印230で示すように状態Aにまで引き上げられる。これで、第1のプログラミングパスが完結する。   FIG. 7 illustrates an example of a two-pass technique for programming a multi-state memory cell that stores data for two different pages, ie, a lower page and an upper page. Four states are shown: state E (11), state A (10), state B (00), and state C (01). In the state E, both pages store “1”. In the state A, the lower page stores “0”, and the upper page stores “1”. In the state B, both pages store “0”. In the state C, the lower page stores “1” and the upper page stores “0”. Here, a specific bit pattern is assigned to each state, but another bit pattern may be assigned. In the first programming pass, the threshold voltage level of the cell is set according to the bits programmed into the lower logical page. If this bit is a logic "1", this threshold voltage is not changed because it is in the proper state as a result of being previously erased. However, if this programmed bit is a logic “0”, the threshold voltage of this cell is raised to state A as indicated by arrow 230. This completes the first programming pass.

第2のプログラミングパスでは、セルの閾値電圧レベルが、上位の論理ページにプログラムされるビットにしたがって設定される。この上位論理ページビットが論理「1」を記憶するのであれば、プログラムはされない。これは、このセルが、下位ページビットのプログラミングしだいで決まる状態EまたはAの内の一方の状態にあり、双方が「1」という上位ページビットを有しているからである。上位ページビットが論理“0”となるのであれば、閾値電圧は移行する。第1のパスの結果、セルが消去状態Eのままであれば、第2のフェーズで、このセルは、閾値電圧が、矢印234で示すように状態C内に移るようにプログラムされる。このセルが、第1のプログラミングパスの結果として状態Aにプログラムされた場合、メモリセルは、矢印232で示すように閾値電圧が状態B内に移るように、第2のパスでさらにプログラムされる。第2のパスの結果、下位ページのデータを変更することなく、上位ページの論理「0」を記憶するように指定された状態にセルをプログラムすることになる。   In the second programming pass, the cell's threshold voltage level is set according to the bits programmed into the upper logical page. If this upper logical page bit stores a logic “1”, no programming is performed. This is because the cell is in one of states E or A, depending on the programming of the lower page bits, both having the upper page bit of “1”. If the upper page bit is logic “0”, the threshold voltage is shifted. If, as a result of the first pass, the cell remains in the erased state E, in the second phase, the cell is programmed so that the threshold voltage moves into state C as indicated by arrow 234. If this cell is programmed to state A as a result of the first programming pass, the memory cell is further programmed in the second pass so that the threshold voltage moves into state B as indicated by arrow 232. . As a result of the second pass, the cell is programmed to the state designated to store the logic “0” of the upper page without changing the data of the lower page.

一実施形態では、ページ全体を満たすのに十分なデータが書き込まれた場合に、フルシーケンス書き込みを実行するようにシステムをセットアップすることが可能である。ページ全体を満たすに十分なデータが書き込まれていない場合、プログラミングプロセスは、受信したデータによって下位ページをプログラムすることが可能である。さらにその後にデータが受信されると、本システムは、上位ページをプログラムする。別の実施形態では、このシステムは、下位ページをプログラムするモードで書き込みを始め、次に、ワード線のメモリセルの全部(またはほとんど)を満たすのに十分なデータがその後で受信されればフルシーケンスプログラミングモードに変換することが可能である。このような実施形態のより詳細が、その全体を参照してここに組み込む、発明者サージー・アナトリビッチ・ゴロベッツ(Sergy Anatolievich Gorobets)とヤン・リー(Yan Li)による、2004年12月14日に出願された「Pipelined Programming of Non− Volatile Memories Using Early Data」という名称の米国特許出願第11/013,125号に開示されている。   In one embodiment, the system can be set up to perform a full sequence write when enough data has been written to fill the entire page. If not enough data has been written to fill the entire page, the programming process can program the lower page with the received data. If further data is received thereafter, the system programs the upper page. In another embodiment, the system starts writing in a mode that programs the lower page, and then full if enough data is subsequently received to fill all (or most) of the memory cells on the word line. It is possible to convert to sequence programming mode. More details of such an embodiment will be discussed on December 14, 2004, by inventors Serge Anatrivic Gorobets and Yan Li, which are hereby incorporated by reference in their entirety. No. 11 / 013,125, entitled “Pipelined Programming of Non-Volatile Memories Using Early Data”.

図8A〜8Cに、浮遊ゲート間のカップリングを軽減する不揮発性メモリをプログラムする別のプロセスを開示する。このプロセスは、前のページに隣接するメモリセルに書き込んだ後に、特定のページに対する特定のメモリセルに書き込み動作を実行する。一実施例では、この不揮発性メモリセルはそのそれぞれが、4つのデータ状態を用いて2ビットのデータを記憶する。例えば、状態Eが消去された状態で、状態A、BおよびCがプログラムされた状態を想定する。状態Eはデータ11を記憶する。状態Aはデータ01を記憶する。状態Bはデータ10を記憶する。状態Cはデータ00を記憶する。隣接する状態Aと状態Bの間で双方のビットが変化するので、これはノングレイコーディングの例である。データをデータの物理状態に符号化する他の方法も用いることが可能である。それぞれのメモリセルが2ページ分のデータを記憶している。参照目的で、これらのページのデータを上位ページと下位ページと呼ぶが、別のラベルを付けることも可能である。図8A〜8Cのプロセスに対する状態Aを参照すると、上位ページはビット0を記憶し、下位ページはビット1を記憶する。状態Bを参照すると、上位ページはビット1を記憶し、下位ページはビット0を記憶する。状態Cを参照すると、双方のページはビットデータ0を記憶する。   8A-8C disclose another process for programming a non-volatile memory that reduces coupling between floating gates. This process performs a write operation on a specific memory cell for a specific page after writing to a memory cell adjacent to the previous page. In one embodiment, each of the non-volatile memory cells stores two bits of data using four data states. For example, assume a state in which states A, B, and C are programmed with state E erased. State E stores data 11. State A stores data 01. State B stores data 10. State C stores data 00. This is an example of non-Gray coding since both bits change between adjacent states A and B. Other methods of encoding data into the physical state of the data can also be used. Each memory cell stores two pages of data. For reference purposes, the data on these pages is called the upper page and the lower page, but different labels can be attached. Referring to state A for the processes of FIGS. 8A-8C, the upper page stores bit 0 and the lower page stores bit 1. Referring to state B, the upper page stores bit 1 and the lower page stores bit 0. Referring to state C, both pages store bit data 0.

図8A〜8Cのプログラミングプロセスは、2つのステップのプロセスである。第1のステップでは、下位ページをプログラムする。この下位ページがデータ1の状態にとどまることになっている場合、メモリセルの状態は状態Eのままである。このデータが0にプログラムされることになっている場合、メモリセルが状態B’にプログラムされるように、メモリセルの閾値電圧を引き上げる。したがって図8Aに、状態Eから状態B’にメモリセルをプログラムする様子を示す。図8Aに示す状態B’は中間状態B’である。したがって、検証ポイントを、Vvbより低いVvb’として示す。   The programming process of FIGS. 8A-8C is a two step process. In the first step, the lower page is programmed. If this lower page is to remain in the data 1 state, the state of the memory cell remains in state E. If this data is to be programmed to 0, the threshold voltage of the memory cell is raised so that the memory cell is programmed to state B '. Accordingly, FIG. 8A shows how a memory cell is programmed from state E to state B '. The state B ′ shown in FIG. 8A is an intermediate state B ′. Therefore, the verification point is indicated as Vvb 'lower than Vvb.

1つの形態では、あるメモリセルが状態Eから状態B’にプログラムされると、隣接するワードライン上のその隣接したメモリセルがその下位ページに関してプログラムされる。その隣接したメモリセルをプログラムした後で、浮遊ゲート間のカップリング作用によって、状態B’である検討中のメモリセルの見かけ上の閾値電圧が引き上げられる。これによって、状態B’の閾値電圧分布の幅を図8Bの閾値電圧分布250として示す分布にまで広げる作用がある。この閾値電圧分布の見かけ上の拡大は、上位ページをプログラムするときに修正される。   In one form, when a memory cell is programmed from state E to state B ', its adjacent memory cell on the adjacent word line is programmed for its lower page. After programming that adjacent memory cell, the apparent threshold voltage of the memory cell under consideration in state B 'is raised by the coupling action between the floating gates. As a result, the width of the threshold voltage distribution in the state B ′ is expanded to the distribution shown as the threshold voltage distribution 250 in FIG. 8B. This apparent expansion of the threshold voltage distribution is corrected when programming the upper page.

図8Cは、上位ページをプログラムするプロセスを示している。メモリセルが消去された状態Eにあって上位ページが1のままとどまるのであれば、このメモリセルは状態Eのままである。メモリセルが状態Eにあってその上位ページデータを0にプログラムすることになっているのであれば、このメモリセルの閾値電圧を引き上げて、メモリセルが状態Aとなるようにする。メモリセルが中間閾値電圧分布250にあって、上位ページデータが1にとどまることになっている場合、このメモリセルは最終状態Bにプログラムされる。メモリセルが中間閾値電圧分布250にあって、上位ページデータがデータ0になることになっている場合、このメモリセルの閾値電圧を引き上げて、メモリセルが状態Cとなるようにする。   FIG. 8C shows the process of programming the upper page. If the memory cell is in erased state E and the upper page remains at 1, this memory cell remains in state E. If the memory cell is in state E and its upper page data is to be programmed to 0, the threshold voltage of this memory cell is raised so that the memory cell is in state A. If the memory cell is in the intermediate threshold voltage distribution 250 and the upper page data is to remain at 1, this memory cell is programmed to the final state B. If the memory cell is in the intermediate threshold voltage distribution 250 and the upper page data is to be data 0, the threshold voltage of this memory cell is raised so that the memory cell enters state C.

図8A〜8Cに示すプロセスによって浮遊ゲート間のカップリング作用が低減されるが、これは、隣接したメモリセルの上位ページをプログラムした場合にしか、所与のメモリセルの見かけ上の閾値電圧が影響されないからである。別の状態のコーディングの例として、上位ページデータが1の時に閾値電圧分布250から状態Cへ移動する、および上位ページデータが0の時には状態Bへ移動することが挙げられる。図8A〜8Cに4つのデータ状態と2ページ分のデータに関する例を示すが、図8A〜8Cが教示する概念は、状態が4つより多いまたは少ない、あるいは2ページではない他の実施例にも適用可能である。さまざまなプログラミング方式と浮遊ゲート間の結合とに関するさらなる詳細は、その双方の全体を参照してここに組み込む、2005年4月5日に発行された「Compensating For Coupling During Read Operations Of Non− Volatile Memory」という名称の米国特許出願第11/099,133号と、シバタらに対して2003年12月2日に公開された米国特許第6,657,891号に記載されている。   The process shown in FIGS. 8A-8C reduces the coupling effect between floating gates, because the apparent threshold voltage of a given memory cell is only affected when the upper page of an adjacent memory cell is programmed. It is because it is not influenced. Another example of coding in the state is moving from the threshold voltage distribution 250 to the state C when the upper page data is 1, and moving to the state B when the upper page data is 0. 8A-8C show examples of four data states and two pages of data, the concepts taught by FIGS. 8A-8C are based on other embodiments that have more or less than four states or not two pages. Is also applicable. Further details regarding various programming schemes and coupling between floating gates are incorporated herein by reference in their entirety, “Compensating For Coupled Reading Operation Operations Non-Volatile Memory” published April 5, 2005. In US patent application Ser. No. 11 / 099,133 and US Pat. No. 6,657,891 published Dec. 2, 2003 to Shibata et al.

上述したように、隣のメモリセルによって結合が引き起こされ、これによってメモリセルの見かけ上の閾値電圧に影響を及ぼすことがある。隣のメモリセルは隣接するワード線上にあったり、隣接するビット線上にあったり、隣接してはいないが近くにあるビット線上にあったりする。本システムは、読み出し中のメモリセル(または浮遊ゲート)がプロラム中の隣のメモリセル(または浮遊ゲート)より先にプログラムされて結合が発生している可能性があるかどうかを最初に判定することによって、隣の浮遊メモリセル間の結合を選択的に補償する。読み出し中のメモリセルが隣のメモリセルより先にプログラムされている場合には、この隣のメモリセルのプログラミングのレベルに基づいて結合を補償するプロセスを用いることができる。   As described above, coupling is caused by neighboring memory cells, which can affect the apparent threshold voltage of the memory cells. Adjacent memory cells may be on adjacent word lines, on adjacent bit lines, or on adjacent but not adjacent bit lines. The system first determines whether a memory cell (or floating gate) being read is programmed prior to an adjacent memory cell (or floating gate) in the program to cause coupling. Thus, the coupling between adjacent floating memory cells is selectively compensated. If the memory cell being read is programmed prior to the adjacent memory cell, a process can be used that compensates for coupling based on the level of programming of the adjacent memory cell.

図9は、タイミング情報を利用するプログラミングの高レベルプロセスの一実施形態を説明するフローチャートである。図10は、結合が発生する可能性があるかどうかを判定するためにプログラムされたタイミング情報を利用する読み出しと、これに基づいた選択的な補償とのプロセスの一実施形態を説明するフローチャートである。   FIG. 9 is a flow chart describing one embodiment of a high level process of programming utilizing timing information. FIG. 10 is a flow chart describing one embodiment of a process of reading and selectively compensating based on it that uses programmed timing information to determine if a coupling may occur. is there.

図9のステップ300で、データ書き込み要求を受信する。この要求は、コントローラ、状態マシンまたは別のデバイスで受信することが可能である。この要求に応答して、データ(1ビット以上の情報)が、ステップ302でフラッシュメモリアレイに書き込まれる。加えて、タイミング情報がステップ304で記憶される。このタイミング情報は、ステップ302で書き込まれたデータに対してカスタマイズされている。1つの実施形態では、タイミング情報は、ステップ302で記憶されたデータと一緒に記憶される。タイミング情報を個別に記憶する実施形態もある。ステップ302と304は同時に実行してもよいし別々に実行してもよい。この文書と一緒に含まれるすべてのフローチャートにおいて、フローチャートに示すステップの順序は必ずしも必要条件ではなく、多くの場合、適切な他の順序を実行してもよいことに留意されたい。   In step 300 of FIG. 9, a data write request is received. This request may be received at the controller, state machine or another device. In response to this request, data (information of one or more bits) is written to the flash memory array at step 302. In addition, timing information is stored at step 304. This timing information is customized for the data written in step 302. In one embodiment, the timing information is stored along with the data stored at step 302. In some embodiments, the timing information is stored separately. Steps 302 and 304 may be performed simultaneously or separately. It should be noted that in all flowcharts included with this document, the order of the steps shown in the flowcharts is not necessarily a requirement and in many cases other suitable orders may be performed.

利用可能なタイミング情報には多くの例がある。1つの実施形態では、タイムスタンプが用いられる。このタイムスタンプは、ホストデバイス用のシステムクロックから読み出される絶対タイムスタンプであってもよい。メモリシステムが内部バッテリを含んでいて、それ自身のクロックを記憶している実施形態もある。相対的タイムスタンプを用いることが可能な実施形態もある。例えば、システムがサイクルカウントを維持することが可能となっている。このサイクルカウントは、各プログラミングサイクルに番号を付ける。サイクルカウントは、状態マシン、コントローラまたは別のデバイスによって維持することが可能である。サイクルカウントは、ステップ304でタイミング情報として記憶することが可能である。第1のデータ集合のサイクルカウントが第2のデータ集合より大きい場合、第1のデータ集合は第2のデータ集合より後でプログラムされている。タイミング情報の別の実施形態には、データが隣のメモリセルより前にプログラムされたか後でプログラムされたかの表示が含まれる。   There are many examples of timing information available. In one embodiment, a time stamp is used. This time stamp may be an absolute time stamp read from the system clock for the host device. In some embodiments, the memory system includes an internal battery and stores its own clock. Some embodiments may use relative time stamps. For example, the system can maintain a cycle count. This cycle count numbers each programming cycle. The cycle count can be maintained by a state machine, controller or another device. The cycle count can be stored as timing information at step 304. If the cycle count of the first data set is greater than the second data set, the first data set is programmed after the second data set. Another embodiment of timing information includes an indication of whether the data was programmed before or after the adjacent memory cell.

図10に、データを読み出すプロセスを説明するフローチャートを示す。ステップ340では、データ読み出し要求が、コントローラ、状態マシンまたは他のデバイスにより受信される。ステップ342で、このデータに対するタイミング情報がアクセスされる。これは、ステップ304で記憶されたタイミング情報である。ステップ344で、結合が発生している可能性があるかどうかが、このアクセスされたタイミング情報に基づいて判定される。1つの実施形態では、本システムは、この読み出し要求と関連するデータを記憶しているメモリセルが隣のメモリセルより先にプログラムされていることをタイミング情報が示しているかどうかを判定する。そうであれば、メモリセル間に結合が発生する可能性がある。読み出し要求と関連するデータを記憶しているメモリセルが隣のメモリセルより後にプログラムされていれば、結合が発生する可能性はほとんどない。結合が発生する可能性があるとステップ344で判定されても、隣のセルのプログラミングのレベルが結合を生じさせるほどでなければ、実際には結合は発生しない。結合が発生する可能性がない場合(ステップ346)、ステップ348で結合を考慮することなく読み出しプロセスを実行する。読み出しプロセスでは、不揮発性メモリに記憶されている情報を判定して、この情報を通知することに留意されたい。結合が発生する可能性があると判定された場合(ステップ346)、ステップ350で、結合が発生する可能性を考慮した読み出しプロセスを実行する。1つの実施形態では、ステップ350では、必要であれば、結合を補償する。メモリセル間の結合を補償するにはさまざまな方式がある。本書に記載する技術で用いることが可能であればどのような適切な方式でも用いることが可能である。   FIG. 10 shows a flowchart for explaining the process of reading data. In step 340, a data read request is received by a controller, state machine, or other device. At step 342, timing information for this data is accessed. This is the timing information stored in step 304. At step 344, it is determined based on this accessed timing information whether a binding may have occurred. In one embodiment, the system determines whether the timing information indicates that the memory cell storing the data associated with the read request has been programmed before the adjacent memory cell. If so, coupling may occur between the memory cells. If the memory cell storing the data associated with the read request is programmed after the adjacent memory cell, there is little possibility of coupling. Even if it is determined in step 344 that a bond may occur, the bond will not actually occur unless the level of programming of the adjacent cell causes the bond. If there is no possibility that a bond will occur (step 346), the read process is performed at step 348 without considering the bond. Note that the read process determines the information stored in the non-volatile memory and notifies this information. If it is determined that a bond is likely to occur (step 346), a read process is performed at step 350 that takes into account the possibility of a bond occurring. In one embodiment, step 350 compensates for coupling if necessary. There are various ways to compensate for coupling between memory cells. Any suitable method can be used as long as it can be used in the technique described in this document.

図11は、データのページの一実施形態を示すブック図である。このデータページには、ヘッダー380、タイミング情報382、ユーザデータ384およびエラー訂正符号(ECC)386が含まれる。ヘッダー情報は、ヘッダー中で用いられる技術上周知のデータのいずれかの集合を含むことが可能である。ヘッダー情報が、アドレス情報、ビットおよび/またはセクターマッピング関連情報、セクターへの書き込み回数カウントなどを含む例もある。他の情報もヘッダーに記憶することが可能である。タイミング情報382は、ステップ304で記憶されたタイミング情報である。ユーザデータ384は、ステップ302で書き込まれたデータを含んでいる。ECC386は、技術上周知のエラー訂正符号を含んでいる。複数のページに書き込みを実行することを必要とする書き込み要求もあることに留意されたい。この場合、1つの集合以上のタイミング情報を用いることが可能である。   FIG. 11 is a book diagram illustrating one embodiment of a page of data. The data page includes a header 380, timing information 382, user data 384, and error correction code (ECC) 386. The header information can include any collection of data known in the art used in the header. In some cases, the header information includes address information, bit and / or sector mapping related information, a count of the number of writes to the sector, and the like. Other information can also be stored in the header. Timing information 382 is the timing information stored in step 304. User data 384 includes the data written in step 302. The ECC 386 includes error correction codes that are well known in the art. Note that some write requests require writing to multiple pages. In this case, more than one set of timing information can be used.

図12は、データを書き込むプロセスの1つの実施形態を示すフローチャートである。図12のプロセスは、図9のステップ302と304を実行する1つの実施形態である。図12のステップ402では、本システムは、データ書き込み要求の受信に応答して、メモリのうちでプログラムすべき適切な部分を選択する。この動作では、書き込み先としてのブロックおよび/またはページおよび/またはセクターが選択される。1つの実施形態では、図12のプロセスではページにデータが書き込まれるが、この書き込みにより、共通のワード線に接続されているメモリセルにデータが書き込まれる。ステップ404で、選択されたメモリ部分が予備プログラムされるが、これはフラッシュメモリの磨耗に備えるためである。選ばれたセクターまたはページ中の全てのメモリセルは、同じ閾値電圧範囲にプログラムされる。ステップ404はオプションである。ステップ406で、プログラムされるメモリセルを消去する。例えば、ステップ406では、古いメモリセルを状態Eに移動する動作を含むことがある(図6〜8を参照)。ステップ406が、ソフトプログラミングプロセスを実行する動作も含む実施形態もある。この消去プロセス中に、一部のメモリセルの閾値電圧が、分布Eより低い値まで低下する可能性がある(図6〜8を参照)。ソフトプログラミングプロセスでは、プログラム電圧パルスをメモリセルに印加することによって、これらメモリセルの閾値電圧が閾値電圧分布E内まで上昇するようにする。   FIG. 12 is a flowchart illustrating one embodiment of a process for writing data. The process of FIG. 12 is one embodiment that performs steps 302 and 304 of FIG. In step 402 of FIG. 12, in response to receiving the data write request, the system selects an appropriate portion of memory to be programmed. In this operation, a block and / or page and / or sector as a write destination is selected. In one embodiment, data is written to a page in the process of FIG. 12, but this writing causes data to be written to memory cells connected to a common word line. At step 404, the selected memory portion is preprogrammed to prepare for flash memory wear. All memory cells in the selected sector or page are programmed to the same threshold voltage range. Step 404 is optional. In step 406, the programmed memory cell is erased. For example, step 406 may include an operation of moving an old memory cell to state E (see FIGS. 6-8). In some embodiments, step 406 also includes an operation of performing a soft programming process. During this erase process, the threshold voltage of some memory cells may drop to a value lower than the distribution E (see FIGS. 6-8). In the soft programming process, a program voltage pulse is applied to the memory cells so that the threshold voltages of these memory cells rise to within the threshold voltage distribution E.

ステップ408では、本システムはタイムスタンプを取得する。このタイムスタンプは絶対タイムであり得る。例えば、メモリシステムが、コントローラを介してホストから日/時を要求することがある。代替例では、メモリシステムがバッテリと内部クロックを含んでおり、これによって、メモリシステムが自身のタイムスタンプを提供することが可能となるようにしている。メモリシステムがサイクルカウントを維持するような実施形態もある。ページがプログラムされるごとに、サイクルカウントがインクリメントされる。ステップ408で取得されたタイムスタンプは現在のサイクルカウント値である。サイクルカウントが絶対タイムでなければ、それは相対的なタイムである。サイクルカウントによって、2ページ以上のページのうちのどのページが最初にプログラムされたかを判定することが可能である。   In step 408, the system obtains a time stamp. This timestamp can be an absolute time. For example, the memory system may request the date / time from the host via the controller. In the alternative, the memory system includes a battery and an internal clock, which allows the memory system to provide its own time stamp. In some embodiments, the memory system maintains a cycle count. Each time the page is programmed, the cycle count is incremented. The time stamp obtained in step 408 is the current cycle count value. If the cycle count is not an absolute time, it is a relative time. The cycle count can determine which of the two or more pages are programmed first.

ステップ410では、プログラムすべきデータを適切なラッチ/レジスタに記憶する。1つの実施形態では、図12のプロセスを用いて、1ページ分のデータをプログラムする。プログラムされているメモリセルのすべてが同じワード線上に存在する。各メモリセルは、自身のビット線と、このビット線と関連するラッチの集合を有している。これらのラッチは、関連するメモリセルに対するプログラム予定データの指示を記憶する。ステップ410でも、タイムスタンプを記憶するメモリセルに対するビット線と関連するラッチ中にタイムスタンプデータを記憶する。ステップ412で、最初のプログラムパルスの大きさが設定される。ワード線に印加される電圧はプログラムパルスの集合であり、各パルスはその大きさが直前のパルスより1ステップサイズ(例えば0.2〜0.4V)だけ増加するようになっている実施形態もある。ステップ414で、プログラムカウントPCを最初にゼロに設定する。   In step 410, the data to be programmed is stored in the appropriate latch / register. In one embodiment, a page of data is programmed using the process of FIG. All of the programmed memory cells are on the same word line. Each memory cell has its own bit line and a set of latches associated with the bit line. These latches store an indication of program schedule data for the associated memory cell. Step 410 also stores time stamp data in the latch associated with the bit line for the memory cell storing the time stamp. In step 412, the magnitude of the first program pulse is set. In the embodiment, the voltage applied to the word line is a set of program pulses, and the magnitude of each pulse is increased by one step size (for example, 0.2 to 0.4 V) from the previous pulse. is there. In step 414, the program count PC is initially set to zero.

ステップ416では、プログラムパルスを適切なワード線に印加する。ステップ418では、このワード線上のメモリセルが、目標とする閾値電圧レベルに到達したかどうかを検証する。すべてのメモリセルが目標の閾値電圧レベルに到達した場合(ステップ420)、ステップ422で、プログラミングプロセスは適切に完了したことになる(ステータス=パス)。検証されたメモリが全数ではない場合、ステップ424で、プログラムカウントPCが20(または他の適切な値)未満であるかどうかを判定する。プログラムカウントが20未満ではない場合、プログラミングプロセスはフェイルしたことになる(ステップ426)。プログラムカウントが20未満であれば、ステップ428で、次のパルスのプログラム電圧信号Vpgmの値をステップサイズ(例えば0.3V)だけインクリメントして、プログラムカウントPCをインクリメントする。目標とする閾値電圧に到達したメモリセルは、現在のプログラミングサイクルの残りの時間中はプログラムされないように除外されることに留意されたい。ステップ428の後、図12のプロセスはステップ416まで続いて、次のプログラムパルスが印加される。   In step 416, a program pulse is applied to the appropriate word line. In step 418, it is verified whether the memory cells on the word line have reached the target threshold voltage level. If all memory cells have reached the target threshold voltage level (step 420), then at step 422, the programming process has been properly completed (status = pass). If the verified memory is not exhaustive, step 424 determines whether the program count PC is less than 20 (or other suitable value). If the program count is not less than 20, the programming process has failed (step 426). If the program count is less than 20, in step 428, the value of the program voltage signal Vpgm of the next pulse is incremented by the step size (eg, 0.3V), and the program count PC is incremented. Note that memory cells that have reached the target threshold voltage are excluded from being programmed for the remainder of the current programming cycle. After step 428, the process of FIG. 12 continues to step 416, where the next program pulse is applied.

図13に、図12のプロセスにしたがって、または、他のプロセスにしたがって書き込まれたデータの読み出しプロセスの一例を示す。図13は、図10のプロセスの実施形態である。図13のステップ500で、データを読み出す要求を受信する。ステップ502で、要求されたページに対して読み出しプロセスを実行する。1つの実施形態では、このプロセスには、同じワード線に接続されたメモリセルの集合からデータを読み出す動作が含まれる。いくつかの実施形態では、各ワード線に隣接したワード線が2つある(例えば、上方と下方に1つずつワード線があったり、右側と左側に1つずつワード線があったりする)。ステップ504で、隣接したワード線のうちの一方を読み出す。ステップ506で、隣接した他方のワード線を読み出す。目的とするデータを記憶しているワード線が1つだけである実施形態では、ステップ506をスキップすることが可能である。ステップ502、504および506では、ユーザデータのほかに関連するタイミング情報が読み出される動作が含まれることに留意されたい。すなわち、図11に示すページ全体が読み出され、また、このページがタイミング情報382を含んでいる。図13の実施形態では、タイミング情報は、絶対タイムまたは相対タイム(例えばサイクルカウント)等のタイプのタイムスタンプを想定している。ステップ508で、結合が発生する可能性があるかどうかを、さまざまなタイムスタンプの比較に基づいて判定する。例えば、読み出し中のワード線のタイムスタンプが隣接する2つのワード線のタイムスタンプより後であれば、読み出し中のワード線はこれら隣接する2つのワード線の後にプログラムされており、したがって、浮遊ゲート間結合が発生する可能性がないと推測される。読み出されているワード線のタイムスタンプが隣接する2つのワード線のいずれか一方のワード線のタイムスタンプより前であれば、結合が発生している可能性がある。結合が発生している可能性がなければ(ステップ510)、ステップ502で読み出されたデータを、結合に対する補償をすることなく、記憶してユーザに報告する。結合の発生する可能性があると判定された場合(510)、ステップ514で、ステップ514での結合を補償する追加の読み出しプロセスを実行する。   FIG. 13 shows an example of a process for reading data written according to the process of FIG. 12 or according to another process. FIG. 13 is an embodiment of the process of FIG. In step 500 of FIG. 13, a request to read data is received. In step 502, a read process is performed on the requested page. In one embodiment, this process includes reading data from a collection of memory cells connected to the same word line. In some embodiments, there are two word lines adjacent to each word line (eg, one word line above and below, and one word line on the right and left). In step 504, one of the adjacent word lines is read. In step 506, the other adjacent word line is read. In embodiments where only one word line stores the data of interest, step 506 can be skipped. Note that steps 502, 504, and 506 include operations in which relevant timing information is read in addition to user data. That is, the entire page shown in FIG. 11 is read, and this page includes timing information 382. In the embodiment of FIG. 13, the timing information assumes a time stamp of a type such as absolute time or relative time (eg cycle count). At step 508, a determination is made as to whether a join can occur based on a comparison of various time stamps. For example, if the time stamp of the word line being read is after the time stamps of two adjacent word lines, the word line being read is programmed after these two adjacent word lines, and therefore the floating gate It is presumed that there is no possibility of inter-bonding. If the time stamp of the word line being read is before the time stamp of one of the two adjacent word lines, coupling may have occurred. If there is no possibility that coupling has occurred (step 510), the data read in step 502 is stored and reported to the user without compensation for coupling. If it is determined that coupling may occur (510), then at step 514, an additional read process is performed that compensates for coupling at step 514.

図14は、データのページに対する読み出し動作(図13のステップ502を参照)を実行するプロセスの1つの実施形態を説明するフローチャートである。図14の実施形態は、ある共通のワード線に接続されているメモリセルの集合からデータページを読み出す動作に関連している。具体的には、図14の実施形態は、図6〜8の状態E、A、BおよびCなどの4つの状態を含むマルチステートメモリに関連している。図14の技術は他の構成にも適用可能である。ステップ540で、読み出し基準電圧Vraを、このページと関連する適切なワード線に印加する。ステップ542で、このページと関連するビット線を検知して、アドレス指定されたメモリセルが導通するかしないかを、Vraをその制御ゲートに印加することによって判定する。ビット線の導通は、メモリセルがオンしたこと、すなわち、これらメモリセルの閾値電圧がVra未満(例えば状態E)であることを示す。ステップ544で、ビット線の検知結果を、これらビット線の適切なラッチに記憶する。ステップ546で、読み出し基準電圧Vrbを、読み出されるページと関連するワード線に印加する。ステップ548で、ビット線は上述したように検知される。ステップ550で、その結果をこのビット線の適切なラッチに記憶する。ステップ552で、読み出し基準電圧Vrcを、このページと関連するワード線に印加する。ステップ554で、上記のように、ビット線を検知して、どのメモリセルが導通するかを判定する。ステップ556で、この検知ステップの結果をこのビット線の適切なラッチに記憶する。ステップ558で、各ビット線に対するデータ値を決定する。例えば、あるメモリセルがVraで導通すれば、このメモリセルは状態Eにある。あるメモリセルがVrbとVrcで導通するがVraでは導通しなければ、このメモリセルは状態Aにある。メモリセルがVrcで導通するがVraとVrabでは導通しなければ、このメモリセルは状態Bにある。メモリセルがVraでも、Vrabでも、Vrcでも導通しなければ、このメモリセルは状態Cにある。1つの実施形態では、データ値を、センス増幅器と関連する処理ユニットによって決定する。ステップ560では、決定された値が各ビット線に対する適切なラッチまたは別の場所に記憶されて、状態マシン、コントローラまたは他のデバイスによって利用されるようにする。さまざまなレベル(Vra、Vrab、Vrc)を検知する順序が異なる実施形態もある。   FIG. 14 is a flowchart describing one embodiment of a process for performing a read operation on a page of data (see step 502 in FIG. 13). The embodiment of FIG. 14 relates to the operation of reading a data page from a set of memory cells connected to a common word line. Specifically, the embodiment of FIG. 14 is associated with a multi-state memory that includes four states, such as states E, A, B, and C of FIGS. The technique of FIG. 14 can be applied to other configurations. At step 540, read reference voltage Vra is applied to the appropriate word line associated with this page. In step 542, the bit line associated with this page is sensed to determine whether the addressed memory cell is conducting by applying Vra to its control gate. The conduction of the bit line indicates that the memory cells are turned on, that is, the threshold voltage of these memory cells is less than Vra (for example, state E). In step 544, the bit line detection results are stored in the appropriate latches of these bit lines. At step 546, read reference voltage Vrb is applied to the word line associated with the page being read. At step 548, the bit line is detected as described above. At step 550, the result is stored in the appropriate latch of this bit line. At step 552, read reference voltage Vrc is applied to the word line associated with this page. At step 554, the bit line is detected as described above to determine which memory cell is conducting. In step 556, the result of this sensing step is stored in the appropriate latch of this bit line. In step 558, the data value for each bit line is determined. For example, if a memory cell becomes conductive at Vra, this memory cell is in state E. A memory cell is in state A if it is conducting at Vrb and Vrc but not at Vra. If the memory cell is conducting at Vrc but not conducting at Vra and Vlab, the memory cell is in state B. If the memory cell is not conducting at Vra, Vlab, or Vrc, the memory cell is in state C. In one embodiment, the data value is determined by a processing unit associated with the sense amplifier. In step 560, the determined value is stored in an appropriate latch or other location for each bit line for use by the state machine, controller or other device. In some embodiments, the order of detecting the various levels (Vra, Vlab, Vrc) is different.

図15Aは、潜在的な結合を補償する追加の読み出しプロセスを実行するプロセスの1つの実施形態を説明するフローチャートである。すなわち、図15Aは、図13のステップ514の1つの実施形態を示すものである。図15Aの実施形態では、隣同士の2つのワード線から結合が発生している可能性が存在すると想定している。ステップ600で、これら隣同士のワード線のうちの一方に基づいてオフセットを決定する。利用可能なオフセットのタイプとオフセット値にはさまざまである。1つの実施形態では、隣のメモリセルが状態Aにプログラムされている場合(図6を参照)、オフセットは0.1ボルトであり、隣のメモリセルが状態Bにプログラムされている場合、オフセットは0.2ボルトであり、隣のメモリセルが状態Cにプログラムされている場合、オフセットは0.3ボルトである。他の値や方式を用いることが可能な実施形態もある。システムは、ステップ504と506で隣のワード線に記憶されていた値を既に読み出しているため、どのオフセットを用いるべきかを判定することができる。隣の各ワード線に対するオフセットの集合を決定し、次に、2つのオフセットを合計する。この方式では、可能なオフセットが6個存在する。   FIG. 15A is a flowchart describing one embodiment of a process for performing an additional read process that compensates for potential coupling. That is, FIG. 15A illustrates one embodiment of step 514 of FIG. In the embodiment of FIG. 15A, it is assumed that there is a possibility of coupling from two adjacent word lines. In step 600, an offset is determined based on one of these adjacent word lines. There are various types of offsets and offset values available. In one embodiment, if the neighboring memory cell is programmed to state A (see FIG. 6), the offset is 0.1 volts, and if the neighboring memory cell is programmed to state B, the offset Is 0.2 volts, and if the adjacent memory cell is programmed to state C, the offset is 0.3 volts. There are also embodiments in which other values and schemes can be used. The system has already read the value stored in the adjacent word line in steps 504 and 506, so it can determine which offset should be used. Determine the set of offsets for each adjacent word line and then sum the two offsets. In this scheme, there are six possible offsets.

例えば、所定のメモリセルに2つの隣が存在するものと仮定する。第1の隣を状態Bにプログラムする。第2の隣を状態Cにプログラムする。すると、第1の隣からのオフセットは0.2ボルトであり、第2の隣からのオフセットは0.3ボルトである。この特定のメモリセルのオフセットの合計は0.5ボルトである。   For example, assume that a given memory cell has two neighbors. Program the first neighbor to state B. Program the second neighbor to state C. The offset from the first neighbor is then 0.2 volts, and the offset from the second neighbor is 0.3 volts. The total offset for this particular memory cell is 0.5 volts.

潜在的なオフセットの個数が6個より多かったり少なかったりする実施形態もある。一部の実施例では、オフセットとしてゼロボルトがある。例えば、隣のメモリセルが状態Eのままであれば、ゼロボルトのオフセットを用いることが可能である。   In some embodiments, the number of potential offsets may be more or less than six. In some embodiments, there is zero volts as an offset. For example, if the adjacent memory cell remains in state E, a zero volt offset can be used.

図15Aのステップ602では、オフセットを受信しないメモリセルが、ステップ502の前に読み出されたデータを記憶する。例えば、あるメモリセルの隣のセルが状態Eであれば、オフセットは用いられない(0Vオフセット)。ステップ604では、読み出しポイントにおいて第1のオフセットを用いて読み出しプロセスを実行する。例えば、図14のプロセスを実行することが可能である。しかしながら、読み出し比較ポイントとしてVra、VrbおよびVrcを用いる替わりに、この読み出しプロセスは、Vra+第1のオフセット、Vrb+第1のオフセットおよびVrc+第1のオフセットを用いる。ステップ606で、第1のオフセットと関連するビット線に対するデータを記憶する。すなわち、1つの隣が状態Eにあり、別の隣が状態Aにあるようなメモリセルは、ステップ604からのデータを記憶する。ステップ608では、読み出し比較ポイントにおいて第2のオフセット集合を用いて読み出しプロセスを実行する。例えば、読み出し比較ポイントに対するVra+第2のオフセット、Vrb+第2のオフセットおよびVrc+第2のオフセットで、図14のプロセスを実行する。ステップ610で、第2のオフセットと関連するビット線が、ステップ608からのデータを記憶する。例えば、1つの隣が状態Eにあり、別の隣が状態Bにある、または、双方の隣が状態Aにあるようなメモリセルは、ステップ608からのデータを記憶する。ステップ612では、読み出し比較ポイントにおいて第3のオフセットを用いて読み出しプロセスを実行する。ステップ614で、第3のオフセットと関連するビット線に対するデータを記憶する。ステップ616では、読み出し比較ポイントにおいて第4のオフセットを用いて読み出しプロセスを実行する。ステップ618で、第4のオフセットと関連するビット線に対するステップ616からのデータを記憶する。ステップ620では、読み出し比較ポイントにおいて第5のオフセットを用いて読み出しプロセスを実行する。ステップ622で、第5のオフセットと関連するビット線に対するデータを記憶する。ステップ624で、読み出し比較ポイントにおける第6のオフセットを用いて読み出しプロセスを実行する。ステップ626で、第6のオフセットと関連するビット線に対するステップ624からのデータを記憶する。1つの例では、第1のオフセットは0.1ボルトであり、第2のオフセットは0.2ボルトであり、第3のオフセットは0.3ボルトであり、第4のオフセットは0.4ボルトであり、第5のオフセットは0.5ボルトであり、第6のオフセットは0.6ボルトである。結合に対する補償に関するさらなる情報は、その全体を参照してここに組み込む、ジアン・チェン(Jian Chen)による「Compensating for Coupling During Read Operations On Non− Volatile Memory,」という名称の2005年4月5日に出願された米国特許出願第11/099,133号に見受けることが可能である。   In step 602 of FIG. 15A, the memory cell that does not receive the offset stores the data read before step 502. For example, if the cell next to a certain memory cell is in state E, the offset is not used (0V offset). In step 604, the read process is performed using the first offset at the read point. For example, the process of FIG. 14 can be performed. However, instead of using Vra, Vrb and Vrc as read comparison points, the read process uses Vra + first offset, Vrb + first offset and Vrc + first offset. At step 606, data for the bit line associated with the first offset is stored. That is, a memory cell with one neighbor in state E and another neighbor in state A stores the data from step 604. In step 608, the read process is performed using the second offset set at the read comparison point. For example, the process of FIG. 14 is performed with Vra + second offset, Vrb + second offset, and Vrc + second offset relative to the read comparison point. At step 610, the bit line associated with the second offset stores the data from step 608. For example, a memory cell in which one neighbor is in state E and another neighbor is in state B, or both neighbors are in state A, stores data from step 608. In step 612, the read process is performed using the third offset at the read compare point. At step 614, the data for the bit line associated with the third offset is stored. In step 616, the read process is performed using the fourth offset at the read compare point. At step 618, the data from step 616 is stored for the bit line associated with the fourth offset. In step 620, the read process is performed using the fifth offset at the read compare point. At step 622, the data for the bit line associated with the fifth offset is stored. At step 624, a read process is performed using the sixth offset at the read compare point. At step 626, the data from step 624 for the bit line associated with the sixth offset is stored. In one example, the first offset is 0.1 volts, the second offset is 0.2 volts, the third offset is 0.3 volts, and the fourth offset is 0.4 volts. And the fifth offset is 0.5 volts and the sixth offset is 0.6 volts. Further information on compensation for binding was found on April 5, 2005, entitled “Compensating for Coupling During Read Operations on Non-Volatile Memory,” by Jian Chen, which is incorporated herein by reference in its entirety. It can be found in filed US patent application Ser. No. 11 / 099,133.

図15Aのプロセスは、2つの隣から結合が発生する可能性が存在する場合に実行される。ステップ508で一方の隣からしか結合が発生する可能性がないと判定された場合には、ステップ514で図15Bのプロセスが実行される。ステップ630では、一方の隣に基づいてオフセットを決定する。ステップ632では、関連するオフセットがないビット線に対して既に読み出されたデータをステップ632で記憶する。ステップ634では、読み出し比較ポイントにおいて第1のオフセットを用いて読み出しプロセスを実行する。ステップ636で、第1のオフセットと関連するビット線に対するデータを記憶する。ステップ638では、読み出し比較ポイントにおいて第2のオフセットを用いて読み出しプロセスを実行する。ステップ640で、第2のオフセットと関連するビット線に対するデータを記憶する。ステップ642では、読み出し/比較ポイントにおいて第3のオフセットを用いて読み出しプロセスを実行する。ステップ644で、第3のオフセットと関連するビット線に対するデータを記憶する。   The process of FIG. 15A is performed when there is a possibility that a join will occur from two neighbors. If it is determined in step 508 that a join can only occur from one neighbor, the process of FIG. 15B is performed in step 514. In step 630, an offset is determined based on one neighbor. In step 632, the data that has already been read for the bit line with no associated offset is stored in step 632. In step 634, the read process is performed using the first offset at the read compare point. At step 636, the data for the bit line associated with the first offset is stored. In step 638, the read process is performed using the second offset at the read compare point. At step 640, the data for the bit line associated with the second offset is stored. In step 642, the read process is performed using the third offset at the read / compare point. At step 644, the data for the bit line associated with the third offset is stored.

別の実施形態では、タイムスタンプを記憶するのではなく、特定のページが隣のワード線(または他の隣)のデータの後にプログラムされたか、または以前にプログラムされているかどうかを示すタイミング情報を記憶する。この情報がこのページが以前に書き込まれたか可能性があるか否かのみしか示さない理由は、このページが、隣が消去されたときに書き込まれ、また、隣が一度も書き込まれていないということがあり得るからである。   In another embodiment, rather than storing a time stamp, timing information indicating whether a particular page was programmed after the data on the adjacent word line (or other adjacent) or was previously programmed. Remember. The reason this information only indicates whether this page may have been written before is that this page was written when the neighbor was erased, and the neighbor was never written It is possible.

図16に、データのページの別の例を示す。ここに示すページは、ヘッダー650、タイミング情報652、ユーザデータ654、タイミング情報656およびECC658を含んでいる。タイミング情報652は、前のワード線に関する履歴(前のワード線履歴―HPWL)を提供するものである。タイミング情報656は、次のワード線に関する履歴(次のワード線履歴―HNWL)を提供するものである。タイミング情報652と656に関して、「前の」や「次の」という用語を用いるのは、時間や順序を表すことを意図するものではない。むしろ、「前の」や「次の」といった用語は、2つの隣のそれぞれを識別するために用いるものである。例えば、図5を見ると、ワード線WL2には、少なくとも2つの隣、すなわち、WL3とWL1を有している。表記の目的により、ソースに最も近い隣のワード線を前のワード線と呼び、ドレインに最も近い隣のワード線を次のワード線と呼ぶ。したがって、WL1に対しては、前のワード線はWL1であり、次のワード線はWL2である。結合が発生する可能性の決定と適宜これを補償する本書に記載する技術は、所定ではない順序でデータをプログラムするプログラミング方式を含む多くのプログラミング方式と共に用いることが可能である。すなわち、一部の実施形態では、ワード線をWL0からWL3の順序でプログラムする。他の実施形態では、システムは、ワード線をランダムに選んで任意の順序でこれらワード線をプログラムする。本書に記載する技術は、どちらの実施形態でも効果を生じ得るものである。   FIG. 16 shows another example of the data page. The page shown here includes a header 650, timing information 652, user data 654, timing information 656, and ECC 658. The timing information 652 provides a history related to the previous word line (previous word line history-HPWL). The timing information 656 provides a history related to the next word line (next word line history-HNWL). Regarding the timing information 652 and 656, the use of the terms “previous” and “next” is not intended to represent time or order. Rather, terms such as “previous” and “next” are used to identify each of the two neighbors. For example, referring to FIG. 5, the word line WL2 has at least two neighbors, that is, WL3 and WL1. For the purpose of notation, the adjacent word line closest to the source is called the previous word line, and the adjacent word line closest to the drain is called the next word line. Thus, for WL1, the previous word line is WL1 and the next word line is WL2. The techniques described in this document that determine the likelihood of coupling occurring and, where appropriate, compensate for it can be used with many programming schemes, including programming schemes that program data in a non-predetermined order. That is, in some embodiments, word lines are programmed in the order of WL0 to WL3. In other embodiments, the system randomly selects word lines and programs these word lines in any order. The techniques described in this document can be effective in either embodiment.

図17は、HPWL652とHNWL656に記憶することが可能なデータ値を説明するチャートである。1つの実施形態では、記憶されるデータとしては、2ビットの11、10および00がある。HPWL652またはHNWL656が11を記憶していれば、履歴を記憶しているページ、セクターまたはワード線が消去される。HPWL652またはHNWL656が10を記憶していれば、その履歴値を記憶しているワード線はそれぞれの隣のワード線より前にプログラムされている。HPWL652またはHNWL656が00を記憶していれば、それぞれの隣のワード線は、履歴を記憶しているワード線より前にプログラムされている。   FIG. 17 is a chart for explaining data values that can be stored in the HPWL 652 and the HNWL 656. In one embodiment, the stored data includes 2 bits 11, 10, and 00. If HPWL 652 or HNWL 656 stores 11, the page, sector or word line storing the history is erased. If HPWL 652 or HNWL 656 stores 10, the word line storing the history value is programmed before each adjacent word line. If HPWL 652 or HNWL 656 stores 00, each adjacent word line is programmed before the word line storing the history.

図18は、図16に示すページをプログラムするプロセスの1つの実施形態を説明するフローチャートである。図18のステップ402〜406は図12と同じである。ステップ680には、前のワード線の履歴を読み出してHPWLを決定する動作が含まれる。例えば、図5のワード線WL2がプログラムされる場合には、前のワード線はWL1である。ステップ680には、WL1に対するHNWL656を確認して、WL1が消去されているか(HNWL=11)またはプログラムされているか(例えば、HNWL=10)をチェックする動作が含まれる。WL1に対するHNWLに基づいて、WL2に対するHPWL652を決定する。ステップ682では、次のワード線に対する履歴を読み出してHNWLを決定する。例えば、図5のWL2に書き込むときに、システムは最初にワード線WL3のHPWLを読み出して、これに基づいて、ワード線WL2に対するHNWLとして記憶する値を決定する。ステップ684では、ヘッダー650、HPWL652、ユーザデータ654、HNWL656およびEC658をプログラムするためのデータを、各ビット線に対応する適切なラッチに記憶する。図17のステップ412〜428は図12と同じである。   FIG. 18 is a flow chart describing one embodiment of a process for programming the page shown in FIG. Steps 402 to 406 in FIG. 18 are the same as those in FIG. Step 680 includes an operation of reading the history of the previous word line and determining HPWL. For example, if word line WL2 of FIG. 5 is programmed, the previous word line is WL1. Step 680 includes checking HNWL 656 for WL1 to check if WL1 is erased (HNWL = 11) or programmed (eg, HNWL = 10). Based on HNWL for WL1, HPWL652 for WL2 is determined. In step 682, the history for the next word line is read to determine HNWL. For example, when writing to WL2 in FIG. 5, the system first reads the HPWL of word line WL3, and based on this, determines the value to store as HNWL for word line WL2. In step 684, data for programming header 650, HPWL 652, user data 654, HNWL 656 and EC 658 is stored in the appropriate latch corresponding to each bit line. Steps 412 to 428 in FIG. 17 are the same as those in FIG.

図19は、次のまたは前のワード線からの履歴情報を読み出して、適切なHPWLまたはHNWLを決定するプロセスの1つの実施形態を説明するフローチャートである。例えば、図19はステップ680または682の1つの実施形態を提供するものである。ステップ700では、適切なワード線に電圧Vraを印加することによって読み出しプロセスを実行する。ステップ702では、ビット線を検知して、メモリセルがオンしたかオフしたかを判定する。ステップ702を実行する必要があるのは、履歴値(HPWLまたはHNWL)を記憶しているメモリセルに対してだけである。他の実施形態では、ステップ702を、ワード線に接続されている全てのメモリセル(または他のより大きい集合)に対して実行してもよい。履歴値が11(状態E)であれば、メモリセルはオンすることに留意されたい。11でなければ、履歴を記憶しているメモリセルはVraに対してオンすることはない。履歴を記憶しているメモリセルがオンする場合には、隣のワード線に接続されているメモリセルが消去されており、したがって、現在プログラムされているメモリセルは、隣のワード線がプログラムされる前にプログラムされる可能性があると推測される。履歴を記憶しているメモリセルがオンしなければ、隣のワード線上のメモリセルは既にプログラムされており、現在のワード線は、隣のワード線がプログラムされた後でプログラムされるものと推測される。ステップ702の結果はステップ704で記憶される。履歴情報を記憶しているメモリセルがオンするかオフするかに基づいて(ステップ706)、現在のワード線に対する履歴に適切な値が記憶される。隣の履歴が11であれば、ステップ710で値10が現在のワード線に対する適切な履歴値に記憶されて、現在のワード線が隣より前にプログラムされていることが示される。隣の履歴値が10であれば、値00が現在のワード線に対する履歴に記憶されて、現在のワード線は隣より後にプログラムされていることが示される。   FIG. 19 is a flow chart describing one embodiment of a process for reading history information from the next or previous word line to determine the appropriate HPWL or HNWL. For example, FIG. 19 provides one embodiment of step 680 or 682. In step 700, the read process is performed by applying a voltage Vra to the appropriate word line. In step 702, the bit line is detected to determine whether the memory cell is turned on or off. Step 702 need only be performed for memory cells that store a history value (HPWL or HNWL). In other embodiments, step 702 may be performed on all memory cells (or other larger sets) connected to the word line. Note that if the history value is 11 (state E), the memory cell is turned on. If not 11, the memory cell storing the history is not turned on for Vra. When the memory cell storing the history is turned on, the memory cell connected to the adjacent word line is erased, so that the memory cell currently programmed is programmed to the adjacent word line. Is presumed to be programmed before If the memory cell storing the history is not turned on, the memory cell on the adjacent word line is already programmed, and the current word line is presumed to be programmed after the adjacent word line is programmed. Is done. The result of step 702 is stored at step 704. Based on whether the memory cell storing history information is turned on or off (step 706), an appropriate value is stored in the history for the current word line. If the neighbor history is 11, step 710 stores the value 10 in the appropriate history value for the current word line, indicating that the current word line has been programmed before the neighbor. If the neighbor history value is 10, the value 00 is stored in the history for the current word line, indicating that the current word line is programmed after the neighbor.

図20は、図18のプロセスにしたがってプログラムされたデータを読み出す読み出しプロセスの1つの実施形態を説明するフローチャートである。図20は、図10のプロセスとは別の実施形態であることに留意されたい。図20のステップ800で、データを読み出し要求を受信する。ステップ802で、オフセットを用いることなく、ワード線に対して読み出しプロセスを実行する。例えば、図14のプロセスが実行される。ステップ804で、読み出し中のワード線に対する履歴にアクセスする。1つの実施形態では、ステップ802で、全ページの読み出しプロセスの一部として履歴データを読み出すことに留意されたい。ステップ804では、このデータが、プロセッサ、状態マシンなどによってアクセスされる。他の実施形態では、ステップ802の前または後に履歴データにアクセスする場合もある。HNWLかHPWLが11であれば(ステップ806)、ページからデータが消去され、ステップ808でこの消去されたデータが報告されるものと推測される。HNWLとHPWLの双方が00であれば、読み出し中の現在ページが両隣の後でプログラムされているものと推測される。したがって、ステップ810では、結合を補償することなくデータが報告される。HNWL=00でHPWL=10であれば(ステップ812)、ステップ814で、追加の読み出し動作を実行して、前の隣からの結合を補償する。HNWL=10でHPWL=10であれば、ステップ818で、追加の読み出し動作を実行して、両隣からの結合を補償する。HNWL=10でHPWL=00であれば、ステップ816で、追加の読み出し動作を実行して、次の隣からの結合を補償する。   FIG. 20 is a flow chart describing one embodiment of a read process for reading data programmed according to the process of FIG. Note that FIG. 20 is an alternative embodiment to the process of FIG. In step 800 of FIG. 20, a data read request is received. In step 802, a read process is performed on the word lines without using an offset. For example, the process of FIG. 14 is executed. In step 804, the history for the word line being read is accessed. Note that in one embodiment, at step 802, historical data is read as part of the full page read process. In step 804, this data is accessed by a processor, state machine, or the like. In other embodiments, historical data may be accessed before or after step 802. If HNWL or HPWL is 11 (step 806), it is assumed that the data is erased from the page and that the erased data is reported at step 808. If both HNWL and HPWL are 00, it is assumed that the current page being read is programmed after both neighbors. Thus, in step 810, data is reported without compensating for coupling. If HNWL = 00 and HPWL = 10 (step 812), an additional read operation is performed at step 814 to compensate for coupling from the previous neighbor. If HNWL = 10 and HPWL = 10, then at step 818, an additional read operation is performed to compensate for coupling from both sides. If HNWL = 10 and HPWL = 00, then at step 816, an additional read operation is performed to compensate for the next adjacent coupling.

図21は、1つの隣からの結合を補償する追加の読み出し動作を実行するプロセスの1つの実施形態を説明するフローチャートである。例えば、図21のプロセスは、図20のステップ814またはステップ816の一部として実行することが可能である。ステップ904では、制御ゲートまたはワード線に与えられた読み出し比較ポイントVraを用いて隣のワード線からデータを読み出す。ステップ906で、ワード線またはページの全体が消去されたかどうかを判定する。メモリセルがすべて状態Eであれば、メモリセルはすべてVraに応答してオンする。すべてのメモリセルが消去されていれば(ステップ906)、ステップ908で、隣のワード線からの結合に対する補償を実行することなくデータを報告する。隣のワード線が消去されていなければ(ステップ906)、読み出しプロセスを継続して、ステップ910で、読み出し比較ポイントVrbを用いる読み出し動作と、比較ポイントVrcを用いる読み出し動作を実行する。これら3つの読み出し動作に基づいて、隣に記憶されているデータを決定することが可能である(図14の検討を参照)。ステップ910の後、隣に記憶されているデータに照らし合わせて、発生し得る結合を補償する追加の読み出しプロセスを実行する。例えば、図15Bのプロセスを実行することが可能である。   FIG. 21 is a flow chart describing one embodiment of a process for performing an additional read operation that compensates for coupling from one neighbor. For example, the process of FIG. 21 can be performed as part of step 814 or step 816 of FIG. In step 904, data is read from the adjacent word line using the read comparison point Vra given to the control gate or word line. In step 906, it is determined whether the entire word line or page has been erased. If all memory cells are in state E, all memory cells are turned on in response to Vra. If all memory cells have been erased (step 906), data is reported in step 908 without performing compensation for coupling from adjacent word lines. If the adjacent word line has not been erased (step 906), the read process is continued, and in step 910, a read operation using the read comparison point Vrb and a read operation using the comparison point Vrc are executed. Based on these three read operations, it is possible to determine the data stored next to it (see discussion of FIG. 14). After step 910, an additional read process is performed that compensates for possible coupling against the data stored next to it. For example, the process of FIG. 15B can be performed.

図22は、2つの隣からの結合を考慮した追加の読み出し動作を実行するプロセスの1つの実施形態を説明するフローチャートである。例えば、図22のプロセスは、図20のステップ818の一部として実行することが可能である。ステップ930で、両隣のワード線を、読み出し比較ポイントVraを用いて読み出す。両隣が消去されていると判定されたら(ステップ932)、ステップ914で、結合を補償することなくデータを報告する。両隣の一方が消去されていると判定されたら(例えば、Vraに応答して、一方の隣のワード線またはページのメモリセルがすべてオンし、他方の隣のメモリセルのメモリセルがすべてオンしない場合)、ステップ950で、一方の隣が、読み出し比較ポイントVrbとVrcを用いて実行される読み出しプロセスの対象となる(図21のステップ910と類似している)。ステップ952では、ステップ952で発生する可能性のある結合を補償する追加の読み出しプロセスを実行する(図21のステップ912と類似している)。どちらの隣も消去されてないとステップ932で判定されたら、ステップ936で、読み出し比較ポイントVrbとVrcを用いて読み出し動作を両隣に対して実行する。ステップ938で、双方のワード線からの潜在的な結合を補償する追加の読み出しプロセスを実行し、そのデータを報告する。1つの実施形態では、ステップ938には、図15Aのプロセスを実行する動作が含まれる。   FIG. 22 is a flowchart describing one embodiment of a process for performing an additional read operation that takes into account the coupling from two neighbors. For example, the process of FIG. 22 may be performed as part of step 818 of FIG. In step 930, the adjacent word lines are read using the read comparison point Vra. If it is determined that both neighbors have been erased (step 932), data is reported at step 914 without compensating for coupling. If it is determined that one of both neighbors is erased (for example, in response to Vra, all the memory cells of one neighbor word line or page are turned on, and all the memory cells of the other neighbor memory cell are not turned on. ), At step 950, one of the neighbors is subject to a read process performed using read comparison points Vrb and Vrc (similar to step 910 in FIG. 21). In step 952, an additional read process is performed that compensates for the coupling that may occur in step 952 (similar to step 912 in FIG. 21). If it is determined in step 932 that neither neighbor is erased, then in step 936 a read operation is performed on both neighbors using the read comparison points Vrb and Vrc. In step 938, an additional read process that compensates for potential coupling from both word lines is performed and the data is reported. In one embodiment, step 938 includes an act of performing the process of FIG. 15A.

結合が発生する可能性を検出してこの結合を補償する本書に記載の技術は、他のタイプのエラーの発生する可能性を検出して(オプションとして)このエラーを補償する方法に適用可能である。   The technique described in this document that detects the possibility of coupling and compensates for this coupling is applicable to a method that (optionally) compensates for this type of error by detecting the possibility of other types of errors. is there.

本発明に関する前述の詳細な説明は、例証と説明のために提示されたものである。本発明を開示する形態そのものに限定することを意図するものではない。上記の開示に照らし合わせて、多くの修正例や変更例が可能である。説明した実施形態は、本発明とその実際の応用例の原理がもっともよく説明され、これによって、他の当業者が、想定される特定の用途に適しているさまざまな実施形態で、また、さまざまな修正をもって、本発明を利用することが可能となるように選ばれたものである。本発明の範囲は添付の特許請求の範囲によって定義されることを意図するものである。   The foregoing detailed description of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above disclosure. The described embodiments are best described in terms of the principles of the invention and its practical application, so that others skilled in the art will be able to implement various embodiments suitable for the particular application envisaged, as well as various The present invention has been selected so that the present invention can be used with various modifications. The scope of the present invention is intended to be defined by the appended claims.

NANDストリングの上面図である。It is a top view of a NAND string. NANDストリングの等価回路図である。It is an equivalent circuit diagram of a NAND string. NANDストリングの断面図である。It is sectional drawing of a NAND string. 不揮発性メモリシステムのブロック図である。1 is a block diagram of a nonvolatile memory system. 不揮発性メモリアレイのブロック図である。It is a block diagram of a non-volatile memory array. 閾値電圧分布の集合の例を示す図である。It is a figure which shows the example of the set of threshold voltage distribution. 閾値電圧分布の集合の例を示す図である。It is a figure which shows the example of the set of threshold voltage distribution. 種々の閾値電圧分布を示し、不揮発性メモリをプログラムするプロセスを説明する図である。FIG. 6 illustrates various threshold voltage distributions and illustrates a process for programming a non-volatile memory. 種々の閾値電圧分布を示し、不揮発性メモリをプログラムするプロセスを説明する図である。FIG. 6 illustrates various threshold voltage distributions and illustrates a process for programming a non-volatile memory. 種々の閾値電圧分布を示し、不揮発性メモリをプログラムするプロセスを説明する図である。FIG. 6 illustrates various threshold voltage distributions and illustrates a process for programming a non-volatile memory. 不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for programming non-volatile memory. 不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。3 is a flowchart illustrating one embodiment of a process for reading non-volatile memory. データの1ページ(または他の単位)を示すブロック図である。It is a block diagram which shows 1 page (or another unit) of data. 不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for programming non-volatile memory. 不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。3 is a flowchart illustrating one embodiment of a process for reading non-volatile memory. 結合を補償するオフセットを用いることなく、ワード線上にあるメモリセルを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flow chart describing one embodiment of a process for reading a memory cell on a word line without using an offset to compensate for coupling. 結合を補償するオフセットを用いて、ワード線上にあるメモリセルを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flow chart describing one embodiment of a process for reading a memory cell on a word line using an offset that compensates for coupling. 結合を補償するオフセットを用いて、ワード線上にあるメモリセルを読み出すプロセスの一実施形態を説明するフローチャートである。6 is a flow chart describing one embodiment of a process for reading a memory cell on a word line using an offset that compensates for coupling. データの1ページ(または他の単位)を示すブロック図である。It is a block diagram which shows 1 page (or another unit) of data. 履歴データを説明するチャートである。It is a chart explaining historical data. 不揮発性メモリをプログラムするプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for programming non-volatile memory. 履歴データを決定するプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for determining historical data. 不揮発性メモリを読み出すプロセスの一実施形態を説明するフローチャートである。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 performing a read operation that takes into account coupling from adjacent memory cells. 隣のメモリセルからの結合を考慮した読み出し動作を実行するプロセスの一実施形態を説明するフローチャートである。6 is a flowchart illustrating one embodiment of a process for performing a read operation that takes into account coupling from adjacent memory cells.

Claims (37)

不揮発性記憶装置を動作させる方法であって、
1つ以上の不揮発性記憶素子に記憶されているデータの集合に対してカスタマイズされているタイミング情報にアクセスするアクセスステップと、
前記タイミング情報に基づいて前記データ集合中の1つ以上の潜在的なエラーを選択的に補償するステップを実行するとともに前記1つ以上の不揮発性記憶素子から前記データ集合を読み出す読み出しステップ、
を有している方法。
A method of operating a non-volatile storage device, comprising:
Accessing access timing information customized for a collection of data stored in one or more non-volatile storage elements;
Performing a step of selectively compensating for one or more potential errors in the data set based on the timing information and reading the data set from the one or more non-volatile storage elements;
Having a method.
前記1つ以上の潜在的エラーが、前記1つ以上の不揮発性記憶素子と1つ以上の隣の不揮発性記憶素子の間で生じる潜在的結合によるものであることを特徴とする請求項1に記載の方法。   2. The one or more potential errors are due to potential coupling that occurs between the one or more non-volatile storage elements and one or more neighboring non-volatile storage elements. The method described. 前記アクセスステップと読み出しステップが、
前記タイミング情報に含まれており、前記1つ以上の不揮発性記憶素子と関連するワード線に対する第1のタイムデータを読み出すステップと、
隣の不揮発性記憶素子と関連するワード線に対する第2のタイムデータを読み出すステップと、
前記第1のタイムデータを前記第2のタイムデータと比較するステップと、
前記比較に基づいて、エラーが発生する可能性があるか否かを判定するステップ、
を有していることを特徴とする請求項1に記載の方法。
The access step and the read step include
Reading first time data for a word line included in the timing information and associated with the one or more non-volatile storage elements;
Reading second time data for a word line associated with an adjacent non-volatile storage element;
Comparing the first time data with the second time data;
Determining whether an error may occur based on the comparison;
The method of claim 1, comprising:
前記1つ以上の潜在的エラーを選択的に補償するステップが、
前記1つ以上の不揮発性記憶素子の隣の不揮発性記憶素子を検知するステップと、
前記隣の不揮発性記憶素子から検知された情報に基づいて、前記1つ以上の不揮発性記憶素子に基づく読み出し電圧のオフセットを判定するステップと、
前記オフセットを用いて、前記1つ以上の不揮発性記憶素子を読み出すステップ、
を有していることを特徴とする請求項1に記載の方法。
Selectively compensating for the one or more potential errors comprises:
Detecting a non-volatile storage element adjacent to the one or more non-volatile storage elements;
Determining an offset of a read voltage based on the one or more non-volatile storage elements based on information detected from the adjacent non-volatile storage element;
Using the offset to read the one or more non-volatile storage elements;
The method of claim 1, comprising:
メモリ素子が、前記1つ以上の不揮発性記憶素子と前記タイミング情報を記憶している追加の不揮発性記憶素子を含んでおり、
前記タイミング情報が、第1の値と第2の値を含んでおり、
前記第1の値が、隣の第1の集合に対する前記1つ以上の不揮発性記憶素子のプログラミングタイミングを示しており、
前記第2の値が、隣の第2の集合に対する前記1つ以上の不揮発性記憶素子のプログラミングタイミングを示しており、
前記アクセスステップと読み出しステップが、
第1のワード線に接続されている前記メモリ素子からデータを読み出すステップと、
前記第1の値が前記1つ以上の不揮発性記憶素子が前記第1の隣の集合より後でプログラムされていることを示しており、前記第2の値が前記1つ以上の不揮発性記憶素子が前記第2の隣の集合より後でプログラムされていることを示している場合に、1つ以上の潜在的エラーを補償することなく前記データを報告するステップと、
前記第1の値が前記1つ以上の不揮発性記憶素子が前記第1の隣の集合より先にプログラムされている可能性があることを示している場合、または、前記第2の値が前記1つ以上の不揮発性記憶素子が前記第2の隣の集合より先にプログラムされている可能性があることを示している場合に、1つ以上の潜在的エラーを補償した後で前記データを報告するステップ、
を有していることを特徴とする請求項1に記載の方法。
A memory element includes the one or more non-volatile storage elements and an additional non-volatile storage element storing the timing information;
The timing information includes a first value and a second value;
The first value indicates a programming timing of the one or more non-volatile storage elements for an adjacent first set;
The second value indicates a programming timing of the one or more non-volatile storage elements for an adjacent second set;
The access step and the read step include
Reading data from the memory element connected to a first word line;
The first value indicates that the one or more non-volatile storage elements are programmed after the first adjacent set, and the second value is the one or more non-volatile storages Reporting the data without compensating for one or more potential errors when indicating that an element is programmed after the second neighbor set;
The first value indicates that the one or more non-volatile storage elements may be programmed prior to the first neighboring set, or the second value is the The data may be stored after compensating for one or more potential errors, indicating that one or more non-volatile storage elements may be programmed prior to the second neighbor set. Reporting steps,
The method of claim 1, comprising:
前記タイミング情報をプログラムするステップを実行すると共に、前記データを前記1つ以上の不揮発性記憶素子にプログラムするプログラミングステップをさらに有していることを特徴とする請求項1に記載の方法。   The method of claim 1, further comprising a step of programming the timing information and further programming the data into the one or more non-volatile storage elements. 前記プログラミングステップが、
隣の不揮発性記憶素子の集合と関連する隣のタイミング情報を読み出すステップと、
前記隣のタイミング情報に基づいて、前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップ、
を有していることを特徴とする請求項6に記載の方法。
The programming step comprises:
Reading adjacent timing information associated with a set of adjacent non-volatile storage elements;
Determining the timing information customized for the data set based on the neighboring timing information;
The method of claim 6, comprising:
前記1つ以上の不揮発性記憶素子がマルチステート不揮発性記憶素子であり、
前記隣のタイミング情報を読み出すステップが、1つの基準電圧レベルにおいて読み出し動作を実行するステップを有しており、
前記タイミング情報を決定するステップが、1つの基準電圧レベルにおける前記読み出し動作に完全に基づくことを特徴とする請求項7に記載の方法。
The one or more nonvolatile memory elements are multi-state nonvolatile memory elements;
Reading the adjacent timing information includes performing a read operation at one reference voltage level;
The method of claim 7, wherein the step of determining the timing information is based entirely on the read operation at one reference voltage level.
前記プログラミングステップが、
隣の不揮発性記憶素子の第1の集合と関連する第1の隣のタイミング情報を読み出すステップと、
前記第1の隣のタイミング情報に基づいて、第1のタイミング値を決定するステップと、
隣の不揮発性記憶素子の第2の集合と関連する第2の隣のタイミング情報を読み出すステップと、
前記第2の隣のタイミング情報に基づいて、第2のタイミング値を決定するステップ、
を有し、
隣の不揮発性記憶素子の前記集合と関連する前記タイミング情報が、前記第1のタイミング値と前記第2のタイミング値を含むことを特徴とする請求項6に記載の方法。
The programming step comprises:
Reading first neighboring timing information associated with a first set of neighboring non-volatile storage elements;
Determining a first timing value based on the first neighboring timing information;
Reading second neighboring timing information associated with a second set of neighboring non-volatile storage elements;
Determining a second timing value based on the second neighboring timing information;
Have
The method of claim 6, wherein the timing information associated with the set of adjacent non-volatile storage elements includes the first timing value and the second timing value.
隣の不揮発性記憶素子の前記第1の集合が、第1のワード線に接続されており、
前記1つ以上の不揮発性記憶素子が、前記第1のワード線の隣の第2のワード線に接続されており、
隣の不揮発性記憶素子の前記第2の集合が、前記第2のワード線の隣の第3のワード線に接続されており、
前記1つ以上の潜在的エラーが、前記1つ以上の不揮発性記憶素子と隣の不揮発性記憶素子の前記第1の集合との結合と、前記1つ以上の不揮発性記憶素子と隣の不揮発性記憶素子の前記第2の集合との結合とによって生じることを特徴とする請求項9に記載の方法。
The first set of adjacent non-volatile storage elements is connected to a first word line;
The one or more non-volatile storage elements are connected to a second word line adjacent to the first word line;
The second set of adjacent non-volatile storage elements is connected to a third word line adjacent to the second word line;
The one or more potential errors may be a combination of the one or more non-volatile storage elements with the first set of adjacent non-volatile storage elements, and the one or more non-volatile storage elements with an adjacent non-volatile 10. The method of claim 9, wherein the method is caused by coupling with the second set of sexual memory elements.
前記選択的に補償するステップが、
前記1つ以上の不揮発性記憶素子が前記1つ以上の隣の不揮発性記憶素子をプログラムするより先にプログラムされていることを前記タイミング情報が示している場合に、前記1つ以上の不揮発性記憶素子と前記1つ以上の隣の不揮発性記憶素子との間の結合に対する第1の補償プロセスを実行するステップと、
前記1つ以上の不揮発性記憶素子が前記1つ以上の隣の不揮発性記憶素子をプログラムするより先にプログラムされていないことを前記タイミング情報が示している場合に、第1の補償プロセスを実行することなく読み出すステップ、
を有していることを特徴とする請求項1に記載の方法。
The selectively compensating step comprises:
The one or more non-volatile storage elements when the timing information indicates that the one or more non-volatile storage elements are programmed prior to programming the one or more adjacent non-volatile storage elements; Performing a first compensation process for coupling between a storage element and the one or more neighboring non-volatile storage elements;
Performing a first compensation process when the timing information indicates that the one or more non-volatile storage elements are not programmed prior to programming the one or more adjacent non-volatile storage elements Step without reading,
The method of claim 1, comprising:
前記選択的に補償するステップが、前記タイミング情報に基づいて電圧オフセットを用いるか否かを選択するステップを有していることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the selectively compensating comprises selecting whether to use a voltage offset based on the timing information. 前記タイミング情報が絶対タイムを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the timing information includes an absolute time. 前記タイミング情報がサイクルカウントタイムを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the timing information includes a cycle count time. 前記タイミング情報が、前記1つ以上の不揮発性記憶素子と隣の不揮発性記憶素子との間のプログラミング順序情報を含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the timing information includes programming order information between the one or more non-volatile storage elements and an adjacent non-volatile storage element. 前記タイミング情報が、データの集合が消去されたデータであるか、隣のワード線をプログラムした後でプログラムされたデータであるか、あるいは、隣のワード線をプログラムするより先にプログラムされた可能性があるデータであるかを示す2ビットの符号を含むことを特徴とする請求項1に記載の方法。   The timing information may be data from which a set of data has been erased, programmed data after programming the adjacent word line, or programmed prior to programming the adjacent word line The method according to claim 1, further comprising a two-bit code indicating whether the data is correct. 前記データ集合がデータのページを含んでおり、
前記1つ以上の不揮発性記憶素子が第1のワード線に接続されており、
前記1つ以上の潜在的エラーが、前記1つ以上の不揮発性記憶素子のうちの1つ以上のセルと、前記第1のワード線の隣のワード線に接続されている1つ以上の不揮発性記憶素子との間で生じる結合によるものであることを特徴とする請求項1に記載の方法。
The data set includes a page of data;
The one or more non-volatile storage elements are connected to a first word line;
The one or more potential errors are one or more non-volatile connected to one or more cells of the one or more non-volatile storage elements and a word line adjacent to the first word line. The method according to claim 1, wherein the method is due to a coupling that occurs with the volatile memory element.
前記タイミング情報が、前記データ集合を読み出している間にアクセスされることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the timing information is accessed while reading the data set. 前記タイミング情報が、前記データ集合を読み出すより先にアクセスされることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the timing information is accessed prior to reading the data set. 前記データ集合を読み出す要求を受信するステップをさらに有していることを特徴とする請求項1に記載の方法。   The method of claim 1, further comprising receiving a request to read the data set. 前記1つ以上の不揮発性記憶素子がNANDフラッシュメモリ素子であることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the one or more non-volatile storage elements are NAND flash memory elements. 前記1つ以上の不揮発性記憶素子がマルチステートフラッシュメモリ素子であることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the one or more non-volatile storage elements are multi-state flash memory elements. 不揮発性記憶システムであって、
複数の不揮発性記憶素子と、
前記不揮発性記憶素子と通信する1つ以上の管理回路を有しており、
前記1つ以上の管理回路が、
前記複数の不揮発性記憶素子に記憶されているデータの集合に対してカスタマイズされているタイミング情報にアクセスするステップと、
前記タイミング情報に基づいて前記データ集合中の1つ以上の潜在的なエラーを選択的に補償するステップを実行するとともに前記複数の不揮発性記憶素子から前記データ集合を読み出す読み出しステップ、
を実行することを特徴とする不揮発性記憶システム。
A non-volatile storage system,
A plurality of nonvolatile memory elements;
Having one or more management circuits in communication with the non-volatile storage element;
The one or more management circuits;
Accessing timing information customized for a set of data stored in the plurality of non-volatile storage elements;
Performing a step of selectively compensating for one or more potential errors in the data set based on the timing information and reading the data set from the plurality of non-volatile storage elements;
A non-volatile storage system characterized in that
前記1つ以上の潜在的エラーが、前記1つ以上の不揮発性記憶素子と1つ以上の隣の不揮発性記憶素子の間で生じる潜在的結合によるものであることを特徴とする請求項23に記載の不揮発性記憶システム。   24. The one or more potential errors are due to potential coupling that occurs between the one or more non-volatile storage elements and one or more neighboring non-volatile storage elements. The non-volatile storage system described. 前記データ集合が前記複数の不揮発性記憶素子の部分集合に記憶され、前記部分集合が隣の不揮発性記憶素子を有しており、
前記1つ以上の管理回路が、
前記部分集合と関連するワード線に対する第1のタイムデータを読み出すステップと、
前記隣の不揮発性記憶素子と関連するワード線に対する第2のタイムデータを読み出すステップと、
前記1つ以上の管理回路が、前記第1のタイムデータを前記第2のタイムデータと比較し、前記比較に基づいてエラーが発生する可能性があるか否か判定するステップ、
を実行することを特徴とする請求項23に記載の不揮発性記憶システム。
The data set is stored in a subset of the plurality of non-volatile storage elements, the subset having an adjacent non-volatile storage element;
The one or more management circuits;
Reading first time data for a word line associated with the subset;
Reading second time data for a word line associated with the adjacent non-volatile storage element;
The one or more management circuits comparing the first time data with the second time data and determining whether an error may occur based on the comparison;
The non-volatile storage system according to claim 23, wherein:
前記選択的に補償するステップが、電圧オフセットを用いるか否か、及び、前記隣の不揮発性記憶素子に基づいて読み出しプロセス中に用いる前記電圧オフセットの大きさを選択するステップを有していることを特徴とする請求項23に記載の不揮発性記憶システム。   The selectively compensating step includes the step of selecting whether or not to use a voltage offset and the magnitude of the voltage offset to be used during a read process based on the adjacent non-volatile storage element. The non-volatile storage system according to claim 23. 前記データ集合が、前記複数の不揮発性記憶素子の部分集合に記憶され、
前記部分集合が、第1の隣の集合と第2の隣の集合を有しており、
メモリ素子が、前記部分集合と前記タイミング情報を記憶している追加の不揮発性記憶素子を含んでおり、
前記タイミング情報が、第1の値と第2の値を含んでおり、
前記第1の値が、隣の第1の集合に対する前記部分集合のプログラミングタイミングを示しており、
前記第2の値が、隣の第2の集合に対する前記部分集合のプログラミングタイミングを示しており、
前記1つ以上の管理回路が、第1のワード線に接続されているメモリ素子からデータを読み出すステップを実行し、
前記1つ以上の管理回路が、前記第1の値が前記部分集合が前記第1の隣の集合より後でプログラムされていることを示しており、前記第2の値が前記部分集合が前記第2の隣の集合より後でプログラムされていることを示している場合に、1つ以上の潜在的エラーを補償することなく前記データを報告するステップを実行し、
前記1つ以上の管理回路が、前記第1の値が前記部分集合が前記第1の隣の集合より先にプログラムされている可能性があることを示している場合、または、前記第2の値が前記部分集合が前記第2の隣の集合より先にプログラムされている可能性があることを示している場合に、1つ以上の潜在的エラーを補償した後で前記データを報告するステップを実行する、
ことを特徴とする請求項23に記載の不揮発性記憶システム。
The data set is stored in a subset of the plurality of non-volatile storage elements;
The subset has a first neighbor set and a second neighbor set;
A memory element includes an additional non-volatile storage element storing the subset and the timing information;
The timing information includes a first value and a second value;
The first value indicates a programming timing of the subset with respect to an adjacent first set;
The second value indicates the programming timing of the subset relative to an adjacent second set;
The one or more management circuits read data from a memory element connected to a first word line;
The one or more management circuits indicate that the first value indicates that the subset is programmed after the first neighboring set, and the second value indicates that the subset is the Performing the step of reporting the data without compensating for one or more potential errors, if indicated to be programmed after the second neighbor set;
The one or more management circuits indicate that the first value indicates that the subset may be programmed before the first neighboring set, or the second Reporting the data after compensating for one or more potential errors if a value indicates that the subset may be programmed prior to the second neighboring set Run the
The non-volatile storage system according to claim 23.
前記1つ以上の管理回路が、前記タイミング情報をプログラムするステップを実行すると共に、前記データ集合を前記複数の不揮発性記憶素子の部分集合にプログラムするプログラミングステップを実行し
前記データ集合をプログラムするプログラミングステップが、隣のタイミング情報を読み出すステップと、前記隣のタイミング情報に基づいて前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップを有していることを特徴とする請求項23に記載の不揮発性記憶システム。
Programming for programming the data set by executing a programming step for programming the data set into a subset of the plurality of non-volatile storage elements, the one or more management circuits performing the step of programming the timing information 24. The step includes reading adjacent timing information and determining the timing information customized for the data set based on the adjacent timing information. The non-volatile storage system described in 1.
前記1つ以上の不揮発性記憶素子がマルチステート不揮発性記憶素子であり、
隣のタイミング情報を読み出す前記ステップが、1つの基準電圧レベルにおいて読み出し動作を実行するステップを有しており、
前記タイミング情報を決定する前記ステップが、1つの基準電圧レベルにおける前記読み出し動作に基づくことを特徴とする請求項28に記載の不揮発性記憶システム。
The one or more nonvolatile memory elements are multi-state nonvolatile memory elements;
The step of reading adjacent timing information comprises performing a read operation at one reference voltage level;
The non-volatile storage system of claim 28, wherein the step of determining the timing information is based on the read operation at one reference voltage level.
前記データ集合が前記複数の不揮発性記憶素子の部分集合に記憶され、前記部分集合が隣に不揮発性記憶素子を有しており、
選択的に補償する前記ステップが、
前記部分集合が前記隣の不揮発性記憶素子をプログラムするより先にプログラムされていることを前記タイミング情報が示している場合に、前記部分集合と前記隣の不揮発性記憶素子との間の結合に対する第1の補償プロセスを実行するステップと、
前記部分集合が前記隣の不揮発性記憶素子をプログラムするより先にプログラムされてはいないことを前記タイミング情報が示している場合に、第1の補償プロセスを実行することなく読み出すステップ、
を有していることを特徴とする請求項23に記載の不揮発性記憶システム。
The data set is stored in a subset of the plurality of non-volatile storage elements, the subset having a non-volatile storage element next thereto;
The step of selectively compensating,
If the timing information indicates that the subset is programmed prior to programming the adjacent non-volatile storage element, the coupling between the subset and the adjacent non-volatile storage element Performing a first compensation process;
Reading without performing a first compensation process if the timing information indicates that the subset has not been programmed prior to programming the neighboring non-volatile storage element;
24. The nonvolatile storage system according to claim 23, comprising:
前記タイミング情報が、絶対タイム、相対タイムまたはプログラミング順序情報のうちの何れかを含むことを特徴とする請求項23に記載の不揮発性記憶システム。   The non-volatile storage system according to claim 23, wherein the timing information includes any one of absolute time, relative time, and programming order information. 前記データ集合がデータのページを含んでおり、
前記複数の不揮発性記憶素子の部分集合に記憶されている前記データ集合が第1のワード線に接続されており、
前記1つ以上の潜在的エラーが、前記部分集合と、前記第1のワード線の隣のワード線に接続されている1つ以上の不揮発性記憶素子との間で生じる結合によるものあることを特徴とする請求項23に記載の不揮発性記憶システム。
The data set includes a page of data;
The data set stored in a subset of the plurality of non-volatile storage elements is connected to a first word line;
The one or more potential errors are due to coupling between the subset and one or more non-volatile storage elements connected to a word line adjacent to the first word line; The non-volatile storage system according to claim 23, wherein:
前記タイミング情報が、前記データ集合を読み出している間にアクセスされることを特徴とする請求項23に記載の不揮発性記憶システム。   24. The non-volatile storage system of claim 23, wherein the timing information is accessed while reading the data set. 前記1つ以上の管理回路が、状態マシン、デコーダ、検知回路およびコントローラのうちの1つ以上を含むことを特徴とする請求項23に記載の不揮発性記憶システム。   The non-volatile storage system of claim 23, wherein the one or more management circuits include one or more of a state machine, a decoder, a detection circuit, and a controller. 前記複数の不揮発性記憶素子が、NANDフラッシュメモリ素子であることを特徴とする請求項23に記載の不揮発性記憶システム。   24. The nonvolatile memory system according to claim 23, wherein the plurality of nonvolatile memory elements are NAND flash memory elements. 前記複数の不揮発性記憶素子がマルチステートフラッシュメモリセルであることを特徴とする請求項23に記載の不揮発性記憶システム。   24. The nonvolatile memory system according to claim 23, wherein the plurality of nonvolatile memory elements are multi-state flash memory cells. 前記複数の不揮発性記憶素子が、浮遊ゲートを有していることを特徴とする請求項23に記載の不揮発性記憶システム。   24. The nonvolatile memory system according to claim 23, wherein the plurality of nonvolatile memory elements have floating gates.
JP2008540159A 2005-11-10 2006-11-08 Reverse coupling effect by timing information Expired - Fee Related JP4938020B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/271,241 2005-11-10
US11/272,335 2005-11-10
US11/271,241 US7289344B2 (en) 2005-11-10 2005-11-10 Reverse coupling effect with timing information for non-volatile memory
US11/272,335 US7289348B2 (en) 2005-11-10 2005-11-10 Reverse coupling effect with timing information
PCT/US2006/043483 WO2007058846A1 (en) 2005-11-10 2006-11-08 Reverse coupling effect with timing information

Publications (3)

Publication Number Publication Date
JP2009516318A true JP2009516318A (en) 2009-04-16
JP2009516318A5 JP2009516318A5 (en) 2011-05-12
JP4938020B2 JP4938020B2 (en) 2012-05-23

Family

ID=37831516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008540159A Expired - Fee Related JP4938020B2 (en) 2005-11-10 2006-11-08 Reverse coupling effect by timing information

Country Status (5)

Country Link
EP (1) EP1946325A1 (en)
JP (1) JP4938020B2 (en)
KR (1) KR101016432B1 (en)
TW (1) TWI315068B (en)
WO (1) WO2007058846A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009016034A (en) * 2007-07-09 2009-01-22 Samsung Electronics Co Ltd Flash memory system and its error correction method
JP2011504276A (en) * 2007-11-21 2011-02-03 マイクロン テクノロジー, インク. Method and apparatus for reading data from flash memory
JP2011510428A (en) * 2008-01-22 2011-03-31 サムスン エレクトロニクス カンパニー リミテッド Memory programming apparatus and method
JP2011528154A (en) * 2008-07-01 2011-11-10 エルエスアイ コーポレーション Method and apparatus for interfacing between a flash memory controller and a flash memory array
JP2012503837A (en) * 2008-09-24 2012-02-09 サンディスク コーポレイション Improved data retention of the last word line in non-volatile memory arrays

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7936599B2 (en) * 2007-06-15 2011-05-03 Micron Technology, Inc. Coarse and fine programming in a solid state memory
US7633798B2 (en) * 2007-11-21 2009-12-15 Micron Technology, Inc. M+N bit programming and M+L bit read for M bit memory cells
KR20100093885A (en) 2009-02-17 2010-08-26 삼성전자주식회사 Nonvolatile memory device, operating method thereof and memory system including the same
KR101212387B1 (en) 2011-01-03 2012-12-13 에스케이하이닉스 주식회사 Method of reading a semiconductor memory device
US10910061B2 (en) * 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003249085A (en) * 2002-01-18 2003-09-05 Sandisk Corp Techniques of recovering data from memory cell affected by field coupling with adjacent memory cell
JP2004326866A (en) * 2003-04-22 2004-11-18 Toshiba Corp Nonvolatile semiconductor memory device and electronic equipment using this device
WO2005073978A1 (en) * 2004-01-26 2005-08-11 Sandisk Corporation Method of reading nand memory to compensate for coupling between storage elements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003249085A (en) * 2002-01-18 2003-09-05 Sandisk Corp Techniques of recovering data from memory cell affected by field coupling with adjacent memory cell
JP2004326866A (en) * 2003-04-22 2004-11-18 Toshiba Corp Nonvolatile semiconductor memory device and electronic equipment using this device
WO2005073978A1 (en) * 2004-01-26 2005-08-11 Sandisk Corporation Method of reading nand memory to compensate for coupling between storage elements

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009016034A (en) * 2007-07-09 2009-01-22 Samsung Electronics Co Ltd Flash memory system and its error correction method
JP2011504276A (en) * 2007-11-21 2011-02-03 マイクロン テクノロジー, インク. Method and apparatus for reading data from flash memory
US8499229B2 (en) 2007-11-21 2013-07-30 Micro Technology, Inc. Method and apparatus for reading data from flash memory
US8719680B2 (en) 2007-11-21 2014-05-06 Micron Technology, Inc. Method and apparatus for reading data from non-volatile memory
US9197251B2 (en) 2007-11-21 2015-11-24 Micron Technology, Inc. Method and apparatus for reading data from non-volatile memory
JP2011510428A (en) * 2008-01-22 2011-03-31 サムスン エレクトロニクス カンパニー リミテッド Memory programming apparatus and method
JP2011528154A (en) * 2008-07-01 2011-11-10 エルエスアイ コーポレーション Method and apparatus for interfacing between a flash memory controller and a flash memory array
JP2012503837A (en) * 2008-09-24 2012-02-09 サンディスク コーポレイション Improved data retention of the last word line in non-volatile memory arrays

Also Published As

Publication number Publication date
WO2007058846A1 (en) 2007-05-24
TW200737207A (en) 2007-10-01
KR20080080529A (en) 2008-09-04
KR101016432B1 (en) 2011-02-21
JP4938020B2 (en) 2012-05-23
TWI315068B (en) 2009-09-21
EP1946325A1 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
JP4931915B2 (en) Method for initiating program voltage shift as non-volatile memory is repeated
JP4954223B2 (en) Read operation for non-volatile memory with compensation for floating gate coupling
US7289344B2 (en) Reverse coupling effect with timing information for non-volatile memory
US7349258B2 (en) Reducing read disturb for non-volatile storage
US7295473B2 (en) System for reducing read disturb for non-volatile storage
JP4754631B2 (en) Method for programming non-volatile memory with self-adjusting maximum program loop
JP4938020B2 (en) Reverse coupling effect by timing information
EP2030205B1 (en) Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
KR101314306B1 (en) Method for programming of multi-state non-volatile memory using smart verify
WO2014039164A1 (en) On chip dynamic read level scan and error detection for non-volatile storage
TWI397075B (en) Alternating read mode
WO2008083131A2 (en) Method for programming with initial programming voltage based on trial
US7583531B2 (en) Reverse coupling effect with timing information
JP4726958B2 (en) Last-fast mode and method for programming NAND-type non-volatile memory with reduced program disturbance
EP2256748B1 (en) Reducing read disturb for non-volatile storage
JP4820879B2 (en) Method for reading non-volatile memory by effectively controlling non-selected word lines

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110325

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20110325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

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

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

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4938020

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

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

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