CN112927741B - 对存储器件进行编程和验证的方法以及相关的存储器件 - Google Patents
对存储器件进行编程和验证的方法以及相关的存储器件 Download PDFInfo
- Publication number
- CN112927741B CN112927741B CN202110324758.0A CN202110324758A CN112927741B CN 112927741 B CN112927741 B CN 112927741B CN 202110324758 A CN202110324758 A CN 202110324758A CN 112927741 B CN112927741 B CN 112927741B
- Authority
- CN
- China
- Prior art keywords
- coarse
- programming
- word lines
- memory cells
- subset
- 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.)
- Active
Links
Images
Classifications
-
- 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/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/10—Programming or data input circuits
- G11C16/12—Programming voltage switching 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/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
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
- G11C16/3481—Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
-
- 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
当对包括多个存储单元和多个字线的存储器件进行编程和验证时,首先对多个存储单元中的由多个字线中的第一字线控制的第一存储单元执行第一粗略编程然后,对多个存储单元中的由多个字线中的第二字线控制的第二存储单元执行第二粗略编程。接下来,使用第一粗略验证电流来确定第一存储单元是否通过了粗略验证,且使用第二粗略验证电流来确定第二存储单元是否通过了第二粗略验证,其中第二粗略验证电流小于第一粗略验证电流。
Description
本申请是申请日为2019年10月18日,题为“对存储器件进行编程和验证的方法以及相关的存储器件”,申请号为201980002547.6的专利申请的分案申请。
技术领域
本发明涉及对存储器件进行编程和验证的方法以及相关的存储器件,并且更具体地涉及一种对具有3D QLC结构的存储器件进行编程和验证的方法以及相关的存储器件。
背景技术
半导体存储器已经变得越来越流行用于各种电子器件中。例如,非易失性半导体存储器被应用于蜂窝电话、数码相机、个人数字助理、移动计算器件、非移动计算器件和其他器件中。最近,已提出了使用三维(3D)堆叠存储器结构(有时被称为比特成本可缩放(BitCost Scalable,BiCS)架构)的超高密度的储存器件。例如,可以由交替的导电和电介质层的阵列形成3D NAND堆叠闪存器件。在这些层中钻存储孔,以同时限定许多存储层。然后通过用适当的材料填充存储孔来形成NAND串。存储单元的控制栅极由导电层提供。
每个平面NAND存储器由通过多个字线和位线连接的存储单元的阵列组成。逐页地将数据编程到平面NAND存储器中或从平面NAND存储器中读取该数据。为了减轻浮栅到浮栅耦合的影响,可以通过粗略和精细编程来对3D QLC NAND存储器进行编程以提高整体编程速度。还有,在粗略/精细编程的每个步骤之后,根据恒定的粗略/精细验证电流执行粗略/精细验证,以确定所选择的存储单元是否已经达到期望值。
在现有技术的粗略/精细编程方法中,以在3D QLC NAND存储器件的电流-电压曲线上导致恒定电压差的方式来设定粗略验证电流和精细验证电流之间的差。随着3D QLCNAND存储器件采用更多的层,最佳电流(best-of-current,BOC)情况电流-电压曲线和最差电流(worse-of-current,WOC)情况电流-电压曲线之间的差异也增大,从而导致不同的存储单元之间的较大的增益变化。因此,现有技术的粗略/精细编程方法在存储单元的阈值电压上具有小的余量。
发明内容
本发明提供一种对包括多个存储单元和多个字线的存储器件进行编程和验证的方法。所述方法包括:对所述多个存储单元中的第一存储单元执行第一粗略编程,所述第一存储单元由所述多个字线中的第一字线控制;在对所述第一存储单元执行所述第一粗略编程之后,对所述多个存储单元中的第二存储单元执行第二粗略编程,所述第二存储单元由所述多个字线中的第二字线控制;根据第一粗略验证电流,确定所述第一存储单元是否通过了粗略验证;以及根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二存储单元是否通过了第二粗略验证。
本发明提供还一种存储器件,所述存储器件包括:存储器阵列,具有多个存储单元;多个字线;字线驱动器;以及控制器。所述控制器被配置为:对第一存储单元执行第一粗略编程,所述第一存储单元由所述多个字线中的第一字线控制;在对所述第一存储单元执行所述第一粗略编程之后,对第二存储单元执行第二粗略编程,所述第二存储单元由所述多个字线中的第二字线控制;根据第一粗略验证电流,确定所述第一存储单元是否通过了粗略验证;以及根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二存储单元是否通过了第二粗略验证。
在阅读了在各个图和图样中示出的优选实施例的以下详细描述之后,本发明的这些和其他目的对于本领域的普通技术人员无疑将变得显而易见。
附图说明
图1是示出根据本发明的实施例的一个NAND串的顶视图。
图2是示出根据本发明的实施例的一个NAND串的等效电路的图。
图3是示出根据本发明的实施例的存储器阵列的示例性结构的图。
图4是根据本发明的实施例的存储器件的框图。
图5是示出根据本发明的实施例的对存储器件中的存储器阵列进行编程的方法的流程图。
图6是示出根据本发明的实施例的当对存储器件中的存储器阵列进行编程时的编程电压的波形的图。
图7是示出根据本发明的实施例的与每个字线子集相关联的粗略验证电流的值的图。
图8是示出根据本发明的实施例的当执行步骤时的验证电压的波形的图。
具体实施方式
在下面的详细描述中,参考附图,这些附图以说明的方式示出了可以实践本发明的特定实施例。对这些实施例进行了足够详细的描述,以使本领域技术人员能够实践本发明。应当理解,本发明的各种实施例尽管不同,但不一定是相互排斥的。例如,在不脱离本发明的精神和范围的情况下,在此结合一个实施例描述的特定特征、结构或特性可以被实现于其他实施例内。另外,应当理解,在不脱离本发明的精神和范围的情况下,可以修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被理解为限制性的,并且本发明的范围仅由适当地解释的所附权利要求以及权利要求所赋予的等同物的全部范围来限定。在附图中,贯穿若干视图,相似的数字表示相同或类似的功能。
图1是示出根据本发明的实施例的NAND串的顶视图。图2是示出其等效电路的图。在使用NAND结构的闪存***中,多个晶体管串联布置并且被夹在两个选择栅极之间,其被称为NAND串。图1和图2中所描绘的NAND串包括串联耦合并夹在顶部选择栅极SG_T(在漏极侧)和底部选择栅极SG_B(在源极侧)之间的四个晶体管101~104。顶部选择栅极SG_T被布置用于经由位线接触部将NAND串连接到位线,并且可以通过向选择栅极线SGTL施加适当的电压来控制该顶部选择栅极SG_T。底部选择栅极SG_B被布置用于将NAND串连接到源极线,并且可以通过向选择栅极线SGBL施加适当的电压来控制该底部选择栅极SG_B。晶体管101~104中的每个包括控制栅极和浮置栅极。例如,晶体管101包括控制栅极CG1和浮置栅极FG1,晶体管102包括控制栅极CG2和浮置栅极FG2,晶体管103包括控制栅极CG3和浮置栅极FG3,并且晶体管104包括控制栅极CG4和浮置栅极FG4。控制栅极CG1连接到字线WL1,控制栅极CG2连接到字线WL2,控制栅极CG3连接到字线WL3,并且控制栅极CG4连接到字线WL4。
为了说明的目的,图1和2示出了NAND串中的四个存储单元。在其他实施例中,NAND串可以包括8个存储单元、16个存储单元、32个存储单元、64个存储单元、128个存储单元等。然而,NAND串中的存储单元的数量不限制本发明的范围。
用于使用NAND结构的闪存***的典型架构包括若干NAND串。每个NAND串通过由选择线SGBL控制的其底部选择栅极SG_B连接到源极线,并且通过由选择线SGTL控制的其顶部选择栅极SG_T连接到其相关联的位线。每个位线和经由位线接触部连接到该位线的相应的NAND串(单个或多个)包括存储单元的阵列的列。位线被多个NAND串共享。典型地,位线在垂直于字线的方向上在NAND串的顶部延伸,并连接到一个或多个感测放大器。
图3是示出根据本发明的实施例的存储器阵列110的示例性结构的图。存储器阵列110被分成由BLOCK1~BLOCKI表示的存储单元的多个块,其中I是正整数,并且典型地等于较大的数。块包含一组NAND串,该一组NAND串被经由位线BL1-BLM和一组公共字线WL1~WLN访问,其中M和N是大于1的整数。NAND串的一个端子经由顶部选择栅极(连接到选择栅极线SGTL)连接到对应的位线,并且另一端子经由底部选择栅极(连接到选择栅极线SGBL)连接到源极线。每个块典型地被分成多个页面,如由虚线表示的。在一个实施例中,块是常规擦除的单位,而页面是常规编程的单位。然而,也可以使用擦除/编程的其他单位。
图4是根据本发明的实施例的存储器件100的框图。存储器件100包括存储器阵列110、字线驱动器102、位线驱动器104、列解码器120、感测电路122、数据缓冲器130、编程验证逻辑140、粗略/精细验证电路150、控制器160以及微码170。存储器阵列110是非易失性存储器阵列,其在断电时保持其状态。例如,存储器阵列110可以是NAND闪存,其包括具有浮栅晶体管的存储单元,如图1和2所示。此外,可以以3D MLC结构布置存储器阵列110,以增大数据容量。然而,存储器件100的类型不限制本发明的范围。
存储器件100可以包括图3中未示出的功能块和信号线。例如,存储器件100可以包括将存储器件100的各个部分耦合到外部总线的写接口电路或读接口电路。例如,图3中所示的存储器件100可以包括写接口电路或读接口电路。此外,存储器件100可包括从一个或多个接口电路到控制器160、数据缓冲器130或图3中所示的任何其他块的信号线。图3中所示的块被选择为支持对与存储器阵列110的编程有关的各种实施例的解释。
控制器160可以是能够影响存储器件100内的编程操作的任何类型的适合的控制器。例如,控制器160可以是嵌入式微处理器、微控制器等。在操作中,控制器160被配置为从微码170接收并执行软件指令。微码170可以被保持在诸如单独的闪存的非易失性存储元件中。然而,实现控制器160和微码170的方式不限制本发明的范围。
当对存储器阵列110进行编程时,要编程的数据被放置在数据缓冲器130中。在一些实施例中,可以由控制器160将要编程的数据放置在数据缓冲器130中。此外,编程操作可以对存储器阵列110的子集进行编程,并且数据缓冲器130可以仅保存对子集进行编程的数据。在编程操作期间,位线驱动器104被配置为向存储器阵列110内的位线提供适当的电压,并且字线驱动器102被配置为在存储器阵列110内的字线上提供编程脉冲。
在一些实施例中,存储器阵列110是NAND闪存,其包括多级存储单元的阵列。例如,以多级单元(multi-level cell,MLC)结构布置的存储器阵列110可以每个单元存储2比特,以三级单元(TLC)结构布置的存储器阵列110可以每个单元存储3比特,并且以四级单元(QLC)结构布置的存储器阵列110可以每个单元存储4比特。
为说明性目的使用MLC结构,每个多级单元可以支持由浮栅晶体管上的不同阈值电压表示的四个不同的编程状态。这四个状态可以表示为第零电平(L0)、第一电平(L1)、第二电平(L2)和第三电平(L3),其中L0对应于具有最低阈值电压的未编程存储单元,L3对应于具有最高阈值电压的编程的存储单元,并且L1和L2对应于具有中间阈值电压的编程的存储单元。L3、L2、L1和L0也分别表示为“00”、“01”、“10”和“11”。
在MLC实施例中,数据缓冲器130被成对地加载有要编程到存储器阵列110中的值。例如,由于每个MLC存储单元可以被编程有两比特信息,因此数据缓冲器130被加载有表示电平L0、L1、L2和L3的成对的数据比特。由于存储单元所保持的要擦除的比特全为1,因此要用L0或“11”编程的MLC存储单元根本不需要被编程。本发明的各个实施例认识到不需要对要保持“11”的单元进行编程,可以将要保持“00”的单元编程为高阈值电压,并且可以将要保持“10”或“01”的单元编程为中间阈值电压。对应于各种编程状态的阈值电压被限定为彼此具有足够的距离,以允许可靠地读取MLC存储单元。
在一些实施例中,存储器件100使用在字线上的多个脉冲来支持对存储器阵列110内的MLC单元进行编程,其中脉冲处于不同的电压。此外,存储器件100支持以粗略步骤使字线上的栅极电压增长,直到编程值接近期望的中间阈值电压,并且然后继续以精细步骤使字线上的栅极电压增长,直到编程的值满足或超过预定水平。下面进一步描述利用粗略和细字线电压步骤的各种编程实施例。如本文所使用的,术语“粗略脉冲”是指字线电压中的在粗略步骤之后施加的编程脉冲,而术语“精细脉冲”是指字线电压中在精细步骤之后施加的编程脉冲
在编程期间,控制器160被配置为指令位线驱动器104向位线提供适当的电压,并且指令字线驱动器102向字线提供粗略和精细的栅极电压。在一些实施例中,控制器160包括用于提供各种电压的电压参考电路,并且位线驱动器104和字线驱动器102包括用于选择电压的开关。在其他实施例中,位线驱动器104和字线驱动器102包括电压生成电路,并且控制器160提供数字控制信息,以指令位线驱动器104和字线驱动器102驱动位线和字线上的各种电压。然而,生成电压或将电压路由到位线和字线的方式不限制本发明的范围。
存储器阵列110可以将一个逻辑路径用于编程,并将另一逻辑路径用于读/验证。这允许路径在写(RWW)启用时被读,并允许在编程操作期间验证编程。例如,数据线112上的电流可以随着存储单元被编程而改变。在一些实施例中,字线驱动器102在编程操作之间在字线上提供“感测电压”以执行“验证”操作。本发明的各种实施例利用两种不同类型的验证操作:“粗略验证”和“精细验证”。在下面进一步描述粗略验证和精细验证。
在粗略验证期间(在粗略脉冲之后)或在精细验证期间(在精细脉冲之后),列解码器120被配置为从存储器阵列110接收数据并将该数据引导至感测电路122。感测电路122可以包括一个或多个参考电路,其提供可以与数据进行比较的参考电平。例如,数据可以是电流的形式,并且参考电路可以包括提供参考电流的编程的存储单元。在一些实施例中,每个电平存在多个参考。出于说明性目的使用MLC实施例,感测电路122可以包括L1粗略验证电流、L1精细验证电流、L2粗略验证电流、L2精细验证电流和L3验证电流。
编程验证逻辑140被配置为将感测电路122的输出与来自数据缓冲器130的数据进行比较。例如,在粗略验证期间,感测电路122通过将列解码器120的输出与粗略验证电流进行比较来生成数字输出信号,并且通过编程验证逻辑140将这些数字输出信号与数据缓冲器130中的数据进行比较。在一些实施例中,存储器阵列110内的多个位置被同时编程,并且在验证操作期间,同时验证存储器阵列110内的多个位置。例如,编程验证逻辑140可以同时验证存储器阵列110内的32个位置。此外,在一些实施例中,存储器阵列110内同时被编程的位置的数量可以基于各种总线的通信带宽或存储器件100内的编程泵的电流能力而改变。
粗略/精细验证电路150从编程验证逻辑140接收信息,并将信息提供给控制器160。在粗略验证操作期间,粗略/精细验证电路150被配置为检测任何正被编程的存储单元是否已经超过了对应的粗略参考,并且如果是,则向控制器160断言“粗略通过”信号。出于说明性目的使用MLC实施例,对当前正用L1或L2编程的所有存储单元执行粗略验证操作。在这些实施例中,即使一个存储单元超过了对应的粗略参考,粗略/精细验证电路150也将断言粗略通过信号。通过断言粗略通过信号,粗略/精细验证电路150可以通知控制器160从粗略栅极电压步骤切换到精细栅极电压步骤。
在接收到粗略通过信号之后,控制器160被配置为指令字线驱动器102对存储器阵列110内的字线提供精细的栅极电压步骤。在精细验证操作期间(在精细脉冲之后),感测电路122可以将列解码器120的输出与对应的精细验证电流进行比较。出于说明性目的使用MLC实施例,将正用L1编程的位置中的数据与L1精细验证电流进行比较,并且将正用L2编程的位置中的数据与L2精细验证电流进行比较。同样在精细验证操作期间,编程验证逻辑140可以将传感电路122的输出与来自数据缓冲器130的数据进行比较。对于满足(meet)或超过对应的精细验证电流的位置,编程验证逻辑140被配置为在数据缓冲器130中写诸如“11”的通过数据,以指示对应的存储单元已经通过了精细验证操作。对于未满足或超过对应的精细验证电流的位置,编程验证逻辑140不改变数据缓冲器130中的数据。然后重复精细脉冲,但是对于已经满足或超过精细验证电流的那些位置则不重复,因为数据缓冲器130中与那些位置对应的数据现在为“11”。仅当正被编程的所有存储单元已被正确编程时才断言“精细通过”信号。
图5是示出根据本发明的实施例的对存储器件100中的存储器阵列110进行编程和验证的方法的流程图。图5中的流程图包括以下步骤:
步骤500:以粗略步骤使编程电压VPGM增长。
步骤510:通过将编程电压VPGM施加到对应的选择的字线上,对一个或多个选择的存储单元执行粗略编程。
步骤520:提供与所选择的字线相关联的对应的粗略验证电流和对应的精细验证电流。
步骤530:根据对应的粗略验证电流,对一个或多个选择的存储单元执行粗略验证。
步骤540:确定是否断言了粗略通过信号;若是,则执行步骤560;若否,则执行步骤550。
步骤550:将相同数据写回至数据缓冲器;执行步骤500。
步骤560:以精细步骤使编程电压VPGM增长。
步骤570:通过将编程电压VPGM施加到对应的选择的字线上,对一个或多个选择的存储单元执行精细编程。
步骤580:根据对应的精细验证电流,对一个或多个选择的存储单元执行精细验证。
步骤590:确定是否断言了精细通过信号;若是,则执行步骤610;若否,则执行步骤600。
步骤600:对通过精细验证的所有存储单元,将通过数据写回至数据缓冲器;执行步骤610。
步骤610:结束。
在步骤500和560中,控制器160被配置为指令字线驱动器102施加编程电压VPGM,该编程电压VPGM可以是从初始电压电平开始的阶梯波形形式的一系列编程电压脉冲。正受编程的存储单元经受这一系列编程电压脉冲,每次都试图向其浮栅添加增量电荷。
图6是示出根据本发明的实施例的在执行步骤500和560时的编程电压VPGM的波形的图。在步骤500中,在每个粗略编程时段PC期间,以粗略步骤使编程电压VPGM增长。更具体地说,在每个粗略编程时段PC的开始,编程电压VPGM的电平增长VC的量(粗略脉冲)。在步骤560中,在编程时段PF1期间,以精细步骤使编程电压VPGM增长。更特别地,在每个精细编程时段FC的开始,编程电压VPGM的电平增长VF的量(精细脉冲),其中VF<VC。
在步骤510中,可以通过在一个或多个粗略编程时段PC期间将编程电压VPGM(粗略脉冲)施加到对应的选择的字线,来对一个或多个选择的存储单元执行粗略编程。在步骤570中,可以通过在一个或多个精细编程时段FC期间将编程电压VPGM(精细脉冲)施加到对应的选择的字线,来对一个或多个选择的存储单元执行精细编程。每个脉冲向该一个或多个选择的存储单元添加增量电荷,以达到存储在数据缓冲器130中的一个或多个编程状态的目的。
在步骤520中,感测电路122可以包括一个或多个参考电路,其提供参考电平,基于参考电平可以进行粗略验证和精细验证。例如,数据可以是电流的形式,并且参考电路可以包括提供参考电流的编程的存储单元。在一些实施例中,针对每个编程的电平存在多个参考。出于说明性目的使用MLC实施例,感测电路122可以提供L1粗略验证电流、L1精细验证电流、L2粗略验证电流、L2精细验证电流和L3验证电流。
在本发明中,可以根据对字线进行编程的顺序来调整每个粗略验证电流的值。公共组字线WL1~WLN还被分组成P个字线子集SUB1~SUBP,其中,每个字线子集包括n个相邻的字线(n为小于N的正整数)。首先,将第一字线子集SUB1中的字线WL1~WLn顺序编程,然后顺序地编程第二字线子集SUB2中的字线WLn+1~WL2n。继续相同的过程,直到第P字线子集中的字线WLN-n+1~WLN被顺序编程。
图7是示出与每个字线子集相关联的粗略验证电流的值的图。如所描绘的,如果由第一字线子集SUB1中的字线控制的选择的存储单元将被编程到L1,则将对应的粗略验证电流设定为ISENSE1;如果由第二字线子集SUB2中的字线控制的选择的存储单元将被编程到L1,则将对应的粗略验证电流设定为ISENSE2;…;如果由第P字线子集SUBP中的字线控制的选择的存储单元将被编程到L1,则将对应的粗略验证电流设定为ISENSEP,其中ISENSE1>ISENSE2>…>ISENSEP。换句话说,与较晚时间被编程为L1的字线子集相关联的粗略验证电流被设定为小于与较早时间被编程为L1的字线子集相关联的粗略验证电流的值。
在步骤530和580中,可以通过读回存储单元来对一个或多个选择的存储单元执行粗略/精细验证。通过在编程脉冲之间施加验证电压VVER,读回过程可以涉及一个或多个感测操作。
图8是示出根据本发明的实施例的当执行步骤530和580时的验证电压VVER的波形的图。参照图6,每个验证时段PV被***两个相邻的编程时段之间,以确认一个或多个选择的存储单元的当前电压电平。
在步骤540和590中,列解码器120可以在每个验证时段期间从存储器阵列110接收数据,并且将该数据引导到感测电路122。感测电路122可以将来自存储器阵列110的数据与对应的粗略/精细验证电流进行比较。
在步骤540中,如果没有一个正被编程的存储单元已经超过了对应的粗略验证电流,则在步骤550中,编程验证电路140将相同的数据写回到数据缓冲器130中。在另一个实施例中,可以省略步骤550,并且在步骤540中确定为“否”之后,该方法直接循环回到步骤500。上述循环的目的是向一个或多个选择的存储单元添加增量电荷,直到正被编程的存储单元中的至少一个存储单元已经超过了对应的粗略验证电流为止。
如果任何正被编程的存储单元已经超过了对应的粗略参考,则粗略/精细验证电路150将“粗略通过”信号断言给控制器160,从而在步骤540中导致“是”确定。出于说明性目的使用MLC实施例,对当前正用L1或L2编程的所有存储单元执行粗略验证操作。在这些实施例中,如果任何存储单元超过了对应的粗略参考,则粗略/精细验证电路150将断言粗略通过信号。通过断言粗略通过信号,在步骤560中,粗略/精细验证电路150可以通知控制器160以精细步骤使编程电压VPGM增长。
如果正被编程的存储单元中的至少一个尚未超过对应的精细验证电流,则不断言精细通过信号,从而在步骤590中导致“否”确定。在这种情况下,编程验证电路140对于在步骤600中通过精细验证(超过对应的精细验证电流)的所有存储单元,将指示数据写至数据缓冲器130。接下来,该方法直接循环回到步骤560。指示数据,诸如在MLC配置中的“11”,防止已通过精细验证的所有存储单元被重新脉冲化。上述循环的目的是向一个或多个选择的存储单元添加增量电荷,直到正被编程的所有存储单元都超过了对应的精细验证电流。
在本发明中,可以采用粗略和精细编程来提高整体编程速度。而且,在每个粗略/精细编程的步骤之后,根据对应的粗略/精细验证电流来执行粗略/精细验证,以确定选择的存储单元是否已经达到期望值。可以根据对字线进行编程的顺序来调整每个粗略验证电流的值,从而补偿不同存储单元之间的增益变化。因此,本方法可以在存储单元的阈值电压上提供大的余量。
本领域技术人员将容易地观察到,在保持本发明的教导的同时,可以对器件和方法进行许多修改和变更。因此,以上公开内容应被解释为仅由所附权利要求的界限来限定。
Claims (16)
1.一种对存储器件中的存储器阵列进行编程和验证的方法,所述方法包括:
以粗略步骤使编程电压的电平增长第一量,并将经增长的编程电压施加到选择的字线上,以对选择的存储单元执行粗略编程;
在所述粗略编程之后,对所述选择的存储单元执行验证;
在通过所述验证之后,以精细步骤使所述编程电压的电平增长第二量,并将经增长的编程电压施加到所述选择的字线上,以对所述选择的存储单元执行精细编程,其中,所述第二量小于所述第一量;
在所述精细编程之后,对所述选择的存储单元执行验证。
2.根据权利要求1所述的方法,其中,对所述选择的存储单元执行验证包括:根据对应的验证电流对所述选择的存储单元执行验证。
3.根据权利要求2所述的方法,所述方法还包括:
提供与所述选择的字线相关联的对应的粗略验证电流和对应的精细验证电流。
4.根据权利要求1所述的方法,所述方法还包括:
确定所述粗略编程之后的验证是否通过;
如果未通过,则以所述粗略步骤使所述编程电压的电平增长所述第一量并执行所述粗略编程。
5.根据权利要求1所述的方法,所述方法还包括:
确定所述精细编程之后的验证是否通过;
如果未通过,则以所述精细步骤使所述编程电压的电平增长所述第二量并执行所述精细编程。
6.一种对包括多个存储单元和多个字线的存储器件进行编程和验证的方法,所述方法包括:
所述多个字线中的公共组字线被分成至少两个字线子集;
对所述多个存储单元中的由所述至少两个字线子集中的第一字线子集控制的存储单元执行第一粗略编程;
在所述第一粗略编程之后,对所述多个存储单元中的由所述至少两个字线子集中的第二字线子集控制的存储单元执行第二粗略编程;
根据第一粗略验证电流,确定所述第一字线子集控制的存储单元是否通过了第一粗略验证,并且在所述第一字线子集控制的存储单元通过了所述第一粗略验证之后,对所述第一字线子集控制的存储单元执行第一精细编程;以及
根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二字线子集控制的存储单元是否通过了第二粗略验证,并且在所述第二字线子集控制的存储单元通过了所述第二粗略验证之后,对所述第二字线子集控制的存储单元执行第二精细编程,
其中,所述第一粗略编程和所述第二粗略编程包括以粗略步骤使编程电压的电平增长第一量,并将经增长的编程电压施加到相应的字线子集上,以对选择的存储单元执行粗略编程,并且
其中,所述第一精细编程和所述第二精细编程包括以精细步骤使所述编程电压的电平增长第二量,并将经增长的编程电压施加到相应的字线子集上,以对所述选择的存储单元执行精细编程,其中,所述第二量小于所述第一量。
7.根据权利要求6所述的方法,还包括:
通过向所述第一字线子集施加编程电压来对所述第一字线子集控制的存储单元执行所述第一粗略编程;
使所述编程电压的电平增长第一量;以及
在确定所述第一字线子集控制的存储单元未通过所述第一粗略验证之后,通过将经增长的编程电压施加到所述第一字线子集来对所述第一字线子集控制的存储单元执行第三粗略编程。
8.根据权利要求7所述的方法,还包括:
在确定所述第一字线子集控制的存储单元通过了第三粗略验证之后,使所述编程电压的所述电平增长第二量;以及
通过将经增长的编程电压施加到所述第一字线子集来对所述第一字线子集控制的存储单元执行所述第一精细编程。
9.一种存储器件,包括:
存储器阵列,其包括多个存储单元;
多个字线,其位于所述存储器阵列内;
字线驱动器,其连接到所述存储器阵列并且被配置为在所述多个字线上提供编程脉冲;
编程验证逻辑,其耦合至所述存储器阵列;以及
控制器,其耦合至所述字线驱动器和所述编程验证逻辑,并且被配置为:
指令所述字线驱动器以粗略步骤使编程电压的电平增长第一量,并将经增长的编程电压施加到选择的字线上,以对选择的存储单元执行粗略编程;
在所述粗略编程之后,指令所述字线驱动器和所述编程验证逻辑对所述选择的存储单元执行验证;
在通过所述验证之后,指令所述字线驱动器以精细步骤使所述编程电压的电平增长第二量,并将经增长的编程电压施加到所述选择的字线上,以对所述选择的存储单元执行精细编程,其中,所述第二量小于所述第一量;
在所述精细编程之后,指令所述字线驱动器和所述编程验证逻辑对所述选择的存储单元执行验证。
10.根据权利要求9所述的存储器件,其中,指令所述字线驱动器和所述编程验证逻辑对所述选择的存储单元执行验证包括:指令所述字线驱动器和所述编程验证逻辑根据对应的验证电流对所述选择的存储单元执行验证。
11.根据权利要求10所述的存储器件,还包括:
感测电路,其耦合至所述存储器阵列和所述编程验证逻辑,并且被配置为提供与所述选择的字线相关联的对应的粗略验证电流和对应的精细验证电流。
12.根据权利要求9所述的存储器件,其中,
所述编程验证逻辑被配置为确定所述粗略编程之后的验证是否通过;
所述控制器还被配置为:如果未通过,则指令所述字线驱动器以所述粗略步骤使所述编程电压的电平增长所述第一量并执行所述粗略编程。
13.根据权利要求9所述的存储器件,其中,
所述编程验证逻辑被配置为确定所述精细编程之后的验证是否通过;
所述控制器还被配置为:如果未通过,则指令所述字线驱动器以所述精细步骤使所述编程电压的电平增长所述第二量并执行所述精细编程。
14.一种存储器件,包括:
存储器阵列,包括多个存储单元;
多个字线,其位于所述存储器阵列内,并且所述多个字线中的公共组字线被分成至少两个字线子集;
字线驱动器,其连接到所述存储器阵列并且被配置为在所述多个字线上提供编程脉冲;
控制器,其耦合至所述字线驱动器并且被配置为:
指令所述字线驱动器对所述多个存储单元中的由所述至少两个字线子集中的第一字线子集控制的存储单元执行第一粗略编程,
在所述第一粗略编程之后,指令所述字线驱动器对所述多个存储单元中的由所述至少两个字线子集中的第二字线子集控制的存储单元执行第二粗略编程;以及
编程验证逻辑,其耦合至所述存储器阵列和所述控制器,并且被配置为:
根据第一粗略验证电流,确定所述第一字线子集控制的存储单元是否通过了第一粗略验证;以及
根据小于所述第一粗略验证电流的第二粗略验证电流,确定所述第二字线子集控制的存储单元是否通过了第二粗略验证,其中,所述控制器还被配置为:
在所述第一字线子集控制的存储单元通过了所述第一粗略验证之后,指令所述字线驱动器对所述第一字线子集控制的存储单元执行第一精细编程;以及
在所述第二字线子集控制的存储单元通过了所述第二粗略验证之后,指令所述字线驱动器对所述第二字线子集控制的存储单元执行第二精细编程,
其中,所述第一粗略编程和所述第二粗略编程包括以粗略步骤使编程电压的电平增长第一量,并将经增长的编程电压施加到相应的字线子集上,以对选择的存储单元执行粗略编程,并且
其中,所述第一精细编程和所述第二精细编程包括以精细步骤使所述编程电压的电平增长第二量,并将经增长的编程电压施加到相应的字线子集上,以对所述选择的存储单元执行精细编程,其中,所述第二量小于所述第一量。
15.根据权利要求14所述的存储器件,其中,所述控制器还被配置为:
通过指令所述字线驱动器向所述第一字线子集施加编程电压来对所述第一字线子集控制的存储单元执行所述第一粗略编程;
指令所述字线驱动器使所述编程电压的电平增长所述第一量;以及
在确定所述第一字线子集控制的存储单元未通过所述第一粗略验证之后,通过指令所述字线驱动器将经增长的编程电压施加到所述第一字线子集来对所述第一字线子集控制的存储单元执行第三粗略编程。
16.根据权利要求15所述的存储器件,其中,所述控制器还被配置为:
在确定所述第一字线子集控制的存储单元通过了第三粗略验证之后,指令所述字线驱动器使所述编程电压的所述电平增长所述第二量;以及
通过指令所述字线驱动器将经增长的编程电压施加到所述第一字线子集来对所述第一字线子集控制的存储单元执行所述第一精细编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324758.0A CN112927741B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/111830 WO2021072728A1 (en) | 2019-10-18 | 2019-10-18 | Method of programming and verifying memory device and related memory device |
CN202110324758.0A CN112927741B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
CN201980002547.6A CN110870015B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002547.6A Division CN110870015B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112927741A CN112927741A (zh) | 2021-06-08 |
CN112927741B true CN112927741B (zh) | 2022-09-30 |
Family
ID=69660105
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110324758.0A Active CN112927741B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
CN201980002547.6A Active CN110870015B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002547.6A Active CN110870015B (zh) | 2019-10-18 | 2019-10-18 | 对存储器件进行编程和验证的方法以及相关的存储器件 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10943665B1 (zh) |
EP (1) | EP3948868B1 (zh) |
JP (1) | JP7360478B2 (zh) |
KR (1) | KR20220002606A (zh) |
CN (2) | CN112927741B (zh) |
TW (1) | TW202117733A (zh) |
WO (1) | WO2021072728A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11282580B2 (en) * | 2020-05-29 | 2022-03-22 | Western Digital Technologies, Inc. | Data storage device with foggy-fine program sequence for reducing neighbor wordline interference |
CN112599157B (zh) * | 2020-12-17 | 2022-05-27 | 长江存储科技有限责任公司 | 三维存储器及其编程方法 |
CN114631148A (zh) * | 2021-08-31 | 2022-06-14 | 长江存储科技有限责任公司 | 存储装置的编程方法、存储装置及存储*** |
CN114400035A (zh) * | 2021-12-02 | 2022-04-26 | 长江存储科技有限责任公司 | 存储器的编程方法、存储器及存储*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1930632A (zh) * | 2004-01-27 | 2007-03-14 | 桑迪士克股份有限公司 | 用于非易失性存储器的粗略/精细编程的有效验证 |
CN106067322A (zh) * | 2015-04-22 | 2016-11-02 | 桑迪士克科技有限责任公司 | 利用两阶段编程的非易失性存储器 |
CN110326047A (zh) * | 2019-05-17 | 2019-10-11 | 长江存储科技有限责任公司 | 具有静态随机存取存储器的三维存储器件的数据缓冲操作 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4648074A (en) * | 1984-06-29 | 1987-03-03 | Rca Corporation | Reference circuit with semiconductor memory array |
JP3531081B2 (ja) * | 1994-11-30 | 2004-05-24 | 富士通株式会社 | 半導体装置およびその製造方法、ならびにそれを利用したベリファイ方法 |
US5684739A (en) * | 1994-11-30 | 1997-11-04 | Nkk Corporation | Apparatus and method for determining current or voltage of a semiconductor device |
JP2002184190A (ja) * | 2000-12-11 | 2002-06-28 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP3987715B2 (ja) * | 2001-12-06 | 2007-10-10 | 富士通株式会社 | 不揮発性半導体メモリおよび不揮発性半導体メモリのプログラム電圧制御方法 |
US7596031B2 (en) * | 2006-10-30 | 2009-09-29 | Sandisk Corporation | Faster programming of highest multi-level state for non-volatile memory |
US7468911B2 (en) * | 2006-11-02 | 2008-12-23 | Sandisk Corporation | Non-volatile memory using multiple boosting modes for reduced program disturb |
US7499335B2 (en) * | 2007-02-07 | 2009-03-03 | Macronix International Co., Ltd. | Non-volatile memory with improved erasing operation |
US7936599B2 (en) * | 2007-06-15 | 2011-05-03 | Micron Technology, Inc. | Coarse and fine programming in a solid state memory |
ITRM20080114A1 (it) * | 2008-02-29 | 2009-09-01 | Micron Technology Inc | Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria. |
US8130552B2 (en) * | 2008-09-11 | 2012-03-06 | Sandisk Technologies Inc. | Multi-pass programming for memory with reduced data storage requirement |
US8064252B2 (en) * | 2008-11-21 | 2011-11-22 | Micron Technology, Inc. | Multi-pass programming in a memory device |
US8208310B2 (en) * | 2010-05-04 | 2012-06-26 | Sandisk Technologies Inc. | Mitigating channel coupling effects during sensing of non-volatile storage elements |
US8310870B2 (en) * | 2010-08-03 | 2012-11-13 | Sandisk Technologies Inc. | Natural threshold voltage distribution compaction in non-volatile memory |
US8811091B2 (en) * | 2011-12-16 | 2014-08-19 | SanDisk Technologies, Inc. | Non-volatile memory and method with improved first pass programming |
KR20130072666A (ko) * | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US9082489B2 (en) * | 2012-01-13 | 2015-07-14 | Stec, Inc. | Programming algorithm for improved flash memory endurance and retention |
US8582381B2 (en) * | 2012-02-23 | 2013-11-12 | SanDisk Technologies, Inc. | Temperature based compensation during verify operations for non-volatile storage |
JP2014053060A (ja) * | 2012-09-07 | 2014-03-20 | Toshiba Corp | 半導体記憶装置及びその制御方法 |
KR102125376B1 (ko) | 2013-07-01 | 2020-06-23 | 삼성전자주식회사 | 저장 장치 및 그것의 쓰기 방법 |
JP2015176620A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社東芝 | 半導体記憶装置 |
WO2016014731A1 (en) * | 2014-07-22 | 2016-01-28 | Aplus Flash Technology, Inc. | Yukai vsl-based vt-compensation for nand memory |
JP2016062624A (ja) * | 2014-09-17 | 2016-04-25 | 株式会社東芝 | 半導体記憶装置 |
US9576673B2 (en) | 2014-10-07 | 2017-02-21 | Sandisk Technologies Llc | Sensing multiple reference levels in non-volatile storage elements |
DE102015116688B4 (de) * | 2015-10-01 | 2022-11-24 | Infineon Technologies Ag | Speichereinheit und Verfahren zum Betrieb eines Speichereinheitssektors |
KR102473167B1 (ko) * | 2015-12-18 | 2022-12-02 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR102458918B1 (ko) * | 2016-02-24 | 2022-10-25 | 삼성전자주식회사 | 메모리 장치 및 메모리 시스템 |
JP6441250B2 (ja) * | 2016-03-15 | 2018-12-19 | 東芝メモリ株式会社 | 半導体記憶装置 |
JP2019057350A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | 半導体メモリ |
US10635541B2 (en) * | 2017-10-23 | 2020-04-28 | Vmware, Inc. | Fine-grained conflict resolution in a shared log |
KR102421103B1 (ko) * | 2018-01-04 | 2022-07-14 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 그것들의 동작 방법 |
US10978156B2 (en) * | 2018-06-29 | 2021-04-13 | Sandisk Technologies Llc | Concurrent programming of multiple cells for non-volatile memory devices |
-
2019
- 2019-10-18 EP EP19949340.4A patent/EP3948868B1/en active Active
- 2019-10-18 KR KR1020217039097A patent/KR20220002606A/ko not_active Application Discontinuation
- 2019-10-18 WO PCT/CN2019/111830 patent/WO2021072728A1/en unknown
- 2019-10-18 JP JP2021571042A patent/JP7360478B2/ja active Active
- 2019-10-18 CN CN202110324758.0A patent/CN112927741B/zh active Active
- 2019-10-18 CN CN201980002547.6A patent/CN110870015B/zh active Active
- 2019-11-28 TW TW108143336A patent/TW202117733A/zh unknown
- 2019-12-02 US US16/699,743 patent/US10943665B1/en active Active
-
2021
- 2021-02-01 US US17/164,795 patent/US11721403B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1930632A (zh) * | 2004-01-27 | 2007-03-14 | 桑迪士克股份有限公司 | 用于非易失性存储器的粗略/精细编程的有效验证 |
CN106067322A (zh) * | 2015-04-22 | 2016-11-02 | 桑迪士克科技有限责任公司 | 利用两阶段编程的非易失性存储器 |
CN110326047A (zh) * | 2019-05-17 | 2019-10-11 | 长江存储科技有限责任公司 | 具有静态随机存取存储器的三维存储器件的数据缓冲操作 |
Also Published As
Publication number | Publication date |
---|---|
JP2022535376A (ja) | 2022-08-08 |
US11721403B2 (en) | 2023-08-08 |
KR20220002606A (ko) | 2022-01-06 |
CN110870015A (zh) | 2020-03-06 |
EP3948868B1 (en) | 2024-06-05 |
CN110870015B (zh) | 2021-03-12 |
EP3948868A4 (en) | 2022-06-29 |
CN112927741A (zh) | 2021-06-08 |
WO2021072728A1 (en) | 2021-04-22 |
JP7360478B2 (ja) | 2023-10-12 |
TW202117733A (zh) | 2021-05-01 |
US20210158880A1 (en) | 2021-05-27 |
US10943665B1 (en) | 2021-03-09 |
EP3948868A1 (en) | 2022-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11688458B2 (en) | Semiconductor memory device and memory system | |
US7020017B2 (en) | Variable programming of non-volatile memory | |
US8743615B2 (en) | Read compensation for partially programmed blocks of non-volatile storage | |
US7606079B2 (en) | Reducing power consumption during read operations in non-volatile storage | |
US8130552B2 (en) | Multi-pass programming for memory with reduced data storage requirement | |
US7876611B2 (en) | Compensating for coupling during read operations in non-volatile storage | |
CN112927741B (zh) | 对存储器件进行编程和验证的方法以及相关的存储器件 | |
US7839687B2 (en) | Multi-pass programming for memory using word line coupling | |
US10026492B2 (en) | Multi-die programming with die-jumping induced periodic delays | |
US7859922B2 (en) | Programming a flash memory device | |
US7440327B1 (en) | Non-volatile storage with reduced power consumption during read operations | |
US7606071B2 (en) | Compensating source voltage drop in non-volatile storage | |
US7663930B2 (en) | Programming a non-volatile memory device | |
US7606072B2 (en) | Non-volatile storage with compensation for source voltage drop |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |