本文作者:kaifamei

非易失性存储器的程序循环中的下一状态验证的触发的制作方法

更新时间:2025-01-10 23:41:58 0条评论

非易失性存储器的程序循环中的下一状态验证的触发的制作方法


非易失性存储器的程序循环中的下一状态验证的触发


背景技术:



1.本发明技术涉及存储器装置的操作。半导体存储器装置在各种电子装置中的使用已经越来越普遍。举例来说,非易失性半导体存储器用于蜂窝电话、数字相机、个人数字助理、移动计算装置、非移动计算装置和其它装置中。存储器装置始终致力于提高操作效率和速度。


技术实现要素:



2.本文中描述用于操作nand、bics存储器等非易失性存储器的各种实施例。
3.根据本公开的一方面,提供一种设备,其包含配置成存储多个状态的多个存储器单元。所述设备进一步包含存储器控制器,所述存储器控制器可操作地连接到多个存储器单元以控制其中的数据存储。控制器配置成将编程控制信号施加到选定位线,以对多个存储器单元中的选定存储器单元进行编程,且将禁止控制信号施加到多个存储器单元中的未选定存储器单元,以阻止对未选定存储器单元进行编程。控制器进一步配置成在将初始编程脉冲施加到选定存储器单元之后,停用施加到选定位线的均衡信号。控制器进一步配置成在达到编程脉冲的阈值数目后立即启用施加到选定位线的均衡信号。
4.根据本公开的另一方面,存储器控制器配置成将编程脉冲的阈值设置为某一数值,在此数值下,多个存储器单元中的至少一半编程到相应最终存储器状态。
5.根据本公开的另一方面,存储器控制器进一步配置成停用均衡信号以减少电力消耗且减少禁止存储器单元干扰。
6.根据本公开的又一方面,存储器控制器配置成控制单层级单元的编程且针对第一编程脉冲停用均衡信号。
7.根据本公开的另一方面,存储器控制器配置成在第二编程脉冲或稍后编程脉冲之后启用位线均衡。
8.根据本公开的又一方面,存储器控制器配置成通过针对预定编程脉冲选择性地启用和停用均衡信号而控制部分页上的单层级单元的编程。
9.根据本公开的又一方面,存储器控制器配置成控制三层级单元的编程且针对前三个编程脉冲停用均衡信号。
10.根据本公开的另一方面,存储器控制器配置成在完成c层级编程之后启用均衡。
11.根据本公开的又一方面,存储器控制器配置成在完成f层级编程之后停用均衡。
12.根据本公开的又一方面,存储器控制器配置成控制四层级单元的编程,针对至少第一编程脉冲停用均衡信号,在完成s7编程之后启用均衡信号,且在完成s13编程之后停用均衡信号。
13.根据本公开的另一方面,存储器控制器配置成使用mls/精细编程来控制对四层级单元的编程,针对至少第一编程脉冲停用均衡信号,在完成a编程之后启用均衡信号,且在完成c编程之后停用均衡信号。
14.本公开的又一方面涉及一种非易失性存储器控制方法。所述方法包含以下步骤:
将选择控制信号施加到选定位线,以对多个存储器单元中的选定存储器单元寻址,从而对选定存储器单元进行编程。所述方法继续进行到以下步骤:将禁止控制信号施加到多个存储器单元中的未选定存储器单元,以阻止对未选定存储器单元进行编程。所述方法继续进行到以下步骤:停用选定位线的放电,直到初始编程脉冲被施加到选定存储器之后为止。所述方法继续进行到以下步骤:在达到编程脉冲的阈值后立即启用选定位线的放电。
15.根据本公开的另一方面,启用选定位线的放电的步骤包含在使位线放电之前,将位线均衡到vddsa。
16.根据本公开的又一方面,所述方法进一步包含以下步骤:将编程脉冲的阈值设置为某一数值,在此数值下,存储器单元中的至少一半编程到相应最终存储器状态。
17.根据本公开的又一方面,所述方法进一步包含以下步骤:控制对单层级单元编程,且其中停用选定位线的放电包含针对第一编程脉冲停用放电。
18.根据本公开的另一方面,所述方法进一步包含以下步骤:控制三层级单元的编程,且其中停用选定位线的放电包含针对前三个编程脉冲停用位线的放电。
19.根据本公开的又一方面,启用选定位线的放电进一步包含在完成c编程之后,启用已停用位线进行放电。
20.根据本公开的又一方面,停用选定位线的放电的步骤包含在完成f编程之后停用先前启用的位线。
21.本公开的又一方面涉及一种非易失性存储器控制方法。所述方法包含以下步骤:将编程脉冲计数设置为零。所述方法继续进行到以下步骤:在编程电平下利用位线执行编程脉冲。所述方法继续进行到以下步骤:使编程脉冲计数递增。在编程脉冲计数低于第一阈值的情况下,所述方法继续进行到以下:停用编程脉冲之间的位线放电,且接着通过返回到在编程电平下利用位线执行编程脉冲来执行后续编程脉冲。在编程脉冲计数处于或高于第一阈值的情况下,所述方法继续进行到以下步骤:启用编程脉冲之间的位线放电,且接着返回到在编程电平下利用位线执行编程脉冲且使编程脉冲计数递增。在编程脉冲计数高于第二阈值的情况下,所述方法继续到以下:停用编程脉冲之间的位线放电。
22.根据本公开的另一方面,执行编程脉冲的步骤包含针对qlc存储器执行编程脉冲、在s7编程脉冲电平下设置第一阈值以及在s13编程脉冲电平下设置第二阈值。
附图说明
23.下文参考附图中示出的特定实施例包含更具体的描述。应理解,这些附图仅描绘了本公开的某些实施例,因此不应被认为是对其范围的限制,通过使用附图,以额外的特征和细节来描述和解释本公开,在附图中:
24.图1示出根据实例实施例的包含位线和字线的存储器单元阵列的实施例;
25.图2示出根据实例实施例的nand配置中的三维(3d)存储器的图;
26.图3示出说明根据实例实施例的3d竖直存储器结构的实施例的示意性框图;
27.图4示出展示根据实例实施例的3d存储器块的俯视图的图;
28.图5示出根据实例实施例的用于图4的3d存储器块的感测放大器组的阵列;
29.图6示出说明根据实例实施例的存储器系统的实施例的示意性框图;
30.图7示出用于存储器单元子组识别和选择的非易失性存储器装置的示意性框
图;
31.图8示出根据实例实施例的存储器的示意图;
32.图9示出根据实例实施例的存储器的示意图;
33.图10示出根据实例实施例的存储器过程;
34.图11示出根据实例实施例的存储器过程;
35.图12示出根据实例实施例的存储器过程;
36.图13示出根据实例实施例的存储器过程;
37.图14示出根据实例实施例的存储器过程;
38.图15示出根据实例实施例的简化时序图;
39.图16示出用于存储器单元的阈值电压分布;
40.图17示出描述数据值到数据状态的分配的一个实例的表;
41.图18是描述用于编程的过程的一个实施例的流程图;
42.图19是描述用于将数据编程到连接到公共字线的存储器单元中的过程的一个实施例的流程图;以及
43.图20描绘编程和验证操作期间的字线电压;以及
具体实施方式
44.本发明描述用于控制非易失性存储器的编程操作以至少部分地基于被编程到相关联存储器单元中的数据模式而调整位线(bl)放电方案的系统和方法。在实例实施例中,存储器控制器电路系统可以基于编程脉冲数目和数据完成信号来预测编程数据模式。本文中所描述的实施例将通过控制电压均衡启用时间来减小位线放电时间,从而改进编程时间(tprog)。本发明方法可使得能够消除编程干扰。在具有多于一个数据位的操作多层级单元(例如,三层级单元)程序中,控制器电路系统可在位线上的编程期间启用均衡数据锁存器电压(eqvddsa)且使其与vddsa相等,接着放电。在单层级单元(slc)的操作中,编程信号启用(eqvddsa_prog)仅在第一编程脉冲中使用。用于单层级单元和多层级单元两者的编程操作各自使用各自包含编程脉冲和验证操作的多个循环。
45.每一存储器单元可根据编程命令中的写入数据与存储器状态相关联,所述编程命令具有编程脉冲和验证的多个循环。如本文所使用,“存储器状态”为可用于表示数据值的存储器单元的可检测特性(例如,nand存储器单元的阈值电压、reram存储器单元的电阻、磁阻随机存取存储器的磁化状态),所述数据值例如包含多于一个二进制位的二进制数据值。如本文所使用,用于表示数据值的存储器单元的可检测特性被称为“编程特性”。基于编程命令中的写入数据,存储器单元将保持处于擦除状态或编程为不同于擦除状态的存储器状态(编程存储器状态)。
46.举例来说,在每单元两位(mlc)存储器装置中,存在包含擦除状态和三个编程存储器状态的四个存储器状态。在每单元三位(tlc)存储器装置中,存在包含擦除状态和七个编程存储器状态的八个存储器状态。在每单元四位(qlc)存储器装置中,存在包含擦除状态和十五个编程存储器状态的十六个存储器状态。将所述单元编程到这些存储器状态中的每一个需要编程脉冲和验证阶段的多个循环。
47.在发出编程命令时,写入数据存储在与存储器单元相关联的数据锁存器中。举例
来说,在每单元两位存储器装置中,每一存储器单元与存储用于存储器单元的两位写入数据的两个数据锁存器(例如,dl1、dl2)相关联。同样地,在每单元三位存储器装置中,每一存储器单元与存储用于存储器单元的三位写入数据的三个数据锁存器(例如,dl1、dl2、dl3)相关联。类似地,在每单元四位存储器装置中,每一存储器单元与存储用于存储器单元的四位写入数据的四个数据锁存器(例如,dl1、dl2、dl3、dl4)相关联。在第10,535,401号美国专利中可以到数据锁存器的实例,所述美国专利以引用的方式并入本文中。
48.图1描绘被布置为存储器阵列126中的nand快闪存储器单元的存储器的实施例。如本文所使用,术语“存储器”表示半导体存储器。半导体存储器的类型包含易失性存储器和非易失性存储器。即使在非易失性存储器未连接到电力源(例如,电池)时,非易失性存储器也允许存储和保存信息。非易失性存储器的实例包含快闪存储器(例如,nand型和nor型快闪存储器)、电可擦除可编程只读存储器(eeprom)、铁电存储器(例如,feram)、磁阻存储器(例如,mram)、自旋转移力矩磁性随机存取存储器(stt-ram或stt-mram)、电阻性随机存取存储器(例如,reram或rram)和相变存储器(例如,pram或pcm)。非易失性存储器可为bics存储器架构。非易失性存储器包含一个或多个存储器单元。“存储器单元”为能够存储电子信息的电子装置或组件。在实施例中,非易失性存储器利用浮动栅极晶体管或电荷捕获晶体管作为存储器单元。调整浮动栅极晶体管或电荷捕获晶体管的阈值电压的能力允许晶体管充当非易失性存储元件或存储器单元,例如单层级单元(slc)。然而,在一些情况下,通过编程和读取多个阈值电压或阈值电压范围,可以提供每存储器单元(例如,多层级单元)多于一个数据位,包含mlc、tlc、qlc等。
49.存储器阵列126可包含许多存储器块。“存储器块”是存储器单元组。举例来说,存储器块(例如,存储器单元阵列)包含布置在字线和位线中的存储器单元。存储器“子块”是存储器块的子集。举例来说,子块是与存储器块的字线子集对应的存储器单元子集。在实施例中,子块包含存储器块中的五十个字线,其中存储器块包含多于五十个字线。子块可表示物理子块、逻辑子块或这两者。存储器块包含两个或更多个子块。在实施例中,存储器被构造为二维(2d)nand。在另一实施例中,存储器被构造为三维(3d)nand。在实施例中,本文中所描述的组件(例如,存储器裸片、存储器、块、子块、存储器单元、电路、控制器和/或非易失性存储系统)中的一个或多个以集成电路系统中的一个或多个元件(例如,晶体管、电阻器、电容器、电感器和/或导体)予以实施。
50.如图1所展示,说明性存储器块(或块)100包含数个nand串(ns0到ns11)以及相应的位线(例如,在块之间共享的bl0到bl11)。每一nand串在一个末端处连接到漏极选择栅极(sgd),且漏极选择栅极的控制栅极经由公共sgd线连接。每一nand串在其另一末端处连接到源极选择栅极(sgs),所述源极选择栅极继而连接到公共源极线154。举例来说,ns0包含源极侧选择栅极晶体管152和漏极侧选择栅极晶体管140。实例存储元件142、144、146、148和149分别在ns0到ns4中,且连接到字线wl3。举例来说,wl3可以被选定用于编程的选定字线,且实例存储元件可以是被选定用于编程的存储元件。连接到wl3的其它存储元件也可以是选定存储元件。六十四个字线(举例来说,wl0到wl63)在源极侧选择栅极与漏极侧选择栅极之间延伸。
51.除nand快闪存储器之外,还可使用其它类型的非易失性存储器。举例来说,在快闪eeprom系统中可用的另一类型的存储器单元利用非导电介电材料代替导电浮动栅极来以
非易失性方式存储电荷。在实施例中,由氧化硅、氮化硅和氧化硅(ono)形成的三层电介质包夹在导电控制栅极与存储器单元通道上方的半导电衬底的表面之间。通过将来自单元通道的电子注入到氮化物中来对单元进行编程,在氮化物中,电子被捕获并存储于有限的区域中。此所存储电荷接着以可检测的方式改变单元通道的一部分的电压电平。通过将热孔注入到氮化物中来擦除单元。类似单元可以分离栅极配置设置,其中掺杂多晶硅栅极在存储器单元通道的一部分上延伸以形成单独的选择晶体管。另一类型的存储器使用nand架构中的金属(导电)电荷存储元件。
52.在另一方法中,使用nrom单元。举例来说,在每一nrom单元中存储两个位,其中ono介电层跨越通道在源极扩散与漏极扩散之间延伸。一个数据位的电荷定位在与漏极相邻的介电层中,且另一数据位的电荷定位在与源极相邻的介电层中。通过分别读取电介质内的空间上分离的电荷存储区的二进制状态来实现多状态数据存储。还知晓其它类型的非易失性存储器。在替代实施例中,可存储和感测电阻电平而非阈值电压电平。
53.图2示出呈nand快闪配置的3d存储器226的实施例。3d存储器226包含整体形成于诸如硅衬底之类的衬底234上方的多个物理层。代表性存储器单元246等存储元件(例如,存储器单元)以阵列布置在物理层中。
54.代表性存储器单元246包含字线/控制栅极wl4与导电通道242之间的电荷捕获结构244。电荷可经由导电通道242相对于字线wl4的偏置而注入到电荷捕获结构244中或从所述电荷捕获结构释放。举例来说,电荷捕获结构244可包含氮化硅,且可通过诸如氧化硅之类的栅极电介质与字线wl4和导电通道242分离。电荷捕获结构244中的电荷量影响在存储器单元246的读取操作期间通过导电通道242的电流量,且指示存储在存储器单元246中的一个或多个位值。
55.3d存储器226包含多个擦除块,包含第一块(块0)276、第二块(块1)278和第三块(块2)280。每一块276、278、280包含物理层的“竖直片层”,所述竖直片层包含字线堆叠,示出为第一字线wl0、第二字线wl1、第三字线wl2、第四字线wl3和第五字线wl4。多个导电通道(具有大体上竖直定向,如图2所展示)延伸穿过字线堆叠。每一导电通道耦合到每一字线wl0到wl4中的存储元件,从而形成存储元件的nand串。为了说明清楚起见,图2示出了三个块276、278、280、每一块276、278、280中的五个字线wl0到wl4以及每一块276、278、280中的三个导电通道。然而,3d存储器226可具有多于三个块,每个块可具有多于五个字线,且每个块可具有多于三个导电通道。
56.读取/写入电路系统268(其可为控制器的部分)经由多个导电线耦合到导电通道,所述导电线示出为在导电通道的第一末端(例如,距离衬底234最远的末端)处的第一位线bl0、第二位线bl1和第三位线bl2以及在导电通道的第二末端(例如,更接近衬底234或在所述衬底内的末端)处的第一源极线sl0、第二源极线sl1和第三源极线sl2。读取/写入电路系统268示出为经由“p”控制线耦合到位线bl0到bl2,经由“m”控制线耦合到源极线sl0到sl2,且经由“n”控制线耦合到字线wl0到wl4。p、m和n中的每一个可具有基于3d存储器226的特定配置的正整数值。在图2中展示的实例中,p=3,m=3,且n=5。
57.在特定实施例中,位线bl0到bl2中的每一个和源极线sl0到sl2中的每一个可耦合到不同导电通道的相同末端(例如,第一末端或第二末端)。举例来说,特定位线bl0到bl2可耦合到导电通道282的第一末端,且特定源极线可耦合到导电通道242的第一末端。导电通
道282的第二末端可耦合(例如,电耦合)到导电通道242的第二末端。因此,导电通道282和导电通道242可串联耦合且可耦合到特定位线bl0到bl2和特定源极线sl0到sl2,所述特定位线和源极线中的每一个耦合到特定nand串。
58.尽管例如导电通道242、282的每一个导电通道被示出为单个导电通道,但是导电通道中的每一个可包含呈堆叠配置的多个导电通道。呈堆叠配置的多个导电通道可通过一个或多个连接器耦合。另外,具有耦合到导电通道的物理上邻近部分的导电连接器的蚀刻终止层(图2中未示出)可包含于多个导电通道中,例如在第一物理层组232与第二物理层组233之间。另外或替代地,一个或多个子块栅极晶体管(图2中未示出)可耦合于第一物理层组232与第二物理层组233之间。
59.在实施例中,第一物理层组232为第一子块的实例,且第二物理层组233为第二子块的实例。举例来说,每一子块(例如,“基于字线的”子块)可包含与字线wl0到wl4的子集对应的存储器单元。在替代实施例中,每一子块(例如,“基于串的”子块)可包含与串(例如,nand串)的子集对应的存储器单元,且可具有例如公共源极线sl0到sl2,但不具有公共位线bl0到bl2,或者可具有公共位线bl0到bl2,但不具有公共源极线sl0到sl2。
60.读取/写入电路系统268促进和/或实行对3d存储器226执行的读取和写入操作。举例来说,数据可存储到与字线wl0到wl4耦合的存储元件,且读取/写入电路系统268可使用一个或多个感测块236从存储元件(例如,存储器单元)读取位值。作为另一实例,读取/写入电路系统268可将选择信号施加到与字线wl0到wl4、位线bl0到bl2和源极线sl0到sl2耦合的控制线,以使得跨越选定字线(例如,第四字线wl4)的选定存储元件施加编程电压(例如,一个电压脉冲或一系列电压脉冲)。读取/写入电路系统268还可执行验证操作作为编程操作的部分。
61.读取/写入电路系统268包含一个或多个感测块236。感测块236用于读取或感测存储于存储器单元中的一个或多个值。在一个方法中,针对一个nand串组提供一个感测块236,所述nand串中的每一个耦合到特定位线bl0到bl2。举例来说,感测块236与bl0相关联。另一感测块236与bl1相关联,且又一感测块236与bl2相关联。每一感测块236可包含存储器控制器(图2中未示出)。每一感测块236还包含用于每一nand串的感测模块。替代地,感测块236可间隔式地耦合到位线,例如偶数或奇数编号的位线。
62.在读取操作期间,控制器可从诸如计算机、智能电话或膝上型计算机之类的主机装置接收请求。控制器可使得读取/写入电路系统268通过将适当信号施加到控制线以使选定字线的存储元件被感测到而从3d存储器226的特定存储元件读取位。因此,具有呈堆叠配置的多个导电通道的3d存储器226可配置成从一个或多个存储元件读取数据且将数据写入到一个或多个存储元件。
63.存储器单元246阵列中的存储器单元246的一个或多个子块可通过通道(例如,物理通信通道)耦合。在实施例中,通道包括位线bl0到bl2和/或源极线sl0到sl2。
64.图3示出3d竖直存储器结构或串329的横截面图的一个实施例。在一个实施例中,竖直列332为圆形的且包含四个层;然而,在其它实施例中,可包含多于或少于四个层,且可使用其它形状(例如,“u形”形状而非“i形”形状等)。在一个实施例中,竖直列332包含由诸如sio2之类的电介质制成的内部核心层370。也可以使用其它材料。包围内部核心或内部核心层370的是多晶硅通道371。也可使用除多晶硅以外的材料。应注意,连接到位线的是通道
371。包围通道371的是隧穿电介质372。在一个实施例中,隧穿电介质372具有ono结构。包围隧穿电介质372的是共享电荷捕获层373,例如氮化硅。也可使用其它材料和结构。本文所描述的技术不限于任何特定材料或结构。
65.图3描绘介电层dll49、dll50、dll51、dll52和dll53以及字线层wll43、wll44、wll45、wll46和wll47。字线层中的每一个包含由氧化铝层377包围的字线区376,所述氧化铝层由阻挡氧化物(sio2)层378包围。字线层与竖直列332的物理相互作用形成存储器单元。因此,在一个实施例中,存储器单元包括通道371、隧穿电介质372、电荷捕获层373(例如,与其它存储器单元共享)、阻挡氧化物层378、氧化铝层377和字线区376。在一些实施例中,阻挡氧化物层378和氧化铝层377可替换为具有绝缘性质的单层材料或替换为多于两层的具有绝缘性质的不同材料。此外,所使用的材料不限于二氧化硅(sio2)或氧化铝。举例来说,字线层wll47和竖直列332的一部分包括存储器单元mc1。字线层wll46和竖直列332的一部分包括存储器单元mc2。字线层wll45和竖直列332的一部分包括存储器单元mc3。字线层wll44和竖直列332的一部分包括存储器单元mc4。字线层wll43和竖直列332的一部分包括存储器单元mc5。在其它架构中,存储器单元可具有不同结构,然而,存储器单元将仍然为存储单元。
66.当对存储器单元进行编程时,电子存储在与存储器单元相关联的电荷捕获层373的一部分中。响应于字线区376上的适当电压,穿过隧穿电介质372将这些电子从通道371吸入到电荷捕获层373中。存储器单元的阈值电压(vt)与所存储电荷的量成比例地增加。在一个实施例中,编程是经由电子到电荷捕获层中的fowler-nordheim隧穿而实现的。在擦除操作期间,返回到通道或空穴的电子注入到电荷捕获层中以与电子重组。在一个实施例中,擦除是经由例如栅极诱发漏极泄漏(gidl)的物理机制将空穴注入到电荷捕获层中而实现的。
67.在某些实施例中,不同位线上的不同存储器结构329(例如,不同存储器串329)中的相同部位或位置中的存储单元可在同一字线上。每一字线可存储一个数据页,例如当每单元存储1个数据位(slc)时;每一字线可存储两个数据页,例如当每单元存储2个数据位(mlc)时;每一字线可存储三个数据页,例如当每单元存储3个数据位(tlc)时;每一字线可存储四个数据页,例如当每单元存储4个数据位(qlc)时;或每一字线可存储另一数目的数据页。
68.在所描绘的实施例中,竖直3d存储器结构329包括“i形”形状的存储器结构329。在其它实施例中,竖直3d存储器结构329可包括“u形”形状的结构或可具有另一竖直和/或堆叠式架构。在某些实施例中,四组串329(例如,四组48个字线或另一组预定义数目的字线)可形成擦除块,而在其它实施例中,少于或多于四组串329可形成擦除块。如可以了解,任何合适数目的存储单元可以是单个串329的部分。在一个实施例中,单个串329包含四十八个存储单元。
69.图4为示出根据一个实施例的3d存储器块400的俯视图的图。如所示出,3d存储器块400可包括一系列存储器孔或单元(由在图4中标记为“0o”到“7o”和“0e”到“7e”的圆表示)。这些存储器孔中的每一个可被组织成串(在图4中标记为“串0”到“串3”)和/或进一步被组织成io组(在图4中标记为“o”、“i1”、“i2”和“i3”)。每一io组定位于在3d存储器块400中形成的两种不同类型的蚀刻特征之间,所述两种不同类型的蚀刻特征为浅蚀刻特征410(例如,称为she)和深蚀刻特征420(例如,称为st)。与深蚀刻特征420相邻的io组被标
记为外部io组(o);与浅蚀刻特征410相邻的io组被标记为内部3io组(i3);与外部io组相邻的io组被标记为内部1io组(i1);与内部3io组(i3)相邻的io组被标记为内部2io组(i2)。应注意,本文中所公开的程序和方法可结合广泛多种类型的存储器予以实施,所述广泛多种类型的存储器例如为nand或nor存储器、2d存储器、3d存储器或采用基于电荷的存储技术或基于电阻的存储技术的存储器。在一个实例中,所示出的存储器块400可包括16k个存储器单元,这些存储器单元可进一步分离成各自包括1k个存储器单元的较小存储器单元组。这些较小组可分层布置。层可包含与由图4中的相同指定圆指定的孔相关联的存储器单元。标记为2o的存储器单元为同一层的部分。标记为3e的存储器单元为另一层的部分。标记为2e的存储器单元为同一层的部分。标记为3o的存储器单元为另一层的部分。如本文中所解释,当编程验证电平不大可能到过度编程状态时或当用于编程验证操作的单个层表示其它层时,控制器可选择所述单个层。用于编程验证的至少一个中间层级为多层验证操作。
70.用于3d存储器的一些制造工艺可包含薄膜沉积工艺,这些工艺相比于在制造期间执行的蚀刻工艺往往会占主导地位。对于这些类型的制造工艺,外部io组(o)中的外部存储器孔的编程速度通常比内部存储器孔(i3)慢。然而,用于3d存储器的一些制造工艺可包含相比于薄膜沉积工艺往往会在制造期间占主导地位的蚀刻工艺。对于这些类型的制造工艺,内部存储器孔(i3)的编程速度通常比外部存储器孔(o)慢。然而,应注意,由于制造工艺期间引入的此变化,或由于装置的使用所诱发的磨损,3d存储器结构内的存储器单元的io组的物理位置并不总是能决定其相对编程速度。此外,循环降级还可使得不同存储器单元或存储器单元组的相对编程速度随时间而变化。
71.继续图4,存储器孔(0o到7o和0e到7e)中的每一个可连接到位线430(在图4中标记为位线0到7)。位线430延伸到存储器孔上方且经由连接点(在图4中示出为小的实心椭圆形)连接到选择存储器孔,所述连接点指示位线430连接到存储器孔的位置。为了易于说明,图4中仅展示了八个位线430(0到7)。然而,应理解,在图4中,其它位线(图中未展示)也延伸到其它存储器孔上方。
72.图5示出根据一个实例的用于图4的3d存储器结构400的感测放大器组500的阵列。如可在图5中看到,图4中展示的位线430延伸到感测放大器组500的阵列。以此方式,3d存储器结构400的某些存储器孔可电耦合到位线430中的一个,且每一位线可接着电耦合到位线接口510。在实施例中,位线接口510可另外使用加扰,如图5中所展示的在位线430与位线接口510之间的倾斜/非竖直线所示。此后,每一位线430可电耦合到感测放大器组(在图5中标记为tier#0到tier#l5)。如图5所示,每一感测放大器组跨越所述页水平地延伸。因此,每一“层”包括经由位线430与特定感测放大器组电通信的存储器孔组。层还可被称为“存储器单元的子组”,或仅“子组”。存储器单元的“子组”可为由较大存储器单元组形成的存储器单元的任何子集。在本技术中,存储器单元的子组可被称为层、层组、io组、分区等。
73.图6为说明用于存储器单元子组识别和选择的系统600和装置610的实施例的示意性框图。计算装置610包括用于非易失性和/或易失性存储器装置620的存储器媒体622的一个或多个识别电路或层选择电路650。如本文所使用,“层电路”是指用以识别存储器单元(例如,2o层存储器单元)相对于存储器单元的至少一个其它子组或层的特定层且选择所
识别的存储器单元的层以用于至少一个编程操作(例如,编程验证)中的电路。层选择电路可操作以选择用于一些编程验证电平的单个层和用于同一验证操作中的其它编程验证电平的多个层。至少一个验证为单个层验证,例如a或第一编程验证电平。第一编程验证电平可以是最低电压。在实例实施例中,最后编程验证电平也是单个层验证操作。在实例实施例中,对多个层执行至少一个中间编程验证。
74.层选择电路650可为非易失性和/或易失性存储器元件623的部分(例如,安置在与非易失性存储器媒体622相同的集成电路装置上)。在一些实施例中,存储器装置620可至少部分地在计算装置610的非易失性和/或易失性存储器系统602上操作和/或与所述非易失性和/或易失性存储器系统通信,所述计算装置可包括处理器611、易失性存储器612和通信接口613。处理器611可包括一个或多个中央处理单元、一个或多个通用处理器、一个或多个专用处理器、一个或多个虚拟处理器(例如,计算装置610可为在主机内操作的虚拟机)、一个或多个处理器核心等。通信接口613可包括一个或多个网络接口,其配置成将计算装置610和/或存储器控制器626以通信方式耦合到通信网络615,例如因特网协议(ip)网络、存储区域网络(san)、无线网络、有线网络等。
75.在各种实施例中,存储器装置620可安置在相对于计算装置610的一个或多个不同位置中。在一个实施例中,存储器装置620包括一个或多个非易失性和/或易失性存储器元件623,例如安置于一个或多个印刷电路板、存储器壳体和/或其它机械和/或电支撑结构上的半导体芯片或封装或其它集成电路装置。举例来说,存储器装置620可包括一个或多个双列直插存储器模块(dimm)卡、一个或多个扩展卡和/或子卡、存储器卡、通用串行总线(usb)驱动器、固态驱动器(ssd)或其它硬盘驱动器装置,和/或可具有另一存储器和/或存储形状因数。存储器装置620可与计算装置610的主板集成和/或安装在所述主板上,安装在计算装置610的端口和/或插槽中,安装在网络615上的不同计算装置610和/或专用存储设备上,经由外部总线(例如,外部硬盘驱动器)等与计算装置610通信。
76.在一个实施例中,存储器装置620可安置于处理器611的存储器总线上(例如,与易失性存储器612相同的存储器总线上、与易失性存储器612不同的存储器总线上、代替易失性存储器612等)。在另一实施例中,存储器装置620可安置于计算装置610的外围总线上,例如外围组件互连高速(pci高速或pcie)总线、串行高级技术附件(sata)总线、并行高级技术附件(pata)总线、小型计算机系统接口(scsi)总线、火线总线、光纤通道连接、通用串行总线(usb)、pcie高级交换(pcie-as)总线等。在另一实施例中,存储器装置620可安置于数据网络615上,例如以太网网络、无限宽带(infiniband)网络、网络615上的scsi rdma、存储区域网络(san)、局域网(lan)、因特网等广域网(wan)、另一有线和/或无线网络615等。
77.计算装置610可进一步包括非暂时性计算机可读存储媒体614。计算机可读存储媒体614可包括配置成使得计算装置610(例如,处理器611)执行本文中所公开的方法中的一种或多种的步骤的可执行指令。在一个实施例中,子组选择电路650可包括非易失性和/或易失性存储器元件623的硬件、装置驱动器的计算机可执行程序代码、存储器控制器626的固件和/或用于存储器元件623的存储器媒体控制器、另一电组件等。在一个实施例中,子组选择电路650集成于存储器元件623(例如,裸片上子组选择电路650和/或其它集成硬件)上。
78.根据各种实施例,存储器控制器626可管理一个或多个存储器装置620和/或存储
器元件623,所述存储器元件中的一个或多个可包括裸片上子组选择电路650。存储器装置620可包括记录、存储器和/或存储装置,例如固态存储装置和/或被布置和/或分割成多个可寻址媒体存储位置的半导体存储装置。如本文所使用,媒体存储位置是指存储器的任何物理单元(例如,存储器装置620上的任何量的物理存储媒体)。存储器单元和/或区可包含但不限于:页、存储器分区、块、扇区、物理存储位置的集合或组(例如,逻辑页、逻辑块)等。
79.在某些实施例中,装置驱动器和/或存储器控制器626可将逻辑地址空间634呈现给存储客户端616。如本文所使用,逻辑地址空间634是指存储器资源的逻辑表示。逻辑地址空间634可包括多个(例如,一系列)逻辑地址。如本文中所用,逻辑地址是指用于参考存储器资源(例如,数据)的任何识别符,包含但不限于逻辑块地址(lba)、柱区/头部/扇区(chs)地址、文件名、对象识别符、索引节、通用唯一识别符(uuid)、全局唯一识别符(guid)、散列代码、标记、索引条目、范围、程度等。
80.用于存储器装置620的装置驱动器可维持元数据635,例如逻辑到物理地址映射结构,以将逻辑地址空间634的逻辑地址映射到存储器装置620上的媒体存储位置。装置驱动器可配置成向一个或多个存储客户端616提供存储服务。存储客户端616可包含在计算装置610上操作的本地存储客户端616和/或可经由网络615和/或网络接口613存取的远程存储客户端616。存储客户端616可包含但不限于:操作系统、文件系统、数据库应用程序、服务器应用程序、内核级过程、用户级过程、应用程序等。
81.装置驱动器可以通信方式耦合到一个或多个存储器装置620。一个或多个存储器装置620可包含不同类型的存储器装置,包含但不限于:固态存储装置、半导体存储装置、san存储资源、易失性存储器装置、非易失性存储器装置等。一个或多个存储器装置620可包括一个或多个相应存储器媒体控制器626和存储器媒体622。装置驱动器可经由传统的块i/o接口631提供对一个或多个存储器装置620的存取。另外,装置驱动器可通过scm接口632提供对增强型功能性的存取。元数据635可用于管理和/或跟踪通过块i/o接口631、scm接口632、高速缓存接口633或其它相关接口中的任一个执行的数据操作。
82.高速缓存接口633可暴露可经由用于存储器装置620的装置驱动器存取的高速缓存特定的特征。并且,在一些实施例中,呈现给存储客户端616的scm接口632提供对由一个或多个存储器装置620和/或一个或多个存储器媒体控制器626实施的数据变换的存取。
83.装置驱动器可通过一个或多个接口将逻辑地址空间634呈现给存储客户端616。如上文所论述,逻辑地址空间634可包括多个逻辑地址,每一逻辑地址与一个或多个存储器装置620上的相应媒体位置对应。装置驱动器可维持元数据635,所述元数据包括逻辑地址与媒体位置等之间的任何映射。
84.装置驱动器可进一步包括存储器装置接口639和/或与存储器装置接口639通信,所述存储器装置接口配置成经由总线625向一个或多个存储器装置620传送数据、命令和/或查询,包含但不限于:处理器611的存储器总线、外围组件互连高速(pci高速或pcie)总线、串行高级技术附件(ata)总线、并行ata总线、小型计算机系统接口(scsi)、火线、光纤通道、通用串行总线(usb)、pcie高级交换(pcie-as)总线、网络615、infmiband、scsi rdma等。存储器装置接口639可使用输入输出控制(io-ctl)命令、io-ctl命令扩展、远程直接存储器存取等与一个或多个存储器装置620通信。
85.通信接口613可包括配置成将计算装置610和/或存储器控制器626以通信方式耦合到网络615和/或耦合到一个或多个远程网络可存取存储客户端616的一个或多个网络接口。存储客户端616可包含在计算装置610上操作的本地存储客户端616和/或可经由网络615和/或网络接口613存取的远程存储客户端616。存储器控制器626为一个或多个存储器装置620的部分和/或与一个或多个存储器装置620通信。尽管图6描绘单个存储器装置620,本公开在此方面不受限制,且可适于并入有任何数目的存储器装置620、一个或多个易失性存储器装置620与一个或多个非易失性存储器装置620的组合等。
86.存储器装置620可包括存储器媒体622的一个或多个元件623。在一个实施例中,存储器媒体622的元件623包括易失性存储器媒体622,例如随机存取存储器(ram)、动态ram(dram)、同步dram(sdram)、双倍数据速率(ddr)sdram、静态ram(sram)、可控硅ram(t-ram)、零电容器ram(z-ram)等。在某些实施例中,存储器媒体622的元件623包括非易失性存储器媒体622,例如reram、忆阻器存储器、可编程金属化单元存储器、相变存储器(pcm、pcme、pram、pcram、双向通用存储器、硫属化物ram或c-ram)、nand快闪存储器(例如,2d nand快闪存储器、3d nand快闪存储器)、nor快闪存储器、纳米随机存取存储器(纳米ram或nram)、基于纳米晶线的存储器、基于氧化硅的低于10纳米处理存储器、石墨烯存储器、硅-氧化物-氮化物-氧化物-硅(sonos)存储器、可编程金属化单元(pmc)存储器、导电桥接ram(cbram)、磁阻性ram(mram)、磁性存储媒体(例如,硬盘、磁带)、光学存储媒体等。因此,存储器装置620可依赖于例如所存储的电压电平或所存储的电阻电平。在某些实施例中,存储器媒体622的一个或多个元件623包括存储级存储器(scm)。
87.虽然nand快闪等传统技术可为可寻址的块和/或页,但在一个实施例中,存储级存储器为可寻址的字节。在其它实施例中,存储级存储器可比nand快闪快和/或具有更长的寿命(例如,耐久性);可具有比dram更低的成本、使用更少的电力和/或具有比dram更高的存储密度;或当与其它技术相比较时提供一个或多个其它益处或改进。举例来说,存储级存储器可包括以下各者中的一个或多个:reram的非易失性存储器元件623、忆阻器存储器、可编程金属化单元存储器、相变存储器、纳米ram、基于纳米晶线的存储器、基于氧化硅的低于10纳米处理存储器、石墨烯存储器、sonos存储器、pmc存储器、cbram、mram和/或其变化。
88.虽然非易失性存储器媒体622在本文中被称为“存储器媒体”,但在各种实施例中,非易失性存储器媒体622可更一般化地包括能够记录数据的一个或多个非易失性记录媒体,其可被称为非易失性存储器媒体、非易失性存储媒体等。此外,在各种实施例中,非易失性存储器装置620可包括非易失性记录装置、非易失性存储器装置、非易失性存储装置等。类似地,在各种实施例中,非易失性存储器元件623可包括非易失性记录元件、非易失性存储器元件、非易失性存储元件等。
89.非易失性存储器媒体622可包括一个或多个非易失性存储器元件623,所述非易失性存储器元件可包含但不限于:芯片、封装、平面、裸片等。非易失性存储器控制器626可配置成管理非易失性存储器媒体622上的数据操作,且可包括一个或多个处理器、可编程处理器(例如,fpga)、asic、微控制器等。在一些实施例中,非易失性存储器控制器626配置成将数据存储在非易失性存储器媒体622上和/或从非易失性存储器媒体622读取数据,以将数据传送到非易失性存储器装置620/从非易失性存储器装置620传送数据等等。
90.非易失性存储器控制器626可借助于总线627以通信方式耦合到非易失性存储器
媒体622。总线627可包括i/o总线以用于将数据传送到非易失性存储器元件623/从非易失性存储器元件623传送数据。总线627可进一步包括用于将寻址和其它命令和控制信息传送到非易失性存储器元件623的控制总线。在一些实施例中,总线627可并行地将非易失性存储器元件623以通信方式耦合到非易失性存储器控制器626。此并行存取可允许将非易失性存储器元件623管理为组,从而形成逻辑存储器元件629。逻辑存储器元件可分割成相应逻辑存储器单元(例如,逻辑页)和/或逻辑存储器分区(例如,逻辑块)。逻辑存储器单元可通过逻辑地组合非易失性存储器元件中的每一个的物理存储器单元来形成。
91.非易失性存储器控制器626可包括计算装置610上执行的装置驱动器和/或与所述装置驱动器通信。装置驱动器可经由一个或多个接口631、632和/或633向存储客户端616提供存储服务。在一些实施例中,装置驱动器提供块装置i/o接口631,存储客户端616通过所述块装置i/o接口执行块级i/o操作。替代地或另外,装置驱动器可提供存储级存储器(scm)接口632,所述scm接口可向存储客户端616提供其它存储服务。在一些实施例中,scm接口632可包括到块装置接口631的扩展(例如,存储客户端616可通过到块装置接口631的扩展或添加而存取scm接口632)。替代地或另外,scm接口632可提供为单独api、服务和/或库。装置驱动器可进一步配置成提供用于使用非易失性存储器系统602高速缓存数据的高速缓存接口633。装置驱动器可进一步包括非易失性存储器装置接口639,其配置成经由总线625向非易失性存储器控制器626传送数据、命令和/或查询,如上文所描述。
92.图7为说明可执行如本文所描述的编程和验证操作的非易失性存储装置710的实施例的示意性框图。非易失性存储装置710可包含一个或多个存储器裸片或芯片712a,“存储器裸片”包括半导体材料块,在所述半导体材料块上制造存储器电路,且如本文所使用,还包含安置于其上的存储器电路。非易失性存储装置710可大体上类似于参考图6所描述的计算装置610。
93.在一些实施例中,存储器裸片712包含存储器单元阵列700(例如,二维或三维)、裸片上控制器720和读取/写入电路730a/730b。在一个实施例中,以对称方式在存储器阵列700的相对侧上实施由各种外围电路对存储器阵列700的存取,使得存取线和每一侧上的电路系统的密度减小一半。在另一实施例中,读取/写入电路730a/730b包含多个感测块751,其允许并行地读取或编程存储器单元页。
94.在各种实施例中,存储器阵列700可经由行解码器电路740a/740b通过字线和经由列解码器电路742a/742b通过位线寻址。在一些实施例中,控制器744包含于与一个或多个存储器裸片712相同的存储器装置710(例如,可移除存储卡或封装)中。命令和数据经由线732在主机与控制器744之间传送,且经由线734在控制器与一个或多个存储器裸片712之间传送。一个实施方案可包含多个芯片712。
95.在一个实施例中,裸片上控制器720(例如,控制器电路系统)与读取/写入电路730a/730b协作以对存储器阵列700执行存储器操作。在某些实施例中,裸片上控制器720包含状态机722、芯片上地址解码器724、电力控制电路726和子组选择电路750。在一个实施例中,芯片上地址解码器724和/或电力控制电路726可为控制器744的部分和/或由控制器744控制。裸片上控制器720可操作以选择用于特定编程验证电平的特定单个层和用于其它编程验证电平的多个层。
96.在一个实施例中,状态机722提供存储器操作的芯片级控制。芯片上地址解码器
724提供地址接口以将由主机或存储器控制器使用的地址转换成由解码器电路740a、740b、742a、742b使用的硬件地址。电力控制电路726控制在存储器操作期间供应到字线和位线的电力和电压。在一个实施例中,电力控制电路726包含可产生大于电源电压的电压的一个或多个电荷泵。状态机可用于对位扫描计数且将结果与可存储于状态机中的阈值进行比较。当位扫描计数超出阈值时,状态机还可触发编程验证操作以跳过到下一存储器层级验证操作。
97.在实施例中,裸片上控制器720、状态机722、电力控制电路726、芯片上地址解码器724、解码器电路742a、解码器电路742b、解码器电路740a、解码器电路740b、读取/写入电路730a、读取/写入电路730b和/或控制器744中的一个或任何组合可被称为一个或多个管理电路或通常被称为控制器电路系统。
98.图8展示在第一状态下的非易失性存储器800的示意图。为了易于解释,简化存储器。存储器800的第一状态展示来自感测放大器数据锁存器(sadl)801-1、801-2、801-3、801-4的更多编程数据,所述感测放大器数据锁存器各自通过存取晶体管(例如,源极栅极漏极sgd晶体管)803-1、803-2、803-3、803-4连接到位线807-1、807-2、807-3、807-4。位选择线805连接到存取晶体管的栅极。存储器单元示意性地展示于816、817、818和819处。存储器单元816、817和819正在进行编程,例如,用多个编程脉冲进行编程,所述编程脉冲接着在比编程脉冲低的电压下验证信号。在存储器800的实例状态中,连接到sadl 801-1的第一电路串设置为位线807-1处于vss电压电平的编程状态。连接到sadl 801-2的第二电路串设置为位线807-2处于vss电压电平的编程状态。连接到sadl 801-3的第三电路串设置为位线807-3处于vddsa电压电平的禁止状态。连接到sadl 801-4的第四电路串设置为位线807-4处于vss电压电平的编程状态。位线807-1、807-2、807-3、807-4以彼此接近的方式定位,且因此具有寄生电容,此处为位线807-1与位线807-2之间的电容器811、位线807-2与位线807-3之间的电容器812以及位线807-3与位线807-4之间的电容器813。在第一状态下,电容器811处不存在电容,因为位线807-1和807-2两者均处于相同信号电平,此处为vss。在电容器812、813处存在电容,因为相邻对的位线807-2、807-3和位线807-3、807-4两者在那些线上均具有不同电压。位线803-3上的电压vddsa为禁止信号。vss为编程信号。因此,当eqvddsa施加到非邻近位线中的一个或多个时,存在电容负载(相邻位线之间的寄生电容)。在每一编程脉冲中,编程位线处于vss电平,并且禁止bl处于vddsa电平。这将在第一编程脉冲到编程存储器单元(例如,slc、tlc或其它多层级非易失性存储器单元)期间发生。这是由于在编程操作开始时编程的存储器单元更多,例如,存在比禁止数据更多的编程数据。这对于tlc或多层级单元编程操作上的较早脉冲尤其如此。在操作中,信号eqvddsa将短接所有位线,例如,线803-1、803-2、803-3、803-4,且接着将位线缓慢充电到vddsa电平,接着在编程脉冲之后放电。可从存储器800的sadl侧发送信号eqvvddsa。均衡操作涉及经由公共eq2vddsa晶体管且经由相应blx晶体管将vddsa电压施加到所有位线807-1、807-2、807-3、807-4。
99.在更多bl处于vss电平的情况下,存储器800的此操作和结构产生更多电容负载。由于vss处的位线较多,初始均衡电平较低,这可造成禁止单元干扰。在操作中,编程电压(vss)小于位线电压,所述位线电压小于禁止电压(vddsa)。vddsa为来自sadl的较高禁止电压,且可为用于禁止编程的感测放大器数据锁存器电压。
100.图9展示在第二状态(即,在至少一个编程脉冲之后或在多个编程脉冲之后编程循
环中的稍后阶段)下的非易失性存储器800的示意图。在实例中,编程脉冲至少完成了一半,即,编程大致完成了一半。因此,与编程信号vss(位线807-3)相比,存在更多的禁止数据信号vddsa(位线807-1、807-3、807-4)。存储器800的第二状态包含比编程数据更多的禁止数据,且在编程操作的稍后编程脉冲上。电容性负载较少,这是因为大部分位线已经处于vddsa电平。由于vddsa电平处的位线较多,因此初始均衡电平较高。并且,禁止对存储器单元816、818和819进行编程。
101.在存储器800的操作中,取决于编程数据,例如,是存在更多编程状态(图8)还是更多禁止状态(图9),控制位线的均衡。然而,如果位线过早地进行均衡,则可发生禁止单元干扰。当位线充电到vddsa时,位线之间的电容会产生更多负载。此处,停用eqvddsa以节省电源电流(icc),并防止在读取操作之前位线中的残余电荷未释放时可能发生的读取错误。
102.图10展示在非易失性存储器装置中的单层级单元编程操作期间调整位线放电的方法1000。当编程操作开始时,要编程的数据随机分布。统计学上,在slc编程期间,起始编程数据一半(例如,50%)为零且一半(50%)为一。控制器电路系统可基于slc编程脉冲数目而控制eqvddsa的状态(启用或停用)。对于第一编程脉冲,编程数据匹配起始数据而一半为零且一半为一。启用eqvddsa产生较好放电结果。然而,对于后续脉冲,大部分存储器单元已经锁定(禁止编程),因为在要编程的数据中剩下的零状态极少。现在,停用eqvddsa以节省电力(icc)。
103.在slc部分页编程的情况下,可以控制eqvddsa启用或停用。存储器控制器可仅在4k数据的块或8k数据的块中调用部分页编程。具有4k数据且具有随机模式的部分页编程使得存储器单元中仅有约六分之一处于零(12.5%的单元处于0电平)。此处,所述方法应停用均衡。(eqvddsa停用)。具有8k数据且具有随机模式的部分页写入含有约四分之一(25%)的处于零的单元。此处,所述方法应启用均衡(eqvddsa启用)。
104.在步骤1001处,单层级单元编程操作开始。编程操作可包含一系列编程脉冲,所述编程脉冲的电压随着每一连续脉冲而增加。验证操作和信号在编程脉冲中间以读取所编程的数据,以便验证存储器单元被编程到正确电压电平。如果slc处于正确电平,例如高于阈值电压,则用于所述存储器单元的位线从编程(vss或零)变成禁止(vddsa或一)。
105.在步骤1003处,控制器确定编程是用于完整页还是部分页。如果用于完整页,则所述方法移动到步骤1005。如果用于部分页,则所述方法移动到步骤1009。
106.在步骤1005处,例如在验证操作期间,在编程之后,例如在编程脉冲之后,施加第一编程脉冲并将位线均衡到vddsa。
107.在步骤1007处,对于第二或后续编程脉冲,停用eqvddsa。
108.在步骤1009处,确定要写入的数据块是不是整个页的四分之一或更小。如果是整个页的四分之一或更小,则在步骤1011处停用vddsa(eqvddsa)的均衡。如果大于页的四分之一,则启用vddsa的均衡。
109.图11展示在非易失性存储器装置中的三层级单元(tlc)编程操作期间调整位线放电的方法1100。在tlc全序列编程中,将单元编程为er、a、b、c、d、e、f、g状态中的一个。er为擦除状态,且a-g为在阈值电压逐渐增加时的已编程存储器状态。在用户数据完全随机化的情况下,每一状态在统计学上具有总单元计数的12.5%。启用或停用eqvddsa的决定可基于tlc数据完成信号。对于第一编程脉冲,位线禁止或编程由87.5%的零(编程)和12.5%的一
(禁止)构成。应停用eqvddsa以防止提早均衡,提早均衡会导致干扰和高icc消耗。在实例实施例中,在完成用于c状态的编程脉冲(或用于c状态的程序循环)之后,存储器单元可能有一半被编程为正确状态,有大约一半被编程为锁定状态。此时,约一半的存储器单元为一,且一半为零。现在,eqvddsa将给出较好的放电结果且被启用。在实例实施例中,在完成f编程之后,在位线上,约八分之五(或87.5%)被编程为一,八分之一(或12.5%)被编程为零。此处,可再次停用eqvddsa以节省icc,这是因为不需要均衡。在实例实施例中,还可以通过基于程序循环的选项完成更精细的控制。
110.在步骤1101处,三层级单元编程开始。在tlc全序列编程中,将单元编程为er、a、b、c、d、e、f和g状态,其中在随机数据的情况下每一状态发生的可能性为八分之一。
111.在1103处,控制电路系统使用tlc数据状态在位线上产生控制信号。位线信号的电压电平取决于已经执行用于编程的脉冲的数目。
112.在1105处,在第一、第二和第三编程脉冲之后,停用位线的均衡,例如停用eqvddsa。
113.在1107处,在第四编程脉冲之后(例如,在编程c状态之后),启用位线电压的均衡,例如启用eqvddsa。
114.在1109处,在第七编程脉冲之后(例如,在f编程状态之后),停用位线电压的均衡,例如停用eqvddsa。这将节省电力,例如icc。
115.图12展示在非易失性存储器装置中的四层级单元(qlc)编程操作期间调整位线放电的方法1200。在实例中,qlc编程可包含模糊/精细序列编程。在qlc模糊/精细序列编程中,将单元编程为er、s1到s15状态。在用户数据完全随机化的情况下,每一状态具有总单元计数的6.25%。在此实例方法1200中,启用或停用eqvddsa可基于qlc数据完成信号。从第一编程脉冲开始,对于随机数据集,位线值的93.75%为零(编程)且6.25%为一(禁止)。应停用eqvddsa以防止提早均衡引起的干扰和高icc。在完成s7编程脉冲之后,约50%的单元被锁定,并且一半为一(禁止),一半为零(编程),将位线信号均衡到vddsa(即,eqvddsa启用时的eqvddsa操作)将提供更好的放电结果。在完成s13之后,在位线上,约八分之七被禁止(例如,一),且八分之一被编程(例如,零)。此处,应再次停用eqvddsa以节省icc,这是因为不需要均衡。还可通过基于程序循环的操作来完成更精细控制。
116.在步骤1201处,开始qlc编程操作。
117.在步骤1203处,基于编程脉冲的完成,在启用和停用状态之间控制位线上的电压的均衡。
118.在步骤1205处,在第一编程脉冲(例如,对于s0)之后到第六编程脉冲(例如,s5)的末尾,停用位线上的均衡(例如,eqvddsa)。
119.在步骤1207处,在第七编程脉冲之后,启用位线上的均衡(例如,eqvddsa)。
120.在步骤1209处,在第十三编程脉冲之后,停用位线的均衡(例如,eqvddsa)。
121.图13展示在非易失性存储器装置(1301)中使用多层级单元/精细编程进行四层级单元(qlc)编程操作期间调整位线放电的方法1300。在qlc mlc/精细序列编程操作中,应单独地考虑mlc级,其中存储器单元处于er状态中或被编程为a、b和c状态。在用户数据完全随机化的情况下,每一状态具有总单元计数的四分之一。位线均衡(例如,eqvddsa)的启用/停用是基于mlc数据完成信号。
122.在步骤1305处,在第一编程脉冲之后,存储器单元的四分之三为零(位线编程)且四分之一为一(位线禁止)。应停用eqvddsa以防止提早均衡,提早均衡会导致干扰和高icc使用。
123.在步骤1307处,在完成状态a之后,一半单元就被锁定,其中一半被禁止(一)且一半被编程(零),启用位线的均衡(启用eqvddsa),这会得到较好的放电结果。
124.在步骤1309处,在完成状态c编程脉冲之后,存储器单元的四分之三就被编程(位线禁止)且四分之一未编程(位线编程)。现在,应再次停用位线的均衡(例如,eqvddsa)以节省电力,例如icc,这是因为不需要均衡。还可通过基于程序循环的选项来完成更精细控制。
125.图14展示用于在编程操作期间控制位线上的信号的方法1400。在步骤1401处,编程脉冲计数设置为零。
126.在步骤1403处,在编程电平下利用至少一个位线执行编程脉冲操作,其它位线可为禁止电平(vss)或编程电平(vddsa)。
127.在步骤1405处,使编程脉冲计数递增。
128.在步骤1407处,确定编程脉冲计数是否处于或高于第一阈值(例如,如上文所论述,是否从停用变成启用)。如果不高于阈值,则方法移动到步骤1409。如果脉冲计数超出第一阈值,则过程移动到步骤1408,在所述步骤处检查编程脉冲计数是否超出第二阈值。如果未超出第二阈值,则在步骤1410处,启用位线的均衡,且方法在1403处转到下一编程脉冲。
129.在步骤1409处,停用位线的均衡,且过程返回到步骤1403。
130.在步骤1411处,停用位线处的均衡或禁止位线的放电。除非编程脉冲计数处于其最高值,例如当所有编程电平都已经进行时,否则在步骤1411处的位线均衡的操作发生变化之后,过程可返回到步骤1403。如果编程计数为最大值,则方法1400结束。
131.图15展示了一些控制信号的简化时序图1500,特别是为编程(本文中称为零或编程)选定的位线(bl sel)以及未选定或禁止的位线。在实例实施例中,图1500中所展示的vinhibit可与本文所使用的vddsa相同。可使用且重复第一信号组,直到达到第一编程脉冲阈值为止。此后,启用eqvddsa,且所禁止的位线并不遵循与其中停用eqvddsa的那些位线相同的模式。可以在第2020/0321055号美国专利公开案中到完整时序图,所述公开案以全文引用的方式并入本文中。然而,如果第2020/0321055号美国专利公开案的任何部分与本公开冲突,则以本公开为准。
132.图16展示用于从tlc存储器单元读取数据的七个读取参考电压vr1、vr2、vr3、vr4、vr5、vr6和vr7。通过测试给定存储器单元的阈值电压是高于还是低于所述七个读取参考电压(例如执行感测操作),系统可确定存储器单元处于哪一数据状态(即,s0、s1、s2、s3、

)。
133.图16还展示七个验证参考电压vv1、vv2、vv3、vv4、vv5、vv6和vv7。在将存储器单元编程为数据状态s1时,系统将测试那些存储器单元是否具有大于或等于vv1的阈值电压。在将存储器单元编程为数据状态s2时,系统将测试存储器单元是否具有大于或等于vv2的阈值电压。在将存储器单元编程为数据状态s3时,系统将确定存储器单元是否具有大于或等于vv3的阈值电压。在将存储器单元编程为数据状态s4时,系统将测试那些存储器单元是否具有大于或等于vv4的阈值电压。在将存储器单元编程为数据状态s5时,系统将测试那些存储器单元是否具有大于或等于vv5的阈值电压。在将存储器单元编程为数据状态s6时,系统将测试那些存储器单元是否具有大于或等于vv6的阈值电压。在将存储器单元编程为数据
状态s7时,系统将测试那些存储器单元是否具有大于或等于vv7的阈值电压。
134.在被称为全序列编程的实施例中,可以将存储器单元从已擦除数据状态s0直接编程到已编程数据状态s1到s7中的任一个。举例来说,可首先擦除要编程的存储器单元体,使得所述体中的所有存储器单元都处于已擦除数据状态s0。接着,使用编程过程将存储器单元直接编程为数据状态s1、s2、s3、s4、s5、s6和/或s7。例如,在将一些存储器单元从数据状态s0编程为数据状态s1时,将其它存储器单元从数据状态s0编程为数据状态s2和/或从数据状态s0编程为数据状态s3等等。图16的箭头表示全序列编程。本文所描述的技术也可与除全序列编程以外的其它类型编程(包含但不限于多级/多阶段编程)一起使用。在一些实施例中,数据状态s1-s7可重叠,其中利用控制器122借助错误校正码(ecc)来识别所存储的正确数据。
135.图17是描述数据值到数据状态的分配的一个实例的表。在图17的表中,s0=111,s1=110,s2=200,s3=000,s4=010,s5=011,s6=001,且s7=101。还可以使用其它数据编码。本文所公开的技术不要求特定数据编码。
136.在实施例中,当块进行擦除操作时,所有存储器单元都移动到数据状态s0,即已擦除状态。如下文中进一步论述,当存储器结构允许子块时,擦除物理块的选定子块,但不擦除未选定的子块。在图17的实施例中,当擦除存储器单元时(例如,在数据状态s0中),存储于存储器单元中的所有位都为1。
137.图18是描述由控制器电路系统执行的编程过程的一个实施例的流程图。在一些实施例中,主机可执行控制器电路系统的功能,而不必具有专用控制器。在步骤1802中,控制器电路系统向一个或多个存储器裸片发送对数据进行编程的指令。在步骤1804中,控制器电路系统将一个或多个地址发送到一个或多个存储器裸片。一个或多个逻辑地址指示对数据进行编程的位置。在步骤1806中,控制器电路系统将要编程的数据发送到一个或多个存储器裸片。在步骤1808中,控制器电路系统从一个或多个存储器裸片接收编程的结果。实例结果包含数据被成功地编程、编程操作失败的指示和数据被编程但处于不同位置的指示,或其它结果。在步骤1810中,响应于在步骤1808中接收到的结果,控制器电路系统更新其维持的系统信息。在实施例中,系统维持指示每一块的状态信息的数据表。此信息可包含逻辑地址到物理地址的映射、哪些块/字线为打开/闭合的(或为部分打开/闭合的)、哪些块/字线是不良的,等等。
138.在一些实施例中,在步骤1802之前,控制器电路系统将从主机接收主机数据和编程指令,且控制器将运行错误校正码引擎以根据主机数据创建码字,如本领域中已知且在下文更详细地描述。这些码字为步骤1806中传输的数据。控制器电路系统还可对数据进行加扰以实现存储器单元的耗损均衡。
139.图19是描述编程过程的一个实施例的流程图。图19的过程响应于图18的步骤(即,响应于来自控制器电路系统的指令、数据和地址)而由存储器裸片执行。在实例实施例中,在状态机的指导下,使用上文所论述的一个或多个控制电路在存储器裸片电路系统上执行图19的过程。图19的过程还可用于实施上文所论述的全序列编程,包含在slc编程的至少第一编程脉冲或第一编程循环之后启用位线上来自感测放大器数据锁存器的编程电压(vddsa)的均衡,以及在第一编程脉冲或编程循环之后禁用编程电压(vddsa)的均衡。图19的过程还可用于如本文中所描述的多层级单元编程,并包含启用编程电压(vddsa)的均衡,
直到至少一半或超过一半的位线进入禁止级,且接着停用位线上的编程电压(vddsa)的均衡。另外,图19的过程可用于实施多阶段编程过程中的每一相。
140.通常,在编程操作期间(经由选定字线)施加到控制栅极的编程电压以一系列编程脉冲的形式施加。在编程脉冲之间,存在一组验证脉冲用于执行验证。在许多实施方案中,编程脉冲的量值随着每一连续脉冲增加预定步长。
141.在图19的步骤1870处,将编程电压(vpgm)初始化为起始量值(例如,约12.0v到16.0v或另一合适电平),并且将由状态机维持的程序计数器(pc)初始化为值1。
142.在步骤1872处,将编程信号的编程脉冲vpgm施加到选定字线(被选定用于编程的字线)。在一个实施例中,将同时进行编程的存储器单元组全部连接到相同字线(选定字线)。未选定字线接收一个或多个升压电压(例如,约7伏到11伏)以执行升压方案。如果要对存储器单元进行编程,则将对应位线接地。另一方面,如果存储器单元要保持其当前阈值电压,则将对应位线连接到vdd以禁止编程。在步骤1872处,将编程脉冲同时施加到连接到选定字线的所有存储器单元,使得连接到选定字线的所有存储器单元被同时编程。也就是说,所述存储器单元同时或在重叠时间期间(这两者都被视为同时)进行编程。以此方式,除非连接到选定字线的所有存储器单元都已被锁定而无法编程,否则所述存储器单元将同时改变其阈值电压。
143.在步骤1874处,使用一组适当的验证参考电压执行一个或多个验证操作来验证适当的存储器单元。在实施例中,验证过程通过测试被选定用于编程的存储器单元的阈值电压是否已达到适当验证参考电压来执行。
144.在步骤1876处,确定所有存储器单元是否都已达到其目标阈值电压(通过)。如果是,则编程过程完成且成功,因为所有选定存储器单元都被编程且验证为其目标状态。在步骤1878中,报告“通过”状态。在1876处,如果确定并非所有存储器单元都已达到其目标阈值电压(未通过),则编程过程继续到步骤1880。
145.在步骤1880处,系统对尚未达到其相应目标阈值电压分布的存储器单元的数目进行计数。也就是说,系统对到目前为止未能通过验证过程的存储器单元的数目进行计数。此计数可通过状态机、控制器或其它逻辑完成。在一个实施方案中,感测块中的每一个将存储其相应单元的状态(通过/未通过)。在一个实施例中,存在一个总计数,其反映未能通过上一验证步骤且当前正进行编程的存储器单元的总数目。在另一实施例中,分开保存每一数据状态的计数。
146.在步骤1882处,确定来自步骤1880的计数是否小于或等于预定限值。在一个实施例中,预定限值是在存储器单元页的读取过程期间可通过错误校正码(ecc)校正的位数目。如果未通过存储器单元的数目小于或等于预定限值,则编程过程可以停止且在步骤1878中报告“通过”状态。在此情形中,有足够的存储器单元被正确地编程,使得在读取过程期间可使用ecc校正尚未完全编程的一些剩余存储器单元。在一些实施例中,步骤1880将对每一扇区、每一目标数据状态或其它单元的未通过单元的数目进行计数,并且那些计数将单独地或共同地与步骤1882处的阈值进行比较。
147.在另一实施例中,预定限值可小于在读取过程期间可通过ecc校正的位数目以允许未来出现错误。当编程用于页的少于全部存储器单元或比较仅一个数据状态(或少于所有状态)的计数时,预定限值就可以是在存储器单元页的读取过程期间可通过ecc校正的位
数目的一部分(按比例或不按比例)。在一些实施例中,限值不预先确定。替代地,限值基于已针对页计数的错误数目、所执行的编程擦除循环的数目或其它准则而改变。
148.如果未通过存储器单元的数目不小于预定限值,则编程过程继续进行到步骤1884:相对于编程限值(pl)检查编程计数器pc。编程限值的实例包含12、20和30;然而,可使用其它值。如果编程计数器pc不小于编程限值pl,则认为编程过程未通过,且在步骤1888中报告未通过状态。这是编程错误的一个实例。如果编程计数器pc小于编程限值pl,则所述过程继续进行到步骤1886,在此期间,编程计数器pc递增1且编程电压vpgm步进到下一量值。举例来说,下一脉冲将具有比前一脉冲大一个步长(例如,步长为0.1伏到0.5伏)的量值。在步骤1886之后,所述过程循环回到步骤1872:将另一编程脉冲施加到选定字线,从而执行图19的编程过程的另一迭代(步骤1872到1886)。
149.一般来说,在验证操作和读取操作期间,将选定字线连接到电压(参考信号的一个实例),所述电压的电平针对每一读取操作是特定的(例如,参看图16的读取参考电压vr1、vr2、vr3、vr4、vr5、vr6和vr7)或针对每一验证操作是特定的(例如,参看图16的验证参考电压vv1、vv2、vv3、vv4、vv5、vv6和vv7),以便确定有关存储器单元的阈值电压是否已达到此类电平。在施加字线电压之后,测量存储器单元的传导电流以确定存储器单元是否已响应于施加到字线的电压而接通(已传导电流)。如果测量出传导电流大于特定值,则认为存储器单元已接通,且施加到字线的电压大于存储器单元的阈值电压。如果并未测量到传导电流大于所述特定值,则认为存储器单元并未接通,且施加到字线的电压不大于存储器单元的阈值电压。在读取或验证过程期间,在未选定存储器单元的控制栅极处提供有一个或多个读取通过电压,使得这些存储器单元将用作通过栅极(例如,无论这些存储器单元是被编程还是被擦除,都传导电流)。
150.存在许多方式用于在读取或验证操作期间测量存储器单元的传导电流。在一个实例中,通过存储器单元的传导电流对感测放大器中的专用电容器放电或充电的速率来测量所述传导电流。在另一实例中,选定存储器单元的传导电流允许(或不允许)包含所述存储器单元的nand串对对应位线放电。在一段时间之后测量所述位线上的电压,确定所述位线是否已放电。应注意,本文所描述的技术可与本领域中已知的用于验证/读取的不同方法一起使用。也可使用本领域中已知的其它读取和验证技术。
151.在一些实施例中,控制器电路系统从主机(或客户端、用户等等)接收将主机数据(从主机接收到的数据)编程到存储器系统中的请求。在一些实施例中,控制器电路系统将要编程的主机数据布置为数据单元。举例来说,控制器电路系统可将主机数据布置为页、字线单元、块、巨型块或其它单元。出于本文件的目的,块是存储器单元的物理分组。在一个实例中,块是擦除单元。然而,在其它实例中,块不必为擦除单元。在一个实例中,块包括由不间断的字线连接的一组存储器单元,例如连接到一组公共字线的一组nand串。也可使用其它物理布置。
152.图19的步骤1872包含在选定字线上施加编程电压脉冲。图19的步骤1874包含验证,在一些实施例中,所述验证包括在选定字线上施加验证参考电压。由于步骤1872和1874为迭代循环的部分,因此编程电压被施加为在量值上步进的一系列电压脉冲。在电压脉冲之间,施加验证参考电压。这在图20中描绘,其展示了在步骤1872的三个连续迭代期间施加的编程电压脉冲1892、1894和1896。在编程电压脉冲1892、1894和1896之间,例如控制器电
路系统的系统通过施加验证参考电压作为验证脉冲来测试存储器单元,以确定存储器单元的阈值电压是否大于相应验证参考电压。
153.在图19的步骤1872处施加编程脉冲之前,如本文所描述的那样对存储器单元进行编程,如果要编程存储器单元,则将对应位线接地。另一方面,如果存储器单元要保持在其当前阈值电压,则将对应位线连接到编程禁止电平,例如vdd。在许多实施例中,擦除块的字线从例如字线wl0的字线源端开始编程。由于选定字线与位线之间的列的其它存储器单元被擦除,这允许位线上的电平被均匀地施加到选定字线的存储器单元,而如果中间存储器单元中的任一个要进行编程,则存储器单元的这一预充电可被阻止。接着,按从底部上的源极侧到nand串的漏极端处的位线的次序循序写入块的字线。
154.模块还可以至少部分地实施于软件中以供各种类型的处理器执行。可执行代码的识别模块可例如包括计算机指令的一个或多个物理或逻辑块,所述计算机指令的一个或多个物理或逻辑块可例如被组织为对象、程序或功能。然而,识别模块的可执行文件不必在物理上定位在一起,而是可以包括存储在不同位置中的不同指令,所述指令在逻辑上结合在一起时包括所述模块并且实现所述模块的所述目的。
155.实际上,可执行代码的模块可包含单个指令或许多指令,且甚至可分布在若干不同代码段中、不同程序当中、跨越若干存储器装置等。在模块或模块的部分实施于软件中的情况下,软件部分可存储于一个或多个计算机可读和/或可执行的存储媒体上。可以利用一个或多个计算机可读存储媒体的任何组合。计算机可读存储媒体可包含例如但不限于电子、磁性、光学、电磁、红外线或半导体系统、设备或装置,或前述所列的任何合适的组合,但将不包含传播信号。在本文件的上下文中,计算机可读和/或可执行存储媒体可以是可含有或存储供指令执行系统、设备、处理器或装置使用或结合指令执行系统、设备、处理器或装置使用的程序的任何有形和/或非暂时性媒体。
156.可以一种或多种编程语言的任何组合来编写用于进行本公开的各方面的操作的计算机程序代码,所述编程语言包含例如python、java、smalltalk、c++、c#、objective c等面向对象的编程语言,例如“c”编程语言、脚本处理编程语言和/或其它类似的编程语言等常规程序编程语言。程序代码可部分地或完全地在用户计算机中的一个或多个上和/或在经由数据网络等的远程计算机或服务器上执行。如本文所使用,组件包括有形的物理非暂时性装置。举例来说,组件可实施为硬件逻辑电路,其包括定制vlsi电路、门阵列或其它集成电路;现成的半导体,例如逻辑芯片、晶体管或其它离散装置;和/或其它机械或电气装置。组件还可以实施于可编程硬件装置中,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等。组件可包括一个或多个硅集成电路装置(例如,芯片、裸片、裸片平面、封装)或其它离散电气装置,其通过印刷电路板(pcb)等的电线与一个或多个其它组件电通信。在某些实施例中,本文中所描述的模块中的每一个可替代地由组件体现或实施为组件。
157.如本文所使用,电路或电路系统包括提供电流的一个或多个路径的一组一个或多个电气和/或电子组件。在某些实施例中,电路可包含用于电流的返回路径,使得电路为闭环。然而,在另一实施例中,不包含电流的返回路径的一组组件可被称为电路(例如,开环)。举例来说,集成电路可被称为电路,而不管集成电路是否耦合到地(作为电流的返回路径)。在各种实施例中,电路可包含集成电路的一部分、集成电路、一组集成电路、具有或不具有集成电路装置的一组非集成电路和/或电气组件等。在实施例中,电路可包含定制vlsi电
路、门阵列、逻辑电路或其它集成电路;现成的半导体,例如逻辑芯片、晶体管或其它离散装置;和/或其它机械或电气装置。电路还可实施为可编程硬件装置中的合成电路,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等(例如,作为固件、网表等)。电路可包括一个或多个硅集成电路装置(例如,芯片、裸片、裸片平面、封装)或其它离散电气装置,其通过印刷电路板(pcb)等的电线与一个或多个其它组件电通信。在某些实施例中,本文中所描述的模块中的每一个可由电路体现或实施为电路。
158.通过引入,提供用于本技术中所使用的各种术语的以下简要定义。将在本文中的图式的论述的上下文中提供额外定义。如本文所使用,“示例性”可指示实例、实施方案和/或方面,且不应理解为限制或指示偏好或优选实施方案。此外,应了解,可提供特定序数术语(例如“第一”或“第二”)以用于识别且便于参考,且可能不一定暗示物理特性或次序。因此,如本文中所使用,用于修饰例如结构、组件、操作等等元件的序数术语(例如“第一”、“第二”、“第三”)未必指示所述元件相对于另一元件的优先级或次序,而是仅区分所述元件与具有相同名称(但所用序数术语不同)的另一元件。另外,如本文中所使用,不定冠词(“一(a/an)”)可指示“一个或多个”而非“一个”。如本文中所使用,“包括”或“包含”元件的结构或操作可包含并未明确叙述的一个或多个其它元件。因此,除非另外明确规定,否则术语“包含”、“包括”、“具有”及其变化表示“包含但不限于”。除非另外明确规定,否则术语“一(a/an)”、“和”、“所述”还指“一个或多个”。此外,“基于”条件或情况执行的操作也可基于并未明确叙述的一个或多个其它条件或情况执行。如在本技术中所使用,术语“实施例”、“一个实施例”、“另一实施例”或类似语言并不是指所公开的标的物的单个变化;替代地,此语言是指可与所公开的标的物的数个不同实施方案一起应用且使用的所公开标的物的变化。除非另外明确规定,否则列举的项目列表并不暗示任何或所有项目都是相互排斥和/或相互包含的。
159.下文参考根据本公开的实施例的方法、设备、系统和计算机程序产品的示意性流程图和/或示意性框图描述了本公开的各方面。应理解,可以通过计算机程序指令来实施示意性流程图和/或示意性框图的每一块以及示意性流程图和/或示意性框图中的块的组合。这些计算机程序指令可以被提供给计算机的处理器或其它可编程数据处理设备以产生机器,从而使得经由处理器或其它可编程数据处理设备执行的指令创建用于实施一个或多个示意性流程图和/或示意性框图的块中指定的功能和/或动作的构件。
160.还应注意,在一些替代性实现方案中,框中标注的功能可以不按图示中标注的次序发生。举例来说,根据所涉及的功能性,连续展示的两个框实际上可以大体上同时执行,或这些框有时可以相反次序执行。可以构想其它步骤和方法,这些步骤和方法在功能、逻辑或效果上等同于所示图示的一个或多个块或其部分。尽管在流程图和/或框图中可以采用各种箭头类型和线类型,但是应理解,它们不限制对应实施例的范围。举例来说,箭头可以指示所描绘实施例的所列步骤之间未指定持续时间的等待或监测时段。
161.如本文所使用,“存储器单元”包括可存储单个状态的硬件组件。存储器单元可包括易失性或非易失性存储器单元。存储于存储器单元中的状态可表示各种类型的值中的一个,例如,单位值或多位值。
162.在前述详细描述中,参考附图,所述附图形成描述内容的一部分。前述概述仅仅是说明性的,并且不旨在以任何方式进行限制。除了上文所描述的说明性方面、实施例和特征
之外,通过参考附图以及以下详细描述,另外的方面、实施例和特征将变得显而易见。每一图式中的元件的描述可以指前述图式的元件。在图式中相同的标号可以指相同的元件,包含相同元件的替代实施例。
163.出于说明和描述的目的,已呈现本发明的前述详细描述。其并非旨在为穷尽性的或将本发明限制于所公开的精确形式。鉴于以上教示,许多修改和变化都是可能的。选择所描述的实施例以便最好地解释本发明的原理和其实际应用,由此使得本领域的其它技术人员能够在各种实施例中并且以适于所预期的特定用途的各种修改最好地利用本发明。希望本发明的范围由所附权利要求书限定。

技术特征:


1.一种设备,其包括:多个存储器单元,其配置成存储多个状态;存储器控制器,其可操作地连接到所述多个存储器单元以控制其中的数据存储,且配置成:将编程控制信号施加到选定位线,以对所述多个存储器单元中的选定存储器单元进行编程,从而对所述选定存储器单元进行编程,且将禁止控制信号施加到所述多个存储器单元中的未选定存储器单元,以阻止对所述未选定存储器单元进行编程,在将初始编程脉冲施加到所述选定存储器单元之后,停用施加到所述选定位线的均衡信号,且在达到编程脉冲的阈值数目后立即启用施加到所述选定位线的所述均衡信号。2.根据权利要求1所述的设备,其中所述存储器控制器配置成将编程脉冲的所述阈值设置为某一数值,在此数值下,所述多个存储器单元中的至少一半编程到相应最终存储器状态。3.根据权利要求2所述的设备,其中所述存储器控制器进一步配置成停用所述均衡信号以减少电力消耗且减少禁止存储器单元干扰。4.根据权利要求1所述的设备,其中所述存储器控制器配置成控制单层级单元的编程且针对第一编程脉冲停用所述均衡信号。5.根据权利要求4所述的设备,其中所述存储器控制器配置成在第二编程脉冲或稍后编程脉冲之后启用位线均衡。6.根据权利要求1所述的设备,其中所述存储器控制器配置成通过针对预定编程脉冲选择性地启用和停用所述均衡信号而控制部分页上的单层级单元的编程。7.根据权利要求1所述的设备,其中所述存储器控制器配置成控制三层级单元的编程且针对前三个编程脉冲停用所述均衡信号。8.根据权利要求7所述的设备,其中所述存储器控制器配置成在完成c层级编程之后启用所述均衡。9.根据权利要求8所述的设备,其中所述存储器控制器配置成在完成f层级编程之后停用所述均衡。10.根据权利要求1所述的设备,其中所述存储器控制器配置成控制四层级单元的编程,针对至少第一编程脉冲停用所述均衡信号,在完成s7编程之后启用所述均衡信号,且在完成s13编程之后停用所述均衡信号。11.根据权利要求1所述的设备,其中所述存储器控制器配置成使用mls/精细编程来控制对四层级单元的编程,针对至少第一编程脉冲停用所述均衡信号,在完成a编程之后启用所述均衡信号,且在完成c编程之后停用所述均衡信号。12.一种非易失性存储器控制方法,其包括:将选择控制信号施加到选定位线,以对多个存储器单元中的选定存储器单元寻址,从而对所述选定存储器单元进行编程;将禁止控制信号施加到所述多个存储器单元中的未选定存储器单元,以阻止对所述未选定存储器单元进行编程;停用所述选定位线的放电,直到初始编程脉冲被施加到所述选定存储器之后为止;以
及在达到编程脉冲的阈值后立即启用所述选定位线的放电。13.根据权利要求12所述的方法,其中启用所述选定位线的放电的步骤包含在使所述位线放电之前,将所述位线均衡到vddsa。14.根据权利要求12所述的方法,其进一步包括将编程脉冲的所述阈值设置为某一数值,在此数值下,所述存储器单元中的至少一半编程到相应最终存储器状态。15.根据权利要求12所述的方法,其进一步包括控制对单层级单元的编程,且其中停用所述选定位线的所述放电包含针对第一编程脉冲停用所述放电。16.根据权利要求12所述的方法,其进一步包括控制三层级单元的编程的步骤,且其中停用所述选定位线的所述放电包含针对前三个编程脉冲停用所述位线的放电。17.根据权利要求16所述的方法,其中启用所述选定位线的所述放电的步骤进一步包含在完成c编程之后,启用已停用位线进行放电。18.根据权利要求17所述的方法,其中停用选定位线的所述放电的步骤进一步包含在完成f编程之后停用先前启用的位线。19.一种非易失性存储器控制方法,其包括:将编程脉冲计数设置为零;在编程电平下利用位线执行编程脉冲;使所述编程脉冲计数递增;在所述编程脉冲计数低于第一阈值的情况下,停用编程脉冲之间的位线放电,且接着通过返回到在编程电平下利用位线执行编程脉冲来执行后续编程脉冲;在所述编程脉冲计数处于或高于第一阈值的情况下,启用编程脉冲之间的位线放电,且接着返回到在编程电平下利用位线执行编程脉冲且使所述编程脉冲计数递增;以及在所述编程脉冲计数高于第二阈值的情况下,停用编程脉冲之间的位线放电。20.根据权利要求19所述的方法,其中执行所述编程脉冲包含针对qlc存储器执行编程脉冲、在s7编程脉冲电平下设置所述第一阈值以及在s13编程脉冲电平下设置所述第二阈值。

技术总结


描述了在基于数据模式的编程期间对存储器单元进行编程和控制位线放电方案的设备和方法。存储器控制器可基于SLC脉冲数目和TLC数据完成信号而预测编程数据模式,且使用这些信号来调整禁止位线可以放电的时间。一旦TLC编程操作具有多于一个数据,所述存储器控制器就使EQVDDSA_PROG与VDDSA相等,且接着放电。在SLC编程中,所述存储器控制器将仅在第一编程脉冲中启用EQVDDSA_PROG,此后停用所述EQVDDSA_PROG。EQVDDSA_PROG。EQVDDSA_PROG。


技术研发人员:

徐华玲 H

受保护的技术使用者:

桑迪士克科技有限责任公司

技术研发日:

2022.02.10

技术公布日:

2022/12/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-60822-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-25 10:03:44

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论