非易失性存储器及其编程方法、计算机系统与流程

文档序号:30298951发布日期:2022-06-04 20:52阅读:193来源:国知局
非易失性存储器及其编程方法、计算机系统与流程

1.本发明涉及半导体存储器技术,更具体而言涉及一种非易失性存储器及其编程方法、计算机系统。


背景技术:

2.半导体存储器设备一般可以被分类为易失性(volatile)存储器和非易失性(nv:non-volatile)存储器。易失性存储器(诸如dram、sram等)在缺乏所施加的电力的情况下会丢失存储的数据。相反,非易失性存储器(诸如eeprom、earom、prom、eprom、nand设备等)能够在缺乏所施加的电力的情况下保持存储的数据。随着可携带电子产品(例如个人计算机、智能手机、数码相机、多媒体播放设备等等)的发展,对非易失性存储器的需求越来越大,对其性能的要求也越来越高。
3.在非易失性存储器中,有读取/编程/擦除三种基本操作。其中,读取/编程操作比擦除更频繁。因此,读取/编程时间在非易失性存储器中至关重要。读取操作的时间几乎是固定的。所以降低编程时间比降低读取时间更重要。
4.通常,作为编程方式,可以使用增量步进脉冲编程(incremental step pulse program,ispp)方式。ispp方式如图1所示,对选择页面施加初始的编程脉冲,通过编程验证判断存储单元是否被编程,在判定为编程不合格的情况下,施加比初始的编程脉冲高一阶电压的编程脉冲,使编程脉冲的电压依序增加,直至在逐列读出(也称为数据扫描)步骤中判定为页面内的所有存储单元的编程合格为止。


技术实现要素:

5.发明所要解决的技术问题
6.然而,目前的数据扫描方式中,每次均扫描所有存储单元,使得总扫描时间较长,存在非易失性存储器的编程时间变长的问题。
7.本发明是为了解决上述问题而完成的,其目的在于,提供一种可以降低非易失性存储器的编程时间中的数据扫描时间的非易失性存储器的编程方法、非易失性存储器及计算机系统。
8.解决技术问题的技术方案
9.本发明提供一种非易失性存储器的编程方法,其包括:对目标编程页面的存储单元施加编程脉冲的编程步骤;对施加编程脉冲后的存储单元进行编程验证,判断存储单元是否被编程的编程验证步骤;及对所述目标编程页面进行逐列扫描,判断对所述目标编程页面的编程操作是否成功的数据扫描步骤,重复所述编程步骤、所述编程验证步骤及所述数据扫描步骤,直至对所述目标编程页面的编程操作成功,该编程方法中,将所述目标编程页面的所述存储单元按列划分为多个数据块,在所述数据扫描步骤中,对各数据块依次进行扫描以判断数据块是否编程成功,在判断为数据块编程成功时,进行下一数据块的扫描,在判断为数据块编程失败时,停止数据扫描。
10.优选为,在所述数据扫描步骤中,在判断为数据块编程成功时,对该数据块设置通过标记,在判断为数据块编程失败时,对该数据块设置失败标记,在下一个所述数据扫描步骤中,跳过设置有通过标记的数据块,从设置有失败标记的数据块开始进行数据扫描。
11.优选为,将各数据块的通过标记和失败标记作为通过失败信息存储在标记存储器中,在每次进行所述数据扫描步骤后,对所述标记存储器进行更新。
12.优选为,所述标记存储器中,初始时将所有数据块的通过失败信息设置为失败标记。
13.优选为,在所述编程验证步骤中判断为存储单元已被编程时,将所述存储单元标记为编程成功,不再对其施加编程脉冲,在判断为存储单元未被编程时,在下一个所述编程步骤中对该存储单元施加更高电压的编程脉冲。
14.优选为,对所述目标编程页面预先定义有容差,在所述数据扫描步骤中,对所述目标编程页面中编程失败的存储单元的数量进行累积,在累积得到的值小于容差时,判断为对所述目标编程页面的编程操作成功。
15.优选为,对各数据块预先定义有容差,在所述数据扫描步骤中,对各数据块中编程失败的存储单元的数量进行累积,在累积得到的值小于容差时,判断为对数据块编程成功。
16.优选为,所述非易失性存储器是nand设备。
17.本发明还提供一种非易失性存储器,其存储有计算机指令,当所述计算机指令被处理部执行时,所述处理部利用上述编程方法对所述非易失性存储器进行编程操作。
18.本发明还提供一种计算机系统,其包括:存储有计算机指令的计算机存储介质;非易失性存储器;以及处理部,所述处理部在执行所述计算机指令时,利用上述编程方法对所述非易失性存储器进行编程操作。
19.发明效果
20.根据本发明的非易失性存储器的编程方法,通过将存储单元按列划分为多个数据块,在数据扫描步骤中,在判断为数据块编程失败时,停止数据扫描,从而可以降低非易失性存储器的编程时间中的数据扫描时间。
21.此外,根据本发明的非易失性存储器的编程方法,通过对数据块设置通过标记和失败标记,在下一个数据扫描步骤中,跳过设置有通过标记的数据块,从设置有失败标记的数据块开始进行数据扫描,从而可以显著降低非易失性存储器的编程时间中的数据扫描时间。
附图说明
22.图1是示出非易失性存储器中的ispp方式的编程过程的图。
23.图2是示出利用ispp方式对非易失性存储器进行编程的流程图。
24.图3是示出本发明实施方式1所涉及的非易失性存储器的编程方法中的数据扫描步骤的流程图。
25.图4是示出将现有的数据扫描方式与本发明实施方式1的数据扫描方式进行比较的示例的图。
26.图5是示出本发明实施方式1的数据扫描方式取决于失败列位置的情况的图。
27.图6是示出本发明实施方式2所涉及的非易失性存储器的编程方法中的数据扫描
步骤的流程图。
28.图7是示出现有的数据扫描方式中的4次ispp程序的扫描时间的图。
29.图8是示出本发明实施方式1的数据扫描方式中的4次ispp程序的扫描时间的图。
30.图9是示出本发明实施方式2的数据扫描方式中的4次ispp程序的扫描时间的图。
31.图10是示出本发明的一个实施方式的非易失性存储器的框图。
32.图11是示出本发明的一个实施方式的计算机系统的框图。
具体实施方式
33.可以通过参考附图中所描绘的示意性实施例来理解本发明的实施例(本发明的实施例简短总结如上且更详细讨论于下)。然而,附图仅示出本发明的典型实施例,并因此不认为限制本原理的范围,因为本原理可允许其他等效实施例。
34.为了便于理解,在各附图中使用了相同的参考标号,以指示附图中共用的相同元素。附图并未依比例绘制并且可为了清晰而被简化。一个实施例的元素及特征可有利地并入其他实施例中,而无须进一步叙述。
35.非易失性存储器可包括存储器单元阵列。从操作角度或者物理(或结构)角度来看,包括在存储器单元阵列中的存储器单元可被配置成分层存储器单元集或存储器单元组。例如,连接到相同字线并且待被同时读取和写入(或编程)的存储器单元可被配置成页面。在下面的描述中,为便于说明,被配置成页面的存储器单元将被称为“页面”。
36.图2示出了利用ispp方式对非易失性存储器进行编程的流程图。非易失性存储器可以是nand设备等。
37.在编程步骤s1中,对目标编程页面的存储单元施加编程脉冲。
38.在编程验证步骤s2中,对施加编程脉冲后的存储单元进行编程验证,判断存储单元是否被编程。
39.在数据扫描步骤s3中,对目标编程页面进行逐列扫描,判断对目标编程页面的编程操作是否成功。
40.重复编程步骤s1、编程验证步骤s2及数据扫描步骤s3,直至对目标编程页面的编程操作成功。
41.此外,在编程验证步骤s2中判断为存储单元已被编程时,可以将存储单元标记为编程成功,不再对其施加编程脉冲,在判断为存储单元未被编程时,在下一个编程步骤中对该存储单元施加更高电压的编程脉冲。
42.另外,可以构成为对目标编程页面预先定义有容差,在数据扫描步骤s3中,对目标编程页面中编程失败的存储单元的数量进行累积,在累积得到的值小于容差时,判断为对目标编程页面的编程操作成功。
43.《实施方式1》
44.本发明实施方式1所涉及的非易失性存储器的编程方法基于早期失败检测方案。将目标编程页面的存储单元按列划分为多个数据块,如果存在累积错误超过容差的数据块,则停止数据扫描,因为该页面的编程还未完成。这意味着该页面需要更高的电压才能完成编程。由此,可以降低数据扫描时间,进而也可减少编程时间。
45.以下,利用图3对本发明实施方式1所涉及的非易失性存储器的编程方法进行说
明。图3示出该编程方法中的数据扫描步骤的流程图。
46.在步骤s31中,将目标编程页面的存储单元按列划分为多个数据块。
47.在步骤s32中,对数据块进行扫描以判断数据块是否编程成功。其中,可以设为对各数据块预先定义有容差,在数据扫描步骤中,对各数据块中编程失败的存储单元的数量进行累积,在累积得到的值小于容差时,判断为对数据块编程成功。
48.在步骤s32中判断为数据块编程成功时,进行下一数据块的扫描(步骤s33)。在步骤s32中判断为数据块编程失败时,停止数据扫描(步骤s34)。
49.图4是示出将现有的数据扫描方式与本发明实施方式1的数据扫描方式进行比较的示例的图。图4中,将目标编程页面的存储单元按列划分为数据块0、数据块1、数据块2、
……
数据块n。假设编程失败的数据块为数据块2。
50.图4的上半部分为现有的数据扫描方式的图。由于没有失败停止功能,因此,从数据块0一直扫描至数据块n,其数据扫描时间=单个数据块的扫描时间t
×
数据块的数量。
51.图4的下半部分为本发明实施方式1的数据扫描方式的图。由于采用了早期失败检测方案,数据扫描在扫描数据块2后停止,数据扫描时间减少。
52.根据本实施方式,通过将存储单元按列划分为多个数据块,在数据扫描步骤中,在判断为数据块编程失败时,停止数据扫描,从而可以降低非易失性存储器的编程时间中的数据扫描时间。
53.《实施方式2》
54.上述实施方式1中说明了基于早期失败检测方案的数据扫描方式的编程方法。上述早期失败检测方案中,扫描时间取决于失败列的位置,具有失败位置依赖性。如果失败列位于低列地址,则扫描时间较短。另一方面,如果失败列位于高列地址,则扫描时间几乎与没有早期失败检测方案的情况相同。图5中示出实施方式1的数据扫描方式取决于失败列位置的情况。在编程失败的数据块为最高列的数据块的情况下,扫描时间与没有早期失败检测方案的情况相等。
55.对此,本发明实施方式2所涉及的非易失性存储器的编程方法中,对数据块设置表示编程成功的通过标记,在下一次数据扫描步骤中,标记为通过的数据块不需要再次扫描数据。因此,扫描从失败的数据块开始,从而可以减少扫描时间。这种方案的优点是失败的位置不影响总扫描时间。
56.以下,利用图6,对本发明实施方式2所涉及的非易失性存储器的编程方法进行说明。图6示出该编程方法中的数据扫描步骤的流程图。
57.在步骤s310中,将目标编程页面的存储单元按列划分为多个数据块。
58.在步骤s320中,对数据块进行扫描以判断数据块是否编程成功。其中,可以设为对各数据块预先定义有容差,在数据扫描步骤中,对各数据块中编程失败的存储单元的数量进行累积,在累积得到的值小于容差时,判断为对数据块编程成功。
59.在步骤s320中判断为数据块编程成功时,对该数据块设置通过标记,并进行下一数据块的扫描(步骤s330)。在步骤s320中判断为数据块编程失败时,对该数据块设置失败标记,停止数据扫描(步骤s340)。
60.此外,可以将各数据块的通过标记和失败标记作为通过失败信息存储在标记存储器中,在每次进行数据扫描步骤后,对标记存储器进行更新。标记存储器中,可以在初始时
将所有数据块的通过失败信息设置为失败标记。
61.以下,利用图7至图9将现有的数据扫描方式、实施方式1的数据扫描方式及实施方式2的数据扫描方式的扫描时间进行比较。图7至图9中分别示出了现有的数据扫描方式、实施方式1的数据扫描方式及实施方式2的数据扫描方式下的4次ispp程序的总扫描时间。
62.本示例中,将目标编程页面的存储单元按列划分为数据块0、数据块1、数据块2、数据块3、数据块4。在第一次的ispp程序(1st ispp)中,设数据块0开始编程失败。在第二次的ispp程序(2nd ispp)中,设数据块3开始编程失败。在第三次的ispp程序(3rd ispp)中,设数据块4编程失败。在第四次的ispp程序(4th ispp)中,设数据块4也编程成功。
63.图7中,由于不具有失败停止功能,也未设置通过失败信息的标记存储器,每次的ispp程序中,均从数据块0一直扫描至数据块4,总扫描时间=单个数据块的扫描时间t
×
数据块的数量
×
ispp的次数。
64.图8中,由于具有失败停止功能,在提前停止的帮助下,在第一次的ispp程序中,扫描数据块0后停止,在第二次的ispp程序中,从数据块0扫描至数据块3,在第三次及第四次的ispp程序中,均从数据块0扫描至数据块4。由此可见,扫描时间得以减少,但其仍具有失败位置依赖性。
65.图9中,由于进一步设置了通过失败信息的标记存储器,对编程成功的数据块设置通过标记,对编程失败的数据块设置失败标记,在下一次的ispp程序中,从标记为失败的数据块开始扫描。由此,在第一次的ispp程序中,扫描数据块0后停止,在第二次的ispp程序中,从数据块0扫描至数据块3,在第三次的ispp程序中,从数据块3扫描至数据块4,在第四次的ispp程序中,扫描数据块4。因此,总扫描时间可以显著降低,对失败位置的依赖性也同样降低了。
66.根据本实施方式,通过对数据块设置通过标记和失败标记,在下一个数据扫描步骤中,跳过设置有通过标记的数据块,从设置有失败标记的数据块开始进行数据扫描,从而可以显著降低非易失性存储器的编程时间中的数据扫描时间。
67.本发明的实施方式1和/或实施方式2中所述的非易失性存储器的编程方法的各操作以及操作的组合可通过特殊用途的基于硬件的系统来实施,此特殊用途的基于硬件的系统执行特定的功能或动作、或特殊用途的硬件和计算机指令的组合。
68.本发明的实施方式1和/或实施方式2所涉及的操作中的全部或部分可选地可以由程序来自动执行。在一个示例中,本发明可被实施作为存储在用于与计算机系统一起使用的计算机可读存储介质上的程序产品。程序产品的(多个)程序包括实施例的功能(包括本文所述的方法)。说明性计算机可读存储介质包括但不限于:(i)不可写存储介质(例如,计算机内的只读存储器装置,诸如可通过cd-rom机读取的cd-rom盘、闪存、rom芯片或任何类型的固态非易失性半导体存储器),在其上的信息被永久存储;以及(ii)可写存储介质(例如,盘存储或硬盘驱动或者任何类型的固态随机存取半导体存储器),在其上存储可变动信息。当实施指示本文所述的方法的功能的计算机可读指令时,此种计算机可读存储介质是本发明的实施例。
69.《实施方式3》
70.以下,参照图10对于本实施方式的非易失性存储器进行说明。图10是示出本实施方式的非易失性存储器的框图。
71.本实施方式所涉及的非易失性存储器1001可以是eeprom、earom、prom、eprom、nand设备等非易失性存储器。该存储器包括存储区域1002和处理部1003。存储区域1002是用于存储各类存储器参数。处理部1003可以自动地或在从外部计算设备(例如,计算机或通信终端等)接收到信号的情况下对存储区域1002进行控制。处理部1003可以是例如在非易失性存储器内的半导体芯片等。处理部1003可以执行如上述的实施方式1和/或实施方式2中所述的针对非易失性存储器的编程方法,从而对非易失性存储器的存储区域1002进行编程操作。
72.《实施方式4》
73.以下,参照图11对于本实施方式的计算机系统进行说明。图11是示出本实施方式的计算机系统的框图。
74.计算机系统1101可以包括存储器1102和处理部1103。存储器1102可以是非易失性存储器,例如是eeprom、earom、prom、eprom、nand设备等非易失性存储器。处理部1103可以自动地或在从外部(例如,通过无线传输)或者从内部(例如,从计算机系统1101内的其他电路或元器件)接收到信号的情况下对存储器1102进行控制。作为示例,处理部1103可以包括asic(application specific integrated circuit:专用集成电路)、ic(integrated circuit:集成电路)、dsp(digital signal processor:数字信号处理器)、fpga(field programmable gate array:现场可编程门阵列)、各种逻辑电路、以及各种信号处理电路等。处理部1103可以执行如上述的实施方式1和/或实施方式2中所述的针对非易失性存储器的编程方法,从而对存储器1102进行编程操作。
75.与存储器1102的编程操作有关的标记存储器可以设置于计算机系统1101中的其他存储装置和/或外部存储装置。所述计算机系统1101中的其他存储装置可以是计算机可读写存储介质(例如,盘存储或硬盘驱动或者任何类型的固态随机存取半导体存储器),在其上存储可变动信息。所述外部存储装置可以是与存储器1102或者计算机系统1101中的其他存储装置相同或相似的存储装置,也可以是与处理部1103通信的云端、远程存储设备、远程服务器等。其他存储装置和/或外部存储装置经由无线通信或有线通信等方式将计算机指令传递给处理部1103或从处理部1103处接收更新信号。
76.本发明进行了详细的说明,但上述实施方式仅是所有实施方式中的示例,本发明并不局限于此。本发明可以在该发明的范围内对各实施方式进行自由组合,或对各实施方式的任意构成要素进行变形,或省略各实施方式的任意的构成要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1