CN113625941A - 集成存储器组件的自适应折叠 - Google Patents

集成存储器组件的自适应折叠 Download PDF

Info

Publication number
CN113625941A
CN113625941A CN202110366827.4A CN202110366827A CN113625941A CN 113625941 A CN113625941 A CN 113625941A CN 202110366827 A CN202110366827 A CN 202110366827A CN 113625941 A CN113625941 A CN 113625941A
Authority
CN
China
Prior art keywords
data
die
memory
control
semiconductor die
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
CN202110366827.4A
Other languages
English (en)
Inventor
E.沙隆
A.巴扎斯基
I.阿尔罗德
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies 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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN113625941A publication Critical patent/CN113625941A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/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/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
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies 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/04Assemblies 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/065Assemblies 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/0657Stacked arrangements of devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • 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/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/02Bonding areas; Manufacturing methods related thereto
    • H01L2224/04Structure, shape, material or disposition of the bonding areas prior to the connecting process
    • H01L2224/04026Bonding areas specifically adapted for layer connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/02Bonding areas; Manufacturing methods related thereto
    • H01L2224/04Structure, shape, material or disposition of the bonding areas prior to the connecting process
    • H01L2224/05Structure, shape, material or disposition of the bonding areas prior to the connecting process of an individual bonding area
    • H01L2224/0554External layer
    • H01L2224/0556Disposition
    • H01L2224/0557Disposition the external layer being disposed on a via connection of the semiconductor or solid-state body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/02Bonding areas; Manufacturing methods related thereto
    • H01L2224/07Structure, shape, material or disposition of the bonding areas after the connecting process
    • H01L2224/08Structure, shape, material or disposition of the bonding areas after the connecting process of an individual bonding area
    • H01L2224/081Disposition
    • H01L2224/0812Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding
    • H01L2224/08135Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding the bonding area connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/08145Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding the bonding area connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/02Bonding areas; Manufacturing methods related thereto
    • H01L2224/07Structure, shape, material or disposition of the bonding areas after the connecting process
    • H01L2224/08Structure, shape, material or disposition of the bonding areas after the connecting process of an individual bonding area
    • H01L2224/081Disposition
    • H01L2224/0812Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding
    • H01L2224/08135Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding the bonding area connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/08145Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding the bonding area connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • H01L2224/08146Disposition the bonding area connecting directly to another bonding area, i.e. connectorless bonding, e.g. bumpless bonding the bonding area connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked the bonding area connecting to a via connection in the body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/12Structure, shape, material or disposition of the bump connectors prior to the connecting process
    • H01L2224/13Structure, shape, material or disposition of the bump connectors prior to the connecting process of an individual bump connector
    • H01L2224/13001Core members of the bump connector
    • H01L2224/1302Disposition
    • H01L2224/13025Disposition the bump connector being disposed on a via connection of the semiconductor or solid-state body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/12Structure, shape, material or disposition of the bump connectors prior to the connecting process
    • H01L2224/13Structure, shape, material or disposition of the bump connectors prior to the connecting process of an individual bump connector
    • H01L2224/13001Core members of the bump connector
    • H01L2224/13099Material
    • H01L2224/131Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof
    • H01L2224/13138Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof the principal constituent melting at a temperature of greater than or equal to 950°C and less than 1550°C
    • H01L2224/13147Copper [Cu] as principal constituent
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16135Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/16145Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16135Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/16145Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • H01L2224/16146Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked the bump connector connecting to a via connection in the semiconductor or solid-state body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/28Structure, shape, material or disposition of the layer connectors prior to the connecting process
    • H01L2224/29Structure, shape, material or disposition of the layer connectors prior to the connecting process of an individual layer connector
    • H01L2224/29001Core members of the layer connector
    • H01L2224/29099Material
    • H01L2224/2919Material with a principal constituent of the material being a polymer, e.g. polyester, phenolic based polymer, epoxy
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L2224/32Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
    • H01L2224/321Disposition
    • H01L2224/32135Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/32145Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L2224/33Structure, shape, material or disposition of the layer connectors after the connecting process of a plurality of layer connectors
    • H01L2224/331Disposition
    • H01L2224/3318Disposition being disposed on at least two different sides of the body, e.g. dual array
    • H01L2224/33181On opposite sides of the body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/4805Shape
    • H01L2224/4809Loop shape
    • H01L2224/48091Arched
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48105Connecting bonding areas at different heights
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48135Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/48145Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48135Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/48145Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • H01L2224/48147Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked with an intermediate bond, e.g. continuous wire daisy chain
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means 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
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48151Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/48221Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/48225Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/48227Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation connecting the wire to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73201Location after the connecting process on the same surface
    • H01L2224/73203Bump and layer connectors
    • H01L2224/73204Bump and layer connectors the bump connector being embedded into the layer connector
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73201Location after the connecting process on the same surface
    • H01L2224/73215Layer and wire connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73253Bump and layer connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73257Bump and wire connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73265Layer and wire connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06506Wire or wire-like electrical connections between devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/0651Wire or wire-like electrical connections from device to substrate
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06513Bump or bump-like direct electrical connections between devices, e.g. flip-chip connection, solder bumps
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06517Bump or bump-like direct electrical connections from device to substrate
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06541Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06555Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking
    • H01L2225/06558Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking the devices having passive surfaces facing each other, i.e. in a back-to-back arrangement
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06555Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking
    • H01L2225/06562Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking at least one device in the stack being rotated or offset
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06555Geometry of the stack, e.g. form of the devices, geometry to facilitate stacking
    • H01L2225/06565Geometry 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means 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/02Bonding areas ; Manufacturing methods related thereto
    • H01L24/07Structure, shape, material or disposition of the bonding areas after the connecting process
    • H01L24/08Structure, shape, material or disposition of the bonding areas after the connecting process of an individual bonding area
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means 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/10Bump connectors ; Manufacturing methods related thereto
    • H01L24/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L24/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种非易失性存储系统包含连接到集成存储器组件的存储器控制器。所述集成存储器组件包含包括非易失性存储器单元的存储器裸片和接合到所述存储器裸片的控制裸片。所述存储器控制器将数据提供到所述控制裸片以用于所述存储器裸片上的存储。数据最初作为每存储器单元单个位数据存储在所述存储器裸片上,以提升编程过程的性能。随后,所述控制裸片执行自适应折叠过程,所述自适应折叠过程包括从所述存储器裸片读取所述每存储器单元单个位数据、自适应地执行多个解码选项中的一个以及将所述数据作为每存储器单元多个位数据编程回到所述存储器裸片。

Description

集成存储器组件的自适应折叠
背景技术
便携式消费型电子装置需求的强劲增长正推动对大容量存储装置的需求。例如快闪存储器的非易失性半导体存储装置广泛用于满足对数字信息存储和交换的不断增长的需求。其便携性、通用性和坚固设计,连同其高可靠性和大容量已使这类存储装置成为用于广泛多种电子装置(包含例如数码相机、数字音乐播放器、视频游戏控制台、PDA、蜂窝电话、笔记本电脑和服务器)的理想之选。
非易失性半导体存储装置通常包含由通信路径(例如,总线)连接到一或多个存储器裸片的存储器控制器。每一存储器裸片通常包含非易失性存储器单元阵列,其中所述存储器单元是存储的基本单元。在一些实施例中,存储器单元存储一个位的数据(称为每存储器单元单个位数据)。在其它实施例中,存储器单元存储多个位的数据(称为每存储器单元多个位数据)。将数据存储为每存储器单元多个位数据增大存储装置的容量。然而,对于每存储器单元单个位数据,可更快地将数据编程到存储装置中。由于缓慢编程过程可能妨碍主机的操作,因此编程速度至关重要。因此,容量与性能之间存在折衷。
附图说明
图1是连接到主机的存储器系统的一个实施例的框图。
图2是前端处理器电路的一个实施例的框图。
图3是后端处理器电路的一个实施例的框图。
图4是集成存储器组件的功能框图。
图5是集成存储器组件的读取/写入电路和ECC电路的一个实施例的框图。
图6A描绘稀疏奇偶校验矩阵H的实例。
图6B描绘对应于图6A的稀疏奇偶校验矩阵的稀疏二分图。
图7是描绘感测块的一个实施例的框图。
图8是集成存储器组件的一个实施例的框图。
图9是其中控制裸片控制两个存储器裸片的集成存储器组件的一个实施例的框图。
图10A和10B是半导体晶片的俯视图。
图10C描绘半导体裸片的平坦表面上的接合垫的示例图案。
图11描绘堆叠在衬底上的集成存储器组件的实施例的侧视图。
图12描绘堆叠在衬底上的集成存储器组件的实施例的侧视图。
图13是单片三维存储器阵列的一个示例实施例的一部分的透视图。
图14描绘集成存储器组件的一个实施例。
图15描绘其中一个控制裸片控制两个存储器裸片的集成存储器组件的一个实施例。
图16是描述用于编程组织成存储器裸片上的存储器阵列的非易失性存储器单元的过程的一个实施例的流程图。
图17A示出一群非易失性存储器单元在每一存储器单元存储一个数据位时的示例阈值电压分布。
图17B示出一群非易失性存储器单元在每一存储器单元存储三个数据位时的示例阈值电压分布。
图18示出一群非易失性存储器单元在每一存储器单元存储四个数据位时的示例阈值电压分布。
图19A和19B描绘编程过程期间一群非易失性存储器单元的阈值电压分布。
图20A到20I描绘编程过程期间一群非易失性存储器单元的阈值电压分布。
图21是描述用于操作存储系统的过程的一个实施例的流程图。
图22是描述用于操作存储系统的过程的一个实施例的流程图。
图23是描述用于操作存储系统的过程的一个实施例的流程图。
图24是描述用于操作存储系统的过程的一个实施例的流程图。
图25是描述用于执行自适应折叠的过程的一个实施例的流程图。
图26是描述用于在自适应折叠过程期间自适应地执行多个解码选项中的一个的过程的一个实施例的流程图。
图27A到27D描绘图24和25的过程的各个阶段期间的控制裸片304的一部分和存储器裸片302的一部分。
具体实施方式
为了解决容量与性能之间的折衷,一些存储装置最初将数据编程为每存储器单元单个位数据以利用更快的编程速度。随后,在存储系统空闲或另外具有可用资源时,数据将在被称为折叠的过程中重新编程为每存储器单元多个位数据。
用于折叠的一个示例过程包含:读取每存储器单元单个位数据(具有潜在错误),将所读取数据传送回到存储器控制器,在存储器控制器处解码数据(包含修正数据中的错误),重新编码数据,将重新编码的数据传送回到存储器裸片,且将重新编码的数据作为每存储器单元多个位数据编程在存储器裸片中。这一过程被称为通过控制器复制 (“CTC”)。
用于折叠的另一示例过程不涉及控制器。每存储器单元单个位数据(具有潜在错误) 在存储器裸片上读取,且在不将数据传送出存储器裸片的情况下在存储器裸片上重写为每存储器单元多个位数据。这一过程被称为芯片上复制(“OCC”)。在OCC的情况下,数据未被解码;因此,将并不修正数据中存在的任何错误。
这两个用于折叠的过程之间存在折衷。CTC去除数据中存在的错误,且因此,改进存储装置的可靠性。然而,将数据传送到存储器控制器/从存储器控制器传送数据以及在存储器控制器上进行解码涉及大量延迟和功率。OCC并不具有这一延迟和功率使用,但在错误存在于每存储器单元单个位数据中且传播到每存储器单元多个位数据中时受损害。
为了利用CTC的错误校正和OCC的较高性能,公开一种新数据折叠过程,其在包含具有一或多个控制裸片和一或多个存储器裸片的集成存储器组件的存储器装置上实施。在一些实施例中,控制裸片和存储器裸片裸片接合在一起。存储器裸片包含非易失性存储器单元。控制裸片控制存储器裸片上的各种操作,例如读取、写入、擦除、数据折叠和各种维护操作。在一个实施例中,控制裸片具有编码数据位以形成码字的能力,所述码字含有数据位和奇偶校验位(例如,用于错误校正)。控制裸片接着将码字存储在非易失性存储器单元中。在一个实施例中,控制裸片具有读取及解码码字的能力,所述码字存储在非易失性存储器单元中。在一些实施例中,集成存储器组件具有多个控制裸片和多个存储器裸片,使得每一控制裸片控制存储器裸片中的一个的操作。出于本文件的目的,短语“在存储器裸片处”是指处于包含存储器裸片的集成存储器组件中。
一个实施例包含具有与集成存储器组件通信的存储器控制器的存储器系统。存储器控制器可包括专用集成电路(ASIC),其与集成存储器组件分隔开(例如,单独裸片)。存储器控制器可发送数据到控制裸片,控制裸片可将数据编码为码字且存储在存储器裸片中。类似地,存储器控制器可发送读取请求到控制裸片,其中控制裸片从存储器裸片读取码字、解码码字且将所请求数据传回到存储器控制器。出于本文件的目的,编码 (encode或encoding)可包含在不改变数据位的情况下添加奇偶校验位、在改变数据位的情况下添加奇偶校验位以及通过改变数据位来添加奇偶校验。
在一个实施例中,码字存储在存储器裸片中。每一码字可含有数据位和奇偶校验位。在一个实施例中,基于奇偶校验位在控制裸片处解码码字。举例来说,可使用奇偶校验位解码器来解码码字。在一些实施例中,存储器控制器能够在控制裸片未能解码码字的情况下使用奇偶校验位来解码码字。在一些实施例中,存储器控制器使用与控制裸片不同的技术来解码码字。举例来说,存储器控制器可使用软位解码器,而控制裸片可各自使用硬位解码器。
在一个实施例中,如果控制裸片成功解码码字,那么控制裸片发送数据位(而非奇偶校验位)到存储器控制器。每数据位的奇偶校验位的数目可取决于编码方案而变化。然而,作为一个实例,奇偶校验位可为码字的约百分之十。通过不发送奇偶校验位到存储器控制器,节约存储器控制器与控制裸片之间的通信通路上的实质带宽。另外,可节约实质功率。举例来说,控制裸片与存储器控制器之间的接口可以是高速接口。
在一些实施例中,控制裸片和存储器裸片与准许控制裸片与存储器裸片之间的通信的许多接合垫接合在一起。在一个实施例中,控制裸片能够通过接合垫从存储器裸片存取数据。在一个实施例中,借助于不同接合垫来读取码字的每一数据位和每一奇偶校验位。这实际上提供比集成存储器组件与存储器控制器之间的数据总线宽得多的接口。因此,将码字从存储器裸片传送到控制裸片极高效。最终效果是在控制裸片上进行解码可比在存储器控制器上进行解码更高效地使用通信带宽。
在一个实施例中,如果控制裸片并未成功解码码字,那么控制裸片发送码字到存储器控制器。存储器控制器也能够解码码字。存储器控制器可因此解码控制裸片无法解码的码字。在一个实施例中,存储器控制器能够解码比控制裸片能够解码的码字具有更高位错误率(BER)的码字。换句话说,控制裸片和存储器控制器可使用不同技术来解码码字。在一个实施例中,控制裸片所使用的技术可使用比存储器控制器所使用的技术更少的功率。因此,控制裸片上的解码可能比存储器控制器上的解码消耗更少功率。
可根据多种技术解码码字。一些技术可具有相对高吞吐量和低功率消耗,但可能提供相对低的错误校正能力,而其它技术可能提供相对高的错误校正能力,但可具有较低吞吐量和增大的功率消耗。在一个实施例中,控制裸片使用相对高吞吐量和低功率消耗技术,其可能提供相对低的错误校正能力。在一个实施例中,存储器控制器使用一或多个相对低吞吐量和较高功率消耗技术,其可能提供相对高的错误校正能力。
在一个实施例中,控制裸片能够基于码字的所估计BER作出快速决策。在一个实施例中,控制裸片计算码字的校验子权重。控制裸片可基于校验子权重估计BER。控制裸片可基于所估计BER作出各种解码决策。举例来说,控制裸片可基于所估计BER改变用于感测存储器单元的电压电平。明显地,控制裸片可在不需要将数据传送到存储器控制器的情况下作出这类决策。因此,可节约大量带宽和功率。
在一些实施例中,控制裸片和存储器裸片制造于不同半导体晶片上,这准许在不同晶片上使用不同半导体制造过程。举例来说,半导体制造过程可涉及高温退火。这类高温退火可能为一些电路元件的适当形成所需要,但可能损坏其它电路元件,例如存储器单元。由于半导体制造过程的限制,因此在存储器裸片上形成复杂的电路(例如解码器) 可具有挑战性。另外,用于在存储器裸片上形成存储器单元的制造过程可对形成在存储器裸片上的晶体管的大小设置约束。在一些实施例中,控制裸片上的控制电路具有大小与存储器裸片上的存储器单元晶体管不同(例如,更小)的晶体管。控制裸片上的晶体管的不同(例如,更小)大小可改进控制裸片上的控制电路的性能。举例来说,更小晶体管可使用比更大晶体管更少的功率。另外,使用更小晶体管允许控制裸片的一个实施例具有用于控制裸片上的控制电路的更多晶体管。
如上文所提及,公开在集成存储器组件的控制裸片上实施的新自适应折叠过程。也就是说,控制裸片执行自适应折叠过程,所述自适应折叠过程包括从存储器裸片读取每存储器单元单个位数据、自适应地执行多个解码选项中的一个以及将数据作为每存储器单元多个位数据编程回到存储器裸片。在一个实施例中,控制裸片配置成通过确定误差度量来执行多个解码选项,且基于所确定的误差度量而在以下各项之间选择且进行以下各项:不解码经折叠的数据、在控制裸片上对经折叠的数据执行解码或在存储器控制器处对经折叠的数据执行解码。下文提供更多细节。
图1到5描述可用以实施本文中所公开的用于折叠数据的技术的存储器系统的一个实例。图1是连接到主机120的存储器系统100的一个实施例的框图。存储器系统(例如,非易失性存储器系统)100可实施本文中所公开的技术。许多不同类型的存储器系统可与本文中所公开的技术一起使用。一个示例存储器系统是固态驱动器(“SSD”);然而,也可使用包含可移除式存储卡和USB存储器装置的其它类型的存储器系统。存储器系统100包括存储器控制器102、用于存储数据的集成存储器组件104以及本地存储器 (例如,DRAM/ReRAM)106。存储器控制器102包括前端处理器电路(FEP)110和一或多个后端处理器电路(BEP)112。在一个实施例中,FEP电路110实施于ASIC上。在一个实施例中,每一BEP电路112实施于单独ASIC上。在一个实施例中,用于BEP 电路112和FEP电路110中的每一个的ASIC实施于同一半导体上,使得存储器控制器 102制造为系统芯片(“SoC”)。FEP 110和BEP 112都包含其自身处理器。在一个实施例中,FEP 110和BEP 112充当主从配置,其中FEP 110是主装置且每一BEP 112是从装置。举例来说,FEP电路110实施执行存储器管理(例如,垃圾收集、损耗均衡等)、逻辑到物理地址转译、与主机的通信、DRAM(本地易失性存储器)的管理和SSD(或其它非易失性存储系统)的总体操作的管理的快闪转译层。BEP电路112在FEP电路 110的请求下管理集成存储器组件/裸片中的存储器操作。在一些实施例中,集成存储器组件被称为存储器封装。举例来说,BEP电路112可进行读取、擦除和编程过程。另外, BEP电路112可执行缓冲器管理,设置FEP电路110所需的比电压电平,执行错误校正 (ECC),控制与存储器封装的切换模式接口等。在一个实施例中,每一BEP电路112负责其自身的存储器封装集合。控制器102是控制电路的一个实例。
在一个实施例中,存在多个集成存储器组件104。在一实施例中,每一集成存储器组件104包含一或多个存储器裸片和一或多个控制裸片。每一存储器裸片可包含一或多个存储器结构。控制裸片可控制存储器裸片上的操作。举例来说,控制裸片可控制及执行存储器裸片上的读取、写入和擦除操作。在一个实施例中,存储器控制器102与控制裸片通信以便指示控制裸片在一或多个非易失性存储器裸片或一或多个存储器结构上执行读取、写入或擦除操作。在一个实施例中,集成存储器组件104中的每一存储器裸片利用NAND快闪存储器(包含二维NAND快闪存储器和/或三维NAND快闪存储器)。在其它实施例中,集成存储器组件104可包含其它类型的存储器;例如,PCM存储器和 MRAM。
存储器控制器102借助于接口130与主机120通信,所述接口130通过PCI高速(PCIe)实施NVM高速(NVMe)。为了与存储器系统100一起工作,主机120包含主机处理器122、主机存储器124和PCIe接口126。主机存储器124是主机的物理存储器,且可以是DRAM、SRAM、非易失性存储器或另一类型的存储装置。主机120在存储器系统100外部且与其分隔开。在一个实施例中,存储器系统100嵌入于主机120中。
图2是FEP电路110的一个实施例的框图。图2展示PCIe接口150与主机120通信且主机处理器152与所述PCIe接口通信。主机处理器152可以是所属领域中已知的适用于实施的任何类型的处理器。主机处理器152与芯片上网络(NOC)154通信。NOC 是集成电路上的通信子系统,通常在SoC的内核之间。NOC可跨越同步和异步时钟域或使用无时钟异步逻辑。NOC技术将联网理论和方法应用于芯片上通信,且带来优于常规总线和横杆互连件的显著改进。相较于其它设计,NOC改进SoC的可扩展性和复杂 SoC的功率效率。NOC的线和链路由多个信号共享。由于NOC中的所有链路可同时对不同数据包进行操作,因此实现高层级并行度。因此,随着集成子系统的复杂度不断增加,相比于先前通信架构(例如,专用点对点信号线、共享总线或具有桥接器的分段总线),NOC提供增强的性能(例如吞吐量)和可扩展性。NOC 154连接到存储器处理器 156、SRAM 160和DRAM控制器162并与其通信。DRAM控制器162用于操作DRAM (例如,DRAM 106)并与其通信。SRAM 160是由存储器处理器156使用的本地RAM 存储器。存储器处理器156用于运行FEP电路并执行多种存储器操作。NOC还与两个PCIe接口164和166通信。在图2的实施例中,存储器控制器102包含两个BEP电路 112;因此,存在两个PCIe接口164/166。每一PCIe接口与BEP电路112中的一个通信。在其它实施例中,可存在多于或少于两个BEP电路112;因此,可存在超过两个PCIe 接口。
图3是BEP电路112的一个实施例的框图。图3展示用于与FEP电路110通信(例如,与图2的PCIe接口164和166中的一个通信)的PCIe接口200。PCIe接口200与两个NOC 202和204通信。在一个实施例中,两个NOC可组合为一个大NOC。每一 NOC(202/204)经由XOR引擎(224/254)、ECC引擎(226/256)连接到SRAM(230/260)、缓冲器(232/262)、处理器(220/250)和数据路径控制器(222/252)。ECC引擎226/256 用于执行错误校正,如所属领域中已知。本文中,ECC引擎226/256可被称为控制器ECC 引擎。
ECC引擎226/256可编码从主机接收到的数据字节,且可对从控制裸片304读取的数据字节进行解码及错误校正。在一些实施例中,ECC引擎226/256计算一次性地存储的每一数据单元(例如,页)的奇偶校验位。可利用数据单元(例如,页)存储奇偶校验位(也被称为错误校正码)。数据单元和其相关联奇偶校验位的组合被称为码字。在一个实施例中,奇偶校验位从数据单元(例如,页)远端地存储。
在一些实施例中,存储器控制器102并不发送完整码字到集成存储器组件104。替代地,存储器控制器102仅发送数据位,其中集成存储器组件104上的控制裸片产生奇偶校验位。任选地,存储器控制器102可发送完整码字。在一些情况下,集成存储器组件104的控制裸片并不发送完整码字到存储器控制器102。替代地,控制裸片解码码字,且仅将数据位发送回到存储器控制器102。然而,在一些情况下,控制裸片可能无法成功地解码码字。在这种情况下,控制裸片可发送完整码字到存储器控制器102,其使用 ECC引擎226/256来解码码字。
在一些实施例中,ECC引擎具有不同模式,例如ECC模式A 226a/256a和ECC模式B226b/256b。两个模式在其分辨率方面可能不同。一般来说,较高分辨率解码器能够校正较高数目的位错误。在一个实施例中,分辨率是指在迭代消息传递解码器中传递的消息的位数目。举例来说,ECC模式B 226b/256b中的消息可具有6个位,而ECC模式A 226a/256a中的消息可具有3个位。在一些实施例中,消息中使用更少位(对应于较低分辨率)导致更快解码。消息中使用更少位还可消耗更少功率。在名称为“具有多个解码模式的ECC解码器(ECCDecoder with Multiple Decode Modes)”的美国专利10,218,384 中描述具有不同分辨率的解码器的其它细节,所述专利以引用的方式并入本文中。
可使用XOR引擎224/254形成冗余信息,所述冗余信息基于来自一组码字中的每一码字的信息。冗余信息可存储在存储器裸片中的一个中。可使用这一冗余信息来恢复所述组中的码字中的每一个的数据位。作为一个实例,每一码字可为4千字节,每一码字可用于一个数据页,且冗余信息可由码字中的每一个的逐位XOR形成。在一个实施例中,逐位XOR具有每一码字的相同位数目。
数据路径控制器222连接到存储器接口228,以借助于四个通道与集成存储器组件通信。因此,顶部NOC 202与用于与集成存储器组件通信的四个通道的存储器接口228 相关联,且底部NOC 204与用于与集成存储器组件通信的四个额外通道的存储器接口 258相关联。在一个实施例中,每一存储器接口228/258包含四个切换模式接口(TM接口)、四个缓冲器和四个调度器。存在用于通道中的每一个的一个调度器、缓冲器以及 TM接口。处理器可以是所属领域中已知的任何标准处理器。数据路径控制器222/252可以是处理器、FPGA、微处理器或其它类型的控制器。XOR引擎224/254和ECC引擎 226/256是专用硬件电路,被称为硬件加速器。在其它实施例中,XOR引擎224/254和 ECC引擎226/256可以实施于软件中。调度器、缓冲器和TM接口是硬件电路。在其它实施例中,存储器接口(用于与存储器裸片通信的电路)可以是与图3中描绘的结构不同的结构。另外,具有与图2和3不同的结构的存储器控制器也可与本文中所描述的技术一起使用。
图4是集成存储器组件104的一个实施例的功能框图。在一个实施例中,集成存储器组件104包含两个半导体裸片(或更简单地说,“裸片”):存储器裸片302和控制裸片304。存储器裸片302包含存储器结构326。存储器结构326可含有非易失性存储器单元。控制裸片304包含控制电路310。在一些实施例中,存储器裸片302和控制裸片 304接合在一起,如下文将更详细地描述。
控制电路310包括在存储器结构326上执行存储器操作(例如,写入、读取、擦除等)的一组电路。控制电路310包含状态机312、芯片上地址解码器314、功率控制电路 316、存储区318、读取/写入电路328、ECC引擎330、存储器控制器接口332和数据折叠电路334。在另一实施例中,读取/写入电路328的一部分位于控制裸片304上,且读取/写入电路328的一部分位于存储器裸片302上。举例来说,读取/写入电路328可含有感测放大器。在一个实施例中,感测放大器位于控制裸片304上。在一个实施例中,感测放大器位于存储器裸片302上。
本文中,术语“存储器裸片”、“存储器半导体裸片”或类似术语意指含有用于数据存储的非易失性存储器单元的半导体裸片。本文中,术语“控制裸片”、“控制半导体裸片”或类似术语意指含有用于在存储器裸片上的非易失性存储器单元上执行存储器操作的控制电路的半导体裸片。通常,许多半导体裸片由单个半导体(例如,硅)晶片形成。
状态机312是控制由控制裸片304执行的操作的电路。在一些实施例中,状态机312由微处理器、微控制器和/或RISC处理器实施或由微处理器、微控制器和/或RISC处理器替换。
存储区318可以是用于存储用于编程处理器(例如,用于实施或替换状态机312的RISC处理器)及用于存储数据(例如,用于解码过程、编码过程和/或折叠过程的数据) 的软件的易失性存储器。在一个实施例中,利用SRMA或DRAM实施存储区312。
芯片上地址解码器314将主机120或存储器控制器102所使用的地址之间的地址接口提供到行解码器和列解码器(图4中未明确地描绘)所使用的硬件地址。功率控制电路316控制在存储器操作期间供应到字线、位线和选择线的功率和电压。在一个实施例中,功率控制电路316包含电压电路。功率控制电路316可包含用于形成电压的电荷泵或其它电压源。功率控制电路316在状态机312的控制下执行。
在一些实施例中,读取/写入电路328包含感测块(其可含有感测放大(SA))。在一些实施例中,感测放大包含位线驱动器。在一个实施例中,读取/写入电路328在状态机 312的控制下执行。在一些实施例中,每一存储器结构326可由字线借助于行解码器(图 4中未描绘)且由位线借助于列解码器(图4中未描绘)寻址。
错误校正码(ECC)引擎330是配置成对码字进行解码及错误校正的电路。本文中ECC引擎330可被称为裸片上ECC引擎。在一个实施例中,裸片上ECC引擎330配置成将数据位从存储器控制器102编码为含有数据位和奇偶校验位的码字。控制电路将码字存储在存储器结构326中。在一个实施例中,裸片上ECC引擎330还配置成解码从存储器结构326读取的码字。在一些实施例中,如果裸片上ECC引擎330成功解码码字,那么控制裸片304仅将数据位发送回到存储器控制器102。在一些实施例中,如果裸片上ECC引擎330并未成功解码码字,那么可使用存储器控制器ECC引擎226/256 来解码码字。
在一些实施例中,控制裸片304首先尝试使用ECC引擎330来解码码字。如果解码失败,那么存储器控制器102可尝试解码码字。在一些实施例中,存储器控制器102 具有多个ECC模式。举例来说,可使用ECC模式A 226A(参看图3)来尝试解码控制裸片304可能没有解码的码字。如果ECC模式A 226a未能解码码字,那么可由存储器控制器102使用ECC模式B226b。举例来说,裸片上ECC引擎330可使用硬位解码器来尝试解码码字。在典型条件下,大多数时候,硬位解码可能成功。在裸片上ECC引擎 330未能成功解码码字的情况下,码字可传递到存储器控制器102。在一个实施例中,存储器控制器102首先尝试在一个分辨率水平下使用软位解码器来解码。这第一尝试可由 ECC模式A 226a进行。如果由存储器控制器102进行的第一尝试失败,那么存储器控制器可在较高分辨率水平下使用软位解码器。这第二尝试可由ECC模式B 226b进行。应注意,前述硬位解码器可比软位解码器使用更少的功率。因此,大多数时候,可使用控制裸片304上的低功率解码器来实现解码。裸片上ECC引擎330、ECC模式A 226A 或ECC模式B 226b均不受限于前述实例。
折叠电路334是用于执行本文中所公开的数据折叠操作的电路,且下文更详细地描述。在一些实施例中,用于执行数据折叠操作的技术包含在状态机312中。在一些实施例中,用于执行数据折叠操作的技术包含在状态机312或另一类型的处理器的软件中。
状态机312、裸片上ECC引擎330、数据折叠电路334和/或控制器102(或等效功能电路)以及控制电路310的所有电路或电路的子集可被视为一或多个控制电路。一或多个控制电路可仅包含硬件(例如,电路),或包含硬件与软件的组合(包含固件)。举例来说,由固件编程的控制器是控制电路的一个实例。一或多个控制电路可包含处理器、 PGA(可编程门阵列)、FPGA(现场可编程门阵列)、ASIC(专用集成电路)、微控制器、集成电路或其它类型的电路。
通路352是控制电路310中的一或多个组件与存储器裸片302上的存储器结构之间的通路。每一通路的一部分驻存于存储器裸片302中且每一通路的一部分驻存于控制裸片304中。术语通路可用于通路352的完全在裸片中的一个内的一部分。因此,可陈述存储器裸片302具有第一多个通路且控制裸片304具有第二多个通路。在一个实施例中,控制裸片304和存储器裸片302配置成通过第一多个通路和第二多个通路的通路对传送信号。在一些实施例中,存储器裸片302和控制裸片304彼此接合,或以其它方式彼此附接,以有助于通过通路对进行信号传送。
可使用通路来提供或接收信号(例如,电压、电流)。通路包含导电路径。通路可包含以下中的一或多个(但不限于):接合垫、金属互连件、通孔、晶体管、导电材料和可传送或携载电信号的其它材料。在一个实施例中,通路352允许控制电路310将电压提供到存储器裸片302上的字线、选择线和位线。可使用通路352来从例如位线接收信号。在一个实施例中,存在约100,000个通路352。然而,可能存在多于或少于100,000个通路。具有这种大量通路352允许并行地传递极大量的数据或其它信号。
存储器控制器接口332是用于与存储器控制器102通信的电接口。举例来说,存储器控制器接口332可实施切换模式接口,其连接到用于存储器控制器102的存储器接口228/258的切换模式接口。在一个实施例中,存储器控制器接口332包含连接到通信通道336(本文中也称为数据总线)的一组输入和/或输出(I/O)引脚。在一个实施例中,通信通道336连接到存储器控制器102作为切换模式接口的一部分。在一个实施例中,一个集成存储器组件104的通信通道336连接到另一集成存储器组件104。
一般来说,通信通道336描绘为连接到集成存储器组件104。通信通道336可连接到裸片302和/或304中的任一个或两个。在一个实施例中,通信通道336将存储器控制器102直接连接到控制裸片304。在一个实施例中,通信通道336将存储器控制器102 直接连接到存储器裸片302。如果通信通道336将存储器控制器102直接连接到存储器裸片302,那么可使用通路352以允许存储器控制器102与控制电路310之间的通信。
在一个实施例中,存储器结构326包括非易失性存储器单元的单片三维存储器阵列,其中多个存储器层级形成在单个衬底(例如晶片)上方。存储器结构可包括在具有安置于硅(或其它类型的)衬底上方的有源区域的存储器单元阵列的一或多个物理层级中单片式形成的任何类型的非易失性存储器。在一个实例中,非易失性存储器单元包括具有电荷捕获材料的竖直NAND串。
在另一实施例中,存储器结构326包括非易失性存储器单元的二维存储器阵列。在一个实例中,非易失性存储器单元是利用浮动栅极的NAND快闪存储器单元。还可使用其它类型的存储器单元(例如,NOR型快闪存储器)。
存储器结构326中包含的存储器阵列架构或存储器单元的确切类型不限于上述实例。许多不同类型的存储器阵列架构或存储器技术可用于形成存储器结构326。出于本文中所公开的新要求保护的实施例的目的,不需要特定非易失性存储器技术。用于存储器结构326的存储器单元的合适技术的其它实例包含相变存储器(“PCM”)、磁阻式随机存取存储器(“MRAM”)以及类似物。用于存储器结构326的存储器单元架构的合适技术的实例包含二维阵列、三维阵列、交叉点阵列、堆叠式二维阵列、竖直位线阵列以及类似物。
所属领域的普通技术人员将认识到,本文中所描述的技术不限于单一特定存储器结构,而是覆盖在如本文中所描述且如所属领域的普通技术人员所理解的技术的精神和范围内的许多相关存储器结构。
虽然图4描绘集成存储器组件104中的一个控制裸片304和一个存储器裸片302,但在集成存储器组件104中可存在超过一个控制裸片304和超过一个存储器裸片302。
图5是控制裸片304的读取/写入电路328和ECC引擎330的一个实施例的框图。读取/写入电路328具有感测放大器350和锁存器360。锁存器360可包含数据锁存器 360a和奇偶校验锁存器360b。在一个实施例中,数据锁存器360a存储码字的数据位,且奇偶校验锁存器存储码字的奇偶校验位。并不需要用于数据位及用于奇偶校验位的特定锁存器。图5描绘四组数据锁存器360(1)、360(2)、360(3)、360(4)。每一组可用于存储不同页的码字。在每存储器单元存储四个位的实施例中,四个页存储在一组存储器单元中。四个页可被称为下部页(LP)、下部中间页(LMP)、上部中间页(UMP)和上部页(UP)。在每存储器单元存储三个位的实施例中,三个页存储在一组存储器单元中,且四个页可被称为下部页(LP)、中间页(MP)和上部页(UP)。在另一实施例中,感测放大器350处于存储器裸片302上,但锁存器360保留在控制裸片304上。在码字存储在锁存器360中或存储区318中时,控制裸片304(例如,数据折叠电路334和/或状态机312)可对数据执行折叠过程。
裸片上ECC引擎330能够编码从存储器控制器102接收到的数据位。在一个实施例中,裸片上ECC引擎330形成各自含有数据位和奇偶校验位的码字。在一个实施例中,存储器控制器102将码字提供到控制裸片304。控制电路310将码字存储到存储器结构326中的非易失性存储器单元中。在存储器控制器102请求读取数据时,控制电路 310从存储器结构326读取码字。裸片上ECC引擎330也能够对从存储器结构326读取的码字进行解码及错误校正。在一些实施例中,裸片上ECC引擎330计算所存储的每一数据单元(例如,页)的奇偶校验位。可利用数据单元(例如,页)存储奇偶校验位 (也被称为错误校正码或错误校正信息)。数据单元和其相关联奇偶校验位的组合被称为码字。在一个实施例中,奇偶校验位从数据单元(例如,页)远端地存储。
在一实施例中,在成功解码码字之后,控制裸片304仅发送数据位(而非奇偶校验位)到存储器控制器102。因此,节约存储器控制器102与集成存储器组件104之间的通信线路上的带宽。另外,可节约相当大的功率。举例来说,控制裸片与控制器之间的接口可以是高速接口。
裸片上ECC引擎330包含校验子计算逻辑370、编码器380和解码器390。编码器 380配置成使用ECC方案编码数据,例如低密度奇偶校验(LDPC)编码器、里德所罗门(ReedSolomon)编码器、博斯-乔杜里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem; BCH)编码器、涡轮码编码器、配置成编码一或多个其它ECC编码方案的编码器,或其任何组合。编码器380可形成码字,所述码字含有数据位382和奇偶校验位384。数据位可由存储器控制器102提供。
基于锁存器360中的位,感测放大器350可在非易失性存储器单元经编程时控制存储器结构326中的位线电压。以这种方式,可将码字编程到存储器结构326中的非易失性存储器单元中。应了解,也可施加其它电压到存储器结构326,这将编程电压施加到由控制裸片304上的电压产生器针对编程而选择的存储器单元,从而将编程电压和增压电压施加到存储器结构326的各种字线。
解码器390配置成解码存储在存储器裸片302中的码字。在一个实施例中,感测放大器350感测存储器结构326中的位线以便读取码字。感测放大器350可将所读取码字存储到锁存器360中。解码器390能够检测并校正码字中的错误。在一个实施例中,相较于存储器控制器102上的解码器,解码器390是相对低功率解码器。在一个实施例中,存储器控制器102上的解码器能够校正比解码器390通常可校正的码字中的位错误更多的位错误。因此,解码器390可提供功率与错误校正能力折衷。举例来说,解码器390 在功率消耗方面可极为有效,但代价是可能无法校正码字中的大量错误。
在一个实施例中,解码器390实施硬位解码器。在另一实施例中,解码器390实施软位解码器。替代地,解码器390可实施硬位解码器和软位解码器两者。举例来说,控制裸片304可首先尝试利用硬位解码器解码码字。如果解码失败,那么控制裸片304可尝试使用软位解码器解码。
在一些实施例中,解码器390是基于具有位(或变量)节点和校验节点的稀疏二分图。解码器390可在位节点与校验节点之间传递消息。通过执行消息传递计算来实现在位节点与校验节点之间传递消息。消息传递计算可基于置信传播。
校验子计算逻辑370(例如,电路和/或软件)能够确定码字的校验子权重。校验子权重是指未满足的奇偶校验方程的数目。码字的初始校验子权重可能与码字的位错误率(BER)相关。因此,控制裸片304可基于初始校验子权重估计码字的BER。在一个实施例中,校验子逻辑实施于硬件中。可在不完全解码码字的情况下确定校验子权重。因此,相较于解码码字,可以较少时间及利用更少功率来计算初始校验子权重。在一些实施例中,控制裸片304基于所估计BER作出管理决策。举例来说,基于所估计BER,控制裸片304可确定应使用何种技术来解码码字,应使用何种读取参考电压来读取存储器单元等。
在一个实施例中,裸片上ECC引擎330使用稀疏奇偶校验矩阵。图6A描绘稀疏奇偶校验矩阵H(其也可表示为稀疏二分图)的实例。矩阵包含M个列和K+M个行,其对应于长度为N=K+M的每一码字中的K个信息位和M个奇偶校验位。此外,定义奇偶校验位以使得满足M个奇偶校验方程,其中矩阵的每一行表示奇偶校验方程。
图6B描绘对应于图6A的稀疏奇偶校验矩阵的稀疏二分图392。具体来说,代码可由稀疏二分图G=(V,C,E)定义,具有N个位节点394的组V(在这一实例中,N=13)、 M个校验节点396的组C(在这一实例中,M=10)和将位节点394连接到校验节点396 的边线398的组E(在这一实例中,E=38)。位节点对应于码字位,且校验节点对应于位上的奇偶校验约束。位节点394由边线398连接到其所参与的校验节点396。
在解码期间,解码器390的一个实施例尝试满足奇偶校验。在这一实例中,存在十个奇偶校验,如由校验节点cn1到cn10所指示。cn1处的第一奇偶校验确定是否
Figure BDA0003007436990000141
其中
Figure BDA0003007436990000142
表示异或(XOR)逻辑运算。如果对应于变量节点v2、 v4、v11和v13的位中存在偶数个“1”,那么满足这一检验。这一检验由以下事实表示:来自变量节点v2、v4、v11和v13的箭头连接到二分图中的校验节点cn1。cn2处的第二奇偶校验确定是否
Figure BDA0003007436990000143
cn3处的第三奇偶校验确定是否
Figure BDA0003007436990000144
cn4处的第四奇偶校验确定是否
Figure BDA0003007436990000145
cn5处的第五奇偶校验确定是否
Figure BDA0003007436990000146
cn6处的第六奇偶校验确定是否
Figure BDA0003007436990000147
cn7 处的第七奇偶校验确定是否
Figure BDA0003007436990000148
cn8处的第八奇偶校验确定是否
Figure BDA0003007436990000149
cn9处的第九奇偶校验确定是否
Figure BDA00030074369900001410
且cn10处的第十奇偶校验确定是否
Figure BDA00030074369900001411
在一个实施例中,解码器390使用涉及迭代消息传递解码算法的迭代概率解码过程。这些算法通过在表示代码的基础二分图的边线上在位节点与校验节点之间交换消息来操作。
解码器390可具有码字位的初始估计(基于从存储器结构326读取的内容)。可通过施加位应满足为有效码字的奇偶校验约束来优化及改进这些初始估计。这可通过使用沿着图表边线传递的消息在表示码字位的位节点与表示对码字位的奇偶校验约束的校验节点之间交换信息来完成。
图7是描绘感测块450的一个实施例的框图。感测块是读取/写入电路328的一部分。个别感测块450分割成被称为感测电路或感测放大器350(1)到350(4)的一或多个内核部分和被称为管理电路480的共同部分。在一个实施例中,将存在用于每一位线/NAND 串的单独感测电路和用于一组多个(例如,四个或八个)感测电路的一个共同管理电路 480。群组中的感测电路中的每一个借助于数据总线454与相关联管理电路通信。因此,存在与一组存储元件(存储器单元)的感测电路通信的一或多个管理电路。
作为实例,感测放大器350(1)包括通过确定连接的位线中的传导电流是高于还是低于预定阈值水平来执行感测的感测电路460。感测可发生于读取或验证操作中。感测电路也在编程操作(例如,写入操作)中的编程电压的施加期间供应位线电压。
感测电路460可包含Vbl选择器462、感测节点464、比较电路466和跳闸锁存器468。在施加编程电压期间,Vbl选择器462可将编程启用电压(例如,V_pgm_enable) 或编程禁止电压(例如,Vbl_inh)传递到连接到存储器单元的位线。Vbl选择器462也可在感测操作期间使用。本文中,“编程启用电压”定义为施加到存储器单元的电压,所述电压启用存储器单元的编程,同时编程电压(例如,Vpgm)也施加到存储器单元。在某些实施例中,编程启用电压施加到耦合到存储器单元的位线,同时编程电压施加到存储器单元的控制栅极。本文中,“编程禁止电压”定义为施加到耦合到存储器单元的位线以禁止存储器单元的编程的电压,同时编程电压(例如,Vpgm)也施加到存储器单元(例如,施加到存储器单元的控制栅极)。应注意,增压电压(例如,Vpass)可施加到未选字线且编程禁止电压施加到位线。位线是存储器裸片302上的存储器结构326的一部分。
编程禁止电压施加到耦合到并不编程的存储器单元的位线和/或具有已通过执行编程过程达到其相应目标阈值电压的存储器单元的位线。这些可被称为“未选位线”。编程禁止电压不施加到具有待编程的存储器单元的位线(“选定位线”)。在一个实施例中,当编程禁止电压施加到未选位线时,从NAND通道切断位线。因此,在一个实施例中,编程禁止电压不传递到NAND通道。增压电压施加到未选字线以升高NAND通道的电位,这禁止在其控制栅极处接收编程电压的存储器单元的编程。
晶体管470(例如,nMOS)可配置为导通门以通过将晶体管的控制栅极电压设置得足够高(例如,高于从Vbl选择器传递的Vbl)来从Vbl选择器462传递Vbl。举例来说,选择器472可将电源电压Vdd(例如,3到4V)传递到晶体管470的控制栅极。
感测放大器350(1)配置成控制电压施加到位线的时间的时序。在感测操作(例如读取和验证操作)期间,基于由选择器472传递的电压而由晶体管470设置位线电压。位线电压大致等于晶体管的控制栅极电压减去其Vt(例如,3V)。举例来说,如果Vbl+Vt 由选择器472传递,那么位线电压将是Vbl。这假设源极线处于0V。晶体管470根据控制栅极电压来箝位位线电压且充当源极跟随器而非导通门。Vbl选择器462可传递高于晶体管470上的控制栅极电压的相对高电压(例如Vdd),以提供源极跟随器模式。在感测期间,晶体管470因此为位线充电。
在一种方法中,每一感测放大器的选择器472可与其它感测放大器的选择器分别地控制,以传递Vbl或Vdd。每一感测放大器的Vbl选择器462还可与其它感测放大器的 Vbl选择器分别地控制。
在感测期间,将感测节点464充电到初始电压,如Vsense_init=3V。感测节点接着借助于晶体管470连接到位线,且感测节点的衰减量用于确定存储器单元是处于导电状态还是非导电状态。在一个实施例中,在位线中流动的电流使感测节点(例如,感测电容器)放电。允许感测节点衰减的时间长度在本文中可被称为“积分时间”。比较电路466 用于在感测时间处比较感测节点电压与跳闸电压。如果感测节点电压衰减低于跳闸电压 Vtrip,那么存储器单元处于导电状态且其Vt处于或低于验证信号的电压。如果感测节点电压并不衰减低于Vtrip,那么存储器单元处于非导电状态且其Vt高于验证信号的电压。感测放大器350(1)包含基于存储器单元是处于导电还是非导电状态而由比较电路 466设置的跳闸锁存器468。跳闸锁存器中的数据可以是由处理器482读出的位。
管理电路480包括处理器482、数据锁存器的四个示例组484、485、486、487和耦合在数据锁存器组与数据总线332(数据总线可连接到存储器控制器102)之间的I/O接口488。可针对每一感测放大器提供一组数据锁存器(例如,包括个别锁存器LDL、 LMDL、UMDL和UDL)。在一些情况下,可使用较少或额外数据锁存器。LDL存储用于数据的下部页的位,LMDL存储用于数据的下部中间页的位,UMDL存储用于数据的上部中间页的位,且UDL存储用于数据的上部页的位。这是十六层级或每存储器单元四个位存储器装置。在一个实施例中,存在八层级或每存储器单元三个位,且因此,每感测放大器仅三个锁存器(LDL、MDL、UDL)。
处理器482执行计算,以便确定存储在感测存储器单元中的数据且将所确定数据存储在所述一组数据锁存器中。每一组数据锁存器484到487用于存储在读取操作期间由处理器482确定的数据位,且用于在编程操作期间存储从数据总线332导入的数据位,所述数据位表示待编程到存储器中的写入数据。I/O接口488提供数据锁存器484到487 与数据总线332之间的接口。
处理器482还可用以基于锁存器的状态而确定施加到位线的电压。
在读取期间,系统的操作处于状态机312的控制下,所述状态机312控制不同控制栅极电压到所寻址存储器单元的供应(例如,通过借助于本文中所论述的控制裸片304 与存储器裸片302之间的通路将电压从功率控制316施加到存储器结构326上的字线)。当其逐步通过对应于存储器所支持的各种存储器状态的各种预定义控制栅极电压时,感测电路可在这些电压中的一个处跳闸,且将借助于数据总线454将来自感测电路的对应输出提供到处理器482。此时,处理器482通过考虑感测电路的跳闸事件和关于借助于输入线490的来自状态机的所施加控制栅极电压的信息来确定所得存储器状态。其接着计算存储器状态的二进制编码且将所得数据位存储到数据锁存器484到487中。
一些实施方案可包含多个处理器482。在一个实施例中,每一处理器482将包含输出线(未描绘),使得输出线中的每一个线或(wired-OR)在一起。在一些实施例中,输出线在被连接到线或线之前被反转。这种配置使得能够在编程验证测试期间快速确定编程过程何时完成,因为接收线或的状态机可确定所有正被编程的位何时达到期望水平。举例来说,当每个位已达到其期望水平时,所述位的逻辑零将发送到线或线(或数据一被反转)。当所有位输出数据0(或数据一被反转)时,状态机知道终止编程过程。由于 (在一个实施例中)每一处理器与四个感测放大器通信,因此状态机需要读取线或线四次,或逻辑添加到处理器482以积累相关联位线的结果,使得状态机仅需要读取线或线一次。类似地,通过正确地选择逻辑电平,全局状态机可以检测第一位何时改变其状态且相应地改变算法。
在用于存储器单元的编程或验证操作期间,待编程的数据(写入数据)存储在呈每存储器单元四个位实施方案的LDL、LMDL、UMDL和UDL锁存器中的来自数据总线 332的所述组数据锁存器484到487中。
在状态机的控制下的编程操作将一组编程电压脉冲施加到所寻址存储器单元的控制栅极。每一电压脉冲可在被称为增量阶跃脉冲编程的过程中在量值上从先前编程脉冲增加步长。每一编程电压后接验证操作以确定存储器单元是否已编程为所需存储器状态。在一些情况下,处理器482监测相对于所需存储器状态的读回存储器状态。当两种一致时,处理器482如通过更新其锁存器来将位线设置于编程禁止模式中。这禁止耦合到位线的存储器单元进一步编程,即使额外编程脉冲施加到其控制栅极。
每一组数据锁存器484到487可实施为用于每一感测放大器的数据锁存器的堆叠。在一个实施例中,每个感测放大器350存在三个数据锁存器。在一些实施方案中,数据锁存器实施为移位寄存器,使得存储于其中的并行数据转换成用于数据总线332的串行数据,且反之亦然。对应于读取/写入存储器单元块的所有数据锁存器可链接在一起以形成块移位寄存器,使得数据块可由串行传送输入或输出。确切地说,读取/写入电路组调适成使得其数据锁存器组中的每一个将按顺序将数据移入或移出数据总线,如同其是用于整个读取/写入块的移位寄存器的一部分一样。
数据锁存器识别相关联的存储器单元何时已达到编程操作中的特定里程标。举例来说,锁存器可识别存储器单元的Vt低于特定验证电压。数据锁存器指示存储器单元当前是否存储来自数据页的一或多个位。举例来说,LDL锁存器可以用于存储下部页数据。当下部页位存储在相关联的存储器单元中时,翻转LDL锁存器(例如,从0到1)。当下部中间、上部中间或上部页位分别存储在相关联的存储器单元中时,翻转LMDL、 UMDL或UDL锁存器。这在相关联的存储器单元完成编程时发生。
图8是集成存储器组件104的一个实施例的框图。图8描绘图1和4的集成存储器组件104的一个实施例的其它细节。存储器裸片302含有存储器单元的平面520。存储器裸片302可具有额外平面。平面划分成M个块。在一个实例中,每一平面具有约1040 个块。然而,也可使用不同数目的块。在一个实施例中,包括存储器单元的块是擦除单元。也就是说,块的所有存储器单元一起被擦除。在其它实施例中,存储器单元可出于其它原因而分组成块,以便组织存储器结构326以启用信令和选择电路。针对每一平面描绘一个代表位线(BL)。每每一平面可存在数千或数万这种位线。每一块可划分成数个字线,如将在下文更充分地描述。在一个实施例中,块表示连接的存储器单元的群组,因为块的存储器单元共享一组共同不间断的字线和不间断的位线。在图8的结构中,平面520的块0和块M-1在存储器结构的边缘处(或以其它方式提及为位于存储器结构的边缘区/部分中)。
控制裸片304包含数个感测放大器(SA)350。每一感测放大器350连接到一个位线。感测放大器含有位线驱动器。因此,感测放大器可将电压提供到其所连接的位线。感测放大器配置成感测位线的条件。在一个实施例中,感测放大器配置成感测在位线中流动的电流。在一个实施例中,感测放大器配置成感测位线上的电压。
控制裸片304包含数个字线驱动器560(1)到560(n)。字线驱动器560配置成将电压提供到字线。在这一实例中,每存储器单元块存在“n”个字线。在一个实施例中,在用于存储器阵列操作的时间选择平面520中的块中的一个。在一个实施例中,如果存储器操作是编程或读取,那么选择选定块内的一个字线以用于存储器操作。在一个实施例中,如果存储器操作是擦除,那么选择选定块内的所有字线以用于擦除。字线驱动器560(例如,功率控制316的一部分)将电压提供到存储器裸片302中的第一选定块(例如,块 2)中的字线。控制裸片304还可包含可用于提供电压以用于字线驱动器560和/或位线驱动器的电荷泵、电压产生器以及类似物。
存储器裸片302在存储器裸片302的第一主表面582上具有数个接合垫570a、570b。可能存在用以从对应“n”个字线驱动器560(1)到560(n)接收电压的“n”个接合垫570a。对于与平面520相关联的每一位线,可能存在一个接合垫570b。附图标号570通常将用于指代主表面582上的接合垫。
在一些实施例中,码字的每一数据位和每一奇偶校验位通过不同接合垫对570b、574b传送。码字的位可经由接合垫对570b、574b并行传送。相对于例如在存储器控制器102与集成存储器组件104之间传送数据,这提供极高效数据传送。举例来说,存储器控制器102与集成存储器组件104之间的数据总线可例如提供并行传送的八个、十六个或可能32个位。然而,存储器控制器102与集成存储器组件104之间的数据总线不限于这些实例。
控制裸片304具有控制裸片304的第一主表面584上的数个接合垫574a、574b。可能存在用以将电压从对应“n”个字线驱动器560(1)到560(n)递送到存储器裸片302a的“n”个接合垫574a。对于与平面520相关联的每一位线,可能存在一个接合垫574b。附图标号574通常将用于指代主表面582上的接合垫。应注意,可能存在接合垫对570a/574a 和接合垫对570b/574b。在一些实施例中,接合垫570和/或574是倒装芯片接合垫。
在一个实施例中,接合垫570的图案匹配接合垫574的图案。接合垫570接合(例如,倒装芯片接合)到接合垫574。因此,接合垫570、574将存储器裸片302电耦合且物理耦合到控制裸片304。另外,接合垫570、574准许存储器裸片302与控制裸片304 之间的内部信号传送。因此,存储器裸片302和控制裸片304利用接合垫接合在一起。虽然图8描绘接合到一个存储器裸片302的一个控制裸片304,但在另一实施例中,一个控制裸片304接合到多个存储器裸片302。
本文中,“内部信号传送”意指控制裸片304与存储器裸片302之间的信号传送。内部信号传送准许控制裸片304上的电路控制存储器裸片302中的存储器操作。因此,接合垫570、574可用于存储器操作信号传送。本文中,“存储器操作信号传送”是指涉及存储器裸片302中的存储器操作的任何信号。存储器操作信号传送可包含但不限于提供电压、提供电流、接收电压、接收电流、感测电压和/或感测电流。
接合垫570、574可例如由铜、铝和其合金形成。接合垫570、574与主表面(582、584)之间可能存在衬垫。衬垫可例如由钛/氮化钛堆叠形成。接合垫570、574和衬垫可通过气相沉积和/或镀覆技术来涂覆。接合垫和衬垫总共可具有720nm的厚度,但在另外的实施例中这一厚度可以更大或更小。
金属互连件和/或通孔可用于将裸片中的各个元件电连接到接合垫570、574。描绘可通过金属互连件和/或通孔实施的若干导电通路。举例来说,感测放大器350可通过通路512电连接到接合垫574b。可能存在数千个这类感测放大器、通路和接合垫。应注意,BL未必形成与接合垫570b的直接连接。字线驱动器560可通过通路502电连接到接合垫574a。应注意,通路502可包括用于每一字线驱动器560(1)到560(n)的单独导电通路。同样地,可能存在用于每一字线驱动器560(1)到560(n)的单独接合垫574a。存储器裸片302的块2中的字线可通过通路504电连接到接合垫570a。在图8中,对于块中的对应“n”个字线,存在“n”个通路504。对于每一通路504,可能存在单独的一对接合垫570a、574a。
图9描绘其中一个控制裸片304可用于控制两个存储器裸片302a、302b的集成存储器组件104的另一实施例。控制裸片304在第一主表面584上具有数个接合垫574(a)、 574(b),如结合图8所论述。控制裸片304在第二主表面588上具有数个接合垫576(a)、 576(b)。可能存在用以将电压从对应“n”个字线驱动器560(1)到560(n)递送到存储器裸片302b的“n”个接合垫576(a)。字线驱动器560可通过通路506电连接到接合垫576a。对于与存储器裸片302b上的平面530相关联的每一位线,可能存在一个接合垫576b。附图标号576通常将用于指代主表面588上的接合垫。
第二存储器裸片302b在第二存储器裸片302b的第一主表面586上具有数个接合垫572(a)、572(b)。可能存在用以从对应“n”个字线驱动器560(1)到560(n)接收电压的“n”个接合垫572(a)。平面530中的字线可通过通路508电连接到接合垫572a。对于与平面 530相关联的每一位线,可能存在一个接合垫572(b)。附图标号572通常将用于指代主表面586上的接合垫。应注意,可能存在接合垫对572(a)/576(a)和接合垫对572(b)/576(b)。在一些实施例中,接合垫572和/或576是倒装芯片接合垫。
在一实施例中,在两个存储器裸片302a、302b之间共享“n”个字线驱动器560(1)到560(n)。举例来说,单个字线驱动器可用于将电压提供到存储器裸片302a中的字线和存储器裸片302b中的字线。然而,不需要在存储器裸片302a、302b之间共享字线驱动器560。
图10A是可由其形成多个控制裸片304的半导体晶片635a的俯视图。晶片635a具有集成电路603的大量复本。集成电路603中的每一个含有控制电路310(参看图4)。晶片635a分割为半导体裸片,每一半导体裸片含有集成电路603的复本中的一个。因此,大量控制半导体裸片304可由晶片635a形成。还应注意,即使在分割晶片635a之前,由于本文中使用术语“控制半导体裸片”,因此集成电路603所驻存的每一区可被称为控制半导体裸片304。
图10B是可由其形成多个存储器裸片302的半导体晶片635b的俯视图。晶片635b具有集成电路605的大量复本。在一个实施例中,集成电路605中的每一个含有存储器结构326(参看图4)。在一些实施例中,晶片635b分割为半导体裸片,每一半导体裸片含有集成电路605的复本中的一个。因此,大量存储器半导体裸片302可由晶片635b形成。还应注意,即使在分割晶片635b之前,由于本文中使用术语“存储器半导体裸片”,因此集成电路605所驻存的每一区可被称为存储器半导体裸片302。
半导体晶片635可作为根据CZ、FZ或其它工艺生长的单晶硅的晶锭开始。半导体晶片635可在主表面上切割和抛光以提供平滑表面。集成电路603、605可形成在主表面上和/或主表面中。应注意,在不同晶片635a、635b上形成集成电路603、605有助于在不同晶片635a、635b上使用不同半导体制造过程。举例来说,半导体制造过程可涉及高温退火。这类高温退火可能需要用于形成一些电路元件,或可适用于改进电路元件的特性。举例来说,高温退火可理想地减小存储器裸片302上的多晶硅的电阻。然而,高温退火可能损坏其它电路元件。举例来说,高温退火可能潜在地损坏CMOS晶体管,例如可在半导体裸片304上使用的晶体管。在一个实施例中,当在晶片635a上制造集成电路603时,并不使用在晶片635b上制造集成电路605时所使用的高温退火。举例来说,在一个实施例中,在制造控制裸片时,并不使用在制造存储器裸片时所使用的高温退火。
晶片635分割成半导体裸片可在接合之前或之后进行。在一个实施例中,两个晶片635a、635b接合在一起。在将两个晶片接合在一起之后,执行分割。因此,大量集成存储器组件104可由两个晶片635形成。在另一实施例中,两个晶片635a、635b分割成半导体裸片304、302。接着,半导体裸片304、302中的每一个中的一个接合在一起以形成集成存储器组件104。不管分割是在接合之前还是在接合之后发生,可以说集成存储器组件104含有接合在一起的控制半导体裸片304和存储器半导体裸片302。
如已在上文论述,控制裸片304和存储器裸片302可接合在一起。每一裸片302、304上的接合垫可用于将两个裸片接合在一起。图10C描绘半导体裸片的平面表面上的接合垫的示例图案。半导体裸片可以是存储器裸片302或控制裸片304。接合垫可以是适用于半导体裸片的接合垫570或574中的任一个。可能存在比图10C中描绘的接合垫多得多的接合垫。作为一个实例,在半导体裸片中的两个之间可需要100,000个或更多个互连件。为了支持这种大数目的电互连件,接合垫可具备小面积和间距。在一些实施例中,接合垫是倒装芯片接合垫。
集成存储器组件104中的半导体裸片302、304可通过将相应裸片302、304上的接合垫570、574彼此初始地对准来彼此接合。此后,可部分地取决于接合垫大小和接合垫间隔(即,接合垫间距)通过各种接合技术中的任何技术来将接合垫接合在一起。接合垫大小和间距可继而由第一半导体裸片302与第二半导体裸片304之间所需的电互连件的数目指定。
在一些实施例中,接合垫在所谓的Cu对Cu接合工艺中彼此直接接合,而无需焊料或其它额外的材料。在Cu对Cu接合工艺中,接合垫控制成高度平坦的且在高度受控环境中形成,所述高度受控环境基本上没有原本可能停留在接合垫上且妨碍紧密接合的环境颗粒。在这种恰当受控条件下,接合垫对准且基于表面张力彼此挤压以形成相互接合。这种接合可在室温下形成,但也可施加热。在使用Cu对Cu接合的实施例中,接合垫可为约5μm见方且以5μm到5μm的间距彼此间隔开。虽然这一工艺在本文中被称为Cu 对Cu接合,但即使在接合垫由除Cu以外的材料形成的情况下也可应用这一术语。
当接合垫的面积小时,可能难以将半导体裸片接合在一起。接合垫的大小和其之间的间距可通过将膜层设置在包含接合垫的半导体裸片的表面上来进一步减小。膜层设置在接合垫周围。当使裸片在一起时,接合垫可彼此接合,且相应裸片上的膜层可彼此接合。这种接合技术可被称为混合接合。在使用混合接合的实施例中,接合垫可为约5μm 见方且以1μm到5μm的间距彼此间隔开。可使用接合技术来提供具有甚至更小大小和间距的接合垫。
一些实施例可包含裸片302和304的表面上的膜。在未初始地提供这类膜的情况下,裸片之间的空间可底部填充有环氧树脂或其它树脂或聚合物。底部填充材料可作为液体施加,所述液体接着硬化成固体层。这一底部填充步骤保护裸片302、304之间的电连接,且进一步将裸片固持在一起。可将各种材料用作底部填充材料,但在实施例中,所述底部填充材料可以是来自在美国加利福尼亚(California,USA)有办事处的汉高公司(HenkelCorp.)的Hysol环氧树脂。
如本文中所提及,集成存储器组件104中可能存在超过一个控制裸片304和超过一个存储器裸片302。在一些实施例中,集成存储器组件104包含多个控制裸片304和多个存储器裸片302的堆叠。图11描绘堆叠在衬底802上的集成存储器组件104的实施例的侧视图。集成存储器组件104具有三个控制裸片304和三个存储器裸片302。每一控制裸片304接合到存储器裸片302中的一个。描绘接合垫570、574中的一些。可能还有更多接合垫。接合在一起的两个裸片302、304之间的空间填充有固体层848,其可由环氧树脂或其它树脂或聚合物形成。这一固体层848保护裸片302、304之间的电连接,且进一步将裸片固持在一起。可将各种材料用作固体层848,但在实施例中,所述固体层848可以是来自在美国加利福尼亚有办事处的汉高公司的Hysol环氧树脂。
集成存储器组件104可例如以阶梯形偏移堆叠,从而使每一层级处的接合垫804未被覆盖且可从上方接近。连接到接合垫804的引线接合件806将控制裸片304连接到衬底802。可在每一控制裸片304的宽度上(即,到图11的页中)形成数个这类引线接合件。
可使用硅穿孔(TSV)812来使信号路由通过控制裸片304。可使用硅穿孔(TSV) 814来使信号路由通过存储器裸片302。TSV 812、814可在半导体裸片302、304中形成集成电路之前、期间或之后形成。TSV可通过穿过晶片蚀刻孔洞来形成。可接着利用阻挡金属扩散的阻挡装衬孔洞。可继而利用晶种层装衬阻挡层,且所述晶种层可电镀有例如铜的电导体,但也可使用其它合适材料,例如铝、锡、镍、金、掺杂多晶硅以及其合金或组合。
焊料球808可任选地附着到衬底802的下部表面上的接触垫810。焊料球808可用于将集成存储器组件104电耦合及机械耦合到主机装置,例如印刷电路板。在集成存储器组件104待用作LGA封装的情况下可省略焊料球808。焊料球808可形成集成存储器组件104与存储器控制器102之间的接口的一部分。
在图11的实施例中,存储器裸片302和控制裸片304布置成对。也就是说,每一存储器裸片302接合到对应/匹配/成对控制裸片且与其通信。
图12描绘堆叠在衬底802上的集成存储器组件104的实施例的侧视图。集成存储器组件104具有三个控制裸片304和三个存储器裸片302。在这一实例中,每一控制裸片304接合到至少一个存储器裸片302。任选地,控制裸片304可接合到两个存储器裸片302。举例来说,控制裸片304中的两个接合到控制裸片304上方的存储器裸片302 和控制裸片304下方的存储器裸片302。
描绘接合垫570、574中的一些。可能还有更多接合垫。接合在一起的两个裸片302、304之间的空间填充有固体层848,其可由环氧树脂或其它树脂或聚合物形成。相比于图11中的实例,图12中的集成存储器组件104并不具有阶梯形偏移。可使用硅穿孔 (TSV)812来使信号路由通过存储器裸片302。可使用硅穿孔(TSV)814来使信号路由通过控制裸片304。
焊料球808可任选地附着到衬底802的下部表面上的接触垫810。焊料球808可用于将集成存储器组件104电耦合及机械耦合到主机装置,例如印刷电路板。在集成存储器组件104待用作LGA封装的情况下可省略焊料球808。
图13是单片三维存储器阵列的一个示例实施例的一部分的透视图,所述单片三维存储器阵列可包括包含多个非易失性存储器单元的存储器结构326。举例来说,图13展示包括存储器的一个块的一部分。所描绘结构包含定位于交替的电介质层和导电层的堆叠上方的一组位线BL,其中竖直材料列延伸穿过电介质层和导电层。举例来说,电介质层中的一个标记为D,且导电层(也被称为字线层)中的一个标记为W。交替的电介质层和导电层的数目可基于特定实施方案要求而变化。一组实施例包含108到304个交替的电介质层和导电层。一个示例实施例包含96个数据字线层、8个选择层、6个虚设字线层和110个电介质层。还可使用多于或少于108到304个层。在一实施例中,通过本地互连件LI将交替的电介质层和导电层划分成四个“指形件”或子块。图13展示两个指形件和两个本地互连件LI。源极线层SL在交替的电介质层和字线层下方。竖直材料列(也被称为存储孔)形成在交替的电介质层和导电层的堆叠中。举例来说,竖直列/存储孔中的一个标记为MH。应注意,在图13中,电介质层被描绘成透视的,以便读者可看见定位于交替的电介质层和导电层的堆叠中的存储孔。在一个实施例中,通过利用包含电荷捕获材料的材料填充竖直列/存储孔以形成存储器单元的竖直列来形成NAND串。每一存储器单元可存储一或多个数据位。合适的存储器结构326的一个实例描述于以全文引用的方式并入本文中的美国专利10,553,298中。
图14是集成存储器组件104的一个实施例的图。在图14中描绘的实施例中,存储器裸片302接合到控制裸片304。这种接合配置类似于图8中描绘的实施例。应注意,虽然描绘相邻裸片对之间的间隙,但这种间隙可填充有环氧树脂或其它树脂或聚合物。图14展示通路352的一个实施例的额外细节。
存储器裸片包含存储器结构326。存储器结构326与存储器裸片302的衬底1072相邻。在一些实施例中,衬底1072由硅晶片的一部分形成。在这一实例中,存储器结构 326包含三维存储器阵列。存储器结构326具有与图13中描绘的实例类似的结构。存在由电介质层分隔开的数个字线层(WL)。电介质层由字线层之间的间隙表示。因此,字线层和电介质层形成堆叠。可能存在比图14中描绘的字线层多得多的字线层。与图13 的实例一样,存在延伸穿过堆叠的数个列。在每一堆叠中以附图标号1002指代一个列 1002。列含有存储器单元。举例来说,每一列可含有NAND串。存在与堆叠相邻的数个位线(BL)。
字线驱动器560同时将电压提供到存储器裸片302中的字线1042。从字线驱动器560到字线1042的通路包含导电通路1032、接合垫574a1、接合垫570a1和导电通路 1034。在一些实施例中,导电通路1032、1034被称为通路对。导电通路1032、1034可各自包含一或多个通孔(其可相对于裸片的主表面竖直延伸)和一或多个金属互连件(其可相对于裸片的主表面水平延伸)。导电通路1032、1034可包含晶体管或其它电路元件。在一个实施例中,晶体管可用于有效切断或闭合通路。其它字线驱动器(图10A中未描绘)将电压提供到其它字线。因此,除了接合垫574a1、570a1以外,还存在额外接合垫 574a、570a。如所属领域中已知,接合垫可例如由铜、铝和其合金形成。
感测放大器350与存储器裸片302中的位线通信。从感测放大器350到位线的通路包含导电通路1052、接合垫574b、接合垫570b和导电通路1054。在一些实施例中,导电通路1052、1054被称为通路对。导电通路1052、1054可包含一或多个通孔(其可相对于裸片的主表面竖直延伸)和一或多个金属互连件(其可相对于裸片的主表面水平延伸)。金属互连件可由如所属领域中已知的包含例如铜和铜合金的各种导电金属形成,且通孔可装衬有和/或填充有如所属领域中已知的包含例如钨、铜和铜合金的各种导电金属。导电通路1052、1054可包含晶体管或其它电路元件。在一个实施例中,晶体管可用于有效切断或闭合通路。
控制裸片304具有可由硅晶片形成的衬底1076。感测放大器350、字线驱动器560和其它电路1020可形成在衬底1076上和/或衬底1076中。电路1020可包含控制电路 310中的一些或全部。在一些实施例中,感测放大器350、字线驱动器560和/或其它电路1020包括CMOS电路。
存在允许控制裸片304上的电路与集成存储器组件104外部的实体(例如存储器控制器102)通信的外部信号路径。因此,控制裸片304上的电路1020可与例如存储器控制器102通信。任选地,控制裸片304上的电路可与例如主机120通信。外部通路包含控制裸片304中的通孔1058、接合垫574c、接合垫570c、硅穿孔(TSV)1060和外部垫1078。TSV 1060延伸穿过衬底1072。
TSV 1060可在半导体裸片302、304中形成集成电路之前、期间或之后形成。TSV 可通过穿过晶片蚀刻孔洞来形成。举例来说,可穿过衬底1072蚀刻孔洞。也可穿过与晶片相邻的材料蚀刻孔洞。可接着利用阻挡金属扩散的阻挡装衬孔洞。可继而利用晶种层装衬阻挡层,且所述晶种层可电镀有例如铜的电导体,但也可使用其它合适材料,例如铝、锡、镍、金、掺杂多晶硅以及其合金或组合。
对图14中描绘的实施例的大量修改是可能的。一个修改是使感测放大器350位于存储器裸片302上。
图15描绘集成存储器组件104的一个实施例。这种接合配置类似于图8中描绘的实施例。图15中的配置相对于图14中的配置添加了额外存储器裸片。因此,类似附图标号由于用于图14中的存储器裸片302而用于图15中的存储器裸片302a。在图15中描绘的实施例中,第一存储器裸片302a接合到控制裸片304,且控制裸片304接合到第二存储器裸片302b。应注意,虽然描绘相邻裸片对之间的间隙,但这种间隙可填充有环氧树脂或其它树脂或聚合物。
每一存储器裸片302a、302b包含存储器结构326。存储器结构326a与存储器裸片302a的衬底1072相邻。存储器结构326b与存储器裸片302b的衬底1074相邻。在一些实施例中,衬底1072、1074由硅晶片的一部分形成。在这一实例中,存储器结构326各自包含三维存储器阵列。
字线驱动器560同时将电压提供到存储器裸片302a中的第一字线1042和存储器裸片302b中的第二字线1044。从字线驱动器560到第二字线1044的通路包含导电通路 1032、硅穿孔(TSV)1068、接合垫576a1、接合垫572a1和导电通路1036。其它字线驱动器(图10B中未描绘)将电压提供到其它字线。
感测放大器350a与存储器裸片302a中的位线通信。从感测放大器350a到位线的通路包含导电通路1052、接合垫574b、接合垫570b和导电通路1054。感测放大器350b 与存储器裸片302b中的位线通信。从感测放大器350b到位线的通路包含导电通路1054、 TSV1056、接合垫576b、接合垫572b和导电通路1048。
对图10B中描绘的实施例的大量修改是可能的。一个修改是使感测放大器350a位于第一存储器裸片302a上,且使感测放大器350b位于第二存储器裸片302b上。
图16是描述用于编程存储器单元的NAND串的过程1100的一个实施例的流程图。出于本文件的目的,术语编程(program和programming)与写入(write和writing)同义。在一个示例实施例中,使用上文所论述的控制电路310对集成存储器组件104执行图16的过程。举例来说,图16的过程可在状态机312的方向处执行。在一个实施例中,过程1100用于将码字编程到存储器结构326中。图16的过程通过控制裸片104执行以编程存储器裸片上的存储器单元。在一个实施例中,图16的过程在状态机312的方向处执行。
在许多实施方案中,编程脉冲的量值随着每一连续脉冲增大预定步长。在图11的步骤1102中,将编程电压(Vpgm)初始化为起始量值(例如,约12到16V或另一合适电平),且将由状态机312维持的程序计数器PC初始化为1。
在一个实施例中,选择为待编程的存储器单元的群组(本文中被称为选定存储器单元)同时编程,且全都连接到同一字线(选定字线)。未选择用于编程的其它存储器单元(未选存储器单元)也有可能会连接到选定字线。也就是说,选定字线也将连接到应被禁止编程的存储器单元。另外,随着存储器单元达到其预期目标数据状态,将禁止所述存储器单元进一步编程。那些包含应被禁止编程的连接到选定字线的存储器单元的NAND 串(例如,未选NAND串)使其通道增压以禁止编程。当通道具有增压的电压时,通道与字线之间的电压差并未大到足以引起编程。为了辅助增压,在步骤1104中,控制裸片将对包含应被禁止编程的连接到选定字线的存储器单元的NAND串的通道进行预充电。
在步骤1106中,包含应被禁止编程的连接到选定字线的存储器单元的NAND串使其通道增压以禁止编程。这类NAND串在本文中被称为“未选NAND串”。在一个实施例中,未选字线接收一或多个增压的电压(例如,约7到11伏)以执行增压方案。编程禁止电压施加到耦合未选NAND串的位线。
在步骤1108中,通过控制裸片将编程信号的编程脉冲Vpgm施加到选定字线(选择用于编程的字线)。在一个实施例中,如果应编程NAND串上的存储器单元,那么对应位线在编程启用电压下偏置。本文中,这种NAND串被称为“选定NAND串”。
在步骤1108中,编程脉冲同时施加到连接到选定字线的所有存储器单元,以使得同时编程连接到选定字线的所有存储器单元(除非禁止编程所述存储器单元)。也就是说,在同一时间或在重叠时间期间(两个都被视为同时)对所述存储器单元进行编程。以这种方式,除非禁止编程连接到选定字线的所有存储器单元,否则所述存储器单元将同时改变其阈值电压。
在步骤1110中,已达到其目标状态的存储器单元通过控制裸片锁定,无法进一步编程。步骤1110可包含在一或多个验证参考电平下进行验证。在一个实施例中,验证过程是通过测试选择用于编程的存储器单元的阈值电压是否已达到适当验证参考电压来执行的。在步骤1110中,可在存储器单元已验证(通过Vt的测试)存储器单元已达到其目标状态之后锁定存储器单元。
如果在步骤1112中确定所有存储器单元已达到其目标阈值电压(通过),那么编程过程完成且是成功的,因为所有选定存储器单元被编程和验证为其目标状态。在步骤 1114中,报告“通过(PASS)”状态。或者,如果在步骤1112中确定并非所有存储器单元都已达到其目标阈值电压(失败),那么编程过程继续到步骤1116。
在步骤1116中,存储器系统对尚未达到其相应目标阈值电压分布的存储器单元的数目进行计数。也就是说,系统对到目前为止未能达到其目标状态的存储器单元的数目进行计数。这种计数可由状态机312、存储器控制器102或其它逻辑进行。在一个实施方案中,感测块中的每一个将存储其相应单元的状态(通过/失败)。在一个实施例中,存在一个总计数,其反映未能通过上一验证步骤的当前正进行编程的存储器单元的总数。在另一实施例中,保存每一数据状态的单独计数。
在步骤1118中,确定来自步骤1116的计数是否小于或等于预定限制。在一个实施例中,预定限制为在存储器单元页的读取过程期间可由错误校正码(ECC)校正的位数目。如果失败的单元的数目小于或等于预定限制,那么编程过程可停止且在步骤1114中报告“通过”状态。在这种情形下,正确地编程足够的存储器单元,使得可在读取过程期间使用ECC校正尚未完全编程的较少剩余存储器单元。在一些实施例中,步骤1118 中使用的预定限制小于在读取过程期间可由错误校正码(ECC)校正的位数目,从而允许将来/额外错误。当编程页的不到所有存储器单元或比较仅一个数据状态(或少于所有状态)的计数时,预定限制可为在存储器单元页的读取过程期间可由ECC校正的位数目的一部分(成比例或不成比例)。在一些实施例中,并不预定限制。替代地,限制基于已针对页计数的错误数目、所执行的编程-擦除循环的数目或其它准则而改变。
如果失败的存储器单元的数目不小于预定限制,那么在步骤1120处继续编程过程,且针对编程限值(PL)检查程序计数器PC。编程限值的实例包含6、12、16、19和30;然而,可使用其它值。如果程序计数器PC不小于编程限值PL,那么编程过程被视为失败,且在步骤1124中报告失败(FAIL)状态。如果程序计数器PC小于编程限值PL,那么过程在步骤1122处继续,在其期间,程序计数器PC递增1且编程电压Vpgm增加到下一量值。举例来说,下一脉冲将具有比先前脉冲大一步长(例如,0.1到1.0伏的一步长)的量值。在步骤1122之后,过程循环回到步骤1104,且另一编程脉冲(通过控制裸片)施加到选定字线,使得执行图16的编程过程的另一重复(步骤1104到1122)。
在成功编程过程结束时,存储器单元的阈值电压视需要应在编程的存储器单元的一或多个阈值电压分布内或在擦除的存储器单元的阈值电压分布内。图17A是阈值电压与存储器单元数目的图,且示出在每一存储器单元存储每存储器单元单个位数据时存储器阵列的示例阈值电压分布。图17A展示两个阈值电压分布:E和P。阈值电压分布E对应于擦除数据状态。阈值电压分布P对应于编程数据状态。因此,具有阈值电压分布E 中的阈值电压的存储器单元处于擦除数据状态中(例如,擦除所述存储器单元)。因此,具有阈值电压分布P中的阈值电压的存储器单元处于编程数据状态中(例如,编程所述存储器单元)。在一个实施例中,擦除的存储器单元存储数据“1”,且编程的存储器单元存储数据“0”。存储每存储器单元单个位数据的存储器单元被称为单层级单元(“SLC”)。
图17B示出在每一存储器单元存储每存储器单元多个位数据时存储器阵列的示例阈值电压分布。存储每存储器单元多个位数据的存储器单元被称为多层级单元 (“MLC”)。在图17B的示例实施例中,每一存储器单元存储三个数据位。然而,其它实施例可使用每存储器单元其它数据容量(例如,每存储器单元一个、两个、四个或五个数据位)。图17b展示八个阈值电压分布,对应于八个数据状态。第一阈值电压分布(数据状态)Er表示擦除的存储器单元。其它七个阈值电压分布(数据状态)A到G表示编程的存储器单元,且因此也称为编程状态。每一阈值电压分布(数据状态)对应于数据位集合的预定值。编程到存储器单元中的数据与单元的阈值电压电平之间的特定关系取决于单元所采用的数据编码方案。在一个实施例中,使用格雷码(Gray code)分配将数据值分配给阈值电压范围,使得如果存储器的阈值电压错误地偏移到其相邻物理状态,则仅会影响一个位。
图17b展示用于从存储器单元读取数据的七个读取参考电压VrA、VrB、VrC、VrD、VrE、VrF和VrG。通过测试(例如,执行感测操作)给定存储器单元的阈值电压是高于还是低于所述七个读取参考电压,系统可确定存储器单元处于哪一数据状态(即,A、 B、C、D、…)。
图17B还展示七个验证参考电压VvA、VvB、VvC、VvD、VvE、VvF和VvG。在一些实施例中,当将存储器单元编程为数据状态A时,系统将测试那些存储器单元是否具有大于或等于VvA的阈值电压。当将存储器单元编程为数据状态B时,系统将测试存储器单元是否具有大于或等于VvB的阈值电压。当将存储器单元编程为数据状态C 时,系统将确定存储器单元是否具有大于或等于VvC的其阈值电压。当将存储器单元编程为数据状态D时,系统将测试那些存储器单元是否具有大于或等于VvD的阈值电压。当将存储器单元编程为数据状态E时,系统将测试那些存储器单元是否具有大于或等于 VvE的阈值电压。当将存储器单元编程为数据状态F时,系统将测试那些存储器单元是否具有大于或等于VvF的阈值电压。当将存储器单元编程为数据状态G时,系统将测试那些存储器单元是否具有大于或等于VvG的阈值电压。图17B还展示Vev,所述Vev 是用以测试是否已恰当地擦除存储器单元的电压电平。
在被称作全序列编程的一个实施例中,可使用图16的过程将存储器单元从擦除数据状态Er直接编程到编程数据状态A到G中的任一个。举例来说,可首先擦除一群待编程的存储器单元,使得所述群中的所有存储器单元都处于擦除数据状态Er。接着,编程过程用于将存储器单元直接编程为数据状态A、B、C、D、E、F和/或G。举例来说,在一些存储器单元从数据状态ER编程为数据状态A时,其它存储器单元从数据状态ER 编程为数据状态B和/或从数据状态ER编程为数据状态C,等等。图17B的箭头表示全序列编程。在一些实施例中,数据状态A到G可重叠,其中控制裸片304和/或存储器控制器102依赖于错误校正以识别正存储的正确数据。
一般来说,在验证操作和读取操作期间,选定字线连接到电压(参考信号的一个实例),针对每一读取操作指定所述电压的电平(例如,参看图17的读取比较电平VrA、 VrB、VrC、VrD、VrE、VrF和VrG)或针对验证操作指定所述电压的电平(例如,参看图17B的验证目标电平VvA、VvB、VvC、VvD、VvE、VvF和VvG),以便确定相关存储器单元的阈值电压是否已达到这类电平。在施加字线电压之后,测量存储器单元的传导电流以确定存储器单元是否响应于施加到字线的电压而接通(传导电流)。如果测量出传导电流大于特定值,那么假设存储器单元接通,且施加到字线的电压大于存储器单元的阈值电压。如果并未测量到传导电流大于所述特定值,那么假设存储器单元并未接通,且施加到字线的电压不大于存储器单元的阈值电压。在读取或验证过程期间,未选存储器单元在其控制栅极处设置有一或多个读取通过电压(也称为旁路电压),使得这些存储器单元将用作导通门(例如,无论这些存储器单元是被编程还是被擦除,都传导电流)。
用于测量读取或验证操作期间存储器单元的传导电流的方式有许多。在一个实例中,通过传导电流对感测放大器中的专用电容器放电或充电的速率来测量存储器单元的传导电流。在另一实例中,选定存储器单元的传导电流允许(或不能允许)包含所述存储器单元的NAND串对对应位线进行放电。在一段时间之后测量位线上的电压,以查看所述位线是否已放电。应注意,本文中所描述的技术可与所属领域中已知用于验证/读取的不同方法一起使用。也可使用所属领域中已知的其它读取和验证技术。
图18描绘每一存储器单元存储四个数据位时的阈值电压分布。图18描绘阈值电压分布(数据状态)S0到S15之间可能存在一些重叠。重叠可由于例如存储器单元损失电荷(且因此阈值电压下降)的因素而发生。编程干扰可无意地增加存储器单元的阈值电压。同样地,读取干扰可无意地增加存储器单元的阈值电压。随时间推移,阈值电压分布的位置可改变。这类改变可增大位错误率,由此延长解码时间或甚至使解码不可能。改变读取参考电压可帮助减轻这类影响。在读取过程期间使用ECC可修正错误和不明确性。在使用每存储器单元四个位时,存储器可使用上文所论述的全序列编程或多遍次编程过程(例如,下文论述的过程或所属领域中已知的其它过程)来编程。
图19A和19B描述被称为模糊-精细编程(Foggy-Fine Programming)的多遍次编程过程的一个实例。图19A描绘多遍次编程过程中的第一遍次,其包含将存储器单元从擦除状态(Er)编程为编程数据状态A到G中的任一个,类似于全序列编程。然而,并非使用标准验证参考电压(例如,VvA、VvB、VvC、VvD、VvE、VvF和VvG),图19A 的过程使用各自略微低于对应标准验证参考电压的一组替代验证参考电压(例如,VvA'、 VvB'、VvC'、VvD'、VvE'、VvF'和VvG')。因此,图19A的阈值电压可被认为是比图17B 的阈值电压更低的电压下的中间阈值电压分布(或中间数据状态)。
图19B描绘多遍次编程过程中的第二(和最后)遍次,其包含编程存储器单元以收紧阈值分布。因此,使用标准验证参考电压(例如,VvA、VvB、VvC、VvD、VvE、VvF 和VvG)将存储器单元从图19A的中间阈值电压分布(或中间数据状态)编程为图19B 的最终或目标阈值电压分布(或数据状态)。将图19A称为模糊遍次且图19B称为精细遍次。在一个实施例中,针对给定字线执行图19A的模糊遍次,接着针对下一字线执行模糊遍次。针对下一字线的模糊遍次可对给定字线造成干扰,进而扩宽中间阈值电压分布,这可能在读取数据时产生错误。然而,在针对下一字线的模糊遍次之后接着执行图 19B的精细遍次,从而去除或减少来自下一字线的干扰影响。可使用图16的过程实施图 19A和19B的多遍次编程过程的两个遍次。
图20A到20I公开用于编程存储器结构326的存储器单元的多遍次编程过程。图20A到20I的过程是三遍次编程过程。可使用图16的过程实施图20A到20I的多遍次编程过程中的所有三个遍次。在第一步骤之前,将擦除存储器单元,使得所述存储器单元处于状态Er的擦除阈值分布中。
图20A到20I的过程假设每一存储器单元存储三个数据位,其中每一位处于不同页中。第一数据位(最左位)与第一页相关联。中间位与第二页相关联。最右位与第三页相关联。在一个示例实施例中,数据状态与数据的相关性如下:Er=111,A=110,B=101, C=100,D=011,E=010,F=001以及G=000。然而,其它实施例可使用其它数据编码方案。
在编程第一页时(如图20A中所描述),如果所述位为数据“1”,那么存储器单元将保持处于状态Er(阈值电压分布1202)中。如果所述位为数据“0”,那么存储器单元编程为状态D(阈值电压分布1204)。在(任选地)编程相邻存储器单元(例如,相邻字线上的存储器单元)之后,相邻浮动栅极之间的电容耦合可能使得状态D如图20B中所描绘扩宽。状态Er也可扩宽,但Er与A之间存在足够的容限以忽略所述影响。关于相邻浮动栅极之间的电容耦合的更多信息可在美国专利5,867,429和美国专利6,657,891 中找到,所述两个专利以全文引用的方式并入本文中。
当在第二遍次期间编程第二页时(参看图20C),如果存储器单元处于数据状态Er中且第二页位为数据“1”,那么存储器单元保持处于数据状态Er中。在一些实施例中,第二页的编程过程将阈值电压分布1202收紧到新Er。如果存储器单元处于数据状态Er 中且待写入到第二页的数据为“0”,那么存储器单元移动到状态B(阈值电压分布1206)。此时,在编程过程中,数据状态B具有VvB*的验证点(最低电压)。如果存储器单元处于数据状态D中且待写入到存储器单元的数据为“1”,那么存储器单元保持处于D中。然而,通过将存储器单元从阈值电压分布1204移动到状态D的阈值电压分布1208来收紧状态D,如图20C中所描绘。阈值电压分布1208具有VvD*的验证点(相较于阈值电压分布1204的VvD**)。如果存储器单元处于状态D中且待写入到第二页的数据为“0”,那么存储器单元将其阈值电压移动到状态F(阈值电压分布1210),其具有VvF*的验证点。
在(任选地)编程相邻存储器单元之后,状态B、D和F由于浮动栅极到浮动栅极耦合而扩宽,如由图20D的阈值电压分布1206、1208和1210所描绘。在一些情况下,状态Er也可扩宽。
图20E、20F、20G和20H描绘编程过程的第三遍次期间的第三页的编程。虽然可使用一个图来展示编程,但出于可见性原因,在四个图中描绘所述过程。在已编程第二页之后,存储器单元处于状态Er、B、D或E中。图20E展示针对第三页编程的作为状态Er的存储器单元。图20F展示针对第三页编程的作为状态B的存储器单元。图20G 展示针对第三页编程的处于状态D中的存储器单元。图20H展示针对第三页编程的处于状态E中的存储器单元。图20I展示已对所述群存储器单元(同时或依序)执行图 20E、20F、20G和20H的过程之后的阈值电压分布。在一个实施例中,使用图16的过程对所述群存储器单元执行图20E、20F、20G和20H的过程。
如果存储器单元处于状态Er中且第三页数据为“1”,那么存储器单元保持处于状态Er。如果第三页的数据为“0”,那么存储器单元的阈值电压升高到状态A,其具有VvA 的验证点(参看图20E)。
如果存储器单元处于状态B中且待写入在第三页中的数据为“1”,那么存储器单元将保持处于状态B中(参看图20F)。然而,将执行一些编程以将阈值分布1206收紧到具有VvB伏的验证点的新状态B。如果待写入到第三页的数据为“0”,那么存储器单元将编程到状态C,其具有VvC伏的验证点(参看图20F)。
如果存储器单元处于状态D中且待写入到第三页的数据为“1”,那么存储器单元将保持处于状态D中(参看图20G)。然而,将执行一些编程,使得阈值电压分布1208将收紧到具有VvD的验证点的新状态D。如果存储器单元处于状态D中且待写入到第三页的数据为“0”,那么存储器单元将使其阈值电压升高到状态E,其具有VvE的验证点 (参看图20G)。
如果存储器单元处于状态F中且待写入到第三页的数据为“1”,那么存储器单元将保持处于状态G中(参看图20H)。然而,将存在一些编程,使得阈值电压分布1210收紧到新状态F,其具有VvF处的验证点。如果第三页数据为“0”,那么存储器单元将使其阈值电压编程到状态G,其具有VvG处的验证点。在第三页的编程结束时,存储器单元将处于图20I中描绘的八个状态中的一个中。
由图16、17A、17B、18、19A、19B和20A到20I描述的编程过程通过控制裸片 304执行(例如,通过一或多个控制裸片304上的一或多个控制电路执行)以编程存储器裸片302上的存储器单元。在一个实施例中,使用控制电路310的其它电路在状态机312(或其它处理器或微控制器)的方向处执行所述编程过程。
图21是描述由存储器控制器102执行以使得数据编程到存储器裸片302上的存储器单元中的过程的一个实施例的流程图。在步骤1302中,存储器控制器102借助于接口130从主机120接收数据(参看图1)。数据可以是用户数据,其是由主机120的用户提供的数据。举例来说,如果主机120是数码相机,那么数据可以是照片的全部或一部分。在步骤1304中,存储器控制器102编码数据以形成一或多个码字。在这一实施例中,存储器控制器102(而非控制裸片304)编码用于ECC目的的数据。在一个实例中,存储器控制器102通过添加奇偶校验位来编码数据。在一个实施例中,存储器控制器102 采用与控制裸片304不同的编码器。由此,存储器控制器102在编码过程期间将添加与控制裸片304不同量的奇偶校验位。举例来说,在步骤1304期间,存储器控制器(例如,ECC引擎226/256)添加第一数目的奇偶校验位。如稍后将解释,在控制裸片304编码数据时,控制裸片304添加第二数目的奇偶校验位,其中奇偶校验位的第一数目不同于奇偶校验位的第二数目。在一个实施例中,奇偶校验位的第二数目大于奇偶校验位的第一数目。
在图21的步骤1306中,存储器控制器102借助于通信通道(例如,切换模式接口)将码字(数据位和奇偶校验位)传送到集成存储器组件104(例如,传送到一或多个控制裸片304)。在步骤1308中,存储器控制器102指示一或多个控制裸片304编程在步骤1306中传送的码字。在一个实施例中,用以执行编程的指令包括借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)发送一或多个地址和一或多个命令。在步骤1310中,一或多个控制裸片304将码字编程到一或多个存储器裸片302中。举例来说,一或多个控制裸片304执行由图16、17A、17B、18、19A/B和/或20A到20I 描述的编程过程,以编程一或多个存储器裸片302上的存储器单元。如果存在待编程的更多数据(步骤1312),那么图21的过程循环回到步骤1302;否则,编程完成(步骤 1314)。
在图21的另一实施例中,存储器控制器可在不使用控制裸片的情况下将数据直接写入到一或多个存储器裸片。将如上文所论述执行步骤1302和1304。然而,步骤1306 和1308将由新步骤替换,在所述新步骤中,存储器控制器将码字传送到存储器裸片且指示存储器裸片编程所述码字。
图22是描述由存储器控制器102执行以使得数据编程到存储器裸片302上的存储器单元中的过程的另一实施例的流程图。在图22的实施例中,控制裸片304(而非存储器控制器102)编码用于ECC目的的数据。在步骤1402中,存储器控制器102借助于接口130从主机120接收数据(参看图1)。数据可以是用户数据。在步骤1404中,存储器控制器102借助于通信通道(例如,切换模式接口)将原始数据(例如,未利用ECC 信息编码的数据)传送到集成存储器组件104(例如,传送到一或多个控制裸片304)。在步骤1406中,存储器控制器102指示一或多个控制裸片304将所传送原始数据编程到一或多个存储器裸片302中。在一个实施例中,用以执行编程的指令包括借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)发送一或多个地址和一或多个命令。在一些实施例中,步骤1408在步骤1406之前执行。在步骤1408中,一或多个控制裸片304将数据编程到一或多个存储器裸片302中。举例来说,一或多个控制裸片304执行由图16、17A、17B、18、19A/B和/或20A到20I描述的编程过程,以编程一或多个存储器裸片302上的存储器单元。如果存在待编程的更多数据(步骤1410),那么图22的过程循环回到步骤1402;否则,编程完成(步骤1412)。
图23是描述由存储器控制器102执行以使得从存储器裸片302上的存储器单元读取数据的过程的一个实施例的流程图。在步骤1502中,存储器控制器102发送读取请求到一或多个控制裸片304。在一个实施例中,用以执行读取的指令包括借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)发送一或多个地址和一或多个命令。在步骤1504中,一或多个控制裸片304对一或多个存储器裸片302执行读取过程,且存储在一或多个控制裸片304上的锁存器360中读取的数据。在步骤1506中,一或多个控制裸片304(例如,解码器390)解码在一或多个控制裸片304上的锁存器 360中读取(如上文所论述)及存储的数据。在步骤1508中,一或多个控制裸片304借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)发送已解码的数据到存储器控制器102。在一个实施例中,一或多个控制裸片304借助于通信通道发送已解码的数据位(而非奇偶校验位)到存储器控制器102。
如上文所提及,为了解决容量与性能之间的折衷,存储器系统100最初将数据作为每存储器单元单个位数据编程以利用更快的编程速度。随后,在存储器系统100空闲或另外具有可用资源时,数据将作为自适应折叠技术的一部分重新编程为每存储器单元多个位数据。图24更详细地解释首先存储为每存储器单元单个位数据以及随后执行自适应折叠的这一过程。图24的过程由控制裸片304执行。在一个实施例中,图24的过程由一或多个控制裸片304上的一或多个控制电路执行。在一个实施例中,图24的过程由状态机312、折叠电路314、处理器、微控制器等执行。
在图24的步骤1602中,控制裸片304从存储器控制器102(裸片外电路的一个实例)接收编程第一组数据的请求。举例来说,由于存储器控制器102执行图21的步骤1308或图22的步骤1406,控制裸片304可借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)从存储器控制器102接收请求。在步骤1604中,控制裸片 304从存储器控制器102接收第一组数据。第一组数据可存储在锁存器360中。在一个实例中,第一组数据是数据页。在一个示例实施方案中,数据页包含用于连接到块中的字线的每一存储器单元的一个位。在其它实施例中,页可以是不同量的数据,且/或第一组数据是与页不同量的数据。在一个示例实施方案中,步骤1606包含控制裸片304由于存储器控制器102执行图21的步骤1306或图22的步骤1404而借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)从存储器控制器102接收第一组数据。在一些实施例中,步骤1602和1604的次序可倒转。在步骤1606中,控制裸片304将来自控制裸片304的作为每存储器单元单个位数据的第一组数据编程到存储器裸片302 中的第一组非易失性存储器单元中。在一组实施例中,步骤1606的编程包括控制裸片 304执行由图16描述的编程过程以将第一组数据存储在图17A的阈值电压分布E和P 中。也可以使用其它编程过程。
在图24的步骤1608中,控制裸片304从存储器控制器102接收编程第二组数据的请求。举例来说,由于存储器控制器102执行图21的步骤1308或图22的步骤1406,控制裸片304可借助于通信通道(例如,切换模式接口,参看存储器控制器接口332) 从存储器控制器102接收请求。在步骤1610中,控制裸片304从存储器控制器102接收第二组数据。第二组数据可存储在锁存器360中。在一个实例中,第二组数据是数据页。在其它实施例中,第二组数据是与页不同量的数据。在一个示例实施方案中,步骤 1610包含控制裸片304由于存储器控制器102执行图21的步骤1306或图22的步骤 1404而借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)从存储器控制器102接收第二组数据。在一些实施例中,步骤1608和1610的次序可倒转。在步骤1612中,控制裸片304将来自控制裸片304的作为每存储器单元单个位数据的第二组数据编程到存储器裸片302中的第二组非易失性存储器单元中。在一组实施例中,步骤1612的编程包括控制裸片304执行由图16描述的编程过程以将第一组数据存储在图 17A的阈值电压分布E和P中。也可以使用其它编程过程。
在图24的步骤1614中,控制裸片304从存储器控制器102接收编程第三组数据的请求。举例来说,由于存储器控制器102执行图21的步骤1308或图22的步骤1406,控制裸片304可借助于通信通道(例如,切换模式接口,参看存储器控制器接口332) 从存储器控制器102接收请求。在步骤1616中,控制裸片304从存储器控制器102接收第三组数据。第三组数据可存储在锁存器360中。在一个实例中,第三组数据是数据页。在其它实施例中,第三组数据是与页不同量的数据。在一个示例实施方案中,步骤 1616包含控制裸片304由于存储器控制器102执行图21的步骤1306或图22的步骤 1404而借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)从存储器控制器102接收第三组数据。在一些实施例中,步骤1614和1616的次序可倒转。在步骤1618中,控制裸片304将来自控制裸片304的作为每存储器单元单个位数据的第三组数据编程到存储器裸片302中的第三组非易失性存储器单元中。在一组实施例中,步骤1618的编程包括控制裸片304执行由图16描述的编程过程以将第一组数据存储在图 17A的阈值电压分布E和P中。也可以使用其它编程过程。
在步骤1620中,控制裸片304执行自适应折叠。也就是说,控制裸片304将第一组数据、第二组数据和第三组数据从每存储器单元单个位数据折叠为每存储器单元多个位数据。所得每存储器单元多个位数据存储在存储器裸片302上。
图25是描述用于执行自适应折叠的过程的流程图。图25的过程是图24的步骤1620的一个示例实施方案。图25的过程由控制裸片304执行。在一个实施例中,图25的过程由一或多个控制裸片304上的一或多个控制电路执行。在一个实施例中,图25的过程由状态机312、折叠电路314、处理器、微控制器等执行。
在图25的步骤1702中,控制裸片304从存储器裸片302上的第一组非易失性存储器单元读取第一组数据。第一组数据作为每存储器单元单个位数据存储在第一组非易失性存储器单元中。举例来说,第一组数据可存储在图17A的阈值电压分布E和P中,且步骤1702包括感测阈值电压以确定存储器单元是处于图17A的阈值电压分布E还是图 17A的阈值电压分布P中。在步骤1704中,步骤1702中读取的数据存储在控制裸片 304上。举例来说,第一组数据可存储在锁存器360和/或存储区318中。在步骤1706 中,处理第一组数据(其存储在控制裸片304上)以用于编程。在一个实施例中,对控制裸片304(例如,通过状态机312、折叠电路314、处理器、微控制器等)执行步骤 1706,且所述步骤1706包含基于所确定的误差度量执行多个解码选项中的一个(如下文将更详细地解释)。
在图25的步骤1708中,控制裸片304从存储器裸片302上的第二组非易失性存储器单元读取第二组数据。第二组数据作为每存储器单元单个位数据存储在第二组非易失性存储器单元中。举例来说,第二组数据可存储在图17A的阈值电压分布E和P中,且步骤1708包括感测阈值电压以确定存储器单元是处于图17A的阈值电压分布E还是图 17A的阈值电压分布P中。在步骤1710中,步骤1708中读取的数据存储在控制裸片 304上。举例来说,第二组数据可存储在锁存器360和/或存储区318中。在步骤1712 中,处理第二组数据(其存储在控制裸片304上)以用于编程。在一个实施例中,对控制裸片304(例如,通过状态机312、折叠电路314、处理器、微控制器等)执行步骤 1712,且所述步骤1712包含基于所确定的误差度量执行多个解码选项中的一个(如下文将更详细地解释)。
在图25的步骤1714中,控制裸片304从存储器裸片302上的第三组非易失性存储器单元读取第三组数据。第三组数据作为每存储器单元单个位数据存储在第三组非易失性存储器单元中。举例来说,第三组数据可存储在图17A的阈值电压分布E和P中,且步骤1714包括感测阈值电压以确定存储器单元是处于图17A的阈值电压分布E还是图 17A的阈值电压分布P中。在步骤1716中,步骤1714中读取的数据存储在控制裸片 304上。举例来说,第三组数据可存储在锁存器360和/或存储区318中。在步骤1718 中,处理第三组数据(其存储在控制裸片304上)以用于编程。在一个实施例中,对控制裸片304(例如,通过状态机312、折叠电路314、处理器、微控制器等)执行步骤 1718,且所述步骤1718包含基于所确定的误差度量执行多个解码选项中的一个(如下文将更详细地解释)。
在步骤1720中,控制裸片304将第一组数据、第二组数据和第三组数据作为每存储器单元多个位数据编程到存储器裸片上的第四组非易失性存储器单元,使得第四(目标)组非易失性存储器单元中的每一存储器单元(或至少多个存储器单元)存储来自第一组数据、第二组数据和第三组数据的数据。在一个实施例中,步骤1720可包括执行图 16、17B、19A/B和/或20A到20I的过程以将数据编程到图17B、19B或20I的阈值电压分布Er、A、B、C、D、E、F或G中。也可以使用其它编程过程。也可以实施多于或少于每存储器单元三个位。
出于本文件的目的,短语“存储来自第一组数据、第二组数据和第三组数据的数据”意指例如存储三个数据位的存储器单元将具有来自第一组数据的一个位、来自第二组数据的一个位以及来自第三组数据的一个位。如果存储器单元存储四个数据位,那么每一位可来自不同源数据组。这一概念可扩展到多于四个数据位且小于三个数据位。
在一个实施例中,第一组数据是第一数据页,第二组数据是第二数据页且第三组数据是第三数据页;第四组非易失性存储器单元中的每一存储器单元存储来自第一页的数据的一个位、来自第二页的数据的一个位以及来自第三页的数据的一个位;因此,第四 (目标)组非易失性存储器单元中的每一存储器单元(或至少多个存储器单元)存储来自第一组数据、第二组数据和第三组数据的数据。在其它实施例中,第一组数据、第二组数据和第三组数据可以是与页不同的单元。
如果存储每存储器单元多个位数据的存储器单元仅存储两个位(而非三个位),那么图25的过程读取第一组数据和第二组数据,且将第一组数据和第二组数据作为每存储器单元多个位数据编程到第三组非易失性存储器单元,使得第三组非易失性存储器单元中的多个存储器单元存储来自第一组数据和第二组数据中的两个的数据。类似地,如果存储每存储器单元多个位数据的存储器单元存储四个位,那么图25的过程读取第一组数据、第二组数据、第三组数据和第四组数据,且将四组数据作为每存储器单元多个位数据编程到第五组非易失性存储器单元,使得第五组非易失性存储器单元中的多个存储器单元存储来自四组数据的数据。
图26是描述用于处理一组数据以进行编程的过程的一个实施例的流程图。图26的过程是图25的步骤1706、1712和1718的一个示例实施方案。对一组数据执行图26的过程。举例来说,在实施步骤1706时对第一组数据执行图26的过程,在实施步骤1712 时对第二组数据执行图26的过程,在实施步骤1718时对第三组数据执行图26的过程等。图26的过程由控制裸片304执行。在一个实施例中,图26的过程由一或多个控制裸片304上的一或多个控制电路执行。在一个实施例中,图26的过程由状态机312、折叠电路314、处理器、微控制器等执行。
在图26的步骤1802中,控制裸片304确定所述组数据的误差度量。在一个实施例中,控制裸片304的一或多个控制电路配置成在不解码所述组数据的情况下确定所述组数据的误差度量。在一个实施例中,确定数据的度量可包括确定校验子权重,这并不需要解码数据。举例来说,控制裸片304的一或多个控制电路可确定未满足的奇偶校验方程的数目。在另一实施例中,确定数据的度量可包括确定所述组数据的位错误率(BER)。也可以使用其它误差度量。在一个实施例中,对控制裸片执行/由控制裸片执行步骤 1802。
在步骤1804中,控制304比较步骤1802中确定的误差度量(MOE)与两个阈值 (阈值1(TH1)和阈值2(TH2)),且基于比较选择动作进程。如果误差度量(MOE) 小于或等于阈值1(TH1),那么数据准备用于编程,而不解码数据和/或重新编码已解码的数据(步骤1806)。数据仍存储在控制裸片304上。如果误差度量(MOE)大于阈值 1(TH1)且小于阈值2(TH2),那么控制裸片304解码控制裸片上的数据(如上文所论述)(包含修正错误)(步骤1804)。当数据存储在锁存器360或存储区318中时,由解码器390对控制裸片304执行解码过程。如果步骤1804的解码成功(步骤1806),那么在步骤1808中,控制裸片304重新编码已解码的数据(如上文所论述)。当数据存储在锁存器360或存储区318中时,由编码器380对控制裸片304执行编码过程。在编码之后,数据准备用于编程(步骤1810)。
如果(在步骤1804中)误差度量(MOE)大于或等于阈值2(TH2)或步骤1804的解码过程并未成功(步骤1806),那么数据借助于通信通道(例如,切换模式接口,参看存储器控制器接口332)从控制裸片304传输到存储器控制器102。如上文所论述,在一个实施例中,存储器控制器102具有比控制裸片304更强的解码器(例如,可在更高功率下修正更多错误的更高分辨率)。在步骤1822中,当数据存储在存储器控制器上时,存储器控制器102解码数据。解码过程包含修正数据中的错误。在步骤1826中,控制裸片304接收从存储器控制器102返回的数据。在接收数据并将数据存储在锁存器 360或存储区318中之后,数据准备用于编程(步骤1828)。步骤1804到1828是(基于所确定的误差度量)在以下各项之间选择且进行以下各项的示例实施例:不解码所述组数据;在控制裸片304上对所述组数据执行解码;或在存储器控制器处对所述组数据执行解码。在误差度量是校验子权重的一个示例实施例中,阈值1(TH1)介于20到30 的范围内且阈值2(TH2)介于200到400(例如,300)的范围内。
在图26的过程的另一实施例中,存储器控制器可在不使用控制裸片的情况下将数据直接写入到一或多个存储器裸片。在这一实施例中,步骤1826将由新步骤替换,在所述新步骤中,存储器控制器将码字传送到存储器裸片且指示存储器裸片编程所述码字。
图27A到27D描绘图24和25的过程的各个阶段期间的控制裸片304的一部分和存储器裸片302的一部分。图27A到27D展示包含第一组非易失性存储器单元1902、第二组非易失性存储器单元1904、第三组非易失性存储器单元1906和第四组非易失性存储器单元1908的存储器裸片302的存储器结构326。
图27A描绘紧接在图25的步骤1602之前的控制裸片304的部分和存储器裸片302的部分。此时,数据尚未编程为每存储器单元单个位数据;因此,第一组非易失性存储器单元1902、第二组非易失性存储器单元1904、第三组非易失性存储器单元1906和第四组非易失性存储器单元1908描绘为空的(例如,所有存储器单元擦除或标记为无效)。
图27B描绘图24的步骤1618之后的控制裸片304的部分和存储器裸片302的部分。图27B展示第一组数据已编程到第一组非易失性存储器单元1902(图24的步骤 1606中),第二组数据已编程到第二组非易失性存储器单元1904(图24的步骤1612 中),且第三组数据已编程到第三组非易失性存储器单元1906(图24的步骤1618中),其皆作为每存储器单元单个位数据(SLC)。
图27C描绘图25的步骤1718之后的控制裸片304的部分和存储器裸片302的部分。第一组数据、第二组数据和第三组数据皆已根据图26的方法处理(图25的步骤1706、1712和1718中)。因此,图27C展示加载在锁存器360中以用于编程的第一组数据、第二组数据和第三组数据。在一些实施例中,第一组数据、第二组数据和第三组数据在锁存器360(或存储区318)中以用于步骤1706、1712和1718的处理。应注意,根据图26的方法的处理(图25的步骤1706、1712和1718中)包含用于解码的三个选项,且第一组数据、第二组数据和第三组数据有可能经历不同的选项。举例来说,可能不解码第一组数据(例如,步骤1806),第二组数据由控制裸片304解码(例如,步骤1804) 且第三组数据由存储器控制器102解码(例如,步骤1822)。
图27D描绘图25的步骤1720之后的控制裸片304的部分和存储器裸片302的部分。第一组数据、第二组数据和第三组数据作为每存储器单元多个位数据(MLC)编程到第四组非易失性存储器单元1908,使得第四(目标)组非易失性存储器单元中的每一存储器单元(或至少多个存储器单元)存储来自第一组数据、第二组数据和第三组数据的数据。数据在第四组非易失性存储器单元1908中组合。
在上文的论述中,不同源数据组(例如,第一组数据和第二组数据)作为每存储器单元单个位数据从同一存储器裸片读取,且接着重新编程回到同一存储器裸片中。在另一实施例中,第一组数据和第二组数据可作为每存储器单元单个位数据从不同存储器裸片读取,且接着作为每存储器单元多个位数据编程到同一存储器裸片中。考虑图9,其展示接合到存储器裸片302a和存储器裸片302b(两者皆包括非易失性存储器单元)且与存储器裸片302a和存储器裸片302b通信的控制裸片304。图24的过程可调适成将第一组数据作为每存储器单元单个位数据存储在存储器裸片302a中,且将第二组数据作为每存储器单元单个位数据存储在存储器裸片302b中。图25的过程可调适成从存储器裸片302a读取第一组数据,从存储器裸片302b读取第二组数据,且利用第二组数据将第一组数据作为每存储器单元多个位数据编程到存储器裸片302a上的一组目标非易失性存储器单元,使得目标组非易失性存储器单元中的多个存储器单元存储来自第一组数据和第二组数据中的两个的数据。
在与图9的结构相关的另一实施例中,执行图24的过程以将第一组数据存储在存储器裸片302a上的第一组非易失性存储器单元中,将第二组数据存储在存储器裸片302a上的第二组非易失性存储器单元中,且将第三组数据存储在存储器裸片302a上的第三组非易失性存储器单元中。图25的过程调适成(例如,改变步骤1720)使得第一组数据、第二组数据和第三组数据作为每存储器单元多个位数据编程到存储器裸片302b上的第四组非易失性存储器单元,其中第四组非易失性存储器单元中的每一存储器单元或多个存储器单元存储来自第一组数据、第二组数据和第三组数据的数据。
图12(上文所论述)描绘具有三个控制裸片304和三个存储器裸片302以使得每一控制裸片304接合到至少一个存储器裸片302的集成存储器组件104的实施例。硅穿孔(TSV)可用以使数据路由通过控制裸片和存储器裸片。在一个实施例中,TSV可用于一个控制裸片与另一控制裸片通信。在这一实施例中,第一控制裸片304最初可在第一存储器裸片上将第一组数据作为每存储器单元单个位数据存储在第一组非易失性存储器单元中,且在第一存储器裸片上将第二组数据作为每存储器单元单个位数据存储在第二组非易失性存储器单元中。图25的步骤1720可调适成使得第一控制裸片借助于TSV将第一组数据和第二组数据传输到第二控制裸片304,且第二控制裸片304利用第二组数据将第一组数据作为每存储器单元多个位数据编程到第二存储器裸片302a上的一组目标非易失性存储器单元,使得目标组非易失性存储器单元中的多个存储器单元存储来自第一组数据和第二组数据中的两个的数据。
已描述一种用于自适应折叠的系统,其允许最初存储为每存储器单元单个位数据的数据在无时间开销的情况下更有效地存储为每存储器单元多个位数据,所述时间开销在将数据传送到存储器控制器及从存储器控制器传送数据的情况下出现。
一个实施例包含一种设备,所述设备包括连接到第二半导体裸片的第一半导体裸片。第一半导体裸片包含非易失性存储器单元和第一多个通路。第二半导体裸片包含一或多个控制电路、与裸片外电路的接口以及第二多个通路。一或多个控制电路配置成通过第一多个通路和第二多个通路的通路对传送信号。一或多个控制电路配置成:从第一半导体裸片读取第一组数据作为每存储器单元单个位数据;在第二半导体裸片上,确定第一组数据的误差度量;在误差度量小于第一阈值的情况下,将第一组数据作为每存储器单元多个位数据编程到第一半导体裸片,而不解码及重新编码第一数据;以及在误差度量大于第一阈值的情况下,在第二半导体裸片上解码第一组数据、在第二半导体裸片上重新编码已解码的第一组数据且将重新编码的第一组数据编程为每存储器单元多个位数据。
一个实施例包含一种方法,其包括:从接合到控制裸片的存储器裸片上的第一组非易失性存储器单元读取第一组数据,所述第一组数据作为每存储器单元单个位数据存储在所述第一组非易失性存储器单元中;从存储器裸片上的第二组非易失性存储器单元读取第二组数据,所述第二组数据作为每存储器单元单个位数据存储在所述第二组非易失性存储器单元中;在控制裸片上,确定第一组数据中的误差度量;基于所确定的误差度量,在以下各项之间选择且进行以下各项:不解码第一组数据、在控制裸片上对第一组数据执行解码或在存储器控制器处对第一组数据执行解码,在控制裸片上执行所述选择,所述存储器控制器与控制裸片分隔开;以及将第一组数据和第二组数据作为每存储器单元多个位数据编程到第三组非易失性存储器单元,使得第三组非易失性存储器单元中的多个存储器单元存储来自第一组数据和第二组数据中的两个的数据。
在一个示例实施方案中,确定第一组数据中的误差度量是在不解码第一组数据的情况下执行的,且包括确定未满足的奇偶校验方程的数目。
一个示例实施方案进一步包括:在控制裸片上,确定第二组数据中的误差度量;以及在控制裸片上,且与对第一组数据的选择无关,基于第二组数据中的所确定的误差度量而在以下各项之间选择且进行以下各项:不解码第二组数据、在控制裸片上对第二组数据执行解码或在存储器控制器处对第二组数据执行解码。
一个实施例包含一种设备,所述设备包括存储器控制器和与存储器控制器通信的集成存储器组件。集成存储器组件包括含有非易失性存储器单元的存储器裸片和接合到所述存储器裸片的控制裸片。存储器控制器配置成发送将第一组数据编程到存储器裸片的第一请求到控制裸片。存储器控制器配置成发送将第二组数据编程到存储器裸片的第二请求到控制裸片。控制裸片配置成响应于第一请求而将第一组数据作为每存储器单元单个位数据编程到存储器裸片。控制裸片配置成响应于第二请求而将第二组数据作为每存储器单元单个位数据编程到存储器裸片。控制裸片进一步配置成:从存储器裸片读取第一组数据作为每存储器单元单个位数据;从存储器裸片读取第二组数据作为每存储器单元单个位数据;确定第一组数据的校验子权重;在校验子权重小于第一阈值的情况下,利用第二组数据将第一组数据作为每存储器单元多个位数据编程到存储器裸片,使得在不解码第一组数据及重新编码第一组数据的情况下执行读取、确定校验子权重以及编程;在校验子权重大于第一阈值且小于第二阈值的情况下,在控制裸片处解码第一组数据、在控制裸片处重新编码已解码的第一组数据且利用第二组数据将重新编码的第一组数据作为每存储器单元多个位数据编程到存储器裸片;以及在校验子权重大于第二阈值的情况下,将第一组数据从控制裸片传输到存储器控制器,在存储器控制器处解码第一组数据,在于存储器控制器处解码之后从存储器控制器接收第一组数据,且利用第二组数据将第一组数据作为每存储器单元多个位数据编程到存储器裸片。
出于本文件的目的,说明书中对“实施例”、“一个实施例”、“一些实施例”或“另一实施例”的引用可用于描述不同实施例或相同实施例。
出于本文件的目的,连接可以是直接连接或间接连接(例如,借助于一或多个其它部分)。在一些情况下,当元件被称为连接或耦合到另一元件时,所述元件可以直接连接到另一元件或借助于中间元件间接连接到另一元件。当元件被称为直接连接到另一元件时,则在所述元件与另一元件之间没有中间元件。如果两个装置直接或间接连接,使得这两个装置可以在它们之间传送电子信号,那么这两个装置“通信”。
出于本文件的目的,术语“基于”可以被理解为“至少部分地基于”。
出于本文件的目的,在没有额外上下文的情况下,例如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能并不暗示对象的排序,而是可以用于识别目的以识别不同的对象。
出于本文件的目的,术语对象的“组”可以指对象中的一或多个的“组”。
出于本文件的目的,如可在本文中使用的术语“顶部”和“底部”、“上部”和“下部”以及“竖直”和“水平”以及其形式仅是作为实例和说明性目的的,且并不意图限制对技术的描述,这是由于提及的物品可交换位置和定向。
已出于说明和描述的目的呈现前述详细描述。其并不意欲为穷尽的或将本发明限制于所公开的精确形式。鉴于以上教示,许多修改和变型是可能的。选择所描述的实施例以最佳地解释所公开技术的原理和其实际应用,从而使所属领域的其它技术人员能够在各种实施例中以及适合于预期的特定用途的各种修改中最好地利用所述技术。希望范围由所附权利要求书界定。

Claims (20)

1.一种设备,其包括:
第一半导体裸片,其包括非易失性存储器单元和第一多个通路;以及
第二半导体裸片,其包括一或多个控制电路、与裸片外电路的接口以及第二多个通路,所述一或多个控制电路配置成通过所述第一多个通路和所述第二多个通路的通路对传送信号,所述一或多个控制电路配置成:
从所述第一半导体裸片读取第一组数据作为每存储器单元单个位数据;
在所述第二半导体裸片上,确定所述第一组数据的误差度量;
在所述误差度量小于第一阈值的情况下,将所述第一组数据编程为每存储器单元多个位数据,而不解码及重新编码第一数据;以及
在所述误差度量大于所述第一阈值的情况下,在所述第二半导体裸片上解码所述第一组数据、在所述第二半导体裸片上重新编码已解码的第一组数据且将重新编码的第一组数据编程为每存储器单元多个位数据。
2.根据权利要求1所述的设备,其中所述第二半导体裸片上的所述一或多个控制电路配置成在所述误差度量大于第二阈值的情况下借助于所述接口将所述第一组数据传输到所述裸片外电路,以在所述裸片外电路处解码所述第一组数据,所述第二阈值大于所述第一阈值。
3.根据权利要求2所述的设备,其进一步包括:
存储器控制器,其与所述第一半导体裸片和所述第二半导体裸片分隔开,所述存储器控制器是所述裸片外电路,所述存储器控制器由通信通道连接到所述第二半导体裸片,所述存储器控制器配置成在第一分辨率和第一功率电平下解码码字,所述第二半导体裸片上的所述一或多个控制电路配置成在低于所述第一分辨率的第二分辨率下且在低于所述第一功率电平的第二功率电平下解码码字。
4.根据权利要求1所述的设备,其中:
所述一或多个控制电路进一步配置成从所述第一半导体裸片读取第二组数据作为每存储器单元单个位数据,且利用所述第一组数据将来自所述第二半导体裸片的所述第二组数据作为每存储器单元多个位数据编程到所述第一半导体裸片上的目标组非易失性存储器单元,使得所述目标组非易失性存储器单元中的多个存储器单元存储来自所述第一组数据和所述第二组数据中的两个的数据。
5.根据权利要求1所述的设备,其中所述一或多个控制电路进一步配置成:
从所述第一半导体裸片读取第二组数据作为每存储器单元单个位数据;
从所述第一半导体裸片读取第三组数据作为每存储器单元单个位数据;以及
利用所述第一组数据将来自所述第二半导体裸片的所述第二组数据和所述第三组数据作为每存储器单元多个位数据编程到所述第一半导体裸片上的目标组非易失性存储器单元,使得所述目标组非易失性存储器单元中的多个存储器单元存储来自所述第一组数据、所述第二组数据和所述第三组数据的数据。
6.根据权利要求1所述的设备,其中:
所述误差度量是校验子权重。
7.根据权利要求1所述的设备,其中:
所述一或多个控制电路配置成在不解码所述第一组数据的情况下确定所述第一组数据的所述误差度量。
8.根据权利要求1所述的设备,其中:
所述第一半导体裸片直接接合到所述第二半导体裸片。
9.根据权利要求1所述的设备,其进一步包括:
第三半导体裸片,所述第三半导体裸片包括非易失性存储器单元,所述一或多个控制电路进一步配置成从所述第三半导体裸片读取第二组数据作为每存储器单元单个位数据,且利用所述第一组数据将来自所述第二半导体裸片的所述第二组数据作为每存储器单元多个位数据编程到所述第一半导体裸片上的一组目标非易失性存储器单元,使得所述目标组非易失性存储器单元中的多个存储器单元存储来自所述第一组数据和所述第二组数据中的两个的数据。
10.根据权利要求1所述的设备,其进一步包括:
第三半导体裸片,所述第三半导体裸片包括非易失性存储器单元,所述一或多个控制电路进一步配置成:
从所述第一半导体裸片读取第二组数据作为每存储器单元单个位数据;
从所述第一半导体裸片读取第三组数据作为每存储器单元单个位数据;以及
将来自所述第二半导体裸片的所述第二组数据和所述第三组数据作为每存储器单元多个位数据编程到所述第三半导体裸片上的目标组非易失性存储器单元,使得所述目标组非易失性存储器单元中的多个存储器单元存储来自所述第一组数据、所述第二组数据和所述第三组数据的数据。
11.根据权利要求1所述的设备,其进一步包括:
第三半导体裸片,所述第三半导体裸片包括非易失性存储器单元和第三多个通路;以及
第四半导体裸片,其包括第四多个通路和与所述第二半导体裸片的接口,所述第四半导体裸片配置成通过所述第三多个通路和所述第四多个通路的通路对传送信号;
所述第二半导体裸片配置成从所述第一半导体裸片读取第二组数据作为每存储器单元单个位数据且将所述第二组数据传送到所述第四半导体裸片;且
所述第四半导体裸片配置成将来自所述第四半导体裸片的所述第二组数据作为每存储器单元多个位数据编程到所述第三半导体裸片上的目标组非易失性存储器单元。
12.根据权利要求1所述的设备,其中:
所述第一半导体裸片包含非易失性存储器阵列;且
所述第二半导体裸片包含用于从所述第一半导体裸片上的所述非易失性存储器阵列读取数据的感测放大器。
13.根据权利要求12所述的设备,其中:
所述非易失性存储器阵列包含字线;
所述第二半导体裸片包含用于所述第一半导体裸片上的所述非易失性存储器阵列的地址解码器;且
所述第二半导体裸片包含信号发生器,所述信号发生器配置成产生施加到所述第一半导体裸片上的所述非易失性存储器阵列的所述字线的电压。
14.根据权利要求1所述的设备,其中:
所述第一组数据包括数据位和奇偶校验位;且
所述一或多个控制电路配置成通过借助于所述多个通路的不同通路对读取每一数据位和奇偶校验位来从所述第一半导体裸片读取所述第一组数据。
15.一种方法,其包括:
从接合到控制裸片的存储器裸片上的第一组非易失性存储器单元读取第一组数据,所述第一组数据作为每存储器单元单个位数据存储在所述第一组非易失性存储器单元中;
从所述存储器裸片上的第二组非易失性存储器单元读取第二组数据,所述第二组数据作为每存储器单元单个位数据存储在所述第二组非易失性存储器单元中;
在所述控制裸片上,确定所述第一组数据中的误差度量;
基于所确定的误差度量,在以下各项之间选择且进行以下各项:不解码所述第一组数据、在所述控制裸片上对所述第一组数据执行解码或在存储器控制器处对所述第一组数据执行解码,在所述控制裸片上执行所述选择,所述存储器控制器与所述控制裸片分隔开;以及
将所述第一组数据和所述第二组数据作为每存储器单元多个位数据编程到第三组非易失性存储器单元,使得所述第三组非易失性存储器单元中的多个存储器单元存储来自所述第一组数据和所述第二组数据中的两个的数据。
16.根据权利要求15所述的方法,其中:
所述确定所述第一组数据中的所述误差度量是在不解码所述第一组数据的情况下执行的,且包括确定未满足的奇偶校验方程的数目。
17.根据权利要求15所述的方法,其进一步包括:
在所述控制裸片上,确定所述第二组数据中的误差度量;以及
在所述控制裸片上,且与对所述第一组数据的所述选择无关,基于所述第二组数据中的所确定的误差度量而在以下各项之间选择且进行以下各项:不解码所述第二组数据、在所述控制裸片上对所述第二组数据执行解码或在存储器控制器处对所述第二组数据执行解码。
18.一种设备,其包括:
存储器控制器;以及
集成存储器组件,其与所述存储器控制器通信,所述集成存储器组件包括包含非易失性存储器单元的存储器裸片和接合到所述存储器裸片的控制裸片;
所述存储器控制器配置成发送将第一组数据编程到所述存储器裸片的第一请求到所述控制裸片;
所述存储器控制器配置成发送将第二组数据编程到所述存储器裸片的第二请求到所述控制裸片;
所述控制裸片配置成响应于所述第一请求而将所述第一组数据作为每存储器单元单个位数据编程到所述存储器裸片;
所述控制裸片配置成响应于所述第二请求而将所述第二组数据作为每存储器单元单个位数据编程到所述存储器裸片;
所述控制裸片进一步配置成:
从所述存储器裸片读取所述第一组数据作为每存储器单元单个位数据;
从所述存储器裸片读取所述第二组数据作为每存储器单元单个位数据;
确定所述第一组数据的校验子权重;
在所述校验子权重小于第一阈值的情况下,利用所述第二组数据将所述第一组数据作为每存储器单元多个位数据编程到所述存储器裸片,使得在不解码所述第一组数据及重新编码所述第一组数据的情况下执行所述读取、确定所述校验子权重以及编程;
在所述校验子权重大于所述第一阈值且小于第二阈值的情况下,在所述控制裸片处解码所述第一组数据、在所述控制裸片处重新编码已解码的第一组数据且利用所述第二组数据将重新编码的第一组数据作为每存储器单元多个位数据编程到所述存储器裸片;以及
在所述校验子权重大于所述第二阈值的情况下,
将所述第一组数据从所述控制裸片传输到所述存储器控制器,
在所述存储器控制器处解码所述第一组数据,
在于所述存储器控制器处解码之后从所述存储器控制器接收所述第一组数据,以及
利用所述第二组数据将所述第一组数据作为每存储器单元多个位数据编程到所述存储器裸片,所述第一阈值小于所述第二阈值。
19.根据权利要求18所述的设备,其中:
所述存储器控制器配置成在第一分辨率和第一功率电平下解码,所述控制裸片配置成在低于所述第一分辨率的第二分辨率下且在低于所述第一功率电平的第二功率电平下解码。
20.根据权利要求18所述的设备,其中:
所述控制裸片和所述存储器控制器借助于包含数据总线和控制信号的接口通信;且
所述控制裸片进一步配置成将所述第一组数据从所述控制裸片传输到所述存储器控制器,使得在所述控制裸片无法成功解码所述第一组数据的情况下,能够在所述存储器控制器上解码所述第一组数据。
CN202110366827.4A 2020-05-09 2021-04-06 集成存储器组件的自适应折叠 Pending CN113625941A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/870,930 2020-05-09
US16/870,930 US11321167B2 (en) 2020-05-09 2020-05-09 Adaptive folding for integrated memory assembly

Publications (1)

Publication Number Publication Date
CN113625941A true CN113625941A (zh) 2021-11-09

Family

ID=78231962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110366827.4A Pending CN113625941A (zh) 2020-05-09 2021-04-06 集成存储器组件的自适应折叠

Country Status (3)

Country Link
US (1) US11321167B2 (zh)
CN (1) CN113625941A (zh)
DE (1) DE102021107718A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170870B1 (en) * 2020-05-28 2021-11-09 Western Digital Technologies, Inc. On-chip-copy for integrated memory assembly
US11973044B2 (en) 2021-12-23 2024-04-30 Sandisk Technologies Llc Non-volatile memory with efficient signal routing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092129A1 (en) * 2014-09-30 2016-03-31 Sandisk Technologies Inc. System and method for folding partial blocks into multi-level cell memory blocks
US20160232983A1 (en) * 2015-02-10 2016-08-11 Sandisk Technologies Inc. Adaptive Data Shaping in Nonvolatile Memory
US9569143B1 (en) * 2015-12-11 2017-02-14 Sandisk Technologies Llc In block data folding for 3D non-volatile storage
US20180150400A1 (en) * 2016-11-30 2018-05-31 Sandisk Technologies Llc Latch Caching Of Sequential Data
US20180159560A1 (en) * 2016-12-06 2018-06-07 Sandisk Technologies Llc Ecc and read adjustment based on dynamic memory error model estimation
US20190034269A1 (en) * 2017-12-21 2019-01-31 Intel Corporation Transfer of encoded data stored in non-volatile memory for decoding by a controller of a memory device
US20190122741A1 (en) * 2017-10-25 2019-04-25 Western Digital Technologies, Inc. Adaptive erase fail bit criteria

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838832A (en) 1995-04-03 1998-11-17 Iterated Systems, Inc. Method and system for representing a data set with a data transforming function and data mask
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
JP2004336919A (ja) 2003-05-09 2004-11-25 Ricoh Co Ltd キャパシタ充電回路およびそれに用いる半導体装置
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7226026B2 (en) 2005-06-22 2007-06-05 Christina Lin Suction device
US8301912B2 (en) 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US8111548B2 (en) 2008-07-21 2012-02-07 Sandisk Technologies Inc. Programming non-volatile storage using binary and multi-state programming processes
EP2396791B1 (en) 2009-02-12 2014-08-06 Ramot at Tel-Aviv University Ltd. Apparatus and method for enhancing flash endurance by encoding data
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8874994B2 (en) 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
US8799559B2 (en) 2011-10-24 2014-08-05 Sandisk Technologies Inc. Endurance enhancement coding of compressible data in flash memories
US9036417B2 (en) * 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
US8792279B2 (en) 2012-11-09 2014-07-29 Sandisk Technologies Inc. Architectures for data analytics using computational NAND memory
US9575683B2 (en) 2012-11-30 2017-02-21 Sandisk Technologies Llc Processing shaped data
US20170148510A1 (en) 2013-05-31 2017-05-25 Sandisk Technologies Llc Updating read voltages
US9165649B2 (en) 2013-12-20 2015-10-20 Sandisk Technologies Inc. Systems and methods of shaping data
US10387303B2 (en) 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
US10459644B2 (en) 2016-10-28 2019-10-29 Western Digital Techologies, Inc. Non-volatile storage system with integrated compute engine and optimized use of local fast memory
US10218384B2 (en) 2016-12-01 2019-02-26 Sandisk Technologies Llc ECC decoder with multiple decoding modes
US10565123B2 (en) 2017-04-10 2020-02-18 Western Digital Technologies, Inc. Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
US10725699B2 (en) 2017-12-08 2020-07-28 Sandisk Technologies Llc Microcontroller instruction memory architecture for non-volatile memory
US10923462B2 (en) 2018-05-01 2021-02-16 Western Digital Technologies, Inc. Bifurcated memory die module semiconductor device
US10553298B1 (en) 2018-07-27 2020-02-04 Sandisk Technologies Llc Non-volatile memory with countermeasure for select gate disturb

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092129A1 (en) * 2014-09-30 2016-03-31 Sandisk Technologies Inc. System and method for folding partial blocks into multi-level cell memory blocks
US20160232983A1 (en) * 2015-02-10 2016-08-11 Sandisk Technologies Inc. Adaptive Data Shaping in Nonvolatile Memory
US9569143B1 (en) * 2015-12-11 2017-02-14 Sandisk Technologies Llc In block data folding for 3D non-volatile storage
US20180150400A1 (en) * 2016-11-30 2018-05-31 Sandisk Technologies Llc Latch Caching Of Sequential Data
US20180159560A1 (en) * 2016-12-06 2018-06-07 Sandisk Technologies Llc Ecc and read adjustment based on dynamic memory error model estimation
US20190122741A1 (en) * 2017-10-25 2019-04-25 Western Digital Technologies, Inc. Adaptive erase fail bit criteria
US20190034269A1 (en) * 2017-12-21 2019-01-31 Intel Corporation Transfer of encoded data stored in non-volatile memory for decoding by a controller of a memory device

Also Published As

Publication number Publication date
US20210349778A1 (en) 2021-11-11
DE102021107718A1 (de) 2021-11-11
US11321167B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US11301321B2 (en) Data shaping for integrated memory assembly
US10991444B1 (en) Tiered read reference calibration
US11488682B2 (en) Calibration for integrated memory assembly
US11763911B2 (en) On-chip-copy for integrated memory assembly
US11482296B2 (en) ECC in integrated memory assembly
US11392327B2 (en) Local data compaction for integrated memory assembly
US11977915B2 (en) Non-volatile memory with intelligent compute task distribution
JP7179127B2 (ja) ソフトビット基準レベル較正
US11650932B2 (en) Integrated non-volatile memory assembly with address translation
US11481154B2 (en) Non-volatile memory with memory array between circuits
CN113625941A (zh) 集成存储器组件的自适应折叠
US11698750B2 (en) Smart re-use of parity buffer
US11068342B1 (en) Redundancy data in integrated memory assembly
US11901018B2 (en) Sense amplifier structure for non-volatile memory with neighbor bit line local data bus data transfer
US11894068B2 (en) Efficient sensing of soft bit data for non-volatile memory
US20220230685A1 (en) Read threshold calibration for nonvolatile memory with encoded foggy-fine programming
KR102621497B1 (ko) 비휘발성 스토리지에 대한 판독 적분 시간 교정
US11816353B2 (en) Parity data for non-volatile storage
US11971829B2 (en) On-the-fly compression scheme for soft bit data in non-volatile memory
US11393540B2 (en) Adjacent memory cell interference mitigation
JP2022079407A (ja) 不揮発性データ完全性の高速検証
WO2024049531A1 (en) Word line dependent pass voltage ramp rate to improve performance of nand memory

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