CN1926637B - 非易失性存储器及其编程方法 - Google Patents

非易失性存储器及其编程方法 Download PDF

Info

Publication number
CN1926637B
CN1926637B CN2005800064905A CN200580006490A CN1926637B CN 1926637 B CN1926637 B CN 1926637B CN 2005800064905 A CN2005800064905 A CN 2005800064905A CN 200580006490 A CN200580006490 A CN 200580006490A CN 1926637 B CN1926637 B CN 1926637B
Authority
CN
China
Prior art keywords
programming
volatile memory
memory device
verification threshold
programming operation
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.)
Active
Application number
CN2005800064905A
Other languages
English (en)
Other versions
CN1926637A (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.)
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 CN1926637A publication Critical patent/CN1926637A/zh
Application granted granted Critical
Publication of CN1926637B publication Critical patent/CN1926637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Abstract

对一组非易失性存储元件实施一个或一个以上编程操作。举例而言,所述编程操作可包括施加一组编程脉冲。实施一验证过程以确定所述非易失性存储元件中哪些已达到一中间验证阈值但尚未达到一最终验证阈值。在一降低的电平处对所述已达到所述中间验证阈值但未达到所述最终验证阈值的非易失性存储元件实施一个额外编程操作,然后禁止那些非易失性存储元件的进一步编程。尚未达到所述中间验证阈值的非易失性存储元件将继续编程。达到所述最终验证阈值的非易失性存储元件则被禁止编程。

Description

非易失性存储器及其编程方法
技术领域
本发明一般而言涉及用于对存储装置进行编程的技术。
背景技术
半导体存储装置愈来愈普遍地用于各种电子装置中。举例而言,非易失性半导体存储器可用于蜂窝式电话、数码相机、个人数字助理、移动计算装置、非移动计算装置及其它装置中。电可擦除可编程只读存储器(EEPROM)及快闪存储器即是最受欢迎的非易失性半导体存储器。
典型的EEPROM及快闪存储器利用具有一浮动栅极的存储单元,所述浮动栅极设置于一半导体衬底中的一通道区上并与所述通道区隔离。所述通道区位于源极区与漏极区之间的一p-阱中。一控制栅极设置于浮动栅极上并与浮动栅极隔离。存储单元的阈电压受浮动栅极上所保持的电荷量控制。换句话说,浮动栅极上的电荷电平决定在接通存储单元以容许其源极与漏极之间导通之前必须施加至控制栅极的最小电压量。
某些EEPROM及快闪存储器装置具有一用于存储两个电荷范围的浮动栅极,且因此可在两种状态之间编程/擦除所述存储单元。多位或多状态快闪存储单元是通过标识一装置内多个不同阈电压范围来构建的。每一不同的阈电压范围均对应于所述一组数据位的预定值。编程到存储单元内的数据与存储单元的阈电压电平之间的具体关系取决于针对存储单元所采用的数据编码方案。举例而言,美国专利第6,222,762号及2003年6月13日提出申请的美国专利申请案第10/461,244号“Tracking Cells For AMemory System”即阐述多种用于多状态快闪存储单元的数据编码方案,所述两个专利申请案者的全文均以引用方式并入本文中。为实现多状态单元的正确数据存储,多状态存储单元的多个阈电压电平范围之间应所述此间隔开足够的裕量,以便能够以清晰的方式编程或擦除存储单元的电平。
当对EEPROM或快闪存储装置进行编程时,将一编程电压施加至控制栅极并将位线接地。来自通道的电子被注入所述浮动栅极。当电子积聚于浮动栅极中时,浮动栅极变成带负电荷且所述存储单元的阈电压升高。
通常,如图1所示,编程电压Vpgm是作为一系列脉冲施加至控制栅极。所述脉冲的幅值随每一连续脉冲增大一预定步长(例如0.2伏特)。在所述脉冲之间的周期内,实施验证操作。换句话说,在每一编程脉冲之间读取正被并行编程的一组单元中每一
当如图2中所述实施编程时,在编程速度与编程精度之间存在一折衷。编程精度与在编程过程后所编程存储单元的阈电压分布相关。阈电压分布愈紧密,愈容易清晰地读取存储单元。对于多状态存储单元而言,对紧密阈电压分布的需要更为重要,因为读取过程需要清晰地识别不同阈电压分布。为获得紧密阈电压分布,使用一较小的步长来编程电压Vpgm。然而,采用较小的步长会减慢编程过程。
图3绘示对传统编程方法的一改良。图3的方法是将图1的编程电压信号Vpgm施加至拟编程的存储单元的控制栅极。于所述编程脉冲之间,实施验证操作。如果正被编程的存储单元的阈电压小于Vver2,则在位线电压保持低电压(例如0伏特)的情况下继续对所述单元进行编程。而如果所述存储单元的阈电压高于Vver2且低于Vver1,则施加一中间位线电压(例如1伏特)。中间位线电压的结果是,因为由每一编程脉冲所引起的阈电压偏移将减小,所以通道电压将升高(例如1伏特)且对所述存储单元的编程将减慢。所述位线将保持在所述中间位线电压达数个脉冲,直至所述存储单元的阈电压达到最终目标Vver1。当存储单元的阈电压达到Vver1时,位线将升高以阻止进一步编程(例如,通过将位线电压升至Vinhibit(例如Vdd))。
采用图3的方法会比采用图2的方法产生更窄的编程阈电压分布,因为一旦阈电压接近目标值(例如当阈电压高于Vvere2且低于Vver1时),阈电压的每脉冲偏移量即会减小。然而,图3的编程方法的速度能得到改进,因为由于中间位线偏压减慢了存储单元的编程,因而可能需要多个额外的脉冲(例如通常为2至3个脉冲)方可完成所述编程过程。
先前存储器系统的另一间题涉及功率。许多先前系统使用3伏特的Vdd。使用一更低的Vdd是有利的,因为更低的Vdd使存储器系统能够使用更少的功率。如果存储器系统使用更少的功率,则主机装置(例如数码相机)将会具有更长的电池寿命。如果Vdd降低(例如降至1.8伏特),则存储单元可能不能使用一1伏特的中间位线电压。举例而言,于一具有一选择栅极晶体管的NAND链中(参见下文论述),如果将更低的Vdd(例如1.8伏特)施加至选择栅极晶体管的栅极以接通所述选择栅极晶体管,那么所述1伏特位线电压可能不会完全传递至所述选择晶体管的源极侧。可传递至源极侧的电压取决于所述选择栅极晶体管的阈电压。如果(举例而言)选择栅极具有1.2伏特的阈电压,那么所述选择栅极的源极侧处的电压将仅会达到0.6伏特-1.8伏特(栅极电压)-1.2V(阈电压)。可通过降低选择栅极晶体管的阈电压使1伏特传递至源极侧;然而,此时在选择栅极关断(选择栅极处为0伏特)的情况下,所述晶体管的泄漏会增大。另一解决方案是将选择栅极的栅极电压升高至(例如)2.4伏特,然而,在那种情况下,于编程期间,当在一所谓的自增强操作期间将1.8伏特施加至位线且所选NAND串下的通道区被增强至一高电压时,可能会发生自通道区朝位线的泄漏。
发明内容
本发明概略地说是关于用于对一存储器装置进行编程的技术。更具体而言,本发明提供一种更快且会产生一更紧密阈电压分布的编程方法。于某些实施例中,所述经改良的编程方法是使用一更低的中间位线电压,藉此允许使用一更低的Vdd。
本发明的一实施例包括:对一非易失性存储元件执行一个或多个编程操作;确定所述非易失性存储元件已达到一中间验证阈值,响应所述确定步骤以一降低的电平对所述非易失性存储元件仅执行一个额外编程操作;及无论所述非易失性存储元件响应所述一个额外编程操作发生如何变化,均在执行所述额外编程操作后禁止所述非易失性存储元件的编程。于一例示性实施方案中,所述编程方法包括:施加一组其幅值随时间增大的脉冲至正被编程的存储单元的控制栅极,其中上文所提及的每一编程操作均包括施加一个脉冲。于其它实施例中,一编程操作可根据特定的存储器技术而包括一不同于施加一脉冲的操作。举例而言,可利用脉冲以外的程序信号,其中包括增大的信号(具有或不具有固定增量大小)或不增大的信号。
本发明的另一实施例包括:对一非易失性存储元件执行编程操作,其中所述编程操作包括以一增量大小升高编程电压;确定所述非易失性存储元件已达到一组中间验证阈值中的一特定中间验证阈值;响应所述确定步骤对所述非易失性存储元件执行一个额外编程操作;无论所述非易失性存储元件响应所述一个额外编程操作发生如何变化,均于执行所述一个额外编程操作后禁止所述非易失性存储元件的编程。所述一个额外编程操作以所述增量大小的一分数改变所述非挥性存储元件的阈电压,其中所述分数的大小取决于已确定达到哪一中间验证阈值。
于某些实施例中,可具有一个以上(例如两个、三个或更多个)中间阈值。
一例示性实施方案包括一非易失性存储元件阵列及一与所述非易失性存储元件通信的控制电路。所述控制电路:致使所述非易失性存储元件执行一个或多个编程操作;确定哪一非易失性存储元件达到一中间验证阈值但尚未达到一最终验证阈值;致使以一降低的电平对所述已达到中间验证阈值但尚未达到最终验证阈值的非易失性存储元件执行一个额外编程操作;在所述一个额外编程操作后,自动禁止所述已达到中间验证阈值的非易失性存储元件的编程;及继续对尚未达到中间验证阈值的非易失性存储元件进行编程。
本发明的另一实施例包括:形成一非易失性存储元件阵列;为一编程过程设定一最终验证阈值并为所述编程过程设定一中间验证阈值,以便在一组一个或多个非易失性存储元件达到中间验证阈值后,一个编程操作将使所述一组一个或多个非易失性存储元件达到所述最终验证阈值。
从下文结合图式阐述本发明较佳实施例的说明中,将更清晰地得知本发明的这些及其它目的及优点。
附图说明
图1绘示一编程电压信号。
图2绘示阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。
图3绘示阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。
图4是一NAND串的俯视图。
图5是所述NAND串的等效电路图。
图6是所述NAND串的截面图。
图7是一其中实施本发明的各种态样的非易失性存储器系统的实施例的方块图。
图8显示一存储器阵列的组织的实例。
图9绘示列控制电路的一部分。
图10绘示多状态存储单元的存储单元阈值分布。
图11绘示阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。
图12是一流程图,其说明一种使用本发明的概念来编程存储器的方法。
图13是一流程图,其说明一种用于根据本发明的各种实施例进行编程的方法。
图14是一流程图,其说明一种用于根据本发明的各种实施例来编程一逻辑页面的方法。
图15绘示阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。
图16绘示阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。
具体实施方式
一适合实施本发明的快闪存储器系统的一实例使用NAND结构,其包括在两个选择栅极之间串联布置多个晶体管。所述串联晶体管及选择栅极被称作一NAND串。图4是一显示一NAND串的俯视图。图5是其一等效电路。图4及图5所绘示的NAND串包括四个串联且夹在一第一选择栅极120与一第二选择栅极122之间的晶体管100、102、104及106。选择栅极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。于一实施例中,晶体管100、102、104及106均是存储单元。于其它实施例中,存储单元可包括多个晶体管,或者可不同于图4及图5所绘示的情况。
图6提供上述NAND串的截面图。如图6所示,NAND串的晶体管形成于p-阱区140中。每一晶体管均包括一由控制栅极(100CG、102CG、104CG及106CG)及浮动栅极(100FG、102FG、104FG及106FG)组成的堆叠栅极结构。所述浮动栅极形成于一氧化物膜顶上的p-阱表面上。控制栅极位于浮动栅极上,其中一多晶硅间介电层将控制栅极与浮动栅极隔离开。注意,图6看似绘示晶体管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串的一共用源极线。
注意,虽然图4-6显示NAND串中的四个存储单元,但使用四个晶体管仅作为实例提供。一NAND串可具有少于四个存储单元或多于四个存储单元。举例而言,某些NAND串将包括8个存储单元、16个存储单元、32个存储单元等。本文的论述并不限于一NAND串中存储单元的特定数量。
每一存储单元均可存储以模拟形式或数字形式表示的数据。当存储一个数字数据位时,将存储单元的可能阈电压范围划分为被指配逻辑数据“1”及“0”的两个范围。于一NAND型快闪存储器的实例中,在存储单元被擦除后,电压阈值为负,并定义为逻辑“1”。而在编程操作后,阈电压为正,并定义为逻辑“0”。当阈电压为负并尝试一读取时,存储单元将接通以指示正存储逻辑1。而当阈电压为正且尝试一读取操作时,存储单元将不接通,此指示存储逻辑零。存储单元也可存储多个信息电平,举例而言,藉此存储多个数字数据位。在存储多个数据电平的情况下,将可能阈电压的范围划分成存储电平的数量。举例而言,如果存储四个信息电平,则将会存在指配给数据值“11”、“10”、“01”及“00”的四个阈电压范围。在一NAND型存储器的实例中,一擦除操作后的阈电压为负并定义为“11”。正阈电压用于状态“10”、“01”及“00”。
在下列美国专利/专利申请案中提供有NAND型快闪存储器及其操作的相关实例,所有这些美国专利/专利申请案的全文均以引用方式并入本文中:美国专利第5,570,315号;美国专利第5,774,397号;美国专利第6,046,935号;美国专利第5,386,422号;美国专利第6,456,528号及美国专利申请案第09/893,277号(公开号US2003/0002348)。关于编程NAND快闪存储器(包括自增强技术)的信息可见于:2003年3月5日提出申请且名称为“Self Boosting Technique”的美国专利申请案10/379,608;及2003年7月29日提出申请且名称为“Detecting Over ProgrammedMemory”的美国专利申请案10/629,068,所述两个申请案的全文均以引用方式并入本文中。本发明也可使用其它类型的快闪存储装置。举例而言,下列专利即阐述NOR型快闪存储器,这些专利的全文以引用方式并入本文中:美国专利第5,095,344号;第5,172,338号;第5,890,192号;及第6,151,248号。快闪存储器类型的另一实例见于美国专利第6,151,248号中,其全文以引用方式并入本文中。
图7是一可用于实施本发明的快闪存储器系统的一实施例的方块图。存储单元阵列302是由列控制电路304、行控制电路306、c-源极控制电路310及p-阱控制电路308来控制。列控制电路304连接至存储单元阵列302的位线以读取存储于存储单元中的数据、确定编程操作期间存储单元的状态、并控制位线的电位电平以促进编程或禁止编程。行控制电路306连接至字线以选择所述字线中一者、施加读取电压、施加编程电压及施加一擦除电压。C-源极控制电路310控制一连接至所述存储单元的共用源极线(在图8中标记为″C-源极″)。P-阱控制电路308控制p-阱电压。
存储于存储单元中的数据是由列控制电路304读出并经由数据输入/输出缓冲器312输出至外部I/O线。拟存储于存储单元中的编程数据则经由所述外部I/O线输入至数据输入/输出缓冲器312,并传送至列控制电路304。所述外部I/O线连接至控制器318。
用于控制快闪存储装置的命令数据是输入至控制器318。所述命令数据会通知快闪存储器已请求何种操作。所述输入命令传送至状态机316,由状态机316来控制列控制电路304、行控制电路306、c-源极控制电路310、p-阱控制电路308及数据输入/输出缓冲器312。状态机316也可输出快闪存储器的状态数据,例如READY/BUSY(准备就绪/忙)或PASS/FAIL(通过/失败)。
控制器318连接至或可连接一主机系统,例如个人计算机、数码相机、个人数字助理等。控制器318与所述主机进行通信,以自所述主机接收命令、自所述主机接收数据、提供数据至所述主机及提供状态信息至所述主机。控制器318将来自主机的命令转换成可由与状态机316通信的命令电路314解译及执行的命令信号。控制器318通常包含用于正写入或自存储器阵列读取的用户数据的缓冲存储器。
一个例示性存储器系统构成一个集成电路,所述集成电路包括控制器318、及一个或多个分别包含一存储器阵列及相关联控制电路、输入/输出电路及状态机电路的集成电路芯片。目前的趋势是将一系统的存储器阵列及控制电路一同集成于一个或多个集成电路芯片上。存储器系统可作为主机系统的一部分嵌入或者可包含于一以可拆卸方式插入主机系统内的记忆卡(或其它封装)中。此一可拆卸式卡可包括整个存储器系统(例如包括控制器)或仅包括所述存储器阵列及相关联外围电路(其中控制器嵌于主机中)。因此,可将控制器嵌于主机中或包含于一可拆卸式存储器系统内。
在某些实施方案中,可组合图7中的某些组件。在不同设计中,可将图7中除存储单元阵列302外的所有或某些组件视为多个控制电路或一个控制电路。
参考图8,其图解说明存储单元阵列302的例示性结构。作为一实例,其图解说明一分割成1,024个区块的NAND快闪EEPROM。存储于每一区块中的数据同时被擦除。在一实施例中,区块是同时被擦除的最小单元单位。在本实例中,在每一区块中,有划分成偶数列及奇数列的8,512个列。位线也划分成偶数位线(BLe)及奇数位线(BLo)。图8显示四个存储单元串联连接形成一NAND串。尽管图中显示每一NAND串中包含四个单元,然而,也可使用多于或少于四个存储单元。NAND串的一终端经由一第一选择晶体管SGD连接至对应位线,而另一终端经由一第二选择晶体管SGS连接至c-源极。
在读取和编程操作期间,同时选择4,256个存储单元。所选存储单元具有相同的字线及相同种类的位线(例如偶数位线或奇数位线)。因此,可同时读取或编程532个数据字节。这些同时被读取或编程的532个数据字节形成一逻辑页面。因此,一个区块可存储至少八个逻辑页面(四个字线,每一字线均具有奇数及偶数页面)。当每一存储单元存储两个数据位时(例如一多电平单元),一个区块存储16个逻辑页面。本发明也可使用其它大小的区块及页面。此外,也可使用除图7及8所示以外的架构来实施本发明。
存储单元是通过将p-阱升高至一擦除电压(例如20伏特)并将一所选区块的字线接地而被擦除。源极线及位线浮动。可对整个存储器阵列、单独的区块、或另一单元单位实施擦除。此时,电子会从浮动栅极转移至p-阱区,从而使阈电压变为负值。
在读取和验证操作中,选择栅极(SGD及SGS)及未选字线(例如WL0,WL1及WL3)升高至一读取通过电压(例如4.5伏特),以使晶体管作为通过栅极操作。所选字线(例如WL2)连接至一电压,所述电压的电平是针对每一读取及验证操作规定的,以便确定所关心存储单元的阈电压是否已达到此电平。举例而言,在对一两电平存储单元的读取操作中,可将所选字线WL2接地,以检测阈电压是否高于0伏特。在对一两电平存储单元的验证操作中,将所选字线WL2连接至0.8伏特(举例而言),以验证阈电压是否已达到至少0.8伏特。源极及p-阱处于零伏特。所选位线(BLe)预充电至一例如0.7伏特的电平。如果阈电压高于字线上的读取或验证电平,则所关心位线(BLe)的电位电平会因未导通的存储单元而保持高电平。另一方面,如果阈电压低于读取或验证电平,则所关心位线(BLe)的电位电平会因导通的存储单元(M)而降至一(例如)低于0.5伏特的低电平。因此,存储单元的状态是由一连接至位线的读出放大器来检测。
上述擦除、读取及验证操作是根据此项技术中已知的技术来实施。因此,所述领域的技术人员可改变所阐述细节中的许多细节。也可使用此项技术中已知的其它读取及验证技术。
图9是图7所示一部分列控制电路304的示意性方块图。于列控制电路304中,针对包括一偶数位线BLe及一奇数位线BLo在内的每两个位线设置一数据存储电路440。于列控制电路304中,为写入数据至存储单元及从存储单元读取数据,还给数据存储电路440布置一读出放大器。
一n-通道MOS晶体管442连接在数据存储电路440与偶数位线BLe之间以用于列选择。另一n-通道MOS晶体管444连接在数据存储电路440与奇数位线BLo之间以用于列选择。选择偶数位线BLe或奇数位线Blo中任一者来控制写入数据或读取数据的操作。更具体而言,当信号evenBL处于逻辑电平1且信号oddBL处于逻辑电平0时,使MOS晶体管442电导通以选择偶数位线BLe,由此将所述偶数位线BLe连接至数据存储电路440。另一方面,当信号evenBL处于逻辑电平0且oddBL处于逻辑电平1时,使晶体管444电导通以选择奇数位线BLo,由此将所述奇数位线BLo连接至数据存储电路440。注意,信号evenBL被施加至所有经由偶数位线连接的列选择用n-通道MOS晶体管;而信号oddBL被施加至所有连接至奇数位线的列选择用n-通道MOS晶体管。
每一数据存储电路440包括三个二进制数据存储区段DS1、DS2及DS3。存储区段DS1通过内部数据输入/输出线连接至数据输入/输出312,并存储拟写入的外部输入数据或拟向外部输出的读出数据。数据存储区段DS2存储一写入验证操作的检测结果,以用于于写入操作后确认一存储单元的阈值。数据存储区段DS3在正写入及/或正读取存储单元的数据时临时存储所述数据。于其它实施例中,所述数据存储区段也可具有其它功能。于不同的实施例中,DS1、DS2及DS3可以是一存储单元的若干部分、一或多个寄存器、或任何其它可存储信息的装置。于一实施例中,DS1、DS2及DS3均各自为一个位。于其它实施例中,DS1、DS2及DS3中的一个或多个可存储多个位。也可使用不同于图9所示的电路来控制位线。
注意,图9显示一偶数/奇数位线配置。然而,本发明也可与许多不同的位线配置共同使用,例如一其中每一位线均具有其自身的读出放大器及/或数据存储器的配置。于某些适用于实施本发明的配置中,一遍而非奇数及偶数遍编程所有位线。举例而言,参见于2002年9月24日申请的名称为“Highly Compact Non-Volatile Memory andMethod Thereof”的第10/254,483号美国专利申请案,其全文以引用方式并入本文中。
图10显示存储有两个数据位(例如四种数据状态)的存储单元的阈电压分布。于一实施例中,分布460代表处于擦除状态(例如存储“11”)的单元的阈电压分布,其具有负阈电压电平。分布462代表正存储“10”的单元的阈电压分布。分布464代表存储”00 」的存储单元的阈值电压分布。分布“466”代表正存储“01”的单元的阈电压分布。于其它实施例中,每一分布均可对应于除上述状态外的不同数据状态。另外,本发明也可用于存储两个以上位的存储单元。
于一实施方案中,可将一处于擦除状态的存储单元(分布460)编程为所述编程状态(分布462、464或466)中的任一状态。于另一实施例中,根据一两步骤方法来编程处于擦除状态的存储单元。于所述两步骤方法中,存储在一数据状态中的所述位的每一位均对应于一不同的逻辑页面。换句话说,存储于存储单元中的每一位均具有一属于一下逻辑页面及一上逻辑页面的不同逻辑页面地址。举例而言,于状态“10”中,对于下逻辑页面存储“0”,且对于上逻辑页面存储“1”。于一第一编程步骤中,根据拟编程至下逻辑页面内的位来设定所述单元的阈电压电平。如果所述位是逻辑“1”,则所述阈电压由于处于因先前已被擦除而处于合适状态而不发生改变。然而,如果拟将所述位编程为逻辑“0”,则所述单元的阈值电平会升高至处于阈电压分布462中。
于第二编程步骤中,根据正编程至上逻辑页面内的位来设定所述单元的阈电压电平。如果上逻辑页面位将是逻辑“1”,则不再进行进一步的编程,因为所述单元处于对应于阈电压分布460或462的状态之一中,而阈电压分布460或462二者均携带有一上页面位“1”。如果上逻辑页面位将是逻辑“0”,且第一步骤使所述单元保持在对应于阈值460的擦除状态,则所述编程方法的第二步骤会包括使所述阈电压升高至处于阈值分布466中。如果上逻辑页面位将是逻辑“0”,且因第一编程步骤所述单元已编程至对应于阈值分布462的状态,则所述编程方法的第二步骤会包括使所述阈电压升高至处于阈电压分布464内。所述两步骤方法仅是用于编程多状态存储器的方法的一实例。也可使用许多其它方法,包括一步骤方法或多于两步骤方法。虽然图8显示四种状态(两个位),但本发明也可与其它多状态结构共同使用,其中包括那些包含八种状态、十六种状态、三十二种状态及其它数量种状态的多状态结构。
图11阐释根据本发明一实施例的编程方法。图11显示阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。水平轴显示t1、t2、t3、t4及t5。所述时间中的每一时刻均对应于一在各编程脉冲之间执行的验证过程。图11所述方法可用于将一存储单元编程为多种状态中的任一状态,或者可用于编程一二进制存储单元。
当将一组类似于图1所示编程脉冲的编程脉冲施加至存储单元时,在时间t1与t2之间,所述存储单元的阈电压会如图11所示升高。于某些实施例中,在擦除之后、编程之前,初始阈电压将为一负阈电压。当存储单元的阈电压达到下部中间阈电压验证点Vver2时,位线电压会从0伏特升至中间电压V1。注意,图11显示阈电压在t2的后、t3之前变得大于Vver2。于所述时刻t3,将确定存储单元的阈电压高于Vver2。在确定所述阈电压高于Vver2后,将位线电压升至中间电压V1。于一实施例中,V1低于先前技术中所用中间电压。举例而言,某些实施例可使用0.4伏特或0.5伏特作为V1。本发明涵盖存储单元将使其位线处于V1持续恰好一个编程脉冲。于所述一个编程脉冲之后,位线将升高至禁止电压(例如Vdd)。因而,在阈电压达到Vver2后,编程过程将减慢长达一个编程脉冲,且在此后被禁止。通过减慢最后脉冲的编程过程,且由此减小所述最后脉冲的阈电压偏移量,所述编程方法将获得一更紧密的阈电压分布。另外,可使用更大的步长。举例而言,许多先前技术方法使用0.2伏特的步长用于Vpgm。本发明涵盖0.4伏特的步长。
于某些实施例中,电压V1的选择方式应使在下一编程脉冲期间存储单元的阈电压偏移量等于编程电压步长的一半。换句话说,如果编程电压步长为0.4伏特,则V1的选择应使存储单元的阈电压的偏移量等于0.2伏特。应以一适当方式选择Vver1与Vver2的值,以使得在阈电压达到Vver2后在一个额外编程脉冲之后,存储单元的阈电压偏移量应为Vver1或高于Vver1(目标值)。因此,于某些实施例中,应使Vver2与Vver1间隔开编程电压步长的一半(例如0.2伏特)。与图2所示方法相比,上述方法的优点是,所需的编程脉冲减少,从而使编程时间缩短。
图12是一流程图,其描述一种使用上文依据图11所述的概念来编程存储器的一般方法。于步骤500中,所述系统将接收命令及数据以编程所述存储器。于步骤502中,将执行初始化。举例而言,于某些实施例中,将于编程之前擦除存储单元。另外,某些已擦除的存储单元将经受一软编程过程,以使所有已擦除的存储单元均将具有一位于一狭窄擦除阈电压分布内的阈电压。另外,将状态寄存器初始化。于步骤504中,施加一编程脉冲。举例而言,处于适当NAND链中的晶体管的控制栅极使其控制栅极接收一编程脉冲。于步骤506中,将执行一验证操作,以测试存储单元,从而确定其阈电压是否已达到Vver2(参见图11)。于步骤508中,将执行一验证操作,以测试存储单元来确定其阈电压是否已达到Vver1(参见图11)。于一二进制存储单元中,将仅存在一个Vver1及一个Vver2。于一多状态存储单元中,每一状态均将具有其自身的Vver1及Vver2。于某些实施例中,对每一状态均将具有一组验证操作。因此,于一八状态存储单元中,将具有七组验证操作,所述组中的每一验证操作均具有一针对Vver2的验证程序及一针对Vver1的验证程序。
如果步骤506的验证过程成功,而步骤508的验证过程不成功(见步骤510),则认为存储单元的阈电压大于Vver2而小于Vver1。于此情况下,于步骤520中施加另一编程脉冲至存储单元。然而,以一降低的电平来施加所述编程脉冲。举例而言,于一实施例中,将所述存储器的位线如上所述升至中间电压V1。于另一实施例中,并不升高位线电压,而是可缩短所述存储单元的编程脉冲。一实施例包括在所述编程脉冲开始时于位线上施加Vdd。于所述编程脉冲期间,位线电压将自Vdd降至0伏特以允许实施某一编程。通常,所述编程脉冲是8-10微秒。于所述实施例中,减小的编程脉冲是5微秒。注意,步骤520仅包括施加一个脉冲至正被编程的存储单元。于施加所述一个脉冲之后,将于步骤522中锁闭所述存储单元,不再对其实施进一步编程。
如果步骤508的验证过程成功(见步骤510),则认为存储单元的阈电压大于Vver1,且于步骤512中,将锁闭存储单元,不再对其实施进一步编程。
如果步骤506的验证过程不成功,且步骤508的验证过程也不成功(见步骤5 10),则认为存储单元的阈电压小于Vver2。于所述种情况下,所述过程循环回步骤504以施加下一编程脉冲。
如上所述,一多状态存储单元可具有各种配置。于一实施例中,多状态存储单元将容许将已擦除状态编程为任一已编程状态。举例而言,参见图10,可将处于状态460的存储单元直接编程为状态462、464或466其中之一。于另一实施例中,存储单元可使用多个逻辑页面并可根据上述两步骤编程方法来编程。图13是一流程图,其描述一种如上所述编程一多逻辑页面存储单元中的下逻辑页面的方法的实例。具有更多位、更多逻辑页面、不同状态指配等的其它实施例也属于本发明的范畴内。可对图13所示方法做各种修改来适应阈值状态指配及编程方法的其它变化。图13所示方法也可与二进制存储单元一起使用。
于图13的步骤550中,所述操作开始于从主机接收一数据输入命令并将所述数据输入命令置于状态机中。于步骤522中,从主机接收地址数据并将其存储于状态机中,以选择拟用于写入操作的页面。于步骤554中,接收拟写入的数据并将其存储于DS1中。于步骤556中,从主机接收一写入命令并将所述写入命令置于所述状态机中。于一实施例中,在将写入命令存储于状态机中后,所述状态机自动开始后续步骤的操作。于步骤558中,将来自DS1的数据拷贝至DS2。于步骤560中,设定编程电压Vpgm的初始值(例如12伏特;然而,也可使用其它值)。另外,将编程计数器(PC)初始化为0。
于一实施例中,已擦除状态对应于逻辑数据1,且编程状态对应于逻辑数据0。因此,当将数据加载至DS1及DS2内时,如果将0加载至那些寄存器内,则所述存储单元将被编程。而如果将逻辑数据1加载至DS1及DS2内,则所述存储单元无需编程,因为其早已处于已擦除状态。在多状态存储单元在一两步骤编程方法中使用两个逻辑页面的实施例中,如果拟将下部状态自状态460变为状态462,则将0加载至DS1及DS2内。如果存储单元拟保持处于状态460,则将1加载至DS1及DS2中。
于步骤570中,确定DS1是否等于零及DS2是否等于0。如果是,则将位线设定为0伏特。此是其中存储单元将被编程至下一状态且阈电压低于Vver2的情形。
如果DS1等于0且DS2等于1,则将位线设定为V1,即中间位线电压。此是其中阈电压大于Vver2且小于Vver1的情形。
如果DS1等于1,则认为所述存储单元的阈电压高于Vver1。于此情况下,将位线设定为Vdd以禁止进一步的编程。
于步骤572中,将下一编程脉冲施加至所述存储单元的控制栅极上。于步骤574中,确定DS2是否等于1。如果是,则也将DS1设定为1。执行步骤574,以便在将DS2设定为1(因所述存储单元的阈电压高于Vver2但低于Vver1)后,存储单元仅将被编程另一个编程脉冲。于步骤576中,存储单元会经历一针对Vver2的验证过程。如果所述验证过程成功(因阈电压大于或等于Vver2),则将DS2设定为1。如果DS2早已为1,则其保持为1。于步骤578中,存储单元经历一针对Vver1的验证过程。如果所述验证过程通过(因阈电压已达到Vver1),则将DS1设定为1。如果DS1早已为1,则其将保持为1。于步骤580中,将编程电压增大所述步长。于一实施例中,步长是0.4伏特。因此,下一编程脉冲将较先前脉冲高0.4伏特。于另一实施例中,步长是0.2伏特或其它值。于步骤582中,使编程计数器递增1。于步骤584中,确定是否所有正编程的存储单元均使其DS1寄存器等于1。如果是,则所述编程过程即成功完成。如果否,则继续所述编程过程。于步骤586中,确定所述编程计数器是否小于20。如果否,则所述编程过程已失败。如果所述编程计数器小于20,则所述方法循环回步骤570。
于某些实施例中,未必将所述编程计数器与20相比较。对于两电平操作而言,其可低至4或5。对于多电平操作而言,对于下逻辑页面,其可约为12,对于上逻辑页面,其可约为16。所述值也取决于所用步长。于某些实施例中,如果所述编程计数器达到最大值,则编程过程未必失败。在编程计数器达到最大值后,系统会检查所述页面内有多少存储单元尚未达到所述验证电平。如果所述单元数量少于一特定值,例如1或更小,则仍可认为所述编程过程成功,因为可使用错误修正(例如ECC)来修正所述1个位。另外,于许多情况下,一未通过所述验证电压的单元仍可能具有足够高的阈电压以通过在一较低栅极电压下执行的正常读取操作。
如上所述,于一使用所述两个逻辑页面及所述两步骤编程方法的多状态存储单元的实施例中,状态460等于11,状态462等于10,状态464是00且状态466是01。于所述实施例中,图13所示方法用于将单元从状态11编程至状态10。图14所示方法用于将存储单元从状态11编程至状态01或从状态10编程至状态00。换句话说,图14是一流程图,其说明一将上页面数据写入存储单元的实施例的控制算法。
于图14的步骤620中,操作开始于当从主机接收数据输入命令并将所述数据输入命令置于状态机中时。于步骤622中,从主机接收地址数据并将其置于状态机中。于步骤624中,接收拟写入的数据并将其存储于DS1中。于步骤626中,从主机接收一写入命令并将其置于状态机中,此(于某些实施例中)会自动触发随后过程的开始。于步骤628中,将编程数据从DS1拷贝至DS2。于步骤630中,使用一处于状态11与状态10之间的读取比较点执行一状态10读取操作,以确定所述存储单元是处于状态11还是10。如果确定存储单元处于状态10,则将所述存储单元的DS3寄存器设定为1;否则,将DS3寄存器设定为0。于步骤632中,将编程电压初始设定为一位于16伏特-18伏特范围内的值(依据测试来确定);然而,也可使用其它初始电压。另外,将编程计数器初始设定为0。
于步骤640中,确定DS1寄存器及DS2寄存器是否均设定为0。如果是,则认为正被编程的存储单元的阈电压低于Vver2(其表示正被编程的适当状态),因此将所述位线设定为0伏特。
如果DS1设定为0且DS2设定为1,则认为存储单元的阈电压高于Vver2并低于Vver1;因此将位线设定为中间电压V1。
如果DS1设定为1,则认为所述存储单元的阈电压高于Vver1;因此,将位线电压设定为Vdd以禁止进一步的编程。于步骤642中,施加下一编程脉冲。于步骤644中,确定DS2寄存器是否设定为1。如果是,则也将DS1寄存器设定为1。步骤644用于确保在存储单元达到Vver2后仅再使用一个脉冲来编程所述存储单元。于步骤646中,针对状态00的Vver2实施一验证过程。如果DS3等于1且通过所述验证过程,则将DS2寄存器设定为1。于步骤648中,针对状态00的Vver1实施一编程验证过程。如果DS3设定为1并通过所述验证过程,则将DS1寄存器设定为1。于步骤650中,针对状态01的Vver2实施一验证过程。如果DS3寄存器设定为0且通过所述验证过程,则将DS1寄存器设定为1。于步骤652中,针对状态01的Vver1实施一验证过程。如果DS3寄存器设定为0并通过所述验证过程,则将DS1寄存器设定为1。于步骤654中,将编程电压升高一步长。
于某些实施例中,不执行步骤650。换句话说,为节省编程时间,系统仅检查最高已编程状态(例如状态01)的Vver1。于某些实施方案中,对于最高已编程状态(例如状态01)而言,可容许一更宽的阈电压分布。
于步骤656中,使编程计数器递增1。于步骤658中,确定是否所有正被编程的存储单元均将其DS1寄存器设定为1。如果是,则所述编程过程即已成功完成。否则,于步骤660中,确定编程计数器是否小于20。如果否,则所述编程过程失败。如果编程计数器小于20,则所述过程循环回步骤640。
注意,于上述实施例中,位线中间电压的选择方式使得下一编程脉冲期间的阈值偏移量等于步长的一半。于其它实施例中,所述偏移量可在任一方向上略有改变。Vver1与Vver2之间的差的选择方式使得一在时间tn恰好通过Vver2电平的单元具有一在时间tn+1恰好高于(于某些情况下接近)Vver1的阈电压。中间位线电压V1仅被施加至那些具有一高于Vver2但低于Vver1的阈电压(于某一特定时间点tn)的单元,且仅被施加长达一个编程脉冲。于所述一个编程脉冲之后,禁止进一步的编程。因此,于一制造过程期间,当根据图7形成一非易失性存储元件阵列及存储器系统时,设定用于一特定状态或所有状态的最终验证阈值(例如Vver1),并设定用于相关不同状态的中间验证阈值(例如Vver2),以使得在存储单元达到中间验证阈值后的一编程操作(例如一编程脉冲)后,存储单元将达到或几乎达到最终验证阈值。可能某些存储单元会达不到Vver1电平。按照上述方法,将不再使用额外编程脉冲来编程那些未达到Vver1电平的存储单元。未达到Vver1电平的原因可能是由于在Vver1及/或Vver2步骤期间的读取噪声或由于在最后编程脉冲期间阈电压偏移小于预期。因而,于某些情况下,一使用上述技术的特定存储单元可能使其阈电压恰好低于Vver1。
上述实施例涵盖两个验证点:一个最终验证点及一个中间验证点。本发明的另一实施例使用三个验证电平。于其它实施例中,可使用多于三个验证电平。
图15及16说明一使用三个验证电平的实施例。图15及图16二者均包括阈电压(Vth)与时间的关系曲线图及位线电压(Vb1)与时间的关系曲线图。于具有三个验证电平的实施例中,通过将位线电压升高至Vinhibit来完全禁止那些在验证操作期间阈电压高于目标电压Vver1的存储单元。通过在下一编程步骤期间施加一中间位线电压V1来减慢那些具有一介于Vver1与Vver2之间的阈电压的存储单元,并于此后完全禁止那些存储单元,以便仅实施一个其位线处于V1的编程脉冲。V1及Vver2的值的设定方式应使得于时间tn通过Vver2的单元将在时间tn+1达到或几乎达到Vver1。通过在下一编程步骤期间施加一中间位线电压V2来减慢那些在验证操作期间其阈电压处于Vver3与Vver2之间的存储单元,并于此后完全禁止那些存储单元,以便仅实施一个其位线处于V2的编程脉冲。V2及Vver3的值的设定方式应使得在时间tn恰好通过Vver3电平的单元将在时间tn+1达到或几乎达到Vver1电平。于所述实施例中,V2及V1的值的选择方式为:如果存储单元已恰好通过Vver2,则下一编程脉冲中的阈电压偏移量等于所述编程步骤的三分之一;如果存储器已刚好通过Vver3,则下一编程脉冲中的阈电压偏移量等于所述编程步骤的三分之二。
图15显示一被编程的存储单元,其编程方式使得存储单元的阈电压于t2与t3之间变得高于Vver2。阈电压于t2与t3之间也升高通过Vver3。因此,当在时间t3实施一验证过程时,会确定所述存储单元高于Vver2并低于Vver1。因此,位线电压升至中间电压V1达一个编程脉冲。于所述一个编程脉冲之后,位线电压升至Vinhibit,所述存储单元被锁闭而不再进一步编程。
图16的实例显示一其阈电压于t2与t3之间跨过Vver3的存储单元。当于时间t3实施一验证过程时,会确定所述存储单元的阈电压高于Vver3并低于Vver2;因此,存储单元的位线电压升至中间电压V2达一个脉冲。于所述一个编程脉冲之后,位线电压升至Vinhibit。
在具有更多验证电平的情况下,需要实施更多的验证操作。如果实施更多的验证操作,则编程过程所花时间更长。
与图3所示方法相比,本发明的一优点是,在升高位线电压后的一个编程脉冲之后,不需要额外的编程脉冲。因此,编程时间缩短。
与图2所示写入方法相比,由于所述编程方法的最后步骤实际上为半个步长,因此在保持相同阈电压分布时可使用一大得多的步长。由此,可减少所需编程脉冲的数量(例如在某些情况下减少至近50%)。
出于举证说明及描述的目的,上文已对本发明进行了详细说明。其并非意欲作为穷尽性说明或将本发明限定为所揭示的确切形式。根据上文的教示也可做出许多种修改及改变。所述实施例的选择旨在最佳地解释本发明的原理及其实际应用,藉以使其它所述领域的技术人员能够以适合于所构想具体应用的各种实施例形式及使用各种修改来最佳地利用本发明。本发明的范畴意欲由随附权利要求书来界定。

Claims (32)

1.一种用于对非易失性存储器进行编程的方法,其包括:
对一非易失性存储元件实施一个或一个以上编程操作;
确定所述非易失性存储元件已达到一中间验证阈值,所述中间验证阀值不同于一最终验证阈值;
响应于所述确定步骤,以一降低的电平对所述非易失性存储元件实施仅一个额外编程操作;及
无论所述非易失性存储元件的阈电压响应于所述一个额外编程操作发生如何变化,均在实施所述仅一个额外编程操作后禁止编程所述非易失性存储元件。
2.根据权利要求1所述的方法,其中:
所述一个或一个以上编程操作包括施加以一步长增大其幅值的编程脉冲;及
所述一个额外编程操作使所述非易失性存储元件的一阈电压改变一为所述步长一半的量。
3.根据权利要求1所述的方法,其中:
所述中间验证阈值比所述最终验证阈值低一量,以便在所述非易失性存储元件已达到所述中间验证阈值后所述一个额外编程操作将使所述非易失性存储元件达到所述最终验证阈值。
4.根据权利要求1所述的方法,其中:
所述一个或一个以上编程操作是在所述非易失性存储元件的一位线电压处于一编程电平时实施;
所述禁止编程所述非易失性存储元件是在所述非易失性存储元件的所述位线电压处于一禁止电平时实施;及
所述一个额外编程操作是在所述非易失性存储元件的所述位线电压处于一介于所述编程电平与所述禁止电平之间的中间电平时实施,所述非易失性存储元件的所述位线电压处于所述中间电平恰好长达一个编程操作。
5.根据权利要求1所述的方法,其中:
通过升高所述非易失性存储元件的一位线电压,以所述降低的电平实施所述一个额外编程操作。
6.根据权利要求1所述的方法,其中:
所述一个或一个以上编程操作包括施加编程脉冲;及
通过减小一用于所述一个额外编程操作的编程脉冲的宽度,以所述降低的电平实施所述一个额外编程操作。
7.根据权利要求1所述的方法,其中:
所述一个或一个以上编程操作包括施加编程脉冲;
所述实施仅一个额外编程操作的步骤包括施加一个编程脉冲;及
需要在施加所述一个编程脉冲后实施所述禁止步骤。
8.一种用于对非易失性存储器进行编程的方法,其包括:
对非易失性存储元件实施一个或一个以上编程操作;
确定所述非易失性存储元件中哪些达到一中间验证阈值但尚未达到一最终验证阈值;
以一降低的电平对所述已达到所述中间验证阈值但尚未达到所述最终验证阈值的非易失性存储元件实施一个额外编程操作;
对于所述已达到所述中间验证阈值但尚未达到一最终验证阈值的非易失性存储元件,在所述一个额外编程操作后自动禁止编程;及
继续对尚未达到所述中间验证阈值的非易失性存储元件进行编程。
9.根据权利要求8所述的方法,其中:
所述一个或一个以上编程操作包括施加以一步长增大其幅值的编程脉冲;及
对于所述已达到所述中间验证阈值但尚未达到所述最终验证阈值的非易失性存储元件,所述一个额外编程操作使阈电压改变一为所述步长一半的量。
10.根据权利要求8所述的方法,其中:
所述中间验证阈值比所述最终验证阈值低一量,以使得对于已达到所述中间验证阈值的非易失性存储元件来说,所述一个额外编程操作将使所述非易失性存储元件达到所述最终验证阈值。
11.根据权利要求8所述的方法,其中:
所述一个或一个以上编程操作是在所述非易失性存储元件的位线电压处于一编程电平范围时实施;
所述禁止编程是在位线电压处于一禁止电平时实施;及
所述一个额外编程操作是在位线电压处于一介于所述编程电平与所述禁止电平之间的中间电平时实施。
12.根据权利要求11所述的方法,其中:
所述一个或一个以上编程操作包括施加编程脉冲;
所述实施仅一个额外编程操作的步骤包括施加一个编程脉冲;及
需要在施加所述一个编程脉冲后实施所述禁止步骤。
13.根据权利要求8所述的方法,其中:
所述一个或一个以上编程操作包括施加编程脉冲;
所述实施仅一个额外编程操作的步骤包括施加一个编程脉冲;及
需要在施加所述一个编程脉冲后实施所述禁止步骤。
14.根据权利要求8所述的方法,其中:
所述一个或一个以上编程操作包括施加编程脉冲;及
通过减小一用于所述一个额外编程操作的编程脉冲的一宽度,以所述降低的电平实施所述一个额外编程操作。
15.一种非易失性存储系统,其包括:
用于对非易失性存储元件实施一个或一个以上编程操作的装置;
用于确定所述非易失性存储元件中哪些达到一中间验证阈值但尚未达到一最终验证阈值的装置;
用于以一降低的电平对所述已达到所述中间验证阈值但尚未达到所述最终验证阈值的非易失性存储元件实施一个额外编程操作的装置;
对于所述已达到所述中间验证阈值但尚未达到一最终验证阈值的非易失性存储元件,用于在所述一个额外编程操作后自动禁止编程的装置;及
用于继续对尚未达到所述中间验证阈值的非易失性存储元件进行编程的装置。
16.根据权利要求15所述的非易失性存储器系统,其中:
所述一个或一个以上编程操作包括以一步长增大其幅值的编程脉冲;及
对于所述已达到所述中间验证阈值但尚未达到所述最终验证阈值的非易失性存储元件,所述一个额外编程操作使阈电压改变一为所述步长一半的量。
17.根据权利要求15所述的非易失性存储系统,其中:
所述一个或一个以上编程操作是在所述非易失性存储元件的位线电压处于一编程电平范围时实施;
所述禁止编程是在位线电压处于一禁止电平范围时实施;及
所述一个额外编程操作是在位线电压处于一介于所述编程电平范围与所述禁止电平范围之间的中间电平范围时实施。
18.根据权利要求15所述的非易失性存储系统,其中:
所述一个或一个以上编程操作包括施加编程脉冲;及
所述一个额外编程操作包括施加一个编程脉冲。
19.一种用于对非易失性存储器进行编程的方法,其包括:
对一非易失性存储元件实施编程操作,所述编程操作包括一增大编程电压,所述增大编程电压具有一增量大小;
确定所述非易失性存储元件已达到一组一个或一个以上中间验证阈值中的一特定中间验证阈值;
响应于所述确定步骤,对所述非易失性存储元件实施一个额外编程操作,所述一个额外编程操作使所述非易失性存储元件的一阈电压改变所述增量大小的一分数,其中所述分数的大小取决于已确定要达到所述中间验证阈值中的哪一中间验证阈值;及
在实施所述一个额外编程操作之后,禁止编程所述非易失性存储元件,需要在所述一个额外编程操作之后且在其它额外编程操作之前实施所述禁止步骤。
20.根据权利要求19所述的方法,其中:
所述增量大小的所述分数是所述增量大小的一半,及
所述一个或一个以上中间验证阈值组包括一个中间验证阈值。
21.根据权利要求19所述的方法,其中:
所述增量大小的所述分数是所述增量大小的三分之一;及
所述中间验证阈值组包括两个中间验证阈值。
22.根据权利要求19所述的方法,其中:
所述增量大小的所述分数是所述增量大小的三分之二;及
所述中间验证阈值组包括两个中间验证阈值。
23.根据权利要求19所述的方法,其中:
所述中间验证阈值组包括三个或更三个以上中间验证阈值。
24.根据权利要求19所述的方法,其中:
所述编程操作是在所述非易失性存储元件的一位线电压处于一编程电平时实施;
所述禁止编程是在所述位线电压处于一禁止电平时实施;及
所述一个额外编程操作是在所述位线电压处于一介于所述编程电平与所述禁止电平之间的中间电平时实施。
25.根据权利要求19所述的方法,其中:
所述一个或一个以上编程操作包括施加编程脉冲;
所述一个额外编程操作包括施加一个编程脉冲;及
需要在施加所述一个编程脉冲后实施所述禁止。
26.一种非易失性存储系统,其包括:
用于对一非易失性存储元件实施编程操作的装置,所述编程操作包括一增大编程电压,所述增大编程电压具有一增量大小;
用于确定所述非易失性存储元件已达到一组一个或一个以上中间验证阈值中的一特定中间验证阈值的装置;
用于响应于所述确定步骤,对所述非易失性存储元件实施一个额外编程操作的装置,所述一个额外编程操作使所述非易失性存储元件的一阈电压改变所述增量大小的一分数,其中所述分数的大小取决于已确定要达到所述中间验证阈值中的哪一中间验证阈值;及
用于在实施所述一个额外编程操作之后,禁止编程所述非易失性存储元件的装置,所述禁止需要在所述一个额外编程操作之后且在其它额外编程操作之前实施。
27.根据权利要求26所述的非易失性存储系统,其中:
所述编程操作是在所述非易失性存储元件的位线电压处于一编程电平范围时实施;
所述禁止编程是在所述位线电压处于一禁止电平范围时实施;及
所述一个额外编程操作是在所述位线电压处于一介于所述编程电平范围与所述禁止电平范围之间的中间电平范围时实施。
28.根据权利要求26所述的非易失性存储系统,其中:
所述编程操作包括施加编程脉冲;及
所述一个额外编程操作包括施加一个编程脉冲。
29.一种用于对非易失性存储器进行编程的方法,其包括:
对一非易失性存储元件实施一个或一个以上编程操作;
确定所述非易失性存储元件已达到一中间验证阈值;及
响应于所述确定步骤,对所述非易失性存储元件实施恰好一个额外编程操作,所述中间验证阈值相对于一最终验证阈值定位以使得所述一个额外编程操作用来使所述非易失性存储元件达到所述最终验证阈值。
30.一种用于创建一非易失性存储器系统的方法,其包括:
创建一非易失性存储元件阵列;
为一编程过程设定一最终验证阈值;及
为所述编程过程设定一中间验证阈值,以在一组一个或一个以上非易失性存储元件达到所述中间验证阈值之后,一个编程操作将使所述一个或一个以上非易失性存储元件组达到所述最终验证阈值。
31.根据权利要求30所述的方法,其中:
所述编程过程包括一组编程操作;
每一编程操作均包括施加一编程脉冲,以使所述编程过程包括一组以一步长增大其幅值的编程脉冲;及
所述最终验证阈值与所述中间验证阈值相差所述步长的一分数。
32.根据权利要求30所述的方法,其中:
所述编程过程包括一组编程操作;
每一编程操作均包括施加一编程脉冲,以使所述编程过程包括一组以一步长增大其幅值的编程脉冲;及
所述最终验证阈值与所述中间验证阈值相差所述步长的一半。
CN2005800064905A 2004-01-21 2005-01-10 非易失性存储器及其编程方法 Active CN1926637B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/761,620 2004-01-21
US10/761,620 US6888758B1 (en) 2004-01-21 2004-01-21 Programming non-volatile memory
PCT/US2005/000666 WO2005073981A1 (en) 2004-01-21 2005-01-10 Programming non-volatile memory

Publications (2)

Publication Number Publication Date
CN1926637A CN1926637A (zh) 2007-03-07
CN1926637B true CN1926637B (zh) 2010-08-18

Family

ID=34523281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800064905A Active CN1926637B (zh) 2004-01-21 2005-01-10 非易失性存储器及其编程方法

Country Status (9)

Country Link
US (2) US6888758B1 (zh)
EP (2) EP1711950B1 (zh)
JP (1) JP4490977B2 (zh)
KR (1) KR100751579B1 (zh)
CN (1) CN1926637B (zh)
AT (2) ATE492883T1 (zh)
DE (2) DE602005025540D1 (zh)
TW (1) TWI256644B (zh)
WO (1) WO2005073981A1 (zh)

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US6963508B1 (en) * 2004-04-22 2005-11-08 Fuja Shone Operation method for non-volatile memory
US7023733B2 (en) * 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
US7242620B2 (en) * 2004-10-05 2007-07-10 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and an operation method thereof
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
EP1891644B1 (en) * 2005-06-15 2009-02-11 Micron Technology, Inc. Selective slow programming convergence in a flash memory device
ITRM20050310A1 (it) * 2005-06-15 2006-12-16 Micron Technology Inc Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash.
US7656710B1 (en) 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
ATE521972T1 (de) * 2005-08-01 2011-09-15 Sandisk Corp Programmierung eines nicht-flüchtigen speichers mit selbst-regulierender maximaler programmschleife
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop
US7023737B1 (en) 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
US7170788B1 (en) 2005-09-09 2007-01-30 Sandisk Corporation Last-first mode and apparatus for programming of non-volatile memory with reduced program disturb
US7218552B1 (en) 2005-09-09 2007-05-15 Sandisk Corporation Last-first mode and method for programming of non-volatile memory with reduced program disturb
US7180780B1 (en) * 2005-11-17 2007-02-20 Macronix International Co., Ltd. Multi-level-cell programming methods of non-volatile memories
KR100966357B1 (ko) * 2005-12-19 2010-06-28 샌디스크 코포레이션 수정된 패스 전압들을 사용하여 프로그램 디스터브가감소한 비-휘발성 메모리를 프로그래밍하는 방법
US7352629B2 (en) * 2005-12-29 2008-04-01 Sandisk Corporation Systems for continued verification in non-volatile memory write operations
US7349260B2 (en) * 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
EP1971984B1 (en) * 2005-12-29 2011-03-02 Sandisk Corporation Continued verification in non-volatile memory write operations
US7443726B2 (en) * 2005-12-29 2008-10-28 Sandisk Corporation Systems for alternate row-based reading and writing for non-volatile memory
US7307887B2 (en) * 2005-12-29 2007-12-11 Sandisk Corporation Continued verification in non-volatile memory write operations
US7436733B2 (en) * 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
US7499319B2 (en) * 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
US7426137B2 (en) 2006-04-12 2008-09-16 Sandisk Corporation Apparatus for reducing the impact of program disturb during read
US7515463B2 (en) 2006-04-12 2009-04-07 Sandisk Corporation 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
US7436713B2 (en) 2006-04-12 2008-10-14 Sandisk Corporation Reducing the impact of program disturb
US7440322B2 (en) * 2006-04-20 2008-10-21 Sandisk Corporation Method and system for flash memory devices
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US7440331B2 (en) * 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for non-volatile storage using different voltages
US7457163B2 (en) * 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
WO2008097320A2 (en) * 2006-06-01 2008-08-14 Virginia Tech Intellectual Properties, Inc. Premixing injector for gas turbine engines
US7450421B2 (en) * 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
US7310272B1 (en) * 2006-06-02 2007-12-18 Sandisk Corporation System for performing data pattern sensitivity compensation using different voltage
EP1865513A1 (en) * 2006-06-07 2007-12-12 STMicroelectronics S.r.l. Nonvolatile memory device
WO2007149678A2 (en) * 2006-06-19 2007-12-27 Sandisk Corporation Programming defferently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US7352628B2 (en) * 2006-06-19 2008-04-01 Sandisk Corporation Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US7606084B2 (en) * 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
DE602006011451D1 (de) 2006-06-21 2010-02-11 Hynix Semiconductor Inc Verfahren und Vorrichtung zum elektrischen Programmieren von Halbleiterspeicherzellen
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7522454B2 (en) * 2006-07-20 2009-04-21 Sandisk Corporation Compensating for coupling based on sensing a neighbor using coupling
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7495953B2 (en) * 2006-07-20 2009-02-24 Sandisk Corporation System for configuring compensation
US7400535B2 (en) * 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
EP2047474B1 (en) * 2006-07-20 2010-06-30 Sandisk Corporation Floating gate memory with compensating for coupling during programming
US7506113B2 (en) * 2006-07-20 2009-03-17 Sandisk Corporation Method for configuring compensation
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
JP4997882B2 (ja) * 2006-09-05 2012-08-08 ソニー株式会社 不揮発性半導体記憶装置およびその書き込み方法
US7440326B2 (en) 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
US7599223B2 (en) * 2006-09-12 2009-10-06 Sandisk Corporation Non-volatile memory with linear estimation of initial programming voltage
US7961511B2 (en) * 2006-09-26 2011-06-14 Sandisk Corporation Hybrid programming methods and systems for non-volatile memory storage elements
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
EP2067142B1 (en) * 2006-10-30 2015-01-28 SanDisk Technologies Inc. Faster programming of highest multi-level state for non-volatile memory
US7596031B2 (en) 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
US7426139B2 (en) * 2006-11-02 2008-09-16 Macronix International Co., Ltd. Dynamic program and read adjustment for multi-level cell memory array
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7616506B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7616498B2 (en) * 2006-12-29 2009-11-10 Sandisk Corporation Non-volatile storage system with resistance sensing and compensation
US7495962B2 (en) * 2006-12-29 2009-02-24 Sandisk Corporation Alternating read mode
US7440324B2 (en) * 2006-12-29 2008-10-21 Sandisk Corporation Apparatus with alternating read mode
US7590002B2 (en) * 2006-12-29 2009-09-15 Sandisk Corporation Resistance sensing and compensation for non-volatile storage
US7590007B2 (en) * 2007-01-11 2009-09-15 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
KR100816161B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US7660166B2 (en) * 2007-01-31 2010-02-09 Sandisk Il Ltd. Method of improving programming precision in flash memory
KR101147522B1 (ko) 2007-02-20 2012-05-21 샌디스크 테크놀로지스, 인코포레이티드 임계전압 분포에 기반한 동적 검증
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
ITRM20070167A1 (it) * 2007-03-27 2008-09-29 Micron Technology Inc Non-volatile multilevel memory cell programming
US7729165B2 (en) * 2007-03-29 2010-06-01 Flashsilicon, Incorporation Self-adaptive and self-calibrated multiple-level non-volatile memories
KR100927119B1 (ko) * 2007-05-10 2009-11-18 삼성전자주식회사 불 휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR100888823B1 (ko) * 2007-06-27 2009-03-17 삼성전자주식회사 비휘발성 메모리 시스템, 및 비휘발성 메모리 시스템의프로그램 방법
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7599224B2 (en) * 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
JP4560073B2 (ja) * 2007-09-18 2010-10-13 株式会社東芝 不揮発性半導体記憶装置
US7746704B1 (en) * 2007-09-21 2010-06-29 Marvell International Ltd. Program-and-erase method for multilevel nonvolatile memory
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
JP4640658B2 (ja) * 2008-02-15 2011-03-02 マイクロン テクノロジー, インク. マルチレベル抑制スキーム
ITRM20080114A1 (it) * 2008-02-29 2009-09-01 Micron Technology Inc Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria.
KR101412974B1 (ko) 2008-05-28 2014-06-30 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
WO2009151894A1 (en) * 2008-06-12 2009-12-17 Sandisk Corporation Nonvolatile memory and method with index programming and reduced verify
US7813172B2 (en) 2008-06-12 2010-10-12 Sandisk Corporation Nonvolatile memory with correlated multiple pass programming
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8064252B2 (en) * 2008-11-21 2011-11-22 Micron Technology, Inc. Multi-pass programming in a memory device
US7839690B2 (en) * 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
US7974133B2 (en) 2009-01-06 2011-07-05 Sandisk Technologies Inc. Robust sensing circuit and method
JP5468023B2 (ja) * 2009-02-06 2014-04-09 パナソニック株式会社 不揮発性半導体メモリ
US8223551B2 (en) * 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
JP2010211883A (ja) * 2009-03-11 2010-09-24 Toshiba Corp 不揮発性半導体記憶装置
US7907449B2 (en) 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8054691B2 (en) * 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
JP2011014179A (ja) 2009-06-30 2011-01-20 Toshiba Corp 不揮発性半導体記憶装置
KR101626548B1 (ko) * 2009-07-15 2016-06-01 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR101634340B1 (ko) * 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8473809B2 (en) 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US8223556B2 (en) * 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
KR101676816B1 (ko) * 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2011198419A (ja) * 2010-03-19 2011-10-06 Toshiba Corp 不揮発性半導体記憶装置およびその書き込み方法
US8130551B2 (en) 2010-03-31 2012-03-06 Sandisk Technologies Inc. Extra dummy erase pulses after shallow erase-verify to avoid sensing deep erased threshold voltage
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8208310B2 (en) 2010-05-04 2012-06-26 Sandisk Technologies Inc. Mitigating channel coupling effects during sensing of non-volatile storage elements
US8737117B2 (en) * 2010-05-05 2014-05-27 Qualcomm Incorporated System and method to read a memory cell with a complementary metal-oxide-semiconductor (CMOS) read transistor
KR101656384B1 (ko) * 2010-06-10 2016-09-12 삼성전자주식회사 불휘발성 메모리 장치의 데이터 기입 방법
US8819503B2 (en) 2010-07-02 2014-08-26 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737136B2 (en) 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8537623B2 (en) 2011-07-07 2013-09-17 Micron Technology, Inc. Devices and methods of programming memory cells
JP2011204356A (ja) * 2011-07-19 2011-10-13 Toshiba Corp 不揮発性半導体記憶装置
US8811075B2 (en) * 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US9195586B2 (en) 2012-02-23 2015-11-24 Hgst Technologies Santa Ana, Inc. Determining bias information for offsetting operating variations in memory cells based on wordline address
US8830745B2 (en) * 2012-07-17 2014-09-09 Sandisk Technologies Inc. Memory system with unverified program step
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US9747977B2 (en) * 2013-03-14 2017-08-29 Intel Corporation Methods and systems for verifying cell programming in phase change memory
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
WO2014210424A2 (en) 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
US9230677B2 (en) 2013-07-25 2016-01-05 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
KR102118979B1 (ko) 2013-09-13 2020-06-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9613704B2 (en) 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
US9767894B2 (en) 2014-06-09 2017-09-19 Micron Technology, Inc. Programming memories with stepped programming pulses
US9324419B2 (en) 2014-07-15 2016-04-26 Sandisk Technologies Inc. Multiple pass programming for memory with different program pulse widths
US9343141B2 (en) 2014-07-15 2016-05-17 Sandisk Technologies Inc. Reprogramming memory with single program pulse per data state
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9875805B2 (en) * 2015-01-23 2018-01-23 Sandisk Technologies Llc Double lockout in non-volatile memory
KR20160108770A (ko) 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9672920B2 (en) * 2015-03-13 2017-06-06 Macronix International Co., Ltd. Electronic device, non-volatile memorty device, and programming method
US9548130B2 (en) 2015-04-08 2017-01-17 Sandisk Technologies Llc Non-volatile memory with prior state sensing
US9570179B2 (en) 2015-04-22 2017-02-14 Sandisk Technologies Llc Non-volatile memory with two phased programming
US9437319B1 (en) * 2015-06-25 2016-09-06 Macronix International Co., Ltd. Method for programming non-volatile memory with reduced bit line interference and associated device
CN106486162B (zh) * 2015-08-27 2019-07-23 旺宏电子股份有限公司 存储阵列的编程方法
KR102503169B1 (ko) * 2015-11-03 2023-02-24 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102437591B1 (ko) 2015-12-03 2022-08-30 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법
US10248499B2 (en) 2016-06-24 2019-04-02 Sandisk Technologies Llc Non-volatile storage system using two pass programming with bit error control
US10134479B2 (en) 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
US10553301B2 (en) 2017-06-03 2020-02-04 Sandisk Technologies Llc Dynamic read table block filter
US10614898B1 (en) 2018-09-19 2020-04-07 Sandisk Technologies Llc Adaptive control of memory cell programming voltage
WO2020150935A1 (en) * 2019-01-23 2020-07-30 Yangtze Memory Technologies Co., Ltd. Method for programming memory system
CN110140174B (zh) * 2019-03-26 2021-02-19 长江存储科技有限责任公司 用于通过施加多个位线偏置电压在非易失性存储器器件中编程的方法
US10811111B1 (en) 2019-03-26 2020-10-20 Yangtze Memory Technologies Co., Ltd. Non-volatile memory device and method for programming in non-volatile memory device by applying multiple bitline bias voltages
US10910076B2 (en) 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
CN110619916A (zh) * 2019-08-12 2019-12-27 长江存储科技有限责任公司 存储器编程方法、装置、电子设备及可读存储介质
US11527291B2 (en) * 2020-02-14 2022-12-13 Micron Technology, Inc Performing a program operation based on a high voltage pulse to securely erase data
US11049578B1 (en) 2020-02-19 2021-06-29 Sandisk Technologies Llc Non-volatile memory with program verify skip
US11594293B2 (en) 2020-07-10 2023-02-28 Samsung Electronics Co., Ltd. Memory device with conditional skip of verify operation during write and operating method thereof
WO2022086703A1 (en) * 2020-10-19 2022-04-28 Rambus Inc. Flash memory device with photon assisted programming
US11532370B1 (en) 2021-05-25 2022-12-20 Sandisk Technologies Llc Non-volatile memory with fast multi-level program verify

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0877386A1 (en) * 1997-05-09 1998-11-11 STMicroelectronics S.r.l. Method and device for analog programming of non-volatile memory cells, in particular flash memory cells
US6343033B1 (en) * 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming
CN1339160A (zh) * 1999-02-01 2002-03-06 株式会社日立制作所 半导体集成电路和非易失性存储器元件

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220531A (en) 1991-01-02 1993-06-15 Information Storage Devices, Inc. Source follower storage cell and improved method and apparatus for iterative write for integrated circuit analog signal recording and playback
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US5412601A (en) 1992-08-31 1995-05-02 Nippon Steel Corporation Non-volatile semiconductor memory device capable of storing multi-value data in each memory cell
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3476952B2 (ja) 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
JP3730272B2 (ja) 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
DE69421925T2 (de) 1994-09-30 2000-03-16 St Microelectronics Srl Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts
JPH09251782A (ja) 1996-03-14 1997-09-22 Fujitsu Ltd 半導体記憶装置
US5712815A (en) 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
JP3414587B2 (ja) * 1996-06-06 2003-06-09 株式会社東芝 不揮発性半導体記憶装置
JP3481817B2 (ja) 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
JP3906545B2 (ja) * 1998-02-03 2007-04-18 ソニー株式会社 不揮発性半導体記憶装置
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6128224A (en) * 1998-07-29 2000-10-03 Motorola, Inc. Method and apparatus for writing an erasable non-volatile memory
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6301161B1 (en) 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6424566B1 (en) 2001-02-08 2002-07-23 Advanced Micro Devices, Inc. Program reconnaissance to eliminate variations in vt distributions of multi-level cell flash memory designs
US6738289B2 (en) 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6456533B1 (en) * 2001-02-28 2002-09-24 Advanced Micro Devices, Inc. Higher program VT and faster programming rates based on improved erase methods
JP2002319286A (ja) * 2001-04-19 2002-10-31 Hitachi Ltd 不揮発性記憶装置および記憶システム
US6532172B2 (en) 2001-05-31 2003-03-11 Sandisk Corporation Steering gate and bit line segmentation in non-volatile memories
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
US6529412B1 (en) 2002-01-16 2003-03-04 Advanced Micro Devices, Inc. Source side sensing scheme for virtual ground read of flash eprom array with adjacent bit precharge
TWI292914B (zh) * 2002-01-17 2008-01-21 Macronix Int Co Ltd
US6747893B2 (en) * 2002-03-14 2004-06-08 Intel Corporation Storing data in non-volatile memory devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0877386A1 (en) * 1997-05-09 1998-11-11 STMicroelectronics S.r.l. Method and device for analog programming of non-volatile memory cells, in particular flash memory cells
CN1339160A (zh) * 1999-02-01 2002-03-06 株式会社日立制作所 半导体集成电路和非易失性存储器元件
US6343033B1 (en) * 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming

Also Published As

Publication number Publication date
KR100751579B1 (ko) 2007-08-27
CN1926637A (zh) 2007-03-07
DE602005003924D1 (de) 2008-01-31
US6888758B1 (en) 2005-05-03
ATE492883T1 (de) 2011-01-15
TWI256644B (en) 2006-06-11
WO2005073981A1 (en) 2005-08-11
JP2007519161A (ja) 2007-07-12
JP4490977B2 (ja) 2010-06-30
ATE381762T1 (de) 2008-01-15
US7035146B2 (en) 2006-04-25
EP1881504A2 (en) 2008-01-23
US20050157552A1 (en) 2005-07-21
KR20070054594A (ko) 2007-05-29
DE602005003924T2 (de) 2008-12-18
DE602005025540D1 (de) 2011-02-03
EP1881504A3 (en) 2008-05-07
EP1711950A1 (en) 2006-10-18
EP1881504B1 (en) 2010-12-22
EP1711950B1 (en) 2007-12-19
TW200605087A (en) 2006-02-01

Similar Documents

Publication Publication Date Title
CN1926637B (zh) 非易失性存储器及其编程方法
CN1879175B (zh) 基于非易失性存储器单元的行为的编程方法
CN101057299B (zh) 对非易失性存储器的并行编程
CN100568392C (zh) 用于非易失性存储器的自升压技术
CN101584006B (zh) 非易失性存储器中的经分割的软编程
KR100909721B1 (ko) 오버 프로그래밍을 저감하는 고속 프로그래밍 시스템
CN102576566B (zh) 使用浮置位线对非易失性存储器的部分速度和全速度编程
US7352624B2 (en) Reduction of adjacent floating gate data pattern sensitivity
CN101199024B (zh) 利用改变字线条件来补偿较慢擦除的存储器单元以擦除非易失性存储器
CN101421794B (zh) 减少读取期间的编程干扰的影响
KR100948200B1 (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 CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120327

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

Effective date of registration: 20120327

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

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

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American Texas

Patentee before: Sandisk Corp.

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

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.