CN109903799B - 一种可变编程级数的三维闪存阵列单元操作方法 - Google Patents
一种可变编程级数的三维闪存阵列单元操作方法 Download PDFInfo
- Publication number
- CN109903799B CN109903799B CN201910085241.3A CN201910085241A CN109903799B CN 109903799 B CN109903799 B CN 109903799B CN 201910085241 A CN201910085241 A CN 201910085241A CN 109903799 B CN109903799 B CN 109903799B
- Authority
- CN
- China
- Prior art keywords
- programming
- flash memory
- level
- pulse
- voltage
- 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.)
- Active
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开了一种可变编程级数的三维闪存阵列单元操作方法,包括:S1.接收擦除操作指令与地址信息;S2.对选定块结构进行擦除操作;S3.接收多级编程指令与地址信息;S4.判断地址是否溢出,若是,进入S5,否则,接收目标单元的编程级数信息,进入S6;S5.选定块结构的编程操作完成,结束;S6.根据多级编程指令、地址信息和目标单元的编程级数信息,对当前闪存单元进行多级编程操作;S7.判断阈值电压的差是否不小于预设的最小间隔电压,若是,更改地址信息,进入S3,进行下一个闪存单元的编程操作;否则,重新对当前闪存单元进行不多于预定次数的多级编程操作。本发明对闪存单元进行目标级数的编程,使其阈值电压准确到预定值,从而精确控制其数据状态。
Description
技术领域
本发明属于半导体存储技术领域,更具体地,涉及一种可变编程级数的三维闪存阵列单元操作方法。
背景技术
闪存(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)共同决定。在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种可变编程级数的三维闪存阵列单元操作方法,其特征在于,该方法以介质层厚度不同的四边形存储单元结构为基础,该方法包括以下步骤:
步骤S1.接收擦除操作指令与块结构地址信息;
步骤S2.根据所述擦除指令与块结构地址信息,对选定块结构进行具备验证功能的整体擦除操作;
步骤S3.接收多级编程指令与目标单元地址信息,所述目标单元为单个闪存单元;
步骤S4.判断目标单元地址是否溢出,若是,进入步骤S5,否则,接收目标单元的编程级数信息,进入步骤S6;
步骤S5.选定块结构的编程操作完成,结束;
步骤S6.根据多级编程指令、目标单元地址信息和目标单元的编程级数信息,对当前闪存单元进行多级编程操作;
步骤S7.判断当前级数阈值电压和上一级操作后的阈值电压的差是否不小于预设的最小间隔电压,若是,更改地址信息,进入步骤S3,进行下一个闪存单元的编程操作;否则,重新对当前闪存单元进行不多于预定次数的多级编程操作。
2.如权利要求1所述的三维闪存阵列单元操作方法,其特征在于,电子存储量随编程电压的增大发生跳变,产生4个不同的高阈值电压区域,对应4个数据状态。
3.如权利要求2所述的三维闪存阵列单元操作方法,其特征在于,选择擦除态和任意3个数据状态的组合,或者,直接使用4个高阈值区域的数据状态,用2bit位的编程级数表示,每个编程级数对应一种数据状态。
4.如权利要求1所述的三维闪存阵列单元操作方法,其特征在于,编程级数信息包含初始编程脉冲电压大小、编程脉冲脉宽。
5.如权利要求1所述的三维闪存阵列单元操作方法,其特征在于,单级数据存储的编程操作采用脉冲幅值递增和脉冲宽度递增的双循环方式。
6.如权利要求5所述的三维闪存阵列单元操作方法,其特征在于,所述脉冲幅值递增具体为:对单元施加幅值渐变增加的脉冲序列,其中,△V为幅值增加量,由预设最大幅值和最大循环次数共同决定;在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。
7.如权利要求5所述的三维闪存阵列单元操作方法,其特征在于,所述脉冲宽度递增具体为:对单元施加脉宽渐变增加的脉冲序列,其中,△t为脉宽增加量,由预设最大脉宽和最大循环次数共同决定,在每个编程脉冲后,均施加合适幅值的验证电压,确定编程脉冲作用后单元的阈值电压大小。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的三维闪存阵列单元操作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910085241.3A CN109903799B (zh) | 2019-01-29 | 2019-01-29 | 一种可变编程级数的三维闪存阵列单元操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910085241.3A CN109903799B (zh) | 2019-01-29 | 2019-01-29 | 一种可变编程级数的三维闪存阵列单元操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109903799A CN109903799A (zh) | 2019-06-18 |
CN109903799B true CN109903799B (zh) | 2021-08-03 |
Family
ID=66944293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910085241.3A Active CN109903799B (zh) | 2019-01-29 | 2019-01-29 | 一种可变编程级数的三维闪存阵列单元操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109903799B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111727477A (zh) | 2020-05-06 | 2020-09-29 | 长江存储科技有限责任公司 | 3d nand闪存的控制方法和控制器 |
CN112071342A (zh) * | 2020-08-31 | 2020-12-11 | 西安交通大学 | 一种非易失性存储器的写入方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5851881A (en) * | 1997-10-06 | 1998-12-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of making monos flash memory for multi-level logic |
CN1501405A (zh) * | 2002-09-25 | 2004-06-02 | ��ʽ���������Ƽ� | 非易失性存储器 |
CN1574076A (zh) * | 2003-06-12 | 2005-02-02 | 夏普株式会社 | 非易失性半导体存储装置及其控制方法 |
US7177183B2 (en) * | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
CN101110266A (zh) * | 2006-07-20 | 2008-01-23 | 华邦电子股份有限公司 | 氮化储存记忆单元的多级操作 |
CN103928042A (zh) * | 2013-01-16 | 2014-07-16 | 旺宏电子股份有限公司 | 一种操作多位存储单元的方法 |
US8885410B2 (en) * | 2012-08-29 | 2014-11-11 | Sandisk Technologies Inc. | Direct multi-level cell programming |
CN107093448A (zh) * | 2012-05-04 | 2017-08-25 | 三星电子株式会社 | 存储***及其操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9589982B1 (en) * | 2015-09-15 | 2017-03-07 | Macronix International Co., Ltd. | Structure and method of operation for improved gate capacity for 3D NOR flash memory |
US10360973B2 (en) * | 2016-12-23 | 2019-07-23 | Western Digital Technologies, Inc. | Data mapping enabling fast read multi-level 3D NAND to improve lifetime capacity |
-
2019
- 2019-01-29 CN CN201910085241.3A patent/CN109903799B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5851881A (en) * | 1997-10-06 | 1998-12-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of making monos flash memory for multi-level logic |
CN1501405A (zh) * | 2002-09-25 | 2004-06-02 | ��ʽ���������Ƽ� | 非易失性存储器 |
CN1574076A (zh) * | 2003-06-12 | 2005-02-02 | 夏普株式会社 | 非易失性半导体存储装置及其控制方法 |
US7177183B2 (en) * | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
CN101110266A (zh) * | 2006-07-20 | 2008-01-23 | 华邦电子股份有限公司 | 氮化储存记忆单元的多级操作 |
CN107093448A (zh) * | 2012-05-04 | 2017-08-25 | 三星电子株式会社 | 存储***及其操作方法 |
US8885410B2 (en) * | 2012-08-29 | 2014-11-11 | Sandisk Technologies Inc. | Direct multi-level cell programming |
CN103928042A (zh) * | 2013-01-16 | 2014-07-16 | 旺宏电子股份有限公司 | 一种操作多位存储单元的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109903799A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102138182B (zh) | 编程并选择性地擦除非易失性存储器 | |
US9672926B2 (en) | Apparatus and method of programming and verification for a nonvolatile semiconductor memory device | |
US8248850B2 (en) | Data recovery for non-volatile memory based on count of data state-specific fails | |
KR100771882B1 (ko) | 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법 | |
TWI467585B (zh) | 以高解析度可變初始程式化脈衝程式化非揮發性記憶體 | |
US7450433B2 (en) | Word line compensation in non-volatile memory erase operations | |
KR101134691B1 (ko) | 다중-레벨 비트 플래시 메모리 소거 알고리즘 | |
US7839687B2 (en) | Multi-pass programming for memory using word line coupling | |
US8295095B2 (en) | Programming methods for a memory device | |
US20080232164A1 (en) | Method for programming a multilevel memory | |
US9875805B2 (en) | Double lockout in non-volatile memory | |
TWI803866B (zh) | 記憶體系統及半導體記憶裝置 | |
US8174894B2 (en) | Program method of flash memory device | |
KR20110048638A (ko) | 반도체 메모리 장치의 프로그램 방법 | |
US8520435B2 (en) | Nonvolatile memory device and method of operating the same | |
JP5566797B2 (ja) | 不揮発性半導体記憶装置 | |
US20090279364A1 (en) | Method of programming in a flash memory device | |
US20130058170A1 (en) | Nonvolatile semiconductor storage device | |
CN110189783B (zh) | 非易失性三维半导体存储器件的多值编程方法及*** | |
CN109903799B (zh) | 一种可变编程级数的三维闪存阵列单元操作方法 | |
US11322204B2 (en) | Semiconductor memory device | |
TWI736306B (zh) | 3d nand快閃記憶體的編程方法、3d nand快閃記憶體及其相關電子裝置 | |
KR20090071310A (ko) | 불휘발성 메모리 소자의 프로그램 방법 | |
KR20120005841A (ko) | 불휘발성 메모리 장치 및 그의 동작 방법 | |
US20240071526A1 (en) | Advanced window program-verify |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |