Abstract:
The present invention consists of a method and system for compensating, over time and over an operating temperature range, for margin loss in a non-volatile memory (“NVM”) cell, which method comprises selection of a reference level based on temperature readings obtained from a temperature sensing element that is thermally coupled, directly or indirectly, to the NVM cell. The reference level may be selected from a group consisting of references levels of various types, or it may be obtained by adjusting the output of a single reference based on the temperature reading(s), or it may be obtained by utilizing pre-stored conversion data, which conversion data associates a given temperature reading with a corresponding temperature range that is, in turn, associated with a corresponding reference level. A pool of likewise reference cells may be provided, and the reference level may be selected from this pool, based on its association to the temperature reading. The pool of reference cells may consist of Program verify reference cells, or Erase verify reference cells.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to the field of non-volatile memory cells. More particularly, the present invention relates to a method, circuit and system for compensating over time for margin loss in non-volatile memory (“NVM”) cells over an operating temperature range.  
       BACKGROUND OF THE INVENTION  
       [0002]     NVM cells are generally operated (e.g. programmed, read, and erased) using one or more reference cells and/or structures. In order to determine a condition or state of a memory cell being operated, the cell&#39;s operating characteristics may be compared against a reference memory cell or structure usually operated under similar conditions as the cell of interest. As is well known, an NVM cell&#39;s state may be defined and determined by its threshold voltage, the voltage at which the cell begins to conduct current. A NVM cell&#39;s threshold voltage level is typically correlated to the amount of charge stored in a charge storage region of the cell. Different threshold voltage ranges are associated with different states of an NVM cell.  FIG. 1  shows a statistical/probabilistic graph depicting an expected distribution of NVM cells within and around the voltage boundaries of two logical states, erased and programmed, of a binary NVM cell, and the buffer region in between the two states.  
         [0003]     When programming a NVM cell to a desired state, after each programming pulse, the NVM cell&#39;s threshold value may be compared against a reference cell having a reference threshold value set at a voltage level defined as the “program verify” level. The reference cell with a threshold voltage set at a voltage level defined as a “program verify” level for the given state may be compared to the threshold voltage of the cell being programmed (i.e. charged) in order to determine whether a charge storage area or region of the cell being programmed has been sufficiently charged so as to be considered “programmed” at the desired state.  
         [0004]     When reading a NVM cell, however, to determine whether it is in a particular state, the cell&#39;s threshold voltage may be compared against that of a reference cell having a reference threshold voltage defined as a “read verify” level for the specific state. A “read verify” level for a given state is usually set slightly lower than a “program verify” level for that state in order to compensate for voltage drift which may occur after programming.  
         [0005]     In standard NVM cells, program or erase operations on memory cells are usually performed by repetitively applying programming or erasing pulses to the memory cells, followed by one or more program and erase verification steps. In such verification steps, the cells&#39; states are verified to ensure a specific margin against some reference state or level. If the margin is verified then usually no further programming or erasing pulses are applied, and the verified cells are considered to be in a programmed or erased state. The reference state against which the memory cells are measured or compared may be generated by a non-volatile memory reference cell, by a reference voltage or current generator, or by other well known means. The margin is typically measured in terms of Threshold Voltage (V T ) difference, voltage or current signals difference, or by other means. Comparing the threshold voltage of a NVM cell to that of a reference cell is often accomplished using a sense amplifier. Various techniques for comparing an NVM&#39;s threshold voltage against those of one or more reference cells, in order to determine the NVM&#39;s cells state, are well known.  
         [0006]     Program or erase margin verification may be required to ensure that the memory cells are reliably readable along the cells&#39; lifetime, i.e. the memory cells&#39; states are correctly and reliably detectable. As visible from  FIG. 1 , the Erase Margin (EM) may be defined as the V T  difference between a Read Reference V T  state and an Erase Verify V T  state (EV). The V T  distribution of memory cells immediately after being erased and verified is expected to be below or at the EV level. Similarly, the Program Margin (PM) may be defined as the V T  difference between a Program Verify state (PV) and a Read Reference V T  state. The V T  distribution of memory cells immediately after being programmed and verified is expected to be higher or at the PV level. As explained above, once the necessary EM or PM is achieved, the erase or program operation on the NVM cell may be concluded.  
         [0007]     However, as is well known the program and erase margins may detrimentally vary due to any one or several factors, including but not limited to charge leakage from the cell&#39;s charge storage region, temperature changes, and due to interference from the operation of neighboring NVM cells. Among the various factors, temperature deviations a cell may experience between the time it is programmed and read may result in deviations up to several hundreds of millivolts in the threshold voltage of a memory cell, which may detrimentally affect these margins. Assuming that the write operation (program or erase operations including the verification steps) was performed at a certain temperature, it is necessary to ensure that the inserted margins are maintained over all the operating temperatures range, otherwise the reliability of the memory cells read may be affected.  
         [0008]     Being fabricated substantially under the same manufacturing conditions, NVM cells and reference cells, which typically reside on the same substrate, initially have similar temperature coefficients, resulting in both of them being potentially equally affected by temperature deviations within the operating temperature range. However, reference cells usually undergo one ‘operating cycle’. That is, they are typically programmed only once, to a distinct (reference) state against which the NVM cell may be compared, whereas NVM cells are likely to experience numerous programming and erasing cycles, causing the NVM cells to rapidly age during their lifetime. Different programmed or erased state, as well as different aging of a NVM cell and a reference cell results in their temperature coefficients diverging. In general, the more programming/erasing cycles a NVM cell undergoes, the greater the divergence becomes, until, at some certain point, the margins become detrimentally affected (i.e., reduced).  
         [0009]     Taking as an example a non-volatile memory array, in which the NVM cells are verified against a reference cell, then it is known that non-volatile memory cells operated at the same conditions but having different states (i.e. having different V T &#39;S), or having the same state but operated at different conditions (e.g. at a different gate voltage), do not necessarily have the same temperature coefficients of their trans-conductance and/or current characteristics. An example for such a case is shown in  FIG. 2 , where the temperature dependence of NROM flash cells is shown. As can be seen, the erased NROM cell current decreases as temperature increases, while the programmed NROM cell current increases as temperature increases. In  FIG. 2  linear characteristics are shown, although the real characteristics are monotonic, but typically non-linear. Let us now assume that the write operation was performed at a low temperature, and as an example, a reference cell with a specific V T  is used for the insertion and verification of the EM or PM margins. If the reference cell has a reference V T  level as shown in  FIG. 1 , then the EM or PM margins can be verified, for example, by reading the flash cell against the reference cell while applying a reference-gate-voltage (VGREF) to the reference cell, and either a different gate voltage equal to VGREF-EM to the flash cell to be erase verified, or a VGREF+PM gate voltage to the flash cells to be program verified. Thus, it is expected that the V T  distribution of the NVM cells, measured at the same temperature as the write operation and using the same reference cell, would be exactly as shown in  FIG. 1 . However, measuring the V T  distribution of the NVM cells at a higher temperature than the write operation temperature would effectively reduce the margin for both the programmed cells and the erased cells.  
         [0010]     In  FIG. 3  the V T  distribution taken at low temperature and high temperature is shown. Based on  FIG. 2  characteristics, at high temperature, the erased cells seem to be less erased (lower cell current) and the programmed cells seem to be less programmed (higher cell current). Thus the initial margins that were inserted during the write operation are reduced. This reduction is usually referred as a “temperature induced margin loss” and affects the fidelity of correctly reading erased or programmed cells.  
         [0011]     In addition to the temperature dependence of the memory cells characteristics, the performance of the peripheral circuits used to readout the cells contents may also vary with temperature. One such example may be the voltages generated on-die and used to bias the read access path or the cells terminals that may vary with temperature. Another example may be the performance of the sense amplifiers used to readout the cells. The sense amplifier gain, offset, or response time may vary with temperature too. As a result, the peripheral circuits performance variations with temperature may further affect the fidelity of the non-volatile memory cells readout. This effect can also be accounted as a “temperature induced margin loss”. As described above, compensating for this margin loss by increasing the operating window (the EM and PM margins) detrimentally affects the cells endurance and retention characteristics.  
         [0012]     Non-volatile memory devices usually use larger EM and PM fixed margins to compensate for the temperature induced margin loss. However, when the device is operated at low temperatures then the larger operating window (EM+PM) detrimentally affects the cells endurance and retention characteristics.  
         [0013]     Variation of the threshold voltage of memory cells may lead to false readings of their state and may further result in the corruption of the data in the memory array. Voltage drift is especially problematic in Multi-Level Cell (“MLC”) NVM cells where the V T  regions or sub-ranges associated with each programmed state are relatively smaller than those for a typical binary cell. The voltage threshold boundaries which define a given state in an MLC cell are usually considerably smaller than those for a binary NVM cell. Because in an MLC cell a fixed range of potential threshold voltages (e.g. 3 Volts to 9 Volts) needs to be split into several sub-ranges or regions, the size of each sub-range or region in an MLC is usually smaller than a region of a binary NVM cell, which binary cell only requires three voltage threshold regions, as seen in  FIG. 1 .  
         [0014]     Thus, there is a need for a method to reduce the temperature induced margin loss without the above described detrimental effects.  
       SUMMARY OF THE INVENTION  
       [0015]     As part of the present invention, there is provided a method of compensating, over time and over an operating temperature range, for margin loss in a non-volatile memory (“NVM”) cell, which method comprises selection of a reference level based on temperature readings obtained from a temperature sensing element that is thermally coupled, directly or indirectly, to the NVM cell.  
         [0016]     In an aspect of the present invention, the reference level may be selected from a group consisting of {Read reference level, Erase reference level, Program reference level}.  
         [0017]     In some preferred embodiments of the present invention, the reference level may be obtained by adjusting the output of a single reference based on the temperature reading(s).  
         [0018]     In some preferred embodiments of the present invention, the reference level may be obtained by utilizing pre-stored conversion data, which conversion data associates a given temperature reading to a corresponding temperature range, which is associated with a corresponding reference level.  
         [0019]     In an aspect of the present invention, a program verify operation may be performed by applying to the NVM cell&#39;s gate a voltage that is higher than the gate voltage of the read reference cell, the difference therebetween is based on the temperature reading(s).  
         [0020]     In another aspect of the present invention, an erase verify operation may be performed by applying to the NVM cell&#39;s gate a voltage that is lower than the gate voltage of the read reference cell, the difference therebetween is based on the temperature reading(s).  
         [0021]     In some preferred embodiments of the present invention, a plurality of reference cells may be provided, and the reference level may be selected from a pool of reference cells based on its association to the temperature reading.  
         [0022]     In an aspect of the present invention, the pool of reference cells are Program verify reference cells.  
         [0023]     In another aspect of the present invention, the pool of reference cells are Erase verify reference cells.  
         [0024]     In some preferred embodiments of the present invention, a margin direct current (“DC”) signal is compared either to the NVM cell&#39;s signal or to the reference cell&#39;s signal, or both to the NVM cell&#39;s signal and to the reference cell&#39;s signal, and the margin DC signal is adjusted in accordance with the temperature readings.  
         [0025]     In some preferred embodiments of the present invention, the verify reference NVM cell&#39;s signal is compared to a DC reference signal. The verify reference signal may be generated internally (i.e., in a reference cell), or externally.  
         [0026]     In some preferred embodiments of the present invention, the operating conditions of the NVM cells being read and/or of the peripheral circuits used to read the cells are adjusted in accordance with the temperature readings.  
         [0027]     In some preferred embodiments of the present invention, the program and erase verifying reference cells are differently adjusted or selected for program and erase verify operations.  
         [0028]     In some preferred embodiments of the present invention, a reference cell for a program verify operation is selected such that its volt threshold (“VT”) is higher as the temperature of the NVM cell increases.  
         [0029]     In some preferred embodiments of the present invention, a reference cell for an erase verify operation is selected such that its volt threshold (“VT”) is lower as the temperature of the NVM cell decreases.  
         [0030]     In some preferred embodiments of the present invention, the program and/or erase margins are adjusted by adding a constant offset signal either to the NVM cell signal or to the reference cell signal, or both to the NVM cell and reference signals, during program or erase verify operations.  
         [0031]     In some preferred embodiments of the present invention, the program and erase margins are adjusted by selecting a different reference signal to be used in the program or erase verify operations.  
         [0032]     In some preferred embodiments of the present invention, the temperature reading is taken at the initiation of a program or erase operation.  
         [0033]     In some preferred embodiments of the present invention, the temperature reading is taken at the initiation of a program verify or erase verify operation.  
         [0034]     In some preferred embodiments of the present invention, the temperature reading is taken at least once during a program, erase, or a verify operation.  
         [0035]     In some preferred embodiments of the present invention, temperature readings are taken intermittently or continuously.  
         [0036]     As a part of the present invention, a system is also provided for compensating over time for margin loss over an operating temperature in non-volatile memory (“NVM”) cell of interest in a NVM array of cells, which system comprises: a temperature sensing element(s) substantially thermally coupled to the cell or to said NVM array of cells, or to preferred portions thereof; a reference module operative to provide a reference level based on a signal from the temperature sensing element(s), against which the cell of interest is to be compared, which reference level defines program and erase margins; a sensing and readout module for performing the comparisons; an ‘X-Y’ driving and selection module operative to select the cell of interest from the NVM array of cells; a control logic operative to accept temperature readings from the temperature sensing element(s) for controlling the operation of the ‘X-Y’ driving and selection module and the reference module for performing program erase or reading operations on of said NVM cell; wherein the control logic is operative to accept a signal from the sensing and readout module to indicate the completion of the operations; and a power supply block for energizing the other modules.  
         [0037]     As a part of the present invention, a circuit is also provided for compensating over time for margin loss in non-volatile memory (“NVM”) cell of interest, over an operating temperature range, which circuit comprises: a temperature sensing element substantially thermally coupled to the NVM cell; and a controller operative to select a reference level based on a signal from the temperature sensor, and to utilize it to perform program, erase or reading operations on the NVM cell, which reference level defining program and erase margins.  
         [0038]     As a part of the present invention, the non-volatile memory cell and reference cell are NROM-type non-volatile memory cells. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0039]     The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:  
         [0040]      FIG. 1  shows an exemplary VT distribution of programmed and erased non-volatile memory cells as read with respect to a read reference level/cell;  
         [0041]      FIG. 2  schematically illustrates an example of temperature characteristics of erased and programmed non-volatile memory cells;  
         [0042]      FIG. 3  shows two exemplary VT distributions of the same non-volatile memory cells with respect to the same reference cell at two different temperatures, Ta and Tb, where Ta&lt;Tb; and  
         [0043]      FIG. 4  is a block diagram showing an example of a non-volatile memory device according to some embodiment of the present invention.  
     
    
       [0044]     It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0045]     In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.  
         [0046]     Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system&#39;s registers and/or memories into other data similarly represented as physical quantities within the computing system&#39;s memories, registers or other such information storage, transmission or display devices.  
         [0047]     Embodiments of the present invention may include apparatuses for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus.  
         [0048]     The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the inventions as described herein.  
         [0049]     The temperature of a semiconductor device at any given stage of its operation may be measured using one of several ways that are known in the art. In general, temperatures are measured using an electrical temperature detector that outputs a current, or voltage, signal that is a monotonic function, at least within the operating temperature range involved, of the measured temperature. The output signal of the temperature detector may be either an analog signal, or a digital word that is obtained by converting the analog output signal into a corresponding digital signal by using any standard analog-to-digital (“ADC”) conversion techniques.  
         [0050]     For discussion about ‘on-die’ temperature measurements, please refer to: [1] A. Bakker and J. H. Huijsing, “Micropower CMOS temperature sensor with digital output”; IEEE J. Solid-State Circuits, vol. 31, pp. 933-937, July 1996; [2] M. Tinko, “A two-terminal IC temperature transducer”; IEEE J. Solid-State Circuits, vol. SC-11, pp. 784-788, December 1976; or [3] Francisco Serra-Graells, Member, IEEE, and Jose Luis Huertas, Fellow, IEEE, “Sub-1-V CMOS Proportional-to-Absolute Temperature References”; IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 38, NO. 1, January 2003, the entire contents of which are incorporated by reference into this application for all purposes.  
         [0051]     In accordance with the present invention, the program or erase margins used in the programming or erasing phases of a NVM cell may be adjusted according to the NVM cell&#39;s operating temperature. By ‘adjustment of a margin’, or, equivalently, ‘adjustment of a verify reference level’ (sometimes just ‘reference level’) is meant herein increasing, or decreasing, the reference level such that the margin of interest is maintained substantially the same irrespective of any temperature change within the relevant operating temperature range. By ‘margin of interest’ is meant; e.g., erase margin or program margin, each of which may be calculated with respect to; e.g., a read reference level, or erase reference level or program reference level.  
         [0052]     As discussed hereinbelow the program and erase margins may be adjusted by a reference level that is either adjusted or selected based on the actual temperature of the NVM cell of interest. By ‘adjusted’ is meant herein changing, or manipulating, the output of a single reference cell to accommodate for temperature changes, whereas by ‘selecting’ is meant herein selection of a reference cell from a pool consisting of a plurality of reference cells of the same type (i.e., a pool of program reference cells, a pool of erase reference cells, etc.).  
         [0053]     Advantageously, the actual margin&#39;s adjustment will be adapted according to the specific techniques used for measuring the NVM cell&#39;s temperature and related margins. For discussion about NVM devices&#39; temperature measurement techniques, please refer to: U.S. Pat. No. 6,128,226 (Eitan, et al., Oct. 3, 2000); U.S. Pat. No. 6,134,156 (Eitan, Oct. 17, 2000) and U.S. Pat. No. 6,535,434 (Maayan, et al., Mar. 18, 2003), the entire contents of which are incorporated by reference into this application for all purposes.  
         [0054]     For example, in cases where the (normally current) readout of an array cell is compared to the (normally current) readout of a reference cell, the margin(s) may be adjusted by manipulating the outputs of the cells involved by applying a voltage to the gate of the array cell which is not necessarily the same as the voltage applied to the gate of the reference cell. In such cases, a program verify operation may be applying to the array cell&#39;s gate a voltage that is higher by Δ p  than the gate voltage of a read reference cell. In the latter case, when the readout from the array cell signal is smaller than that of the read reference cell, it is most likely that a program margin of Δ p  is introduced; i.e. the threshold voltage of the array cell is at least higher by Δ p  than the read reference cell threshold voltage. A similar scheme may be used for an erase verify operation, but in this case the array cell would be operated at a gate voltage that is lower by Δ p  compared to the read reference cell gate voltage.  
         [0055]     When a program or erase operation is requested, the operating temperature on-die may be intermittently or continuously measured to allow a corresponding margin to be selected; that is, should the need arises. The program or erase margins relevant to the operation in question (i.e., program or erase operation, respectively) may then be selected based on, or adjusted according to, a pre-determined conversion table such as Table-I.  
         [0056]     Referring now to exemplary Table-I, each measured temperature may be associated with one of the temperature ranges (Tj&lt;Temp&lt;Tj+1, j=1, 2, . . . ,5) within some overall operating temperature range (T1÷T5) and, once the respective temperature range is determined, the corresponding program and erase margins maybe be used, which are relevant to the specific measured temperature. Causing the program and erase margins to meet the conditions ΔP1&gt;ΔP2&gt;ΔP3&gt;ΔP4 and ΔE1&gt;ΔE2&gt;ΔE3&gt;ΔE4, respectively, will result in the temperature induced margin loss becoming significantly smaller in respect to using fixed program or erase margins.  
         [0057]     Substantially no over-programming or over-erase will occur if the respective margin is adjusted according to the actual temperature at which the program, or erase, operations were performed, because, under such programming/erasing circumstances, the amount of programming or erasing of the cells is minimized. It is noted that despite of the margin(s) adjustments, the readouts from the cells over the whole operating temperature range are reliable.  
                               TABLE I                                   Temperature Range   Program Margin   Erase Margin                           T1 &lt;= Temp &lt; T2   Δ P1     Δ E1             T2 &lt;= Temp &lt; T3   Δ P2     Δ E2             T3 &lt;= Temp &lt; T4   Δ P3     Δ E3             T4 &lt;= Temp &lt; T5   Δ P4     Δ E4                        
 
         [0058]     The adjustment of the program and erase margins as a function of the operating temperature may be performed digitally or in analog manner. In particularly, a logic control circuit (“LCC”), which may reside inside the NVM device, may select the margin to be used based on a pre-stored look-up table similar to Table-I according to the actual temperature of the NVM cell(s) of interest. In some alternative embodiments, a signal representative of the monitored (either as an analog signal or as a digital word) temperature may be directly applied (i.e., without utilizing any conversion table) to affect, or generate, the margin in question.  
         [0059]     As described hereinbefore, program and erase margins may be determined as such relative to a Read verify reference cell. However, this is not necessarily so, as the program and erase margins may be determined as such relative to a Program verify reference cell or to an Erase verify reference cell. A Program verify reference cell will normally have a VT that is higher than the Read reference cell VT, while an Erase verify reference cell will normally have a VT that is lower than the Read verify reference cell VT.  
         [0060]     No matter what type of verify reference cell is actually utilized (i.e., Read, Program or Erase verify reference cell), the program and erase margins may be adjusted by applying a first voltage to the gate of the NVM cell and a second voltage to the gate of the respective reference cell such that the difference between the first and second voltages would depend on the temperature measured.  
         [0061]     Alternatively, instead of changing gates&#39; voltages as described hereinbefore, a specific reference cell may be selected from a pool of verify reference cells based on the temperature of the NVM cell of interest. Accordingly, an appropriate Program verify reference cell, or Erase verify reference cell, may be chosen, based on the monitored temperature, from a pool of Program verify reference cells, or from a pool of Erase verify reference cells.  
         [0062]     In some preferred embodiments of the present invention, the program and erase margins may be verified by further comparing a margin DC signal either to the signal output from the NVM cell or the signal output from the reference cell, or both to the signals output from the NVM and reference cells, where the margin DC signal may be adjusted or selected to generate different program or erase margins based on the actual temperature of the NVM cell of interest.  
         [0063]     In some preferred embodiments of the present invention, the program and erase margins may be verified by comparing the NVM cell output signal to a DC reference signal that is not necessarily generated by/in the reference cell. In this case, the DC reference signal may be adjusted, or selected, to generate different program or erase margins based on the actual temperature of the NVM cell of interest.  
         [0064]     In some preferred embodiments of the present invention, the operating conditions of the NVM cells being read, or of peripheral circuits used to read the cells, may be adjusted based on the operating temperature.  
         [0065]     Turning now to  FIG. 4 , it shows an example of a NVM device according to the present invention. NVM  400  is shown consisting of cells array  404 , whose status may be, at times, verified (i.e., during a status change) or read. A ‘change’ or ‘read’ operation may be associated with a single NVM cell, designated (Xi; Yj, ‘i’ and ‘j’ being some integers), or with a group of cells. NVM  400  also includes temperature sensor  401 , control logic  406 , ‘X-Y’ Driving and Selection matrix  407 , Reference module  402 , Sensing and Readout module  405  and Power supply block  408 . In describing the present invention, a reference will be made only to a single NVM cell (i.e., NVM cell  403 ). Of course, the status of any other NVM cell may be desirably verified or read in the way described hereinafter in respect to NVM cell  403 .  
         [0066]     In order to program or erase NVM cell  403 , or to read its current state, cell  403  is first selected by control logic unit  406 , its selection being made using logic unit  406 , which cause ‘X-Y’ matrix  407  to activate, or to ‘switch on’, the appropriate array word line (not shown). Then, logic  406  applies to cell  403  ( 410 ) programming, or erasing (whatever the case may be) pulses, which are followed by program (or erase) verification steps that are carried out by comparing, in Sensing and Readout module  405 , the output signal of cell  403  to a reference level ( 402 ) that is adjusted or selected by control logic  406 . The program or erase pulses are applied to the NVM cell of interest (e.g., cell  403 ), and the comparison phase is in force ( 405 ) until sensing and readout module  405  sends an indication ( 411 ) to logic module  406 , which allows logic module  406  to determine that the NVM cell of interest has reached the intended state (i.e., if programming or erasing operations were made), or to read the current state of the NVM cell (i.e., if only the current status of the cell was to be read).  
         [0067]     Reference  402  may be a single reference cell whose output signal, which is used for comparison purposes (i.e., in Sensing and Readout module  405 ), is adjusted by control logic  406 , such as by applying different voltages to the gates of cell  403  and the reference cell. The difference between the two gate voltages is determined by the control logic  406  and will depend on the actual temperature of cell  403  as sensed by temperature sensor  401 . Reference block  402  may include several different types of ‘single’ reference cell; i.e., one Program verify reference cell, one Erase verify reference cell, etc., each type of reference cell being dedicated for specific operation made with respect to cell  403  (i.e., ‘verifying program’, ‘verifying erase’, etc.).  
         [0068]     Alternatively, reference  402  may include a pool of reference cells of the same type from which control logic  406  would select an appropriate reference cell according to the actual temperature of cell  403  as sensed by temperature sensor  401 . For example, reference block  402  may include a pool of program verify reference cells, a pool of erase verify reference cells or a pool of read verify reference cells.  
         [0069]     In general, temperature sensor  401  senses the temperature of NVM cell  403  by being thermally coupled to NVM cell  403 . Sensor  401  may sense the temperature of cell  403  either directly or indirectly. In the first case (i.e., direct temperature sensing), sensor  401  may be in direct physical contact with cell  403 , whereas in the second case (i.e., indirect temperature sensing) the temperature of cell  403  may be sensed via some intermediating media. After obtaining the temperature reading; e.g., of cell  403 , a single reference cell is adjusted, or an appropriate reference cell is selected from several reference cells, by control logic  406  as described hereinbefore.  
         [0070]     Control logic  406  may include a memory array  409  for storing therein associations between temperatures, or temperature ranges, to corresponding reference cells. Given a specific temperature measurement, control logic  406  would utilize memory array  409  to first determine the relevant temperature range and, then, to associate the relevant temperature range to an appropriate reference level that should be used in conjunction with the NVM cell of interest (e.g., cell  403 ). As described hereinbefore, the reference level may be introduced ( 402 ) by adjusting the output of a single reference cell, or it can be introduced by selecting one reference cell from a pool of likewise reference cells.  
         [0071]     While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.