对存储器件进行编程和验证的方法以及相关的存储器件转让专利
申请号 : CN201980002547.6
文献号 : CN110870015B
文献日 : 2021-03-12
发明人 : 赵向南 , 宋雅丽 , 张安 , 刘红涛 , 靳磊
申请人 : 长江存储科技有限责任公司
摘要 :
权利要求 :
1.一种对包括多个存储单元和多个字线的存储器件进行编程和验证的方法,所述方法包括:
对所述多个存储单元中的第一存储单元执行第一粗略编程,所述第一存储单元由所述多个字线中的第一字线控制;
在对所述第一存储单元执行所述第一粗略编程之后,对所述多个存储单元中的第二存储单元执行第二粗略编程,所述第二存储单元由所述多个字线中的第二字线控制;
根据第一粗略验证电流,确定所述第一存储单元是否通过了粗略验证;以及根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二存储单元是否通过了第二粗略验证。
2.根据权利要求1所述的方法,还包括:在所述第一存储单元通过了所述第一粗略验证之后,对所述第一存储单元执行第一精细编程;以及
在所述第二存储单元通过了所述第二粗略验证之后,对所述第二存储单元执行第二精细编程。
3.根据权利要求1所述的方法,还包括:通过向所述第一字线施加编程电压来对所述第一存储单元执行所述第一粗略编程;
使所述编程电压的电平增长第一量;以及在确定所述第一存储单元未通过所述第一粗略验证之后,通过将经增长的编程电压施加到所述第一字线来对所述第一存储单元执行第三粗略编程。
4.根据权利要求3所述的方法,还包括:在确定所述第一存储单元通过了第三粗略验证之后,使所述编程电压的所述电平增长第二量,所述第二量小于所述第一量;以及通过将经增长的编程电压施加到所述第一字线来对所述第一存储单元执行第一精细编程。
5.一种存储器件,包括:
存储器阵列,包括多个存储单元;
多个字线;
字线驱动器;以及
控制器,被配置为:
对第一存储单元执行第一粗略编程,所述第一存储单元由所述多个字线中的第一字线控制;
在对所述第一存储单元执行所述第一粗略编程之后,对第二存储单元执行第二粗略编程,所述第二存储单元由所述多个字线中的第二字线控制;
根据第一粗略验证电流,确定所述第一存储单元是否通过了粗略验证;以及根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二存储单元是否通过了第二粗略验证。
6.根据权利要求5所述的存储器件,其中,所述控制器还被配置为:在所述第一存储单元通过了所述第一粗略验证之后,对所述第一存储单元执行第一精细编程;以及
在所述第二存储单元通过了所述第二粗略验证之后,对所述第二存储单元执行第二精细编程。
7.根据权利要求5所述的存储器件,其中,所述控制器还被配置为:通过指令所述字线驱动器向所述第一字线施加编程电压来对所述第一存储单元执行所述第一粗略编程;
指令所述字线驱动器使所述编程电压的电平增长第一量;以及在确定所述第一存储单元未通过所述第一粗略验证之后,通过指令所述字线驱动器将经增长的编程电压施加到所述第一字线来对所述第一存储单元执行第三粗略编程。
8.根据权利要求7所述的存储器件,其中,所述控制器还被配置为:在确定所述第一存储单元通过了第三粗略验证之后,指令所述字线驱动器使所述编程电压的所述电平增长第二量,所述第二量小于所述第一量;以及通过指令所述字线驱动器将经增长的编程电压施加到所述第一字线来对所述第一存储单元执行第一精细编程。
9.根据权利要求5所述的存储器件,其中,所述多个存储单元被以三维四级单元(3D QLC)结构布置。
说明书 :
对存储器件进行编程和验证的方法以及相关的存储器件
技术领域
背景技术
他器件中。最近,已提出了使用三维(3D)堆叠存储器结构(有时被称为比特成本可缩放(Bit
Cost Scalable,BiCS)架构)的超高密度的储存器件。例如,可以由交替的导电和电介质层
的阵列形成3D NAND堆叠闪存器件。在这些层中钻存储孔,以同时限定许多存储层。然后通
过用适当的材料填充存储孔来形成NAND串。存储单元的控制栅极由导电层提供。
耦合的影响,可以通过粗略和精细编程来对3D QLC NAND存储器进行编程以提高整体编程
速度。还有,在粗略/精细编程的每个步骤之后,根据恒定的粗略/精细验证电流执行粗略/
精细验证,以确定所选择的存储单元是否已经达到期望值。
NAND存储器件采用更多的层,最佳电流(best-of-current,BOC)情况电流-电压曲线和最差
电流(worse-of-current,WOC)情况电流-电压曲线之间的差异也增大,从而导致不同的存
储单元之间的较大的增益变化。因此,现有技术的粗略/精细编程方法在存储单元的阈值电
压上具有小的余量。
发明内容
存储单元由所述多个字线中的第一字线控制;在对所述第一存储单元执行所述第一粗略编
程之后,对所述多个存储单元中的第二存储单元执行第二粗略编程,所述第二存储单元由
所述多个字线中的第二字线控制;根据第一粗略验证电流,确定所述第一存储单元是否通
过了粗略验证;以及根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二
存储单元是否通过了第二粗略验证。
略编程,所述第一存储单元由所述多个字线中的第一字线控制;在对所述第一存储单元执
行所述第一粗略编程之后,对第二存储单元执行第二粗略编程,所述第二存储单元由所述
多个字线中的第二字线控制;根据第一粗略验证电流,确定所述第一存储单元是否通过了
粗略验证;以及根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二存储
单元是否通过了第二粗略验证。
附图说明
具体实施方式
明。应当理解,本发明的各种实施例尽管不同,但不一定是相互排斥的。例如,在不脱离本发
明的精神和范围的情况下,在此结合一个实施例描述的特定特征、结构或特性可以被实现
于其他实施例内。另外,应当理解,在不脱离本发明的精神和范围的情况下,可以修改每个
公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被理解为限制性的,并
且本发明的范围仅由适当地解释的所附权利要求以及权利要求所赋予的等同物的全部范
围来限定。在附图中,贯穿若干视图,相似的数字表示相同或类似的功能。
称为NAND串。图1和图2中所描绘的NAND串包括串联耦合并夹在顶部选择栅极SG_T(在漏极
侧)和底部选择栅极SG_B(在源极侧)之间的四个晶体管101~104。顶部选择栅极SG_T被布
置用于经由位线接触部将NAND串连接到位线,并且可以通过向选择栅极线SGTL施加适当的
电压来控制该顶部选择栅极SG_T。底部选择栅极SG_B被布置用于将NAND串连接到源极线,
并且可以通过向选择栅极线SGBL施加适当的电压来控制该底部选择栅极SG_B。晶体管101
~104中的每个包括控制栅极和浮置栅极。例如,晶体管101包括控制栅极CG1和浮置栅极
FG1,晶体管102包括控制栅极CG2和浮置栅极FG2,晶体管103包括控制栅极CG3和浮置栅极
FG3,并且晶体管104包括控制栅极CG4和浮置栅极FG4。控制栅极CG1连接到字线WL1,控制栅
极CG2连接到字线WL2,控制栅极CG3连接到字线WL3,并且控制栅极CG4连接到字线WL4。
然而,NAND串中的存储单元的数量不限制本发明的范围。
选择栅极SG_T连接到其相关联的位线。每个位线和经由位线接触部连接到该位线的相应的
NAND串(单个或多个)包括存储单元的阵列的列。位线被多个NAND串共享。典型地,位线在垂
直于字线的方向上在NAND串的顶部延伸,并连接到一个或多个感测放大器。
大的数。块包含一组NAND串,该一组NAND串被经由位线BL1-BLM和一组公共字线WL1~WLN访
问,其中M和N是大于1的整数。NAND串的一个端子经由顶部选择栅极(连接到选择栅极线
SGTL)连接到对应的位线,并且另一端子经由底部选择栅极(连接到选择栅极线SGBL)连接
到源极线。每个块典型地被分成多个页面,如由虚线表示的。在一个实施例中,块是常规擦
除的单位,而页面是常规编程的单位。然而,也可以使用擦除/编程的其他单位。
证逻辑140、粗略/精细验证电路150、控制器160以及微码170。存储器阵列110是非易失性存
储器阵列,其在断电时保持其状态。例如,存储器阵列110可以是NAND闪存,其包括具有浮栅
晶体管的存储单元,如图1和2所示。此外,可以以3D MLC结构布置存储器阵列110,以增大数
据容量。然而,存储器件100的类型不限制本发明的范围。
示的存储器件100可以包括写接口电路或读接口电路。此外,存储器件100可包括从一个或
多个接口电路到控制器160、数据缓冲器130或图3中所示的任何其他块的信号线。图3中所
示的块被选择为支持对与存储器阵列110的编程有关的各种实施例的解释。
微码170接收并执行软件指令。微码170可以被保持在诸如单独的闪存的非易失性存储元件
中。然而,实现控制器160和微码170的方式不限制本发明的范围。
以对存储器阵列110的子集进行编程,并且数据缓冲器130可以仅保存对子集进行编程的数
据。在编程操作期间,位线驱动器104被配置为向存储器阵列110内的位线提供适当的电压,
并且字线驱动器102被配置为在存储器阵列110内的字线上提供编程脉冲。
以三级单元(TLC)结构布置的存储器阵列110可以每个单元存储3比特,并且以四级单元
(QLC)结构布置的存储器阵列110可以每个单元存储4比特。
二电平(L2)和第三电平(L3),其中L0对应于具有最低阈值电压的未编程存储单元,L3对应
于具有最高阈值电压的编程的存储单元,并且L1和L2对应于具有中间阈值电压的编程的存
储单元。L3、L2、L1和L0也分别表示为“00”、“01”、“10”和“11”。
电平L0、L1、L2和L3的成对的数据比特。由于存储单元所保持的要擦除的比特全为1,因此要
用L0或“11”编程的MLC存储单元根本不需要被编程。本发明的各个实施例认识到不需要对
要保持“11”的单元进行编程,可以将要保持“00”的单元编程为高阈值电压,并且可以将要
保持“10”或“01”的单元编程为中间阈值电压。对应于各种编程状态的阈值电压被限定为彼
此具有足够的距离,以允许可靠地读取MLC存储单元。
线上的栅极电压增长,直到编程值接近期望的中间阈值电压,并且然后继续以精细步骤使
字线上的栅极电压增长,直到编程的值满足或超过预定水平。下面进一步描述利用粗略和
细字线电压步骤的各种编程实施例。如本文所使用的,术语“粗略脉冲”是指字线电压中的
在粗略步骤之后施加的编程脉冲,而术语“精细脉冲”是指字线电压中在精细步骤之后施加
的编程脉冲
括用于提供各种电压的电压参考电路,并且位线驱动器104和字线驱动器102包括用于选择
电压的开关。在其他实施例中,位线驱动器104和字线驱动器102包括电压生成电路,并且控
制器160提供数字控制信息,以指令位线驱动器104和字线驱动器102驱动位线和字线上的
各种电压。然而,生成电压或将电压路由到位线和字线的方式不限制本发明的范围。
电流可以随着存储单元被编程而改变。在一些实施例中,字线驱动器102在编程操作之间在
字线上提供“感测电压”以执行“验证”操作。本发明的各种实施例利用两种不同类型的验证
操作:“粗略验证”和“精细验证”。在下面进一步描述粗略验证和精细验证。
以包括一个或多个参考电路,其提供可以与数据进行比较的参考电平。例如,数据可以是电
流的形式,并且参考电路可以包括提供参考电流的编程的存储单元。在一些实施例中,每个
电平存在多个参考。出于说明性目的使用MLC实施例,感测电路122可以包括L1粗略验证电
流、L1精细验证电流、L2粗略验证电流、L2精细验证电流和L3验证电流。
行比较来生成数字输出信号,并且通过编程验证逻辑140将这些数字输出信号与数据缓冲
器130中的数据进行比较。在一些实施例中,存储器阵列110内的多个位置被同时编程,并且
在验证操作期间,同时验证存储器阵列110内的多个位置。例如,编程验证逻辑140可以同时
验证存储器阵列110内的32个位置。此外,在一些实施例中,存储器阵列110内同时被编程的
位置的数量可以基于各种总线的通信带宽或存储器件100内的编程泵的电流能力而改变。
是否已经超过了对应的粗略参考,并且如果是,则向控制器160断言“粗略通过”信号。出于
说明性目的使用MLC实施例,对当前正用L1或L2编程的所有存储单元执行粗略验证操作。在
这些实施例中,即使一个存储单元超过了对应的粗略参考,粗略/精细验证电路150也将断
言粗略通过信号。通过断言粗略通过信号,粗略/精细验证电路150可以通知控制器160从粗
略栅极电压步骤切换到精细栅极电压步骤。
路122可以将列解码器120的输出与对应的精细验证电流进行比较。出于说明性目的使用
MLC实施例,将正用L1编程的位置中的数据与L1精细验证电流进行比较,并且将正用L2编程
的位置中的数据与L2精细验证电流进行比较。同样在精细验证操作期间,编程验证逻辑140
可以将传感电路122的输出与来自数据缓冲器130的数据进行比较。对于满足(meet)或超过
对应的精细验证电流的位置,编程验证逻辑140被配置为在数据缓冲器130中写诸如“11”的
通过数据,以指示对应的存储单元已经通过了精细验证操作。对于未满足或超过对应的精
细验证电流的位置,编程验证逻辑140不改变数据缓冲器130中的数据。然后重复精细脉冲,
但是对于已经满足或超过精细验证电流的那些位置则不重复,因为数据缓冲器130中与那
些位置对应的数据现在为“11”。仅当正被编程的所有存储单元已被正确编程时才断言“精
细通过”信号。
程的存储单元经受这一系列编程电压脉冲,每次都试图向其浮栅添加增量电荷。
地说,在每个粗略编程时段PC的开始,编程电压VPGM的电平增长VC的量(粗略脉冲)。在步骤
560中,在编程时段PF1期间,以精细步骤使编程电压VPGM增长。更特别地,在每个精细编程时
段FC的开始,编程电压VPGM的电平增长VF的量(精细脉冲),其中VF
570中,可以通过在一个或多个精细编程时段FC期间将编程电压VPGM(精细脉冲)施加到对应
的选择的字线,来对一个或多个选择的存储单元执行精细编程。每个脉冲向该一个或多个
选择的存储单元添加增量电荷,以达到存储在数据缓冲器130中的一个或多个编程状态的
目的。
包括提供参考电流的编程的存储单元。在一些实施例中,针对每个编程的电平存在多个参
考。出于说明性目的使用MLC实施例,感测电路122可以提供L1粗略验证电流、L1精细验证电
流、L2粗略验证电流、L2精细验证电流和L3验证电流。
字线(n为小于N的正整数)。首先,将第一字线子集SUB1中的字线WL1~WLn顺序编程,然后顺
序地编程第二字线子集SUB2中的字线WLn+1~WL2n。继续相同的过程,直到第P字线子集中的
字线WLN-n+1~WLN被顺序编程。
流设定为ISENSE1;如果由第二字线子集SUB2中的字线控制的选择的存储单元将被编程到L1,
则将对应的粗略验证电流设定为ISENSE2;…;如果由第P字线子集SUBP中的字线控制的选择
的存储单元将被编程到L1,则将对应的粗略验证电流设定为ISENSEP,其中ISENSE1>ISENSE2>…>
ISENSEP。换句话说,与较晚时间被编程为L1的字线子集相关联的粗略验证电流被设定为小于
与较早时间被编程为L1的字线子集相关联的粗略验证电流的值。
测操作。
的存储单元的当前电压电平。
对应的粗略/精细验证电流进行比较。
施例中,可以省略步骤550,并且在步骤540中确定为“否”之后,该方法直接循环回到步骤
500。上述循环的目的是向一个或多个选择的存储单元添加增量电荷,直到正被编程的存储
单元中的至少一个存储单元已经超过了对应的粗略验证电流为止。
的使用MLC实施例,对当前正用L1或L2编程的所有存储单元执行粗略验证操作。在这些实施
例中,如果任何存储单元超过了对应的粗略参考,则粗略/精细验证电路150将断言粗略通
过信号。通过断言粗略通过信号,在步骤560中,粗略/精细验证电路150可以通知控制器160
以精细步骤使编程电压VPGM增长。
骤600中通过精细验证(超过对应的精细验证电流)的所有存储单元,将指示数据写至数据
缓冲器130。接下来,该方法直接循环回到步骤560。指示数据,诸如在MLC配置中的“11”,防
止已通过精细验证的所有存储单元被重新脉冲化。上述循环的目的是向一个或多个选择的
存储单元添加增量电荷,直到正被编程的所有存储单元都超过了对应的精细验证电流。
的存储单元是否已经达到期望值。可以根据对字线进行编程的顺序来调整每个粗略验证电
流的值,从而补偿不同存储单元之间的增益变化。因此,本方法可以在存储单元的阈值电压
上提供大的余量。