1.本技术实施例涉及半导体技术领域,特别涉及一种
存储器及其操作方法、存储器系统。
背景技术:
2.存储器是现代信息技术中用于保存信息的记忆设备。作为一种典型的非易失性半导体存储器,nand(not-and,与非型)闪存器由于具有较高的存储密度、可控的生产成本、合适的编擦速度及保持特性,已经成为存储市场中的主流产品。
3.存储器生命周期,或者称为产品生命周期可以分为产品生命初期、产品生命中期、产品生命末期,具体地,产品生命初期可以理解为存储器的擦写循环
次数接近0次,产品生命中期可以理解为存储器的擦写循环次数在理论擦写循环次数一半的附近,产品生命末期可以理解为存储器的擦写循环次数已接近理论擦写循环的总次数。
4.随着对存储器要求的不断提高,如何提高生命初期时的读取窗口同时降低产品生命末期时的过编程问题成为本领域现阶段亟需解决的技术问题之一。
技术实现要素:
5.有鉴于此,本技术实施例提供一种存储器及其操作方法、存储器系统。
6.根据本技术实施例的第一方面,提供一种存储器的操作方法,包括:
7.接收到第一指令;
所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;
8.在所述选择字线上施加第一编程初始
电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数及确定的,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。
9.上述方案中,所述方法还包括:
10.获取所述存储器的当前擦写循环次数;
11.根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压;所述存储器的当前擦写循环次数所处的区间的平均值越大,所述第一编程初始电压越小。
12.上述方案中,将零至预设擦写循环次数依次分为n个区间;所述在所述选择字线上施加第一编程初始电压,包括:
13.在当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一编程初始电压为v1;
14.在当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一编程初始电压为v1-a*(i-1);
15.其中,所述n、i为正整数,且n>1,n≥i>1;所述v1、a、v1-a*(i-1)均为正数。
16.上述方案中,根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所
处的区间,确定所述第一编程初始电压,包括:
17.根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,结合第一映射表,确定所述第一编程初始电压;其中,所述第一映射表包括所述零至预设擦写循环次数内各擦写循环次数所属的区间与编程初始电压之间的关系。
18.上述方案中,所述方法还包括:
19.确定所述第一映射表。
20.上述方案中,所述确定所述第一映射表,包括:
21.在当前擦写循环次数小于第一预设次时,在选择字线上施加第二编程初始电压,记录存储单元对应的初始阈值电压分布;
22.保持在选择字线上施加所述第二编程初始电压,在当前擦写循环次数每增加第二预设次的擦写循环时,记录一次所述存储单元对应的阈值电压分布,直至当前擦写循环次数增加至所述预设擦写循环次数,形成阈值电压分布集合;
23.根据所述第一预设次、所述第二预设次、所述初始阈值电压分布以及所述阈值电压分布集合,确定所述第一映射表。
24.上述方案中,每一区间中包括多个擦写循环次数,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同或者不同。
25.上述方案中,所述在所述选择字线上施加第一编程初始电压,包括:
26.在所述选择字线上通过施加一个脉冲电压的方式施加第一编程初始电压,以对选择字线耦接的存储单元进行编程操作。
27.根据本技术实施例的又一方面,提供一种存储器,所述存储器包括存储器阵列以及与所述存储器阵列耦接的外围电路;
28.所述外围电路被配置为:
29.接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;
30.在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数确定的。
31.上述方案中,所述外围电路被配置为:
32.获取所述存储器的当前擦写循环次数;
33.根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压;所述存储器的当前擦写循环次数所处的区间的平均值越大,所述第一编程初始电压越小;每一区间中包括至少一个擦写循环次数,所述区间中各擦写循环次数的平均值越大,所述区间的平均值越大。
34.上述方案中,将零至预设擦写循环次数依次分为n个区间;所述外围电路被配置为:
35.在当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一编程初始电压为v1;
36.在当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一编程初始电压为v1-a*(i-1);
37.其中,所述n、i为正整数,且n>1,n≥i>1;所述v1、a、v1-a*(i-1)均为正数。
38.上述方案中,所述外围电路被配置为:
39.根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,结合第一映射表,确定所述第一编程初始电压;其中,所述第一映射表包括所述零至预设擦写循环次数内各擦写循环次数所属的区间与编程初始电压之间的关系。
40.上述方案中,所述外围电路包括寄存器,所述寄存器用于存储所述第一映射表。
41.上述方案中,每一区间中包括多个擦写循环次数,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同或者不同。
42.上述方案中,所述存储器包括三维nand型存储器。
43.上述方案中,所述存储器的存储单元的存储位数包括一位。
44.上述方案中,所述存储器的预设擦写循环次数为10万次,将零至预设擦写循环次数依次分为6个区间;所述外围电路被配置为:
45.在当前擦写循环次数处于[0,1.5万)区间时,在所述选择字线上施加的第一编程初始电压为v1;所述v1为正数;
[0046]
在当前擦写循环次数处于[1.5万,3万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.1;
[0047]
在当前擦写循环次数处于[3万,4.5万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.2;
[0048]
在当前擦写循环次数处于[4.5万,6万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.3;
[0049]
在当前擦写循环次数处于[6万,8万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.4;
[0050]
在当前擦写循环次数处于[8万,10万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.5。
[0051]
根据本技术实施例的再一方面,提供一种存储器系统,包括:
[0052]
一个或多个如上述方案中所述的存储器;以及
[0053]
存储器控制器,其与所述存储器耦接并控制所述存储器。
[0054]
本技术实施例提供一种存储器及其操作方法、存储器系统,其中,所述存储器的操作方法,包括:接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数确定的,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。本技术各实施例中,根据存储器的当前擦写循环次数动态地确定编程初始电压,也就是说,在不同的产品生命周期中施加不同的编程初始电压,在不同的产品生命周期中匹配最合适的编程初始电压。具体地,在产品生命初期时,可以设置较高的编程初始电压,随着擦写循环次数的增加,逐渐降低或者阶梯式降低编程初始电压,在产品生命末期时,可以设置较低的编程初始电压,可以理解的是,在产品生命初期,较高的编程初始电压可以使得编程态阈值电压足够高而读取窗口较大,可以降低读取重试率;随着擦写循环次数的增加,降低编程初始电压;在产品生命末期,较低的编程初始电压可以使得编程态的中值阈值电压相较于生命初期时发生较小偏移,从而可以改善过编程问题;如此,既保证了产品生命初期时的编程态阈值电压足够高,读取窗口足够大,又保证了产品生命末
期时不会出现过编程问题。
附图说明
[0055]
图1为本技术一实施例具有存储器系统的示例性系统的示意图;
[0056]
图2a为本技术一实施例具有存储器系统的示例性存储器卡的示意图;
[0057]
图2b为本技术一实施例具有存储器系统的示例性固态驱动器的示意图;
[0058]
图3a为本技术一实施例三维nand型存储器的存储单元的分布示意图;
[0059]
图3b为本技术一实施例包括外围电路的示例性存储器的示意图;
[0060]
图4为本技术一实施例的包括nand存储器串的存储器阵列的剖面示意图;
[0061]
图5为本技术一实施例包括存储单元阵列和外围电路的示例性存储器的示意图;
[0062]
图6为本技术一实施例采用高编程初始电压与低编程初始电压进行编程操作在产品生命末期时的阈值电压分布对比示意图;
[0063]
图7为本技术一实施例采用高编程初始电压与低编程初始电压进行编程操作在产品生命初期时的阈值电压分布对比示意图;
[0064]
图8为本技术一实施例提供的一种存储器的操作方法的实现流程示意图;
[0065]
图9为本技术一实施例从产品生命初期至产品生命末期的阈值电压分布的中值数据点及其二元拟合直线示意图;
[0066]
图10为本技术一实施例采用优化方法进行编程在产品生命初期与产品生命末期时的阈值电压分布与读取电压的示意图;
[0067]
图11为本技术一实施例采用高编程初始电压与低编程初始电压进行编程操作在产品生命末期时的阈值电压分布与读取电压的示意图;
[0068]
图12为本技术一实施例采用优化方法一与优化方法二进行编程操作在产品生命末期时的读取窗口对比示意图。
具体实施方式
[0069]
下面将参照附图更详细地描述本技术公开的示例性实施方式。虽然附图中显示了本技术的示例性实施方式,然而应当理解,可以以各种形式实现本技术,而不应被这里阐述的具体实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本技术,并且能够将本技术公开的范围完整的传达给本领域的技术人员。
[0070]
在下文的描述中,给出了大量具体的细节以便提供对本技术更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本技术可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本技术发生混淆,对于本领域公知的一些技术特征未进行描述;即,这里不描述实际实施例的全部特征,不详细描述公知的功能和结构。
[0071]
在附图中,为了清楚,层、区、元件的尺寸以及其相对尺寸可能被夸大。自始至终相同附图标记表示相同的元件。
[0072]
应当明白,当元件或层被称为“在
……
上”、“与
……
相邻”、“连接到”或“耦合到”其它元件或层时,其可以直接地在其它元件或层上、与之相邻、连接或耦合到其它元件或层,或者可以存在居间的元件或层。相反,当元件被称为“直接在
……
上”、“与
……
直接相邻”、“直接连接到”或“直接耦合到”其它元件或层时,则不存在居间的元件或层。应当明白,尽管
可使用术语第一、第二、第三等描述各种元件、部件、区、层和/或部分,这些元件、部件、区、层和/或部分不应当被这些术语限制。这些术语仅仅用来区分一个元件、部件、区、层或部分与另一个元件、部件、区、层或部分。因此,在不脱离本技术教导之下,下面讨论的第一元件、部件、区、层或部分可表示为第二元件、部件、区、层或部分。而当讨论的第二元件、部件、区、层或部分时,并不表明本技术必然存在第一元件、部件、区、层或部分。
[0073]
空间关系术语例如“在
……
下”、“在
……
下面”、“下面的”、“在
……
之下”、“在
……
之上”、“上面的”等,在这里可为了方便描述而被使用从而描述图中所示的一个元件或特征与其它元件或特征的关系。应当明白,除了图中所示的取向以外,空间关系术语意图还包括使用和操作中的器件的不同取向。例如,如果附图中的器件翻转,然后,描述为“在其它元件下面”或“在其之下”或“在其下”元件或特征将取向为在其它元件或特征“上”。因此,示例性术语“在
……
下面”和“在
……
下”可包括上和下两个取向。器件可以另外地取向(旋转90度或其它取向)并且在此使用的空间描述语相应地被解释。
[0074]
在此使用的术语的目的仅在于描述具体实施例并且不作为本技术的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。
[0075]
为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
[0076]
图1示出了根据本技术的一些方面的具有存储器的示例性系统100的块图。系统100可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备或者其中具有储存器的任何其他合适的电子设备。如图1中所示,系统100可以包括主机108和存储器系统102,存储器系统102具有一个或多个存储器104和存储器控制器106。主机108可以是电子设备的处理器(例如,中央处理单元(cpu))或者片上系统(soc)(例如,应用处理器(ap))。主机108可以被配置为将数据发送到存储器104或从存储器104接收数据。
[0077]
存储器104可以是本公开中公开的任何存储器。如下文详细公开的,存储器104(例如,nand闪存存储器(例如,三维(3d)nand闪存存储器))可以在擦除操作期间具有来自耦合到未选定字线的驱动晶体管(例如,串驱动器)的减小的漏电流,这允许驱动晶体管的进一步尺寸缩小。
[0078]
根据一些实施方式,存储器控制器106耦合到存储器104和主机108,并且被配置为控制存储器104。存储器控制器106可以管理存储在存储器104中的数据,并且与主机108通信。在一些实施方式中,存储器控制器106被设计为用于在低占空比环境中操作,如安全数字(sd)卡、紧凑型闪存(cf)卡、通用串行总线(usb)闪存驱动器、或用于在诸如个人计算器、数字相机、移动电话等的电子设备中使用的其他介质。在一些实施方式中,存储器控制器106被设计为用于在高占空比环境ssd或嵌入式多媒体卡(emmc)中操作,ssd或emmc用作诸如智能电话、平板计算机、膝上型计算机等的移动设备的数据储存器以及企业存储阵列。
[0079]
存储器控制器106可以被配置为控制存储器104的操作,例如读取、擦除和编程操
作。存储器控制器106还可以被配置为管理关于存储在或要存储在存储器104中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,存储器控制器106还被配置为处理关于从存储器104读取的或者被写入到存储器104的数据的纠错码(ecc)。存储器控制器106还可以执行任何其他合适的功能,例如,格式化存储器104。
[0080]
存储器控制器106可以根据特定通信协议与外部设备(例如,主机108)通信。例如,存储器控制器106可以通过各种接口协议中的至少一种与外部设备通信,接口协议例如usb协议、mmc协议、外围部件互连(pci)协议、pci高速(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机小型接口(scsi)协议、增强型小型磁盘接口(esdi)协议、集成驱动电子设备(ide)协议、firewire协议等。
[0081]
存储器控制器106和一个或多个存储器104可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(ufs)封装或emmc封装)中。也就是说,存储器系统102可以实施并且封装到不同类型的终端电子产品中。在如图2a中所示的一个示例中,存储器控制器106和单个存储器104可以集成到存储器卡202中。存储器卡202可以包括pc卡(pcmcia,个人计算机存储器卡国际协会)、cf卡、智能媒体(sm)卡、存储器棒、多媒体卡(mmc、rs-mmc、mmcmicro)、sd卡(sd、minisd、microsd、sdhc)、ufs等。存储器卡202还可以包括将存储器卡202与主机(例如,图1中的主机108)耦合的存储器卡连接器204。在如图2b中所示的另一示例中,存储器控制器106和多个存储器104可以集成到ssd 206中。ssd 206还可以包括将ssd 206与主机(例如,图1中的主机108)耦合的ssd连接器208。在一些实施方式中,ssd 206的存储容量和/或操作速度大于存储器卡202的存储容量和/或操作速度。
[0082]
图3a示例性的给出了一种三维nand型存储器的存储器阵列的结构示意图,如图3a所示,三维nand型存储器的存储器阵列由数排平行错开的与栅极隔离结构平行的存储单元排构成,每两排存储单元排被栅极隔离结构和上选择栅极隔离结构隔开,每个存储单元排包括多个存储单元。栅极隔离结构可以包括第一栅极隔离结构和第二栅极隔离结构,第一栅极隔离结构将存储器阵列划分为多个存储块(英文表达为block),多个第二栅极隔离结构可以将存储块划分为多个指存储区(英文表达为finger),在每个指存储区的中间设置的上选择栅极隔离结构可以将指存储区划分为两个部分,从而将指存储区划分为两个存储片。
[0083]
需要说明的是,图3a中给出的栅极隔离结构和上选择栅极隔离结构之间的存储单元排的排数只是示例性的示范,不用于限定本技术中三维nand型存储器的一个指存储区所包含的存储单元排的数量。实际应用中,一个指存储区所包含的存储单元排的数量可以根据实际情况进行调整,如2、4、8、16等。
[0084]
图3b示出了根据本技术的一些方面的包括存储器阵列和外围电路的示例性存储器300的示意电路图。存储器300可以是图1中的存储器104的示例。存储器300可以包括存储器阵列301和耦合到存储器阵列301的外围电路302。以存储器阵列301为三维nand型存储器阵列为例进行说明,其中,存储单元306以nand存储器串308的阵列的形式提供,每个nand存储器串308在衬底(未示出)上方垂直地延伸。在一些实施方式中,每个nand存储器串308包括串联耦合并且垂直地堆叠的多个存储单元306。每个存储单元306可以保持连续模拟值,例如,电压或电荷,其取决于在存储单元306的区域内捕获的电子的数量。每个存储单元306
可以是包括浮栅晶体管的浮栅类型的存储单元,或者是包括电荷捕获晶体管的电荷捕获类型的存储单元。
[0085]
在一些实施方式中,每个存储单元306是具有两种可能的存储器状态并且因此可以存储一位数据的单级单元(single-level cell,slc),即一个存储单元存储1比特(bit)数据,此时每个存储单元存在两种状态,具体为0和1。例如,第一存储器状态“0”可以对应于第一电压范围,并且第二存储器状态“1”可以对应于第二电压范围。在一些实施方式中,每个存储单元306是能够在多于四个的存储器状态中存储多于单个位的数据的多级单元。例如,可以每单元存储两位数据的多级单元(multi-level cell,mlc),每单元存储三位(又被称为三级单元(trille-level cell,tlc)),或者每单元存储四位(又被称为四级单元(quad-level cell,qlc))。以slc存储单元为例,slc存储单元具有1个擦除态和1个编程态,其擦除态记为l0,其编程态记为l1。
[0086]
如图3b中所示,每个nand存储器串308可以包括在其源极端处的下选择栅极(bsg)310和在其漏极端处的上极选择栅极(tsg)312。bsg 310和tsg312可以被配置为在读取和编程操作期间激活选定的nand存储器串308。在一些实施方式中,同一存储块304中的nand存储器串308的源极通过同一源极线(sl)314(例如,公共sl)耦合。换句话说,根据一些实施方式,同一存储块304中的所有nand存储器串308具有阵列公共源极(acs)。根据一些实施方式,每个nand存储器串308的tsg 312耦合到相应的位线(bl)316,可以经由输出总线(未示出)从位线316读取或写入数据。在一些实施方式中,每个nand存储器串308被配置为通过经由一个或多个tsg线313将选择电压(例如,高于具有tsg 312的晶体管的阈值电压)或取消选择电压(例如,0v)施加到相应的tsg 312和/或通过经由一个或多个bsg线315将选择电压(例如,高于具有bsg 310的晶体管的阈值电压)或取消选择电压(例如,0v)施加到相应的bsg 310而被选择或被取消选择。
[0087]
如图3b中所示,nand存储器串308可以被组织为多个存储块304,多个存储块304的每一个可以具有公共源极线314(例如,耦合到地)。在一些实施方式中,每个存储块304是用于擦除操作的基本数据单位,即,同一存储块304上的所有存储单元306同时被擦除。为了擦除选定存储块304中的存储单元306,可以用擦除电压(vers)(例如,高正电压(例如,20v或更高))偏置耦合到选定存储块304以及与选定存储块304在同一面中的未选定存储块的源极线314。应当理解,在一些示例中,可以在半存储块级、在四分之一存储块级或者在具有任何合适数量的存储块或存储块的任何合适的分数的级执行擦除操作。相邻nand存储器串308的存储单元306可以通过字线318耦合,字线318可以用读取和编程电压v
wl
(例如,读取电压(例如,0.3v)、编程电压(例如,3v))偏置耦合到选择的字线,选择存储单元306的哪一行受读取和编程操作的影响。在一些实施方式中,每个字线318耦合到存储单元306的页320,页320是用于编程操作的基本数据单位。以位为单位的一页320的大小可以与一个存储块304中由字线318耦合的nand存储器串308的数量相关。每个字线318可以包括在相应页320中的每个存储单元306处的多个控制栅极(栅极电极)以及耦合控制栅极的栅极线。结合前面的图3a,一页320中包含多个存储单元306,多个存储单元之间被上选择栅极隔离结构和栅极隔离结构隔离开,在上选择栅极隔离结构和栅极隔离结构之间的多个存储单元排列成多个存储单元排,每个存储单元排与栅极隔离结构以及上选择栅极隔离结构平行。其中共享相同字线的存储片中的存储单元形成可编程(读/写)页。
[0088]
图4示出了根据本技术的一些方面的包括nand存储器串308的示例性存储器阵列301的剖面示意图。如图4所示,nand存储器串308可以包括层叠结构410,该层叠结构410包括依次交替层叠设置的多条栅极层411和多个绝缘层412,以及垂直贯穿栅极层411和绝缘层412的存储器串308。栅极层411和绝缘层412可以交替层叠,相邻的两层栅极层411由一层绝缘层412隔开。层叠结构410中栅极层411和绝缘层412的对的数量,可以确定存储器阵列401中包括的存储器单元的数量。
[0089]
栅极层411的组成材料可以包括导电材料。导电材料包括但不限于钨(w)、钴(co)、铜(cu)、铝(al)、多晶硅、掺杂硅、硅化物或其任何组合。在一些实施方式中,每个栅极层411包括金属层,例如,钨层。在一些实施方式中,每个栅极层411包括掺杂多晶硅层。每个栅极层411可以包括围绕存储单元的控制栅极。在层叠结构410的顶部处的栅极层411,可以横向地延伸作为上选择栅极线,在层叠结构410底部处的栅极层411可以横向地延伸作为下选择栅极线,在上选择栅极线与下选择栅极线之间横向地延伸的栅极层411可以作为字线层。
[0090]
在一些实施例中,层叠结构410可以设置在衬底401上。衬底401可以包括硅(例如,单晶硅)、硅锗(sige)、砷化镓(gaas)、锗(ge)、绝缘体上硅(soi)、绝缘体上锗(goi)或者任何其他合适的材料。
[0091]
在一些实施例中,nand存储器串308包括垂直地延伸穿过层叠结构410的沟道结构。在一些实施方式中,沟道结构包括填充有(一种或多种)半导体材料(例如,作为半导体沟道)和(一种或多种)电介质材料(例如,作为存储器膜)的沟道孔。在一些实施方式中,半导体沟道包括硅,例如,多晶硅。在一些实施方式中,存储器膜是包括隧穿层、存储层(又称为“电荷捕获/存储层”)和阻挡层的复合电介质层。沟道结构可以具有圆柱形状(例如,柱形状)。根据一些实施方式,半导体沟道、隧穿层、存储层和阻挡层以此顺序从柱的中心朝向柱的外表面径向布置。隧穿层可以包括氧化硅、氮氧化硅或其任何组合。存储层可以包括氮化硅、氮氧化硅或其任何组合。阻挡层可以包括氧化硅、氮氧化硅、高介电常数(高k)电介质或其任何组合。在一个示例中,存储器膜可以包括氧化硅/氮氧化硅/氧化硅(ono)的复合层。
[0092]
返回参考图3b,外围电路302可以通过位线316、字线318、源极线314、bsg线315和tsg线313耦合到存储器阵列301。外围电路302可以包括任何合适的模拟、数字以及混合信号电路,以用于通过经由位线316、字线318、源极线314、bsg线315和tsg线313将电压信号和/或电流信号施加到每个目标存储单元306以及从每个目标存储单元306感测电压信号和/或电流信号来促进存储器阵列301的操作。外围电路302可以包括使用金属-氧化物-半导体(mos)技术形成的各种类型的外围电路。
[0093]
图5示出了根据本技术的一些方面的包括外围电路和存储器阵列的示例性存储器300的示意电路图。图5示出了一些示例性外围电路和存储器阵列,以下结合图3b和图5进行理解,外围电路302包括页缓冲器/感测放大器504、列解码器/位线驱动器506、行解码器/字线驱动器508、电压发生器510、控制逻辑单元512、寄存器514、接口516和数据总线518。应当理解,在一些示例中,还可以包括图5中未示出的附加外围电路。
[0094]
页缓冲器/感测放大器504可以被配置为根据来自控制逻辑单元512的控制信号从存储器阵列301读取数据以及向存储器阵列301编程(写入)数据。在一个示例中,页缓冲器/感测放大器504可以存储要被编程到存储器阵列301的一个页320中的一页编程数据(写入数据)。在另一示例中,页缓冲器/感测放大器504可以执行编程验证操作,以确保数据已经
被正确地编程到耦合到选定字线318的存储单元306中。在又一示例中,页缓冲器/感测放大器504还可以感测来自位线316的表示存储在存储单元306中的数据位的低功率信号,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。列解码器/位线驱动器506可以被配置为由控制逻辑单元512控制,并且通过施加从电压发生器510生成的位线电压来选择一个或多个nand存储器串308。
[0095]
行解码器/字线驱动器508可以被配置为由控制逻辑单元512控制,并且选择/取消选择存储器阵列301的存储块304并且选择/取消选择存储块304的字线318。行解码器/字线驱动器508还可以被配置为使用从电压发生器510生成的字线电压来驱动字线318。在一些实施方式中,行解码器/字线驱动器508还可以选择/取消选择并且驱动bsg线315和tsg线313。如下文详细描述的,行解码器/字线驱动器508被配置为对耦合到(一个或多个)选定字线318的存储单元306执行编程操作。电压发生器510可以被配置为由控制逻辑单元512控制,并且生成要被供应到存储器阵列301的字线电压(例如,读取电压、编程电压、通过电压、局部电压、验证电压等)、位线电压和源极线电压。
[0096]
在一些具体实施例中,所述编程操作可以包括多个步骤,示例性的,所述编程操作可以包括位线设定步骤、编程执行步骤、编程恢复步骤。在进行编程操作后,还需要执行编程验证操作;在进行编程验证操作后,还需要执行编程验证恢复操作。在执行编程操作的位线设定步骤的过程中,可以对于未被选择的字线将电压维持在地电压gnd。在执行编程操作的编程执行步骤的过程中,可以向未被选择的字线施加通过电压vpass,并且向被选择的字线施加编程电压vpgm。因此,可以对连接到被选择的字线的存储单元进行编程。在执行编程操作的编程恢复步骤的过程中,可以将施加在所有字线的电压降低到地电压gnd。
[0097]
在执行编程验证操作的过程中,可以向被选择的字线施加验证电压vvrf,向未被选择的字线施加读取电压vread。
[0098]
在执行编程验证恢复操作的过程中,可以对未被选择的字线以及被选中的字线均执行使电压下降到地电压gnd的恢复操作。
[0099]
控制逻辑单元512可以耦合到上文描述的每个外围电路,并且被配置为控制每个外围电路的操作。寄存器514可以耦合到控制逻辑单元512,并且包括状态寄存器、命令寄存器和地址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作码(op码)和命令地址。接口516可以耦合到控制逻辑单元512,并且充当控制缓冲器,以缓冲从主机(未示出)接收的控制命令并且并将其中继到控制逻辑单元512,以及缓冲从控制逻辑单元512接收的状态信息并且将其中继到主机。接口516还可以经由数据总线518耦合到列解码器/位线驱动器506,并且充当数据i/o接口和数据缓冲器,以缓冲数据并且将其中继到存储器阵列301或从存储器阵列301中继或缓冲数据。
[0100]
图6为本技术一实施例采用高编程初始电压与低编程初始电压进行编程操作在产品生命末期时的阈值电压分布对比示意图。图6中,横坐标表示的是阈值电压vt(左侧、右侧分别为擦除态、编程态的阈值电压),右边纵坐标表示的是字线wl(由上至下表示字线层的数值由低到高),左边纵坐标表示的是一字线wl中在相应阈值电压下的存储单元的计数值cnt(由下至上表示计数值由低到高)。
[0101]
这里及以下,所述高编程初始电压的范围可以理解为10v~25v,所述低编程初始电压的范围可以理解为0v~10v。示例性地,所述高编程初始电压例如20v为偏置电压,其参
考电压或接地电压gnd可以理解为0v。
[0102]
由于产品生命周期有寿命限制,主要体现在擦写循环次数的限制;存储器的存储单元在到了一定的擦写循环次数后就会受到破坏而影响数据的正常存取。
[0103]
这里及以下,产品生命末期可以理解为存储器的擦写循环次数已接近设计规范要求的擦写循环的总次数或者理论擦写循环的总次数(设计规范要求的擦写循环的总次数一般小于理论擦写循环的总次数),相对地,产品生命初期可以理解为存储器的擦写循环次数接近0次。
[0104]
由于在产品生命周期内,随着寿命接近上限,存储器的擦除速度和/或写速度、擦写性能等会逐渐降低,擦除能耗、读/写能耗等会逐渐增大。
[0105]
实际应用中,产品生命末期还可以理解为存储器的擦除速度和/或写速度已接近设计规范要求的擦除速度和/或写速度,相对地,产品生命初期还可以理解为存储器的擦写循环次数高于设计规范要求的擦除速度和/或写速度;产品生命末期还可以理解为存储器的擦写性能已接近设计规范要求的擦写性能,相对地,产品生命初期还可以理解为存储器的擦写性能高于设计规范要求的擦写性能等等。
[0106]
如图6中虚线为采用高编程初始电压进行编程操作,在产品生命末期时的阈值电压分布;实线为采用低编程初始电压进行编程操作,在产品生命末期时的阈值电压分布。从图6可以看出,在10万次擦写循环后,采用高编程初始电压进行编程操作后编程态的中值阈值电压(图6中竖直虚线1示出)相较于采用低编程初始电压进行编程操作后编程态的中值阈值电压(图6中竖直虚线2示出)明显出现了向右偏移的现象,换句话说,采用高编程初始电压进行编程操作,在10万次擦写循环后有明显的过编程问题,采用低编程初始电压进行编程操作,在10万次擦写循环后有没有过编程问题。
[0107]
在产品生命周期内,如果是对性能要求高的数据的存储器的存储单元,则采用粗粒度的脉冲进行编程(采用较高电压,较短时间的脉冲进行编程),可以通过降低寿命,以获取性能的提升。反之,对于是对性能要求较低的数据的存储器的存储单元,可以细粒度的脉冲编程(采用较低电压,较长的脉冲进行编程),可以通过降低性能,以获取寿命的提升。
[0108]
在高性能slc中,为了满足其高性能的要求,编程时只打一个脉冲,使得编程时间较常规slc更短,编程速度更快。但是,高性能slc的编程初始电压要比常规slc高很多,示例性地,相对于采用电压为5v、脉冲时间为280us的低编程初始电压,采用电压为20v、脉冲时间为70us的高编程初始电压会导致其预设擦写循环次数的降低,所以一般只要求高性能slc的预设擦写循环次数为3000次的擦写循环次数。也就是说,高性能slc通过调高其编程初始电压,以维持其高性能slc。但同时牺牲部分预设擦写循环次数。
[0109]
这里及以下,所述预设擦写循环次数可以理解为理论擦写循环次数;也可以理解为根据设计规范要求的理论擦写循环寿命。
[0110]
但是当对编程速度要求高时,需要用高性能slc替代常规slc使用,这样就需要满足较高的擦写循环次数的要求,比如10万次。这样,高性能slc的编程初始电压就要需要低一些,否则在其经过10万次擦写循环后会造成明显的过编程问题,如图6中的虚线所示;而编程初始电压降低后,10万次擦写循环后没有出现过编程的问题,如图6中实线所示。
[0111]
图7为本技术一实施例采用高编程初始电压与低编程初始电压进行编程操作在产品生命初期时的阈值电压分布对比示意图。图7中,横坐标表示的是阈值电压vt(左侧、右侧
分别为擦除态、编程态的阈值电压),右边纵坐标表示的是字线wl(由上至下表示远离源极的字线层的数值由低到高),左边纵坐标表示的是一字线wl中在相应阈值电压下的的存储单元的计数值cnt(由下至上表示计数值由低到高)。
[0112]
如图7中虚线为采用高编程初始电压进行编程操作,在产品生命初期时的阈值电压分布;实线为采用低编程初始电压进行编程操作,在产品生命初期时的阈值电压分布。从图7可以看出,采用低编程初始电压进行编程操作的编程初始电压比采用高编程初始电压进行编程操作的要低,造成在生命初期,采用低编程初始电压进行编程操作的编程态阈值电压比采用高编程初始电压进行编程操作的要低,读取窗口比采用高编程初始电压进行编程操作的要低小很多。
[0113]
可以理解的是,图7中阈值电压分布在小于0v的分布曲线表示擦除态的阈值电压分布,阈值电压分布在大于0.6v的分布曲线表示编程态的阈值电压分布。需要说明的是,这里的读取窗口可以理解为编程态的中值阈值电压与擦除态的中值阈值电压的电压差值,具体地,如图7所示,最高层wl(远离源极的最远处字线层)在采用高编程初始电压、低编程初始电压进行编程操作时的读取窗口分别为2.4v-(-1.7v)=4.1v、2.0v-(-1.7v)=3.7v,显然采用高编程初始电压的读取窗口4.1v比采用低编程初始电压进行编程操作时的读取窗口3.7v要大0.4v;需要说明的是,这里的读取窗口可以理解为编程态的中值阈值电压减去擦除态的中值阈值电压的电压值。
[0114]
综合图6和图7可知,在产品生命初期时,更应该关注改善读取窗口的问题,在产品生命末期时,更应该关注改善过编程的问题。如果只关注改善过编程的问题,可以对于需要满足10万次擦写循环要求的高性能slc的编程初始电压要比只需要满足3000次擦写循环的低0.5v,但是这样就会造成前者产品生命初期的编程态阈值电压较低,读取窗口较小,增加读取重试率(read retry rate),影响系统性能。如果只关注改善读取窗口的问题,可以对于高性能slc的编程初始电压要比常规slc的要高,但是高编程初始电压会导致其预设擦写循环次数的降低,这样就会造成前者产品生命周期短,影响系统性能。
[0115]
为了解决上述问题中的一个或多个,在本技术各实施例中,根据存储器的当前擦写循环次数动态地确定编程初始电压,也就是说,在不同的产品生命周期中施加不同的编程初始电压,在不同的产品生命周期中匹配最合适的编程初始电压。具体地,在产品生命初期时,可以设置较高的编程初始电压,随着擦写循环次数的增加,逐渐降低或者阶梯式降低编程初始电压,在产品生命末期时,可以设置较低的编程初始电压,可以理解的是,在产品生命初期,较高的编程初始电压可以使得编程态阈值电压足够高而读取窗口较大,可以降低读取重试率;随着擦写循环次数的增加,降低编程初始电压;在产品生命末期,较低的编程初始电压可以使得编程态的中值阈值电压相较于生命初期时发生较小偏移,从而可以改善过编程问题;如此,既保证了产品生命初期时的编程态阈值电压足够高,读取窗口足够大,又保证了产品生命末期时不会出现过编程问题。
[0116]
本技术实施例提供一种存储器的操作方法,图8为本技术一实施例提供的一种存储器的操作方法的实现流程示意图;参考图8,所述存储器的操作方法包括:
[0117]
步骤s801、接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;
[0118]
步骤s802、在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是
根据所述存储器的当前擦写循环次数确定的,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。
[0119]
在一些实施例中,所述存储器包括三维nand型存储器。
[0120]
所述三维nand存储器颗粒的存储单元包括一级单元slc,二级单元mlc,三级单元tlc,四级单元qlc。从slc至qlc中一个存储单元分别可以存储1、2、3、4比特数据,相对应的,nand存储器颗粒存储单元的电压状态分别为2个、4个、8个、16个。由于从slc至qlc的电压状态从2个变为16个,由于不同电压状态变多且越难控制,编程所用的时间变长,读写速度减小,造成电压状态稳定性降低,与此相对应的,理论擦循环写次数减少。例如,slc、mlc、tlc、qlc的理论擦写循环次数可以分别是10万次、3000次~10000次、500次~1000次、150次。虽然超过理论擦写循环次数后有的nand存储器颗粒的存储单元仍可以使用,但是已经造成存储比特数据不稳定。例如,slc的理论擦写循环次数可以是10万次,超过10万次后会造成slc明显的过编程问题。可以理解的是,本技术实施例中所采用的编程方法对于预设擦写循环次数较高的产品的改善效果愈发明显。本技术实施例中所采用的编程方法尤其适用于预设擦写循环次数较高的产品,例如slc、mlc。在一些实施例中,所述存储器的存储单元的存储位数包括一位,即存储单元为slc。这里,步骤s801和步骤s802的执行主体可以是存储器的外围电路。
[0121]
在步骤s801中,所述存储器的外围电路接收来自存储器系统或者主机发出的第一指令,以进入对存储器的选择字线耦接的存储单元进行编程操作的准备阶段。
[0122]
在步骤s802中,所述当前擦写循环次数可以理解为产品当前所处的实际擦写循环次数。所述预设擦写循环次数可以理解为在保证存储质量情况下可进行理论擦写循环的总次数,理论擦写循环次数的多少可以表征产品生命周期的长短。需要说明的是,在一些实施例中,擦除操作的最小执行对象是存储块,存储器中不同的存储块的当前擦写循环次数可能会存在差异,但是基于磨损均衡方法的使用,存储器中不同存储块的当前擦写循环次数差异很小,所以存储器的当前擦写循环次数可以视为与存储块的当前擦写次数相同。
[0123]
这里,施加在所述选择字线上的第一编程初始电压是根据当前擦写循环次数动态变化的,具体地,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。这里,所述逐渐降低可以理解为,随着擦写循环次数的增加,所述第一编程初始电压连续平滑的降低;所述阶梯式降低可以理解为,随着擦写循环次数的增加,所述第一编程初始电压降低时会存在一些平台,在这些平台时期,随着擦写循环次数的增加,所述第一编程初始电压不变,但是所述第一编程初始电压的整体趋势仍为随着擦写循环次数的增加,所述第一编程初始电压下降。
[0124]
在一些实施例中,所述在所述选择字线上施加第一编程初始电压,包括:
[0125]
在所述选择字线上施加一个脉冲的方式施加第一编程初始电压。
[0126]
这里,为了满足高编程速度的要求,可以在编程时只打一个脉冲。在另一些实施例中,还可以在第一编程初始电压的基础上,每次增加一个步进电压,以对选择字线耦接的存储单元进行编程操作,即采用步进式脉冲编程(ispp,incremental step pulse program)的方式进行编程。
[0127]
在一些实施例中,所述方法还包括:
[0128]
获取所述存储器的当前擦写循环次数;
[0129]
根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压;所述存储器的当前擦写循环次数所处的区间的平均值越大,所述第一编程初始电压越小;每一区间中包括至少一个擦写循环次数,所述区间中各擦写循环次数的平均值越大,所述区间的平均值越大。
[0130]
这里,所述存储器的预设擦写循环次数理解为存储器的整个生命周期,所述区间可以理解为所述预设擦写循环次数中的一部分。每一区间中包括至少一个擦写循环次数,话句话说,每一区间包括预设擦写循环次数中多个擦写循环次数形成的一个擦写循环范围。所述区间的平均值用于区分每个所述区间,同时所述区间中各擦写循环次数的平均值越大,所述区间的平均值越大。
[0131]
在一些实施例中,可以将预设擦写循环次数分为多个区间,例如,可以分为2个或3个或6个区间或者更多的区间。实际应用中,可以根据从产品生命初期至产品生命末期的阈值电压分布的特点将预设擦写循环次数分为多个适当的区间,以针对性的调整初始编程电压。示例性地,将所述存储器的预设擦写循环次数分为三个区间,即产品生命初期、产品生命中期、产品生命末期3个区间。
[0132]
需要说明的是,这里及以下,所述区间的平均值,实质上是为了对多个所述区间进行赋值以区分或者代表不同的多个所述区间。所述区间的平均值可以按照字面意思理解为所述区间中各擦写循环次数的值总和后的平均值;也可以对其进行实质性的扩大解释为所述区间中部分擦写循环次数的值总和后的平均值,或者是所述区间中某一擦写循环次数的值(例如所述区间中处于端点的擦写循环次数的值)。实际应用中,还可以对所述区间的平均值赋值一个具有代表意义的值,例如,可以将多个所述区间分别以值1、2、3、4、5、6等表示。
[0133]
以下,将所述区间的平均值以所述区间中各擦写循环次数的值总和后的平均值进行说明,仅在于描述具体实施例并且不作为本技术的限制。
[0134]
示例性地,以存储器的预设擦写循环次数10万次为例,将存储可以将存储器的预设擦写循环次数可以分为6个区间,例如分为第1区间~第6区间的6个区间,依次为0次~1.5万次、1.5万次~3万次、3万次~4.5万次、4.5万次~6万次、6万次~8万次、8万次~10万次。每一区间中包括至少一个擦写循环次数,所述区间中各擦写循环次数的平均值越大,所述区间的平均值越大。
[0135]
如,第1区间的平均值~第6区的平均间的值分别为0.75万次、2.25万次、3.75万次、5.25万次、7万次、9万次;也可以分别为0万次、1.5万次、3万次、4.5万次、6万次、8万次。实际应用中,第1区间的平均值~第6区的平均间的值还可以分别以值1、2、3、4、5、6表示。
[0136]
在一些实施例中,将零至预设擦写循环次数依次分为n个区间;所述在所述选择字线上施加第一编程初始电压,包括:
[0137]
在当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一编程初始电压为v1;
[0138]
在当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一编程初始电压为v1-a*(i-1);
[0139]
其中,所述n、i为正整数,且n>1,n≥i>1;所述v1、a、v1-a*(i-1)均为正数。
[0140]
这里,所述n为q区间的总数量。可以理解的是,区间的总数量n可以比较多,也可以
比较少。越多的分区对应的第一编程初始电压的控制方案的实现越复杂(至少需要产生更多种不同的电压),但调整相对比较精细,从而调整效果比较有针对性;越少的分区,对应的第一编程初始电压的控制方案的实现越简单,但调整相对比较粗糙,实际应用中可以根据实际情况需要权衡选择。这里,所述v1为当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一初始编程电压;所述a为电压增量值;所述v1-a*(i-1)为当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一初始编程电压。
[0141]
在一些具体实施例中,电压增量值a的范围可以可以根据实际情况进行调整。示例性地,电压增量值a可以为0.01v、0.05v、0.08v、0.1v、0.12v、0.15v、0.2v、0.25v、0.5v等。示例性地,电压增量累计值a*(i-1)的范围可以为0.1v~0.7v。示例性地,电压增量累计值a*(i-1)可以为0.1v、0.15v、0.2v、0.25v、0.3v、0.35v、0.4v、0.5v、0.6v、0.7v。
[0142]
在一些实施例中,根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压,包括:
[0143]
根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,结合第一映射表,确定所述第一编程初始电压;其中,所述第一映射表包括所述零至预设擦写循环次数内各擦写循环次数所属的区间与编程初始电压之间的关系。
[0144]
也就是说,在一些实施例中可以在获得所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间后,可以通过查表的方式获得所述第一编程初始电压。在一些具体实施中,所述第一映射表可以存储在存储器的外围电路的寄存器中。
[0145]
示例性地,预设擦写循环次数可以分为第1区间~第6区间的6个区间,所述第一映射表包括第1区间~第6区间以及与之相对应的第一编程初始电压之间。
[0146]
在一些实施例中,所述方法还包括:
[0147]
确定所述第一映射表。
[0148]
在一些实施例中,所述确定所述第一映射表,包括:
[0149]
在当前擦写循环次数小于第一预设次时,在选择字线上施加第二编程初始电压,记录存储单元对应的初始阈值电压分布;
[0150]
保持在选择字线上施加所述第二编程初始电压,在当前擦写循环次数每增加第二预设次的擦写循环时,记录一次所述存储单元对应的阈值电压分布,直至当前擦写循环次数增加至所述预设擦写循环次数,形成阈值电压分布集合;
[0151]
根据所述第一预设次、所述第二预设次、所述初始阈值电压分布以及所述阈值电压分布集合,确定所述第一映射表。
[0152]
这里,所述当前擦写循环次数小于第一预设次可以理解为当前擦写循环次数比较少,在一些具体实施例中,所述第一预设次可以根据实际情况进行调整,示例性地,所述第一预设次可以为1000。所述第二预设次可以理解为增量,所述第二预设次可以根据实际的经验值进行调整,示例性地,所述第二预设次可以为5000。
[0153]
在一些具体实施例中,所述根据所述第一预设次、所述第二预设次、所述初始阈值电压分布以及所述阈值电压分布集合,确定所述第一映射表,包括:
[0154]
收集到第一次擦写循环时所述存储单元的初始阈值电压分布,以及每隔k次(第二预设次)擦写循环收集一次所述存储单元的阈值电压,收集到j个所述阈值电压数据(阈值电压分布集合);k、j为大于1的正整数;
[0155]
其中,第j个阈值电压相对于所述初始阈值电压增加的电压幅度为第一幅度值,第(j*k+1)次擦写循环所对应的所述编程初始电压相对于第一次擦写循环所对应的所述编程初始电压降低的电压幅度为第二幅度值,所述第一幅度值与所述第二幅度值基本相当。
[0156]
也就是说,第一映射表中不同区间间对应的第一初始编程电压的差值可以由相应次擦写循环所对应的存储单元的阈值电压分布的偏移来决定。由于存储单元的阈值电压分布的偏移是在擦写循环次数增加时,逐渐体现出来的,所述第一初始编程电压也需要逐渐或阶梯式发生变化。示例性地,所述随着所述擦写循环次数的增加,在当前擦写循环次数下收集到的阈值电压相对于初始阈值电压累计增加达到0.1v,则对应的所述编程初始电压相对于第一次擦写循环所对应的所述编程初始电压降低0.1v。
[0157]
在一些实施例中,所述第一映射表中所述零至预设擦写循环次数内各擦写循环次数所属的区间的平均值与编程初始电压之间的呈线性关系。示例性地,将所述区间划分的5个区间,依次为0次~2万次、2万次~4万次、4万次~6万次、6万次~8万次、8万次~10万次。每个所述区间中包含的各擦写循环次数的值均相等,也就是说每个所述区间区间范围均相等,这样所述区间的平均值依次为取值为1万次、3万次、5万次、7万次、9万次,对应的所述第一编程初始电压分别为:v1、v1-0.1v、v1-0.2v、v1-0.3v、v1-0.4v、v1-0.5v。
[0158]
在另一些实施例中,所属的区间的平均值与编程初始电压之间的也可以是非线性关系。示例性地,将所述区间划分的5个区间为例,依次为0次~2万次、2万次~4万次、4万次~6万次、6万次~8万次、8万次~10万次。每个所述区间中包含的各擦写循环次数的值均相等,也就是说每个所述区间区间范围均相等,这样所述区间的平均值依次取值为1万次、3万次、5万次、7万次、9万次,对应的所述编程初始电压可以为v1、v1-0.1v、v1-0.3v、v1-0.3v、v1-0.5v、v1-0.5v。
[0159]
在一些实施例中,每一区间中包括多个擦写循环次数,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同或者不同。
[0160]
对于分区,具体还是需要参照相应次擦写循环差值所对应的存储单元的阈值电压分布的偏移。
[0161]
如果相应次擦写循环差值所对应的存储单元的阈值电压分布的偏移是非性的,则每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以设置为不同。示例性地,预设擦写循环次数可以分为第1区间~第6区间的6个区间,具体分别为0次~1.5万次,1.5万次~3万次,3万次~4.5万次,4.5万次~6万次,6万次~8万次,8万次~10万次,此时每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值为1.5万次或2万次。
[0162]
如果相应次擦写循环差值所对应的存储单元的阈值电压分布的偏移是线性的,则每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以设置为相同。示例性地,预设擦写循环次数可以分为第1区间~第5区间的5个区间,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同,具体分别为0次~2万次,2万次~4万次,4万次~6万次,6万次~8万次,8万次~10万次,此时每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值均为2万次。
[0163]
下面结合存储器的某一从产品生命初期至产品生命末期的阈值电压分布的变化数据来具体进行说明。
[0164]
图9为本技术一实施例从产品生命初期至产品生命末期的阈值电压分布的中值数
据点及其二元拟合直线示意图。
[0165]
这里,阈值电压分布满足范围三西格玛准则,即在(μ-3σ,μ+3σ)中,这里σ代表在正态分布中标准差,μ=median vt代表阈值电压均值也就是中值阈值电压,可以认为,阈值电压的取值几乎全部集中在(μ-3σ,μ+3σ)区间内。
[0166]
如图9中黑点为在某一擦写循环次数下对应的中值阈值电压值,黑直线为阈值电压分布的中值数据点(median vt)与擦写循环次数(cyc)关系的二元拟合直线,黑方形线框中的黑点为在一定擦写循环次数的区间内阈值电压保持为一个相对固定的值而并未有明显的偏移增大。
[0167]
示例性地,假设10万次擦写循环要求的高性能slc编程初始电压记作vpgm1,3000次擦写循环要求的编程初始电压记作vpgm2,一种编程初始电压的设置是vpgm2-vpgm1=0.5v。
[0168]
本技术各实施例是基于编程的速度会随着擦写循环次数的增加变得越来越快,这样在产品生命初期到末期的过程中,编程初始电压是可以逐渐降低或者阶梯式降低。
[0169]
在一具体的实施例中,在产品生命初期时可以先设置初始编程电压为vpgm2,然后根据阈值电压数据趋势,在0到10万次擦写循环的过程中,阶梯式降低编程初始电压,直至产品生命末期时,设置的初始编程电压变为vpgm1。在0到10万次擦写循环的过程中,可以每隔5000次的擦写循环次数收集一次的阈值电压数据,如果阈值电压每增加0.1v,初始编程电压就降低0.1v,直至产品生命末期时设置的初始编程电压变为vpgm1,如阈值电压累计增加0.5v,初始编程电压就累计降低0.5v,即vpgm2-vpgm1的值为0.5v。
[0170]
在一具体的实施例中,根据阈值电压数据趋势(可以参考上图9),选取六个电压区间,如下表1所示,以slc的预设擦写循环次数为10万次擦写循环次数为例,将slc的预设擦写循环次数可以第1区间~第6区间的6个区间,具体分别为0次~1.5万次,1.5万次~3万次,3万次~4.5万次,4.5万次~6万次,6万次~8万次,8万次~10万次。且电压增量值a的范围为0.1v,电压增量累计值a*(i-1)的范围为0.5v,在当前擦写循环次数分别处于第1区间~第6区间时,在所述选择字线上施加编程电压(vpgm)为第一编程初始电压v1、第二编程初始电压v1-0.1v、第三编程初始电压v1-0.2v、第四编程初始电压v1-0.3v、第五编程初始电压v1-0.4v、第六编程初始电压v1-0.5v。
[0171]
表1
[0172]
区间cycvpgm第1区间0~1.5万v1第2区间1.5万~3万v1-0.1v第3区间3万~4.5万v1-0.2v第4区间4.5万~6万v1-0.3v第5区间6万~8万v1-0.4v第6区间8万~10万v1-0.5v
[0173]
图10为本技术一实施例采用优化方法进行编程在产品生命初期与产品生命末期时的阈值电压分布与读取电压的示意图。
[0174]
如图10中虚线为采用优化方法进行编程在产品生命初期的阈值电压分布;实线为采用优化方法进行编程在产品生命末期时的阈值电压分布。从图10可以看出,在10万次预
设擦写循环次数过程中,采用优化方法进行编程(可以理解为采用变化的编程初始电压进行编程操作,这里及下文简称为优化方法)在产品生命初期的中值编程态阈值电压(图10中竖直虚线1示出)足够高,使得读取窗口较大,这样可以降低读取重试率,提升存储器的系统性能;同时,采用优化方法进行编程在产品生命末期的编程态的中值阈值电压(图10中竖直虚线2示出)相对于在产品生命初期的编程态的中值阈值电压(图10中竖直虚线1示出)基本上没有发生偏移而增大,也就是说,在产品生命末期并没有造成过编程问题。
[0175]
图11为本技术一实施例采用高编程初始电压与低编程初始电压进行编程操作在产品生命末期时的阈值电压分布与读取电压的示意图。
[0176]
如图11中虚线为采用高编程初始电压进行编程操作在产品生命末期时的阈值电压分布;实线采用低编程初始电压进行编程操作在产品生命末期时的阈值电压分布。从图11可以看出,在10万次擦写循环后,采用高编程初始电压进行编程操作后编程态的中值阈值电压(图11中竖直虚线1示出)相较于采用低编程初始电压进行编程操作后编程态的中值阈值电压(图11中竖直虚线2示出)明显出现了向右偏移的现象,换句话说,采用高编程初始电压与低编程初始电压进行编程操作的方法(可以理解为采用单一不变的高编程初始电压或低编程初始电压进行编程操作,这里及下文简称为传统方法),采用高编程初始电压进行编程操作在产品生命末期的编程态的中值阈值电压相对于采用低编程初始电压进行编程操作在产品生命末期的编程态的中值阈值电压发生偏移而增大,编程态的阈值电压分布更宽,将降低每个编程态的读取窗口,导致存储器误读的概率增加,因而在生命末期增加了读取重试率。
[0177]
图10是采用变化的编程初始电压进行编程操作(优化方法)后进行测试得到的阈值电压分布图,可以看出:其在生命末期没有出现过编程问题,并且读取窗口比图11的采用单一不变的编程初始电压进行编程操作(传统方法)要大,其在生命末期不需要读取重试(目前的读电压vrd=0.3v),而图11采用传统方法在生命末期有较高的读取重试率。
[0178]
图12为本技术一实施例采用单一不变的编程初始电压进行编程操作(传统方法方法)、变化的编程初始电压进行编程操作(优化方法)在产品生命末期时的读取窗口对比示意图。图12中,横坐标表示的是字线wl(由左至右表示字线层的数值由低到高),图中上半部分、下半部分的纵坐标分别表示为编程态的读取窗口、擦除态的读取窗口;图中上半部分表示的是每一字线wl中存储单元的编程态的读取窗口分布范围及其平均值;图中下半部分表示的是每一字线wl中存储单元的擦除态的读取窗口分布范围及其平均值。
[0179]
如图12所示,虚线或空心黑圈为采用单一不变的编程初始电压进行编程操作在产品生命末期时的读取窗口示意图;实线或实心黑点为变化的编程初始电压进行编程操作在产品生命末期时的读取窗口示意图。
[0180]
图12中上半部分的纵轴e0_mrg表示为编程态的读取窗口,编程态的读取窗口可以理解为编程态阈值电压分布中的中值阈值电压值减去读取电压的电压差值(参考上图10,目前的读电压vrd=0.3v);对比可以看出,采用优化方法进行编程操作在产品生命末期时的读取窗口大于采用传统方法进行编程操作在产品生命末期时的读取窗口。
[0181]
图12中下半部分的纵轴e1_mrg表示为擦除态的读取窗口,擦除态的读取窗口可以理解为读取电压减去擦除态阈值电压分布中的中值阈值电压的电压差值(参考上图10,目前的读电压vrd=0.3v);对比可以看出,采用优化方法进行编程操作在产品生命末期时的
读取窗口大于采用传统方法进行编程操作在产品生命末期时的读取窗口。更具体地,采用优化方法在生命末期的擦除态的读取窗口和编程态的读取窗口均比采用传统方法大。
[0182]
本技术实施例提供了一种存储器及其操作方法,包括:接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数确定的,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。本技术各实施例中,根据存储器的当前擦写循环次数动态地确定编程初始电压,也就是说,在不同的产品生命周期中施加不同的编程初始电压,在不同的产品生命周期中匹配最合适的编程初始电压。具体地,在产品生命初期时,可以设置较高的编程初始电压,随着擦写循环次数的增加,逐渐降低或者阶梯式降低编程初始电压,在产品生命末期时,可以设置较低的编程初始电压,可以理解的是,在产品生命初期,较高的编程初始电压可以使得编程态阈值电压足够高而读取窗口较大,可以降低读取重试率;随着擦写循环次数的增加,降低编程初始电压;在产品生命末期,较低的编程初始电压可以使得编程态的中值阈值电压相较于生命初期时发生较小偏移,从而可以改善过编程问题;如此,既保证了产品生命初期时的编程态阈值电压足够高,读取窗口足够大,又保证了产品生命末期时不会出现过编程问题。
[0183]
基于前述存储器的操作方法,本技术实施例的又提供一种存储器,所述存储器包括存储器阵列以及与所述存储器阵列耦接的外围电路;
[0184]
所述外围电路被配置为:
[0185]
接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;
[0186]
在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数确定的。
[0187]
在一些具体实施例中,所述外围电路包括:控制逻辑、与所述控制逻辑耦接且被所述控制逻辑控制的电压产生器,以及所述控制逻辑耦接且被所述控制逻辑控制的行驱动器;其中,
[0188]
所述控制逻辑被配置为:接收到第一指令;响应于第一指令,控制所述电压产生器,产生编程初始电压;控制所述行驱动器,将产生的编程初始电压施加到所述选择字线上。
[0189]
在一些实施例中,所述外围电路被配置为:
[0190]
获取所述存储器的当前擦写循环次数;
[0191]
根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压;所述存储器的当前擦写循环次数所处的区间的平均值越大,所述第一编程初始电压越小;每一区间中包括至少一个擦写循环次数,所述区间中各擦写循环次数的平均值越大,所述区间的平均值越大。
[0192]
在一些实施例中,将零至预设擦写循环次数依次分为n个区间;所述外围电路被配置为:
[0193]
在当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一编程初始电压为v1;
[0194]
在当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一编程初始电
压为v1-a*(i-1);
[0195]
其中,所述n、i为正整数,且n>1,n≥i>1;所述v1、a、v1-a*(i-1)均为正数。
[0196]
在一些实施例中,所述外围电路被配置为:
[0197]
根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,结合第一映射表,确定所述第一编程初始电压;其中,所述第一映射表包括所述零至预设擦写循环次数内各擦写循环次数所属的区间与编程初始电压之间的关系。
[0198]
在一些实施例中,所述外围电路包括寄存器,所述寄存器用于存储所述第一映射表。
[0199]
在一些实施例中,所述第一映射表中所述零至预设擦写循环次数内各擦写循环次数所属的区间的平均值与编程初始电压之间的呈线性关系。
[0200]
在一些实施例中,每一区间中包括多个擦写循环次数,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同或者不同。
[0201]
在一些实施例中,所述存储器包括三维nand型存储器。实际应用中,存储器可以是半导体存储器,包括但不限于三维nand闪存(nand flash memory)、垂直nand闪存(vertical nand flash memory)、nor闪存(nor flash memory)、动态随机存储器(dynamic random access memory,dram)、铁电随机存储器(ferroelectric random access memory,fram)、磁性随机存储器(magnetoresistive random access memory,mram)、相变随机存储器(phase change random access memory,pcram)、阻变随机存储器(resistive random access memory,rram)或纳米随机存储器(nano random access memory,nram)等。
[0202]
在一些实施例中,所述存储器的存储单元的存储位数包括一位。
[0203]
在一些实施例中,预设擦写循环次数为10万次,将零至预设擦写循环次数依次分为6个区间;所述外围电路被配置为:
[0204]
在当前擦写循环次数处于[0,1.5万)区间时,在所述选择字线上施加的第一编程初始电压为v1;所述v1为正数;
[0205]
在当前擦写循环次数处于[1.5万,3万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.1;
[0206]
在当前擦写循环次数处于[3万,4.5万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.2;
[0207]
在当前擦写循环次数处于[4.5万,6万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.3;
[0208]
在当前擦写循环次数处于[6万,8万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.4;
[0209]
在当前擦写循环次数处于[8万,10万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.5。
[0210]
这里,关于存储器的具体结构及组成可以参照前述存储器的操作方法涉及的相关结构及组成,这里不再赘述。
[0211]
根据本技术实施例的再一方面,提供一种存储器系统,包括:
[0212]
一个或多个如上述方案中所述的存储器;以及
[0213]
存储器控制器,其与所述存储器耦接并控制所述存储器。
[0214]
这里,关于存储器系统的具体结构及组成可以参照前述图1、图2a、图2b中的存储器系统102的相关结构及组成,这里不再赘述。
[0215]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0216]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0217]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种存储器的操作方法,其特征在于,包括:接收到第一指令;所述第一指令指示对所述存储器的选择字线耦接的存储单元进行编程操作;在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数确定的,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述存储器的当前擦写循环次数;根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压;所述存储器的当前擦写循环次数所处的区间的平均值越大,所述第一编程初始电压越小。3.根据权利要求2所述的方法,其特征在于,将零至预设擦写循环次数依次分为n个区间;所述在所述选择字线上施加第一编程初始电压,包括:在当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一编程初始电压为v1;在当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一编程初始电压为v1-a*(i-1);其中,所述n、i为正整数,且n>1,n≥i>1;所述v1、a、v1-a*(i-1)均为正数。4.根据权利要求2所述的方法,其特征在于,根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压,包括:根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,结合第一映射表,确定所述第一编程初始电压;其中,所述第一映射表包括所述零至预设擦写循环次数内各擦写循环次数所属的区间与编程初始电压之间的关系。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:确定所述第一映射表。6.根据权利要求5所述的方法,其特征在于,所述确定所述第一映射表,包括:在当前擦写循环次数小于第一预设次时,在选择字线上施加第二编程初始电压,记录存储单元对应的初始阈值电压分布;保持在选择字线上施加所述第二编程初始电压,在当前擦写循环次数每增加第二预设次的擦写循环时,记录一次所述存储单元对应的阈值电压分布,直至当前擦写循环次数增加至所述预设擦写循环次数,形成阈值电压分布集合;根据所述第一预设次、所述第二预设次、所述初始阈值电压分布以及所述阈值电压分布集合,确定所述第一映射表。7.根据权利要求4所述的方法,其特征在于,每一区间中包括多个擦写循环次数,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同或者不同。8.根据权利要求1所述的方法,其特征在于,所述在所述选择字线上施加第一编程初始电压,包括:在所述选择字线上通过施加一个脉冲电压的方式施加第一编程初始电压,以对选择字线耦接的存储单元进行编程操作。
9.一种存储器,其特征在于,所述存储器包括存储器阵列以及与所述存储器阵列耦接的外围电路;所述外围电路被配置为:接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数确定的。10.根据权利要求9所述的存储器,其特征在于,所述外围电路被配置为:获取所述存储器的当前擦写循环次数;根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,确定所述第一编程初始电压;所述存储器的当前擦写循环次数所处的区间的平均值越大,所述第一编程初始电压越小;每一区间中包括至少一个擦写循环次数,所述区间中各擦写循环次数的平均值越大,所述区间的平均值越大。11.根据权利要求10所述的存储器,其特征在于,将零至预设擦写循环次数依次分为n个区间;所述外围电路被配置为:在当前擦写循环次数处于第1区间时,在所述选择字线上施加的第一编程初始电压为v1;在当前擦写循环次数处于第i区间时,在所述选择字线上施加的第一编程初始电压为v1-a*(i-1);其中,所述n、i为正整数,且n>1,n≥i>1;所述v1、a、v1-a*(i-1)均为正数。12.根据权利要求10所述的存储器,其特征在于,所述外围电路被配置为:根据所述存储器的当前擦写循环次数在零至预设擦写循环次数内所处的区间,结合第一映射表,确定所述第一编程初始电压;其中,所述第一映射表包括所述零至预设擦写循环次数内各擦写循环次数所属的区间与编程初始电压之间的关系。13.根据权利要求12所述的存储器,其特征在于,所述外围电路包括寄存器,所述寄存器用于存储所述第一映射表。14.根据权利要求12所述的存储器,其特征在于,每一区间中包括多个擦写循环次数,每一区间中包括的最大擦写循环次数与最小擦写循环次数的差值可以相同或者不同。15.根据权利要求9所述的存储器,其特征在于,所述存储器包括三维nand型存储器。16.根据权利要求15所述的存储器,其特征在于,所述存储器的存储单元的存储位数包括一位。17.根据权利要求16所述的存储器,其特征在于,所述存储器的预设擦写循环次数为10万次,将零至预设擦写循环次数依次分为6个区间;所述外围电路被配置为:在当前擦写循环次数处于[0,1.5万)区间时,在所述选择字线上施加的第一编程初始电压为v1;所述v1为正数;在当前擦写循环次数处于[1.5万,3万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.1;在当前擦写循环次数处于[3万,4.5万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.2;
在当前擦写循环次数处于[4.5万,6万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.3;在当前擦写循环次数处于[6万,8万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.4;在当前擦写循环次数处于[8万,10万)区间时,在所述选择字线上施加的第一编程初始电压为v1-0.5。18.一种存储器系统,包括:一个或多个如权利要求9至17中任一项所述的存储器;以及存储器控制器,其与所述存储器耦接并控制所述存储器。
技术总结
本申请实施例提供一种存储器及其操作方法、存储器系统,其中,所述存储器的操作方法,包括:接收到第一指令;所述第一指令指示对存储器的选择字线耦接的存储单元进行编程操作;在所述选择字线上施加第一编程初始电压;所述第一编程初始电压是根据所述存储器的当前擦写循环次数,随着擦写循环次数的增加,逐渐降低或者阶梯式降低所述第一编程初始电压。本申请各实施例中,根据存储器的当前擦写循环次数确定的第一编程初始电压,也就是说在不同的产品生命周期中施加不同的编程初始电压,在不同的产品生命周期中匹配最合适的编程初始电压,使得整个产品生命周期中的整体编程效率得以提高。提高。提高。
技术研发人员:
周文明 魏华征
受保护的技术使用者:
长江存储科技有限责任公司
技术研发日:
2022.07.05
技术公布日:
2022/10/11