用于闪速存储器的增量阶跃脉冲编程的自适应方案的制作方法

文档序号:11592403阅读:587来源:国知局

相关申请的交叉引用

本申请要求于2015年10月30日提交的申请号为62/248,940的名称为“用于nand存储器的增量阶跃脉冲编程的自适应方案(adaptiveschemeforincrementalsteppulseprogrammingofnandmemory)”的美国临时申请的权益,其通过引用并入本文。



背景技术:

随着连续的闪速存储器缩放特别是nand闪速存储器技术缩放,在nand闪速存储器的整个寿命周期中常规使用固定的开始编程电压(vstart)导致低效的编程。增量阶跃脉冲编程(ispp)是一种实现vth分布和编程时间(tprog)之间的平衡的常用nand编程方法。图1示出ispp方案,图2示出用于每单元2位闪速存储器的四个阈值电压分布,其中l0表示擦除状态,l1、l2和l3表示3个编程状态。ispp通过施加相对较低的开始编程电压vstart随后是编程校验pv操作而开始。之后,编程电压增加vstep并且执行另一编程/校验操作。重复该过程直到达到目标阈值电压(图2中的l1、l2或l3)。

如图1所示,编程脉冲的数量可按如下计算:

如上述关系指示,无论nand闪速存储器的寿命周期如何,编程时间都是固定的。然而,nand编程时间通常随着编程-擦除(pe)周期的数量的增加而减小。由于这种现象,在选择适当的vstart值时,需要考虑循环保护频带(在寿命开始(bol)条件和寿命结束(eol)条件之间的编程速度差)。如继续参照下面图3更清楚地描述,循环保护频带导致选择较低(保守)的vstart以避免在eol场景中的过度编程(编程过冲)。因此,循环保护频带导致比所需时间更长的bol编程时间(tprog)。这种编程低效率在具有大于四层的闪存技术诸如具有8个状态的tlc和具有16个状态的qlc中甚至更显著。

保护频带对vstart的选择的影响可在图3中更清楚地看到。在图3中,通过虚线所示的三个电压分布线表示对应于闪速存储器的编程/擦除(pe)寿命周期中的不同阶段的三个不同的vstart分布。紧接l0的第一虚线分布表示寿命开始(sol)分布。下一个表示寿命中间(mol)分布而最右边的虚线表示vstart的寿命结束(eol)分布。这三条分布虚线在图3中被标记为sol、mol和eol。可看出,随着pe周期的增加,vstart的分布变得更高。换言之,随着pe周期数量的增加,nand单元的编程变得越来越容易。然而,在初始化vstart编程之后,vstart分布不应超出l1状态的分布。这通过图3中被标记为eol的虚线分布说明。如果vstart的分布超过l1状态,则发生过冲状态并且编程失败。因此,vstart被设置成较低的值以避免在eol条件下的过冲编程。然而,较低的vstart值导致在bol到mol周期期间比必需的编程慢,因此导致过长的整体编程性能。这种编程低效率在具有大于四层诸如tlc(8层)和qlc(16层)的闪存技术中甚至更显著。因此,需要更有效的编程技术。



技术实现要素:

根据一个实施例,一种编程闪速存储器的方法包括以下步骤:使用试验编程电压对多个存储器单元执行编程/校验操作以确定单元编程速度;基于确定的单元编程速度修正开始编程电压;以及执行一系列编程/校验操作以将多个选择的存储器单元编程至目标编程状态,其中在该一系列的编程/校验操作的第一个操作中,使用等于修正的开始编程电压的编程电压,并且在随后的编程/校验操作中,编程电压从修正的开始编程电压被递增直到多个选择的存储器单元被编程至目标状态。

在一些变型例中,开始编程电压被设置成试验编程电压减去δ电压,δ电压表示试验编程电压分布的上拉电压(uptailvoltage)与对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的差。

在其它变型例中,试验编程电压和阈值电压分布的上拉电压两者都是恒定电压。

在其它变型例中,试验编程电压被选择,使得试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。

根据另一个实施例,一种编程闪速存储器的方法包括:通过将试验编程电压施加至多个存储器单元来编程多个存储器单元;执行多个编程校验操作以确定针对编程的多个存储器单元的试验编程电压分布的上拉电压;以及使用开始编程电压编程多个存储器单元,其中开始编程电压被设置成试验编程电压减去δ电压,δ电压表示试验编程电压分布的上拉电压与对应多个单元状态中的一个的阈值电压分布的上拉电压之间的差。

在一个变型例中,试验编程电压被选择,使得试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。

在另一个变型例中,执行多个编程校验操作包括执行二分搜索以确定试验编程电压分布的上拉电压。

根据另一个实施例,一种闪速存储器的编程方法包括:通过将试验编程电压施加至多个存储器单元来编程多个存储器单元;确定针对编程的多个存储器单元的试验编程电压分布的上拉电压;获得试验编程电压分布的上拉电压和对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的电压差;将试验编程电压减小与获得的电压差相等的量;将开始编程电压的值设置成减小的试验编程电压;以及执行一系列编程/校验操作以将多个选择的存储器单元编程至目标编程状态,其中在该一系列的编程/校验操作的第一个操作中,使用等于开始编程电压的编程电压。

在一个变型例中,试验编程电压被选择使得试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。

在另一个变型例中,试验编程电压分布的上拉电压使用二分搜索来确定。

附图说明

图1是常规递增阶跃脉冲编程ispp技术的简化时序图;

图2是示出用于每单元2位闪速存储器的四个阈值电压分布的简图,其中l0表示擦除状态,l1、l2和l3表示3个编程状态;

图3是示出为了防止闪速存储器的寿命结束(eol)周期中的程序过冲所需的防护带宽的简图;

图4是示出根据一些实施例的自适应编程技术的流程图;

图5是示出根据一些实施例的自适应编程方案的时序图;

图6是示出根据一些实施例的当选择用于试验编程电压vtrial的值时需要考虑的一些因素的简图;

图7是示出根据一些实施例的可执行确定vtrial分布的上拉vtrialup的多个校验操作的简图;

图8是示出用于每单元3位闪速存储器(tlc)的8个阈值电压分布的简图,其中l0表示擦除状态并且l1至l7表示7个编程状态;

图9是示出用于每单元4位闪速存储器(qlc)的16个阈值电压分布的简图,其中l0表示擦除状态并且l1至l15表示15个编程状态;

图10是示出根据一些实施例的自适应编程方法的流程图;

图11是根据一些实施例的其中实施自适应编程技术的nand闪速存储器的简化框图。

具体实施方式

在本公开中,描述一种以最小开销显著降低总编程时间的用于编程闪速存储器的自适应编程方法。图4是示出根据一些实施例的自适应编程技术的流程图400。在步骤402处,闪速存储器编程被启动。首先,使用试验编程电压来检测单元编程速度(步骤404)。然后,基于检测到的单元编程速度调节开始编程电压vstart(步骤406)。然后,使用vstart的调节值执行ispp。该技术使得vstart在闪速存储器的寿命的不同阶段改变以引起存储器单元的编程特性的变化。例如,当与存储器装置的寿命结束(eol)相比编程更快时,在存储器装置的寿命开始(sol)中,自适应技术导致较高的vstart值,这将有助于降低将存储器单元编程至所需要状态的编程/校验迭代的数量。根据一些实施例的自适应编程方法的更详细的实现方式可以如下:使用试验编程电压执行编程/校验操作以确定单元编程速度;基于确定的单元编程速度修正开始编程电压;然后执行一系列的编程/校验操作以将多个选择的存储器单元编程至目标编程状态,在该一系列的编程/校验操作的第一个操作中,使用等于修正的开始编程电压的编程电压,并且在随后的编程/校验操作中,编程电压从修正的开始编程电压被递增直到多个选择的存储器单元被编程至目标状态。在一些实施例中,试验编程电压在存储器装置的寿命期间是恒定电压,并且可基于nand存储器单元的特征来选择。在这种实施例中,用于试验编程电压的值可在闪速存储器装置的制造期间被存储在闪速存储器装置中的永久存储位置中,或者可以在存储器装置制造之后被编程至非易失性存储位置中。在其它实施例中,自适应编程技术根据指定在执行自适应编程技术的闪速存储器装置的寿命周期期间的时间帧的预设策略来执行。接下来参照图5至图11更全面地描述了自适应编程技术的这些和其它实施例。

图5是示出根据一些实施例的自适应编程方案的时序图。在编程例程的开始使用试验编程电压vtrial以便确定最佳vstart值。如图5所示,在初始化vtrial编程之后,vtrial分布的上拉(vtrialup)使用多个编程校验pv(或读取)操作来检测。在一些实施例中,二分搜索可被执行以使确定vtrialup所需的读取操作的数量最小化。并且,可应用公差,利用其可以忽略不规则的编程单元以使vtrialup的检测保守。例如,特别是因为在闪存控制器侧中存在用以校正不规则的编程单元的ecc,所以可设定位于正态分布之外的高达5位不规则单元的公差极限。

在一些实施例中,vtrial在存储器装置的寿命期间可以是恒定电压并且可以从nand单元表征导出。在这种实施例中,可针对vtrial选择使在eol周期处的vtrial电压分布保证落入所有编程状态的电压分布内的值。这在图6中说明。在图6中,通过虚线所示的三个电压分布线表示对应于闪速存储器的编程/擦除(pe)寿命周期中的不同阶段的三种不同的vtrial分布。l0右侧的第一条虚线分布表示寿命开始(sol)分布;下一个表示寿命中间(mol)分布;而最右边的虚线表示vtrial的寿命结束(eol)分布。这三条分布虚线在图6中被标记为sol、mol和eol。如所预期的,随着pe周期的增加,vtrial的分布变高,其反映nand单元编程的较高速度。图6还标记sol、mol和eol分布中的每一个的vtrial分布的上拉(vtrialup)。如图6所示,通过nand单元表征,适当的vtrial电压可被选择,使得在整个闪速存储器寿命周期的分布的上拉范围在l1(l1up)的上拉和l3(l3up)的上拉之间。这可防止在eol周期期间的过度编程情况产生。

如果l1分布的上拉通过vl1up定义,并且vtrial分布的上拉由vtrialup定义,则vtrialup与vl1up之间的差是:

δv=vtrialup-vl1up

针对开始编程电压vstart的值可按如下设置:

vstart=vtrial-δv

如图5所示,一旦vstart的值被确定,则可使用vstart的调节值执行正常ispp编程。vstart的这种自适应的确定导致在闪速存储器寿命的不同阶段的最佳编程时间tprog,而不需要例如通过ssd控制器的外部控制,并且具有最小的开销。

图7示出可被执行以确定vtrial分布的上拉的vtrialup的多个校验操作。可以看出,多个编程校验pv操作被执行以找到vtrialup。可使用二分搜索以缩短搜索时间。应当注意到,类似于在闪速存储器的整个寿命期间是固定值的vtrialup,在上述等式中用于vl1up的值在闪速存储器的整个寿命期间也是固定值。类似于vtrialup,vl1up的值可基于闪速存储器单元的表征来确定,并且这种值可以在闪速存储器装置的制造期间被存储在闪速存储器装置中的永久存储位置中,或者可在存储器装置制造之后被编程至非易失性存储位置中。

自适应技术在可使用单触发编程(通过一次编程时间-tprog限定每个单元状态)且3dnand不存在单元到单元干扰的3dnand技术中特别有用。此外,可应用vtrial以在闪速存储器装置的寿命周期期间的特定时间点(例如,在特定数量的编程/擦除(pe)周期之后)确定编程速度。可针对不同类型的闪存装置设置不同的策略。例如,在2dnand中,由于2dnand架构在相邻的单元之间具有浮动栅极到浮动栅极的干扰,所以可使用不同的算法。

在一些实施例中,当施加vtrial电压以确定编程速度时,必须注意到,仅将vtrial施加到最高vth分布目标(在上述示例中,对于mlc为l3)。所有其它目标层将被禁止编程,使得除了最高层之外的层中的数据不被破坏。

虽然上文描述了4层单元技术(mlc)背景下的自适应编程技术,但是该技术还可应用于tlc(8层单元-图8)技术和qlc(16层单元-图9)技术。在这些技术中,vtrial需要分别应用于针对tlc的l7和针对qlc的l15。然而,当确定vstart时,没有必要将最高层定为目标。例如,在tlc中,当确定vstart值时,可将对于vtrial编程是合理的足够高的层的层l6而非l7定为目标。

图10是示出根据一些实施例的自适应编程技术的流程图。在步骤1002中,启动闪速存储器编程。在步骤1004中,检查预设策略以确定是否要检查编程速度。在步骤1006中,如果确定要检查编程速度,则使用vtrial执行编程操作,随后多个编程校验操作被执行以检测vtrial分布的上拉(vtrialup)。在步骤1008中,基于检测到的vtrialup来调节开始编程电压vstart。在步骤1010中,使用调节的vstart值来执行ispp例程。

因此,公开的编程方案自适应地调节用于增量阶跃脉冲编程的vstart,这特别是在闪存装置的寿命的早期阶段显著提高编程时间。为了确定在nand寿命的不同阶段的编程速度,最佳开始编程电压vstart使用试验编程vtrial来确定。另外,可采用关于何时应用试验编程的一组策略,使得与试验编程相关的开销可以最小化。在tlc及更多层的单元技术(例如qlc)的情况下,需要使用更小的步长以实现更密的vth分布。这意味着需要大量的编程脉冲。通过在存储器装置的寿命的不同阶段添加一个额外的试验编程脉冲和多个验证,一致且最优的tprog时间可在闪速存储器装置的寿命时间(pe周期)内获得。

从ssd控制器的角度来看,本发明的优点在于与ispp相关的参数(例如,vpgm_start、vstep)在闪速存储器装置的不同pe周期不需要控制器来调节。由于nand闪存(通过本文公开的自适应技术)智能地调节这些参数,所以错误的可能性可被消除并且在闪速存储器的寿命期间tprog的变化可被最小化。

图11是根据一些实施例的其中可实现自适应编程技术的nand闪速存储器装置1100的简化框图。在图11中,闪速存储器装置1100与作为电子系统的一部分的处理器1130通信。处理器1130可以是存储器控制器或其它外部主机装置。存储器装置1100包括以行和列布置的存储器单元阵列1104。提供行解码器1108和列解码器1110以解码用于选择存储器阵列1104中的存储器单元的地址信号。存储器装置1100还包括管理命令、地址和数据输入至存储器装置1100以及从存储器装置1100输出数据和状态信息的输入/输出(i/o)控制电路1112和控制逻辑块1116。地址寄存器1114与i/o控制电路1112以及行解码器1108与列解码器1110通信以在解码之前锁存进入的地址信号。命令寄存器1124与i/o控制电路1112和控制逻辑1116通信以锁存进入的命令。控制逻辑1116响应于命令控制对存储器阵列1104的访问并且产生用于外部处理器1130的状态信息。

控制逻辑1116还与高速缓存寄存器1118通信。高速缓存寄存器1118根据控制逻辑1116的指示锁存输入或输出的数据以当存储器阵列1104被写入或读取时临时存储数据。在写入操作期间,数据从高速缓存寄存器1118被传递至数据寄存器1120以发送至存储器阵列1104。然后,新数据从i/o控制电路1112被锁存在高速缓存寄存器1118中。在读取操作期间,数据从高速缓存寄存器1118被传递至i/o控制电路1112以输出至外部处理器1130。然后,新数据从数据寄存器1120被传递至高速缓存寄存器1118。状态寄存器1122与i/o控制电路1112和控制逻辑1116通信以锁存用于输出至处理器1130的状态信息。

存储器装置1100在控制逻辑1116处通过控制链路1132从处理器1130接收控制信号。控制信号可至少包括芯片启用ce#、命令锁存启用cle、地址锁存启用ale和写入启用we#。存储器装置1100通过多路复用输入/输出(i/o)总线1134从处理器1130接收命令信号(其表示命令)、地址信号(其表示地址)和数据信号(其表示数据),并将数据通过i/o总线1134输出至处理器1130。

例如,命令通过在i/o控制电路1112处的i/o总线1134的输入/输出(i/o)引脚[0:7]被接收并写入命令寄存器1124中。地址通过在i/o控制电路1112处的总线1134的输入/输出(i/o)引脚[0:7]被接收并写入地址寄存器1114中。数据通过在i/o控制电路1112处的用于8位装置的输入/输出(i/o)引脚[0:7]或用于16位装置的输入/输出(i/o)引脚[0:15]被接收并写入高速缓存寄存器1118。数据随后被写入用于编程存储器阵列1104的数据寄存器1120中。在一些实施例中,可省略高速缓存寄存器1118,数据被直接写入数据寄存器1120中。数据也通过用于8位装置的输入/输出(i/o)引脚[0:7]或用于16位装置的输入/输出(i/o)引脚[0:15]输出。

根据一些实施例,控制逻辑1116被配置成监控预设策略(例如,编程脉冲计数和/或编程/擦除周期的数量),并且根据预设策略以及上述技术调节开始编程电压vstart。逻辑电路可在闪速存储器装置1100中实施以执行上文概述的用于确定vstart的处理步骤。这种逻辑电路可被联接以与控制逻辑块1116和存储器阵列1104通信。此外,存储器装置1100可被配置成永久地存储vtrialup和vllup的固定值。这些值可被存储在存储器阵列1104中的特定存储器位置中,或者存储在位于存储器阵列1104外部的非易失性存储单元或锁存器中。

本领域技术人员将理解的是,可提供附加的电路和信号,并且为了清楚起见,图11的存储器装置已被简化。此外,虽然根据用于接收和输出各种信号的通常惯例描述特定i/o引脚,但应当注意到,在各个实施例中可使用其它组合或其它数量的i/o引脚。并且,本文公开的自适应技术的实施不限于图11所示的特定类型的存储器装置或存储器架构,并且还可在享有自适应技术的好处的其它非易失性存储器装置和架构中实施。

因此,本文公开的实施例不限于所描述的具体实施例的范围。根据上文的描述和附图,除了本文描述的变型例之外,本发明的实施例的各种变型对于本领域普通技术人员是显而易见的。此外,虽然在特定环境中针对特定目的的特定实施的情况下,已经描述本发明的一些实施例,但是本领域普通技术人员将认识到其用处不限于此,并且本发明的实施例可出于任何数量的目的在任何数量的环境中有益地实施。虽然本发明通过如上所述的具体实施例被公开,但是这些实施例不旨在限制本发明。基于以上公开的方法和技术方面,在不脱离本发明的精神和范围的情况下,本领域普通技术人员可对提出的实施例进行变型和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1