CN111383694A - 非易失性存储器及其操作方法 - Google Patents
非易失性存储器及其操作方法 Download PDFInfo
- Publication number
- CN111383694A CN111383694A CN201811644296.5A CN201811644296A CN111383694A CN 111383694 A CN111383694 A CN 111383694A CN 201811644296 A CN201811644296 A CN 201811644296A CN 111383694 A CN111383694 A CN 111383694A
- Authority
- CN
- China
- Prior art keywords
- memory
- read operation
- memory cell
- read
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
- 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
- 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- 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/5671—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 trapping in an insulator
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (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)。在将目标数据写入到非易失性存储器的编程操作中,纠错码电路生成对应的纠错码数据,纠错码数据和目标数据一起写入到非易失性存储器中。在需要使用目标数据时,纠错码数据和目标数据一起读出。纠错码需要对应的存储单元来保存,纠错码的纠错能力决定于其位数。随着存储器容量的不断增大,提高纠错码的纠错能力需要增大纠错码的位数,需要更多的存储单元来存储纠错码数据,导致纠错码开销越来越大。
发明内容
有鉴于此,本发明提供一种非易失性存储器及一种非易失性存储器的操作方法,能够减少读出的数据中的错误位,从而在不增加纠错码位数的情况下,提升数据的完整性。
根据本发明的一个方面,提供一种非易失性存储器。该非易失性存储器包括:存储单元阵列,寄存器,以及控制器。存储器设置为保存读操作参数。控制器设置为:根据所述读操作参数,从所述存储单元阵列的多个存储单元读出原始数据;根据所述原始数据判断所述多个存储单元是否包括发生存储错误的存储单元;以及在确定所述多个存储单元包括发生存储错误的存储单元时,更新所述寄存器中保存的读操作参数。
在一个或多个实施例中,所述非易失性存储器还包括纠错码电路。所述纠错码电路设置为根据纠错码数据校正原始数据并得到修正数据。所述控制器通过比较原始数据和修正数据判断所述多个存储单元包括是否发生存储错误的存储单元。
在一个或多个实施例中,在确定所述多个存储单元包括发生第一存储错误的存储单元时,减小所述读操作参数中的读电压,其中,所述发生第一存储错误的存储单元的阈值电压低于其目标阈值电压。
在一个或多个实施例中,所述发生第一存储错误的存储单元在修正数据中对应的位是0,在原始数据中对应的位是1。
在一个或多个实施例中,在确定所述多个存储单元包括发生第二存储错误的存储单元时,增大所述读操作参数中的读导通电压,其中,所述发生第二存储错误的存储单元的阈值电压大于其目标阈值电压。
在一个或多个实施例中,所述发生第二存储错误的存储单元在修正数据中对应的位是1,在原始数据中对应的位是0。
在一个或多个实施例中,在确定所述多个存储单元既包括发生第一存储错误的存储单元又包括发生第二存储错误的存储单元时,减小所述读操作参数中的读电压,并增大所述读操作参数中的读导通电压。
在一个或多个实施例中,所述控制器设置为:在确定所述多个存储单元没有发生存储错误的存储单元时,保持所述寄存器中的读操作参数不变。
在一个或多个实施例中,所述寄存器中的更新后的读操作参数用于执行下一次读操作。
在一个或多个实施例中,所述非易失性存储器是NAND闪存,所述NAND闪存包括多个块,所述寄存器为每个块保存一套读操作参数。
根据本发明的另一个方面,提供一种非易失性存储器的操作方法。所述非易失性存储器的操作方法包括:从寄存器中获取读操作参数;根据所述读操作参数,从多个存储单元读出原始数据;根据所述原始数据判断所述多个存储单元是否包括发生存储错误的存储单元;以及在确定所述多个存储单元包括发生存储错误的存储单元时,更新所述寄存器中保存的读操作参数。
在一个或多个实施例中,根据所述原始数据判断所述多个存储单元是否包括发生存储错误的存储单元包括:使用纠错码数据校正所述原始数据得到修正数据;通过比较原始数据和修正数据判断所述多个存储单元是否包括发生存储错误的存储单元。
在一个或多个实施例中,在确定所述多个存储单元包括发生第一存储错误的存储单元时,减小所述读操作参数中的读电压,其中,所述发生第一存储错误的存储单元的阈值电压低于其目标阈值电压。
在一个或多个实施例中,所述发生第一存储错误的存储单元在修正数据中对应的位是0,在原始数据中对应的位是1。
在一个或多个实施例中,在确定所述多个存储单元包括发生第二存储错误的存储单元时,增大所述读操作参数中的读导通电压,其中,所述发生第二存储错误的存储单元的阈值电压大于其目标阈值电压。
在一个或多个实施例中,所述发生第二存储错误的存储单元在修正数据中对应的位是1,在原始数据中对应的位是0。
在一个或多个实施例中,在确定所述多个存储单元既包括发生第一存储错误的存储单元又包括发生第一存储错误的存储单元时,减小所述读操作参数中的读电压,并增大所述读操作参数中的读导通电压。
在一个或多个实施例中,所述的方法还包括:在判断所述多个存储单元没有发生存储错误的存储单元时,保持所述寄存器中的读操作参数不变。
在一个或多个实施例中,所述寄存器中的更新后的读操作参数用于执行下一次读操作。
根据本发明的非易失性存储器及其操作方法,通过读出数据判断执行读操作的多个存储单元是否包括发生存储错误的存储单元(即,没有存储正确信息的存储单元)。在判断存在发生存储错误的存储单元的情况下,调整下次读操作的读操作参数,从而减少下次读操作的读出数据的错误位的数量,在不增加纠错码位数的情况下,提升数据的完整性。
附图说明
附图用于提供对本公开的进一步理解,并构成本说明书的一部分。图中的元件和/或组件不一定按比例绘制。
图1是一种非易失性存储器的示意性框图。
图2是一种存储单元的示意结构图。
图3是NAND闪存的存储单元块(block)的示意性结构图。
图4示出了存储单元页(page)的一种示意性设置。
图5是一种非易失性存储器的操作方法的流程图。
图6示出了根据原始数据和修正数据确定发生存储错误的存储单元。
图7是另一种非易失性存储器的操作方法的流程图。
具体实施方式
下面结合本发明的实施例的附图更全面地描述本发明。本发明可以以多种不同的形式实施。本发明不应该被解释为限于这里所阐述的实施例。提供这些实施例是为了使本公开彻底和完整,以及将本发明的范围完全传达给本领域技术人员。在附图中,为了清楚起见,可以理想化或放大元件的尺寸或配置。
应当理解,当一个元件被称为“连接到”或“耦接到”另一个元件时,它可以直接连接或耦接到另一个元件,也可以存在中间元件。相反,当元件被称为“直接连接到”或“直接耦接到”另一元件时,这两个元件之间不存在中间元件。相同的数字始终指代相同的元素。
应当理解,尽管这里可以使用术语第一,第二,第三等来描述各种元件,部件和/或部分,但是这些元件,部件和/或部分不应受这些术语的限制。这些术语仅用于将一个元件,部件或部分与另一个元件,部件或部分区分开。因此,在不脱离本发明的教导的情况下,下面讨论的第一元件,部件或部分可以被称为第二元件,部件或部分。
在本申请和所附权利要求书中所使用的“一种”、“所述”和“该”不仅包括单数形式,也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。术语“包括”和/或“包含”指定所述特征,整数,步骤,操作,元件和/或组件的存在,但不排除存在或者添加一个或多个其他特征,整数,步骤,操作,元素,组件和/或其组。
除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解,诸如在常用词典中定义的那些术语应被解释为具有与其在相关领域和本说明书的上下文中的含义一致的含义,并且将不被解释为理想化的或除非在此明确定义,否则过于正式的意义。
本发明的实施例公开了一种非易失性存储器和一种非易失性存储器的操作方法。该非易失性存储器优选为闪存。本发明的闪存可以是NAND闪存,也可以是NOR闪存。本发明的闪存可以是SLC(single-level cell)闪存。本发明的闪存也可以是MLC(multi-levelcell)闪存,TLC(trinary-level cell)闪存,或者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)WL和位线(bit line)BL寻址。
控制器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电连接到对应的字线WL。漏极1066连接到对应的位线BL。对于SLC闪存,每个存储单元106对应存储数据的一个位,并处于编程状态(programmed state)和擦除状态(erased state)中的一个。通常,擦除状态对应较低的阈值电压范围,用于存储信息“1”,编程状态对应较高的阈值电压,用于存储信息“0”。对于MLC闪存,TLC闪存,和QLC闪存,存储单元106分别具有4个,8个,16个状态,每个状态对应于一个阈值电压范围。
图1中的闪存10例如是NAND闪存。NAND闪存的存储单元阵列100包括多个存储单元块(block),每个存储单元块包括多个存储单元页(page)。例如,一个2G容量的NAND闪存可以包括2048个存储单元块,每个存储单元块包括64个存储单元页。图3示出了存储单元块110的一个结构示例。如图3所示,多个存储单元106按行和列排列。列方向上的存器单元106串联连接构成存储单元串(string)108。具体地,在同一串108中,相邻存储单元106的源极和漏极相互连接。每个存储单元串108通过第一选择开关118连接到位线BL。存储单元106所存储的信息可以通过位线BL读取。第一选择开关118控制串108和位线BL之间的连接和断开。第一选择开关118由第一控制信号线114控制。同一个存储单元块110的多个第一选择开关118的栅极连接到同一条第一控制信号线114。每个存储单元串108还通过第二选择开关120连接到公共源极线112。第二选择开关120由第二控制信号线116控制。同样,同一个存储单元块101的多个第二选择开关120的栅极连接到同一条第二控制信号线116。在行方向上,同一行的多个存储单元106共用一条字线WL,这些存储单元106构成一个存储单元页(Page)124。同一页中的多个存储单元106被同一字线WL控制。同一页中的多个存储单元106的控制栅连接到同一个字线WL。
图4示出了存储单元页(page)的一种设置示例。图4中的每个方框代表一个存储单元106。如图4所示,页124包括数据区域(又称为主区域),纠错码(error correcting code,ECC)区域和备存区域(spare region)。数据区域用于存储终端用户使用的数据。数据区域的每个存储单元106代表存储的数据的一个位。与数据区域中存储的数据对应的纠错码数据保存在纠错码区域中。纠错码用于校正数据区域所存储的数据中的错误位(error bit)。备存区域用于存储固件元数据(firmware meta data)。
继续参考图1,闪存10还包括寄存器210。寄存器210用于存储读操作参数,擦除操作参数,编程操作参数等。寄存器210可以集成在控制器200内(如图1所示)。在一个实施例中,寄存器210是挥发性存储器,例如SRAM。在一个实施例中,读操作参数,擦除操作参数,编程操作参数等的初始值存储在闪存10的一个ROM或者存储单元阵列100的预定区域中。每次上电时,控制器200从闪存10的一个ROM或者存储单元阵列100的预定区域读出上述参数的初始值,并将这些参数的初始值保存到寄存器210中。寄存器210中的这些参数值可以根据需要进行调整,从而使对闪存10的操作更准确。例如,控制器200可以根据读操作读出的数据判断是否调整下一次读操作所使用的参数,调整后的读操作参数保存在寄存器210中并覆盖旧的参数。
继续参考图1,行译码器300连接到字线WL,感测电路400连接到位线BL。行解码器300可以与电压产生电路结合使用。电压产生电路可以由电荷泵(charge pump)实现。电压产生电路设置为根据寄存器210中的参数产生读电压(read voltage),导通电压(passvoltage),编程电压(program voltage),擦除验证电压(erase verification voltage),以及编程验证电压(program verification voltage)等。行译码器300对从控制器200接收的地址信号进行解码,从而选择一个或多个字线WL,并将上述电压中的一个或多个发送到所选的一个或多个字线WL。感测电路400用于感测每个存储单元106是处于编程状态还是擦除状态,从而将数据从存储单元106中读出。感测电路400读出的数据存储在感测缓冲器500。这里,在读操作中,感测电路400从数据区域读出的数据称为原始数据。纠错码电路600使用纠错码数据来校正原始数据,并将修正数据保存在页缓冲器700。纠错码电路600可以是集成在控制器200内,也可以是和存储单元阵列100形成在一个芯片(chip)上。感测缓冲器400和页缓冲器700例如是静态随机存储器(SRAM)。
闪存的操作通常包括编程,擦除和读。简而言之,编程操作是将电子添加到电荷俘获层中的操作,而擦除操作是将电子从电荷俘获层移到沟道区的操作。通过编程操作,存储单元106的阈值电压增加。通过擦除操作,存储单元106的阈值电压降低。在读操作中,在存储单元106的控制删施加读电压,感测电路400比较流过存储单元106的电流和参考电流的大小,判断存储单元106是处于导通状态还是非导通状态,从而判断存储单元106是处于哪种状态。在对多个存储单元进行编程操作或擦除操作后,还需要验证操作和位扫描操作来判断多个存储单元是否都处在目标状态。
NAND闪存的读操作通常是以存储单元页为单位执行。继续参考图3,在需要读取某个页中的数据时,电压产生电路根据寄存器210中的读操作参数产生读电压和读导通电压。读电压施加到目标字线,读导通电压施加到其他字线。读操作参数决定了读电压和读导通电压的大小。通过在第一控制信号线114和第二控制信号线116施加适当的电压,使得第一选择开关118和第二选择开关122处于导通状态。感测电路400确定目标页中的各个存储单元是处于导通状态还是不导通状态。
存储单元106中存储的数据是根据目标数据通过编程操作写入的。可以理解的是,存储在存储单元106中的数据可能包括错误位。例如,编程操作并不一定能够使所有的存储单元106达到目标状态。编程操作后,一个或多个需要编程的存储单元106的阈值电压仍然小于编程状态对应的阈值电压范围。如果错误位的数量在纠错码的纠错能力范围内,在读操作后,使用纠错码数据就能够得到正确的数据。错误位包括两类。第一类错误位对应的存储单元的实际阈值电压小于其目标阈值电压,第二类错误位对应的存储单元的实际阈值电压大于其目标阈值电压。以SLC闪存为例,第一类错误位的目标值为0,但读出值是1,第二类错误位的目标值是1,但是读出值是0。第一类错误位对应的存储单元称为发生第一存储错误的存储单元。第二类错误位对应的存储单元称为发生第二存储错误的存储单元。第一存储错误可能是编程操作失败,存储单元没能到达编程状态导致的,也可能是发生了数据丢失(data loss)。数据保留(data retention)是衡量闪存的存储单元在没有偏置电压的状态下将电子保持在电荷俘获层的能力。通常,即使在没有电压施加在存储单元的情况下,电荷俘获层中的电子会一点一点地流失,从而导致存储单元的阈值电压下降,进而导致从存储单元中读出的错误值。第二存储错误可能是擦除失败导致的,也可能是耦合效应(coupling effect)导致的。在数据经过编程操作写入某一页之后,相邻页的在后编程操作会导致该页中存储单元的阈值电压升高。
闪存10根据保存在寄存器210中的读操作参数执行读操作。读操作参数包括施加到目标字线WLn上的读电压,施加到相邻字线WL(n-1),WLn(n+1)上的读导通电压,施加到其他字线上的读导通电压。在一个实施例中,寄存器210为每个存储单元块保存一组读操作参数。存储在寄存器210中的读操作参数可以根据读操作的读出数据(称为原始数据)进行更新。在一个实施例中,每次上电时,控制器200从闪存10的一个ROM或者存储单元阵列100的预定区域读出读操作参数的初始值。对于SLC NAND闪存,读电压的初始值例如为0V~0.7V,读导通电压的初始值例如为7V。在通过读操作的读出数据包括错误位,则更新寄存器210中的读参数,以供下一次读操作使用。可以理解,存储器210中的读操作参数可以经过多次更新。
下面描述一种非易失性存储器的操作方法。该操作方法可以应用于上文讨论的示范性非易失性存储器,但并不限于上文的非易失性存储器。
图5是一种非易失性存储器的操作方法的流程图。如图5所示,该方法包括步骤S110至S150。
在步骤S110,从寄存器获取当前的读操作参数。读操作参数包括施加到目标字线上的读电压值,施加到相邻字线上的读导通电压值,施加到其他字线上的读导通电压值。
在步骤S120,根据所述读操作参数,从多个存储单元读出原始数据。所述多个存储单元连接目标字线WLn,属于同一页。具体地,电压产生电路根据读操作参数生成读电压Vread,读导通电压Vpass1和Vpass2。读电压Vread施加到目标字线WLn,读导通电压Vpass1施加到相邻字线WL(n-1)和WL(n+1),读导通电压Vpass2施加到其他字线。感测电路400将读出的原始数据保存在感测缓冲器500。
在步骤S130,判断原始数据中是否包括错误位,即判断所述多个存储单元是否包括发生存储错误的存储单元。在原始数据包括错误位的情况下,执行步骤S140,更新寄存器210中的读操作参数。在原始数据没有错误位的情况下,执行步骤S150,保持寄存器210中的读操作参数不变。
步骤S140具体包括:
在确定原始数据只包括第一错误位时,即多个存储单元只包括发生第一存储错误的存储单元时,降低寄存器210存储的读电压值(例如降低0.1~0.3V),同时保持读导通电压值(包括相邻字线的读导通电压和其他字线的读导通电压);
在确定原始数据中只包括第二错误位时,即多个存储单元只包括发生第二存储错误的存储单元时,保持寄存器210中存储的读电压值不变,增大相邻字线的读导通电压值(例如降增大0.1~0.3V),其他字线的读导通电压值可保持不变;以及
在确定原始数据既包括第一错误位又包括第二错误位,即多个存储单元中既有发生第一存储错误的存储单元又有发生第二存储错误的存储单元时,降低寄存器210中存储的读电压值,增大相邻字线的读导通电压值,其他字线的读导通电压值可保持不变。
更新后的读操作参数可以用于下次读操作。使用降低了的读电压,发生第一存储错误的存储单元可能在一次读操作中被正确读出,不再是错误位,减少了读出数据中的错误位的数量。使用增大了的读导通电压施加到相邻字线,发生第二存储错误的存储单元可能在一次读操作中被正确读出,不再是错误位,减少了读出数据中的错误位的数量。
在一个实施例中,通过以下步骤判断原始数据中是否包括错误位。第一步,纠错码电路600根据纠错码数据校正原始数据并得到修正数据,修正数据存储在页缓冲期700。纠错码数据存储在多个存储单元所在页的纠错码区域,和原始数据一起读出并保存在感测缓冲器500。第二步,控制器200通过比较原始数据和修正数据判断原始数据中是否包括错误位,以及错误位的类型。
图6示出了通过比较原始数据和修正数据确定错误位(发生存储错误的存储单元)的原理。如图6所示,有第一存储错误的存储单元在原始数据中对应的位的值是1,在修正数据中对应的位的值是0;有第二存储错误的存储单元在原始数据中对应的位的值是0,在修正数据中对应的位的值是1。
在一个实施例中,所述方法还包括判断减小后的读电压值是否小于第一预定值,增大后的读导通电压值是否大于第二预定值。在减小后的读电压值小于第一预定值时,不使用减小后的读电压值更新寄存器210中的读电压值。在增大后的读导通电压值大于第二预定值时,不使用增大后的读导通电压值更新寄存器210中的读导通电压值。
可以理解,上述的操作方法是在读操作的基础上增加了步骤S130-S150。即,在执行读操作时,判断读出的数据中是否包括失败位,在读出的数据包括失败位时,更新读操作参数,减少下一次读操作读出数据的错误位数量。
图7是另一种非易失性存储器的操作方法的流程图。如图7所示,非易失性存储器的操作方法包括步骤S210至S250。
在步骤S210,从寄存器210获取当前的读操作参数。读操作参数包括施加到目标字线上的读电压值,施加到相邻字线上的读导通电压值,施加到其他字线上的读导通电压值。
在步骤S220,根据所述读操作参数,从多个存储单元读出原始数据。在读出原始数据的同时,读出对应的纠错码数据,并将纠错码数据和原始数据一起保存在感测缓冲器500。
在步骤S230,根据原始数据和纠错码数据判断多个存储单元是否存在发生第一存储错误的存储单元。
在确定多个存储单元中有发生第一存储错误的存储单元时,执行步骤S240,降低寄存器210中的读电压值(例如降低0.1V~0.3V)。在确定多个存储单元中没有第一存储错误的存储单元时,执行步骤S250,保持寄存器210中的读电压值不变。
在一个实施例中,图7所示的方法还包括根据原始数据和纠错码数据判断多个存储单元是否存在发生第二存储错误的存储单元。在确定多个存储单元中有发生第二存储错误的存储单元时,增大寄存器210中存储的相邻字线的读导通电压值。在确定多个存储单元中没有发生第二存储错误的存储单元时,保持寄存器210中存储的相邻字线的读导通电压值不变。
此外,本发明提供了一种计算***。该计算***包括在任何上述实施例中所公开的非易失性存储器。
在上述各种实施例中,本发明的非易失性存储器是多媒体卡(Multimedia Card,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 (19)
1.一种非易失性存储器,其特征在于,包括:
存储单元阵列;
寄存器,设置为保存读操作参数;以及
控制器,
所述控制器设置为:
根据所述读操作参数,从所述存储单元阵列的多个存储单元读出原始数据;
根据所述原始数据判断所述多个存储单元是否包括发生存储错误的存储单元;以及
在判断所述多个存储单元包括发生存储错误的存储单元时,更新所述寄存器中保存的读操作参数。
2.根据权利要求1所述的非易失性存储器,还包括:纠错码电路,
所述纠错码电路设置为根据纠错码数据校正原始数据并得到修正数据,
所述控制器通过比较原始数据和修正数据判断所述多个存储单元包括是否发生存储错误的存储单元。
3.根据权利要求1或2所述的非易失性存储器,其中,在判断所述多个存储单元包括发生第一存储错误的存储单元时,减小所述读操作参数中的读电压,其中,所述发生第一存储错误的存储单元的阈值电压低于其目标阈值电压。
4.根据权利要求3所述的非易失性存储器,其中,所述发生第一存储错误的存储单元在修正数据中对应的位是0,在原始数据中对应的位是1。
5.根据权利要求1或2所述的非易失性存储器,其中,在判断所述多个存储单元包括发生第二存储错误的存储单元时,增大所述读操作参数中的读导通电压,其中,所述发生第二存储错误的存储单元的阈值电压大于其目标阈值电压。
6.根据权利要求5所述的非易失性存储器,其中,所述发生第二存储错误的存储单元在修正数据中对应的位是1,在原始数据中对应的位是0。
7.根据权利要求1或2所述的非易失性存储器,其中,在判断所述多个存储单元既包括发生第一存储错误的存储单元又包括发生第二存储错误的存储单元时,减小所述读操作参数中的读电压,并增大所述读操作参数中的读导通电压。
8.根据权利要求1所述的非易失性存储器,其中,所述控制器设置为:在判断所述多个存储单元没有发生存储错误的存储单元时,保持所述寄存器中的读操作参数不变。
9.根据权利要求1所述的非易失性存储器,其中,所述寄存器中的更新后的读操作参数用于执行下一次读操作。
10.根据权利要求1所述的非易失性存储器,其中,所述非易失性存储器是NAND闪存,所述NAND闪存包括多个块,所述寄存器为每个块保存一套读操作参数。
11.一种非易失性存储器的操作方法,其特征在于,包括:
从寄存器中获取读操作参数;
根据所述读操作参数,从多个存储单元读出原始数据;
根据所述原始数据判断所述多个存储单元是否包括发生存储错误的存储单元;以及
在判断所述多个存储单元包括发生存储错误的存储单元时,更新所述寄存器中保存的读操作参数。
12.根据权利要求11所述的方法,其中,根据所述原始数据判断所述多个存储单元是否包括发生存储错误的存储单元包括:
使用纠错码数据校正所述原始数据得到修正数据;
通过比较原始数据和修正数据判断所述多个存储单元是否包括发生存储错误的存储单元。
13.根据权利要求11或12所述的方法,其中,在判断所述多个存储单元包括发生第一存储错误的存储单元时,减小所述读操作参数中的读电压,其中,所述发生第一存储错误的存储单元的阈值电压低于其目标阈值电压。
14.根据权利要求11所述的方法,其中,所述发生第一存储错误的存储单元在修正数据中对应的位是0,在原始数据中对应的位是1。
15.根据权利要求11或12所述的方法,其中,在判断所述多个存储单元包括发生第二存储错误的存储单元时,增大所述读操作参数中的读导通电压,其中,所述发生第二存储错误的存储单元的阈值电压大于其目标阈值电压。
16.根据权利要求15所述的方法,其中,所述发生第二存储错误的存储单元在修正数据中对应的位是1,在原始数据中对应的位是0。
17.根据权利要求11或12所述的方法,其中,在判断所述多个存储单元既包括发生第一存储错误的存储单元又包括发生第二存储错误的存储单元时,减小所述读操作参数中的读电压,并增大所述读操作参数中的读导通电压。
18.根据权利要求11所述的方法,还包括:在判断所述多个存储单元没有发生存储错误的存储单元时,保持所述寄存器中的读操作参数不变。
19.根据权利要求11所述的方法,其中,所述寄存器中的更新后的读操作参数用于执行下一次读操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644296.5A CN111383694A (zh) | 2018-12-30 | 2018-12-30 | 非易失性存储器及其操作方法 |
US16/279,046 US10916311B2 (en) | 2018-12-30 | 2019-02-19 | Flash memory and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644296.5A CN111383694A (zh) | 2018-12-30 | 2018-12-30 | 非易失性存储器及其操作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111383694A true CN111383694A (zh) | 2020-07-07 |
Family
ID=71124039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811644296.5A Pending CN111383694A (zh) | 2018-12-30 | 2018-12-30 | 非易失性存储器及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10916311B2 (zh) |
CN (1) | CN111383694A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685213A (zh) * | 2021-01-06 | 2021-04-20 | 长江存储科技有限责任公司 | 非易失性存储器及其电压校准方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230001182A (ko) * | 2021-06-28 | 2023-01-04 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030227811A1 (en) * | 2002-06-07 | 2003-12-11 | Yoshihisa Sugiura | Non-volatile semiconductor memory |
CN102543196A (zh) * | 2010-12-14 | 2012-07-04 | 群联电子股份有限公司 | 数据读取方法、存储器储存装置及其控制器 |
CN102693758A (zh) * | 2011-03-22 | 2012-09-26 | 群联电子股份有限公司 | 数据读取方法、存储器储存装置及其存储器控制器 |
US20130105890A1 (en) * | 2011-10-27 | 2013-05-02 | Chih-Wei Hsiung | Vertical non-dynamic ram structure |
CN104851462A (zh) * | 2014-02-14 | 2015-08-19 | 索尼公司 | 具有可变调整参数的存储器设备 |
CN107025937A (zh) * | 2016-01-29 | 2017-08-08 | 旺宏电子股份有限公司 | 存储器的读取方法与存储器装置 |
US20180188958A1 (en) * | 2016-12-29 | 2018-07-05 | SK Hynix Inc. | Control logic, semiconductor memory device, and operating method |
US20180294036A1 (en) * | 2017-03-31 | 2018-10-11 | Samsung Electronics Co., Ltd. | Operation method of nonvolatile memory device and storage device |
US10121551B1 (en) * | 2017-08-31 | 2018-11-06 | Micron Technology, Inc. | Detecting power loss in NAND memory devices |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101434405B1 (ko) * | 2008-02-20 | 2014-08-29 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 읽기 방법 |
US10395753B2 (en) * | 2014-08-28 | 2019-08-27 | Winbond Electronics Corp. | Semiconductor memory device and programming method thereof |
US9659664B1 (en) * | 2015-12-15 | 2017-05-23 | International Business Machines Corporation | Dynamically adjusting read voltage in a NAND flash memory |
US10522232B2 (en) * | 2018-05-18 | 2019-12-31 | Sandisk Technologies Llc | Memory device with vpass step to reduce hot carrier injection type of program disturb |
-
2018
- 2018-12-30 CN CN201811644296.5A patent/CN111383694A/zh active Pending
-
2019
- 2019-02-19 US US16/279,046 patent/US10916311B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030227811A1 (en) * | 2002-06-07 | 2003-12-11 | Yoshihisa Sugiura | Non-volatile semiconductor memory |
CN102543196A (zh) * | 2010-12-14 | 2012-07-04 | 群联电子股份有限公司 | 数据读取方法、存储器储存装置及其控制器 |
CN102693758A (zh) * | 2011-03-22 | 2012-09-26 | 群联电子股份有限公司 | 数据读取方法、存储器储存装置及其存储器控制器 |
US20130105890A1 (en) * | 2011-10-27 | 2013-05-02 | Chih-Wei Hsiung | Vertical non-dynamic ram structure |
CN104851462A (zh) * | 2014-02-14 | 2015-08-19 | 索尼公司 | 具有可变调整参数的存储器设备 |
CN107025937A (zh) * | 2016-01-29 | 2017-08-08 | 旺宏电子股份有限公司 | 存储器的读取方法与存储器装置 |
US20180188958A1 (en) * | 2016-12-29 | 2018-07-05 | SK Hynix Inc. | Control logic, semiconductor memory device, and operating method |
US20180294036A1 (en) * | 2017-03-31 | 2018-10-11 | Samsung Electronics Co., Ltd. | Operation method of nonvolatile memory device and storage device |
US10121551B1 (en) * | 2017-08-31 | 2018-11-06 | Micron Technology, Inc. | Detecting power loss in NAND memory devices |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685213A (zh) * | 2021-01-06 | 2021-04-20 | 长江存储科技有限责任公司 | 非易失性存储器及其电压校准方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200211653A1 (en) | 2020-07-02 |
US10916311B2 (en) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200143877A1 (en) | Semiconductor memory device and memory system | |
KR100992985B1 (ko) | 쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템 | |
KR101089575B1 (ko) | 사이클 카운트를 저장하는 대량 소거 블록들을 구비한비휘발성 반도체 메모리 | |
EP2154687B1 (en) | Erased sector detection mechanisms | |
US7573747B2 (en) | Alternate row-based reading and writing for non-volatile memory | |
US7443726B2 (en) | Systems for alternate row-based reading and writing for non-volatile memory | |
US7877665B2 (en) | Page by page ECC variation in a memory device | |
US10692580B2 (en) | Charge loss failure mitigation | |
US10395753B2 (en) | Semiconductor memory device and programming method thereof | |
TW201506945A (zh) | 三維記憶體的可適性操作 | |
KR101731576B1 (ko) | 반도체 기억장치 및 nand 플래시 메모리의 프로그램 방법 | |
US11735253B2 (en) | Apparatus and methods for programming memory cells responsive to an indication of age of the memory cells | |
US7870457B2 (en) | Page by page ECC variation in a memory device | |
CN111383694A (zh) | 非易失性存储器及其操作方法 | |
US11270774B2 (en) | Apparatus for calibrating sensing of memory cell data states | |
CN111383703B (zh) | 非易失性存储器及其操作方法 | |
CN111383697B (zh) | 用于部分页编程的位扫描方法,部分页编程方法及非易失性存储器 | |
KR101651573B1 (ko) | 반도체 기억장치 및 그 프로그래밍 방법 | |
KR100940261B1 (ko) | 낸드 플래시 메모리소자의 소거방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200707 |