CN1720586B - 多状态存储器的智能检验 - Google Patents

多状态存储器的智能检验 Download PDF

Info

Publication number
CN1720586B
CN1720586B CN2003801051212A CN200380105121A CN1720586B CN 1720586 B CN1720586 B CN 1720586B CN 2003801051212 A CN2003801051212 A CN 2003801051212A CN 200380105121 A CN200380105121 A CN 200380105121A CN 1720586 B CN1720586 B CN 1720586B
Authority
CN
China
Prior art keywords
check
subclass
desired value
programming
state
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.)
Expired - Fee Related
Application number
CN2003801051212A
Other languages
English (en)
Other versions
CN1720586A (zh
Inventor
杰弗里·S·冈沃尔
丹尼尔·C·古特曼
尤平·卡温·方
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.)
Delphi International Operations Luxembourg SARL
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 CN1720586A publication Critical patent/CN1720586A/zh
Application granted granted Critical
Publication of CN1720586B publication Critical patent/CN1720586B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • 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/5628Programming or writing circuits; Data input 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Abstract

本发明提出一种“智能检验”技术,借此通过使用对于基于依序状态检验实施的多状态检验范围的基于检验结果的动态调整来编程多状态存储器。通过提供“智能”方法最小化写入序列的每个编程/检验/锁定步骤的依序检验操作的数量,此项技术可在维持依序检验的多状态存储器实施内的可靠操作的同时,提高多状态写入速度。在编程/检验序列开始时,在检测阶段中,仅对于最低一或多个状态进行检测。一旦达到最低状态,则可将额外的较高状态加入该检验序列中并电平移除较低状态。

Description

多状态存储器的智能检验
技术领域
本发明涉及半导体非易失性数据存储系统结构领域和其操作方法,且具体而言涉及程序检验方法。
许多结构都适用于非易失性存储器。一个设计的或非阵列具有在相邻位(列)线之间相连接的存储单元和连接到字(行)线的控制闸。所述个别单元含有:一个浮闸晶体管,其带有或不带有与之串联形成的选择晶体管;或由一单一选择晶体管所隔开的两个浮闸晶体管。所述阵列及其在存储系统中的用途的实例将在随后的美国专利和SanDisk公司的待决申请案中给出:第5,095,344号、第5,172,338号、第5,602,987号、第5,663,901号、第5,430,859号、第5,657,332号、第5,712,180号、第5,890,192号、第6,103,573号、第6,151,248号和第6,426,893号专利案以及于2000年9月22日申请的第09/667,344号专利案,上述专利案的全文均以引用方式并入本文中。
背景技术
一具有许多存储单元(如8个、16个或甚至32个)的与非阵列设计,这些存储单元在位线与通过任一端处的选择晶体管的参考电势之间以串联串而连接。字线经由多个所述不同的串联串而连接到单元相应的控制闸。
当将每个存储元件数据的多状态写入到非易失性存储器(如,快闪电可擦除且可编程只读存储器(EEPROM))中时,通常将写入或编程操作设计成将存储元件的目标全体渐进地移动通过一系列数据状态,直到每个元件达到其所要的状态为止。此通过以下方式而实现:递增地改变存储元件的状态、在检验处理中感应一指示此状态的参数且进一步改变尚未检验为处于其所要的最终或目标状态的所述单元的状态。在EEPROM中,此通常包含:提高阈电压(Vth)电平(从经擦除状态或0状态开始),使用对于每个随后编程脉冲的依序增加的转向电压步阶(例如,阶梯)实施。当每个存储元件穿过其待写入Vth数据状态目标时,其在对应的状态检验操作期间被锁定,从而在写入会话期间终止所有的随后对相关存储元件的写入。
一检验操作为一感应或读取操作,在此操作中将存储单元的状态与其数据相关目标值相比较。对于一二进制存储单元而言,除接地状态以外仅存在一个数据状态,而多状态情况将具有额外的状态。例如,考虑到如下情况:每一存储元件或单元存储3位或8个状态的总量。在一共同单元阵列结构中,同时分别写入或读取的写入或感应组中的所有单元被连接到共同的控制闸或转向闸。在所述实施中,为在可能状态范围(例如,3位实例的状态{0,1,2,3,4,5,6,7})上读取或检验单元,必需串联地(例如,依序地)扫描经过所有转向电压感应条件。在所述实例中,对于读取操作而言存在7个所述依序感应操作。在7个阈电压辨别电平处执行所述操作,以同时判定正被读取或检验单元的全部集合内每个单元的8个可能状态的存储状态。通过使用应用于编程/检验/锁定序列中的此类读取操作,其中每个编程脉冲伴随有一系列检验步骤(连同相关的状态条件性编程锁定),此检验集合也可依序进行通过与可编程数据状态的相应集合相关的转向电压目标Vth电平的完全集合(例如,8状态存储元件中的7个的集合)。
图1说明快闪型存储器中8状态情况下的基本多状态编程/检验操作。将包括逐渐增加的转向或控制闸程序电压电平的编程脉冲与增加的转向门感应电压电平的7阶梯检验序列相交错。
图2以波形103(也标注为B)扩展此检验系列,将7个依序增加的检验脉冲标注为1、2、3、4、5、6和7。此实例展示出在检验电平3与4之间的(带电)状态(即,感应阀值或Vth电平)中存储元件的所述检验结果,其由直接表示阈电压或表示指示此状态的另一参数(例如,电流电平)的虚线101(也标注为A)来表示。感应参数(如,转向门电压)的波形中的每个检验电平中的感应结果均由感应选通捕获,其由波形105(也标注为C)表示。同样以波形107(也标注为D)展示出此选通感应检验的结果。一旦检验电平低于存储电荷电平,此就导致“1”逻辑电平脉冲,如前三次检验选通所示,而当检验电平高于存储电荷电平时导致“0”逻辑电平脉冲,如后四次检验选通所示。
实际上,由于在编程进程中的任一点处,将仅存在全体单元可跨越的有限的Vth范围(或数据状态范围),因而将此完全检验集合用于编程中的每个步骤是不必要的且浪费时间(其中,通常每个检验感应操作需耗费大约与编程脉冲相同的时间)。如下文所述,本设计通过提供有限的、可调整的范围检验集合实施而开发此特征。
通过使用渐进的编程方法,随着全体单元行进穿过上升状态,即以状态1开始,然后到状态2等直到状态7,存在阈电压在全体单元内的统计上良好的分布。为了有助于解释有限的检验集合的概念,首先忽略数据状态条件性锁定(即,假定无锁定)是有帮助的。在此假设条件下,在随后的快照中描述了此过程的一个Vth分布情形的实例。以经擦除状态开始,已将全体单元成功地编程到所述全体的重要部分处于状态4与状态5之间的Vth范围内的一点处。在此情形中,相对少量的落后者处于状态3与状态4之间,且在状态3以下没有具有Vth s的单元。同样,存在相对少量的具有状态5与状态6之间的Vth s的靠前的单元(即,读取为状态5)且在状态6和状态6以上没有任何单元。在所述情形中,由于在此点处单元仅存在于跨越状态3、4或5的Vth范围内,因而执行搜索状态1、2、6或7的检验操作毫无意义。因此,现在所使用的方法缩小了Vth检验电平的范围,以仅跨越包围编程序列中给定点处所预期的Vth范围所要求的所述窗口范围(例如,在以上实例中,在编程序列中的此点处仅执行三次检验,跨越状态3、4和5,替代7次检验的整个集合)。随编程进行到较高的阈电压范围,Vth检验窗口范围相应地向上滑动。以此方式,大体上加速了编程操作。例如,在每个编程脉冲的时间与每个检验步骤的时间可相比的状况下,此方法使总写入时间减少了一半,从最大的8个步骤(即,1个编程脉冲加7次检验)到4个步骤(1个编程脉冲加3次检验),从而使原写入速度加倍。
图3中说明此项处理的一个实例。此为在一例示性编程处理中哪一阶段可校验哪一状态的示意性表示。此可通过保持于控制器或其它机制中的查找表来实施。在图3的表中,在一给定编程脉冲之后经检验的多状态是由在网格上对应点处的校验标记所指示的。例如,在前两个编程脉冲之后,由于很可能没有任何存储元件能这么快地前进到状态2,因而仅地面以上的最低状态(例如,状态1)被校验。在第三脉冲之后,由于在此点处可能存在到达状态2的单元,因而添加状态2的检验。在第五脉冲之后类似地将状态3增加到检验列表等。由于转到状态1的任何单元都可能经第7脉冲编程,因而在此点处下降到状态1检验。类似地,在第11脉冲处下降到状态2等。
尽管与校验所有的非接地状态(例如,在3位的实例中的7次读取)相比,此显著地减少了编程脉冲之间的读取数量,但是在使用所述推算定位减少扫描、为较高写入速度而滑动窗口的途径、同时为扫描窗口维持足够的保护带以确保可靠的写入操作中存在许多问题。这些问题主要涉及足够的保护带的判定。即,应多久引入每个新状态且何时可将每个状态安全地退出?如图3所例示,无论如温度或电压源、装置使用年限或与处理或其它变化相关的制造差异的存储器的操作条件如何,检验操作必须安全地覆盖存储器的操作。尽管在检验操作期间通过检验较少的状态来增加性能,但是必须进行充分地校验以确保稳固的操作。此外,尽管性能改良的益处通过使用上述经减少的扫描确实随每个存储元件数量的渐增而增长,但是出错空间也增长了,特别考虑到较低操作电压的趋势。
返回到一旦达成了每个单元的目标数据(Vth)状态,则对于终止对每个单元的进一步编程而言所必须的逐单元数据状态条件锁定,现今此过程必须在减少的窗口Vth扫描内发生。由于未检验剩余的Vth s,因而在特定的编程步骤期间可能不锁定与之相关的状态。(例如,在上述实例中,仅具有数据状态3、4和5的单元可能被锁定,而在所述特定编程/检验步骤期间无法对具有数据状态1、2、6、7的单元执行所述锁定)。因此,此检验加速算法的关键要求为:在编程序列的任何时间中,建立足够广泛且适当定位的检验窗口范围,以覆盖预期的Vth分布范围(除那些已锁定的单元之外)。
在未充分检验的范围窗口的情况下,当在Vth分布两端的单元(即,那些编程太慢或太快的单元)实际上确实达成了其适当的Vth电平且需要编程锁定时,可丢失所述单元。随着那些单元进行到较高的静止Vth电平(从未在落后者情形下或具有锁定太迟的情形下进行锁定,同样不会对速度较快的情况进行锁定),此必定导致相应的数据状态出错(即,写入失败)。因此,必须谨慎调整减少的Vth扫描窗口算法(即,其窗口大小和编程步骤相依的置放)以达成写入速度的提高而不会使写入可靠性降级。
如上文有关2001年6月27日申请的第09/893,277号美国专利申请案所描述,已为每单元2位的与非结构(出于参考的目的,在本文中将其四个状态设计为上升的Vth电平的0、1、2、3)开发了用于减少每个编程脉冲的检验操作数量的另一现有方法,在上文中已将所述申请案以引用方式并入本文中。一个用于此与非实施逻辑的可选操作模式将每个存储单元处理成具有多个扇区地址,每个地址存储所述存储单元的两位中的一位,而非由单个存储单元存储一个扇区地址内的多位。在从较低的两个Vth状态(0、1)向上编程到较高的两个Vth状态(2、3)的情况下,其操作过程如下所述:首先对目标为状态2、3的单元进行编程,并将其锁定到所述两个较高状态的较低Vth(即,状态2)。此通过下述方式实现:在每个编程脉冲之后仅使用一单个检验2操作,当其通过所述检验2电平时将状态2和状态3锁定以无法进行进一步的编程。一旦所有的状态2和状态3均已进行了所述锁定,然后就将状态3自动解除锁定,且编程序列在所述状态3处重新开始,但此时在检验3电平处设有单个的检验操作。另一情形在状态2和状态3同时编程期间,以仅状态2检验开始。在预定数量的编程脉冲之后添加状态3的检验,最终下降到状态2检验,以从那以后直到完成仅留下状态3检验。在美国专利号5,920,507中更多地论述了此处理的多个方面,此专利案以引用方式并入本文中。
通过将目标为等于或大于目标Vth电平(即,状态)的Vth的所有单元加以锁定,且在所述目标Vth电平处使用单一检验,可将此方法扩展到多状态存储器的较高级别(例如,每个存储元件存储8个状态)。一旦将所有单元进行所述锁定,就对目标为下一个较高的Vth状态或超过此Vth状态的单元重复此项操作,重复此循环直到目标为最高数据状态的所述单元通过其相应的检验目标。
使用此方法,每个编程脉冲操作仅需要一单个检验脉冲,其为检验次数支配编程次数的系统中的固定增量,进而提供一理想的写入性能解决方案。然而,对于单个脉冲编程次数与单个检验次数可相比的系统(典型的是现有海量存储快闪存储器)而言,上述方法实际上降低写入性能,理由有两点:(1)以正被检验的上述状态为目标的单元的编程进展被过早地且不必要地中止,指示随后的Vth编程相位中额外的编程时间以弥补由此较早终止造成的进度损失;(2)在下一个较高状态经恢复,初始编程条件(例如,转向或控制、门电压阶梯开始电平)必须从前一个编程序列末端所剩余的值回落(drop back)到一较低值。由于所述全体中每个单元先前已被锁定的特定的、适当电平(且每个单元应从其对应电平继续编程)无法在单个编程开始条件下被应用于作为一全体的所述单元,因而此回落过程实质上为了确保所述单元不过冲其目标范围。多数情况下需要将开始条件减小到与最快编程单元相关的所述条件(即,所述组中的第一单元已于此被锁定的编程电压集合),进而为剩余单元增加所需编程脉冲的数量。对于安全界限而言,应将开始电压降低为稍低于理想电平,编程脉冲的数量仍进一步增加,写入性能降级。此方法也再次引入产生以可靠的写入来平衡性能的固定(即,非智能/自调)值的问题(在此种状况下重新开始编程)。如果为提高写入速度而推进过快,那么会产生编程状态过冲的危险,而如果太保守,那么写入速度就受影响。
有鉴于现有编程/检验方法的限制性,随后部分论述一可适应性/动态地满足快速写入性能同时确保写入可靠性的此组合需求的改良方法。
发明内容
根据本发明的一主要方面,简洁且概括地说,通过使用利用一对基于依序状态实施的多状态检验范围进行基于检验结果的动态调整的“智能检验”技术而对多状态存储器进行编程。所述“智能检验”技术可在维持依序检验的多状态存储器实施中的可靠操作的同时,提高多状态写入速度。其通过提供“智能”方法以最小化用于写入序列的每个编程/检验/锁定步骤的依序检验操作的数量来实现上述目的。在一示范性实施例中,通过监控全体的移动而经由覆盖在检验扫描范围中的最高数据状态电平处的数据无条件性检验来检测最快编程单元,以及覆盖所述扫描范围中的最低数据状态的所有单元锁定条件(进而涵盖最慢编程单元),可以来自额外的、无需检验的操作的最小时间浪费而可靠地建立阈电压扫描窗的扫描低端和高端。
在所选择存储元件的编程/检验序列期间多状态存储器的写入序列的示范性实施例中,进程开始时,在检测阶段中仅对于在所选择存储元件正被编程到其中的多状态范围的最低状态进行检测。例如,所述存储元件可为以一编程电压而产生脉冲作用,且随后被感应从而自身进程受到监控的快闪EEPROM存储器的存储器单元。一旦一或多个所选择元件达到第一存储状态,则多状态序列中的下一状态被加入到检验进程中。此下一个状态可在序列中最快的单元达到所述前一个状态时,立即加入,或者由于存储器通常设计成具有从一个状态移动到另一状态的若干编程步骤,因而也可在若干循环的延迟后加入。所述延迟量可为固定的,或者优选地使用一基于参数的实施,以允许根据装置特征来设定所述延迟量。
将状态加入到在检验阶段中正被检验的集合中的加入操作按照上述每个状态的情形继续进行以穿过序列中多状态的剩余集合,直到已将最高状态加以添加。类似地,当所有的局限于这些电平的所选择存储元件都被成功地检验为符合那些目标值,且当其被锁定无法进一步被编程时,可将较低状态从检验集合中移除。此外,也可以标出无法恰当编程的先前被标识的缺陷单元(例如,通过最初将其锁定),以消除其对编程/智能检验操作的影响。
本发明的额外方面、特征和优势包括于随后对示范性实施例的说明中,所述说明应结合所附图式来理解。
附图说明
图1为一展示随逐渐升高的转向编程电压而交替的完全7检验序列的编程/检验波形序列。
图2展示一完全的连续7个步骤的检验序列。
图3为一在一给定编程脉冲之后何种状态待检验的查找表的说明性实例。
图4为本发明的一示范性实施例的流程图。
图5a和图5b描绘在本发明的两个实施例的模拟中每个编程步骤随后所应用的检验脉冲的量。
图6展示对于图5b的实施例中所使用的数字检验脉冲的范围的具体值的分布。
图7展示在锁定过程后编程状态的所得模拟阈值分布。
图8展示仅在将每个编程状态锁定之前仍未被锁定于编程步骤的全体单元的所得模拟阈值分布。
图9描绘作为一累积编程脉冲的数量的函数,仍被编程到其相应的检验/锁定条件的单元的数量。
图10为一程序相关检验/锁定实施的示意图。
图11展示一说明智能检验操作的经减少的依序7步骤检验序列。
图12为一峰值检验电平检测和应用,以建立智能检验操作的高电压端的示意图。
图13为一最低检验电平侦侧和应用,以建立智能检验操作的低电压末端的示意图。
具体实施方式
本发明之各个方面大体可适用于非易失存储器系统。尽管主要根据EEPROM Flash存储器实施例给出了下文和背景技术中的描述,但是本发明并不限于用于存储器阵列中的特定类型存储单元。存储元件如何读取、写入及存储数据的细节并不是本发明的主要方面,而且其可作为那些也使用通过状态条件连续检验以执行逐个单元检验/编程终止操作的任意各种非易失和易失系统的细节。所述阵列及其操作的相关实例在随后的于2001年6月27日申请的美国专利申请案第09/893,277号中给出,由此所述专利及其中所含有的参考同样以引用的方式并入本文中。
根据一主要方面,本发明使用基于检验结果的多状态检验范围的动态调整以在连续检验实施中建立一可靠的、时间浪费最小的多状态写入操作。此在维持连续感应/检验多状态存储的适当写入可靠性的同时,提供了一较高速度的检验算法。例如,当将多状态存储元件从状态0连续编程经过状态1、2等时,在早期阶段仅检验1状态。当较快的编程单元开始在1状态检验时,将状态2加入到检验状态范围,或许以参数为基础的多个编程/检验循环会产生滞后。同样,当编程前进到较高状态电平时,可将其它状态加入到检验集合中。当目标设定在这些较低电平的整个存储元件集合进行检验时,可移除较低的检验电平。因此,这种基于检验结果的动态调整通过在确保覆盖足够检验范围时允许最小数量的检验,而改进了在背景技术中描述的减少扫描的未知状态推测算法、保护带滑动窗方法。总体来说,状态量越多,由本发明所实现的改进会越大。
本发明的各个方面可在各种非易失存储器中实施,例如,在以引用的方式并入背景技术中的非易失存储器中实施。感应过程的更多细节出现在2000年9月27日提交的09/671,793号美国专利申请案、2002年1月18日提交的10/052,888号美国专利申请案和2002年1月18号提交的10/052,924号美国专利申请案中,这些申请案因此以引用的方式并入本文中。尽管根据检验电压值来描述示范性实施例,但是因为临界电压是一浮闸型存储器单元的相关物理量,所以可基于使用指示存储元件状态的其它参数(例如电流或频率)来检验。在这些参考文献中描述了许多这种变量。而且,本发明的各个方面可与读取和检验界限结合使用,如在5,532,962号美国专利中进一步描述,此专利以引用的方式并入本文中。
基于检验结果的方法的基本观点是提供并使用与全体单元编程的进程相关的信息,由此为Vth(或其它参数)扫描窗口动态地建立适当且可靠的跨度。从擦除或接地状态(状态0)开始,当正在被编程的单元集合的最快编程存储元件或单元跨过这个集合的下一个最低数据状态(例如状态1)的Vth目标(即,遵循峰值Vth检测器概念)时,得知有用信息的第一段。因此,直到检测到此跨越为止,对于这个最低电平,每一编程脉冲仅需要伴随一次检验通过。此时,最好克服Vth检测的数据条件方面,也就是说所有全体单元参与峰值临界电压的检测,而独立于其对应的目标数据状态。换句话说,必须得知此信息独立于最快单元的目标状态。一旦检测到此情况,则对于高于此值的数据状态的一限定范围执行数据条件检验和锁定(例如直到高于此最低电平的一个检验Vth步骤)。
继续该进程,另一段有用信息是针对此最低数据状态的所有单元实际上已完成检验/锁定的判定。一旦得知该信息,则不再需要对此最低状态的检验操作,而且可安全地消除这个操作。此意味着从Vth扫描窗口的底部向上转移到下一个较高的Vth数据状态;例如,如果正在检验状态1、2、3,那么其随后应该转移到状态2、3。然后,在现有最低状态检验所针对的每一全体单元完成其相关的检验/锁定时,可继续此策略。以此方式可提供一种可靠地消除用于检验检验范围的下端的时间浪费的方法,以及提供一种用于动态地定位Vth扫描窗口的标准。
一种可能的方法可将这种较低状态移除条件专门用于判定何时增加较高状态的检验。但是,在这种方法中,仍然存在过快的编程单元超出上文判定的Vth扫描的上端范围,由此失去提供锁定的机会的风险。为了降低这种风险,一种方案是将一保护带加入到Vth扫描的高范围中,由此降低这种事件的可能性。然而,由于在Vth上端不需要频繁检验,所以这种方法的成本降低了。
完全避免这种问题的方法是在任意给定时间提供关于最高单元Vth的信息。这就是上文引入的概念;也就是意味判定何时全体单元的快速编程单元跨过一给定的Vth检验电平,此独立于其目标数据(峰值Vth检测器)。通过将这种方法在任意时间应用到正被检测的最高Vth范围中(其应该横越一个比期望存在于总体Vth分布中的状态更高的状态),随后一旦信号通知这种跨越,则将Vth检验上端加到下一个较高电平。然后,接着下一个脉冲在新的电平下重复这种方法。(应注意,如前文所述,如果最快单元的目标数据实际上符合前述的最高检验电平,那么随后也将其锁定)。以此方式,如同Vth扫描范围的下端一样,扫描范围的上端也可适当地根据与最快的编程单元相关的信息在编程序列中的任何时间(即步骤)中进行调整。一般地说,将较高的状态加到检验扫描窗口是一个独立于当这些较低状态完全锁定时移除较低状态检验的过程。
初看起来这个峰值Vth检测器方法好像通过在上端强加一次额外的检验而降低了写入速度,其有意地以在多数时间不发现与其相关的Vth为目的;然而,由于为了确保用于现有的滑动窗方法的可靠写入操作而盲目的选择保护带很可能指示更宽的静态窗包络,所以最终会为其自身付出代价。
为了进一步改进操作,一种方案是在先前状态下检验快速编程状态之后不立刻将下一状态加入到检验集合。因为通过设计(例如,当通过操纵闸门的程序电压阶梯控制时),即使最快的编程单元通常也需要一定数量的程序脉冲到达其下一个较高状态电平,所以不需要急促包括下一较高检验电平。例如,如果通过设计需要四个编程脉冲以从一个存储状态前进到另一个,那么可安全地等待超出峰值检测点的一或两个程序脉冲,随后再加入下一个检验电平。实际的滞后量可以是固定的,或者在一示范性的实施例中使用一基于参数的实施。而且,参数可根据操作条件、设备年限和其它因素设定以改进性能,同时仍允许充分的安全界限。对于下文将要描述的模拟实例来说,在没有引起不可接受的风险的情况下,这个滞后在写入速度方面可获得大约10%的附加量。
与现有实施中一样,这种方法的整个序列继续进行直到完成,其在[1]所有单元均已锁定或[2]在(阶梯)编程序列末端两者中先发生处结束,在这种情况下,出现一个标记用信号通知这种情况。下文详述这种方法对一特定实施例的基于性能的模拟,其在没有引起上述先前技术(即“非智能”)的检验脉冲减少方案的风险的情况下使得原始写入速度增加了一倍。
图4是本发明的一示范性实施例的流程图,且其从步骤201开始,其中选择待编程的存储器部分。其将作为适合存储器结构的一或多个写入单元,其中该写入单元在此处称为一页面。一旦选择了待写入的存储元件,则其通常经历一数据无条件预写入调节阶段210。
阶段210是一代表性的擦除处理,其可根据需要包括软件编程、预编程、擦除、软件擦除和/或其它调节步骤(当适合存储单元类型时),以得到准备所选择的用于数据写入的存储元件。本文所示的示范性实施例包含步骤211、213、215和217。
步骤211是在擦除之前有时使用的预编程处理,例如通过提高所有寻址存储元件的对应字线以使存储元件磨损变平且为擦除提供更均匀的开始点,而使得寻址存储元件得到非数据相关编程。步骤213是擦除处理,例如以引用的方式并入上文的参考文献中描述的过程,其适于正在使用的存储单元类型。一特定实例是适用于一快闪EEPROM存储器的智能擦除处理,这种flashEEPROM存储器描述在5,095,344号美国专利中。步骤215是设计成使被擦除的存储单元进入更均匀的开始范围内以用于实际写入阶段的的任意软件编程或类似的操作。如果在擦除过程中(或者如果软件编程以检验为特征,那么可在软件编程过程中)有任何存储单元不能检验,那么这些不能检验的存储单元可在步骤217中退出逻辑地址空间,而且由适当操作的存储单元来代替。另外,阶段210的实际步骤和其执行过程将根据特定存储器和其需要而变化。
此时,存储器为写入阶段做准备。写入阶段220引起表示存储元件的数据状态的参数电平一连串递增变化,随后检查电平一连串递增的变化结果,且当存储元件的确检验各存储元件的目标数据状态时,这些检验存储元件可从此过程移除。虽然这个过程在很大程度上与在先前技术中出现的过程相同,但在步骤221中其与先前技术不同。
设定步骤221的最初检验范围之后,对于一电荷存储的存储器元件(例如,EEPROM或快闪存储器)的示范性实施例来说,实际的写入以步骤223中的编程脉冲开始。如在此项技术中已知,可利用循环220的每次迭代来改变脉冲的持续时间、电压电平或两个都改变。在第一次检验之前亦存在多个初始脉冲,其中特定的数字可以是一基于参数的实施。步骤225感应在与检验电平相关的先前脉冲中受脉冲作用的每一元件的状态,在用于待检验的状态的电平的目标范围中,初始仅包围最低的编程状态。在每一检验电平,其将所测量的每一元件的参数与和其相关的数据目标值对比。以此方式,这些元件中的每一可在为循环220的迭代所建立的检验状态的范围内进行此种对比:在现有技术中,这种方法可包括所有可能的状态,或其可由基于利用一个查找表或相似的实施的迭代循环的数目的子集组成,如背景技术部分中所描述。根据本发明的一主要方面,所使用的检验电平集合在步骤221中由先前迭代的检验结果判定。状态的初始检验集合可仅作为最低状态或可能根本没有检验,且可以一可设定的参数为基础。(尽管在本论述中,将检验集合作为整个目标值集合的合适的子集,然而可出现子集与整个集合一致的情况,特别地当多状态的数目较少时。)
在步骤227中,锁定经过相对于其目标状态的检验条件的所有元件。步骤229判定是否被编程的所有元件已对其目标数据值进行了检验。如果已检验,那么所述过程在步骤231结束;如果未进行检验,那么过程返回步骤221。更一般化地,如在步骤229中所判定的,某些元件可能未能编程,从而导致一写入错误,在这种情况下,可标出坏的元件或区块。
步骤221基于步骤225以及步骤227的结果判定哪个状态包含于下一个检验操作中(在锁定条件用于此判定的程度上)。如上文所描述,此为本发明的主要方面。尽管关于图3在背景技术部分中所描述的实施例的查找表类型也可判定在此阶段哪个状态包含于下一个检验操作中,但在那种情况下,所述判定仅基于在写入过程220中的循环的当前迭代,然而在此其基于步骤225(和可能的步骤227)的检验结果。根据步骤225的结果,步骤221按需要增加了待检验的较高状态。同样,结合步骤227,在被编程到这些较低状态的元件都检验且被锁定时(或被判定为坏的单元并被标出),其移除较低状态检验。一旦检验集合在步骤221被重新建立,那么过程再次持续到步骤223。
图5到图9展示了关于示范性实施例的“智能检验”过程的模拟结果,其中存储单元是一可存储8个状态的存储器单元。在美国专利5,712,180、6,103,573和6,426,893以及美国专利申请案第09/667,344号中描述了可实施本方法的一非易失性存储器的特定实例,所述专利都以引用的方式并入本文中。模拟论述之后将描述关于示范性实施例的进一步细节。
模拟“智能检验”算法,以将全体1500个8状态单元从接地或擦除(0)状态移动到目标编程数据状态(1、2、3、4、5、6、7)。为了促进此模拟,在任意单元中给出所有电压电平,同时将用于状态1、2、3、4、5、6、7的目标阈电压“Vth”电平分别设定在值2、3、4、5、6、7、8处。将用于所有全体的开始Vth分布设定为具有以-0.25为中心的一个σ值0.22的正态分布,从而导致一从-1跨越到1/2的初始Vth。将每编程步骤的平均编程速度设定为0.25,从而导致单元在约4个步骤中从一个状态移动到另一个状态(且借此允许每一编程状态的整个锁定分布被界定在一个步骤值周围)。然而,为使某些小的单元表现为单元变量,而并入一速度上的扩展,其遵循具有以平均的0.25速度值为中心的一个σ值等于0.015的正态分布,从而导致速度跨越每步骤0.2到0.3ΔVth的范围。在整个模拟中,分配到任何给定单元的速度值保持不变。应注意,给定单元的恒定速度值的假设可能不是对所有的存储技术都适用,但是在任何情况下,本发明生效对其并无要求。
实际上,当使用一均匀增加的步进电压(例如,应用于示范性存储器结构中的转向门)用于编程波形的每一随后步骤时,所有单元的平均编程速度大致相同。一旦达到一稳定状态编程条件(通常在第一个6编程脉冲内),那么此速度紧密匹配上文阶梯程序电压步进的速度。因此,使用人工的速度扩展很可能是一个比在实际中出现的情况更坏的情况条件。尽管如此,如将看到的,智能检验方法不存在任何问题。
对于1500个单元全体的每一单元的开始Vth、目标数据状态和速度的分配经由基于随机数字的混合(对于Vth分布、数据状态和速度分配的独立混合)来完成。分配给八个状态中的每一个的单元的数目大约相同(平均每一个状态有~188个单元)。利用“智能检验”序列和标准,接着将待编程单元的所有全体(即,1、2、3、4、5、6、7、而0被锁定)移动穿过程序检验序列。此模拟的结果展示于图3到图7中。
图5a的曲线图描绘了每智能检验算法的检验(vfy)脉冲或在每一编程步骤后应用到单元全体的步骤(303)的数目。其也展示了未被锁定单元全体的最小(Vt_min,304)和最大(Vt_max,305)VthS的,以及在每一编程步骤后应用的低(Vfy_lo,301)和高(Vfy_hi,302)检验电压电平。所述过程以大量脉冲开始,以使所述单元在阈值开始向上移动之前处于稳定状态。最初的少量编程脉冲仅要求最低状态的检验,在所述最低状态检验期间,Vth分布编程到达那个检验点。此后,检验的数目增加,在两个到三个检验脉冲电平周围达到稳定,且当最后少数状态被编程到其对应的目标时回落到一个检验条件(所有状态都检验且被锁定于编程脉冲数字37周围)。在这个序列中,依序检验扫描的低和高检验极限经适应性调整(分别基于所有最低状态单元检验/锁定条件和峰值Vth检测标准)以智能地且可靠地跨越每智能检验逻辑标准的适当的、最佳数据状态Vth范围。
当考虑到所发生情况的复杂性时,可清晰了解此智能检验扫描方法的效用。例如,尽管大多数时候是两个检验,有些时候还是需要三个检验,且偶尔可能甚至要求四个电平的检验,如果不存在,则有写入失败的风险。此外,任何牢固控制的非适应、推算定位实施不可能在无故障的情况下精确遵循Vfy_lo和Vfy_hi(即,滑动检验窗口)的最佳转换。因此,为了确保可靠的写入操作,关于图3所描述的非适应性检验窗口范围可能必须经频带保护以达到每编程脉冲4个和可能5个检验电平,此实质上降低了其性能优势。此外,在非适应性实施中难以想象,侵略性匹配在编程序列的初始和最终部分中使用较少检验(下降到一个检验电平)的适应性方法能力的能力。
图5a的实施例包括在将下一个状态加入到检验集合之前,在被检验的现有最大值状态处的最快编程单元的检验之后的两个编程步骤的的延迟。例如,在编程步骤5处,Vt_max线305开始移动且在步骤6处越过状态1的“电压”=1的线;然而,对于另外两个步骤而言仅状态1被检验,而在步骤9处状态2被加入到检验集合,如由在此点上升到2的检验数字(#Vfy脉冲,303)所示。包括初始五个编程步骤的整个过程在步骤37后完成。
除了实施例在将状态加入到检验集合之前不存在延迟和无初始五个编程步骤之外,图5b类似于图5a。例如,在步骤2处,在Vt_max线305越过状态1的“电压”=1的线之后,状态2在无延迟的情况下被加入到下一个检验集合。在这种情况下,对于多数处理来说,每个步骤存在三个检验,偶尔需要四个检验。此处理不像图5a的处理一样快,共需要100个检验而不是83个(如果为了对比而忽略图5a的初始四个脉冲)。关于图4到图7进一步论述图5b的实施例。
图6展示了对于在图5b的实施例中使用的的检验数字脉冲的范围的具体值的分布。当3个检验情形占优势时,即占整个时间的一半时,下降到2个检验的能力会出现约占整个时间的四分之一的时间,与需要上升到4个检验一样。平均来说,每编程脉冲需要约2.7个检验,对于图5a的实施例而言,数字会下降到2.5以下。假设执行一个程序操作(或步骤)所需要的时间和一个检验操作的时间相当,则在图5b的实例中,智能检验算法能够安全地将整个程序时间降低到完整的7个步骤检验所需要时间的46%。因而,原始编程速度约可增加一倍。
图7给出了对于图5b的实施例而言,对于在其锁定之后的七个编程状态中的每个的所得模拟Vth分布(“Vt”),以及开始擦除或0状态分布的快照。如由所述算法所指示,可将每一个的分布很合理地界定到所期望的0.25任意单元Vth范围。
图8给出了一个对于仅在锁定目标指向七个编程状态中的每一个的所有单元之前的编程步骤处仍未被锁定的单元全体的所得模拟Vth分布(以及在第一编程脉冲之后的开始分布)的快照。此图指示对于单元全体而言,编程处理是如何通过编程序列而很好地运转的。601表示初始分布。603对应于仅在所有目标状态1单元被锁定之前,在编程脉冲8之后的单元的分布。此包括具有最终目的是1状态(但未被锁定)的单元,以及那些仅穿过其到达较高状态的路径的单元。这解释了具有适当高于对于1状态而言的电平的单元的数量。类似地,605对于随后状态而言,仅在所有状态2单元锁定之前等情况下对应于编程脉冲13。
图9描绘了作为渐增编程脉冲的数量的函数的仍待编程到其对应检验/锁定条件的单元的数量。重叠的是表示处于标记范围的数据状态中的单元的数量的电平线。线701对应于具有数据1、2、3、4、5、6或7的单元的数量,线702对应于具有数据2、3、4、5、6或7的单元数量,等等直到线707显示具有数据7的单元的数量。在第一脉冲之后,曲线是平坦的,直到具有数据1的单元开始锁定,在此之后所述曲线急剧直线下降,直到随着在最高状态中的分散单元最终锁定,曲线变得平坦。如所期望,平均来说,从最后状态刚刚完成编程时的那点起,需要随后的四个编程步骤来完成对下一个较高状态的编程。然而,应注意,尽管曲线与这些电平线的交点紧密,但是并没有完全匹配成直线状态,如从其它线性曲线中的纽结可明显看出。此为编程速度从最快和最慢编程单元变化的结果,其与所有全体的统计的良好运转的进程相反。这再次指出了适应性、智能检验方法的重要性。
如模拟证明,所述智能检验方法在改进装置性能上有效,同时也在确保可靠的编程/检验/锁定操作上有效。其通过提供“智能”方式来最小化用于写入序列的每一编程/检验/锁定步骤的依序检验操作的数量而生效。通过监控全体移动经由在覆盖于检验扫描范围内的最高数据状态电平处的数据无条件检验来检测最快的编程单元,以及用于覆盖于所述扫描范围内的最低数据状态的所有单元锁定情形(借此涵盖最慢编程单元),可在从额外的、不需要的检验操作的最小的时间浪费的情况下,可靠地建立Vth扫描窗口的Vth扫描低端和高端。
在图5b的实施例中,原始写入性能与完整七个步骤检验方法相比增加了一倍,同时进一步改进了包括将编程序列中的下一检验状态引入到检验集合之前的延迟的图5a的实施例。可在存储系统的编程依赖一迭代过程的存储系统中实现所述改进,所述迭代过程逐渐转移一组并行操作的存储元件的状态,接着通过并行地感应指示每一元件状态的参数来检验所述转移(或当元件损坏时的试图转移)的结果。
关于图10-13描述用于智能检验技术的实施的示范性实施例。此说明性实施例描述了基于3位/存储元件技术(即,具有7检验序列的8状态)的智能检验操作的示意性实施。对于此实施例而言,存储元件或存储器单元为下列类型,其中受控的、逐渐增加的存储电平(受控多状态写入所需的)可通过以每一连续编程脉冲而逐渐增加转向门电压而达成。另外,可通过以7个转向门电压电平(对应于用于多状态数据编程的7个检验电压电平)增加的进程来依序扫描此转向门来完成多状态存储单元读取。
图10示意性地说明用于个别存储元件1001的编程-检验和锁定电路(用于所述编程会话的剩余部分的所述元件的锁定终止编程)的一个实施例。图10的结构类似于在现有技术中所发现的用于如在关于图1和图2的背景技术部分的描述中所发现的实施例的结构,且此处论述以在论述智能检验状况时作为参考。尽管此实例中的存储元件1001为浮闸晶体管,但是下文论述时可使用其它形式的存储元件。在对n个所述存储元件并行编程的情况下(其中n可从数百变化到数千),存在对应的n个所述编程-检验电路,且所有的电路同时工作。从所述n个电路发出的信息形成智能检验操作的基础。
详细观察图10的检验/锁定示意图,所述电路包括通用于所有n个电路的由双线边框突出显示的组件(例如,计数器1009、复位1021、和参考电压Ref),以及在每一电路中复制的组件(例如,比较器1011、待写入的数据状态寄存器1019和多种逻辑元件)。在编程-检验期间,将每一存储器元件1001连接到对应的感应安培比较器1011,所述比较器1011比较单元的传导电平和参考源Ref。在此实施例中,只要连接到存储元件转向门的感应参数驱动器1003的输出(例如,提供图2的转向门电压量值B,103)小于所述元件存储的存储器状态参数(例如,如由图2中的101例示的单元Vth),此比较器1011的行为就是输出逻辑电平“1”。(在图10中,节点A、B、C和D处的波形分别对应于元件1001、1003、1005、和1007的输出和在图2上的分别标记为101、103、105和107的波形)。或者,只要感应参数驱动器1003的输出B大于所述元件存储的存储器状态参数,比较器就输出逻辑电平“0”。
感应参数驱动器1003的波形的进展由计数器1009控制,所述计数器1009从1计数到7,以在节点B处产生7个依序检验脉冲,如图2的波形103所例示。每一单元可存储8个可能的数据状态{0,1,2,3,4,5,6,7}中的一个,每个单元的特定状态被载入到对应的待写入的数据状态寄存器1019中。通过数据无条件预置操作(例如,扇区擦除)为所有的待写入单元建立状态0,其对应于图4中的阶段210。如果对应状态的目标数据仍为0,那么立即将所述存储元件设置为锁定(未图示细节),且不对所述元件进行编程。数据状态1、2、3、4、5、6和7构成了7个可编程状态,且分别对应于计数器1009相关的检验电平1、2、3、4、5、6和7,其用于编程检验期间以建立所述状态。随着编程的进行,存储元件参数(例如,存储单元Vth)依序地且可控制地移动穿过状态1、2、3......,直到被检验/锁定操作终止。
馈入到4输入与非(NAND)门1017中的三个异或非(XNOR)门1015a-c(对应于8个数据状态的3位等效值)的功能是用于捕获在目标待写入的数据状态与由计数器1009的值控制的正被检验(经由感应参数驱动器1003)的瞬时电平之间发生匹配时的情形,其中所述所有三个异或非门1015a-c插入计数器1009与待写入的数据状态寄存器1019之间。与非门的第四脚来自由正脉冲检验选通电路1005门控的比较器1011输出,所述正脉冲检验选通电路从与门1007提供比较器输出D的时间同步脉冲,如由图2中的107所例示。基于[1]计数器(即,检验电平)与待写入的数据状态的匹配,和[2]比较器输出高(例如,单元Vth高于检验电平)的组合的条件,此4输入与非门1017的输出脉冲降至逻辑“0”(由检验选通1005脉冲门控),否则保持为逻辑“1”。4输入与非门1017的输出被馈入到锁定SR锁存器1013的一个脚(称为设置脚)中(此处在基于交叉耦接的与非门的锁存器中实施)。在对存储单元的定址集合的数据编程会话开始时,将所有的锁定SR锁存器1013设置成逻辑“0”。此通过将复位脉冲1021(在此实施例中,脉冲降至逻辑电平“0”,否则保持为逻辑电平“1”)施加到所有所述SR锁存器的其它脚(称为复位脚)来完成,从而将所有对应的存储元件的锁定初始化为逻辑“0”。基于从4输入与非门1017接收负向逻辑“0”,根据上文所述的条件,所述对应的SR锁存器锁定翻转到逻辑“1”。接着,此条件终止对所述数据编程会话期间的相关存储元件的所有的进一步的编程。
举例来说,下文描述了导致对目标数据状态为状态3的存储器单元的锁定的编程/检验的进程,如图2所示。初始地,将单元设置成数据状态0(例如,擦除),且通过复位信号1021将其对应的锁定锁存器1013设置成逻辑电平“0”。接着,以初始编程电平(例如,转向或控制门电压)脉冲开始,其接收一系列的逐渐增加的电平编程脉冲,每一脉冲之后为7个电平的检验脉冲序列,如图1中所说明。对于最初的较少编程脉冲来说,此检验序列的选通结果(如由图2中的107所例示)均为0(即,非正向脉冲)。在具有额外的编程脉冲的情况下,因为将单元状态推到检验1电平(即,编程到数据状态1中)之外,所以在电平1检验选通期间,选通结果为单一的逻辑“1”脉冲。然而,因为在此时间期间,检验条件(即,计数器1009的值等于1)与目标数据状态(即,待写入的数据状态1019等于3)不匹配,所以此不触发锁定条件。当在检验3脉冲上发生匹配时,在所述序列中的所述点处的选通结果为“0”,其禁止设置锁定条件。
另外的编程脉冲将单元状态推到检验2电平(即,编程到数据状态2中)之外,从而导致与检验1和检验2选通点同步的两个依序逻辑“1”脉冲的选通结果。因为不满足所需的匹配条件,所以此也不触发锁定。仅在施加仅将单元状态推到检验3电平(即,编程到数据状态3中)之外的另外的编程脉冲之后,将锁定条件设置成逻辑电平“1”,从而终止向所述存储器单元施加另外的编程脉冲。此发生如下:选通检验输出序列现包含与检验1、检验2和检验3同步的三个依序的逻辑“1”脉冲。在第三个检验选通期间,满足检验状态(即,计数器1009的值)和目标数据状态的条件,从而使此逻辑“1”脉冲能够传输穿过4输入与非1017,且传输到SR锁定锁存器1013的设置脚。
注意,即使在导致状态过冲(例如,在上文实例中,不是逐渐编程到状态3而是突然过冲并跳到状态4)的异常/过度的单元编程事件中,上述锁定仍会发生。这是因为在检验3选通期间,单元Vth的过度检验电平的所需的比较器1011的条件仍然满足,借此触发锁定。因此,不发生另外的编程,从而限制写入失败的程度。如果在所述情况下不发生锁定,那么单元将继续接收编程脉冲直到编程会话结束,潜在地将其发送到远超过最高电平状态7所允许的电平Vth电平,从而导致潜在的更严重程度的失败。
此处未展示编程会话结束的实施。此由对[1]所有地址存储元件已完成锁定或[2]已达到预定最大编程计数的早期发信号的实施例来实施。有关检验/锁定处理的更多细节可在美国专利第5,172,338号以及以上所并入的其它参考案中发现。
智能检验的目标为动态地减少编程进程中任一点处所使用检验的数量,从完全7集合序列减小到可靠写入操作所必需的最小量。图11例示智能检验概念的峰值检验电平实施例中的此类最小集合,其中仅出现检验脉冲3、4和5。此可为在(例如)如图5b所示的模拟的编程步骤15处的所述情况。此指示出动态地建立编程进程中任何特定点处所需的可靠的最大和最小检验电平(例如,图11的情况下分别为5和3)。波形1101、1103、1105和1107对应于图2的信号101、103、105和107,且再次分别表示存储元件1001(节点A)的单元参数、感应参数驱动器1003(节点B)的输出、检验选通1005(节点C)的输出和与门1007(图10的节点D)的输出的信号。
图12示意性地说明当对并行的n个存储元件进行编程时,实施最大或峰值检验电平的一优选实施例。其包括一n输入或门1211,具有来自n个检验/锁定电路中的每个电路的相应的D节点的输入1207,如图10中表示为与门1007的输出。如上文所述,每当存储元件状态(例如,单元Vth参数)超过所施加的检验电平(即,感应参数,图10中节点B处的值以及表示为图11中的1103),每个D节点就瞬间脉冲作用到逻辑电平“1”(由图10的检验选通1005所选通)。每当一或一个以上的定址存储元件满足此编程级(programming level)(例如,单元Vth)要求,n输入或门1211就将同样脉冲作用到逻辑电平“1”。当由计数器1249所支配的瞬时检验电平与最大检验电平“计数”寄存器1233的现有值相匹配时,建立此脉冲作用条件,如由在三个异或非1251a-c中所实施的独特的异或电路功能所建立,进而允许脉冲穿过与门1253。然后,将此脉冲馈入到新的最大检验电平“计数”功能块1235中,以表明峰值检验电平达到其下一个可用值。
此实施的基本思想为:一旦一或一个以上的存储元件超过其正被扫描到的现有峰值检验电平(如最大检验电平“计数”寄存器1233中所存储的),则紧随下一个编程脉冲的检验序列将自此以后扫描到其下一个可用的检验电平。此处理由直接指向载入新的最大检验计数电路块1231的虚线流程来表示,所述电路块即刻将新的最大检验电平“计数”载入到最大检验电平“计数”寄存器1233中。从这点开始,在受控制的脉冲编程操作下,在将一或一个以上的存储元件编程到足以再次穿过此新的峰值检验电平之前需经历许多连续的编程脉冲。直到发生后来的事件,n输入或门1211将维持逻辑“0”,进而冻结此当前最大检验电平。当最终所述后来的事件确实发生时(例如,在额外的四个到五个编程脉冲之后),n输入或门1211将再次输出一逻辑“1”脉冲,进而将所述最大检验电平增加到下一个更高电平。
注意,如果最大检验电平在任何时候试图超过检验范围的极点(top)(即,在电路块1235中所允许的最大值),那么不允许进一步进行此类增加。然后,最大检验电平保持固定于检验范围的极点(即,在此例示性3位实施例中的检验电平7)。
图12在另一分支中说明瞬时增加方法的另一实施,所述分支直接从新的最大检验电平“计数”电路块1235以下开始,且由元件1240、1243、1245和1247组成。此时当此新的最大检验电平“计数”电路块1235受到脉冲作用时(即,当一或一个以上的存储元件已达到现有的峰值检验电平时),并非跟随虚线,而是经由功能块1241将称为编程计数的编程脉冲计数器设置成0,且经由功能块1243和1245利用每个连续的编程脉冲将所述编程脉冲计数器递增1。一旦此计数达到规定的“延迟计数”(例如,延迟计数3),经由功能块1245和1247停止对编程脉冲进一步进行此类计数,且经由功能块1231将新的最大检验电平“计数”载入到最大检验电平“计数”寄存器1233中。此另一实施例的基本思想为:由于存储元件到达并通过下一个较高检验电平将需要多于少数脉冲的脉冲,因而延迟所述少数编程脉冲对下一个较高检验电平的使用,进而节省了额外的时间且进一步加速写入操作。尽管存储器装置上的硬件实施为优选的,而非依赖外部、芯片外控制,但是由方块(1235、1241、1243、1245和1247)中所表示的处理可通过软件或韧件来替代性地实施。
如先前所论述,所述“延迟计数”值优选地通过可设置的参数而非具有一固定值的参数来实施。在另一情况中,所述“延迟计数”值可由控制器监控且可基于装置行为而被动态地改变,(例如)以回应编程或读取出错或如温度或电源变化等操作条件。
在完全数据编程操作开始时,将峰值检验电平设置成与第一状态相关联的检验电平(即,将最大检验电平“计数”寄存器1233设置成1)。此编程操作是允许的,原因在于在此编程操作之前所有定址存储元件的所设定状态为状态0(例如,经由一擦除操作),且在所述单元中的任一单元到达与此第一状态相关联的检验电平之前将需要若干编程脉冲。
图13示意性地说明当对n个并行存储元件进行编程时实施最小检验电平的一个优选实施例。其描绘并行操作的n个电路块(1301-1到1301-n);其中的每块对应于n个同时定址存储元件中的每个存储元件。每个所述电路块包括图10中描述的相应n个检验/锁定电路的现有电路部分。如图10,对于所有n个电路所共有的那些电路块由双线边框突出(例如,最小检验电平“计数”寄存器1305)。每个所述电路块1301-i(1≤i≤n)含有一由异或电路功能组成的匹配电路(将待写入数据状态1019与最小检验电平相匹配),对于例示性3位实施例而言,所述异或电路功能由馈入到3输入与非门1333的三个异或非1331a-c门构造而成。
此匹配电路的目的为忽略目标数据与当前最小检验电平相关联的数据不相匹配的所有存储元件的状态。通过将逻辑电平“1”输出到2输入或门1339的较低输入脚来完成此操作。然后,将此传输到n+1输入与门1313,且进而不干扰结果处理。
在匹配情况下(即,存储元件目标数据匹配于与此最小检验电平相关联的数据),2输入或门1339的输出结果归于呈现到其较高输入脚的逻辑电平,其从锁定功能电路块1303来馈入。在匹配情形下,如果实际上已达到相关联存储元件的目标状态,其由将锁定1303设置成逻辑“1”来标记,那么2输入或门1339的传输结果变为逻辑“1”。否则或门的传输结果保持为逻辑“0”。此电路的作用在于将目标数据匹配于当前最小检验电平且尚未被锁定的任何存储元件相隔离,进而将逻辑“0”传输到n+1输入与门1313。如果即使存在一个所述存储元件,那么此也将导致n+1输入与门1313的输出为经选通的逻辑“0”。仅当所有所述单元均被锁定时,由n+1输入与门1313输出逻辑“1”选通脉冲。由同样馈入到与门1313中的检验选通功能块1005来实施选通。
将此n+1输入与门1313的输出馈入到一系列的两个功能电路块中。称为新的最小检验电平“计数”的第一电路块1315一旦接收到逻辑“1”脉冲就将现有的最小检验电平增加1。然后,随后的块1317将此新的最小值载入到最小检验电平“计数”寄存器1305中,以用于随后的编程/检验序列中。注意,如果任何时候不存在目标为与当前最小检验电平相关联的数据状态的存储元件,那么图13的实施例同样将此最小检验电平递增到下一个较高数据状态的电平,以用于随后的编程/检验操作。
注意,如果任何时候最小检验电平试图超过检验范围的极点(即,所允许的最大值),那么不允许进一步进行此类增加。然后,最大检验电平保持固定于检验范围的极点(即,此实施例中的检验电平7)。
此处的基本思想为:在目标为待写入到对应于当前所使用的最低检验电平的数据状态的所有存储元件实际上到达此数据状态之前(如由其相应的锁定状态所指示),此相同的最低检验电平必须继续用于随后的编程/检验操作中。一旦所有所述单元实际上已进行所述编程(由已翻转到逻辑“1”状态的所有锁定所证实),那么自此以后无意于在此相同低端检验点处继续检验,且随后编程/检验操作的最小检验电平可从下一个较高电平开始。
在全部数据编程操作开始时,将最小检验电平设成与第一状态相关联的电平(即,将最小检验电平“计数”寄存器1305设成1),从而为待编程到此检验电平的单元作准备。
在组合使用上述峰值检验和最小检验实施例期间,将各编程脉冲随后的检验脉冲的数量动态地保持到编程序列中任何点处所需的最小值。通常在编程会话开始时,最大和最小检验电平将处于状态1。在若干脉冲之后,最大值将增加到停留在最快编程单元之上。独立地,由于目标指向先前最小状态的所有单元已进行所述编程(和锁定),因而在某些后来的点处最小值也增加。对于此跨越7步骤的连续检验范围的8状态实施例而言,此最大值和最小值的持续动态调整允许所需的检验平均数量小于所述值的一半(例如,每一编程步骤平均检验约小于3)。随着单元编程到最高状态,最大检验电平固定到最高端限制7,且在某些后来的点处最小检验电平也固定到此限制。在本揭示案的图5a和图5b中展示所述操作行为的实例。
尽管主要相对于当依序校验待检验状态时所提供时间上的节省来描述扫描窗口的判定,但是本发明也可实施于多状态被并行检验的实施例中,如上文所并入的美国专利申请案第09/671,793号所述。在并行的情况下,尽管此不会导致在速度增加方面的相同优点,但是其具有如减少功率消耗的其它优点。
尽管到目前为止的论述主要涉及使用存储装置的电荷存储装置(如浮闸EEPROM或快闪单元)的多状态实施例,但是其也可应用于其它多状态实施例,其中包括磁性媒体或光学媒体以及如多状态DRAM的易失性存储媒体。由于存储元件如何经读取、写入及存储数据的细节未包括于本发明的主要方面,所以本发明的各个方面可应用于其它存储器类型,包括(但不限于)子0.1μm晶体管、单电子晶体管、基于有机/碳的纳米晶体管和分子晶体管。例如,也可使用NROM和MNOS单元,如Eitan的美国专利第5,768,192号和Sato等人的美国专利号4,630,086中所分别描述的那些单元;或磁性RAM和FRAM单元,如Gallagher等人的美国专利第5,991,193号和Shimizu等人的美国专利号5,892,706中分别描述的那些单元,上述专利案均以引用方式并入本文中。
尽管已相对于多个例示性实施例对本发明加以描述,但是应理解,本发明属于所附加权利要求的全部范畴的保护范围内。

Claims (21)

1.一种操作一具有复数个多状态存储元件的非易失存储器的方法,所述方法包含:
将一第一编程脉冲施加到所述存储元件中所选择的若干存储元件;
检验多状态电平的一第一子集的所述所选择的若干存储元件上所述第一编程脉冲的结果;
基于所述检验结果形成所述多状态电平的一第二子集包含判定是否将未包括于所述第一子集中的所述多状态电平中的一个包括于所述第二子集中;
在所述检验之后,将一第二编程脉冲施加到一或多个所述所选择的若干存储元件;和
检验所述多状态电平的所述第二子集的所述一或多个所选择存储元件上的所述第二编程脉冲的结果。
2.根据权利要求1所述的方法,其中施加所述第二编程脉冲的过程终止于所述所选择存储元件中以所述第一编程脉冲的所述结果检验中的一各自目标值而进行检验的那些所选择存储单元。
3.根据权利要求1所述的方法,其中基于所述检验结果而形成所述多状态电平的一第二子集进一步包含:判定是否将包括于所述第一子集中的所述多状态电平中的一个排除于所述第二子集之外。
4.一种在复数个多状态数据存储元件上执行一编程操作的方法,所述方法包含:
执行一编程操作以将所述存储元件从一第一数据状态递增地移动依序经过复数个第二数据状态;
针对来自一目标值集合的一或多个目标值的一第一子集检验上述编程操作的结果,其中每个目标值对应于一各自的第二数据状态;
随后,基于前一个检验结果重新建立用于一随后检验操作的一或多个所述目标值的第二子集,其包含判定是否包括一未处于前一次检验的所述第一子集中的目标值;和
随后重复执行一编程操作,且使用所述重新建立的目标值的所述第二子集进行检验。
5.根据权利要求4所述的方法,其进一步包含:
结束对所述复数个存储元件中于上述编程操作的所述检验结果中所述复数个存储元件的各自目标值处进行检验的那些存储元件的进一步编程。
6.根据权利要求4所述的方法,其中所述检验结果包含依序地将前一次编程操作的结果与所述目标值的所述第一子集进行比较。
7.根据权利要求4所述的方法,其中随后重新建立的目标值的所述第二子集与所述目标值的所述第一子集相同。
8.根据权利要求4所述的方法,其中随后重新建立的所述目标值的所述第二子集进一步包含判定是否要从所述前一次检验中删除一目标值。
9.根据权利要求4所述的方法,其中所述执行一编程操作的过程包含以一编程电压对所述存储元件产生脉冲作用。
10.根据权利要求9所述的方法,其中所述存储元件为EEPROM存储器单元,且所述检验包含将一指示所述存储器单元的一阈值的参数与目标值的所述第一子集进行比较,其中所述目标值为所述参数的值。
11.根据权利要求4所述的方法,其进一步包含在重复执行一编程操作并通过使用重新建立的所述第二子集进行检验之后,将以下步骤重复一或多次:
随后,基于所述前一次检验的结果重新建立一随后检验操作的一或多个目标值的所述第二子集包含判定是否包括一未处于所述前一次检验的所述第一子集中的目标值;和
随后重复执行一编程操作。
12.根据权利要求11所述的方法,其进一步包含:
从复数个多状态数据存储元件中移除那些无法恰当被编程的存储元件。
13.根据权利要求11所述的方法,其中基于在所述前一次检验的所述目标值的所述第一子集的一个目标值处进行检验的一或多个所述存储元件,判定是否包括一未处于所述前一次检验的目标值的所述第一子集中的目标值N。
14.根据权利要求13所述的方法,其中响应于在所述第二数据状态的所述序列中的所述目标值N-1处进行检验的一或多个所述存储元件,在所述第二数据状态的所述序列中的所述目标值N被包括于所述目标值的所述第一子集中。
15.根据权利要求14所述的方法,其中在一或多个所述存储元件在所述前一次检验中的所述目标值N-1处进行检验之后,一目标值N被包括于所述检验子集中包括一第一数目的编程操作。
16.根据权利要求15所述的方法,其中所述第一数目为一可设定的参数。
17.一种存储器,其包含:
复数个多状态存储元件;
编程电路,其可连接到所述存储元件以执行一编程操作,由此可改变存储元件的所述状态;
感应电路,其可连接到所述存储元件,以判定一指示出所述存储元件的所述状态的参数值;
对比电路,其连接到所述感应电路,以使用对应于多状态电平的一子集的所述参数的目标值来执行一编程检验操作;和
逻辑电路,其连接到所述对比电路,其中将一或多个多状态电平加入到用于所述编程检验操作中的所述多状态电平的所述子集中是基于上述编程检验操作的结果来判定的。
18.根据权利要求17所述的存储器,其中在一编程检验操作中,所述对比电路将所述存储元件的状态与所述目标值依序进行比较。
19.根据权利要求17所述的存储器,其中从用于所述编程检验操作中的所述多状态电平的所述子集中删除一或多个多状态电平是基于前一次编程检验操作的所述结果来判定的。
20.根据权利要求17所述的存储器,其中所述逻辑电路将在所述编程检验操作中正确地检验为符合其各自目标值的存储元件锁定,以使所述逻辑电路无法进一步被编程。
21.根据权利要求17所述的存储器,其中所述存储元件为浮闸存储单元。
CN2003801051212A 2002-12-05 2003-12-01 多状态存储器的智能检验 Expired - Fee Related CN1720586B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/314,055 2002-12-05
US10/314,055 US7073103B2 (en) 2002-12-05 2002-12-05 Smart verify for multi-state memories
PCT/US2003/038076 WO2004053882A1 (en) 2002-12-05 2003-12-01 Smart verify for multi-state memories

Publications (2)

Publication Number Publication Date
CN1720586A CN1720586A (zh) 2006-01-11
CN1720586B true CN1720586B (zh) 2011-05-18

Family

ID=32468407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2003801051212A Expired - Fee Related CN1720586B (zh) 2002-12-05 2003-12-01 多状态存储器的智能检验

Country Status (10)

Country Link
US (3) US7073103B2 (zh)
EP (1) EP1568041B1 (zh)
JP (1) JP4382675B2 (zh)
KR (1) KR101017321B1 (zh)
CN (1) CN1720586B (zh)
AT (1) ATE357727T1 (zh)
AU (1) AU2003296003A1 (zh)
DE (1) DE60312729T2 (zh)
TW (1) TWI314325B (zh)
WO (1) WO2004053882A1 (zh)

Families Citing this family (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630237B2 (en) 2003-02-06 2009-12-08 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US7574341B1 (en) * 2003-11-12 2009-08-11 Hewlett-Packard Development Company, L.P. Speculative expectation based event verification
US7418678B1 (en) * 2003-12-01 2008-08-26 Jasper Design Automation, Inc. Managing formal verification complexity of designs with counters
US7355237B2 (en) * 2004-02-13 2008-04-08 Sandisk Corporation Shield plate for limiting cross coupling between floating gates
US7023733B2 (en) * 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7535771B2 (en) * 2004-11-04 2009-05-19 Macronix International Co., Ltd. Devices and methods to improve erase uniformity and to screen for marginal cells for NROM memories
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7403424B2 (en) * 2005-03-31 2008-07-22 Sandisk Corporation Erasing non-volatile memory using individual verification and additional erasing of subsets of memory cells
US7463521B2 (en) 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
EP1748446A1 (en) * 2005-07-28 2007-01-31 STMicroelectronics S.r.l. Two pages programming
US7362616B2 (en) * 2005-07-28 2008-04-22 Stmicroelectronics S.R.L. NAND flash memory with erase verify based on shorter evaluation time
ATE521972T1 (de) * 2005-08-01 2011-09-15 Sandisk Corp Programmierung eines nicht-flüchtigen speichers mit selbst-regulierender maximaler programmschleife
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop
US7023737B1 (en) * 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
WO2007050976A1 (en) * 2005-10-27 2007-05-03 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7349264B2 (en) 2005-12-28 2008-03-25 Sandisk Corporation Alternate sensing techniques for non-volatile memories
US7616481B2 (en) 2005-12-28 2009-11-10 Sandisk Corporation Memories with alternate sensing techniques
US7224614B1 (en) 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories
US7310255B2 (en) * 2005-12-29 2007-12-18 Sandisk Corporation Non-volatile memory with improved program-verify operations
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US7486561B2 (en) 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
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
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7525838B2 (en) * 2006-08-30 2009-04-28 Samsung Electronics Co., Ltd. Flash memory device and method for programming multi-level cells in the same
US7602650B2 (en) * 2006-08-30 2009-10-13 Samsung Electronics Co., Ltd. Flash memory device and method for programming multi-level cells in the same
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7734861B2 (en) * 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
JP4990978B2 (ja) 2006-10-13 2012-08-01 サンディスク コーポレイション 不揮発性記憶素子における部分的な消去と消去の検証
WO2008048810A2 (en) 2006-10-13 2008-04-24 Sandisk Corporation Partitioned soft programming in non-volatile memory
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US8296623B2 (en) * 2007-01-05 2012-10-23 California Institute Of Technology Codes for limited magnitude asymmetric errors in flash memories
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
EP2348511B1 (en) 2007-02-20 2014-08-13 SanDisk Technologies, Inc. Variable program for non-volatile storage
US7616500B2 (en) * 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with multiple pass write sequence
KR101371522B1 (ko) * 2007-02-27 2014-03-12 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 구동 방법
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
KR100816220B1 (ko) * 2007-03-14 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 언더 프로그램 셀 검출 방법 및그를 이용한 프로그램 방법
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US7898885B2 (en) * 2007-07-19 2011-03-01 Micron Technology, Inc. Analog sensing of memory cells in a solid state memory device
US7649782B2 (en) * 2007-07-31 2010-01-19 Freescale Semiconductor, Inc. Non-volatile memory having a dynamically adjustable soft program verify voltage level and method therefor
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7813188B2 (en) * 2007-09-10 2010-10-12 Hynix Semiconductor Inc. Non-volatile memory device and a method of programming a multi level cell in the same
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
KR100891405B1 (ko) * 2007-09-27 2009-04-02 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
JP2009129480A (ja) * 2007-11-20 2009-06-11 Toshiba Corp 不揮発性半導体記憶装置の閾値制御方法
DE102007055479B4 (de) * 2007-11-21 2015-09-10 Audi Ag Knotenelement für eine Fachwerkskonstruktion
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
JP5151439B2 (ja) * 2007-12-12 2013-02-27 ソニー株式会社 記憶装置および情報再記録方法
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US7916544B2 (en) 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US20090199058A1 (en) * 2008-02-06 2009-08-06 Christoph Seidl Programmable memory with reliability testing of the stored data
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
ITRM20080114A1 (it) * 2008-02-29 2009-09-01 Micron Technology Inc Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria.
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
KR100954949B1 (ko) * 2008-05-14 2010-04-27 주식회사 하이닉스반도체 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
US8433980B2 (en) * 2008-06-23 2013-04-30 Sandisk Il Ltd. Fast, low-power reading of data in a flash memory
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
JP5172555B2 (ja) 2008-09-08 2013-03-27 株式会社東芝 半導体記憶装置
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
KR101532754B1 (ko) 2008-09-22 2015-07-02 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US7768836B2 (en) * 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8045375B2 (en) * 2008-10-24 2011-10-25 Sandisk Technologies Inc. Programming non-volatile memory with high resolution variable initial programming pulse
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8111544B2 (en) * 2009-02-23 2012-02-07 Taiwan Semiconductor Manufacturing Company, Ltd. Programming MRAM cells using probability write
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
KR101015644B1 (ko) * 2009-05-29 2011-02-22 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 이를 프로그램하는 방법
US8054691B2 (en) 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8243520B2 (en) * 2009-11-02 2012-08-14 Infineon Technologies Ag Non-volatile memory with predictive programming
US8223556B2 (en) * 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
KR101676816B1 (ko) * 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US8233324B2 (en) 2010-03-25 2012-07-31 Sandisk Il Ltd. Simultaneous multi-state read or verify in non-volatile storage
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8310870B2 (en) 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8374031B2 (en) 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
US8345482B2 (en) * 2010-12-15 2013-01-01 Micron Technology, Inc. Methods for segmented programming and memory devices
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
KR101211840B1 (ko) * 2010-12-30 2012-12-12 에스케이하이닉스 주식회사 반도체 메모리 장치의 프로그램 방법
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8432740B2 (en) 2011-07-21 2013-04-30 Sandisk Technologies Inc. Program algorithm with staircase waveform decomposed into multiple passes
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
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
KR20130019082A (ko) * 2011-08-16 2013-02-26 삼성전자주식회사 비휘발성 메모리 장치의 설계 방법
US9361986B2 (en) 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
WO2013074528A1 (en) 2011-11-18 2013-05-23 SanDisk Technologies, Inc. Non-volatile storage with broken word line screen and data recovery
US9036415B2 (en) 2011-12-21 2015-05-19 Sandisk Technologies Inc. Mitigating variations arising from simultaneous multi-state sensing
US8842471B2 (en) 2012-01-06 2014-09-23 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: program to verify transition
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
US8937835B2 (en) 2012-03-13 2015-01-20 Sandisk Technologies Inc. Non-volatile storage with read process that reduces disturb
JP5398872B2 (ja) * 2012-04-27 2014-01-29 株式会社東芝 半導体記憶装置
US8937837B2 (en) 2012-05-08 2015-01-20 Sandisk Technologies Inc. Bit line BL isolation scheme during erase operation for non-volatile storage
US9142305B2 (en) 2012-06-28 2015-09-22 Sandisk Technologies Inc. System to reduce stress on word line select transistor during erase operation
US9053819B2 (en) 2012-07-11 2015-06-09 Sandisk Technologies Inc. Programming method to tighten threshold voltage width with avoiding program disturb
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
JP2014053060A (ja) 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
JP2014063551A (ja) 2012-09-21 2014-04-10 Toshiba Corp 半導体記憶装置
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
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US8929142B2 (en) * 2013-02-05 2015-01-06 Sandisk Technologies Inc. Programming select gate transistors and memory cells using dynamic verify level
US9311999B2 (en) * 2013-09-06 2016-04-12 Micron Technology, Inc. Memory sense amplifiers and memory verification methods
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
GB2518632A (en) * 2013-09-26 2015-04-01 Ibm Estimation of level-thresholds for memory cells
US9620238B2 (en) 2014-01-20 2017-04-11 Sandisk Technologies Llc Methods and systems that selectively inhibit and enable programming of non-volatile storage elements
JP2015204126A (ja) 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9218874B1 (en) 2014-08-11 2015-12-22 Sandisk Technologies Inc. Multi-pulse programming cycle of non-volatile memory for enhanced de-trapping
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US9443606B2 (en) 2014-10-28 2016-09-13 Sandisk Technologies Llc Word line dependent two strobe sensing mode for nonvolatile storage elements
US9875805B2 (en) 2015-01-23 2018-01-23 Sandisk Technologies Llc Double lockout in non-volatile memory
US9564213B2 (en) 2015-02-26 2017-02-07 Sandisk Technologies Llc Program verify for non-volatile storage
KR20160108770A (ko) 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9548130B2 (en) 2015-04-08 2017-01-17 Sandisk Technologies Llc Non-volatile memory with prior state sensing
US9570179B2 (en) 2015-04-22 2017-02-14 Sandisk Technologies Llc Non-volatile memory with two phased programming
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9564226B1 (en) 2015-10-30 2017-02-07 Sandisk Technologies Llc Smart verify for programming non-volatile memory
US10014063B2 (en) 2015-10-30 2018-07-03 Sandisk Technologies Llc Smart skip verify mode for programming a memory device
US9842655B2 (en) 2015-12-08 2017-12-12 Intel Corporation Reducing verification checks when programming a memory device
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10373696B2 (en) * 2017-08-18 2019-08-06 Western Digital Technologies, Inc. Methods and operations using XNOR functions with flash devices and solid state drives
TWI646550B (zh) * 2017-12-08 2019-01-01 旺宏電子股份有限公司 非揮發性記憶體及其寫入方法
US10566063B2 (en) 2018-05-16 2020-02-18 Micron Technology, Inc. Memory system with dynamic calibration using a trim management mechanism
US10664194B2 (en) 2018-05-16 2020-05-26 Micron Technology, Inc. Memory system with dynamic calibration using a variable adjustment mechanism
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
CN109524047B (zh) * 2018-10-15 2021-04-16 上海华虹宏力半导体制造有限公司 快闪存储器的字节编程重试方法
US10741568B2 (en) 2018-10-16 2020-08-11 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
KR102528274B1 (ko) 2018-11-06 2023-05-02 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
US10910075B2 (en) 2018-11-13 2021-02-02 Sandisk Technologies Llc Programming process combining adaptive verify with normal and slow programming speeds in a memory device
KR102641097B1 (ko) * 2018-12-31 2024-02-27 삼성전자주식회사 저항성 메모리 장치 및 저항성 메모리 장치의 프로그램 방법
US10748622B2 (en) 2019-01-21 2020-08-18 Sandisk Technologies Llc State adaptive predictive programming
CN111863087B (zh) * 2019-04-29 2022-08-30 北京兆易创新科技股份有限公司 一种控制编程性能的方法和装置
US11081198B2 (en) 2019-05-16 2021-08-03 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
US10839928B1 (en) 2019-05-16 2020-11-17 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
CN112945355A (zh) * 2021-01-27 2021-06-11 武汉正维电子技术有限公司 双脉冲数据采集方法
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
CN115512747A (zh) 2021-06-23 2022-12-23 桑迪士克科技有限责任公司 用于具有相邻平面干扰检测的智能验证的设备和方法
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
JP2023093187A (ja) * 2021-12-22 2023-07-04 キオクシア株式会社 半導体記憶装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1232271A (zh) * 1997-12-31 1999-10-20 Lg半导体株式会社 用于编程非易失存储器的系统和方法
US6243290B1 (en) * 1999-08-31 2001-06-05 Hitachi, Ltd. Nonvolatile semiconductor memory device
EP0856850B1 (en) * 1997-01-31 2005-05-11 Kabushiki Kaisha Toshiba Multi-level memory

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
KR100253868B1 (ko) 1995-11-13 2000-05-01 니시무로 타이죠 불휘발성 반도체기억장치
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
KR100319559B1 (ko) 1999-11-01 2002-01-05 윤종용 문턱 전압 분포들 사이의 마진을 일정하게 유지할 수 있는멀티-스테이트 불휘발성 반도체 메모리 장치
US6538922B1 (en) * 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
US20020156973A1 (en) * 2001-01-29 2002-10-24 Ulrich Thomas R. Enhanced disk array
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
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0856850B1 (en) * 1997-01-31 2005-05-11 Kabushiki Kaisha Toshiba Multi-level memory
CN1232271A (zh) * 1997-12-31 1999-10-20 Lg半导体株式会社 用于编程非易失存储器的系统和方法
US6243290B1 (en) * 1999-08-31 2001-06-05 Hitachi, Ltd. Nonvolatile semiconductor memory device

Also Published As

Publication number Publication date
TW200418043A (en) 2004-09-16
US7073103B2 (en) 2006-07-04
ATE357727T1 (de) 2007-04-15
KR20050101159A (ko) 2005-10-20
WO2004053882A1 (en) 2004-06-24
EP1568041B1 (en) 2007-03-21
KR101017321B1 (ko) 2011-02-28
DE60312729T2 (de) 2007-12-06
TWI314325B (en) 2009-09-01
JP2006509326A (ja) 2006-03-16
US20040109362A1 (en) 2004-06-10
US7243275B2 (en) 2007-07-10
US7584391B2 (en) 2009-09-01
AU2003296003A1 (en) 2004-06-30
JP4382675B2 (ja) 2009-12-16
DE60312729D1 (de) 2007-05-03
US20070234144A1 (en) 2007-10-04
US20060107136A1 (en) 2006-05-18
CN1720586A (zh) 2006-01-11
EP1568041A1 (en) 2005-08-31

Similar Documents

Publication Publication Date Title
CN1720586B (zh) 多状态存储器的智能检验
US8000149B2 (en) Non-volatile memory device
US5801987A (en) Automatic transition charge pump for nonvolatile memories
US7990771B2 (en) Program method of flash memory device
EP0857346B1 (en) Overerase correction for flash memory which limits overerase and prevents erase verify errors
CN102985976B (zh) 包括减小其他存储单元的影响的对非易失性存储器的编程
JP4170682B2 (ja) 不揮発性半導体メモリ装置
US7616499B2 (en) Retention margin program verification
US5327383A (en) Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy
US7660159B2 (en) Method and device for programming control information
USRE44978E1 (en) Method of verifying programming of a nonvolatile memory device
US7602650B2 (en) Flash memory device and method for programming multi-level cells in the same
US7839692B2 (en) Soft program method in a non-volatile memory device
US6222779B1 (en) Semiconductor storage device with automatic write/erase function
CN102651235A (zh) 非易失性存储装置及其操作方法
JPH11273374A (ja) メモリ装置とくにアナログおよび多重レベルのフラッシュeeprom装置における制御された消去方法
US7453732B2 (en) Method for programming memory cells including transconductance degradation detection
US20070159890A1 (en) Setting fail bit verification circuit with different reference fail numbers and a non-volatile semiconductor memory device including the same
JP2006024347A (ja) ビットスキャニングプログラムを実行する不揮発性メモリ装置
US6891756B2 (en) Flash memory comprising an erase verify algorithm integrated into a programming algorithm
KR100195272B1 (ko) 다수상태 불휘발성 메모리에서의 프로그램 인터럽트장치및그방법
JPH09213093A (ja) 不揮発性半導体記憶装置及びそのテスト方法及びトリミング方法

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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120327

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120327

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK TECHNOLOGIES, INC.

CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American Texas

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110518

Termination date: 20201201