US20070109873A1 - Non-volatile memory device having controlled bulk voltage and method of programming same - Google Patents

Non-volatile memory device having controlled bulk voltage and method of programming same Download PDF

Info

Publication number
US20070109873A1
US20070109873A1 US11/649,815 US64981507A US2007109873A1 US 20070109873 A1 US20070109873 A1 US 20070109873A1 US 64981507 A US64981507 A US 64981507A US 2007109873 A1 US2007109873 A1 US 2007109873A1
Authority
US
United States
Prior art keywords
voltage
bulk voltage
bulk
programming
pump
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/649,815
Inventor
Jae-Yong Jeong
Heung-Soo Lim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/649,815 priority Critical patent/US20070109873A1/en
Publication of US20070109873A1 publication Critical patent/US20070109873A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention

Definitions

  • the present invention relates generally to an electronic memory device. More particularly, the invention relates to a non-volatile memory device and a method of programming the same.
  • Semiconductor memories are an essential part of most modern electronic systems such as computers and other digital logic platforms. Unfortunately, however, the performance of the electronic systems is often limited by the speed and the capacity of the semiconductor memories. In addition, the physical size of memory chips often places a restriction on the amount of miniaturization that can take place in the electronic systems. Because of the limiting effect that semiconductor memories have on modern electronic systems, there is a continuing need to create faster, more highly integrated semiconductor memories. In order to do so, improvements need to be made to the manufacturing technologies used to create these memories. In particular, processing techniques for creating more densely integrated, higher frequency semiconductor memories need to be developed.
  • volatile semiconductor memory devices are generally grouped into two broad categories: volatile semiconductor memory devices and non-volatile semiconductor memory devices. Briefly, volatile semiconductor memory devices provide persistent data storage as long as power is supplied to the devices, but they lose the data once the power is cut off. Non-volatile semiconductor memory devices, on the other hand, provide persistent data storage even when power to the devices is cut off or suspended.
  • non-volatile memory devices are commonly used to provide long term storage for data such as program files and microcode.
  • Non-volatile memory devices are frequently used in application areas such as personal computers, aerospace electronic engineering, communication systems, and consumer electronics.
  • Non-volatile semiconductor memories are adapted for reprogramming and others are not.
  • MROM mask-programmed read-only memory
  • PROM programmable read-only memory
  • EPROM Erasable programmable read-only memory
  • EEPROM Electrically erasable programmable read-only memory
  • EEPROM provides efficient reprogramming capability by allowing memory cells to be reprogrammed by simply applying electric fields to the cells. EEPROMs can generally be reprogrammed more than one hundred thousand times during their lifetime.
  • Flash memory is a special type of EEPROM in which multiple memory blocks are erased or programmed by a single programming operation.
  • the performance of flash memory is generally superior to that of normal EEPROM, which only allows one memory block to be erased or programmed at a time.
  • flash memory provides fast access times for read operations and is resistant to physical shock, thus making it an attractive option for high performance portable devices such as cellular phones and personal digital assistants (PDAs).
  • PDAs personal digital assistants
  • a typical flash memory comprises an array of transistors called cells, wherein each cell has a source and a drain formed on a substrate and two gate structures formed on the substrate between the source and the drain terminals.
  • the two gate structures generally comprise a floating gate surrounded by an insulating layer and a control gate formed on the floating gate.
  • the floating gate is used to store electrons determining a logic state for the cell.
  • a flash memory cell is read by placing a voltage on its control gate and detecting whether a current flows between its drain and source.
  • the voltage applied to the control gate will either allow current to flow between the drain and the source or it will not.
  • the electrons have a canceling effect on the voltage applied to the control gate, thereby affecting whether current flows between the drain and the source.
  • the electrons stored in the floating gate modify the threshold voltage of the cell, i.e. the voltage that has to be applied to the control gate in order for current to flow between the drain and the source.
  • the memory cells are generally programmed using an incremental step pulse programming (ISPP) scheme such as that illustrated by FIG. 1 .
  • ISPP incremental step pulse programming
  • a programming voltage V WL is applied to a wordline.
  • Programming voltage V WL is increased in multiple programming loop iterations executed during a programming operation.
  • Each programming loop comprises a programming period and a program verifying period.
  • programming voltage V WL is incremented by an amount ⁇ V.
  • a threshold voltage Vt of a cell being programmed increases by amount ⁇ V in each programming loop.
  • amount ⁇ V should be small.
  • ⁇ V should be chosen to minimize the variance of the threshold voltage as much as possible without significantly limiting the performance of the memory device by requiring too many programming loops.
  • a programming scheme for a non-volatile memory device using ISPP is disclosed, for example, in U.S. Pat. No. 6,266,270.
  • Circuits for generating programming voltages using ISPP are disclosed, for example, in U.S. Pat. No. 5,642,309 and in Korean Patent Publication No. 2002-39744.
  • a wordline voltage of 10V is applied to the control gate of a flash memory cell
  • a bitline voltage of 5 ⁇ 6V is applied to the drain of the flash memory cell
  • a voltage less than 0V e.g., ⁇ 1V
  • a current cell flowing through the flash memory cell is (V GS ⁇ Vt) 2 , where Vt is proportional to a threshold voltage of the flash memory cell and V GS is a gate-to-source voltage of the flash memory cell.
  • the voltage applied to the bulk is typically generated and maintained by a charge pump (not shown). Raising the bulk voltage increases the threshold voltage of a cell, which leads to an increase in current I cell . As current I cell increases, a drain voltage is decreased accordingly. As the drain voltage decreases, the threshold voltage of the flash memory cell is not increased as much as desired during each programming loop iteration, as indicated by a broken line in FIG. 1 .
  • the difference between the wordline voltage and the threshold voltage becomes progressively larger as more programming loop iterations are executed using the ISPP scheme.
  • the quality of programming gradually degrades to the point where programming failures occur.
  • One object of the present invention is to provide a non-volatile memory device that prevents programming failures from occurring due to an increase in a bulk voltage.
  • Another object of the present invention is to provide a non-volatile memory device capable of controlling the current driving capability of a pump providing a bulk voltage during programming operations.
  • a method of programming a non-volatile memory device comprises generating a bulk voltage using a first pump, detecting whether or not the bulk voltage is higher than a detection voltage after the bulk voltage reaches a target bulk voltage, and activating a second pump to generate the bulk voltage in cases where the bulk voltage becomes higher than the detection voltage.
  • a non-volatile memory device comprises a memory cell and a bulk voltage generating circuit.
  • the bulk voltage generating circuit is adapted to generate a bulk voltage to be provided to a bulk of the memory cell.
  • the bulk voltage generating circuit has a current driving capability that varies according to whether the bulk voltage is higher than a detection voltage during a programming section of a programming operation.
  • the bulk voltage generating circuit comprises a first pump and a second pump, a first detector detecting whether the bulk voltage reaches a target bulk voltage during the programming operation, a second detector detecting whether the bulk voltage is higher than the detection voltage while a bitline voltage is provided to a bitline of the memory cell, and a pump controller controlling the first and second pumps in response to outputs of the first and second detectors.
  • the pump controller controls the first and second pumps to operate simultaneously in cases where the bulk voltage is higher than the detection voltage during the programming section.
  • a non-volatile memory device comprises a memory cell array having memory cells arranged into rows and columns, a write driver circuit providing selected columns with a bitline voltage according to input data in response to a bitline enable signal during a programming operation, and a bulk voltage generating circuit generating a bulk voltage to be provided to a bulk of the memory cells.
  • the bulk voltage generating circuit detects whether the bulk voltage is higher than a detection voltage while the bitline enable signal is activated and then varies a current driving capability of the bulk voltage generating circuit according to whether the bulk voltage is higher than the detection voltage.
  • FIG. 1 is a graph showing variation in wordline and threshold voltages during a programming operation of a non-volatile memory device
  • FIG. 2 is a schematic block diagram of a non-volatile memory device according to one embodiment of the present invention.
  • FIG. 3 is a schematic block diagram illustrating a bulk voltage generating circuit shown in FIG. 2 according to one embodiment of the present invention.
  • FIG. 4 is a waveform timing diagram illustrating a programming operation for a non-volatile memory device according to an embodiment of the present invention.
  • FIG. 2 is a schematic block diagram of a non-volatile memory device according to one embodiment of the present invention.
  • the non-volatile memory device shown in FIG. 2 is a NOR flash memory device
  • the invention can also be embodied by other types of non-volatile memory, such as masked read-only memory (MROM), programmable read-only memory (PROM), ferroelectric random-access memory (FRAM), NAND flash memory, etc.
  • MROM masked read-only memory
  • PROM programmable read-only memory
  • FRAM ferroelectric random-access memory
  • NAND flash memory etc.
  • a non-volatile memory device 100 comprises a memory cell array 110 including a plurality of memory cells arranged in a matrix along rows (wordlines) and columns (bitlines).
  • a memory cell MC only one of the plurality of memory cells, i.e., a memory cell MC, is shown.
  • other memory cells contained in memory cell 110 have a similar configuration to memory cell MC.
  • Memory cell MC comprises a floating gate transistor having a floating gate, a control gate, a bulk, a source, and a drain.
  • the control gate, the drain, and the source of the floating gate transistor are respectively connected to a wordline WL 0 , a source line SL, and a bitline BLn.
  • Source line SL is controlled by a source line control circuit 120 .
  • Source line SL is set to ground during a read or program operation and it is set to a floating state during an erase operation.
  • the bulk of the floating gate transistor receives a bulk voltage VBULK from a bulk voltage generating circuit 170 .
  • a row selection circuit 130 selects one of wordlines WL 0 -WLm according to predetermined row address information and then drives the selected wordline with a predetermined wordline voltage.
  • a column selection circuit 140 selects a number of bitlines BL 0 -BLn (e.g., a word or a byte) according to predetermined column address information and a write driver circuit 150 drives the selected bitlines during a programming operation with a bitline voltage VBL according to input data Di.
  • input data Di comprises data to be programmed to memory cell 110
  • write driver circuit 150 drives the selected bitlines with bitline voltage VBL.
  • write driver circuit 150 drives the selected bitline to a voltage (e.g., ground) that is lower than bitline voltage VBL.
  • a program control circuit 160 activates (i.e. sets to a first logic state) a bitline enable signal BL_EN during each programming operation, and write driver circuit 150 drives the selected bitlines to bitline voltage VBL or ground while bitline enable signal BL_EN is activated.
  • a bulk voltage generating circuit 170 generates a bulk voltage VBULK in response to a control signal from program control circuit 160 .
  • the current driving capability of bulk voltage generating circuit 170 varies according to bulk voltage VBULK during each programming operation.
  • bulk voltage generating circuit 170 has a first current driving capability in cases where bulk voltage VBULK is less than a predetermined detection voltage and a second current driving capability in cases where bulk voltage VBULK is greater than the predetermined detection voltage.
  • the detection voltage is typically chosen to be higher than a target bulk voltage, i.e. a target voltage for the bulk voltage (e.g., ⁇ 1V), and lower than ground. Varying the current driving capability of bulk voltage generating circuit 170 in this way prevents bulk voltage VBULK from being excessively raised during a programming operation, thereby preventing programming failures from occurring.
  • a threshold voltage for a memory cell is raised by a desired amount during each programming operation, thereby preventing programming failures from occurring.
  • FIG. 3 is a schematic block diagram illustrating bulk voltage generating circuit 170 shown in FIG. 2 according to one embodiment of the present invention.
  • bulk voltage generating circuit 170 comprises a first detector 210 , an oscillator 220 , a first clock driver 230 , a first pump 240 , a switch 250 , a second clock driver 260 , a second pump 270 , and a second detector 280 .
  • First detector 210 receives bulk voltage VBULK and generates a detection signal DET 1 that is either activated or inactivated (i.e. set to a second logic state) depending on whether bulk voltage VBULK has reached (e.g., is less than or equal to) the target bulk voltage. For example, in a case where bulk voltage VBULK has not reached the target bulk voltage, first detector 210 activates detection signal DET 1 and where bulk voltage VBULK has reached the target bulk voltage, first detector 210 inactivates detection signal DET 1 . In this way, the bulk voltage is maintained roughly between the target bulk voltage and the detection voltage during programming operations.
  • Oscillator 220 generates an oscillation signal OSC in response to the activation of detection signal DET 1 . Where detection signal DET 1 is inactivated, oscillation signal OSC is no longer generated.
  • First clock driver 230 generates a pump clock signal CLK 1 in response to oscillation signal OSC, and first pump 240 performs a pump operation in response to pump clock signal CLK 1 .
  • first pump 240 is operated, bulk voltage VBULK gradually decreases to the target bulk voltage.
  • Switch 250 transfers oscillation signal OSC to second clock driver 260 in response to a control signal PGM 2 _EN.
  • Control signal PGM 2 _EN becomes activated when bulk voltage VBULK reaches the target bulk voltage.
  • Control signal PGM 2 _EN becomes inactivated when a bitline voltage VBL supplied to selected bitlines is discharged or when bitline enable signal BL_EN is inactivated.
  • Second detector 280 receives bulk voltage VBULK and generates a detection signal DET 2 that is activated or inactivated depending on whether bulk voltage VBULK is above the detection voltage. For example, where bulk voltage VBULK is lower than the detection voltage, second detector 280 inactivates detection signal DET 2 and where bulk voltage VBULK is higher than the detection voltage, second detector 280 activates detection signal DET 2 .
  • Second detector 280 is controlled by bitline enable signal BL_EN so that it produces detection signal DET 2 only when bitline enable signal BL_EN is activated.
  • Bitline enable signal BL_EN is output by program control circuit 160 of FIG. 2 and is activated only when bitline voltage VBL is supplied during a programming operation.
  • Second clock driver 260 generates a pump clock signal CLK 2 in response to detection signal DET 2 and oscillation signal OSC. For instance, where detection signal DET 2 is inactivated, second clock driver 260 does not generate pump clock signal CLK 2 even if it has received oscillation signal OSC. This in turn causes second pump 270 to not operate. Where detection signal DET 2 is activated, second clock driver 260 generates pump clock signal CLK 2 in response to oscillation signal OSC, thereby causing second pump 270 to operate.
  • first pump 240 where bulk voltage VBULK is between the target bulk voltage and the detection voltage, it is generated and maintained by first pump 240 . Where bulk voltage VBULK is higher than the detection voltage, it is generated and maintained by respective first and second pumps 240 and 270 .
  • oscillator 220 , first clock driver 230 , switch 250 , and second clock driver 260 form a pump controller.
  • the pump controller controls first and second pumps 240 and 270 in response to outputs from first and second detectors 210 and 280 .
  • second detector 280 is operated whenever bitline enable signal BL_EN is activated. It is possible, however, for second detector 280 to be operated during every programming operation.
  • FIG. 4 is a waveform timing diagram illustrating the operation of non-volatile memory device 100 according one embodiment of the present invention.
  • FIG. 4 illustrates a programming operation for the non-volatile memory device.
  • a programming operation for a non-volatile memory device comprises a plurality of programming loops, wherein each programming loop comprises a programming section and a verification section.
  • a wordline voltage is incrementally increased by a predetermined value for each programming loop.
  • the wordline voltage is maintained constant throughout all programming loops.
  • non-volatile memory device 100 first enters a programming operation mode and bulk voltage generating circuit 170 starts generating bulk voltage VBULK in response to the control signal from program control circuit 160 . More particularly, first detector 210 detects whether bulk voltage VBULK has reached the target bulk voltage or not. Where bulk voltage VBULK has not reached the target bulk voltage, detection signal DET 1 is activated by first detector 210 . Oscillator 220 generates oscillation signal OSC in response to the activation of detection signal DET 1 and then a pump operation is started in response to pump clock signal CLK 1 , which is provided to first pump 240 by clock driver 230 , thereby causing bulk voltage VBULK to decrease toward the target bulk voltage ( ⁇ 1V). These operations are continued until bulk voltage VBULK reaches the target bulk voltage.
  • first detector 210 detects whether bulk voltage VBULK has reached the target bulk voltage or not. Where bulk voltage VBULK has not reached the target bulk voltage, detection signal DET 1 is activated by first detector 210 . Oscillator 2
  • bitline enable signal BL_EN is inactivated
  • second detector 280 does not operate.
  • control signal PGM 2 _EN is inactivated
  • switch 250 does not transfer oscillation signal OSC to second clock driver 260 .
  • bulk voltage VBULK is below the detection voltage
  • second pump 270 does not operate.
  • program control circuit 160 activates control signal PGM 2 _EN. Once control signal PGM 2 _EN is activated, oscillation signal OSC is supplied to second clock driver 260 via switch 250 . However, even in cases where oscillation signal OSC is supplied to second clock driver 260 , second pump 270 is not operated due to inactivation of detection signal DET 2 .
  • row selection circuit 130 provides a wordline voltage to the selected wordline. Thereafter, program control circuit 160 activates bitline enable signal BL_EN.
  • Write driver circuit 150 provides bitline voltage VBL to the selected bitline in response to the activation of bitline enable signal BL_EN.
  • the memory cell is programmed. As the memory cell is programmed, as shown in FIG. 4 , a threshold voltage Vt of the memory cell slowly increases to a target voltage Vtl for the first programming loop.
  • second detector 280 of bulk voltage generating circuit 170 is operated in response to the activation of bitline enable signal BL_EN.
  • second detector 280 detects whether bulk voltage VBULK is higher than a detection voltage Vt 3 , which is higher than the target bulk voltage and lower than ground. Where bulk voltage VBULK is lower than detection voltage Vt 3 , second detector 280 inactivates detection signal DET 2 , thereby preventing second clock driver 260 from providing oscillation signal OSC to second pump 270 . In an event where bulk voltage VBULK is higher than detection voltage Vt 3 , as shown in FIG. 4 , second detector 280 activates detection signal DET 2 .
  • second clock driver 260 outputs pump clock signal CLK 2 to second pump 270 in response to oscillation signal OSC.
  • second pump 270 performs a pump operation, thereby reducing bulk voltage VBULK below detection voltage Vt 3 .
  • detection signal DET 2 is inactivated. Accordingly, second pump 270 no longer operates.
  • first and second pumps 240 and 270 are operated, and thereby increasing the current driving capability of bulk voltage generating circuit 170 .
  • bulk voltage VBULK is increased to detection voltage Vt 3 or above, bulk voltage VBULK is efficiently lowered by simultaneously operation of first and second pumps 240 and 270 .
  • bulk voltage VBULK is lowered to below detection voltage Vt 3 , bulk voltage VBULK is maintained and generated by the first pump in the manner above-described.
  • the bulk voltage generating circuit in the exemplary embodiment described above uses two pumps, it is possible for more pumps to be provided.

Landscapes

  • Read Only Memory (AREA)

Abstract

Disclosed is a non-volatile memory device and a method of programming the same. The non-volatile memory device is programmed by applying a wordline voltage, a bitline voltage, and a bulk voltage to memory cells within the device. During a programming operation for the device, the bulk voltage is generated by a first pump. However, where the bulk voltage exceeds a predetermined detection voltage, a second pump is further activated in order to lower the bulk voltage.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This is a continuation application of application Ser. No. 11/133,347, filed May 20, 2005, which is hereby incorporated by reference in its entirety for all purposes.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to an electronic memory device. More particularly, the invention relates to a non-volatile memory device and a method of programming the same.
  • 2. Description of the Related Art
  • Semiconductor memories are an essential part of most modern electronic systems such as computers and other digital logic platforms. Unfortunately, however, the performance of the electronic systems is often limited by the speed and the capacity of the semiconductor memories. In addition, the physical size of memory chips often places a restriction on the amount of miniaturization that can take place in the electronic systems. Because of the limiting effect that semiconductor memories have on modern electronic systems, there is a continuing need to create faster, more highly integrated semiconductor memories. In order to do so, improvements need to be made to the manufacturing technologies used to create these memories. In particular, processing techniques for creating more densely integrated, higher frequency semiconductor memories need to be developed.
  • Semiconductor memory devices are generally grouped into two broad categories: volatile semiconductor memory devices and non-volatile semiconductor memory devices. Briefly, volatile semiconductor memory devices provide persistent data storage as long as power is supplied to the devices, but they lose the data once the power is cut off. Non-volatile semiconductor memory devices, on the other hand, provide persistent data storage even when power to the devices is cut off or suspended.
  • Because of their ability to provide persistent data storage even when power is cut off, non-volatile memory devices are commonly used to provide long term storage for data such as program files and microcode. Non-volatile memory devices are frequently used in application areas such as personal computers, aerospace electronic engineering, communication systems, and consumer electronics.
  • Some non-volatile semiconductor memories are adapted for reprogramming and others are not. For example, due to design limitations, mask-programmed read-only memory (MROM) and programmable read-only memory (PROM) can be programmed only once during their lifetime. Erasable programmable read-only memory (EPROM) can be reprogrammed, but only after exposing it to ultraviolet light for several minutes to erase previously stored data. Electrically erasable programmable read-only memory (EEPROM), on the other hand, provides efficient reprogramming capability by allowing memory cells to be reprogrammed by simply applying electric fields to the cells. EEPROMs can generally be reprogrammed more than one hundred thousand times during their lifetime.
  • Flash memory is a special type of EEPROM in which multiple memory blocks are erased or programmed by a single programming operation. The performance of flash memory is generally superior to that of normal EEPROM, which only allows one memory block to be erased or programmed at a time. In addition, flash memory provides fast access times for read operations and is resistant to physical shock, thus making it an attractive option for high performance portable devices such as cellular phones and personal digital assistants (PDAs).
  • A typical flash memory comprises an array of transistors called cells, wherein each cell has a source and a drain formed on a substrate and two gate structures formed on the substrate between the source and the drain terminals. The two gate structures generally comprise a floating gate surrounded by an insulating layer and a control gate formed on the floating gate. The floating gate is used to store electrons determining a logic state for the cell.
  • A flash memory cell is read by placing a voltage on its control gate and detecting whether a current flows between its drain and source. Depending on how many electrons are stored in the floating gate, the voltage applied to the control gate will either allow current to flow between the drain and the source or it will not. For example, where a large number of electrons is stored in the floating gate, the electrons have a canceling effect on the voltage applied to the control gate, thereby affecting whether current flows between the drain and the source. In other words, the electrons stored in the floating gate modify the threshold voltage of the cell, i.e. the voltage that has to be applied to the control gate in order for current to flow between the drain and the source.
  • Due to variations in flash memory cells such as their geometry or a voltage used to program the memory cells, there tends to be variation in the threshold voltages of flash memory cells that have been programmed. Where the variation in the threshold voltages of the memory cells is not properly regulated, it can cause the flash memory to have poor performance.
  • In order to regulate a threshold voltage distribution for programmed memory cells, the memory cells are generally programmed using an incremental step pulse programming (ISPP) scheme such as that illustrated by FIG. 1. Referring to FIG. 1, a programming voltage VWL is applied to a wordline. Programming voltage VWL is increased in multiple programming loop iterations executed during a programming operation. Each programming loop comprises a programming period and a program verifying period. In each programming loop, programming voltage VWL is incremented by an amount ΔV. During the programming operation, a threshold voltage Vt of a cell being programmed increases by amount ΔV in each programming loop. In order to minimize variation in the threshold voltage distribution, amount ΔV should be small. As increment ΔV becomes smaller, the number of programming loops becomes larger. Since there is a tradeoff between the number of programming loops required and the variance of the threshold voltage distribution, ΔV should be chosen to minimize the variance of the threshold voltage as much as possible without significantly limiting the performance of the memory device by requiring too many programming loops.
  • A programming scheme for a non-volatile memory device using ISPP is disclosed, for example, in U.S. Pat. No. 6,266,270. Circuits for generating programming voltages using ISPP are disclosed, for example, in U.S. Pat. No. 5,642,309 and in Korean Patent Publication No. 2002-39744.
  • In programming a NOR flash memory device using the ISPP scheme, a wordline voltage of 10V is applied to the control gate of a flash memory cell, a bitline voltage of 5˜6V is applied to the drain of the flash memory cell, and a voltage less than 0V (e.g., −1V) is applied to the bulk (or substrate) of the flash memory cell. In general, a current cell flowing through the flash memory cell is (VGS−Vt)2, where Vt is proportional to a threshold voltage of the flash memory cell and VGS is a gate-to-source voltage of the flash memory cell.
  • The voltage applied to the bulk is typically generated and maintained by a charge pump (not shown). Raising the bulk voltage increases the threshold voltage of a cell, which leads to an increase in current Icell. As current Icell increases, a drain voltage is decreased accordingly. As the drain voltage decreases, the threshold voltage of the flash memory cell is not increased as much as desired during each programming loop iteration, as indicated by a broken line in FIG. 1.
  • Under these conditions, the difference between the wordline voltage and the threshold voltage becomes progressively larger as more programming loop iterations are executed using the ISPP scheme. As a result, the quality of programming gradually degrades to the point where programming failures occur.
  • What is needed, therefore, is a way to prevent programming failures from occurring due to an increase in the bulk voltage.
  • SUMMARY OF THE INVENTION
  • One object of the present invention is to provide a non-volatile memory device that prevents programming failures from occurring due to an increase in a bulk voltage.
  • Another object of the present invention is to provide a non-volatile memory device capable of controlling the current driving capability of a pump providing a bulk voltage during programming operations.
  • According to one embodiment of the present invention, a method of programming a non-volatile memory device is provided. The method comprises generating a bulk voltage using a first pump, detecting whether or not the bulk voltage is higher than a detection voltage after the bulk voltage reaches a target bulk voltage, and activating a second pump to generate the bulk voltage in cases where the bulk voltage becomes higher than the detection voltage.
  • According to another embodiment of the present invention, a non-volatile memory device is provided. The non-volatile memory device comprises a memory cell and a bulk voltage generating circuit. The bulk voltage generating circuit is adapted to generate a bulk voltage to be provided to a bulk of the memory cell. The bulk voltage generating circuit has a current driving capability that varies according to whether the bulk voltage is higher than a detection voltage during a programming section of a programming operation.
  • Typically, the bulk voltage generating circuit comprises a first pump and a second pump, a first detector detecting whether the bulk voltage reaches a target bulk voltage during the programming operation, a second detector detecting whether the bulk voltage is higher than the detection voltage while a bitline voltage is provided to a bitline of the memory cell, and a pump controller controlling the first and second pumps in response to outputs of the first and second detectors. The pump controller controls the first and second pumps to operate simultaneously in cases where the bulk voltage is higher than the detection voltage during the programming section.
  • According to still another embodiment of the present invention, a non-volatile memory device is provided. The non-volatile memory device comprises a memory cell array having memory cells arranged into rows and columns, a write driver circuit providing selected columns with a bitline voltage according to input data in response to a bitline enable signal during a programming operation, and a bulk voltage generating circuit generating a bulk voltage to be provided to a bulk of the memory cells. The bulk voltage generating circuit detects whether the bulk voltage is higher than a detection voltage while the bitline enable signal is activated and then varies a current driving capability of the bulk voltage generating circuit according to whether the bulk voltage is higher than the detection voltage.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is described below in relation to several embodiments illustrated in the accompanying drawings. Throughout the drawings like reference numbers indicate like exemplary elements, components, or steps. In the drawings:
  • FIG. 1 is a graph showing variation in wordline and threshold voltages during a programming operation of a non-volatile memory device;
  • FIG. 2 is a schematic block diagram of a non-volatile memory device according to one embodiment of the present invention;
  • FIG. 3 is a schematic block diagram illustrating a bulk voltage generating circuit shown in FIG. 2 according to one embodiment of the present invention; and,
  • FIG. 4 is a waveform timing diagram illustrating a programming operation for a non-volatile memory device according to an embodiment of the present invention.
  • DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
  • Exemplary embodiments of the invention are described below with reference to the corresponding drawings. These embodiments are presented as teaching examples. The actual scope of the invention is defined by the claims that follow.
  • FIG. 2 is a schematic block diagram of a non-volatile memory device according to one embodiment of the present invention. Although the non-volatile memory device shown in FIG. 2 is a NOR flash memory device, the invention can also be embodied by other types of non-volatile memory, such as masked read-only memory (MROM), programmable read-only memory (PROM), ferroelectric random-access memory (FRAM), NAND flash memory, etc.
  • Referring to FIG. 2, a non-volatile memory device 100 comprises a memory cell array 110 including a plurality of memory cells arranged in a matrix along rows (wordlines) and columns (bitlines). In FIG. 2, only one of the plurality of memory cells, i.e., a memory cell MC, is shown. However, other memory cells contained in memory cell 110 have a similar configuration to memory cell MC.
  • Memory cell MC comprises a floating gate transistor having a floating gate, a control gate, a bulk, a source, and a drain. The control gate, the drain, and the source of the floating gate transistor are respectively connected to a wordline WL0, a source line SL, and a bitline BLn. Source line SL is controlled by a source line control circuit 120. Source line SL is set to ground during a read or program operation and it is set to a floating state during an erase operation. The bulk of the floating gate transistor receives a bulk voltage VBULK from a bulk voltage generating circuit 170.
  • A row selection circuit 130 selects one of wordlines WL0-WLm according to predetermined row address information and then drives the selected wordline with a predetermined wordline voltage. A column selection circuit 140 selects a number of bitlines BL0-BLn (e.g., a word or a byte) according to predetermined column address information and a write driver circuit 150 drives the selected bitlines during a programming operation with a bitline voltage VBL according to input data Di. In other words, where input data Di comprises data to be programmed to memory cell 110, write driver circuit 150 drives the selected bitlines with bitline voltage VBL. In contrast, where input data Di comprises a voltage used to inhibit programming of memory cell array 110, write driver circuit 150 drives the selected bitline to a voltage (e.g., ground) that is lower than bitline voltage VBL. A program control circuit 160 activates (i.e. sets to a first logic state) a bitline enable signal BL_EN during each programming operation, and write driver circuit 150 drives the selected bitlines to bitline voltage VBL or ground while bitline enable signal BL_EN is activated.
  • A bulk voltage generating circuit 170 generates a bulk voltage VBULK in response to a control signal from program control circuit 160. The current driving capability of bulk voltage generating circuit 170 varies according to bulk voltage VBULK during each programming operation. In particular, bulk voltage generating circuit 170 has a first current driving capability in cases where bulk voltage VBULK is less than a predetermined detection voltage and a second current driving capability in cases where bulk voltage VBULK is greater than the predetermined detection voltage. The detection voltage is typically chosen to be higher than a target bulk voltage, i.e. a target voltage for the bulk voltage (e.g., −1V), and lower than ground. Varying the current driving capability of bulk voltage generating circuit 170 in this way prevents bulk voltage VBULK from being excessively raised during a programming operation, thereby preventing programming failures from occurring.
  • By preventing bulk voltage VBULK from being excessively raised during programming operations, a threshold voltage for a memory cell is raised by a desired amount during each programming operation, thereby preventing programming failures from occurring. An exemplary technique for varying the current driving capability of the bulk voltage generating circuit 170 will now be described with reference to FIG. 3.
  • FIG. 3 is a schematic block diagram illustrating bulk voltage generating circuit 170 shown in FIG. 2 according to one embodiment of the present invention.
  • Referring to FIG. 3, bulk voltage generating circuit 170 comprises a first detector 210, an oscillator 220, a first clock driver 230, a first pump 240, a switch 250, a second clock driver 260, a second pump 270, and a second detector 280.
  • First detector 210 receives bulk voltage VBULK and generates a detection signal DET1 that is either activated or inactivated (i.e. set to a second logic state) depending on whether bulk voltage VBULK has reached (e.g., is less than or equal to) the target bulk voltage. For example, in a case where bulk voltage VBULK has not reached the target bulk voltage, first detector 210 activates detection signal DET1 and where bulk voltage VBULK has reached the target bulk voltage, first detector 210 inactivates detection signal DET1. In this way, the bulk voltage is maintained roughly between the target bulk voltage and the detection voltage during programming operations.
  • Oscillator 220 generates an oscillation signal OSC in response to the activation of detection signal DET1. Where detection signal DET1 is inactivated, oscillation signal OSC is no longer generated.
  • First clock driver 230 generates a pump clock signal CLK1 in response to oscillation signal OSC, and first pump 240 performs a pump operation in response to pump clock signal CLK1. As first pump 240 is operated, bulk voltage VBULK gradually decreases to the target bulk voltage. Switch 250 transfers oscillation signal OSC to second clock driver 260 in response to a control signal PGM2_EN.
  • Control signal PGM2_EN becomes activated when bulk voltage VBULK reaches the target bulk voltage. Control signal PGM2_EN becomes inactivated when a bitline voltage VBL supplied to selected bitlines is discharged or when bitline enable signal BL_EN is inactivated.
  • Second detector 280 receives bulk voltage VBULK and generates a detection signal DET2 that is activated or inactivated depending on whether bulk voltage VBULK is above the detection voltage. For example, where bulk voltage VBULK is lower than the detection voltage, second detector 280 inactivates detection signal DET2 and where bulk voltage VBULK is higher than the detection voltage, second detector 280 activates detection signal DET2.
  • Second detector 280 is controlled by bitline enable signal BL_EN so that it produces detection signal DET2 only when bitline enable signal BL_EN is activated. Bitline enable signal BL_EN is output by program control circuit 160 of FIG. 2 and is activated only when bitline voltage VBL is supplied during a programming operation.
  • Second clock driver 260 generates a pump clock signal CLK2 in response to detection signal DET2 and oscillation signal OSC. For instance, where detection signal DET2 is inactivated, second clock driver 260 does not generate pump clock signal CLK2 even if it has received oscillation signal OSC. This in turn causes second pump 270 to not operate. Where detection signal DET2 is activated, second clock driver 260 generates pump clock signal CLK2 in response to oscillation signal OSC, thereby causing second pump 270 to operate.
  • In sum, where bulk voltage VBULK is between the target bulk voltage and the detection voltage, it is generated and maintained by first pump 240. Where bulk voltage VBULK is higher than the detection voltage, it is generated and maintained by respective first and second pumps 240 and 270.
  • In FIG. 3, oscillator 220, first clock driver 230, switch 250, and second clock driver 260 form a pump controller. The pump controller controls first and second pumps 240 and 270 in response to outputs from first and second detectors 210 and 280. In FIG. 3, second detector 280 is operated whenever bitline enable signal BL_EN is activated. It is possible, however, for second detector 280 to be operated during every programming operation.
  • FIG. 4 is a waveform timing diagram illustrating the operation of non-volatile memory device 100 according one embodiment of the present invention. In particular, FIG. 4 illustrates a programming operation for the non-volatile memory device. A programming operation for a non-volatile memory device comprises a plurality of programming loops, wherein each programming loop comprises a programming section and a verification section. In cases where a non-volatile memory device uses an ISPP scheme, a wordline voltage is incrementally increased by a predetermined value for each programming loop. In cases where a non-volatile memory device does not use an ISPP scheme, the wordline voltage is maintained constant throughout all programming loops.
  • In a programming operation, non-volatile memory device 100 first enters a programming operation mode and bulk voltage generating circuit 170 starts generating bulk voltage VBULK in response to the control signal from program control circuit 160. More particularly, first detector 210 detects whether bulk voltage VBULK has reached the target bulk voltage or not. Where bulk voltage VBULK has not reached the target bulk voltage, detection signal DET1 is activated by first detector 210. Oscillator 220 generates oscillation signal OSC in response to the activation of detection signal DET1 and then a pump operation is started in response to pump clock signal CLK1, which is provided to first pump 240 by clock driver 230, thereby causing bulk voltage VBULK to decrease toward the target bulk voltage (−1V). These operations are continued until bulk voltage VBULK reaches the target bulk voltage.
  • Where bitline enable signal BL_EN is inactivated, second detector 280 does not operate. Similarly, where control signal PGM2_EN is inactivated, switch 250 does not transfer oscillation signal OSC to second clock driver 260. As a result, where bulk voltage VBULK is below the detection voltage, second pump 270 does not operate.
  • Referring to FIG. 4, where bulk voltage VBULK has reached the target bulk voltage using first pump 240 at least once, program control circuit 160 activates control signal PGM2_EN. Once control signal PGM2_EN is activated, oscillation signal OSC is supplied to second clock driver 260 via switch 250. However, even in cases where oscillation signal OSC is supplied to second clock driver 260, second pump 270 is not operated due to inactivation of detection signal DET2.
  • Where bulk voltage VBULK reaches the target bulk voltage using first pump 240, row selection circuit 130 provides a wordline voltage to the selected wordline. Thereafter, program control circuit 160 activates bitline enable signal BL_EN. Write driver circuit 150 provides bitline voltage VBL to the selected bitline in response to the activation of bitline enable signal BL_EN. Where the wordline voltage, bitline voltage VBL, and bulk voltage VBULK are provided to the wordline, the bitline, and the bulk, respectively, the memory cell is programmed. As the memory cell is programmed, as shown in FIG. 4, a threshold voltage Vt of the memory cell slowly increases to a target voltage Vtl for the first programming loop.
  • At the same time, second detector 280 of bulk voltage generating circuit 170 is operated in response to the activation of bitline enable signal BL_EN. In other words, second detector 280 detects whether bulk voltage VBULK is higher than a detection voltage Vt3, which is higher than the target bulk voltage and lower than ground. Where bulk voltage VBULK is lower than detection voltage Vt3, second detector 280 inactivates detection signal DET2, thereby preventing second clock driver 260 from providing oscillation signal OSC to second pump 270. In an event where bulk voltage VBULK is higher than detection voltage Vt3, as shown in FIG. 4, second detector 280 activates detection signal DET2. As detection signal DET2 becomes activated, second clock driver 260 outputs pump clock signal CLK2 to second pump 270 in response to oscillation signal OSC. As such, second pump 270 performs a pump operation, thereby reducing bulk voltage VBULK below detection voltage Vt3. Where bulk voltage VBULK again becomes lower than detection voltage Vt3, detection signal DET2 is inactivated. Accordingly, second pump 270 no longer operates.
  • The operation of bulk voltage generating circuit 170 mentioned above is repeated during each subsequent programming section so as to maintain bulk voltage VBULK below detection voltage Vt3. As a result, an explanation of the subsequent programming sections will be omitted.
  • Where bulk voltage VBULK is higher than detection voltage Vt3, first and second pumps 240 and 270 are operated, and thereby increasing the current driving capability of bulk voltage generating circuit 170. Where bulk voltage VBULK is increased to detection voltage Vt3 or above, bulk voltage VBULK is efficiently lowered by simultaneously operation of first and second pumps 240 and 270. Where bulk voltage VBULK is lowered to below detection voltage Vt3, bulk voltage VBULK is maintained and generated by the first pump in the manner above-described. Although the bulk voltage generating circuit in the exemplary embodiment described above uses two pumps, it is possible for more pumps to be provided.
  • As previously mentioned, programming failures caused by an elevated bulk voltage are prevented by increasing a current driving voltage when the bulk voltage exceeds a detection voltage.
  • The foregoing preferred embodiments are teaching examples. Those of ordinary skill in the art will understand that various changes in form and details may be made to the exemplary embodiments without departing from the scope of the present invention which is defined by the following claims.

Claims (6)

1. A method of programming a non-volatile memory device, the method comprising:
generating a bulk voltage using a first pump;
detecting whether or not the bulk voltage is higher than a detection voltage; and
activating a second pump to generate the bulk voltage in cases where the bulk voltage becomes higher than the detection voltage.
2. The method of claim 1, wherein whether or not the bulk voltage is higher than a detection voltage is detected after the bulk voltage has reached a target bulk voltage
3. The method of claim 2, wherein the first and second pumps are operated simultaneously whenever the bulk voltage is higher than the detection voltage during a programming section of a programming operation.
4. The method of claim 2, wherein the second pump is only operated in cases where the bulk voltage has been detected to be higher than the detection voltage.
5. The method of claim 2, wherein detecting whether or not the bulk voltage is higher than the detection voltage only occurs while a bitline voltage is provided to a bitline.
6. The method of claim 2, further comprising: inactivating the second pump when the bulk voltage becomes lower than the detection voltage in each programming section of the programming operation.
US11/649,815 2004-10-21 2007-01-05 Non-volatile memory device having controlled bulk voltage and method of programming same Abandoned US20070109873A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/649,815 US20070109873A1 (en) 2004-10-21 2007-01-05 Non-volatile memory device having controlled bulk voltage and method of programming same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR2004-84485 2004-10-21
KR1020040084485A KR100645050B1 (en) 2004-10-21 2004-10-21 Non-volatile memory device capable of improving program characteristic and program method thereof
US11/133,347 US7180790B2 (en) 2004-10-21 2005-05-20 Non-volatile memory device having controlled bulk voltage and method of programming same
US11/649,815 US20070109873A1 (en) 2004-10-21 2007-01-05 Non-volatile memory device having controlled bulk voltage and method of programming same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/133,347 Continuation US7180790B2 (en) 2004-10-21 2005-05-20 Non-volatile memory device having controlled bulk voltage and method of programming same

Publications (1)

Publication Number Publication Date
US20070109873A1 true US20070109873A1 (en) 2007-05-17

Family

ID=36206027

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/133,347 Expired - Fee Related US7180790B2 (en) 2004-10-21 2005-05-20 Non-volatile memory device having controlled bulk voltage and method of programming same
US11/649,815 Abandoned US20070109873A1 (en) 2004-10-21 2007-01-05 Non-volatile memory device having controlled bulk voltage and method of programming same

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/133,347 Expired - Fee Related US7180790B2 (en) 2004-10-21 2005-05-20 Non-volatile memory device having controlled bulk voltage and method of programming same

Country Status (2)

Country Link
US (2) US7180790B2 (en)
KR (1) KR100645050B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100645049B1 (en) * 2004-10-21 2006-11-10 삼성전자주식회사 Non-volatile memory device capable of improving program characteristic and program method thereof
JP4870409B2 (en) * 2004-10-26 2012-02-08 三星電子株式会社 Nonvolatile memory device and program method thereof
JP4890369B2 (en) * 2007-07-10 2012-03-07 エルピーダメモリ株式会社 Duty detection circuit, DLL circuit using the same, semiconductor memory device, and data processing system
US10153032B1 (en) * 2017-06-12 2018-12-11 Nanya Technology Corporation Pump system of a DRAM and method for operating the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220534A (en) * 1990-07-31 1993-06-15 Texas Instruments, Incorporated Substrate bias generator system
US5999475A (en) * 1997-08-27 1999-12-07 Mitsubishi Denki Kabushiki Kaisha Internal potential generation circuit that can output a plurality of potentials, suppressing increase in circuit area
US6927620B2 (en) * 2003-01-30 2005-08-09 Renesas Technology Corp. Semiconductor device having a boosting circuit to suppress current consumption

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2976871B2 (en) 1996-02-07 1999-11-10 日本電気株式会社 Semiconductor storage device
KR20000026170A (en) 1998-10-19 2000-05-15 김영환 Direct serial bias safety circuit
JP3854025B2 (en) 1998-12-25 2006-12-06 株式会社東芝 Nonvolatile semiconductor memory device
KR20000030505A (en) 2000-03-04 2000-06-05 김태진 charge pumps for semiconductor device
KR100385226B1 (en) 2000-11-22 2003-05-27 삼성전자주식회사 Flash memory device capable of preventing a program disturb and method for programming the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220534A (en) * 1990-07-31 1993-06-15 Texas Instruments, Incorporated Substrate bias generator system
US5999475A (en) * 1997-08-27 1999-12-07 Mitsubishi Denki Kabushiki Kaisha Internal potential generation circuit that can output a plurality of potentials, suppressing increase in circuit area
US6927620B2 (en) * 2003-01-30 2005-08-09 Renesas Technology Corp. Semiconductor device having a boosting circuit to suppress current consumption

Also Published As

Publication number Publication date
KR20060035132A (en) 2006-04-26
KR100645050B1 (en) 2006-11-10
US7180790B2 (en) 2007-02-20
US20060087890A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
US7286413B2 (en) Non-volatile memory device and method of programming same
KR100660544B1 (en) Flash memory device capable of improving reliability
US7239554B2 (en) Nonvolatile memory device and method of improving programming characteristic
KR0142368B1 (en) Automatic programming dircuit for nonvolatile semiconductor memory
US7692977B2 (en) Voltage generator circuit capable of generating different voltages based on operating mode of non-volatile semiconductor memory device
KR100562506B1 (en) Flash memory device and programming method thereof
US7245537B2 (en) Nonvolatile memory device and method of programming same
US20080074931A1 (en) Multi-block memory device erasing methods and related memory devices
KR100672984B1 (en) Flash memory device capable of reducing program time
US7697342B2 (en) Flash memory device and related high voltage generating circuit
US6965524B2 (en) Non-volatile static random access memory
US6278639B1 (en) Booster circuit having booster cell sections connected in parallel, voltage generating circuit and semiconductor memory which use such booster circuit
KR20120096531A (en) Resetting phase change memory bits
JPH10228784A (en) Non-volatile semiconductor memory
US7180790B2 (en) Non-volatile memory device having controlled bulk voltage and method of programming same
US7372738B2 (en) Flash memory device with reduced erase time
US7649785B2 (en) Flash memory device and related high voltage generating circuit
US7420852B2 (en) Non-volatile memory device providing controlled bulk voltage during programming operations
KR100572332B1 (en) Non-volatile memory device and program method thereof
KR100648272B1 (en) Non-volatile memory device and program method thereof
KR100192567B1 (en) Method of manufacturing semiconductor memory device
KR20060055698A (en) Erase method of non-volatile memory device capable of reducing erase time

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION