存储设备及其操作方法、存储系统与流程

文档序号:33452789发布日期:2023-03-15 01:23阅读:35来源:国知局
存储设备及其操作方法、存储系统与流程

1.本公开实施例涉及但不限于半导体领域,尤其涉及一种存储设备及其操作方法、存储系统。


背景技术:

2.nand存储器作为一种非易失性存储器,具有成本低、容量高、改写速度快等优点。在nand存储器中,编程方案是提高存储器性能一个重要而又关键的项目,通常采用步进脉冲编程(incremental step pulse programming,issp)的编程方案,即利用逐步增大的编程电压对存储器中待编程的存储单元进行编程。
3.通过采用多态存储技术可提高存储器的存储密度。例如,存储单元(cell)中可以存放2位(2bits)、3位(3bits)甚至4位(4bits)的数据,相应地,存储单元中可包括3个、7个甚至15个的编程态。然而,随着存储单元中编程态的数量增加,对存储单元进行编程所需的功耗增大、编程过程中各存储单元之间的串扰增加。因此,如何降低存储单元编程所需的功耗,减少编程过程中各编程态之间的串扰,成为亟待解决的技术问题。


技术实现要素:

4.有鉴于此,本公开实施例提供一种存储设备及其操作方法、存储系统。
5.根据本公开实施例的第一方面,提供一种存储设备的操作方法,所述操作方法包括:
6.对目标态范围为第i态至第i+k态的存储单元执行第一编程操作,同时对目标态范围为第i+k+1态至第m态的存储单元执行第一编程禁止操作;其中,i+k+1小于或等于m,i为正整数,k为自然数,m为大于1的正整数;
7.对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作,同时对目标态范围为第i+k+j+1态至第m态的存储单元执行第二编程禁止操作;其中,第二编程操作在第一编程操作之后执行,第二编程操作的编程电压大于第一编程操作的编程电压;i+k+j+1小于或等于m,j为正整数。
8.根据本公开实施例的第二方面,提供一种存储设备,包括:
9.存储单元阵列,包括:目标态为第1态至第m态的存储单元;
10.外围电路,与所述存储单元阵列耦合,被配置为执行如本公开实施例的第一方面所述的操作方法。
11.根据本公开实施例的第三方面,提供一种存储系统,包括:
12.一个或多个如本公开实施例的第二方面所述的存储设备;
13.控制器,耦合至所述存储设备并且被配置为控制所述存储设备。
14.本公开实施例中,通过对目标态范围为第i态至第i+k态的存储单元执行第一编程操作,同时对目标态范围为第i+k+1态至第m态的存储单元执行第一编程禁止操作,可减小第一编程操作的负载,降低第一编程操作的功耗。并且,由于第i+k+1态至第m态的存储单元
被禁止编程,可减小第一编程操作各存储单元之间的串扰。在第一编程操作之后,对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作,同时对目标态范围为第i+k+j+1态至第m态的存储单元执行第二编程禁止操作,可减小第二编程操作的负载,降低第二编程操作的功耗。并且,由于第i+k+j+1态至第m态的存储单元被禁止编程,可减小第二编程操作各存储单元之间的串扰。。
15.此外,通过本公开实施例中的操作方法,可减小对存储单元进行编程操作所需的总的功耗,并整体降低存储单元编程过程中的串扰,提高存储设备的编程质量,有利于提升存储设备的操作性能。
附图说明
16.图1是根据一示例性实施例示出的一种存储设备的操作方法的示意图;
17.图2是根据本公开实施例示出的一种存储设备的操作方法的流程图;
18.图3是根据本公开实施例示出的一种存储设备的操作方法的示意图。
具体实施方式
19.下面将结合附图和实施例对本公开的技术方案进一步详细阐述。虽然附图中显示了本公开的示例性实施方法,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻的理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
20.在下列段落中参照附图以举例方式更具体的描述本公开。根据下面说明和权利要求书,本公开的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本公开实施例的目的。
21.在本公开实施例中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
22.需要说明的是,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
23.在nand存储器的发展中,早期nand存储器颗粒的存储单元多为单级单元(single-level cell,slc),即一个存储单元存储1比特(bit)数据,此时每个存储单元存在两种状态,具体为0和1。
24.随着nand存储器的发展,nand存储器颗粒的存储单元从单级单元逐渐演变为多级单元(multi-level cell,mlc),即一个存储单元存储2比特数据,接着推出了三级单元(triple-level cell,tlc),即一个存储单元存储3比特数据,甚至四级单元(quad-level cell,qlc),即一个存储单元存储4比特数据,相对应的,nand存储器颗粒存储单元的状态也由2个变为4个、8个甚至16个。
25.以tlc存储单元为例,tlc存储单元具有1个擦除态和7个编程态,其编程态从第1态至第7态依次记为p1、p2、p3、p4、p5、p6和p7,可以理解的是,从第1态至第7态,阈值电压逐渐增大。对于tlc,传统的编程方法是采用步进脉冲编程的编程方案进行编程,即利用逐步增大的编程脉冲对存储器中待编程的存储单元进行编程,每一个编程脉冲后都有相对应的验证脉冲,来验证存储单元的阈值电压是否达到目标编程态。具体地可包括如下步骤:
26.步骤一:向目标态为p1态至p7态的待编程存储单元施加第1编程脉冲(即图1中脉冲1),对目标态为p1至p7态的待编程存储单元编程;
27.步骤二:在施加第1编程脉冲之后,向目标态为p1态的待编程存储单元施加第1验证脉冲,获得第1验证结果;当第1验证结果指示目标态为p1态的待编程存储单元未验证通过时,向目标态为p1态至p7态的待编程存储单元施加第n编程脉冲(图1中脉冲n),n为大于1的正整数;
28.步骤三:在施加第n编程脉冲之后,向目标态为p1态的待编程存储单元施加第n验证脉冲,获得第n验证结果;当第n验证结果指示目标态为p1态的待编程存储单元验证通过时,向阈值电压还未达到目标态的待编程存储单元施加第(n+1)编程脉冲,以继续对待编程存储单元编程,并向阈值电压达到目标态的存储单元施加编程禁止信号。例如,部分p2态的待编程存储单元以及p3至p7态的待编程存储单元阈值电压还未达到目标态,则继续施加第(n+1)编程脉冲,p1态的存储单元以及另一部分p2态的存储单元阈值电压达到目标态,则施加编程禁止信号,防止过编程。
29.步骤四:在施加第(n+1)编程脉冲之后,向目标态为p2态的部分待编程存储单元施加第(n+1)验证脉冲,获得第(n+1)验证结果;当第(n+1)验证结果指示目标态为p2态的部分待编程存储单元未验证通过时,向目标态为p2态至p7态的待编程存储单元施加第m编程脉冲,并向p1态的待编程存储单元施加编程禁止信号,m为大于(n+1)的正整数;
30.步骤五:在施加第m编程脉冲之后,向目标态为p2态的待编程存储单元施加第m验证脉冲,获得第m验证结果;当第m验证结果指示目标态为p2态的待编程存储单元验证通过时,向目标态为p3态至p7态的待编程存储单元施加第(m+1)编程脉冲,以继续对目标态为p3态至p7态的待编程存储单元编程,并向p1态和p2态的待编程存储单元施加编程禁止信号。
31.可以理解地,通过多次执行类似上述步骤中的施加编程脉冲操作和施加验证脉冲操作,可将存储设备中的存储单元分别编程至p1、p2、p3、p4、p5、p6和p7态。
32.在上述issp的编程方案中,每次需对所有未验证通过的存储单元施加编程脉冲,只有当目标态的存储单元验证通过时,才会对验证通过的存储单元施加编程禁止信号。例如,在上述步骤一中,同时对目标态为p1态至p7态的待编程存储单元施加第1编程脉冲。在上述步骤三中,只有阈值电压达到目标态的存储单元(例如,p1态的存储单元以及部分p2态的存储单元)被施加编程禁止信号,阈值电压还未达到目标态(例如,另一部分p2态的待编程存储单元以及p3至p7态的待编程存储单元)的待编程存储单元施加第(n+1)编程脉冲。在上述步骤五中,只有阈值电压达到目标态的存储单元(例如,p1态的存储单元、p2态的存储单元以及部分p3态的存储单元)被施加编程禁止信号,阈值电压还未达到目标态(例如,另一部分p3态的待编程存储单元以及p4至p7态的待编程存储单元)的待编程存储单元施加第(m+1)编程脉冲。
33.该issp编程方案存在的问题是:早期编程脉冲(例如,第1编程脉冲、第n编程脉冲、第(n+1)编程脉冲、第m编程脉冲以及第(m+1)编程脉冲)的负载较大,导致对存储单元进行编程所需的功耗增大。此外,早期编程脉冲同时对多个目标态的存储单元进行编程,导致编程过程中各存储单元之间的串扰增加。
34.需要指出的是,上述以tlc为例进行说明,然而并不限于此。例如,对qlc进行编程时,编程态增加至15个,随着存储单元中编程态的数量进一步增加,对存储单元进行编程所
需的功耗进一步增大,编程过程中各存储单元之间的串扰进一步增加。
35.有鉴于此,本公开实施例提供一种存储设备的操作方法。
36.图2是根据本公开实施例示出的一种存储设备的操作方法的流程图。参照图2所示,所述操作方法包括以下步骤:
37.s110:对目标态范围为第i态至第i+k态的存储单元执行第一编程操作,同时对目标态范围为第i+k+1态至第m态的存储单元执行第一编程禁止操作;其中,i+k+1小于或等于m,i为正整数,k为自然数,m为大于1的正整数;
38.s120:对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作,同时对目标态范围为第i+k+j+1态至第m态的存储单元执行第二编程禁止操作;其中,第二编程操作在第一编程操作之后执行,第二编程操作的编程电压大于第一编程操作的编程电压;i+k+j+1小于或等于m,j为正整数。
39.示例性地,存储设备可包括多个存储单元组成的存储阵列。存储单元可包括存储1位数据的单级单元、存储2位数据的多级单元、存储3位数据的三级单元、存储4位数据的四级单元或者存储更多位数据的存储单元等。
40.示例性地,存储设备包括目标态为第1态至第m态的存储单元,存储设备的目标态从第1态至第m态依次记为p1、p2、
……
pi、
……
、pi+k、
……
、pm,可以理解的是,从第i态至第m态,目标态的阈值电压逐渐增大。例如,从第1态至第i态,目标态的阈值电压逐渐增大,从第i态至第i+k态,目标态的阈值电压逐渐增大,从第i+k态至第m态,目标态的阈值电压逐渐增大。这里,i为正整数,k为自然数,m为大于1的正整数。在实际操作中,对于tlc存储器,m的取值可以是7;对于qlc存储器,m的取值可以是15。
41.在步骤s110中,可对耦接至目标态范围为第i态至第i+k态的存储单元的字线施加第一编程电压,以对目标态范围为第i态至第i+k态的存储单元执行第一编程操作;可对耦接至目标态范围为第i+k+1态至第m态的存储单元的位线施加第一编程禁止电压,以对目标态范围为第i+k+1态至第m态的存储单元执行第一编程禁止操作。
42.当i等于1时,第一编程操作的编程态范围为第1态至第1+k态的存储单元,第一编程禁止操作的禁止态范围为第2+k态至第m态的存储单元。当i大于1时,第一编程操作的编程态范围为第i态至第i+k态的存储单元,第一编程禁止操作的禁止态范围为第i+k+1态至第m态的存储单元,以及第1态至第i-1态的存储单元。
43.可以理解的是,当i等于1时,执行第一编程操作的最低态为第1态,即目标态为第1态的存储单元还未编程成功,继续对其执行编程操作。当i大于1时,执行第一编程操作的最低态为第i态,第i态大于第1态,此时目标态为第1态至第i-1态的存储单元已经编程成功,需对其执行编程禁止操作,防止已编程成功的第1态至第i-1态的存储单元过编程。需要指出的是,当i等于2时,第1态与第i-1态为相同态,即此时对第1态执行编程禁止操作。
44.需要强调的是,k的取值可等于0。当k等于0时,i的取值等于i+k的取值,即第一编程操作仅对目标态为第i态的存储单元进行编程。
45.以tlc为例,存储设备的最高编程态为第7态,因此,i+k的取值小于7。以qlc为例,存储设备的最高编程态为第15态,因此,i+k的取值小于15。
46.在步骤s120中,在第一编程操作之后,可对耦接至目标态范围为第i+k+1态至第i+k+j态的存储单元的字线施加第二编程电压,以对目标态范围为第i+k+1态至第i+k+j态的
存储单元执行第二编程操作;可对耦接至目标态范围为第i+k+j+1态至第m态的存储单元的位线施加第二编程禁止电压,以对目标态范围为第i+k+j+1态至第m态的存储单元执行第二编程禁止操作。这里,第二编程电压大于第一编程电压,第一编程禁止电压和第二编程禁止电压可以相同或者不同。
47.在一些实施例中,第一编程操作和第二编程操作可以是连续的编程操作,例如,第一编程操作是施加当前编程电压,第二编程操作是施加下一个编程电压。在另一些实施例中,第一编程操作和第二编程操作还可以是间断的编程操作,即第一编程操作和第二编程操作之间还有其它的编程操作。
48.本公开实施例中,通过对目标态范围为第i态至第i+k态的存储单元执行第一编程操作,同时对目标态范围为第i+k+1态至第m态的存储单元执行第一编程禁止操作,可减小第一编程操作的负载,降低第一编程操作的功耗。并且,由于第i+k+1态至第m态的存储单元被禁止编程,可减小第一编程操作各存储单元之间的串扰。在第一编程操作之后,对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作,同时对目标态范围为第i+k+j+1态至第m态的存储单元执行第二编程禁止操作,可减小第二编程操作的负载,降低第二编程操作的功耗。并且,由于第i+k+j+1态至第m态的存储单元被禁止编程,可减小第二编程操作各存储单元之间的串扰。
49.此外,通过本公开实施例中的操作方法,可减小对存储单元进行编程操作所需的总的功耗,并整体降低存储单元编程过程中的串扰,提高存储设备的编程质量,有利于提升存储设备的操作性能。
50.在一些实施例中,在执行第一编程操作之后,所述操作方法还包括:
51.执行第一编程验证操作,获得第一验证结果;其中,第一验证结果至少包括对目标态为第i态的存储单元进行编程验证的验证子结果;
52.在验证子结果指示目标态为第i态的存储单元编程通过时,对目标态范围为第i+1态至第i+k+1态的存储单元执行第三编程操作,同时对第1态至第i态的存储单元执行第三编程禁止操作;其中,第三编程操作的编程电压大于第一编程操作的编程电压,第三编程操作的编程电压小于或等于第二编程操作的编程电压。
53.示例性地,第一编程验证操作验证的编程态范围包括:第i态,或,第i态和第i+1态,或,第i态至第i+j态,或,第i态至第i+k态,其中,i≤i+j≤i+k。可以理解的是,第一编程验证操作可以仅验证第i态至第i+k态中的最低态,例如,第i态。也可验证第i态至第i+k态中的部分态,例如,第i态和第i+1态,或,第i态至第i+j态。还可验证第i态至第i+k态中的所有态。
54.相较于每次在对所有存储单元同时施加编程脉冲后,并对所有存储单元进行编程验证操作,本公开实施例中,只需至少对第i态至第i+k态中的第i态的存储单元进行验证,可减少编程验证操作的时间,进而减少存储设备的编程时间。
55.第一验证结果,用于表示在执行第一编程操作之后,对存储单元的编程结果。第一验证结果可包括以下至少之一:指示验证的每个存储单元编程通过的第一类指示信息;指示验证的每个存储单元编程失败的第二类指示信息;指示达到目标态的存储单元个数的第三类指示信息。例如,对第i态进行编程验证的验证子结果,用于表示在第一编程验证操作过程中,对于目标态为第i态的存储单元进行编程验证获得的结果。第i态的验证子结果可
包括以下至少之一:指示目标态为第i态的每个存储单元编程通过的第一类指示信息;指示目标态为第i态的每个存储单元编程失败的第二类指示信息;指示达到第i态这一目标态的存储单元个数的第三类指示信息。
56.示例性地,可以采用二进制编码来表示存储单元是否编程通过,例如,可以用0表示编程通过,1表示编程不通过;也可以用1表示编程通过,用0表示编程不通过。在实施时,本领域技术人员可以根据实际情况选择合适的方式表示存储单元是否编程通过,本公开实施例对此并不限定。
57.在验证子结果指示目标态为第i态的存储单元编程通过时,可对耦接至目标态范围为第i+1态至第i+k+1态的存储单元的字线施加第三编程电压,以对目标态范围为第i+1态至第i+k+1态的存储单元执行第三编程操作;可对耦接至目标态范围为第1态至第i态的存储单元的位线施加第三编程禁止电压,以对目标态范围为第1态至第i态的存储单元执行第三编程禁止操作。这里,第三编程电压大于第一编程电压,第三编程电压小于或等于第二编程电压,第三编程禁止电压和第一/第二编程禁止电压可以相同或者不同。
58.可以理解的是,在第一编程操作之后,验证子结果指示目标态为第i态的存储单元编程通过时,目标态为第i态的存储单元编程成功,需对第i态的存储单元执行编程禁止操作,防止已编程成功的第i态的存储单元过编程。目标态为第i+1态至第i+k+1态的存储单元还未编程成功,需继续对其进行编程,即执行第三编程操作。
59.在实际的存储器编程过程中,通常是在单个存储块(block)中按一行一行进行编程,这里,第i态的存储单元编程通过可以是一行中所有第i态的存储单元均验证通过。
60.需要说明的是,第三编程操作与第二编程操作可以相同或者不同,当第三编程操作与第二编程操作不同时,第三编程操作可以是第一编程操作与第二编程操作之间的编程操作,第三编程电压小于第二编程电压;当第三编程操作与第二编程操作相同时,即第三编程操作与第二编程操作重叠,第三编程电压等于第二编程电压。
61.在一些实施例中,在验证子结果指示目标态为第i态的存储单元编程未通过时,对目标态范围为第i态至第i+k态的存储单元执行第四编程操作,同时对目标态范围为第i+k+1态至第m态的存储单元执行第四编程禁止操作;其中,第四编程操作的编程电压大于第一编程操作的编程电压,第四编程操作的编程电压小于第三编程操作的编程电压。
62.在验证子结果指示目标态为第i态的存储单元编程未通过时,可对耦接至目标态范围为第i态至第i+k态的存储单元的字线施加第四编程电压,以对目标态范围为第i态至第i+k态的存储单元执行第四编程操作;可对耦接至目标态范围为第i+k+1态至第m态的存储单元的位线施加第四编程禁止电压,以对目标态范围为第i+k+1态至第m态的存储单元执行第四编程禁止操作。这里,第四编程操作位于第一编程操作之后,且位于第三编程操作之前,第四编程电压大于第一编程电压,且小于第三编程电压。第四编程禁止电压和第一/第二/第三编程禁止电压可以相同或者不同。
63.可以理解的是,在第一编程操作之后,验证子结果指示目标态为第i态的存储单元编程未通过时,需继续对其进行编程,即执行第四编程操作。在执行第四编程操作的过程中,对目标态范围为第i+k+1态至第m态的存储单元执行第四编程禁止操作,可减小第四编程操作的负载,降低第四编程操作的功耗。
64.在一些实施例中,上述执行第一编程验证操作,包括:至少对耦合至目标态范围为
第i态的存储单元的字线施加第一编程验证电压;
65.在执行第二编程操作之后,上述操作方法还包括:
66.执行第二编程验证操作,包括:对耦合至目标态范围为第i+k+1态至第i+k+j态中的至少一个目标态的存储单元的字线施加第二编程验证电压;其中,第二编程验证电压大于第一编程验证电压。
67.第一编程操作用于对低态(例如,第i态至第i+k态)的存储单元进行编程,第二编程操作用于对高态(例如,第i+k+1态至第i+k+j态)的存储单元进行编程,因此,在第一编程验证操作中所施加的第一编程验证电压小于在第二编程验证操作中所施加的第二编程验证电压。
68.图3是根据本公开实施例示出的一种存储设备的操作方法的示意图。具体地,以tlc为例,i的取值为1,k的取值为2时,参照图3所示,所述方法包括以下步骤:
69.步骤一:对耦合至目标态范围为第1态至第3态的存储单元的字线施加第1编程信号(即脉冲1,p1~p3编程),同时对耦合至目标态范围为第4态至第7态的存储单元的位线施加第1编程禁止信号(即p4~p7禁止);
70.步骤二:在施加第1编程信号之后,执行第1编程验证,获得第1验证结果;其中,第1验证结果至少包括对第1态进行编程验证的验证子结果;当第1验证结果中对第1态进行编程验证的验证子结果指示对第1态编程未通过时,继续对耦合至目标态范围为第1态至第3态的存储单元的字线施加编程信号,同时继续对耦合至目标态范围为第4态至第7态的存储单元的位线施加编程禁止信号;
71.步骤三:对耦合至目标态范围为第1态至第3态的存储单元的字线施加第(n-1)编程信号,同时对耦合至目标态范围为第4态至第7态的存储单元的位线施加第(n-1)编程禁止信号;其中,n为大于1的正整数;
72.步骤四:在施加第(n-1)编程信号之后,执行第(n-1)编程验证,获得第(n-1)验证结果;其中,第(n-1)验证结果至少包括对第1态进行编程验证的验证子结果;当第(n-1)验证结果中对第1态进行编程验证的验证子结果指示对第1态编程通过时,继续对耦合至目标态范围为第2态和第3态的存储单元的字线施加编程信号,同时对耦合至目标态范围为第1态的存储单元的位线施加编程禁止信号;
73.步骤五:对耦合至目标态范围为第2态至第4态的存储单元的字线施加第n编程信号(即脉冲n,p2~p4编程),同时对耦合至目标态范围为第5态至第7态的存储单元的位线施加第n编程禁止信号(即p5~p7禁止);
74.步骤六:在施加第n编程信号之后,执行第n编程验证,获得第n验证结果;其中,第n验证结果至少包括对第2态进行编程验证的验证子结果;
75.这里,当第n验证结果中对第2态进行编程验证的验证子结果指示对第2态编程通过时,继续对耦合至目标态范围为第3态和第4态的存储单元的字线施加编程信号,同时对耦合至目标态范围为第1态和第2态的存储单元的位线施加编程禁止信号;当第n验证结果中对第2态进行编程验证的验证子结果指示对第2态编程未通过时,对验证未通过的存储单元继续施加编程信号,以将验证未通过且目标态范围为第2态的存储单元编程至p2态。
76.步骤七:对耦合至目标态范围为第3态至第5态的存储单元的字线施加第m编程信号(即脉冲m,p3~p5编程),同时对耦合至目标态范围为第6态至第7态的存储单元的位线施
加第m编程禁止信号(即p6~p7禁止);其中,m为大于n的正整数。
77.本示例中,第一编程操作可以是脉冲1至脉冲(n-1)之间的任意一个脉冲,第二编程操作可以是脉冲n至脉冲m之间的任意一个脉冲,当n=2时,第一编程操作即为第1脉冲。
78.在第一编程操作之后,若p1态通过验证,则对p2和p3态的存储单元继续编程,即执行第三编程操作,例如,第三编程操作可以是脉冲n至脉冲m之间的任意一个脉冲,第三编程操作在第二编程操作之前执行,第三编程电压小于第二编程电压。在另一些实施例中,第三编程操作可以与第二编程操作重叠,第三编程电压等于第二编程电压。在对p2和p3态的存储单元继续编程的同时,对p1态的存储单元执行编程禁止操作,即执行第三编程禁止操作。
79.在第一编程操作之后,若p1态未通过验证,则对p1至p3态的存储单元继续编程,即执行第四编程操作,例如,第四编程操作可以是脉冲1至脉冲(n-1)之间的任意一个脉冲,第四编程操作在第一编程操作之后执行,第四编程电压大于第一编程电压,且小于第三编程电压。在对p1至p3态的存储单元继续编程的同时,对p4至p7态的存储单元执行编程禁止操作,即执行第四编程禁止操作。
80.需要指出的是,如图3中所示,在脉冲1和脉冲n之间,还可包括至少一个编程信号和编程验证信号。脉冲1和脉冲n之间的编程信号和编程验证信号的数量可根据每次编程信号的增量确定,具体地,可根据实际编程需求进行选择,本公开在此不做限定。同理,在脉冲n和脉冲m之间,还可包括至少一个编程信号和编程验证信号。
81.可以理解地,通过多次执行类似上述步骤中的施加编程脉冲和施加验证脉冲,可将存储设备中的存储单元分别编程至p1、p2、p3、p4、p5、p6和p7态,且每一次编程操作的负载较低。
82.本公开实施例中,根据上一次编程操作中最低态的验证结果,确定下一次编程操作的编程态范围和禁止态范围,方式简单。且能够根据上一次的编程结果及时地调整下一次编程态的范围,有利于提高编程质量。
83.在一些实施例中,上述步骤s120,包括:在施加的编程脉冲数大于或等于第i+1态的第一预设值时,对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作,同时对目标态范围为第i+k+j+1态至第m态的存储单元执行第二编程禁止操作。
84.第一预设值可包括:预先设定的施加编程信号的数量或次数,每个态的第一预设值不同,例如,第i态的第一预设值小于第i+1态的第一预设值。这里,编程脉冲可对应一次编程循环,编程循环包括对耦合至存储单元的字线施加编程电压以及在施加编程电压之后对耦合至存储单元的字线施加编程验证电压。
85.表1示出了两种编程方案,分别是示例一和示例二。下面将以tlc为例进行说明。
86.示例性地,参照表1中示例二所示,当i=1,k=2,j=1时,p2态的第一预设值的取值为3,当施加的编程脉冲的数量达到3时,开始对p4态的存储单元编程(即执行第二编程操作),同时对p5至p7态的存储单元禁止编程(即执行第二编程禁止操作)。
87.示例性地,参照表1中示例二所示,当i=2,k=2,j=1时,p3态的第一预设值的取值为5,当施加的编程脉冲的数量达到5时,开始对p5态的存储单元编程,同时对p6至p7态的存储单元禁止编程。
88.示例性地,参照表1中示例二所示,当i=3,k=2,j=1时,p4态的第一预设值的取值为7,当施加的编程脉冲的数量达到7时,开始对p6态的存储单元编程,同时对p7态的存储
单元禁止编程。
89.示例性地,参照表1中示例二所示,当i=4,k=2,j=1时,p5态的第一预设值的取值为9,当施加的编程脉冲的数量达到9时,开始对p7态的存储单元编程。
90.需要说明的是,上述以k=2,j=1为例进行说明,用于向本领域技术人员传达本公开,然而,k和j的取值不限于此。在实际应用中,可根据具体的情况而设置。
91.表1两种编程方案
[0092][0093]
在一些实施例中,上述步骤s110,包括:在施加的编程脉冲数小于第i+1态的第一预设值时,执行第一编程操作。
[0094]
示例性地,参照表1中示例二所示,当i=1,k=2,j=1时,p2态的第一预设值的取值为3,当施加的编程脉冲的数量未达到3时,对p1至p3态的存储单元编程(即执行第一编程操作),同时对p4至p7态的存储单元禁止编程(即执行第一编程禁止操作)。
[0095]
需要说明的是,第一编程操作包括一个或多个编程脉冲。例如,在本示例中,第一编程操作包括2个编程脉冲,即编程脉冲1和编程脉冲2。在一具体示例中,编程脉冲1的幅值小于编程脉冲2的幅值。
[0096]
示例性地,参照表1中示例二所示,当i=2,k=2,j=1时,p3态的第一预设值的取值为5,当施加的编程脉冲的数量未达到5时,对p2至p4态的存储单元编程,同时对p5至p7态的存储单元禁止编程。
[0097]
示例性地,参照表1中示例二所示,当i=3,k=2,j=1时,p4态的第一预设值的取值为7,当施加的编程脉冲的数量未达到7时,对p3至p5态的存储单元编程,同时对p6和p7态的存储单元禁止编程。
[0098]
示例性地,参照表1中示例二所示,当i=4,k=2,j=1时,p5态的第一预设值的取值为9,当施加的编程脉冲的数量未达到9时,对p4至p6态的存储单元编程,同时对p7态的存储单元禁止编程。
[0099]
在一些实施例中,在施加的编程脉冲数大于或等于第i+1态的第一预设值,且小于第i态的第二预设值时,上述操作方法还包括:在对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作的同时,对目标态范围为第i态至第i+k态的存储单元执行第二编程操作;
[0100]
在施加的编程脉冲数大于或等于第i态的第二预设值时,上述操作方法还包括:在对目标态范围为第i+k+1态至第i+k+j态的存储单元执行第二编程操作的同时,对目标态范围为第i+1态至第i+k态的存储单元执行第二编程操作,并对第1态至第i态的存储单元执行第二编程禁止操作。
[0101]
第二预设值可包括:预先设定的施加编程信号的数量或次数,每个态的第二预设值不同,例如,第i态的第二预设值小于第i+1态的第二预设值。并且每个态的第一预设值小于第二预设值,例如,第i态的第一预设值小于第i态的第二预设值。
[0102]
示例性地,参照表1中示例二所示,当i=1,k=2,j=1时,p2态的第一预设值的取值为3,p1态的第二预设值的取值为6,在施加编程脉冲3、4、5时,在对p4态的存储单元编程的同时,对p1至p3态的存储单元编程。在施加编程脉冲5之后,例如,施加编程脉冲6时,p1态的存储单元已经验证通过,对p1态的存储单元禁止编程。
[0103]
示例性地,参照表1中示例二所示,当i=2,k=2,j=1时,p3态的第一预设值的取值为5,p2态的第二预设值的取值为8,在施加编程脉冲5、6、7时,在对p5态的存储单元编程的同时,对p2至p4态的存储单元编程。在施加编程脉冲7之后,例如,施加编程脉冲8时,p2态的存储单元已经验证通过,对p1态和p2态的存储单元禁止编程。
[0104]
示例性地,参照表1中示例二所示,当i=3,k=2,j=1时,p4态的第一预设值的取值为7,p3态的第二预设值的取值为10,在施加编程脉冲7、8、9时,在对p6态的存储单元编程的同时,对p3至p5态的存储单元编程。在施加编程脉冲9之后,例如,施加编程脉冲10时,p3态的存储单元已经验证通过,对p1态至p3态的存储单元禁止编程。
[0105]
示例性地,参照表1中示例二所示,当i=4,k=2,j=1时,p5态的第一预设值的取值为9,p4态的第二预设值的取值为12,在施加编程脉冲9、10、11时,在对p7态的存储单元编程的同时,对p4至p6态的存储单元编程。在施加编程脉冲11之后,例如,施加编程脉冲12时,p4态的存储单元已经验证通过,对p1态至p4态的存储单元禁止编程。
[0106]
这里,第i态的第一预设值表示的是第i态的存储单元开始验证时所对应的编程循环次数,例如,表1的示例2中p2态的存储单元开始验证时所对应的编程循环次数为3,第i态的第二预设值表示的是第i态的存储单元验证通过后的第一个编程循环所对应的编程循环次数,例如,表1的示例2中p1态的存储单元验证通过后的第一个编程循环所对应的编程循环次数为6,可以理解的是,在施加编程脉冲6后,不再对p1态的存储单元进行验证。
[0107]
需要强调的是,这里第一预设值和第二预设值的取值并非是固定的,上述第一预设值的取值为3、第二预设值的取值为6仅为示意,用于向本领域技术人员传达本公开,然而本公开不限于此。可根据实际的编程方案确定第一预设值和第二预设值的取值即可。
[0108]
可以理解的是,根据施加编程脉冲的数量或者次数,可预估当前存储单元的阈值电压分布情况,并可以预测施加下一个编程信号之后存储单元的阈值电压分布情况,结合当前存储单元的阈值电压分布情况和施加下一个编程信号之后存储单元的阈值电压分布情况,来确定下一个编程操作的编程态范围和禁止态范围。即根据编程脉冲的数量或者次数,确定下一个编程操作的编程态范围和禁止态范围。
[0109]
在一些实施例中,在执行第一编程操作之后,且在执行第二编程操作之前,上述操作方法还包括:
[0110]
确定第二编程操作的第一目标态范围,并确定第二编程禁止操作的第二目标态范围;其中,第一目标态范围至少包括目标态范围为第i+k+1态至第i+k+j态的存储单元;第二目标态范围至少包括目标态范围为第i+k+j+1态至第m态的存储单元。
[0111]
示例性地,在第二编程操作的前一编程操作结束后,确定第二编程操作的编程态范围(即第一目标态范围),同时确定第二编程操作的禁止态范围(即第二目标态范围)。这
里前一编程操作可以是第一编程操作,还可以是第一编程操作和第二编程操作之间的其它编程操作。
[0112]
在一些实施例中,在执行第一编程操作之后,且在执行第二编程操作之前,上述操作方法还包括:
[0113]
执行第一编程验证操作,获得第一验证结果;
[0114]
上述确定第二编程操作的第一目标态范围,并确定第二编程禁止操作的第二目标态范围,包括:
[0115]
根据第一验证结果,确定第一目标态范围和第二目标态范围。
[0116]
在一些实施例中,k的取值为固定值;
[0117]
或者,
[0118]
在施加第n编程脉冲时k的第一取值,不同于在施加第n+1编程脉冲时k的第二取值。
[0119]
示例性地,如图3所示,k的取值为固定值2,例如,施加脉冲1对p1至p3编程,对p4至p7禁止。施加脉冲n对p2至p4编程,对p5至p7禁止。施加脉冲m对p3至p5编程,对p6至p7禁止。可以理解的是,k的取值为固定值2时,每个编程脉冲同时对3个目标态的存储单元进行编程。
[0120]
示例性地,k的取值可为固定值1,例如,施加脉冲1对p1至p2编程,对p3至p7禁止。施加脉冲n对p2至p3编程,对p4至p7禁止。施加脉冲m对p3至p4编程,对p5至p7禁止。可以理解的是,k的取值为固定值1时,每个编程脉冲同时对2个目标态的存储单元进行编程。
[0121]
示例性地,如表1中示例二所示,k的取值还可为非固定值,例如,施加编程脉冲2对p1至p3编程,对p4至p7禁止。施加编程脉冲3对p1至p4编程,对p5至p7禁止。可以理解的是,在施加第2编程脉冲时,k的取值为2,在施加第3编程脉冲时,k的取值为3。
[0122]
可以理解的是,本领域技术人员可根据实际的编程需求设置k值,k的取值可为固定值,也可为非固定值,本公开在此不做限制。
[0123]
本公开实施例中,通过设置k的取值为固定值或非固定值,可根据实际的编程情况灵活地调整,以适应不同的编程方案。
[0124]
表2示出了表1中示例二的编程方案相较于示例一的编程方案的有益效果,参照表2所示在编程时间(tprog)上无明显的损失,在编程电流平均值上减小了0.04ma~0.1ma,在编程电流峰值上减小了1ma~5ma,对未编程的存储单元的字线施加的通过电压(vpass)应力时间缩短了1/8。
[0125]
表2示例二的编程方案相较于示例一的编程方案的有益效果
[0126][0127]
根据一个实施例,提供一种存储设备,包括:
[0128]
存储单元阵列,包括:目标态为第1态至第m态的存储单元;
[0129]
外围电路,与存储单元阵列耦合,被配置为执行上述任一实施例中的操作方法。
[0130]
存储单元阵列可以是nand闪存存储器单元阵列,其中,存储单元阵列以nand存储串的阵列的形式提供,每个nand存储串垂直地延伸。在一些实施方式中,每个nand存储串包
括串联耦合并且垂直地堆叠的多个存储单元。每个存储单元可以保持连续模拟值,例如,电压或电荷,其取决于在存储单元的区域内捕获的电子的数量。每个存储单元可以是包括浮栅晶体管的浮栅类型的存储器单元,或者是包括电荷捕获晶体管的电荷捕获类型的存储器单元。
[0131]
外围电路可以通过位线、字线、源极线、源极选择栅线和漏极选择栅线耦合到存储单元阵列。外围电路可以包括使用金属-氧化物-半导体(mos)技术形成的各种类型的外围电路。例如,外围电路包括页缓冲器/感测放大器、列解码器/位线(bl)驱动器、行解码器/字线(wl)驱动器、电压发生器、控制逻辑单元、寄存器、接口和数据总线等。
[0132]
根据一个实施例,提供一种存储系统,包括
[0133]
一个或多个上述存储设备;
[0134]
控制器,耦合至存储设备并且被配置为控制存储设备。
[0135]
系统可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备或者其中具有储存器的任何其他合适的电子设备。
[0136]
控制器可以被配置为控制存储设备的操作,例如读取、擦除和编程操作。控制器还可以被配置为管理关于存储在或要存储在存储设备中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,控制器还被配置为处理关于从存储设备读取的或者被写入到存储设备的数据的纠错码(ecc)。
[0137]
控制器还耦合到主机。控制器可以管理存储在存储设备中的数据,并且与主机通信。
[0138]
可以理解的是,控制器可以执行如本公开任一实施例提供的操作方法。
[0139]
应理解,说明书通篇中提到的“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一些实施例中”或“在另一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0140]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0141]
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0142]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0143]
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0144]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1