CN115206399A - 在非易失性存储器装置中编程和验证数据的设备及方法 - Google Patents
在非易失性存储器装置中编程和验证数据的设备及方法 Download PDFInfo
- Publication number
- CN115206399A CN115206399A CN202111589186.5A CN202111589186A CN115206399A CN 115206399 A CN115206399 A CN 115206399A CN 202111589186 A CN202111589186 A CN 202111589186A CN 115206399 A CN115206399 A CN 115206399A
- Authority
- CN
- China
- Prior art keywords
- target level
- program
- voltage
- data
- memory cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及在非易失性存储器装置中编程和验证数据的设备及方法。存储器装置包括:单元组,其包括能够存储数据的多个非易失性存储器单元;以及控制电路,其被配置为执行用于存储数据的多个编程循环,每个编程循环包括编程电压施加操作和验证操作。在相应的编程循环期间,控制电路响应于针对N目标电平的编程电压施加操作而针对N目标电平、低于N目标电平的N‑1目标电平和高于N目标电平的N+1目标电平执行验证操作。当具有超过N+1目标电平的阈值电压的非易失性存储器单元的数量满足预设标准时,控制电路响应于针对N+1目标电平的下一编程电压施加操作而跳过针对低于N+1目标电平的目标电平的下一验证操作。
Description
技术领域
本文描述的一个或更多个实施方式涉及存储器系统,并且具体地涉及在存储器系统中用于提高非易失性存储器装置中的数据输入/输出操作速度的设备及方法。
背景技术
近来,计算环境的范式已经转变为无处不在的计算,这使得几乎能够随时随地访问计算机系统。结果,便携式电子装置(例如,移动电话、数码相机、笔记本计算机等)的使用正在迅速增加。这样的便携式电子装置各自可以使用或包括具有至少一个存储器装置的存储器系统。存储器系统可以是数据储存装置。数据储存装置可以用作便携式电子装置的主储存装置或辅储存装置。
与硬盘不同,这种数据储存装置使用非易失性半导体存储器,显现了更高的稳定性和耐用性,没有机械驱动部件(例如,机械臂),并且因此提供了高数据访问速度和相对低的功耗。具有这些优点的数据储存装置的示例包括但不限于通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
本公开的实施方式可以提供一种数据处理系统和用于操作该数据处理系统的方法。数据处理系统包括诸如存储器系统和主机之类的组件和资源,并且能够基于组件和资源的使用情况来动态地分配用于组件之间的数据通信的多个数据路径。
本公开的实施方式可以提供用于提高数据处理系统中包括的存储器装置的数据输入/输出速度的设备及方法。
在实施方式中,一种存储器装置可以包括:单元组,其包括能够存储数据的多个非易失性存储器单元;以及控制电路,其被配置为执行用于存储数据的多个编程循环,每个编程循环包括针对多个非易失性存储器单元的编程电压施加操作和与编程电压施加操作相对应的验证操作。控制电路可以被配置为在相应的编程循环期间,响应于针对N目标电平的编程电压施加操作而针对N目标电平、低于N目标电平的N-1目标电平和高于N目标电平的N+1目标电平执行验证操作。当具有超过N+1目标电平的阈值电压的非易失性存储器单元的数量满足预设标准时,控制电路被配置为响应于针对N+1目标电平的下一编程电压施加操作而跳过针对低于N+1目标电平的目标电平的下一验证操作。
与多个编程循环相对应的目标电平的数量是要在多个非易失性存储器单元中的每一个中存储的数据的位数的三倍。
控制电路可以被配置为通过对于针对N+1目标电平的第一验证操作向被选字线施加第一电压并且对于针对N-1目标电平和N目标电平的第二验证操作向被选字线施加低于第一电压的第二电压来执行与编程电压施加操作相对应的验证操作。
控制电路可以被配置为在第一验证操作和第二验证操作之前对联接至多个非易失性存储器单元的位线进行预充电。
控制电路可以被配置为通过对于针对N+1目标电平的第一验证操作和针对N-1目标电平或N目标电平的第二验证操作向被选字线施加第一电压来执行与编程电压施加操作相对应的验证操作。控制电路被配置为比第二验证操作更长地执行第一验证操作。
控制电路可以被配置为在第一验证操作之前对联接至多个非易失性存储器单元的位线进行预充电。
控制电路基于多个非易失性存储器单元的编程/擦除周期来改变或调整预设标准。
在另一实施方式中,存储器系统可以包括:控制器,其被配置为确定用于存储编程数据的位置并将编程命令与编程数据一起传送;以及存储器装置,其经由数据路径联接至控制器并且被配置为接收编程命令和编程数据并且输出关于针对编程数据的编程操作的成功或失败。存储器装置可以包括:至少一个存储块,其包括能够存储编程数据的多个非易失性存储器单元;以及控制电路,其被配置为执行用于将编程数据存储在至少一个存储块中的联接至被选字线的至少一些非易失性存储器单元中的多个编程循环,每个编程循环包括编程电压施加操作和与编程电压施加操作相对应的验证操作。控制电路可以被配置为在相应的编程循环期间,响应于针对N目标电平的编程电压施加操作而针对N目标电平、低于N目标电平的N-1目标电平和高于N目标电平的N+1目标电平执行验证操作。当至少一些非易失性存储器单元当中具有超过N+1目标电平的阈值电压的非易失性存储器单元的数量满足预设标准时,控制电路被配置为响应于针对N+1目标电平的下一编程电压施加操作而跳过针对低于N+1目标电平的目标电平的下一验证操作。
存储器装置可以包括:缓冲器,其被配置为临时存储要存储在该位置中的编程数据;以及电压供应电路,其由控制电路控制以向被选字线施加第一电压并且向未选字线施加与第一电压具有不同电平的第二电压。
与多个编程循环相对应的目标电平的数量是要在多个非易失性存储器单元中的每一个中存储的编程数据的位数的三倍。
控制电路可以被配置为通过对于针对N+1目标电平的第一验证操作向被选字线施加第一电压并且对于针对N-1目标电平和N目标电平的第二验证操作向被选字线施加低于第一电压的第二电压来执行与编程电压施加操作相对应的验证操作。
控制电路可以被配置为在第一验证操作和第二验证操作之前对联接至至少一些非易失性存储器单元的位线进行预充电。
控制电路可以被配置为通过对于针对N+1目标电平的第一验证操作和针对N-1目标电平或N目标电平的第二验证操作向被选字线施加第一电压来执行与编程电压施加操作相对应的验证操作。控制电路被配置为比第二验证操作更长地执行第一验证操作。
控制电路可以被配置为在第一验证操作之前对联接至至少一些非易失性存储器单元的位线进行预充电。
控制电路基于多个非易失性存储器单元的编程/擦除周期来改变或调整预设标准。
在另一实施方式中,一种用于操作存储器装置的方法可以包括:接收编程数据、关于用于存储编程数据的位置的信息和编程命令;选择与关于位置的信息相对应的字线;以及执行用于将编程数据存储在联接至被选字线的至少一些非易失性存储器单元中的多个编程循环,每个编程循环包括针对多个非易失性存储器单元的编程电压施加操作和与编程电压施加操作相对应的验证操作。执行多个编程循环可以包括:在相应的编程循环期间,响应于针对N目标电平的编程电压施加操作而针对N目标电平、低于N目标电平的N-1目标电平和高于N目标电平的N+1目标电平执行验证操作;确定至少一些非易失性存储器单元当中具有超过N+1目标电平的阈值电压的非易失性存储器单元的数量是否满足预设标准;以及基于确定的结果,响应于针对N+1目标电平的下一编程电压施加操作而跳过针对低于N+1目标电平的目标电平的下一验证操作。
执行验证操作可以包括:对于针对N+1目标电平的第一验证操作,向被选字线施加第一电压;以及对于针对N-1目标电平和N目标电平的第二验证操作,向被选字线施加低于第一电压的第二电压。
执行验证操作还可以包括:在第一验证操作之前,对联接至至少一些非易失性存储器单元的位线进行预充电;以及在第二验证操作之前,对联接至至少一些非易失性存储器单元的位线进行预充电。
执行验证操作可以包括:对于针对N+1目标电平的第一验证操作和针对N-1目标电平或N目标电平的第二验证操作,向联接至至少一些非易失性存储器单元的字线施加第一电压。第一验证操作可以比第二验证操作更长地施行。
执行验证操作还可以包括:在第一验证操作之前,对联接至至少一些非易失性存储器单元的位线进行预充电。
在另一实施方式中,一种存储器装置的操作方法可以包括:执行多个编程循环,每个编程循环包括根据增量步进脉冲编程(ISPP)方案的第一操作和第二操作,其中当前编程循环内的第一操作包括向被选字线施加编程电压以使联接至被选字线的至少一个存储器单元具有当前目标电平的编程状态的操作,并且其中当前编程循环内的第二操作包括当联接至被选字线的至少一个存储器单元在先前编程循环中被验证为具有当前目标电平的编程状态时,验证联接至被选字线的存储器单元是否具有当前目标电平和更高的目标电平的编程状态的操作。
附图说明
本文的描述参考了附图,其中贯穿附图,相似的附图标记指代相似的部件。
图1例示了根据本公开的实施方式的存储器装置。
图2例示了根据本公开的实施方式的数据处理系统。
图3例示了根据本公开的实施方式的增量步进脉冲编程(ISPP)操作。
图4例示了根据本公开的实施方式的用于在非易失性存储器单元中存储多位数据的方法。
图5例示了根据本公开的实施方式的ISPP操作的编程操作和验证操作。
图6例示了根据本公开的实施方式的与多个编程脉冲相对应的目标电平。
图7例示了根据本公开的实施方式的用于操作存储器装置的方法的第一示例。
图8例示了根据本公开的实施方式的编程操作中的阈值电压分布的变化。
图9A和图9B例示了根据本公开的实施方式的改进的编程操作和验证操作。
图10例示了根据本公开的实施方式的用于操作存储器装置的方法的第二示例。
图11例示了根据本公开的实施方式的验证操作。
图12例示了通过根据本公开的实施方式的用于操作存储器装置的方法获得的改进的性能。
具体实施方式
下面参照附图描述本公开的各种实施方式。然而,本公开的元件和特征可以被不同地配置或布置以形成其它实施方式,这些其它实施方式可以是所公开的实施方式中的任何一个的变型。
在本公开中,对包括于“一个实施方式”、“示例实施方式”、“实施方式”、“另一实施方式”、“一些实施方式”、“各种实施方式”、“其它实施方式”、“另选的实施方式”等中的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用旨在表示任何这样的特征包括于本公开的一个或更多个实施方式中,但是可以或可以不一定要组合在同一实施方式中。
在本公开中,术语“包括”、“包括于”、“包含”和“包含于”是开放式的。如在所附权利要求中使用的,这些术语指定了所提及的元素的存在并且不排除一个或更多个其它元素的存在或添加。权利要求中的术语不排除设备包括附加组件(例如,接口单元、电路等)。
在本公开中,各种单元、电路或其它组件可以被描述或要求保护为“被配置为”执行任务多个任务。在这种上下文中,“被配置为”用于通过指示块/单元/电路/组件包括在操作期间执行一个或更多个任务的结构(例如,电路)来暗示结构。这样,即使当指定的块/单元/电路/组件当前未操作(例如,未打开或未被激活)时,块/单元/电路/组件也可以被称为被配置为执行任务。与“被配置为”语言一起使用的块/单元/电路/组件包括硬件—例如,电路、存储可执行以实现操作的程序指令的存储器等。附加地,“被配置为”可以包括通用结构(例如,通用电路),其由软件和/或固件(例如,FPGA或执行软件的通用处理器)操纵,从而以能够执行所讨论的任务的方式操作。“被配置为”还可以包括将制造工艺(例如,半导体制造设施)适配为制造适于实现或执行一个或更多个任务的装置(例如,集成电路)。
如本公开中使用的,术语“电路”或“逻辑”是指以下中的全部:(a)纯硬件电路实现(诸如,仅在模拟和/或数字电路中的实现),和(b)电路和软件(和/或固件)的组合,诸如(如果适用):(i)处理器的组合或(ii)一起工作以使设备(诸如,移动电话或服务器)执行各种功能的处理器/软件的部分(包括数字信号处理器)、软件和存储器,以及(c)诸如微处理器或微处理器的一部分之类的需要软件或固件(即使软件或固件物理上不存在)才能运行的电路。“电路”或“逻辑”的该定义适用于该术语在本申请中(包括在任何权利要求中)的所有使用。作为另一示例,如本申请中所使用的,术语“电路”或“逻辑”还涵盖仅处理器(或多个处理器)、或处理器的一部分及其(或它们的)随附软件和/或固件的实现。术语“电路”或“逻辑”还涵盖,例如,并且如果适用于特定的权利要求元素,用于储存装置的集成电路。
如本文所用,这些术语“第一”、“第二”、“第三”等用作它们后面的名词的标签,并不暗示任何类型的排序(例如,空间、时间、逻辑等)。术语“第一”和“第二”并不一定暗示必须在第二值之前写入第一值。此外,尽管本文可以使用这些术语来标识各种元素,但是这些元素不受这些术语的限制。这些术语用于将一个元素与否则将具有相同或相似名称的另一元素区分开。例如,第一电路可以与第二电路区分开。
此外,术语“基于”用于描述影响确定的一个或更多个因素。该术语不排除可以影响确定的附加因素。也就是说,确定可以仅基于那些因素或至少部分地基于那些因素。考虑短语“基于B确定A”。虽然在这种情况下,B是影响A的确定的因素,但这样的短语并不排除A的确定也基于C。在其它情况下,可以仅基于B确定A。
此处,数据的项、数据项、数据条目或数据的条目可以是位序列。例如,数据项可以包括文件的内容、文件的一部分、存储器中的页、面向对象编程中的对象、数字消息、数字扫描的图像、视频或音频信号的一部分、元数据或可以由位序列表示的任何其它实体。根据实施方式,数据项可以包括离散对象。根据另一实施方式,数据项可以包括两个不同组件之间的传输分组内的信息单元。
现在将参照附图来描述本公开的实施方式,其中相似的附图标记表示相似的元件。
图1例示了根据本公开的实施方式的存储器系统110。具体地,图1示意性地例示了根据本公开的实施方式的存储器装置中包括的存储器管芯中的存储器单元阵列电路。
参照图1,存储器管芯200可以包括存储器组330,存储器组330包括多个非易失性存储器单元。存储器组330可以包括多个单元串340。单元串340包括连接至多条位线BL0至BLm-1中的每一条的多个非易失性存储器单元。设置在存储器组330的每一列中的单元串340可以包括至少一个漏极选择晶体管DST和至少一个串选择晶体管SST。多个非易失性存储器单元或存储器单元晶体管MC0至MCn-1可以串联连接在漏极选择晶体管DST和串选择晶体管SST之间。例如,非易失性存储器单元MC0至MCn-1中的每一个可以被配置为每个单元存储具有多个位的数据项的多级单元(MLC)。单元串340可以单独地电连接至对应的位线BL0至BLm-1。
图1示出了包括NAND型闪存单元的存储器组330作为示例。然而,根据本公开的实施方式的存储器装置150中包括的存储器组330可以不限于NAND型闪存。在另一实施方式中,存储器组330也可以实现为NOR型闪存、组合或混合有至少两种不同类型的存储器单元的混合型闪存、或在单个存储器芯片中嵌入有控制器的单芯片NAND闪存。另外,根据本公开的实施方式的存储器组330可以包括其中电荷储存层包括导电浮栅的闪存单元,或者其中电荷储存层由绝缘膜形成的电荷捕获闪存(CTF)存储器单元。
根据本公开的实施方式,图1所示的存储器组330可以包括图2所示的存储器装置150中包括的至少一个存储块152、154、156。根据实施方式,存储器装置150可以具有二维(2D)结构或三维(3D)结构。例如,存储器装置150中的存储块152、154、156中的每一个可以实现为3D结构(或垂直结构)。存储块152、154、156中的每一个可以具有沿着第一方向至第三方向(例如,x轴方向、y轴方向和z轴方向)延伸的三维结构。
构成存储器装置150的多个存储块152、154、156的存储器组330可以联接至多条位线BL、多条串选择线SSL和多条漏极选择线DSL、多条字线WL、多条虚设字线DWL(未示出)和多条公共源极线CSL。存储器组300可以包括多个NAND串NS,每个NAND串NS包括多个存储器单元MC。在存储器组330中,每个NAND串NS可以连接至每条位线BL。另外,每个NAND串NS的串选择晶体管SST可以连接至公共源极线CSL,并且每个NAND串NS的漏极选择晶体管DST可以连接至对应的位线BL。这里,存储器单元MC可以布置在每个NAND串NS的串选择晶体管SST和漏极选择晶体管DST之间。
参照图1,存储器装置150中的电压供应电路170可以根据操作模式经由每条字线供应字线电压(例如,诸如编程电压、读取电压和通过电压之类的对象电压),或向包括存储器单元MC的每个存储块所形成于的块体(例如,阱区)供应电压。在这种情况下,可以在控制电路(未示出)的控制下执行电压供应电路170的电压生成操作。此外,电压供应电路170可以生成多个可变读取电压以将多个数据项彼此区分开。响应于控制电路的控制,存储器单元阵列的存储块(或扇区)之一可以被选择,并且被选存储块的字线之一可以被选择。字线电压可以单独供应给被选字线和未选字线。电压供应电路170可以包括用于生成具有各种电平的目标电压的电压生成电路(参照图4至图8)。电压供应电路170可以联接至接收从外部(例如,外部装置)施加的第一电源电压VCC的第一引脚或焊盘以及接收从外部装置施加的第二电源电压VPP的第二引脚或焊盘。这里,第二电源电压VPP可以具有是第一电源电压VCC的电压电平的两倍或更高的电压电平。例如,第一电源电压VCC可以具有2.0V至5.5V的电压电平,而第二电源电压可以具有9V至13V的电压电平。根据本公开的实施方式的电压供应电路170可以包括用于更快地生成存储器组330中所使用的各种电平的目标电压的电压生成电路。电压生成电路可以使用第二电源电压VPP来生成比第二电源电压VPP具有更高的电压电平的目标电压。
由存储器装置150的控制电路控制的读/写电路320可以根据操作模式而作为感测放大器或写入驱动器操作。例如,在验证操作和读取操作中,读/写电路320可以作为用于从存储器单元阵列读取数据项的感测放大器操作。此外,在编程操作中,读/写电路320可以作为根据要存储在存储器单元阵列中的数据项而控制位线的电位的写入驱动器操作。读/写电路320可以在编程操作期间从页缓冲器(未示出)接收要被编程到单元阵列的数据项。读/写电路320可以基于输入的数据项来驱动位线。为此,读/写电路320包括多个页缓冲器(PB)322、324、326,每个页缓冲器对应于每一列(或每条位线)或每一个列对(或每个位线对)。根据实施方式,在多个锁存器(未示出)可以包括在页缓冲器322、324、326中的每一个中。
尽管未示出,但是页缓冲器322、324、326可以通过多条总线BUS联接至数据输入/输出装置(例如,串行化电路或串行化器)。当页缓冲器322、324、326中的每一个通过不同的总线联接至数据输入/输出装置时,能够减少在来自页缓冲器322、324、326的数据传输中可能发生的延迟。例如,页缓冲器322、324、326中的每一个能够在没有等待时间的情况下执行数据传输。
根据本公开的实施方式,在将数据项编程到非易失性存储器装置中的过程中,通过减少在非易失性存储器装置中执行的验证操作的次数,能够提高数据输入/输出速度。
此外,根据本公开的实施方式的存储器装置能够减少用于验证操作的操作负担、存储器装置中的非易失性存储器单元的损耗程度以及存储器装置的相邻非易失性存储器单元之间的干扰,使得能够提高存储的数据项的安全性。
图2例示了根据本公开的实施方式的数据处理系统100。
参照图2,数据处理系统100可以包括与诸如存储器系统110之类的存储器系统接合或联接的主机102。例如,主机102与存储器系统110可以经由数据总线、主机线缆等彼此联接,以执行数据通信。
存储器系统110可以包括存储器装置150和控制器130。存储器系统110中的存储器装置150和控制器130可以被认为是彼此物理分离的组件或元件。存储器装置150和控制器130可以经由至少一个数据路径而连接。例如,数据路径可以包括通道和/或通路。
根据实施方式,存储器装置150和控制器130可以是在功能上划分的组件或元件。此外,根据实施方式,可以用单个芯片或多个芯片来实现存储器装置150和控制器130。控制器130可以响应于从外部装置输入的请求而执行数据输入/输出操作。例如,当控制器130响应于从外部装置输入的读取请求而执行读取操作时,存储器装置150中包括的多个非易失性存储器单元中存储的数据被传送给控制器130。
如图2所示,存储器装置150可以包括多个存储块152、154、156。存储块152、154、156可以被理解为通过单个擦除操作一起移除数据的一组非易失性存储器单元。尽管未示出,但是存储块152、154、156可以包括作为在单个编程操作期间一起存储数据或在单个读取操作期间一起输出数据的一组非易失性存储器单元的页。例如,一个存储块可以包括多个页。
例如,存储器装置150可以包括多个存储器平面(plane)或多个存储器管芯。根据实施方式,存储器平面可以被认为是包括至少一个存储块、能够控制包括多个非易失性存储器单元的阵列的驱动电路、以及可以临时存储输入至非易失性存储器单元或从非易失性存储器单元输出的数据的缓冲器的逻辑分区或物理分区。
另外,根据实施方式,存储器管芯可以包括至少一个存储器平面。存储器管芯可以理解为在物理上可区分的基板上所实现的组件的集合。每个存储器管芯可以通过数据路径连接至控制器130。每个存储器管芯可以包括与控制器130交换数据的项和信号的接口。
根据实施方式,存储器装置150可以包括至少一个存储块152、154、156,至少一个存储器平面或至少一个存储器管芯。图1所示的存储器装置150的内部构造可以根据存储器系统110的性能而不同。本公开的实施方式不限于图2所示的内部构造。
参照图2,存储器装置150可以包括能够将至少一些电压供应至存储块152、154、156的电压供应电路170。电压供应电路170可以包括用于生成存储块152、154、156中所使用的目标电压的电压生成电路,参照图4至图8。电压供应电路170可以将读取电压Vrd、编程电压Vprog、通过电压Vpass或擦除电压Vers供应到包括于存储块中的非易失性存储器单元中。例如,在用于读取存储块152、154、156中包括的非易失性存储器单元中所存储的数据的读取操作期间,电压供应电路170可以将读取电压Vrd供应到被选非易失性存储器单元中。在用于将数据存储在存储块152、154、156中包括的非易失性存储器单元中的编程操作期间,电压供应电路170可以将编程电压Vprog供应到被选非易失性存储器单元中。此外,在对被选非易失性存储器单元执行的读取操作或编程操作期间,电压供应电路170可以将通过电压Vpass供应到未选非易失性存储器单元中。在用于擦除存储块152、154、156中包括的非易失性存储器单元中所存储的数据的擦除操作期间,电压供应电路170可以将擦除电压Vers供应到存储块中。
存储器装置150可以存储关于基于执行哪个操作向存储块152、154、156供应的各种电压的信息。例如,当存储块152、154、156中的非易失性存储器单元可以存储多位数据时,可能需要用于识别或读取多位数据项的多个电平的读取电压Vrd。存储器装置150可以包括表,该表包括对应于多位数据项的、与多个电平的读取电压Vrd相对应的信息。例如,表可以包括存储在寄存器中的偏置值,每个偏置值对应于特定电平的读取电压Vrd。用于读取操作的读取电压Vrd的偏置值的数量可以限制在预设范围内。此外,偏置值可以被量化。
主机102可以包括便携式电子装置(例如,移动电话、MP3播放器、笔记本计算机等)或非便携式电子装置(例如,台式计算机、游戏播放机、电视机、投影仪等)。根据实施方式,主机102可以包括便携式电子装置和非便携式电子装置中所包括的中央处理单元(CPU)。
主机102还可以包括可以控制在主机102中执行的功能和操作的至少一个操作系统(OS)。OS可以提供与存储器系统110在操作上接合的主机102和想要将数据存储在存储器系统110中的用户之间的互操作性。OS可以支持与用户的请求相对应的功能和操作。通过示例的方式而非限制,OS可以根据主机102的移动性而分类为通用操作系统和移动操作系统。通用操作系统可以根据系统要求或用户环境而分为个人操作系统和企业操作系统。与个人操作系统相比,企业操作系统可以专用于保护和支持高性能计算。
移动操作系统可以经历以支持针对移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作系统。对应于用户的请求,主机102可以执行与存储器系统110互锁的多个操作系统。主机102可以将对应于用户的请求的多个命令发送到存储器系统110中,由此在存储器系统110内执行与多个命令对应的操作。
存储器系统110中的控制器130可以响应于从主机102输入的请求或命令而控制存储器装置150。例如,控制器130可以执行读取操作以向主机102提供从存储器装置150读取的数据并且可以执行写入操作(或编程操作)以将从主机102输入的数据存储在存储器装置150中。为了执行数据输入/输出(I/O)操作,控制器130可以控制和管理读取数据、编程数据、擦除数据等的内部操作。
根据实施方式,控制器130可以包括主机接口132、处理器134、纠错电路(ECC)138、电源管理单元(PMU)140、存储器接口142和存储器144。如图2所示的控制器130中所包括的组件可以根据关于存储器系统110的结构、功能、操作性能等而变化。
例如,根据主机接口的协议,可以用可以与主机102电联接的各种类型的储存装置中的任一种来实现存储器系统110。合适的储存装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)储存装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒等。根据存储器系统110的实现,可以向控制器130添加组件或从控制器130省略组件。
主机102和存储器系统110各自可以包括用于根据一个或更多个预定协议发送和接收信号、数据等的控制器或接口。例如,存储器系统110中的主机接口132可以包括能够向主机102发送信号、数据等或从主机102接收信号、数据等的设备。
控制器130中包括的主机接口132可以接收从主机102输入的信号、命令(或请求)和/或数据。例如,主机102和存储器系统110可以使用预定协议在其间发送和接收数据。主机102和存储器系统110所支持的用于发送和接收数据的通信标准、协议或接口的示例包括通用串行总线(USB)、多媒体卡(MMC)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子(IDE)、快速外围组件互连(PCIe或PCI-e)、串行附接SCSI(SAS)、串行高级技术附件(SATA)、移动行业处理器接口(MIPI)等。根据实施方式,主机接口132是用于与主机102交换数据的一种层,并且由称为主机接口层(HIL)的固件实现或驱动。
集成驱动电子(IDE)或高级技术附件(ATA)可以用作用于发送和接收数据的接口之一,并且例如可以使用包括并联连接的40条线的线缆来支持主机102与存储器系统110之间的数据发送和数据接收。当多个存储器系统110连接至单个主机102时,可以通过使用多个存储器系统110所连接至的拨码开关(dip switch)或位置,将多个存储器系统110分为主和从。被设置为主的存储器系统110可以用作主存储器装置。IDE(ATA)可以包括例如快速-ATA、ATAPI或增强型IDE(EIDE)。
串行高级技术附件(SATA)接口是与由集成驱动电子(IDE)装置使用的并行数据通信接口的各种ATA标准兼容的一种串行数据通信接口。IDE接口的40条线可以减少到SATA接口中的6条线。例如,IDE的40个并行信号可以转换成SATA接口的6个串行信号。SATA接口因其数据发送和接收速率更快及其更少的资源消耗而被广泛用在用于数据发送和接收的主机102中。SATA接口可以将多达30个外部装置连接至主机102中包括的单个收发器。另外,SATA接口可以支持热插拔,该热插拔即使在主机102和另一装置之间的数据通信正在执行的同时也允许外部装置附接至主机102或从主机102脱离。因此,即使在主机102通电时,存储器系统110也可以作为附加装置连接或端口,如通用串行总线(USB)所支持的装置那样。例如,在具有eSATA端口的主机102中,存储器系统110可以像外部硬盘一样自由地附接至主机102或从主机102脱离。
小型计算机系统接口(SCSI)是用于将计算机或服务器与其它外围装置连接的一种串行数据通信接口。与诸如IDE和SATA之类的其它接口相比,SCSI可以提供高的传输速度。在SCSI中,主机102和至少一个外围装置(例如,存储器系统110)串联连接,但是主机102和每个外围装置之间的数据发送和接收可以通过并行数据通信来执行。在SCSI中,容易将诸如存储器系统110之类的装置连接至主机102或从主机102断开。SCSI可以支持15个其它装置到主机102中所包括的单个收发器的连接。
串行附接SCSI(SAS)可以理解为SCSI的串行数据通信版本。在SAS中,主机102和多个外围装置串联连接,并且主机102和每个外围装置之间的数据发送和接收可以按串行数据通信方案来执行。SAS可以通过串行线缆而不是并行线缆来支持主机102和外围装置之间的连接,以容易地管理使用SAS的装备,并且增强或提高操作可靠性和通信性能。SAS可以支持八个外部装置到主机102中所包括的单个收发器的连接。
快速非易失性存储器(NVMe)是至少基于快速外围组件互连(PCIe)的一种接口,PCIe被设计为增加配备有非易失性存储器系统110的主机102、服务器、计算装置等的性能和设计灵活性。PCIe可以使用插槽或特定线缆来连接计算装置(例如,主机102)和外围装置(例如,存储器系统110)。例如,PCIe可以使用多个引脚(例如,18个引脚、32个引脚、49个引脚或82个引脚)和至少一条线(例如,x1、x4、x8或x16)来实现每秒数百MB(例如,250MB/s、500MB/s、984.6250MB/s或1969MB/s)以上的高速数据通信。根据实施方式,PCIe方案可以实现每秒数十至数百千兆位的带宽。NVMe可以支持比硬盘更快的非易失性存储器系统110(诸如,SSD)的操作速度。
根据实施方式,主机102和存储器系统110可以通过通用串行总线(USB)连接。通用串行总线(USB)是一种可扩展、可热插拔的即插即用串行接口,它可以在主机102和外围装置(诸如键盘、鼠标、操纵杆、打印机、扫描仪、储存装置、调制解调器、摄像机等)之间提高有成本效益的标准连接。诸如存储器系统110之类的多个外围装置可以联接至主机102中包括的单个收发器。
参照图2,纠错电路138可以纠正从存储器装置150读取的数据的错误位,并且可以包括纠错码(ECC)编码器和ECC解码器。ECC编码器可以对要编程在存储器装置150中的数据执行纠错编码以生成添加了奇偶校验位的编码数据,并将编码数据存储在存储器装置150中。当控制器130读取存储器装置150中存储的数据时,ECC解码器可以检测并纠正从存储器装置150读取的数据中包含的错误位。例如,在对从存储器装置150读取的数据执行纠错解码之后,纠错电路138确定纠错解码是否已经成功,并且基于纠错解码的结果输出指示信号(例如,纠正成功信号或纠正失败信号)。纠错电路138可以使用在针对存储器装置150中存储的数据的ECC编码过程期间已经生成的奇偶校验位,以便纠正读取数据的错误位。当错误位的数量大于或等于可纠正的错误位的数量时,纠错电路138可以不纠正错误位而是替代地可以输出指示错误位纠正失败的纠正失败信号。
根据实施方式,纠错电路138可以基于诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem:BCH)码、turbo码、里德-所罗门(Reed-Solomon:RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、块编码调制(BCM)等的编码调制来执行纠错操作。纠错电路138可以包括用于基于上述码中的至少一个来执行纠错操作的所有电路、模块、系统和/或装置。图2所示的纠错电路138可以包括图2所示的控制器130中所包括的组件中的至少一些。
例如,ECC解码器可以对从存储器装置150发送的数据执行硬判决解码或软判决解码。硬判决解码可以被理解为广泛分类用于纠错的两种方法之一。硬判决解码可以包括通过从存储器装置150中的非易失性存储器单元读取数字数据“0”或“1”来纠正错误位的操作。因为硬判决解码处置二进制逻辑信号,所以与软判决解码相比,电路/算法设计或配置可以更简单并且处理速度可以更快。
软判决解码可以通过两个或更多个量化值(例如,多位数据、近似值、模拟值等)来对存储器装置150中的非易失性存储器单元中的阈值电压进行量化,以便基于两个或更多个量化值来纠正错误位。控制器130可以从存储器装置150中的多个非易失性存储器单元接收两个或更多个字母或量化值,然后基于通过将量化值表征为诸如条件概率或似然性之类的信息的组合而生成的信息来执行解码。
根据实施方式,ECC解码器可以使用针对软判决解码而设计的方法当中的低密度奇偶校验和生成器矩阵(LDPC-GM)码。低密度奇偶校验(LDPC)码使用如下算法:其可以根据可靠性将存储器装置150中的数据的值读取为若干位,而不是像硬判决解码那样简单的1或0的数据,并通过消息交换迭代地重复它,以提高值的可靠性。然后,这些值最终被确定为1或0的数据。例如,使用LDPC码的解码算法可以理解为概率解码。在硬判决解码中,从非易失性存储器单元输出的值被解码为0或1。与硬判决解码相比,软判决解码可以基于随机信息确定非易失性存储器单元中存储的值。关于位翻转(其可以被认为是在存储器装置150中可以发生的错误),软判决解码可以提供纠正错误和恢复数据的改进概率,以及提供纠正的数据的可靠性和稳定性。LDPC-GM码可以具有如下方案:内部LDGM码可以与高速LDPC码串联级联。
根据实施方式,ECC解码器可以使用例如低密度奇偶校验卷积码(LDPC-CC)用于软判决解码。LDPC-CC可以具有使用基于可变块长度和移位寄存器的线性时间编码和流水线解码的方案。
根据实施方式,ECC解码器可以使用例如对数似然比Turbo码(LLR-TC)用于软判决解码。对数似然比(LLR)可以被计算为采样值与理想值之间距离的非线性函数。另外,Turbo码(TC)可以包括二维或三维的简单码(例如,汉明码),并且在行方向和列方向上重复解码以提高值的可靠性。
电源管理单元(PMU)140可以控制提供给控制器130的电力。PMU 140可以监测供应给存储器系统110的电力(例如,供应给控制器130的电压)并且向控制器130中包括的组件提供电力。PMU 140不仅可以检测通电或断电,而且可以生成触发信号以使存储器系统110能够在供应给存储器系统110的电力不稳定时紧急备份当前状态。根据实施方式,PMU 140可以包括能够累积可以在紧急情况下使用的电力的装置或组件。
存储器接口142可以用作用于处置在控制器130和存储器装置150之间传送的命令和数据的接口,以便允许控制器130响应于从主机102输入的命令或请求来控制存储器装置150。在存储器装置150是闪存的情况下,存储器接口142可以生成用于存储器装置150的控制信号并且可以在处理器134的控制下处理输入到存储器装置150或从存储器装置150输出的数据。
例如,当存储器装置150包括NAND闪存时,存储器接口142包括NAND闪存控制器(NFC)。存储器接口142可以提供用于处置控制器130和存储器装置150之间的命令和数据的接口。根据实施方式,存储器接口142可以通过称为闪存接口层(FIL)的固件来实现或者由其驱动,以用于与存储器装置150交换数据。
根据实施方式,存储器接口142可以支持开放NAND闪存接口(ONFi)、切换模式(toggle mode)等,以用于与存储器装置150的数据输入/输出。例如,ONFi可以使用包括能够支持以8位或16位数据为单位的双向发送和接收的至少一条信号线的数据路径(例如,通道、通路等)。控制器130与存储器装置150之间的数据通信可以通过关于异步单倍数据速率(SDR)、同步双倍数据速率(DDR)、切换双倍数据速率(DDR)等的至少一个接口来实现。
存储器144可以用作存储器系统110或控制器130的工作存储器,同时临时存储在存储器系统110和控制器130中执行的操作的事务数据。例如,存储器144可以在向主机102输出读取数据之前临时存储响应于来自主机102的读取请求而从存储器装置150输出的读取数据。另外,控制器130可以在将写入数据编程到存储器装置150中之前将从主机102输入的写入数据临时存储在存储器144中。当控制器130控制存储器装置150的诸如数据读取操作、数据写入或编程操作、数据擦除操作等的操作时,在控制器130与存储器系统110的存储器装置150之间传输的数据可以临时存储在存储器144中。
除了读取数据或写入数据之外,存储器144可以存储用于在主机102和存储器装置150之间输入或输出数据的信息(例如,映射数据、读取请求、编程请求等)。根据实施方式,存储器144可以包括命令队列、编程存储器、数据存储器、写入缓冲器/缓存、读取缓冲器/缓存、数据缓冲器/缓存、映射缓冲器/缓存等中的一个或更多个。控制器130可以在存储器144中为被建立以施行数据输入/输出操作的组件分配一些存储空间。例如,在存储器144中建立的写入缓冲器可以用于临时存储经历编程操作的目标数据。
在实施方式中,可以用易失性存储器来实现存储器144。例如,可以用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实现存储器144。尽管图2例示了例如设置在控制器130内的存储器144,但是实施方式不限于此。存储器144可以位于控制器130内部或外部。例如,存储器144可以由具有在存储器144和控制器130之间传送数据和/或信号的存储器接口的外部易失性存储器来体现。
处理器134可以控制存储器系统110的整体操作。例如,处理器134可以响应于从主机102进入的写入请求或读取请求而控制存储器装置150的编程操作或读取操作。根据实施方式,处理器134可以执行固件以控制存储器系统110中的编程操作或读取操作。在本文中,固件可以被称为闪存转换层(FTL)。根据实施方式,可以用微处理器、中央处理单元(CPU)等来实现处理器134。
根据实施方式,可以用至少一个多核处理器来实现存储器系统110。多核处理器是其中集成了两个或更多个被认为是区分的处理区域的核的一种电路或芯片。例如,当多核处理器中的多个核独立地驱动或执行多个闪存转换层(FTL)时,可以提高存储器系统110的数据输入/输出速度(或性能)。根据实施方式,存储器系统110中的数据输入/输出(I/O)操作可以通过多核处理器中的不同核独立地执行。
控制器130中的处理器134可以执行与从主机102输入的请求或命令相对应的操作。此外,存储器系统110可以独立于从主机102输入的命令或请求而执行操作。在一种情况下,由控制器130响应于从主机102输入的请求或命令而执行的操作可以被认为是前台操作,而由控制器130独立于从主机102输入的请求或命令而执行的操作可以被认为是后台操作。控制器130可以执行前台或后台操作,以用于读取、写入或擦除存储器装置150中的数据。另外,对应于作为从主机102发送的设置命令的设置参数命令或设置特征命令的参数设置操作可以被认为是前台操作。作为可以在没有从主机102发送的命令的情况下执行的后台操作的示例,控制器130可以执行垃圾收集(GC)、损耗均衡(WL)、用于识别和处理坏块的坏块管理等。
根据实施方式,可以执行基本相似的操作作为前台操作和后台操作两者。例如,当存储器系统110响应于从主机102输入的请求或命令而执行垃圾收集(例如,手动GC)时,垃圾收集可以被认为是前台操作。当存储器系统110独立于主机102而执行垃圾收集(例如,自动GC)时,垃圾收集可以被认为是后台操作。
当存储器装置150包括多个管芯(或多个芯片)而每个管芯包括多个非易失性存储器单元时,控制器130可以执行关于从主机102输入的多个请求或命令的并行处理,以便提高存储器系统110的性能。例如,发送的请求或命令可以被分成包括存储器装置150中所包括的多个平面、多个管芯或多个芯片中的至少一些的多个组,并且在每个平面、每个管芯或每个芯片中单独或并行地处理多个组的请求或命令。
控制器130中的存储器接口142可以通过至少一个通道和至少一个通路连接至存储器装置150中的多个管芯或芯片。当控制器130响应于与包括非易失性存储器单元的多个页相关联的请求或命令而通过每个通道或每个通路将数据分发并存储在多个管芯中时,与请求或命令相对应的多个操作可以在多个管芯或平面中同时或并行地执行。这种处理方法或方案可以被认为是交织方法。因为通过以交织方法进行操作来增加存储器系统110的数据输入/输出速度,所以能够提高存储器系统110的数据I/O性能。
通过示例的方式而非限制,控制器130可以识别与存储器装置150中所包括的多个管芯相关联的多个通道(或通路)的状态。控制器130可以将每个通道或每个通路的状态确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和异常状态之一。由控制器进行的通过哪个通道或通路递送指令(和/或数据)的确定可以与物理块地址相关联。控制器130可以参考从存储器装置150递送的描述符。描述符可以包括描述关于存储器装置150的某些事情的参数的块或页。描述符可以具有预定格式或结构。例如,描述符可以包括装置描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定使用哪个通道或通路来交换指令或数据。
参照图2,存储器系统110中的存储器装置150可以包括多个存储块152、154、156。多个存储块152、154、156中的每一个包括多个非易失性存储器单元。根据实施方式,存储块152、154、156可以是一起被擦除的一组非易失性存储器单元。存储块152、154、156可以包括多个页,这些页是一起被读取或编程的一组非易失性存储器单元。
在一个实施方式中,每个存储块152、154或156可以具有高集成度的三维层叠结构。此外,存储器装置150可以包括多个管芯,每个管芯包括多个平面,每个平面包括多个存储块152、154、156。存储器装置150的构造可以依据存储器系统110的性能而改变。
图2例示了包括多个存储块152、154和156的存储器装置150。根据在一个存储器单元中可以存储的位数,多个存储块152、154和156可以是单级单元(SLC)存储块、多级单元(MLC)存储块等中的任何一个。SLC存储块包括由每个存储器单元存储一位数据的存储器单元实现的多个页。SLC存储块可以比MLC存储块具有更高的数据I/O操作性能和更高的耐用性。MLC存储块包括由每个存储器单元存储多位数据(例如,两个位或更多位的数据)的存储器单元实现的多个页。与SLC存储块相比,MLC存储块对于相同的空间可以具有更大的储存容量。从储存容量的角度来看,MLC存储块可以是高度集成的。
在实施方式中,存储器装置150可以用诸如双级单元(DLC)存储块、三级单元(TLC)存储块、四级单元(QLC)存储块以及它们的组合之类的MLC存储块来实现。DLC存储块可以包括由每个存储器单元能够存储2位数据的存储器单元实现的多个页。TLC存储块可以包括由每个存储器单元能够存储3位数据的存储器单元实现的多个页。QLC存储块可以包括由每个存储器单元能够存储4位数据的存储器单元实现的多个页。在另一实施方式中,存储器装置150可以用包括由每个存储器单元能够存储五位或更多位的数据的存储器单元实现的多个页的块来实现。
根据实施方式,控制器130可以使用存储器装置150中所包括的MLC存储块作为SLC存储块,该SLC存储块在一个存储器单元中存储一位数据。多级单元(MLC)存储块的数据输入/输出速度可以比SLC存储块的数据输入/输出速度慢。也就是说,当MLC存储块用作SLC存储块时,能够减少读取操作或编程操作的裕量。例如,当MLC存储块用作SLC存储块时,控制器130可以以更高的速度执行数据输入/输出操作。因此,控制器130可以使用MLC存储块作为SLC缓冲器来临时存储数据,这是因为缓冲器可以需要高数据输入/输出速度以提高存储器系统110的性能。
此外,根据实施方式,控制器130可以在不对存储器装置150中所包括的特定MLC存储块执行擦除操作的情况下,在MLC中多次编程数据。通常,非易失性存储器单元不支持数据覆写。然而,控制器130可以利用MLC能够存储多位数据的特征来在MLC中多次编程1位数据。对于MLC覆写操作,当在MLC中编程1位数据时,控制器130可以将编程次数存储为单独的操作信息。根据实施方式,可以在另一个1位数据被编程到各自已经存储了1位数据的相同MLC中之前执行用于均匀地拉平MLC的阈值电压的操作。
在实施方式中,存储器装置150被实施为诸如闪存(例如,NAND闪存、NOR闪存等)之类的非易失性存储器。在另一实施方式中,可以通过相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)和自旋转移力矩磁随机存取存储器(STT-MRAM)等中的至少一个来实现存储器装置150。
图3例示了增量步进脉冲编程(ISPP)操作。
参照图3,数据可以被编程在处于擦除状态的非易失性存储器单元中。当向联接至非易失性存储器单元的字线供应编程脉冲时,非易失性存储器单元的阈值电压分布可以从擦除状态向右(阈值电压增加的方向)移位。如果编程脉冲被连续地供应给非易失性存储器单元,则非易失性存储器单元的阈值电压分布可以连续地向右移位。可以供应编程脉冲,直到在阈值电压分布中多个非易失性存储器单元中的大多数具有高于目标电压VTARG的阈值电压。
更具体地,当编程操作开始时(操作212),存储器装置150可以向要编程有数据的多个非易失性存储器单元施加编程脉冲(操作214)。在施加编程脉冲之后,存储器装置150可以验证多个非易失性存储器单元中的大多数是否具有高于目标电压VTARG的阈值电压VTH(操作216)。当根据验证结果FAIL(失败)确定多个非易失性存储器单元中的大多数不具有高于目标电压VTARG的阈值电压VTH时,存储器装置150向对应的非易失性存储器单元施加另一编程脉冲(操作214)。当根据另一验证结果PASS(通过)确定多个非易失性存储器单元中的大多数具有高于目标电压VTARG的阈值电压VTH时,存储器装置150可以结束编程操作(操作218)。
为了缩窄多个非易失性存储器单元的阈值电压分布,有利的是当施加单个编程脉冲时将多个非易失性存储器单元的阈值电压分布略微向右移位,而不是将它们大大地向右移位。另一方面,当多个非易失性存储器单元的阈值电压分布略微向右移位时,施加编程脉冲的次数可以增加。根据实施方式,它可以是非易失性存储器单元中可以存储的数据位数的三倍或更多倍。例如,当可以在非易失性存储器单元中存储2位数据时,非易失性存储器单元可以具有与2位数据相对应的四个编程状态(例如,“00”、“01”、“10”和“11”)。为了形成更紧密的阈值电压分布(即,更窄的分布),多个非易失性存储器单元的阈值电压分布响应于单个编程脉冲而向右移位的程度可以小于两个相邻编程状态之间的差异。例如,当施加两个或更多个编程脉冲时,它可以设计为按照两个相邻编程状态之间的差异进行移动。在这种情况下,施加编程脉冲的次数可以是8次或更多次,这多余数据的位数的四倍。
根据本公开的实施方式,当施加单个编程脉冲时多个非易失性存储器单元的阈值电压分布移动的程度可以理解为目标电平。参照图6,将更详细地描述目标电平。
图4例示了根据本公开的实施方式的用于在非易失性存储器单元中存储多位数据的方法。图4例示了在包括各自能够存储3位数据的非易失性存储器单元的存储器装置150中执行的编程操作。
存储在非易失性存储器单元中的数据可以基于对应的存储器单元的阈值电压VTH的电平来区分。存储器单元的阈值电压VTH可以依据注入到对应的存储器单元的浮栅中的电子或电荷的数量而变化。单级单元SLC可以分为两个范围的阈值电压VTH,以存储“0”或“1”的1位数据。另一方面,存储器装置150中的三级单元TLC可以具有八个阈值电压范围。
参照图4,为了减少在增量步进脉冲编程(ISPP)操作中的编程脉冲的施加次数,可以不同地控制响应于三级单元TLC中存储的数据位而施加至三级单元TLC的编程脉冲的施加。三级单元TLC中存储的数据可以分为LSB数据、CSB数据和MSB数据。在对LSB数据进行编程的过程中,施加编程脉冲的次数可以是最小的,并且在对CSB数据进行编程的过程中施加编程脉冲的次数可以大于对LSB数据进行编程的施加次数。在对MSB数据进行编程的过程中,施加编程脉冲的次数可以是最大的。
在包括三级单元(TLC)的存储器装置中,每个物理页可以分为三个逻辑页,即LSB页、CSB页和MSB页。施加到每个页的编程脉冲可以不同。也就是说,在对LSB数据、CSB数据和MSB数据进行编程的过程中可以引发不同的正阈值电压(VTH)分布的移位。例如,多个非易失性存储器单元的阈值电压VTH可以在对LSB页进行编程的过程中移动最多,并且多个非易失性存储器单元的阈值电压VTH可以在对MSB页进行编程的过程中移动最少。根据实施方式,当在对LSB页进行编程的过程中施加编程脉冲的次数最少时,延迟时间可以最短并且功耗也可以最小。另一方面,在对MSB页进行编程的过程中,施加编程脉冲的次数可以增加,使得延迟时间和功耗可以增加。
图5例示了根据本公开的实施方式的ISPP操作的编程电压施加操作和验证操作。
参照图5,在ISPP操作期间执行编程电压施加操作Pgm之后,存储器装置150执行与编程电压施加操作Pgm相对应的验证操作Ver。每个编程电压施加操作Pgm可以使非易失性存储器单元的阈值电压VTH增加。例如,每个编程电压施加操作Pgm将非易失性存储器单元的阈值电压VTH增加第一电位差ΔV。在执行编程电压施加操作Pgm之后,非易失性存储器单元的阈值电压VTH可以在验证操作中与验证电压进行比较。当非易失性存储器单元的阈值电压VTH低于验证电压时,可以再次执行下一个编程电压施加操作Pgm,以将更多电子添加到非易失性存储器单元的浮栅中。此后,响应于对应的编程电压施加操作Pgm而执行验证操作Ver。可以执行重复的编程电压施加操作Pgm直到非易失性存储器单元的阈值电压VTH达到目标电压(例如,验证电压)。
根据实施方式,编程电压施加操作Pgm和验证操作Ver的重复次数可以依据待机时间或延迟时间、功耗、准确度等而变化。当通过编程电压施加操作Pgm精细地增加非易失性存储器单元的阈值电压VTH时,能够增加编程电压施加操作的准确度。然而,由于可以执行更多次的编程电压施加操作,所以延迟时间和功耗可以更长和更大。另一方面,当非易失性存储器单元的阈值电压VTH通过每个编程电压施加操作Pgm大大地增加时,编程电压施加操作Pgm的功耗和操作时间可以减小和缩短。编程电压施加操作Pgm和验证操作Ver的操作时间Δt可以根据每个编程电压施加操作Pgm的目标(例如,阈值电压VTH的改变)而变化。
参照图4和图5,在包括三级非易失性存储器单元TLC的存储器装置中,可以基于在存储器单元的最低有效位LSB、中心有效位CSB和最高有效位MSB中编程数据的目的和过程而不同地执行编程电压施加操作Pgm和验证操作Ver。在图4中,作为示例已经描述了包括三级非易失性存储器单元TLC的存储器装置,但是上述编程操作也可以应用于包括用于存储4位数据的四级非易失性存储器单元(QLC)、或能够存储5位或更多位数据的非易失性存储器单元的存储器装置。
根据实施方式,针对ISPP操作期间的每个编程循环,在编程电压施加操作Pgm中施加到非易失性存储器单元的编程脉冲的电压电平可以按照预设电压ΔV逐渐增加。然而,在与编程电压施加操作Pgm相对应的验证操作Ver中施加到非易失性存储器单元的验证脉冲的电压电平可以基本相同(即,不改变)。在针对每个编程循环的验证操作Ver中,基本相同的验证脉冲被施加到非易失性存储器单元,但是用于施加验证脉冲的时间Δt可以改变。此外,当通过反映根据存储器装置150的操作特性而生成的噪声来执行验证操作时,存储器装置150可以改变或调整验证脉冲的电压电平。
图6例示了根据本公开的实施方式的与多个编程脉冲相对应的目标电平。图6示出了存储2位数据的非易失性存储器单元的编程状态和根据编程脉冲的目标电平。
参照图6,非易失性存储器单元可以具有擦除状态P0和三个编程状态P1至P3。例如,存储器装置150可以向非易失性存储器单元施加第二参考电压REF2,以将擦除状态P0和第一编程状态P1与第二编程状态P2和第三编程状态P3区分开。在存储器装置150中,第一参考电压REF1可以用于将擦除状态P0与第一编程状态P1区分开。存储器装置150可以使用第三参考电压REF3来将第二编程状态P2和第三编程状态P3彼此区分开。例如,擦除状态P0可以表示为’“11”的2位数据,第一编程状态P1可以表示为’“10”的2位数据,第二编程状态P2可以表示为’“00”的2位数据,并且第三编程状态P3可以表示为’“01”的2位数据。根据实施方式,非易失性存储器单元中可以存储的数据的位数可以改变。此外,用于区分多位数据的参考电压(或参考电压电平)的数量可以改变。
在将非易失性存储器单元从擦除状态P0编程为第一编程状态P1至第三编程状态P3之一的过程中可以施加多个编程脉冲。当编程脉冲被施加到特定存储器单元时,对应的存储器单元的阈值电压可以逐渐增加。例如,为了将特定非易失性存储器单元的阈值电压从第二编程状态P2增加到第三编程状态P3,可以分阶段地施加多个编程脉冲。例如,在图6中,通过施加八个编程脉冲或将编程脉冲施加八次,非易失性存储器单元的阈值电压分布可以从第二编程状态P2逐渐增加到第三编程状态P3。施加到特定存储器单元以增加阈值电压的预设电压的编程脉冲的次数越大,阈值电压分布的宽度越窄。
如果非易失性存储器单元的阈值电压分布可以通过编程电压施加操作的施加的编程脉冲而略微向右移位,则可以响应于编程电压施加操作来执行验证操作。例如,在施加第N个编程脉冲之后,存储器装置150可以对与第N个编程脉冲相对应的N目标电平执行验证操作。根据实施方式,在施加第N个编程脉冲之后,对分别与第N编程脉冲、第(N-1)编程脉冲、和第(N-2)编程脉冲相对应的多个目标电平(例如,N目标电平、N-1目标电平、N-2目标电平)执行验证操作。如果在施加单个编程脉冲之后针对若干目标电平执行验证操作,则存储器装置150可以更准确地确定多个非易失性存储器单元的阈值电压分布。基于验证,存储器装置150可以使各自对应于第一编程状态P1至第三编程状态P3中的一个的阈值电压分布的宽度缩窄。此外,存储器装置150可以更准确地确定损耗程度或操作的结果。
当在存储器组330中所包括的多个非易失性存储器单元中存储数据的同时施加多个编程脉冲时,参照图1描述的控制电路180可以包括关于响应于每个编程脉冲而验证的目标电平的信息。另外,根据响应于每个编程脉冲而执行的验证操作的结果,控制电路180可以包括关于施加到多个非易失性存储器单元的下一个编程脉冲具有哪一电平或多长的信息。根据实施方式,这样的信息可以以查找表的形式存储。
图7例示了根据本公开的实施方式的用于操作存储器装置的方法的第一示例。
参照图7,用于操作存储器装置的方法510可以包括向多个非易失性存储器单元施加编程脉冲(操作512)并将施加编程脉冲的次数(循环次数)与最大盲值进行比较(操作514)。如参照图3所描述的,编程脉冲可以被施加若干次以将数据编程到多个非易失性存储器单元中。
在本文中,盲值可以指示在没有验证操作的情况下施加至少一个编程脉冲的至少一个目标电平。盲值可以表示存储器装置150针对多少目标电平跳过或省略了验证操作。当估计目标电平在非易失性存储器单元的阈值电压分布中的在识别数据时不会发生错误的范围内时,存储器装置150可以不执行关于目标电平的验证操作。例如,参照图6,当目标电平在第三编程状态P3的分布中的高于中值的范围内时,存储器装置150可以不必执行关于目标电平的验证操作。用于识别第三编程状态P3的参考电压可以是第三参考电压REF3。在第三编程状态P3的分布中,高于中值的目标电平高于第三参考电压REF3,即,目标电平位于第三参考电压的右侧。这种没有验证操作的编程或擦除操作可以被称为盲方法。根据实施方式,如果需要响应于施加到多个非易失性存储器单元的编程脉冲而进行验证的最大电平是N目标电平,则N+1目标电平可以是盲值(即,可以不执行关于N+1目标电平的验证)。
通过将施加编程脉冲的次数(循环次数)与最大盲值进行比较的操作514,存储器装置150能够避免用连续增加验证操作的目标电平的无限循环来执行编程电压施加操作或验证操作。当达到响应于编程脉冲的最大目标电平时(操作514中的“否”),存储器装置可以不再增加用于验证操作的目标电平。另一方面,当没有达到对应于编程脉冲的最大目标电平时(操作514中的“是”),存储器装置150可以将用于验证操作的目标电平增加到下一电平(操作516)。
当确定了验证操作中的至少一个目标电平时,存储器装置150可以执行验证操作520(例如,将验证电压施加到已编程的存储器单元)。根据实施方式,可以响应于多个目标电平来执行验证操作520。电流感测电路(CSC)可以生成指示多个非易失性存储器单元中的至少一些是否已经达到目标阈值电压的检查信号CS。根据验证操作520,电流感测电路CSC可以选择性地生成检查信号(操作528)。
根据实施方式,验证操作520可以包括执行对应于N目标电平的验证操作(操作522)、执行对应于N-1目标电平的验证操作(操作524)以及执行对应于N-2目标电平的验证操作(操作526)。可以执行验证操作520以用于基于各种目标电平检查非易失性存储器单元的阈值电压分布,各种目标电平可以根据存储在非易失性存储器单元中的数据的位数、阈值电压分布响应于单个编程脉冲的移动范围等来预设。当可以关于多个目标电平(诸如与参照图6描述的第一编程状态P1至第三编程状态P3相对应的阈值电压分布中的N目标电平和低于N目标电平的电平)执行验证操作520时,存储器装置可以确定下一编程脉冲以缩窄阈值电压分布的宽度。
图8例示了根据本公开的实施方式的编程操作中的阈值电压分布的变化。
在图8中,描述在施加编程脉冲以使阈值电压分布向右移位之后执行的验证操作。可以施加多个编程脉冲以便达到非易失性存储器单元的编程状态PV1、PV2。
在图8中,在施加编程脉冲之前的阈值电压分布可以由虚线指示。当针对N目标电平(图8中例示为“DPGM N电平”)将编程脉冲施加到多个非易失性存储器单元时,多个非易失性存储器单元的阈值电压分布可以从虚线形状向右移位到实线形状。在这种情况下,如果对多个非易失性存储器单元执行编程操作以具有第一编程值PV1,则可以理解,多个非易失性存储器单元基于移位的阈值电压分布被充分地编程。在这种情况下,存储器装置150可以响应于针对N目标电平的编程电压施加操作而执行关于N+1目标电平(在图8中例示为“预验证N+1电平”)的预验证。在关于N+1电平的预验证中,存储器装置150可以识别至少一个非易失性存储器单元已被编程有N+1目标电平。在这种情况下,在施加下一个编程脉冲之后执行的验证操作中,可以执行关于自N+1目标电平开始的电平的验证操作。在当前编程循环(即,第N编程循环)中,存储器装置150可以确定具有超过N+1目标电平的阈值电压的非易失性存储器单元的数量是否大于阈值。在下一编程循环(即,第(N+1)编程循环)中,验证可以从N+1目标电平开始。当在当前编程循环中的非易失性存储器单元的数量大于阈值时,存储器装置150可以在下一编程循环中跳过或省略关于N目标电平和N-1目标电平的验证操作。
多个非易失性存储器单元的阈值电压分布可以关于中值具有对称性。因此,如果在关于比当前编程循环中的目标电平更高的目标电平的验证操作中感测到至少一个非易失性存储器单元,则即使在下一编程循环中省略或跳过了关于比目标电平更低的目标电平的验证,存储器装置150也可以估计粗略的阈值电压分布。
图9A和图9B例示了根据本公开的实施方式的改进的编程和验证操作。
具体来说,图9A和图9B示出了用于提高存储器装置150的编程操作速度的方法。为了使多个非易失性存储器单元的阈值电压分布缩窄,有利的是减小增量步进脉冲编程(ISPP)的增量步进。然而,随着ISPP的增量步进减小,在存储器装置150中执行的编程操作的性能可能降低。
参照图9A,在ISPP期间,存储器装置150可以减少向多个非易失性存储器单元施加编程脉冲的次数。在第(i-1)编程循环中,多个编程脉冲可以已经被施加到联接至被选字线的多个非易失性存储器单元。此后,当通过对应于第(i-1)编程循环的验证过程(1位通过)检测到满足特定目标电平的至少一个非易失性存储器单元时,存储器装置150可以确定在下一个第i编程循环中向非易失性存储器单元施加仅针对比特定目标电平更高的目标电平的至少一个编程脉冲。也就是说,可以省略或跳过与比在非易失性存储器单元中检测到的特定目标电平低的目标电平相对应的编程脉冲的施加。通过此过程,可以减少在ISPP上所花费的操作时间和电力。
参照图9B,存储器装置150可以减少在与编程电压施加操作相对应的验证操作上花费的时间。在向非易失性存储器单元施加多个编程脉冲之后,可以通过关于N目标电平的验证操作(1位通过)检测到至少一个非易失性存储器单元。可以首先执行关于与下一个编程电压施加操作相对应的N+1目标电平的验证操作。可以省略或跳过关于N目标电平和比N目标电平低的目标电平的验证操作。通过这种方法,存储器装置150能够减少在编程电压施加操作之后执行的验证操作上所花费的时间。
图10例示了根据本公开的实施方式的用于操作存储器装置的方法的第二示例。
参照图10,用于操作存储器装置的方法530可以包括:向多个非易失性存储器单元施加编程脉冲(操作532)并且执行关于比与编程脉冲相对应的目标电平更高的目标电平的验证操作,以检查具有大于或等于更高的目标电平的阈值电压的存储器单元的数量是否超过预设阈值(操作534)。根据实施方式,方法530可以在编程循环期间由存储器装置150执行。
当存储器装置150通过关于比与所施加的编程脉冲相对应的目标电平更高的目标电平的验证操作,确定非易失性存储器单元的数量大于或等于预设阈值时(操作534中的“是”),可以增加与当前编程脉冲相对应的验证操作的目标电平(操作536)。当通过关于比与所施加的编程脉冲相对应的目标电平更高的目标电平的验证操作,非易失性存储器单元的数量小于预设阈值时(操作534中为“否”),用于与当前编程脉冲相对应的验证操作的目标电平可以不增加。
存储器装置150可以执行关于比与当前编程脉冲相对应的目标电平更高的目标电平的验证操作(操作538)。该验证结果可以用于确定如何执行与下一个编程循环中施加的编程脉冲相对应的验证操作。
根据实施方式,存储器装置150可以调整关于经历验证操作的预设目标电平的验证操作(操作540)。例如,可以基于在验证操作期间检查的存储器单元的数量,来调整或跳过当前编程循环中针对多个目标电平nPV、n-1PV、n-2PV的验证操作(操作540)。根据实施方式,验证操作540可以包括响应于多个目标电平的多个验证操作。电流感测电路(CSC)可以生成指示多个非易失性存储器单元中的至少一些是否具有达到目标电平的阈值电压的检查信号CS。响应于验证操作540,电流感测电路CSC可以选择性地生成检查信号(操作548)。
根据实施方式,验证操作540可以包括执行关于N目标电平的验证操作(操作542)、执行关于N-1目标电平的验证操作(操作544)以及执行关于N-2目标电平的验证操作(操作546)。可以针对根据非易失性存储器单元中存储的数据的位数、阈值电压分布响应于编程脉冲而移位或移动的范围等确定的各种目标电平来执行验证操作540。当针对N目标电平和低于N目标电平的电平执行验证操作,以实现参照图6描述的第一编程状态P1至第三编程状态P3的阈值电压分布时,存储器装置150可以确定下一个编程脉冲,以缩窄阈值电压分布的宽度。
根据实施方式,存储器装置150可以执行关于比与所施加的编程脉冲相对应的目标电平更高的目标电平的验证操作。例如,当在关于比与所施加的编程脉冲相对应的目标电平更高的目标电平的验证操作中非易失性存储器单元的数量大于或等于预设阈值时(操作534中的“是”),可以跳过或省略验证操作540中的针对至少一些较低目标电平的验证操作。如参照图9B所描述的,当省略或跳过针对至少一些较低目标电平的验证操作时,可以减少在验证操作上所花费的资源。
图11例示了根据本公开的实施方式的验证操作。具体地,图11描述了在向非易失性存储器单元施加编程脉冲之后执行的验证操作。验证操作可以包括关于N+1目标电平的验证操作,该N+1目标电平高于与用于将非易失性存储器单元编程有N目标电平的编程脉冲相对应的N目标电平。
参照图11,存储器装置150可以施加用于将非易失性存储器单元编程有目标电平PV的编程脉冲。在施加编程脉冲之后,可以针对多个目标电平执行验证操作。验证操作(验证)可以包括关于比与编程脉冲相对应的目标电平PV更高的目标电平PV+的第一验证操作(PV+验证)和关于目标电平PV的第二验证操作(PV验证)。
根据实施方式,用于执行关于更高的目标电平PV+(例如,下一个编程脉冲的目标电平)的第一验证操作(PV+验证)的方法可以分为两种不同的方法,该更高的目标电平PV+比与编程脉冲相对应的目标电平PV高。在第一种方法中,用于第二验证操作(PV验证)的电压电平也用于第一验证操作(PV+验证),但是第一验证操作(PV+验证)的第一验证时间tEVAL1长于用于第二验证操作(PV验证)的第二验证时间tEVAL2或第三验证时间tEVAL3。因为在第一验证操作(PV+验证)和第二验证操作(PV验证)中可以向被选字线施加相同的电平电压,因此预充电操作可以仅在第一验证操作(PV+验证)之前被执行一次。也就是说,在执行单次预充电操作tPreC1之后,可以执行第一验证操作PV+验证和第二验证操作PV验证二者。
第二种方法可以包括针对第一验证操作(PV+验证)施加高于第二验证操作(PV验证)的电压的操作。因为在第一次验证操作(PV+验证)和第二次验证操作(PV验证)中向被选字线施加具有不同电平的电压,因此第一验证时间tEVAL1可能并不比第二验证时间tEVAL2或第三验证时间tEVAL3长。然而,因为具有不同电平的电压被施加到被选字线,所以应该进一步执行单独的预充电操作。也就是说,可以在第一验证操作(PV+验证)之前执行第一预充电操作tPreC1,并且可以在第二验证操作(PV验证)之前执行第二预充电操作tPreC2。
通过在针对目标电平施加编程脉冲之后的上述两种方法,可以关于多个目标电平执行与对应的编程脉冲相对应的验证操作。具体地,多个目标电平可以包括比与所施加的编程脉冲相对应的目标电平PV高的目标电平PV+(例如,与下一编程脉冲相对应的目标电平)。
图12例示了通过根据本公开的实施方式的用于操作存储器装置的方法获得的改进的性能。
参照图12,在编程操作期间能够减少执行验证操作的次数,使得提高编程操作的性能。用于编程电压施加操作的多个编程脉冲PV1至PV7和用于图12中描述的验证操作的多个验证电平1至18可以被量化作为理解本发明的实施方式的示例。能够根据存储器组330的操作特性来改变或调整存储器装置150内使用的多个编程脉冲和多个验证电平。
参照在由存储器装置150执行的编程操作期间没有改变地执行验证操作的情况(图12所示的上表),可以关于五个不同的目标电平执行与第一编程脉冲PV1至第七编程脉冲PV7中的每一个相对应的验证操作。例如,在施加第一编程脉冲PV1之后,可以关于五个目标电平5至1执行验证操作。在与第一编程脉冲PV1相对应的验证操作期间,存储器装置150可以确定具有与更高的目标电平相对应的阈值电压的存储器单元的数量小于预设阈值。因此,在施加第二编程脉冲PV2之后,可以关于五个目标电平7至3执行验证操作。在与第二编程脉冲PV2相对应的验证操作期间,存储器装置150可以确定具有与更高的目标电平相对应的阈值电压的存储器单元的数量小于预设阈值。然后,在施加第三编程脉冲PV3之后,可以针对5个目标电平9至5执行验证操作。在这种情况下,不调整验证。
如图12中例示的下表所示,在根据本公开的实施方式的存储器装置150中,当施加第一编程脉冲PV1时,可以关于下一个(或更高)目标电平6以及五个目标电平5至1执行验证操作。在关于下一个目标电平6的验证操作中,可以检测到至少一个非易失性存储器单元或者存储器装置150可以确定具有与更高的目标电平相对应的阈值电压的存储器单元的数量大于或等于预设阈值。存储器装置150可以调整用于下一编程循环中的验证操作的目标电平。此后,在施加第二编程脉冲PV2之后,可以仅关于等于或大于满足上述预设条件的目标电平6的目标电平执行验证操作。也就是说,关于比目标电平6低的目标电平(例如,电平5、4),省略或跳过验证操作。因此,对于第二编程脉冲PV2,可以执行关于三个目标电平8至6的验证操作。这里,目标电平8可以对应于第三编程脉冲PV3,目标电平7和6可以对应于第二编程脉冲PV2。对于响应于第二编程脉冲PV2而关于三个目标电平8至6执行的验证操作,存储器装置150可能执行图11中描述的第一验证操作PV+验证和第二验证操作PV验证。当在对应于每个编程脉冲的第一验证操作(PV+验证)中检测到至少一个非易失性存储器单元或具有与更高的目标电平相对应的阈值电压的存储器单元的数量大于或等于预设阈值时,可以仅关于图12所示的三个目标电平连续地执行对应于每个编程脉冲所执行的验证操作。当与响应于每个编程脉冲关于预设数量的电平执行验证操作的情况(参见上表)相比时,验证操作的数量(参见下表)可以大大减少。通过该过程,能够提高存储器装置150的编程性能。
如上所述,根据本公开的实施方式的存储器装置能够提高数据输入/输出速度。
另外,根据本公开的实施方式,能够提高存储器装置中存储的数据项的安全性并且能够减少存储器装置的损耗。
虽然已经针对具体实施方式例示并描述了本教导,但是本领域技术人员根据本公开将显而易见的是,可以在不脱离如所附权利要求中限定的本公开的精神和范围的情况下做出各种改变和修改。此外,可以组合实施方式以形成附加的实施方式。
相关申请的交叉引用
本专利申请要求于2021年4月7日提交的韩国专利申请No.10-2021-0045258的优先权,其全部公开内容通过引用并入本文中。
Claims (20)
1.一种存储器装置,该存储器装置包括:
单元组,所述单元组包括能够存储数据的多个非易失性存储器单元;以及
控制电路,所述控制电路执行用于存储所述数据的多个编程循环,每个编程循环包括针对所述多个非易失性存储器单元的编程电压施加操作和与所述编程电压施加操作相对应的验证操作,
其中,所述控制电路在相应的编程循环期间响应于针对N目标电平的所述编程电压施加操作而针对所述N目标电平、低于所述N目标电平的N-1目标电平和高于所述N目标电平的N+1目标电平执行所述验证操作,并且
其中,所述控制电路在具有超过所述N+1目标电平的阈值电压的非易失性存储器单元的数量满足预设标准时,响应于针对所述N+1目标电平的下一编程电压施加操作而跳过针对低于所述N+1目标电平的目标电平的下一验证操作。
2.根据权利要求1所述的存储器装置,其中,与所述多个编程循环相对应的目标电平的数量是要在所述多个非易失性存储器单元中的每一个中存储的数据的位数的三倍。
3.根据权利要求1所述的存储器装置,其中,所述控制电路通过对于针对所述N+1目标电平的第一验证操作向被选字线施加第一电压并且对于针对所述N-1目标电平和所述N目标电平的第二验证操作向所述被选字线施加低于所述第一电压的第二电压来执行与所述编程电压施加操作相对应的所述验证操作。
4.根据权利要求3所述的存储器装置,其中,所述控制电路在所述第一验证操作和所述第二验证操作之前对联接至所述多个非易失性存储器单元的位线进行预充电。
5.根据权利要求1所述的存储器装置,
其中,所述控制电路通过对于针对所述N+1目标电平的第一验证操作和针对所述N-1目标电平或所述N目标电平的第二验证操作向被选字线施加第一电压来执行与所述编程电压施加操作相对应的所述验证操作,并且
其中,所述控制电路比所述第二验证操作更长地执行所述第一验证操作。
6.根据权利要求5所述的存储器装置,其中,所述控制电路在所述第一验证操作之前对联接至所述多个非易失性存储器单元的位线进行预充电。
7.根据权利要求1所述的存储器装置,其中,所述控制电路基于所述多个非易失性存储器单元的编程/擦除周期来改变或调整所述预设标准。
8.一种存储器系统,该存储器系统包括:
控制器,所述控制器确定用于存储编程数据的位置并将编程命令与所述编程数据一起传送;以及
存储器装置,所述存储器装置经由数据路径联接至所述控制器并且接收所述编程命令和所述编程数据并且输出关于针对所述编程数据的编程操作的成功或失败,
其中,所述存储器装置包括:
至少一个存储块,所述至少一个存储块包括能够存储所述编程数据的多个非易失性存储器单元;以及
控制电路,所述控制电路执行用于将所述编程数据存储在所述至少一个存储块中的联接至被选字线的至少一些非易失性存储器单元中的多个编程循环,每个编程循环包括编程电压施加操作和与所述编程电压施加操作相对应的验证操作,
其中,所述控制电路在相应的编程循环期间响应于针对N目标电平的所述编程电压施加操作而针对所述N目标电平、低于所述N目标电平的N-1目标电平和高于所述N目标电平的N+1目标电平执行所述验证操作,并且
其中,所述控制电路在具有超过所述N+1目标电平的阈值电压的非易失性存储器单元的数量满足预设标准时,响应于针对所述N+1目标电平的下一编程电压施加操作而跳过针对低于所述N+1目标电平的目标电平的下一验证操作。
9.根据权利要求8所述的存储器系统,其中,所述存储器装置包括:
缓冲器,所述缓冲器临时存储要存储在所述位置中的所述编程数据;以及
电压供应电路,所述电压供应电路由所述控制电路控制以向所述被选字线施加第一电压并且向未选字线施加与所述第一电压具有不同电平的第二电压。
10.根据权利要求8所述的存储器系统,其中,与所述多个编程循环相对应的目标电平的数量是要在所述多个非易失性存储器单元中的每一个中存储的所述编程数据的位数的三倍。
11.根据权利要求8所述的存储器系统,其中,所述控制电路通过对于针对所述N+1目标电平的第一验证操作向所述被选字线施加第一电压并且对于针对所述N-1目标电平和所述N目标电平的第二验证操作向所述被选字线施加低于所述第一电压的第二电压来执行与所述编程电压施加操作相对应的所述验证操作。
12.根据权利要求11所述的存储器系统,其中,所述控制电路在所述第一验证操作和所述第二验证操作之前对联接至所述至少一些非易失性存储器单元的位线进行预充电。
13.根据权利要求10所述的存储器系统,
其中,所述控制电路通过对于针对所述N+1目标电平的第一验证操作和针对所述N-1目标电平或所述N目标电平的第二验证操作向所述被选字线施加第一电压来执行与所述编程电压施加操作相对应的所述验证操作,并且
其中,所述控制电路比所述第二验证操作更长地执行所述第一验证操作。
14.根据权利要求13所述的存储器系统,其中,所述控制电路在所述第一验证操作之前对联接至所述至少一些非易失性存储器单元的位线进行预充电。
15.根据权利要求8所述的存储器系统,其中,所述控制电路基于所述多个非易失性存储器单元的编程/擦除周期来改变或调整所述预设标准。
16.一种用于操作存储器装置的方法,该方法包括以下步骤:
接收编程数据、关于用于存储所述编程数据的位置的信息和编程命令;
选择与关于所述位置的信息相对应的字线;以及
执行用于将所述编程数据存储在联接至被选字线的至少一些非易失性存储器单元中的多个编程循环,每个编程循环包括编程电压施加操作和与所述编程电压施加操作相对应的验证操作,
其中,执行所述多个编程循环的步骤包括以下步骤:在相应的编程循环期间,
响应于针对N目标电平的所述编程电压施加操作,针对所述N目标电平、低于所述N目标电平的N-1目标电平和高于所述N目标电平的N+1目标电平执行所述验证操作;
确定具有超过所述N+1目标电平的阈值电压的非易失性存储器单元的数量是否满足预设标准;以及
基于所述确定的结果,响应于针对所述N+1目标电平的下一编程电压施加操作而跳过针对低于所述N+1目标电平的目标电平的下一验证操作。
17.根据权利要求16所述的方法,其中,执行所述验证操作的步骤包括以下步骤:
对于针对所述N+1目标电平的第一验证操作,向所述被选字线施加第一电压;以及
对于针对所述N-1目标电平和所述N目标电平的第二验证操作,向所述被选字线施加低于所述第一电压的第二电压。
18.根据权利要求17所述的方法,其中,执行所述验证操作的步骤还包括以下步骤:
在所述第一验证操作之前,对联接至所述至少一些非易失性存储器单元的位线进行预充电;以及
在所述第二验证操作之前,对联接至所述至少一些非易失性存储器单元的位线进行预充电。
19.根据权利要求16所述的方法,其中,执行所述验证操作的步骤包括以下步骤:
对于针对所述N+1目标电平的第一验证操作和针对所述N-1目标电平或所述N目标电平的第二验证操作,向所述被选字线施加第一电压,并且
其中,所述第一验证操作比所述第二验证操作更长地施行。
20.根据权利要求19所述的方法,其中,执行所述验证操作的步骤包括以下步骤:在所述第一验证操作之前,对联接至所述至少一些非易失性存储器单元的位线进行预充电。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0045258 | 2021-04-07 | ||
KR1020210045258A KR20220139081A (ko) | 2021-04-07 | 2021-04-07 | 비휘발성 메모리 장치에 데이터를 프로그램 및 검증하기 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115206399A true CN115206399A (zh) | 2022-10-18 |
Family
ID=83509506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111589186.5A Pending CN115206399A (zh) | 2021-04-07 | 2021-12-23 | 在非易失性存储器装置中编程和验证数据的设备及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11676674B2 (zh) |
KR (1) | KR20220139081A (zh) |
CN (1) | CN115206399A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101772578B1 (ko) | 2011-04-19 | 2017-08-30 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
JP6266479B2 (ja) * | 2014-09-12 | 2018-01-24 | 東芝メモリ株式会社 | メモリシステム |
US9536601B2 (en) * | 2014-11-05 | 2017-01-03 | Macronix International Co., Ltd. | Threshold voltage grouping of memory cells in same threshold voltage range |
KR20200098081A (ko) | 2019-02-11 | 2020-08-20 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
-
2021
- 2021-04-07 KR KR1020210045258A patent/KR20220139081A/ko unknown
- 2021-09-01 US US17/464,416 patent/US11676674B2/en active Active
- 2021-12-23 CN CN202111589186.5A patent/CN115206399A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20220139081A (ko) | 2022-10-14 |
US11676674B2 (en) | 2023-06-13 |
US20220328113A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107799149B (zh) | 数据存储装置及其操作方法 | |
US10963339B2 (en) | Data storage device and operating method thereof | |
KR102530500B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11373709B2 (en) | Memory system for performing a read operation and an operating method thereof | |
US11990191B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
US11894059B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
CN112988054A (zh) | 存储器系统及其操作方法 | |
CN113936715A (zh) | 使用域变换的读取阈值优化系统和方法 | |
US11915762B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
TW202318211A (zh) | 用於編程資料的記憶體裝置和記憶體系統 | |
CN114155889A (zh) | 存储器系统中数据通信的校准设备和方法 | |
CN115148235A (zh) | 电源电路、半导体装置以及电源感测电路 | |
US11676674B2 (en) | Apparatus and method for programming and verifying data in a non-volatile memory device | |
US11887669B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
US11929122B2 (en) | Apparatus and method for erasing data in a non-volatile memory device | |
US20230162806A1 (en) | Apparatus and method for reducing signal interference in a semiconductor device | |
US20240028216A1 (en) | Apparatus and method for programming data in a non-volatile memory device | |
US20240012563A1 (en) | Apparatus and method for programming or reading data based on a program status of a non-volatile memory device | |
KR20230020787A (ko) | 비휘발성 메모리 장치에 데이터를 프로그램하기 위한 장치 및 방법 | |
KR20230017450A (ko) | 비휘발성 메모리 장치에 데이터를 프로그램하기 위한 장치 및 방법 | |
CN115116500A (zh) | 用于提高存储器装置的数据输入/输出速度的设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |