Method for determining an optimal voltage pulse for programming a flash memory cell
09627074 · 2017-04-18
Assignee
Inventors
Cpc classification
G11C29/24
PHYSICS
G11C16/102
PHYSICS
G11C2216/02
PHYSICS
International classification
Abstract
A method for determining an optimal voltage pulse for programming a flash memory cell, the optimal voltage pulse being defined by a voltage ramp from a non-zero initial voltage level during a programming duration, wherein the method takes into account a set of parameters including a programming window target value and a drain current target value of the memory cell.
Claims
1. A method for determining an optimal voltage pulse for programming a NOR-type flash memory cell comprising a floating gate, a control gate and a drain, said optimal voltage pulse, to be applied to the control gate of the memory cell, being defined by a voltage ramp from a non-zero initial voltage level during a programming duration, the method comprising: providing a set of parameters including a programming window target value and a drain current target value of the memory cell; dynamically measuring a drain current of the memory cell when a rectangular-shaped voltage pulse is applied to the control gate; providing a transistor equivalent to the memory cell and comprising a gate electrode and a drain electrode, such that the a drain current of the transistor is equal to the drain current of the memory cell when the gate electrode of the transistor is brought to a potential equal to the a potential of the floating gate of the memory cell; dynamically measuring the drain current of the transistor as a function of the potential of the gate electrode of the transistor; determining the potential of the floating gate during the rectangular-shaped voltage pulse, from the measurement of the drain current of the memory cell and the measurement of the drain current of the transistor; determining, respectively from the drain current target value, the potential of the floating gate during the rectangular-shaped voltage pulse and from the programming window target value, the initial voltage level, a slope of the voltage ramp and the programming duration, such that the drain current of the memory cell during the optimal voltage pulse is substantially equal to the drain current target value; and wherein the drain of the memory cell is brought, during the measurement of the drain current of the memory cell, to a constant potential identical to that of the drain electrode of the transistor during the measurement of the drain current of the transistor.
2. The method according to claim 1, wherein the initial voltage level is determined from the measurement of the drain current of the memory cell at a start of the rectangular-shaped voltage pulse, by measuring the value of the potential applied to the control gate of the memory cell for which the drain current is equal to the drain current target value of the memory cell.
3. The method according to claim 1, wherein the slope of the voltage ramp is determined from the derivative of the potential of the floating gate, when the potential of the floating gate reaches a floating gate potential target value corresponding to the drain current target value.
4. The method according to claim 1, wherein the programming duration is determined from the programming window target value and from the slope of the voltage ramp.
5. The method according to claim 4, wherein the programming duration is calculated using the following relationship:
t.sub.pulse=PW.sub.TG/S where PW.sub.TG is the programming window target value and S is the slope of the voltage ramp.
6. The method according to claim 1, wherein the transistor equivalent to the memory cell to program is comprised of a test flash memory cell, of identical geometry to the flash memory cell to program, having a floating gate and a control gate in short-circuit.
7. A non-transitory computer program product comprising instructions for implementing a method according to claim 1, when executed by a computer.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1) Other characteristics and advantages of the invention will become clear from the description that is given thereof below, for indicative purposes and in no way limiting, with reference to the appended figures, among which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11) For greater clarity, identical or similar elements are marked by identical reference signs in all of the figures. Furthermore, in some of the figures, the currents and electrical potentials are expressed in arbitrary units (a.u.).
DETAILED DESCRIPTION OF AT LEAST ONE EMBODIMENT
(12) In the description that follows, a unit EEPROM-Flash memory (i.e. of a capacity of 1 bit) of NOR type is called flash memory cell. This cell may be embedded in a test circuit, to develop and qualify EEPROM-Flash technology, or constitute the base of a flash memory circuit. A flash memory circuit, or memory array, includes a plurality of these memory cells arranged in lines and columns. NOR-type EEPROM-Flash memory circuits today equip numerous electronic devices, for example mobile telephones, for storing all types of information, in particular programs.
(13) As described previously (
(14) In this flash memory cell, the potential V.sub.FG(t) of the floating gate over time depends on the polarizations Vg(t) and Vd(t) of the transistorrespectively on the control gate G and on the drain Dand the charge of electrons Q.sub.FG(t) in the floating gate. It is written:
(15)
(16) In the above relation, .sub.G and .sub.D are respectively the coupling factors of the control gate and drain (fixed by the architecture of the cell), and C.sub.tot is the total capacitance of the cell.
(17) Thus, when the cell is normally programmed at a constant potential Vd(t) (Vd(t)=Vd.sub.PROG) and at a constant potential Vg(t), the evolution of the potential V.sub.FG(t) of the floating gate only depends on the charge of electrons Q.sub.FG(t) in the floating gate. The reduction in this charge (or its increase in absolute value, the charge Q.sub.FG(t) being negative) during the programming thus causes a reduction in the potential V.sub.FG(t) of the floating gate. This explains on the one hand the increase in the threshold voltage of the floating gate transistor and on the other hand the reduction in the drain current Id(t), when a rectangular gate pulse is applied to the gate electrode (
(18) Rather than applying a rectangular gate pulse, it is wished to apply to the control gate of the memory cell a voltage pulse allowing to maintain constant programming efficiency during the entire programming duration, in other words constant drain Id(t) and gate Ig(t) currents during programming. A constant drain current Id(t) implies a constant potential V.sub.FG(t) of the floating gate. The following equation (drawn from the preceding relationship (1)) ensues:
(19)
(20) It thus appears that a linear increase of the potential Vg(t) during programming is necessary to ensure constant programming efficiency.
(21)
(22) This shape of gate pulse allows to compensate the reduction in charge Q.sub.FG in the floating gate linked to the trapping of electrons, during the programming of the memory cell. In fact, by progressively increasing the potential Vg(t) applied to the control gate of the memory cell, the value of the parameter .sub.G.Math.Vg(t) is increased in the potential relationship V.sub.FG(t) (relationship (1)).
(23) Determining the optimal gate pulse 30 to program the flash memory cell consists in determining the slope S of the ramp, the initial voltage level Vg.sub.start and the duration of the pulse t.sub.pulse, fixing as objective reaching a target value of the programming window, noted PW.sub.TG, and the drain current target value Id.sub.TG (that is to say the value at which it is wished to maintain the drain current Id(t)). At least one of these parameters, the slope S, requires determining beforehand the potential V.sub.FG(t) of the floating gate during conventional programming. Conventional programming is taken to mean programming by means of a rectangular-shaped gate pulse.
(24) The determination of the potential V.sub.FG(t) is based on the use of a transistor equivalent to the memory cell of which it is wished to optimize the programming.
(25)
(26) The equivalent transistor 40 is, preferably, comprised of a test flash memory cell, of identical geometry to the flash memory cell 10, and in which the floating gate and the control gate are in short-circuit. The floating gate and the control gate of this reference cell thus form the gate electrode G of the equivalent transistor 40.
(27)
(28) At step F1 of
(29) Besides, in F2, the drain current Id.sub.TREQ of the equivalent transistor 40 is measured as a function of its gate potential Vg.sub.TREQ. This measurement is also carried out in a dynamic manner, and preferably in the same conditions as the measurement of step F1 (same appliance, same sampling duration, etc.). Moreover, the drain D of the transistor 40 is brought to the same potential Vd.sub.PROG=4 V as previously.
(30) Since the two measurements are independent, step F1 and step F2 may be carried out in any order.
(31) Step F3 represented in
(32) In other words, the characteristic Id.sub.TREQ(Vg.sub.TREQ) of
(33) Finally, during a final step of the method, the characteristics of the optimal gate pulse 30 are determined, namely the gate potential Vg.sub.start at the start of the ramp 31, the slope S of the ramp 31 and the duration of the pulse t.sub.pulse, such that the drain current Id of the flash memory cell during optimal programming reaches the target value Id.sub.TG and that the programming window of the cell is equal to the target value PW.sub.TG.
(34) In a preferential embodiment of the determining method, this final step is broken down into three sub-steps, of which two are represented by
(35) The initial voltage level Vg.sub.start is the value of the potential Vg to apply to the control gate of the memory cell at the start of programming, i.e. in the absence or almost absence of electrical charges in the floating gate, in order to obtain a drain current Id equal to the target value Id.sub.TG. It is thus advisable to establish the link between the drain current Id and the potential Vg when the cell is in the erased state.
(36) This link is given directly by the measurement F1 of the drain current Id(t) of the flash memory cell, when the memory cell is programmed in a conventional manner (
(37)
(38) This graph allows to determine simply the initial voltage level Vg.sub.start of the optimal pulse 30. The drain current target value Id.sub.TG is firstly reported on this graph, to determine the instant t of conventional programming where the drain current Id of the floating gate is equal to the target value Id.sub.TG. Then, the gate potential Vg at this same instant is determined, it is equal to the initial voltage level Vg.sub.start.
(39) As indicated previously, the slope S of the optimal gate pulse 30 (
(40)
(41) where Ig.sub.TG is the value which the gate current Ig takes during the programming of the memory cell (Ig(t)=cte=Ig.sub.TG), this value being called hereafter gate current target value.
(42) The gate current Ig(t) during conventional programming is written:
(43)
(44) The gate current target value Ig.sub.TG is thus equal to the total capacitance C.sub.tot of the memory cell multiplied by the derivative of the potential of the floating gate V.sub.FG(t), at an instant t of conventional programming where the potential of the floating gate V.sub.FG(t) reaches a value V.sub.FG-TGknown as floating gate potential target valuecorresponding to the drain current target value Id.sub.TG.
(45) The expression of the slope S then becomes:
(46)
(47) Thus, in the preferential embodiment of the determining method, the slope S may be determined simply and rapidly from the derivative of the potential of the floating gate V.sub.FG(t) when this is equal to the target value V.sub.FG-TG, either by calculation using the above equation, or graphically by means of the plot of the floating gate potential V.sub.FG(t).
(48)
(49)
(50) The duration t.sub.pulse of the optimal pulse 30, in other words the programming duration, influences directly the programming window of the memory cell. The duration t.sub.pulse is thus determined from the programming window target value PW.sub.TG.
(51) The programming window target value PW.sub.TG is given by the following relationship:
(52)
(53) Since the gate current Ig(t) is assumed constant during the entire programming duration t.sub.pulse (Ig(t)=cte=Ig.sub.TG), the preceding equation is simplified in the form:
(54)
(55) The duration t.sub.pulse of the optimal pulse is thus equal to:
(56)
(57) Thus, a simple and rapid way of determining the duration t.sub.pulse consists in calculating the ratio between the programming window target value PW.sub.TG and the slope S of the voltage ramp, the latter having been thus determined previously at step F43.
(58)
(59) The pulses P1, P2 and P3 have been determined for one programming window target value PW.sub.TG equal to 6 V and for three drain current target values: respectively Id.sub.TG1, Id.sub.TG2 and Id.sub.TG3 (with Id.sub.TG1<Id.sub.TG2<Id.sub.TG3).
(60) The plots of the drain current Id show that, for each optimal pulse P1 to P3, the drain current Id (full line) is substantially constant, unlike the drain current caused by a rectangular pulse 20 (dotted lines). Constant programming efficiency is thus obtained thanks to these optimal pulses. Moreover, the drain current target value Id.sub.TG is practically reached for each optimal pulse P1 to P3. The difference between the drain current Id(t) and the corresponding target value Id.sub.TG observed in these examples can be attributed to the variations in performances from one memory cell to the next (due to the variability of the manufacturing method). These variations here concern the programmed memory cell and the equivalent transistor having served in the determination of the optimal pulses P1-P3, itself comprised of a flash memory cell. The difference between the target value Id.sub.TG and the real value of the drain current Id(t) is less than 10 A. The method for determination is thus satisfactory in terms of precision.
(61) As may be seen in
(62) Certain of the steps of the method above, in particular step F3 and the step that follows it, may be executed by a software. This software determines, from measurements of drain current on the flash memory cell (step F1) and on the equivalent transistor (step F2), the optimal gate pulse which satisfies the programming parameters Id.sub.TG and PW.sub.TG entered by the user in the software. Thanks to this software, it is possible to simulate rapidly a large number of optimal pulses, using the same measurements of drain current on the cell and on the equivalent transistor. A single operation of conventional programming of the memory cell is thus necessary. The software is, preferably, installed on a computer connected to the PIV or FMU measurement appliance. Thus, the computer executes a program which controls the measurement appliance for carrying out dynamic current measurements, recovers the measurement data, and compiles these data, for example by means of a processor, to determine the optimal voltage pulse.
(63)
(64) This type of abacus thus represents the compromise between the programming window PW.sub.TG, the energy consumption Ec and the maximum drain current Id.sub.TG of the memory cell. It enables flash memory manufacturers to choose the optimal gate pulse, as a function of the specifications to comply with. Each curve of the abacus delimits a forbidden operating zone (below the curve) and an authorized operating zone (above the curve). For example, if the manufacturer desires a programming window PW.sub.TG of at least 6 V and a consumed energy Ec not exceeding 1 nJ, the maximum drain current Id.sub.TG cannot be lower than the value Id.sub.TGmin. The manufacturer must choose an optimal pulse for which the compromise PW.sub.TG/Ec/Id.sub.TG belongs to the hatched zone 90 in