一种可变编程级数的三维闪存阵列单元操作方法与流程

文档序号:17943415发布日期:2019-06-18 23:20阅读:328来源:国知局
一种可变编程级数的三维闪存阵列单元操作方法与流程

本发明属于半导体存储技术领域,更具体地,涉及一种可变编程级数的三维闪存阵列单元操作方法。



背景技术:

闪存(flash),作为一种非易失性存储器,可以分为nand闪存和nor闪存两类。nor闪存的每个存储单元独立地与位线和字线连接,因此表现良好的随机存储特性,nand闪存的多个存储单元串联在一起进行,因而表现良好的集成特性,常用于高密度闪存阵列的实现。随着特征尺寸的减小,平面结构的闪存阵列将会面对临近单元串扰加重、浮栅存储电子数目过少等问题。为了继续提高存储密度,三维垂直堆叠结构的闪存阵列获得了发展。

三维垂直nand存储串在2001年被首次公开,但是,这种nand存储串每个单元只能存储一位数据。多值存储是实现存储器的容量扩充的有效方式之一。在存储单元存在多个状态的时候,如何精确调控阵列中每个单元的编程级数具有重要的意义。

专利cn104269407a公开一种非易失性高密度三维半导体存储器件及其制备方法,其对传统闪存串的对称结构进行改动,通过非对称的形式达到了阻隔电介质层在各个方向厚度不同的效果,实现了电荷存储层存储电荷量随写入电压的增大而增大,一个存储单元至少能存两位数据。然而,该专利未对多值存储的实现方法进行描述。



技术实现要素:

针对现有技术的缺陷,本发明的目的在于解决现有技术未涉及多值存储实现方式的技术问题。

为实现上述目的,第一方面,本发明实施例提供了一种可变编程级数的三维闪存阵列单元操作方法,该方法以介质层厚度不同的四边形存储单元结构为基础,该方法包括以下步骤:

步骤s1.接收擦除操作指令与地址信息;

步骤s2.根据所述擦除指令与地址信息,对选定块结构进行具备验证功能的擦除操作;

步骤s3.接收多级编程指令与地址信息;

步骤s4.判断地址是否溢出,若是,进入步骤s5,否则,接收目标单元的编程级数信息,进入步骤s6;

步骤s5.选定块结构的编程操作完成,结束;

步骤s6.根据多级编程指令、地址信息和目标单元的编程级数信息,对当前闪存单元进行多级编程操作;

步骤s7.判断当前级数阈值电压和上一级操作后的阈值电压的差是否不小于预设的最小间隔电压,若是,更改地址信息,进入步骤s3,进行下一个闪存单元的编程操作;否则,重新对当前闪存单元进行不多于预定次数的多级编程操作。

具体地,电子存储量随编程电压的增大发生跳变,产生4个不同的高阈值电压区域,对应4个数据状态。

具体地,选择擦除态和任意3个数据状态的组合,或者,直接使用4个高阈值区域的数据状态,用2bit位的编程级数表示,每个编程级数对应一种数据状态。

具体地,编程级数信息包含初始编程脉冲电压大小、编程脉冲脉宽。

具体地,单级数据存储的编程操作采用脉冲幅值递增和脉冲宽度递增的双循环方式。

具体地,所述脉冲幅值递增具体为:对单元施加幅值渐变增加的脉冲序列,其中,△v为幅值增加量,由预设最大幅值和最大循环次数共同决定;在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。

具体地,所述脉冲宽度递增具体为:对单元施加脉宽渐变增加的脉冲序列,其中,△t为脉宽增加量,由预设最大脉宽和最大循环次数共同决定,在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。

第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的三维闪存阵列单元操作方法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

本发明先进行块结构的整体擦除操作,然后依次对单个闪存单元进行目标级数的脉冲编程操作,每个编程级数对应一种数据状态,通过多级编程实现多值存储,三维闪存阵列中的所有单元均被设定到需要的状态。这种方法使存储单元的阈值电压能够准确的编程到预定值,且使存储的电荷在存储层中具有较窄的空间分布,最终达到精确控制阵列中每个闪存单元状态的效果,且多值状态之间保证一定的间隔。

附图说明

图1为本发明实施例提供的三维闪存阵列外围电路结构示意图;

图2为本发明实施例提供的一种可变编程级数的三维闪存阵列单元操作方法流程图;

图3为本发明实施例提供的存储单元的阈值电压分布示意图;

图4为本发明实施例提供的脉冲幅值渐变增加的编程操作过程示意图;

图5为本发明实施例提供的脉宽渐变增加的编程操作过程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,进行擦除操作时,微处理器控制擦除控制单元发送擦除指令,并控制地址信息写入地址解码器,控制驱动电压产生器产生电压驱动信号(擦除电压),最后通过读写电路对选定的块结构进行擦除操作。对选定的块结构擦除操作完成后,检测控制单元和计数控制单元依次选通并验证3d存储阵列中不同闪存串的状态。若状态合格,则擦除成功,若状态不合格,则改变擦除电压,再次进行块结构的擦除操作,之后继续验证。验证成功之后,进行编程操作。微处理器控制编程控制单元发送多级编程指令,并控制地址信息写入地址解码器,控制驱动电压产生器产生电压驱动信号,最后通过读写电路对选定单元进行多级循环编程操作。

如图2所示,一种可变编程级数的三维闪存阵列单元操作方法,该方法以介质层厚度不同的四边形存储单元结构为基础,该方法包括以下步骤:

步骤s1.接收擦除操作指令与地址信息;

步骤s2.根据所述擦除指令与地址信息,对选定块结构进行具备验证功能的擦除操作;

步骤s3.接收多级编程指令与地址信息;

步骤s4.判断地址是否溢出,若是,进入步骤s5,否则,接收目标单元的编程级数信息,进入步骤s6;

步骤s5.选定块结构的编程操作完成,结束;

步骤s6.根据多级编程指令、地址信息和目标单元的编程级数信息,对当前闪存单元进行多级编程操作;

步骤s7.判断当前级数阈值电压和上一级操作后的阈值电压的差是否不小于预设的最小间隔电压,若是,更改地址信息,进入步骤s3,进行下一个闪存单元的编程操作;否则,重新对当前闪存单元进行不多于预定次数的多级编程操作。

步骤s1.接收擦除操作指令与地址信息。

控制单元接收擦除指令,地址解码器接收地址信息。

步骤s2.根据所述擦除指令与地址信息,对选定块结构进行具备验证功能的擦除操作。

擦除操作的对象是选定块结构。闪存先完成擦除操作达到统一的数据状态,便于多级编程操作对闪存数据状态的精确调控。

步骤s3.接收多级编程指令与地址信息。

验证成功之后,控制单元接收多级编程指令,地址解码器接收地址信息。多级编程指令中包含目标闪存单元设定的状态。

如图3所示,由于采用介质层厚度不同的四边形存储单元结构,电子存储量随编程电压的增大发生跳变,因而可产生4个分布较窄的高阈值电压区域,对应4个数据状态,分别为图1中的101、102、103、104,加上单元的初始擦除状态100,共5个数据状态。进行2比特的数据存储仅需4个状态,因而可选择擦除态(e)和任意3个数据状态的组合,或者,直接使用4个高阈值区域的数据状态(p1、p2、p3、p4),组成2bit位的数据。本发明实施实例对三维阵列中的每个闪存单元设置不同的编程级数,每个编程级数对应一种数据状态,通过多级编程实现多值存储,最终达到精确控制阵列中每个闪存单元状态的效果。

步骤s4.判断地址是否溢出,若是,进入步骤s5,否则,进入步骤s6。

编程操作的对象是闪存单元,依次对闪存单元进行多级编程,地址序号不断变大,当地址序号增大到没有实际单元对应时,地址即溢出,说明此时块中所有的单元都完成了编程操作。

步骤s5.选定块结构的编程操作完成,结束。

步骤s6.根据多级编程指令、地址信息和目标单元的编程级数信息,对当前闪存单元进行多级编程操作。

编程级数信息包含初始编程脉冲电压大小、编程脉冲脉宽。

步骤s7.判断当前级数阈值电压和上一级操作后的阈值电压的差是否不小于预设的最小间隔电压,若是,更改地址信息,进入步骤s3,进行下一个闪存单元的编程操作;否则,重新对当前闪存单元进行不多于预定次数的多级编程操作。

由于每两级间的阈值电压间隔都有可能不达标,所以要重新进行完整的多级编程操作。为了防止因单元故障导致的电压间隔始终不达标,程序形成死循环,需要设定重多级编程操作的最大次数,即要求不多于预定次数。

例如,目标闪存单元的编程级数是4,那么需要依次进行1级编程、2级编程、3级编程、4级编程。完成1级编程,需要比较1级编程后阈值电压和初始阈值电压的差值与预设的最小间隔电压;完成2级编程,需要比较2级编程后的阈值电压和1级编程后的阈值电压差与预设最小间隔电压,依此类推。预设的最小间隔电压是根据闪存器件的特性来决定,本发明实施例中预设的最小间隔电压取图3中δv1、δv2、δv3和δv4之间最小值。

最终,通过多级编程指令,三维闪存阵列中的所有单元均被设定到需要的状态。

先进行块的整体擦除操作,然后依次对单个闪存单元进行目标级数的脉冲编程操作。单级数据存储的编程操作采用脉冲幅值递增和脉冲宽度递增的双循环方式。这种方法使存储单元的阈值电压能够准确的编程到预定值,且使存储的电荷在存储层中具有较窄的空间分布。

如图4所示,对单元施加幅值渐变增加的脉冲序列,其中,△v为幅值增加量,由预设最大幅值(pm对应的电压幅值)和最大循环次数(m)共同决定。在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。

验证电压在一级编程过程中是不变的,更改编程级数,验证电压幅值改变,处于两级编程电压之间,脉宽在整个过程中是不变的。

如图5所示,对单元施加脉宽渐变增加的脉冲序列,其中,△t为脉宽增加量,由预设最大脉宽(pn对应的脉冲宽度)和最大循环次数(n)共同决定。在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。

以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1