CN115938446A - 存储器装置、其操作方法以及存储器*** - Google Patents

存储器装置、其操作方法以及存储器*** Download PDF

Info

Publication number
CN115938446A
CN115938446A CN202210294343.8A CN202210294343A CN115938446A CN 115938446 A CN115938446 A CN 115938446A CN 202210294343 A CN202210294343 A CN 202210294343A CN 115938446 A CN115938446 A CN 115938446A
Authority
CN
China
Prior art keywords
volatile memory
program
memory cells
threshold voltage
program state
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
Application number
CN202210294343.8A
Other languages
English (en)
Inventor
崔亨进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN115938446A publication Critical patent/CN115938446A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5622Concurrent multilevel programming of more than one cell

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本申请涉及存储器装置、其操作方法以及存储器***。一种存储器装置包括单元组和控制电路。单元组包括多个非易失性存储器单元,每个非易失性存储器单元能够存储对应于擦除状态和多个编程状态的多位数据。控制电路执行用于将多位数据编程到至少两个非易失性存储器单元中的至少两个部分编程操作。至少两个部分编程操作包括ISPP操作以及单个脉冲编程操作,该ISPP操作将至少两个非易失性存储器单元的阈值电压从擦除状态增加到多个编程状态当中的第一编程状态,并且单个脉冲编程操作将至少两个非易失性存储器单元当中的至少一个非易失性存储器单元的阈值电压从第一编程状态增加到多个编程状态当中高于第一编程状态的另一编程状态。

Description

存储器装置、其操作方法以及存储器***
技术领域
本文描述的本公开的一个或更多个实施方式涉及存储器装置,并且更具体地,涉及用于在非易失性存储器装置中编程数据的设备和方法。
背景技术
数据处理***包括存储器***或数据储存装置。可以将数据处理***开发成在数据储存装置中存储更大容量的数据,在数据储存装置中更快地存储数据,并且更快地读取存储在数据储存装置中的数据。存储器***或数据储存装置可以包括用于存储数据的非易失性存储器单元和/或易失性存储器单元。
发明内容
本公开的实施方式可以提供能够提高存储器装置的数据输入/输出速度的设备和方法。
此外,本公开的实施方式可以施加单个编程脉冲来将数据编程到存储器装置中以将阈值电压从特定编程状态增加到另一编程状态,并且使用电流感测电路(CSC)来检查存储器装置中包括的非易失性存储器单元的阈值电压分布。因此,可以减少执行验证操作以验证编程状态的次数和时间。
具体地,在根据本公开的实施方式的存储器装置中,编程操作可以包括多个单位操作。首先,存储器装置可以执行增量步进脉冲编程(ISPP)操作以将能够存储多位数据的非易失性存储器单元的阈值电压从擦除状态增加到多个编程状态当中具有最低阈值电压的第一编程状态。在本文中,增量步进脉冲编程(ISPP)操作可以包括重复施加编程脉冲以引发阈值电压的逐渐增加。存储器装置可以确定与对应于多个编程状态的阈值电压之差相对应的编程脉冲,然后将单个编程脉冲施加到非易失性存储器单元。通过施加单个编程脉冲,非易失性存储器单元可以具有突然达到另一编程状态的阈值电压,该另一编程状态比第一编程状态具有更高的阈值电压电平。通过该过程,存储器装置可以减少编程操作期间的验证操作的次数,由此减少在验证操作期间发生的内部电流消耗(ICC)。
在实施方式中,一种存储器装置可以包括:单元阵列,该单元阵列包括非易失性存储器单元,每个非易失性存储器单元能够存储对应于擦除状态和多个编程状态的多位数据;以及控制电路,该控制电路被配置为执行用于将多位数据编程到至少两个非易失性存储器单元中的至少两个部分编程操作,至少两个部分编程操作包括增量步进脉冲编程ISPP操作以及单个脉冲编程操作,该ISPP操作将至少两个非易失性存储器单元的阈值电压从擦除状态增加到多个编程状态当中的第一编程状态,并且单个脉冲编程操作将至少两个非易失性存储器单元当中的至少一个非易失性存储器单元的阈值电压从第一编程状态增加到多个编程状态当中高于第一编程状态的另一编程状态。
控制电路可以被配置为:针对ISPP操作将编程脉冲施加到至少两个非易失性存储器单元以将至少两个非易失性存储器单元的阈值电压从擦除状态逐渐增加到对应于多位数据的多个编程状态当中具有最低阈值电压电平的第一编程状态,执行用于确定至少两个非易失性存储器单元是否具有对应于第一编程状态的阈值电压的第一验证操作,基于第一验证操作的结果而将单个第一编程脉冲施加到至少两个非易失性存储器单元当中的第一非易失性存储器单元,以将第一非易失性存储器单元的阈值电压增加到高于第一编程状态的第二编程状态,第一编程脉冲对应于第一编程状态和第二编程状态之差,并且基于第一验证操作的结果而将单个第二编程脉冲施加到至少两个非易失性存储器单元当中的第二非易失性存储器单元,以将第二非易失性存储器单元的阈值电压增加到高于第二编程状态的第三编程状态,第二编程脉冲对应于第一编程状态和第三编程状态之差。
至少两个非易失性存储器单元可以包括要被编程为具有对应于第一编程状态、第二编程状态和第三编程状态的阈值电压的非易失性存储器单元。可以基于至少两个非易失性存储器单元当中具有对应于第一编程状态的阈值电压的非易失性存储器单元的比率是否等于或大于参考量(reference)来确定第一验证操作的结果。
控制电路还可以被配置为在施加第一编程脉冲和第二编程脉冲之后执行用于确定至少两个非易失性存储器单元是否具有对应于第二编程状态和第三编程状态的阈值电压的第二验证操作。
控制电路还可以被配置为在基于第二验证操作的结果而确定第一非易失性存储器单元的阈值电压未能具有对应于第二编程状态的阈值电压时,向第一非易失性存储器单元施加编程脉冲以逐渐增加第一非易失性存储器单元的阈值电压。
控制电路还可以被配置为在基于第二验证操作的结果而确定第二非易失性存储器单元的阈值电压未能具有对应于第三编程状态的阈值电压时,向第二非易失性存储器单元施加编程脉冲以逐渐增加第二非易失性存储器单元的阈值电压。
第二验证操作可以包括用于确定至少两个非易失性存储器单元是否具有对应于第一编程状态的阈值电压的验证操作。控制电路还可以被配置为在作为验证操作的结果而确定至少两个非易失性存储器单元中的一些非易失性存储器单元未能具有对应于第一编程状态的阈值电压时,向至少两个非易失性存储器单元中的一些非易失性存储器单元施加编程脉冲以将至少两个非易失性存储器单元中的一些非易失性存储器单元的阈值电压逐渐增加到第一编程状态。
存储器装置还可以包括页缓冲器,该页缓冲器被配置为临时存储来自多个非易失性存储器单元中的一个非易失性存储器单元的多位数据。页缓冲器可以包括多个锁存器。锁存器的数量可以等于或大于多位数据的位数。存储器装置还可以包括:验证电路,该验证电路联接到页缓冲器并且被配置为验证多位数据是否存储在多个非易失性存储器单元中的每一个中。
验证电路可以包括:多个电流感测电路,多个电流感测电路被配置为执行针对第一编程状态、第二编程状态和第三编程状态的验证操作,以输出关于第一编程状态、第二编程状态和第三编程状态中的每一个的通过信号或失败信号;以及第一组件,第一组件被配置为在多个电流感测电路输出通过信号时输出编程成功。
在另一实施方式中,一种用于操作存储器装置的方法可以包括:接收要编程到多个非易失性存储器单元中的多位数据;将编程脉冲施加到多个非易失性存储器单元当中处于擦除状态的至少两个非易失性存储器单元,以将至少两个非易失性存储器单元的阈值电压从擦除状态逐渐增加到第一编程状态,第一编程状态是对应于多位数据的多个编程状态当中的最低编程状态;执行用于确定至少两个非易失性存储器单元是否具有对应于第一编程状态的阈值电压的第一验证操作;基于第一验证操作的结果而将单个第一编程脉冲施加到至少两个非易失性存储器单元当中的第一非易失性存储器单元,以将第一非易失性存储器单元的阈值电压增加到高于第一编程状态的第二编程状态,第一编程脉冲对应于第一编程状态和第二编程状态之差;以及基于第一验证操作的结果而将单个第二编程脉冲施加到至少两个非易失性存储器单元当中的第二非易失性存储器单元,以将第二非易失性存储器单元的阈值电压增加到高于第二编程状态的第三编程状态,第二编程脉冲对应于第一编程状态和第三编程状态之差。
至少两个非易失性存储器单元可以包括要被编程为具有对应于第一编程状态、第二编程状态和第三编程状态的阈值电压的非易失性存储器单元。可以基于至少两个非易失性存储器单元当中具有对应于第一编程状态的阈值电压的非易失性存储器单元的比率是否等于或大于参考量来确定第一验证操作的结果。
该方法还可以包括在施加第一编程脉冲和第二编程脉冲之后执行针对第二编程状态和第三编程状态的第二验证操作。
该方法还可以包括当基于第二验证操作的结果而确定第一非易失性存储器单元未能具有对应于第二编程状态的阈值电压时,向第一非易失性存储器单元施加编程脉冲以逐渐增加第一非易失性存储器单元的阈值电压。
该方法还可以包括当基于第二验证操作的结果而确定第二非易失性存储器单元未能具有对应于第三编程状态的阈值电压时,向第二非易失性存储器单元施加编程脉冲以逐渐增加第二非易失性存储器单元的阈值电压。
该方法还可以包括:在第二验证操作期间执行针对第一编程状态的验证操作;以及当作为第二验证操作期间的验证操作的结果而确定至少两个非易失性存储器单元中的一些非易失性存储器单元未能具有对应于第一编程状态的阈值电压时,将编程脉冲施加到至少两个非易失性存储器单元中的一些非易失性存储器单元以将至少两个非易失性存储器单元中的一些非易失性存储器单元的阈值电压逐渐增加到第一编程状态。
在另一实施方式中,一种存储器***可以包括:控制器,该控制器被配置为从外部装置接收数据,确定存储数据的位置,并且生成要存储在位置中的多位数据;以及存储器装置,该存储器装置被配置为:从控制器接收根据位置的多位数据,将编程脉冲施加到多个非易失性存储器单元当中处于擦除状态的至少两个非易失性存储器单元以将至少两个非易失性存储器单元的阈值电压从擦除状态逐渐增加到第一编程状态,第一编程状态是对应于多位数据的多个编程状态当中的最低编程状态,执行用于确定至少两个非易失性存储器单元是否具有对应于第一编程状态的阈值电压的第一验证操作,基于第一验证操作的结果而将单个第一编程脉冲施加到至少两个非易失性存储器单元当中的第一非易失性存储器单元,以将第一非易失性存储器单元的阈值电压增加到高于第一编程状态的第二编程状态,第一编程脉冲对应于第一编程状态和第二编程状态之差,并且基于第一验证操作的结果而将单个第二编程脉冲施加到至少两个非易失性存储器单元当中的第二非易失性存储器单元,以将第二非易失性存储器单元的阈值电压增加到高于第二编程状态的第三编程状态,第二编程脉冲对应于第一编程状态和第三编程状态之差。
存储器装置还可以被配置为在关于多位数据的编程操作完成时,将完成信号发送到控制器。
至少两个非易失性存储器单元可以包括要被编程为具有对应于第一编程状态、第二编程状态和第三编程状态的阈值电压的非易失性存储器单元。可以基于至少两个非易失性存储器单元当中具有对应于第一编程状态的阈值电压的非易失性存储器单元的比率是否等于或大于参考量来确定第一验证操作的结果。
存储器装置还可以被配置为在施加第一编程脉冲和第二编程脉冲之后执行针对第二编程状态和第三编程状态的第二验证操作。
存储装置还可以被配置为:当作为第二验证操作的结果而确定第一非易失性存储器单元未能具有对应于第二编程状态的阈值电压时,向第一非易失性存储器单元施加编程脉冲以逐渐增加第一非易失性存储器单元的阈值电压;并且当基于第二验证操作的结果而确定第二非易失性存储器单元未能具有对应于第三编程状态的阈值电压时,向第二非易失性存储器单元施加编程脉冲以逐渐增加第二非易失性存储器单元的阈值电压。
在另一实施方式中,一种存储器装置的操作方法可以包括:对联接到字线的存储器单元执行第一编程循环;以及作为第一编程循环的结果,当存储器单元当中根据参考验证电压的导通单元的数量大于参考数量时,对存储器单元依次执行第二编程循环和第三编程循环。每个第一编程循环可以包括:向字线施加第一编程脉冲,并且验证导通单元的数量是否大于参考数量,其中,随着第一编程循环根据增量步进脉冲编程(ISPP)方案进行,第一编程脉冲增加默认量。第二编程循环可以包括:向字线依次施加预定数量的第二编程脉冲,并且在依次施加第二编程脉冲之后,依次验证存储器单元是否具有相应的目标编程状态,其中,相对于第一编程循环中的最后一个第一编程循环的第一编程脉冲,第二编程脉冲的电平相差预定量。第三编程循环可以包括:向字线依次施加预定数量的第三编程脉冲,并且在依次施加第三编程脉冲之后,依次验证存储器单元是否具有相应的目标编程状态,并且其中,相对于第一编程循环中的最后一个第一编程循环的第一编程脉冲,第三编程脉冲的电平相差默认量。
附图说明
本文的描述参照了附图,其中相似的附图标记在整个附图中指代相似的部件。
图1例示了根据本公开的实施方式的存储器装置。
图2例示了根据本公开的实施方式的数据处理***。
图3A和图3B例示了根据本公开的实施方式的增量步进脉冲编程(ISPP)操作。
图4例示了根据本公开的实施方式的用于将多位数据存储在非易失性存储器单元中的方法。
图5例示了根据本公开的实施方式的用于将多位数据存储在非易失性存储器单元中的另一方法。
图6例示了根据本公开的实施方式的增量步进脉冲编程(ISPP)操作的编程操作和验证操作。
图7例示了根据本公开的实施方式的编程操作。
图8例示了根据本公开的实施方式的在参照图7描述的编程操作中使用的编程脉冲。
图9例示了根据本公开的实施方式的用于在参照图7描述的编程操作期间验证多个编程值的电流感测电路(CSC)的示例。
具体实施方式
下面参照附图描述本公开的各种实施方式。然而,本公开的元件和特征可以被不同地配置或布置以形成其它实施方式,这些其它实施方式可以是所公开的实施方式中的任何一个的变型。
在本公开中,对包括于“一个实施方式”、“示例实施方式”、“实施方式”、“另一实施方式”、“一些实施方式”、“各种实施方式”、“其它实施方式”、“另选的实施方式”等中的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用旨在表示任何这样的特征包括于本公开的一个或更多个实施方式中,但是可以或可能不一定组合在同一实施方式中。
在本公开中,术语“包括”、“包括于”、“包含”和“包含于”是开放式的。如在所附权利要求中使用的,这些术语指定了所提及的元素的存在并且不排除一个或更多个其它元素的存在或添加。权利要求中的术语不排除设备包括附加组件(例如,接口单元、电路等)。
在本公开中,各种单元、电路或其它组件可以被描述或要求保护为“被配置为”执行任务或多个任务。在这种上下文中,“被配置为”用于通过指示块/单元/电路/组件包括在操作期间执行一个或更多个任务的结构(例如,电路)来暗示结构。这样,即使当指定的块/单元/电路/组件当前未操作(例如,未打开或未被激活)时,块/单元/电路/组件也可以被称为被配置为执行任务。与“被配置为”语言一起使用的块/单元/电路/组件包括硬件,例如,电路、存储可执行以实现操作的程序指令的存储器等。附加地,“被配置为”可以包括通用结构(例如,通用电路),其由软件和/或固件(例如,FPGA或执行软件的通用处理器)操纵,从而以能够执行所讨论的任务的方式操作。“被配置为”还可以包括将制造工艺(例如,半导体制造设施)适配为制造适于实现或执行一个或更多个任务的装置(例如,集成电路)。
如本公开中使用的,术语“电路”或“逻辑”是指以下中的全部:(a)纯硬件电路实现(诸如,仅在模拟和/或数字电路中的实现),和(b)电路和软件(和/或固件)的组合,诸如(如果适用):(i)处理器的组合或(ii)一起工作以使设备(诸如,移动电话或服务器)执行各种功能的处理器/软件的部分(包括数字信号处理器)、软件和存储器,以及(iii)诸如微处理器或微处理器的一部分之类的需要软件或固件(即使软件或固件物理上不存在)才能运行的电路。“电路”或“逻辑”的该定义适用于该术语在本申请中(包括在任何权利要求中)的所有使用。作为另一示例,如本申请中所使用的,术语“电路”或“逻辑”还涵盖仅处理器(或多个处理器)、或处理器的一部分及其(或它们的)随附软件和/或固件的实现。术语“电路”或“逻辑”还涵盖,例如以及如果适用于特定的权利要求元素,用于储存装置的集成电路。
如本文所用,术语“第一”、“第二”、“第三”等用作它们后面的名词的标签,并不暗示任何类型的排序(例如,空间、时间、逻辑等)。术语“第一”和“第二”并不一定暗示第一值必须在第二值之前写入。此外,尽管本文可以使用这些术语来标识各种元素,但是这些元素不受这些术语的限制。这些术语用于将一个元素与否则将具有相同或相似名称的另一元素区分开。例如,第一电路可以与第二电路区分开。
此外,术语“基于”用于描述影响确定的一个或更多个因素。该术语不排除可以影响确定的附加因素。也就是说,确定可以仅基于那些因素或至少部分地基于那些因素。考虑短语“基于B确定A”。虽然在这种情况下,B是影响A的确定的因素,但这样的短语并不排除A的确定也基于C。在其它情况下,可以仅基于B确定A。
在本文中,数据的项、数据项、数据条目或数据的条目可以是位序列。例如,数据项可以包括文件的内容、文件的一部分、存储器中的页、面向对象编程中的对象、数字消息、数字扫描的图像、视频或音频信号的一部分、元数据或可以由位序列表示的任何其它实体。根据实施方式,数据项可以包括离散对象。根据另一实施方式,数据项可以包括两个不同组件之间的传输分组内的信息单元。
本文所描述的实施方式提供了数据处理***及用于操作数据处理***的方法。数据处理***包括诸如存储器***和主机之类的组件和资源,并且能够基于组件和资源的使用情况动态地分配用于组件之间的数据通信的多个数据路径。
现在将参照附图来描述实施方式,其中相似的附图标号表示相似的元件。
图1例示了根据本公开的实施方式的包括形成于存储器晶片(die)中的存储器单元阵列电路的存储器装置150。
参照图1,存储器装置150可以包括具有多个单元串340的至少一个存储器组330。每个单元串340可以包括连接到多条位线BL0至BLm-1中的相应位线的多个非易失性存储器单元MC0至MCn-1。单元串340设置于存储器组330的各个列中,并且每个单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管(或串选择晶体管)SST。每个单元串340的非易失性存储器单元MC0至MCn-1可以串联连接在漏极选择晶体管DST和源极选择晶体管SST之间。非易失性存储器单元MC0至MCn-1中的每一个可以被配置为每个单元存储具有多个位的数据项的多级单元(MLC)。单元串340可以电连接到位线BL0至BLm-1中的对应位线。
在实施方式中,存储器组330可以包括NAND型闪存单元MC0至MCn-1。在另一实施方式中,存储器组330可以实现为NOR型闪存、其中混合或组合有至少两种不同类型的存储器单元的混合闪存、或者其中控制器嵌入单个存储器芯片中的单芯片NAND闪存。在实施方式中,存储器组330可以包括闪存单元,该闪存单元包括电荷俘获闪存(CTF)层,该CTF层包括导电浮栅或绝缘层。
图2示出了根据本公开的实施方式的可以包括存储器装置150的存储器***110。在本实施方式中,存储器装置150中的存储器组330可以包括一个或更多个存储块152、154、156。根据实施方式,存储器装置150可以具有二维(2D)或三维(3D)结构。例如,存储器装置150中的存储块152、154、156中的每一个可以实现为3D结构,例如,垂直结构。存储块152、154、156中的每一个可以具有沿第一方向至第三方向(例如,x轴方向、y轴方向和z轴方向)延伸的三维结构。
包括多个存储块152、154、156的存储器组330可以联接到多条位线BL、多条串选择线(或源极选择线)SSL、多条漏极选择线DSL、多条字线WL、多条虚设字线DWL(未示出)和多条公共源极线CSL。在一个实施方式中,存储器组330可以包括多个NAND串NS,例如,多个NAND串NS可以分别对应于单元串340。每个NAND串NS可以包括多个存储器单元MC并且可以连接到位线BL中的相应位线。另外,每个NAND串NS的串选择晶体管SST可以连接到公共源极线CSL,并且每个NAND串NS的漏极选择晶体管DST可以连接到对应位线BL。在每个NAND串NS中,存储器单元MC可以布置在串选择晶体管SST和漏极选择晶体管DST之间。
参照图1和图2,存储器装置150可以包括电压提供电路170,电压提供电路170可以根据操作模式为字线中的相应字线提供字线电压(例如,诸如编程电压、读取电压和通过电压之类的一个或更多个预定电压),或者向其中形成有包括存储器单元MC的每个存储块的体部(例如,阱区)提供电压。在这种情况下,可以在控制电路180的控制下执行电压提供电路170的电压生成操作。另外,电压提供电路170可以生成多个可变读取电压以将多个数据项彼此区分开。
响应于控制电路的控制,可以选择存储器单元阵列的存储块(或扇区)之一,并且可以选择被选存储块的字线之一。字线电压可以被单独提供给被选字线和未选字线。电压提供电路170可以包括用于生成具有各种电平的目标电压的电压生成电路(例如,参照图4至图8)。
在实施方式中,电压提供电路170可以联接到接收从外部(例如,外部装置)施加的第一电源电压VCC的第一引脚或焊盘和接收从外部装置施加的第二电源电压VPP的第二引脚或焊盘。第二电源电压VPP可以具有比第一电源电压VCC的电压电平高(例如,两倍或更高)的电压电平。例如,第一电源电压VCC可以具有2.0V至5.5V的电压电平,而第二电源电压可以具有9V至13V的电压电平。
根据实施方式,电压提供电路170可以包括用于更快地生成存储器组330中所使用的各种电平的目标电压的电压生成电路。电压生成电路可以使用第二电源电压VPP来生成目标电压,该目标电压可以具有比第二电源电压VPP的电压电平高的电压电平。
存储器装置150还可以包括由控制电路180控制的读/写电路320。读/写电路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可以执行数据传输而不存在等待时间。
根据实施方式,存储器装置150可以接收写入命令、写入数据和关于写入数据要存储的位置的信息,例如,物理地址。控制电路180使电压提供电路170生成响应于写入命令而执行的编程操作所使用的编程脉冲、通过电压等,以及生成在编程操作之后执行的验证操作所使用的一个或更多个电压。
当在存储器组330中所包括的非易失性存储器单元中编程多位数据项时,错误率可能高于当在非易失性存储器单元中存储一位数据项时的错误率。例如,非易失性存储器单元中的错误可能是由于单元间干扰(CCI)而引起的。为了减少非易失性存储器单元中的错误,应该减小与非易失性存储器单元之间存储的数据项相对应的阈值电压分布的宽度(偏差)。
为此,存储器装置150可以执行增量步进脉冲编程(ISPP)操作,以有效地使非易失性存储器单元的阈值电压分布窄。在实施方式中,存储器装置150可以将ISPP操作用于多步编程操作。例如,存储器装置150可以根据非易失性存储器单元或页之间的预定次序,将编程操作划分为最低有效位(LSB)编程操作和最高有效位(MSB)编程操作。
根据实施方式,可以提供如下设备及方法,其能够在通过在向存储器装置中的存储器单元施加多个编程脉冲而完成的数据编程操作期间减少用于在编程脉冲施加之间使位线或沟道放电的时间。当放电时间能够减少时,可以增加存储器装置的编程操作的速度。例如,为了使存储器装置中的位线或沟道放电,存储器装置可以控制或调整位线选择线或漏极选择线(DSL)的电压电平,以便避免晶体管在通过位线选择线或漏选择线(DSL)控制时处于浮置状态。因为晶体管可能处于浮置状态,所以位线或沟道不能适当地放电。
在实施方式中,存储器装置可以在向存储器装置中的非易失性存储器单元施加给存储器单元的编程脉冲的单位编程操作期间调整和改变用于在施加编程脉冲之后调整位线电位的建立时间(setup time)。结果,可以提供能够提高编程操作的速度和/或提高编程操作效率的设备及方法。
例如,在向存储器装置中的非易失性存储器单元施加多个编程脉冲以用多位数据对非易失性存储器单元进行编程的操作期间,存储器装置可以以各种模式中的一种模式执行单位编程操作,在该单位编程操作中在已经施加第一编程脉冲之后施加第二编程脉冲。
单位编程操作的模式可以包括第一编程模式、第二编程模式和第三编程模式。在第一编程模式中,数据响应于第二编程脉冲而被编程的程度(例如,当施加第二编程脉冲时非易失性存储器单元中的阈值电压的改变或移位)可以类似或大于数据响应于第一编程脉冲数据而被编程的程度。在第二编程模式中,数据响应于第二编程脉冲而被编程的程度小于数据响应于第一编程脉冲而被编程的程度。在第三编程模式中,数据响应于第二编程脉冲而被编程的程度不存在,例如,即使在施加第二编程脉冲时,非易失性存储器单元中的阈值电压也没有变化或没有移位。可以基于在施加编程脉冲时联接到目标存储器单元的位线的电位来实现该模式。如果能够减少放电时间,则存储器装置能够通过调整和改变用于改变位线电位或使位线电位放电的建立时间来提高数据编程操作的效率或速度。
根据实施方式,存储器装置可以响应于编程操作环境(例如,温度)以及关于在数据编程操作期间施加至非易失性存储器单元的编程脉冲的施加次数或电平或大小而改变或调整通过位线选择线或漏极选择线(DSL)施加的控制电压。因此,存储器装置可以在通过向非易失性存储器单元施加多个编程脉冲的数据编程操作期间减小与每个编程脉冲相对应的操作裕量。这可以减少执行数据编程操作所花费的时间。
再次参照图2,存储器装置150被示出为包括在数据处理***100中。根据实施方式,数据处理***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可以包括多个存储器平面或者一个或更多个存储器晶片。根据实施方式,存储器平面可以被认为是包括至少一个存储块、能够控制多个非易失性存储器单元的阵列的驱动电路、以及可以临时存储输入至非易失性存储器单元的数据或从非易失性存储器单元输出的数据的缓冲器的逻辑分区或物理分区。
根据实施方式,每个存储器晶片可以包括至少一个存储器平面,并且可以理解为在物理上可区分的基板上所实现的组件的集合。每个存储器晶片可以通过数据路径连接到控制器130,并且可以包括与控制器130交换数据项和信号的接口。
根据实施方式,存储器装置150可以包括至少一个存储块152、154、156、至少一个存储器平面或至少一个存储器晶片。存储器装置150的内部构造(例如,图1所示)可以根据存储器***110的性能而不同。本公开的实施方式不限于图1所示的内部构造。
在图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内执行对应于多个命令的操作。
控制器130可以响应于来自主机102的请求或命令而控制存储器装置150。例如,控制器130可以执行读取操作以向主机102提供从存储器装置150读取的数据并且可以执行写入操作(例如,编程操作)以将从主机102输入的数据存储在存储器装置150中。为了执行数据输入/输出(I/O)操作,控制器130可以控制和管理读取数据、编程数据、擦除数据等的内部操作。
根据实施方式,控制器130可以包括主机接口(I/F)132、处理器134、纠错电路(ECC)138、电源管理单元(PMU)140、存储器接口(I/F)142和存储器144。如图2所示的控制器130中的组件可以根据关于存储器***110的结构、功能、操作性能等而变化。
例如,存储器***110可以根据主机接口的协议用与主机102电联接的各种类型的储存装置中的任一种来实现。合适的储存装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你-SD、微型-SD、通用串行总线(USB)储存装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒等。根据存储器***110的实现,可以向控制器130添加组件或从控制器130省略组件。
主机102和存储器***110中的每一个可以包括用于根据一个或更多个预定协议发送和接收信号、数据等的控制器或接口。例如,存储器***110中的主机接口132可以包括能够向主机102发送信号、数据等或从主机102接收信号、数据等的设备。
主机接口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个串行信号。因为在用于数据发送和接收的主机102中其数据发送和接收速率更快并且其资源消耗更少,所以SATA接口已被广泛使用。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中包括的单个收发器。
纠错电路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可以包括用于基于上述码中的至少一种来执行纠错操作的所有电路、模块、***和/或装置。在实施方式中,纠错电路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的读取请求而从存储器装置150输出的读取数据被输出到主机102之前临时存储所述读取数据。
另外,控制器130可以在将从主机102输入的写入数据编程到存储器装置150中之前将写入数据临时存储在存储器144中。当控制器130控制存储器装置150的诸如数据读取操作、数据写入或编程操作、数据擦除操作等的操作时,在存储器***110的控制器130与存储器装置150之间传输的数据可以临时存储在存储器144中。
除了读取数据或写入数据之外,存储器144还可以存储用于在主机102和存储器装置150之间输入或输出数据的信息,例如,映射数据、读取请求、编程请求等。根据实施方式,存储器144可以包括命令队列、编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等中的一个或更多个。控制器130可以在存储器144中为被建立以施行数据输入/输出操作的组件分配一些储存空间。例如,在存储器144中建立的写入缓冲器可以用于临时存储经历编程操作的目标数据。
在实施方式中,可以用易失性存储器来实现存储器144。例如,可以用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实现存储器144。尽管图2例示了存储器144设置在控制器130内,但是实施方式不限于此。存储器144可以位于控制器130的内部或外部。例如,存储器144可以由具有在存储器144和控制器130之间传送数据和/或信号的存储器接口的外部易失性存储器来实施。
处理器134可以控制存储器***110的整体操作。例如,处理器134可以响应于从主机102进入的写入请求或读取请求而控制存储器装置150的编程操作或读取操作。根据实施方式,处理器134可以执行固件以控制存储器***110中的编程操作或读取操作。固件可以是例如闪存转换层(FTL)。根据实施方式,处理器134可以用微处理器、中央处理单元(CPU)或另一处理装置来实现。
根据实施方式,存储器***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进行的关于通过哪个通道或通路递送指令和/或数据的确定可以与物理块地址相关联。控制器130可以参考从存储器装置150递送的描述符。描述符可以包括描述关于存储器装置150的某些事情的参数的块或页。描述符可以具有预定格式或结构。例如,描述符可以包括装置描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定使用哪个通道或通路来交换指令或数据。
如上所述,存储器***110中的存储器装置150可以包括一个或更多个存储块152、154、156。存储块152、154、156中的每一个包括多个非易失性存储器单元。根据实施方式,存储块152、154、156可以是一起被擦除的一组非易失性存储器单元。存储块152、154、156可以包括多个页,所述页是一起被读取或编程的一组非易失性存储器单元。
在实施方式中,存储块152、154、156中的每一个可以具有高集成度的三维层叠结构。此外,存储器装置150可以包括多个晶片,每个晶片包括多个平面,每个平面包括存储块152、154、156。存储器装置150的构造可以依据存储器***110的性能而改变。
在图2中,存储器装置150包括存储块152、154和156,基于在一个存储器单元中可以存储的位数,存储块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存储块。多级单元(MLC)存储块的数据输入/输出速度可以比SLC存储块的数据输入/输出速度慢。例如,当MLC存储块用作SLC存储块时,能够减少读取操作或编程操作的裕量。例如,当MLC存储块用作SLC存储块时,控制器130可以以更高的速度执行数据输入/输出操作。因此,控制器130可以使用MLC存储块作为SLC缓冲器来临时存储数据,这是因为缓冲器可以需要高的数据输入/输出速度以提高存储器***110的性能。
根据实施方式,控制器130可以在不对存储器装置150中所包括的特定MLC存储块执行擦除操作的情况下,在MLC中多次编程数据。通常,非易失性存储器单元不支持数据覆写。然而,控制器130可以利用MLC能够存储多位数据的特征来在MLC中多次编程1位数据。对于MLC覆写操作,当在MLC中编程1位数据时,控制器130可以将编程次数存储为单独的操作信息。根据实施方式,可以在各自已经存储了1位数据的相同MLC中编程另一个1位数据之前执行用于均匀地拉平MLC的阈值电压的操作。
在实施方式中,存储器装置150被实施为诸如闪存(例如,NAND闪存、NOR闪存等)之类的非易失性存储器。在另一实施方式中,可以通过相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)和自旋转移力矩磁随机存取存储器(STT-MRAM)等中的至少一个来实现存储器装置150。
图3A和图3B例示了根据本公开的实施方式的增量步进脉冲编程(ISPP)操作。
参照图3A,数据可以被编程在处于擦除状态的非易失性存储器单元中。当向联接到非易失性存储器单元的字线提供编程脉冲时,非易失性存储器单元的阈值电压分布可以从擦除状态向右(例如,阈值电压增加的方向)移位。如果编程脉冲被连续地提供给非易失性存储器单元,则非易失性存储器单元的阈值电压分布可以连续地向右移位。可以提供编程脉冲,直到在阈值电压分布中多个非易失性存储器单元中的大多数具有高于目标电压VTARG的阈值电压。
在图3B中,当编程操作开始时(操作212),存储器装置150可以向要被编程数据的多个非易失性存储器单元施加编程脉冲(操作214)。在施加编程脉冲之后,存储器装置150可以验证多个非易失性存储器单元中的大多数是否具有高于目标电压VTARG的阈值电压VTH(操作216)。当根据验证结果FAIL(失败)确定多个非易失性存储器单元中的大多数不具有高于目标电压VTARG的阈值电压VTH时,存储器装置150向对应的非易失性存储器单元施加另一编程脉冲(操作214)。当根据另一验证结果PASS(通过)确定多个非易失性存储器单元中的大多数具有高于目标电压VTARG的阈值电压VTH时,存储器装置150可以结束编程操作(操作218)。
为了缩窄多个非易失性存储器单元的阈值电压分布,有利的是当施加单个编程脉冲时,将多个非易失性存储器单元的阈值电压分布略微向右移位例如第一量,而不是将它们大大地向右移位例如比第一量大的第二量。另一方面,当多个非易失性存储器单元的阈值电压分布略微向右移位时,施加编程脉冲的次数可以增加。
根据实施方式,作为编程脉冲施加的次数,其可以是在非易失性存储器单元中可存储的数据位数的三倍或更多倍。例如,当在非易失性存储器单元中可以存储2位数据时,非易失性存储器单元可以具有与2位数据相对应的四个编程状态,例如,“00”、“01”、“10”和“11”。为了形成更紧密的阈值电压分布,例如,更窄的分布,多个非易失性存储器单元的阈值电压分布响应于单个编程脉冲而向右移位的程度可以小于两个相邻编程状态之间的差。例如,当施加两个或更多个编程脉冲时,可以设计为按照两个相邻编程状态之间的差进行移动。在这种情况下,施加编程脉冲的次数可以是8次或更多次,这是数据位数的4倍以上。
根据实施方式,当施加单个编程脉冲时多个非易失性存储器单元的阈值电压分布移动的程度可以理解为目标电平。针对图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例示了根据本公开的实施方式的用于在非易失性存储器单元中存储多位数据的另一方法。在图5中,作为示例将描述由包括能够存储3位数据的非易失性存储器单元的存储器装置150执行的编程操作。
参照图5,存储器装置150可以不将在非易失性存储器单元中存储3位数据的操作依次划分为LSB编程操作、CSB编程操作和MSB编程操作。为了在不分离的情况下将3位数据存储在非易失性存储器单元中,对应于八个编程状态的LSB、CSB和MSB的码值可以与图4中所示的不同。对应于8个编程状态的3位数据可以被确定为格雷码(gray code),并且可以不同地设置LSB、CSB、MSB的码值。这里,格雷码是当数据改变时为了改变相邻数据之间的仅一位(1位)的值而制成的码。例如,可以理解为处于擦除状态的数据为“111”,而处于最低编程状态的数据为“011”。与最低编程状态的数据“011”相邻的第二低的编程状态的数据可以为“001”。
参照图4和图5,LSB、CSB和MSB的码值可以根据如何在非易失性存储器单元中存储多位数据而不同。例如,对应于图4所示的8个编程状态的MSB的码值可以为“10101010”,而图5所示的8个编程状态的MSB的码值可以为“11100001”。根据实施方式,图4和图5中描述的LSB和MSB的码值可以是根据实施方式而不同。
图6例示了根据本公开的实施方式的ISPP操作的编程电压施加操作和验证操作。
参照图6,在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的操作时间可以变得更短。编程电压施加操作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可以改变或调整验证脉冲的电压电平。
图7例示了根据本公开的实施方式的编程操作。在图7中,作为示例描述了将2位数据存储在非易失性存储器单元中的实施方式。能够存储2位数据的非易失性存储器单元的阈值电压电平可以属于与擦除状态(P0)以及第一编程状态P1至第三编程状态P3相对应的分布。
参照图7,用于在非易失性存储器单元中存储多位数据的编程操作可以大致包括两个部分编程操作。首先,存储器装置150可以执行ISPP操作,以将非易失性存储器单元的阈值电压从擦除状态P0移动到第一编程状态P1(操作530)。然后,当通过ISPP操作确定非易失性存储器单元具有对应于第一编程状态P1的阈值电压时,存储器装置150可以执行单个编程脉冲操作,以将非易失性存储器单元的阈值电压从第一编程状态P1移位或增加到第二编程状态P2或第三编程状态P3(操作540、550)。在单个编程脉冲操作中,可以基于第一编程状态P1与第二编程状态P2或第三编程状态P3之差来确定施加到非易失性存储器单元的单个编程脉冲(参见图8)。
可以将在非易失性存储器单元中编程的2位数据分成“11”、“10”、“00”和“01”四个数据。根据实施方式,2位数据“11”可以对应于擦除状态P0。2位数据“10”可以对应于第一编程状态P1,2位数据“00”可以对应于第二编程状态P2,并且2位数据“01”可以对应于第三编程状态P3。在多个非易失性存储器单元当中,要存储2位数据“11”的非易失性存储器单元可以保持在擦除状态P0。即使至少一个编程脉冲被施加到非易失性存储器单元,存储器装置150也可以调整联接到非易失性存储器单元的位线的电位,以抑制非易失性存储器单元的阈值电压的增加(即,不对该非易失性存储器单元进行编程)。此外,在多个非易失性存储器单元当中,存储器装置150可以将编程脉冲施加到要存储2位数据“10”、“00”或“01”的非易失性存储器单元,以将它们从擦除状态P0改变到第一编程状态P1至第三编程状态P3中的一个。
存储器装置150可以对被编程为具有与第一编程状态P1至第三编程状态P3中的一个相对应的阈值电压的非易失性存储器单元执行ISPP操作(操作530)。参照图6,在ISPP操作530中,可以将具有逐渐增加的电平的编程脉冲施加到非易失性存储器单元。非易失性存储器单元的阈值电压可以响应于所施加的编程脉冲而从擦除状态P0逐渐移位到第一编程状态P1。
在操作540、550中,可以将编程脉冲施加到处于第一编程状态P1的非易失性存储器单元中的至少一些非易失性存储器单元,使得非易失性存储器单元中的至少一些非易失性存储器单元具有对应于第二编程状态P2或第三编程状态P3的阈值电压电平。在这些操作中,存储器装置150可以将单个编程脉冲施加到非易失性存储器单元以增加非易失性存储器单元的阈值电压,而无需执行施加多个编程脉冲以逐渐增加的ISPP操作。可以基于第一编程状态P1与第二编程状态P2之差来确定施加到要被编程为第二编程状态P2的非易失性存储器单元的第一单个编程脉冲(操作540)。此外,可以将对应于第一编程状态P1与第三编程状态P3之差的第二单个编程脉冲施加到要被编程为第三编程状态P3的非易失性存储器单元(操作550)。
在上述操作540、550中,因为存储器装置150将单个编程脉冲施加到非易失性存储器单元,所以在从第一编程状态P1改变到第二编程状态P2或第三编程状态P3的处理中,存储器装置150可以不执行验证操作来检查阈值电压。
当阈值电压通过ISPP操作逐渐增加时,存储器装置150可以在向非易失性存储器单元施加编程脉冲的操作之间执行验证操作。然而,在ISPP操作期间,阈值电压逐渐增加,使得在非易失性存储器单元具有对应于第二编程状态P2或第三编程状态P3的阈值电压之前,针对该非易失性存储器单元的大多数验证操作可能输出失败信号。也就是说,将非易失性存储器单元的阈值电压与对应于第三编程状态P3的第三验证目标电平PV3进行比较的结果失败,直到非易失性存储器单元被编程为第三编程状态P3。在此过程中,当非易失性存储器单元的阈值电压处于擦除状态P0时和当非易失性存储器单元的阈值电压处于第二编程状态P2时,从电流感测电路(CSC)输出的验证结果之间没有差异。此外,电流感测电路CSC中的电流消耗没有显著差异。当电流感测电路CSC在多个编程循环中数次输出失败信号时,内部电流消耗会增加。如果内部电流消耗(ICC)急剧增加,则可能对存储器装置150中的峰值电流消耗发生不利影响。
根据实施方式,对应于第一编程状态P1的第一验证目标电平PV1、对应于第二编程状态P2的第二验证目标电平PV2以及对应于第三编程状态P3的第三验证目标电平PV3可以略低于对应于第一编程状态P1至第三编程状态P3的分布的平均值。参照图6,可以基于验证电压的电平或施加时间来确定第一验证目标电平PV1至第三验证目标电平PV3。验证电压可以具有基本相同的电平,但是具有不同的施加时间(即,将验证电压施加到非易失性存储器单元的不同时间)。
根据实施方式,当非易失性存储器单元的阈值电压从第一编程状态P1改变到第二编程状态P2或第三编程状态P3时,非易失性存储器单元的阈值电压分布的偏差可以增加(例如,阈值电压分布的宽度变宽)。因此,当非易失性存储器单元通过针对第一验证目标电平PV1至第三验证目标电平PV3的验证操作时,存储器装置150可以对非易失性存储器单元附加地执行ISPP操作(操作532、542、552)。通过附加的ISPP操作532、542、552,多个非易失性存储器单元的阈值电压分布可以稍微移位到第一编程状态P1至第三编程状态P3,并且阈值电压分布的偏差可以减小,也就是说,分布的宽度变窄。
图8例示了根据本公开的实施方式的在参照图7描述的编程操作中使用的编程脉冲。
参照图8,在多个非易失性存储器单元中编程多位数据的过程可以包括第一ISPP操作区段530、用于施加单个编程脉冲的操作区段560和第二ISPP操作区段570。
参照图7和图8,在第一ISPP操作区段530期间,非易失性存储器单元的阈值电压可以从擦除状态P0移位到第一编程状态P1。可以对将被调度以编程有第一编程状态P1至第三编程状态P3的非易失性存储器单元执行针对第一验证目标电平PV1的验证操作。通过验证结果,存储器装置150可以确定关于非易失性存储器单元的阈值电压分布的右侧是否达到第一验证目标电平PV1。当阈值电压分布达到第一验证目标电平PV1时(PV1 PASS),存储器装置150可以终止第一ISPP操作区段530。阈值电压分布的右侧可以包括关于非易失性存储器单元的阈值电压的正态分布或概率分布的上尾(右尾)。上尾表示分布的右侧的附属物(例如,右侧的3%、5%或10%)。
在第一ISPP操作区段530之后的施加单个编程脉冲的操作区段560中,存储器装置150可以不执行多个循环的编程脉冲施加以及对应于编程脉冲施加的验证。存储器装置150可以将单个编程脉冲施加到每个非易失性存储器单元,以将阈值电压从第一编程状态P1移位或移动到第二编程状态P2或第三编程状态P3。可以将对应于第一编程状态P1与第二编程状态P2之差的第一编程脉冲施加到要编程有第二编程状态P2的第一非易失性存储器单元(操作540)。例如,第一编程状态P1与第二编程状态P2之差可以指示对应于第一编程状态P1的阈值电压分布的平均电平与对应于第二编程状态P2的阈值电压分布的平均电平之差。此时,第一编程脉冲可以比在第一ISPP操作区段530中施加的最后一个编程脉冲高出预设电平(A)。可以基于第一编程状态P1与第二编程状态P2之差来确定预设电平(A)。此外,存储器装置150可以向要编程有第三编程状态P3的第二非易失性存储器单元施加第二编程脉冲。第二编程脉冲可以比在第一ISPP操作区段530中施加的最后一个编程脉冲高出另一预设电平(A+B)(操作550)。可以基于第一编程状态P1与第二编程状态P2之差以及第二编程状态P2与第三编程状态P3之差(A+B)来确定第二编程脉冲。在施加第一编程脉冲和第二编程脉冲以将阈值电压增加到第二编程状态P2和第三编程状态P3(操作540、550)之后,存储器装置150可以连续地执行针对与第一编程状态P1至第三编程状态P3对应的第一验证目标电平PV1至第三验证目标电平PV3的验证操作。
当存储器装置150通过验证操作确定非易失性存储器单元的阈值电压分布的右侧已经达到第一验证目标电平PV1至第三验证目标电平PV3(PASS)时,存储器装置150可以执行第二ISPP操作(区段570)。在第二ISPP操作区段570期间施加到非易失性存储器单元的编程脉冲比在第一ISPP操作区段530期间施加到非易失性存储器单元的编程脉冲或在操作区段560期间施加到非易失性存储器单元的编程脉冲具有更高的电平。在第一ISPP操作区段530中,在每个验证操作(参见ISPP区段530中的“PV1”)之前,可以将具有相同电平的编程脉冲施加到多个非易失性存储器单元。
然而,在第二ISPP操作区段570中,在验证操作(参见ISPP区段570中的PV1、PV2、PV3)之前,可以基于多个非易失性存储器单元的第一验证目标电平PV1至第三验证目标电平PV3将具有不同电平的编程脉冲施加到多个非易失性存储器单元。例如,在第一ISPP操作区段530中,在针对第一验证目标电平PV1的每个验证操作之前,可以将单个编程脉冲施加到连接到多个非易失性存储器单元的字线。另一方面,在第二ISPP操作区段570中,在针对第一验证目标电平PV1至第三验证目标电平PV3的一系列验证操作之前,可以将具有不同电平的多个编程脉冲532、542、552依次施加到连接到多个非易失性存储器单元的字线。存储器装置150可以响应于多个编程脉冲532、542、552而调整或改变联接到非易失性存储器单元的位线的电位,以选择性地对联接到字线的多个非易失性存储器单元进行编程。在将具有不同电平的多个编程脉冲532、542、552依次施加到连接到多个非易失性存储器单元的字线之后,存储器装置150可以基于对应于第一编程状态P1至第三编程状态P3的第一验证目标电平PV1至第三验证目标电平PV3来执行用于确定多个非易失性存储器单元是否具有第一编程状态P1至第三编程状态P3的验证操作。
图9例示了根据本公开的实施方式的用于在参照图7描述的编程操作期间验证多个编程值的电流感测电路(CSC)的示例。在本文中,编程值可以指示经历施加了至少一个编程脉冲的编程操作的目标阈值电压电平。
参照图9,存储器装置150中的页缓冲器322可以联接到验证电路420。页缓冲器322可以通过位线BL联接到非易失性存储器单元。页缓冲器322可以包括多个锁存器502、504。当多位数据存储在非易失性存储器单元中时,页缓冲器322可以包括多个锁存器502、504,每个锁存器能够存储通过位线BL传送的多位数据中的每位数据。例如,页缓冲器322可以包括用于存储LSB数据的LSB(最低有效位)锁存器502和用于存储MSB数据的MSB(最高有效位)锁存器504。
联接到页缓冲器322的验证电路420可以包括多个电流感测电路422、424、426,每个电流感测电路被配置为基于第一验证目标电平PV1至第三验证目标电平PV3中的每一个来执行验证操作。参照图8,存储器装置150可以连续地执行关于第一验证目标电平PV1至第三验证目标电平PV3的验证操作。当验证电路420包括对应于第一验证目标电平PV1至第三验证目标电平PV3的第一电流感测电路至第三电流感测电路422、424、426以执行验证操作时,验证电路420可以包括逻辑与(AND)门428,其被配置为对从第一电流感测电路至第三电流感测电路422、424、426输出的结果求和以输出验证结果。当第一电流感测电路至第三电流感测电路422、424、426都输出通过信号时,逻辑与门428可以将验证结果CSC P/F输出为通过信号。另一方面,如果第一电流感测电路至第三电流感测电路422、424、426中的任何一个输出失败信号,则逻辑与门428可以将验证结果CSC P/F输出为失败信号。
根据实施方式,验证电路420可以包括单个电流感测电路,并且通过单个电流感测电路基于多个验证目标电平PV1至PV3依次执行多个验证操作。在单个电流感测电路中依次执行的验证操作的结果被临时存储在锁存器或寄存器中之后,可以输出多个验证操作的结果。根据多个验证操作的结果,仅当多个验证操作当中关于验证目标电平的结果是失败信号时,才能够附加地执行编程操作。
如上所述,根据本公开的实施方式的存储器***或存储器装置能够减少编程操作期间消耗的电流量并且稳定或减轻峰值电流消耗。
本文描述的方法、过程和/或操作可以通过要由计算机、处理器、控制器或其它信号处理装置执行的代码或指令来执行。计算机、处理器、控制器或其它信号处理装置可以是本文描述的那些或者除了本文描述的元件之外的那些。因为详细描述了形成方法(或计算机、处理器、控制器或其它信号处理装置的操作)的基础的算法,所以用于实现方法实施方式的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理装置转换为用于执行本文的方法的专用处理器。
此外,另一实施方式可以包括用于存储上述代码或指令的计算机可读介质,例如非暂时性计算机可读介质。计算机可读介质可以是易失性或非易失性存储器或其它储存装置,其可以可移除地或固定地联接到将执行用于执行本文的方法实施方式或设备实施方式的操作的代码或指令的计算机、处理器、控制器或其它信号处理装置。
本文公开的实施方式的控制器、处理器、控制电路、装置、模块、单元、复用器、发生器、逻辑、接口、解码器、驱动器、生成器和其它信号生成和信号处理特征例如可以被实现在可以包括硬件、软件或两者的非暂时性逻辑中。当至少部分地以硬件实现时,控制器、处理器、控制电路、装置、模块、单元、复用器、发生器、逻辑、接口、解码器、驱动器、生成器和其它信号生成和信号处理特征可以是例如包括但不限于以下的各种集成电路中的任何集成电路:专用集成电路、现场可编程门阵列、逻辑门的组合、片上***、微处理器或其它类型的处理或控制电路。
当至少部分地以软件实现时,控制器、处理器、控制电路、装置、模块、单元、复用器、发生器、逻辑、接口、解码器、驱动器、生成器和其它信号生成和信号处理特征可以包括例如用于存储例如要由计算机、处理器、微处理器、控制器或其它信号处理装置执行的代码或指令的存储器或其它储存装置。计算机、处理器、微处理器、控制器或其它信号处理装置可以是本文描述的那些或者除了本文描述的元件之外的那些。因为详细描述了形成方法(或计算机、处理器、微处理器、控制器或其它信号处理装置的操作)的基础的算法,所以用于实现方法实施方式的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理装置转换为用于执行本文描述的方法的专用处理器。
虽然已经针对具体实施方式例示并描述了本教导,但是本领域技术人员根据本公开将显而易见的是,可以在不脱离如所附权利要求中限定的本公开的精神和范围的情况下做出各种改变和修改。此外,可以组合实施方式以形成附加的实施方式。
相关申请的交叉引用
本专利申请要求于2021年10月5日提交的韩国专利申请No.10-2021-0131551的权益,其全部公开内容通过引用合并于此。

Claims (20)

1.一种存储器装置,所述存储器装置包括:
单元阵列,所述单元阵列包括非易失性存储器单元,每个非易失性存储器单元能够存储对应于擦除状态和多个编程状态的多位数据;以及
控制电路,所述控制电路执行用于将所述多位数据编程到至少两个非易失性存储器单元中的至少两个部分编程操作,
其中,所述至少两个部分编程操作包括:
增量步进脉冲编程ISPP操作,所述ISPP操作将所述至少两个非易失性存储器单元的阈值电压从所述擦除状态增加到所述多个编程状态当中的第一编程状态,以及
单个脉冲编程操作,所述单个脉冲编程操作将所述至少两个非易失性存储器单元当中的至少一个非易失性存储器单元的阈值电压从所述第一编程状态增加到所述多个编程状态当中高于所述第一编程状态的另一编程状态。
2.根据权利要求1所述的存储器装置,其中,所述控制电路还:
针对所述ISPP操作将编程脉冲施加到所述至少两个非易失性存储器单元,以将所述至少两个非易失性存储器单元的阈值电压从所述擦除状态逐渐增加到对应于所述多位数据的所述多个编程状态当中具有最低阈值电压电平的所述第一编程状态,
执行用于确定所述至少两个非易失性存储器单元是否具有对应于所述第一编程状态的阈值电压的第一验证操作,
基于所述第一验证操作的结果,将单个第一编程脉冲施加到所述至少两个非易失性存储器单元当中的第一非易失性存储器单元,以将所述第一非易失性存储器单元的阈值电压增加到高于所述第一编程状态的第二编程状态,所述第一编程脉冲对应于所述第一编程状态和所述第二编程状态之差,并且
基于所述第一验证操作的结果,将单个第二编程脉冲施加到所述至少两个非易失性存储器单元当中的第二非易失性存储器单元,以将所述第二非易失性存储器单元的阈值电压增加到高于所述第二编程状态的第三编程状态,所述第二编程脉冲对应于所述第一编程状态和所述第三编程状态之差。
3.根据权利要求2所述的存储器装置,
其中,所述至少两个非易失性存储器单元包括要被编程为具有对应于所述第一编程状态、所述第二编程状态和所述第三编程状态的阈值电压的非易失性存储器单元,并且
其中,基于所述至少两个非易失性存储器单元当中具有对应于所述第一编程状态的阈值电压的非易失性存储器单元的比率是否等于或大于参考量来确定所述第一验证操作的结果。
4.根据权利要求2所述的存储器装置,其中,所述控制电路还在施加所述第一编程脉冲和所述第二编程脉冲之后执行用于确定所述至少两个非易失性存储器单元是否具有对应于所述第二编程状态和所述第三编程状态的阈值电压的第二验证操作。
5.根据权利要求4所述的存储器装置,其中,所述控制电路还在作为所述第二验证操作的结果而确定所述第一非易失性存储器单元未能具有对应于所述第二编程状态的阈值电压时,向所述第一非易失性存储器单元施加编程脉冲以逐渐增加所述第一非易失性存储器单元的阈值电压。
6.根据权利要求4所述的存储器装置,其中,所述控制电路还在作为所述第二验证操作的结果而确定所述第二非易失性存储器单元未能具有对应于所述第三编程状态的阈值电压时,向所述第二非易失性存储器单元施加编程脉冲以逐渐增加所述第二非易失性存储器单元的阈值电压。
7.根据权利要求4所述的存储器装置,
其中,所述第二验证操作包括用于确定所述至少两个非易失性存储器单元是否具有对应于所述第一编程状态的阈值电压的验证操作,并且
其中,所述控制电路还在作为所述验证操作的结果而确定所述至少两个非易失性存储器单元中的一些非易失性存储器单元未能具有对应于所述第一编程状态的阈值电压时,向所述至少两个非易失性存储器单元中的所述一些非易失性存储器单元施加编程脉冲以将所述至少两个非易失性存储器单元中的所述一些非易失性存储器单元的阈值电压逐渐增加到所述第一编程状态。
8.根据权利要求1所述的存储器装置,所述存储器装置还包括:
页缓冲器,所述页缓冲器临时存储来自所述非易失性存储器单元中的一个非易失性存储器单元的所述多位数据,并且包括多个锁存器,所述锁存器的数量等于或大于所述多位数据的位数;以及
验证电路,所述验证电路联接到所述页缓冲器并且验证所述多位数据是否存储在所述多个非易失性存储器单元中的每一个中。
9.根据权利要求8所述的存储器装置,其中,所述验证电路包括:
多个电流感测电路,所述多个电流感测电路分别执行针对所述第一编程状态、第二编程状态和第三编程状态的验证操作,以输出关于所述第一编程状态、所述第二编程状态和所述第三编程状态中的每一个的通过信号或失败信号;以及
第一组件,所述第一组件在所述多个电流感测电路输出所述通过信号时输出编程成功。
10.一种用于操作存储器装置的方法,所述方法包括以下步骤:
接收要编程到多个非易失性存储器单元中的多位数据;
将编程脉冲施加到所述多个非易失性存储器单元当中处于擦除状态的至少两个非易失性存储器单元,以将所述至少两个非易失性存储器单元的阈值电压从所述擦除状态逐渐增加到第一编程状态,所述第一编程状态是对应于所述多位数据的多个编程状态当中的最低编程状态;
执行用于确定所述至少两个非易失性存储器单元是否具有对应于所述第一编程状态的阈值电压的第一验证操作;
基于所述第一验证操作的结果,将单个第一编程脉冲施加到所述至少两个非易失性存储器单元当中的第一非易失性存储器单元,以将所述第一非易失性存储器单元的阈值电压增加到高于所述第一编程状态的第二编程状态,所述第一编程脉冲对应于所述第一编程状态和所述第二编程状态之差;以及
基于所述第一验证操作的结果,将单个第二编程脉冲施加到所述至少两个非易失性存储器单元当中的第二非易失性存储器单元,以将所述第二非易失性存储器单元的阈值电压增加到高于所述第二编程状态的第三编程状态,所述第二编程脉冲对应于所述第一编程状态和所述第三编程状态之差。
11.根据权利要求10所述的方法,
其中,所述至少两个非易失性存储器单元包括要被编程为具有对应于所述第一编程状态、所述第二编程状态和所述第三编程状态的阈值电压的非易失性存储器单元,并且
其中,基于所述至少两个非易失性存储器单元当中具有对应于所述第一编程状态的阈值电压的非易失性存储器单元的比率是否等于或大于参考量来确定所述第一验证操作的结果。
12.根据权利要求10所述的方法,所述方法还包括在施加所述第一编程脉冲和所述第二编程脉冲之后执行针对所述第二编程状态和所述第三编程状态的第二验证操作。
13.根据权利要求12所述的方法,所述方法还包括当基于所述第二验证操作的结果而确定所述第一非易失性存储器单元未能具有对应于所述第二编程状态的阈值电压时,向所述第一非易失性存储器单元施加编程脉冲以逐渐增加所述第一非易失性存储器单元的阈值电压。
14.根据权利要求12所述的方法,所述方法还包括当基于所述第二验证操作的结果而确定所述第二非易失性存储器单元未能具有对应于所述第三编程状态的阈值电压时,向所述第二非易失性存储器单元施加编程脉冲以逐渐增加所述第二非易失性存储器单元的阈值电压。
15.根据权利要求12所述的方法,所述方法还包括以下步骤:
在所述第二验证操作期间执行针对所述第一编程状态的验证操作;以及
当作为所述第二验证操作期间的所述验证操作的结果而确定所述至少两个非易失性存储器单元中的一些非易失性存储器单元未能具有对应于所述第一编程状态的阈值电压时,将编程脉冲施加到所述至少两个非易失性存储器单元中的所述一些非易失性存储器单元以将所述至少两个非易失性存储器单元中的所述一些非易失性存储器单元的阈值电压逐渐增加到所述第一编程状态。
16.一种存储器***,所述存储器***包括:
控制器,所述控制器从外部装置接收数据,确定存储所述数据的位置,并且生成要存储在所述位置中的多位数据;以及
存储器装置,所述存储器装置:
从所述控制器接收根据所述位置的所述多位数据,
将编程脉冲施加到多个非易失性存储器单元当中处于擦除状态的至少两个非易失性存储器单元,以将所述至少两个非易失性存储器单元的阈值电压从所述擦除状态逐渐增加到第一编程状态,所述第一编程状态是对应于所述多位数据的多个编程状态当中的最低编程状态,
执行用于确定所述至少两个非易失性存储器单元是否具有对应于所述第一编程状态的阈值电压的第一验证操作,
基于所述第一验证操作的结果,将单个第一编程脉冲施加到所述至少两个非易失性存储器单元当中的第一非易失性存储器单元,以将所述第一非易失性存储器单元的阈值电压增加到高于所述第一编程状态的第二编程状态,所述第一编程脉冲对应于所述第一编程状态和所述第二编程状态之差,并且
基于所述第一验证操作的结果,将单个第二编程脉冲施加到所述至少两个非易失性存储器单元当中的第二非易失性存储器单元,以将所述第二非易失性存储器单元的阈值电压增加到高于所述第二编程状态的第三编程状态,所述第二编程脉冲对应于所述第一编程状态和所述第三编程状态之差。
17.根据权利要求16所述的存储器***,其中,所述存储器装置还在关于所述多位数据的编程操作完成时将完成信号发送到所述控制器。
18.根据权利要求16所述的存储器***,
其中,所述至少两个非易失性存储器单元包括要被编程为具有对应于所述第一编程状态、所述第二编程状态和所述第三编程状态的阈值电压的非易失性存储器单元,并且
其中,基于所述至少两个非易失性存储器单元当中具有对应于所述第一编程状态的阈值电压的非易失性存储器单元的比率是否等于或大于参考量来确定所述第一验证操作的结果。
19.根据权利要求16所述的存储器***,其中,所述存储器装置还在施加所述第一编程脉冲和所述第二编程脉冲之后执行针对所述第二编程状态和所述第三编程状态的第二验证操作。
20.根据权利要求19所述的存储器***,其中,所述存储器装置还:
当作为所述第二验证操作的结果而确定所述第一非易失性存储器单元未能具有对应于所述第二编程状态的阈值电压时,向所述第一非易失性存储器单元施加编程脉冲以逐渐增加所述第一非易失性存储器单元的阈值电压;并且
当作为所述第二验证操作的结果而确定所述第二非易失性存储器单元未能具有对应于所述第三编程状态的阈值电压时,向所述第二非易失性存储器单元施加编程脉冲以逐渐增加所述第二非易失性存储器单元的阈值电压。
CN202210294343.8A 2021-10-05 2022-03-24 存储器装置、其操作方法以及存储器*** Pending CN115938446A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0131551 2021-10-05
KR1020210131551A KR20230048753A (ko) 2021-10-05 2021-10-05 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법

Publications (1)

Publication Number Publication Date
CN115938446A true CN115938446A (zh) 2023-04-07

Family

ID=85775277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210294343.8A Pending CN115938446A (zh) 2021-10-05 2022-03-24 存储器装置、其操作方法以及存储器***

Country Status (3)

Country Link
US (1) US11990191B2 (zh)
KR (1) KR20230048753A (zh)
CN (1) CN115938446A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875043B1 (en) * 2022-08-29 2024-01-16 Sandisk Technologies Llc Loop dependent word line ramp start time for program verify of multi-level NAND memory
GB202404691D0 (en) 2023-04-13 2024-05-15 Agency Defense Dev Method of performing anti-jamming techniques through antenna beam hopping in communication systems implemented by using plurality of relay and electronic

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101134240B1 (ko) 2010-04-29 2012-04-09 주식회사 하이닉스반도체 반도체 메모리 장치의 동작 방법
KR20120005830A (ko) 2010-07-09 2012-01-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 이를 이용한 동작 방법
KR101184866B1 (ko) * 2010-10-26 2012-09-20 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 동작 방법
US9230663B1 (en) * 2014-08-29 2016-01-05 Sandisk Technologies Inc. Programming memory with reduced short-term charge loss

Also Published As

Publication number Publication date
KR20230048753A (ko) 2023-04-12
US20230104044A1 (en) 2023-04-06
US11990191B2 (en) 2024-05-21

Similar Documents

Publication Publication Date Title
US10963339B2 (en) Data storage device and operating method thereof
CN110970074B (zh) 存储器***及其操作方法
US10324785B2 (en) Decoder using low-density parity-check code and memory controller including the same
US11373709B2 (en) Memory system for performing a read operation and an operating method thereof
CN110010185B (zh) 存储器***及其操作方法
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
US20240028216A1 (en) Apparatus and method for programming data in a non-volatile memory device
US11915762B2 (en) Apparatus and method for programming data in a non-volatile memory device
US20230402071A1 (en) Apparatus and method for reading data based on a program status of a non-volatile memory device
US20230376212A1 (en) Apparatus and method for recovering data in a memory system
US12014781B2 (en) Memory device supporting interleaved operations and memory system including the same
US11829244B2 (en) Apparatus and method for programming data in a memory device
US20220075542A1 (en) Calibration apparatus and method for data communication in a memory system
US11887669B2 (en) Apparatus and method for programming data in a non-volatile memory device
US11676674B2 (en) Apparatus and method for programming and verifying 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
US20240012563A1 (en) Apparatus and method for programming or reading data based on a program status of a non-volatile memory device
CN115116500A (zh) 用于提高存储器装置的数据输入/输出速度的设备和方法
KR20230020787A (ko) 비휘발성 메모리 장치에 데이터를 프로그램하기 위한 장치 및 방법

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