CN107025943A - 用于闪速存储器的增量阶跃脉冲编程的自适应方案 - Google Patents

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

Info

Publication number
CN107025943A
CN107025943A CN201610928851.1A CN201610928851A CN107025943A CN 107025943 A CN107025943 A CN 107025943A CN 201610928851 A CN201610928851 A CN 201610928851A CN 107025943 A CN107025943 A CN 107025943A
Authority
CN
China
Prior art keywords
voltage
programming
program voltage
distribution
pull
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.)
Granted
Application number
CN201610928851.1A
Other languages
English (en)
Other versions
CN107025943B (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN107025943A publication Critical patent/CN107025943A/zh
Application granted granted Critical
Publication of CN107025943B publication Critical patent/CN107025943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

根据一种用于闪速存储器的自适应编程方法,单元编程速度通过使用固定的试验编程电压编程多个单元来检测。然后,基于检测到的单元编程速度来调节开始编程电压Vstart。然后,使用Vstart的调节值来执行ISPP。

Description

用于闪速存储器的增量阶跃脉冲编程的自适应方案
相关申请的交叉引用
本申请要求于2015年10月30日提交的申请号为62/248,940的名称为“用于NAND存储器的增量阶跃脉冲编程的自适应方案(ADAPTIVE SCHEME FOR INCREMENTAL STEP PULSEPROGRAMMING OF NAND MEMORY)”的美国临时申请的权益,其通过引用并入本文。
背景技术
随着连续的闪速存储器缩放特别是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层)的闪存技术中甚至更显著。因此,需要更有效的编程技术。
发明内容
根据一个实施例,一种编程闪速存储器的方法包括以下步骤:使用试验编程电压对多个存储器单元执行编程/校验操作以确定单元编程速度;基于确定的单元编程速度修正开始编程电压;以及执行一系列编程/校验操作以将多个选择的存储器单元编程至目标编程状态,其中在该一系列的编程/校验操作的第一个操作中,使用等于修正的开始编程电压的编程电压,并且在随后的编程/校验操作中,编程电压从修正的开始编程电压被递增直到多个选择的存储器单元被编程至目标状态。
在一些变型例中,开始编程电压被设置成试验编程电压减去Δ电压,Δ电压表示试验编程电压分布的上拉电压(uptail voltage)与对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的差。
在其它变型例中,试验编程电压和阈值电压分布的上拉电压两者都是恒定电压。
在其它变型例中,试验编程电压被选择,使得试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。
根据另一个实施例,一种编程闪速存储器的方法包括:通过将试验编程电压施加至多个存储器单元来编程多个存储器单元;执行多个编程校验操作以确定针对编程的多个存储器单元的试验编程电压分布的上拉电压;以及使用开始编程电压编程多个存储器单元,其中开始编程电压被设置成试验编程电压减去Δ电压,Δ电压表示试验编程电压分布的上拉电压与对应多个单元状态中的一个的阈值电压分布的上拉电压之间的差。
在一个变型例中,试验编程电压被选择,使得试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。
在另一个变型例中,执行多个编程校验操作包括执行二分搜索以确定试验编程电压分布的上拉电压。
根据另一个实施例,一种闪速存储器的编程方法包括:通过将试验编程电压施加至多个存储器单元来编程多个存储器单元;确定针对编程的多个存储器单元的试验编程电压分布的上拉电压;获得试验编程电压分布的上拉电压和对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的电压差;将试验编程电压减小与获得的电压差相等的量;将开始编程电压的值设置成减小的试验编程电压;以及执行一系列编程/校验操作以将多个选择的存储器单元编程至目标编程状态,其中在该一系列的编程/校验操作的第一个操作中,使用等于开始编程电压的编程电压。
在一个变型例中,试验编程电压被选择使得试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。
在另一个变型例中,试验编程电压分布的上拉电压使用二分搜索来确定。
附图说明
图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限定每个单元状态)且3D NAND不存在单元到单元干扰的3D NAND技术中特别有用。此外,可应用Vtrial以在闪速存储器装置的寿命周期期间的特定时间点(例如,在特定数量的编程/擦除(PE)周期之后)确定编程速度。可针对不同类型的闪存装置设置不同的策略。例如,在2D NAND中,由于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所示的特定类型的存储器装置或存储器架构,并且还可在享有自适应技术的好处的其它非易失性存储器装置和架构中实施。
因此,本文公开的实施例不限于所描述的具体实施例的范围。根据上文的描述和附图,除了本文描述的变型例之外,本发明的实施例的各种变型对于本领域普通技术人员是显而易见的。此外,虽然在特定环境中针对特定目的的特定实施的情况下,已经描述本发明的一些实施例,但是本领域普通技术人员将认识到其用处不限于此,并且本发明的实施例可出于任何数量的目的在任何数量的环境中有益地实施。虽然本发明通过如上所述的具体实施例被公开,但是这些实施例不旨在限制本发明。基于以上公开的方法和技术方面,在不脱离本发明的精神和范围的情况下,本领域普通技术人员可对提出的实施例进行变型和改变。

Claims (13)

1.一种编程闪速存储器的方法,所述方法包括:
使用试验编程电压对多个存储器单元执行编程/校验操作以确定单元编程速度;
基于所述确定的单元编程速度修正开始编程电压;以及
执行一系列编程/校验操作以将多个选择的存储器单元编程至目标编程状态,其中在所述一系列的编程/校验操作的第一个操作中,使用等于所述修正的开始编程电压的编程电压,并且在随后的编程/校验操作中,所述编程电压从所述修正的开始编程电压被递增直到所述多个选择的存储器单元被编程至所述目标状态。
2.根据权利要求1所述的方法,其中所述试验编程电压在所述闪速存储器的寿命期间是恒定电压。
3.根据权利要求1所述的方法,其中所述开始编程电压被设置成所述试验编程电压减去Δ电压,所述Δ电压表示所述试验编程电压分布的上拉电压与对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的差。
4.根据权利要求3所述的方法,其中所述试验编程电压和所述阈值电压分布的上拉电压两者都是恒定电压。
5.根据权利要求1所述的方法,其中所述试验编程电压被选择,使得所述试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。
6.一种编程闪速存储器的方法,所述方法包括:
通过将试验编程电压施加至所述多个存储器单元来编程多个存储器单元;
执行多个编程校验操作以确定针对所述编程的多个存储器单元的试验编程电压分布的上拉电压;以及
使用开始编程电压编程多个存储器单元,其中所述开始编程电压被设置成试验编程电压减去Δ电压,所述Δ电压表示所述试验编程电压分布的上拉电压与对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的差。
7.根据权利要求6所述的方法,其中所述试验编程电压和所述阈值电压分布的上拉电压两者都是恒定电压。
8.根据权利要求6所述的方法,其中所述试验编程电压被选择,使得所述试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的所述最高编程状态的最后阈值电压分布的上拉。
9.根据权利要求6所述的方法,其中执行多个编程校验操作包括执行二分搜索以确定所述试验编程电压分布的上拉电压。
10.一种编程闪速存储器的方法,所述方法包括:
通过将试验编程电压施加至多个存储器单元来编程多个存储器单元;
确定针对所述编程的多个存储器单元的试验编程电压分布的上拉电压;
获得所述试验编程电压分布的上拉电压和对应于多个单元状态中的一个的阈值电压分布的上拉电压之间的电压差;
将所述试验编程电压减小与所述获得的电压差相等的量;
将开始编程电压的值设置成所述减小的试验编程电压;以及
执行一系列编程/校验操作以将多个选择的存储器单元编程至目标编程状态,其中在所述一系列的编程/校验操作的第一个操作中,使用等于所述开始编程电压的编程电压。
11.根据权利要求10所述的方法,其中所述试验编程电压和所述阈值电压分布的上拉电压两者都是恒定电压。
12.根据权利要求10所述的方法,其中所述试验编程电压被选择,使得所述试验编程电压分布的上拉大于对应于多个不同编程状态中的最低编程状态的第一阈值电压分布的上拉,并且小于对应于多个不同编程状态中的最高编程状态的最后阈值电压分布的上拉。
13.根据权利要求10所述的方法,其中所述试验编程电压分布的上拉电压使用二分搜索来确定。
CN201610928851.1A 2015-10-30 2016-10-31 用于闪速存储器的增量阶跃脉冲编程的自适应方法 Active CN107025943B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562248940P 2015-10-30 2015-10-30
US62/248,940 2015-10-30
US15/335,413 US9792999B2 (en) 2015-10-30 2016-10-26 Adaptive scheme for incremental step pulse programming of flash memory
US15/335,413 2016-10-26

Publications (2)

Publication Number Publication Date
CN107025943A true CN107025943A (zh) 2017-08-08
CN107025943B CN107025943B (zh) 2020-11-06

Family

ID=58635850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610928851.1A Active CN107025943B (zh) 2015-10-30 2016-10-31 用于闪速存储器的增量阶跃脉冲编程的自适应方法

Country Status (3)

Country Link
US (1) US9792999B2 (zh)
CN (1) CN107025943B (zh)
TW (1) TWI705443B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110634527A (zh) * 2018-06-25 2019-12-31 西安格易安创集成电路有限公司 一种非易失存储器处理方法及装置
CN114121093A (zh) * 2020-08-31 2022-03-01 华邦电子股份有限公司 半导体存储装置以及编程方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210166B1 (en) * 2017-12-22 2021-12-28 Pliops Ltd. Efficient redundancy management in key-value NAND flash storage
WO2020232658A1 (en) * 2019-05-22 2020-11-26 Yangtze Memory Technologies Co., Ltd. Method of programming multilevel cell nand flash memory device and mlc nand flash memory device
KR20220067419A (ko) * 2020-11-17 2022-05-24 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이들의 동작 방법
KR20220076974A (ko) 2020-12-01 2022-06-08 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US11854620B2 (en) 2021-06-18 2023-12-26 Sandisk Technologies Llc Word line zoned adaptive initial program voltage for non-volatile memory
TWI822270B (zh) * 2022-08-24 2023-11-11 旺宏電子股份有限公司 記憶體裝置及其程式化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174471A (zh) * 2006-11-03 2008-05-07 海力士半导体有限公司 为闪存装置设定编程起始偏压的方法和使用它的编程方法
US20090201728A1 (en) * 2005-09-15 2009-08-13 Hynix Semiconductor Inc. Erase Method of Flash Memory Device
KR20120058157A (ko) * 2010-11-29 2012-06-07 에스케이하이닉스 주식회사 비휘발성 메모리 장치의 프로그래밍 방법
CN102651235A (zh) * 2011-02-28 2012-08-29 海力士半导体有限公司 非易失性存储装置及其操作方法
US8593881B2 (en) * 2007-09-17 2013-11-26 Spansion Israel Ltd Pre-charge sensing scheme for non-volatile memory (NVM)
CN103680622A (zh) * 2012-09-14 2014-03-26 飞思卡尔半导体公司 具有适应性写操作的非易失性存储器(nvm)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841457A (en) 1996-06-24 1998-11-24 Xerox Corporation Ion stream splitting and pre-focusing
TW338165B (en) 1996-09-09 1998-08-11 Sony Co Ltd Semiconductor nand type flash memory with incremental step pulse programming
KR100729359B1 (ko) 2005-09-23 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
US7679961B2 (en) 2007-04-25 2010-03-16 Micron Technology, Inc. Programming and/or erasing a memory device in response to its program and/or erase history
KR100960479B1 (ko) * 2007-12-24 2010-06-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
KR20090120205A (ko) 2008-05-19 2009-11-24 삼성전자주식회사 플래시 메모리 장치 및 그것의 동작 방법
KR101435889B1 (ko) * 2008-07-04 2014-09-01 삼성전자주식회사 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
KR101532584B1 (ko) 2009-01-30 2015-06-30 삼성전자주식회사 비휘발성 메모리 장치, 및 그의 프로그램 방법
KR101616099B1 (ko) 2009-12-03 2016-04-27 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
WO2012145817A1 (en) * 2011-04-26 2012-11-01 Research In Motion Limited Transmission of the pdp content activation rejection cause codes to the uicc
US9298603B2 (en) 2011-09-09 2016-03-29 OCZ Storage Solutions Inc. NAND flash-based storage device and methods of using
US8995192B2 (en) 2012-03-28 2015-03-31 Ps4 Luxco S.A.R.L. Method of programming selection transistors for NAND flash memory
KR20130138019A (ko) 2012-06-08 2013-12-18 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그 제어 방법
CN103514954B (zh) * 2013-10-11 2016-08-17 芯成半导体(上海)有限公司 闪存的擦除方法、读取方法及编程方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090201728A1 (en) * 2005-09-15 2009-08-13 Hynix Semiconductor Inc. Erase Method of Flash Memory Device
CN101174471A (zh) * 2006-11-03 2008-05-07 海力士半导体有限公司 为闪存装置设定编程起始偏压的方法和使用它的编程方法
US8593881B2 (en) * 2007-09-17 2013-11-26 Spansion Israel Ltd Pre-charge sensing scheme for non-volatile memory (NVM)
KR20120058157A (ko) * 2010-11-29 2012-06-07 에스케이하이닉스 주식회사 비휘발성 메모리 장치의 프로그래밍 방법
CN102651235A (zh) * 2011-02-28 2012-08-29 海力士半导体有限公司 非易失性存储装置及其操作方法
CN103680622A (zh) * 2012-09-14 2014-03-26 飞思卡尔半导体公司 具有适应性写操作的非易失性存储器(nvm)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110634527A (zh) * 2018-06-25 2019-12-31 西安格易安创集成电路有限公司 一种非易失存储器处理方法及装置
CN110634527B (zh) * 2018-06-25 2021-06-22 西安格易安创集成电路有限公司 一种非易失存储器处理方法及装置
CN114121093A (zh) * 2020-08-31 2022-03-01 华邦电子股份有限公司 半导体存储装置以及编程方法

Also Published As

Publication number Publication date
US20170125118A1 (en) 2017-05-04
CN107025943B (zh) 2020-11-06
TWI705443B (zh) 2020-09-21
US9792999B2 (en) 2017-10-17
TW201727644A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN107025943A (zh) 用于闪速存储器的增量阶跃脉冲编程的自适应方案
US10811098B2 (en) Programming of memory devices in response to programming voltages indicative of programming efficiency
TWI398870B (zh) 程式化一記憶體單元陣列及記憶體裝置之方法
US10043574B2 (en) Programming memories with multi-level pass signal
US7800956B2 (en) Programming algorithm to reduce disturb with minimal extra time penalty
KR100897415B1 (ko) 비휘발성 메모리의 소거 동작들의 워드 라인 보상
US7463520B2 (en) Memory device with variable trim settings
WO2008093327A1 (en) Flash memory with improved programming precision
CN109300498A (zh) 非易失性存储装置、其操作方法以及包括其的存储设备
CN103680615A (zh) 半导体存储器件及其操作方法
CN108877863B (zh) 快闪存储器存储装置及其操作方法
CN109817265A (zh) 半导体存储装置及其操作方法
CN108766495A (zh) 数据写入方法、存储器控制器与存储器存储装置
US20190035472A1 (en) Connecting memory cells to a data line sequentially while applying a read voltage to the memory cells and programming the read data to a single memory cell
CN106856102B (zh) 一种Nand Flash的编程方法
CN112530496B (zh) 存储器设备及其操作方法
JP2009048750A (ja) 不揮発性半導体記憶装置
CN115798552A (zh) 存储器装置及该存储器装置的操作方法
CN111630600B (zh) 3d nand闪存及其操作方法
CN109979515B (zh) 一种存储器编程方法及相关装置
CN112786094B (zh) 一种对存储装置执行操作的方法
KR20240079728A (ko) 증가형 스텝 펄스 프로그램 방식에 따른 프로그램 동작을 수행하는 메모리 장치, 이를 포함하는 저장 장치 및 이의 동작 방법
TW202247183A (zh) 記憶體設備及其操作方法
CN110556146A (zh) 一种存储单元的编程方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant