Abstract:
A method and circuit for programming a multilevel memory of a flash EEPROM type having a matrix of cells grouped in memory words. The method provides for the simultaneous generation of a first programming voltage value and a second verify voltage value to bias word lines of the memory matrix during programming and verify operations, respectively, of the memory itself. A circuit implementing the above method is also provided.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a method for programming multilevel memories and to a corresponding circuit and, more specifically, to a method for programming multilevel memories of the flash EEPROM type wherein the memory comprises a matrix of cells organized in rows and columns and grouped in memory words and to a circuit of the above type for NROM flash memories with two-bit cells.  
         [0003]     2. Description of the Related Art  
         [0004]     As is well known in semiconductor-integrated memory electronic devices the need for greater “density” has led to the development of so-called multilevel memories, i.e., memories wherein each single flash cell stores a number of bits greater than one.  
         [0005]     A fundamental operation in multilevel memories is programming. In fact, in the case of multilevel memories, with respect to the programming of single-level memories, it is necessary to control, in a very accurate way, the threshold voltage values of the multilevel cells.  
         [0006]     A first known solution to meet this need is represented by a multilevel programming method that uses a sequence of programming and verification pulses.  
         [0007]     Making reference, by way of non limiting example, to a memory with two bits per cell, if the distribution of the cells “00” is considered as a single-level distribution, the method can be divided in two steps: a first real multilevel step, used for constructing the distributions “10” and “01” and a subsequent quicker step for constructing the distribution “00”. It should be noted that the programming of the cells “00” does not necessarily require continuously verifying the evolution of the threshold of the cells under programming.  
         [0008]     In a classical multilevel programming method, a programming step involves a series of box-like voltage pulses applied to the gate terminal of the cells to be programmed, alternated by verify operations. The width of the programmed distribution is a function of the voltage difference between two successive pulses and of the precision with which the cell terminals are regulated. In general, a precise regulation of the voltage implies a slowness of the regulation itself. The verify and programming operations require two different voltage levels applied to the gate terminal.  
         [0009]      FIG. 1  shows the drain (Vdrain) and gate (Vgate) voltages of a memory cell during a multilevel programming. The gate voltage (Vgate) switches between different values, for controlling the programming and verify operations of a cell, employing a time Tpv i  for switching from a programming voltage value (Vgi 1=1 . . . N) to a verify voltage value (Vv) and a time Tvp i  for performing the contrary switch.  
         [0010]     The programming Vgi and verify Vv voltage values are obtained by the same charge pump circuit.  
         [0011]      FIG. 2 , by way of example, globally and schematically shows a programming circuit  100  of a multilevel memory cell.  
         [0012]     In the circuit there are a first supply block  1 , including, for example, a charge pump  1   a , intended to supply voltage values for programming and verify operations and a second supply block  2  that has a charge pump  2   a  intended to supply voltage values for read operations of memory cells. The charge pump  1   a  has a first output line Umod, whereas the second charge pump  2   a  has an output line Uread.  
         [0013]     A voltage Vxs that is regulated by the two charge pumps  1   a ,  2   a  is brought, through a switch  4 , to the input of a row decoder  3 , in turn connected to word lines WLs of the multilevel memory. The switch  4  selects the operation which is to be performed on a corresponding multilevel memory cell, i.e., programming, verifying and reading.  
         [0014]     The switch  4  has a voltage elevator or booster  5  that includes an input connected to a logic gate  6  in turn receiving at an input an enable signal SECT_EN and an operative mode signal MOD. The signal SECT_EN enables a sector whereon an operation has to be performed, whereas the operative mode signal MOD identifies the operation which is to be performed, i.e., programming, verifying or reading.  
         [0015]     Although advantageous under several aspects, this multilevel programming method shows various drawbacks.  
         [0016]     In particular, the management, by a single supply block  1  and, in particular by the single charge pump  1   a , of the switches of the voltage Vxs on the word line WLs, from a programming voltage level to the verify one and vice versa requires considerable time.  
         [0017]     The circuit  100 , by means of the charge pump  1   a , increases the voltage Vxs for a successive programming pulse of a cell only after the end of a verify operation; in consequence, before emitting a new pulse a long time Tvp i  will transpire. Moreover, the time required also increases when the absolute value of the difference between the verify voltage and the voltage of the pulse produced by the charge pump  1   a  voltage increases, as shown in  FIG. 1  wherein Tvp i &gt;Tvp i+1  and Tvp i &gt;Tvp i+1 . In consequence, the management of the switches tends to become slower and slower.  
         [0018]     The technical problem underlying the present invention is that of providing a multilevel programming method having such functional characteristics that reduces the programming times of multilevel cells, overcoming the limits and the drawbacks affecting the known methods.  
       BRIEF SUMMARY OF THE INVENTION  
       [0019]     The disclosed embodiments of the present invention provide a simultaneous generation of programming and verify voltage values for biasing the word lines of a multilevel memory device.  
         [0020]     In accordance with one embodiment of the invention, a method for programming a multilevel memory of the flash EEPROM type having a matrix of cells grouped in memory words and associated with a row decoder circuit supplied by a first supply block and by a second supply block associated with corresponding charge pumps is provided. In accordance with the method, a first programming voltage value and a second verify voltage value are simultaneously generated for biasing word lines of the memory matrix during respective programming and verify operations of the memory.  
         [0021]     In accordance with another aspect of the foregoing embodiment, a programming voltage value and the verify voltage value are applied simultaneously on either two output lines of a second charge pump or on an output line of a third charge pump and an output line of a fourth charge pump, respectively, that are formed as part of the second supply block.  
         [0022]     In accordance with another embodiment of the invention, a programming circuit of multilevel memories is provided that includes a first supply block to generate voltage values for read operations of memory cells; a second supply block to generate voltage values for programming and verify operations of memory cells; a row decoder to select the word lines of memory cells to be selected; a switch to select the programming or verify operation to be performed on memory cells; and the second supply block having a first output line and a second output line, the first output line biasing word lines for programming operations and the second output line biasing word lines for verify operations.  
         [0023]     In accordance with another embodiment of the invention, a programming circuit of multilevel memories is provided that includes a first supply block to generate voltage values for read operations of memory cells; a second supply block to generate voltage values for programming and verify operations of the memory cells; a row decoder to select word lines of memory cells to be programmed; a selection circuit to select the programming or verify operation to be performed on the memory cells; and the second supply block comprising a third charge pump and a fourth charge pump, the third charge pump having an output line to bias word lines for programming operations, the fourth charge pump having an output line to bias word lines for verify operations.  
         [0024]     In accordance with another embodiment of the invention, a method is provided that includes generating a first programming voltage and a verifying voltage; enabling a first switch to supply the first programming voltage to a word line coupled to a matrix of memory cells; and enabling a second switch to supply the verifying voltage to the word line. Ideally the step of generating includes simultaneously generating the programming voltage and the verifying voltage via a program voltage generator and a verifying voltage generator, respectively.  
         [0025]     In accordance with another aspect of the foregoing embodiment, the verifying voltage remains at a constant value, and when the verifying voltage is supplied to the word line, the programming voltage can be generated at a different voltage level for a subsequent programming voltage application.  
         [0026]     In accordance with another aspect of the foregoing embodiment, the method includes disabling the first switch to not supply the first programming voltage at the time of or before the enabling of the second switch; and disabling the second switch at the time of or prior to a further step of enabling the first switch again.  
         [0027]     In accordance with another aspect of the foregoing embodiment, the first programming voltage and the verifying voltage are supplied to the word line via a row decoder.  
         [0028]     In accordance with another embodiment of the invention, a circuit is provided that includes a first voltage generator configured to supply a programming voltage; a second voltage generator configured to supply a verifying voltage; and a selector circuit configured to receive the programming voltage and the verifying voltage and to selectively output one of the programming voltage and the verifying voltage to a word line. Ideally, the first and second voltage generators are configured to simultaneously generate the programming voltage and the verifying voltage.  
         [0029]     In accordance with another aspect of the foregoing embodiment, the word line couples the first and second voltage generators to a matrix of memory cells via a row decoder. In one embodiment, the memory cells comprise a multilevel memory of flash EEPROM cells organized in rows and columns and grouped in memory words. In another embodiment the memory cells comprise two-bit NRON flash memory cells.  
         [0030]     In accordance with another embodiment of the invention, a method is provided that includes simultaneously generating a programming voltage and a verifying voltage, and selectively applying one of the programming voltage and the verifying voltage at a time to a word line.  
         [0031]     In accordance with another aspect of the foregoing embodiment, the simultaneous generation of the programming voltage and the verifying voltage includes varying a voltage level of the programming voltage during the time the verifying voltage is applied to the word line.  
         [0032]     In accordance with another aspect of the foregoing embodiment, simultaneously generating the programming voltage and the verifying voltage includes simultaneously generating the programming voltage at a first voltage generator and generating the verifying voltage at a second voltage generator and applying these two voltages respectively to a selection circuit. 
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS  
       [0033]     The characteristics and advantages of the method and of the circuit according to the disclosed embodiments of the invention will be apparent from the following description thereof given by way of indicative and non-limiting examples with reference to the annexed drawings, wherein:  
         [0034]      FIG. 1  schematically shows the patterns in time of the gate and drain voltages of a multilevel memory cell, during a multilevel programming performed according to the prior art;  
         [0035]      FIG. 2  schematically shows a multilevel programming circuit realized according to the prior art;  
         [0036]      FIG. 3  schematically shows the patterns in time of the drain and gate voltages of a multilevel memory cell during a multilevel programming performed with the method according to the present invention;  
         [0037]      FIG. 4  schematically shows a first preferred embodiment of a multilevel programming circuit according to the present invention; and  
         [0038]      FIG. 5  schematically shows a second embodiment of a multilevel programming circuit according to the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0039]     With reference to  FIG. 4 , a programming circuit of multilevel memories according to a first preferred embodiment, globally indicated with  200 , is shown. The circuit  200  is associated with a matrix of multilevel memory cells, not shown in the drawings since they are conventional. Only a plurality of connections WLS under the rows or word lines of the memory cells of this matrix are schematically indicated, each one being associated with a corresponding decode circuit.  
         [0040]     In the circuit  200  there is a first supply block  11  having a first charge pump  12 , and a second supply block  21  having a second charge pump  22 . The first charge pump  12  is intended to supply voltage values for read operations of memory cells and it has a first output line U. The second charge pump  22  is intended to supply voltage values for programming and verify operations of memory cells.  
         [0041]     Advantageously, according to the invention, the second charge pump  22  has a second output line U PROG  and a third output line U VER , respectively intended to transmit a programming voltage value V PROG  and a verify voltage value V VER  for the programming or verify steps of memory cells.  
         [0042]     Advantageously, according to the invention, V PROG  is regulated at various voltage levels and it is used for biasing the word lines WLs during the programming pulses, whereas V VER  is set at a fixed value and it is used for biasing the word lines WLs during the verify operations.  
         [0043]     The two regulation voltages V PROG  and V VER  are suitably managed through an inner regulation of the circuit  200  and they are connected to the row decoders  13  through a dedicated switch  14 .  
         [0044]     A voltage Vxs, having a value equal to V PROG  while programming and V VER  while verifying and being regulated by the two charge pumps  12  and  22  is supplied, through the switch  14 , at the input of a row decoder  13 , in turn connected to word lines WLs of the multilevel memory.  
         [0045]     The switch  14  selects the operation that is to be performed on a corresponding multilevel memory cell, i.e., programming or verify.  
         [0046]     With respect to the prior solution the switch  14 , intended for the management of the voltage VXS, manages a new high voltage signal. In fact a verify signal VER, as shown in  FIG. 4 , is added, according to the present invention, to the control signals of the prior switch  4 .  
         [0047]     The switch  14  comprises a voltage elevator or booster  15  that has an input connected to a logic gate  16 , in turn receiving at inputs an enable signal SECT_EN, an operative mode signal MOD, and a verify signal VER_N.  
         [0048]      FIG. 5  shows a programming circuit of multilevel memories according to a second embodiment and globally indicated with  300 , wherein components and signals shared by  FIG. 4  will be indicated with the same reference labels.  
         [0049]     In the circuit  300  there is the first supply block  11  having the first charge pump  12 . Such charge pump  12  has an output line U intended to supply voltage values for read operations of the memory cells, as already described with reference to the circuit  200  shown in  FIG. 4 . Advantageously, according to the invention, the second supply block  21  has two separate charge pumps, a third charge pump  23  and a fourth charge pump  24 .  
         [0050]     Advantageously, according to the present invention, the third charge pump  23  has an output line U 2   PROG , for biasing of word lines WLs for programming operations of memory cells, whereas the fourth charge pump  24  has an output line U 2   VER , for biasing word lines WLs for verify operations of memory cells.  
         [0051]     The operation is now described of the circuits  200  and  300  of the two preferred embodiments, according to the invention.  
         [0052]     In both the preferred embodiments, the management of the voltage sources U PROG  and U VER  is different from the one presented in the prior circuits due to the presence of a new verify signal VER at the input of the gate  16 .  
         [0053]     The use of this signal together with the operative mode signal MOD implies a method for programming the multilevel memories of the circuits  200  and  300  that is different from the prior approaches.  
         [0054]     During read operations of a memory cell, the operative mode MOD and verify VER signals will be both at a low logic value; in other words: 
 
MOD=VER=0. 
 
         [0055]     During verify operations of a memory cell, the operative mode signal MOD will be at a low logic value, whereas the verify signal VER will be at a high logic value; in other words, there will be: 
 
MOD=0 and VER=1. 
 
         [0056]     During programming operations of a memory cell, the operative mode signal MOD will be at a high logic value, whereas the verify signal VER will be at a low logic value; in other words, there will be: 
 
MOD=1 and VER=0. 
 
         [0057]      FIG. 3  shows the patterns of the programming voltage V PROG , verify voltage V VER , as well as the drain voltage Vdrain and gate voltages Vgi, Vv of the cell to be programmed or verified, respectively, on the basis of the multilevel programming method, according to the present invention.  
         [0058]     More particularly:  
         [0059]     At time t=t 0 : all the signals are at a low logic value.  
         [0060]     At time t=t 1 : simultaneous initialization of the programming and verify signals. The voltage signals V PROG  and V VER  switch to a high logic value simultaneously, causing the start of a variation of the gate voltage Vgate.  
         [0061]     At time t=t 2 : programming pulse; a programming operation is required. The circuit thus brings the operative mode signal MOD to a high logic value (MOD=1) and it keeps the verify signal VER at a low logic value (VER=0). The gate voltage of the memory cell to be programmed is set at a control value V PROG =Vgate=Vg 1 .  
         [0062]     At time t=t 3 : verify signal is at an operative value. The verify signal V VER  reaches its operative value V VER =VV, waiting to be used for verify operations.  
         [0063]     At time t=t 4 : programming pulse end.  
         [0064]     At time t=t 5 : simultaneous preparation of programming voltages for successive operations. The value of the gate voltage Vgate starts to increase for reaching the verify voltage value VV. The programming voltage V PROG  starts to increase for preparing the successive programming voltage level Vg 2 .  
         [0065]     At time t=t 6 : gate terminal with verify value. The gate reaches a voltage value Vgate=VV, ready to be used for verify operations. Advantageously, according to the invention, the switching time interval Tvp between a programming voltage value and a verify one, such that t 5 &lt;=Tpv&lt;=t 6 , is lower than the prior solutions, being the verify voltage value VV already available at the time t=t 3 .  
         [0066]     At time t=t 7 : verify pulse; a verify operation is required. The circuit thus brings the verify signal VER to a high logic value (VER=1) and it brings the operative mode signal MOD to a low logic value (MOD=0). Simultaneously a new programming pulse value Vg 2  becomes available, for a successive programming operation.  
         [0067]     At time t=t 8 : verify pulse end  
         [0068]     At time t=t 9 : Vgate starts to decrease to reach a successive programming voltage value.  
         [0069]     At time t=t 10 : Vgate reaches a programming voltage value Vg 2 . Advantageously according to the invention, the switching time interval Tvp between a verify voltage value and a programming one, such that t 8 &lt;=Tvp&lt;=t 10 , is lower than the solutions of the prior art, being the verify voltage value Vg 2  already available at time t=t 7 .  
         [0070]     The control signal VER is activated and deactivated by an algorithm. The control signal MOD in the proposed solution is activated at hardware level further to a program control signal (however it could be also managed by an algorithm).  
         [0071]     Advantageously, according to the invention, the voltage signals V PROG  and V VER  are simultaneously increased, respectively for the programming and the verification of memory cells with a transistor; such cells, in consequence, are biased with Vgate values equal to Vgi and Vv.  
         [0072]     Advantageously according to the invention, the simultaneous availability of the two above sources enables preparing the voltage level Vgi+1 of the successive cell programming voltage, once the current pulse has just ended, while the value of the verify voltage VV is constant and always available.  
         [0073]     With the proposed method, the switching wait time Tvp between a verify voltage value and a programming one becomes short, being the programming voltage value to be applied to the gate yet ready. Similarly the switching time Tpv between a programming voltage value and a verify one is reduced, since the verify voltage is always available.  
         [0074]     The two circuit solutions, according to the two preferred embodiments, moreover, occupy the same area in an integrated circuit with respect to the prior solutions.  
         [0075]     In conclusion, the multilevel programming described in the present invention optimizes the management of the gate voltages for programming and verify operations and is more efficient in terms of time with respect to prior circuits, minimizing the times of the transients between programming and verify operations. Moreover, manufacturing an integrated circuit does not require greater area with respect to the prior circuits.  
         [0076]     All of the above U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet, are incorporated herein by reference, in their entirety.  
         [0077]     From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims and the equivalents thereof.