Abstract:
Floating gate memories such as EEPROM and flash EEPROM have the memory state of a memory cell thereof determined by sensing the conduction current of the cell. Inherent noise fluctuations in the conduction current during sensing are canceled out by averaging the sensing over a predetermined period of time. In one embodiment, as an integral part of the averaging process, the averaged conduction current is obtained directly as a digital memory state. Accuracy in sensing is therefore greatly improved by avoiding sensing noise with the current and avoiding having to resolve its memory state in the analog domain by comparison with another noisy reference current. In another embodiment, conventional sensing techniques are improved when sensing is made by comparison with a reference current by means of a symmetric, switched or non-switched capacitor differential amplifier. The improved sensing accuracy allows higher resolution of conduction states, thereby allowing a cell to store substantially more than one bit of information.

Description:
FIELD OF THE INVENTION  
         [0001]    This invention relates generally to floating gate semiconductor memories such as electrically erasable programmable read-only memories (EEPROM) and flash EEPROM, and specifically to circuits and techniques for reading or sensing their memory states.  
         BACKGROUND OF THE INVENTION  
         [0002]    EEPROM and electrically programmable read-only memory (EPROM) are typically used in digital circuits for non-volatile storage of data or program. They can be erased and have new data written or “programmed” into their memory cells.  
           [0003]    An EPROM utilizes a floating (unconnected) conductive gate, in a field effect transistor structure, positioned over but insulated from a channel region in a semiconductor substrate, between source and drain regions. A control gate is then provided over the floating gate, but also insulated therefrom. The threshold voltage characteristic of the transistor is controlled by the amount of charge that is retained on the floating gate. That is, the minimum amount of voltage (threshold) that must be applied to the control gate before the transistor is turned “on” to permit conduction between its source and drain regions is controlled by the level of charge on the floating gate.  
           [0004]    The floating gate can hold a range of charge and therefore an EPROM memory cell can be programmed to any threshold voltage level within a threshold voltage window. The size of the threshold voltage window, delimited by the minimum and maximum threshold levels of the device, depends on the device&#39;s characteristics, operating conditions and history. Each distinct, resolvable threshold voltage level within the window may, in principle, be used to designate a definite memory state of the cell.  
           [0005]    In practice, the memory state of a cell is usually read by sensing the conduction current across the source and drain electrodes of the cell when a reference voltage is applied to the control gate. Thus, for each given charge on the floating gate of a cell, a corresponding threshold voltage may be detected, or equivalently, a corresponding conduction current with respect to a reference control gate voltage may be detected. Similarly, the range of charge programmable onto the floating gate defines a corresponding threshold voltage window or a corresponding conduction current window.  
           [0006]    For EPROM memory, the transistor serving as a memory cell is typically programmed to one of two states by accelerating electrons from the substrate channel region, through a thin gate dielectric and onto the floating gate. The memory states are erasable by removing the charge on the floating gate by ultraviolet radiation.  
           [0007]    An electrically erasable and programmable read-only memory (EEPROM) has a similar structure but additionally provides a mechanism for removing charge from its floating gate upon application of proper voltages.  
           [0008]    An array of such EEPROM cells is referred to as a “Flash” EEPROM array when an entire array of cells, or significant group of cells of the array, is erased together (i.e., in a flash). Once erased, the group of cells can then be reprogrammed.  
           [0009]    [0009]FIG. 1 illustrates schematically a typical array of non-volatile memory cells  10 , such as EPROM, EEPROM or flash EEPROM, accessible by a series of bit lines  20 ,  22 ,  24 , . . . , and word lines  30 ,  32 , . . . Each memory cell  40  has a source  42 , a drain  44 , a control gate  46  and a floating gate  48 .  
           [0010]    A specific cell in a two-dimensional array of EPROM or EEPROM cells is addressed for reading typically by application of a source-drain voltage to a pair of source and drain lines in a column containing the cell being addressed, and application of a control gate voltage to a word line connected to the control gates in a row containing the cell being addressed.  
           [0011]    [0011]FIG. 2 shows schematically an addressable array of non-volatile memory cells  10  with row and column decoding circuits  50 ,  52  and a read circuit  60 .  
           [0012]    Referring also to FIG. 1, when the cell  40  is addressed for programming or reading, appropriate programming or reading voltages (V CG , V S , V D ) must be supplied respectively to the cell&#39;s control gate  46 , source  42  and drain  44 . An address is applied to the row decoder  50  for connecting V CG  to the word line  30  which in turn is connected to the control gate of the cell  40 . The same address is also applied to the column decoder  52  for connecting V S  to the source line  20  and V D  to the drain line  22 , which are respectively connected to the source and drain of the cell  40 .  
           [0013]    The memory state of the addressed memory cell  40  is read with the read circuit  60  placing the appropriate operating voltages across the cell&#39;s source and drain, and then detecting the level of conduction current flowing between the source and drain.  
           [0014]    In the usual two-state EEPROM cell, at least one current breakpoint level is established so as to partition the conduction window into two regions. When a cell is read, its source/drain current is resolved into a memory state by comparing with the breakpoint level (or reference current L ref ). The current read is higher than that of the breakpoint level or L ref , the cell is determined to be in one logical state (e.g., a “zero” state), while if the current is less than that of the breakpoint level, the cell is determined to be in the other logical state (e.g., a “one” state). Thus, such a two-state cell stores one bit of digital information. A reference current source which may be externally programmable is often provided as part of a memory system to generate the breakpoint level current.  
           [0015]    When a cell is programmed to a given state, it is subject to successive programming voltage pulses, each time adding incremental charge to the floating gate. In between pulses, the cell is read back or verified to determine its source-drain current relative to the breakpoint level. Programming stops when the current state has been verified to be in a desired region of the partitioned conduction window.  
           [0016]    For a multi-state or multi-level EEPROM memory cell, the conduction window is partitioned into more than two regions by more than one breakpoint such that each cell is capable of storing more than one bit of data. The information that a given EEPROM array can store is thus increased with the number of states that each cell can store. EEPROM or flash EEPROM with multi-state or multi-level memory cells have been described in U.S. Pat. No. 5,172,338.  
           [0017]    [0017]FIG. 3A illustrates a chunk of memory cells  1  to k being read by a bank of sense amplifiers SA 1 , . . . , SAk, according to the prior art. Each sense amplifier senses the source-drain current of the cell it is connected to. To increase read performance, a plurality of cells is typically read in parallel chunk-by-chunk. Thus, cell  1 ,  2 , . . . , k is respectively read by sense amplifier  1 ,  2 , . . . , k, and the outputs Φ 1 , Φ 2  . . . , Φ k  are latched in a chunk shift register. When all bits of the chunk are stored in the chunk shift register, the chunk can be shifted out serially. In the example, the conduction window of each cell is partitioned by three breakpoints. Each sense amplifier senses the source-drain current of a cell in the chunk and resolves the current into a memory state by comparing it relative to three reference currents, I ref1 , I ref2  and I ref3 . Therefore, the three breakpoints can in principle partition the conduction window into four regions representing four possible memory states of the cell.  
           [0018]    However, in practice, owing to the noises found in both the sensed current of a cell and the reference currents it is compared to, if the two currents are close together within their error margins, the memory state of the cell cannot be determined definitely. To offset this, a cell is usually programmed well into a partitioned region. In this way, even if the verification or read has an error due to noise, a margin of safety has been programmed to enable the programmed state of the cell to be read correctly. This is accomplished-by setting up a margin or a guard band around each breakpoint or reference current. During program verification, the sensed cell current must clear such a margin in order to guarantee that it is programmed well within a desired conduction region of the partitioned window.  
           [0019]    [0019]FIG. 3B( a ) illustrates a reference clock in which a reading may be taken at each clock cycle. FIG. 3B( b ) shows an initial setup period for read where the currents are irregular and not ready for read. After this setup period, the currents settle down to a stable and quiescent state and are ready for read (i.e., comparison of the cell&#39;s current against a reference current). FIG. 3B( c ) illustrates that if a reading is taken every clock cycle, the sensed cell current typically has a noise fluctuation which may be denoted by ΔI.  
           [0020]    [0020]FIG. 3C illustrates the use of breakpoint levels to partition the non-volatile memory&#39;s conduction window into separate regions in order to allow multi-state storage, and the implementation of a guard band around each breakpoint level to allow for noise fluctuations. In the example, the conduction window-is from about 1 μA to about 50 μA. Three breakpoints, I ref1 , I ref2  and I ref3  (e.g., 6, 20 and 40 μA) partition the source-drain range or window into four regions representing memory states “3”, “2”, “1”, “0” respectively. The reading is done with the control gate voltage set at 5V. The four solid I(t) versus V CG  lines represent four possible charge levels that can be programmed on a floating gate of a memory cell, respectively corresponding to four possible memory states. In order to allow for the possible noise fluctuation ΔI, a margin of ΔI on either side of the breakpoint is set up when the cell is being programmed. Thus, a cell must be programmed with a charge that gives rise to a sensed current clearing the margins. In this way, when the cell is subsequently read, it will be read correctly even if there is an error of ΔI associated with noise fluctuations.  
           [0021]    As an example, the margin can be ±5 μA around each breakpoint, forming a guard band 10 μA wide. With three guard bands, they could take up 60 percent of the current window. Thus, it can be seen that the use of margins or guard bands will substantially consume valuable space in the conduction window of a memory cell and therefore significantly reduce the number of possible partitions. As a result, floating-gate memory devices in the past have been mostly two-state, and it has been difficult to increase the storage capacity of these devices significantly above two-state.  
         SUMMARY AND OBJECTS OF THE INVENTION  
         [0022]    Accordingly, it is a primary object of the present invention to improve the storing capacity of floating-gate memories where each cell can support memory states substantially greater than two.  
           [0023]    It is a further object of the present invention to provide improved read and program circuits as part of an EPROM, EEPROM or flash EEPROM integrated circuit memory chip.  
           [0024]    It is also an object of the invention to provide read and program circuits which are simpler, easier to manufacture and have improved accuracy and reliability over an extended period of use.  
           [0025]    It is yet another object of the present invention to provide Flash EEPROM semiconductor chips that can replace magnetic disk storage devices in computer systems.  
           [0026]    These and additional objects are accomplished by improvements in EEPROM array read and write circuits and techniques where the range of charge programmable into the floating gate of a memory cell gives rise to a corresponding range of conduction states detectable by corresponding cell conduction currents across the source and drain of the cell, and where each resolvable conduction state is usable to represent a logical memory state, the improvement being a sense amplifier and method where the sensing accuracy of the cell current level is substantial improved by averaging the cell current over a predetermined period of time sufficient for noise fluctuations therein to cancel to a predetermined value, and in the process also resolves in the digital domain the noise-canceled current level directly into a memory state.  
           [0027]    The improved sensing accuracy allows the range of conduction states (conduction window) of the cell to be finely partitioned to support higher density storage. In this way, it is possible to have two or substantially more distinct states within each memory cell over an extended lifetime of the memory cells, so that one or substantial more bits may be reliably stored in each cell.  
           [0028]    A conventional sense amplifier is substantially less accurate because it senses a noisy cell current. The error is further compounded by having to resolve its memory state in the analog domain by comparing against yet another noisy reference current that is used to demarcate the states of the conduction windows. The input noise rejection of instantaneous sensing is low. There is also noise from output switching as well as poor rejection of power line noise. Margins have to be set up in the partitioning of the conduction window to offset the sensing and resolving errors. This prevents finer partitioning of the conduction window, resulting in lower density cell storage.  
           [0029]    According to one embodiment of the present invention, the averaging of the cell current is accomplished by a current-to-frequency converter that outputs a wave train with a frequency proportional to the cell current. The converter operates over a predetermined integration time that is long compared to the noise fluctuation of the cell current and outputs a wave train segment in that time. The number of cycles in the wave train segment is counted by a counter and is proportional to the sensed, time-averaged current. A timer circuit provides the timing for the integration time.  
           [0030]    In one embodiment of the counter for a n-bit cell, the counter comprises a series of at least n-cascading Divide-By-Two frequency dividers, that in combination output the count in the wave train segment as a memory state in binary format.  
           [0031]    In the preferred embodiment, a group (chunk) of cells is sensed in parallel and the sensed states are shifted out by a shift register chunk-by-chunk. In this way, the longer time required to perform a time-averaged sensing for each cell is offset by the time saving when sensing a chunk of cells in parallel.  
           [0032]    Thus, the invention provides much more accurate sensing by avoiding the convention methods of sensing cell currents with their noise fluctuations untreated, and avoiding having to determine the relative location of the sensed current in the conduction window by comparing it against another noisy reference current in the analog domain.  
           [0033]    According to another embodiment of the invention, adaptation is made to existing sense amplifier architectures where the memory cell current is compared to a reference current. An integrating comparator is employed where the comparison between the two currents are made over the predetermined period of time sufficient for noise fluctuations therein to cancel to a predetermined value. Preferred embodiments of the integrating comparator include symmetric, switched or non-switched capacitor differential amplifier. The resulting advantage is that little modifications need be made to existing highly optimized circuits. In addition, conventional, and well known integrating amplifier techniques or switched capacitor differential amplifier can be employed. By the same token, these techniques are typically used in combination with other well established techniques such as filtering, analog-digital conversion, including offset cancellation and power supply or other noise rejections.  
           [0034]    Additional objects, features and advantages of the present invention will be understood from the following description of its preferred embodiments, which description should be taken in conjunction with the accompanying drawings.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0035]    [0035]FIG. 1 illustrates schematically a typical array of non-volatile memory cells accessible by a series of bit lines and word lines, and each memory cell having a source, a drain, a control gate and a floating gate;  
         [0036]    [0036]FIG. 2 shows an addressable array of non-volatile memory cells-with row and column decoding circuits and a read circuit;  
         [0037]    [0037]FIG. 3A illustrates a chunk of memory cells  1  to K being read by a bank of sense amplifiers, according to the prior art;  
         [0038]    FIGS.  3 B( a )- 3 B( c ) respectively illustrate a system clock, the ready status of data for sensing, and the noise fluctuations of the source-drain current of a memory cell being sensed;  
         [0039]    [0039]FIG. 3C illustrates the use of breakpoint levels to partition the non-volatile memory&#39;s conduction window into separate regions in order to allow multi-state storage, and the implementation of a guard band around each breakpoint level to allow for noise fluctuations;  
         [0040]    [0040]FIG. 4A is a schematic block diagram of the sense amplifier according to a general, preferred embodiment of the present invention;  
         [0041]    [0041]FIG. 4B illustrates a source-drain current I(t) having noise fluctuations with a characteristic period T ΔI  and the resulting time-averaged &lt;I(t)&gt; T  as processed by the sense amplifier of the present invention;  
         [0042]    [0042]FIG. 4C illustrates how such a characteristic fluctuation time can be defined;  
         [0043]    [0043]FIG. 4D illustrates one advantage of the present invention in requiring a much reduced guard band as compared to that of FIG. 3C of the prior art;  
         [0044]    [0044]FIG. 5 is a detailed schematic block diagram of the sense amplifier shown in FIG. 4A, according to a preferred embodiment of the present invention;  
         [0045]    FIGS.  6 ( a )- 6 ( d ) are timing diagrams for the Strobe generator shown in FIG. 5;  
         [0046]    FIGS.  7 ( a )- 7 ( e ) are timing diagrams for the sense amplifiers shown in FIG. 5;  
         [0047]    [0047]FIG. 8 shows a preferred embodiment of the counter in the sense amplifier shown in FIG. 5;  
         [0048]    [0048]FIG. 9A is a schematic block diagram of the strobe generator shown in FIG. 5, according to a preferred embodiment of the present invention.  
         [0049]    [0049]FIG. 9B illustrates another embodiment of the strobe generator shown in FIG. 5;  
         [0050]    [0050]FIG. 10A illustrates a preferred embodiment of the Current-to-Frequency Converter shown in FIG. 5;  
         [0051]    [0051]FIG. 10B illustrates in more detail the oscillator shown in FIG. 10A;  
         [0052]    [0052]FIG. 10C illustrates a preferred embodiment of the pulse generator shown in FIG. 10B;  
         [0053]    FIGS.  11 ( a )- 11 ( g ) are timing diagrams showing the outputs from the oscillators and the S-R latch of FIGS.  10 A- 10 C;  
         [0054]    [0054]FIG. 12 is a detailed schematic block diagram of the sense amplifier shown in FIG. 4A, according to another preferred embodiment of the present invention;  
         [0055]    [0055]FIG. 13A illustrates a preferred embodiment of the integrating comparator shown in FIG. 12;  
         [0056]    [0056]FIG. 13B illustrates another preferred embodiment of the integrating comparator shown in FIG. 12;  
         [0057]    [0057]FIG. 14A illustrates one implementation of comparison between the memory cell&#39;s current and the reference currents; and  
         [0058]    [0058]FIG. 14B illustrates a preferred implementation of comparison between the memory cell&#39;s current and the reference currents.  
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0059]    As described earlier, the inaccuracies of conventional sense amplifiers necessitate the implementation of margins and guard bands within the conduction window of a float-gate memory device. This encroachment increases with the number of partitioning in the window, Thus, it has been difficult to increase the partitioning to enable a cell to store multi-state data.  
         [0060]    One important feature of the present invention is to improve the accuracy of the sensing by suitable treatment of noises inherent in the sensing device, thereby significantly reducing the width of the margins or guard bands.  
         [0061]    [0061]FIG. 4A is a schematic block diagram of the sense amplifier according to a general, preferred embodiment of the present invention. A cell  100  has its source-drain current I(t) sensed by a sense amplifier  110 . I(t) typically has a noise component as illustrated in FIG. 3B and FIG. 4B with noise fluctuations given by ΔI. One special feature of sense amplifier  110  is to process this fluctuating current by means of an integrator  112  which effectively produces a time-averaged current &lt;I(t)&gt; T  over a predetermined period T. An A/D module  114  further converts the sensed analog, time-averaged current into a digital format corresponding to an output memory state Φ.  
         [0062]    [0062]FIG. 4B illustrates a source-drain current I(t) having noise fluctuations with a characteristic period T ΔI , and the resulting time-averaged &lt;(t)&gt; T  as processed by the sense amplifier of the present invention. The sensed source-drain current of a memory cell, I(t) has a time-dependent random noise component ΔI. When I(t) is averaged over a sufficient period of time T, the noise fluctuations are substantially canceled out. The resultant error in &lt;(t)&gt; T  is given by δI which is substantially less than ΔI. The sufficient period of time for averaging would be a period T substantially greater than a characteristic time T ΔI  of the noise fluctuation. This T ΔI  can be defined as a period where a predetermined amount of noise fluctuation has canceled out.  
         [0063]    For example, in many EEPROM or flash EEPROM devices, the characteristic fluctuation time T ΔI  has been estimated to be from 10 nanoseconds to several hundred nanoseconds. Thus, for these typical devices, the averaging or integration time T should preferably be substantially higher than T ΔI . In contrast, prior art sensing of I(t) is sensed instantaneously in a time less than T ΔI .  
         [0064]    [0064]FIG. 4C illustrates how such a characteristic fluctuation time can be defined. The graph is a plot of noise fluctuation of the time-averaged sensed current &lt;I(t)&gt; T  versus the averaging or integration time T. When the integrated time T is zero, as in the conventional case of no time averaging, the noise fluctuation in a sensed current is given by ΔI. As the averaging time is increased, the noise fluctuation in the time-averaged sensed current decreases due to phase cancellations. The characteristic averaging or integration time T ΔI  can be defined as the time to perform the averaging of the sensed current until its mean fluctuating is reduced by a factor κ, where κ, for example, may equal e −1 .  
         [0065]    [0065]FIG. 4D illustrates one advantage of the present invention in requiring a much reduced guard band as compared to that of FIG. 3C of the prior art. Since, the time-averaged sensed current has an error δI&lt;&lt;ΔI, the guard band around each breakpoint in the partitioned conduction window is substantially reduced. This will avoid wasting useful conduction window space, and allow more partitions to be made so as to support even higher density multi-state.  
         [0066]    [0066]FIG. 5 is a detailed schematic block diagram of the sense amplifier shown in FIG. 4A, according to a preferred embodiment of the present invention.  
         [0067]    Preferably, a chunk of k (e.g., k=128) cells are sensed in parallel by a corresponding bank of k sense amplifiers, such as  130 ,  140 , . . .  150 . The bank of sense amplifiers outputs a data chunk of k sensed states Φ 1 , Φ 2 , . . . , Φ k  that is loaded into a multi-state chunk shift register  160  which in turn shifts out the data chunk-by-chunk.  
         [0068]    Each sense amplifier, such as sense amplifier  130 , comprises a current-to-frequency (I-to-f) converter  132  and a counter  134 . In the preferred embodiment, the I-to-f converter converts the cell&#39;s current I 1  into a wave train having a frequency f 1  proportional to the current I 1 . This frequency f 1  is then measured by the counter  134  to obtain the logical memory state Φ 1 . Both the I-to-f converter  132  and the counter  134  within the sense amplifier  130  perform their operation over an integration time T.  
         [0069]    Thus, over the integration time T, a wave train segment is produced by the I-to-f converter  132 . Since the frequency of the wave train is proportional to the current I 1 , so will the number of cycles contained in this segment. By counting the number of cycles in this segment with the counter  134 , the magnitude of I 1  and therefore the memory state of the cell  100  can be obtained. Since the operations of the  1 -to-f converter  132  and the counter  134  are performed over the time period T, they are equivalent to the combined operations of time-averaging by the integrator  112  and digital conversion by the A/D unit  114  shown in FIG. 4A.  
         [0070]    A timer circuit  170  generates the timing for the integration time T in the form of a strobe signal in a strobe line  172 . The strobe signal controls the timing of each of the sense amplifiers such as  130 ,  140 , . . . ,  150 , associated with the chunk.  
         [0071]    Since the number of cycles in a wave train is proportional to the integration time, a normalized integration time is determined by the time taken to count a given number of cycles N ref  in a reference wave train with frequency f ref  generated from a reference current I ref . The timer circuit  170  comprises an I-to-f converter  172  for receiving L ref  and generating a reference wave train segment, and a counter  174  to count the number of cycles in the reference segment.  
         [0072]    The input current I ref  is provided by a current source  176  that supplies a reference current. In a preferred embodiment, I ref  is provided by scaling the source-drain current of a memory cell. Similar techniques have been described in U.S. Pat. No. 5,172,338, the entire disclosure thereof is incorporated herein by reference. I ref  is preferably chosen to be the highest possible conduction current the cells of a memory device can support so that it can be easily scaled to represent the upper limit of the conduction window.  
         [0073]    The counter  174  outputs a STOP signal to a strobe generator  180  after it has counted N ref  cycles of the wave train from the I-to-f converter  172 .  
         [0074]    FIGS.  6 ( a ) to  6 ( d ) are timing diagrams for the strobe generator shown in FIG. 5. In operation, the strobe generator  180  of the timer circuit  170  generates a strobe signal STROBE shown in FIG. 6( d ). Essentially, the integration time T commences with STROBE going HIGH and terminates with STROBE going LOW. STROBE goes HIGH with a leading edge in response to a START signal shown in FIG. 6( a ), and it goes LOW in response to a STOP signal.  
         [0075]    A START signal is received by the timer circuit via an input  171 . START induces STROBE to go HIGH and also enables the I-to-f converter  172  and the counter  174 . Thus, a wave train shown in FIG. 6( b ) begins to emerge from the I-to-f converter  172  and its cycles are counted by the counter  174 . The STOP timing is controlled by when the number of counts has reached N ref . In that event, a STOP signal shown in FIG. 6( c ) is supplied to the strobe generator to produce the trailing edge of STROBE, at which time, the integration period T terminates. As mentioned before, the integration period T is preferably much greater than the characteristic fluctuation time T ΔI , and for typical memory devices, T is of the order of  100  nanoseconds or greater.  
         [0076]    FIGS.  7 ( a )- 7 ( e ) are timing diagrams for the sense amplifiers shown in FIG. 5. As described in connection with FIG. 5, each of the sense amplifiers  130 ,  140 , . . . ,  150  respectively senses the source-drain currents I 1 , I 2 , . . . , I k  of the chunk of k memory cells,  100 ,  102 , . . . ,  104 . Each of the sensed currents I 1 , I 2 , . . . , I k  are converted by an associated sense amplifier&#39;s I-to-f converter into associated wave trains with frequencies f 1 , f 2 , . . . , f k  as shown in FIGS.  7 ( c )- 7 ( e ).  
         [0077]    For ease of comparison in FIGS.  7 ( a )- 7 ( e ), the timer circuit timings shown in FIGS.  6 ( d ) and  6 ( b ) are shown again as FIGS.  7 ( a ) and  7 ( b ). As, described earlier, the integration time T, when normalized, is given by the time it takes to count N ref  cycles in the wave train produced by the conversion of I ref , and I ref  corresponds to the upper limit of the conduction window. Thus, N ref  corresponds to the upper limit of the conduction window and will be the highest count. All other sensed current such as I 1 , I 2 , . . . , I k  will produce wave trains with corresponding counts N 1 , N 2 , . . . , N k  which are fractions of N ref . In this way, the full extent of the conduction window is spanned by N ref  while the corresponding states of N 1 , N 2 , . . . , N k  are determined by their relative scale as fractions of N ref  in the conduction window.  
         [0078]    The counter such as  134  and  174  has been described schematically to count the number of cycles in a wave train. It will be understood that counting of fractional cycles is also contemplated.  
         [0079]    FIGS.  7 ( c )- 7 ( e ) show examples of possible memory states programmed into three memory cells. They are respectively sensed to be 0.55 N ref , 0.2 N ref  and 0.33 N ref . In one example, the conduction window is partitioned into eight regions with seven breakpoints at (⅛, {fraction (2/8)}, ⅜, {fraction (4/8)}, ⅝, {fraction (6/8)}, ⅞)N ref . Such a partitioning will differentiate between ten logical states (“0” to “9”) and enable each cell to store three bits of data. In this partitioning scheme, the three cells are respectively in the logical states (“5”, “1”, “2”). In another example, the conduction window may be partitioned into sixteen regions with fifteen breakpoints at ({fraction (1/16)}, {fraction (2/16)}, {fraction (3/16)}, {fraction (4/16)}, {fraction (5/16)}, {fraction (6/16)}, {fraction (7/16)}, {fraction (8/16)}, {fraction (9/16)}, {fraction (10/16)}, {fraction (11/16)}, {fraction (12/16)}, {fraction (13/16)}, {fraction (14/16)}, {fraction (15/16)})N ref . This will allow sixteen logical states and enable each cell to store four bits of data. The three cells are respectively in the logical states (“9”, “4”, “6”).  
         [0080]    Thus, it can be seen that when the condition T&gt;&gt;T ΔI  is already satisfied, N ref  is preferably chosen to correspond to the number of partitioning in the conduction window of a cell or multiples thereof In this way, the count resulted from a sensed cell current &lt;I(t)&gt; T  will correspond to its logical state.  
         [0081]    [0081]FIG. 8 shows a preferred embodiment of the counter in the sense amplifier shown in FIG. 5. In the 4-bit cell described above, there are 16 possible logical states (“0” to “15”) and the sensed logical states from the three cells are respectively (“9”, “4”, “6”). When these logical states are expressed in binary form, their states Φ are respectively (“1001”, “0100”, “0100”). A counter  134  that will receive the current converted wave train and count and encode the sensed logical state into 4 binary bits (Φ 11 , Φ 12 , Φ 13 , Φ 14 ) is given by cascading four Divide-By-Two frequency dividers  180 ,  182 ,  184 ,  186 . The 4 binary bits are latched into a 4-bit register  161  at an opportune time. The 4-bit register  161  represents a multi-bit register associated with the cell  100  component of the shift register  160  shown in FIG. 5. The wave train f 1  is received by the first frequency divider  180  which outputs it as a wave train with halved the frequency f 1 /2. This output is sent down two paths. In the first path, it is sent as the first bit Φ 11  to be latched into the first of the 4-bit register  161 . In the second path it is input into the second frequency divider  182  which outputs it as a wave train with halved the frequency, resulting in a wave train with frequency f 1 /4. Again, the output is to be latched as Φ 12  in the second of the 4-bit register  161  and also to be sent to the next frequency divider  184 . Similar, the outputs from the frequency dividers  184 ,  186  are to be latched as Φ 13  and Φ 14  respectively. In general, for an n-bit cell, there will be n-cascaded frequency dividers.  
         [0082]    [0082]FIG. 9A is a schematic block diagram of the strobe generator shown in FIG. 5, according to a preferred embodiment of the present invention. For a 4-bit cell partitioning, a 4-way NAND gate  178  is used to generate the STOP signal in the signal line  181 . As shown in FIG. 6( c ), the STOP signal is generated when N ref  number of cycles has been counted in the wave train converted from the reference current I ref . In a 4-bit cell, if N ref =16, then a count of all 16 cycles amounts to the last logical state “16” which corresponds to the binary state “1111”. Referring to the timer circuit  170  shown in FIG. 5 its counter  174  is similar to that shown in FIG. 8. After the counter  174  has completed counting the reference wave train with frequency f ref  its output binary state is given by (Φ ref1 , Φ ref2 , Φ ref3 , Φ ref4 )=(1, 1, 1, 1). The STOP signal in the signal line  181  is produced when all four inputs to the NAND gate  178  are “1”. In general, for an n-bit cell, N ref =2 n  and the last logical state in binary form is given by n “1”&#39;s, and the NAND gate  178  has n inputs.  
         [0083]    [0083]FIG. 9B illustrates another embodiment of the strobe generator shown in FIG. 5. For a 4-bit cell, the timer circuit&#39;s counter  174  is modified from that shown in FIG. 8 with an additional Divide-By-Two frequency divider  188 . The STOP signal is output from the frequency divider  188 , where only until the final count will the STOP signal change from a “1” state to a “0” state.  
         [0084]    [0084]FIG. 10A illustrates a preferred embodiment of the Current-to-Frequency Converter shown in FIG. 5. The current I to be converted is input via an input  200  into two complementary oscillators  210 ,  220  and the resulting complementary outputs z and z* are used as inputs to a Set-Reset (S-R) latch  230  to generate the converted wave train signal f and its complement f*. The wave train signals f and f* are fed back to time the complementary oscillators  220 ,  210  respectively. An ENABLE* signal in an input line  211  to the oscillator  210  serves to start and stop the oscillator.  
         [0085]    [0085]FIG. 10B illustrates in more details the oscillator  210  shown in FIG. 10A. Essentially, a capacitor  212  connected on one end to a voltage source V cc  and the other end to a node  214  tied to a current source from the input line  200  is constantly being charged and discharged. In this case, the current source is the source-drain current of the cell being sensed. The rate of charge and discharge is proportional to the sensed current. It is also dependent on the capacitance C of the capacitor  212  and a trip point voltage V ref . The V ref  voltage is provided from a V ref  source  215  that when reached by the voltage V s  at the node  214  the capacitor  212  begins to discharge. A p-channel transistor  218  shunting across the capacitor  212  provides a discharged path when it is conducting. The timing of the p-channel transistor  218  is controlled by its gate voltage given by the signal f* from the output of the S-R latch from the line  231 . The rate of charge and discharge is manifested by the voltage V s  at the node  214 . V s  is fed into a pulse generator  240  to generate a pulse train z when it is enable by an ENABLE* signal in a line  211 . The pulse train z is then used to generate the wave train f or f* by means of the S-R latch  230 .  
         [0086]    The operations of the I-to-f Converter  172  shown in FIG. 10A and the oscillator  210  shown in FIG. 10B are best understood when considered in combination with the timing diagrams shown in FIGS.  11 ( a )- 11 ( g ).  
         [0087]    When the ENABLE* signal in line  211  goes LOW, the pulse generator  240  is enabled. As the capacitor  212  begins to charge up, a potential difference develops across the capacitor resulting in the voltage V s  at the node  214  decreasing linearly from V cc  (see FIG. 11( b ) second column). When V s  reaches the reference voltage V ref  the pulse generator-outputs a signal z in the-form of a pulse (FIG. 11( d ), between second and third column) that is used to set the S-R latch  230 . This is used to set the S-R latch  230  to generate the next rising edge for the wave train f (see FIG. 11( f ) third column).  
         [0088]    At the same time, the complementary output f*, transiting to a LOW state, is fed back to change the capacitor  212  from a charging mode to a discharging mode. This is accomplished by the conduction of the shunting transistor  218 . The LOW state in f* turns on the shunting transistor which provides a discharge path for the capacitor  212 . During the discharge, the voltage across the capacitor decreases, resulting in V s  increasing from V ref  toward V cc  (see FIG. 11( b ) third column).  
         [0089]    The capacitor switches back to the charging mode with the arrival of a HIGH state in f* at the gate of the shunting transistor  218 . The edge of f* is caused by the complementary oscillator  220  having its V 8 * reaches V ref . In this way, while one of the oscillators is charging, the other one is discharging. Optimal timing can be controlled by adjusting the value of the capacitor  212  and the voltage V ref  that must be developed before the switching of the charging and discharging modes.  
         [0090]    [0090]FIG. 10C illustrates a preferred embodiment of the pulse generator shown in FIG. 10B. The pulse generator  240  is implemented by a pair of p-channel and n-channel transistors  242 ,  244  connected in series. Their common node  243  is output via the line  219  as the signal z. Essentially, the node  243  will be pulled up by the p-channel transistor  242  when the transistor&#39;s gate voltage drops to a reference voltage V ref  equal or less than the threshold voltage V T  of the transistor, i.e., V ref =V T , while the n-channel transistor  244  is turned off (see FIG. 11( d ) between second and third column). This event takes place when V s  from the capacitor  212 , connecting to the gate of the transistor  242  drops to V ref  (=V T ) (see FIG. 11( b ) second column). The node  243  is pulled down by the n-channel transistor  244  to ground when it is turned on by a HIGH signal to its gate while the p-channel transistor  242  is turned off. The n-channel transistor is turned on (or off) by the input signal f* going LOW (or HIGH) which is inverted by an inverted  233  to a HIGH (or LOW) signal. Thus, as soon as the node  243  or the signal z is pulled high, it is pulled down again by f* going LOW (see FIG. 11( g ) between second and third column). A second n-channel transistor  248  is used to disable the signal z in the output line  219  by shorting it to ground when the ENABLE* signal goes HIGH in the line  211  to its gate.  
         [0091]    [0091]FIG. 12 is a detailed schematic block diagram of the sense amplifier shown in FIG. 4A, according to another preferred embodiment of the present invention. In particular, the inventive features are incorporated into existing sense amplifiers for EEPROM or Flash EEPROM devices. A preferred multi-level sense amplifier is disclosed in U.S. Pat. No. 5,163,021, and relevant portions thereof are hereby incorporated by reference herein.  
         [0092]    [0092]FIG. 12 shows a memory cell  100  whose source-drain current I C  is being sensed by a sense amp relative to three reference currents. The example given is a multi-level cell capable of having its current programmed in one of four zones in the threshold window demarcated by the three reference currents. In this example, the memory cell  100  is therefore able to store two bits of data. The sense amplifier comprises a memory-cell current mirror  300 , a reference cell  310 , a reference-cell current mirror  320  and a comparator/encoder  330 . The memory-cell current mirror  300  reproduces the current I C  into three current branches, I C1 , I C2  and I C3 . The reproduced currents are scaled from the original current I C  by virtue of the relative size of the transistors associated with each branch. For example, if the transistor  302  associated with the original current branch I C  is unity, and the transistors  304 ,  306 ,  308  associated with the three reproduced branches are respectively of size x 1 , x 2  and x 3 , then the reproduced current in each of the branches will be I C1 =x 1 I C , I C2  =x 2 I C  and I C3 =x 3 I C , respectively. Similarly, the reference-cell current mirror  320  has transistors  322 ,  324 ,  326 , and  328  with relative sizes of 1, y 1 , y 2  and y 3 . The corresponding three branches of reproduced reference currents are therefore given by I R1 =y 1 I R , R R2 =y 2 I R , I R3 =y 3 I R , where the reference current I R  is supplied by the reference cell  310 . The comparator/encoder module  330  comprises for each current branch an integrating comparator  400  for comparing the branch cell current with the branch reference current. Each integrating comparator  400  essentially makes a time-averaged reading of the cell current and the reference current and compares the two. The outputs of all the integrating comparator  400  are encoded by an encoder  340  to be output as binary data S.  
         [0093]    [0093]FIG. 13A illustrates one embodiment of the integrating comparator  400  shown in FIG. 12. Essentially the memory-cell branch current I C1  charges up a capacitor  402  which develops a voltage V C (T) at a node  404  over a period T. Similarly, the reference-cell branch current I R1  charges up a capacitor  406  which develops a voltage V R (T) at a node  408  over the same period T. These two voltages are compared by a differential amplifier  410  which outputs the comparison as &lt;V 0 &gt; T . Prior to the period T, the inputs to the differential amplifier, i.e., the node  404  the node  408  are set to the same voltage by means of a conducting transistor  420  which connects both nodes to a precharged line PG. Typically, the precharged line carriers a voltage of about half of V CC . The transistor  420  is turned on at t&lt;0 by a signal P 0 . At t≧0, P 0  is de-asserted thereby turning off the equalizing transistor  420 , and I C1  and I R1  are allowed to charge up the capacitors  402 ,  404  respectively. Thus, over the period from t=0 to t=T, the voltage V C (T) develops across the capacitor  402  while V R (T) develops across the capacitor  404 . Depending on whether V C (T) is larger or less than V R (T), the output voltage at the differential amplifier  410 , &lt;V 0 &gt; T , will show one or the other polarity. In this way, the memory-cell branch current I R1  can be determined to lie to which side of the demarcating reference-cell branch current I R1 .  
         [0094]    [0094]FIG. 13B illustrates another embodiment of the integrating comparator shown in FIG. 12 in the form of a switched capacitor differential amplifier  400 ′. Essentially, owing to the currents I C1  and I R1  gated by transistors  442 ,  446 , a voltage V A (T) at a node  444  and a voltage V B (T) at a node  448  develop across a capacitor C 1    450  after a period T. These voltages gated by transistors  452 ,  456  appear at inputs  454 ,  458  of a differential amplifier  460 . The differential amplifier  460  operates in an op-amp configuration in which a second capacitor C 2    470  is in its feedback loop. As a general property of the op-amp, the output &lt;V 0 &gt; T  of the op-amp will be such as to equalize the voltage on the two inputs  454 ,  458 . With the input  458  grounded, effectively, the charge in C 1  is transferred to C 2 , and &lt;V 0 &gt; T =C 1 /C 2 [V A (T)−V B (T)]. Similar to the circuit described in FIG. 13A, at time t&lt;0, a pair of input nodes  434  and node  438  are set to the same voltage by means of a conducting transistor  480  which connects both nodes to a precharged line PG.  
         [0095]    The timing of the various signals for one cycle are as follows. The transistor  480  is controlled by a signal P 0  which is asserted prior to t&lt;0. Two initial capacitors C 0    432 ,  436  at input nodes  434  and  438  help to allow a definite voltage to develop thereat. At t=0, P 0  is de-asserted, and a signal P 1  is used to turn on the pair of transistors  442 ,  446  for a period of time T. At the same time, P 1  is used to turn on a shunting transistor  472  that will discharge the capacitor C 2 . At the end of the period T, the voltage V A (T) develops at the node  444  and the voltage V B (T) at the node  448  across the capacitor C 1 . The signal P 1  is then de-asserted and a signal P 2  is used to turn on the transistors  452  and  454  so as to pass V A (T) and V B (T) to the inputs of the differential amplifier  460 .  
         [0096]    The embodiments shown in FIGS. 12 and 13 are based on adapting the invention to existing sense amplifier architectures. The resulting advantage is that little modifications need be made to existing highly optimized circuits. In addition, conventional and well known integrating amplifier techniques or switched capacitor differential amplifier can be employed. By the same token, these techniques are typically used in combination with other well established techniques such as filtering, analog-digital conversion, including offset cancellation and power supply or other noise rejections.  
         [0097]    There are a number of configurations for current comparison in which multi-level sensing may be implemented with the sense amplifier shown in FIG. 12.  
         [0098]    [0098]FIG. 14A illustrates one implementation of comparison between a set of three substantially identical copies of currents scaled from that of the memory cell&#39;s current with a set of three different reference currents. Essentially, the sensing operation is to determine in which of the regions of the threshold window of the cell does the cell current lies. In the 4-level cell example, the regions are partitioned by three reference current levels . The current mirror implementation allows the cell current and the reference current to be respectively scaled by a factor proportional to the ratios of the transistors in each associated current mirror circuit. This enables the current comparison to be made in an optimal range of currents. The three reference currents I R1 , I R2 , I R3  are reproduced by the current mirror  320  from a reference current I R , which preferably is obtained from a reference memory cell. Similarly, the cell current I C  is reproduced by the current mirror  300  into three copies, except each being the same I C1 . In this way each I C1  may be used to compare against one of the reference current in parallel.  
         [0099]    [0099]FIG. 14B illustrates a preferred implementation of comparison between the memory cell&#39;s current and the reference currents where all level comparison are made at the same optimal value. In other words, the current comparison for each level is to be made at the same predetermined level optimal for sensing, say I R1 , which is independent of the data stored in the memory cell to be sensed. The current mirror  320  is constructed to produce the three reference currents to be the same I R1 . On the other hand, the current mirror  300  is constructed with the cell current I C  reproduced into I C1 , I C2 , I C3  in ratios to the relative positions of the three breakpoint levels in the threshold window of the cell. In this way each I C1  may be used to compare against an optimal, fixed reference current in parallel. This is advantageous in that all integrating comparators can be made identical.  
         [0100]    While the embodiments of this invention that have been described are the preferred implementations, those skilled in the art will understand that variations thereof may also be possible. For example, other types of integrating sense amplifiers that effectively average out the random noise fluctuations are also applicable. Although the example of a three-level partitioned cell is described, other single-level or multi-level cells are equally applicable. Therefore, the invention is entitled to protection within the full scope of the appended claims.