CN102918599A - 具有基本程序序列和写中止检测的非易失性存储器和方法 - Google Patents
具有基本程序序列和写中止检测的非易失性存储器和方法 Download PDFInfo
- Publication number
- CN102918599A CN102918599A CN2010800643133A CN201080064313A CN102918599A CN 102918599 A CN102918599 A CN 102918599A CN 2010800643133 A CN2010800643133 A CN 2010800643133A CN 201080064313 A CN201080064313 A CN 201080064313A CN 102918599 A CN102918599 A CN 102918599A
- Authority
- CN
- China
- Prior art keywords
- programming
- word line
- piece
- data
- programmed
- 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
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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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
- 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
- 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
-
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
非易失性存储器中的编程操作在预定接合处被分割为更小的片段用于在不同时间执行。预定接合处使得当在下一片段中重新开始操作时它们允许明确识别以便操作可以继续而无需从该操作的最开始重新开始。这通过要求每个片段的编程序列是基本的、即仅在预定类型的编程步骤处终止而实现。在下一片段中,通过检测在一组编程的字线之间的ECC错误的预定样式来识别终止编程步骤。
Description
技术领域
本申请涉及诸如半导体快闪存储器的可再编程非易失性存储器系统的操作,更具体地,涉及处理编程暂停和重新开始。
背景技术
能够非易失性存储电荷的固态存储器、特别是被封装为小型规格卡的EEPROM和快闪EEPROM形式的固态存储器最近成为各种移动和手持设备、特别是信息装置和消费电子产品中的存储选择。不同于也是固态存储器的RAM(随机存取存储器),快闪存储器是非易失性的,并且即使在切断电源之后仍保持它所存储的数据。而且,不同于ROM(只读存储器),快闪存储器时可重写的,类似于盘存储设备。尽管成本更高,但是快闪存储器正被更多地用于大容量存储应用中。基于诸如硬盘驱动和软盘的旋转磁介质的传统大容量存储不适合于移动和手持环境。这是因为盘驱动倾向于体积大,易出现机械故障,并且具有高等待时间和高功率要求。这些不希望的属性使得基于盘的存储在大部分移动和便携式应用中不实用。另一方面,嵌入式和可移动卡形式这两种的快闪存储器由于其小尺寸、低功耗、高速和高可靠性特征而理想地适合于移动和手持环境。
快闪EEPROM类似于EEPROM(电可擦除可编程只读存储器)之处在于其是可被擦除的非易失性存储器,并且使新数据被写或“编程”到其存储器单元中。在场效应晶体管结构中,两者利用在源极和漏极区域之间的、位于半导体衬底中的沟道区之上的浮置(未连接)导电栅极。然后在浮置栅极之上提供控制栅极。由被保留在浮置栅极上的电荷量来控制晶体管的阈值电压特性。也就是,对于浮置栅极上给定水平的电荷,存在必须在“导通”晶体管之前施加到控制栅极以允许在其源极和漏极区之间导电的相应电压(阈值)。具体地,诸如快闪EEPROM的快闪存储器允许同时擦除存储器单元的全部块。
浮置栅极可以保持一个范围的电荷,因此可以被编程到在阈值电压窗内的任何阈值电压电平。由器件的最小和最大阈值电平来界定(delimit)阈值电压窗的大小,该最小和最大阈值电平又对应于可以被编程到浮置栅极上的电荷的范围。阈值窗通常取决于存储器器件的特性、工作条件和历史。在该窗内的每个不同的可分辨的阈值电压电平范围原则上可以用于指定单元的明确的存储器状态。
在目前的商业产品中,快闪EEPROM阵列的每个存储元件通常通过工作在二进制模式而存储单个位的数据,在该二进制模式中,存储元件晶体管的两个范围的阈值电平被定义为存储级。晶体管的阈值电平对应于在其存储元件上存储的电荷水平的范围。除了缩小存储器阵列的尺寸之外,趋势是通过在每个存储元件晶体管中存储多于一位的数据而进一步增加这样的存储器阵列的数据存储的密度。这通过为每个存储元件晶体管定义多于两个阈值电平作为存储状态来实现,现在四个这样的状态(每个存储元件2位数据)被包括在商业产品中。也在实现更多的存储状态,比如每个存储元件16个状态。每个存储元件存储器晶体管具有其可以在其中实际操作的某个总范围(窗)的阈值电压,并且该范围被划分为对其定义的多个状态加上允许各状态彼此之间清楚区分的状态之间的余量。显然,存储器单元被配置为存储的位越多,其需要工作在的误差余量越小。
通常通过两种机制之一来将充当存储器单元的晶体管编程到“已编程”状态。在“热电子注入”中,施加到漏极的高电压加速了穿过衬底沟道区的电子。同时,施加到控制栅极的高电压拉动热电子经过薄栅极电介质到浮置栅极上。在“隧穿注入”中,相对于衬底,高电压被施加到控制栅极。以此方式,将电子从衬底拉到中间的(intervening)浮置栅极。虽然历史上使用术语“编程”来描述通过将电子注入到存储器单元的初始被擦除的电荷存储单元以便更改存储器单元的状态的向存储器的写入,但是现在该术语已经与诸如“写入”或“记录”的更常用的术语可互换地使用。
可以通过多种机制来擦除存储器器件。对于EEPROM,可通过相对于控制栅极向衬底施加高电压以便诱导浮置栅极中的电子遂穿过薄氧化物到衬底沟道区(即,Fowler-Nordheim隧穿)而电擦除存储器单元。通常,EEPROM可逐字节擦除。对于快闪EEPROM,该存储器可一次性电擦除或一次一个或多个最小可擦除块地电擦除,其中最小可擦除块可以有一个或多个扇区组成,并且每个扇区可以由512字节或更多的数据组成。
存储器器件通常包括可以被安装在卡上的一个或多个存储器芯片。每个存储器芯片包括由诸如解码器和擦除、写和读电路的外围电路支持的存储器单元的阵列。更复杂的存储器器件还与进行智能和更高级的存储器操作和接口的外部存储器控制器一起工作。
存在现今正使用的许多商业上成功的非易失性固态存储器器件。这些存储器器件可以是快闪EEPROM,或可以使用其他类型的非易失性存储器单元。在美国专利No.5070032、5095344、5315541、5343063和5661053、5313421和6222762中给出了闪存和系统及其制造方法的例子。具体地,在美国专利No.5570315、5903495、6046935中描述了具有NAND串结构的闪存器件。而且还由具有用于存储电荷的介电层的存储器单元制造非易失性存储器器件。取代先前描述的导电浮置栅极元件,使用介电层。由Eitan等人的“NROM:ANovel Localized Trapping,2-Bit Nonvolatile Memory Cell”,IEEE ElectronDevice Letters,Vol.21,No.11,2000年11月,543-545页描述了利用介电存储元件的这种存储器器件。ONO介电层延伸穿过在源极和漏极扩散之间的沟道。用于一个数据位的电荷被定位在与漏极相邻的介电层中,且用于另一数据位的电荷被定位在与源极相邻的电介质层中。例如,美国专利No.5768192和6011725公开了具有夹在两个二氧化硅层之间的俘获(trapping)电介质的非易失性存储器单元。通过分别读取该电介质内的空间上分离的电荷存储区域的二进制状态来实现多状态数据存储。
为了改善读取和编程性能,并行地读取或编程阵列中的多个电荷存储元件或存储器晶体管。从而,一起读取或编程一“页”的存储器元件。在现有存储器架构中,一行通常包含几个交织的页,或者它可能构成一页。一页的所有存储器元件将被一起读取或编程。
写入的数据中的错误
在再次所述的存储器系统的类型以及包括磁盘存储系统的其他类型中,通过使用错误校正技术来维持被存储的数据的完整性。最普遍地,对同时被存储的每个扇区或者其他单位的数据计算错误校正码(ECC),并且该ECC与该数据一起存储。ECC最普遍与用户数据的单元组一起存储,其中已经根据该用户数据的单元组计算了该ECC。用户数据的单元组可以是扇区或者多扇区的页。当从存储器读取此数据时,ECC用于确定被读取的用户数据的完整性。通常可以通过使用ECC来校正单元组的数据内的数据的错误位。
趋势是降低存储器系统的尺寸以便能够将更多的存储器单元放在系统中并使得该系统尽可能地小以适合更小的主机设备。通过电路的更高集成以及配置每个存储器单元以存储更多位数据的组合来增加存储器容量。这两种技术需要存储器以增加的更收紧的错误余量来工作。这又对ECC矫正错误带来更多要求。可以设计ECC以校正预定数量的错误位。其需要校正的位越多,ECC将越复杂并计算强度越大。
非易失性存储器通常与主机一起工作以存储并取回(retrieve)数据。为了适当并有效的操作,还需要进行许多内部存储器操作,比如在存储器的不同部分之间复制数据。在主机空闲时,这些内部操作可以在后台进行,但是优选通过背驮(piggy-back)到主机操作而在前台进行以避免非预期的电源关闭的可能性。例如,在每个主机写命令期间,不是对主机写命令预算的所有时间都用于进行主机写。空闲时间可以用于进行一些内部存储器操作。因为内部存储器操作可能花费比单个主机命令中能够给予的空闲时间更长,可能需要经过几个主机命令来进行。因此,需要将内部存储器操作分割为更小的片段以便经过几个主机命令能够给予的空闲时间而执行它们。
当前一代的非易失性存储器使用多种类型的编程遍(pass)的集合通过每个字线而使得多位数据可编程。优选的集合具有以下特征:被编程的多位数据中的一些或所有直到该集合的所有遍已经完成才有效。在一组字线之上的编程操作通常包括一系列编程步骤,每个步骤对与上一步骤不同的字线进行不同类型的编程遍。当编程操作被分割成在不同时间执行的更小的片段时,需要在下一片段中表示在上一片段中的终止编程步骤以便编程操作重新开始并从其继续。但是,由于在编程遍之间的不明确的存储器状态以及非连续的字线编程顺序,在下一编程片段中经常不能清楚地发现上一编程步骤。
因此,需要提供具有允许编程操作被分段并在不同的时间执行同时能够提供从一个片段到下一个的连续性的编程技术的非易失性存储器。
发明内容
根据本发明的一般方面,将非易失性存储器中的编程操作在预定接合处分割为小片段用于在不同时间执行。预定接合处使得当在下一片段中重新开始操作时它们允许明确识别以便操作可以继续而无需从该操作的最开始重新开始。这通过要求每个片段的编程序列是基本的、即仅在预定类型的编程步骤处终止而实现。在下一片段中,通过检测在一组编程的字线之间的ECC错误的预定样式来识别终止编程步骤。
根据本发明的一个方面,在以下非易失性存储器中提供基本编程序列。非易失性存储器使得多位数据可使用多种类型的编程遍的集合通过每条字线编程。在一组字线上的编程操作通常包括一系列编程步骤,每个步骤对与上一步骤不同的字线进行不同类型的编程遍。允许将编程操作分解为更小的片段,每个片段处的编程步骤仅终止于多种类型的编程遍的集合之中的预定类型处。预定类型是与不将被识别的集合中的其他类型相比,将允许终止编程步骤与被识别的类型。利用终止于预定类型的编程遍处的基本编程序列,可以在下一片段中清楚地识别该终止编程步骤以便从其处重新开始并继续操作。
在一个优选实施例中,通过三种类型的编程遍、即较低、模糊和精细来编程字线上的一页3位存储器单元。在一个具体实施例中,基本编程序列终止于执行较低遍的编程步骤。在另一具体实施例中,基本编程序列终止于执行精细编程的编程步骤。
根据本发明的另一方面,通过检测在一组被编程字线之间的预定样式的ECC错误在下一片段中识别片段中的终止编程步骤。
在一个优选实施例中,在下一片段中识别上一片段的终止编程步骤。通过二进制搜索来查找被编程和被擦除字线之间的边界。从该边界起得一组被编程字线的ECC错误形成可检测的ECC样式或者签名以允许识别在上一片段中最后编程步骤终止于的字线。给定识别的字线和基本编程序列的终止遍的类型,确定最后编程步骤用于编程操作重新开始并继续。
附图说明
图1例示主机与其中体现了本发明的特征的存储器器件通信。
图2示意性例示非易失性存储器单元。
图3例示存储器单元的NOR阵列的例子。
图4例示被并行感测或变成的被组织在例如NAND配置中的一页存储器单元。
图5A更详细地例示图1所示的感测模块包含在存储器单元的阵列之间的一堆p个感测模块。
图5B例示包括感测放大器的感测模块。
图6示意性例示以可擦除块组织的存储器阵列的例子。
图7例示具有每个单元处于两个可能的状态之一的全体单元的二进制存储器。
图8例示具有每个单元处于八个可能的状态之一的全体单元的多状态存储器。
图9(1)到9(3)例示用于将三位数据编程到字线上的一页的每个存储器单元的优选的(模糊-精细)多遍编程。
图10A例示具有2位存储器单元(D2)并且其页按最佳序列被编程以便最小化相邻字线上的存储器单元之间的Yupin效应的存储器的例子。
图10B例示图10A的2-位存储器的编程顺序的另一视图。
图11A例示具有3位存储器单元(D3)的存储器的例子,其中每个单元页3位可编程到每个字线中。
图11B例示具有3位存储器单元(D3)并且企业按最佳序列被编程以便最小化相邻字线上的存储器单元之间的Yupin效应的存储器的例子。
图11C例示用于图11B中3位存储器的编程顺序的另一个视图。
图12A例示连续主机地址中的页的优选排序的例子。
图12B例示D3存储器中的页的优选存储顺序。
图13A示意性例示包含ECC字段的数据页。
图13B时例示D3中的页的可能的状态的表。
图14例示适合于实践本发明的存储器的例子。
图15例示图11B中直到S10的编程步骤。
图16A和16B列出编程步骤S7-S10的在各个接合处的写中止的影响。
图17A和17B也列出编程步骤S7-S10的在各个接合处的写中止的影响。
图18是例示本发明的基本编程序列的流程图。
图19使历史从先前编程片段中发现最后的编程步骤的流程图。
具体实施方式
存储器系统
图1例示主机与其中可以体现本发明的特征的存储器器件通信。主机80通常发送要存储在存储器器件90处的数据或者通过读取存储器器件90而取回数据。存储器器件90包括由控制器102管理的一个或多个存储器芯片100。存储器芯片100包括存储器单元的存储器阵列200,每个存储器单元能够被配置为多级单元(“MLC”)用于存储多位数据。存储器芯片还包括外围电路,比如感测模块480、数据锁存器430和I/O电路440。芯片上控制电路110控制每个芯片的低级存储器操作。控制电路110时与外围电路合作来对存储器阵列200进行存储器操作的芯片上控制器。控制电路110通常包括状态机112以提供对存储器操作的芯片级控制。
在许多实现方式中,主机80经由控制器102与存储器芯片100通信并与之相接口。控制器102与存储器芯片合作并控制和管理较高级的存储器操作。例如,在主机写中,主机10将要写入的数据发送到从主机的操作系统的文件系统分配的逻辑扇区中的存储器阵列100。在控制器中实现的存储器块管理系统将扇区分级并将它们映射并存储到存储器阵列的物理结构。
在2009年1月1日提交的美国申请No.12/348891中公开了优选的块管理系统,通过参考将其全部公开合并于此。
固件60提供用于实现控制器102的功能的代码。错误校正码(“ECC”)处理器62在存储器器件的操作期间处理ECC。在另一实施例中,在主机内实现控制器102。
物理存储器结构
图2示意性例示非易失性存储器单元。存储器单元10可以有具有电荷存储单元20、比如浮置栅极或者电介质层的场效应晶体管实现。存储器单元10还包括源极14、漏极16和控制栅极30。
存在许多现今正使用的商业上成功的非易失性固态存储器。这些存储器器件可以采用不同类型的存储器单元,某种类型具有一个或多个电荷存储元件。典型的非易失性存储器单元包括EEPROM和快闪EEPROM。在美国专利no.5595924中给出了EEPROM单元及其制造方法的例子。在美国专利No.5070032、5095344、5315541、5343063、5661053、5313421和6222762中给出了快闪EEPROM单元、其在存储器系统中的使用及其制造方法的例子。具体地,在美国专利No.5570315、5903495和6046935中描述了具有NAND单元结构的存储器器件的例子。而且,已经由Eitan等人在“NORM:ANovelLocalized Trapping,2-Bit Nonvolatile Memory Cell”,IEEE Electron DeviceLetters,Vol.21,No.11,2000年11月,543-545页中以及在美国专利No.5768192和6011725中描述了利用电介质存储元件的存储器器件的例子。
实际上,通常通过在向控制栅极施加参考电压时感测在单元的源极和漏极电极之间的导电电流来读取该单元的存储器状态。因此,对于在单元的浮置栅极上的每个给定电荷,可以检测关于固定的参考控制栅极电压的相应导电电流。相反,将阈值电压定义为利用给定电荷刚好导通单元的控制栅极上的电压。类似地,可编程到浮置栅极上的电荷的范围定义了相应的阈值电压窗或相应的导电电流窗。
或者,取代检测在划分的电流窗之间的导电电流,能够在控制栅极处为在测试下的给定存储器状态设置阈值电压,并检测导电电流是低于还是高于阈值电流。在一个实施方式中,通过检查导电电流经过位线的电容或已知的电容器而放电的速率来实现相对于阈值电流对导电电流的检测。
如从以上描述可见,使得存储器单元存储的状态越多,其阈值窗划分得越精细。例如,存储器器件可以具有拥有范围从-1.5V到5V的阈值窗的存储器单元。这提供了6.5V的最大宽度。如果该存储器单元要存储16个状态,每个状态可以占据阈值窗中的200mv到300mv。这将需要在编程和读取操作中更高的精度,以便能够实现所需的分辨率。
存储器阵列200通常被组织为在行和列中布置的并且可通过字线和位线寻址的存储器单元的二维阵列。该阵列可以根据NOR类型或NAND类型架构来形成。
图3例示存储器单元的NOR阵列的例子。在存储器阵列200中,每行存储器单元通过其源极14和漏极16以菊链方式连接。该设计有时被称为虚拟接地设计。一行中的单元10使得其控制栅极30连接到诸如字线42的字线。一列中的单元使得其源极和漏极分别连接到诸如位线34和36的所选位线。
图4例示被并行感测或编程的例如按NAND配置组织的一页存储器单元。图4主要示出存储器阵列200中的一堆NAND串50。NAND串50由通过其源极和漏极菊链连接的一系列存储器晶体管(例如,4、8、16或更高)组成。一对选择晶体管S1、S2控制存储器晶体管链分别经由NAND串的源极端和漏极端与外部的连接。在存储器阵列中,当源极选择晶体管S1导通时,源极端耦接到源极线34。类似地,当漏极选择晶体管S2导通时,NAND串的漏极端耦接到该存储器阵列的位线36。在该链中的每个存储器晶体管10用作存储器单元。其具有电荷存储元件20来存储给定量的电荷,以便表示意图的存储器状态。每个存储器晶体管的控制栅极允许对读和写操作的控制。一行NAND串的相应存储器晶体管的控制栅极全部连接到同一字线(比如WL0、WL1、……)。类似地,(分别经由选择线SGS和SGD访问的)每个选择晶体管S1、S2的控制栅极提供分别经由其源极端和漏极端对NAND串的控制访问。
当在编程期间读取或验证NAND串中的被寻址的存储器晶体管10时,其控制栅极30经由公共字线被供应了适当的电压。同时,NAND串50中的其余未被寻址的存储器晶体管通过在其控制栅极上施加足够的电压而完全导通。以此方式,从各个存储器晶体管的源极到NAND串的源极端有效地建立了导电路径,且对各个存储器晶体管的漏极到该单元的漏极端类似。在美国专利No.5570315、5903495、6046935中描述了具有这种NAND串结构的存储器器件。
诸如页70的“页”是使得能够并行被感测或编程的一组存储器单元。这通过相应页的感测放大器而实现。例如,页70沿着一行并且通过施加到共同连接到字线WL3的页的存储器单元的控制栅极的感测电压而被感测。沿着每列,诸如单元10的每个单元可由感测放大器经由位线36访问。以上所述的页是物理页存储器单元或者感测放大器。依赖于上下文,在每个单元都在存储的情况下。
感测电路和技术
图5A更详细地例示图1所示的感测模块包含在存储器单元的阵列之间的一堆P个感测模块。并行工作的整堆p个感测模块480允许沿着一行的一组(或物理页)p个单元10被并行读取或编程。实质上,感测模块1将感测单元1中的电流I1,感测模块2将感测单元2中的电流I2,……,感测模块p将感测单元p中的电流Ip,等等。从源极线34流出到集合节点CLSRC中并从那里到地的对于页的总单元电流iTOT将是p个单元中所有电流之和。
在传统存储器架构中,具有公共字线的一行存储器单元形成两页或多页,其中一页中的存储器单元被并行读取和编程。在一行具有两页的情况下,通过偶数位线访问一页,并通过奇数位线访问另一页。一个物理页的感测电路在任何一个时间与偶数位线或奇数位线耦接。
在当前生产的芯片中,物理页可以是64k或更大。在优选实施例中,组是一连串(run)的整行单元。这是所谓的“全位线(all bit-line)”架构,其中页由分别与连续位线耦接的一行连续的存储器单元构成。
图5B例示包括感测放大器的感测模块。感测放大器490检测单元的导电电流是在参考水平以上还是以下。感测的结果被锁存在锁存器430的相应集合中(见图1)。
擦除块
快闪存储器和其他类型的存储器之间的一个重要差别时单元必须从擦除状态开始编程。也就是,浮置栅极首先必须没有电荷。然后编程将期望量的点和添加回到浮置栅极。其不支持从浮置栅极移除电荷的一部分已从更多编程的状态来到更少编程的状态。这意味着,更新数据不能盖写(overwrite)现有数据,并且必须被写到先前未写入的位置。
此外,擦除将从浮置栅极清空所有电荷并通常花费一点时间。由于该原因,逐个单元擦除或甚至逐页擦除将是麻烦和非常慢的。实践中,将存储器单元的阵列划分为大量存储器单元的块。如对于快闪EEPROM系统共同的,块时擦除的单位。即,每个块包含一起被擦除的最小数量的存储器单元。
图6示意性例示按可擦除块组织的存储器阵列的例子。电荷存储存储器器件的编程仅能够导致向其电荷存储元件添加更多电荷。因此,在编程操作之前,存储器单元的电话存储元件中的现有电荷必须被移除(或擦除)。当单元200的整个阵列或者该阵列的大量单元组一起(即一闪)被电擦除时,诸如EEPROM的非易失性存储器被称为“快闪”EEPROM。一旦被擦除,就可以对单元组再编程。可一起擦除的单元组可以由一个或多个可寻址擦除单元300组成。擦除单元或块300通常存储一页或多页数据,页是编程和读取的最小单位,尽管可以在单个操作中编程或读取多于一页。每页通常存储一个或多个扇区的数据,扇区的大小由主机系统定义。一个例子是遵循随磁盘驱动器建立的标准的512字节的用户数据的扇区加上一些数量字节的关于用户数据和/或存储该用户数据的块的开销信息。
在图6所示的例子中,存储器阵列200中的各个存储器单元可通过诸如WL0-WLy的字线42和诸如BL0-BLx的位线36访问。存储器被组织为擦除块,比如擦除块0、1、……m。还参考图5A和5B,如果NAND串50包含16个存储器单元,则该阵列中的第一堆NAND串将可通过选择线44和诸如WL0到WL15的字线42访问。擦除块0被组织为使第一堆NDND串的所有存储器单元一起被擦除。在存储器架构中,多于一块的NAND串可以一起被擦除。
二进制(SLC)和多状态(MLC)存储器划分的例子
如之前所述,非易失性存储器的例子由场效应晶体管的阵列形成,每个场效应晶体管具有在其沟道区和其控制栅极之间的电荷存储层。电荷存储层或单元可以存储一个范围的电荷,引起对于每个场效应晶体管的一个范围的阈值电压。可能的阈值电压的范围跨度是阈值窗。当阈值窗被划分为阈值电压的多个子范围或者区域时,每个可分辨的区域用于表示存储器单元的不同存储器状态。可以通过一个或多个二进制位来编码多个存储器状态。
图7例示具有每个单元处于两个可能的状态之一的全体单元的二进制存储器。每个存储器单元使得其阈值窗被单个分界电平划分为两个不同的区域。如图7(0)所示,在读取期间,在较低区域和较高区域之间的读取分界电平rV1被用于确定单元的阈值电平位于哪个区域。如果其阈值位于较低区域中则单元处于“被擦除”状态,如果其阈值位于较高区域中,则该单元处于“被编程”状态。图7(1)例示了存储器单元初始地使其所有单元处于“被擦除”状态。图7(2)例示被编程到“被编程状态”的一些单元。1位或二进制代码用于对存储器状态编码。例如,位值“1”表示“被擦除”状态并且“0”表示“被编程”状态。通常通过施加一个或多个变成电压脉冲来进行编程。在每个脉冲之后,单元被感测以验证阈值电压是否已经移动超过验证分界电平vV1。具有这样的存储器单元划分的存储器被称为“二进制”存储器或者单级单元(“SLC”)存储器。将看到,二进制或者SLC存储器以宽的错误余量而工作,因为整个阈值窗仅被两个区域占据。
图8例示具有每个单元处于八个可能的状态之一的全体单元的多状态存储器。每个存储器单元使得其阈值窗被至少七个分界电平划分为八个不同的区域。如图8(0)所示,在读取期间,读取分界电平rV1到rV7用于确定单元的阈值电平位于哪个区域。如果单元的阈值位于最低区域中,则该单元处于“被擦除”状态,如果其阈值位于较高区域中,则该单元处于多个“被编程”状态之一。图8(1)例示存储器初始地使其所有单元处于“被擦除”状态。图8(2)例示被编程到“被编程”状态的一些单元。具有低位、中间位和高位的3位代码可以用于表示八个存储器状态的每个。例如,“0”、“1”、“2”、“3”、“4”、“5”、“6”和“7”状态分别由“111”、“011”、“001”、“101”、“100”、“000”、“010”和“110”表示。通常,通过施加一个或多个变成电压脉冲来进行编程。在每个脉冲之后,单元被感测以验证阈值是否已经移到超过作为验证分界电平vV1到vV7之一的参考。具有这样的存储器单元划分的存储器被称为“多状态”存储器或者多级单元(“MLC”)存储器。
类似地,存储4位代码的存储器将具有低位、第一中间位、第二中间位和高位,表示十六个状态中的每个。阈值窗将被至少15个分界电平分界为十六个不同的区域。
随着存储器的有限阈值窗被划分为更多区域,编程和读取的分辨率必然将变得更精细。因此,与具有更少划分的区域的存储器相比,多状态或者MLC存储器需要以更窄的错误余量来工作。换句话说,错误率随着每个单元中存储的位的数量而增加。一般而言,错误率随着阈值窗中的划分的区域的数量而增加。
浮置栅极与浮置栅极耦合(“Yupin效应”)
被编程到一个存储器单元的电荷存储元件中的电荷产生干扰相邻存储器单元的电场的电场。如果存储器单元在第一场环境下被编程验证并且稍后由于随后用不同电荷编程的相邻单元在不同的场环境下再次被读取,则读取准确度可能受到被称为浮置栅极与浮置栅极耦合或者“Yupin效应”的影响。随着半导体存储器中不断更高的集成,由于存储器单元之间存储的电荷引起的电场的干扰(Yupin效应)随着单元之间的间距缩小而变得更加可观。
可以通过最小化在场环境中单元在编程验证时间和在相邻单元已经被编程之后的读时间之间的不对称性来消除Yupin效应。此问题影响存储器阵列的沿着穿过位线的行(BL-BL Yupin效应)和沿着穿过字线的列(WL-WL Yupin效应)的相邻单元。
降低BL-BL Yupin效应的一种方式是多遍编程,这避免在每遍编程之间电荷的大的改变。
图9(1)-9(3)例示了用于将三位数据编程到字线上的一页的每个存储器单元中的优选的(模糊-精细)多遍编程。存在三种类型的编程遍:较低;模糊;以及精细。
图9(1)例示较低(或第一)页编程遍。这仅仅是较低页数据的功能。尽管来自此遍编程的数据看起来像是二进制的,但是由于存储器设计限制,该数据可能可以或者可能不能可靠地读回。如从图9(3)可见,较低页读取的正常分界点时分界310。为了读取在较低遍之后的二进制数据,将需要替换的读取分界310’。
图9(2)例示模糊页编程遍。这是所有3页数据的功能。这是以单元具有重叠的编程电平而结束的中间遍,使得不能可靠地读回数据。
图9(3)例示精细页编程遍。这也是所有3页数据的功能。这是字线的最后一遍编程。在精细编程之后,对于所有3个数据页,数据都是可读的。低(“0”)逻辑页具有读取分界点310。中间(“1”)逻辑页具有读取分界点320和322。高(“2”)逻辑页具有读取分界点330、332、334和336。
将看到,通过此“模糊-精细”多遍编程方案而编程的数据仅在最后的精细编程遍完成之后是可读的。在模糊遍之后,数据不可读。在较低遍之后,只有分界读取阈值从正常分界310改变到替换分界310’时数据才是可读的。如果存储器不支持替换较低页读取分界,则较低页数据仅在较低遍之后也是不可读的。
在US6657891和US7046548中已经公开了类似的多遍编程技术。
字线之间的Yupin效应
降低WL-WL Yupin效应的一种方式是按最佳顺序编程存储器阵列中的页。
关于其中在相邻字线上的存储器单元之间存在干扰的WL-WL Yupin效应,可以在编程期间使用优选的编程方案来消除。这将有效地降低一半的干扰。剩余的一半也可以通过使用优选的“向前看(look ahead)”读取方案在读取期间校正。
优选编程方案将使得与字线相关联的页按最佳序列被编程。例如,在其中每个物理页保持一页二进制数据的二进制存储器的情况下,优选沿着一贯方向、比如从底部到顶部依次编程各页。以此方式,当具体页被编程时,在该页的更低侧的页已经被编程。无论它们可能对当前页产生何种干扰影响,正在解决它们,因为正考虑到这些干扰对当前页进行编程验证。实质上,对页编程的序列应该允许被编程的当前页考到在其已被编程之后在其环境周围的最小改变。因此,每个被编程的页仅售在其更高侧的页的干扰并且通过此编程序列将WL-WL Yupin效应有效降低了一半。
在其中存储器单元的每个物理页是多状态的并且得到的多个逻辑数据页在不同的遍中被编程的情况下,序列更少直接向前。
图10A例示了具有2位存储器单元(D2)并且其页按最佳序列被编程以便最小化相邻字线上的存储器单元之间的Yupin效应的存储器的例子。为了方便,进行标记使得物理页P0、P1、P2、……分别存在于字线WL0、WL1、WL2、……上。对于2位的存储器,每个物理页具有与其相关联的两个逻辑页,即低位和高位逻辑页,每个逻辑页具有二进制数据。通常,具体逻辑页由LP(WL#.logical_page#)给出。例如,W0上的P0的低位和高位页将分别被标记为LP(0.0)和LP(0.1),并且WL2上的显影页将被标记为LP(2.0)和LP(2.1)。
实质上,逻辑页的编程将遵循序列n以便被编程的当前页将看到在其被编程之后在其环境周围的最小改变。在此情况下,在从底部到顶部的一个一贯方向上再次递增地移动将帮助消除来自一侧的干扰。此外,因为每个物理页可以具有两遍编程,所以随着编程向上移动物理页,当前高位页在其相邻低位页已被编程之后将更好地被编程,使得当编程当前高位页时将解决低位页的干扰影响。因此,如果编程从LP(0.0)开始,则序列将如以下编程步骤顺序所标记的那样:S1、S2、S3、S4、S5、……Sn、……,这分别指向:LP(0.0)、LP(1.0)、LP(0.1)、LP(2.0)、LP(1.1)、LP(3.0)、LP(2.1)……
图10B例示对于图10A的2位存储器的编程顺序的另一视图。在此视图中,可以看出,编程步骤顺序在交替地在两个编程遍即较低遍和较高遍之间穿梭时,沿着穿过表中的字线的一系列对角Z型路径。
在US7046548中已经公开了类似的多遍编程技术,其全部公开通过参考合并于此。
图11A例示其中每单元页的三位可编程到每个字线中的具有3位存储器单元(D3)的存储器的例子。例如,诸如WL5的字线链接到被并行编程和读取的一组3位单元。代替像图10A中那样利用两个逻辑页对每个字线编程,D3存储器利用三个逻辑页对每个字线编程。例如,可以利用由LP(5.0)、LP(5.1)、LP(5.2)给出的三个1位逻辑页对WL5编程。
图11B例示具有3位存储器单元(D3)并且其页按最佳序列被编程以便最小化相邻字线上的存储器单元之间的Yupin效应的存储器的例子。编程通过按预定的非依次的顺序行进而步经各字线。为了进一步最小化位线之间的Yupin效应,可以通过图9所示的优选模糊-精细多遍编程技术将三个逻辑也编程到WL5上。则三种不同类型的三遍将是:较低遍;模糊遍;以及精细遍。将看出,与给定字线相关联的逻辑页未在连续的步骤中编程。换句话说,三种类型的编程遍未被相继应用于相同字线。此外,如之前结合图9所述,模糊-精细多遍编程要求来自所有三页的数据作为模糊遍和精细遍两者的编程目标数据。
图11C例示对于图11B的3位存储器的编程顺序的另一视图。在此视图中,可以在循环经过三种类型的编程遍:较低;模糊;以及精细时通过穿过该视图的表的字线的一系列对角Z型路径来构造编程各个逻辑页的步骤顺序。
D1和D3之间的地址映射
为了更好的读取性能,在D3中的每个字线上的每三个一组的逻辑页应该按主机数据地址的依次顺序被存储。以此方式,当主机从D3读回时,其可以对具有相继地址的所有三个逻辑页的字线进行单个读取,并且无需低效地读取来自一个字线的单个逻辑页以及来自另一字线的另一单个逻辑页。
用于最小化WL-WL Yupin效应的图11B和图11C所示的非依次的字线编程顺序意味着当执行每个编程步骤时必须可获得适当的编程目标数据。为了使主机地址在D3中的每个字线中排队,同样在D1中分级的适当的源页必须在执行每个步骤之前被加载到编程电路的编程锁存器中。
图12A例示依次的主机地址中的页的优选排序的例子。这通常是主机将在读取中请求页的顺序。
图12B例示D3存储器中的页的优选存储顺序。例如,具有主机地址H0、H1、H2的页被存储为字线WL0中的较低、中间和较高逻辑页,页H3、H4、H5类似地被存储在WL1中,等等。
如稍后将结合图14描述的,源页在被用作编程到D3中的编程面板数据之前在存储器的二进制部分D1中被分级。因此,物理到物理D1到D3映射被用于将源页在D1中的位置与其被编程在D3中的位置相联系。
在优选实现方式中,D1中的页还被加扰以便确保在存储器单元的阵列之间的平均电荷密度。这避免了不规则的浮置栅极与浮置栅极耦合。在芯片上加扰D1页的例子是反转或者不反转位值,作为其D1物理地址的函数。加扰的D1页然后根据D1到D3映射被编程到D3中。一旦D1地址已知,相反映射将使得读取的页被解扰。
通过错误校正码(“ECC”)的错误检测和校正
快闪存储器易出现错误。为了确保无错误的数据,实现错误校正码(“ECC”)以校正错误。
图13A示意性例示包含ECC字段的数据页。如结合图4和图6A所述,存储器单元的物理页依靠并行操作的相应页的感测模块而被并行编程和读取。当每个存储器单元存储多位数据时,将存在与字线上的每个物理页相关联的多个数据页。数据页70’包括用户部分72’和系统部分74’。用户部分72’用于存储用户数据。系统部分74’通常由存储器系统使用来存储系统数据。包括在系统数据中的是ECC。为数据页计算ECC。通常,由控制器102中的ECC处理器62(见图1)计算ECC。在一些实施例中,当数据页大时,可以将其划分成更小的部分,每部分具有其自己的ECC。
在从主机接收到数据时,一页数据在控制器102中被分级并且由ECC处理器62计算其ECC。并入了ECC的数据页然后被写到存储器阵列200。通常,当读取数据页时,该数据页被锁存在数据锁存器430中并且从I/O电路440移除到控制器102。在控制器102处,将数据页的现有ECC与对读取的数据计算的ECC的第二版本相比较。ECC通常包括用于迅速检测数据页中的任何错误的错误检测码(“EDC”)。如果EDC指示在读取的数据页中存在任何错误,则调用ECC以校正读取的数据页中的错误位。设计ECC以校正达预定最大数量的错误。在实践中,在存储器的寿命中的任意给定时间,ECC可以具有用于校正少于预定最大数量的预定数量的错误的预算。
在Dusija等人与本申请同日提交的题为“NON-VOLATILE MEMORYAND METHOD WITH POST-WRITE READ AND ADAPTIVE RE-WRITE TOMANAGE ERRORS”的美国专利申请中公开了ECC的错误管理,其全部公开通过参考合并于此。
图13B使历史D3中的页的可能状态的表。如之前所述,设计ECC来校正页中的预定数量的错误。数据页的状态可以是以下之一:
CECC-可由ECC校正。所有3个数据页中的错误的数量可校正,因为其在ECC的能力之内。但是,仅在错误在预定阈值以上时数据的质量才是良好的。
UECC-不可由ECC校正。错误的数量超过了ECC的能力或者尽管仍可由ECC校正但是在预定阈值以上。数据无效。
良好的D3意味着字线的所有3个数据页都具有可由ECC校正的并且在预定阈值以下的错误。数据有效。
被擦除意味着数据页不大于非擦除状态中的预订数量的单元。
在编程中止之后存储器块中的不确定的数据
根据以上描述,在任何部分编程的擦除块中,使用设计模糊-精细以及还有非依次字线编程顺序的组合的多遍编程将在任意一个时间导致几个字线使得少于所有三个逻辑页被编程。因为模糊-精细编程要求在数据可读之前所有逻辑页被编程到字线,因此如果在对块编程的中间时编程要中止(例如由于电力故障或者非预期的破坏),则这些部分被编程的字线将是不可读的。
在完成对于字线的前两遍编程之后,以及在模糊-精细编程方案中的三遍的任意一个期间的写中止之后,部分被编程的该字线将以不可校正的ECC(UECC)错误读回。这表示要在编程片段之间利用动力周期来进行部分块编程,就像没有告知是否正常完成了中间编程片段或者是否存在由于突然电力损失而引起的写中止的机制那样。因此,传统上,当编程中止发生时,整个块的数据被重写到新的块。重写块是耗时的。希望编程重新开始能够在相同块上从上次停止处继续而无需将先前写入的块重写到新的块。
基本(atomic)写序列和编程中止检测
根据本发明的一个方面,提供了在将数据从配置用于低位存储的存储器的第一部分复制到配置用于高位存储的第二部分的存储器块中的方法。该方法允许将复制操作分解为多个分离开的编程片段以便在每个片段之后的重新开始无需对新块进行而是从在上个片段中在块中最后停止处继续。
该方法在对每个字线进行多遍编程的背景下操作以便完成对在其上的数据的多位页的编程。多遍编程使得仅在完成某个预定遍之后被编程的数据才有效。同时,最佳编程方案具有根据预定的非依次顺序的对块中的不同字线的每个编程步骤。这导致每个编程步骤对与上一步骤不同的字线进行不同类型的编程遍。如果在当前片段中编程在编程步骤之一处偶然终止,则在下一片段中的编程重新开始中可能不能发现终止步骤块,因为从几个相连的步骤读回的数据可能共享相同的识别样式。
该方法规定称为“基本写序列”在于每个片段中的编程序列将在指定类型遍终止。指定类型遍时将使得在下一片段中清楚地确定该终止步骤以便重新开始可以从上一编程步骤继续的类型遍。
图14例示适合于实践本发明的存储器的例子。存储器单元的阵列200(见图1)被划分为第一部分410和第二部分420。第二部分420具有被配置为高密度存储的存储器单元,每个单元存储多位数据。第一部分410具有被配置为低密度存储的存储器单元,每个单元存储比第二部分更少的位数。例如,与第二部分中的3位数据相比,第一部分中的存储器单元被配置为存储1位数据。每单元存储1位数据的第一部分也将被称为D1,并且每单元存储3位数据的将被称为D3。考虑到之前的描述,第一部分将以比第二部分宽得多的错误余量而工作。因此,第一部分中的存储器操作将具有比第二部分中更少的错误。
在一个实施例中,第一部分410或D1还被划分为第一部分411和第二部分412。
在步骤(1),在主机写期间,输入数据首先被缓存在第一部分411中或者直接被写到第二部分412。如果输入数据是片断(fragment),则其首先被缓存在第一部分中。如果输入数据是一大串的依次的数据,则其逐页直接被写到第二部分412中。
在步骤(2),在任何情况下,输入数据最终在第二部分412中结束,其中写入的页被分级到虚拟的D1块中,比如块m.1、m.2和m.3。在其中每个块包含来自适当定义的一组逻辑地址的数据的方案中,虚拟块可能不对应于物理块,但是仍使得该组逻辑地址分布在几个物理D1块上。
在步骤(3),在数据正被逐页写到D1中时,当三个一组的二进制页处于D1中时,可以将其复制到D3中的具有3位单元的单个页中,这也被称为从D1折叠到D3。在虚拟D1块m.1、m.2和m.3的全部页被折叠到D2块m中之后,该D3块m是完整的。折叠操作优选由控制器102中的固件60控制的存储器进行。在主机命令正工作时,此操作优选在空闲时段中在前台进行。
配置有D1和D3部分的存储器也公开在与本申请同日提交的Gorobets等人的题为“MAINTAINING UPDATES OF MULTI-LEVEL NON-VOLATILEMEMORY IN BINARY NON-VOLATILE MEMORY”的美国申请中,其全部公开通过参考合并于此。
因为每个主机命令中的空闲时段可能不足够完成折叠操作,希望将折叠操作分解为更小的片段,每个片段能够在主机命令的空闲时段内完成。基本程序序列特征允许将折叠划分为更小的片段,同时能够在下一片段中从相同块中的上一编程步骤重新开始。
当实现3遍(第一,模糊,精细)编程以用每单元页3位编程D3中的每个字线时,基本写序列将终止于指定类型遍的每个编程片段的编程步骤。预定该指定类型以允许在随后的片断中可识别该终止程序步骤。
图15例示图11B的直到S10的编程步骤。具体地,从S7到S10的编程步骤如下:
S7-对WL3进行较低遍编程;
S8-对WL2进行模糊遍编程;
S9-对WL1进行精细遍编程;
S10-对WL4进行另一较低遍编程。
图16A和16B列出在编程步骤S7-S10的各个接合处的写中止的影响。这是在实现3遍模糊-精细编程和非依次字线顺序特征时。编程步骤S7到S9列出在图16A中的表格的第一行。编程步骤S10列出在图16B中的表格的第一行。与每个步骤一起的是进行的编程遍,如图15所示。
在每个编程步骤期间,中断或者写中止(“WA”)可以发生在每种类型遍的四处地点的任意一处:“开始附近”、“在中间”、“结尾附近”以及“完成”,如图16A和16B中的表格中的第二行(事件)中列出的。
如之前所述,利用模糊-精细3遍编程,仅可以在精细遍完成之后从字线读取数据。因此,如图16A中所述,在“较低,S7”列下,即使完成了步骤S7中的较低遍的编程时,WL3、WL2和WL1都丢失至少一遍。因此,如果在下一片段的重新开始中读回来自这些字线的数据,则它们将得到无效数据,因为它们不可由ECC校正(UECC)(见图13)。具有所有三遍的唯一字线是WL0,因此其将得到如由“良好D3”所示的良好数据。编程步骤S7还未访问WL5,因此其仍处于被擦除状态。从擦出的字线往回扫描,得到对于一组字线的ECC签名或者样式440,如被擦除、UECC、UECC、UECC、良好的D3。因此,如果在步骤S7的较低遍完成之后发生写中止,则将在块中的被擦除字线读回一组字线的数据之后检测到ECC签名440,并且数据将无效。
通过相同的分析,对于编程步骤S8(模糊遍)中的所有写中断事件的ECC签名也将是ECC签名440,并且数据无效。
通过相同的分析,字线WL1将仅在编程步骤S9完成(最后列)之后得到其三种类型遍。在该情况下,WL1现在将得到如由“良好D3”所示的有效数据。从被擦除字线往回扫描,得到对于一组字线的ECC签名或样式440.如被擦除、UECC、UECC、良好D3。因此,如果在步骤S9的精细遍的完成之后发生写中断,则将在从块中的被擦除字线读回一组字线的数据之后检测到ECC签名450。具有良好数据的字线(例如WL1)离开被擦除字线WL4三条字线远,并且WL1上的数据将有效。
根据以上描述,当从块中的被擦除和被编程字线之间的边界往回扫描一组字线时,将存在对于该组的两个可能的ECC签名。签名440指示数据无效并且在较低遍、粗略遍或甚至精细遍的甚至一部分期间可能已经发生写中断。但是,有效数据签名450仅在精细遍的完成之后在之前发生写中断时才出现。
存在具有签名450的几个不确定性。一个是这可能还意味着中断可能发生在步骤S9中的精细遍的附近。在该情况下,精细遍几乎完成但是不是完全并且其引起的任何错误都可由ECC校正。因此数据有效,但以消耗更多ECC位为成本。在优选实施例中,可以通过使用读取分界点的更严格的设置(更小的阈值)和/或监视即使可由ECC校正、错误位的数量是否已经超过预定阈值来消除此不确定性。
图16B是图16A的对于编程步骤S10的继续。其例示了具有签名450的另一不确定性,其也可能意味着可能在精细遍之后的下一步骤中发生了写中断。如步骤S10中所示,如果在下一较低遍的开始附近已经发生了写中断,则出现相同的签名450。这意味着S10已经前进了一点较低遍编程。但是,这无关紧要,因为如果S9被识别为是最后的编程步骤,则下一重新开始将在S10恢复,并将继续完成未完成的较低遍编程。
基本编程序列的一个实施例将具有终止于精细遍的编程序列。如上所述,这确保在随后的编程段中,可以识别正确的编程步骤以便从其重新开始。如上所述,可以通过签名相对于被编程和被擦除之间的边界的位置来识别具有良好数据的第一字线。例如,在此情况下,发现第一良好D3时WL1,并且根据图15的表格,可以确定最后的编程步骤是S9。因此,在下一编程片段中,可以通过从S10开始来恢复对该块的编程。
基本写序列的另一优选实施例将终止于第一遍。如果存储器支持从正常读取的分界310的替换分界310’(见图9)用于读取就在较低遍之后的较低页数据,则这是实用的。
图17A和17B也列出在编程步骤S7-S10的各个接合处的写异常的影响。这是在实现3遍模糊-精细编程和非依次字线顺序特征时。与图16A和16B的不同之处是,存储器支持从正常读取的替换分界310’,由此,允许在较低遍之后立即读取较低页数据。
分析类似于对图16A和16B的分析。在此情况下,从被擦除字线往回扫描,作为被擦除、良好LP、良好LP、UECC、良好D3的对于一组字线的ECC签名或样式460可以用于识别较低遍的完成。“良好LP”表示较低页数据有效。具体地,签名460特征在于在擦除字线之后的两条字线得到有效的较低页数据。该签名460仅在较低遍已经完成之后或者就在完成之前或之后存在编程中断时。这可以在图17A中的S7、在“完成”下的较低遍以及S8、“在开始附近中断”以及图17B中的S10、较低遍、“在结尾附近中断”中看出。
换句话说,检测到签名460意味着在三个可能的结合处的任意一个处可能已经发生写中断。但是,实际上,终端可以被认为就在较低遍的完成时,因为其他两种不确定性具有很小的实际后果。
这是因为,对于就在较低遍的完成之前的接合处,较低页数据(LP)接近于完全被编程。可能得到的任何错误都可以由ECC校正。因此,LP数据有效,但是以消耗稍微更多的ECC位为代价。在优选实施例中,可以通过使用读取分界点的更严格的设置(更小的阈值)和/或监视即使可由ECC校正、错误位的数量是否已经超过预定阈值来消除此不确定性。
对于就在较低遍的完成之后的接合处,已经有一点进入到模糊遍的开始。如果编程步骤稍后在较低遍之后重新开始,则下一模糊遍中的数据将具有完成被编程的另一机会。
在上一片断中停止编程之后,在下一片段中识别在上一片断中最后进行的编程步骤,并且通过从该识别的最后编程步骤继续来重新开始该编程。
图18是例示本发明的基本编程序列的流程图。
步骤500:提供具有被组织成块的存储器单元的阵列的非易失性存储器,其中每个块的存储器单元可一起擦除并且可由多条字线访问,字线的一部分每个具有通过多种类型的编程遍的集合可用多位数据编程的一页单元。
步骤510:通过逐步编程到块中的一组字线而将数据编程到该块中。
步骤520:将编程分割为多个编程片段,每个片段具有终止于具有在该集合之间的指定类型的编程遍的最后编程步骤,以便在下一片段中可识别该最后编程步骤。
根据本发明的另一方面,通过以下识别在编程最后停止之前进行的最后编程步骤:(1)查找块中的被编程和被擦除字线之间的边界;(2)对于具有预定ECC签名的一组字线,从该边界朝向被编程字线往回扫描,以识别在对其进行基本写入之后该最后编程步骤停止在的字线。依靠识别的字线和基本写序列的指定的结尾遍,可以识别最后编程步骤用于基于其重新开始。
图19是例示从先前编程片段发现最后编程步骤的流程图。
步骤600:提供具有被组织成块的存储器单元的阵列的非易失性存储器,其中每个块的存储器单元可一起被擦除并且可由多条字线访问,字线的一部分每个具有通过多种类型的编程遍的集合可用多位数据编程的一页单元。
步骤602:通过一系列分离开的编程片段将数据编程到块中。
步骤610:对在每遍编程期间编程的数据位提供通过ECC的错误校正。
步骤620:识别当前编程片段中的块中的被编程和被擦除字线之间的边界。优选通过二进制搜索来查找该边界。优选读取较高页,因为其具有就在被擦除状态以上的较低阈值330(见图9)。
步骤630:从该边界起在一组被编程字线中检测指示结束的上一编程片段中的最后编程遍是否是指定类型的编程遍以及该最后编程遍对哪一字线起作用的预定ECC签名。要扫描的每条字线将被检测为“UECC”或者具有良好数据。优选通过读取中间页来进行初始检测(理论上,较高页将是最佳的,但是如下所述,当读取仅具有第一遍的字线上的较高页时,存在CECC的可能性)。
在对于D3的例子中,当基本写序列终止于精细遍时,如图16A和图16B所示,检测仅需在两个ECC签名440和450之间区分。差别是,ECC签名440(写中断)具有展现出“UECC”的来自被擦除的第三字线,而ECC签名450(终止于精细遍的完整基本写入)具有对所有三个逻辑页展现出良好数据“良好D3”的第三字线。因此,在此情况下的迅速检测很容易查找在边界处的被擦除字线,从该处来到第三被编程字线并且读取并检查以查看其ECC是“UECC”(写中断)还是“良好D3”(完整的基本写入)。
优选通过在读取阈值的更严格的集合下进行读取来进行“良好D3”的检测。在读取之前,利用ECC检查数据。检查所有三个(较低、中间和较高)页。
步骤640:基于指定遍类型和受该遍的作用的字线来识别上一编程片段中的最后编程步骤。
为了例示和描述的目的已经给出了本发明的以上详细描述。不意图详尽或者将本发明限制到所公开的精确形式。考虑到以上教导,许多修改和变更是可能的。选择描述的实施例以便最佳得说明本发明的原理及其实际应用,由此使得本领域技术人员能够在各个实施例中并利用适合于预期的具体使用的各种修改最佳地利用本发明。意图本发明的范围由附于此的权利要求定义。
Claims (20)
1.一种在非易失性存储器中将数据编程到块中的方法,该非易失性存储器具有被组织成块的存储器单元的阵列,其中每个块的存储器单元可一起被擦除并可由多条字线访问,字线的一部分每个具有通过多种类型的编程遍的集合可用多位数据编程的一页单元,该方法包括:
通过逐步对块中的一组字线编程将数据编程到该块中;以及
将该编程分割为多个编程片段,每个片段具有终止于具有在该集合之中的指定类型的编程遍的终止编程步骤的编程步骤,以便可在下一片段中发现该终止编程步骤。
2.如权利要求1的方法,其中在该编程遍的集合中存在三遍。
3.如权利要求1的方法,其中所述编程具有根据预定的非依次顺序在该组之中的不同字线处的并且操作与前一步骤不同的编程遍的每个步骤。
4.如权利要求1的方法,其中所述编程是内部存储器操作的部分。
5.如权利要求1的方法,其中:
该存储器在来自主机的命令之下操作;以及
每个编程片段可在执行主机命令时的空闲时段内执行。
6.一种在非易失性存储器中识别上一编程片段中的最后编程步骤的方法,该非易失性存储器具有被组织成块的存储器单元的阵列,其中每个块的存储器单元可一起被擦除并可由多条字线访问,字线的一部分每个具有通过多种类型的编程遍的集合可用多位数据编程的一页单元,对块的编程操作被分割为一系列分离的编程片段,包括:
提供对于被编程到字线上的每组存储器单元的数据的错误检验;
识别当前编程片段中的块中的被编程和被擦除字线之间的边界;
从该边界起在一组被编程字线中检测指示上一编程片段中的最后编程遍是指定类型的编程遍以及该编程遍对哪条字线起作用的预定ECC签名;以及
基于该指定的编程遍和受该最后编程遍的作用的字线来识别上一编程片段中的最后编程步骤。
7.如权利要求6的方法,其中:
所述识别块中的被编程和被擦除字线之间的边界包括二进制搜索该块。
8.如权利要求6的方法,其中:
编程操作包括根据预定的非依次顺序对块中的字线操作的一系列编程步骤。
9.如权利要求6的方法,其中:
每个字线可用三个每单元1位的数据页编程。
10.如权利要求-9的任意一项的方法,其中该非易失性存储器是快闪存储器。
11.一种非易失性存储器,包括:
被组织成块的存储器单元的阵列,其中每个块的存储器单元可一起被擦除并且可由多条字线访问;
字线的一部分每个具有通过多种类型的编程遍的集合可用多位数据编程的一页单元;
控制器,用于操作编程操作,所述编程操作还包括:
通过逐步编程到块中的一组字线将数据编程到该块中;以及
将该编程分割为多个编程片段,每个片段具有终止于具有在该集合之中的指定类型的编程遍的终止编程步骤的编程步骤,以便可在下一片段中发现该终止编程步骤。
12.如权利要求11的非易失性存储器,其中在该编程遍的集合中存在三遍。
13.如权利要求11的非易失性存储器,其中所述编程具有根据预定的非依次顺序在该组之中的不同字线处的并且操作与前一步骤不同的编程遍的每个步骤。
14.如权利要求11的非易失性存储器,其中所述编程时内部存储器操作的部分。
15.如权利要求11的非易失性存储器,其中:
该存储器在来自主机的命令之下操作;以及
每个编程片段可在执行主机命令时的空闲时段内执行。
16.一种非易失性存储器,包括:
被组织成块的存储器单元的阵列,其中每个块的存储器单元可一起被擦除并且可由多条字线访问;
字线的一部分每个具有通过多种类型的编程遍的集合可用多位数据编程的一页单元;
控制器,用于:
控制对块的编程操作,该编程操作被分割为一系列分离的编程片段;
提供对于被编程到字线上的每组存储器单元的数据的错误检验;
识别当前编程片段中的块中的被编程和被擦除字线之间的边界;
从该边界起在一组被编程字线中检测指示上一编程片段中的最后编程遍是指定类型的编程遍以及该编程遍对哪条字线起作用的预定ECC签名;以及
基于该指定的编程遍和受该最后编程遍的作用的字线来识别上一编程片段中的最后编程步骤。
17.如权利要求16的非易失性存储器,其中:
所述识别块中的被编程和被擦除字线之间的边界包括二进制搜索该块。
18.如权利要求16的非易失性存储器,其中:
编程操作包括根据预定的非依次顺序对块中的字线操作的一系列编程步骤。
19.如权利要求16的非易失性存储器,其中:
每个字线可用三个每单元1位的数据页编程。
20.如权利要求11-19的任意一项的非易失性存储器,其中该非易失性存储器是快闪存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/642,740 | 2009-12-18 | ||
US12/642,740 US8054684B2 (en) | 2009-12-18 | 2009-12-18 | Non-volatile memory and method with atomic program sequence and write abort detection |
PCT/US2010/060778 WO2011075576A1 (en) | 2009-12-18 | 2010-12-16 | Non-volatile memory and method with atomic program sequence and write abort detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102918599A true CN102918599A (zh) | 2013-02-06 |
CN102918599B CN102918599B (zh) | 2016-05-25 |
Family
ID=43638628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080064313.3A Active CN102918599B (zh) | 2009-12-18 | 2010-12-16 | 具有基本程序序列和写中止检测的非易失性存储器和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8054684B2 (zh) |
EP (1) | EP2513905B1 (zh) |
JP (1) | JP2013514602A (zh) |
KR (1) | KR20120120214A (zh) |
CN (1) | CN102918599B (zh) |
TW (1) | TW201140595A (zh) |
WO (1) | WO2011075576A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105308575A (zh) * | 2013-08-06 | 2016-02-03 | 桑迪士克科技股份有限公司 | 用于错误校正码(ecc)错误处理的方法和装置 |
CN105659329A (zh) * | 2013-10-24 | 2016-06-08 | 西部数据技术公司 | 用于固态存储器中经改善电压分布的编程方案 |
CN106920572A (zh) * | 2015-12-25 | 2017-07-04 | 群联电子股份有限公司 | 内存管理方法、内存控制电路单元及内存储存装置 |
CN107918523A (zh) * | 2016-10-11 | 2018-04-17 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
CN113393884A (zh) * | 2020-03-13 | 2021-09-14 | 西部数据技术公司 | 组合qlc编程方法 |
WO2021232233A1 (en) * | 2020-05-19 | 2021-11-25 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of program suspending and resuming for memory |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100139010A (ko) * | 2008-03-11 | 2010-12-31 | 에이저 시스템즈 인크 | 멀티-레벨 셀 플래쉬 메모리 디바이스 내에 데이터를 저장하는 방법 및 멀티-레벨 셀 플래쉬 메모리 디바이스 |
US20110002169A1 (en) | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
US8423866B2 (en) * | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8634240B2 (en) * | 2009-10-28 | 2014-01-21 | SanDisk Technologies, Inc. | Non-volatile memory and method with accelerated post-write read to manage errors |
US8355280B2 (en) | 2010-03-09 | 2013-01-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
US8799747B2 (en) * | 2010-06-03 | 2014-08-05 | Seagate Technology Llc | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory |
US8949686B1 (en) * | 2011-02-13 | 2015-02-03 | Apple Inc. | Protection against word line failure in memory devices |
KR101785007B1 (ko) | 2011-06-14 | 2017-11-07 | 삼성전자주식회사 | 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온-칩 버퍼 프로그램 방법 |
US20130268726A1 (en) * | 2011-07-01 | 2013-10-10 | Xin Guo | Dual Mode Write Non-Volatile Memory System |
US8432740B2 (en) | 2011-07-21 | 2013-04-30 | Sandisk Technologies Inc. | Program algorithm with staircase waveform decomposed into multiple passes |
US8775901B2 (en) | 2011-07-28 | 2014-07-08 | SanDisk Technologies, Inc. | Data recovery for defective word lines during programming of non-volatile memory arrays |
US8750042B2 (en) | 2011-07-28 | 2014-06-10 | Sandisk Technologies Inc. | Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures |
US8726104B2 (en) * | 2011-07-28 | 2014-05-13 | Sandisk Technologies Inc. | Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages |
JP2013069392A (ja) * | 2011-09-26 | 2013-04-18 | Toshiba Corp | 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のデータ書き込み方法 |
GB2495959A (en) * | 2011-10-26 | 2013-05-01 | Imagination Tech Ltd | Multi-threaded memory access processor |
KR101893145B1 (ko) * | 2011-12-06 | 2018-10-05 | 삼성전자주식회사 | 메모리 시스템들 및 그것들의 블록 복사 방법들 |
US8566671B1 (en) | 2012-06-29 | 2013-10-22 | Sandisk Technologies Inc. | Configurable accelerated post-write read to manage errors |
US8750045B2 (en) | 2012-07-27 | 2014-06-10 | Sandisk Technologies Inc. | Experience count dependent program algorithm for flash memory |
US9810723B2 (en) | 2012-09-27 | 2017-11-07 | Sandisk Technologies Llc | Charge pump based over-sampling ADC for current detection |
US9164526B2 (en) | 2012-09-27 | 2015-10-20 | Sandisk Technologies Inc. | Sigma delta over-sampling charge pump analog-to-digital converter |
US9230656B2 (en) | 2013-06-26 | 2016-01-05 | Sandisk Technologies Inc. | System for maintaining back gate threshold voltage in three dimensional NAND memory |
US9195406B2 (en) * | 2013-06-28 | 2015-11-24 | Micron Technology, Inc. | Operation management in a memory device |
US9240238B2 (en) | 2013-09-20 | 2016-01-19 | Sandisk Technologies Inc. | Back gate operation with elevated threshold voltage |
US9213601B2 (en) | 2013-12-03 | 2015-12-15 | Sandisk Technologies Inc. | Adaptive data re-compaction after post-write read verification operations |
JP6262063B2 (ja) | 2014-03-18 | 2018-01-17 | 東芝メモリ株式会社 | 不揮発性メモリおよび書き込み方法 |
US9230664B2 (en) | 2014-06-06 | 2016-01-05 | Kabushiki Kaisha Toshiba | Nonvolatile memory and data writing method |
US9934872B2 (en) | 2014-10-30 | 2018-04-03 | Sandisk Technologies Llc | Erase stress and delta erase loop count methods for various fail modes in non-volatile memory |
US9224502B1 (en) | 2015-01-14 | 2015-12-29 | Sandisk Technologies Inc. | Techniques for detection and treating memory hole to local interconnect marginality defects |
US9460780B2 (en) | 2015-01-20 | 2016-10-04 | Sandisk Technologies Llc | Initialization techniques for multi-level memory cells using multi-pass programming |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
CN107615388A (zh) | 2015-03-20 | 2018-01-19 | 波利伍德有限责任公司 | 存储控制器中的可配置多级纠错 |
WO2016154078A1 (en) * | 2015-03-26 | 2016-09-29 | Burlywood, LLC | A medium defect management method for storage systems requiring an integrated controller |
US9269446B1 (en) | 2015-04-08 | 2016-02-23 | Sandisk Technologies Inc. | Methods to improve programming of slow cells |
US9564219B2 (en) | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
US9653154B2 (en) * | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US9698676B1 (en) | 2016-03-11 | 2017-07-04 | Sandisk Technologies Llc | Charge pump based over-sampling with uniform step size for current detection |
JP2018005959A (ja) | 2016-06-30 | 2018-01-11 | 東芝メモリ株式会社 | メモリシステムおよび書き込み方法 |
KR102624606B1 (ko) * | 2016-07-04 | 2024-01-15 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US9691485B1 (en) * | 2016-07-11 | 2017-06-27 | Sandisk Technologies Llc | Storage system and method for marginal write-abort detection using a memory parameter change |
JP6856400B2 (ja) | 2017-02-20 | 2021-04-07 | キオクシア株式会社 | 半導体記憶装置及びメモリシステム |
KR102336662B1 (ko) | 2017-10-12 | 2021-12-07 | 삼성전자 주식회사 | 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법 |
US11158381B2 (en) | 2017-10-12 | 2021-10-26 | Samsung Electronics Co., Ltd. | Non-volatile memory device and operating method thereof |
KR102420161B1 (ko) * | 2017-12-01 | 2022-07-12 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것의 제어 방법 |
JP6967959B2 (ja) * | 2017-12-08 | 2021-11-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2019139824A (ja) | 2018-02-09 | 2019-08-22 | 東芝メモリ株式会社 | メモリシステム |
US11036582B2 (en) * | 2019-09-27 | 2021-06-15 | Western Digital Technologies, Inc. | Uncorrectable error correction code (UECC) recovery time improvement |
US11663068B2 (en) * | 2020-06-29 | 2023-05-30 | Western Digital Technologies, Inc. | Write abort error detection in multi-pass programming |
US11437104B2 (en) | 2020-09-08 | 2022-09-06 | Western Digital Technologies, Inc. | Storage system and method for a hybrid quad-level cell (QLC) write scheme for reduced random access memory (RAM) footprint |
US11550657B1 (en) * | 2021-09-01 | 2023-01-10 | Apple Inc. | Efficient programming schemes in a nonvolatile memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047223A1 (en) * | 2001-06-27 | 2005-03-03 | Jian Chen | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
CN1902712A (zh) * | 2003-12-31 | 2007-01-24 | 桑迪士克股份有限公司 | 具有写入/擦除中止检测机制的快闪存储系统 |
US20070162707A1 (en) * | 2003-12-03 | 2007-07-12 | Matsushita Electric Industrial Co., Ltd. | Information recording medium data processing apparatus and data recording method |
CN101527169A (zh) * | 2008-03-03 | 2009-09-09 | 群联电子股份有限公司 | 闪存数据写入方法及其控制器 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095344A (en) * | 1988-06-08 | 1992-03-10 | Eliyahou Harari | Highly compact eprom and flash eeprom devices |
US5070032A (en) * | 1989-03-15 | 1991-12-03 | Sundisk Corporation | Method of making dense flash eeprom semiconductor memory structures |
US5343063A (en) * | 1990-12-18 | 1994-08-30 | Sundisk Corporation | Dense vertical programmable read only memory cell structure and processes for making them |
US5313421A (en) * | 1992-01-14 | 1994-05-17 | Sundisk Corporation | EEPROM with split gate source side injection |
US6222762B1 (en) * | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
US5315541A (en) * | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
KR0169267B1 (ko) * | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
US5661053A (en) * | 1994-05-25 | 1997-08-26 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers |
US5903495A (en) * | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5768192A (en) * | 1996-07-23 | 1998-06-16 | Saifun Semiconductors, Ltd. | Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping |
KR100237019B1 (ko) * | 1996-12-28 | 2000-03-02 | 김영환 | 플래쉬 메모리셀의 프리-프로그램 방법 |
KR100272037B1 (ko) | 1997-02-27 | 2000-12-01 | 니시무로 타이죠 | 불휘발성 반도체 기억 장치 |
US6768165B1 (en) * | 1997-08-01 | 2004-07-27 | Saifun Semiconductors Ltd. | Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping |
WO2001056221A2 (en) * | 2000-01-31 | 2001-08-02 | Vdg Inc. | Block encryption method and schemes for data confidentiality and integrity protection |
CN1255733C (zh) * | 2001-07-25 | 2006-05-10 | 索尼株式会社 | 非易失性存储器和非易失性存储器的数据改写方法 |
US6781877B2 (en) * | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US6657891B1 (en) * | 2002-11-29 | 2003-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device for storing multivalued data |
US6988175B2 (en) * | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7856538B2 (en) * | 2005-12-12 | 2010-12-21 | Systex, Inc. | Methods, systems and computer readable medium for detecting memory overflow conditions |
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8423866B2 (en) | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US20110153912A1 (en) | 2009-12-18 | 2011-06-23 | Sergey Anatolievich Gorobets | Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory |
-
2009
- 2009-12-18 US US12/642,740 patent/US8054684B2/en not_active Expired - Fee Related
-
2010
- 2010-12-16 EP EP10796565.9A patent/EP2513905B1/en not_active Not-in-force
- 2010-12-16 KR KR1020127018019A patent/KR20120120214A/ko not_active Application Discontinuation
- 2010-12-16 CN CN201080064313.3A patent/CN102918599B/zh active Active
- 2010-12-16 WO PCT/US2010/060778 patent/WO2011075576A1/en active Application Filing
- 2010-12-16 JP JP2012544829A patent/JP2013514602A/ja not_active Withdrawn
- 2010-12-17 TW TW099144569A patent/TW201140595A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047223A1 (en) * | 2001-06-27 | 2005-03-03 | Jian Chen | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US20070162707A1 (en) * | 2003-12-03 | 2007-07-12 | Matsushita Electric Industrial Co., Ltd. | Information recording medium data processing apparatus and data recording method |
CN1902712A (zh) * | 2003-12-31 | 2007-01-24 | 桑迪士克股份有限公司 | 具有写入/擦除中止检测机制的快闪存储系统 |
CN101527169A (zh) * | 2008-03-03 | 2009-09-09 | 群联电子股份有限公司 | 闪存数据写入方法及其控制器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105308575A (zh) * | 2013-08-06 | 2016-02-03 | 桑迪士克科技股份有限公司 | 用于错误校正码(ecc)错误处理的方法和装置 |
CN105659329A (zh) * | 2013-10-24 | 2016-06-08 | 西部数据技术公司 | 用于固态存储器中经改善电压分布的编程方案 |
CN105659329B (zh) * | 2013-10-24 | 2018-04-24 | 西部数据技术公司 | 用于固态存储器中经改善电压分布的编程方案 |
CN106920572A (zh) * | 2015-12-25 | 2017-07-04 | 群联电子股份有限公司 | 内存管理方法、内存控制电路单元及内存储存装置 |
CN106920572B (zh) * | 2015-12-25 | 2020-03-17 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器储存装置 |
CN107918523A (zh) * | 2016-10-11 | 2018-04-17 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
CN107918523B (zh) * | 2016-10-11 | 2020-04-21 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
CN113393884A (zh) * | 2020-03-13 | 2021-09-14 | 西部数据技术公司 | 组合qlc编程方法 |
WO2021232233A1 (en) * | 2020-05-19 | 2021-11-25 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of program suspending and resuming for memory |
Also Published As
Publication number | Publication date |
---|---|
TW201140595A (en) | 2011-11-16 |
EP2513905B1 (en) | 2015-07-08 |
US8054684B2 (en) | 2011-11-08 |
JP2013514602A (ja) | 2013-04-25 |
EP2513905A1 (en) | 2012-10-24 |
WO2011075576A1 (en) | 2011-06-23 |
CN102918599B (zh) | 2016-05-25 |
KR20120120214A (ko) | 2012-11-01 |
US20110149651A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102918599B (zh) | 具有基本程序序列和写中止检测的非易失性存储器和方法 | |
US11150808B2 (en) | Flash memory system | |
CN102667945B (zh) | 通过写入后读取和适应性重写来管理错误的非易失性存储器和方法 | |
CN102667944B (zh) | 通过写入后读取和适应性重写来管理错误的非易失性存储器和方法 | |
US9582191B2 (en) | Memory block quality identification in a memory | |
CN102667943B (zh) | 通过加速的写入后读取来管理错误的非易失性存储器和方法 | |
USRE46995E1 (en) | Programming non-volatile storage using binary and multi-state programming processes | |
EP1700312B1 (en) | Flash storage system with write/erase abort detection mechanism | |
CN101548332B (zh) | 非易失性存储器和用于高速缓存页复制的方法 | |
US20130083606A1 (en) | Lifetime markers for memory devices | |
KR20120052216A (ko) | 위성 파일 시스템을 구비한 멀티-뱅크 비휘발성 메모리 시스템 | |
CN113010459A (zh) | 存储器系统、存储器控制器以及操作存储器系统的方法 | |
US11630726B2 (en) | Memory system and operating method thereof | |
US9047974B2 (en) | Erased state reading | |
US11544003B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11307807B2 (en) | Memory system, memory controller, and method for operating memory system for determining read biases for read retry operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: texas Patentee after: DELPHI INT OPERATIONS LUX SRL Address before: texas Patentee before: Sandisk Corp. |