Skip to content

Patent drawings

Drawing 1 of 4

US 7,170,781

Drawing 1 of 4

Expanded drawing 1 of 4 from US 7,170,781, Multi-bit-per-cell flash EEPROM memory with refresh
High-resolution patent drawing

US 7,170,781

Multi-bit-per-cell flash EEPROM memory with refresh

Filed
April 7, 2005
Granted
January 30, 2007
Assignee
Sandisk
Inventors
Hock C. So, Sau C. Wong

Abstract

A multibit-per-cell non-volatile memory divides the suitable threshold voltages of memory cells into ranges corresponding to allowed states for storage of data and ranges corresponding to forbidden zones indicating a data error. A read process in accordance automatically checks whether a threshold voltage is in a forbidden zone. In an alternative embodiment, a refresh process includes reprogramming the threshold voltage into an allowed state. In the case of a flash memory, a refresh reads a sector of the memory and saves corrected data from the sector in a buffer or another sector. The corrected data from the buffer or other sector can be written back in the original sector, or the corrected data can be left in the other sector with addresses of the original sector being mapped to the other sector. Refresh process for the non-volatile memory can be perform in response to detecting a threshold voltage in a forbidden zone, as part of a power-up procedure for the memory, or periodically with a period on the order of days, weeks, or months. As a further aspect, the allowed states correspond to gray coded digital values so that allowed states that are adjacent in threshold voltage correspond to multibit values that differ in only a single bit. Error detection and correction codes can be used to identify data errors and generate corrected data for refresh operations.

View on Google Patents ↗
View Full PatentComplete archived record · 4 figures · 47 description paragraphs · 1 tables · 11 claims

Patent record

Source
Google Patents
Publication
US7170781B2
Application
US11/101,938
Priority
September 8, 1997
Prior art date
September 8, 1997
Publication date
January 30, 2007
Legal status
Expired - Fee Related
Original assignee
SanDisk Corp
Current assignee
SanDisk Technologies LLC
Prior art keywords
memory, memory cell, threshold voltage, sector, data
Source retrieved
July 20, 2026

Classifications

  • GPHYSICS
  • G06COMPUTING OR CALCULATING; COUNTING
  • G06FELECTRIC DIGITAL DATA PROCESSING
  • G06F11/00Error detection; Error correction; Monitoring
  • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
  • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
  • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
  • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
  • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
  • BPERFORMING OPERATIONS; TRANSPORTING
  • B64AIRCRAFT; AVIATION; COSMONAUTICS
  • B64CAEROPLANES; HELICOPTERS
  • B64C27/00Rotorcraft; Rotors peculiar thereto
  • B64C27/006Safety devices
  • G01MEASURING; TESTING
  • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
  • G01N29/00Investigating or analysing materials by the use of ultrasonic, sonic or infrasonic waves; Visualisation of the interior of objects by transmitting ultrasonic or sonic waves through the object
  • G01N29/14Investigating or analysing materials by the use of ultrasonic, sonic or infrasonic waves; Visualisation of the interior of objects by transmitting ultrasonic or sonic waves through the object using acoustic emission techniques
  • G01N29/22Details, e.g. general constructional or apparatus details
  • G01N29/227Details, e.g. general constructional or apparatus details related to high pressure, tension or stress conditions
  • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
  • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
  • G11INFORMATION STORAGE
  • G11CSTATIC STORES
  • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
  • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
  • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
  • G11C11/5628Programming or writing circuits; Data input circuits
  • G11C11/5635Erasing circuits
  • G11C11/5642Sensing or reading circuits; Data output circuits
  • G11C16/00Erasable programmable read-only memories
  • G11C16/02Erasable programmable read-only memories electrically programmable
  • G11C16/06Auxiliary circuits, e.g. for writing into memory
  • G11C16/10Programming or data input circuits
  • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
  • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
  • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
  • G11C16/3436Arrangements for verifying correct programming or erasure
  • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
  • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
  • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
  • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
  • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
  • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
  • G11C29/50Marginal testing, e.g. race, voltage or current testing
  • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
  • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
  • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
  • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
  • G11C2211/563Multilevel memory reading aspects
  • G11C2211/5634Reference cells

Figures

4 plates

Figure 1 of 4 from US 7,170,781, Multi-bit-per-cell flash EEPROM memory with refresh
Figure 01Full resolution ↗
Figure 2 of 4 from US 7,170,781, Multi-bit-per-cell flash EEPROM memory with refresh
Figure 02Full resolution ↗
Figure 3 of 4 from US 7,170,781, Multi-bit-per-cell flash EEPROM memory with refresh
Figure 03Full resolution ↗
Figure 4 of 4 from US 7,170,781, Multi-bit-per-cell flash EEPROM memory with refresh
Figure 04Full resolution ↗

Description

CROSS REFERENCE TO RELATED APPLICATION

This application is continuation of application Ser. No. 10/045,505, filed on Oct. 18, 2001, now U.S. Pat. No. 6,898,117, which is a continuation-in-part of Ser. No. 08/924,909, filed on Sep. 8, 1997 now U.S. Pat. No. 5,909,449.

BACKGROUND

1. Field of the Invention

This invention relates to non-volatile semiconductor memory and more specifically to circuits and methods for detecting and correcting data errors in a memory storing multiple bits per memory cell.

2. Description of Related Art

Conventional electrically erasable non-volatile semiconductor memories such as E2PROMs and flash memories have memory cells that include transistors with programmable threshold voltages. For example, a floating gate transistor or a split gate transistor has a threshold voltage that is programmed or erased by charging or discharging a floating gate located between a control gate and a channel in the transistor. The amount of charge on the floating gate of the transistor determines the voltage that must be applied to the control gate to cause charge carrier inversion in the underlying channel and therefore determines the threshold voltage of the transistor. Data is written in such memory cells by charging or discharging the floating gates of the memory cells to achieve threshold voltages corresponding to the data.

A binary memory stores one bit of data per memory cell. Accordingly, floating gate transistors in binary memory cells have two distinguishable states, a high threshold voltage state and a low threshold voltage state. Any memory cell having a threshold voltage above a cut-off threshold voltage value is in the high threshold voltage state and stores a bit value, 1 or 0, that corresponds to the high threshold state. Memory cells having threshold voltages below the cut-off are in the low threshold voltage state and store the bit value, 0 or 1, corresponding to the low threshold voltage state.

A multibit-per-cell memory stores multiple bits per memory cell. Accordingly, a range of threshold voltages for a memory cell is divided into a number of states corresponding to the possible multibit data values stored in the memory cell. For example, a memory that stores two bits of data per memory cell has a range of suitable threshold voltages for memory cells that is divided into four states. A first state includes threshold voltages below a first cut-off. A second state includes threshold voltages between the first cut-off and a second cut-off. A third state includes threshold voltages between the second cut-off and a third cut-off, and a fourth state includes threshold voltages above the third cut-off.

A concern in non-volatile semiconductor memory is drift or unintended changes in the threshold voltages of memory cells. For example, over time, charge tends to leak from the floating gates of memory cells and change the threshold voltages of the cells. Charge leakage decreases the threshold voltage of an N-channel memory cell. Alternatively, a floating gate or an insulator surrounding the floating gate can collect or trap charge and increase the threshold voltage of a cell. Further, operation of the memory, for example, programming or reading stresses memory cells not being accessed and can change threshold voltages. Changes in the threshold voltage are a problem because the state of the memory cell and the data value stored in the memory cell can change and create a data error. Such data errors are intolerable in many memory applications. The problem is worse for multibit-per-cell memories than for binary memories because the range of threshold voltages corresponding to a particular state is typically smaller in a multibit-per-cell memory which makes changes in the state of the memory cell more likely.

Multibit-per-cell memories that are resistant to data errors are sought.

SUMMARY

In accordance with the invention, a range of possible threshold voltages for a memory cell in a multibit-per-cell memory is divided into allowed states associated with data values and forbidden zones between the allowed states. A memory cell being written is programmed into an allowed state. Subsequent reading of the memory cell indicating that the threshold voltage of the memory cell is in a forbidden zone indicates that the threshold voltage of the memory cell has changed and is in error. A memory cell with a threshold voltage in a forbidden zone can be flagged as a data error or corrected by increasing or decreasing the threshold voltage to an adjacent allowed state. One specific embodiment of the invention is a flash memory that presumes charge loss in the memory cells and programs the threshold voltage of a memory cell up to the next allowed state when the memory detects that the threshold voltage of the memory cell is in a forbidden zone. Alternatively, data errors can be corrected by reading the data values from a sector of memory cells including one or more memory cells containing one or more errors, erasing the sector, and then programming the sector with corrected data values.

In accordance with another aspect of the invention, a non-volatile memory performs a refresh cycle in which memory cells are read and threshold voltages of the memory cells are reprogrammed to an allowed state. In a flash EPROM, the refresh cycle can refresh data in a single sector or an entire memory array. In alternative embodiments, the refresh cycle is triggered by external circuit attached to a monolithic integrated circuit memory or is self-triggered in the memory. Refreshes may be performed at periodic intervals of operation, as part of a power-up procedure for the memory, or transparently during each read operation performed by the memory.

According to a further aspect of the invention, adjacent states (i.e., ranges of threshold voltages) for a multibit-per-cell memory cell are mapped to data values using gray coding or another coding system instead of a direct monotonic mapping from threshold voltages to data values. With such coding, a drift from one threshold voltage state to an adjacent threshold voltage state causes only a single bit error. Such single bit errors can be detected and corrected using error correction codes. The gray coding of allowed states can be used with or without forbidden zones between the coded states and/or refresh cycles to correct stored data.

One specific embodiment of the invention is a non-volatile semiconductor memory that includes: an array of memory cells where each memory cell that stores data has a threshold voltage that identifies a multibit data value; an error detection circuit; and a control circuit that controls refresh operations. The error detection circuit detects errors in threshold voltages of memory cells storing data and in response to detecting an error, signals that a memory cell or a memory sector requires a refresh operation. The refresh operation can occur immediately, periodically, during the next start up of the memory, or when the memory becomes inactive for a period of time. During the refresh operation, the control circuit writes a corrected threshold voltage that corrects the error that the error detection circuit detected. The corrected threshold voltage can be written to the original memory cell containing the error or another memory cell that replaces the original memory cell after the refresh operation. The control circuit can read refresh information or an erase count for a sector containing the memory cell having the error and based on the information read select where to write the corrected threshold voltage.

The error detection circuit can detect the error by finding a threshold voltage in a zone forbidden to threshold voltages corresponding to data or from an error detection code stored when the threshold voltage was written. Gray coded allowed threshold voltage states are preferred so that a shift in threshold voltage from one allowed state to a neighboring allowed state causes only a single bit error in the data stored in the memory cell. The memory can further include a data correction circuit that processes an error correction code to identify the corrected threshold voltage to correct the detected error.

Another specific embodiment of the invention is a non-volatile semiconductor memory including an array of memory cells and a reference voltage generator. In the array, each memory cell that stores data has a threshold voltage that identifies a multibit data value written in the memory cell. The reference generator generates signals indicating bounds of a plurality of ranges of threshold voltages allowed for the memory cells that store data, wherein each range corresponds to a multibit value that differs in only a single bit from a multibit value corresponding to a range that is adjacent in threshold voltage. The reference generator may further generate reference signals indicating bounds of one or more ranges of threshold voltages forbidden for the memory cells storing data. The circuit can also include a control circuit that detects whether the threshold voltage of a memory cell falls in a forbidden range. If a threshold voltage is in a forbidden range, the control circuit corrects a data error by setting the threshold voltage of the original memory cell or a replacement memory cell in an allowed range associated with the value originally written in the original cell.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a multibit-per-cell memory in accordance with an embodiment of the invention.

FIGS. 2A and 2B respectively show a row line voltage and a column line voltage during a write operation in the memory of FIG. 1.

FIGS. 3A and 3B respectively show a row line voltage and a column line voltage during a read/refresh operation in the memory of FIG. 1.

FIGS. 4A and 4B show partitions of threshold voltage ranges into allowed states and forbidden zones in accordance with an embodiment of the invention.

FIG. 5 shows a block diagram of a multibit-per-cell memory in accordance with another embodiment of the invention.

FIG. 6 shows a block diagram of a multibit-per-cell non-volatile memory system with refresh circuits in accordance with an embodiment of the invention.

Use of the same reference symbols in different figures indicates similar or identical items.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A multibit-per-cell memory in accordance with an embodiment of the invention partitions a range of threshold voltages of a memory cell into a set of allowed states that correspond to data values that can be stored in the memory cell and a set of forbidden zones. The allowed states are separated from each other by forbidden zones so that if the threshold voltage of a memory cell drifts it must cross through a forbidden zone before reaching another allowed state. A memory cell detected as having a threshold voltage in one of the forbidden zones indicates a data error that can be automatically corrected during a read or reported as an error for subsequent correction and refresh procedure.

FIG. 1 illustrates a multibit-per-cell memory 100 in accordance with an embodiment of the invention. Memory 100 includes a memory array 140. In an exemplary embodiment of the invention, memory 100 is a flash EPROM, and array 140 includes hundreds or thousands of rows or columns of N-channel floating gate transistors (memory cells) organized into independently erasable sectors. Each row of memory cells has control gates coupled to a row line for the row, and each column of memory cells has drains coupled to a column line for the column. Each erasable sector has a source line coupled to the sources of memory cells in the sector. Row, column, and source drivers and decoders 130 are coupled to memory array 140 and generate voltages that are applied to selected row, column, and source lines in memory array 140 for erase, write, and read operations. For an erase, drivers and decoders 130 apply appropriate voltages to the memory cells in a sector to cause Fowler-Nordheim tunneling that removes electrons from the floating gates and reduces the threshold voltage of the memory cells in the sector. For a write operation, drivers and decoders 130 apply programming voltages to the row, column, and source lines coupled to a target memory cell to cause channel hot electron injection that increases the threshold voltage of the target memory cell to a level indicating a data value being written. As will be understood, applications of the invention are not limited to flash EPROM of the exemplary embodiment but can be employed in a variety of memory architectures including but not limited to EPROM, E2PROM, and flash E2PROM.

A read/write control circuit 170 controls writing to a target memory cell in memory array 140. For a write, an input digital data signal Din representing a multibit value to be written to the target memory cell is a select signal for a multiplexer 120. Signal Din is restricted to the number of bits that can be written to a single memory cell. Data values containing more bits than can be stored in a single memory cell may be split into parts containing the number of bits, e.g., 2, 3, 4 . . . bits, that can be stored in a single memory cell so that the parts can be written sequentially to memory cells using the circuitry shown in FIG. 1 or in parallel using parallel circuits (not shown.) Multiplexer 120, which is coupled to a reference voltage generator 110, selects one of input reference signals VW1 to VWn, where n is the number of possible data values that can be stored in a memory cell. (For example, n is sixteen (2x) for memory storing four bits (x bits) per memory cell.) Multiplexer 120 generates an analog signal VW to drivers and decoders 130 to indicate the value being written.

The write process proceeds as illustrated in FIGS. 2A and 2B. In particular, during a series of programming cycles 210, drivers and decoders 130 generate and apply programming voltages Vpr and Vpc to the row and column lines of a target memory cell while grounding the source line of the sector containing the target cell. In the exemplary embodiment, programming voltage Vpr is between 7 and 11 volts and depends on signal VW. Drivers and decoders 130 may include, for example, a row line driver containing voltage shifter or amplifier having signal VW as an input signal and voltage Vpr as an output signal. Alternatively, voltage Vpr may be a fixed voltage, independent of signal VW. A conventional row decoder applies voltage Vpr to the row line coupled to the target memory cell. A conventional column decoder applies voltage Vpc to the drain of the target memory cell during programming cycles 210. Voltage Vpc is typically about 6 volts or whatever voltage is required to increase the threshold voltage of the target memory cell by channel hot electron (CHE) injection of electrons into the floating gate of the target memory cell. Alternative embodiments of the invention using, for example, E2PROM technology program memory cells by tunneling instead of CHE injection.

Verify cycles 220 between programming cycles 210 determine whether the threshold voltage of the target memory cell has reached the desired level. During each verify cycle, drivers and decoders 130 apply to the control gate of the target memory cell a voltage Vvfy which depends on (or is equal to) voltage VW (i.e., one of reference voltages VW1 to VWn), grounds the source lines, and applies a read voltage Vrc to the column line of the target memory cell. A sense amplifier 150 senses whether the target memory cell conducts. If the target memory cell conducts during a verify cycle 220, the threshold voltage of the memory cell is less than voltage Vvfy, and read/write control 170 starts another programming cycle 210 to further increase the threshold voltage. If the target memory cell does not conduct during a verify cycle 220, the threshold voltage has exceeded (but is about equal to voltage Vvfy), and read write control 170 stops further programming cycles 220.

Read/write control 170 also controls read and refresh processes in accordance with an embodiment of the invention. FIGS. 3A and 3B respectively show a row line voltage and a column line voltage during an exemplary combined read/refresh process performed on a target memory cell. During a read stage 330 of the read/refresh process, drivers and decoders 130 ground the source lines, apply a constant read voltage Vrc (typically about 1 to 2 volts) to the column line coupled to the target memory cell, and apply a series of reference voltages from reference voltage generator 110 to the row line (and therefore the control gate) of the target memory cell. For each reference voltage applied to the row line during read stage 330, sense amplifier 150 senses whether the target memory cell conducts. The applied reference voltages during read stage 130 indicate the bounds of allowed threshold voltage states and of forbidden threshold voltage zones such as illustrated in FIG. 4A. In FIG. 4A, reference voltages VF1 to VFm mark the upper bounds of forbidden zones 410 and the lower bounds of allowed threshold voltage states 420. Reference voltages VA1 to VAn mark the upper bounds of allowed threshold states 420 and the lower bounds of forbidden zones 410. Each of the reference voltage levels VW1 to VWn are within an associated one of allowed states 420 so that a write operation ends with a threshold voltage of a target memory cell being in the allowed state 420 associated with the reference voltage VW. Voltage levels VW1 to VWn are not necessarily at the center of an associated allowed state 420. Depending on memory cell characteristics, reference voltage levels VW1 to VWn can be near the top (if charge loss is the dominant effect) or near the bottom (if charge gain is dominant effect) of the associated allowable zones 420. Such an arrangement maximizes the chance that the threshold voltage of a memory cell will remain in an allowed zone 420 and be read correctly. To provide the desired reference voltages as shown in FIG. 4A (or 4B), reference voltage generator 110 may contain a voltage source coupled to series connected resistive elements with taps between the resistive elements for the reference voltages VW1 to VWn, VF1 to VFm, and VA1 and VAn.

During read stage 330, read/write control 170 uses multiplexer 125 to select reference voltages applied to through drivers and decoders 130 to the row line coupled to the target memory cell. Reference voltages starting with lowest reference voltage (voltage VF1 in FIG. 4A) are sequentially applied in order of increasing voltage until sense amplifier 150 senses that applied voltage VR causes the target memory cell to conduct. Thus, at the end of read stage 330, voltage VR is upper bound of the allowed state or forbidden zone containing the threshold voltage of the target memory cell. An alternative read process to that shown in FIGS. 3A and 3B starts at the maximum reference voltage VAn and proceeds in order of decreasing threshold voltage to find a lower bound of the allowed state or forbidden zone containing the threshold voltage of the target memory cell. Yet another read process starts at a reference voltage in the middle of the range of reference voltages and identifies which half (upper or lower) of the range contains the target threshold voltage. (If the memory cell conducts when the middle reference value is applied, the threshold voltage of the target memory cell is in the lower half. Otherwise, the threshold voltage of the target memory cell is in the upper half.) Second and if necessary third and subsequent reference voltages applied to the control gate are in the middle of the range previously identified as containing the threshold voltage of the target memory cell. Sensing for these threshold voltages identifies which quarter, eighth, or smaller division of the threshold voltage range contains the threshold voltage of the target cell. When the division identified is a single allowed state or forbidden zone, the reference voltage that is just above the threshold voltage of the target memory cell is identified. An advantage of the last read process is an on-average decrease in the number of reference voltages applied and sensed from 2x−1 to x where x is the number of bits stored per memory cell. Thus, the last read process provides better average performance for memory storing more than two bits per memory cell.

Voltage VR at the end of read stage 330 indicates the upper bound of either an allowed state or a forbidden zone containing the threshold voltage of the target memory cell. Read/write control 170 generates a multibit digital data signal Dout based on the bound that voltage VR identifies. If voltage VR at the end of read stage 330 is an upper bound of an allowed state, signal Dout indicates the multibit value associated with that state. If voltage VR is an upper bound of a forbidden zone, value Dout indicates the multibit value associated with the allowed state just above the forbidden zone containing the threshold voltage of the memory cell. Thus, this read process assumes that the threshold voltage of the target memory drifted down which is the most common type of change in threshold voltage for N-channel floating gate transistors. If voltage VR is the upper bound of an allowed threshold voltage state at the end of read stage 330, the read/refresh process is complete. No refresh is required. However, if as in FIG. 3A, voltage VR is the upper bound of a forbidden zone, a refresh stage 340 of the read/refresh process begins.

During refresh stage 340, programming cycles 310 and verify cycles 320 raise the threshold voltage of the target memory cell to the next higher threshold voltage state. In the particular example of FIGS. 3A and 3B, voltage VR is equal to reference voltage VFi at the end of read stage 330, and signal Dout identifies the multibit value corresponding to the next greater allowed level and to reference voltage VW(i+1). Read/write control 170 feeds signal Dout back to multiplexer 120 which sets voltage VW equal to the reference voltage VW(i+1). Thus, during programming cycles 310 and verify cycles 320, programming voltage Vpr and verify voltage Vvfy are appropriate for the value being refreshed. As in the write process described above, programming cycles 310 continue until a verify cycle 320 indicates that the threshold voltage of the target cell has reached the level of reference voltage VW(i+1) after which refresh stage 340 is complete.

FIG. 5 shows an alternative multibit-per-cell non-volatile memory 500 in accordance with an embodiment of the invention. Memory 500 differs from memory 100 of FIG. 1 primarily in that a read uses an analog read circuit 550 and comparators 560, not sense amplifiers 150. In particular, instead of repeatedly sensing whether the target memory cell conducts when a series of different reference voltages is applied to the control gate of the memory cell, analog read circuit 550 generates an analog voltage Vout that indicates the threshold voltage of the target memory cell. In an alternative embodiment, analog read circuit generates a signal having a current that indicates the threshold voltage of a target memory cell. U.S. Pat. No. 5,751,635, entitled “Read Circuits for Analog Memory Cells”; U.S. Pat. No. 5,748,534, entitled “Feedback Loop for Threshold Voltage Measurement”; and U.S. Pat. No. 5,748,533, entitled “Read Circuit that uses a Coarse-to-Fine Search when Reading the Threshold Voltage of a Memory Cell” describe suitable analog read circuits and are incorporated by reference herein in their entirety. Analog comparators 560 operate in parallel to compare voltage Vout to reference voltages VA1 . . . VAn and VF1 . . . VFN. From the results of the comparisons, logic (not shown) coupled to analog comparators 150 determines which is the smallest reference voltage greater than voltage Vout and generates digital output signal Dout. The architecture of memory 500 typically provides faster reads than memory 100 if generating signal Vout is faster than applying a series of reference voltages.

Alternatively, analog comparators 560 include one comparator or fewer comparators than there are references voltages VA1 . . . VAn and VF1 . . . VFN, and the comparator or comparators sequentially compare voltage Vout to each references voltages VA1 . . . VAn and VF1 . . . VFN. Any sequence of comparisons can be made. For example, comparisons searching for the nearest reference voltage can start from a highest, lowest, or middle reference voltage and proceed until the range containing Vout is found. This embodiment of the invention can decrease circuit size and cost but increases the read time.

The write/refresh process described above assumes that a threshold voltage in a forbidden zone indicates a memory cell that leaked charge which decreased the threshold voltage of the memory cell. However, threshold voltages can also increase as the result of charge trapping in a floating gate or in the insulator surrounding the floating gate. FIG. 4B illustrates reference voltage levels VF1 to VFm that define two forbidden zones 415 and 425 between each adjacent pair of allowed states 420. Each forbidden zone 415 is just below an adjacent allowed state 420. Each forbidden zone 425 is just above an adjacent allowed state 420. In accordance with this embodiment of the invention, a data error that occurs when a memory cell has a threshold voltage in one of forbidden zones 415 is presumed to result from charge loss from a memory cell originally in the adjacent higher allowed state 420. Thus, read/ write control 170 or 570 decodes a threshold voltage in a forbidden zone 415 as data values corresponding to the next higher allowed state 420. A threshold voltage in one of forbidden zones 425 is presumed to result from charge trapping or another mechanism increasing the threshold voltage from the adjacent lower allowed state 420. Additional forbidden zones bounded by voltage levels VF0 and VF(m+1) at the extremes of the normal threshold voltage range are for detecting “hard defects.” For example, if the threshold voltage range of memory cells of properly operating memory cells is from 1.0 volt to 5.0 volts, a threshold voltage much less than 1.0 volt or much higher than 5.0 volts indicates that a memory cell may be stuck at a low or high threshold voltage. A spare memory cell or spare sector can replace a stuck memory cell or a sector containing the stuck memory cell.

The sizes of allowed states 420 and forbidden zones 415 and 425 can differ from one state or zone to the next. For example, if charge loss is the dominant factor in change of threshold voltages, the threshold voltage range for the forbidden zone 415 below an allowed state 420 can be larger than the threshold voltage range of the forbidden zone 425 above the allowed state 420. Furthermore, memory cells with higher threshold voltage tend to lose charge faster. Accordingly, the size of allowed states 420 and forbidden zones 415 and 425 can vary with the threshold voltages in the states or zones. Further, reference voltage generator 110 can also adjust the boundaries of zones 415, 420, and 425 dynamically, for example, as a function of temperature, supply voltage, time since the last refresh of the sector, the number of erase/write cycles associated with a sector, or even the threshold voltage read during the last read cycle.

Read/ write control 170 or 570 decodes a threshold voltage in a forbidden zone 425 as data values corresponding to the next lower allowed state 420. Threshold voltages in forbidden zones 415 can be corrected by programming the memory cell up to the next allowed state. Similarly, if a memory architecture provides a method for individual erasing or reducing the threshold voltage of a single memory cell, a threshold voltage in a forbidden zone 425 can be lowered to the next lower allowed state. However, a typical flash memory architecture erases a sector as a unit and does not provide a mechanism for erasing or reducing the threshold voltage of individual memory cells. In such flash architectures, a sector containing a data error can be marked as requiring a refresh. Special memory cells in the array or a separate register can be used to identify the data sectors marked for a refresh. FIG. 6 illustrates a system 600 capable of performing scheduled or delayed refreshes of sectors. In system 600, an error detection circuit 655 detects data errors in data that a read circuit 650 reads from memory array 140. Error detection can occur as described above when a read circuit 650 reads a memory cell having a threshold voltage in a forbidden zone or as described below when a data value read is inconsistent with an error detection and correction code. When an error is detected, error detection circuit 655 marks the sector as requiring a refresh, for example by directing read/write control 670 to write a flag value in overhead memory cells in the sector containing the data error or write a sector number in a register in a refresh control 620. The refresh for a data sector marked as containing a data error need not be immediate. Instead refresh control 620 can wait for a period of inactivity of memory 600 before initiating a refresh operation on the marked sector. Alternatively, if the flag is stored in non-volatile memory, the refresh operation can occur during a start up procedure in which refresh control 620 checks for sectors requiring a refresh operation.

To perform a refresh operation on an identified sector, refresh controller 620 reads the identified sector and temporarily stores the results in a buffer 610 while the identified data sector is erased. Buffer 610 can be on-chip or off-chip volatile memory such as SRAM or DRAM or non-volatile memory that stores digital or analog data. A digital buffer stores digital values that a data output circuit 660 determines from the threshold voltage of the identified sector. In one embodiment of memory 600, read circuit 650 is an analog read circuit, and data output circuit 660 includes an analog-to-digital converter provides digital results for storage in data buffer 610. Use of an analog buffer can avoid such conversions during a refresh. For example, if buffer 610 contains DRAM cells, charge stored in DRAM capacitors may be proportional to the threshold voltages read from associated multibit-per-cell memory cells, and analog values read from the DRAM cells can indicate the threshold voltage to be programmed. However, analog DRAM requires additional overhead circuitry. Another alternative is to use a spare memory sector in array 140 for buffer 610 so that the same analog read and write circuits 650 and 630 can read from the selected sector and write to the spare sector. Data from the spare sector can be rewritten to the original sector after the original sector has been erased. Alternatively, data can be left in the spare sector with addresses initially corresponding to the original sector being mapped to the spare sector.

Refresh control 620 controls refresh operations that read the content of a data sector into buffer 610, correct the data, and write data from buffer 610 back to memory array 140. In the case where threshold voltages are recorded in buffer 610, a data correction circuit 615 identifies any threshold voltages that are not in an allowed state 420 and replaces such threshold voltages with the correct one of target levels VW1 to VWn. If error detection and correction codes are used instead of or in addition to forbidden zones, data correction circuit 615 can also use such codes to determine or confirm the correct data value or correct threshold voltage. As shown, correction circuit 615 operates on digital values read from memory array 140, but alternatively data correction can be performed before writing values from buffer 610 to a sector in array 140.

The corrected data can be written back into the original sector or to a different sector. Using a different sector helps to “randomize” the number of write/erase cycles for each sector. Otherwise, “bad” sectors that require frequent refresh operations would be subject to more program and erase cycles than “good” sectors, and the refresh operations could exacerbate endurance problems. To determine when a different sector should store the corrected values after a refresh, overhead memory cells in each sector can hold an erase count indicating the number of write/erase cycles for the sector and/or a refresh time indicating when the sector was last refreshed. Each erase cycle reads the erase count from a sector, erases the sector, and stores an incremented erase count in the overhead memory cells. Each refresh operation updates the refresh time in the sector. A sector can be declared invalid or defective during a/refresh operation when the erase count is too high or when the last refresh time indicates a very short interval since the last refresh operation. The erase count is too high, for example, when the erase count exceeds a limit predetermined for the memory or determined relative to the erase counts in other sectors. When the erase count is too high or the last refresh was too recent, a refresh operation uses a spare sector in place of the invalid sector. An alternative implementation uses a new sector for each refresh operation. For both embodiments, an on-chip or off-chip control circuit can keep track of the address mappings when swapping sectors.

During the refresh of a sector, arbitration logic 645 can perform arbitration to avoid accessing of a sector being erased. For example, memory 600 may be flagged as temporarily unavailable. Alternatively, as illustrated in FIG. 6, arbitration logic 645 can reroute data accesses. For a write, arbitration logic 645 temporarily stores input data and possibly an address in buffer 610 and after a refresh operation is complete, controls multiplexer 675 to write the data from buffer 610 to the indicated address. If buffer 645 contains the data corresponding to a read address, arbitration logic 610 controls a multiplexer 665 to route data from buffer 610 to data output circuit 660 during a refresh operation.

System 600 also includes a timer 625 for systematic memory refreshes and delaying flagged refreshes until a convenient time. In alternative embodiments of the invention, timer 250 is on-chip or is an off-chip component. As described above, a refresh operation affects a single memory cell or sector, but an entire memory can be refreshed sector by sector if desired. Such refreshes can keep data accurately stored in non-volatile memory for extended periods of time even if the data is not otherwise read periodically. In one embodiment of the invention, memory refreshes are periodic with a period shorter than the time required for a non-defective memory cell to drift from one allowed state, across a forbidden zone to another allowed state or a forbidden zone corresponding to another allowed state. Such periods are typically on the order of at least weeks or months for current non-volatile memory but more frequent refreshes having a period of on the order of a day or less can be used. Because of the long intervals between refreshes, periodic memory refreshes may be scheduled for times when use of the memory is less likely. Selection of the time for a refresh can be selected according to the time of the day or the day of the week to select a time when memory access is unlikely, for example, midnight on a Sunday. Refresh control 620 can also monitor memory access to select and further delay a refresh until detecting a suitably long period of memory inactivity. The last date and time of a refresh can be stored on-chip and checked periodically when the memory is powered. Additionally or alternatively, refresh control 620 can conduct a full or partial refresh of memory array 140 as part of a power-up procedure for memory 600.

As another aspect of the invention, a mapping between allowed threshold voltage states and digital values maps adjacent threshold voltage levels to multibit values that differs only in a single bit. Accordingly, the threshold voltage of a memory cell drifting from one threshold voltage state to an adjacent state causes a single bit error. In contrast, for conventional data coding, which monotonically maps threshold voltage states with increasing (or decreasing) threshold voltage to sequentially increasing binary values, a memory cell's threshold voltage drifting a single state can cause a multibit error.

Table 1 illustrates two data coding schemes for a multibit-per-cell memory that stores one 4-bit value per memory cell. To store a 4-bit value in a memory cell, sixteen allowed states are allocated in the range of possible (or suitable) threshold voltages for the memory cell. For Table 1, a threshold voltage ranging between 1 and 5 volts is partitioned into sixteen allowed states designated levels 1 to 16.

TABLE 116-bit Linear and Gray Coded States
THRESHOLD
LEVELVOLTAGELINEAR CODINGGRAY CODING
11.00–1.24 V00000000
21.25–1.49 V00010001
31.50–1.74 V00100011
41.75–1.99 V00110010
52.00–2.24 V01000110
62.25–2.49 V01010111
72.50–2.74 V01100101
82.75–2.99 V01110100
93.00–3.24 V10001100
103.25–3.49 V10011101
113.50–3.74 V10101111
123.75–3.99 V10111110
134.00–4.24 V11001010
144.25–4.49 V11011011
154.50–4.74 V11101001
164.75–4.99 V11111000

To implement the gray coding of Table 1 in memory array 100 of FIG. 1, multiplexer 120 implements the mapping between a 4-bit digital value Din as in column 4 of Table 1 to a voltage VW that is within a voltage range indicated in column 2 of Table 1. Read/write control 170 performs the reverse mapping from VR at the end of the read stage the associate digital value in column 4 of Table 1.

The gray coding process of Table 1 can be varied in a variety of ways. For example, many different mappings that provide a series of values where adjacent values differ by a single bit are possible. Such mappings are not restricted to 4-bit data values but are known for any size of multibit data values. Also, although Table 1 describes allowed states which are separated by 0.01-volt forbidden zones, gray coding of multibit values in a memory cell is applicable to memories where possible threshold voltages for a memory cell do not have forbidden zones between the allowed states.

As a further aspect of the invention, error detection and correction codes can be generated and stored for a section, row, column, or other part of a memory and used to correct data errors. In particular, when a threshold voltage is observed in a forbidden zone (e.g., between 2.99 volts and 3.00 volts), an error correction code generated when data was written can be used to determine the correct allowed threshold voltage state for a memory cell. The gray coding of Table 1 is well suited to use with error correction codes since single bit errors are typically easier to correct with error correction codes than are multiple bit errors. In memory 600 of FIG. 6, error detection circuit 655 use error detection codes to detect errors with or without forbidden zones and when the threshold voltage of a memory cell has crossed through a forbidden zone. Similarly, data correction circuit 615 corrects data or threshold voltages using error correction codes with or without forbidden zones and when the threshold voltage of a memory cell has crossed through a forbidden zone.

Although the invention has been described with reference to particular embodiments, the description is only an example of the invention's application and should not be taken as a limitation. In particular, even though much of preceding discussion was aimed at non-volatile memory including N-channel floating gate devices, alternative embodiments of this invention include other memory structures. For example, embodiments employing P-channel transistors are possible. In such embodiments, erasing and charge leakage increase the threshold voltage of a memory cell, and programming decreases the threshold voltages. Accordingly, variations in the read and write processes described above are required. Various other adaptations and combinations of features of the embodiments disclosed are within the scope of the invention as defined by the following claims.

Claims (11)

  1. A non-volatile semiconductor memory comprising: an array of memory cells; drivers and decoders coupled to apply voltages to the array, as required to write to any memory cell in the array and to read any memory cell in the array, wherein each memory cell that stores data has a threshold voltage that identifies a multibit data value written in the memory cell; a reference generator that generates first reference signals and second reference signals, wherein the first reference signals indicate bounds of allowed ranges of threshold voltages corresponding to data values that can be stored in the memory cell, and the second reference signals indicate bounds of one or more forbidden ranges of threshold voltages corresponding to data errors, wherein the allowed ranges of threshold voltages are separated from each other by at least one forbidden range; and a control circuit coupled to control the drivers and decoders during a read process, the control circuit including logic that initiates a process to refresh a threshold voltage of a memory cell when a read process that detects that the threshold voltage of the memory cell is in a forbidden range.
  2. The non-volatile memory of claim 1, further comprising a timer that triggers a refresh operation by initiating reading of at least a portion of the memory array.
  3. The non-volatile memory of claim 2, wherein the array, the drivers and decoders, the reference generator, the control circuit, the timer are parts of a monolithic integrated circuit.
  4. The non-volatile memory of claim 2, further comprising a buffer coupled to temporarily store data from the portion of the memory array, during the refresh operation.
  5. A method for operating a non-volatile memory, comprising: programming threshold voltages of memory cells in the non-volatile memory so that each memory cell has a threshold voltage in an allowed state associated with a multibit data value stored in the memory cell, wherein threshold voltages of the memory cells have a plurality of allowed ranges of threshold voltages corresponding to data values that can be stored in the memory cell that are separated from each other by forbidden zones of threshold voltages corresponding to data errors; identifying a portion of the non-volatile memory that contains a memory cell with a threshold voltage in one of the forbidden zones; and refreshing the multibit data values stored in memory cells in the identified portion by reprogramming the threshold voltages.
  6. The method of claim 5, wherein refreshing the multibit data values is performed in response to a signal from a timer.
  7. The method of claim 6, wherein refreshing the multibit data values is performed periodically with a period greater than one day.
  8. The method of claim 6, further comprising determining a time during which use of the memory is unlikely, wherein the timer schedules refreshing for that time.
  9. The method of claim 5, wherein refreshing the multibit data values is performed as part of a power up procedure for the memory.
  10. The method of claim 5, wherein the portion identified as containing a memory cell with a threshold voltage in one of the forbidden zones is a sector, and refreshing the multibit data values comprises: reading data values from the sector; storing the data values in a buffer; erasing the sector; and writing the data values back in the sector.
  11. The method of claim 5, wherein reading the data values comprises measuring the threshold voltage of the memory cell with the threshold voltage in one of the forbidden zones, wherein a data value read from that memory cell corresponds to an allowed state near the forbidden zone containing the threshold voltage of the memory cell.

Publications

Related applications (16)

  1. US11/101,938

    Priority application

  2. US11/620,127

    Priority application

  3. US08/924,909

    Claims priority

  4. US10/045,505

    Claims priority

  5. US11/101,938

    Claims priority

  6. US10/045,505

    Parent application

    Multi-bit-per-cell flash EEPROM memory with refresh

    Continuation · Filed October 18, 2001

  7. US08/924,909

    Patent family

  8. US09/200,220

    Patent family

  9. US09/680,797

    Patent family

  10. US10/045,505

    Patent family

  11. US11/101,938

    Patent family

  12. US11/620,127

    Patent family

  13. US08/924,909

    Earlier family application

  14. US09/200,220

    Earlier family application

  15. US09/680,797

    Earlier family application

  16. US10/045,505

    Earlier family application

Record timeline

  1. Application filed by SanDisk Corp

  2. Priority to US11/101,938

  3. Publication of US20050174844A1

  4. Priority to US11/620,127

  5. Application granted

  6. Publication of US7170781B2

  7. Assigned to SANDISK TECHNOLOGIES INC.

  8. Anticipated expiration

  9. Expired - Fee RelatedCurrent

Legal events

  1. FPAY

    Fee payment

    Year of fee payment: 4

  2. AS

    Assignment

    Owner name: SANDISK TECHNOLOGIES INC., TEXAS

    Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SANDISK CORPORATION;REEL/FRAME:026223/0931

    Effective date: 20110404

  3. FPAY

    Fee payment

    Year of fee payment: 8

  4. FEPP

    Fee payment procedure

    Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

  5. LAPS

    Lapse for failure to pay maintenance fees

    Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

  6. STCH

    Information on status: patent discontinuation

    Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

  7. FP

    Lapsed due to failure to pay maintenance fee

    Effective date: 20190130

Patent citations (66)

  1. US4139911A

    High speed sense circuit for semiconductor memories

    Westinghouse Electric Corp. · February 13, 1979

  2. US4218764A

    Non-volatile memory refresh control circuit

    Matsushita Electric Industrial Co., Ltd. · August 19, 1980

  3. US4253059A

    EPROM Reliability test circuit

    Fairchild Camera & Instrument Corp. · February 24, 1981

  4. US4703453A

    Semiconductor memory with an improved dummy cell arrangement and with a built-in error correcting code circuit

    Hitachi, Ltd. · October 27, 1987

  5. US4460982A

    Intelligent electrically programmable and electrically erasable ROM

    Intel Corporation · July 17, 1984

  6. US4612630A

    EEPROM margin testing design

    Harris Corporation · September 16, 1986

  7. US4694454A

    Dynamic memory diagnosis and error correction apparatus

    Hitachi, Ltd. · September 15, 1987

  8. US4703196A

    High voltage precharging circuit

    Fujitsu Limited · October 27, 1987

  9. US4799195A

    Semiconductor memory device with a sense amplifier

    Kabushiki Kaisha Toshiba · January 17, 1989

  10. US4733394A

    Electrically programmable semiconductor memory showing redundance

    Deutsche Itt Industries Gmbh · March 22, 1988

  11. US4779272A

    Testable variable-threshold non-volatile semiconductor memory

    Mitsubishi Denki Kabushiki Kaisha · October 18, 1988

  12. US5157629A

    Selective application of voltages for testing storage cells in semiconductor memory arrangements

    Hitachi, Ltd. · October 20, 1992

  13. US4763305A

    Intelligent write in an EEPROM with data and erase check

    Motorola, Inc. · August 9, 1988

  14. US4937787A

    Programmable read only memory with means for discharging bit line before program verifying operation

    Nec Corporation · June 26, 1990

  15. US4827450A

    Integrated circuit with memory comprising a fraud-prevention device

    Sgs-Thomson Microelectronics S.A. · May 2, 1989

  16. US4809231A

    Method and apparatus for post-packaging testing of one-time programmable memories

    Motorola, Inc. · February 28, 1989

  17. US4964079A

    Electrically programmable memory with several information bits per cell

    Sgs-Thomson Microelectronics · October 16, 1990

  18. US5583812A

    Flash EEPROM system cell array with more than two storage states per memory cell

    Harari; Eliyahou · December 10, 1996

  19. US5262984A

    Non-volatile memory device capable of storing multi-state data

    Mitsubishi Denki Kabushiki Kaisha · November 16, 1993

  20. US4962322A

    Nonvolatible capacitor random access memory

    Texas Instruments Incorporated · October 9, 1990

  21. US5070032A

    Method of making dense flash eeprom semiconductor memory structures

    Sundisk Corporation · December 3, 1991

  22. US5119330A

    Nonvolatile memory system for multiple value storing

    Oki Electric Industry Co, Ltd. · June 2, 1992

  23. US5172338B1

    Multi-state eeprom read and write circuits and techniques

    Sandisk Corp · July 8, 1997

  24. WO1990012400A1

    Multi-state eeprom read and write circuits and techniques

    Sundisk Corporation · October 18, 1990

  25. US5172338A

    Multi-state EEprom read and write circuits and techniques

    Sundisk Corporation · December 15, 1992

  26. US5151906A

    Semiconductor memory device having self-correcting function

    Rohm Co., Ltd. · September 29, 1992

  27. US5321655A

    Semiconductor memory device

    Kabushiki Kaisha Toshiba · June 14, 1994

  28. US5394359A

    MOS integrated circuit with adjustable threshold voltage

    Gemplus Card International · February 28, 1995

  29. US5065364A

    Apparatus for providing block erasing in a flash EPROM

    Intel Corporation · November 12, 1991

  30. US5200959A

    Device and method for defect handling in semi-conductor memory

    Sundisk Corporation · April 6, 1993

  31. US5270551A

    Method of and apparatus for protecting electronic circuit against radiation

    Hitachi, Ltd. · December 14, 1993

  32. US5122985A

    Circuit and method for erasing eeprom memory arrays to prevent over-erased cells

    Giovani Santin · June 16, 1992

  33. US5132935A

    Erasure of eeprom memory arrays to prevent over-erased cells

    Ashmore Jr Benjamin H · July 21, 1992

  34. US5200922A

    Redundancy circuit for high speed EPROM and flash memory devices

    Rao Kameswara K · April 6, 1993

  35. US5239505A

    Floating gate non-volatile memory with blocks and memory refresh

    Intel Corporation · August 24, 1993

  36. US5270979A

    Method for optimum erasing of EEPROM

    Sundisk Corporation · December 14, 1993

  37. US5263032A

    Computer system operation with corrected read data function

    Digital Equipment Corporation · November 16, 1993

  38. US5313427A

    EEPROM array with narrow margin of voltage thresholds after erase

    Texas Instruments Incorporated · May 17, 1994

  39. US5278794A

    NAND-cell type electrically erasable and programmable read-only memory with redundancy circuit

    Kabushiki Kaisha Toshiba · January 11, 1994

  40. US5327383A

    Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy

    Intel Corporation · July 5, 1994

  41. US5347489A

    Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy

    Intel Corporation · September 13, 1994

  42. US5377147A

    Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy

    Intel Corporation · December 27, 1994

  43. US5532962A

    Soft errors handling in EEPROM devices

    Sandisk Corporation · July 2, 1996

  44. US5657332A

    Soft errors handling in EEPROM devices

    Sandisk Corporation · August 12, 1997

  45. US5465236A

    Nonvolatile semiconductor memory system with a plurality of erase blocks

    Kabushiki Kaisha Toshiba · November 7, 1995

  46. US5689465A

    Semiconductor memory device and defective memory cell correction circuit

    Texas Instruments Incorporated · November 18, 1997

  47. US5341334A

    Level shifter circuit constituted of E and I type transistors and an EEPROM using the same

    Kabushiki Kaisha Toshiba · August 23, 1994

  48. US5365486A

    Method and circuitry for refreshing a flash electrically erasable, programmable read only memory

    Texas Instruments Incorporated · November 15, 1994

  49. US5335198A

    Flash EEPROM array with high endurance

    Advanced Micro Devices, Inc. · August 2, 1994

  50. US5450363A

    Gray coding for a multilevel cell memory system

    Intel Corporation · September 12, 1995

  51. US5523972A

    Method and apparatus for verifying the programming of multi-level flash EEPROM memory

    Intel Corporation · June 4, 1996

  52. US5761125A

    Cell threshold value distribution detection circuit and method of detecting cell threshold value

    Kabushiki Kaisha Toshiba · June 2, 1998

  53. US5652720A

    Electrically programmable memory with improved retention of data and a method of writing data in said memory

    Sgs-Thomson Microelectronics S.A. · July 29, 1997

  54. US5751639A

    DRAM having a power supply voltage lowering circuit

    Kabushiki Kaisha Toshiba · May 12, 1998

  55. US5889698A

    Nonvolatile memory device and refreshing method

    Hitachi, Ltd. · March 30, 1999 · Examiner cited

  56. US5648934A

    On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same

    Micron Technology, Inc. · July 15, 1997 · Examiner cited

  57. US5905673A

    Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell

    Agate Semiconductor, Inc. · May 18, 1999 · Examiner cited

  58. US5703506A

    Signal processing method

    Motorola · December 30, 1997

  59. EP0791933A1

    Electrically alterable multilevel nonvolatile memory with autonomous refresh

    STMicroelectronics S.A. · August 27, 1997

  60. US5712815A

    Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells

    Advanced Micro Devices, Inc. · January 27, 1998

  61. US5675537A

    Erase method for page mode multiple bits-per-cell flash EEPROM

    Advanced Micro Devices, Inc. · October 7, 1997

  62. US5717632A

    Apparatus and method for multiple-level storage in non-volatile memories

    Advanced Micro Devices, Inc. · February 10, 1998

  63. US5835413A

    Method for improved data retention in a nonvolatile writeable memory by sensing and reprogramming cell voltage levels

    Intel Corporation · November 10, 1998

  64. US5909449A

    Multibit-per-cell non-volatile memory with error detection and correction

    Invox Technology · June 1, 1999 · Examiner cited

  65. US6151246A

    Multi-bit-per-cell flash EEPROM memory with refresh

    Sandisk Corporation · November 21, 2000 · Examiner cited

  66. US6199139B1

    Refresh period control apparatus and method, and computer

    International Business Machines Corporation · March 6, 2001

Non-patent citations (3)

  1. Communication Pursuant to Article 96(2) EPC for Application No. 98 307 184.6 for SanDisk Corporation, Aug. 7, 2006, 3 pages.
  2. Communication Pursuant to Article 96(2) EPC for SanDisk Corporation dated Aug. 8, 2005, 5 pages.
  3. Lee et al., "Error Correction Technique for Multivalued MOS Memory," Electronic Letters, vol. 27, No. 15, Jul. 18, 1991, pp. 1321-1323.

Cited by (106)

  1. US8599611B2

    Distortion estimation and cancellation in memory devices

    Apple Inc. · December 3, 2013

  2. US8239735B2

    Memory Device with adaptive capacity

    Apple Inc. · August 7, 2012

  3. US8570804B2

    Distortion estimation and cancellation in memory devices

    Apple Inc. · October 29, 2013

  4. US8156403B2

    Combined distortion estimation and error correction coding for memory devices

    Anobit Technologies Ltd. · April 10, 2012

  5. US7613043B2

    Shifting reference values to account for voltage sag

    Apple Inc. · November 3, 2009

  6. US8127202B2

    Use of alternative value in cell detection

    Apple Inc. · February 28, 2012 · Examiner cited

  7. US20070277060A1

    Use of Alternative Value in Cell Detection

    Apple Inc. · November 29, 2007 · Examiner cited

  8. US20080013380A1

    Shifting Reference Values to Account for Voltage Sag

    Apple Inc. · January 17, 2008 · Examiner cited

  9. US8356231B2

    Use of alternative value in cell detection

    Apple Inc. · January 15, 2013 · Examiner cited

  10. US20070263439A1

    Dynamic Cell Bit Resolution

    Apple Inc. · November 15, 2007 · Examiner cited

  11. US8355284B2

    Analog interface for a flash memory die

    Apple Inc. · January 15, 2013

  12. US20090147570A1

    Use of 8-bit or higher a/d for nand cell value

    Apple Inc. · June 11, 2009 · Examiner cited

  13. US7568135B2

    Use of alternative value in cell detection

    Apple Inc. · July 28, 2009 · Examiner cited

  14. US20070263469A1

    Two Levels of Voltage Regulation Supplied for Logic and Data Programming Voltage of a Memory Device

    Apple Inc. · November 15, 2007 · Examiner cited

  15. US20090237994A1

    Iterative Memory Cell Charging Based on Reference Cell Value

    Cornwell Michael J · September 24, 2009 · Examiner cited

  16. US20120155174A1

    Use of Alternative Value in Cell Detection

    Apple Inc. · June 21, 2012 · Examiner cited

  17. US7639531B2

    Dynamic cell bit resolution

    Apple Inc. · December 29, 2009

  18. US7639542B2

    Maintenance operations for multi-level data storage cells

    Apple Inc. · December 29, 2009

  19. US20090323418A1

    Use of Alternative Value in Cell Detection

    Cornwell Michael J · December 31, 2009 · Examiner cited

  20. US20100020604A1

    Shifting reference values to account for voltage sag

    Apple Inc. · January 28, 2010 · Examiner cited

  21. US20100070798A1

    Maintenance Operations for Multi-Level Data Storage Cells

    Apple Inc. · March 18, 2010 · Examiner cited

  22. US20100070801A1

    Maintenance operations for multi-level data storage cells

    Apple Inc. · March 18, 2010 · Examiner cited

  23. US20100070799A1

    Dynamic cell bit resolution

    Apple Inc. · March 18, 2010 · Examiner cited

  24. US7701797B2

    Two levels of voltage regulation supplied for logic and data programming voltage of a memory device

    Apple Inc. · April 20, 2010

  25. US9245616B2

    Dynamic cell state resolution

    Apple Inc. · January 26, 2016

  26. US20100157674A1

    Two Levels of Voltage Regulation Supplied for Logic and Data Programming Voltage of a Memory Device

    Apple Inc. · June 24, 2010 · Examiner cited

  27. US7773022B2

    Operating NAND cells using multiple levels for each data value

    Apple Inc. · August 10, 2010

  28. US9042170B2

    Off-die charge pump that supplies multiple flash devices

    Apple Inc. · May 26, 2015

  29. US7852674B2

    Dynamic cell bit resolution

    Apple Inc. · December 14, 2010

  30. US7852690B2

    Multi-chip package for a flash memory

    Apple Inc. · December 14, 2010

  31. US7859908B2

    Iterative memory cell charging based on reference cell value

    Apple Inc. · December 28, 2010

  32. US8462550B2

    Off-die charge pump that supplies multiple flash devices

    Apple Inc. · June 11, 2013

  33. US20070263454A1

    Maintenance Operations for Multi-Level Data Storage Cells

    Apple Inc. · November 15, 2007 · Examiner cited

  34. US8830747B2

    Off-die charge pump that supplies multiple flash devices

    Apple Inc. · September 9, 2014

  35. US7881108B2

    Maintenance operations for multi-level data storage cells

    Apple Inc. · February 1, 2011

  36. US7911834B2

    Analog interface for a flash memory die

    Apple Inc. · March 22, 2011

  37. US7974132B2

    Shifting reference values to account for voltage sag

    Apple Inc. · July 5, 2011

  38. US20110170348A1

    Analog interface for a flash memory die

    Apple Inc. · July 14, 2011 · Examiner cited

  39. US8000134B2

    Off-die charge pump that supplies multiple flash devices

    Apple Inc. · August 16, 2011

  40. US20070263441A1

    Analog Interface for a Flash Memory Die

    Apple Inc. · November 15, 2007 · Examiner cited

  41. US8116133B2

    Maintenance operations for multi-level data storage cells

    Apple Inc. · February 14, 2012

  42. US8964469B2

    Off-die charge pump that supplies multiple flash devices

    Apple Inc. · February 24, 2015

  43. US8159897B2

    Two levels of voltage regulation supplied for logic and data programming voltage of a memory device

    Apple Inc. · April 17, 2012

  44. US20070263442A1

    Off-Die Charge Pump that Supplies Multiple Flash Devices

    Apple Inc. · November 15, 2007 · Examiner cited

  45. US20070263440A1

    Multi-Chip Package for a Flash Memory

    Apple Inc. · November 15, 2007 · Examiner cited

  46. US8145984B2

    Reading memory cells using multiple thresholds

    Anobit Technologies Ltd. · March 27, 2012

  47. USRE46346E1

    Reading memory cells using multiple thresholds

    Apple Inc. · March 21, 2017

  48. US8151163B2

    Automatic defect management in memory devices

    Anobit Technologies Ltd. · April 3, 2012

  49. US8151166B2

    Reduction of back pattern dependency effects in memory devices

    Anobit Technologies Ltd. · April 3, 2012 · Examiner cited

  50. US20080219050A1

    Reduction of back pattern dependency effects in memory devices

    Anobit Technologies Ltd. · September 11, 2008 · Examiner cited

  51. US8369141B2

    Adaptive estimation of memory cell read thresholds

    Apple Inc. · February 5, 2013

  52. TWI478162B

    Flash memory refresh techniques triggered by controlled scrub data reads

    Sandisk Technologies Inc · March 21, 2015 · Examiner cited

  53. US8429493B2

    Memory device with internal signap processing unit

    Apple Inc. · April 23, 2013

  54. US8234545B2

    Data storage with incremental redundancy

    Apple Inc. · July 31, 2012

  55. US7535787B2

    Methods and apparatuses for refreshing non-volatile memory

    Daniel Elmhurst · May 19, 2009

  56. US20080304327A1

    Methods and apparatuses for refreshing non-volatile memory

    Daniel Elmhurst · December 11, 2008 · Examiner cited

  57. US8259497B2

    Programming schemes for multi-level analog memory cells

    Apple Inc. · September 4, 2012

  58. US8174905B2

    Programming orders for reducing distortion in arrays of multi-level analog memory cells

    Anobit Technologies Ltd. · May 8, 2012

  59. US8527819B2

    Data storage in analog memory cell arrays having erase failures

    Apple Inc. · September 3, 2013

  60. US8270246B2

    Optimized selection of memory chips in multi-chips memory devices

    Apple Inc. · September 18, 2012

  61. US8225181B2

    Efficient re-read operations from memory devices

    Apple Inc. · July 17, 2012

  62. US8209588B2

    Efficient interference cancellation in analog memory cell arrays

    Anobit Technologies Ltd. · June 26, 2012

  63. US8156398B2

    Parameter estimation based on error correction code parity check equations

    Anobit Technologies Ltd. · April 10, 2012

  64. US8230300B2

    Efficient readout from analog memory cells using data compression

    Apple Inc. · July 24, 2012

  65. US20090231914A1

    Memory devices and methods

    Samsung Electronics Co., Ltd. · September 17, 2009 · Examiner cited

  66. US7903459B2

    Memory devices and methods for determining data of bit layers based on detected error bits

    Samsung Electronics Co., Ltd. · March 8, 2011 · Examiner cited

  67. US8400858B2

    Memory device with reduced sense time readout

    Apple Inc. · March 19, 2013

  68. US8498151B1

    Data storage in analog memory cells using modified pass voltages

    Apple Inc. · July 30, 2013

  69. US8169825B1

    Reliable data storage in analog memory cells subjected to long retention periods

    Anobit Technologies Ltd. · May 1, 2012

  70. US8949684B1

    Segmented data storage

    Apple Inc. · February 3, 2015

  71. US8482978B1

    Estimation of memory cell read thresholds by sampling inside programming level distribution intervals

    Apple Inc. · July 9, 2013

  72. US8239734B1

    Efficient data storage in storage device arrays

    Apple Inc. · August 7, 2012

  73. US8261159B1

    Data scrambling schemes for memory devices

    Apple, Inc. · September 4, 2012

  74. US8208304B2

    Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N

    Anobit Technologies Ltd. · June 26, 2012

  75. US20110026353A1

    Data refresh for non-volatile storage

    Nima Mokhlesi · February 3, 2011 · Examiner cited

  76. US8098537B2

    Data refresh for non-volatile storage

    Sandisk Technologies Inc. · January 17, 2012

  77. US7859932B2

    Data refresh for non-volatile storage

    Sandisk Corporation · December 28, 2010

  78. US20100157671A1

    Data refresh for non-volatile storage

    Nima Mokhlesi · June 24, 2010 · Examiner cited

  79. US8174857B1

    Efficient readout schemes for analog memory cell devices using multiple read threshold sets

    Anobit Technologies Ltd. · May 8, 2012

  80. US8397131B1

    Efficient readout schemes for analog memory cell devices

    Apple Inc. · March 12, 2013

  81. US8248831B2

    Rejuvenation of analog memory cells

    Apple Inc. · August 21, 2012

  82. US8924661B1

    Memory system including a controller and processors associated with memory devices

    Apple Inc. · December 30, 2014

  83. US8228701B2

    Selective activation of programming schemes in analog memory cell arrays

    Apple Inc. · July 24, 2012

  84. US8832354B2

    Use of host system resources by memory controller

    Apple Inc. · September 9, 2014

  85. US8259506B1

    Database of memory read thresholds

    Apple Inc. · September 4, 2012

  86. US8248857B2

    Memory system with potential rank correction capability

    Kabushiki Kaisha Toshiba · August 21, 2012

  87. US20100254187A1

    Memory system and control method thereof

    Hiroaki Tanaka · October 7, 2010 · Examiner cited

  88. US8238157B1

    Selective re-programming of analog memory cells

    Apple Inc. · August 7, 2012

  89. US8479080B1

    Adaptive over-provisioning in memory systems

    Apple Inc. · July 2, 2013

  90. US8495465B1

    Error correction coding over multiple memory pages

    Apple Inc. · July 23, 2013

  91. US8677054B1

    Memory management schemes for non-volatile memory devices

    Apple Inc. · March 18, 2014

  92. US8694814B1

    Reuse of host hibernation storage space by memory controller

    Apple Inc. · April 8, 2014

  93. US8572311B1

    Redundant data storage in multi-die memory systems

    Apple Inc. · October 29, 2013

  94. US8677203B1

    Redundant data storage schemes for multi-die memory systems

    Apple Inc. · March 18, 2014

  95. US8694853B1

    Read commands for reading interfering memory cells

    Apple Inc. · April 8, 2014

  96. US8572423B1

    Reducing peak current in memory systems

    Apple Inc. · October 29, 2013

  97. US8595591B1

    Interference-aware assignment of programming levels in analog memory cells

    Apple Inc. · November 26, 2013

  98. US9104580B1

    Cache memory for hybrid disk drives

    Apple Inc. · August 11, 2015

  99. US8767459B1

    Data storage in analog memory cells across word lines using a non-integer number of bits per cell

    Apple Inc. · July 1, 2014

  100. US8645794B1

    Data storage in analog memory cells using a non-integer number of bits per cell

    Apple Inc. · February 4, 2014

  101. US8856475B1

    Efficient selection of memory blocks for compaction

    Apple Inc. · October 7, 2014

  102. US8694854B1

    Read threshold setting based on soft readout statistics

    Apple Inc. · April 8, 2014

  103. US9021181B1

    Memory management for unifying memory cell conditions by using maximum time intervals

    Apple Inc. · April 28, 2015

  104. TWI604460B

    Electronic device using integrated non-volatile memory and integrated non-volatile memory control method

    南亞科技股份有限公司 · November 1, 2017 · Examiner cited

  105. US11556416B2

    Controlling memory readout reliability and throughput by adjusting distance between read thresholds

    Apple Inc. · January 17, 2023

  106. US11847342B2

    Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

    Apple Inc. · December 19, 2023

Related Patents