一种非易失性存储装置、编程方法及存储器系统与流程

文档序号:30184628发布日期:2022-05-26 17:41阅读:199来源:国知局
一种非易失性存储装置、编程方法及存储器系统与流程

1.本技术涉及半导体技术领域,尤其涉及一种非易失性存储装置、编程方法及存储器系统。


背景技术:

2.在非易失性存储装置中,写入数据先快速存储在缓存锁存器,然后再移动到数据锁存器,相关技术中,在将数据写入闪存器的物理阵列的一次编程过程中,仅能实现一次页数据从缓存锁存器到数据锁存器的移动,导致当编程写入物理阵列的数据页的数量为一个以上时,需要等待编程结束后,单独的进行页数据从缓存锁存器到数据锁存器的移动,使得数据写入到存储单元阵列的效率低下,且编程没有连续性。


技术实现要素:

3.有鉴于此,本技术的主要目的在于提供一种非易失性存储装置、编程方法及存储器系统。
4.为达到上述目的,本技术的技术方案是这样实现的:
5.本技术实施例提供了一种非易失性存储装置,包括:
6.存储单元阵列,所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储n位数据,其中,n为大于1的整数;
7.外围电路,所述外围电路耦接于所述存储单元阵列,所述外围电路被配置为将第一物理页和第二物理页以缓存编程方式对所述存储单元阵列分别进行相继地第一次编程和第二次编程,以及在第一次编程/第二次编程的过程中基于第一物理页/第二物理页的n个逻辑页对选定的存储单元行进行编程;
8.所述外围电路包括分别耦合到位线的多个页缓冲器,每个页缓冲器包括:主锁存器、(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;其中,所述主锁存器被配置为能够存储第一非物理页信息;所述(n-1)个数据锁存器和所述一个缓存锁存器用于对第一物理页/第二物理页的n个逻辑页执行一次所述编程的过程中作为n个页锁存器暂存待写入n个逻辑页的编程数据;
9.所述外围电路还被配置为:在对所述第一物理页进行编程的过程中,完成第1至第2
(n-m)
个存储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述n个页锁存器的至少一个以缓存第二物理页的n个逻辑页的至少一个逻辑页的编程数据;并且在对所述第一物理页进行编程的过程中,将第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中,其中m为大于或等于1且小于或等于(n-2)的整数。
10.本技术实施例还提供了一种非易失性存储装置,包括:
11.存储单元阵列,所述存储单元阵列中的存储单元按行和列排列,每个存储单元被
配置存储n位数据,其中,n为大于1的整数;
12.外围电路,其被配置为将第一物理页和第二物理页以缓存编程方式对所述存储单元阵列分别进行相继地第一次编程和第二次编程,以及在第一次编程/第二次编程的过程中基于第一物理页/第二物理页的n个逻辑页对选定的存储单元行进行编程;
13.所述外围电路包括分别耦合到位线的多个页缓冲器,每个页缓冲器包括:主锁存器、偏置锁存器、(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器,其中,所述偏置锁存器被配置为能够存储第二非物理页信息;所述(n-1)个数据锁存器和所述一个缓存锁存器用于对第一物理页/第二物理页的n个逻辑页执行一次所述编程的过程中作为n个页锁存器暂存待写入n个逻辑页的编程数据;
14.所述外围电路还被配置为:在对所述第一物理页进行编程的过程中,禁用位线偏置功能以释放所述偏置锁存器来替代所述n个页锁存器中的一个页锁存器进行存储器状态的编程验证,以及释放所述n个页锁存器中的一个页锁存器来缓存第二物理页的n个逻辑页的一个逻辑页的编程数据;并且,在对所述第一物理页进行编程的过程中,将第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。
15.本技术实施例还提供了一种非易失性存储装置的编程方法,其中,所述非易失性存储装置包括存储单元阵列和外围电路;所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储n位数据,n为大于1的整数;所述外围电路包括分别耦合到位线的多个页缓冲器;包括:
16.将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;
17.将第一非物理页信息存储在所述页缓冲器中的主锁存器中;
18.在对所述第一物理页进行第一次编程的过程中,完成第1至第2
(n-m)
个存储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下,使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述n个页锁存器的至少一个以缓存第二物理页的n个逻辑页的至少一个逻辑页的编程数据,其中m为大于或等于1且小于或等于(n-2)的整数;以及
19.在以缓存编程方式对第二物理页进行相继于所述第一次编程的第二次编程之前且在对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。
20.本技术实施例还提供了另一种非易失性存储装置的编程方法,其中,所述非易失性存储装置包括存储单元阵列和外围电路;所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储n位数据,n为大于1的整数;所述外围电路包括分别耦合到位线的多个页缓冲器;包括:
21.将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页据锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;
22.将第二非物理页信息存储在所述页缓冲器中的偏置锁存器中;
23.在对所述第一物理页进行编程的过程中,禁用位线偏置功能以释放所述偏置锁存器来替代所述n个页锁存器中的一个页锁存器进行存储器状态的编程验证,以及释放所述n个页锁存器中的一个页锁存器;
24.在以缓存编程方式对第二物理页进行相继于所述第一次变成的第二次编程之前且对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中的一个逻辑页的编程数据存储在释放的页锁存器中。
25.本技术还提供了一种存储器系统,包括:
26.至少一个如上任一项所述的非易失性存储装置以及耦合到所述非易失性存储装置并且被配置为控制所述非易失性存储装置的控制器。
27.应用本技术实施例提供的非易失性存储装置、编程方法及存储器系统具有以下技术效果:非易失性存储装置在第一次编程过程中使第二次编程所需的各种类型逻辑页的编程数据暂存到页锁存器中,在第二次编程开始时无需等待或减少等待,实现了一次编程过程中多个物理页的各种类型逻辑页的编程数据的写入,提高了数据写入的效率,提高了编程过程之间的连续性。
附图说明
28.图1为相关技术提供的非易失性存储装置的数据写入的示意图;
29.图2为本技术一实施例提供的具有非易失性存储装置的系统的块图;
30.图3a是本技术根据一示例性实施例示出的一种存储器卡的示意图;
31.图3b是本技术根据一示例性实施例示出的一种固态驱动器(ssd)的示意图;
32.图4为本技术一实施例提供的包括存储单元阵列和外围电路的非易失性存储装置的块图;
33.图5为本技术一实施例提供的在编程操作中的页缓冲器的详细块图;
34.图6为本技术一实施例提供的用户数据在页锁存器中未经编码转换的状态编码表;
35.图7为本技术一实施例对暂存的逻辑页的编程数据进行编码转换后的编码状态表;
36.图8为本技术一实施例提供的lv3编程验证通过并改变主锁存器ds功能时的编码状态表;
37.图9为本技术一实施例提供的lv5编程验证通过后的编码状态表;
38.图10为本技术一实施例提供的lv6编程验证通过后的编码状态表;
39.图11为本技术另一实施例提供的非易失性存储装置的编程方法的具体实现流程示意图;
40.图12为本技术一实施例对暂存的逻辑页的编程数据进行编码转换后的编码状态表;
41.图13为本技术一实施例提供的lv4编程验证通过后的编码状态表;
42.图14为本技术一实施例提供的lv5编程验证通过并改变主锁存器ds功能时的编码状态表;
43.图15为本技术一实施例提供的lv6编程验证通过后的编码状态表;
44.图16为本技术一实施例对暂存的逻辑页的编程数据进行编码转换后的编码状态表;
45.图17为本技术一实施例提供的lv7编程验证通过并改变主锁存器ds功能时的编码状态表;
46.图18为本技术一实施例提供的lv11编程验证通过后的编码状态表;
47.图19为本技术一实施例提供的lv13编程验证通过并改变主锁存器ds功能的编码状态表;
48.图20为本技术一实施例提供的lv14编程验证通过后的编码状态表;
49.图21为本技术一实施例对暂存的逻辑页的编程数据进行编码转换后的编码状态表;
50.图22为本技术一实施例提供的lv8编程验证通过后的编码状态表;
51.图23为本技术一实施例提供的lv12编程验证通过后的编码状态表
52.图24为本技术一实施例提供的lv13编程验证通过并改变主锁存器ds功能时的编码状态表;
53.图25为本技术一实施例提供的lv14编程验证通过后的编码状态表;
54.图26本技术一实施例提供的lv5编程验证通过并禁用位线偏置功能时的编码状态表;
55.图27本技术一实施例提供的lv6编程验证通过后的编码状态表;
56.图28本技术一实施例提供的非易失性存储装置的编程方法的具体实现流程示意图;
57.图29为本技术一实施例提供的lv13编程验证通过并禁用位线偏置功能时的编码状态表;
58.图30为本技术一实施例提供的lv14编程验证通过后的编码状态表。
具体实施方式
59.以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所提供实施例仅仅用以解释本技术,并不用于限定本技术。另外,以下所提供的实施例是用于实施本技术的部分实施例,而非提供实施本技术的全部实施例,在不同冲突的情况下,本技术实施例记载的技术方案可以任意组合的方式实施。
60.需要说明的是,在本技术实施例中,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方式或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
61.在非易失性存储装置中,写入数据先快速存储在缓存锁存器,然后再移动到数据锁存器,相关技术的非易失性存储装置的数据写入的示意图如图1所示,第二物理页的一个逻辑页page3的编程数据移入数据锁存器的时间是隐藏在第一次编程过程中的,即在将数据写入闪存器的物理阵列的第一次编程过程中,仅能实现第二物理页的三个逻辑页中的一
个逻辑页的编程数据从缓存锁存器到数据锁存器的移动,导致当编程写入物理阵列的物理页的数量为一个以上时,需要等待编程结束后,单独的进行第二物理页中另外两个逻辑页的编程数据从缓存锁存器到数据锁存器的移动,使得数据写入到存储单元阵列的效率低下,且编程没有连续性,而本公开所提供的解决方案使第二次编程中所需的各种类型逻辑页的编程数据在第一次编程过程中可以暂存到页锁存器中,在第二次编程开始时无需等待或减少等待,提高编程过程之间的连续性。
62.图2示出了根据本公开的一些方面的具有非易失性存储装置的示例性系统200的块图。系统200可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备或者其中具有储存器的任何其他合适的电子设备。如图2中所示,系统200可以包括主机208和存储器系统202,存储器系统202包括一个或多个非易失性存储装置204和控制器(controller)206,非易失性存储装置204包括存储单元阵列和多个页缓冲器。主机208可以是电子设备的处理器(例如,中央处理单元(cpu))或者片上系统(soc)(例如,应用处理器(ap))。主机208可以被配置为将数据发送到非易失性存储装置204或从非易失性存储装置204接收数据。
63.非易失性存储装置204可以是本公开中公开的任何非易失性存储装置。根据一些实施方式,控制器206耦合到非易失性存储装置204和主机208,并且被配置为控制存储装置。控制器206可以管理存储在存储装置中的数据,并且与主机208通信。在一些实施方式中,控制器206被设计为用于在低占空比环境中操作,如安全数字(sd)卡、紧凑型闪存(cf)卡、通用串行总线(usb)闪存驱动器、或用于在诸如个人计算器、数字相机、移动电话等的电子设备中使用的其他介质。在一些实施方式中,控制器206被设计为用于在高占空比环境ssd或嵌入式多媒体卡(emmc)中操作,ssd或emmc用作诸如智能电话、平板计算机、膝上型计算机等的移动设备的数据储存器以及企业存储装置。控制器206可以被配置为控制非易失性存储装置204的操作,例如读取、擦除和编程操作。控制器206还可以被配置为管理关于存储在或要存储在非易失性存储装置204中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,控制器206还被配置为处理关于从非易失性存储装置204读取的或者被写入到非易失性存储装置204的数据的纠错码(ecc)。控制器206还可以执行任何其他合适的功能,例如,格式化非易失性存储装置204。控制器206可以根据特定通信协议与外部设备(例如,主机208)通信。例如,控制器206可以通过各种接口协议中的至少一种与外部设备通信,接口协议例如usb协议、mmc协议、外围部件互连(pci)协议、pci高速(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机小型接口(scsi)协议、增强型小型磁盘接口(esdi)协议、集成驱动电子设备(ide)协议、firewire协议等。控制器206具体可以由微处理器、微控制器(又名微控制器单元(mcu))、中央处理器(cpu)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、状态机、门控逻辑单元、分立硬件电路或它们的组合,以及被配置为执行以下详细描述的各种功能的其他合适的硬件、固件和/或软件来实现。
64.控制器206和一个或多个非易失性存储装置204可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(ufs)封装或emmc封装)中。也就是说,存储器系统202可以实施并且封装到不同类型的终端电子产品中。在如图3a中所示的一个示例
中,控制器206和单个非易失性存储装置204可以集成到存储器卡302中。存储器卡302可以包括pc卡(pcmcia,个人计算机存储器卡国际协会)、cf卡、智能媒体(sm)卡、存储器棒、多媒体卡(mmc、rs-mmc、mmcmicro)、sd卡(sd、minisd、microsd、sdhc)、ufs等。存储器卡302还可以包括将存储器卡302与主机(例如,图2中的主机208)耦合的存储器卡连接器304。在如图3b中所示的另一示例中,控制器206和多个非易失性存储装置204可以集成到ssd 306中。ssd 306还可以包括将ssd 306与主机(例如,图2中的主机208)耦合的ssd连接器308。在一些实施方式中,ssd 306的存储容量和/或操作速度大于存储器卡302的存储容量和/或操作速度。
65.图4示出了本技术实施例中包括存储单元阵列401和外围电路400的非易失性存储装置的块图,外围电路400包括页缓冲器/感测放大器404、列解码器/位线(bl)驱动器406、行解码器/字线(wl)驱动器408、电压发生器410、控制逻辑412、寄存器414、接口416和数据总线418、应当理解,在一些示例中,还可以包括图4中未示出的附加外围电路。
66.页缓冲器/感测放大器404可以被配置为根据来自控制逻辑412的控制信号从存储单元阵列401读取数据以及向存储单元阵列401编程(写入)数据。在一个示例中,页缓冲器/感测放大器404可以存储要被编程到存储单元阵列401的一个物理页中的一个逻辑页的编程数据(写入数据,本文中又被称为“数据页”)。如下文详细描述的并且与本技术的范围一致,在编程操作中,页缓冲器/感测放大器404可以包括分别耦合到位线的多个页缓冲器,每个页缓冲器包括(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器,以用于暂时地存储从数据总线418接收的n位数据的片段,并且以缓存编程方式通过对应的位线将n位数据的片段提供到对应的选定的存储单元。
67.列解码器/位线(bl)驱动器406可以被配置为由控制逻辑412控制,并且通过施加从电压发生器410生成的位线电压来选择一个或多个nand存储串。行解码器/字线(wl)驱动器408还可以被配置为使用从电压发生器410生成的字线电压来驱动字线。电压发生器410可以被配置为由控制逻辑412控制,并且生成将被供应到存储单元阵列401的字线电压(例如,读取电压、编程电压、沟道通过电压、局部电压、验证电压等)、位线电压和源极线电压。
68.控制逻辑412可以耦合到上文描述的每个外围电路,并且被配置控制每个外围电路的操作。寄存器414可以耦合到控制逻辑412,并且包括状态寄存器、命令寄存器和地址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作码(op码)和命令地址。接口416可以耦合到控制逻辑412,并且充当控制缓冲器。控制逻辑412可以由微控制器(又名微控制器单元(mcu))、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、状态机、门控逻辑单元、分立硬件电路或者它们的组合,以及被配置为执行以下详细描述的各种功能或的其他合适的硬件、固件和/或软件来实现。
69.请参阅图4,外围电路400被配置为将第一物理页和第二物理页以缓存编程方式对存储单元阵列401分别进行相继地第一次编程和第二次编程,以及在第一次编程/第二次编程过程中基于第一物理页/第二物理页的n个逻辑页对选定的存储单元行进行编程。在一些实施方式中,用户数据通过数据总线418传输到页缓冲器/感测放大器404,并且页缓冲器/感测放大器404被配置为基于预设规则将用户数据转换为要编程到选定的存储单元行中的每个逻辑页的编程数据。在正在进行的第一次编程操作期间,第一物理页的n个逻辑页的编程数据可以暂时地存储在页缓冲器/感测放大器404中。
70.图5示出了本技术实施例中在编程操作中的页缓冲器/感测放大器404的详细块图。在一些实施方式中,页缓冲器/感测放大器404包括多个页缓冲器电路502,每个页缓冲器电路502耦合到位线中的相应的一条位线bl。换句话说,每个页缓冲器电路502可以通过对应的位线bl耦合到相应列的存储单元(例如某一存储单元串),并且被配置为在编程操作中暂时地存储用于对选定的存储单元行进行编程的第一物理页/第二物理页的n个逻辑页的编程数据。在一些实施方式中,页缓冲器电路502还被配置为对从数据总线418(如图4中所示)接收的用户数据进行预处理,并且基于预设规则将其转换为要编程到选定的存储单元行中的第一物理页/第二物理页的n个逻辑页的编程数据。
71.如图5所示,每个页缓冲器电路502可以包括(n-1)个数据锁存器(d1至dn-1)508和与数据通路耦接的一个缓存锁存器(dc)506,所述(n-1)个数据锁存器508和所述一个缓存锁存器506用于对第一物理页/第二物理页的n个逻辑页执行一次编程的过程中作为n个页锁存器暂存待写入n个逻辑页的编程数据。
72.每个页缓冲器电路502还可以包括用于存储非物理页信息的多个存储单元,非物理页信息是指除了物理页中的逻辑页的编程数据之外的其他信息,其区别于例如n个逻辑页的编程数据,非物理页信息在编程过程中可以被使用来帮助实现物理页的数据编程过程,其一般不暂存在数据锁存器中。如图5中所示,在一些实施方式中,页缓冲器电路502包括被配置为存储验证信息和编程信息的主锁存器(ds)512、以及被配置为存储相应的位线的电压偏置信息的偏置锁存器(dl)510。每个页缓冲器电路502还可以包括偏置电路504,偏置电路504耦合到相应的位线bl并且被配置为在编程操作中将位线电压施加到耦合到相应位线bl的对应的选定存储单元行。
73.本技术一实施例中,非易失性存储装置包括:存储单元阵列,所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储例如3位数据;外围电路,所述外围电路耦接于所述存储单元阵列,所述外围电路被配置为将第一物理页和第二物理页以缓存编程(cache programing)方式对所述存储单元阵列分别进行相继的第一次编程和第二次编程,以及在第一次编程/第二次编程的过程中基于第一物理页/第二物理页的3个逻辑页对选定的存储单元行进行编程,所述3个逻辑页分别为低页(lower page,lp),中页(middle page,mp),高页(upper page,up);所述外围电路包括分别耦合到位线的多个页缓冲器,每个页缓冲器包括:主锁存器ds、两个数据锁存器d1、d2和与数据通路耦接的一个缓存锁存器dc;其中,所述主锁存器ds被配置为能够存储第一非物理页信息;所述两个数据锁存器d1、d2和所述一个缓存锁存器dc用于对第一物理页/第二物理页的3个逻辑页执行一次所述编程的过程中作为3个页锁存器暂存待写入3个逻辑页的编程数据;所述外围电路还被配置为:在对所述第一物理页进行编程的过程中,完成第1至第2
(n-m)
个存储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下使得所述主锁存器进行非目标验证,即使得主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述n个页锁存器的至少一个以缓存第二物理页的n个逻辑页的至少一个逻辑页的编程数据;并且在对所述第一物理页进行编程的过程中,将第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中,其中m为大于或等于1且小于或等于(n-2)的整数(例如,对于tlc,n=3,m=1)。在一具体实施方式中,所述非易失性存储装置包括三维
nand闪存存储器装置。
74.在本技术实施例中,所述外围电路进一步被配置为在对所述第一物理页/第二物理页进行编程的过程中,使用增量阶跃脉冲编程ispp编程方式对第1至第2
(n-m)
个存储器状态进行编程操作。在一具体示例中,例如对于tlc,n=3,m=1,所述外围电路进一步被配置为在对所述第一物理页/第二物理页进行编程的过程中,使用增量阶跃脉冲编程ispp编程方式对第1至第22个存储器状态进行编程操作。
75.在一具体实施方式中,每个存储单元具有8种存储器状态(电平)并且因此可以存储三位数据。每个存储器状态可以对应于存储单元的23个阈值电压(vth)范围中的一个。另一方面,每个存储器状态可以对应于要存储在选定存储单元行中的三位数据的23个片段中的一个。具体地,请参阅图6,图6为本技术一实施例提供的用户数据暂时存放在页锁存器中的状态编码表,示出了8个存储器状态(lv0到lv7)与8个片段之间的一对一映射的二进制编码的示例。三位数据的每个片段可以由三位二进制编码组成,所述三位二进制编码分别来自于3个逻辑页,所述3个逻辑页分别为低页lp,中页mp,高页up。可以看出,3个页锁存器按顺序存储低中高三个逻辑页的编程数据,页锁存器d1存放低页lp,页锁存器d2存放中页mp,页锁存器dc存放高页up。在一个示例中,存储器状态lv1可以对应于具有编码011的片段。在另一示例中,存储器状态lv7可以对应于具有编码101的另一片段。图7为本技术一实施例对存储在页锁存器中的逻辑页的编程数据按照预设规则进行编码转换后的编码状态表,经过编码转换后,如图7所示,lvl从011编码成001,其中011分别按顺序来自lp/mp/up,同理其他的存储器状态的编码顺序都是lp/mp/up,lv2从001编码成101,lv3从000编码成011,lv4从010编码成000,以此类推,lv5从110编码成010,lv6从100编码成100,lv7从101编码成110。
76.在本技术实施例中,外围电路被还配置为:在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之前,将所述第一物理页的n个逻辑页中相应的一个逻辑页的编程数据存储在n个所述页锁存器的至少一个中;并且在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,将所述第二物理页的n个逻辑页中的一个逻辑页的编程数据存储在n个所述页锁存器的至少一个中。在一具体实施方式中,在对8个存储器状态中的第4个存储器状态lv3进行编程验证前,dc可以存储第一物理页的3个逻辑页中的一个逻辑页(当前up)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,并且d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据。并且在对8个存储器状态中的第4个存储器状态lv3进行编程验证后,将所述第二物理页的3个逻辑页中的一个逻辑页的编程数据存储在3个所述页锁存器中,具体请参阅图8。
77.在本技术实施例中,外围电路被配置为:在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,使得所述主锁存器ds进行非目标验证,即使得所述主锁存器ds存储的对应第1至第2
(n-1)
个存储器状态的标识不同于对应第2
(n-1)
+1至第2n个存储器状态的标识。具体地,请参阅图8,在对8个存储器状态中的第4个存储器状态进行编程验证之后(即,已经验证第4个存储器状态lv3),使得主锁存器ds存储的对应第1至第4个存储器状态的标识不同于对应第5至第8个存储器状态的标识,即所述主锁存器内已编程验证通过的存储器状态的标识和未编程验证通过的存储器状态的标识不同,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态编程验证未通过。lv3编程验证通过(lv3 pass)就是指三个页锁存器中,存储器状态lv0~lv3对应的片段都写进去了,其中,lv0到
lv3中的所有二进制编码可以被更新为1,编码状态表如图8所示,此时还剩余4个存储器状态lv4、lv5、lv6和lv7未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,因此两个页锁存器组成的物理单元就有4种可能的状态(22=4),由于进行非目标验证的主锁存器ds中未编程验证通过的存储器状态的标识为0,因此两个页锁存器与进行非目标验证的主锁存器ds组合就可以具有编码000,编码001,编码010和编码011分别代表lv4、lv5、lv6和lv7。换言之,在lv3编程验证通过后只需要两个页锁存器和进行非目标验证的主锁存器ds就能够区分lv4、lv5、lv6和lv7这4个存储器状态,因此在lv3编程验证通过后可以释放页锁存器dc,以使释放的页锁存器缓存第二物理页的低页lp的编程数据,编码状态表如图8所示。
78.在一实施方式中,每个页缓冲器还包括:偏置锁存器,所述偏置锁存器被配置为存储相应的位线的电压偏置信息。
79.在本技术实施例中,所述外围电路还被配置为:在使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识之后,在编程期间对位线进行浮置以转储所述主锁存器中的第一非物理页信息。在一些实施例中,所述第一非物理页信息包括验证信息和编程信息。由于在lv3编程验证通过后使得主锁存器ds用于标识已编程验证通过的存储器状态和未编程验证通过的存储器状态,因此无法继续储存原来主锁存器ds中的第一非物理页信息。在编程期间对位线进行浮置可以使偏置锁存器空闲从而转储所述主锁存器中的第一非物理页信息。
80.在本技术实施例中,lv5编程验证通过后,就是指三个页锁存器中存储器状态lv0~lv5对应的片段都写进去了,此时还剩余2个存储器状态lv6,lv7未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,此时主锁存器ds和页锁存器d2可以组成编码00和编码01,可以分别代表未编程验证通过的存储器状态lv6,lv7。因此在lv5编程验证通过后可以释放页锁存器d1,以使释放的页锁存器缓存下一物理页的中页mp,编码状态表如图9所示。
81.在本技术实施例中,所述外围电路还被配置为:在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对8个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第7个存储器状态(lv6)),释放3个所述页锁存器,以使3个所述页锁存器缓存第二物理页的3个逻辑页中的每一页(下一lp,下一mp,下一up)的编程数据,如图10所示,当lv6的编程验证通过后,即ds为1,则可释放页锁存器d2缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。则此时释放了3个页锁存器,以将第二物理页的三个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器dc缓存第二物理页的高页up的编程数据。且此后可用ds是否为1来判断lv7是否编程验证通过,若ds为1则代表lv7编程验证通过,代表lv0~lv7的数据都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的3个逻辑页的编程数据已经缓存在3个页锁存器中,可以直接进入第二次编程过程。若ds为0则未通过继续进行编程验证判断。由于在lv6进行编程验证之后,3个页锁存器可以缓存第二物理页的3个逻辑页(下一lp、下一mp和下一up)中的每一页的编
程数据,因此在第一次编程操作期间,第二物理页可以变得准备就绪。因此,在第一次编程操作结束时,可以无缝地触发基于第二物理页的第二次编程操作,而没有数据加载窗口。
82.基于本技术上述实施例提供的非易失性存储装置,本技术实施例中还提供了一种非易失性存储装置的编程方法,其中,所述非易失性存储装置包括存储单元阵列和外围电路;所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储n位数据,n为大于1的整数;所述外围电路包括分别耦合到位线的多个页缓冲器;所述方法包括:将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;将第一非物理页信息存储在所述页缓冲器的主锁存器中;在对所述第一物理页进行第一次编程的过程中,完成第1至第2
(n-m)
个存储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下,使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述n个页锁存器的至少一个以缓存第二物理页的n个逻辑页的至少一个逻辑页的编程数据,其中m为大于或等于1且小于或等于(n-2)的整数;以及在以缓存编程方式对第二物理页进行相继于所述第一次编程的第二次编程之前且在对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。
83.图11为本技术实施例提供的非易失性存储装置的编程方法的具体实现流程示意图,如图11所示,所述编程方法具体包括以下步骤:
84.步骤s101:将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;
85.在所述页锁存器中存储lp,mp及up三个逻辑页的编程数据之后,对所述页锁存器存储的编程数据按照预设规则进行编码转换,得到对应不同存储器状态的二进制编码,具体地请参阅图7。
86.步骤s102:将第一非物理页信息存储在所述页缓冲器的主锁存器中。这里,所述第一非物理页信息包括验证信息和编程信息;
87.在步骤s101中,每个存储单元被配置为以8个存储器状态中的一个存储器状态存储3位数据,在对所述8个存储器状态中的第4个存储器状态进行编程验证之前,将所述第一物理页的3个逻辑页中相应的一个逻辑页的编程数据存储在3个所述页锁存器的至少一个中;在一具体实施方式中,在对8个存储器状态中的第4个存储器状态lv3进行编程验证前,dc可以存储当前第一次编程对应的第一物理页的3个逻辑页中的一个(当前up)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,并且d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据。并且在对所述8个存储器状态中的第4个存储器状态进行编程验证之后,将所述第二物理页的3个逻辑页中的一个逻辑页的编程数据存储在3个所述页锁存器的至少一个中,在具体一示例中,请参阅图8,在对8个存储器状态中的第4个存储器状态lv3进行编程验证之后,将所述第二物理页的3个逻辑页中的一个逻辑页的编程数据存储在3个所述页锁存器的至少一个中。
88.步骤s103:在对所述第一物理页进行第一次编程的过程中,完成第1至第2
(n-m)
个存
储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下,使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述n个页锁存器的至少一个以缓存第二物理页的n个逻辑页的至少一个逻辑页的编程数据,其中m为大于或等于1且小于或等于(n-2)的整数;以及
89.在以缓存编程方式对第二物理页进行相继于所述第一次编程的第二次编程之前且在对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。
90.在上述步骤s103中,以tlc为例则n=3,m=1,对所述第一物理页/第二物理页进行第一次编程/第二次编程,包括:使用增量阶跃脉冲编程ispp编程方式对第1至第22个存储器状态进行编程操作。
91.在本技术实施例中,在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之前,将所述第一物理页的n个逻辑页中相应的一个逻辑页的编程数据存储在n个所述页锁存器的至少一个中;并且在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,将所述第二物理页的n个逻辑页中的一个逻辑页的编程数据存储在n个所述页锁存器的至少一个中。在一具体实施方式中,在对8个存储器状态中的第4个存储器状态lv3进行编程验证前,dc可以存储第一物理页的3个逻辑页中的一个逻辑页(当前up)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,并且d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据。并且在对8个存储器状态中的第4个存储器状态lv3进行编程验证后,将所述第二物理页的3个逻辑页中的一个逻辑页的编程数据存储在3个所述页锁存器中,具体请参阅图8。
92.在本技术实施例中,在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,使得所述主锁存器ds进行非目标验证,即使得所述主锁存器ds存储的对应第1至第2
(n-1)
个存储器状态的标识不同于对应第2
(n-1)
+1至第2n个存储器状态的标识。具体地,请参阅图8,在对8个存储器状态中的第4个存储器状态进行编程验证之后(即,已经验证第4个存储器状态lv3),使得主锁存器ds存储的对应第1至第4个存储器状态的标识不同于对应第5至第8个存储器状态的标识,即所述主锁存器内已编程验证通过的存储器状态的标识和未编程验证通过的存储器状态的标识不同,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态编程验证未通过。lv3编程验证通过(lv3 pass)就是指三个页锁存器中,存储器状态lv0~lv3对应的片段都写进去了,其中,lv0到lv3中的所有二进制编码可以被更新为1,编码状态表如图8所示,此时还剩余4个存储器状态lv4、lv5、lv6和lv7未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,因此两个页锁存器组成的物理单元就有4种可能的状态(22=4),由于进行非目标验证的主锁存器ds中未编程验证通过的存储器状态的标识为0,因此两个页锁存器与进行非目标验证的主锁存器ds组合就可以具有编码000,编码001,编码010和编码011分别代表lv4、lv5、lv6和lv7。换言之,在lv3编程验证通过后只需要两个页锁存器和进行非目标验证的主锁存器ds就能够区分lv4、lv5、lv6和lv7这4个存储器状态,因此在lv3编程验证通过后可以释放页锁存器dc,以使释放的页锁存器缓存第二物理页的低页lp的编程数据,编码状态表如图8所示。
93.在本技术实施例中,所述在第2
(n-m)
个存储器状态的编程验证通过的情况下,使得
所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,包括:在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,使得所述主锁存器进行非目标验证,所述非目标验证为使得所述主锁存器存储的对应第1至第2
(n-1)
个存储器状态的标识不同于对应第2
(n-1)
+1至第2n个存储器状态的标识。具体地,请参阅图8,在对8个存储器状态中的第4个存储器状态进行编程验证之后(即,已经验证第4个存储器状态lv3),使得主锁存器ds进行非目标验证,所述非目标验证为使得所述主锁存器存储的对应第1至第4个存储器状态的标识不同于对应第5至第8个存储器状态的标识,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态未编程验证通过。
94.在本技术实施例中,在所述主锁存器进行非目标验证后,在编程期间对位线进行浮置以转储所述主锁存器中的第一非物理页信息。由于在lv3编程验证通过后进行的非目标验证使得主锁存器用于标识已编程验证通过的存储器状态和未编程验证通过的存储器状态,因此无法继续储存原来主锁存器ds中的第一非物理页信息。在所述主锁存器进行非目标验证后,在编程期间对位线进行浮置可以使偏置锁存器空闲从而转储所述主锁存器中的第一非物理页信息。
95.在本技术实施例中,在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对8个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第7个存储器状态(lv6)),释放3个所述页锁存器,以使3个所述所述页锁存器缓存第二物理页的3个逻辑页中的每一页(下一lp,下一mp,下一up)的编程数据,如图10所示,当lv6的编程验证通过后,即ds为1,则可释放页锁存器d2缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。则此时释放了3个页锁存器,以将第二物理页的三个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器dc缓存第二物理页的高页up的编程数据。且此后可用ds是否为1来判断lv7是否编程验证通过,若ds为1则代表lv7编程验证通过,代表lv0~lv7的数据都写入选定存储单元了,此次编程结束,此时第二次编程要写入的3个逻辑页的编程数据已经在页锁存器中,可以直接进入第二次编程过程。若ds为0则未通过继续进行编程验证判断。
96.在本技术另一实施例中,与上述实施例不同的是,所述非易失性存储装置中包括的所述外围电路在3个页锁存器中存储了3个逻辑页的编程数据之后,对存储在所述页锁存器中的逻辑页的编程数据按照预设规则进行编码转换,得到如图12所示由图6经编码转换的编码状态表,编码转换之前的每一个存储器状态由三位二进制编码组成,分别来自于lp/mp/up,经过编码转换之后,lvl从011编码成001,其中011分别按顺序来自lp/mp/up,同理其他的存储器状态的编码顺序都是lp/mp/up,lv2从001编码成101,lv3从000编码成011,lv4从010编码成110,以此类推,lv5从110编码成000,lv6从100编码成100,lv7从101编码成010。在一具体实施方式中,在对8个存储器状态中的lv4进行编程验证前,dc可以存储第一物理页的3个逻辑页中的一个(当前up)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,并且d2可以存储第一物理页的相应的逻辑页(当前mp)的编程
数据。lv4编程验证通过(lv4 pass)就是指三个页锁存器中存储器状态lv0~lv4对应的片段都写进去了,其中,lv0到lv4中的所有二进制编码可以被更新为1,编码状态表如图13所示,因为在第一次编程操作中不再需要它们。此时还剩余3个存储器状态lv5,lv6,lv7未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,因此由两个页锁存器组成的物理单元就有4种可能的状态(22=4),排除掉与已编程验证通过的存储器状态相同的编码11,还剩余编码00,编码10,编码01可以分别代表lv5,lv6,lv7。换言之,在lv4编程验证通过后只需要两个页锁存器就能够区分lv5、lv6和lv7这3个存储器状态,因此在lv4编程验证通过后可以释放页锁存器dc,以用第二物理页的低页lp的编程数据代替当前高页up的编程数据。
97.在本技术实施例中,所述外围电路还被配置为:在对所述2n个存储器状态中的倒数第3个存储器状态进行编程验证之后,使得所述主锁存器进行非目标验证,所述非目标验证为使得所述主锁存器存储的对应第1至第2
n-2个存储器状态的标识不同于对应第2
n-1至第2n个存储器状态的标识。在一具体实施方式中,在对8个存储器状态中的倒数第3个存储器状态进行编程验证之后(即,已经验证第6个存储器状态(lv5)),使得主锁存器ds进行非目标验证,所述非目标验证为使得所述主锁存器储的对应第1至第6个存储器状态的标识不同于对应第7至第8个存储器状态的标识,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态未编程验证通过。可以如下图14所示更新图13的二进制编码,其中,lv5中的所有数据位可以被更新为1,因为在当前第一次编程操作中不再需要它们。如图14所示,此时ds为1表示lv5编程验证通过,此时主锁存器ds和页锁存器d2可以组成编码00和编码01,可以分别代表lv6,lv7。换言之,在lv5编程验证通过后只需要一个页锁存器和做非目标验证的主锁存器ds就能够区分lv6和lv7这2个存储器状态,因此在lv5编程验证通过后可以释放页锁存器d1,以缓存第二物理页的低页lp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的中页mp的编程数据。也就是说,下一lp可以从dc传递到d1,并且可以在dc中缓存下一mp的编程数据。需要说明的是,主锁存器ds在做目标验证时,正在进行编程验证的状态位为1,而其他状态位则为0。
98.由于在lv5验证通过后进行的非目标验证使得主锁存器存储的对应第1至第6个存储器状态的标识不同于对应第7至第8个存储器状态的标识,因此无法继续储存原来主锁存器ds中的第一非物理页信息。在主锁存器ds进行非目标验证后,在编程期间对位线进行浮置以使偏置锁存器dl空闲从而转储所述主锁存器ds中的第一非物理页信息。
99.在本技术实施例中,所述外围电路还被配置为:在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对8个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第7个存储器状态(lv6)),释放3个所述页锁存器,以使3个所述页锁存器缓存第二物理页的3个逻辑页中的每一页(下一lp,下一mp,下一up)的编程数据,如图15所示,当lv6的编程验证通过后,ds为1,则可释放页锁存器d2缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。则此时释放了3个页锁存器,以将第二物理页的三个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器dc缓存第二物理
页的高页up的编程数据。且此后可用ds是否为1来判断lv7是否编程验证通过,若ds为1则代表lv7编程验证通过,代表lv0~lv7的数据都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的3个逻辑页的编程数据已经缓存在3个页锁存器中,可以直接进入第二次编程过程。若ds为0则未通过继续进行编程验证判断。由于在lv6进行编程验证之后,3个页锁存器可以缓存第二物理页的3个逻辑页(下一lp、下一mp和下一up)中的每一页的编程数据,因此在第一次编程操作期间,第二物理页可以变得准备就绪。因此,在第一次编程操作结束时,可以无缝地触发基于第二物理页的第二次编程操作,而没有数据加载窗口。
100.基于本技术上述实施例提供的非易失性存储装置,本技术实施例中还提供了一种非易失性存储装置的编程方法,所述编程方法具体包括以下步骤:
101.步骤s201:将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;
102.在所述页锁存器中存储lp,mp及up三个逻辑页的的编程数据之后,对所述页锁存器存储的编程数据按照预设规则进行编码转换,得到对应不同存储器状态的二进制编码,具体地请参阅图12。
103.步骤s202:将第一非物理页信息存储在所述页缓冲器的主锁存器中。这里,所述第一非物理页信息包括验证信息和编程信息;
104.步骤s203:在对所述第一物理页进行第一次编程的过程中,完成第1至第2
(n-m)
个存储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下,使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述n个页锁存器的至少一个以缓存第二物理页的n个逻辑页的至少一个逻辑页的编程数据,其中m为大于或等于1且小于或等于(n-2)的整数;以及
105.在以缓存编程方式对第二物理页进行相继于所述第一次编程的第二次编程之前且在对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。
106.在上述步骤s203中,以tlc为例则n=3,m=1,对所述第一物理页/第二物理页进行第一次编程/第二次编程,包括:使用增量阶跃脉冲编程ispp编程方式对第1至第22个存储器状态进行编程操作。
107.在本技术实施例中,所述在第2
(n-m)
个存储器状态的编程验证通过的情况下,使得所述主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,包括:在对所述2n个存储器状态中的倒数第3个存储器状态进行编程验证之后,使得所述主锁存器进行非目标验证,所述非目标验证为使得所述主锁存器存储的对应第1至第2
n-2个存储器状态的标识不同于对应第2
n-1至第2n个存储器状态的标识。具体地,请参阅图14,在对8个存储器状态中的倒数第3个存储器状态进行编程验证之后(即,已经验证倒数第3个存储器状态lv5),使得主锁存器ds进行非目标验证,所述非目标验证为使得所述主锁存器存储的对应第1至第6个存储器状态的标识不同于对应第7至第8个存储器状态的标识,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态未编程验证通过。
108.在本技术实施例中,在所述主锁存器进行非目标验证后,在编程期间对位线进行浮置以转储所述主锁存器中的第一非物理页信息。由于在lv3编程验证通过后进行的非目标验证使得主锁存器用于标识已编程验证通过的存储器状态和未编程验证通过的存储器状态,因此无法继续储存原来主锁存器ds中的第一非物理页信息。在所述主锁存器ds进行非目标验证后,在编程期间对位线进行浮置以使偏置锁存器dl空闲从而转储所述主锁存器ds中的第一非物理页信息。
109.在本技术实施例中,在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对8个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第7个存储器状态(lv6)),释放3个所述页锁存器,以使3个所述页锁存器缓存第二物理页的3个逻辑页中的每一页(下一lp,下一mp,下一up)的编程数据,如图15所示,当lv6的编程验证通过后,即ds为1,则可释放页锁存器d2缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。则此时释放了3个页锁存器,以将第二物理页的三个逻辑页中的每一页编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器dc缓存第二物理页的高页up的编程数据。且此后可用ds是否为1来判断lv7是否编程验证通过,若ds为1则代表lv7编程验证通过,代表lv0~lv7的数据都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的3个逻辑页的编程数据已经缓存在3个页锁存器中,可以直接进入第二次编程过程。若ds为0则未通过继续进行编程验证判断。
110.本技术一实施例还提供了一种非易失性存储装置,所述非易失性存储装置包括:存储单元阵列,所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储例如4位数据;外围电路,所述外围电路耦接于所述存储单元阵列,所述外围电路被配置为将第一物理页和第二物理页以缓存编程方式对所述存储单元阵列分别进行相继的第一次编程和第二次编程,以及在第一次编程/第二次编程的过程中基于第一物理页/第二物理页的4个逻辑页对选定的存储单元行进行编程,所述4个逻辑页分别为低页(lower page,lp),中页(middle page,mp),高页(upper page,up),额外页(extra page,xp);所述外围电路包括分别耦合到位线的多个页缓冲器,每个页缓冲器包括:主锁存器ds、三个数据锁存器d1、d2、d3和与数据通路耦接的一个缓存锁存器dc;其中,所述主锁存器ds被配置为能够存储第一非物理页信息;所述三个数据锁存器d1、d2、d3和所述一个缓存锁存器dc用于对第一物理页/第二物理页的4个逻辑页执行一次所述编程的过程中作为4个页锁存器暂存待写入4个逻辑页的编程数据;所述外围电路还被配置为:在对所述第一物理页进行编程的过程中,完成第1至第2
(n-m)
个存储器状态的编程操作时对对应第2
(n-m)
个存储器状态的编程操作进行编程验证操作,在第2
(n-m)
个存储器状态的编程验证通过的情况下使得所述主锁存器,即使得主锁存器存储的对应第1至第2
(n-m)
个存储器状态的标识不同于对应第2
(n-m)
+1至第2n个存储器状态的标识,以及释放所述4个页锁存器的至少一个以缓存第二物理页的4个逻辑页的至少一个逻辑页的编程数据;并且在对所述第一物理页进行编程的过程中,将第二物理页的4个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。
111.在一具体实施方式中,每个存储单元具有16种存储器状态(电平)并且因此可以存
储四位数据。每个存储器状态可以对应于存储单元的24个阈值电压(vth)范围中的一个。另一方面,每个存储器状态可以对应于要存储在选定存储单元行中的四位数据的24个片段中的一个。在一具体实施方式中,对所述页锁存器存储的逻辑页的编程数据根据预设规则进行编码转换,得到对应不同存储器状态的的编码。具体地,请参阅图16,示出了经编码转换后16个存储器状态(lv0到lv15)与16个片段之间的一对一映射的二进制编码的示例。四位数据的每个片段可以由四位二进制编码组成,所述四位二进制编码分别来自于4个逻辑页,所述4个逻辑页分别为低页lp,中页mp,高页up,额外页xp。可以看出,4个页锁存器按顺序存储四个逻辑页的编程数据,页锁存器d1存放低页lp,页锁存器d2存放中页mp,页锁存器d3存放高页up,页锁存器dc存放额外页xp。经过编码转换后,如图16所示,lvl的编码为0001,其中0001分别按顺序来自lp/mp/up/xp,同理其他的存储器状态位的编码顺序都是lp/mp/up/xp,lv2的编码为1001,以此类推,lv7的编码为1011,lv8的编码为0000,lv15的编码为1110。
112.在本技术实施例中,外围电路被配置为:在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之前,将所述第一物理页的n个逻辑页中相应的一个逻辑页的编程数据存储在n个所述页锁存器的至少一个中;并且在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,将所述第二物理页的n个逻辑页中的一个逻辑页的编程数据存储在n个所述页锁存器的至少一个中。在一具体实施方式中,在对16个存储器状态中的第8个存储器状态lv7进行编程验证前,dc可以存储第一物理页的4个逻辑页中的一个逻辑页(当前xp)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据,并且d3可以存储第一物理页的相应的逻辑页(当前up)的编程数据。并且在对16个存储器状态中的第8个存储器状态lv7进行编程验证后,将所述第二物理页的4个逻辑页中的一个逻辑页的编程数据存储在4个所述页锁存器中,具体请参阅图17。
113.在本技术实施例中,外围电路还被配置为:在对所述2n个存储器状态中的第2
n-1
个存储器状态进行编程验证之后,使得所述主锁存器ds进行非目标验证,即使得所述主锁存器ds存储的对应第1至第2
(n-1)
个存储器状态的标识不同于对应第2
(n-1)
+1至第2n个存储器状态的标识。具体地,请参阅图17,在对16个存储器状态中的第8个存储器状态进行编程验证之后(即,已经验证第8个存储器状态lv7),使得主锁存器ds存储的对应第1至第8个存储器状态的标识不同于对应第9至第16个存储器状态的标识,即使得所述主锁存器内已编程验证通过的存储器状态的标识和未编程验证通过的存储器状态的标识不同,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态编程验证未通过。此时主锁存器ds和页锁存器d1、d2和d3可以组成编码0000、编码0001、编码0010、编码0011、编码0100、编码0101、编码0110和编码0111,可以分别代表lv8至lv15。换言之,在lv7编程验证通过后只需要三个页锁存器和做非目标验证的主锁存器ds就能够区分lv8至lv15这8个存储器状态,因此在lv7编程验证通过后,可释放页锁存器dc,以缓存第二物理页的低页lp的编程数据。编码状态表如图17所示,此时ds为1表示lv7编程验证通过,可释放页锁存器dc,以缓存第二物理页的低页lp的编程数据。
114.由于在lv7编程验证通过后进行的非目标验证使得主锁存器用于标识已编程验证通过的存储器状态和未编程验证通过的存储器状态,因此无法继续储存原来主锁存器ds中的第一非物理页信息。在主锁存器ds进行非目标验证后,在编程期间对位线进行浮置以使
偏置锁存器空闲从而转储所述主锁存器ds中的第一非物理页信息。
115.在本技术实施例中,lv11编程验证通过就是指四个页锁存器中存储器状态lv0~lv11对应的片段都写进去了,此时还剩余4个存储器状态lv12,lv13,lv14,lv15未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,因此两个页锁存器就有4种可能的状态(22=4),在非目标验证过程中,对于未编程验证的状位ds均为0,只有该状态位编程验证通过了ds才为1。此时主锁存器ds和页锁存器d2、d3可以组成编码000、编码001、编码010和编码011,可以分别代表lv12至lv15。换言之,在lv11编程验证通过后只需要两个页锁存器和做非目标验证的主锁存器ds就能够区分lv12至lv15这4个存储器状态,因此在lv11编程验证通过后,可释放页锁存器d1,以缓存第二物理页的低页lp的编程数据,从而进一步释放页锁存器dc缓存第二物理页的中页mp的编程数据,编码状态表如图18所示。
116.同理,lv13编程验证通过后,还剩余2个存储器状态lv14,lv15未编程验证通过。在非目标验证过程中,对于未编程验证的状位ds均为0,只有该状态位编程验证通过了ds才为1。此时主锁存器ds和页锁存器d3可以组成编码00和编码01,可以分别代表lv14和lv15。换言之,在lv13编程验证通过后只需要一个页锁存器d3和做非目标验证的主锁存器ds就能够区分lv14和lv15这2个存储器状态,因此在lv13编程验证通过后,可释放页锁存器d2,以缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc缓存第二物理页的高页up的编程数据,编码状态表如图19所示。
117.在本技术实施例中,所述外围逻辑电路还被配置为:在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对16个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第15个存储器状态(lv14)),释放4个所述页锁存器,以使4个所述页锁存器缓存第二物理页的4个逻辑页中的每一页(下一lp,下一mp,下一up,下一xp)的编程数据,如图20所示,当lv14的编程验证通过后,即ds为1,则可释放页锁存器d3缓存第二物理页的高页up的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页xp的编程数据。则此时释放了4个页锁存器,以将第二物理页的四个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器d3缓存第二物理页的高页up的编程数据,页锁存器dc缓存第二物理页的额外页xp的编程数据。且此后可用ds是否为1来判断lv15是否编程验证通过,若ds为1则代表lv15编程验证通过,代表lv0~lv15的数据都写入存储单元阵列了,第一次编程结束,此时第二次编程要写入的四个逻辑页的编程数据已经缓存在4个页锁存器中,可以直接进入第二次编程过程。若ds为0则未通过继续进行编程验证判断。
118.在本技术另一实施例中,所述非易失性存储装置中包括的外围电路在4个页锁存器中存储了4个逻辑页的编程数据之后,对存储在所述页锁存器中的逻辑页的编程数据按照预设规则进行编码转换,得到如图21所示经过编码转换后的编码状态表,如图21所示,lv1的数据编码为0001,其中0001分别按顺序来自lp/mp/up/xp,同理其他的存储器状态的编码顺序都是lp/mp/up/xp,lv2的编码为1001,以此类推,lv8的编码为1110,lv15的编码为1100。在一具体实施方式中,在对16个存储器状态中的lv8进行编程验证前,dc可以存储第一物理页的4个逻辑页中的一个(当前xp)的编程数据,并且d1可以存储第一物理页的相应
的逻辑页(当前lp)的编程数据,d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据,并且d3可以存储第一物理页的相应的逻辑页(当前up)的编程数据。lv8编程验证通过(lv8 pass)就是指四个页锁存器中存储状态lv0~lv8对应的片段都写进去了,此时还剩余7个存储器状态lv9,lv10,lv11至lv15未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,因此三个页锁存器就有8种可能的状态(23=8),排除掉与已编程验证通过的存储器状态相同的编码111,还剩余7种编码可以分别代表lv9,lv10,lv11至lv15。换言之,在lv8编程验证通过后只需要三个页锁存器就能够区分lv9,lv10,lv11至lv15这7个存储器状态,因此在lv8编程验证通过后可以释放页锁存器dc,以将第二物理页的低页lp的编程数据存储在释放的页锁存器中,编码状态表如图22所示。
119.同理,lv12编程验证通过后还剩余3个存储器状态lv13,lv14,lv15未编程验证通过。由于每一逻辑页的一个bit有0、1两种可能的状态,因此两个页锁存器可以有4种可能的状态(22=4),排除掉与已编程验证通过的存储器状态相同的编码11,还剩余00、01和10这3种编码可以分别代表lv13,lv14,lv15。换言之,在lv12编程验证通过后只需要两个页锁存器就能够区分lv13,lv14,lv15这3个存储器状态,因此在lv12编程验证通过后可以释放页锁存器d1,以使释放的页锁存器d1缓存第二物理页的低页lp的编程数据,从而进一步释放页锁存器dc缓存第二物理页的中页mp的编程数据,编码状态表如图23所示。
120.在本技术实施例中,所述外围电路具体被配置为:在对所述16个存储器状态中的倒数第3个存储器状态进行编程验证之后,使得所述主锁存器进行非目标验证,所述非目标验证为使得所述主锁存器存储的对应第1至第2
n-2个存储器状态的标识不同于对应第2
n-1至第2n个存储器状态的标识。在一具体实施方式中,在对16个存储器状态中的倒数第3个存储器状态进行编程验证之后(即,已经验证第14个存储器状态(lv13)),使得主锁存器ds进行非目标验证,所述非目标验证为使得所述主锁存器主锁存器储的对应第1至第14个存储器状态的标识不同于对应第15至第16个存储器状态的标识,当ds为1时表示该存储器状态编程验证通过,当ds为0时表示该存储器状态未编程验证通过。可以如下图24所示更新图23的二进制编码,其中,lv13中的所有数据位可以被更新为1,因为在当前第一次编程操作中不再需要它们。如图24所示,此时主锁存器ds和页锁存器d3可以组成编码01和编码00,可以分别代表lv14,lv15。换言之,在lv13编程验证通过后只需要一个页锁存器d3和做非目标验证的主锁存器ds就能够区分lv14和lv15这2个存储器状态,因此在lv13编程验证通过后,可释放页锁存器d2,以缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc缓存第二物理页的高页up的编程数据。也就是说,下一mp可以从dc传递到d2,并且可以在dc中缓存下一up的编程数据。
121.由于在lv13验证通过后进行的非目标验证使得主锁存器储的对应第1至第14个存储器状态的标识不同于对应第15至第16个存储器状态的标识,因此无法继续储存原来主锁存器ds中的第一非物理页信息。在主锁存器ds进行非目标验证后,在编程期间对位线进行浮置以使偏置锁存器dl空闲从而转储所述主锁存器ds中的第一非物理页信息。
122.在本技术实施例中,所述外围逻辑电路还被配置为:在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对16个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第15个存储器状态
(lv14)),释放4个页锁存器,以使4个所述页锁存器缓存第二物理页的4个逻辑页中的每一页(下一lp,下一mp,下一up,下一xp)的编程数据,如图25所示,当lv14的编程验证通过后,ds为1,则可释放页锁存器d3缓存第二物理页的高页up的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的额外页xp的编程数据。则此时释放了4个页锁存器,以将第二物理页的四个逻辑页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器d3缓存第二物理页的高页up的编程数据,页锁存器dc缓存第二物理页的额外页xp的编程数据。且此后可用ds是否为1来判断lv15是否编程验证通过,若ds为1则代表lv15编程验证通过,代表lv0~lv15的数据都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的四个逻辑页的编程数据已经缓存在4个页锁存器中,可以直接进入第二次编程过程。若ds为0则未通过继续进行编程验证判断。
123.本技术实施例中还提供了一种非易失性存储装置,包括:存储单元阵列,所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储3位数据;外围电路,其被配置为将第一物理页和第二物理页以缓存编程方式对所述存储单元阵列分别进行相继的第一次编程和第二次编程,以及在第一次编程/第二次编程的过程中基于第一物理页/第二物理页的3个逻辑页对选定的存储单元行进行编程,所述3个逻辑页分别为低页lp,中页mp,高页up;所述外围电路包括分别耦合到位线的多个页缓冲器,每个页缓冲器包括:主锁存器、偏置锁存器dl、(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器,其中,所述偏置锁存器被配置为能够存储第二非物理页信息;所述(n-1)个数据锁存器和所述一个缓存锁存器用于对第一物理页/第二物理页的n个逻辑页执行一次所述编程的过程中作为n个页锁存器暂存待写入n个逻辑页的编程数据(例如,对于tlc,n=3);所述外围电路被配置为:在对所述第一物理页进行编程的过程中,禁用位线偏置功能以释放所述偏置锁存器来替代所述n个页锁存器中的一个页锁存器进行存储器状态的编程验证,以及释放所述n个页锁存器中的一个页锁存器来缓存第二物理页的n个逻辑页的一个逻辑页的编程数据;并且,在对所述第一物理页进行编程的过程中,将第二物理页的n个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。在一具体实施方式中,所述非易失性存储装置包括三维nand闪存存储器装置。
124.在本技术实施例中,所述外围电路进一步被配置为在对所述第一物理页/第二物理页进行编程的过程中,使用增量阶跃脉冲编程ispp编程方式对第1至第2
(n-m)
个存储器状态进行编程操作。
125.在本技术实施例中,所述第二非物理页信息包括相应的位线的电压偏置信息。
126.在本技术实施例中,所述外围电路还被配置为:在对所述2n个存储器状态中的第(2
n-1
+1)个存储器状态进行编程验证之前,将所述第一物理页的n个逻辑页中相应的一个逻辑页的编程数据存储在所述页锁存器的至少一个中,在一具体实施方式中,在对8个存储器状态的第5个存储器状态lv4进行编程验证之前,dc可以存储第一物理页的3个逻辑页中的一个(当前up)的编程数据,并且d1可以存第一前物理页的相应的逻辑页(当前lp)的编程数据,并且d2可以存储第二物理页的相应的逻辑页(当前mp)的编程数据。对存储在页锁存器中的不同逻辑页的编程数据进行与图12相同的编码转换,在对所述2n个存储器状态中的第(2
n-1
+1)个存储器状态进行编程验证之后,将所述第二物理页的n个逻辑页中的一个逻辑页
存储在n个所述页锁存器的至少一个中,即在lv4编程验证通过之后,释放页锁存器dc,以使释放的页锁存器缓存第二物理页的低页lp的编程数据,编码状态表如图13所示。
127.在本技术实施例中,所述外围电路还被配置为:在对所述2n个存储器状态中的倒数第3个存储器状态进行编程验证之后,禁用位线偏置功能。在一具体实施方式中,在对8个存储器状态中的倒数第3个存储器状态lv5进行编程验证之后,禁用位线偏置功能。图26为本技术实施例提供的禁用位线偏置功能后的编码状态表,可以看出禁用位线偏置功能后偏置锁存器dl空闲,可用于替代一个页锁存器进行存储器状态的编程验证,那么就可以释放该页锁存器d1以缓存第二物理页的低页lp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的中页mp的编程数据。
128.本技术实施例中,所述外围电路还被配置为:在禁用位线偏置功能后,减小编程电压的步增量。由于位线偏置功能本身是为了缩小存储单元的阈值电压的分布的宽度,在禁用该位线偏置功能后,可通过减小编程电压的步增量的方式来进行补偿,如此既能够利用偏置锁存器替代一个页锁存器,又能不影响非易失性存储装置的功能。
129.在本技术实施例中,所述主锁存器ds被配置为存储验证信息和编程信息。
130.在本技术实施例中,所述外围电路还被配置为:在以所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使所述数据锁存器缓存下一物理页的n个逻辑页中的每一页。在一具体实施方式中,在对8个存储器状态中的倒数第二个存储器状态进行验证之后(即,已经验证第7个存储器状态(lv6)),释放3个所述页锁存器,以使3个所述页锁存器缓存第二物理页的3个逻辑页中的每一页(下一lp,下一mp,下一up)的编程数据,编码状态表如图27所示,当lv6的编程验证通过后,此时还剩余1个未编程验证通过的存储器状态lv7,由于每一逻辑页的一个bit有0、1两种可能的状态,因此1个锁存器就有2种可能的状态(21=2),换言之,在lv6编程验证通过后只需要1个偏置锁存器dl就能够判断lv7是否编程验证通过,因此lv6的编程验证通过后,则可释放页锁存器d2缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。则此时释放了3个页锁存器,以将第二物理页的三个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器dc缓存第二物理页的高页up的编程数据。且此后可用dl是否为1来判断lv7是否编程验证通过,若dl为1则代表lv7编程验证通过,代表lv0~lv7的数据都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的3个逻辑页的编程数据已经缓存在页锁存器中,可以直接进入第二次编程过程。若dl为0则未通过继续进行编程验证判断。
131.基于本技术上述实施例提供的非易失性存储装置,本技术实施例中还提供了一种非易失性存储装置的编程方法,其中,所述非易失性存储装置包括存储单元阵列和外围电路;所述存储单元阵列中的存储单元按行和列排列,每个存储单元被配置存储n位数据,n为大于1的整数;所述外围电路包括分别耦合到位线的多个页缓冲器;所述方法包括:将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;将第二非物理页信息存储在所述页缓冲器中的偏置锁存器中;在对所述第一物理页进行编程的过程中,禁用位线偏置功能以释放所述偏置锁存器来替代所述n个页锁存器中的一个页锁存器
进行存储器状态的编程验证,以及释放所述n个页锁存器中的一个页锁存器;在以缓存编程方式对第二物理页进行相继于所述第一次编程的第二次编程之前且在对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中的一个逻辑页的编程数据存储在释放的页锁存器中。
132.图28为本技术实施例提供的非易失性存储装置的编程方法的具体实现流程示意图,如图28所示,所述编程方法具体包括以下步骤:
133.步骤s301:将当前第一次编程对应的第一物理页的n个逻辑页存储在n个页锁存器中,所述n个页锁存器包括所述页缓冲器中的(n-1)个数据锁存器和与数据通路耦接的一个缓存锁存器;
134.在所述页锁存器中存储lp,mp及up三个逻辑页的编程数据之后,对所述数据锁存器存储的页数据按照预设规则进行编码转换,得到对应不同存储器状态的二进制编码,具体请参阅图12。
135.在上述步骤s301中,每个存储单元被配置为以8个存储器状态中的一个存储器状态存储3位数据。在对8个存储器状态的第5个存储器状态lv4进行编程验证之前,dc可以存储第一物理页的3个逻辑页中的一个(当前up)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,并且d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据。随后对暂存在页锁存器中的不同逻辑页的编程数据进行的是与图12相同的编码转换,并且在lv4编程验证通过之后,释放页锁存器dc,以使释放的页锁存器缓存第二物理页的低页lp的编程数据,编码状态表参考图13。
136.步骤s302:将第二非物理页信息存储在所述页缓冲器中的偏置锁存器中。这里,所述第二非物理页信息包括相应的位线的电压偏置信息。
137.步骤s303:在对所述第一物理页进行编程的过程中,禁用位线偏置功能以释放所述偏置锁存器来替代所述n个页锁存器中的一个页锁存器进行存储器状态的编程验证,以及释放所述n个页锁存器中的一个页锁存器;在以缓存编程方式对第二物理页进行相继于所述第一次编程的第二次编程之前且在对所述第一物理页进行第一次编程的过程中,将所述第二物理页的n个逻辑页中的一个逻辑页的编程数据存储在释放的页锁存器中。
138.在上述步骤s303中,对所述第一物理页/第二物理页进行第一次编程/第二次编程,包括:使用增量阶跃脉冲编程ispp编程方式对第1至第2
(n-m)
个存储器状态进行编程操作。
139.在上述步骤s303中,所述禁用位线偏置功能包括:在以所述2n个存储器状态中的倒数第3个存储器状态进行编程验证之后,禁用位线偏置功能。具体地,请参阅图26,在对8个存储器状态中的倒数第3个存储器状态lv5进行编程验证之后,禁用位线偏置功能。图26为本技术实施例提供的禁用位线偏置功能后的编码状态表,可以看出禁用位线偏置功能后偏置锁存器dl空闲,可用于替代一个页锁存器进行存储器状态识别,那么就可以释放该页锁存器d1以缓存第二物理页的低页lp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的中页mp的编程数据。
140.在本技术实施例中,在禁用位线偏置功能后,减小编程电压的步增量。由于位线偏置功能本身是为了缩小存储单元的阈值电压的分布的宽度,在禁用该位线偏置功能后,可通过减小编程电压的步增量的方式来进行补偿,如此既能够利用偏置锁存器替代一个页锁
存器,又能不影响非易失性存储装置的功能。在本技术实施例中,在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对8个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第7个存储器状态(lv6)),释放3个所述页锁存器,以使3个所述页锁存器缓存第二物理页的3个逻辑页中的每一页(下一lp,下一mp,下一up)的编程数据,编码状态表如图27所示,当lv6的编程验证通过后,此时还剩余1个未编程验证通过的存储器状态lv7,由于每一逻辑页的一个bit有0、1两种可能的状态,因此1个锁存器就有2种可能的状态(21=2),换言之,在lv6编程验证通过后只需要1个偏置锁存器dl就能够判断lv7是否编程验证通过,因此lv6的编程验证通过后,则可释放页锁存器d2缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。则此时释放了3个页锁存器,以将第二物理页的三个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器dc缓存第二物理页的高页up的编程数据。且此后可用dl是否为1来判断lv7是否编程验证通过,若dl为1则代表lv7编程验证通过,代表lv0~lv7对应的片段都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的3个逻辑页的编程数据已经缓存在页锁存器中,可以直接进入第二次编程过程。若dl为0则未通过继续进行编程验证判断。由于在lv6进行编程验证之后,3个页锁存器可以缓存第二物理页的3个逻辑页(下一lp、下一mp和下一up)中的每一页的编程数据,因此在第一次编程操作期间,第二物理页可以变得准备就绪。因此,在第一次编程操作结束时,可以无缝地触发基于第二物理页的第二次编程操作,而没有数据加载窗口。
141.本技术实施例中还提供了另一种非易失性存储装置,所述非易失性存储装置中包括的外围电路在4个页锁存器中存储了4个逻辑页的编程数据之后,对存储在所述页锁存器中的逻辑页的编程数据按照预设进行编码转换,得到如图21所示的编码状态表。
142.在本技术实施例中,在对16个存储器状态中的lv8进行编程验证前,dc可以存储第一物理页的4个逻辑页中的一个(当前xp)的编程数据,并且d1可以存储第一物理页的相应的逻辑页(当前lp)的编程数据,d2可以存储第一物理页的相应的逻辑页(当前mp)的编程数据,并且d3可以存储第一物理页的相应的逻辑页(当前up)的编程数据。lv8编程验证通过之后,释放页锁存器dc,以使释放的页锁存器缓存第二物理页的低页lp的编程数据,编码状态表如图22所示。lv12编程验证通过之后,释放页锁存器d1以缓存第二物理页的低页lp的编程数据,从而进一步释放页锁存器dc缓存第二物理页的中页mp的编程数据,编码状态表如图23所示。
143.在本技术实施例中,所述外围电路还被配置为:在以所述2n个存储器状态中的倒数第3个存储器状态进行编程验证之后,禁用位线偏置功能。在一具体实施方式中,在对16个存储器状态中的倒数第3个存储器状态lv13进行编程验证之后,禁用位线偏置功能以释放偏置锁存器dl来替代4个页数据锁存器中的一个页锁存器进行存储器状态的编程验证,以及释放4个页锁存器中的一个页锁存器来缓存第二物理页的4个逻辑页的一个逻辑页的编程数据;并且,在对所述第一物理页进行编程的过程中,将第二物理页的4个逻辑页中一个逻辑页的编程数据存储在释放的一个页锁存器中。图29为本技术实施例提供的禁用位线偏置功能后的编码状态表,可以看出禁用位线偏置功能后偏置锁存器dl空闲,可用于替代4
个页锁存器中一个页锁存器进行存储器状态的编程验证,那么就可以释放页锁存器d2以缓存第二物理页的中页mp的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的高页up的编程数据。
144.本技术实施例中,所述外围电路还被配置为:在禁用位线偏置功能后,减小编程电压的步增量。由于位线偏置功能本身是为了缩小存储单元的阈值电压的分布的宽度,在禁用该位线偏置功能后,可通过减小编程电压的步增量的方式来进行补偿,如此既能够利用偏置锁存器替代数据锁存器的一个页锁存器,又能不影响非易失性存储装置的功能。
145.在本技术实施例中,在对所述2n个存储器状态中的倒数第二个存储器状态进行编程验证之后,释放n个所述页锁存器中,以使n个所述页锁存器缓存第二物理页的n个逻辑页中的每一页的编程数据。在一具体实施方式中,在对16个存储器状态中的倒数第二个存储器状态进行编程验证之后(即,已经验证第15个存储器状态(lv14)),释放4个所述页锁存器,以使4个所述页锁存器缓存第二物理页的4个逻辑页中的每一页(下一lp,下一mp,下一up,下一xp)的编程数据,编码状态表如图30所示,当lv14的编程验证通过后,此时还剩余1个未编程验证通过的存储器状态lv15,由于每一逻辑页的一个bit有0、1两种可能的状态,因此1个锁存器就有2种可能的状态(21=2),换言之,在lv6编程验证通过后只需要1个偏置锁存器dl就能够判断lv7是否编程验证通过,因此lv14的编程验证通过后,则可释放页锁存器d3缓存第二物理页的高页up的编程数据,从而进一步释放页锁存器dc以缓存第二物理页的额外页xp的编程数据。则此时释放了4个页锁存器,以将第二物理页的四个逻辑页中的每一页的编程数据全部存储进来。此时,页锁存器d1缓存第二物理页的低页lp的编程数据,页锁存器d2缓存第二物理页的中页mp的编程数据,页锁存器d3缓存第二物理页的高页up的编程数据,页锁存器dc缓存第二物理页的额外页xp的编程数据。且此后可用dl是否为1来判断lv15是否编程验证通过,若dl为1则代表lv15编程验证通过,代表lv0~lv15对应的片段都写入选定存储单元了,第一次编程结束,此时第二次编程要写入的4个逻辑页的编程数据已经缓存在4个页锁存器中,可以直接进入第二次编程过程。若dl为0则未通过继续进行编程验证判断。
146.本技术实施例所提供的解决方案使第二次编程中所需的各种类型逻辑页的编程数据在第一次编程过程中都暂存到页锁存器中,即在第一次编程操作期间,第二物理页可以变得准备就绪。因此,在第一次编程操作结束时,可以无缝地触发基于第二物理页的第二次编程操作,而没有数据加载窗口。
147.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1