JP2009516318A - Reverse coupling effect by timing information - Google Patents
Reverse coupling effect by timing information Download PDFInfo
- 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
Links
- 230000001808 coupling effect Effects 0.000 title description 3
- 230000015654 memory Effects 0.000 claims abstract description 278
- 238000000034 method Methods 0.000 claims abstract description 140
- 230000008569 process Effects 0.000 claims abstract description 97
- 238000003860 storage Methods 0.000 claims abstract description 89
- 230000008878 coupling Effects 0.000 claims abstract description 55
- 238000010168 coupling process Methods 0.000 claims abstract description 55
- 238000005859 coupling reaction Methods 0.000 claims abstract description 55
- 238000007667 floating Methods 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 230000014759 maintenance of location Effects 0.000 claims 1
- 230000001568 sexual effect Effects 0.000 claims 1
- 230000005684 electric field Effects 0.000 abstract description 2
- 238000009826 distribution Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052757 nitrogen Inorganic materials 0.000 description 2
- 229910052814 silicon oxide Inorganic materials 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- LPQOADBMXVRBNX-UHFFFAOYSA-N ac1ldcw0 Chemical compound Cl.C1CN(C)CCN1C1=C(F)C=C2C(=O)C(C(O)=O)=CN3CCSC1=C32 LPQOADBMXVRBNX-UHFFFAOYSA-N 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 239000002019 doping agent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- Semiconductor Memories (AREA)
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
図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-
図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
また、メモリセルは、複数の状態を記憶することも可能であり、それにより例えば複数ビットのデジタルデータを記憶することも可能である。複数の状態のデータを記憶する場合、閾値電圧の範囲は、記憶する状態の数に分割される。例えば、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,
図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
C−ソース制御回路210は、メモリセルに接続された共通ソース線(図5に「C−ソース」として示す)を制御する。P−ウェル制御回路208は、p−ウェル電圧を制御する。
The C-
メモリセル内に記憶されたデータは、列制御回路204によって読み出され、データ入力/出力バッファ212を経由して、外部I/O線に出力される。メモリセル内に記憶されるプログラムデータは、外部I/O線を経由してデータ入力/出力バッファ212に入力され、列制御回路204に転送される。外部I/O線は、コントローラ218に接続される。
Data stored in the memory cell is read by the
フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ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
コントローラ218は、パーソナルコンピュータ、デジタルカメラ、パーソナルデジタルアシスタントなどのホストシステムに接続されている、または、接続可能である。コントローラ218は、ホストからコマンドをおよびデータを受信し、ホストにデータおよびステータス情報を提供するために、ホストと通信を行う。コントローラ218は、ホストからのコマンドを、状態マシン216と通信しているコマンド回路214が解読して実行可能なコマンド信号に変換する。コントローラ218は、通常、メモリアレイに書き込まれるか、あるいは、メモリアレイから読み出されるユーザデータのためのバッファメモリを有している。いくつかの実施例においては、プログラミングプロセスはこのコントローラによって管理できる。
The
一例のメモリシステムは、コントローラ218を含む1つの集積回路と、1つ以上の集積回路チップ(それぞれがメモリアレイと、関連する制御、入力/出力、および状態マシン回路とを含む)を備える。メモリアレイとシステムのコントローラ回路は、1つ以上の集積回路チップ上に一緒に統合される傾向にある。メモリシステムは、ホストシステムの一部として組み込まれていてもよく、または、ホストシステムに着脱可能に挿入されるメモリカード(またはその他のパッケージ)内に含まれていてもよい。そのような着脱可能なカードは、メモリシステム全体(例えば、コントローラを含む)を含んでいてもよく、または、メモリアレイおよび関連する周辺回路のみを含んでいてもよい(コントローラはホスト内に組み込まれる)。このように、コントローラ(または制御機能)は、ホスト内に組み込まれることも、または着脱可能なメモリシステム内に含まれることも可能である。
An example memory system includes one integrated circuit that includes a
一部の実施形態では、図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
図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
読み出しおよびプログラミング動作の一実施形態の間は、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
第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
一実施形態では、ページ全体を満たすのに十分なデータが書き込まれた場合に、フルシーケンス書き込みを実行するようにシステムをセットアップすることが可能である。ページ全体を満たすに十分なデータが書き込まれていない場合、プログラミングプロセスは、受信したデータによって下位ページをプログラムすることが可能である。さらにその後にデータが受信されると、本システムは、上位ページをプログラムする。別の実施形態では、このシステムは、下位ページをプログラムするモードで書き込みを始め、次に、ワード線のメモリセルの全部(またはほとんど)を満たすのに十分なデータがその後で受信されればフルシーケンスプログラミングモードに変換することが可能である。このような実施形態のより詳細が、その全体を参照してここに組み込む、発明者サージー・アナトリビッチ・ゴロベッツ(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
図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
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
図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
図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
上述したように、隣のメモリセルによって結合が引き起こされ、これによってメモリセルの見かけ上の閾値電圧に影響を及ぼすことがある。隣のメモリセルは隣接するワード線上にあったり、隣接するビット線上にあったり、隣接してはいないが近くにあるビット線上にあったりする。本システムは、読み出し中のメモリセル(または浮遊ゲート)がプロラム中の隣のメモリセル(または浮遊ゲート)より先にプログラムされて結合が発生している可能性があるかどうかを最初に判定することによって、隣の浮遊メモリセル間の結合を選択的に補償する。読み出し中のメモリセルが隣のメモリセルより先にプログラムされている場合には、この隣のメモリセルのプログラミングのレベルに基づいて結合を補償するプロセスを用いることができる。 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
利用可能なタイミング情報には多くの例がある。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
図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
図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
図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
ステップ408では、本システムはタイムスタンプを取得する。このタイムスタンプは絶対タイムであり得る。例えば、メモリシステムが、コントローラを介してホストから日/時を要求することがある。代替例では、メモリシステムがバッテリと内部クロックを含んでおり、これによって、メモリシステムが自身のタイムスタンプを提供することが可能となるようにしている。メモリシステムがサイクルカウントを維持するような実施形態もある。ページがプログラムされるごとに、サイクルカウントがインクリメントされる。ステップ408で取得されたタイムスタンプは現在のサイクルカウント値である。サイクルカウントが絶対タイムでなければ、それは相対的なタイムである。サイクルカウントによって、2ページ以上のページのうちのどのページが最初にプログラムされたかを判定することが可能である。
In
ステップ410では、プログラムすべきデータを適切なラッチ/レジスタに記憶する。1つの実施形態では、図12のプロセスを用いて、1ページ分のデータをプログラムする。プログラムされているメモリセルのすべてが同じワード線上に存在する。各メモリセルは、自身のビット線と、このビット線と関連するラッチの集合を有している。これらのラッチは、関連するメモリセルに対するプログラム予定データの指示を記憶する。ステップ410でも、タイムスタンプを記憶するメモリセルに対するビット線と関連するラッチ中にタイムスタンプデータを記憶する。ステップ412で、最初のプログラムパルスの大きさが設定される。ワード線に印加される電圧はプログラムパルスの集合であり、各パルスはその大きさが直前のパルスより1ステップサイズ(例えば0.2〜0.4V)だけ増加するようになっている実施形態もある。ステップ414で、プログラムカウントPCを最初にゼロに設定する。
In
ステップ416では、プログラムパルスを適切なワード線に印加する。ステップ418では、このワード線上のメモリセルが、目標とする閾値電圧レベルに到達したかどうかを検証する。すべてのメモリセルが目標の閾値電圧レベルに到達した場合(ステップ420)、ステップ422で、プログラミングプロセスは適切に完了したことになる(ステータス=パス)。検証されたメモリが全数ではない場合、ステップ424で、プログラムカウントPCが20(または他の適切な値)未満であるかどうかを判定する。プログラムカウントが20未満ではない場合、プログラミングプロセスはフェイルしたことになる(ステップ426)。プログラムカウントが20未満であれば、ステップ428で、次のパルスのプログラム電圧信号Vpgmの値をステップサイズ(例えば0.3V)だけインクリメントして、プログラムカウントPCをインクリメントする。目標とする閾値電圧に到達したメモリセルは、現在のプログラミングサイクルの残りの時間中はプログラムされないように除外されることに留意されたい。ステップ428の後、図12のプロセスはステップ416まで続いて、次のプログラムパルスが印加される。
In
図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
図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
図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
例えば、所定のメモリセルに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
図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
別の実施形態では、タイムスタンプを記憶するのではなく、特定のページが隣のワード線(または他の隣)のデータの後にプログラムされたか、または以前にプログラムされているかどうかを示すタイミング情報を記憶する。この情報がこのページが以前に書き込まれたか可能性があるか否かのみしか示さない理由は、このページが、隣が消去されたときに書き込まれ、また、隣が一度も書き込まれていないということがあり得るからである。 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
図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
図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.
図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
図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
図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
図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
結合が発生する可能性を検出してこの結合を補償する本書に記載の技術は、他のタイプのエラーの発生する可能性を検出して(オプションとして)このエラーを補償する方法に適用可能である。 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.
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のタイムデータを読み出すステップと、
隣の不揮発性記憶素子と関連するワード線に対する第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に記載の方法。 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の値と第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:
隣の不揮発性記憶素子の集合と関連する隣のタイミング情報を読み出すステップと、
前記隣のタイミング情報に基づいて、前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップ、
を有していることを特徴とする請求項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つの基準電圧レベルにおける前記読み出し動作に完全に基づくことを特徴とする請求項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のワード線の隣の第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つ以上の不揮発性記憶素子が第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つ以上の管理回路を有しており、
前記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のタイムデータを読み出すステップと、
前記隣の不揮発性記憶素子と関連するワード線に対する第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:
前記部分集合が、第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.
前記データ集合をプログラムするプログラミングステップが、隣のタイミング情報を読み出すステップと、前記隣のタイミング情報に基づいて前記データ集合に対してカスタマイズされている前記タイミング情報を決定するステップを有していることを特徴とする請求項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つの基準電圧レベルにおける前記読み出し動作に基づくことを特徴とする請求項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:
前記複数の不揮発性記憶素子の部分集合に記憶されている前記データ集合が第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:
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US11/271,241 | 2005-11-10 | ||
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)
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)
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)
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 |
-
2006
- 2006-11-08 KR KR1020087013971A patent/KR101016432B1/en active IP Right Grant
- 2006-11-08 WO PCT/US2006/043483 patent/WO2007058846A1/en active Application Filing
- 2006-11-08 JP JP2008540159A patent/JP4938020B2/en not_active Expired - Fee Related
- 2006-11-08 EP EP06827629A patent/EP1946325A1/en not_active Withdrawn
- 2006-11-09 TW TW095141514A patent/TWI315068B/en not_active IP Right Cessation
Patent Citations (3)
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)
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 |
---|---|
TW200737207A (en) | 2007-10-01 |
TWI315068B (en) | 2009-09-21 |
JP4938020B2 (en) | 2012-05-23 |
WO2007058846A1 (en) | 2007-05-24 |
EP1946325A1 (en) | 2008-07-23 |
KR101016432B1 (en) | 2011-02-21 |
KR20080080529A (en) | 2008-09-04 |
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 |