CN115440281A - 与对存储器单元执行编程操作有关的存储器设备 - Google Patents
与对存储器单元执行编程操作有关的存储器设备 Download PDFInfo
- Publication number
- CN115440281A CN115440281A CN202210328894.1A CN202210328894A CN115440281A CN 115440281 A CN115440281 A CN 115440281A CN 202210328894 A CN202210328894 A CN 202210328894A CN 115440281 A CN115440281 A CN 115440281A
- Authority
- CN
- China
- Prior art keywords
- program
- voltage
- programming
- speed
- memory device
- 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
-
- 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
- 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/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/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/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/32—Timing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及与对存储器单元执行编程操作有关的存储器设备。本文提供了用于对存储器单元执行编程操作的存储器设备。该存储器设备包括:多个存储器单元,被配置为存储数据;电压生成器,被配置为在编程操作期间将编程电压施加到与多个存储器单元耦合的字线,在该编程操作中,多个存储器单元被编程到多个编程状态;单元速度确定器,被配置为依赖于在编程操作正被执行的同时施加到字线的编程电压的脉冲数量,来确定多个存储器单元的编程速度;以及编程管理器,被配置为依赖于由单元速度确定器确定的编程速度,改变针对剩余编程操作的条件。
Description
相关申请的交叉引用
本申请要求于2021年6月1日在韩国知识产权局提交的韩国专利申请号10-2021-0070785以及于2021年11月30日在韩国知识产权局提交的韩国专利申请号10-2021-0169310的优先权,这些申请的整体公开内容通过引用并入本文。
技术领域
本公开的各种实施例总体上涉及用于对存储器单元执行编程操作的存储器设备,并且更具体地,涉及被配置为依赖于存储器单元的编程速度来控制编程条件的存储器设备。
背景技术
存储器系统可以包括存储数据的存储器设备和控制存储器设备的控制器。
存储器设备可以包括在其中存储数据的存储器块,以及执行编程操作、读取操作或擦除操作的外围电路。每个存储器块可以包括耦合在位线与源极线之间的多个串,并且该多个串中的每个串可以包括存储器单元,存储器单元可以存储数据。依赖于施加到字线和位线的电压,多个存储器单元可以被编程、读取或擦除。
存储器设备可以包括存储数据的存储器单元阵列,并且存储器单元阵列可以包括多个存储器块。存储器块中的每个存储器块可以包括多个存储器单元。理想情况下,该多个存储器单元的电特性应当彼此相同,但是实际上,由于制造过程的特性,该多个存储器单元的电特性之间可能出现差异。
因此,在编程操作期间,对多个存储器单元执行的编程操作的速度可能彼此不同,从而使存储器设备的编程操作的可靠性劣化。
发明内容
本公开的一个实施例可以提供存储器设备。该存储器设备可以包括:多个存储器单元,被配置为存储数据;电压生成器,被配置为在编程操作期间将编程电压施加到与多个存储器单元耦合的字线,在该编程操作中,多个存储器单元被编程到多个编程状态;单元速度确定器,被配置为依赖于在编程操作正被执行的同时施加到字线的编程电压的脉冲数量,来确定多个存储器单元的编程速度;以及编程管理器,被配置为依赖于由单元速度确定器确定的编程速度,改变针对剩余编程操作的条件。
本公开的一个实施例可以提供存储器设备。该存储器设备可以包括:多个存储器单元,被包括在被选择的页中;控制逻辑电路,被配置为在多个存储器单元正被编程到不同目标编程状态的同时,在从多个存储器单元之中选择的存储器单元被编程到不同目标编程状态之中的参考状态时的时间处,确定编程速度,并且控制逻辑电路被配置为基于确定的编程速度,改变针对编程操作的条件;以及电压生成器,被配置为输出编程电压,使得剩余编程操作在控制逻辑电路的控制下被执行。
附图说明
图1是图示了根据本公开的一个实施例的存储器系统的图。
图2是图示了根据本公开的一个实施例的存储器设备的图。
图3是图示了存储器单元阵列的图。
图4是图示了存储器块的图。
图5是图示了存储器单元的阈值电压分布的图。
图6是图示了依赖于编程速度的存储器单元的阈值电压的图。
图7是图示了依赖于存储器单元的编程速度的编程循环的图。
图8是图示了根据本公开的一个实施例的编程方法的流程图。
图9A和图9B是图示了各种编程操作的图。
图10是图示了根据本公开的一个实施例的控制逻辑电路的图。
图11A、图11B和图11C是图示了根据本公开的第一实施例的编程方法的图。
图12A、图12B和图12C是图示了根据本公开的第二实施例的编程方法的图。
图13A、图13B和图13C是图示了根据本公开的第三实施例的编程方法的图。
图14A、图14B和图14C是图示了根据本公开的第四实施例的编程方法的图。
图15A、图15B和图15C是图示了根据本公开的第五实施例的编程方法的图。
图16A、图16B和图16C是图示了根据本公开的第六实施例的编程方法的图。
图17和图18是图示了根据本公开的第七实施例的编程方法的图。
图19是图示了固态驱动器(SSD)系统的图,根据本公开的存储器设备被应用于该SSD系统。
图20是图示了存储器卡系统的图,根据本公开的存储器设备被应用于该存储器卡系统。
具体实施方式
本说明书或申请中介绍的本公开的实施例中的具体结构或功能描述被提供作为示例,以描述根据本公开的概念的实施例。根据本公开的概念的实施例可以以各种形式被实践,并且不应当被解释为限于说明书或申请中描述的实施例。
本公开的各种实施例涉及存储器设备,该存储器设备能够在存储器设备的编程操作期间,改进存储器单元的阈值电压分布或操作时间。
图1是图示了根据本公开的一个实施例的存储器系统的图。
参考图1,存储器系统1000可以响应于来自主机2000的请求来存储、擦除或输出数据。例如,存储器系统1000可以包括存储器设备1100和控制器1200,存储器设备1100可以存储数据,控制器1200可以在主机2000与存储器设备1100之间执行通信。虽然在图1中图示了包括一个存储器设备1100的存储器系统1000,但是存储器系统1000可以包括两个或更多个存储器设备。在本实施例中,存储器设备1100可以被实现为非易失性存储器设备。
控制器1200可以响应于从主机2000接收的请求而生成用于控制存储器设备1100的命令,并且可以映射地址。控制器1200可以管理由主机2000使用的逻辑地址和由存储器设备1100使用的物理地址。例如,在编程操作期间,控制器1200可以将由主机2000使用的逻辑地址和由存储器设备1100使用的物理地址彼此映射,并且可以将命令、所映射的物理地址和数据输出到存储器设备1100。
存储器设备1100可以响应于从控制器1200输出的命令和物理地址来执行存储数据的编程操作。当用于编程的命令从控制器1200被接收时,根据本实施例的存储器设备1100可以通过依赖于存储器单元的速度独立地改变编程条件来执行编程操作。例如,存储器设备1100可以改变编程条件,使得当存储器单元的编程速度被确定为高于参考速度时,编程条件被控制为减小编程速度,并且使得当存储器单元的编程速度被确定为低于参考速度时,编程条件被控制为增加编程速度。当存储器单元的编程速度被确定为参考速度时,存储器设备1100可以保持编程条件,使得编程速度被维持。
图2是图示了根据本公开的一个实施例的存储器设备的图。
参考图2,存储器设备1100可以包括在其中存储数据的存储器单元阵列110,以及可以执行编程操作、读取操作或擦除操作的外围电路120至180。
存储器单元阵列110可以包括在其中存储数据的多个存储器块。存储器块中的每个存储器块可以包括多个存储器单元,该多个存储器单元可以以二维(2D)结构(其中存储器单元被水平布置在衬底上)或以三维(3D)结构(其中存储器单元被垂直堆叠在衬底上)来被实现。
外围电路120至180可以包括行解码器120、电压生成器130、页缓冲器组140、列解码器150、输入/输出电路160、感测电路170和控制逻辑电路180。
行解码器120可以响应于行地址RADD从存储器单元阵列110中包括的存储器块之中选择一个存储器块,并且可以将操作电压Vop传输到被选择的存储器块。
电压生成器130可以响应于操作码OPCD而生成并且输出各种操作所需的操作电压Vop。例如,电压生成器130可以响应于操作码OPCD而生成开始编程电压、编程电压、读取电压、擦除电压、通过电压、验证电压、负电压等,并且可以选择性地输出所生成的电压。进一步地,电压生成器130可以设置阶跃电压,并且可以在编程操作期间将编程电压逐渐增加阶跃电压。当编程电压被逐渐增加以增加存储器单元的阈值电压时,阶跃电压可以是与前一编程电压与下一编程电压之间的电压差相对应的电压。进一步地,电压生成器130可以针对对应的编程电压来设置负偏移电压或正偏移电压,并且可以依赖于所设置的偏移电压来改变编程电压的电平。
电压生成器130可以响应于操作码OPCD来改变开始编程电压的电平、阶跃电压的电平或编程电压有效时间。此处,编程电压有效时间可以是在其期间编程电压被施加到被选择的字线的时间。
页缓冲器组140可以借助位线而被耦合到存储器单元阵列110。例如,页缓冲器组140可以包括与相应位线耦合的页缓冲器。页缓冲器可以响应于页缓冲器控制信号PBSIGS而同时操作,并且可以在编程或读取操作期间临时存储数据。在编程操作中执行的验证操作期间,页缓冲器可以读取位线的电压或电流(随着存储器单元的阈值电压而变化),并且可以将读取的电压或电流临时存储为验证数据VF。页缓冲器可以将临时存储的验证数据VF传输到感测电路170。
列解码器150可以响应于列地址CADD借助数据线DL传输数据,数据线DL将输入/输出电路160和页缓冲器组140彼此耦合。
输入/输出电路160可以借助输入/输出线IO而被耦合到控制器(例如,图1的1200)。输入/输出电路160可以借助输入/输出线IO接收/输出命令CMD、地址ADD和数据。例如,输入/输出电路160可以将借助输入/输出线IO从控制器1200接收的命令CMD和地址ADD传输到控制逻辑电路180,并且可以将借助输入/输出线IO从控制器1200接收的数据传输到页缓冲器组140。输入/输出电路160可以借助输入/输出线IO,将从页缓冲器组140接收的数据输出到控制器1200。
感测电路170可以在验证数据VF中包括的失败位数量小于或等于可允许失败位数量时输出通过信号PS,并且可以在失败位数量大于可允许失败位数量时输出失败信号FS。
控制逻辑电路180可以响应于命令CMD和地址ADD,输出操作码OPCD、行地址RADD、页缓冲器控制信号PBSIGS和列地址CADD。例如,控制逻辑电路180可以包括响应于命令CMD来执行算法的软件,以及依赖于地址ADD和算法来输出各种信号的硬件。控制逻辑电路180可以基于从感测电路170输出的通过信号PS或失败信号FS,确定在编程操作期间是否已完成对被选择的存储器单元或被选择的页的编程,并且当编程操作完成时,控制逻辑电路180可以依赖于脉冲的数量(即,脉冲计数)来确定被选择的存储器单元或被选择的页的编程速度。而且,控制逻辑电路180可以基于脉冲计数来控制针对下一编程操作的条件。为此,控制逻辑电路180可以包括单元速度检测器210和编程管理器220。
单元速度检测器210可以响应于失败信号FS,对在编程操作中使用的编程电压的数量或执行的编程循环的数量进行计数,该编程操作是对被选择的存储器单元或被选择的页执行的。单元速度检测器210可以响应于通过信号PS,将最终脉冲计数与参考脉冲计数进行比较,并且可以基于比较结果来输出确定结果。例如,确定结果可以包括关于“正常(正常编程速度)”、“快速(快速编程速度)”或“慢速(慢速编程速度)”的信息。例如,单元速度检测器210可以存储与参考速度相对应的参考脉冲计数。单元速度检测器210可以将脉冲计数与参考脉冲计数进行比较,并且然后可以输出确定结果。确定结果可以包括关于被选择的存储器单元或被选择的页的“正常”、“快速”或“慢速”信息。
编程管理器220可以基于从单元速度检测器210输出的确定结果来生成操作码OPCD,并且可以输出针对下一编程操作的操作码OPCD。例如,基于从单元速度检测器210输出的确定结果,编程管理器220可以生成并且输出为了改变开始编程电压的电平、阶跃电压的电平或编程电压有效时间所需的操作码OPCD。即,编程管理器220可以生成并且输出为了改变条件所需的操作码OPCD,该条件对应于从以下项之中选择的至少一者:开始编程电压的电平、阶跃电压的电平和编程电压有效时间。
图3是图示了存储器单元阵列的图。
参考图3,存储器单元阵列110可以被实现为单平面结构或多平面结构。单平面结构是指其中存储器单元阵列110中包括仅一个平面的配置,并且多平面结构是指其中存储器单元阵列110中包括多个平面的配置。在图3中,图示了具有多平面结构的存储器单元阵列110。例如,存储器单元阵列110可以包括第一平面PL1至第四平面PL4。第一平面PL1至第四平面PL4可以被限定为与不同行解码器和不同页缓冲器组耦合的存储器区域。第一平面PL1至第四平面PL4中的每个平面可以包括第一存储器块BLK1至第i存储器块BLKi(其中i是正整数)。不同平面中包括的第一存储器块BLK1至第i存储器块BLKi可以被耦合到不同的行解码器和不同的页缓冲器组,并且相同平面中包括的第一存储器块BLK1至第i存储器块BLKi可以被耦合到相同的行解码器和相同的页缓冲器组。第一存储器块BLK1至第i存储器块BLKi可以以相同的结构来配置。
图4是图示了存储器块的图。
参考图4,通过示例的方式,图3中图示的多个存储器块BLK1至BLKi之中的任一存储器块BLKi被图示。
存储器块BLKi可以包括耦合在第一位线BL1至第m位线BLm(其中m是正整数)与源极线SL之间的多个串ST。串ST中的每个串可以包括串联耦合在源极线SL与第一位线BL1至第m位线BLm中的对应一个位线之间:源极选择晶体管SST、第一存储器单元C1至第n存储器单元Cn和漏极选择晶体管DST。
由于图4中图示的存储器块BLKi旨在解释存储器块的配置,因此源极选择晶体管SST、第一存储器单元C1至第n存储器单元Cn以及漏极选择晶体管DST的数量不限于图4中图示的那些。
与不同串ST耦合的源极选择晶体管SST的相应栅极可以耦合到源极选择线SSL,第一存储器单元C1至第n存储器单元Cn的相应栅极可以耦合到第一字线WL1至第n字线WLn,并且漏极选择晶体管DST的相应栅极可以耦合到漏极选择线DSL。
与相同字线耦合并且被包括在不同串ST中的存储器单元组可以形成一个页(PG)。可以在页(PG)的基础上执行编程操作。
依赖于编程方案,存储器块BLKi中包括的存储器单元可以被各种各样地编程。例如,可以以单级单元(SLC)、多级单元(MLC)、三级单元(TLC)或四级单元(QLC)方案来执行编程操作。SLC方案可以是用于在一个存储器单元中存储1位数据的方案。MLC方案可以是用于在一个存储器单元中存储2位数据的方案。TLC方案可以是用于在一个存储器单元中存储3位数据的方案。QLC方案可以是用于在一个存储器单元中存储4位数据的方案。此外,可以在一个存储器单元中存储5位或更多位数据。下面通过示例的方式描述使用方案之中的TLC方案而被编程的存储器单元的阈值电压分布。
图5是图示了存储器单元的阈值电压分布的图。
参考图5,在使用TLC方案的编程操作中,存储器单元的状态可以根据阈值电压而被划分为擦除状态ER和第一编程状态P1至第七编程状态P7。在根据本实施例的编程操作中,从第一编程状态P1至第七编程状态P7之中选择的任一编程状态可以被设置作为参考状态,并且针对后续编程操作的条件可以依赖于存储器单元被编程到参考状态的速度来控制。例如,参考状态可以被设置为第一编程状态P1至第七编程状态P7中的任一编程状态,但是优选在除了最低状态和最高状态之外的编程状态之中设置参考状态。其原因在于,在具有最低阈值电压的第一编程状态P1中,可能难以清楚地区分快速单元和慢速单元,并且具有最高阈值电压的第七编程状态P7指示在其中对被选择的页的编程操作被终止的间隔。因此,在本实施例中,优选从第一编程状态P1至第七编程状态P7之中选择中间编程状态作为参考状态,或者从低于中间编程状态的编程状态之中,选择除了作为最低编程状态的第一编程状态P1以外的剩余编程状态之一作为参考状态。例如,第三编程状态P3可以被设置作为参考状态。在该情况下,与第一编程状态P1至第三编程状态P3相对应的编程操作可以基于初始编程条件来执行,并且与第四编程状态P4至第七编程状态P7相对应的编程操作可以基于经改变的编程条件来执行。
下面将描述上述存储器单元的编程速度。
图6是图示了依赖于编程速度的存储器单元的阈值电压的图。
参考图6,依赖于存储器单元的电特性,存储器单元的阈值电压可以借助相同的编程电压而被增加到不同电平。例如,当具有相同电平的编程电压在相同时间期间被施加到具有不同编程速度的存储器单元的栅极时,慢速单元SC的阈值电压可以增加到第一区域Rs,正常单元NC的阈值电压可以增加到高于第一区域Rs的第二区域Rn,并且快速单元FC的阈值电压可以增加到高于第二区域Rn的第三区域Rf。
假设第一电压Vl是目标电压,依赖于直到存储器单元的阈值电压达到第一电压V1为止所使用的编程电压的数量或所执行的循环的数量,可以确定具有不同编程速度的存储器单元。例如,为了使得慢速单元SC的阈值电压增加到第一电压V1,可能需要比用于完成对正常单元NC的编程操作的编程电压的数量更大的编程电压的数量。对于快速单元FC,可以使用比用于完成对正常单元NC的编程操作的编程电压的数量更小的编程电压的数量。
在本实施例中,可以依赖于直到对存储器单元的编程操作完成为止所使用的编程电压的数量,来确定存储器单元的速度。
图7是图示了依赖于存储器单元的编程速度的编程循环的图。
参考图7,直到从正常页nPG中包括的存储器单元之中选择的存储器单元被编程到参考状态为止所使用的编程电压Vpgm的数量被限定为参考脉冲计数REFc。即,在本实施例中,用于将被选择的存储器单元编程到参考状态的编程电压Vpgm的数量被限定为脉冲计数C#,并且正常页nPG的脉冲计数C#被限定为参考脉冲计数REFc。备选地,脉冲计数C#可以是直到被选择的存储器单元被编程到参考状态为止所执行的编程循环的数量。尽管图中未图示,但是使用验证电压的验证操作可以在使用编程电压Vpgm的编程时段之后被执行。
假设在正常页nPG中的被选择的存储器单元正被编程到参考状态的同时所使用的用于编程电压的脉冲数量(即,脉冲计数)C#是5,参考脉冲数量(即,参考脉冲计数)REFc是5。因为对慢速页sPG执行的编程操作需要比正常页nPG的编程操作更长的时间,所以其脉冲计数C#可以大于5。因为对快速页fPG执行的编程操作需要比正常页nPG的编程操作更短的时间,所以其脉冲计数C#可以小于5。
在本实施例中,慢速页sPG、正常页nPG和快速页fPG可以基于上述脉冲计数C#来标识,并且针对编程操作的条件可以依赖于相应页的编程速度来控制。
图8是图示了根据本公开的一个实施例的编程方法的流程图。
参考图8,根据本实施例的编程操作可以被配置为使得:依赖于在对第一被选择的存储器单元1Ssel_Cells执行的编程操作中使用的编程电压的脉冲计数,来控制针对第二被选择的存储器单元2Sel_Cells的编程条件,并且对第二被选择的存储器单元2Sel_Cells的编程操作可以基于被控制的编程条件来执行。下面将描述根据本实施例的编程操作。
在步骤S91处,可以对第一被选择的存储器单元1Sel_Cells执行编程操作。对第一被选择的存储器单元1Sel_Cells的编程操作可以基于在存储器设备中设置的初始编程条件来执行。在步骤S91处,编程操作可以以增量阶跃脉冲编程(ISPP)方式来执行,在ISPP方式中,逐渐增加编程电压。在步骤S91处,当所有第一被选择的存储器单元1Sel_Cells的阈值电压增加到目标电压时,步骤S92可以被执行。
在步骤S92处,第一被选择的存储器单元1Sel_Cells的编程速度可以被检查。例如,可以依赖于针对第一被选择的存储器单元1Sel_Cells的脉冲计数,来确定第一被选择的存储器单元1Sel_Cells的编程速度。例如,当在所有第一被选择的存储器单元1Sel_Cells的阈值电压增加到目标电压的同时使用的编程电压的脉冲计数等于参考脉冲计数时,控制逻辑电路(例如,图2的180)可以确定第一被选择的存储器单元1Sel_Cells是正常单元。进一步地,当脉冲计数小于参考脉冲计数时,控制逻辑电路180可以确定第一被选择的存储器单元1Sel_Cells是快速单元,而当脉冲计数大于参考脉冲计数时,控制逻辑电路180可以确定第一被选择的存储器单元1Sel_Cells是慢速单元。
作为在步骤S92处检查的结果,当第一被选择的存储器单元1Sel_Cells被确定为正常单元时,在步骤S93处,控制逻辑电路180可以将编程条件保持在与前一操作相同的编程条件处。例如,控制逻辑电路180可以保持在前一操作中设置的初始编程条件。
当作为在步骤S92处检查的结果,第一被选择的存储器单元1Sel_Cells被确定为快速单元时,在步骤S94处,控制逻辑电路180可以减小编程条件,以从前一编程速度降低编程速度。例如,控制逻辑电路180可以降低编程电压的电平、降低阶跃电压的电平、减少编程电压有效时间或者向每个编程电压施加负偏移,这被包括在前一操作中设置的初始编程条件中。
当作为在步骤S92处检查的结果,第一被选择的存储器单元1Sel_Cells被确定为慢速单元时,在步骤S95处,控制逻辑电路180可以增大编程条件,以从前一编程速度提高编程速度。例如,控制逻辑电路180可以提高编程电压的电平、提高阶跃电压的电平、增加编程电压有效时间或者向每个编程电压施加正偏移,这被包括在前一操作中设置的初始编程条件中。然后,在步骤S96处,可以基于在步骤S93至S95中的任一步骤处设置的条件,对第二被选择的存储器单元2Sel_Cells执行编程操作。
第一被选择的存储器单元1Sel_Cells和第二被选择的存储器单元2Sel_Cells可以依赖于编程操作而改变。例如,可以使用其中处于擦除状态的存储器单元的阈值电压顺序地或非顺序地增加的方案,来执行编程操作。
图9A和图9B是图示了各种编程操作的图。
参考图9A,可以使用其中顺序地增加存储器单元的阈值电压的方案,来执行编程操作。下面通过示例的方式描述了使用其中3位数据被存储在一个存储器单元中的三级单元(TLC)方案执行的编程操作。
可以使用其中处于擦除状态ER的存储器单元被顺序地编程到第一编程状态P1至第七编程状态P7的方案,来执行图9A的编程操作。在该方案中,存储器单元的阈值电压顺序地增加,并且因此可以依赖于目标编程状态,来顺序地选择第一被选择的存储器单元1Sel_Cells和第二被选择的存储器单元2Sel_Cells。例如,第一被选择的存储器单元1Sel_Cells可以被设置为具有第一编程状态P1至第三编程状态P3作为目标编程状态的存储器单元,并且第二被选择的存储器单元2Sel_Cells可以被设置为具有剩余编程状态(即,第四编程状态P4至第七编程状态P7)作为目标编程状态的存储器单元。在图9A中图示的实施例中,第三编程状态P3被设置为参考状态REFs,基于参考状态REFs,第一被选择的存储器单元1Sel_Cells和第二被选择的存储器单元2Sel_Cells彼此区分,但是第一被选择的存储器单元1Sel_Cells和第二被选择的存储器单元2Sel_Cells彼此区分所基于的参考状态REFs可以被设置为除了第三编程状态P3之外的在第一编程状态P1与第七编程状态P7之间的任一编程状态。当针对第一编程状态P1至第三编程状态P3的编程操作被执行时,依赖于被编程到第一编程状态P1至第三编程状态P3的存储器单元的编程速度,针对剩余第四编程状态P4至第七编程状态P7的编程操作的条件可以被维持或改变。
参考图9B,可以使用其中存储器单元的阈值电压非顺序地增加的方案,来执行编程操作。例如,在处于擦除状态ER的存储器单元之中,具有第一编程状态P1至第七编程状态P7作为目标编程状态的存储器单元可以被编程到第一编程状态P1。然后,被编程到第一编程状态P1的存储器单元中的一些存储器单元可以被编程到第三编程状态P3或第五编程状态P5。即,被编程到第一编程状态P1的存储器单元中的一些存储器单元可以被编程到第三编程状态P3,并且其他存储器单元可以被编程到第五编程状态P5。当具有第一编程状态P1、第三编程状态P3和第五编程状态P5作为目标编程状态的存储器单元被设置作为第一被选择的存储器单元1Sel_Cells时,具有第二编程状态P2、第四编程状态P4、第六编程状态P6和第七编程状态P7作为目标编程状态的存储器单元可以被设置作为第二被选择的存储器单元2Sel_Cells。因此,当针对第一编程状态P1、第三编程状态P3和第五编程状态P5的编程操作被执行时,依赖于被编程到第一编程状态P1、第三编程状态P3和第五编程状态P5的第一被选择的存储器单元1Sel_Cells的编程速度,针对剩余编程状态(即,第二编程状态P2、第四编程状态P4、第六编程状态P6和第七编程状态P7)的编程操作的条件可以被维持或改变。
图10是图示了根据本公开的一个实施例的控制逻辑电路的图。
参考图10,控制逻辑电路180可以包括单元速度检测器210和编程管理器220。
单元速度检测器210可以存储参考脉冲计数,并且可以依赖于失败信号FS而将脉冲计数增加1。单元速度检测器210可以将在通过信号PS被输入时获得的脉冲计数与参考脉冲计数进行比较,并且可以基于比较的结果来确定存储器单元的速度。例如,当最终确定的脉冲计数小于参考脉冲计数时,单元速度检测器210可以输出包括“快速”信息的确定结果RES_DT。当最终确定的脉冲计数等于参考脉冲计数时,单元速度检测器210可以输出包括“正常”信息的确定结果RES_DT。当最终确定的脉冲计数大于参考脉冲计数时,单元速度检测器210可以输出包括“慢速”信息的确定结果RES_DT。
编程管理器220可以基于从单元速度检测器210输出的确定结果RES_DT来改变针对下一编程操作的条件,并且可以输出操作码OPCD,经改变的条件被应用于该操作码OPCD。例如,基于确定结果RES_DT,编程管理器220可以生成并且输出改变从以下项之中选择的至少一个条件所需的操作码OPCD:阶跃电压Vstep的电平、编程电压Vpgm的电平和编程电压有效时间(Vpgm有效时间)。例如,当确定结果RES_DT指示“正常”时,编程管理器220可以生成并且输出操作码OPCD,使得阶跃电压Vstep的电平、编程电压Vpgm的电平和编程电压有效时间(Vpgm有效时间)被维持在初始设置值处。当确定结果RES_DT指示“快速”时,编程管理器220可以改变并且输出操作码OPCD,使得阶跃电压Vstep的电平、编程电压Vpgm的电平和编程电压有效时间(Vpgm有效时间)从初始设置值减小。当确定结果RES_DT指示“慢速”时,编程管理器220可以改变并且输出操作码OPCD,使得阶跃电压Vstep的电平、编程电压Vpgm的电平和编程电压有效时间(Vpgm有效时间)从初始设置值增加。
图11A至图11C是图示了根据本公开的第一实施例的编程方法的图。
参考图11A,当对待被编程到参考状态的被选择的存储器单元执行的编程操作在使用第三编程电压3Vpgm的编程操作处完成时,存储器设备可以通过将对被选择的存储器单元的编程操作中所使用的编程电压的脉冲计数C#与参考脉冲计数REFc进行比较,来确定编程速度。此处,第三编程电压3Vpgm是为了更好地理解本公开而提供的示例,并且可以依赖于从所有编程状态之中选择的参考状态和存储器单元的编程速度而改变。
例如,假设第一编程电压1Vpgm至第三编程电压3Vpgm中的每个编程电压逐渐增加阶跃电压Vstep。当在存储器单元正被编程到参考状态的同时在编程操作中使用的编程电压的脉冲计数C#等于参考脉冲计数REFc(C#=REFc)时,控制逻辑电路(例如,图10的180)可以确定被选择的页是正常页nPG。在该情况下,控制逻辑电路180可以将针对剩余编程操作的条件维持在与前一编程操作相同的条件处。例如,控制逻辑电路180可以保持与初始编程条件相同的编程条件,使得在第三编程电压3Vpgm之后待使用的第四编程电压4Vpgm至第八编程电压8Vpgm中的每个编程电压逐渐增加阶跃电压Vstep。
参考图11B,在被选择的存储器单元被编程到参考状态时使用第二编程电压2Vpgm的情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是快速页fPG,这是因为脉冲计数C#小于参考脉冲计数REFc(C#<REFc)。在该情况下,控制逻辑电路180可以将-f1的第一负偏移施加到针对剩余编程状态的编程操作。即,编程电压可以通过将-f1的第一负偏移施加到待在剩余编程操作中使用的第三编程电压3Vpgm至第八编程电压8Vpgm而减小,并且因此快速单元的编程操作速度可以减小。-f1的第一负偏移的电平可以依赖于脉冲计数C#而改变。例如,随着脉冲计数C#与参考脉冲计数REFc之间的差增加,-f1的第一负偏移的电平也可以增加。
参考图11C,在被选择的存储器单元被编程到参考状态时使用第四编程电压4Vpgm的情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是慢速页sPG,这是因为脉冲计数C#大于参考脉冲计数REFc(C#>REFc)。在该情况下,控制逻辑电路180可以将+f1的第一正偏移施加到针对剩余编程状态的编程操作。即,编程电压可以通过将+f1的第一正偏移施加到待在剩余编程操作中使用的第五编程电压5Vpgm至第八编程电压8Vpgm而增加,并且因此慢速单元的编程操作速度可以增加。+f1的第一正偏移的电平可以依赖于脉冲计数C#而改变。例如,随着脉冲计数C#与参考脉冲计数REFc之间的差增加,+f1的第一正偏移的电平也可以增加。
图12A至图12C是图示了根据本公开的第二实施例的编程方法的图。
参考图12A,当对待被编程到参考状态的被选择的存储器单元执行的编程操作在使用第三编程电压3Vpgm的编程操作处完成时,存储器设备可以通过将对被选择的存储器单元的编程操作中所使用的脉冲计数C#与参考脉冲计数REFc进行比较,来确定编程速度。此处,第三编程电压3Vpgm可以是在如下编程操作中使用的电压,在该编程操作期间,存储器单元被编程到参考状态,并且依赖于从所有编程状态之中选择的参考状态和存储器单元的编程速度,第三编程电压3Vpgm可以改变。
假设与第一编程电压1Vpgm至第三编程电压3Vpgm相对应的编程电压有效时间是第一时间1T。此处,编程电压有效时间可以是在其期间编程电压被施加到被选择的字线的时间。当在与参考状态相对应的编程操作完成时的时间点处计数的针对编程电压的脉冲数量(脉冲计数)C#等于参考脉冲计数REFc(C#=REFc)时,控制逻辑电路(例如,图10的180)可以确定被选择的页是正常页nPG。在该情况下,控制逻辑电路180可以将与待在剩余编程操作中使用的第四编程电压4Vpgm至第八编程电压8Vpgm相对应的编程电压有效时间维持在与第一时间1T相同的时间,第一时间1T是与第一编程电压1Vpgm至第三编程电压3Vpgm相对应的编程电压有效时间。
参考图12B,当第一编程电压1Vpgm和第二编程电压2Vpgm被用于对被编程到参考状态的存储器单元的编程操作中时,针对在编程操作中使用的编程电压的脉冲计数C#是2,并且因此脉冲计数C#小于参考脉冲计数REFc(C#<REFc)。在该情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是快速页fPG。控制逻辑电路180可以将与待在第二编程电压2Vpgm之后使用的第三编程电压3Vpgm至第八编程电压8Vpgm相对应的编程电压有效时间改变为比第一时间1T短的第二时间2T。即,在其期间第三编程电压3Vpgm至第八编程电压8Vpgm被施加到被选择的字线的时间被缩短,并且因此快速单元的阈值电压增加的速度可以降低。在一个实施例中,第二时间2T可以等于第一时间1T减去第二偏移f2。
参考图12C,当第一编程电压1Vpgm至第四编程电压4Vpgm被用于对被编程到参考状态的存储器单元的编程操作中时,针对在编程操作中使用的编程电压的脉冲计数C#为4,并且因此脉冲计数C#大于参考脉冲计数REFc(C#>REFc)。在该情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是慢速页sPG。控制逻辑电路180可以将与待在第四编程电压4Vpgm之后使用的第五编程电压5Vpgm至第八编程电压8Vpgm相对应的编程电压有效时间改变为比第一时间1T长的第三时间3T。即,与第五编程电压5Vpgm至第八编程电压8Vpgm相对应的编程电压有效时间可以被延长,并且因此慢速单元的阈值电压增加的速度可以增加。在一个实施例中,第三时间3T可以等于第一时间1T加上第二偏移f2。
图13A至图13C是图示了根据本公开的第三实施例的编程方法的图。
参考图13A,当对待被编程到参考状态的被选择的存储器单元执行的编程操作在使用第三编程电压3Vpgm的编程操作处完成时,存储器设备可以通过将在对被选择的存储器单元的编程操作中使用的脉冲计数C#与参考脉冲计数REFc进行比较,来确定编程速度。此处,由于第三编程电压3Vpgm只是为了更好地理解本公开而提供的示例,因此它可以根据存储器设备而改变。
例如,假设第一编程电压1Vpgm至第三编程电压3Vpgm中的每个编程电压逐渐增加第一阶跃电压1Vstep。当脉冲计数C#等于参考脉冲计数REFc(C#=REFc)时,控制逻辑电路(例如,图10的180)可以确定被选择的页是正常页nPG。在该情况下,控制逻辑电路180还可以在第三编程电压3Vpgm之后待执行的剩余编程操作期间,将第一阶跃电压1Vstep施加到第四编程电压4Vpgm至第八编程电压8Vpgm。
参考图13B,当第一编程电压1Vpgm和第二编程电压2Vpgm被用于对被编程到参考状态的存储器单元的编程操作中时,针对在编程操作中使用的编程电压的脉冲计数C#是2,并且因此脉冲计数C#小于参考脉冲计数REFc(C#<REFc)。在该情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是快速页fPG。在第二编程电压2Vpgm之后待执行的编程操作期间,控制逻辑电路180可以将第一阶跃电压1Vstep减小到第二阶跃电压2Vstep。例如,因为第一编程电压1Vpgm和第二编程电压2Vpgm中的每个编程电压逐渐增加第一阶跃电压1Vstep,所以低于第一阶跃电压1Vstep的第二阶跃电压2Vstep可以被施加到剩余的第三编程电压3Vpgm至第八编程电压8Vpgm。第二阶跃电压2Vstep可以从第三编程电压3Vpgm或从第四编程电压4Vpgm开始而被施加到编程电压。
参考图13C,当第一编程电压1Vpgm至第四编程电压4Vpgm被用于对被编程到参考状态的存储器单元的编程操作中时,针对在编程操作中使用的编程电压的脉冲计数C#为4,并且因此脉冲计数C#大于参考脉冲计数REFc(C#>REFc)。在该情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是慢速页sPG。控制逻辑电路180可以将高于第一阶跃电压1Vstep的第三阶跃电压3Vstep施加到在第四编程电压4Vpgm之后待执行的剩余编程操作。例如,因为第一编程电压1Vpgm至第四编程电压4Vpgm中的每个编程电压逐渐增加第一阶跃电压1Vstep,所以在编程速度被确定之后待执行的剩余编程操作期间,高于第一阶跃电压1Vstep的第三阶跃电压3Vstep可以被施加到第五编程电压5Vpgm至第八编程电压8Vpgm。
图14A至图14C是图示了根据本公开的第四实施例的编程方法的图。
参考图14A,当对待被编程到多个编程状态之中的参考状态的被选择的存储器单元执行的编程操作在使用第三编程电压3Vpgm的编程操作处完成时,存储器设备可以通过以下方式来确定编程速度:对被选择的存储器单元的编程操作中使用的编程电压的脉冲数量(脉冲计数)C#进行计数,并且将脉冲计数C#与参考脉冲计数REFc进行比较。此处,由于第三编程电压3Vpgm只是为了更好地理解本公开而提供的示例,因此它可以依赖于参考状态和存储器单元的编程速度而改变。
例如,假设第一编程电压1Vpgm至第三编程电压3Vpgm中的每个编程电压逐渐增加阶跃电压Vstep。当在存储器单元正被编程到参考状态的同时在编程操作中使用的编程电压的脉冲计数C#等于参考脉冲计数REFc(C#=REFc)时,控制逻辑电路(例如,图10的180)可以确定被选择的页是正常页nPG。在该情况下,控制逻辑电路180可以将针对剩余编程操作的条件保持在与前一编程操作相同的条件处。例如,控制逻辑电路180可以保持与初始编程条件相同的编程条件,使得在第三编程电压3Vpgm之后待使用的第四编程电压4Vpgm至第八编程电压8Vpgm中的每个编程电压逐渐增加阶跃电压Vstep。
参考图14B,当第一编程电压1Vpgm和第二编程电压2Vpgm被用于对被编程到参考状态的存储器单元的编程操作中时,针对在编程操作中使用的编程电压的脉冲计数C#是2,并且因此脉冲计数C#小于参考脉冲计数REFc(C#<REFc)。在该情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是快速页fPG。控制逻辑电路180可以将-f3的第三负偏移施加到待在第二编程电压2Vpgm之后执行的编程操作。例如,第三编程电压3Vpgm至第八编程电压8Vpgm中的每个编程电压增加阶跃电压,并且-f3的第三负偏移可以被施加到第三编程电压3Vpgm至第八编程电压8Vpgm中的每个编程电压。例如,当第三编程电压3Vpgm被施加到被选择的字线时,-f3的第三负偏移可以在被选择的字线被放电之前被施加到第三编程电压3Vpgm,并且因此编程电压可以逐步减小。例如,当-f3的第三负偏移被施加到第三编程电压3Vpgm时,第三编程电压3Vpgm可以被施加到被选择的字线达预定时间段,在该预定时间段之后,向其施加-f3的第三负偏移的编程电压可以被施加到被选择的字线。以这种方式,-f3的第三负偏移还可以被施加到每个剩余编程循环。如本文所使用的关于诸如预设时段的参数的词语“预定”意指在参数被用于过程或算法之前确定参数的值。对于一些实施例,参数的值在过程或算法开始之前被确定。在其他实施例中,参数的值在过程或算法期间、但是在参数被用于过程或算法之前被确定。
参考图14C,当第一编程电压1Vpgm至第四编程电压4Vpgm被用于对被编程到参考状态的存储器单元的编程操作中时,针对在编程操作中使用的编程电压的脉冲计数C#是4,并且因此脉冲计数C#大于参考脉冲计数REFc(C#>REFc)。在该情况下,控制逻辑电路(例如,图10的180)可以确定被选择的页是慢速页sPG。控制逻辑电路180可以将+f3的第三正偏移施加到待在第四编程电压4Vpgm之后执行的编程操作。例如,第五编程电压5Vpgm至第八编程电压8Vpgm中的每个编程电压增加阶跃电压,并且+f3的第三正偏移可以被施加到第五编程电压5Vpgm至第八编程电压8Vpgm中的每个编程电压。例如,当第五编程电压5Vpgm被施加到被选择的字线时,+f3的第三正偏移可以在被选择的字线被放电之前被施加到第五编程电压5Vpgm,并且因此编程电压可以增加。例如,当+f3的第三正偏移被施加到在其中设置第五编程电压5Vpgm的编程循环时,第五编程电压5Vpgm可以被施加到被选择的字线达预定时间段,在该预定时间段之后,向其施加+f3的第三正偏移的编程电压可以被施加到被选择的字线。以这种方式,+f3的第三正偏移可以被施加到每个剩余编程循环。
图15A至图15C是图示了根据本公开的第五实施例的编程方法的图。
在图15A至图15C中,针对下一页的编程条件可以依赖于被选择的页中的被选择的存储器单元的速度而被维持或改变。
参考图15A,当在对已完成编程操作的前一页中包括的被选择的存储器单元执行的编程操作中使用的脉冲数量(脉冲计数)C#等于参考脉冲计数REFc(C#=REFc)时,控制逻辑电路(例如,图10的180)可以将前一页确定为正常页nPG,并且还可以将下一页或剩余页确定为正常页nPG。因此,控制逻辑电路(例如,图10的180)可以将针对下一页或剩余页的开始编程电压维持在第一开始编程电压1sVpgm处。此处,第一开始编程电压1sVpgm可以是在编程操作的初始阶段中被设置作为默认值的电压。当第一开始编程电压1sVpgm被设置时,控制逻辑电路180可以控制电压生成器(例如,图2的130),使得从第一开始编程电压1sVpgm增加阶跃电压的编程电压被生成。
参考图15B,当在对前一页中包括的被选择的存储器单元执行的编程操作中使用的脉冲数量(脉冲计数)C#小于参考脉冲计数REFc(C#<REFc)时,控制逻辑电路(例如,图10的图180)可以将前一页确定为快速页fPG,并且还可以将下一页或剩余页确定为快速页fPG。因此,控制逻辑电路(例如,图10的180)可以将开始编程电压改变为比第一开始编程电压1sVpgm低的第二开始编程电压2sVpgm,使得在对下一页或剩余页执行的编程操作期间,存储器单元的阈值电压比前一页中的存储器单元的阈值电压增加得慢。当第二开始编程电压2sVpgm被设置时,控制逻辑电路180可以控制电压生成器(例如,图2的130),使得从第二开始编程电压2sVpgm逐渐增加阶跃电压的编程电压被生成。
参考图15C,当在对前一页中包括的被选择的存储器单元执行的编程操作中使用的脉冲数量(脉冲计数)C#大于参考脉冲计数REFc(C#>REFc)时,控制逻辑电路(例如,图10的图180)可以将前一页确定为慢速页sPG,并且还可以将下一页或剩余页确定为慢速页sPG。因此,控制逻辑电路(例如,图10的180)可以将开始编程电压改变为高于第一开始编程电压1sVpgm的第三开始编程电压3sVpgm,使得在对下一页或剩余页执行的编程操作期间,存储器单元的阈值电压比前一页中的存储器单元的阈值电压增加得快。当第三开始编程电压3sVpgm被设置时,控制逻辑电路180可以控制电压生成器(例如,图2的130),使得从第三开始编程电压3sVpgm逐渐增加阶跃电压的编程电压被生成。
图16A至图16C是图示了根据本公开的第六实施例的编程方法的图。
参考图16A至图16C,针对下一页的编程条件可以依赖于被选择的页中的被选择的存储器单元的速度而被维持或改变。
参考图16A,当在对已完成编程操作的前一页中包括的被选择的存储器单元执行的编程操作中使用的脉冲数量(脉冲计数)C#等于参考脉冲计数REFc(C#=REFc)时,控制逻辑电路(例如,图10的180)可以将前一页确定为正常页nPG,并且还可以将下一页或剩余页确定为正常页nPG。因此,控制逻辑电路(例如,图10的180)可以将与下一页或剩余页相对应的编程电压有效时间维持在第一时间1T。此处,第一时间1T可以是在编程操作的初始阶段中被设置作为默认值的时间。当第一时间1T被设置时,控制逻辑电路180可以控制电压生成器(例如,图2的130),使得编程电压Vpgm在第一时间1T期间被施加到被选择的字线。
参考图16B,当在对前一页中包括的被选择的存储器单元执行的编程操作中使用的脉冲数量(脉冲计数)C#小于参考脉冲计数REFc(C#<REFc)时,控制逻辑电路(例如,图10的180)可以将前一页确定为快速页fPG,并且还可以将下一页或剩余页确定为快速页fPG。因此,控制逻辑电路(例如,图10的180)可以将编程电压有效时间改变为比第一时间1T短的第二时间2T,使得在对下一页或剩余页执行的编程操作期间,存储器单元的阈值电压比前一页中的存储器单元的阈值电压增加得慢。当第二时间2T被设置时,控制逻辑电路180可以控制电压生成器(例如,图2的130),使得编程电压Vpgm在第二时间2T期间被施加到被选择的字线。
参考图16C,当在对前一页中包括的被选择的存储器单元执行的编程操作中使用的脉冲数量(脉冲计数)C#大于参考脉冲计数REFc(C#>REFc)时,控制逻辑电路(例如,图10的180)可以将前一页确定为慢速页sPG,并且还可以将下一页或剩余页确定为慢速页sPG。因此,控制逻辑电路(例如,图10的180)可以将编程电压有效时间改变为比第一时间1T长的第三时间3T,使得在对下一页或剩余页执行的编程操作期间,存储器单元的阈值电压比前一页中的存储器单元的阈值电压增加得快。当第三时间3T被设置时,控制逻辑电路180可以控制电压生成器(例如,图2的130),使得编程电压Vpgm在第三时间3T期间被施加到被选择的字线。
图17和图18是图示了根据本公开的第七实施例的编程方法的图,其中存储器单元或页可以依赖于编程速度而被划分为多个组,并且可以针对每个组来控制编程条件。
参考图17,当快速存储器单元被包括在被选择的页中时,被选择的页可以被设置为快速页fPG。由于快速页fPG中包括的快速存储器单元的编程速度也可能彼此不同,因此被选择的页可以依赖于快速存储器单元的编程速度而被设置为第一快速页1fPG至第三快速页3fPG中的至少一者。虽然在图17中,快速页fPG被划分为三个快速页1fPG至3fPG,但是这只是为了更好地理解本实施例而提供的示例,并且因此快速页的数量不限于图17中图示的示例。
第一快速页1fPG的阶跃电压可以被设置为第2-1阶跃电压2-1Vstep,其开始编程电压sVpgm可以被设置为第2-1开始编程电压2-1sVpgm,并且其编程电压有效时间可以被设置为第2-1时间2-1T。
第二快速页2fPG可以包括具有比第一快速页1fPG的编程速度高的编程速度的存储器单元。第二快速页2fPG的阶跃电压Vstep可以被设置为低于第2-1阶跃电压2-1Vstep的第2-2阶跃电压2-2Vstep,其开始编程电压sVpgm可以被设置为低于第2-1开始编程电压2-1sVpgm的第2-2开始编程电压2-2sVpgm,并且其编程电压有效时间可以设置为比第2-1时间2-1T短的第2-2时间2-2T。
第三快速页3fPG可以包括具有比第二快速页2fPG的编程速度高的编程速度的存储器单元。第三快速页3fPG的阶跃电压Vstep可以被设置为低于第2-2阶跃电压2-2Vstep的第2-3阶跃电压2-3Vstep,其开始编程电压sVpgm可以被设置为低于第2-2开始编程电压2-2sVpgm的第2-3开始编程电压2-3sVpgm,并且其编程电压有效时间可以被设置为比第2-2时间2-2T短的第2-3时间2-3T。
参考图18,当慢速存储器单元被包括在被选择的页中时,被选择的页可以被设置为慢速页sPG。由于慢速页sPG中包括的慢速存储器单元的编程速度也可能彼此不同,因此慢速页可以依赖于慢速存储器单元的编程速度而被设置为第一慢速页1sPG至第三慢速页3sPG中的至少一者。虽然在图18中,慢速页sPG被划分为三个慢速页1sPG至3sPG,但是这只是为了更好地理解本实施例而提供的示例,并且慢速页的数量不限于图18中图示的示例。
第一慢速页1sPG的阶跃电压可以被设置为第3-1阶跃电压3-1Vstep,其开始编程电压sVpgm可以被设置为第3-1开始编程电压3-1sVpgm,并且其编程电压有效时间可以被设置为第3-1时间3-1T。
第二慢速页2sPG可以包括具有比第一慢速页1sPG的编程速度低的编程速度的存储器单元。第二慢速页2sPG的阶跃电压Vstep可以被设置为高于第3-1阶跃电压3-1Vstep的第3-2阶跃电压3-2Vstep,其开始编程电压sVpgm可以被设置为高于第3-1开始编程电压3-1sVpgm的第3-2开始编程电压3-2sVpgm,并且其编程电压有效时间可以被设置为比第3-1时间3-1T长的第3-2时间3-2T。
第三慢速页3sPG可以包括具有比第二慢速页2sPG的编程速度低的编程速度的存储器单元。第三慢速页3sPG的阶跃电压Vstep可以被设置为高于第3-2阶跃电压3-2Vstep的第3-3阶跃电压3-3Vstep,其开始编程电压sVpgm可以被设置为高于第3-2开始编程电压3-2sVpgm的第3-3开始编程电压3-3sVpgm,并且其编程电压有效时间可以被设置为比第3-2时间3-2T长的第3-3时间3-3T。
在参考图17或图18描述的第七实施例中,虽然快速页或慢速页在页的基础上被标识,但是即使在相同页中,存储器单元也可以被划分为多个组,并且可以依赖于每个组的编程速度来改变编程条件。
图19是图示了固态驱动器(SSD)系统的图,根据本公开的存储器设备被应用于该SSD系统。
参考图19,SSD系统4000可以包括主机4100和SSD 4200。SSD 4200可以借助信号连接器4001与主机4100交换信号,并且可以借助功率连接器4002被供应功率。SSD 4200可以包括控制器4210、多个闪存存储器4221至422n、辅助电源4230和缓冲存储器4240。
依照本公开的一个实施例,闪存存储器4221至422n中的每个闪存存储器可以以与参考图2描述的存储器设备1100相同的方式来配置。
控制器4210可以响应于从主机4100接收的信号,来控制多个闪存存储器4221至422n。在一个实施例中,该信号可以是基于主机4100和SSD 4200的接口的信号。例如,这样的信号可以是由各种接口中的至少一种接口限定的信号,该各种接口诸如是通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、PCI-快速(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型盘接口(ESDI)、集成驱动电子器件(IDE)、火线、通用闪存存储(UFS)、WiFi、蓝牙和非易失性存储器快速(NVMe)接口。
辅助电源4230可以借助功率连接器4002而被耦合到主机4100。辅助电源4230可以被供应有来自主机4100的电源电压,并且可以利用该电源电压进行充电。当来自主机4100的功率供应未被顺利执行时,辅助电源4230可以向SSD 4200提供电源电压。在一个实施例中,辅助电源4230可以位于SSD 4200内部或位于SSD 4200外部。例如,辅助电源4230可以位于主板中,并且还可以向SSD 4200提供辅助功率。
缓冲存储器4240可以用作SSD 4200的缓冲存储器。例如,缓冲存储器4240可以临时存储从主机4100接收的数据或从多个闪存存储器4221至422n接收的数据,或者可以临时存储闪存存储器4221至422n的元数据(例如,映射表)。缓冲存储器4240可以包括:易失性存储器,诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM和低功率DDR(LPDDR)SDRAM;或者非易失性存储器,诸如铁电RAM(FRAM)、电阻式RAM(ReRAM)、自旋转移扭矩磁性RAM(STT-MRAM)和相变RAM(PRAM)。
图20是图示了存储器卡系统的图,根据本公开的存储器设备被应用于该存储器卡系统。
参考图20,存储器系统70000可以被实现为存储器卡或智能卡。存储器系统70000可以包括存储器设备1100、控制器1200和卡接口7100。
存储器设备1100可以以与图2中图示的存储器设备1100相同的方式来配置。
控制器1200可以控制存储器设备1100与卡接口7100之间的数据交换。在一个实施例中,卡接口7100可以是但不限于安全数字(SD)卡接口或多媒体卡(MMC)接口。
卡接口7100可以根据主机60000的协议来对主机60000与控制器1200之间的数据交换进行接口连接。在一个实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口7100可以指代能够支持主机60000使用的协议的硬件、安装在硬件中的软件或者卡接口7100支持的信号传输方法。
当存储器系统70000被耦合到主机60000(诸如PC、平板PC、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒)的主机接口6200时,主机接口6200可以在微处理器(μP)6100的控制下,借助卡接口7100和控制器1200来执行与存储器设备1100的数据通信。
依照各种实施例,存储器设备的编程操作的可靠性可以被改进。
Claims (19)
1.一种存储器设备,包括:
多个存储器单元,被配置为存储数据;
电压生成器,被配置为在编程操作期间将编程电压施加到与所述多个存储器单元耦合的字线,在所述编程操作中,所述多个存储器单元被编程到多个编程状态;
单元速度确定器,被配置为依赖于在所述编程操作正被执行的同时施加到所述字线的所述编程电压的脉冲数量,来确定所述多个存储器单元的编程速度;以及
编程管理器,被配置为依赖于由所述单元速度确定器确定的所述编程速度,改变针对剩余编程操作的条件。
2.根据权利要求1所述的存储器设备,其中所述电压生成器被配置为响应于从所述编程管理器输出的操作码而生成以下项中的至少一者:每个编程电压的电平、所述编程电压的有效时间、针对所述编程电压的阶跃电压的电平、针对所述编程电压的偏移以及验证电压。
3.根据权利要求1所述的存储器设备,还包括:
页缓冲器,被配置为在所述编程操作中执行的验证操作期间,依赖于与所述多个存储器单元耦合的多个位线的电压和电流之一来存储验证数据。
4.根据权利要求3所述的存储器设备,还包括:
感测电路,被配置为:当所述验证数据中包括的失败位数量大于可允许失败位数量时,输出失败信号;并且当所述失败位数量小于或等于所述可允许失败位数量时,输出通过信号。
5.根据权利要求1所述的存储器设备,其中所述单元速度确定器被配置为:
将用于执行编程到从所述多个存储器单元的目标编程状态之中选择的参考状态的编程电压的脉冲计数与参考脉冲计数进行比较,以及
作为所述比较的结果,输出确定结果。
6.根据权利要求5所述的存储器设备,其中所述单元速度确定器被配置为当所述脉冲计数等于所述参考脉冲计数时:
将所述多个存储器单元的所述编程速度确定为正常,以及
输出包括关于正常编程速度的信息的所述确定结果。
7.根据权利要求5所述的存储器设备,其中所述单元速度确定器被配置为当所述脉冲计数小于所述参考脉冲计数时:
将所述多个存储器单元的所述编程速度确定为快速,以及
输出包括关于快速编程速度的信息的所述确定结果。
8.根据权利要求5所述的存储器设备,其中所述单元速度确定器被配置为当所述脉冲计数大于所述参考脉冲计数时:
将所述多个存储器单元的所述编程速度确定为慢速,以及
输出包括关于慢速编程速度的信息的所述确定结果。
9.根据权利要求1所述的存储器设备,其中所述编程管理器被配置为:
生成操作码,使得依赖于由所述单元速度确定器确定的所述编程速度,来控制针对所述编程操作的所述条件中包括的以下项中的至少一者:每个编程电压的电平、所述编程电压的有效时间、针对所述编程电压的阶跃电压的电平以及针对所述编程电压的偏移中的至少一个偏移,并且
将所述操作码传输到所述电压生成器。
10.根据权利要求9所述的存储器设备,其中:
每个编程电压被设置为用于增加从所述多个存储器单元之中选择的存储器单元的阈值电压的电压,
所述编程电压的所述有效时间被设置为在其期间所述编程电压被施加到所述字线以增加被选择的所述存储器单元的所述阈值电压的时间,
所述阶跃电压被设置为当所述编程电压增加时前一编程电压与下一编程电压之间的电压差,并且
所述偏移被用于在所述剩余编程操作期间,减小或增加部分编程电压或所有编程电压的电平。
11.根据权利要求9所述的存储器设备,其中所述编程管理器被配置为当所述编程速度被确定为正常时生成所述操作码,使得每个编程电压的所述电平、所述编程电压的所述有效时间以及所述阶跃电压的所述电平被维持在初始设置的值处。
12.根据权利要求9所述的存储器设备,其中所述编程管理器被配置为当所述编程速度被确定为快速时,执行以下至少一项:
生成所述操作码,使得负偏移被施加到每个编程电压,
生成所述操作码,使得所述编程电压的所述有效时间和所述阶跃电压的所述电平中的至少一者从初始设置的值减小,以及
生成所述操作码,使得在所述编程电压被施加到所述字线之后,所述负偏移被施加到所述编程电压。
13.根据权利要求9所述的存储器设备,其中所述编程管理器被配置为当所述编程速度被确定为慢速时,执行以下至少一项,
生成所述操作码,使得正偏移被施加到每个编程电压,
生成所述操作码,使得所述编程电压的所述有效时间和所述阶跃电压的所述电平中的至少一者从初始设置的值增加,以及
生成所述操作码,使得在所述编程电压被施加到所述字线之后,所述正偏移被施加到所述编程电压。
14.一种存储器设备,包括:
多个存储器单元,被包括在被选择的页中;
控制逻辑电路,被配置为在所述多个存储器单元正被编程到不同目标编程状态的同时,在从所述多个存储器单元之中选择的存储器单元被编程到所述不同目标编程状态之中的参考状态时的时间处,确定编程速度,并且基于确定的所述编程速度,改变针对编程操作的条件;以及
电压生成器,被配置为输出编程电压,使得剩余编程操作在所述控制逻辑电路的控制下被执行。
15.根据权利要求14所述的存储器设备,其中在除了最低编程状态和最高编程状态之外的所述目标编程状态之中,设置所述参考状态。
16.根据权利要求15所述的存储器设备,其中所述控制逻辑电路被配置为在所述编程操作期间依赖于被编程到所述参考状态的所述存储器单元的所述编程速度,来控制以下项中的至少一者的条件:每个编程电压的电平、阶跃电压的电平、在其期间所述编程电压被施加到字线的有效时间以及针对所述编程电压的偏移,并且所述控制逻辑电路被配置为在剩余编程操作期间生成和输出操作码,被控制的所述条件被应用于所述操作码。
17.根据权利要求16所述的存储器设备,其中所述控制逻辑电路被配置为:当被编程到所述参考状态的被选择的所述存储器单元的所述编程速度被确定为正常编程速度时,维持所述编程操作的所述编程电压、所述阶跃电压以及所述有效时间。
18.根据权利要求16所述的存储器设备,其中所述控制逻辑电路被配置为:当被编程到所述参考状态的被选择的所述存储器单元的所述编程速度被确定为高于正常编程速度的快速编程速度时,控制所述电压生成器,使得通过以下项中的至少一者来执行剩余编程操作:将负偏移施加到所述编程电压,将所述阶跃电压的所述电平从前一电平减小,以及通过减少所述有效时间。
19.根据权利要求16所述的存储器设备,其中所述控制逻辑电路被配置为:当被编程到所述参考状态的被选择的所述存储器单元的所述编程速度被确定为低于正常编程速度的慢速编程速度时,控制所述电压生成器,使得通过以下项中的至少一者来执行剩余编程操作:将正偏移施加到所述编程电压,将所述阶跃电压的所述电平从前一电平增加,以及增加所述有效时间。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210070785 | 2021-06-01 | ||
KR10-2021-0070785 | 2021-06-01 | ||
KR10-2021-0169310 | 2021-11-30 | ||
KR1020210169310A KR20220162599A (ko) | 2021-06-01 | 2021-11-30 | 메모리 셀들의 프로그램 동작을 수행하는 메모리 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115440281A true CN115440281A (zh) | 2022-12-06 |
Family
ID=84194370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210328894.1A Pending CN115440281A (zh) | 2021-06-01 | 2022-03-30 | 与对存储器单元执行编程操作有关的存储器设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11942156B2 (zh) |
CN (1) | CN115440281A (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8953386B2 (en) * | 2012-10-25 | 2015-02-10 | Sandisk Technologies Inc. | Dynamic bit line bias for programming non-volatile memory |
KR102007007B1 (ko) | 2012-12-10 | 2019-08-02 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
US9343141B2 (en) | 2014-07-15 | 2016-05-17 | Sandisk Technologies Inc. | Reprogramming memory with single program pulse per data state |
KR20160060917A (ko) * | 2014-11-21 | 2016-05-31 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 소자 및 이의 프로그래밍 방법 |
US9343156B1 (en) * | 2015-06-25 | 2016-05-17 | Sandisk Technologies Inc. | Balancing programming speeds of memory cells in a 3D stacked memory |
KR20190073943A (ko) | 2017-12-19 | 2019-06-27 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
KR102524916B1 (ko) * | 2018-03-13 | 2023-04-26 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11450393B1 (en) * | 2021-03-09 | 2022-09-20 | Sandisk Technologies Llc | Countermeasures for periodic over programming for non-volatile memory |
-
2022
- 2022-02-15 US US17/671,906 patent/US11942156B2/en active Active
- 2022-03-30 CN CN202210328894.1A patent/CN115440281A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220383954A1 (en) | 2022-12-01 |
US11942156B2 (en) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220076754A1 (en) | Memory device and method of operating the same | |
CN112885394B (zh) | 存储器装置和操作该存储器装置的方法 | |
US11532369B2 (en) | Memory device and method of operating the same | |
US20230071618A1 (en) | Memory device and operating method of the memory device | |
US11853570B2 (en) | Controller and memory system having the controller | |
US11443809B2 (en) | Memory device and method of operating the same | |
US11586387B2 (en) | Memory system | |
US11894057B2 (en) | Memory device performing program operation and method of operating the same | |
US11742035B2 (en) | Memory device including bit line precharge operation during program verify operation | |
US11335406B2 (en) | Memory device for performing program verify operation and method of operating the same | |
US11942156B2 (en) | Memory device related to performing a program operation on memory cells | |
US20240194267A1 (en) | Memory device related to performing a program operation on memory cells | |
KR20220162599A (ko) | 메모리 셀들의 프로그램 동작을 수행하는 메모리 장치 | |
US11646089B2 (en) | Memory device for performing verify operation and operating method thereof | |
US11520489B2 (en) | Memory device and method of operating the same | |
US11688465B2 (en) | Memory system having memory controller | |
US20230108946A1 (en) | Memory device and operating method of the memory device | |
US20240020022A1 (en) | Memory device and operating method thereof | |
US20220375534A1 (en) | Memory device and method of operating the same | |
CN117953926A (zh) | 存储器设备和存储器设备的操作方法 | |
CN114078516A (zh) | 存储器装置和操作该存储器装置的方法 | |
CN117437962A (zh) | 存储器装置及其操作方法 | |
CN116844610A (zh) | 存储器设备及其操作方法 | |
CN117437956A (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 |