CN107068184A - 存储器装置及操作存储器的方法 - Google Patents

存储器装置及操作存储器的方法 Download PDF

Info

Publication number
CN107068184A
CN107068184A CN201610812714.1A CN201610812714A CN107068184A CN 107068184 A CN107068184 A CN 107068184A CN 201610812714 A CN201610812714 A CN 201610812714A CN 107068184 A CN107068184 A CN 107068184A
Authority
CN
China
Prior art keywords
memory cell
threshold voltage
write
programming
cell group
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
CN201610812714.1A
Other languages
English (en)
Other versions
CN107068184B (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.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN107068184A publication Critical patent/CN107068184A/zh
Application granted granted Critical
Publication of CN107068184B publication Critical patent/CN107068184B/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/10Programming or data input circuits
    • 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
    • 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
    • G11C11/5635Erasing circuits
    • 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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
    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • 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
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Abstract

一种操作每一存储单元单一位的存储器的方法,包括由设定一第一范围阈值电压中的阈值电压,擦除一存储单元群组,建立一第一逻辑值。在擦除后,第一写入包括编程第一选择的存储单元,由设定一第二范围阈值电压中的阈值电压以建立一第二逻辑值,及保存一感测状态参数以指示一第一读取电压。在第一写入后,第二写入包括编程第二选择的存储单元,由设定一第三范围阈值电压中的阈值电压以建立该第二逻辑值,及保存该感测状态参数以指示一第二读取电压。在包括第一写入及第二写入的一些写入达到写入存储单元组的一临界数量后,存储单元组可被擦除。

Description

存储器装置及操作存储器的方法
技术领域
本发明涉及一种高密度存储器装置,特别是涉及闪存装置的操作。
背景技术
用于集成电路存储器(integrated circuit memory)的存储器技术正朝向越来越小的工艺时代(Technology node)发展,也在单一集成电路上配置越来越大的存储器阵列。正在推行的技术包括在一单一芯片上的多层的存储单元。执行在具有多层的存储单元的一三维(three-dimensional,3D)闪存上的操作包括读取、写入及擦除。
一闪存通常被配置为可以在一个时间由一区块擦除(block erase)擦除一个区块。当一个区块被擦除,在此区块中的存储单元被设定为一逻辑值,例如为“1”。在一个区块被擦除后,在此区块中的存储单元可被编程(program)为一不同的值,例如为“0”。一旦一存储单元被编程为“0”,此存储单元通过包括此已编程的存储单元的区块的一区块擦除可被改变回“1”。一但一区块中的一些存储单元,例如在一区块中的一已选择的位线(byte)或字线(word)上的存储单元,在一第一编程操作期间被编程为“0”,已知在擦除状态中的相同区块中一不同位线(byte)或字线(word)上的其他存储单元,仍可在一第二编程操作期间被编程为“0”,不需此区块一预擦除(pre-erase)。
然而,高密度闪存的一个一般问题是一存储单元区块的尺寸通常是非常大的。若区块的预先擦除需要每次已被编程为0的区块中的一单一存储单元需要被改变回为1,这是不方便的。当闪存的密度提升,堆叠(stack)中的层数增加,导致(lead to)更大的区块尺寸以及擦除操作中的更多不便。
因此,期待提供一个技术,允许多个写入操作改变一相同的存储单元,从一逻辑值至一不同的逻辑值,以及在每一擦除操作后亦然。
发明内容
提供操作每一存储单元单一位的存储器的一个方法。此方法包括施加一次擦除、多次写入编程操作。一存储单元可具有一足够大的完整的阈值电压范围以被用作为多阶存储单元(multiple level memory cell,MLC)。当这样的一存储单元被用作每一存储单元单一位的存储单元时,在一擦除操作后,存储单元可被编成多次,以及每次只有完整阈值电压范围的一局部且增量较高的范围被使用,直到一最后的写入操作达到完整阈值电压范围的最大值,及需要另一擦除操作。利用此操作方法,所需的区块擦除操作的数量可被减少,因为区块擦除操作是慢的而增进操作速度,以及因为擦除循环的数量减少而增进持久性。此一次擦除、多次写入的编程操作可用于各种存储单元类型、存储器结构、编程速度以及数据储存密度。
提供操作每一存储单元单一位的存储器的示例方法。一存储单元组被擦除,通过设定在一第一阈值电压范围中的阈值电压,建立该组的这些存储单元中的一第一逻辑值,在存储单元组被擦除后,该感测状态参数可被设定以指示该第一读取电压以感测存储单元逻辑值。
在存储单元组被擦除之后,一第一写入操作包括编程此组中第一选择的存储单元,通过设定一第二阈值电压范围中的阈值电压建立一第二逻辑值。第二阈值电压范围不同于第一阈值电压范围。一感测状态参数被保存以指示一第一读取电压以感测一存储单元逻辑值,其中该第一读取电压可以在第一阈值电压范围及第二阈值电压范围之间。
在第一写入操作后,一第二写入操作包括编程此组中第二选择的存储单元,通过设定一第三阈值电压范围中的阈值电压建立该第二逻辑值。第三阈值电压范围不同于第二阈值电压范围。感测状态参数被保存以指示一第二读取电压以感测存储单元逻辑值,其中该第二读取电压可以在第二阈值电压范围及第三阈值电压范围之间。在第二写入操作后表示第一逻辑值的一阈值电压范围可与第二阈值电压范围重叠。
更多的写入操作可以相似于在存储单元组上的第一及第二写入操作的方式被执行。在包括第一及第二写入操作的一些写入操作达到写入存储单元组的临界数量后,存储单元组可被擦除,以及感测状态可被设定以配置存储单元组的存储单元逻辑值,利用位于第一阈值电压范围及第二阈值电压范围之间的第一读取电压设置。
第一写入操作包括利用位于第一阈值电压范围及第二阈值电压范围之间及高于第一读取电压的一第一编程验证电压编程以设定第二阈值电压范围中的阈值电压。第二写入操作包括利用位于第二阈值电压范围及第三阈值电压范围之间及高于第二读取电压的一第二编程验证电压编程以设定第三阈值电压范围中的阈值电压。第二编程验证电压有比第一编程验证电压高的电压规模(voltage magnitude)。
此方法包括施加多个编程脉冲及各别的编程验证脉冲,这些编程验证脉冲在一脉冲编程序列中的这些编程脉冲之后,递增地增加这些编程脉冲的编程电压以编程该组中的这些存储单元。在一实施例中,第二写入操作的脉冲编程序列有比第一写入操作的脉冲编程程序多的脉冲步阶(pulse step)。在另一实施例中,脉冲编程序列在第二写入操作以比第一写入操作高的编程电压开始。在另一实施例中,比第一写入操作中大的电压步阶(voltage step)被用在第二写入操作中,递增地增加脉冲编程序列中的编程脉冲的编程电压。
在一实施例中,第二写入操作的第三阈值电压范围有不同于第一写入操作的第二阈值电压范围的宽度。在另一实施例中,在第二写入操作后,表示第一逻辑值的一阈值电压范围有一宽度,该宽度大于第一阈值电压范围。
在一实施例中,第二写入操作包括编程有第一阈值电压范围中的阈值电压的组中的存储单元,以设定它们在第二阈值电压范围中的阈值电压,以及编程第二选择的存储单元以设定它们在第三阈值电压范围的阈值电压。
当读取已利用如本文所述的一次擦除、多次写入编程操作编程的存储单元组中的存储单元时,一读取电压被决定以响应存储单元组的已保存感测装态参数。
存储单元组的一重写计数可被增加,响应写入存储单元组的要求,若重写计数达到存储单元组的一重写阈值,存储单元组被擦除,存储单元组的重写计数被复位,以及随后存储单元组被写入。若重写计数低于重写阈值,随后存储单元组被写入,未擦除存储单元组以及未复位存储单元组的重写计数。
再者,存储单元组的一感测状态参数可被保存在存储器中的一感测状态参数表中,指示一读取电压,在此读取电压感测组中的存储单元的一存储单元逻辑值。一感测状态参数可以被保存在一感测状态参数表中,此感测状态参数表可在控制存储器且在存储器外部的一控制器中,及/或耦接控制存储器且在存储器外部的一控制器的一主机系统中,以指示一读取电压,在此读取电压感测组中的存储单元的一存储单元逻辑值。
本发明的其它方面和优点将在随后的附图及说明书中进行阐述。
附图说明
图1绘示根据本发明的实施例利用存储单元及偏压电路的一集成电路存储器的方块图,用于如本文所述的一次擦除、多次写入编程程序。
图2绘示先前技术中用于编程每一存储单元单一位的存储器的一次擦除、一次写入编程程序。
图3绘示用于编程每一存储单元单一位的存储器的一次擦除、多次写入编程程序的一第一实施例。
图4绘示用于编程每一存储单元单一位的存储器的一次擦除、多次写入编程程序的一第二实施例。
图5绘示用于编程每一存储单元单一位的存储器的一次擦除、多次写入编程程序的一第三实施例。
图6绘示用于编程每一存储单元单一位的存储器的一次擦除、多次写入编程程序的一第四实施例。
图7绘示在一擦除操作后,用于写入一存储单元组的一临界数量的推导。
图8绘示根据一实施例的一次擦除、多次写入编程程序的一简化流程图。
图9绘示一范例存储器管理系统的一方块图。
【附图标记说明】
10:控制器
10A:感测状态参数表
20:偏压安排供应电压
30:地址线/地址总线
40:列译码器
45:字线
50:记忆库译码器
55:记忆库选择线
60:存储器阵列
65:位线
70:行译码器
75:数据线
80:感测放大器/编程缓冲器
85:数据线
90:输出/输入电路
100:集成电路存储器装置
105:输入/输出数据线
211:第一线
212:第二线
213:第三线
214:第四线
220、223、310、320、321、330、331、340、510、520、521、530、531、540、710、711、722、723、724、725:阈值电压范围
621、631:第一阶段
622:第二阈值电压
760:存储单元数据辨识区
810、820、830、840、850:流程步骤
900:存储器管理系统
901:文件系统
909、910、911:组
920:存储器转换层
921:地址转换器
923:废料收集器
925:磨损平均器
930:存储器技术装置层
931:擦除管理模块
932:可重写区块表
933:读取功能
935:编程功能
937:擦除功能
940:闪存芯片
E:擦除状态(erase state)
P:编程状态(program state)
VEV:擦除验证电压
VPV、VPV1、VPV2、VPV3:编程验证电压
Vread1、Vread2、Vread3:读取电压
Vt:存储单元阈值电压
W1:最高的范围中的最小电压-最低的范围中的最大电压
W2:平均范围
具体实施方式
实施例的详细描述参照附图被提供。应当理解的是没有限制本技术为特定公开的结构实施例及方法的意图,但本技术可使用其他特征、元件、方法及实施例来实践。优选的实施例被描述以说明本技术,非限制由权利要求范围所定义的范围。本领域技术人员应当理解下列描述的各种等效变型。各种实施例中的相似元件通常具有相似的附图标记。
图1绘示用于如本次所述的一次擦除、多次写入编程操作的一集成电路存储器装置100的一简化芯片方块图。集成电路存储器装置100包括在一集成电路基板上的一存储器阵列60以及一控制器10,存储器阵列60包括每一存储单元储存一位数据的多阶存储单元,控制器10执行在如本文所述的每一存储单元储存一位数据的多阶存储单元上的一次擦除、多次写入编程操作。
一列译码器40耦接于多条字线45,且沿着存储器阵列60中的列排列。一记忆库译码器50耦接于多条记忆库选择线55(例如SSL线及GSL线)。一行译码器70耦接于沿着存储器阵列60中的行排列的多条位线65,以从存储器阵列60读取数据及写入数据至存储器阵列60。地址在从控制器10到行译码器70及列译码器40的总线30上被提供。在区块80中的一感测放大器及编程缓冲电路(program buffer circuit)在本实施例中经由一第一数据线75耦接于行译码器70。行译码器70可包括选择地施加编程电压至存储器中的位线以响应编程缓冲中的数据值。区块80可包括感测电路,感测电路使用不同组的存储单元的感测状态参数以施加指示读取电压(indicated read voltage),例如参照图3至6绘示的实施例所述的第一读取电压Vreadl、第二读取电压Vread2以及第三读取电压Vread3。
来自感测放大器/编程缓冲电路80的感测数据经由第二数据线85提供至输入/输出电路90。再者,从集成电路存储器装置100上的输入/输出端口或从其他内部或外部数据源,经由输入/输出数据线105输入数据被施加至集成电路存储器装置100、至输入/输出电路90及按顺序地至感测放大器/编程缓冲器80。
输入/输出电路90驱动(drive)数据至集成电路100外部的目的地。输入/输出数据及控制讯号经由输入/输出电路90、控制器10及集成电路存储器装置100上的输入/输出端口或其他内部或外部数据源之间的总线105被移动至集成电路100,例如一通用处理器(general purpose processor)或者特定用途应用电路(special purpose applicationcircuitry),或者提供由存储器阵列60支持的片上系统(system-on-a-chip)功能的模块组合。
在图1绘示的实施例中,控制逻辑电路10耦接至存储器阵列60以及区块20中的电压供应器。控制逻辑电路10包括逻辑电路以控制本文所述的一次擦除、多次写入编程操作。使用一偏压安排状态机(bias arrangement state machine)控制逻辑电路10控制电压的应用,例如经由区块20中的电压供应器产生或提供的编程电压、编程验证(programverify)电压、读取电压及擦除电压。区块20中的电压供应器产生施加至选择的字线以编程连接至已选择的字线的存储单元的脉冲编程序列中的编程脉冲(program pulse)以及编程脉冲后的各别的编程验证脉冲,脉冲编程序列递增地增加编程脉冲的编程电压。
参照由图3至6所示的实施例,对于写入操作,不同的编程验证电压位准(例如VPV1、VPV2、VPV3)由用于编程验证脉冲的区块20中的电压供应器产生,以设定阈值电压范围(例如320、330、340)中的阈值电压,建立第一、第二、第三写入操作中的第二逻辑值(例如“0”)。依据实施例,区块20中的电压供应器可在一相同的编程电压为第一写入操作及第二写入操作启动一脉冲编程序列,或者在第二写入操作以比第一写入操作高的编程电压启动一脉冲编程序列。依据实施例,区块20中的电压供应器以第一写入操作后的第一写入操作及第二写入操作的相同电压步阶,或者第二写入操作有比第一写入操作高的电压步阶,递增地增加脉冲编程序列中的编程脉冲的编程电压。
对于读取操作,不同的读取电压位准(例如Vread1、Vread2、Vread3)由用于读取脉冲的区块20中的电压供应器产生,以读取在第一、第二、第三写入操作中被编程的存储单元。
控制器10可使用本领域已知的特定用途逻辑电路被执行。在替代实施例中,控制器包括一通用处理器,通用处理器可在相同的集成电路上被执行,集成电路执行一计算器程序以控制装置的操作。在其他实施例中,一特定用途逻辑电路及一通用处理器的组合可被利用以执行控制逻辑电路。
集成电路存储器装置(例如100)包括一每一存储单元单一位的存储单元组(例如在存储器阵列60中),以及耦接此每一存储单元单一位的存储单元组的一控制器(例如10),控制器包括:
通过设定一第一阈值电压范围中的阈值电压的擦除操作,建立存储单元中的单一位的一第一逻辑值的逻辑电路;
在执行擦除操作后,通过一第一写入操作设定第一及第二逻辑值在单一位上的逻辑电路,包括包含编程组中第一选择的存储单元的第一写入操作,以通过设定一第二阈值电压范围中的阈值电压建立一第二逻辑值,第二阈值电压范围不同于第一阈值电压范围,以及保存一感测状态参数以指示一第一读取电压;
在执行第一写入操作后,通过一第二写入操作设定第一及第二逻辑值在单一位的逻辑电路,第二写入操作包括编程此组中第二选择的存储单元,以通过设定一第三阈值电压范围中的阈值电压建立一第二逻辑值,第三阈值电压范围不同于第一和第二阈值电压范围,以及保存感测状态参数以指出一第二读取电压;
在第一及第二写入操作被执行的次数达到写入存储单元组的临界数量后,执行擦除操作的逻辑电路;以及
执行一读取操作的逻辑电路,读取操作包括施加第一及第二读取电压两者中已选择之一。
可被延伸至多于两个写入操作的逻辑电路如下述的实施例说明。
感测状态参数可被保存于一芯片内(on-chip)感测状态参数表(例如10A)、一芯片外(off-chip)感测状态参数表或两者之中。如图1的实施例所示,感测状态参数可被保存在集成电路100中的一芯片内感测状态参数表10A中,以指出一读取电压,在此读取电压以感测一组存储单元中的存储单元的一存储单元逻辑值。控制器10连接至感测状态参数表10A,且可对不同组的存储单元存取及更新储存在感测状态参数表10A中的感测状态参数。
控制器10可包括以相似于存储单元组上的第一及第二写入操作的方式执行更多写入操作的逻辑电路,以及在包括达成用于存储单元组的一临界数量的第一及第二写入操作的一些写入操作之后擦除存储单元组的逻辑电路。在存储单元组被擦除后,控制器10可包括设定感测状态参数以指示感测存储单元逻辑值的第一读取电压的逻辑电路。在一擦除操作,已被执行在存储单元组上的一些写入操作也可被保存在感测状态参数表之中。举例来说,写入存储单元组的临界数量是8,指示存储单元组在一擦除操作后可被写入8次,随后只有三个位被要求用于保持对于一组的写入操作的数量,所以存储器开销(memoryoverhead)是轻微的。
存储器阵列60可包括用以每一存储单元储存单一位的电荷捕捉存储单元,通过对应于储存电荷数量的多个编程位准的建立,依次建立存储单元阈值电压VT。在其他实施例中,存储单元可包括可编程电阻存储单元(programmable resistance memory cell),通过对应于电阻量的多层编程层级的建立,用于每一存储单元单一位。本文叙述是基于电荷捕捉存储单元的使用,例如浮动栅极闪存(floating gate flash memory)以及介电电荷捕捉闪存(dielectric charge trapping flash memory)。本技术可与其他存储单元技术一同使用。
图2绘示一用于先前技术中的一次擦除、一次写入编程程序,以编程每一存储单元单一位的存储器。第一线211代表在一存储单元区块上的一擦除操作,设定区块中的所有存储单元为一较低的阈值电压范围220。此擦除操作可使用一擦除验证VEV电压执行。对于具有单一位准的存储单元,一ISPP程序如第二线212所示的被使用。在ISPP程序中,编程验证位准VPV被设定以建议一较高临界范围223。一旦一存储单元被编程至较高的临界范围,只要通过在整个区块上执行一区块擦除操作,存储单元可被改变回较低的阈值电压范围。然而,高密度闪存的一普遍问题是存储单元区块的尺寸通常是非常大的。这是不方便的,当每次需要一完整区块的擦除操作,区块中已被编程为“0”的单一存储单元需要被改变回“1”。当闪存的密度提升,堆叠中的层数增多,导致较大的区块尺寸及在擦除操作中的更多不方便。
第三线213代表存储单元区块上的一随后的擦除操作,设定区块中的所有存储单元为较低的阈值电压范围220。此擦除操作可利用擦除验证VEV电压执行。一ISPP程序如第四线214所示的被使用。在ISPP程序中,编程验证位准VPV被设定以建立一较高的临界范围223。由于存储单元区块的尺寸通常是非常大的,当每次需要区块的预先擦除,区块中的已被编程至较高的阈值电压范围的单一存储单元需要被改变回较低的阈值电压范围,是不方便的。
图3绘示一用以编程每一存储单元单一位的存储器的一次擦除、多次写入编程程序的一实施例。第一实施例可被称为一个完整的编程电压范围实施例。这个标记的实施例不意味着处理上的任何限制。
如图3的最上列所示,存储单元组被擦除,通过设定第一阈值电压范围310中的阈值电压,在此组的存储单元中建立一第一逻辑值(例如“1”)。如图3的第二列所示的一第一写入操作,在此组存储单元被擦除后,包括编程此组中第一选择的存储单元,通过设定第二阈值电压范围320中的阈值电压以建立第二逻辑值(“0”)。第二阈值电压范围320不同于第一阈值电压范围310。虽然如图3所示,两相邻的阈值电压范围(例如310及320、320及330、330及340)未彼此重叠,在实际执行中,取决于一特定存储器装置中可用的阈值电压范围,两相邻的阈值电压范围可以是部份重叠。两相邻的阈值电压范围之间的这样的重叠可代表存储单元中的错误(error),以及读取电压(例如Vread1、Vread2、Vread3),可被设计以区分两相邻的阈值电压范围。一感测状态参数被储存以表示用以感测一存储单元逻辑值的第一读取电压(例如Vread1),第一读取电压可位于第一阈值电压范围310及第二阈值电压范围320之间。举例来说,感测状态参数可被储存在如参考图1的芯片内感测状态参数表10A中,以及/或如参考图9中的存储器技术装置转换层(Memory Technology Device Layer,MTD)中,以及/或主机系统901中(图9)。
第一写入操作包括使用第一阈值电压范围310及第二阈值电压范围320之间且高于第一读取电压(Vread1)的一第一编程验证电压(VPV1),以设定第二阈值电压范围320中的阈值电压。
一数据设定(data set)可被储存于存储器的一缓冲器中,以编程一组存储单元,例如一存储单元页面。组中的每一存储单元可包含引起(cause)多个阈值电压范围的电荷,包括的第一阈值电压范围及第二阈值电压范围。缓冲器可以是图1所示的区块80中的编程缓冲器。数据设定指示用于组中每一存储单元的第一逻辑值(“1”)及第二逻辑值(“0”)之一。选择的存储单元由数据设定被表示为第二逻辑值。
一单一位存储单元可表示逻辑值“1”或“0”。本说明书中的实施例中,第一逻辑值被叙述为逻辑值“1”以及第二逻辑值被叙述为逻辑值“0”。或者,第一逻辑值被叙述为逻辑值“0”以及第二逻辑值被叙述为逻辑值“1”。
在第一写入操作后,图3的第三列所示的一第二写入操作包括编程组中第二选择的存储单元,通过设定第三阈值电压范围330中的阈值电压以建立第二逻辑值(“0”)。第三阈值电压范围330不同于第一阈值电压范围310及第二阈值电压范围320。感测状态参数被储存以表示感测存储单元逻辑值的一第二读取电压(例如Vread2),第二读取电压可在第二阈值电压范围320及第三阈值电压范围330之间。在第二写入操作后,第二阈值电压范围320代表第一逻辑值(例如“1”)。
第二写入操作包括使用第二阈值电压范围320及第三阈值电压范围330之间且高于第二读取电压(Vread2)的一第二编程验证电压(VPV2)以设定第三阈值电压范围330中的阈值电压。
在第二写入操作后,在图3的第四列所看到的第三写入操作包括编程组中第三选择的存储单元,通过设定第四阈值电压范围340中的阈值电压以建立第二逻辑值(“0”)。第四阈值电压范围340不同于第一阈值电压范围310、第二阈值电压范围320及第三阈值电压范围330。感测数据参数被储存以表示一第三读取电压(例如Vread3),第三读取电压可在第三阈值电压范围330及第四阈值电压范围340之间。在第三写入操作后,第三阈值电压范围330代表第一逻辑值(例如“1”)。
第三写入操作包括使用第三阈值电压范围330及第四阈值电压范围340之间且高于第三读取电压(Vread3)的一第三编程验证电压(VPV3),以设定第四阈值电压范围340中的阈值电压。
在第二写入操作后,表示第一逻辑值(“1”)的阈值电压范围(例如321)与第二阈值电压范围(例如320)重叠。在第三写入操作后,表示第一逻辑值(“1”)的阈值电压范围(例如331)与第三阈值电压范围(例如330)重叠。
参照图3,表1说明第一实施例,以及使用5个存储单元(存储单元1-5)作为例子。
表1
如表1的实施例所示,在一擦除操作后,5个存储单元都被设定为表示一第一逻辑值(例如“1”)的第一阈值电压范围310中的阈值电压。
在写入逻辑值“0”至存储单元2及存储单元3的一第一写入操作之后,存储单元2及存储单元3被设定为表示一第二逻辑值(例如“0”)的一第二阈值电压范围320中的阈值电压(图3)。存储单元1、存储单元4及存储单元5维持在表示第一逻辑值(例如“1”)的第一阈值电压范围内。
在写入逻辑值“0”至存储单元3及存储单元4的一第二写入操作之后,存储单元3及存储单元4被设定为表示第二逻辑值(例如“0”)的一第三阈值电压范围330中的阈值电压(图3)。存储单元1及存储单元5维持在表示第一逻辑值(例如“1”)的第一阈值电压范围内。存储单元2维持在表示第一逻辑值(例如“1”)的第二阈值电压范围内。
在写入逻辑值“0”至存储单元4及存储单元5的一第三写入操作之后,存储单元4及存储单元5被设定为表示第二逻辑值(例如“0”)的一第四阈值电压范围340中的阈值电压(图3)。存储单元1、存储单元2及存储单元3分别维持在表示第一逻辑值(例如“1”)的第一阈值电压范围、第二阈值电压范围及第三阈值电压范围内。
更多的写入操作以相似于在组的存储单元上的第一及第二写入操作的方式被执行,例如第三写入操作。在包括第一及第二写入操作的一些写入操作达到写入组存储单元的一临界数量之后,组存储单元可被擦除,以及感测状态可被设定以利用第一阈值电压范围及第二阈值电压范围之间的第一读取电压为存储单元组设定存储单元逻辑值。
关于图3描述的写入操作包括施加一脉冲编程序列中的编程脉冲及编程脉冲后的各别编程验证脉冲,递增地增加编程组中的存储单元的编程脉冲的编程电压。脉冲编程序列可以是一ISPP(incremental step pulse programming)程序。ISPP是一已知的技术,被叙述于“A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse ProgrammingScheme”,作者为Suh等人,1995年发表在IEEE国际固态电路研讨会(Intemational Solid-State Circuits Conference),页数128-130。在图3所示的第一实施例中,脉冲编程序列可以相同的编程电压(例如14V)开始第一写入操作、第二写入操作、第三写入操作。由于脉冲编程序列被结束在递增地较高的编程电压,从第一写入操作至一最后的写入操作,第二写入操作的脉冲编程序列有比第一写入操作的脉冲编程序列多的脉冲步阶(pulse step),以及第三写入操作的脉冲编程序列有比第二写入操作的脉冲便程序列多的脉冲步阶。举例来说,脉冲编程序列的编程电压范围可以从用于第一写入操作的14V到18V(18V-14V=4V)、用于第二写入操作的14V到20V(20V-14V=6V),以及用于第三写入操作的14V到20V(22V-14V=8V)。因此,给予0.1V的一ISPP步阶,第一实施例需要高达40、60及80个编程脉冲以设定在第一、第二、第三写入操作的各别阈值电压范围内的阈值电压。
图4绘示用于编程每一存储单元单一位的存储器的一次擦除、多次写入编程程序的一第二实施例。第二实施例可以被视为一自适应编程电压范围的实施例。这个标记的实施例不意味着处理上的任何限制。第一实施例的描述(图3,表1)一般适用于图4所示的的第二实施例。图4中的相似元件具有图3中相似的图示标号。图4绘示的第二实施例不同于图3绘示的第一实施例,在第二实施例中,脉冲编程序列在比第一写入操作高的编程电压开始第二写入操作。
在图4所示的第二实施例中,脉冲编程序列在比第一写入操作高的编程电压开始第二写入操作,在比第二写入操作高的编程电压开始第三写入操作。举例来说,脉冲编程序列的编程变压范围可以是从用于第一写入操作的14V至18V,从用于第二写入操作的16V到20V,以及用于第三写入操作的18V到20V。因此,脉冲编程序列可具有本质上相同的编程电压范围(例如4V),其窄于一完整的编程变压范围,例如第一实施例中第三写入操作所示的8V。举例来说。给予0.1V的一ISPP步阶,需要高达40的编程脉冲设定第一、第二及第三写入操作中任何一个阈值电压范围中的阈值电压。因此,对于一给予的ISPP步阶,在第二实施例中需要较第一实施例中少的编程脉冲以设定存储单元的阈值电压范围中的阈值电压。因此,有着较少编程脉冲的第二实施例能够缩短编程(写入)延迟以及减少编程扰动,换言之,尤其是对于通过电压扰动(pass voltage disturbance)。一较低的编程扰动可导致一较低的位误差率(bit error rate,BER),以及在自调适编程电压中的一固定数量的编程脉冲可完成编程扰动的一个小变动。
图5绘示用于编程每一存储单元单一位的存储器的一一次擦除、多次写入编程程序的一第三实施例。第三实施例可被称为一可变阈值电压范围的实施例。这个标记的实施例不意味着处理上的任何限制。第一实施例的描述(图3,表1)一般适用于第三实施例。图5中的相似元件具有图3中相似的图示标号。图5绘示的第三实施例不同于图3绘示的第一实施例,在第三实施例中,比第一写入操作大的电压步阶被用于第二写入操作,以递增地增加脉冲编程序列中编程脉冲的编程电压。
在图5所示的第三实施例中,比第一写入操作大的电压步阶被用于第二写入操作中,以递增地增加脉冲编程序列中编程脉冲的编程电压。相似地,比第二写入操作大的电压步阶被用于第三写入操作中,以递增地增加脉冲编程序列中编程脉冲的编程电压。如本文所述,第一、第二、第三写入操作是分别设定第二、第三及第四阈值电压范围(例如520、530、540)中的阈值电压。如图5的实施例所示,电压步阶是增加的,从第一写入操作的0.2V,到第二写入操作的0.3V,到第三写入操作的0.4V。
在第二写入操作后,表示第一逻辑值(“1”)的一阈值电压范围(例如521)重叠于第二阈值电压范围(例如520)。在第三写入操作后,表示第一逻辑值(“1”)的一阈值电压范围(例如531)重叠于第三阈值电压范围(例如530)。
从第一写入操作到后续的操作,当更多写入操作在存储单元上被执行,后续操作的阈值电压范围的宽度可被增加,因为较大的阈值电压的范围宽度可降低脉冲编程序列中的编程脉冲的所需数量,以及依次降低在低阈值电压状态中的存储单元的扰动。
作为在脉冲编程序列中较大的电压步阶的结果,从第一写入操作到后续的操作,写入操作的阈值电压范围的宽度可被增加。举例来说,第二写入操作的第三阈值电压范围(例如530)有一宽度(例如1.0V),其大于第一写入操作的第二阈值电压范围的一宽度(例如0.8V)。相似地,第三写入操作的第四阈值电压范围(例如540)有一宽度(例如1.2V),其大于第三阈值电压范围(例如530)的一宽度(例如1.0V)。
较大的阈值电压范围的宽度可降低脉冲编程序列中的编程脉冲的所需数量。举例来说,若脉冲编程序列的编程电压范围是从14V至18V(18V-14V=4V)用于第一写入操作,从14V至20V(20V-14V=6V)用于第二写入操作,及从14V至22V(22V-14V=8V)用于第三写入操作,以及电压步阶是0.2V、0.3V及0.4V分别用于第一、第二及第三写入操作,然后利用高达20个编程步阶设定第一、第二及第三写入操作中任何一个的阈值电压范围的阈值电压。举例来说,ISPP序列可被配置为高达4V/0.2V=20个编程脉冲、6V/0.3V=20个编程脉冲及8.V/0.4V=20个编程脉冲,分别用于第一、第二及第三写入操作。
相比之下,第一实施例(图3)中的第一、第二及第三写入操作具有跟第三实施例(图5)相同的编程电压范围(例如14V-18V、14V-20V、14V-22V),但分别需要高达40、60及80个编程脉冲。
因此,在第三实施例中需要较第一实施例中少的编程脉冲以设定用于存储单元的阈值电压范围中的阈值电压,以及在低阈值电压状态的存储单元的扰动可被降低。
图6绘示用于编程每一存储单元单一位的存储器的一一次擦除、多次写入编程程序的一第四实施例。第四实施例可被视为一平行移动(parallel shift)的实施例。这个标记的实施例不意味着处理上的任何限制。第一实施例的描述(图3)一般适用于第四实施例。图6中的相似元件具有图3中相似的图示标号。举例来说,脉冲编程序列的编程电压范围可以从用于第一写入操作的14V到18V、用于第二写入操作的14V到20V,以及用于第三写入操作的16V到22V。给予0.1V的一ISPP步阶,高达40、60及60个编程脉冲以设定在第一、第二、第三写入操作的各别阈值电压范围内的阈值电压。
平行移动的实施例描述首先编程具有第一阈值电压范围310中的阈值电压的存储单元组中的存储单元,以设定在第二阈值电压范围320中它们的阈值电压,以及接着编程组中第二选择的存储单元,以设定在第三阈值电压范围330中它们的阈值电压,其中第二阈值电压范围320高于之前的验证电压(例如VPV1)以及不同于第一阈值电压范围310。
如图6的实施例所示,第二写入操作包括两个阶段。第一阶段(例如621)是编程具有第一阈值电压范围310中的阈值电压的组中的存储单元,以设定他们的阈值电压至第二阈值电压范围320。在第一阶段后,第二阶段(例如622)是编程选择的存储单元以设定它们的阈值电压在第三阈值电压范围330中。
第三写入操作也包括两个阶段。第一阶段(例如631)是编程具有第二阈值电压范围320中的阈值电压的组中的存储单元,以设定它们的阈值电压至第三阈值电压范围330。在第一阶段后,第二电压(例如632)是编程选择的存储单元以设定它们的阈值电压在第四阈值电压范围340中。
因此,在第一写入操作后,第一阈值电压范围310代表第一逻辑值(例如“1”),以及第二阈值电压范围320代表第二逻辑值(例如“0”)。在第二写入操作后,第二阈值电压范围320代表第一逻辑值(例如“1”),以及第三阈值电压范围330代表第二逻辑值(例如“0”)。在第三写入操作后,第三阈值电压范围330代表第一逻辑值(例如“1”),以及第四阈值电压范围340代表第二逻辑值(例如“0”)。在第二写入操作后的第二阈值电压范围可以不等于在第一写入操作后的第二阈值电压范围。反而,在第一及第二写入操作后的第二阈值电压范围大约在阈值电压Vt轴上的相同区域内。在第一及第二写入操作后的第二阈值电压范围的实际内容将可能会有所不同。
表2参考图6叙述平行移动的实施例,以及使用5个存储单元(存储单元1-5)作为例子。
表2
如表2的实施例所示,在一擦除操作后,所有的5个存储单元被设定至第一阈值电压范围310中的阈值电压(图6),表示一第一逻辑值(例如“1”)。
在写入逻辑值“0”至存储单元2及存储单元3的一第一写入操作之后,存储单元2及存储单元3被设定至一第二阈值电压范围320中的阈值电压,表示一第二逻辑值(例如“0”)。存储单元1、存储单元4及存储单元5维持在表示第一逻辑值(例如“1”)的第一阈值电压范围中。
用以写入逻辑值“0”至记忆到3及存储单元4的第二写入操作包括阶段1及阶段2。在阶段1后,存储单元1、存储单元4及存储单元5被设定至表示第一逻辑值(例如“1”)的第二阈值电压范围320中的阈值电压(图6)。在阶段2后,存储单元3及存储单元4被设定至表示第二逻辑值(例如“0”)的第三阈值电压范围330中的阈值电压(图6)。存储单元1、存储单元2及存储单元5维持在表示第一逻辑值(例如“1”)的第二阈值电压范围中。
用以写入逻辑值“0”至记忆到4及存储单元5的第三写入操作包括阶段1及阶段2。在阶段1后,存储单元1、存储单元2及存储单元5被设定至表示第一逻辑值(例如“1”)的第三阈值电压范围330中的阈值电压。
在阶段2后,存储单元4及存储单元5被设定至表示第二逻辑值(例如“0”)的第四阈值电压范围340中的阈值电压(图6)。存储单元1、存储单元2及存储单元3维持在表示第一逻辑值(例如“1”)的第三阈值电压范围中。
在平行移动的实施例中,在每一写入操作后,概念上,只有一个阈值电压范围表示第一逻辑值(例如“1”),以及只有一其他阈值电压范围表示第二逻辑值(例如“0”)。举例来说,在第一写入操作后,仅第一阈值电压范围310表示第一逻辑值(例如“1”),以及仅第二阈值电压范围320表示第二逻辑值(例如“0”)。在第二写入操作后,仅第二阈值电压范围320表示第一逻辑值(例如“1”),以及仅第三阈值电压范围330表示第二逻辑值(例如“0”)。在第三写入操作后,仅第三阈值电压范围330表示第一逻辑值(例如“1”),以及仅第四阈值电压范围340表示第二逻辑值(例如“0”)。。
相较之下,在第一、第二及第三实施例中,在每一写入操作后,概念上,多于一个的阈值电压范围(例如310、320、330)可表示第一逻辑值(例如“1”),而另一阈值电压范围表示第二逻辑值(例如“0”)。更具体地,在第一、第二及第三实施例中,表示第一逻辑值的阈值电压范围可包含图3及图4所示的阈值电压范围310、320及330,以及可包含图5所示的范围510、520及530。
平行移动的实施例可利用本文所述的用于编程及编程验证步骤的两个页面缓冲器(page buffer)而被执行。一数据设定可被储存于用于编程此组存储单元的两个页面缓冲器中。在组中的每一存储单元具有多个阈值电压的范围。两个页面缓冲器可以是图1所示的区块80中的编程缓冲器中的子电路(sub-circuit)。数据设定表示用于组中的每一存储单元的第一逻辑值(“1”)及第二逻辑值(“0”)两者之一。
在一写入操作中的第一步骤,例如上述的第二或第三写入操作,可编程通过储存在第一页面缓冲器中的数据设定表示第一数据值(“1”)的多个存储单元中的存储单元。在一写入操作中的第二步骤可编程通过储存在第二页面缓冲器中的数据设定表示第二数据值(“0”)的多个存储单元中的存储单元。
图7绘示在一擦除操作后,用以写入一存储单元组的一临界数量的推导,其中这些存储单元能够编程至一宽的阈值电压范围。写入可以进行次数的数量取决于范围的宽度,以及可被安全地编程及擦除的范围的分割数量。
如本文所述,在一些包括第一及第二写入操作的写入操作达到写入存储单元组的临界数量后,存储单元组可以被擦除。存储单元组有多个阈值电压范围,包括一最低的阈值电压范围以及一最高的阈值电压范围,临界数量可从下列公式导出:
临界数量=(最高的范围中的最小电压-最低的范围中的最大电压)/(多个范围中的范围的平均范围+多个范围中的两相邻范围之间的差值(margin))。
如图7所示,多个阈值电压范围(例如710至725)包括具有最大电压(例如751)的一最低的阈值电压范围(例如710)以及具有最小电压(例如752)的一最高的阈值电压范围。W1表示(最高的范围中的最小电压-最低的范围中的最大电压)。W2表示多个范围中的范围的一平均范围。一差值在多个范围中的两相邻范围之间。
举例来说,“最高的范围中的最小电压”=4V,“最低的范围中的最大电压”=-1V,差值=0.2V,“平均范围”=0.8V,临界数量可被导出为:(4V-(-1V))/(0.8V+0.2V)=5。
图8是根据一实施例的一一次擦除、多次写入程序的一简化流程图。照惯例,当一集成电路闪存装置从一文件系统接收一要求(request)以写入一数据设定至一存储单元组,集成电路首先擦除存储单元组中的所有存储单元,以及随后写入数据设定至组中已擦除的存储单元。一存储单元组可以是一存储单元页面或一存储单元区块。在三维NAND闪存结构中,存储器包括多个存储单元页面,以及为了本描述的目的,一个页面可以被定义为可平行耦接一组N条位线及可被一组M条字线选择的存储单元。在此结构中,一个页面可被定义为包括在由单一SSL交换器选择的半导体条带的一堆叠中的存储单元,其中每一条带经由阶梯衬垫(stairstep pad)耦接一对应的位线。一个页面的定义以及应用以存取一页面的解碼可变化以适合一特定存储器结构。存储器结构可包括平行耦接此组N条位线的一页面编程缓冲器以用于本文所述的编程及编程验证步骤中。在一实施例中,可以有四个平面的存储单元,每页面四条位线。在其他实施例中,可以是其他数量的平面。举例来说,可以是八个平面,有着八个偶数堆叠及八个奇数堆叠,使一存储器区块包括总共16个页面,每页八条位线。
在本技术的一实施例中,一次擦除、多次写入程序包含(involve)判断在写入数据设定至一组的存储单元之前,是否执行一擦除操作在存储单元组上,以响应写入存储单元组的一要求。如图8的实施例所示,在步骤810,一集成电路(例如图1的100),举例来说,从一文件系统接收写入一数据设定至存储单元组的一要求。在步骤820,回显请求,用于存储单元组的一重写计数递增。
集成电路(例如图1的100)可具有多个存储单元组,以及多个组的每一个可具有它自己的重写计数。集成电路中每一组的存储单元的重写计数可储存在芯片内或集成电路中以及更新,例如在集成电路存储器装置100(图1)中的感测状态参数表10A中。另外地,每一组的存储单元的重写计数可被储存在芯片外或集成电路100外部的一个位置以及被更新,例如在存储器技术装置层930(图9)及/或文件系统901(图9)中。
在步骤830,判断是否重写计数达到组存储单元的一重写阈值。若重写计数达到组存储单元的重写阈值(步骤830:是),随后在步骤840,擦除组存储单元、复位组存储单元的重写计数,以及后续在步骤850,从文件系统写入数据设定至组存储单元。若重写计数低于重写阈值(步骤830:否),随后在步骤850,从文件系统写入数据设定至组存储单元,不擦除组存储单元及不复位组存储单元的重写计数。
在另一实施例中,当重写计数达到组存储单元的重写计数(步骤830:是),要求所指示的数据设定可被写入至具有较要求所指的组存储器少的重写计数的另一存储单元组,以及另一存储单元组的重写计数可以被递增。另一存储单元组可与要求所指的存储单元组在相同存储器区块中或不同存储单元区块中。在此另一实施例中,未立即擦除存储单元组以及未立即复位存储单元组。当区块中多于一个或所有存储单元组的重写计数已达到重写阈值,存储单元区块可被擦除及区块中的存储单元组的重写计数可被复位。因此,擦除周期的次数可被降低以及存储器的耐久性可被改善。
图9是一范例存储器管理系统900的一方块图,包括一文件系统(file system)901、闪存转换层(flash translation layer)920、存储器技术装置层(memory technologydevice layer)930以及闪存芯片(flash memory chip)940。文件系统901耦接于闪存转换层920。闪存转换层包括地址转换器(address translator)921、废料收集器(garbagecollector)923以及磨耗平均器(wear leveler)920。闪存转换层920耦接存储器技术装置层930。存储器技术装置层930是一硬件抽象层(hardware abstraction layer),用于处理基本(primitive)操作,例如闪存芯片940的读取、编程及擦除。存储器技术装置层930包括一擦除管理模块(erase management module)931,其包括一可重写区块表(rewritableblock table)932。擦除管理模块931耦接存储器技术装置层930中的读取功能933、编程功能935及擦除功能937。存储器技术装置层930耦接闪存芯片940。存储器技术装置层930使闪存转换层920能够在闪存芯片的顶部上运作,没有闪存转换层920的任何改变(modification)。
可重写区块表932是一数据结构,维持闪存芯片940中的存储单元组的重写计数。一闪存芯片可包括存储器组,其中一存储器组可以是一存储器页面或一存储器区块。
假设一存储单元组在一擦除操作后可被重写八次,只需要三个位以维持一组的一重写计数,所以存储器负担是轻微的。如图9的实施例所示,在一擦除操作后及在组909上的任何写入操作之前,组909的重写计数是0,以及组909已经准备好数据写入(参照图3至6所示的第一写入)。相似地,组910已经被重写七次,意思就是此组在最后的物理擦除之后已经被重写七次,以及组911已经被重写三次,意思就是此组在最后的物理擦除后已经被重写三次。
存储器管理系统900截获来自上层,例如闪存转换层920(FTL),的所有操作,以及基于维持在可重写区块表932中的信息修改到底层闪存芯片940的读取/写入/擦除指令。举例来说,若由FTL接收的一指令是对组910的一擦除指令,系统900将发出一物理擦除命令至组910以及复位其重写计数为0。这是因为组910已达到一重写阈值,例如8。相反地,若从存储器转换层920发出一擦除指令至组909,系统900将不会发出一物理擦除指令至一闪存芯片中的组909,仅增加组909的重写计数,由0至1,称为虚拟擦除(virtual erase)。因此,当一更大的重写阈值可以被支持,更多的擦除操作可以被移除,因此闪存芯片的生命周期可被延长以及闪存芯片的效能可被改善。
再者,存储单元组的一感测状态参数可被储存在控制且位于闪存芯片940外部的一控制器中,例如存储器技术装置层930,以指示读取电压,在此读取电压上感测组中的存储单元的一存储单元逻辑值。另外地,存储单元组的一感测状态参数可被储存在一主机系统中,例如文件系统901,以指示一读取电压,在此读取电压上感测组中的存储单元的一存储单元逻辑值。
编程操作的实施例已参照与一次擦除、多次写入编程技术的变化一同使用的一三维NAND闪存阵列架构。三维NAND闪存阵列结构在2013年8月6日颁布的美国专利号8,503,213中描述,题为“MemoryArchitectureof 3D Array With Alternating Memory StringOrientation and String Select Structures”,其在此引入作为参考。三维NAND闪存阵列结构包括堆叠的存储器结构,致使阵列具有密集配置的多个存储单元。操作可被调整以用于各种二维及三维存储器结构,以及迄今为止的存储器结构。
再者,编程操作的实施例已参照闪存描述。操作也可被调整以用于其他存储单元类型。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种操作存储器的方法,包括:
通过设定一第一阈值电压范围中的阈值电压,擦除一存储单元组,该存储单元组建立一第一逻辑值在该存储单元组中;
在所述的擦除之后,第一写入包括编程该存储单元组中第一选择的存储单元,通过设定一第二阈值电压范围中的阈值电压以建立一第二逻辑值,该第二阈值电压范围不同于该第一阈值电压范围,以及保存一感测状态参数以指示一第一读取电压;
在所述的第一写入之后,第二写入包括编程该存储单元组中第二选择的存储单元,通过设定一第三阈值电压范围中的阈值电压以建立该第二逻辑值,该第三阈值电压范围不同于该第一阈值电压范围及该第二阈值电压范围,以及保存该感测状态参数以指示一第二读取电压;以及
在包括所述的第一写入及所述的第二写入达到写入该存储单元组的一临界数量后,擦除该存储单元组。
2.如权利要求1项所述的方法,包括在所述的擦除后,设定该感测状态参数以指示该第一读取电压以感测一存储单元逻辑值,其中表示该第一逻辑值的一阈值电压范围在所述的第二写入后与该第二阈值电压范围重叠。
3.如权利要求1项所述的方法,其中
所述的第一写入包括使用该第一阈值电压范围及该第二阈值电压范围之间且高于该第一读取电压的一第一编程验证电压编程以设定在该第二阈值电压范围中的阈值电压;以及
所述的第二写入包括使用该第二阈值电压范围及该第三阈值电压范围之间且高于该第二读取电压的一第二编程验证电压编程以设定在该第三阈值电压范围中的阈值电压。
4.如权利要求1项所述的方法,包括:
在所述的第二写入之后,第三写入包括编程该存储单元组中第三选择的存储单元,通过设定一第四阈值电压范围中的阈值电压以建立该第二逻辑值,该第四阈值电压范围不同于该第一阈值电压范围、该第二阈值电压范围及该第三阈值电压范围,以及保存该感测状态参数以指示一第三读取电压。
5.如权利要求1项所述的方法,包括:
施加多个编程脉冲及各别的编程验证脉冲,这些编程验证脉冲在一脉冲编程序列中的这些编程脉冲之后,递增地增加用于编程该存储单元组中的存储单元的这些编程脉冲的编程电压。
6.如权利要求5项所述的方法,其中用于该第二写入的该脉冲编程序列具有比用于该第一写入的该脉冲编程序列多的脉冲步阶;
所述的第二写入在比所述的第一写入高的编程电压启动该脉冲编程序列;以及
在所述的第二写入中使用比所述第一写入大的电压步阶,以递增地增加该脉冲编程序列中的编程脉冲的这些编程电压。
7.如权利要求1项所述的方法,其中所述的第二写入的该第三阈值电压范围不同于所述第一写入的该第二阈值电压范围;以及
在所述的第二写入后,该第一逻辑值的一阈值电压范围大于该第一阈值电压范围。
8.如权利要求1项所述的方法,所述的第二写入包括:
编程具有第一阈值电压范围中的该存储单元组中的存储单元,以设定在该第二阈值电压范围中该存储单元的阈值电压,以及随后编程这些第二选择的存储单元以设定在该第三阈值电压范围中的电压。
9.如权利要求1项所述的方法,包括:
读取该存储单元组中的这些存储单元,包括决定一读取电压响应该存储单元组的该已保存的感测状态参数。
10.如权利要求1项所述的方法,包括:
增加该存储单元组的一重写计数以响应写入该存储单元组的一要求;
若该重写计数达到该存储单元组的一重写阈值,擦除该存储单元组、复位该存储单元组的该重写计数,及随后写入该存储单元组;以及
若该重写计数小于该重写阈值,写入该存储单元组,不擦除该存储单元组及不复位该存储单元组的该重写计数。
11.一存储器装置,包括:
一存储单元组,该存储单元组的每一存储单元具有单一位;
一控制器,耦接于该存储单元组,包括通过一擦除操作建立这些存储单元中的该单一位的一第一逻辑值的逻辑电路,该擦除操作设定一第一阈值电压范围中的阈值电压;
在执行该擦除操作后,通过一第一写入操作设定该单一位上的第一逻辑值及第二逻辑值的逻辑电路,包括该第一写入操作,该第一写入操作包括编程该存储单元组中第一选择的存储单元,通过设定一第二阈值电压范围中的阈值电压以建立一第二逻辑值,该第二阈值电压范围不同于该第一阈值电压范围,以及保存一感测状态参数以指示一第一读取电压;
在执行该第一写入操作后,通过一第二写入操作设定该单一位上的第一逻辑值及第二逻辑值的逻辑电路,该第二写入操作包括编程该存储单元组中第二选择的存储单元,通过设定一第三阈值电压范围中的阈值电压以建立该第二逻辑值,该第三阈值电压范围不同于该第一阈值电压范围及该第二阈值电压范围,以及保存该感测状态参数以指示一第二读取电压;
在该第一及第二写入操作被执行次数达到写入该存储单元组的一临界数量后,执行该擦除操作的逻辑电路;以及
执行一读取操作的逻辑电路,该写入操作包括施加该第一读取电压及该第二读取电压两者中之一。
CN201610812714.1A 2015-11-25 2016-09-09 存储器装置及操作存储器的方法 Active CN107068184B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562259660P 2015-11-25 2015-11-25
US62/259,660 2015-11-25

Publications (2)

Publication Number Publication Date
CN107068184A true CN107068184A (zh) 2017-08-18
CN107068184B CN107068184B (zh) 2020-11-10

Family

ID=58721013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610812714.1A Active CN107068184B (zh) 2015-11-25 2016-09-09 存储器装置及操作存储器的方法

Country Status (3)

Country Link
US (1) US9734912B2 (zh)
CN (1) CN107068184B (zh)
TW (1) TWI613662B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522237A (zh) * 2017-09-20 2019-03-26 旺宏电子股份有限公司 存储器的数据管理方法及存储器装置
CN110232945A (zh) * 2018-03-06 2019-09-13 华邦电子股份有限公司 存储器装置以及其写入/擦除方法
CN111367826A (zh) * 2018-12-26 2020-07-03 旺宏电子股份有限公司 闪存装置及其控制方法
CN112506809A (zh) * 2019-09-16 2021-03-16 旺宏电子股份有限公司 存储器系统以及存储器操作方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190020880A (ko) * 2017-08-21 2019-03-05 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
US20230027384A1 (en) * 2021-07-20 2023-01-26 Macronix International Co., Ltd. Non-volatile memory and programming method thereof

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1198241A (zh) * 1995-09-29 1998-11-04 英特尔公司 非易失性存储器单擦除的多次写入
CN102314944A (zh) * 2010-07-09 2012-01-11 海力士半导体有限公司 半导体存储器件的操作方法
CN102385930A (zh) * 2011-09-05 2012-03-21 南京大学 一种精确的多值存储单元的编程方法
US20130051149A1 (en) * 2011-08-26 2013-02-28 Micron Technology, Inc. Apparatuses and methods of reprogramming memory cells
CN103325412A (zh) * 2012-03-20 2013-09-25 旺宏电子股份有限公司 具有动态感测区间的集成电路及其操作方法
US20140219020A1 (en) * 2013-02-04 2014-08-07 Donghun Kwak Memory system comprising nonvolatile memory device and program method thereof
US20140293699A1 (en) * 2013-04-02 2014-10-02 Sandisk Technologies Inc. High Endurance Nonvolatile Memory
US20150325298A1 (en) * 2014-05-08 2015-11-12 Sandisk Technologies Inc. Memory access techniques for a memory having a three-dimensional memory configuration

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2598895A (en) * 1994-06-02 1996-01-04 Intel Corporation Dynamic single to multiple bit per cell memory
JP2002157890A (ja) 2000-11-16 2002-05-31 Mitsubishi Electric Corp 不揮発性半導体記憶装置および不揮発性半導体記憶装置のデータ消去方法
US6661711B2 (en) 2002-02-06 2003-12-09 Sandisk Corporation Implementation of an inhibit during soft programming to tighten an erase voltage distribution
US7212436B2 (en) * 2005-02-28 2007-05-01 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
US7263006B2 (en) 2006-01-26 2007-08-28 Micron Technology, Inc. Memory block erasing in a flash memory device
US8059456B2 (en) 2006-11-07 2011-11-15 Sandisk Il Ltd. Programming a NAND flash memory with reduced program disturb
US7903486B2 (en) * 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
WO2010002948A1 (en) 2008-07-01 2010-01-07 Lsi Corporation Methods and apparatus for soft demapping and intercell interference mitigation in flash memories
US7729166B2 (en) 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
KR101544607B1 (ko) 2008-10-28 2015-08-17 삼성전자주식회사 메모리 장치 및 그 프로그램 방법
TWI385527B (zh) 2009-02-10 2013-02-11 Phison Electronics Corp Mlc nand型快閃記憶體儲存系統及其控制器與存取方法
US7936610B1 (en) * 2009-08-03 2011-05-03 Micron Technology, Inc. Selective refresh of single bit memory cells
KR101625641B1 (ko) * 2010-04-08 2016-05-30 삼성전자주식회사 비휘발성 메모리 장치, 이의 동작 방법 및 이를 포함하는 장치들
US8493792B2 (en) * 2010-12-02 2013-07-23 Hynix Semiconductor Inc. Programming method of non-volatile memory device
US8503213B2 (en) 2011-01-19 2013-08-06 Macronix International Co., Ltd. Memory architecture of 3D array with alternating memory string orientation and string select structures
US8917559B2 (en) * 2012-04-04 2014-12-23 Sandisk Technologies Inc. Multiple write operations without intervening erase
KR102019843B1 (ko) 2012-12-03 2019-09-11 에스케이하이닉스 주식회사 전하 트랩 소자들을 소거하는 방법
US20140198576A1 (en) 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
US8923054B1 (en) 2013-06-14 2014-12-30 Sandisk Technologies Inc. Pseudo block operation mode in 3D NAND

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1198241A (zh) * 1995-09-29 1998-11-04 英特尔公司 非易失性存储器单擦除的多次写入
CN102314944A (zh) * 2010-07-09 2012-01-11 海力士半导体有限公司 半导体存储器件的操作方法
US20130051149A1 (en) * 2011-08-26 2013-02-28 Micron Technology, Inc. Apparatuses and methods of reprogramming memory cells
CN102385930A (zh) * 2011-09-05 2012-03-21 南京大学 一种精确的多值存储单元的编程方法
CN103325412A (zh) * 2012-03-20 2013-09-25 旺宏电子股份有限公司 具有动态感测区间的集成电路及其操作方法
US20140219020A1 (en) * 2013-02-04 2014-08-07 Donghun Kwak Memory system comprising nonvolatile memory device and program method thereof
US20140293699A1 (en) * 2013-04-02 2014-10-02 Sandisk Technologies Inc. High Endurance Nonvolatile Memory
US20150325298A1 (en) * 2014-05-08 2015-11-12 Sandisk Technologies Inc. Memory access techniques for a memory having a three-dimensional memory configuration

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522237A (zh) * 2017-09-20 2019-03-26 旺宏电子股份有限公司 存储器的数据管理方法及存储器装置
CN109522237B (zh) * 2017-09-20 2023-12-29 旺宏电子股份有限公司 存储器的数据管理方法及存储器装置
CN110232945A (zh) * 2018-03-06 2019-09-13 华邦电子股份有限公司 存储器装置以及其写入/擦除方法
CN111367826A (zh) * 2018-12-26 2020-07-03 旺宏电子股份有限公司 闪存装置及其控制方法
CN112506809A (zh) * 2019-09-16 2021-03-16 旺宏电子股份有限公司 存储器系统以及存储器操作方法

Also Published As

Publication number Publication date
TW201719668A (zh) 2017-06-01
US9734912B2 (en) 2017-08-15
CN107068184B (zh) 2020-11-10
US20170148526A1 (en) 2017-05-25
TWI613662B (zh) 2018-02-01

Similar Documents

Publication Publication Date Title
CN107068184A (zh) 存储器装置及操作存储器的方法
CN109213705A (zh) 存储装置及其操作方法
CN104282337B (zh) 存储设备及其写方法
CN110400588A (zh) 存储器装置以及该存储器装置的操作方法
TWI498898B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN107943712A (zh) 控制存储器设备的回收的方法、存储设备及其操作方法
CN104821184B (zh) 半导体器件
CN107578793A (zh) 非易失性存储器系统和非易失性存储器装置的操作方法
CN108281166A (zh) 存储装置及其操作方法
CN106486166A (zh) 存储器设备、存储器系统及其操作方法
CN103943147B (zh) 使用温度传感器自适应软编程非易失存储器的系统及方法
CN106448733A (zh) 非易失性存储器设备、编程方法和其编程验证方法
CN110058799A (zh) 存储器装置及操作存储器装置的方法
CN110275672A (zh) 存储装置及其操作方法
CN110390970A (zh) 存储器装置及其操作方法
CN106250052A (zh) 存储系统及其操作方法
CN107564567A (zh) 对半导体存储器装置进行编程的方法
CN105988938A (zh) 存储系统及其操作方法
CN109062827A (zh) 闪存控制装置、闪存控制系统以及闪存控制方法
CN110275673A (zh) 存储装置及其操作方法
CN109388578A (zh) 存储装置及其操作方法
US20070058431A1 (en) Method of operating flash memory chips
CN109935262A (zh) 存储器装置及其操作方法
CN107958687B (zh) 存储器编程方法、存储器控制电路单元及其存储装置
CN109817265A (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