CN105845180A - 存储器电路及其操作方法 - Google Patents
存储器电路及其操作方法 Download PDFInfo
- Publication number
- CN105845180A CN105845180A CN201510479106.9A CN201510479106A CN105845180A CN 105845180 A CN105845180 A CN 105845180A CN 201510479106 A CN201510479106 A CN 201510479106A CN 105845180 A CN105845180 A CN 105845180A
- Authority
- CN
- China
- Prior art keywords
- value
- memory element
- block
- stress
- resistance
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5678—Digital 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 amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0064—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/06—Acceleration testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50008—Marginal testing, e.g. race, voltage or current testing of impedance
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0064—Verifying circuits or methods
- G11C2013/0066—Verify correct writing whilst writing is in progress, e.g. by detecting onset or cessation of current flow in cell and using the detector output to terminate writing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
- G11C2013/0083—Write to perform initialising, forming process, electro forming or conditioning
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种存储器电路及其操作方法,存储器电路包括存储单元阵列,此存储单元阵列包括多个存储单元的区块。存储器电路包括一控制器,控制器包括用以对此些区块中多个被选区块执行多个编程序列的逻辑单元。编程序列包括编程/验证周期的模式。存储器电路包括用以将不同模式的编程/验证周期指派至此些区块中不同区块的逻辑单元。存储器电路包括用以改变被指派至此些区块中一特定区块的一特定模式的逻辑单元。存储器电路包括用以维持此些区块中的区块的统计数据的逻辑单元,其中统计数据是关于此些区块中的存储单元响应于被指派至此些区块的编程/验证周期的模式的效能。控制器包括用以施加一应力序列至此些被选区块之一的逻辑单元,应力序列包括应力脉冲,应力脉冲被施加至此被选区块中的存储单元。
Description
技术领域
本发明是有关于以相变化材料为基础的高密度存储器装置及其操作方法。
背景技术
在相变化存储器(phase change memory,PCM)中,每一个存储单元包括一相变化存储器元件。相变化存储器元件是由相变化材料组成,此相变化材料在结晶相(低电阻)和非晶相(高电阻)之间表现出大的电阻对比(resistivity contrast)。相变化材料可以包括例如锗(Ge)、锑(Sb)、碲(Te)、镓(Ga)、铟(In)、银(Ag)、硒(Se)、铊(Ti)、铋(Bi)、锡(Sn)、铜(Cu)、钯(Pd)、铅(Pb)、硫(S)以及金(Au)的合金材料。
在相变化存储器元件的操作中,通过相变化存储单元的一电流脉冲可以设置(set)或复位(reset)相变化存储单元的电阻相(resistivity phase)。为了复位存储器元件至非晶相,可以使用一强度大的电流脉冲在短期间内加热存储器元件的有源区(active region)至一融熔温度,接着快速冷却使其在非晶相固化。为了设置存储器元件至结晶相,可以使用一中等强度的电流脉冲,其加热存储器元件至一结晶转换温度(crystallization transitiontemperature),以及一较长的冷却期间以允许有源区在结晶相固化。为了读取存储器元件的状态,可以施加一微小电压至选择的存储单元,且所得的电流是被感测。
在制造过程或在存储器装置的生命周期(life cycle)期间,存储单元对存储单元变异(cell-to-cell variations)可能对相变化存储单元以及其他类型的存储器装置的效能产生影响。这些变异导致对编程数据的算法设计(design of algorithms)相对耗时,以容许可能遇到装置的效能范围。这可能对存储器装置的操作速度造成影响。此外,这些变异可能减少存储器装置的操作余量(operating margins)。这可能减少可以被安全储存在存储器装置的数据量。
提供可以在较高的速度下操作且具有较大的数据密度的存储器是必需的。提供具有降低的单元至单元变异的存储器装置以提升可靠性,特别是在多阶储存存储单元(Multi-Level Cell,MLC)的操作,也是必需的。
发明内容
本发明描述一种包括存储单元阵列的存储器电路,其包括一控制器,具有用以对此阵列中的一被选区块执行一编程序列(program sequence)的逻辑单元(logic),其中编程序列包括一模式的编程/验证周期。控制器可以在以区块为基础的一区块上指派一编程/验证周期的模式,例如使用一缓存器,其设置储存具有不同模式且与此阵列中各个区块相关的一窗体。此外,控制器可以包括用以改变与特定区块相关的模式的逻辑单元。这使得可以使用针对每一个区块的效能特性的编程操作来操作存储单元。如此使用量身订制的编程操作可以改善操作速度和数据密度。
此外,存储器电路可以包括用以维持统计数据(statistics)的逻辑单元,其中统计数据是关于此阵列中区块的效能。统计数据可以被监控,以指示是否应该改变与各个区块相关的模式,是否施加一应力序列(stresssequence)以改变此区块中存储单元的效能特性,或者两者都要。
统计数据可以被使用以执行存储器管理功能(memory managementfunctions)于存储单元上,其中存储器管理功能可以包括损耗平均技术(wear leveling)、热数据和冷数据分布(hot and cold data allocation)以及存储单元的自我修复(self-healing)。例如,一个可开启或关闭存储器电路的控制器可以被配置以执行自我监控、分析与报告技术(Self-Monitoring,Analysis and Reporting Technology,SMART)操作,其是使用应力统计数据以侦测和报告此组相变化存储单元的健康状态。基于报告的健康状态,控制器可以决定是否或如何对存储单元执行存储器管理功能。存储器管理功能可以包括例如美国专利号U.S.6,732,221所述的损耗平均技术,例如美国专利号U.S.8,626,996所述的热数据(hot data)和冷数据(cold data)分布,以及例如美国专利号U.S.14/566,453所述的于相变化存储单元上的自我修复操作。
本发明的其他方面和优点可以由阅读以下所述的图式、详细的描述以及权利要求范围看出。
附图说明
为了对本发明的上述实施例及其他目的、特征和优点能更明显易懂,特举数个较佳实施例,并配合所附图式,作详细说明如下:
图1绘示依据本发明的一实施例的存储器电路。
图2绘示相变化存储单元进行应力循环(cycling stress)的电阻-电流(resistance-current,R-I)曲线图。
图3绘示多个相变化存储单元进行应力循环的电阻-电流曲线图。
图4A和图4B绘示在应力序列施加至多个相变化存储单元之后,相变化存储单元从较宽的编程量值范围(program magnitude range)右移至较窄的编程量值范围的电阻-电流曲线图。
图5绘示一实施例的用于操作包括一存储单元区块的存储器电路的方法的简化流程图。
图6绘示增阶型脉冲编程序列(Incremental Stepped pulse ProPrammingsequence,ISPP序列)的简化流程图。
图7绘示对多个区块中的被选区块执行编程序列,以编程所选区块中的一存储单元,以及收集统计数据以决定对多个被选区块其中之一执行应力序列的条件的简化流程图。
图8绘示在一个修饰的ISPP序列中的编程脉冲和验证脉冲的范例图。
图8A绘示以控制器所可以指派的区块为基础,在一区块上不同模式(pattern)的编程/验证周期,以及在此些不同模式内的统计数据收集步骤。
图9绘示一应力序列的简化流程图。
图10绘示存储单元的电阻-电流曲线图,且当具有各个选择量值(selected magnitudes)的编程脉冲被施加至存储单元时,其指示在第一个范例中,执行一应力操作(stress operation)之前,通过验证(pass verify)的存储单元的比例。
图11绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第一个范例中,执行一应力操作之后,通过验证的存储单元的比例。
图12绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第二个范例中通过验证的存储单元的比例。
图13绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第三个范例中通过验证的存储单元的比例。
图14A和图14B分别绘示不具有应力修整操作(stress trim operations)和具有应力修整操作在飘移(drift)后的电阻分布。
图15A、图15B和图15C绘示在存储单元的生命周期期间施加多次应力修整操作。
图16A、图16B、图16C和图16D绘示可以被使用于应力序列中应力脉冲的波形。
图17A和图17B绘示不具有应力操作和具有应力操作的编程脉冲的量值范围。
图18A和图18B绘示不具有应力操作和具有应力操作的存储单元的启动电流(turn-on current)分布。
图19A和图19B绘示不具有应力操作和具有应力操作的存储单元的电阻飘移系数(resistance drift coefficients)。
图20A和图20B绘示不具有应力操作和具有应力操作的一中间电阻状态的电阻飘移。
图21A和图21B绘示在最糟情况下的保留时间(retention time)估计。
图22A和图22B是以图解表示在最糟情况下所解出的保留时间。
【符号说明】
100:存储器电路
111:控制端
112:控制讯号
113:输入/输出端
114:命令/地址/数据讯号
115:命令译码器
116、117、125:讯号
120:缓存器,以储存统计数据
150:控制器
151:用以执行编程序列的逻辑单元
152:用以指派不同模式的编程/验证周期至不同的区块的逻辑单元
153:用以执行应力序列的逻辑单元
160:包括多个区块的存储单元阵列
161:列译码器
162:字线
163:页面缓冲器
164:全局位线
165:总线
167:数据总线
168:偏压配置供应电压
170:用以维持统计数据的逻辑
175:数据线
180:其他电路
310、320、330、1010、1020、1030、1040、1050、1110、1210、1220、1230、1240、1250、1310、1320、1330、1340、1350:曲线
410、1710:较宽的编程量值范围
420、1720:较窄的编程量值范围
510、520、530、540、610、620、630、710、720、730、740、745、750、760、770、780、910、920、930、940、950:步骤
Rtarget:目标电阻
Rcell:存储单元电阻
Rth:应力阈值电阻
AV3、AV4:第二验证
P1、P2、P3、P4:编程脉冲
R0:初始电阻
R(t):电阻
t:最糟情况的保留时间
V1、V2、V3、V4:第一验证
Va:编程量值
ΔV:跨距(定值)
γ:电阻飘移系数
具体实施方式
本发明的实施例的详细描述并配合参照所附图式是被提供。理应理解的是,这些特定揭露的结构实施例与方法,并非用以限定本发明,本发明仍可采用其他特征、元件、方法及实施例来加以实施。较佳实施例的描述,是用以解释本发明的技术特征,并非用以限定本发明的权利要求范围。该技术领域中具有通常知识者,将可以辨认于上下文的描述中的各种等效变形(equivalent variations)。相同的元件在不同的实施例中,通常称作具有相同的元件符号。
图1绘示包括存储单元阵列的存储器电路(例如100)的简化区块图,且此存储单元阵列包括多个区块(例如160)。在一些实施例中,阵列160可包括单阶储存存储单元(Single Levels of Cells,SLC)。在其他实施例中,阵列160可包括多阶储存存储单元(Multi-Level Cell,MLC)。
控制器150例如由状态机(state machine)来实现,控制器150可提供讯号以控制偏压配置供电电压的施加,其是产生自或由电压供应器所提供,或由方块168所提供,藉此完成此处所述的各种操作。这些操作包括一编程序列和一应力序列(stress sequence)。控制器可以利用如本领域所已知的专用逻辑电路(special-purpose logic circuitry)来实现。在替代的实施例中,控制器包括通用处理器(general-purpose processor),其可以实现于相同的存储器电路并执行计算机程序以控制装置的操作。在又一实施例中,控制器可透过专用逻辑电路和通用的处理器的结合来实现。
控制器150包括用以对多个区块中的被选区块(例如151)执行编程序列的逻辑单元,其中编程序列例如包括编程/验证周期(program/verifycycles)的模式(patterns),此部分之后将搭配图7和图8作进一步说明。此处所使用的被选区块是指多个区块中的一个区块,其中,在此区块中的至少一个存储单元是被施加一编程/验证周期的编程序列,此编成序列包括一编程脉冲,其是诱导存储单元的电阻变化。控制器150包括用以将不同模式的编程/验证周期分派至多个区块中的不同区块的逻辑单元,此部分之后将搭配图8A作进一步描述。用以指派不同模式的逻辑单元可包括由控制器可得到的窗体。控制器150包括用以对其中之一的被选区块施加应力序列(例如153)的逻辑单元,其中应力序列包括施加至此区块中的存储单元的应力脉冲,此部分之后将搭配图4A、图4B和图9作进一步描述。控制器150可包括用以对多个区块中的被选区块执行编程序列和应力序列的逻辑单元。
存储器电路100包括用以维持多个区块中针对区块的统计数据的逻辑单元,统计数据是关于区块中的存储单元响应于被指派至此些区块的编程/验证周期的模式的效能(例如170),如结合图7、图8及图10-图13进一步所描述。存储器电路100包括可将统计数据提供至控制器的电路,以及可响应于外部命令而执行逻辑单元以施加应力序列的逻辑单元。存储器电路100也可以包括用以响应于一外部命令而停止应力序列的逻辑单元。
存储器电路100亦可包括用以改变被指派至多个区块中的特定区块的特定模式的逻辑单元、用以对多个被选区块中的一被选区块施加应力序列以改变所选记忆区块中的存储单元效能特性的逻辑单元、用以在施加应力序列后,改变被指派至被选区块的模式的逻辑单元、以及用以使逻辑单元响应于统计数据执行施加应力序列的逻辑单元。
由控制器可得的窗体可储存在缓存器(registers)120当中。缓存器可将统计数据储存在多个区块中的各个区块,其中统计数据是关于此些区块中的存储单元响应于被指派至此些区块的编程/验证周期的模式的效能。在实现上,统计数据可以被储存于每一个区块的存储单元,其中一相变化存储器芯片(PCM chip)可以包括多个区块,且每一个区块可以包括多页面的存储单元。统计数据可以被储存在频外(Out Of Band,OOB)区。频外区通常是指专用于元信息(meta information)的区域,例如关于坏的区块(bad blocks)的信息、错误校正码(Error Correction Code,ECC)的数据以及擦除计数器(erase counters)等。有效负载数据(data payload)于频外区并不可得。替代地,统计数据可以储存在存储器外接的缓存器,例如在一个操作系统中的模块控制器(module controller)、或在一张安全数字卡(Secure Digital card,SD card)中的储存系统控制器(storage systemcontroller)、或一内嵌式多媒体控制器(Embedded Multi-Media Controller,EMMC)。
统计数据可以包括编程统计数据和应力统计数据。编程统计数据和应力统计数据是由编程序列和应力序列产生,且/或为编程序列和应力序列所使用。一编程序列可以包括在此编程序列的编程/验证周期中的一编程脉冲(a sequence of program pulses)序列,其中此序列的编程脉冲具有从一最低量值到一最高量值的一范围。编程统计数据可以包括,对多个区块中的每一个区块而言,一组在此范围中所选择的量值,以及数量,当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示此区块中具有电阻通过一验证阈值的存储单元的比例。编程统计数据可以被使用于决定是否或如何执行应力序列。在此区块中通过验证的存储单元的比例可以用百分比或分数表示,对比于被执行编程序列的存储单元的总数量。
应力统计数据可以包括一应力阈值电阻(stress threshold resistance)、一应力阈值量值(stress threshold magnitude)以及基于应力阈值电阻和应力阈值量值的一应力通过标准(stress passing criterion)。在具有应力阈值量值的编程脉冲施加至存储单元之后,应力通过标准可以包括具有电阻值低于或高于应力阈值电阻的数个存储单元。替代地,应力通过标准可以包括数个具有电阻值在电阻值范围之内的存储单元。使用于应力通过标准的存储单元的数量可以用百分比或分数表示,对比于被执行应力修整操作的存储单元的总数量。
应力阈值量值可以包括一量值以复位存储单元至非晶相,且当编程/擦除周期被重复地施加以复位存储单元时,存储单元可以已经部分地复位电阻值。关于一应力阈值量值以复位存储单元,应力阈值电阻可以例如是100千欧姆(100kilo-ohm)。替代地,应力阈值量值可以包括一量值以设置存储单元至结晶相,且当编程/擦除周期重复地施加以设置存储单元,存储单元可以已经部分地设置电阻值。关于一应力阈值量值以设置存储单元,应力阈值电阻可以例如是1兆欧姆(1mega-ohm)。
应力阈值量值和此组所选择的量值可以包括预先决定的值(例如150μA、175μA、200μA),如此一来,不需要储存所述量值的实际值(actualvalues)于每一个区块中的存储单元,其中μA表示微安培,一个电量单位。替代地,例如,仅储存储存在缓存器的索引引用(indexes referencing)的所述量值的实际值于每一个区块,以最小化储存开销(storage overhead)。同样地,应力阈值电阻可以具有预先决定的值(例如100千欧姆、1兆欧姆),如此一来,不需要储存实际的电阻值于每一个区块。替代地,例如,仅储存储存在缓存器的索引引用的所述量值的实际值于每一个区块,以最小化储存开销。在具有应力阈值量值的编程脉冲施加至数个存储单元之后,具有电阻值低于或高于应力阈值电阻的此些存储单元,以及/或通过验证的数个存储单元,可以用百分比或分数表示,进一步最小化储存开销。
一列译码器(row decoder)161耦接至多条字线162,其中字线162沿着存储器阵列160中的列(rows)排列。用以维持多个区块中的区块的统计数据(例如170)的逻辑单元被耦接至一组页面缓冲器(page buffers)163,在此实施例中是通过数据总线(data bus)167耦接。全局位线(globalbit lines)164耦接至区域位线(local bit lines)(未绘示),其中区域位线沿着存储器阵列160中的行(columns)排列。于总线165上的地址(addresses)被供应至此组页面缓冲器163和列译码器161。数据通过数据线175被供应至/从存储器电路上的电路180。于实施例中,存储器电路可以是一通用的处理器、一专门的应用电路、或一模块的结合,此结合提供系统单芯片(system-on-a-chip)的功能,是由存储器阵列160所支持。数据通过数据线175被供应至输入/输出端或至存储器电路装置100内部或外接的其他数据目的地。
存储器电路100可以包括一控制端111和一输入/输出端113。控制端111包括电路以接收控制讯号112且与外接装置互通,所述控制讯号包括如芯片致能(chip enable)讯号、读取致能(read enable)讯号、写入致能(write enable)讯号、命令致能(command enable)讯号、地址致能(addressenable)讯号以及定时器(clock)讯号等。输入/输出端113使用作为存储器电路100的输入端或输出端,取决于控制讯号112在控制端111接收到的值。输入/输出端113包括电路以接收输入讯号和发送输出讯号。输入端可以包括命令讯号、地址讯号以及输入数据讯号。输出端可以包括储存在缓存器120的应力统计数据和编程统计数据,且是可得的,例如通过在缓存器120和输入/输出端113之间的讯号125。
存储器电路100可以包括一命令译码器115,其中命令译码器115透过讯号116耦接至控制端111,且透过讯号117耦接至输入/输出端113。命令译码器115可以译码一命令,以从一外接源(source external)执行应力序列至存储器电路。此命令由命令/地址/数据讯号114而来,且在输入/输出端113上被接收。替代地,控制器150可以施用逻辑单元,以执行应力序列且响应于于内部逻辑单元,以代替从一外接源执行应力序列至存储器电路的命令。
图2绘示相变化存储单元进行应力循环(cycling stress),从一初始设置状态到一最终复位状态的电阻-电流(resistance-current,R-I)曲线图。曲线(1)显示在任何应力循环之前的R-I曲线。曲线(2)、(3)与(4)分别显示在1E4、1E6与1E8次应力的编程/擦除周期之后的R-I曲线。在初始设置状态和最终复位状态之间的部分复位状态(partial-reset states),如箭头所指示,可以看出曲线右移,表示具有渐增的编程脉冲量值(例如电压量值、电流量值或功率量值)。R-I曲线右移解释了在应力循环之后,一个相变化存储单元需要具有较高量值(较高的电压量值、较高的电流量值或较高的功率量值)的编程脉冲以达到最终复位状态,而不是较低量值。当一个相变化存储单元进行应力循环,全复位状态(full-reset state)的电阻保持稳定。
图3绘示多个相变化存储单元进行应力循环,从一初始设置状态(例如100千欧姆)到一最终复位状态(例如1000千欧姆)的电阻-电流曲线图。曲线310、320与330代表多个相变化存储单元需要较低、中等与较高量值的编程脉冲(例如低于50μA、大约50μA与高于50μA),以达到最终复位状态。通过施加不同次数的应力循环于存储单元,R-I曲线可以右移至一较窄的编程量值范围,此较窄的编程量值范围是相较于在应力循环之前,R-I曲线原始的编程量值范围。例如,较高次数的应力循环可以被施加至一第一相变化存储单元,其需要一较低量值的编程脉冲,如曲线310所示、中等次数的应力循环可以被施加至一第二相变化存储单元,其需要一中等量值的编程脉冲,如曲线320所示以及较低次数的应力循环可以被施加至一第三相变化存储单元,其需要一较高量值的编程脉冲,如曲线330所示。
图4A和图4B绘示在一应力序列施加至多个相变化存储单元之后,相变化存储单元从一较宽的编程量值范围右移至一较窄的编程量值范围的电阻-电流曲线图。虽然图4A和图4B中的编程量值范围是显示为电流,但编程量值范围也可以是电压或功率。一编程操作包括具有验证操作的一重复序列的电脉冲(an iterative sequence of electrical pulses)以编程一PCM单元。所需电脉冲的次数可以变化于PCM单元之间,取决于编程PCM单元至目标电阻值所需的编程脉冲的量值。在PCM单元的生命周期期间,在一区块的PCM单元中用于此些PCM单元的编程脉冲量值的范围会变宽,如此一来,需要更多的重复步骤以编程PCM单元,且降低编程操作的效能。通过执行一应力序列至如此处所述的区块的PCM单元,其中应力序列包括多个编程/擦除周期(例如数百个编程/擦除周期),一较宽的编程量值范围(例如图4A的410)可以右移至一较窄的编程量值范围(例如图4B的420),如此一来,仅需要较少的重复步骤以编程PCM单元,并改善编程操作的效能。替代地,一不同的编程序列可以被使用以编程PCM单元,例如一序列,在每一个重复步骤不递增编程脉冲的量值,或一序列,其包括在峰值处递减编程脉冲的量值的步骤。
在如图6所示的一ISPP序列中,具有验证脉冲的一重复序列的编程脉冲被施加至一组存储单元。若此组的一些存储单元未通过验证(例如不符合代表逻辑值的一目标电阻值),则逐渐增加编程脉冲的量值,且此具有验证脉冲的具有增加量值的编程脉冲被施加至此组中未通过验证的存储单元。
在一个实施例中,具有可利用的最大量值的应力脉冲可以在应力修整操作期间被使用于一应力序列,因为在一应力序列中具有较高量值的应力脉冲可以产生较有效率及较有效果的应力修整结果。存储器电路可以包括硬件电路以提供具有较高量值的应力脉冲,较高量值的应力脉冲是相较于使用在一般设置和复位操作的编程脉冲而言,例如于一ISPP序列,且为了较有效率及较有效果的应力修整,应力修整操作可以使用此具有较高量值的应力脉冲。在一个替代的实施例中,如此处所述的应力修整操作可以使用合适的应力脉冲量值于一般设置和复位操作的编程脉冲,例如于一ISPP序列,然而相较于较高的量值,对于应力修整而言,此量值会是较低效率和较低效果的。于实施例中,如此处所述的应力修整操作可以使用具有不变量值的应力脉冲,或具有可变量值的应力脉冲,其中可变量值的应力脉冲包括逐渐增加的量值和逐渐减少的量值。此外,在实施例中,如此处所述的使用于应力序列的应力脉冲的量值可以与如图16A、图16B、图16C及图16D所示的波形(waveforms)结合。
在一个实施例中,如图9的范例所示,一应力序列中的多个应力脉冲(例如数百个编程/擦除周期)可以被施加至一被选区块的存储单元,此应力序列中的多个应力脉冲没有任何如在ISPP序列中的验证脉冲,且没有如在ISPP序列中,针对每一个编程脉冲的目标电阻值验证在此被选区块中的存储单元的电阻。如结合图9进一步所描述,在此应力序列中的多个应力脉冲被施加至存储单元之后,执行具有应力阈值量值的编程脉冲至存储单元,且针对一阈值电阻对此被选区块中的存储单元的电阻进行验证。此应力序列可以被重复于未通过验证的存储单元,验证是基于应力阈值量值和此阈值电阻,没有任何如在ISPP序列中的验证脉冲,且没有如在ISPP序列中,针对的每一个编程脉冲的目标电阻值验证在此被选区块中的存储单元的电阻。在一个替代的实施例中,验证脉冲可以被应用于各个应力脉冲,虽然验证脉冲对于应力修整可能是没有效果或没有效率的,因为验证脉冲的量值低于适合使用于一般设置和复位操作的编程脉冲(例如于一ISPP序列)的量值,且因此低于对应力修整较有效率及较有效果的较高的量值。此外,验证脉冲的脉冲宽度可以比适合使用于一般设置和复位操作的编程脉冲(例如于一ISPP序列)的脉冲宽度短,且因此比对应力修整较有效率及较有效果的较长的脉冲宽度短。
图5绘示一实施例的用于操作包括一存储单元区块的存储器电路的方法的简化流程图。在步骤510,执行编程序列于被选区块中的存储单元,其中编程序列包括一模式的编程/验证周期。编程序列的编程/验证周期可以包括一编程脉冲,其诱导存储单元的电阻变化,以及一验证步骤,以侦测具有一电阻的存储单元是否通过一验证阈值(例如应力阈值电阻)。在一个实施例中,编程序列可以包括一增阶型脉冲编程序列(IncrementalStepped pulse ProPramming sequence,ISPP序列)。一ISPP序列的范例将搭配图6作进一步说明。一修饰的ISPP序列的范例将结合图7和图8进行描述,此范例包括在此ISPP序列中的步骤,以及额外的步骤,以决定执行一应力序列的条件。
一编程序列包括在此编程序列的编程/验证周期中的一编程脉冲序列,其中此编程脉冲序列具有从一最低量值到一最高量值的一范围。执行编程序列所产生的统计数据可以包括,对多个区块中的每一个区块而言,一组在此范围中所选择的量值,以及数量,当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示此区块中具有电阻通过一验证阈值的存储单元的比例。
在步骤520和530,基于步骤510所产生的统计数据,可以决定执行一应力序列的条件。决定执行一应力序列的条件的范例将结合图10-图13进行描述。
在步骤540,执行一应力序列至一被选区块,其中应力序列包括应力脉冲,应力脉冲是被配置以加强(stress)在此区块中未通过验证的存储单元。应力脉冲可以包括编程/擦除周期(program/erase cycles)。一应力序列的范例将结合图9进行描述。
图6绘示一ISPP序列的简化流程图。在步骤610,
具有验证脉冲的一重复序列的编程脉冲被施加至一组存储单元,其中编程脉冲具有一量值(例如电压、电流或功率)。在步骤620,决定是否此组中所有的存储单元皆通过验证。在步骤630,若此组的一些存储单元未通过验证(例如不符合代表逻辑值的一目标电阻值),则逐渐增加编程脉冲的量值,且屏蔽(mask)此组中通过验证的存储单元。在下一次迭代(iteration)中的步骤610,此具有验证脉冲的具有增加量值的编程脉冲被施加至此组中未通过验证的存储单元,且因此未通过验证的存储单元在最后一次迭代中不会被屏蔽。当此组中所有的存储单元皆通过验证,则此ISPP序列终止。
图7绘示执行编程序列于多个区块中被选区块,以编程此些所被选区块中的一存储单元,以及收集统计数据以决定执行一应力序列于此些被选区块之一的条件的简化流程图,使用一修饰的ISPP序列作为范例。当一存储单元的电阻(Rcell)符合代表一逻辑值的一目标电阻(Rtarget),则此存储单元被编程至此逻辑值。目标电阻可以包括一范围的电阻值,且若存储单元的电阻落在电阻值的范围内,则存储单元具有符合目标电阻的电阻。例如,一个2位MLC存储单元可以具有4个电阻值对应于4个逻辑值(例如2位的00、01、10、11),且目标电阻可以对应于此4个电阻值其中之一。在一编程序列中的每一个编程/验证周期包括一第一验证(firstverify),以验证在所被选区块中的一被选区块的存储单元是否具有符合一目标电阻的电阻,该目标电阻代表一逻辑值。
为了收集统计数据以决定执行一应力序列的条件的目的,若一存储单元的电阻(Rcell)符合一应力阈值电阻(Rth),则此存储单元通过一第二验证(second verify)。应力阈值电阻可以是在一范围的电阻值内,包括电阻值对应于存储单元的不同的逻辑值,且可以不同于目标电阻值。应力阈值电阻将结合图8进行进一步描述。一编程脉冲包括在编程序列的编程/验证周期中的一编程脉冲序列,其中此编程脉冲序列具有从一最低量值到一最高量值的一范围。收集的统计数据可以包括,对多个区块中的每一个区块而言,一组在此范围中所选择的量值,以及数量,当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示此区块中具有电阻通过一验证阈值的存储单元的比例。
除了第一验证,在此编程序列中的特定的编程/验证周期的一第二验证被施加至此被选区块中的存储单元,其中第二验证具有一编程量值,且此编程量值符合此组所选择的量值中的一选择量值。接着可以使用第二验证比较此被选区块中的存储单元的电阻与验证阈值(例如应力阈值电阻);以及更新数量,数量是为此被选区块的比较的结果,其中当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示一被选区块中具有电阻通过一验证阈值的存储单元的比例。
在步骤710,可以从存储器电路中的缓存器或频外区读取应力统计数据和编程统计数据。应力统计数据和编程统计数据将结合图1进行进一步描述。在步骤720,具有验证脉冲的一重复序列的编程脉冲被施加至一组存储单元,其中编程脉冲具有一量值(例如电压、电流或功率)。
在步骤730,决定编程脉冲的量值是否符合一组量值中的一量值。若是,接着在步骤740,施加在编程/验证周期中的一第二验证至存储单元,其中第二验证具有一编程量值,且此编程量值符合此组所选择的量值中的一选择量值。当在步骤720中,编程脉冲被施加至存储单元时,除了第一验证,施加第二验证以验证存储单元的电阻。接着可以使用第二验证比较此被选区块中的存储单元的电阻与验证阈值(例如应力阈值电阻)。在一个实施例中,可以计算通过第二验证的单元的总数量,而在一个替代的实施例中,可以计算未通过第二验证的单元的总数量。可以藉由通过验证或未通过验证的单元的总数量以更新数量,其中当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示此区块中具有电阻通过一验证阈值的存储单元的比例。在步骤745,储存编程统计数据于缓存器或频外区,其中编程统计数据包括数量,当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示此区块中具有电阻通过一验证阈值的存储单元的比例。通过验证或未通过验证的单元的总数量可以被使用于决定执行一应力序列的条件。
在步骤750,决定存储单元的电阻(Rcell)是否符合ISPP目标电阻。若是,接着在步骤760,具有电阻符合ISPP目标电阻的存储单元被逻辑地屏蔽(logically masked),因此这些存储单元在下一次迭代期间不会被处理。在步骤770,若此组存储单元中所有的存储单元都已经被屏蔽,则ISPP序列即停止。若否,在步骤780,逐渐增加编程脉冲的量值,且下一次迭代开始进行于未符合ISPP目标电阻的存储单元。
在一个实施例中,应力阈值量值指示PCM单元的最小启动量值,且因此在修饰的ISPP操作中,任何具有量值小于应力阈值量值的编程脉冲可以被跳过。因此相较于传统的ISPP序列,修饰的ISPP序列可以减少编程步骤的次数。
在一个实施例中,可以使用修饰的ISPP序列替代ISPP序列,例如结合图6所描述的,是为了编程存储单元,因此储存在缓存器的统计数据的应力序列是被更新。在一个替代的实施例中,ISPP序列被使用以编程存储单元,而修饰的ISPP序列在编程/验证周期次数(例如1000或10000次循环)中被周期性地执行。因为R-I曲线的移动是渐进的,因此足以周期性地执行修饰的ISPP序列。
图8绘示在一个修饰的ISPP序列中的编程脉冲和验证脉冲的范例图。图8显示4个编程脉冲(例如P1、P2、P3、P4)分别具有4个验证脉冲(例如V1、V2、V3、V4),施加至存储单元。当存储单元通过验证(例如当Rcell符合Rtarget,如验证脉冲V4所决定的),则修饰的ISPP序列即停止。若存储单元未通过验证,则此修饰的ISPP序列将继续进行下一次在示出的序列中的编程/验证周期。在此范例中,存储单元未通过验证,如验证脉冲V1、V2、V3所决定的,所以分别施加编程脉冲P2、P3、P4。
在一编程序列中的每一个编程/验证周期包括一第一验证,以验证在被选区块中的一被选区块的存储单元是否具有符合一目标电阻的电阻,该目标电阻代表一逻辑值。在修饰的ISPP序列中,一第二验证(例如AV3、AV4)可以被施加至此被选区块中的存储单元,第二验证在编程序列中的特定的编程/验证周期具有一编程量值,且此编程量值符合一组所选择的量值中的一选择量值。一第二验证和一第一验证可以被施加在两个编程脉冲之间。可以在验证脉冲(例如V3)被施加之前先施加第二验证(例如AV3),因此修饰的ISPP序列将不会在第二验证被施加之前停止。
在一个实施例中,可以计算通过第二验证的单元的总数量,而在一个替代的实施例中,可以计算未通过第二验证的单元的总数量。通过验证或未通过验证的存储单元的总数量可以储存在存储器电路中的缓存器或频外区,用以执行如此处所述的应力序列。
参照图8所示的修饰的ISPP序列,若应力阈值电阻(例如1兆欧姆)大于用以编程存储单元的目标电阻(例如100千欧姆),则一旦目标电阻符合,此修饰的ISPP序列可能会停止,且因此1兆欧姆的应力阈值电阻将不会被使用在此编程序列,且编程统计数据将不会随着存储单元的状况被更新。
据此,对于应力修整操作以复位存储单元至非晶相,其开始于一设置状态,具有符合第一非设置状态(first non-set state)的电阻值(例如100千欧姆)的应力阈值是优选的。第一非设置状态的电阻值是对应于MLC存储单元的一逻辑值,且相较于其他电阻值,第一非设置状态的电阻值是较接近于此设置状态的电阻值,其中其他电阻值是对应于MLC存储单元的其他逻辑值。
同样地,对于应力修整操作以设置存储单元至结晶相,其开始于一复位状态,具有符合第一非复位状态(first non-reset state)的电阻值(例如1兆欧姆)的应力阈值是优选的。第一非复位状态的电阻值是对应于MLC存储单元的一逻辑值,且相较于其他电阻值,第一非设置状态的电阻值是较接近于此设置状态的电阻值,其中其他电阻值是对应于MLC存储单元的其他逻辑值。
图8A绘示以控制器所可以指派的区块为基础,在一区块上不同模式(pattern)的编程/验证周期,以及在此些不同模式内的统计数据收集步骤。
执行包括一第一模式(例如模式1)的编程/验证脉冲的一第一编程序列,第一编程序列包括在此编程序列的编程/验证周期中的一编程脉冲序列,其中此编程脉冲序列具有从一最低量值(例如一起使电压电平(starting voltage level)Va)到一最高量值(例如一终止电压电平(endingvoltage level)Va Max)的一编程量值范围。施加第一编程序列至一存储单元以诱导此存储单元的电阻变化,因此此存储单元的电阻可以符合代表一逻辑值的一目标电阻,如同通过施加于编程序列的编程/验证周期中的验证脉冲所验证。例如,一个2位MLC存储单元可以具有4个电阻值对应于4个逻辑值(例如2位的00、01、10、11),且目标电阻可以对应于此4个电阻值其中之一。在此范例中,每一个编程脉冲的跨距(step)是一定值ΔV。第一模式(例如模式1)的通过的编程脉冲的数量可以通过VaMax与Va之间的差,除上跨距ΔV加一个额外的周期(additional cycle)的量值来决定。
如图8所示的编程量值(例如Va+ΔV、Va+2*ΔV、...Va+9*ΔV)仅作为举例用。在实施例中,可以有更多或更少的编程量值在包括一模式的编程/验证周期的一编程序列中,且在此模式的编程/验证周期中的每一个编程脉冲的跨距可以是可变的以取代一定值ΔV。虽然在此范例中编程量值是为电压,但编程量值也可以是电流或功率。
编程序列包括验证脉冲于在此模式的程序/验证周期的各个编程脉冲中。当存储单元针对一目标电阻通过验证,例如当存储单元的电阻符合如同验证脉冲所决定的目标电阻,则此编程序列即停止。若存储单元未通过验证,则此编程序列继续跳至此模式的编程/验证周期中的下一个编程/验证周期。
当使用第一模式(例如模式1)来执行此包括第一模式的编程/验证周期的第一编程序列,统计数据可以被收集,在当编程脉冲的量值符合一组所选择的量值(例如Va+2*ΔV、Va+4*ΔV、Va+6*ΔV)中的一选择量值(例如Va+2*ΔV),且被施加至存储单元的时候。在此组所选择的量值中的两相邻选择的量值之间可以有多个编程脉冲,其中在两相邻选择的量值之间的多个编程脉冲具有包括多个跨距(例如ΔV’s)的多个编程量值。在一个实施例中,在两相邻选择的量值之间的间隔量值可以是定值(例如25μA)。在一个替代的实施例中,在两相邻选择的量值之间的间隔量值可以是可变的。在一个实施例中,当符合一选择量值的编程脉冲量值被施加至一区块的存储单元中的此存储单元时,施加一第二验证以针对一应力阈值电阻验证此存储单元的电阻。除了在一编程/验证周期中的一第一验证,在此编程序列中的此编程/验证周期的一第二验证验证在一被选区块中的存储单元是否符合代表一逻辑值的一目标电阻值。应力阈值电阻将将搭配图8作进一步说明。
当具有此组所选择的量值中的一选择量值的编程脉冲施加至存储单元时,具有电阻通过一验证阈值(例如存储单元的电阻低于应力阈值电阻)的存储单元的数量可以被计算。收集统计数据可以包括,对多个区块中的每一个区块而言,一组从编程/验证序列的编程量值范围所选择的量值,以及数量,当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,数量即指示此区块中具有电阻通过一验证阈值的存储单元的比例。当具有此组选择量值中各个选择量值的编程脉冲施加至存储单元时,存储单元的比例可以源自于具有电阻通过验证阈值的存储单元的数量。
使用于后续应力操作中的一应力阈值量值可以从此组所选择的量值决定,此组所选择的量值是基于当具有此组中各个选择量值的编程脉冲施加至存储单元时,在此区块中具有电阻低于应力阈值电阻的存储单元的比例。在一个范例中,在(Va+2*ΔV)的选择量值下,此区块中100%的存储单元具有低于应力阈值电阻的电阻值,且因此通过验证。在(Va+4*ΔV)的选择量值下,此区块中80%的存储单元具有低于应力阈值电阻的电阻值,且因此通过验证,然而20%的存储单元具有大于应力阈值电阻的电阻值,且因此未通过验证。在(Va+6*ΔV)的选择量值下,此区块中20%的存储单元具有低于应力阈值电阻的电阻值,且因此通过验证,然而80%的存储单元具有大于应力阈值电阻的电阻值,且因此未通过验证。
应力阈值量值可以被决定,当具有此应力阈值量值的编程脉冲被施加至存储单元时,使得此区块中具有电阻通过一验证阈值的一第一部份的存储单元多于此区块中具有电阻未通过此验证阈值的一第二部份的存储单元。基于收集的统计数据,在(Va+4*ΔV)的选择量值下,大部分的存储单元(例如80%)具有低于应力阈值电阻的电阻值,且因此通过验证。据此,应力阈值量值可以被决定是(Va+4*ΔV),使得仅有少部分的存储单元需要被加强窄化用以编程存储单元的编程量值的范围。
接着,使用此决定的应力阈值量值的一应力修整操作可以被施加至此些少部份的存储单元(例如20%),这些存储单元原先在(Va+4*ΔV)的选择量值下具有大于应力阈值电阻的电阻,从而导致这些20%的存储单元现在在(Va+4*ΔV)的应力阈值量值下具有低于应力阈值电阻的电阻值。因此100%的存储单元在(Va+4*ΔV)的应力阈值量值下可以具有低于应力阈值电阻的电阻值,降低PCM单元的单元至单元变异。
在施加应力修整操作之后,执行包括一第二模式(例如模式2)的编程/验证周期的一第二编程序列。由于应力修整操作已造成在(Va+4*ΔV)的应力阈值量值下,100%的存储单元具有低于应力阈值电阻的电阻值,模式2的最低量值可以从在第一模式(模式1)的Va增加到(Va+3*ΔV),其中(Va+3*ΔV)是低于或等于第二模式的应力阈值量值(例如Va+4*ΔV)。应力阈值量值可以指示存储单元的最小导通量值(minimum turn-onmagnitude),且因此任何编程脉冲的量值低于应力阈值量值可以被跳过,以降低编程步骤的次数。
由于应力阈值量值被决定为(Va+4*ΔV),具有一最低值(例如Va+2*ΔV)的选择量值不再有效,因为其现在产生100%的存储单元通过验证。据此,统计数据被更新,从此组所选择的量值移除具有一最低值(例如Va+2*ΔV)的选择量值,并且增加一新的选择量值(例如Va+8*ΔV)至此组所选择的量值,其中新的选择量值大于模式1的最高选择量值(例如Va+6*ΔV)。
因此,当使用第二模式(例如模式2)来执行此包括第二模式的编程/验证周期的第二编程序列,统计数据可以被收集,在当编程脉冲的量值符合一组更新的选择量值(例如Va+4*ΔV、Va+6*ΔV、Va+8*ΔV)中的一选择量值(例如Va+2*ΔV),且被施加至存储单元的时候。
图9绘示一应力序列的简化流程图。应力序列可以包括应力脉冲,被配置以加强在一区块中未通过验证的存储单元,其中应力序列可以包括多个编程/擦除周期,例如数百个编程/擦除周期(步骤910)。在一个实施例中,当具有一应力阈值量值的编程脉冲施加至存储单元,若存储单元具有电阻值(Rcell)大于应力阈值电阻(Rth),则存储单元不会通过验证。应力阈值量值可以是电压、电流或功率。
在步骤920,在应力脉冲施加至此区块中未通过验证的存储单元之后,执行具有应力阈值量值的编程脉冲与验证脉冲至这些存储单元。在一个实施例中,在具有应力阈值量值的编程脉冲与验证脉冲施加至这些存储单元之后,若存储单元具有电阻值(Rcell)低于应力阈值电阻(Rth),则存储单元通过验证。在步骤930,若存储单元具有电阻值(Rcell)低于应力阈值电阻(Rth),且因此通过验证,则存储单元在下一次迭代被逻辑地屏蔽掉。一逻辑屏蔽维持指示步骤920的验证结果。在应力阈值脉冲施加之后,任何仍具有电阻值高于应力阈值电阻的存储单元不会被屏蔽掉。应力脉冲可以施加至此区块中具有电阻未通过验证的存储单元,如逻辑屏蔽所指示的(步骤940)。应力脉冲可以重复于多次迭代中,直到执行应力序列在此区块的存储器上的限制已经达到(步骤950)。限制可以包括一时间限制,例如100毫秒、一循环迭代限制(loop iteration limit),例如100,以及一应力循环次数(stress cycle count),例如106。
若在一特定的区块或页面上收到执行一应力序列的命令,并且没有编程脉冲已经执行在此特定区块或页面上,则不需要在此特定区块或页面上执行应力修整操作。这种状况可以通过检查统计数据来决定。对于在编程脉冲中所有对应的选择量值而言,若存储单元通过验证的数量是零或0%,则不需要在此特定区块或页面上执行一应力序列。
对于具有初始值的一或多个区块的相变化存储单元,其应力统计数据和编程统计数据可以被初始化,其中初始值是储存在PCM芯片中或芯片外的缓存器或频外区。初始化应力统计数据和编程统计数据可以从一或多个PCM芯片的厂内统计测量(in-factory statistical measurements)来决定。相较于从被采取的所述统计测量而来的PCM芯片,厂内统计测量可以被施加至更多PCM芯片。例如,从一或多个半导体芯片上的一或多个PCM芯片而来的厂内统计测量可以被施加至此相同芯片上或一批芯片上的所有芯片。
以下提供范例以解释说明如何使用编程统计数据和应力统计数据执行编程序列和应力序列。在包括一组所选择的量值(例如150μA、175μA以及200μA)中的选择量值的编程脉冲被施加至存储单元之后,厂内统计测量可以包括关于存储单元的电阻的统计数据。例如,当具有此组所选择的量值中的一特定量值(例如150μA)的编程脉冲被施加至存储单元时,此统计测量可能显示大部分的测量的PCM存储单元(例如90%)具有电阻值低于应力阈值电阻(例如100千欧姆)。换言之,在具有此组所选择的量值中的一特定量值的编程脉冲被施加至存储单元之后,90%的测量的存储单元具有电阻值低于应力阈值电阻。据此,应力统计数据可以包括初始值:
应力通过标准=100%
应力阈值量值=150μA
应力阈值电阻=100kilo-ohms
其中应力阈值量值被设定成此组所选择的量值中的此特定量值,且当存储单元在后续执行一应力序列的期间被部分地编程,应力通过标准指示此区块中具有电阻值低于应力阈值电阻的存储单元的百分比,其中是使用具有此组所选择的量值中的此特定量值(例如150μA)的编程脉冲进行编程。
接着执行一应力修整操作于一区块的PCM单元,直到当具有此组所选择的量值中的一特定量值(例如150μA)的编程脉冲被施加至存储单元时,100%的存储单元具有电阻值低于应力阈值电阻(例如100千欧姆),换言之,直到在具有此组所选择的量值中的此特定量值的编程脉冲被施加至存储单元之后,100%的测量的存储单元具有电阻值低于应力阈值电阻。这可以通过首先,施加如此处所述的应力脉冲来实现,例如施加数百个应力脉冲至此区块的存储单元,接着施加具有此组选择量值中此特定量值的编程脉冲至存储单元,并针对应力阈值电阻(例如100千欧姆)比较存储单元的电阻。
由于具有较大量值的一应力序列中的应力脉冲可以产生更有效率的应力修整结果,具有可利用的最大量值的应力脉冲可以在应力修整操作期间被使用。在一个实施例中,如此处所述的应力修整操作可以使用具有量值适合一般设置和复位操作的编程脉冲于存储单元上,如应力脉冲。在一个替代的实施例中,存储器电路可以包括硬件电路以提供具有较高量值的应力脉冲,是相较于使用在一般设置和复位操作的编程脉冲而言,且为了更有效率的应力修整,应力修整操作可以使用此具有较高量值的应力脉冲。
使用上述的范例,一存储单元区块的编程统计数据可以包括初始值:
所选择的量值=150μA、175μA、以及200μA
通过验证的存储单元的百分比(percentage of memory cells passing)=0%、0%以及0%
其中,在此组所选择的量值下通过验证的存储单元的百分比是0%,表示由于厂内统计测量,没有编程序列已经被执行。
图10绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第一个范例中,执行一应力操作之前,通过验证的存储单元的比例。在一特定次数的编程/擦除周期(例如1000或10000)之后,一编程序列,例如结合图7所描述的,可以被执行至一存储单元区块。如图10所绘示的,在施加具有此组所选择的量值(例如150μA、175μA以及200μA)的编程脉冲之后,执行编程序列的结果可以决定具有电阻低于应力阈值电阻的存储单元的数量分别为100%、80%以及20%。据此,编程统计数据被更新:
所选择的量值=150μA、175μA、以及200μA
通过验证的存储单元的百分比=100%、80%以及20%
如图10所绘示的,五条曲线(例如1010、1020、1030、1040与1050)代表在一存储单元区块中100%的存储单元。在150μA的选择量值下,此区块中100%的存储单元具有低于应力阈值电阻的电阻值,且因此通过验证。在175μA的选择量值下,此区块中80%的存储单元具有低于应力阈值电阻的电阻值,如曲线1020、1030、1040与1050所表示,且因此通过验证,然而20%的存储单元具有大于应力阈值电阻的电阻值,如曲线1010所表示,且因此未通过验证。在200μA的选择量值下,此区块中20%的存储单元具有低于应力阈值电阻的电阻值,如曲线1050所表示,且因此通过验证,然而80%的存储单元具有大于应力阈值电阻的电阻值,如曲线1010、1020、1030与1040所表示,且因此未通过验证。
若包括此区块中的存储单元的存储器电路接收到一命令以执行此应力序列,例如结合图9所描述的,则存储器电路可以首先读取更新的编程统计数据。基于编程统计数据,在175μA的选择量值下,大部分的存储单元(例如80%)具有低于应力阈值电阻的电阻值,且因此符合在编程脉冲量值下,应力阈值电阻高于175μA的选择量值,应力统计数据可以被更新:
应力通过标准=100%
应力阈值量值=175μA
应力阈值电阻=100kilo-ohms
其中应力阈值量值被更新,从150μA至175μA。
再者,使用更新的应力统计数据的应力修整操作可以施加至少数的存储单元(例如20%),这些少数的存储单元原先在175μA的选择量值下具有大于100千欧姆的应力阈值电阻的电阻,从而导致这些20%的存储单元现在在175μA的应力阈值量值下具有低于应力阈值电阻的电阻值。因此100%的存储单元在175μA的应力阈值量值下可以具有低于应力阈值电阻的电阻值,降低PCM单元的单元至单元变异,如图11所绘示。
图11绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第一个范例中,执行一应力操作之后,通过验证的存储单元的比例。如图10所示的曲线(例如1010、1020、1030、1040与1050),代表在此区块中80%的存储单元在175μA的选择量值下,具有低于应力阈值电阻的电阻值,且因此通过验证。曲线1110代表其他20%的存储单元现在在175μA的应力阈值量值下具有低于应力阈值电阻的电阻值。因此,100%的存储单元现在在175μA的应力阈值量值下通过验证。
随着应力阈值量值更新至175μA,原先定义的150μA的选择量值不再有效,因为其现在产生100%的存储单元通过验证。据此,编程统计数据被更新:
所选择的量值=175μA、200μA、以及225μA
通过验证的存储单元的百分比=0%、0%以及0%
其中原先150μA的选择量值从此组所选择的量值被移除,且增加一编程选择的量值225μA至此组所选择的量值。
在更多编程/擦除周期之后,应力阈值量值可以再次增加,且另一个修整操作可以被执行,随着应力阈值量值从175μA更新至200μA。修整操作可以只增加应力阈值量值,如结合图2所描述的。
图12绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第二个范例中通过验证的存储单元的比例。在一特定次数的编程/擦除周期(例如1000或10000)之后,一编程序列,例如结合图7所描述的,可以被执行至一存储单元区块。如此第二个范例所描述的,在施加具有此组所选择的量值(例如150μA、175μA以及200μA)的编程脉冲之后,执行编程序列的结果可以决定具有电阻低于应力阈值电阻的存储单元的数量分别为40%、20%以及0%。据此,编程统计数据被更新:
所选择的量值=150μA、175μA、以及200μA
通过验证的存储单元的百分比=40%、20%以及0%
如图12所绘示的,五条曲线(例如1210、1220、1230、1240与1250)代表在一存储单元区块中100%的存储单元。在150μA的选择量值下,此区块中40%的存储单元具有低于应力阈值电阻的电阻值,如曲线1240与1250所表示,且因此通过验证,然而60%的存储单元具有大于应力阈值电阻的电阻值,如曲线1210、1220与1230所表示,且因此未通过验证。在175μA的选择量值下,此区块中20%的存储单元具有低于应力阈值电阻的电阻值,如曲线1250所表示,且因此通过验证,然而80%的存储单元具有大于应力阈值电阻的电阻值,如曲线1210、1220、1230与1240所表示,且因此未通过验证。在200μA的选择量值下,此区块中100%的存储单元具有高于应力阈值电阻的电阻值,如曲线1210、1220、1230、1240与1250所表示,且因此未通过验证。
若包括此区块中的存储单元的存储器电路接收到一命令以执行此应力序列,例如结合图9所描述的,则存储器电路可以首先读取更新的编程统计数据。基于编程统计数据,在175μA的选择量值下,少部分的存储单元(例如20%)具有低于应力阈值电阻的电阻值。换言之,应力序列需要被执行至大部分的存储单元,以窄化编程脉冲量值的范围,因为应力修整操作只能增加应力阈值量值,如结合图12所描述的。据此,在此情况下没有应力修整操作被执行。
图13绘示存储单元的电阻-电流曲线图,且当具有各个选择量值的编程脉冲被施加至存储单元时,其指示在第三个范例中通过验证的存储单元的比例。在一特定次数的编程/擦除周期(例如1000或10000)之后,一编程序列,例如结合图7所描述的,可以被执行至一存储单元区块。如此第三个范例所描述的,在施加具有此组所选择的量值(例如150μA、175μA以及200μA)的编程脉冲之后,执行编程序列的结果可以决定具有电阻低于应力阈值电阻的存储单元的数量分别为80%、60%以及0%。据此,编程统计数据被更新:
所选择的量值=150μA、175μA、以及200μA
通过验证的存储单元的百分比=80%、60%以及0%
如图13所绘示的,五条曲线(例如1310、1320、1330、1340与1350)代表在一存储单元区块中100%的存储单元。在150μA的选择量值下,此区块中80%的存储单元具有低于应力阈值电阻的电阻值,如曲线1320、1330、1340与1350所表示,且因此通过验证,然而20%的存储单元具有大于应力阈值电阻的电阻值,如曲线1310所表示,且因此未通过验证。在175μA的选择量值下,此区块中60%的存储单元具有低于应力阈值电阻的电阻值,如曲线1330、1340与1350所表示,且因此通过验证,然而40%的存储单元具有大于应力阈值电阻的电阻值,如曲线1310与1320所表示,且因此未通过验证。在200μA的选择量值下,此区块中100%的存储单元具有高于应力阈值电阻的电阻值,如曲线1310、1320、1330、1340与1350所表示,且因此未通过验证。
若包括此区块中的存储单元的存储器电路接收到一命令以执行此应力序列,例如结合图9所描述的,则存储器电路可以首先读取更新的编程统计数据。基于编程统计数据,在150μA的选择量值下,大部分的存储单元(例如80%)具有低于应力阈值电阻的电阻值,且在175μA的选择量值下,60%的存储单元具有低于应力阈值电阻的电阻值。据此,应力统计数据可以被更新:
应力通过标准=100%
应力阈值量值=200μA
应力阈值电阻=100kilo-ohms
其中应力阈值量值被更新,从150μA至200μA。
再者,使用更新的应力统计数据的应力修整操作可以被施加至20%的存储单元,这些存储单元原先在150μA的选择量值下具有大于100千欧姆的应力阈值电阻的电阻,从而导致这些存储单元现在在200μA的应力阈值量值下具有低于应力阈值电阻的电阻值。因此100%的存储单元在200μA的应力阈值量值下可以具有低于应力阈值电阻的电阻值,降低PCM单元的单元至单元变异。
图14A和图14B分别绘示不具有应力修整操作和具有应力修整操作在飘移(drift)后的电阻分布。动态参考(dynamic reference)可以被使用以区分代表MLC PCM单元的两个逻辑状态的两个电阻范围。随着电阻分布宽化,在存储单元的生命周期期间放置一动态参考在存储单元的两个电阻范围之间的困难性增加,因此在存储单元的生命周期期间,此两个电阻范围之间的一余量(margin)减少。如此处所述的应力修整操作可以窄化电阻分布。如图14A和图14B中的范例所示,图14A所示的存储单元的电阻-电流曲线图比图14B所示的电阻-电流曲线图较为分散,其中图14A所示的电阻-电流曲线图不具有应力修整操作,图14B所示的电阻-电流曲线图具有应力修整操作,或者具有应力修整操作的存储单元的电阻-电流曲线图比不具有应力修整操作的电阻-电流曲线图较为收敛(aligned)。
如图14A中的单元电阻v.s.时间图所示,没有应力修整操作,代表存储器的两个中间MLC状态的电阻范围是比较容易随着时间增加的,因此此电阻范围之间的一余量随着时间减少,且因此放置一动态参考在此电阻范围之间是比较困难的。相对地,如图14B中的电阻v.s.时间图所示,具有应力修整操作,代表存储器的两个中间MLC状态(例如状态1和状态2)的电阻范围是比较不容易随着时间增加的,因此此电阻范围之间的一余量比较不容易随着时间减少,且因此放置一动态参考在此电阻范围之间是比较容易的。
图15A、图15B和图15C绘示在存储单元的生命周期期间施加多次应力修整操作。图15A、图15B和图15C各自包括绘示电阻-电流曲线图的上图表,以及电阻范围随时间变化的下图表。图15A中的上图表绘示在一第一应力修整操作之后,存储单元的较分散的电阻-电流曲线图变得较为收敛。图15B中的下图表绘示对应于此较收敛的电阻-电流曲线图,代表存储器的两个状态(例如状态1和状态2)的电阻范围是比较不容易随着时间增加的,因此此电阻范围之间的一余量比较不容易随着时间减少,且因此放置一动态参考在此电阻范围之间是比较容易的。
图15B中的上图表绘示在此第一应力修整操作之后,再更多次使用(例如编程/擦除周期)后,此较收敛的电阻-电流曲线图可以变得较为分散。图15B中的下图表绘示对应于图15B中的上图表的此较分散的电阻-电流曲线图,代表存储器的两个状态(例如状态1和状态2)的电阻范围是比较容易随着时间增加的,因此此电阻范围之间的一余量比较容易随着时间减少,且因此放置一动态参考在此电阻范围之间是比较困难的。
图15C中的上图表绘示在一第二应力修整操作之后,存储单元的如图15B中在多次使用后的较分散的电阻-电流曲线图可以变得较为收敛。图15C中的下图表绘示对应于此较收敛的电阻-电流曲线图,代表存储器的两个状态(例如状态1和状态2)的电阻范围是比较不容易随着时间增加的,因此此电阻范围之间的一余量比较不容易随着时间减少,且因此放置一动态参考在此电阻范围之间是比较容易的。
一般而言,在一个PCM产物的生命周期期间,可以施加多次应力修整操作以收敛电阻-电流曲线图,且使得两个电阻范围之间的余量比较不容易减少,因此放置一动态参考在此电阻范围之间是比较容易的。
图16A、图16B、图16C和图16D绘示可以被使用于应力序列中应力脉冲的波形。图16A绘示正方形波形,可以被使用以复位存储单元至非晶相,其中波形的量值可以是电压或电流(例如400μA)。图16B绘示三角波形,可以被使用以设置存储单元至结晶相,其中波形的量值可以是电压或电流(例如400μA)。图16C绘示延长的矩形波形,其中波形的量值可以是电压或电流(例如400μA),且一个延长的矩形波形的宽度可以是如图16A所示的一个正方形波形的宽度的数倍(例如数百倍)。图16D绘示延长的斜坡波形,其中波形的量值可以是电压或电流(例如400μA),且一个延长的斜坡波形的宽度可以是如图16B所示的三角波形的宽度的数倍(例如数百倍)。
图17A和图17B绘示不具有应力操作和具有应力操作的编程脉冲的量值范围,从1024存储单元的实验结果得到。图17A绘示不具有应力修整操作的编程脉冲的一较宽的量值范围(例如1710),然而图17B绘示具有应力修整操作的编程脉冲的一较窄的量值范围(例如1720)。量值范围可以是电压或电流。据此,通过应力修整操作可以降低编程脉冲的量值范围的变异。
图18A和图18B绘示不具有应力操作和具有应力操作的存储单元的启动电流(turn-on current)分布,从1024存储单元的实验结果得到,其中存储单元的电阻大于500千欧姆。图18A绘示不具有应力修整操作的一较宽的启动电流分布,然而图18B绘示具有应力修整操作的一较窄的启动电流分布。量值范围可以是电压或电流。据此,通过应力修整操作可以降低启动电流的变异。
图19A和图19B绘示不具有应力操作和具有应力操作的存储单元的电阻飘移系数,从1024存储单元的实验结果得到。图19A绘示不具有应力修整操作的一较宽范围的电阻飘移系数,然而图19B绘示具有应力修整操作的一较窄范围的电阻飘移系数。据此,通过应力修整操作可以降低电阻飘移系数的变异。
图20A和图20B分别绘示不具有应力操作和具有应力操作的一中间电阻状态的电阻飘移,从两组存储单元的实验结果得到。图20A绘示在一段期间内一第一组的存储单元(例如151单元)的电阻飘移,其中应力修整操作没有被执行于此第一组。图20B绘示在一段期间内一第二组的存储单元(例如103单元)的电阻飘移,其中应力修整操作被执行于此第二组。如图20A和图20B的范例所示,据此,通过应力修整操作可以降低电阻飘移的变异。
图21A和图21B绘示在最糟情况下的保留时间(retention time)估计。参照图14A中的单元电阻对时间图所示,没有应力修整操作,代表存储器的两个中间MLC状态(例如状态1和状态2)的电阻范围是比较容易随着时间增加的,因此此电阻范围之间的一余量随着时间减少。描述关于不具有应力操作和具有应力操作的存储单元的电阻飘移系数并结合图19A和图19B,是适用于图21A和图21B。
一第一中间MLC状态可以具有一第一目标电阻范围(例如在500千欧姆和600千欧姆之间),且一第二中间MLC状态可以具有一第二目标电阻范围(例如在900千欧姆和1000千欧姆之间)。一第一存储单元可以具有电阻值对应于第一目标电阻范围的一上限(例如600千欧姆),以及一最大电阻飘移系数。一第二存储单元可以具有电阻值对应于第二目标电阻范围的一下限(例如900千欧姆),以及一最小电阻飘移系数。就电阻范围而言,第一存储单元相交第二存储单元的时间点可以估计最糟情况下的保留时间。
图21A显示在初始电阻600千欧姆下的一电阻飘移系数0.08,以及在初始电阻900千欧姆下的一电阻飘移系数0.02,皆不具有应力修整操作。图21B显示在初始电阻600千欧姆下的一电阻飘移系数0.11,以及在初始电阻900千欧姆下的一电阻飘移系数0.09,皆具有应力修整操作。通过解下列方程式可以估计此最糟情况下的保留时间t:
R(t)=Rotγ=600t0.08
R(t)=Rotγ=900t0.02
R(t)=Rotγ=600t0.11
R(t)=Rotγ=900t0.09
其中R(t)是在最糟情况下的保留时间t的电阻、R0是初始电阻、γ是电阻飘移系数。前两条方程式是针对不具应力修整操作的情况,当中γ分别是0.08和0.02;接下来的两条方程式则是针对采用应力修整操作的情况,当中γ分别是0.11和0.09。
前两条方程式的答案显示,当不采用应力修整操作,其在最糟情况下的保留时间t等于860.7秒。接下来两条方程式的答案则显示,当采用应力修整操作,在最糟情况下的保留时间t等于637,621,500秒。因此,通过施加如此处所述的应力修整操作可以改善保留时间,其改善比例约为740,813(=637,621,500/860.7)。
图22A和图22B是绘示以图解表示在最糟情况下所解出的保留时间。在图22A中,两条曲线代表不具有应力修整操作的两条方程式在时间点等于860.7秒相交。在图22B中,两条曲线代表具有应力修整操作的两条方程式并未在曲线图中相交,因为两方程式相交在时间点等于637,621,500秒,且此相交点在曲线图外。
一存储器控制器可以被耦接至具有一组PCM存储单元的一存储器电路。基于系统的可利用性,存储器控制器可以决定何时或何地开始进行应力修整操作,例如在一系统空闲期间或在此组中一部份未储存有效数据的相变化存储单元上。存储器控制器可以包括一操作系统中的一模块控制器、一张安全数字卡中的储存系统控制器以及一内嵌式多媒体控制器,或任何硬件,负责控制在存储器电路上的PCM存储单元。
存储器控制器可以发出一命令至存储器电路,以执行应力修整操作于存储器电路中所有或一些PCM存储单元。响应于此命令,存储器电路可以首先接收储存在存储器电路或外接至存储器电路的缓存器的应力统计数据和编程统计数据,接着使用应力统计数据和编程统计数据执行应力修整操作。
在应力修整操作期间,存储器电路中一些或所有的PCM存储单元可能正忙碌,并且不能被外接至存储器电路的一存储器控制器所使用。万一存储器电路需要紧急存取(urgent access),存储器控制器可以发出一命令至存储器电路,以停止应力修整操作于存储器电路中的PCM存储单元。此命令可以称作一中断命令(interrupt command)。
存储器控制器可以发出一命令至存储器电路,以要求储存在存储器电路中的应力统计数据。响应于此命令,存储器电路可以提供通过应力修整操作而更新的应力统计数据至存储器控制器,或至此存储器控制器外部的一处理(process)。应力统计数据可以包括一应力阈值电阻、一应力阈值量值以及基于应力阈值电阻和应力阈值量值的一应力通过标准。存储器控制器可以接收通过应力修整操作而更新的应力统计数据,并且使用更新的统计数据在存储器电路中的PCM存储单元上执行存储器管理功能。存储器管理功能可以包括损耗平均技术、热数据和冷数据分布以及存储单元的自我修复。
存储器控制器可以发送在存储器电路中的PCM存储单元的编程统计数据和应力统计数据的初始值至存储器电路。
虽然本发明是参照较佳实施例及范例揭露如上,然理应理解的是这些实施例的目的是用以解释说明,并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和随附的权利要求范围内,当可作各种润饰与结合。
Claims (22)
1.一种存储器电路,包括:
多个存储单元的区块;
一控制器,包括用以对这些区块中多个被选区块执行多个编程序列的逻辑单元,这些编程序列包括多个编程/验证周期的模式;以及
用以将不同模式的编程/验证周期指派至这些区块中不同区块的逻辑单元。
2.根据权利要求1所述的存储器电路,更包括用以改变被指派至这些区块中一特定区块的一特定模式的逻辑单元;以及用以维持这些区块中的区块的统计数据的逻辑单元,其中这些统计数据是关于这些区块中的这些存储单元响应于被指派至这些区块的这些编程/验证周期的模式的效能,且其中该用以指派不同模式的编程/验证周期的逻辑单元包括自该控制器取得的一窗体。
3.根据权利要求1所述的存储器电路,更包括用以施加一应力序列至这些被选区块中的一被选区块以改变该被选区块中的存储单元的效能特性的逻辑单元;以及用以在施加该应力序列后改变被指派至该被选区块的这些编程/验证周期的模式的逻辑单元。
4.根据权利要求2所述的存储器电路,其中在这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,其中这些统计数据包括:
对这些区块的每一者、一组在该范围中所选择的量值,以及数量,当具有该组中各个选择的量值的这些编程脉冲施加至这些存储单元时,这些数量是指示每一这些区块中具有电阻通过一验证阈值的存储单元的比例。
5.根据权利要求4所述的存储器电路,其中在该编程序列中的每一这些编程/验证周期包括一第一验证,该第一验证是验证在这些所被选区块中的一被选区块的存储单元是否具有符合一目标电阻的电阻,该目标电阻代表一逻辑值,更包括:
用以施加一第二验证至该被选区块中的存储单元的逻辑单元,除了该第一验证,在该编程序列中的特定的编程/验证周期的该第二验证具有一编程量值,该编程量值符合该组所选择量值中的一选择量值;
用以使用该第二验证以比较该被选区块中的存储器单元的电阻与该验证阈值的逻辑单元;以及
用以更新这些数量的逻辑单元,这些数量为该被选区块的该比较的结果。
6.一种存储器电路,包括:
多个存储单元的区块;
一控制器,包括用以对这些区块中多个被选区块执行多个编程序列的逻辑单元,这些编程序列包括多个编程/验证周期的模式;以及用以维持这些区块中的区块的统计数据的逻辑单元,其中这些统计数据是关于这些区块中的这些存储单元响应于被指派至这些区块的这些编程/验证周期的模式的效能,且施加一应力序列至这些被选区块之一,该应力序列包括应力脉冲,这些应力脉冲被施加至该被选区块中的存储器单元。
7.根据权利要求6所述的存储器电路,更包括用以施加该应力序列并响应于这些统计数据的逻辑单元;以及用以提供这些统计数据至该控制器的一电路,并用以响应一外部命令以施加该应力序列的逻辑单元,其中这些编程序列包括一增阶型脉冲编程序列,且该控制器包括用以响应于一外部命令以停止该应力序列的逻辑单元。
8.根据权利要求6所述的存储器电路,其中这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,这些统计数据包括,对每一这些区块而言,一组在该范围中所选择的量值,以及数量,当具有该组中各个选择的量值的这些编程脉冲施加至这些存储单元时,这些数量是指示每一这些区块中具有电阻通过一验证阈值的存储单元的比例,更包括:
逻辑,对这些区块的每一者,该逻辑是从该组所选择的量值决定一阈值量值,其中当具有该阈值量值的这些编程脉冲被施加至这些存储单元时,一第一比例的这些存储单元具有通过一验证阈值的电阻,一第二比例的这些存储单元具有未通过该验证阈值的电阻,且该区块中的一第一比例的这些存储单元大于该第二比例的这些存储单元。
9.根据权利要求6所述的存储器电路,更包括:
用以验证该所被选区块中的存储器单元是否通过一验证阈值的逻辑单元,当具有一阈值量值的编程脉冲被施加至这些存储单元时;
用以维持一逻辑屏蔽的逻辑单元,该逻辑屏蔽是指示执行该逻辑以验证的结果;以及
用以施加应力脉冲至该所被选区块中的存储单元的逻辑单元,这些存储单元具有未通过该验证阈值的电阻,如该逻辑屏蔽所指示。
10.根据权利要求6所述的存储器电路,其中这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,其中当具有一阈值量值的编程脉冲被施加至这些存储单元,该应力序列被施加至该所被选区块中具有电阻未通过一验证阀的存储单元,该控制器包括用以改变被指派至这些区块中一特定区块的一特定模式的逻辑单元,包括:
增加该范围的该最低量值,该增加的最低量值低于或等于该阈值量值。
11.根据权利要求6所述的存储器电路,其中这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,其中这些统计数据包括,对每一这些区块而言,一组在该范围中所选择的量值,以及数量,当具有该组中各个选择的量值的这些编程脉冲施加至这些存储单元时,这些数量是指示每一这些区块中具有电阻未通过一验证阀的存储单元的比例,该控制器包括用以改变被指派至这些区块中一特定区块的一特定模式的逻辑单元,包括:
从该组选择量值中移除具有一最低数值的一选择量值;以及
增加一新选择的量值至该组选择量值,该新选择的量值具有大于一最高所选择的量值的一数值。
12.一种存储器电路,包括:
多个存储单元的区块;
一控制器,包括用以对这些区块中多个被选区块执行多个编程序列的逻辑单元,这些编程序列包括编程/验证周期的模式;以及用以维持这些区块中的区块的统计数据的逻辑单元,其中这些统计数据是关于这些区块中的这些存储单元响应于被指派至这些区块的这些编程/验证周期的模式的效能;以及
逻辑,使用这些统计数据在这些区块中的区块上执行存储器管理功能,这些存储器管理功能包括一或多个操作,该一或多个操作是选自损耗平均技术、热数据和冷数据分布以及存储单元的自我修复。
13.一种操作一存储器电路的方法,该存储器电路包括多个存储单元的区块,包括:
对这些区块中多个被选区块执行多个编程序列,这些编程序列包括编程/验证周期的模式;以及
将不同模式的编程/验证周期指派至这些区块中不同的区块。
14.根据权利要求13所述的方法,更包括:
改变被指派至这些区块中一特定区块的一特定模式;
维持这些区块中的区块的统计数据,这些统计数据是关于这些区块中的这些存储单元响应于指派至这些区块的这些编程/验证周期的模式的效能;
施加一应力序列至这些被选区块中的一被选区块,藉以改变该被选区块中的存储单元的效能特性;以及
在施加该应力序列之后,改变指派至该被选区块的这些编程/验证周期的模式。
15.根据权利要求14所述的方法,其中在这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,且其中这些统计数据包括:
对每一这些区块而言,一组在该范围中所选择的量值,以及数量,当具有该组中各个选择的量值的这些编程脉冲施加至这些存储单元时,这些数量是指示每一这些区块中具有电阻通过一验证阈值的存储单元的比例。
16.根据权利要求15所述的方法,其中在该编程序列中的每一这些编程/验证周期包括一第一验证,该第一验证验证在这些所被选区块中的一被选区块的存储单元是否具有符合一目标电阻的电阻,该目标电阻代表一逻辑值,更包括:
施加一第二验证至该被选区块中的这些存储单元,除了该第一验证,在该编程序列中的特定的编程/验证周期的该第二验证具有一编程量值,该编程量值符合该组所选择量值中的一选择量值;
使用该第二验证比较该被选区块中的存储单元的电阻与该验证阈值;以及
更新这些数量,这些数量为该被选区块的该比较的结果。
17.一种操作一存储器电路的方法,该存储器电路包括多个存储单元的区块,包括:
执行编程序列于这些区块中被选区块,这些编程序列包括编程/验证周期的模式;
维持这些区块中的区块的统计数据,这些统计数据是关于这些区块中的这些存储单元响应于指派至这些区块的这些编程/验证周期的模式的效能;以及
施加一应力序列至这些被选区块之一,该应力序列包括应力脉冲,这些应力脉冲被施加至该被选区块中的存储单元。
18.根据权利要求17所述的方法,更包括执行施加该应力序列以响应于这些统计数据;提供这些统计数据至一控制器,并回应于一外部命令以执行施加该应力序列;以及响应于一外部命令以停止该应力序列,其中这些编程序列包括一增阶型脉冲编程序列。
19.根据权利要求17所述的方法,其中这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,这些统计数据包括,对每一这些区块而言,一组在该范围中所选择的量值,以及数量,当具有该组中各个选择的量值的这些编程脉冲施加至这些存储单元时,这些数量是指示每一这些区块中具有电阻通过一验证阈值的存储单元的比例,更包括:
对每一这些区块而言,从该组所选择的量值决定一阈值量值,其中当具有该阈值量值的这些编程脉冲被施加至这些存储单元,一第一比例的这些存储单元具有通过一验证阈值的电阻,一第二比例的这些存储单元具有未通过该验证阈值的电阻,且该区块中的一第一比例的这些存储单元大于该第二比例的这些存储单元。
20.根据权利要求17所述的方法,更包括:
验证该被选区块中的这些存储单元是否通过一验证阈值,当具有一阈值量值的编程脉冲被施加至这些存储单元;
维持一逻辑屏蔽,该逻辑屏蔽是指示执行该验证的结果;以及
施加应力脉冲至该被选区块中的这些存储单元,这些存储单元具有未通过该验证阈值的电阻,如该逻辑屏蔽所指示。
21.根据权利要求17所述的方法,其中这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,其中当具有一阈值量值的编程脉冲被施加至这些存储单元,该应力序列被施加至该被选区块中的这些存储单元,其中这些存储单元具有未通过一验证阈电阻,包括改变指派至这些区块中一特定区块的一特定模式,包括:
增加该范围的该最低量值,该增加的最低量值低于或等于该阈值量值。
22.根据权利要求17所述的方法,其中这些编程序列中的一编程序列包括一编程脉冲序列,该编程脉冲序列是在这些编程序列的这些编程/验证周期中,并具有从一最低量值到一最高量值的一范围,其中这些统计数据包括,对每一这些区块而言,一组在该范围中所选择的量值,以及数量,当具有该组中各个选择的量值的这些编程脉冲施加至这些存储单元时,这些数量是指示每一这些区块中的这些存储单元的比例,这些存储单元具有通过一验证阈值的电阻,包括改变指派至这些区块中一特定区块的一特定模式,包括:
从该组选择量值中移除具有一最低数值的一选择量值;以及
增加一新选择的量值至该组选择量值,该新选择的量值具有大于一最高所选择的量值的一数值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562110204P | 2015-01-30 | 2015-01-30 | |
US62/110,204 | 2015-01-30 | ||
US14/682,903 US9564216B2 (en) | 2015-01-30 | 2015-04-09 | Stress trim and modified ISPP procedures for PCM |
US14/682,903 | 2015-04-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105845180A true CN105845180A (zh) | 2016-08-10 |
CN105845180B CN105845180B (zh) | 2019-12-10 |
Family
ID=56554618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510479106.9A Active CN105845180B (zh) | 2015-01-30 | 2015-08-07 | 存储器电路及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9564216B2 (zh) |
CN (1) | CN105845180B (zh) |
TW (1) | TWI576839B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223028B2 (en) * | 2014-12-22 | 2019-03-05 | Sandisk Technologies Llc | Failed bit count memory analytics |
US10283511B2 (en) * | 2016-10-12 | 2019-05-07 | Ememory Technology Inc. | Non-volatile memory |
US10324839B2 (en) * | 2017-11-03 | 2019-06-18 | Micron Technology, Inc. | Trim setting determination on a memory device |
US11475950B2 (en) * | 2020-04-01 | 2022-10-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | Stressing algorithm for solving cell-to-cell variations in phase change memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317231A (zh) * | 2005-11-30 | 2008-12-03 | 飞思卡尔半导体公司 | 用于编程/擦除非易失性存储器的方法和设备 |
US20100214831A1 (en) * | 2009-02-26 | 2010-08-26 | Ho-Jung Kim | Memory device, memory system having the same, and programming method of a memory cell |
US20140215128A1 (en) * | 2013-01-31 | 2014-07-31 | SanDisk Technologies, Inc. | Adaptive initial program voltage for non-volatile memory |
CN104051012A (zh) * | 2013-03-15 | 2014-09-17 | 北京兆易创新科技股份有限公司 | 一种存储器擦除的方法和装置 |
CN104134459A (zh) * | 2013-04-30 | 2014-11-05 | 飞思卡尔半导体公司 | 带有可变验证操作的非易失性存储器(nvm) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
US6907497B2 (en) * | 2001-12-20 | 2005-06-14 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US7106120B1 (en) * | 2003-07-22 | 2006-09-12 | Sharp Laboratories Of America, Inc. | PCMO resistor trimmer |
KR100854970B1 (ko) * | 2007-01-08 | 2008-08-28 | 삼성전자주식회사 | 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법 |
US7477948B1 (en) * | 2006-11-06 | 2009-01-13 | Novellus Systems, Inc. | Apparatus and methods for precompiling program sequences for wafer processing |
KR101498673B1 (ko) | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
TW201111986A (en) | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
US8363443B2 (en) * | 2010-02-01 | 2013-01-29 | Unity Semiconductor Corporation | Circuits and techniques to compensate data signals for variations of parameters affecting memory cells in cross-point arrays |
US8374038B2 (en) * | 2010-05-04 | 2013-02-12 | Macronix International Co., Ltd. | Erase process for use in semiconductor memory device |
-
2015
- 2015-04-09 US US14/682,903 patent/US9564216B2/en active Active
- 2015-07-23 TW TW104123867A patent/TWI576839B/zh active
- 2015-08-07 CN CN201510479106.9A patent/CN105845180B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317231A (zh) * | 2005-11-30 | 2008-12-03 | 飞思卡尔半导体公司 | 用于编程/擦除非易失性存储器的方法和设备 |
US20100214831A1 (en) * | 2009-02-26 | 2010-08-26 | Ho-Jung Kim | Memory device, memory system having the same, and programming method of a memory cell |
US20140215128A1 (en) * | 2013-01-31 | 2014-07-31 | SanDisk Technologies, Inc. | Adaptive initial program voltage for non-volatile memory |
CN104051012A (zh) * | 2013-03-15 | 2014-09-17 | 北京兆易创新科技股份有限公司 | 一种存储器擦除的方法和装置 |
CN104134459A (zh) * | 2013-04-30 | 2014-11-05 | 飞思卡尔半导体公司 | 带有可变验证操作的非易失性存储器(nvm) |
Also Published As
Publication number | Publication date |
---|---|
US20160225446A1 (en) | 2016-08-04 |
US9564216B2 (en) | 2017-02-07 |
TW201628003A (zh) | 2016-08-01 |
TWI576839B (zh) | 2017-04-01 |
CN105845180B (zh) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102298966B (zh) | 非易失性存储器设备、系统及编程方法 | |
US7746688B2 (en) | PRAM and method of firing memory cells | |
CN105280221B (zh) | 电阻型存储器装置及其操作方法 | |
CN105845180A (zh) | 存储器电路及其操作方法 | |
KR100611825B1 (ko) | 프로그래밍 방법 및 장치 | |
US20090003035A1 (en) | Conditioning operations for memory cells | |
CN101140802A (zh) | 相变随机访问存储器与相关操作方法 | |
JP2010225228A (ja) | 不揮発性半導体記憶装置 | |
JP2013114737A (ja) | 相変化メモリ・セルをプログラミングするための方法、コンピュータ・プログラム、および装置、ならびに相変化メモリ・デバイス(相変化メモリ・セルのプログラミング) | |
CN103093812B (zh) | 半导体存储装置及其连续编程控制电路和编程方法 | |
CN105825891B (zh) | 存储器装置与其操作方法 | |
US9437311B1 (en) | Flash memory apparatus and initialization method for programming operation thereof | |
CN110097910A (zh) | 用于感测电阻可变存储器单元的设备和方法 | |
CN103137195A (zh) | 半导体存储装置及其设定编程控制电路和编程方法 | |
TWI546808B (zh) | 半導體記憶體設備及其分區程式控制電路與程式方法 | |
US20150199999A1 (en) | Statistical peak-current management in non-volatile memory devices | |
CN103531248A (zh) | 一种对rram存储器脉冲参数进行测试的方法 | |
Cho et al. | Adaptive multi-pulse program scheme based on tunneling speed classification for next generation multi-bit/cell NAND flash | |
CN106935270B (zh) | 存储单元写入方法及其应用 | |
CN109859792B (zh) | 一种阈值电压分布预测方法及装置 | |
CN113035256B (zh) | 闪存器的数据读取方法及装置、存储设备 | |
CN104221091B (zh) | 适应性地程序化或抹除闪存区块 | |
CN106158015A (zh) | 阻变式存储器装置、读/写电路单元及其操作方法 | |
CN104217757B (zh) | 非易失性存储器的编程方法 | |
EP3023990A1 (en) | Multi independent page erase |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |