US20160240263A1 - Programming nonvolatile memory device using program voltage with variable offset - Google Patents
Programming nonvolatile memory device using program voltage with variable offset Download PDFInfo
- Publication number
- US20160240263A1 US20160240263A1 US15/131,125 US201615131125A US2016240263A1 US 20160240263 A1 US20160240263 A1 US 20160240263A1 US 201615131125 A US201615131125 A US 201615131125A US 2016240263 A1 US2016240263 A1 US 2016240263A1
- Authority
- US
- United States
- Prior art keywords
- program
- read operation
- voltage
- offset
- nonvolatile 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000003247 decreasing effect Effects 0.000 claims 4
- 210000004027 cell Anatomy 0.000 description 104
- 238000012795 verification Methods 0.000 description 44
- 241000750042 Vini Species 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 11
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 4
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 4
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 101150064834 ssl1 gene Proteins 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000003537 structural cell Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- 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
- G11C2029/0409—Online test
Definitions
- the inventive concept relates generally to memory technologies. More particularly, certain embodiments of the inventive concept relate to nonvolatile memory devices and related methods of programming.
- Nonvolatile memory devices can be found in a wide variety of electronic devices, including, for instance, tablet computers, mobile phones, digital cameras, and many others. As a consequence of the increasing performance demands of these and other devices, there is a general demand for nonvolatile devices having increased storage capacity. Accordingly, to address this demand, researchers continue to develop techniques for improving existing nonvolatile memory technologies, in addition to developing new nonvolatile memory technologies.
- a method of programming a nonvolatile memory device comprises applying at least one test program pulse to selected memory cells located in a scan read area, performing a scan read operation on the selected memory cells following application of the at least one test program pulse to detect at least one one-shot upper cell, calculating an offset voltage corresponding to a scan read region at which the scan read operation is performed, setting a program start bias using the offset voltage, and executing at least one program loop using the program start bias.
- a method of programming a nonvolatile memory device comprises determining whether to use an offset index stored at an offset index register according to a block address of a memory block comprising memory cells to be programmed, applying a test program pulse to the memory cells, applying a test verification pulse to the memory cells to verify programming by the test program pulse, performing a scan read operation of the memory cells, changing the offset index in the offset index register according to a result of the scan read operation, setting a program start bias using the offset index, and iterating program loops using the program start bias until a program operation is passed.
- the scan read operation comprises iterating operations comprising determining whether a number of off cells exceeds a predetermined value, increasing the offset index where the number of off cells does not exceed the predetermined value, and performing a read operation using a scan read voltage corresponding to the offset index, and entering the setting a program start bias where the number of off cells exceeds the predetermined value.
- a nonvolatile memory device comprises a controller configured to apply at least one test program pulse to selected memory cells located in a scan read area, perform a scan read operation on the selected memory cells following application of the at least one test program pulse to detect at least one one-shot upper cell, calculate an offset voltage corresponding to a scan read region at which the scan read operation is performed, set a program start bias using the offset voltage, and execute at least one program loop using the program start bias.
- FIG. 1 is a block diagram of a nonvolatile memory device according to an embodiment of the inventive concept.
- FIG. 2 is a perspective view of a memory block in FIG. 1 according to an embodiment of the inventive concept.
- FIG. 3 is a diagram illustrating an equivalent circuit of the memory block in FIG. 1 according to an embodiment of the inventive concept.
- FIG. 4 is a diagram illustrating a one-shot program operation according to an embodiment of the inventive concept.
- FIG. 5 is a flowchart illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept.
- FIG. 6 is a threshold voltage diagram illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept.
- FIG. 7 is a timing diagram for the method of FIG. 5 .
- FIG. 8 is a flowchart illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept.
- FIG. 9 is a flowchart illustrating a scan read method according to an embodiment of the inventive concept.
- FIG. 10 is a diagram illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept.
- FIG. 11 is a timing diagram for the method of FIG. 10 .
- FIG. 12 is a flowchart illustrating the method of FIG. 10 .
- FIGS. 13A to 13E show various combinations of an offset period and program loops.
- FIG. 14 is a block diagram illustrating an on-chip buffered programming method according to an embodiment of the inventive concept.
- FIG. 15 is a block diagram illustrating a memory system according to an embodiment of the inventive concept.
- first”, “second”, “third”, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the inventive concept.
- spatially relative terms such as “beneath”, “below”, “lower”, “under”, “above”, “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” or “under” other elements or features would then be oriented “above” the other elements or features. Thus, the terms “below” and “under” can encompass both an orientation of above and below.
- the device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.
- a layer when referred to as being “between” two layers, it can be the only layer between the two layers, or one or more intervening layers may also be present.
- FIG. 1 is a block diagram of a nonvolatile memory device according to an embodiment of the inventive concept.
- a nonvolatile memory device 100 comprises a memory cell array 110 , an address decoder 120 , an input/output circuit 130 , and control logic 140 .
- Memory cell array 110 is connected to address decoder 120 through word lines, at least one string selection line SSL, and at least one ground selection line GSL and to input/output circuit 130 through bit lines.
- Memory cell array 110 comprises multiple memory blocks BLK 1 to BLKz each comprising multiple three-dimensional memory cells arranged along a first direction, a second direction different from the first direction, and a third direction perpendicular to a plane formed in the first and second directions.
- Address decoder 120 is connected to memory cell array 110 via word lines WL, at least one string selection line SSL, and at least one ground selection line GSL. Address decoder 120 selects word lines WL, the at least one string selection line SSL, and the at least one ground selection line GSL using a decoded row address. Address decoder 120 decodes a column address of an input address ADDR, and a resulting decoded column address DCA is transferred to input/output circuit 130 . In some embodiments, address decoder 120 comprises a row decoder, a column decoder, an address buffer, and so on.
- Input/output circuit 130 is connected to memory cell array 110 via the bit lines. Input/output circuit 130 selects the bit lines using the decoded column address DCA from address decoder 120 .
- Input/output circuit 130 receives data from an external device (e.g., a memory controller) and stores it in memory cell array 110 . Input/output circuit 130 reads data from memory cell array 110 and outputs it to the external device. Input/output circuit 130 further reads data from a first region of memory cell array 110 and stores it in a second region thereof. In some embodiments, input/output circuit 130 is configured to perform a copy-back operation.
- an external device e.g., a memory controller
- Input/output circuit 130 reads data from memory cell array 110 and outputs it to the external device. Input/output circuit 130 further reads data from a first region of memory cell array 110 and stores it in a second region thereof. In some embodiments, input/output circuit 130 is configured to perform a copy-back operation.
- Control logic 140 is configured to control an overall operation of the nonvolatile memory device 100 . Control logic 140 operates responsive to control signals CTRL or a command transferred from the external device. Control logic 140 performs a scan read operation to calculate an offset voltage for a one-shot program operation.
- one-shot program operation refers to a multi-bit program operation in multiple data values are programmed to a selected memory cell (or cells) by changing its threshold voltage from an initial state to a target state. For instance, in a one-shot program operation may program two bits to a two-bit memory cell by changing its threshold voltage from an erase state to a programmed state. As will be apparent from the following description, the change of threshold voltage may be performed, for instance, using an incremental step pulse programming (ISPP) technique.
- ISPP incremental step pulse programming
- the offset voltage for the one-shot program operation is a value indicating an adjustment to a program voltage used in the one-shot program operation.
- the value can be applied as a bias to an initial program voltage used in the ISPP technique.
- the value typically reflects contextual information about memory cells to be one-shot programmed, such as a structural location, a level of deterioration, a temperature.
- the scan read operation comprises a read operation performed on a predetermined read area (hereinafter, referred to as a “scan read area”) in a predetermined interval.
- Control logic 140 typically performs the scan read operation to detect off cells among selected memory cells after applying of a test pulse (a test program pulse and a test verification pulse) to the selected memory cells, and it calculates the offset voltage for the scan read area for which the scan read operation is performed.
- a test pulse a test program pulse and a test verification pulse
- Control logic 140 comprises an offset index register (OIR) 142 that stores an offset index corresponding to an offset voltage. Control logic 140 changes a program start bias of at least one program loop using the offset index stored at the offset index register 142 .
- OIR offset index register
- FIG. 2 is a perspective view of a memory block in FIG. 1 according to an embodiment of the inventive concept.
- each of the sub-blocks is formed by stacking at least one ground selection line GSL, multiple word lines WL, and at least one string selection line SSL on the substrate and separating a resultant structure by word line cuts WL Cut.
- at least one string selection line SSL is separated by string selection line cuts SSL Cut.
- each of the word line cuts WL Cut may comprise a common source line CSL. Common source lines included in the word line cuts WL Cut are connected in common.
- a structure between word line cuts is assumed to be a sub-block.
- the inventive concept is not limited thereto.
- a structure between a word line cut and a string selection line cut can be defined as a sub-block.
- a block according to an embodiment of the inventive concept may have a merged word line structure in which two word lines are merged into one.
- FIG. 3 is a diagram illustrating an equivalent circuit of a memory block according to an embodiment of the inventive concept.
- a memory blocks BLKi comprises cell strings CS 11 , CS 12 , CS 21 , and CS 22 each comprising a string selection transistor SST, a ground selection transistor GST, and memory cells MC 1 to MC 6 .
- memory cells MC 1 to MC 6 are connected between string selection transistor SST and ground selection transistor GST.
- Control gates of ground selection transistors GST in cell strings CS 11 , CS 12 , CS 21 , and CS 22 are connected in common to a ground selection line GSL.
- One end of each ground selection transistor GST is connected to memory cells MC 1 , and another other end is connected in common to a common source line CSL.
- memory cells MC 1 are connected in common to a word line WL 1
- memory cells MC 2 are connected in common to a word line WL 2
- memory cells MC 3 are connected in common to a word line WL 3
- memory cells MC 4 are connected in common to a word line WL 4
- memory cells MC 5 are connected in common to a word line WL 5
- memory cells MC 6 are connected in common to a word line WL 6 .
- control gates of string selection transistors SST are connected to a string selection line SSL 1 .
- control gates of the string selection transistors SST are connected to a string selection line SSL 2 .
- one end of each string selection transistor SST is connected to a bit line BL 1 , and another end is connected to memory cells MC 6 .
- one end of each string selection transistor SST is connected to a bit line BL 2 , and another end is connected to memory cells MC 6 .
- a direction in which string selection lines SSL 1 and SSL 2 extend may be a row direction (or, a first direction).
- Cell strings CS 11 and CS 12 are arranged along the row direction to form a first row.
- Cell strings CS 21 and CS 22 are arranged along the row direction to form a second row.
- a direction in which bit lines BL 1 and BL 2 extend may be a column direction (or, a second direction).
- Cell strings CS 11 and CS 21 may be arranged along the column direction to form a first column.
- Cell strings CS 12 and CS 22 may be arranged along the column direction to form a second column.
- a direction proceeding from ground selection transistors GST to string selection transistors SST may be a height.
- Memory cells MC 1 and MC 6 form a three-dimensional structure in which memory cells MC 1 to MC 6 are arranged along the row and column directions and stacked along a height direction (or, a third direction). Memory cells at the same height are connected in common to a word line, and memory cells at different heights are connected to respective word lines.
- String selection transistors SST in the same row are connected in common to a string selection line SSL 1 /SSL 2 , and string selection transistors SST in different rows are connected to respective string selection lines SSL 1 and SSL 2 .
- String selection transistors SST in the same column are connected to the same bit line BL 1 /BL 2 , and string selection transistors SST in different columns are connected to respective bit lines BL 1 and BL 2 .
- Each of memory cells MC 1 to MC 6 may store two or more bits. In other words, each of memory cells MC 1 to MC 6 may be a multi-level cell.
- FIG. 3 shows a memory block BLKi comprising four cell strings CS 11 , CS 12 , CS 21 , and CS 22 , the inventive concept is not limited to this number of cell strings. In general, at least two or more cell strings may be provided along a row direction or a column direction. Similarly, although FIG. 3 shows each cell string comprising six memory cells MC 1 to MC 6 , the inventive concept is not limited to this number of memory cells in each cell string. In general, each cell string may comprise two or more memory cells along the height direction.
- each cell string comprising a string selection transistor SST and a ground selection transistor GST
- each cell string can be configured to include two or more string selection transistors SST and two or more ground selection transistors GST.
- at least one of memory cells MC 1 to MC 6 in each cell string may be used as a dummy memory cell.
- a nonvolatile memory device may perform a multi-bit program operation using a one-shot program operation using an offset (e.g., an offset voltage, an offset time, etc.).
- an offset e.g., an offset voltage, an offset time, etc.
- FIG. 4 is a diagram illustrating a one-shot program operation according to an embodiment of the inventive concept.
- the one-shot program operation of FIG. 4 is used to program a 2-bit MLC.
- the one-shot program operation changes an original erase state E 0 to one of an erase state E, a first program state P 1 , a second program state P 2 , and a third program state P 3 .
- FIG. 4 illustrates a first verification voltage VF 1 for verifying first program state P 1 , a second verification voltage VF 2 for verifying second program state P 2 , and a third verification voltage VF 3 for verifying third program state P 3 .
- a nonvolatile memory device 100 is a vertical NAND flash memory device (or, called “VNAND”).
- VNAND vertical NAND flash memory device
- An offset may exist between memory blocks or between word lines according to a process variation in A VNAND structure.
- a conventional nonvolatile memory device may change a program start bias of an MSB program operation according to the number of program pulses applied at an LSB program operation to revise such offset.
- the inventive concept may include detecting an offset according to a structural cell characteristic using a scan read operation and performing a one-shot program operation using the detected offset.
- FIG. 5 is a flowchart illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept.
- a test program pulse is applied to memory cells.
- the test program pulse may have a predetermined level.
- the method determines whether to detect one-shot upper cells.
- the term “one-shot upper cell” refers to a memory cell whose threshold voltage changes by a predetermined amount in response to the test program pulse.
- the detection of one-shot upper cells is accomplished according to a result of a verification operation performed using a predetermined verification voltage. For example, a selected memory cell may be detected as a one-shot upper cell where a result of the verification operation indicates that the selected memory cell is an off cell.
- a scan read operation on a predetermined area is performed to detect one-shot upper cells.
- the predetermined area may be changed according to contextual information such as a temperature of a nonvolatile memory device 100 , wear-leveling (e.g., P/E cycle) of a memory block including memory cells, an address of a memory block including memory cells, and so on.
- a program start bias is determined according to a result of the scan read operation. For example, if the number of one-shot upper cells exceeds a predetermined value, a default level of the program start bias may increase by a predetermined offset value.
- program loops are iterated using the determined program start bias until a program operation is passed.
- program loops may be iterated using a default program start bias.
- the method in FIG. 5 comprises detecting one-shot upper cells (S 120 ), but the inventive concept is not limited thereto.
- the method of FIG. 5 can be modified to include directly performing the scan read operation to calculate an offset voltage without detecting of one-shot upper cells and determining the program start bias according to a calculated offset voltage.
- FIG. 6 is a diagram illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept.
- an offset voltage is determined by applying a loop start voltage Vini to selected memory cells, performing a verification read operation using a verification voltage VF 1 of a first program state P 1 , determining whether to perform a scan read operation according to a result of the verification read operation, and performing a scan read operation on a scan read region SRR on the basis of the verification voltage VF 1 .
- the scan read operation is performed under conditions where a top point VTP decreases by a predetermined voltage.
- the predetermined voltage may be, for instance, a unit voltage in the ISPP technique.
- the top point VTP of the scan read region SRR may correspond to the first verification voltage VF 1
- a down point VDN thereof may correspond to a voltage at which one-shot upper cells are first detected (i.e., off cells are first detected).
- the scan read operation may be performed under conditions where down point VDN increases by a predetermined voltage.
- top point VTP of the scan read region SRR may correspond to a voltage when the number of one-shot upper cells does not exceed a predetermined number, and the down point VDN may be a predetermined voltage (e.g., a read voltage on P 1 ).
- Scan read region SRR is not necessarily limited to the above description, and can take alternative forms.
- the one-shot program operation may change a program start bias of at least a next program loop according to an offset voltage Voffset corresponding to the scan read region SRR. For example, if the scan read region SRR is detected to be relatively wide, a program start bias may be higher than that when the scan read region SRR is relatively narrow. On the other hand, if the scan read region SRR is detected to be relatively narrow, a program start bias may lower than that when the scan read region SRR is relatively wide. In case of a program operation where the scan read region SRR is unnecessary, a default program start bias may be used.
- FIG. 7 is a timing diagram for the method of FIG. 6 .
- the method comprises an offset setting period and program loops.
- the offset setting period after a test program pulse of a loop start voltage Vini is applied, a verification operation is performed using a test verification pulse of a first verification voltage VF 1 .
- Whether to perform program loops Loop1 to Loop N in a default path or in an offset path is determined according to a result of the verification read operation. For example, if a result of the verification read operation indicates that the number of off cells exceeds a predetermined number, a one-shot program operation may be performed via the default path. On the other hand, if a result of the verification read operation indicates that the number of off cells is less than the predetermined number, the one-shot program operation may be performed via the offset path.
- FIG. 7 illustrates an example in which a test program pulse is applied
- the inventive concept is not limited thereto.
- at least two test pulses may be applied in the offset setting period.
- the at least two test pulses may have the same level or different levels.
- FIG. 7 illustrates an example in which a test verification pulse of the first verification voltage VF 1 is applied
- the inventive concept is not limited thereto.
- a verification read operation may be performed using a test verification pulse after at least one test program pulse is applied.
- the offset setting period may include a scan read operation for detecting one-shot upper cells.
- An offset voltage Voffset applied to a program start bias may be determined according to a result of the scan read operation.
- a program loop period may proceed differently according to the default and offset paths.
- a first program pulse (Vini+ ⁇ Vpgm) higher by a loop increment ⁇ Vpgm than loop start voltage Vini is applied and verification operations may be performed using multiple verification pulses.
- the loop increment ⁇ Vpgm may have a constant value or a value varied according to the number of loops.
- the verification pulses may be voltages corresponding to multiple program states (e.g., P 1 , P 2 , and P 3 in FIG. 4 ).
- a second program pulse (Vini+2 ⁇ Vpgm) higher by the loop increment ⁇ Vpgm than the first program pulse is applied and verification operations may be performed using the verification pulses.
- the remaining program loops in the default path may be performed in the same manner as described above.
- a program start bias (Vini+Voffset) determined according to a scan read operation is applied to a first program loop.
- the remaining program loops in the offset path may be performed substantially the same as the default path.
- the program start bias may include loop start voltage Vini and offset voltage Voffset.
- offset voltage Voffset may be a voltage corresponding to a scan read region SRR (See, FIG. 6 ).
- a first program pulse of a program start bias (Vini+Voffset) is applied and verification operations are performed using the verification pulses.
- a second program loop Loop 2 a second program pulse (Vini+2 ⁇ Vpgm) higher by the loop increment ⁇ Vpgm than the first program pulse (Vini+ ⁇ Vpgm) is applied and verification operations are performed using the verification pulses.
- the remaining program loops are performed the same as the default path.
- FIG. 8 is a flowchart illustrating the method of FIG. 6 according to an embodiment of the inventive concept. For convenience, the method of FIG. 8 will be described with reference to the device of FIG. 1 , although the method is not limited to this device.
- a program command, an address, and write data are provided to a nonvolatile memory device 100 .
- control logic 140 of nonvolatile memory device 100 determines whether a block address of the input address is different from a block address of a previous program operation. If a block address of the input address is different from a block address of a previous program operation, in operation S 212 , an offset index m is a default value (e.g., 0). Herein, the default value is stored at offset index register 142 at power-up of the nonvolatile memory device 100 . If a block address of the input address is different from a block address of a previous program operation, in operation S 213 , the offset index m may be a value stored in offset index register 142 .
- control logic 140 sets a program start bias using the offset index m stored at the offset index register 142 .
- the program start bias may be formed of a loop start voltage Vini and an offset voltage Voffset (mISPP+ ⁇ ).
- m may be an offset index
- ISPP may be a unit voltage for execution of a scan read operation
- ⁇ may be an offset value corresponding to a word line layer.
- the offset value ⁇ may be selected from a mapping table formed of an offset values and addresses.
- a first program pulse according to the program start bias is applied.
- a read operation is performed using a first verification voltage VF 1 .
- control logic 140 determines whether the number of off cells exceeds a predetermined value PDV, based on a result of the read operation. In example embodiments, the number of off cells may be determined using a mass bit detection manner.
- control logic 140 increases the offset index m by 1.
- a read operation e.g., a part of a scan read operation
- VF 1 ⁇ ( ⁇ ISPP) ⁇ m a scan read voltage
- ISPP a unit voltage
- m an offset index
- control logic 140 sets the program start bias anew.
- the program start bias newly set may be formed of loop start voltage Vini, offset voltage Voffset (mISPP+ ⁇ ), and a loop increment ⁇ Vpgm.
- a program loop may be iterated according to one of a default path and an offset path (See, FIG. 7 ) until a program operation is passed.
- a program operation may be failed when a program operation is not passed at a last program loop.
- control logic 140 may store a value of (m ⁇ 1) as a new offset index m at the offset index register 142 .
- operation S 260 may be performed to prevent memory cells of a next word line from being over-programmed.
- a manner of controlling an offset index m for prevention of over-programming may not be limited to this disclosure.
- Control logic 140 may determine a value of (m ⁇ 2) as a new offset index m. In other example embodiments, the operation S 260 may be skipped.
- FIG. 9 is a flowchart illustrating a scan read method according to an embodiment of the inventive concept.
- control logic 140 sets a scan read region SRR according to contextual information of a nonvolatile memory device 100 .
- the contextual information of the nonvolatile memory device 100 may include, for instance, wear-leveling (e.g., P/E cycle) of a memory block, a temperature of the nonvolatile memory device 100 (e.g., from an embedded temperature detector), a layer corresponding to a word line (including information corresponding to an input address), a string including a memory cell to be driven (including information corresponding to an input address), and so on.
- a top point VTP and a down point VDN (See, FIG. 6 ) for a scan read operation may be changed according to the contextual information.
- the scan read operation may be performed by a predetermined interval (e.g., ⁇ ISPP: See, FIG. 8 ).
- ⁇ ISPP a predetermined interval
- ⁇ may be a correlation coefficient between a threshold voltage level and a program pulse
- ISPP may be a unit voltage.
- a loop start voltage Vini is used as a test program pulse for offset setting.
- the inventive concept is not limited thereto.
- a dummy voltage Vdummy higher than loop start voltage Vini may be used as a test program pulse at the offset setting period to better express a characteristic of a one-shot program operation.
- FIG. 10 is a diagram illustrating a method of programming a nonvolatile memory device according to another embodiment of the inventive concept.
- a dummy voltage Vdummy higher than loop start voltage Vini is applied as a test program pulse, a read operation is performed using a verification voltage VF 3 of a third program state P 3 , whether to perform a scan read operation may be determined according to a result of the read operation, and a scan read operation on a scan read region SRR may be performed from a verification voltage VF 3 .
- FIG. 10 illustrates an example in which verification voltage VF 3 of third program state P 3 is used as a test read pulse to determine a scan read operation, the inventive concept is not limited thereto.
- a test read pulse used to determine a scan read operation may be determined arbitrarily in connection with a dummy voltage Vdummy.
- FIG. 11 is a timing diagram for the method of FIG. 10 .
- a method comprises an offset setting period and program loops.
- the offset setting period after a dummy voltage Vdummy is applied as a test program pulse, a verification read operation may be performed using a third verification voltage VF 3 , and whether to perform a one-shot program operation in a default or an offset path may be determined according to a result of the verification read operation.
- a program loop period may proceed differently according to the default and offset paths.
- a program loop proceeds from a program pulse according to a loop start voltage Vini.
- a program start bias (Vini+Voffset) determined according to a scan read operation is applied to a program loop Loop 0, and the remaining program loops may be performed the same as the default path.
- the program start bias comprises loop start voltage Vini and an offset voltage Voffset.
- Offset voltage Voffset is a voltage corresponding to a scan read region SRR (See, FIG. 10 ).
- FIG. 12 is a flowchart illustrating the method of FIG. 10 .
- the illustrated operations are the same as corresponding operations of FIG. 8 , so a description thereof is thus omitted.
- a dummy voltage Vdummy is applied as a test program pulse.
- the dummy voltage Vdummy is higher than a loop start voltage Vini.
- a verification read operation is performed using a third verification voltage VF 3 .
- the third verification voltage VF 3 may be a voltage for verifying a third program state P 3 (See, FIG. 4 ).
- a read operation (a part of a scan read operation) may be performed using a scan read voltage (VF 3 ⁇ ( ⁇ ISPP) ⁇ m).
- a program start bias may include loop start voltage Vini and the offset voltage (mISPP+(3).
- the program start bias in operation S 440 corresponds to a value of a program start bias in S 240 of FIG. 8 - ⁇ Vpgm.
- a program loop is iterated using a calculated offset voltage Voffset (See, FIGS. 10 and 11 ) according to one of a default path and an offset path (See, FIG. 7 ) until a program operation is passed.
- a program operation may be failed when a program operation is not passed at a last program loop.
- a dummy voltage Vdummy is applied as a test program pulse for offset setting
- a third verification voltage VF 3 is applied as a test verification pulse
- an offset voltage Voffset corresponding to a scan read region SRR is calculated
- the calculated offset voltage Voffset is used as a program start bias of a program loop.
- an offset voltage Voffset calculated in an offset setting period is applied to a next program loop.
- the offset setting period may be prior to a program loop.
- the method may include various combinations of the offset setting period and program loops.
- FIGS. 13A to 13E show various combinations of an offset period and program loops.
- an offset voltage determined at an offset setting period is applied to next program loops.
- an operation corresponding to an offset setting period may be performed after some program loops are executed.
- an offset voltage Voffset determined at an offset setting period after some program loops are executed is applied to next program loops.
- an operation corresponding to an offset setting period may be performed prior to each program loop.
- an operation corresponding to an offset setting period may be performed prior to the remaining program loops other than some program loops.
- a one-shot method of programming a nonvolatile memory device can be applied to an on-chip buffered programming (OBP) technique.
- OBP on-chip buffered programming
- FIG. 14 is a block diagram illustrating an on-chip buffered programming method according to an embodiment of the inventive concept.
- a memory system 10 comprises a nonvolatile memory device 300 and a memory controller 400 controlling the nonvolatile memory device 300 .
- data of a buffer RAM 412 in memory controller 10 may be programmed at an SLC buffer area 322 of the nonvolatile memory device 300 .
- Data of SLC buffer area 322 is programmed at an MLC user data area 324 of the nonvolatile memory device 120 by performing first programming, second programming, and third programming sequentially.
- Buffer RAM 412 may be, for instance, a volatile memory such as DRAM or SRAM.
- a multi-bit (e.g., 3-bit) program operation may be accomplished by performing first programming, second programming, and third programming sequentially.
- FIG. 15 is a block diagram illustrating a memory system according to an embodiment of the inventive concept.
- a memory system 1000 comprises at least one nonvolatile memory device 1100 and a memory controller 1200 .
- Nonvolatile memory device 1100 may be configured to perform a one-shot program operation described with reference to FIGS. 1 to 14 .
- Nonvolatile memory device 1100 may be optionally supplied with a high voltage Vpp from an external device.
- Memory controller 1200 is connected with nonvolatile memory device 1100 via multiple channels.
- Memory controller 1200 comprises at least one Central Processing Unit (CPU) 1210 , a buffer memory 1220 , an ECC circuit 1230 , a ROM 1240 , a host interface 1250 , and a memory interface 1260 .
- CPU Central Processing Unit
- buffer memory 1220 a buffer memory
- ECC circuit 1230 e.g., a ROM 1240 , a host interface 1250 , and a memory interface 1260 .
- memory controller 1200 may further comprise a randomization circuit that randomizes and de-randomizes data.
- Memory system 1000 may be applicable to a perfect page new (PPN) memory.
- PPN perfect page new
- an offset voltage may be determined according to a scan operation, and a program start bias may be adjusted using the offset voltage.
- inventive concept is not limited thereto.
- the inventive concept may be modified such that an offset time is determined according to a scan operation and a program start bias is adjusted using the offset time.
- the offset time may be associated with a time when a pulse is applied.
- performance and power consumption may be improved by calculating an offset using a scan read operation and performing a program operation using the offset calculated.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
A method of programming a nonvolatile memory device comprises applying at least one test program pulse to selected memory cells located in a scan read area, performing a scan read operation on the selected memory cells following application of the at least one test program pulse to detect at least one one-shot upper cell, calculating an offset voltage corresponding to a scan read region at which the scan read operation is performed, setting a program start bias using the offset voltage, and executing at least one program loop using the program start bias.
Description
- This application is a Continuation of U.S. application Ser. No. 13/969,651, filed Aug. 19, 2013, which claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2012-0112954 filed Oct. 11, 2012, the subject matter of which is hereby incorporated by reference.
- The inventive concept relates generally to memory technologies. More particularly, certain embodiments of the inventive concept relate to nonvolatile memory devices and related methods of programming.
- Nonvolatile memory devices can be found in a wide variety of electronic devices, including, for instance, tablet computers, mobile phones, digital cameras, and many others. As a consequence of the increasing performance demands of these and other devices, there is a general demand for nonvolatile devices having increased storage capacity. Accordingly, to address this demand, researchers continue to develop techniques for improving existing nonvolatile memory technologies, in addition to developing new nonvolatile memory technologies.
- Two common approaches for increasing the storage capacity of nonvolatile memory devices are to decrease the size of memory cells and to increase the number of bits per memory cell. These approaches, however, tend to decease the operating margins of the devices, creating increased possibility of errors. Accordingly, as a complement to the above approaches, researchers also continue to develop approaches for maintaining the reliability of the memory devices.
- In one embodiment of the inventive concept, a method of programming a nonvolatile memory device comprises applying at least one test program pulse to selected memory cells located in a scan read area, performing a scan read operation on the selected memory cells following application of the at least one test program pulse to detect at least one one-shot upper cell, calculating an offset voltage corresponding to a scan read region at which the scan read operation is performed, setting a program start bias using the offset voltage, and executing at least one program loop using the program start bias.
- In another embodiment of the inventive concept, a method of programming a nonvolatile memory device comprises determining whether to use an offset index stored at an offset index register according to a block address of a memory block comprising memory cells to be programmed, applying a test program pulse to the memory cells, applying a test verification pulse to the memory cells to verify programming by the test program pulse, performing a scan read operation of the memory cells, changing the offset index in the offset index register according to a result of the scan read operation, setting a program start bias using the offset index, and iterating program loops using the program start bias until a program operation is passed. The scan read operation comprises iterating operations comprising determining whether a number of off cells exceeds a predetermined value, increasing the offset index where the number of off cells does not exceed the predetermined value, and performing a read operation using a scan read voltage corresponding to the offset index, and entering the setting a program start bias where the number of off cells exceeds the predetermined value.
- In yet another embodiment of the inventive concept, a nonvolatile memory device comprises a controller configured to apply at least one test program pulse to selected memory cells located in a scan read area, perform a scan read operation on the selected memory cells following application of the at least one test program pulse to detect at least one one-shot upper cell, calculate an offset voltage corresponding to a scan read region at which the scan read operation is performed, set a program start bias using the offset voltage, and execute at least one program loop using the program start bias.
- These and other embodiments of the inventive concept can potentially improve performance and power consumption of nonvolatile memory devices by calculating an offset using a scan read operation and performing a program operation using the offset calculated.
- The drawings illustrate selected embodiments of the inventive concept. In the drawings, like reference numbers indicate like features.
-
FIG. 1 is a block diagram of a nonvolatile memory device according to an embodiment of the inventive concept. -
FIG. 2 is a perspective view of a memory block inFIG. 1 according to an embodiment of the inventive concept. -
FIG. 3 is a diagram illustrating an equivalent circuit of the memory block inFIG. 1 according to an embodiment of the inventive concept. -
FIG. 4 is a diagram illustrating a one-shot program operation according to an embodiment of the inventive concept. -
FIG. 5 is a flowchart illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept. -
FIG. 6 is a threshold voltage diagram illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept. -
FIG. 7 is a timing diagram for the method ofFIG. 5 . -
FIG. 8 is a flowchart illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept. -
FIG. 9 is a flowchart illustrating a scan read method according to an embodiment of the inventive concept. -
FIG. 10 is a diagram illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept. -
FIG. 11 is a timing diagram for the method ofFIG. 10 . -
FIG. 12 is a flowchart illustrating the method ofFIG. 10 . -
FIGS. 13A to 13E show various combinations of an offset period and program loops. -
FIG. 14 is a block diagram illustrating an on-chip buffered programming method according to an embodiment of the inventive concept. -
FIG. 15 is a block diagram illustrating a memory system according to an embodiment of the inventive concept. - Embodiments will be described in detail with reference to the accompanying drawings. The inventive concept, however, may be embodied in various different forms, and should not be construed as being limited only to the illustrated embodiments. Rather, these embodiments are provided as examples so that this disclosure will be thorough and complete, and will fully convey the concept of the inventive concept to those skilled in the art. Accordingly, known processes, elements, and techniques are not described with respect to some of the embodiments of the inventive concept. Unless otherwise noted, like reference numerals denote like elements throughout the attached drawings and written description, and thus descriptions will not be repeated. In the drawings, the sizes and relative sizes of layers and regions may be exaggerated for clarity.
- It will be understood that, although the terms “first”, “second”, “third”, etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the inventive concept.
- Spatially relative terms, such as “beneath”, “below”, “lower”, “under”, “above”, “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” or “under” other elements or features would then be oriented “above” the other elements or features. Thus, the terms “below” and “under” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly. In addition, it will also be understood that when a layer is referred to as being “between” two layers, it can be the only layer between the two layers, or one or more intervening layers may also be present.
- The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the inventive concept. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Also, the term “exemplary” is intended to refer to an example or illustration.
- It will be understood that when an element or layer is referred to as being “on”, “connected to”, “coupled to”, or “adjacent to” another element or layer, it can be directly on, connected, coupled, or adjacent to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly connected to”, “directly coupled to”, or “immediately adjacent to” another element or layer, there are no intervening elements or layers present.
- Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this inventive concept belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and/or the present specification and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
-
FIG. 1 is a block diagram of a nonvolatile memory device according to an embodiment of the inventive concept. - Referring to
FIG. 1 , anonvolatile memory device 100 comprises amemory cell array 110, anaddress decoder 120, an input/output circuit 130, andcontrol logic 140. -
Memory cell array 110 is connected toaddress decoder 120 through word lines, at least one string selection line SSL, and at least one ground selection line GSL and to input/output circuit 130 through bit lines.Memory cell array 110 comprises multiple memory blocks BLK1 to BLKz each comprising multiple three-dimensional memory cells arranged along a first direction, a second direction different from the first direction, and a third direction perpendicular to a plane formed in the first and second directions. -
Address decoder 120 is connected tomemory cell array 110 via word lines WL, at least one string selection line SSL, and at least one ground selection line GSL.Address decoder 120 selects word lines WL, the at least one string selection line SSL, and the at least one ground selection line GSL using a decoded row address.Address decoder 120 decodes a column address of an input address ADDR, and a resulting decoded column address DCA is transferred to input/output circuit 130. In some embodiments,address decoder 120 comprises a row decoder, a column decoder, an address buffer, and so on. - Input/
output circuit 130 is connected tomemory cell array 110 via the bit lines. Input/output circuit 130 selects the bit lines using the decoded column address DCA fromaddress decoder 120. - Input/
output circuit 130 receives data from an external device (e.g., a memory controller) and stores it inmemory cell array 110. Input/output circuit 130 reads data frommemory cell array 110 and outputs it to the external device. Input/output circuit 130 further reads data from a first region ofmemory cell array 110 and stores it in a second region thereof. In some embodiments, input/output circuit 130 is configured to perform a copy-back operation. -
Control logic 140 is configured to control an overall operation of thenonvolatile memory device 100.Control logic 140 operates responsive to control signals CTRL or a command transferred from the external device.Control logic 140 performs a scan read operation to calculate an offset voltage for a one-shot program operation. - The term “one-shot program operation” refers to a multi-bit program operation in multiple data values are programmed to a selected memory cell (or cells) by changing its threshold voltage from an initial state to a target state. For instance, in a one-shot program operation may program two bits to a two-bit memory cell by changing its threshold voltage from an erase state to a programmed state. As will be apparent from the following description, the change of threshold voltage may be performed, for instance, using an incremental step pulse programming (ISPP) technique.
- The offset voltage for the one-shot program operation is a value indicating an adjustment to a program voltage used in the one-shot program operation. For instance, the value can be applied as a bias to an initial program voltage used in the ISPP technique. The value typically reflects contextual information about memory cells to be one-shot programmed, such as a structural location, a level of deterioration, a temperature.
- The scan read operation comprises a read operation performed on a predetermined read area (hereinafter, referred to as a “scan read area”) in a predetermined interval.
Control logic 140 typically performs the scan read operation to detect off cells among selected memory cells after applying of a test pulse (a test program pulse and a test verification pulse) to the selected memory cells, and it calculates the offset voltage for the scan read area for which the scan read operation is performed. -
Control logic 140 comprises an offset index register (OIR) 142 that stores an offset index corresponding to an offset voltage.Control logic 140 changes a program start bias of at least one program loop using the offset index stored at the offsetindex register 142. -
FIG. 2 is a perspective view of a memory block inFIG. 1 according to an embodiment of the inventive concept. - Referring to
FIG. 2 , four sub-blocks are formed on a substrate. Each of the sub-blocks is formed by stacking at least one ground selection line GSL, multiple word lines WL, and at least one string selection line SSL on the substrate and separating a resultant structure by word line cuts WL Cut. Herein, at least one string selection line SSL is separated by string selection line cuts SSL Cut. Although not illustrated inFIG. 2 , each of the word line cuts WL Cut may comprise a common source line CSL. Common source lines included in the word line cuts WL Cut are connected in common. - In the example of
FIG. 2 , a structure between word line cuts is assumed to be a sub-block. However, the inventive concept is not limited thereto. For example, a structure between a word line cut and a string selection line cut can be defined as a sub-block. - A block according to an embodiment of the inventive concept may have a merged word line structure in which two word lines are merged into one.
-
FIG. 3 is a diagram illustrating an equivalent circuit of a memory block according to an embodiment of the inventive concept. - Referring to
FIG. 3 , a memory blocks BLKi comprises cell strings CS11, CS12, CS21, and CS22 each comprising a string selection transistor SST, a ground selection transistor GST, and memory cells MC1 to MC6. In each of cell strings CS11, CS12, CS21, and CS22, memory cells MC1 to MC6 are connected between string selection transistor SST and ground selection transistor GST. - Control gates of ground selection transistors GST in cell strings CS11, CS12, CS21, and CS22 are connected in common to a ground selection line GSL. One end of each ground selection transistor GST is connected to memory cells MC1, and another other end is connected in common to a common source line CSL.
- In cell strings CS11, CS12, CS21, and CS22, memory cells MC1 are connected in common to a word line WL1, memory cells MC2 are connected in common to a word line WL2, memory cells MC3 are connected in common to a word line WL3, memory cells MC4 are connected in common to a word line WL4, memory cells MC5 are connected in common to a word line WL5, and memory cells MC6 are connected in common to a word line WL6.
- In cell strings CS11 and CS12, control gates of string selection transistors SST are connected to a string selection line SSL1. In cell strings CS21 and CS22, control gates of the string selection transistors SST are connected to a string selection line SSL2. In cell strings CS11 and CS21, one end of each string selection transistor SST is connected to a bit line BL1, and another end is connected to memory cells MC6. In cell strings CS12 and CS22, one end of each string selection transistor SST is connected to a bit line BL2, and another end is connected to memory cells MC6.
- For ease of description, rows, columns, and heights may be defined. A direction in which string selection lines SSL1 and SSL2 extend may be a row direction (or, a first direction). Cell strings CS11 and CS12 are arranged along the row direction to form a first row. Cell strings CS21 and CS22 are arranged along the row direction to form a second row.
- A direction in which bit lines BL1 and BL2 extend may be a column direction (or, a second direction). Cell strings CS11 and CS21 may be arranged along the column direction to form a first column. Cell strings CS12 and CS22 may be arranged along the column direction to form a second column. A direction proceeding from ground selection transistors GST to string selection transistors SST may be a height.
- Memory cells MC1 and MC6 form a three-dimensional structure in which memory cells MC1 to MC6 are arranged along the row and column directions and stacked along a height direction (or, a third direction). Memory cells at the same height are connected in common to a word line, and memory cells at different heights are connected to respective word lines. String selection transistors SST in the same row are connected in common to a string selection line SSL1/SSL2, and string selection transistors SST in different rows are connected to respective string selection lines SSL1 and SSL2. String selection transistors SST in the same column are connected to the same bit line BL1/BL2, and string selection transistors SST in different columns are connected to respective bit lines BL1 and BL2.
- Each of memory cells MC1 to MC6 may store two or more bits. In other words, each of memory cells MC1 to MC6 may be a multi-level cell.
- Although
FIG. 3 shows a memory block BLKi comprising four cell strings CS11, CS12, CS21, and CS22, the inventive concept is not limited to this number of cell strings. In general, at least two or more cell strings may be provided along a row direction or a column direction. Similarly, althoughFIG. 3 shows each cell string comprising six memory cells MC1 to MC6, the inventive concept is not limited to this number of memory cells in each cell string. In general, each cell string may comprise two or more memory cells along the height direction. AlthoughFIG. 3 shows ground selection transistors GST connected in common to a ground selection line GSL, memory block BLKi may be changed or modified such that ground selection transistor GST in the same row are connected in common to a ground selection line and ground selection transistor GST in another row are connected in common to another ground selection line. AlthoughFIG. 3 shows each cell string comprising a string selection transistor SST and a ground selection transistor GST, in general, each cell string can be configured to include two or more string selection transistors SST and two or more ground selection transistors GST. In various embodiments, at least one of memory cells MC1 to MC6 in each cell string may be used as a dummy memory cell. - A nonvolatile memory device according to certain embodiments of the inventive concept may perform a multi-bit program operation using a one-shot program operation using an offset (e.g., an offset voltage, an offset time, etc.).
-
FIG. 4 is a diagram illustrating a one-shot program operation according to an embodiment of the inventive concept. The one-shot program operation ofFIG. 4 is used to program a 2-bit MLC. - Referring to
FIG. 4 , the one-shot program operation changes an original erase state E0 to one of an erase state E, a first program state P1, a second program state P2, and a third program state P3.FIG. 4 illustrates a first verification voltage VF1 for verifying first program state P1, a second verification voltage VF2 for verifying second program state P2, and a third verification voltage VF3 for verifying third program state P3. - For ease of description, it is assumed that a
nonvolatile memory device 100 is a vertical NAND flash memory device (or, called “VNAND”). An offset may exist between memory blocks or between word lines according to a process variation in A VNAND structure. A conventional nonvolatile memory device may change a program start bias of an MSB program operation according to the number of program pulses applied at an LSB program operation to revise such offset. However, it may be difficult to apply the one-shot program operation to the conventional nonvolatile memory device. The reason may be that the one-shot program operation does not include the LSB program operation. Further, it is difficult to use the number of program pulses applied as an offset between word lines. On the other hand, the inventive concept may include detecting an offset according to a structural cell characteristic using a scan read operation and performing a one-shot program operation using the detected offset. -
FIG. 5 is a flowchart illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept. - Referring to
FIGS. 1 to 5 , in operation S110, a test program pulse is applied to memory cells. Herein, the test program pulse may have a predetermined level. Afterwards, in operation S120, the method determines whether to detect one-shot upper cells. As used herein, the term “one-shot upper cell” refers to a memory cell whose threshold voltage changes by a predetermined amount in response to the test program pulse. In certain embodiments, the detection of one-shot upper cells is accomplished according to a result of a verification operation performed using a predetermined verification voltage. For example, a selected memory cell may be detected as a one-shot upper cell where a result of the verification operation indicates that the selected memory cell is an off cell. - In operation S130, a scan read operation on a predetermined area is performed to detect one-shot upper cells. Herein, the predetermined area may be changed according to contextual information such as a temperature of a
nonvolatile memory device 100, wear-leveling (e.g., P/E cycle) of a memory block including memory cells, an address of a memory block including memory cells, and so on. - In operation S140, a program start bias is determined according to a result of the scan read operation. For example, if the number of one-shot upper cells exceeds a predetermined value, a default level of the program start bias may increase by a predetermined offset value.
- In operation S150, program loops are iterated using the determined program start bias until a program operation is passed. Returning to operation S120, if a one-shot upper cell detection operation is not required, in operation S155, program loops may be iterated using a default program start bias.
- The method in
FIG. 5 comprises detecting one-shot upper cells (S120), but the inventive concept is not limited thereto. For example, the method ofFIG. 5 can be modified to include directly performing the scan read operation to calculate an offset voltage without detecting of one-shot upper cells and determining the program start bias according to a calculated offset voltage. -
FIG. 6 is a diagram illustrating a method of programming a nonvolatile memory device according to an embodiment of the inventive concept. - Referring to
FIG. 6 , an offset voltage is determined by applying a loop start voltage Vini to selected memory cells, performing a verification read operation using a verification voltage VF1 of a first program state P1, determining whether to perform a scan read operation according to a result of the verification read operation, and performing a scan read operation on a scan read region SRR on the basis of the verification voltage VF1. - In some embodiments, the scan read operation is performed under conditions where a top point VTP decreases by a predetermined voltage. The predetermined voltage may be, for instance, a unit voltage in the ISPP technique. Where the scan read operation progresses downward, the top point VTP of the scan read region SRR may correspond to the first verification voltage VF1, and a down point VDN thereof may correspond to a voltage at which one-shot upper cells are first detected (i.e., off cells are first detected).
- In some other embodiments, the scan read operation may be performed under conditions where down point VDN increases by a predetermined voltage. When the scan read operation progresses upward, top point VTP of the scan read region SRR may correspond to a voltage when the number of one-shot upper cells does not exceed a predetermined number, and the down point VDN may be a predetermined voltage (e.g., a read voltage on P1). Scan read region SRR is not necessarily limited to the above description, and can take alternative forms.
- As indicated by the foregoing, the one-shot program operation may change a program start bias of at least a next program loop according to an offset voltage Voffset corresponding to the scan read region SRR. For example, if the scan read region SRR is detected to be relatively wide, a program start bias may be higher than that when the scan read region SRR is relatively narrow. On the other hand, if the scan read region SRR is detected to be relatively narrow, a program start bias may lower than that when the scan read region SRR is relatively wide. In case of a program operation where the scan read region SRR is unnecessary, a default program start bias may be used.
-
FIG. 7 is a timing diagram for the method ofFIG. 6 . - Referring to
FIG. 7 , the method comprises an offset setting period and program loops. In the offset setting period, after a test program pulse of a loop start voltage Vini is applied, a verification operation is performed using a test verification pulse of a first verification voltage VF1. Whether to perform program loops Loop1 to Loop N in a default path or in an offset path is determined according to a result of the verification read operation. For example, if a result of the verification read operation indicates that the number of off cells exceeds a predetermined number, a one-shot program operation may be performed via the default path. On the other hand, if a result of the verification read operation indicates that the number of off cells is less than the predetermined number, the one-shot program operation may be performed via the offset path. - Although
FIG. 7 illustrates an example in which a test program pulse is applied, the inventive concept is not limited thereto. For example, at least two test pulses may be applied in the offset setting period. In this case, the at least two test pulses may have the same level or different levels. AlthoughFIG. 7 illustrates an example in which a test verification pulse of the first verification voltage VF1 is applied, the inventive concept is not limited thereto. For example, in the offset setting period, a verification read operation may be performed using a test verification pulse after at least one test program pulse is applied. - As illustrated in
FIG. 7 , the offset setting period may include a scan read operation for detecting one-shot upper cells. An offset voltage Voffset applied to a program start bias may be determined according to a result of the scan read operation. - A program loop period may proceed differently according to the default and offset paths. First, referring to the default path, at a first
program loop Loop 1, a first program pulse (Vini+ΔVpgm) higher by a loop increment ΔVpgm than loop start voltage Vini is applied and verification operations may be performed using multiple verification pulses. Herein, the loop increment ΔVpgm may have a constant value or a value varied according to the number of loops. Herein, the verification pulses may be voltages corresponding to multiple program states (e.g., P1, P2, and P3 inFIG. 4 ). - In the default path, at a second
program loop Loop 2, a second program pulse (Vini+2ΔVpgm) higher by the loop increment ΔVpgm than the first program pulse is applied and verification operations may be performed using the verification pulses. The remaining program loops in the default path may be performed in the same manner as described above. - In the offset path, a program start bias (Vini+Voffset) determined according to a scan read operation is applied to a first program loop. The remaining program loops in the offset path may be performed substantially the same as the default path. Herein, the program start bias may include loop start voltage Vini and offset voltage Voffset. Herein, offset voltage Voffset may be a voltage corresponding to a scan read region SRR (See,
FIG. 6 ). - In particular, in the offset path, at a first
program loop Loop 1, a first program pulse of a program start bias (Vini+Voffset) is applied and verification operations are performed using the verification pulses. In a secondprogram loop Loop 2, a second program pulse (Vini+2ΔVpgm) higher by the loop increment ΔVpgm than the first program pulse (Vini+ΔVpgm) is applied and verification operations are performed using the verification pulses. The remaining program loops are performed the same as the default path. -
FIG. 8 is a flowchart illustrating the method ofFIG. 6 according to an embodiment of the inventive concept. For convenience, the method ofFIG. 8 will be described with reference to the device ofFIG. 1 , although the method is not limited to this device. - A program command, an address, and write data are provided to a
nonvolatile memory device 100. In operation S211,control logic 140 ofnonvolatile memory device 100 determines whether a block address of the input address is different from a block address of a previous program operation. If a block address of the input address is different from a block address of a previous program operation, in operation S212, an offset index m is a default value (e.g., 0). Herein, the default value is stored at offset index register 142 at power-up of thenonvolatile memory device 100. If a block address of the input address is different from a block address of a previous program operation, in operation S213, the offset index m may be a value stored in offsetindex register 142. - In operation S221,
control logic 140 sets a program start bias using the offset index m stored at the offsetindex register 142. For example, the program start bias may be formed of a loop start voltage Vini and an offset voltage Voffset (mISPP+β). Herein, “m” may be an offset index, “ISPP” may be a unit voltage for execution of a scan read operation, and “β” may be an offset value corresponding to a word line layer. In example embodiments, the offset value β may be selected from a mapping table formed of an offset values and addresses. - In operation S222, a first program pulse according to the program start bias is applied. In operation S223, a read operation is performed using a first verification voltage VF1. In operation S231,
control logic 140 determines whether the number of off cells exceeds a predetermined value PDV, based on a result of the read operation. In example embodiments, the number of off cells may be determined using a mass bit detection manner. - If the number of off cells does not exceed the predetermined value PDV, in operation S232,
control logic 140 increases the offset index m by 1. In operation S233, a read operation (e.g., a part of a scan read operation) may be performed using a scan read voltage (VF1−(αISPP)×m). Herein, “a” may be a correlation coefficient between a threshold voltage level and a program pulse, “ISPP” may be a unit voltage, and “m” may be an offset index. Afterwards, the method proceeds to operation S231. - Returning to operation S231, if the number of off cells is determined to exceed the predetermined value PDV, in operation S240,
control logic 140 sets the program start bias anew. Herein, the program start bias newly set may be formed of loop start voltage Vini, offset voltage Voffset (mISPP+β), and a loop increment ΔVpgm. - In operation S250, a program loop may be iterated according to one of a default path and an offset path (See,
FIG. 7 ) until a program operation is passed. A program operation may be failed when a program operation is not passed at a last program loop. - In operation S260, if the offset index m is larger than “0”,
control logic 140 may store a value of (m−1) as a new offset index m at the offsetindex register 142. Herein, operation S260 may be performed to prevent memory cells of a next word line from being over-programmed. A manner of controlling an offset index m for prevention of over-programming may not be limited to this disclosure.Control logic 140 may determine a value of (m−2) as a new offset index m. In other example embodiments, the operation S260 may be skipped. -
FIG. 9 is a flowchart illustrating a scan read method according to an embodiment of the inventive concept. - Referring to
FIG. 9 , in operation S310,control logic 140 sets a scan read region SRR according to contextual information of anonvolatile memory device 100. The contextual information of thenonvolatile memory device 100 may include, for instance, wear-leveling (e.g., P/E cycle) of a memory block, a temperature of the nonvolatile memory device 100 (e.g., from an embedded temperature detector), a layer corresponding to a word line (including information corresponding to an input address), a string including a memory cell to be driven (including information corresponding to an input address), and so on. A top point VTP and a down point VDN (See,FIG. 6 ) for a scan read operation may be changed according to the contextual information. In operation S320, the scan read operation may be performed by a predetermined interval (e.g., αISPP: See,FIG. 8 ). Herein, “α” may be a correlation coefficient between a threshold voltage level and a program pulse, and “ISPP” may be a unit voltage. - In the examples of
FIGS. 6 to 9 , a loop start voltage Vini is used as a test program pulse for offset setting. However, the inventive concept is not limited thereto. For example, a dummy voltage Vdummy higher than loop start voltage Vini may be used as a test program pulse at the offset setting period to better express a characteristic of a one-shot program operation. -
FIG. 10 is a diagram illustrating a method of programming a nonvolatile memory device according to another embodiment of the inventive concept. - Referring to
FIG. 10 , a dummy voltage Vdummy higher than loop start voltage Vini is applied as a test program pulse, a read operation is performed using a verification voltage VF3 of a third program state P3, whether to perform a scan read operation may be determined according to a result of the read operation, and a scan read operation on a scan read region SRR may be performed from a verification voltage VF3. AlthoughFIG. 10 illustrates an example in which verification voltage VF3 of third program state P3 is used as a test read pulse to determine a scan read operation, the inventive concept is not limited thereto. A test read pulse used to determine a scan read operation may be determined arbitrarily in connection with a dummy voltage Vdummy. -
FIG. 11 is a timing diagram for the method ofFIG. 10 . - Referring to
FIG. 11 , a method comprises an offset setting period and program loops. In the offset setting period, after a dummy voltage Vdummy is applied as a test program pulse, a verification read operation may be performed using a third verification voltage VF3, and whether to perform a one-shot program operation in a default or an offset path may be determined according to a result of the verification read operation. - A program loop period may proceed differently according to the default and offset paths. In contrast to the embodiment of
FIG. 8 , in case of the default path, a program loop proceeds from a program pulse according to a loop start voltage Vini. In the offset path, a program start bias (Vini+Voffset) determined according to a scan read operation is applied to aprogram loop Loop 0, and the remaining program loops may be performed the same as the default path. Herein, the program start bias comprises loop start voltage Vini and an offset voltage Voffset. Offset voltage Voffset is a voltage corresponding to a scan read region SRR (See,FIG. 10 ). -
FIG. 12 is a flowchart illustrating the method ofFIG. 10 . In the example ofFIG. 12 , with the exception of operations S422, S423, S433, S440, and S450, the illustrated operations are the same as corresponding operations ofFIG. 8 , so a description thereof is thus omitted. In operation S422, a dummy voltage Vdummy is applied as a test program pulse. The dummy voltage Vdummy is higher than a loop start voltage Vini. In operation S423, a verification read operation is performed using a third verification voltage VF3. Herein, the third verification voltage VF3 may be a voltage for verifying a third program state P3 (See,FIG. 4 ). In operation S433, a read operation (a part of a scan read operation) may be performed using a scan read voltage (VF3−(αISPP)×m). In operation S440, a program start bias may include loop start voltage Vini and the offset voltage (mISPP+(3). The program start bias in operation S440 corresponds to a value of a program start bias in S240 ofFIG. 8 -ΔVpgm. In operation S450, a program loop is iterated using a calculated offset voltage Voffset (See,FIGS. 10 and 11 ) according to one of a default path and an offset path (See,FIG. 7 ) until a program operation is passed. A program operation may be failed when a program operation is not passed at a last program loop. - In the method of
FIG. 12 , a dummy voltage Vdummy is applied as a test program pulse for offset setting, a third verification voltage VF3 is applied as a test verification pulse, an offset voltage Voffset corresponding to a scan read region SRR is calculated, and the calculated offset voltage Voffset is used as a program start bias of a program loop. - In
FIGS. 6 to 12 , an offset voltage Voffset calculated in an offset setting period is applied to a next program loop. Also, the offset setting period may be prior to a program loop. However, the inventive concept is not limited thereto. The method may include various combinations of the offset setting period and program loops. -
FIGS. 13A to 13E show various combinations of an offset period and program loops. InFIG. 13A , an offset voltage determined at an offset setting period is applied to next program loops. InFIG. 13B , an operation corresponding to an offset setting period may be performed after some program loops are executed. InFIG. 13C , an offset voltage Voffset determined at an offset setting period after some program loops are executed is applied to next program loops. InFIG. 13D , an operation corresponding to an offset setting period may be performed prior to each program loop. InFIG. 13E , after some program loops are executed, an operation corresponding to an offset setting period may be performed prior to the remaining program loops other than some program loops. - A one-shot method of programming a nonvolatile memory device according to an embodiment of the inventive concept can be applied to an on-chip buffered programming (OBP) technique. Examples of the OBP technique are disclosed in U.S. Patent Publication Nos. 2011/0194346, 2011/0205817, and 2011/0222342, the subject matter of which is incorporated by reference.
-
FIG. 14 is a block diagram illustrating an on-chip buffered programming method according to an embodiment of the inventive concept. - Referring to
FIG. 14 , amemory system 10 comprises anonvolatile memory device 300 and amemory controller 400 controlling thenonvolatile memory device 300. - With the on-chip buffered programming, data of a
buffer RAM 412 inmemory controller 10 may be programmed at anSLC buffer area 322 of thenonvolatile memory device 300. Data ofSLC buffer area 322 is programmed at an MLCuser data area 324 of thenonvolatile memory device 120 by performing first programming, second programming, and third programming sequentially.Buffer RAM 412 may be, for instance, a volatile memory such as DRAM or SRAM. A multi-bit (e.g., 3-bit) program operation may be accomplished by performing first programming, second programming, and third programming sequentially. The first programming, the second programming, and the third programming may perform the same multi-bit program operation. At least one of the first programming, the second programming, and the third programming may be performed according to a one-shot program operation. -
FIG. 15 is a block diagram illustrating a memory system according to an embodiment of the inventive concept. - Referring to
FIG. 15 , amemory system 1000 comprises at least onenonvolatile memory device 1100 and amemory controller 1200.Nonvolatile memory device 1100 may be configured to perform a one-shot program operation described with reference toFIGS. 1 to 14 . -
Nonvolatile memory device 1100 may be optionally supplied with a high voltage Vpp from an external device.Memory controller 1200 is connected withnonvolatile memory device 1100 via multiple channels.Memory controller 1200 comprises at least one Central Processing Unit (CPU) 1210, abuffer memory 1220, anECC circuit 1230, aROM 1240, ahost interface 1250, and amemory interface 1260. Although not shown inFIG. 15 ,memory controller 1200 may further comprise a randomization circuit that randomizes and de-randomizes data.Memory system 1000 may be applicable to a perfect page new (PPN) memory. Certain examples of memory systems which may be adapted to incorporate certain embodiments of the inventive concept are disclosed in U.S. Pat. No. 8,027,194 and U.S. Patent Publication No. 2010-0082890, the subject matter of which are herein incorporated by reference. - As indicated by the foregoing, in certain embodiments of the inventive concept, an offset voltage may be determined according to a scan operation, and a program start bias may be adjusted using the offset voltage. Nevertheless, the inventive concept is not limited thereto. For instance, the inventive concept may be modified such that an offset time is determined according to a scan operation and a program start bias is adjusted using the offset time. Herein, the offset time may be associated with a time when a pulse is applied. Moreover, as indicated by the foregoing, performance and power consumption may be improved by calculating an offset using a scan read operation and performing a program operation using the offset calculated.
- The foregoing is illustrative of embodiments and is not to be construed as limiting thereof. Although a few embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in the embodiments without departing from scope of the inventive concept as defined in the claims.
Claims (1)
1. A method of programming a nonvolatile memory device, the method comprising:
applying at least one test program pulse to selected memory cells located in a scan read area of the nonvolatile memory device;
performing a scan read operation on the selected memory cells, following the application of the at least one test program pulse, to determine a read operation voltage at which a predetermined number of one-shot upper cells are identified;
calculating an offset voltage based on the difference between the determined read operation voltage and a reference voltage;
setting a program start bias using the offset voltage; and
executing at least one program loop using the program start bias,
wherein the scan read operation comprises, increasing/decreasing the read operation voltage, performing another read operation, by applying the increased/decreased read operation voltage, iterating operations the increasing/decreasing and the performing another read operation until the number of off cells detected during the other read operation exceeds a predetermined number, and establishing the read operation voltage applied in the last iterations the increasing/decreasing and the performing another read operation as an offset index.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/131,125 US20160240263A1 (en) | 2012-10-11 | 2016-04-18 | Programming nonvolatile memory device using program voltage with variable offset |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120112954A KR102016041B1 (en) | 2012-10-11 | 2012-10-11 | Programming method of nonvolatile memory device |
KR10-2012-0112954 | 2012-10-11 | ||
US13/969,651 US9318191B2 (en) | 2012-10-11 | 2013-08-19 | Programming nonvolatile memory device using program voltage with variable offset between programming state distributions |
US15/131,125 US20160240263A1 (en) | 2012-10-11 | 2016-04-18 | Programming nonvolatile memory device using program voltage with variable offset |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/969,651 Continuation US9318191B2 (en) | 2012-10-11 | 2013-08-19 | Programming nonvolatile memory device using program voltage with variable offset between programming state distributions |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160240263A1 true US20160240263A1 (en) | 2016-08-18 |
Family
ID=50475207
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/969,651 Active 2034-01-15 US9318191B2 (en) | 2012-10-11 | 2013-08-19 | Programming nonvolatile memory device using program voltage with variable offset between programming state distributions |
US15/131,125 Abandoned US20160240263A1 (en) | 2012-10-11 | 2016-04-18 | Programming nonvolatile memory device using program voltage with variable offset |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/969,651 Active 2034-01-15 US9318191B2 (en) | 2012-10-11 | 2013-08-19 | Programming nonvolatile memory device using program voltage with variable offset between programming state distributions |
Country Status (2)
Country | Link |
---|---|
US (2) | US9318191B2 (en) |
KR (1) | KR102016041B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220101922A1 (en) * | 2020-05-06 | 2022-03-31 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of 3d nand flash |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9275741B1 (en) * | 2014-09-10 | 2016-03-01 | Western Digital Technologies, Inc. | Temperature compensation management in solid-state memory |
US9349458B2 (en) * | 2014-10-16 | 2016-05-24 | Sandisk Technologies Inc. | Biasing of unselected blocks of non-volatile memory to reduce loading |
KR20160059174A (en) * | 2014-11-18 | 2016-05-26 | 에스케이하이닉스 주식회사 | Semiconductor apparatus |
US9633737B2 (en) | 2014-11-18 | 2017-04-25 | SK Hynix Inc. | Semiconductor device |
KR20160075175A (en) * | 2014-12-19 | 2016-06-29 | 에스케이하이닉스 주식회사 | Semiconductor apparatus |
KR20160089768A (en) * | 2015-01-20 | 2016-07-28 | 에스케이하이닉스 주식회사 | Semiconductor memory device and operating method thereof |
US9953703B2 (en) | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
KR102423291B1 (en) | 2016-01-15 | 2022-07-20 | 삼성전자주식회사 | Flash memory device revising program voltage, 3-Dimensional Memory device, Memory system and Program method thereof |
KR102295521B1 (en) * | 2017-03-16 | 2021-08-30 | 삼성전자 주식회사 | Nonvoltile memory device and program method thereof |
KR102401061B1 (en) * | 2017-12-26 | 2022-05-24 | 에스케이하이닉스 주식회사 | Semiconductor device and operating method thereof |
KR102461099B1 (en) | 2018-08-07 | 2022-11-01 | 에스케이하이닉스 주식회사 | Memory device and storage device having the same and operating method thereof |
US10553286B2 (en) * | 2018-09-28 | 2020-02-04 | Intel Corporation | Tailoring timing offsets during a programming pulse for a memory device |
KR102653845B1 (en) * | 2018-12-03 | 2024-04-02 | 에스케이하이닉스 주식회사 | Data Storage Device and Operation Method Thereof, Storage System Having the Same |
KR20210118462A (en) * | 2019-05-22 | 2021-09-30 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | Method of programming multi-level cell NAND flash memory device and MLC NAND flash memory device |
US12046303B2 (en) * | 2020-06-08 | 2024-07-23 | Intel NDTM US LLC | Smart prologue for nonvolatile memory program operation |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US6424569B1 (en) | 2000-02-25 | 2002-07-23 | Advanced Micro Devices, Inc. | User selectable cell programming |
US6882567B1 (en) | 2002-12-06 | 2005-04-19 | Multi Level Memory Technology | Parallel programming of multiple-bit-per-cell memory cells on a continuous word line |
US7148538B2 (en) | 2003-12-17 | 2006-12-12 | Micron Technology, Inc. | Vertical NAND flash memory array |
US7313019B2 (en) | 2004-12-21 | 2007-12-25 | Intel Corporation | Step voltage generation |
KR100655442B1 (en) | 2005-09-01 | 2006-12-08 | 삼성전자주식회사 | Flash memory device capable of varying program start voltage |
US7511995B2 (en) | 2006-03-30 | 2009-03-31 | Sandisk Corporation | Self-boosting system with suppression of high lateral electric fields |
US7606091B2 (en) | 2006-09-12 | 2009-10-20 | Sandisk Corporation | Method for non-volatile memory with reduced erase/write cycling during trimming of initial programming voltage |
US7593259B2 (en) * | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
KR101397549B1 (en) * | 2007-08-16 | 2014-05-26 | 삼성전자주식회사 | Non-volatile semiconductor memory device and system capable of fast rogramming and read method thereof |
US7656705B2 (en) | 2007-10-17 | 2010-02-02 | Spansion Llc | Fast single phase program algorithm for quadbit |
KR101344347B1 (en) | 2008-01-16 | 2013-12-24 | 삼성전자주식회사 | Nonvolatile memory device controlling program start voltage, program method thereof, and memory system including the same |
US7906818B2 (en) | 2008-03-13 | 2011-03-15 | Micron Technology, Inc. | Memory array with a pair of memory-cell strings to a single conductive pillar |
KR100953045B1 (en) * | 2008-05-23 | 2010-04-14 | 주식회사 하이닉스반도체 | Programming method of non volatile memory device |
US8327066B2 (en) | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
KR101616099B1 (en) * | 2009-12-03 | 2016-04-27 | 삼성전자주식회사 | Flash memory device and program method thereof |
KR101676816B1 (en) | 2010-02-11 | 2016-11-18 | 삼성전자주식회사 | Flash memory device and program method thereof |
KR101620025B1 (en) | 2010-02-19 | 2016-05-24 | 삼성전자주식회사 | Memory system and open block managing method thereof |
US8355280B2 (en) | 2010-03-09 | 2013-01-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
KR101656384B1 (en) | 2010-06-10 | 2016-09-12 | 삼성전자주식회사 | Method of writing data in a non-volatile memory device |
JP2012027969A (en) | 2010-07-21 | 2012-02-09 | Toshiba Corp | Nonvolatile semiconductor memory device |
KR101861084B1 (en) * | 2011-07-11 | 2018-05-28 | 삼성전자주식회사 | Nonvolatile memory device, method of operating the same, and electronic device having the same |
KR20130070927A (en) | 2011-12-20 | 2013-06-28 | 에스케이하이닉스 주식회사 | Non volatile memory device and operating method thereof |
JP2013143155A (en) * | 2012-01-06 | 2013-07-22 | Powerchip Technology Corp | Nonvolatile semiconductor memory device and write-in method thereof |
-
2012
- 2012-10-11 KR KR1020120112954A patent/KR102016041B1/en active IP Right Grant
-
2013
- 2013-08-19 US US13/969,651 patent/US9318191B2/en active Active
-
2016
- 2016-04-18 US US15/131,125 patent/US20160240263A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220101922A1 (en) * | 2020-05-06 | 2022-03-31 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of 3d nand flash |
US11948641B2 (en) * | 2020-05-06 | 2024-04-02 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of 3D NAND flash |
Also Published As
Publication number | Publication date |
---|---|
US9318191B2 (en) | 2016-04-19 |
US20140104955A1 (en) | 2014-04-17 |
KR102016041B1 (en) | 2019-08-30 |
KR20140048392A (en) | 2014-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9318191B2 (en) | Programming nonvolatile memory device using program voltage with variable offset between programming state distributions | |
US9087608B2 (en) | Method of programming non-volatile memory device and non-volatile memory device using the same | |
KR102461099B1 (en) | Memory device and storage device having the same and operating method thereof | |
US10573378B2 (en) | Methods of programming memory devices | |
US9275751B2 (en) | Nonvolatile memory device and program method | |
US20180151237A1 (en) | Operation method of a nonvolatile memory device for controlling a resume operation | |
JP5829837B2 (en) | Nonvolatile memory device having dynamic verification mode selection, its operation method, driving method, programming method, memory system, memory card, and solid state driver | |
US8773910B2 (en) | Programming to mitigate memory cell performance differences | |
US9466381B2 (en) | Semiconductor device | |
US8902666B2 (en) | Programming method for nonvolatile memory device | |
KR102452994B1 (en) | Semiconductor memory device and method for operating the same | |
US20130159610A1 (en) | Non-volatile semiconductor memory device related method of operation | |
US11183250B2 (en) | Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods | |
KR20160117713A (en) | Semiconductor apparatus and operating method thereof | |
KR20150015578A (en) | Nonvolatile memory device and program verifying method thereof | |
US20150016186A1 (en) | Methods and apparatuses for determining threshold voltage shift | |
US11107541B2 (en) | Memory device and method of operating the memory device | |
US20220076754A1 (en) | Memory device and method of operating the same | |
US8218371B2 (en) | Multi-bit flash memory device and method of analyzing flag cells of the same | |
US9588700B2 (en) | Semiconductor device and method for programming healing patterns on memory blocks | |
US8885418B1 (en) | Adaptive double pulse BCF programming | |
CN115798552A (en) | Memory device and operation method thereof | |
US11894057B2 (en) | Memory device performing program operation and method of operating the same | |
US20240145009A1 (en) | Electronic device and method of operating the same | |
KR20150075887A (en) | Memory system and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |