用于基于动态的字线的三维存储器装置的配置的方法和系统与流程

文档序号:11160892阅读:743来源:国知局
用于基于动态的字线的三维存储器装置的配置的方法和系统与制造工艺

公开的实施例一般地涉及存储器系统,并且具体地涉及改善用其保留数据的储存装置(例如,三维(3D)存储器装置)的可靠性。



背景技术:

非易失性数据储存装置已经实现了数据和软件应用的增加的便携性。例如,与单级单元(SLC)闪速存储器装置相比,闪速存储器装置的多级单元(MLC)存储元件的每个可以存储多位数据,增强数据存储密度。因此,闪速存储器装置使得用户能够存储和访问大量的数据。随着每个单元存储的位的数量增加,储存的数据中的位的误差通常增加。数据储存装置可以使用误差校正码(ECC)技术来编码和译码数据,以校正数据中的某些位的误差。ECC技术可以利用减少用于诸如用户数据的其他信息的数据储存容量的奇偶校验信息。

为了进一步增加数据储存容量,存储器装置技术的进步已经产生具有三维(3D)配置的存储器装置。例如,3D存储器装置包括垂直地堆叠的并且位于多个垂直堆叠层的不同的层(例如,不同的级)中的多个存储器单元。垂直堆叠的一组存储器单元可以与导电沟道耦接。在3D储存装置的制造期间,可以通过多个垂直堆叠层产生孔,以使得能够形成导电沟道。然而,随着孔延伸的层的数量增加,控制孔的形成变得困难。例如,孔的形状可以不是穿过所有多个层的圆柱形;相反,孔可以具有穿过多个层中的一个或多个的锥形形状。为了说明,穿过多个层的孔的横截面可以具有圆锥形的形状或漏斗形的形状。当孔不具有穿过所有多个层的一致的形状(例如,一致的直径)时,可能影响一个或多个存储器单元的物理尺寸,这可能导致那些存储器单元的性能降低。



技术实现要素:

在一些实施例中,存储器控制器被配置为用储存装置或在储存装置(例如,3D存储器装置)上进行操作。在一些实施例中,存储器控制器在检测触发条件之后动态地调整与储存装置的各个字线相关联的一个或多个配置参数(例如,ECC编码强度、编程参数、和/或储存密度)。触发条件可选地基于各个字线的一个或多个状态度量(例如,在各个字线上进行的编程-擦除(PE)周期的计数、写入到各个字线的字节的数量和用于从各个字线的页读取的数据的误码率(BER)或其组合)。

附图说明

使得本公开可以被更加详细地理解,可以通过参考各种实现方式的特征而获得具体的说明,其中的一些在附图中示出。但是,附图仅示出本公开的更加显著的特征并且因此不应被认为是限度性的,因为该说明可能具有其它有效特征。

图1是示出根据一些实施例的数据储存系统的实现方式的框图。

图2A是示出根据一些实施例的管理模块的实现方式的框图。

图2B是示出根据一些实施例的包括在图2A中的特性向量表的示意图。

图2C是示出根据一些实施例的包括在图2B中的代表性特征向量的示意图。

图3A是根据一些实施例的在单级闪速存储器储器单元(SLC)中发现的随时间的电压分布的预测图。

图3B是根据一些实施例的在多级闪速存储器单元(MLC)中发现的随时间的电压分布的预测图。

图4A是根据一些实施例的三维(3D)存储器装置的列的示意图。

图4B是根据一些实施例的图4A中的列的一部分的示意图。

图5是根据一些实施例的3D存储器装置的块的示意图。

图6是根据一些实施例的3D存储器装置的示意图。

图7是根据一些实施例的NAND闪速配置中的3D存储器装置的示意图。

图8是根据一些实施例的ReRAM配置中的3D储存装置的示意图。

图9是根据一些实施例的用于包括3D存储器装置的各个块的字线的第一配置的预测图。

图10是根据一些实施例的3D存储器装置的各个字线的预测状态的流程图。

图11A-11C示出了根据一些实施例的具有存储器单元的3D阵列的储存装置中的操作方法的流程图表示。

根据惯例附图中示出的各种特征可能未按比例绘制。相应地,为了清晰,各种特性的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的参考标号可以被用于表示相似的特性。

具体实施方式

这里所描述的各种实现方式包括可以改善可靠性的系统、装置和/或方法,其中通过该可靠性数据可由储存装置(例如,3D存储器装置)保留。一些实施方式包括用于3D存储器装置逐个字线地动态调整配置参数的系统、装置和/或方法。

在一些实施例中,由存储器控制器(例如,储存装置中嵌入的或者独立于储存装置的)进行储存装置中的操作的方法,该储存装置包括存储器单元的三维阵列,其包括存储器单元的多个块,每个块包括布置在相对于所述储存装置的衬底的不同垂直位置中的多个字线。对于所述多个块的各个块,该方法包括:以第一配置来配置对应于所述各个块的所述多个字线,其中所述第一配置包括至少部分基于每个字线相对于所述储存装置的衬底的垂直位置而确定的用于所述多个字线的每个字线的各个组的配置参数;并且,在所述多个字线根据所述第一配置来配置的情况下,将数据写入到所述各个块并且从所述各个块读取数据。对于所述各个块,该方法包括:响应于针对所述多个字线的各个字线检测到第一触发条件,调整对应于所述各个字线的各个组的配置参数中的第一参数;并且,在调整对应于所述各个字线的各个组的配置参数中的第一参数之后,将数据写入到所述各个字线并且从所述各个字线读取数据。

一些实施例包括电子系统或装置(例如,图1的数据储存系统100或图1的存储器控制器120),包含:一个或多个处理器;以及存储器,储存将由一个或多个处理器执行的一个或多个程序,一个或多个程序包含用于进行或者控制这里所述的任何方法的进行的指令。一些实施例包括非瞬时性计算机可读储存介质,储存用于由电子系统或装置(例如,图1的数据储存系统100或图1的存储器控制器120)的一个或多个处理器执行的一个或多个程序,一个或多个程序包含用于进行或者控制这里所述的任何方法的进行的指令。一些实施例包括电子系统或装置(例如,图1的数据储存系统100或图1的存储器控制器120),其包含用于进行或者控制这里所述的任何方法的进行的指令的构件。

在这里描述许多细节以便于提供对在附图中示出的示例实施例的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特性和方面限度。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实施例的更加相关的方面。

图1是根据一些实施例的数据储存系统100的实现方式的图。尽管示出了一些示例特征,但是为了简洁并且不至于混淆这里所公开的示例实施例的更加显著的方面而没有示出各种其它特征。为此,作为非限制性示例,数据储存系统100与计算机系统110一起使用,其中数据储存系统100包括存储器控制器120和储存装置130。在一些实施例中,储存装置130包括单个存储器装置(例如,易失性存储器装置或非易失性存储器(NVM)装置——诸如磁盘储存装置、光盘储存装置、闪速存储器装置、三维(3D)存储器装置(如这里进一步所述的)或另一个半导体NVM存储器装置)。在一些实施例中,储存装置130包括多个存储器装置或者是与存储器控制器120耦接的多个存储器装置的一个。在一些实施例中,存储器装置包括一个或多个裸芯,每个裸芯具有两个或多个独立可寻址的块(例如,擦除块)。在一些实施例中,储存装置130包括NAND型闪速存储器或NOR型闪速存储器。此外,在一些实施例中,存储器控制器120是固态驱动(SSD)控制器。根据多种实施例的方面,可以包括一个或多个其它类型的储存介质。

计算机系统110通过数据连接101耦接到存储器控制器120。但是,在一些实施例中,计算机系统110包括存储器控制器120作为组件和/或子系统。计算机系统110可以是任何合适的计算装置——诸如桌上型计算机,膝上型计算机、平板装置、网本、网络亭、个人数字助理、移动电话、智能电话、游戏装置、可穿戴计算装置、计算机服务器或任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实施例中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器、显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加I/O功能。

储存装置130通过连接103与存储器控制器120耦接。连接103有时被称为数据连接,但是通常除了传送数据以外还传送命令,并且可选地除了将储存在储存装置130中的数据值和从储存装置130读取的数据值以外还传送元数据、误差校正信息和/或其它信息。在一些实施例中,但是,存储器控制器120和储存装置130被包含在与其组件相同的装置中。此外,在一些实现方式中,存储器控制器120和储存装置130嵌入在主机装置中,诸如移动装置、平板、其它计算机或者计算机控制的装置,并且这里所述的方法由嵌入式存储器控制器进行。储存装置130可以包括任何数量(即,一个或多个)的存储器装置,包括但不限于,非易失性半导体存储器装置——诸如闪速存储器。例如,闪速存储器装置可以被配置为适用于诸如云计算或用于缓存储存在(或将被储存在)诸如硬盘驱动的二级储存中的数据的应用的企业储存。额外地和/或可替换地,闪速存储器还可以被配置用于相对较小的应用——诸如用于个人计算机、膝上型计算机和平板计算机的个人闪速驱动或硬盘替换。

在图1中,储存装置130(例如,具有一个或多个存储器装置)包括多个存储器部分131-A、…、131-N。例如,各个存储器部分是储存装置130中的多个存储器装置、或与储存装置130中的各个存储器装置相关联的裸芯、块(例如,独立地可寻址的块——诸如擦除块)、字线或页的一个。在一些实施例中,储存装置130被分为多个独立寻址的(并且因此,可独立第选择的)块。在一些实施例中,储存装置130被分为多个单独地可寻址的(并且从而单独地可选择的)块。在一些实施例中,单独地可选择的块是闪速存储器装置中的最小尺寸的可擦除单元。换句话说,每个块包含可以被同时擦除的最小数量的存储器单元。每个块通常还被分为多个页和/或字线,其中每个页或字线通常是块中最小单独地可访问(可读)的部分的示例。但是,在一些实施例中(例如,使用一些类型的闪速存储器),数据组的最小单独地可访问的单元是区段,其中区段是页的子单元。就是说,块包括多个页,每一页包含多个区段,并且每个区段是用于从闪速存储器装置读取数据的数据的最小单元。在一些实施例中,储存装置130包括读取/写入电路135,以用于选择在其上进行存储器操作(例如,读,写或擦除操作)的储存装置130的各个部分,并且用于使得在储存装置130的各个部分上进行存储器操作。

例如,一个块包括多个页面(例如,64页、128页、256页或另一合适数量的页)。在一些实现方式中,裸芯中的块被分组成多个区。通常,裸芯的每个块区在裸芯的物理上不同的区域中,诸如裸芯中的存储器单元阵列的特定半部或特定象限。在一些实施方式中,每个块区在一定程度上被独立地管理,这增加了并行操作的并行度,并简化了储存装置130的管理。

在一些实施例中,存储器控制器120包括管理模块121、输入缓冲器123、输出缓冲器124、误差控制模块125和储存介质接口(I/O)128。在一些实施例中,存储器控制器124包括为了简洁并且不至于混淆这里所公开的示例实施例的更加显著的特征而没有示出的各种额外的特征,并且特征的不同的布置是可能的。输入缓冲器123和输出缓冲器124通过数据连接101向计算机系统110提供接口。类似地,储存介质I/O 128通过连接103向储存装置130提供接口。在一些实施例中,储存介质I/O 128包括读取和写入电路,包括能够向储存装置130提供读取信号的电路(例如,用于NAND型闪速存储器的读取阈值电压)。

在一些实施例中,管理模块121包括一个或多个处理单元(一个或多个)CPU)(有时也被称为一个或多个处理器)122被配置为执行一个或多个程序(例如,在管理模块121中)中的指令。在一些实施例中,一个或多个CPU122由在储存控制器124的功能中——并且在一些情况中——超过存储器控制器120的功能的一个或多个组件共享。管理模块121与输入缓冲器123、输出缓冲器124(连接未示出)、误差控制模块125和储存介质I/O 128耦接以便于协调这些组件的操作。

误差控制模块125与存储介质I/O 128、输入缓冲器123和输出缓冲器124耦接。提供误差控制模块125以限制无意中引入数据的不可校正误差的数量。在一些实施例中,误差控制模块125由管理模块121的一个或多个CPU 122在软件中执行,并且在其他实施例中,误差控制模块125全部或部分地使用专用电路来实现以进行编码和译码功能。为此,误差控制模块125包括编码器126和译码器127。在一些实施例中,误差控制模块125被配置为根据诸如Reed-Solomon、turbo码、Bose-Chaudhuri-Hocquenghem(BCH)、低密度奇偶校验(LDPC)或其它误差控制码或者组合的多个ECC技术(或ECC强度)的一个来编码数据(即,通过编码器126)和译码原始读取数据(即,通过译码器127)。

本领域技术人员将理解,各种误差控制码具有不同的误差检测和纠正能力,并且出于超出本公开的范围的原因,对于各种应用选择特定代码。因此,这里不提供对各种类型的误差控制码的详尽回顾。此外,本领域技术人员将理解,每种类型或族的误差控制码可以具有特定于误差控制码的类型或族的编码和译码算法。另一方面,在许多不同类型或族的误差控制码的译码中,可以至少在某种程度上利用一些算法。因此,为了简洁起见,这里不提供对本领域技术人员通常可用和已知的各种类型的编码和译码算法的详尽描述。

在写入操作期间,输入缓冲器123从计算机系统110接收将储存在储存装置130中的数据(例如,写入数据)。保持在输入缓冲器123中的数据可用于编码器126,其通过误差控制码将数据编码以产生一个或多个码字。一个或多个码字可用于储存介质I/O 128,其以取决于使用的储存介质的类型的方式将一个或多个码字转移到储存装置130。当计算机系统(主机)110在控制线111上将一个或多个主机读取命令发送到存储器控制器120、从储存装置130请求数据时,启动读取操作。存储器控制器120经由储存介质I/O128将一个或多个读取访问命令发送到储存装置130,以根据由一个或多个主机读取命令指定的存储器地址(多个地址)获得原始的读取数据。储存介质I/O 128将原始读取数据(例如,包含一个或多个码字)提供到译码器127。译码器127向编码的数据施加译码处理以恢复数据,并且在误差控制码的误差校正能力内校正恢复的数据中的误差。如果译码成功,译码的数据被提供到输出缓冲器124,其中译码的数据可用于计算机系统110。在一些实施例中,如果译码不成功,存储器控制器120可以依靠多个补救措施或者提供对不可解决的误差条件的指示。

闪速存储器装置使用存储器单元以将数据储存为电气值,诸如电荷或电压。每个闪速存储器单元通常包括具有浮置栅极的单个晶体管,该浮置栅极被用于储存电荷,其修改晶体管的阈值电压(即,导通晶体管所需的电压)。电荷的幅度、以及电荷创建的相应的阈值电压被用于表示一个或多个数据值。在一些实现方式中,在读取操作期间,读取阈值电压被施加到晶体管的控制栅极,并且产生的感测的电流或电压被映射为数据值。

术语“单位电压”和“存储器单元电压”,在闪速存储器单元的上下文中,意味着存储器单元的阈值电压,其是需要施加到存储器单元的晶体管的栅极以便晶体管导电的最小的电压。类似地,施加到闪速存储器单元的读取阈值电压(有时也被称为读取信号以及读取电压)是施加到闪速存储器单元的栅极的栅极电压以确定存储器单元是否在该栅极电压处导电。在一些实现方式中,当闪速存储器单元的晶体管在给定的读取阈值电压处导电时,指示单位电压小于读取阈值电压,用于该读取操作的原始数据值是“1”、并且否则原始数据值是“0”。

图2A是示出根据一些实施例的示例管理模块121的框图。管理模块121通常包括一个或多个处理单元122(也被称为(一个或多个)CPU、(一个或多个)处理单元、(一个或多个)微处理器、(一个或多个)微控制器或者(一个或多个)内核),用于执行储存在存储器206中的模块、程序和/或指令并且从而进行处理操作;存储器206;以及一个或多个通信总线208,用于互联这些组件。通信总线208可选地包括互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。管理模块121通过通信总线208与缓冲器123、缓冲器124、误差控制模块125、储存装置130耦接。存储器206包括易失性存储器(例如,一个或多个高速随机存取存储器装置——诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器装置),和/或非易失性存储器(例如,一个或多个NVM装置——诸如(一个或多个)磁盘储存装置、(一个或多个)光盘储存装置、(一个或多个)闪速存储器装置、(一个或多个)3D存储器装置或(一个或多个)其它非易失性固态储存装置)。存储器206可选地包括位于远离(一个或多个)处理单元122的一个或多个储存装置。存储器206,或可替换地在存储器206中的(一个或多个)非易失性存储器装置,包括非瞬时性计算机可读储存介质。在一些实施例中,存储器206或者存储器206的计算机可读储存介质储存以下程序、模块和数据结构或其子集或超集:

·数据读取模块212,以用于读取数据,或使得数据从储存装置130被读取;

·数据写入模块214,以用于写入数据,或使得数据被写入到储存装置130;

·数据擦除模块216,以用于擦除数据,或使得数据从储存装置130被擦除;

·请求处理模块218,以用于从主机(例如,计算机系统110,图1)或其它内部处理接收存储器操作命令;

·损耗均衡模块220,以用于可选地确定储存装置130的页或块,以用于储存数据以便平均地损耗储存装置130的页或块;

·(可选地)位置确定模块222,被用于确定用于储存装置130的每一列或块的变化位置(例如,锥形形状的末尾处);

·(可选地)位置更新模块224,用于确定用于储存装置130的每一列或块的更新的变化位置;

·(可选地)位置表226,储存用于储存装置130的每一列或块的由位置确定模块222确定的变化位置和/或由位置更新模块224确定的更新的变化位置;

·度量维持模块228,用于维持储存装置130的每个存储器部分(例如,裸芯、块、字线或页部分)的一个或多个状态度量或储存装置130的每个存储器部分的组合的状态度量,其中基于包括对应于各个存储器部分的一个或多个状态度量的预定的算法计算用于各个存储器部分的组合的状态度量;

·触发检测模块230,用于检测关于储存装置130的各个部分的触发条件;

·调整模块232,用于响应于检测到关于储存装置130的各个部分的触发条件而调整储存装置130的各个部分的一个或多个配置参数;

·特征向量表234,储存特征向量235的集合,其中该特征向量235储存用于储存装置130的各个部分的特征数据;以及

·逻辑-到-物理映射236,储存逻辑-到-物理映射,该逻辑-到-物理映射将由主机(例如,计算机系统110,图1)识别的逻辑地址映射到储存装置130的物理地址。

上述识别的元件的每一个可以贮存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的指令集。上述识别的模块或程序(即,指令集)不需要实现为单独的软件程序、规程或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另外地重新布置。在一些实施例中,存储器206可以储存以上识别的模块和数据结构的子集。此外,存储器206可以贮存以上未描述的额外的模块和数据结构。在一些实施例中,在一些实施例中,储存在存储器206或者存储器206的计算机可读储存介质中的程序、模块和数据结构,提供用于实现参考图10和11A-11C在下面描述的任何方法的指令。

尽管图2A示出了管理模块121,但是图2A相比于这里所述的实施例的结构性示意更倾向于作为可能出现在管理模块中的各种特性的功能性描述。实践中,并且如由本领域普通技术人员识别的,单独地示出的项目可以被组合并且一些项目可以分开。

图2B是示出根据一些实施例的特征向量表234的实现方式的框图。特征向量表234包括特征向量235的集合,每个特征向量235存储与储存装置130的各个部分相关联的特征数据(例如,储存装置130的不同的裸芯、块区、块、字线、字线区(例如,相对于衬底的连续的垂直位置处的一组字线)或页部分)。在一些实施例中,特征向量235的集合中的每个向量(例如向量235-1、向量235-2、...、向量235-N)存储在用于储存装置130的各个部分的至少两个时间段的每一个(例如,时间T-1和时间T-2,或X编程擦除(PE)周期和2X PE周期)期间得到的特征数据(例如,写入的字节260、PE周期262、BER 264和/或其它使用信息266)。在一些实施方式中,存储在特征向量235中的特征数据是统计得出的。例如,但不限于,在储存装置130(图1)包括多个块的一些实施例中,特征向量表234包括用于储存装置130的每个不同块的至少一个特征向量。在另一个示例中,在一些实施例中,向量表234包括用于储存装置130的每个块的一组不同的特征向量235,并且用于每个裸芯的不同特征向量235的组包括在该块中的每个字线或页的至少一个不同的特征向量。在一些实施例中,特征向量表234具有一组预定的特征向量,该特征向量用适合于在不同损耗阶段的各个字线使用的配置值来预编程;在任何一个时间处,块中的每个字线或字线区域与预定的特征向量中的一个相关联。下面参照图2C描述特征向量235的更详细的示例实现方式。

图2C是根据一些实施例的代表性特征向量250(例如,对应于图2B中所示的特征向量235中的任一个)的实现方式的示意图。在一些实施例中,对于储存装置130的各个部分,储存在特征向量250中的特征数据包括:(i)储存密度字段252,指示储存装置130的各个部分中的存储器单元的当前储存密度,诸如X3(即,每个存储器单元3位)、X2(即,每个存储器单元2位)、X1(即,每个存储器单元1位)或X0(即,退役的存储器单元);(ii)ECC编码强度(和/或技术)字段254,指示存储在与储存装置130的各个部分相关联的(一个或多个)页中的数据的当前ECC编码强度,诸如多个奇偶校验位和/或ECC技术(例如,Reed-Solomon、turbo、BCH或LDPC码);和(iii)编程参数字段256,指示与存储在或将要存储在储存装置130的各个部分中的数据相关联的一个或多个编程参数,诸如编程电压、编程脉冲的数量和/编程脉冲的步长、宽度或持续时间。

在一些实施例中,存储在特征向量250中的特征数据包括一个或多个状态度量258,其非限制性示例包括:(a)字节写入字段260,指示写入到储存装置130的各个部分的数据的字节数;(b)PE周期字段262,指示在储存装置130的各个部分上进行的PE周期的数量的当前计数;(c)误码率(BER)字段264,指示在从储存装置130的各个部分的页中读取的码字中包括的误差的数量或者从储存装置130的各个部分的(一个或多个)页读取的先前N个码字中包括的误差的平均数量;和(d)其它使用信息266,指示储存装置130的各个部分的健康、性能和/或耐久性。

在一些实施例中,存储在特征向量250中的特征数据可选地包括用于储存装置130的各个部分的组合的状态度量(由图2C中的状态度量258表示)。在一些实施例中,组合的状态度量与考虑到与储存装置130的各个部分相关联的一个或多个使用参数的预定算法(例如,由图2A的度量维持模块228计算)的输出相关联。例如,预定算法结合以下的一个或多个:(a)写入到储存装置130的各个部分的字节数;(b)在储存装置130的各个部分的上进行的PE周期的数量;(c)从储存装置130的各个部分的(一个或多个)页读取的码字的BER;和(d)与储存装置130的各个部分的相关联的其它使用信息。在一些实施例中,特征向量250中存储的特征数据包括用于储存装置130的各个部分的物理地址字段268,其指示对应于储存装置130的各个部分的物理地址或物理地址的组。

如下文参考图3A所讨论的,单级闪速存储器单元(SLC)(有时也在这里称为“X1”)存储一个位(“0”或“1”)。因此,SLC储存装置的储存密度是每个存储器单元一位的信息。然而,多级闪速存储器单元(MLC)可通过使用存储器单元的总电压范围内的不同范围表示多位的位-元组来在每个单元储存两个或两个以上的位的信息。反过来,MLC存储器装置的储存密度为每单元多个位(例如,每存储器单元两个位)。

图3A是根据一些实施例的在单级闪速存储器单元(SLC)中发现的电压分布300a的简化的预测图。为了说明的目的,图3A中所示的电压分布300a已经被简化。在该示例中,SLC的电压范围大致从NMOS晶体管的源极端子处的电压VSS延伸到NMOS晶体管的漏极端子处的电压VDD。因此,电压分布300a在VSS和VDD之间延伸。

源极电压VSS和漏极电压VDD之间的顺序电压范围301和302分别用于表示对应的位值“1”和“0”。每个电压范围301、302具有各自的中心电压V1 301b,V0 302b。如上所述,在许多情况中,响应于所施加的读取阈值电压而感测的存储器单元电流指示与对应于写入到存储器单元中的各个位值的各个中心电压V1 301b或V0 302b不同的存储器单元电压。单元电压和/或当读取存储器单元时感测到的单元电压中的误差可能发生在写入操作、读取操作期间,或者由于在数据被写入到存储器单元的时间和进行读取操作以读取储存在存储器单元中的数据的实际之间的“漂移”。为了便于讨论,这些效应被集体描述为“单元电压漂移”。每个电压范围301、302还具有各自的电压分布301a、302a,其可以作为任何数量的误差诱导因子的组合的结果而发生,其示例如上所述。

在一些实现方式中,在邻近中心电压之间(例如,施加到邻近中心电压V1 301b和V0302b之间的中途区域的附近)施加读取阈值电压VR。可选地,在一些实施方式中,读取阈值电压位于电压范围301和302之间。在一些实施方式中,在接近电压分布301a和302a重叠处的区域中施加读取阈值电压VR,其不一定接近邻近的中心电压V1 301b和V0 302b之间的中途区域。

为了增加闪速存储器中的储存密度,闪速存储器已经从单级(SLC)单元闪速存储器发展到多级单元(MLC)闪速存储器,使得每个存储单元可以存储两个或多个位(这里有时也称为“X2”)。如下文参考图3B所讨论的,MLC闪速存储器装置被用于通过使用存储器单元的总电压范围内的电压范围来存储多个位以表示不同的位元组。MLC闪速存储器装置通常比使用相同制造工艺构建的SLC闪速存储器装置更易出错,因为用于存储不同数据值的电压之间的有效电压差对于MLC闪速存储器装置较小。此外,由于诸如电波动、存储介质中的缺陷、操作条件、装置历史和/或写入-读取电路之类的任何数量的因素的组合,典型的误差包括特定MLC中存储的电压电平在与否则将表示特定位元组的正确的储存的电压范围邻近的电压范围中。如下面更详细讨论的,可以通过对数据进行灰色编码来减少这种误差的影响,使得邻近电压范围表示位元组之间的单位变化。

图3B是根据一些实施例的在多级闪速存储器单元(MLC)中发现的电压分布300b随时间的简化的预测图。为了说明的目的,图3B中所示的电压分布300b已经被简化。MLC的单元电压大约从NMOS晶体管的源极端子处的电压VSS延伸到漏极端子处的电压VDD。因此,电压分布300b在VSS和VDD之间延伸。

源极电压VSS和漏极电压VDD之间的顺序电压范围321、322、323、324分别用于表示对应的位元组“11”、“01”、“00”、“10”。每个电压范围321、322、323、324具有各自的中心电压321b、322b、323b、324b。每个电压范围321、322、323、324还具有各自的电压分布321a、322a、323a、324a,其可以由于各个因素——诸如电波动、存储介质中的缺陷、操作条件、装置历史(例如,PE周期的数目)和/或写入-读取电路的不完美的性能或设计——的任何数量的组合而发生。

理想地,在写入操作期间,MLC的浮置栅极上的电荷将被设置为使得合成的单元电压处于范围321、322、323、324中的一个的中心处以便将相应的位元组写入到MLC。具体地,所得到的单元电压将被设置为V11 321b、V01 322b、V00 323b和V10 324b的一个,以便写入位元组“11”、“01”、“00”和“10”的相应的一个。实际上,由于上述因素,对于写入到MLC的数据,初始单元电压可能不同于中心电压。

读取阈值电压VRA,VRB和VRC被置于邻近中心电压之间(例如,位于邻近中心电压之间的中间点处或附近),并且因此限定电压范围321、322、323之间的阈值电压。在读取操作期间,施加读取阈值电压VRA,VRB和VRC中的一个以使用比较处理来确定单元电压。然而,由于上面讨论的各种因素,实际的单元电压和/或当读取MLC时接收的单元电压可以不同于对应于写入到单元中的数据值的各个中心电压V11 321b,V01 322b,V00 323b或V10 324b。例如,实际单元电压可以在完全不同的电压范围内,这强烈地指示存储了与写入到MLC不同的位元组。更常见地,实际单元电压可能接近于读取比较电压的一个,使得难以肯定地确定两个邻近位元组中的哪一个由MLC储存。

单元电压中的误差,和/或当读取MLC时接收的单元电压,可能在写入操作、读取操作期间、或者由于在数据被写入到MLC的时间和进行读取操作以读取储存在MLC中的数据的时间之间的单元电压的“漂移”而发生。为了便于讨论,有时单元电压中的误差和/或当读取MLC时接收的单元电压被统称为“单元电压漂移”。

减小从一个电压范围漂移到邻近电压范围的单元电压的影响的一种方式是对位元组进行灰色编码。灰度编码位元组包括约束位元组的分配,使得特定电压范围的各个位元组与邻近电压范围的各个位元组仅相差一位。例如,如图3B所示,邻近范围321和322的各个位元组分别为“11”和“01”,邻近范围322和323的各个位元组分别为“01”和“00”,并且邻近范围323和324的相应位元组分别为“00”和“10”。使用灰度编码,如果单元电压漂移接近读取比较电压电平,则误差通常限于在2位位元组中的单个位。

本领域普通技术人员将理解,如何将1位SLC和2位MLC的上述讨论应用于N位存储器单元。这里有时将配置为存储1位的存储器单元称为X1,配置为存储2位的存储器单元称为X2,配置为存储3位的存储器单元称为X3。另外,不可用于进一步编程的退役存储器单元被称为X0。

图4A是根据一些实施例的存储器装置(例如,储存装置130,图1)的列400的示意图。列400集成在具有三维(3D)存储器配置的存储器装置中。例如,列400被集成在图1的储存装置130中。

在一些实施例中,列400包括储存元件(例如,SLC或MLC闪速存储器单元)在形成在衬底408(例如,半导体衬底)上的材料的多个层中形成。为了说明,图4A示出了代表性的层410、412和414。例如,层410形成为靠近衬底408(即,层410是“底部”层)。进一步在该示例中,层412靠近层410,并且层414相比列400的其它层(即,层414是“顶部”层)更加远离衬底。在一些实施例中,层410、412和414包括导电的(或半导电的)材料(例如,掺杂多晶硅)。在一些实施例中,列400包括其它层,诸如插入在层410和412之间的氧化层。

在一些实施例中,列400还包括结构402。为了形成结构402,进行蚀刻工艺以蚀刻通过列400的层以形成蚀刻的区域(例如,腔体,诸如“存储器孔”)。在蚀刻通过列400的层以形成蚀刻的区域之后,蚀刻的区域用一个或多个材料填充以形成结构402。例如,结构402具有圆形或者基本上圆形的形状。在该示例中,垂直于衬底408的表面的结构402的截面是圆形的。

在一些实施例中,列400包括多个储存元件——诸如代表性的储存元件404和406(例如,SLC或MLC闪速存储器单元)。例如,储存元件404被包含在图1中的储存装置130的第一字线的第一物理页中,并且储存元件406被包含在图1中的储存装置130的第二字线的第二物理页中。储存元件404和406连接到结构402。

在一些实施例中,结构402具有变化。例如,如图4A中所示,结构402具有“圆锥的”或者“锥形的”轮廓。位置420指示与结构402的锥形相关联的区域。例如,在图4A中,结构402在位置420(即,比位置420更靠近衬底408)之下不是锥形的,并且结构402在位置420(即,比位置420更远离衬底408)之上是锥形的。在图4A中,例如,位置420在储存元件404和406之间,因为结构402大致在储存元件404和406之间开始“变成锥形”。

通过识别位置420,在储存装置130处的操作的准确性可以被改善。例如,通过识别位置420,储存元件404和406可以与不同的ECC参数和/或不同的存储器访问参数相关联以补偿由于结构402的锥形的储存元件404和406的物理特征的差异。储存元件的物理特征的差异进一步参考图4B描述。

图4B是根据一些实施例的列400的部分450的示意图。根据一些实施例,部分450示出了形成在结构402中的电荷捕获结构454和导电沟道456。在图4B中,控制栅极452和控制栅极460连接到电荷捕获结构454。例如,控制栅极452被包括在图4A的储存元件404中,并且控制栅极460被包括在图4A的储存元件406中。在一些实施例中,控制栅极452和460由材料、诸如氧化区域458分开。

在一些实施例中,控制栅极452和460以及氧化区域458被形成在储存装置130的多个层中。例如,控制栅极452被形成在多晶硅层中,氧化区域458被形成在氧化层中,并且控制栅极460被形成在另一多晶硅层中。在一些实施例中,控制栅极452和460以及氧化区域458被形成在储存装置130的一个或多个“物理层”中。例如,物理层包括控制栅极452和氧化区域458。

应理解的是,一个或多个额外的材料可以被形成在结构402中。例如,电荷捕获结构454由栅极电介质从控制栅极452和导电沟道456分开,该栅极电介质诸如氧化硅。在一些实施例中,电荷捕获结构454包括绝缘材料——诸如氮化硅。在一些实施例中,导电沟道456包括导电的材料——诸如金属(例如,铜)。

在一些实施例中,部分450被偏置(bias)为将值写入到储存元件404并且感测储存在储存元件404处的值。在一些实施例中,部分450被偏置为将值写入到储存元件406并且感测储存在储存元件404处的值。例如,通过偏置相对于导电沟道456的控制栅极452,电荷被注入到电荷捕获结构454中或者从电荷捕获结构454中被吸取。在该示例中,电荷捕获结构454中的电荷的量影响在储存元件404的读取操作期间通过导电沟道456的电流的量并且指示储存在储存元件404中的一个或多个位值。作为另一示例,通过偏置相对于导电沟道456的控制栅极460,电荷被注入到电荷捕获结构454中或者从电荷捕获结构454中被吸取。在该示例中,电荷捕获结构454中的电荷的量影响在储存元件406的读取操作期间通过导电沟道456的电流的量并且指示储存在储存元件406的状态。储存元件406的状态对应于由储存元件406储存的一个或多个位值。

图4B示出了与结构402相关联的变化(或者“锥形”)。该变化对应于在离开衬底408的第一距离处的结构402的第一宽度以及在离开衬底408的第二距离处的结构402的第二宽度之间的差异,其中第二距离大于第一距离。为进一步说明,图4B示出了与结构402相关联的变化影响与控制栅极452相关联的沟道宽度462(例如,沟道的半径)。图4B还示出了由于结构402的锥形,与控制栅极460相关联的沟道宽度464(例如,沟道的半径)可能小于沟道宽度462。因为沟道宽度464大于沟道宽度462,储存元件404的操作(图4A)可能不同于储存元件406的操作(图4A)。例如,因为导电沟道456的宽度影响由结构402导电的电流的量,沟道宽度462和464之间的差异影响包括部分450的存储器装置的操作。相应地,用电压偏置控制栅极452使得导电沟道456相比将电压施加到控制栅极460导通较少的电流。

可替换地或者额外地,根据一些实施例,结构402的变化使得与储存元件404相关联的栅极到沟道距离466大于与储存元件406相关联的栅极到沟道距离468。在该情况中,电荷捕获结构454具有比导电沟道456更大的锥形效应。在编程储存元件404的状态的写入操作期间,更大的电压(相对于储存元件406)被施加到控制栅极452以在电荷捕获结构454中(例如,通过从导电沟道456吸引电子到电荷捕获结构454中)累积电荷。因此,结构402的锥形使得储存元件404的编程操作相对于储存元件406而不同,其导致“不正确的”状态被编程到储存元件404和/或从储存元件404被感测。

图4B示出了延伸通过存储器装置的多个层(例如,储存装置130,图1)的结构(例如,结构402)的变化(例如,锥形)影响与存储器装置相关联的读取和写入操作。在一些实施例中,包括部分450的存储器装置的性能通过使用用于储存元件404和406的不同的ECC优势(或技术)和/或存储器访问技术(例如,编程参数)而改善。例如,因为结构402的变化出现在位置420处,因此第一ECC技术和/或第一存储器访问技术与储存元件406相关联,并且第二ECC技术和/或第二存储器访问技术与储存元件404相关联以改善存储器装置(例如,储存装置130,图1)的操作。例如,第二ECC技术补偿由于结构402的“锥形”,相比于储存元件406在储存元件404处出现的更多数量的误差。例如,第二ECC技术比第一ECC技术具有更高的误差校正能力,其可能改善误差校正。例如,第二存储器访问技术补偿由于结构402的“锥形”,相比于储存元件406在储存元件404处可能出现的更多数量的写入误差和/或读取误差。例如,第二存储器访问技术使用不同的编程电压(如与第一存储器访问技术相比)编程储存元件404以便于将储存元件404编程到“正确的”状态。作为另一示例,第二存储器访问技术使用不同的读取电压(如与第一存储器访问技术相比)感测储存元件404以便于以“正确的”阈值电压(例如,以补偿由结构402的锥形引起的在储存元件404处的编程操作的减少的有效性)读取储存元件404。如这里进一步所述的,ECC技术和/或存储器访问技术可以基于结构402的变化的位置选择性地施加到块的物理页。

图5是根据一些实施例的块500(例如,储存元件的擦除块)的示意图。例如,块500被包含在图1中的储存装置130中。在图5中,块500至少包括物理页508和510并且还包括来自图4A的列400。

在图5中,块500除了列400以外还包括列504和506。在图5中,列400、504和506被形成在衬底408上。列400、504和506包括被形成在储存装置130的多个层中的多个物理页(例如,储存元件的字线)(图1)。例如,物理页508和510被形成在块500的层中。块500的每个物理页包括多个储存元件。作为示例,图4A的储存元件404被形成在物理页508中,并且图4A的储存元件406被形成在物理页510中。

在图5中,变化(例如,锥形)发生在列400、504和506的每一个的结构中。应理解的是,取决于特定的制造工艺,块可以包括一个或多个列,该一个或多个列具有不包括(或者不基本上包括)变化的结构。在图5中,列400、504和506的每一个中的变化发生在(或者大致在)位置420处。在一些实施例中,应理解的是,列400、504和506的每一个中的变化发生在不同的地址处(例如,在衬底408之上的不同的高度处)。

图5示出了结构的变化的位置(例如,位置420)可能发生在块(例如,块500)的物理页之间(或者大致之间)。在一些实施例中,存储器控制器120应用技术以用于基于物理页相对于位置420的位置编码、写入、读取和译码来自块500的物理页的数据。如参考图6进一步描述的,在一些实施例中,位置420定义三维(3D)存储器的多个级(或层的组)。

图6是根据一些实施例的三维(3D)存储器装置600的示意图。例如,3D存储器装置600包含在储存装置130(图1)中。在图6中,3D存储器装置600包括图5的块500并且还包括块604和606。在一些实施例中,500、604和606的每一个被形成在衬底408上。

在图6中,位置420定义了级610。根据一些实施例,级610将3D存储器装置600“分区”为多个级(例如,靠近衬底408的“底部”级以及不靠近衬底408的“顶部”级)。例如,级610定义在级k处贯穿块500、604和606的每一个的平面,其中k是指示衬底408和位置420之间的距离的正整数。在一些实施例中,级k指示指示衬底408和位置420之间的3D存储器装置600的物理页的数量或字线的数量。

在一些实施例中,级610在公共级k处贯穿块500、604和606的每一个。可替换地,在一些实施例中,取决于用于制造3D存储器装置600的特定的制造工艺,级610在不同的地址处贯穿块500、604和606的两个或多个。作为示例,级610在离开衬底408第一距离处贯穿块500,在离开衬底408第二距离处贯穿块604,并且在离开衬底408第三距离处贯穿块606。在该示例中,级610对应于“非均匀”的平面,诸如倾斜的平面。

在一些实施例中,存储器控制器120或其组件(例如,位置确定模块222,图2A)确定对于储存装置130的每一列或块的变化位置(例如,锥形形状的结束处——诸如图4A-4B和5-6中的位置420)并且在位置表226中储存结果地址。例如,参考图4A,位置确定模块222,通过在设置和测试过程期间将相同的状态编程到不同的字线中的存储器元件(或存储器单元)所需要的编程参数与相对于储存装置130(例如,存储器元件404和406)的衬底的不同的垂直位置比较,而确定用于列400的位置420。例如,包括在第一字线中的第一页,相比于用相同的各个状态编程第二字线中的第二页的存储器单元所需要的编程参数,要求更加紧密的编程参数(例如,编程电压、编程脉冲的数量和/或编程脉冲的持续期间)来用各个状态编程第一页中的存储器单元。继续该示例,位置确定模块222可以确定变化位置位于第一和第二字线之间,由于存储器装置的锥形效应导致编程相同的各个状态所要求的编程参数中的差异。对于确定变化位置的进一步讨论,见于2014年5月8日提交的、名称为“用于具有三维存储器配置的存储器的结构变化检测”的美国专利申请号14/273,031,其全部内容通过引用结合于此。

在一些实施例中,位置确定模块222在储存装置130的第一上电时确定储存装置130的每一列或块的变化位置。在一些实施例中,存储器控制器120或其组件(例如,位置更新模块224,图2A)确定用于储存装置130的每一列或块的更新的变化位置并且用产生的更新的地址覆盖位置表226之前的地址。例如,位置更新模块224根据预定的调度——诸如每个储存装置130的X功率周期确定用于储存装置130的每一列或块的更新的变化地址。

在一些实施例中,位置表226储存用于储存装置130的每个块的确定的位置420,该位置420指示用于各个块中的列的锥形形状的结束处。例如,对于各个块,确定的位置420指示页或字线,在该处锥形区域相对于衬底结束。在一些实施例中,位置表226储存用于储存装置130的每一列的确定的位置420,该位置420指示各个列的锥形形状的结束处。例如,对于各个列,确定的位置420指示在其处锥形区域相对于衬底结束的页或字线。如此,在一些实施例中,存储器控制器120能够从在各个列的确定的位置420之上和之下的页或字线选择性地编码、写入、读取和/或译码数据。例如,对于各个列,写入到确定的位置420之上的页或字线的数据用第一ECC技术编码,并且写入到确定的位置420之下的页或字线的数据用第二ECC技术编码。

图7是根据一些实施例的NAND闪速配置中的3D存储器装置700的示意图。例如,3D存储器装置700对应于储存装置130(图1)。在图7中,3D存储器装置700包括多个物理层702,每一个具有多个储存元件(例如,存储器单元)——诸如代表性的存储器单元710。在一些实施例中,储存元件以阵列布置在物理层702中。

在图7中,代表性的存储器单元710包括在字线/控制栅极(WL4)728和导电沟道712之间的电荷捕获结构714。通过相对于字线728偏置导电沟道712,电荷被注入到电荷捕获结构714或者从电荷捕获结构714吸取。例如,电荷捕获结构714包括氮化硅并且由栅极电介质(例如,氧化硅)从字线728和导电沟道712分开。在一些实施例中,电荷捕获结构714中的电荷的量影响在存储器单元710的读取操作期间通过导电沟道712的电流的量并且指示储存在存储器单元710中的一个或多个位值。

在一些实施例中,3D存储器装置700包括多个擦除块,包括第一块(块0)750、第二块(块1)752和第三块(块2)754。在图7中,块750-754的每一个包括物理层702的“垂直的片”,该物理层702包括字线的堆叠,被示出为第一字线(WL0)720、第二字线(WL1)722、第三字线(WL2)724、第四字线(WL3)726和第五字线(WL4)728。多个导电的沟道(具有关于图7基本上垂直的定向)延伸通过字线的堆叠。每个导电沟道与字线720-728的每一个中的储存元件耦接,形成储存元件的NAND串。为了说明的清楚性,图7示出了三个块750-754、每个块中五个字线720-728、以及每个块中三个导电的沟道。但是,在一些实施例中,3D存储器装置700包括多于三个块、多于每块五个字线以及多于每块三个导电的沟道。

在一些实施例中,读取/写入电路760(即,读取/写入电路135或者可替换地储存介质I/O 128中的读取/写入电路)经由多个导电的线与导电的沟道耦接,被示出为在导电的沟道(例如,相对于衬底704)的“顶部”的结束处的第一位线(BL0)730、第二位线(BL1)732和第三位线(BL2)734以及在导电的沟道(例如,相对于衬底704)的“底部”的结束处的第一源极线(SL0)740、第二源极线(SL1)742和第三源极线(SL2)744)。在图7中,读取/写入电路760经由“P”控制线与位线730-734耦接,经由“M”控制线与源极线740-744耦接,并且经由“N”控制线与字线720-728耦接。在一些实施例中,P、M和N的每一个是基于3D存储器装置700的特定配置的正整数值。在图7中,P=3、M=3并且N=5。

在一些实施例中,位线730-734的每一个和源极线740-744的每一个与不同的导电的沟道的相同的端部(例如,顶端或底端)耦接。例如,各个位线与导电沟道792的顶部耦接并且各个源极线与导电沟道712的顶端耦接。继续该示例,导电沟道792的底部耦接到(例如,电耦接)导电沟道712的底部。相应地,在该示例中,导电沟道792和导电沟道712串联耦接并且与各个位线和各个源极线耦接。

尽管图7中导电的沟道(例如,导电的沟道712、792)的每一个被示出为单个导电的沟道,在一些实施例中,导电的沟道的每一个包括在堆叠的配置中的多个导电的沟道。例如,在堆叠的配置中的多个导电的沟道可以由一个或多个连接器耦接。对于具有堆叠的配置中的多个导电的沟道的3D存储器装置的进一步讨论,见于2014年5月8日提交的、名称为“具有堆叠的导电的沟道的三维存储器装置”的美国专利申请号14/272,363,其全部内容通过引用结合于此。

在一些实施例中,读取/写入电路760从存储器控制器120接收存储器操作命令(例如,来自数据读取模块212的读取命令、来自数据写入模块214的写入命令或来自数据擦除模块216的擦除命令)。例如,数据储存在于字线728耦接的储存元件中并且读取/写入电路760从这些储存元件读取位值。作为另一示例,读取/写入电路760将选择信号施加到与字线720-728、位线730-734和源极线740-742耦接的控制线以使得编程电压(例如,与阈值电压相关联的电压脉冲或者系列电压脉冲)被施加到选择的字线(例如,第四字线728)的(一个或多个)选择的储存元件之上,以便于将数据写入/编程到(一个或多个)选择的储存元件。

例如,在读取操作期间,存储器控制器124接收来自主机(例如,计算机系统110,图1)的请求,并且作为响应,使得读取/写入电路760通过施加适当的信号到控制线以使得选择的字线的储存元件被感测,而从3D存储器装置700的特定的储存元件读取位。

图8是根据一些实施例的ReRAM配置中的3D存储器装置800的示意图。例如,3D存储器装置800对应于储存装置130(图1)。在图8中,3D存储器装置800包括具有在衬底上方(例如,大体上平行于衬底的表面)的物理层中的多个导电线、诸如代表性字线820、821、822和823(仅其一部分在图8中示出)、以及穿过物理层的多个垂直的导电线、诸如代表性位线810、811、812和813的垂直位线电阻式随机存取存储器(ReRAM)。

在图8中,位线810、811、812和813被示出为单个位线;然而,在一些实施例中,位线810、811、812和813包括堆叠配置中的多个部分。例如,堆叠配置中的多个部分可以通过一个或多个连接器耦接。对于具有堆叠配置中的多个导电沟道的3D存储器装置的进一步讨论,参见于2014年5月8日提交的名称为“具有堆叠导电沟道的三维存储器装置(Three-Dimensional Memory Device Having Stacked Conductive Channels)”的美国专利申请号14/272,363,其全部内容通过引用结合于此。

在图8中,存储器装置800包括多个基于电阻的储存元件(例如,存储器单元),例如代表性储存元件830、831、832、840、841及842,其每一个与在衬底(例如,硅衬底)之上的多个物理层中的存储器单元的阵列中的位线和字线耦接。在图8中,存储器装置800还包括与字线驱动器808和位线驱动器806耦接的读取/写入电路804(即,读取/写入电路135或者可替换地储存介质I/O 128内的读取/写入电路)。

在图8中,字线820、821、822和823的每一个包括多个指状物(例如,第一字线820包括指状物824、825、826和827)。在一些实施例中,各个指状物与多于一个位线耦接。在图8中,第一字线820的第一指状物824经由第一储存元件830在第一指状物824的第一末端处与第一位线810耦接,并且经由第二储存元件840在第一指状物824的第二末端处与第二位线811耦接。

在图8中,第一位线810经由第一储存元件830与第一字线820耦接,并且经由第三储存元件832与第三字线822耦接。

例如,在写入操作期间,存储器控制器120从主机(例如,图1的计算机系统110)接收数据,并且作为响应,将数据(或数据的表示)发送到存储器装置800。例如,存储器控制器120在将数据发送到存储器装置800之前对数据进行编码。

在一些实施例中,读取/写入电路804根据数据的目的地将从存储器控制器120接收的数据写入到存储器装置800的储存元件。例如,读取/写入电路804向与字线驱动器808和位线驱动器806耦接的选择控制线施加选择信号,以使得写入电压被施加在所选择的储存元件之上。例如,为了选择第一储存元件830,读取/写入电路804激活字线驱动器808和位线驱动器806以驱动通过第一储存元件830的编程电流(也被称为写入电流)。例如,第一写入电流用于将第一逻辑值(例如,对应于高电阻状态的值)写入到第一储存元件830,并且第二写入电流用于将第二逻辑值(例如,对应于低电阻状态)写入到第一储存元件830。在此示例中,通过将第一电压施加到第一位线810以及到除第一字线820之外的字线,并且将第二电压施加到第一字线820,而在第一储存元件830上产生编程电压来施加编程电流。在一些实施例中,将第一电压施加到其它位线(例如,位线814和815)以减少存储器装置800中的泄漏电流。

例如,在读取操作期间,存储器控制器120从主机(例如,图1的计算机系统110)接收请求,并且作为响应,使得读取/写入电路804从存储器装置800的特定的储存元件,通过将选择信号施加到与字线驱动器808和位线驱动器806耦接的选择控制线,以使读取电压施加在所选择的储存元件之上来读取位。例如,为了选择第一储存元件830,读取/写入电路804激活字线驱动器808和位线驱动器806以将第一电压(例如,0.7伏(V))施加到第一位线810和到除了第一字线820的字线。在此示例中,将较低电压(例如,0V)施加到第一字线820。因此,将读取电压施加到第一储存元件830之上,并且可以在读取/写入电路804的感测放大器处检测到对应于读取电压的读取电流。在一些实施例中,读取电流对应于(经由欧姆定律)第一储存元件830的电阻状态,其对应于存储在第一储存元件830处的逻辑值。在读取操作期间从第一储存元件830和其它储存元件读取的逻辑值被提供给存储器控制器120。因此,在一些实施例中,位线810、811、812和813中的每一个包括多个部分,并且特定位线的多个部分提供可以在堆叠配置中。

图9示出了根据一些实施例的用于3D存储器装置(例如,图1的储存装置130,分别被配置为图6-8中所示的3D存储器装置600、700或800中的一个)的第一配置900的预示图。在一些实施例中,3D存储器装置包括多个块,并且每个块与相对于3D存储器装置的衬底垂直堆叠的多个字线相关联。在一些实施例中,每个字线包括多个页。图9示出了第一配置900中的储存装置130的各个块的字线N、N-1、...、1、0的配置参数。在图9中,字线N离储存装置130的衬底最远(例如,顶部字线),并且字线0最接近储存装置130的衬底(例如,底部字线)。

在一些实施例中,特征向量表234(图2A-2C)存储用于储存装置130的各个块的字线N、N-1、...、1、0的特征向量235。例如,用于字线N的各个特征向量包括一组配置参数,包括:(i)储存密度字段252,指示字线N中的存储器单元的当前储存密度配置;(ii)指示用于存储在与字线N相关联的(一个或多个)页中的数据的当前ECC编码强度的ECC编码强度(或技术)254;和(iii)指示与存储在或将要存储在字线N中的数据相关联的一个或多个编程参数的编程参数字段256。

例如,在第一配置900中,字线N的各个特征向量包括配置参数集合的初始值。在第一配置900中,由于这里所讨论的渐缩效应,与字线相关联的配置参数的组取决于字线相对于储存装置130的衬底的垂直位置。在一些实施例中,位置确定模块222(图2A)在3D存储器装置的第一次上电时确定第一配置900。例如,在3D储存装置第一次上电时,位置确定模块222(图2A)基于字线N、N-1、...、1、0相对于储存装置130的衬底的垂直位置确定并填充用于储存装置130的各个块的字线N、N-1、...、1、0的特征向量235(图2B)。在一些实施例中,每个字线中的页由3D储存装置的制造商用指示其相对于储存装置130的衬底的垂直位置的元数据编程。在一些实施例中,位置确定模块222(图2A)基于对于各个块的确定的变化位置(例如,图4A-4B和5-6中的位置420)为各个块的每一个字线确定相对于储存装置130的衬底的垂直位置)。

在一些实施例中,在第一配置900中,与字线0(即,最靠近储存装置130的衬底的字线)相关联的配置参数的组相比于用于字线N(即,距离储存装置130的衬底最远的字线)的配置参数的组,指示字线0中的存储器单元的较低储存密度,对于存储在或将要存储在字线0的页中的数据的较强的ECC强度以及对于存储在或将要存储在字线0的页中的数据的较强(即,更加强烈、破坏性或有压力的)的编程参数。例如,在第一配置900中,与字线0相关联的配置参数的组指示字线0中的存储器单元被配置为存储1位数据(即,X1),存储在字线0的页中的数据用与P个奇偶校验位相关联的LDPC码来编码和/或C个CPU周期或译码周期的译码限度来译码用LDPC码编码的数据(例如,码字),并且该数据用编程电压X被编程到字线0的页。继续该示例,相比之下,在第一配置900中,与字线N相关联的配置参数的组指示字线N中的存储器单元被配置为存储3位数据(即,X3),存储在字线N的页中的数据用与M个奇偶校验位相关联的LDPC码编码和/或用D个CPU周期或译码周期的译码限度来译码用LDPC码编码的数据(其中M<P和/或D<C),并且该数据用编程电压Y(其中Y<X)被编程到字线N的页。

图10示出了根据一些实施例的在各个字线的寿命期间3D存储器装置的各个字线的预测状态的流程图。例如,图10中所讨论的各个字线对应于与3D存储器装置的各个块相关联的多个字线中的一个(例如,图9中所示的字线中的一个)。如参考图9所讨论的,在第一配置900中,各个组的配置参数(具有初始值)对应于与3D存储器装置的各个块相关联的多个字线中的每一个。例如,在第一配置900中,与各个字线相关联的各个组的配置参数指示(i)在各个字线中的与存储器单元相关联的初始储存密度,(ii)与存储在或将要存储在各个字线的页中的数据相关联的初始ECC编码强度(或技术),以及(iii)与存储在或将要存储在各个字线的页中的数据相关联的一个或多个初始编程参数。

在以下讨论中,对于其中对邻近字线组(这里称为字线区)维持配置、配置参数和状态参数的实现方式,用于各个字线的配置和配置参数是用于包括各个字线的字线区域的配置和配置参数,并且用于各个字线的状态度量是用于包括各个字线的字线区域的状态度量。

在一些实施例中,除了初始储存密度、初始ECC编码技术以及与各个字线相关联的一个或多个初始编程参数之外,用于各个字线(或用于包括字线的字线区域)的特征向量包括与各个字线(或包括各个字线的字线区域)的健康、耐久性和/或性能相关联的一个或多个状态度量。在一些实施例中,一个或多个状态度量包括(a)写入到各个字线(或字线区域中的字线)的字节数或写入到各个字线(或字线区)的每一页的字节的平均数,(b)在各个字线(或字线区)上进行的PE周期的计数,(c)从各个字线(或字线区)的页读取的数据的最近确定的BER或从各个字线(或字线区)的页读取的数据的平均BER,以及(d)与各个字线(或在字线区中的字线)的健康、耐久性和/或性能相关联的其它使用信息。在一些实施例中,基于预定算法从上述因素计算组合的状态度量。

例如,在第一配置900中,用于各个字线的一个或多个配置参数指示:在各个字线中的存储器单元被配置为存储3位(即,X3);使用弱ECC码对存储在或将要存储在各个字线的页中的数据编码;并且用编程电压Q对存储在或将要存储在各个字线的页中的数据编程。例如,弱ECC码将X奇偶校验位添加到包括在码字中的写入数据,和/或对码字用弱ECC码编码,其中弱ECC码具有用于译码的Y个CPU周期或Y个译码周期的译码限度。

图10中的流程图指示在各个字线的使用寿命之上(或在使用之后)对与各个字线相关联的各个组的配置参数进行的调整操作的示例序列。

在一些实施例中,存储器控制器对存储在各个字线的页中的数据增加(1002)ECC编码强度。响应于检测到第一触发条件(例如,用于从各个字线的页读取的数据的BER超过第一预定的阈值),存储器控制器120或其组件(例如,图2A的调整模块232)增加与各个字线相关联的特征向量中的ECC编码强度的值。例如,增加的值指示相比在第一配置900中的初始弱ECC码,存储在或将要存储在各个字线的页中的数据用较强的ECC码编码(例如,LDPC码而不是BCH码,或每个码字具有更多ECC位的LDPC码)。在该示例中,较强ECC码将多于X个奇偶校验位添加到码字的写入数据,和/或用译码具有多于Y的更高的译码限度(以CPU周期或译码周期的形式指定)的较强的ECC码译码的码字。

在一些实施例中,存储器控制器增加(1004)用于编程各个字线中的存储器单元的(一个或多个)编程参数的强度。响应于检测到第二触发条件(例如,从各个字线的页读取的数据的BER超过大于第一预定的阈值的第二预定的阈值),存储器控制器120或其组件(例如,图2A的调整模块232)增加与各个字线相关联的特征化向量中的一个或多个编程参数的值。例如,增加的值指示数据以具有大于Q的编程电压在各个字线的页中被存储或将被存储,其中Q是第一配置900中的初始编程电压。在该示例中,大于Q的增加的编程电压更快地损耗各个字线中的存储器单元;然而,增加的编程电压使得各个字线中的存储器单元能够更好地保留数据。

在一些实施例中,存储器控制器减小(1006)在各个字线中的存储器单元的储存密度(例如,X3到X2)。响应于检测到第三触发条件(例如,在已经进行了操作1002和/或操作1004之后,对字线进行的PE周期的计数超过第一预定计数,或者BER超过预定阈值),存储器控制器120或其组件(例如,图2A的调整模块232)减小对应于用于各个字线的特征向量中的各个字线中的存储器单元的储存密度的值。例如,各个字线中的存储器单元从X3到X 2重新特征化。在一些实施例中,在重新特征化之前,存储在各个字线的页中的数据被迁移到3D存储器装置的其它字线中的页。在一些实施例中,在包括各个字线的各个块的之后的擦除操作之后进行重新特征化。在一些实施例中,当执行重新特征化时,存储器控制器120或其组件(例如,图2A的调整模块232)减小ECC编码强度的值和/或将与各个字线相关联的特征向量中的一个或多个编程参数的值减小到第一配置900中的初始值(例如,弱ECC码和编程电压Q)。

在一些实施例中,存储器控制器增加(1008)用于存储在各个字线的页中的数据的ECC编码强度(例如,LDPC)。在操作1006中的重新特征化之后并且响应于检测到第一触发条件(例如,从各个字线的页读取的数据的BER超过第一预定的阈值),存储器控制器120或其组件(例如,图2A的调整模块232)增加与各个字线相关联的特征向量中的ECC编码强度的值。例如,增加的值指示与操作1002中的ECC编码强度相比,存储在或将要存储在各个字线的页中的数据用较强的ECC码(例如,LDPC码)编码。在另一示例,在已经进行操作1008之后,较强的ECC码将多于X个奇偶校验位添加到包括在写入到各个字线的每个码字中的写入数据,和/或具有较高的译码限度(例如,允许用于译码已用较强ECC码编码的码字的CPU周期或译码周期上的较高的限度)。

在一些实施例中,存储器控制器增加(1010)用于各个字线中的存储器单元的(一个或多个)编程参数的强度。在操作1006中的重新特征化之后并且响应于检测到第二触发条件(例如,从各个字线的页读取的数据的BER超过大于第一预定的阈值的第二预定的阈值),存储器控制器120或其组件(例如,图2A的调整模块232)增加在与各个字线相关联的特征向量中的一个或多个编程参数的值。例如,增加的值指示在进行操作1010之前,数据以比将数据写入各个字线所使用的编程电压更大的编程电压被存储或将被存储到各个字线的页中。在另一示例中,增加的值指示数据以大于Q的编程电压(例如,第一配置900中的初始编程电压)被存储或将被存储在各个字线的页中。

在一些实施例中,存储器控制器减小(1012)各个字线中的存储器单元的储存密度(例如,X2到X1)。响应于检测到第四触发条件(例如,在字线上进行的PE周期的计数超过大于第一预定计数的第二预定计数),存储器控制器120或其组件(例如,图2A的调整模块232)减小对应于用于各个字线的特性向量中的各个字线中的存储器单元的储存密度的值。例如,在各个字线中的存储器单元从X2到X1重新特征化。在一些实施例中,当进行操作1012的重新特征化时,存储器控制器120或其组件(例如,图2A的调整模块232)减小ECC编码强度的值和/或将与各个字线相关联的特征向量中的一个或多个编程参数的值减小到第一配置900中的初始值(例如,弱ECC码和编程电压Q)。

在一些实施例中,存储器控制器增加(1014)用于存储在各个字线的页中的数据的ECC编码强度(例如,LDPC的最大迭代)。在操作1012中的重新特征化之后并且响应于检测到第一触发条件(例如,从各个字线的页读取的数据的BER超过第一预定阈值),存储器控制器120或其组件(例如,图2A的调整模块232)增加与各个字线相关联的特征向量中的ECC编码强度的值。例如,增加的值指示存储在或将要存储在各个字线的页中的数据用与在进行操作1014之前向各个字线写入数据时所使用的ECC编码强度相比,较强的ECC码(例如,具有每个码字具有增加的奇偶校验位或ECC位的LDPC码)编码。在另一示例中,较强ECC代码将多于X个奇偶校验位添加到用于将被写入到各个字线的单个的各个码字的写入数据,和/或具有比当在进行操作1014之前将数据写入到各个字线时使用的ECC码更高的译码限度(例如,用于允许译码已用较强的ECC码编码的码字的CPU周期或译码周期的数量的上限)。

在一些实施例中,存储器控制器增加(1016)用于各个字线中的存储器单元的(一个或多个)编程参数的强度。在操作1012中重新特征化之后并且响应于检测到第二触发条件(例如,从各个字线的页读取的数据的BER超过大于第一预定阈值的第二预定阈值),存储器控制器120或其组件(例如,图2A的调整模块232)增加与各个字线相关联的特征向量中的一个或多个编程参数的值。例如,增加的值指示数据以大于操作1010中的编程电压的编程电压被存储或将被存储在各个字线的页中。在另一示例中,增加的值指示数据以具有大于Q的编程电压(例如,第一配置900中的初始编程电压)被存储或将被存储在各个字线的页中。

在一些实施例中,存储器控制器退役(1018)各个字线。响应于检测到第五触发条件(例如,在字线上进行的PE周期的计数超过大于第一和第二预定计数的第三预定计数),存储器控制器120或其组件(例如,图2A的调整模块232)减小对应于用于各个字线的特征向量中的各个字线中的存储器单元的储存密度的值。例如,各个字线中的存储器单元从X1到X0重新特征化。在此示例中,X0指示各个字线被退役,从而新数据不被编程到各个字线的页。在一些实施例中,存储在以X0的储存密度为特征的字线上的数据可以继续被读取,并且从而这些字线继续作为只读存储器操作。

图10中的调整操作的示例序列不意味着是限制性的。例如,调整操作可以以多种替换的次序进行。在一些实现中,进行上述的一些调整操作。在一些实现方式中,添加额外的调整操作(例如,基于与各个字线相关联的第一配置或其它因素)。为此,图10示出了调整操作的示例序列,其中配置参数被调整如下:ECC编码强度→(一个或多个)编程参数→储存密度;然而,调整参数可以以多种其它次序调整,诸如(A)ECC编码强度→ECC编码强度→(一个或多个)编程参数→储存密度,或(B)(一个或多个)编程参数→(一个或多个)编程参数→ECC编码强度→储存密度。在一些实施例中,在各个字线的储存密度之前调整各个字线的ECC编码强度和(一个或多个)编程参数。在一些实施例中,根据与用于调整各个字线的储存密度的触发(例如,在各个字线上执行的PE周期)不同的触发(例如,BER)来调整各个字线的ECC编码强度和(一个或多个)编程参数。

在一些实施例中,特征向量逐个字线区(即,块中的字线的子集)而不是逐个个别字线存储。结果,逐个字线区检测触发条件,并且作为响应,也逐个字线区调整配置参数。例如,当12个字线包括块时,12个字线被分成两个或三个字线区,其可以包括或可以不包括相等数量的字线。在另一示例中,当块被块的确定的变化位置划分时,变化位置之上的字线(即,离衬底更远)被包括在第一字线区域中,并且在变化位置之下的字线(即,更靠近衬底)被包括在第二字线区域中。

图11A-11C示出了根据一些实施例的具有存储器单元的3D阵列的储存装置中的操作的方法1100的流程图表示。至少在一些实现方式中,由存储器控制器(例如,图1的存储器控制器120)或其一个或多个组件(例如,图1和图2A的管理模块121)来进行方法1100。在一些实施例中,方法1100由不同于储存装置并且通过一个或多个连接(例如,图1的连接103)与储存装置(例如,图1的储存装置130)耦接的存储器控制器进行。在一些实施例中,方法1100由存储在非瞬时性计算机可读存储介质中的指令管理,并且指令由装置的一个或多个处理器(例如,图1和2A的管理模块121的一个或多个处理单元(CPU)122))执行。可选操作由虚线指示(例如,具有虚线边界的框)。

在一些实施例中,储存装置(例如,储存装置130,图1)包括一个或多个存储器装置。一个或多个存储器装置的各个存储器装置包括存储器单元的三维阵列和存储器单元的多个块。在一些实施例中,每个块包括布置在相对于所述储存装置的衬底的不同垂直位置中的多个字线。

在一些实施例中,多个字线包括在相对于储存装置的衬底的X个不同垂直位置的每个垂直位置处的一组字线,其中X是大于2的整数。在一些实施例中,每个字线包括一个或多个页,每个页用于存储用户数据和用于检测和校正存储在页中的用户数据中的误差的ECC值。在图9中,例如,3D存储器装置中的多个块的各个块与字线N、N-1、...、1、0相关联,其中字线N离3D存储器装置的衬底最远(例如,顶部字线),并且字线0最靠近3D存储器装置的衬底(例如,底部字线)。

存储器控制器在第一配置中配置(1102)对应于各个块的多个字线,其中第一配置包括至少部分取决于每个字线相对于储存装置的衬底的垂直位置而确定的多个字线的每个字线的各个组的配置参数。例如,图9示意性地描绘了第一配置900中的储存装置130的各个块的字线N、N-1、...、1、0的配置参数。在一些实施例中,特征向量表234(图2A-图2C)存储用于储存装置130的各个块的字线N、N-1、...、1、0的特征向量235。例如,在第一配置900中,字线N的各个特征向量包括配置参数的组的初始值。在一些实施例中,位置确定模块222(图2A)在3D存储器装置的第一次上电时确定第一配置900。例如,在3D存储器装置启动或上电时,位置确定模块222(图2A)基于字线N、N-1、...、1、0相对于储存装置130的衬底的垂直位置确定并填充储存装置130的各个块的字线N、N-1、...、1、0的特征向量235(图2B)。在一些实施例中,每个字线中的页由3D储存装置的制造商用指示其相对于储存装置130的衬底的垂直位置的元数据编程。在一些实施例中,位置确定模块222(图2A)基于对于各个块的确定的变化位置(例如,图4A-4B和5-6中的位置420)为各个块的每一个字线确定相对于储存装置130的衬底的垂直位置)。

在一些实施例中,各个组的配置参数包括(1104),储存密度、ECC编码强度和一个或多个编程参数中的至少一个。在一些实施例中,特征向量表234存储用于储存装置130的各个块的字线N、N-1、...、1、0的特征向量235。关于图9,例如,字线的各个特征向量N包括一组配置参数,包括:(i)储存密度字段252,指示字线N中的存储器单元的当前储存密度配置;(ii)ECC编码强度(或技术)254,指示存储在与字线N相关联的(一个或多个)页中的数据的当前ECC编码强度;和(iii)编程参数字段256,指示与存储在或将要存储在字线N中的数据相关联的一个或多个编程参数。

在一些实施例中,当在第一配置中(1106)时:在垂直位置的第一子集处,对应于各个块的多个字线的第一子集被配置(1128)以第一储存密度储存数据,该第一储存密度对应于每存储器单元B位的储存,其中预定数量的位B大于零;并且在垂直位置的第二子集处,对应于各个块的多个字线的第二子集被配置以第二储存密度储存数据,该第二储存密度对应于每存储器单元的M位的存储,其中M大于零且M小于B。参考图9,在第一配置900中,与字线0(即,最靠近储存装置130的衬底的字线)相关联的配置参数的组指示与用于字线N(即,距离储存装置130的衬底最远的字线)的配置参数组中的储存密度字段相比,用于字线0中的存储器单元的较低的储存密度。例如,在第一配置900中,与字线0相关联的配置参数的组指示字线0中的存储器单元被配置为X1存储器单元,被配置为每个存储器单元存储1位数据。继续该示例,相比之下,在第一配置900中,与字线N相关联的配置参数的组指示字线N中的存储器单元被配置为X3存储器单元,被配置为每个存储器单元存储3位数据。

在一些实施例中,当在第一配置(1106)中时:在垂直位置的第一子集处,对应于各个块的多个字线的第一子集被配置(1130)为存储用第一ECC编码强度编码的数据;并且在垂直位置的第二子集处,对应于各个块的多个字线的第二子集被配置为存储以大于所述第一ECC编码强度的第二ECC编码强度编码的数据。例如,第二ECC编码强度要求每个码字具有更多的ECC或奇偶校验位,和/或具有比第一ECC编码强度更高的译码限度。参考图9,在第一配置900中,与字线0(即,最靠近储存装置130的衬底的字线)相关联的配置参数的组指示与用于字线N(即,距离储存装置130的衬底最远的字线)的配置参数集合中的ECC编码强度相比,用于存储在或将要存储在字线0的页中的数据的更强的ECC强度。例如,在第一配置900中,与字线0相关联的配置参数的组指示存储在字线0的页中的数据用与P个奇偶校验位相关联的LDPC码和/或C个CPU周期或C个译码周期的译码限制。继续该示例,相比之下,在第一配置900中,与字线N相关联的配置参数的组指示存储在字线N的页中的数据用与K个奇偶校验位相关联的LDPC码编码和/或D个CPU周期或D个译码周期的译码限度(其中K<P和/或D<C)。

在一些实施例中,当在第一配置(1106)中时:在垂直位置的第一子集处,对应于各个块的多个字线的第一子集被配置(1132)以根据一个或多个编程参数的第一组储存数据;并且在垂直位置的第二子集处,对应于各个块的多个字线的第二子集被配置为根据一个或多个编程参数的第二组存储数据。参考图9,在第一配置900中,与字线0(即,最接近储存装置130的衬底的字线)相关联的配置参数的组指示,与用于字线N的配置参数的组中的(一个或多个)编程参数相比的用于存储在或将要存储在字线0的页中的数据的更强的(即,更强烈、破坏性或有压力的)(一个或多个)编程参数(即,离存储器基板最远的字线装置130)。例如,在第一配置900中,与字线0相关联的配置参数的组指示使用编程电压X将数据编程到字线0的页。继续该示例,相比之下,在第一配置900中,与字线N相关联的配置参数的组指示使用编程电压Y(其中Y<X)将数据编程到字线N的页。

在一些实施例中,一个或多个编程参数的第二组比一个或多个编程参数的第一组将在对应于各个块的多个字线的第二子集中的存储器单元暴露(1134)于更大量的压力。在一些实施例中,一个或多个编程参数对应于编程电压、编程脉冲的数量、每个编程脉冲的步长、宽度或持续时间和/或用于各个字线中的存储器单元的每个状态的一个或多个读取阈值电压。例如,与一个或多个编程参数的第一组中的编程电压相比,一个或多个编程参数的第二组包括用于编程各个字线中的存储器单元的较高的编程电压。继续该示例,较高编程电压在各个字线中的存储器单元上更有压力或破坏性;换句话说,较高的编程电压使得使用较高编程电压编程的存储器单元比使用较低编程电压编程的存储器单元损耗得更快。

在一些实施例中,对应于与各个块对应的多个字线的第二子集的垂直位置的第二子集比对应于与各个块对应的多个字线的第一子集的垂直位置的第一子集更加靠近储存装置的衬底(1136)。例如,参考图9中的字线,对应于多个字线的第二子集的垂直位置的第二子集对应于字线1和0,并且垂直位置的第一子集对应于多个字线的第一子集对应于字线N-1和N。

当根据第一配置来配置多个字线时,存储器控制器将数据写入(1108)到各个块并从各个块读取数据。在一些实施例中,存储器控制器120根据在用于各个字线的特征向量中指示的一个或多个配置参数(例如,储存密度、ECC编码强度和(一个或多个)编程参数),使数据被写入到各个块的各个字线中的页并从各个块的各个字线中的页读取数据。例如,存储器控制器120从主机(例如,图1的计算机系统110)接收命令以将用户数据(有时也称为写入数据)写入到逻辑地址或逻辑地址的组。继续此示例,存储器控制器120使用逻辑到物理映射236(图2A)以将由写入命令识别的逻辑地址或逻辑地址的组映射到储存装置130的各个块的各个字线中的一个或多个页的物理地址。继续该示例,存储器控制器120基于物理地址从特征向量表234(图2A-2B)中选择与各个字线相关联的特征向量,以便确定使用其编码用户数据的ECC编码强度、用于将用户数据写入一个或多个页的(一个或多个)编程参数以及与各个字线中的存储器单元相关联的当前储存密度。继续该示例,编码器126(图1)根据所确定的ECC编码强度来编码用户数据,并且存储器控制器120或其组件(例如,图2A的数据读取模块212或图2A的数据写入模块214)根据所确定的(一个或多个)编程参数使得存储介质I/O128(图1)中的读取/写入电路或读取/写入电路135(图1)将编码的用户数据(即,码字)写入到各个字线中的一个或多个页。

在一些实施例中,存储器控制器维持(1110)对应于各个块的多个字线中的每一个的一个或多个状态度量。在一些实施例中,存储器控制器120或其组件(例如,图2A的度量维持模块228)维持对应于各个块的多个字线中的每一个的一个或多个状态度量。在一些实施例中,与各个字线相关联的一个或多个状态度量被存储在对应于各个字线的特性向量中(或在对应于包括各个字线的字线区域的特性向量中)。在一些实施例中,存储在用于各个字线(或字线区)的特征向量中的一个或多个状态度量包括:(a)字节写入字段260,指示写入到个字线(或字线区)中的页的数据的字节数;(b)PE周期字段262,指示在各个字线上进行的PE周期的数目的当前计数;(c)BER字段264,指示从各个字线的页读取的码字中包括的误差的数量;和(d)指示各个字线的健康、性能和/或耐久性的其它使用信息266。

在一些实施例中,存储器控制器120或其组件(例如,图2A的度量维持模块228)维持各个块中的多个字线(或多个字线区域中的每一个)中的每一个的组合的状态度量。在一些实施例中,与各个字线(或字线区)相关联的组合的状态度量被存储在对应于各个字线(或字线区)的特征向量中。在一些实施例中,组合的状态度量258与考虑到与各个字线(或字线区域)相关联的一个或多个使用参数的预定算法(例如,由度量维持模块228计算,图2A)的输出相关联。例如,预定算法结合以下的一个或多个:(a)写入各个字线(或字线区)的字节数;(b)在各个字线上进行的PE周期的数量;(c)从各个字线(或字线区)的(一个或多个)页读取的码字的BER;和(d)与各个字线(或字线区)相关联的其它使用信息。

在一些实施例中,根据确定多个字线中的各个字线的一个或多个状态度量中的一个满足一个或多个预定基准,存储器控制器检测(1112)关于各个字线的第一触发条件。在一些实施例中,根据对应于各个字线的一个或多个状态度量中的一个满足一个或多个预定基准的确定,存储器控制器120或其组件(例如,图2A的触发检测模块230)检测关于各个字线的第一触发条件。例如,当对应于各个字线的一个或多个状态度量指示写入各个字线中的页的字节的平均数超过预定字节数或者从字线的页读取的数据的平均BER超过预定值时,存储器控制器120检测各个字线的第一触发条件。因此,存储器控制器120触发对如下所述的对应于各个字线的(一个或多个)配置参数中的至少一个的调整,诸如增加写入各个字线的页的后续数据的ECC编码强度、改变用于各个字线的(一个或多个)编程参数或降低各个字线中的存储器单元的储存密度。

在一些实施例中,存储器控制器接收(1114)关于各个块的各个字线的命令,并且响应于接收命令,检测关于各个字线的第一触发条件。在一些实施例中,存储器控制器120或其组件(例如,图2A的触发检测模块230)响应于从计算机系统100、数据存储系统100或与储存装置130相关联的加速器模块接收命令而检测关于各个字线的触发条件,以调整各个字线的(一个或多个)配置参数。

响应于检测到关于多个字线中的各个字线的第一触发条件(例如,基于BER或命令),存储器控制器调整(1116)对应于各个字线的配置参数的各个组中的第一参数。在该上下文中,“调整”意味着“改变…的值”。在一些实施例中,响应于检测到关于各个字线的第一触发条件,存储器控制器120或其组件(例如,图2A的调整模块232)调整与各个字线相关联的配置参数中的至少一个,诸如储存密度、ECC编码强度和/或一个或多个编程参数。在一些实施例中,根据优先级调度(例如,如图10中的调整操作的示例序列所示,ECC编码强度→编程参数→储存密度)来调整各个字线的配置参数。在一些实施例中,通过将具有已经调整的配置参数的预定的特征向量与各个字线相关联来调整用于各个字线的配置参数。

例如,响应于检测到关于各个字线的第一触发条件,调整模块232通过改变对应于各个字线的特征向量的ECC编码强度字段254中的值而对存储在或将要存储在各个字线的页中的数据增加ECC编码强度。或者,通过将指定增加的ECC编码强度的预定的特征向量与各个字线相关联来增加各个字线的ECC编码强度。继续该示例,对应于各个字线的特征向量的ECC编码强度字段254中的先前值指示,数据以第一代码(例如BCH码)被存储或将被存储在各个字线的(一个或多个)页中,而对应于各个字线的特征向量的ECC编码强度字段254中的调整的值指示,数据以第二代码(例如,LDPC码)被存储或将被存储在各个字线的页中,其中第二代码(例如,LDPC码)具有比第一代码更多的奇偶校验位和/或更高的译码限度。

在调整对应于各个字线的配置参数的各个组中的第一参数之后,存储器控制器将数据写入(1118)到各个字线且从各个字线读取数据。例如,在通过调整ECC编码强度字段的值来更新用于各个字线的特性向量之后,存储器控制器120根据在用于各个字线的更新的特征向量中指示的配置参数(例如,储存密度、调整的ECC编码强度和(一个或多个)编程参数)使数据写入到各个块的各个字线中的页和从各个块的各个字线中的页读取数据。

在一些实施例中,在调整对应于各个字线的配置参数的各个组中的第一参数之后,存储器控制器检测(1120)关于多个字线中的各个字线的第二触发条件,其中第二触发条件不同于第一触发条件。在一些实施例中,根据对应于各个字线的一个或多个状态度量中的至少一个满足一个或多个预定基准的确定,存储器控制器120或其组件(例如,图2A的触发检测模块230)检测关于各个字线的第二触发条件(例如,与操作1112中的第一触发条件不同)。例如,当对应于各个字线的一个或多个状态度量指示在各个字线上进行的PE周期的计数超过预定计数时,存储器控制器120检测用于各个字线的第二触发条件。例如,根据与从各个字线的页读取的数据相关联的BER超过预定阈值的确定来检测第一触发条件,并且根据在各个字线上进行的PE周期的计数超过预定的计数的确定来检测第二触发。例如,PE周期的预定计数指示各个字线在当前储存密度配置中接近寿命终止条件。

在一些实施例中,响应于检测到关于多个字线中的各个字线的第二触发条件,存储器控制器调整(1122)与各个字线对应的配置参数的各个组中的第二参数,其中第二参数不同于第一参数。例如,在通过操作1116中调整ECC编码字段的值(或者,通过调整(一个或多个)编程参数字段的值)来更新对应于各个字线的特性向量之后,响应于检测到第一触发条件,存储器控制器120或其组件(例如,图2A的调整模块232)通过响应于检测到第二触发条件而调整储存密度字段252的值来更新对应于各个字线的特征向量。或者,通过将指定降低的储存密度的预定的特征向量与各个字线相关联,来减小各个字线的储存密度。继续该示例,对应于各个字线的特征化向量的储存密度字段252中的先前值指示各个字线中的存储器单元被配置为X2存储器单元,而对应于各个字线的特征向量的储存密度字段252中的已调整的值指示各个字线中的存储器单元被配置为X1存储器单元。

在一些实施例中,在调整对应于各个字线的配置参数的各个组中的第二参数之后,存储器控制器检测(1124)关于多个字线的各个字线的预定退役条件。在一些实施例中,控制器120或其组件(例如,图2A的触发检测模块230)根据各个字线被配置为预定的储存密度的确定以及与各个字线相关联的一个或多个状态度量满足一个或多个预定基准,检测关于各个字线的预定退役条件。例如,当字线中的存储器单元被配置为X1存储器单元(例如,SLC)、并且用于各个字线的PE计数超过预定计数或者从各个字线的页读取的数据的BER超过预定的阈值时,触发检测模块230检测关于各个字线的退役条件。

在一些实施例中,响应于针对多个字线中的各个字线检测到预定退役条件,存储器控制器退役(1126)各个字线,其中后续数据不被写入到各个字线。在一些实施例中,存储器控制器120或其组件(例如,图2A的调整模块232)通过响应于检测到退役条件而调整储存密度字段252的值来更新对应于各个字线的特征向量。继续该示例,对应于各个字线的特征向量的储存密度字段252中的先前值指示各个字线中的存储器单元被配置为X1(例如,SLC),而对应于各个字线的特征向量的储存密度字段252中的调整的值指示各个字线中的存储器单元被配置为X0。或者,通过将指定X0储存密度的预定特征向量与各个字线相关联,将各个字线的储存密度改变为X0。在一些实施例中,配置为X0的存储器单元被退役,或用作只读存储器,并且存储器单元不可用于进一步编程。

半导体存储器装置包括易失性存储器装置,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)装置,非易失性存储器装置,诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器(也可以被认为是EEPROM的子集)、铁电的随机存取存储器(“FRAM”)以及磁阻的随机存取存储器(“MRAM”),以及其它能够贮存信息的半导体元件。每种类型的存储器装置可以具有不同的配置。例如,闪速存储器装置可以配置在NAND或NOR配置中。

存储器装置可以由无源和/或有源元件、任意组合构成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率切换贮存元件——诸如反熔丝、变相材料等,以及可选地控制元件——诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪速存储器装置元件,其在一些实施例中包括包含电荷贮存区域的元件——诸如浮置栅极、传导的纳米粒子或电荷贮存电介质材料。

多个存储器元件可以被配置为使得它们串联连接或者使得每个元件可被独立地访问。以非限制性示例的方式,在NAND配置(NAND存储器)中的闪速存储器装置通常包含串联连接的存储器元件。NAND存储器阵列可以被配置为使得阵列由多个存储器串构成,其中串由共享单个位线并作为一组存取的多个存储器元件构成。可替换地,存储器元件可以被配置为使得每个元件可被独立地访问,(例如NOR存储器阵列)。NAND和NOR存储器配置是示例性的,并且可以以其它方式配置存储器元件。

位于衬底中和/或在衬底之上的半导体存储器元件可以以二维或三维布置——诸如二维存储器结构或三维存储器结构。

在二维存储器结构中,半导体存储器元件被布置在单个平面或者单个存储器装置级中。典型地,在二维存储器结构中,存储器元件布置在基本上平行于支撑存储器元件的衬底的主表面地延伸的平面中(例如,在x-z方向平面中)。衬底可以是在其上或其中形成存储器元件的层的晶片,或者它可以是在存储器元件形成之后附接到存储器元件的载体衬底。作为非限制性示例,衬底可以包括诸如硅的半导体。

存储器元件可以布置在有序的阵列中的单个存储器装置级中——诸如在多个行和/或列中。但是,存储器元件以不规则或者非正交的配置排列。存储器元件的每一个具有两个或多个电极或接触线,诸如位线和字线。

三维存储器阵列被布置为使得存储器元件占据多个平面或多个存储器装置级,从而在三维中形成结构(即,在x、y和z方向中,其中y方向基本上垂直于衬底的主表面,并且x和z方向基本上平行于衬底的主表面)。

作为非限制性示例,三维存储器结构可以垂直地布置为多个二维存储器装置级的堆叠。作为另一非限制性示例,三维存储器阵列可以布置为多个垂直的列(例如,基本上垂直地延伸到衬底的主表面的列,即,在y方向中),其中每个列在每个列中具有多个存储器元件。列可以布置在二维配置中(例如,在x-z平面中),产生具有在多个垂直地堆叠的存储器平面上的元件的存储器元件的三维布置。存储器元件在三维中的其它配置也可以组成三维存储器阵列。

以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以耦接在一起以在单个水平(例如,x-z)存储器装置级中形成NAND串。可替换地,存储器元件可以耦接在一起以形成穿过多个水平存储器装置级的垂直的NAND串。可以设想其它三维配置,其中一些NAND串在单个存储器级中包含存储器元件,而其它串包含跨过多个存储器级的存储器元件。三维存储器阵列也可以设计在NOR配置中和在ReRAM配置中。

通常,在单片三维存储器阵列中,一个或多个存储器装置级被形成在单个衬底之上。可选地,单片三维存储器阵列还可以具有至少部分在单个衬底中的一个或多个存储器层。作为非限制性示例,衬底可以包括半导体——诸如硅。在单片三维阵列中,构成阵列的每个存储器装置级的层通常被形成在阵列的下面的存储器装置级的层上。但是,单片三维存储器阵列的邻近的存储器装置级的层可能被共享或者具有在存储器装置级之间的中间的层。

再次,二维阵列可以单独地形成并且然后封装在一起以形成具有存储器的多个层的非单片存储器装置。例如,非单片堆叠的存储器可以通过在单独的衬底上形成存储器级并且然后在彼此之上堆叠存储器级而被构造。衬底可以在堆叠之前被减薄或者从存储器装置级移除,但是由于存储器装置级初始地被形成在单独的衬底之上,所产生的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以被形成在单独的芯片上并且然后被封装在一起以形成堆叠的芯片存储器装置。

通常需要相关联的电路以用于存储器元件的操作以及用于与存储器元件的通信。作为非限制性示例,存储器装置可以具有用于控制并且驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可以与存储器元件在相同的衬底上和/或在单独的衬底上。例如,用于存储器读取-写入操作的控制器可以位于单独的控制器芯片上和/或位于与存储器元件相同的衬底上。

术语“三维存储器装置”(或3D存储器装置)在这里被定义为意味着具有存储器元件的多个层或多个级(例如,有时被称为多个存储器级)的存储器装置,包括以下的任一个:具有单片或非单片3D存储器阵列的存储器装置,其一些非限制性示例如上所述;或两个或多个2D和/或3D存储器装置,被封装在一起以形成堆叠的芯片存储器装置,其一些非限制性示例如上所述。

本领域技术人员应认识到本发明或者这里所描述以及要求的发明不限于这里所述的二维和三维示例性结构,而是覆盖适用于如这里所述的或者由本领域技术人员理解的一个或多个发明所有相关的存储器结构。

应理解的是,尽管可能在这里使用术语“第一”、“第二”等描述各种元件,这些元件不应被这些术语限度。这些术语仅被用于将一个元件与另一区分。例如,第一触发条件可以被叫做第二触发条件,并且类似地,第二触发条件可以被叫做第一触发条件,而只要“第一触发条件”的所有出现被一致地重新命名并且“第二触发条件”所有出现被一致地重新命名,其改变说明的含义。第一触发条件和第二触发条件都是触发条件,但是它们不是相同的触发条件。

这里所使用的术语仅是为了描述特定实施例的目的并且不意欲限度权利要求。如在实施例的描述以及所附权利要求中所使用的,单数形式的“一”、“一个”和“所述”也意欲包括复数形式,除非上下文明确地另有说明。还应理解的是,如这里所使用的术语“和/或”指代并且包含相关联的列出的项目的一个或多个的任何以及所有可能的组合。将进一步理解的是,术语“包含”和/或“包括”——当用在本说明书中时——指明出现所述的特征、整数、步骤、操作、元件和/或组件,但是不排除其它特征、整数、步骤、操作、元件、组件和/或其组合的一个或多个的出现或增加。

如这里所使用的,取决于上下文,术语“如果”可以解释为意思是“当所述的先决条件为真时”或“在所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“响应于检测到所述的先决条件为真”。类似地,取决于上下文,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]时”可以解释为意思是“当确定所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“在检测到所述的先决条件为真时”或“响应于检测到所述的先决条件为真”。

为了解释的目的,已经参考特定实现方式描述了前述说明。但是,上述说明性讨论不意欲是穷举性的或者将权利要求限度到所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。实现方式被选中并且描述以便于最好地解释操作的原理和实际应用,以从而使本领域技术人员能够实施。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1