CN103943150B - 高性能和高可靠性闪存存储器的潜在的缓慢擦除位的动态检测方法 - Google Patents
高性能和高可靠性闪存存储器的潜在的缓慢擦除位的动态检测方法 Download PDFInfo
- Publication number
- CN103943150B CN103943150B CN201410019313.1A CN201410019313A CN103943150B CN 103943150 B CN103943150 B CN 103943150B CN 201410019313 A CN201410019313 A CN 201410019313A CN 103943150 B CN103943150 B CN 103943150B
- Authority
- CN
- China
- Prior art keywords
- nvm
- erasing
- soft programming
- programming pulses
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 93
- 238000012360 testing method Methods 0.000 title claims description 72
- 238000000034 method Methods 0.000 claims abstract description 149
- 230000004044 response Effects 0.000 claims abstract description 31
- 238000003860 storage Methods 0.000 claims description 44
- 230000008859 change Effects 0.000 claims description 41
- 238000001514 detection method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 description 62
- 238000009826 distribution Methods 0.000 description 43
- 238000004519 manufacturing process Methods 0.000 description 11
- 239000000047 product Substances 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 210000001367 artery Anatomy 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 210000003462 vein Anatomy 0.000 description 7
- 238000007667 floating Methods 0.000 description 5
- 238000004080 punching Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 229910052581 Si3N4 Inorganic materials 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 229910052738 indium Inorganic materials 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000036452 memory potential Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 239000002159 nanocrystal Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开了一种用于检测非易失性存储器中的潜在的缓慢位(例如,潜在的缓慢擦除位)的方法和装置。对擦除周期期间的地址中的软编程脉冲的最大数量计数。根据至少一个实施例,对在所述擦除周期期间的擦除脉冲的数量计数。根据不同实施例,相比于先前擦除周期,对所述软编程脉冲的最大数量相比于先前擦除周期是否已经以至少预定的最小速率的速率增加,对所述软编程脉冲的最大数量是否已经超过预定的阈值,对所述擦除脉冲的数量相比于先前擦除周期是否已经增加,或对其组合做出决定。响应于这样的决定,基于NVM中的缓慢位的存在或不存在,NVM通过或不合格。
Description
技术领域
本公开通常涉及存储器,更具体地,涉及非易失性存储器装置的检测。
相关技术描述
一些类型的非易失性存储器(NVM)单元分别通过施加特定的编程偏置电压和擦除偏置电压来编程和擦除,其中对这种操作可以执行多少次通常有限制。此外,一种常见的NVM存储类型(通常被称为闪存存储器)包括被同时擦除的很多NVM存储器单元(块)。由于性能变化,对于给定的一组擦除偏置电压,块的一些NVM存储器单元将快于所述块的其它NVM存储器单元被擦除,例如,置于已擦除状态。因此,由于擦除周期的持续时间被选择来擦除NVM块的所有单元,因此那些比相同块的其它存储器单元较快地被擦除的NVM存储器单元将继续受到擦除条件的影响,例如,不必要的擦除偏置电压的施加,而较慢的NVM存储器单元仍然在被擦除。对给定的一组偏置电压,需要较长时间擦除的位被称为缓慢位。
因此,较快擦除的NVM位会变成过擦除,这会造成表现出不期望的特性(例如,过度的电流泄露)的存储器单元。为了解决这样的问题,较快擦除的存储器单元可以经受一个或多个编程脉冲(被称为软编程脉冲)以将它们置于擦除的存储器单元的期望的统计分布,并克服与过擦除相关联的问题。这种编程被称为软编程。由于其每个地址地进行并且具有低编程偏置,因此软编程通常花费相对长的时间。随着更多单元需要被软编程,增加的软编程的持续时间可以最终导致嵌入的擦除操作不能在规定的最大时间内完成。此外,随着时间的推 移,在也许数以万计的编程/擦除周期之后,一些NVM存储器单元可能变成弱擦除或缓慢擦除。这些潜在的弱存储器单元很难检测,直到它们实际变成弱擦除或缓慢擦除。因此,缓慢擦除存储器单元通过生产测试但是在器件已被放置在最终产品中之后变得很明显,并不罕见。例如,这样的缓慢擦除位会可以导致NVM控制逻辑延长包括现在缓慢的位整个擦除块的擦除时间,这又可能导致该块的存储器单元在擦除操作之后的过擦除分布,因此显著地放缓了下面的软编程操作。最终,这样的缓慢擦除位将导致嵌入的擦除操作失败。
概述
根据一个实施例,提供了一种用于检测在非易失性存储器(NVM)中的潜在的缓慢擦除位的方法,包括:确定用于在当前擦除周期期间擦除NVM存储器单元的软编程脉冲的最大数量,从相应的多个存储器单元的多个软编程脉冲计数确定所述最大数量;确定所述当前擦除周期的所述软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率;以及响应于所述变化率超过预定的第一阈值,断言失败指示器。
根据另一个实施例,提供了一种非易失性存储器(NVM)包括:位单元阵列,包括用于存储多个位的多个位单元,所述位单元阵列包括用于脉冲计数存储的测试存储器区域;以及NVM控制器,耦接至所述位单元阵列,所述NVM控制器被配置用于使所述NVM控制器确定用来在当前擦除周期期间擦除所述多个位单元的位单元的软编程脉冲的最大数量、确定所述当前擦除周期的所述软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率、以及基于所述变化率超过预定的第一阈值断言失败信号以使所述NVM不合格。
根据另一个实施例,提供了一种方法,包括:响应于在先前擦除周期期间的第一最大软编程脉冲计数和在擦除周期期间的第二最大软编程脉冲计数之间的变化,检测非易失性存储器(NVM)中的潜在的缓慢 擦除位;以及响应于检测到潜在的缓慢擦除位,使所述NVM不合格。
附图说明
通过参照附图,可以更好地理解本公开,并且其很多特征和优点对于本领域技术人员变得明显。
图1是示出了根据至少一个实施例的装置100的框图。
图2是示出了根据至少一个实施例的在预编程过程和擦除过程之后的没有作为可以被测试的缓慢擦除位的NVM块的阈值电压(Vt)分布的统计分布图200。
图3是示出了根据至少一个实施例的在预编程过程之后和在擦除过程之后的具有可以被测试的缓慢擦除位的NVM块的阈值电压(Vt)分布的统计分布图300。
图4是示出了根据至少一个实施例的在软编程过程之后没有缓慢擦除位的NVM块的阈值电压(Vt)分布和在软编程过程之后具有作为可以被测试的缓慢擦除位的另一NVM块的Vt分布的统计分布图400。
图5是示出了根据至少一个实施例的用于没有潜在的缓慢擦除位的NVM块以及用于具有潜在的缓慢擦除位的NVM块的擦除脉冲计数和最大软编程脉冲计数的图500。
图6是示出了根据至少一个实施例的例如对于生产测试有用的方法600的流程图。
图7是示出了根据至少一个实施例的用于脉冲计数存储的存储器结构700和在这样的存储器结构700的使用的随时间的进展的框图。
图8是示出了根据至少一个实施例的例如对于NVM控制器中的实现有用的方法800的流程图。
不同附图中使用的相同的参考标记指示类似或相同的项。
附图详细描述
提供了用于检测有可能随着时间显著地慢于存储器的其它NVM位 的非易失性存储器(NVM)位的方法和装置的实施例。这样的位在这里被称为潜在的缓慢位。这样潜在的缓慢位的一个示例是潜在的缓慢擦除位,其可以例如是具有异常地厚的氧化物,但是有较低的晶圆厂外(即,在制作NVM装置的制作之后)的阈值电压(Vt)的位。这样的位在循环期间最终将会作为缓慢擦除位出现,但是典型的生产测试流程将不会检测到它。这样的缓慢擦除位将很有可能在擦除步骤之后导致过擦除分布,因此显著地放缓了下面的软编程步骤。这样的现象可以被分析来较快地检测潜在的缓慢位,从而节省测试时间和较快且更有效地获得测试结果。所公开的方法和装置可以被用于高性能和高可靠性闪存存储器的潜在的缓慢擦除位检测。
可以通过跨擦除周期地分析擦除存储器单元的块的位所需的擦除脉冲的数量以及恢复存储器单元的块的过擦除的位所需的软编程脉冲的最大数量(即,在NVM块中的所有地址之间中所需的软编程脉冲的最大数量)来确定存储器块的潜在的缓慢位的存在。将了解,如果擦除脉冲的数量没有增加,如果软编程脉冲的最大数量没有突然增加,或者如果软编程脉冲的最大数量未超过软编程脉冲阈值,那么存储器块随着时间发展出缓慢擦除位的可能性被认为是低的,并且存储器块的测试通过。然而,如果擦除脉冲的数量已增加,如果软编程脉冲的最大数量已突然增加以及软编程脉冲的最大数量已超过了软编程脉冲阈值,那么存储器块随着时间发展出缓慢擦除位的可能性被认为是高的,并且存储器块的测试不合格。
用于一些NVM的典型的存储器操作包括擦除、编程、以及读取。这些操作中的每一个都是使用可以根据操作的模式变化的相应的一组操作标准来实现的。例如,擦除周期的操作标准包括一组擦除偏置电平和施加于正被擦除的NVM单元的擦除定时。类似地,编程NVM单元与相应的一组编程偏置电平和编程定时相关联;读取NVM单元与相应的一组读取偏置电平和读取定时相关联。
根据一个实施例,NVM擦除操作包括预编程、擦除和软编程过程。在预编程过程中,NVM块中的所有的位将被编程以具有在编程验证电平 (PV)之上的阈值电压(Vt)以允许擦除在一致的状态下开始。然后,擦除过程将擦除所有位到擦除验证电平(EV)之下。由于擦除是其中擦除脉冲将使NVM块中的所有位移动的批量操作(bulk operation),因此,一些位将被过擦除,即,被擦除到在软编程验证电平(SPV)之下的阈值电压。并且最终,在软编程过程处,在软编程验证电平之下的所有位将被编程在具有非常低的栅极偏置的软编程验证电平之上以避免用于任何位的擦除验证电平的过冲。作为结果,当擦除操作完成时,所选块中的所有位将使它们的阈值电压在擦除验证电平和软编程验证电平之间的预定义的窗口内。
根据一个执行NVM位单元的预编程、擦除和软编程的实施例,表1提供了端子电压的示例性的值,包括栅极端子电压(Vg)、漏极端子电压(Vd)、源极端子电压(Vs)以及体或衬底端子电压(Vb),如下:
表1-用于存储器操作的示例性端子电压
Vg | Vd | Vs | Vb | |
编程 | 8.5伏特 | 4.2伏特 | 接地 | 接地 |
擦除 | -8.5伏特 | 浮置 | 浮置 | 8.5伏特 |
软编程 | 3伏特 | 4.2伏特 | 接地 | 接地 |
在生产测试流程中的编程/擦除循环期间,NVM块被重复地编程、擦除和读取以验证适当的操作。在这个循环期间,每个周期处的擦除脉冲计数和最大软编程脉冲计数被存储,并被与先前周期的那些相比较。除了超过预定限制的最大软编程脉冲计数,还相比于先前的周期的所执行的软编程脉冲的最大数量的突然增加和所执行的擦除脉冲数量的增加,指示存储器块有可能包括潜在缓慢位,例如,随着时间变成缓慢擦除位的存储器单元;因此,存储器的测试已不合格,并且包括该NVM块的装置被拒绝。替代地,不存在从先前周期的最大软编程脉冲计数的突然增加或擦除脉冲计数的任何增加,或者最大软编程脉冲计数未超过预定限制,指示存储器块不太可能包含缓慢擦除位,并因此,存储器的 测试通过。可以通过提供失败指示器来指示存储器测试不通过。例如,可以通过断言电子信号(例如,断言信号以将位写入易失性存储器或写入非易失性存储器,驱动NVM的输出处的信号,等等)来提供失败指示器。
在擦除操作之后的NVM位单元的阈值电压(Vt)分布极大地受到缓慢擦除位的存在的影响。原因是由于大部分正被擦除的位已经暴露于擦除条件较长时间,例如,暴露于充分地擦除缓慢擦除位所需的附加的擦除脉冲,例如,将其Vt改变为小于正常擦除验证电平。因此,较快擦除的NVM位可以变成过擦除,即,具有在软编程验证电平之下的阈值电压。这样的较快擦除的NVM位被软编程到软编程验证电平之上以克服与过擦除相关联的问题,例如过度的列电流(column current)泄漏。注意,由于其每个地址地进行并且有低编程偏置,因此软编程通常需要相对长的时间。随着更多单元需要被软编程,增加的软编程的持续时间可以最终导致所嵌入的擦除操作不能在指定的最大时间内完成。因此,所描述的缓慢擦除位测试可以被用来尽早地筛选出任何具有潜在的缓慢擦除位的单元。
虽然本公开主要涉及NVM位的擦除,例如擦除、对先前周期执行动态性能(擦除脉冲计数和最大软编程脉冲计数)检查、以及发现潜在的缓慢擦除位,但应理解,对于存储器的任何状态变化,可以使用类似的测试方案。例如,在编程测试操作中,可以使用类似的测试方案来筛选出具有缓慢编程位的单元。参照图1-8可以更好地理解本发明的各种实施例。
图1示出了根据至少一个实施例的装置100的框图。装置100包括非易失性存储器(NVM)101、通用处理器102、易失性存储器103、外部输入-输出(I/O)设备104、以及其它设备105,其每一个可以经由公共总线110或经由独立的连接而连接到NVM101。图1的装置100可以是包括NVM101和通用处理器102的集成电路。NVM101包括位单元阵列106、NVM控制器107、以及电荷泵108。NVM控制器107包括控制逻辑109,其可以使用有限状态机(FSM)、具有可执行代码(例如, 固件)的微处理器等来实现。控制逻辑109可以例如包括流程控制逻辑113来控制NVM101的测试周期的流程,以便利用根据至少一个实施例的方法。例如,NVM控制器107可以用来实现诸如如图6和图8中所示的方法。作为另一个示例,用户程序可以被授权访问寄存器,所述寄存器包含擦除脉冲计数、最后的擦除脉冲计数、最大软编程脉冲计数、以及最后的最大软编程脉冲计数的值,并且用户程序可以控制根据至少一个实施例的方法的实现。NVM控制器107连接到位单元阵列106以控制位单元阵列上的操作,例如位单元阵列内位的读取、写入、以及擦除。NVM控制器107连接到电荷泵108以控制电荷泵108的操作,例如控制用于编程、擦除、以及读取操作的偏置电平。电荷泵108连接到位单元阵列106以向位单元阵列提供偏置,例如提供用于编程、擦除以及读取操作的偏置。根据一个实施例,位单元阵列包括多个擦除块,其中单独的擦除块的位被同时擦除。位单元阵列106包括用于存储多个位的多个位单元。位单元阵列106包括测试NVM区域111,其中可以存储用于管理NVM的操作的数据。测试NVM区域111包括脉冲计数存储部112,其中可以存储脉冲计数。作为示例,先前软编程脉冲的最大数量和先前擦除脉冲的数量可以被存储在测试NVM区域111中以及从测试NVM区域111取回。作为其它示例,在测试NVM区域中存储最大软编程脉冲计数的多个实例(instance)(例如,第一最大软编程脉冲计数和第二最大软编程脉冲计数)可以被存储在测试NVM区域111中,并且这样的多个实例可以发生在测试NVM区域的擦除之间。其它实施例可以具有其它的配置。
图2是示出了根据至少一个实施例的在预编程过程之后和擦除过程之后没有作为可以被测试的缓慢擦除位的NVM块的Vt分布的统计分布图200。相对于线性横轴201(表示阈值电压参数)和对数纵轴202(表示其NVM的位单元具有相应的阈值电压的位的数量),绘制了在预编程过程203之后和擦除过程204之后的Vt分布。执行预编程过程以改变NVM的位单元的阈值电压,从而使得位单元的阈值电压在编程验证电压(PV)208之上并且位单元的阈值电压符合Vt分布203。然后,执行擦 除过程以改变NVM的位单元的阈值电压,以使得位单元的阈值电压在擦除验证电压(EV)209之下并且位单元的阈值电压符合Vt分布204。如图所示,NVM的位单元的一些阈值电压可以小于软编程验证电压(SPV)206,并且甚至小于0(即,在纵轴202的左边),在这种情况下阈值电压是负电压。过低的阈值电压会导致泄漏、浪费功率和损害NVM操作,因此擦除群体204的阴影部分205通过软编程过程被提高至SPV206之上,如图4所示,这导致擦除的NVM位单元的阈值电压的更紧密、更期望的分布。
图3是示出了根据至少一个实施例的在预编程过程之后和在擦除过程之后具有作为可以被测试的缓慢擦除位的NVM块的Vt分布的统计分布图300。相对于线性横轴201(表示阈值电压参数)和对数纵轴202(表示其NVM的位单元具有相应的阈值电压的位的数量,绘制了在预编程过程303之后和在擦除过程304之后的Vt分布。执行预编程过程以改变NVM的位单元的阈值电压,以使得位单元的阈值电压在编程验证电压(PV)208之上并且位单元的阈值电压符合Vt分布303。然后,执行擦除过程以改变NVM的位单元的阈值电压,以使得位单元的阈值电压在擦除验证电压(EV)209之下,并且位单元的阈值电压符合Vt分布304。如图所示,擦除Vt分布304主体基本在擦除验证电压209之下,并且相比于图2中的擦除Vt分布204朝向较低的阈值电压移动,并且缓慢擦除位306略小于擦除验证电压209。由于擦除操作每次对存储器块而不是每次对一存储器地址进行,因此被擦除的存储块内的缓慢擦除位306的存在需要足够的擦除脉冲以擦除缓慢擦除位306,这过擦除了擦除群体304的正常位,因此减小了它们的阈值电压。由于此,相比于Vt分布204,在Vt分布304中有多得多的位单元具有在软编程验证电平(SPV)206之下的过度低的阈值电压,如擦除Vt分布304的阴影部分305所示。区域305中的位单元的阈值电压需要通过软编程过程被提高至SPV206之上,如图4所示,这导致了已擦除的NVM位单元的阈值电压的更紧、更期望的分布。可以使用一种方法,例如诸如在图6和8中所示的那些方法,来检测NVM101中的潜在的缓慢擦除位306。
图4示出了根据至少一个实施例的在软编程过程404之后没有缓慢擦除位的NVM块的Vt分布以及在软编程过程407之后具有作为可以被测试的缓慢擦除位306的NVM块的Vt分布的统计分布图400。关于线性横轴201(表示阈值电压参数)和对数纵轴202(表示其具有相应的阈值电压的NVM的位单元的位的数量,绘制了Vt分布404(没有缓慢擦除位)和Vt分布407(具有缓慢擦除位306)。执行软编程过程以改变在软编程验证电平(SPV)206之下的NVM的位单元的阈值电压,以使得NVM的所有位单元的阈值电压在软编程验证电压(SPV)206之上,并且位单元的阈值电压符合分布404(没有缓慢擦除位)和分布407加上缓慢擦除位306(在软擦除位存在的情况下)。如图所示,大部分擦除Vt分布407略微在SPV206之上并且基本在擦除验证电压(EV)209之下,缓慢擦除位306具有稍微小于EV209的阈值电压,并且大部分Vt分布404从稍微在SPV206之上延伸到稍微在EV209之下。就是说,由于缓慢擦除位的存在,Vt分布407具有比Vt分布404显著多的具有相对低的阈值电压的位,这是不期望的,因为较低的阈值电压意味着来自位单元的较高的泄露电流。因此,期望尽可能早地筛选出具有缓慢擦除位的NVM。
图5是示出了根据至少一个实施例的用于没有潜在的缓慢擦除位的NVM块以及用于具有潜在的缓慢擦除位的NVM块的擦除脉冲计数和最大软编程脉冲计数的图500。关于描述执行的周期的数量的对数横轴501和描述脉冲计数的线性纵轴502,绘制图500。图500包括正常擦除脉冲计数曲线503、具有潜在的缓慢擦除位的擦除脉冲计数曲线505、正常最大软编程脉冲计数曲线504、以及具有潜在的缓慢擦除位的最大软编程脉冲计数曲线506,这些是用于示例性的正常NVM和示例性的具有缓慢擦除位的NVM的数据的经验性示例。可以预期正常NVM和具有缓慢擦除位的NVM的其它示例呈现它们自身的脉冲计数曲线,这可以类似或者不类似于所示的示例性脉冲计数曲线。正常擦除脉冲曲线503和具有潜在的缓慢擦除位的擦除脉冲计数曲线505对很多周期保持类似的值,然后它们都增加,其中它们的增加的速率之间的差异不是特别大,尤其 是从它们值的大小来看。相反,所述曲线没有明显岔开直到已经过去很多周期。正常最大软编程脉冲计数曲线504和具有潜在的缓慢擦除位的最大软编程脉冲计数曲线506对很多周期保持相当类似的值,但是然后在曲线506中具有潜在的缓慢擦除位的最大软编程脉冲计数急剧增加(在潜在的缓慢擦除位在一些周期之后作为真正的缓慢擦除位出现时),而正常最大软编程脉冲计数曲线504没有急剧增加。因此,具有潜在的缓慢擦除位的最大软编程脉冲计数曲线506和正常最大软编程脉冲计数曲线504开始迅速岔开。由于擦除过程是在NVM块中的所有位上完成的批量操作,而软编过程是地址接地址地完成,并且软编程偏置低,因此最大软编程脉冲计数对缓慢擦除位将更加敏感,并且在缓慢擦除位出现时将比擦除脉冲计数更显著地增加。
由于具有潜在的缓慢擦除位的擦除脉冲计数曲线505在随着具有潜在的缓慢擦除的最大软编程脉冲计数曲线506开始迅速增加而增加,并且当潜在的缓慢擦除位随着循环作为真正的缓慢擦除位出现时,增加超过预定的软编程脉冲计数数量507,这样的条件的出现率可以被用来在周期循环过程中相对早地可靠地识别潜在的缓慢擦除位的存在。
图6是示出了根据至少一个实施例的,例如,对于生产测试有用的方法600的流程图。方法600可以用于例如检测NVM中潜在的缓慢擦除位。方法600包括周期循环块(cyclingblock)601、脉冲计数检查块602、判定块603、判定块604、不合格块605、通过块606、脉冲计数存储块607、判定块608、以及周期循环完成块609。编程和擦除周期循环(如周期循环块601所示)通常在生产超负荷(burn-in,BI)测试流程中进行并且可以包括一个或多个编程和擦除周期。
方法600开始于周期循环块601,其中编程和擦除循环发生。从周期循环块601,方法600继续到脉冲计数检查块602。例如,可以对于每个编程和擦除周期,或者,例如,对于每个读出周期(例如,每第10个或第50个周期,其中编程/擦除性能被读取并保存;或者,作为另一个示例,在指数增加的间隔处,在该间隔处编程/擦除性能被读取和保存),都发生从周期循环块601到脉冲计数检查块602的过渡。作为示例,对 于周期循环块601的编程和擦除周期循环过程的一些重复,可以执行读出周期,而对于周期循环块601的编程和擦除周期循环过程的其它重复,可以不执行读出周期。对于非读出周期,不评估周期循环块601的编程/擦除周期。通过读出那些位单元的位并将它们与作为编程和擦除周期循环的当前状态的结果其被期望有的值比较,读出周期允许验证NVM位单元对编程和擦除周期循环的响应,并且像编程/擦除时间和脉冲计数一样还读取和保存编程/擦除性能。通过结合这里所公开的技术,可以使用读出周期来识别潜在的缓慢擦除位。
在脉冲计数测试块602中,如果对每个读出周期被保存脉冲计数,那么对照在先前擦除周期处的最后的擦除脉冲计数C和最后的最大软编程脉冲计数D,或者,如果对于每个读出周期保存了脉冲计数,则对照在先前读出擦除周期处的最后的擦除脉冲计数C和最后的最大软编程脉冲计数D,检查在当前擦除周期处的当前擦除脉冲计数A和当前最大软编程脉冲计数B。在周期循环开始之前,最后的擦除脉冲计数C和最后的最大软编程脉冲计数D被初始化到预定的默认值。脉冲计数检查块602可以包括,例如,确定用于在当前擦除周期期间擦除NVM存储器单元的软编程脉冲最大数量,所述最大数量从相应的多个存储器单元的多个软编程脉冲计数来确定。脉冲计数检查块602可以包括,例如,在所述当前擦除周期期间计数擦除脉冲的数量。脉冲计数检查块602可以包括,例如,从测试NVM区域取回先前软编程脉冲的最大数量和先前擦除脉冲的数量。从脉冲计数检查块602,方法600继续到判定块603。在判定块603中,对当前擦除脉冲计数A是否大于最后的擦除脉冲计数C以及当前最大软编程脉冲计数B是否大于预定的脉冲数量进行判定。判定块603可以包括确定用于在当前擦除周期期间擦除NVM存储器单元的软编程脉冲的最大数量是否已超过预定的第二阈值。如果在判定块603中做出了当前擦除脉冲计数A大于最后的擦除脉冲计数C并且当前最大软编程脉冲计数B大于预定的脉冲数量的判定,那么方法600继续到判定块604。在判定块604中,对当前最大软编程脉冲计数B是否基本上大于(例如,是1.5倍以上)最后的最大软编程脉冲计数D做出判定。判 定块604可以包括,例如,确定当前擦除周期的软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率。虽然,因为脉冲(例如,软编程脉冲)的计数的定时可以是隐含的(例如,在随后的周期上、在由已知数量的周期彼此分离的周期上等),这里使用了术语“变化率”,但是有效的“变化率”可以作为脉冲计数中的差而获得,因为这样的差,结合这些计数的隐含已知的时序分离,可以等同于实际变化率(例如,时间导数)或与实际变化率成比例。因此,如这里所使用的术语“变化率”应该被理解为表示计数根据这些计数之间的距离(例如,时间的、周期的数量、事件的数量等)变化的程度的参数,其中这样的距离可以是隐含的(例如,使得由隐含已知的距离分离的计数之间的差将是“变化率”的示例)。判定块604可以包括,例如,在当前擦除周期期间计数软编程脉冲的最大数量。判定块604可以包括,例如,检测软编程脉冲的最大数量相比于在先前擦除周期期间的先前软编程脉冲的最大数量的增加。判定块604可以包括,例如,确定变化率是否超过预定的第一阈值。如果在判定块604中,做出当前最大软编程脉冲计数B实质性大于最后的最大软编程脉冲计数D的判定,则方法600继续到块605,其中基于已发现的缓慢擦除或泄漏位,单元不合格。块605可以包括,例如,响应于变化率超过预定的第一阈值断言失败指示器。作为另一个示例,块605可以包括基于变化率超过预定的第一阈值并响应于用于在当前擦除周期期间擦除NVM存储器单元的软编程脉冲的最大数量已经超过预定的第二阈值,断言失败指示器。作为示例,所述预定的第一阈值相比于先前擦除周期的先前软编程脉冲的最大数量可以至少增加20%。作为另一个示例,所述预定的第一阈值相比于先前擦除周期的先前软编程脉冲的最大数量至少增加50%。如果在判定块604中,做出当前最大软编程脉冲计数B不是实质性大于最后的软编程脉冲计数D的判定,或者在判定块603中,做出没有满足下列条件中的任一个的判定:当前擦出脉冲计数A大于最后的擦出脉冲计数C,或,当前软编程脉冲计数B大于预定的脉冲数量,那么方法600继续到通过块606,在这里单元通过测试。从通过块606,方法600继续到脉冲计数存储块 607。在脉冲计数存储块607中,最后擦除脉冲计数C被设置为等于当前擦除脉冲计数A,并且最后的最大擦除脉冲计数D被设置为等于当前最大软编程脉冲计数B,然后新的最后的擦除脉冲计数C和最后的最大软编程脉冲计数D被存储在像RAM那样的易失性存储器103中,或者寄存器中,或者NVM的测试NVM区域中。脉冲计数存储块607可以包括,例如,在当前擦除周期之前,将先前软编程脉冲的最大数量和先前擦除脉冲的数量存储在测试NVM区域中。从脉冲计数存储块607,方法600继续到判定块608。在判定块608中,对最后的周期是否已完成做出判定。如果是,则方法600继续到周期循环完成块609,周期循环在此处结束。如果否,则方法600返回到周期循环块601。
在判定块603和604中,对以下做出判定:在擦除过程所需的擦除脉冲的数量中是否有最近的增加,软编程过程所需的软编程脉冲的最大数量是否在软编程脉冲阈值之上,以及相比于先前周期所执行的软编程脉冲的最大数量是否有最近的实质增加(例如,百分之50的增加)。如果是,则在失败块605中,NVM被认为缓慢擦除位测试不合格。如果否,则在块606中,NVM被认为已通过缓慢擦除位测试。作为示例,不同NVM装置的样本所需的擦除脉冲的数量,甚至相同类型的NVM装置(例如,相同的部件号),趋于在也许±10-15%的范围上变化,而在缓慢擦除位的显现时擦除脉冲的数量的增加可以仍然在用于正常样本的擦除脉冲的数量的增加的大致范围内,因此显现缓慢擦除位的样本的擦除脉冲数量的增加趋势会难以识别。因此,虽然用于显现缓慢擦除位的NVM的擦除脉冲的数量的增加可以被观察到,并且被其自身用作表示缓慢擦除位的显现的若干标准中的一个,但是这样的增加不是缓慢擦除位的显现的可靠的指示。然而,用于相同类型的NVM器件的不同样本的软编程脉冲的最大数量趋于在也许±10-25%的示例性范围上变化,但是在缓慢擦除位的显现时软编程脉冲的最大数量的增加可以显著地高于用于正常样本的软编程脉冲的最大数量的增加。因此,软编程脉冲的最大数量的最近的实质性增加(例如,至少50%的增加)可以被用来识别缓慢擦除位的存在,即使考虑到在NVM器件的不同样本之间的软编程脉冲的 最大数量的变化以及即使考虑到在NVM器件的正常样本之间的软编程脉冲的最大数量的随使用的增加,也是如此。此外,由于在NVM器件的正常样本之间软编程脉冲的最大数量随使用的增加趋于比用于显现缓慢擦除位的NVM的软编程脉冲的最大数量的实质性增加小得多,因此,相比于NVM器件的软编程脉冲的最大数量,绝对阈值可以是指示缓慢擦除位的显现的若干标准中的有用的一个,以避免过度拒绝NVM器件的正常样本。因此,擦除脉冲的数量的变化、软编程脉冲的最大数量的变化、以及软编程脉冲的最大数量与绝对阈值的随周期的比较,可以用来就存在或不存在缓慢擦除位确定NVM是否合格。用于比较擦除脉冲的数量变化、软编程脉冲的最大数量的变化、以及软编程脉冲的最大数量的阈值可以是固定值或可变值、绝对值或相对值(例如,因数、比率、百分比等)。
周期上的擦除脉冲计数和最大软编程脉冲计数可以被存储在像RAM那样的易失性存储器中,或寄存器中,或NVM的测试NVM区域中。然而,在系统电源关断时,存储在易失性存储器或寄存器中的信息将丢失。因此,将脉冲计数保存在测试NVM区域中更安全。确实,为了将基于动态性能检查的缓慢擦除位测试合并到用户模式NVM擦除操作中,将脉冲计数存储在像测试NVM区域那样的非易失性存储器中。
图7是示出了根据至少一个实施例的用于脉冲计数存储的存储器结构700以及随着这样的存储结构700的使用时间的进展的框图。位单元阵列106包括测试NVM区域111。测试NVM区域111包括脉冲计数存储。当脉冲计数存储区域被初始擦除时,它不存储脉冲计数,如擦除的脉冲计数存储部701所示。箭头707示出了在第n周期(n是大于或等于0的整数)期间的进展。在第n周期之后,对于器件中的每个NVM块的擦除脉冲计数和最大软编程脉冲计数已被存储在脉冲计数存储部中,如周期n脉冲计数存储部702所示。箭头708示出了在第n+1周期期间的进展。在第n+1周期之后,来自第n+1周期的脉冲计数也已经被存储在脉冲计数存储部中,如周期n+1脉冲计数存储部703所示。箭头709示出了在第n+2周期期间的进展。在第n+2周期之后,来自第n+2 周期的脉冲计数也已经被存储在脉冲计数存储部中,如周期n+2脉冲计数存储部704所示。如果脉冲计数存储区域中没有更多的空间来存储用于附加周期的附加脉冲计数,则在从用于比较的第n+2周期读取脉冲计数作为最后的脉冲计数之后,脉冲计数存储区域可以被擦除,如擦除的脉冲计数存储部705所示。箭头710示出了到擦除的脉冲计数存储705的进展。箭头711示出了在第n+3周期期间的进展。在第n+3周期之后,来自第n+3周期的脉冲计数已被存储在脉冲计数存储部中,如周期n+3脉冲计数存储部706所示。通过在擦除脉冲计数存储区域之前将来自很多周期的脉冲计数存储在脉冲计数存储区域中,可以极大地减少脉冲计数存储区域的擦除的数量,从而减小脉冲计数存储部中可能存在缓慢擦除位的风险。作为示例,先前软编程脉冲的最大数量和先前擦除脉冲的数量的一个或多个迭代可辨认的实例可以存储在脉冲计数存储区域中并从脉冲计数存储区域取回。
图8是示出了根据至少一个实施例的,例如,对于在NVM控制器中的实现有用的方法800的流程图,以通过结合潜在的缓慢擦除位测试实现NVM块的擦除操作。擦除操作可以包括包含块802-803的预编程过程、包括块804-805的擦除过程、以及包括块806-824的软编程过程。
擦除操作开始于块801,继续到从判定块802开始的预编程过程。在判定块802中,对NVM块的所有位单元是否都被验证为处于编程状态做出判定。如果否,则方法800继续到块803,在此处,地址接地址地顺序地将编程脉冲施加到NVM块中的所有位单元。从块803,方法800返回到判定块802。如果在判定块802处,做出NVM块中的所有位单元都被验证为处于编程状态的判定,则方法800继续到判定块804。虽然以简化的形式将预编程过程示出为包括判定块802和编程脉冲块803,但是可以在每个地址的基础上执行判定块802和编程脉冲块803,所以,隐含地,可以在判定块802之前初始化地址计数器,可以检查地址计数器来看要被预编程的地址中的最后的地址是否已被验证为在判定块802的肯定性出口之后已被预编程,以及,在地址计数器没有指示判定块802的编程验证施加于最后的地址的情况下,可以增加地址计数器,并且方法 800可以携增加的地址计数器值返回到判定块802。在地址计数器指示判定块802的编程验证施加于最后的地址的情况下,预编程过程完成并且擦除操作可以继续到从判定块804开始的擦除过程。此外,在编程脉冲块803中,可以增加并检查编程脉冲计数来看它是否超过在每个地址处的最大编程脉冲限制,并且,在编程脉冲计数没有超过最大限制的情况下,预编程过程将继续回到用于验证编程状态的判定块802。在编程脉冲计数超过了最大限制的情况下,预编程过程将终止并且擦除操作将认为失败。
在预编程过程完成之后,擦除操作继续到从判定块804开始的擦除过程,其中对NVM块的所有位单元是否都被验证作为处于擦除状态做出判定。如果否,则方法800继续到块805,在此处施加擦除脉冲到NVM块中的所有位单元。如果在判定块804处,做出所有位单元被验证为处于擦除状态的判定,则方法800继续到判定块806。虽然以简化的形式将擦除过程示出为包括判定块804和擦除脉冲块805,但是可以在每个地址的基础上执行判定块804,所以,隐含地,可以在判定块804之前初始化地址计数器,可以检查地址计数器来看要被擦除的地址中的最后的地址是否已被验证为在判定块804的肯定退出之后已被擦除,以及,在地址计数器没有指示判定块804的擦除验证施加于最后的地址的情况下,可以增加地址计数器,并且方法800可以带增加的地址计数器值返回到判定块804。在地址计数器指示判定块804处的擦除验证施加于最后的地址的情况下,擦除过程完成并且擦除操作可以继续到从判定块806开始的软编程过程。此外,在擦除脉冲块805中,可以增加并检查擦除脉冲计数,来看它是否超过最大擦除脉冲限制,并且,在擦除脉冲计数没有超过最大限制的情况下,擦除过程将继续回到用于验证擦除状态的判定块804。在擦除脉冲计数超过最大限制的情况下,擦除过程将被终止并且擦除操作将认为失败。
在擦除过程完成之后,擦除操作继续到从判定块806开始的编程过程。隐含地,可以在判定块806之前初始化地址计数器。在判定块806中,对当前地址的所有位单元是否都被验证为处于软编程(即,具有在 软编程验证电平之上的阈值电压)状态做出判定。如果是,则方法800继续到判定块816。
判定块816允许动态性能(脉冲计数)检查作为软编程过程的可选部分。作为示例,判定块816可以检查允许性能检查启用和禁用的标记(flag)或寄存器位。例如,如果性能检查被实现作为用户的应用的一部分,则温度可以从一个周期到其它周期地变化,并且可以给出假(false)的失败(如果先前周期处于相对冷的温度,例如,环境温度,但是当前周期处于相对热的温度,例如,操作温度)。通过具有选项来开启和关闭性能检查,用户可以基于它们的应用描述确定进行或不进行检查以避免假的失败。如果在判定块816中做出不进行动态性能检查的判定,则方法800继续到块824。否则,方法800继续到块817。在块817中,将来自当前擦除操作周期的当前擦除脉冲计数A和最大软编程脉冲计数B与来自先前擦除操作周期的最后的擦除脉冲计数C和最后的最大软编程脉冲计数D比较。最大软编程脉冲计数是在NVM块中所有地址当中所需的最大软编程脉冲,它是在对每个地址软编程验证通过之后由NVM控制器来更新的。注意,如果当前擦除周期是第一擦除周期,由于没有先前周期,隐含地,可以将最后的擦除脉冲计数C和最后的最大软编程脉冲计数D初始化为预定的典型值/默认值,以使方法800对第一周期有效。从块817,方法800继续到判定块818。在判定块818中,对当前擦除脉冲计数A是否大于最后的擦除脉冲计数C以及当前最大软编程脉冲计数B是否大于预定的最大软编程脉冲的数量做出判定。如果否,则方法800继续到判定块821。如果是,则方法800继续到判定块819,在这里,对当前最大软编程脉冲计数B是否实质性大于最后的最大软编程脉冲计数D做出判定。例如,可以对当前最大软编程脉冲计数B是否比最后的最大软编程脉冲计数D大至少因数M做出判定。因数M的值的示例包括,但不限于:1.2、1.3、1.4和1.5。如果是,则方法800继续到块820,这里NVM块擦除失败,因为发现了缓慢擦除位或泄露位。如果否,则方法800继续到判定块821。
在判定块821中,对NVM块的最后的地址是否已被软编程过程处 理做出判定。如果是,则方法800继续到块822,这里,来自当前周期的擦除脉冲计数和当前最大软编程脉冲计数被存储(如果启用,则作为用于下一个周期的性能检查的新的最后的擦除脉冲计数和最后的最大软编程脉冲计数)在NVM的测试NVM区域中。方法800然后继续到块823,这里NVM块通过。如果否,则方法800继续到块824,其中地址被增加。从块824,方法800返回到判定块806。
如果在判定块806中,做出并不是当前地址的所有位单元都被验证为处于软编程(即,具有在软编程验证电平之上的阈值电压)状态的判定,则方法800继续到判定块807。在判定块807中,对是否已达到软编程脉冲的数量上的最大限制做出判定。如果是,则方法800继续到块808,在这里,NVM块擦除操作失败。如果否,则方法800继续到判定块809。判定块809允许性能检查作为软编程过程的可选部分。作为示例,判定块809可以检查允许动态性能(脉冲计数)检查启用和禁用的标记或寄存器位。如果在判定块809中做出不进行动态性能检查的判定,则方法800继续到块815。如果是,则方法800继续到块810。在块810中,将来自当前擦除操作周期的当前擦除脉冲计数A和当前最大软编程脉冲计数B与来自先前擦除操作周期的最后的擦除脉冲计数C以及最后的最大软编程脉冲计数D比较。从块810,方法800继续到判定块811。在判定块811中,对当前擦除脉冲计数A是否大于最后的擦除脉冲计数C以及当前最大软编程脉冲计数B是否大于预定的最大软编程脉冲的数量做出判定。如果否,则方法800继续到判定块815。如果是,则方法800继续到判定块812,在这里,对当前最大软编程脉冲计数B是否实质性大于最后的最大软编程脉冲计数D做出判定。例如,可以对当前最大软编程脉冲计数B是否比最后的最大软编程脉冲计数D大至少因数M进行判定。所述因数M的值的示例包括,但不限于1.2、1.3、1.4和1.5。如果是,则方法800继续到块813,这里NVM块擦除失败,因为发现了缓慢擦除位或泄露位。如果否,则方法800继续到判定块815。在块815中,软编程脉冲被施加于当前地址中的位单元。从块815,方法800返回到判定块806。
在图8所示的实施例中,在软编程过程的地址循环中插入了用于检测缓慢擦除位的动态性能检查,这使得能够早期检测任何缓慢擦除位,而不用等待软编程过程完成,从而避免浪费不必要的软编程脉冲和时间。在另一个实施例中,可以简单地在软编程过程完成之后就插入用于检测缓慢擦除位的性能检查。
图8中所示的方法800的块,例如,块812至810以及817至819,可以用来实现响应于在先前擦除周期期间的第一最大软编程脉冲计数和在擦除周期期间的第二最大软编程脉冲计数之间的变化,而检测在NVM中的潜在的缓慢擦除位。作为另一个示例,块813和820可以用来响应于检测潜在的缓慢擦除位实现使NVM不合格。块811和818可以用来,例如,结合块810至812以及块817至819,实现上述所述的检测。作为示例,块811和818可以被用来响应于具有超过预定的阈值的最大软编程脉冲计数值实现检测NVM中潜在的缓慢擦除位的潜在存在,其中所述最大软编程脉冲计数值选自包括所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数的组。作为另一个示例,块811和818可以用于:响应于在第一擦除脉冲计数和第二擦除脉冲计数之间的擦除脉冲计数值的变化实现NVM中潜在的缓慢擦除位的潜在存在的检测。例如,关于块811和818,所述预定的阈值可以是可编程的。如图7所示,所述第一最大软编程脉冲计数和所述第二最大软编程计数可以被存储在NVM的测试NVM区域中,以允许在测试NVM区域的擦除(例如,701和705)之间出现将所述最大软编程脉冲计数存储在测试NVM区域中的多个示例(例如,702、703和704)。例如,关于块812和819,确定所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数之间的所述最大软编程脉冲计数的足以用于检测所述NVM中的潜在的缓慢擦除位变化的参数可以是可编程的。
根据至少一个实施例,通过识别和筛选出具有潜在的缓慢位的NVM可以减小增加客户质量问题和每百万缺陷的风险。根据至少一个实施例,使用这里所描述的方法和装置提供用户模式诊断来识别潜在的即将发生的失败情况以争取零缺陷。通过允许用户在用户测试模式中访问 脉冲计数寄存器,实施例可以在用户诊断软件中实现。
在周期循环期间,周期循环性能(例如,擦除脉冲计数、最大软编程脉冲计数)被存储在NVM测试区域(例如,小的EEPROM块或小的闪存块)中。将当前周期的周期循环性能与上个周期的周期循环性能进行比较。如果当前周期的擦除脉冲计数大于上个周期的擦除脉冲计数,并且最大软编程脉冲计数超过了预定的软编程脉冲计数数量,则将当前周期的最大软编程脉冲计数与上个周期的最大软编程脉冲计数进行比较。如果当前周期的最大软编程脉冲计数远大于(例如,1.5倍)上个周期的最大软编程脉冲计数,则提供存在缓慢擦除位或泄漏位的信号。具有缓慢擦除位或泄漏位的NVM单元被从生产中筛选出来。否则,存储当前周期的脉冲计数,并且生产测试过程正常继续。
根据至少一个实施例,将在当前周期的当前擦除脉冲计数和最大软编程脉冲计数与周期循环期间的先前周期进行比较,从而该处理可以检测随着周期循环的性能退化并筛选出具有潜在的缓慢擦除位的产品件。这样的方法比仅基于当前周期的擦除脉冲计数的传统方法更敏感。此外,这样的方法在周期循环期间不需要另外的应力和/或额外的擦除验证。这样的方法基于来自先前周期的反馈提供自适应的、自学习的测试。这样的方法适应了如正常可能出现的在擦除脉冲计数和最大软编程脉冲计数中的正常变化,包括擦除脉冲计数和最大软编程脉冲计数的随使用的逐渐增加,但是仍响应于指示缓慢擦除位的存在的最大软编程脉冲计数的突然增加。
至少一个实施例包括:将周期循环性能(例如,每个NVM块的擦除脉冲计数和最大软编程脉冲)存储在NVM区域(例如,小的EEPROM块或小的闪存块)中;将当前周期的周期循环性能与上个周期的周期循环性能进行比较;以及如果当前周期的最大软编程脉冲计数远大于(例如,1.5倍)上个周期的最大软编程脉冲计数,则筛选出该单元。
至少一个实施例包括更新的NVM控制器以实现擦除操作,其中,可选择地,将擦除周期上的动态性能(脉冲计数)检查集成到软编程过程,以使得能够实现在正常的用户模式中的潜在缓慢擦除位的检测。
根据至少一个实施例,潜在的缓慢擦除位在早期的周期循环阶段处隐藏在群体中。潜在的缓慢擦除位随着周期循环出现,但是并不必然在NVM单元已通过现有的生产测试之前。当潜在缓慢擦除位随着周期循环变成真正的缓慢擦除位时,大部分擦除群体被向下推向过擦除状态。因此更多的位需要被软编程,或者执行更多软编程脉冲,或者二者都进行。即使在缓慢擦除位出现之后,对很多周期,擦除脉冲计数仍然在正常擦除脉冲计数的变化范围内,这意味着仅检查擦除脉冲计数来识别缓慢擦除位的存在缺少这里所公开的技术的速度和效率。通过使用这里所公开的技术,可以在早得多的阶段筛选出具有潜在的缓慢擦除位的NVM。
根据至少一个实施例,用于存储擦除脉冲计数和最大软编程脉冲计数的脉冲计数存储区域可以被递增且渐进地写入,这就允许在脉冲计数存储被擦除之前写入这样的脉冲计数值的若干实例,以为更多脉冲值让出空间。作为示例,可以对每个NVM块存储一个字节(4位用于每个擦除脉冲计数,4位用于最大软编程脉冲计数),其中有10个具有100000个擦除周期耐受性的用户NVM块。专用的小的NVM块,例如1000字节,可以用于保存脉冲计数。即使这样的小的闪存块不需要被擦除超过100000/(1000/10)=1000次,从而避免脉冲计数存储区域的损耗并降低脉冲计数存储失败的风险。
根据至少一个实施例,还可以有效地检测缓慢软编程位。可以朝着零缺陷增加NVM位单元阵列的可靠性和性能。通过在较早的阶段检测缺陷促进良品率改善。客户可以使用这样的技术作为用户诊断工具来识别潜在的即将发生的失败情况以实现零缺陷。
至少一个实施例可以被用在任何NVM产品上。随着更多的冗余(冗余电路)被设计到产品中,可靠性提升的潜力已经增加了重要性。至少一个实施例满足零缺陷、良品率改善、高性能、以及高可靠性期望。
至少一个实施例可以被应用于NVM(例如,闪存存储器),以用于测试缓慢擦除现象。作为示例,至少一个实施例可以提供NVM的潜在的缓慢擦除位的动态检测。至少一个实施例可以用于提升NVM的可靠性、容错性、以及错误可恢复性,例如,以促进零缺陷设计和过程,以 及提升NVM的关键应用的安全性。
本公开的至少一个实施例可以被实现用于浮置栅极存储器块。作为示例,至少一个实施例可以被实现用于非易失性浮置栅极存储器块。可以对其实现至少一个实施例的存储器块的类型的示例包括:闪存存储器块、传统的电可擦除可编程只读存储器(EEPROM)块、铁电随机访问存储器(FeRAM)、磁电阻随机访问存储器(MRAM)、可编程金属化单元(PMC)存储器、以及相变存储器(PCM)等。
实施例可以结合各种存储技术来践行。例如,实施例可以结合NOR闪存存储器和/或NAND闪存存储器来践行。实施例可以结合每单元1位(即,单电平单元(SLC))和每单元多位(多电平单元(MLC))存储器技术来践行。实施例可以结合导电(例如,多晶硅)和/或非导电(例如,氮化硅(Si3N4)和/或金属纳米晶体)浮置栅极技术来践行。实施例可以结合使用热载子注入和/或量子隧穿擦除机制的存储块来践行。
根据至少一些实施例,位的擦除和编程可以被表征为位单元阈值的统计分布,其中大部分位位于平均值的一些标准差内,所述平均值表示通过将位从编程状态擦除到擦除状态或通过将位从擦除状态编程到编程状态改变位状态的难度。统计分布可以大致是高斯分布。例如,所述分布可以是截顶的高斯分布,或“压缩的”高斯分布(即,期望的分布),其中位可以位于的范围是有限的。然而,潜在的缓慢擦除位可以位于包含大部分位的分布范围外。
多种现象可以导致影响至少一个位的缓慢擦除的情况。例如,较厚的氧化物层可以使得更难改变所述至少一个位的状态。如果改变位的状态中的难度的变化在期望的分布内,则可以原样地接受该产品件。如果改变至少一个位的状态中的难度的变化落在期望的分布外,则该产品件可以被认为是有缺陷的。然而,由于落在预期的分布外的所述至少一个位可以被识别,因此在至少一些实施例中,所述至少一个位可以被标记为坏的并由备用位取代,这就允许该产品件被挽回和接受。所述至少一个位位于预期的分布外的程度可以被用于将该产品件限定至几个等级或仓中的一个中。这样的分仓可以用于允许产品件验证通过以用于较不严 格的应用,所述产品件可以不具有足以用于更严格的应用的一致的位擦除或位编程特性。
根据至少一个实施例,因为潜在的缓慢擦除位(或多个位)的原因,一些NVM通过了测试但实际上应该不通过。通过随着周期循环执行脉冲计数值的动态检查,可以准确地确定产品件是否应该通过或有缺陷而拒绝。至少一个实施例可以被应用于存储器、非易失性存储器(NVM)、闪存存储器、潜在的缓慢擦除位检测、零缺陷设计和处理、NVM设计、NVM处理和/或NVM测试。
根据至少一个实施例,一种用于检测非易失性存储器(NVM)中的潜在的缓慢擦除位的方法包括:在擦除周期期间在地址之间计数软编程脉冲的最大数量;相比于先前擦除周期中的先前擦除周期的软编程脉冲的最大数量,验证(qualify)软编程脉冲的最大数量为已经以至少预定的最小速率增加;以及响应于所述验证软编程脉冲的最大数量,基于潜在的缓慢擦除位检测使所述NVM不合格。根据至少一个实施例,所述验证软编程脉冲的最大数量的增加包括:验证软编程脉冲的最大数量为相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量已经以至少所述预定的最小速率增加,以及已经超过预定的阈值。根据至少一个实施例,验证软编程脉冲的最大数量为相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量已经以至少所述预定的最小速率增加,以及已经超过预定的阈值进一步包括:计数在所述擦除周期期间擦除脉冲的数量,以及检测擦除脉冲的数量相比于所述先前擦除周期中先前擦除脉冲数量的增加。根据至少一个实施例,所述方法还包括将所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量存储在测试NVM区域中。根据至少一个实施例,所述方法还包括:从所述测试NVM区域中取回所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量。根据至少一个实施例,所述预定的最小速率相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量至少增加20%。根据至少一个实施例,所述预定的最小速率相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量至少增加50%。
根据至少一个实施例,一种非易失性存储器(NVM)包括:包括用于存储多个位的多个位单元的位单元阵列,所述位单元阵列包括用于脉冲计数存储的测试NVM区域;以及耦接到所述位单元阵列的NVM控制器,所述NVM控制器包括控制逻辑,其用于使所述NVM控制器:对擦除周期期间地址中的软编程脉冲的最大数量计数,确定软编程脉冲的最大数量相比于先前擦除周期中的先前擦除周期的软编程脉冲的最大数量已经以至少预定的最小速率增加,以及响应于所述验证软编程脉冲的最大数量,基于潜在的缓慢擦除位检测使所述NVM不合格。根据至少一个实施例,用于使所述NVM控制器验证软编程脉冲的最大数量的控制逻辑包括:用于使所述NVM控制器验证软编程脉冲的最大数量相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量已经以至少所述预定的最小速率增加,以及已经超过预定的阈值的控制逻辑。根据至少一个实施例,用于使所述NVM控制器验证软编程脉冲的最大数量相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量已经以至少所述预定的最小速率增加,以及已经超过预定的阈值的控制逻辑还包括:用于使所述NVM控制器对擦除周期期间擦除脉冲的数量计数的控制逻辑;以及,用于使所述NVM控制器检测擦除脉冲的数量相比于在先前擦除周期中的先前擦除周期的擦除脉冲的数量的增加的控制逻辑。根据至少一个实施例,所述控制逻辑还包括用于使所述NVM控制器将所述先前擦除周期的软编程脉冲的最大数量和所述先前擦除周期的擦除脉冲的数量存储在测试NVM区域中的控制逻辑。根据至少一个实施例,所述控制逻辑还包括用于使所述NVM控制器从所述测试NVM区域取回所述先前擦除周期的软编程脉冲的最大数量和所述先前擦除周期的擦除脉冲的数量的控制逻辑。根据至少一个实施例,所述预定的最小速率相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量至少增加20%。根据至少一个实施例,所述预定的最小速率相比于所述先前擦除周期中的所述先前擦除周期的软编程脉冲的最大数量至少增加50%。
根据至少一个实施例,一种方法包括:响应于在一个擦除周期的第 一最大软编程脉冲计数和在先前擦除周期的第二最大软编程脉冲计数之间的最大软编程脉冲计数中的变化,检测非易失性存储器(NVM)中的潜在的缓慢擦除位;以及,响应于检测到潜在的缓慢擦除位,确定所述NVM不合格。根据至少一个实施例,所述检测NVM中的潜在的缓慢擦除位进一步包括:响应于最大软编程脉冲计数值已经超过预定的阈值,检测NVM中潜在的缓慢擦除位,其中所述最大软编程脉冲计数值从包括所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数的组中选择。根据至少一个实施例,检测NVM中的潜在的缓慢擦除位还包括:响应于在第一擦除脉冲计数和第二擦除脉冲计数之间的擦除脉冲计数值的变化,检测NVM中潜在的缓慢擦除位。根据至少一个实施例,所述第一最大软编程脉冲计数和所述第二最大软编程计数被渐进地存储在NVM的测试NVM区域中,以允许在所述测试NVM区域的擦除之间的将所述最大软编程脉冲计数存储在测试NVM区域中的多个实例。根据至少一个实施例,所述预先确定的阈值是可编程的。根据至少一个实施例,确定在所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数之间的所述最大软编程脉冲计数中的足以用于检测NVM中的潜在的缓慢擦除位变化的参数是可编程的。
根据至少一个实施例,一种用于检测非易失性存储器(NVM)中的潜在的缓慢擦除位的方法包括:确定用于在当前擦除周期期间擦除NVM存储器单元的软编程脉冲的最大数量,从相应的多个存储器单元的多个软编程脉冲计数确定所述最大数量;确定所述当前擦除周期的所述软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率;以及,响应于所述变化率超过预定的第一阈值,断言失败指示器。根据至少一个实施例,所述断言所述失败指示器进一步包括:基于所述变化率超过所述预定的第一阈值并响应于用于在所述当前擦除周期期间擦除NVM存储器单元的软编程脉冲的最大数量已经超过预定的第二阈值,断言所述失败指示器。根据至少一个实施例,所述确定所述变化率包括:计数所述当前擦除周期期间擦除脉冲数量;以及检测擦除脉冲的数量相比于所述先前擦除操作期间的先前擦除脉冲的 数量的增加。
根据至少一个实施例,所述方法还包括在所述当前擦除周期之前,将所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量存储在测试NVM区域中。根据至少一个实施例,所述方法还包括从所述测试NVM区域中取回所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量。根据至少一个实施例,所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加20%。根据至少一个实施例,所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加50%。
根据至少一个实施例,一种非易失性存储器(NVM)包括:包括用于存储多个位的多个位单元的位单元阵列,所述位单元阵列包括用于脉冲计数存储的测试存储器区域;以及耦接至所述位单元阵列的NVM控制器,所述NVM控制器被配置用于使所述NVM控制器:确定用来在当前擦除周期期间擦除所述多个位单元的位单元的软编程脉冲的最大数量,确定当前擦除周期的软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率,以及基于变化率超过预定的第一阈值断言失败信号以使所述NVM不合格。根据至少一个实施例,所述NVM控制器还被配置用于基于变化率超过所述预定的第一阈值并响应于软编程脉冲的最大数量已经超过预定的第二阈值,断言指示NVM不合格的失败信号。根据至少一个实施例,所述NVM控制器还被配置用于:计数当前擦除周期期间擦除脉冲数量,以及,检测擦除脉冲的数量相比于所述先前擦除周期期间的先前擦除脉冲的数量的增加。根据至少一个实施例,所述NVM控制器还被配置用于将所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量存储在测试NVM区域中。根据至少一个实施例,所述NVM控制器还被配置用于从所述测试NVM区域中取回所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量。
根据至少一个实施例,所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加20%。根据至少一个实 施例,所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的的最大数量至少增加50%。
根据至少一个实施例,一种方法包括:响应于在先前擦除周期期间的第一最大软编程脉冲计数和在擦除周期期间的第二最大软编程脉冲计数的变化,检测非易失性存储器NVM中潜在的缓慢擦除位;以及响应于对所述潜在的缓慢擦除位的检测,确定该NVM不合格。根据至少一个实施例,所述检测NVM中潜在的缓慢擦除位还包括:响应于最大软编程脉冲计数值已经超过预定的阈值,检测NVM中潜在的缓慢擦除位,其中所述最大软编程脉冲计数值选自包括所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数的组。根据至少一个实施例,所述检测NVM中的潜在的缓慢擦除位还包括:响应于在第一擦除脉冲计数和第二擦除脉冲计数之间的擦除脉冲计数值的变化,检测NVM中潜在的缓慢擦除位。根据至少一个实施例,所述预定的阈值是可编程的。根据至少一个实施例,所述第一最大软编程脉冲计数和所述第二最大软编程计数被存储在NVM的测试NVM区域中,以允许在测试NVM区域的擦除之间出现将所述最大软编程脉冲计数存储在测试NVM区域中的多个实例。根据至少一个实施例,确定在所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数之间的所述最大软编程脉冲计数中的足以用于检测NVM中的潜在的缓慢擦除位变化的参数是可编程的。
虽然这里参照具体实施例描述了本发明,但是可以做出各种修改和变化而不脱离如下面的权利要求所提出的本发明的范围。因此,本说明书和附图被认为是说明性的而不是限制性意义的,并且所有这样的修改旨在被包括在本发明的范围内。这里就具体实施例所描述的任何益处、优点或问题的解决方案都不应被解释为任何或全部权利要求的关键的、必需的、或必要的特征或元素。
上面一些实施例,如果适用的话,可以通过使用各种不同信息处理系统来实现。
此外,本领域技术人员将认识到,上述操作之间的界限仅仅是说明性的。多个操作的功能可以组合到单个操作中,和/或单个操作的功能可 以分布在若干附加操作中。另外,替代实施例可以包括特定操作的多个实例,并且操作的次序在各种其它实施例中可以改变。
上面已就具体实施例描述了益处、其它优点或问题的解决方案。然而,益处、优点或问题的解决方案,以及可以使益处、优点或问题的解决方案发生或变得更明显的任何特征,都不应被解释为任何或全部权利要求的关键的、必需的、或必要的特征或元素。
Claims (20)
1.一种用于检测在非易失性存储器(NVM)中的潜在的缓慢擦除位的方法,包括:
确定用于在当前擦除周期期间擦除NVM存储器单元的软编程脉冲的最大数量,从相应的多个存储器单元的多个软编程脉冲计数确定所述最大数量;
确定所述当前擦除周期的所述软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率;以及
响应于所述变化率超过预定的第一阈值,断言失败指示器。
2.根据权利要求1所述的方法,其中所述断言所述失败指示器还包括:
基于所述变化率超过所述预定的第一阈值并响应于用于在所述当前擦除周期期间擦除所述NVM存储器单元的所述软编程脉冲的最大数量已经超过预定的第二阈值,断言所述失败指示器。
3.根据权利要求1所述的方法,其中确定所述变化率包括:
对所述当前擦除周期期间擦除脉冲的数量计数;以及
相比于所述先前擦除周期期间的先前擦除脉冲的数量,检测擦除脉冲的数量的增加。
4.根据权利要求3所述的方法,还包括:
在所述当前擦除周期之前,将所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量存储在测试NVM区域中。
5.根据权利要求4所述的方法,还包括:
从所述测试NVM区域取回所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量。
6.根据权利要求1所述的方法,其中所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加20%。
7.根据权利要求1所述的方法,其中所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加50%。
8.一种非易失性存储器(NVM)包括:
位单元阵列,包括用于存储多个位的多个位单元,所述位单元阵列包括用于脉冲计数存储的测试存储器区域;以及
NVM控制器,耦接至所述位单元阵列,所述NVM控制器被配置用于使所述NVM控制器确定用来在当前擦除周期期间擦除所述多个位单元的位单元的软编程脉冲的最大数量、确定所述当前擦除周期的所述软编程脉冲的最大数量相比于至少一个先前擦除周期的先前软编程脉冲的最大数量之间的变化率、以及基于所述变化率超过预定的第一阈值断言失败信号以使所述NVM不合格。
9.根据权利要求8所述的NVM,其中所述NVM控制器还被配置用于基于所述变化率超过所述预定的第一阈值并响应于所述软编程脉冲的最大数量已经超过预定的第二阈值,断言指示NVM不合格的失败信号。
10.根据权利要求9所述的NVM,其中所述NVM控制器还被配置用于对所述当前擦除周期期间擦除脉冲的数量计数,以及用于检测擦除脉冲的数量相比于所述先前擦除周期期间的先前擦除脉冲的数量的增加。
11.根据权利要求10所述的NVM,其中所述NVM控制器还被配置用于将所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量存储在测试NVM区域中。
12.根据权利要求10所述的NVM,其中所述NVM控制器还被配置用于从所述测试NVM区域取回所述先前软编程脉冲的最大数量和所述先前擦除脉冲的数量。
13.根据权利要求8所述的NVM,其中所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加20%。
14.根据权利要求8所述的NVM,其中所述预定的第一阈值相比于所述先前擦除周期中的所述先前软编程脉冲的最大数量至少增加50%。
15.一种用于检测在非易失性存储器(NVM)中的潜在的缓慢擦除位的方法,包括:
响应于在先前擦除周期期间的第一最大软编程脉冲计数和在擦除周期期间的第二最大软编程脉冲计数之间的变化,检测非易失性存储器(NVM)中的潜在的缓慢擦除位;以及
响应于检测到潜在的缓慢擦除位,使所述NVM不合格。
16.根据权利要求15所述的方法,其中所述检测NVM中的潜在的缓慢擦除位包括:
响应于最大软编程脉冲计数值已经超过预定的阈值,检测NVM中潜在的缓慢擦除位,其中所述最大软编程脉冲计数值选自包括所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数的组。
17.根据权利要求16所述的方法,其中所述检测NVM中的潜在的缓慢擦除位还包括:
响应于在第一擦除脉冲计数和第二擦除脉冲计数之间的擦除脉冲计数值的变化,检测NVM中潜在的缓慢擦除位。
18.根据权利要求16所述的方法,其中所述预定的阈值是可编程的。
19.根据权利要求15所述的方法,其中所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数被存储在NVM的测试NVM区域中,以允许在所述测试NVM区域的擦除之间出现将所述最大软编程脉冲计数存储在所述测试NVM区域中的多个实例。
20.根据权利要求15所述的方法,其中确定在所述第一最大软编程脉冲计数和所述第二最大软编程脉冲计数之间的所述最大软编程脉冲计数中的足以检测NVM中的潜在的缓慢擦除位的变化的参数是可编程的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/747,504 | 2013-01-23 | ||
US13/747,504 US8830756B2 (en) | 2013-01-23 | 2013-01-23 | Dynamic detection method for latent slow-to-erase bit for high performance and high reliability flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103943150A CN103943150A (zh) | 2014-07-23 |
CN103943150B true CN103943150B (zh) | 2019-01-04 |
Family
ID=49998064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410019313.1A Active CN103943150B (zh) | 2013-01-23 | 2014-01-16 | 高性能和高可靠性闪存存储器的潜在的缓慢擦除位的动态检测方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8830756B2 (zh) |
EP (1) | EP2760027B1 (zh) |
CN (1) | CN103943150B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934872B2 (en) * | 2014-10-30 | 2018-04-03 | Sandisk Technologies Llc | Erase stress and delta erase loop count methods for various fail modes in non-volatile memory |
US9588702B2 (en) | 2014-12-30 | 2017-03-07 | International Business Machines Corporation | Adapting erase cycle parameters to promote endurance of a memory |
US9496043B1 (en) | 2015-06-24 | 2016-11-15 | International Business Machines Corporation | Dynamically optimizing flash data retention or endurance based on data write frequency |
US9799387B1 (en) * | 2016-12-21 | 2017-10-24 | Globalfoundries Singapore Pte. Ltd. | Integrated circuits with programmable memory cells and methods for programming the same |
US10510406B1 (en) * | 2018-10-23 | 2019-12-17 | National Tsing Hua University | Soft-verify write assist circuit of resistive memory and operating method thereof |
CN110006422B (zh) * | 2019-03-28 | 2021-03-09 | 浙江吉利汽车研究院有限公司 | 一种设备安全运行参数的确定方法、装置、设备和存储介质 |
US11183255B1 (en) * | 2020-07-09 | 2021-11-23 | Stmicroelectronics S.R.L. | Methods and devices for erasing non-volatile memory |
US11587629B2 (en) | 2021-06-08 | 2023-02-21 | Western Digital Technologies, Inc. | Detecting latent defects in a memory device during an erase operation based on physical and logical segment fail bits |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030039145A1 (en) * | 2001-08-24 | 2003-02-27 | Micron Technology, Inc. | Non-volatile memory with block erase |
CN1679118A (zh) * | 2002-07-22 | 2005-10-05 | 先进微装置公司 | 闪存单元的内建式自测试 |
CN101271731A (zh) * | 2007-03-22 | 2008-09-24 | 中芯国际集成电路制造(上海)有限公司 | 存储器的擦除方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493266B1 (en) | 2001-04-09 | 2002-12-10 | Advanced Micro Devices, Inc. | Soft program and soft program verify of the core cells in flash memory array |
US6469939B1 (en) | 2001-05-18 | 2002-10-22 | Advanced Micro Devices, Inc. | Flash memory device with increase of efficiency during an APDE (automatic program disturb after erase) process |
US6967873B2 (en) | 2003-10-02 | 2005-11-22 | Advanced Micro Devices, Inc. | Memory device and method using positive gate stress to recover overerased cell |
US6975538B2 (en) | 2003-10-08 | 2005-12-13 | Micron Technology, Inc. | Memory block erasing in a flash memory device |
JP4051055B2 (ja) * | 2004-10-14 | 2008-02-20 | シャープ株式会社 | 不揮発性メモリの消去パルス設定方法及び消去不良スクリーニング方法 |
KR100841980B1 (ko) | 2006-12-19 | 2008-06-27 | 삼성전자주식회사 | 소거된 셀의 산포를 개선할 수 있는 플래시 메모리 장치의소거 방법 |
US8320185B2 (en) * | 2010-03-31 | 2012-11-27 | Micron Technology, Inc. | Lifetime markers for memory devices |
-
2013
- 2013-01-23 US US13/747,504 patent/US8830756B2/en active Active
-
2014
- 2014-01-09 EP EP14150661.8A patent/EP2760027B1/en active Active
- 2014-01-16 CN CN201410019313.1A patent/CN103943150B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030039145A1 (en) * | 2001-08-24 | 2003-02-27 | Micron Technology, Inc. | Non-volatile memory with block erase |
CN1679118A (zh) * | 2002-07-22 | 2005-10-05 | 先进微装置公司 | 闪存单元的内建式自测试 |
CN101271731A (zh) * | 2007-03-22 | 2008-09-24 | 中芯国际集成电路制造(上海)有限公司 | 存储器的擦除方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2760027A1 (en) | 2014-07-30 |
US8830756B2 (en) | 2014-09-09 |
CN103943150A (zh) | 2014-07-23 |
EP2760027B1 (en) | 2017-03-15 |
US20140204678A1 (en) | 2014-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103943150B (zh) | 高性能和高可靠性闪存存储器的潜在的缓慢擦除位的动态检测方法 | |
US7599236B2 (en) | In-circuit Vt distribution bit counter for non-volatile memory devices | |
US5428569A (en) | Non-volatile semiconductor memory device | |
KR100853312B1 (ko) | 메모리 소자들의 도통을 제 1 방향 및 제 2 방향으로테스트하는 비 휘발성 메모리에 대한 소거 검증 | |
US5581510A (en) | Method of testing flash memory | |
EP2779175B1 (en) | Retention check logic for non-volatile memory | |
US20120213005A1 (en) | Non-volatile memory device, memory controller, and methods thereof | |
CN106158033B (zh) | 存储器电路及其操作方法 | |
US9305661B2 (en) | Nonvolatile memory system that uses programming time to reduce bit errors | |
KR100611825B1 (ko) | 프로그래밍 방법 및 장치 | |
US8947958B2 (en) | Latent slow bit detection for non-volatile memory | |
TW200532694A (en) | Behavior based programming of non-volatile memory | |
TWI285373B (en) | Nonvolatile semiconductor memory device which erases data in units of one block including a number of memory cells, and data erasing method of the nonvolatile semiconductor memory device | |
US8995202B2 (en) | Test flow to detect a latent leaky bit of a non-volatile memory | |
CN102800362B (zh) | 非易失存储器的过擦除处理方法和处理系统 | |
TW201333956A (zh) | 缺陷字線偵測 | |
US8351276B2 (en) | Soft program of a non-volatile memory block | |
EP2704150A2 (en) | Non-volatile memory (NVM) that uses soft programming | |
CN109754840A (zh) | 半导体存储器装置及其操作方法 | |
CN102800365A (zh) | 非易失存储器的测试校验方法和系统 | |
KR20220039282A (ko) | 컨트롤러 및 이를 포함하는 메모리 시스템 | |
US9442842B2 (en) | Memory system performance configuration | |
CN108630278A (zh) | 存储装置和存储方法 | |
US9478294B2 (en) | Dummy memory erase or program method protected against detection | |
US8693259B2 (en) | Wordline-to-wordline stress configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Texas in the United States Applicant after: NXP America Co Ltd Address before: Texas in the United States Applicant before: Fisical Semiconductor Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |