CN101351849B - 在非易失性存储器写入操作中的持续检验的方法及装置 - Google Patents

在非易失性存储器写入操作中的持续检验的方法及装置 Download PDF

Info

Publication number
CN101351849B
CN101351849B CN2006800499653A CN200680049965A CN101351849B CN 101351849 B CN101351849 B CN 101351849B CN 2006800499653 A CN2006800499653 A CN 2006800499653A CN 200680049965 A CN200680049965 A CN 200680049965A CN 101351849 B CN101351849 B CN 101351849B
Authority
CN
China
Prior art keywords
programming
volatile memory
memory device
voltage
test
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
CN2006800499653A
Other languages
English (en)
Other versions
CN101351849A (zh
Inventor
陈建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/322,001 external-priority patent/US7352629B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Priority claimed from PCT/US2006/049220 external-priority patent/WO2007079062A1/en
Publication of CN101351849A publication Critical patent/CN101351849A/zh
Application granted granted Critical
Publication of CN101351849B publication Critical patent/CN101351849B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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

Landscapes

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

Abstract

在编程一组非易失性存储器单元时提供临时锁定以较准确地编程所述存储器单元。在成功检验存储器单元的阈值电压已达到针对其预期状态的电平之后,所述阈值电压将有可能随后在完成所述组的其它存储器单元的编程所需要的编程过程的额外迭代期间降到低于所述检验电平。监视(例如,在每一迭代之后)存储器单元以确定其在先前检验已达到所述目标阈值电压之后是否已降到低于所述检验电平。通过检验而随后未通过检验的单元可经受进一步编程。例如,可将所关注存储器单元的位线电压设定为适度高电压以减慢或减少每一后续编程脉冲所完成的编程的量。以此方式,可将未通过检验的存储器单元放置回正常编程流程中,而无需冒所述单元被过度编程的危险。

Description

在非易失性存储器写入操作中的持续检验的方法及装置
技术领域
本发明一般来说涉及用于编程非易失性存储器装置的半导体技术。 
背景技术
半导体存储器装置已变得更普遍地用于各种电子装置中。举例来说,非易失性半导体存储器用于蜂窝式电话、数码相机、个人数字助理、移动计算装置、非移动计算装置和其它装置中。电可擦除可编程只读存储器(EEPROM)(包含快闪EEPROM)和电可编程只读存储器(EPROM)是最普遍的非易失性半导体存储器之一。 
快闪存储器系统的一个实例使用NAND结构,其包括串联排列多个晶体管,将所述晶体管夹在两个选择栅极之间。串联的晶体管和选择栅极被称为NAND串。图1是展示一个NAND串的俯视图。图2是其等效电路。图1和图2中描绘的NAND串包括串联并夹在第一选择栅极120与第二选择栅极122之间的四个晶体管100、102、104和106。选择栅极120将NAND串连接到位线126。选择栅极122将NAND串连接到源极线128。通过经由选择线SGD将适当电压施加到控制栅极120CG来控制选择栅极120。通过经由选择线SGD将适当电压施加到控制栅极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阱的表面上。所述控制栅极在所述浮动栅极上面,且多晶硅间介电层分离控制栅极与浮动栅极。所述存储器单元(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。图3的NAND串的每一者包括两个选择晶体管或栅极和四个存储器单元。举例来说,NAND串202包括选择晶体管220和230以及存储器单元222、224、226和228。NAND串204包括选择晶体管240和250以及存储器单元242、244、246和248。每个串由一个选择栅极(例如选择栅极230和选择栅极250)连接到源极线。选择线SGS用于控制源极侧选择栅极。各个NAND串由选择栅极220、240等连接到个别位线,所述选择栅极220、240等由选择线SGD控制。在其它实施例中,选择线没有不必要必须为共同的。字线WL3连接到存储器单元222和存储器单元242的控制栅极。字线WL2连接到存储器单元224和存储器单元244的控制栅极。字线WL1连接到存储器单元226和存储器单元246的控制栅极。字线WL0连接到存储器单元228和存储器单元248的控制栅极。如可以看到的,位线和个别NAND串包含存储器单元阵列的列。字线(WL3、WL2、WL1和WL0)包含阵列的行。每个字线连接行中每个存储器单元的控制栅极。举例来说,字线WL2连接到存储器单元224、244和252的控制栅极。 
每个存储器单元可存储数据(模拟或数字)。当存储一个数字数据位时,存储器单元的可能阈值电压的范围划分为两个范围,所述两个范围被分配逻辑数据“1”和“0”。在NAND型快闪存储器的一个实例中,在擦除存储器单元之后,阈值电压为负并定义为逻辑“1”。在编程操作之后,阈值电压为正并定义为逻辑“0”。当阈值电压为负且通过向控制栅极施加0伏来尝试进行读取时,存储器单元将接通以指示正在存储逻辑1。当阈值电压为正且通过向控制栅极施加0伏来尝试进行读取操作时,存储器单元将不接通,这指示存储逻辑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)。当编程快闪存储器单元时,向所述控制栅极施加编程电压(经由选定的字线)并且将位线接地。将来自p阱的电子注入所述浮动栅极中。当电子累积在浮动栅极中时,所述浮动栅极变为带负电且所述单元的阈值电压升高。当存储器单元的阈值电压达到其预期状态的目标检验电压时,锁定所述单元以防止进一步编程,因为其浮动栅极处已放置有合适的量的负电荷。所述单元的浮动栅极电荷和阈值电压可指示对应于所存储数据的特定状态。 
另一类型的存储器单元利用非导电介电材料替代导电浮动栅极来以非易失性方式存储电荷。在Chan等人的文章“真实的单一晶体管氧化物-氮化物-氧化物EEPROM装置(A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device)”(IEEE电子装置学报,第EDL-8卷,第3期,1987年3月,第93到95页)中描述此类单元。将由氧化硅、氮化硅和氧化硅(“ONO”)所形成的三层电介质夹在导电控制栅极与在存储器单元沟道上面的半导电衬底的表面之间。通过将电子从单元沟道注入氮化物内来编程所述单元,在氮化物中所述电子被捕获并存储于限制区域中。此存储的电荷因此以可检测的方式改变单元的沟道的一部分的阈值电压。通过将热空穴注入氮化物中来擦除单元。还参见Nozaki等人的“用于半导体盘应用的具有MONOS存储器单元的1-Mb EEPROM(A1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application)”(IEEE固态电路期刊,第26卷,第4期,1991年4月,第497到501页),其描述分离栅极配置中的类似单元,在所述分离栅极配置中,掺杂多晶硅栅极延伸在存储器单元沟道的一部分上方以形成单独的选择晶体管。前述两篇文章全文以引用的方式并入本文中。在以引用的方式并入本文中的William D.Brown与Joe E.Brewer所编辑的“非易失性半导体存储器技术(Nonvolatile Semiconductor Memory Technology)”(IEEE出版社,1998年)的第1.2章节中提及编程技术,而且还在所述章节中描述可将其应用于介电电荷捕获装置。 
Eitan等人的“NROM:新颖的局部化捕获,2位非易失性存储器单元(NROM:A NovelLocalized Trapping,2-Bit Nonvolatile Memory Cell)”(IEEE电子装置学报,第21卷,第 11期,2000年11月,第543到545页)已描述另一种在每一单元中存储两位的方法。ONO介电层横跨源极与漏极扩散之间的沟道而延伸。一个数据位的电荷局限于与漏极相邻的介电层中,而另一数据位的电荷局限于与源极相邻的介电层中。通过单独读取在电介质内的空间上分离的电荷存储区域的二元状态来获得多状态数据存储。 
随着装置尺寸和相邻阈值分布之间的容限持续减小以提供不断扩展的存储器容量,编程和读回已编程数据过程中的误差与精确度不足会带来更多问题。例如,当状态之间的容限为最小时,完成编程后存储器单元的电荷的稍许移位会导致错误地读取存储于其中的数据。随着装置持续按比例缩放,编程之后电荷移位的发生会增加。存储于特定存储器单元的浮动栅极内的电荷的非预期变化会导致错误读取或在存储器系统内需要误差校正码(ECC)。 
发明内容
本文所描述的技术涉及以可提供较可靠写入且可较好地维持所关注单元内的所需电荷电平的方式编程非易失性存储器装置的技术。在一个实施例中,以持续方式实施编程检验以重新检验先前已检验的存储器单元并确定其是否已降到低于对应于其目标状态的合适编程检验电平。如果其已降到低于所述合适的编程检验电平,那么可促成此类单元的进一步编程。 
在编程一组非易失性存储器单元时提供临时锁定以较准确地编程所述存储器单元。成功检验存储器单元的阈值电压已达到针对其预期状态的电平之后,所述阈值电压将有可能随后在完成所述组的其它存储器单元的编程所需要的编程过程的额外迭代期间降到低于所述检验电平。监视(例如,在每一迭代之后)存储器单元以确定其在先前检验已达到所述目标阈值电压之后是否已降到低于所述检验电平。通过检验而随后未通过检验的单元可经受进一步编程。例如,可将所关注存储器单元的位线电压设定为适度高电压以减慢或减少每一后续编程脉冲所完成的编程的量。以此方式,可将未通过检验的存储器单元放置回正常编程流程中,而无需冒所述单元被过度编程的危险。 
在一个实施例中,提供一种编程非易失性存储器的方法,其包括编程一组非易失性存储元件。所述组的每一非易失性存储元件预期编程为一个或一个以上目标状态中的一者。针对达到对应于其编程预期要达到的目标状态的个别检验电平的每一非易失性存储元件,抑制编程。针对达到对应于其编程预期要达到的目标状态的个别检验电平且随后降到低于所述对应于其编程预期要达到的目标状态的个别检验电平的每一非易失性存储元件,启用第一速率的编程。针对尚未达到对应于其编程预期要达到的目标状态的个 别检验电平的每一非易失性存储元件,启用第二速率的编程。 
在一个实施例中,提供一种编程非易失性存储器的方法,其包括编程一组非易失性存储元件。每一非易失性存储元件预期编程为一个或一个以上目标状态中的一者。所述方法包括:向达到对应于其编程预期要达到的目标状态的个别检验电平的每一非易失性存储元件的位线施加第一电压;向达到对应于其编程预期要达到的目标状态的个别检验电平且随后确定不再处于或高于所述个别检验电平的每一非易失性存储元件的位线施加第二电压;以及向尚未达到对应于其编程预期要达到的目标状态的个别检验电平的每一非易失性存储元件的位线施加第三电压。 
通过审阅说明书、图式和权利要求书可获得本发明的其它特征、方面和目的。 
附图说明
图1是NAND串的俯视图。 
图2是图1中所描绘的NAND串的等效电路图。 
图3是图1的NAND串的横截面图。 
图4是描绘三个NAND串的电路图。 
图5是其中可实施本发明的各个方面的非易失性存储器系统的一个实施例的框图。 
图6描绘存储器阵列的示范性组织。 
图7描绘依据实施例可向选定字线施加的示范性编程/检验电压信号。 
图8描绘列控制电路的一部分。 
图9描绘用于一组多状态非易失性存储器单元的示范性阈值电压分布以及用于编程所述组单元的编程过程。 
图10描绘用于一组多状态非易失性存储器单元的示范性阈值电压分布以及用于编程所述组单元的编程过程。 
图11A到11C描绘依据一个实施例利用粗略/精细编程的编程过程。 
图12A到12C描绘依据一个实施例利用粗略/精细编程的编程过程。 
图13是描述依据一个实施例的一般化编程方法的流程图。 
图14是描述依据一个实施例的全序列编程方法的流程图。 
图15是描述依据一个实施例利用上/下页编程来编程下页的方法的流程图。 
图16是描述依据一个实施例利用上/下页编程来编程上页的方法的流程图。 
具体实施方式
图5是可用于实施本发明的一个或一个以上实施例的快闪存储器系统的一个实施例的框图。可使用其它系统和实施方案。存储器单元阵列302由列控制电路304、行控制电路306、c源极控制电路310和p阱控制电路308控制。列控制电路304连接到存储器单元阵列302的位线以便读取存储在存储器单元中的数据,用于确定编程操作期间存储器单元的状态,并用于控制位线的电位电平以促进或抑制编程和擦除。行控制电路306连接到字线以选择字线中的一者,以便施加读取电压,施加与由列控制电路304控制的位线电位电平结合的编程电压,且施加擦除电压。C源极控制电路310控制连接到存储器单元的共同源极线(图6中标识为“C源极”)。P阱控制电路308控制p阱电压。 
存储在存储器单元中的数据由列控制电路304读出并经由数据输入/输出缓冲器312而输出到外部I/O线。将要存储在存储器单元中的编程数据经由外部I/O线输入到数据输入/输出缓冲器312,并传递到列控制电路304。外部I/O线连接到控制器318。 
用于控制快闪存储器装置的命令数据输入到控制器318。命令数据通知快闪存储器请求什么操作。输入命令传递到状态机316,状态机316是控制电路315的一部分。状态机316控制列控制电路304、行控制电路306、c源极控制310、p阱控制电路308和数据输入/输出缓冲器312。状态机316也可输出快闪存储器的状态数据,例如准备就绪/忙(READY/BUSY)或通过/失败(PASS/FAIL)。 
控制器318与例如个人计算机、数码相机或个人数字助理等主机系统连接或可与其连接。其与发起命令的主机通信,以便将数据存储到存储器阵列302或从存储器阵列302读取数据,且提供或接收此类数据。控制器318将此类命令转换成可由命令电路314解译并执行的命令信号,命令电路314是控制电路315的一部分。命令电路314与状态机316通信。控制器318通常含有针对正写入到存储器阵列或从存储器阵列读取的用户数据的缓冲存储器。 
一个示范性存储器系统包含一个集成电路,所述集成电路包括控制器318和一个或一个以上集成电路芯片,每个集成电路芯片含有一存储器阵列和相关联的控制、输入/输出和状态机电路。存在将系统的存储器阵列和控制器电路一起集成在一个或一个以上集成电路芯片上的趋势。存储器系统可被内嵌作为主机系统的一部分,或可包括在以可移除的方式插入到主机系统中的存储器卡(或其它封装)中。此类卡可包括整个存储器系统(例如,包括控制器),或仅仅包括存储器阵列以及相关联的外围电路(其中控制器或控制功能件内嵌在主机中)。因此,控制器可内嵌在主机中或包括在可移除式存储器系统内。 
参看图6,描述存储器单元阵列302的示范性结构。作为一个实例,描述分成1,024 个区块的NAND快闪EEPROM。可同时擦除存储于每一区块中的数据。在一个实施例中,区块是同时被擦除的单元的最小单位。在此实例中,每一区块中有8,512列。每一区块通常分成若干页,页可以是编程单位。也可能采用且预期存在其它用于编程的数据单位。在一个实施例中,个别页可分成若干片段且所述片段可包含作为基本编程操作一次写入的最小数目的单元。通常将一页或一页以上数据存储于一行存储器单元中。 
在图6中的实例的每一区块中,存在8,512列,其分成偶数列与奇数列。位线分成偶数位线(BLe)和奇数位线(BLo)。在奇数/偶数位线结构中,在一个时间编程沿着共用字线且连接到奇数位线的存储器单元,而在另一时间编程沿着共用字线且连接到偶数位线的存储器单元。图5展示四个存储器单元,其串联连接以形成NAND串。虽然展示每一NAND串中包括四个单元,但也可使用多于或少于四个单元(例如,16、32或另一数目)。所述NAND串的一个端子经由第一选择晶体管或栅极(其连接到选择栅极漏极线SGD)而连接到相应的位线,且另一端子经由第二选择晶体管(其连接到选择栅极源极线SGS)而连接到c-源极。 
在其它实施例中,未将位线分成奇数与偶数位线。通常将此类结构称为全位线结构。在全位线结构中,在读取与编程操作期间同时选择一区块的所有位线。对沿着共用字线且连接到任何位线的存储器单元同时加以编程。2005年4月5日申请的题为“补偿非易失性存储器的读取操作期间的耦合(COMPENSATING FOR COUPLING DURING READOPERATIONS OF NON-VOLATILE MEMORY)”的第11/099,133号美国专利申请案(其全文以引用的方式并入本文中)描述全位线和奇数/偶数位线编程结构的全序列与两遍编程(下文所描述)的实例。 
在一个实施例的读取和编程操作期间,同时选择4256个存储器单元。选定的存储器单元具有相同字线(例如,WL2-i)和相同种类的位线(例如,偶数位线)。因此,可同时读取或编程532个字节的数据。这些同时读取或编程的532个字节的数据形成一逻辑页。因此,在此实例中,一个区块可存储至少八个页。当每个存储器单元存储两个数据位(例如,多级别单元)时,一个区块存储16个页。也可结合实施例使用其它尺寸的区块和页。另外,也可使用与图5和6的结构不同的结构来实施实施例。 
在读取和检验操作中,将选定区块的选择栅极升高到一个或一个以上选择电压,且将所述选定区块的未被选定的字线(例如,WL0、WL1和WL3)升高到读取通过电压(例如,4.5伏),以使所述晶体管作为通过栅极而操作。选定区块的选定字线(例如,WL2)连接到参考电压,为每个读取和检验操作指定所述电压的电平以便确定所关注的存储器单元的阈值电压在此电平以上还是以下。举例来说,在一位存储器单元的读取操 作中,选定字线WL2接地,使得检测到阈值电压是否高于0V。在一位存储器单元的检验操作中,选定字线WL2连接到(例如)0.8V,使得随着编程的进行检验出阈值电压是否已达到0.8V。源极和p阱在读取和检验期间为零伏。选定位线(BLe)被预充电到(例如)0.7V的电平。如果阈值电压高于读取或检验电平,那么所关注的位线(BLe)的电位电平由于相关联的非导电存储器单元而维持高电平。另一方面,如果阈值电压低于读取或检验电平,那么所关注的位线(BLe)的电位电平由于导电存储器单元而减小到低电平,例如小于0.5V。连接到位线并感测所得位线电压的感测放大器检测存储器单元的状态。编程还是擦除存储器单元之间的差异取决于净负电荷是否存储在浮栅中。举例来说,如果负电荷存储在浮栅中,那么阈值电压变高且晶体管可处于增强操作模式中。在一个实例中当对存储器单元进行编程时,漏极和p阱接收0伏,同时控制栅极接收一系列具有递增量值的编程脉冲。在一个实施例中,所述系列中的脉冲的量值范围介于12伏与24伏之间。在其它实施例中,所述系列中的脉冲的范围可能不同,例如,其具有高于或低于12伏的起始电平。在存储器单元的编程期间,在介于所述编程脉冲之间的周期内执行检验操作。即,在每一编程脉冲之间读取并行编程的一组单元的每一单元的编程电平,以确定其是否已达到或超过其编程所要达到的检验电平。检验所述编程的一种手段是在特定比较点测试传导。将经检验已充分编程的单元锁定(例如,在NAND单元中),此通过针对所有后续编程脉冲而将位线电压从0升高到Vdd(例如,2.5伏)以终止针对那些单元的编程过程来实行。在某些情况下,脉冲数目将受限制(例如,20个脉冲),且如果未通过最后的脉冲来对给定的存储器单元进行充分的编程,那么认为存在误差。在某些实施方案中,在编程之前擦除存储器单元(采用区块或其它单位)。 
图7描绘依据一个实施例的编程电压信号。此信号具有一组具有递增量值的脉冲。所述脉冲的量值随每一脉冲而增加预定步长。在一个包括存储多个数据位的存储器单元的实施例中,示范性步长为0.2伏(或0.4伏)。检验脉冲介于编程脉冲的每一者之间。图6的信号假定四状态存储器单元,因此,其包括三个检验脉冲。例如,三个依序检验脉冲介于编程脉冲330与332之间。第一检验脉冲334描绘为处于零伏检验电压电平。在第二检验电压电平处,第二检验脉冲336跟随第一检验脉冲。在第三检验电压电平处,第三检验脉冲338跟随第二检验脉冲336。能够以八个状态来存储数据的多状态存储器单元可能需要在七个比较点执行检验操作。因此,依次施加七个检验脉冲以在两个连续编程脉冲之间执行七个检验电平处的七个检验操作。基于所述七个检验操作,系统可确定所述存储器单元的状态。一种用于减轻检验的时间负担的手段是使用例如以下专利申请案中所揭示的较有效的检验过程:2002年12月5日申请的题为“对于多状态存储器 的智能检验(Smart Verify for Multi-State Memories)”的第10/314,055号美国专利申请案;2005年10月27日申请的题为“使用智能检验对多状态非易失性存储器进行编程的方法(Method for Programming of Multi-State Non-Volatile Memory Using Smart Verify)”的第一号美国专利申请案[代理人案号为SAND-1051US0];和2005年10月27日申请的题为“用于使用智能检验对多状态非易失性存储器进行编程的设备(Apparatus for Programmingof Multi-State Non-Volatile Memory Using Smart Verify)”的第11/259,799号美国专利申请案,所述专利申请案均全文以引用的方式并入本文中。 
依据此项技术中已知的技术执行上述读取和检验操作。因此,所属领域的技术人员可变更所阐述的细节中的许多细节。 
图8是图5的列控制电路304的一部分的示意性框图。在列控制电路304中,为每两个位线(包括一偶数编号位线BLe与一奇数编号位线BLo)配置一数据存储电路340。在列控制电路304中,还为数据存储电路340配置一感测放大器以便将数据写入到存储器单元中和从存储器单元读取数据。 
在数据存储电路340与偶数编号位线BLe之间连接n沟道MOS晶体管342以用于列选择。在数据存储电路340与奇数编号位线BLo之间连接另一n沟道MOS晶体管344以用于列选择。选择偶数编号位线BLe或奇数编号位线BLo来控制写入数据或读取数据的操作。更明确地说,当信号偶数BL处于逻辑电平1且信号奇数BL处于逻辑电平0时,使MOS晶体管342导电以选择偶数编号位线BLe,其接着连接到数据存储电路340。另一方面,当信号偶数BL处于逻辑电平0且奇数BL处于逻辑电平1时,使晶体管344导电以选择奇数编号位线Blo,其接着连接到数据存储电路340。应注意,将信号偶数BL施加到通过偶数编号位线所连接的所有用于列选择的n沟道MOS晶体管;而将信号奇数BL施加到连接到奇数编号位线的所有用于列选择的n沟道MOS晶体管。 
每一数据存储电路340包括四个二进制数据存储区段DS1、DS2、DS3和DS4。存储区段DS1借助内部数据输入/输出线而连接到数据输入/输出312并存储待写入的外部输入数据或读出待外部输出的数据。数据存储区段DS2存储写入检验操作(其用于确认存储器单元在写入操作之后的阈值)的检测结果。在写入存储器单元的数据时和/或读取所述数据时,数据存储区段DS3临时存储所述数据。DS4存储最初载入到电路340以用于编程的数据的副本。在其它实施例中,所述数据存储区段还可具有其它功能或可以不同方式配置。在各种实施例中,DS1、DS2、DS3和DS4可为存储器单元的若干部分、一个或一个以上寄存器,或可存储信息的任何其它装置。在一个实施例中,DS1、DS2、DS3和DS4每一者为一位。在其它实施例中,DS1、DS2、DS3和DS4中的一者或一者 以上可存储多个位。还可使用与图8中所描绘的电路不同的电路来控制位线。 
应注意,图8展示偶数/奇数位线配置。然而,还可结合许多不同的位线配置(例如,其中每一位线具有其自身的感测放大器和/或数据存储装置的配置)使用本发明。在适于实施本发明的某些配置中,在一遍(而不是奇数与偶数遍)中编程所有位线。例如,参见2002年9月24日申请的题为“高度紧密的非易失性存储器及其方法(Highly CompactNon-Volatile Memory and Method Thereof)”的第10/254,483号美国专利申请案,其全文以引用的方式并入本文中。 
在成功的编程过程结束时,存储器单元的阈值电压应恰当地处于一个或一个以上针对已编程存储器单元的阈值电压分布内或针对已擦除存储器单元的阈值电压分布内。图9说明当每一存储器单元存储两个数据位时存储器单元阵列的阈值电压分布。图9展示已擦除存储器单元的第一阈值电压分布E。还描绘针对已编程存储器单元的三个阈值电压分布A、B和C。在一个实施例中,E分布中的阈值电压为负而A、B和C分布中的阈值电压为正。 
图9的每一不同阈值电压范围对应于数据位集的预定值。编程于存储器单元内的数据与所述单元的阈值电压电平之间的特定关系取决于所述单元所采用的数据编码方案。例如,第6,222,762号美国专利和2003年6月13日申请的第10/461,244号美国专利申请案“用于存储器系统的跟踪单元(Tracking Cells For A Memory System)”(所述两者全文均以引用的方式并入本文中)描述用于多状态快闪存储器单元的各种数据编码方案。在一个实施例中,使用格雷码指派将数据值指派给阈值电压范围以致如果浮动栅极的阈值电压错误地移位到其相邻物理状态,那么仅一个位将受到影响。一个实例将“11”指派给阈值电压范围E(状态E),将“10”指派给阈值电压范围A(状态A),将“00”指派给阈值电压范围B(状态B)且将“01”指派给阈值电压范围C(状态C)。然而,在其它实施例中,并不使用格雷码。虽然图9展示四个状态,但也可将本发明与其它多状态结构(包括那些包括多于或少于四个状态的结构)一起使用。 
图9展示用于从存储器单元读取数据的三个读取参考电压Vra、Vrb和Vrc。通过测试给定存储器单元的阈值电压是高于还是低于Vra、Vrb和Vrc,系统可确定所述存储器单元处于什么状态。图9展示三个检验参考电压Vva、Vvb和Vvc。当将存储器单元编程为状态A时,系统将测试那些存储器单元是否具有大于或等于Vva的阈值电压。当将存储器单元编程为状态B时,系统将测试所述存储器单元是否具有大于或等于Vvb的阈值电压。当将存储器单元编程为状态C时,系统将确定存储器单元是否具有大于或等于Vvc的阈值电压。下文将针对粗略/精细编程期间的应用来描述额外检验参考电压Vva1、 Vvb1和Vvc1。 
在图9中所描绘的一个实施例(称为全序列编程)中,可将存储器单元从擦除状态E直接编程为已编程状态A、B或C中的任一者。例如,可将待编程的一存储器单元群体首先擦除,以便所述群体内的所有存储器单元均处于已擦除状态E。接着,将使用图9中所描绘的过程(其使用图7中所描绘的控制栅极电压序列)来将存储器单元直接编程为状态A、B或C。虽然将某些存储器单元从状态E编程为状态A,但将其它存储器单元从状态E编程为状态B和/或从状态E编程为状态C。在此类实施例中,可将针对存储器单元的特定存储器状态所编码的两个位均视为单一数据页的一部分。 
图10说明编程多状态存储器单元的两遍(two-pass)技术的一实例,所述多状态存储器单元存储两个不同页的数据:下页和上页。描绘四个状态:状态E(11)、状态A(10)、状态B(00)和状态C(01)。对于状态E,两页均存储“1”。对于状态A,下页存储“0”且上页存储“1”。对于状态B,两页均存储“0”。对于状态C,下页存储“1”且上页存储“0”。注意:虽然已将特殊位型式指派给所述状态中的每一者,但也可指派不同位型式。在第一遍编程中,根据待编程到下部逻辑页中的位而设定单元的阈值电压电平。如果所述位为逻辑“1”,那么不改变阈值电压,因为其由于早先已被擦除而处于适当状态。然而,如果待编程的位为逻辑“0”,那么增加单元的阈值电平使其为状态A,如由箭头350所展示的。所述操作结束第一遍编程。 
在第二遍编程中,根据编程到上部逻辑页中的位而设定单元的阈值电压电平。如果上部逻辑页位用于存储逻辑“1”,那么不发生任何编程,因为所述单元视下页位的编程而定而处于状态E或A中的一者中,状态E或状态A均载运上页位“1”。如果上页位为逻辑“0”,那么移位阈值电压。如果第一遍导致单元保持在擦除状态E,那么在第二阶段中编程单元以使得阈值电压增加为处于状态C内,如由箭头354所描绘的。如果由于第一遍编程而已将单元编程为状态A,那么在第二遍中进一步编程存储器单元以使得阈值电压增加为处于状态B内,如由箭头352所描绘的。第二遍的结果在于将单元编程为经指定以在不改变下页的数据的情况下存储上页的逻辑“0”的状态。 
在一个实施例中,如果写入足够数据以填满一整页,那么可建立一系统以执行全序列写入。如果未写入用于一全页的足够数据,那么编程过程可编程下页,其中以所接收的数据进行编程。当接收到随后的数据时,那么系统将编程上页。在再一实施例中,系统可在编程下页的模式中开始写入且在随后接收到足够数据来填满一整个(或大多数)字线的存储器单元时转换成全序列编程模式。此实施例的更多细节揭示于在12/14/04申请的题为“使用早期数据对非易失性存储器的管线式编程(Pipelined Programming of Non-Volatile Memories Using Early Data)”的序列号为11/013,125发明人为SergyAnatolievich Gorobets和Yan Li的美国专利申请案中,所述专利申请案全文以引用的方式并入本文中。 
依据实施例可使用与图9和10所示的编程方法不同的其它编程方法。例如,Shibata等人的题为“用于存储多值数据的半导体存储器装置(Semiconductor Memory Device forStoring Multivalued Data)”的第6,657,891号美国专利描述可使用的一种替代编程方法,所述专利全文以引用的方式并入本文中。其中所描述的技术描述一种用于非易失性存储器的编程方法,其针对任一特定存储器单元,通过针对先前页写入到相邻存储器单元之后相对于特定页写入到所述特定存储器单元来减小浮动栅极到浮动栅极耦合。在使用四个数据状态的一个实施例中,所述非易失性存储器单元可每一存储器单元存储两个数据位。擦除状态E可存储数据11、最先编程的状态A存储数据01,状态B存储数据10,且状态C存储数据00。每一存储器单元存储两页的数据,如图10中可将所述两页称为上页与下页。所述方法(包括中间状态的使用)可减轻由于随后编程的相邻单元引起的浮动栅极到浮动栅极耦合的效应。 
在某些实施方案中,使用两阶段编程过程来实现紧密阈值电压分布,而不会不合理地减慢编程过程。第一阶段(粗略编程阶段)包括尝试以较快方式升高阈值电压,而较不关注于实现紧密阈值电压分布。第二阶段(精细编程阶段)尝试以较慢方式升高所述阈值电压以便达到目标阈值电压,从而实现较紧密的阈值电压分布。粗略/精细编程方法的一个实例可参阅美国专利6,643,188(其全文以引用的方式并入本文中)。 
当将存储器单元编程为目标状态时,使用两个检验电平。例如,可使用最后检验电平Vver1,其可对应于Vva、Vvb、Vvc等。当(例如)待编程为状态A的存储器单元的阈值电压已达到最后检验电平Vva时,通过向对应于所述存储器单元的位线施加抑制电压来抑制对所述存储器单元的进一步编程。例如,位线电压可升高到Vdd。然而,当存储器单元已达到接近于(但低于)最后目标电平Vva的阈值电压时,通过向位线施加某一偏压(例如V1)来减慢后续编程脉冲期间所述存储器单元的阈值电压移位。V1通常可为大约0.3V到0.8V。因为阈值电压移位的速率在随后的若干编程脉冲期间减小,所以最后的阈值电压分布可比采用传统方法的阈值电压分布窄。为了实施此方法,使用比Vver1低的第二检验电平。在图9与10中,将所述第二检验电平Vver2描绘为Vva1、Vvb1和Vvc1。当待编程为状态A的存储器单元的阈值电压大于Vva1但仍低于Vva时,将在后续编程脉冲期间通过施加位线偏压V1来减小所述存储器单元的阈值电压移位。注意,在此情况下,每一状态需要两个检验操作。对于所述粗略/精细编程方法被应用到 的每一状态,以相应的最后检验电平(例如Vva)执行一个检验操作,且针对每一状态,以相应的第二检验电平(例如Vva1)执行一个检验操作。这可能会增加编程所述存储器单元所需要的总时间。然而,可使用较大ΔVpgm步长来加速所述过程。 
为了维持合理的编程次数,在某些实施例中,可能不向最高存储器状态(对应于最大正阈值电压范围的状态)应用粗略/精细编程算法。不需要区分最高状态(例如图10中的状态C)与较高状态。通常,仅需要针对此状态将单元编程得高于最小阈值电平以区分于下一最低状态(例如,分布12所表示的状态B)。因此,这些单元的分布可占据较宽阈值电压范围,而不会装置性能造成负面影响。 
在某些实例中,编程操作期间成功地针对预期状态检验的存储器单元可能随后不在针对所述预期状态的阈值电压范围内(低于最后检验电平)。这会造成读取误差和/或需要补偿技术,例如误差校正码(ECC)的使用。单元在持续缩放比例以提供较多存储器容量。此缩放比例可包括减小控制栅极与浮动栅极之间的电介质(称为栅极间或多晶硅间电介质)的厚度(实际或有效)。此外,正使用具有较高介电常数(高K)的材料,举例而言,其可能比典型ONO电介质更容易泄漏。当存储器单元的控制栅极与浮动栅极之间存在大电位时,可能会从浮动栅极朝向控制栅极汲取负电荷,从而导致非预期的阈值电压变化。参看图2与3,例如,可能会从浮动栅极106FG朝向控制栅极106CG汲取电子,从而造成存储器单元106的阈值电压发生变化。例如,当将一单元锁定或抑制其编程并施加编程电压以编程与所述已锁定单元连接到相同字线的其它单元时,在所述已锁定单元的控制与浮动栅极之间存在大电位。电子可能会从浮动栅极中泄漏而造成已锁定单元的阈值电压下滑到低于针对其预期状态的最后检验电平。在图4中,例如,可锁定存储器单元224,同时通过向WL2施加编程电压来持续编程存储器单元244。存储器单元224的控制栅极处的大电位会从存储器单元224的浮动栅极中汲取电子。 
在典型的编程操作中,通过针对预期状态的检验操作之后,永久地锁定单元以免进一步编程。这些单元在成功检验之后不会经受进一步的检验。因此,即使已成功检验这些单元,在编程结束时所述单元的阈值电压仍可能低于针对其预期状态的检验电平。 
依据一个实施例,在整个编程期间检验存储器单元,以检测检验后可能会遗失负电荷的单元。例如,无论存储器单元是否已针对其目标状态得以成功检验,在每一编程脉冲(编程操作)之后,所述存储器单元均经受检验。如果先前已检验的存储器单元在编程过程的其它迭代中未通过检验,那么其可经受额外编程。 
图11A到11C和12A到12C描绘依据一个实施例的编程过程。图11A与12A描绘施加到控制栅极的编程脉冲Vpgm。图11B与12B描绘正在编程的存储器单元的位线电 压。图11C与12C描绘正在编程的存储器单元的阈值电压。使用粗略/精细编程执行图11A到11C和12A到12C的过程。在其它实施例中,未使用粗略/精细编程。 
确定图11A到11C中所描绘的存储器单元在施加四个具有递增量值的编程电压脉冲之后的时间t4处已达到针对其目标状态的Vver2电平。例如,Vver2可对应于Vva1、Vvb1等。在时间t4处所述单元的位线电压升高到V1,以在精细编程阶段期间减慢所述存储器单元的编程速度。在时间t5处(一个额外脉冲之后),确定所述单元已达到针对其目标状态的Vver1电平。因此,使位线电压升高到Vdd以抑制所述单元的进一步编程。所述存储器单元持续经受检验,直到针对正在编程的字线的整个编程过程存储器操作完成为止。图11C展示,所述存储器单元的阈值电压在编程的其余时间期间保持高于Vver1电平。因此,位线电压保持为Vdd以抑制编程。 
图12A到12C中所描绘的存储器单元也在时间t4处达到针对其预期状态的Vver2电平。使位线电压升高到V1且在阈值电压在时间t6处达到Vver1电平之前施加另外两个脉冲。接着,使位线电压升高到Vdd以抑制编程。在时间t7处,阈值电压仍高于Vver1,因此位线电压保持为Vdd。然而,在时间t8处,阈值电压稍许下降到低于Vver1电平。控制电路(例如,列控制电路304的处理器)可检测此变化并在时间t8处使位线电压下降到V2以启用进一步编程。在时间t9处,阈值电压重新高于Vver1且位线电压再次升高到Vdd。在编程的其余时间期间,阈值电压保持高于Vver1。 
如图12A到12C所说明,仅通过在编程过程期间临时锁定存储器单元,来较准确地编程所述存储器单元。检测由于编程其它存储器单元所造成的阈值电压的后续下降,以便进一步编程所述已经检验的单元。在一个实施例中,V2可为大于V1的电压以将所述单元逐渐且缓慢地编程为重新高于最后检验电平。以此方式,可使过度编程最小化或消除。可将由于升高的位线电压造成的减慢的编程(阈值电压移位随着每一脉冲而变小)称为减小的编程。如果施加低位线电压(例如0V),那么可能会过度编程所述单元。编程电压自其先前成功检验以来可能已若干次地增加步长。如果未针对全编程(BL=0V)锁定所述单元,那么所述单元的阈值电压会在相邻状态的禁止区或阈值单元范围内结束。然而,在其它实施例中,V2可小于或等于V1。 
图13是描述使用例如针对图11A到11C和12A到12C所描述的概念来编程存储器的一般方法的流程图。在步骤502处,系统(例如,图4)接收用以编程存储器的命令与数据。在步骤504处,执行初始化。在某些实施例中,可在编程之前擦除存储器单元。可执行软编程,以使得已擦除存储器单元每一者将具有在狭窄已擦除阈值电压分布内的阈值电压。还可初始化状态寄存器。在步骤506处,施加编程脉冲。连接到特定字线的 存储器单元的每一控制栅极将接收所述脉冲。在步骤508处,检验所述单元以确定其阈值电压是否已达到对应于其预期状态的检验电平Vver2。在步骤510处,检验所述单元以确定其阈值电压是否已达到对应于其预期状态的检验电平Vver1。 
过程基于是否在先前迭代(n-1、n-2等)中以针对单元的预期状态的Vver1电平成功检验所述单元而在步骤512处形成分支。如果先前未以针对存储器单元的目标状态的Vver1电平检验所述存储器单元,那么过程形成分支到步骤520,在步骤520中,所述过程基于两个当前(n)检验操作的状态而形成分支。如果所述单元未能以Vver2检验(步骤508),那么过程进行到步骤528,其中使编程电压增加步长且使所述过程的计数器PC递增。可使用计数器来限制编程操作的迭代数目。例如,可在步骤528之前检查计数器值以确定应持续、未通过还是通过所述操作。 
如果已以检验电平Vver1检验存储器单元(步骤510),那么所述过程在步骤518处持续,在步骤518中在下一编程迭代n+1期间将所述存储器单元锁定或抑制其编程。如果已以Vver2电平而不是Vver1电平检验所述存储器单元,那么可在步骤522处将其位线设定为V1以减慢下一编程迭代期间其阈值电压的增加。如果如步骤524处所确定针对页的编程过程是成功的,那么在步骤526处报告通过状态。当所有或预定数目的单元达到针对其预期状态的Vver1时,可认为所述过程是成功的。 
如果在当前迭代之前成功检验存储器单元,那么过程从步骤512形成分支到步骤514。如果所述单元以检验电平Vver1再次检验,那么在步骤518处维持其锁定或抑制状态。然而,如果所述单元现未能以Vver1电平检验,那么其经受进一步编程。在步骤516处,将其位线设定为V2以启用下一迭代期间的编程。在一个实施例中,V2小于V1以使随着每一编程电压脉冲阈值电压增加能够比精细编程V1所提供的阈值电压增加更小。在其它实施例中,可使用不同值。在一个实施例中,如果以Vver1先前检验之后,存储器单元未能以Vver2检验,那么可施加V1,因为阈值电压已显著下降。应避免过度编程。 
图14使描绘依据一个实施例用于(例如)图9所示的全序列编程的编程过程的流程图。将相对于图5描述图14,然而将明白,也可使用其它实施方案。在步骤602处,从主机接收数据载入或输入命令并将其放置于状态机中。在步骤604处,从主机接收地址数据并将其存储于状态机中以便选择待用于写入操作的页。在步骤606处,接收待写入的数据并将其存储于DS1中。在步骤608处,从主机接收写入或编程命令并将其放置于状态机中。在步骤610处,将来自DS1的输入数据复制到DS2与DS4。在此实施例中,尽管每一单元针对一个逻辑页存储两个数据位,但DS2与DS4仅需要单一数据位。 对于待编程为状态10、00或01的单元,将DS2与DS4每一者设定为0。对于将保持处于擦除状态11的单元,将DS2与DS4每一者设定为1。将明白,可使用不同的寄存器配置。 
在步骤612处,将编程电压Vpgm初始化为其起始值(例如12V),且将编程计数器PC初始化为其起始值(例如0)。在步骤614处,针对每一存储器单元设定位线电压。如果将DS4与DS2均设定为0,那么存储器单元仍必须达到针对其预期状态的Vver2或Vver1电平且将位线电压设定为0V。如果将DS4设定为0且将DS2设定为1,那么将位线电压设定为V1以启用粗略/精细编程方案中的精细编程。如果将DS4设定为1且将DS2设定为0,那么其指示先前已经检验但现未经过检验的存储器单元。将位线电压设定为V2以启用比精细编程更慢或更减少的编程。如果将DS4与DS2均设定为1,那么将位线电压设定为Vdd以抑制编程。在一个实施例中,未使用粗略/精细编程。可仅以最后检验电平Vver1执行检验。在此情况下,将位线设定为0V以启用全编程、设定为Vdd以抑制编程,或设定为V2以缓慢地编程已降到低于检验电平的先前已检验的单元。 
在步骤616处,向选定字线施加编程电压脉冲。在步骤618处,使用Vver2电平(Vva1)执行针对状态10的检验。仅针对待编程为状态10的那些单元执行步骤618。如果所述单元通过Vver2电平检验,那么将DS2设定为1。如果所述单元未通过所述检验,那么将DS2设定为0或其保持为0。在步骤620处,使用Vver1电平(Vva)执行针对状态10的检验。如果所述单元通过所述检验,那么将DS4设定为1或其保持为1。如果其未通过所述检验且在开始当前迭代n之前(即,在n-1迭代结束时)DS4等于0,那么使DS4保持为0。然而,如果所述单元未通过所述检验且在开始当前迭代n之前DS4等于1,那么使DS4保持为1且将DS2设定为0。此组合表示先前已检验但后来未通过检验的存储器单元。所述组合将导致在下一迭代期间将存储器单元的位线下拉到V2,以便逐渐编程回到Vver1检验电平。如先前所提及,其它实施例可提供更精细水平的粒度。例如,如果所述单元下滑到低于Vver2以及Vver1检验电平,那么可使用一组合以促使将位线拉到V1或另一值,以便获得高于施加V2所获得的编程速度的增加的编程速度。 
在步骤622处,使用Vver2电平(Vvb1)执行针对状态00的检验。仅针对待编程为状态00的那些单元执行步骤622。如果所述单元通过Vver2电平检验,那么将DS2设定为1。如果所述单元未通过所述检验,那么将DS2设定为0或其保持为0。在步骤624处,使用Vver1电平(Vvb)执行针对状态00的检验。如果所述单元通过所述检验, 那么将DS4设定为1或其保持为1。如果其未通过所述检验且在开始当前迭代n之前DS4等于0,那么使DS4保持为0。然而,如果所述单元未通过所述检验且在开始当前迭代之前DS4等于1,那么使DS4保持为1且将DS2设定为0。 
在步骤626处,使用Vver2电平(Vvc1)执行针对状态01的检验。仅针对待编程为状态01的单元执行步骤626。如果所述单元通过Vver2电平检验,那么将DS2设定为1。如果所述单元未通过所述检验,那么将DS2设定为0或其保持为0。在步骤628处,使用Vver1电平(Vvc)执行针对状态00的检验。如果所述单元通过所述检验,那么将DS4设定为1或其保持为1。如果所述单元未通过所述检验且在开始当前迭代n之前DS4等于0,那么使DS4保持为0。然而,如果所述单元未通过所述检验且在开始当前迭代n之前DS4等于1,那么使DS4保持为1且将DS2设定为0。 
在步骤630处,确定正在编程的页的所有单元是否已使其DS2寄存器与DS4寄存器存储“1”。如果是,那么在步骤632处针对所述编程过程报告通过状态。在一个实施例中,如果预定数目的存储器单元已使其DS2与DS4寄存器存储“1”,那么报告通过状态。如果所有存储器单元(或所述预定数目的存储器单元)不在DS2与DS4中存储“1”,那么确定编程计数器是否低于最大值。如果编程计数器并不低于最大值(其指示编程过程已完成其最后迭代),那么确定未达到其Vver1目标电平的存储器单元的数目是否处于或低于预定数目。如果是,那么在步骤632处报告通过状态。如果编程计数器PC未达到所述最大值,那么在步骤636处使编程电压增加所述步长且使计数器递增。增加编程电压之后,过程返回到步骤614以设定合适的位线条件。先前已经检验但在所描述的迭代n期间未通过检验的那些单元将其位线设定为V2以实现所述单元的阈值电压的较小逐渐增加。先前未经检验但已达到Vver2电平的那些单元将其位线设定为V1以启用精细编程。已在Vver1电平处通过检验的那些单元将其位线设定为Vdd以抑制下一迭代期间的编程。 
重要的是要注意,与先前技术的永久锁定方法相比,锁定或抑制所述单元的编程仅为临时的。对已经得以成功检验的单元执行检验且那些单元可稍后经受进一步编程。为了实现此点,在整个编程过程期间由DS1维持针对编程所载入的原始数据的副本。 
图15是描绘依据一个实施例当使用图10中所描绘的上/下页方案时用于编程下页数据的编程过程的流程图。再次,粗略/精细编程的并入是任选的。图15还可用于二进制编程过程中。在步骤652处,从主机接收数据输入命令并将其放置于状态机中。在步骤654处,从主机接收地址数据并将其存储于状态机中以便选择待用于写入操作的页。在步骤656处,接收待写入的数据并将其存储于DS1中。在步骤658处,从主机接收写入 或编程命令并将其放置于状态机中。在步骤660处,将来自DS1的输入数据复制到DS2与DS4。在步骤662处,将编程电压初始化为其起始值(例如12V),且将编程计数器PC初始化为其起始值(例如0)。在步骤664处,为每一存储器单元设定位线电压。如果将DS4与DS2均设定为0,那么存储器单元仍必须达到针对其预期状态的Vver2或Vver1电平且将位线电压设定为0V。如果将DS4设定为0且将DS2设定为1,那么将位线电压设定为V1以启用粗略/精细编程方案中的精细编程。如果将DS4设定为1且将DS2设定为0,那么其指示先前已经检验但在最后检验之后未通过检验的存储器单元。将位线电压设定为V2以启用甚至比精细编程更慢的编程。如果将DS4与DS2均设定为1,那么将位线电压设定为Vdd以抑制编程。 
在步骤666处,向选定字线施加编程电压脉冲。在步骤668处,使用状态10Vver2电平(Vva1)执行检验。如果单元通过Vver2电平检验,那么将DS2设定为1。如果所述单元未通过所述检验,那么将DS2设定为0或其保持为0。在步骤670处,使用状态10Vver1电平(Vva)执行检验。如果单元通过所述检验,那么将DS4设定为1或其保持为1。如果其未通过所述检验且在开始当前迭代n之前DS4等于0,那么使DS4保持为0。然而,如果所述单元未通过所述检验,在开始当前迭代n之前DS4等于1且DS1=0,那么使DS4保持为1且将DS2设定为0。所述组合将导致在下一迭代期间将存储器单元的位线下拉到V2,以便逐渐编程回到Vver1检验电平。 
在步骤672处,确定正在编程的页的所有单元是否已使其DS2寄存器与DS4寄存器存储“1”。如果是,那么在步骤674处针对所述编程过程报告通过状态。在一个实施例中,如果预定数目的存储器单元已使其DS2与DS4寄存器存储“1”,那么报告通过状态。如果所有存储器单元(或所述预定数目的存储器单元)并未在DS2与DS4中存储“1”,那么确定编程计数器是否低于最大值。如果编程计数器并不低于最大值(其指示编程过程已完成其最后迭代),那么确定未达到其Vver1目标电平的存储器单元的数目是否处于或低于预定数目。如果是,那么在步骤674处报告通过状态。如果所述数目未达到所述预定数目,那么在步骤682处报告未通过状态。如果编程计数器PC未达到所述最大值,那么在步骤678处使编程电压增加步长且使计数器递增。增加编程电压之后,过程返回到步骤664以针对下一迭代设定合适的位线条件。 
图16是描绘依据一个实施例当使用图10中所描绘的上/下页方案时用于编程上页的编程过程的流程图。在步骤702处,从主机接收数据输入命令并将其放置于状态机中。在步骤704处,从主机接收地址数据并将其存储于状态机中以便选择待用于写入操作的页。在步骤706处,接收待写入的数据并将其存储于DS1中。在步骤708处,从主机接 收写入或编程命令并将其放置于状态机中。在步骤710处,将来自DS1的输入数据复制到DS2与DS4。在步骤712处,执行读取操作以针对每一存储器单元确定下页位的值。使用Vra读取电平执行读取操作。如果单元传导(指示所述单元当前处于状态11),那么将DS3设定为0。如果所述单元不传导(指示所述单元当前处于状态10),那么将DS3设定为1。 
在步骤714处,将编程电压初始化为其起始值,且将编程计数器初始化为其起始值。在步骤716处,针对每一存储器单元设定位线电压。如果将DS4与DS2均设定为0,那么将位线电压设定为0V。如果将DS4设定为0且将DS2设定为1,那么将位线电压设定为V1。如果将DS4设定为1且将DS2设定为0,那么将位线电压设定为V2。如果将DS4与DS2均设定为1,那么将位线电压设定为Vdd以抑制编程。 
在步骤718中,施加第一编程脉冲。在步骤720处,使用Vver2检验电平(Vvb1)执行针对状态00的编程检验操作。如果DS3=1且单元通过检验,那么将DS2设定为1或其保持为1。如果DS3=1且所述单元未通过检验,那么将DS2设定为0或其保持为0。在步骤722处,使用Vver1检验电平(Vvb)执行针对状态00的编程检验操作。如果DS3=1且单元通过检验,那么将DS4设定为1或其保持为1。如果DS3=1,先前迭代之后将DS4设定为0且所述单元未通过检验,那么使DS4保持为0。然而,如果所述单元未通过检验,DS3=1,上一迭代之后将DS4设定为1且DS1=0,那么使DS4保持为1且将DS2设定为0或其保持为0。 
在步骤724处,以Vver2检验电平(Vvc1)执行针对状态01的编程检验操作。如果单元通过所述编程检验操作且DS3=0,那么将DS2设定为0或其保持为0。如果所述单元未通过所述编程检验操作且DS3=0,那么将DS2设定为1或其保持为1。在步骤726处,以Vver1检验电平(Vvc)执行针对状态01的编程检验操作。如果所述单元通过所述编程检验操作且DS3=0,那么将DS4设定为1或其保持为1。如果所述单元未通过所述编程检验操作,DS3=0且在上一迭代之后将DS4设定为0,那么使DS4保持为0。如果所述单元未通过所述编程检验操作,DS3=0,DS1=0且在上一迭代之后将DS4设定为1,那么在726处使DS4保持为1且将DS2设定为0或其保持为0。 
在步骤728处,确定正在编程的页的所有单元是否已使其DS2寄存器与DS4寄存器存储“1”。如果是,那么在步骤730处针对所述编程过程报告通过状态。在一个实施例中,如果预定数目的存储器单元已使其DS2与DS4寄存器存储“1”,那么报告通过状态。如果所有存储器单元(或所述预定数目的存储器单元)并未在DS2与DS4中存储“1”,那么确定编程计数器是否低于最大值。如果编程计数器并不低于最大值(其指 示编程过程已完成其最后迭代),那么在步骤734处确定未达到其Vver1目标电平的存储器单元的数目是否处于或低于预定数目。如果是,那么在步骤730处报告通过状态。如果所述数目未达到所述预定数目,那么在步骤736处报告未通过状态。如果编程计数器PC未达到所述最大值,那么在步骤738处使编程电压增加步长且使计数器递增。增加编程电压之后,过程返回到步骤716以针对下一迭代设定合适的位线条件。 
在至此所论述的实施例中,先前已针对其目标状态经检验但后来确定已降到低于其最后检验电平的存储器单元在施加递增编程电压信号期间经受立即额外编程。这通过改变所述存储器单元的位线电压以启用编程过程的下一迭代期间的进一步编程来实现。在一个实施例中,所述存储器单元不经受立即额外编程。在一个实施例中,例如,在页编程序列结束时施加平缓编程脉冲以将所述存储器单元平缓地编程为重新高于合适的检验电平。这可通过将编程电压信号重设为其初始值并再次施加所述编程电压信号来实现。在一个实施例中,将编程电压信号重设为低于开始正常页编程序列时所使用的初始值的值。在另一实施例中,在编程序列结束时以与已经论述的方式类似的方式施加平缓编程脉冲。所述存储器单元不经受立即重新编程,而是等待直到所述序列结束为止。不重设所述编程电压信号,而是如所描述使其不断递增。可在所述序列结束时将单元的位线电压设定为适度高的值并使用正在进行中的编程电压信号平缓地编程所述存储器单元。 
在编程一组存储器单元的一个实施例中,当检验所述存储器单元已达到其目标阈值电压电平时,将所述存储器单元锁定。针对尚未达到其目标阈值电压电平的存储器单元持续编程时,所述已锁定单元不经受进一步检验。当所有或预定数目的存储器单元已达到其目标阈值电压电平时,再次针对所有存储器单元执行检验。如果任何单元已降到低于其目标阈值电压电平,那么所述单元此时可经受进一步编程。可将编程电压重设(为其起始值或较低起始值以避免过度编程)以将这些单元平缓地重新编程为其目标阈值电压电平。或者,编程电压可持续增加并向正在经受进一步编程的单元的位线施加一电压以避免过度编程所述单元。 
以上实例是相对于NAND型快闪存储器提供的。然而,本发明的原理可应用于其它类型的非易失性存储器,包括那些当前现有的非易失性存储器以及那些预期使用正在开发的新技术的非易失性存储器。在一个实施例中,结合NOR型存储器使用本文所描述的技术。在NOR存储器中,在编程期间沟道区域并不增压,因此,在编程操作期间在控制栅极与浮动栅极之间可存在更高电位。采用热电子注入来编程典型NOR快闪存储器。施加高漏极与栅极电压。如先前针对NAND型存储器所描述,使栅极电压步进。检 测到先前已经检验但随后降到低于其最后检验电平的NOR存储器单元之后,可施加稍许低的漏极电压,同时仍向栅极施加相同编程电压。降低的漏极电压可允许将单元平缓地编程为重新高于所述检验电平。在另一实施例中,将编程电压信号重设为处于或低于页编程序列结束时所使用与施加的初始值。 
如先前所描述,本发明还可应用于利用电介质电荷存储区域的装置。在这些装置中,可能因疏忽而以与从传导浮动栅极中汲取电子的方式类似的方式从电介质电荷存储区域中汲取电子。例如,可结合NROM单元(其具有用于存储电荷的介电层而不是浮动栅极)使用所描述的检验和编程技术。第5,768,192号与第6,011,725号美国专利(其全文以引用的方式并入本文中)揭示具有夹于两个二氧化硅层之间的捕获介电层的此类非易失性存储器单元。 
已出于说明和描述的目的而呈现了本发明的以上详细描述。其并不希望为详尽的或将本发明限于所揭示的精确形式。鉴于上述教示,许多修改和变化是可能的。选择所描述的实施例以便最佳地阐述本发明的原理及其实践应用,借此使所属领域的技术人员能够在各种实施例中最佳地利用本发明并作出适合于所预期的特定用途的各种修改。希望本发明的范围由附于此的权利要求书界定。 

Claims (27)

1.一种编程非易失性存储器的方法,其包含:
编程一组非易失性存储元件,其中所述组的每一非易失性存储元件预期编程为一个或一个以上目标状态中的一者;
针对达到对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件,抑制编程;
针对达到对应于其编程预期要达到的所述目标状态的个别检验电平且随后降到低于所述对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件,启用第一速率的编程;以及
针对尚未达到对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件,启用第二速率的编程。
2.根据权利要求1所述的方法,其中:
抑制编程包括向达到所述对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件的位线施加编程抑制电压;
启用第一速率的编程包括向达到所述对应于其编程预期要达到的所述目标状态的个别检验电平且随后降到低于所述对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件的位线施加第一编程启用电压;以及
启用第二速率的编程包括向尚未达到所述对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件的位线施加第二编程启用电压,所述第二编程启用电压低于所述第一编程启用电压。
3.根据权利要求1所述的方法,其进一步包含:
检验当所述组的预定数目的非易失性存储元件每一者均达到所述对应于其编程预期要达到的所述目标状态的个别检验电平时,所述编程是成功的。
4.根据权利要求1所述的方法,其中:
所述一个或一个以上目标状态包括至少一第一目标状态与一第二目标状态,第一检验电平对应于所述第一目标状态,且第二检验电平对应于所述第二目标状态;以及
所述抑制包括抑制对达到所述第一检验电平的每一预期编程为所述第一目标状态的非易失性存储元件的编程,和抑制对达到所述第二检验电平的每一预期编程为所述第二目标状态的非易失性存储元件的编程。
5.根据权利要求1所述的方法,其中:
在完成对所述组中除了达到所述对应于其编程预期要达到的所述目标状态的个别检验电平且随后降到低于所述对应于其编程预期要达到的所述目标状态的个别检验电平的所述每一非易失性存储元件以外的每个非易失性存储元件的编程之后,执行所述启用第一速率的编程。
6.根据权利要求5所述的方法,其中:
完成编程包括确定所述组中除了所述每一非易失性存储元件以外的预定数目的所述每个非易失性存储元件每一者均已达到所述对应于其编程预期要达到的所述目标状态的个别检验电平。
7.根据权利要求1所述的方法,其中所述启用第一速率的编程包含:
在第一时间确定一子组非易失性存储元件每一者具有处于或高于对应于其编程预期要达到的所述目标状态的目标阈值电压电平的阈值电压;
在稍后时间确定所述子组中的一个或一个以上非易失性存储元件每一者具有低于所述对应于其编程预期要达到的所述目标状态的目标阈值电压电平的阈值电压;
启用对所述一个或一个以上非易失性存储元件的所述第一速率的编程。
8.根据权利要求7所述的方法,其中
所述编程一组非易失性存储元件包括施加一系列编程电压脉冲;
所述在稍后时间确定包括在施加所述系列的第一电压脉冲之后进行确定;以及
所述启用所述第一速率的编程包括在紧跟在所述第一电压脉冲之后的下一电压脉冲期间启用对所述一个或一个以上非易失性存储元件的所述第一速率的编程,所述下一电压脉冲大于所述第一电压脉冲。
9.根据权利要求1所述的方法,其中:
编程所述一组非易失性存储元件包含编程第一页数据。
10.根据权利要求1所述的方法,其中:
编程所述一组非易失性存储元件包含编程第一页数据和第二页数据。
11.根据权利要求1所述的方法,其中:
所述组的非易失性存储元件耦合到连续位线。
12.根据权利要求1所述的方法,其中:
所述组的非易失性存储元件耦合到一组位线中的每隔一个位线。
13.根据权利要求1所述的方法,其中:
所述组的非易失性存储元件是快闪存储器装置。
14.根据权利要求1所述的方法,其中:
所述组的非易失性存储元件是NAND快闪存储器装置。
15.根据权利要求1所述的方法,其中:
所述组的非易失性存储元件是多状态快闪存储器装置。
16.根据权利要求1所述的方法,其中:
所述组的所述非易失性存储元件是NOR快闪存储器装置。
17.根据权利要求1所述的方法,其中:
抑制对达到个别检验电平的每一非易失性存储元件的编程包含抑制对已确定具有处于或高于对应于其编程预期要达到的所述目标状态的个别检验阈值电压电平的阈值电压的每一非易失性存储元件的编程。
18.根据权利要求1所述的方法,其中:
所述一个或一个以上目标状态包括擦除状态;以及
所述编程包括抑制对预期编程为所述擦除状态的每一非易失性存储元件的编程。
19.一种非易失性存储器系统,其包含:
一组非易失性存储元件;
多个位线,其中所述组中的每一非易失性存储元件与一个位线通信;
管理电路,其与所述一组非易失性存储元件和所述多个位线通信,所述管理电路在所述组中的每一非易失性存储元件预期编程为一个或一个以上目标状态中的一者的过程中编程所述一组非易失性存储元件,所述管理电路向达到对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件的位线施加第一电压,所述管理电路向达到对应于其编程预期要达到的所述目标状态的个别检验电平且随后确定不再处于或高于所述个别检验电平的每一非易失性存储元件的位线施加第二电压,所述管理电路向尚未达到对应于其编程预期要达到的所述目标状态的个别检验电平的每一非易失性存储元件的位线施加第三电压。
20.根据权利要求19所述的非易失性存储器系统,其中:
在完成对除了达到所述对应于其编程预期要达到的所述目标状态的个别检验电平且随后确定不再处于或高于所述个别检验电平的所述每一非易失性存储元件以外的每个非易失性存储元件的编程之后,所述管理电路施加所述第二电压。
21.根据权利要求19所述的非易失性存储器系统,其中:
所述管理电路施加所述第一电压以抑制对确定已达到所述对应于其编程预期要达到的所述目标状态的个别检验电平的所述每一非易失性存储元件的编程;
所述管理电路施加所述第二电压以启用对达到所述对应于其编程预期要达到的所述目标状态的个别检验电平且随后确定不再处于或高于所述个别检验电平的所述每一非易失性存储元件的编程;以及
所述管理电路施加所述第三电压以启用对尚未达到所述对应于其编程预期要达到的所述目标状态的个别检验电平的所述每一非易失性存储元件的编程。
22.根据权利要求19所述的非易失性存储器系统,其中:
所述第二电压大于所述第三电压;
所述管理电路施加所述第二电压以针对达到所述对应于其编程预期要达到的所述目标状态的个别检验电平且随后确定不再处于或高于所述个别检验电平的所述每一非易失性存储元件以第一速率启用编程;以及
所述管理电路施加所述第三电压以针对尚未达到所述对应于其编程预期要达到的所述目标状态的个别检验电平的所述每一非易失性存储元件以第二速率启用编程,所述第一速率比所述第二速率慢。
23.根据权利要求19所述的非易失性存储器系统,其中:
所述第一电压是编程抑制电压;
所述第二电压是第一编程启用电压;
所述第三电压是第二编程启用电压,所述第三电压比所述第二电压低。
24.根据权利要求19所述的非易失性存储器系统,其中:
所述管理电路针对所述一组非易失性存储元件编程第一页数据。
25.根据权利要求19所述的非易失性存储器系统,其中:
所述组的非易失性存储元件耦合到所述多个位线中的连续位线。
26.根据权利要求19所述的非易失性存储器系统,其中:
所述组的非易失性存储元件是NAND多状态快闪存储器装置。
27.根据权利要求19所述的非易失性存储器系统,其中:
所述管理电路包括一列控制电路和四个数据寄存器。
CN2006800499653A 2005-12-29 2006-12-27 在非易失性存储器写入操作中的持续检验的方法及装置 Expired - Fee Related CN101351849B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/322,001 2005-12-29
US11/322,011 2005-12-29
US11/322,001 US7352629B2 (en) 2005-12-29 2005-12-29 Systems for continued verification in non-volatile memory write operations
US11/322,011 US7307887B2 (en) 2005-12-29 2005-12-29 Continued verification in non-volatile memory write operations
PCT/US2006/049220 WO2007079062A1 (en) 2005-12-29 2006-12-27 Continued verification in non-volatile memory write operations

Publications (2)

Publication Number Publication Date
CN101351849A CN101351849A (zh) 2009-01-21
CN101351849B true CN101351849B (zh) 2012-09-19

Family

ID=38224188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800499653A Expired - Fee Related CN101351849B (zh) 2005-12-29 2006-12-27 在非易失性存储器写入操作中的持续检验的方法及装置

Country Status (2)

Country Link
US (1) US7307887B2 (zh)
CN (1) CN101351849B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104952475A (zh) * 2014-03-28 2015-09-30 华邦电子股份有限公司 快闪存储器及其编程方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7436713B2 (en) * 2006-04-12 2008-10-14 Sandisk Corporation Reducing the impact of program disturb
US7515463B2 (en) * 2006-04-12 2009-04-07 Sandisk Corporation Reducing the impact of program disturb during read
US7426137B2 (en) * 2006-04-12 2008-09-16 Sandisk Corporation Apparatus for reducing the impact of program disturb during read
US7499326B2 (en) * 2006-04-12 2009-03-03 Sandisk Corporation Apparatus for reducing the impact of program disturb
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7916544B2 (en) * 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
US8130552B2 (en) * 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
US8174895B2 (en) * 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
US8248850B2 (en) * 2010-01-28 2012-08-21 Sandisk Technologies Inc. Data recovery for non-volatile memory based on count of data state-specific fails
JP2011258260A (ja) * 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
US8374031B2 (en) * 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
US8385132B2 (en) 2010-12-22 2013-02-26 Sandisk Technologies Inc. Alternate bit line bias during programming to reduce channel to floating gate coupling in memory
KR101775429B1 (ko) 2011-01-04 2017-09-06 삼성전자 주식회사 비휘발성 메모리 소자 및 이의 프로그램 방법
JP2011204356A (ja) * 2011-07-19 2011-10-13 Toshiba Corp 不揮発性半導体記憶装置
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
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
KR20150091684A (ko) * 2014-02-03 2015-08-12 에스케이하이닉스 주식회사 반도체 장치
KR20160047667A (ko) * 2014-10-22 2016-05-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9875805B2 (en) 2015-01-23 2018-01-23 Sandisk Technologies Llc Double lockout in non-volatile memory
JP2017054567A (ja) * 2015-09-10 2017-03-16 株式会社東芝 半導体記憶装置
JP6783682B2 (ja) * 2017-02-27 2020-11-11 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP2018156714A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 半導体記憶装置
EP3864655B1 (en) * 2018-12-07 2024-03-27 Yangtze Memory Technologies Co., Ltd. Method for programming memory system
CN111951857B (zh) * 2019-05-15 2023-06-09 兆易创新科技集团股份有限公司 一种非易失性存储器的编程方法及控制装置
KR20210033713A (ko) * 2019-09-19 2021-03-29 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005073981A1 (en) * 2004-01-21 2005-08-11 Sandisk Corporation Programming non-volatile memory

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62188100A (ja) 1986-02-13 1987-08-17 Mitsubishi Electric Corp 紫外線消去型プログラマブルromの書込方法
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0617363B1 (en) 1989-04-13 2000-01-26 SanDisk Corporation Defective cell substitution in EEprom array
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
KR0172401B1 (ko) 1995-12-07 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 장치
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US6031760A (en) 1997-07-29 2000-02-29 Kabushiki Kaisha Toshiba Semiconductor memory device and method of programming the same
FR2816751A1 (fr) 2000-11-15 2002-05-17 St Microelectronics Sa Memoire flash effacable par page
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6621741B2 (en) 2002-01-30 2003-09-16 Fujitsu Limited System for programming verification
US6781884B2 (en) 2002-03-11 2004-08-24 Fujitsu Limited System for setting memory voltage threshold
US6781877B2 (en) 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US6940753B2 (en) 2002-09-24 2005-09-06 Sandisk Corporation Highly compact non-volatile memory and method therefor with space-efficient data registers
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
JP3889699B2 (ja) 2002-11-29 2007-03-07 株式会社東芝 不揮発性半導体記憶装置及びそのデータ書き込み方法
US6839281B2 (en) * 2003-04-14 2005-01-04 Jian Chen Read and erase verify methods and circuits suitable for low voltage non-volatile memories
US6914823B2 (en) 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US7139198B2 (en) 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7057939B2 (en) 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005073981A1 (en) * 2004-01-21 2005-08-11 Sandisk Corporation Programming non-volatile memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104952475A (zh) * 2014-03-28 2015-09-30 华邦电子股份有限公司 快闪存储器及其编程方法
CN104952475B (zh) * 2014-03-28 2017-11-03 华邦电子股份有限公司 快闪存储器及其编程方法

Also Published As

Publication number Publication date
US20070153594A1 (en) 2007-07-05
US7307887B2 (en) 2007-12-11
CN101351849A (zh) 2009-01-21

Similar Documents

Publication Publication Date Title
CN101351849B (zh) 在非易失性存储器写入操作中的持续检验的方法及装置
CN101366091B (zh) 多状态非易失性存储器的编程方法
CN102549673B (zh) 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程
CN101356587B (zh) 用于对具有减少的编程干扰的nand类型的非易失性存储器进行编程的以末为先模式
CN102160118B (zh) 非易失性存储器阵列的最后字线的数据保持的改进
EP2446441B1 (en) Reduced programming pulse width for enhanced channel boosting in non-volatile storage
EP2446443B1 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
EP2332147B1 (en) Multi-pass programming for memory with reduced data storage requirement
CN101405814B (zh) 使用不同电压的用于非易失性存储装置的检验操作
EP2748819B1 (en) Read compensation for partially programmed blocks of non-volatile storage
CN101371314B (zh) 减少非易失性存储装置的读取干扰
CN101371315B (zh) 对显示位线耦合的非易失性存储器进行受控编程的方法
KR101428767B1 (ko) 비휘발성 저장소자의 판독 동작 동안에 파워 소모의 감소
CN102005244A (zh) 非易失性存储的可变编程
EP1946323B1 (en) Method for programming of multi-state non-volatile memory using smart verify
CN102906820A (zh) 用同步耦合编程非易失性存储器
CN102385924A (zh) 借助非易失性存储器的循环的开始编程电压偏移
CN101802925B (zh) 控制门线架构
CN101317235B (zh) 用于具有定时信息的反向耦合效应的方法和系统
CN101627443A (zh) 通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元
WO2007058846A1 (en) Reverse coupling effect with timing information
KR100984563B1 (ko) 프로그램 혼란이 감소된 nand 타입 비휘발성 메모리의최종-최초 모드 및 프로그래밍 방법
KR20090089348A (ko) 다중 부스팅 모드들을 이용하여 비휘발성 메모리에서 프로그램 디스터브를 감소시키는 방법

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 CORP.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20121228

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

Effective date of registration: 20121228

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: California, USA

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: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

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

Granted publication date: 20120919

Termination date: 20211227

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