CN1853239B - 检测过度编程的存储器 - Google Patents

检测过度编程的存储器 Download PDF

Info

Publication number
CN1853239B
CN1853239B CN2004800264432A CN200480026443A CN1853239B CN 1853239 B CN1853239 B CN 1853239B CN 2004800264432 A CN2004800264432 A CN 2004800264432A CN 200480026443 A CN200480026443 A CN 200480026443A CN 1853239 B CN1853239 B CN 1853239B
Authority
CN
China
Prior art keywords
memory element
data
programming
multimode
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 - Lifetime
Application number
CN2004800264432A
Other languages
English (en)
Other versions
CN1853239A (zh
Inventor
陈建
杰弗里·W·卢策
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 CN1853239A publication Critical patent/CN1853239A/zh
Application granted granted Critical
Publication of CN1853239B publication Critical patent/CN1853239B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/3463Circuits or methods to detect overprogrammed nonvolatile memory cells, usually during program verification
    • 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
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

在非易失性半导体存储器系统(或其它类型的存储器系统)中,通过改变所述存储器单元的阈电压来编程一存储器单元。由于所述系统中不同存储器单元的编程速度的变化,所以存在某些存储器单元将被过度编程的可能性。即,在一个实例中,阈电压将被移动超过预期值或预期的值范围。本发明包括判定所述存储器单元是否被过度编程。

Description

检测过度编程的存储器
相关申请案的交叉参考
本申请案涉及Jian Chen,Yan Li和Jeffrey W.Lutze的题为“DETECTING OVERPROGRAMMED MEMORY AFTER FURTHER PROGRAMMING”的美国专利申请案,其与本申请案同一天提出申请且以引用的方式并入本文中。
技术领域
本发明一般涉及用于存储器装置的技术,且更确切地说,本发明涉及检测存储器装置是否已过度编程。
背景技术
半导体存储器装置在各种电子装置中的使用已变得越来越普遍。举例来说,非易失性半导体存储器用于蜂窝电话、数码相机、个人数字助理、移动计算装置、非移动计算装置和其它装置中。电可擦除可编程只读存储器(EEPROM)和快闪存储器是其中最普遍的非易失性半导体存储器。
典型的EEPROM和快闪存储器利用具有一浮动栅极的存储器单元,所述浮动栅极提供于一半导体衬底中的通道区上并与所述通道区绝缘。所述浮动栅极定位于源极区与漏极区之间。一控制栅极提供于浮动栅极上并与所述浮动栅极绝缘。存储器的阈电压由保持在浮动栅极上的电荷量来控制。即,接通存储器单元以允许其源极与漏极之间的传导之前所必须施加到控制栅极的最低电压量由浮动栅极上的电荷电平来控制。
某些EEPROM和快闪存储器装置具有一用于存储两个电荷范围的浮动栅极,且因此可在两个状态之间编程/擦除存储器单元。当编程EEPROM或快闪存储器装置时,施加一编程电压到控制栅极并将位线接地。将来自p阱的电子注入到浮动栅极中。当电子在浮动栅极中聚集时,浮动栅极变为带负电且存储器单元的阈电压升高。
通常,施加到控制栅极的编程电压是以脉冲序列的方式施加的。所述脉冲的量值随每一个脉冲而增加一预定步长。在脉冲之间的周期中,进行检验操作。即,在每一个编程脉冲之间读取正并行地编程的每一个单元的编程电平,以判定其是否等于或高于正编程的单元的检验电平。一种检验所述编程的方法是测试一特定比较点处的传导性。
传导表示装置的″接通″状态,所述状态对应于电流流过装置的通道。″关闭″状态对应于没有电流流过源极与漏极之间的通道。通常,如果施加到控制栅极的电压大于阈电压,那么快闪存储器就传导,且如果施加到控制栅极的电压小于阈电压,那么所述快闪存储器就不传导。通过将单元的阈电压设置到适当值,可使得所述单元在一给定组的施加电压下可传导或不可传导电流。因此,可通过判定单元在一给定组的施加电压下是否传导电流来判定所述单元的状态。
可通过在装置内识别多个不同的阈电压范围来制造多位或多状态快闪存储单元。每个不同的阈电压范围对应所述组数据位的预定值。被编程到存储器单元中的数据与所述单元的阈电压电平之间的特定关系取决于所述单元所采用的数据编码方案。举例来说,美国专利第6,222,762号和在2003年6月13日提出申请的″Tracking Cells For A MemorySystem″的美国专利申请案第10/461,244号描述了多种数据编码方案,二者的全文以引用的方式并入本文中。适当的数据存储要求多状态存储器单元的阈电压电平的多个范围彼此相差足够余量(margin),使得可以明确的方式来编程或擦除存储器单元的电平。
在许多状况下,举例来说,为了生产商业上所需要的可在合理时间量内编程的存储器系统,有必要并行地编程多个存储器单元。然而,当同一时间要编程许多存储器单元时会出现问题。这是因为:由于包含存储器单元的半导体装置在结构和操作上存在微小变化,因此每个存储器单元具有不同的特征;因此,不同单元的编程速度通常会不同。这导致了某些存储器单元的编程过程可能会稍快于其它单元且某些存储器单元可能会编程为不同于预期状态的状态。多个存储器单元的较快编程可导致超出所要的阈电压电平范围,从而在正存储的数据中产生错误。
通常,当编程数据时,对装置进行检验处理能保证存储器单元的阈电压高于最低电平。然而,装置通常不能保证阈电压的上限。某些装置查看软件编程过程(下文所述)是否将阈电压升得过高;然而,这些装置不查看规则的编程过程是否将阈电压升得过高。因此,稍不注意就有可能发生升高阈电压以致超出所要状态的范围的过度编程。过度编程可导致存储器单元存储错误数据,从而导致随后的读取操作过程中的错误。可在美国专利第5,321,699号、第5,386,422号、第5,469,444号、第6,134,140号和第5,602,789号中找到有关过度编程的更多信息。
为了校正过度编程,许多存储器系统在随后的读取操作过程中使用错误校正码(″ECC″)。当从装置读取数据时,使用ECC来判定是否发生错误。如果所述错误很小,那么可使用ECC来校正所述错误。然而,当使用ECC来校正由于过度编程而产生的错误时,至少产生三个问题。第一,ECC过程需要大量处理时间,且因此大大减慢存储器系统的操作。第二,ECC需要附加的专用硬件以在合理的时间量内执行ECC。此种专用硬件可占用存储器系统芯片的大量空间。目前的研发趋势是减小存储器系统的尺寸以在系统中能放置更多的存储器单元且使得系统尽可能地小以适用于较小的主机装置。因此,新近的存储器设计通常正在减少可用于ECC的不动产(real estate)量。第三,如果存在多个错误,那么ECC便不能校正所述错误。
因此,需要一种改进的方法来检测存储器单元的过度编程。
发明内容
概括地来说,本发明属于用于检测存储器装置是否已被过度编程的技术。一旦检测到一个或一个以上存储器装置已被过度编程,那么系统可通过多种用于校正数据的已知方法中的任一种方法来加以校正所述情况。举例来说,系统可将数据重写到相同或不同的存储器装置。这种过度编程检测确保数据不会由于过度编程而发生错误,使得可减少对ECC的需要。
本发明的一个实施例包括一种用于在使用多个逻辑页的存储器系统中检测过度编程的方法。所述方法包括使用特定逻辑页的数据和来自不同逻辑页的数据编程第一多状态存储元件,以判定所述第一多状态存储元件是否过度编程。在一个实施中,所述系统判定所述第一多状态存储元件的阈电压是否大于比较值。如果所述第一多状态存储元件的阈电压大于所述比较值且不同逻辑页的数据指示所述第一多状态存储元件的阈电压不应大于所述比较值,那么系统推断出所述第一多状态存储元件被过度编程。在两个逻辑页被编程后执行过度编程检测。
本发明的另一实施例包括编程与第一控制线相关联的一个或一个以上多状态存储元件,且随后编程与第二控制线相关联的一个或一个以上多状态存储元件。在编程与第二控制线相关联的一个或一个以上多状态存储元件后,做出有关与第一控制线相关联的一个或一个以上多状态存储元件是否被过度编程的判定。所述控制线可为字线、位线或另一类型的控制线(视技术而定)。在一个实施例中,通过以下步骤来做出过度编程判定:在与第一控制线相关联的多状态存储元件上执行读取操作以得到一个或一个以上过度编程范围的边缘;且如果与第一控制线相关联的多状态存储元件具有在所述过度编程范围中的一个范围内的阈电压,那么判定其被过度编程。在另一实施例中,通过以下步骤来做出过度编程判定:在与第一控制线相关联的多状态存储元件上执行读取操作以得到一组一个或一个以上读取比较点,以判定与第一控制线相关联的多状态存储元件的初始状态;对与第一控制线和初始状态相关联的多状态存储元件执行错误校正码处理;且如果所述错误校正码处理对多状态存储元件失效,那么判定所述多状态存储元件被过度编程。
在又一实施例中,本发明包括对一第一多状态存储元件进行编程且对一第二多状态存储元件进行编程。系统在对所述第二多状态存储元件进行编程后判定所述第一多状态存储元件是否被过度编程。
在一个实施例中,实施本发明的系统包括一存储元件阵列和一管理电路。所述管理电路可包括专用硬件和/或可包括由存储于一个或一个以上存储器装置(例如,非易失性存储器(例如快闪存储器、EEPROM等)或其它存储器装置)上的软件编程的硬件。在一个实施例中,所述管理电路包括一控制器和一状态机。在另一实施例中,所述管理电路仅包括状态机而不包括控制器。所述管理电路可执行上文论述的步骤。在某些实施例中,由状态机来执行检验存储元件是否被过度编程的过程。在某些实施中,状态机与存储元件阵列处于同一集成电路芯片上。
本发明的这些和其它目标以及优点将从以下描述中更显而易见,其中结合附图阐述本发明的优选实施例。
附图说明
图1是与非(NAND)串的俯视图。
图2是NAND串的等效电路图。
图3是NAND串的横截面图。
图4是描绘三个NAND串的电路图。
图5是其中实施了本发明的多个方面的非易失性存储器系统的一个实施例的方框图。
图6说明存储器阵列的构造的一个实例。
图7描绘列控制器电路的一部分。
图8描绘存储器单元的阈分布并说明用于编程多状态存储器单元的技术的一个实例。
图9是描述用于编程一存储器阵列的过程的一个实施例的流程图。
图10-13是描述用于执行过度编程检测的一组过程的一个实施例的流程图。
图14A和14B是描述用于编程和执行过度编程检测的过程的两个实施例的流程图。
图15A描绘存储器的阈分布。
图15B和15C是描述用于执行过度编程检测的过程的两个实施例的流程图。
图16描绘具有用于执行过度编程检测的另一组比较点的存储器的阈分布。
图17-22是执行过度编程检测的附加实施例的真值表。
具体实施方式
快闪存储器系统的一个实例使用NAND结构,其包括在两个选择栅极之间串联排列多个晶体管。串联的晶体管和选择栅极称为NAND串。图1是显示一个NAND串的俯视图。图2是其等效电路。图1和图2中所描绘的NAND串包括四个串联的晶体管100、102、104和106,且所述四个晶体管夹在第一选择栅极120与第二选择栅极122之间。选择栅极120将NAND串连接到位线126。选择栅极122将NAND串连接到源极线128。通过向控制栅极120CG施加适当电压来控制选择栅极120。通过向控制栅极122CG施加适当电压来控制选择栅极122。晶体管100、102、104和106中的每一个都具有一控制栅极和一浮动栅极。晶体管100具有控制栅极100CG和浮动栅极100FG。晶体管102包括控制栅极102CG和浮动栅极102FG。晶体管104包括控制栅极104CG和浮动栅极104FG。晶体管106包括控制栅极106CG和浮动栅极106FG。控制栅极100CG连接到字线WL3,控制栅极102CG连接到字线WL2,控制栅极104CG连接到字线WL1,且控制栅极106CG连接到字线WL0。
图3提供上述NAND串的横截面图。如同图3中所描述,NAND串的晶体管(又称作单元或存储器单元)形成于p阱区140中。每个晶体管包括由控制栅极(100CG、102CG、104CG和106CG)与浮动栅极(100FG、102FG、104FG和106FG)组成的一堆叠栅极结构。所述浮动栅极形成于氧化物薄膜顶端上的p阱表面上。控制栅极位于浮动栅极上方,其中氧化物层分隔控制栅极与浮动栅极。应注意的是,图3似乎描述了晶体管120和122的控制栅极和浮动栅极。然而,对于晶体管120和122来说,控制栅极与浮动栅极是连接在一起的。存储器单元(100、102、104、106)的控制栅极形成字线。相邻单元之间共享N+扩散层130、132、134、136和138,借此所述这些单元彼此串联连接以形成一NAND串。这些N+扩散层形成每个单元的源极和漏极。举例来说,N+扩散层130充当晶体管122的漏极并充当晶体管106的源极,N+扩散层132充当晶体管106的漏极并充当晶体管104的源极,N+扩散区134充当晶体管104的漏极并充当晶体管102的源极,N+扩散区136充当晶体管102的漏极并充当晶体管100的源极,且N+扩散层138充当晶体管100的漏极并充当晶体管120的源极。N+扩散层126连接到所述NAND串的位线,而N+扩散层128连接到多个NAND串的共用源极线。
应注意的是,尽管图1-3显示NAND串中的四个存储器单元,但是仅提供使用四个晶体管的作为实例。一NAND串的存储器单元的个数可少于四个或多于四个。举例来说,某些NAND串将包括8个存储器单元、16个存储器单元、32个存储器单元等。本文的讨论并不受限于NAND串中的任何特定个数的存储器单元。
使用NAND结构的快闪存储器系统的典型构造将包括若干NAND串。举例来说,图4显示具有更多的NAND串的存储器阵列的三个NAND串202、204和206。图4的每个NAND串包括两个选择晶体管和四个存储器单元。举例来说,NAND串202包括选择晶体管220、230和存储器单元220、224、226、228。NAND串204包括选择晶体管240、250和存储器单元242、244、246、248。每一串通过其选择晶体管(例如,选择晶体管230和选择晶体管250)连接到源极线。选择线SGS用于控制源极侧的选择栅极。各个NAND串通过选择晶体管220、240等连接到各自的位线,其中所述选择晶体管由选择线SGD控制。在其它实施例中,未必需要共用选择线。字线WL3连接到存储器单元222和存储器单元242的控制栅极。字线WL2连接到存储器单元224、存储器单元244和存储器单元250的控制栅极。字线WL1连接到存储器单元226和存储器单元246的控制栅极。字线WL0连接到存储器单元228和存储器单元248的控制栅极。如同可看到的,每个位线和各自的NAND串包含存储器单元阵列的列。字线(WL3、WL2、WL1、和WL0)包含所述阵列的行。
每个存储器单元可存储数据(模拟或数字数据)。当存储一个位的数字数据时,存储器单元的可能的阈电压范围划分成两个范围,其分配为逻辑数据″1″和″0″。在NAND型快闪存储器的一个实例中,擦除存储器单元之后的阈电压为负,且被界定为逻辑″1″。编程操作之后的阈电压为正,且被界定为逻辑″0″。当阈电压为负且试图读取时,存储器单元将会接通以指示正在存储逻辑1。当阈电压为正且试图读取操作时,存储器单元将不会接通,其指示逻辑0被存储。存储器单元还可存储多个信息电平,例如,多个位的数字数据。在存储多个数据电平的状况下,可能的阈电压范围划分成数据电平的个数。举例来说,如果存储四个信息电平,那么会存在分配有数据值″11″、″10″、″01″和″00″的四个阈电压范围。在NAND型存储器的一个实例中,擦除操作之后的阈电压为负且被界定为″11″。正阈电压用于状态″10″、″01″和″00″。
下述美国专利/专利申请案中提供了NAND型快闪存储器的相关实例及其操作(所有申请案的全文以引用的方式并入本文中):美国专利第5,570,315号、美国专利第5,774,397号、美国专利第6,046,935号、美国专利第6,456,528号和美国专利申请案第09/893,277号(公开案第US2003/0002348号)。其它类型的快闪存储器装置也可与本发明一起使用。举例来说,下述专利描述或非型快闪存储器且所述专利的全文以引用的方式并入本文中:美国专利第5,095,344号、第5,172,338号、第5,890,192号和第6,151,248号。美国专利第6,151,248号中可找到快闪存储器类型的另一实例,所述案的全文以引用的方式并入本文中。
图5是可用于实施本发明的快闪存储器系统的一个实施例的方框图。存储器单元阵列302由列控制器电路304、行控制器电路306、c源极控制器电路310和p阱控制器电路308来控制。列控制器电路304连接到存储器单元阵列302的位线,以用于读取存储于存储器单元中的数据、用于在编程操作过程中判定存储器单元的状态,且用于控制位线的电位电平以促进编程或禁止编程。行控制器电路306连接到字线以选择所述字线中的一个来施加读取电压、施加编程电压且施加擦除电压。C源极控制器电路310控制连接到存储器单元的共用源极线(图6中标记为″C源极″)。P阱控制器电路308控制p阱电压。
由列控制器电路304读出存储于存储器单元中的数据并经由数据输入/输出缓冲器312输出到外部I/O线。待存储于存储器单元中的编程数据经由外部I/O线输入到数据输入/输出缓冲器312,并传输到列控制器电路304。外部I/O线连接到控制器318。
将用于控制快闪存储器装置的命令数据输入到控制器318。命令数据通知快闪存储器所请求的是何操作。将输入命令传输到状态机316,其控制列控制器电路304、行控制器电路306、c源极控制器电路310、p阱控制器电路308和数据输入/输出缓冲器312。状态机316还可输出快闪存储器的状态数据,例如READY/BUSY或PASS/FAIL。
控制器318连接到或可连接到主机系统,例如个人计算机、数码相机、个人数字助理等。控制器318与主机通信以接收来自主机的命令、接收来自主机的数据、向主机提供数据并向主机提供状态信息。控制器318将来自主机的命令转换成可由命令电路314解译并执行的命令信号,其中所述命令电路314与状态机316进行通信。控制器318通常含有缓冲存储器,其用于写入到存储器阵列或自存储器阵列读取的用户数据。
一个示范性存储器系统包含:一个集成电路,其包括控制器318;和一个或一个以上集成电路芯片,其中每个集成电路芯片含有一存储器阵列和相关的控制、输入/输出和状态机电路。目前的研发趋势是将系统的存储器阵列和控制器电路一起集成在一个或一个以上集成电路芯片上。可将存储器系统嵌入作为主机系统的一部分,或可将其包括于一可移除地插入到主机系统中的存储器卡(或其封装)中。此类可移除卡可包括整个存储器系统(例如,包括控制器)或仅包括存储器阵列和相关的外围电路(控制器嵌入主机中)。因此,控制器可嵌入主机中或包括于可移除的存储器系统内部。
参看图6,其描述了存储器单元阵列302的实例结构。作为一个实例,其描述了分割为1,024个块的NAND快闪EEPROM。可同时擦除存储于每个块中的数据。在一个实施例中,块是可同时擦除的单元的最小单位。在此实例中,每个块中存在8,512个列,其划分为偶数列和奇数列。位线同样划分成偶数字线(BLe)和奇数字线(BLo)。图6显示串联连接以形成NAND串的四个存储器单元。尽管显示每个NAND串中包括四个单元,但是可使用的单元个数可多于四个或少于四个。NAND串的一个终端经由第一选择晶体管SGD连接到对应位线,且另一终端经由第二选择晶体管SGS连接到c源极。
在读取操作和编程操作过程中,同时选择4,256个存储器单元。所述选定的存储器单元具有相同字线和相同种类的位线(例如,偶数字线)。因此,可同时读取或编程532个字节的数据。这些同时读取或编程的532个字节的数据形成了一逻辑页。因此,一个块可存储至少8个逻辑页(4个字线,其中每个字线具有奇数页和偶数页)。当每个存储器单元存储两个比特的数据(例如,多电平单元)时,一个块可存储16页。具有其它尺寸的块和页也可与本发明一起使用。
通过将p阱升高到擦除电压(例如,20伏特)并将选定块的字线接地来擦除存储器单元。源极和位线是浮动的。可对整个存储器阵列、独立块或单元的另一单位执行擦除过程。从浮动栅极传输电子到p阱区且阈电压变为负。
在读取操作和检验操作中,将选择栅极(SGD和SGS)和未选择的字线(例如,WL0、WL1和WL3)升高到读通电压(read pass voltage)(例如,4.5伏特)以使所述晶体管可作为通过栅极来操作。选定字线(例如,WL2)连接到一电压,为每个读取操作和检验操作指定所述电压的电平以判定相关存储器单元的阈电压是否已达到此电平。举例来说,在对两个电平的存储器单元进行读取操作的过程中,可将选定字线WL2接地,使得可检测阈电压是否高于0V。在检验操作中,举例来说,将选定字线WL2连接到2.4V使得可检验阈电压是否已达到至少2.4V。源极和p阱处于零伏特。将选定位线(BLe)预先充电到(例如)0.7V的电平。如果阈电压高于读取电平或检验电平,那么相关位线(BLe)的电位电平由于非传导存储器单元而保持高电平。另一方面,如果阈电压低于读取电平或检验电平,那么相关位线(BLe)的电位电平由于传导存储器单元(M)而降低到低电平(例如,小于0.5V)。通过连接到位线的读出放大器来检测存储器单元的状态。是擦除存储器单元还是编程存储器单元之间的差别取决于负电荷是否存储于浮动栅极中。举例来说,如果负电荷存储于浮动栅极中,那么阈电压会变为更高且晶体管可处于增强模式中。
根据所属领域中的已知技术来执行上述擦除、读取和检验操作。因此,所属领域的技术人员可改变许多所解释的细节。
图7描绘图5的列控制器电路304的一部分。每一对位线(例如,BLe和BLo)耦接到读出放大器。读出放大器连接到三个数据锁存器:第一数据锁存器402、第二数据锁存器404和第三数据锁存器406。三个数据锁存器中的每一个都能存储一个比特的数据。读出放大器在读取操作或检验操作过程中感测选定位线的电位电平、以二进制方式存储感测的数据并在编程操作过程中控制位线电压。通过选择″偶数位线″和″奇数位线″信号中的一个来选择性地连接读出放大器到选定位线。数据锁存器402、404和406耦接到I/O线408以输出读取数据并存储编程数据。I/O线408连接到图5的数据输入/输出缓冲器312。数据锁存器402、404和406同样耦接到状态线410以接收并发送状态信息。在一个实施例中,每一对位线(偶数位线和奇数位线)都具有读出放大器、第一数据锁存器402、第二数据锁存器404和第三数据锁存器406。
图8说明存储两个比特的数据(例如,四个数据状态)的存储器单元的阈电压分布。分布460表示处于擦除状态(存储″11″)的单元的阈电压分布,其具有负阈电压电平。分布462表示存储″10″的单元的阈电压分布。分布464表示存储″00″的单元的阈电压分布。分布466表示存储″01″的单元的阈电压分布。在此实例中,存储于单个存储器单元中的两个比特中的每个比特是不同逻辑页的部分。正方形中显示的比特对应于低页。圆形中显示的比特对应于高页。在一个实施例中,使用格雷(gray)码定向(11、10、00、01)来将这些逻辑状态分配给物理状态,使得如果浮动栅极的阈电压错误地变动,那么仅会影响一个比特。尽管图8显示四个状态,但是本发明所使用的状态个数可少于四个或多于四个。
为了提供改进的可靠性,较好的措施是使个别分布变得紧密(分布窄化),这是因为较紧密的分布会产生较宽的读取余量(状态之间的距离)。根据1995年关于VLSI(超大规模集成电路)技术的研讨会的摘要第129-130页的文章″Fast and Accurate ProgrammingMethod for Multi-level NAND EEPROMs″(所述文章以引用的方式并入本文中),在原理上,将分布限制为0.2V的宽度需要通常的重复编程脉冲在步长之间增加0.2V。为了使0.05V宽度内的分布变得紧密,需要0.05V的步长。采用编程电压的此种小步长增量来编程单元会导致编程时间的增加。
图8说明编程4-状态NAND存储器单元的双行程(two pass)技术的实例。在第一编程行程中,根据待编程为低逻辑页的比特来设置单元的阈电压电平。如果所述比特是逻辑″1″,那么阈电压不变,因为其由于早先已被擦除而处于适当的状态下。然而,如果待编程的比特是逻辑″0″,那么,如同箭头470所显示的,所述单元的阈电平增大到处于阈电压分布462内。那结束第一编程行程。
在第二编程行程中,根据正被编程为高逻辑页的比特来设置所述单元的阈电压电平。如果高逻辑页比特要存储逻辑″1″,那么不会发生编程过程,因为所述单元取决于低页比特的编程而处于对应于阈电压分布460或462的状态中的一个,所述阈电压分布460和462的都承载有高页比特″1″。如果高页比特将为逻辑″0″,那么阈电压被改变。如果第一行程导致所述单元保持对应于临限分布460的擦除状态,那么,在第二相位中编程所述单元,使得阈电压增大到处于阈电压分布466内,如箭头474所描绘。如果所述单元由于第一编程行程而已编程为对应于临限分布462的状态,那么,在第二行程中进一步编程所述存储器单元,使得阈电压增大到处于阈电压分布464内,如箭头472所描绘。第二行程的结果是将所述单元编程为被指定为高页存储逻辑″0″而不改变用于低页的数据。
应注意的是,尽管已将特定的比特模式分配给所述分布中的每一个,但是可分配不同的比特模式,在所述状况下,其间发生编程的状态可不同于图8中所描绘的状态。
通常,被并行地编程的单元是沿一字线的交替单元。举例来说,图4说明沿字线WL2的数目大得多的单元中的三个存储器单元224、244和250。一组交替单元(包括单元224和250)存储来自逻辑页0和2(″偶数页″)的比特,而另一组交替单元(包括单元244)存储来自逻辑页1和3(″奇数页″)的比特。在上述实例中,逻辑页0和1是低页,而逻辑页2和3是高页。
应注意的是,图8还显示读取比较点和检验比较点。举例来说,读取比较点包括Vr10、Vr00和Vr01。在读取操作过程中,将对应于Vr10、Vr00和Vr01的电压施加到存储器单元的控制栅极来判定所述存储器单元在哪一点处传导且在何点处不传导。基于所述三个读取操作,存储器系统可判定所述存储器单元处于哪个阈分布(例如,哪个状态)中。举例来说,如果存储器单元对所述三个读取操作中的任何一个都不传导,那么存储器单元处于状态01中。如果存储器单元仅在将Vr01施加到控制栅极时才传导,那么存储器单元处于状态00中。如果施加Vr00时存储器传导而施加Vr10时存储器不传导,那么存储器单元处于状态10中。如果施加Vr10、Vr00和Vr01时存储器单元传导,那么存储器单元处于状态11中。在一个实施例中,读取比较点Vr10、Vr00和Vr01中的每一个都是阈分布的相邻状态之间的中点。在编程过程中使用检验比较点Vr10、Vr00和Vr01来判定单元是否已充分编程。
图8还显示过度编程检验比较点VopSP、Vop10、Vop00和Vop01。这些过度编程检验比较点用于判定一特定存储器单元是否已被过度编程。举例来说,将VopSP施加到期望处于状态11下的存储器单元的控制栅极后,如果所述单元不传导,那么可判定所述单元被过度编程(过度软件编程)。如果期望所述单元处于状态10下,那么将Vop10施加到所述单元的控制栅极时,如果所述单元不传导(例如,接通),可推断所述单元被过度编程。当假设所述单元处于状态00下时,将Vop00施加到控制栅极时,如果所述存储器单元不传导,那么所述单元已被过度编程。当所述单元编程为状态01时,如果将Vop01施加到控制栅极时,如果所述单元不传导,那么可推断所述单元被过度编程。所述过度编程检验比较点中的每一个都稍低于相邻的读取比较点。举例来说,在一个实施例中,所述过度编程检验比较点低了50mV。在其它实施例中,检验比较点与相邻的读取比较点之间的差值可多于或少于50mV。在一个实施例中,由状态机316执行过度编程检验过程。
在编程过程的一个实施例中,在低页编程之前存储器单元首先被擦除(在块或其它单位中)。当编程过程开始时,由控制器从主机接收数据负载或写入命令。控制器向数据输入/输出缓冲器312和状态机316发布适当命令。控制器318接收一地址,其中写入数据到所述地址。将此地址映射到一特定逻辑页(或多个)和存储器单元阵列302中的实际地址。将地址数据从控制器318发送到数据输入/输出缓冲器312和(在某些实施例中)状态机316。然后,基于编程操作的地址将数据发送到适当的第一数据锁存器402。将来自第一数据锁存器402的数据载入对应的第二数据锁存器404中。响应来自控制器的编程命令,状态机316接着开始图9的流程图所描述的编程过程。
在步骤594中,状态机316判定数据被写入到高页还是低页。如果数据被写入到低页,那么过程在步骤600处继续。如果数据被写入到高页,那么状态机执行低页读取操作来判定步骤596中的低页数据。返回参看图8,高页编程包括将存储器单元编程为状态00或状态01。如果低页数据是逻辑″1″,那么高页编程过程包括将存储器单元编程为状态″01″(见图8的箭头474)。如果低页数据是逻辑″0″,那么高页编程过程包括将存储器单元编程为状态00(参考图8的箭头472)。因此,系统需要知道低页数据以判定在高页编程过程中必须将存储器单元编程为何状态。
在步骤596的一个实施例中,状态机在Vr10处执行读取操作。如果存储器单元传导(接通),那么低页的读取数据是″1″。如果存储器单元不传导(不接通),那么低页的读取数据是″0″。接着将低页数据存储于第三数据锁存器406中。应注意的是,可使用其它读取过程来读取低页数据且可将低页数据存储于除第三数据锁存器406之外的位置中。在将低页数据存储于第三数据锁存器406中之后,过程在步骤600处继续。
在步骤600中,状态机将编程脉冲施加到适当字线。在驱动第一脉冲之前,将编程电压初始化为起始脉冲(例如,12伏特),且将状态机所维持的编程计数器初始化为0。在步骤600的第一次迭代中,将第一编程脉冲施加到选定字线。如果逻辑″0″存储于特定的第一数据锁存器中,那么将所述存储器单元的对应位线接地。相反,如果逻辑″1″存储于特定的存储器单元的第一数据锁存器中,那么将对应位线连接到Vdd以抑制编程。2003年3月5日申请的题为″Improved Self Boosting Technique″的美国专利申请案第10/379,608号中可找到有关抑制编程的更多信息,所述案的全文以引用的方式并入本文中。
在步骤602中,检验选定的存储器单元。如果检测到选定单元的目标阈电压已达到其目标电平(例如,通过将读出放大器与第二数据锁存器的输出进行比较),那么将第二数据锁存器404中所存储的数据变为逻辑″1″。如果检测到所述阈电压没有达到适当电平,那么不改变第二数据锁存器404中所存储的数据。以此方式,不需要编程对应的第二数据锁存器404中存储有逻辑″1″的存储器单元。当所有第二数据锁存器都存储逻辑″1″时,状态机(经由线410)可了解到所有选定单元已被编程。因此,步骤604包括检验是否所有的第二数据锁存器404都存储逻辑″1″。如果是这样,那么完成编程的第一阶段且在步骤610中报告适当的状态消息。
如果在步骤604中判定并不是所有的第二数据锁存器404都存储逻辑″1″,那么继续编程过程。在步骤606中,检查编程计数器的编程限制值。编程限制值的一个实例是20。如果编程计数器并不小于20(例如,已执行的编程尝试的最大数目),那么编程过程失败(步骤608)并报告适当的状态消息。如果编程计数器小于最大值,那么编程电压电平增加了下一步长、编程计数器增加且编程过程在步骤600处继续以施加下一脉冲。
如果检验步骤在步骤604处成功,那么经编程的存储器单元的每一个应具有图8中所描绘的所述分布中的一个分布中的阈电压。然而,前述方法仅检验了正被编程的单元的阈电压最少与适当的检验比较点一样高。步骤602中所使用的检验比较点是目标阈分布中最低的可接受电压电平。举例来说,参看图8,步骤604的用于检验单元被编程为状态10的检验比较点是Vv10,用于编程为状态00的检验比较点是Vv00,且用于编程为状态01的检验比较点是Vv01。因此,上述过程检验所述编程过程并不是没有达到所要的状态。直到此点,还没有检查所述编程过程是否超出了所要的状态。举例来说,如果我们期望将存储器单元编程为状态10且将所述存储器单元的阈电压被编程为高于Vop10的任何值,那么所述存储器单元被过度编程。步骤620-676用于判定所述编程过程是否过度编程了所述存储器单元。
在步骤610之后,图9的过程分成了两个并行路径。如果所述编程过程编程低页,那么所述过程执行步骤620-644。如果编程过程编程高页,那么所述过程执行步骤660-676。可能某些单元将使一低页编程且相同的编程过程中的其它单元将使高页编程。
因此,可对不同的存储器单元执行不同的步骤组。在另一实施例中,不管正在被编程的是低页还是高页,对正在编程的每一个单元都可执行步骤620-644和步骤660-676。
如果正在编程低页,那么执行620。步骤620在编程检验过程中包括软件编程过程。即,步骤620包括执行如下过程:判定在擦除过程之后或作为擦除过程的一部分所执行的软件编程过程是否将所擦除的存储器单元的阈电压升高到可接受值之上。当存储器单元被擦除时,所述所擦除的存储器单元的阈电压有可能太低。为了补救太低的阈电压,执行软件编程过程以将所擦除的存储器单元的阈电压升高到可接受的电平。所述软件编程过程可能将阈电压升得太高使得所述存储器单元变为过度编程(例如,阈电压变为高于VopSP)。步骤620检测所述过度编程单元。在步骤622中,判定多个单元是否通过了620的软件编程过度编程检验过程。如果所有单元都没有通过,那么在步骤624中将返回一指示所述软件编程过度编程检验失败的状态。如果通过了步骤620的过程(因为在所述软件编程过程中没有单元被过度编程),那么在步骤638中执行状态10过度编程检验过程。
步骤638包括执行状态10过度编程检验过程。状态机判定期望处于状态10中的单元是否具有高于Vop10的阈电压。如果是这样,那么所述单元没有通过测试(步骤640)且返回一指示存在过度编程失败的状态(步骤642)。在一个实施例中,所述状态可包括指示其为状态10过度编程失败。在另一实施例中,还可返回高于可接受的电平的阈电压的量值。如果步骤638的过程未识别出被过度编程的存储器单元,那么在步骤644中返回状态″通过″。在步骤644的替代实施例中,所述过程可返回存在状态10过度编程检验通过。
如果高页被编程,那么所述过程在步骤660中执行状态00过度编程检验过程。系统进行检查以判定期望处于状态00的存储器单元的阈电压是否高于Vop00。如果所述单元没有通过(因为期望处于状态00的存储器单元具有高于Vop00的阈电压),那么在步骤664中将提供一指示过度编程失败的状态。在替代实施例中,所述状态可指示其为状态00过度编程失败。如果判定所述单元没有被过度编程,那么所述过程循环到步骤670并执行状态01过度编程检验过程。
在步骤670中,系统判定期望处于状态01的单元是否具有高于Vop01的阈电压。如果期望所述单元处于状态01且阈电压高于检验比较点Vop01,那么所述单元没有通过所述测试且在步骤674中报告失败状态。如果所有单元都通过测试(以为没有被过度编程或不处于状态01),那么将在步骤676中报告通过状态。在一个实施例中,可省略步骤670-676。
图10是流程图,其描述用于执行软件编程过度编程检验(图9的步骤620)的过程的一个实施例。在步骤700中,先前被编程到存储器单元中的数据仍然存在于第一数据锁存器402中。对于所述存储器单元,将所述数据从第一数据锁存器402载入第二数据锁存器404中。在步骤702中,使用VopSP来执行检验过程。也就是说,系统可执行读取操作,其中所述控制栅极接收电压VopSP。如果所述存储器单元传导,那么读出放大器返回逻辑1。如果所述单元不传导,那么读出放大器返回逻辑0。如果检验数据与第二数据锁存器404中的数据相匹配(步骤704),那么将第二数据锁存器404中的数据设置为1(步骤706)。对每一个单元来并行地执行步骤700-706。如果所述存储器单元的所有第二数据锁存器都设置为1(步骤708),那么所述软件编程过度编程检验过程返回结果″通过″(步骤710)。如果并不是所有的第二数据锁存器404都设置为1,那么所述过程失败(步骤712)。应注意的是,如果所述单元处于状态10,那么,在步骤700中被载入第二数据锁存器中的数据将为逻辑0、检验步骤702将施加VopSP电压,晶体管将不传导且读取数据将指示为0。因此,读取数据将与第二数据锁存器404中的数据相匹配,第二数据锁存器404将被设置为逻辑1且所述过程仍通过。
图11是流程图,其描述执行状态10过度编程检验(图9的步骤638)的过程。在图11的步骤764中,系统使用Vop10来执行检验过程。也就是说,通过施加Vop10到多个存储器单元的控制栅极来执行读取操作。如果单元处于状态11或10且没有被过度编程,那么所述单元应传导;因此应接收到逻辑1。在步骤766中,第二数据锁存器404载入来自检验步骤的结果。如果所有单元都没有被过度编程,那么其均应使逻辑1存储于其各自的第二数据锁存器中。如果所有第二数据锁存器都处于逻辑1(步骤768),那么所述过程通过(步骤770),如果并不是所有的第二数据锁存器都处于逻辑1,那么所述过程失败(步骤772)。
图12是流程图,其描述用于执行状态00过度编程检验过程(图9的步骤660)的过程的一个实施例。在图12的步骤802中,使用Vop00来执行检验过程。也就是说,通过施加Vop00到存储器单元的控制栅极来执行读取操作。在一个实施例中,如果存储器单元的阈电压高于Vop00,那么所述存储器单元将不接通且将返回逻辑″0″。如果存储器单元的阈电压低于Vop00,那么所述存储器单元将接通且将返回逻辑″1″。从步骤802的检验返回的结果被存储于适当的第二数据锁存器404中。在步骤804中,系统将检验步骤802的结果与存储于第三数据锁存器406中的低页数据相比较。在高页编程之后执行图12的过程。如同上文所描述的,通过读取低页数据并将低页数据存储于第三数据锁存器406中(见596和598)来开始高页编程。将存储于第三数据锁存器中的低页数据与检验步骤802的结果相比较。
在高页编程之后,状态机需要知道存储器单元应处于状态00还是状态01。低页数据提供所述信息。如果低页数据为0,那么意味着所述存储器单元在高页编程之前处于状态10。如果所述存储器单元处于状态10中,那么执行高页编程会将所述存储器单元移动到状态00(见图8的箭头472)。如果低页数据为1,那么意味着所述存储器单元在高页编程之前处于状态11。如果所述存储器单元处于状态11,那么执行高页编程会将所述存储器单元移动到状态01(见图8的箭头474)。因此,状态机知道:如果低页数据为逻辑″0″,那么其需要查看所述存储器单元是否被过度编程。如果低页数据为逻辑″1″,那么所述存储器单元不可能处于状态00,且因此状态00过度编程检验不可能失败。
在一个实施例中,如果第三数据锁存器406中的低页数据为逻辑″0″且存储于第二数据锁存器404中的从步骤802的检验返回的结果为逻辑″0″,那么在步骤806中判定存储器单元已被过度编程。此情况指示所述存储器单元应处于状态00;然而,阈电压高于Vop00。如果低页数据为逻辑″1″或存储于第二数据锁存器404中的从步骤802的检验过程返回的结果为逻辑″1″,那么证实所述存储器单元相对于状态00没有被过度编程。在步骤806中,对于相对于状态00没有被过度编程的每一个存储器单元而言,将相关的第二数据锁存器404设置为逻辑″1″。应注意的是,如果期望高页编程过程将高页保持为逻辑1(例如,状态11或状态10),那么各自的第二数据锁存器将已处于逻辑″1″。如果将所有的第二数据锁存器404设置为逻辑″1″(步骤808),那么图12的过程通过(步骤810)。如果并没有将所有的第二数据锁存器404都设置为逻辑″1″,那么,因为存在相对于状态100而被编程的一个或一个以上存储器单元,所以图12的过程失败(步骤812)。
图13是流程图,其描述用于对状态01执行高页过度编程检验过程(图9的步骤670)的过程的一个实例。在步骤862中,使用比较点Vop01来执行检验过程。如果所述单元传导(返回的检验结果为逻辑1),那么将第二数据锁存器404设置为逻辑″1″;否则,将第二数据锁存器404设置为逻辑″0″。如果将所有的第二数据锁存器设置为1(步骤864),那么图13的过程通过(步骤866)。如果并没有将所有第二数据锁存器设置为逻辑″1″,那么图13的过程未通过(步骤868)。
应注意的是,上述流程图假设通过向控制栅极施加特定电压并判定所述存储器单元是接通还是关闭来执行检验过程。然而,存在检验(并读取)存储器单元以判定状态的其它手段,且可在本发明的精神内使用所述手段。举例来说,可使用电流感测系统,其中将处于某种读取条件下的存储器单元的电流与一组参考电流相比较。在另一实施例中,可使用许多不同参数来判定存储器单元的状态。举例来说,可通过电流感测来执行单元中所存储的电荷电平的判定,其中使用固定的偏压条件来感测其传导的量值。或者,可通过感测阈电压来判定,其中使用多种操纵栅极偏压条件来感测此类传导的开始。或者,通过使单元的电荷电平判定驱动器强度来控制动态地固定的感测节点的放电速率(例如通过预充电电容器),可动态地执行所述判定过程。通过感测达到给定的放电电平的时间来判定所存储的电荷电平。在此种情况下,能指示所述单元条件的参数是时间。在美国专利第6,222,762号中描述了此方法,所述专利的全文以引用的方式并入本文中。另一替代技术是将频率用作参数来判定存储器单元的状态的技术,如美国专利第6,044,019号中所描述,所述专利的全文以引用的方式并入本文中。美国专利第5,172,338号中更全面地研究了电流感测方法,所述专利的全文也以引用的方式并入本文中。
因为相邻浮动栅极上的电荷可引起电场,所以存储于浮动栅极上的表观电荷会发生移动。问题是在正被读取的当前单元被编程之后可同时编程或擦除相邻存储器单元。举例来说,我们认为一组单元被编程以将一电荷电平添加到其浮动栅极以对应于一组数据。在用第二组数据来编程第二组单元(与第一组单元相邻)之后,由于受到第二组浮动栅极的电场的影响,从第一组单元的浮动栅极读取的电荷电平有时候似乎与被编程的不同。也就是说,观察到的错误可归因于正被读取的单元的浮动的表观电压电平受到相邻浮动栅极的电场的影响。此通常称为Yupin效应,且在美国专利第5,867,429号和第5,930,167号中较充分地描述了所述Yupin效应,所述专利的全文以引用的方式并入本文中。这些专利描述使两组浮动栅极彼此间物理上绝缘或考虑读取第一组浮动栅极时第二组浮动栅极上的电荷所产生的影响。
有可能正确地编程第一组存储器单元,但当接着编程相邻单元时,Yupin效应便会导致第一组存储器单元似乎被过度编程。举例来说,对期望编程为状态10(见图8)的第一单元进行检查以检验所述单元的阈电压高于Vv10(编程检验)并低于Vop10(过度编程检验)。在编程相邻存储器单元之后,从所述第一单元读取的阈电压可能似乎高于原先编程的阈电压(例如,高出2伏特)。如果将第一存储器单元编程为正好低于Vop10的阈电压,那么在编程所述相邻单元之后第一单元具有高于Vop10的表观阈电压。因此,过度编程了第一存储器单元。所述表观阈电压可能高于读取比较点(例如,Vr00),借此导致数据错误。应注意的是,邻近单元可能在相邻字线或相邻位线上。举例来说,在图4中,单元244与单元224、242、250和246相邻。在某些实施中,不与单元244相邻的存储器单元可能具有能影响从单元244读取的表观电荷的电场。
为了解决Yupin效应,在使用第一控制线(例如,字线或位线)进行编程之后,本发明的一组实施例将在先前已被编程且与第一控制线相邻的控制线相关的页上执行过度编程检验检查。图14A-15C描述这些实施例。
图14A描述在与先前选定字线相关的逻辑页上执行过渡编程检验的过程的实施例。在图14A的步骤902中,使用第一字线来编程一组存储器单元。举例来说,参看图4,可使用字线WL1来编程逻辑页。步骤902的过程包括执行图9的过程,如同上文关于图10-13的所描述的,所述过程包括检查过度编程的存储器单元。在步骤904中,使用第二字线(例如,图4的字线WL2)对存储器单元执行第二组编程操作。步骤904的过程包括执行图9的过程,其包括检查过度编程的存储器单元。在步骤906中,系统检查由与第一字线(例如,字线WL1)相关的逻辑页的存储器单元的上述Yupin效应所导致的过度编程。在步骤908中,系统将使用第三字线(例如,字线WL3)来编程第三组存储器单元。步骤908的过程包括执行图9的过程,其包括检查过度编程的存储器单元。在步骤910中,系统检查由与第二字线(例如,WL2)相关的逻辑页的上述Yupin效应所导致的过度编程。然后,所述过程可继续(或不继续)编程与附加附加字线相关的存储器单元并为先前编程的字线检查过度编程的存储器单元。
应注意的是,在某些实施中,沿NAND串顺序地编程字线;因此,在第一字线用于编程之后,下一编程操作使用与第一字线相邻的字线。通常(但并不总是)以从源极侧到漏极侧的顺序来编程NAND串,举例来说,从存储器单元228到存储器单元222(见图4)。因此,在使用WL0进行编程之后,系统接着将使用WL1(与WL0相邻)。因此,在图14A的实例中,对最接近的先前字线执行过度编程检验。然而,在其它实施例中,可检查其它先前编程的存储器单元,而不是检查最接近的先前编程的存储器单元。
图14B提供流程图,描述通过检查先前选定的位线的过度编程的存储器单元来解决Yupin效应的一个实施例的过程。在一个实施例中,将位线分组为奇数字线和偶数字线。编程奇数字线,接着编程偶数字线,接着编程奇数字线,接着编程偶数字线等。在其它实施例中,不同组的位线可用于不同的编程操作。图14B期望:通过一组位线进行编程之后,相对于先前编程的其它组位线执行对过度编程检查。在步骤950中,使用偶数字线来执行编程操作。步骤950的过程包括执行图9的过程,如同上文关于图10-13所描述的,其包括检查过度编程的存储器单元。在步骤952中,使用奇数字线来执行编程操作。步骤952的过程包括执行图9的过程,其包括检查过度编程的存储器单元。在步骤954中,系统检查由与先前编程的偶数字线相关的逻辑页的上述Yupin效应所导致的过度编程。在步骤956中,使用偶数字线来执行编程。步骤956的过程包括执行图9的过程,其包括检查过度编程的存储器单元。在步骤958中,系统检查由与先前编程的奇数字线相关的逻辑页的上述Yupin效应所导致的过度编程。此过程可通过使编程与检查先前位线上的过度编程交替进行而得以继续。
可由状态机、控制器、用于实施所述过程的特定逻辑或上述各项的组合来执行图14A和14B的过程。
存在许多不同的适当方法,其中系统可使用所述方法来检查由与先前编程的控制线相关的逻辑页的上述Yupin效应所导致的过度编程(作为图14A和B的过程的一部分)。图15A-C描述了两种这些方法;然而,还可使用许多其它的适当方法。
与图8类似,图15A说明存储两个比特的数据的存储器单元的阈电压分布460、462、464和466。除读取比较点(Vr10、Vr00和Vr01)、检验比较点(Vv10、Vv00和Vv01)和过度编程比较点(VopSP、Vop10、Vop000和Vop01)之外,图15A还描绘了过度编程测试点VopA、VopB和VopC。在编程第一单元且接着编程相邻的第二单元之后,由第二单元的引起的Yupin效应将使第一单元的阈电压升高约0.2伏特(可多于或少于0.2伏特,此取决于技术、尺寸、间距等)。所述数据并没有被完全破坏。相反,可预知地破坏所述数据。一种情况是:如果原始编程导致第一单元的阈电压正好低于过度编程检验电压(例如,正好低于Vop10)且所述单元接着经受最大的Yupin效应(例如,约0.2伏特,或上文所述的另一值)。因此,如果所述单元由于Yupin效应而变为过度编程,那么形成过度编程区域来表示何处为阈电压的预测。图15A显示三个过度编程区域。第一过度编程区域包括VopSP与VopA之间的区域。第二过度编程区域包括Vop10与VopB之间的区域。第三过度编程区域包括Vop00与VopC之间的区域。应注意的是,过度编程比较点与过度编程测试点的值可不同于图15A中所描绘的值。
用于判定存储器单元是否由于Yupin效应而被过度编程的一个过程是测试所述单元的阈电压是否在所述过度编程区域中的一个内。如果单元的阈电压在过度编程区域内,那么认为所述单元会由于Yupin效应而被过度编程。举例来说,如果判定单元的阈电压在第二过度编程区域内,那么认为所述单元应已处于分布462内,但是由于Yupin效应而变得过度编程。应注意的是,尽管图15A描绘四个阈分布(存储两个比特的数据),但是当实施本发明时还可使用更多或更少的分布(和比特的数据)。
图15B提供流程图,其描述测试如上文所述的由于Yupin效应而导致过度编程的过程的一个实施例。图15B的过程可作为图14A和14B的步骤906、910、954和958中的检查过度编程的一部分而执行。在步骤1002中,在每一个过度编程区域中的边缘处执行读取操作。举例来说,在VopSP、VopA、Vop10、VopB、Vop00和VopC处来执行读取操作。基于所述读取操作,判定所述单元的阈电压是否在任意一个过度编程区域之内。举例来说,如果当将Vop10施加到字线时所述存储器单元接通而当将VopB施加到字线时所述存储器单元不接通,那么可认为所述单元在第二过度编程区域中。如果所述存储器单元的阈电压在所述过度编程区域中的一个内(步骤1006),那么推断所述单元由于相邻单元的耦接(Yupin效应)而被过度编程(步骤1008)。在步骤1010中,将过度编程的单元的数据固定。可部分地擦除所述单元以将阈电压降回到适当分布中,可完全擦除并重写所述单元,可将所述数据写入到另一位置,可存储错误信息,其中所述错误信息指示所述单元被过度编程使得随后的读取将考虑过度编程,或可执行另一适合措施。
如果在步骤1006中判定所述阈电压不在所述过度编程区域中的任意一个中,那么对过度编程比较点Vop01执行读取操作。如果所述存储器单元的阈电压高于Vop01(步骤1022),那么认为所述存储器单元将被过度编程且所述过程将在步骤1008处继续。如果所述存储器单元的阈电压低于Vop01(步骤1022),那么认为所述存储器单元没有被过度编程(步骤1024)。
图15C提供流程图,其描述测试由于Yupin效应而导致过度编程的过程的另一实施例。图15C的过程可作为图14A和14B的步骤906、910、954和958中的检查过度编程的一部分而执行。在步骤1060中,在每一个读取比较点Vr10、Vr00和Vr01处来执行读取操作。基于所述读取操作,做出关于所述存储器单元的状态的初始判定。在步骤1062中,根据所属领域中的已知方法来执行ECC过程。如果不存在ECC错误(步骤1064),那么认为所述存储器单元并没有由于Yupin效应而被过度编程(步骤1066)。如果检测到ECC错误(步骤1064),那么认为所述错误是由于Yupin效应而被过度编程的存储器单元所引起的(步骤1070)。在步骤1072中,将数据固定(与图15B的步骤1010类似)。举例来说,假设在步骤1060中,读取操作导致判定所述阈电压高于Vr00且低于Vr01。假设所述存储器单元在存储有逻辑数据00的阈分布464中。如果ECC失败,那么认为所述存储器单元应在存储逻辑数据10的阈分布462中;然而,所述存储器单元被过度编程。因此,在步骤1072的一个实施例中,可将所述存储器单元的阈电压校正到阈分布462内。
图17-22提供真值表,其结合图16描述执行过度编程检验的替代实施例。与图8类似,图16说明存储两个比特的数据的存储器单元的阈电压分布460、462、464和466。然而,图16显示不同的过度编程检验比较点VopSP′、Vop10′、Vop00′和Vop01′。比较点VopSP′是稍高于阈电压分布460中的最高电压的值。Vop10′是稍高于阈电压分布462中的最高电压的值。Vop00′是稍高于阈电压分布464中的最大电压的值。Vop01′是稍高于阈电压分布466中的最大电压的值。应注意的是,图16的VopSP′低于图8的VopSP,图16的Vop10′低于图8的Vop10,图16的Vop00′低于图8的Vop00,且图16的Vop01′低于图8的Vop01。在其它实施例中,还可使用高于各自的阈电压分布的检验比较点VopSP′、Vop10′、Vop00′和Vop01′的其它值。
图17解释在低页编程之后来执行软件编程过度编程检验的一个实施例。图17的真值表具有两个列,其对应于在先前的低页编程过程中是编程数据″0″还是编程数据″1″。所述真值表的第二行(在VopSP′处读取)对应于从正被检验过度编程的存储器单元读取的数据。第三行指示存储于第二数据锁存器404中的数据。第四行指示存储于第一数据锁存器402中的数据。第五行指示状态11的过度编程检验的结果。
如果编程″1″(图17的左侧列),那么所述存储器单元保持于状态11内。如果编程″0″,那么期望所述单元被编程为状态10。所述真值表的第二行指示读取操作(包括将VopSP′施加到存储器单元的控制栅极)的结果。如果正被读取的存储器单元的阈电压高于VopSP′,那么所述存储器单元将不接通且将读取逻辑0。如果所述存储器单元的阈电压低于VopSP′,那么所述存储器单元将接通且将读取逻辑1。在对应于正被编程到所述存储器单元中的逻辑1的列中,读取步骤将读取逻辑″1″(适度编程)或逻辑″0″(过度编程)。在所述单元被编程为状态10的情况下,因为在编程过程中检验步骤检验到所述电压至少高于Vv10,所以读取步骤将读取逻辑″0″。将读取的数据存储于第二数据锁存器404中。第一数据锁存器402存储先前被编程到低页中的数据。状态机将检查第一数据锁存器402和第二数据锁存器404的内容。如果第一数据锁存器402正存储逻辑″1″且第二数据锁存器404正存储逻辑″0″,那么过度编程测试失败。也就是说,状态机推断出所述存储器单元被过度编程。
图18是真值表,其描述在已执行低页与高页编程之后来执行软件编程过度编程检验的实施例。为适应此任务,需要考虑低页数据和高页数据。因为已执行高页和低页编程操作,所以所述真值表包括所有四个状态(11、10、00和01)的列。所述真值表的第二行指示在将VopSP′施加到控制栅极的同时从所述单元读取的数据。如果期望所述单元处于状态11,那么读取操作将返回1(如果所述单元没有被过度编程)和返回0(如果所述单元被过度编程)。如果所述单元处于其它三个状态中的任意一个状态,那么应返回0,因为在编程过程中先前的检验步骤已确保所述单元的阈电压充分地高于适当检验点。所述真值表的第三行指示第二锁存器404的内容,其中所述第二锁存器404存储前述读取操作的结果。第四行指示第三数据锁存器402的内容。如同上文所描述的,第三数据锁存器存储有低页数据。第五行指示状态11的过度编程检验的结果。状态机检查以判定第三数据锁存器406是否存储逻辑1且第二数据锁存器404是否存储逻辑0。如果是这样,那么,因为存储器单元被过度编程,所以过度编程测试失败。如果不是这样,那么测试通过。
在另一实施例中,系统接着在Vr10处执行另一读取,而不是使用先前存储于第三数据锁存器中的数据。此读取操作能判定所述单元的阈电压是否高于VopSP′且低于Vr10。如果是这样,那么状态机推断出所述存储器单元被过度编程;否则,状态机认为所述存储器单元没有被过度编程。
图19是真值表,其描述检验将单元编程为状态10的编程过程是否过度编程所述单元的过程。在低页编程过程之后且在高页编程过程之前来执行与图19相关联的检验过程。所述真值表具有两个列,一个列对应于当逻辑″1″被编程到低页时的情况而另一个列对应于逻辑″0″被编程到低页时的情况。第二行指示来自将Vop10′施加到控制栅极的读取操作的数据。如果期望存储器单元保持于状态11中或所述存储器单元被正确地编程到状态10,那么Vop10′处的读取操作将导致所述存储器接通并报告逻辑″1″。将读取操作的结果存储于第二数据锁存器404中(见真值表的第三行)。如果期望所述单元被编程到状态10并被过度编程,那么,因为所述单元将不接通,所以Vop10′处的读取操作将导致逻辑″0″。第一数据锁存器402存储被编程的数据(见第四行)。如果逻辑″1″被编程(例如,没有进行任何编程),那么第二数据锁存器404与第一数据锁存器402存储逻辑1且测试将通过(见第五行)。如果适度地编程逻辑″0″,那么第一数据锁存器404将存储逻辑0、第二数据锁存器402将存储逻辑1且测试将通过。如果第二数据锁存器404处于逻辑0且第一数据锁存器402处于逻辑0,那么,因为所述单元被过度编程,所以测试失败。
图20是真值表,其描述在编程低页与较高页之后执行状态10过度编程检验的过程。因为两种页均被编程,所以存在四个列,一个列用于可将单元编程为的每一个状态—11、10、00和01。第二行指示来自将Vop10′施加到控制栅极的读取操作的数据。将所述读取操作的结果存储于第二数据锁存器404中(第三行)。如果存储器单元保持于状态11中或被正确地编程到状态10,那么所述存储器单元将接通且将读取逻辑″1″。如果期望所述单元被编程到状态10,但被过度编程了,那么所述单元将不接通且返回逻辑″0″。如果所述单元在高页编程过程中被编程到状态00或状态01,那么所述单元将不接通且读取逻辑″0″。第一数据锁存器402将存储来自最近执行的高页编程操作的数据(第四行)。举例来说,如果所述单元处于状态11或10,那么第一数据锁存器将存储逻辑″1″。如果所述单元处于状态00或01,那么第一数据锁存器将存储逻辑″0″。接着系统将进行测试以判定第一数据锁存器402是否存储逻辑1且第二数据锁存器404是否存储逻辑0。如果是这样,那么,因为所述存储器单元被过度编程,所以检验过程失败。否则,检验过程通过(第五行)。
图21是真值表,其描述执行状态00过度编程检验的过程。在高页和低页编程之后执行检验状态00的过程;因此,图21的真值表显示四个列(一个列用于可将单元编程为的每一个状态)。首先,执行读取操作,所述读取操作包括将Vop00′施加到控制栅极(见所述真值表的第二行)。如果所述单元被正确地编程为状态11、10或00,那么所述单元将接通且返回逻辑″1″。如果所述单元编程为状态01,那么所述单元将不接通且返回逻辑″0″。如果期望所述单元编程为状态00但被过度编程了,那么所述单元将不接通且将返回逻辑″0″。将从读取操作返回的数据存储于第二数据锁存器404中(见真值表的第三行)。第四行指示第三数据锁存器402的内容。如同上文所描述的,第三数据锁存器存储低页数据。第五行指示状态00的过度编程检验的结果。状态机进行检查以判定第三数据锁存器406是否存储逻辑″0″且第二数据锁存器404是否存储逻辑0。如果是这样,那么,因为所述存储器单元被过度编程,所以过度编程测试失败。如果不是这样,那么测试通过。
在另一实施例中,系统接着在Vr01处执行另一读取,而不是使用先前存储于第三数据锁存器中的数据。此读取操作判定所述单元的阈电压是否高于Vop00′且低于Vr01。如果是这样,那么状态机推断出所述存储器单元被过度编程;否则,状态机认为所述存储器单元没有被过度编程。
图22是真值表,其描述执行状态01过度编程检验的过程。因为在高页读取之后来执行所述过程,所以存在四个列,一个列用于可将单元编程为的每一个状态。图22的第二行指示来自包括将Vop01′施加到控制栅极的读取操作的结果。将读取操作所产生的数据存储于第二数据锁存器404中(第三行)。不管单元处于何种状态,所述读取操作所产生的数据应总是为逻辑1。因此,如果返回逻辑″0″,那么检验步骤失败;否则,检验步骤通过(第四行)。
应注意的是,图9的流程图期望如果执行低页编程操作,那么执行软件编程检验和状态10过度编程检验,且如果执行高页编程操作,那么执行状态00过度编程检验且执行状态01过度编程检验。还可与上文关于图17、19、21和22所讨论的过程一起使用此方法。在一个替代实施例中,可在已写入低页和高页之后使用上文关于图18、20、21和22的真值表所讨论的过程来执行所有的过度编程检验。在另一替代实施例中,在执行低页编程过程之后,可执行上面关于图17所讨论的检验过程。当编程高页时,系统将使用图20、21和22的真值表来对状态10、00和01执行过度编程检验。
上文提供了关于NAND型快闪存储器的上述实例。然而,可将本发明的原则应用于其它类型的快闪存储器和其它类型的非易失性存储器,包括所述现存和所述正在开发的期待着使用的新颖技术的快闪存储器和存储器。
本发明所提供的前述详细描述是用于说明和描述的目的。并不期望所述描述是穷尽的或将本发明限制为所揭示的形式完全一致。可根据以上教示做出许多修改和变化。经过选择的所描述的实施例是为了最好地解释本发明的原理和其实际应用,借此使其它所属领域技术人员能够在各种实施例中最好地利用本发明并作出各种修改以使其适合于所期待的特殊用途。我们期望本发明的保护范围由所附的权利要求书限定。

Claims (30)

1.一种用于在使用多个逻辑页的存储器系统中检测过度编程的方法,其包含以下步骤:
使用要存储在一特定逻辑页中的数据来编程一第一多状态存储元件;和
使用来自不同于所述特定逻辑页的一逻辑页的数据来判定用于编程所述第一多状态存储元件的所述步骤是否过度编程所述多状态存储元件。
2.根据权利要求1所述的方法,其进一步包含以下步骤:
在使用要储存在所述特定逻辑页中的数据来编程所述第一多状态存储元件之前,通过使用要储存在不同于所述特定逻辑页的所述逻辑页中的数据来编程所述第一多状态存储元件。
3.根据权利要求2所述的方法,其中所述使用数据的步骤包括以下步骤:
判定所述第一多状态存储元件的一阈电压是否高于一比较值;和
如果所述第一多状态存储元件的所述阈电压高于所述比较值,且用于所述逻辑页的数据指示所述第一多状态存储元件的所述阈电压不应高于所述比较值,那么判定所述第一多状态存储元件被过度编程。
4.根据权利要求3所述的方法,其中:
所述第一多状态存储元件能够存储处于包括状态0、状态1、状态2和状态3在内的至少四个状态中的至少两个比特的数据;
所述两个比特的数据的一第一比特用于所述特定逻辑页;
所述两个比特的数据的一第二比特用于不同于所述特定逻辑页的所述逻辑页;
所述第一比特在状态2和状态3中被编程;
所述第二比特在状态1和状态2中被编程;
所述比较值在状态2与状态3之间;且
如果编程所述第二比特使得所述第一多状态存储元件应处于状态2中,那么用于不同于所述特殊页的所述逻辑页的所述数据指示所述第一多状态存储元件的所述阈电压不应高于所述比较值。
5.根据权利要求1所述的方法,其中所述使用数据的步骤包括以下步骤:
执行一检验操作以判定所述第一多状态存储元件的一阈电压;且
使用来自不同于所述特定逻辑页的所述逻辑页的所述数据来判定所述阈电压是否应高于一第一比较点。
6.根据权利要求1所述的方法,其中:
所述第一多状态存储元件能够存储多个状态中的多个比特的数据;
所述多个比特的数据的一第一比特用于所述特定逻辑页;
所述多个比特的数据的一第二比特用于不同于所述特定逻辑页的所述逻辑页;且
所述使用数据的步骤包括判定使用要储存在所述特定逻辑页中的数据来编程所述第一多状态存储元件的所述步骤是否期望将所述第一多状态存储元件编程为一第一状态但将所述第一多状态存储元件编程超出所述第一状态。
7.根据权利要求6所述的方法,其进一步包含以下步骤:
在所述使用数据的步骤之后判定所述第一多状态存储元件是否被编程超出一第二状态。
8.根据权利要求7所述的方法,其进一步包含以下步骤:
在使用要储存在所述特定逻辑页中的数据来编程所述第一多状态存储元件之前,使用要储存在不同于所述特定逻辑页的所述逻辑页中的数据来编程所述第一多状态存储元件,所述特定逻辑页是一高页,不同于所述特定逻辑页的所述逻辑页是一低页;和
响应使用要储存在不同于所述特定逻辑页的所述逻辑页中的数据来编程所述第一多状态存储元件的所述步骤,判定所述第一多状态存储元件是否被编程超出一第三状态,所述第三状态与编程所述第二比特相关联,响应使用要储存在一特定逻辑页中的数据来编程一第一多状态存储元件的所述步骤执行使用并判定所述第一多状态存储元件是否被编程超出一第二状态的所述步骤。
9.根据权利要求1所述的方法,其进一步包含以下步骤:
在编程所述第一多状态存储元件之后且在所述使用步骤之前编程一第二多状态存储元件,所述第一多状态存储器连接到一第一字线且所述第一多状态存储器连接到一第二字线。
10.根据权利要求1所述的方法,其中:
所述第一多状态存储元件使用根据一格雷码的多状态配置来存储数据。
11.根据权利要求1所述的方法,其中:
由一状态机来执行编程并使用数据的所述步骤。
12.根据权利要求1所述的方法,其中:
所述第一多状态存储元件是一存储元件阵列的一部分;
所述存储元件阵列位于一集成电路芯片上;
由一状态机来执行编程并使用数据的所述步骤;且
所述状态机位于所述集成电路芯片上。
13.根据权利要求1所述的方法,其中:
所述第一多状态存储元件是一存储元件阵列的一部分;
所述存储元件阵列位于一集成电路芯片上;
所述存储器系统包括一控制器;
所述控制的并不位于所述集成电路芯片上;
由一状态机来执行编程并使用数据的所述步骤;且
所述状态机位于所述集成电路芯片上。
14.根据权利要求1所述的方法,其中:
所述第一多状态存储元件是一存储元件阵列的一部分;
所述存储元件阵列位于一集成电路芯片上;且
由所述集成电路芯片上的电路来执行编程并使用数据的所述步骤。
15.根据权利要求1所述的方法,其中:
所述第一多状态存储元件是一存储元件阵列的一部分;
响应来自一与所述存储元件阵列进行通信的主机系统的命令来执行所述编程步骤;且
所述存储元件阵列可从所述主机系统移除。
16.根据权利要求1所述的方法,其中:
所述第一多状态存储元件是一快闪存储器元件。
17.根据权利要求1所述的方法,其中:
所述第一多状态存储元件是一NAND快闪存储器元件。
18.一种用于在使用多个逻辑页的存储器系统中检测过度编程的方法,其包含以下步骤:
判定一第一多状态存储元件的一阈电压是否高于一比较值,所述第一多状态存储元件存储至少一第一逻辑页和一第二逻辑页的信息,在将数据写入到所述第二逻辑页之后执行判定所述第一多状态存储元件的所述阈电压是否高于所述比较值的所述步骤;和
基于来自所述第一逻辑页的数据和判定一第一多状态存储元件的一阈电压是否高于一比较值的所述步骤来判定所述第一多状态存储元件是否被过度编程。
19.根据权利要求18所述的方法,其中:
所述第一多状态存储元件存储使用多个状态的数据;
至少所述多个状态的一第一状态和一第二状态通过使用要储存在所述第二逻辑页中的数据来相关联;
将来自所述第一逻辑页的所述数据存储于所述第一多状态存储元件中;
来自所述第一逻辑页的所述数据指示所述第一多状态存储元件应处于所述第一状态或所述第二状态的哪一个中;且
如果所述第一多状态存储元件应处于所述第一状态中但已被编程超出所述第一状态,那么所述第一多状态存储元件被过度编程。
20.根据权利要求18所述的方法,其中:
所述第一多状态存储元件是一存储元件阵列的一部分;
所述存储元件阵列位于一集成电路芯片上;且
由所述集成电路芯片上的一个或一个以上电路来执行判定一多状态存储元件的一阈电压是否高于一比较值和判定所述第一多状态存储元件是否被过度编程的所述步骤。
21.根据权利要求18所述的方法,其中:
所述第一多状态存储元件是一NAND快闪存储器元件。
22.一种存储器系统,其包含:
一存储元件阵列;和
一与所述存储元件阵列进行通信的管理电路,所述管理电路执行包括使用要储存在一特定逻辑页中的数据来编程一第一多状态存储元件在内的编程操作,所述管理电路还执行过度编程检测,其包括使用来自不同于所述特定逻辑页的一逻辑页的数据来判定使用要储存在所述特定逻辑页中的数据对所述第一多状态存储元件的所述编程是否过度编程所述第一多状态存储元件。
23.根据权利要求22所述的存储器系统,其中:
所述管理电路包括一状态机。
24.根据权利要求23所述的存储器系统,其进一步包含:
一控制器,所述状态机和所述存储元件阵列都位于一第一集成电路芯片上且所述控制器不位于所述第一集成电路芯片上。
25.根据权利要求24所述的存储器系统,其中:
所述状态机执行所述过度编程检测。
26.根据权利要求23所述的存储器系统,其中:
在使用所述特定逻辑页的数据来编程所述第一多状态存储元件之前,所述管理电路进一步使用不同于所述特定逻辑页的所述逻辑页的所述数据来编程所述第一多状态存储元件。
27.根据权利要求26所述的存储器系统,其中:
所述管理电路执行所述过度编程检测,此通过判定所述第一多状态存储元件的一阈电压是否高于一比较值且通过如果所述第一多状态存储元件的所述阈电压高于所述比较值且用于所述逻辑页的数据指示所述第一多状态存储元件的所述阈电压不应高于所述比较值,那么判定所述第一多状态存储元件被过度编程来达到。
28.一种使用多个逻辑页的存储器系统,其包含:
用于使用要存储在一特定逻辑页中的数据来编程一第一多状态存储元件的构件;和
用于使用来自不同于所述特定逻辑页的一逻辑页的数据判定所述第一多状态存储元件是否被过度编程的构件。
29.根据权利要求28所述的存储器系统,其进一步包含:
用于在编程所述第一多状态存储元件之后且在所述使用步骤之前编程一第二多状态存储元件的构件,所述第一多状态存储器连接到一控制线且所述第二多状态存储器连接到一控制线。
30.根据权利要求29所述的存储器系统,其中:
所述第一多状态存储元件是一NAND快闪存储器元件。
CN2004800264432A 2003-07-29 2004-06-30 检测过度编程的存储器 Expired - Lifetime CN1853239B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/629,068 2003-07-29
US10/629,068 US6917542B2 (en) 2003-07-29 2003-07-29 Detecting over programmed memory
PCT/US2004/021254 WO2005015566A1 (en) 2003-07-29 2004-06-30 Detecting over programmed memory

Publications (2)

Publication Number Publication Date
CN1853239A CN1853239A (zh) 2006-10-25
CN1853239B true CN1853239B (zh) 2012-02-29

Family

ID=34103532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800264432A Expired - Lifetime CN1853239B (zh) 2003-07-29 2004-06-30 检测过度编程的存储器

Country Status (8)

Country Link
US (2) US6917542B2 (zh)
EP (1) EP1656676B1 (zh)
JP (1) JP4754486B2 (zh)
KR (1) KR101049581B1 (zh)
CN (1) CN1853239B (zh)
AT (1) ATE526667T1 (zh)
TW (1) TWI248085B (zh)
WO (1) WO2005015566A1 (zh)

Families Citing this family (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
JP4287235B2 (ja) * 2003-10-09 2009-07-01 株式会社東芝 不揮発性半導体記憶装置
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
US7274596B2 (en) * 2004-06-30 2007-09-25 Micron Technology, Inc. Reduction of adjacent floating gate data pattern sensitivity
US7294882B2 (en) * 2004-09-28 2007-11-13 Sandisk Corporation Non-volatile memory with asymmetrical doping profile
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
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
JP4761910B2 (ja) * 2005-10-05 2011-08-31 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
US7443746B1 (en) 2005-10-18 2008-10-28 Spansion Llc Memory array tester information processing system
US7301817B2 (en) 2005-10-27 2007-11-27 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
EP2256748B1 (en) 2005-12-06 2013-09-11 SanDisk Technologies Inc. Reducing read disturb for non-volatile storage
US7355888B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
US7355889B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7365018B2 (en) * 2005-12-28 2008-04-29 Sandisk Corporation Fabrication of semiconductor device for flash memory with increased select gate width
US7391650B2 (en) * 2006-06-16 2008-06-24 Sandisk Corporation Method for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7342831B2 (en) * 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7492633B2 (en) * 2006-06-19 2009-02-17 Sandisk Corporation System for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7349261B2 (en) * 2006-06-19 2008-03-25 Sandisk Corporation Method for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
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
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7440326B2 (en) 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
US7977186B2 (en) * 2006-09-28 2011-07-12 Sandisk Corporation Providing local boosting control implant for non-volatile memory
US7705387B2 (en) * 2006-09-28 2010-04-27 Sandisk Corporation Non-volatile memory with local boosting control implant
US7586157B2 (en) * 2006-10-17 2009-09-08 Sandisk Corporation Non-volatile memory with dual voltage select gate structure
US7616490B2 (en) * 2006-10-17 2009-11-10 Sandisk Corporation Programming non-volatile memory with dual voltage select gate structure
US7691710B2 (en) * 2006-10-17 2010-04-06 Sandisk Corporation Fabricating non-volatile memory with dual voltage select gate structure
US7596031B2 (en) 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
US7468911B2 (en) * 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
US7440323B2 (en) * 2006-11-02 2008-10-21 Sandisk Corporation Reducing program disturb in non-volatile memory using multiple boosting modes
US7508703B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Non-volatile memory with boost structures
US7508710B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Operating non-volatile memory with boost structures
US7696035B2 (en) * 2006-11-13 2010-04-13 Sandisk Corporation Method for fabricating non-volatile memory with boost structures
US7623387B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Non-volatile storage with early source-side boosting for reducing program disturb
EP2078302B1 (en) 2006-12-12 2010-11-24 Sandisk Corporation Reducing program disturb in non-volatile storage using early source-side boosting
US7623386B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Reducing program disturb in non-volatile storage using early source-side boosting
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
US7616499B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Retention margin program verification
US7652918B2 (en) * 2006-12-28 2010-01-26 Sandisk Corporation Retention margin program verification
WO2008083162A1 (en) * 2006-12-28 2008-07-10 Sandisk Corporation Retention margin program verification
EP2084710B1 (en) * 2006-12-29 2018-08-22 SanDisk Technologies LLC Resistance sensing and compensation for non-volatile storage
US7583535B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Biasing non-volatile storage to compensate for temperature variations
US7525843B2 (en) * 2006-12-30 2009-04-28 Sandisk Corporation Non-volatile storage with adaptive body bias
US7468919B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Biasing non-volatile storage based on selected word line
US7583539B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Non-volatile storage with bias for temperature compensation
US7554853B2 (en) * 2006-12-30 2009-06-30 Sandisk Corporation Non-volatile storage with bias based on selective word line
US7468920B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
EP2122627B1 (en) 2007-02-20 2013-01-30 SanDisk Technologies Inc. Dynamic verify based on threshold voltage distribution
US7657572B2 (en) * 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7447079B2 (en) * 2007-04-05 2008-11-04 Sandisk Corporation Method for sensing negative threshold voltages in non-volatile storage using current sensing
US7606076B2 (en) * 2007-04-05 2009-10-20 Sandisk Corporation Sensing in non-volatile storage using pulldown to regulated source voltage to remove system noise
US7606072B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Non-volatile storage with compensation for source voltage drop
US7606071B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Compensating source voltage drop in non-volatile storage
US7440327B1 (en) 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage
US7577026B2 (en) * 2007-05-07 2009-08-18 Sandisk Corporation Source and drain side early boosting using local self boosting for non-volatile storage
US7463522B2 (en) * 2007-05-07 2008-12-09 Sandisk Corporation Non-volatile storage with boosting using channel isolation switching
US7460404B1 (en) * 2007-05-07 2008-12-02 Sandisk Corporation Boosting for non-volatile storage using channel isolation switching
US8073648B2 (en) 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
KR100836800B1 (ko) * 2007-05-30 2008-06-10 삼성전자주식회사 메모리 데이터 독출 장치 및 이를 이용한 메모리 데이터독출 방법
US7471567B1 (en) 2007-06-29 2008-12-30 Sandisk Corporation Method for source bias all bit line sensing in non-volatile storage
US7545678B2 (en) * 2007-06-29 2009-06-09 Sandisk Corporation Non-volatile storage with source bias all bit line sensing
US7619920B2 (en) * 2007-07-05 2009-11-17 Kabushiki Kaisha Toshiba NAND type flash memory and write method of the same
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7577034B2 (en) * 2007-09-26 2009-08-18 Sandisk Corporation Reducing programming voltage differential nonlinearity in non-volatile storage
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7894263B2 (en) * 2007-09-28 2011-02-22 Sandisk Corporation High voltage generation and control in source-side injection programming of non-volatile memory
KR101177278B1 (ko) * 2007-10-08 2012-08-24 삼성전자주식회사 비휘발성 메모리 셀 프로그래밍 방법
US8117375B2 (en) * 2007-10-17 2012-02-14 Micron Technology, Inc. Memory device program window adjustment
US7613045B2 (en) * 2007-11-26 2009-11-03 Sandisk Il, Ltd. Operation sequence and commands for measuring threshold voltage distribution in memory
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
US8193055B1 (en) 2007-12-18 2012-06-05 Sandisk Technologies Inc. Method of forming memory with floating gates including self-aligned metal nanodots using a polymer solution
US7723186B2 (en) * 2007-12-18 2010-05-25 Sandisk Corporation Method of forming memory with floating gates including self-aligned metal nanodots using a coupling layer
KR101406279B1 (ko) * 2007-12-20 2014-06-13 삼성전자주식회사 반도체 메모리 장치 및 그것의 읽기 페일 분석 방법
US7915664B2 (en) * 2008-04-17 2011-03-29 Sandisk Corporation Non-volatile memory with sidewall channels and raised source/drain regions
US7808819B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Method for adaptive setting of state voltage levels in non-volatile memory
US7808836B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Non-volatile memory with adaptive setting of state voltage levels
US8051240B2 (en) * 2008-05-09 2011-11-01 Sandisk Technologies Inc. Compensating non-volatile storage using different pass voltages during program-verify and read
US7719902B2 (en) 2008-05-23 2010-05-18 Sandisk Corporation Enhanced bit-line pre-charge scheme for increasing channel boosting in non-volatile storage
US7952928B2 (en) * 2008-05-27 2011-05-31 Sandisk Il Ltd. Increasing read throughput in non-volatile memory
US7751249B2 (en) * 2008-06-27 2010-07-06 Sandisk Corporation Minimizing power noise during sensing in memory device
US7751250B2 (en) * 2008-06-27 2010-07-06 Sandisk Corporation Memory device with power noise minimization during sensing
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US7808831B2 (en) 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
US7755946B2 (en) 2008-09-19 2010-07-13 Sandisk Corporation Data state-based temperature compensation during sensing in non-volatile memory
US7974133B2 (en) 2009-01-06 2011-07-05 Sandisk Technologies Inc. Robust sensing circuit and method
US8004900B2 (en) * 2009-03-17 2011-08-23 Sandisk Technologies Inc. Controlling select gate voltage during erase to improve endurance in non-volatile memory
JP2010218637A (ja) * 2009-03-17 2010-09-30 Toshiba Corp 半導体記憶装置およびその制御方法
US7907449B2 (en) 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
KR20100124087A (ko) * 2009-05-18 2010-11-26 삼성전자주식회사 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
US8054691B2 (en) * 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
US8383479B2 (en) * 2009-07-21 2013-02-26 Sandisk Technologies Inc. Integrated nanostructure-based non-volatile memory fabrication
US8400854B2 (en) 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
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
US8423866B2 (en) * 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
US8473809B2 (en) 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
JP2011204298A (ja) * 2010-03-24 2011-10-13 Toshiba Corp 不揮発性半導体メモリ
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8546214B2 (en) 2010-04-22 2013-10-01 Sandisk Technologies Inc. P-type control gate in non-volatile storage and methods for forming same
US8208310B2 (en) 2010-05-04 2012-06-26 Sandisk Technologies Inc. Mitigating channel coupling effects during sensing of non-volatile storage elements
US8274831B2 (en) 2010-05-24 2012-09-25 Sandisk Technologies Inc. Programming non-volatile storage with synchronized coupling
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
KR101139095B1 (ko) * 2010-07-09 2012-04-30 에스케이하이닉스 주식회사 불휘발성 메모리 소자 및 이의 프로그램 방법
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
US8767459B1 (en) * 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US9135998B2 (en) 2010-11-09 2015-09-15 Micron Technology, Inc. Sense operation flags in a memory device
US8837216B2 (en) 2010-12-13 2014-09-16 Sandisk Technologies Inc. Non-volatile storage system with shared bit lines connected to a single selection device
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US20130031431A1 (en) 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
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
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
US8638606B2 (en) 2011-09-16 2014-01-28 Sandisk Technologies Inc. Substrate bias during program of non-volatile storage
US9361986B2 (en) 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
US8630118B2 (en) 2011-11-09 2014-01-14 Sandisk Technologies Inc. Defective word line detection
US8842476B2 (en) * 2011-11-09 2014-09-23 Sandisk Technologies Inc. Erratic program detection for non-volatile storage
US9036416B2 (en) 2011-11-18 2015-05-19 Sandisk Technologies Inc. Non-volatile storage with broken word line screen and data recovery
US9076544B2 (en) 2011-11-18 2015-07-07 Sandisk Technologies Inc. Operation for non-volatile storage system with shared bit lines
US8885404B2 (en) 2011-12-24 2014-11-11 Sandisk Technologies Inc. Non-volatile storage system with three layer floating gate
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
US9171627B2 (en) 2012-04-11 2015-10-27 Aplus Flash Technology, Inc. Non-boosting program inhibit scheme in NAND design
US9087595B2 (en) 2012-04-20 2015-07-21 Aplus Flash Technology, Inc. Shielding 2-cycle half-page read and program schemes for advanced NAND flash design
US8937837B2 (en) 2012-05-08 2015-01-20 Sandisk Technologies Inc. Bit line BL isolation scheme during erase operation for non-volatile storage
JP2013254537A (ja) 2012-06-06 2013-12-19 Toshiba Corp 半導体記憶装置及びコントローラ
US20130343125A1 (en) * 2012-06-22 2013-12-26 Mosaid Technologies Incorporated Apparatus and methods for carrying out operations in a non-volatile memory cell having multiple memory states
US9142305B2 (en) 2012-06-28 2015-09-22 Sandisk Technologies Inc. System to reduce stress on word line select transistor during erase operation
US8566671B1 (en) 2012-06-29 2013-10-22 Sandisk Technologies Inc. Configurable accelerated post-write read to manage errors
US9029936B2 (en) 2012-07-02 2015-05-12 Sandisk Technologies Inc. Non-volatile memory structure containing nanodots and continuous metal layer charge traps and method of making thereof
US9053819B2 (en) 2012-07-11 2015-06-09 Sandisk Technologies Inc. Programming method to tighten threshold voltage width with avoiding program disturb
US9135989B2 (en) 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
US9159406B2 (en) 2012-11-02 2015-10-13 Sandisk Technologies Inc. Single-level cell endurance improvement with pre-defined blocks
US9225356B2 (en) * 2012-11-12 2015-12-29 Freescale Semiconductor, Inc. Programming a non-volatile memory (NVM) system having error correction code (ECC)
US8823075B2 (en) 2012-11-30 2014-09-02 Sandisk Technologies Inc. Select gate formation for nanodot flat cell
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
US9026757B2 (en) 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US8987802B2 (en) 2013-02-28 2015-03-24 Sandisk Technologies Inc. Method for using nanoparticles to make uniform discrete floating gate layer
US9349452B2 (en) 2013-03-07 2016-05-24 Sandisk Technologies Inc. Hybrid non-volatile memory cells for shared bit line
US9165656B2 (en) 2013-03-11 2015-10-20 Sandisk Technologies Inc. Non-volatile storage with shared bit lines and flat memory cells
US9331181B2 (en) 2013-03-11 2016-05-03 Sandisk Technologies Inc. Nanodot enhanced hybrid floating gate for non-volatile memory devices
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
US9177808B2 (en) 2013-05-21 2015-11-03 Sandisk Technologies Inc. Memory device with control gate oxygen diffusion control and method of making thereof
WO2014210424A2 (en) 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
US8969153B2 (en) 2013-07-01 2015-03-03 Sandisk Technologies Inc. NAND string containing self-aligned control gate sidewall cladding
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9213601B2 (en) 2013-12-03 2015-12-15 Sandisk Technologies Inc. Adaptive data re-compaction after post-write read verification operations
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9659636B2 (en) 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
KR102235492B1 (ko) 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
KR20170011641A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
CN108733305B (zh) * 2017-04-13 2021-09-03 旺宏电子股份有限公司 存储器装置、系统及其操作方法
US10134479B2 (en) 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
US10249382B2 (en) 2017-08-22 2019-04-02 Sandisk Technologies Llc Determination of fast to program word lines in non-volatile memory
KR20190037659A (ko) * 2017-09-29 2019-04-08 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
KR102612891B1 (ko) * 2018-05-31 2023-12-13 에스케이하이닉스 주식회사 메모리 장치, 그것의 동작방법 및 메모리 시스템
US10978156B2 (en) 2018-06-29 2021-04-13 Sandisk Technologies Llc Concurrent programming of multiple cells for non-volatile memory devices
US11545221B2 (en) 2018-06-29 2023-01-03 Sandisk Technologies Llc Concurrent programming of multiple cells for non-volatile memory devices
KR102461099B1 (ko) * 2018-08-07 2022-11-01 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
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
CN110825387B (zh) * 2019-11-01 2023-08-01 积成电子股份有限公司 一种终端设备存储器件过度编程快速定位方法
JP7171949B2 (ja) 2019-11-14 2022-11-15 長江存儲科技有限責任公司 プログラム障害を低減できるメモリデバイスとその消去方法
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
JP7476061B2 (ja) 2020-09-15 2024-04-30 キオクシア株式会社 半導体記憶装置
CN113228187B (zh) * 2021-04-01 2023-05-05 长江存储科技有限责任公司 三维存储设备、包括其的存储系统及对其进行编程的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771349A (en) * 1992-05-12 1998-06-23 Compaq Computer Corp. Network packet switch using shared memory for repeating and bridging packets at media rate
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
CN1466765A (zh) * 2000-09-27 2004-01-07 可写的跟踪单元

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602789A (en) 1991-03-12 1997-02-11 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller
JPH08249893A (ja) * 1995-03-07 1996-09-27 Toshiba Corp 半導体記憶装置
KR960002006B1 (ko) 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
JP3152720B2 (ja) * 1991-03-12 2001-04-03 株式会社東芝 不揮発性半導体記憶装置
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
KR950000273B1 (ko) * 1992-02-21 1995-01-12 삼성전자 주식회사 불휘발성 반도체 메모리장치 및 그 최적화 기입방법
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5422580A (en) 1993-10-14 1995-06-06 Aps Technologies Switchable active termination for SCSI peripheral devices
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US5523972A (en) * 1994-06-02 1996-06-04 Intel Corporation Method and apparatus for verifying the programming of multi-level flash EEPROM memory
US5748535A (en) * 1994-10-26 1998-05-05 Macronix International Co., Ltd. Advanced program verify for page mode flash memory
KR0169412B1 (ko) * 1995-10-16 1999-02-01 김광호 불휘발성 반도체 메모리 장치
KR100253868B1 (ko) * 1995-11-13 2000-05-01 니시무로 타이죠 불휘발성 반도체기억장치
US6131140A (en) 1995-12-22 2000-10-10 Cypress Semiconductor Corp. Integrated cache memory with system control logic and adaptation of RAM bus to a cache pinout
US5754469A (en) * 1996-06-14 1998-05-19 Macronix International Co., Ltd. Page mode floating gate memory device storing multiple bits per cell
US5764568A (en) * 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
US5771346A (en) 1996-10-24 1998-06-23 Micron Quantum Devices, Inc. Apparatus and method for detecting over-programming condition in multistate memory device
JP3517081B2 (ja) 1997-05-22 2004-04-05 株式会社東芝 多値不揮発性半導体記憶装置
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6333871B1 (en) * 1998-02-16 2001-12-25 Hitachi, Ltd. Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US6147547A (en) 1998-05-25 2000-11-14 Mitsubishi Denki Kabushiki Kaisha Charge pump circuit capable of generating positive and negative voltages and nonvolatile semiconductor memory device comprising the same
JP3999900B2 (ja) * 1998-09-10 2007-10-31 株式会社東芝 不揮発性半導体メモリ
JP2000173289A (ja) 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
US6567302B2 (en) * 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
KR100388179B1 (ko) * 1999-02-08 2003-06-19 가부시끼가이샤 도시바 불휘발성 반도체 메모리
TW475267B (en) 1999-07-13 2002-02-01 Toshiba Corp Semiconductor memory
JP2001093288A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置
JPWO2002050843A1 (ja) 2000-12-21 2004-04-22 富士通株式会社 不揮発性半導体記憶装置及びデータ消去方法
US6493266B1 (en) 2001-04-09 2002-12-10 Advanced Micro Devices, Inc. Soft program and soft program verify of the core cells in flash memory 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
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6967872B2 (en) * 2001-12-18 2005-11-22 Sandisk Corporation Method and system for programming and inhibiting multi-level, non-volatile memory cells
US6907497B2 (en) * 2001-12-20 2005-06-14 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US6542580B1 (en) * 2002-01-15 2003-04-01 Rapiscan Security Products (Usa), Inc. Relocatable X-ray imaging system and method for inspecting vehicles and containers
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
KR101110191B1 (ko) 2002-06-19 2012-02-15 쌘디스크 코포레이션 스케일 낸드용 인접셀들 사이의 크로스 커플링을 실드하기위한 딥 워드라인 트렌치
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771349A (en) * 1992-05-12 1998-06-23 Compaq Computer Corp. Network packet switch using shared memory for repeating and bridging packets at media rate
CN1466765A (zh) * 2000-09-27 2004-01-07 可写的跟踪单元
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode

Also Published As

Publication number Publication date
WO2005015566A8 (en) 2007-09-07
US6917542B2 (en) 2005-07-12
CN1853239A (zh) 2006-10-25
US7215575B2 (en) 2007-05-08
KR20060039929A (ko) 2006-05-09
EP1656676B1 (en) 2011-09-28
WO2005015566A1 (en) 2005-02-17
JP4754486B2 (ja) 2011-08-24
JP2007500411A (ja) 2007-01-11
US20050207222A1 (en) 2005-09-22
ATE526667T1 (de) 2011-10-15
TW200509136A (en) 2005-03-01
KR101049581B1 (ko) 2011-07-15
US20050024939A1 (en) 2005-02-03
TWI248085B (en) 2006-01-21
EP1656676A1 (en) 2006-05-17

Similar Documents

Publication Publication Date Title
CN1853239B (zh) 检测过度编程的存储器
CN100474453C (zh) 在编程相邻存储单元后对过度编程的存储单元的检测
CN1879175B (zh) 基于非易失性存储器单元的行为的编程方法
CN100589202C (zh) 多级单元快闪存储器中较高级状态的较快编程
CN101006519B (zh) 非易失性存储器系统及其编程的方法
CN100530435C (zh) 用于擦除非易失性存储器的系统和方法
CN100568392C (zh) 用于非易失性存储器的自升压技术
CN102160118B (zh) 非易失性存储器阵列的最后字线的数据保持的改进
CN101689400B (zh) 基于阈值电压分布的动态检验
CN102160119B (zh) 非易失性存储器中感测期间的基于数据状态的温度补偿
CN101095199B (zh) 非易失性存储系统和用于编程非易失性存储器的方法
KR101328909B1 (ko) 데이터 신뢰성을 증가시키는 메모리 장치 프로그래밍
CN101627442B (zh) 用于包括耦合补偿的非易失性存储器读取操作的边际化相邻者读取
CN102027548B (zh) 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器
CN101471135B (zh) 闪存器件及其操作方法
KR101041595B1 (ko) 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍
CN101199024B (zh) 利用改变字线条件来补偿较慢擦除的存储器单元以擦除非易失性存储器
CN105340019A (zh) 基于nand串电流检测编程字线
KR20110038083A (ko) 비휘발성 메모리에서의 판독 디스터브 완화
CN101627441A (zh) 用于非易失性存储装置的电阻感测及补偿
CN101405812A (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
JP2009528651A (ja) フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作
CN101627443A (zh) 通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元
CN101421794B (zh) 减少读取期间的编程干扰的影响
WO2008083162A1 (en) Retention margin program verification

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 TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20120903

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

Effective date of registration: 20120903

Address after: American California

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American California

Patentee before: Sandisk Corp.