Abstract:
A circuit for use in a memory device is provided, comprising: a level detector that receives a plurality of programming input signals, detects which of the programming input signals are active, and outputs detected signals of varying weight dependant upon the number of programming input signals which are active; a signal generator that receives the detected signals from the level detector and outputs a generated signal having a varying voltage level proportional to the varying weight of the detected signals; and a voltage booster that controls a voltage level of a bias source based on the generated signal.

Description:
TECHNICAL FIELD  
       [0001]     The present invention relates generally to a flash memory device, more particularly, to a circuit and method for controlling boosting voltage.  
       DISCUSSION OF RELATED ART  
       [0002]     There are generally three operation modes in a flash memory, i.e. read, program and erase. Depending on the type of flash memory, each mode typically uses a different bias voltage. For example, a split gate cell type flash memory is programmed by using source side hot carrier injection, which injects a program current in the memory cell from the source to the drain. A boosting voltage is used to provide the program current. The boosting voltage is typically higher than the voltage required for a data read operation. A different voltage is used to generate an electric field sufficient for an erase operation.  
         [0003]      FIG. 1  shows a conventional split gate flash memory cell array. The cells of the flash memory when left unprogrammed has a data “1” value. To program data “0” in a memory cell, such as in (M 5 ), the source line (SL) is connected to the boosting voltage (VPP), the word line (WL 2 ) is connected to a slightly lower boosting voltage. The bit line (BL 1 ) is connected to a logic “0” level, and the pass transistor (P 1 ) is turned on by activating voltage at (A 1 ). With the above applied voltages, the memory cell (M 5 ) is turned-on, and the program current (I) flows from the source (SL) to bit line (BL 1 ). The hot carrier which is generated by the program current (I) injects to the split gate and programs the memory cell (M 5 ). Since a large number of cells are commonly connected to the source line, if many cells are to be programmed with data “0” simultaneously, the total program current has to be increased and the voltage level at the source line (SL) can be lowered due to the large load. The boosting voltage (VPP) connected to the source line (SL) has to be increased to accommodate this condition. However, if the boosting voltage (VPP) is increased, a larger than needed amount of injection current flows when there is a smaller number of memory cells needed to be programmed with data “0”. In such instance, the programmed memory cells are subject to a higher amount of stress due to the high boosting voltage (VPP) and program current. The operational lifetime of the stressed memory cells may shorten.  
         [0004]      FIG. 2  shows a conventional boosting voltage circuit for providing a boosting voltage VPP. The boosting voltage circuit  200  includes a voltage boost portion  21 , which in turn includes an oscillator  211  and a pumping circuit  213 . The pumping circuit  213  outputs a boosting voltage VPP at varied levels when it is oscillated by oscillator  211 , and outputs a predetermined high level when the oscillator is blocked and the charge pump (not shown) in the pumping circuit is stopped. Through level detector  23 , a detected portion of the boosting voltage VPP is output at VDET. When the detected VDET signal is higher than a reference voltage VREF, the HVDET signal is at a high level, and the OSC output of the oscillator  211  is blocked, and the output of NOR gate ( 212 ) is at logic “0”. The charge pumping at the pumping circuit  213  is stopped and VPP is output at a predetermined high level. By use of the conventional boosting voltage circuit, the boosting voltage control is coarsely controlled, depending on the feedback of a portion of the boosting voltage coarsely detected. With such conventional boosting voltage circuit, individual cells of a memory cell array may still be subject to an unnecessary level of stress from high injection current when there are differences in the number of cells to be programmed with data “0” from one cell array to the next.  
         [0005]     A need therefore exists for a circuit and method for controlling a boosting voltage to provide programming current suitable for varying amounts of cells to be programmed.  
       SUMMARY OF THE INVENTION  
       [0006]     A circuit is provided for use in a memory device, comprising a level detector that receives a plurality of programming input signals, detects which of the programming input signals are active, and outputs detected signals of varying weight dependant upon the number of programming input signals which are active; a signal generator that receives the detected signals from the level detector and outputs a generated signal having a varying voltage level proportional to the varying weight of the detected signals; and a voltage booster that controls a voltage level of a bias source based on the generated signal.  
         [0007]     The circuit wherein the level detector includes: a plurality of input transistors that receive the respective plurality of programming input signals; and a first resistor network that connects to the plurality of input transistors to output at each of a plurality of network nodes a portion of a fixed voltage dependant upon the number of programming input signals which are active.  
         [0008]     The circuit further includes a comparator that connects to the plurality of network nodes, compares the voltage levels at the network nodes against a reference voltage, and outputs the detected signals of varying weight based on the voltage levels at the network nodes.  
         [0009]     The circuit wherein the signal generator includes a plurality of receiving transistors that receive the respective detected signals, the receiving transistors connect to a second resistor network that is biased by the bias source, the second resistor network having a node that outputs the generated signal.  
         [0010]     The circuit wherein the voltage booster includes a comparator that compares the voltage level of the generated signal against a reference voltage to output a compared signal that at one level causes an increase in the voltage of the bias source and at another level does not increase the voltage of the bias source.  
         [0011]     The circuit wherein the memory is a flash memory.  
         [0012]     The circuit wherein the flash memory is one of a split gate type and a stack gate type.  
         [0013]     The circuit wherein the bias source is used to supply current to program the flash memory.  
         [0014]     The circuit wherein the voltage level of the bias source is increased proportionally as the number of programming inputs which are active increases.  
         [0015]     A method of controlling a bias source in a memory device is also provided, comprising receiving a plurality of programming input signals; generating detected signals of varying weight dependant upon the number of programming input signals which are active; generating a generated signal having a varying voltage level proportional to the varying weight of the detected signals; and controlling a voltage level of the bias source based on the generated signal.  
         [0016]     The method further includes receiving at a plurality of input transistors the respective plurality of programming input signals, the input transistors connect to a resistor network to output at each of a plurality network nodes a portion of a fixed voltage dependant upon the number of programming input signals which are active.  
         [0017]     The method further includes comparing the voltage levels at the network nodes against a reference voltage, and generating the detected signals of varying weight based on the voltage levels at the network nodes.  
         [0018]     The method further includes receiving at a plurality of receiving transistors the respective detected signals, the receiving transistors connect to a resistor network that is biased by the bias source, the resistor network having a node that outputs the generated signal.  
         [0019]     The method further comprises comparing the voltage level of the generated signal against a reference voltage to output a compared signal that at one level causes an increase in the voltage of the bias source and at another level does not increase the voltage of the bias source.  
         [0020]     The method wherein the memory is a flash memory.  
         [0021]     The method wherein the flash memory is one of a split gate type and a stack gate type.  
         [0022]     The method wherein the bias source is used to supply current to program the flash memory.  
         [0023]     The method wherein the voltage level of the bias source is increased proportionally as the number of programming inputs which are active increases.  
         [0024]     According to another aspect of the disclosure, a circuit is provided for use in a memory device, comprises means for receiving a plurality of programming input signals, detecting which of the programming input signals are active, and outputting detected signals of varying weight dependant upon the number of programming input signals which are active; means for receiving the detected signals and outputting a generated signal having a varying voltage level proportional to the varying weight of the detected signals; and means for controlling the voltage level of a bias source based on the generated signal.  
         [0025]     The circuit wherein the memory is a flash memory.  
         [0026]     The circuit wherein the flash memory is one of a split gate type and a stack gate type.  
         [0027]     The circuit wherein the bias source is used to supply current to program the flash memory.  
         [0028]     The circuit wherein the voltage level of the bias source is increased proportionally as the number of programming inputs which are active increases.  
         [0029]     A circuit for use in a memory device, comprises an input measurer that receives a plurality of programming input signals and outputs a generated signal having a varying voltage level in response to the plurality of programming input signals which are active; and a voltage booster that controls a voltage level of a bias source based on the generated signal.  
         [0030]     The circuit wherein the memory is a flash memory.  
         [0031]     The circuit wherein the flash memory is one of a split gate type and a stack gate type.  
         [0032]     The circuit wherein the bias source is used to supply current to program the flash memory.  
         [0033]     The circuit wherein the voltage level of the bias source is increased proportionally as the number of programming inputs which are active increases. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0034]     The features of the present invention will become understood by those having ordinary skill in the art by describing, in detail, exemplary embodiments thereof with reference to the attached drawings, wherein like elements are represented by like reference numerals.  
         [0035]      FIG. 1  shows a conventional split gate flash memory cell array.  
         [0036]      FIG. 2  shows a conventional boosting voltage circuit for providing a boosting voltage.  
         [0037]      FIG. 3  shows a boosting voltage circuit according to an embodiment of the present invention.  
         [0038]      FIG. 4  is a schematic block diagram of the level detector  331  of  FIG. 3 .  
         [0039]      FIG. 5  is a schematic diagram of an exemplary signal generator  333  according to an embodiment of the present invention.  
         [0040]      FIG. 6  shows the operation of detector circuit  33  for an instance when the number of DATA to be programmed “0” is 32.  
         [0041]      FIG. 7  shows the operation of detector circuit  33  for an instance when the number of DATA to be programmed “0” is 24.  
         [0042]      FIG. 8  shows the operation of detector circuit  33  for an instance which the number of DATA to be programmed “0” is 16.  
         [0043]      FIG. 9  shows the operation of detector circuit  33  for an instance which the number of DATA to be programmed “0” is 8.  
         [0044]      FIG. 10  shows a simulation result of the voltages VPP 1 , the boosting voltage of conventional structure; VSL 1 , the source line voltage of conventional structure (variable); VPP 2 , the boosting voltage provided by a circuit of the present invention; and VSL 2 , the source line voltage provided to a circuit of the present invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0045]      FIG. 3  shows a boosting voltage circuit according to an embodiment of the present invention. The boosting voltage circuit  300  comprises a pump control circuit  31  and a boost voltage and program input detect circuit (hereafter “detector circuit”)  33 . The pump control circuit  31  includes oscillator  311  for providing an oscillating signal to pumping circuit  313  to output a boosting voltage VPP at varying levels. The oscillation signal output at the oscillator  311  can be blocked at NOR gate  312  by a high level input from the operational amplifier  314  at HVDET. The inputs of the amplifier  314  are reference voltage VREF and boosting detect VDET output from the detector circuit  33 .  
         [0046]     The detector circuit  33  includes a level detector  331  and a signal generator  333 . The level detector  331  receives input data DATA( 0 ) to DATA(n) and outputs DET(x) signals, representing a weight of the number of DATA 0  to DATAn signals to be programmed. The signal generator  333  receives the DETx signals and outputs the boosting detect VDET signal which is proportional to the weight of the DETX signals and the level of the boosting voltage VPP. When the VDET signal is higher than VREF, the HVDET signal output at comparator  314  is at a high level to block the OSC output from oscillator  311 . In such case, the output of NOR gate ( 212 ) is logic “0” and the charge pumping is stopped and VPP is set to a predetermined non-pump level.  
         [0047]      FIG. 4  is a schematic block diagram of the level detector  331  of  FIG. 3 . The level detector  331  includes a detection voltage generator  41  and a compare circuit  43 . The detection voltage generator  41  detects the input data DATA 0  to DATA n (in this embodiment, n=31) by use of NM( 0 ) to NM(n) NMOS transistors, with their gates connected to corresponding inputs DATA 0  to DATAn, their drains commonly connected to node N and their sources connected to ground or VSS. Upon receipt of an active signal at its gate input, each of the transistors NMO to NMn presents a lower resistance to node N with respect to ground or Vss. Thus, if a large number of cells are to be programmed, a large number of transistors NM 0  to NMn will present as low resistance, and in parallel the resistance presents to node N is even lowered or near zero. Connected to node N through a series of resistors RZ, RY, RX, and RW, and transistor PM 1  is the bias voltage VDD. The resistance values for RZ, RY, RX, and RW are preferably 1K, 1K, 2K, and 10K ohms. With such transistor and resistor network, detection voltages DETI 1 , DETI 2 , DETI 3  are generated at distributed nodes between the series resistors RZ, RY, RX and RW to represent a weight which varies depending on the number of active signals among DATA 0  to DATAn. For example, DATA “ 0 ”(Inc)=&gt;off NMOS(Inc)=&gt;IDET(Dec)=&gt;Voltage of DET 11 ˜DET 13 (Inc).  
         [0048]     The compare circuit  43  includes amplifier  431  and level shifter  433 . The amplifier  431  receives the detection voltages (DET 1  to  3 ) and reference voltage VREF for comparison and output to the level shifter  433 , wherein VPP is also input to serve as a reference for proper shifting and output of signals (DETO 1 ˜DETO 3 ). Data “ 0 ”(Inc)=&gt;Voltage of DETI 1 ˜DETI 3 &gt;VREF=&gt;High logic output(DETO 1 ˜DETO 3 ). For example, Data “ 0 ”(Dec)=&gt;Voltage of DETI 1 ˜DETI 3 &lt;VREF=&gt;Low logic output (DETO 1 ˜DETO 3 ).  
         [0049]      FIG. 5  is a schematic diagram of an exemplary signal generator  333  according to an embodiment of the present invention. The signal generator  333  includes PMOS transistors PM 2 , PM 3 , and PM 4  for receiving DETO 1 , DETO 2 , and DETO 3 , respectively output from the level detector  331 . The transistors PM 2  to PM 4  are in turn connected to respective transistors RTa, RTb and RTc. When there is a large number of DATA to be programmed “0”, a large number of the NM 0  to NMn transistors are turned off to present a high resistance at node N. DETO 1 , O 2 , O 3  are at a high logic level, PM 2 ,  3 ,  4  are turned-off, current flows through all registers (path A), and VDET is close to VSS or at a low voltage level.  
         [0050]     When there is a small number of DATA to be programmed “0”, DETO 1 ,  2 ,  3  are at low logic level, PM 2 ,  3 ,  4  are turned-on, current flows through the transistors and resistors RT and RB (path B), VDET is closer to boost voltage VPP or at a higher level.  
         [0051]     It can be seen that even with the boosting voltage (VPP) held constant, the voltage detect VDET is varied in proportion to the input data DATA 0  to DATAn.  
         [0052]      FIG. 6  shows the operation of detector circuit  33  for an instance when the number of DATA to be programmed “0” is 32. All NMOS transistors (NMO˜NM 31 ) are turned-off. All detected signals (DETI 1 ,  2 ,  3 ) are higher than the VREF. All output signal of level detector is high. All PMOS transistors (PM 2 ,  3 ,  4 ) are turned-off. The voltage detect VDET is the lowest given the resistor network at which it is connected. The voltage of VDET can be represented by: 
 [ RB/ ( Rta+RTb+RTc+RT+RB )]* VPP=VDET   (1)  
         [0053]     If the VDET is higher than VREF, the charge pumping is stopped. The boosting voltage VPP is set by the following: 
 
[ RB/ ( Rta+RTb+RTc+RT+RB )]* VPP=VDET&gt;=VREF   (2) 
 
         [0054]     Then, 
 
 VPP=[ ( Rta+RTb+RTc+RT+RB )]* VREF   (3) 
 
         [0055]     According to this example, with all 32 cells to be programmed, a large amount of program current is needed and a high boosting voltage VPP is needed. Here, VPP is set at the highest boosting level.  
         [0056]      FIG. 7  shows the operation of detector circuit  33  for an instance when the number of DATA to be programmed “0” is twenty-four (24). 24 of DATA 0  to DATAn are at a low level and the corresponding 24 NMOS transistors NM 0  to NMn are turned-off. 8 of the NM 0  to NMn NMOS transistors are left on to yield a relatively low resistance at node N. DETI 1  and DETI 2  are higher than the VREF, and DETI 3  is lower than the VREF. DETO 1  and DETO 2  are at a high level and DETO 3  is at a low level. Only one PMOS transistor (PM 4 ) is turned-on.  
         [0057]     The voltage of VDET is: 
 
[ RB/ ( Rta+RTb+RT+RB )]* VPP=VDET   (4) 
 
         [0058]     If the VDET is higher than VREF, the charge pumping is stopped and the VPP is set. 
 
[ RB/ ( RTa+RTb+RT+RB )]* VPP=VDET&gt;=VREF   (5) 
 
         [0059]     Then, 
 
 VPP=[ ( RTa+RTb+RT+RB ) /RB]*VREF   (6) 
 
         [0060]     According to this example, with 24 cells to be program, a somewhat larger but not the largest boosting voltage VPP is needed and it is provided pursuant to the voltage division network as described in Equation (6).  
         [0061]      FIG. 8  shows the operation of detector circuit  33  for an instance which the number of DATA to be programmed “0” is 16. 16 NMOS transistors are turned-off. 16 NMOS transistors are turned-on. DETI 1  is higher than the VREF, and DETI 2  and DETI 3  are lower than the VREF. DETO 1  is at a high level and DETO 2  and DETO 3  are at a low level. Only one PMOS transistor (PM 2 ) is turned-off. The voltage of VDET is 
 [ RB/ ( RTa+RT+RB )]* VPP=VDET   (7)  [ RB/ ( RTa+RT+RB )]* VPP=VDET&gt;=VREF   (8)  
         [0062]     If the VDET is higher than VREF, the charge pumping is stopped. The boosting voltage VPP is set at: 
 
 VPP=[ ( Rta+RT+RB ) /RB]*VREF   (9) 
 
         [0063]     With 16 cells to be programmed, the boosting voltage should be at the midpoint of its highest and lowest voltage levels, as represented by Equation (9).  
         [0064]      FIG. 9  shows the operation of detector circuit  33  for an instance which the number of DATA to be programmed “0” is 8.  
         [0065]     Eight of the NMOS transistors NM 0  to NMn are turned-off. 24 of the NMOS transistors remain turned-on. All detected signals (DET 11 ,  2 ,  3 ) are lower than the VREF. All output signals DETO 1  to O 3  of the level detector  331  are low. All PMOS transistors (PM 2 ,  3 ,  4 ) are turned-on.  
         [0066]     The voltage of VDET is: 
 
[ RB/ ( RT+RB )]* VPP=VDET   (10) 
 
         [0067]     If the VDET is higher than VREF, the charge pumping is stopped. 
 
[ RB/ ( RT+RB )]* VPP=VDET&gt;=VREF   (11) 
 
         [0068]     The boosting voltage VPP is set at: 
 
 VPP=[ ( RT+RB ) /RB]*VREF   (12) 
 
         [0069]     According to this embodiment of the invention, the boosting voltage VPP is at a low level to source the program current for eight cells.  
         [0070]      FIG. 10  shows a simulation result of the voltages VPP 1 , the boosting voltage of conventional structure; VSL 1 , the source line voltage of conventional structure (variable); VPP 2 , the boosting voltage provided by a circuit of the present invention; and VSL 2 , the source line voltage provided to a circuit of the present invention. It can be seen that in the conventional boosting circuit, the boosting voltage VPP, remains near constant irrespective of the number of DATA to be programmed “0”, while the source line voltage SL 1  is decreased as the number of DATA to be programmed “0” increases. According to the present invention, the reverse is seen, e.g., the boosting voltage VPP 2  increases as the number of DATA to be programmed “0” increases, while the source line voltage SL 2  remains constant.  
         [0071]     Having thus described exemplary embodiments of the present invention, it is to be understood that the invention defined by the appended claims is not to be limited by particular details set forth in the above description of exemplary embodiments as many apparent variations thereof are possible without departing from the spirit or scope of the invention as hereafter claimed.