CN111383703B - 非易失性存储器及其操作方法 - Google Patents
非易失性存储器及其操作方法 Download PDFInfo
- Publication number
- CN111383703B CN111383703B CN201811644297.XA CN201811644297A CN111383703B CN 111383703 B CN111383703 B CN 111383703B CN 201811644297 A CN201811644297 A CN 201811644297A CN 111383703 B CN111383703 B CN 111383703B
- Authority
- CN
- China
- Prior art keywords
- data
- memory cell
- memory
- data loss
- program
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 292
- 238000011017 operating method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000012795 verification Methods 0.000 claims description 11
- 230000001737 promoting effect Effects 0.000 claims description 6
- 230000002401 inhibitory effect Effects 0.000 claims description 4
- 230000002829 reductive effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0416—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
-
- 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/08—Address circuits; Decoders; Word-line control 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/10—Programming or data input 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
- 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/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- 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/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1202—Word line control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1204—Bit line control
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/30—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
- H10B41/35—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种非易失性存储器及非易失性存储器的操作方法。所述非易失性存储器包括:存储单元阵列,感测电路,第一缓冲器,以及控制器。所述感测电路设置为从所述存储单元阵列中的多个存储单元中读出原始数据,并将原始数据保存在所述第一缓冲器。所述控制器设置为从所述多个存储单元中确定出发生数据丢失错误的存储单元,以及对发生数据丢失错误的存储单元进行编程操作。在进行读操作后,对发生数据丢失错误的存储单元进行编程,减少发生错误的存储单元数量,提高了数据的完整性。
Description
技术领域
本发明涉及半导体存储器技术领域,尤其涉及一种非易失性存储器及一种非易失性存储器的操作方法。
背景技术
非易失性存储器(Nonvolatile memory)已经广泛应用于各种数据存储应用。在现代电子系统中,例如个人计算机,移动电话,数码相机,汽车系统,MP3播放器等,非易失性存储器已经成为必不可少的部件。存储在非易失性存储器中的数据在断电后不会丢失。
闪存(Flash memory)是一种代表性的非易失性存储器件。根据存储单元的组织方式,闪存可被分为NOR闪存和NAND闪存。在NAND闪存中,存储单元串联连接,一个存储单元串和位线仅需要一个接触孔。因此NAND闪存具有优异的集成特性,常用于高密度存储,例如MP3播放器和固态硬盘(Solid State Disk)。在NOR闪存中,每个存储单元独立地连接到位线和字线,因此NOR闪存具有优异的随机存取特性,常用于嵌入式系统。
数据通过编程操作写入到闪存中的多个存储单元,但是编程操作并不能使每个存储单元都能存储正确的信息。纠错码(Error Correction Code,ECC)可以发现存储在闪存中的数据中的错误位,并纠正这些错误位。在将目标数据写入到闪存的编程操作中,纠错码电路生成对应的纠错码数据,纠错码数据和目标数据一起写入到闪存中。在需要使用目标数据时,纠错码数据和目标数据一起读出。纠错码需要对应的存储单元来保存,纠错码的纠错能力决定于其位数。例如,对于NAND闪存,纠错码电路可以纠正512字节数据中的4或8个错误位;对于NOR闪存,纠错码电路可以纠正8字节数据中的1个错误位。每个字节(byte)等于8个位(bit)。随着闪存容量的不断增大,提高纠错码的纠错能力需要增大纠错码的位数,需要更多的存储单元来存储纠错码数据。
发明内容
有鉴于此,本发明提供一种非易失性存储器及一种非易失性存储器的操作方法,在不增加纠错码位数的情况下,提升数据的完整性。
根据本发明的一个方面,提供一种非易失性存储器的操作方法,包括:从非易失性存储器的多个存储单元中读出原始数据;从所述多个存储单元中确定出发生数据丢失错误的存储单元;以及对发生数据丢失错误的存储单元进行编程操作。
在一个或多个实施例中,从所述多个存储单元中确定出发生数据丢失错误的存储单元包括:使用纠错码数据纠正原始数据得到修正数据;以及通过比较修正数据和原始数据确定确定出发生数据丢失错误的存储单元。其中,发生数据丢失错误的存储单元在原始数据中的对应位的值是1,在修正数据中的对应位的值是0。
在一个或多个实施例中,在对发生数据丢失错误的存储单元进行编程操作时使用的编程电压小于将原始数据存储到所述多个存储单元中的编程操作所使用的编程电压。
在一个或多个实施例中,对发生数据丢失错误的存储单元进行编程操作包括:在所述多个存储单元连接的字线施加编程电压,向与发生数据丢失错误的存储单元连接的位线施加编程促进电压,向所述多个存储单元中没有发生数据丢失错误的存储单元连接的位线施加编程抑制电压。
在一个或多个实施例中,所述对发生数据丢失错误的存储单元进行编程操作包括:向发生数据丢失错误的存储单元的控制栅施加一个17V的电压脉冲。
在一个或多个实施例中,所述方法还包括:进行验证操作以确定发生数据丢失错误的存储单元是否被校正。
根据本发明的另一个方面,提供一种非易失性存储器。该非易失性存储器包括:存储单元阵列,感测电路,第一缓冲器,以及控制器。所述感测电路设置为从所述存储单元阵列中的多个存储单元中读出原始数据,并将原始数据保存在所述第一缓冲器。所述控制器设置为:从所述多个存储单元中确定出发生数据丢失错误的存储单元;以及对发生数据丢失错误的存储单元进行编程操作。
在一个或多个实施例中,所述非易失性存储器还包括纠错码电路和第二缓冲器。纠错码电路使用纠错码数据纠正原始数据得到修正数据,并将修正数据保存在第二缓冲器。控制器通过比较修正数据和原始数据确定确定出发生数据丢失错误的存储单元,其中,发生数据丢失错误的存储单元在原始数据中的对应位的值是1,在修正数据中的对应位的值是0。
在一个或多个实施例中,在对发生数据丢失错误的存储单元进行编程操作时使用的编程电压小于将原始数据存储到所述多个存储单元中的编程操作所使用的编程电压。
在一个或多个实施例中,所述控制器对发生数据丢失错误的存储单元进行编程操作包括:在所述多个存储单元连接的字线施加编程电压,向与发生数据丢失错误的存储单元连接的位线施加编程促进电压,向所述多个存储单元中没有发生数据丢失错误的存储单元连接的位线施加编程抑制电压。
在一个或多个实施例中,所述控制器对发生数据丢失错误的存储单元进行编程操作包括:向发生数据丢失错误的存储单元的控制栅施加一个17V的电压脉冲。
在一个或多个实施例中,在控制器对发生数据丢失错误的存储单元进行编程操作后,所述控制器向所述多个存储单元连接的字线施加编程验证电压,所述感测电路将验证数据保存到第一缓冲器以确定发生数据丢失错误的存储单元是否被校正。
根据本发明的非易失性存储器,在执行读操作时,判断是否存在发生数据丢失错误的存储单元,对发生数据丢失错误的存储单元进行一次编程操作,可以减少没有存储正确信息的存储单元的数量,在不增加纠错码位数的情况下,提升数据的完整性。
附图说明
附图用于提供对本公开的进一步理解,并构成本说明书的一部分。图中的元件和/或组件不一定按比例绘制。
图1是本发明实施例提供的一种闪存的示意性框图。
图2是存储单元的示意结构图。
图3是NAND闪存的存储单元块(block)的示意性结构图。
图4示出了存储单元页(page)的一种示意性设置。
图5是NOR闪存的存储单元阵列的示意性结构图。
图6是本发明实施例提供的一种闪存操作方法的流程图。
图7示出了根据原始数据和修正数据确定发生数据丢失错误的存储单元。
图8示出了对NAND闪存中发生数据丢失错误的存储单元编程时施加在字线和位线上的电压。
图9示出了对NOR闪存中发生数据丢失错误的存储单元编程时施加在字线和位线上的电压。
具体实施方式
下面结合本发明的实施例的附图更全面地描述本发明。本发明可以以多种不同的形式实施。本发明不应该被解释为限于这里所阐述的实施例。提供这些实施例是为了使本公开彻底和完整,以及将本发明的范围完全传达给本领域技术人员。在附图中,为了清楚起见,可以理想化或放大元件的尺寸或配置。
应当理解,当一个元件被称为“连接到”或“耦接到”另一个元件时,它可以直接连接或耦接到另一个元件,也可以存在中间元件。相反,当元件被称为“直接连接到”或“直接耦接到”另一元件时,这两个元件之间不存在中间元件。相同的数字始终指代相同的元素。
应当理解,尽管这里可以使用术语第一,第二,第三等来描述各种元件,部件和/或部分,但是这些元件,部件和/或部分不应受这些术语的限制。这些术语仅用于将一个元件,部件或部分与另一个元件,部件或部分区分开。因此,在不脱离本发明的教导的情况下,下面讨论的第一元件,部件或部分可以被称为第二元件,部件或部分。
在本申请和所附权利要求书中所使用的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。术语“包括”和/或“包含”指定所述特征,整数,步骤,操作,元件和/或组件的存在,但不排除存在或者添加一个或多个其他特征,整数,步骤,操作,元素,组件和/或其组。
除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解,诸如在常用词典中定义的那些术语应被解释为具有与其在相关领域和本说明书的上下文中的含义一致的含义,并且将不被解释为理想化的或除非在此明确定义,否则过于正式的意义。
本发明的实施例公开了一种非易失性存储器。该非易失性存储器优选为闪存。本发明的闪存可以是NAND闪存,也可以是NOR闪存。本发明的闪存可以是SLC(single-levelcell)闪存。本发明的闪存也可以是MLC(multi-level cell)闪存,TLC(trinary-levelcell)闪存,或者QLC(quad-level cell)闪存。本发明的闪存可以是2D结构的闪存,也可以是3D结构的闪存。3D闪存包括多层垂直排布的存储单元层。在2D结构中,存储单元分布在同一层。
图1是本发明实施例提供的一种闪存的示意性框图。如图1所示,闪存10包括:存储单元阵列100,控制器200,行译码器300,感测电路(sensing circuit)400,感测缓冲器(sensing buffer)500,纠错码(ECC)电路600,以及页缓冲器(page buffer)700。存储单元阵列100包括多个存储单元106。这些存储单元106通过字线(word line)104和位线(bitline)102寻址。
控制器200与行译码器300,感测电路400,感测缓冲器500,纠错码电路600,以及页缓冲器700连接。控制器200进一步连接到主机(host)。主机例如是电脑,数码相机等。控制器200设置为从主机接收数据然后将数据存储在存储单元阵列100,以及从存储单元阵列100读取数据然后发送给主机。
存储单元106可以由场效应晶体管实现。图2是一种存储单元106的示意性结构图。图2中的存储单元106形成在三阱结构中。如图2所示,场效应晶体管106包括控制栅1061,电荷俘获层1063,隧道氧化物层1064,阻挡氧化物层1062,源极1065,漏极1066和沟道区域1067。隧穿氧化物层1064设置在电荷俘获层1063和沟道区1067之间。阻挡氧化物层1062设置在控制栅1061和电荷俘获层1063之间。电荷俘获层1063的材料可以是多晶硅(这时电荷俘获层又称为浮栅)或者氮化硅。控制栅1061电连接到对应的字线104。漏极1066连接到对应的位线102。对于SLC闪存,每个存储单元106对应存储数据的一个位,处于编程状态(programmed state)和擦除状态(erased state)中的一个。通常,存储单元106在处于擦除状态时具有较低的阈值电压,用于存储信息“1”,在处于编程状态时具有较高的阈值电压,用于存储信息“0”。
图1中的闪存10例如是NAND闪存。NAND闪存的存储单元阵列100包括多个存储单元块(block),每个存储单元块包括多个存储单元页(page)。例如,一个2G容量的NAND闪存可以包括2048个块,每个块包括64个页。图3示出了存储单元块110的一个结构示例。如图3所示,多个存储单元106按行和列排列。列方向上的存器单元106串联连接构成存储单元串(string)108。具体地,在同一串108中,相邻存储单元106的源极和漏极相互连接。每个存储单元串108通过第一选择开关118连接到位线102。存储单元106所存储的信息可以通过位线102读取。第一选择开关118控制串108和位线102之间的连接和断开。第一选择开关118由第一控制信号线114控制。同一个存储单元块110的多个存储单元串108的多个第一选择开关118的栅极连接到同一条第一控制信号线114。每个存储单元串108还通过第二选择开关120连接到公共源极线112。第二选择开关120由第二控制信号线116控制。同样,同一个存储单元块101的多个存储单元串108的多个第二选择开关120的栅极连接到同一条第二控制信号线116。在行方向上,同一行的多个存储单元106共用一条字线104,这些存储单元106构成一个存储单元页(Page)124。同一页中的多个存储单元106被同一字线104控制。同一页中的多个存储单元106的控制栅连接到同一个字线104。
图4示出了存储单元页(page)的一种设置示例。图4中的每个方框代表一个存储单元106。如图4所示,页124包括数据区域(又称为主区域),纠错码(error correcting code,ECC)区域和备存区域(spare region)。数据区域用于存储终端用户使用的数据。数据区域的每个存储单元106代表存储的数据的一个位。与数据区域中存储的数据对应的纠错码数据保存在纠错码区域中。纠错码用于校正数据区域所存储的数据中的错误位(error bit)。备存区域用于存储固件元数据(firmware meta data)。
图1中的闪存10还可以是NOR闪存。图5示出了NOR闪存的存储单元阵列100的结构。如图5所示,存储单元106按行和列排列,每个存储单元106的漏极通过接触孔连接到对应的位线102,每个存储单元106的源极连接到源极线126。具体地,同一列的存储单元106的漏极连接同一位线102,多条源极线126连接在一起。同一行的存储单元106的控制栅连接同一字线104。相邻两行存储单元106组成一个区(sector)128。每一行的存储单元106包括:数据区域,纠错码区域和冗余区域。数据区域用于存储终端用户使用的数据。纠错码区域用于存储对应的纠错码数据。冗余区域中的存储单元用于替换数据区域和纠错码区域中损坏的存储单元。
继续参考图1,行译码器300连接到字线104。行解码器300可以与电压产生电路结合使用。电压产生电路可以由电荷泵(charge pump)实现。电压产生电路可以产生读电压(read voltage),导通电压(pass voltage),编程电压(program voltage),擦除验证电压(erase verification voltage),以及编程验证电压(program verification voltage)等。行译码器300对从控制器200接收的地址信号进行解码,从而选择一个或多个字线104,并将上述电压中的一个或多个发送到所选的一个或多个字线104。感测电路400连接到位线102。感测电路400用于感测每个存储单元106是处于编程状态还是擦除状态,从而将一页的数据读出。感测电路400读出的数据存储在感测缓冲器500。这里,将感测电路400读出的存储在数据区域的数据称为原始数据。纠错码电路600使用纠错码数据来修正原始数据,并将修正数据保存在页缓冲器700。纠错码电路600可以是集成在控制器200内,也可以是和存储单元阵列100形成在一个芯片(chip)上。感测缓冲器400和页缓冲器700例如是静态随机存储器(SRAM)。
闪存的操作通常包括编程,擦除和读。简而言之,编程操作是将电子添加到电荷俘获层中的操作,而擦除操作是将电子从电荷俘获层移到沟道区的操作。通过编程操作,存储单元106的阈值电压增加,存储单元106处于编程状态并被视为存储信息“0”。通过擦除操作,存储单元106的阈值电压降低(对于SLCNAND闪存,降低到0V以下),存储单元106处于擦除状态,存储单元106被视为存储信息“1”。在读操作中,在存储单元106的控制删施加读电压,感测电路400比较流过存储单元106的电流和参考电流的大小,判断存储单元106是处于导通状态还是非导通状态,从而判断存储单元106是处于擦除状态还是编程状态。
下面结合图3以SLC NAND闪存为例介绍编程操作,擦除操作和读操作。NAND闪存的编程操作通常以页为基本单位。在编程操作中,将编程电压(例如,17V~20V)施加到目标页124连接的字线104,将导通电压(例如,9V)施加到该块中的其他字线104。位线102上的电压根据目标数据中对应的位的值来确定。例如,如果位线102对应的位的值是0,向该位线102施加大约0V的编程促进电压;如果位线102对应的位的值是1,向该位线102施加编程抑制电压(program inhibit voltage),编程抑制电压例如为2.5V。NAND闪存的擦除操作通常以块为基本单位,在p阱施加大约20V的擦除电压,在本块中的字线104施加大约0V的电压。NAND闪存的读操作以页124为基本单位。在读操作中,读电压(例如0~0.7V)施加到目标页124的字线104,将读导通电压(例如4~7V)施加到其他字线104。
下面结合图5以SLC NOR闪存为例介绍编程操作,擦除操作和读操作。在NOR闪存的编程操作中,将编程电压(例如,7V~9V)施加到所选择的字线104,将大约0V的电压施加到其他字线104。位线102上的电压根据目标数据中对应的位的值来确定。例如,如果位线102对应的位的值是0,向该位线102施加4V~6V的编程促进电压;如果位线102对应的位的值是1,向该位线102施加编程抑制电压,编程抑制电压例如为0V。NOR闪存的擦除操作可以以区为基本单位,将擦除电压(例如,-8V)施加到字线104,并且在源极线126施加大约7V的电压。在NOR闪存的读操作中,可以将整行存储单元106的数据读出,也可以将一行中的部分存储单元106的数据读出。在NOR闪存的读操作中,将读电压(大约6.5V)施加到目标字线104,将0V的电压施加到其他的字线使得其他的字线所连接存储单元都处于关闭状态。在源极线126上也施加0V的电压。需要读出的存储单元106连接的位线102上施加1V的电压。
存储在存储单元106中的数据是根据目标数据通过编程操作写入存储单元106中的。可以理解的是,存储在存储单元106中的数据包括错误位。例如,编程操作并不一定能够使所有的存储单元106达到目标状态,编程操作后,一个或多个需要编程的存储单元106的阈值电压仍然小于编程状态对应的阈值电压范围。如果错误位的数量在纠错码的纠错能力范围内,在读操作后,使用纠错码数据能够得到正确的数据。以SLC闪存为例,错误位包括两类,目标值为1的存储单元实际存储了0,目标值为0的存储单元实际存储了1。在本申请中,目标值为0但实际存储了1存储单元称为发生数据丢失错误(data loss error)的存储单元。造成数据丢失错误的原因包括该存储单元没有被成功编程以及dataloss效应等。数据保留(data retention)是衡量闪存的存储单元在没有偏置电压的状态下将电子保持在电荷俘获层的能力。通常,即使在没有电压施加在存储单元的情况下,电荷俘获层中的电子会一点一点地流失,从而导致存储单元的阈值电压下降,进而导致从存储单元中读出的是1。
下面介绍本发明提供的闪存10的一种操作方法。图6是该操作方法的流程图。如图6所示,该操作方法包括一下步骤。
在步骤S110,从闪存10的多个存储单元中读出原始数据和纠错码数据。原始数据是在之前的一次编程操作中根据目标数据写入到所述多个存储单元的。所述多个存储单元例如来自于NAND闪存的一个页或者来自于NOR闪存中的一行存储单元。具体地,感测电路400根据控制器200的指令选择所述多个存储单元对应的字线104,将读电压施加到该字线上,然后将原始数据和纠错码数据保存在感测缓冲器500。
在步骤S120,判断原始数据中的错误位是否可以被纠错码数据纠正。如果原始数据中的错误位的数量超过了纠错码的能力,执行步骤S160,上报ECC错误信息。如果原始数据中的错误位可以被纠错码数据纠正,执行步骤S130。
在步骤S130,纠错码电路600使用纠错码数据纠正原始数据,得到修正数据,并将修正数据保存在页缓冲器700。
在步骤S140,确定所述多个存储单元中发生数据丢失错误的存储单元的位置。在一个实施例中,发生数据丢失错误的存储单元通过比较修正数据和原始数据确定出来。如图7所示,发生数据丢失错误的存储单元在原始数据中对应的位的值是1,在修正数据中对应的位的值是0。
在步骤S150,对发生数据丢失错误的存储单元进行编程操作。具体地,控制器200使电压产生电路产生编程电压Vpgm,编程电压Vpgm施加到所述多个存储单元对应的字线104。
在一个实施例中,闪存10是NAND闪存。图8示出了对发生数据丢失错误的存储单元编程时施加在字线和位线上的电压。在所述多个存储单元对应的字线104上施加编程电压Vpgm,在发生数据丢失错误的存储单元所连接的位线102上施加编程促进电压V1,在没有发生数据丢失错误的存储单元所连接的位线102上施加编程抑制电压V2。此外,在其他字线上施加导通电压,这样其他字线所连接的存储单元作为导通管。编程促进电压V1例如为0V,编程抑制电压V2例如为2.5V,编程电压Vpgm例如一个17V的电压脉冲。在优选的实施例中,编程电压Vpgm只包括一个电压脉冲。
在另一个实施例中,闪存10是NOR闪存。图9示出了对发生数据丢失错误的存储单元编程时施加在字线和位线上的电压。在所述多个存储单元对应的字线104上施加编程电压Vpgm,在发生数据丢失错误的存储单元所连接的位线102上施加编程促进电压V1,在没有发生数据丢失错误的存储单元所连接的位线102上施加编程抑制电压V2,源极线126接地。此外,其他字线104也接地,这样其他字线104所连接的存储单元处于不导通的状态。编程促进电压V1例如为4V~6V,编程抑制电压V2例如为0V,编程电压Vpgm例如一个9V的电压脉冲。在优选的实施例中,编程电压Vpgm只包括一个电压脉冲。
在一个实施例中,原始数据是在之前的一次编程操作中使用编程电压V0写入到所述多个存储单元的,在步骤S150中使用的编程电压Vpgm小于该编程电压V0。
在一个实施例中,所述操作方法还可以包括:进行验证操作以确定发生数据丢失错误的存储单元是否被编程成功。在验证操作中,在所述多个存储单元的字线104上施加编程验证电压,感测电路400将验证结果保感测缓冲器500,通过比较验证结果和修正数据判断发生数据丢失错误的存储单元是否被编程成功。编程验证电压大于步骤S110中使用的读电压。在另一个实施例中,所述操作方法不包括验证操作以节省时间。
可以理解,上述的操作方法可以是闪存的读操作,是在现有技术的读操作的基础上增加了错误位消除步骤。即,在执行读操作时,判断读取的数据中是否包括失败位,并对失败位对应的存储单元执行一下编程操作,从而减少失败位的数量,在不增加纠错码位数的情况下,提升数据的完整性。
虽然上述实施例是以SLC NAND闪存和SLC NOR闪存描述的,但是闪存10还可以是MLC闪存,TLC闪存,或者QLC闪存,也可以是2D结构的闪存或3D结构的闪存。本发明的技术方案还可以应用在其他合适的非易失性存储器。
此外,本发明提供了一种计算系统。该计算系统包括在任何上述实施例中所公开的非易失性存储器。
在上述各种实施例中,本发明的非易失性存储器是多媒体卡(MultimediaCard,MMC),安全数字(Secure Digital,SD)卡,微型SD卡,记忆棒,ID卡,PCMCIA卡,芯片卡,USB卡,智能卡和紧凑型闪存(Compact Flash,CF)卡中的至少一种。
本发明的非易失性存储器可以使用以下方式封装:层叠封装(PoP)、球栅阵列(BGA)、芯片尺寸封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、晶片组件中的裸芯片、晶片形式的裸芯片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料方型扁平式封装(MQFP)、薄方型扁平式封装(TQFP)、小外形集成芯片(SOIC)、缩小外形封装(SSOP)、薄小外形封装(TSOP)、薄方型扁平式封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级堆叠封装(WSP)。
虽然以上描述了示例性实施例,但并不意味着这些实施例描述了权利要求所包含的所有可能形式。说明书中使用的词语是描述性词语而不是限制性词语,并且应当理解,在不脱离本公开和权利要求的精神和范围的情况下,可以进行各种改变。如前所述,各种实施例中的特征可以组合以形成本文没有明确描述或明确说明的本发明的其他实施例。虽然各种实施例可能已经被描述为相对于一个或多个期望特性提供优于或优于其他实施例或现有技术实现,但是本领域普通技术人员认识到可能损害一个或多个特征或特性以实现期望的。整体系统属性,取决于具体的应用程序和实现。这些属性可包括但不限于:成本,强度,耐久性,生命周期成本,可销售性,外观,包装,尺寸,适用性,重量,可制造性,易于组装等。因此,描述为不太理想的实施例。关于一个或多个特性的其他实施例或现有技术实现不在本公开的范围之外,并且对于特定应用可能是期望的。
Claims (9)
1.一种非易失性存储器的操作方法,其特征在于,包括:
从非易失性存储器的多个存储单元中读出原始数据;
从所述多个存储单元中确定出发生数据丢失错误的存储单元;以及
对发生数据丢失错误的存储单元进行编程操作;
使用纠错码数据纠正原始数据得到修正数据;
进行验证操作以确定所述发生数据丢失错误的存储单元是否被编程成功;其中,在所述多个存储单元的字线上施加编程验证电压以得到验证结果,通过比较所述验证结果和所述修正数据判断所述数据丢失错误的存储单元是否被编程成功;
通过比较修正数据和原始数据确定出发生数据丢失错误的存储单元,其中,发生数据丢失错误的存储单元在原始数据中的对应位的值是1,在修正数据中的对应位的值是0。
2.根据权利要求1所述的操作方法,其中,在对发生数据丢失错误的存储单元进行编程操作时使用的编程电压小于将原始数据存储到所述多个存储单元中的编程操作所使用的编程电压。
3.根据权利要求1所述的操作方法,其中,对发生数据丢失错误的存储单元进行编程操作包括:在所述多个存储单元连接的字线施加编程电压,向与发生数据丢失错误的存储单元连接的位线施加编程促进电压,向所述多个存储单元中没有发生数据丢失错误的存储单元连接的位线施加编程抑制电压。
4.根据权利要求1所述的操作方法,其中,所述对发生数据丢失错误的存储单元进行编程操作包括:向发生数据丢失错误的存储单元的控制栅施加一个电压脉冲。
5.一种非易失性存储器,其特征在于,包括:存储单元阵列,感测电路,第一缓冲器,以及控制器,
所述感测电路设置为从所述存储单元阵列中的多个存储单元中读出原始数据,并将原始数据保存在所述第一缓冲器;
所述控制器设置为:从所述多个存储单元中确定出发生数据丢失错误的存储单元;以及对发生数据丢失错误的存储单元进行编程操作;
在控制器对发生数据丢失错误的存储单元进行编程操作后,所述控制器向所述多个存储单元连接的字线施加编程验证电压,所述感测电路将验证数据保存到第一缓冲器以确定发生数据丢失错误的存储单元是否被校正;
所述控制器通过比较修正数据和原始数据确定出发生数据丢失错误的存储单元,发生数据丢失错误的存储单元在原始数据中的对应位的值是1,在修正数据中的对应位的值是0。
6.根据权利要求5所述的非易失性存储器,还包括纠错码电路和第二缓冲器,其中,所述纠错码电路使用纠错码数据纠正原始数据得到修正数据,并将修正数据保存在第二缓冲器。
7.根据权利要求5所述的非易失性存储器,其中,在对发生数据丢失错误的存储单元进行编程操作时使用的编程电压小于将原始数据存储到所述多个存储单元中的编程操作所使用的编程电压。
8.根据权利要求5所述的非易失性存储器,其中,所述控制器对发生数据丢失错误的存储单元进行编程操作包括:在所述多个存储单元连接的字线施加编程电压,向与发生数据丢失错误的存储单元连接的位线施加编程促进电压,向所述多个存储单元中没有发生数据丢失错误的存储单元连接的位线施加编程抑制电压。
9.根据权利要求5所述的非易失性存储器,其中,所述控制器对发生数据丢失错误的存储单元进行编程操作包括:向发生数据丢失错误的存储单元的控制栅施加一个电压脉冲。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644297.XA CN111383703B (zh) | 2018-12-30 | 2018-12-30 | 非易失性存储器及其操作方法 |
US16/275,554 US10891190B2 (en) | 2018-12-30 | 2019-02-14 | Flash memory and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644297.XA CN111383703B (zh) | 2018-12-30 | 2018-12-30 | 非易失性存储器及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111383703A CN111383703A (zh) | 2020-07-07 |
CN111383703B true CN111383703B (zh) | 2022-07-01 |
Family
ID=71124284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811644297.XA Active CN111383703B (zh) | 2018-12-30 | 2018-12-30 | 非易失性存储器及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10891190B2 (zh) |
CN (1) | CN111383703B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12073905B2 (en) * | 2022-08-24 | 2024-08-27 | Micron Technology, Inc. | Adaptive error avoidance in the memory devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365030B1 (en) * | 2009-03-30 | 2013-01-29 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices and error correction methods thereof |
US9646718B2 (en) * | 2014-08-01 | 2017-05-09 | Samsung Electronics Co., Ltd. | Semiconductor memory device having selective ECC function |
CN106971758A (zh) * | 2015-11-16 | 2017-07-21 | 三星电子株式会社 | 半导体存储装置、存储系统以及操作存储系统的方法 |
CN107799149A (zh) * | 2016-08-29 | 2018-03-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370712B2 (en) * | 2009-07-23 | 2013-02-05 | International Business Machines Corporation | Memory management in a non-volatile solid state memory device |
KR20130084492A (ko) * | 2012-01-17 | 2013-07-25 | 삼성전자주식회사 | 비휘발성 메모리 시스템 |
DE102015215401B4 (de) * | 2015-08-12 | 2020-10-01 | Infineon Technologies Ag | Speichervorrichtung und Verfahren zum Korrigieren einer gespeicherten Bitfolge |
KR102410566B1 (ko) * | 2018-02-05 | 2022-06-17 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
-
2018
- 2018-12-30 CN CN201811644297.XA patent/CN111383703B/zh active Active
-
2019
- 2019-02-14 US US16/275,554 patent/US10891190B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365030B1 (en) * | 2009-03-30 | 2013-01-29 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices and error correction methods thereof |
US9646718B2 (en) * | 2014-08-01 | 2017-05-09 | Samsung Electronics Co., Ltd. | Semiconductor memory device having selective ECC function |
CN106971758A (zh) * | 2015-11-16 | 2017-07-21 | 三星电子株式会社 | 半导体存储装置、存储系统以及操作存储系统的方法 |
CN107799149A (zh) * | 2016-08-29 | 2018-03-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10891190B2 (en) | 2021-01-12 |
US20200210285A1 (en) | 2020-07-02 |
CN111383703A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5085939B2 (ja) | 書き込み/消去失敗検出機構を有するフラッシュ記憶システム | |
US7437653B2 (en) | Erased sector detection mechanisms | |
US6944063B2 (en) | Non-volatile semiconductor memory with large erase blocks storing cycle counts | |
US9478296B2 (en) | Erase method of nonvolatile memory device and storage device employing the same | |
US20080158989A1 (en) | Retention margin program verification | |
CN113284539B (zh) | 循环期间的编程电压调制 | |
US8988942B2 (en) | Methods for extending the effective voltage window of a memory cell | |
US11735253B2 (en) | Apparatus and methods for programming memory cells responsive to an indication of age of the memory cells | |
KR20150107575A (ko) | 반도체 기억장치 및 nand 플래시 메모리의 프로그램 방법 | |
CN106898378B (zh) | 半导体存储装置及与非型快闪存储器的编程方法 | |
CN111383697B (zh) | 用于部分页编程的位扫描方法,部分页编程方法及非易失性存储器 | |
CN111383694A (zh) | 非易失性存储器及其操作方法 | |
CN111383703B (zh) | 非易失性存储器及其操作方法 | |
US7944755B2 (en) | Erase verify in memory devices | |
US12125529B2 (en) | Methods of configuring a memory | |
CN118672821A (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
CP03 | Change of name, title or address |