|Publication number||US6011715 A|
|Application number||US 09/185,906|
|Publication date||Jan 4, 2000|
|Filing date||Nov 3, 1998|
|Priority date||Nov 3, 1997|
|Also published as||DE69723700D1, EP0913832A1, EP0913832B1|
|Publication number||09185906, 185906, US 6011715 A, US 6011715A, US-A-6011715, US6011715 A, US6011715A|
|Inventors||Marco Pasotti, Pier Luigi Rolandi, Roberto Canegallo, Danilo Gerna, Ernestina Chioffi|
|Original Assignee||Stmicroelectronics S.R.L.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (8), Non-Patent Citations (8), Referenced by (66), Classifications (8), Legal Events (8)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates to a method for multilevel programming of a nonvolatile memory, and a multilevel nonvolatile memory.
As is known, at present, the cells of a nonvolatile memory, in particular a flash memory, are programmed by biasing the gate terminal of the cell to be written (by means of a word line) to a first predetermined potential (for example, 8-9 V), the drain terminal to a second predetermined potential (for example, 5 V), and the source terminal to ground. Thus, by hot electron injection, electrons are trapped in the floating gate region of the cell, and therefore the threshold voltage of the cell is modified.
By its very nature, the phenomenon of hot electron injection is uncontrolled and cannot be repeated with precision; consequently, programming is carried out by providing a plurality of programming pulses and reading the threshold voltage of the cell after each programming pulse (verifying step), to evaluate whether the required value has been reached, and decide whether to apply further programming pulses.
Now, high-density digital data storage techniques are being designed (which can provide more than eight levels); these techniques require the use of feedback circuits in the programming circuitry (designed to provide the programming pulses and carry out the verify step), which however make the verify step slower and lengthen programming, which altogether can comprise 70-100 verify steps.
One object of the invention is thus to provide a method and a memory that permit analog or multilevel programming which is highly accurate, but nevertheless fast.
One aspect of the present invention provides a multilevel programming method for a nonvolatile memory, and a multilevel nonvolatile memory, as defined, for example, respectively in claim 1 and claim 7.
For understanding the present invention, a preferred embodiment is now described, purely by way of non-limiting example, with reference to the attached drawings.
FIG. 1 shows the block diagram of a flash memory according to one embodiment of the present invention.
FIGS. 2-4 show plots relating to the present method.
FIG. 5 shows a flow chart relating to the operations of the present method.
FIGS. 6 and 7 show plots which can be obtained by means of the present method.
The present invention is based on the finding that when a series of programming voltage pulses with a linearly increasing amplitude (discrete ramp comprising a plurality of constant amplitude steps) is applied to the gate terminal of a cell to be programmed, after a given time, necessary for the system to achieve equilibrium, the threshold voltage of the cell increases in the same manner as the programming voltage, i.e., if ΔVG is the increment of the programming voltage applied to the gate terminal of the cell at each pulse, the obtainable increment of the threshold voltage ΔVth is equal to:
as shown, for example, in "Technological and design constraints for multilevel flash memories" by C. Calligaro, A. Manstretta, A. Modelli, G. Torelli, Proceedings of International Conference on Electronic Circuits and Systems, Rhodes, Greece, 1996, p. 1003.
Consequently, once the increase speed of the gate voltage (i.e., slope defined by successive programming voltage pulses) has been set, highly accurate reading of the initial threshold value of the cell to be programmed makes it possible, based on the target threshold voltage value, to find out the time necessary to reach this target value. Based on the (predetermined) duration of the programming pulses, it is thus possible to calculate the number of programming pulses that are necessary for cell programming. Consequently, it is no longer necessary to carry out a verify step after each application of a programming pulse, but the reached threshold voltage level needs to be verified only a limited number of times, ideally only after application of all the previously determined programming pulses.
In practice, since calculation of the number of necessary pulses is correct only after equilibrium has been reached, and since account must be taken of inaccuracy conditions, according to one embodiment of the present method, a first sequence of pulses is initially applied, to take the cell into an equilibrium condition; a verify read is then carried out to identify the value of the current threshold voltage of the cell; the number of pulses necessary to obtain the target threshold value is calculated; a number of pulses which is close to the number of pulses just calculated is applied, to avoid cell overwriting; the current threshold value is verified out once more; the number of pulses necessary to obtain the target threshold voltage is calculated; the just calculated number of pulses is applied; and verify read is carried out once more, optionally followed by further steps of applying programming pulses and verifying.
Thereby, with 3-5 verifying steps, it is possible to program the cell accurately, considerably reducing the programming times compared with the standard method.
The aforementioned programming method will be described hereinafter in more detail, after description of an embodiment of the present memory.
FIG. 1 shows a sector 10 of an analog memory 1 and the components of the memory 1 which intervene in the programming step. In particular, sector 10 comprises a plurality of cells 2 arranged on rows and columns; the control gate terminals of the cells 2 disposed on a same row are connected to one another by a word line 4, the drain terminals of the cell 2 disposed on a same column are connected to one another by a bit line 5, and the source terminals of all the cells 2 are connected to one another and are available externally (in the example illustrated, during the programming step, they are connected to ground line 3).
The word lines 4 are connected to a row decoder 7, which has a control input 8 receiving address signals, and a bias input 9 receiving the voltage Vpcx. In known manner, the row decoder 7 biases a word line 4 at a time to voltage Vpcx, as specified by the address signals provided to control input 8.
The bit lines 5 are connected to a column decoder 13, which, as specified by address signals provided to a control input 14 thereof, connects selectively the bit lines 5 in a known manner to a bus 16 consisting of eight lines; the bus 16 is then connected to an analog multiplexer 17, having the function of connecting a single one of the bus 16 lines to an output node 18, on the basis of a control signal provided to a control input 19.
Node 18 is connected to a first terminal of a current source 20, which has a second terminal connected to a reference line 21, set to a voltage V1, and generates a bias current Ib ; node 18 is also connected to an inverting input of an operational amplifier 25, having a non-inverting input which receives a reference voltage V2. The output of the operational amplifier 25 defines a node 26 connected to an input of an analog/digital converter 27, and to a first input 29 of a two-position switch 28; the switch has a second input 30 connected to a discrete ramp generator 34, and an output 31 connected to the bias input 9 of row decoder 7.
The output of the A/D converter 27 is fed to a control logic unit 37 having an input 38 communicating with not shown components of the memory 1 (to receive the programming instructions, the addresses of the cells to be written, and the threshold values to which the cells must be programmed), and a plurality of outputs which are connected to the inputs 8, 14, 19, and to a selection input 32 of the switch 28.
When one or more cells 2 of the sector 10 are to be programmed, control logic unit 37 controls switch 28 such as to connect output 31 to second input 30, i.e., such that voltage Vpcx fed to the input of decoder 7 increases as determined by ramp generator 34. In addition, the control logic unit 37 controls row decoder 7 and column decoder 13 such that the latter supply voltage Vpcx to the selected word line 4, to which the programming cell is connected, and, respectively, the target drain voltage to the selected bit line 5, to which the cell to be programmed is connected, in a known manner.
At the end of the planned programming pulses sequence, control logic unit 37 controls switch 28 such as to connect output node 26 of operational amplifier 25 to first input 29, which, in turn, is connected to output 31 and thus to selected word line 4. In practice, in this situation, there is direct connection between the selected bit line 5 and the inverting input of the operational amplifier 25, as well as between the output 26 of the operational amplifier 25 and the selected word line 4, forming a feedback loop that includes the cell 2 and the operational amplifier 25. In this condition, as described in detail in European Patent Application No. 96830612.6 dated May 12, 1996 filed in the name of the same applicant, at the output 26 of the operational amplifier 25 a voltage Vo is present which is proportional to the current threshold voltage of the selected cell 2. This is also explained in corresponding U.S. patent application No. 08/941,882, which was allowed on Aug. 27, 1998, and which is incorporated herein by reference. In fact, as explained in detail in the prior patent application, the current ID flowing in a memory cell of the considered type, is equal to:
ID -K(Vov)2 =K(Vgs -Vth)2 (1)
wherein K is a constant dependent on the production process, and Vov is the overdrive voltage of the cell, i.e., the difference between the voltage applied across the source and drain terminals of the cell (Vgs) and its threshold voltage (Vth). In the configuration of FIG. 1, in the verify step, the current flowing in the cell is constant and is equal to the bias current Ib set by the current source 20. Thus the overdrive voltage Vov is constant even if the threshold voltage of the cell varies. It is therefore possible to write
Vov =K1 (2)
In addition, by virtue of the above-described closed loop connection, in an equilibrium condition, the voltage present at the inverting input 18 of the operational amplifier 25 (and thus on the selected bit line 5) is equal to the reference voltage V2, and the output voltage Vo of the operational amplifier 25 is the same as the voltage Vgs of the cell.
In addition, the following is obtained:
Vgs =Vov +Vth =K1 +Vth =Vo (3)
thus the output voltage of the operational amplifier 25 provides the threshold voltage value of the cell 2, minus the constant term K1 which depends on the bias current and on the parameters of the cell, and is thus known. In addition, owing to the linear relationship between Vo and Vth, and by reading the cell 2 with the same feedback loop, it is possible to use output voltage Vo directly as a threshold voltage of the cell, which is comparable with the target value.
On receipt of the output voltage Vo of the operational amplifier 25, the control logic unit 37 can thus directly calculate the threshold voltage value of (3), for determining the number of programming pulses of each sequence.
Before describing in detail an embodiment of the present programming method, reference is made to FIGS. 2-4.
FIG. 2 shows the progression of the programming pulses applied according to the present method, wherein gate voltage VG is shown on the y axis, and time t is shown on the x axis. In particular, starting from an initial value VG,o, which is not too high (for example, 2V), a sequence of successive pulses with amplitude ΔVG and duration Δt is applied to the gate terminal of cell 2 to be programmed. Advantageously, amplitude ΔVG is selected on the basis of the accuracy to be obtained (for example, 50 mV), and duration of the pulses is determined in the design step (and is, for example, between 0.5 and 2 μs). Thereby, the slope m=ΔVG /Δt of the gate voltage ramp is established, and thus the increase speed of the gate threshold voltage.
FIG. 3 shows a plot showing the behavior of threshold voltage Vth, as a function of the pulse number n applied to the gate terminal of a cell 2 (i.e., in accordance with the programming time, since the pulse duration is constant and predetermined, as already stated) in the case of programming by applying an increasing gate voltage with uniform steps, for different values of the steps ΔVG, i.e., for different slopes m.
FIG. 4 shows the plot of the threshold voltage Vth in case of programming by applying an increasing gate voltage with uniform steps, for a same ramp slope and three different threshold voltage initial values Vf, in particular, it shows the different programming pulse numbers n1, n2, n3 necessary to obtain a single target threshold voltage Vp. From this figure, it can be seen that:
Vp =Vfi +mT (4)
wherein Vfi is the generic initial value of the threshold voltage, m is the above-defined slope, and T is the total programming time.
From (4) it can be seen that
T=(Vp -Vfi)/m (5)
and, considering that T=nΔt (in which n is the number of programming pulses, and Δt is the duration of each pulse) and m=ΔVG /Δt, the following is obtained:
n=(Vp -Vfi)/ΔVG (6)
which makes it possible to calculate the number of programming pulses necessary to obtain the target threshold voltage from a known initial threshold voltage, with a specific progression (step amplitude) of the gate voltage.
Based on the above, an embodiment of the present method is now described with reference to FIG. 5. According to the flow chart of FIG. 5, initially (block 100), control logic unit 37 is supplied with data necessary for programming a predetermined array cell 2, addressed in known manner by the row 7 and column decoders 13. In particular, the intermediate voltage value Vint to which the threshold voltage of the cell 2 is to be brought, to go into the linear zone, the amplitude ΔVG of the programming pulses, and the final target threshold voltage Vp are supplied. Thus, control logic unit 37 commands a verify read of cell 2 (block 110), generating a logic level (for example, a "0") of the switching signal supplied to input 32 of switch 28, such as to connect the output of the operational amplifier 25 to the selected word line 4, and thus gets output voltage Vo on node 26, representing the initial threshold value Vfi.
Subsequently (block 120), control logic unit 37 calculates the pulse number N1 necessary to obtain the intermediate threshold voltage Vint on the basis of (6), and commands (block 130) transmission of the N1 pulses by means of the selector 28. Subsequently, in the same manner as described above, another verify read is carried out, and the output voltage Vo is acquired at the node 26, representing the current threshold voltage Veff of the cell 2 (block 140).
On the basis of the acquired value Veff, control logic unit 37 calculates the pulse number N2 necessary to obtain the final threshold voltage Vp, less one, for sake of security (block 150), and controls transmission of the N2 pulses (block 160). Then, a further verify read is carried out, the current threshold value Veff (block 170) is acquired, and the number N3 of pulses is calculated as necessary to obtain the final threshold voltage Vp (block 180). The N3 pulses are applied (block 190), and a further verifying step is carried out, with acquisition of the current threshold value Veff (200).
It is then verified whether the current threshold value Veff is equal to the target threshold value, within the required accuracy level (block 210); if this is the case, the programming process ends; otherwise, the program returns to block 180, for calculating the pulses that are still necessary to achieve the threshold and for verifying.
FIG. 6 shows the plot of gate voltage VG on a cell 2 during programming according to the algorithm of FIG. 5, as determined by an oscilloscope; in this figure, regions A, B, C indicate the increasing amplitude pulse sequence applying steps, and D, E, and F identify the verifying steps. At F, the target threshold value has been obtained, and programming is stopped. As can be seen, programming of the cell 2 has required only three verifying steps, and target threshold voltage has been obtained with a programming accuracy of approximately 50 mV. In addition, the value of the gate voltage VG at points D, E and F represents the obtained threshold voltage, less the constant K1, according to equation (3).
Finally, FIG. 7 shows the dependency between the programming speed and the accuracy; in particular, the x axis shows the total programming time (which is dependent on the amplitude of each pulse, as can be seen immediately from FIG. 3) and the y axis shows the analog accuracy (measured in bits). As can be seen, faster programming curves are more difficult to foresee accurately, and thus cause a programming accuracy loss. Consequently, on the basis of the specific design requirements, it is possible to set the best compromise between programming speed and accuracy.
Finally, it is apparent that numerous modifications and variants can be made to the described and illustrated method and memory, all of which come within the scope of the invention, as defined in the attached claims. In particular, the criteria for calculating the pulse number in each sequence can be different from those described; for example, the first pulse sequence can comprise a priori predetermined pulse number, instead of being calculated as described above; the manner of generating the programming pulses can differ from that shown in FIG. 1, for example, instead of the ramp generator 34, a digital/analog converter can be provided, which is controlled directly by the control logic unit 37, providing the converter with a digital value of the gate voltage amplitude to be supplied to the addressed word line at steps in blocks 130, 160, 190.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5394362 *||Jun 4, 1993||Feb 28, 1995||Banks; Gerald J.||Electrically alterable non-voltatile memory with N-bits per memory cell|
|US5629890 *||Sep 14, 1994||May 13, 1997||Information Storage Devices, Inc.||Integrated circuit system for analog signal storing and recovery incorporating read while writing voltage program method|
|US5757699 *||Jun 3, 1997||May 26, 1998||Nec Corporation||Programming which can make threshold voltages of programmed memory cells have a narrow distribution in a nonvolatile semiconductor memory|
|US5801989 *||Dec 9, 1996||Sep 1, 1998||Samsung Electronics, Co., Ltd.||Method and apparatus for optimizing erase and program times for a non-volatile memory device|
|US5838612 *||Jun 4, 1997||Nov 17, 1998||Sgs-Thomson Microelectronics S.R.L.||Reading circuit for multilevel non volatile memory cell devices|
|US5880993 *||Sep 30, 1997||Mar 9, 1999||Sgs-Thomson Microelectronics, S.R.L.||Method and circuit for checking multilevel programming of floating-gate nonvolatile memory cells particularly flash cells|
|EP0763828A2 *||Sep 13, 1996||Mar 19, 1997||Kabushiki Kaisha Toshiba||Nonvolatile semiconductor memory device and method for using the same|
|WO1996014638A1 *||Nov 1, 1995||May 17, 1996||Invoice Technology, Inc.||High resolution analog storage eprom and flash eprom|
|1||Hieu Van Tran et al., "A 2.5V 256-Level Non-Volatile Analog Storage Device Using EEPROM Technology," in IEEE International Solid-State Circuits Conference, FP 16.6, 270-271. 1996.|
|2||*||Hieu Van Tran et al., A 2.5V 256 Level Non Volatile Analog Storage Device Using EEPROM Technology, in IEEE International Solid State Circuits Conference , FP 16.6, 270 271. 1996.|
|3||*||Kang Deog Suh et al. A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme, in IEEE International Solid State Circuits Conference , TA 7.5, 128 129, 1995.|
|4||Kang-Deog Suh et al. "A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme," in IEEE International Solid-State Circuits Conference, TA 7.5, 128-129, 1995.|
|5||M. Bauer et al., "Amultilevel-Cell 32Mb Flash Memory," in IEEE International Solid-State Circuits Conference, TA 7.7, 132-133, 1995.|
|6||*||M. Bauer et al., Amultilevel Cell 32Mb Flash Memory, in IEEE International Solid State Circuits Conference , TA 7.7, 132 133, 1995.|
|7||Pier Luigi Rolandi et al., "Analog Flash Memoray for HIgh-Density Digital Storage," SGS-Thomson Microelectronics Innovative Systems Design Group--Central R&D, 1-10, 1997.|
|8||*||Pier Luigi Rolandi et al., Analog Flash Memoray for HIgh Density Digital Storage, SGS Thomson Microelectronics Innovative Systems Design Group Central R & D , 1 10, 1997.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US6185127 *||Jan 31, 2000||Feb 6, 2001||Summit Microelectronics, Inc.||Selectable analog functions on a configurable device and method employing nonvolatile memory|
|US6205055 *||Feb 25, 2000||Mar 20, 2001||Advanced Micro Devices, Inc.||Dynamic memory cell programming voltage|
|US6269025||Feb 9, 2000||Jul 31, 2001||Advanced Micro Devices, Inc.||Memory system having a program and erase voltage modifier|
|US6304487||Feb 28, 2000||Oct 16, 2001||Advanced Micro Devices, Inc.||Register driven means to control programming voltages|
|US6327183 *||Jan 10, 2000||Dec 4, 2001||Advanced Micro Devices, Inc.||Nonlinear stepped programming voltage|
|US6366496 *||Aug 2, 2000||Apr 2, 2002||Stmicroelectronics S.R.L.||Method for programming multi-level non-volatile memories by controlling the gate voltage|
|US6392931 *||Nov 24, 1999||May 21, 2002||Stmicroelectronics S.R.L.||Method for high precision programming nonvolatile memory cells, with optimized programming speed|
|US6400605 *||May 30, 2000||Jun 4, 2002||Summit Microelectronics, Inc.||Method and system for pulse shaping in test and program modes|
|US6515904||Jun 29, 2001||Feb 4, 2003||Matrix Semiconductor, Inc.||Method and system for increasing programming bandwidth in a non-volatile memory device|
|US6556481||May 9, 2001||Apr 29, 2003||Aplus Flash Technology, Inc.||3-step write operation nonvolatile semiconductor one-transistor, nor-type flash EEPROM memory cell|
|US6574145 *||Jun 29, 2001||Jun 3, 2003||Matrix Semiconductor, Inc.||Memory device and method for sensing while programming a non-volatile memory cell|
|US6597606 *||May 23, 2002||Jul 22, 2003||Intel Corporation||Charging a capacitance of a memory cell and charger|
|US6620682||Oct 16, 2001||Sep 16, 2003||Aplus Flash Technology, Inc.||Set of three level concurrent word line bias conditions for a nor type flash memory array|
|US6667903 *||Dec 14, 2001||Dec 23, 2003||Stmicroelectronics S.R.L.||Programming method for a multilevel memory cell|
|US6777292||Jul 25, 2003||Aug 17, 2004||Aplus Flash Technology, Inc.||Set of three level concurrent word line bias conditions for a NOR type flash memory array|
|US6818491||Jul 25, 2003||Nov 16, 2004||Aplvs Flash Technology, Inc.||Set of three level concurrent word line bias conditions for a NOR type flash memory array|
|US7009887 *||Jun 3, 2004||Mar 7, 2006||Fasl Llc||Method of determining voltage compensation for flash memory devices|
|US7079420 *||Dec 30, 2003||Jul 18, 2006||Saifun Semiconductors Ltd.||Method for operating a memory device|
|US7440333||Jan 27, 2006||Oct 21, 2008||Spansion Llc||Method of determining voltage compensation for flash memory devices|
|US7570519||Sep 19, 2005||Aug 4, 2009||Atmel Corporation||Method and system for program pulse generation during programming of nonvolatile electronic devices|
|US7636252||Jul 7, 2006||Dec 22, 2009||Lee Peter W||Nonvolatile memory with a unified cell structure|
|US7656710||Jul 14, 2005||Feb 2, 2010||Sau Ching Wong||Adaptive operations for nonvolatile memories|
|US7743230||Feb 12, 2007||Jun 22, 2010||Saifun Semiconductors Ltd.||Memory array programming circuit and a method for using the circuit|
|US7791942 *||Mar 4, 2008||Sep 7, 2010||Samsung Electronics Co., Ltd.||Methods of operating nonvolatile memory devices|
|US7808818||Dec 28, 2006||Oct 5, 2010||Saifun Semiconductors Ltd.||Secondary injection for NROM|
|US7915092||Dec 12, 2007||Mar 29, 2011||Abedneja Assets Ag L.L.C.||Nonvolatile memory with a unified cell structure|
|US7957189||Nov 2, 2006||Jun 7, 2011||Sandisk Il Ltd.||Drift compensation in a flash memory|
|US8000148||Aug 3, 2010||Aug 16, 2011||Samsung Electronics Co., Ltd.||Methods of operating nonvolatile memory devices|
|US8120963||Aug 4, 2009||Feb 21, 2012||Atmel Corporation||Method and system for program pulse generation during programming of nonvolatile electronic devices|
|US8237212||Mar 25, 2011||Aug 7, 2012||Abedneja Assetts AG L.L.C.||Nonvolatile memory with a unified cell structure|
|US8300458||Oct 24, 2011||Oct 30, 2012||Sandisk Technologies Inc.||Nonvolatile memory with correlated multiple pass programming|
|US8553460||Jan 10, 2012||Oct 8, 2013||Atmel Corporation||Method and system for program pulse generation during programming of nonvolatile electronic devices|
|US8565024||May 24, 2011||Oct 22, 2013||Micron Technology, Inc.||Sensing memory cells|
|US8665645||Mar 28, 2011||Mar 4, 2014||Sandisk Il Ltd.||Drift compensation in a flash memory|
|US8707112 *||Oct 13, 2011||Apr 22, 2014||Micron Technology, Inc.||Refresh of non-volatile memory cells based on fatigue conditions|
|US8773912 *||Jul 12, 2012||Jul 8, 2014||Micron Technology, Inc.||Soft landing for desired program threshold voltage|
|US9093162||Oct 4, 2013||Jul 28, 2015||Micron Technology, Inc.||Sensing memory cells|
|US9158612||Oct 4, 2013||Oct 13, 2015||Micron Technology, Inc.||Refresh of non-volatile memory cells based on fatigue conditions|
|US9449682||Dec 28, 2015||Sep 20, 2016||Sau Ching Wong||Reading a multi-bit value from a memory cell|
|US9576647||Dec 28, 2015||Feb 21, 2017||Sau Ching Wong||Parallel programming of nonvolatile memory cells|
|US20040027894 *||Jul 25, 2003||Feb 12, 2004||Aplus Flash Technology, Inc.||Novel set of three level concurrent word line bias conditions for a NOR type flash memory array|
|US20040029335 *||Jul 25, 2003||Feb 12, 2004||Aplus Flash Technology, Inc.||Novel set of three level concurrent word line bias conditions for a NOR type flash memory array|
|US20050058005 *||Dec 30, 2003||Mar 17, 2005||Assaf Shappir||Method for operating a memory device|
|US20060120151 *||Jan 27, 2006||Jun 8, 2006||Ed Hsia||Method of determining voltage compensation for flash memory devices|
|US20060250851 *||Sep 19, 2005||Nov 9, 2006||Stefano Surico||Method and system for program pulse generation during programming of nonvolatile electronic devices|
|US20070070696 *||Nov 2, 2006||Mar 29, 2007||Msystems Ltd||Drift compensation in a flash memory|
|US20070159880 *||Dec 28, 2006||Jul 12, 2007||Boaz Eitan||Secondary injection for NROM|
|US20070168637 *||Feb 12, 2007||Jul 19, 2007||Yan Polansky||Memory array programming circuit and a method for using the circuit|
|US20070255889 *||Mar 22, 2007||Nov 1, 2007||Yoav Yogev||Non-volatile memory device and method of operating the device|
|US20080094127 *||Nov 21, 2006||Apr 24, 2008||Yoram Betser||Measuring and controlling current consumption and output current of charge pumps|
|US20080096327 *||Dec 12, 2007||Apr 24, 2008||Aplus Flash Technology Inc.||Novel monolithic, combo nonvolatile memory allowing byte, page and block write with no disturb and divided-well in the cell array using a unified cell structure and technology with a new scheme of decoder and layout|
|US20080239599 *||Apr 1, 2007||Oct 2, 2008||Yehuda Yizraeli||Clamping Voltage Events Such As ESD|
|US20090016107 *||Mar 4, 2008||Jan 15, 2009||Samsung Electronics Co., Ltd.||Methods of operating nonvolatile memory devices|
|US20090073769 *||Jun 29, 2008||Mar 19, 2009||Sandisk Il Ltd.||Method and system for optimizing reliability and performance of programming data in non-volatile memory devices|
|US20090290424 *||Aug 4, 2009||Nov 26, 2009||Atmel Corporation||Method and system for program pulse generation during programming of nonvolatile electronic devices|
|US20100296344 *||Aug 3, 2010||Nov 25, 2010||Kim Won-Joo||Methods of operating nonvolatile memory devices|
|US20110170349 *||Mar 28, 2011||Jul 14, 2011||Meir Avraham||Drift compensation in a flash memory|
|US20110170357 *||Mar 25, 2011||Jul 14, 2011||Abedneja Assets Ag L.L.C.||Nonvolatile memory with a unified cell structure|
|US20120030529 *||Oct 13, 2011||Feb 2, 2012||Micron Technology, Inc.||Refresh of non-volatile memory cells based on fatigue conditions|
|US20120275233 *||Jul 12, 2012||Nov 1, 2012||Micron Technology, Inc.||Soft landing for desired program threshold voltage|
|EP1654736A2 *||Jul 25, 2004||May 10, 2006||M-Systems Flash Disk Pioneers Ltd.||Method and system for optimizing reliability and performance of programming data in non-volatile memory devices|
|EP1654736A4 *||Jul 25, 2004||Apr 18, 2007||Milsys Ltd||Method and system for optimizing reliability and performance of programming data in non-volatile memory devices|
|EP1999756A2 *||Mar 7, 2007||Dec 10, 2008||Freescale Semiconductor, Inc.||Non-volatile memory with controlled program/erase|
|EP1999756B1 *||Mar 7, 2007||Jun 15, 2016||Freescale Semiconductor, Inc.||Non-volatile memory with controlled program/erase|
|EP2113844A1 *||Jul 25, 2004||Nov 4, 2009||SanDisk IL Ltd.|
|WO2005010638A3 *||Jul 25, 2004||Apr 28, 2005||Milsys Ltd|
|U.S. Classification||365/185.03, 365/185.24, 365/185.19|
|Cooperative Classification||G11C11/5621, G11C11/5628|
|European Classification||G11C11/56D, G11C11/56D2|
|Mar 8, 1999||AS||Assignment|
Owner name: STMICROELECTRONICS S.R.L., ITALY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PASOTTI, MARCO;ROLANDI, PIER LUIGI;CANEGALLO, ROBERTO;AND OTHERS;REEL/FRAME:009838/0422
Effective date: 19990222
|Jun 9, 2003||FPAY||Fee payment|
Year of fee payment: 4
|Jun 26, 2007||FPAY||Fee payment|
Year of fee payment: 8
|Jun 15, 2011||FPAY||Fee payment|
Year of fee payment: 12
|Jul 3, 2013||AS||Assignment|
Owner name: MICRON TECHNOLOGY, INC., IDAHO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STMICROELECTRONICS, S.R.L. (FORMERLY KNOWN AS SGS-THMSON MICROELECTRONICS S.R.L.);REEL/FRAME:031796/0348
Effective date: 20120523
|May 12, 2016||AS||Assignment|
Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN
Free format text: SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038669/0001
Effective date: 20160426
|Jun 2, 2016||AS||Assignment|
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL
Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038954/0001
Effective date: 20160426
|Jun 8, 2017||AS||Assignment|
Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN
Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:043079/0001
Effective date: 20160426