CN103946805A - 用于动态读取的清除技术 - Google Patents

用于动态读取的清除技术 Download PDF

Info

Publication number
CN103946805A
CN103946805A CN201280057162.8A CN201280057162A CN103946805A CN 103946805 A CN103946805 A CN 103946805A CN 201280057162 A CN201280057162 A CN 201280057162A CN 103946805 A CN103946805 A CN 103946805A
Authority
CN
China
Prior art keywords
data
situation
read
reads
piece
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
Application number
CN201280057162.8A
Other languages
English (en)
Inventor
C.N.Y.阿维拉
J.黄
D.李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN103946805A publication Critical patent/CN103946805A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells

Abstract

对于使用动态读取的存储器系统,当存储器系统正进行在扫描需要被清除的存储器块时的读取而不是主机读取时,禁用动态读取。当进行主动的主机读取时,如果可校正的错误量超过阈值,则该块被标记用于稍后重新检查,在那时动态读取被禁用。在其他实施例中,刷新还是淘汰存储器块的决定是基于所使用的动态读取值的集合。在使用动态读取值的表的存储器系统中,该表被配置为除了用于不同动态读取情况的读取参数之外还包括如何处置读取错误(淘汰,刷新)。细化地,读取情况编号可以用于对被选择用于刷新或淘汰的块排定优先级。在要使得读取清除更精确的情况下,可以应用多个动态读取情况。此外,可以智能地选择应用哪些情况。

Description

用于动态读取的清除技术
技术领域
本申请大体涉及非易失性闪存系统的操作,更具体地,涉及刷新(refresh)和校正其中、特别是具有大的存储器单元块的存储器系统中存储的数据。
背景技术
存在现今正使用的特别是小型规模卡形式的许多商业上成功的非易失性存储器,它们采用在一个或多个集成电路芯片上形成的快闪EEPROM(电可擦除可编程只读存储器)的阵列。通常但是不是必须在单独的集成电路芯片上的存储器控制器与该卡可移除地连接到的主机相接口并且控制该卡内的存储器阵列的操作。这样的控制器通常包括微处理器、一些非易失性只读存储器(ROM)、易失性随机存取存储器(RAM)和诸如在数据的编程和读取期间在数据经过控制器时从该数据计算错误校正码(ECC)的电力的一个或多个专用电路。一些商业上可获得的的卡是CompactFlashTM(CF)卡、多媒体卡(MMC)、安全数字(SD)卡、智能媒体卡、人员标签(personnel tag,P-Tag)和记忆棒卡。主机包括个人计算机、笔记本计算机、个人数字助理(PDA)、各种数据通信设备、数字相机、蜂窝电话、便携式音频播放器、车载音响系统以及类似类型的设备。除了存储卡实现方式之外,可替换地,此类型的存储器可以嵌入到各种类型的主机系统中。
两种常用的存储器单元阵列架构已经发现了商业应用,NOR和NAND。在通常的NOR阵列中,存储器单元连接在相邻位线源和在列方向延伸的漏极扩散之间,控制栅极连接到沿着单元的行延伸的字线。存储器单元包括至少一个位于源极和漏极区域之间的单元的至少一部分上的存储组件。存储组件上的电荷的被编程水平因此控制单元的操作特性,然后可以通过向被寻址的存储器单元施加适当的电压来读取单元。这样的单元、其在存储器系统中的使用以及其制造方法的例子在美国专利申请第5,070,032、5,095,344、5,315,541、5,343,063和5,661,053、5,313,421和6,222,762号中给出。
NAND阵列利用与在各个位线和参考电势之间的一个或多个选择向晶体管连接的多于两个的、比如16个或32个存储器单元的系列串以形成单元的列。字线跨过大量的这些列内的单元而延伸。在编程期间通过致使串中的其余单元硬导通(turn on hard)而使得流经串的电流依赖于被寻址的单元中存储的电荷水平而读取和验证列内的各个单元。在美国专利第5,570,315、5,774,397、6,046,935和6,522,580号中找到作为存储器系统的部分的NAND架构阵列及其操作的例子。
如在以上参考的专利中讨论的,当前的快闪EEPROM阵列的电荷存储组件最常见是通常由导电掺杂的多晶硅材料形成的导电的浮置栅极。在快闪EEPROM系统中有用的可替换类型的存储器单元利用不导电的介电材料来代替导电浮置栅极以按非易失性的方式存储电荷。由氧化硅、氮化硅和氧化硅(ONO)形成的三层电介质夹在导电控制栅极与存储器单元信道上方的半导电基板的表面之间。通过将电子自单元信道注入至氮化物中而编程该单元,由此电子被俘获并存储在有限的区域中,且通过将热电子注入至氮化物中而擦除单位。第2003/0109093号美国公开专利申请中描述了采用介电存储组件的若干特定单元结构和阵列。
如在大多数集成电路应用中那样,关于快闪EEPROM存储器单元阵列,也存在缩小实施某一集成电路功能所需的硅基板面积的压力。不断期望增加可存储在硅基板的给定面积中的数字数据量以便增加给定大小存储器卡和其它类型的封装的存储容量,或者既增加容量也减小大小。增加数据的存储密度的一种方式是每存储器单元和/或每存储单位或组件存储多于一位数据。这通过将存储组件电荷电平电压范围的窗划分成多于两个状态来达成。使用四个这样的状态允许每一单元存储两个数据位,使用八个状态允许每存储组件存储三个数据位,等等。第5,043,940和5,172,338号美国专利中描述了使用浮置栅极的多状态快闪EEPROM结构及其操作,且前述第10/280,352号美国申请中描述了使用介电浮置栅极的结构。出于各种原因,多状态存储器单元阵列的所选部分也可以按第5,930,167和6,456,528号美国专利中描述的方式按两种状态(二进制)来操作。
将典型的快闪EEPROM阵列的存储器单元划分成一起被擦除的离散单元块。也即,块是擦除单位,即可同时擦除的最小数目的单元。每块通常存储一个或多个数据页,该页是最小编程和读取单元,尽管可以在不同的子阵列或平面中并行编程或读取多于一页。每页通常存储一个或多个数据扇区,扇区的大小由主机系统限定。示例的扇区包括512个字节的用户数据——遵循关于磁盘驱动器建立的标准——加上关于用户数据和/或用户数据被存储在的块的开销(overhead)信息的某个数目的字节。这样的存储器通常每块内配置有16个、32个或更多个页,且每页存储一个或仅几个主机扇区的数据。
为了增加在将用户数据编程至存储器阵列中和从该阵列读取用户数据期间的并行程度,通常将阵列划分成子阵列,其通常称为平面,该子阵列包含其自身的数据寄存器和其它电路以允许并行操作,使得可同时将数据扇区编程至数个或所有平面中的每一个,或者自数个或所有平面中的每一个读取数据扇区。可以将单个集成电路上的阵列物理地划分成平面,或每一平面可以由单独一个或多个集成电路芯片形成。第5,798,968和5,890,192号美国专利中描述了这样的存储器实施方式的实例。
为进一步高效管理存储器,可以将物理块逻辑链接在一起以形成虚拟块或元块。即,将每一元块定义为包括来自每一平面的一个块。在WO02/058074号国际专利申请公开中描述了元块的使用。元块由主机逻辑块地址识别为用于编程和读取数据的目的地。类似地,元块的所有块一起被擦除。与这样的大块和/或元块一起操作的存储器系统中的控制器执行若干功能,包括在自主机接收的逻辑块地址(LBA)与存储器单元阵列内的物理块编号(PBN)之间的转译(translation)。通常通过在块地址内的偏移来识别块内的各个页。地址转译通常涉使用逻辑块编号(LBN)和逻辑页的中间项。
存储在元块中的数据经常被更新,更新的可能性随元块的数据容量而增加。一个逻辑元块的被更新的扇区通常被写入至另一物理元块。作为同一编程操作的部分,还通常将未改变的扇区自原始物理元块复制到新物理元块以整合(consolidate)该数据。可替换地,未改变的数据可以保留在原始元块中直到稍后与更新的数据整合至单个元块中为止。
通常用维持在被擦除的块池中的某些额外块来操作大块或元块系统。当正更新少于一块的容量的一个或多个数据页时,通常将更新的页写入至来自该池的擦除块,然后将未改变的页的数据自原始块复制到擦除池块。前述公开的第WO02/058074号国际申请中描述了此技术的变化。随时间推移,由于重新写入和更新主机数据文件,许多块可以相对小数目的其包包含效数据的页和包含不再是当前数据的数据的其余页而结束。为了能够高效地使用阵列的数据存储容量,不时地将有效数据的逻辑相关的数据页从多个块当中的片段集聚在一起并一起整合至较少数目的块中。此过程通常称作“垃圾收集”。
各个快闪EEPROM单元将表示一个或多个数据位的电荷量存储在电荷存储组件或单位中。存储组件的电荷电平控制其存储器单元的阈值电压(通常指代为VT),该阈值电压用作读取单元的存储状态的基础。通常将阈值电压窗划分成若干范围,对于存储器单元的两个或多个存储状态的每个状态一个范围。这些范围由防护带(guardband)分离,防护带包括允许确定各个单元的存储状态的标定感测电平。这些存储电平由于在邻近或其它相关存储器单元、页或块中进行的电荷干扰编程、读取或擦除操作而偏移。例如,将与第二组存储器单元共享一线或电路的一组存储器单元编程可能干扰该第二组的电荷电平。此寄生干扰的最终结果是,如果不对存储系统控制器的部分采取校正动作,则可损坏未在操作的所曝露区域中的数据,且在极端情形中,超出连同该数据一起存储的任何错误校正码(ECC)的校正能力。则这样的数据损坏将对用户造成数据损失,因此使得存储系统不可靠。特定存储器单元阵列中的这种干扰的广度和本质取决于其特定架构、结构和操作。
因此,在干扰操作致使电荷电平完全偏移出其定义的范围之外则在此情况下读取错误数据之前,不时地将偏移的电荷电平恢复至其状态范围的中心是有益的。在第5,532,962和5,909,449号美国专利中描述了此过程,称为数据刷新或清除(scrub)。作为其进一步的方面,在使用错误校正码(ECC)的存储器系统中,可以通过使用ECC来校正从该存储器读取的某一数目的错误数据位,然后将校正的数据重新写入至该存储器的先前擦除的部分。重新写入数据致使被写入的存储器单元阈值电平中的每个处于其指定状态范围内,因为数据编程通常涉交替地调整存储的电荷并读取-验证所得的存储器单元阈值电平直到其达到表示存储在该单元中的数据的所期望范围为止。
发明内容
呈现了操作非易失性存储器系统的方法。该存储器维持对于默认读取情况和多个不同的移位的读取情况的一组读取参数。对于存储器的一个或多个块的每个物理分区,该存储器还维持物理单位和在读取该物理单位时使用的读取情况之间的对应性。该存储器使用对于页所属于的物理单位的对应读取情况来进行对该页数据的读取操作,确定读取操作是成功了还是产生了失败结果,并响应于读取操作产生了失败结果,选择能够读取该页的移位的读取情况。基于所选的移位的读取情况,该存储器确定是否刷新该页所属于的块。
取决于具体应用,上述特征可以单独实施或者以各种组合一起实施。本文的清除系统的另外的方面、优点和特征被包括在以下的对其的示例性例子的描述中,该描述应该结合附图来考虑。在此引用的所有专利、专利申请、文章和其他出版物在此为了所有目的以在此对其的全部引用而被合并于此。
附图说明
图1A和1B分别是一起操作的非易失性存储器和主机系统的框图;
图2例示图1A的存储器阵列的第一示例组织;
图3示出具有在图1A的存储器阵列中存储的开销数据的示例主机数据扇区;
图4例示图1A的存储器阵列的第二示例组织;
图5例示图1A的存储器阵列的第三示例组织;
图6示出图1A的存储器阵列的第三示例组织的扩展;
图7是具有一个特定配置的图1A的阵列的一组存储器单元的电路图;
图8是例示数据清洗操作中的主要步骤的流程图;
图9是清洗操作的更具体的例子的流程图;
图10示出编程的一组存储器单元的电压阈值水平的分布;以及
图11是例示使刷新决定基于动态读取情况的示例实施例的一些方面的流程图。
具体实施方式
存储器架构及其操作
首先参见图1A,闪存包括存储器单元阵列和控制器。在所示的例子中,两个集成电路器件(芯片)11和13包括存储器单元的阵列15和各种逻辑电路17。逻辑电路17通过数据、命令和状态电路与单独的芯片上的控制器19相接口,并且还将寻址、数据传送和感测和其它支持提供至阵列13。取决于所提供的存储容量,存储器阵列芯片的数目可以从一个到多个。可替换地,可以将控制器和部分或整个阵列组合到单个集成电路芯片上,但此当前这不是经济的替代方案。
典型的控制器19包括微处理器21;只读存储器(ROM)23,其主要用以存储固件;以及缓冲器存储器(RAM)25,其主要用于暂时存储被写入至存储器芯片11和13或从存储器芯片11和13读出的用户数据。电路27与存储器阵列芯片相接口,且电路29通过连接31与主机相接口。在此例子中,数据的完整性通过用专用于计算码的电路33来计算ECC而确定。当正将用户数据从主机传送至快闪存储器阵列以供存储时,该电路从该数据计算ECC并将码存储在该存储器中。当稍后从该存储器读取该用户数据时,用户数据再次通过电路33,电路33通过同一算法来计算ECC并比较该码与所计算的且与该数据一起存储的码。如果二者相当,则确认该数据的完整性。如果二者不同,则取决于所利用的具体ECC算法,可识别并校正高达由该算法所支持的数目的那些错误的位。
图1A的存储器的连接31与主机系统的连接31’配合,图1B中给出该主机系统的例子。数据通过接口电路35在主机与图1A的存储器之间进行传送。典型的主机还包括微处理器37、用于存储固件码的ROM39、以及RAM41。取决于特定主机系统,其它电路和子系统的通常包括大容量磁性数据存储盘驱动器、用于键盘的接口电路、监视器等等。这样的主机的某些例子包括桌面计算机、膝上型计算机、手持计算机、掌上计算机、个人数字助理(PDA)、MP3和其它音频播放器、数字相机、视频摄像机、电子游戏机、无线和有线电话装置、应答机、语音记录器、网络路由器和其它装置。
图1A的存储器可以实施为以可与图1B的主机以可移除方式连接的形式的包含控制器及所有其存储器阵列电路失败的小封闭式卡。也即,配合连接31和31’允许卡被断开且移动至另一主机,或通过将另一卡连接至该主机而被替换。可替换地,可以将存储器阵列设备封装在可与包含控制器和连接31的卡以电和机械方式连接的单独的卡中。作为进一步的替代方案,可以将图1A的存储器嵌入图1B的主机内,其中永久地制成连接31和31’。在此情况下,存储器通常连同其它组件一起被包含在该主机的外壳内。
此说明书中所使用的某些术语可受益于某些解释。“扇区”指代在主机读取和写入操作期间所存取的可独立寻址的数据单元。一个数据扇区的大小通常为512字节。
如本文中所使用的“存储器系统”由一个或多个非易失性存储器设备和将数据存储至该存储器和从该存储器取回数据所需的硬件和/或软件组成的系统。可以在完全专用于数据存储的子系统上或在主机系统自身上实施总体存储器系统功能性的变化部分。该存储器系统可以诸如以极小卡的形式嵌入主机系统中或可移除。可移除存储器系统的部分自身可以是可移除的,例如就像从控制器部分移除存储媒体一样。主机系统的特定专用于存储器系统中的数据存储的任意部分也被认为是存储器系统的一部分。除了驻留在主机系统上的任意硬件之外,这样的主机功能性还可以包括专门化软件库、驱动器或应用程序。
出于在本文中使用的目的,“主机系统”是如下的系统:其通常具有除数据存储之外的功能性,但其也连接至存储器系统或具有嵌入于其中的存储器系统。可以存在其唯一用途是数据存储的主机系统。
可以在具有各种具体配置的系统中实施用于刷新和清除存储在本文中所描述的闪存中的数据的各种技术,图2至图6中给出了这些系统的例子。图2图示其中存储器单元被分组为块的存储器阵列的一部分,每一块中的单元可作为单个擦除操作的部分一起擦除,通常同时擦除。物理块是最小擦除单位。
图2的各个存储器单元块的大小可以变化,但是商业上实践的形式在各个块中包括单个数据扇区。图3中图示此数据扇区的内容。用户数据51通常为512个字节。除了用户数据之外的是开销(overhead)数据,该开销数据包括从用户数据计算的ECC53、与扇区数据和/或其中编程了扇区的块相关的参数55和从参数55计算的ECC57以及可能包括的任何其它开销数据。参数55可以包括与块所经历的编程/擦除循环的数目相关的量(“热计数”),此量在每一循环或预设数目的循环之后被更新。该经历量的一个用途是规律地将逻辑块地址重新映射到不同的物理块地址,以便均匀所有块的使用(磨损均衡)。该经历量的另一用途是改变电压和编程、读取和/或擦除的其它参数作为不同扇区所经历的循环的数目的函数。下文描述经历量在识别要被清除的块的处理中的另外的使用。
参数55也可以包括分配给存储器单元的存储状态中的每个的位值的指示,通常称为其“旋转”。也即,将数据的逻辑状态映射至不同的物理存储状态。这在磨损均衡方面具有有益效果。还可以在参数55中包括指示状况或状态的一个或多个标志。将用于编程和/或擦除块的电压电平的指示也可以存储在参数55内,这些电压在该块所经历的循环的数目和其它因素改变时被更新。开销参数55的其它例子包括该块内的任何有缺陷单元的标识、映射至此物理块中的数据块的逻辑地址和以防主要块有缺陷的任何替代物理块的地址。在任何存储器系统中使用的参数55的特定组合将根据设计而变化。此外,也可以将某些或所有开销数据存储在专用于这样的功能的物理块中,而不是存储在包含用户数据的块或开销数据所涉及的块中。
图4的多扇区物理块不同于图2的单个数据扇块。示例的块59——其仍为最小擦除单位——包含四个页0至3,其每个是最小编程单位。一个或多个主机数据扇区通常连同至少包括从该扇区的数据计算的ECC的开销数据一起存储在每一页中,且可以按图3的数据扇区的形式。当更新少于所有页的数据时,通常将更新的数据存储在来自擦除块池的擦除块的一页中,并将其余未改变的页中的数据从原始块复制到新块中。然后,擦除该原始块。此大块管理技术的变型包括将更新的数据写入至另一块的一页中,而不从原始块移动数据或擦除数据。这得到具有相同逻辑地址的多个页。通过某些方便的技术来识别最新的数据页,比如记录为扇区或页开销数据中的字段的编程时间。
图5中图示进一步的多扇区物理块布置。此处,将总存储器单元阵列物理地划分成两个或多个平面,图示了四个平面0至3。每一平面是存储器单元的子阵列,其具有其自身的数据寄存器、感测放大器、寻址解码器等等,以便能够极大地独立于其它平面而操作。所有平面可以被提供在单个集成电路设备上或多个设备上,一个例子是从一个或多个不同的集成电路设备形成每一平面。图5的系统中的每一块包含16个页P0-P15,每页具有一个、两个或更多主机数据扇区和某些开销数据的容量。
图6中图示另一存储器单元布置。每一物理平面包含大量单元块。为了增加操作的并行程度,将不同平面内的块逻辑地链接以形成元块。一个这样的元块在图6中图示为由平面0的块3、平面1的块1、平面2的块1和平面3的块2形成。每一元块可逻辑寻址,且存储器控制器分配并追踪形成各个元块的块。主机系统优选与数据单位等于各个元块的容量的存储器系统相接口。图6的这样的逻辑数据块61例如通过逻辑块地址(LBA)来识别,该逻辑块地址由控制器映射为构成元块的块的物理块编号(PBN)。一起擦除元块的所有块,且优选同时编程和读取每一块的页。
存在许多不同的存储器阵列架构、配置和具体单元结构,可以采用其以实施上文关于图2至图6所述的存储器。图7中示出NAND类型的存储器阵列的一个块以便图示几种干扰机制。串联连接的存储器单元的大量列定向的串连接在电压VSS的共同源65与位线BL0-BLN中的一个之间,位线BL0-BLN又与电路67连接,电路67包含地址解码器、驱动器、读取感测放大器等等。具体地,这样的一串包含串联连接于该等串的相对端处的选择晶体管77和79之间的电荷存储晶体管70、71、72和74。在此例子中,每一串包含16个存储晶体管,但其它数目也是可能的。字线WL0-WL15延伸跨越每一串的一个存储晶体管,且连接至电路81,电路81包含这些字线的地址解码器和电压源驱动器。线83和84上的电压控制将块中的所有串通过其选择晶体管一起连接至电压源65和/或位线BL0-BLN。数据和地址来自存储器控制器。
块的电荷存储晶体管(存储器单元)的每一行形成一起编程和读取的一页。将适当的电压施加至这样的页的字线(WL)以用于编程或读取其数据,同时选择施加至其余字线的电压以使得其各自的存储晶体管导通。在编程或读取一行(页)存储晶体管的过程中,未选择的行上的先前所存储的电荷电平可能因为电压跨越所有串而施加且施加至其字线而受到干扰。
清除过程的各个方面
存在两个主要清除阶段:读取阶段和校正动作阶段。清除读取与其它系统读取的区别在于:清除读取通常涉及选择和读取存储器系统的区域中的数据,其不直接与完成特定主机操作相关也不直接与若干其它系统操作中的任何操作、比如磨损均衡相关。清除读取的另一区别性特征是,系统不从所读取的数据聚集有用信息,而是,数据完整性检查的结果是该操作的目标。对该系统的部分的随后动作由该完整性检查的结果来引导,而不是特定由数据自身来引导。如果数据的完整性检查失败且需要校正动作,则该系统可以随后需要使用来自所读取的数据、比如开销数据的某些信息。不完成特定主机操作且不从存储器获得任何有用数据的这些特征是清除读取与由系统进行的其它数据读取之间的基本差别。
选择要清除读取的特定区通常由在存储器设备的物理特性的上下文中的系统操作的正常过程中进行的读取、写入和擦除操作的位置和数量而引导。通常,将对由于其它区域中的操作而已经曝露于电压、电流或串援的存储器阵列的区域进行清除读取。可替换地,清除读取位置可以与其它存储器操作解耦合(decouple),且被使得遵循确定性或随机序列。然而,这可能导致系统性能的损失,因为将必须进行更多读取以得到更加受干扰区域的相同覆盖量。
清除读取的另外的方面是选择何时进行清除读取操作。一般而言,可以响应于任意数目的因素来开始清除操作,比如主机操作的数目;物理读取、写入和/或擦除操作的数目;时间段;主机的使用特性;或者某些随机或伪随机序列,其产生和检查可与上述各项中的任一项相联系。
清除写入与其它系统写入的区别在于:清除写入通常由于在清除读取期间所读取的数据的失败的完整性检查而执行。清除写入在清除读取的上下文中是仅唯一的。可以执行具有与清除写入类似的机制但不是出于该特定目的而实施的其它写入操作。在一项例子中,写入操作可以从正常存储器系统操作的过程中所执行的读取或写入操作之后的失败的完整性检查而得到。在另一例子中,出于刷新目的,可以在不存在清除读取的情况下读取和重新写入数据,其中写入的决定不是基于数据完整性检查,而是基于某些其它因素。一个这样的因素可以是存在具有高使用或曝露的阵列的区域,在此情况下,可以重新写入或移动该区域内的数据。可以以确定性或随机方式来进行数据的连续移动或刷新。可出于磨损均衡的意图的目的来读取和重新写入数据,但是具有以克服干扰问题的方式刷新数据的意外益处。
实际上,当数据单位满足进行清除的其它准则时,可以使用该数据单位的相对新度来确定是否开始改数据单位的清除。也即,如果近期已作为磨损均衡、数据整合(垃圾收集)、预清除或其它操作的部分而重新编程数据单位,则可以跳过当前清除,因为近期已刷新了这些数据。例如,可以用与数据单位一起存储的诸如在块的开销数据的部分中的经历计数(“热计数”)或时间戳来维持各个数据单位的相对新度。可替换地,可以根据存储在物理块中的数据的新度而将物理块分组,其中将一块所属于的组存储为该块的开销数据。然后,可以使用否则变为用于清除的候选者的块的相对新度作为选择实际清除的那些块的因素。然后,通过将清除操作限制为已存储了足够长时间以致其所存储的电荷电平可能已被充分干扰而需要注意的那些数据单位来改善系统性能。
为了监视所存储的数据的相对新度,可以基于逻辑块或物理块已重新编程的近期程度而将逻辑块或物理块有效地分组为若干组。可以将初始相对热计数值给予整个存储器阵列内的所有块或可替换地给予该阵列的平面、区域或其它部分内的块,且每当重新编程块时,该相对热计数可以更新至最新近移动的集合或组的值。一旦某一数目的块处于最新近重新编程的组中,就可以递增该最新近重新编程的组值,且可以将随后重新编程的任何块更新至该新组值。因此,可以形成在最新近重新编程的块与最早重新编程的块之间具有相对明显差别的不同组。一般而言,允许块的相对热计数值翻转(roll over)以准许使用相对小数目的字段。
当利用相对热计数时,实质上所有块可以在特定例子中存在八个可能值、例如“0”至“7”的值时以基值“0”开始。可以使用该八个值中的七个值,而保留一个值以提供表示最新近编程的块的值与识别包含最早数据的块的值之间的间隙。在此例子中,被写入的块接收新值“1”以指示其是最新近被编程的。一旦已将某一数目的块更新至新值“1”,随后被编程的块可以接收新值“2”。一旦已将值“2”分配给某一数目的块,就可以最终将值“3”分配给新重新编程的块。在某一时刻,该计数将翻转以使得最早使用的块具有值“2”,最新近编程的块具有值“0”,且值“1”提供二者之间的间隙以使得明确地识别具有最早和最新数据的块的值。最终,将通过主机写入、清除、磨损均衡或其它机制重新写入最早值格(bin)中的所有块。在上述例子中,然后值格“2”将为空,且该值可以充当该间隙,而值格“1”可以用于识别最新近写入的块。当在其它准则的基础上,一块变为用于清除操作的候选者时,如果其相对热计数将其放置于较近期重新编程的块组中的一个中,则可以跳过其清除。
可替换地,可以维持用于逻辑块或物理块或者这两者的绝对热计数,在此情况下,系统优选可以使用这样的热计数来做出清除决定。也即,当重新编程块时,递增、递减或以其它方式维持其绝对热计数以提供已重新编程该块的总次数的指示。与具有指示少量重新编程操作的绝对热计数的块相比,通常已经更近期地重新编程了具有指示大量重新编程操作的绝对热计数的块。因此,可以跳过对存储在具有相对大量重新编程操作的块中的数据的清除,因为不可能已显著干扰该数据。
存在可替代地执行的许多具体清除算法和相关的存储器操作。清除可以由存储器系统控制器来控制,或可替换地,在存储器单元集成电路设备(芯片)中的每一个上控制,或者甚至部分地或完全由主机控制。该存储器系统可与主机以可移除方式连接,或可替换地,可以嵌入在主机内。
可以多个不同方式实施清除操作的读取阶段。可以调谐清除速率以优化性能同时维持规定水平的数据完整性。例如,可以调谐执行清除操作的速率和一次所读取的数据扇区的数目两者。这样的调谐可以作为清除算法的部分而自动发生。例如,可以使清除的速率和位置与存储器的不同区域中的不均匀干扰曝露率相匹配。也可以推迟清除读取以便优化系统性能或满足具体实时需要。
还存在实施清除读取的方式的各种替代方式。例如,可以用标定参考电平和用有余量的(margined)参考电平两者来读取数据集。余量的量可以以所遇到的具体干扰机制为目标。例如,如果所读取数据不能由ECC来校正,则具有较宽余量的读取可能能够恢复该数据。如果没有任何错误地正常地读取数据,则具有较窄余量的读取可以提供该数据的质量的信息。
在清除读取之后,做出是否进入校正动作的决定。这样的决定可以基于的因素之中包括基于已检测到的错误位的数目和/或样式的活动级别。
校正动作最通常包括在存储器中的相同位置或不同位置中重新写入所读取数据。可以推迟这样的清除写入以便优化系统性能或满足具体实时需要。校正动作可以另外包括在清除写入操作期间数据的旋转;也即,表示具体所存储的数据的存储器单元状态从其原有状态改变。校正动作还可以包括将被认为易受干扰的单元、列或其它结构映射出系统。
大部分主机协议具有与存储器系统的抽象(abstract)接口以使得该存储器通常由主机通过逻辑块地址编号(LBA)来寻址。存在替代的等效寻址模式,比如ATA主机协议中的磁柱-磁头-扇区,但基本概念在于,主机不知晓存储器系统已存储给定主机数据扇区的物理位置。主机系统可获得线性连续的独立逻辑块地址集,其中存储和取回在该地址集处的数据扇区。这些抽象的主机协议通常需要在存储器系统上存在控制器以便控制存储器操作、执行映射功能性、数据管理、错误恢复等等。利用这些抽象的主机协议操作的存储器系统优选依赖于该存储器系统中的控制器来执行清除操作,因为主机通常不知晓该存储器系统的物理情况。
另一方面,某些主机协议具有在其中主机自身执行存储器管理功能的接口。符合这些协议的存储器系统通常具有最小控制器功能,如果有该功能的话。可以存在可以由存储器系统而不是主机系统执行的功能性的变化部分,比如但不限于ECC产生、ECC检查或ECC校正。以这些主机存储器所管理的协议来操作的存储器系统将通常依赖于主机来执行清除操作,因为该存储器系统通常具有不足以执行清除操作的逻辑。
某些存储器系统具有专用控制器,该专用控制器的目的是操作存储器设备和执行存储器管理功能性。其它存储器系统不具有专用存储器控制器,而是依赖于主机基础结构的部分来执行存储器管理操作。作为一个例子,非易失性存储器设备可以直接连接至主机系统中的通用微处理器,其中存储器管理功能性由软件执行。在不具有控制器的这样的存储器系统中,负责存储器管理操作的相同子系统也优选执行清除功能性。
在不具有控制器的存储器系统中,能够将控制器功能性合并到非易失性存储器设备(集成电路芯片)自身中。在极端例子中,可以将整个控制器合并在存储器设备上。
存储器系统可以嵌入在主机系统中且在变化的程度上使功能性合并到通用的主机子系统或具有其它功能性的主机子系统中。在这样的嵌入式存储器系统中,通常遵循相同的主机协议,尽管可能未必是该情况。然而,作为一般规则,需要相同的功能性集来操作存储器系统。
虽然存储器系统通常在抽象的主机协议的情况下执行清除操作,但是主机系统可以通过使用特殊命令或其它预定的接口业务来开始这样的系统中的清除操作是可能的。实施此功能性的一个原因可以是主机系统最知晓在其期间将不访问存储器系统以存储或取回数据的时间段,且主机系统可以在这样的时间段期间利用该机会来开始清除操作。以此方式,可以以对性能的最小影响而增加系统的总体可靠性。用于开始清除操作的机制可特定用于清除的目的,或者其可以是用于将内务操作可用的时间通知给存储器系统的通用机制。在后一情况下,清除操作可以是由存储器系统在这样的时间段期间执行的几个操作之一。
由于给定存储器操作引起的区域曝露通常是广泛的,使得每当执行操作时便清除整个曝露的区域是不实际的。通常,将选择所曝露的区域的仅一部分用于清除,且必须设置清除速率使得清除操作将在错误位的数量和移位的单元的电平超过存储器系统上可用的任何恢复方案之前检测到最受干扰的区域。
执行清除操作的速率是影响数据完整性和存储器系统性能两者的重要参数。清除速率越高,在错误位的数量和移位的单元的电平超过存储器系统上可用的任何恢复方案之前在数据块中检测到受干扰的单元的可能性越大。然而,清除速率越高,随着增加的存储器和控制器时间量专用于此操作,存储器系统的性能的降级越严重。为保证数据完整性的期望水平同时尽可能少地牺牲性能,将清除速率优化为所需的最小裸速率(bare),任何防护带都被认为是适当的。可以执行清除操作的速率可以按以下两种方式变化:1)选择执行清除操作的时间,和2)选择一次要清除读取的扇区的数目。
在产品的寿命期间,维护数据完整性所需的清除速率改变是可能的。例如,随着单元变得更多地循环,干扰率可能增加或减小。如果在生产时设置了固定清除速率,则为了在存储器系统的寿命期间维持存储器系统完整性,将必须使用在存储器系统的寿命期间所需的最高速率。这将导致在较低速率将是足够时的较高清除速率,从而导致在存储器系统寿命中的某些时间比所需的牺牲更高的存储器系统性能的牺牲。存在在存储器系统的寿命期间调谐清除速率的几种方法。
能够在制造存储器系统时设置可变清除速率。这样做的一种方法是提供速率值表,该速率值表用影响干扰率的任何度量来设置不同的清除速率。一个例子包含针对由存储器阵列的各个部分所经历的不同编程/擦除循环计数的清除速率的表。如果该存储器系统维持循环计数,则将基于该阵列的给定区域的最差情况或平均循环计数从该表选择清除速率参数。
另一方法允许存储器系统基于先前清除操作的结果来自我调整(self-adjust)清除速率。例如,如果存储器系统维持清除操作的记录并确定极低百分比的清除操作需要校正动作,则存储器系统可以调低其执行清除读取的速率。另一方面,如果确定极高百分比的清除操作需要校正动作,则存储器系统可以调高其执行清除读取的速率。存储器系统可以调整的清除速率的另一度量是在先前清除操作期间在各个存储组件中检测到的移位量或错误位的数量。在上述情况的任意情况中,该系统可以用每一新结果来自适应地调整清除速率参数,或其可以记录该信息用于周期性调整。
存在可以用于选择何时执行清除操作的几种技术,其某些例子是:1)随机或伪随机,2)基于主机操作的数目,3)基于对存储器设备的操作的数目,4)基于时间间隔。能够使用上文所述的方法中的任何方法来调谐执行清除操作的速率。以下假设在生产时提供清除决定所需的任何参数。可以存在用于读取、写入和擦除操作的不同速率参数,因为这些操作中的每个可以不同速率干扰存储器。
如果系统可获得或由系统产生随机数(RN)或伪随机数(PRN),则能够使用随机数或伪随机数来确定清除操作的频率。下文描述用于使用RN或PRN序列来决定是否执行清除操作的许多方法。所有以下的方法都假设以某一规律的间隔检查RN,且基于RN值的某种测试来决定是否执行清除。
使用随机数来确定清除速率的一种方法是利用包含被设置为值1的某个数量的位和设置为零的其余部分的掩码参数来执行RN或PRN的逻辑AND。是否执行清除的决定将基于该AND操作产生零值还是非零值。具有较多1的掩码参数比与具有较多零的掩码值更不频繁地产生零值。下表示出利用不同的八位掩码值的近似清除速率,其中假设零AND结果导致清除操作。注意,关于真随机序列,仅具有值1的位的数目而非该值自身影响速率,因此该表中的值仅是例示性的值。
另一相关方法是对值1的RN中的位的数目计数以确定是否执行清除操作。再次,可以比较该RN中的位数目与指示阈值的掩码或值。另一方法需要比较RN的值与清除速率参数的值。是否执行清除的决定将基于该RN是否在数值上超过该阈值。例如,对于阈值5,RN将高于时间的5/256。
可替换地,清除速率可以与所执行的主机操作之数目相联系。例如,每N个主机读取、写入和/或擦除操作可以执行一个清除操作,其中N是设置清除速率的速率参数。此外,清除速率可以与所执行的存储器操作的数目相联系。例如,每NR个读取、NW个写入和/或NE个擦除操作可以执行一个清除操作,其中NR、NW及NE设置清除速率的速率参数。作为进一步的替代方案,在存储器系统包括测量时间间隔的方法的情况下,可以某个规律的时间间隔T来执行清除,其中T是所提供用于设置清除速率的参数。
为了维持存储器系统的性能,可能期望甚至在已做出执行清除读取的决定之后推迟清除读取。这样做的原因可以包括实时考虑因素。例如,主机可能需要某个数据传送,且在某些时间专用于清除的资源可能影响存储器系统满足所保证的数据速率的能力。出于此目的,存储器系统可以将清除操作参数排队用于稍后在执行清除将不影响主机的性能的时间进行处理。清除操作可以推迟直到稍后在主机命令处理中的某个时间、在该命令处理之后的某个时间或直到稍后的主机命令。在此情况下,存储已决定的清除操作参数且在主机最方便的稍后时间处理这些清除操作参数。
由于在给定时间可以清除存储器阵列的所曝露区域的仅一部分,因此实现适当覆盖的一个重要方面是一旦已做出执行清除的决定就选择要擦除的地方。选择要擦除的地方通常与对存储器设备的读取、写入和/或擦除操作的位置有关。该选择中体现了知晓在其内给定存储器操作将干扰其它存储组件的区域。使要清除的区域与被操作的区域相关允许清除操作变得最高效,因为不对不可能受干扰的存储器的区域执行清除操作。
选择要擦除的位置的一种方法需要使用RN或PRN以从给定操作的曝露区域内选择位置。平均而言,经历最多曝露的区域将具有被选择用于清除的最大机会。假定某些区域将比其它区域更经常被选择且仅平均而言将存在均匀覆盖,则将调整清除速率以考虑预期最差情况的随机数覆盖。
选择要清除的位置的另一方法需要确定性地移动穿过所曝露的区域。然而,该方法将需要记录存储器操作和清除操作两者以确保完全覆盖。
如果记录对存储器的活动,则能够取得对给定区域所经受的对潜在干扰操作的曝露量的测量。给出此信息,存储器系统可以在该记录中搜索已接受了最大曝露的区域,且将清除操作限于这些区域。此方法可以用于在确定要清除的速率和位置中引导上述方法中的任何方法。通常可透过维持循环计数信息来追踪编程/擦除循环。然而,记录读取活动通常是不实际的,因此不可能使用比方法来追踪读取曝露。
可替换地,可以记录校正动作的位置且将其用作对于比其它区域更易受干扰或比其它区域经受更大曝露的区域的引导。存储器系统可使用此信息来对要清除的区域的挑选加权,特别是对于比其它区域已更频繁地需要校正动作的区域。
在未维持干扰曝露的潜在区域的知识的系统中,可以独立于此知识而使用随机方法或确定性方法。在此情况下,不管主机活动在何处致使存储器系统的操作发生,在整个存储器系统中执行清除。然而,将清除速率调整为足够高以确保充分覆盖。通常,这是极大的资源浪费,因为存储器系统的某些区域将经历比其它区域多得多的曝露,且优选地是清除操作的主要集中区。
清除操作的目的是在错误位的数目和移位的单元的电平超过存储器系统上可用的任何恢复方案之前检测受干扰的存储组件。为此,通常期望尽可能早地且在对于给定电压阈值电平的多数防护带因干扰而丢失之前检测干扰。
如上在背景技术中所述,闪存通常以离散状态或电荷存储电平的范围来存储数据,这些状态中的每个通过某一防护带与其它状态分离。通常在每一状态之间存在区分的标定感测电平,高于该电平时认为存储组件处于一种状态,且低于该电平时认为该存储组件处于另一状态。当给定存储组件受到干扰时,其已被编程或擦除至的电平可能开始移位。如果该存储组件的电平接近该区分的感测电平或越过其,则该存储组件的电平产生处于与其曾要被编程或擦除到的状态不同的状态下的数据。该错误自身通常将表现为数据中的一个或多个错误的位,且通常将通过使用覆盖该数据字段的ECC而被检测。
对读取条件加余量或偏置以使得区分的感测电平更朝向一种状态或另一状态而移位将致使即使移位量在标定读取条件下将不导致错误、受干扰的存储组件也被感测为处于错误状态。这允许系统在移位接近将在正常存储器系统操作期间导致错误的点之前检测该移位。
如果已知干扰机制以特定方式影响数据存储电平,则能够通过朝向所预期的电平移位来对读取条件加余量将检测那些特定干扰机制作为目标。虽然理想情况将是在单个余量条件集合下以具有单个读取操作的所预期干扰机制为目标,但是这通常是不可能的。可能需要在不同条件下执行多个读取操作。例如,存在于存储器中的不同干扰机制致使存储组件变得被更多地编程或被更多地擦除是可能的。高于和低于区分电平的两种存储组件都可以朝向该区分电平移位,在此情况下,可能需要首先检查存储电平从一种状态朝向区分电平的移位以及然后从另一状态朝向该区分电平的移位。
存在两种单独的数据质量的度量,其可以被用作阈值以确定是否应采取校正动作:1)通过使用ECC来检测数据错误,和2)尽管检测到很少或未检测到数据错误,但可以在电荷存储电平的移位导致数据读取错误之前检测到该移位。
如上文所述,可以对清除读取条件加余量,以便以某个所预期的干扰机制为目标,或仅检查所存储的电平的充分余量。不管在标定条件下还是在余量条件下读取数据,是否采取校正动作的决定都可以基于在清除读取操作期间检测到的错误的位的数量。例如,如果错误位数量低于系统的ECC校正能力,则系统可以决定推迟校正动作,或完全忽略该错误。
除了使用错误位数量作为阈值来开始校正动作之外,系统也可以基于其它因素、诸如错误的位样式来做出进行校正的决定。例如,ECC校正能力可以对位错误样式敏感,或位错误样式可以指示非易失性存储器中的特定已知干扰机制。可能存在用于使阈值基于位错误样式的其它原因。通常在ECC校正操作期间揭示位错误样式。
出于性能目的,即使已确定需要校正动作,也可能期望推迟清除校正动作。进这样做的原因可以包括实时考虑因素。例如,主机可能需要某个数据传送,且在某些时间专用于清除校正动作的资源可能影响存储器系统满足所保证的数据速率的能力。出于此目的,存储器系统可以将清除校正动作操作参数排队以用于稍后在执行清除校正动作将不影响主机的性能的时间进行处理。清除校正动作操作可以推迟直到稍后在主机命令处理中的某个时间、在该命令处理之后的某个时间或直到稍后的主机命令。主要点在于将存储清除操作参数且在主机最方便的稍后时间处理这些清除操作参数。
存在两种显著不同极端的存储器架构,这些存储器架构的每个导致将主机数据映射至存储器设备上的物理位置和管理及存取曾被编程的数据的不同方法。这两种架构之间的基本差别与最小擦除单位的大小及其与主机协议数据扇区的大小的关系有关。
如果最小擦除单位的大小接近主机数据扇区的大小,则能够实施直接寻址方案,在该直接寻址方案中,通常将给定主机数据扇区映射至主机将该给定主机数据扇区写入至的相同物理位置。在此方案中,通常在将代替的数据写入先前内容的位置中之前从该物理位置擦除该先前内容。如果最小擦除单位的大小大于主机扇区的大小,则此重新写入可能需要读取-修改-写入。在此寻址方案中,能够将主机扇区重新映射至存储系统内的替代位置,但此通常仅作为缺陷管理操作的部分或出于某些其它系统可靠性目的而发生于扇区重新分配期间。在此映射之后,该主机扇区将通常保持映射至新的物理位置直到某些其它重新分配事件。在这样的直接地址映射方案中,由于干扰所致的校正动作通常需要擦除来自被确定为已受到干扰的物理位置的内容,且将该内容重新写入至同一位置。将以与系统所采用的一般异常处置一致的方式来处置在重新写入期间的任何错误,包括但不限于重新擦除及重新写入、重新分配、更改擦除或写入参数等等。
另一方面,如果最小擦除单位的大小比主机扇区的大小大得多,则通常实施擦除-成池(pool)寻址方案。这样的寻址方案也可以用具有小的最小擦除单位的存储器来实施。在擦除-成池方案中,通常将主机扇区分组成逻辑块,这些逻辑块然后被映射为物理擦除单位。给定主机数据扇区由擦除单位内的其它主机数据扇区围绕。当主机写入给定数据扇区时,读取围绕目标扇区的所有扇区、擦除该块且然后将所有扇区写回至该擦除单位且该一个主机扇区包含新数据将是不实际的。为避免这样的过多开销操作,擦除-成池方案通常维持处于被擦除状态的某一数目的擦除单位,用于在写入新版本的数据时保持该新版本的数据的目的。出于数据管理目的,通常将扇区一起分组成逻辑组,一般而言,系统将试图维持扇区在同一逻辑组中的物理接近性。通常出于允许高写入并行性的目的,可以组合几个擦除单位以形成逻辑结构,称作元块或虚拟块。通常,来自主机的新数据将被写入至擦除的位置。在某一时刻,将来自同一逻辑组的尚未用新数据取代的其它扇区复制到同一元块中,或连同新写入的数据一起复制到另一元块中。稍后,一旦给定元块中或擦除单位中的所有数据都已被取代或复制到其它地方,该元块或擦除单位将被擦除且将被视为被擦除的擦除单位的池的部分。在这样的擦除-成池寻址方案中,由干扰所致的校正动作通常需要将受影响的数据复制到存储器系统上的另一位置,连同系统所需的用于正常存储器系统行为的任何数据整合。
然而,能够与由于主机活动或一般数据管理所致的写入操作不同地对待在清除操作期间需要校正动作的数据。能够将该数据写入至特殊位置,该特殊位置被保留用于保持此数据达短时间量直到系统方便整合这些数据与逻辑连续的数据为止,该区保持保留或按需求而分配。在某些情况下,该系统还能够将可仅擦除数据并将该数据重新写入至同一位置。例如,如果有很少或没有数据驻留在物理块中,则可以将其它数据永久地移动至其它地方,或在擦除期间暂时存储在其它地方,可能在易失性存储器中,并连同需要校正动作的数据一起写回。将以与系统所采用的一般异常处置一致的方式来处置在数据写入期间的任何错误,包括但不限于重新写入、重新分配、写入至新位置、更改擦除或写入参数、数据极性的受迫旋转等等。
某些个别存储元件、存储元件组或其它结构可能比其它的更易受干扰。作为这样的结构和分组的可能的例子,闪存存储元件可以布置为共享公共漏极、源极或栅极线,且由于处理中的变化,该一组这样连接的存储元件能够经历对潜在干扰信号的比平均值更强的曝露。同样,由于用于形成阵列的工艺中的变化,个别存储元件可能比其它存储元件更易受影响。存储系统可以设计为永久地映射出或重新分配被认为易受干扰的这些区。在极端情形中,可以在第一次发生清除校正动作后重新映射任何存储元件或其它结构。例如,如果冗余存储元件可用,则可以映射出包含需要ECC校正的位的那些存储元件。在其它实施例中,可以记录且稍后分析校正动作的位置,用于在稍后时间重新映射存储元件或分组的目的。该分析可能涉及给定分组已需要校正动作的次数的阈值。在某些情况下,可能需要用存储器设备的物理状况的知识来分析所记录的数据,以便检测所预期的物理结构的存在,比如连接的存储元件的存在。重新映射存储元件或存储元件分组的方式取决于存储器系统的实现方式。例如,包含逻辑扇区的物理区可以包含冗余存储元件,用于替换被映射出的存储元件的目的。在另一例子中,如果整个扇区或扇区组已需要校正动作,则可以映射出该整个扇区或扇区组。
清除操作可以在主机操作的背景中或在主机操作之间执行。可能期望取决于主机已请求的操作类型来改变清除操作的行为。例如,在执行主机读取命令期间可能不方便发生清除校正动作,在此情况下,可以推迟校正动作至存储器系统更方便的时间。
干扰避免的替代方法是在不具有确定数据是否有错误的首先检查的情况下移动已经受到潜在干扰曝露的数据。存在选择要移动的数据的频率及位置的许多方法,上文描述了其中的大多数。
清除的一般实施例
图8的流程图概述示例性闪存清除算法中的主要步骤。第一步骤91监视存储器系统的活动以确定何时发生清除操作的触发事件。这样的触发事件可以是以下各项中的一个或多个:
1.当该阵列的给定块或其它单位内发生可能干扰其他单位的电荷电平的数据读取、数据写入或擦除操作时。该操作的强度和/或持续时间在确定是否触发清除操作以及该阵列对干扰的敏感性(比如当存储器以具有定义各个状态的窄电荷电平范围的多状态而操作时)中可能是重要的。
2.当给定单位的正常系统读取操作读取具有至少一个或预设数目个位错误的数据时。
3.当余量读取(其中参考电平被设置为读取比正常读取更窄的编程的分布)示出编程的存储器单元的阈值电平——尽管不存在位错误——不是最佳时。
4.在自从最后的清除操作其经过了预定的时间间隔之后。
5.当主机开始清除操作时。
总体目标是足够经常地开始清除操作以在受干扰的数据变得如此众多以致超过存储器系统中可用的任何恢复方案(ECC等)之前检测到受干扰的数据。
一旦检测到清除触发事件,下一步骤93确定在存储器阵列内用于执行清除操作的位置。示例性候选者可以确定为如下:
1.在给定单元外的块或其它单位,其与该给定单位共享位线、字线或其它信号线,在读取、写入或擦除操作期间在其上施加了电压或电流。
2.在该给定单位外的其它单元,其具有与该给定单位的信号线场(field)耦合的信号线场以使得在其之间存在串扰。
3.这样的其它单位被编程还是被擦除可确定其是否潜在地受到对该给定单元的操作影响。
4.受到潜在影响的单位可以取决于该操作是读取、写入还是擦除。
5.如果在所读取的数据中发现错误由该给定单元的正常系统读取触发,则识别该给定单元用于清除操作。
6.候选块中的数据的相对新度可以用于消除较近期已重新写入的那些候选块。
识别作为用于清除的候选者的存储器块或其它单位未必由进行的清除所遵循。如由下一步骤95所指示,在某些情况下,可以推迟开始清除操作,其例子为:
1.可以推迟清除读取以便优化系统性能或满足存储器系统的特定实时操作需要。
2.自调谐清除:可以动态地调整执行清除操作的速率以最佳地平衡维持性能及数据完整性。
3.可以部分地从被识别为潜在地受影响的单位的特性来确定执行清除操作的紧急性,这些特性比如单元的经历电平(编程/擦除循环的数目)及致使该清除操作被触发的事件的类型。
4.可以将清除触发事件进一步限制为以确定性、随机或伪随机方式发生:
(a)在规定数目的主机操作之后;
(b)在规定数目的物理读取、写入和/或擦除操作之后;
(c)在规定时间段之后;
(d)基于主机的使用特性;或
(e)随机或伪随机序列,该随机或伪随机序列的产生及检查可与上述任一项相联系。
在下一步骤97中,选择在步骤93中被识别为用于清除的候选者的存储器的所有块或其它单位或者块或其它单位中的仅某些用于清除操作。选择准则包括:
1.可以选择在任一操作中将被识别为用于清除的所确定的单位的数目以平衡清除所花费的时间对系统性能的影响以及维持数据完整性的需要。
2.维持此平衡的方式可以是针对当前清除操作识别多个单位,这取决于存储器的使用年限、所识别的单位经历的编程/擦除循环的数目、已触发该清除操作的事件类型及对所识别的单位中的数据必需采取校正动作的历史。
3.清除操作中所包括的单元的数目可以取决于存储器的使用年限、给定单位经历的编程/擦除循环的数目及触发该清除操作的事件类型。
4.可替换地,可以与正常使用不相关的方式通过遵循确定性、随机或伪随机序列来选择少于所有所识别的单位用于清除。
接下来,如由步骤99所指示,根据以下从所选的单位读取数据(清除读取):
1.清除读取不与完成任何特定主机操作或与其它系统操作、诸如磨损均衡直接相关,但通常以与正常数据读取相同的方式来执行。
2.在如下具体情况中可以执行余量读取(用不同于正常数据读取的参考电平的参考电平来读取):
(a)作为对具有要由ECC来校正的太多错误的数据的第二读取,其中放松该第二读取中的参考电平以读取比正常读取更宽的被编程的分布(或可替换地,可以在下文所述的数据校正步骤107中实施);或
(b)当预期将由触发事件引起的具体干扰机制可能使被编程的电平显著移位时,初始读取可以是具有较宽参考电平的余量读取;或
(c)作为对不具有位错误或具有可由ECC校正的很少位错误的数据的第二读取以便识别被存储为已远离最佳电平而移位的电荷电平的数据,其中将此第二读取的参考电平收紧以读取比正常读取更窄的分布。(稍后关于图10进一步论述余量清除读取)。
3.作为读取一块的数据的部分,还读取开销数据。如果在头部中存储数据的相对新度,则可以使用该相对新度来识别不需要被擦除的新近重新写入的块。
下一步骤101估计所读取的数据的完整性。作为清除读取的部分,ECC可以从自存储器单位读取的用户数据来计算并与在编程期间较早所计算且连同该用户数据一起存储的ECC进行比较。只要不存在位错误或存在可由ECC校正的小数目的错误,就不需要做出如上所述的具有放松的参考电平的第二加余量的读取。
可以可选地做出的另外的读取具有追踪单元的电平——如果其提供在存储器阵列中的话——以查看其所存储值是否已改变。通常包括追踪存储器单元以建立用于读取存储器单元的参考电平。
一旦读取数据且已知所读取的数据的错误(如果有)的数目,则下一步骤103确定校正动作是否既是必需的又是期望的。某些考虑因素如下:
1.一种方法是校正具有任何数目的位错误的数据,因此致使清除最显著地影响存储器系统性能。
2.另一方法是放弃校正数据,除非数据位错误的数目超过每单元读取的某一阈值N,因此减小清除对性能的影响。
3.还可以使用通过比较ECC而确定的错误数据位的样式来确定是否期望校正该数据。
4.优选不清除近期重新写入(相对高的新度程度)的数据。
通常,当确定是否校正错误数据时,优选平衡完成清除操作对性能的影响与这些错误对目前及未来的数据完整性的严重性。
在下一步骤105中,确定是执行清除校正动作还是推迟其直到稍后的时间。在做出此决定时的考虑因素之一与在步骤95中的相同,即为了满足存储器系统此时的具体实时操作需求而推迟。通常,如果与在当前时间完成清除操作相比,清除操作的稍后完成将导致对系统性能的较小影响,则优选推迟完成该清除操作。通常不期望中断控制器的正常处理以执行清除,尤其是当由于要由ECC校正的大数目的错误、需要整合数据等等而导致该清除操作将花费比通常情况更多的时间时。当推迟时,通过清除读取所读取的数据、其地址、由ECC分析所确定的任何错误及在前述步骤中形成的清除操作的其它参数被暂时存储。然后,在对系统性能的影响较小的时间,稍后读取这些数据和参数并完成该清除操作。
当要完成清除操作时,在下一步骤107中校正数据。在此情况下,通过使用ECC来校正数据。如果未作为以上步骤99的部分执行,则如果正常读取或清除读取产生比可以由所使用的ECC校正的错误的位更多的错误的位,则可能需要一个或多个余量读取(其中放松参考电平以读取比在先前读取期间所使用的编程分的布更宽的编程的分布)来恢复数据。然后,在步骤109中,采取适当校正动作。这可以包括在曾读取数据的相同位置中重新写入校正的数据。当然,这需要首先擦除被重新写入数据的块,在图2的存储器布置中这可以是实际的,其中每一校正的数据扇区填满一个存储器单元块。但是这在图5及图6的大块存储器布置中并不高效,除非存在已校正的足够的校正的数据扇区,这些扇区需要用逻辑上连续的地址来重新写入以填满或接近填满一块。
可替换地,可以将校正的数据重新写入至与较早在清除操作中读取数据的位置不同的位置中。当存储器布置利用如图5及图6中所示的大存储块时,可以在要重新写入的数据小于一块的容量时采用先前所述的擦除池或其它大块管理技术。例如,要校正来自包含16个、32个或32个以上页的一块的仅一个或两个页中的数据并不罕见。对于这些情况,块可以专用于阵列的一个或多个平面中用于暂时存储一页或几页的校正的数据。然后,在方便这样做时,比如在存储器的正常操作期间由其它因素开始的数据整合(垃圾收集)期间,组合所重新写入的数据与存储于原始块的页中的未校正的数据。可替换地,可以通过此专用块变满或在将数据的主题(subject)页写入至该专用块之后经过预设时间量之后,或者在系统操作方便的其它时间开始此整合。
利用一个共同的指定的物理块或多个共同的指定的物理块来暂时存储来自许多其它块的页的数据的清除重新写入且然后稍后整合所重新写入的页的数据与来自其原始块的其它页的数据可以是方便的。例如,将来自块1及2的页的清除重新写入暂时存储于暂时块3中。稍后,将块1的清除重新写入从块3复制到擦除的块4中,且还将块1的其余未改变的页复制到块3中以整合映射至物理块1中的数据。然后,在另一擦除的块5中进行相同操作,其中整合存储在块3中的块2的清除重新写入与来自块2的未改变的数据页。
在图6的利用元块的系统中,可以在每一平面中存在一个这样的专用块以存储来自该平面中的其它块的重新写入数据,或可以在整个系统中存在单个专用块,其中来自任意平面中的所有页的校正的数据都被写入至该专用块中。所挑选的具体操作取决于各个块中的页的数目、整个存储器阵列中的页的数目以及对其数据将通过清除处理来校正的页的所预期数目核频率的预测。具有使其易受干扰的结构和/或操作的存储器阵列将需要比其它存储器阵列更多的专用块。如果清除读取揭示没有数据错误但正执行清除操作以便将移位的所存储的电压电平移动回至其状态范围的中间,则仅重新写入所读取的数据,因为显然不需要校正。
使用某些存储器系统的方式导致很少的干扰。然后,偶尔实施清除处理,因为存在将认识到的很少的触发事件。另外,不管被清除的数据最初驻留在其中的物理块如何,将相对小的重新写入数据量一起永久地存储在一个或多个指定的物理块中是实际的。在此情况下,清除的数据的页不与其他逻辑上连续的数据页重新组合至物理块中,如清除处理中的步骤。校正动作的另一元素是通过与最初写入数据不同的旋转来重新写入校正的数据。例如,可以将四状态系统的四种模拟存储状态范围分别最初指定为表示00、01、10及11,且在重新写入后指定为表示11、10、01及00。由存储器控制器使用被保持作为开销数据或其它数据的部分的特定旋转的数据在读取数据时进行该转换。数据旋转有益地应用于重新写入校正的数据以及不需要校正的数据两者。
可以被包括的校正动作的进一步元素是映射出建立受干扰影响比平均而言大得多的历史的存储器的页或块。这通过监视该阵列的各个页、块、平面和/或其它定义的区域中的数据错误的数目来检测。当然,应该小心以防止映射出因除了对干扰的较高敏感性之外的原因、比如由于比平均更多地或与平均不同地使用一块而经历数据错误的页或块。
清除算法通常由存储器控制器来控制,但可替换地,可以由主机来控制。当由存储器控制器控制时,将该算法编码成存储器系统固件,该存储器系统固件在存储器的操作期间通常由微处理器21(图1A)从控制器RAM25执行。
所利用的具体清除算法取决于存储器系统的某些特性,特别是存储器设备11和13(图1A)的某些特性。示例性特性如下:
(a)存储于编程的存储器单位(通常为一页)中的主机数据扇区的数目;
(b)存储器单元的存储状态的数目以及指定用于每一存储状态的阈值范围的广度;
(c)编程的单位(通常为一页)是包含单个主机数据扇区还是多个主机数据扇区;
(d)擦除单位(通常为一块)中的编程单位(通常为一页)的数目;及
(e)存储器单元的密度以及一个单位中的操作在另一单位中导致数据干扰的广度及具体倾向。
清除的具体实施例
图9的流程图中例示了清除算法的更具体的实施例。通常,利用与先前所述的处理步骤相同的处理步骤,但更详细地展示了该实施方式,包括关于图10对于四状态系统例子(每一物理电荷存储单位中存储2个位)所述的余量清除读取。图9中示出了处理的两个进入点:在115处,当检测到清除触发事件时,以及在117处,当接收到执行经推迟的清除的命令时。
在步骤115中,对清除触发事件来监视存储器,如上针对图8的步骤91所述。类似地,在步骤119中,确定用于清除的候选存储器单元,这与对于图8的步骤93所述的相同。然后,类似于步骤95,图9的步骤121确定是否应该因为此时需要执行的其它系统操作而推迟对候选单位中的任何单位的清除。如果是,则如在123处所指示,暂时存储候选单元单元的地址及其它所需数据,且该处理等待完成较高优先级系统操作以再次重新开始。可替换地,可以推迟完成该清除操作直到在步骤117中从主机接收到或由存储器控制器产生稍后的特殊命令,如稍后在该处理中推迟时的情况。在步骤123中存储用于推迟的清除的数据之后,结束执行的特定清除操作,除非存在更多要清除的单位,如由步骤124所确定的。如果存在更多要清除的单元,则该处理返回至步骤119。
下一步骤125执行与图8的步骤97相同的功能,即选择要清除的候选存储器单元单位。一次对所选单位之一实施图9的后续步骤。下一步骤126致使读取分界点电平及其它读取条件最初被设置为正常读取电平。然后,步骤127在设置的条件下对存储器单元单位中的第一存储器单元单位执行清除读取,此对应于图8的步骤99。对此同一单元执行随后的步骤,循环129返回至步骤127按顺序用于所选单位中的下一个直到将这些单位全部清除。当然,如果在特定操作中仅一个单元被选择用于清除,则不存在循环返回129。
在利用在步骤126中所设置的读取余量的步骤127的清除读取之后,步骤131确定是否存在任何数据错误,这类似于图8的步骤101。如果存在错误,则下一步骤133确定这些错误是否可校正。当使用ECC来确定数据的完整性时,则此步骤133确定所读取的数据单位中的坏位的数目是否在正使用的特定ECC算法的校正能力内。如果可以校正这些错误,则下一步骤135确定校正是否既是必需的又是期望的,这对应于图8的步骤103。步骤135可以简单地确定有错误但可校正的位的数目是否小于阈值1或是极少数的,如果是,则可以确定不采取校正动作。
步骤135中的决定还可能受数据及其ECC是用户数据还是开销数据而影响。如关于图3所述的,开销数据可以具有其自身的ECC。当是该情况时,用户数据和开销数据的完整性可以分别在步骤131和步骤133中检查,甚至通过将用户数据及其ECC视为一个单位及将开销数据及其ECC视为另一数据单位——即使用户数据和开销数据可能存储在同一页中——而通过具有返回129的完整循环来一次处理用户数据和开销数据中的一个。尽管使用各自的开销数据ECC及用户数据ECC通常将是相同的,但该处理可操作以更紧密地维持开销数据的完整性。这是在维持系统性能(过多清除操作使系统性能降级)与长期维持所存储的数据的完整性(清除被设计为达实现此长期维持)之间的平衡的例子。
如果步骤135中的决定是应做出所关注的数据单位中的可校正错误的校正,则下一步骤137询问是否应推迟数据的校正。例如,如果所读取数据中存在如此多的坏位以致其校正将花费比在此阶段处可用的时间更多的时间,则期望推迟清除。如果不推迟,则在步骤139中校正这些错误,这类似于图8的步骤107。然后,下一步骤140询问是否应推迟校正动作。如果重新写入该数据由于所需的整合也涉及其它数据的移动,这将花费比可用时间更多的时间,则通常推迟清除。如果不存在推迟,则在步骤141中,根据在描述图8的一般实施例时在上文所述的重新写入选项之一来重新写入校正的数据。在成功地重新写入校正的数据单位之后,在步骤143中确定是否存在在步骤125中被选择用于清除的任何其它存储器单元单位。如果是,则步骤145按顺序递进(increment)至下一单位,且该处理经由循环129返回至步骤127用于该新单元。
至此,已描述了图9的流程图的主路径。但是当对问题中的某些问题的解决方式不同于上文所述的那些解决方式时,存在可以沿该途径进入的许多数个分支。当在主题单位中存在如此多的数据位错误以致它们不能由ECC校正时,从步骤133取得要描述的第一个这样的分支。如步骤151所指示,将读取阈值电平设置为不同于用于步骤127中的清除读取的电平,然后在步骤153中,利用这些不同的阈值电平再次读取该单位的数据。图10中例示这样的加余量的读取。
图10中使用以四种状态来操作闪存阵列中的各个存储元件的例子。示出了不存在干扰时存储器单元单位内的存储元件的数目在四个阈值电压电平范围中的每一范围中的分布。阈值电压防护带155、156和157被维持在存储状态阈值电平范围之间,其中不存在来自防护带中的任何单元的数据。这是在编程和验证单元单位的状态之后立即存在的所期望的编程的条件。但是在然后编程、读取和/或擦除其它单位时,此数据可能受到干扰。干扰通过阈值电平移位至相邻防护带中的一侧或另一侧而展现。取决于干扰的本质,这可以对于每一状态分布内的小比例的单元而发生,或者整个分布可以移位或扩散到相邻防护带中。
对于正常读取,使用在各个防护带155、156和157的大约中间的分界点电平159、160和161。即,比较所读取的单元的阈值电平与这些分界点电平以确定其存储状态。当一种状态内的单元的阈值电平跨越分界点电平移位穿过防护带时,错误发生。例如,当状态1中的单元的阈值电平更低地移位直到其低于分界点电平159时,那些单元然后被读取为处于状态0。类似地,如果状态1中的单元的阈值电平更高地移位直到高于分界点电平160时,正常读取将表明那些单元处于状态2。然后,通过ECC处理来识别这些读取数据错误。但是,当存在太多这样的错误用于ECC来校正时,通过步骤151和153来做出利用在各状态之间的不同分界点电平的第二读取(图9)。分界点电平159、160及161由于干扰而在存储阈值电平的预期移位的方向上在其各自的防护带内移位,使得移位的电平现在位于与其受干扰之前曾处于的防护带的相同一侧上。
在如此重新读取该数据之后,在步骤165中通过使用ECC确定是否仍有任何数据错误。如果否,则该处理继续到主处理路径的步骤135,包括确定是否应推迟数据校正和重新写入。如果步骤165发现存在数据错误,则下一步骤167确定它们是否可以由ECC校正。如果是,则该处理也跳转到主处理路径的步骤135。
但是,如果步骤167发现这些数据错误不可校正,则可以包括用甚至不同的分界点电平的进一步读取。在步骤169中,确定是否存在任何其余的未尝试的放松的读取条件。如果是,则步骤170递进重试条件,且该处理返回至步骤151和步骤153以用这样的新条件来读取数据。但是,如果不再提供更多不同的读取条件,则主题阵列单位中的数据必须保持具有其不可校正的错误。然后,确定对该单位的清除操作已失败。其一个结果可以是将所有有效数据复制到新的存储器系统中,且然后丢弃当前的存储器。另一结果是仅通过存储于开销数据或其它数据中的标志而将此单位标记为坏得,然后继续到步骤143以继续清除其它阵列单位。则该单位中的数据丢失。由于这些数据曾作为原始编程的部分而被验证为最初处于其正确的阈值电平范围,因此干扰操作随时间的累积的此可能的结果示出对足够频繁地清除以防这样的不利后果的可期望性。
返回至步骤135,如果确定数据的校正既不是必需的也不是期望的,则该处理跳转至步骤143以继续清除所识别单位中的任何另外的单位。也返回至步骤137和步骤140,如果确定应推迟数据的校正或重新写入,则在步骤171中存储所读取的数据、其地址、错误位的ECC及任何识别以及其它先前所确定的数据,然后该处理跳转至步骤143。然后,当到达推迟的动作用于完成时,读取这些数据,如下所述。
返回至步骤131,在确定不存在数据错误之后的下一动作可以是通过跳转至步骤143而不再对当前单位的数据进行任何进一步处理。但是,可以期望进一步检查和调整从其甚至读取有效数据的单元的存储电平。这涉及利用与在初始读取中使用的分界点电平不同的分界点电平来重新读取数据,以便识别其中所存储的电荷已移动到为各种状态所对应的电平之间的防护带中的任何单元(参见图10),即使那些电平还未跨越分界点电平以导致正常读取数据错误。通过步骤172,确定是否存在还未尝试的任何这样的读取条件。如果是,则步骤173致使选择新的分界点电平和/或其它清除读取条件。然后,该处理返回至步骤126,在步骤126中设置那些读取条件,然后在步骤127中利用那些条件来读取数据。例如,将在此读取期间所使用的分界点电平移位至图10的防护带155、156和157的边缘。如果在步骤131中,通过使用ECC而确定存在数据错误,则错误数据位指示将电荷电平移位至防护带内。因此期望在首先确定是否应推迟这样动作之后校正并重新写入这些数据,使得所存储的电荷电平将从防护带移位到在图10的其意图的状态分布内。
如果在步骤131中利用更具限制性的余量确定所读取的数据中不存在错误,则结束对当前数据单位的处理。然后,通过步骤172确定是否存在还未对此数据单位尝试的更多定义的清除读取条件。如果是,则可以利用更加紧密的分界点电平再次读取该数据。即,可以利用在步骤172中可用的第一组替代读取条件第二次读取该数据,其分界点电平沿其各自的防护带移位了仅一部分路程,然后用通过步骤172选择的第二组替代读取条件的分界点电平第三次重复此操作,其中该第二组替代读取条件的分界点电平更进一步朝向防护带边缘移动用于进一步精细地调整电荷存储电平,如果需要的话。可以依实际尽可能多地提供这样的另外的清除读取条件。
返回至步骤135,其中可以确定接受某一水平的数据错误而不校正,将注意到,这与刚刚已描述的由步骤172和步骤173的分支对不包含错误的所存储数据做出的调整的精确性不一致。因此,如果利用此处理分支,则步骤135最可能将不允许接受错误的数据而不校正。
在步骤143中确定确实已清除当前被识别用于清除的所有数据单位之后,可选地可以将已示出其数据受干扰的异常倾向的这些数据单位中的任何数据单位映射出该系统。步骤185确定是否存在应该从该系统移除的任何这样的物理存储器单元,且如果是,则通过步骤187映射出这些单元。然后,完成清除操作。
然而,如果已推迟数据校正和/或重新写入,则存储器系统控制器或主机系统将对此进行提示。在适当时间,当不存在待决的更高优先级存储器操作时,以步骤117开始,可以完成对部分被清除的单位的清除。通过步骤191读取由步骤171存储的用于一个单位的数据、ECC和其它信息。如果来自该单位的数据需要校正,则在步骤193中进行该校正。在步骤195中,重新写入正确的数据。如果不存在需要完成的其它部分完成的清除操作,则在步骤197中确定,且执行步骤185或结束该处理。如果存在要完成的其它单位,则该处理在步骤199中递进至下一单位,然后对来自那些单位的数据重复步骤191、193和195。
在步骤123中存储了候选存储器单元单位的地址用于推迟的清除的情况下,该处理可以自动返回以在控制器不具有要实施的更高优先级动作时对推迟的单位之一继续清除操作。由于推迟步骤121在图9的处理中如此早,因此返回到当时推迟的单位导致恢复以步骤125开始的该处理,且沿该路径继续,如上所述。能够在步骤137或步骤140之一处将这样的单位的校正和/或重新写入再次推迟。
在第8,050,095号美国专利中以及还在第2006-0039196-A1号相关的美国专利公开中可以发现关于清除技术的上述方面的更多细节。
利用动态读取的读取清除
此部分考虑在使用动态读取的存储器系统中使用清除操作。如上关于图10所述,存储在快闪存储系统中的数据易受由于对邻近物理区域中的数据单元执行的读取、编程和擦除序列所导致的损坏的影响。由于这些原因,且由于通常随时间的电荷损失,阈值的分布趋向于降低。为了能够在这些情况下成功提取数据内容,存储器系统可以使用加余量的参考电平来移位读取点,作为动态读取处理的部分。这可以按各种方式进行:例如,第5,532,962号美国专利呈现了一种处理,其中通过使用ECC而将读取电平移位直到可以提取数据为止;以及在第7,886,204号美国专利中,确定阈值分布的特性以便建立读取点。第7,876,621号美国专利呈现了关于动态读取的进一步细节,这适用于以下讨论。用于动态读取的移位的读取电平可以在操作过程期间由控制器来确定或可以基于已加载到用于此目的的设备中的一组值。也可以按若干种方式使用这些电平,比如在有时称为“过度恢复(heroic recovery)”的处理中,仅在否则不可读取数据时(或具有高错误率时)使用,或者在需要时用于正常读取操作。
对于以下讨论,动态读取的例示性实施例将具有初始或默认的读取参数集合以及彼此偏移且从默认情况偏移的若干不同的动态读取电平集合。这些情况在偏压电平(诸如字线或位线层级)上或在比较点(诸如电压、电流或放电时间)上可以彼此不同。不同的动态读取情况的参数可存储在保持在非易失性存储器中的表中。这些参数可以基于经验测试或通过诸如所述的第7,876,621号美国专利的方法而被预载入。对于存储器的不同物理单位,可以保持正使用的当前读取情况的表。取决于实施方案,在存储器的块、平面、裸片或其它物理分区方面,这可以按各种解决水平完成,其中较小单位(诸如块级别)提供更大的准确性,但以更多开销为代价。此(物理单位、读取情况)对应性可以保持在控制器上,其中如所期望可以更新的副本被保持在非易失性存储器中;可替代地,在开始时,系统可以默认情况开始且随着系统操作而更新。在其它实施例中,可以在存储器芯片上做出所有确定。当进入读取请求时,确定对应的读取情况,然后设置用于此情况的读取参数。
当在正常读取处理期间错误量超过阈值时,存储器将从该读取参数集移位至下一集合,其中对所有存储器使用相同的读取参数集。例如,如果在以默认读取参数操作时错误量达到阈值水平,则系统可以来到第一动态读取情况,然后,该系统将对所有读取使用该第一动态读取情况继续进行。一旦此第一动态读取情况的所读取错误量达到阈值,则系统将切换至第二动态读取情况且使用此继续,以此类推。在一个变型中,系统切换至哪一动态读取情况可以基于错误量,如果错误量足够大,则跳过一个或多个中间情况。
如在前述部分中所讨论的,存储器系统将通常使用读取清除以试图通过将数据复制到新位置来刷新该数据。这些算法通常依赖于随机地或系统地扫描数据存储空间的部分(内务),或者依赖于实际的主机读取位置(有效读取)。在这些读取操作期间,系统将通常设置低于ECC校正水平的阈值以确定数据集是否需要刷新。因此,用于此处理的读取的完整性可靠是重要的。然而,当系统使用动态读取且跨越整个阵列应用相同的读取情况时,读取结果的完整性取决于如何使用动态读取。例如,由于一个或几个块在扩展的时段内是闲置的,因此这些块将可能在阈值分布上具有较多恶化并具有较大的数据保留问题,导致正使用的特定读取情况;但是,当然后将此相同的读取参数集应用于刚好已编程的块(且因此具有很少的数据恶化)时,这些参数将不是最佳的,从而尽管相当好地定义了此块的状态分布,但结果仍是相对高的ECC失败率。由于此,所得到的读取清除复制决定可能是不准确的。
因此读取清除是基于使用动态读取的系统的准确读取结果,这些部分呈现几个选项。在第一组实施例中,当执行用于清除的读取时,存储器系统使用默认读取值而不是当前的动态读取值集,如果这些值不同电话。这将是当存储器系统使用动态读取且由于某一较早读取的结果而已从默认值移位了其读取参数时的情形。当存储器系统执行用于内务操作的读取清除扫描时,其将禁用动态读取而是使用默认值。这类似于上文关于图9的步骤126但是在动态读取的上下文中所描述的处理。如果替代地,存储器系统正执行主动主机读取且可校正的ECC超过某一阈值,则将设置指示此数据(页或对应的块)需要稍后被重新检查的标志。然后,系统可以重新检查该页或选择检查整个对应块,因为该块的其余部分可能是对于数据保留有余量的。(例如,当重新检查特定页时,尽管该页可能通过,但是块中的其它页可能不通过。)当执行此重新检查时,则将禁用动态读取且使用默认读取参数。禁用动态读取的此配置通过参考到基本(baseline)默认值的读回而提供良好的读取结果。
在一个变型中,可以采用中间值(或多个中间值)而不是从当前动态读取电平返回至基本值。例如,如果系统使用例如十种动态读取情况,每一动态读取情况逐渐更远离默认值,且当前正用这些值中的第六个来执行读取,例如,而不是返回到默认情况,则可以使用中间动态读取情况(比如第三动态读取情况)。
根据第二组实施例,清除处理使用动态读取程序的方面来确定是继续使用而不刷新存储器块、刷新存储器块、还是淘汰(retire)存储器块。如之前,刷新意味着当在清除处理中将来自一块的数据重新写入(通常)至新块时,数据来自于的该块被返回至系统资源供未来使用。如果被淘汰,则源块替代地被视为是有缺陷的且不返回至池供未来使用。在这些实施例中,对是否应刷新或淘汰一块的确定基于正使用哪一动态读取情况编号。此第二组实施例允许系统通过以由用于提取块的一页的数据内容的特定动态读取情况所触发的失败类型为目标(刷新、淘汰或仅使其保持原样;排定优先级)而快速做出对块的清除的决定。
如上文所述,不同动态读取情况的读取参数可以存储在表中。当系统移位至特定动态读取情况编号时,则可以在该表中查找所读取的值。根据此组实施例的方面,动态读取表被配置为使得情况编号中的每个对应于系统应处置和应如何处置的失败类型:按原样继续使用该块、刷新该块、或淘汰该块。注意,比方法不取决于与ECC阈值的比较;即,ECC不用于计算然后与某一阈值或某些阈值进行比较的错误量。而是,当使用默认读取值或附近的动态读取情况时,块将不被刷新且继续按原样使用;但是随着动态读取情况编号的值的移位逐渐远离默认值,将基于使用的哪个情况编号来更新和淘汰该块。
进一步扩展此方法,系统可以基于动态读取情况来排定块的处置或刷新和淘汰的优先级。例如,尽管若干动态读取情况编号将对应于刷新,但是这些编号可以用于基于此读取情况编号来确定哪些块最需要刷新。在存储器系统中,例如,读取清除队列可以被定义为具有某一最大长度,比如8。该系统可以使用动态读取情况编号来对该队列添加块或排定块的优先级,将较紧急情况放置为朝向该线的前方,且向下移动(或如果将超过最大长度,则甚至从该队列移除)至较低优先级块。如果需要,也可以排定块的淘汰的优先级;例如,如果备用(spare)块的数目随着设备老化而开始减少,则可以保留其读取情况指示它们是有余量的块以供使用而不立即淘汰。
在其它变型中,如果希望做出是否更精确地执行清除的决定,则系统可以应用多个或甚至所有动态读取情况以在做出如何对待一块或分配优先级的确定之前找出哪一编号是最佳情况编号(例如,在最低可校正ECC阈值方面)。为了最小化当搜索最佳动态读取情况时的开销时间,控制器可以更智能地进行此搜索。该系统可以查看最新近使用情况以确定要检查的下一情况,而不是简单顺序的情况次序。例如,如果当前动态读取情况编号是4,则系统可以尝试将当前情况(此处为4)继续到最后使用的情况(例如0),然后继续至在该情况之前所使用的情况(例如情况7),以此类推,而不是顺序地继续到情况5和继续到情况6,以此类推。可以通过以下来进一步改善所涉及的开销时间:做出关于已经尝试的情况的数目的决定(例如,将所尝试的情况的数目限制为最大为例如3),然后使用这些情况用于确定该块与其它块如何“不同”以做出清除确定。
图11是帮助图示此处理的方面的流程图。在201处开始,接收读取命令。对于要读取的一个或多个页,基于其对应物理位置,在203处读出相关联的当前动态读取情况。在205处,存储器设置对于此情况的读取参数且执行读取操作。在207处,如果认为读取成功,则完成该读取处理(209)。(取决于实施方案,即使由于提取了数据内容而读取是成功的,但是认为错误水平太高,也可以改变读取情况,这又可以对应于如在215处的清除或淘汰。)如果替代地该读取失败,则在211处,将读取情况移位,且利用对应的读取参数执行新的读取。在213处,如果利用移位的读取情况的读取又失败,则处理循环回到211并再次将读取情况移位且再次执行读取(除非对重试的数目设置了限制且达到此限制,或如果可以将参数移位的广度已穷尽)。如果替代地在213处的读取成功,则基于该读取情况,在215处,存储器做出是否刷新、淘汰或继续按原样使用块的决定,如上文所述。也可以基于该读取情况来排定被标记用于刷新、淘汰或这两者的块的优先级。
结论
尽管已经关于本发明的例示性实施例描述了本发明的各个方面,但是将理解,本发明在所附权利要求的全部范围内进行保护。

Claims (21)

1.一种操作非易失性存储器系统的方法,包括:
对于默认读取情况和多个不同的移位的读取情况,维持一组读取参数;
对于存储器的一个或多个块的每个物理分区,维持物理单位和在读取该物理单位时使用的读取情况之间的对应性;
使用针对一页属于所述物理单位的对应读取情况,对该页数据执行读取操作;
确定所述读取操作是成功了还是产生了失败结果;
响应于读取操作产生了失败结果,选择能够读取该页的移位的读取情况;
以及
基于所选的移位的读取情况,确定是否刷新该页所属于的块。
2.如权利要求1所述的方法,其中该物理分区是块。
3.如权利要求1所述的方法,其中该物理分区是裸片。
4.如权利要求1所述的方法,其中该物理分区是平面。
5.如权利要求1所述的方法,其中所述读取情况在被选择用于读取操作的对存储器单元使用的偏压电平方面不同。
6.如权利要求1所述的方法,其中所述读取情况在用于读取操作的比较电平方面不同。
7.如权利要求1所述的方法,其中确定读取操作是成功了还是产生了失败结果包括确定该页的数据内容是否被成功提取。
8.如权利要求1所述的方法,其中确定读取操作是否产生了失败结果包括确定该读取得到超过界限的错误量。
9.如权利要求1所述的方法,其中多个读取情况对应于刷新,该方法还包括:
响应于确定刷新该页所属的块,基于所选的移位的读取情况,排定该页所属于的块相对于被安排刷新的其他块的刷新的优先级。
10.如权利要求1所述的方法,还包括:
基于所选的移位的读取情况,确定是否淘汰该页所属于的块。
11.如权利要求10所述的方法,其中多个读取情况对应于淘汰,该方法还包括:
响应于确定淘汰该页所属于的块,基于所选的移位的读取情况,排定该页所属于的块相对于被安排淘汰的其他块的淘汰的优先级。
12.如权利要求1所述的方法,其中选择能够读取该页的移位的读取情况包括以下的一个或多个重复:
将当前读取情况移位到不同的读取情况;以及
确定使用移位的读取情况的读取操作是成功了还是产生了失败结果。
13.如权利要求12所述的方法,其中所述当前读取情况被移位到其一组读取参数与当前读取情况相邻的读取情况。
14.如权利要求1所述的方法,其中选择能够读取该页的移位的读取情况包括从多个移位的读取情况中确定具有最低错误量的移位的读取情况。
15.如权利要求1所述的方法,还包括:
维持要刷新的块的队列;以及
响应于确定刷新该页所属于的块,将该页所属的块添加到所述队列。
16.如权利要求15所述的方法,还包括:
基于属于该队列的块的相应读取情况,排定该队列的优先级。
17.如权利要求16所述的方法,其中该队列具有最大长度,该方法还包括:
响应于将该页所属的块添加到所述队列,使得该队列的长度超过其最大值,从该队列中逐出具有最低优先级的块。
18.如权利要求1所述的方法,其中该存储器系统包括控制器电路和非易失性存储器电路,以及其中该控制器在该控制器上的易失性存储器中维持该物理单位和当读取该物理单位时使用的读取情况之间的对应性的副本。
19.如权利要求18所述的方法,其中该控制器还在非易失性存储器中维持该物理单位和当读取该物理单位时使用的读取情况之间的对应性的副本。
20.如权利要求1所述的方法,其中选择移位的读取情况包括:
选择就在当前读取情况之前使用的读取情况。
21.如权利要求20所述的方法,其中选择移位的读取情况还包括:
确定使用就在该当前读取情况之前使用的读取情况的读取操作是成功了还是产生了失败结果;以及
响应于产生了失败结果,随后基于使用就在该当前读取情况之前使用的读取情况的读取操作的结果与该当前读取情况的结果之间的比较确定进一步移位的读取情况。
CN201280057162.8A 2011-11-21 2012-10-24 用于动态读取的清除技术 Pending CN103946805A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161562080P 2011-11-21 2011-11-21
US61/562,080 2011-11-21
US13/435,476 2012-03-30
US13/435,476 US8687421B2 (en) 2011-11-21 2012-03-30 Scrub techniques for use with dynamic read
PCT/US2012/061617 WO2013077962A1 (en) 2011-11-21 2012-10-24 Scrub techniques for use with dynamic read

Publications (1)

Publication Number Publication Date
CN103946805A true CN103946805A (zh) 2014-07-23

Family

ID=48426809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280057162.8A Pending CN103946805A (zh) 2011-11-21 2012-10-24 用于动态读取的清除技术

Country Status (5)

Country Link
US (1) US8687421B2 (zh)
KR (1) KR101849440B1 (zh)
CN (1) CN103946805A (zh)
TW (1) TWI570560B (zh)
WO (1) WO2013077962A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808159A (zh) * 2015-01-16 2016-07-27 桑迪士克科技股份有限公司 贮存操作中断
CN107408408A (zh) * 2015-03-10 2017-11-28 美光科技公司 用于移位决定的装置及方法
CN109324921A (zh) * 2017-07-31 2019-02-12 大心电子(英属维京群岛)股份有限公司 数据备份方法、数据恢复方法以及存储控制器
CN114115716A (zh) * 2020-08-27 2022-03-01 美光科技公司 使用半良块的存储器装置虚拟块
CN114115716B (zh) * 2020-08-27 2024-04-16 美光科技公司 使用半良块的存储器装置虚拟块

Families Citing this family (235)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
US10043781B2 (en) 2009-10-12 2018-08-07 Monolithic 3D Inc. 3D semiconductor device and structure
US10366970B2 (en) 2009-10-12 2019-07-30 Monolithic 3D Inc. 3D semiconductor device and structure
US10354995B2 (en) 2009-10-12 2019-07-16 Monolithic 3D Inc. Semiconductor memory device and structure
US11374118B2 (en) 2009-10-12 2022-06-28 Monolithic 3D Inc. Method to form a 3D integrated circuit
US10388863B2 (en) 2009-10-12 2019-08-20 Monolithic 3D Inc. 3D memory device and structure
US10157909B2 (en) 2009-10-12 2018-12-18 Monolithic 3D Inc. 3D semiconductor device and structure
US11018133B2 (en) 2009-10-12 2021-05-25 Monolithic 3D Inc. 3D integrated circuit
US10910364B2 (en) 2009-10-12 2021-02-02 Monolitaic 3D Inc. 3D semiconductor device
US10217667B2 (en) 2011-06-28 2019-02-26 Monolithic 3D Inc. 3D semiconductor device, fabrication method and system
US10497713B2 (en) 2010-11-18 2019-12-03 Monolithic 3D Inc. 3D semiconductor memory device and structure
US11482440B2 (en) 2010-12-16 2022-10-25 Monolithic 3D Inc. 3D semiconductor device and structure with a built-in test circuit for repairing faulty circuits
US11315980B1 (en) 2010-10-11 2022-04-26 Monolithic 3D Inc. 3D semiconductor device and structure with transistors
US11469271B2 (en) 2010-10-11 2022-10-11 Monolithic 3D Inc. Method to produce 3D semiconductor devices and structures with memory
US11158674B2 (en) 2010-10-11 2021-10-26 Monolithic 3D Inc. Method to produce a 3D semiconductor device and structure
US11257867B1 (en) 2010-10-11 2022-02-22 Monolithic 3D Inc. 3D semiconductor device and structure with oxide bonds
US11024673B1 (en) 2010-10-11 2021-06-01 Monolithic 3D Inc. 3D semiconductor device and structure
US10896931B1 (en) 2010-10-11 2021-01-19 Monolithic 3D Inc. 3D semiconductor device and structure
US11018191B1 (en) 2010-10-11 2021-05-25 Monolithic 3D Inc. 3D semiconductor device and structure
US11600667B1 (en) 2010-10-11 2023-03-07 Monolithic 3D Inc. Method to produce 3D semiconductor devices and structures with memory
US10290682B2 (en) 2010-10-11 2019-05-14 Monolithic 3D Inc. 3D IC semiconductor device and structure with stacked memory
US11227897B2 (en) 2010-10-11 2022-01-18 Monolithic 3D Inc. Method for producing a 3D semiconductor memory device and structure
US11133344B2 (en) 2010-10-13 2021-09-28 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors
US11063071B1 (en) 2010-10-13 2021-07-13 Monolithic 3D Inc. Multilevel semiconductor device and structure with waveguides
US11855114B2 (en) 2010-10-13 2023-12-26 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors and wafer bonding
US10998374B1 (en) 2010-10-13 2021-05-04 Monolithic 3D Inc. Multilevel semiconductor device and structure
US10943934B2 (en) 2010-10-13 2021-03-09 Monolithic 3D Inc. Multilevel semiconductor device and structure
US11163112B2 (en) 2010-10-13 2021-11-02 Monolithic 3D Inc. Multilevel semiconductor device and structure with electromagnetic modulators
US11929372B2 (en) 2010-10-13 2024-03-12 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors and wafer bonding
US11869915B2 (en) 2010-10-13 2024-01-09 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors and wafer bonding
US10833108B2 (en) 2010-10-13 2020-11-10 Monolithic 3D Inc. 3D microdisplay device and structure
US11404466B2 (en) 2010-10-13 2022-08-02 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors
US10679977B2 (en) 2010-10-13 2020-06-09 Monolithic 3D Inc. 3D microdisplay device and structure
US11694922B2 (en) 2010-10-13 2023-07-04 Monolithic 3D Inc. Multilevel semiconductor device and structure with oxide bonding
US10978501B1 (en) 2010-10-13 2021-04-13 Monolithic 3D Inc. Multilevel semiconductor device and structure with waveguides
US11605663B2 (en) 2010-10-13 2023-03-14 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors and wafer bonding
US11043523B1 (en) 2010-10-13 2021-06-22 Monolithic 3D Inc. Multilevel semiconductor device and structure with image sensors
US11437368B2 (en) 2010-10-13 2022-09-06 Monolithic 3D Inc. Multilevel semiconductor device and structure with oxide bonding
US11164898B2 (en) 2010-10-13 2021-11-02 Monolithic 3D Inc. Multilevel semiconductor device and structure
US11327227B2 (en) 2010-10-13 2022-05-10 Monolithic 3D Inc. Multilevel semiconductor device and structure with electromagnetic modulators
US11855100B2 (en) 2010-10-13 2023-12-26 Monolithic 3D Inc. Multilevel semiconductor device and structure with oxide bonding
US11443971B2 (en) 2010-11-18 2022-09-13 Monolithic 3D Inc. 3D semiconductor device and structure with memory
US11121021B2 (en) 2010-11-18 2021-09-14 Monolithic 3D Inc. 3D semiconductor device and structure
US11164770B1 (en) 2010-11-18 2021-11-02 Monolithic 3D Inc. Method for producing a 3D semiconductor memory device and structure
US11784082B2 (en) 2010-11-18 2023-10-10 Monolithic 3D Inc. 3D semiconductor device and structure with bonding
US11482439B2 (en) 2010-11-18 2022-10-25 Monolithic 3D Inc. Methods for producing a 3D semiconductor memory device comprising charge trap junction-less transistors
US11482438B2 (en) 2010-11-18 2022-10-25 Monolithic 3D Inc. Methods for producing a 3D semiconductor memory device and structure
US11862503B2 (en) 2010-11-18 2024-01-02 Monolithic 3D Inc. Method for producing a 3D semiconductor device and structure with memory cells and multiple metal layers
US11495484B2 (en) 2010-11-18 2022-11-08 Monolithic 3D Inc. 3D semiconductor devices and structures with at least two single-crystal layers
US11355380B2 (en) 2010-11-18 2022-06-07 Monolithic 3D Inc. Methods for producing 3D semiconductor memory device and structure utilizing alignment marks
US11355381B2 (en) 2010-11-18 2022-06-07 Monolithic 3D Inc. 3D semiconductor memory device and structure
US11211279B2 (en) 2010-11-18 2021-12-28 Monolithic 3D Inc. Method for processing a 3D integrated circuit and structure
US11094576B1 (en) 2010-11-18 2021-08-17 Monolithic 3D Inc. Methods for producing a 3D semiconductor memory device and structure
US11923230B1 (en) 2010-11-18 2024-03-05 Monolithic 3D Inc. 3D semiconductor device and structure with bonding
US11610802B2 (en) 2010-11-18 2023-03-21 Monolithic 3D Inc. Method for producing a 3D semiconductor device and structure with single crystal transistors and metal gate electrodes
US11901210B2 (en) 2010-11-18 2024-02-13 Monolithic 3D Inc. 3D semiconductor device and structure with memory
US11854857B1 (en) 2010-11-18 2023-12-26 Monolithic 3D Inc. Methods for producing a 3D semiconductor device and structure with memory cells and multiple metal layers
US11508605B2 (en) 2010-11-18 2022-11-22 Monolithic 3D Inc. 3D semiconductor memory device and structure
US11004719B1 (en) 2010-11-18 2021-05-11 Monolithic 3D Inc. Methods for producing a 3D semiconductor memory device and structure
US11804396B2 (en) 2010-11-18 2023-10-31 Monolithic 3D Inc. Methods for producing a 3D semiconductor device and structure with memory cells and multiple metal layers
US11018042B1 (en) 2010-11-18 2021-05-25 Monolithic 3D Inc. 3D semiconductor memory device and structure
US11107721B2 (en) 2010-11-18 2021-08-31 Monolithic 3D Inc. 3D semiconductor device and structure with NAND logic
US11031275B2 (en) 2010-11-18 2021-06-08 Monolithic 3D Inc. 3D semiconductor device and structure with memory
US11615977B2 (en) 2010-11-18 2023-03-28 Monolithic 3D Inc. 3D semiconductor memory device and structure
US11569117B2 (en) 2010-11-18 2023-01-31 Monolithic 3D Inc. 3D semiconductor device and structure with single-crystal layers
US11521888B2 (en) 2010-11-18 2022-12-06 Monolithic 3D Inc. 3D semiconductor device and structure with high-k metal gate transistors
US11735462B2 (en) 2010-11-18 2023-08-22 Monolithic 3D Inc. 3D semiconductor device and structure with single-crystal layers
US9007836B2 (en) * 2011-01-13 2015-04-14 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
JP5377526B2 (ja) 2011-01-13 2013-12-25 株式会社東芝 不揮発性半導体記憶装置
KR101756111B1 (ko) 2011-04-15 2017-07-10 삼성전자 주식회사 메모리 컨트롤러 구동방법, 메모리 컨트롤러, 메모리 장치 및 메모리 시스템
US10388568B2 (en) 2011-06-28 2019-08-20 Monolithic 3D Inc. 3D semiconductor device and system
US9058289B2 (en) 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information generation for memory systems
US11476181B1 (en) 2012-04-09 2022-10-18 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers
US11594473B2 (en) 2012-04-09 2023-02-28 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and a connective path
US11735501B1 (en) 2012-04-09 2023-08-22 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and a connective path
US11410912B2 (en) 2012-04-09 2022-08-09 Monolithic 3D Inc. 3D semiconductor device with vias and isolation layers
US11694944B1 (en) 2012-04-09 2023-07-04 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and a connective path
US11164811B2 (en) 2012-04-09 2021-11-02 Monolithic 3D Inc. 3D semiconductor device with isolation layers and oxide-to-oxide bonding
US10600888B2 (en) 2012-04-09 2020-03-24 Monolithic 3D Inc. 3D semiconductor device
US11881443B2 (en) 2012-04-09 2024-01-23 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and a connective path
US11616004B1 (en) 2012-04-09 2023-03-28 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and a connective path
US11088050B2 (en) 2012-04-09 2021-08-10 Monolithic 3D Inc. 3D semiconductor device with isolation layers
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US8966343B2 (en) * 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
WO2014074496A2 (en) 2012-11-09 2014-05-15 Sandisk Technologies Inc. Cam nand with or function and full chip search capability
US9171620B2 (en) * 2012-11-29 2015-10-27 Sandisk Technologies Inc. Weighted read scrub for nonvolatile memory
US11916045B2 (en) 2012-12-22 2024-02-27 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers
US11217565B2 (en) 2012-12-22 2022-01-04 Monolithic 3D Inc. Method to form a 3D semiconductor device and structure
US11784169B2 (en) 2012-12-22 2023-10-10 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers
US11309292B2 (en) 2012-12-22 2022-04-19 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers
US11018116B2 (en) 2012-12-22 2021-05-25 Monolithic 3D Inc. Method to form a 3D semiconductor device and structure
US11063024B1 (en) 2012-12-22 2021-07-13 Monlithic 3D Inc. Method to form a 3D semiconductor device and structure
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US11430668B2 (en) 2012-12-29 2022-08-30 Monolithic 3D Inc. 3D semiconductor device and structure with bonding
US11004694B1 (en) 2012-12-29 2021-05-11 Monolithic 3D Inc. 3D semiconductor device and structure
US10600657B2 (en) 2012-12-29 2020-03-24 Monolithic 3D Inc 3D semiconductor device and structure
US10651054B2 (en) 2012-12-29 2020-05-12 Monolithic 3D Inc. 3D semiconductor device and structure
US10892169B2 (en) 2012-12-29 2021-01-12 Monolithic 3D Inc. 3D semiconductor device and structure
US10115663B2 (en) 2012-12-29 2018-10-30 Monolithic 3D Inc. 3D semiconductor device and structure
US11430667B2 (en) 2012-12-29 2022-08-30 Monolithic 3D Inc. 3D semiconductor device and structure with bonding
US11177140B2 (en) 2012-12-29 2021-11-16 Monolithic 3D Inc. 3D semiconductor device and structure
US10903089B1 (en) 2012-12-29 2021-01-26 Monolithic 3D Inc. 3D semiconductor device and structure
US11087995B1 (en) 2012-12-29 2021-08-10 Monolithic 3D Inc. 3D semiconductor device and structure
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US11935949B1 (en) 2013-03-11 2024-03-19 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and memory cells
US8902663B1 (en) 2013-03-11 2014-12-02 Monolithic 3D Inc. Method of maintaining a memory state
US11869965B2 (en) 2013-03-11 2024-01-09 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers and memory cells
US10325651B2 (en) * 2013-03-11 2019-06-18 Monolithic 3D Inc. 3D semiconductor device with stacked memory
US11088130B2 (en) 2014-01-28 2021-08-10 Monolithic 3D Inc. 3D semiconductor device and structure
US10840239B2 (en) 2014-08-26 2020-11-17 Monolithic 3D Inc. 3D semiconductor device and structure
US11398569B2 (en) 2013-03-12 2022-07-26 Monolithic 3D Inc. 3D semiconductor device and structure
US11923374B2 (en) 2013-03-12 2024-03-05 Monolithic 3D Inc. 3D semiconductor device and structure with metal layers
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US10224279B2 (en) 2013-03-15 2019-03-05 Monolithic 3D Inc. Semiconductor device and structure
US11720736B2 (en) 2013-04-15 2023-08-08 Monolithic 3D Inc. Automation methods for 3D integrated circuits and devices
US9021414B1 (en) 2013-04-15 2015-04-28 Monolithic 3D Inc. Automation for monolithic 3D devices
US11030371B2 (en) 2013-04-15 2021-06-08 Monolithic 3D Inc. Automation for monolithic 3D devices
US11270055B1 (en) 2013-04-15 2022-03-08 Monolithic 3D Inc. Automation for monolithic 3D devices
US11341309B1 (en) 2013-04-15 2022-05-24 Monolithic 3D Inc. Automation for monolithic 3D devices
US11487928B2 (en) 2013-04-15 2022-11-01 Monolithic 3D Inc. Automation for monolithic 3D devices
US11574109B1 (en) 2013-04-15 2023-02-07 Monolithic 3D Inc Automation methods for 3D integrated circuits and devices
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9727413B2 (en) * 2013-06-28 2017-08-08 International Business Machines Corporation Flash memory scrub management
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9298534B2 (en) * 2013-09-05 2016-03-29 Kabushiki Kaisha Toshiba Memory system and constructing method of logical block
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) * 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
US11031394B1 (en) 2014-01-28 2021-06-08 Monolithic 3D Inc. 3D semiconductor device and structure
US10297586B2 (en) 2015-03-09 2019-05-21 Monolithic 3D Inc. Methods for processing a 3D semiconductor device
US11107808B1 (en) 2014-01-28 2021-08-31 Monolithic 3D Inc. 3D semiconductor device and structure
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9230689B2 (en) * 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
KR101821515B1 (ko) 2014-04-16 2018-01-23 인텔 코포레이션 메모리 제어기를 이용하여 데이터 에러 이벤트들을 핸들링하기 위한 방법, 장치 및 시스템
US9501222B2 (en) * 2014-05-09 2016-11-22 Micron Technology, Inc. Protection zones in virtualized physical addresses for reconfigurable memory systems using a memory abstraction
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
KR102190241B1 (ko) 2014-07-31 2020-12-14 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
DE102014115885B4 (de) * 2014-10-31 2018-03-08 Infineon Technologies Ag Funktionstüchtigkeitszustand von nicht-flüchtigem Speicher
US9658963B2 (en) * 2014-12-23 2017-05-23 Intel Corporation Speculative reads in buffered memory
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US9928138B2 (en) 2015-02-17 2018-03-27 Toshiba Memory Corporation Memory system
US11011507B1 (en) 2015-04-19 2021-05-18 Monolithic 3D Inc. 3D semiconductor device and structure
US10825779B2 (en) 2015-04-19 2020-11-03 Monolithic 3D Inc. 3D semiconductor device and structure
US11056468B1 (en) 2015-04-19 2021-07-06 Monolithic 3D Inc. 3D semiconductor device and structure
US10381328B2 (en) 2015-04-19 2019-08-13 Monolithic 3D Inc. Semiconductor device and structure
KR20160146332A (ko) * 2015-06-12 2016-12-21 에스케이하이닉스 주식회사 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법
TWI563509B (en) * 2015-07-07 2016-12-21 Phison Electronics Corp Wear leveling method, memory storage device and memory control circuit unit
US9864653B2 (en) 2015-07-30 2018-01-09 International Business Machines Corporation Memory scrubbing in a mirrored memory system to reduce system power consumption
US9766814B2 (en) 2015-08-10 2017-09-19 Intel Corporation Method and apparatus for defect management in a non-volatile memory device
US11956952B2 (en) 2015-08-23 2024-04-09 Monolithic 3D Inc. Semiconductor memory device and structure
CN115942752A (zh) 2015-09-21 2023-04-07 莫诺利特斯3D有限公司 3d半导体器件和结构
US10522225B1 (en) 2015-10-02 2019-12-31 Monolithic 3D Inc. Semiconductor device with non-volatile memory
US11114464B2 (en) 2015-10-24 2021-09-07 Monolithic 3D Inc. 3D semiconductor device and structure
US10847540B2 (en) 2015-10-24 2020-11-24 Monolithic 3D Inc. 3D semiconductor memory device and structure
US11296115B1 (en) 2015-10-24 2022-04-05 Monolithic 3D Inc. 3D semiconductor device and structure
US10418369B2 (en) 2015-10-24 2019-09-17 Monolithic 3D Inc. Multi-level semiconductor memory device and structure
US11937422B2 (en) 2015-11-07 2024-03-19 Monolithic 3D Inc. Semiconductor memory device and structure
US11114427B2 (en) 2015-11-07 2021-09-07 Monolithic 3D Inc. 3D semiconductor processor and memory device and structure
FR3044818B1 (fr) * 2015-12-02 2018-03-30 Stmicroelectronics (Rousset) Sas Procede de gestion d'une ligne defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
US9996281B2 (en) 2016-03-04 2018-06-12 Western Digital Technologies, Inc. Temperature variation compensation
US10564900B2 (en) 2016-03-04 2020-02-18 Western Digital Technologies, Inc. Temperature variation compensation
US10446242B2 (en) 2016-05-27 2019-10-15 Western Digital Technologies, Inc. Temperature variation compensation
US9715937B1 (en) 2016-06-15 2017-07-25 Sandisk Technologies Llc Dynamic tuning of first read countermeasures
US9711231B1 (en) 2016-06-24 2017-07-18 Sandisk Technologies Llc System solution for first read issue using time dependent read voltages
US10241860B2 (en) * 2016-08-15 2019-03-26 Samsung Electronics Co., Ltd. Method of executing data scrubbing inside a smart storage device
KR102559530B1 (ko) * 2016-09-19 2023-07-27 에스케이하이닉스 주식회사 저항성 메모리 장치, 이를 위한 디스터번스 방지 회로 및 방법
US11711928B2 (en) 2016-10-10 2023-07-25 Monolithic 3D Inc. 3D memory devices and structures with control circuits
US11869591B2 (en) 2016-10-10 2024-01-09 Monolithic 3D Inc. 3D memory devices and structures with control circuits
US11329059B1 (en) 2016-10-10 2022-05-10 Monolithic 3D Inc. 3D memory devices and structures with thinned single crystal substrates
US11251149B2 (en) 2016-10-10 2022-02-15 Monolithic 3D Inc. 3D memory device and structure
US11812620B2 (en) 2016-10-10 2023-11-07 Monolithic 3D Inc. 3D DRAM memory devices and structures with control circuits
US11930648B1 (en) 2016-10-10 2024-03-12 Monolithic 3D Inc. 3D memory devices and structures with metal layers
US10558381B2 (en) 2016-12-16 2020-02-11 Sandisk Technologies Llc Dynamic read table generation
US10025661B1 (en) 2016-12-27 2018-07-17 Sandisk Technologies Llc Adaptive hard and soft bit decoding
US10304559B2 (en) 2016-12-30 2019-05-28 Western Digital Technologies, Inc. Memory write verification using temperature compensation
US10553301B2 (en) 2017-06-03 2020-02-04 Sandisk Technologies Llc Dynamic read table block filter
TWI621018B (zh) * 2017-07-24 2018-04-11 大陸商深圳大心電子科技有限公司 資料備份方法、資料恢復方法以及儲存控制器
US10387281B2 (en) 2017-08-30 2019-08-20 Micron Technology, Inc. Flash memory block retirement policy
US10522229B2 (en) * 2017-08-30 2019-12-31 Micron Technology, Inc. Secure erase for data corruption
US10347315B2 (en) 2017-10-31 2019-07-09 Sandisk Technologies Llc Group read refresh
US10734084B2 (en) * 2018-05-31 2020-08-04 Western Digital Technologies, Inc. Scheme to reduce read disturb for high read intensive blocks in non-volatile memory
US11119662B2 (en) 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform a data integrity check of copies of a data set using a machine learning module
US11099743B2 (en) 2018-06-29 2021-08-24 International Business Machines Corporation Determining when to replace a storage device using a machine learning module
US11119850B2 (en) * 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform error checking of a storage unit by using a machine learning module
US10877880B2 (en) 2018-10-11 2020-12-29 Micron Technology, Inc. Unretiring memory device blocks
US11763864B2 (en) 2019-04-08 2023-09-19 Monolithic 3D Inc. 3D memory semiconductor devices and structures with bit-line pillars
US11158652B1 (en) 2019-04-08 2021-10-26 Monolithic 3D Inc. 3D memory semiconductor devices and structures
US11296106B2 (en) 2019-04-08 2022-04-05 Monolithic 3D Inc. 3D memory semiconductor devices and structures
US10892016B1 (en) 2019-04-08 2021-01-12 Monolithic 3D Inc. 3D memory semiconductor devices and structures
US11018156B2 (en) 2019-04-08 2021-05-25 Monolithic 3D Inc. 3D memory semiconductor devices and structures
US10734079B1 (en) * 2019-05-17 2020-08-04 Western Digital Technologies, Inc. Sub block mode read scrub design for non-volatile memory
US11347884B2 (en) 2019-07-02 2022-05-31 Bank Of America Corporation Data security tool
US10922012B1 (en) * 2019-09-03 2021-02-16 Dropbox, Inc. Fair data scrubbing in a data storage system
WO2022066178A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Adaptive internal memory error scrubbing and error handling
KR20220049397A (ko) 2020-10-14 2022-04-21 삼성전자주식회사 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
US11579772B2 (en) 2020-11-25 2023-02-14 Micron Technology, Inc. Managing page retirement for non-volatile memory
US11609857B2 (en) 2020-12-04 2023-03-21 Micron Technology, Inc. Identification and caching of frequent read disturb aggressors
US11699498B2 (en) 2020-12-04 2023-07-11 Micron Technology, Inc. Managing probabilistic data integrity scan intervals
US11409599B2 (en) 2020-12-04 2022-08-09 Micron Technology, Inc. Managing probabilistic data integrity scans in workloads with localized read patterns
US11467737B2 (en) * 2020-12-04 2022-10-11 Micron Technology, Inc. Reducing probabilistic data integrity scan collisions
US20230409239A1 (en) * 2022-06-21 2023-12-21 Micron Technology, Inc. Efficient command fetching in a memory sub-system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339546B1 (en) * 1999-09-17 2002-01-15 Hitachi, Ltd. Storage device counting error correction
US20050141312A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Non-volatile memory and method with non-sequential update block management
US20080123420A1 (en) * 2006-11-03 2008-05-29 Yigal Brandman Nonvolatile Memory With Variable Read Threshold
US20090003058A1 (en) * 2007-06-28 2009-01-01 Samsung Electronics Co., Ltd. Flash memory device and method for adjusting read voltage of flash memory device
CN101339526A (zh) * 2007-06-19 2009-01-07 三星电子株式会社 检测由于读干扰而造成的位错误的存储系统及其方法
CN101673226A (zh) * 2008-06-30 2010-03-17 英特尔公司 Nand错误管理
US7843727B2 (en) * 2008-01-30 2010-11-30 Samsung Electronics Co., Ltd. Memory device and data reading method
WO2011024015A1 (en) * 2009-08-25 2011-03-03 Sandisk Il Ltd. Restoring data into a flash storage device
US8014201B2 (en) * 2008-07-30 2011-09-06 Samsung Electronics Co., Ltd. Nonvolatile memory device extracting parameters and nonvolatile memory system including the same

Family Cites Families (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US531342A (en) 1894-12-25 Excelsior-cutting machine
US4139911A (en) 1978-03-13 1979-02-13 Westinghouse Electric Corp. High speed sense circuit for semiconductor memories
US4218764A (en) 1978-10-03 1980-08-19 Matsushita Electric Industrial Co., Ltd. Non-volatile memory refresh control circuit
US4253059A (en) 1979-05-14 1981-02-24 Fairchild Camera & Instrument Corp. EPROM Reliability test circuit
JPS58139399A (ja) 1982-02-15 1983-08-18 Hitachi Ltd 半導体記憶装置
US4460982A (en) 1982-05-20 1984-07-17 Intel Corporation Intelligent electrically programmable and electrically erasable ROM
JPS6134793A (ja) 1984-07-27 1986-02-19 Hitachi Ltd ダイナミツクメモリ装置における診断及びエラ−訂正装置
US4612630A (en) 1984-07-27 1986-09-16 Harris Corporation EEPROM margin testing design
JPS6148197A (ja) 1984-08-13 1986-03-08 Fujitsu Ltd チヤ−ジアツプ回路
JPS61172300A (ja) 1985-01-26 1986-08-02 Toshiba Corp 半導体記憶装置
EP0198935A1 (de) 1985-04-23 1986-10-29 Deutsche ITT Industries GmbH Elektrisch umprogrammierbarer Halbleiterspeicher mit Redundanz
US4962322A (en) 1988-12-05 1990-10-09 Texas Instruments Incorporated Nonvolatible capacitor random access memory
JPS62114200A (ja) 1985-11-13 1987-05-25 Mitsubishi Electric Corp 半導体メモリ装置
US5157629A (en) 1985-11-22 1992-10-20 Hitachi, Ltd. Selective application of voltages for testing storage cells in semiconductor memory arrangements
US4763305A (en) 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
JPH0715799B2 (ja) 1987-06-30 1995-02-22 日本電気株式会社 半導体記憶装置
FR2618579B1 (fr) 1987-07-21 1989-11-10 Thomson Semiconducteurs Circuit integre a memoire comportant un dispositif anti-fraude
JPS6476596A (en) 1987-09-18 1989-03-22 Oki Electric Ind Co Ltd Error of eeprom detecting device
US4809231A (en) 1987-11-12 1989-02-28 Motorola, Inc. Method and apparatus for post-packaging testing of one-time programmable memories
FR2630573B1 (fr) 1988-04-26 1990-07-13 Sgs Thomson Microelectronics Memoire programmable electriquement avec plusieurs bits d'information par cellule
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
JPH07105146B2 (ja) 1988-07-29 1995-11-13 三菱電機株式会社 不揮発性記憶装置
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
JPH02260298A (ja) 1989-03-31 1990-10-23 Oki Electric Ind Co Ltd 不揮発性多値メモリ装置
US4980859A (en) 1989-04-07 1990-12-25 Xicor, Inc. NOVRAM cell using two differential decouplable nonvolatile memory elements
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JPH0664918B2 (ja) 1989-05-25 1994-08-22 ローム株式会社 自己訂正機能を有する半導体記憶装置
JPH07114077B2 (ja) 1989-06-01 1995-12-06 三菱電機株式会社 不揮発性半導体記憶装置
US5258958A (en) 1989-06-12 1993-11-02 Kabushiki Kaisha Toshiba Semiconductor memory device
FR2650109B1 (fr) 1989-07-20 1993-04-02 Gemplus Card Int Circuit integre mos a tension de seuil ajustable
JPH03162800A (ja) 1989-08-29 1991-07-12 Mitsubishi Electric Corp 半導体メモリ装置
US5065364A (en) 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5270551A (en) 1990-02-14 1993-12-14 Hitachi, Ltd. Method of and apparatus for protecting electronic circuit against radiation
US4975883A (en) 1990-03-29 1990-12-04 Intel Corporation Method and apparatus for preventing the erasure and programming of a nonvolatile memory
US5132935A (en) 1990-04-16 1992-07-21 Ashmore Jr Benjamin H Erasure of eeprom memory arrays to prevent over-erased cells
US5122985A (en) 1990-04-16 1992-06-16 Giovani Santin Circuit and method for erasing eeprom memory arrays to prevent over-erased cells
US5200922A (en) 1990-10-24 1993-04-06 Rao Kameswara K Redundancy circuit for high speed EPROM and flash memory devices
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5239505A (en) 1990-12-28 1993-08-24 Intel Corporation Floating gate non-volatile memory with blocks and memory refresh
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5263032A (en) 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5313427A (en) 1991-09-20 1994-05-17 Texas Instruments Incorporated EEPROM array with narrow margin of voltage thresholds after erase
JPH05109292A (ja) 1991-10-14 1993-04-30 Toshiba Corp 不揮発性半導体記憶装置
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
US5347489A (en) 1992-04-21 1994-09-13 Intel Corporation Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy
US5327383A (en) 1992-04-21 1994-07-05 Intel Corporation Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5550394A (en) 1993-06-18 1996-08-27 Texas Instruments Incorporated Semiconductor memory device and defective memory cell correction circuit
JPH065823A (ja) 1992-06-19 1994-01-14 Toshiba Corp 不揮発性半導体記憶装置及びその使用方法
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP2708333B2 (ja) 1992-09-02 1998-02-04 株式会社東芝 レベルシフタ回路
US5365486A (en) 1992-12-16 1994-11-15 Texas Instruments Incorporated Method and circuitry for refreshing a flash electrically erasable, programmable read only memory
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5335198A (en) 1993-05-06 1994-08-02 Advanced Micro Devices, Inc. Flash EEPROM array with high endurance
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3999822B2 (ja) 1993-12-28 2007-10-31 株式会社東芝 記憶システム
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
GB2289779B (en) 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US5523972A (en) 1994-06-02 1996-06-04 Intel Corporation Method and apparatus for verifying the programming of multi-level flash EEPROM memory
US5450363A (en) 1994-06-02 1995-09-12 Intel Corporation Gray coding for a multilevel cell memory system
JP3563452B2 (ja) 1994-08-10 2004-09-08 株式会社東芝 セル閾値分布検知回路およびセル閾値分布検知方法
FR2728380A1 (fr) 1994-12-20 1996-06-21 Sgs Thomson Microelectronics Procede d'ecriture de donnees dans une memoire et memoire electriquement programmable correspondante
US5475693A (en) 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP3274306B2 (ja) 1995-01-20 2002-04-15 株式会社東芝 半導体集積回路装置
US5889698A (en) 1995-01-31 1999-03-30 Hitachi, Ltd. Nonvolatile memory device and refreshing method
US5530705A (en) 1995-02-08 1996-06-25 International Business Machines Corporation Soft error recovery system and method
US5513144A (en) 1995-02-13 1996-04-30 Micron Technology, Inc. On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same
US5699297A (en) 1995-05-30 1997-12-16 Kabushiki Kaisha Toshiba Method of rewriting data in a microprocessor additionally provided with a flash memory
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5687114A (en) 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
US5703506A (en) 1995-12-26 1997-12-30 Motorola Signal processing method
FR2745114B1 (fr) 1996-02-20 1998-04-17 Sgs Thomson Microelectronics Memoire non volatile multiniveau modifiable electriquement avec rafraichissement autonome
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5712815A (en) 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
US5715193A (en) 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
US5675537A (en) 1996-08-22 1997-10-07 Advanced Micro Devices, Inc. Erase method for page mode multiple bits-per-cell flash EEPROM
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5717632A (en) 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
US5835413A (en) 1996-12-20 1998-11-10 Intel Corporation Method for improved data retention in a nonvolatile writeable memory by sensing and reprogramming cell voltage levels
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US5909449A (en) 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
JP3177207B2 (ja) 1998-01-27 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション リフレッシュ間隔制御装置及び方法、並びにコンピュータ
JP2000187992A (ja) 1998-12-17 2000-07-04 Mitsubishi Electric Corp 電気的書換可能な不揮発性メモリのリフレッシュ制御回路
US6215697B1 (en) 1999-01-14 2001-04-10 Macronix International Co., Ltd. Multi-level memory cell device and method for self-converged programming
JP2000251483A (ja) 1999-02-24 2000-09-14 Sanyo Electric Co Ltd 1チップマイクロコンピュータとそのデータリフレッシュ方法
US6222768B1 (en) 2000-01-28 2001-04-24 Advanced Micro Devices, Inc. Auto adjusting window placement scheme for an NROM virtual ground array
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6772274B1 (en) 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
JP4323707B2 (ja) 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3812933B2 (ja) 2001-04-19 2006-08-23 シャープ株式会社 ファイルシステムおよびその制御方法
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
JP4059472B2 (ja) 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6678785B2 (en) 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6560152B1 (en) 2001-11-02 2003-05-06 Sandisk Corporation Non-volatile memory with temperature-compensated data read
US6678192B2 (en) 2001-11-02 2004-01-13 Sandisk Corporation Error management for writable tracking storage units
JP2003242789A (ja) 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2003257192A (ja) 2002-03-06 2003-09-12 Mitsubishi Electric Corp 半導体記憶装置および不揮発性半導体記憶装置
US6963505B2 (en) 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US6912160B2 (en) 2003-03-11 2005-06-28 Fujitsu Limited Nonvolatile semiconductor memory device
US6839281B2 (en) 2003-04-14 2005-01-04 Jian Chen Read and erase verify methods and circuits suitable for low voltage non-volatile memories
US7076598B2 (en) 2003-09-09 2006-07-11 Solid State System Co., Ltd. Pipeline accessing method to a large block memory
US7173852B2 (en) 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP4063239B2 (ja) 2004-04-16 2008-03-19 ソニー株式会社 データ読出し回路及びこの回路を有する半導体装置
JP4083147B2 (ja) 2004-07-02 2008-04-30 シャープ株式会社 半導体記憶装置
US7242618B2 (en) 2004-12-09 2007-07-10 Saifun Semiconductors Ltd. Method for reading non-volatile memory cells
US7257025B2 (en) 2004-12-09 2007-08-14 Saifun Semiconductors Ltd Method for reading non-volatile memory cells
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
JP4660353B2 (ja) 2005-11-01 2011-03-30 株式会社東芝 記憶媒体再生装置
US7254071B2 (en) 2006-01-12 2007-08-07 Sandisk Corporation Flash memory devices with trimmed analog voltages
US7286412B1 (en) 2006-05-09 2007-10-23 Macronix International Co., Ltd. Method and apparatus to improve nonvolatile memory data retention
US7613043B2 (en) 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7952922B2 (en) 2006-06-06 2011-05-31 Micron Technology, Inc. Method for programming a non-volatile memory device to reduce floating-gate-to-floating-gate coupling effect
US7489549B2 (en) 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7330376B1 (en) 2006-07-27 2008-02-12 Macronix International Co., Ltd. Method for memory data storage by partition into narrower threshold voltage distribution regions
US7450425B2 (en) 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US8050901B2 (en) 2006-09-14 2011-11-01 Taiwan Semiconductor Manufacturing Company, Ltd. Prediction and control of NBTI of integrated circuits
US7886204B2 (en) 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7716538B2 (en) 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US7489547B2 (en) 2006-12-29 2009-02-10 Sandisk Corporation Method of NAND flash memory cell array with adaptive memory state partitioning
US7489548B2 (en) 2006-12-29 2009-02-10 Sandisk Corporation NAND flash memory cell array with adaptive memory state partitioning
US7876621B2 (en) 2007-04-23 2011-01-25 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
KR100838292B1 (ko) 2007-06-20 2008-06-17 삼성전자주식회사 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
TWI352354B (en) * 2007-12-31 2011-11-11 Phison Electronics Corp Method for preventing read-disturb happened in non
JP2009211234A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
US8259506B1 (en) * 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
US8214700B2 (en) * 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
TWI474330B (zh) * 2010-04-19 2015-02-21 Silicon Motion Inc 用來進行記憶體存取管理之方法以及記憶裝置及其控制器

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339546B1 (en) * 1999-09-17 2002-01-15 Hitachi, Ltd. Storage device counting error correction
US20050141312A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Non-volatile memory and method with non-sequential update block management
CN1922580A (zh) * 2003-12-30 2007-02-28 桑迪士克股份有限公司 具有阶段性编程失败处置的非易失性存储器和方法
US20080123420A1 (en) * 2006-11-03 2008-05-29 Yigal Brandman Nonvolatile Memory With Variable Read Threshold
CN101339526A (zh) * 2007-06-19 2009-01-07 三星电子株式会社 检测由于读干扰而造成的位错误的存储系统及其方法
US20090003058A1 (en) * 2007-06-28 2009-01-01 Samsung Electronics Co., Ltd. Flash memory device and method for adjusting read voltage of flash memory device
US7843727B2 (en) * 2008-01-30 2010-11-30 Samsung Electronics Co., Ltd. Memory device and data reading method
CN101673226A (zh) * 2008-06-30 2010-03-17 英特尔公司 Nand错误管理
US8014201B2 (en) * 2008-07-30 2011-09-06 Samsung Electronics Co., Ltd. Nonvolatile memory device extracting parameters and nonvolatile memory system including the same
WO2011024015A1 (en) * 2009-08-25 2011-03-03 Sandisk Il Ltd. Restoring data into a flash storage device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808159A (zh) * 2015-01-16 2016-07-27 桑迪士克科技股份有限公司 贮存操作中断
CN105808159B (zh) * 2015-01-16 2019-07-05 桑迪士克科技有限责任公司 贮存操作中断
CN107408408A (zh) * 2015-03-10 2017-11-28 美光科技公司 用于移位决定的装置及方法
CN107408408B (zh) * 2015-03-10 2021-03-05 美光科技公司 用于移位决定的装置及方法
US11107520B2 (en) 2015-03-10 2021-08-31 Micron Technology, Inc. Apparatuses and methods for shift decisions
CN109324921A (zh) * 2017-07-31 2019-02-12 大心电子(英属维京群岛)股份有限公司 数据备份方法、数据恢复方法以及存储控制器
CN114115716A (zh) * 2020-08-27 2022-03-01 美光科技公司 使用半良块的存储器装置虚拟块
CN114115716B (zh) * 2020-08-27 2024-04-16 美光科技公司 使用半良块的存储器装置虚拟块

Also Published As

Publication number Publication date
TWI570560B (zh) 2017-02-11
WO2013077962A1 (en) 2013-05-30
KR101849440B1 (ko) 2018-04-16
TW201337559A (zh) 2013-09-16
US8687421B2 (en) 2014-04-01
KR20140096059A (ko) 2014-08-04
US20130128666A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
CN103946805A (zh) 用于动态读取的清除技术
KR101127882B1 (ko) 플래쉬 메모리 데이터 정정 및 스크럽 기법
EP1941368B1 (en) Corrected data storage and handling methods
US9466370B2 (en) Non-volatile semiconductor storage device
US9875803B2 (en) Memory system and method of controlling nonvolatile memory
US20080239808A1 (en) Flash Memory Refresh Techniques Triggered by Controlled Scrub Data Reads
CN102918599A (zh) 具有基本程序序列和写中止检测的非易失性存储器和方法
KR101468432B1 (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
US11940871B2 (en) Memory system and memory control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140723