US20200183610A1 - Transistor threshold voltage maintenance in 3d memory - Google Patents
Transistor threshold voltage maintenance in 3d memory Download PDFInfo
- Publication number
- US20200183610A1 US20200183610A1 US16/213,590 US201816213590A US2020183610A1 US 20200183610 A1 US20200183610 A1 US 20200183610A1 US 201816213590 A US201816213590 A US 201816213590A US 2020183610 A1 US2020183610 A1 US 2020183610A1
- Authority
- US
- United States
- Prior art keywords
- memory cells
- data
- transistors
- threshold voltage
- data memory
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 451
- 238000012423 maintenance Methods 0.000 title description 37
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000012360 testing method Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000009826 distribution Methods 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 description 63
- 229910052751 metal Inorganic materials 0.000 description 16
- 239000002184 metal Substances 0.000 description 16
- 101000578349 Homo sapiens Nucleolar MIF4G domain-containing protein 1 Proteins 0.000 description 11
- 102100027969 Nucleolar MIF4G domain-containing protein 1 Human genes 0.000 description 11
- 239000000463 material Substances 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000000758 substrate Substances 0.000 description 8
- 101100186130 Arabidopsis thaliana NAC052 gene Proteins 0.000 description 7
- 101100529509 Arabidopsis thaliana RECQL4A gene Proteins 0.000 description 7
- 101100203168 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SGS1 gene Proteins 0.000 description 7
- 238000003491 array Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000005641 tunneling Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000010408 film Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000005415 magnetization Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007784 solid electrolyte Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 2
- 229910052721 tungsten Inorganic materials 0.000 description 2
- 239000010937 tungsten Substances 0.000 description 2
- 101710190981 50S ribosomal protein L6 Proteins 0.000 description 1
- 101710190962 50S ribosomal protein L9 Proteins 0.000 description 1
- 101710179734 6,7-dimethyl-8-ribityllumazine synthase 2 Proteins 0.000 description 1
- 101100496158 Arabidopsis thaliana CLF gene Proteins 0.000 description 1
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 1
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 108700019909 BL 19 Proteins 0.000 description 1
- 101000751000 Bacillus subtilis (strain 168) 50S ribosomal protein L1 Proteins 0.000 description 1
- 101000575029 Bacillus subtilis (strain 168) 50S ribosomal protein L11 Proteins 0.000 description 1
- 101001105315 Bacillus subtilis (strain 168) 50S ribosomal protein L17 Proteins 0.000 description 1
- 101000682328 Bacillus subtilis (strain 168) 50S ribosomal protein L18 Proteins 0.000 description 1
- 101001101476 Bacillus subtilis (strain 168) 50S ribosomal protein L21 Proteins 0.000 description 1
- 101000592939 Bacillus subtilis (strain 168) 50S ribosomal protein L24 Proteins 0.000 description 1
- 101000712130 Bacillus subtilis (strain 168) 50S ribosomal protein L7/L12 Proteins 0.000 description 1
- 101000935024 Bungarus multicinctus Beta-bungarotoxin B chain-like Proteins 0.000 description 1
- 102100035793 CD83 antigen Human genes 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101001070329 Geobacillus stearothermophilus 50S ribosomal protein L18 Proteins 0.000 description 1
- 101001093025 Geobacillus stearothermophilus 50S ribosomal protein L7/L12 Proteins 0.000 description 1
- 101000946856 Homo sapiens CD83 antigen Proteins 0.000 description 1
- 229910017629 Sb2Te3 Inorganic materials 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000000231 atomic layer deposition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical group [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 239000012778 molding material Substances 0.000 description 1
- 150000004767 nitrides Chemical class 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50004—Marginal testing, e.g. race, voltage or current testing of threshold voltage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H01L27/11556—
-
- H01L27/11582—
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/20—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B41/23—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B41/27—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H01L27/11519—
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/10—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the top-view layout
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/30—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
- H10B41/35—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/10—EEPROM devices comprising charge-trapping gate insulators characterised by the top-view layout
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/30—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
- H10B43/35—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/40—EEPROM devices comprising charge-trapping gate insulators characterised by the peripheral circuit region
Definitions
- Semiconductor memory is widely used in various electronic devices such as cellular telephones, digital cameras, personal digital assistants, medical electronics, mobile computing devices, servers, solid state drives, non-mobile computing devices and other devices.
- Semiconductor memory may comprise non-volatile memory or volatile memory.
- a non-volatile memory allows information to be stored and retained even when the non-volatile memory is not connected to a source of power (e.g., a battery).
- Non-volatile memory has strings of non-volatile memory cells that have a select transistor at each end of the string.
- strings are referred to as NAND strings.
- a NAND string may have a drain side select transistor at one end that connects the string to a bit line.
- a NAND string may have a source side select transistor at one end that connects the string to a source line.
- the non-volatile memory cells may also be referred to as non-volatile memory cell transistors, with the channels of the non-volatile memory cell transistors collectively being referred to as a NAND string channel.
- FIG. 1 is a functional block diagram of a memory device.
- FIG. 2 is a block diagram depicting one embodiment of a memory system.
- FIG. 3 is a perspective view of a memory device.
- FIG. 4A depicts a top view of an example word line layer of a 3D memory structure, in a straight NAND string embodiment.
- FIG. 4B depicts a top view of an example SGD layer 420 , consistent with FIG. 4A .
- FIG. 4C depicts an embodiment of a stack showing a cross-sectional view along line 412 a of FIG. 4A and line 412 b of FIG. 4B .
- FIG. 4D depicts an alternative view of the select gate layers and word line layers of the stack 440 of FIG. 4C .
- FIG. 4E depicts a view of the region 442 of FIG. 4C .
- FIG. 5 is a schematic diagram of a NAND string.
- FIG. 6 is a flowchart of one embodiment of a process of maintaining threshold voltages of transistors in a memory device.
- FIGS. 7A-7C which show example threshold voltage distributions of non-data transistors.
- FIG. 8 is a flowchart of one embodiment of a process of testing a threshold voltage criterion of a non-data transistors.
- FIG. 9 is a flowchart of one embodiment of a process of adjusting threshold voltages of non-data transistors.
- FIG. 10 is a flowchart of one embodiment of a process of performing threshold voltage maintenance of non-data transistors in a non-volatile storage device.
- the non-data transistors are on NAND strings in a three-dimensional memory device, in one embodiment.
- the NAND strings run vertically through a stack of alternating horizontal conductive layers and horizontal dielectric layers, in one embodiment.
- a NAND string comprises data transistors and non-data transistors.
- a data transistor e.g., data memory cell transistor
- a non-data transistor is not used to store user or system data.
- Non-data transistors include select transistors and dummy memory cell transistors. Note that data memory cell transistor may more succinctly be referred to as a data memory cell. Also, a dummy memory cell transistor may more succinctly be referred to as a dummy memory cell.
- a select transistor may be used to select a NAND string or a portion of a NAND string for a memory operation.
- the stack comprises tiers, in one embodiment.
- Each NAND strings has a first set of data memory cells in a first tier of the stack and a second set of data memory cells in a second tier of the stack, in one embodiment.
- a control circuit may perform a memory array operation (e.g., read, program, erase) on a group of NAND strings.
- the control circuit operates each tier as an independently functioning unit, in one embodiment. For example, data memory cells in one tier may be erased while maintaining valid data in another tier.
- a NAND string comprises a number of memory cells connected in series between one or more drain-side select transistors (or SGD transistors), on a drain-side of the NAND string which is connected to a bit line, and one or more source-side select transistors (or SGS transistors), on a source-side of the NAND string which is connected to a source line.
- the SGD transistors can be provided in a conductive state, such as when the NAND string is being sensed in a read or verify operation, or in a non-conductive state, such as when the NAND string is being inhibited from programming and its channel voltage is boosted.
- the SGD transistors can typically be controlled by a control gate voltage and a bit line voltage
- the SGS transistors can typically be controlled by a control gate voltage and a source line voltage.
- Vth threshold voltages
- the threshold voltages can change for various reasons. For example, read disturb stress can cause the Vth to increase. Read disturb stress can be experienced by a transistor which has a large voltage difference between its control gate and channel. For instance, during the read of a memory cell in a NAND string, the unselected memory cells and the select transistors may receive a high pass voltage which can cause read disturb. Due to the high control gate-to-channel voltage, charge can be injected into a charge storage region of the select transistor, gradually increasing the Vth of the select transistor.
- Data retention loss can cause the Vth to decrease. Data retention loss may occur gradually over long periods of time.
- the Vth of the select transistors can also change due to other factors, such as program disturb and defects in the memory device. Some defects are not apparent at the time of manufacture but may appear as the memory device accumulates program-erase cycles and is stressed. One example of a defect is a short circuit.
- the Vth of different select transistors within a chip can vary even when the memory device is new due to process variations or defects.
- Vth of the select transistors changes substantially, it can result in a failure in the memory device. For example, if the Vth is too high in an SGD transistor, the associated NAND string may not be in a fully conductive state during sensing or programming operations. If the Vth is too low in an SGD transistor, the associated NAND string may not be in a fully non-conductive state for an unselected NAND string during programming, impairing the ability to boost the channel voltage and prevent program disturb.
- a NAND string may have dummy memory cell transistors, which are memory cells that are not used to store user or system data.
- a dummy memory cell transistor is sometimes used between a data memory cell transistor and a select transistor.
- the Vth of a dummy memory cell transistors may also impact the operation of the memory device. If the Vth of a dummy memory cell transistor on a NAND string is too high or too low, a memory operation of a data memory cell on that NAND string could fail.
- FIG. 1 - FIG. 4E describe one example of a memory system that can be used to implement the technology proposed herein.
- FIG. 1 is a functional block diagram of an example memory system 100 .
- the components depicted in FIG. 1 are electrical circuits.
- Memory system 100 includes one or more memory dies 108 .
- the one or more memory dies 108 can be complete memory dies or partial memory dies.
- each memory die 108 includes a memory structure 126 , control circuitry 110 , and read/write circuits 128 .
- Memory structure 126 is addressable by word lines via a row decoder 124 and by bit lines via a column decoder 132 .
- the read/write/erase circuits 128 include multiple sense blocks 150 including SB 1 , SB 2 , . . . , SBp (sensing circuitry) and allow a page of memory cells to be read or programmed in parallel. Also, many strings of memory cells can be erased in parallel.
- a controller 122 is included in the same package (e.g., a removable storage card) as the one or more memory die 108 . However, in other systems, the controller can be separated from the memory die 108 . In some embodiments the controller will be on a different die than the memory die 108 . In some embodiments, one controller 122 will communicate with multiple memory die 108 . In other embodiments, each memory die 108 has its own controller. Commands and data are transferred between a host 140 and controller 122 via a data bus 120 , and between controller 122 and the one or more memory die 108 via lines 118 . In one embodiment, memory die 108 includes a set of input and/or output (I/O) pins that connect to lines 118 .
- I/O input and/or output
- Control circuitry 110 cooperates with the read/write circuits 128 to perform memory operations (e.g., write, read, erase and others) on memory structure 126 , and includes state machine 112 , an on-chip address decoder 114 , and a power control circuit 116 .
- control circuitry 110 includes buffers such as registers, ROM fuses and other storage devices for storing default values such as base voltages and other parameters.
- the on-chip address decoder 114 provides an address interface between addresses used by host 140 or controller 122 to the hardware address used by the decoders 124 and 132 .
- Power control circuit 116 controls the power and voltages supplied to the word lines, bit lines, and select lines during memory operations.
- the power control circuit 116 includes voltage circuity, in one embodiment.
- Power control circuit 116 may include charge pumps for creating voltages.
- the sense blocks include bit line drivers.
- the power control circuit 116 executes under control of the state machine 112 , in one embodiment.
- State machine 112 and/or controller 122 can be considered a control circuit that performs the functions described herein.
- the control circuit can include hardware only or a combination of hardware and software (including firmware).
- firmware for example, a controller programmed by firmware to perform the functions described herein is one example of a control circuit.
- a control circuit can include a processor, PGA (Programmable Gate Array, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), integrated circuit or other type of circuit.
- the (on-chip or off-chip) controller 122 may comprise one or more processors 122 c, ROM 122 a, RAM 122 b, a memory interface (MI) 122 d and a host interface (HI) 122 e, all of which are interconnected.
- the storage devices (ROM 122 a, RAM 122 b ) store code (software) such as a set of instructions (including firmware), and one or more processors 122 c is/are operable to execute the set of instructions to provide the functionality described herein.
- one or more processors 122 c can access code from a storage device in the memory structure, such as a reserved area of memory cells connected to one or more word lines.
- RAM 122 b can be to store data for controller 122 , including caching program data (discussed below).
- Memory interface 122 d in communication with ROM 122 a, RAM 122 b and processor 122 c, is an electrical circuit that provides an electrical interface between controller 122 and one or more memory die 108 .
- memory interface 122 d can change the format or timing of signals, provide a buffer, isolate from surges, latch I/O, etc.
- One or more processors 122 c can issue commands to control circuitry 110 (or another component of memory die 108 ) via Memory Interface 122 d.
- Host interface 122 e provides an electrical interface with host 140 data bus 120 in order to receive commands, addresses and/or data from host 140 to provide data and/or status to host 140 .
- memory structure 126 comprises a three-dimensional memory array of non-volatile memory cells in which multiple memory levels are formed above a single substrate, such as a wafer.
- the memory structure may comprise any type of non-volatile memory that are monolithically formed in one or more physical levels of arrays of memory cells having an active area disposed above a silicon (or other type of) substrate.
- the non-volatile memory cells comprise vertical NAND strings with charge-trapping material.
- memory structure 126 comprises a two-dimensional memory array of non-volatile memory cells.
- the non-volatile memory cells are NAND flash memory cells utilizing floating gates.
- Other types of memory cells e.g., NOR-type flash memory can also be used.
- memory array architecture or memory cell included in memory structure 126 is not limited to the examples above. Many different types of memory array architectures or memory technologies can be used to form memory structure 126 . No particular non-volatile memory technology is required for purposes of the new claimed embodiments proposed herein.
- Other examples of suitable technologies for memory cells of the memory structure 126 include ReRAM memories, magnetoresistive memory (e.g., MRAM, Spin Transfer Torque MRAM, Spin Orbit Torque MRAM), phase change memory (e.g., PCM), and the like.
- suitable technologies for memory cell architectures of the memory structure 126 include two-dimensional arrays, three-dimensional arrays, cross-point arrays, stacked two-dimensional arrays, vertical bit line arrays, and the like.
- cross point memory includes reversible resistance-switching elements arranged in cross point arrays accessed by X lines and Y lines (e.g., word lines and bit lines).
- the memory cells may include conductive bridge memory elements.
- a conductive bridge memory element may also be referred to as a programmable metallization cell.
- a conductive bridge memory element may be used as a state change element based on the physical relocation of ions within a solid electrolyte.
- a conductive bridge memory element may include two solid metal electrodes, one relatively inert (e.g., tungsten) and the other electrochemically active (e.g., silver or copper), with a thin film of the solid electrolyte between the two electrodes.
- the conductive bridge memory element may have a wide range of programming thresholds over temperature.
- Magnetoresistive memory stores data by magnetic storage elements.
- the elements are formed from two ferromagnetic plates, each of which can hold a magnetization, separated by a thin insulating layer.
- One of the two plates is a permanent magnet set to a particular polarity; the other plate's magnetization can be changed to match that of an external field to store memory.
- a memory device is built from a grid of such memory cells. In one embodiment for programming, each memory cell lies between a pair of write lines arranged at right angles to each other, parallel to the cell, one above and one below the cell. When current is passed through them, an induced magnetic field is created.
- Phase change memory exploits the unique behavior of chalcogenide glass.
- One embodiment uses a GeTe-Sb2Te3 super lattice to achieve non-thermal phase changes by simply changing the co-ordination state of the Germanium atoms with a laser pulse (or light pulse from another source). Therefore, the doses of programming are laser pulses.
- the memory cells can be inhibited by blocking the memory cells from receiving the light. Note that the use of “pulse” in this document does not require a square pulse, but includes a (continuous or non-continuous) vibration or burst of sound, current, voltage light, or other wave.
- FIG. 2 is a block diagram of example memory system 100 , depicting more details of one embodiment of controller 122 .
- the controller in FIG. 2 is a flash memory controller, but note that the non-volatile memory 108 is not limited to flash.
- the controller 122 is not limited to the example of a flash memory controller.
- a flash memory controller is a device that manages data stored on flash memory and communicates with a host, such as a computer or electronic device.
- a flash memory controller can have various functionality in addition to the specific functionality described herein. For example, the flash memory controller can format the flash memory to ensure the memory is operating properly, map out bad flash memory cells, and allocate spare memory cells to be substituted for future failed cells.
- the spare cells can be used to hold firmware to operate the flash memory controller and implement other features.
- a host when a host needs to read data from or write data to the flash memory, it will communicate with the flash memory controller. If the host provides a logical address to which data is to be read/written, the flash memory controller can convert the logical address received from the host to a physical address in the flash memory. (Alternatively, the host can provide the physical address).
- the flash memory controller can also perform various memory management functions, such as, but not limited to, wear leveling (distributing writes to avoid wearing out specific blocks of memory that would otherwise be repeatedly written to) and garbage collection (after a block is full, moving only the valid pages of data to a new block, so the full block can be erased and reused).
- the interface between controller 122 and non-volatile memory die 108 may be any suitable flash interface, such as Toggle Mode 200 , 400 , or 800 .
- memory system 100 may be a card-based system, such as a secure digital (SD) or a micro secure digital (micro-SD) card.
- SD secure digital
- micro-SD micro secure digital
- memory system 100 may be part of an embedded memory system.
- the flash memory may be embedded within the host.
- memory system 100 can be in the form of a solid state drive (SSD).
- non-volatile memory system 100 includes a single channel between controller 122 and non-volatile memory die 108 , the subject matter described herein is not limited to having a single memory channel.
- 2, 4, 8 or more channels may exist between the controller and the memory die, depending on controller capabilities.
- more than a single channel may exist between the controller and the memory die, even if a single channel is shown in the drawings.
- the memory cells on a memory die 108 can be arranged in one or more planes. In one embodiment, memory operations are performed in parallel on groups of memory cells on different planes on the same memory die. In one embodiment, threshold voltage maintenance of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) is performed in parallel on different planes on the same memory die. In one embodiment, memory operations are performed in parallel on groups of memory cells on different memory die 108 . In one embodiment, threshold voltage maintenance of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) is performed in parallel on different memory die.
- threshold voltage maintenance of non-data transistors e.g., select transistors and/or dummy memory cell transistors
- controller 122 includes a front end module 208 that interfaces with a host, a back end module 210 that interfaces with the one or more non-volatile memory die 108 , and various other modules that perform functions which will now be described in detail.
- controller 122 depicted in FIG. 2 may take the form of a packaged functional hardware unit (e.g., an electrical circuit) designed for use with other components, a portion of a program code (e.g., software or firmware) executable by a (micro) processor or processing circuitry that usually performs a particular function of related functions, or a self-contained hardware or software component that interfaces with a larger system, for example.
- a packaged functional hardware unit e.g., an electrical circuit
- a portion of a program code e.g., software or firmware
- each module may include an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit, a digital logic circuit, an analog circuit, a combination of discrete circuits, gates, or any other type of hardware or combination thereof.
- ASIC application specific integrated circuit
- FPGA Field Programmable Gate Array
- each module may include software stored in a processor readable device (e.g., memory) to program a processor for controller 122 to perform the functions described herein.
- a processor readable device e.g., memory
- FIG. 2 The architecture depicted in FIG. 2 is one example implementation that may (or may not) use the components of controller 122 depicted in FIG. 1 (i.e. RAM, ROM, processor, interface).
- a buffer manager/bus control 214 manages buffers in random access memory (RAM) 216 and controls the internal bus arbitration of controller 122 .
- a read only memory (ROM) 218 stores system boot code. Although illustrated in FIG. 2 as located separately from the controller 122 , in other embodiments one or both of the RAM 216 and ROM 218 may be located within the controller. In yet other embodiments, portions of RAM and ROM may be located both within the controller 122 and outside the controller. Further, in some implementations, the controller 122 , RAM 216 , and ROM 218 may be located on separate semiconductor die.
- Front end module 208 includes a host interface 220 and a physical layer interface (PHY) 222 that provide the electrical interface with the host or next level storage controller.
- PHY physical layer interface
- the choice of the type of host interface 220 can depend on the type of memory being used. Examples of host interfaces 220 include, but are not limited to, SATA, SATA Express, SAS, Fibre Channel, USB, PCIe, and NVMe.
- the host interface 220 typically facilitates transfer for data, control signals, and timing signals.
- Back end module 210 includes an error correction code (ECC) engine 224 that encodes the data bytes received from the host, and decodes and error corrects the data bytes read from the non-volatile memory.
- ECC error correction code
- a command sequencer 226 generates command sequences, such as program and erase command sequences, to be transmitted to non-volatile memory die 108 .
- a RAID (Redundant Array of Independent Dies) module 228 manages generation of RAID parity and recovery of failed data. The RAID parity may be used as an additional level of integrity protection for the data being written into the non-volatile memory system 100 . In some cases, the RAID module 228 may be a part of the ECC engine 224 .
- a memory interface 230 which is configured to be connected to non-volatile memory 108 , provides the command sequences to non-volatile memory die 108 and receives status information from non-volatile memory die 108 .
- memory interface 230 may be a double data rate (DDR) interface, such as a Toggle Mode 200, 400, or 800 interface.
- DDR double data rate
- a flash control layer 232 controls the overall operation of back end module 210 .
- System 100 includes media management layer 238 , which performs wear leveling of memory cells of non-volatile memory die 108 .
- System 100 also includes other discrete components 240 , such as external electrical interfaces, external RAM, resistors, capacitors, or other components that may interface with controller 122 .
- one or more of the physical layer interface 222 , RAID module 228 , media management layer 238 and buffer management/bus controller 214 are optional components that are not necessary in the controller 122 .
- the Flash Translation Layer (FTL) or Media Management Layer (MML) 238 may be integrated as part of the flash management that may handle flash errors and interfacing with the host.
- MML may be a module in flash management and may be responsible for the internals of NAND management.
- the MML 238 may include an algorithm in the memory device firmware which translates writes from the host into writes to the memory 126 of die 108 .
- the MML 238 may be needed because: 1) the memory may have limited endurance; 2) the memory 126 may only be written in multiples of pages; and/or 3) the memory 126 may not be written unless it is erased as a block (or a tier within a block in some embodiments).
- the MML 238 understands these potential limitations of the memory 126 which may not be visible to the host. Accordingly, the MML 238 attempts to translate the writes from host into writes into the memory 126 .
- Controller 122 may interface with one or more memory dies 108 .
- controller 122 and multiple memory dies (together comprising non-volatile storage system 100 ) implement a solid state drive (SSD), which can emulate, replace or be used instead of a hard disk drive inside a host, as a NAS device, in a laptop, in a tablet, in a server, etc. Additionally, the SSD need not be made to work as a hard drive.
- SSD solid state drive
- One or more of ECC 224 , sequencer 226 , RAID 228 , flash control layer 232 , media management layer 238 , and/or buffer management/bus control 214 may be referred to as a processor circuit.
- the processor circuit can include hardware only or a combination of hardware and software (including firmware).
- firmware for example, a controller programmed by firmware to perform the functions described herein is one example of a control circuit.
- a processor circuit can include a processor, PGA (Programmable Gate Array, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), integrated circuit or other type of circuit.
- the processor circuit performs threshold voltage maintenance of non-data transistors in the non-volatile memory 108 .
- the non-data transistors may include select transistors associated with memory cells that reside in a stack in the non-volatile memory 108 .
- the non-data transistors may include dummy memory cell transistors associated with the memory cells that reside in the stack in the non-volatile memory 108 .
- the stack may include a first set of data memory cells that reside in a first tier of the stack and a second set of data memory cells that reside in a second tier of the stack.
- the processor circuit sends one or more commands to the non-volatile memory 108 through the memory interface 230 in order to perform threshold voltage maintenance of non-data transistors in the non-volatile memory 108 .
- the processor circuit may also receive data from the non-volatile memory 108 via the memory interface 230 to perform the threshold voltage maintenance.
- the data may pertain to the threshold voltage of the non-data transistors in the non-volatile memory 108 .
- a non-volatile storage system will include one memory die 108 connected to one controller 122 . However, other embodiments may include multiple memory die 108 in communication with one or more controllers 122 . In one example, the multiple memory die can be grouped into a set of memory packages. Each memory package includes one or more memory die in communication with controller 122 . In one embodiment, a memory package includes a printed circuit board (or similar structure) with one or more memory die mounted thereon. In some embodiments, a memory package can include molding material to encase the memory dies of the memory package. In some embodiments, controller 122 is physically separate from any of the memory packages.
- FIG. 3 is a perspective view of a memory device 300 comprising a set of blocks in an example 3D configuration of the memory structure 126 of FIG. 1A .
- On the substrate are example blocks BLK 0 , BLK 1 , BLK 2 and BLK 3 of memory cells (storage elements) and peripheral areas with circuitry for use by the blocks.
- the substrate has a major surface that extends in the x-y plane.
- the blocks may be formed over the major surface.
- the peripheral area 304 runs along an edge of each block while the peripheral area 305 is at an end of the set of blocks.
- Each peripheral area can include circuitry, including but not limited to voltage drivers which can be connected to control gate layers, bit lines and source lines of the blocks.
- the substrate 301 can also carry circuitry under the blocks, along with one or more lower metal layers which are patterned in conductive paths to carry signals of the circuitry.
- the blocks are formed in an intermediate region 302 of the memory device.
- one or more upper metal layers are patterned in conductive paths to carry signals of the circuitry.
- Each block comprises a stacked area of memory cells, where alternating levels of the stack represent word lines. In one possible approach, each block has opposing tiered sides from which vertical contacts extend upward to an upper metal layer to form connections to conductive paths. While four blocks are depicted as an example, two or more blocks can be used, extending in the x- and/or y-directions.
- the blocks are in a plane, and the length of the plane, in the x-direction, represents a direction in which signal paths to word lines extend in the one or more upper metal layers (a word line or SGD line direction), and the width of the plane, in the y-direction, represents a direction in which signal paths to bit lines extend in the one or more upper metal layers (a bit line direction).
- the z-direction represents a height of the memory device.
- the blocks could also be arranged in multiple planes.
- FIG. 4A depicts a top view of an example word line layer 400 of a 3D memory structure, in one embodiment.
- a 3D memory device can comprise a stack of alternating conductive and dielectric layers.
- the layers may be referred to as horizontal layers, due to their orientation with respect to the x-y surface of the substrate 301 .
- the conductive layers provide the control gates of the SG transistors and memory cells.
- the layers used for the SG transistors are SG layers and the layers used for the memory cells are word line layers.
- memory holes are formed in the stack and filled with a charge-trapping material and a channel material. As a result, a vertical NAND string is formed. Source lines are connected to the NAND strings below the stack and bit lines are connected to the NAND strings above the stack.
- a block BLK in a 3D memory device can be divided into sub-blocks, where each sub-block comprises a set of NAND string which have a common SGD control line.
- a word line layer in a block can be divided into regions. Each region can extend between slits which are formed periodically in the stack to process the word line layers during the fabrication process of the memory device. This processing can include replacing a sacrificial material of the word line layers with metal.
- the distance between slits should be relatively small to account for a limit in the distance that an etchant can travel laterally to remove the sacrificial material, and that the metal can travel to fill a void which is created by the removal of the sacrificial material.
- the distance between slits may allow for a few rows of memory holes between adjacent slits.
- the layout of the memory holes and slits should also account for a limit in the number of bit lines which can extend across the region while each bit line is connected to a different memory cell.
- the slits can optionally be filed with metal to provide an interconnect through the stack.
- FIG. 4A and other Figures are not necessarily to scale. In practice, the regions can be much longer in the x-direction relative to the y-direction than is depicted to accommodate additional memory holes.
- the word line layer is divided into regions 406 , 407 , 408 and 409 which are each connected by a connector 413 .
- the last region of a word line layer in a block can be connected to a first region of a word line layer in a next block, in one approach.
- the connector is connected to a voltage driver for the word line layer.
- the region 406 has example memory holes 410 and 411 along a line 412 a.
- the region 407 has example memory holes 414 and 415 .
- the region 408 has example memory holes 416 and 417 .
- the region 409 has example memory holes 418 and 419 .
- Each circle represents the cross-section of a memory hole at a word line layer or SG layer.
- Each circle can alternatively represent a memory cell which is provided by the materials in the memory hole and by the adjacent word line layer.
- Metal-filled slits 401 , 402 , 403 and 404 may be located between and adjacent to the edges of the regions 406 - 409 .
- the metal-filled slits provide a conductive path from the bottom of the stack to the top of the stack.
- a source line at the bottom of the stack may be connected to a conductive line above the stack, where the conductive line is connected to a voltage driver in a peripheral region of the memory device.
- FIG. 4B depicts a top view of an example SGD layer 420 , consistent with FIG. 4A .
- the SGD layer is divided into regions 426 , 427 , 428 and 429 .
- Each region can be connected to a different voltage driver. This allows a set of memory cells in one region of a word line layer to be programmed concurrently, with each memory cell being in a respective NAND string which is connected to a respective bit line.
- a voltage can be set on each bit line to allow or inhibit programming during each program voltage.
- the region 426 has the example memory holes 410 and 411 along a line 412 b which is coincident with a bit line BL 0 .
- the region 427 also has the example memory hole 414 which is coincident with a bit line BL 1 .
- a number of bit lines extend above the memory holes and are connected to the memory holes as indicated by the “X” symbols.
- BL 0 is connected to a set of memory holes which includes the memory holes 411 , 415 , 417 and 419 .
- Another example bit line BL 1 is connected to a set of memory holes which includes the memory holes 410 , 414 , 416 and 418 .
- bit lines 4A are also depicted, as they extend vertically through the stack.
- the bit lines can be numbered in a sequence BL 0 -BL 23 across the SGD layer 420 in the x-direction. In practice many more bit lines can be used for SGD layer 420 .
- bit lines are connected to cells in different rows.
- BL 0 , BL 4 , BL 8 , BL 12 , BL 16 and BL 20 are connected to cells in a first row of cells at the right-hand edge of each region.
- BL 2 , BL 6 , BL 10 , BL 14 , BL 18 and BL 22 are connected to cells in an adjacent row of cells, adjacent to the first row at the right-hand edge.
- BL 3 , BL 7 , BL 11 , BL 15 , BL 19 and BL 23 are connected to cells in a first row of cells at the left-hand edge of each region.
- BL 1 , BLS, BL 9 , BL 13 , BL 17 and BL 21 are connected to cells in an adjacent row of cells, adjacent to the first row at the left-hand edge.
- FIG. 4C depicts an embodiment of a stack 440 showing a cross-sectional view along line 412 a of FIG. 4A and line 412 b of FIG. 4B .
- Two SGD layers (SGD 0 , SDG 1 ), two SGS layers (SGS 0 , SGS 1 ) and six dummy word line layers DWLD 0 , DWLD 1 , DWLM 1 , DWLM 0 , DWLS 0 and DWLS 1 are provided, in addition to the data word line layers WLL 0 -WLL 95 .
- a middle junction transistor (MJT) layer is also depicted.
- Each NAND string has a drain side select transistor at the SGD 0 layer and a drain side select transistor at the SGD 1 layer.
- each layer SGD 0 , SGD 1
- Each NAND string has a source side select transistor at the SGS 0 layer and a drain side select transistor at the SGS 1 layer.
- the same voltage may be applied to each layer (SGS 0 , SGS 1 ), such that the control terminal of each transistor receives the same voltage.
- FIG. 4E Columns of memory cells corresponding to NAND strings NS 1 and NS 2 are depicted in the multi-layer stack.
- the stack includes a substrate 301 , an insulating film 250 on the substrate, and a portion of a source line SL.
- NS 1 has a source-end 439 at a bottom of the stack and a drain-end 438 at a top of the stack.
- the metal-filled slits 401 and 402 from FIG. 4A and 4B are also depicted.
- a portion of the bit line BL 0 is also depicted.
- a conductive via 441 connects the drain-end 438 of NS 2 to BL 0 .
- Note that NS 1 is connected to BL 1 , but that BL 1 is not depicted in FIG. 4C .
- a region 442 of the stack is shown in greater detail in FIG. 4E .
- the stack 440 is divided into two tiers.
- a middle junction transistor (MJT) layer divides the stack 440 into tier-1 and tier-2.
- the NAND strings have a tier select gate transistor (or isolation transistor) in the MJT layer, in one embodiment.
- the tier select gate transistor may be used to electrically isolate a first set of memory cell transistors within the memory string (e.g., corresponding with Tier-1 word lines WLL 0 -WLL 47 ) from a second set of memory cell transistors within the memory string (e.g., corresponding with the Tier-1 word lines WLL 48 -WLL 95 ) during a memory operation (e.g., an erase operation or a programming operation).
- the middle junction transistor (MJT) layer is not used to divides the stack 440 into tier-1 and tier-2.
- one or more dummy word line layers may be used to divide the stack 440 into tier-1 and tier-2.
- one or more dummy memory cell transistors may be used to electrically isolate the first set of memory cell transistors from the second set of memory cell transistors during a memory operation.
- the stack 400 may have more than two tiers.
- the stack 440 may be divided into three, four, or more tiers.
- Each of the tiers contains at least one data memory cell.
- MJT middle junction transistor
- two junction transistor (JT) layers can divide the stack 400 into three tiers
- three junction transistor (JT) layers can divide the stack 400 into four tiers, etc.
- FIG. 4D depicts an alternative view of the SG layers and word line layers of the stack 440 of FIG. 4C .
- the SGD layers SGD 0 and SGD 0 each includes parallel rows of SG lines associated with the drain-side of a set of NAND strings.
- SGD 0 includes drain-side SG regions 426 , 427 , 428 and 429 , consistent with FIG. 4B .
- Each dummy word line layer represents a word line, in one approach, and is connected to a set of dummy memory cells at a given height in the stack.
- DWLD 0 comprises word line layer regions 450 , 451 , 452 and 453 .
- a dummy memory cell also referred to as a non-data memory cell, does not store data and is ineligible to store data, while a data memory cell is eligible to store data.
- the Vth of a dummy memory cell is generally fixed at the time of manufacturer or may be periodically adjusted, while the Vth of the data memory cells changes more frequently, e.g., during erase and programming operations of the data memory cells.
- WLL 10 comprises word line layer regions 406 , 407 , 408 and 409 , consistent with FIG. 4A .
- the SGS layers SGS 0 and SGS 1 each includes parallel rows of SG lines associated with the source-side of a set of NAND strings.
- SGS 0 includes source-side SG lines 454 , 455 , 456 and 457 .
- Each SG line can be independently controlled, in one approach. Or, the SG lines can be connected and commonly controlled.
- FIG. 4E depicts a view of the region 442 of FIG. 4C .
- SGD transistors 480 and 481 are provided above dummy memory cell transistors 482 and 483 and a data memory cell transistor MC.
- a number of layers can be deposited along the sidewall (SW) of the memory hole 410 and/or within each word line layer, e.g., using atomic layer deposition.
- each column e.g., the pillar which is formed by the materials within a memory hole
- a word line layer can include a conductive metal 462 such as Tungsten as a control gate.
- control gates 490 , 491 , 492 , 493 and 494 are provided.
- all of the layers except the metal are provided in the memory hole.
- some of the layers can be in the control gate layer.
- Additional pillars are similarly formed in the different memory holes.
- a pillar can form a columnar active area (AA) of a NAND string.
- Non-data transistors may also include the charge trapping layer 463 .
- select transistors 480 , 481 , and dummy memory cell transistors 482 , 483 include the charge trapping layer 463 .
- the threshold voltage of at least some non-data transistors may also be adjusted by storing or removing electrons from the charge trapping layer 463 . It is not required that all non-data transistors have an adjustable Vth. For example, the charge trapping layer 463 is not required to be present in every select transistor.
- Each of the memory holes can be filled with a plurality of annular layers comprising a blocking oxide layer, a charge trapping layer, a tunneling layer and a channel layer.
- a core region of each of the memory holes is filled with a body material, and the plurality of annular layers are between the core region and the WLLs in each of the memory holes.
- the tunneling layer 464 can comprise multiple layers such as in an oxide-nitride-oxide configuration.
- FIG. 5 is a schematic diagram of a NAND string 500 .
- the NAND string 500 is consistent with the NAND strings in FIG. 4C .
- the NAND string 500 comprises a first portion of the NAND string (e.g., corresponding with Tier-1 of memory cell transistors), a second portion of the NAND string (e.g., corresponding with a Tier-2 of memory cell transistors), and a tier select gate transistor 518 arranged between the first portion of the NAND string and the second portion of the NAND string.
- the first portion of the NAND string 500 includes a first source-side select gate transistor 502 connected to SGS 0 , a second source-side select gate transistor 504 connected to SGS 1 , two dummy memory cell transistors 506 , 508 connected respectively to DWLS 0 and DWLS 1 , data memory cell transistors 510 , 512 , 514 connected to word lines WLL 0 -WLL 47 , a dummy memory cell transistor 516 connected to dummy word line DWLM 0 .
- the second portion of the NAND string 500 includes a dummy memory cell transistor 520 connected to dummy word line DWLM 1 , data memory cell transistors 522 , 524 connected to word lines WLL 48 -WLL 95 , two dummy memory cell transistors 526 , 528 connected respectively to DWLD 0 and DWLD 1 , a drain-side select gate transistor 530 connected to SGD 1 , a drain-side select gate transistor 532 connected to SGD 0 . Drain-side select gate transistor 532 is connected to a bit line (BL).
- First source-side select gate transistor 502 is connected to a source line (SL).
- the tier select gate transistor 518 may be a programmable transistor, such as a floating gate transistor or a charge trap transistor, or a non-programmable transistor, such as an NMOS transistor or a PMOS transistor.
- the tier select gate transistor 518 may have a transistor channel length that is different from the transistor channel lengths used for the first set of memory cell transistors and/or the second set of memory cell transistors.
- the channel length may be greater than any of the transistor channel lengths used for the first set of memory cell transistors and the second set of memory cell transistors. For example, the channel length may be three times greater than the transistor channel lengths used for the first set of memory cell transistors and the second set of memory cell transistors.
- the tier select gate transistor 518 may electrically isolate the first set of memory cell transistors from the second set of memory cell transistors when the tier select gate transistor 518 is set into a non-conducting state.
- a bit line connected to a drain-side of a NAND string may be electrically connected to a channel formed under memory cell transistors of the lower tier, in one embodiment.
- the tier select gate transistor 518 may be placed into a conducting state while the data memory cells within Tier-1 are programmed. During a subsequent programming operation for memory cells within Tier-2, the tier select gate transistor 518 may be placed into a non-conducting state while the data memory cells within Tier-2 are programmed. In this case, the channel under the memory cells within Tier-1 may be floated.
- the tier select gate transistor 518 may comprise an NMOS transistor without a charge trap layer between the channel of the NMOS transistor and the gate of the NMOS transistor.
- the tier select gate transistor 518 may be placed into a non-conducting state while the memory cells within the Tier-2 are erased.
- FIG. 6 is a flowchart of one embodiment of a process 600 of maintaining threshold voltages of transistors.
- the process 600 is used to maintain threshold voltages of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) associated with memory cells that reside in a stack in the non-volatile memory, in one embodiment.
- the non-data transistors are select transistors associated with groups of memory cells. Each group of memory cells resides on a NAND string which has one or more select transistors, for which threshold voltage maintenance is provided, in one embodiment.
- the process 600 is used to maintain threshold voltages of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) on a group of NAND strings, in one embodiment.
- the NAND strings are in a three-dimensional memory array, in one embodiment.
- the NAND strings are oriented vertically a stack comprising alternating horizontal conductive layers and horizontal dielectric layers, in one embodiment.
- the process 600 is performed on a group of NAND strings in a block, such as the block (BLK) depicted in
- FIGS. 4A and 4B The process 600 is performed on a group of one or more NAND strings in a sub-block (e.g., SB 0 , SB 1 , SB 2 , SB 3 in FIG. 4A .).
- the process 600 could be performed in parallel on groups of NAND strings in different planes on the same memory die.
- the process 600 could be performed in parallel on groups of NAND strings in different memory die.
- Process 600 is performed by a processor circuit on controller 122 , in one embodiment.
- the processor circuit include one or more of ECC 224 , sequencer 226 , RAID 228 , flash control layer 232 , media management layer 238 , and/or buffer management/bus control 214 , in one embodiment.
- the processor circuit uses the memory interface 230 to send commands to and receive data from the memory dies 108 in order to maintain threshold voltages of non-data transistors, in one embodiment.
- process 600 may be performed by state machine 112 and/or controller 122 (or equivalently functioned circuits), in combination with all or a subset of the other circuits depicted in FIG. 1 .
- Process 600 is performed by a control circuit, in one embodiment.
- process 600 may be performed by state machine 112 and/or controller 122 (or equivalently functioned circuits), in combination with all or a subset of the other circuits depicted in FIG. 1 .
- the stack is divided into multiple tiers, in one embodiment.
- Process 600 will be described with respect to two tiers in the stack, but can be applied to more than two tiers. Reference may be made to FIG. 4C or FIG. 5 to describe process 600 ; however, process 600 is not limited to the embodiments of FIG. 4C or FIG. 5 .
- the process 600 may be initiated in response to a trigger condition being met with respect to an erase of a first set of data memory cells in a first tier of the stack.
- the first tier could be Tier-1 or Tier-2.
- the trigger condition is based on an erase count of the data memory cells in the first tier, in one embodiment.
- all of the data memory cells (in a unit such as sub-block or block) in a given tier are erased prior to programming.
- the data memory cells in a given tier undergo what is referred to as erase/program (or program/erase) cycles.
- the erase count may also be referred to a program/erase count (or “P/E count”).
- the trigger condition could be based on other factors, such as whether a non-data transistor Vth maintenance check has recently been performed due to a trigger condition being met with respect to an erase of a second set of data memory cells in a second tier of the stack. This can be used to improve performance by reducing un-necessary non-data transistor Vth maintenance checks.
- Step 602 includes testing a threshold voltage criterion of the non-data transistors.
- the threshold voltage criterion includes an allowed Vth range for the non-data transistors at a given layer of the stack, in one embodiment.
- the allowed Vth range can differ for non-data transistors at different layers of the stack. It is not required that non-data transistors at every level of the stack be tested to comply with the threshold voltage criterion.
- the tested non-data transistors could include any of the following levels: SGD 0 , SGD 1 , DWLD 0 , DWLD 1 , DWLM 1 , MJT, DWLM 0 , DWLS 1 , DWLS 0 , SGS 1 , SGS 0 , assuming that the non-data transistors at that level have an adjustable Vth.
- non-data transistors at the same level are tested regardless of which tier is to be erased. For example, whether data memory cells in Tier-1 or Tier-2 are to be erased, select transistors at levels SGD 0 and SGD 1 may be tested.
- the non-data transistors that are tested in step 602 could include one or more of source-side select gate transistors 502 , 504 , dummy memory cell transistors 506 , 508 , 516 , 520 , 526 , 528 , drain-side select gate transistors 530 , 532 .
- the MJT transistor 518 is also a non-data transistor, but in the example of FIG. 5 , does not have a programmable threshold voltage. However, the MJT transistor 518 could have a programmable threshold voltage, in which case, the threshold voltage of MJT transistor 518 could be tested in step 602 .
- Step 602 tests whether more than an allowed number of non-data transistors at a given level of the stack have a threshold voltage outside of a target range, in one embodiment. Note that it is not required that every non-data transistor at a given level of the stack have its Vth measured. For example, a sample of 1000 out of 10,000 non-data transistors at the SGD 0 level might be tested. The allowed number is not required to be the same for each level of the stack. The target range is not required to be the same for each level of the stack.
- FIGS. 7A-7C which show example Vth distributions of non-data transistors, will now be discussed to illustrate embodiments of testing a threshold voltage criterion of a subset of non-data transistors.
- the Vth distributions are for non-data transistors at the same level of the stack for some group of NAND strings, in one embodiment.
- the group of NAND strings could be in a sub-block, block, or some other unit.
- FIG. 7A depicts a plot of a Vth distribution, showing an initial distribution 700 , a distribution after read disturb 701 , and a distribution after data retention loss 702 .
- the vertical axis represents a count of non-data transistors, on a log scale, and the horizontal axis represents Vth in Volts.
- Vpgm_ver represents a verify voltage which may be used to increase (e.g., program) a non-data transistor to the initial distribution, such as at the time of manufacture or during the lifetime of the memory device.
- Ver_ver represents a verify voltage which may be used to decrease (e.g., erase) a non-data transistor to the initial distribution, such as at the time of manufacture or during the lifetime of the memory device.
- Vth_min and Vth_max define an acceptable range for the Vth distribution for a subset of non-data transistor, in one embodiment.
- FIG. 7B depicts a plot of a non-data transistor Vth distribution 705 which has an upper portion that exceeds a maximum allowable voltage, Vth_max.
- Region 707 of the Vth distribution 705 represents non-data transistors for which Vth>Vth_max.
- the control circuit counts non-data transistors with a Vth above Vth_max.
- the control circuit may stop counting if the number exceeds the number that are allowed to have a Vth above Vth_max.
- a pre-determined number of non-data transistors are allowed to have a Vth above Vth_max. For example, a maximum of 16 non-data transistors might be allowed to have a Vth above Vth_max, in one embodiment.
- FIG. 7C depicts a plot of a non-data transistor Vth distribution 710 which has a lower portion below a minimum allowable voltage, Vth_min.
- Region 712 of the Vth distribution 710 represents non-data transistors for which Vth ⁇ Vth_min.
- the control circuit counts how many non-data transistors have a Vth below Vth_min. The control circuit may stop counting if the number exceeds the number that are allowed to have a Vth below Vth_min.
- a pre-determined number of non-data transistors are allowed to have a Vth below Vth_min. For example, a maximum of 16 non-data transistors in the subset might be allowed to have a Vth below Vth_min, in one embodiment.
- step 602 includes testing whether a threshold voltage distribution of a set of select transistors in a group of NAND strings oriented vertically in a stack in a three-dimensional memory array is outside of a target range.
- a threshold voltage distribution of a set of non-data transistors e.g., select transistors
- a threshold voltage distribution of a set of non-data transistors is within a target range if no more than the allowed number of non-data transistors have a Vth outside of the target range.
- the control circuit determines whether the Vth criterion for the non-data transistors is met.
- the Vth criterion is met if, for each level of the stack that is tested, no more than an allowed number of non-data transistors for a given level have a Vth outside of a target range for that level.
- the Vth criterion might be met if no more than 16 transistors at the SGD 0 level had a Vth outside of a target range for the SGD 0 level and no more than 16 transistors at the SGD 1 level had a Vth outside of a target range for the SGD 1 level.
- the Vth criterion can be based on a test of any combination of levels having non-data transistors (e.g., SGD 0 , SGD 1 , DWLD 0 , DWLD 1 , DWLM 1 , DWLM 0 , DWLS 1 , DWLS 0 , SGS 1 , SGS 0 ). As noted above, it is not required that all levels having non-data transistors be tested. For example, one option is to test select transistors, but not test dummy memory cell transistors.
- a target range has an upper Vth and a lower Vth, in one embodiment.
- the range contains a window of allowed Vths, in one embodiment.
- the target range may range from Vth_min to Vth_max.
- a target range has a lower Vth but is unbounded on the upper end, in one embodiment.
- the control circuit may determine whether more than an allowed number of non-data transistors have a Vth below Vth_min, but not consider whether non-data transistors have a Vth above Vth_max.
- a target range has an upper Vth but is unbounded on the lower end, in one embodiment.
- the control circuit may determine whether more than an allowed number of non-data transistors have a Vth above Vth_max, but not consider whether non-data transistors have a Vth below Vth_min.
- Step 606 includes moving valid data out of the second set of data memory cells in the second tier to another location.
- the other location could be any location other than the second set of data memory cells in the second tier of the stack.
- the other location may be in another group NAND strings in the memory device.
- the other group of NAND strings could be in a different sub-block, a different block, a different plane, or a different memory die.
- Step 608 includes adjusting Vths of the non-data transistors such that the Vth criterion is met for the non-data transistors. It is not required that the Vth of every non-data transistor be altered. For example, only non-data transistors having a Vth outside of the target range have their Vth are adjusted, in one embodiment. However, even non-data transistors having a Vth within the target range could have their Vth adjusted to, for example, tighten the Vth distribution.
- Step 608 can be performed on non-data transistors at a level of the tier even if that level was not tested. Step 608 can be performed on non-data transistors at a level for which no more than an allowed number of non-data transistors had a Vth outside of a target range. This can be used to tighten the Vth distribution.
- FIG. 9 depicts one embodiment of adjusting Vths of the non-data transistors such that the Vth criterion is met for the non-data transistors. If the Vth criterion is not met after the attempt to adjust the Vths of the non-data transistors, the group of NAND strings can be marked such that they are no longer used.
- FIG. 8 is a flowchart of one embodiment of a process 800 of testing threshold voltages of non-data transistors at a given level of the stack.
- the process 800 may be used in step 602 of process 600 .
- the process 800 may be repeated for each level of non-data transistors that is to be tested in step 602 .
- the process 800 is performed with respect to some group of NAND strings, such as a sub-block or block (see FIG. 4A and 4B ).
- the process 800 can be performed separately, but in parallel, with respect to groups of NAND strings in different memory dies or with respect to groups of NAND strings in different planes on the same memory die.
- Step 802 includes selecting a group of the non-data transistors at the level. There may be many non-data transistors at the level (with respect to the group of NAND strings). For example, with reference to FIG. 4A , there may be many (e.g., thousands) of non-data transistors in a sub-block (e.g., SB 0 , SB 1 , SB 2 , SB 3 ) at a given level of the stack. In one embodiment, all non-data transistors in the subset are tested in step 802 . For example, every select transistor at level SGD 0 may be selected. However, it is not required that every non-data transistor in the subset be selected in step 802 .
- a sub-block e.g., SB 0 , SB 1 , SB 2 , SB 3
- Step 804 includes reading (or sensing) at an upper tail (UT) reference voltage.
- the non-data transistors may be sensed at Vth_max.
- Vth_max is applied to control terminals of the selected non-data transistors while a “read pass” voltage is applied to all other transistors on the NAND strings.
- the read pass is a voltage that is expected to be greater than the Vth of all other transistors, in one embodiment.
- Step 806 is a determination of whether more than an allowed number of non-data transistors have a Vth above the UT reference level.
- the allowed number is at least zero. As one example, the allowed number is 16 for a sub-block. The allowed number depends on how many non-data transistors were selected for testing, in one embodiment.
- Step 808 is performed when more than the allowed number of non-data transistors have a Vth above the UT reference level.
- a status of “fail” is recorded for the non-data transistors at this level of the stack.
- the process 800 may then end. Note that process 800 may be repeated for non-data transistors (in the group of NAND strings for which Vth maintenance is being performed) at a different level of the stack. Also note that the status information (and other status information stored in process 800 ) may be used in step 604 of process 600 .
- Step 810 is performed if the allowed number or fewer non-data transistors have a Vth above the UT reference level.
- Step 810 includes reading (or sensing) at a lower tail (LT) reference voltage.
- the non-data transistors may be sensed at Vth_min.
- Vth_min is applied to control terminals of the selected non-data transistors while a “read pass” voltage is applied to all other transistors on the NAND strings.
- the read pass is a voltage that is expected to be greater than the Vth of all other transistors on the NAND strings, in one embodiment.
- Step 812 is a determination of whether more than an allowed number of non-data transistors have a Vth below the LT reference level.
- the allowed number is at least zero. The allowed number depends on how many non-data transistors were selected for testing, in one embodiment. The allowed number could be the same or different as the allowed number for the UT reference level.
- Step 814 is performed when more than the allowed number of non-data transistors have a Vth below the LT reference level. In step 814 , a status of “fail” is recorded for the non-data transistors at this level of the stack. The process 800 may then end.
- Step 816 is performed if the allowed number or fewer non-data transistors have a Vth below the LT reference level.
- a status of “pass” is recorded for the non-data transistors at this level of the stack.
- the process 800 may then end. Note that process 800 may be repeated for non-data transistors (in the group of NAND strings for which Vth maintenance is being performed) at a different level of the stack.
- process 800 can be performed with respect to memory cells arranged other than in NAND strings.
- process 800 is used to maintain threshold voltages of select transistors for groups of memory cells in a stack in a three-dimensional memory array. Each group of memory cells has a select transistor at each end of the group, which may be used to select that group.
- Another variation is to test non-data transistors at two or more levels of the stack at the same time.
- the drain side select transistors at levels SGD 0 and SGD 1 might be tested at the same time.
- the operation of the drain side select transistors can be treated as a unit.
- the test may be based on whether a current is conducted by pair of non-data transistors.
- the UT reference voltage may be applied to the control gates of the drain side select transistors at both levels SGD 0 and SGD 1 .
- NAND string 500 in FIG. 5 a significant current will be conducted (and will be present in BL) only if both drain side select transistors have a Vth below the UT reference voltage.
- step 808 the LT reference voltage may be applied to the control gates of the drain side select transistors at both levels SGD 0 and SGD 1 .
- a significant current will be conducted (and will be present in BL) only if both drain side select transistors have a Vth below the LT reference voltage. If either drain side select transistor has a Vth above the drain side select transistors, then a significant current is not conducted. Thus, if a significant current is not conducted, a status of pass is recorded in step 816 .
- FIG. 9 is a flowchart of one embodiment of a process 900 of adjusting Vths of non-data transistors.
- Process 900 is one embodiment of step 608 of process 600 .
- Process 900 will be described with reference to the reference voltages in FIG. 7A , but is not limited to that example.
- Process 900 may be performed separately on non-data transistors at each level of the stack.
- Step 902 includes a determination of which non-data transistors have a Vth above Ver_ver.
- Ver_ver may be lower than Vth_max, in which case some non-data transistors having a Vth below Vth_max can have their Vths adjusted downward to tighten the Vth distribution.
- an alternative is to determine which non-data transistors have a Vth above Vth_max. This determination could be made based on the record created in one embodiment of process 800 .
- Another alternative is to determine which non-data transistors have a Vth above a specific level that is between Ver_ver and Vth_max. Note that Ver_ver and Vth_max are equal, in one embodiment.
- Ver_ver could be much lower than depicted in FIG. 8A . For example, Ver_ver could be lower than Vsgpgm or even lower than Vth_min. In this case, the goal may be to create a new Vth distribution that is significantly lower than the target Vth distribution.
- Step 904 is a determination of whether the number of non-data transistors having a Vth above Ver_ver (or another reference level tested in step 902 ) is more than an allowed number. This allowed number could be the same or different than the allowed number of step 806 of process 800 .
- step 906 is performed.
- Step 906 is to lower the Vth of transistors having a Vth above Ver_ver.
- Step 906 may include performing an erase operation on the non-data transistors to lower the Vth.
- step 902 is performed to verify whether the Vth of the non-data transistors has been lowered sufficiently.
- step 908 is performed. Note that there can be a limit as to how many times step 906 is performed. If too many non-data transistors still have a Vth above Ver_ver, the process 900 may end with a status of failure. In this case, the group of NAND strings having the non-data transistors may be marked as invalid for further use.
- Step 908 includes a determination of which non-data transistors have a Vth below Vpgm_ver.
- Vpgm_ver may be greater than Vth_min, in which case some non-data transistors having a Vth above Vth_min can have their Vths adjusted upward to tighten the Vth distribution.
- an alternative is to determine which non-data transistors have a Vth below Vth_min. This determination could be made based on the record created in one embodiment of process 800 .
- Another alternative is to determine which non-data transistors have a Vth below a specific level that is between Vpgm_ver and Vth_min. Note that Vpgm_ver and Vth_min are equal, in one embodiment.
- Step 910 is a determination of whether the number of non-data transistors having a Vth below Vpgm_ver (or another reference level tested in step 908 ) is more than an allowed number. This allowed number could be the same or different than the allowed number of step 812 of process 800 .
- step 912 is performed.
- Step 912 is to increase the Vth of transistors having a Vth below Vpgm_ver.
- Step 912 may include performing a program operation on the non-data transistors to increase the Vth.
- step 908 is performed to verify whether the Vth of the non-data transistors has been increased sufficiently.
- the process ends. Note that there can be a limit as to how many times step 908 is performed. If too many non-data transistors still have a Vth below Vpgm ver, the process 900 may end with a status of failure. In this case, the group of NAND strings having the non-data transistors may be marked as invalid for further use.
- FIG. 10 is a flowchart of one embodiment of a process 1000 of performing Vth maintenance of non-data transistors in a non-volatile storage device.
- Process 1000 refers to an erase of a sub-block.
- the control circuit is able to erase memory cells (in a selected sub-block) in one tier of the stack while leaving valid data on memory cells (in selected sub-block) in another tier.
- the sub-block is one of SB 0 , SB 1 , SB 2 , or SB 3 , in one embodiment.
- process 1000 could be used to erase all the sub-blocks in the block (BLK) in FIG. 4A at the same time. Also, process 1000 could be performed in parallel to erase blocks in different planes and/or different memory die.
- Step 1002 is an indication that an erase of a first set of data memory cells in a first tier of the stack is about to occur.
- the erase is to leave valid data in a second set of data memory cells in a second tier of the stack.
- This erase is of data memory cells of a group of NAND strings, where the data memory cells reside in a selected tier of the stack, in one embodiment.
- This erase is for a selected tier in a selected sub-block, in one embodiment.
- This erase is for a selected tier in a selected block, in one embodiment.
- the flash control layer 232 could determine that the tier should be erased because the data in the selected tier is no longer valid, as one example.
- Step 1004 is determination of whether a program/erase (P/E) count for the first set of data memory cells in the first tier is greater than a threshold (T) number.
- the P/E count could be stored in spare memory cells that are associated with the first set of data memory cells.
- the spare memory cell could be in the same block or sub-block as the first set of data memory cells.
- the P/E count is not greater than the threshold, the erase of the memory cells in the first tier is performed while maintaining valid data in the second set of data memory cells in the second tier, in step 1006 .
- Process 1000 may then end.
- step 1004 True
- step 1008 is performed. Note that if the P/E count is compared to a fixed threshold (e.g., 10,000), then the P/E count may be re-set to 1 after going over 10,000 for the purpose of this comparison.
- a fixed threshold e.g. 10,000
- the control circuit determines whether a Vth maintenance flag for the first tier is set.
- the Vth maintenance flag is set to indicate that Vth maintenance was recently performed for the first set of data memory cells in the first tier.
- a single Vth maintenance flag can be used for more than one sub-block when multiple sub-blocks are typically erased together.
- a single Vth maintenance flag may be used for the block in FIG. 4A to represent the Vth maintenance status of each of the sub-blocks.
- the Vth maintenance flag can be any information that is stored in non-transitory storage.
- the Vth maintenance flag could be stored in a spare memory cell that is associated with the first set of data memory cells.
- the spare memory cell could be in the same block or sub-block as the first set of data memory cells.
- Vth maintenance flag is set, then the process ends without performing Vth maintenance. This avoids performing Vth maintenance too frequently. If the Vth maintenance flag is not set, then the control circuit performs Vth maintenance in step 1010 . In one embodiment, process 600 is performed. In one embodiment, Vth maintenance is performed on the same subsets of non-data transistors regardless of which tier is to be erased.
- Step 1012 includes a determination of whether to set a Vth maintenance flag for the second tier.
- the control circuit set the Vth maintenance flag in step 1014 upon a determination that the Vth maintenance flag should be set. If the Vth maintenance flag is not to be set, then the process may end. In one embodiment, the control circuit checks a P/E count for the second tier and sets the Vth maintenance flag if the P/E count is relatively close to the threshold that would otherwise trigger the Vth maintenance.
- the Vth maintenance flag may be checked in step 1008 when process 1000 is performed for the tier-2, in one embodiment.
- Tier-1 and Tier-2 each have the same threshold (T) for step 1004 .
- T threshold
- the P/E count for Tier 1 is over the threshold (such that step 1008 will be performed).
- the P/E count for Tier 2 is below, but close to, the threshold.
- the threshold might be 10,000 with the P/E count for Tier-2 being 9990 .
- the check of step 1004 will be true.
- the Vth maintenance flag is set, the Vth maintenance will not be performed for this sub-block despite the P/E count having gone over the threshold (T). Therefore, over-use of the Vth maintenance is avoided.
- a first embodiment disclosed herein comprises apparatus comprising: a memory interface configured to be connected to non-volatile memory; and a processor circuit connected to the memory interface.
- the processor circuit is configured to test a threshold voltage criterion of non-data transistors associated with memory cells that reside in a stack in the non-volatile memory. The test is in response to a trigger condition being met with respect to an erase of a first set of data memory cells that reside in a first tier of the stack.
- the memory cells include a second set of data memory cells that reside in a second tier of the stack.
- the processor circuit is configured to move valid data out of the second set of data memory cells to another location in the non-volatile memory in response to a determination that the threshold voltage criterion is not met.
- the processor circuit is configured to adjust threshold voltages of the non-data transistors after moving the valid data out of the second set of data memory cells to the other location such that the threshold voltage criterion is met for the non-data transistors.
- the trigger condition is based on a count of a number of erases of the first set of data memory cells.
- the processor circuit is further configured to erase the first set of data memory cells while maintaining valid data in the second set of data memory cells when the trigger condition is not met.
- the trigger condition is further based on whether the threshold voltage criterion of the non-data transistors has been tested in response to an erase of the second set of data memory cells.
- the processor circuit is further configured to store information that indicates that the threshold voltage criterion of the non-data transistors has been tested in response to the trigger condition being met with respect to the erase of the first set of data memory cells.
- the control circuit is further configured to skip a test of the threshold voltage criterion of the non-data transistors when a count of a number of erases of the second set of data memory cells reaches a threshold that indicates the test should otherwise be performed if the stored information indicates that the threshold voltage criterion of the non-data transistors has been tested in response to the trigger condition being met with respect to the erase of the first set of data memory cells.
- the memory cells are part of a group of NAND strings.
- the apparatus further comprises a plurality of bit lines.
- the non-data transistors comprise a select transistor on each NAND string connected to one of the bit lines.
- Each select transistor has a control terminal.
- the apparatus further comprises a select line connected to the control terminal of each select transistor.
- the control circuit is further configured to determine whether more than an allowed number of the select transistors have a threshold voltage outside of a target range.
- the memory cells are part of a group of NAND strings.
- the apparatus further comprises a source line.
- the non-data transistors comprise a select transistor on each NAND string connected to the source line.
- Each select transistor has a control terminal.
- the apparatus further comprises a select line connected to the control terminal of each select transistor.
- the control circuit is further configured to determine whether more than an allowed number of the select transistors have a threshold voltage outside of a target range.
- the memory cells are part of a group of NAND strings.
- the non-data transistors comprise a dummy memory cell transistor on each NAND string.
- the control circuit is further configured to determine whether more than an allowed number of the dummy memory cell transistors have a threshold voltage outside of a target range.
- the memory cells are part of a group of NAND strings.
- the non-data transistors comprise a first select transistor at a first end of each NAND string and a second select transistor at a second end of each NAND string.
- the first set of data memory cells is arranged between the first select transistor and the second set of data memory cells.
- the second set of data memory cells is arranged between the first set of data memory cells and the second select transistor.
- the data transistors further comprise a third set of data memory cells arranged between the second set of data memory cells and the second select transistor.
- the control circuit is further configured to move valid data out of the third set of data memory cells to another location in response to the determination that the threshold voltage criterion is not met and prior to adjusting the threshold voltages of the non-data transistors such that the threshold voltage criterion is met.
- One embodiment includes a method of operating non-volatile storage.
- the method comprises testing whether a threshold voltage distribution of a set of select transistors for groups of memory cells in a stack in a three-dimensional memory array is outside of a target range.
- Each group of memory cells comprises a first set of data memory cells that reside in a first tier of the stack and a second set of data memory cells that reside in a second tier of the stack.
- the testing is in response to a program/erase count of the first sets of data memory cells exceeding a threshold.
- the method also includes moving valid data out of the second sets of data memory cells to another location in response to a determination that the threshold voltage distribution is outside of the target range.
- the method also includes adjusting threshold voltages of the set of select transistors after moving the valid data out of the second sets of data memory cells to the other location such that the threshold voltage distribution is within the target range.
- One embodiment includes a non-volatile memory device comprising a three-dimensional memory array comprising groups memory cells, a first select transistor at a first end of each group, and a second select transistor at a second end of each group.
- Each group comprises a first set of data memory cells and a second set of data memory cells.
- the first set of data memory cells is arranged between the first select transistor and the second set of data memory cells.
- the second set of data memory cells arranged between the first set of data memory cells and the second select transistor.
- the non-volatile memory device also comprises a control circuit configured to erase the first set of data memory cells while maintaining valid data in the second set of data memory cells when a trigger condition with respect to the erase of the first set of data memory cells is not met.
- the control circuit is configured to sense threshold voltages of the first select transistors in response to the trigger condition being met.
- the control circuit is configured to move valid data out of the second set of data memory cells to another location in response to a determination that more than an allowed number of the first select transistors have a threshold voltage outside of a target range.
- the control circuit is configured to adjust threshold voltages of the first select transistors after moving the valid data out of the second set of data memory cells to the other location such that no more than the allowed number of the first select transistors have a threshold voltage outside of the target range.
- a connection may be a direct connection or an indirect connection (e.g., via one or more others parts).
- the element when an element is referred to as being connected or coupled to another element, the element may be directly connected to the other element or indirectly connected to the other element via intervening elements.
- the element When an element is referred to as being directly connected to another element, then there are no intervening elements between the element and the other element.
- Two devices are “in communication” if they are directly or indirectly connected so that they can communicate electronic signals between them.
- set of objects may refer to a “set” of one or more of the objects.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
Description
- Semiconductor memory is widely used in various electronic devices such as cellular telephones, digital cameras, personal digital assistants, medical electronics, mobile computing devices, servers, solid state drives, non-mobile computing devices and other devices. Semiconductor memory may comprise non-volatile memory or volatile memory. A non-volatile memory allows information to be stored and retained even when the non-volatile memory is not connected to a source of power (e.g., a battery).
- One type of non-volatile memory has strings of non-volatile memory cells that have a select transistor at each end of the string. Typically, such strings are referred to as NAND strings. A NAND string may have a drain side select transistor at one end that connects the string to a bit line. A NAND string may have a source side select transistor at one end that connects the string to a source line. The non-volatile memory cells may also be referred to as non-volatile memory cell transistors, with the channels of the non-volatile memory cell transistors collectively being referred to as a NAND string channel.
- Like-numbered elements refer to common components in the different figures.
-
FIG. 1 is a functional block diagram of a memory device. -
FIG. 2 is a block diagram depicting one embodiment of a memory system. -
FIG. 3 is a perspective view of a memory device. -
FIG. 4A depicts a top view of an example word line layer of a 3D memory structure, in a straight NAND string embodiment. -
FIG. 4B depicts a top view of anexample SGD layer 420, consistent withFIG. 4A . -
FIG. 4C depicts an embodiment of a stack showing a cross-sectional view alongline 412 a ofFIG. 4A andline 412 b ofFIG. 4B . -
FIG. 4D depicts an alternative view of the select gate layers and word line layers of thestack 440 ofFIG. 4C . -
FIG. 4E depicts a view of theregion 442 ofFIG. 4C . -
FIG. 5 is a schematic diagram of a NAND string. -
FIG. 6 is a flowchart of one embodiment of a process of maintaining threshold voltages of transistors in a memory device. -
FIGS. 7A-7C , which show example threshold voltage distributions of non-data transistors. -
FIG. 8 is a flowchart of one embodiment of a process of testing a threshold voltage criterion of a non-data transistors. -
FIG. 9 is a flowchart of one embodiment of a process of adjusting threshold voltages of non-data transistors. -
FIG. 10 is a flowchart of one embodiment of a process of performing threshold voltage maintenance of non-data transistors in a non-volatile storage device. - Techniques are provided for maintaining threshold voltages of non-data transistors in a memory device. The non-data transistors are on NAND strings in a three-dimensional memory device, in one embodiment. The NAND strings run vertically through a stack of alternating horizontal conductive layers and horizontal dielectric layers, in one embodiment. A NAND string comprises data transistors and non-data transistors. A data transistor (e.g., data memory cell transistor) is one that is used to store user or system data. A non-data transistor is not used to store user or system data. Non-data transistors include select transistors and dummy memory cell transistors. Note that data memory cell transistor may more succinctly be referred to as a data memory cell. Also, a dummy memory cell transistor may more succinctly be referred to as a dummy memory cell. A select transistor may be used to select a NAND string or a portion of a NAND string for a memory operation.
- The stack comprises tiers, in one embodiment. Each NAND strings has a first set of data memory cells in a first tier of the stack and a second set of data memory cells in a second tier of the stack, in one embodiment. A control circuit may perform a memory array operation (e.g., read, program, erase) on a group of NAND strings. The control circuit operates each tier as an independently functioning unit, in one embodiment. For example, data memory cells in one tier may be erased while maintaining valid data in another tier.
- A NAND string comprises a number of memory cells connected in series between one or more drain-side select transistors (or SGD transistors), on a drain-side of the NAND string which is connected to a bit line, and one or more source-side select transistors (or SGS transistors), on a source-side of the NAND string which is connected to a source line. The SGD transistors can be provided in a conductive state, such as when the NAND string is being sensed in a read or verify operation, or in a non-conductive state, such as when the NAND string is being inhibited from programming and its channel voltage is boosted. The SGD transistors can typically be controlled by a control gate voltage and a bit line voltage, while the SGS transistors can typically be controlled by a control gate voltage and a source line voltage.
- To accurately control the select transistors, their threshold voltages (Vth) should be in an expected range. However, the threshold voltages can change for various reasons. For example, read disturb stress can cause the Vth to increase. Read disturb stress can be experienced by a transistor which has a large voltage difference between its control gate and channel. For instance, during the read of a memory cell in a NAND string, the unselected memory cells and the select transistors may receive a high pass voltage which can cause read disturb. Due to the high control gate-to-channel voltage, charge can be injected into a charge storage region of the select transistor, gradually increasing the Vth of the select transistor.
- Data retention loss can cause the Vth to decrease. Data retention loss may occur gradually over long periods of time. The Vth of the select transistors can also change due to other factors, such as program disturb and defects in the memory device. Some defects are not apparent at the time of manufacture but may appear as the memory device accumulates program-erase cycles and is stressed. One example of a defect is a short circuit. Moreover, the Vth of different select transistors within a chip can vary even when the memory device is new due to process variations or defects.
- If Vth of the select transistors changes substantially, it can result in a failure in the memory device. For example, if the Vth is too high in an SGD transistor, the associated NAND string may not be in a fully conductive state during sensing or programming operations. If the Vth is too low in an SGD transistor, the associated NAND string may not be in a fully non-conductive state for an unselected NAND string during programming, impairing the ability to boost the channel voltage and prevent program disturb.
- A NAND string may have dummy memory cell transistors, which are memory cells that are not used to store user or system data. A dummy memory cell transistor is sometimes used between a data memory cell transistor and a select transistor. The Vth of a dummy memory cell transistors may also impact the operation of the memory device. If the Vth of a dummy memory cell transistor on a NAND string is too high or too low, a memory operation of a data memory cell on that NAND string could fail.
-
FIG. 1 -FIG. 4E describe one example of a memory system that can be used to implement the technology proposed herein.FIG. 1 is a functional block diagram of anexample memory system 100. The components depicted inFIG. 1 are electrical circuits.Memory system 100 includes one or more memory dies 108. The one or more memory dies 108 can be complete memory dies or partial memory dies. In one embodiment, each memory die 108 includes amemory structure 126,control circuitry 110, and read/write circuits 128.Memory structure 126 is addressable by word lines via arow decoder 124 and by bit lines via acolumn decoder 132. The read/write/erasecircuits 128 include multiple sense blocks 150 including SB1, SB2, . . . , SBp (sensing circuitry) and allow a page of memory cells to be read or programmed in parallel. Also, many strings of memory cells can be erased in parallel. - In some systems, a
controller 122 is included in the same package (e.g., a removable storage card) as the one or more memory die 108. However, in other systems, the controller can be separated from the memory die 108. In some embodiments the controller will be on a different die than the memory die 108. In some embodiments, onecontroller 122 will communicate with multiple memory die 108. In other embodiments, each memory die 108 has its own controller. Commands and data are transferred between ahost 140 andcontroller 122 via adata bus 120, and betweencontroller 122 and the one or more memory die 108 vialines 118. In one embodiment, memory die 108 includes a set of input and/or output (I/O) pins that connect tolines 118. -
Control circuitry 110 cooperates with the read/write circuits 128 to perform memory operations (e.g., write, read, erase and others) onmemory structure 126, and includesstate machine 112, an on-chip address decoder 114, and apower control circuit 116. In one embodiment,control circuitry 110 includes buffers such as registers, ROM fuses and other storage devices for storing default values such as base voltages and other parameters. - The on-
chip address decoder 114 provides an address interface between addresses used byhost 140 orcontroller 122 to the hardware address used by thedecoders Power control circuit 116 controls the power and voltages supplied to the word lines, bit lines, and select lines during memory operations. Thepower control circuit 116 includes voltage circuity, in one embodiment.Power control circuit 116 may include charge pumps for creating voltages. The sense blocks include bit line drivers. Thepower control circuit 116 executes under control of thestate machine 112, in one embodiment. -
State machine 112 and/or controller 122 (or equivalently functioned circuits), in combination with all or a subset of the other circuits depicted inFIG. 1 , can be considered a control circuit that performs the functions described herein. The control circuit can include hardware only or a combination of hardware and software (including firmware). For example, a controller programmed by firmware to perform the functions described herein is one example of a control circuit. A control circuit can include a processor, PGA (Programmable Gate Array, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), integrated circuit or other type of circuit. - The (on-chip or off-chip) controller 122 (which in one embodiment is an electrical circuit) may comprise one or
more processors 122 c,ROM 122 a,RAM 122 b, a memory interface (MI) 122 d and a host interface (HI) 122 e, all of which are interconnected. The storage devices (ROM 122 a,RAM 122 b) store code (software) such as a set of instructions (including firmware), and one ormore processors 122 c is/are operable to execute the set of instructions to provide the functionality described herein. Alternatively or additionally, one ormore processors 122 c can access code from a storage device in the memory structure, such as a reserved area of memory cells connected to one or more word lines.RAM 122 b can be to store data forcontroller 122, including caching program data (discussed below).Memory interface 122 d, in communication withROM 122 a,RAM 122 b andprocessor 122 c, is an electrical circuit that provides an electrical interface betweencontroller 122 and one or more memory die 108. For example,memory interface 122 d can change the format or timing of signals, provide a buffer, isolate from surges, latch I/O, etc. One ormore processors 122 c can issue commands to control circuitry 110 (or another component of memory die 108) viaMemory Interface 122 d.Host interface 122 e provides an electrical interface withhost 140data bus 120 in order to receive commands, addresses and/or data fromhost 140 to provide data and/or status to host 140. - In one embodiment,
memory structure 126 comprises a three-dimensional memory array of non-volatile memory cells in which multiple memory levels are formed above a single substrate, such as a wafer. The memory structure may comprise any type of non-volatile memory that are monolithically formed in one or more physical levels of arrays of memory cells having an active area disposed above a silicon (or other type of) substrate. In one example, the non-volatile memory cells comprise vertical NAND strings with charge-trapping material. - In another embodiment,
memory structure 126 comprises a two-dimensional memory array of non-volatile memory cells. In one example, the non-volatile memory cells are NAND flash memory cells utilizing floating gates. Other types of memory cells (e.g., NOR-type flash memory) can also be used. - The exact type of memory array architecture or memory cell included in
memory structure 126 is not limited to the examples above. Many different types of memory array architectures or memory technologies can be used to formmemory structure 126. No particular non-volatile memory technology is required for purposes of the new claimed embodiments proposed herein. Other examples of suitable technologies for memory cells of thememory structure 126 include ReRAM memories, magnetoresistive memory (e.g., MRAM, Spin Transfer Torque MRAM, Spin Orbit Torque MRAM), phase change memory (e.g., PCM), and the like. Examples of suitable technologies for memory cell architectures of thememory structure 126 include two-dimensional arrays, three-dimensional arrays, cross-point arrays, stacked two-dimensional arrays, vertical bit line arrays, and the like. - One example of a ReRAM, or PCMRAM, cross point memory includes reversible resistance-switching elements arranged in cross point arrays accessed by X lines and Y lines (e.g., word lines and bit lines). In another embodiment, the memory cells may include conductive bridge memory elements. A conductive bridge memory element may also be referred to as a programmable metallization cell. A conductive bridge memory element may be used as a state change element based on the physical relocation of ions within a solid electrolyte. In some cases, a conductive bridge memory element may include two solid metal electrodes, one relatively inert (e.g., tungsten) and the other electrochemically active (e.g., silver or copper), with a thin film of the solid electrolyte between the two electrodes. As temperature increases, the mobility of the ions also increases causing the programming threshold for the conductive bridge memory cell to decrease. Thus, the conductive bridge memory element may have a wide range of programming thresholds over temperature.
- Magnetoresistive memory (MRAM) stores data by magnetic storage elements. The elements are formed from two ferromagnetic plates, each of which can hold a magnetization, separated by a thin insulating layer. One of the two plates is a permanent magnet set to a particular polarity; the other plate's magnetization can be changed to match that of an external field to store memory. A memory device is built from a grid of such memory cells. In one embodiment for programming, each memory cell lies between a pair of write lines arranged at right angles to each other, parallel to the cell, one above and one below the cell. When current is passed through them, an induced magnetic field is created.
- Phase change memory (PCM) exploits the unique behavior of chalcogenide glass. One embodiment uses a GeTe-Sb2Te3 super lattice to achieve non-thermal phase changes by simply changing the co-ordination state of the Germanium atoms with a laser pulse (or light pulse from another source). Therefore, the doses of programming are laser pulses. The memory cells can be inhibited by blocking the memory cells from receiving the light. Note that the use of “pulse” in this document does not require a square pulse, but includes a (continuous or non-continuous) vibration or burst of sound, current, voltage light, or other wave.
- A person of ordinary skill in the art will recognize that the technology described herein is not limited to a single specific memory structure, but covers many relevant memory structures within the spirit and scope of the technology as described herein and as understood by one of ordinary skill in the art.
-
FIG. 2 is a block diagram ofexample memory system 100, depicting more details of one embodiment ofcontroller 122. The controller inFIG. 2 is a flash memory controller, but note that thenon-volatile memory 108 is not limited to flash. Thus, thecontroller 122 is not limited to the example of a flash memory controller. As used herein, a flash memory controller is a device that manages data stored on flash memory and communicates with a host, such as a computer or electronic device. A flash memory controller can have various functionality in addition to the specific functionality described herein. For example, the flash memory controller can format the flash memory to ensure the memory is operating properly, map out bad flash memory cells, and allocate spare memory cells to be substituted for future failed cells. Some part of the spare cells can be used to hold firmware to operate the flash memory controller and implement other features. In operation, when a host needs to read data from or write data to the flash memory, it will communicate with the flash memory controller. If the host provides a logical address to which data is to be read/written, the flash memory controller can convert the logical address received from the host to a physical address in the flash memory. (Alternatively, the host can provide the physical address). The flash memory controller can also perform various memory management functions, such as, but not limited to, wear leveling (distributing writes to avoid wearing out specific blocks of memory that would otherwise be repeatedly written to) and garbage collection (after a block is full, moving only the valid pages of data to a new block, so the full block can be erased and reused). - The interface between
controller 122 and non-volatile memory die 108 may be any suitable flash interface, such asToggle Mode memory system 100 may be a card-based system, such as a secure digital (SD) or a micro secure digital (micro-SD) card. In an alternate embodiment,memory system 100 may be part of an embedded memory system. For example, the flash memory may be embedded within the host. In other example,memory system 100 can be in the form of a solid state drive (SSD). - In some embodiments,
non-volatile memory system 100 includes a single channel betweencontroller 122 and non-volatile memory die 108, the subject matter described herein is not limited to having a single memory channel. For example, in some memory system architectures, 2, 4, 8 or more channels may exist between the controller and the memory die, depending on controller capabilities. In any of the embodiments described herein, more than a single channel may exist between the controller and the memory die, even if a single channel is shown in the drawings. - The memory cells on a memory die 108 can be arranged in one or more planes. In one embodiment, memory operations are performed in parallel on groups of memory cells on different planes on the same memory die. In one embodiment, threshold voltage maintenance of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) is performed in parallel on different planes on the same memory die. In one embodiment, memory operations are performed in parallel on groups of memory cells on different memory die 108. In one embodiment, threshold voltage maintenance of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) is performed in parallel on different memory die.
- As depicted in
FIG. 2 ,controller 122 includes afront end module 208 that interfaces with a host, aback end module 210 that interfaces with the one or more non-volatile memory die 108, and various other modules that perform functions which will now be described in detail. - The components of
controller 122 depicted inFIG. 2 may take the form of a packaged functional hardware unit (e.g., an electrical circuit) designed for use with other components, a portion of a program code (e.g., software or firmware) executable by a (micro) processor or processing circuitry that usually performs a particular function of related functions, or a self-contained hardware or software component that interfaces with a larger system, for example. For example, each module may include an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit, a digital logic circuit, an analog circuit, a combination of discrete circuits, gates, or any other type of hardware or combination thereof. Alternatively or in addition, each module may include software stored in a processor readable device (e.g., memory) to program a processor forcontroller 122 to perform the functions described herein. The architecture depicted inFIG. 2 is one example implementation that may (or may not) use the components ofcontroller 122 depicted inFIG. 1 (i.e. RAM, ROM, processor, interface). - Referring again to modules of the
controller 122, a buffer manager/bus control 214 manages buffers in random access memory (RAM) 216 and controls the internal bus arbitration ofcontroller 122. A read only memory (ROM) 218 stores system boot code. Although illustrated inFIG. 2 as located separately from thecontroller 122, in other embodiments one or both of theRAM 216 andROM 218 may be located within the controller. In yet other embodiments, portions of RAM and ROM may be located both within thecontroller 122 and outside the controller. Further, in some implementations, thecontroller 122,RAM 216, andROM 218 may be located on separate semiconductor die. -
Front end module 208 includes ahost interface 220 and a physical layer interface (PHY) 222 that provide the electrical interface with the host or next level storage controller. The choice of the type ofhost interface 220 can depend on the type of memory being used. Examples ofhost interfaces 220 include, but are not limited to, SATA, SATA Express, SAS, Fibre Channel, USB, PCIe, and NVMe. Thehost interface 220 typically facilitates transfer for data, control signals, and timing signals. -
Back end module 210 includes an error correction code (ECC)engine 224 that encodes the data bytes received from the host, and decodes and error corrects the data bytes read from the non-volatile memory. Acommand sequencer 226 generates command sequences, such as program and erase command sequences, to be transmitted to non-volatile memory die 108. A RAID (Redundant Array of Independent Dies)module 228 manages generation of RAID parity and recovery of failed data. The RAID parity may be used as an additional level of integrity protection for the data being written into thenon-volatile memory system 100. In some cases, theRAID module 228 may be a part of theECC engine 224. Note that the RAID parity may be added as an extra die or dies as implied by the common name, but it may also be added within the existing die, e.g. as an extra plane, or extra block, or extra WLs within a block. Amemory interface 230, which is configured to be connected tonon-volatile memory 108, provides the command sequences to non-volatile memory die 108 and receives status information from non-volatile memory die 108. In one embodiment,memory interface 230 may be a double data rate (DDR) interface, such as aToggle Mode flash control layer 232 controls the overall operation ofback end module 210. - Additional components of
system 100 illustrated inFIG. 2 includemedia management layer 238, which performs wear leveling of memory cells of non-volatile memory die 108.System 100 also includes otherdiscrete components 240, such as external electrical interfaces, external RAM, resistors, capacitors, or other components that may interface withcontroller 122. In alternative embodiments, one or more of thephysical layer interface 222,RAID module 228,media management layer 238 and buffer management/bus controller 214 are optional components that are not necessary in thecontroller 122. - The Flash Translation Layer (FTL) or Media Management Layer (MML) 238 may be integrated as part of the flash management that may handle flash errors and interfacing with the host. In particular, MML may be a module in flash management and may be responsible for the internals of NAND management. In particular, the
MML 238 may include an algorithm in the memory device firmware which translates writes from the host into writes to thememory 126 ofdie 108. TheMML 238 may be needed because: 1) the memory may have limited endurance; 2) thememory 126 may only be written in multiples of pages; and/or 3) thememory 126 may not be written unless it is erased as a block (or a tier within a block in some embodiments). TheMML 238 understands these potential limitations of thememory 126 which may not be visible to the host. Accordingly, theMML 238 attempts to translate the writes from host into writes into thememory 126. -
Controller 122 may interface with one or more memory dies 108. In one embodiment,controller 122 and multiple memory dies (together comprising non-volatile storage system 100) implement a solid state drive (SSD), which can emulate, replace or be used instead of a hard disk drive inside a host, as a NAS device, in a laptop, in a tablet, in a server, etc. Additionally, the SSD need not be made to work as a hard drive. - One or more of
ECC 224,sequencer 226,RAID 228,flash control layer 232,media management layer 238, and/or buffer management/bus control 214 may be referred to as a processor circuit. The processor circuit can include hardware only or a combination of hardware and software (including firmware). For example, a controller programmed by firmware to perform the functions described herein is one example of a control circuit. A processor circuit can include a processor, PGA (Programmable Gate Array, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), integrated circuit or other type of circuit. - In one embodiment, the processor circuit performs threshold voltage maintenance of non-data transistors in the
non-volatile memory 108. The non-data transistors may include select transistors associated with memory cells that reside in a stack in thenon-volatile memory 108. The non-data transistors may include dummy memory cell transistors associated with the memory cells that reside in the stack in thenon-volatile memory 108. The stack may include a first set of data memory cells that reside in a first tier of the stack and a second set of data memory cells that reside in a second tier of the stack. In one embodiment, the processor circuit sends one or more commands to thenon-volatile memory 108 through thememory interface 230 in order to perform threshold voltage maintenance of non-data transistors in thenon-volatile memory 108. The processor circuit may also receive data from thenon-volatile memory 108 via thememory interface 230 to perform the threshold voltage maintenance. The data may pertain to the threshold voltage of the non-data transistors in thenon-volatile memory 108. - Some embodiments of a non-volatile storage system will include one memory die 108 connected to one
controller 122. However, other embodiments may include multiple memory die 108 in communication with one ormore controllers 122. In one example, the multiple memory die can be grouped into a set of memory packages. Each memory package includes one or more memory die in communication withcontroller 122. In one embodiment, a memory package includes a printed circuit board (or similar structure) with one or more memory die mounted thereon. In some embodiments, a memory package can include molding material to encase the memory dies of the memory package. In some embodiments,controller 122 is physically separate from any of the memory packages. -
FIG. 3 is a perspective view of amemory device 300 comprising a set of blocks in an example 3D configuration of thememory structure 126 ofFIG. 1A . On the substrate are example blocks BLK0, BLK1, BLK2 and BLK3 of memory cells (storage elements) and peripheral areas with circuitry for use by the blocks. The substrate has a major surface that extends in the x-y plane. The blocks may be formed over the major surface. Theperipheral area 304 runs along an edge of each block while theperipheral area 305 is at an end of the set of blocks. Each peripheral area can include circuitry, including but not limited to voltage drivers which can be connected to control gate layers, bit lines and source lines of the blocks. - The
substrate 301 can also carry circuitry under the blocks, along with one or more lower metal layers which are patterned in conductive paths to carry signals of the circuitry. The blocks are formed in an intermediate region 302 of the memory device. In anupper region 303 of the memory device, one or more upper metal layers are patterned in conductive paths to carry signals of the circuitry. Each block comprises a stacked area of memory cells, where alternating levels of the stack represent word lines. In one possible approach, each block has opposing tiered sides from which vertical contacts extend upward to an upper metal layer to form connections to conductive paths. While four blocks are depicted as an example, two or more blocks can be used, extending in the x- and/or y-directions. - In one possible approach, the blocks are in a plane, and the length of the plane, in the x-direction, represents a direction in which signal paths to word lines extend in the one or more upper metal layers (a word line or SGD line direction), and the width of the plane, in the y-direction, represents a direction in which signal paths to bit lines extend in the one or more upper metal layers (a bit line direction). The z-direction represents a height of the memory device. The blocks could also be arranged in multiple planes.
-
FIG. 4A depicts a top view of an exampleword line layer 400 of a 3D memory structure, in one embodiment. A 3D memory device can comprise a stack of alternating conductive and dielectric layers. Herein, the layers may be referred to as horizontal layers, due to their orientation with respect to the x-y surface of thesubstrate 301. The conductive layers provide the control gates of the SG transistors and memory cells. The layers used for the SG transistors are SG layers and the layers used for the memory cells are word line layers. Further, memory holes are formed in the stack and filled with a charge-trapping material and a channel material. As a result, a vertical NAND string is formed. Source lines are connected to the NAND strings below the stack and bit lines are connected to the NAND strings above the stack. - A block BLK in a 3D memory device can be divided into sub-blocks, where each sub-block comprises a set of NAND string which have a common SGD control line. Further, a word line layer in a block can be divided into regions. Each region can extend between slits which are formed periodically in the stack to process the word line layers during the fabrication process of the memory device. This processing can include replacing a sacrificial material of the word line layers with metal. Generally, the distance between slits should be relatively small to account for a limit in the distance that an etchant can travel laterally to remove the sacrificial material, and that the metal can travel to fill a void which is created by the removal of the sacrificial material. For example, the distance between slits may allow for a few rows of memory holes between adjacent slits. The layout of the memory holes and slits should also account for a limit in the number of bit lines which can extend across the region while each bit line is connected to a different memory cell. After processing the word line layers, the slits can optionally be filed with metal to provide an interconnect through the stack.
-
FIG. 4A and other Figures are not necessarily to scale. In practice, the regions can be much longer in the x-direction relative to the y-direction than is depicted to accommodate additional memory holes. - In this example, there are four rows of memory holes between adjacent slits. A row here is a group of memory holes which are aligned in the x-direction. Moreover, the rows of memory holes are in a staggered pattern to increase the density of the memory holes. The word line layer is divided into
regions connector 413. The last region of a word line layer in a block can be connected to a first region of a word line layer in a next block, in one approach. The connector, in turn, is connected to a voltage driver for the word line layer. Theregion 406 hasexample memory holes line 412 a. Theregion 407 hasexample memory holes region 408 hasexample memory holes region 409 hasexample memory holes - Each circle represents the cross-section of a memory hole at a word line layer or SG layer. Each circle can alternatively represent a memory cell which is provided by the materials in the memory hole and by the adjacent word line layer.
- Metal-filled
slits -
FIG. 4B depicts a top view of anexample SGD layer 420, consistent withFIG. 4A . The SGD layer is divided intoregions - The
region 426 has theexample memory holes line 412 b which is coincident with a bit line BL0. Theregion 427 also has theexample memory hole 414 which is coincident with a bit line BL1. A number of bit lines extend above the memory holes and are connected to the memory holes as indicated by the “X” symbols. BL0 is connected to a set of memory holes which includes thememory holes memory holes slits FIG. 4A are also depicted, as they extend vertically through the stack. The bit lines can be numbered in a sequence BL0-BL23 across theSGD layer 420 in the x-direction. In practice many more bit lines can be used for SGDlayer 420. - Different subsets of bit lines are connected to cells in different rows. For example, BL0, BL4, BL8, BL12, BL16 and BL20 are connected to cells in a first row of cells at the right-hand edge of each region. BL2, BL6, BL10, BL14, BL18 and BL22 are connected to cells in an adjacent row of cells, adjacent to the first row at the right-hand edge. BL3, BL7, BL11, BL15, BL19 and BL23 are connected to cells in a first row of cells at the left-hand edge of each region. BL1, BLS, BL9, BL13, BL17 and BL21 are connected to cells in an adjacent row of cells, adjacent to the first row at the left-hand edge.
-
FIG. 4C depicts an embodiment of astack 440 showing a cross-sectional view alongline 412 a ofFIG. 4A andline 412 b ofFIG. 4B . Two SGD layers (SGD0, SDG1), two SGS layers (SGS0, SGS1) and six dummy word line layers DWLD0, DWLD1, DWLM1, DWLM0, DWLS0 and DWLS1 are provided, in addition to the data word line layers WLL0-WLL95. Also depicted is a middle junction transistor (MJT) layer. Each NAND string has a drain side select transistor at the SGD0 layer and a drain side select transistor at the SGD1 layer. In operation, the same voltage may be applied to each layer (SGD0, SGD1), such that the control terminal of each transistor receives the same voltage. Each NAND string has a source side select transistor at the SGS0 layer and a drain side select transistor at the SGS1 layer. In operation, the same voltage may be applied to each layer (SGS0, SGS1), such that the control terminal of each transistor receives the same voltage. - Columns of memory cells corresponding to NAND strings NS1 and NS2 are depicted in the multi-layer stack. The stack includes a
substrate 301, an insulatingfilm 250 on the substrate, and a portion of a source line SL. NS1 has a source-end 439 at a bottom of the stack and a drain-end 438 at a top of the stack. The metal-filledslits FIG. 4A and 4B are also depicted. A portion of the bit line BL0 is also depicted. A conductive via 441 connects the drain-end 438 of NS2 to BL0. Note that NS1 is connected to BL1, but that BL1 is not depicted inFIG. 4C . Aregion 442 of the stack is shown in greater detail inFIG. 4E . - The
stack 440 is divided into two tiers. A middle junction transistor (MJT) layer divides thestack 440 into tier-1 and tier-2. The NAND strings have a tier select gate transistor (or isolation transistor) in the MJT layer, in one embodiment. The tier select gate transistor may be used to electrically isolate a first set of memory cell transistors within the memory string (e.g., corresponding with Tier-1 word lines WLL0-WLL47) from a second set of memory cell transistors within the memory string (e.g., corresponding with the Tier-1 word lines WLL48-WLL95) during a memory operation (e.g., an erase operation or a programming operation). - In another embodiment, the middle junction transistor (MJT) layer is not used to divides the
stack 440 into tier-1 and tier-2. Instead, one or more dummy word line layers may be used to divide thestack 440 into tier-1 and tier-2. In this case, one or more dummy memory cell transistors may be used to electrically isolate the first set of memory cell transistors from the second set of memory cell transistors during a memory operation. - The
stack 400 may have more than two tiers. For example, thestack 440 may be divided into three, four, or more tiers. Each of the tiers contains at least one data memory cell. There may additional layers similar to the middle junction transistor (MJT) layer in order to divide thestack 400 into the additional tiers. For example, two junction transistor (JT) layers can divide thestack 400 into three tiers, three junction transistor (JT) layers can divide thestack 400 into four tiers, etc. -
FIG. 4D depicts an alternative view of the SG layers and word line layers of thestack 440 ofFIG. 4C . The SGD layers SGD0 and SGD0 (the drain-side SG layers) each includes parallel rows of SG lines associated with the drain-side of a set of NAND strings. For example, SGD0 includes drain-side SG regions FIG. 4B . - Below the SGD layers are the drain-side dummy word line layers. Each dummy word line layer represents a word line, in one approach, and is connected to a set of dummy memory cells at a given height in the stack. For example, DWLD0 comprises word
line layer regions - Below the dummy word line layers are the data word line layers. For example, WLL10 comprises word
line layer regions FIG. 4A . - Below the data word line layers are the source-side dummy word line layers.
- Below the source-side dummy word line layers are the SGS layers. The SGS layers SGS0 and SGS1 (the source-side SG layers) each includes parallel rows of SG lines associated with the source-side of a set of NAND strings. For example, SGS0 includes source-
side SG lines -
FIG. 4E depicts a view of theregion 442 ofFIG. 4C .SGD transistors memory cell transistors memory hole 410 and/or within each word line layer, e.g., using atomic layer deposition. For example, each column (e.g., the pillar which is formed by the materials within a memory hole) can include a blocking oxide/block high-k material 470, charge-trapping layer orfilm 463 such as SiN or other nitride, atunneling layer 464, a polysilicon body orchannel 465, and adielectric core 466. A word line layer can include aconductive metal 462 such as Tungsten as a control gate. For example,control gates - When a data memory cell transistor is programmed, electrons are stored in a portion of the charge-trapping layer which is associated with the data memory cell transistor. These electrons are drawn into the charge-trapping layer from the channel, and through the tunneling layer. The Vth of a data memory cell transistor is increased in proportion to the amount of stored charge. During an erase operation, the electrons return to the channel.
- Non-data transistors (e.g., select transistors, dummy memory cell transistors) may also include the
charge trapping layer 463. InFIG. 4E ,select transistors memory cell transistors charge trapping layer 463. Thus, the threshold voltage of at least some non-data transistors may also be adjusted by storing or removing electrons from thecharge trapping layer 463. It is not required that all non-data transistors have an adjustable Vth. For example, thecharge trapping layer 463 is not required to be present in every select transistor. - Each of the memory holes can be filled with a plurality of annular layers comprising a blocking oxide layer, a charge trapping layer, a tunneling layer and a channel layer. A core region of each of the memory holes is filled with a body material, and the plurality of annular layers are between the core region and the WLLs in each of the memory holes.
- In some cases, the
tunneling layer 464 can comprise multiple layers such as in an oxide-nitride-oxide configuration. -
FIG. 5 is a schematic diagram of aNAND string 500. TheNAND string 500 is consistent with the NAND strings inFIG. 4C . TheNAND string 500 comprises a first portion of the NAND string (e.g., corresponding with Tier-1 of memory cell transistors), a second portion of the NAND string (e.g., corresponding with a Tier-2 of memory cell transistors), and a tierselect gate transistor 518 arranged between the first portion of the NAND string and the second portion of the NAND string. The first portion of theNAND string 500 includes a first source-sideselect gate transistor 502 connected to SGS0, a second source-sideselect gate transistor 504 connected to SGS1, two dummymemory cell transistors memory cell transistors memory cell transistor 516 connected to dummy word line DWLM0. The second portion of theNAND string 500 includes a dummymemory cell transistor 520 connected to dummy word line DWLM1, datamemory cell transistors memory cell transistors select gate transistor 530 connected to SGD1, a drain-sideselect gate transistor 532 connected to SGD0. Drain-sideselect gate transistor 532 is connected to a bit line (BL). First source-sideselect gate transistor 502 is connected to a source line (SL). - The tier
select gate transistor 518 may be a programmable transistor, such as a floating gate transistor or a charge trap transistor, or a non-programmable transistor, such as an NMOS transistor or a PMOS transistor. The tierselect gate transistor 518 may have a transistor channel length that is different from the transistor channel lengths used for the first set of memory cell transistors and/or the second set of memory cell transistors. The channel length may be greater than any of the transistor channel lengths used for the first set of memory cell transistors and the second set of memory cell transistors. For example, the channel length may be three times greater than the transistor channel lengths used for the first set of memory cell transistors and the second set of memory cell transistors. - The tier
select gate transistor 518 may electrically isolate the first set of memory cell transistors from the second set of memory cell transistors when the tierselect gate transistor 518 is set into a non-conducting state. When a tier select gate transistor is set into a conducting state, then a bit line connected to a drain-side of a NAND string may be electrically connected to a channel formed under memory cell transistors of the lower tier, in one embodiment. - In one embodiment, during a programming operation for data memory cells within Tier-1, the tier
select gate transistor 518 may be placed into a conducting state while the data memory cells within Tier-1 are programmed. During a subsequent programming operation for memory cells within Tier-2, the tierselect gate transistor 518 may be placed into a non-conducting state while the data memory cells within Tier-2 are programmed. In this case, the channel under the memory cells within Tier-1 may be floated. The tierselect gate transistor 518 may comprise an NMOS transistor without a charge trap layer between the channel of the NMOS transistor and the gate of the NMOS transistor. In another embodiment, during an erase operation for memory cells within Tier-2, the tierselect gate transistor 518 may be placed into a non-conducting state while the memory cells within the Tier-2 are erased. -
FIG. 6 is a flowchart of one embodiment of aprocess 600 of maintaining threshold voltages of transistors. Theprocess 600 is used to maintain threshold voltages of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) associated with memory cells that reside in a stack in the non-volatile memory, in one embodiment. In one embodiment, the non-data transistors are select transistors associated with groups of memory cells. Each group of memory cells resides on a NAND string which has one or more select transistors, for which threshold voltage maintenance is provided, in one embodiment. Theprocess 600 is used to maintain threshold voltages of non-data transistors (e.g., select transistors and/or dummy memory cell transistors) on a group of NAND strings, in one embodiment. The NAND strings are in a three-dimensional memory array, in one embodiment. The NAND strings are oriented vertically a stack comprising alternating horizontal conductive layers and horizontal dielectric layers, in one embodiment. In one embodiment, theprocess 600 is performed on a group of NAND strings in a block, such as the block (BLK) depicted in -
FIGS. 4A and 4B . Theprocess 600 is performed on a group of one or more NAND strings in a sub-block (e.g., SB0, SB1, SB2, SB3 inFIG. 4A .). Theprocess 600 could be performed in parallel on groups of NAND strings in different planes on the same memory die. Theprocess 600 could be performed in parallel on groups of NAND strings in different memory die. -
Process 600 is performed by a processor circuit oncontroller 122, in one embodiment. The processor circuit include one or more ofECC 224,sequencer 226,RAID 228,flash control layer 232,media management layer 238, and/or buffer management/bus control 214, in one embodiment. The processor circuit uses thememory interface 230 to send commands to and receive data from the memory dies 108 in order to maintain threshold voltages of non-data transistors, in one embodiment. For example,process 600 may be performed bystate machine 112 and/or controller 122 (or equivalently functioned circuits), in combination with all or a subset of the other circuits depicted inFIG. 1 . -
Process 600 is performed by a control circuit, in one embodiment. For example,process 600 may be performed bystate machine 112 and/or controller 122 (or equivalently functioned circuits), in combination with all or a subset of the other circuits depicted inFIG. 1 . - The stack is divided into multiple tiers, in one embodiment.
Process 600 will be described with respect to two tiers in the stack, but can be applied to more than two tiers. Reference may be made toFIG. 4C orFIG. 5 to describeprocess 600; however,process 600 is not limited to the embodiments ofFIG. 4C orFIG. 5 . - The
process 600 may be initiated in response to a trigger condition being met with respect to an erase of a first set of data memory cells in a first tier of the stack. The first tier could be Tier-1 or Tier-2. The trigger condition is based on an erase count of the data memory cells in the first tier, in one embodiment. Typically, all of the data memory cells (in a unit such as sub-block or block) in a given tier are erased prior to programming. Thus, the data memory cells in a given tier undergo what is referred to as erase/program (or program/erase) cycles. Thus, the erase count may also be referred to a program/erase count (or “P/E count”). However, the trigger condition could be based on other factors, such as whether a non-data transistor Vth maintenance check has recently been performed due to a trigger condition being met with respect to an erase of a second set of data memory cells in a second tier of the stack. This can be used to improve performance by reducing un-necessary non-data transistor Vth maintenance checks. - Step 602 includes testing a threshold voltage criterion of the non-data transistors. The threshold voltage criterion includes an allowed Vth range for the non-data transistors at a given layer of the stack, in one embodiment. The allowed Vth range can differ for non-data transistors at different layers of the stack. It is not required that non-data transistors at every level of the stack be tested to comply with the threshold voltage criterion. With respect to
FIG. 4C , the tested non-data transistors could include any of the following levels: SGD0, SGD1, DWLD0, DWLD1, DWLM1, MJT, DWLM0, DWLS1, DWLS0, SGS1, SGS0, assuming that the non-data transistors at that level have an adjustable Vth. In one embodiment, non-data transistors at the same level are tested regardless of which tier is to be erased. For example, whether data memory cells in Tier-1 or Tier-2 are to be erased, select transistors at levels SGD0 and SGD1 may be tested. - With respect to
FIG. 5 , the non-data transistors that are tested instep 602 could include one or more of source-sideselect gate transistors memory cell transistors select gate transistors MJT transistor 518 is also a non-data transistor, but in the example ofFIG. 5 , does not have a programmable threshold voltage. However, theMJT transistor 518 could have a programmable threshold voltage, in which case, the threshold voltage ofMJT transistor 518 could be tested instep 602. - Step 602 tests whether more than an allowed number of non-data transistors at a given level of the stack have a threshold voltage outside of a target range, in one embodiment. Note that it is not required that every non-data transistor at a given level of the stack have its Vth measured. For example, a sample of 1000 out of 10,000 non-data transistors at the SGD0 level might be tested. The allowed number is not required to be the same for each level of the stack. The target range is not required to be the same for each level of the stack.
-
FIGS. 7A-7C , which show example Vth distributions of non-data transistors, will now be discussed to illustrate embodiments of testing a threshold voltage criterion of a subset of non-data transistors. The Vth distributions are for non-data transistors at the same level of the stack for some group of NAND strings, in one embodiment. The group of NAND strings could be in a sub-block, block, or some other unit. -
FIG. 7A depicts a plot of a Vth distribution, showing aninitial distribution 700, a distribution after read disturb 701, and a distribution afterdata retention loss 702. InFIG. 7A , the vertical axis represents a count of non-data transistors, on a log scale, and the horizontal axis represents Vth in Volts. Vpgm_ver represents a verify voltage which may be used to increase (e.g., program) a non-data transistor to the initial distribution, such as at the time of manufacture or during the lifetime of the memory device. Ver_ver represents a verify voltage which may be used to decrease (e.g., erase) a non-data transistor to the initial distribution, such as at the time of manufacture or during the lifetime of the memory device. The term “program” is being used in this context to indicate increasing the Vth of a non-data transistor. The term “erase” is being used in this context to indicate decreasing the Vth of a non-data transistor. Subsequently, the Vth distribution can shift higher or lower. The shape, including the width, of the distribution, can also change, but is typically Gaussian, having a pronounced peak with sloping side. Vth_min and Vth_max define an acceptable range for the Vth distribution for a subset of non-data transistor, in one embodiment. -
FIG. 7B depicts a plot of a non-datatransistor Vth distribution 705 which has an upper portion that exceeds a maximum allowable voltage, Vth_max.Region 707 of theVth distribution 705 represents non-data transistors for which Vth>Vth_max. In one embodiment, the control circuit counts non-data transistors with a Vth above Vth_max. The control circuit may stop counting if the number exceeds the number that are allowed to have a Vth above Vth_max. In one embodiment, a pre-determined number of non-data transistors are allowed to have a Vth above Vth_max. For example, a maximum of 16 non-data transistors might be allowed to have a Vth above Vth_max, in one embodiment. -
FIG. 7C depicts a plot of a non-datatransistor Vth distribution 710 which has a lower portion below a minimum allowable voltage, Vth_min.Region 712 of theVth distribution 710 represents non-data transistors for which Vth<Vth_min. In one embodiment, the control circuit counts how many non-data transistors have a Vth below Vth_min. The control circuit may stop counting if the number exceeds the number that are allowed to have a Vth below Vth_min. In one embodiment, a pre-determined number of non-data transistors are allowed to have a Vth below Vth_min. For example, a maximum of 16 non-data transistors in the subset might be allowed to have a Vth below Vth_min, in one embodiment. - In one embodiment,
step 602 includes testing whether a threshold voltage distribution of a set of select transistors in a group of NAND strings oriented vertically in a stack in a three-dimensional memory array is outside of a target range. A threshold voltage distribution of a set of non-data transistors (e.g., select transistors) is outside of a target range if more than an allowed number of non-data transistors have a Vth outside of the target range. A threshold voltage distribution of a set of non-data transistors (e.g., select transistors) is within a target range if no more than the allowed number of non-data transistors have a Vth outside of the target range. - Returning again to the discussion of
FIG. 6 , instep 604, the control circuit determines whether the Vth criterion for the non-data transistors is met. In one embodiment, the Vth criterion is met if, for each level of the stack that is tested, no more than an allowed number of non-data transistors for a given level have a Vth outside of a target range for that level. For example, the Vth criterion might be met if no more than 16 transistors at the SGD0 level had a Vth outside of a target range for the SGD0 level and no more than 16 transistors at the SGD1 level had a Vth outside of a target range for the SGD1 level. The Vth criterion can be based on a test of any combination of levels having non-data transistors (e.g., SGD0, SGD1, DWLD0, DWLD1, DWLM1, DWLM0, DWLS1, DWLS0, SGS1, SGS0). As noted above, it is not required that all levels having non-data transistors be tested. For example, one option is to test select transistors, but not test dummy memory cell transistors. - A target range has an upper Vth and a lower Vth, in one embodiment. Thus, the range contains a window of allowed Vths, in one embodiment. As one example, the target range may range from Vth_min to Vth_max. A target range has a lower Vth but is unbounded on the upper end, in one embodiment. As one example, the control circuit may determine whether more than an allowed number of non-data transistors have a Vth below Vth_min, but not consider whether non-data transistors have a Vth above Vth_max. A target range has an upper Vth but is unbounded on the lower end, in one embodiment. As one example, the control circuit may determine whether more than an allowed number of non-data transistors have a Vth above Vth_max, but not consider whether non-data transistors have a Vth below Vth_min.
- If the Vth criterion is met, then the
process 600 ends, in one embodiment. If the Vth criterion is not met, then the process continues atstep 606. Step 606 includes moving valid data out of the second set of data memory cells in the second tier to another location. The other location could be any location other than the second set of data memory cells in the second tier of the stack. The other location may be in another group NAND strings in the memory device. The other group of NAND strings could be in a different sub-block, a different block, a different plane, or a different memory die. By moving the valid data out of the second set of data memory cells, the data is protected from possible damage or loss that could result by remaining in the second set of data memory cells. - Step 608 includes adjusting Vths of the non-data transistors such that the Vth criterion is met for the non-data transistors. It is not required that the Vth of every non-data transistor be altered. For example, only non-data transistors having a Vth outside of the target range have their Vth are adjusted, in one embodiment. However, even non-data transistors having a Vth within the target range could have their Vth adjusted to, for example, tighten the Vth distribution.
- Step 608 can be performed on non-data transistors at a level of the tier even if that level was not tested. Step 608 can be performed on non-data transistors at a level for which no more than an allowed number of non-data transistors had a Vth outside of a target range. This can be used to tighten the Vth distribution.
FIG. 9 depicts one embodiment of adjusting Vths of the non-data transistors such that the Vth criterion is met for the non-data transistors. If the Vth criterion is not met after the attempt to adjust the Vths of the non-data transistors, the group of NAND strings can be marked such that they are no longer used. -
FIG. 8 is a flowchart of one embodiment of aprocess 800 of testing threshold voltages of non-data transistors at a given level of the stack. Theprocess 800 may be used instep 602 ofprocess 600. Theprocess 800 may be repeated for each level of non-data transistors that is to be tested instep 602. Note that theprocess 800 is performed with respect to some group of NAND strings, such as a sub-block or block (seeFIG. 4A and 4B ). Theprocess 800 can be performed separately, but in parallel, with respect to groups of NAND strings in different memory dies or with respect to groups of NAND strings in different planes on the same memory die. - Step 802 includes selecting a group of the non-data transistors at the level. There may be many non-data transistors at the level (with respect to the group of NAND strings). For example, with reference to
FIG. 4A , there may be many (e.g., thousands) of non-data transistors in a sub-block (e.g., SB0, SB1, SB2, SB3) at a given level of the stack. In one embodiment, all non-data transistors in the subset are tested instep 802. For example, every select transistor at level SGD0 may be selected. However, it is not required that every non-data transistor in the subset be selected instep 802. - Step 804 includes reading (or sensing) at an upper tail (UT) reference voltage. For example, the non-data transistors may be sensed at Vth_max. In one embodiment, Vth_max is applied to control terminals of the selected non-data transistors while a “read pass” voltage is applied to all other transistors on the NAND strings. The read pass is a voltage that is expected to be greater than the Vth of all other transistors, in one embodiment.
- Step 806 is a determination of whether more than an allowed number of non-data transistors have a Vth above the UT reference level. The allowed number is at least zero. As one example, the allowed number is 16 for a sub-block. The allowed number depends on how many non-data transistors were selected for testing, in one embodiment.
- Step 808 is performed when more than the allowed number of non-data transistors have a Vth above the UT reference level. In
step 808, a status of “fail” is recorded for the non-data transistors at this level of the stack. Theprocess 800 may then end. Note thatprocess 800 may be repeated for non-data transistors (in the group of NAND strings for which Vth maintenance is being performed) at a different level of the stack. Also note that the status information (and other status information stored in process 800) may be used instep 604 ofprocess 600. - Step 810 is performed if the allowed number or fewer non-data transistors have a Vth above the UT reference level. Step 810 includes reading (or sensing) at a lower tail (LT) reference voltage. For example, the non-data transistors may be sensed at Vth_min. In one embodiment, Vth_min is applied to control terminals of the selected non-data transistors while a “read pass” voltage is applied to all other transistors on the NAND strings. The read pass is a voltage that is expected to be greater than the Vth of all other transistors on the NAND strings, in one embodiment.
- Step 812 is a determination of whether more than an allowed number of non-data transistors have a Vth below the LT reference level. The allowed number is at least zero. The allowed number depends on how many non-data transistors were selected for testing, in one embodiment. The allowed number could be the same or different as the allowed number for the UT reference level.
- Step 814 is performed when more than the allowed number of non-data transistors have a Vth below the LT reference level. In
step 814, a status of “fail” is recorded for the non-data transistors at this level of the stack. Theprocess 800 may then end. - Step 816 is performed if the allowed number or fewer non-data transistors have a Vth below the LT reference level. In
step 816, a status of “pass” is recorded for the non-data transistors at this level of the stack. Theprocess 800 may then end. Note thatprocess 800 may be repeated for non-data transistors (in the group of NAND strings for which Vth maintenance is being performed) at a different level of the stack. - Many variations of
process 800 are possible. In one embodiment, the upper tail is tested, but the lower tail is not. Thus, steps 810, 812, and 814 are omitted, in one embodiment. In one embodiment, the lower tail is tested, but the upper tail is not. Thus, steps 804, 806, and 808 are omitted, in one embodiment. Note thatprocess 800 can be performed with respect to memory cells arranged other than in NAND strings. In one embodiment,process 800 is used to maintain threshold voltages of select transistors for groups of memory cells in a stack in a three-dimensional memory array. Each group of memory cells has a select transistor at each end of the group, which may be used to select that group. - Another variation is to test non-data transistors at two or more levels of the stack at the same time. For example, the drain side select transistors at levels SGD0 and SGD1 might be tested at the same time. In this case, the operation of the drain side select transistors can be treated as a unit. In other words, the test may be based on whether a current is conducted by pair of non-data transistors. During
step 804 the UT reference voltage may be applied to the control gates of the drain side select transistors at both levels SGD0 and SGD1. With respect toNAND string 500 inFIG. 5 , a significant current will be conducted (and will be present in BL) only if both drain side select transistors have a Vth below the UT reference voltage. Thus, if a significant current is not conducted, this indicates that at least one of the drain side select transistors has a Vth above the UT reference voltage. Thus, a status of fail is recorded instep 808. Duringstep 810, the LT reference voltage may be applied to the control gates of the drain side select transistors at both levels SGD0 and SGD1. A significant current will be conducted (and will be present in BL) only if both drain side select transistors have a Vth below the LT reference voltage. If either drain side select transistor has a Vth above the drain side select transistors, then a significant current is not conducted. Thus, if a significant current is not conducted, a status of pass is recorded instep 816. -
FIG. 9 is a flowchart of one embodiment of aprocess 900 of adjusting Vths of non-data transistors.Process 900 is one embodiment ofstep 608 ofprocess 600.Process 900 will be described with reference to the reference voltages inFIG. 7A , but is not limited to that example.Process 900 may be performed separately on non-data transistors at each level of the stack. - Step 902 includes a determination of which non-data transistors have a Vth above Ver_ver. Ver_ver may be lower than Vth_max, in which case some non-data transistors having a Vth below Vth_max can have their Vths adjusted downward to tighten the Vth distribution. However, an alternative is to determine which non-data transistors have a Vth above Vth_max. This determination could be made based on the record created in one embodiment of
process 800. Another alternative is to determine which non-data transistors have a Vth above a specific level that is between Ver_ver and Vth_max. Note that Ver_ver and Vth_max are equal, in one embodiment. Also, note that Ver_ver could be much lower than depicted inFIG. 8A . For example, Ver_ver could be lower than Vsgpgm or even lower than Vth_min. In this case, the goal may be to create a new Vth distribution that is significantly lower than the target Vth distribution. - Step 904 is a determination of whether the number of non-data transistors having a Vth above Ver_ver (or another reference level tested in step 902) is more than an allowed number. This allowed number could be the same or different than the allowed number of
step 806 ofprocess 800. - If more than the allowed number of non-data transistors have a Vth above Ver_ver (step 904=True), then step 906 is performed. Step 906 is to lower the Vth of transistors having a Vth above Ver_ver. Step 906 may include performing an erase operation on the non-data transistors to lower the Vth. Then, step 902 is performed to verify whether the Vth of the non-data transistors has been lowered sufficiently. When it is determined that the number of non-data transistors having a Vth above Ver_ver is not more than the allowed number,
step 908 is performed. Note that there can be a limit as to how many times step 906 is performed. If too many non-data transistors still have a Vth above Ver_ver, theprocess 900 may end with a status of failure. In this case, the group of NAND strings having the non-data transistors may be marked as invalid for further use. - Step 908 includes a determination of which non-data transistors have a Vth below Vpgm_ver. Vpgm_ver may be greater than Vth_min, in which case some non-data transistors having a Vth above Vth_min can have their Vths adjusted upward to tighten the Vth distribution. However, an alternative is to determine which non-data transistors have a Vth below Vth_min. This determination could be made based on the record created in one embodiment of
process 800. Another alternative is to determine which non-data transistors have a Vth below a specific level that is between Vpgm_ver and Vth_min. Note that Vpgm_ver and Vth_min are equal, in one embodiment. - Step 910 is a determination of whether the number of non-data transistors having a Vth below Vpgm_ver (or another reference level tested in step 908) is more than an allowed number. This allowed number could be the same or different than the allowed number of
step 812 ofprocess 800. - If more than the allowed number of non-data transistors have a Vth below Vpgm_ver (step 910=True), then step 912 is performed. Step 912 is to increase the Vth of transistors having a Vth below Vpgm_ver. Step 912 may include performing a program operation on the non-data transistors to increase the Vth. Then, step 908 is performed to verify whether the Vth of the non-data transistors has been increased sufficiently. When it is determined that the number of non-data transistors having a Vth below Vpgm_ver is not more than the allowed number, the process ends. Note that there can be a limit as to how many times step 908 is performed. If too many non-data transistors still have a Vth below Vpgm ver, the
process 900 may end with a status of failure. In this case, the group of NAND strings having the non-data transistors may be marked as invalid for further use. -
FIG. 10 is a flowchart of one embodiment of aprocess 1000 of performing Vth maintenance of non-data transistors in a non-volatile storage device.Process 1000 refers to an erase of a sub-block. Inprocess 1000, the control circuit is able to erase memory cells (in a selected sub-block) in one tier of the stack while leaving valid data on memory cells (in selected sub-block) in another tier. The sub-block is one of SB0, SB1, SB2, or SB3, in one embodiment. Note thatprocess 1000 could be used to erase all the sub-blocks in the block (BLK) inFIG. 4A at the same time. Also,process 1000 could be performed in parallel to erase blocks in different planes and/or different memory die. -
Step 1002 is an indication that an erase of a first set of data memory cells in a first tier of the stack is about to occur. The erase is to leave valid data in a second set of data memory cells in a second tier of the stack. This erase is of data memory cells of a group of NAND strings, where the data memory cells reside in a selected tier of the stack, in one embodiment. This erase is for a selected tier in a selected sub-block, in one embodiment. This erase is for a selected tier in a selected block, in one embodiment. Theflash control layer 232 could determine that the tier should be erased because the data in the selected tier is no longer valid, as one example. -
Step 1004 is determination of whether a program/erase (P/E) count for the first set of data memory cells in the first tier is greater than a threshold (T) number. The P/E count could be stored in spare memory cells that are associated with the first set of data memory cells. For example, the spare memory cell could be in the same block or sub-block as the first set of data memory cells. If the P/E count is not greater than the threshold, the erase of the memory cells in the first tier is performed while maintaining valid data in the second set of data memory cells in the second tier, instep 1006.Process 1000 may then end. If the P/E count is greater than the threshold (step 1004=True), then step 1008 is performed. Note that if the P/E count is compared to a fixed threshold (e.g., 10,000), then the P/E count may be re-set to 1 after going over 10,000 for the purpose of this comparison. - In
step 1008, the control circuit determines whether a Vth maintenance flag for the first tier is set. The Vth maintenance flag is set to indicate that Vth maintenance was recently performed for the first set of data memory cells in the first tier. Note that a single Vth maintenance flag can be used for more than one sub-block when multiple sub-blocks are typically erased together. For example, a single Vth maintenance flag may be used for the block inFIG. 4A to represent the Vth maintenance status of each of the sub-blocks. The Vth maintenance flag can be any information that is stored in non-transitory storage. The Vth maintenance flag could be stored in a spare memory cell that is associated with the first set of data memory cells. For example, the spare memory cell could be in the same block or sub-block as the first set of data memory cells. - If the Vth maintenance flag is set, then the process ends without performing Vth maintenance. This avoids performing Vth maintenance too frequently. If the Vth maintenance flag is not set, then the control circuit performs Vth maintenance in
step 1010. In one embodiment,process 600 is performed. In one embodiment, Vth maintenance is performed on the same subsets of non-data transistors regardless of which tier is to be erased. -
Step 1012 includes a determination of whether to set a Vth maintenance flag for the second tier. The control circuit set the Vth maintenance flag instep 1014 upon a determination that the Vth maintenance flag should be set. If the Vth maintenance flag is not to be set, then the process may end. In one embodiment, the control circuit checks a P/E count for the second tier and sets the Vth maintenance flag if the P/E count is relatively close to the threshold that would otherwise trigger the Vth maintenance. - The Vth maintenance flag may be checked in
step 1008 whenprocess 1000 is performed for the tier-2, in one embodiment. The following example will be used to illustrate. Tier-1 and Tier-2 each have the same threshold (T) forstep 1004. Whenprocess 1000 is performed forTier 1, the P/E count forTier 1 is over the threshold (such thatstep 1008 will be performed). At this time, the P/E count forTier 2 is below, but close to, the threshold. For example, the threshold might be 10,000 with the P/E count for Tier-2 being 9990. After tier-2 is erased a few more times, the check ofstep 1004 will be true. However, because the Vth maintenance flag is set, the Vth maintenance will not be performed for this sub-block despite the P/E count having gone over the threshold (T). Therefore, over-use of the Vth maintenance is avoided. - A first embodiment disclosed herein comprises apparatus comprising: a memory interface configured to be connected to non-volatile memory; and a processor circuit connected to the memory interface. The processor circuit is configured to test a threshold voltage criterion of non-data transistors associated with memory cells that reside in a stack in the non-volatile memory. The test is in response to a trigger condition being met with respect to an erase of a first set of data memory cells that reside in a first tier of the stack. The memory cells include a second set of data memory cells that reside in a second tier of the stack. The processor circuit is configured to move valid data out of the second set of data memory cells to another location in the non-volatile memory in response to a determination that the threshold voltage criterion is not met. The processor circuit is configured to adjust threshold voltages of the non-data transistors after moving the valid data out of the second set of data memory cells to the other location such that the threshold voltage criterion is met for the non-data transistors.
- In a second embodiment and in furtherance of the first embodiment, the trigger condition is based on a count of a number of erases of the first set of data memory cells. The processor circuit is further configured to erase the first set of data memory cells while maintaining valid data in the second set of data memory cells when the trigger condition is not met.
- In a third embodiment and in furtherance of the second embodiment, the trigger condition is further based on whether the threshold voltage criterion of the non-data transistors has been tested in response to an erase of the second set of data memory cells.
- In a fourth embodiment and in furtherance of the second embodiment, the processor circuit is further configured to store information that indicates that the threshold voltage criterion of the non-data transistors has been tested in response to the trigger condition being met with respect to the erase of the first set of data memory cells. The control circuit is further configured to skip a test of the threshold voltage criterion of the non-data transistors when a count of a number of erases of the second set of data memory cells reaches a threshold that indicates the test should otherwise be performed if the stored information indicates that the threshold voltage criterion of the non-data transistors has been tested in response to the trigger condition being met with respect to the erase of the first set of data memory cells.
- In a fifth embodiment and in furtherance of the any of the first to fourth embodiments, the memory cells are part of a group of NAND strings. The apparatus further comprises a plurality of bit lines. The non-data transistors comprise a select transistor on each NAND string connected to one of the bit lines. Each select transistor has a control terminal. The apparatus further comprises a select line connected to the control terminal of each select transistor. To test the threshold voltage criterion, the control circuit is further configured to determine whether more than an allowed number of the select transistors have a threshold voltage outside of a target range.
- In a sixth embodiment and in furtherance of the any of the first to fourth embodiments, the memory cells are part of a group of NAND strings. The apparatus further comprises a source line. The non-data transistors comprise a select transistor on each NAND string connected to the source line. Each select transistor has a control terminal. The apparatus further comprises a select line connected to the control terminal of each select transistor. To test the threshold voltage criterion the control circuit is further configured to determine whether more than an allowed number of the select transistors have a threshold voltage outside of a target range.
- In a seventh embodiment and in furtherance of the any of the first to sixth embodiments, the memory cells are part of a group of NAND strings. The non-data transistors comprise a dummy memory cell transistor on each NAND string. To test the threshold voltage criterion, the control circuit is further configured to determine whether more than an allowed number of the dummy memory cell transistors have a threshold voltage outside of a target range.
- In an eighth embodiment and in furtherance of the any of the first to seventh embodiments, the memory cells are part of a group of NAND strings. The non-data transistors comprise a first select transistor at a first end of each NAND string and a second select transistor at a second end of each NAND string. The first set of data memory cells is arranged between the first select transistor and the second set of data memory cells. The second set of data memory cells is arranged between the first set of data memory cells and the second select transistor.
- In a ninth embodiment and in furtherance of the eighth embodiment, the data transistors further comprise a third set of data memory cells arranged between the second set of data memory cells and the second select transistor. The control circuit is further configured to move valid data out of the third set of data memory cells to another location in response to the determination that the threshold voltage criterion is not met and prior to adjusting the threshold voltages of the non-data transistors such that the threshold voltage criterion is met.
- One embodiment includes a method of operating non-volatile storage. The method comprises testing whether a threshold voltage distribution of a set of select transistors for groups of memory cells in a stack in a three-dimensional memory array is outside of a target range. Each group of memory cells comprises a first set of data memory cells that reside in a first tier of the stack and a second set of data memory cells that reside in a second tier of the stack. The testing is in response to a program/erase count of the first sets of data memory cells exceeding a threshold. The method also includes moving valid data out of the second sets of data memory cells to another location in response to a determination that the threshold voltage distribution is outside of the target range. The method also includes adjusting threshold voltages of the set of select transistors after moving the valid data out of the second sets of data memory cells to the other location such that the threshold voltage distribution is within the target range.
- One embodiment includes a non-volatile memory device comprising a three-dimensional memory array comprising groups memory cells, a first select transistor at a first end of each group, and a second select transistor at a second end of each group. Each group comprises a first set of data memory cells and a second set of data memory cells. The first set of data memory cells is arranged between the first select transistor and the second set of data memory cells. The second set of data memory cells arranged between the first set of data memory cells and the second select transistor. The non-volatile memory device also comprises a control circuit configured to erase the first set of data memory cells while maintaining valid data in the second set of data memory cells when a trigger condition with respect to the erase of the first set of data memory cells is not met. The control circuit is configured to sense threshold voltages of the first select transistors in response to the trigger condition being met. The control circuit is configured to move valid data out of the second set of data memory cells to another location in response to a determination that more than an allowed number of the first select transistors have a threshold voltage outside of a target range. The control circuit is configured to adjust threshold voltages of the first select transistors after moving the valid data out of the second set of data memory cells to the other location such that no more than the allowed number of the first select transistors have a threshold voltage outside of the target range.
- For purposes of this document, reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “another embodiment” may be used to describe different embodiments or the same embodiment.
- For purposes of this document, a connection may be a direct connection or an indirect connection (e.g., via one or more others parts). In some cases, when an element is referred to as being connected or coupled to another element, the element may be directly connected to the other element or indirectly connected to the other element via intervening elements. When an element is referred to as being directly connected to another element, then there are no intervening elements between the element and the other element. Two devices are “in communication” if they are directly or indirectly connected so that they can communicate electronic signals between them.
- For purposes of this document, the term “based on” may be read as “based at least in part on.”
- For purposes of this document, without additional context, use of numerical terms such as a “first” object, a “second” object, and a “third” object may not imply an ordering of objects, but may instead be used for identification purposes to identify different objects.
- For purposes of this document, the term “set” of objects may refer to a “set” of one or more of the objects.
- The foregoing detailed description has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the proposed technology and its practical application, to thereby enable others skilled in the art to best utilize it in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope be defined by the claims appended hereto.
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/213,590 US10691372B1 (en) | 2018-12-07 | 2018-12-07 | Transistor threshold voltage maintenance in 3D memory |
DE102019124668.7A DE102019124668A1 (en) | 2018-12-07 | 2019-09-13 | TRANSISTOR THRESHOLD VOLTAGE HOLDING IN 3D MEMORY |
CN201910878500.8A CN111292792B (en) | 2018-12-07 | 2019-09-18 | Transistor threshold voltage maintenance in 3D memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/213,590 US10691372B1 (en) | 2018-12-07 | 2018-12-07 | Transistor threshold voltage maintenance in 3D memory |
Publications (2)
Publication Number | Publication Date |
---|---|
US20200183610A1 true US20200183610A1 (en) | 2020-06-11 |
US10691372B1 US10691372B1 (en) | 2020-06-23 |
Family
ID=70776865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/213,590 Active 2039-03-06 US10691372B1 (en) | 2018-12-07 | 2018-12-07 | Transistor threshold voltage maintenance in 3D memory |
Country Status (3)
Country | Link |
---|---|
US (1) | US10691372B1 (en) |
CN (1) | CN111292792B (en) |
DE (1) | DE102019124668A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129994A (en) * | 2021-03-29 | 2021-07-16 | 深圳市国微电子有限公司 | Storage system performance adjusting method and storage system |
TWI738390B (en) * | 2020-06-19 | 2021-09-01 | 群聯電子股份有限公司 | Data protection method, memory storage device and memory control circuit unit |
US11132312B2 (en) * | 2019-10-01 | 2021-09-28 | Samsung Electronics Co., Ltd. | Method of controlling initialization of nonvolatile memory device and memory system including nonvolatile memory device |
US11315656B1 (en) * | 2021-02-23 | 2022-04-26 | Realtek Semiconductor Corp. | Detection circuit and detection method |
US20220197535A1 (en) * | 2020-12-17 | 2022-06-23 | Micron Technology, Inc. | Data operation based on valid memory unit count |
US11714128B2 (en) * | 2019-12-31 | 2023-08-01 | Kunlunxin Technology (Beijing) Company Limited | Method and apparatus for testing artificial intelligence chip, device and storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11587618B2 (en) * | 2021-03-26 | 2023-02-21 | Sandisk Technologies Llc | Prevention of latent block fails in three-dimensional NAND |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023902A1 (en) * | 2001-07-30 | 2003-01-30 | Gerd Frankowsky | Recording test information to identify memory cell errors |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US20050210339A1 (en) * | 2004-03-22 | 2005-09-22 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for code coverage |
US20080024140A1 (en) * | 2006-07-27 | 2008-01-31 | Jeremy Henson | Devices, systems, and methods for adaptive rf sensing in arc fault detection |
US20080195903A1 (en) * | 2007-02-14 | 2008-08-14 | Qimonda Flash Gmbh & Co. Kg | Non-volatile memory device with built-in test control unit and methods of testing and repairing a cell array |
US7551612B2 (en) * | 1994-08-22 | 2009-06-23 | Fujitsu Limited | Intra-station control system for connectionless communications system |
US20110100127A1 (en) * | 2009-11-03 | 2011-05-05 | Matthew Beck | Hearing test method and apparatus |
US20110128060A1 (en) * | 2009-05-27 | 2011-06-02 | Kouichi Ishino | Delay adjustment device and delay adjustment method |
US20140100792A1 (en) * | 2012-10-04 | 2014-04-10 | Sequenom, Inc. | Methods and processes for non-invasive assessment of genetic variations |
US20140122689A1 (en) * | 2012-10-25 | 2014-05-01 | Qualcomm Incorporated | Dynamic adjustment of an interrupt latency threshold and a resource supporting a processor in a portable computing device |
US20150066414A1 (en) * | 2013-08-30 | 2015-03-05 | Chroma Ate Inc. | Automatic retest method for system-level ic test equipment and ic test equipment using same |
US9298633B1 (en) * | 2013-09-18 | 2016-03-29 | Emc Corporation | Adaptive prefecth for predicted write requests |
US20180233206A1 (en) * | 2017-02-10 | 2018-08-16 | Sandisk Tehnologies Llc | Detecting Misalignment In Memory Array And Adjusting Read And Verify Timing Parameters On Sub-Block And Block Levels |
US20180275917A1 (en) * | 2017-03-22 | 2018-09-27 | Toshiba Memory Corporation | Memory controller, memory system, and control method |
US20180307431A1 (en) * | 2017-04-19 | 2018-10-25 | Sandisk Technologies Llc | Bad Page And Bad Block Management In Memory |
US20180374518A1 (en) * | 2017-06-22 | 2018-12-27 | Sandisk Technologies Llc | Sense Circuit With Two-Step Clock Signal For Consecutive Sensing |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060256623A1 (en) | 2005-05-12 | 2006-11-16 | Micron Technology, Inc. | Partial string erase scheme in a flash memory device |
JP4867657B2 (en) * | 2006-12-28 | 2012-02-01 | ソニー株式会社 | Voltage supply circuit, display device, electronic apparatus, and voltage supply method |
KR101478149B1 (en) | 2008-10-20 | 2015-01-05 | 삼성전자주식회사 | Flash memory device having dummy transistor |
CN102017145B (en) * | 2008-12-04 | 2012-08-01 | 松下电器产业株式会社 | Nonvolatile memory element and nonvolatile memory device |
WO2012039511A1 (en) * | 2010-09-24 | 2012-03-29 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
US8867271B2 (en) * | 2012-05-30 | 2014-10-21 | Sandisk Technologies Inc. | Threshold voltage adjustment for a select gate transistor in a stacked non-volatile memory device |
US10541029B2 (en) | 2012-08-01 | 2020-01-21 | Micron Technology, Inc. | Partial block memory operations |
US9099202B2 (en) * | 2012-11-06 | 2015-08-04 | Sandisk Technologies Inc. | 3D stacked non-volatile storage programming to conductive state |
US8988941B2 (en) | 2012-12-18 | 2015-03-24 | SanDisk Tehcnologies Inc. | Select transistor tuning |
US9036428B1 (en) | 2014-06-13 | 2015-05-19 | Sandisk Technologies Inc. | Partial block erase for a three dimensional (3D) memory |
US9418751B1 (en) | 2015-01-23 | 2016-08-16 | Sandisk Technologies Llc | Pre-program detection of threshold voltages of select gate transistors in a memory device |
US9449698B1 (en) | 2015-10-20 | 2016-09-20 | Sandisk Technologies Llc | Block and zone erase algorithm for memory |
US10157680B2 (en) | 2015-12-22 | 2018-12-18 | Sandisk Technologies Llp | Sub-block mode for non-volatile memory |
US10008277B2 (en) | 2016-09-12 | 2018-06-26 | Sandisk Technologies Llc | Block health monitoring using threshold voltage of dummy memory cells |
US9984760B1 (en) | 2017-01-11 | 2018-05-29 | Sandisk Technologies Llc | Suppressing disturb of select gate transistors during erase in memory |
US10068651B1 (en) | 2017-06-13 | 2018-09-04 | Sandisk Technologies Llc | Channel pre-charge to suppress disturb of select gate transistors during erase in memory |
US10008271B1 (en) | 2017-09-01 | 2018-06-26 | Sandisk Technologies Llc | Programming of dummy memory cell to reduce charge loss in select gate transistor |
-
2018
- 2018-12-07 US US16/213,590 patent/US10691372B1/en active Active
-
2019
- 2019-09-13 DE DE102019124668.7A patent/DE102019124668A1/en active Pending
- 2019-09-18 CN CN201910878500.8A patent/CN111292792B/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7551612B2 (en) * | 1994-08-22 | 2009-06-23 | Fujitsu Limited | Intra-station control system for connectionless communications system |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US20030023902A1 (en) * | 2001-07-30 | 2003-01-30 | Gerd Frankowsky | Recording test information to identify memory cell errors |
US20050210339A1 (en) * | 2004-03-22 | 2005-09-22 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for code coverage |
US20080024140A1 (en) * | 2006-07-27 | 2008-01-31 | Jeremy Henson | Devices, systems, and methods for adaptive rf sensing in arc fault detection |
US20080195903A1 (en) * | 2007-02-14 | 2008-08-14 | Qimonda Flash Gmbh & Co. Kg | Non-volatile memory device with built-in test control unit and methods of testing and repairing a cell array |
US20110128060A1 (en) * | 2009-05-27 | 2011-06-02 | Kouichi Ishino | Delay adjustment device and delay adjustment method |
US20110100127A1 (en) * | 2009-11-03 | 2011-05-05 | Matthew Beck | Hearing test method and apparatus |
US20140100792A1 (en) * | 2012-10-04 | 2014-04-10 | Sequenom, Inc. | Methods and processes for non-invasive assessment of genetic variations |
US20140122689A1 (en) * | 2012-10-25 | 2014-05-01 | Qualcomm Incorporated | Dynamic adjustment of an interrupt latency threshold and a resource supporting a processor in a portable computing device |
US20150066414A1 (en) * | 2013-08-30 | 2015-03-05 | Chroma Ate Inc. | Automatic retest method for system-level ic test equipment and ic test equipment using same |
US9298633B1 (en) * | 2013-09-18 | 2016-03-29 | Emc Corporation | Adaptive prefecth for predicted write requests |
US20180233206A1 (en) * | 2017-02-10 | 2018-08-16 | Sandisk Tehnologies Llc | Detecting Misalignment In Memory Array And Adjusting Read And Verify Timing Parameters On Sub-Block And Block Levels |
US20180275917A1 (en) * | 2017-03-22 | 2018-09-27 | Toshiba Memory Corporation | Memory controller, memory system, and control method |
US20180307431A1 (en) * | 2017-04-19 | 2018-10-25 | Sandisk Technologies Llc | Bad Page And Bad Block Management In Memory |
US20180374518A1 (en) * | 2017-06-22 | 2018-12-27 | Sandisk Technologies Llc | Sense Circuit With Two-Step Clock Signal For Consecutive Sensing |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132312B2 (en) * | 2019-10-01 | 2021-09-28 | Samsung Electronics Co., Ltd. | Method of controlling initialization of nonvolatile memory device and memory system including nonvolatile memory device |
US11714128B2 (en) * | 2019-12-31 | 2023-08-01 | Kunlunxin Technology (Beijing) Company Limited | Method and apparatus for testing artificial intelligence chip, device and storage medium |
TWI738390B (en) * | 2020-06-19 | 2021-09-01 | 群聯電子股份有限公司 | Data protection method, memory storage device and memory control circuit unit |
US20220197535A1 (en) * | 2020-12-17 | 2022-06-23 | Micron Technology, Inc. | Data operation based on valid memory unit count |
US11494111B2 (en) * | 2020-12-17 | 2022-11-08 | Micron Technology, Inc. | Data operation based on valid memory unit count |
US11315656B1 (en) * | 2021-02-23 | 2022-04-26 | Realtek Semiconductor Corp. | Detection circuit and detection method |
CN113129994A (en) * | 2021-03-29 | 2021-07-16 | 深圳市国微电子有限公司 | Storage system performance adjusting method and storage system |
Also Published As
Publication number | Publication date |
---|---|
CN111292792B (en) | 2023-05-23 |
US10691372B1 (en) | 2020-06-23 |
DE102019124668A1 (en) | 2020-06-10 |
CN111292792A (en) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11081179B2 (en) | Pre-charge voltage for inhibiting unselected NAND memory cell programming | |
US10354737B2 (en) | Non-volatile memory sub-block erasure disturb management scheme | |
US10691372B1 (en) | Transistor threshold voltage maintenance in 3D memory | |
CN109427396B (en) | Determining fast programming word lines in non-volatile memory | |
CN108573733B (en) | Non-volatile memory with program fail recovery | |
EP3619710B1 (en) | Electric field to reduce select gate threshold voltage shift | |
US9852803B2 (en) | Dummy word line control scheme for non-volatile memory | |
US10204689B1 (en) | Non-volatile memory with methods to reduce creep-up field between dummy control gate and select gate | |
US11398285B2 (en) | Memory cell mis-shape mitigation | |
US10068656B2 (en) | Non-volatile memory with multi-pass programming | |
US9570160B1 (en) | Non-volatile storage system with defect detetction and early programming termination | |
US20200303010A1 (en) | Non-volatile memory with fast partial page operation | |
EP3613047B1 (en) | Non-volatile memory with reduced program speed variation | |
US11798625B2 (en) | Program dependent biasing of unselected sub-blocks | |
US11862260B2 (en) | Audit techniques for read disturb detection in an open memory block | |
US20240086074A1 (en) | Nand string read voltage adjustment | |
US11935593B2 (en) | Dummy cell resistance tuning in NAND strings | |
US11894072B2 (en) | Two-side staircase pre-charge in sub-block mode of three-tier non-volatile memory architecture | |
US20240112743A1 (en) | Gate-induced drain leakage pre-charge in sub-block mode for three or more tier non-volatile memory structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SEETHARAMAN, SRINIVASAN;SAGDEO, PIYUSH;SANKULE, SOURABH;AND OTHERS;SIGNING DATES FROM 20181205 TO 20181206;REEL/FRAME:047722/0690 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNOR:WESTERN DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:052915/0566 Effective date: 20200113 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:059127/0001 Effective date: 20220203 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., ILLINOIS Free format text: PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT;ASSIGNOR:WESTERN DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:064715/0001 Effective date: 20230818 Owner name: JPMORGAN CHASE BANK, N.A., ILLINOIS Free format text: PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT;ASSIGNOR:WESTERN DIGITAL TECHNOLOGIES, INC.;REEL/FRAME:067045/0156 Effective date: 20230818 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |