一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

非易失性存储器的编程方法以及存储装置与流程

2023-01-15 05:23:12 来源:中国专利 TAG:


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


背景技术:

2.随着步入信息纪元,对信息存储的要求越来越高,从而对计算机等的存储设备的要求同样越来越高。而非易失性存储器作为一种能够在使用时可改写的存储介质,被广泛使用在各种存储设备内。诸如闪存、可擦除可编程只读存储器(eprom:erasable programmable read only memory)、电子抹除式可复写只读存储器(eeprom:electrically erasable programmable read only memory)之类的非易失性存储器可通过擦除存储单元之后再将存储单元进行编程的方式,从而删除之前存储的信息再记录下新的信息。
3.然而,在进行擦除过程时,可能出现过擦除现象,导致编程受到影响,直接影响存储器的正常工作。因此,如何防止因过擦除状态导致的不良影响、确保存储器正常工作,已成为本领域技术人员亟待解决的问题之一。


技术实现要素:

4.发明所要解决的技术问题
5.本技术鉴于上述那样的现有问题而完成,其目的在于,提供一种非易失性存储器的编程方法以及存储装置,其可防止由于过擦除导致的编程失效。
6.解决技术问题的技术方案
7.在解决上述问题的本技术的一个实施例中,提供了一种非易失性存储器的编程方法,包括:在与编程电压对应的多个编程周期中,对多个存储单元进行编程,其中,在每个编程周期中,对多个存储单元进行编程包括:基于与当前编程周期对应的编程电压确定单次选通的存储单元的个数;以及以所确定的个数和所述对应的编程电压分批对所述多个存储单元进行编程。
8.在本技术的一实施例中,每个编程周期对应于不同的编程电压。
9.在本技术的一实施例中,前一次编程周期所对应的编程电压小于后一次编程周期所对应的编程电压。
10.在本技术的一实施例中,所述不同的编程电压包括5v、7v以及9v。
11.在本技术的一实施例中,在所述编程电压为5v的编程周期中,所述单次选通的存储单元的个数为32或16个。
12.在本技术的一实施例中,在所述编程电压为7v或9v的编程周期中,所述单次选通的存储单元的个数为64个。
13.在本技术的一实施例中,初始编程周期所对应的单次选通的存储单元的个数最小。
14.在本技术的一实施例中,所述单次选通的存储单元的个数对应于单次选通的字线
数。
15.在本技术的一实施例中,分批对所述多个存储单元进行编程包括:依次以所述单次选通的字线数选通多个字线上的存储单元并以所述对应的编程电压进行编程。
16.在解决上述问题的本技术的一个实施例中,提供了一种存储装置,包括:存储单元阵列;电荷泵,所述电荷泵耦合到所述存储单元阵列;以及控制器,所述控制器被配置用于致使所述电荷泵在与编程电压对应的多个编程周期中,分别对多个存储单元进行编程,其中,所述控制器进一步被配置用于在每个编程周期中:基于与当前编程周期对应的编程电压确定单次选通的存储单元的个数;以及致使所述电荷泵以所确定的个数和所述对应的编程电压分批对所述多个存储单元进行编程。
17.发明效果
18.根据本技术,能够避免由于过擦除而引起的编程失效。
附图说明
19.为了能够详细地理解本技术,可参考实施例得出上文所简要概述的本技术的更具体的描述,一些实施例在附图中示出,为了促进理解,已尽可能使用相同附图标记来标示各图所共有的相同要素。然而,应当注意,附图仅仅示出本技术的典型实施例,并且因此不应视为限制本技术的范围,因为本技术可允许其他等效实施例,在附图中:
20.图1a是本技术所涉及的存储单元的示例的电路简化图。
21.图1b是本技术所涉及的存储单元的结构横截面图。
22.图2是示出经擦除和经编程的存储单元的所具有的阈值电压分布的示意图。
23.图3是示出非易失性存储器中可能出现过擦除现象的情况下的存储单元的示意图。
24.图4是示出根据本技术的实施例的非易失性存储器的编程方法的一个示例的流程图。
25.图5是示出图4中所示出的步骤的一个具体示例的结构示意图。
26.图6是示出根据本技术的实施例的存储装置的示意性框图。
27.可预期的是,本技术的一个实施例中的要素可有利地适用于其他实施例而无需赘述。
具体实施方式
28.以下通过具体实施例来进行说明,本领域技术人员可由本说明书所公开的内容清楚地了解本技术的其它优点与技术效果。此外,本技术并不限于下述具体实施例,也可通过其它不同的实施例加以施行或应用,并且,对于本说明书中的各项具体内容,可在不背离本技术的精神下进行各种修改与变更。
29.本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“其他实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一个实施例”或“其他实施例”或“一些实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
30.应当注意的是,为了简化本技术披露的表述,从而帮助对一个或多个实施例的理解,后文对本技术实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本技术对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于在下文披露的单个实施例的全部特征。
31.下面,基于附图对本技术的具体实施例进行详细叙述。所列举的附图仅为简单说明,并非依实际尺寸描绘,未反应出相关结构的实际尺寸,先予叙明。为了便于理解,在各附图中使用了相同的参考标号,以指示附图中共用的相同元素。附图并未依比例绘制并且可为了清晰而被简化。一个实施例的元素及特征可有利地并入其它实施例中,而无须进一步叙述。
32.以下,参照图1a至图3,对本技术所涉及的过擦除的过程和原理进行简述。
33.诸如nor闪存之类的非易失性存储器的存储单元的编程操作需要例如如下条件:1.源极(source)接地(0v);2.漏极(drain)施加有诸如4v左右的电压;3.栅极(gate)施加有诸如9v左右的电压。这样的存储单元的电路简化图例如如图1a中所示。该存储单元的结构横截面图如图1b所示。图1b还展现了编程过程的物理原理,图1b中箭头方向代表编程期间电子迁移方向。为了防止较大的漏电流,一般会分几个阶段施加电压。如果存储单元阈值电压(cell vt)相对于栅极上的电压相差太大,则会导致漏电流较大,编程效率降低(例如,存储单元阈值电压上升缓慢),甚至有可能引起编程失效(例如,存储单元阈值电压不变)。
34.通常地,如图2所示,具有2v至4v之间的阈值电压(vt:threshold voltage)的存储单元可认为是经擦除的存储单元的分布,具有7v至9v之间的vt的存储单元可认为是经编程的存储单元的分布。优选地,期望代表经擦除和经编程的存储单元的阈值电压分布的两峰的宽度较窄,代表经擦除的存储单元的阈值电压分布的峰与代表经编程的存储单元的阈值电压分布的峰的间距较宽。
35.由于在擦除过程中掉电或者其他不可控因素的发生,可能会发生存储单元过擦除现象。在有过擦除现象的情况下,可诸如分成以下两个情形:
36.a)过擦除现象比较轻时,对于选中的字线(wl:word line)上,一部分存储单元的vt低于预期的经擦除的存储单元的vt分布,诸如存储单元(例如,如图3中用实线圆圈来标示的存储单元)的vt分布于1v左右(而正常情况下大部分的单元vt应该分布于3v左右)。由于编程时的初始电压为5v,从而栅极电压(vg:voltage gate)与vt之间的差值过高,可导致漏电。一般来说,vt越低的存储单元的数目越多,则漏电越大。
37.b)过擦除更严重时,对于未选中的字线上,一部分存储单元的vt低于0v(例如,如图3中用虚线圆圈来标示的存储单元)。即使对未选中的字线施加0v的电压,这些存储单元也在漏电,从而影响到选中的字线上同属于一根位线(bl:bit line)上的存储单元的编程。
38.以上两种情形的存在可导致漏极的电压达不到4v。由于选中的字线上的存储单元(以及未选中的字线上的存储单元)的vt过低,栅极开启,会引起漏极-源极的漏电流。如果这个漏电流过大,那么对选中的字线上的存储单元的编程可能会失效。
39.申请人通过研究而发现,由电荷泵(charge pump)来提供的漏极电压能否达到4v,可以取决于选中的字线上的漏极需要同时支持编程的存储单元的数量。
40.申请人进一步考虑到,当编程电压的算法不变,电荷泵的能力一定,且过擦除的存储单元数量一定的情况下,可设想,如果在第一次编程的期间,将单次编程的数目降低,可
有效提高编程效率,防止编程失效。例如,由每次编程的最大的数目64根位线(8bytes),改为第一次编程时的要进行编程的存储单元的数量调节为32个(或者当过擦除现象比较明显时,可配置成16个),分几次编程(byte数减少,编程时间增加,但是能够使得即使出现过擦除也能够编程成功)。当编程电压由第一编程电压提高至第二编程电压时,由于第一次的编程已经成功将存储单元的vt提高,则可以将进行编程的存储单元的数量恢复成64个。
41.在图4中示出了本技术所涉及的非易失性存储器的编程方法的一个示例。
42.示例性的编程方法400可包括步骤410。在步骤410,可在与编程电压对应的多个编程周期中,对多个存储单元进行编程。
43.编程周期的数量可为一个或多个,即在步骤410中,可对此多个存储单元整体进行一次或多次编程。作为非限制性示例,初始编程周期所对应的单次选通的存储单元的个数可以是最小的。此外,例如,单次选通的存储单元的个数可对应于单次选通的字线数。作为示例,可选中某一个字线,并对选中的此字线上的一个或多个存储单元来编程。
44.步骤410可包括子步骤411和412。在子步骤411,可基于与当前编程周期对应的编程电压确定单次选通的存储单元的个数。在子步骤412,可以以所确定的个数和所述对应的编程电压分批对所述多个存储单元进行编程。
45.在优选的实施例中,可于多个编程周期中对多个存储单元进行编程,每个编程周期对应于不同的编程电压。在进一步优选的实施例中,前一次编程周期所对应的编程电压小于后一次编程周期所对应的编程电压。例如,不同的编程电压包括5v、7v以及9v的编程电压,并且在编程电压为5v的编程周期中,单次选通的存储单元的个数为32或16个,替代地或附加地,在所述编程电压为7v或9v的编程周期中,单次选通的存储单元的个数为64个。需要注意的是,虽然给出了诸如编程电压、对应的单次选通存储单元个数等的数值示例,然而不限于此,诸如编程电压、对应的单次选通存储单元个数等的值可以根据实际应用任意选择。此外,子步骤412可以包括依次以单次选通的字线数来选通多个字线上的存储单元,并且以对应的编程电压进行编程。
46.在图5中示出了图4中的步骤410的一个具体的非限制性示例即过程500。
47.过程500可开始于阶段501。在阶段501,可对所选字线上的要编程的存储单元进行验证。
48.在阶段502,可在第一编程周期中对存储单元进行编程。可确定第一编程周期所对应的第一编程电压(例如5v),并根据第一编程电压来决定单次选通的存储单元的个数(例如,将单次选通的存储单元的个数从与每次编程的最大的数目对应的64调整到32)。接着,可以基于经降低的单次选通存储单元个数,来选通要编程的存储单元并使用第一编程电压进行编程(例如,在要编程的存储单元的数量是512的情况下,可每次选通32个存储单元并使用5v的编程电压对该32个存储单元进行编程,重复16次编程以对全部的存储单元进行编程)。由此,通过减少单次选通的个数,可以使得即使所选的存储单元中出现过擦除现象,对这些所选的存储单元的编程也能成功。
49.在阶段503,可在第二编程周期中对存储单元进行编程。可确定第二编程周期所对应的第二编程电压(例如7v),并根据第二编程电压来决定单次选通的存储单元的个数。比方说,由于已通过第一编程周期而成功将编程电压从第一编程电压提升到了第二编程电压,因此可将单次选通的存储单元的个数提高(例如,将单次选通的存储单元的个数从32提
高到与每次编程的最大的数目对应的64)。接着,可以基于经提高的单次选通存储单元个数,来选通要编程的存储单元并使用第二编程电压对要编程的存储单元进行编程(例如,在要编程的存储单元的数量是512的情况下,可每次选通64个存储单元并使用7v的编程电压对该64个存储单元进行编程,重复8次编程以对全部的存储单元进行编程)。由此,可提高编程的速度。
50.在阶段504,可在第三编程周期中对存储单元进行编程。可确定第三编程周期所对应的第三编程电压(例如9v)。可以基于阶段503处的单次选通存储单元个数(例如64),选通要编程的存储单元并使用第三编程电压对要编程的存储单元进行编程(例如,在要编程的存储单元的数量是512的情况下,可每次选通64个存储单元并使用9v的编程电压对该64个存储单元进行编程,重复8次编程以对全部的存储单元进行编程)。
51.由此,要编程的存储单元在第一编程周期、第二编程周期和第三编程周期这三个编程周期内被编程。
52.在阶段505,可以对上述的被编程的存储单元进行验证。
53.阶段505结束后,过程500完成。
54.在某些实施例中,上述各实施例中的方法所包括的操作可同时地发生、实质上同时地发生、或者以不同于附图所示的次序而发生。
55.在某些实施例中,上述各实施例中的方法所包括的操作的全部或部分可选地可以由程序来自动执行。在一个示例中,本技术可以被实施作为存储在用于与计算机系统一起使用的计算机可读存储介质上的程序产品。程序产品的(多个)程序包括实施例的功能(包括本文所述的方法)。说明性计算机可读存储介质包括但不限于:(i)不可写存储介质(例如,计算机内的只读存储器装置,诸如可通过cd-rom机读取的cd-rom盘、闪存、rom芯片或任何类型的固态非易失性半导体存储器),在该不可写存储介质上的信息被永久存储;以及(ii)可写存储介质(例如,盘存储或硬盘驱动或者任何类型的固态随机存取半导体存储器),在该可写存储介质上存储可变动信息。当实施指示本文所述的方法的功能的计算机可读指令时,这种计算机可读存储介质是本技术的实施例。
56.在图6中示出了本技术所涉及的存储装置的一个示例。示例性的存储装置600可包括存储单元阵列610、电荷泵620以及控制器630。电荷泵620可耦合到存储单元阵列610。电荷泵620可以提供电压以用于对存储单元阵列610中的存储单元进行编程。控制器630可以被配置用于致使电荷泵610在与编程电压对应的多个编程周期中,分别对存储单元阵列610中的多个存储单元来进行编程。控制器630可以进一步被配置用于在每个编程周期中基于与当前编程周期对应的编程电压确定单次选通的存储单元的个数,以及致使电荷泵610以所确定的个数和对应的编程电压分批对多个存储单元进行编程。例如,控制器630可以执行上述各实施例中所涉及的方法来完成这一目的。
57.根据本技术,通过基于当前编程电压来确定编程期间单次选通的存储单元的个数,可防止由于过擦除导致的编程失效,从而可提升编程的效率。
58.以上详细描述了本技术的可选实施例。但是应当理解,在不脱离本技术的广义精神和范围的情况下可以采用各种实施例及变形。本领域的普通技术人员无需创造性劳动就可以根据本技术的构思做出诸多修改和变化。作为非限制性的示例,本领域技术人员可将上述系统或结构中的各个部分中的一个或多个进行省略或者于上述系统或结构中添加一
个或多个部分,或用其他的具有相同或者相似的功能的部分代替本实施例中所涉及的各种结构或系统中的一部分或者全部。因此,凡本领域技术人员依本技术的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应属于由本技术的权利要求书所确定的保护范围内。
59.应当注意,虽然本公开内容包括了几个实施例,但这些实施例都是非限制性的(无论其是否已被标记为示例性),并且存在改变、置换及等效方案,这些都落入本技术的范围内。此外,所描述的实施例不应当被解释为互斥的,并且相反地应当被理解为潜在地可组合(如果这些组合被允许的话)。还应当注意,存在实现本公开的实施例的许多替代方式。因此,本技术旨在将所附权利要求解释成包括落入本公开的真正的精神和范围内的所有这样的改变、置换以及等效方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献