US20120287720A1 - Semiconductor memory device and method of programming the same - Google Patents
Semiconductor memory device and method of programming the same Download PDFInfo
- Publication number
- US20120287720A1 US20120287720A1 US13/453,960 US201213453960A US2012287720A1 US 20120287720 A1 US20120287720 A1 US 20120287720A1 US 201213453960 A US201213453960 A US 201213453960A US 2012287720 A1 US2012287720 A1 US 2012287720A1
- Authority
- US
- United States
- Prior art keywords
- program
- voltage
- word line
- bit line
- voltages
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- 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
-
- 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
Definitions
- Embodiments of the present invention relate to a semiconductor memory device and a method of programming the same, and more particularly to a semiconductor memory device and a method of programming the same, which can improve the program accuracy by adaptively adjusting program voltages of memory cells.
- a semiconductor memory device may be classified into a volatile memory device and a nonvolatile memory device depending on whether stored data is lost or not when a power is not supplied thereto.
- the nonvolatile memory device includes an Electrically Erasable and Programmable Read Only Memory (EEPROM) device.
- EEPROM Electrically Erasable and Programmable Read Only Memory
- Various embodiments of the invention are directed to providing a semiconductor memory device that can improve the program accuracy of memory cells by adjusting program voltages supplied to bit lines and word lines depending on characteristics of each memory cell.
- a method of programming a semiconductor memory device comprises classifying memory cells to be programmed based on program characteristics of the memory cells, wherein the memory cells are coupled to the selected word line, and sequentially providing word line program voltages having increasing voltage levels and bit line program voltages having decreasing voltage levels which are different to each other with respect to the classified memory cells in a program operation, wherein differently classified two memory cells receive different bit line program voltages, respectively.
- the classifying memory cells includes a first step of performing a first program on the memory cells based on an address signal to classify the memory cells where the first program is performed into first to third status cells.
- the sequentially providing of the word line and the bit line program voltages comprises a second step of applying first to third word line program voltages whose voltage levels sequentially increase through the selected word line, a third step of providing a first bit line program voltage to the first status cell while the first to third word line program voltages are applied, a fourth step of providing the first bit line program voltage to the second status cell while the first word line program voltage is applied and a second bit line program voltage to the second status cells while the second and third word line program voltages are applied, and a fifth step of providing the first bit line program voltage to the third status cell while the first word line program voltage is applied, the second bit line program voltage to the third status cell while the second word line program voltage is applied and a third bit line program voltage to the third status cell while the third word line program voltage is applied.
- the first to third status cells respectively correspond to a fast cell, a typical cell and a slow cell.
- the classifying of the memory cells into the first to third status cells comprises applying a program word line voltage having a predetermined voltage level to the memory cells to be programmed to perform the first program, and classifying the memory cells where the first program is performed into the first to third status cells based on first and second classifying verification voltages.
- the second to fifth steps constitute one program loop and the method further comprises, performing a verification operation on the memory cells after the one program loop is completed based on first to third verification voltages to re-classify the first to third status cells.
- the method further comprises repeating the program loop as increasing voltage levels of the first to third word line program voltages until all of the memory cells are determined passed memory cells where a program is completed.
- the first word line program voltage used in a current program loop has a greater voltage level than the third word line program voltage used in a previous program loop.
- the method further comprises providing a program inhibition voltage through a bit line to a memory cell determined as a passed memory cell by a verification result while a next program loop is performed.
- the classifying of the memory cells into the first to third status cells comprises storing the address signal of the memory cells and the statuses of the cells.
- a semiconductor memory device comprises a memory cell array, a program control unit, a voltage generator, a row decoder, and a column decoder.
- the memory cell array includes memory cells to be programmed, which are coupled to a selected word line.
- the program control unit classifies statuses of the memory cells and generates a row voltage control signal and a column voltage control signal.
- the voltage generator generates word line program voltages and bit line program voltages.
- the row decoder provides the word line program voltages whose voltage levels sequentially increase in one program loop to the selected word line in response to the row voltage control signal.
- the column decoder provides the bit line program voltages whose voltage levels are different depending on the statuses of the memory cells to bit lines coupled to the memory cells in response to the column voltage control signal.
- the program control unit comprises a verification circuit verifies a program result on the memory cells to generate a verification signal, a program control circuit classifies the statuses of the memory cells based on the verification signal to generate the row voltage control signal and the column voltage control signal, and a cell status storage circuit stores addresses of the memory cells and the classified statuses of the memory cells.
- the memory cells are classified into a fast cell, a typical cell and a slow cell. While the word line program voltages are applied to the selected word line in response to the row voltage control signal, the column decoder provides, in response to the column voltage control signal, a first bit line program voltage to the fast cell, the first and second bit line program voltages to the typical cell, and the first to third bit line program voltages to the slow cell.
- the row decoder provides first to third word line program voltages which sequentially increase in each program loop in response to the row voltage control signal.
- the first bit line program voltage, the second bit line program voltage following the first bit line program voltage, and the third bit line program voltage following the second bit line program voltage have sequentially decreasing values.
- a method of programming a semiconductor memory device comprises providing a memory cell in a memory cell array, the memory cell being coupled to a word line and a bit line, applying a set of word line program voltages to the word line to program the memory cell, and applying a set of bit line voltages to the bit line to program the memory cell while the set of word line program voltages is being applied to the word line, wherein the applied set of bit line voltages is selected from at least first, second, and third sets based on a program characteristic of the memory cell.
- the first set of bit line voltages includes first, second, and third voltages that are different from each other, the second set of bit line voltages includes only the first voltage and the second voltage, and the third set of the bit line voltages includes only the second voltage, the first voltage is the highest potential of the three, the second voltage has an intermediate potential of the three, and the third voltage is the lowest potential of the three.
- the memory cell is part of a string of memory cells in the memory cell array, and the set of word line program voltages includes at least three voltage pulses that progressively increases.
- the set of program word line voltages includes at least three voltage pulses that progressively increase with time, and the set of bit line voltages includes at least three voltage pulses that progressively decreases with time.
- FIG. 1 illustrates a block diagram of a semiconductor memory device according to an embodiment of the present invention.
- FIG. 2 illustrates a memory cell array according to an embodiment of the present invention.
- FIG. 3 a illustrates cell distribution according to cell programming.
- FIG. 3 b illustrates a standard to classify statuses of memory cells while performing a program operation in a semiconductor memory device according to an embodiment of the present invention.
- FIG. 4 a illustrates program voltages applied to a memory cell in a program operation.
- FIG. 4 b illustrates program voltages applied to a memory cell in a program operation of a semiconductor memory device according to an embodiment of the present invention.
- FIG. 5 illustrates voltages supplied to a word line and a bit line of a memory cell array according to an embodiment of the present invention.
- FIG. 6 is a flow chart illustrating a method of programming a semiconductor memory device according to an embodiment of the present invention.
- FIG. 7 illustrates a block diagram of a program control unit in FIG. 1 according to an embodiment of the present invention.
- FIG. 8 illustrates the threshold voltage distribution by phases in a method of programming a semiconductor memory device according to an embodiment of the present invention.
- a flash memory device is configured to perform a program operation of writing data in memory cells, a read operation of reading the written data, and an erase operation of erasing the written data.
- the erase operation of the flash memory device may be performed by a block or sector unit.
- the flash memory device may be classified into a NAND type flash memory device where cell transistors are arranged in series and a NOR type flash memory device where cell transistors are arranged in parallel between a bit line and a ground voltage terminal.
- the NAND type flash memory device may perform program and erase operations at high speed although it is difficult to access data by a byte unit in read and program operations.
- FIG. 1 illustrates a block diagram of a semiconductor memory device according to an embodiment of the present invention.
- the semiconductor memory device 10 includes an address buffer 100 , a voltage generator 200 , a row decoder 300 , a memory cell array 400 , a column decoder 500 , a data input output (I/O) unit 600 , and a program control unit 700 .
- the address buffer 100 receives an address signal ADDR from an external device such as a host or a control unit (not shown) of the semiconductor memory device to provide the address signal ADDR to the row decoder 300 , the column decoder 500 , and the program control unit 700 .
- an external device such as a host or a control unit (not shown) of the semiconductor memory device to provide the address signal ADDR to the row decoder 300 , the column decoder 500 , and the program control unit 700 .
- the voltage generator 200 generates a word line program voltage Vpgm and a bit line program voltage Vb based on a voltage control signal VC provided from the address buffer 100 .
- the word line program voltage Vpgm may increase by AVpgm in each program loop.
- the word line program voltage Vpgm may be a step pulse that increases sequentially in one program loop.
- the word line program voltage Vpgm increases in each program loop.
- the word line program voltage Vpgm according to an embodiment of the present invention may sequentially increase in one program loop.
- the word line program voltage Vpgm in one program loop may have voltage levels that increase in three stages.
- a voltage supplied to a bit line is adjusted depending on the word line program voltage Vpgm increasing in three stages and statuses of memory cells, so that a voltage where a channel of each memory cell is formed may be differently provided to the memory cells.
- the bit line program voltage Vb may include first to third bit line program voltages Vb 1 , Vb 2 and Vb 3 .
- the first to third bit line program voltages Vb 1 , Vb 2 and Vb 3 may have sequentially decreasing values, respectively.
- the semiconductor memory device 10 classifies memory cells where a program operation is to be performed into first to third status cells to provide the first to third status cells with the different bit line program voltages Vb 1 , Vb 2 and Vb 3 while programming each memory cell.
- the word line program voltage Vpgm generated from the voltage generator 200 may be supplied to the memory cell array 400 through the row decoder 300 .
- a program unit may be comprised of pages or sectors.
- the word line program voltage Vpgm may be supplied to a selected word line, and a pass voltage Vpass may be supplied to the non-selected word lines.
- the row decoder 300 provides first to third word line program voltages Vpgm 1 , Vpgm 2 and Vpgm 3 that sequentially increase through the selected word line in response to a row voltage control signal RV.
- a voltage level of each of the word line program voltages Vpgm 1 , Vpgm 2 and Vpgm 3 provided during one program loop may increase during the next program loop.
- the first word line program voltage Vpgm 1 having the smallest voltage level in a corresponding program loop may have a voltage level increased by ⁇ Vpgm from the third word line program voltage Vpgm 3 having the largest voltage level in a previous program loop.
- the word line program voltage Vpgm may be supplied to the memory cell array 400 with a pulse type through the row decoder 300 .
- non-selected memory cells connected to the selected word line are not programmed or a program completion time of each memory cell may be different although the same word line program voltage Vpgm is applied to all of the memory cells connected to the selected word line, a different bit line program voltage Vb is supplied through a bit line connected to each memory cell to control a program operation.
- the memory cell array 400 including a plurality of memory cells coupled between word lines and bit lines stores data and outputs written data based on voltages supplied to the word lines and the bit lines.
- the plurality of memory cells included in the memory cell array 400 may be flash memory cells, each of which stores data based on voltage levels applied to a gate and first and second terminals of a memory cell transistor by a phenomenon that electrons are implanted into a floating gate by a Fowler Nordheim (FN) tunneling effect to differentiate a threshold voltage.
- FN Fowler Nordheim
- the data I/O unit 600 selects one of bit line program voltages Vb based on data DT to supply the selected bit line program voltage Vb to the column decoder 500 .
- the column decoder 500 supplies the received bit line program voltage Vb to memory cells included in the memory cell array 400 through a corresponding bit line.
- the bit line program voltage Vb may be directly supplied to the column decoder 500 and provided to the memory cell array 400 without passing through the data I/O unit 600 .
- the data I/O unit 600 receives data from the memory cell array 400 through selected bit lines during a read operation of the semiconductor memory device 10 , and outputs the data to the exterior or provides a verification voltage for the selected word line in the similar way to the read operation during a verification operation included in the program operation to read the data, thereby supplying the received data as a sense signal to the program control unit 700 .
- the program control unit 700 performs a first program on memory cells where a program operation is supposed to be performed, classifies the memory cells where the program operation is performed into the first to third status cells based on the performed first program result and generates a column voltage control signal CV, so that the column decoder 500 may supply the bit line program voltages Vb 1 , Vb 2 and Vb 3 differently to the first to third status cells.
- the program control unit 700 generates the row voltage control signal RV, thereby supplying the word line program voltage Vpgm suitable for the program operation through the word lines coupled to the memory cell array 400 .
- FIG. 2 illustrates a structure of a part of the memory cell array 400 according to an embodiment of the present invention.
- the memory cell array 400 includes first to fourth bit lines BL 0 , BL 1 , BL 2 and BL 3 , first to fourth word lines WL 0 , WL 1 , WL 2 and WL 3 , a string selection line SSL, a ground selection line GSL, a common source line CSL, and a plurality of memory cells MC.
- a ground selection transistor GST e.g., GST 1
- a plurality of memory cells e.g., MC 01 to MC 31
- a string selection transistor SST e.g., SST 1
- the ground selection transistor GST e.g., GST 1
- the string selection transistor SST is coupled to the bit line BL, e.g., BL 0 .
- FIG. 3 a illustrates the cell distribution according to cell programming
- FIG. 3 b illustrates a standard to classify statuses of memory cells while performing a program operation in a semiconductor memory device according to an embodiment of the present invention.
- an axis X represents a threshold voltage of the memory cells
- an axis Y represents the number of the memory cells having a certain threshold voltage
- the memory cells may have two statuses depending on program conditions.
- the two statuses of the memory cells include an erasure status E having a threshold voltage with a negative value and a program status P having a threshold voltage with a positive value.
- all memory cells included in the memory cell array 400 may release all electrons that remain in each floating gate through a bulk erasure and have the erasure status E.
- the erasure status E and the program status P may respectively correspond to data ‘0’ and ‘1’.
- a verification voltage Vvrf may be used. If the memory cell has a threshold voltage that is higher than the verification voltage Vvrf, the memory cell is determined as having the program status P.
- the word line program voltage Vpgm having a predetermined voltage level is applied to the memory cells that are in the erasure status E so that a first program may be performed on the memory cells.
- FIG. 3 b shows the distribution of the memory cells after the first program is performed.
- memory cells corresponding to a third region III may be classified as a first status cell
- memory cells corresponding to a second region II may be classified as a second status cell
- memory cells corresponding to a first region I may be classified as a third status cell.
- the first status cell may be represented as a fast cell where the program operation is performed in a high speed
- the second status cell may be represented as a typical cell where the program operation is performed in a normal speed
- the third status cell may be represented as a slow cell where the program operation is perform in a low speed.
- FIG. 4 a illustrates program voltages applied to a memory cell in a program operation
- FIG. 4 b illustrates program voltages applied to a memory cell in a program operation of a semiconductor memory device according to an embodiment of the present invention.
- a first terminal T 1 and a second terminal T 2 of each memory cell MC are a drain and a source, respectively, or vice versa.
- the memory cell MC includes a gate G coupled to a word line WL.
- the plurality of memory cells included in the memory cell array 400 stores electrical charges in their floating gates to have different threshold voltages.
- the threshold voltage may be determined depending on a length of a channel based on voltages applied to the gate and the drain.
- a word line program voltage Vpgm having a predetermined value is provided to the word line WL, and voltages having two levels of a first set bit line voltage Vbg 1 and a second set bit line voltage Vbg 2 are provided through the first terminal T 1 coupled to a bit line BL while the word line program voltage Vpgm is provided to the word line WL.
- a voltage having two statuses may be applied to between the gate and the drain in the memory cell MC where the program operation is to be performed, and a verification operation is performed to complete one program loop.
- first to third word line program voltages Vpgm 1 , Vpgm 2 and Vpgm 3 which sequentially increase are applied through the word line WL. While the first to third word line program voltages Vpgm 1 , Vpgm 2 and Vpgm 3 are applied to the word line WL, a bit line voltage applied to the bit line BL may be maintained at the first bit line program voltage Vb 1 , or may be applied with the first bit line program voltage Vb 1 and then decreased to the second program voltage Vb 2 , or may be applied with the first bit line program voltage Vb 1 , decreased to the second bit line program voltage Vb 2 and then further decreased to the third bit line program voltage Vb 3 .
- a channel length of the memory cell MC may be controlled by any of voltages of Vpgm 1 -Vb 1 , Vpgm 1 -Vb 2 , Vpgm 1 -Vb 3 , Vpgm 2 -Vb 1 , Vpgm 2 -Vb 2 , Vpgm 2 -Vb 3 , Vpgm 3 -Vb 1 , Vpgm 3 -Vb 2 , and Vpgm 3 -Vb 3 , so that it is possible to finely control a voltage implanted into a floating gate of the memory cell MC.
- the program operation may be performed smoothly even with a voltage difference between the drain and the gate smaller than that of the first status cell.
- the first status cell and the third status cell may have different sensitivity for implanting the electrons into the floating gate with respect to the same voltage difference between the drain and the gate, which are the bit line and the word line, respectively.
- bit line program voltage Vpgm is applied to the third status cell that is a slow cell, and a bit line program voltage having a constant value is supplied to the first status cell that is a fast cell.
- a bit line program voltage which corresponds to a medium degree of that of the first status cell and that of the third status cell, may be applied to the second status cell that is a typical cell.
- each program loop the statuses of the memory cells are classified based on the different verification voltages to control the program condition of each memory cell and to shorten a program time.
- a method of programming a semiconductor memory device according to an embodiment of the present invention will be described in more detail with reference to FIGS. 5 and 6 .
- FIG. 5 illustrates voltages supplied to the word line WL and the bit line BL of the memory cell array 400
- FIG. 6 is a flow chart illustrating a method of programming a semiconductor memory device according to an embodiment of the present invention.
- ‘VWL’ represents a voltage level applied to the selected word line
- ‘VBL 1 ’, ‘VBL 2 ’, ‘VBL 3 ’, and ‘VBL 4 ’ represent voltage levels applied to the first to fourth bit lines BL 0 , BL 1 , BL 2 , and BL 3 of FIG. 2 , respectively.
- the second word line WL 1 is selected to program memory cells MC 11 , MC 12 , MC 13 , and MC 14 in FIG. 2 is described.
- a first program is performed on the memory cells MC 11 , MC 12 , MC 13 , and MC 14 included in the memory cell array 400 so that the memory cells MC 11 , MC 12 , MC 13 , and MC 14 are classified into the first to third status cells at step S 610 .
- a word line program voltage Vpgm 1 having a predetermined voltage level is applied through the second word line WL 1 .
- the first and second classifying verification voltages Va and Vb are applied to each memory cell to sense whether the memory cell is turned on or not, thereby classifying the memory cell into one of the first to third status cells.
- a period of performing the first program is from the point of time t 1 to a point of time t 5 .
- the memory cell MC 11 is classified as the third status cell
- the memory cells MC 12 and MC 13 are classified as the second status cell
- the memory cell MC 14 is classified as the first status cell.
- a first word line program voltage Vpgm 21 is applied to the second word line WL 1 .
- the first word line program voltage Vpgm 21 may have a voltage level greater than that of the word line program voltage Vpgm 1 supplied to the second word line WL 1 while the first program is performed.
- the first word line program voltage Vpgm 21 may be supplied to the second word line WL 1 by a switching operation performed by the row decoder 300 that receives the first word line program voltage Vpgm 21 generated from the voltage generator 200 of FIG. 1 in response to the row voltage control signal RV supplied from the program control unit 700 .
- the first word line program voltage Vpgm 21 is supplied to the second word line WL 1
- the first bit line program voltage Vb 1 is supplied to the memory cells to be programmed regardless of classification of the memory cells such as the first to third status cells.
- a second word line program voltage Vpgm 22 having a voltage level greater than that of the first word line program voltage Vpgm 21 is applied to the second word line WL 1 .
- the second bit line program voltage Vb 2 smaller than the first bit line program voltage Vb 1 is supplied to the memory cells MC 11 , MC 12 and MC 13 , which are the second and third status cells, and the first bit line program voltage Vb 1 is maintained in the memory cell MC 14 that is the first status cell.
- a relatively great voltage difference is generated in the second and third status cells than in the first status cell so that an amount of electrons implanted into a floating gate of the second or third status cell becomes greater.
- a third word line program voltage Vpgm 23 having a voltage level greater than that of the second word line program voltage Vpgm 22 is applied to the second word line WL 1 .
- the same bit line program voltages Vb 1 and Vb 2 are respectively applied to the first and second status cells, i.e., the memory cells MC 12 , MC 13 , and MC 14 , through the second to fourth bit lines BL 1 , BL 2 and BL 3 .
- the third bit line program voltage Vb 3 smaller than the second bit line program voltage Vb 2 is applied to the third status cell, i.e., the memory cell MC 11 .
- the largest voltage difference may be applied to the third status cell, i.e., the memory cell MC 11 , that is a slow cell at step S 620 .
- a verification operation is performed on the programmed memory cells at step S 630 .
- the verification operation may be performed based on first to third verification voltages Vc, Vd, and Vf.
- the first to third verification voltages Vc, Vd, and Vf may have different values from the first and second classifying verification voltages Va and Vb that were used in the first program to classify the memory cells.
- the memory cell is turned on to supply a consistent voltage to the bit line.
- the memory cells are passed or failed while the first to third status cells are re-classified. That is, when the first to third verification voltages Vc, Vd, and Vf are applied to the second word line WL 1 , the memory cell MC 11 coupled to the first bit line BL 0 is all turned on and thus it is re-classified as the third status cell. When the first verification voltage Vc is applied to the second word line WL 1 , the memory cell MC 12 coupled to the second bit line BL 1 is turned off to have a greater threshold voltage than the first verification voltage Vc.
- the memory cell MC 12 is turned on to have a threshold voltage between the first verification voltage Vc and the second verification voltage Vd, so that the memory cell MC 12 is re-classified as the second status cell.
- the memory cell MC 13 coupled to the third bit line BL 2 is turned off when the first and second verification voltages Vc and Vd are applied to the second word line WL 1 , but it is turned on to have a threshold voltage between the second and third verification voltages Vd and Vf when the third verification voltage Vf is applied to the second word line WL 1 , so that the memory cell MC 13 is re-classified as the first status cell.
- the memory cell MC 14 coupled to the fourth bit line BL 3 is turned off when the first to third verification voltages Vc, Vd, and Vf are applied to the second word line WL 1 , so that the memory cell MC 14 is considered to be the passed memory cell.
- a program inhibition voltage Vinb is applied to the fourth bit line BL 3 .
- each of the verification voltages Vc, Vd, and Vf may be adjusted to have a different value depending on program loops, and the verification voltages Vc, Vd, and Vf may be generated from the voltage generator 200 controlled by the program control unit 700 to be supplied to the word lines of the memory cell array 400 .
- the verification operation is performed to supply the verification voltages to the memory cell array 400 through the row decoder 300 , so that the sense signal may be supplied to the program control unit 700 through the column decoder 500 and the data I/O unit 600 .
- the program control unit 700 stores the addresses and re-classified statuses of the memory cells.
- the next program loop starts from a point of time t 12 .
- first to third word line program voltages Vpgm 31 , Vpgm 32 , and Vpgm 33 which sequentially increase, are supplied to the second word line WL 1
- the first to third bit line program voltages Vb 1 , Vb 2 , and Vb 3 which sequentially decrease, are supplied through the first bit line BL 0 coupled to the memory cell MC 11 classified as the third status cell
- the first and second bit line program voltages Vb 1 and Vb 2 are supplied through the second bit line BL 1 coupled to the memory cell MC 12 classified as the second status cell.
- the first bit line program voltage Vb 1 is supplied with a consistent value.
- the program inhibition voltage Vinb is supplied to the fourth bit line BL 3 coupled to the memory cell MC 14 that is determined as the passed memory cell.
- the first to third word line program voltages Vpgm 31 , Vpgm 32 , and Vpgm 33 may have increased values than the third word line program voltage Vpgm 23 .
- FIG. 7 illustrates a block diagram of the program control unit 700 in FIG. 1 according to an embodiment of the present invention.
- the program control unit 700 includes a program control circuit 710 , a verification circuit 720 and a cell status storage circuit 730 .
- the program control circuit 710 receives the address signal ADDR and a data signal DT to write specific data.
- the program control circuit 710 may receive a verification signal VRF to classify the statuses of the memory cells where the program operation is supposed to be performed and provide the column decoder 500 with the column voltage control signal CV to supply a bit line program voltage having a different voltage level depending on the statuses of the memory cells.
- the program control circuit 710 may provide the row decoder 300 with the row voltage control signal RV to supply a word line program voltage having a voltage level increasing according to the process of the program loop.
- the program control circuit 710 may provide the verification circuit 720 with a verification control signal VCON so as to supply a verification voltage having a different voltage level depending on a verification result.
- the program control circuit 710 stores the addresses and statuses of the memory cells where the program operation is performed in the cell status storage circuit 730 .
- the statuses of the memory cells stored in the cell status storage circuit 730 may be renewed in real time because each status is continuously re-classified as the program loop is progressed.
- the program control unit 700 employed in the semiconductor memory device according to the embodiment of the present invention classifies the statuses of the memory cells to be programmed to control the word line program voltage Vpgm and the bit line program voltage Vb supplied to each memory cell.
- the word line program voltage Vpgm may sequentially increase by the number of the classified statuses of the memory cells in one program loop, and the bit line program voltage Vb may be supplied with different voltage levels by the number of the classified statuses of the memory cells.
- the bit line program voltage Vb may sequentially decrease on the contrary to the word line program voltage Vpgm, or may have a consistent value.
- the bit line program voltage Vb is adjusted to have a different voltage level depending on the classified statuses of the memory cells, so that the voltage difference between the bit line and the word line supplied to each memory cell may change depending on the statuses of the memory cells even in a single program loop.
- the method of programming the semiconductor memory device according to the embodiment of the present invention can improve the accuracy of the program operation and the distribution of the threshold voltages of the memory cells, so that the method may be useful in semiconductor memory devices for storing data of multiple values.
- FIG. 8 illustrates the threshold voltage distribution by phases in a semiconductor memory device according to an embodiment of the present invention.
- memory cells that were in an erasure status at an initial stage are classified into first to third regions I, II and III based on first and second classifying verification voltages Va and Vb after the first program.
- the memory cells in the first to third regions I, II, and III are classified into the first to third status cells to have different distribution characteristics during the program operation.
- one word line program voltage is supplied through a word line, but in a first status cell F (fast cell), the bit line program voltage consistently maintains the first bit line program voltage Vb 1 , so that a range of a threshold voltage of the first status cell F is not greater than that of the other memory cells due to the application of a relatively small voltage difference after the first program.
- the first bit line program voltage Vb 1 and the second bit line program voltage Vb 2 having a smaller voltage level than the first bit line program voltage Vb 1 are sequentially applied thereto, so that a range of a threshold voltage of the second status cell T is greater than that of the first status cell F.
- a third status cell S (slow cell)
- the first, second and third bit line program voltages Vb 1 , Vb 2 and Vb 3 having sequentially decreasing values are continuously provided while the word line program voltage is supplied to the third status cell S, so that the third status cell S may have the greatest range of a threshold voltage.
- the method of programming a semiconductor memory device can improve the program accuracy of memory cells by adjusting word line and bit line program voltages depending on statuses of the memory cells.
- a method of programming a semiconductor memory device includes providing a memory cell in a memory cell array, the memory cell being coupled to a word line and a bit line.
- a set of word line program voltages is applied to the word line to program the memory cell.
- a set of bit line voltages is applied to the bit line to program the memory cell while the set of word line program voltages is being applied to the word line.
- the applied set of bit line voltages is selected from at least first, second, and third sets based on a program characteristic of the memory cell.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
Description
- The priority of Korean patent application No. 10-2011-0044208 filed on May 11, 2011 the disclosure of which is hereby incorporated in its entirety by reference, is claimed.
- Embodiments of the present invention relate to a semiconductor memory device and a method of programming the same, and more particularly to a semiconductor memory device and a method of programming the same, which can improve the program accuracy by adaptively adjusting program voltages of memory cells.
- In generally, a semiconductor memory device may be classified into a volatile memory device and a nonvolatile memory device depending on whether stored data is lost or not when a power is not supplied thereto. The nonvolatile memory device includes an Electrically Erasable and Programmable Read Only Memory (EEPROM) device.
- Various embodiments of the invention are directed to providing a semiconductor memory device that can improve the program accuracy of memory cells by adjusting program voltages supplied to bit lines and word lines depending on characteristics of each memory cell.
- According to an example embodiment of the present invention, a method of programming a semiconductor memory device comprises classifying memory cells to be programmed based on program characteristics of the memory cells, wherein the memory cells are coupled to the selected word line, and sequentially providing word line program voltages having increasing voltage levels and bit line program voltages having decreasing voltage levels which are different to each other with respect to the classified memory cells in a program operation, wherein differently classified two memory cells receive different bit line program voltages, respectively.
- The classifying memory cells includes a first step of performing a first program on the memory cells based on an address signal to classify the memory cells where the first program is performed into first to third status cells.
- The sequentially providing of the word line and the bit line program voltages comprises a second step of applying first to third word line program voltages whose voltage levels sequentially increase through the selected word line, a third step of providing a first bit line program voltage to the first status cell while the first to third word line program voltages are applied, a fourth step of providing the first bit line program voltage to the second status cell while the first word line program voltage is applied and a second bit line program voltage to the second status cells while the second and third word line program voltages are applied, and a fifth step of providing the first bit line program voltage to the third status cell while the first word line program voltage is applied, the second bit line program voltage to the third status cell while the second word line program voltage is applied and a third bit line program voltage to the third status cell while the third word line program voltage is applied.
- The first to third status cells respectively correspond to a fast cell, a typical cell and a slow cell.
- The classifying of the memory cells into the first to third status cells comprises applying a program word line voltage having a predetermined voltage level to the memory cells to be programmed to perform the first program, and classifying the memory cells where the first program is performed into the first to third status cells based on first and second classifying verification voltages.
- The second to fifth steps constitute one program loop and the method further comprises, performing a verification operation on the memory cells after the one program loop is completed based on first to third verification voltages to re-classify the first to third status cells.
- The method further comprises repeating the program loop as increasing voltage levels of the first to third word line program voltages until all of the memory cells are determined passed memory cells where a program is completed.
- The first word line program voltage used in a current program loop has a greater voltage level than the third word line program voltage used in a previous program loop.
- The method further comprises providing a program inhibition voltage through a bit line to a memory cell determined as a passed memory cell by a verification result while a next program loop is performed.
- The classifying of the memory cells into the first to third status cells comprises storing the address signal of the memory cells and the statuses of the cells.
- Voltage levels of the first to third bit line program voltages become smaller sequentially.
- According to an example embodiment of the present invention, a semiconductor memory device comprises a memory cell array, a program control unit, a voltage generator, a row decoder, and a column decoder. The memory cell array includes memory cells to be programmed, which are coupled to a selected word line. The program control unit classifies statuses of the memory cells and generates a row voltage control signal and a column voltage control signal. The voltage generator generates word line program voltages and bit line program voltages. The row decoder provides the word line program voltages whose voltage levels sequentially increase in one program loop to the selected word line in response to the row voltage control signal. The column decoder provides the bit line program voltages whose voltage levels are different depending on the statuses of the memory cells to bit lines coupled to the memory cells in response to the column voltage control signal.
- The program control unit comprises a verification circuit verifies a program result on the memory cells to generate a verification signal, a program control circuit classifies the statuses of the memory cells based on the verification signal to generate the row voltage control signal and the column voltage control signal, and a cell status storage circuit stores addresses of the memory cells and the classified statuses of the memory cells.
- The memory cells are classified into a fast cell, a typical cell and a slow cell. While the word line program voltages are applied to the selected word line in response to the row voltage control signal, the column decoder provides, in response to the column voltage control signal, a first bit line program voltage to the fast cell, the first and second bit line program voltages to the typical cell, and the first to third bit line program voltages to the slow cell.
- The row decoder provides first to third word line program voltages which sequentially increase in each program loop in response to the row voltage control signal. For example, the first bit line program voltage, the second bit line program voltage following the first bit line program voltage, and the third bit line program voltage following the second bit line program voltage have sequentially decreasing values.
- According to an example embodiment of the present invention, a method of programming a semiconductor memory device comprises providing a memory cell in a memory cell array, the memory cell being coupled to a word line and a bit line, applying a set of word line program voltages to the word line to program the memory cell, and applying a set of bit line voltages to the bit line to program the memory cell while the set of word line program voltages is being applied to the word line, wherein the applied set of bit line voltages is selected from at least first, second, and third sets based on a program characteristic of the memory cell.
- The first set of bit line voltages includes first, second, and third voltages that are different from each other, the second set of bit line voltages includes only the first voltage and the second voltage, and the third set of the bit line voltages includes only the second voltage, the first voltage is the highest potential of the three, the second voltage has an intermediate potential of the three, and the third voltage is the lowest potential of the three.
- The memory cell is part of a string of memory cells in the memory cell array, and the set of word line program voltages includes at least three voltage pulses that progressively increases.
- The set of program word line voltages includes at least three voltage pulses that progressively increase with time, and the set of bit line voltages includes at least three voltage pulses that progressively decreases with time.
-
FIG. 1 illustrates a block diagram of a semiconductor memory device according to an embodiment of the present invention. -
FIG. 2 illustrates a memory cell array according to an embodiment of the present invention. -
FIG. 3 a illustrates cell distribution according to cell programming. -
FIG. 3 b illustrates a standard to classify statuses of memory cells while performing a program operation in a semiconductor memory device according to an embodiment of the present invention. -
FIG. 4 a illustrates program voltages applied to a memory cell in a program operation. -
FIG. 4 b illustrates program voltages applied to a memory cell in a program operation of a semiconductor memory device according to an embodiment of the present invention. -
FIG. 5 illustrates voltages supplied to a word line and a bit line of a memory cell array according to an embodiment of the present invention. -
FIG. 6 is a flow chart illustrating a method of programming a semiconductor memory device according to an embodiment of the present invention. -
FIG. 7 illustrates a block diagram of a program control unit inFIG. 1 according to an embodiment of the present invention. -
FIG. 8 illustrates the threshold voltage distribution by phases in a method of programming a semiconductor memory device according to an embodiment of the present invention. - Embodiments of the present invention will be described in detail with reference to the attached drawings.
- A flash memory device is configured to perform a program operation of writing data in memory cells, a read operation of reading the written data, and an erase operation of erasing the written data. The erase operation of the flash memory device may be performed by a block or sector unit. Also, according to a structure of a memory cell array, the flash memory device may be classified into a NAND type flash memory device where cell transistors are arranged in series and a NOR type flash memory device where cell transistors are arranged in parallel between a bit line and a ground voltage terminal. In comparison with the NOR type flash memory device, the NAND type flash memory device may perform program and erase operations at high speed although it is difficult to access data by a byte unit in read and program operations.
-
FIG. 1 illustrates a block diagram of a semiconductor memory device according to an embodiment of the present invention. - Referring to
FIG. 1 , thesemiconductor memory device 10 includes anaddress buffer 100, avoltage generator 200, arow decoder 300, amemory cell array 400, acolumn decoder 500, a data input output (I/O)unit 600, and aprogram control unit 700. - The
address buffer 100 receives an address signal ADDR from an external device such as a host or a control unit (not shown) of the semiconductor memory device to provide the address signal ADDR to therow decoder 300, thecolumn decoder 500, and theprogram control unit 700. - The
voltage generator 200 generates a word line program voltage Vpgm and a bit line program voltage Vb based on a voltage control signal VC provided from theaddress buffer 100. The word line program voltage Vpgm may increase by AVpgm in each program loop. Also, in an embodiment of the present invention, the word line program voltage Vpgm may be a step pulse that increases sequentially in one program loop. - Similar to an incremental step pulse program (ISPP), the word line program voltage Vpgm increases in each program loop. However, the word line program voltage Vpgm according to an embodiment of the present invention may sequentially increase in one program loop. For example, the word line program voltage Vpgm in one program loop may have voltage levels that increase in three stages.
- In this embodiment of the present invention, a voltage supplied to a bit line is adjusted depending on the word line program voltage Vpgm increasing in three stages and statuses of memory cells, so that a voltage where a channel of each memory cell is formed may be differently provided to the memory cells.
- The bit line program voltage Vb may include first to third bit line program voltages Vb1, Vb2 and Vb3. For example, the first to third bit line program voltages Vb1, Vb2 and Vb3 may have sequentially decreasing values, respectively.
- The
semiconductor memory device 10 classifies memory cells where a program operation is to be performed into first to third status cells to provide the first to third status cells with the different bit line program voltages Vb1, Vb2 and Vb3 while programming each memory cell. - The word line program voltage Vpgm generated from the
voltage generator 200 may be supplied to thememory cell array 400 through therow decoder 300. - In the
semiconductor memory device 10, a program unit may be comprised of pages or sectors. The word line program voltage Vpgm may be supplied to a selected word line, and a pass voltage Vpass may be supplied to the non-selected word lines. - The
row decoder 300 provides first to third word line program voltages Vpgm1, Vpgm2 and Vpgm3 that sequentially increase through the selected word line in response to a row voltage control signal RV. A voltage level of each of the word line program voltages Vpgm1, Vpgm2 and Vpgm3 provided during one program loop may increase during the next program loop. According to an embodiment of the present invention, the first word line program voltage Vpgm1 having the smallest voltage level in a corresponding program loop may have a voltage level increased by ΔVpgm from the third word line program voltage Vpgm3 having the largest voltage level in a previous program loop. The word line program voltage Vpgm may be supplied to thememory cell array 400 with a pulse type through therow decoder 300. - Since non-selected memory cells connected to the selected word line are not programmed or a program completion time of each memory cell may be different although the same word line program voltage Vpgm is applied to all of the memory cells connected to the selected word line, a different bit line program voltage Vb is supplied through a bit line connected to each memory cell to control a program operation.
- The
memory cell array 400 including a plurality of memory cells coupled between word lines and bit lines stores data and outputs written data based on voltages supplied to the word lines and the bit lines. - According to an embodiment of the present invention, the plurality of memory cells included in the
memory cell array 400 may be flash memory cells, each of which stores data based on voltage levels applied to a gate and first and second terminals of a memory cell transistor by a phenomenon that electrons are implanted into a floating gate by a Fowler Nordheim (FN) tunneling effect to differentiate a threshold voltage. - The data I/
O unit 600 selects one of bit line program voltages Vb based on data DT to supply the selected bit line program voltage Vb to thecolumn decoder 500. Thecolumn decoder 500 supplies the received bit line program voltage Vb to memory cells included in thememory cell array 400 through a corresponding bit line. However, according to an embodiment of the present invention, the bit line program voltage Vb may be directly supplied to thecolumn decoder 500 and provided to thememory cell array 400 without passing through the data I/O unit 600. - The data I/
O unit 600 receives data from thememory cell array 400 through selected bit lines during a read operation of thesemiconductor memory device 10, and outputs the data to the exterior or provides a verification voltage for the selected word line in the similar way to the read operation during a verification operation included in the program operation to read the data, thereby supplying the received data as a sense signal to theprogram control unit 700. - The
program control unit 700 performs a first program on memory cells where a program operation is supposed to be performed, classifies the memory cells where the program operation is performed into the first to third status cells based on the performed first program result and generates a column voltage control signal CV, so that thecolumn decoder 500 may supply the bit line program voltages Vb1, Vb2 and Vb3 differently to the first to third status cells. - According to an embodiment of the present invention, the
program control unit 700 generates the row voltage control signal RV, thereby supplying the word line program voltage Vpgm suitable for the program operation through the word lines coupled to thememory cell array 400. - The detailed operation of the
program control unit 700 will be described below referring toFIG. 7 . -
FIG. 2 illustrates a structure of a part of thememory cell array 400 according to an embodiment of the present invention. - Referring to
FIG. 2 , thememory cell array 400 includes first to fourth bit lines BL0, BL1, BL2 and BL3, first to fourth word lines WL0, WL1, WL2 and WL3, a string selection line SSL, a ground selection line GSL, a common source line CSL, and a plurality of memory cells MC. - In one cell string coupled to one bit line, e.g., BL0, a ground selection transistor GST, e.g., GST1, a plurality of memory cells, e.g., MC01 to MC31, and a string selection transistor SST, e.g., SST1, are connected in series. The ground selection transistor GST, e.g., GST1, is coupled to the common source line CSL and the string selection transistor SST, e.g., SST1, is coupled to the bit line BL, e.g., BL0.
-
FIG. 3 a illustrates the cell distribution according to cell programming, andFIG. 3 b illustrates a standard to classify statuses of memory cells while performing a program operation in a semiconductor memory device according to an embodiment of the present invention. - In
FIGS. 3 a and 3 b, an axis X represents a threshold voltage of the memory cells, and an axis Y represents the number of the memory cells having a certain threshold voltage. - Referring to
FIG. 3 a, the memory cells may have two statuses depending on program conditions. The two statuses of the memory cells include an erasure status E having a threshold voltage with a negative value and a program status P having a threshold voltage with a positive value. Before the program operation is performed, all memory cells included in thememory cell array 400 may release all electrons that remain in each floating gate through a bulk erasure and have the erasure status E. According to an embodiment of the present invention, the erasure status E and the program status P may respectively correspond to data ‘0’ and ‘1’. - In order to determine whether a memory cell where the program operation is supposed to be performed has the program status P or not, a verification voltage Vvrf may be used. If the memory cell has a threshold voltage that is higher than the verification voltage Vvrf, the memory cell is determined as having the program status P.
- However, it may take a considerable time to program a plurality of memory cells to have a threshold voltage that is higher than the verification voltage Vvrf. As shown in
FIG. 3 a, since the memory cells have the Gaussian distribution in each of the erasure status E and the program status P, there is a deviation between a program performance time of memory cells distributed in the edge and a program performance time of average memory cells distributed around a center of the Gaussian distribution. - In the method of programming the semiconductor memory device according to the embodiment of the present invention, the word line program voltage Vpgm having a predetermined voltage level is applied to the memory cells that are in the erasure status E so that a first program may be performed on the memory cells.
-
FIG. 3 b shows the distribution of the memory cells after the first program is performed. Based on first and second classifying verification voltages Va and Vb, memory cells corresponding to a third region III may be classified as a first status cell, memory cells corresponding to a second region II may be classified as a second status cell, and memory cells corresponding to a first region I may be classified as a third status cell. According to an embodiment of the present invention, the first status cell may be represented as a fast cell where the program operation is performed in a high speed, the second status cell may be represented as a typical cell where the program operation is performed in a normal speed, and the third status cell may be represented as a slow cell where the program operation is perform in a low speed. - Since an expected program time of each memory cell is predicted based on the threshold voltage distribution of the memory cells where the first program is performed, different bit line program voltages may be supplied to the first to third status cells in a subsequent program.
-
FIG. 4 a illustrates program voltages applied to a memory cell in a program operation, andFIG. 4 b illustrates program voltages applied to a memory cell in a program operation of a semiconductor memory device according to an embodiment of the present invention. - In
FIGS. 4 a and 4 b, a first terminal T1 and a second terminal T2 of each memory cell MC are a drain and a source, respectively, or vice versa. The memory cell MC includes a gate G coupled to a word line WL. - As described above, the plurality of memory cells included in the
memory cell array 400 stores electrical charges in their floating gates to have different threshold voltages. The threshold voltage may be determined depending on a length of a channel based on voltages applied to the gate and the drain. - Referring to
FIG. 4 a, a word line program voltage Vpgm having a predetermined value is provided to the word line WL, and voltages having two levels of a first set bit line voltage Vbg1 and a second set bit line voltage Vbg2 are provided through the first terminal T1 coupled to a bit line BL while the word line program voltage Vpgm is provided to the word line WL. - In this case, a voltage having two statuses may be applied to between the gate and the drain in the memory cell MC where the program operation is to be performed, and a verification operation is performed to complete one program loop.
- In the program method shown in
FIG. 4 a, while the program loop is performed, a method of increasing or decreasing the speed of the program operation on the memory cell MC is used. As a result, it is difficult to predict a program completion time, so that the program accuracy is difficult to obtain. - Referring to
FIG. 4 b, first to third word line program voltages Vpgm1, Vpgm2 and Vpgm3 which sequentially increase are applied through the word line WL. While the first to third word line program voltages Vpgm1, Vpgm2 and Vpgm3 are applied to the word line WL, a bit line voltage applied to the bit line BL may be maintained at the first bit line program voltage Vb1, or may be applied with the first bit line program voltage Vb1 and then decreased to the second program voltage Vb2, or may be applied with the first bit line program voltage Vb1, decreased to the second bit line program voltage Vb2 and then further decreased to the third bit line program voltage Vb3. - When the program operation is performed as shown in
FIG. 4 b, a channel length of the memory cell MC may be controlled by any of voltages of Vpgm1-Vb1, Vpgm1-Vb2, Vpgm1-Vb3, Vpgm2-Vb1, Vpgm2-Vb2, Vpgm2-Vb3, Vpgm3-Vb1, Vpgm3-Vb2, and Vpgm3-Vb3, so that it is possible to finely control a voltage implanted into a floating gate of the memory cell MC. - For example, although the same voltage difference is generated between the drain and the gate, in case of the third status cell (slow cell) having a large amount of electrons implanted into the floating gate, the program operation may be performed smoothly even with a voltage difference between the drain and the gate smaller than that of the first status cell. In detail, the first status cell and the third status cell may have different sensitivity for implanting the electrons into the floating gate with respect to the same voltage difference between the drain and the gate, which are the bit line and the word line, respectively.
- Since the word line WL is commonly coupled to a plurality of memory cells where the program operation is performed, it is difficult to apply the word line program voltage Vpgm differently to the memory cells depending on the cell status. In this regard, a sequentially decreasing bit line program voltage is applied to the third status cell that is a slow cell, and a bit line program voltage having a constant value is supplied to the first status cell that is a fast cell. A bit line program voltage, which corresponds to a medium degree of that of the first status cell and that of the third status cell, may be applied to the second status cell that is a typical cell.
- Also, in each program loop, the statuses of the memory cells are classified based on the different verification voltages to control the program condition of each memory cell and to shorten a program time.
- A method of programming a semiconductor memory device according to an embodiment of the present invention will be described in more detail with reference to
FIGS. 5 and 6 . -
FIG. 5 illustrates voltages supplied to the word line WL and the bit line BL of thememory cell array 400, andFIG. 6 is a flow chart illustrating a method of programming a semiconductor memory device according to an embodiment of the present invention. - Referring to
FIG. 5 , ‘VWL’ represents a voltage level applied to the selected word line, and ‘VBL1’, ‘VBL2’, ‘VBL3’, and ‘VBL4’ represent voltage levels applied to the first to fourth bit lines BL0, BL1, BL2, and BL3 ofFIG. 2 , respectively. Hereinafter, a case the second word line WL1 is selected to program memory cells MC11, MC12, MC13, and MC14 inFIG. 2 is described. - A first program is performed on the memory cells MC11, MC12, MC13, and MC14 included in the
memory cell array 400 so that the memory cells MC11, MC12, MC13, and MC14 are classified into the first to third status cells at step S610. From a point of time t1 to a point of time t2, a word line program voltage Vpgm1 having a predetermined voltage level is applied through the second word line WL1. - The first and second classifying verification voltages Va and Vb are applied to each memory cell to sense whether the memory cell is turned on or not, thereby classifying the memory cell into one of the first to third status cells. A period of performing the first program is from the point of time t1 to a point of time t5.
- For example, as a result of the first program, the memory cell MC11 is classified as the third status cell, the memory cells MC12 and MC13 are classified as the second status cell, and the memory cell MC14 is classified as the first status cell.
- From the point of time t5 to a point of time t6, a first word line program voltage Vpgm21 is applied to the second word line WL1. The first word line program voltage Vpgm21 may have a voltage level greater than that of the word line program voltage Vpgm1 supplied to the second word line WL1 while the first program is performed.
- The first word line program voltage Vpgm21 may be supplied to the second word line WL1 by a switching operation performed by the
row decoder 300 that receives the first word line program voltage Vpgm21 generated from thevoltage generator 200 ofFIG. 1 in response to the row voltage control signal RV supplied from theprogram control unit 700. - While the first word line program voltage Vpgm21 is supplied to the second word line WL1, the first bit line program voltage Vb1 is supplied to the memory cells to be programmed regardless of classification of the memory cells such as the first to third status cells.
- From the point of time t6 to a point of time t7, a second word line program voltage Vpgm22 having a voltage level greater than that of the first word line program voltage Vpgm21 is applied to the second word line WL1. During this period, the second bit line program voltage Vb2 smaller than the first bit line program voltage Vb1 is supplied to the memory cells MC11, MC12 and MC13, which are the second and third status cells, and the first bit line program voltage Vb1 is maintained in the memory cell MC14 that is the first status cell. As a result, a relatively great voltage difference is generated in the second and third status cells than in the first status cell so that an amount of electrons implanted into a floating gate of the second or third status cell becomes greater.
- From the point of time t7 to a point of time t8, a third word line program voltage Vpgm23 having a voltage level greater than that of the second word line program voltage Vpgm22 is applied to the second word line WL1. The same bit line program voltages Vb1 and Vb2 are respectively applied to the first and second status cells, i.e., the memory cells MC12, MC13, and MC14, through the second to fourth bit lines BL1, BL2 and BL3. The third bit line program voltage Vb3 smaller than the second bit line program voltage Vb2 is applied to the third status cell, i.e., the memory cell MC11. As a result, the largest voltage difference may be applied to the third status cell, i.e., the memory cell MC11, that is a slow cell at step S620.
- After the program operation is performed by adjusting the program voltage applied to the bit line based on the status classification result of the memory cells, a verification operation is performed on the programmed memory cells at step S630.
- The verification operation may be performed based on first to third verification voltages Vc, Vd, and Vf. The first to third verification voltages Vc, Vd, and Vf may have different values from the first and second classifying verification voltages Va and Vb that were used in the first program to classify the memory cells.
- During the verification operation, when a voltage greater than a threshold voltage is applied to the word line coupled to each memory cell, the memory cell is turned on to supply a consistent voltage to the bit line.
- Based on the first to third verification voltages Vc, Vd, and Vf, it is determined that the memory cells are passed or failed while the first to third status cells are re-classified. That is, when the first to third verification voltages Vc, Vd, and Vf are applied to the second word line WL1, the memory cell MC11 coupled to the first bit line BL0 is all turned on and thus it is re-classified as the third status cell. When the first verification voltage Vc is applied to the second word line WL1, the memory cell MC12 coupled to the second bit line BL1 is turned off to have a greater threshold voltage than the first verification voltage Vc. However, when the second and third verification voltages Vd and Vf are applied to the second word line WL1, the memory cell MC12 is turned on to have a threshold voltage between the first verification voltage Vc and the second verification voltage Vd, so that the memory cell MC12 is re-classified as the second status cell.
- The memory cell MC13 coupled to the third bit line BL2 is turned off when the first and second verification voltages Vc and Vd are applied to the second word line WL1, but it is turned on to have a threshold voltage between the second and third verification voltages Vd and Vf when the third verification voltage Vf is applied to the second word line WL1, so that the memory cell MC13 is re-classified as the first status cell.
- The memory cell MC14 coupled to the fourth bit line BL3 is turned off when the first to third verification voltages Vc, Vd, and Vf are applied to the second word line WL1, so that the memory cell MC14 is considered to be the passed memory cell. Thus, in a subsequent program operation, a program inhibition voltage Vinb is applied to the fourth bit line BL3.
- According to an embodiment of the present invention, each of the verification voltages Vc, Vd, and Vf may be adjusted to have a different value depending on program loops, and the verification voltages Vc, Vd, and Vf may be generated from the
voltage generator 200 controlled by theprogram control unit 700 to be supplied to the word lines of thememory cell array 400. - The verification operation is performed to supply the verification voltages to the
memory cell array 400 through therow decoder 300, so that the sense signal may be supplied to theprogram control unit 700 through thecolumn decoder 500 and the data I/O unit 600. During the verification operation, theprogram control unit 700 stores the addresses and re-classified statuses of the memory cells. - As a result of the verification operation, if all the memory cells to be programmed are determined as passed memory cells at step S640, the entire program operation is terminated.
- As a result of the verification operation, if at least one of the memory cells to be programmed is determined as a failed memory cell at step S640, the word line program voltage Vpgm increases at step S650, and the program loop is performed again.
- Since at least one of the memory cells to be programmed is determined as a failed memory cell, the next program loop starts from a point of time t12.
- From the point of time t12 to a point of time t15, first to third word line program voltages Vpgm31, Vpgm32, and Vpgm33, which sequentially increase, are supplied to the second word line WL1, the first to third bit line program voltages Vb1, Vb2, and Vb3, which sequentially decrease, are supplied through the first bit line BL0 coupled to the memory cell MC11 classified as the third status cell, and the first and second bit line program voltages Vb1 and Vb2 are supplied through the second bit line BL1 coupled to the memory cell MC12 classified as the second status cell.
- Through the third bit line BL2 coupled to MC13 classified as the first status cell, the first bit line program voltage Vb1 is supplied with a consistent value. The program inhibition voltage Vinb is supplied to the fourth bit line BL3 coupled to the memory cell MC14 that is determined as the passed memory cell.
- The first to third word line program voltages Vpgm31, Vpgm32, and Vpgm33 may have increased values than the third word line program voltage Vpgm23. Thus, it is easy to control an increase width of the program voltages in the method of programming the semiconductor memory device according to the embodiment of the present invention. For example, it is possible to finely control the distribution of the threshold voltages by adjusting a voltage difference between the word line and the bit line to be greater when the memory cell is classified as a slow cell so as to increase a threshold voltage of the memory cell rapidly and by regulating the voltage difference between the word line and the bit line to be smaller when the memory cell is classified as a fast cell according to the program loop.
-
FIG. 7 illustrates a block diagram of theprogram control unit 700 inFIG. 1 according to an embodiment of the present invention. - Referring to
FIG. 7 , theprogram control unit 700 includes aprogram control circuit 710, averification circuit 720 and a cellstatus storage circuit 730. - The
program control circuit 710 receives the address signal ADDR and a data signal DT to write specific data. According to an embodiment of the present invention, theprogram control circuit 710 may receive a verification signal VRF to classify the statuses of the memory cells where the program operation is supposed to be performed and provide thecolumn decoder 500 with the column voltage control signal CV to supply a bit line program voltage having a different voltage level depending on the statuses of the memory cells. Also, theprogram control circuit 710 may provide therow decoder 300 with the row voltage control signal RV to supply a word line program voltage having a voltage level increasing according to the process of the program loop. - The
program control circuit 710 may provide theverification circuit 720 with a verification control signal VCON so as to supply a verification voltage having a different voltage level depending on a verification result. - Additionally, the
program control circuit 710 stores the addresses and statuses of the memory cells where the program operation is performed in the cellstatus storage circuit 730. The statuses of the memory cells stored in the cellstatus storage circuit 730 may be renewed in real time because each status is continuously re-classified as the program loop is progressed. - Thus, the
program control unit 700 employed in the semiconductor memory device according to the embodiment of the present invention classifies the statuses of the memory cells to be programmed to control the word line program voltage Vpgm and the bit line program voltage Vb supplied to each memory cell. - According to the embodiment of the present invention, the word line program voltage Vpgm may sequentially increase by the number of the classified statuses of the memory cells in one program loop, and the bit line program voltage Vb may be supplied with different voltage levels by the number of the classified statuses of the memory cells. For example, the bit line program voltage Vb may sequentially decrease on the contrary to the word line program voltage Vpgm, or may have a consistent value. The bit line program voltage Vb is adjusted to have a different voltage level depending on the classified statuses of the memory cells, so that the voltage difference between the bit line and the word line supplied to each memory cell may change depending on the statuses of the memory cells even in a single program loop.
- As a result, a great voltage difference is applied to between a drain and a gate of a memory cell that is supposed to have a relatively low threshold voltage and thus that need a much time to complete a program operation in the process of the program loop, so that electron implantation into a floating gate of the memory cell is accelerated. However, as the memory cell has a threshold voltage close to a program threshold voltage where the memory cell can be programmed, the word line program voltage Vpgm and the bit line program voltage Vb is adjusted to have a small voltage difference therebetween, thereby adjusting an amount of electrons implanted into the floating gate to be smaller.
- Thus, the method of programming the semiconductor memory device according to the embodiment of the present invention can improve the accuracy of the program operation and the distribution of the threshold voltages of the memory cells, so that the method may be useful in semiconductor memory devices for storing data of multiple values.
-
FIG. 8 illustrates the threshold voltage distribution by phases in a semiconductor memory device according to an embodiment of the present invention. - Referring to
FIG. 8 , memory cells that were in an erasure status at an initial stage are classified into first to third regions I, II and III based on first and second classifying verification voltages Va and Vb after the first program. The memory cells in the first to third regions I, II, and III are classified into the first to third status cells to have different distribution characteristics during the program operation. - For a program status, one word line program voltage is supplied through a word line, but in a first status cell F (fast cell), the bit line program voltage consistently maintains the first bit line program voltage Vb1, so that a range of a threshold voltage of the first status cell F is not greater than that of the other memory cells due to the application of a relatively small voltage difference after the first program. In comparison with this case, in a second status cell T (typical cell), while the word line program voltage is supplied thereto, the first bit line program voltage Vb1 and the second bit line program voltage Vb2 having a smaller voltage level than the first bit line program voltage Vb1 are sequentially applied thereto, so that a range of a threshold voltage of the second status cell T is greater than that of the first status cell F. In a third status cell S (slow cell), the first, second and third bit line program voltages Vb1, Vb2 and Vb3 having sequentially decreasing values are continuously provided while the word line program voltage is supplied to the third status cell S, so that the third status cell S may have the greatest range of a threshold voltage.
- As described above, the method of programming a semiconductor memory device according to the embodiments of the present invention can improve the program accuracy of memory cells by adjusting word line and bit line program voltages depending on statuses of the memory cells.
- In an embodiment, a method of programming a semiconductor memory device includes providing a memory cell in a memory cell array, the memory cell being coupled to a word line and a bit line. A set of word line program voltages is applied to the word line to program the memory cell. A set of bit line voltages is applied to the bit line to program the memory cell while the set of word line program voltages is being applied to the word line. The applied set of bit line voltages is selected from at least first, second, and third sets based on a program characteristic of the memory cell.
- The above example embodiments of the present invention are illustrative and do not to limit the scope of the present invention. Various alternatives and equivalents are possible. Other additions, subtractions, or modifications are obvious in view of the present disclosure and are intended to fall within the scope of the appended claims.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110044208A KR20120126436A (en) | 2011-05-11 | 2011-05-11 | Semiconductor memory device and method of programming the semiconductor memory device |
KR10-2011-0044208 | 2011-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120287720A1 true US20120287720A1 (en) | 2012-11-15 |
US8897075B2 US8897075B2 (en) | 2014-11-25 |
Family
ID=47141798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/453,960 Active 2032-12-27 US8897075B2 (en) | 2011-05-11 | 2012-04-23 | Semiconductor memory device and method of programming the same |
Country Status (2)
Country | Link |
---|---|
US (1) | US8897075B2 (en) |
KR (1) | KR20120126436A (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8982602B2 (en) * | 2012-08-30 | 2015-03-17 | Adesto Technologies Corporation | Memory devices, circuits and, methods that apply different electrical conditions in access operations |
US8995198B1 (en) * | 2013-10-10 | 2015-03-31 | Spansion Llc | Multi-pass soft programming |
US9633720B2 (en) * | 2015-09-10 | 2017-04-25 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US20170301403A1 (en) * | 2016-04-18 | 2017-10-19 | Sandisk Technologies Inc. | Dummy Voltage To Reduce First Read Effect In Memory |
US10325657B2 (en) * | 2017-01-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and methods of programming the same |
US10347315B2 (en) | 2017-10-31 | 2019-07-09 | Sandisk Technologies Llc | Group read refresh |
US10366769B2 (en) * | 2017-01-26 | 2019-07-30 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and programming method for fast and slow cells thereof |
US10490280B2 (en) | 2017-01-25 | 2019-11-26 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and methods of programming the same |
WO2019226223A1 (en) * | 2018-05-23 | 2019-11-28 | Sandisk Technologies Llc | Bit line voltage control for damping memory programming |
CN112309471A (en) * | 2019-07-26 | 2021-02-02 | 爱思开海力士有限公司 | Memory device and method of operating the same |
US11200952B2 (en) | 2019-07-22 | 2021-12-14 | Samsung Electronics Co., Ltd. | Non-volatile memory device |
US20220101922A1 (en) * | 2020-05-06 | 2022-03-31 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of 3d nand flash |
US11322205B2 (en) * | 2019-07-22 | 2022-05-03 | Samsung Electronics Co., Ltd. | Non-volatile memory device and method for programming the same |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9123414B2 (en) * | 2013-11-22 | 2015-09-01 | Micron Technology, Inc. | Memory systems and memory programming methods |
US9336875B2 (en) | 2013-12-16 | 2016-05-10 | Micron Technology, Inc. | Memory systems and memory programming methods |
US9269432B2 (en) * | 2014-01-09 | 2016-02-23 | Micron Technology, Inc. | Memory systems and memory programming methods |
US9767895B1 (en) * | 2016-03-15 | 2017-09-19 | Toshiba Memory Corporation | Semiconductor memory device and controlling method thereof |
KR20190073943A (en) | 2017-12-19 | 2019-06-27 | 에스케이하이닉스 주식회사 | Semiconductor memory device and methode for operating thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050083735A1 (en) * | 2003-10-20 | 2005-04-21 | Jian Chen | Behavior based programming of non-volatile memory |
US7656710B1 (en) * | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4435200B2 (en) | 2007-04-03 | 2010-03-17 | 株式会社東芝 | Data writing method for semiconductor memory device |
KR100880329B1 (en) | 2007-07-25 | 2009-01-28 | 주식회사 하이닉스반도체 | Flash memory device and method of programming the same |
-
2011
- 2011-05-11 KR KR1020110044208A patent/KR20120126436A/en not_active Application Discontinuation
-
2012
- 2012-04-23 US US13/453,960 patent/US8897075B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050083735A1 (en) * | 2003-10-20 | 2005-04-21 | Jian Chen | Behavior based programming of non-volatile memory |
US7656710B1 (en) * | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8982602B2 (en) * | 2012-08-30 | 2015-03-17 | Adesto Technologies Corporation | Memory devices, circuits and, methods that apply different electrical conditions in access operations |
US8995198B1 (en) * | 2013-10-10 | 2015-03-31 | Spansion Llc | Multi-pass soft programming |
US9633720B2 (en) * | 2015-09-10 | 2017-04-25 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US20170301403A1 (en) * | 2016-04-18 | 2017-10-19 | Sandisk Technologies Inc. | Dummy Voltage To Reduce First Read Effect In Memory |
CN107305787A (en) * | 2016-04-18 | 2017-10-31 | 桑迪士克科技有限责任公司 | Read the virtual voltage of effect in memory first for reducing |
US9911500B2 (en) * | 2016-04-18 | 2018-03-06 | Sandisk Technologies Llc | Dummy voltage to reduce first read effect in memory |
US10325657B2 (en) * | 2017-01-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and methods of programming the same |
US10490280B2 (en) | 2017-01-25 | 2019-11-26 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and methods of programming the same |
US10366769B2 (en) * | 2017-01-26 | 2019-07-30 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and programming method for fast and slow cells thereof |
US10347315B2 (en) | 2017-10-31 | 2019-07-09 | Sandisk Technologies Llc | Group read refresh |
WO2019226223A1 (en) * | 2018-05-23 | 2019-11-28 | Sandisk Technologies Llc | Bit line voltage control for damping memory programming |
CN111386574A (en) * | 2018-05-23 | 2020-07-07 | 闪迪技术有限公司 | Bit line voltage control for damped memory programming |
US11011242B2 (en) | 2018-05-23 | 2021-05-18 | Sandisk Technologies Llc | Bit line voltage control for damping memory programming |
US11200952B2 (en) | 2019-07-22 | 2021-12-14 | Samsung Electronics Co., Ltd. | Non-volatile memory device |
US11322205B2 (en) * | 2019-07-22 | 2022-05-03 | Samsung Electronics Co., Ltd. | Non-volatile memory device and method for programming the same |
CN112309471A (en) * | 2019-07-26 | 2021-02-02 | 爱思开海力士有限公司 | Memory device and method of operating the same |
US20220101922A1 (en) * | 2020-05-06 | 2022-03-31 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of 3d nand flash |
US11948641B2 (en) * | 2020-05-06 | 2024-04-02 | Yangtze Memory Technologies Co., Ltd. | Control method and controller of 3D NAND flash |
Also Published As
Publication number | Publication date |
---|---|
US8897075B2 (en) | 2014-11-25 |
KR20120126436A (en) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8897075B2 (en) | Semiconductor memory device and method of programming the same | |
US9208887B2 (en) | Nonvolatile semiconductor memory device | |
US7808829B2 (en) | Flash memory device capable of overcoming fast program/slow erase phenomenon and erase method thereof | |
JP5106817B2 (en) | Flash memory device capable of improving reliability | |
US8811089B2 (en) | Nonvolatile semiconductor memory device | |
EP2427885B1 (en) | Multiple level program verify in a memory device | |
US8243520B2 (en) | Non-volatile memory with predictive programming | |
US9082503B2 (en) | Semiconductor memory device and method of operating the same | |
US8659951B2 (en) | Nonvolatile semiconductor memory device and method of data write therein | |
US20130286733A1 (en) | Method of programming/reading a non-volatile memory with a sequence | |
US8670273B2 (en) | Methods for program verifying a memory cell and memory devices configured to perform the same | |
US8493796B2 (en) | Nonvolatile semiconductor memory device | |
JP2008117471A (en) | Nonvolatile semiconductor storage device and nonvolatile memory system | |
US9053793B2 (en) | Semiconductor memory device and method of operating the same | |
US9001576B2 (en) | Semiconductor memory device and method of operating the same | |
JP2011018397A (en) | Nand flash memory | |
US20110292734A1 (en) | Method of programming nonvolatile memory device | |
KR20150035223A (en) | Semiconductor memory device and operating method thereof | |
US8743620B2 (en) | Nonvolatile memory device and program verify method thereof | |
KR100589469B1 (en) | Non-volatile memory which performs erasure in a short time | |
KR20080090801A (en) | Erase method for nand flash memory device | |
JP6240044B2 (en) | Nonvolatile semiconductor memory device and operation method thereof | |
KR100967010B1 (en) | Non volatile memory device and program method thereof | |
US12046267B2 (en) | Advanced window program-verify | |
JP5622712B2 (en) | Nonvolatile semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SK HYNIX INC., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHOI, JEA WON;REEL/FRAME:028098/0524 Effective date: 20120417 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |