CN115019861A - 存储器、存储器的编程方法及存储器系统 - Google Patents

存储器、存储器的编程方法及存储器系统 Download PDF

Info

Publication number
CN115019861A
CN115019861A CN202210729038.7A CN202210729038A CN115019861A CN 115019861 A CN115019861 A CN 115019861A CN 202210729038 A CN202210729038 A CN 202210729038A CN 115019861 A CN115019861 A CN 115019861A
Authority
CN
China
Prior art keywords
sub
memory cell
nth
verification
result
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.)
Pending
Application number
CN202210729038.7A
Other languages
English (en)
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.)
Yangtze Memory Technologies Co Ltd
Original Assignee
Yangtze Memory Technologies 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 Yangtze Memory Technologies Co Ltd filed Critical Yangtze Memory Technologies Co Ltd
Priority to CN202210729038.7A priority Critical patent/CN115019861A/zh
Publication of CN115019861A publication Critical patent/CN115019861A/zh
Priority to PCT/CN2023/101998 priority patent/WO2023246931A1/en
Priority to CN202380009891.4A priority patent/CN117642822A/zh
Priority to US18/357,883 priority patent/US20230420062A1/en
Pending legal-status Critical Current

Links

Images

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
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Read Only Memory (AREA)

Abstract

本公开实施例公开了一种存储器及系统、编程方法,方法包括:对目标态为第i态的选定存储单元施加第N脉冲;施加第N脉冲后,对选定存储单元执行第一子验证和第N次第二子验证,获得第一子结果和第N个第二子结果;第一子结果指示选定存储单元的阈值电压是否小于预设电压,第N个第二子结果指示选定存储单元的阈值电压是否小于第i态目标阈值电压;根据第N个第二子结果,确定目标态为第i态的存储单元中需施加第N+1脉冲的存储单元;第N+1脉冲与第N脉冲的差大于或等于目标阈值电压与预设电压的差;对需施加第N+1脉冲的存储单元施加第N+1脉冲;施加第N+1脉冲后,第一子结果指示第一子验证的失败比特数小于第一预设值时,确定第i态编程通过。

Description

存储器、存储器的编程方法及存储器系统
技术领域
本公开实施例涉及但不限于半导体领域,尤其涉及一种存储器、存储器的编程方法及存储器系统。
背景技术
快闪存储器作为例如移动电话、数字相机等便携式电子设备的存储媒介而被广泛使用。快闪存储器通常使用允许高存储器密度、高可靠性和低功耗的单晶体管存储器单元。通过对电荷存储结构(例如,浮栅或电荷阱)或其它物理现象(例如,相变或铁电)进行编程,存储器单元的阈值电压的改变决定每个存储器单元的数据状态(例如,数据值)。
相关技术中,对存储器施加编程脉冲以进行编程后,需要进行验证操作,施加编程脉冲的次数以及进行验证操作的次数,是决定编程时间的重要因素。因此,如何在保证编程质量高的前提下,缩短编程时间,成为亟待解决的问题。
发明内容
本公开实施例提供一种存储器、存储器的编程方法及存储器系统。
根据本公开实施例的第一方面,提供一种存储器的编程方法,所述存储器包括待编程的多个存储单元;所述编程方法包括:
对目标态为第i态的选定存储单元施加第N编程脉冲;其中,i为自然数,N为正整数;
在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果;其中,所述第一子结果指示所述选定存储单元的阈值电压是否小于预设电压,所述第N个第二子结果指示所述选定存储单元的阈值电压是否小于所述第i态的目标阈值电压,所述目标阈值电压大于所述预设电压;
根据所述第N个第二子结果,确定目标态为所述第i态的存储单元中需要施加第N+1编程脉冲的存储单元;其中,所述第N+1编程脉冲与所述第N编程脉冲的差值,大于或等于所述目标阈值电压与所述预设电压的差值;
对所述需要施加第N+1编程脉冲的存储单元施加第N+1编程脉冲;其中,在施加所述第N+1编程脉冲后,且所述第一子结果指示所述第一子验证的失败比特数小于第一预设值时,确定对所述第i态编程通过。
根据本公开实施例的第二方面,提供一种存储器,包括:
存储器单元阵列,所述存储器单元阵列包括多个存储单元行;
多个字线,所述多个字线分别耦合到所述多个存储单元行;以及
外围电路,所述外围电路耦合到所述多个字线并且被配置为对所述多个存储单元行中的选定存储单元行执行编程操作,所述选定存储单元行耦合到选定字线,其中,为了执行所述编程操作,所述外围电路被配置为:执行如本公开实施例第一方面所述的编程方法。
根据本公开实施例的第三方面,提供一种存储器系统,包括:
一个或多个如本公开实施例的第二方面所述的存储器;
耦合到所述存储器并且被配置为控制所述存储器的存储器控制器。
相关技术中,对单级存储单元(Single Level Cell,SLC)编程时,一种方式是用一个较大的编程脉冲完成对其编程。然而,对于编程速度较快的单级存储单元,这种方式可能造成过编程,降低编程操作的可靠性。另一种方式是通过施加两次编程脉冲完成对其编程,这种方式在进行第二次验证的过程中,需要对在施加第一次编程脉冲后对没有达到目标阈值电压的所有待编程单级存储单元进行验证,导致编程时间较长。此外,相关技术中对多级存储单元、三级存储单元或者四级存储单元等进行编程时,通常在每次施加编程脉冲之后,需要至少对所有施加了该编程脉冲的存储单元进行编程验证,导致编程时间较长。
本公开实施例中,在施加第N编程脉冲后,通过进行第一子验证和第N次第二子验证这两次验证步骤,进而可根据第一子结果和第N个第二子结果确定阈值电压在预设电压和目标阈值电压之间的存储单元。由于第N+1编程脉冲与第N编程脉冲的差值,大于或等于目标阈值电压与预设电压的差值,因此,在施加第N编程脉冲之后,阈值电压大于或等于预设电压且小于目标阈值电压的这部分存储单元可在施加第N+1编程脉冲之后达到目标阈值电压,且不会出现过编程,如此,在施加第N+1编程脉冲之后,无需对该部分存储单元进行验证操作,且在第一子结果指示第一子验证的失败比特数小于第一预设值时,可认为对第i态编程通过。相较于相关技术的方式,本公开实施例提供的编程方式在保证了可靠性的基础上,减少了需要执行的编程验证次数,有利于缩短编程时间。
附图说明
图1是根据一示例性实施例示出的一种编程方法的流程图;
图2是根据一示例性实施例示出的一种字线电压随时间变化图;
图3是根据一示例性实施例示出的一种阈值电压分布图;
图4是根据一示例性实施例示出的另一种编程方法的流程图;
图5是根据一示例性实施例示出的一种存储器的示意图;
图6是根据一示例性实施例示出的一种包括NAND存储器串的存储器单元阵列的局部截面图;
图7是根据一示例性实施例示出的包括存储器单元阵列和外围电路的存储器的块图;
图8是根据一示例性实施例示出的一种存储器系统的示意图;
图9a是根据一示例性实施例示出的一种存储器卡的示意图;
图9b是根据一示例性实施例示出的一种固态驱动器的示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图和实施例对本公开的技术方案进一步详细阐述。虽然附图中显示了本公开的示例性实施方法,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻的理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在下列段落中参照附图以举例方式更具体的描述本公开。根据下面说明和权利要求书,本公开的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本公开实施例的目的。
可以理解的是,本公开中的“在……上”、“在……之上”和“在……上方”的含义应当以最宽方式被解读,以使得“在……上”不仅表示其“在”某物“上”且其间没有居间特征或层(即直接在某物上)的含义,而且还包括在某物“上”且其间有居间特征或层的含义。
在本公开实施例中,术语“A与B相连”包含A、B两者相互接触地A与B相连的情形,或者A、B两者之间还间插有其他部件而A非接触地与B相连的情形。
在本公开实施例中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。可以理解地,“第一”、“第二”等在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
在本公开实施例中,术语“层”是指包括具有厚度的区域的材料部分。层可以在下方或上方结构的整体之上延伸,或者可以具有小于下方或上方结构范围的范围。此外,层可以是厚度小于连续结构厚度的均质或非均质连续结构的区域。例如,层可位于连续结构的顶表面和底表面之间,或者层可在连续结构顶表面和底表面处的任何水平面对之间。层可以水平、垂直和/或沿倾斜表面延伸。层可以包括多个子层。例如,互连层可包括一个或多个导体和接触子层(其中形成互连线和/或过孔触点)、以及一个或多个电介质子层。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
需要说明的是,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
NAND存储器属于非易失性存储设备(Non-volatile Memory Device),具有容量大,改写速度快等优点,适用于大量数据的存储。NAND存储器广泛应用于嵌入式产品中,如数码相机、MP3随身听记忆卡、体积小巧的U盘等。
在NAND存储器的发展中,早期NAND存储器颗粒的存储单元多为单级单元(Single-Level Cell,SLC),即一个存储单元存储1比特(bit)数据,此时每个存储单元存在两种状态,具体为0和1。
随着NAND存储器的发展,NAND存储器颗粒的存储单元从单级存储单元逐渐演变为多级存储单元,例如MLC(一个存储单元存储2比特数据,Multi-Level Cell),TLC(一个存储单元存储3比特数据,也称三级存储单元,Triple-Level Cell,TLC),或者,QLC(一个存储单元存储4比特数据,也称四级存储单元,Quad-Level Cell,QLC)等,相对应的,NAND存储器颗粒存储单元的状态也由2个变为4个、8个或者16个等。
NAND存储器的操作包括三部分:擦除操作、编程(写入)操作以及读操作.通常,可以以块(Block)为单位进行擦除操作,以页(Page)为单位进行编程操作和读操作。对于NAND存储器的编程操作,其过程例如又分为加压编程(即施加编程脉冲)、编程验证(ProgramVerify,PV)及扫描验证结果等操作。
对于NAND存储器而言,编程时长(tPROG)是衡量NAND存储器性能的重要指标。因此,研发人员一直致力于研究如何能够在保证编程质量的前提下,缩短编程时长。通常,施加编程脉冲的个数、编程验证的次数、每次进行编程验证的时间、以及进行扫描验证结果的时间,都是决定编程时长的重要因素。如果能够减少施加的编程脉冲的总个数和/或编程验证的总次数,就能够有效的缩短编程时长。
对于单级存储单元,具有擦除态(E0)和1个编程态(L1态),通常,可以施加一个很大的编程脉冲对待编程的选定单级存储单元进行编程,并通过施加该一个编程脉冲就能完成对其编程。虽然这种方式的编程时长较短,但是,对于编程速度较快的单级存储单元,这种方式可能出现过编程的情况,进而降低可靠性。
为了在获得较好的编程性能的同时保证可靠性较好,也可以通过施加两次编程脉冲的方式完成对单级存储单元的编程。具体地,在施加第一个编程脉冲之后,对单级存储单元进行第一次编程验证,然后施加第二个编程脉冲,随后进行第二次编程验证,如此,通过进行两次“编程-验证”的循环的方式完成对单级存储单元的编程。但这种方式的编程时长较长。如果能够在施加第二个编程脉冲之后,省略进行第二次编程验证的至少部分步骤,就可以缩短编程时长。
对于MLC,具有擦除态和3个编程态,该MLC的最高态为目标阈值电压最高的编程态。
对于每个存储单元能够存储的比特数大于2的存储单元,以三级存储单元(TLC)为例,三级存储单元具有擦除态和7个编程态,7个编程态按照目标阈值电压逐渐增大的顺序依次记为第一编程态L1、第二编程态L2、第三编程态L3、第四编程态L4、第五编程态L5、第六编程态L6和第七编程态L7。需要强调的是,三级存储单元的最高态为第七编程态L7。
本公开提供一种存储器的编程方法,该编程方法应用于对包括待编程的多个存储单元的存储器进行编程,图1是根据一示例性实施例示出的一种存储器编程方法的示意图。如图1所示,所述编程方法包括以下步骤:
S100:对目标态为第i态的选定存储单元施加第N编程脉冲;其中,i为自然数,N为正整数;
S110:在施加第N编程脉冲后,对该选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果;其中,第一子结果指示该选定存储单元的电压是否小于预设电压,第N个第二子结果指示该选定存储单元的电压是否小于第i态的目标阈值电压,目标阈值电压大于预设电压;
S120:根据第N个第二子结果,确定目标态为第i态的存储单元中需要施加第N+1编程脉冲的存储单元;其中,第N+1编程脉冲与第N编程脉冲的差值,大于或等于该目标阈值电压与预设电压的差值;
S130:对需要施加第N+1编程脉冲的存储单元施加第N+1编程脉冲;其中,在施加第N+1编程脉冲后,且第一子结果指示第一子验证的失败比特数小于第一预设值时,确定对第i态编程通过。
示例性地,第N编程脉冲可包括:第N编程电压脉冲或者第N编程电流脉冲。第N+1编程脉冲可包括:第N+1编程电压脉冲或者第N+1编程电流脉冲。可以理解的是,第N+1编程脉冲,为施加第N编程脉冲后,施加的下一个编程脉冲。第一子验证和第N次第二子验证,为在施加第N个编程脉冲之后、且在施加第N+1个编程脉冲之前,对选定存储单元进行的一次编程验证操作期间执行的两次编程验证步骤。
S110中,第一子验证和第N次第二子验证可理解为,在施加第N个编程脉冲之后、且在施加第N+1个编程脉冲之前,对选定存储单元进行的同一次编程验证操作期间执行的两次编程验证步骤。
示例性地,可通过对与选定存储单元耦接的字线施加编程脉冲和编程验证脉冲的方式,对选定存储单元进行编程以及编程验证。可以理解的是,编程脉冲可包括第N编程脉冲和第N+1编程脉冲,编程验证可包括第一子验证和第N次第二子验证。
具体地,图2示出了施加在与选定存储单元的栅极耦接的字线上的电压随时间变化的关系图。如图2所示,在t1时刻,施加在该字线上的电压达到通过电压Vpass;在t2时刻,施加在该字线上的电压为第N编程脉冲Vpgm。在t3时刻,施加在该字线上的电压达到第一子验证电压(Vvry1),即对与该字线耦接的存储单元进行第一子验证。在t4时刻,施加在该字线上的电压达到第二子验证电压(Vvry2),即对与该字线耦接的存储单元进行第二子验证。
由于第一子验证指示该存储单元的阈值电压小于预设电压,因此,继续对该存储单元进行下一个编程。具体地,在t5时刻,施加在该字线上的电压达到通过电压;在t6时刻,施加在该字线上的电压达到第N+1编程脉冲,第N+1编程脉冲和第N编程脉冲的差值为步长Vstep
在一些实施例中,存储单元可包括单级存储单元。当N取值为1时,第N编程脉冲可理解为,对该单级存储单元执行擦除操作后,施加给该单级存储单元的第1个编程脉冲。
在一些实施例中,存储单元可包括多级存储单元,例如MLC、TLC、QLC等,该编程方法可应用于对多级存储单元的最高态进行编程。具体地,当该编程方法应用于对多级存储单元的最高态进行编程时,第N编程脉冲可理解为:对目标态为最高态的选定存储单元施加的一个编程脉冲。第N+1编程脉冲可理解为:对目标态为最高态的多级存储单元施加第N编程脉冲之后,施加的下一个编程脉冲。
需要强调的是,采用本公开实施例提供的技术方案对最高态进行编程时,需要进行第二子验证的次数较少,对于编程时间的缩短效果更优。即采用本公开实施例提供的技术方案对存储单元的最高态进行编程,为优选实施方式。
在一些实施例中,存储单元可包括三级存储单元或者四级存储单元,该存储单元的目标编程态包括最低态、中间态和最高态,中间态的目标阈值电压大于最低态的目标阈值电压,且中间态的目标阈值电压小于最高态的目标阈值电压,该编程方法可应用于对三级存储单元或者四级存储单元的中间态进行编程。
具体地,当该编程方法应用于对三级存储单元或者四级存储单元的中间态进行编程时,第N编程脉冲可理解为:对目标态为该中间态的选定存储单元施加的一个编程脉冲。第N+1编程脉冲可理解为:对目标态为该中间态的多级存储单元施加第N编程脉冲之后,施加的下一个编程脉冲。
需要说明的是,本公开实施例提供的方法,还可用于对每个存储单元能够存储的比特数据超过4个的更高级别存储单元的中间态或最高态进行编程。可以理解的是,对于不同的目标态,预设电压和目标阈值电压的取值不同。
需要强调的是,在应用本公开实施例提供的方法对多级存储单元、三级存储单元或者四级存储单元等的最高态进行编程时,或者应用本公开实施例提供的方法对三级存储单元或者四级存储单元等的中间态进行编程时,且N的取值为1时,第1编程脉冲可为从擦除态开始施加的第1个编程脉冲,或者,第1编程脉冲还可为对目标态为第i态的待编程存储单元开始进行验证的验证起始脉冲(verify start loop)。
以三级存储单元为例,三级存储单元具有1个擦除态和7个编程态,其擦除态记为L0,其编程态从第1态至第7态依次记为L1、L2、L3、L4、L5、L6和L7,图3示出了三级存储单元的阈值电压分布图。可以理解的是,从L0态至L7态,阈值电压逐渐增大。
对于L1至L7的编程态,从擦除态L0开始编程,依次开始验证每个编程态,直至所有编程态验证通过或达到最大编程脉冲计数后,结束编程。
表1示出了一种对三级存储单元进行编程的具体编程方案,可包括多个编程循环(loop),每个编程循环包括施加编程脉冲和进行编程验证(verify,V)。需要说明的是,表1中标出的“V”用于表示进行编程验证,表1中标出的空格用于表示不进行编程循环,表1中标出的“\”用于表示不进行编程验证。
例如,在第1个编程循环时开始验证目标态为L1态的待编程存储单元,在第4个编程循环后结束验证L1态的待编程存储单元,即L1态的验证起始脉冲为第1个编程脉冲。可以理解的是,在第4个编程循环后,即施加第4个编程验证脉冲之后,目标态为L1态的选定存储单元的第一子结果指示第一子验证的失败比特数小于第一预设值,因此,在对其施加第5个编程脉冲之后,对L1态编程通过,且无需对其进行编程验证。
需要说明的是,相关技术中,还需要在施加第5个编程脉冲之后,对目标态为L1态的选定存储单元进行编程验证。本公开实施例提供的方案相较于相关技术,对于L1态的编程减少了第5个编程脉冲之后的编程验证过程,有利于缩短编程时间。
又如,在第1个编程循环时没有对L2态进行编程验证,在第3个编程循环时开始验证目标态为L2态的待编程存储单元,在第6个编程循环后结束验证L2态的待编程存储单元,即L2态的验证起始脉冲为第3个编程脉冲。可以理解的是,在第6个编程循环后,即施加第6个编程验证脉冲之后,目标态为L2态的选定存储单元的第一子结果指示第一子验证的失败比特数小于第一预设值,因此,在对其施加第7个编程脉冲之后对L2态编程通过,无需对其进行编程验证。L3态至L7态类似,不再赘述。
在一些实施例中,对于多级存储单元,可同时对至少两种目标态进行编程,在同时进行编程的多种目标态中,可在该多个目标态中的最低目标态的第一子验证的失败比特数小于第一预设值的情况下,在施加下一个编程脉冲之后,该最低目标态编程通过,因此,可开始对该最低目标态的下一个目标态进行第1次第二子验证。
例如,结合表1,在第5编程循环和第6编程循环的过程中,由于L2态是最低目标态,L3态不是最低目标态,因此,对目标态为L3态的选定存储单元执行第一子验证,而不执行第二子验证。在第6编程循环过程中,对目标态为L2的选定存储单元执行第一子验证的失败比特数小于第一预设值,因此,在第7编程循环的过程中,对目标态为L2态且需要施加编程脉冲的选定存储单元施加第7个编程脉冲,对目标态为L3和L4态的选定存储单元施加该第7个编程脉冲,并在施加该第7个编程脉冲后开始对L3态执行第1次第二子验证。
需要说明的是,对于任意一个目标态开始进行验证的验证起始脉冲可以是固定的或者是变化的,本公开在此不做限制。
表1
Figure BDA0003712139850000071
示例性地,结合图3可知,目标阈值电压为目标态的电压范围。当选定的存储单元的阈值电压增大至目标态的电压范围内时,可认为该选定存储单元编程至目标态了,对该选定存储单元完成了编程。
需要强调的是,通过执行第一子验证和第N个第二子验证,可以判断选定的存储单元的阈值电压是否达到两个不同的电压。具体地,第一子验证用于验证选定存储单元的阈值电压是否达到预设电压,第N个第二子验证用于验证选定存储单元的阈值电压是否达到目标阈值电压。
第一子结果,为在施加第N编程脉冲后,对选定存储单元执行第一子验证获得的验证结果。第N个第二子结果,为在施加第N编程脉冲后,对选定存储单元执行第N次第二子验证获得的验证结果。
在进行编程验证操作的过程中,产生的验证结果可以寄存在页面缓存器(pagebuffer)中。具体地,验证结果可以寄存在页面缓存器中的特定锁存器(dedicated latch)中,该特定锁存器仅用于暂存编程验证操作的验证结果。或者,验证结果还可以寄存在页面缓存器中的一些其他锁存器中,这些锁存器还可用于存储编程数据、或者编程禁止信息等。
示例性地,第一子结果,可用于统计对选定的存储单元施加第N编程脉冲后电压小于预设电压的比特数或存储单元个数。根据第一子结果,可获得指示施加第N编程脉冲之后阈值电压小于预设电压的存储单元的第一指示信息。
第N个第二子结果,可用于统计对选定的存储单元施加第N编程脉冲后编程失败的比特数或存储单元个数。根据第N个第二子结果,可获得指示施加第N编程脉冲之后阈值电压大于或等于目标阈值电压的存储单元的第二指示信息。
根据第一子结果和第N个第二子结果,可获得指示施加第N编程脉冲之后阈值电压大于或等于预设电压、且小于目标阈值电压的存储单元的第三指示信息。
示例性地,第一指示信息、第二指示信息和第三指示信息可包括用于指示对应存储单元的地址的地址信息。在一些实施例中,S120包括:当选定存储单元的阈值电压小于目标阈值电压时,确定选定存储单元属于需要施加第N+1编程脉冲的存储单元。
S120中,根据第N个第二子结果,可确定出施加第N编程脉冲之后达到目标阈值电压的存储单元,这些存储单元编程成功(即对该存储单元编程通过),如此,可在施加第N+1编程脉冲的过程中,对编程成功的存储单元施加编程禁止条件,以保证不会对这些编程成功的存储单元造成过编程,有利于提高可靠性。
S120中,根据第N个第二子结果,还可确定出施加第N编程脉冲之后未达到目标阈值电压的存储单元,这些存储单元编程尚未成功,因此,需要对这些存储单元施加第二编程脉冲。
示例性地,由于具有误差校正码(Error Correcting Code,ECC)纠错机制,因此,当编程失败的比特数在ECC纠错机制允许的范围内时,可通过ECC纠错机制对至少部分编程失败的比特进行纠错,保证写入存储器中的数据正确性较高。
示例性地,第一预设值的取值范围可在ECC纠错机制所允许的范围内,或者,第一预设值的取值范围可略大于ECC纠错机制所允许的范围。
当第一预设值的取值范围在ECC纠错机制所允许的范围内时,第一子结果指示的第一子验证的失败比特数在ECC纠错机制所允许的范围内,所以可通过ECC纠错机制进行纠错以保证编程的准确性较高,而无需再次执行编程验证,且可认为编程通过,缩短了编程时间。
当第一预设值的取值范围略大于ECC纠错机制所允许的范围时,由于第N+1编程脉冲与第N编程脉冲的差值大于或等于目标阈值电压与预设电压的差值,因此,对于施加第N编程脉冲后、且施加第N+1编程脉冲前阈值电压小于预设电压的存储单元,在施加第N+1编程脉冲后,至少部分存储单元的阈值电压会增加至大于或等于目标阈值电压,即施加第N编程脉冲之后的失败比特数小于第一预设值,使得施加第N+1编程脉冲后的失败比特数在ECC纠错机制所允许的范围内的几率很大,因此施加第N+1编程脉冲后编程通过的几率很大,可认为对第i态编程通过,无需再次执行编程验证的过程,缩短了编程时间。
此外,在理想状况下,由于第N+1编程脉冲与第N编程脉冲的差值大于或等于目标阈值电压与预设电压的差值,因此,对施加了第N编程脉冲之后阈值电压大于或等于预设电压且小于目标阈值电压的这部分存储单元,在施加第N+1编程脉冲之后,其阈值电压会增加至大于或等于目标阈值电压。
实际应用中,可能由于编程噪声等干扰的影响,使得对施加了第N+1编程脉冲之后阈值电压大于或等于预设电压且小于目标阈值电压的这部分存储单元施加第N+1编程脉冲之后,也可能存在极少数的存储单元的阈值电压依旧小于目标阈值电压。
总的来说,对施加了第N编程脉冲之后阈值电压大于或等于预设电压且小于目标阈值电压的这部分存储单元,在施加第N+1编程脉冲之后编程成功的几率很大,因此,在施加第N+1编程脉冲后对这部分存储单元进行编程验证的结果为编程成功的几率很大,进而无需对这部分存储单元进行验证,可减少在施加第N+1编程脉冲后需要验证的存储单元个数,缩短编程验证时间,有利于缩短编程时间。
本公开实施例中,通过建立第N+1编程脉冲和第N编程脉冲之间的步长(即第二编程脉冲与第一编程脉冲的差值),与目标阈值电压与预设电压之间的上述关系,可将至少大部分阈值电压原本在预设电压和目标阈值电压之间的选定的存储单元,通过施加第N+1编程脉冲,使得其阈值电压移动至达到目标阈值电压,以完成对这部分存储单元的编程。
需要说明的是,当第N+1编程脉冲与第N编程脉冲的差值大于目标阈值电压与预设电压的差值时,可通过对第N+1编程脉冲的取值进行合理设置,降低对选定存储单元造成过编程的几率。
本公开实施例中,在施加第N编程脉冲后,通过进行第一子验证和第N次第二子验证这两次验证步骤,进而可根据第一子结果和第N个第二子结果确定阈值电压在预设电压和目标阈值电压之间的存储单元。由于第N+1编程脉冲与第N编程脉冲的差值,大于或等于目标阈值电压与预设电压的差值,因此,在施加第N编程脉冲之后,阈值电压大于或等于预设电压且小于目标阈值电压的选定存储单元在施加第N+1编程脉冲之后达到目标阈值电压的几率较大,且出现过编程的几率较小,如此,在施加第N+1编程脉冲之后,无需对这部分存储单元进行验证操作,且在第一子结果指示第一子验证的失败比特数小于第一预设值时,可确定对第i态编程通过。相较于相关技术的方式,本公开实施例提供的编程方式在保证了可靠性的基础上,减少了需要执行的编程验证次数,有利于缩短编程时间。
在一些实施例中,S110包括:
在施加第N编程脉冲后,向选定存储单元耦合的字线施加第一子验证电压,以对选定的存储单元执行第一子验证,获得第一子结果;
在施加第N编程脉冲后,向选定存储单元耦合的字线施加第二子验证电压,以对选定的存储单元执行第N个第二子验证,获得第N个第二子结果;其中,第二子验证电压大于第一子验证电压。
示例性地,可先对选定存储单元执行第一子验证,后对该选定的存储单元执行第N个第二子验证。具体地,S110可包括:对选定存储单元执行第一子验证,获得第一子结果;根据第一子结果,确定需要执行第N次第二子验证的存储单元;对需要执行第N次第二子验证的存储单元执行第N次第二子验证,获得第N个第二子结果。。
例如,对于未通过第一子验证的存储单元(即阈值电压小于预设电压的存储单元),由于预设电压小于目标阈值电压,因此,未通过第一子验证的存储单元的阈值电压小于目标阈值电压,进而无需对其进行第N次第二子验证。
对于通过第一子验证的存储单元(即阈值电压大于或等于预设电压的存储单元),由于预设电压小于目标阈值电压,因此,通过第一子验证的存储单元的阈值电压与目标阈值电压之间的大小关系需要进一步进行验证,即需要对其进行第N次第二子验证。。
相较于在施加第N编程脉冲之后,对所有目标态为第i态的选定存储单元均执行第一子验证和第N次第二子验证,本公开实施例提供的技术方案,可以减少需要进行第N次第二子验证的选定存储单元个数,进而减少验证时长,有利于缩短编程时间。
在一些实施例中,还可以先对选定存储单元执行第N次第二子验证,并根据第N次第二子验证的结果,确定需要执行第一子验证的存储单元。具体地,S110可包括:对选定存储单元执行第N次第二子验证,获得第N个第二子结果;根据第N个第二子结果,确定需要执行第一子验证的存储单元;对需要执行第一子验证的存储单元执行第一子验证,获得第一子结果。
例如,对于通过了第N次第二子验证的存储单元(即阈值电压大于或等于目标阈值电压的存储单元),由于目标阈值电压大于预设电压,因此,通过第N次第二子验证的存储单元的阈值电压大于预设电压,进而无需对其进行第一子验证。
对于未通过第N次第二子验证的存储单元(即阈值电压小于目标阈值电压的存储单元),由于目标阈值电压大于预设电压,因此,未通过第N次第二子验证的存储单元的电压与预设电压之间的大小关系需要进一步进行验证,即需要对其进行第一子验证。
相较于在施加第N编程脉冲之后,对所有目标态为第i态的选定存储单元均执行第一子验证和第N次第二子验证,本公开实施例提供的技术方案,可以减少进行第一子验证的存储单元个数,进而减少验证时长,有利于缩短编程时间。
由于相关技术中,对施加了第N+1编程脉冲的所有存储单元均进行第N+1编程验证这种方案,需要在施加编程脉冲之后,花费较长的时间、且提供较大的功率来建立编程验证条件,因此,本公开实施例提供的方案虽然需要额外的对字线进行设定的时间,但是本公开实施例提供的方案可通过灵活设置第一次第二子验证的起始时间,减少需要进行第二子验证的次数,进而减少对字线进行设定的时间因此,需要的时间更短,且需要的功率较低。
进一步地,当本公开实施例提供的技术方案用于对单级存储单元进行编程时,仅需要在第一次编程验证(即执行第一子验证和第一个第二子验证)的过程中改变耦合至选定的存储单元的选定字线的电压,可进一步缩短时间,减小功率。
在一些实施例中,S110包括:
在施加第N编程脉冲后,向选定存储单元耦合的位线施加第一预充电电压,并基于预设感测时长对选定的存储单元执行第一子验证,获得第一子结果;
在施加第N编程脉冲后,向选定的存储单元耦合的位线施加第二预充电电压,并基于预设感测时长对选定的存储单元执行第N个第二子验证,获得第N个第二子结果;其中,第二预充电电压大于第一预充电电压。
需要强调的是,当通过对耦合至选定的存储单元的位线施加不同的预充电电压,以对该存储单元分别执行第一子验证和第N个第二子验证时,感测时长是相同的。在一些实施例中,S110包括:
在施加第N编程脉冲后,基于第一感测时长,对选定的存储单元执行第一子验证,获得第一子结果;
在施加第N编程脉冲后,基于第二感测时长,对选定的存储单元执行第N次第二子验证,获得第N个第二子结果;其中,第二感测时长大于第一感测时长。
示例性地,在执行编程验证时,通常包括:对选定的存储单元耦合的位线进行预充电、感测阶段以及读出阶段。在对选定的存储单元耦合的施加预充电电压以对位线预充电之后,经过感测时长后感测位线电压或者流过位线电流,进而可根据感测的位线电压或位线电流对该存储单元进行编程验证。
在一些实施例中,可通过外围电路中的感测电路感测位线电压或位线电流。感测电路可设置于外围电路的页面缓存器中。
可以理解的是,预设感测时长、第一感测时长和第二感测时长均为感测时长。感测阶段的时长即为感测时长。在预充电后,位线被充电至预设电平。停止预充电后,在感测阶段,该位线的电平水平会发生变化,这取决于与该位线耦接的存储单元的阈值电压。经过感测时长,即感测阶段结束时,会基于当前时刻的位线电位水平进行读出,以确定该位线耦接的存储单元的阈值电压,进而根据确定的该存储单元的阈值电压对该存储单元进行编程验证。
本公开实施例中,通过基于较短的第一感测时长对选定的存储单元执行第一子验证,并基于较长的第二感测时长对选定的存储单元执行第二子验证,相较于通过施加不同的字线电压或者不同的位线预充电电压的方案,无需对选定的存储单元耦合的字线和/或位线设置不同的电压,能够有效缩短编程验证时长,更有利于节约编程时长。
然而,本公开实施例提供的方案,由于基于第一感测时长感测的位线电压和基于第二感测时长感测的位线电压的差值可能较小,因此,为了增大基于第一感测时长感测的位线电压和基于第二感测时长感测的位线电压之间的差值,需提供较大的第N编程脉冲,且第N+1编程脉冲和第N编程脉冲之间的步长较小。
在一些实施例中,所述编程方法还包括:
在施加第N+1编程脉冲后,且第一子结果指示第一子验证的失败比特数大于或等于第一预设值时,根据第一子结果,确定施加第N+1编程脉冲后需要验证的存储单元;
对施加第N+1编程脉冲后需要验证的存储单元执行第N+1次第二子验证,获得第N+1个第二子结果。
示例性地,所述根据第一子结果,确定施加第N+1编程脉冲后需要验证的存储单元,包括:
当选定存储单元的阈值电压小于预设电压时,确定选定存储单元属于施加第N+1编程脉冲后需要验证的存储单元;
当选定存储单元的阈值电压大于或等于预设电压时,确定选定存储单元不属于施加第N+1编程脉冲后需要验证的存储单元。
根据第一子结果,可确定出施加第N编程脉冲之后未达到预设电压的存储单元,这些存储单元在施加第N+1编程脉冲之后,可能会存在至少一部分存储单元(例如,施加第N编程脉冲之后电压略小于预设电压的存储单元)的阈值电压会达到目标阈值电压,也可能存在至少另一部分存储单元的阈值电压依旧小于目标阈值电压,因此,在施加第N+1编程脉冲后,且第一子结果指示第一子验证的失败比特数大于或等于第一预设值时,需要对这些施加第N编程脉冲之后未达到预设电压的存储单元执行编程验证,可确定这些存储单元属于施加第N+1编程脉冲之后需要验证的存储单元。
根据第一子结果,可确定出施加第N编程脉冲后阈值电压达到预设电压的这些存储单元。由于第N+1编程脉冲与第N编程脉冲的差值,大于或等于目标阈值电压与预设电压的差值,因此,这些存储单元在施加第N+1编程脉冲之后,阈值电压达到目标阈值电压的几率很大,如此,无需对这些存储单元再次执行编程验证,即可确定这些存储单元属于施加第N+1编程脉冲之后无需验证的存储单元。
相较于相关技术中对施加了第N+1编程脉冲的所有存储单元均执行编程验证过程,本公开实施例中提供的方案,可根据施加第N编程脉冲后获得的第一子结果,预测在施加第N+1编程脉冲之后,对施加第N编程脉冲后阈值电压达到预设电压的这些存储单元执行的编程验证通过情况,如此,在保证编程可靠性的基础上,减少了施加第N+1编程脉冲之后需要验证的存储单元个数,有利于进一步缩短编程时间。
在一些实施例中,所述编程方法还包括;
根据第一子结果,对第一子验证进行失败比特数计数,获得第一计数结果;
S140包括:在施加第N+1编程脉冲后,且第一计数结果小于第一预设值时,确定对第i态编程通过;
当第一计数结果大于或等于第一预设值时,在施加第N+1编程脉冲之后,对施加第N+1编程脉冲后需要验证的存储单元执行第N+1次第二子验证,获得第N+1个第二子结果。
第一计数结果包括:施加第N编程脉冲对存储器进行编程后,阈值电压小于预设电压的比特数。
示例性地,可以采用二进制编码来表示存储单元的阈值电压是否小于预设电压,例如,可以用0表示存储单元的阈值电压小于预设电压,1表示存储单元的阈值电压大于或等于预设电压;也可以用1表示存储单元的阈值电压小于预设电压,用0表示存储单元的阈值电压大于或等于预设电压。在实施时,本领域技术人员可以根据实际情况选择合适的方式表示存储单元是否编程通过,本公开实施例对此并不限定。
在一些实施例中,在施加第N+1编程脉冲的过程中,执行根据第一子结果,对第一子验证进行失败比特数计数,获得第一计数结果的步骤。
在每次编程验证操作之后,通常需要对本次验证操作的结果进行计数,即对验证不通过的存储单元的数量进行计数,也即执行失败比特数计数(Fail Bit Count,FBC)。相关技术中,在时序上,执行失败比特数计数的操作是在施加当前编程脉冲和施加下一个编程脉冲之间执行的,需要占用额外的时间,导致编程时间较长。
示例性地,施加第N+1编程脉冲的过程,可包括第N+1编程准备操作阶段和第N+1编程稳定执行阶段。第N+1编程准备操作阶段为执行第N+1编程操作相关的状态和数据的准备操作,在电压时序上对应对选择字线施加通过电压(Vpass)的阶段。第N+1编程稳定执行阶段为在第N+1编程脉冲施加操作期间响应编程数据控制存储器单元阵列的位线的电位水平,在电压时序上对应对选择字线施加第N+1编程脉冲的阶段。
在一些实施例中,可以在第N+1编程准备操作阶段之后,也即对选择字线施加通过电压之后,在第N+1编程稳定执行阶段读取第一子结果,并对第一子验证进行失败比特数计数,获得第一计数结果。
相较于在施加第N编程脉冲和施加第N+1编程脉冲之间对第一子验证进行失败比特数计数,本公开实施例提供的编程方法,可以在施加第N+1编程脉冲的过程中对第一子验证进行失败比特数计数,如此,在整个编程操作的过程中获得第一计数结果的步骤不占用额外的时间,可以节省编程操作的时间,提高编程效率。并且,本公开实施例通过将对施加第N编程脉冲后的第一子验证进行失败比特数计数过程隐藏在施加第N+1编程脉冲的过程中,可以节约逻辑开销(logic overhead)。
在一些实施例中,所述编程方法还包括:
根据第N+1个第二子结果,对第N+1次第二子验证进行失败比特数计数,获得第二计数结果;
当第二计数结果小于第二预设值时,确定对第i态编程通过;
当第二计数结果大于或等于第二预设值,且当前施加的编程脉冲个数小于最大脉冲个数时,根据第N+1个第二子结果,确定需要施加第N+2编程脉冲的存储单元;
当第二计数结果大于或等于第二预设值,且当前施加的编程脉冲个数等于最大脉冲个数时,确定对第i态编程失败。
第二计数结果包括:施加编程脉冲对存储器进行编程后的失败比特数。
示例性地,可用二进制编码表示存储单元的阈值电压是否小于预设电压。
示例性地,第二预设值的取值范围是在对存储器进行的误差校正码纠错机制所允许范围内。
由于存在ECC纠错机制,因此,当对存储器编程失败的比特数在ECC纠错机制允许的范围内时,可通过ECC纠错对至少部分失败的比特进行纠错,保证可以从存储器中读取到正确的数据。
本公开实施例中,由于第二预设值的取值范围在ECC机制所允许的范围内,因此,当对存储器进行编程的失败比特数小于第二预设值时,可通过ECC纠错机制对失败的比特进行纠错,保证编程效果较好。
在一些实施例中,第二预设值小于或等于第一预设值。
可以理解的是,由于在第一子验证之后,会对阈值电压小于目标阈值电压的存储单元施加第N+1编程脉冲,因此,施加第N+1编程脉冲之后的,至少部分阈值电压原本小于目标阈值电压的存储单元的阈值电压会增大至达到目标阈值电压,也就是说,施加第N+1编程脉冲之后编程失败的存储单元的数量会小于第一计数结果,因此,可将第一预设值设置的稍大于第二预设值,依旧能较好监控对第i态的编程是否通过。
图4是根据一示例性实施例示出的另一种存储器编程方法的流程图,该方法应用于单级存储单元编程模式(SLC mode),该编程方法包括以下步骤:
S200:开始单级存储单元编程;
S210:施加编程脉冲;
S220:执行第一子验证,判断单级存储单元的阈值电压是否达到较低的预设电压,并执行第一次第二子验证,判断单级存储单元的电压是否达到目标阈值电压;
S230:施加编程脉冲,并同时对第一子验证进行失败比特数计数,获得第一计数结果;
S240:判断第一计数结果是否小于第一预设值;当第一计数结果小于第一预设值时,跳转至执行S241;当第一计数结果大于或等于第一预设值时,跳转至执行S250;
S241:编程成功,结束编程;
S250:执行第二子验证,判断单级存储单元的电压是否达到目标阈值电压;
S260:对S250中执行的第二子验证进行失败比特数计数,获得第二计数结果;
S270:判断第二计数结果是否小于第二预设值;当第二计数结果小于第二预设值时,跳转至执行S241;当第二计数结果大于或等于第二预设值时,跳转至执行S280;
S280:判断施加的脉冲数量是否达到最大数量;当施加的脉冲数量达到最大数量时,跳转至执行S281;当施加的脉冲数量未达到最大数量时,跳转至执行S290;
S290:施加编程脉冲。
S210即为施加第一编程脉冲,S230即为施加第二编程脉冲。需要强调的是,S230施加的编程脉冲与S210施加的编程脉冲的差值足够大,以保证在执行S230后,阈值电压原本大于或等于预设电压且小于目标阈值电压的单级存储单元会增大至达到目标阈值电压。具体地,S230施加的编程脉冲与S210施加的编程脉冲的差值,大于或等于目标阈值电压与预设电压的差值。
S240中,由于第一计数结果是对施加第一编程脉冲后阈值电压小于预设电压的单级存储单元进行计数的结果,并且S230施加的编程脉冲与S210施加的编程脉冲的差值,大于或等于目标阈值电压与预设电压的差值,因此,在执行S230后,当第一计数结果小于第一预设值时,可认为对该第1态编程成功,进而可直接省略第二次编程验证的步骤,缩短编程时长。
S280中,最大数量可根据需求合理进行设置,例如,可设为2、3或4等。
图5是根据一示例性实施例示出的一种存储器300的示意图。参照图5所示,存储器300包括:
存储器单元阵列301,包括多个存储单元行;
多个字线318,分别耦合到所述多个存储单元行;以及
外围电路302,耦合到多个字线318并且被配置为对多个存储单元行中的选定存储单元行执行编程操作,选定存储单元行耦合到选定字线,其中,为了执行所述编程操作,外围电路302被配置为执行如本公开实施例任一项所述的编程方法
存储器单元阵列器件301可以是NAND闪存存储器单元阵列,其中,存储器单元306以NAND存储器串308的阵列的形式提供,每个NAND存储器串308在衬底(未示出)上方垂直地延伸。在一些实施方式中,每个NAND存储器串308包括串联耦合并且垂直地堆叠的多个存储器单元306。每个存储器单元306可以保持连续模拟值,例如,电压或电荷,其取决于在存储器单元306的区域内捕获的电子的数量。每个存储器单元306可以是包括浮栅晶体管的浮栅类型的存储器单元,或是包括电荷捕获晶体管的电荷捕获类型的存储器单元。
示例性地,每个存储器单元306可包括:具有两种可能的存储器状态并且因此可以存储一位数据的单级存储单元。例如,第一存储器状态“0”可以对应于第一电压范围,并且第二存储器状态“1”可以对应于第二电压范围。
在一些实施例中,存储器单元306还可包括多级存储单元,例如MLC、TLC或者QLC等。需要强调的是,当存储器单元306为多级存储单元时,外围电路被配置为:对该多级存储单元的最高态进行编程时,执行本公开实施例提供的编程方法。
当存储器单元306为三级存储单元或者四级存储单元等时,外围电路被配置为:对该三级存储单元或者四级存储单元等的中间态进行编程时,执行本公开实施例提供的编程方法。
如图5中所示,每个NAND存储器串308可以包括在其源极端处的源极选择栅极(SSG)310和在其漏极端处的漏极选择栅极(DSG)312。源极选择栅极310和漏极选择栅极312可以被配置为在读取和编程操作期间激活选定的NAND存储器串308(阵列的列)。
在一些实施方式中,同一块304中的NAND存储器串308的源极通过同一源极线(SL)314(例如,公共SL)耦合。换句话说,根据一些实施方式,同一块304中的所有NAND存储器串308具有阵列公共源极(ACS)。
根据一些实施方式,每个NAND存储器串308的漏极选择栅极312耦合到相应的位线316,可以经由输出总线(未示出)从位线316读取或写入数据。
在一些实施方式中,每个NAND存储器串308被配置为通过经由一个或多个漏极选择栅极线313将选择电压(例如,高于具有漏极选择栅极312的晶体管的阈值电压)或取消选择电压(例如,0V)施加到相应的漏极选择栅极312。
在一些实施方式中,每个NAND存储器串308被配置为通过经由一个或多个源极选择栅极线315将选择电压(例如,高于具有源极选择栅极310的晶体管的阈值电压)或取消选择电压(例如,0V)施加到相应的源极选择栅极310而被选择或被取消选择。
如图5中所示,NAND存储器串308可以被组织为多个块304,多个块304的每一个可以具有公共源极线314(例如,耦合到地)。在一些实施方式中,每个块304是用于擦除操作的基本数据单位,即,同一块304上的所有存储器单元306同时被擦除。应当理解,在一些示例中,可以在半块级、在四分之一块级或者在具有任何合适数量的块或块的任何合适的分数的级执行擦除操作。相邻NAND存储器串308的存储器单元306可以通过字线318耦合,字线318选择存储器单元306的哪一行受读取和编程操作的影响。
在一些实施方式中,每个字线318耦合到存储器单元306的页320,页320是用于编程操作的基本数据单位。以位为单位的一页320的大小可以与一个块304中由字线318耦合的NAND存储器串308的数量相关。每个字线318可以包括在相应页320中的每个存储器单元306处的多个控制栅极(栅极电极)以及耦合控制栅极的栅极线。可以理解的是,一个存储器单元行表示位于同一页320的多个存储器单元306。
图6示出了根据本公开的一些方面的包括NAND存储器串308的示例性存储器单元阵列301的截面的局部截面图。如图6所示,NAND存储器串308可以在衬底402上方垂直地延伸穿过存储器堆叠层404。衬底402可以包括硅(例如,单晶硅)、硅锗(SiGe)、砷化镓(GaAs)、锗(Ge)、绝缘体上硅(SOI)、绝缘体上锗(GOI)或者任何其他合适的材料。
存储器堆叠层404可以包括交替的栅极导电层406和栅极到栅极电介质层408。存储器堆叠层404中的栅极导电层406和栅极到栅极电介质层408的对的数量可以确定存储器单元阵列301中的存储器单元306的数量。
栅极导电层406可以包括导电材料,导电材料包括但不限于钨(W)、钴(Co)、铜(Cu)、铝(Al)、多晶硅、掺杂硅、硅化物或其任何组合。在一些实施方式中,每个栅极导电层406包括金属层,例如,钨层。在一些实施方式中,每个栅极导电层406包括掺杂多晶硅层。每个栅极导电层406可以包括围绕存储器单元306的控制栅极,并且可以在存储器堆叠层404的顶部处横向地延伸作为漏极选择栅极线313、在存储器堆叠层404的底部处横向地延伸作为源极选择栅极线315、或者在漏极选择栅极线313与源极选择栅极线315之间横向地延伸作为字线318。
应当理解,尽管在图6中未示出,但是可以形成存储器单元阵列301的附加部件,附加部件包括但不限于栅极线缝隙/源极触点、局部触点、互连层等。
返回参考图5,外围电路302可以通过位线316、字线318、源极线314、源极选择栅极线315和漏极选择栅极线313耦合到存储器单元阵列301。外围电路302可以包括任何合适的模拟、数字以及混合信号电路,以用于通过经由位线316、字线318、源极线314、源极选择栅极线315和漏极选择栅极线313将电压信号和/或电流信号施加到每个目标存储器单元306以及从每个目标存储器单元306感测电压信号和/或电流信号来促进存储器单元阵列301的操作。
外围电路302可以包括使用金属-氧化物-半导体(MOS)技术形成的各种类型的外围电路。例如,图7示出了一些示例性外围电路,外围电路302包括页缓冲器/感测放大器504、列解码器/位线驱动器506、行解码器/字线驱动器508、电压发生器510、控制逻辑单元512、寄存器514、接口516和数据总线518。应当理解,在一些示例中,还可以包括图7中未示出的附加外围电路。
页缓冲器/感测放大器504可以被配置为根据来自控制逻辑单元512的控制信号从存储器单元阵列301读取数据以及向存储器单元阵列301编程(写入)数据。在一个示例中,页缓冲器/感测放大器504可以存储要被编程到存储器单元阵列301的一个页320中的一页编程数据(写入数据)。在另一示例中,页缓冲器/感测放大器504可以执行编程验证操作,以确保数据已经被正确地编程到耦合到选定字线318的存储器单元306中。在又一示例中,页缓冲器/感测放大器504还可以感测来自位线316的表示存储在存储器单元306中的数据位的低功率信号,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。列解码器/位线驱动器506可以被配置为由控制逻辑单元512控制,并且通过施加从电压发生器510生成的位线电压来选择一个或多个NAND存储器串308。
行解码器/字线驱动器508可以被配置为由控制逻辑单元512控制,并且选择/取消选择存储器单元阵列301的块304并且选择/取消选择块304的字线318。行解码器/字线驱动器508还可以被配置为使用从电压发生器510生成的字线电压来驱动字线318。在一些实施方式中,行解码器/字线驱动器508还可以选择/取消选择并且驱动SSG线315和DSG线313。如下文详细描述的,行解码器/字线驱动器508被配置为对耦合到(一个或多个)选定字线318的存储器单元306执行擦除操作。电压发生器510可以被配置为由控制逻辑单元512控制,并且生成要被供应到存储器单元阵列301的字线电压(例如,读取电压、编程电压、通过电压、局部电压、验证电压等)、位线电压和源极线电压。
控制逻辑单元512可以耦合到上文描述的每个外围电路,并且被配置为控制每个外围电路的操作。寄存器514可以耦合到控制逻辑单元512,并且包括状态寄存器、命令寄存器和地址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作码(OP码)和命令地址。接口516可以耦合到控制逻辑单元512,并且充当控制缓冲器,以缓冲从主机(未示出)接收的控制命令并且并将其中继到控制逻辑单元512,以及缓冲从控制逻辑单元512接收的状态信息并且将其中继到主机。接口516还可以经由数据总线518耦合到列解码器/位线驱动器506,并且充当数据I/O接口和数据缓冲器,以缓冲数据并且将其中继到存储器单元阵列301或从存储器单元阵列301中继或缓冲数据。
需要强调的是,外围电路302被配置为对多个存储器单元行中的选定存储器单元行执行本公开实施例提供的编程方法。
图8示出了根据本公开的一些方面的具有存储器的示例性系统100的块图。系统100可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(VR)设备、增强现实(AR)设备或者其中具有储存器的任何其他合适的电子设备。
如图8中所示,系统100可以包括主机108和存储器系统102,存储器系统102具有一个或多个存储器104和存储器控制器106。主机108可以是电子设备的处理器(例如,中央处理单元(CPU))或者片上系统(SoC)(例如,应用处理器(AP))。主机108可以被配置为将数据发送到存储器104或从存储器104接收数据。
存储器104可以是本公开中公开的任何存储器器件,例如,存储器104可包括本公开提供的存储器300。如下文详细公开的,存储器104(例如,NAND闪存存储器器件(例如,三维(3D)NAND闪存存储器器件))可以在擦除操作期间具有来自耦合到未选定字线的驱动晶体管(例如,串驱动器)的减小的漏电流,这允许驱动晶体管的进一步尺寸缩小。
根据一些实施方式,存储器控制器106耦合到存储器104和主机108,并且被配置为控制存储器104。存储器控制器106可以管理存储在存储器104中的数据,并且与主机108通信。可以理解的是,存储器控制器106被配置为控制存储器104执行如本公开任一实施例提供的编程方法。
在一些实施方式中,存储器控制器106被设计为用于在低占空比环境中操作,如安全数字(SD)卡、紧凑型闪存(CF)卡、通用串行总线(USB)闪存驱动器、或用于在诸如个人计算器、数字相机、移动电话等的电子设备中使用的其他介质。
在一些实施方式中,存储器控制器106被设计为用于在高占空比环境SSD或嵌入式多媒体卡(eMMC)中操作,SSD或eMMC用作诸如智能电话、平板计算机、膝上型计算机等的移动设备的数据储存器以及企业存储阵列。存储器控制器106可以被配置为控制存储器104的操作,例如读取、擦除和编程操作。存储器控制器106还可以被配置为管理关于存储在或要存储在存储器104中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。
在一些实施方式中,存储器控制器106还被配置为处理关于从存储器104读取的或者被写入到存储器104的数据的纠错码(ECC)。存储器控制器106还可以执行任何其他合适的功能,例如,格式化存储器104。存储器控制器106可以根据特定通信协议与外部设备(例如,主机108)通信。例如,存储器控制器106可以通过各种接口协议中的至少一种与外部设备通信,接口协议例如USB协议、MMC协议、外围部件互连(PCI)协议、PCI高速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、集成驱动电子设备(IDE)协议、Firewire协议等。
存储器控制器106和一个或多个存储器104可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(UFS)封装或eMMC封装)中。即存储器系统102可以实施并且封装到不同类型的终端电子产品中。
在如图9a中所示的一个示例中,存储器控制器106和单个存储器104可以集成到存储器卡202中。存储器卡202可以包括PC卡(PCMCIA,个人计算机存储器卡国际协会)、CF卡、智能媒体(SM)卡、存储器棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、UFS等。存储器卡202还可以包括将存储器卡202与主机(例如,图8中的主机108)耦合的存储器卡连接器204。
在如图9b中所示的另一示例中,存储器控制器106和多个存储器104可以集成到固态驱动器(Solid State Disk,SSD)206中。固态驱动器206还可以包括将固态驱动器206与主机(例如,图8中的主机108)耦合的固态驱动器连接器208。在一些实施方式中,固态驱动器206的存储容量和/或操作速度大于存储器卡202的存储容量和/或操作速度。
以上存储器设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开存储器设备实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
应理解,说明书通篇中提到的“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一些实施例中”或“在另一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种存储器的编程方法,其特征在于,所述存储器包括待编程的多个存储单元;所述编程方法包括:
对目标态为第i态的选定存储单元施加第N编程脉冲;其中,i为自然数,N为正整数;
在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果;其中,所述第一子结果指示所述选定存储单元的阈值电压是否小于预设电压,所述第N个第二子结果指示所述选定存储单元的阈值电压是否小于所述第i态的目标阈值电压,所述目标阈值电压大于所述预设电压;
根据所述第N个第二子结果,确定目标态为所述第i态的存储单元中需要施加第N+1编程脉冲的存储单元;其中,所述第N+1编程脉冲与所述第N编程脉冲的差值,大于或等于所述目标阈值电压与所述预设电压的差值;
对所述需要施加第N+1编程脉冲的存储单元施加第N+1编程脉冲;其中,在施加所述第N+1编程脉冲后,且所述第一子结果指示所述第一子验证的失败比特数小于第一预设值时,确定对所述第i态编程通过。
2.根据权利要求1所述的编程方法,其特征在于,
所述存储单元包括单级存储单元;
和/或,
所述存储单元包括多级存储单元,所述编程方法应用于对所述存储单元的最高态进行编程。
3.根据权利要求1所述的编程方法,其特征在于,所述存储单元包括三级存储单元或者四级存储单元,所述存储单元的目标编程态包括最低态、中间态和最高态;所述编程方法应用于对所述中间态进行编程。
4.根据权利要求1所述的编程方法,其特征在于,所述在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果,包括:
在施加所述第N编程脉冲后,基于第一感测时长,对所述选定存储单元执行所述第一子验证,获得所述第一子结果;
在施加所述第N编程脉冲后,基于第二感测时长,对所述选定存储单元执行所述第N次第二子验证,获得所述第N个第二子结果;其中,所述第二感测时长大于所述第一感测时长。
5.根据权利要求1所述的编程方法,其特征在于,所述在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果,包括:
在施加所述第N编程脉冲后,向所述选定存储单元耦合的字线施加第一子验证电压,以对所述选定存储单元执行所述第一子验证,获得所述第一子结果;其中,所述第一子验证电压等于所述预设电压;
在施加所述第N编程脉冲后,向所述选定存储单元耦合的字线施加第二子验证电压,以对所述选定存储单元执行所述第N次第二子验证,获得所述第N个第二子结果;其中,所述第二子验证电压等于所述目标阈值电压。
6.根据权利要求1所述的编程方法,其特征在于,所述在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果,包括:
在施加所述第N编程脉冲后,向所述选定存储单元耦合的位线施加第一预充电电压,并基于预设感测时长对所述选定存储单元执行所述第一子验证,获得所述第一子结果;
在施加所述第N编程脉冲后,向所述选定存储单元耦合的位线施加第二预充电电压,并基于所述预设感测时长对所述选定存储单元执行所述第N次第二子验证,获得所述第N个第二子结果;其中,所述第二预充电电压大于所述第一预充电电压。
7.根据权利要求1所述的编程方法,其特征在于,所述根据所述第N个第二子结果,确定目标态为所述第i态的存储单元中需要施加第N+1编程脉冲的存储单元,包括:
当所述第N个第二子结果指示所述选定存储单元的阈值电压小于所述目标阈值电压时,确定所述选定存储单元属于所述需要施加第N+1编程脉冲的存储单元。
8.根据权利要求1所述的编程方法,其特征在于,所述编程方法还包括;
在施加所述第N+1编程脉冲后,且所述第一子结果指示所述第一子验证的失败比特数大于或等于所述第一预设值时,根据所述第一子结果,确定施加所述第N+1编程脉冲后需要验证的存储单元;
对所述施加所述第N+1编程脉冲后需要验证的存储单元执行第N+1次所述第二子验证,获得第N+1个第二子结果,所述第N+1个第二子结果指示所述存储单元的阈值电压是否小于所述目标阈值电压。
9.根据权利要求8所述的编程方法,其特征在于,所述根据所述第一子结果,确定施加所述第N+1编程脉冲后需要验证的存储单元,包括:
当所述存储单元的阈值电压小于所述预设电压时,确定所述存储单元属于施加第N+1编程脉冲后需要验证的存储单元;
当所述选定存储单元的阈值电压大于或等于所述预设电压时,确定所述存储单元不属于施加第N+1编程脉冲后需要验证的存储单元。
10.根据权利要求8所述的编程方法,其特征在于,所述编程方法还包括:
根据所述第N+1个第二子结果,对第N+1次所述第二子验证进行失败比特数计数,获得第二计数结果;
当所述第二计数结果小于第二预设值时,确定对所述第i态编程通过;
当所述第二计数结果大于或等于所述第二预设值,且当前施加的编程脉冲个数小于最大脉冲个数时,根据第N+1个所述第二子结果,确定需要施加第N+2编程脉冲的存储单元;
当所述第二计数结果大于或等于所述第二预设值,且当前施加的编程脉冲个数等于最大脉冲个数时,确定对所述第i态编程失败。
11.根据权利要求10所述的编程方法,其特征在于,所述第二预设值小于或等于所述第一预设值。
12.根据权利要求1所述的编程方法,其特征在于,所述在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果,包括:
对所述选定存储单元执行所述第一子验证,获得所述第一子结果;
根据所述第一子结果,确定需要执行所述第N次第二子验证的存储单元;
对所述需要执行所述第N次第二子验证的存储单元执行所述第N次第二子验证,获得所述第N个第二子结果。
13.根据权利要求1所述的编程方法,其特征在于,所述在施加所述第N编程脉冲后,对所述选定存储单元执行第一子验证和第N次第二子验证,对应获得第一子结果和第N个第二子结果,包括:
对所述选定存储单元执行所述第N次第二子验证,获得所述第N个第二子结果;
根据所述第N个第二子结果,确定需要执行所述第一子验证的存储单元;
对所述需要执行所述第一子验证的存储单元执行所述第一子验证,获得所述第一子结果。
14.根据权利要求1所述的编程方法,其特征在于,所述编程方法还包括:在施加所述第N+1编程脉冲的过程中,根据所述第一子结果,对所述第一子验证进行失败比特数计数,获得第一计数结果。
15.一种存储器,其特征在于,包括:
存储器单元阵列,所述存储器单元阵列包括多个存储单元行;
多个字线,所述多个字线分别耦合到所述多个存储单元行;以及
外围电路,所述外围电路耦合到所述多个字线并且被配置为对所述多个存储单元行中的选定存储单元行执行编程操作,所述选定存储单元行耦合到选定字线,其中,所述外围电路被配置为:执行如权利要求1至14任一项所述的编程方法。
16.一种存储器系统,其特征在于,包括:
一个或多个如权利要求15所述的存储器;
耦合到所述存储器并且被配置为控制所述存储器的存储器控制器。
CN202210729038.7A 2022-06-24 2022-06-24 存储器、存储器的编程方法及存储器系统 Pending CN115019861A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210729038.7A CN115019861A (zh) 2022-06-24 2022-06-24 存储器、存储器的编程方法及存储器系统
PCT/CN2023/101998 WO2023246931A1 (en) 2022-06-24 2023-06-22 Memory device, memory system, and operating method thereof
CN202380009891.4A CN117642822A (zh) 2022-06-24 2023-06-22 存储装置、存储系统及其操作方法
US18/357,883 US20230420062A1 (en) 2022-06-24 2023-07-24 Memory device, memory system, and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210729038.7A CN115019861A (zh) 2022-06-24 2022-06-24 存储器、存储器的编程方法及存储器系统

Publications (1)

Publication Number Publication Date
CN115019861A true CN115019861A (zh) 2022-09-06

Family

ID=83077760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210729038.7A Pending CN115019861A (zh) 2022-06-24 2022-06-24 存储器、存储器的编程方法及存储器系统

Country Status (2)

Country Link
CN (1) CN115019861A (zh)
WO (1) WO2023246931A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023246931A1 (en) * 2022-06-24 2023-12-28 Yangtze Memory Technologies Co., Ltd. Memory device, memory system, and operating method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210027783A (ko) * 2019-09-03 2021-03-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN113892141A (zh) * 2021-08-31 2022-01-04 长江存储科技有限责任公司 存储器、存储器的编程方法及编程验证方法、存储器系统
CN115019861A (zh) * 2022-06-24 2022-09-06 长江存储科技有限责任公司 存储器、存储器的编程方法及存储器系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023246931A1 (en) * 2022-06-24 2023-12-28 Yangtze Memory Technologies Co., Ltd. Memory device, memory system, and operating method thereof

Also Published As

Publication number Publication date
WO2023246931A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
CN109935267B (zh) 半导体存储器装置及其操作方法
US9224483B2 (en) Nonvolatile memory device, system and programming method with dynamic verification mode selection
US8422292B2 (en) Nonvolatile memory device and program method thereof
US20220076754A1 (en) Memory device and method of operating the same
US20230148366A1 (en) Memory device, method for programming memory device, program verification method and memory system
WO2023246931A1 (en) Memory device, memory system, and operating method thereof
US11742037B2 (en) Memory device and multi-pass program operation thereof
CN113490984B (zh) 存储器器件及其编程操作
CN114400035A (zh) 存储器的编程方法、存储器及存储系统
WO2023226417A1 (en) Memory device, memory system, and program operation method thereof
CN113228188B (zh) 存储器件及其编程操作
CN115527587A (zh) 存储系统及其操作方法、存储器控制器和存储器
CN113421601A (zh) 闪存存储器的操作方法以及闪存存储器
US20230420062A1 (en) Memory device, memory system, and operating method thereof
CN113994433A (zh) 多遍编程中的负栅极应力操作机器存储器件
CN113228186B (zh) 多遍编程中的负栅极应力操作机器存储器件
US20240143181A1 (en) Memory device and program operation thereof
US11749346B2 (en) Overwrite mode in memory programming operations
US20240078038A1 (en) Method of controlling memory, memory and memory system
US20230386587A1 (en) Memory device, memory system, and program operation method thereof
CN115565580A (zh) 存储器装置及其操作方法、存储器系统
CN114974372A (zh) 非易失性存储器操作方法及系统
CN116547759A (zh) 存储器设备、存储器系统及其程序操作方法
CN115206386A (zh) 存储器的操作方法、存储器、存储器系统及电子设备
CN116547761A (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