CN1930633B - 用于编程非易失性存储器的设备和方法 - Google Patents

用于编程非易失性存储器的设备和方法 Download PDF

Info

Publication number
CN1930633B
CN1930633B CN2005800073726A CN200580007372A CN1930633B CN 1930633 B CN1930633 B CN 1930633B CN 2005800073726 A CN2005800073726 A CN 2005800073726A CN 200580007372 A CN200580007372 A CN 200580007372A CN 1930633 B CN1930633 B CN 1930633B
Authority
CN
China
Prior art keywords
memory device
volatile memory
storage devices
switch
charge storage
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
CN2005800073726A
Other languages
English (en)
Other versions
CN1930633A (zh
Inventor
丹尼尔·C·古特曼
尼玛·穆赫莱斯
方玉品
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN1930633A publication Critical patent/CN1930633A/zh
Application granted granted Critical
Publication of CN1930633B publication Critical patent/CN1930633B/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/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/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/30Power supply circuits
    • 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
    • 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/5624Concurrent multilevel programming and programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

通过首先执行一粗略编程过程并随后执行一精细编程过程来编程一非易失性存储器装置。通过使用一有效的检验方案来增强所述粗略/精细编程方法,所述有效的检验方案允许为所述粗略编程过程检验一些非易失性存储器单元,而为所述精细编程过程检验其它非易失性存储器单元。可使用电流吸收、电荷包计量或其它适当方法来完成所述精细编程过程。

Description

用于编程非易失性存储器的设备和方法
本申请案涉及以下两个美国专利申请案:Daniel C.Guterman、Nima Mokhlesi和Yupin Fong的与本申请案同一天申请的“Efficient Verification For Coarse/FineProgramming Of Non-Volatile Memory”;和Daniel C.Guterman、Nima Mokhlesi和Yupin Fong的与本申请案同一天申请的“Variable Current Sinking For Coarse/FineProgramming Of Non-Volatile Memory”。以上所列的两个相关申请案的全文均以引用的方式并入本文中。 
技术领域
本发明针对非易失性存储器技术。 
背景技术
半导体存储器装置已变得更加普及地用于各种电子装置中。例如,非易失性半导体存储器用于蜂窝式电话、数码相机、个人数字助理、移动计算装置、非移动计算装置和其它装置中。电子可擦除可编程只读存储器(EEPROM)和快闪存储器是最普及的非易失性半导体存储器之一。 
EEPROM和快闪存储器均利用定位在半导体衬底中的沟道区上方并与半导体衬底中的沟道区绝缘的浮动栅极。浮动栅极定位在源极区与漏极区之间。控制栅极提供在浮动栅极上方并与浮动栅极绝缘。晶体管的阈值电压由保留在浮动栅极上的电荷量控制。也就是说,在晶体管接通之前必须施加到控制栅极以允许其源极与漏极之间的传导的电压的最小量由浮动栅极上的电荷电平控制。 
一些EEPROM和快闪存储器装置具有用来存储两个范围的电荷的浮动栅极,且因此,可在两个状态之间编程/擦除存储器单元。当编程EEPROM或快闪存储器装置时,通常将编程电压施加到控制栅极,且位线接地。来自沟道的电子注入到浮动栅极中。当电子聚集在浮动栅极中时,浮动栅极变得带有负电荷,且存储器单元的阈值电压升高。 
通常,施加到控制栅极的编程电压施加成一连串脉冲。脉冲的量值随着每一连续脉冲而增加预定的步距(例如,0.2v)。在脉冲之间的时段中,实施检验操作。也就是说,在连续编程脉冲之间读取并行编程的单元群组的每一单元的编程电平,以便确定其是否等于或大于其要编程达到的检验电平。一种检验编程方法是在特定比较点测试传导。通过将位线电压从0升高到Vdd(例如,2.5伏),将检验为经充分编程的单元锁定(例如)在NAND单元中,以便停止这些单元的编程过程。在一些情况下,脉冲的数目将受到限制(例如,20个脉冲),且如果给定的存储器单元未由上一脉冲完全编程,那么认为有错误。在一些实施方案中,在编程之前擦除(以区块或其它单位)存储器单元。关于编程的更多的信息可参阅2003年3月5日申请的标题为“Self Boosting Technique”的美国专利申请案10/379,608;和2003年7月29日申请的标题为“Detecting Over Programmed Memory”的美国专利申请案10/629,068,两个申请案的全文均以引用的方式并入本文中。 
图1展示施加到快闪存储器单元的控制栅极(或者,在一些情况下为操纵栅极)的编程电压信号Vpgm。编程电压信号Vpgm包含随时间而增加量值的一连串脉冲。在编程脉冲开始时,将要编程的所有单元的位线(例如,连接到漏极)接地,藉此产生从栅极到沟道的电压差Vpgm 0v。一旦单元达到目标电压(通过编程检验),则个别位线电压升高到Vdd,从而存储器单元处于编程抑制模式(例如,对于所述单元的编程停止)。 
通过识别由禁止电压范围(forbidden voltage range)分开的多个截然不同的允许阈值电压范围(allowed threshold voltage range)来实施多状态快闪存储器单元。例如,图2展示对应于三个位的数据的八个阈值范围(0、1、2、3、4、5、6、7)。其它存储器单元可使用多于八个阈值范围或少于八个阈值范围。每一截然不同的阈值电压范围对应于数据位集合的预定值。在一些实施方案中,使用格雷码(gray code)分配将这些数据值(例如,逻辑状态)分配到阈值范围,从而如果浮动栅极的阈值范围错误地转变为其相邻的实体状态,那么只有一个位将受到影响。编程到存储器单元中的数据与单元的阈值电压范围之间的特定关系取决于针对所述单元所采用的数据编码方案。例如,美国专利第6,222,762号和2003年6月13日申请的美国专利申请案第10/461,244号“Tracking Cells For A Memory System”描述多状态快闪存储器单元的各种数据编码方案,两者的全文均以引用的方式并入本文中。 
如上所述,当编程快闪存储器单元时,在编程脉冲之间检验存储器单元以判定其是否达到目标阈值。一种检验方法是对应于目标阈值在字线处施加脉冲,并确定 存储器单元是否接通。如果是,那么存储器单元已达到其目标阈值电压。对于快闪存储器单元阵列,并行地检验许多单元。对于多状态快闪存储器单元阵列,存储器单元将执行每一状态的检验步骤以确定存储器单元处于哪一状态。例如,能够以八个状态存储数据的多状态存储器单元可能需要执行七个比较点的检验操作。图3展示三个编程脉冲10a、10b和10c(图1中也描绘了其每一者)。编程脉冲之间为七个检验脉冲,以便执行七个检验操作。系统可基于七个检验操作来确定存储器单元的状态。 
在每一编程脉冲之后执行七个检验操作会减缓编程过程。一种减少检验的时间负担的方法是使用更有效的检验过程。例如,2002年12月5日申请的美国专利申请案序列号第10/314,055号“Smart Verify for Multi-State Memories”揭示了智能检验过程,所述专利申请案的全文以引用的方式并入本文中。在使用智能检验过程的编程/检验序列期间多状态存储器的写入序列的示范性实施例中,在过程开始时,在检验阶段期间仅检查选定存储器单元要编程达到的多状态范围中的最低状态(例如,图2的状态1)。一旦存储器单元的一者或一者以上达到第一存储状态(例如,图2的状态1),则将多状态序列中的下一状态(例如,图2的状态2)添加到检验过程。此下一状态可在最快的单元达到序列中的前述状态时立即添加,或者,因为存储器通常设计成具有若干编程步骤以便在状态之间移动,所以在若干周期的延迟之后进行添加。延迟量可固定或使用基于参数的实施方案,所述基于参数的实施方案允许根据装置特性来设定延迟量。根据上文,在检验阶段继续将状态添加到正被检查的集合中,直到已添加最高状态为止。类似地,随着要达到这些电平的所有的存储器单元成功地检验为那些目标值并被锁定而不进行进一步编程,可从检验集合中去除较低状态。 
除了以合理的速度编程以外,为了实现多状态单元的适当数据存储,多状态存储器单元的阈值电压电平的多个范围应彼此分开足够的余量(margin),从而可以明确的方式编程并读取存储器单元的电平。另外,推荐紧密阈值电压分布。为了实现紧密阈值电压分布,通常已使用小编程步骤(small program step),藉此更缓慢地编程单元的阈值电压。期望的阈值分布越紧密,则步骤越小,且编程过程越缓慢。 
一种实现紧密阈值分布而不会不合理地减缓编程过程的解决办法是使用两个阶段编程过程。第一阶段(粗略编程阶段)包含尝试以较快的方式升高阈值电压,并对于实现紧密阈值分布给予相对较少关注。第二阶段(精细编程阶段)尝试以较缓慢的方式升高阈值电压以便达到目标阈值电压,同时也实现较紧密的阈值分布。 粗略/精细编程方法的实例可参阅以下专利文献:2002年1月22日申请的美国专利申请案第10/051,372号“Non-Volatile Semiconductor Memory Device Adapted to StoreA Multi-Valued Data in a Single Memory Cell”;美国专利6,301,161;美国专利5,712,815;美国专利第5,220,531号;和美国专利第5,761,222号,前述专利文献的全文均以引用的方式并入本文中。当编程期间检验存储器单元时,一些现有解决办法将首先执行粗略模式的检验过程,且接着随后执行精细模式的检验过程。此种检验过程增加检验所需的时间。粗略/精细编程方法可与上述智能检验过程结合使用。 
随着存储器装置变得更小且更密集,对于较紧密的阈值分布和合理的编程时间的需求增加。尽管粗略/精细编程方法提供一些现有问题的解决办法,但需要进一步改进粗略/精细编程方法以便提供期望的较紧密的阈值分布和合理的编程时间。 
发明内容
本发明大体而言涉及非易失性存储器的技术。更明确地说,本文描述的技术可用来提供改进的粗略/精细编程方法。 
本发明的一个实施例包含一种用于编程非易失性存储元件的设备。所述设备包含与编程电路和一个或一个以上检验选择电路通信的非易失性存储元件。所述检验选择电路促使非易失性存储元件的第一子集经历粗略检验,同时非易失性存储元件的第二子集经历精细检验。 
本发明的一些实施例包含:读出电路(sense circuit),其与非易失性存储元件通信;编程模式指示电路,其基于读出电路而提供指示非易失性存储元件处于粗略编程模式还是精细编程模式的输出;和第一选择电路,其与编程模式指示电路通信。如果非易失性存储元件处于粗略编程模式,那么第一选择电路将粗略检验信号施加到非易失性存储元件,且如果非易失性存储元件处于精细编程模式,那么将精细检验信号施加到非易失性存储元件。 
在实施方案的一个实例中,所述设备执行一种包含确定非易失性存储元件是处于粗略编程模式还是精细编程模式的步骤的方法。如果确定非易失性存储元件处于粗略编程模式,那么对非易失性存储元件执行粗略检验,而不对非易失性存储元件执行精细检验。如果确定非易失性存储元件处于精细编程模式,那么对非易失性存储元件执行精细检验,而不对非易失性存储元件执行粗略检验。 
本发明的另一实施例包含具有栅极和一组控制端子的非易失性存储元件。所述 设备还包含与控制端子的至少一者通信的可切换电流吸收装置(switchable currentsinking device)。如果非易失性存储元件处于粗略编程模式,那么可切换电流吸收装置为控制端子提供粗略电流吸收,且如果非易失性存储元件处于精细编程模式,那么为控制端子提供精细电流吸收。在一些实施例中,在精细编程模式期间而不在粗略编程模式期间提供电流吸收。 
本发明的另一实施例包含:读出电路,其与非易失性存储元件通信;编程模式指示电路,其基于读出电路而提供指示非易失性存储元件是处于粗略编程模式还是精细编程模式的输出;和可切换电流吸收装置,其与编程模式指示电路和非易失性存储元件通信。如果非易失性存储元件处于粗略编程模式,那么可切换电流吸收装置为非易失性存储元件提供粗略电流吸收,且如果非易失性存储元件处于精细编程模式,那么为非易失性存储元件提供精细电流吸收。在一个实施例中,设备将把共同编程信号施加到非易失性存储元件的栅极,在粗略编程期间从非易失性存储元件吸收第一电流,确定非易失性存储元件的阈值电压已达到第一检验电平,并响应于确定非易失性存储元件的阈值电压是否已达到第一检验电平而切换吸收以便获取第二电流。 
本发明的另一实施例包含:读出电路,其与非易失性存储元件通信;编程模式指示电路,其基于读出电路而提供指示非易失性存储元件是处于粗略编程模式还是精细编程模式的输出;和可切换电荷包计量电路,其与编程模式指示电路和非易失性存储元件通信。可切换电荷包计量电路响应于编程模式指示电路指示非易失性存储元件处于精细编程模式而为非易失性存储元件提供经计量的电荷。 
本发明的又一实施例包含一组非易失性存储元件和与非易失性存储元件通信的可个别切换的电荷包计量系统。可个别切换的电荷包计量系统经个别地切换以便提供特定的经计量的电荷来以精细编程模式编程非易失性存储元件,而不提供所述特定的经计量的电荷来以粗略编程模式编程非易失性存储元件。一个实施例包含:对非易失性存储元件执行粗略编程过程;确定非易失性存储元件应切换为精细编程过程;和作为响应而执行精细编程过程。精细编程过程的一个实施方案包含预充电非易失性存储元件的控制线,和通过非易失性存储元件对控制线进行放电以便编程所述非易失性存储元件。 
从以下描述中将更清楚地了解本发明的这些和其它目的及优点,在以下描述中结合附图陈述本发明的优选实施例。 
附图说明
图1描绘用来编程非易失性存储器单元的编程电压的实例。 
图2描绘非易失性存储器装置的状态空间的实例。 
图3描绘用来编程快闪存储器单元的编程电压脉冲和编程脉冲之间的检验脉冲的实例。 
图4是可实施本发明的快闪存储器系统的一个实施例的方框图。 
图5是图4的系统的存储器单元阵列的一部分的一个实施例的平面图。 
图6是图5的存储器单元阵列在截面A-A处截取的局部横截面图。 
图7是图3的结构的电等效电路。 
图8是提供示范性电压来寻求一种操作存储器单元的方式的表。 
图9A包含阈值电压和位线电压对粗略/精细编程时间的曲线图。 
图9B包含阈值电压和位线电压对粗略/精细编程时间的替代曲线图。 
图10是描述编程非易失性存储器的过程的一个实施例的流程图。 
图11是描述执行粗略/精细检验的过程的一个实施例的流程图。 
图12是用来检验非易失性存储器单元的组件的方框图。 
图13是位线电压对读出时间的曲线图。 
图14是用来检验非易失性存储器单元的组件的替代方框图。 
图15是用来检验非易失性存储器单元的组件的替代方框图。 
图16是阈值电压对编程脉冲的曲线图。 
图17是使用电流吸收的第一实施例的非易失性存储器的示意图。 
图18是使用电流吸收的第二实施例的非易失性存储器的示意图。 
图19是描述使用电流吸收的粗略/精细编程过程的一个实施例的流程图。 
图20是使用电荷包计量的第一实施例的非易失性存储器的示意图。 
图21描绘电压对时间的曲线图。 
图22是描述使用电荷包计量的粗略/精细编程过程的一个实施例的流程图。 
图23是使用电荷包计量的第二实施例的非易失性存储器的示意图。 
图24是使用电荷包计量的第三实施例的非易失性存储器的示意图。 
图25是使用电荷包计量的第四实施例的非易失性存储器的示意图。 
具体实施方式
I.存储器系统
图4的方框图中大体上说明并入有本发明的各个方面的示范性存储器系统。除了图4的结构以外的结构也可用于本发明。大量可个别寻址的存储器单元11以行和列的阵列进行布置。沿着阵列11的列延伸的位线通过线15与位线解码器、驱动器和读出放大器电路13电连接。沿着阵列11的行延伸的字线通过线17而连接到字线解码器和驱动器电路19。沿着阵列11中存储器单元的列延伸的操纵栅极通过线23而连接到操纵栅极解码器和驱动器电路21。电路13、19和21的每一者通过总线25从控制器27接收地址。解码器和驱动电路13、19和21还通过各自的控制和状态信号线29、31和33而连接到控制器27。施加到操纵栅极和位线的电压通过使控制器与驱动器电路13与21互连的总线22而协调。在一些实施例中,控制器27包含状态机以协调本文描述的功能的性能。在其它实施例中,状态机与控制器分离地操作。 
控制器27可通过线35而连接到主机装置(未图示)。主机可为个人计算机、笔记本计算机、手持装置、数码相机、音频播放器、蜂窝式电话或各种其它装置。图4的存储器系统可根据若干现有的物理和电气标准中的一种而实施在卡上,所述标准例如,PCMCIA、CompactFlashTM协会、MMCTM协会、智能媒介(Smart Media)、Secure DigitalTM、记忆棒和其它标准之一。当处于卡格式时,线35终止于卡上的连接器中,所述连接器与主机装置的补充连接器连接。或者,图4的存储器系统可嵌入在主机装置中。在又一替代形式中,控制器27可嵌入在主机装置中,而存储器系统的其它组件处于抽取式卡上。在其它实施例中,存储器系统可被封装而不是在卡中。例如,存储器系统可在一个或一个以上集成电路、一个或一个以上电路板或其它封装中。 
解码器和驱动器电路13、19和21在阵列11的其各自的线中产生适当电压,如通过总线25而寻址,根据各自控制和状态线29、31和33中的控制信号来执行编程、读取和擦除功能。阵列11将包含电压电平和其它阵列参数的状态信号通过相同的控制和状态线29、31和33而提供给控制器27。电路13内的复数个读出放大器(sense amplifier)接收指示阵列11内寻址的存储器单元的状态的电流或电压电平。在读取操作期间,读出放大器向控制器27提供关于线41上的存储器单元的状态的信息。通常使用大量读出放大器以便能够并行地读出大量存储器单元的状态。 
II.存储器单元
图5是存储器阵列11的一部分的第一实施例的平面图。图6是存储器阵列在截 面A-A处截取的局部横截面图。为简化附图,以衬底与导电元件之间存在的介电层的少量细节来说明衬底与导电元件。然而,将了解,将在导电层本身,以及导电层与衬底之间包含适当的氧化物层。 
硅衬底45包含平坦顶部表面47。伸长的扩散49、51和53通过初始离子植入和后续扩散而穿过表面47形成到衬底45中。伸长的扩散49、51和53充当存储器单元的源极和漏极。为了提供此描述的规范,将扩散展示为在第一“x”方向上间隔开,长度在第二“y”方向上延伸。这些“x”和“y”方向本质上彼此垂直。衬底表面47上以行和列的阵列包含许多浮动栅极,其间有适当的栅极电介质。一行浮动栅极55、56、57、58、59、60与另一行浮动栅极62、63、64、65、66、67邻近并平行。一列浮动栅极69、55、62、71和73与一列浮动栅极75、56、63、77和79邻近并平行。浮动栅极由沉积在表面上的第一层导电掺杂多晶硅形成,并接着通过蚀刻使用一个或一个以上掩蔽步骤而分离成个别浮动栅极。 
位线解码器和驱动器电路13(参看图4)通过线15与阵列的所有位线源极/漏极扩散(包含图5的扩散49、51和53)连接。个别存储器单元的列的源极和漏极连接到适当的操作电压以便响应于总线25上供应的地址和线29上的控制信号来进行读取或编程。 
图5和图6的结构对于每两列浮动栅极使用一个操纵栅极。操纵栅极81、83和85在“y”方向上伸长,且宽度在“x”方向上延伸越过邻近的两列浮动栅极和定位在其间的源极/漏极扩散。操纵栅极的任何两者之间的间隔至少与“x”方向上由两个操纵栅极覆盖的邻近列的浮动栅极之间的间隔一样大,以便允许栅极稍后形成在此空间中的衬底处。操纵栅极通过蚀刻第二导电掺杂多晶硅层而形成,第二导电掺杂多晶硅层沉积在整个表面上在第一多晶硅层和适当的多晶硅层间电介质上。操纵栅极解码器和驱动器电路21(参看图4)通过线23而连接到所有操纵栅极,并能够响应于总线25上提供的地址、线33上的控制信号和来自驱动器和读出放大器13的数据来个别地控制其电压。 
字线91、92、93、94和95在“x”方向上伸长并延伸越过操纵栅极,其间在“y”方向上的间隔使每一字线与一行浮动栅极对准。字线通过蚀刻第三导电掺杂多晶硅层而形成,第三导电掺杂多晶硅层沉积在整个表面上方在首先形成在第二多晶硅层和暴露在操纵栅极之间的区域上方的电介质顶部上。字线允许选择其行中的所有存储器单元以便进行读取或写入。选择栅极解码器和驱动器电路19(参看图4)与每一字线连接以便个别地选择存储器阵列的一行。接着启用选定行内的个别单元 以供位线及操纵栅极解码器和驱动器电路13和21(参看图4)读取或写入。 
尽管前述结构中的栅极优选地由掺杂多晶硅材料制成,但可使用其它适当的导电材料来代替所描述的三个多晶硅层的一者或一者以上。例如形成字线和选择栅极的第三层可为多晶硅金属硅化物(polycide)材料,其为顶部上具有导电耐火金属硅化物(例如,钨)的多晶硅,以便增加其传导率。多晶硅金属硅化物通常不用来代替第一或第二多晶硅层,因为由多晶硅金属硅化物形成的多晶硅间氧化物的质量通常不令人满意。 
图5和图6中未展示金属导体层。由于扩散和多晶硅元件的传导率通常显著小于金属的传导率,所以金属导体包含在分离的层中,以周期性时间间隔沿着多晶硅元件和扩散的长度通过任何中间层而连接到各自的金属线。由于图5到图6的实施例的所有扩散和多晶硅元件均需要单独地被驱动,所以这些金属线的数目与扩散和多晶硅元件的数目之间通常存在一对一的对应。 
图7描绘图6的结构的电等效电路,其中等效元件由与图5和图6中相同的参考数字表示,但添加了撇号(′)。所说明的结构与相邻结构共享源极和漏极扩散。通过在邻近的扩散49与51之间的衬底中沟道的传导由三个不同区域中的不同栅极元件控制。左边第一区域(T1-左)具有直接位于其上方的浮动栅极56,和与其电容耦合的操纵栅极81。右边第二区域(T1-右)由浮动栅极57和操纵栅极83以类似方式控制。T1-左与T1-右之间的第三区域T2由作为字线92的一部分的选择栅极99控制。 
穿过扩散49与51之间沟道的电子的传导电平因此受到由这些不同的栅极元件通过施加在栅极上的电压而给予其各自沟道区的电场的影响。浮动栅极上的电压取决于其携带的净电荷加上以电容方式从其它栅极和节点耦合的所有的位移电荷的电平。允许在浮动栅极下方穿过沟道部分的传导电平由所述浮动栅极上的电压控制。选择栅极99上的电压只是将沟道关闭并达到目标传导电平,以便选择用于与其源极/漏极区连接的个别单元。在一个实施例中,可将一个别存储器单元视为三个晶体管的串联连接,沟道的三个不同区域(T1-左、T2、T1-右)的每一者具有一个晶体管。在其它实施例中,可将每一浮动栅极视为存储器单元。 
通过以下方式来选择一单个存储器单元的两个浮动栅极中的一者来进行编程或读取:将电压施加在单元的另一(未选定)浮动栅极上方的操纵栅极上,所述电压足以促使另一浮动栅极下方的沟道区在不论另一浮动栅极携带何种电荷(与其状态有关)的情况下均变得适当地导电。当单元的选择晶体管由施加到其字线的足够 的电压接通时,只有选定的浮动栅极才响应针对单元的读取或编程操作。在读取一个浮动栅极的状态期间,在其源极与漏极之间流过所述单元的电流届时取决于选定的浮动栅极所携带的电荷,而与另一浮动栅极上的电荷无关。尽管越过未选定浮动栅极而施加在操纵栅极上以致使未选定浮动栅极下方的沟道部分导电的电压也通过相同的操纵栅极耦合到邻近单元的邻近浮动栅极,但通过将适当电压条件施加在邻近单元的其它元件上而避免了对邻近单元的影响。 
图5到图7的实施例的浮动栅极优选地通过将电压施加在其位线(源极和漏极扩散)和其两个操纵栅极上来进行编程,所述电压促使电子在衬底沟道中获得将要越过栅极电介质而注入到选定浮动栅极中的足够能量。此一种优选技术为美国专利第5,313,421号和第5,712,180号中描述的“源极侧注入”,所述两个专利的全文均以引用的方式并入本文中。 
为了擦除图5到图7的实施例的存储器单元,它们可经设计并操作使得从选定的浮动栅极将电子去除到沟道或字线的选择栅极。如果擦除到选择栅极,那么浮动栅极边缘103与选择栅极99之间的电介质优选地为氧化物薄层,所述氧化物已成长在浮动栅极边缘上,且当将适当电压施加在单元的各种元件上时电子通过氧化物进行隧穿。在浮动栅极边缘105与选择栅极99之间提供相同的电介质。当设计成擦除到选择栅极99时,谨慎地确保选择栅极与衬底表面47之间的栅极电介质上的产生的电压梯度充分保持在电介质的崩溃电平以下。关注此间题是因为,擦除期间字线通常升高到超过10伏或有时20伏或更大的电平,而施加到单元的其它电压通常为5伏或更小。可通过使选择栅极电介质较厚来减小选择栅极电介质上的电压梯度,或可选择介电常数大于通常所使用的选择栅极电介质的介电常数的选择栅极电介质。通常所使用的选择栅极电介质可能不利地影响选择晶体管的操作。 
如果将把单元擦除到沟道,那么稍许修改图5到图7的实施例。首先,使选择栅极99与邻近的浮动栅极边缘103和105之间的电介质较厚,以便防止将浮动栅极擦除到选择栅极。其次,使浮动栅极的下侧与衬底表面47之间的栅极电介质的厚度较薄(例如,约100埃),以便有助于电子隧穿通过其中。第三,将要同时作为区块擦除的单元沿着列或在区块内组合在一起。在一个实施例中,衬底上一区块与其它区块隔离。此通常通过三重阱(triple well)工艺来完成,其中n阱形成在p衬底上,且携带单元区块的p阱定位在使区块与其它区块隔离的n阱内。接着,将适当擦除电压施加到将要擦除的区块的p阱,同时其它区块不受影响。 
关于图4到图7的结构的更多细节可参阅美国专利6,151,248,其全文以引用的 方式并入本文中。 
图4到图7的存储器结构是合适的存储器单元的一个实例。也可使用其它结构来实施本发明。例如,一个实施例可使用包含电荷存储电介质的多层电介质。本发明的其它实施例可使用NAND型快闪存储器单元或NOR型快闪存储器单元。以下美国专利/专利申请案中提供NAND型快闪存储器的相关实例及其操作:美国专利第5,570,315号、美国专利第5,774,397号、美国专利第6,046,935号、美国专利第5,386,422号、美国专利第6,456,528号和美国专利申请案序列号第09/893,277号(公开案第US2003/0002348号),所述所有专利/专利申请案的全文均以引用的方式并入本文中。以下专利描述NOR型快闪存储器且全文以引用的方式并入本文中:美国专利第5,095,344、5,172,338、5,890,192和6,151,248号。也可使用其它类型的快闪存储器单元和其它类型的非易失性存储元件。 
III.存储器阵列操作
图8的表中提供编程、读取和擦除阵列11的存储器单元的示范性操作电压。行(line)(2)关于擦除到选择栅极(字线)的类型的单元的操作,而行(8)展示对于擦除到衬底的类型的单元的操作的修改。在这些实例中,其中形成有单元的衬底部分含有p型掺杂,且位线扩散为n型。这些操作中衬底均保持在接地电位。 
图8表的行(1)中,给出未选定的行的电压条件。未选定的行的字线由驱动器电路19(图4)放置在接地电位。在沿着未选定的行的单元的位线(扩散)和操纵栅极的列中“X”表示这些元件上的电压无关紧要-“不予关注”状态。由于在此实例中,电路13、19和21的任何一者均不为阵列的元件产生负电压,所以行的选择栅极上的零电压确保沿着所述行的单元均不被启用。没有电流可流经其沟道。不同行的相同列中的其它单元的编程或读取可在不影响字线上具有零电压的行的情况下发生。 
表的第二行(2)提供用于擦除经设计以擦除到字线的选择栅极的类型的单元的一组示范性电压。驱动器电路19将10-25伏范围内(例如,20伏)的高擦除电压VE施加到将要擦除浮动栅极的所有字线。此通常为包含大量毗邻的行中所有单元的至少一个界定的单元区块。然而,在其为优选的应用程序中,可同时擦除更少或更多单元。或者,擦除区块甚至可能限于单元的单一行。驱动电路21将沿着一个或一个以上选定行的单元的操纵栅极设定为低电压(例如,零伏),以便通过操纵栅极与浮动栅极之间的高度电容耦合而将浮动栅极的电压维持在低电平。浮动栅极与其各自的选择栅极(字线)之间的产生的电位差促使电子隧穿通过中间电介质。 关于擦除的更多信息请参阅美国专利5,270,979,其以引用的方式并入本文中。 
图5的表中行(3)和(4)提供用于读取存储器单元的两个浮动栅极的状态的示范性电压:行(3)针对于左浮动栅极且行(4)针对于右浮动栅极。在每种情况下,选择栅极启用单元,选择栅极升高到足以接通单元的选择晶体管的电压VSR以便使电流能够流经沟道。此电压通常比选择晶体管的阈值高一伏。 
当读取一个浮动栅极的电压状态时,被读取的浮动栅极上方的操纵栅极上施加有电压VM,且另一浮动栅极上方的操纵栅极升高到VBR,如图8的表的行(3)和(4)中所示。使电压VBR足够高(例如,8伏)以便致使不论未选定的浮动栅极的编程状态如何,单元的在未选定的浮动栅极下方的沟道部分充分导电。为了读取选定的浮动栅极的状态,在读取步骤期间使电压VM步进经过多个电压(下文进行描述),且当单元电流穿过界定的阈值时,其值由电路13内的读出放大器检测到。 
图8的表的行(5)和(6)中给出用于编程双浮动栅极单元的一个浮动栅极的示范性电压。为了选择单元进行操作,选择栅极升高到足以接通单元的选择晶体管。电压VSP可能不同于读取期间使用的电压VSR,以便最优化源极侧注入编程速度。一实例为当选择晶体管的阈值为一伏时,VSP=2.2伏。在编程操作期间,单元的与选定进行编程的浮动栅极相同侧的位线扩散升高到最大位线电压(例如,5伏)。使此电压足够高以便能够在浮动与选择栅极沟道之间的间隙上建立足够的场来获得源极侧热电子编程。在编程期间,单元的与未选定的浮动栅极相同侧的位线扩散偏置为零伏或接近零伏。 
未选定的浮动栅极上方的操纵栅极升高到足以致使未选定的浮动栅极下方的沟道区充分导电的电压VBP(例如,VBP=8伏),以便在浮动栅极电压的编程窗口范围内不对目标浮动栅极的编程造成干扰,此与未选定的浮动栅极上存在何种浮动栅极电压无关。将电压VP施加到选定的浮动栅极上方的操纵栅极,电压VP的电平将选定的浮动栅极驱动到一电压,所述电压有助于在其下方的沟道中产生期望的场条件以便进行热电子编程。例如,电压VP可在5-12伏范围内。此电压可在编程操作期间变化。通常,首先将适当组的编程电压施加到已擦除的单元,随后施加适当组的读取电压,且如果读取步骤不指示选定的浮动栅极已被编程为期望的电压状态(其可为二进制存储的编程状态或多电平存储的可变的存储状态的一者),那么再次施加可能部分地与先前组的编程电压不同的编程电压。 
图8的表的行(7)展示施加到选定进行编程的行内本身将不被编程的那些单元的电压。例如,阵列的区段部分的一行内同时编程的许多单元交替地沿着行间隔, 不被编程的其它单元处于它们之间。正是这些不被编程的其它单元接收图8的表的行(7)电压。相对的位线扩散维持在相同的电压,以便防止任何电流在沟道中流动(例如,均处于零伏或均处于5伏)。与行(1)中使用的注解一样,“x”表示这些单元的操纵栅极上的电压是不予关注。 
在经设计以擦除到衬底的存储器阵列的情况下,施加行(8)的擦除电压条件,而不是行(2)的擦除电压条件。含有将要擦除的单元区块的P阱及其周围的n阱升高到10-25伏的示范性范围内的擦除电压VE(例如,优选地为20伏)。在这些单元的读取和编程期间,其阱保持在接地电位。优选地,在擦除期间将正电压VSE施加到选择栅极,以便减少施加在选择栅极电介质上的电压,因为衬底与选择栅极之间过大的电压差可能破坏介电材料或促使其被制成比单元的操作所期望的更厚。由于此电压部分地从选择栅极耦合到试图擦除的邻接的浮动栅极,所以其不可过高,否则为了实现擦除而变得较高的浮动栅极与衬底沟道之间的电压差会过分减小。视VE的电平而定,VSE的示范性范围为3-12伏。当VE=20伏时,优选地VSE=10伏。 
图8中提供的值是一组实例。所属领域的技术人员将能够使用其它合适的值和方法来操作存储器系统。 
IV.粗略/精细编程
图9A提供阈值电压(VTH)对时间和位线电压(VBL)对时间的曲线图以指示如何执行粗略/精细编程过程的一个实例。还可使用粗略/精细编程方法的各种替代形式和实施例。图9A中描绘的方法以执行编程过程的粗略阶段的编程过程开始。当存储器单元的阈值电压达到电压VLA时,那么存储器单元通过将单元的位线电压升高到值VI以便减缓编程而进入精细编程阶段。与粗略编程阶段相比,精细编程阶段期间编程减缓。因此,在精细编程阶段期间,每编程步骤阈值电压的变化可能较小。存储器单元将保持在精细编程阶段直到存储器单元的阈值电压已达到目标阈值电压电平VV为止。当存储器单元的阈值电压达到VV时,存储器单元的位线电压升高到Vdd以所述抑制单元的进一步编程。在一个实施例中,VLA在VV以下一个Vpgm 步距。在其它实施例中,VLA与VV之间的差更大。 
图9A描绘的过程采用一个粗略编程模式和一个精细模式。在其它实施例中,可使用多个粗略模式和/或多个精细模式。例如,图9B展示三个模式。在其它实施例中,可使用三个以上模式。图9B的实施例展示第一模式(最粗略模式),其被执行直到存储器单元的阈值电压达到VLA2为止。那时,存储器单元转变为中间编程模式(比最粗略模式精细但比最精细模式粗略),这时位线升高到VI1。存储器单元将 保持在中间模式直到存储器单元的阈值电压达到VLA1为止,此时存储器单元将进入最精细编程模式,且位线将升高到VI2。存储器单元将保持在最精细编程模式直到存储器单元的阈值电压达到VV为止。当存储器单元阈值电压达到VV时,位线将升高到Vdd以便抑制存储器单元的进一步编程。如上所述,在其它实施例中,可使用三个以上模式(例如,4个模式、5个模式等)。 
图10是描述粗略/精细编程过程的一个实施例的流程图。在步骤202中,选择将要编程的存储器的部分。在一个实施方案中,此可为与存储器结构相称的一个或一个以上写入单位。写入单位的一个实例称为页。在其它实施例中,也可使用其它单位和/或结构。在步骤204中,有时使用预编程过程,其中对于寻址的存储器单元提供非数据依赖编程(non-data dependent programming)以排除存储元件磨损并为后续的擦除提供更加统一的起点。在步骤206中,与所使用的类型的存储元件相称地执行擦除过程。美国专利第5,095,344号中描述了合适的智能擦除过程的一个实例,所述专利的全文以引用的方式并入本文中。步骤208包含软编程过程,其经设计以使已擦除存储器单元的阈值电压进入到用于实际写入阶段的更加统一的开始范围。在一个实施例中,如果存储器单元的任何一者在擦除期间(或在软编程期间)未能检验,那么可将其排除在逻辑地址空间外。此时,存储器准备完毕进入数据有条件编程阶段。 
在步骤210中,将编程电压(Vpgm)设定为初始值。例如,在一些实施例中,使用图1的阶梯波形,且步骤210包含设定初始脉冲。并且,在步骤210中,将编程计数器(PC)初始化为零。在步骤220中,施加编程脉冲。例如,步骤220的一次迭代可包含施加图3的编程脉冲10A。在步骤222中,执行同时粗略和精细检验过程。以一在时间上与正检验其精细编程的一个或一个以上存储器单元重叠的方式校验一个或一个以上存储器单元的粗略编程。例如,对于二进制存储器单元(例如,两个状态),在校验一些存储器单元的粗略编程的同时,校验其它存储器单元的精细编程。对于多状态存储器单元,在针对一特定状态校验一些存储器单元的粗略编程的同时,针对相同特定状态校验其它存储器单元的精细编程。在其它实施例中,对于多状态存储器单元,可同时编程/检验不同存储器单元的不同状态,其中校验一些存储器单元的粗略编程,同时校验其它存储器单元的精细编程。下文描述步骤222的更多细节。 
在步骤224中,确定所有的存储器单元是否均已检验:其阈值电压处于所述存储器单元的最终目标电压。如果是,那么在步骤226中成功地完成(状态=通过) 编程过程。如果所有的存储器单元未被全部检验,那么确定编程计数器(PC)是否小于20。如果编程计数器(PC)不小于20(步骤228),那么编程过程已失败(步骤230)。如果编程计数器(PC)小于20,那么在步骤230中使编程计数器(PC)递增1且使编程电压向上步进到下一脉冲。在步骤230后,过程循环回步骤220,且将下一编程脉冲施加到存储器单元。 
V.检验
图11提供描述执行粗略检验同时执行精细检验(参看图10的步骤222)的过程的一个实施例的流程图。在图11的步骤302中,系统将检查寄存器(或其它存储装置)来确定特定快闪存储器单元在粗略编程模式还是精细编程模式。如果存储器单元在粗略阶段(步骤304),那么在步骤306中执行粗略检验。例如,参看图9A,存储器单元可将其阈值电压与电压VLA进行比较。如果存储器单元的阈值电压大于VLA(步骤308),那么存储器单元已通过粗略检验测试。如果存储器单元的阈值电压小于VLA,那么存储器单元尚未通过检验测试。如果存储器单元尚未通过粗略检验测试,那么存储器单元保持在粗略编程模式(步骤310)。如果存储器单元通过粗略检验测试,那么存储器单元的编程模式将变为精细编程模式(步骤312)。 
如果在步骤304中确定存储器单元处于精细编程模式,那么将在步骤320中执行精细检验过程。例如,参看图9A,存储器单元的阈值电压可与最终目标阈值电压VV进行比较。如果存储器单元的阈值电压大于目标电压VV(步骤322),那么已通过精细检验测试,且在步骤324中将抑制存储器单元进行编程。抑制存储器单元进行进一步编程的一个实施例为将位线升高到Vdd。还可使用锁定存储器单元的其它方法。如果在步骤322中确定未通过检验测试(例如,因为存储器单元的阈值电压小于目标电压VV),那么将不抑制存储器单元进行进一步编程(步骤326)。 
图11的过程对个别单元执行。在许多实施例中,将同时编程多个单元。因此,图11的过程将对多个单元同时执行。在此编程期间,一些单元将处于粗略编程过程,而其它单元处于精细编程过程。因此,一些单元将执行粗略检验步骤306,而其它单元将执行精细检验步骤320。例如,编程到状态2的一组单元(参看图2)中可能一些单元的编程快于其它单元。较快的编程单元不久可进入精细阶段。精细阶段的那些单元将使其阈值电压与状态2的已检验点VV进行比较,而粗略阶段的存储器单元可使其阈值电压与状态2的VLA进行比较。图11的过程较有效率,因为在每一检验步骤中,任何给定的单元将仅执行粗略检验或仅执行精细检验,而不是两者都执行。另一方面,现有系统将依次执行粗略和精细检验两者。利用本发明的一个 实施例,如果存储器单元为多状态单元且必须测试以进行多个状态的检验,那么将对多个状态进行粗略检验,或将对多个状态进行精细检验。然而,将不会对特定存储器单元的多个状态进行粗略和精细检验两者。例如,回顾图3,其描绘七个检验脉冲。在八状态存储器单元中,将使用七个检验脉冲来进行粗略检验过程,或者将使用七个检验脉冲来进行精细检验过程。在一些现有技术装置中,如果存在八个状态,那么它们将需要十四个检验脉冲,七个脉冲用于粗略阶段,且七个脉冲用于精细阶段。因此,图11中的过程可减少所需的检验脉冲的数目。 
图12是描绘用来实施图11的过程的一个实施例的组件的方框图。图12展示一个位线的电路。在一个实施例中,每一位线都将存在这样的电路。在另一实施例中,一对位线将存在这样的电路。图12展示连接到开关400和电容器402的位线。电容器也经连接而接地。开关400从多路复用器404接收信号。使用从多路复用器404接收到的信号来进行编程。多路复用器404接收两个信号Vpc和Vpf,并基于来自C/F寄存器420的指示在这两个信号之间进行选择。开关400还连接到读出放大电路410的输入。信号Vref也连接到读出放大电路410的输入。读出放大电路410的输出将数据提供给C/F寄存器420。C/F寄存器420的输出将数据提供给多路复用器404、锁定寄存器422和多路复用器430。多路复用器430接收信号Tc和Tf,并基于来自C/F寄存器420的数据在这两个信号之间进行选择。多路复用器430的输出连接到读出放大电路410的另一输入。 
图12的组件的操作基于位线放电检验过程。首先,对位线进行充电。接着,将检验脉冲提供到附接到所述位线的存储器单元的控制栅极(或操纵栅极)。接着允许对位线进行放电。基于放电速率,可确定存储器单元在特定阈值电压电平以上还是特定阈值电压电平以下。 
图13展示位线电压(Vb1)对时间的曲线图。在一个实施方案中,在时段T内允许对位线进行放电。在时间T时,将位线电压与参考电压Vref进行比较。如果位线电压大于Vref,那么存储器单元具有较低驱动能力且与目标阈值电压相比进行了过多编程。如果在时间T时位线电压小于Vref,那么存储器单元的阈值电压小于目标阈值。在另一实施例中,不是在固定的时间T之后测量位线上的电压,而是允许对位线进行放电直到其达到Vref为止。接着,将放电时间与一组预定时间进行比较以确定阈值电压在目标阈值以上还是目标阈值以下。在使用粗略/精细方法编程的单元中,在一个实施例中,可通过将一个Vref用于粗略编程并将另一Vref用于精细编程,使比较点在粗略与精细之间变化。在替代实施例中,可改变时间T的量,使 得存在一个时间T1用于与粗略编程关联的放电,且另一时间T2与精细编程期间的放电关联。在另一实施例中,可改变对位线的预充电,使得存在一个预充电值用于粗略编程,且另一预充电值用于精细编程。或者,可使用上述方案的组合。 
在另一实施例中,可利用使用电流比较器的静态读出方法。在所述实施例中,用粗略/精细编程的特定的一组参考电流代替固定的参考Vref。对于给定的存储器单元,当参考电流超过单元电流时,关联的读出放大器将指示与目标电压相比单元阈值电压进行了过多编程。进一步的信息可参阅美国专利第6,222,762号,所述专利的全文以引用的方式并入本文中。 
在图12中描绘的设备的一个实施例中,C/F寄存器420是1位寄存器,其指示特定存储器单元是处于粗略编程模式还是精细编程模式。在编程期间,如果存储器单元处于粗略编程模式,那么多路复用器404将把粗略模式编程电压(Vpc)通过开关400发送到位线。如果存储器单元处于精细编程模式,那么多路复用器404将把精细模式编程电压(Vpf)通过开关400发送到位线。在检验期间,读出放大器410将包含将位线电压与参考电压Vref进行比较的电路。在检验期间,如果存储器单元处于粗略模式,那么多路复用器430将基于C/F寄存器420来选择粗略时间选通Tc。读出放大器410将确定位线是否在由Tc指示的时间内被放电达到固定的参考值Vref。如果读出放大器确定因为位线在由Tc指示的时间内被放电达到固定的参考值Vref,所以存储器单元已通过粗略检验,那么将向C/F寄存器420发送信号以改变所述寄存器,使其指示存储器单元现处于精细编程模式。此时,多路复用器404和430将接着改变其选择,使得下一次编程单元时多路复用器404将把电压Vpf发送到位线,且下一次存在检验操作的比较时多路复用器430将把时间选通Tf发送到读出放大器410。如果在精细模式期间,读出放大器410确定因为位线在由Tf指示的时间内被放电达到固定的参考值Vref,所以成功地通过了精细检验过程,那么读出放大器410将向C/F寄存器420指示此情况,C/F寄存器420接着将促使锁定寄存器422指示应锁定(抑制)单元以免进行进一步编程。 
图14是执行检验的第二实施例。不是使用一对读出时间并用固定的参考电压来与位线电压进行比较,而是使用一对参考电流源。对于给定的存储器单元,当参考电流超过其单元电流时,关联的读出放大器将指示此条件,反映编程存储器单元以满足目标阈值条件。因此,多路复用器430将基于C/F寄存器420的输出来选择为粗略阶段提供电流源(Ic),还是为精细阶段提供电流源(If)。 
图15描绘另一替代实施例。在图15中,多路复用器448将为粗略编程阶段选 择参考电压(Vrc),或为精细编程阶段选择参考电压(Vrf),以便将参考电压提供给读出放大器410。在此实施例中,读出放大器410将进而基于C/F寄存器420,把固定时段(T)之后放电的位线上的电压与从多路复用器448接收到的电压参考进行比较。 
VI.电流吸收
如上所述,一种将存储器单元从粗略编程模式转变为精细编程模式的方法是升高位线上的电压。升高位线上的电压往往减缓编程。因此,精细编程模式中存储器单元的阈值电压将以较小的增量升高,且可实现较紧密的阈值电压分布。将存储器单元从粗略编程阶段转变为精细编程阶段的其它方法是改变通过存储器单元的沟道的电流量。在编程期间,如选择栅极的传导特性所控制,存储器单元的源极将升高到接地以上。可将电流吸收连接到源极以便控制将流经沟道的电流量。吸收电流越大,则通过沟道的电流越大,且存储器单元将编程得更快。随着电流吸收降低(吸收较少电流),沟道中的电流将下降,且存储器单元将编程得较缓慢。例如,如果电流吸收在粗略阶段期间吸收1000nA,且接着在精细阶段期间吸收100nA,那么沟道电流将下降到其原始值的1/10,且存储器单元将编程得比以前约慢十倍。 
图16是相对阈值电压增加(Vt)对阶梯控制栅极编程脉冲的曲线图,其在1000nA电流吸收的情况下一连串250mV阶梯控制栅极编程脉冲之后,藉此建立稳定状态编程条件。图16展示使用不同电流吸收编程的存储器单元的五个编程曲线500、502、504、506和508。与曲线500关联的存储器单元的电流吸收为1,000nA,继续稳定状态编程操作。与曲线502关联的存储器单元的电流吸收下降为562nA。与曲线504关联的存储器单元的电流吸收下降为316nA。与曲线506关联的存储器单元的电流吸收下降为178nA。与曲线508关联的存储器单元的电流吸收下降为100nA。从图16的曲线可以看出,电流吸收越大,则存储器单元将编程得越快。例如,在第一编程脉冲之后,与曲线508关联的存储器单元的阈值电压增加20mv,与曲线506关联的存储器单元的阈值电压增加33mv,与曲线504关联的存储器单元的阈值电压增加68mv,与曲线502关联的存储器单元的阈值电压增加112mv,且与曲线500关联的存储器单元的阈值电压增加234mv,反映对每步骤控制栅极编程阶梯250mV的稳定状态响应。在第二编程脉冲之后,与曲线508关联的存储器单元的阈值电压为47mv,与曲线506关联的存储器单元的阈值电压为90mv,与曲线504关联的存储器单元的阈值电压为159mv,且与曲线502关联的存储器单元的阈值电压为270mv。在第三编程脉冲之后,与曲线508关联的存储器单元的阈值电压为 87mv,与曲线506关联的存储器单元的阈值电压为159mv,且与曲线504关联的存储器单元的阈值电压为271mv。在第四编程步骤之后,与曲线508关联的存储器单元的阈值电压为144mv,且与曲线506关联的存储器单元的阈值电压为249mv。在第五编程步骤之后,与曲线508关联的存储器单元的阈值电压为221mv。 
因此,如参看图16所描述,可通过降低电流吸收量来减缓编程速率。因此,在一个实施例中,使用两个电流吸收之间的变化来在粗略模式与精细模式之间变化。例如,粗略模式可具有大电流吸收(例如,1000nA),且精细模式可具有较小电流吸收(例如,100nA)。或者,粗略模式可能没有电流吸收,而精细模式具有电流吸收以降低编程速度。也可使用其它配置。 
图17描绘根据图7的示意图的存储器元件,其中添加了连接到右位或控制线(BL右、端子51′)的电流吸收器600。在图17的实施方案中,编程浮动栅极56′。在一些实施例中,51′和49′处的控制线均视为位线。在其它实施例中,端子51′处的控制线可视为源极线或不同的控制线。电流吸收器600连接到C/F寄存器420(如上所述)。在一个实施例中,电流吸收器600是可变电流吸收器。也就是说,电流吸收器600可吸收不同电平的电流。例如,电流吸收器可吸收两个不同电平的电流,一个电平用于精细模式,且另一电平用于粗略模式。基于来自C/F寄存器420的指示,将选择适当的电流吸收值。例如,如果C/F寄存器420指示浮动栅极56′处于粗略模式,那么电流吸收器600将选择用于粗略模式的适当的电流吸收。如果C/F寄存器420指示浮动栅极56′处于精细模式,那么电流吸收器600将选择用于精细模式的适当的吸收值。在另一实施例中,电流吸收器600将仅用来在精细模式中吸收电流,且端子51′与接地供应之间将存在开关以便在粗略模式期间绕过电流吸收器600。将基于存储在C/F寄存器420中的值来控制开关。在图17的实施例中,将编程电压(例如,上述阶梯控制栅极编程电压)施加到左操纵栅极81′。 
在另一实施例中,图17的电流吸收器600是可变电流吸收器,其可吸收多状态存储器单元的每一状态的不同组的粗略和精细值。例如,如果存在七个编程状态,那么电流吸收器600将能够吸收十四个(或如果存在重叠的话小于十四个)不同电平的电流。或者,可存在十四个(或如果存在重叠的话小于十四个)不同的电流吸收。对于不同状态使用不同组的电流吸收值允许编程过程更加有效,从而需要较少的编程脉冲(例如,200mV步距),且更大程度编程的存储器单元(例如,编程到状态7)将编程得更快,而不会促使以编程到较低状态为目标的单元(例如,编程到状态1)被过分编程。上述方案的一个实施方案可在每一编程脉冲之后检验所有 状态,而不是使用上文提及的智能检验方案。 
下表提供一组示范性电流吸收值。应注意,精细模式提供有两个选项。设计精细模式的电路设计者可根据设计者希望在多大程度上减缓精细模式中的编程来选择任一选项,选项2对应于当从粗略模式转变为精细模式时更大程度减缓编程。 
Figure S05807372620060912D000201
可将状态到状态分离(State-to-state separation)减小到可使编程分布紧密的相同程度,从而对于进行比较的任何两个方案使状态到状态余量保持相同。为此,下一表描绘编程七个状态的必要的恒定电流吸收值的范围,其中状态到状态分离为400mV。 
应注意,上述组电流吸收值用于举例的目的,且根据特定实施方案也可使用许多其它不同的值。还应注意,用于精细模式中电流吸收的许多值与用于不同状态的粗略模式中电流吸收值相同。例如,精细模式(选项1)的状态5的电流吸收值和粗略模式的状态4的电流吸收值均为117.40nA。此重叠可减少实施此特征所需的逻辑,和(在某些情况下)数目或电流吸收或电流吸收(一个或多个)的复杂性。 
图18以图形描绘使用C/F寄存器420来控制开关620的替代实施例。开关620在两个电流吸收器622与624之间进行选择。电流吸收器622在粗略模式中吸收电流,且电流吸收器624在精细模式中吸收电流。如果C/F寄存器420指示浮动栅极56′正在粗略模式中编程,那么其将发送信号到开关628以选择电流吸收器622。如果浮动栅极56′正在精细模式中编程,那么C/F寄存器420将指示开关620选择电流吸收器624。因此,通过切换电流吸收器来执行从粗略编程模式到精细编程模式的切换。预期用于精细模式的电流吸收器624将比用于粗略模式的电流吸收器622吸收更少的电流。 
图19是描述使用本文描述的电流吸收技术的过程的流程图。在步骤650中,存储器单元将在粗略编程模式中开始编程。粗略编程模式将持续直到达到第一阈值电压检验电平为止。为了执行粗略编程模式,在步骤652中将把电流吸收机构设定成粗略模式电流吸收设定。在一些实施例中,粗略模式中将不使用电流吸收。步骤652可包含适当地控制图17中的电流吸收器600,或选择图18中的电流吸收器622。步骤650和步骤652将持续直到完成粗略模式为止(这就是为什么步骤652下方的箭头用虚线)。当因为已达到粗略检验电平而完成粗略模式时,将在步骤654中开始精细编程模式。作为精细编程模式的一部分,在步骤656中将把电流吸收设定成精细模式电流吸收设定。在一个实施例中,步骤656包含适当地设定图17中的电流吸收器600。在另一实施例中,步骤656包含选择图18中的电流吸收器624。图19的过程针对一个存储器单元。预期多个存储器单元将同时执行图19的过程,一些存储器单元处于粗略编程模式而其它存储器单元处于精细编程模式。 
与本文描述的电流吸收技术同时的图19的过程可用于除了图17和图18中描绘的存储器单元以外的其它类型的存储器单元。例如,图17和图18每存储器单元包含双浮动栅极。本文描述的电流吸收技术可用于只有一个浮动栅极的存储器单元,在此情况下电流吸收器优选地连接到所述一个浮动栅极的源极侧。电流吸收技术还可用于具有两个以上浮动栅极的存储器单元。通常,将把电流吸收施加到正编 程的浮动栅极的源极侧。然而,在其它实施例中,可将其连接到进而控制编程速度的其它控制线。例如,在一些结构中源极和漏极的指定可能任意的,且因此本发明不限于“源极”侧。 
应注意,上述用于粗略/精细编程的电流吸收的使用可与先前描述的同时粗略/精细检验过程结合。在替代模式中,可在没有先前描述的同时粗略/精细检验过程的情况下,使用进入精细模式对粗略模式的电流吸收过程。另外,本文描述的电流吸收技术(与同时粗略/精细检验结合或不与同时粗略/精细检验结合)可与先前描述的智能检验过程一起使用或不与其一起使用。另外,智能检验过程也可与同时粗略/精细检验过程一起使用,而不使用电流吸收在粗略/精细之间变化。 
VII.电荷包计量
参看图20到图25描述促使存储器单元进入精细编程模式的另一组实施例。这些实施例通过限制可用于编程存储器单元的电荷来提供精细编程模式。例如,图20展示图7的存储器单元的配置,其中编程浮动栅极56′。开关700附接到位线右端子51′,开关700由C/F寄存器420控制。开关700具有两个输入。第一输入由参考标号702表示。当C/F寄存器420指示浮动栅极56′处于粗略模式时,开关700将选择输入702,输入702将作为在粗略编程模式期间连接到位线的一般组件。也就是说,在粗略编程模式期间,在一个实施例中,不存在电荷包计量。如果如C/F寄存器420所指示,浮动栅极56′处于精细编程模式,那么开关700将把端子51′连接到开关708和电容器710。电容器710的相反侧连接到参考电位(例如,接地)。开关708连接到预充电供应(例如,电压供应)712。组件708、710和712用于精细编程模式作为两步骤方法的一部分。在第一步骤中,通过开关708将电容器710连接到电源712,且将电容器710充电到预充电电压(编程源极偏压)。在第二步骤中,将电容器710与电压供应712断开连接,接着将控制栅极编程电压脉冲施加到左操纵栅极81′。通过流经存储器单元的电流对存储在电容器710中的预充电电压进行放电,且将电子注入到浮动栅极56′。当充分放电电容器时,热电子注入停止,且编程终止。因此,存储在电容器710上的相对电荷量限制编程发生的程度。电容器上较少的相对电荷意味着阈值电压将移动较小的量。例如,与预充电到相同电压值的具有电容C的电容器相比,预充电到相同电压值的两倍大(例如,2C)的电容器存储两倍的相对电荷,并编程两倍的程度。图20展示一个位线的组件420和700到712。在一个实施例中,每一位线存在类似组的组件。 
图21提供两个曲线。上方曲线展示端子51′处的电压对时间。下方曲线展示选 择栅极处的电压对时间。在时间t0时,预充电电容器710,从而在端子51′处预充电控制线。当选择栅极在时间t1接通时,图20的电容器710将开始吸收电流,且其电压将升高,从而减少电流流动。最终,当电容器被充分放电时,沟道中的电流停止流动。 
图22是描述执行上述电荷计量的过程的一个实施例的流程图。在步骤740中,选择适当的预充电电路。在一个实施例中,只有一个预充电电路用于精细模式,没有预充电电路用于粗略模式。进一步的实施例可针对粗略模式使用第一预充电电路,且针对精细模式使用第二预充电电路。在步骤742中,允许预充电的开关(例如,开关708)闭合以便开始预充电。在步骤744中,开关断开,结束预充电。在步骤746中,施加供应到操纵栅极的脉冲,并接通选择栅极使得电流流经沟道且电子注入到浮动栅极中直到电容器被充分放电为止。 
图23提供针对粗略编程模式使用一个预充电电路且针对精细编程模式使用另一预充电电路的替代实施例的方框图。开关780连接到端子51′并由C/F寄存器420控制。如果C/F寄存器420指示浮动栅极56′处于粗略编程模式时,那么开关780将选择组件782、784和786。如果C/F寄存器420指示浮动栅极56′处于精细编程模式,那么开关780将选择组件790、792和794。 
预充电供应786连接到开关782,开关782连接到电容器784。当开关782闭合时,预充电供应786针对粗略编程模式而对电容器784进行充电。在对电容器784进行充电之后,开关782断开且允许电容器784通过存储器单元进行放电(通过开关780)以便编程浮动栅极56′。 
预充电供应794用来在开关790闭合时对电容器792进行预充电。在对电容器792进行预充电之后,开关790断开,藉此允许电容器792在精细编程模式期间通过存储器单元进行放电以便编程浮动栅极56′。在一个实施例中,预充电供应786将比预充电供应794处于更低的电压,从而与精细编程模式电容器792相比,粗略编程模式电容器784被充电到相对较大的值。电容器上电荷值越大,则将发生更多编程。因此,对于粗略模式可允许较多编程,且对于精细模式可允许较少编程。基于特定要求和装置最优化、模拟、和/或装置特性化,以及区分粗略对精细编程的目标来确定供应(电压或其它类型的供应)和电容器的精确值。 
图24提供在存储器单元内计量电荷的替代实施例。图24展示连接到可变预充电供应800的C/F寄存器420。预充电供应800可供应至少两个不同的供应电平,一个电平用于粗略编程模式,且另一电平用于精细编程模式。基于C/F寄存器420 中的值,将适当的电平供应到开关802。开关802也连接到电容器804和端子51′。因此,在粗略编程模式期间,将使用预充电供应800将粗略充电电平发送到电容器804以便编程浮动栅极56′。在精细编程模式期间,预充电供应800将提供精细充电(与粗略充电相比具有相对较小的量值)以便编程浮动栅极56'。 
图25提供上述电荷计量的另一替代实施例。图25的实施例包含针对粗略和精细模式两者使用共同的预充电供应848。然而,开关840用来在两个不同的电容器之间进行选择。电容器842用于粗略模式期间的编程,且电容器844(其电容小于电容器842的电容)用于精细模式期间的编程。开关840基于存储在C/F寄存器420中的值在电容器842与844之间进行选择。 
应注意,在一些实施例中,使用电容器对控制线(例如,51′)进行预充电将使控制线接地。当向操纵栅极供应脉冲时,预充电促使吸收流向电容器的电流,且电压将升高直到装置最终自行关闭为止。随着电流流进电容器,端子51′处的电压将增大直到其达到足以有效地停止编程的较高的值为止。在编程期间对每一脉冲执行此电压限制操作。 
在施加每一脉冲之后,检验存储器单元。上述电荷包计量技术可视需要与上述智能检验过程和/或同时粗略/精细检验过程结合使用。 
应注意,在一些实施例中,对于多个存储器单元,同时粗略/精细检验、编程期间的电流吸收和编程期间的电荷计量均预期将共同的信号(例如,Vpgm阶梯)提供到字线或操纵栅极(取决于存储器单元结构)。 
已提供对本发明的前述详细描述用于说明和描述的目的。此描述不希望为详尽的或将本发明限于所揭示的精确形式。根据以上教示,可能进行许多修改和变化。所描述的实施例的选择是为了最佳地解释本发明的原理及其实际应用,以便藉此使所属领域的技术人员能够在各种实施例中最佳地利用本发明,并根据是否适宜于所期望的特定用途来进行各种修改。希望本发明的范围由所附权利要求书界定。 

Claims (31)

1.一种用于编程一非易失性存储元件的设备,其包括:
一编程模式指示器,其提供一指示所述非易失性存储元件是处于一粗略编程模式还是一精细编程模式下的输出;和
一可切换电荷包计量电路,其与所述编程模式指示器和所述非易失性存储元件通信,所述可切换电荷包计量电路包括至少一个电荷存储装置,所述可切换电荷包计量电路响应于所述编程模式指示器指示所述非易失性存储元件处于所述精细编程模式而通过使所述至少一个电荷存储装置放电为所述非易失性存储元件提供一经计量的电荷。
2.根据权利要求1所述的设备,其中:
所述可切换电荷包计量电路包括一源极、一与所述源极进行通信的第一开关和所述至少一个电荷存储装置,所述至少一个电荷存储装置与所述第一开关和所述非易失性存储元件的一控制线通信,所述第一开关选择性地允许所述源极对所述至少一个电荷存储装置进行充电。
3.根据权利要求2所述的设备,其中:
所述可切换电荷包计量电路进一步包括一第二开关;
所述第二开关与所述控制线、所述至少一个电荷存储装置和所述编程模式指示器通信;且
当所述编程模式指示器指示所述非易失性存储元件处于所述精细编程模式时,所述第二开关选择性地将所述至少一个电荷存储装置连接到所述控制线。
4.根据权利要求1所述的设备,其中所述可切换电荷包计量电路包括:
一第一源极;
一第一开关,其与所述第一源极通信;
一第二源极;
一第二开关,其与所述第二源极通信;
所述至少一个电荷存储装置,其包括:一第一电荷存储装置,其与所述第一开关通信,所述第一开关选择性地允许所述第一源极对所述第一电荷存储装置进行充电;以及一第二电荷存储装置,其与所述第二开关通信,所述第二开关选择性地允许所述第二源极对所述第二电荷存储装置进行充电;和
一第三开关,其用于基于所述编程模式指示器而选择性地将所述第一电荷存储装置或所述第二电荷存储装置连接到所述非易失性存储元件的一控制线。
5.根据权利要求1所述的设备,其中所述可切换电荷包计量电路包括:
一可变源极,其与所述编程模式指示器通信;和
一第一开关,其与所述可变源极通信;
其中所述至少一个电荷存储装置与所述第一开关通信,所述第一开关选择性地允许所述可变源极对所述至少一个电荷存储装置进行充电,所述至少一个电荷存储装置能够为所述非易失性存储元件提供电荷,如果所述编程模式指示器指示所述非易失性存储元件处于所述粗略编程模式,那么所述可变源极将所述至少一个电荷存储装置充电到一第一电平,且如果所述编程模式指示器指示所述非易失性存储元件处于所述精细编程模式,那么将所述至少一个电荷存储装置充电到一第二电平。
6.根据权利要求1所述的设备,其中所述可切换电荷包计量电路包括:
一源极;
一第一开关,其与所述源极和所述编程模式指示器通信;和
所述至少一个电荷存储装置,其包括:一第一电荷存储装置,其与所述第一开关通信;和一第二电荷存储装置,其与所述第一开关通信,所述第一开关基于所述编程模式指示器而选择性地允许所述源极对所述第一存储装置或所述第二电荷存储装置进行充电。
7.根据权利要求6所述的设备,其中:
所述可切换电荷包计量电路包括一第二开关,其连接在所述第一开关与所述源极之间使得所述源极与所述第一开关进行选择性通信。
8.根据权利要求1所述的设备,其中:
所述可切换电荷包计量电路包括一源极、一与所述源极通信的第一开关和所述至少一个电荷存储装置;
所述至少一个电荷存储装置与所述第一开关和所述非易失性存储元件的一控制线通信,所述第一开关选择性地允许所述源极对所述至少一个电荷存储装置进行充电;且
所述至少一个电荷存储装置通过所述控制线进行放电以便编程所述非易失性存储元件。
9.根据权利要求1所述的设备,其进一步包括:
一读出电路,其与所述非易失性存储元件通信,
所述编程模式指示器基于所述读出电路提供指示所述非易失性存储元件是处于所述粗略编程模式还是所述精细编程模式的所述输出;和
一选择电路,其与所述编程模式指示器和所述读出电路通信,如果所述非易失性存储元件处于所述粗略编程模式,那么所述选择电路将一粗略参考信号提供到所述读出电路,且如果所述非易失性存储元件处于所述精细编程模式,那么将一精细参考信号提供到所述读出电路。
10.根据权利要求9所述的设备,其中:
所述读出电路将所述粗略参考信号或所述精细参考信号与所述非易失性存储元件的数据进行比较,以便确定所述非易失性存储元件是否已达到一特定检验电平。
11.根据权利要求10所述的设备,其中:
所述编程模式指示器包含一存储单元,所述存储单元存储指示所述非易失性存储元件是处于所述粗略编程模式还是所述精细编程模式的数据。
12.根据权利要求11所述的设备,其中:
所述非易失性存储元件是一多状态快闪存储器装置;
所述可切换电荷包计量电路包括一源极和一与所述源极通信的第一开关;
所述至少一个电荷存储装置包括一电容器,所述电容器与所述第一开关和所述非易失性存储元件的一控制线通信,所述第一开关选择性地允许所述源极对所述电容器进行充电;且
所述电容器通过所述非易失性存储元件的一控制线进行放电以便编程所述非易失性存储元件。
13.根据权利要求1所述的设备,其中:
所述非易失性存储元件是一快闪存储器装置。
14.根据权利要求1所述的设备,其中:
所述非易失性存储元件是一多状态快闪存储器装置。
15.根据权利要求1所述的设备,其中:
所述可切换电荷包计量电路响应于所述编程模式指示器指示所述非易失性存储元件处于所述粗略编程模式而不计量到达所述非易失性存储元件的电荷。
16.根据权利要求1所述的设备,其中:
在完成所述非易失性存储元件的所述粗略编程阶段之后,开始所述非易失性存储元件的所述精细编程阶段。
17.根据权利要求1所述的设备,其中所述可切换电荷包计量电路通过如下步骤将所述经计量的电荷提供至所述非易失性存储元件:
对所述至少一个电荷存储装置进行充电;
将一编程信号施加到所述非易失性存储元件;和
通过所述非易失性存储元件对所述至少一个电荷存储装置进行放电。
18.根据权利要求1所述的设备,其中所述可切换电荷包计量电路通过如下步骤将所述经计量的电荷提供至所述非易失性存储元件:
将所述至少一个电荷存储装置连接到一电源并对所述至少一个电荷存储装置进行充电;
在对所述至少一个电荷存储装置进行充电之后,将所述电源与所述至少一个电荷存储装置断开连接;
将一编程信号施加到所述非易失性存储元件;和
通过所述非易失性存储元件对所述至少一个电荷存储装置进行放电。
19.根据权利要求1所述的设备,其中所述可切换电荷包计量电路通过如下步骤将所述经计量的电荷提供至所述非易失性存储元件:
对一与所述非易失性存储元件关联的位线进行预充电;
在所述预充电之后,致使所述位线处于一浮动状态;
将一共同编程信号施加到所述非易失性存储元件;和
通过所述非易失性存储元件对所述至少一个电荷存储装置进行放电。
20.根据权利要求1所述的设备,其中所述可切换电荷包计量电路通过如下步骤将所述经计量的电荷提供至所述非易失性存储元件:
对所述至少一个电荷存储装置进行充电;
将一共同编程信号施加到所述非易失性存储元件,沿着一共同字线将所述共同编程信号施加到多个非易失性存储元件;和
通过所述非易失性存储元件对所述至少一个电荷存储装置进行放电。
21.一种用于编程的设备,其包括:
一组具有控制端子的非易失性存储元件;和
一与所述控制端子通信的可个别切换的电荷包计量系统,所述可个别切换的电荷包计量系统包括至少一个电荷存储装置,所述可个别切换的电荷包计量系统经个别地切换以通过使所述至少一个电荷存储装置放电而提供一特定的经计量的电荷来以一精细编程模式编程非易失性存储元件,而不提供所述特定的经计量的电荷来以一粗略编程模式编程非易失性存储元件。
22.根据权利要求21所述的设备,其中:
所述可个别切换的电荷包计量系统包括多个电荷包计量电路,为所述组非易失性存储元件的一组位线的每一位线提供一个电荷包计量电路,每一电荷包计量电路可单独地切换。
23.根据权利要求21所述的设备,其中:
所述可切换电荷包计量系统包括一源极、一与所述源极通信的第一开关和所述至少一个电荷存储装置,所述至少一个电荷存储装置与所述第一开关和一第一非易失性存储元件的一第一控制线通信,所述第一开关选择性地允许所述源极对所述至少一个电荷存储装置进行充电。
24.根据权利要求23所述的设备,其中:
所述可切换电荷包计量系统进一步包括一第二开关;
所述第二开关与所述控制线和所述至少一个电荷存储装置通信;且
当所述非易失性存储元件处于所述精细编程模式时,所述第二开关选择性地将所述至少一个电荷存储装置连接到所述控制线。
25.根据权利要求21所述的设备,其中所述可切换电荷包计量系统包括:
一第一源极;
一第一开关,其与所述第一源极通信;
一第二源极;
一第二开关,其与所述第二源极通信;
所述至少一个电荷存储装置,其包括:一第一电荷存储装置,其与所述第一开关通信,所述第一开关选择性地允许所述第一源极对所述第一电荷存储装置进行充电;以及一第二电荷存储装置,其与所述第二开关通信,所述第二开关选择性地允许所述第二源极对所述第二电荷存储装置进行充电;和
一第三开关,其用于基于一特定非易失性存储元件是处于所述粗略编程模式还是所述精细编程模式而选择性地将所述第一电荷存储装置或所述第二电荷存储装置连接到所述特定非易失性存储元件的一控制线。
26.根据权利要求21所述的设备,其中所述可切换电荷包计量系统包括:
一可变源极;和
一第一开关,其与所述可变源极通信;
其中所述至少一个电荷存储装置与所述第一开关通信,所述第一开关允许所述可变源极对所述至少一个电荷存储装置进行充电,所述至少一个电荷存储装置能够为一第一非易失性存储元件提供电荷,如果所述第一非易失性存储元件处于所述粗略编程模式,那么所述可变源极将所述至少一个电荷存储装置充电到一第一电平,且如果所述第一非易失性存储元件处于所述精细编程模式,那么将所述至少一个电荷存储装置充电到一第二电平。
27.根据权利要求21所述的设备,其中所述可切换电荷包计量系统包括:
一源极;
一第一开关,其与一第一非易失性存储元件通信;和
所述至少一个电荷存储装置,其包括:一第一电荷存储装置,其与所述第一开关通信;和一第二电荷存储装置,其与所述第一开关通信,所述第一开关基于所述第一非易失性存储元件是处于所述粗略编程模式还是所述精细编程模式而选择性地允许所述源极对所述第一电荷存储装置或所述第二电荷存储装置进行充电。
28.根据权利要求21所述的设备,其中:
所述可切换电荷包计量电路包括一源极和一与所述源极通信的第一开关;
所述至少一个电荷存储装置包括一电容器,所述电容器与所述第一开关和所述非易失性存储元件的一控制线通信,所述第一开关选择性地允许所述源极对所述电容器进行充电;且
所述电容器通过所述非易失性存储元件的一控制线进行放电以便编程所述非易失性存储元件。
29.根据权利要求21所述的设备,其中:
所述非易失性存储元件包含一快闪存储器装置阵列。
30.根据权利要求21所述的设备,其中:
所述非易失性存储元件包含多状态快闪存储器装置。
31.根据权利要求21所述的设备,其中:
当所述非易失性存储元件处于所述粗略编程模式时,所述可个别切换的电荷包计量电路不计量到达所述非易失性存储元件的电荷。
CN2005800073726A 2004-01-27 2005-01-25 用于编程非易失性存储器的设备和方法 Expired - Fee Related CN1930633B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/766,116 2004-01-27
US10/766,116 US7068539B2 (en) 2004-01-27 2004-01-27 Charge packet metering for coarse/fine programming of non-volatile memory
PCT/US2005/002143 WO2005073980A1 (en) 2004-01-27 2005-01-25 Charge packet metering for coarse /fine programming of non-volatile memory

Publications (2)

Publication Number Publication Date
CN1930633A CN1930633A (zh) 2007-03-14
CN1930633B true CN1930633B (zh) 2011-06-29

Family

ID=34795598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800073726A Expired - Fee Related CN1930633B (zh) 2004-01-27 2005-01-25 用于编程非易失性存储器的设备和方法

Country Status (9)

Country Link
US (3) US7068539B2 (zh)
EP (1) EP1714293B1 (zh)
JP (1) JP2007520028A (zh)
KR (1) KR100895331B1 (zh)
CN (1) CN1930633B (zh)
AT (1) ATE448550T1 (zh)
DE (1) DE602005017584D1 (zh)
TW (1) TWI343056B (zh)
WO (1) WO2005073980A1 (zh)

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
US7289363B2 (en) * 2005-05-19 2007-10-30 Micron Technology, Inc. Memory cell repair using fuse programming method in a flash memory device
WO2006138413A1 (en) * 2005-06-15 2006-12-28 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.
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7224614B1 (en) 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories
WO2007076512A2 (en) * 2005-12-29 2007-07-05 Sandisk Corporation Methods and device for improved program-verify operations in non-volatile memories
US7349260B2 (en) 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
US7310255B2 (en) 2005-12-29 2007-12-18 Sandisk Corporation Non-volatile memory with improved program-verify operations
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
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
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
KR100888847B1 (ko) * 2007-06-28 2009-03-17 삼성전자주식회사 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
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
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
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
WO2009072103A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8259521B2 (en) * 2008-05-28 2012-09-04 Macronix International Co., Ltd. Method and circuit for testing a multi-chip package
US8059447B2 (en) * 2008-06-27 2011-11-15 Sandisk 3D Llc Capacitive discharge method for writing to non-volatile memory
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8130528B2 (en) 2008-08-25 2012-03-06 Sandisk 3D Llc Memory system with sectional data lines
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8027209B2 (en) * 2008-10-06 2011-09-27 Sandisk 3D, Llc Continuous programming of non-volatile memory
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8279650B2 (en) 2009-04-20 2012-10-02 Sandisk 3D Llc Memory system with data line switching scheme
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US7885091B2 (en) * 2009-05-26 2011-02-08 Sandisk 3D Llc Limited charge delivery for programming non-volatile storage elements
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
CN102789808B (zh) * 2011-05-20 2018-03-06 株式会社半导体能源研究所 存储器装置和用于驱动存储器装置的方法
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
TWI485711B (zh) * 2012-03-20 2015-05-21 Ememory Technology Inc 快閃記憶體裝置
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
JP2015204126A (ja) 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9947682B2 (en) 2014-11-18 2018-04-17 Sandisk Technologies Llc Three dimensional non-volatile memory with separate source lines
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9548130B2 (en) 2015-04-08 2017-01-17 Sandisk Technologies Llc Non-volatile memory with prior state sensing
US9922719B2 (en) 2015-06-07 2018-03-20 Sandisk Technologies Llc Multi-VT sensing method by varying bit line voltage
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9911488B2 (en) 2015-10-22 2018-03-06 Sandisk Technologies Llc Three dimensional non-volatile memory with shorting source line/bit line pairs
US9715924B2 (en) 2015-10-22 2017-07-25 Sandisk Technologies Llc Three dimensional non-volatile memory with current sensing programming status
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
KR102491133B1 (ko) * 2016-03-21 2023-01-25 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
JP2021044044A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステム
US11755899B2 (en) * 2019-11-11 2023-09-12 Silicon Storage Technology, Inc. Precise programming method and apparatus for analog neural memory in an artificial neural network
US11682459B2 (en) * 2020-05-13 2023-06-20 Silicon Storage Technology, Inc. Analog neural memory array in artificial neural network comprising logical cells and improved programming mechanism
US20220066651A1 (en) * 2020-08-31 2022-03-03 Micron Technology, Inc. Asychronous power loss handling using dummy writes in memory devices
US11462265B2 (en) * 2020-12-18 2022-10-04 Micron Technology, Inc. Reading memory cells coarsely programmed via interleaved two-pass data programming techniques
US11456038B2 (en) 2020-12-18 2022-09-27 Micron Technology, Inc. Simplified operations to read memory cells coarsely programmed via interleaved two-pass data programming techniques
US11335407B1 (en) 2020-12-18 2022-05-17 Micron Technology, Inc. One-ladder read of memory cells coarsely programmed via interleaved two-pass data programming techniques
US11430526B2 (en) * 2020-12-18 2022-08-30 Micron Technology, Inc. Interleaved two-pass data programming techniques with reduced write amplification
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US20230238037A1 (en) * 2022-01-25 2023-07-27 Macronix International Co., Ltd. Content addressable memory device and method for data searching and comparing thereof

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US57598A (en) * 1866-08-28 Improvement in ladies fans
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
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
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
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
US5623436A (en) * 1993-06-17 1997-04-22 Information Storage Devices Method and apparatus for adjustment and control of an iterative method of recording analog signals with on-chip trimming techniques
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3476952B2 (ja) 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
JP3730272B2 (ja) 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
EP0704854B1 (en) 1994-09-30 1999-12-01 STMicroelectronics S.r.l. Memory device having error detection and correction function, and methods for writing and erasing the memory device
JPH09251782A (ja) 1996-03-14 1997-09-22 Fujitsu Ltd 半導体記憶装置
US5726934A (en) * 1996-04-09 1998-03-10 Information Storage Devices, Inc. Method and apparatus for analog reading values stored in floating gate structures
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
US6134148A (en) 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
JP3679544B2 (ja) * 1997-03-28 2005-08-03 三洋電機株式会社 不揮発性半導体メモリ装置
JP3481817B2 (ja) 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
US5926409A (en) * 1997-09-05 1999-07-20 Information Storage Devices, Inc. Method and apparatus for an adaptive ramp amplitude controller in nonvolatile memory application
US5877984A (en) * 1997-09-05 1999-03-02 Information Storage Devices, Inc. Method and apparatus for adjustment and control of an iterative method of recording analog signals with on chip selection of a voltage ramp amplitude
JP3906545B2 (ja) * 1998-02-03 2007-04-18 ソニー株式会社 不揮発性半導体記憶装置
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
JP2001067884A (ja) 1999-08-31 2001-03-16 Hitachi Ltd 不揮発性半導体記憶装置
US6301161B1 (en) * 2000-04-25 2001-10-09 Winbond Electronics Corporation Programming flash memory analog storage using coarse-and-fine sequence
US6292394B1 (en) * 2000-06-29 2001-09-18 Saifun Semiconductors Ltd. Method for programming of a semiconductor memory cell
JP3922516B2 (ja) 2000-09-28 2007-05-30 株式会社ルネサステクノロジ 不揮発性メモリと不揮発性メモリの書き込み方法
JP2002152885A (ja) 2000-11-14 2002-05-24 Sony Corp スピーカ装置
WO2002056316A1 (fr) * 2001-01-12 2002-07-18 Hitachi, Ltd. Memoire remanente a semi-conducteur
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
DE60139670D1 (de) 2001-04-10 2009-10-08 St Microelectronics Srl Verfahren zur Programmierung nichtflüchtiger Speicherzellen mit Programmier- und Prüfalgorithmus unter Verwendung treppenförmiger Spannungsimpulse mit variablem Stufenabstand
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
US6597603B2 (en) * 2001-11-06 2003-07-22 Atmel Corporation Dual mode high voltage power supply for providing increased speed in programming during testing of low voltage non-volatile memories
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
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US6977959B2 (en) * 2003-01-17 2005-12-20 Xilinx, Inc. Clock and data recovery phase-locked loop
US6856551B2 (en) * 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
JP2004335056A (ja) * 2003-05-12 2004-11-25 Sharp Corp 複数のメモリセルを有する半導体記憶装置をプログラムする方法および消去する方法
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory

Also Published As

Publication number Publication date
JP2007520028A (ja) 2007-07-19
KR20070007285A (ko) 2007-01-15
EP1714293B1 (en) 2009-11-11
TW200606948A (en) 2006-02-16
CN1930633A (zh) 2007-03-14
US20050162923A1 (en) 2005-07-28
US20060221700A1 (en) 2006-10-05
US7453730B2 (en) 2008-11-18
WO2005073980A1 (en) 2005-08-11
EP1714293A1 (en) 2006-10-25
US20060203563A1 (en) 2006-09-14
KR100895331B1 (ko) 2009-05-07
ATE448550T1 (de) 2009-11-15
US7447075B2 (en) 2008-11-04
TWI343056B (en) 2011-06-01
US7068539B2 (en) 2006-06-27
DE602005017584D1 (de) 2009-12-24

Similar Documents

Publication Publication Date Title
CN1930633B (zh) 用于编程非易失性存储器的设备和方法
CN1930631B (zh) 用于非易失性存储器的粗略/精细编程的可变电流吸收
CN1930632B (zh) 用于非易失性存储器的粗略/精细编程的有效验证
CN102306501B (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
KR100467410B1 (ko) 하나의 메모리 셀에 다중치 데이터를 기억시키는 불휘발성반도체 기억 장치
CN102890965B (zh) 半导体器件及其操作方法
CN101796591B (zh) 使用针对改进感测的不同参考电平的非易失性存储器中的粗略/精细编程验证
CN101584005A (zh) 非易失性存储器中的经分割擦除及擦除验证
CN101405812A (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
CN101584006A (zh) 非易失性存储器中的经分割的软编程
CN101127240A (zh) 降低非易失性存储器存储元件间耦合效应的方法
CN103814408A (zh) 用于非易失性存储器的部分编程块的读取补偿
CN102005244A (zh) 非易失性存储的可变编程
US8995188B2 (en) Sharing support circuitry in a memory
CN101779250A (zh) 编程脉冲持续期的智能控制
US7952935B2 (en) Nonvolatile memory device and program or verification method using the same
CN107430878A (zh) 非易失性存储系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORPORATION

Effective date: 20120913

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

Effective date of registration: 20120913

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: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.

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

Granted publication date: 20110629

Termination date: 20190125

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