The invention relates to a charge pump clock used in a non-volatile memory device, and more particularly, to an accurate clock control circuit for a charge pump used with a non-volatile memory.
A problem with conventional charge pumps associated with non-volatile memories is unstable voltage regulation because of fluctuating current demand. The fluctuation arises because current demanded from a charge pump used in non-volatile memories is proportional to the frequency at which data is read from the memory. More specifically, address changes cause charge to be drawn from the charge pump that must be replenished by clocking the pump.
Clocking of charge pumps is done at a frequency that can exhibit some variability due to process variables, temperature, voltage changes, but is generally uniform. This is illustrated in
Cells of non-volatile memories, such as memory 20, are read by biasing gates with a read voltage and by detecting the current flowing through memory cells. If a cell is programmed, its threshold voltage should be higher than the read voltage, so that no current is drawn by the cell. If the cell is erased, its threshold voltage should be such as to let the current flow through. Detecting the current flow provides for discriminating between programmed and erased cells. To ensure correct read operation and reliable cycling, i.e. multiple cycles of operation of the memory array, certain limits should be observed in the distribution of the threshold voltages of the cells. More specifically, many circuit designs require that the threshold of the best erased cells be above zero, and the threshold voltage of the worst case erased cells be about 2.5V. The lower limit substantially arises from the need to prevent read errors caused by depleted cells, i.e. cells with a threshold voltage below zero. The upper limit is due to the intrinsic distribution of the cell threshold according to the fabrication technology used. Since the read voltage VREAD normally coincides with the supply voltage VCC, a supply voltage of over 3V poses no problem for some designs. A problem arises in the case of memories operating at low VCC. For instance, with a supply voltage VCC of 2.5 V, all the cells with a threshold voltage VTH close to this value conduct little or no current, so that the cell is considered programmed, thus resulting in a read error. A solution to this problem consists of boosting the read voltage, i.e. supplying the gate terminal of the cell to be read with a voltage higher than the VCC. With further reference to
A non-volatile memory should guarantee the user correct reading of the data as long as the time elapsing between the supply of two successive addresses to the input of the memory is longer than, or equal to, the memory access time. In other words, the address transition frequency at the input of the memory is lower than, or equal to, the inverse of the memory access time, which is defined as the time elapsing between the instant at which an address is supplied in a stable way to the input of the memory and the instant at which the content of the address is available at the output of the memory.
To guarantee compliance with the specifications regarding reading times, most prior art charge pumps are sized in such a way as to be able to meet the maximum current requirement by the decoding circuitry to which they are connected as long as the addresses vary at a frequency lower than, or, at the most, equal to the inverse of the memory access time. This is done to guarantee that the read voltage VREAD remains constant over the value of VREF0 within the entire memory operation range.
However, the current required from the charge pump by the decoding circuitry is not constant but is proportional to the frequency at which the addresses at the input of the memory vary, and presents a pulse pattern with peaks at the transitions of the addresses.
A mean value of current <I> is expressed as follows:
<I>˜fADD×CDEC×VREAD, (1)
that is, the mean value of current <I> is a function of the address transition frequency fADD, the read voltage VREAD, and the overall capacitance CDEC as “seen” by the row decoder. The mean value of current <I> is maximized when the row decoder “sees” the maximum capacitance.
The maximum voltage VMAX that the charge pump can theoretically supply when the current requirement is zero is:
VMAX=(n+1)×VCC>VREF0, (2)
where n is the number of boosters forming the charge pump. The maximum current IMAX0 that may be supplied by the charge pump when its output voltage is equal to the supply voltage VCC is as follows:
IMAX0=fCK×CP×VCC. (3)
The frequency fCK of the clock signal CK, starting from which the phases of a charge pump are generated, is determined in such a way as to guarantee that the read voltage VREAD remains constant at the value VREF0 within the entire memory operation range, i.e., as long as the frequency of the addresses access fADD is lower than, or equal to, the inverse of the memory access time, and hence also when the decoding circuitry absorbs the maximum current:
fADDRESS
Most flash non-volatile memories currently available on the market have a memory access time TMEMORY
U.S. Pat. No. 6,560,145 relates to the problem of where the address transition frequency exceeds the maximum frequency acceptable to an associated non-volatile memory. Where address transitions occur at much higher frequencies than the maximum allowable, the read voltage supplied by the charge pump will be inadequate, i.e. below an established failure voltage, VFAIL. During a VFAIL condition a number of memory accesses is halted. The approach taken in the '145 patent is to monitor the phase difference between the charge pump clock and address transitions, then correct accordingly whenever the read voltage drops below a pre-set threshold voltage. This guarantees that the read voltage does not drop below VFAIL.
An object of the invention is to devise a charge pump clock that is stable with respect to frequency and voltage, yet allows for increased address transition frequencies with dynamic response as the transitions exceed a predetermined frequency.
The above object has been met with a charge pump clock associated with a non-volatile memory having a variable but stable frequency and duty cycle for voltage stabilization that depends on the clock or read clock frequency and on the clock or read clock duty cycle. The invention is an adaptive charge pump clock that generates clock edges for the charge pump in a variable manner past a pre-determined address frequency. In one embodiment, the invention generates clock edges at a minimum of TD seconds apart so long as address transitions do not exceed a pre-determined limit. However, if address changes are occurring more frequently than this limit, i.e. 1/(2*TD), then clock edges will be generated at an adaptive rate that is proportional to the rate of address changes, where TD is approximately half of the address period.
The charge pump clock of the present invention features a circuit that implements the following two logic rules in relation to read clock pulses supplied by an edge detector, or by an external chip. The edge detector or separate circuit or chip, supplies positive pulses upon each transition of the address. Rule No. 1, implemented by a first logic circuit, requires that (1a) if the pump clock signal is in a first pump clock state for at least a predetermined period of time, the charge pump clock switches the pump clock signal from the first pump clock state to a second pump clock state; and (1b) if the pump clock signal is in the second pump clock state for at least the same predetermined period of time, the charge pump clock switches the pump clock signal from the second pump clock state to the first pump clock state.
Rule No. 2 is implemented by a second logic circuit that looks for an address change causing the pump clock signal to change state from the current state to the opposite state unless: (i) the first logic circuit caused the pump clock signal to change the pump clock signal state; and (ii) the read clock state change is the first one since the most recent pump clock signal state change.
The first logic circuit, implementing Rule No. 1, includes first and second parallel timers. The two timers receive the pump clock output signal and an inverse pump clock output signal. The two timers each have an output supplying a state driver. The state driver also receives an input from the second logic circuit, implementing Rule No. 2. The state driver has an output pump clock signal tracking changes in the address transition frequency, with adjustments in duty cycle.
The present invention provides a pump clock with a variable frequency and duty cycle that depends on the read frequency and duty cycle. With this approach, the charge pump clock edges occur in direct proportion to the load current. The problem of having a fixed clock source with wide frequency variation is eliminated and thus, the charge pump can be smaller, less expensive, and consume less power than with conventional techniques.
With reference to
In the following discussion, the output signals of the edge detector 8 are termed readclk on line 10 and the output signals of pump clock state driver 15 are termed pumpclk on line 21. The charge pump clock generates pumpclk pulses at a minimum of TD seconds apart, where TD is adjustably half of the address period:
MIN{(Rising edge)(r. e.)pumpclk−(falling edge)(f. e.)pumpclk}=TD. (5)
However, if address changes are occurring more frequently than 1/(2×TD), then the charge pump clock generates a clock signal at a rate proportional to the rate of address changes:
if fADDRESS
The comparison logic can be implemented with hardware or software operating by:
(A) observing the edges on readclk and pumpclk; and
(B) based on the observations, the new states are created on pumpclk according to the following rules:
The basic effect of Rule No. 1 is to cause pumpclk to cycle at a minimum frequency of FMIN=1/(2×TD), even if readclk is not cycling. For example, if TD=25 nS then pumpclk will always cycle with minimum frequency FMIN:
pumpclk_frequency≧FMIN=1/(2×25×10−9)=109/50=20 MHz. (7)
The basic effect of Rule No. 2 is to cause pumpclk to cycle with frequency pumpclk_frequency faster than FMIN if readclk is cycling with frequency readclk_frequency faster than FMIN:
if readclk_frequency≧FMIN→pumpclk_frequency≧FMIN. (8)
The Rule No. 1 logic block 11 and the Rule No. 2 logic block 12 are shown in more detail in
The output signal pumpclk on line 102 of
Rule No. 1 is implemented by using two conventional timers 108 and 110 in
The pumpclk signal on line 102 drives the first timer 108. The inverse of pumpclk signal on line 101 drives the second timer 110. Immediately after the pumpclk signal on line 102 makes a transition from one state to the opposite state, one of timer output signal on line 104 or timer output signal on line 106 will make a transition to logic “1”. This is specific to Rule No. 1. If TD seconds pass without another transition on line 102, one of the timer outputs 104 and 106 will make a transition to logic “0”. The transition of timer output on line 104 or the timer output on line 106 from “1” to “0” will immediately propagate to flip-flop 120 and force the pumpclk signal on line 102 to change logic states.
Rule No. 2 is implemented with most of the remaining circuitry of
Thus, the charge pump clock circuit 100 of
The charge pump clock circuit 100 of
readclk_frequency≧FMIN=1/(2×TD)
and
readclk_duty_cycle<50% (9)
The usage of the charge pump clock 100 of
pumpclk_frequency=readclk_frequency
and
pumpclk_duty_cycle>readclk_duty_cycle. (10)
readclk_frequency≧FMIN=1/(2×TD)
and
readclk_duty_cycle>50% (11)
The usage of the charge pump clock 100 of
pumpclk_frequency=readclk_frequency
and
pumpclk_duty_cycle<readclk_duty_cycle. (12)
readclk_frequency=0;
pumpclk_frequency=FMIN=1/(2×TD). (13)
readclk_frequency<FMIN=1/(2×TD) (14)
The charge pump clock 100 of
pumpclk_frequency=FMIN=1/(2×TD);
and
pumpclk_duty_cycle<readclk_duty_cycle. (15)
The present invention has also the advantage that Rules No. 1 and No. 2 prevent generating pumpclk with “glitching” (i.e. having a very narrow clock pulse) when the frequency of readclk rises/falls below that of FMIN=1/(2×TD).
Number | Name | Date | Kind |
---|---|---|---|
6560145 | Martines et al. | May 2003 | B1 |
6778454 | Duh et al. | Aug 2004 | B1 |
20050018514 | Knaack et al. | Jan 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050237101 A1 | Oct 2005 | US |