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

解决非易失性存储器结构中相邻平面干扰条件的对策模式的制作方法

2022-12-09 22:35:38 来源:中国专利 TAG:


1.本公开涉及固态驱动器或其他装置中的非易失性存储器储存系统,包括 但不限于闪速驱动器或嵌入式/可移动闪速封装体。更具体地,本公开涉及用 于编程非易失性存储器结构的系统和方法。


背景技术:

2.由于新兴技术和市场力量,固态驱动器(ssd)正在稳步取代以前依赖 磁介质旋转来读取和写入数据的传统数据储存系统(例如,硬盘驱动器)。 固态存储器不包括任何机械或移动部件,而是包括集成电路组件或互连的闪 速部件,以提供非易失性储存,即使在计划或计划外的电源中断期间,储存 的数据也可以持久地保留在非易失性储存中。因此,与基于磁盘的储存相比, 固态驱动器本质上更快、更鲁棒(即,更不容易受到数据丢失和损坏的影响), 并且消耗更少的电力并且更紧凑。因此,非易失性存储器对于许多类型的计 算、消费电子和独立的外部储存(例如,usb驱动器)装置来说是一种鲁棒 的储存解决方案。
3.对于一些闪速存储器类型,每个单独的存储器单元包括位于半导体衬底 的沟道区上方并与其隔离的浮置栅极,其中浮置栅极位于源极区和漏极区之 间。此外,在浮置栅极上方提供控制栅极并与浮置栅极隔离。因此,所得晶 体管的阈值电压(v
th
)由保留在浮置栅极上的电荷量控制并取决于该电荷量。 具体而言,以类似开关的方式,在晶体管被激活以允许其源极和漏极之间导 通之前必须施加到控制栅极的最小电压量由保留在浮置栅极上的电荷电平 确定。因此,通过改变浮置栅极上的电荷电平以改变晶体管的阈值电压特性, 比特值数据可以被编程到存储器单元上和从存储器单元擦除。
4.如下文详细解释的,可以在单个存储器单元中储存的比特数量取决于可 以在该存储器单元的阈值电压窗口内划分的不同电压范围的数量。例如,为 了储存一数据比特(称为二进制数据),存储器单元的可能阈值电压(vth) 被分为两个范围,其中范围分别分配为逻辑数据“1”和“0”。以这种类型 的储存密度为特征的存储器单元可以被称为“单级单元”或slc。
5.通过进一步将存储器单元的阈值电压窗口划分为附加的不同电压范围, 可以储存多级信息。这种存储器单元可以称为“多状态单元”。例如,为了 储存两位数据,可以将单元的阈值电压窗口划分为四个不同电压范围(或状 态),其中每个范围被分配一个特定比特值,该值等于例如“11”、“10”、
ꢀ“
01”和“00”。因此,在擦除操作之后,阈值电压为负,因此可以定义为 逻辑“11”。因此,正阈值电压可用于状态“10”、“01”、“00”。这种 储存密度的存储器单元可以被称为例如“多级单元”或mlc。在另一个示例 中,为了存储三位数据,单元的电压阈值窗口可以被划分为八个不同电压范 围(或状态),其中每个范围被分配一个特定比特值,该值等于例如“111”、
ꢀ“
110”、“100”、“010”、“011”、“000”、“001”和“101”。这种 储存密度的存储器单元可以被称为例如“三级”或“三级单元”(tlc)。 在另一个示例中,为了存储四位数据,可以将存储器单元的电压阈值窗口划 分为16个不同电压范围(或状态),其中每个电压范围被分配一个特定比 特值,该值等于例如、“1111”、“1110”、“1100”、“1000”、“0111”、
ꢀ“
0011”、“0001”、“0000”、“0001”、“1001”、“1101”、“1011”、
ꢀ“
0110”、“0100”、“0101”和“1010”。这种类型的储存密度的存储器 单元可以被称为例如“四级单元”(qlc)。
6.被编程到存储器单元中的数据与存储器单元的阈值电压电平之间的具 体关系取决于存储器单元所采用的数据编码方案。
7.除了相对于单个存储器单元增加储存密度之外,非易失性存储器阵列结 构中的进步已经导致存储器单元相对于半导体衬底在垂直方向上堆叠,从而 创建了与平面二维阵列结构相反的三维阵列结构。然而,三维阵列结构中存 储器单元的电荷捕获区之间缺乏分隔对于编程的数据的可靠性和保留提供 了进一步的挑战。
8.因此,随着行业继续实现具有增加的储存密度的更小尺寸的存储器单元 以便储存更多数据,这种尺寸缩放带来一定的性能和耐久性风险。为了在固 定裸芯尺寸下实现更高存储器容量的优势,必须将更小的存储器单元更紧密 地封装在一起。但是,这样做可能会导致制造、存储器操作和性能错误的数 量增加。例如,在相邻部件之间发生的潜在灾难性结构缺陷,诸如相邻字线 之间的电气短路,在紧凑的空间中更容易发生。下面的描述主要解决在多平 面存储器结构中具有一个或多个有缺陷存储器平面的有害影响。更具体地, 根据各种观察,在可规模化存储器结构中存在有缺陷存储器平面,可能破坏 (例如,下拉)在编程操作期间施加的编程电压(vpgm),从而阻止继续 编程和完成编程存在缺陷平面下游的(多个)无缺陷平面。因此,编程操作 失败或者未完成,并且尽管存储器的部分扇区包含(多个)无缺陷平面,但 它仍然未被使用。这种情况可以称为相邻平面干扰(npd)。作为响应,可 采用各种对策来检测一个或多个有缺陷存储器平面并将其与周围的存储器 结构隔离,从而恢复或允许(多个)无缺陷平面的编程操作。例如,在适用 的情况下,这样的对策可以利用在多个平面之间发生的连续编程循环的某些 参数之间的比较并且施加作为做出的确定的结果的失败标准。特别是,导出 一种片上装置模式将是有益的,该模式可以检测和隔离存储器结构内的(多 个)有缺陷平面,并允许继续成功地对存储器结构中的(多个)无缺陷平面 进行编程操作。此外,可以进一步优化这样的对策装置模式以考虑或抵消可 能呈现编程性能问题的装置模式的任何残留的伪像(例如,数据可靠性和准 确性)。


技术实现要素:

9.各种实施例包括一种用于对经历相邻平面干扰(npd)条件的非易失性 存储器结构的无缺陷存储器平面进行编程的对策方法,其中方法包括:根据 初始编程序列,发起当前编程状态的编程脉冲并且随后发起编程验证操作, 在编程验证操作中根据一个或多个比特扫描通过失败标准,施加比特扫描模 式。进一步地,根据一个或多个比特扫描通过失败标准,一经确定存储器结 构的第一存储器平面已完成当前编程状态的编程,则对存储器结构的全部存 储器平面是否已完成当前编程状态的编程做出确定。如果不是全部存储器平 面都已完成当前编程状态的编程,则增加循环计数并对所得循环计数是否超 过预定阈值做出确定。如果循环计数超过预定阈值,则停止编程具有当前编 程状态的未完成编程的一个或多个存储器平面,并通过以下方式来恢复编程 已完成当前编程状态的编程的一个或多个存储器平面:暂时暂停循环计数和 比特扫描模式,并根据初始编程序列,在下一个编程脉冲上施加预定回滚电 压值以减小编程脉冲期间原本预期的编程电压偏置电平,一旦编程的阈值电 压电平等于当循环计数最后增加时达到的编程电压偏置电平,就恢复循
环计 数和比特扫描模式,对每个编程的状态施加一个或多个比特扫描通过失败标 准,以及根据一个或多个比特扫描通过失败标准,仅在确定编程的状态未完 成时才前进到下一个编程循环。
10.其他实施例包括一种非易失性存储器系统的存储器控制器,其中存储器 控制器包括第一端口,该第一端口配置为耦接到非易失性存储器,其中存储 器包括存储器结构。进一步地,存储器控制器配置为在编程存储器结构期间 进行对策,其中存储器结构经历相邻平面干扰(npd)情况。具体来说,存 储器结构配置为根据初始编程序列,发起当前编程状态的编程脉冲并且随后 发起编程验证操作,在编程验证操作中根据一个或多个比特扫描通过失败标 准,施加比特扫描模式。进一步地,根据一个或多个比特扫描通过失败标准, 一经确定存储器结构的第一存储器平面已完成当前编程状态的编程,存储器 控制器配置为确定存储器结构的全部存储器平面是否已完成当前编程状态 的编程。如果不是全部存储器平面都已完成当前编程状态的编程,则存储器 控制器配置为增加循环计数并确定所得循环计数是否超过预定阈值。如果循 环计数超过预定阈值,则存储器控制器配置为停止具有当前编程状态的未完 成编程的一个或多个存储器平面,以及通过以下方式来恢复编程已完成当前 编程状态的编程的一个或多个存储器平面:暂时暂停循环计数和比特扫描模 式,并根据初始编程序列,在下一个编程脉冲上施加预定回滚电压值以递减 编程脉冲期间原本预期的编程电压偏置电平,一旦编程的阈值电压电平等于 当循环计数最后增加时达到的编程电压偏置电平,就恢复循环计数和比特扫 描模式,对每个编程的状态施加一个或多个比特扫描通过失败标准;以及根 据一个或多个比特扫描通过失败标准,仅在确定编程的状态未完成时才前进 到下一个编程循环。
11.附加实施例包括一种非易失性存储器储存系统,包括存储器结构和耦接 到存储器结构的存储器控制器,根据初始编程序列,存储器控制器发起当前 编程状态的编程脉冲并且随后发起编程验证操作,在编程验证操作中根据一 个或多个比特扫描通过失败标准,施加比特扫描模式。进一步地,根据一个 或多个比特扫描通过失败标准,一经确定存储器结构的第一存储器平面已完 成当前编程状态的编程,则存储器控制器确定结构的全部存储器平面是否已 完成当前编程状态的编程。如果不是全部存储器平面都已完成当前编程状态 的编程,则存储器控制器增加循环计数并确定所得循环计数是否超过预定阈 值。如果循环计数超过预定阈值,则存储器控制器停止编程未完成编程当前 编程状态的一个或多个存储器平面,并通过以下方式来恢复编程已完成当前 编程状态的编程的一个或多个存储器平面:暂时暂停循环计数和比特扫描模 式,并根据初始编程序列,在下一个编程脉冲上施加预定回滚电压值以递减 编程脉冲期间原本预期的编程电压偏置电平,一旦编程的阈值电压电平等于 当循环计数最后增加时达到的编程电压偏置电平,就恢复循环计数和比特扫 描模式,对每个编程的状态施加一个或多个比特扫描通过失败标准,以及根 据一个或多个比特扫描通过失败标准,仅在确定编程的状态未完成时才前进 到下一个编程循环。
附图说明
12.下面参考附图中描绘的示例实施例进行更详细的阐述。应当理解,这些 附图仅描绘了本公开的示例实施例,并因此不应认为是对其范围的限制。通 过使用附图,以附加的
特征和细节来描述和解释本公开,其中:
13.图1是根据示例实施例的存储器系统的框图;
14.图2是根据示例实施例的非易失性存储器单元的示意图;
15.图3描绘了根据示例性实施例的四个不同电荷q1-q4的源极-漏极电流 id和控制栅极电压v
cg
之间的关系,非易失性存储器单元的浮置栅极可在任 一时间并以固定的漏极电压选择性储存该四个不同电荷。
16.图4a示意性地描绘了根据示例实施例的被组织成串的一系列nand型 存储器单元;
17.图4b示意性地描绘了根据示例实施例的存储器单元的阵列,其包括多 个nand型串,诸如图4a中描绘的类型;
18.图5描绘了根据示例实施例的被并行感测或编程的存储器单元的页,并 且该存储器单元的页与以nand型配置组织的存储器阵列相关;
19.图6a-6c描绘了根据示例实施例编程多个mlc nand型存储器单元的 四个状态的阶段;
20.图7a-7c描绘了根据示例实施例编程多个mlc nand型存储器单元的 八个状态的阶段;
21.图8描绘了根据示例实施例的垂直nand型串;
22.图9是根据示例实施例的单片三维nand型存储器阵列的代表性子部 分的立体图;
23.图10示意性地描绘了根据示例实施例的可由读/写电路经由行和列解码 器访问的非易失性存储器阵列的配置;
24.图11是根据示例实施例的单独读/写模块的框图;
25.图12a示意性地描绘了根据示例实施例的具有一组划分的读/写堆栈的 库的存储器装置;
26.图12b示意性地描绘了根据示例实施例的稍微不同的配置的图12a的 存储器装置;
27.图13示意性地描绘了根据示例实施例的读/写堆栈(诸如图12a中描绘 的读/写堆栈)的各种部件;
28.图14a示意性地描绘了根据示例实施例的布置在存储器装置(诸如图 12a中描绘的存储器装置)的读/写电路之间的多个读/写堆栈;
29.图14b是描绘根据示例实施例的读/写堆栈(诸如图12a中描绘的读/写 堆栈)的感测块的框图;
30.图15a总体上描绘了根据示例实施例的在三维nand型存储器结构的 代表性部分的编程操作期间相邻平面干扰条件的影响;
31.图15b总体上描绘了根据示例实施例的在图15a中描绘的代表性存储 器部分的编程验证操作期间相邻平面干扰条件的影响;
32.图16a是根据示例实施例的流程图,其总体上示出了用于在编程和编程 验证操作期间标识存储器结构内的一个或多个有缺陷平面的过程的步骤;
33.图16b是根据示例实施例的流程图,其总体上示出了用于隔离存储器结 构的(多个)所标识的有缺陷平面并重新建立存储器结构内的(多个)无缺 陷平面的编程和编程验
证操作的对策模式的步骤;
34.图17a是描绘根据示例实施例的无缺陷平面的可编程状态的编程操作 的示例的图,在无缺陷平面中相邻平面干扰条件在存储器结构中不存在;
35.图17b是描绘根据示例实施例的图17a中关注的示例平面的可编程状 态的编程操作的示例的图,其中编程操作受到存储器结构中存在的相邻平面 干扰条件的影响;
36.图18a是描绘根据示例实施例的图17b中关注的示例平面的可编程状 态的编程操作的示例的图,其中发起对策模式;
37.图18b是描绘根据示例实施例的图18a中关注的示例平面的可编程状 态的编程操作的示例的图,其中故障恢复模式并入对策模式中;
38.图19是根据示例实施例的流程图,其总体上示出了在图18b中所示的 故障恢复模式完成之后用于完成存储器结构的无缺陷平面的编程操作的步 骤;
39.图20是描绘根据示例实施例的在图18b中描绘的故障恢复模式完成之 后和在进行图19中描绘的编程操作时的多个存储器单元的比较编程阈值电 压(v
th
)分布的曲线图;
40.图21a是根据示例实施例的流程图,其总体上示出了在完成图18b中 所示的故障恢复模式之后完成存储器结构的无缺陷平面的编程操作中的比 特扫描模式的步骤;以及
41.图21b是根据另一示例实施例的流程图,其总体上示出了在完成图18b 中描绘的故障恢复模式之后完成存储器结构的无缺陷平面的编程操作中的 比特扫描模式的步骤。
具体实施方式
42.以下描述针对本公开的各种示例实施例。尽管这些实施例中的一个或多 个可以是优选的,但是不应将所公开的实施例解释为或以其他方式使用为限 制包括权利要求书在内的本公开的范围。另外,本领域的技术人员将理解, 以下描述具有广泛的应用,并且对任何具体实施例的详细解释仅意在作为该 实施例的示例,而无意于暗示包括权利要求书在内的本公开的范围限于该特 定的实施例。
43.本公开的几个方面可以以设备、系统、方法或计算机程序过程的形式来 体现。因此,本公开的各方面可以完全是硬件实施例或软件实施例的形式(包 括但不限于固件、常驻软件、微代码等),或可以是硬件和软件部件的组合, 该组合通常可以统称为“电路”、“模块”、“设备”或“系统”。此外,本公开 的各个方面可以是计算机程序过程的形式,该计算机程序过程体现在例如存 储计算机可读和/或可执行程序代码的一个或多个非暂时性计算机可读存储 介质中。
44.另外,本文中使用各种术语来指代特定系统部件。不同的公司可能会通 过不同的名称来指代相同或相似的部件,并且本描述无意区分名称不同但功 能相同的部件。在以下公开中描述的各种功能单元被称为“模块”的范围内, 这样的表征旨在不过度限制潜在实现方式机制的范围。例如,“模块”可以实 现为硬件电路,其包括定制的超大规模集成(vlsi)电路或门阵列,或现成 的半导体,其包括逻辑芯片、晶体管或其他分立部件。在进一步的示例中, 模块也可以在可编程硬件装置(诸如,现场可编程门阵列(fpga)、可编程 阵列逻辑、可编程逻辑装置等)中实现。此外,模块也可以至少部分地由被 各种类型的处理器执行的软件来实现。例如,模块可以包括一段可执行代码, 该代码段构成计算机指令的一个或多个物理或逻辑块,该计算机指令转换为 对象、过程或功能。此外,不要求这种模块的
可执行部分在物理上位于一起, 而是可以包括存储在不同位置的不同指令,并且当一起被执行时,这些指令 包括标识的模块并实现该模块的既定目的。可执行代码可以仅包括单个指令 或多个指令的集合,也可以分布在不同的代码段上,或分布在不同的程序中, 或跨多个存储器装置分布等。在软件、或部分软件、模块实现方式中,软件 部分可以存储在一个或多个计算机可读和/或可执行存储介质上,一个或多个 计算机可读和/或可执行存储介质包括但不限于基于电子、磁、光、电磁、红 外或半导体的系统、设备或装置,或其任何合适的组合。一般而言,为了本 公开的目的,计算机可读和/或可执行存储介质可以由能够包含和/或存储程 序以供其使用或结合指令执行系统、设备、处理器或装置使用的任何有形和 /或非暂时性介质组成。
45.类似地,为了本公开的目的,术语“部件”可以包括任何有形的、物理 的和非暂时性的装置。例如,部件可以是硬件逻辑电路的形式,该硬件逻辑 电路由定制的vlsi电路、门阵列或其他集成电路组成,或者由现成的半导 体组成,该现成的半导体包括逻辑芯片、晶体管或其他分立部件,或任何其 他合适的机械和/或电子装置。此外,部件还可以在可编程硬件装置中实现, 诸如现场可编程门阵列(fpga)、可编程阵列逻辑、可编程逻辑装置等。此 外,部件可以由一个或多个硅基集成电路装置(诸如芯片、裸芯、裸芯平面 和封装,或其他分立的电气装置)组成,该一个或多个硅基集成电路装置通 过例如印刷电路板(pcb)等的电导体与一个或多个其他部件处于电通信配 置中。因此,如上定义的模块在某些实施例中可以由部件体现或实现为部件, 并且在一些情况下,术语模块和部件可以互换使用。
46.本文使用的术语“电路”包括一个或多个电气和/或电子部件,这些部件 构成一个或多个允许电流流动的导电通路。电路可以是闭环配置或开环配置 的形式。在闭环配置中,电路部件可以为电流提供返回通路。相比之下,在 开环配置中,尽管不包括电流的返回通路,但其中的电路部件仍可被视为形 成电路。例如,无论集成电路是否耦接到地(作为电流的返回通路),集成电 路都被称为电路。在某些示例实施例中,电路可包括集成电路的集合、单个 集成电路或集成电路的部分。例如,电路可以包括定制的vlsi电路,门阵 列,逻辑电路和/或其他形式的集成电路,以及可以包括现成的半导体,诸如 逻辑芯片、晶体管或其他分立装置。在进一步的示例中,电路可以包括一个 或多个基于硅的集成电路装置,诸如芯片、裸芯、裸芯平面和封装、或其他 分立的电气装置,该一个或多个硅基集成电路装置通过例如印刷电路板 (pcb)等的电导体与一个或多个其他部件处于电通信配置中。电路还可以 实现为相对于诸如现场可编程门阵列(fpga)、可编程阵列逻辑和/或可编程 逻辑装置等的可编程硬件装置的合成电路。在其他示例实施例中,电路可以 包括非集成电气和/或电子部件(具有或不具有集成电路装置)的网络。因此, 如上定义的模块在某些实施例中可以由电路体现或实现为电路。
47.应当理解,本文公开的示例实施例可以由一个或多个微处理器和特定存 储的计算机程序指令组成,这些计算机程序指令控制一个或多个微处理器结 合某些非处理器电路和其他元件来实现本文公开的一些、大部分或全部功能。 替代地,一些或全部功能可以由没有存储程序指令的状态机实现,或者在一 个或多个专用集成电路(asic)或现场可编程门阵列(fpga)中实现,其 中每个功能或某些功能的一些组合实现为自定义逻辑。也可以使用这些方法 的组合。因此,本文描述了用于这些功能的方法和手段。此外,以下对“控 制器”的引用应定义为包括单个电路部件、专用集成电路(asic)、带有控 制软件的微控制器、
数字信号处理器(dsp)、现场可编程门阵列(fpga) 和/或带有控制软件的处理器,或其组合。
48.此外,如在本文中使用的术语“程序”、“软件”、“软件应用程序”等是 指被设计用于在计算机实现的系统上执行的指令序列。因此,“程序”、“软 件”、“应用程序”、“计算机程序”或“软件应用程序”可以包括子例程、函 数、过程、对象方法、对象实现方式、可执行应用程序、小程序、小服务程 序、源代码、目标代码、共享库/动态加载库和/或设计用于在计算机系统上 执行的其他特定指令序列。
49.此外,本文使用的术语“耦接”、“耦接的”或“耦合”旨在表示直接或 间接连接。因此,如果第一装置耦接或耦接到第二装置,则该连接可以是通 过直接连接或通过经由其他装置(或部件)和连接的间接连接。
50.关于本文中诸如“实施例”、“一个实施例”、“示例实施例”、“特定实施 例”或其他类似术语的术语使用,旨在指示结合本公开的至少一个实施例中 存在的实施例所描述的特定特征、结构、功能、操作或特性。因此,诸如“在 一个实施例中”、“在实施例中”、“在示例实施例中”等短语的出现可以但不 一定都指同一个实施例,而是指“一个或多个但不是全部实施例”,除非另有 明确说明。此外,术语“包括”、“具有”、“包含”及其变化以开放的方式使 用,因此,除非另有明确说明,否则应解释为“包括但不限于......”。此外, 在没有更多限制的情况下,以“包括......”开头的元素不排除在包括该元素 的主题过程、方法、系统、物品或装置中的附加相同元素的存在。
51.除非另有明确说明,否则术语“个”、“一”和“该”也指“一个或多个”。 此外,如本文和/或以下权利要求中可使用的短语“a和b中的至少一个”, 指示a或b的选择,或a和b两者,类似于短语“和/或”,其中a和b是 指示特定对象或属性的变量。如果该短语中存在两个以上的变量,则该短语 在此定义为仅包括变量中的一个、变量中的任何一个、任何变量的任何组合 (或子组合)以及全部变量。
52.此外,在本文中使用时,术语“大约”或“近似”适用于全部数值,无 论是否明确指示。这些术语通常是指本领域技术人员认为等同于所述值的数 值范围(例如,具有相同的函数或结果)。在某些情况下,这些术语可能包括 取整为最接近的有效数字的数值。
53.此外,除非另有明确规定,否则本文中阐述的任何列举的项目列表并不 暗示任何或全部列出的项目相互排斥和/或相互包括。此外,除非另有明确说 明,如本文所用的术语“集合”应解释为表示“一个或多个”,并且在“多个 集合”的情况下,根据集合理论,应解释为表示“一个或多个”、“一个或更 多个”和/或“多个或更多个”的倍数(或多个)。
54.下面参考描绘根据本公开的示例实施例的方法、设备、系统和计算机程 序过程的示意流程图和/或示意框图来描述本公开的各种要素,其中可以通过 专门编写的计算机程序指令来实现示意流程图和/或示意框图中的每个框或 框的组合。如本领域所理解的,计算机程序指令由计算机或其他可编程数据 处理设备的指定处理器执行,从而创建用于实现在示意流程图和/或示意框图 中的一个或多个框中具体阐述的功能、动作和/或操作的机制。此外,应注意, 在某些替代过程实现方式中,框中指定的功能可能不按照示意流程图和/或框 图中描绘的精确顺序发生。例如,图中描述为连续发生的两个框实际上可以 实质上同时(即,并发)执行,或者甚至以相反的顺序执行,这取决于所涉 及的功能。此外,在功能、逻辑或效果上与图中的一个或多个框或其部分等 效的其他处理步骤和方法可以被设
想并且被预期为在本公开的范围内。此外, 虽然示意图可以描绘各种箭头类型和方向和线类型作为例证,但它们并不旨 在限制相应实施例的范围。例如,箭头可以代表或表示在所描绘的示例实施 例的列举步骤之间的未指定持续时间的等待或监视周期。
55.在下面的详细描述中,参考了形成其部分的附图。应认识到,上述概述 仅是说明性的,并不旨在以任何方式进行限制。除了上述说明性方面、示例 实施例和特征之外,通过参考附图和下面的详细描述,另外的方面、示例实 施例和特征将变得显而易见。每幅图中对元件的描述可以参考前面附图的元 件。相同的附图标记可指代图中的相同元件,包括相同元件的替代示例实施 例。
56.现在详细参考附图并从图1开始,描绘了存储器系统90的示例实施例 并且是其主要硬件部件的图示。在该特定实施例中,存储器系统90运行并 且通过主机接口与主机装置80通信。此外,存储器系统90包括其操作由控 制器100控制的存储器装置102。主机装置80可以包括利用存储器系统90 的任何装置或系统(例如,计算装置)。因此,存储器系统90可以是可移动 存储器卡或嵌入式存储器系统的形式。例如,存储器系统90可以嵌入安装 在膝上型计算机中的固态驱动器中。在另一示例中,存储器系统90可以嵌 入在主机装置80内,使得主机80和存储器系统90(包括控制器100)形成 在单个集成电路芯片上。在其中存储器系统90在存储卡内实现的实施例中, 主机装置80可以包括用于一种或多种类型的存储器卡或闪速驱动器的内置 插槽(例如,通用串行总线(usb)端口、或存储器卡插槽)。此外,主机80 可以使用其中插入了存储器卡的适配器。
57.仍参考图1,如下文详细描述的,存储器装置102可以包括分布在一个 或多个集成电路芯片上的多个非易失性存储器单元的一个或多个存储器阵 列。并且,根据该特定实施例,控制器100可包括若干部件,这些部件可包 括但不限于接口电路110、处理器120、rom(只读存储器)122、ram(随 机存取存储器)130、可编程非易失性存储器124和附加部件。例如,控制器 100可以是一个或多个专用集成电路(asic)的形式,其中包括在这种asic 中的部件通常取决于特定应用。
58.关于存储器装置102本身,图2是根据示例实施例的单个非易失性存储 器单元10的示意图。如上所述,存储器单元10可以由具有电荷储存单元20 (诸如浮置栅极或电介质层)的场效应晶体管实现。此外,存储器单元10包 括源极区14和漏极区16。此外,控制栅极30位于浮置栅极20上方。具有 这种一般结构的非易失性存储器单元的示例类型包括但不限于用于电可擦 除可编程只读存储器(eeprom)和闪速eeprom、nand(not-and) 型单元和利用电介质储存元件(例如nrom
tm
)的存储器装置。在操作中, 根据某些实施例,当参考电压被施加到控制栅极30时,可以通过感测跨存 储器单元的源极电极和漏极电极的导通电流来读取(例如,编程或擦除)单 元的存储器状态。更具体地,对于存储器单元的浮置栅极20上的每个给定 电荷,可以检测相对于固定参考控制栅极电压的对应导通电流。因此,如上 所述,可编程到浮置栅极上的电荷范围定义了存储器单元10的相应阈值电 压窗口或相应导通电流窗口。替代地,不是检测划分的电流窗口中的导通电 流,而是可以在控制栅极30处针对给定的被测存储器状态设置阈值电压, 并检测所得导通电流是高于还是低于阈值电流(即,单元读取参考电流)。在 一个这样的示例实现方式中,相对于阈值电流的导通电流的检测是通过检查 导通电流通过位线电容的放电率来完成的。
59.图3提供了源极-漏极电流id和控制栅极电压v
cg
之间的相关性的图形 说明,例如
具有浮置栅极可在任何给定的时间选择性储存的四个不同电荷状 态q1-q4的非易失性存储器单元10。如图所示,在固定的漏极电压偏置的 情况下,存在代表四个电荷电平的四个id对v
cg
实线,四个电荷电平可以在 存储器单元的浮置栅极上编程,其中四个电荷电平分别对应于八个可能的存 储器状态中的四个。因此,作为示例,多个存储器单元的阈值电压窗口的范 围可以从0.5v到3.5v。在这样的示例中,七个编程的存储器状态被分别分 配为“0”、“1”、“2”、“3”、“4”、“5”、“6”和一个擦除状态(图3中未示出) 可以通过将阈值窗口划分为每个间隔为0.5v的区域来标定。因此,如果如 图所示使用2μa的参考电流i
ref
,则可以认为使用q1电压编程的单元处于 存储器状态“1”,因为其曲线与阈值窗口区域中的iref相交,该阈值窗口 由电压范围v
cg
=0.5v和1.0v标定。类似地,q4处于存储器状态“5”。
60.因此,如上所述,使存储器单元10储存的状态越多,其阈值电压窗口 被分得越细。例如,在具有-1.5v至5v的阈值电压窗口范围的存储器单元 10中,从而提供可能的最大宽度6.5v,并且要储存16个存储器状态,每个 状态可以仅占据从200mv到300mv的电压范围。如此窄的电压范围将需要 更高的编程和读取操作精度,以达到所需的分辨率。
61.单独的存储器单元10被组织成串,其中存储器单元串联设置。例如, 图4a中描绘的是包括nand型存储器单元的串50的示例实施例,在nand 型存储器单元中单元系列的相应晶体管元件m1、m2、...、mn(其中“n
”ꢀ
可以等于4、8、16或更高)相对于它们的源极和漏极采用菊花链方式连接。 此外,如关于图3所讨论的,串50中的每个存储器晶体管10具有电荷储存 元件20(例如,浮置栅极),用于储存一定量的电荷以表示该单元的预期存 储器状态。并且,如下文更详细地解释,每个存储器晶体管10包括允许控 制读取和写入操作的控制栅极30。存在于串50的源极端子54和漏极端子 56处的是选择晶体管s1、s2,它们控制晶体管元件与外围存储器阵列的连 接。具体而言,当源极选择晶体管s1导通时,源极端子54耦接到源极线。 同样地,当漏极选择晶体管s2导通时,漏极端子56耦接到存储器阵列的位 线。
62.向外扩展层级,图4b是描绘由图4a中所示类型的多个nand串50组 成的存储器阵列210的示例实施例的示意图。沿着nand串50中的每一列, 位线36耦接到每一nand串的漏极端子56。此外,沿着每一组nand串 50,源极线34耦接到每一nand串的源极端子54。此外,将nand串50 的组中的一行存储器单元中的存储器晶体管10的控制栅极30连接到同一字 线42。因此,当nand串50内的寻址存储器晶体管10在编程操作期间被 读取或验证时,适当的电压被施加到其控制栅极30。同时,通过向它们各自 的控制栅极30施加足够的电压,使nand串50内其余的未寻址存储器晶 体管10被完全导通。因此,创建了从寻址的存储器晶体管10的源极到nand 串50的源极端子54以及从寻址的存储器晶体管10的漏极到单元的漏极端 子56的导电通路。
63.此外,存储器阵列210中的每个nand串50的选择晶体管s1、s2的 控制栅极32在源极端子54和漏极端子56处提供对nand串的控制访问。 将沿着一组nand串50中的一行的选择晶体管s1、s2的控制栅极32连接 到同一选择线44。因此,一组nand串50中的整行存储器单元10可以通 过在该组nand串50的字线42和选择线44上施加适当的电压来寻址。
64.现在转向图5,其描绘了根据其示例实施例的存储器阵列210的一组 nand串50的详细图示。该视图在可视化存储器阵列210的逐行配置中特 别有用,其中阵列210的每一行可被称为“页”。因此,物理页(诸如图5中 表示的页60)是能够被并行感测或编程的一组存储器单元10。事实上,页 是可以被编程或写入的存储器装置的最小单位。编程页由感测放
大器212的 相应页完成,其中每个感测放大器可以经由位线(例如,参见图5中所示的 相应的位线bl0、bl1、bl2、bl3、bl4、bl5、...、blm-1和blm)耦接 到相应的nand串50。因此,页60由页60中的多个存储器单元10的控制 栅极使能,其连接到公共字线42,并且页60的每个存储器单元10可由感测 放大器经由位线36访问。因此,当编程或感测存储器单元10的页60时, 将编程或感测电压与位线上的适当电压一起分别施加到公共字线(例如,相 对于页60的字线wl3)。
65.关于编程和擦除数据的方式,重要的是要注意,对于闪速存储器,必须 从擦除状态编程存储器单元。换言之,在随后编程操作可以将所需电荷量加 回到浮置栅极20之前,必须首先清空浮置栅极20的电荷,从而将存储器单 元置于擦除状态。因此,浮置栅极20上的电荷电平不能从其先前编程的水 平逐渐增加或减少。因此,更新数据不可以覆盖存储器单元10的现有数据。 相反,更新数据必须被编程到先前未写入的位置。
66.为了提高擦除操作中的性能,存储器单元10的阵列210例如被分为大 量的存储器单元块,其中块是存储器装置的最小单元,其中存储器装置中包 含的存储器单元可以一起被擦除。此外,存储器单元10中的每块可以被分 为多个物理页60,其中如上所述,编程操作是逐页进行的。因此,逻辑页是 包含与给定物理页中的存储器单元10的数量相等的比特数的编程或读取的 单元。例如,其中每个存储器单元10中储存了一数据比特的slc型的存储 器装置中,一个物理页60储存数据的一个逻辑页。因此,其中每个存储单 元10中储存了两数据比特的mlc型的存储器装置中,一个物理页60可以 储存数据的两个逻辑页。因此,数据的一个或多个逻辑页典型地储存在一行 存储器单元(即,页60)中。页60可以储存一个或多个扇区,其中一个扇 区由用户数据和开销数据组成。在示例实施例中,单独页60可以被分成段, 每个段包含在基本编程操作中可以一次写入的最少数量的存储器单元10。
67.为了图示包括多个四状态存储器单元的mlc型存储器装置的编程阶段 的示例实施例,参考图6a至图6c。在图6a中,描绘了多个存储器单元, 在多个存储器单元中特征阈值电压窗口被分成四个不同电压分布,其中每个 分布对应于可编程存储器状态(即,存储器状态“0”、“1”、“2”和“3”)。 图6b图示了擦除的存储器的“擦除的”阈值电压的初始分布。在图6c中, 大部分存储器单元群被编程使得给定存储器单元10的初始“擦除的”阈值 电压被移动到更高值,到由验证电平vv1、vv2和vv3标定的三个划分的电 压区之一。因此,每个存储器单元可以被编程为三个可编程状态“1”、“2
”ꢀ
和“3”之一,或者保持在“擦除的”状态。在比特水平,可以使用具有较低 比特和较高比特的2比特代码来表示四种存储器状态中的每一种。例如,如 图6c中所示,可以分别为存储器状态“0”、“1”、“2”和“3”分配比特值
ꢀ“
11”、“01”、“00”和“10”。在这样的示例中,可以通过在“全序列”模式 中感测从存储器读取2比特数据,其中通过相对于三个子通过中的相应的读 取标定阈值电压rv1、rv2和rv3分别感测来一起感测两比特。
68.类似地,图7a至图7c示出了tlc型存储器装置的编程阶段,该tlc 型存储器装置包括多个八状态存储器单元,根据该特定实施例,可编程为八 个不同的阈值电压分布的每个单元分别表示存储器状态“0”、“1”、“2”、“3”、
ꢀ“
4”、“5”、“6”和“7”(如图7a中所示)。因此,图7b描绘了擦除的存储 器的“擦除的”阈值电压的初始分布。此外,图7c描绘了在许多存储器单 元已被编程之后的存储器的示例。因此,单元的阈值电压升高到由电平v1、 v2、v3、v4、v5、v6和v7标定的不同电压范围之一中。因此,每个存储器 单元可以编程为七个编程状态“1”到“7”之一,或者可以在“擦除的”状 态中保持未编程。作为编程的结果,如图7b中所示的“擦除的”状态的初 始分布变得更窄,如图7c中的“0”状态所指示。在这种情况下,可以使用 具有较低比特、中间比特和较高比特的3比特代码来表示每个存储器状态 (即“111”、“011”、“001”、“101”、“100”、“000”、“010”和“110”)并且 3比特数据也可以通过在“全序列”模式下感测从存储器中读取,其中通过 相对于七个自通过中的标定阈值v1到v7分别感测来一起感测三比特。
69.在图4a至图4b和图5以及上述相应的讨论中,总体上描述了二维(或 平面)存储器阵列210(例如位于x-y平面中),其可以包括nand型存储 器单元。然而,在替代配置中,存储器阵列可以是三维阵列的形式,与形成 在半导体晶片的平坦表面上不同,该阵列从晶片表面向上延伸并且包括向上 方向垂直延伸的(例如,在垂直于x-y平面的z方向上)存储器单元的堆栈 或列。例如,在图8中描绘了nand型串701的示例实施例,nand型串 701以与平面二维nand型串(诸如上述nand型串50)类似的方式运行。 在该配置中,存储器单元形成在垂直位线(参见例如局部位线703)和字线 (参见例如字线wl0、wl1等)的接合处,其中电荷捕获层位于在局部位 线703和储存电荷的相交的字线之间(决定了由字线-栅极-耦接到垂直位线
ꢀ‑
沟道环绕形成的晶体管的阈值电压)。为了形成这样的垂直串701,形成字 线的堆栈并在将要形成单元的适当位置处蚀刻存储器孔,其中每个存储器孔 内衬有电荷捕获层并填充有合适的局部位线/沟道材料。包括电介质层以进行 必要的隔离。此外,位于nand型串701的任一端是选择栅极705、707, 选择栅极705、707允许选择性地连接到外部元件709、711或与外部元件 709、711隔离,外部元件709、711包括例如诸如服务于阵列的大量串701 的公共源极线或位线之类的导线。在图8中所示的特定实施例中,垂直nand 型串701具有串联连接的32个存储器单元(即,在局部位线703和字线0 至字线31之间的接合处)。然而,nand型串701可以包括任何合适数量的 存储器单元。
70.如上所述,存储器结构200的存储器单元可以以多个行和/或列的有序 二维阵列布置在单个存储器装置级中。替代地,三维存储器阵列可以布置为 使得存储器单元占据多个平面或多个存储器装置级,从而形成具有三个维度 的结构(例如,在x、y和z方向上,其中z方向为实质上垂直于半导体衬底 的主表面,并且x和y方向实质上平行于半导体衬底的主表面)。在一些示 例实施例中,三维存储器结构200可以垂直排列为多个二维存储器阵列装置 级的堆栈。在其他示例实施例中,三维存储器结构200被布置为多个垂直列 (其中每一列实质上垂直于衬底的主表面,即在z方向上延伸),其中每一 列具有多个存储器单元。在该示例中,垂直列可以以二维配置(即,在x-y 平面中)布置,从而形成三维布置,在三维布置中存储器单元在多个垂直堆 叠的存储器平面上。三个维度中存储器元件的其他配置也可以构成三维存储 器阵列。然而,一般来说,可以通过在垂直于x-y平面的垂直方向(即z方 向)上倾斜二维存储器结构(诸如分别为图4a至图4b的结构50以及图5 的结构210)来构造三维nand阵列,使得三维结构的每个y-z平面对应于 图5的页结构,其中每个平面沿着x轴线位于不同的位置。因此,全局位线 (例如,图5的bl0、...、blm)各自跨存储器结构的顶部行进到相关联的 感测放大器(例如,sa0、...、sam)。因此,字线(例如图5的wl0、...、 wln)以及源极线和选择线(例如分别为ssl0、...、ssln和dsl0、...、 dsln)在x方向上延伸,其中每个nand串(例如,串50)的底部连接到 公共源极线。
71.现在参考图9,描绘了比特成本可规模化(“bics”)类型的三维nand 存储器阵列
600的实施例的示例子部分的斜立体图,其中一个或多个存储器 装置级形成在单个衬底之上。示例子部分对应于图4b中所示的两个页结构, 其中取决于特定实施例,各自可以对应于单独的存储器块或者可以是相同块 的不同扩展。根据该实施例,nand串不是位于相同的y-z平面中,而是在 y方向上受压,使得nand串在x方向上具有交错配置。此外,在阵列600 的顶部处,nand串沿着全局位线(bl)连接,全局位线(bl)跨越在x方 向上行进的阵列600的这些子部分中的多个。此外,全局公共源极线(sl) 还在x方向上跨存储器阵列600的多个子部分行进,并通过局部互连(li) 连接到nand串底部处的源极,局部互连作为单个扩展的局部公共源极线 操作。然而,取决于实施例,全局源极线(sl)可以跨越存储器阵列600的 整个或仅子部分。在图9的右侧描绘的是存储器阵列600的垂直nand串 610之一的基本元件的示意图。类似于图4a的nand串50,串610由一系 列互连的存储器单元组成。串610通过漏极选择栅极(sgd)连接到相关联 的位线(bl)。源极选择栅极(sds)通过相关联的局部源极线(li)将串610 连接到全局源极线(sl)。在该特定实施例中还包括位于串610端部处的若 干虚设单元。由于它们靠近选择栅极(sgd、sds),因此它们对干扰敏感, 虚拟单元不用于储存用户数据。
72.返回参考例如图1中描绘的存储器系统的整体架构,图10中图示了这 种系统的存储器阵列的典型布置的示意图。在该示例实施例中,示出了可由 读/写电路170通过行解码器140和列解码器160访问的非易失性存储器阵 列200。如前所述,存储器阵列200的单独存储器单元可经由所选(多个) 字线和(多个)位线的集合寻址。因此,行解码器140选择一个或多个字线 并且列解码器160选择一个或多个位线,以便将适当的电压施加到寻址的存 储器单元的相应栅极。此外,提供读/写电路170以读取或写入寻址的存储器 单元的存储器状态,其中读/写电路170包括可经由位线连接到阵列200的 存储器元件的若干读/写模块。根据其示例实施例,在图11中提供了这种读 /写模块190的示意框图。在操作中,在读取或验证步骤期间,感测放大器 150确定流过经由选定位线连接的寻址的存储器单元的漏极的电流。由感测 放大器150检测到的电平由电平到比特转换逻辑转换为数据比特的集合以储 存在数据锁存器155中。现在返回参考图10,读/写电路170被组织成读/写 堆栈180的组,其中每个读/写堆栈180是读/写模块190的堆栈。
73.现在参考图12a,示出了由非易失性存储器阵列300(其可以包括处于 二维或三维配置的nand型slc、mlc、tlc和/或qlc存储器单元)、控 制电路310和读/写电路370组成的存储器装置(例如,诸如图1中的存储器 装置102)的示例实施例。此外,如所描绘的,读/写电路370由一组或多组 的划分的读/写堆栈400组成,从而允许并行读取或编程存储器单元的块(或
ꢀ“
页”),其中根据示例实施例,存储器单元的“页”构成连续行存储器单元。 存储器阵列300可由字线经由行解码器330寻址且由位线经由列解码器360 寻址。替代地,存储器阵列300可包括划分为多个块或页的多行存储器单元。 因此,在这样的示例实施例中,提供块复用器350以将读/写电路370复用到 各个块。
74.关于控制电路310,它与读/写电路370结合操作以在存储器阵列300上 进行存储器操作。在该特定实施例中,控制电路310包括状态机312、片上 地址解码器314和功率控制器316。状态机312提供存储器操作的芯片级控 制。片上解码器314提供由主机或存储器控制器使用的地址与由解码器330、 360使用的硬件地址之间的地址接口。最后,功率控制器316控制在存储器 操作期间供应给字线和位线的功率和电压。
75.图12b描绘了图12a的存储器装置的稍微不同的示例实施例。在该特 定实施例中,在存储器阵列300的相对侧上以对称方式实现由各种外围电路 对存储器阵列300的访问。因此,与图12a中的配置相比,存储器阵列300 的每一侧上的访问线和电路减少一半。具体地,行解码器330被分成多个行 解码器330a、330b,并且列解码器360被分成多个列解码器360a、360b。 此外,在其中一行存储器单元被划分为多个块的这样的实施例中,块复用器 350被分成多个块复用器350a、350b。读/写电路370同样被分为读/写电路 370a(从存储器阵列300的底部连接到位线)和读/写电路370b(从存储器 阵列300的顶部连接到位线)。因此,读/写模块(以及划分的读/写堆栈400) 的密度实质上减少了一半。
76.现在参考图13,示出了读/写堆栈中的某些部件的示例实施例,诸如图 12a的读/写堆栈400。根据该特定架构,读/写堆栈400包括用于感测“k
”ꢀ
个位线的感测放大器212的堆栈、用于通过i/o总线231输入或输出数据的 i/o模块440、用于储存输入和/或输出数据的数据锁存器430的堆栈、在读/ 写堆栈400之间处理和储存数据的公共处理器500、以及用于在读/写堆栈 400部件之间通信的堆栈总线421。此外,堆栈总线控制器经由线路411提 供控制和定时信号以控制读/写堆栈400的各种部件。图14a描绘了用于将 图13的实施例的读/写堆栈400并入图12a至图12b中描绘的存储器装置 的读/写电路370中的示例实施例。如上所示,读/写堆栈400中的每一个并 行地运行在一组“k”个位线上。因此,如果存储器阵列300中的页具有p=r*k 个位线,则将有“r”个读/写堆栈,即,读/写堆栈400-1、......、400-r。因 此,并行运行的整组划分的读/写堆栈400-1、...、400-r允许沿一行的p个单 元的块(或页)并行读取或编程,存在用于整行单元的p个读/写模块。由于 每个读/写堆栈400-1、...、400-r服务“k”个存储器单元,因此组中的读/写 堆栈的总数可以表示为r=p/k。此外,根据该示例,每个读/写堆栈相应地具 有感测放大器212-1、...、212-k的堆栈,其并行地服务于“k”个存储器单 元的段。此外,每个读/写堆栈对应地具有数据锁存器430-1、...、430-k的堆 栈,其中每个数据锁存器与存储器单元相关联。因此,存在使数据锁存器430
‑ꢀ
1、...、430-k能够经由i/o总线231来对外交换数据的i/o模块440。
77.仍然参考图14a,还示出了堆栈总线控制器410,其从存储器控制器310 (经由线311)接收信号并且继而经由线411向读/写电路370提供控制和定 时信号。读/写堆栈400之间的通信由被堆栈总线控制器410控制的互连堆 栈总线实现。因此,控制线411从堆栈总线控制器410向读/写堆栈400-1、...、 400-r的部件提供控制和时钟信号。在该特定示例中,互连堆栈总线被分为 sabus 422和dbus 423,其中sabus 422提供公共处理器500和堆栈感测放 大器212-1、...、212-k之间的通信,并且dbus 423提供公共处理器500和 数据锁存器430-1、...、430-k的堆栈之间的通信路径。关于公共处理器500, 其还包括输出507,其用于输出存储器操作(诸如错误条件)的状态信号。 如图14a中所示,该状态信号可以例如用于驱动n晶体管550的栅极,该n 晶体管550以线or配置连接到标志总线509,其中标志总线509由控制器 310预充电,并且当由读/写堆栈400-1、...、400-r中的任一个断言状态信号 时被下拉。
78.此外,图14b中描绘了单个感测块(如被读/写堆栈400所包含)的示 例实施例。感测块400被划分为包括感测模块480或感测放大器的一个或多 个核心部分并且公共部分称为管理电路490。在一个实施例中,对于每个位 线有单独的感测模块480,对于多个(例如四个或八个)感测模块480的集 合有一个公共管理电路490。组中的每个感测模块经由数据总
线472与相关 联的管理电路通信。因此,存在与储存元件10的集合的感测模块通信的一 个或多个管理电路。
79.感测模块480包括感测电路470,其通过确定连接的位线中的导通电流 是高于还是低于预定阈值电平来进行感测。感测模块480还包括位线锁存器 482,其用于在所连接的位线上设置电压条件。例如,位线锁存器482中锁 存的预定状态将导致连接的位线被拉到指定编程禁止(例如,1.5-3v)的状 态。例如,flag=0可以禁止编程,而flag=1不禁止编程。
80.在图14b的示例实施例中,管理电路490包括处理器492、示例数据锁 存器的四个示例集合494、495、496和497、以及耦接在数据锁存器的集合 494至497和数据总线231之间的i/o接口496。可以为每个感测模块480 提供数据锁存器的一个集合,并且可以为每个集合提供由xdl、ddl、adl、 bdl和cdl标识的数据锁存器。
81.在一些情况下,可以使用附加的数据锁存器。在一个示例方法中,在使 用八种数据状态的存储器设备中,xdl储存用户数据,ddl储存是否使用 快速通过写入编程的指示,adl储存数据的较低页,bdl储存数据的中间 页,并且cdl储存数据的较高页。
82.处理器492进行计算,诸如确定储存在感测的储存元件中的数据并将确 定的数据储存在数据锁存器的集合中。数据锁存器的每个集合494至497用 于储存在读取操作期间由处理器492确定的数据比特,并在编程操作期间储 存从数据总线231导入的数据比特,其表示写入要编程到存储器中的数据。i/o接口496提供数据锁存器494至497和数据总线231之间的接口。
83.在读取期间,系统的操作在状态机312的控制下,状态机312控制向寻 址的储存元件10供应不同控制栅极电压。随着逐步通过对应于由存储器支 持的各种存储器状态的各种预定控制栅极电压,感测模块480可以在这些电 压之一处跳闸并且相应的输出将经由总线472从感测模块480提供给处理器 492。此时,处理器492通过考虑感测模块的(多个)跳闸事件和关于经由输 入线493从状态机施加的控制栅极电压的信息来确定所得存储器状态。处理 器492然后计算存储器状态的二进制编码并将所得数据比特储存到数据锁存 器494-497中。在管理电路490的另一实施例中,位线锁存器482以双任务 能力运行,既作为用于锁存感测模块480的输出的锁存器并又作为如上所述 的位线锁存器。
84.在编程或验证操作期间,将要编程(写入数据)的数据储存在数据总线 231的数据锁存器的集合494至497中。在状态机312的控制下,编程操作 包括施加到寻址的储存元件的控制栅极的一系列编程电压脉冲。每个编程脉 冲之后是回读(验证)以确定储存元件是否已编程到期望存储器状态。在一 些情况下,处理器492相对于期望存储器状态监视回读存储器状态。当两者 一致时,处理器492继续设置位线锁存器482以使位线被拉到指定编程禁止 的状态。即使编程脉冲出现在储存元件的控制栅极上,这也会禁止进一步编 程耦接到位线的储存元件。在其他实施例中,处理器最初加载位线锁存器482 并且感测电路在验证过程期间将其设置为禁止值。
85.如上所述,数据锁存器的每个集合494至497可以被实现为用于每个感 测模块的数据锁存器的堆栈。在一个示例实施例中,每个感测模块480具有 三个数据锁存器。在一些实现方式中,根据移位寄存器来实现数据锁存器, 使得储存在其中的并行数据被转换为用于数据总线231的串行数据,反之亦 然。例如,对应于m个储存元件的读/写块的全部数据锁
存器可以链接在一 起以形成块移位寄存器,从而可以通过串行传输输入或输出数据块。特别地, 可以适配读/写模块的组,以便其数据锁存器的组中的每一个将数据依次移入 或移出数据总线,就好像它们是整个读/写块的移位寄存器的部分。
86.数据锁存器标识相关联的存储元件10何时已经到达编程操作中的某些 里程碑。例如,锁存器可以标识储存元件的v
th
是否低于特定的验证电平。 数据锁存器指示储存元件当前是否储存来自数据页的一个或多个比特。例如, 关于一个示例实施例,当较低页比特被存储在相关联的储存元件中时,adl 锁存器被翻转(例如,从0到1)。此外,当中间页比特被储存在相关联的储 存元件中时,bdl锁存器被翻转。并且当较高页比特储存在相关储存元件中 时,cdl锁存器被翻转。当v
th
超过相关联的验证电平时,比特被储存在储 存元件中。
87.如上所述,这些高储存密度存储器结构,诸如关于图9中所示的示例实 施例描述的bics类型,在相邻存储器单元之间具有相对小的间距,并且每 个单元在存储器功能的离散电压范围之间具有相对小的容差。因此,在固定 裸芯尺寸内改善有效储存容量的数量具有竞争性的缺点和缺陷。因此,可以 采用各种方法以及纠正和补偿措施来提高存储器操作的准确性、可靠性和效 率。例如,此类措施旨在最小化例如相邻字线(wl)之间的干扰,并针对可 规模化存储器结构加强短期数据保留。这里特别令人感兴趣的是由于可规模 化存储器结构内的一个或多个有缺陷平面造成的相邻平面干扰(npd)现象 的发生变弱。一般而言,图15a和15b图示了例如三维nand型存储器阵 列的代表性部分800内的npd条件的潜在影响。在该代表性部分800中, 描绘了两个相邻平面810和820。进一步描绘了一系列公共字线,称为wln 1、 wln和wln-1,它们也由两个平面810、820共用。在该特定示例中,平面 810是无缺陷的,并且平面820是有缺陷的。有缺陷平面可能是各种制造或 操作缺陷的结果,诸如,例如实际的字线到字线或字线到存储器孔的短路824。 图15a描绘了在标准编程操作期间有缺陷平面820的潜在影响。在例如将编 程电压偏置(v
pgm
)812施加到代表性字线wln的编程操作期间,可以在箭 头822的方向上下拉编程电压偏置(v
pgm
)(例如,降低到vss或接地),在 位置802处遇到有缺陷平面820。相关地,图15b描绘了在后续编程验证操 作期间的有缺陷平面820的潜在影响,在该随后的编程验证操作中编程验证 电压偏置(v
vfy
)830被施加到代表性字线wln。如所指示的,可以在箭头 832的方向上向上拖动编程验证电压偏置(v
vfy
)(例如,上拉至vread), 在位置802处遇到有缺陷平面820。因此,由于编程/验证电压偏置中的这些 中断,无论下游平面本身是否有缺陷,在点802之后发生的编程序列中的全 部平面都将总括地失败。如上所述,这种潜在的灾难性情况通常被称为相邻 平面干扰(npd)条件。可以利用各种方法以及纠正和补偿措施来抵消从多 平面存储器结构内的npd条件发生的编程干扰或失败。
88.例如,现在参考图16a和图16b中描绘的示例实施例,示出了图示用 于检测和隔离在例如编程验证操作期间实时运行的多平面存储器结构内的 一个或多个有缺陷平面的装置模式的一般框架的流程图。如上所述,这种特 定的装置模式基于观察到的电行为导出,其中有缺陷平面(以及,通过扩展, 无缺陷平面)在(如果有的话)达到编程状态的预期验证阈值电压电平之前 需要特殊扩展的编程循环序列,由于npd条件导致存储器结构实际经历了 编程电压偏置(v
pgm
)的向下偏斜。此外,所公开的装置模式重建存储器结 构的(多个)无缺陷平面的正常编程操作。在步骤900处开始,多平面、多 状态(例如,mlc、tlc、qlc等)类型编程序列或操作开始。因此,根据 当前编程状态(s
x
)发起编程脉冲,然后随后进行编程验
证操作(参见步骤 902)。具体而言,在编程验证操作中,对每个存储器单元进行感测操作以确 定存储器单元的实际阈值电压(v
th
)相对于当前编程状态(s
x
)是高于还是 低于预期编程验证电压电平。随后,根据比特扫描模式操作对具有低于预期 编程验证电压电平的阈值电压(v
th
)的存储器单元的数量进行计数,并且此 后与比特扫描通过失败标准进行比较以确定编程是已通过还是已失败。并且, 如果在编程验证操作期间,检测到或确认存储器结构的(多个)存储器平面 的实际编程的阈值电压(v
th
)高于预期编程验证电压电平,则当前编程状态 (s
x
)的编程操作被认为是成功(完成),且相应的状态可以设置为“通过”。 然而,如果检测到或确认实际编程的阈值电压低于预期编程验证电压电平, 并且具有低于验证电压电平的阈值电压(v
th
)的存储器单元的数量大于比特 扫描通过失败标准,则认为当前编程状态(s
x
)的编程操作未完成,且相应 的状态可以设置为“失败”。
89.仍然参考图16a的实施例,在每个编程循环之后(参见步骤902),根 据编程验证操作/比特扫描模式的结果,对于主题存储器结构的任何存储器平 面是否完成当前编程状态(s
x
)的编程做出确定(见步骤904)。如果还没有 平面完成当前状态(s
x
)的编程,则发起后续编程循环(参见901)。这个编 程循环周期一直持续到至少一个平面已完成当前编程状态(s
x
)的编程。此 时,对主题存储器结构的每个平面是否已完成当前编程状态(s
x
)的编程做 出进一步确定(参见步骤906)。如果全部平面都已完成当前编程状态(s
x
) 的编程,则编程操作序列继续进行到下一个编程状态(即,s
x
=s
x 1
),并且 编程循环计数被重置,以便对编程下一个状态(s
x 1
)进行编目(见步骤908)。 编程状态中的这种健康前进很可能指示相邻平面干扰(npd)条件不存在于 主题存储器结构中。相反,如果在步骤906处做出的确定指示相对于一个或 多个平面仍未完成编程当前状态(s
x
),则该编程滞后可能是相邻平面干扰 (npd)条件的结果。如此,如下文详细描述的,循环计数递增1作为用于 辨别存在npd条件的可能性并有效管理可疑有缺陷平面的机制(参见步骤 910)。在循环计数的每次递增时,对循环计数是否超过预定的最大(阈值) 计数数量做出确定(参见步骤912)。如果循环计数低于阈值数,则发起后续 程序循环(参见911)以继续尝试达到完成当前状态(s
x
)的编程操作。这 个编程循环周期一直持续到全部平面达到完成的编程状态(即相对于当前状 态(s
x
)“通过”),或者直到增加的循环计数超过预定阈值数。如果超过阈值 计数数量,则编程操作进入对策模式(参见步骤914)中。
90.继续前进到图16b,描绘了根据其示例实施例的这种对策模式的一般框 架。在进入对策模式时(参见步骤914),对是否执行完全失败措施(“全部 失败”)做出初始确定,在完全失败措施中主题存储器结构的全部存储器平 面被分配“失败”状态并且存储器结构与进一步的编程操作隔离(参见步骤 916)。可以根据从例如实验观察、数据和结果导出的预定标准或标准集作出 该确定。因此,如果预定标准或标准集被肯定地满足,则总括地执行关于全 部存储器平面的完全失败措施(参见步骤918)。然而,如果在步骤916处不 满足预定标准或标准集,则在下一动作中,只有在循环计数超过预定最大计 数阈值(返回参考图16a的步骤912)时具有当前编程状态(s
x
)的未完成 编程的一个或多个平面被隔离并在认为它们有缺陷的假定下指定为“失败
”ꢀ
状态(参见步骤920)。通过仅从整个存储器结构中标识和电隔离(多个)有 缺陷的平面,可以相对于(多个)其他“良好”(即,无缺陷)平面恢复正常 编程操作(参见步骤922)。
91.在继续进行根据图16b中概述的示例实施例的对策模式的进一步步骤 之前,提供
相邻平面干扰(npd)条件对多平面存储器结构内的良好或健康 (即,无缺陷)平面的潜在影响的附加说明可能是有益的。首先,图17a描 绘了当前状态(s
x
)的正常或预期编程操作,因为它与存储器结构中的健康 平面有关,在健康平面中不存在材料相邻平面干扰条件。在该特定示例中, 初始编程电压偏置(v
pgm
)为12.0伏,初始编程电压偏置在每个编程循环中 以0.5伏的步长增加,直到编程验证操作指示包括该平面的存储器单元的编 程的阈值电压(v
th
)已通过预期编程验证电压偏置(v
vfy
),从而完成编程 当前状态(s
x
)。如所描绘的,根据该示例,编程电压偏置(v
pgm
)一经达到 14.5伏,最终实现预期编程验证电压偏置(v
vfy
)。因此,在完成编程当前状 态(s
x
)之前需要六个编程循环。相比之下,由于材料相邻平面干扰条件的 潜在影响,图17b中描绘的是图17a中所考虑的相同平面的偏斜或改变的 编程操作。如上详细描述的,例如在有缺陷平面中的字线到存储器孔短路或 字线到字线短路的可能暗示是,由附近良好或健康平面所经历的编程电压偏 置(v
pgm
)的人为拉动或下拉。因此,如图17b中所示,与图17a中描绘 的预期12.0伏相比,在该特定示例中如由健康(无缺陷)平面所见的实际初 始编程电压偏置(v
pgm
)是10.0伏。由于降低了编程电压偏置(v
pgm
),现 在需要增加的编程循环次数,以达到所需的14.5伏,从而以每个编程循环给 定0.5伏的设定步长将存储器单元的阈值电压(vth)编程为高于预期目标阈 值电压(vth)电平(约14.1伏)。因此,现在不是在正常操作下仅需要六个 编程循环,而是需要十个编程循环。
92.现在参考图18a,使用图17a至图17b中所示的示例作为背景,总体 上描绘了发起对策模式从而停止编程一个或多个有缺陷平面并恢复存储器 结构内的(多个)无缺陷平面的预期编程操作(参见图16b的步骤920和步 骤922)对健康(无缺陷)平面的影响。因此,正如图17b中所示,图18a 将健康平面描绘为在编程当前状态(s
x
)期间经历人为降低的10.0伏的初始 编程电压偏置(v
pgm
)。此外,在该特定示例中,在完成第六个编程循环之 后根据预定最大计数阈值触发对策模式(参见例如图16a的步骤912、914)。 如上所述,在第六个循环结束时,健康平面的存储器单元的编程的阈值电压 (v
th
)仅达到12.5伏,因此未能达到大约14.1伏的预期编程验证电压偏置 (v
vfy
)。因此,恢复健康平面的正常编程。既然作为对策模式的功能,现在 (多个)有缺陷的平面与编程操作电隔离,健康平面在随后的第七个编程循 环中突然经历完全或预期的编程电压偏置(v
pgm
),该完全或预期的编程电 压偏置(v
pgm
)为12.0伏的初始编程电压偏置电平加上六个各0.5伏的逐步 增加的总和,从而等于施加的15.0伏的编程电压偏置(v
pgm
)。因此,在第 七个编程循环期间达到当前状态(s
x
)的大约14.5伏的预期编程阈值电压 (v
th
)。相比之下,如图17b所示,在不引入对策模式的情况下,将需要十 个编程循环来完成编程当前状态(s
x
)。因此,对策模式证明是一种有益机 制,用于有效地允许恢复存储器结构内其他的健康平面的正常编程,无论是 否发生相邻平面干扰(npd)条件。
93.尽管对策模式提供了对存储器装置性能的显著改进,但是可以确定对这 种对策模式的进一步改进,以便补偿可能由依赖于存储器设备正在被编程的 参数和环境的对策模式的引入导致的任何可能的低效率。例如,如在图18a 中阐述的示例中所证明的,当施加对策模式时,由于一个或多个无缺陷平面 的电隔离,所以健康平面可能会经历编程电压偏置(v
pgm
)电平的突然和明 显增加。在图18a中的说明性示例中,健康平面在发起对策模式之后在下一 个(第七个)编程循环中立即经历2.5伏的突然跳跃。该2.5伏跳跃(
“△ꢀvpgm”)大大超过了在每个循环的编程电压偏置(v
pgm
)中的正常逐步0.5伏 增加。因此,与图17a中描
绘的“理想情况”情形(其中在第六个编程循环 期间达到预期编程验证电压偏置(v
vfy
)电平)相比,第七个编程循环的15.0 伏的编程电压实质上超出了当前状态(s
x
)的大约14.5伏的预期编程电压 (v
th
)电平。因此,根据特定的编程条件,这种类型的对策模式可能相对于 任何给定编程状态引入过度编程的风险。为了减轻这种风险,可以将“回滚
”ꢀ
或“故障恢复”模式并入到对策模式中,旨在在对策模式激活时初始降低恢 复的编程电压偏置(v
pgm
)并重新建立每个循环的编程电压偏置(v
pgm
)中 的预期逐步递增增加。因此,注意力回到图16b,其中进一步的“故障恢复
”ꢀ
模式被并入对策模式的该特定实施例的总体框架中。具体地,在确定恢复编 程(多个)通过的平面时(参见步骤922),对是否施加“故障恢复”模式做 进一步确定(参见步骤924)。
94.在某些预定条件下(例如,在
△vpgm
低于某个阈值量的情况下),所得 的确定(在步骤922处)可能是不施加“故障恢复”模式并根据初始编程协 议继续编程(多个)通过的平面(例如图18a中所示)(参见步骤926)。然 而,如果做出的决定是触发“故障恢复”模式,则暂时暂停循环计数和比特 扫描模式,并且在发起对策模式后立即发生下一个编程循环时,所施加的编 程电压偏置(v
pgm
)将递减预定“回滚”电压值(见步骤928)。此外,虽然 循环计数在此“回滚”期间保持静态(不增加),但可以进行连续的编程循环, 直到编程电压偏置(v
pgm
)赶上上次记录或递增循环计数时达到的电平。此 时,完成“回滚”周期并且可以在完成“回滚”周期后在下一个编程循环中 立即恢复循环计数和比特扫描模式。作为这种“故障恢复”模式的结果,防 止突然施加相对显著增加的编程电压偏置(即相对大的
△vpgm
),并减轻以 不必要的相当大的裕度过冲预期编程验证电压(v
vfy
)电平的风险。应当注 意,预定“回滚”电压值可以从实验数据和观察中导出和优化。例如,预定
ꢀ“
回滚”电压值可以是等同于在发起对策模式之前施加一、二、四或八个编 程循环的编程电压偏置(v
pgm
)的电压电平。为了说明一个示例,图18b示 出了将“故障恢复”模式施加到在图18a中描绘的对策模式的示例实施例中 的有问题的平面。再次,在当前状态(s
x
)的编程操作期间的第六个编程循 环完成时发起对策模式,其中编程的阈值电压(v
th
)尚未达到预期编程验证 电压(v
vfy
)电平。与编程序列中图18a中描绘的第七个编程循环相反,“故 障恢复”模式在发起对策模式之后(即,在记录的第六个和第七个编程循环 之间)立即发起(参见图16b的步骤928)。循环计数和比特扫描模式被暂停 (在第六个编程循环中保持静态),并且在这个特定示例中,编程电压偏置 (v
pgm
)被递减或“回滚”等同于两个编程循环(即,到12.0伏)。此后, 根据预期编程协议,编程电压偏置(v
pgm
)电平以0.5伏的步进量来递增, 直到编程电压(v
pgm
)达到在发起对策模式之前的最后一个编程循环期间施 加的电平。在图18b中的说明性示例中,恰在进入对策模式之前施加的编程 电压偏置(v
pgm
)电平是12.5伏。因此,编程的阈值电压(v
th
)一经达到 12.5伏,就恢复循环计数和比特扫描模式以完成当前状态(s
x
)的编程(参 见图16b的步骤930)。因此,当施加14.5伏的编程电压偏置(v
pgm
)时, 在第十个程序循环中更仔细地接近并稳定地达到预期编程验证电压(v
vfy
) 电平,与原本会在不包含“故障恢复”模式的情况下(参见图18a)施加的 15.0伏相比,14.5伏的编程电压偏置(v
pgm
)是一个明显低的电压电平。
95.现在参考图19,一经完成“故障恢复”模式并且循环计数和比特扫描模 式被恢复(参见步骤930),关于(多个)健康平面的正常编程和验证操作可 以继续直到完成全部可编程状态。更具体地,根据其示例实施例,在每个编 程循环中,对编程是否通过关于当前状态
(s
x
)的一个或多个比特扫描通过 失败标准做出确定(参见步骤932)。如果不是,则在下一个编程循环中施加 关于当前状态(s
x
)的比特扫描模式,并且如果需要则重复该循环,直到获 得“通过”状态(参见步骤934)。此后,对编程是否通过关于全部可编程状 态的一个或多个比特扫描通过失败标准做出确定(参见步骤936)。如果为全 部可编程状态建立“通过”状态,则完成编程存储器平面(参见步骤940)。 然而,如果没有为每个可编程状态建立“通过”状态,则比特扫描模式同样 施加到下一个编程循环中的下一个可编程状态(s
x
=s
x 1
)(参见步骤938)。 因此,在该特定实施例中,比特扫描模式不施加到每个编程循环的多个编程 状态,以例如节省编程时间。
96.然而,根据各种观察,并入“故障恢复”模式而产生的附带问题是其中 施加了“故障恢复”模式的存储器结构的存储器单元的擦除状态表现出拖尾 阈值电压(v
th
)分布,从而降低了编程数据的可靠性和准确性。返回参考图 18b,如上所述,当处于“故障恢复”模式时,状态机实际上被冻结,使得 循环计数和比特扫描模式都被暂停。因此,在该“故障恢复”模式中,不对 编程可编程状态是否完成(即,获得“通过”状态)做出确定。因此,在离 开“故障恢复”模式时,状态检查在辨别任何可编程状态是否完成时可能会 落后几个循环。由于根据例如图19中阐述的正常编程和验证操作,每个编 程循环仅确定单个可编程状态的通过/未完成状态,并且当前可编程状态(s
x
) 一经完成(即通过一个或多个比特扫描通过失败标准),比特扫描模式仅渐 变到下一个可编程状态(s
x 1
),所以在完成“故障恢复”模式后需要大量一 系列的额外编程循环以赶上确定全部可编程状态的状态。因此,虽然对于逐 个存储器单元,正确地禁止擦除状态,但由于额外的编程循环,可能会建立 大于预期的编程电压偏置(v
pgm
)电平,从而无意中编程擦除状态。为了说 明这种现象,图20描绘了包括给定存储器结构的多个存储器单元的阈值电 压(v
th
)分布的曲线图的示例。在这个特定的例子中,存储器单元具有tlc 型的密度。因此,分布曲线图指示了八个可编程状态,即“擦除”和状态a、 b、c、d、e、f和g。如图20中所示,出现了处于“擦除”状态的存储器 单元的可辨别的阈值电压(v
th
)分布,存储器单元群相对于由于“故障恢复
”ꢀ
模式施加的额外的编程循环数量的增加而增加。具有最深颜色的曲线图点大 约代表在适当的擦除状态禁止条件的情况下期望见到的阈值电压(v
th
)分布。 相比之下,当额外的编程循环数量增加时,处于“擦除”状态的单元的阈值 电压(v
th
)分布被无意地干扰并且潜在地达到更高的状态(参见假想线950、 952)。因此,处于“擦除”状态的存储器单元可能被误读为正被编程到更高 状态。
97.为了解决擦除状态中拖尾阈值电压(v
th
)分布的这个问题,从“故障恢 复”模式中出现后一经开始正常编程和验证操作,就可以发起“追赶”类型 的比特扫描模式。例如,图21a和图21b概述了这种比特扫描模式的两个 示例实施例的总体框架。如图21a中所描绘,在恢复循环计数和比特扫描模 式时(参见图16b中的步骤930),在初始编程循环中,施加关于每个编程的 状态的一个或多个比特扫描通过失败标准,而不是前进到下一个连续编程循 环,除非比特扫描模式指示当前状态(s
x
)尚未达到获得“通过”状态的一 个或多个标准(参见图21a的步骤1000、1002和1004)。因此,允许编程 验证操作在该第一个编程循环期间“赶上”,以检测在“故障恢复”模式期间 未确定的全部已完成编程状态。在编程当前状态(s
x
)在该初始编程循环期 间被确定为未完成的情况下,通过连续的编程循环(例如,参见图19)前进 到必要的程度(参见步骤932、934、936、938以及图21a的步骤940)。
98.图21b中描绘的比特扫描模式的示例实施例与图21a中所示的实施例 略有不同。
在该特定实施例中,在每个编程循环中并不仅仅是在开始正常编 程操作之后的初始编程循环中发生施加关于每个编程的状态的一个或多个 比特扫描通过失败标准,而不前进到下一个编程循环(参见图21b中的步骤 2000)。
99.重要的是,尽管根据图21a至图21b的示例实施例的每个程序循环的 多个状态的扫描在实践中可以最小地增加编程时间或降低存储器装置的性 能,但是由于进入对策模式的预期频率较低,因此最终结果并不显著。
100.此外,应当注意,尽管图16a和图16b中描绘的对策模式的“故障恢 复”模式部分的示例实施例指定暂时暂停循环计数和比特扫描模式(参见图 16b的步骤928),根据不同的示例实施例,可以仅暂时暂停循环计数并继续 施加比特扫描模式。以此方式,缓解了在恢复编程(多个)健康平面时为验 证编程状态完成所需的额外的编程循环的问题。
101.以上讨论旨在说明本发明的原理和各种实施例。一经完全理解上述公开 内容,许多变化和修改对于本领域技术人员来说将变得显而易见。例如,尽 管存储器控制器已被描述为进行或控制上述方法,但是在不脱离本公开的范 围的情况下,主机系统内的任何执行软件的处理器都可以进行上述方法。特 别地,如(多个)存储器控制器中执行的本文描述的方法和技术也可以在主 机中进行。此外,本文公开的方法和概念可以应用于除闪速之外的其他类型 的持久性存储器。本文旨在将以下权利要求解释为包括全部此类变化和修改。
再多了解一些

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

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

相关文献