US20220172794A1 - Method of writing data in nonvolatile memory device, nonvolatile memory device performing the same and method of operating memory system using the same - Google Patents
Method of writing data in nonvolatile memory device, nonvolatile memory device performing the same and method of operating memory system using the same Download PDFInfo
- Publication number
- US20220172794A1 US20220172794A1 US17/393,797 US202117393797A US2022172794A1 US 20220172794 A1 US20220172794 A1 US 20220172794A1 US 202117393797 A US202117393797 A US 202117393797A US 2022172794 A1 US2022172794 A1 US 2022172794A1
- Authority
- US
- United States
- Prior art keywords
- state
- data
- write data
- verification level
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012795 verification Methods 0.000 claims abstract description 177
- 230000006866 deterioration Effects 0.000 claims abstract description 67
- 238000009826 distribution Methods 0.000 claims abstract description 59
- 230000014759 maintenance of location Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000007423 decrease Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 description 29
- 239000004020 conductor Substances 0.000 description 28
- 239000012774 insulation material Substances 0.000 description 21
- 239000000758 substrate Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 239000000872 buffer Substances 0.000 description 14
- 238000009413 insulation Methods 0.000 description 9
- 239000002210 silicon-based material Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 101150064834 ssl1 gene Proteins 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 3
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 3
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 3
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 3
- 239000002800 charge carrier Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 239000012535 impurity Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 101150062870 ssl3 gene Proteins 0.000 description 3
- 101000641216 Aquareovirus G (isolate American grass carp/USA/PB01-155/-) Non-structural protein 4 Proteins 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 2
- 101000927946 Homo sapiens LisH domain-containing protein ARMC9 Proteins 0.000 description 2
- 101500027295 Homo sapiens Sperm histone HP3 Proteins 0.000 description 2
- 102100036882 LisH domain-containing protein ARMC9 Human genes 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 102400000926 Sperm histone HP3 Human genes 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 1
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002019 doping agent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed 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
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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
Definitions
- Example embodiments relate generally to semiconductor integrated circuits, and more particularly to methods of writing data in nonvolatile memory devices, nonvolatile memory devices performing the methods of writing data, and methods of operating memory systems using the methods of writing data.
- Semiconductor memory devices can generally be divided into two categories depending upon whether or not they retain stored data when disconnected from a power supply. These categories include volatile memory devices, which lose stored data when disconnected from power, and nonvolatile memory devices, which retain stored data when disconnected from power. Volatile memory devices may perform read and write operations at a relatively high speed, while contents stored therein may be lost at power-off. Nonvolatile memory devices may retain contents stored therein even at power-off, which means they may be used to store data that must be retained regardless of whether they are powered.
- At least one example embodiment of the present disclosure provides a method of writing data in a nonvolatile memory device capable of improving and/or enhancing the reliability of data to be stored.
- At least one example embodiment of the present disclosure provides a nonvolatile memory device performing the method of writing data.
- At least one example embodiment of the present disclosure provides a method of operating a memory system using the method of writing data.
- a write command, a write address and write data to be programmed are received.
- Offset information representing a verification level is received.
- the offset information is provided when the write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern by checking an input/output (I/O) pattern of the write data.
- the write data is programmed based on the offset information such that at least one state among a plurality of states included in a distribution of threshold voltages of memory cells in which the write data is stored is changed.
- a nonvolatile memory device includes a memory cell array and processing circuitry.
- the memory cell array includes a plurality of memory cells.
- the processing circuitry receives a write command, a write address and write data to be programmed, receives offset information representing a verification level, and programs the write data based on the offset information when the offset information is received such that at least one state among a plurality of states included in a distribution of threshold voltages of memory cells in which the write data is stored is changed.
- the offset information is provided when the write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern by checking an input/output (I/O) pattern of the write data.
- a write command, a write address and write data to be programmed are transmitted by the memory controller to the nonvolatile memory device.
- An input/output (I/O) pattern of the write data is detected by the memory controller.
- An optimal or improved verification level is selected by the memory controller when it is determined that the write data is write cold data or read hot data.
- the write cold data is data that is written less than a predetermined or alternatively, desired first number of times.
- the read hot data is data that is read more than a predetermined or alternatively, desired second number of times. Offset information including the optimal or improved verification level is generated by the memory controller.
- the offset information is transmitted by the memory controller to the nonvolatile memory device. At least one of a first verification level through an N-th verification level is changed by the nonvolatile memory device based on the offset information.
- the first verification level through the N-th verification level correspond to a first state through an N-th state, respectively, that are included in a distribution of threshold voltages.
- a program loop is performed by the nonvolatile memory device once or more on the write data based on the first verification level through the N-th verification level such that at least one state among the first state through the N-th state is changed.
- the first state corresponds to a lowest voltage level
- the N-th state corresponds to a highest voltage level.
- the at least one state is changed such that an interval between an (N ⁇ 1)-th state and the N-th state increases.
- the write data is the read hot data
- the at least one state is changed such that an interval between the first state and a second state increases.
- the I/O pattern of the write data to be programmed may be checked in real time or during runtime.
- a specific verification level may be adjusted or controlled such that the margin for specific states corresponding to the deterioration vulnerable to the specific pattern increases (e.g., such that an interval between adjacent states increases).
- Information associated with or related to the adjusted verification level may be provided as the offset information together with the write data. Accordingly, the deterioration of the write data may be efficiently reduced or prevented and the reliability may be improved or enhanced.
- FIG. 1 is a flowchart illustrating a method of writing data in a nonvolatile memory device according to example embodiments.
- FIG. 2 is a block diagram illustrating a memory system according to example embodiments.
- FIG. 3 is a block diagram illustrating a nonvolatile memory device according to example embodiments.
- FIG. 4 is a perspective view of an example of a memory block included in a memory cell array included in a nonvolatile memory device of FIG. 3 .
- FIG. 5 is a circuit diagram illustrating an equivalent circuit of a memory block described with reference to FIG. 4 .
- FIG. 6 is a block diagram illustrating an example of a memory controller included in a memory system according to example embodiments.
- FIG. 7 is a block diagram illustrating a memory system according to example embodiments.
- FIG. 8 is a flowchart illustrating an example of receiving offset information in FIG. 1 .
- FIG. 9 is a flowchart illustrating an example of programming write data based on offset information in FIG. 1 .
- FIG. 10 is a flowchart illustrating an example of a program operation of FIG. 9 .
- FIGS. 11 and 12 are diagrams for describing an operation of FIG. 10 .
- FIG. 13 is a flowchart illustrating another example of a program operation of FIG. 9 .
- FIGS. 14 and 15 are diagrams for describing an operation of FIG. 13 .
- FIG. 16 is a flowchart illustrating still another example of a program operation of FIG. 9 .
- FIG. 17 is a diagram for describing an operation of FIG. 16 .
- FIG. 18 is a flowchart illustrating still another example of a program operation of FIG. 9 .
- FIGS. 19 and 20 are diagrams for describing an operation of FIG. 18 .
- FIGS. 21 and 22 are flowcharts illustrating a method of writing data in a nonvolatile memory device according to example embodiments.
- FIG. 23 is a block diagram illustrating a storage device and a storage system including the storage device according to example embodiments.
- FIG. 1 is a flowchart illustrating a method of writing data in a nonvolatile memory device according to example embodiments.
- a method of writing data is performed by a nonvolatile memory device that includes a plurality of memory cells.
- a nonvolatile memory device that includes a plurality of memory cells.
- FIGS. 2 through 7 Detailed configurations of the nonvolatile memory device and a memory system including the nonvolatile memory device will be described with reference to FIGS. 2 through 7 .
- a write command, a write address and write data to be programmed are received (operation S 100 ).
- the write command, the write address and the write data may be transmitted from a memory controller included in the memory system to the nonvolatile memory device.
- Offset information representing a verification level is received (operation S 200 ).
- the offset information is provided when the write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern by checking an input/output (I/O) pattern of the write data.
- the memory controller may determine the I/O pattern of the write data, and the offset information generated as a result of the determination may be transmitted from the memory controller to the nonvolatile memory device.
- the distribution deterioration pattern may include a first deterioration pattern associated with the data retention characteristic and a second deterioration pattern associated with the read disturbance characteristic. For example, when the write data is write cold data that is written or programmed less than a predetermined or alternatively, desired first number of times, it may be determined that the write data corresponds to the first deterioration pattern. For example, when the write data is read hot data that is read or retrieved more than a predetermined or alternatively, desired second number of times, it may be determined that the write data corresponds to the second deterioration pattern. Operation S 200 will be described in detail with reference to FIG. 8 .
- FIG. 1 illustrates that operation S 100 is performed and then operation S 200 is performed
- example embodiments are not limited thereto, and operations S 100 and S 200 may be substantially simultaneously or concurrently performed.
- the write data is programed based on the offset information such that at least one state among a plurality of states included in a distribution of threshold voltages of memory cells in which the write data is stored is changed (operation S 300 ).
- the plurality of states may include a plurality of program states, and the write data may be programmed such that only some or a part of the plurality of program states is changed.
- the plurality of states may include a first state through an N-th state, where N is a natural number greater than or equal to two.
- the first state may correspond to the lowest voltage level
- the N-th state may correspond to the highest voltage level.
- the write data when the write data corresponds to the first deterioration pattern, the write data may be programmed such that an interval between an (N ⁇ 1)-th state and the N-th state increases.
- the write data when the write data corresponds to the second deterioration pattern, the write data may be programmed such that an interval between the first state and a second state increases. Operation S 300 will be described in detail with reference to FIGS. 9 through 20 .
- a verification level may be used to designate or set a starting position for each state in the distribution. If an interval (or gap) between verification levels of two adjacent states is relatively wide, it may represent that the margin for the distribution between the two adjacent states is relatively wide, and thus it may represent that the two adjacent states are relatively strong or robust in the deterioration that causes the variation of distribution. However, if all verification levels are fixed, it may be difficult to efficiently overcome all types of the deterioration that may occur on write data.
- the I/O pattern of the write data to be programmed may be checked in real time or during runtime.
- a specific verification level may be adjusted or controlled such that the margin for specific states corresponding to the deterioration vulnerable to the specific pattern increases (e.g., such that an interval between adjacent states increases).
- Information associated with or related to the adjusted verification level may be provided as the offset information together with the write data. Accordingly, the deterioration of the write data may be efficiently reduced or prevented and the reliability may be improved or enhanced.
- FIG. 2 is a block diagram illustrating a memory system according to example embodiments.
- a memory system 10 includes a memory controller 20 and a nonvolatile memory device 40 .
- the memory system 10 may further include a plurality of signal lines 30 that electrically connect the memory controller 20 with the nonvolatile memory device 40 .
- the nonvolatile memory device 40 is controlled by the memory controller 20 .
- the memory controller 20 may store (e.g., write or program) data into the nonvolatile memory device 40 , or may retrieve (e.g., read or sense) data from the nonvolatile memory device 40 .
- the plurality of signal lines 30 may include control lines, command lines, address lines, data input/output (I/O) lines and power lines.
- the memory controller 20 may transmit a command CMD, an address ADDR and a control signal CTRL to the nonvolatile memory device 40 via the command lines, the address lines and the control lines, may exchange a data signal DAT with the nonvolatile memory device 40 via the data I/O lines, and may transmit a power supply voltage PWR to the nonvolatile memory device 40 via the power lines.
- the plurality of signal lines 30 may further include data strobe signal (DQS) lines for transmitting a DQS signal.
- DQS data strobe signal
- at least a part or all of the plurality of signal lines 30 may be referred to as a channel.
- FIG. 3 is a block diagram illustrating a nonvolatile memory device according to example embodiments.
- a nonvolatile memory device 100 includes a memory cell array 110 , an address decoder 120 , a page buffer circuit 130 , a data input/output (I/O) circuit 140 , a voltage generator 150 and/or a control circuit 160 .
- the memory cell array 110 is connected to the address decoder 120 via a plurality of string selection lines SSL, a plurality of wordlines WL and a plurality of ground selection lines GSL.
- the memory cell array 110 is further connected to the page buffer circuit 130 via a plurality of bitlines BL.
- the memory cell array 110 may include a plurality of memory cells (e.g., a plurality of nonvolatile memory cells) that are connected to the plurality of wordlines WL and the plurality of bitlines BL.
- the memory cell array 110 may be divided into a plurality of memory blocks BLK 1 , BLK 2 , . . . , BLKz each of which includes memory cells.
- each of the plurality of memory blocks BLK 1 , BLK 2 , . . . , BLKz may be divided into a plurality of pages.
- the memory cell array 110 may be a three-dimensional (3D) memory cell array, which is formed on a substrate in a three-dimensional structure (or a vertical structure).
- the memory cell array 110 may include a plurality of cell strings (e.g., a plurality of vertical NAND strings) that are vertically oriented such that at least one memory cell is located over another memory cell.
- the control circuit 160 receives a command CMD and an address ADDR from an outside (e.g., from a memory controller), and control erasure, programming and read operations of the nonvolatile memory device 100 based on the command CMD and the address ADDR.
- An erasure operation may include performing a sequence of erase loops
- a program operation may include performing a sequence of program loops.
- Each program loop may include a program operation and a program verification operation.
- Each erase loop may include an erase operation and an erase verification operation.
- the read operation may include a normal read operation and data recover read operation.
- control circuit 160 may generate control signals CON, which are used for controlling the voltage generator 150 , and may generate control signal PBC for controlling the page buffer circuit 130 , based on the command CMD, and may generate a row address R_ADDR and a column address C_ADDR based on the address ADDR.
- the control circuit 160 may provide the row address R_ADDR to the address decoder 120 and may provide the column address C_ADDR to the data I/O circuit 140 .
- the control circuit 160 may perform the method of writing data according to example embodiments described with reference to FIG. 1 .
- the control circuit 160 may receive offset information OFS that represents a verification level and is provided when write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern, and may control the program loops of the nonvolatile memory device 100 based on the offset information OFS.
- the control circuit 160 may perform a method of writing data according to example embodiments which will be described with reference to FIGS. 21 and 22 .
- the address decoder 120 may be connected to the memory cell array 110 via the plurality of string selection lines SSL, the plurality of wordlines WL and the plurality of ground selection lines GSL.
- the address decoder 120 may determine at least one of the plurality of wordlines WL as a selected wordline, and may determine the rest or remainder of the plurality of wordlines WL other than the selected wordline as unselected wordlines, based on the row address R_ADDR.
- the address decoder 120 may determine at least one of the plurality of string selection lines SSL as a selected string selection line, and may determine the rest or remainder of the plurality of string selection lines SSL other than the selected string selection line as unselected string selection lines, based on the row address R_ADDR.
- the address decoder 120 may determine at least one of the plurality of ground selection lines GSL as a selected ground selection line, and may determine the rest or remainder of the plurality of ground selection lines GSL other than the selected ground selection line as unselected ground selection lines, based on the row address R_ADDR.
- the voltage generator 150 may generate voltages VS that are required for an operation of the nonvolatile memory device 100 based on a power PWR and the control signals CON.
- the voltages VS may be applied to the plurality of string selection lines SSL, the plurality of wordlines WL and the plurality of ground selection lines GSL via the address decoder 120 .
- the voltage generator 150 may generate an erase voltage VERS that is required for the data erase operation based on the power PWR and the control signals CON.
- the erase voltage VERS may be applied to the memory cell array 110 directly or via the bitline BL.
- the voltage generator 150 may apply the erase voltage VERS to a common source line and/or the bitline BL of a memory block (e.g., a selected memory block) and may apply an erase permission voltage (e.g., a ground voltage) to all wordlines of the memory block or a portion of the wordlines via the address decoder 120 .
- the voltage generator 150 may apply the erase verification voltage VEVFY simultaneously to all wordlines of the memory block or sequentially to the wordlines one by one.
- the voltage generator 150 may apply a program voltage to the selected wordline and may apply a program pass voltage to the unselected wordlines via the address decoder 120 .
- the voltage generator 150 may apply a program verification voltage to the selected wordline and may apply a verification pass voltage to the unselected wordlines via the address decoder 120 .
- the voltage generator 150 may apply a read voltage to the selected wordline and may apply a read pass voltage to the unselected wordlines via the address decoder 120 .
- the voltage generator 150 may apply the read voltage to a wordline adjacent to the selected wordline and may apply a recover read voltage to the selected wordline via the address decoder 120 .
- the page buffer circuit 130 may be connected to the memory cell array 110 via the plurality of bitlines BL.
- the page buffer circuit 130 may include a plurality of page buffers. In some example embodiments, each page buffer may be connected to one bitline. In other example embodiments, each page buffer may be connected to two or more bitlines.
- the page buffer circuit 130 may store data DAT to be programmed into the memory cell array 110 or may read data DAT sensed from the memory cell array 110 .
- the page buffer circuit 130 may operate as a write driver or a sensing amplifier according to an operation mode of the nonvolatile memory device 100 .
- the data I/O circuit 140 may be connected to the page buffer circuit 130 via data lines DL.
- the data I/O circuit 140 may provide the data DAT from the outside of the nonvolatile memory device 100 to the memory cell array 110 via the page buffer circuit 130 or may provide the data DAT from the memory cell array 110 to the outside of the nonvolatile memory device 100 , based on the column address C_ADDR.
- FIG. 4 is a perspective view of an example of a memory block included in a memory cell array included in a nonvolatile memory device of FIG. 3 .
- a memory block BLKi includes a plurality of cell strings (e.g., a plurality of vertical NAND strings) which are formed on a substrate in a three-dimensional structure (or a vertical structure).
- the memory block BLKi includes structures extending along first, second and third directions D 1 , D 2 and D 3 .
- a substrate 111 is provided.
- the substrate 111 may have a well of a first type of charge carrier impurity (e.g., a first conductivity type) therein.
- the substrate 111 may have a p-well formed by implanting a group 3 element such as boron (B).
- the substrate 111 may have a pocket p-well provided within an n-well.
- the substrate 111 has a p-type well (or a p-type pocket well).
- the conductive type of the substrate 111 is not limited to p-type.
- a plurality of doping regions 311 , 312 , 313 and 314 arranged along the second direction D 2 are provided in/on the substrate 111 .
- These plurality of doping regions 311 to 314 may have a second type of charge carrier impurity (e.g., a second conductivity type) different from the first type of the substrate 111 .
- the first to fourth doping regions 311 to 314 may have n-type.
- the conductive type of the first to fourth doping regions 311 to 314 is not limited to n-type.
- a plurality of insulation materials 112 extending along the first direction D 1 are sequentially provided along the third direction D 3 on a region of the substrate 111 between the first and second doping regions 311 and 312 .
- the plurality of insulation materials 112 are provided along the third direction D 3 , being spaced by a specific distance.
- the insulation materials 112 may include an insulation material such as an oxide layer.
- a plurality of pillars 113 penetrating the insulation materials along the third direction D 3 are sequentially disposed along the first direction D 1 on a region of the substrate 111 between the first and second doping regions 311 and 312 .
- the plurality of pillars 113 penetrate the insulation materials 112 to contact the substrate 111 .
- each pillar 113 may include a plurality of materials.
- a channel layer 114 of each pillar 113 may include a silicon material having a first conductivity type.
- the channel layer 114 of each pillar 113 may include a silicon material having the same conductivity type as the substrate 111 .
- the channel layer 114 of each pillar 113 includes p-type silicon.
- the channel layer 114 of each pillar 113 is not limited to the p-type silicon.
- An internal material 115 of each pillar 113 includes an insulation material.
- the internal material 115 of each pillar 113 may include an insulation material such as a silicon oxide.
- the internal material 115 of each pillar 113 may include an air gap.
- the term “air” as discussed herein, may refer to atmospheric air, or other gases that may be present during the manufacturing process.
- An insulation layer 116 is provided along the exposed surfaces of the insulation materials 112 , the pillars 113 , and the substrate 111 , on a region between the first and second doping regions 311 and 312 .
- the insulation layer 116 provided on surfaces of the insulation material 112 may be interposed between pillars 113 and a plurality of stacked first conductive materials 211 , 221 , 231 , 241 , 251 , 261 , 271 , 281 and 291 , as illustrated.
- the insulation layer 116 need not be provided between the first conductive materials 211 to 291 corresponding to ground selection lines GSL (e.g., 211 ) and string selection lines SSL (e.g., 291 ).
- the ground selection lines GSL are the lowermost ones of the stack of first conductive materials 211 to 291 and the string selection lines SSL are the uppermost ones of the stack of first conductive materials 211 to 291 .
- the plurality of first conductive materials 211 to 291 are provided on surfaces of the insulation layer 116 , in a region between the first and second doping regions 311 and 312 .
- the first conductive material 211 extending along the first direction D 1 is provided between the insulation material 112 adjacent to the substrate 111 and the substrate 111 .
- the first conductive material 211 extending along the first direction D 1 is provided between the insulation layer 116 at the bottom of the insulation material 112 adjacent to the substrate 111 and the substrate 111 .
- a first conductive material extending along the first direction D 1 is provided between the insulation layer 116 at the top of the specific insulation material among the insulation materials 112 and the insulation layer 116 at the bottom of a specific insulation material among the insulation materials 112 .
- a plurality of first conductive materials 221 to 281 extending along the first direction D 1 are provided between the insulation materials 112 and it may be understood that the insulation layer 116 is provided between the insulation materials 112 and the first conductive materials 221 to 281 .
- the first conductive materials 211 to 291 may be formed of a conductive metal, but in other example embodiments according to the inventive concepts the first conductive materials 211 to 291 may include a conductive material such as a polysilicon.
- the same structures as those on the first and second doping regions 311 and 312 may be provided in a region between the second and third doping regions 312 and 313 .
- a plurality of insulation materials 112 are provided, which extend along the first direction D 1 .
- a plurality of pillars 113 are provided that are disposed sequentially along the first direction D 1 and penetrate the plurality of insulation materials 112 along the third direction D 3 .
- An insulation layer 116 is provided on the exposed surfaces of the plurality of insulation materials 112 and the plurality of pillars 113 , and a plurality of first conductive materials 211 to 291 extend along the first direction D 1 .
- the same structures as those on the first and second doping regions 311 and 312 may be provided in a region between the third and fourth doping regions 313 and 314 .
- a plurality of drain regions 320 are provided on the plurality of pillars 113 , respectively.
- the drain regions 320 may include silicon materials doped with a second type of charge carrier impurity.
- the drain regions 320 may include silicon materials doped with an n-type dopant.
- the drain regions 320 include n-type silicon materials.
- the drain regions 320 are not limited to n-type silicon materials.
- a plurality of second conductive materials 331 , 332 and 333 are provided, which extend along the second direction D 2 .
- the second conductive materials 331 to 333 are disposed along the first direction D 1 , being spaced apart from each other by a specific distance.
- the second conductive materials 331 to 333 are respectively connected to the drain regions 320 in a corresponding region.
- the drain regions 320 and the second conductive material 333 extending along the second direction D 2 may be connected through each contact plug.
- Each contact plug may be, for example, a conductive plug formed of a conductive material such as a metal.
- the second conductive materials 331 to 333 may include metal materials.
- the second conductive materials 331 to 333 may include conductive materials such as a polysilicon.
- the first conductive materials 211 to 291 may be used to form the wordlines WL, the string selection lines SSL and the ground selection lines GSL.
- the first conductive materials 221 to 281 may be used to form the wordlines WL, where conductive materials belonging to the same layer may be interconnected.
- the second conductive materials 331 to 333 may be used to form the bitlines BL.
- the number of layers of the first conductive materials 211 to 291 may be changed variously according to process and control techniques.
- FIG. 5 is a circuit diagram illustrating an equivalent circuit of a memory block described with reference to FIG. 4 .
- a memory block BLKi of FIG. 5 may be formed on a substrate in a three-dimensional structure (or a vertical structure). For example, a plurality of NAND strings included in the memory block BLKi may be formed in a direction perpendicular to the substrate.
- the memory block BLKi may include a plurality of NAND strings NS 11 , NS 12 , NS 13 , NS 21 , NS 22 , NS 23 , NS 31 , NS 32 and NS 33 connected between bitlines BL 1 , BL 2 and BL 3 and a common source line CSL.
- Each of the NAND strings NS 11 to NS 33 may include a string selection transistor SST, a plurality of memory cells MC 1 , MC 2 , MC 3 , MC 4 , MC 5 , MC 6 , MC 7 and MC 8 , and a ground selection transistor GST.
- bitlines BL 1 to BL 3 may correspond to the second conductive materials 331 to 333 in FIG. 4
- the common source line CSL may be formed by interconnecting the first to fourth doping regions 311 to 314 in FIG. 4 .
- Each string selection transistor SST may be connected to a corresponding string selection line (one of SSL 1 , SSL 2 and SSL 3 ).
- the plurality of memory cells MC 1 to MC 8 may be connected to corresponding wordlines WL 1 , WL 2 , WL 3 , WL 4 , WL 5 , WL 6 , WL 7 and WL 8 , respectively.
- Each ground selection transistor GST may be connected to a corresponding ground selection line (one of GSL 1 , GSL 2 and GSL 3 ).
- Each string selection transistor SST may be connected to a corresponding bitline (e.g., one of BL 1 to BL 3 ), and each ground selection transistor GST may be connected to the common source line CSL.
- some of the string selection transistors SST are connected to the same bitline (e.g., one of BL 1 to BL 3 ) to connect corresponding NAND strings to the same bitline up appropriate selection via selection voltages applied to the appropriate sting selection lines SSL 1 to SSL 3 and ground selection lines GSL 1 to GSL 3 .
- the cell strings connected in common to one bitline may form one column, and the cell strings connected to one string selection line may form one row.
- the cell strings NS 11 , NS 21 and NS 31 connected to the first bitline BL 1 may correspond to a first column, and the cell strings NS 11 , NS 12 and NS 13 connected to the first string selection line SSL 1 may form a first row.
- Wordlines (e.g., WL 1 ) having the same height may be commonly connected, and the ground selection lines GSL 1 to GSL 3 and the string selection lines SSL 1 to SSL 3 may be separated.
- Memory cells located at the same semiconductor layer share a wordline.
- Cell strings in the same row share a string selection line.
- the common source line CSL is connected in common to all of cell strings.
- the memory block BLKi is illustrated to be connected to eight wordlines WL 1 to WL 8 and three bitlines BL 1 to BL 3
- each of the NAND strings NS 11 to NS 33 is illustrated to include eight memory cells MC 1 to MC 8 .
- each memory block may be connected to any number of wordlines and bitlines
- each NAND string may include any number of memory cells.
- a three-dimensional vertical array structure may include vertical NAND strings that are vertically oriented such that at least one memory cell is located over another memory cell.
- the at least one memory cell may comprise a charge trap layer.
- the nonvolatile memory device may be any nonvolatile memory device, e.g., a phase random access memory (PRAM), a resistive random access memory (RRAM), a nano floating gate memory (NFGM), a polymer random access memory (PoRAM), a magnetic random access memory (MRAM), a ferroelectric random access memory (FRAM), a thyristor random access memory (TRAM), or the like.
- PRAM phase random access memory
- RRAM resistive random access memory
- NFGM nano floating gate memory
- PoRAM polymer random access memory
- MRAM magnetic random access memory
- FRAM ferroelectric random access memory
- TPM thyristor random access memory
- FIG. 6 is a block diagram illustrating an example of a memory controller included in a memory system according to example embodiments.
- a memory controller 400 may include a processor 410 , a memory 420 , a parameter manager 430 , a host interface 440 , an error correction code (ECC) engine 450 , a memory interface 460 and/or an advanced encryption standard (AES) engine 470 .
- ECC error correction code
- AES advanced encryption standard
- the processor 410 may control an operation of the memory controller 400 in response to a command received via the host interface 440 from a host device (e.g., the host device 1100 in FIG. 23 ).
- a host device e.g., the host device 1100 in FIG. 23
- the processor 410 may control an operation of a memory system (e.g., the memory system 10 of FIG. 2 ), and may control respective components by employing firmware for operating the memory system.
- the memory 420 may store instructions and data executed and processed by the processor 410 .
- the memory 420 may be implemented with a volatile memory device, such as a dynamic random access memory (DRAM), a static random access memory (SRAM), a cache memory, or the like.
- DRAM dynamic random access memory
- SRAM static random access memory
- cache memory or the like.
- the parameter manager 430 may be used to perform the method of writing data according to example embodiments described with reference to FIG. 1 .
- the parameter manager 430 may perform operation S 200 in FIG. 1 .
- the parameter manager 430 may include an I/O pattern detection unit (IPDU) 432 that detects or senses an I/O pattern of write data, and a verification level control unit (VLCU) 434 that controls or adjusts a verification level.
- the verification level control unit 434 may include a preset (or predetermined or alternatively, desired) look-up table (LUT) 436 that is used to control or adjust the verification level.
- the look-up table 436 may include a relationship between the I/O pattern of the write data and an optimal or improved verification level therefor.
- At least a part of the parameter manager 430 may be implemented as hardware.
- at least a part of the parameter manager 430 may be included in a computer-based electronic system.
- at least a part of the parameter manager 430 may be implemented as instruction codes or program routines (e.g., a software program).
- the instruction codes or the program routines may be executed by a computer-based electronic system, and may be stored in any storage device located inside or outside the computer-based electronic system.
- the ECC engine 450 for error correction may perform coded modulation using a Bose-Chaudhuri-Hocquenghem (BCH) code, a low density parity check (LDPC) code, a turbo code, a Reed-Solomon code, a convolution code, a recursive systematic code (RSC), a trellis-coded modulation (TCM), a block coded modulation (BCM), etc., or may perform ECC encoding and ECC decoding using above-described codes or other error correction codes.
- BCH Bose-Chaudhuri-Hocquenghem
- LDPC low density parity check
- turbo code a turbo code
- a Reed-Solomon code a convolution code
- RSC recursive systematic code
- TCM trellis-coded modulation
- BCM block coded modulation
- the host interface 440 may provide physical connections between the host device and the memory system.
- the host interface 440 may provide an interface corresponding to a bus format of the host device for communication between the host device and the memory system.
- the bus format of the host device may be a small computer system interface (SCSI) or a serial attached SCSI (SAS) interface.
- the bus format of the host device may be a USB, a peripheral component interconnect (PCI) express (PCIe), an advanced technology attachment (ATA), a parallel ATA (PATA), a serial ATA (SATA), a nonvolatile memory (NVMe), etc., format.
- PCI peripheral component interconnect
- ATA advanced technology attachment
- PATA parallel ATA
- SATA serial ATA
- NVMe nonvolatile memory express
- the memory interface 460 may exchange data with a nonvolatile memory device (e.g., the nonvolatile memory device 40 in FIG. 2 ).
- the memory interface 460 may transfer data to the nonvolatile memory device, or may receive data read from the nonvolatile memory device.
- the memory interface 460 may be connected to the nonvolatile memory device via one channel.
- the memory interface 460 may be connected to the nonvolatile memory device via two or more channels.
- the memory interface 460 may be configured to comply with a standard protocol, such as Toggle or open NAND flash interface (ONFI).
- a standard protocol such as Toggle or open NAND flash interface (ONFI).
- the AES engine 470 may perform at least one of an encryption operation and a decryption operation on data input to the memory controller 400 by using a symmetric-key algorithm.
- the AES engine 470 may include an encryption module and a decryption module.
- the encryption module and the decryption module may be implemented as separate modules.
- one module capable of performing both encryption and decryption operations may be implemented in the AES engine 470 .
- FIG. 7 is a block diagram illustrating a memory system according to example embodiments.
- a memory system 50 may include a memory device 500 and a memory controller 600 .
- FIG. 7 illustrates an interface between the memory device 500 and the memory controller 600 in detail.
- the memory device 500 may include first to eighth pins P 11 , P 12 , P 13 , P 14 , P 15 , P 16 , P 17 and P 18 , a memory interface circuit 510 , a control logic circuit 520 and a memory cell array 530 .
- the memory interface circuit 510 may receive a chip enable signal nCE from the memory controller 600 through the first pin P 11 .
- the memory interface circuit 510 may transmit and receive signals to and from the memory controller 600 through the second to eighth pins P 12 to P 18 in response to the chip enable signal nCE.
- the memory interface circuit 510 may transmit and receive signals to and from the memory controller 600 through the second to eighth pins P 12 to P 18 .
- the memory interface circuit 510 may receive a command latch enable signal CLE, an address latch enable signal ALE and a write enable signal nWE from the memory controller 600 through the second to fourth pins P 12 to P 14 .
- the memory interface circuit 510 may receive a data signal DQ from the memory controller 600 through the seventh pin P 17 or may transmit the data signal DQ to the memory controller 600 .
- a command CMD, an address ADDR and data DATA may be transmitted via the data signal DQ.
- the data signal DQ may be transmitted through a plurality of data signal lines.
- the seventh pin P 17 may include a plurality of pins respectively corresponding to a plurality of data signals DQ(s).
- the memory interface circuit 510 may obtain the command CMD from the data signal DQ, which is received in an enable section (e.g., a high-level state) of the command latch enable signal CLE based on toggle time points of the write enable signal nWE.
- the memory interface circuit 510 may obtain the address ADDR from the data signal DQ, which is received in an enable section (e.g., a high-level state) of the address latch enable signal ALE based on the toggle time points of the write enable signal nWE.
- the write enable signal nWE may be maintained at a static state (e.g., a high level or a low level) and may toggle between the high level and the low level.
- the write enable signal nWE may toggle in a section in which the command CMD or the address ADDR is transmitted.
- the memory interface circuit 510 may obtain the command CMD or the address ADDR based on the toggle time points of the write enable signal nWE.
- the memory interface circuit 510 may receive a read enable signal nRE from the memory controller 600 through the fifth pin P 15 .
- the memory interface circuit 510 may receive a data strobe signal DQS from the memory controller 600 through the sixth pin P 16 or may transmit the data strobe signal DQS to the memory controller 600 .
- the memory interface circuit 510 may receive the read enable signal nRE, which toggles through the fifth pin P 15 , before outputting the data DATA.
- the memory interface circuit 510 may generate the data strobe signal DQS, which toggles based on the toggling of the read enable signal nRE.
- the memory interface circuit 510 may generate the data strobe signal DQS, which starts toggling after a predetermined or alternatively, desired delay (e.g., tDQSRE), based on a toggling start time of the read enable signal nRE.
- the memory interface circuit 510 may transmit the data signal DQ including the data DATA based on a toggle time point of the data strobe signal DQS.
- the data DATA may be aligned with the toggle time point of the data strobe signal DQS and may be transmitted to the memory controller 600 .
- the memory interface circuit 510 may receive the data strobe signal DQS, which toggles, along with the data DATA from the memory controller 600 .
- the memory interface circuit 510 may obtain the data DATA from the data signal DQ based on toggle time points of the data strobe signal DQS. For example, the memory interface circuit 510 may sample the data signal DQ at rising and falling edges of the data strobe signal DQS and may obtain the data DATA.
- the command CMD, the address ADDR and the data DATA that are obtained based on the write enable signal nWE and the data strobe signal DQS may correspond to a command, an address and data that are used to perform the data write operation according to example embodiments.
- the memory interface circuit 510 may transmit a ready/busy output signal nR/B to the memory controller 600 through the eighth pin P 18 .
- the memory interface circuit 510 may transmit state information of the memory device 500 through the ready/busy output signal nR/B to the memory controller 600 .
- the memory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the busy state to the memory controller 600 .
- the memory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the ready state to the memory controller 600 .
- the memory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the busy state (e.g., a low level) to the memory controller 600 .
- the memory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the busy state to the memory controller 600 .
- the control logic circuit 520 may control overall operations of the memory device 500 .
- the control logic circuit 520 may receive the command CMD and the address ADDR obtained from the memory interface circuit 510 .
- the control logic circuit 520 may generate control signals for controlling other components of the memory device 500 in response to the received command CMD and the received address ADDR.
- the control logic circuit 520 may generate various control signals for programming the data DATA to the memory cell array 530 or for reading the data DATA from the memory cell array 530 .
- the memory cell array 530 may store the data DATA obtained from the memory interface circuit 510 , under the control of the control logic circuit 520 .
- the memory cell array 530 may output the stored data DATA to the memory interface circuit 510 under the control of the control logic circuit 520 .
- the memory cell array 530 may include a plurality of memory cells.
- the plurality of memory cells may be flash memory cells.
- the memory cells may be RRAM cells, FRAM cells, PRAM cells, thyristor RAM (TRAM) cells, MRAM cells, or the like.
- RRAM cells RRAM cells
- FRAM cells FRAM cells
- PRAM cells PRAM cells
- thyristor RAM (TRAM) cells MRAM cells, or the like.
- the memory controller 600 may include first to eighth pins P 21 , P 22 , P 23 , P 24 , P 25 , P 26 , P 27 and P 28 and a controller interface circuit 610 .
- the first to eighth pins P 21 to P 28 may correspond to the first to eighth pins P 11 to P 18 of the memory device 500 , respectively.
- the controller interface circuit 610 may transmit the chip enable signal nCE to the memory device 500 through the first pin P 21 .
- the controller interface circuit 610 may transmit and receive signals to and from the memory device 500 , which is selected by the chip enable signal nCE, through the second to eighth pins P 22 to P 28 .
- the controller interface circuit 610 may transmit the command latch enable signal CLE, the address latch enable signal ALE and the write enable signal nWE to the memory device 500 through the second to fourth pins P 22 to P 24 .
- the controller interface circuit 610 may transmit or receive the data signal DQ to and from the memory device 500 through the seventh pin P 27 .
- the controller interface circuit 610 may transmit the data signal DQ including the command CMD or the address ADDR to the memory device 500 along with the write enable signal nWE, which toggles.
- the controller interface circuit 610 may transmit the data signal DQ including the command CMD to the memory device 500 by transmitting the command latch enable signal CLE having an enable state.
- the controller interface circuit 610 may transmit the data signal DQ including the address ADDR to the memory device 500 by transmitting the address latch enable signal ALE having an enable state.
- the controller interface circuit 610 may transmit the read enable signal nRE to the memory device 500 through the fifth pin P 25 .
- the controller interface circuit 610 may receive or transmit the data strobe signal DQS from or to the memory device 500 through the sixth pin P 26 .
- the controller interface circuit 610 may generate the read enable signal nRE, which toggles, and may transmit the read enable signal nRE to the memory device 500 .
- the controller interface circuit 610 may generate the read enable signal nRE, which is changed from a static state (e.g., a high level or a low level) to a toggling state.
- the memory device 500 may generate the data strobe signal DQS, which toggles, based on the read enable signal nRE.
- the controller interface circuit 610 may receive the data signal DQ including the data DATA along with the data strobe signal DQS, which toggles, from the memory device 500 .
- the controller interface circuit 610 may obtain the data DATA from the data signal DQ based on a toggle time point of the data strobe signal DQS.
- the controller interface circuit 610 may generate the data strobe signal DQS, which toggles. For example, before transmitting the data DATA, the controller interface circuit 610 may generate the data strobe signal DQS, which is changed from a static state (e.g., a high level or a low level) to a toggling state. The controller interface circuit 610 may transmit the data signal DQ including the data DATA to the memory device 500 based on toggle time points of the data strobe signal DQS.
- a static state e.g., a high level or a low level
- the controller interface circuit 610 may receive the ready/busy output signal nR/B from the memory device 500 through the eighth pin P 28 .
- the controller interface circuit 610 may determine state information of the memory device 500 based on the ready/busy output signal nR/B.
- FIG. 8 is a flowchart illustrating an example of receiving offset information in FIG. 1 .
- operation S 200 the I/O pattern of the write data may be detected (operation S 210 ).
- operation S 210 may be performed by the I/O pattern detection unit 432 in FIG. 6 .
- the I/O pattern of the write data may be detected based on the write address.
- the I/O pattern of the write data may be recognized or identified depending on the locality (or hotness) of the write address tracked in real time (or during runtime).
- the locality of the write address may be checked using a counter.
- the locality of the write address may be tracked and/or predicted using various machine learning schemes. For example, as will be described with reference to FIG. 23 , a neural processing unit (NPU) for performing the machine learning may be used.
- NPU neural processing unit
- the I/O pattern of the write data may be detected based on the number of times the write data is accessed.
- the I/O pattern of the write data may be recognized or identified depending on an access pattern tracked in real time. For example, when the number of access times (or access frequency) of a specific data is relatively high (e.g., higher than the reference number of times), the data may be classified as hot data. When the number of access times of a specific data is relatively low (e.g., lower than the reference number of times), the data may be classified as cold data.
- an optimal or improved verification level may be selected (operation S 230 ), and the offset information including the optimal or improved verification level may be generated and provided (operation S 240 ).
- operations S 220 , S 230 and S 240 may be performed by the verification level control unit 434 and the look-up table 436 in FIG. 6 .
- the I/O pattern of the write data may include write hot data, write cold data, read hot data and read cold data that are classified depending on the address, the locality of data and/or the number of access times of data.
- the deterioration of distribution may include the data retention deterioration and the read disturbance deterioration.
- the data retention deterioration may affect an upper state among a plurality of states included in a distribution of threshold voltages of memory cells, and the read disturbance deterioration may affect a lower state among the plurality of states.
- the upper state may vary or may be changed due to the data retention deterioration
- the lower state may vary or may be changed due to the read disturbance deterioration.
- the distribution deterioration pattern may include the first deterioration pattern vulnerable (or weak) to the data retention deterioration and the second deterioration pattern vulnerable to the read disturbance deterioration.
- the write data when the write data is the write cold data, e.g., when a write operation for the write address is performed with a relatively small number of times, it may be determined that the write data corresponds to the first deterioration pattern, and thus a specific verification level may be changed (e.g., the optimal or improved verification level may be re-selected) to improve and/or enhance the reliability of the write data.
- the write cold data may be data that is to be maintained or left in a storage space for a relatively long time, and a probability of being exposed to the data retention deterioration may be relatively high. Therefore, the reliability of the write cold data may be improved when the write cold data is more resistant or robust to the data retention deterioration.
- the data retention deterioration may affect the upper state, and thus, for the write cold data, the verification level may be controlled or adjusted to increase the margin for the upper state. Detailed operations of adjusting the verification level for the write cold data will be described with reference to FIGS. 10 through 15 .
- the write data when the write data is the read hot data, e.g., when a read operation for the write address and/or the write data is performed with a relatively large number of times, it may be determined that the write data corresponds to the second deterioration pattern, and thus a specific verification level may be changed (e.g., the optimal or improved verification level is selected) to improve and/or enhance the reliability of the write data.
- the read hot data may be data that is to be read relatively frequently, and a probability of being exposed to the read disturbance deterioration may be relatively high. Therefore, the reliability of the read hot data may be improved when the read hot data is more resistant or robust to the read disturbance deterioration.
- the read disturbance deterioration may affect the lower state, and thus, for the read hot data, the verification level may be controlled or adjusted to increase the margin for the lower state. Detailed operations of adjusting the verification level for the read hot data will be described with reference to FIGS. 16 through 20 .
- conditions affecting error bits of each page may be considered together.
- the unit of the read operation may be a page, and the degree to which a plurality of states affects the reliability (e.g., the degree of the error bits) may be different for each page. For example, a specific state of a specific page may have a greater influence on the error bits at the time of reading, and vice versa. Therefore, when the number of the error bits of the specific page increases, the verification level may be additionally adjusted to change the margin for the specific state that affects the error bits of the specific page.
- the optimal or improved verification level and/or the offset information representing the optimal or improved verification level may be stored (operation S 250 ).
- the optimal or improved verification level and/or the offset information may be stored in a parameter storage unit included in a memory controller (e.g., the memory 420 included in the memory controller 400 in FIG. 6 ).
- the write data when the write data is the write hot data, e.g., when a write operation for the write address is performed with a relatively large number of times, it may be determined that the write data does not correspond to the first and second deterioration patterns.
- the write hot data may be data that is to be written relatively frequently and has a relatively high possibility of becoming invalid data, and a probability of being exposed to the data retention deterioration may be relatively low. Therefore, the write hot data may be programmed without adjusting the verification level.
- the write data when the write data is the read cold data, e.g., when a read operation for the write address and/or the write data is performed with a relatively small number of times, it may be determined that the write data does not correspond to the first and second deterioration patterns.
- the read cold data may be read relatively less, and a probability of being exposed to the read disturbance deterioration may be relatively low. Therefore, the read cold data may be programmed without adjusting the verification level.
- FIG. 9 is a flowchart illustrating an example of programming write data based on offset information in FIG. 1 .
- the offset information maybe received (operation S 310 ). At least one verification level among a first verification level through an N-th verification level may be changed based on the offset information (operation S 320 ).
- the first verification level through the N-th verification level may correspond to a first state through an N-th state, respectively, that are included in the distribution of threshold voltages of the memory cells in which the write data is stored.
- a program loop may be performed once or more times on the write data based on the first verification level through the N-th verification level including the changed verification level such that at least one state among the first state through the N-th state is changed (operation S 330 ).
- the optimal or improved verification level may vary depending on the I/O pattern of the write data, and detailed operations will be described later.
- FIG. 10 is a flowchart illustrating an example of a program operation of FIG. 9 .
- FIGS. 11 and 12 are diagrams for describing an operation of FIG. 10 .
- first offset information may be received (operation S 312 ).
- the first offset information may represent that the write data is the write cold data and corresponds to the first deterioration pattern, and may include an optimal or improved verification level for improving the reliability of the write cold data.
- the N-th verification level among the first through N-th verification levels may be changed based on the first offset information such that the N-th state among the first through N-th states is changed (operation S 322 ).
- the first state and the first verification level may correspond to the lowest voltage level
- the N-th state and the N-th verification level may correspond to the highest voltage level.
- the N-th verification level may be controlled or adjusted to increase the margin for the N-th state, which is the uppermost state.
- the verification level may be adjusted as illustrated in FIG. 11 .
- first through N-th states E, P 1 , P 2 , . . . , P(N ⁇ 3), P(N ⁇ 2) and P(N ⁇ 1) and first through N-th verification levels VL 1 , VL 2 , VL 3 , . . . , VL(N ⁇ 2), VL(N ⁇ 1) and VLN that are illustrated at the upper portion may represent an example before operation S 322 is performed, e.g., a distribution of initial threshold voltages.
- N may be eight.
- the N-th verification level that is the highest level may increase from VLN to VLN′, and the N-th state that is the uppermost state may be changed from P(N ⁇ 1) to P(N ⁇ 1)′.
- an interval between the (N ⁇ 1)-th state and the N-th state may increase from VD 1 to VD 1 ′ (e.g., an interval between the (N ⁇ 1)-th verification level and the N-th verification level may increase), and the reliability against the data retention deterioration may be improved as the margin for the N-th state increases.
- the rest or remainder of the states and the verification levels other than the N-th state and the N-th verification level may be maintained.
- a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed N-th verification level (operation S 332 ).
- the program loop may include a program operation and a program verification operation.
- the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion of FIG. 11 .
- operation S 332 may be performed based on an incremental operation pulse program (ISPP) scheme.
- ISPP incremental operation pulse program
- a plurality of program loops PLOOP 1 , PLOOP 2 , PLOOP 3 , . . . , PLOOPK may be sequentially performed, where K is a natural number greater than or equal to two.
- K is a natural number greater than or equal to two.
- one of program operations P 01 , P 02 , P 03 , . . . , POK using a program voltage VPGM and a respective one of program verification operations PV 1 , PV 2 , PV 3 , . . . , PVK using a program verification voltage VPV may be sequentially performed.
- a level of the program voltage VPGM in a current program loop may be higher than that of the program voltage VPGM in a previous program loop, and the program verification voltage VPV may have a constant level (e.g., a verification level VPVL).
- the verification level VPVL may correspond to one of the verification levels VL 2 to VLN in FIG. 11 .
- the program voltage VPGM may have an initial program level VPLI.
- the program voltage VPGM may have a level that is increased by a operation level ⁇ VP from the initial program level VPLI.
- the program voltage VPGM may have a level that is increased by the operation level ⁇ VP from the level of the program voltage VPGM in the second program loop PLOOP 2 .
- the program voltage VPGM may have a final program level VPLF.
- FIG. 12 illustrates that only the level of the program voltage VPGM increases as the program loop is repeatedly performed, example embodiments are not limited thereto, and the level of the program verification voltage VPV may also increase. In some example embodiments, the level of the program voltage VPGM may decrease and/or the level of the program verification voltage VPV may decrease as the program loop is repeatedly performed. In addition, although FIG. 12 illustrates that the level of the program voltage VPGM increases by a fixed level (e.g., the operation level ⁇ VP), example embodiments are not limited thereto, and the amount of change in the program voltage VPGM may be changed for each program loop.
- a fixed level e.g., the operation level ⁇ VP
- FIG. 13 is a flowchart illustrating another example of a program operation of FIG. 9 .
- FIGS. 14 and 15 are diagrams for describing an operation of FIG. 13 . The descriptions repeated with FIGS. 10, 11 and 12 will be omitted.
- first offset information may be received (operation S 314 ).
- the first offset information in operation S 314 may be similar to the first offset information in operation S 312 of FIG. 10 , except that an optimal or improved verification level included in the first offset information in operation S 314 is different from the optimal or improved verification level included in the first offset information in operation S 312 .
- operation S 322 may be the same or substantially the same as operation S 322 in FIG. 10 .
- at least one of the first through (N ⁇ 1)-th verification levels among the first through N-th verification levels other than the N-th verification level changed by operation S 322 may be additionally changed based on the first offset information (operation S 324 ).
- the entire width of the distribution of threshold voltages may be maintained even when the N-th verification level is adjusted to increase the margin for the N-th state by operation S 322 , and thus operation S 324 may be additionally performed for maintaining the entire width of the distribution of threshold voltages.
- the verification levels may be adjusted as illustrated in FIG. 14 .
- first through N-th states E′, P 1 , P 2 , . . . , P(N ⁇ 3), P(N ⁇ 2) and P(N ⁇ 1)′ and first through N-th verification levels VL 1 ′, VL 2 , VL 3 , . . . , VL(N ⁇ 2), VL(N ⁇ 1) and VLN′ that are illustrated at the lower portion may represent an example after operations S 322 and S 324 are performed and the verification levels are adjusted.
- the N-th verification level may increase from VLN to VLN′, and the N-th state may be changed from P(N ⁇ 1) to P(N ⁇ 1)′.
- the first verification level may increase from VL 1 to VL 1 ′, and the first state may be changed from E to E′.
- the verification levels may be adjusted as illustrated in FIG. 15 .
- first through N-th states E′, P 1 ′, P 2 ′, . . . , P(N ⁇ 3)′, P(N ⁇ 2) and P(N ⁇ 1)′ and first through N-th verification levels VL 1 ′, VL 2 ′, VL 3 ′, . . . , VL(N ⁇ 2)′, VL(N ⁇ 1) and VLN′ that are illustrated at the lower portion may represent an example after operations S 322 and S 324 are performed and the verification levels are adjusted.
- the N-th verification level may increase from VLN to VLN′, and the N-th state may be changed from P(N ⁇ 1) to P(N ⁇ 1)′.
- the first through (N ⁇ 2)-th verification levels may increase from VL 1 , VL 2 , VL 3 , . . . , VL(N ⁇ 2) to VL 1 ′, VL 2 ′, VL 3 ′, . . . , VL(N ⁇ 2)′, respectively, and the first through (N ⁇ 2)-th states may be changed from E, P 1 , P 2 , . . . , P(N ⁇ 3) to E′, P 1 ′, P 2 ′, . . . , P(N ⁇ 3)′, respectively.
- the entire width of the distribution of threshold voltages VTH may be maintained to VDT while the margin for the N-th state increases.
- all program verification levels and all program states may not be changed, and at least one program verification level and at least one program state may be maintained.
- the program verification levels VL 2 to VL(N ⁇ 1) and the program states P 1 to P(N ⁇ 2) may not be changed and may be maintained in an example of FIG. 14
- the program verification level VL(N ⁇ 1) and the program state P(N ⁇ 2) may not be changed and may be maintained in an example of FIG. 15 .
- a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed verification levels (operation S 334 ).
- Operation S 334 may be the same or substantially the same as operation S 332 in FIG. 10 .
- the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion of FIG. 14 or FIG. 15 .
- FIG. 16 is a flowchart illustrating still another example of a program operation of FIG. 9 .
- FIG. 17 is a diagram for describing an operation of FIG. 16 . The descriptions repeated with FIGS. 10, 11 and 12 will be omitted.
- second offset information may be received (operation S 316 ).
- the second offset information may represent that the write data is the read hot data and corresponds to the second deterioration pattern, and may include an optimal or improved verification level for improving the reliability of the read hot data.
- the first verification level among the first through N-th verification levels may be changed based on the second offset information such that the first state among the first through N-th states is changed (operation S 326 ).
- the first verification level may be controlled or adjusted to increase the margin for the first state, which is the lowermost state.
- the verification level may be adjusted as illustrated in FIG. 17 .
- first through N-th states E′′, P 1 , P 2 , . . . , P(N ⁇ 3), P(N ⁇ 2) and P(N ⁇ 1) and first through N-th verification levels VL 1 ′′, VL 2 , VL 3 , . . . , VL(N ⁇ 2), VL(N ⁇ 1), VLN that are illustrated at the lower portion may represent an example after operation S 326 is performed and the verification level is adjusted.
- the first verification level that is the lowest level may decrease from VL 1 to VL 1 ′′, and the first state that is the lowermost state may be changed from E to E′′.
- an interval between the first state and the second state may increase from VD 2 to VD 2 ′ (e.g., an interval between the first verification level and the second verification level may increase), and the reliability against the read disturbance deterioration may be improved as the margin for the first state increases.
- the rest or remainder of the states and the verification levels other than the first state and the first verification level may be maintained.
- a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed first verification level (operation S 336 ).
- Operation S 336 may be the same or substantially the same as operation S 332 in FIG. 10 .
- the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion of FIG. 17 .
- FIG. 18 is a flowchart illustrating still another example of a program operation of FIG. 9 .
- FIGS. 19 and 20 are diagrams for describing an operation of FIG. 18 . The descriptions repeated with FIGS. 10, 11, 12, 16 and 17 will be omitted.
- second offset information may be received (operation S 318 ).
- the second offset information in operation S 318 may be similar to the second offset information in operation S 316 of FIG. 16 , except that an optimal or improved verification level included in the second offset information in operation S 318 is different from the optimal or improved verification level included in the second offset information in operation S 316 .
- operation S 326 may be the same or substantially the same as operation S 326 in FIG. 16 .
- at least one of the second through N-th verification levels among the first through N-th verification levels other than the first verification level changed by operation S 326 may be additionally changed based on the second offset information (operation S 328 ).
- the entire width of the distribution of threshold voltages may be maintained even when the first verification level is adjusted to increase the margin for the first state by operation S 326 , and thus operation S 328 may be additionally performed for maintaining the entire width of the distribution of threshold voltages.
- the verification levels may be adjusted as illustrated in FIG. 19 .
- first through N-th states E P 1 , P 2 , . . . , P(N ⁇ 3), P(N ⁇ 2) and P(N ⁇ 1)” and first through N-th verification levels VL 1 ′′, VL 2 , VL 3 , . . . , VL(N ⁇ 2), VL(N ⁇ 1) and VLN′′ that are illustrated at the lower portion may represent an example after operations S 326 and S 328 are performed and the verification levels are adjusted.
- the first verification level may decrease from VL 1 to VL 1 ′′, and the first state may be changed from E to E′′.
- the N-th verification level may decrease from VLN to VLN′′, and the N-th state may be changed from P(N ⁇ 1) to P(N ⁇ 1)′′.
- the verification levels may be adjusted as illustrated in FIG. 20 .
- first through N-th states E′′, P 1 , P 2 ′′, . . . , P(N ⁇ 3)′′, P(N ⁇ 2)′′ and P(N ⁇ 1)′′ and first through N-th verification levels VL 1 ′′, VL 2 , VL 3 ′′, . . . , VL(N ⁇ 2)′′, VL(N ⁇ 1)′′ and VLN′′ that are illustrated at the lower portion may represent an example after operations S 326 and S 328 are performed and the verification levels are adjusted.
- the first verification level may decrease from VL 1 to VL 1 ′′, and the first state may be changed from E to E′′.
- the third through N-th verification levels may increase from VL 3 , . . . , VL(N ⁇ 2), VL(N ⁇ 1), VLN to VL 3 ′′, . . . , VL(N ⁇ 2)′′, VL(N ⁇ 1)′′, VLN′′, respectively, and the third through N-th states may be changed from P 2 , . . . , P(N ⁇ 3), P(N ⁇ 2), P(N ⁇ 1) to P 2 ′′, . . . , P(N ⁇ 3)′′, P(N ⁇ 2)′′, P(N ⁇ 1)′′, respectively.
- the entire width of the distribution of threshold voltages VTH may be maintained to VDT while the margin for the first state increases.
- all program verification levels and all program states may not be changed, and at least one program verification level and at least one program state may be maintained.
- the program verification levels VL 2 to VL(N ⁇ 1) and the program states P 1 to P(N ⁇ 2) may not be changed and may be maintained in an example of FIG. 19
- the program verification level VL 2 and the program state P 1 may not be changed and may be maintained in an example of FIG. 20 .
- a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed verification levels (operation S 338 ).
- Operation S 338 may be the same or substantially the same as operation S 336 in FIG. 16 .
- the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion of FIG. 19 or FIG. 20 .
- example embodiments are described with reference to FIGS. 10 through 15 that only the margin for the N-th state increases (e.g., only the interval between the (N ⁇ 1)-th state and the N-th state increases from VD 1 to VD 1 ′), and although example embodiments are described with reference to FIGS. 16 through 20 that only the margin for the first state increases (e.g., only the interval between the first state and the second state increases from VD 2 to VD 2 ′), example embodiments are not limited thereto, and the margin for at least one of other states may be additionally changed. For example, as described with reference to FIG. 8 , the margin for at least one of other states that affects the error bits of each page may be additionally changed.
- example embodiments are described with reference to FIGS. 8 through 20 based on specific I/O patterns of the write data, specific deterioration patterns, specific distributions of threshold voltages and specific verification levels, example embodiments are not limited thereto.
- example embodiments may be extended, applied or employed to examples where an arbitrary verification level in an arbitrary distribution of threshold voltages is adjusted to improve the reliability when the I/O pattern of the write data corresponds to an arbitrary deterioration pattern that causes the variation of distribution.
- FIGS. 21 and 22 are flowcharts illustrating a method of writing data in a nonvolatile memory device according to example embodiments. The descriptions repeated with FIG. 1 will be omitted.
- operation S 100 may be the same or substantially the same as operation S 100 in FIG. 1 .
- operation S 410 When the write data corresponds to the distribution deterioration pattern (operation S 410 : YES), the offset information is received (operation S 420 ).
- Operations S 410 and S 420 may correspond to operation S 200 in FIG. 1 .
- Operation S 300 performed when the offset information is received may be the same or substantially the same as operation S 300 in FIG. 1 .
- the offset information is not received (or non-received) (operation S 430 ).
- the write data is programmed such that all of the plurality of states included in the distribution of threshold voltages of the memory cells in which the write data is stored are maintained (operation S 500 ).
- the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the upper portion of FIG. 11 .
- operations S 100 , S 200 and S 300 may be the same or substantially the same as operations S 100 , S 200 and S 300 in FIG. 1 , respectively.
- the look-up table used to select the optimal or improved verification level is updated in real time (operation S 600 ).
- the look-up table may be used to generate the offset information in operation S 200 , and may be used to perform operation S 230 in FIG. 8 .
- the look-up table 436 in FIG. 6 may correspond to the look-up table in operation S 600 .
- the look-up table may be updated in real time based on program/erase (P/E) cycle information. In other example embodiments, the look-up table may be updated in real time based on at least one of other information associated with operations and/or characteristics of the nonvolatile memory device.
- P/E program/erase
- inventive concepts may be embodied as a system, method, computer program product, and/or a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable program code may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- the computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- the computer readable medium may be a non-transitory computer readable medium.
- One or more of the elements disclosed above may include or be implemented in one or more processing circuitries such as hardware including logic circuits; a hardware/software combination such as a processor executing software; or a combination thereof.
- the processing circuitries more specifically may include, but is not limited to, a central processing unit (CPU), an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a System-on-Chip (SoC), a programmable logic unit, a microprocessor, application-specific integrated circuit (ASIC), etc.
- CPU central processing unit
- ALU arithmetic logic unit
- FPGA field programmable gate array
- SoC System-on-Chip
- ASIC application-specific integrated circuit
- FIG. 23 is a block diagram illustrating a storage device and a storage system including the storage device according to example embodiments.
- a storage system 1000 includes a host device 1100 and a storage device 1200 .
- the host device 1100 controls overall operations of the storage system 1000 .
- the host device 1100 may include a host processor and a host memory.
- the host processor may control an operation of the host device 1100 .
- the host processor may execute an operating system (OS).
- the host memory may store instructions and/or data that are executed and/or processed by the host processor.
- the operating system executed by the host processor may include a file system for file management and a device driver for controlling peripheral devices including the storage device 1200 at the operating system level.
- the storage device 1200 is accessed by the host device 1100 .
- the storage device 1200 includes a storage controller 1210 , a plurality of nonvolatile memories (NVMs) 1220 a , 1220 b and 1220 c , and a buffer memory 1230 .
- NVMs nonvolatile memories
- the storage controller 1210 may control an operation of the storage device 1200 and/or operations of the plurality of nonvolatile memories 1220 a , 1220 b and 1220 c based on a command and data that are received from the host device 1100 .
- the plurality of nonvolatile memories 1220 a , 1220 b and 1220 c may store a plurality of data.
- the plurality of nonvolatile memories 1220 a , 1220 b and 1220 c may store meta data, various user data, or the like.
- the buffer memory 1230 may store instructions and/or data that are executed and/or processed by the storage controller 1210 , and may temporarily store data stored in or to be stored into the plurality of nonvolatile memories 1220 a , 1220 b and 1220 c .
- the memory system 10 of FIG. 2 and/or the memory system 50 of FIG. 7 may be implemented in the form of the storage device 1200 .
- the storage controller 1210 may correspond to the memory controller 20 in FIG. 2 and/or the memory controller 600 in FIG. 7
- the nonvolatile memories 1220 a , 1220 b and 1220 c may correspond to the nonvolatile memory device 40 in FIG. 2 and/or the memory device 500 in FIG. 7 .
- a parameter manager (PM) 1212 included in the storage controller 1210 may correspond to the parameter manager 430 in FIG. 6 .
- the storage controller 1210 may further include a neural processing unit (NPU) 1214 for detecting the I/O pattern of the write data.
- NPU neural processing unit
- the storage device 1200 may be a solid state drive (SSD), a universal flash storage (UFS), a multi-media card (MMC) or an embedded multi-media card (eMMC).
- the storage device 1200 may be one of a secure digital (SD) card, a micro SD card, a memory stick, a chip card, a universal serial bus (USB) card, a smart card, a compact flash (CF) card, or the like.
- SD secure digital
- USB universal serial bus
- CF compact flash
- inventive concepts may be applied to various electronic devices and systems that include the nonvolatile memory devices and the storage devices.
- the inventive concepts may be applied to systems such as a personal computer (PC), a server computer, a data center, a workstation, a mobile phone, a smart phone, a tablet computer, a laptop computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a digital camera, a portable game console, a music player, a camcorder, a video player, a navigation device, a wearable device, an internet of things (IoT) device, an internet of everything (IoE) device, an e-book reader, a virtual reality (VR) device, an augmented reality (AR) device, a robotic device, a drone, etc.
- PC personal computer
- server computer a data center
- workstation a mobile phone, a smart phone, a tablet computer, a laptop computer
- PDA personal digital assistant
- PMP portable multimedia player
- digital camera a portable game console
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
Description
- This application claims priority under 35 USC § 119 to Korean Patent Application No. 10-2020-0163790 filed on Nov. 30, 2020 in the Korean Intellectual Property Office (KIPO), the contents of which are herein incorporated by reference in their entirety.
- Example embodiments relate generally to semiconductor integrated circuits, and more particularly to methods of writing data in nonvolatile memory devices, nonvolatile memory devices performing the methods of writing data, and methods of operating memory systems using the methods of writing data.
- Semiconductor memory devices can generally be divided into two categories depending upon whether or not they retain stored data when disconnected from a power supply. These categories include volatile memory devices, which lose stored data when disconnected from power, and nonvolatile memory devices, which retain stored data when disconnected from power. Volatile memory devices may perform read and write operations at a relatively high speed, while contents stored therein may be lost at power-off. Nonvolatile memory devices may retain contents stored therein even at power-off, which means they may be used to store data that must be retained regardless of whether they are powered.
- Recently, as the degree of integration of nonvolatile memory devices increases, the reliability associated with deterioration and/or degradation of data stored in the nonvolatile memory devices is gradually reducing. Thus, various schemes of solving the deterioration problem have been researched.
- At least one example embodiment of the present disclosure provides a method of writing data in a nonvolatile memory device capable of improving and/or enhancing the reliability of data to be stored.
- At least one example embodiment of the present disclosure provides a nonvolatile memory device performing the method of writing data.
- At least one example embodiment of the present disclosure provides a method of operating a memory system using the method of writing data.
- According to example embodiments, in a method of writing data in a nonvolatile memory device, a write command, a write address and write data to be programmed are received. Offset information representing a verification level is received. The offset information is provided when the write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern by checking an input/output (I/O) pattern of the write data. When the offset information is received, the write data is programmed based on the offset information such that at least one state among a plurality of states included in a distribution of threshold voltages of memory cells in which the write data is stored is changed.
- According to example embodiments, a nonvolatile memory device includes a memory cell array and processing circuitry. The memory cell array includes a plurality of memory cells. The processing circuitry receives a write command, a write address and write data to be programmed, receives offset information representing a verification level, and programs the write data based on the offset information when the offset information is received such that at least one state among a plurality of states included in a distribution of threshold voltages of memory cells in which the write data is stored is changed. The offset information is provided when the write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern by checking an input/output (I/O) pattern of the write data.
- According to example embodiments, in a method of operating a memory system including a memory controller and a nonvolatile memory device, a write command, a write address and write data to be programmed are transmitted by the memory controller to the nonvolatile memory device. An input/output (I/O) pattern of the write data is detected by the memory controller. An optimal or improved verification level is selected by the memory controller when it is determined that the write data is write cold data or read hot data. The write cold data is data that is written less than a predetermined or alternatively, desired first number of times. The read hot data is data that is read more than a predetermined or alternatively, desired second number of times. Offset information including the optimal or improved verification level is generated by the memory controller. The offset information is transmitted by the memory controller to the nonvolatile memory device. At least one of a first verification level through an N-th verification level is changed by the nonvolatile memory device based on the offset information. The first verification level through the N-th verification level correspond to a first state through an N-th state, respectively, that are included in a distribution of threshold voltages. A program loop is performed by the nonvolatile memory device once or more on the write data based on the first verification level through the N-th verification level such that at least one state among the first state through the N-th state is changed. The first state corresponds to a lowest voltage level, and the N-th state corresponds to a highest voltage level. When the write data is the write cold data, the at least one state is changed such that an interval between an (N−1)-th state and the N-th state increases. When the write data is the read hot data, the at least one state is changed such that an interval between the first state and a second state increases.
- In the method of writing data, the nonvolatile memory device and the method of operating the memory system according to example embodiments, the I/O pattern of the write data to be programmed may be checked in real time or during runtime. When a specific or predetermined or alternatively, desired pattern is detected, a specific verification level may be adjusted or controlled such that the margin for specific states corresponding to the deterioration vulnerable to the specific pattern increases (e.g., such that an interval between adjacent states increases). Information associated with or related to the adjusted verification level may be provided as the offset information together with the write data. Accordingly, the deterioration of the write data may be efficiently reduced or prevented and the reliability may be improved or enhanced.
- Illustrative, non-limiting example embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.
-
FIG. 1 is a flowchart illustrating a method of writing data in a nonvolatile memory device according to example embodiments. -
FIG. 2 is a block diagram illustrating a memory system according to example embodiments. -
FIG. 3 is a block diagram illustrating a nonvolatile memory device according to example embodiments. -
FIG. 4 is a perspective view of an example of a memory block included in a memory cell array included in a nonvolatile memory device ofFIG. 3 . -
FIG. 5 is a circuit diagram illustrating an equivalent circuit of a memory block described with reference toFIG. 4 . -
FIG. 6 is a block diagram illustrating an example of a memory controller included in a memory system according to example embodiments. -
FIG. 7 is a block diagram illustrating a memory system according to example embodiments. -
FIG. 8 is a flowchart illustrating an example of receiving offset information inFIG. 1 . -
FIG. 9 is a flowchart illustrating an example of programming write data based on offset information inFIG. 1 . -
FIG. 10 is a flowchart illustrating an example of a program operation ofFIG. 9 . -
FIGS. 11 and 12 are diagrams for describing an operation ofFIG. 10 . -
FIG. 13 is a flowchart illustrating another example of a program operation ofFIG. 9 . -
FIGS. 14 and 15 are diagrams for describing an operation ofFIG. 13 . -
FIG. 16 is a flowchart illustrating still another example of a program operation ofFIG. 9 . -
FIG. 17 is a diagram for describing an operation ofFIG. 16 . -
FIG. 18 is a flowchart illustrating still another example of a program operation ofFIG. 9 . -
FIGS. 19 and 20 are diagrams for describing an operation ofFIG. 18 . -
FIGS. 21 and 22 are flowcharts illustrating a method of writing data in a nonvolatile memory device according to example embodiments. -
FIG. 23 is a block diagram illustrating a storage device and a storage system including the storage device according to example embodiments. - Various example embodiments will be described more fully with reference to the accompanying drawings, in which example embodiments are shown. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to example embodiments set forth herein. Like reference numerals refer to like elements throughout this application.
-
FIG. 1 is a flowchart illustrating a method of writing data in a nonvolatile memory device according to example embodiments. - Referring to
FIG. 1 , a method of writing data according to example embodiments is performed by a nonvolatile memory device that includes a plurality of memory cells. Detailed configurations of the nonvolatile memory device and a memory system including the nonvolatile memory device will be described with reference toFIGS. 2 through 7 . - In the method of writing data in the nonvolatile memory device according to example embodiments, a write command, a write address and write data to be programmed are received (operation S100). For example, the write command, the write address and the write data may be transmitted from a memory controller included in the memory system to the nonvolatile memory device.
- Offset information representing a verification level is received (operation S200). The offset information is provided when the write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern by checking an input/output (I/O) pattern of the write data. For example, the memory controller may determine the I/O pattern of the write data, and the offset information generated as a result of the determination may be transmitted from the memory controller to the nonvolatile memory device.
- In some example embodiments, the distribution deterioration pattern may include a first deterioration pattern associated with the data retention characteristic and a second deterioration pattern associated with the read disturbance characteristic. For example, when the write data is write cold data that is written or programmed less than a predetermined or alternatively, desired first number of times, it may be determined that the write data corresponds to the first deterioration pattern. For example, when the write data is read hot data that is read or retrieved more than a predetermined or alternatively, desired second number of times, it may be determined that the write data corresponds to the second deterioration pattern. Operation S200 will be described in detail with reference to
FIG. 8 . - Although
FIG. 1 illustrates that operation S100 is performed and then operation S200 is performed, example embodiments are not limited thereto, and operations S100 and S200 may be substantially simultaneously or concurrently performed. - When the offset information is received, the write data is programed based on the offset information such that at least one state among a plurality of states included in a distribution of threshold voltages of memory cells in which the write data is stored is changed (operation S300). For example, the plurality of states may include a plurality of program states, and the write data may be programmed such that only some or a part of the plurality of program states is changed.
- In some example embodiments, the plurality of states may include a first state through an N-th state, where N is a natural number greater than or equal to two. For example, the first state may correspond to the lowest voltage level, and the N-th state may correspond to the highest voltage level. For example, when the write data corresponds to the first deterioration pattern, the write data may be programmed such that an interval between an (N−1)-th state and the N-th state increases. For example, when the write data corresponds to the second deterioration pattern, the write data may be programmed such that an interval between the first state and a second state increases. Operation S300 will be described in detail with reference to
FIGS. 9 through 20 . - In a nonvolatile memory device such as a NAND flash memory device, data is maintained in the form of distribution (e.g., a distribution of cells or a distribution of threshold voltages of cells) when data is programmed. Such distribution varies or moves due to deterioration and/or degradation, and program parameters are set or controlled to overcome the variation of distribution. Among various program parameters, a verification level may be used to designate or set a starting position for each state in the distribution. If an interval (or gap) between verification levels of two adjacent states is relatively wide, it may represent that the margin for the distribution between the two adjacent states is relatively wide, and thus it may represent that the two adjacent states are relatively strong or robust in the deterioration that causes the variation of distribution. However, if all verification levels are fixed, it may be difficult to efficiently overcome all types of the deterioration that may occur on write data.
- In the method of writing data in the nonvolatile memory device according to example embodiments, the I/O pattern of the write data to be programmed may be checked in real time or during runtime. When a specific or predetermined or alternatively, desired pattern is detected, a specific verification level may be adjusted or controlled such that the margin for specific states corresponding to the deterioration vulnerable to the specific pattern increases (e.g., such that an interval between adjacent states increases). Information associated with or related to the adjusted verification level may be provided as the offset information together with the write data. Accordingly, the deterioration of the write data may be efficiently reduced or prevented and the reliability may be improved or enhanced.
-
FIG. 2 is a block diagram illustrating a memory system according to example embodiments. - Referring to
FIG. 2 , amemory system 10 includes amemory controller 20 and anonvolatile memory device 40. Thememory system 10 may further include a plurality ofsignal lines 30 that electrically connect thememory controller 20 with thenonvolatile memory device 40. - The
nonvolatile memory device 40 is controlled by thememory controller 20. For example, based on requests from a host device (e.g., ahost device 1100 inFIG. 23 ), thememory controller 20 may store (e.g., write or program) data into thenonvolatile memory device 40, or may retrieve (e.g., read or sense) data from thenonvolatile memory device 40. - The plurality of
signal lines 30 may include control lines, command lines, address lines, data input/output (I/O) lines and power lines. Thememory controller 20 may transmit a command CMD, an address ADDR and a control signal CTRL to thenonvolatile memory device 40 via the command lines, the address lines and the control lines, may exchange a data signal DAT with thenonvolatile memory device 40 via the data I/O lines, and may transmit a power supply voltage PWR to thenonvolatile memory device 40 via the power lines. Although not illustrated inFIG. 2 , the plurality ofsignal lines 30 may further include data strobe signal (DQS) lines for transmitting a DQS signal. In some example embodiments, at least a part or all of the plurality ofsignal lines 30 may be referred to as a channel. -
FIG. 3 is a block diagram illustrating a nonvolatile memory device according to example embodiments. - Referring to
FIG. 3 , anonvolatile memory device 100 includes amemory cell array 110, anaddress decoder 120, apage buffer circuit 130, a data input/output (I/O)circuit 140, avoltage generator 150 and/or acontrol circuit 160. - The
memory cell array 110 is connected to theaddress decoder 120 via a plurality of string selection lines SSL, a plurality of wordlines WL and a plurality of ground selection lines GSL. Thememory cell array 110 is further connected to thepage buffer circuit 130 via a plurality of bitlines BL. Thememory cell array 110 may include a plurality of memory cells (e.g., a plurality of nonvolatile memory cells) that are connected to the plurality of wordlines WL and the plurality of bitlines BL. Thememory cell array 110 may be divided into a plurality of memory blocks BLK1, BLK2, . . . , BLKz each of which includes memory cells. In addition, each of the plurality of memory blocks BLK1, BLK2, . . . , BLKz may be divided into a plurality of pages. - In some example embodiments, as will be described with reference to
FIGS. 4 and 5 , thememory cell array 110 may be a three-dimensional (3D) memory cell array, which is formed on a substrate in a three-dimensional structure (or a vertical structure). In some example embodiments, thememory cell array 110 may include a plurality of cell strings (e.g., a plurality of vertical NAND strings) that are vertically oriented such that at least one memory cell is located over another memory cell. - The
control circuit 160 receives a command CMD and an address ADDR from an outside (e.g., from a memory controller), and control erasure, programming and read operations of thenonvolatile memory device 100 based on the command CMD and the address ADDR. An erasure operation may include performing a sequence of erase loops, and a program operation may include performing a sequence of program loops. Each program loop may include a program operation and a program verification operation. Each erase loop may include an erase operation and an erase verification operation. The read operation may include a normal read operation and data recover read operation. - For example, the
control circuit 160 may generate control signals CON, which are used for controlling thevoltage generator 150, and may generate control signal PBC for controlling thepage buffer circuit 130, based on the command CMD, and may generate a row address R_ADDR and a column address C_ADDR based on the address ADDR. Thecontrol circuit 160 may provide the row address R_ADDR to theaddress decoder 120 and may provide the column address C_ADDR to the data I/O circuit 140. - The
control circuit 160 may perform the method of writing data according to example embodiments described with reference toFIG. 1 . For example, thecontrol circuit 160 may receive offset information OFS that represents a verification level and is provided when write data corresponds to a predetermined or alternatively, desired distribution deterioration pattern, and may control the program loops of thenonvolatile memory device 100 based on the offset information OFS. In addition, thecontrol circuit 160 may perform a method of writing data according to example embodiments which will be described with reference toFIGS. 21 and 22 . - The
address decoder 120 may be connected to thememory cell array 110 via the plurality of string selection lines SSL, the plurality of wordlines WL and the plurality of ground selection lines GSL. - For example, in the data erase/write/read operations, the
address decoder 120 may determine at least one of the plurality of wordlines WL as a selected wordline, and may determine the rest or remainder of the plurality of wordlines WL other than the selected wordline as unselected wordlines, based on the row address R_ADDR. - In addition, in the data erase/write/read operations, the
address decoder 120 may determine at least one of the plurality of string selection lines SSL as a selected string selection line, and may determine the rest or remainder of the plurality of string selection lines SSL other than the selected string selection line as unselected string selection lines, based on the row address R_ADDR. - Further, in the data erase/write/read operations, the
address decoder 120 may determine at least one of the plurality of ground selection lines GSL as a selected ground selection line, and may determine the rest or remainder of the plurality of ground selection lines GSL other than the selected ground selection line as unselected ground selection lines, based on the row address R_ADDR. - The
voltage generator 150 may generate voltages VS that are required for an operation of thenonvolatile memory device 100 based on a power PWR and the control signals CON. The voltages VS may be applied to the plurality of string selection lines SSL, the plurality of wordlines WL and the plurality of ground selection lines GSL via theaddress decoder 120. In addition, thevoltage generator 150 may generate an erase voltage VERS that is required for the data erase operation based on the power PWR and the control signals CON. The erase voltage VERS may be applied to thememory cell array 110 directly or via the bitline BL. - For example, during the erase operation, the
voltage generator 150 may apply the erase voltage VERS to a common source line and/or the bitline BL of a memory block (e.g., a selected memory block) and may apply an erase permission voltage (e.g., a ground voltage) to all wordlines of the memory block or a portion of the wordlines via theaddress decoder 120. In addition, during the erase verification operation, thevoltage generator 150 may apply the erase verification voltage VEVFY simultaneously to all wordlines of the memory block or sequentially to the wordlines one by one. - For example, during the program operation, the
voltage generator 150 may apply a program voltage to the selected wordline and may apply a program pass voltage to the unselected wordlines via theaddress decoder 120. In addition, during the program verification operation, thevoltage generator 150 may apply a program verification voltage to the selected wordline and may apply a verification pass voltage to the unselected wordlines via theaddress decoder 120. - In addition, during the normal read operation, the
voltage generator 150 may apply a read voltage to the selected wordline and may apply a read pass voltage to the unselected wordlines via theaddress decoder 120. During the data recover read operation, thevoltage generator 150 may apply the read voltage to a wordline adjacent to the selected wordline and may apply a recover read voltage to the selected wordline via theaddress decoder 120. - The
page buffer circuit 130 may be connected to thememory cell array 110 via the plurality of bitlines BL. Thepage buffer circuit 130 may include a plurality of page buffers. In some example embodiments, each page buffer may be connected to one bitline. In other example embodiments, each page buffer may be connected to two or more bitlines. - The
page buffer circuit 130 may store data DAT to be programmed into thememory cell array 110 or may read data DAT sensed from thememory cell array 110. In other words, thepage buffer circuit 130 may operate as a write driver or a sensing amplifier according to an operation mode of thenonvolatile memory device 100. - The data I/
O circuit 140 may be connected to thepage buffer circuit 130 via data lines DL. The data I/O circuit 140 may provide the data DAT from the outside of thenonvolatile memory device 100 to thememory cell array 110 via thepage buffer circuit 130 or may provide the data DAT from thememory cell array 110 to the outside of thenonvolatile memory device 100, based on the column address C_ADDR. -
FIG. 4 is a perspective view of an example of a memory block included in a memory cell array included in a nonvolatile memory device ofFIG. 3 . - Referring to
FIG. 4 , a memory block BLKi includes a plurality of cell strings (e.g., a plurality of vertical NAND strings) which are formed on a substrate in a three-dimensional structure (or a vertical structure). The memory block BLKi includes structures extending along first, second and third directions D1, D2 and D3. - A
substrate 111 is provided. For example, thesubstrate 111 may have a well of a first type of charge carrier impurity (e.g., a first conductivity type) therein. For example, thesubstrate 111 may have a p-well formed by implanting agroup 3 element such as boron (B). In particular, thesubstrate 111 may have a pocket p-well provided within an n-well. In some example embodiments, thesubstrate 111 has a p-type well (or a p-type pocket well). However, the conductive type of thesubstrate 111 is not limited to p-type. - A plurality of
doping regions substrate 111. These plurality ofdoping regions 311 to 314 may have a second type of charge carrier impurity (e.g., a second conductivity type) different from the first type of thesubstrate 111. In some example embodiments according to the inventive concepts, the first tofourth doping regions 311 to 314 may have n-type. However, the conductive type of the first tofourth doping regions 311 to 314 is not limited to n-type. - A plurality of
insulation materials 112 extending along the first direction D1 are sequentially provided along the third direction D3 on a region of thesubstrate 111 between the first andsecond doping regions insulation materials 112 are provided along the third direction D3, being spaced by a specific distance. For example, theinsulation materials 112 may include an insulation material such as an oxide layer. - A plurality of
pillars 113 penetrating the insulation materials along the third direction D3 are sequentially disposed along the first direction D1 on a region of thesubstrate 111 between the first andsecond doping regions pillars 113 penetrate theinsulation materials 112 to contact thesubstrate 111. - In some example embodiments, each
pillar 113 may include a plurality of materials. For example, achannel layer 114 of eachpillar 113 may include a silicon material having a first conductivity type. For example, thechannel layer 114 of eachpillar 113 may include a silicon material having the same conductivity type as thesubstrate 111. In some example embodiments according to the inventive concepts, thechannel layer 114 of eachpillar 113 includes p-type silicon. However, thechannel layer 114 of eachpillar 113 is not limited to the p-type silicon. - An
internal material 115 of eachpillar 113 includes an insulation material. For example, theinternal material 115 of eachpillar 113 may include an insulation material such as a silicon oxide. In some examples, theinternal material 115 of eachpillar 113 may include an air gap. The term “air” as discussed herein, may refer to atmospheric air, or other gases that may be present during the manufacturing process. - An insulation layer 116 is provided along the exposed surfaces of the
insulation materials 112, thepillars 113, and thesubstrate 111, on a region between the first andsecond doping regions insulation material 112 may be interposed betweenpillars 113 and a plurality of stacked firstconductive materials conductive materials 211 to 291 corresponding to ground selection lines GSL (e.g., 211) and string selection lines SSL (e.g., 291). In some example embodiments, the ground selection lines GSL are the lowermost ones of the stack of firstconductive materials 211 to 291 and the string selection lines SSL are the uppermost ones of the stack of firstconductive materials 211 to 291. - The plurality of first
conductive materials 211 to 291 are provided on surfaces of the insulation layer 116, in a region between the first andsecond doping regions conductive material 211 extending along the first direction D1 is provided between theinsulation material 112 adjacent to thesubstrate 111 and thesubstrate 111. In more detail, the firstconductive material 211 extending along the first direction D1 is provided between the insulation layer 116 at the bottom of theinsulation material 112 adjacent to thesubstrate 111 and thesubstrate 111. - A first conductive material extending along the first direction D1 is provided between the insulation layer 116 at the top of the specific insulation material among the
insulation materials 112 and the insulation layer 116 at the bottom of a specific insulation material among theinsulation materials 112. For example, a plurality of firstconductive materials 221 to 281 extending along the first direction D1 are provided between theinsulation materials 112 and it may be understood that the insulation layer 116 is provided between theinsulation materials 112 and the firstconductive materials 221 to 281. The firstconductive materials 211 to 291 may be formed of a conductive metal, but in other example embodiments according to the inventive concepts the firstconductive materials 211 to 291 may include a conductive material such as a polysilicon. - The same structures as those on the first and
second doping regions third doping regions third doping regions insulation materials 112 are provided, which extend along the first direction D1. And, a plurality ofpillars 113 are provided that are disposed sequentially along the first direction D1 and penetrate the plurality ofinsulation materials 112 along the third direction D3. An insulation layer 116 is provided on the exposed surfaces of the plurality ofinsulation materials 112 and the plurality ofpillars 113, and a plurality of firstconductive materials 211 to 291 extend along the first direction D1. Similarly, the same structures as those on the first andsecond doping regions fourth doping regions - A plurality of
drain regions 320 are provided on the plurality ofpillars 113, respectively. Thedrain regions 320 may include silicon materials doped with a second type of charge carrier impurity. For example, thedrain regions 320 may include silicon materials doped with an n-type dopant. In some example embodiments according to the inventive concepts, thedrain regions 320 include n-type silicon materials. However, thedrain regions 320 are not limited to n-type silicon materials. - On the drain regions, a plurality of second
conductive materials conductive materials 331 to 333 are disposed along the first direction D1, being spaced apart from each other by a specific distance. The secondconductive materials 331 to 333 are respectively connected to thedrain regions 320 in a corresponding region. Thedrain regions 320 and the secondconductive material 333 extending along the second direction D2 may be connected through each contact plug. Each contact plug may be, for example, a conductive plug formed of a conductive material such as a metal. The secondconductive materials 331 to 333 may include metal materials. The secondconductive materials 331 to 333 may include conductive materials such as a polysilicon. - In an example of
FIG. 4 , the firstconductive materials 211 to 291 may be used to form the wordlines WL, the string selection lines SSL and the ground selection lines GSL. For example, the firstconductive materials 221 to 281 may be used to form the wordlines WL, where conductive materials belonging to the same layer may be interconnected. The secondconductive materials 331 to 333 may be used to form the bitlines BL. The number of layers of the firstconductive materials 211 to 291 may be changed variously according to process and control techniques. -
FIG. 5 is a circuit diagram illustrating an equivalent circuit of a memory block described with reference toFIG. 4 . - A memory block BLKi of
FIG. 5 may be formed on a substrate in a three-dimensional structure (or a vertical structure). For example, a plurality of NAND strings included in the memory block BLKi may be formed in a direction perpendicular to the substrate. - Referring to
FIG. 5 , the memory block BLKi may include a plurality of NAND strings NS11, NS12, NS13, NS21, NS22, NS23, NS31, NS32 and NS33 connected between bitlines BL1, BL2 and BL3 and a common source line CSL. Each of the NAND strings NS11 to NS33 may include a string selection transistor SST, a plurality of memory cells MC1, MC2, MC3, MC4, MC5, MC6, MC7 and MC8, and a ground selection transistor GST. For example, the bitlines BL1 to BL3 may correspond to the secondconductive materials 331 to 333 inFIG. 4 , and the common source line CSL may be formed by interconnecting the first tofourth doping regions 311 to 314 inFIG. 4 . - Each string selection transistor SST may be connected to a corresponding string selection line (one of SSL1, SSL2 and SSL3). The plurality of memory cells MC1 to MC8 may be connected to corresponding wordlines WL1, WL2, WL3, WL4, WL5, WL6, WL7 and WL8, respectively. Each ground selection transistor GST may be connected to a corresponding ground selection line (one of GSL1, GSL2 and GSL3). Each string selection transistor SST may be connected to a corresponding bitline (e.g., one of BL1 to BL3), and each ground selection transistor GST may be connected to the common source line CSL. In an example of
FIG. 5 , some of the string selection transistors SST are connected to the same bitline (e.g., one of BL1 to BL3) to connect corresponding NAND strings to the same bitline up appropriate selection via selection voltages applied to the appropriate sting selection lines SSL1 to SSL3 and ground selection lines GSL1 to GSL3. - The cell strings connected in common to one bitline may form one column, and the cell strings connected to one string selection line may form one row. For example, the cell strings NS11, NS21 and NS31 connected to the first bitline BL1 may correspond to a first column, and the cell strings NS11, NS12 and NS13 connected to the first string selection line SSL1 may form a first row.
- Wordlines (e.g., WL1) having the same height may be commonly connected, and the ground selection lines GSL1 to GSL3 and the string selection lines SSL1 to SSL3 may be separated. Memory cells located at the same semiconductor layer share a wordline. Cell strings in the same row share a string selection line. The common source line CSL is connected in common to all of cell strings.
- In
FIG. 5 , the memory block BLKi is illustrated to be connected to eight wordlines WL1 to WL8 and three bitlines BL1 to BL3, and each of the NAND strings NS11 to NS33 is illustrated to include eight memory cells MC1 to MC8. However, example embodiments are not limited thereto. In some example embodiments, each memory block may be connected to any number of wordlines and bitlines, and each NAND string may include any number of memory cells. - A three-dimensional vertical array structure may include vertical NAND strings that are vertically oriented such that at least one memory cell is located over another memory cell. The at least one memory cell may comprise a charge trap layer. The following patent documents, which are hereby incorporated by reference in their entirety, describe suitable configurations for a memory cell array including a 3D vertical array structure, in which the three-dimensional memory array is configured as a plurality of levels, with wordlines and/or bitlines shared between levels: U.S. Pat. Nos. 7,679,133; 8,553,466; 8,654,587; 8,559,235; and US Pat. Pub. No. 2011/0233648.
- Although the memory cell array included in the nonvolatile memory device according to example embodiments is described based on a NAND flash memory device, the nonvolatile memory device according to example embodiments may be any nonvolatile memory device, e.g., a phase random access memory (PRAM), a resistive random access memory (RRAM), a nano floating gate memory (NFGM), a polymer random access memory (PoRAM), a magnetic random access memory (MRAM), a ferroelectric random access memory (FRAM), a thyristor random access memory (TRAM), or the like.
-
FIG. 6 is a block diagram illustrating an example of a memory controller included in a memory system according to example embodiments. - Referring to
FIG. 6 , amemory controller 400 may include aprocessor 410, amemory 420, aparameter manager 430, ahost interface 440, an error correction code (ECC)engine 450, amemory interface 460 and/or an advanced encryption standard (AES)engine 470. - The
processor 410 may control an operation of thememory controller 400 in response to a command received via thehost interface 440 from a host device (e.g., thehost device 1100 inFIG. 23 ). For example, theprocessor 410 may control an operation of a memory system (e.g., thememory system 10 ofFIG. 2 ), and may control respective components by employing firmware for operating the memory system. - The
memory 420 may store instructions and data executed and processed by theprocessor 410. For example, thememory 420 may be implemented with a volatile memory device, such as a dynamic random access memory (DRAM), a static random access memory (SRAM), a cache memory, or the like. - The
parameter manager 430 may be used to perform the method of writing data according to example embodiments described with reference toFIG. 1 . For example, theparameter manager 430 may perform operation S200 inFIG. 1 . Theparameter manager 430 may include an I/O pattern detection unit (IPDU) 432 that detects or senses an I/O pattern of write data, and a verification level control unit (VLCU) 434 that controls or adjusts a verification level. The verificationlevel control unit 434 may include a preset (or predetermined or alternatively, desired) look-up table (LUT) 436 that is used to control or adjust the verification level. For example, the look-up table 436 may include a relationship between the I/O pattern of the write data and an optimal or improved verification level therefor. In some example embodiments, at least a part of theparameter manager 430 may be implemented as hardware. For example, at least a part of theparameter manager 430 may be included in a computer-based electronic system. In other example embodiments, at least a part of theparameter manager 430 may be implemented as instruction codes or program routines (e.g., a software program). For example, the instruction codes or the program routines may be executed by a computer-based electronic system, and may be stored in any storage device located inside or outside the computer-based electronic system. - The
ECC engine 450 for error correction may perform coded modulation using a Bose-Chaudhuri-Hocquenghem (BCH) code, a low density parity check (LDPC) code, a turbo code, a Reed-Solomon code, a convolution code, a recursive systematic code (RSC), a trellis-coded modulation (TCM), a block coded modulation (BCM), etc., or may perform ECC encoding and ECC decoding using above-described codes or other error correction codes. - The
host interface 440 may provide physical connections between the host device and the memory system. Thehost interface 440 may provide an interface corresponding to a bus format of the host device for communication between the host device and the memory system. In some example embodiments, the bus format of the host device may be a small computer system interface (SCSI) or a serial attached SCSI (SAS) interface. In other example embodiments, the bus format of the host device may be a USB, a peripheral component interconnect (PCI) express (PCIe), an advanced technology attachment (ATA), a parallel ATA (PATA), a serial ATA (SATA), a nonvolatile memory (NVM) express (NVMe), etc., format. - The
memory interface 460 may exchange data with a nonvolatile memory device (e.g., thenonvolatile memory device 40 inFIG. 2 ). Thememory interface 460 may transfer data to the nonvolatile memory device, or may receive data read from the nonvolatile memory device. In some example embodiments, thememory interface 460 may be connected to the nonvolatile memory device via one channel. In other example embodiments, thememory interface 460 may be connected to the nonvolatile memory device via two or more channels. For example, thememory interface 460 may be configured to comply with a standard protocol, such as Toggle or open NAND flash interface (ONFI). - The
AES engine 470 may perform at least one of an encryption operation and a decryption operation on data input to thememory controller 400 by using a symmetric-key algorithm. Although not illustrated in detail, theAES engine 470 may include an encryption module and a decryption module. For example, the encryption module and the decryption module may be implemented as separate modules. For another example, one module capable of performing both encryption and decryption operations may be implemented in theAES engine 470. -
FIG. 7 is a block diagram illustrating a memory system according to example embodiments. - Referring to
FIG. 7 , amemory system 50 may include amemory device 500 and amemory controller 600.FIG. 7 illustrates an interface between thememory device 500 and thememory controller 600 in detail. - The
memory device 500 may include first to eighth pins P11, P12, P13, P14, P15, P16, P17 and P18, amemory interface circuit 510, acontrol logic circuit 520 and amemory cell array 530. - The
memory interface circuit 510 may receive a chip enable signal nCE from thememory controller 600 through the first pin P11. Thememory interface circuit 510 may transmit and receive signals to and from thememory controller 600 through the second to eighth pins P12 to P18 in response to the chip enable signal nCE. For example, when the chip enable signal nCE is in an enable state (e.g., a low level), thememory interface circuit 510 may transmit and receive signals to and from thememory controller 600 through the second to eighth pins P12 to P18. - The
memory interface circuit 510 may receive a command latch enable signal CLE, an address latch enable signal ALE and a write enable signal nWE from thememory controller 600 through the second to fourth pins P12 to P14. Thememory interface circuit 510 may receive a data signal DQ from thememory controller 600 through the seventh pin P17 or may transmit the data signal DQ to thememory controller 600. A command CMD, an address ADDR and data DATA may be transmitted via the data signal DQ. For example, the data signal DQ may be transmitted through a plurality of data signal lines. In some example embodiments, the seventh pin P17 may include a plurality of pins respectively corresponding to a plurality of data signals DQ(s). - The
memory interface circuit 510 may obtain the command CMD from the data signal DQ, which is received in an enable section (e.g., a high-level state) of the command latch enable signal CLE based on toggle time points of the write enable signal nWE. Thememory interface circuit 510 may obtain the address ADDR from the data signal DQ, which is received in an enable section (e.g., a high-level state) of the address latch enable signal ALE based on the toggle time points of the write enable signal nWE. - In some example embodiments, the write enable signal nWE may be maintained at a static state (e.g., a high level or a low level) and may toggle between the high level and the low level. For example, the write enable signal nWE may toggle in a section in which the command CMD or the address ADDR is transmitted. Thus, the
memory interface circuit 510 may obtain the command CMD or the address ADDR based on the toggle time points of the write enable signal nWE. - The
memory interface circuit 510 may receive a read enable signal nRE from thememory controller 600 through the fifth pin P15. Thememory interface circuit 510 may receive a data strobe signal DQS from thememory controller 600 through the sixth pin P16 or may transmit the data strobe signal DQS to thememory controller 600. - In a data output operation of the
memory device 500, thememory interface circuit 510 may receive the read enable signal nRE, which toggles through the fifth pin P15, before outputting the data DATA. Thememory interface circuit 510 may generate the data strobe signal DQS, which toggles based on the toggling of the read enable signal nRE. For example, thememory interface circuit 510 may generate the data strobe signal DQS, which starts toggling after a predetermined or alternatively, desired delay (e.g., tDQSRE), based on a toggling start time of the read enable signal nRE. Thememory interface circuit 510 may transmit the data signal DQ including the data DATA based on a toggle time point of the data strobe signal DQS. Thus, the data DATA may be aligned with the toggle time point of the data strobe signal DQS and may be transmitted to thememory controller 600. - In a data input operation of the
memory device 500, when the data signal DQ including the data DATA is received from thememory controller 600, thememory interface circuit 510 may receive the data strobe signal DQS, which toggles, along with the data DATA from thememory controller 600. Thememory interface circuit 510 may obtain the data DATA from the data signal DQ based on toggle time points of the data strobe signal DQS. For example, thememory interface circuit 510 may sample the data signal DQ at rising and falling edges of the data strobe signal DQS and may obtain the data DATA. - In some example embodiments, the command CMD, the address ADDR and the data DATA that are obtained based on the write enable signal nWE and the data strobe signal DQS may correspond to a command, an address and data that are used to perform the data write operation according to example embodiments.
- The
memory interface circuit 510 may transmit a ready/busy output signal nR/B to thememory controller 600 through the eighth pin P18. Thememory interface circuit 510 may transmit state information of thememory device 500 through the ready/busy output signal nR/B to thememory controller 600. When thememory device 500 is in a busy state (e.g., when operations are being performed in the memory device 500), thememory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the busy state to thememory controller 600. When thememory device 500 is in a ready state (e.g., when operations are not performed or are completed in the memory device 500), thememory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the ready state to thememory controller 600. For example, while thememory device 500 is reading the data DATA from thememory cell array 530 in response to a page read command, thememory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the busy state (e.g., a low level) to thememory controller 600. For example, while thememory device 500 is programming the data DATA to thememory cell array 530 in response to a program command, thememory interface circuit 510 may transmit the ready/busy output signal nR/B indicating the busy state to thememory controller 600. - The
control logic circuit 520 may control overall operations of thememory device 500. Thecontrol logic circuit 520 may receive the command CMD and the address ADDR obtained from thememory interface circuit 510. Thecontrol logic circuit 520 may generate control signals for controlling other components of thememory device 500 in response to the received command CMD and the received address ADDR. For example, thecontrol logic circuit 520 may generate various control signals for programming the data DATA to thememory cell array 530 or for reading the data DATA from thememory cell array 530. - The
memory cell array 530 may store the data DATA obtained from thememory interface circuit 510, under the control of thecontrol logic circuit 520. Thememory cell array 530 may output the stored data DATA to thememory interface circuit 510 under the control of thecontrol logic circuit 520. - The
memory cell array 530 may include a plurality of memory cells. For example, the plurality of memory cells may be flash memory cells. However, example embodiments are not limited thereto, and the memory cells may be RRAM cells, FRAM cells, PRAM cells, thyristor RAM (TRAM) cells, MRAM cells, or the like. Hereinafter, an example in which the memory cells are NAND flash memory cells will mainly be described. - The
memory controller 600 may include first to eighth pins P21, P22, P23, P24, P25, P26, P27 and P28 and acontroller interface circuit 610. The first to eighth pins P21 to P28 may correspond to the first to eighth pins P11 to P18 of thememory device 500, respectively. - The
controller interface circuit 610 may transmit the chip enable signal nCE to thememory device 500 through the first pin P21. Thecontroller interface circuit 610 may transmit and receive signals to and from thememory device 500, which is selected by the chip enable signal nCE, through the second to eighth pins P22 to P28. - The
controller interface circuit 610 may transmit the command latch enable signal CLE, the address latch enable signal ALE and the write enable signal nWE to thememory device 500 through the second to fourth pins P22 to P24. Thecontroller interface circuit 610 may transmit or receive the data signal DQ to and from thememory device 500 through the seventh pin P27. - The
controller interface circuit 610 may transmit the data signal DQ including the command CMD or the address ADDR to thememory device 500 along with the write enable signal nWE, which toggles. Thecontroller interface circuit 610 may transmit the data signal DQ including the command CMD to thememory device 500 by transmitting the command latch enable signal CLE having an enable state. Also, thecontroller interface circuit 610 may transmit the data signal DQ including the address ADDR to thememory device 500 by transmitting the address latch enable signal ALE having an enable state. - The
controller interface circuit 610 may transmit the read enable signal nRE to thememory device 500 through the fifth pin P25. Thecontroller interface circuit 610 may receive or transmit the data strobe signal DQS from or to thememory device 500 through the sixth pin P26. - In the data output operation of the
memory device 500, thecontroller interface circuit 610 may generate the read enable signal nRE, which toggles, and may transmit the read enable signal nRE to thememory device 500. For example, before outputting the data DATA, thecontroller interface circuit 610 may generate the read enable signal nRE, which is changed from a static state (e.g., a high level or a low level) to a toggling state. Thus, thememory device 500 may generate the data strobe signal DQS, which toggles, based on the read enable signal nRE. Thecontroller interface circuit 610 may receive the data signal DQ including the data DATA along with the data strobe signal DQS, which toggles, from thememory device 500. Thecontroller interface circuit 610 may obtain the data DATA from the data signal DQ based on a toggle time point of the data strobe signal DQS. - In the data input operation of the
memory device 500, thecontroller interface circuit 610 may generate the data strobe signal DQS, which toggles. For example, before transmitting the data DATA, thecontroller interface circuit 610 may generate the data strobe signal DQS, which is changed from a static state (e.g., a high level or a low level) to a toggling state. Thecontroller interface circuit 610 may transmit the data signal DQ including the data DATA to thememory device 500 based on toggle time points of the data strobe signal DQS. - The
controller interface circuit 610 may receive the ready/busy output signal nR/B from thememory device 500 through the eighth pin P28. Thecontroller interface circuit 610 may determine state information of thememory device 500 based on the ready/busy output signal nR/B. -
FIG. 8 is a flowchart illustrating an example of receiving offset information inFIG. 1 . - Referring to
FIGS. 1 and 8 , in operation S200, the I/O pattern of the write data may be detected (operation S210). For example, operation S210 may be performed by the I/Opattern detection unit 432 inFIG. 6 . - In some example embodiments, the I/O pattern of the write data may be detected based on the write address. For example, the I/O pattern of the write data may be recognized or identified depending on the locality (or hotness) of the write address tracked in real time (or during runtime). For example, the locality of the write address may be checked using a counter. For another example, the locality of the write address may be tracked and/or predicted using various machine learning schemes. For example, as will be described with reference to
FIG. 23 , a neural processing unit (NPU) for performing the machine learning may be used. - In other example embodiments, the I/O pattern of the write data may be detected based on the number of times the write data is accessed. For example, the I/O pattern of the write data may be recognized or identified depending on an access pattern tracked in real time. For example, when the number of access times (or access frequency) of a specific data is relatively high (e.g., higher than the reference number of times), the data may be classified as hot data. When the number of access times of a specific data is relatively low (e.g., lower than the reference number of times), the data may be classified as cold data.
- When the write data corresponds to the distribution deterioration pattern and it is required to change the verification level (operation S220: YES), an optimal or improved verification level may be selected (operation S230), and the offset information including the optimal or improved verification level may be generated and provided (operation S240). For example, operations S220, S230 and S240 may be performed by the verification
level control unit 434 and the look-up table 436 inFIG. 6 . - In some example embodiments, the I/O pattern of the write data may include write hot data, write cold data, read hot data and read cold data that are classified depending on the address, the locality of data and/or the number of access times of data.
- In some example embodiments, the deterioration of distribution may include the data retention deterioration and the read disturbance deterioration. The data retention deterioration may affect an upper state among a plurality of states included in a distribution of threshold voltages of memory cells, and the read disturbance deterioration may affect a lower state among the plurality of states. In other words, the upper state may vary or may be changed due to the data retention deterioration, and the lower state may vary or may be changed due to the read disturbance deterioration. The distribution deterioration pattern may include the first deterioration pattern vulnerable (or weak) to the data retention deterioration and the second deterioration pattern vulnerable to the read disturbance deterioration.
- In some example embodiments, when the write data is the write cold data, e.g., when a write operation for the write address is performed with a relatively small number of times, it may be determined that the write data corresponds to the first deterioration pattern, and thus a specific verification level may be changed (e.g., the optimal or improved verification level may be re-selected) to improve and/or enhance the reliability of the write data. The write cold data may be data that is to be maintained or left in a storage space for a relatively long time, and a probability of being exposed to the data retention deterioration may be relatively high. Therefore, the reliability of the write cold data may be improved when the write cold data is more resistant or robust to the data retention deterioration. As described above, the data retention deterioration may affect the upper state, and thus, for the write cold data, the verification level may be controlled or adjusted to increase the margin for the upper state. Detailed operations of adjusting the verification level for the write cold data will be described with reference to
FIGS. 10 through 15 . - In some example embodiments, when the write data is the read hot data, e.g., when a read operation for the write address and/or the write data is performed with a relatively large number of times, it may be determined that the write data corresponds to the second deterioration pattern, and thus a specific verification level may be changed (e.g., the optimal or improved verification level is selected) to improve and/or enhance the reliability of the write data. The read hot data may be data that is to be read relatively frequently, and a probability of being exposed to the read disturbance deterioration may be relatively high. Therefore, the reliability of the read hot data may be improved when the read hot data is more resistant or robust to the read disturbance deterioration. As described above, the read disturbance deterioration may affect the lower state, and thus, for the read hot data, the verification level may be controlled or adjusted to increase the margin for the lower state. Detailed operations of adjusting the verification level for the read hot data will be described with reference to
FIGS. 16 through 20 . - In some example embodiments, when selecting the optimal or improved verification level in operation S230, conditions affecting error bits of each page may be considered together. The unit of the read operation may be a page, and the degree to which a plurality of states affects the reliability (e.g., the degree of the error bits) may be different for each page. For example, a specific state of a specific page may have a greater influence on the error bits at the time of reading, and vice versa. Therefore, when the number of the error bits of the specific page increases, the verification level may be additionally adjusted to change the margin for the specific state that affects the error bits of the specific page.
- After operations S230 and S240 are performed, the optimal or improved verification level and/or the offset information representing the optimal or improved verification level may be stored (operation S250). For example, the optimal or improved verification level and/or the offset information may be stored in a parameter storage unit included in a memory controller (e.g., the
memory 420 included in thememory controller 400 inFIG. 6 ). - When the write data does not correspond to the distribution deterioration pattern and it is not required to change the verification level (operation S220: NO), the process may be terminated.
- In some example embodiments, when the write data is the write hot data, e.g., when a write operation for the write address is performed with a relatively large number of times, it may be determined that the write data does not correspond to the first and second deterioration patterns. The write hot data may be data that is to be written relatively frequently and has a relatively high possibility of becoming invalid data, and a probability of being exposed to the data retention deterioration may be relatively low. Therefore, the write hot data may be programmed without adjusting the verification level.
- In some example embodiments, when the write data is the read cold data, e.g., when a read operation for the write address and/or the write data is performed with a relatively small number of times, it may be determined that the write data does not correspond to the first and second deterioration patterns. The read cold data may be read relatively less, and a probability of being exposed to the read disturbance deterioration may be relatively low. Therefore, the read cold data may be programmed without adjusting the verification level.
-
FIG. 9 is a flowchart illustrating an example of programming write data based on offset information inFIG. 1 . - Referring to
FIGS. 1 and 9 , in operation S300, the offset information maybe received (operation S310). At least one verification level among a first verification level through an N-th verification level may be changed based on the offset information (operation S320). The first verification level through the N-th verification level may correspond to a first state through an N-th state, respectively, that are included in the distribution of threshold voltages of the memory cells in which the write data is stored. A program loop may be performed once or more times on the write data based on the first verification level through the N-th verification level including the changed verification level such that at least one state among the first state through the N-th state is changed (operation S330). The optimal or improved verification level may vary depending on the I/O pattern of the write data, and detailed operations will be described later. -
FIG. 10 is a flowchart illustrating an example of a program operation ofFIG. 9 .FIGS. 11 and 12 are diagrams for describing an operation ofFIG. 10 . - Referring to
FIGS. 9, 10, 11 and 12 , in operation S310, first offset information may be received (operation S312). For example, the first offset information may represent that the write data is the write cold data and corresponds to the first deterioration pattern, and may include an optimal or improved verification level for improving the reliability of the write cold data. - In operation S320, the N-th verification level among the first through N-th verification levels may be changed based on the first offset information such that the N-th state among the first through N-th states is changed (operation S322). Among the plurality of states and the plurality of verification levels, the first state and the first verification level may correspond to the lowest voltage level, and the N-th state and the N-th verification level may correspond to the highest voltage level. As described above, for the write cold data, the N-th verification level may be controlled or adjusted to increase the margin for the N-th state, which is the uppermost state.
- In some example embodiments, the verification level may be adjusted as illustrated in
FIG. 11 . In a distribution of threshold voltages VTH illustrated inFIG. 11 , first through N-th states E, P1, P2, . . . , P(N−3), P(N−2) and P(N−1) and first through N-th verification levels VL1, VL2, VL3, . . . , VL(N−2), VL(N−1) and VLN that are illustrated at the upper portion may represent an example before operation S322 is performed, e.g., a distribution of initial threshold voltages. In addition, first through N-th states E, P1, P2, . . . , P(N−3), P(N−2) and P(N−1)′ and first through N-th verification levels VL1, VL2, VL3, . . . , VL(N−2), VL(N−1) and VLN′ that are illustrated at the lower portion may represent an example after operation S322 is performed and the verification level is adjusted. For example, the first state E and the first verification level VL1 may represent an erase state and an erase verification level, and the second through N-th states P1 to P(N−1) and the second through N-th verification levels VL2 to VLN may represent program states and program verification levels. For example, when the memory cells are triple-level cells (TLCs), N may be eight. - For example, when operation S322 is performed, the N-th verification level that is the highest level may increase from VLN to VLN′, and the N-th state that is the uppermost state may be changed from P(N−1) to P(N−1)′. In other words, only one program state and only one program verification level may be changed. Thus, an interval between the (N−1)-th state and the N-th state may increase from VD1 to VD1′ (e.g., an interval between the (N−1)-th verification level and the N-th verification level may increase), and the reliability against the data retention deterioration may be improved as the margin for the N-th state increases. The rest or remainder of the states and the verification levels other than the N-th state and the N-th verification level may be maintained.
- In operation S330, a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed N-th verification level (operation S332). For example, the program loop may include a program operation and a program verification operation. For example, the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion of
FIG. 11 . - In some example embodiments, operation S332 may be performed based on an incremental operation pulse program (ISPP) scheme.
- For example, as illustrated in
FIG. 12 , a plurality of program loops PLOOP1, PLOOP2, PLOOP3, . . . , PLOOPK may be sequentially performed, where K is a natural number greater than or equal to two. For each program loop, one of program operations P01, P02, P03, . . . , POK using a program voltage VPGM and a respective one of program verification operations PV1, PV2, PV3, . . . , PVK using a program verification voltage VPV may be sequentially performed. A level of the program voltage VPGM in a current program loop may be higher than that of the program voltage VPGM in a previous program loop, and the program verification voltage VPV may have a constant level (e.g., a verification level VPVL). For example, the verification level VPVL may correspond to one of the verification levels VL2 to VLN inFIG. 11 . - For example, in the first program loop PLOOP1, the program voltage VPGM may have an initial program level VPLI. In the second program loop PLOOP2, the program voltage VPGM may have a level that is increased by a operation level ΔVP from the initial program level VPLI. In the third program loop PLOOP3, the program voltage VPGM may have a level that is increased by the operation level ΔVP from the level of the program voltage VPGM in the second program loop PLOOP2. In the K-th program loop PLOOPK which is the last program loop, the program voltage VPGM may have a final program level VPLF.
- Although
FIG. 12 illustrates that only the level of the program voltage VPGM increases as the program loop is repeatedly performed, example embodiments are not limited thereto, and the level of the program verification voltage VPV may also increase. In some example embodiments, the level of the program voltage VPGM may decrease and/or the level of the program verification voltage VPV may decrease as the program loop is repeatedly performed. In addition, althoughFIG. 12 illustrates that the level of the program voltage VPGM increases by a fixed level (e.g., the operation level ΔVP), example embodiments are not limited thereto, and the amount of change in the program voltage VPGM may be changed for each program loop. -
FIG. 13 is a flowchart illustrating another example of a program operation ofFIG. 9 .FIGS. 14 and 15 are diagrams for describing an operation ofFIG. 13 . The descriptions repeated withFIGS. 10, 11 and 12 will be omitted. - Referring to
FIGS. 9, 13, 14 and 15 , in operation S310, first offset information may be received (operation S314). The first offset information in operation S314 may be similar to the first offset information in operation S312 ofFIG. 10 , except that an optimal or improved verification level included in the first offset information in operation S314 is different from the optimal or improved verification level included in the first offset information in operation S312. - In operation S320, operation S322 may be the same or substantially the same as operation S322 in
FIG. 10 . In addition, at least one of the first through (N−1)-th verification levels among the first through N-th verification levels other than the N-th verification level changed by operation S322 may be additionally changed based on the first offset information (operation S324). The entire width of the distribution of threshold voltages may be maintained even when the N-th verification level is adjusted to increase the margin for the N-th state by operation S322, and thus operation S324 may be additionally performed for maintaining the entire width of the distribution of threshold voltages. - In some example embodiments, the verification levels may be adjusted as illustrated in
FIG. 14 . In a distribution of threshold voltages VTH illustrated inFIG. 14 , first through N-th states E′, P1, P2, . . . , P(N−3), P(N−2) and P(N−1)′ and first through N-th verification levels VL1′, VL2, VL3, . . . , VL(N−2), VL(N−1) and VLN′ that are illustrated at the lower portion may represent an example after operations S322 and S324 are performed and the verification levels are adjusted. For example, when operation S322 is performed, the N-th verification level may increase from VLN to VLN′, and the N-th state may be changed from P(N−1) to P(N−1)′. In addition, when operation S324 is performed, the first verification level may increase from VL1 to VL1′, and the first state may be changed from E to E′. - In other example embodiments, the verification levels may be adjusted as illustrated in
FIG. 15 . In a distribution of threshold voltages VTH illustrated inFIG. 15 , first through N-th states E′, P1′, P2′, . . . , P(N−3)′, P(N−2) and P(N−1)′ and first through N-th verification levels VL1′, VL2′, VL3′, . . . , VL(N−2)′, VL(N−1) and VLN′ that are illustrated at the lower portion may represent an example after operations S322 and S324 are performed and the verification levels are adjusted. For example, when operation S322 is performed, the N-th verification level may increase from VLN to VLN′, and the N-th state may be changed from P(N−1) to P(N−1)′. In addition, when operation S324 is performed, the first through (N−2)-th verification levels may increase from VL1, VL2, VL3, . . . , VL(N−2) to VL1′, VL2′, VL3′, . . . , VL(N−2)′, respectively, and the first through (N−2)-th states may be changed from E, P1, P2, . . . , P(N−3) to E′, P1′, P2′, . . . , P(N−3)′, respectively. - When the verification levels are adjusted as illustrated in
FIGS. 14 and 15 , the entire width of the distribution of threshold voltages VTH may be maintained to VDT while the margin for the N-th state increases. - In some example embodiments, even when operation S324 is additionally performed, all program verification levels and all program states may not be changed, and at least one program verification level and at least one program state may be maintained. For example, the program verification levels VL2 to VL(N−1) and the program states P1 to P(N−2) may not be changed and may be maintained in an example of
FIG. 14 , and the program verification level VL(N−1) and the program state P(N−2) may not be changed and may be maintained in an example ofFIG. 15 . - In operation S330, a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed verification levels (operation S334). Operation S334 may be the same or substantially the same as operation S332 in
FIG. 10 . For example, the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion ofFIG. 14 orFIG. 15 . -
FIG. 16 is a flowchart illustrating still another example of a program operation ofFIG. 9 .FIG. 17 is a diagram for describing an operation ofFIG. 16 . The descriptions repeated withFIGS. 10, 11 and 12 will be omitted. - Referring to
FIGS. 9, 16 and 17 , in operation S310, second offset information may be received (operation S316). For example, the second offset information may represent that the write data is the read hot data and corresponds to the second deterioration pattern, and may include an optimal or improved verification level for improving the reliability of the read hot data. - In operation S320, the first verification level among the first through N-th verification levels may be changed based on the second offset information such that the first state among the first through N-th states is changed (operation S326). As described above, for the read hot data, the first verification level may be controlled or adjusted to increase the margin for the first state, which is the lowermost state.
- In some example embodiments, the verification level may be adjusted as illustrated in
FIG. 17 . In a distribution of threshold voltages VTH illustrated inFIG. 17 , first through N-th states E″, P1, P2, . . . , P(N−3), P(N−2) and P(N−1) and first through N-th verification levels VL1″, VL2, VL3, . . . , VL(N−2), VL(N−1), VLN that are illustrated at the lower portion may represent an example after operation S326 is performed and the verification level is adjusted. - For example, when operation S326 is performed, the first verification level that is the lowest level may decrease from VL1 to VL1″, and the first state that is the lowermost state may be changed from E to E″. Thus, an interval between the first state and the second state may increase from VD2 to VD2′ (e.g., an interval between the first verification level and the second verification level may increase), and the reliability against the read disturbance deterioration may be improved as the margin for the first state increases. The rest or remainder of the states and the verification levels other than the first state and the first verification level may be maintained.
- In operation S330, a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed first verification level (operation S336). Operation S336 may be the same or substantially the same as operation S332 in
FIG. 10 . For example, the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion ofFIG. 17 . -
FIG. 18 is a flowchart illustrating still another example of a program operation ofFIG. 9 .FIGS. 19 and 20 are diagrams for describing an operation ofFIG. 18 . The descriptions repeated withFIGS. 10, 11, 12, 16 and 17 will be omitted. - Referring to
FIGS. 9, 18, 19 and 20 , in operation S310, second offset information may be received (operation S318). The second offset information in operation S318 may be similar to the second offset information in operation S316 ofFIG. 16 , except that an optimal or improved verification level included in the second offset information in operation S318 is different from the optimal or improved verification level included in the second offset information in operation S316. - In operation S320, operation S326 may be the same or substantially the same as operation S326 in
FIG. 16 . In addition, at least one of the second through N-th verification levels among the first through N-th verification levels other than the first verification level changed by operation S326 may be additionally changed based on the second offset information (operation S328). The entire width of the distribution of threshold voltages may be maintained even when the first verification level is adjusted to increase the margin for the first state by operation S326, and thus operation S328 may be additionally performed for maintaining the entire width of the distribution of threshold voltages. - In some example embodiments, the verification levels may be adjusted as illustrated in
FIG. 19 . In a distribution of threshold voltages VTH illustrated inFIG. 19 , first through N-th states E“, P1, P2, . . . , P(N−3), P(N−2) and P(N−1)” and first through N-th verification levels VL1″, VL2, VL3, . . . , VL(N−2), VL(N−1) and VLN″ that are illustrated at the lower portion may represent an example after operations S326 and S328 are performed and the verification levels are adjusted. For example, when operation S326 is performed, the first verification level may decrease from VL1 to VL1″, and the first state may be changed from E to E″. In addition, when operation S328 is performed, the N-th verification level may decrease from VLN to VLN″, and the N-th state may be changed from P(N−1) to P(N−1)″. - In other example embodiments, the verification levels may be adjusted as illustrated in
FIG. 20 . In a distribution of threshold voltages VTH illustrated inFIG. 20 , first through N-th states E″, P1, P2″, . . . , P(N−3)″, P(N−2)″ and P(N−1)″ and first through N-th verification levels VL1″, VL2, VL3″, . . . , VL(N−2)″, VL(N−1)″ and VLN″ that are illustrated at the lower portion may represent an example after operations S326 and S328 are performed and the verification levels are adjusted. For example, when operation S326 is performed, the first verification level may decrease from VL1 to VL1″, and the first state may be changed from E to E″. In addition, when operation S328 is performed, the third through N-th verification levels may increase from VL3, . . . , VL(N−2), VL(N−1), VLN to VL3″, . . . , VL(N−2)″, VL(N−1)″, VLN″, respectively, and the third through N-th states may be changed from P2, . . . , P(N−3), P(N−2), P(N−1) to P2″, . . . , P(N−3)″, P(N−2)″, P(N−1)″, respectively. - When the verification levels are adjusted as illustrated in
FIGS. 19 and 20 , the entire width of the distribution of threshold voltages VTH may be maintained to VDT while the margin for the first state increases. - In some example embodiments, even when operation S328 is additionally performed, all program verification levels and all program states may not be changed, and at least one program verification level and at least one program state may be maintained. For example, the program verification levels VL2 to VL(N−1) and the program states P1 to P(N−2) may not be changed and may be maintained in an example of
FIG. 19 , and the program verification level VL2 and the program state P1 may not be changed and may be maintained in an example ofFIG. 20 . - In operation S330, a program loop may be performed once or more times on the write data based on the first through N-th verification levels including the changed verification levels (operation S338). Operation S338 may be the same or substantially the same as operation S336 in
FIG. 16 . For example, the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the lower portion ofFIG. 19 orFIG. 20 . - Although example embodiments are described with reference to
FIGS. 10 through 15 that only the margin for the N-th state increases (e.g., only the interval between the (N−1)-th state and the N-th state increases from VD1 to VD1′), and although example embodiments are described with reference toFIGS. 16 through 20 that only the margin for the first state increases (e.g., only the interval between the first state and the second state increases from VD2 to VD2′), example embodiments are not limited thereto, and the margin for at least one of other states may be additionally changed. For example, as described with reference toFIG. 8 , the margin for at least one of other states that affects the error bits of each page may be additionally changed. - Although example embodiments are described with reference to
FIGS. 8 through 20 based on specific I/O patterns of the write data, specific deterioration patterns, specific distributions of threshold voltages and specific verification levels, example embodiments are not limited thereto. For example, example embodiments may be extended, applied or employed to examples where an arbitrary verification level in an arbitrary distribution of threshold voltages is adjusted to improve the reliability when the I/O pattern of the write data corresponds to an arbitrary deterioration pattern that causes the variation of distribution. -
FIGS. 21 and 22 are flowcharts illustrating a method of writing data in a nonvolatile memory device according to example embodiments. The descriptions repeated withFIG. 1 will be omitted. - Referring to
FIG. 21 , in a method of writing data in a nonvolatile memory device according to example embodiments, operation S100 may be the same or substantially the same as operation S100 inFIG. 1 . - It is determined, by checking the I/O pattern of the write data, whether the write data corresponds to the distribution deterioration pattern (operation S410).
- When the write data corresponds to the distribution deterioration pattern (operation S410: YES), the offset information is received (operation S420). Operations S410 and S420 may correspond to operation S200 in
FIG. 1 . Operation S300 performed when the offset information is received may be the same or substantially the same as operation S300 inFIG. 1 . - When the write data does not correspond to the distribution deterioration pattern (operation S410: NO), the offset information is not received (or non-received) (operation S430). When the offset information is not received, the write data is programmed such that all of the plurality of states included in the distribution of threshold voltages of the memory cells in which the write data is stored are maintained (operation S500). For example, the program loop may be repeatedly performed to form the distribution of threshold voltages VTH illustrated in the upper portion of
FIG. 11 . - Referring to
FIG. 22 , in a method of writing data in a nonvolatile memory device according to example embodiments, operations S100, S200 and S300 may be the same or substantially the same as operations S100, S200 and S300 inFIG. 1 , respectively. - The look-up table used to select the optimal or improved verification level is updated in real time (operation S600). The look-up table may be used to generate the offset information in operation S200, and may be used to perform operation S230 in
FIG. 8 . For example, the look-up table 436 inFIG. 6 may correspond to the look-up table in operation S600. - In some example embodiments, the look-up table may be updated in real time based on program/erase (P/E) cycle information. In other example embodiments, the look-up table may be updated in real time based on at least one of other information associated with operations and/or characteristics of the nonvolatile memory device.
- As will be appreciated by those skilled in the art, the inventive concepts may be embodied as a system, method, computer program product, and/or a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. The computer readable program code may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, the computer readable medium may be a non-transitory computer readable medium.
- One or more of the elements disclosed above may include or be implemented in one or more processing circuitries such as hardware including logic circuits; a hardware/software combination such as a processor executing software; or a combination thereof. For example, the processing circuitries more specifically may include, but is not limited to, a central processing unit (CPU), an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a System-on-Chip (SoC), a programmable logic unit, a microprocessor, application-specific integrated circuit (ASIC), etc.
-
FIG. 23 is a block diagram illustrating a storage device and a storage system including the storage device according to example embodiments. - Referring to
FIG. 23 , astorage system 1000 includes ahost device 1100 and astorage device 1200. - The
host device 1100 controls overall operations of thestorage system 1000. Although not illustrated inFIG. 23 , thehost device 1100 may include a host processor and a host memory. The host processor may control an operation of thehost device 1100. For example, the host processor may execute an operating system (OS). The host memory may store instructions and/or data that are executed and/or processed by the host processor. For example, the operating system executed by the host processor may include a file system for file management and a device driver for controlling peripheral devices including thestorage device 1200 at the operating system level. - The
storage device 1200 is accessed by thehost device 1100. Thestorage device 1200 includes astorage controller 1210, a plurality of nonvolatile memories (NVMs) 1220 a, 1220 b and 1220 c, and abuffer memory 1230. - The
storage controller 1210 may control an operation of thestorage device 1200 and/or operations of the plurality ofnonvolatile memories host device 1100. The plurality ofnonvolatile memories nonvolatile memories buffer memory 1230 may store instructions and/or data that are executed and/or processed by thestorage controller 1210, and may temporarily store data stored in or to be stored into the plurality ofnonvolatile memories memory system 10 ofFIG. 2 and/or thememory system 50 ofFIG. 7 may be implemented in the form of thestorage device 1200. For example, thestorage controller 1210 may correspond to thememory controller 20 inFIG. 2 and/or thememory controller 600 inFIG. 7 , and thenonvolatile memories nonvolatile memory device 40 inFIG. 2 and/or thememory device 500 inFIG. 7 . - A parameter manager (PM) 1212 included in the
storage controller 1210 may correspond to theparameter manager 430 inFIG. 6 . In some example embodiments, thestorage controller 1210 may further include a neural processing unit (NPU) 1214 for detecting the I/O pattern of the write data. - In some example embodiments, the
storage device 1200 may be a solid state drive (SSD), a universal flash storage (UFS), a multi-media card (MMC) or an embedded multi-media card (eMMC). In other example embodiments, thestorage device 1200 may be one of a secure digital (SD) card, a micro SD card, a memory stick, a chip card, a universal serial bus (USB) card, a smart card, a compact flash (CF) card, or the like. - The inventive concepts may be applied to various electronic devices and systems that include the nonvolatile memory devices and the storage devices. For example, the inventive concepts may be applied to systems such as a personal computer (PC), a server computer, a data center, a workstation, a mobile phone, a smart phone, a tablet computer, a laptop computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a digital camera, a portable game console, a music player, a camcorder, a video player, a navigation device, a wearable device, an internet of things (IoT) device, an internet of everything (IoE) device, an e-book reader, a virtual reality (VR) device, an augmented reality (AR) device, a robotic device, a drone, etc.
- The foregoing is illustrative of example embodiments and is not to be construed as limiting thereof. Although some example embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from the novel teachings and advantages of the example embodiments. Accordingly, all such modifications are intended to be included within the scope of the example embodiments as defined in the claims. Therefore, it is to be understood that the foregoing is illustrative of various example embodiments and is not to be construed as limited to the specific example embodiments disclosed, and that modifications to the disclosed example embodiments, as well as other example embodiments, are intended to be included within the scope of the appended claims.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200163790A KR20220075571A (en) | 2020-11-30 | 2020-11-30 | Method of writing data in nonvolatile memory device, nonvolatile memory device performing the same and method of operating memory system using the same |
KR10-2020-0163790 | 2020-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220172794A1 true US20220172794A1 (en) | 2022-06-02 |
US11862261B2 US11862261B2 (en) | 2024-01-02 |
Family
ID=81586179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/393,797 Active 2041-08-14 US11862261B2 (en) | 2020-11-30 | 2021-08-04 | Method of writing data in nonvolatile memory device, nonvolatile memory device performing the same and method of operating memory system using the same |
Country Status (4)
Country | Link |
---|---|
US (1) | US11862261B2 (en) |
KR (1) | KR20220075571A (en) |
CN (1) | CN114582401A (en) |
DE (1) | DE102021119963A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024215465A1 (en) * | 2023-04-11 | 2024-10-17 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | System and methods for determining an optimal data relocation at an individual read disturb event using multiple write streams |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9025374B2 (en) * | 2012-12-13 | 2015-05-05 | Sandisk Technologies Inc. | System and method to update read voltages in a non-volatile memory in response to tracking data |
US9431125B2 (en) * | 2013-03-15 | 2016-08-30 | Sandisk Technologies Llc | Method and system for adaptive setting of verify levels in flash memory |
US10109353B2 (en) * | 2016-07-01 | 2018-10-23 | Toshiba Memory Corporation | Memory device |
US20190362796A1 (en) * | 2018-05-28 | 2019-11-28 | Essencore Limited | Method of operating storage device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100732631B1 (en) | 2006-02-01 | 2007-06-27 | 삼성전자주식회사 | Program method capable of compensating read margin reduced due to charge loss |
KR101226685B1 (en) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | Vertical type semiconductor device and Method of manufacturing the same |
KR101691092B1 (en) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | Nonvolatile memory device, operating method thereof and memory system including the same |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
KR101682666B1 (en) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | Nonvolatile memory devicwe, channel boosting method thereof, programming method thereof, and memory system having the same |
KR101942863B1 (en) | 2012-06-19 | 2019-01-28 | 삼성전자주식회사 | Non-volatile memory device and program method thereof |
US10096355B2 (en) | 2015-09-01 | 2018-10-09 | Sandisk Technologies Llc | Dynamic management of programming states to improve endurance |
KR102456118B1 (en) | 2016-02-24 | 2022-10-19 | 에스케이하이닉스 주식회사 | Data storage device and operating method thereof |
KR102395196B1 (en) | 2017-10-17 | 2022-05-06 | 삼성전자주식회사 | Storage device having parameter calibration function and method of operating the storage device |
KR102421103B1 (en) | 2018-01-04 | 2022-07-14 | 에스케이하이닉스 주식회사 | Controller, memory system including the same and operating methods of the controller and the memory system |
-
2020
- 2020-11-30 KR KR1020200163790A patent/KR20220075571A/en not_active Application Discontinuation
-
2021
- 2021-08-02 DE DE102021119963.8A patent/DE102021119963A1/en active Pending
- 2021-08-04 US US17/393,797 patent/US11862261B2/en active Active
- 2021-10-21 CN CN202111228000.3A patent/CN114582401A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9025374B2 (en) * | 2012-12-13 | 2015-05-05 | Sandisk Technologies Inc. | System and method to update read voltages in a non-volatile memory in response to tracking data |
US9431125B2 (en) * | 2013-03-15 | 2016-08-30 | Sandisk Technologies Llc | Method and system for adaptive setting of verify levels in flash memory |
US10109353B2 (en) * | 2016-07-01 | 2018-10-23 | Toshiba Memory Corporation | Memory device |
US20190362796A1 (en) * | 2018-05-28 | 2019-11-28 | Essencore Limited | Method of operating storage device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024215465A1 (en) * | 2023-04-11 | 2024-10-17 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | System and methods for determining an optimal data relocation at an individual read disturb event using multiple write streams |
Also Published As
Publication number | Publication date |
---|---|
CN114582401A (en) | 2022-06-03 |
KR20220075571A (en) | 2022-06-08 |
US11862261B2 (en) | 2024-01-02 |
DE102021119963A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10332607B2 (en) | Methods of operating a nonvolatile memory device and the nonvolatile memory device thereof | |
KR102512448B1 (en) | Memory system and operation method thereof | |
US9256530B2 (en) | Nonvolatile memory device and sub-block managing method thereof | |
US10146474B2 (en) | Memory system and operating method of memory system | |
US8942046B2 (en) | Method of programming a 3-dimensional nonvolatile memory device based on a program order of a selected page and a location of a string selection line | |
US9378824B2 (en) | Memory system and operation method thereof | |
US8861276B2 (en) | Nonvolatile memory device, memory system comprising same, and method of operating same | |
US10146480B2 (en) | Memory system and operating method of memory system | |
KR102452994B1 (en) | Semiconductor memory device and method for operating the same | |
US20170242786A1 (en) | Memory system and operation method thereof | |
US9741440B2 (en) | Memory device and read method of memory device | |
CN105718378B (en) | Storage system and operation method thereof | |
TWI720985B (en) | Memory system and operation method for the same | |
TWI699770B (en) | Memory system and operation method thereof | |
CN111128280B (en) | Memory device and method of operating the same | |
US20170060470A1 (en) | Memory system and operating method thereof | |
US11928338B2 (en) | Method of measuring durability of nonvolatile memory device and method of performing wear-leveling in storage device using the same | |
US11862261B2 (en) | Method of writing data in nonvolatile memory device, nonvolatile memory device performing the same and method of operating memory system using the same | |
US9892035B2 (en) | Memory system for storing data corresponding to logical addresses into physical location accessible using interleaving, and operation method thereof | |
US20190243576A1 (en) | Storage device and method of operating the same | |
US20240038316A1 (en) | Program refresh with gate-induced drain leakage | |
US12073895B2 (en) | Ganged single level cell verify in a memory device | |
US20230197164A1 (en) | Bias voltage schemes during pre-programming and programming phases | |
US11380403B2 (en) | Method of erasing data in nonvolatile memory device, nonvolatile memory device performing the same and memory controller performing the same | |
US20230268003A1 (en) | Selective increase and decrease to pass voltages for programming a memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, KWANGWOO;KIM, CHANHA;LEE, HEEWON;REEL/FRAME:057118/0010 Effective date: 20210716 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |