CN115827510A - 非易失性存储器中的软位数据的即时压缩方案 - Google Patents
非易失性存储器中的软位数据的即时压缩方案 Download PDFInfo
- Publication number
- CN115827510A CN115827510A CN202210565632.7A CN202210565632A CN115827510A CN 115827510 A CN115827510 A CN 115827510A CN 202210565632 A CN202210565632 A CN 202210565632A CN 115827510 A CN115827510 A CN 115827510A
- Authority
- CN
- China
- Prior art keywords
- data
- soft bit
- memory
- corresponding soft
- hard
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
- 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/5642—Sensing or reading circuits; Data output 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/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L24/02—Bonding areas ; Manufacturing methods related thereto
- H01L24/07—Structure, shape, material or disposition of the bonding areas after the connecting process
- H01L24/08—Structure, shape, material or disposition of the bonding areas after the connecting process of an individual bonding area
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/18—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
-
- 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/5671—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 trapping in an insulator
-
- 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06506—Wire or wire-like electrical connections between devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/0651—Wire or wire-like electrical connections from device to substrate
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06513—Bump or bump-like direct electrical connections between devices, e.g. flip-chip connection, solder bumps
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06517—Bump or bump-like direct electrical connections from device to substrate
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06541—Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06555—Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking
- H01L2225/06562—Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking at least one device in the stack being rotated or offset
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06555—Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking
- H01L2225/06565—Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking the devices having the same size and there being no auxiliary carrier between the devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06582—Housing for the assembly, e.g. chip scale package [CSP]
- H01L2225/06586—Housing with external bump or bump-like connectors
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
对于在错误校正操作中使用硬位和软位数据的非易失性存储器,即时压缩方案用于该软位数据。当软位数据传输到存储器的输入‑输出接口时,先压缩该软位数据再传输到ECC引擎存储器控制器,同时以未压缩形式传输硬位数据。
Description
优先权声明
本申请要求提交于2021年9月16日、授予Hsu等人并且名称为“平面级竖直压缩方案(Plane Level Vertical Compression Scheme)”的美国临时专利申请号63/244,951的优先权,这两份申请据此全文以引用方式并入。
背景技术
本公开涉及非易失性存储。
半导体存储器广泛用于各种电子设备,诸如蜂窝电话、数码相机、个人数字助理、医疗电子器件、移动计算设备、服务器、固态驱动器、非移动计算设备和其他设备。半导体存储器可以包括非易失性存储器或易失性存储器。即使当非易失性存储器未连接到电源(例如,电池)时,非易失性存储器也允许存储和保留信息。非易失性存储器的一个示例为闪存存储器(例如,NAND型闪存存储器和NOR型闪存存储器)。
非易失性存储器的用户可将数据编程(例如,写入)到非易失性存储器并随后读回该数据。例如,数码相机可拍摄照片并将该照片存储在非易失性存储器中。随后,数码相机的用户可通过使该数码相机从非易失性存储器读取照片来查看该照片。由于用户通常依赖他们存储的数据,因此对于非易失性存储器的用户重要的是能够可靠地存储数据以便可成功地读回该数据。
附图说明
类似编号的元件是指不同的图中的共同部件。
图1是描绘存储***的一个实施方案的框图。
图2A是存储器裸片的一个实施方案的框图。
图2B是集成存储器组件的一个实施方案的框图。
图2C和图2D描绘了集成存储器组件的不同实施方案。
图3描绘了用于感测来自非易失性存储器的数据的电路。
图4是单片三维存储器结构的一个实施方案的一部分的透视图。
图4A是具有两个平面的存储器结构的一个实施方案的框图。
图4B描绘了存储器单元的块的一个实施方案的一部分的顶视图。
图4C描绘了存储器单元的块的一个实施方案的一部分的剖视图。
图4D描绘了存储器单元的块的一个实施方案的一部分的剖视图。
图4E描绘了存储器单元的块的一个实施方案的一部分的剖视图。
图4F是存储器单元的竖直列的一个实施方案的剖视图。
图4G描绘了实现竖直NAND串的存储器孔的横截面。
图4H描绘了实现竖直NAND串的存储器孔的横截面。
图4I描绘了实现竖直NAND串的存储器孔的横截面。
图4J是相同块的多个子块中的多个NAND串的示意图。
图5A描绘了阈值电压分布。
图5B描绘了阈值电压分布。
图5C描绘了阈值电压分布。
图5D描绘了阈值电压分布。
图5E描绘了阈值电压分布。
图5F描绘了阈值电压分布。
图6是描述用于对非易失性存储器进行编程的过程的一个实施方案的流程图。
图7示出了两个相邻数据状态的分布的重叠以及可用于确定单元的数据状态和这种读取的可靠性的一组读取值。
图8示出了硬位和软位的概念。
图9A和图9B分别示出了在每一存储器单元三位数据的实施方案中用于计算下页面数据的硬位值和软位值的读取电平。
图10示出了硬位值和软位值的分配以及有效软感测的实施方案中使用的读取电平。
图11示出了在使用表2的编码的每一存储器单元三位数据的实施方案中将有效软感测模式应用于下页面数据。
图12示出了与图11所示的读取点相对应的有效软感测读取操作中的下页面数据读取操作的感测操作的实施方案。
图13示出了可用于确定存储器单元的硬位值和软位值的感测放大器电路的实施方案。
图14是有效软感测操作的实施方案的流程图。
图15是包括软位压缩元件在内的存储器设备的一些控制电路元件的实施方案的框图。
图16和图17示出了用于将即时(on-the-fly)软位压缩电路定位到数据路径中的一个实施方案。
图18是软位数据的即时压缩方案的一个实施方案的流程图。
具体实施方式
在一些存储器***中,有时使用包括“软位”数据的错误校正方法。软位数据提供关于用于区分数据状态的标准或“硬位”数据值的可靠性的信息。例如,当数据值基于存储器单元的阈值电压时,硬位读取将确定存储器单元的阈值电压是高于还是低于数据读取值以便区分存储的数据状态。对于阈值电压略高于或略低于该参考值的存储器单元,该硬位可能不正确,因为存储器单元实际上意欲处于另一数据状态。为了确定具有接近硬位读取电平的阈值电压并因此具有更低可靠性的硬位值的存储器单元,可执行向稍高于和稍低于硬位读取电平偏移的一对附加读取以便为硬位值生成软位值。软位的使用可以是用于提取存储器单元的数据内容的强大工具,但由于其需要附加读取来获得软位数据并且该软位数据随后需传输到错误校正电路,因此其通常仅在不能由单独硬位值准确地确定该数据时才使用。
下文提出了有效软感测读取模式,该有效软感测读取模式需要更少读取值来生成软位数据并生成更少软位数据,从而减少通常与使用软位数据相关联的性能和功耗损失,允许有效软感测模式用作默认读取模式。相对于典型硬位、软位布置,硬位的读取点偏移,使得存储器单元的数据状态之一的硬位值是可靠的,但另一数据状态的硬位包括大量不可靠的硬位值。执行单次软位读取以便为不太可靠的硬位值提供可靠性信息而不为更可靠的硬位值提供可靠性信息,从而既减少读取次数又减少所得数据的量。为了进一步改善性能,可将硬位感测和软位感测两者组合成单次感测,诸如方式是对感测放大器的节点进行预充电并且通过选择的存储器单元放电单次,但对节点上的单次放电的所得电平感测两次,一次针对硬位值并且一次针对软位值。
为了进一步减少需要从存储器传输到控制器的数据的量并且改善存储器***性能,可在传输之前压缩软位数据。在即时数据压缩方案中,在感测硬位和软位数据之后,由于软位数据传输到输入-输出接口,其被压缩并以压缩形式传输,而硬位数据以未压缩形式传输。
图1是实现本文所述的本发明技术的存储***100的一个实施方案的框图。在一个实施方案中,存储器***100是固态驱动器(“SSD”)。存储***100还可为存储卡、USB驱动器或其它类型的存储***。本发明的技术不限于任何一种类型的存储器***。存储***100连接到主机102,主机可为计算机、服务器、电子设备(例如,智能电话、平板电脑或其它移动设备)、器具或使用存储器并具有数据处理能力的另一种装置。在一些实施方案中,主机102与存储***100分开,但连接到存储***。在其它实施方案中,存储***100嵌入在主机102中。
图1中描绘的存储***100的部件为电子电路。存储***100包括连接到非易失性存储器130和本地高速易失性存储器140(例如,DRAM)的存储器控制器120。存储器控制器120使用本地高速易失性存储器140来执行某些功能。例如,本地高速易失性存储器140将逻辑存储在物理地址转换表(“L2P表”)中。
存储器控制器120包括连接到主机102并与其通信的主机接口152。在一个实施方案中,主机接口152实现PCI Express(PCIe)上的NVM Express(NVMe)。也可使用其他接口,诸如SCSI、SATA等。主机接口152还连接到片上网络(NOC)154。NOC是集成电路上的通信子***。NOC可跨越同步和异步时钟域,或者使用非时钟的异步逻辑。NOC技术将网络理论和方法应用于片上通信,并且与常规总线和交叉开关互连相比带来了显著的改善。与其他设计相比,NOC提高了片上***(SoC)的可扩展性以及复杂SoC的电源效率。NOC的导线和链路由许多信号共享。由于NOC中的所有链路可在不同的数据分组上同时运行,因此实现了高度并行。因此,随着集成子***的复杂性不断增大,与先前的通信架构(例如,专用的点对点信号线、共享总线或具有桥的分段总线)相比,NOC提供增强的性能(诸如吞吐量)和可扩展性。在其他实施方案中,NOC 154可由总线替换。处理器156、ECC引擎158、存储器接口160和DRAM控制器164连接到NOC 154并与其通信。DRAM控制器164用于操作本地高速易失性存储器140(例如,DRAM)并与其通信。在其他实施方案中,本地高速易失性存储器140可为SRAM或另一种类型的易失性存储器。
ECC引擎158执行错误校正服务。例如,ECC引擎158根据实现的ECC技术执行数据编码和解码。在一个实施方案中,ECC引擎158是由软件编程的电子电路。例如,ECC引擎158可为可编程的处理器。在其他实施方案中,ECC引擎158是不具有任何软件的定制的专用硬件电路。在另一个实施方案中,ECC引擎158的功能由处理器156实现。
处理器156执行各种控制器存储器操作,诸如编程、擦除、读取和存储器管理过程。在一个实施方案中,处理器156由固件编程。在其他实施方案中,处理器156是不具有任何软件的定制的专用硬件电路。处理器156还实现转换模块,作为软件/固件过程或作为专用硬件电路。在许多***中,使用与一个或多个存储器裸片相关联的物理地址将非易失性存储器向内寻址到存储***。然而,主机***将使用逻辑地址来寻址各种存储器位置。这使主机能够将数据分配给连续的逻辑地址,同时存储***空闲下来按希望的那样在一个或多个存储器裸片的位置间存储数据。为了实现这种***,存储器控制器120(例如,转换模块)在由主机使用的逻辑地址与由存储器裸片使用的物理地址之间执行地址转换。一个示例性具体实施是维护识别逻辑地址与物理地址之间的当前转换的表(即,上述L2P表)。L2P表中的条目可包括逻辑地址和对应物理地址的标识。虽然逻辑地址到物理地址表(或L2P表)包括字词“表”,但它们不必是字面意义上的表。而是,逻辑地址到物理地址表(或L2P表)可为任何类型的数据结构。在一些示例中,存储***的存储器空间非常大,以致于本地存储器140不能保存所有L2P表。在这种情况下,将整组L2P表存储在存储器裸片130中,并且将L2P表的子集高速缓存(L2P高速缓存)在本地高速易失性存储器140中。
存储器接口160与非易失性存储器130通信。在一个实施方案中,存储器接口提供切换模式接口。也可使用其他接口。在一些示例性具体实施中,存储器接口160(或控制器120的另一部分)实现用于向一个或多个存储器裸片传输数据以及从一个或多个存储器裸片接收数据的调度器和缓冲器。
在一个实施方案中,非易失性存储器130包括一个或多个存储器裸片。图2A是包括非易失性存储器130的存储器裸片200的一个实施方案的功能框图。非易失性存储器130的该一个或多个存储器裸片中的每个存储器裸片可被实现为图2A的存储器裸片200。图2A中描绘的部件是电路。存储器裸片200包括存储器阵列202,该存储器阵列可包括非易失性存储器单元,如下文更详细描述。存储器阵列202的阵列端子线包括组织成行的各种字线层,以及组织成列的各种位线层。然而,也可以实现其他取向。存储器裸片200包括行控制电路220,该行控制电路的输出端208连接到存储器阵列202的相应字线。行控制电路220从***控制逻辑电路260接收一组M个行地址信号和一个或多个各种控制信号,并且通常可以包括诸如行解码器222、阵列端子驱动器224和块选择电路226等电路以用于读取操作和写入(编程)操作两者。行控制电路220还可以包括读取/写入电路。存储器裸片200还包括列控制电路210,该列控制电路包括感测放大器230,该列控制电路的输入/输出206连接到存储器阵列202的相应位线。尽管针对阵列202仅示出了单个块,但是存储器裸片可以包括可以被单独访问的多个阵列。列控制电路210从***控制逻辑部件260接收一组N个列地址信号和一个或多个各种控制信号,并且通常可以包括诸如列解码器212、阵列端子接收器或驱动器电路214、块选择电路216以及读取/写入电路和I/O多路复用器的电路。
***控制逻辑部件260从存储器控制器120接收数据和命令,并且向主机提供输出数据和状态。在一些实施方案中,***控制逻辑部件260(其包括一个或多个电路)包括提供存储器操作的裸片级控制的状态机262。在一个实施方案中,状态机262能够由软件编程。在其他实施方案中,状态机262不使用软件并且完全地在硬件(例如,电路)中实现。在另一个实施方案中,状态机262由微控制器或微处理器替换,其中微控制器或微处理器在存储器芯片之上或之外。***控制逻辑部件260还可以包括功率控制模块264,该功率控制模块控制在存储器操作期间供应给存储器结构202的行和列的功率和电压,并且可以包括用于产生调节电压的电荷泵和调节器电路。***控制逻辑部件260包括存储装置266(例如,RAM、寄存器、锁存器等),该存储装置可用于存储用于操作存储器阵列202的参数。
命令和数据经由存储器控制器接口268(也称为“通信接口”)在存储器控制器120与存储器裸片200之间传输。存储器控制器接口268是用于与存储器控制器120通信的电接口。存储器控制器接口268的示例包括切换模式接口和开放NAND闪存接口(ONFI)。也可以使用其他I/O接口。
在一些实施方案中,存储器裸片200的所有元件(包括***控制逻辑部件360)可以形成为单个裸片的一部分。在其他实施方案中,***控制逻辑部件260中的一些或全部可以形成在不同的裸片上。
在一个实施方案中,存储器结构202包括非易失性存储器单元的三维存储器阵列,其中多个存储器级形成在单个衬底诸如晶圆上方。存储器结构可包括任何类型的非易失性存储器,该非易失性存储器在具有设置在硅(或其他类型的)衬底上方的有源区域的存储器单元的一个或多个物理级中一体地形成。在一个示例中,非易失性存储器单元包括具有电荷俘获层的垂直NAND串。
在另一个实施方案中,存储器结构202包括非易失性存储器单元的二维存储器阵列。在一个示例中,非易失性存储器单元是利用浮动栅极的NAND闪存存储器单元。也可使用其他类型的存储器单元(例如,NOR型闪存存储器)。
包括在存储器结构202中的存储器阵列架构或存储器单元的确切类型不限于上述示例。许多不同类型的存储器阵列架构或存储器技术可用于形成存储器结构202。实现本文提出的要求保护的新实施方案不需要特定的非易失性存储器技术。用于存储器结构202的存储器单元的合适技术的其他示例包括ReRAM存储器(电阻式随机存取存储器)、磁阻式存储器(例如,MRAM、自旋转移矩MRAM、自旋轨道矩MRAM)、FeRAM、相变存储器(例如,PCM),等等。用于存储器结构202的存储器单元架构的合适技术的示例包括二维阵列、三维阵列、交叉点阵列、堆叠二维阵列、竖直位线阵列等。
ReRAM交叉点存储器的一个示例包括可逆电阻切换元件,其布置在由X线和Y线(例如,字线和位线)访问的交叉点阵列中。在另一个实施方案中,存储器单元可包括导电桥存储器元件。导电桥存储器元件也可称为可编程金属化单元。基于固体电解质内的离子的物理重新定位,导电桥存储器元件可用作状态改变元件。在一些情况下,导电桥存储器元件可包括两个固体金属电极,一个是相对惰性的(例如,钨),而另一个是电化学活性的(例如,银或铜),在两个电极之间具有固体电解质的薄膜。随着温度升高,离子的迁移率也增加,这导致导电桥存储器单元的编程阈值降低。因此,导电桥存储器元件可在整个温度范围内具有宽范围的编程阈值。
另一个示例是通过磁存储元件来存储数据的磁阻随机存取存储器(MRAM)。这些元件由两个被薄绝缘层隔开的铁磁层形成,这两个铁磁层中的每一个铁磁层都可以保持磁化。这两个层中的一个层是被设置为特定极性的永磁体;另一个层的磁化可以被改变以匹配外磁场对存储存储器的磁化。存储器设备由此类存储器单元的网格构建。在用于编程的一个实施方案中,每个存储器单元位于一对写入线之间,该对写入线被布置成彼此成直角,与单元平行,一个在单元上方并且一个在单元下方。当电流通过它们时,产生感应磁场。下文将更详细地讨论基于MRAM的存储器实施方案。
相变存储器(PCM)利用了硫属化合物玻璃的独特性能。一个实施方案使用GeTe-Sb2Te3超晶格通过仅利激光脉冲(或来自另一个源的光脉冲)改变锗原子的配位状态来实现非热相变。因此,编程的剂量是激光脉冲。可以通过阻止存储器单元接收光来抑制存储器单元。在其他PCM实施方案中,存储器单元通过电流脉冲来编程。应当注意,在该文件中使用“脉冲”不需要矩形脉冲,但包括声音、电流、电压光或其他波的(连续或非连续)振动或脉冲串。各个可选择存储器单元或位内的这些存储器元件可以包括作为选择器的另外的串联元件,诸如双向阈值开关或金属绝缘体衬底。
本领域普通技术人员将认识到,本文所述的技术不限于单个特定存储器结构、存储器配置或材料构成,但涵盖了在如本文所述的以及如本领域普通技术人员所理解的技术实质与范围内的许多相关的存储器结构。
图2A的元件可被分组为两个部分:(1)存储器结构202和(2)***电路,该***电路包括图2A中所描绘的除存储器结构202之外的所有部件。存储器电路的重要特性是其容量,该容量可以通过如下方式增加:增加留给存储器结构202作特定用途的存储***100的存储器裸片的面积;然而,这减小了可用于***电路***的存储器裸片的面积。这可以对***电路的这些元件造成相当严重的限制。例如,需要在可用区域内装配感测放大器电路,这可是对感测放大器设计架构的重大限制。相对于***控制逻辑部件260,面积可用性减小可能会限制可以在芯片上实现的可用功能。因此,在存储***100的存储器裸片的设计中,需要对存储器结构202的专用面积量以及***电路***的专用面积量进行基本权衡。
存储器结构202与***电路通常有矛盾的另一个区域是在形成这些区域时所涉及的处理中,因为这些区域通常涉及不同的处理技术以及在单个裸片上实施不同技术时的权衡。例如,当存储器结构202是NAND闪存时,这是NMOS结构,而***电路通常是基于CMOS的。例如,诸如感测放大器电路、电荷泵、状态机中的逻辑元件和***控制逻辑部件260中的其他***电路的元件通常采用PMOS器件。用于制造CMOS裸片的处理操作在许多方面将不同于针对NMOS闪存NAND存储器或其他存储器单元技术所优化的处理操作。
为了改进这些限制,下文所述的实施方案可将图2A的元件分离到单独形成的裸片上,然后将这些裸片接合在一起。更具体地讲,存储器结构202可以形成在一个裸片(称为存储器裸片)上,并且***电路元件中的一些或全部(包括一个或多个控制电路)可以形成在单独的裸片(称为控制裸片)上。例如,存储器裸片可以仅由存储器元件形成,诸如闪存NAND存储器、MRAM存储器、PCM存储器、ReRAM存储器或其他存储器类型的存储器单元阵列。然后可以将***电路中的一些或全部电路(甚至包括诸如解码器和感测放大器等元件)移到单独的控制裸片上。这允许根据其技术单独地优化存储器裸片中的每个裸片。例如,NAND存储器裸片可以针对基于NMOS的存储器阵列结构进行优化,而无需担心现在已移到可以针对CMOS处理进行优化的控制裸片上的CMOS元件。这为***元件提供了更多空间,如果***元件被限制于容纳了存储器单元阵列的相同裸片的边缘,则现在可结合可能不容易结合的附加能力。然后可在接合式多裸片存储器电路中将两个裸片接合在一起,其中一个裸片上的阵列连接到另一个裸片上的***元件。例如,虽然下面将集中介绍一个存储器裸片和一个控制裸片的接合式存储器电路,但其他实施方案可使用更多裸片,诸如两个存储器裸片和一个控制裸片。
图2B示出了图2A的布置的另选布置,其可使用晶圆对晶圆接合来实现以提供接合裸片对。图2B描绘了集成存储器组件207的一个实施方案的功能框图。一个或多个集成存储器组件207可用于实现存储***100的非易失性存储器130。集成存储器组件307包括两种类型的半导体裸片(或更简洁地,“裸片”)。存储器裸片201包括存储器结构202。存储器结构202包括非易失性存储器单元。控制裸片211包括控制电路260、210和220(如上所述)。在一些实施方案中,控制裸片211被配置为连接到存储器裸片201中的存储器结构202。在一些实施方案中,存储器裸片201和控制裸片211接合在一起。
图2B示出了***电路***的示例,其包括形成于***电路或控制裸片311中的控制电路,这些控制电路耦接到形成于存储器裸片201中的存储器结构202。通用部件以类似于图2A的方式标记。***控制逻辑部件260、行控制电路220和列控制电路210位于控制裸片211中。在一些实施方案中,列控制电路210的全部或一部分以及行控制电路220的全部或一部分位于存储器裸片201上。在一些实施方案中,***控制逻辑部件260中的一些电路位于存储器裸片201上。
***控制逻辑部件260、行控制电路220和列控制电路210可以由常规工艺(例如,CMOS工艺)形成,使得添加更常见于存储器控制器120上的元件和功能诸如ECC可能需要很少的附加工艺步骤或不需要附加工艺步骤(即,用于制造控制器120的相同工艺步骤也可以用于制造***控制逻辑部件260、行控制电路220和列控制电路210)。因此,尽管移走裸片(诸如,存储器裸片201)中的此类电路可减少制造此类裸片所需的步骤数量,但向裸片(诸如,控制裸片311)添加此类电路可能不需要许多附加的工艺步骤。由于使用CMOS技术来实现控制电路260、210、220中的一些或全部,因此控制裸片211也可称为CMOS裸片。
图2B示出了控制裸片211上的包括感测放大器230的列控制电路210,该列控制电路通过电路径206耦接到存储器裸片201上的存储器结构202。例如,电路径206可以在列解码器212、驱动器电路214、块选择216与存储器结构202的位线之间提供电连接。电路径可以从控制裸片211中的列控制电路210延伸穿过控制裸片211上的焊盘,这些焊盘接合到存储器裸片201的对应焊盘,这些对应焊盘连接到存储器结构202的位线。存储器结构202的每条位线都可以在电路径206中具有对应的电路径,包括连接到列控制电路210的一对接合焊盘。类似地,行控制电路220(包括行解码器222、阵列驱动器224和块选择器226)通过电路径208耦接到存储器结构202。电路径208中的每条电路径可以对应于字线、虚设字线或选择栅极线。也可以在控制裸片211与存储器裸片201之间提供附加的电路径。
出于本文件的目的,短语“控制电路”或“一个或多个控制电路”可包括以下各项的任何一者或任何组合:存储器控制器120、状态机262、***控制逻辑部件260的全部或一部分、行控制电路220的全部或一部分、列控制电路210的全部或一部分、微控制器、微处理器和/或其他类似功能电路。控制电路可以仅包括硬件或者包括硬件和软件(包括固件)的组合。例如,由固件编程以执行本文描述的功能的控制器是控制电路的一个示例。控制电路可以包括处理器、FGA、ASIC、集成电路,或其他类型的电路。
在一些实施方案中,集成存储器组件207中存在多于一个控制裸片211和多于一个存储器裸片201。在一些实施方案中,集成存储器组件207包括多个控制裸片211和多个存储器裸片201的堆叠。图2C描绘了堆叠在衬底271上的集成存储器组件207(例如,包括控制裸片211和存储器裸片201的堆叠)的一个实施方案的侧视图。集成存储器组件207具有三个控制裸片211和三个存储器裸片201。在一些实施方案中,存在多于三个存储器裸片201和多于三个控制裸片211。
每个控制裸片211附连(例如,接合)到存储器裸片201中的至少一个存储器裸片。描绘了接合焊盘282/284中的一些接合焊盘。可能有更多的接合焊盘。接合在一起的两个裸片201、211之间的空间填充有固态层280,该固态层可由环氧树脂或其他树脂或聚合物形成。该固态层280保护了裸片201、211之间的电连接,并进一步将裸片固定在一起。各种材料可用作固态层280,但在实施方案中,该材料可以是来自汉高公司(Henkel Corp.)的Hysol环氧树脂,该公司在美国加利福尼亚州设有办事处。
集成存储器组件207可例如以阶梯式偏移堆叠,使得每一级处的接合焊盘不被覆盖并且能够从上方触及。连接到接合焊盘的引线接合270将控制裸片211连接到衬底271。多个此类引线接合可跨每个控制裸片211的宽度形成(即,形成到图2C的页面中)。
存储器裸片硅通孔(TSV)276可用于将信号路由穿过存储器裸片201。控制裸片硅通孔(TSV)278可用于将信号路由穿过控制裸片211。可在半导体裸片201、211中的集成电路形成之前、期间或之后形成TSV276、278。可通过蚀刻穿过晶圆的孔来形成TSV。然后,可将这些孔衬有防金属扩散的阻挡。阻挡层又可以衬有种子层,并且种子层可以镀有电导体,诸如铜,尽管可以使用其他合适的材料,诸如铝、锡、镍、金、掺杂的多晶硅以及合金或其组合。
焊球272可任选地附连到衬底271的下表面上的接触焊盘274。焊球272可用于将集成存储器组件207以电气方式和机械方式耦接到主机设备诸如印刷电路板。在集成存储器组件207将用作LGA封装件的情况下,可省略焊球272。焊球272可形成集成存储器组件207与存储器控制器120之间的接口的一部分。
图2D描绘了堆叠在衬底271上的集成存储器组件207的另一个实施方案的侧视图。图2D的集成存储器组件207具有三个控制裸片211和三个存储器裸片201。在一些实施方案中,存在远多于三个存储器裸片201和远多于三个控制裸片211。在该示例中,每个控制裸片211接合到至少一个存储器裸片201。任选地,控制裸片211可接合到两个或更多个存储器裸片201。
描绘了接合焊盘282、284中的一些接合焊盘。可能有更多的接合焊盘。接合在一起的两个裸片201、211之间的空间填充有固态层280,该固态层可由环氧树脂或其他树脂或聚合物形成。与图2C中的示例相比,图2D中的集成存储器组件207不具有阶梯式偏移。存储器裸片硅通孔(TSV)276可用于将信号路由穿过存储器裸片201。控制裸片硅通孔(TSV)278可用于将信号路由穿过控制裸片211。
焊球272可任选地附连到衬底271的下表面上的接触焊盘274。焊球272可用于将集成存储器组件207以电气方式和机械方式耦接到主机设备诸如印刷电路板。在集成存储器组件207将用作LGA封装件的情况下,可省略焊球272。
如上面已经简要讨论的,控制裸片211和存储器裸片201可接合在一起。每个裸片201、211上的接合焊盘可用于将两个裸片接合在一起。在一些实施方案中,在所谓的Cu-Cu接合工艺中,接合焊盘在没有焊料或其他附加材料的情况下直接彼此接合。在Cu-Cu接合工艺中,接合焊盘被控制为高度平坦的,并且形成在高度受控的环境中,该环境基本上没有环境颗粒,否则该环境颗粒可能沉积在接合焊盘上并阻止紧密接合。在这种适当控制的条件下,接合焊盘对准并彼此压靠,以基于表面张力形成相互接合。这种接合可以在室温下形成,尽管也可以施加热量。在使用Cu-Cu接合的实施方案中,接合焊盘可以是大约5μm见方,并且以5μm到5μm的间距彼此隔开。虽然该工艺在本文中被称为Cu-Cu接合,但是该术语也可以适用于接合焊盘由除铜之外的材料形成的情况。
当接合焊盘的面积小时,可能难以将半导体裸片接合在一起。通过在包括接合焊盘的半导体裸片的表面上提供膜层,可以进一步减小接合焊盘的尺寸和间距。膜层设置在接合焊盘周围。当裸片被放在一起时,接合焊盘可以彼此接合,并且各个裸片上的膜层可以彼此接合。这种接合技术可以称为混合接合。在使用混合接合的实施方案中,接合焊盘可以是大约5μm见方,并且以1μm到5μm的间距彼此隔开。可以使用接合技术来提供具有更小尺寸和间距的接合焊盘。
一些实施方案可以在裸片201、211的表面上包括膜。如果最初没有提供这样的膜,则可以用环氧树脂或其他树脂或聚合物在底部填充裸片之间的空间。底部填充材料可作为液体施加,然后使其硬化为固态层。该底部填充的步骤保护了裸片201、211之间的电连接,并进一步将裸片固定在一起。各种材料可用作底部填充材料,但在实施方案中,底部填充材料可以是来自Henkel公司的Hysol环氧树脂,该公司在美国加利福尼亚州设有办事处。
图3是描绘被划分为多个感测放大器230的列控制电路210的一部分以及称为管理电路302的公共部分的一个实施方案的框图。在一个实施方案中,每个感测放大器230连接到相应位线,该相应位线继而连接到一个或多个NAND串。在一个示例性具体实施中,每个位线连接到六个NAND串,其中每个子块有一个NAND串。管理电路302连接到一组多个(例如,四个、八个等)感测放大器230。组中的每个感测放大器230经由数据总线304与相关联的管理电路通信。
每个感测放大器230操作以在编程、验证、擦除和读取操作期间将电压提供给位线(参见BL0、BL1、BL2、BL3)。感测放大器还用于对与位线连接的NAND串中的存储器单元感测条件(例如,数据状态),该位线连接到相应感测放大器。
每个感测放大器230包括连接到晶体管308(例如,NMOS)的选择器306或开关。基于晶体管308的控制栅极310和漏极312处的电压,该晶体管可作为传递门或位线箝位操作。当控制栅极处的电压充分高于漏极上的电压时,晶体管作为传递门操作以将漏极处的电压传递到晶体管的源极314处的位线(BL)。例如,当预充电并禁止未选择的NAND串时,可传递诸如1V至2V的编程禁止电压。否则,可传递诸如0V的编程启用电压以允许选择的NAND串中的编程。选择器306可将电源电压Vdd(例如,3V至4V)传递到晶体管308的控制栅极以使其作为传递门操作。
当控制栅极处的电压低于漏极上的电压时,晶体管308作为源极跟随器操作以将位线电压设置或箝制在Vcg-Vth处,其中Vcg为控制栅极310上的电压,并且Vth(例如,0.7V)为晶体管308的阈值电压。这假设源极线处于0V。如果Vcelsrc为非零,则位线电压被箝制在Vcg-Vcelsrc-Vth处。因此该晶体管有时称为位线箝位(BLC)晶体管,并且控制栅极310上的电压Vcg称为位线箝位电压Vblc。可在感测操作(诸如读取和验证操作)期间使用该模式。因此晶体管308基于选择器306所输出的电压来设置位线电压。例如,选择器306可以将Vsense+Vth(例如,1.5V)传递到晶体管308的控制栅极以提供位线上的Vsense(例如,0.8V)。Vbl选择器316可以将相对较高电压诸如Vdd传递到漏极312(该电压高于晶体管308上的控制栅极电压)以在感测操作期间提供源极跟随器模式。Vbl是指位线电压。
Vbl选择器316可以传递多个电压信号之一。例如,Vbl选择器可以在程序循环期间传递编程禁止电压信号,该编程禁止电压信号从初始电压(例如,0V)升高到编程禁止电压,例如未选择的NAND串的相应位线的Vbl_inh。Vbl选择器316可以在程序循环期间传递编程启用电压信号,诸如选择的NAND串的相应位线的0V。
在一种方法中,每个感测电路的选择器306可以与其他感测电路的选择器分开控制。每个感测电路的Vbl选择器316也可以与其他感测电路的Vbl选择器分开控制。
在感测期间,感测节点318被充电直到初始电压Vsense_init,诸如3V。然后,感测节点经由晶体管308通向位线,并且感测节点的衰减量用于确定存储器单元是处于导电状态还是非导电状态。感测节点的衰减量还指示存储器单元中的电流Icell是否超过参考电流Iref。更大的衰减对应于更大的电流。如果Icell≤Iref,则存储器单元处于非导电状态,并且如果Icell>Iref,则存储器单元处于导电状态。
具体地,比较电路320通过在感测时将感测节点电压与跳闸电压进行比较来确定衰减量。如果感测节点电压衰减到低于跳闸电压Vtrip,则存储器单元处于导电状态并且其Vth等于或低于验证电压。如果感测节点电压未衰减到低于Vtrip,则存储器单元处于非导电状态并且其Vth高于验证电压。例如,由比较电路320基于存储器单元分别是处于导电状态还是非导电状态而将感测节点锁存器322设置为0或1。例如,在编程-验证测试中,0可以代表失败并且1可以代表通过。感测节点锁存器中的位可以在扫描操作的状态位扫描操作中读出或在填充操作中从0翻转到1。感测节点锁存器322中的位也可以在锁定扫描中使用以决定是否要在下一程序循环中将位线电压设置为禁止或编程电平。L
管理电路302包括处理器330、四组示例性数据锁存器340、342、344和346以及耦接在数据锁存器组与数据总线334之间的I/O接口332。图3示出了四组示例性数据锁存器340、342、344和346;然而,在其他实施方案中,可以实现多于或少于四组。在一个实施方案中,每个感测放大器230存在一组锁存器。可以为每个感测电路提供一组三个数据锁存器,例如,包括单独锁存器ADL、BDL、CDL和XDL。在一些情况下,可以使用不同数量的数据锁存器。在每一存储器单元三位的实施方案中,ADL存储用于下页面数据的位,BDL存储用于中页面数据的位,CDL存储用于上页面数据的位,并且XDL用作用于存储/锁存来自存储器控制器的数据的接口锁存器。
处理器330执行计算,诸如确定存储在已感测的存储器单元中的数据以及将所确定的数据存储在该组数据锁存器中。每组数据锁存器340至346用于在读取操作期间存储由处理器330确定的数据位并在编程操作期间存储从数据总线334导入的数据位,这些数据位表示要编程到存储器中的写入数据。I/O接口332在数据锁存器340至346和数据总线334之间提供接口。
在读取期间,***的操作处于状态机262的控制之下,该状态机控制向寻址的存储器单元提供不同的控制栅极电压。当它逐步通过与存储器支持的各种存储器状态相对应的各种预定义控制栅极电压时,感测电路可以在这些电压中的一个电压处跳闸,并且对应输出将经由数据总线304从感测放大器提供给处理器330。此时,处理器330通过考虑感测电路的跳闸事件和关于来自状态机的经由输入线348施加的控制栅极电压的信息来确定所得的存储器状态。然后,它计算存储器状态的二进制编码,并将得到的数据位存储到数据锁存器340至346中。
一些具体实施可包括多个处理器330。在一个实施方案中,每个处理器330将包括输出线(未示出),使得每个输出线以线或连接进行连接。可通过在节点处将多条线连接在一起来提供线或连接或线,其中每条线承载来自相应处理器的高或低输入信号,并且如果输入信号中的任一个输入信号高,则节点的输出高。在一些实施方案中,输出线在连接到线或线之前被反转。该配置使得能够在编程验证测试期间快速确定编程过程何时完成,因为接收线或的状态机可以确定何时所有被编程的位达到了期望的水平。例如,当每个位达到其所需电平时,该位的逻辑零将被发送到线或线(或数据一被反转)。当所有位输出数据0(或数据一被反转)时,状态机知道终止编程过程。因为每个处理器与八个感测电路通信,所以状态机需要读取线或线八次,或者将逻辑添加到处理器330以累积相关位线的结果,使得状态机只需要读取一次线或线。类似地,通过正确选择逻辑电平,全局状态机可以检测第一位何时改变其状态并相应地改变算法。
在存储器单元的编程或验证操作期间,要编程的数据(写入数据)存储在来自数据总线334的数据锁存器组340至346中。在重新编程期间,存储器单元的相应的一组数据锁存器可基于编程脉冲量值存储指示何时使存储器单元能够重新编程的数据。
在状态机262的控制下,编程操作将一系列编程电压脉冲施加到所寻址的存储器单元的控制栅极。每个电压脉冲的幅值可以在处理中从先前编程脉冲逐步增加一个步长,该处理被称为增量步进脉冲编程。每个编程电压之后是验证操作以确定存储器单元是否已被编程到所需的存储器状态。在一些情况下,处理器330监控相对于所需存储器状态的读回存储器状态。当两者一致时,处理器330将位线设置为编程禁止模式,诸如通过更新其锁存器。即使将附加的编程脉冲施加到其控制栅极,这也禁止耦接到位线的存储器单元进一步编程。
图4是可包括存储器结构202的单片三维存储器阵列/结构的一个示例性实施方案的一部分的透视图,该存储器结构包括被布置为竖直NAND串的多个非易失性存储器单元。例如,图4示出了一个存储器块的部分400。所描绘的结构包括一组位线BL,其位于交替的介电层和导电层的堆叠401上方。出于示例目的,将介电层中的一个标记为D,并且将导电层中的一个(也被称为字线层)标记为W。交替的介电层和导电层的数量可以基于特定具体实施要求而变化。如将在下文中说明的,在一个实施方案中,交替的介电层和导电层由隔离区IR分成六个(或不同数量)区域(例如,子块)。图4示出了将两个子块分开的一个隔离区IR。源极线层SL位于交替的介电层和字线层下方。在交替的介电层和导电层的堆叠中形成存储器孔。例如,存储器孔被标记为MH。需注意,在图4中,介电层被描绘为透视图,使得读者可以看到位于交替的介电层和导电层的堆叠中的存储器孔。在一个实施方案中,通过用包括电荷捕集材料的材料填充存储器孔以形成存储器单元的竖直列来形成NAND串。每个存储器单元可以存储一个或多个数据位。下文提供了包括存储器结构202的三维单片存储器阵列的更多细节。
图4A是说明存储器结构202的一个示例性组织的框图,该存储器结构被分为两个平面402和404。然后,将每个平面分成M个块。在一个示例中,每个平面具有约2000个块。然而,也可以使用不同数量的块和平面。在一个实施方案中,存储器单元的块是擦除单位。即,一个块的所有存储器单元一起被擦除。在其他实施方案中,块可以被分为子块并且子块可以是擦除单位。也可以出于其他原因将存储器单元分组为块,诸如为了组织存储器结构以启用信令和选择电路。在一些实施方案中,块表示一组连接的存储器单元,因为块的存储器单元共享一组公共的字线。例如,块的字线全都连接到该块的所有竖直NAND串。虽然图4A示出了两个平面402/404,但可以实现多于或少于两个平面。在一些实施方案中,存储器结构202包括八个平面。
图4B至图4J描绘了示例性三维(“3D”)NAND结构,其对应于图4的结构并且可用于实现图2A和图2B的存储器结构202。图4B是描绘平面402的块2的部分406的顶视图的框图。从图4B中可以看出,图4B中描绘的块沿432的方向延伸。在一个实施方案中,存储器阵列具有许多层;然而,图4B仅示出了顶层。
图4B描绘了多个圆圈,该多个圆圈表示对应于存储器孔的竖直列。竖直列中的每一个包括多个选择晶体管(也称为选择栅极或选取栅极)和多个存储器单元。在一个实施方案中,每个竖直列实现一个NAND串。例如,图4B标记竖直列/NAND串的子集426、432、436、446、456、462、466、472、474和476。
图4B还描绘了一组位线415,包括位线411、412、413、414、……、419。图4B示出了二十四个位线,因为仅示出了该块的一部分。设想的是,多于二十四个位线可以连接到该块的竖直列。表示竖直列的每个圆圈都有一个“x”以指示其与一个位线连接。例如,位线411连接到竖直列426、436、446、456、466和476。
图4B中描绘的块包括由SiO2形成的一组隔离区480、482、484、486和488;然而,也可以使用其他介电材料。隔离区480、482、484、486和488用于将块的顶层分为六个区域;例如,图4B中描绘的顶层被分为区域420、430、440、450、460和470,所有这些区域都称为子块。在一个实施方案中,隔离区仅划分用于实现选择栅极的层,使得可以独立选择不同子块中的NAND串。在一个示例性具体实施中,位线仅连接到区域(子块)420、430、440、450、460和470中的每一者中的一个竖直列/NAND串。在该具体实施中,每个块具有二十四行活动列,并且每个位线连接到每个块中的六行。在一个实施方案中,连接到公共位线的所有六个竖直列/NAND串都连接到同一个字线(或同一组字线)。因此,***使用漏极侧选择线来选择六个中的要进行存储器操作(编程、验证、读取和/或擦除)的一个(或另一个子集)。
尽管图4B示出了每个区域420、430、440、450、460和470具有四行竖直列,一个块中有六个区域和二十四行竖直列,但是这些确切数字是示例性具体实施。其他实施方案可以包括每一块更多或更少的区域、每一区域更多行或更少行的竖直列、以及每一块更多行或更少行的竖直列。图4B还示出了竖直列是交错的。在其它实施方案中,可以使用不同交错模式。在一些实施方案中,竖直列不交错。
图4C描绘了三维存储器结构202的一个实施方案的一部分,示出了沿图4B的线AA的剖视图。该剖视图切穿区域470的竖直列(NAND串)472和474(参见图4B)。图4C的结构包括:三个漏极侧选择层SGD0、SGD1和SGD2;三个源极侧选择层SGS0、SGS1和SGS2;三个虚设字线层DD0、DD1和DDS;用于连接到数据存储器单元的二百四十个字线层WL0至WL239;以及二百五十个介电层Dl0至DL249。其他实施方案可以实现多于或少于上文针对图4C所述的数量。在一个实施方案中,SGD0、SGD1和SGD2连接在一起,并且SGDS0、SGS1和SGS2连接在一起。
竖直列472和474被描绘为突出穿过漏极侧选择层、源极侧选择层、虚设字线层以及字线层。在一个实施方案中,每个竖直列都包括竖直NAND串。在竖直列和这些层之下的是衬底453、衬底上的绝缘膜454以及源极线SL。竖直列442的NAND串在堆叠的底部处具有源极端并且在堆叠的顶部处具有漏极端。与图4B中一样,图4C示出了经由连接器417连接到位线414的竖直列472。
为了易于参考,漏极侧选择层、源极侧选择层、虚设字线层和数据字线层统称为导电层。在一个实施方案中,导电层由TiN和钨的组合制成。在其他实施方案中,可使用其他材料形成导电层,该其他材料诸如为掺杂的多晶硅、金属(诸如钨)或金属硅化物。在一些实施方案中,不同导电层可以由不同材料形成。在导电层之间的是介电层DL0至DL249。例如,介电层DL240在字线层WL235上方并且在字线层WL236下方。在一个实施方案中,介电层由SiO2制成。在其他实施方案中,可以使用其他介电材料形成介电层。
非易失性存储器单元沿竖直列形成,该竖直列延伸穿过堆叠中的交替的导电层和介电层。在一个实施方案中,存储器单元布置在NAND串中。字线层WL0至W239连接到存储器单元(也称为数据存储器单元)。虚设字线层DD0、DD1和DS连接到虚设存储器单元。虚设存储器单元不存储主机数据并且没有资格存储主机数据(从主机或存储***100外部的实体提供的数据,诸如来自主机用户的数据),而数据存储器单元有资格存储主机数据。主机数据可以与存储器***100所生成的***数据(例如,L2P表)不同。在一些实施方案中,数据存储器单元和虚设存储器单元可具有相同结构。漏极侧选择层SGD0、SGD1和SGD2用于将NAND串与位线电连接和断开。源极侧选择层SGS0、SGS1和SGS2用于将NAND串与源极线SL电连接和断开。
需注意,字线WL0至WL239的堆叠包括堆叠的边缘处的两个边缘字线,包括顶部边缘字线WL239和底部边缘字线WL0。字线WL1至WL238是非边缘字线。
图4D描绘了三维存储器结构202的一个实施方案的一部分,示出了沿图4B的线BB的剖视图。该剖视图切穿区域430的竖直列(NAND串)432和434(参见图4B)。图4D示出了与图4C相同的交替的导电层和介电层。图4D还示出了隔离区482。隔离区480、482、484、486和488占用原本用于存储器孔/竖直列/NAND串的一部分的空间。例如,隔离区482占用原本用于竖直列434的一部分的空间。更具体地讲,已在层SDG0、SGD1、SGD2和DD0中移除竖直列434的一部分(例如,直径的一半)以容纳隔离区482。因此,虽然竖直列434的大部分是圆柱形的(具有圆形横截面),但层SDG0、SGD1、SGD2和DD0中的竖直列434的部分具有半圆形横截面。在一个实施方案中,在形成交替的导电层和介电层的堆叠之后,蚀刻该堆叠以便为隔离区形成空间,然后在该空间中充满SiO2。
图4E描绘了三维存储器结构202的一个实施方案的一部分,示出了沿图4B的线CC的剖视图。该剖视图切穿竖直列(NAND串)452和462(参见图4B)。图4E示出了与图4C相同的交替的导电层和介电层。图4E还示出了切入竖直列(NAND串)452的隔离区486。
图4F描绘了包括竖直列472的一部分的图4C的区域429的剖视图。在一个实施方案中,竖直列是圆形的;然而,在其他实施方案中,可使用其他形状。在一个实施方案中,竖直列472包括由诸如SiO2的电介质制成的内芯层490。也可以使用其他材料。包围内芯490的是多晶硅沟道491。也可以使用除了多晶硅之外的材料。需注意,沟道491连接到位线和源极线。包围沟道491的是隧穿电介质492。在一个实施方案中,隧穿电介质492具有ONO结构。包围隧穿电介质492的是电荷捕集层493,诸如(例如)氮化硅。也可以使用其他存储器材料和结构。本文所述的技术不限于任何特定材料或结构。
图4D描绘了介电层DLL239、DLL240、DLL241、DLL242和DLL243,以及字线层WLL234、WLL235、WLL236、WLL237和WLL238。字线层中的每个字线层包括由氧化铝层497包围的字线区域496,氧化铝层由阻挡氧化物层498包围。在其他实施方案中,阻挡氧化物层可以是与电荷捕集层493平行且相邻的竖直层。字线层与竖直列的物理相互作用形成存储器单元。因此,在一个实施方案中,存储器单元包括沟道491、隧穿电介质492、电荷捕集层493、阻挡氧化物层498、氧化铝层497以及字线区域496。例如,字线层WLL238和竖直列472的一部分构成存储器单元MC1。字线层WL237和竖直列472的一部分构成存储器单元MC2。字线层WLL236和竖直列472的一部分构成存储器单元MC3。字线层WLL235和竖直列472的一部分构成存储器单元MC4。字线层WLL234和竖直列472的一部分构成存储器单元MC5。在其他架构中,存储器单元可以具有不同的结构,然而,存储器单元仍将是存储单元。
当对存储器单元进行编程时,电子存储在电荷捕集层493的与存储器单元相关联(例如在存储器单元中)的一部分中。响应于字线区域496上的适当电压,这些电子通过隧穿电介质492从沟道491被吸引到电荷捕集层493中。存储器单元的阈值电压(Vth)与所存储的电荷量成比例地增大。在一个实施方案中,通过电子的福勒-诺得海姆(Fowler-Nordheim)隧穿到电荷捕集层中来实现编程。在擦除操作期间,电子返回到沟道或空穴被注入到电荷捕集层中以与电子重组。在一个实施方案中,使用经由诸如GIDL的物理机制的空穴注入到电荷捕集层中来实现擦除。
图4G示出了切穿MC5的图4F的竖直列472的横截面。因此,图4G描绘了字线层WL234、内芯490、沟道491、隧穿电介质492、电荷捕集层493、氧化铝层497和阻挡氧化物层498。
图4H示出了切穿SGD1(实现选择栅极的选择栅极层)的图4F的竖直列472的横截面。因此,图4H描绘了漏极侧选择线层SGD1、内芯490、沟道491、隧穿电介质492、电荷捕集层493、氧化铝层497和阻挡氧化物层498。
图4I示出了切穿SGD1的图4D的竖直列434的横截面。因此,图4I描绘了漏极侧选择线层SGD1、内芯490、沟道491、隧穿电介质492、电荷捕集层493、氧化铝层497和阻挡氧化物层498。图4I还示出了隔离区482的一部分。从图4I中可以看出,由于竖直列(NAND串)434与隔离区482相交,竖直列434的选择栅极(选择栅极层和选择线层)为半圆形形状(或部分圆形形状)。
图4J是图4至图4I中描绘的存储器阵列202的一部分的示意图。图4J示出了贯穿整个块的物理数据字线WL0至WL239。图4J的结构对应于图4A的块2中的部分306,包括位线411。在该块内,在一个实施方案中,每个位线连接到六个NAND串。因此,图4J示出了连接到NAND串NS0(其对应于竖直列426)、NAND串NS1(其对应于竖直列436)、NAND串NS2(其对应于竖直列446)、NAND串NS3(其对应于竖直列456)、NAND串NS4(其对应于竖直列466)和NAND串NS5(其对应于竖直列476)的位线。如上所述,在一个实施方案中,SGD0、SGD1和SGD2连接在一起以作为由隔离区(480、482、484、486和486)分开的每个子块的单个逻辑选择栅极操作,从而形成SGD-s0、SGD-s1、SGD-s2、SGD-s3、SGD-s4和SGD-s5。SGS0、SG1和SGS2也连接在一起以作为单个逻辑选择栅极操作,该单个逻辑选择栅极在图4E中表示为SGS。尽管选择栅极SGD-s0、SGD-s1、SGD-s2、SGD-s3、SGD-s4和SGD-s5彼此因隔离区而隔离,但是每个子块的数据字线WL0至WL239连接在一起。
隔离区(480、482、484、486和486)用于允许单独控制子块。第一子块对应于由SGD-s0控制的那些竖直NAND串。第二子块对应于由SGD-s1控制的那些竖直NAND串。第三子块对应于由SGD-s2控制的那些竖直NAND串。第四子块对应于由SGD-s3控制的那些竖直NAND串。第五子块对应于由SGD-s4控制的那些竖直NAND串。第六子块对应于由SGD-s5控制的那些竖直NAND串。
图4J仅示出了连接到位线411的NAND串。然而,该块的完整示意图将示出每一个位线和连接到每个位线的六个竖直NAND串。
尽管图4至图4J的示例性存储器是包括具有电荷捕集材料的竖直NAND串的三维存储器结构,但是其他(2D和3D)存储器结构也可与本文所述的技术一起使用。
上面讨论的存储器***可以被擦除、编程和读取。在成功编程过程结束时,在适当时,存储器单元的阈值电压应当在用于编程的存储器单元的阈值电压的一个或多个分布内或在经擦除的存储器单元的阈值电压的分布内。图5A是阈值电压与存储器单元数量的曲线图,并且示出了当每个存储器单元存储每一存储器单元一位数据时存储器阵列的示例性阈值电压分布。存储每一存储器单元一位数据的存储器单元称为单级单元(“SLC”)。存储在SLC存储器单元中的数据称为SLC数据;因此,SLC数据包括每一存储器单元一位。按每一存储器单元一位存储的数据是SLC数据。图5A示出了两个阈值电压分布:E和P。阈值电压分布E对应于擦除数据状态。阈值电压分布P对应于编程数据状态。因此,在阈值电压分布E中具有阈值电压的存储器单元处于擦除数据状态(例如,它们被擦除)。因此,在阈值电压分布P中具有阈值电压的存储器单元处于编程数据状态(例如,它们被编程)。在一个实施方案中,被擦除的存储器单元存储数据“1”,并且被编程的存储器单元存储数据“0”。图5A描绘了读取参考电压Vr。通过测试(例如,执行一个或多个感测操作)给定存储器单元的阈值电压是高于还是低于Vr,该***可以确定存储器单元被擦除(状态E)还是被编程(状态P)。图5A还描绘了验证参考电压Vv。在一些实施方案中,当将存储器单元编程到数据状态P时,***将测试这些存储器单元是否具有大于或等于Vv的阈值电压。
图5B至图5F示出了当每个存储器单元存储每一存储器单元多位数据时用于存储器阵列的示例性阈值电压分布。存储每一存储器单元多位数据的存储器单元称为多级单元(“MLC”)。存储在MLC存储器单元中的数据称为MLC数据;因此,MLC数据包括每一存储器单元多位。按每一存储器单元多位数据存储的数据是MLC数据。在图5B的示例性实施方案中,每个存储器单元存储二位数据。其他实施方案可以使用每一存储器单元其他数据容量(例如,诸如每一存储器单元三位数据、四位数据、五位数据或六位数据)。
图5B示出了用于被擦除的存储器单元的第一阈值电压分布E。还描绘了用于被编程的存储器单元的三个阈值电压分布A、B和C。在一个实施方案中,分布E中的阈值电压为负并且分布A、B和C中的阈值电压为正。图5B的每个不同阈值电压分布对应于该组数据位的预确定的值。在一个实施方案中,存储在存储器单元中的二位数据中的每位数据处于称为下页面(LP)和上页面(UP)的不同逻辑页面。在其他实施方案中,存储在存储器单元中的所有位数据处于公共逻辑页面。编程到存储器单元中的数据与该单元的阈值电压电平之间的具体关系取决于该单元所采纳的数据编码方案。表1提供了示例性编码方案。
表1
E | A | B | C | |
LP | 1 | 0 | 0 | 1 |
UP | 1 | 1 | 0 | 0 |
在被称为全序列编程的一个实施方案中,可使用图6的过程将存储器单元从已擦除数据状态E直接编程到已编程数据状态A、B或C中的任一种(下文讨论)。例如,可首先擦除要被编程的存储器单元群,使得该群中的所有存储器单元处于已擦除数据状态E。然后,使用编程过程将存储器单元直接编程到数据状态A、B和/或C。例如,虽然一些存储器单元正在从数据状态E编程到数据状态A,但其他存储器单元正在从数据状态E编程到数据状态B和/或从数据状态E编程到数据状态C。图5B的箭头表示全序列编程。在一些实施方案中,数据状态A至C可重叠,其中存储器控制器120(或控制裸片211)依赖错误校正来识别正在存储的正确数据。
图5C描绘了用于存储器单元的示例性阈值电压分布,其中每个存储器单元存储每一存储器单元三位数据(该数据是MLC数据的另一个示例)。图5C示出了对应于八个数据状态的八个阈值电压分布。第一个阈值电压分布(数据状态)Er表示被擦除的存储器单元。其他七个阈值电压分布(数据状态)A-G表示被编程的存储器单元,并且因此也被称为已编程状态。每个阈值电压分布(数据状态)对应于一组数据位的预确定值。编程到存储器单元中的数据与该单元的阈值电压电平之间的具体关系取决于该单元所采纳的数据编码方案。在一个实施方案中,使用格雷码分配将数据值分配到阈值电压范围,使得如果存储器的阈值电压错误地移位到其相邻物理状态,那么将仅影响一个位。表2提供了用于实施方案的编码方案的示例,其中存储在存储器单元中的三位数据中的每位数据处于称为下页面(LP)、中页面(MP)和上页面(UP)的不同逻辑页面。
表2
Er | A | B | C | D | E | F | G | |
UP | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
MP | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
LP | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
图5C示出了用于从存储器单元读取数据的七个读取参考电压VrA、VrB、VrC、VrD、VrE、VrF和VrG。通过测试(例如,执行感测操作)给定存储器单元的阈值电压是高于还是低于七个读取参考电压,***可以确定存储器单元所处于的数据状态(即,A、B、C、D、……)。
图5C还示出了七个验证参考电压VvA、VvB、VvC、VvD、VvE、VvF和VvG。在一些实施方案中,当将存储器单元编程到数据状态A时,***将测试这些存储器单元是否具有大于或等于VvA的阈值电压。当将存储器单元编程到数据状态B时,***将测试这些存储器单元是否具有大于或等于VvB的阈值电压。当将存储器单元编程到数据状态C时,***将确定这些存储器单元是否具有大于或等于VvC的阈值电压。当将存储器单元编程到数据状态D时,***将测试这些存储器单元是否具有大于或等于VvD的阈值电压。当将存储器单元编程到数据状态E时,***将测试这些存储器单元是否具有大于或等于VvE的阈值电压。当将存储器单元编程到数据状态F时,***将测试这些存储器单元是否具有大于或等于VvF的阈值电压。当将存储器单元编程到数据状态G时,***将测试这些存储器单元是否具有大于或等于VvG的阈值电压。图5C还示出了Vev,其为用以测试存储器单元是否已被正确擦除的电压电平。
在利用全序列编程的一个实施方案中,可使用图6的过程将存储器单元从已擦除数据状态Er直接编程到已编程数据状态A至G中的任一种(下文讨论)。例如,可首先擦除要被编程的存储器单元群,使得该群中的所有存储器单元处于已擦除数据状态Er。然后,使用编程过程将存储器单元直接编程到数据状态A、B、C、D、E、F和/或G。例如,虽然一些存储器单元正从数据状态ER编程到数据状态A,但其他存储器单元正从数据状态ER编程到数据状态B和/或从数据状态ER编程到数据状态C,等等。图5C的箭头表示全序列编程。在一些实施方案中,数据状态A至G可重叠,其中控制裸片211和/或存储器控制器120依赖错误校正来识别正在存储的正确数据。需注意,在一些实施方案中,该***并不使用全序列编程,而是可以使用本领域已知的多遍编程过程。
一般来讲,在验证操作和读取操作期间,将选择的字线连接到电压(参考信号的一个示例),该电压的电平针对每个读取操作(例如,参见图5C的读取比较电平VrA、VrB、VrC、VrD、VrE、VrF和VrG)或验证操作(例如,参见图5C的验证目标电平VvA、VvB、VvC、VvD、VvE、VvF和VvG)指定,以便确定相关存储器单元的阈值电压是否已经达到这个水平。在施加字线电压之后,测量存储器单元的传导电流以确定该存储器单元是否响应于施加到字线的电压而接通(被传导电流)。如果传导电流被测量为大于特定值,那么假设存储器单元被接通并且施加到字线的电压大于存储器单元的阈值电压。如果传导电流未测量为大于特定值,那么假设存储器单元未接通并且施加到字线的电压不大于存储器单元的阈值电压。在读取或验证过程期间,未选择存储器单元在其控制栅极处被提供有一个或多个读取通过电压(也称为旁路电压),使得这些存储器单元将作为通过栅极操作(例如,不管这些存储器单元是被编程还是被擦除都传导电流)。
有许多方法来在读取或验证操作期间测量存储器单元的传导电流。在一个示例中,以存储器单元对感测放大器中的专用电容器放电或充电的速率来测量该存储器单元的传导电流。在另一个示例中,选择的存储器单元的传导电流允许(或不允许)包括存储器单元的NAND串对对应位线放电。在某时间段之后测量位线上的电压,以查看其是否已经放电。需注意,本文所述的技术可以与本领域中已知的用于验证/读取的不同方法一起使用。也可以使用本领域中已知的其他读取和验证技术。
图5D描绘了当每个存储器单元存储四位数据(该数据是MLC数据的另一个示例)时的阈值电压分布。图5D描绘了阈值电压分布(数据状态)S0至S15之间可存在一些重叠。该重叠可由于诸如存储器单元丢失电荷(并因此阈值电压下降)的因素而发生。编程干扰可无意地增大存储器单元的阈值电压。同样,读取干扰可无意地增大存储器单元的阈值电压。随着时间的推移,阈值电压分布的位置可改变。此类改变可增大误码率,从而增加解码时间或甚至使得不可能解码。改变读取参考电压可有助于减轻此类影响。在读取过程中使用ECC可修复错误和歧义。需注意,在一些实施方案中,用于存储每一存储器单元四位数据的存储器单元群的阈值电压分布不重叠并彼此分开;例如,如图5E中所描绘。图5D的阈值电压分布将包括读取参考电压和验证参考电压,如上所讨论。
当每个存储器单元使用四位时,可使用上面讨论的全序列编程过程或本领域已知的多遍编程过程来对存储器进行编程。图5D的每个阈值电压分布(数据状态)对应于该组数据位的预确定的值。编程到存储器单元中的数据与该单元的阈值电压电平之间的具体关系取决于该单元所采纳的数据编码方案。表3提供了用于实施方案的编码方案的示例,其中存储在存储器单元中的四位数据中的每位数据处于称为下页面(LP)、中页面(MP)、上页面(UP)和顶页面(TP)的不同逻辑页面。
表3
S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | S11 | S12 | S13 | S14 | S15 | |
TP | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
UP | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
MP | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
LP | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
图5F描绘了当每个存储器单元存储五位数据(该数据是MLC数据的另一个示例)时的阈值电压分布。在一个示例性具体实施中,当存储器单元存储五位数据时,该数据以三十二种数据状态(例如,S0至S31)中的任一种存储。
图6是描述用于对存储器单元进行编程的过程的一个实施方案的流程图。出于本文件的目的,术语“编程”和“进行编程”与“写入”和“进行写入”同义。在一个示例性实施方案中,使用上文所讨论的该一个或多个控制电路(例如,***控制逻辑部件260、列控制电路210、行控制电路220)为存储器阵列202执行图6的过程。在一个示例性实施方案中,集成存储器组件207使用控制裸片211的该一个或多个控制电路(例如,***控制逻辑部件260、列控制电路210、行控制电路220)执行图6的过程以对存储器裸片201上的存储器单元进行编程。该过程包括多个循环,每个循环包括编程阶段和验证阶段。执行图6的过程以实现全序列编程以及包括多遍编程的其他编程方案。当实施多遍编程时,图6的过程用于实现多遍编程过程的任何/每一遍。
通常,在编程操作期间(经由选择的数据字线)施加到控制栅极的编程电压被施加为一系列编程脉冲(例如,电压脉冲)。在编程脉冲之间的是一组验证脉冲(例如,电压脉冲)以执行验证。在许多具体实施中,编程脉冲的幅值随每个连续脉冲而增大预确定的步长。在图6的步骤602中,将编程电压信号(Vpgm)初始化为起始幅值(例如,约12V至16V或另一个合适的电平),并且将由状态机262维持的编程计数器PC初始化为1。在一个实施方案中,被选择为编程的一组存储器单元(在本文中被称为所选择的存储器单元)被同时编程并且全部连接至相同的字线(所选择的字线)。可能有其他未选择用于编程的存储器单元(未选择的存储器单元)也连接至选择的字线。也就是说,所选择的字线也将连接至应该禁止编程的存储器单元。此外,当存储器单元达到它们预期的目标数据状态时,它们将被禁止进一步编程。这些NAND串(例如,未选择NAND串)使其信道升压以禁止编程,这些串包括连接至所选择的字线的要被禁止编程的存储器单元。当信道具有升高的电压时,信道和字线之间的电压差不足以引起编程。为了帮助升压,在步骤604中,控制裸片将对包括与选择的字线连接并将被禁止编程的存储器单元的NAND串的信道预充电。在步骤606中,包括与选择的字线连接并将被禁止编程的存储器单元的NAND串使其信道升压以禁止编程。此类NAND串在本文中被称为“未选择的NAND串”。在一个实施方案中,未选择的字线接收一个或多个升压电压(例如,约7伏至11伏)(也称为通过电压)以执行升压方案。编程禁止电压被施加到耦接未选择NAND串的位线。
在步骤608中,将编程电压信号Vpgm的编程电压脉冲施加到选择的字线(被选择用于编程的字线)。如果NAND串上的存储器单元应该被编程,则对应的位线被偏置在编程启用电压。在步骤608中,将编程脉冲同时施加到连接到选择的字线的所有存储器单元,使得同时对连接到选择的字线的所有存储器单元进行编程(除非它们被禁止编程)。也就是说,它们在同一时间上或在重叠时间期间(两者都被视为是同时的)进行编程。以此方式,连接至所选择的字线的所有存储器单元将同时具有其阈值电压变化,除非它们被禁止编程。
在步骤610中,执行编程验证并且已经达到其目标状态的存储器单元被锁定而不能被控制裸片进一步编程。步骤610包括通过在一个或多个验证参考电平处感测来执行编程的验证。在一个实施方案中,通过测试被选择用于编程的存储器单元的阈值电压是否已经达到适当验证参考电压来执行验证过程。在步骤610中,在存储器单元已经被验证(通过Vt的测试)存储器单元已经达到其目标状态之后,存储器单元可以被锁定。
如果在步骤612中,确定所有存储器单元都已经达到其目标阈值电压(通过),则该编程过程完成并且成功,因为所有选择的存储器单元都被编程并验证到其目标状态。在步骤614中,报告“通过”状态。否则,如果在612中确定不是所有存储器单元都已经达到其目标阈值电压(失败),则该编程过程将继续到步骤616。
在步骤616中,对尚未达到其各自的目标阈值电压分布的存储器单元的数量进行计数。即,对目前为止无法达到其目标状态的存储器单元的数量进行计数。该计数可以由状态机262、存储器控制器120或另一电路来完成。在一个实施方案中,存在一个总计数,其反映了最后一个验证步骤已经失败的当前正在编程的存储器单元的总数。在另一个实施方案中,为每个数据状态保留单独计数。
在步骤618中,确定来自步骤616的计数是否小于或等于预确定的极限。在一个实施方案中,预确定的极限是在存储器单元的页面的读取过程期间可通过纠错码(ECC)校正的位的数量。如果失败单元的数量小于或等于预确定的极限,则该编程过程可停止并且在步骤614中报告“通过”状态。在这种情况下,足够的存储器单元被正确地编程,使得可以在读取过程期间使用ECC来校正尚未完全地编程的剩余几个存储器单元。在一些实施方案中,在步骤618中使用的预确定的极限低于在读取过程期间可由纠错码(ECC)校正的位数,以允许未来/附加的错误。当对页面的少于所有的存储器单元进行编程、或比较仅一个数据状态(或少于所有的状态)的计数时,预确定的极限就可以是在存储器单元的页面的读取过程期间ECC可校正的位的数量的一部分(按比例或不按比例)。在一些实施方案中,该极限不是预确定的。相反,它基于已经为页面计数的错误数量、所执行的编程擦除周期数量或其他标准来改变。
如果失败存储器单元的数量不小于预确定的极限,则该编程过程在步骤620处继续并且对照编程极限值(PL)检查编程计数器PC。编程极限值的示例包括6、12、16、19、20和30;然而,可以使用其他值。如果编程计数器PC不小于编程极限值PL,则认为该编程过程已经失败并且在步骤624中报告“失败”状态。如果编程计数器PC小于编程极限值PL,则该过程在步骤626处继续,在此期间,编程计数器PC递增了1,并且编程电压信号Vpgm被步进到下一幅值。例如,下一脉冲将具有比前一脉冲大一个步长ΔVpgm(例如,0.1伏至1.0伏的步长)的幅值。在步骤626之后,该过程循环回到步骤604,并且另一个编程脉冲被(控制裸片)施加到所选择的字线,使得执行图6的编程过程的另一次迭代(步骤604--626)。
在一个实施方案中,存储器单元在编程之前被擦除,并且擦除是将一个或多个存储器单元的阈值电压从已编程数据状态改变为已擦除数据状态的过程。例如,将一个或多个存储器单元的阈值电压从图5A的状态P改变为状态E,从图5B的状态A/B/C改变为状态E,从图5C的状态A至G改变为状态Er,或从图5D的状态S1至S15改变为状态S0。
擦除一些存储器设备中的存储器单元的一种技术是将p阱(或其它类型的)基板偏置到高电压以对NAND沟道充电。当NAND沟道处于高电压时,将擦除启用电压(例如,低电压)施加到存储器单元的控制栅极,以擦除非易失性存储元件(存储器单元)。在本文中,这称为p阱擦除。
擦除存储器单元的另一种方法是生成栅极感应漏极泄漏(GIDL)电流,以对NAND串沟道进行充电。将擦除启用电压施加到存储器单元的控制栅极,同时保持NAND串沟道电势,以擦除存储器单元。在本文中,这称为GIDL擦除。p阱擦除和GIDL擦除均可用于降低存储器单元的阈值电压(Vt)。
在一个实施方案中,通过在选择晶体管(例如,SGD和/或SGS)处引起漏极到栅极电压来产生GIDL电流。生成GIDL电流的晶体管漏极至栅极电压在本文中称为GIDL电压。当选择晶体管漏极电压显著高于选择晶体管控制栅极电压时,可产生GIDL电流。GIDL电流是载流子生成的结果,即,由于频带-频带隧穿而产生的电子空穴对生成和/或陷阱辅助生成。在一个实施方案中,GIDL电流可导致一种类型的载流子(例如,空穴)主要移动到NAND沟道中,从而升高沟道的电势。另一种类型的载流子(例如电子)通过电场沿位线的方向或沿源极线的方向从沟道提取。在擦除期间,空穴可从沟道隧穿到存储器单元的电荷存储区,并且与其中的电子重组,以降低存储器单元的阈值电压。
可在NAND串的任一端处生成GIDL电流。连接到位线或位线附近的选择晶体管(例如,漏极侧选择晶体管)的两个端子之间可产生第一GIDL电压,以生成第一GIDL电流。连接到源极线或源极线附近的选择晶体管(例如,源极侧选择晶体管)的两个端子之间可产生第二GIDL电压,以生成第二GIDL电流。仅在NAND串的一端处基于GIDL电流的擦除称为单侧GIDL擦除。在NAND串的两端处基于GIDL电流的擦除称为双侧GIDL擦除。
在一些实施方案中,控制器、控制裸片或存储器裸片执行ECC解码过程(参见ECC引擎)。为了帮助修复在存储数据时可能发生的错误,使用错误校正。在编程过程期间,ECC引擎编码该数据以添加ECC信息。例如,ECC引擎用于创建码字。在一个实施方案中,以页面单位对数据进行编程。由于在编程或读取时可能发生错误,并且在存储数据时可能发生错误(例如,由于电子漂移、数据保留问题或其他现象),因此错误校正与数据页面的编程一起使用。许多错误校正编码方案是本领域熟知的。这些常规的纠错码(ECC)在包括闪存(和其他非易失性)存储器的大容量存储器中尤其有用,因为此类编码方案可对制造产率和设备可靠性产生重大影响,从而使具有少量不可编程或有缺陷的单元的设备变得可用。当然,在产率节省和提供附加存储器单元以存储代码位(即,编码“速率”)的成本之间存在权衡。因此,一些ECC代码比其他ECC代码更适合闪存存储器设备。一般来讲,闪存存储器设备的ECC代码往往具有比数据通信应用中使用的代码(其可具有低至1/2的编码速率)更高的编码速率(即,更低的代码位/数据位比率)。通常与闪存存储器存储装置结合使用的熟知的ECC代码的示例包括里德-所罗门码、其他BCH码、汉明码等。有时,与闪存存储器存储装置结合使用的纠错码是“***的”,因为最终码字的数据部分与被编码的实际数据没有变化,其中代码或奇偶校验位附加到数据位以形成完整的码字。在其他实施方案中,改变实际数据。
给定纠错码的特定参数包括代码的类型、从中导出码字的实际数据的块的大小以及编码之后码字的总长度。例如,如果使用至少60个ECC或奇偶校验位,则应用于512字节(4096位)数据的典型BCH码可校正最多四个错误位。里德-所罗门码是BCH码的子集,并且也通常用于纠错。例如,典型的里德-所罗门码可使用约72个ECC位在512字节数据扇区中校正最多四个错误。在闪存存储器的情况下,纠错编码提供了制造产率以及闪存存储器随时间推移的可靠性的显著改进。
在一些实施方案中,控制器接收将被存储在存储器结构中的主机数据(也称为信息位)。信息位由矩阵i=[1 0]表示(需注意,两个位仅用于示例目的,并且许多实施方案具有长于两个位的码字)。实现了纠错编码过程(诸如上文或下文提到的任何过程),其中奇偶校验位被添加到信息位以提供由矩阵或码字ν=[1 0 1 0]表示的数据,指示两个奇偶校验位已经附加到数据位。可使用以更复杂方式将输入数据映射到输出数据的其它技术。例如,可使用低密度奇偶校验(LDPC)码,也称为Gallager码。关于LDPC代码的更多细节可见于R.G.Gallager的“Low-density parity-check codes”,IRE Trans.Inform.Theory,vol.IT-8,pp.21 28,Jan.1962(低密度奇偶校验码,《IRE信息理论汇刊》,IT-8卷,第21-28页,1962年1月);以及D.MacKay的Information Theory,Inference and LearningAlgorithms,Cambridge University Press 2003,chapter 47(《信息理论、推理和学习算法》,剑桥大学出版社,2003年,第47章)。在实施过程中,此类LDPC码通常应用于跨多个存储元件编码的多个页面,但它们不需要跨多个页面应用。可通过将一个或多个存储器单元编程到对应于矩阵或码字ν的一个或多个编程状态来将数据位映射到逻辑页面并且存储在存储器结构326中。
在一个可能具体实施中,使用迭代概率解码过程,该迭代概率解码过程实现与控制器120中实现的编码相对应的错误校正解码。关于迭代概率解码的更多细节可见于上述D.MacKay文章。迭代概率解码试图通过向码字中的每位分配初始概率度量来对码字进行解码。概率度量指示每位的可靠性,即该位不出错的可能性有多大。在一种方法中,概率度量是从LLR表获得的对数似然比LLR。LLR值是从存储元件读取的各种二进制位的值已知的可靠性度量。
位的LLR由下式给出:
其中P(v=0|Y)是考虑到所读取的状态为Y的条件下位为0的概率,并且P(v=1|Y)是考虑到所读取的状态为Y的条件下位为1的概率。因此,LLR>0指示位更可能是0而不是1,而LLR<0指示位更可能是1而不是0,以满足纠错码的一个或多个奇偶校验。此外,更大的量值指示更大的概率或可靠性。因此,与LLR=5的位相比,LLR=63的位更可能为0,并且与LLR=-5的位相比,LLR=-63的位更可能为1。LLR=0指示该位有同等的可能性为0或1。
可为码字中的每个位位置提供LLR值。此外,LLR表可考虑多个读取结果,使得在位值在不同码字中一致时使用更大量值的LLR。
控制器接收码字Y1和LLR并且在逐次迭代中迭代,在这些迭代中其确定是否已满足错误编码过程的奇偶校验(方程)。如果已满足所有奇偶校验,则解码过程已收敛并且码字已被纠错。如果尚不满足一个或多个奇偶校验,则解码器将调节与奇偶校验不一致的位中的一个或多个位的LLR,然后在该过程中重新应用奇偶校验或下一校验以确定是否已满足该校验。例如,可调节LLR的量值和/或极性。如果仍不满足所考虑的奇偶校验,则可在另一次迭代中再次调节LLR。在一些但非所有情况下,调节LLR可使得位(例如,从0到1或从1到0)翻转。在一个实施方案中,一旦已满足所考虑的奇偶校验,就将另一奇偶校验应用于码字(如果适用)。在其他实施方案中,该过程移动到下一奇偶校验,从而在稍后时间循环回到失败的校验。该过程继续,试图满足所有奇偶校验。因此,完成Y1的解码过程以获得解码的信息,该解码的信息包括奇偶位v和解码的信息位i。
图7示出了结合ECC校正和读取错误处理的常规读取流。步骤701是存储在存储器单元中的数据的读取以确定“硬位”(HB),其中硬位值对应于使用图5A至图5C的值Vri的标准读取,这些值用于区分不同状态(如果这些状态是如图5A至图5C中那样的界限分明、分开的分布)。步骤703确定读取数据是否可使用ECC技术校正,并且如果是,则在步骤705处完成读取过程。当硬位数据在步骤703中变为不可由ECC校正时,在步骤707处,可以调用读取错误处理流,其中这可以调用各种读取类型来恢复读取数据。根据实施方案可以用于恢复数据内容的读取类型的一些示例是:“CFh读取”711,其是硬位的重新读取,这允许NAND串的未选择的字线有更长时间达到偏置电压,或允许其他替代读取偏置时序,诸如允许偏置电平诸如选择的字线的电压有更长的稳定时间;“软位”读取713,其提供关于硬位值的可靠性的信息;“BES读取”715,其尝试使硬位读取电平偏移以便提取该数据;以及“DLA读取”717,其考虑相邻字线对读取选择的字线的影响。这些读取类型中的一种或多种读取类型可以以各种序列或组合来组合以在基本ECC过程失败的情况下尝试并提取数据内容。对于这些实施方案中的任何实施方案,一旦在步骤703时调用读取错误处理流707,性能就会下降,通常严重下降。下面考虑了在减少其对存储器性能的影响的同时使用软位数据的技术。图8更详细地考虑了软位的使用。
图8可用于示出硬位和软位的概念。图8示出了两个相邻数据状态的分布的重叠以及可用于确定单元的数据状态和这种读取的可靠性的一组读取值,其中在下面的表中示出了值的一种特定编码的对应硬位和软位。读取值VH是初始数据状态值或用于确定硬位(HB)值的硬读取值,并且对应于图5A、图5B或图5C的值Vri,这些值用于区分不同状态(如果这些状态是如图5A至图5C中那样的界限分明、分开的分布)。VS+(裕度略微高于VH)和VS-(裕度略微低于VH)的附加读取电平是“软读取”值并且可用于提供“软位”(SB)值。软位值给出了关于初始数据状态值或硬位数据的质量或可靠性的信息,因为软位数据提供了关于分布已扩展到的程度的信息。ECC码诸如低密度奇偶校验码(LDPC)的一些实施方案可以使用硬位和软位数据两者来增加其能力。尽管图8仅示出了该对软位读取值,但是其他实施方案可以在需要更高分辨率时使用附加有裕度的读取值来为给定硬位生成更多软位值。更一般地,硬位对应于基于感测操作来推测的数据值,并且软信息(其可以是单个二进制软位、多个软位或小数/分数值)指示硬位值的可靠性或可信度。当在使用软信息的ECC方法中使用时,软信息可被当作对应硬位值正确的概率。
在读取操作期间,如果VH低于存储器单元阈值,则存储器单元将不导电并且读取数据值(HB)将读取为“0”。如果存储器单元在图8的任一分布的中心区域内,则VS+和VS-处的读取将提供相同结果;如果这些读取不同,则存储器单元的阈值电压介于这些值之间并且可来自上方分布或下方分布的尾部区域,因此HB数据不可靠。在这些电平处读取并且对这些结果进行异或非运算(XNOR-ing)在数据被认为可靠时给出“1”的SB值并在数据被认为不可靠时给出“0”的SB值。
例如,当SB+和SB-读取均为“0”时,则:
SB=(SB+)XNOR(SB-)
=“0”XNOR“0”
=1,
SB=1并且HB读取值将被当作可靠。在ECC中的软位解码期间,这将使得上部分布中的存储器单元具有HB=“0”和SB=“1”,从而指示可靠正确位(RCB),而阈值电压介于SB+和SB-之间的存储器单元将使得SB=“0”,从而指示HB值不可靠。
图9A和图9B分别示出了在使用上表2的编码的每一存储器单元三位数据的实施方案中用于计算下页面数据的硬位值和软位值的读取电平,并且其中1、0的软位值分别指示硬位值可靠、不可靠。图9A示出了每一单元3位的存储器单元的阈值电压分布,这与图5C所示的类似,但其中这些分布没有那么界限分明并且显示一定程度的重叠。分布的重叠可能有若干原因,诸如电荷泄漏或干扰,其中对一个字线或位线的操作会影响存储在附近存储器单元上的数据状态。另外,在实际写入操作中,这些分布通常将不如图5C所示的那样界限分明,因为以这种精度写入存储器单元对性能不利,原因是大量精细编程步骤和一些单元将难以编程或过于迅速地编程。因此,编程算法通常允许一些程度的重叠,从而依赖ECC准确地提取用户数据内容。
用于区分下页面数据值的读取点被表示为Er和A状态之间以及D和E状态之间的竖直虚线,以及写在下面的对应硬位值。由于分布的重叠,存储Er或E数据的多个存储器单元将错误地读取为HB=0并且存储A或D数据的多个存储器单元将错误地读取为HB=1。例如,最佳读取值可以被确定为设备表征的一部分并且被存储为控制电路的熔断值。在一些实施方案中,作为标准读取操作的一部分或作为与BES读取715一样的读取错误处理流707的一部分,控制电路可使这些值偏移以改善其精度。
为了能够处理更高的错误量,可使用更强的ECC。然而,这需要存储更多奇偶位,从而减少可用于用户数据的存储器单元的比例,有效地降低了存储器容量。另外,当更多计算涉及对码字进行编码/解码并且写入和读取附加ECC数据时,性能受到影响。此外,ECC数据需要通过数据总线结构向和从ECC电路传输。
图9B示出了软位值和读取点,这些读取点可以用于确定与图9A的下页面硬位值相对应的软位值。如图所示,基于要对基本硬位读取值的任一侧进行一对读取来确定软位值。这些软位读取值可以基于与硬位读取值的偏移(对称或不对称),并且作为熔断值存储在寄存器中并被确定为例如设备表征的一部分。在其他实施方案中,可以动态地确定或更新这些软位读取值。尽管在步骤713处使用软位可以相当有效地提取无法在步骤703中提取的数据内容,但是这会带来性能损失,因为其需要响应于步骤703处的ECC失败来调用,对每个硬位读取使用两个附加读取,需要在附加读取之后向外传输软位数据,并且需要执行附加计算。
为了改进该情况,下面介绍用于“有效软感测模式”的实施方案。在该感测模式下,硬位读取和软位读取可被组合成使用两个感测电平的一个序列以实现感测时间效率。通过将有效软感测读取用作默认模式,可以为ECC校正提供额外软位信息而不触发读取错误处理流。由于仅使用两个感测操作来生成硬位和软位数据,因此该技术避免了由标准硬读取加软读取引起的感测时间的三倍增。另外,通过将硬位和软位感测合并成一个序列,可避免涉及读取序列操作的大部分额外开销(例如,启用电荷泵、使字线斜线上升等)。图10示出了有效软感测模式的使用。
图10示出了硬位值和软位值的分配,以及有效软感测的实施方案中使用的读取电平。图10类似于图8并且示出了两个数据状态的存储器单元Vth分布,这两个数据状态同样在中心区域中有重叠。再次执行硬位读取,但并不尝试置于重叠区域的中心处或附近的为区分这两个状态而优化的点处,在该实施方案中,硬位读取偏移到较低Vth侧,使得在VH处或以下读取的任何存储器单元可靠地处于较低数据状态(此处如图8的示例中那样示出为“1”)。其还被分配“0”的软位值,其中与图8的实施方案相比,SB=0值现在指示可靠HB值。如果存储器单元读取VH以上,则其硬位值对应于更高Vth数据状态,其中HB=0。并不是图8的两次软位读取,在图10的实施方案中,仅执行单次软位读取,因为VS值偏移到高Vth侧。如果发现存储器单元的Vth高于VS,则其被分配HB=0的HB值并且被视为可靠的(HS=0)。对于发现Vth介于VH和VS之间的存储器单元,存储器单元被分配HB=0,但被视为不可靠的(SB=1)。需注意,在图10的实施方案中,仅检查这两个状态中的一个状态的软位数据,使得仅HB=0状态可具有任一SB值,而HB=1存储器单元将始终具有SB=0。换句话说,仅在该对重叠分布的一侧(对于HB=0而言,此处为较低侧)上而不在另一侧(对于HB=1而言,此处为高侧)上确定软位数据。在该实施方案中,在VH读取的左侧(较高Vth)执行单次VS读取,但在其他实施方案中,该布置可以反向。
尽管图10的实施方案中生成的总数据量小于图8的总数据量,但是图10的有效软感测模式通常将足以提取用户数据内容而不必求助于进一步读取错误处理。由于图10的确定中仅涉及两次读取,因此感测时间更短,并且通过作为单个感测操作进行这两次读取,可以更进一步减少感测时间,如相对于图12所描述。有效软感测所提供的增强的容错也可以改善写入性能,因为不需要那么准确地对数据进行编程,允许宽松的编程容限。
图11示出了在使用表2的编码的每一存储器单元三位数据的实施方案中将有效软感测模式应用于下页面数据。图11类似于图9A和图9B,但将HB和SB值组合成单个特征并且对有效软感测的给定HB读取电平使用单个SB读取电平,而不是给定HB的一对SB读取。例如,看一下Er状态与A状态的区分,对于左侧读取而言,左侧的存储器单元对于下页面值可靠地为“1”且(HB,SB)=(1,0),其中同样需注意,在该编码中,SB=0指示可靠HB值并且SB=1指示不可靠HB值。对于Er、A的右侧读取而言,右侧的存储器单元指示具有“0”的可靠下页面值或(HB,SB)=(0,0)的存储器单元。Vth介于左读取电平和右读取电平之间的存储器单元被分配0的下页面硬位值,但被视为不可靠的,因此(HB,SB)=(0,1)。类似地,对于用于区分D和E状态的读取而言,左读取左侧的存储器单元可靠地为“0”((HB,SB)=(0,0)),右读取上方的存储器单元是可靠下页面“1”数据((HB,SB)=(1,0)),并且两者之间的存储器单元被分配“1”的不可靠下页面值((HB,SB)=(1,1))。
图12示出了与图11所示的读取点相对应的有效软感测读取操作中的下页面数据读取操作的感测操作的实施方案。在顶部,图12示出了可应用于选择的存储器单元的字线的控制栅极读取电压VCGRV波形与每一单元3位的存储器单元的下页面数据的有效软感测的时间的关系,其中竖直虚线对应于四个读取点,这四个读取点也由图11中的虚线标记(但如将说明的,确定次序不同)。该波形下方示出了使用顶部的波形的这些读取如何对应于D和E状态分布的Vth值。
为了改善读取时间性能,图12的实施方案使用“颠倒次序的”读取模式,但其他实施方案可以使用标准次序。在标准读取次序中,向选择的存储器单元施加的读取电压从较低值开始并且一步步向上升。在颠倒次序的读取模式下,向选择的字线施加的控制栅极读取电压(VCGRV)最初斜线上升到高值,然后从较高Vth状态到较低Vth状态执行读取。在用于下页面读取的该示例中,在用于区分A状态与已擦除Er状态的读取之前执行用于区分D和E状态的读取。因此,在初始斜线上升之后,VCGRV电压下降到E状态读取电平(ER)的读取电平,然后下降到A状态读取电平(AR)。该次序可减少涉及读取序列操作的大部分额外开销(例如,启用电荷泵、使字线斜线上升等)所需的时间。
对于每个读取电压电平,执行两个感测操作以生成硬位和软值,从而允许比使用单独读取电压时更快的感测时间。参见图12底部的D和E状态分布,用于HB分界的虚线和用于SB分界的虚线均相对接近Vth值,但其中SB分界向右偏移到更高Vth值。因此,在一个实施方案中,如果读取电压ER被选择为使得HB和SB Vth值均在一定程度上传导但量不同,则该感测基于通过选择的存储器单元使电压放电。HB分界对应于较低Vth值,因为该点处的存储器单元将比SB分界处的存储器单元更具传导性,因此将更快放电,并且可以使用更短感测间隔来确定。以相同的控制栅极电压但更长的感测时间感测到更慢放电的SB分界点。
图13示出了可用于确定存储器单元的硬位值和软位值的感测放大器电路的实施方案。图13的感测放大器电路可以对应于图2A或图2B的感测放大器230并且包括到图3的结构中。在图13的实施方案中,通过以下方式确定存储器单元的状态:将感测线或节点SEN1305预充电到预确定的电平,将感测节点连接到偏置的选择的存储器单元的位线,并且确定节点SEN 1305在感测间隔内放电的程度。根据实施方案,多个变型形式是可能的,但图13的实施方案示出了一些典型元件。可以经由开关SPC 1323将节点SEN 1305预充电到电平VHLB,许多MOSFET开关的符号此处使用晶体管和对应控制信号的相同名称,其中可以由处理器330、状态机262和/或图2A、图2B和图3的实施方案的其他控制元件提供各种控制信号。节点SEN 1305可以沿着位线BL 1309经由开关XXL 1319至节点SCOM 1307连接到选择的存储器单元,然后在可能中间元件之后,连接到与存储器设备的解码和选择电路相对应的位线选择开关BLS 1327。SEN节点1305通过开关BLQ 1313连接到本地数据总线LBUS 1301,该本地数据总线继而可以经由开关DSW 1311连接到数据DBUS 1303。可以将开关LPC 1321预充电到电平VLPC,其中VHLB和VLPC的值取决于实施方案的详情和具体实施的细节。
在感测操作中,通过将其对应选择的字线设置到如上所述的读取电压电平来偏置选择的存储器单元。在NAND阵列具体实施中,选择的字线的NAND串的选择的栅极和未选择的字线也被偏置为导通。一旦该阵列被偏置,选择的存储器单元就将基于施加的读取电压与存储器单元的阈值电压的关系来传导电平。电容器1325可用于存储SEN节点1305上的电荷,其中在预充电期间,电平CLK(和电容器1325的下板)可被设置为低电压(例如,地电位或VSS),使得SEN节点1305上的电压以该低电压作为参考。选择的存储器的预充电的SEN节点1305经由XXL 1319和BLS 1327至选择的位线连接到对应位线1309,并且允许在感测间隔内放电到一定电平,该电平取决于存储器单元的阈值电压与向选择的存储器单元的控制栅极施加的电压电平的关系。在感测间隔结束时,可以断开XXL 1319以捕集SEN 1305上的所得电荷。此时,可以稍微升高CLK电平,使SEN 1305上的电压类似地升高,以考虑跨放电路径中的中间元件(诸如XXL 1319)的电压降。因此,控制晶体管1317导通的程度的SEN 1305上的电压电平将反映与施加的读取电压相关的选择的存储器单元的数据状态。还对本地数据LBUS 1301预充电,使得当选通晶体管STB 1315在选通间隔内接通时,LBUS将放电到CLK节点,如由SEN 1305上的电压电平确定。在选通间隔结束时,STB 1315断开以设置LBUS上的感测值并且可以将结果锁存到如图3所示的锁存器之一中。
现在重新参见图12,在将选择的存储器单元偏置到ER电压电平以及视需要的其他阵列偏置(选择栅极、未选择的字线等)之后,预充电的SEN节点1305在虚线之间的间隔ER内放电:如果SEN上的电平足够高以在STB 1315选通时使LBUS 1301放电,则存储器单元的Vth低于HB;如果电平不够高,则Vth高于HB。在附加间隔ER+内放电之后,STB 1315再次选通:如果LBUS 1301现在放电,则存储器单元的Vth介于HB和SB之间;如果不放电,则Vth高于SB。然后用AR电平处的VCGRV值重复该过程以确定用于区分A和已擦除状态的HB和SB值。
因此,在相对于图12所示的实施方案下,对于每个VCGRV电平,使用左感测结果来生成HB数据并且将右感测结果与左感测结果组合以生成SB数据。为了优化两次感测(左/右)的性能,图12的实施方案对Vth分隔使用“感测时间调制”而没有字线电压电平变化。
就有效软感测读取电平控制和参数而言,与读取参数的通常具体实施类似,这些可以被确定为设备表征过程的一部分并且被存储为寄存器值(诸如设置为存储装置266中的熔断值的控制数据参数),被动态地确定,或这些的某个组合。在一组实施方案中,用于有效软感测的硬位和软位读取电平可以以标准硬读取值作为参考。即使有效软感测读取过程用作默认读取操作,存储器设备通常也将具有标准读取(即,仅硬位)作为读取模式选项,使得图5A至图5C的标准读取值将可以作为读取选项使用。例如,重新参见图11以及与区分D和E状态分布相关的读取电平,可以相对于正常HB读取微调值来提及有效软感测电平,这些正常HB读取微调值表示为D状态和E状态分布的尖点处的较粗虚线。可以相对于正常HB读取电平来指定用于左读取(有效软感测硬位,负电平)和右读取(有效软感测软位,正电平)的有效软感测读取电平。这允许置位特征寄存器的重新使用以生成有效软感测左/右偏移,并且在一组实施方案中,通用设置可用于所有平面,其中单独设置用于每个状态。
图14是有效软感测操作的实施方案的高级流程图。在如上文相对于图1至图4J所描述的存储器***和相对于图12所描述的实施方案的上下文中描述该过程。该流程从步骤1401开始以在多个存储器单元上执行第一感测操作,从而确定区分存储器单元的两个数据状态的硬位值。在有效软感测实施方案中,步骤1401的硬位读取和步骤1403的软位读取均可以响应于单次读取命令。例如,重新参见图1,主机102和/或非易失性存储器控制器120可向存储器130中的一个或多个存储器发出有效软感测命令。然后***控制逻辑部件260(图2A和图2B)执行感测操作,诸如以上示例中的下数据页面的读取,以确定如图11所示的存储器单元的硬位值和软位值两者。
为了执行步骤1401的硬位确定,在上述实施方案中,针对读取操作来偏置存储器阵列并且对一个或多个对应感测放大器的感测节点预充电。更具体地讲,对于用作本文示例的实施方案,选择的存储器单元的控制栅极通过其对应字线偏置在用于区分数据状态的读取电压处,并且视需要基于存储器架构来偏置其他阵列元件(例如,NAND串的选择的栅极和未选择的字线)。当使用感测放大器(诸如图13的感测放大器)时,在使感测节点SEN 1305放电时确定数据状态的情况下,对感测节点SEN 1305预充电并且将该感测节点连接到选择的存储器单元的位线以在第一感测间隔(图12的ER(HB)分界区域)内放电,从而确定硬位值。
如相对于图11的实施方案所示,硬位确定偏移到较低Vth值,因此被感测为低于该值的存储器单元可靠地处于该值,而被感测为高于该值的存储器单元包括可靠硬位值和不可靠硬位值。在使用更传统次序感测的实施方案中,将首先执行用于硬位的硬位感测和接着用于区分Er和A状态的软位,之后是用于区分D和E状态的硬位和软位,其中这些中的每一者将涉及用于每个感测操作的不同偏置和感测节点预充电。在相对于图12所示的颠倒次序的感测操作中,首先确定用于D状态和E状态区分的硬位值和软位值,之后是Er和A状态的硬位值和软位值确定。尽管图14的流程在软位确定(步骤1403)之前呈现了硬位确定(步骤1401),但是在一些实施方案中该次序可颠倒。另外,图14的流程仅具有单个硬位和单个软位确定,在许多情况下(如图12中),将确定多个硬位/软位对。
在步骤1403处,执行第二感测操作以确定软位。在有效软感测过程中,这仅是为具有硬位值中的第一硬位值而非第二硬位值的存储器单元确定的可靠性信息。例如,在图11的实施方案中,当硬位分界向下偏移时,软位值仅用于硬位值中的较高硬位值。在相对于图12所描述的实施方案中,第二感测操作基于预充电的感测节点SEN 1305的更长放电时间。如果该读取涉及区分一对状态(诸如在二进制存储器单元实施方案中),则仅确定一个硬位、软位对。就多级存储器单元而言,如图11和图12中的以上示例中那样确定附加硬位、软位对,其中下页面感测操作还以与用于Er/A状态确定的步骤1401和1403类似的方式确定硬位、软位对。一旦确定硬位、软位数据值,它们就可以用于在步骤1405处执行ECC操作。这可以在ECC引擎158中的非易失性存储器控制器120上、在控制裸片211上或按这些的某个组合进行。
尽管相对于标准硬位、软位布置,有效软感测的使用减少了所确定的软位数据的量并因此减少了待传输到ECC引擎的软位数据的量,但是相对于仅使用硬位数据的情况,仍有显著的数据增加。为了减少从存储器裸片传输到ECC引擎所需的数据量,软位数据可以在通过总线结构传输到非易失性存储器控制器之前在存储器上压缩。以下讨论提出了用于压缩软位数据的技术。这些技术既可以应用于有效软感测又可以应用于标准软感测,但以下讨论将主要使用有效软感测实施方案的示例。
更具体地讲,下面提出的示例性实施方案将主要基于如上文相对于图10至图14所描述的有效软感测模式。如上所述,有效软感测模式可以在使用软位数据时减少性能下降,从而使得其作为默认读取模式是切实可行的,其中在一个读取序列中输出一个页面的硬位数据和一个页面的软位数据。然后将这些页面的软位和硬位数据传输到错误校正引擎以提取该页面用户数据的数据内容。在一些实施方案中,可以在图2B的控制裸片211或图2A的存储器裸片200上执行ECC操作的一部分或全部,但通常在非易失性存储器控制器120上的ECC引擎158上执行ECC操作,从而需要由接口269通过外部数据总线结构将读取硬位和软位数据传输到控制器120。以涉及的数据量为例,3D NAND存储器实施方案中来自单个平面的一个页面的数据可以是16KB的用户数据以及用于有缺陷存储器位置的对应奇偶位和冗余数据。因此,在不压缩的情况下,除了每个平面的16+千字节硬字节数据之外,还将传输每个平面的16+千字节软位数据。
为了保持存储器性能,软位数据可以在传输之前在存储器裸片200或控制裸片211上压缩。例如,如果使用压缩因子N,则传输的软位数据量减少1/N,因此压缩因子的选择是可供ECC引擎使用的软位数据的速度和量之间的折衷。多种压缩技术可以按不同压缩因子使用。例如,可以通过对四个软位的组中的软位数据进行逻辑与运算来实现N=4的压缩因子。尽管这不会指示对应硬位值的单独可靠性,但其将指示一组四个硬位值中的至少一个硬位值应被当作不可靠的。
图15是包括软位压缩元件在内的存储器设备的一些控制电路元件的实施方案的框图。所示的示例针对四平面存储器设备并且可以为每个平面重复大多数所示的元件,但其他实施方案可以使用更少或更多平面。根据实施方案,这些一个或多个控制电路可以如图2B那样位于接合到一个或多个存储器裸片201的控制裸片211上。在其他实施方案中,该一个或多个控制电路可以位于包含存储器阵列202的存储器裸片200上,诸如位于存储器裸片200的***上或形成在上述3D NAND存储器结构下方的衬底上。
在图15中,为了简化该图,仅标记了平面3 1501-2的公共块,但应当理解,公共块平面0 1501-0、平面1 1501-1、平面2 1501-2和平面3 1501-3中的每个平面均包括相应公共块1505、1507和1509。这些块对应于图2A和图2B的行控制电路220、列控制电路和***控制逻辑部件260的元件,但更表示这些元件在一些实施方案中如何物理地布置。每个平面的任一侧是行解码器1503-L和1503-R,这些行解码器可以对至平面的阵列的字线和选择线的连接进行解码并且可以对应于图2A和图2B的行解码器222和行控制电路220的其他元件。列控制电路1509可以对应于图2A和图2B的列控制电路210。列1509的列控制电路上方和下方的任一侧是一组感测放大器1505(包括内部数据锁存器)和高速缓存缓冲器1507。重新参见图3的感测放大器电路,1505的内部数据锁存器可以对应于ADL、BDL、CDL数据锁存器并且高速缓存缓冲器1507可以对应于传输数据锁存器XDL。尽管未标记,但是其他平面包括类似元件。相反,其他平面包括指示在平面的存储器单元与I/O接口之间传输的数据的数据流的箭头,其中类似传输也可以发生于平面3 1501-3中,但未示出以便可示出块的标记。
图15中呈现的该一个或多个控制电路还包括输入-输出或IO电路(包括IO焊盘1517)以及执行入站写入数据的(多位)串行至并行转换和出站读取数据的并行至(多位)串行转换的数据路径块1515。DP块1515连接到字节宽(在该示例中)IO焊盘1517以便通过外部数据总线向和从非易失性存储器控制器120传输数据。在图15的框图中,DP块1515和IO焊盘1517位于平面1 1501-1处。然而,这些元件可放置于任何这些平面上或分布于这些平面之间,但将这些元件定位在中心平面(平面1 1501-1或平面2 1501-2)之一上能减少布线。存储器设备内部的全局数据总线GDB 1511跨越这些平面,从而允许数据向和从单独平面和DP块1515传输。图15的竖直箭头示出了数据在感测放大器块1505上部与IO焊盘1517之间传输的数据流,其中这些箭头未对平面3 1501-3示出以允许块标记。在读取过程中,来自平面的存储器阵列的数据页面被感测放大器1505感测并且存储在对应内部数据锁存器中,然后移位到传输锁存器的高速缓存缓冲器1507中,并且继续经过列1509的控制电路的解码到达全局数据总线1511。然后硬位数据从全局数据总线1511继续经过DP块1515以布置成(字节宽)串行数据以便通过IO焊盘1517向外传输。当写入数据时,可以使数据流沿着硬位数据所使用的路径反向。
刚才描述并且如图15中的箭头(包括从全局数据总线1511到DP块1515的箭头)所指示的读取流不包括压缩并且可以用于硬位数据页面。对于对应软位数据页面,如果以未压缩形式传输,则这些页面将跟随相同路径。为了包括对软位数据的压缩,在即时压缩实施方案中,这些页面可以替代地先从全局数据总线1511到达软位压缩块SBC 1513,再进入DP块1515以便转换成通过IO焊盘1517传输的(字节宽)串行格式。逻辑控件1519(包括SBC1513的控件)可以控制压缩的操作并且还控制DP 1515。尽管在图15中示出为单独块,但是逻辑控件1519可以是位于一个或多个平面区域上的***控制逻辑部件260的一部分并在图15的框图中示出为处于平面3 1501-3中,但可以位于裸片的其他区域中。该布置不对不同平面之中的压缩操作施加限制并且具有小面积代价(area penalty),因为其可以由逻辑电路实现。
在图15的布置中,读取硬位数据可以从这些平面传输到全局数据总线1511,进入DP 1515的FIFO以转换成串行格式,并且通过IO焊盘1517以存储器***的标准接口速度向外传输。对于从全局数据总线1511进入SBC电路1513的软位而言,可以使用与硬位相同的数据速率,但由于压缩,从SBC电路1513输出的数据速率将降低。例如,如果使用N=4的压缩因子,则进入SBC电路1513的每4个字节数据将被压缩成1个字节。为了让在全局数据总线1511与DP 1515之间传输的数据对于硬位和软位具有相同宽度,在即时压缩方案中,软位数据将进入SBC电路1513,被压缩,被缓冲,并且被编译成正确位数,然后以减小的速度传输到DP1515的FIFO上。例如,如果压缩因子N=4并且来自全局数据总线的数据宽度为192位,则192位在SBC电路1513中被压缩到48位并被缓冲。重复该操作四次以累积192位压缩的软位数据,然后将该数据传输到DP 1515上。因此,压缩的软位数据的输出将处于相对于硬位数据而言更低的速度。这相对于图16和图17更详细示出。
图16是示出用于将即时软位压缩定位到数据路径中的一个实施方案的框图。在顶部,图16包括用于平面之一的高速缓存缓冲器1507和列控制电路1509。重新参见图2A和图2B,这些元件是列控制电路210的部件,其中图3的细节示出了可以对应于高速缓存缓冲器1507的传输数据锁存器XDL(锁存器组340、342、344、346内)。如上文更详细描述,以页面的形式从存储器单元读取数据(硬位数据和软位数据两者),这些页面将包括用户数据以及用于有缺陷存储器单元的奇偶位和冗余数据。这些页面由控制电路基于读取时钟速度来选择和读取并且存储到高速缓存缓冲器1507中并作为2字节字以第一时钟速度传输到列控制电路1509。数据可以以更高速率(例如以双倍数据速率)从列控制电路1509传输到全局数据总线GDB 1511上。在图15的架构中,全局数据总线GDB 1511跨越所有平面,使得高速缓存缓冲器1507和列控制电路1509可以对应于裸片上的任何平面。读取数据从全局数据总线GDB1511传输到***DP块1515中,其在此转换成(字节宽)串行格式,加载到FIFO中,并且通过接口1517的焊盘以接口数据速率向外传输。全局数据总线GDB 1511与DP 1515之间的路径包括用于SBC电路1513的标准数据路径和并行数据路径,该SBC电路用于实现软位数据的即时压缩。这两个路径为相同宽度,使得压缩的软位数据可以使用IO焊盘1517的全宽度。在该示例中,宽度为12字=192位,但这些并行传输的宽度将因实施方案而不同,并且相对于从列控制电路1509的传输速率而言处于相应增加的时钟速率。尽管在附图中表示为单独电路块,但是根据实施方案,SBC电路1513可以与其他控制电路元件的逻辑电路部分地或完全地集成并且被实现为硬件、固件、软件或这些的各种组合。
图17更详细示出了全局数据总线GDB 1511与DP 1515之间的并行路径。(在该示例中)192位的数据路径从全局数据总线GDB 1511进入多路复用器MUX 1521,该多路复用器诸如从控制***逻辑部件260接收控制信号“SBC启用”。(未示出可涉及该传输的其他控制电路。)当SBC信号未被断言(诸如对于硬位数据)时,MUX 1521将该数据以其进入MUX1521的相同宽度和相同时钟速率传递到DP 1515。如果SBC信号被断言(诸如对于软位数据),则MUX1521将该数据同样以其进入MUX 1521的相同宽度和相同时钟速率传递到SBC电路1513。为了对输入到DP块1515中的数据宽度保持相同宽度,SBC电路1513的输出同样处于192位,但由于压缩,处于更低传输速率。尽管此处提出的压缩结构和技术用于软位数据的压缩,但是它们也可以应用于其他数据。
尽管此处主要在有效软感测的上下文中提出,但是即时压缩也可以应用于相对于图8、图9A和图9B描述的通常软位数据。在任一种情况下,压缩度可以基于应用和固定或可设置的参数(诸如在设备初始化时可设置的寄存器值)来选择。压缩度是压缩的软位数据的分辨率和传输速率之间的折衷。如果压缩度为N,则在即时过程中接收、压缩并累积N组(在该示例中)192位数据,然后将压缩数据以相对于未压缩的硬位路径的1/N的速率传输到DP1515上。
因此,由于软位数据的压缩,可以从IO接口焊盘1517切换软位数据的速率相对于硬位数据降低。根据实施方案,这可以以不同方式处理。例如,在一组实施方案中,硬位数据可以以比软位数据更高的切换速率传输到ECC引擎。在其他实施方案中,硬位数据可以以与软位数据相同的速率切换,其中该选择可以基于诸如性能要求和压缩比的因素。在这些实施方案中的任何实施方案中,存储器可以循环经过平面执行读取硬位和软位数据的阶段并使这些阶段重叠,通过这些结构传输到全局数据总线GDB 1511,压缩软位数据,并且将硬位和压缩的软位数据传输到ECC引擎上。
图18是软位数据的即时压缩方案的一个实施方案的流程图。在步骤1801处,从存储器的平面(1501-0,1501-1,1501-2,1501-3)之一读取硬位数据和对应软位数据的页面。根据实施方案,这可以是如相对于图14所描述的基于图10至图13中呈现的有效软感测读取的有效软感测读取,或图8、图9A和图9B所示的标准硬位、软位布置。在任一种情况下,由感测放大器读取数据并且将数据加载到对应平面的内部数据锁存器1505中,然后移位到该平面的高速缓存缓冲器1507中。
在步骤1803处,将硬位和软位数据从高速缓存缓冲器1507向外传输到全局数据总线1511,并且在步骤1805处,从全局数据总线1511传输到***接口电路DP 1515,如上文相对于图16和图17所描述。作为步骤1805的一部分,由SBC电路1513压缩软位数据,其中传入软位数据被压缩达因子N,其中在被传输到DP 1515上之前N个单位的传入数据被压缩并被累积。在***接口电路DP 1515中,在步骤1807处将硬位和压缩的软位数据从并行格式转换成(字节宽)串行格式,其中串行格式数据被加载到FIFO中以等待通过IO焊盘1517向外传输。在步骤1809处,将硬位和压缩的软位通过IO焊盘1517跨总线结构传输到ECC引擎,诸如非易失性存储器控制器120的ECC引擎158,其中ECC引擎158在步骤1811处执行ECC操作以提取(或试图提取)该页面的数据内容。尽管图18并行地示出了硬位路径和软位路径,但这些通常不同时进行;相反,如上所述,硬位数据将首先从步骤1801前进到1809,之后是软位数据从步骤1801前进到1809(包括步骤1806)。然后一旦硬位和压缩的软位数据处于ECC引擎,就接着进行步骤1811。
根据第一组方面,非易失性存储器设备包括控制电路,该控制电路被配置为连接到非易失性存储器单元的一个或多个平面,其中该控制电路包括:第一高速缓存缓冲器,该第一高速缓存缓冲器被配置为存储从该一个或多个平面中的第一平面读取的数据;输入-输出接口,该输入-输出接口被配置为将数据从并行格式转换为串行格式并且将串行格式数据提供给外部数据总线;内部数据总线,该内部数据总线被配置为将数据以并行格式从第一高速缓存缓冲器传输到输入-输出接口;以及压缩电路,该压缩电路被配置为对从内部数据总线传输到输入-输出接口的数据进行压缩。该控制电路被配置为:从第一平面读取硬位数据和对应软位数据的页面并且将硬位数据和对应软位数据的读取页面存储在第一高速缓存缓冲器中;并且将硬位数据和对应软位数据的页面通过内部数据总线沿着用于硬位数据页面的第一路径并沿着用于对应软位数据的第二路径以并行格式从第一高速缓存缓冲器传输到输入-输出接口,该第二路径包括在压缩电路中压缩对应软位数据。
在另外的方面,方法包括读取存储在非易失性存储器单元中的数据页面以确定存储在非易失性存储器单元的页面中的数据的硬位值和对应软位值,并且将硬位值和对应软位值以并行数据格式传输到输入-输出接口。将硬位值和对应软位值以并行数据格式传输到输入-输出接口包括:以并行数据格式接收对应软位值;压缩接收的对应软位值;并且将压缩的对应软位值提供给输入-输出接口。该方法还包括通过输入-输出接口传输硬位值和压缩的对应软位值。
附加方面包括非易失性存储器设备,该非易失性存储器设备包括:非易失性存储器单元的多个平面;多个高速缓存缓冲器,每个高速缓存缓冲器与平面中的对应平面相关联;全局数据总线,该全局数据总线能够连接到多个高速缓存缓冲器并且被配置为从多个高速缓存缓冲器传输;接口,该接口被配置为将数据从全局数据总线传输到外部数据总线;以及一个或多个控制电路。该一个或多个控制电路被配置为:从这些平面中的第一平面读取硬位数据和对应软位数据的页面并且将硬位数据和对应软位数据的读取页面存储在对应高速缓存缓冲器中;并且将硬位数据和对应软位数据的页面通过全局数据总线从高速缓存缓冲器传输到接口,包括:从全局数据总线接收对应软位数据;压缩接收的对应软位数据;并且将压缩的对应软位数据提供给接口。
出于本文件的目的,说明书中提到“实施方案”、“一个实施方案”、“一些实施方案”或“另一个实施方案”可用于描述不同的实施方案或相同的实施方案。
出于本文件的目的,连接可为直接连接或间接连接(例如,经由一个或多个其它部件)。在一些情况下,当提到元件连接或耦接到另一个元件时,该元件可直接连接到另一个元件,或者经由中间元件间接连接到另一个元件。当元件被提及直接连接至另一个元件时,则在该元件与另一个元件之间没有居间元件。如果两个设备是直接连接或间接连接的,则两个设备是“通信”的,使得它们能够在它们之间进行电子信号通信。
出于本文档的目的,术语“基于”可理解为“至少部分地基于”。
出于本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能不意味着对象的排序,而是可用于识别目的以识别不同的对象。
出于本文档的目的,对象的术语“组”可指一个或多个对象的“组”。
出于说明和描述的目的,已提供了上述详细描述。其并非旨在详尽的或旨在限制本发明所公开的精确形式。根据以上教导内容,很多修改和变型都是可能的。选择所述实施方案以便最好地解释所建议的技术的原理及其实际应用,从而使本领域的其他技术人员能够在各种实施方案中和适合于设想的具体使用的各种修改中最好地利用它。本发明的范围旨在由所附权利要求书限定。
Claims (20)
1.一种非易失性存储器设备,包括:
控制电路,所述控制电路被配置为连接到非易失性存储器单元的一个或多个平面,所述控制电路包括:
第一高速缓存缓冲器,所述第一高速缓存缓冲器被配置为存储从所述一个或多个平面中的第一平面读取的数据;
输入-输出接口,所述输入-输出接口被配置为将数据从并行格式转换为串行格式并且将所述串行格式数据提供给外部数据总线;
内部数据总线,所述内部数据总线被配置为将数据以所述并行格式从所述第一高速缓存缓冲器传输到所述输入-输出接口;和
压缩电路,所述压缩电路被配置为对从所述内部数据总线传输到所述输入-输出接口的数据进行压缩,
其中所述控制电路被配置为:
从所述第一平面读取硬位数据和对应软位数据的页面并且将硬位数据和对应软位数据的所述读取页面存储在所述第一高速缓存缓冲器中;以及
将硬位数据和对应软位数据的所述页面通过所述内部数据总线沿着用于所述硬位数据页面的第一路径并沿着用于所述对应软位数据的第二路径以并行格式从所述第一高速缓存缓冲器传输到所述输入-输出接口,所述第二路径包括在所述压缩电路中压缩所述对应软位数据。
2.根据权利要求1所述的非易失性存储器设备,其中所述控制电路形成在控制裸片上,所述非易失性存储器设备还包括:
存储器裸片,所述存储器裸片包括非易失性存储器单元的所述一个或多个平面,所述存储器裸片与所述控制裸片单独形成并且接合到所述控制裸片。
3.根据权利要求1所述的非易失性存储器设备,其中所述控制电路被进一步配置为:
将硬位数据和所述压缩的对应软位数据的所述页面转换成串行格式;以及
通过所述外部数据总线以所述串行格式传输硬位数据和所述压缩的对应软位数据的所述转换的页面。
4.根据权利要求3所述的非易失性存储器设备,其中所述串行格式为字节宽串行格式。
5.根据权利要求1所述的非易失性存储器设备,其中所述一个或多个平面为包括所述第一平面的多个平面,所述控制电路还包括:
多个高速缓存缓冲器,所述多个高速缓存缓冲器包括所述第一高速缓存缓冲器,每个高速缓存缓冲器被配置为存储从对应平面读取的数据,其中所述内部数据总线被配置为将数据以所述并行格式从每个所述对应高速缓存缓冲器传输到所述输入-输出接口。
6.根据权利要求1所述的非易失性存储器设备,其中为了从所述第一平面读取硬位数据和对应软位数据的页面,所述控制电路被配置为:
在读取电平下执行硬位读取操作,所述硬位读取操作被配置为为所述页面的一个或多个选择的非易失性存储器单元中的每一者确定硬位值,所述硬位值指示所述存储器单元是可靠地处于第一数据状态还是在第二数据状态下不可靠;以及
执行软位读取操作,所述软位读取操作被配置为为被确定为处于所述第二数据状态的每个所述选择的存储器单元但不为被确定为处于所述第一数据状态的存储器单元生成指示可靠性值的对应软位值。
7.根据权利要求1所述的非易失性存储器设备,其中所述控制电路被进一步配置为:
在所述输入-输出接口处以串行格式接收写入数据;
将所述接收的写入数据转换成并行格式;
将所述接收的写入数据通过所述内部数据总线沿着所述第一路径以所述并行格式传输到所述第一高速缓存缓冲器;以及
将来自所述第一高速缓存缓冲器的所述接收的写入数据编程到所述第一平面中。
8.根据权利要求1所述的非易失性存储器设备,其中在压缩所述对应软位数据中,所述控制电路被进一步配置为:
在所述压缩电路处以所述并行格式从所述内部数据总线接收所述对应软位数据;
对从所述内部数据总线接收到的所述对应软位数据进行压缩;
累积所述压缩的对应软位数据;以及
将所述累积的压缩的对应软位数据以所述并行格式提供给所述输入-输出接口。
9.根据权利要求8所述的非易失性存储器设备,其中所述控制电路还包括:
复用电路,所述复用电路连接在所述内部数据总线与所述输入-输出接口之间并且被配置为响应于控制信号而将接收的数据导向到所述第一路径或所述第二路径,
其中所述控制电路被配置为:
生成所述控制信号。
10.根据权利要求1所述的非易失性存储器设备,其中所述压缩电路被实现为所述控制电路内的逻辑电路。
11.一种方法,包括:
读取存储在非易失性存储器单元中的数据页面以便为存储在所述非易失性存储器单元的所述页面中的所述数据确定硬位值和对应软位值;
将所述硬位值和对应软位值以并行数据格式传输到输入-输出接口,包括:
以所述并行数据格式接收所述对应软位值;
压缩所述接收的对应软位值;以及
将所述压缩的对应软位值提供给所述输入-输出接口,以及
通过所述输入-输出接口传输所述硬位值和压缩的对应软位值。
12.根据权利要求11所述的方法,其中压缩所述接收的对应软位值包括:
累积所述压缩的对应软位值;以及
将所述压缩的对应软位值以所述并行数据格式提供给所述输入-输出接口。
13.根据权利要求11所述的方法,其中读取存储在非易失性存储器单元中的所述数据页面以便为存储在所述非易失性存储器单元的所述页面中的所述数据确定硬位值和对应软位值包括:
在读取电平下执行硬位读取操作,所述硬位读取操作被配置为为所述页面的一个或多个选择的非易失性存储器单元中的每一者确定硬位值,所述硬位值指示所述存储器单元是可靠地处于第一数据状态还是在第二数据状态下不可靠;以及
执行软位读取操作,所述软位读取操作被配置为为被确定为处于所述第二数据状态的每个所述选择的存储器单元但不为被确定为处于所述第一数据状态的存储器单元生成指示可靠性值的对应软位值。
14.根据权利要求11所述的方法,其中所述非易失性存储器单元形成在接合到控制裸片的存储器裸片上,所述控制裸片与所述存储器裸片单独形成,并且其中读取存储在非易失性存储器单元中的数据页面以便为存储在所述非易失性存储器单元的所述页面中的所述数据确定硬位值和对应软位值包括将来自所述控制裸片的电压电平施加到所述存储器裸片。
15.根据权利要求11所述的方法,其中通过所述输入-输出接口传输所述硬位值和压缩的对应软位值包括:
将所述硬位值和压缩的对应软位值转换成串行格式并且以所述串行格式传输所述硬位值和压缩的对应软位值。
16.根据权利要求11所述的方法,其中所述串行格式为字节宽串行格式。
17.一种非易失性存储器设备,包括:
非易失性存储器单元的多个平面;
多个高速缓存缓冲器,每个高速缓存缓冲器与所述平面中的对应平面相关联;
全局数据总线,所述全局数据总线能够连接到所述多个高速缓存缓冲器并且被配置为从所述多个高速缓存缓冲器传输;
接口,所述接口被配置为将从所述全局数据总线接收的数据传输到外部数据总线;和
一个或多个控制电路,所述一个或多个控制电路被配置为:
从所述平面中的第一平面读取硬位数据和对应软位数据的页面并且将硬位数据和对应软位数据的所述读取页面存储在所述对应高速缓存缓冲器中;以及
将硬位数据和对应软位数据的所述页面通过所述全局数据总线从所述高速缓存缓冲器传输到所述接口,包括:
从所述全局数据总线接收所述对应软位数据;
压缩所述接收的对应软位数据;以及
将所述压缩的对应软位数据提供给所述接口。
18.根据权利要求17所述的非易失性存储器设备,其中为了读取硬位数据和对应软位数据的所述页面,所述一个或多个控制电路被配置为:
在读取电平下执行硬位读取操作,所述硬位读取操作被配置为为所述页面的一个或多个选择的非易失性存储器单元中的每一者确定硬位值,所述硬位值指示所述存储器单元是可靠地处于第一数据状态还是在第二数据状态下不可靠;以及
执行软位读取操作,所述软位读取操作被配置为为被确定为处于所述第二数据状态的每个所述选择的存储器单元但不为被确定为处于所述第一数据状态的存储器单元生成指示可靠性值的对应软位值。
19.根据权利要求17所述的非易失性存储器设备,其中:
所述一个或多个控制电路被进一步配置为将所述硬位数据和对应软位数据通过所述全局数据总线以并行格式从所述高速缓存缓冲器传输到所述接口;
所述接口被进一步配置为将所述硬位数据和对应压缩的软位数据的所述传输从并行格式转换为串行格式;并且
所述一个或多个控制电路被进一步配置为将所述硬位数据和对应压缩的软位数据以所述串行格式从所述接口传输到外部数据总线上。
20.根据权利要求17所述的非易失性存储器设备,其中为了压缩所述接收的对应软位数据,所述一个或多个控制电路被进一步配置为:
以并行格式接收所述对应软位数据;
压缩所述接收的对应软位数据;
累积所述压缩的对应软位数据;以及
将所述压缩的对应软位数据以所述并行格式提供给所述接口。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163244951P | 2021-09-16 | 2021-09-16 | |
US63/244,951 | 2021-09-16 | ||
US17/557,428 US11971829B2 (en) | 2021-09-16 | 2021-12-21 | On-the-fly compression scheme for soft bit data in non-volatile memory |
US17/557,428 | 2021-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827510A true CN115827510A (zh) | 2023-03-21 |
Family
ID=85284636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210565632.7A Pending CN115827510A (zh) | 2021-09-16 | 2022-05-23 | 非易失性存储器中的软位数据的即时压缩方案 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11971829B2 (zh) |
CN (1) | CN115827510A (zh) |
DE (1) | DE102022113172A1 (zh) |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341382A (en) | 1991-06-19 | 1994-08-23 | Sun Microsystems, Inc. | Method and apparatus for improving fault coverage of system logic of an integrated circuit with embedded memory arrays |
KR100758306B1 (ko) * | 2005-12-08 | 2007-09-12 | 한국전자통신연구원 | 소프트 비트 매트릭 발생 장치 및 그 방법과 그를 이용한다치 레벨 qam 수신시스템 |
US9032269B2 (en) | 2011-07-22 | 2015-05-12 | Sandisk Technologies Inc. | Systems and methods of storing data |
US8456919B1 (en) | 2011-11-10 | 2013-06-04 | Sandisk Technologies Inc. | Method and apparatus to provide data including hard bit data and soft bit data to a rank modulation decoder |
US20140003176A1 (en) | 2012-06-28 | 2014-01-02 | Man Lung Mui | Compact High Speed Sense Amplifier for Non-Volatile Memory with Reduced layout Area and Power Consumption |
US20140071761A1 (en) | 2012-09-10 | 2014-03-13 | Sandisk Technologies Inc. | Non-volatile storage with joint hard bit and soft bit reading |
KR102123946B1 (ko) | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
US9214965B2 (en) * | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
KR102149668B1 (ko) | 2014-04-22 | 2020-08-31 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 디코딩 방법 |
US9318194B1 (en) | 2014-09-29 | 2016-04-19 | Sandisk 3D Llc | Apparatus and methods for sensing hard bit and soft bits |
US9576673B2 (en) | 2014-10-07 | 2017-02-21 | Sandisk Technologies Llc | Sensing multiple reference levels in non-volatile storage elements |
US9484089B2 (en) | 2014-10-20 | 2016-11-01 | Sandisk Technologies Llc | Dual polarity read operation |
US9489141B2 (en) | 2014-12-18 | 2016-11-08 | Nimble Storage, Inc. | Efficient scheduling of Input/Output requests to reduce latency and maximize throughput in a flash storage device |
US10474525B2 (en) * | 2015-08-11 | 2019-11-12 | Sandisk Technologies Llc | Soft bit techniques for a data storage device |
US9978462B2 (en) * | 2015-10-29 | 2018-05-22 | Sandisk Technologies Llc | Partial soft bit read |
US10432232B2 (en) | 2016-03-04 | 2019-10-01 | Sandisk Technologies Llc | Multi-type parity bit generation for encoding and decoding |
KR102471601B1 (ko) | 2016-05-17 | 2022-11-29 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 위크 셀 검출 방법 |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
KR102671937B1 (ko) * | 2017-01-10 | 2024-06-05 | 에스케이하이닉스 주식회사 | 멀티 플레인을 포함하는 비휘발성 메모리 장치 |
US10372353B2 (en) * | 2017-05-31 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods to control memory operations on buffers |
KR20190022987A (ko) | 2017-08-25 | 2019-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
JP7141858B2 (ja) | 2018-06-13 | 2022-09-26 | ラピスセミコンダクタ株式会社 | 半導体装置 |
JP2020047312A (ja) * | 2018-09-14 | 2020-03-26 | キオクシア株式会社 | メモリシステム |
TW202036570A (zh) | 2019-03-27 | 2020-10-01 | 大陸商深圳大心電子科技有限公司 | 資料讀取方法、儲存控制器與儲存裝置 |
DE112019007371T5 (de) | 2019-05-31 | 2022-03-03 | Micron Technology, Inc. | Eine mit einem system-on-chip gekoppelte speichergerätearchitektur |
JP2021111425A (ja) | 2020-01-10 | 2021-08-02 | キオクシア株式会社 | メモリシステム |
KR20210128704A (ko) | 2020-04-17 | 2021-10-27 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
US11276473B2 (en) | 2020-08-07 | 2022-03-15 | Micron Technology, Inc. | Coarse calibration based on signal and noise characteristics of memory cells collected in prior calibration operations |
US11620050B2 (en) | 2020-09-25 | 2023-04-04 | Sandisk Technologies Llc | Soft data compression for non-volatile memory |
US11456754B2 (en) * | 2020-10-13 | 2022-09-27 | Western Digital Technologies, Inc. | Fixed size soft bit lossy compression in flash memory |
KR20220080790A (ko) | 2020-12-07 | 2022-06-15 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
US11631472B2 (en) | 2020-12-17 | 2023-04-18 | Texas Instruments Incorporated | Built-in memory repair with repair code compression |
US11640308B2 (en) | 2021-02-19 | 2023-05-02 | Macronix International Co., Ltd. | Serial NAND flash with XiP capability |
-
2021
- 2021-12-21 US US17/557,428 patent/US11971829B2/en active Active
-
2022
- 2022-05-23 CN CN202210565632.7A patent/CN115827510A/zh active Pending
- 2022-05-24 DE DE102022113172.6A patent/DE102022113172A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US11971829B2 (en) | 2024-04-30 |
DE102022113172A1 (de) | 2023-03-16 |
US20230083903A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113284538A (zh) | 具有程序验证跳过的非易失性存储器 | |
CN116888670A (zh) | 用于字线开关晶体管的具有多个阱的非易失性存储器 | |
CN114765045A (zh) | 在电路之间具有存储器阵列的非易失性存储器 | |
US11698750B2 (en) | Smart re-use of parity buffer | |
US11894068B2 (en) | Efficient sensing of soft bit data for non-volatile memory | |
US11791001B2 (en) | Non-volatile memory with updating of read compare voltages based on measured current | |
US11776589B2 (en) | Vertical compression scheme for compressed soft bit data in non-volatile memories with data latch groups | |
CN115809019A (zh) | 使用数据锁存器对非易失性存储器中的软位数据进行平面级压缩 | |
US11538534B1 (en) | Soft bit reference level calibration using decoded data | |
US11670380B2 (en) | Two-sided adjacent memory cell interference mitigation | |
CN117652021A (zh) | 具有高效信号路由的非易失性存储器 | |
CN118235203A (zh) | 具有有效字线钩接的非易失性存储器 | |
US20220383956A1 (en) | Non-volatile memory with speed control | |
US11971829B2 (en) | On-the-fly compression scheme for soft bit data in non-volatile memory | |
US11971826B2 (en) | Architecture and data path options for compression of soft bit data in non-volatile memories | |
US11901019B2 (en) | Use of data latches for compression of soft bit data in non-volatile memories | |
US11862249B2 (en) | Non-volatile memory with staggered ramp down at the end of pre-charging | |
US11816353B2 (en) | Parity data for non-volatile storage | |
US11393540B2 (en) | Adjacent memory cell interference mitigation | |
US20240105262A1 (en) | Non-volatile memory with sub-planes having individually biasable source lines | |
CN118302815A (zh) | 具备平面独立筛选的非易失性存储器 | |
CN115827306A (zh) | 用于非易失性存储器中的经压缩软位数据的即时多路复用方案 | |
CN118284938A (zh) | 具有用于慢平面上的最后状态的增强编程操作的非易失性存储器 | |
CN118318272A (zh) | 在擦除期间进行高效测试的非易失性存储器 | |
CN118235207A (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 |