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

存储器系统及其编程方法与流程

2021-08-20 20:26:00 来源:中国专利 TAG:存储器 电压 设置 编程 申请
存储器系统及其编程方法与流程

本申请涉及存储器领域,尤其涉及一种非易失性存储器系统及其设置编程电压方法。



背景技术:

闪存存储器件具有可多次编程、存储密度高、功耗较低、容量大、读写速度快、适用于大量数据的存储等特点,在非易失性类存储领域中显现出强劲的市场竞争力,也得到了越来越广泛的应用。例如,闪存存储器件已经大量广泛应用于智能手机、云端储存、电脑固态硬盘等领域。

闪存存储器已经广泛使用nand闪存芯片来处理数据。现有的nand闪存芯片通常采用多级编程方法来减少存储单元字线之间的耦合干扰,提高数据存取的准确性。多级编程方法采用递进步长脉冲编程(incrementalsteppulseprogramming,简称ispp)方法进行编程,利用逐步增大的编程电压对闪存存储器件的存储单元进行编程。在整个编程过程中,需要向存储单元施加多个编程脉冲,每一次编程操作之后都要进行验证操作,如果存储单元的阈值电压大于等于预定的验证电压,验证通过,编程操作结束;反之,如果存储单元的阈值电压小于验证电压,验证失败,需要增大向存储单元施加的编程电压,直至验证通过,编程结束。

在闪存存储器件存储大量数据时,需要大量的验证处理,占用了大量的时间,降低了存储器的读写速度,因此在保证数据存储的准确性的前提下,提高存储器单元的读写速度是当下需要解决的问题。



技术实现要素:

针对现有技术中的上述或其它至少一些不足,本申请提供一种存储器系统及其设置编程电压方法。

根据本申请的一个方面,提供一种确存储器的编程方法,所述存储器的每个字线连接多个存储单元,其特征在于,所述多个存储单元包括第一存储单元以及除了所述第一存储单元的第二存储单元,所述方法可包括:执行第1级编程,以将所述第一存储单元的阈值电压大于等于所述第一存储单元的最终验证电压,将所述第二存储单元的阈值电压编程至大于等于第一级中间验证电压,其中,所述存储单元的第一级中间验证电压小于最终验证电压,所述第一存储单元的阈值电压大于所述第二存储单元的阈值电压;以及执行第n级编程,将所述多个第二存储单元的阈值电压配置为大于等于最终验证电压,其中n≥2。

根据本申请的另一个方面,提供了一种存储器系统,可包括存储阵列、电压提供电路和控制器。存储阵列包括分别与多个存储单元连接的多个字线。电压提供电路耦合到所述存储阵列。控制器配置为控制所述电压提供电路向每个所述字线施加编程电压和验证电压,以对同一所述字线连接的多个存储单元进行编程。同一所述字线连接的所述多个存储单元包括第一存储单元以及除了所述第一存储单元的第二存储单元,在第1级编程中,所述第一存储单元的阈值电压被配置为大于等于所述第一存储单元的最终验证电压,以及所述多个第二存储单元的阈值电压被配置为大于等于第一级中间验证电压,其中,所述存储单元的第一级中间验证电压小于最终验证电压,所述第一存储单元的阈值电压大于所述第二存储单元的阈值电压;以及在第n级编程中,所述多个第二存储单元的阈值电压被配置为大于等于最终验证电压,其中n≥2。

在一个实施方式中,在第1级编程至第n级编程中的每一级编程过程中,所述多个第二存储单元的验证电压和最终验证电压配置可为小于与所述第一存储单元的最终验证电压。

在一个实施方式中,所述第1级编程可包括:对所述多个第二存储单元施加第一编程电压;验证所述多个第二存储单元的阈值电压是否大于等于所述第一级中间验证电压;响应于所述多个第二存储单元的阈值电压小于所述第一级中间验证电压,按第一步长增加所述第一编程电压,并将增加后的第一编程电压重新施加到所述多个第二存储单元;以及继续执行验证步骤以及重新施加的步骤,直到所述多个第二存储单元的阈值电压大于等于所述第一级中间验证电压。

在一个实施方式中,所述第1级编程还可包括:对所述第一存储单元施加第n编程电压,使所述第一存储单元的阈值电压大于等于最终验证电压,其中所述最终验证电压为所述第n级编程中所述第一存储单元的验证电压。

在一个实施方式中,所述第n级编程可包括:对所述多个第二存储单元施加第n编程电压;验证被施加了第n编程电压而处于不同存储状态的所述第二存储单元的阈值电压是否大于等于所述最终验证电压;响应于处于不同存储状态的所述第二存储单元的阈值电压小于所述最终验证电压,按第n步长增加所述第n编程电压,并将增加步长后的n编程电压重新施加到所述第二存储单元;以及继续执行验证步骤以及重新施加步骤,直到所述多个第二存储单元的所述阈值电压大于等于所述最终验证电压。

在一个实施方式中,所述第n步长可小于所述第一步长。

在一个实施方式中,在执行所述多级编程的第n级编程之前,可依次针对所述存储器的多个字线各自连接的存储单元执行所述第1级编程。

在一个实施方式中,所述存储器阵列可包括单级单元slc闪存存储器阵列、多级单元mlc闪存存储器阵列、三级单元tlc闪存存储器阵列、四级单元qlc闪存存储器阵列和五级单元plc闪存存储器阵列中的任意一个。

根据本申请上述一些实施例的存储器系统及其设置编程电压方法,处于最高存储状态的存储单元只在第1级编程中进行阈值电压的验证,减少了后续多级编程中阈值电压的验证时间,在一定程度上减少了存储器的编程时间。此外,根据上述的一些实施方式,通过不同步长的编程脉冲,对存储单元进行多级编程,可以减小存储单元所在的字线之间的编程干扰,实现更紧密的阈值电压分布,在一定程度上提高了数据存储的准确性。

附图说明

图1为根据本申请实施方式的存储器系统;

图2为根据本申请实施方式的部分存储阵列的示意图;

图3为根据本申请实施方式的多级编程的方法的流程示意图;

图4为根据本申请实施方式的用于对存储单元进行第1级编程的步骤s201的具体过程示意图;

图5为根据本申请实施方式的qlc存储器存储单元进行第1级编程后阈值电压分布示意图;

图6a为根据本申请实施方式存储器编程脉冲示意图;

图6b为根据本申请实施方式存储器编程过程示意图;

图7为根据本申请实施方式的存储单元进行第n级编程步骤s202的具体过程示意图;以及

图8为根据本申请实施方式的qlc存储器存储单元进行第n级编程后阈值电压分布示意图。

具体实施方式

为了更好地理解本申请,将参考附图对本申请的各个方面做出更详细的说明。应理解,这些详细说明只是对本申请的示例性实施方式的描述,而非以任何方式限制本申请的范围。在说明书全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列项目中的一个或多个的任何和全部组合。

在附图中,为了便于说明,已稍微调整了元素的大小、尺寸和形状。附图仅为示例而并非严格按比例绘制。如在本文中使用的,用语“大致”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。另外,在本申请中,各步骤处理描述的先后顺序并不必然表示这些处理在实际操作中出现的顺序,除非有明确其它限定或者能够从上下文推导出的除外。

还应理解的是,诸如“包括”、“包括有”、“具有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,其修饰整列特征,而非仅仅修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。

除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本申请中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。

需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本申请。

图1为根据本申请实施方式的存储器系统100。如图1所示,存储器系统100可包括存储阵列10、电压提供电路20和控制器30。

存储阵列10可包括若干个存储块,每个存储块包括分别与多个存储单元101连接的多个字线wl,每个存储单元101可实现多个存储状态,其中较低存储状态对应于较低阈值电压,较高存储状态对应于较高阈值电压。图2为根据本申请实施方式的部分存储阵列的示意图。如图2所示,存储单元阵列10中的存储单元可以连接到字线wl和位线bl,同时存储单元阵列10还可以连接到其它的选择线,如串选择线ssl、地选择线gsl、公共源极线csl等。存储单元的数量、字线wl的数量以及位线bl为示例性说明,本申请不限于此。存储单元阵列10可以经由字线wl和位线bl连接到电压提供电路20。存储单元阵列10可以指存储单元排列所形成的阵列,也可以指构成整个存储器的全部存储单元排列所形成的阵列。根据本申请的实施方式,存储器阵列10可包括单级单元slc闪存存储器阵列、多级单元mlc闪存存储器阵列、三级单元tlc闪存存储器阵列、四级单元qlc闪存存储器阵列和五级单元plc闪存存储器阵列中的任意一个。本申请的实施方式对存储器阵列10的类型不做具体限定,在未背离本发明的情况下的任意合适的存储器阵列都是允许的。

存储器阵列10中的每个存储单元能够存储一个或多个比特,例如,单级单元slc(single-levelcell)闪存存储器的一个存储单元能够存储一个比特,多级单元mlc(multi-levelcell)闪存存储器一个存储单元能够存储两个比特,三级单元tlc(triple-levelcell)闪存存储器一个存储单元能够存储三个比特,四级单元qlc(quad-levelcell)闪存存储器一个存储单元能够存储四个比特,五级单元plc(penta-levelcell)闪存存储器一个存储单元能够存储五个比特,等等。一个多级存储单元可以实现多个存储状态,从而通过将一个多级存储单元编程到多个存储状态之一来将数据比特写入到该存储单元。例如,mlc具有四个存储状态,四个存储状态分别由两个比特决定,tlc具有八个存储状态,八个存储状态分别由三个比特决定,qlc具有十六个存储状态,十六个存储状态分别由四个比特决定,plc具有三十二个存储状态,三十二个存储状态分别由五个比特决定。

回到图1,如图1所示,电压提供电路20与存储阵列10耦接,并配置为将编程电压和验证电压施加到预定字线。电压提供电路20可以响应于来自控制器30的控制信号,生成用于对存储单元阵列10执行擦除、编程、读写和验证等操作的各种电压。特别地,电压提供电路20可包含页缓存器、字线驱动电路等,并用于提供字线电压和位线电压。生成的字线电压,例如可包括编程电压、编程抑制电压、读取电压和验证电压等。

控制器30耦合到存储器阵列10和电压提供电路20,并配置为控制电压提供电路生成并向存储器阵列10施加不同的编程电压。控制器30通过发送编程信号,选择位线和字线对存储器阵列10中的存储单元施加一定的编程电压,使存储单元处于不同的存储状态。例如在编程操作期间,可以将编程电压和验证电压施加到选择的编程的存储单元所在的字线,并将编程抑制电压施加到未选择的编程的存储单元所在的位线。在读取操作期间,可以将读取电压施加到选择的编程的存储单元所在的字线,对于禁止读取的存储单元,则将读取禁止电压施加到存储单元所在的位线。

在本申请的一个实施方式中,控制器30被配置为控制电压提供电路20向每个字线施加编程电压,以对同一字线连接的多个存储单元进行多级编程。在多级编程中,同一字线连接的多个存储单元包括第一存储单元以及除了第一存储单元的第二存储单元。

图3为根据本申请实施方式的多级编程的方法200的流程示意图。如图3所示,存储器编程电压的方法200中包含步骤s201和s202。在步骤s201中,在控制器30的控制下执行多级编程的第1级编程中,以使得第一存储单元的阈值电压大于等于最终验证电压,以及使得多个第二存储单元的阈值电压被配置为大于等于第一级中间验证电压,其中,存储单元的第一级中间验证电压小于最终验证电压,第一存储单元的阈值电压大于第二存储单元的阈值电压。在步骤s202中,执行多级编程的第n级编程,使得多个第二存储单元的阈值电压被配置为大于等于最终验证电压,其中n≥2。而且在任一编程过程中,多个第二存储单元的验证电压配置为小于第一存储单元的验证电压。

根据本申请实施例的编程方法,通过对第二存储单元执行多级编程,第一存储单元执行一次编程,在一定程度上改善存储单元的编程时间,提高了存储器的存储速度。

图4为根据本申请实施方式的用于对存储单元进行第1级编程的步骤s201的具体过程示意图。如图4所示,第1级编程的步骤s201可以包括:

步骤s2011:对多个第二存储单元施加第一编程电压;

步骤s2012:验证多个第二存储单元的阈值电压是否大于等于第一级中间验证电压;第一级中间验证电压为在第1级编程中用于对存储单元进行验证的预设的电压,预设的电压的大小可根据具体的存储单元进行不同的预先设置。

步骤s2013:响应于多个第二存储单元的阈值电压小于第一级中间验证电压,按第一步长增加第一编程电压,并将增加后的第一编程电压重新施加到多个第二存储单元;

步骤s2014:继续执行验证步骤和重新施加步骤,直到多个第二存储单元的阈值电压大于等于第一级中间验证电压。

在第1级编程中,对第一存储单元施加第n编程电压,使第一存储单元的阈值电压大于等于最终验证电压,其中最终验证电压为第n级编程中第一存储单元对应的验证电压。

根据本申请实施例存储单元进行第1级编程的方法,通过对连接存储单元的字线施加第一编程电压,结合控制存储单元所在位线的电压,使存储单元处于不同的存储状态,进行初步的编程。

图5为根据本申请实施方式的qlc存储器存储单元进行第1级编程后阈值电压分布示意图。如图5所示,横轴表示存储单元的阈值电压,纵轴表示存储单元的数量,曲线表示不同的阈值电压下的存储单元数量的正态分布。qlc闪存存储器一个存储单元可以存储4比特数据,即每个存储单元可以具有16种不同的存储状态,由第1存储状态p0’、第2存储状态p1’、第3存储状态p2’…第16存储状态p15’表示。为了方便描述,处于p0’-p14’存储状态的存储单元为第二存储单元,处于最高存储状态p15’的存储单元为第一存储单元。每个存储状态对应一个阈值电压区间,并且每个存储状态都包含第一级中间验证电压,即第2存储状态p1’的中间验证电压为pv1’、第3存储状态p2’的中间验证电压为pv2’…但是第16存储状态p15’的中间验证电压为pv15’即最终验证电压。

图6a为根据本申请实施方式存储器编程脉冲示意图。图6b为根据本申请实施方式存储器编程过程示意图。目前存储器常用的编程方式为递进步长脉冲编程,以电压编程信号为例,结合图6a和图6b对编程过程进行说明。

如图6a所示,横轴表示时间,纵轴表示存储单元的编程电压。图6b横轴表示时间,纵轴表示存储单元的阈值电压。以第1级编程为例进行说明,首先对存储单元施加编程脉冲510,然后进入验证阶段520,验证第二存储单元的阈值电压是否大于等于第一级中间验证电压,例如处于p1’存储状态的第二存储单元的阈值电压都与p1’存储状态的第一中间验证电压pv1’进行比较,如果一部分处于p1’存储状态第二存储单元的阈值电压大于等于第一级中间验证电压pv1’,另一部分处于p1’存储状态第二存储单元的阈值电压小于第一级中间验证电压pv1’,则对阈值电压小于第一级中间验证电压的第二存储单元继续施加电压脉冲530,其中脉冲530对应的电压比脉冲510对应的电压大δvpp,此时阈值电压小于第一级中间验证电压pv1’的第二存储单元的阈值电压增加,例如增加δvth,然后进入验证阶段540,验证阈值电压小于第一级中间验证电压pv1’的存储单元增加δvth阈值电压后的阈值电压是否大于等于第一级中间验证电压pv1’。施加编程电压以第一步长,即δvpp增长,未达到第一级中间验证电压的存储单元的阈值电压随编程电压的增大而增大,重复上述过程,直到第二存储单元的阈值电压大于等于第一级中间验证电压。对处于最高存储状态p15’的第一存储单元直接施加第n级编程电压,使所述第一存储单元的阈值电压大于等于最终验证电压。本领域相关人员可知,图6a中所示仅为示例,并不用于限制第一编程脉冲的个数和脉冲幅度。

在本申请一实施例的编程方法中,在执行所述多级编程的第n级编程之前,依次针对存储器的多个字线连接的存储单元执行第1级编程。

图7为根据本申请一实施方式的存储单元进行第n级编程步骤s202的具体过程示意图。如图7所示,存储单元进行第n级编程的步骤为:

步骤s2021:对多个第二存储单元施加第n编程电压;

步骤s2022:验证被施加了第n编程电压而处于不同存储状态的第二存储单元的阈值电压是否大于等于最终验证电压;

步骤s2023:响应于处于不同存储状态的第二存储单元的阈值电压小于最终验证电压,按第n步长增加第n编程电压,并将增加步长后的第n编程电压重新施加到第二存储单元;

步骤s2024:继续执行验证步骤以及重新施加步骤,直到多个第二存储单元的阈值电压大于等于最终验证电压。

根据本申请实施例对第二存储单元进行第n级编程的方法,对处于不同存储状态的第二存储单元进行进一步编程,使不同存储状态的第二存储单元的阈值电压分布达到最终要求。

图8为根据本申请一实施方式的qlc存储器存储单元进行第n级编程后阈值电压分布示意图。如图8所示,横轴表示存储单元的阈值电压,纵轴表示存储单元的数量,曲线表示不同的阈值电压下的存储单元数量的正态分布。继续以递进步长脉冲编程方式对存储单元进行第n级编程,对除了第一存储单元的多个第二存储单元施加第n编程电压,例如对存储状态p0’,p1’,p2’…p14’进行第n级编程,存储状态p15’不进行第n级编程。第n级编程的过程与第1级编程类似,在此不做过多赘述。各个存储状态经过第n级编程后为第1存储状态p0、第2存储状态p1、第3存储状态p2…第15存储状态p14表示。值得注意的是第n级编程施加的电压以第n步长进行增长,第n步长小于第一步长。

根据本申请实施例的编程方法,在第1级编程期间,使用步长较大的编程脉冲,可以有效的减少编程时间,但是存储单元的阈值电压分布范围较大,相邻状态的阈值电压分布范围之间可能会出现交叠,存储单元阈值电压的微小变化都可能引起误读,编程干扰严重。因此在n级编程时,使用步长较小的编程脉冲,可以有效缩小处于同一存储状态的存储单元阈值电压的分布范围,减小编程干扰,提高编程精度。

此外,第n级编程时验证处于不同存储状态的第二存储单元的阈值电压与最终验证电压比较。第n级编程后,多个第二存储单元的阈值电压大于等于最终验证电压。第n级编程中最终验证电压分别为pv1,pv2…pv15,其中pv15与pv15’相等,即第一存储单元的最终验证电压。由于第n步长较小,并且第n级编程过程中第二存储单元对应的最终验证电压较大,例如pv1’<pv1,pv2’<pv2,…pv14’<pv14。因此处于同一状态的第二存储单元的阈值电压分布区间与第1级编程相比会变小。相邻状态的阈值电压分布之间不重叠的部分称之为读窗口,阈值电压分布区间越小,读窗口越大,在读取数据的过程中,产生误判的概率越低。在第n级编程过程中,处于存储状态p14的存储单元阈值分布区间已经变小,与存储状态p15’之间的读窗口已经变大,而且存储状态p15’已经是最高存储状态,因此在本实施例中存储状态p15’只进行一次编程,在一定程度上减少了存储单元编程的时间,提高了编程速度。

本申请的另一个实施例中,第一存储单元在第n级编程中进行阈值电压验证。在对存储器执行例如写入操作之后,电荷注入到浮栅结构的电荷存储层中,存储单元电荷存储层中的电荷越多,存储单元的阈值越大。通过对存储单元阈值电压大小的判定,可得到存储单元处于的存储状态,从而得到存储内容。但是一部分存储单元随着时间推移,使得在浮栅层存储的电荷会逐渐泄露,导致存储单元的浮栅结构中存储的电荷量会减小,会导致瞬时阈值电压漂移(instantvoltageshift,简称ivs),这意味着由编程操作提升的阈值电压可能操作之后短时间内下降,导致存储单元的阈值电压分布变宽,这样在数据读取时可能对存储状态判别错误,导致误读。因此,为了改善瞬时阈值电压漂移可能引起的错误,第一存储单元在第n级编程中进行阈值电压的验证,即对第一存储单元的阈值电压与最终验证电压进行验证。

根据本申请一实施例的编程方法,由于对第一存储单元只进行一次编程,在一定程度上减少了存储单元编程的时间,提高了编程速度。在第n级编程中,对第一存储单元执行验证,在一定程度上改善瞬时阈值电压漂移可能引起的错误,提高了存储器的读取正确率。

在本申请实施例的编程方法中,以四级单元qlc闪存存储器进行多级编程为例对本申请的存储器编程方法进行了说明。然而本领域技术人员可以理解,本申请的存储器可包含适用于本申请编程方法的全部闪存存储器。

如上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明。应理解的是,以上所述仅为本发明的具体实施方式,并不用于限制本发明。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等均应包含在本发明的保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜