WO2005041108A2 - A method circuit and system for read error detection in a non-volatile memory array - Google Patents

A method circuit and system for read error detection in a non-volatile memory array Download PDF

Info

Publication number
WO2005041108A2
WO2005041108A2 PCT/IL2004/000983 IL2004000983W WO2005041108A2 WO 2005041108 A2 WO2005041108 A2 WO 2005041108A2 IL 2004000983 W IL2004000983 W IL 2004000983W WO 2005041108 A2 WO2005041108 A2 WO 2005041108A2
Authority
WO
WIPO (PCT)
Prior art keywords
cells
read
state
nvm
programmed
Prior art date
Application number
PCT/IL2004/000983
Other languages
French (fr)
Other versions
WO2005041108A3 (en
Inventor
Guy Cohen
Original Assignee
Saifun Semiconductors Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Saifun Semiconductors Ltd. filed Critical Saifun Semiconductors Ltd.
Priority to EP04791845A priority Critical patent/EP1683160A4/en
Priority to JP2006537554A priority patent/JP2007510253A/en
Publication of WO2005041108A2 publication Critical patent/WO2005041108A2/en
Publication of WO2005041108A3 publication Critical patent/WO2005041108A3/en

Links

Classifications

    • GPHYSICS
    • 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/564Miscellaneous aspects
    • G11C2211/5644Multilevel memory comprising counting devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Definitions

  • the present invention generally relates to the field of non-volatile memory (“NVM”) cells. More specifically, the present invention relates to a method and a system for selecting a reference voltage of one or more reference cells in order to read one or more memory cells within a memory cell array.
  • NVM non-volatile memory
  • NVM cells are generally operated (e.g. programmed, read, and erased) using one or more reference structures or cells. Each of the one or more reference structures or cells may be compared against a memory cell being operated in order to determine a condition or state of the memory cell being operated.
  • an NVM cell's state may be defined and determined by its threshold voltage, the voltage at which the cell begins to conduct current.
  • a NVM cell's threshold voltage level is usually correlated to the amount of charge stored in a charge storage region of the cell. Different threshold voltage ranges are associated with different states of an NVM cell.
  • FIG. 1A shows a graph depicting the boundaries between the two states, erased and programmed, of a binary NVM cell, and the buffer region in between the two states.
  • the cell's threshold level is compared to that of a reference structure or cell whose threshold level is set, or otherwise known to be, at a voltage level associated with the specific state being tested for. Comparing the threshold voltage of a NVM cell to that of a reference cell is often accomplished using a sense amplifier or similar circuit.
  • Various techniques for comparing an NVM's threshold voltage against those of one or more reference cells or structures, in order to determine the NVM's cells state are well known and applicable to the present invention. Any method or circuit presently known or to be devised in the future for comparing threshold voltage levels of reference cells or structures against NVM cells are applicable to the present invention.
  • an NVM cell's threshold value may be compared against a reference cell having a reference threshold value set at a voltage level defined as the "program verify" level.
  • the reference cell with a threshold voltage set at a voltage level defined as a "program verify” level for the given state may be compared to the threshold voltage of the cell being programmed (i.e. charged) in order to determine whether a charge storage area or region of the cell being programmed has been sufficiently charged so as to have placed the cell in a condition which may be considered "programmed" at the desired state.
  • the cell's threshold voltage may be compared against that of a reference cell having a reference threshold voltage defined as a "read" level for the specific state.
  • a "read” level is usually set lower than a "program verify” level and higher than the erase verify level in order to compensate for voltage drifts which may occur during operation.
  • a logical state of the cell is defined as '0' if the cell's Vt is higher than that of the read reference and if it is lower.
  • two or more programming levels may co-exist on the same cell, as is drawn in FIG. 1 B.
  • at least two read reference cells must be used.
  • the MLC cell's threshold is in one of three or more regions bounded by the two or more threshold voltages defined by read reference cells.
  • the voltage threshold boundaries which define a given state in an MLC are usually considerably smaller than those for a binary NVM cell.
  • FIG. 1 B illustrates four different threshold voltage regions of an MLC, where each region is associated with either one of the programmed states of the MLC or with the erased state of the MLC.
  • a rather fixed range of potential threshold voltages e.g. 3 Volts to 9 Volts
  • the size of each sub-range or region in an MLC is usually smaller than a region of a binary NVM cell, which binary cell only requires two voltage threshold regions, as seen in FIG. 1A.
  • FIG. 2 shows a graph depicting threshold voltages (V t ) changes associated with two program states of an exemplary MLC due to drift, as a function of time, for 10 cycles and for 1000 cycles. As seen in the graph, voltage drift may occur across numerous cells, and may occur in a correlated pattern across these cells.
  • V t deviations in cells'
  • Variation of the threshold voltage of memory cells may lead to false reads of the state and may further result in the corruption of the data in the memory array. Voltage drift is especially problematic in MLC cells where the V t regions or sub-ranges associated with each programmed state are relatively smaller than those for a typical binary cell.
  • threshold voltage drift of cells in the NVM array should be compensated for.
  • There is a well understood need for an efficient and reliable method of determining a set of reference voltage levels which may accommodate variations in the threshold voltages of cells of an NVM array, and of established reference cells with the determined reference voltages.
  • the present invention is a method, circuit and system for determining a reference voltage.
  • Some embodiments of the present invention relate to a system, method and circuit for establishing a set of operating reference cells to be used in operating (e.g. reading) cells in a NVM block or array.
  • at least a subset of cells of the NVM block or array may be read using each of two or more sets of test reference cells, where each set of test reference cells may generate or otherwise provide reference voltages at least slightly offset from each other set of test reference cells.
  • a read error rate may be calculated or otherwise determined.
  • a set of test reference cells associated with a relatively low read error rate may be selected as the set of operating reference cells to be used in operating (e.g. reading) other cells, outside the subset of cells, in the NVM block or array.
  • the selected set of test reference cells may be used to establish an operating set of reference cells having reference voltages substantially equal to those of the selected test set.
  • the number of cells to be programmed to each of one or more logical or program states associated with the set of cells may be counted, and may be stored, for example in a check sum table.
  • the number of cells to be programmed to, up to and/or below each logical or program state may be counted and/or stored in a table with is either on the same array as the set of NVM cells or in memory on the same chip as the NVM array.
  • the number of cells found to be at a given logical or program state may be compared against either corresponding values stored during programming (e.g. the number of cells programmed to a given state) or against a value derived from the values stored during programming (e.g. the number of cells programmed at or above the given state, minus the number of cells programmed to or above an adjacent higher logical state). If there is a discrepancy between the number of cells read at a given state and an expected number based on the values determined/counted/stored during programming, a Read Verify reference threshold value associated with the given program state may be adjusted upward or downward to compensate for the detected error. According to some embodiments of the present invention, the read verify level of an adjacent logical state may also be moved upward or downward in order to compensate for detected read errors at a given state.
  • the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g
  • Read Verify reference voltages for a set of cells may be selected such that the number of cells found/read in each of the states associated with the set may be substantially equal to the a number either read from or derived from the values counted during programming of the set of cells, which values may have been stored in a check sum table.
  • the check sum table may reside on the same chip as the set of NVM cells, and according to a further embodiment of the present invention, a controller may be adapted to perform the above mentioned error detection and Read Verify reference value adjustments.
  • the check sum table may either be stored in the same NVM array as the set of NVM cells, or on some other memory cells residing on the same chip as the NVM array, for example in a register or buffer used by the controller during programming and/or reading.
  • specialized error coding and detection circuits may be included with a controller on the same chip and the NVM array to be operated.
  • FIG. 1A is a graphical illustration of the different threshold voltages associated with the different states of a binary NVM cell, where both the Program Verify and Read Verify Threshold Levels are visible, and;
  • FIG. 1 B is a graphical illustration of different threshold voltages, each being associated with the boundary of a different program state of a Multi-Level Cell (MLC);
  • MLC Multi-Level Cell
  • FIG. 2 is a graph illustrating measured changes in the threshold voltages (V t ) associated with each program state of an exemplary Multi Level Cell (MLC) due to V t drift, as a function of time, for 10 cycles and for 1000 cycles;
  • V t threshold voltages
  • FIG. 3 is a flow chart illustration of a method of selecting a set of reference cells to be used in operating an NVM block or array, in accordance with some embodiments of the present invention
  • FIG. 4 is a block diagram illustration of one possible circuit configuration associated with a NVM array supporting one implementation of the method of FIG. 3, according to some embodiments of the present invention.
  • FIG. 5 is a block diagram illustration of one possible circuit configuration associated with a NVM array for establishing and using a set of operating reference cells having reference voltages substantially equal to those of a selected test set.
  • FIG. 6 is a block diagram illustration of one possible circuit configuration associated with a NVM array for performing a checks sum based error detection algorithm and for selecting a set of reference cells based on the results of the check sum algorithm, according to some embodiments of the present invention
  • FIG. 7A shows a flow chart listing basic steps of a check sum algorithm according to some embodiments of the present invention.
  • FIG. 7B shows a flow chart listing steps by which the check sum algorithm may be used to adjust a reference voltage (e.g. Read Verify) associated with the reading of cells at a given program state, according to some embodiments of the present invention
  • FIGS. 8A & 8B show two examples of sets of check sum values which may be stored and used as part of a check sum algorithm according to some embodiments of the present invention.
  • the present invention is a method, circuit and system for determining a reference voltage.
  • Some embodiments of the present invention relate to a system, method and circuit for establishing a set of operating reference cells to be used in operating (e.g. reading) cells in a NVM block or array.
  • at least a subset of cells of the NVM block or array may be read using each of two or more sets of test reference cells, where each set of test reference cells may generate or otherwise provide reference voltages at least slightly offset from each other set of test reference cells.
  • a read error rate may be calculated or otherwise determined.
  • a set of test reference cells associated with a relatively low read error rate may be selected as the set of operating reference cells to be used in operating (e.g. reading) other cells, outside the subset of cells, in the NVM block or array.
  • the selected set of test reference cells may be used to establish (e.g. program) an operating set of reference cells having reference voltages substantially equal to those of the selected test set.
  • FIG. 3 is a flow chart illustration of the steps of a method of selecting a set of reference cells to be used in operating an NVM block or array, in accordance with some embodiments of the present invention.
  • a set counter 'n' may initially be set to 1 (block 310).
  • the n th set of test reference cells initially the 1 st set, may be used to read at least a subset of the NVM block (block 320).
  • the data read at block 320 may be used to determine a read error rate associated with the n th set of test reference cells (block 330).
  • the at least a subset of the NVM block may be a predefined portion or segment of the NVM block where source data is stored on the NVM cells along with extra error detection data/codes derived during programming.
  • the read error rate may be determined using a variety of error rate sampling and/or error detection techniques, for example, parity bit, checksum, CRC and various other techniques. Any error detection coding and/or evaluation technique, presently known or to be devised in the future, may be applicable to present invention.
  • the error rate associated with the n th set of test reference cells may be recorded (block 340).
  • the counter 'n' may then be incremented by 1 (block 350), and the counter may be checked to see whether the new 'n' is equal to N+1 , a value greater than the total number of test reference cell sets (block 360). In case that the new 'n' is smaller (not equal) than N+1 blocks 320 - 360 may be repeated, and thus an error rate associated with the use of each of the test reference cell sets to read the at least a subset of the NVM block may be determined and recorded.
  • the set of reference test cells associated with a relatively low (e.g. the lowest) read error rate may be selected (block 370).
  • the selected set of reference cells may either be used to operate the cell on NVM block or array (block 380), or may be used to establish an operating set of reference cells whose reference threshold voltages substantially correspond to the reference threshold voltages of the selected set (block 390), such that the established operating set may be used to operate cells in the NVM array.
  • the above description exemplifies one embodiment of a method of establishing a set of operating reference cells to be used in operating a NVM block of cells or array. It should be noted that other embodiments of the present invention may deviate from the above description.
  • the selected test may used as an operating reference set, may be used to select or program an operating set, or may be used to adjust reference levels on a set of adjustable reference structures.
  • the method of the present invention may be implemented in a variety of implementations including hardware and/or software modules which may be known in the present or yet to be devised in the future.
  • One example of a possible implementation of a method of establishing a set of operating reference cells to be used in operating cells of a NVM block or array in accordance with the some embodiments of the present invention is described herein below with reference to FIG. 4.
  • circuitry 401 for operating the NVM block or array 400 may include a controller 410, a controllable voltage supply 412, a sense amplifier 414 and two or more sets of test reference cells 432, 434 and 436.
  • Each set of test reference cells 432, 434 and 436 may include two or more test reference cells.
  • Each set of test reference cells 432, 434 and 436 may have reference voltages at least slightly offset from each other set of test reference cells. For example, each set of test reference cells (e.g.
  • each set may be associated with a series of threshold voltages that are slightly higher than a corresponding series of threshold voltages associated with the previous set of test reference cells (excluding the first set).
  • the controller 410 may implement the counter 'n' (not shown). However, any other configuration may also be used, including, but not limited to, a distinctive counter module.
  • the controller 410 may be configured to control the operation of the controllable voltage source 412 and of the sense amplifier 414. In accordance with some embodiments of the present invention, such as the one illustrated in FIG. 3, the controller 410 may initially set the reference test set counter 'n' to 1. Next, the controller 410 may operate the controllable voltage source 412, and use the n th set of test reference cells (initially the first set 432) to read at least a subset of cells 402 of the NVM block or array.
  • the controller 410 may instruct the voltage source 412 to apply incrementally increasing voltage pulses to each of the memory cells in the subset area 402 and to one or more test reference cells from the n th set of test reference cells (e.g. 432).
  • the threshold voltage of each of the memory cells in the subset area 402 may be compared, for example using sense amplifier 414, against the threshold voltages of one or more of the test reference cells in the n th set of test reference cells (e.g. 432).
  • the state of each of the cells in the subset of cells 402 may be read or determined.
  • Various other techniques for comparing a memory cell's threshold voltage against those of one or more reference cells and/or structures, in order to determine the memory cell's state are well known, and may be implemented in accordance with further embodiments of the present invention.
  • the controller 410 may receive the data read from the NVM cells in the subset area 402.
  • the controller 410 may process the data, and may determine a read error rate associated with the n th set of test reference cells used to read the memory cells in the subset area 402.
  • the read error rate may be determined using a variety of error rate sampling and/or error detection techniques, for example, parity bit, checksum, CRC and various other techniques.
  • the subset area 402 and/or any of the other elements of the NVM block 400 and/or the supplementary circuitry 401 may be configured to support the error rate sampling and/or error detection technique of choice.
  • the subset area 402 may include one or more parity bits (marked P n ) in support of parity check error detection.
  • the controller 410 may be configured to process the data read from the subset area 402 and to determine a read error rate in accordance with parity check error detection.
  • a separate error coding and detection circuit (not shown) may be included.
  • the controller 410 may record the read error rate for each set of test reference cells or structures either internally or in a designated error rate table 416, which error rate table may be a part of the NVM block or array.
  • the read error rate may be recorded in a manner to maintain the association of each of the recorded read error rates with the set of test reference cells that was used to generate it.
  • the counter may be instructed to increment 'n' by 1.
  • the controller 410 may be consulted to check whether the new value for 'n' has exceeded the total number of test reference cell sets. If so, the process of determining and recording a read error rate associated with each of the sets of test reference cells may be discontinued by the controller 410. In other words, the process of determining and recording a read error rate may be repeated for each of the N sets of test reference cells (e.g. 432, 434 and 436).
  • the controller 410 may then select from amongst the recorded read error rates a relatively low (e.g. the lowest) read error rate.
  • the set of test reference cells associated with the selected relatively low read error rate may be selected as the set of operation reference cells to be used in operating cells of the NVM block or array 400.
  • the controller 410 may also determine a set of reference voltages associated with the selected test set associated with the selected relatively low read error rate.
  • the set of reference voltages may also be recorded, for example in the error rate table 416.
  • the set of reference voltages may be stored, such that the association of the stored set of reference voltages with the selected set of test reference cells (e.g. 432) is maintained.
  • the controller 410 determines that more than one of the generated read error rates, each being associated with a different set of test reference cells, is the lowest, for example, when two or more equal read error rates are equally the lowest, additional processing may be required to determine which of the sets is more likely to provide a lower read error rate. For example, the process of generating and recording a read error rate for each of the two or more sets of test reference cells may be repeated in accordance with different criteria or on an additional subset of the NVM block. Alternatively, one of the lowest read error rates may be arbitrarily selected. [0041] As part of further embodiments of the present invention, it may be sufficient to select from amongst the sets of test reference cells (e.g.
  • the set that is expected to provide a relatively low read error rate may be checked.
  • the set of test reference cells associated with that read error rate may be selected and recorded, and the process of generating and recording a read error rate may be discontinued prior to checking all the test sets.
  • the lowest error rate may be selected in accordance with the above discussion.
  • the selected set of test reference cells may be used to establish an operating set of reference cells having reference voltages substantially equal to those of the selected test set.
  • FIG. 5 is an illustration of one possible configuration of a NVM array for establishing and using a set of operating reference cells having reference voltages substantially equal to those of a selected test set.
  • the supplemental circuitry 401 shown in FIG. 5 may be substantially similar to that shown in FIG. 4 and may operate in a similar manner, with the addition of a set of global reference cells 520 and an offset circuit 510.
  • the supplemental circuitry 401 and the NVM block 400 may be operated to determine a read error rate associated with each one of the two or more sets of test reference cells 432, 434 and 436, and to select one of the two or more sets of test reference cells 432, 434 and 436 associated with a relatively low (e.g. the lowest) read error rate.
  • the selected set of test reference cells may be used to determine offset values for one or more global reference cells from the set of global reference cells 520.
  • the offset values may be input to an offset circuit 510, either directly or via the controller 410.
  • the offset circuit 510 may be adapted to offset one or more reference voltages of global reference cells from the set of global reference cells 510.
  • the offset circuit 510 may be configured to offset the reference voltages of the global reference cells, such that the reference voltages of reference cells in the global reference set 520 may be substantially equal to corresponding reference cells in the selected test set.
  • a set of reference voltages associated with the selected test set may be obtained by the controller 410.
  • the set of reference voltages may be recorded, for example in the error rate table 416.
  • the set of reference voltages data may be obtained by simply retrieving the relevant data from the table 416.
  • the controller 410 may instruct the offset circuit 5120 to offset the threshold voltages of one or more of the reference cells in the set of global reference cells 520 in accordance with the set of reference voltages.
  • the controller 410 may instruct the offset circuit 510 to offset the reference voltages of one or more of the global reference cells in the set of global reference cells 510, such that the threshold voltages of the set of global reference cells 510 may be substantially equal to the threshold voltages of the selected test set.
  • the offset circuit 510 and the set of global reference cells 520 may be substituted with a bank of reference cells (not shown).
  • the bank of reference cells may include two or more reference cells each reference cell in the bank being incrementally offset from the other reference cells in the bank.
  • each reference cell in the bank may have a threshold voltage that is slightly higher than the threshold voltage of the previous reference cell (excluding the first reference cell).
  • the selected set of test reference cells may be used to determine which of the reference cells in the bank of reference cells is to be used for establishing an operating set of reference cells.
  • the selected set of reference cells from the bank of reference cells may be selected such that the selected set from the bank may have reference voltages that are substantially equal to those of the selected test set.
  • the selected set of reference cells from the bank may provide a set of operating reference cells having reference voltages substantially equal to those of the selected test set.
  • the set of operating reference cells may be used to operate the NVM array.
  • the number of cells to be programmed to each of one or more logical or program states associated with the set of cells may be counted, and may be stored, for example in a check sum table.
  • the number of cells to be programmed to, up to and/or below each logical or program state may be counted and/or stored in a table with is either on the same array as the set of NVM cells or in memory on the same chip as the NVM array.
  • the number of cells found to be at a given logical or program state may be compared against either corresponding values stored during programming (e.g. the number of cells programmed to a given state) or against a value derived from the values stored during programming (e.g. the number of cells programmed at or above the given state, minus the number of cells programmed to or above an adjacent higher logical state). If there is a discrepancy between the number of cells read at a given state and an expected number based on the values determined/counted/stored during programming, a Read Verify reference threshold value associated with the given program state may be adjusted upward or downward to compensate for the detected error. According to some embodiments of the present invention, the read verify level of an adjacent logical state may also be moved upward or downward in order to compensate for detected read errors at a given state.
  • the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g
  • Read Verify reference voltages for a set of cells may be selected such that the number of cells found/read in each of the states associated with the set may be substantially equal to the a number either read from or derived from the values counted during programming of the set of cells, which values may have been stored in a check sum table.
  • the check sum table may reside on the same chip as the set of NVM cells, and according to a further embodiment of the present invention, a controller may be adapted to perform the above mentioned error detection and Read Verify reference value adjustments.
  • the check sum table may either be stored in the same NVM array as the set of NVM cells, or on some other memory cells residing on the same chip as the NVM array, for example in a register or buffer used by the controller during programming and/or reading.
  • specialized error coding and detection circuits may be included with a controller on the same chip and the NVM array to be operated.
  • FIG. 6 there is shown a block diagram illustration of one possible circuit configuration associated with a NVM array for performing a checks sum based error detection algorithm and for selecting a set of reference cells based on the results of the check sum algorithm.
  • FIG. 6 in conjunction with FIG. 7A, which shows a flow chart listing the basic steps of a check sum algorithm according to some embodiments of the present invention, there is shown that either prior or during the programming of some number of NVM cells, for example 1000 cells, the number of cells to be programmed either at, above or below each program state associated with the set of cells may be counted (Block 600). The counting may possibly be performed by a controller 410, and the results may be stored in a check sum table 418.
  • the check sum 418 table may be stored on the same chip as the NVM array, either directly on the NVM array or on another memory, for example on a storage register or buffer also used by the controller 410 during programming and or reading of the NVM array.
  • FIGS. 8A & 8B there are shown two examples of how check sum values which may be counted, stored and used as part of a check sum algorithm according to some embodiments of the present invention.
  • FIG. 8A illustrates the counting of cells such that the check sum values for a set of cells are based on the number of cells below each logical or program state
  • FIG. 8B illustrated the counting of cells such that the check sum values for a set of cells are based on the number of cells above each logical program state.
  • program state may be defined as any logical state other than an erase state.
  • FIGS. 8A & 8B one of ordinary skill in the art should, should, know that there are a variety of methods and arrangement by which to produce check sum values to be used to determine the number cells programmed to each of the program states associated with a set of NVM cells.
  • either the controller 410 or some other error detection circuit may compare the number of cells counted in each program state during reading with the correspond check sum values stored during or prior to programming. For example, if the total number of cells in the set is 1000, the number of cells read in the third program state is 235, and one of the check sum values stored indicates that the number of cells programmed below the third program state is 750, it can be derived that there should be 250 cells programmed to the third program state and thus the reading of the set missed 15 cells which should have been read as being programmed to the third program state (Block 610).
  • the Read Verify reverence threshold voltage associated with each program state may be adjusted in response to an error detected in reading during step 610 (block 620).
  • FIG. 7B shows a flow chart listing steps by which the check sum algorithm may be used to adjust a reference voltage (e.g. Read Verify) associated with the reading of cells at one or more program states, according to some embodiments of the present invention.
  • a reference voltage e.g. Read Verify
  • FIG. 7B shows that if the number of cell's found in a given program state exceed the value derived from the check sum values, the read verify threshold value associated with that given program state may be raised or the Read Verify reference level associated with the adjacent higher state may be lowered. Conversely, if the number of cell's found in a given program state is below the expected number, either the read verify threshold value associated with the given program state may be lowered, or the read verify threshold value associated with the next higher adjacent state may be raised.
  • a reference voltage e.g. Read Verify
  • the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g
  • Read Verify reference voltages for a set of cells may be selected such that the number of cells found/read in each of the states associated with the set may be substantially equal to the a number either read from or derived from the values counted during programming of the set of cells, which values may have been stored in a check sum table.
  • the steps in FIG. 7B may be repeated as part of an iterative process until the number of cells read in each program state substantially corresponds to the number of cells expected in other embodiments, cells programmed to several different states may be checked in parallel.

Abstract

The present invention is a method, circuit and system for determining a reference voltage to be used in reading cells programmed to a given program state. Some embodiments of the present invention relate to a system, method and circuit for establishing a set of operating reference cells to be used in operating (e.g. reading) cells in a NVM block or array. As part of the present invention, at least a subset of cells of the NVM block or array may be read and the number of cells found at a given state associated with the array may be compared to one or more check sum values obtained during programming of the at least a subset of cells. A Read Verify threshold reference voltage associated with the given program state or associated with an adjacent state may be adjusted based on the result of the comparison.

Description

A METHOD CIRCUIT AND SYSTEM FOR READ ERROR DETECTION IN A NON-VOLATILE MEMORY ARRAY
FIELD OF THE INVENTION
[001] The present invention generally relates to the field of non-volatile memory ("NVM") cells. More specifically, the present invention relates to a method and a system for selecting a reference voltage of one or more reference cells in order to read one or more memory cells within a memory cell array.
BACKGROUND OF THE INVENTION
[002] NVM cells are generally operated (e.g. programmed, read, and erased) using one or more reference structures or cells. Each of the one or more reference structures or cells may be compared against a memory cell being operated in order to determine a condition or state of the memory cell being operated. As is well known, an NVM cell's state may be defined and determined by its threshold voltage, the voltage at which the cell begins to conduct current. A NVM cell's threshold voltage level is usually correlated to the amount of charge stored in a charge storage region of the cell. Different threshold voltage ranges are associated with different states of an NVM cell. FIG. 1A, shows a graph depicting the boundaries between the two states, erased and programmed, of a binary NVM cell, and the buffer region in between the two states.
[003] Generally, in order to determine whether an NVM cell is in a specific state, for example erased, programmed, or programmed at one of multiple possible programmed states within a Multi-Level Cell ("MLC"), the cell's threshold level is compared to that of a reference structure or cell whose threshold level is set, or otherwise known to be, at a voltage level associated with the specific state being tested for. Comparing the threshold voltage of a NVM cell to that of a reference cell is often accomplished using a sense amplifier or similar circuit. Various techniques for comparing an NVM's threshold voltage against those of one or more reference cells or structures, in order to determine the NVM's cells state, are well known and applicable to the present invention. Any method or circuit presently known or to be devised in the future for comparing threshold voltage levels of reference cells or structures against NVM cells are applicable to the present invention.
[004] When programming a NVM cell to a desired state, after each programming pulse, an NVM cell's threshold value may be compared against a reference cell having a reference threshold value set at a voltage level defined as the "program verify" level. The reference cell with a threshold voltage set at a voltage level defined as a "program verify" level for the given state may be compared to the threshold voltage of the cell being programmed (i.e. charged) in order to determine whether a charge storage area or region of the cell being programmed has been sufficiently charged so as to have placed the cell in a condition which may be considered "programmed" at the desired state.
[005] When reading a NVM cell, to determine whether it is at a particular state, the cell's threshold voltage may be compared against that of a reference cell having a reference threshold voltage defined as a "read" level for the specific state. A "read" level is usually set lower than a "program verify" level and higher than the erase verify level in order to compensate for voltage drifts which may occur during operation. A logical state of the cell is defined as '0' if the cell's Vt is higher than that of the read reference and if it is lower.
[006] In a MLC, two or more programming levels may co-exist on the same cell, as is drawn in FIG. 1 B. In the case where an MLC cell is being read to determine at which one of the multiple logical states the cell resides, at least two read reference cells must be used. During read operation, it must be determined that the MLC cell's threshold is in one of three or more regions bounded by the two or more threshold voltages defined by read reference cells. As is depicted in figure 1 B. The voltage threshold boundaries which define a given state in an MLC are usually considerably smaller than those for a binary NVM cell. FIG. 1 B, to which reference is now made, illustrates four different threshold voltage regions of an MLC, where each region is associated with either one of the programmed states of the MLC or with the erased state of the MLC. Because in an MLC a rather fixed range of potential threshold voltages (e.g. 3 Volts to 9 Volts) needs to be split into several sub-ranges or regions, the size of each sub-range or region in an MLC is usually smaller than a region of a binary NVM cell, which binary cell only requires two voltage threshold regions, as seen in FIG. 1A.
[007] The voltage threshold of a NVM cell seldom stays fixed. Threshold voltage drift is a phenomenon which may result in large variations of the threshold voltage of a memory cell. These variations may occur due to charge leakage from the cell's charge storage region, temperature changes, and due to interference from the operation of neighboring NVM cells. FIG. 2, to which reference is now made, shows a graph depicting threshold voltages (Vt) changes associated with two program states of an exemplary MLC due to drift, as a function of time, for 10 cycles and for 1000 cycles. As seen in the graph, voltage drift may occur across numerous cells, and may occur in a correlated pattern across these cells. It is also known that the magnitude and directions of the drifts depends upon the number of times the NVM went through program and erase cycles and on the level of programming of a MLC. It is also known that deviations in cells' (Vt) may be either in the upward or downward directions.
[008] Variation of the threshold voltage of memory cells may lead to false reads of the state and may further result in the corruption of the data in the memory array. Voltage drift is especially problematic in MLC cells where the Vt regions or sub-ranges associated with each programmed state are relatively smaller than those for a typical binary cell.
[009] In order to reduce data loss and data corruption due to drift in the threshold voltages of the cells of a NVM array, threshold voltage drift of cells in the NVM array should be compensated for. For a given NVM array, it would be desired to provide one or a set of reference cells whose references threshold voltages are offset from defined verify threshold levels by some value related to the actual voltage drift experienced by the NVM cells to be read. There is a well understood need for an efficient and reliable method of determining a set of reference voltage levels which may accommodate variations in the threshold voltages of cells of an NVM array, and of established reference cells with the determined reference voltages.
SUMMARY OF THE INVENTION
[0010] The present invention is a method, circuit and system for determining a reference voltage. Some embodiments of the present invention relate to a system, method and circuit for establishing a set of operating reference cells to be used in operating (e.g. reading) cells in a NVM block or array. As part of the present invention, at least a subset of cells of the NVM block or array may be read using each of two or more sets of test reference cells, where each set of test reference cells may generate or otherwise provide reference voltages at least slightly offset from each other set of test reference cells. For each set of test reference cells used to read the at least a subset of the NVM block, a read error rate may be calculated or otherwise determined. A set of test reference cells associated with a relatively low read error rate may be selected as the set of operating reference cells to be used in operating (e.g. reading) other cells, outside the subset of cells, in the NVM block or array. In a further embodiment, the selected set of test reference cells may be used to establish an operating set of reference cells having reference voltages substantially equal to those of the selected test set.
[0011] According to some embodiments of the present invention, prior or during the programming of a set of cells in the NVM array, the number of cells to be programmed to each of one or more logical or program states associated with the set of cells may be counted, and may be stored, for example in a check sum table. As part of some embodiments of the present invention, the number of cells to be programmed to, up to and/or below each logical or program state may be counted and/or stored in a table with is either on the same array as the set of NVM cells or in memory on the same chip as the NVM array.
[0012] Upon the reading of the set of programmed cells, according to some embodiments of the present invention, the number of cells found to be at a given logical or program state may be compared against either corresponding values stored during programming (e.g. the number of cells programmed to a given state) or against a value derived from the values stored during programming (e.g. the number of cells programmed at or above the given state, minus the number of cells programmed to or above an adjacent higher logical state). If there is a discrepancy between the number of cells read at a given state and an expected number based on the values determined/counted/stored during programming, a Read Verify reference threshold value associated with the given program state may be adjusted upward or downward to compensate for the detected error. According to some embodiments of the present invention, the read verify level of an adjacent logical state may also be moved upward or downward in order to compensate for detected read errors at a given state.
[0013] For example, according to some embodiments of the present invention, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is above expectations, either the Read Verify reference voltage associated with that given state may be increased, or if there is found that the number of cells read above the given state is below an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be lowered. Thus, Read Verify reference voltages for a set of cells may be selected such that the number of cells found/read in each of the states associated with the set may be substantially equal to the a number either read from or derived from the values counted during programming of the set of cells, which values may have been stored in a check sum table.
[0014] According to some embodiments of the present invention, the check sum table may reside on the same chip as the set of NVM cells, and according to a further embodiment of the present invention, a controller may be adapted to perform the above mentioned error detection and Read Verify reference value adjustments. The check sum table may either be stored in the same NVM array as the set of NVM cells, or on some other memory cells residing on the same chip as the NVM array, for example in a register or buffer used by the controller during programming and/or reading. According to other embodiments of the present invention, specialized error coding and detection circuits may be included with a controller on the same chip and the NVM array to be operated.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following non limiting detailed description when read with the accompanied drawings in which:
[0016] FIG. 1A, is a graphical illustration of the different threshold voltages associated with the different states of a binary NVM cell, where both the Program Verify and Read Verify Threshold Levels are visible, and;
[0017] FIG. 1 B, is a graphical illustration of different threshold voltages, each being associated with the boundary of a different program state of a Multi-Level Cell (MLC);
[0018] FIG. 2 is a graph illustrating measured changes in the threshold voltages (Vt) associated with each program state of an exemplary Multi Level Cell (MLC) due to Vt drift, as a function of time, for 10 cycles and for 1000 cycles;
[0019] FIG. 3 is a flow chart illustration of a method of selecting a set of reference cells to be used in operating an NVM block or array, in accordance with some embodiments of the present invention;
[0020] FIG. 4 is a block diagram illustration of one possible circuit configuration associated with a NVM array supporting one implementation of the method of FIG. 3, according to some embodiments of the present invention; and
[0021] FIG. 5 is a block diagram illustration of one possible circuit configuration associated with a NVM array for establishing and using a set of operating reference cells having reference voltages substantially equal to those of a selected test set.
[0022] FIG. 6 is a block diagram illustration of one possible circuit configuration associated with a NVM array for performing a checks sum based error detection algorithm and for selecting a set of reference cells based on the results of the check sum algorithm, according to some embodiments of the present invention;
[0023] FIG. 7A shows a flow chart listing basic steps of a check sum algorithm according to some embodiments of the present invention;
[0024] FIG. 7B shows a flow chart listing steps by which the check sum algorithm may be used to adjust a reference voltage (e.g. Read Verify) associated with the reading of cells at a given program state, according to some embodiments of the present invention;
[0025] FIGS. 8A & 8B show two examples of sets of check sum values which may be stored and used as part of a check sum algorithm according to some embodiments of the present invention.
[0026] It will be appreciated that for simplicity and clarity of these non-limiting illustrations, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
DETAILED DESCRIPTION OF THE INVENTION
[0027] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods and procedures have not been described in detail so as not to obscure the present invention.
[0028] The present invention is a method, circuit and system for determining a reference voltage. Some embodiments of the present invention relate to a system, method and circuit for establishing a set of operating reference cells to be used in operating (e.g. reading) cells in a NVM block or array. As part of the present invention, at least a subset of cells of the NVM block or array may be read using each of two or more sets of test reference cells, where each set of test reference cells may generate or otherwise provide reference voltages at least slightly offset from each other set of test reference cells. For each set of test reference cells used to read the at least a subset of the NVM block, a read error rate may be calculated or otherwise determined. A set of test reference cells associated with a relatively low read error rate may be selected as the set of operating reference cells to be used in operating (e.g. reading) other cells, outside the subset of cells, in the NVM block or array. In a further embodiment, the selected set of test reference cells may be used to establish (e.g. program) an operating set of reference cells having reference voltages substantially equal to those of the selected test set.
[0029] Reference is now made to FIG. 3, which is a flow chart illustration of the steps of a method of selecting a set of reference cells to be used in operating an NVM block or array, in accordance with some embodiments of the present invention. As part of some embodiments of the present invention, for a given NVM block or array having an associated error detection feature and being associated with N sets of test reference cells, a set counter 'n' may initially be set to 1 (block 310). Next, the nth set of test reference cells, initially the 1st set, may be used to read at least a subset of the NVM block (block 320).
[0030] The data read at block 320 may be used to determine a read error rate associated with the nth set of test reference cells (block 330). According to some embodiments of the present invention, the at least a subset of the NVM block may be a predefined portion or segment of the NVM block where source data is stored on the NVM cells along with extra error detection data/codes derived during programming. The read error rate may be determined using a variety of error rate sampling and/or error detection techniques, for example, parity bit, checksum, CRC and various other techniques. Any error detection coding and/or evaluation technique, presently known or to be devised in the future, may be applicable to present invention.
[0031] Once an error rate is calculated or otherwise determined for the at least a subset of the NVM block using the nth set of test reference cells, the error rate associated with the nth set of test reference cells may be recorded (block 340). The counter 'n' may then be incremented by 1 (block 350), and the counter may be checked to see whether the new 'n' is equal to N+1 , a value greater than the total number of test reference cell sets (block 360). In case that the new 'n' is smaller (not equal) than N+1 blocks 320 - 360 may be repeated, and thus an error rate associated with the use of each of the test reference cell sets to read the at least a subset of the NVM block may be determined and recorded.
[0032] Once the counter 'n' equals N+1 , and the error rates associated the each of the test sets have the been determined, the set of reference test cells associated with a relatively low (e.g. the lowest) read error rate may be selected (block 370). The selected set of reference cells may either be used to operate the cell on NVM block or array (block 380), or may be used to establish an operating set of reference cells whose reference threshold voltages substantially correspond to the reference threshold voltages of the selected set (block 390), such that the established operating set may be used to operate cells in the NVM array.
[0033] The above description exemplifies one embodiment of a method of establishing a set of operating reference cells to be used in operating a NVM block of cells or array. It should be noted that other embodiments of the present invention may deviate from the above description. The selected test may used as an operating reference set, may be used to select or program an operating set, or may be used to adjust reference levels on a set of adjustable reference structures. Furthermore, the method of the present invention may be implemented in a variety of implementations including hardware and/or software modules which may be known in the present or yet to be devised in the future. One example of a possible implementation of a method of establishing a set of operating reference cells to be used in operating cells of a NVM block or array in accordance with the some embodiments of the present invention is described herein below with reference to FIG. 4.
[0034] Reference is now made to FIG. 4, which is a block diagram illustration of one possible implementations of the presentation in conjunction with an NVM array 400. As part of some embodiments of the present invention, circuitry 401 for operating the NVM block or array 400 may include a controller 410, a controllable voltage supply 412, a sense amplifier 414 and two or more sets of test reference cells 432, 434 and 436. Each set of test reference cells 432, 434 and 436 may include two or more test reference cells. Each set of test reference cells 432, 434 and 436 may have reference voltages at least slightly offset from each other set of test reference cells. For example, each set of test reference cells (e.g. 432) may be incrementally offset, such that each set may be associated with a series of threshold voltages that are slightly higher than a corresponding series of threshold voltages associated with the previous set of test reference cells (excluding the first set). As a further example, if the first set of test reference cells includes cells having reference voltages; Cell 1 = 4.2V, Cell 2 = 5.2V, Cell3 = 6.2V, the second set may include cells having reference voltages offset, such that; Cell 1 = 4.3V, Cell 2 = 5.3V, Cell3 = 6.3V, etc.
[0035] In the embodiment shown, the controller 410 may implement the counter 'n' (not shown). However, any other configuration may also be used, including, but not limited to, a distinctive counter module. The controller 410 may be configured to control the operation of the controllable voltage source 412 and of the sense amplifier 414. In accordance with some embodiments of the present invention, such as the one illustrated in FIG. 3, the controller 410 may initially set the reference test set counter 'n' to 1. Next, the controller 410 may operate the controllable voltage source 412, and use the nth set of test reference cells (initially the first set 432) to read at least a subset of cells 402 of the NVM block or array. As part of some embodiments of the present invention, the controller 410 may instruct the voltage source 412 to apply incrementally increasing voltage pulses to each of the memory cells in the subset area 402 and to one or more test reference cells from the nth set of test reference cells (e.g. 432). The threshold voltage of each of the memory cells in the subset area 402 may be compared, for example using sense amplifier 414, against the threshold voltages of one or more of the test reference cells in the nth set of test reference cells (e.g. 432). By comparing the threshold voltage of the cells against that of the reference cells from the nth set of test reference cells, the state of each of the cells in the subset of cells 402 may be read or determined. Various other techniques for comparing a memory cell's threshold voltage against those of one or more reference cells and/or structures, in order to determine the memory cell's state, are well known, and may be implemented in accordance with further embodiments of the present invention.
[0036] The controller 410 may receive the data read from the NVM cells in the subset area 402. The controller 410 may process the data, and may determine a read error rate associated with the nth set of test reference cells used to read the memory cells in the subset area 402. The read error rate may be determined using a variety of error rate sampling and/or error detection techniques, for example, parity bit, checksum, CRC and various other techniques. The subset area 402 and/or any of the other elements of the NVM block 400 and/or the supplementary circuitry 401 , including any additional elements as may be required, may be configured to support the error rate sampling and/or error detection technique of choice. In the embodiment shown, the subset area 402 may include one or more parity bits (marked Pn) in support of parity check error detection. The controller 410 may be configured to process the data read from the subset area 402 and to determine a read error rate in accordance with parity check error detection. In a further embodiment of the present invention, a separate error coding and detection circuit (not shown) may be included.
[0037] Once calculated, the controller 410 may record the read error rate for each set of test reference cells or structures either internally or in a designated error rate table 416, which error rate table may be a part of the NVM block or array. The read error rate may be recorded in a manner to maintain the association of each of the recorded read error rates with the set of test reference cells that was used to generate it.
[0038] After a read error rate has been established for the nth set of test reference cells, the counter may be instructed to increment 'n' by 1. The controller 410 may be consulted to check whether the new value for 'n' has exceeded the total number of test reference cell sets. If so, the process of determining and recording a read error rate associated with each of the sets of test reference cells may be discontinued by the controller 410. In other words, the process of determining and recording a read error rate may be repeated for each of the N sets of test reference cells (e.g. 432, 434 and 436).
[0039] The controller 410 may then select from amongst the recorded read error rates a relatively low (e.g. the lowest) read error rate. The set of test reference cells associated with the selected relatively low read error rate may be selected as the set of operation reference cells to be used in operating cells of the NVM block or array 400. According to one optional embodiment of the present invention, the controller 410 may also determine a set of reference voltages associated with the selected test set associated with the selected relatively low read error rate. The set of reference voltages may also be recorded, for example in the error rate table 416. The set of reference voltages may be stored, such that the association of the stored set of reference voltages with the selected set of test reference cells (e.g. 432) is maintained.
[0040] According to some embodiments of the present invention, in case that the controller 410 determines that more than one of the generated read error rates, each being associated with a different set of test reference cells, is the lowest, for example, when two or more equal read error rates are equally the lowest, additional processing may be required to determine which of the sets is more likely to provide a lower read error rate. For example, the process of generating and recording a read error rate for each of the two or more sets of test reference cells may be repeated in accordance with different criteria or on an additional subset of the NVM block. Alternatively, one of the lowest read error rates may be arbitrarily selected. [0041] As part of further embodiments of the present invention, it may be sufficient to select from amongst the sets of test reference cells (e.g. 432, 434 and 436) the set that is expected to provide a relatively low read error rate. In this case, for example, after using each of the sets of test reference cells to read at least a subset of the NVM block, as discussed above, and generating a read error rate associated with the set used, the read error rate may be checked. In case that the read error rate is below a predetermined threshold, the set of test reference cells associated with that read error rate may be selected and recorded, and the process of generating and recording a read error rate may be discontinued prior to checking all the test sets. According to yet further embodiments of the present invention, in case that none of the generated read error rates falls below the predetermined threshold, the lowest error rate may be selected in accordance with the above discussion.
[0042] In a further embodiment of the present invention, the selected set of test reference cells may be used to establish an operating set of reference cells having reference voltages substantially equal to those of the selected test set.
[0043] Reference is now made to FIG. 5, which is an illustration of one possible configuration of a NVM array for establishing and using a set of operating reference cells having reference voltages substantially equal to those of a selected test set. The supplemental circuitry 401 shown in FIG. 5 may be substantially similar to that shown in FIG. 4 and may operate in a similar manner, with the addition of a set of global reference cells 520 and an offset circuit 510.
[0044] Initially, the supplemental circuitry 401 and the NVM block 400 may be operated to determine a read error rate associated with each one of the two or more sets of test reference cells 432, 434 and 436, and to select one of the two or more sets of test reference cells 432, 434 and 436 associated with a relatively low (e.g. the lowest) read error rate. Next, the selected set of test reference cells may be used to determine offset values for one or more global reference cells from the set of global reference cells 520. The offset values may be input to an offset circuit 510, either directly or via the controller 410. The offset circuit 510, either alone or in combination with a controllable voltage source 412, may be adapted to offset one or more reference voltages of global reference cells from the set of global reference cells 510. In one embodiment, the offset circuit 510 may be configured to offset the reference voltages of the global reference cells, such that the reference voltages of reference cells in the global reference set 520 may be substantially equal to corresponding reference cells in the selected test set.
[0045] In another embodiment of the present invention, a set of reference voltages associated with the selected test set may be obtained by the controller 410. As discussed above, the set of reference voltages may be recorded, for example in the error rate table 416. In this case, the set of reference voltages data may be obtained by simply retrieving the relevant data from the table 416. The controller 410 may instruct the offset circuit 5120 to offset the threshold voltages of one or more of the reference cells in the set of global reference cells 520 in accordance with the set of reference voltages. In yet another embodiment of the present invention, the controller 410 may instruct the offset circuit 510 to offset the reference voltages of one or more of the global reference cells in the set of global reference cells 510, such that the threshold voltages of the set of global reference cells 510 may be substantially equal to the threshold voltages of the selected test set.
[0046] According to further embodiments of the present invention, the offset circuit 510 and the set of global reference cells 520 may be substituted with a bank of reference cells (not shown). The bank of reference cells may include two or more reference cells each reference cell in the bank being incrementally offset from the other reference cells in the bank. For example, each reference cell in the bank may have a threshold voltage that is slightly higher than the threshold voltage of the previous reference cell (excluding the first reference cell).
[0047] According to some embodiments of the present invention, once selected, the selected set of test reference cells may be used to determine which of the reference cells in the bank of reference cells is to be used for establishing an operating set of reference cells. The selected set of reference cells from the bank of reference cells may be selected such that the selected set from the bank may have reference voltages that are substantially equal to those of the selected test set. Thus, the selected set of reference cells from the bank may provide a set of operating reference cells having reference voltages substantially equal to those of the selected test set. The set of operating reference cells may be used to operate the NVM array.
[0048] According to some embodiments of the present invention, prior or during the programming of a set of cells in the NVM array, the number of cells to be programmed to each of one or more logical or program states associated with the set of cells may be counted, and may be stored, for example in a check sum table. As part of some embodiments of the present invention, the number of cells to be programmed to, up to and/or below each logical or program state may be counted and/or stored in a table with is either on the same array as the set of NVM cells or in memory on the same chip as the NVM array.
[0049] Upon the reading of the set of programmed cells, according to some embodiments of the present invention, the number of cells found to be at a given logical or program state may be compared against either corresponding values stored during programming (e.g. the number of cells programmed to a given state) or against a value derived from the values stored during programming (e.g. the number of cells programmed at or above the given state, minus the number of cells programmed to or above an adjacent higher logical state). If there is a discrepancy between the number of cells read at a given state and an expected number based on the values determined/counted/stored during programming, a Read Verify reference threshold value associated with the given program state may be adjusted upward or downward to compensate for the detected error. According to some embodiments of the present invention, the read verify level of an adjacent logical state may also be moved upward or downward in order to compensate for detected read errors at a given state.
[0050] For example, according to some embodiments of the present invention, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is above expectations, either the Read Verify reference voltage associated with that given state may be increased, or if there is found that the number of cells read above the given state is below an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be lowered. Thus, Read Verify reference voltages for a set of cells may be selected such that the number of cells found/read in each of the states associated with the set may be substantially equal to the a number either read from or derived from the values counted during programming of the set of cells, which values may have been stored in a check sum table.
[0051] According to some embodiments of the present invention, the check sum table may reside on the same chip as the set of NVM cells, and according to a further embodiment of the present invention, a controller may be adapted to perform the above mentioned error detection and Read Verify reference value adjustments. The check sum table may either be stored in the same NVM array as the set of NVM cells, or on some other memory cells residing on the same chip as the NVM array, for example in a register or buffer used by the controller during programming and/or reading. According to other embodiments of the present invention, specialized error coding and detection circuits may be included with a controller on the same chip and the NVM array to be operated.
[0052] Turning Now to FIG. 6, there is shown a block diagram illustration of one possible circuit configuration associated with a NVM array for performing a checks sum based error detection algorithm and for selecting a set of reference cells based on the results of the check sum algorithm. Looking at FIG. 6 in conjunction with FIG. 7A, which shows a flow chart listing the basic steps of a check sum algorithm according to some embodiments of the present invention, there is shown that either prior or during the programming of some number of NVM cells, for example 1000 cells, the number of cells to be programmed either at, above or below each program state associated with the set of cells may be counted (Block 600). The counting may possibly be performed by a controller 410, and the results may be stored in a check sum table 418. According to some other embodiments of the present invention, the check sum 418 table may be stored on the same chip as the NVM array, either directly on the NVM array or on another memory, for example on a storage register or buffer also used by the controller 410 during programming and or reading of the NVM array.
[0053] Turning now to FIGS. 8A & 8B, there are shown two examples of how check sum values which may be counted, stored and used as part of a check sum algorithm according to some embodiments of the present invention. FIG. 8A illustrates the counting of cells such that the check sum values for a set of cells are based on the number of cells below each logical or program state, while FIG. 8B illustrated the counting of cells such that the check sum values for a set of cells are based on the number of cells above each logical program state. For purposes of this discuss, program state may be defined as any logical state other than an erase state. Despite what is illustrated in FIGS. 8A & 8B, one of ordinary skill in the art should, should, know that there are a variety of methods and arrangement by which to produce check sum values to be used to determine the number cells programmed to each of the program states associated with a set of NVM cells.
[0054] During the reading of the cells from the programmed set of cells, either the controller 410 or some other error detection circuit (not shown) may compare the number of cells counted in each program state during reading with the correspond check sum values stored during or prior to programming. For example, if the total number of cells in the set is 1000, the number of cells read in the third program state is 235, and one of the check sum values stored indicates that the number of cells programmed below the third program state is 750, it can be derived that there should be 250 cells programmed to the third program state and thus the reading of the set missed 15 cells which should have been read as being programmed to the third program state (Block 610). [0055] The Read Verify reverence threshold voltage associated with each program state may be adjusted in response to an error detected in reading during step 610 (block 620). FIG. 7B shows a flow chart listing steps by which the check sum algorithm may be used to adjust a reference voltage (e.g. Read Verify) associated with the reading of cells at one or more program states, according to some embodiments of the present invention. Generally describing FIG. 7B, it shows that if the number of cell's found in a given program state exceed the value derived from the check sum values, the read verify threshold value associated with that given program state may be raised or the Read Verify reference level associated with the adjacent higher state may be lowered. Conversely, if the number of cell's found in a given program state is below the expected number, either the read verify threshold value associated with the given program state may be lowered, or the read verify threshold value associated with the next higher adjacent state may be raised.
[0056] With respect to FIG. 7B, according to some embodiments of the present invention, if the number of cells found (e.g. read) in a given program state is below an expected value, either the Read Verify reference voltage associated with that given state may be reduced, or if there is found that the number of cells read above the given state exceeds an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be raised. Conversely, if the number of cells found (e.g. read) in a given program state is above expectations, either the Read Verify reference voltage associated with that given state may be increased, or if there is found that the number of cells read above the given state is below an expected number, the Read Verify reference associated with a logical state higher and adjacent to the given state may be lowered. Thus, Read Verify reference voltages for a set of cells may be selected such that the number of cells found/read in each of the states associated with the set may be substantially equal to the a number either read from or derived from the values counted during programming of the set of cells, which values may have been stored in a check sum table. The steps in FIG. 7B may be repeated as part of an iterative process until the number of cells read in each program state substantially corresponds to the number of cells expected in other embodiments, cells programmed to several different states may be checked in parallel.
[0057] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

Claims

CLAIMSWhat is claimed:
1. A method of detecting read errors in a set of NVM cell, said method comprising: during or prior to programming of the set of cells, counting the number of cells to be programmed to, up to and/or above one or more logical states of a set of logical states associated with the NVM cells; and comparing the number of cells read at a given state against a value corresponding to a number of cells which should be at the given state based on the counting performed during or prior to programming.
2. The method according to claim 1 , wherein counting comprises counting the number of cells to be programmed at or above each logical state associated with the set of cells.
3. The method according to claim 1 , wherein comparing comprises comparing the number of cells read at a given state to the number of cells of the set which were programmed at or above the given state and the number of cells of the set which were programmed at or above a logical state adjacent to and higher than the given state.
4. The method according to claim 3, further comprising determining the number of cells which should be at the given state by subtracting the number of cells of the set which were programmed at or above the given state by the number of cells of the set which were programmed at or above a higher adjacent state to the given state.
5. A method of adjusting one or more read verify reference levels of a set of cells comprising: during or prior to programming of the set of cells, counting the number of cells to be programmed to, up to and/or above one or more logical states of a set of logical states associated with the NVM cells; comparing the number of cells read at a given state against a value corresponding to a number of cells which should be at the given state based on the counting performed during or prior to programming; and either raising or lowering a read verify level associate with the given state, or associated with an adjacent state, based on the comparison.
6. The method according to claim 5, wherein counting comprises counting the number of cells to be programmed at or above each logical state associated with the set of cells, comparing comprises comparing the number of cells read at a given state to the number of cells of the set which were programmed at or above the given state and the number of cells of the set which were programmed at or above a logical state adjacent to and higher than the given state.
7. The method according to claim 6, wherein if the number of cells read at a given logical state is lower than the number of cells expected at the given state, either the read verify level associated with that given state may be lowered or the read verify level of the adjacent higher state may be raised.
8. The method according to claim 6, wherein if the number of cells read at a given logical state is greater than the number of cells expected at the given state, either the read verify level associated with that given state may be raised or the read verify level of the adjacent higher state may be lowered.
PCT/IL2004/000983 2003-10-29 2004-10-27 A method circuit and system for read error detection in a non-volatile memory array WO2005041108A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04791845A EP1683160A4 (en) 2003-10-29 2004-10-27 A method circuit and system for read error detection in a non-volatile memory array
JP2006537554A JP2007510253A (en) 2003-10-29 2004-10-27 Method, circuit and system for non-volatile memory array read error detection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/695,457 US6992932B2 (en) 2002-10-29 2003-10-29 Method circuit and system for read error detection in a non-volatile memory array
US10/695,457 2003-10-29

Publications (2)

Publication Number Publication Date
WO2005041108A2 true WO2005041108A2 (en) 2005-05-06
WO2005041108A3 WO2005041108A3 (en) 2005-09-09

Family

ID=34522798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2004/000983 WO2005041108A2 (en) 2003-10-29 2004-10-27 A method circuit and system for read error detection in a non-volatile memory array

Country Status (6)

Country Link
US (1) US6992932B2 (en)
EP (1) EP1683160A4 (en)
JP (1) JP2007510253A (en)
CN (1) CN1902710A (en)
TW (1) TWI381382B (en)
WO (1) WO2005041108A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505215A (en) * 2006-09-27 2010-02-18 サンディスク コーポレイション Memory with read margin by cell population distribution
JP2010055746A (en) * 2009-12-07 2010-03-11 Toshiba Corp Storage medium reproducing apparatus, storage medium reproducing method, storage medium reproducing program
JP2010522924A (en) * 2007-03-28 2010-07-08 サムスン エレクトロニクス カンパニー リミテッド Read level control apparatus and method
US7925960B2 (en) 2006-11-07 2011-04-12 Macronix International Co., Ltd. Memory and method for checking reading errors thereof
JP2011238346A (en) * 2011-06-16 2011-11-24 Sandisk Il Ltd Method for restoration from error in flash memory

Families Citing this family (273)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
KR20070007339A (en) * 2004-04-22 2007-01-15 코닌클리케 필립스 일렉트로닉스 엔.브이. Electronic circuit with memory for which a threshold level is selected
US20060108667A1 (en) * 2004-11-22 2006-05-25 Macronix International Co., Ltd. Method for manufacturing a small pin on integrated circuits or other devices
US7535765B2 (en) * 2004-12-09 2009-05-19 Saifun Semiconductors Ltd. Non-volatile memory device and method for reading cells
US7220983B2 (en) * 2004-12-09 2007-05-22 Macronix International Co., Ltd. Self-aligned small contact phase-change memory method and device
US7709334B2 (en) 2005-12-09 2010-05-04 Macronix International Co., Ltd. Stacked non-volatile memory device and methods for fabricating the same
CN1838323A (en) * 2005-01-19 2006-09-27 赛芬半导体有限公司 Methods for preventing fixed pattern programming
US7696503B2 (en) * 2005-06-17 2010-04-13 Macronix International Co., Ltd. Multi-level memory cell having phase change element and asymmetrical thermal boundary
US8237140B2 (en) * 2005-06-17 2012-08-07 Macronix International Co., Ltd. Self-aligned, embedded phase change RAM
US7238994B2 (en) 2005-06-17 2007-07-03 Macronix International Co., Ltd. Thin film plate phase change ram circuit and manufacturing method
US7321130B2 (en) * 2005-06-17 2008-01-22 Macronix International Co., Ltd. Thin film fuse phase change RAM and manufacturing method
US7534647B2 (en) 2005-06-17 2009-05-19 Macronix International Co., Ltd. Damascene phase change RAM and manufacturing method
US7514367B2 (en) * 2005-06-17 2009-04-07 Macronix International Co., Ltd. Method for manufacturing a narrow structure on an integrated circuit
US7598512B2 (en) * 2005-06-17 2009-10-06 Macronix International Co., Ltd. Thin film fuse phase change cell with thermal isolation layer and manufacturing method
US7447077B2 (en) * 2005-08-05 2008-11-04 Halo Lsi, Inc. Referencing scheme for trap memory
US7397060B2 (en) 2005-11-14 2008-07-08 Macronix International Co., Ltd. Pipe shaped phase change memory
US7394088B2 (en) * 2005-11-15 2008-07-01 Macronix International Co., Ltd. Thermally contained/insulated phase change memory device and method (combined)
US7635855B2 (en) * 2005-11-15 2009-12-22 Macronix International Co., Ltd. I-shaped phase change memory cell
US7786460B2 (en) 2005-11-15 2010-08-31 Macronix International Co., Ltd. Phase change memory device and manufacturing method
US7414258B2 (en) 2005-11-16 2008-08-19 Macronix International Co., Ltd. Spacer electrode small pin phase change memory RAM and manufacturing method
US7479649B2 (en) * 2005-11-21 2009-01-20 Macronix International Co., Ltd. Vacuum jacketed electrode for phase change memory element
US7449710B2 (en) * 2005-11-21 2008-11-11 Macronix International Co., Ltd. Vacuum jacket for phase change memory element
US7829876B2 (en) 2005-11-21 2010-11-09 Macronix International Co., Ltd. Vacuum cell thermal isolation for a phase change memory device
US7816661B2 (en) * 2005-11-21 2010-10-19 Macronix International Co., Ltd. Air cell thermal isolation for a memory array formed of a programmable resistive material
US7599217B2 (en) * 2005-11-22 2009-10-06 Macronix International Co., Ltd. Memory cell device and manufacturing method
US7459717B2 (en) * 2005-11-28 2008-12-02 Macronix International Co., Ltd. Phase change memory cell and manufacturing method
US7688619B2 (en) 2005-11-28 2010-03-30 Macronix International Co., Ltd. Phase change memory cell and manufacturing method
US7521364B2 (en) * 2005-12-02 2009-04-21 Macronix Internation Co., Ltd. Surface topology improvement method for plug surface areas
US7605079B2 (en) * 2005-12-05 2009-10-20 Macronix International Co., Ltd. Manufacturing method for phase change RAM with electrode layer process
US7642539B2 (en) * 2005-12-13 2010-01-05 Macronix International Co., Ltd. Thin film fuse phase change cell with thermal isolation pad and manufacturing method
US7531825B2 (en) * 2005-12-27 2009-05-12 Macronix International Co., Ltd. Method for forming self-aligned thermal isolation cell for a variable resistance memory array
US8062833B2 (en) 2005-12-30 2011-11-22 Macronix International Co., Ltd. Chalcogenide layer etching method
US20070158632A1 (en) * 2006-01-09 2007-07-12 Macronix International Co., Ltd. Method for Fabricating a Pillar-Shaped Phase Change Memory Element
US7741636B2 (en) * 2006-01-09 2010-06-22 Macronix International Co., Ltd. Programmable resistive RAM and manufacturing method
US7560337B2 (en) * 2006-01-09 2009-07-14 Macronix International Co., Ltd. Programmable resistive RAM and manufacturing method
US7595218B2 (en) * 2006-01-09 2009-09-29 Macronix International Co., Ltd. Programmable resistive RAM and manufacturing method
WO2007080586A2 (en) * 2006-01-10 2007-07-19 Saifun Semiconductors Ltd. Rd algorithm improvement for nrom technology
US7825396B2 (en) * 2006-01-11 2010-11-02 Macronix International Co., Ltd. Self-align planerized bottom electrode phase change memory and manufacturing method
US7808818B2 (en) 2006-01-12 2010-10-05 Saifun Semiconductors Ltd. Secondary injection for NROM
US7432206B2 (en) * 2006-01-24 2008-10-07 Macronix International Co., Ltd. Self-aligned manufacturing method, and manufacturing method for thin film fuse phase change ram
US7456421B2 (en) * 2006-01-30 2008-11-25 Macronix International Co., Ltd. Vertical side wall active pin structures in a phase change memory and manufacturing methods
US7956358B2 (en) * 2006-02-07 2011-06-07 Macronix International Co., Ltd. I-shaped phase change memory cell with thermal isolation
US7910907B2 (en) 2006-03-15 2011-03-22 Macronix International Co., Ltd. Manufacturing method for pipe-shaped electrode phase change memory
US7554144B2 (en) * 2006-04-17 2009-06-30 Macronix International Co., Ltd. Memory device and manufacturing method
US7928421B2 (en) 2006-04-21 2011-04-19 Macronix International Co., Ltd. Phase change memory cell with vacuum spacer
US7701779B2 (en) 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
US8129706B2 (en) * 2006-05-05 2012-03-06 Macronix International Co., Ltd. Structures and methods of a bistable resistive random access memory
US7773421B2 (en) * 2006-05-08 2010-08-10 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US8077516B2 (en) * 2006-05-08 2011-12-13 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US7471562B2 (en) * 2006-05-08 2008-12-30 Macronix International Co., Ltd. Method and apparatus for accessing nonvolatile memory with read error by changing read reference
US7608848B2 (en) * 2006-05-09 2009-10-27 Macronix International Co., Ltd. Bridge resistance random access memory device with a singular contact structure
CN103258572B (en) 2006-05-12 2016-12-07 苹果公司 Distortion estimation in storage device and elimination
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US8156403B2 (en) * 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7820997B2 (en) 2006-05-30 2010-10-26 Macronix International Co., Ltd. Resistor random access memory cell with reduced active area and reduced contact areas
US7732800B2 (en) 2006-05-30 2010-06-08 Macronix International Co., Ltd. Resistor random access memory cell with L-shaped electrode
US7696506B2 (en) 2006-06-27 2010-04-13 Macronix International Co., Ltd. Memory cell with memory material insulation and manufacturing method
US7785920B2 (en) * 2006-07-12 2010-08-31 Macronix International Co., Ltd. Method for making a pillar-type phase change memory element
US7442603B2 (en) * 2006-08-16 2008-10-28 Macronix International Co., Ltd. Self-aligned structure and method for confining a melting point in a resistor random access memory
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7772581B2 (en) * 2006-09-11 2010-08-10 Macronix International Co., Ltd. Memory device having wide area phase change element and small electrode contact area
WO2008032326A2 (en) * 2006-09-12 2008-03-20 Saifun Semiconductors Ltd. Methods, circuits and systems for reading non-volatile memory cells
US7504653B2 (en) 2006-10-04 2009-03-17 Macronix International Co., Ltd. Memory cell device with circumferentially-extending memory element
US7510929B2 (en) * 2006-10-18 2009-03-31 Macronix International Co., Ltd. Method for making memory cell device
US7388771B2 (en) 2006-10-24 2008-06-17 Macronix International Co., Ltd. Methods of operating a bistable resistance random access memory with multiple memory layers and multilevel memory states
US7863655B2 (en) * 2006-10-24 2011-01-04 Macronix International Co., Ltd. Phase change memory cells with dual access devices
US7527985B2 (en) * 2006-10-24 2009-05-05 Macronix International Co., Ltd. Method for manufacturing a resistor random access memory with reduced active area and reduced contact areas
US20080094885A1 (en) * 2006-10-24 2008-04-24 Macronix International Co., Ltd. Bistable Resistance Random Access Memory Structures with Multiple Memory Layers and Multilevel Memory States
JP5177991B2 (en) 2006-10-25 2013-04-10 株式会社東芝 Nonvolatile semiconductor memory device
CN101601094B (en) 2006-10-30 2013-03-27 苹果公司 Reading memory cells using multiple thresholds
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8067762B2 (en) 2006-11-16 2011-11-29 Macronix International Co., Ltd. Resistance random access memory structure for enhanced retention
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7473576B2 (en) * 2006-12-06 2009-01-06 Macronix International Co., Ltd. Method for making a self-converged void and bottom electrode for memory cell
US7682868B2 (en) 2006-12-06 2010-03-23 Macronix International Co., Ltd. Method for making a keyhole opening during the manufacture of a memory cell
US7476587B2 (en) * 2006-12-06 2009-01-13 Macronix International Co., Ltd. Method for making a self-converged memory material element for memory cell
US20080137400A1 (en) * 2006-12-06 2008-06-12 Macronix International Co., Ltd. Phase Change Memory Cell with Thermal Barrier and Method for Fabricating the Same
US7697316B2 (en) 2006-12-07 2010-04-13 Macronix International Co., Ltd. Multi-level cell resistance random access memory with metal oxides
US7903447B2 (en) * 2006-12-13 2011-03-08 Macronix International Co., Ltd. Method, apparatus and computer program product for read before programming process on programmable resistive memory cell
US8344347B2 (en) * 2006-12-15 2013-01-01 Macronix International Co., Ltd. Multi-layer electrode structure
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7394698B1 (en) * 2006-12-28 2008-07-01 Macronix International Co., Ltd. Method and apparatus for adjusting a read reference level under dynamic power conditions
US7718989B2 (en) * 2006-12-28 2010-05-18 Macronix International Co., Ltd. Resistor random access memory cell device
US7515461B2 (en) * 2007-01-05 2009-04-07 Macronix International Co., Ltd. Current compliant sensing architecture for multilevel phase change memory
US7433226B2 (en) * 2007-01-09 2008-10-07 Macronix International Co., Ltd. Method, apparatus and computer program product for read before programming process on multiple programmable resistive memory cell
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US7663135B2 (en) 2007-01-31 2010-02-16 Macronix International Co., Ltd. Memory cell having a side electrode contact
US7619311B2 (en) * 2007-02-02 2009-11-17 Macronix International Co., Ltd. Memory cell device with coplanar electrode surface and method
US7701759B2 (en) * 2007-02-05 2010-04-20 Macronix International Co., Ltd. Memory cell device and programming methods
US7483292B2 (en) * 2007-02-07 2009-01-27 Macronix International Co., Ltd. Memory cell with separate read and program paths
US7463512B2 (en) * 2007-02-08 2008-12-09 Macronix International Co., Ltd. Memory element with reduced-current phase change element
US8138028B2 (en) * 2007-02-12 2012-03-20 Macronix International Co., Ltd Method for manufacturing a phase change memory device with pillar bottom electrode
US20080192544A1 (en) * 2007-02-13 2008-08-14 Amit Berman Error correction coding techniques for non-volatile memory
US7884343B2 (en) 2007-02-14 2011-02-08 Macronix International Co., Ltd. Phase change memory cell with filled sidewall memory element and method for fabricating the same
US8008643B2 (en) * 2007-02-21 2011-08-30 Macronix International Co., Ltd. Phase change memory cell with heater and method for fabricating the same
US7619237B2 (en) * 2007-02-21 2009-11-17 Macronix International Co., Ltd. Programmable resistive memory cell with self-forming gap
KR100865830B1 (en) * 2007-02-22 2008-10-28 주식회사 하이닉스반도체 Method of reading a memory device
US7956344B2 (en) * 2007-02-27 2011-06-07 Macronix International Co., Ltd. Memory cell with memory element contacting ring-shaped upper end of bottom electrode
CN101715595A (en) * 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 Adaptive estimation of memory cell read thresholds
US7786461B2 (en) 2007-04-03 2010-08-31 Macronix International Co., Ltd. Memory structure with reduced-size memory element between memory material portions
US8610098B2 (en) * 2007-04-06 2013-12-17 Macronix International Co., Ltd. Phase change memory bridge cell with diode isolation device
US7755076B2 (en) * 2007-04-17 2010-07-13 Macronix International Co., Ltd. 4F2 self align side wall active phase change memory
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
WO2008140171A1 (en) * 2007-05-14 2008-11-20 Samsung Electronics Co., Ltd. Apparatus for reading data and method using the same
US8513637B2 (en) * 2007-07-13 2013-08-20 Macronix International Co., Ltd. 4F2 self align fin bottom electrodes FET drive phase change memory
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
TWI402980B (en) 2007-07-20 2013-07-21 Macronix Int Co Ltd Resistive memory structure with buffer layer
US7884342B2 (en) * 2007-07-31 2011-02-08 Macronix International Co., Ltd. Phase change memory bridge cell
US7729161B2 (en) 2007-08-02 2010-06-01 Macronix International Co., Ltd. Phase change memory with dual word lines and source lines and method of operating same
US9018615B2 (en) * 2007-08-03 2015-04-28 Macronix International Co., Ltd. Resistor random access memory structure having a defined small area of electrical contact
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7619925B2 (en) * 2007-08-29 2009-11-17 Macronix International Co., Ltd. Virtual ground array memory and programming method thereof
US8178386B2 (en) 2007-09-14 2012-05-15 Macronix International Co., Ltd. Phase change memory cell array with self-converged bottom electrode and method for manufacturing
US7642125B2 (en) * 2007-09-14 2010-01-05 Macronix International Co., Ltd. Phase change memory cell in via array with self-aligned, self-converged bottom electrode and method for manufacturing
US8098525B2 (en) * 2007-09-17 2012-01-17 Spansion Israel Ltd Pre-charge sensing scheme for non-volatile memory (NVM)
US7864588B2 (en) * 2007-09-17 2011-01-04 Spansion Israel Ltd. Minimizing read disturb in an array flash cell
US7864606B2 (en) * 2007-09-18 2011-01-04 Spansion Israel Ltd Method, device and system for regulating access to an integrated circuit (IC) device
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US7551473B2 (en) * 2007-10-12 2009-06-23 Macronix International Co., Ltd. Programmable resistive memory with diode structure
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US7919766B2 (en) 2007-10-22 2011-04-05 Macronix International Co., Ltd. Method for making self aligning pillar memory cell device
US20090150595A1 (en) * 2007-10-24 2009-06-11 Avi Lavan Balanced programming rate for memory cells
US20090109755A1 (en) * 2007-10-24 2009-04-30 Mori Edan Neighbor block refresh for non-volatile memory
US8120960B2 (en) * 2007-11-07 2012-02-21 Spansion Israel Ltd. Method and apparatus for accessing a non-volatile memory array comprising unidirectional current flowing multiplexers
US8270246B2 (en) * 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US7804083B2 (en) * 2007-11-14 2010-09-28 Macronix International Co., Ltd. Phase change memory cell including a thermal protect bottom electrode and manufacturing methods
US7945825B2 (en) * 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US7646631B2 (en) * 2007-12-07 2010-01-12 Macronix International Co., Ltd. Phase change memory cell having interface structures with essentially equal thermal impedances and manufacturing methods
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
KR101436505B1 (en) * 2008-01-03 2014-09-02 삼성전자주식회사 Memory device
US7879643B2 (en) * 2008-01-18 2011-02-01 Macronix International Co., Ltd. Memory cell with memory element contacting an inverted T-shaped bottom electrode
KR101368694B1 (en) * 2008-01-22 2014-03-03 삼성전자주식회사 Apparatus and method of memory programming
US7879645B2 (en) * 2008-01-28 2011-02-01 Macronix International Co., Ltd. Fill-in etching free pore device
US8158965B2 (en) 2008-02-05 2012-04-17 Macronix International Co., Ltd. Heating center PCRAM structure and methods for making
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US7929363B1 (en) * 2008-02-26 2011-04-19 Cypress Semiconductor Corporation Memory test and setup method
ITRM20080114A1 (en) * 2008-02-29 2009-09-01 Micron Technology Inc COMPENSATION OF CHARGE LOSS DURING THE PROGRAMMING OF A MEMORY DEVICE.
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8084842B2 (en) 2008-03-25 2011-12-27 Macronix International Co., Ltd. Thermally stabilized electrode structure
US8030634B2 (en) 2008-03-31 2011-10-04 Macronix International Co., Ltd. Memory array with diode driver and method for fabricating the same
US7825398B2 (en) 2008-04-07 2010-11-02 Macronix International Co., Ltd. Memory cell having improved mechanical stability
US7791057B2 (en) * 2008-04-22 2010-09-07 Macronix International Co., Ltd. Memory cell having a buried phase change region and method for fabricating the same
US8077505B2 (en) * 2008-05-07 2011-12-13 Macronix International Co., Ltd. Bipolar switching of phase change device
US7701750B2 (en) 2008-05-08 2010-04-20 Macronix International Co., Ltd. Phase change device having two or more substantial amorphous regions in high resistance state
KR101423052B1 (en) * 2008-06-12 2014-07-25 삼성전자주식회사 Memory device and method of controlling read level
US8415651B2 (en) * 2008-06-12 2013-04-09 Macronix International Co., Ltd. Phase change memory cell having top and bottom sidewall contacts
US8134857B2 (en) * 2008-06-27 2012-03-13 Macronix International Co., Ltd. Methods for high speed reading operation of phase change memory and device employing same
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US7932506B2 (en) 2008-07-22 2011-04-26 Macronix International Co., Ltd. Fully self-aligned pore-type memory cell having diode access device
US20100019215A1 (en) * 2008-07-22 2010-01-28 Macronix International Co., Ltd. Mushroom type memory cell having self-aligned bottom electrode and diode access device
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7903457B2 (en) 2008-08-19 2011-03-08 Macronix International Co., Ltd. Multiple phase change materials in an integrated circuit for system on a chip application
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US7719913B2 (en) 2008-09-12 2010-05-18 Macronix International Co., Ltd. Sensing circuit for PCRAM applications
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8324605B2 (en) * 2008-10-02 2012-12-04 Macronix International Co., Ltd. Dielectric mesh isolated phase change structure for phase change memory
US7897954B2 (en) * 2008-10-10 2011-03-01 Macronix International Co., Ltd. Dielectric-sandwiched pillar memory device
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8036014B2 (en) * 2008-11-06 2011-10-11 Macronix International Co., Ltd. Phase change memory program method without over-reset
US8907316B2 (en) * 2008-11-07 2014-12-09 Macronix International Co., Ltd. Memory cell access device having a pn-junction with polycrystalline and single crystal semiconductor regions
US8664689B2 (en) 2008-11-07 2014-03-04 Macronix International Co., Ltd. Memory cell access device having a pn-junction with polycrystalline plug and single-crystal semiconductor regions
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US7869270B2 (en) 2008-12-29 2011-01-11 Macronix International Co., Ltd. Set algorithm for phase change memory cell
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8089137B2 (en) * 2009-01-07 2012-01-03 Macronix International Co., Ltd. Integrated circuit memory with single crystal silicon on silicide driver and manufacturing method
US8107283B2 (en) * 2009-01-12 2012-01-31 Macronix International Co., Ltd. Method for setting PCRAM devices
US8030635B2 (en) * 2009-01-13 2011-10-04 Macronix International Co., Ltd. Polysilicon plug bipolar transistor for phase change memory
US8064247B2 (en) 2009-01-14 2011-11-22 Macronix International Co., Ltd. Rewritable memory device based on segregation/re-absorption
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8933536B2 (en) 2009-01-22 2015-01-13 Macronix International Co., Ltd. Polysilicon pillar bipolar transistor with self-aligned memory element
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8084760B2 (en) 2009-04-20 2011-12-27 Macronix International Co., Ltd. Ring-shaped electrode and manufacturing method for same
US8173987B2 (en) * 2009-04-27 2012-05-08 Macronix International Co., Ltd. Integrated circuit 3D phase change memory array and manufacturing method
US8097871B2 (en) * 2009-04-30 2012-01-17 Macronix International Co., Ltd. Low operational current phase change memory structures
US8351263B2 (en) * 2009-05-12 2013-01-08 Infinite Memory Ltd. Method circuit and system for operating an array of non-volatile memory (“NVM”) cells and a corresponding NVM device
US7933139B2 (en) * 2009-05-15 2011-04-26 Macronix International Co., Ltd. One-transistor, one-resistor, one-capacitor phase change memory
US7968876B2 (en) * 2009-05-22 2011-06-28 Macronix International Co., Ltd. Phase change memory cell having vertical channel access transistor
US8350316B2 (en) 2009-05-22 2013-01-08 Macronix International Co., Ltd. Phase change memory cells having vertical channel access transistor and memory plane
US8159881B2 (en) * 2009-06-03 2012-04-17 Marvell World Trade Ltd. Reference voltage optimization for flash memory
US8809829B2 (en) * 2009-06-15 2014-08-19 Macronix International Co., Ltd. Phase change memory having stabilized microstructure and manufacturing method
US8406033B2 (en) 2009-06-22 2013-03-26 Macronix International Co., Ltd. Memory device and method for sensing and fixing margin cells
US8238149B2 (en) 2009-06-25 2012-08-07 Macronix International Co., Ltd. Methods and apparatus for reducing defect bits in phase change memory
US8363463B2 (en) 2009-06-25 2013-01-29 Macronix International Co., Ltd. Phase change memory having one or more non-constant doping profiles
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8110822B2 (en) 2009-07-15 2012-02-07 Macronix International Co., Ltd. Thermal protect PCRAM structure and methods for making
US8198619B2 (en) 2009-07-15 2012-06-12 Macronix International Co., Ltd. Phase change memory cell structure
US8407564B2 (en) * 2009-07-15 2013-03-26 Intel Corporation Prediction and cancellation of systematic noise sources in non-volatile memory
US7894254B2 (en) 2009-07-15 2011-02-22 Macronix International Co., Ltd. Refresh circuitry for phase change memory
US8064248B2 (en) 2009-09-17 2011-11-22 Macronix International Co., Ltd. 2T2R-1T1R mix mode phase change memory array
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8178387B2 (en) 2009-10-23 2012-05-15 Macronix International Co., Ltd. Methods for reducing recrystallization time for a phase change material
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8351258B1 (en) * 2010-01-22 2013-01-08 Marvell International Ltd. Adapting read reference voltage in flash memory device
KR101655306B1 (en) 2010-02-24 2016-09-07 삼성전자주식회사 Memory system and access method thereof
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8729521B2 (en) 2010-05-12 2014-05-20 Macronix International Co., Ltd. Self aligned fin-type programmable memory cell
US8310864B2 (en) 2010-06-15 2012-11-13 Macronix International Co., Ltd. Self-aligned bit line under word line memory array
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9229804B2 (en) 2010-08-17 2016-01-05 Technion Research And Development Foundation Ltd. Mitigating inter-cell coupling effects in non volatile memory (NVM) cells
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8395935B2 (en) 2010-10-06 2013-03-12 Macronix International Co., Ltd. Cross-point self-aligned reduced cell size phase change memory
US8497705B2 (en) 2010-11-09 2013-07-30 Macronix International Co., Ltd. Phase change device for interconnection of programmable logic device
US8467238B2 (en) 2010-11-15 2013-06-18 Macronix International Co., Ltd. Dynamic pulse operation for phase change memory
US8987700B2 (en) 2011-12-02 2015-03-24 Macronix International Co., Ltd. Thermally confined electrode for programmable resistance memory
US9208022B2 (en) * 2012-03-29 2015-12-08 Intel Corporation Techniques for adaptive moving read references for memory cell read error recovery
KR20160062214A (en) * 2012-03-29 2016-06-01 인텔 코포레이션 Adaptive moving read references for memory cells
US9299459B2 (en) 2012-09-07 2016-03-29 Macronix International Co., Ltd. Method and apparatus of measuring error correction data for memory
KR20140045168A (en) 2012-10-08 2014-04-16 삼성전자주식회사 Non-volatile memory device, memory system and operating method thereof
KR20140072637A (en) * 2012-12-05 2014-06-13 삼성전자주식회사 method for operating non-volatile memory device and memory controller
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9280412B2 (en) * 2013-03-12 2016-03-08 Macronix International Co., Ltd. Memory with error correction configured to prevent overcorrection
US9136015B2 (en) 2013-04-24 2015-09-15 Apple Inc. Threshold adjustment using data value balancing in analog memory device
JP2014225310A (en) * 2013-05-16 2014-12-04 株式会社東芝 Nonvolatile semiconductor memory device
US10319460B2 (en) * 2013-08-14 2019-06-11 Infineon Technologies Ag Systems and methods utilizing a flexible read reference for a dynamic read window
TWI549229B (en) 2014-01-24 2016-09-11 旺宏電子股份有限公司 Multiple phase change materials in a memory device for system on a chip application
US9559113B2 (en) 2014-05-01 2017-01-31 Macronix International Co., Ltd. SSL/GSL gate oxide in 3D vertical channel NAND
US9159412B1 (en) 2014-07-15 2015-10-13 Macronix International Co., Ltd. Staggered write and verify for phase change memory
CN105632554B (en) * 2014-11-03 2019-07-30 旺宏电子股份有限公司 The operating method of storage device
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9672906B2 (en) 2015-06-19 2017-06-06 Macronix International Co., Ltd. Phase change memory with inter-granular switching
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
KR20170058066A (en) * 2015-11-18 2017-05-26 에스케이하이닉스 주식회사 Data storage device and operating method thereof
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9747965B2 (en) * 2015-12-28 2017-08-29 Headway Technologies, Inc. Adaptive reference scheme for magnetic memory applications
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
CN109215717B (en) * 2017-07-05 2020-12-04 北京兆易创新科技股份有限公司 Method and device for reading NAND type floating gate memory
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
US10347317B2 (en) * 2017-10-05 2019-07-09 Gyrfalcon Technology Inc. Method of self-testing and reusing of reference cells in a memory architecture
US10733047B2 (en) 2018-09-28 2020-08-04 Sandisk Technologies Llc Hard and soft bit data from single read
US10658047B1 (en) 2018-10-31 2020-05-19 Micron Technology, Inc. Implementing sticky read using error control success rate associated with a memory sub-system
US10756849B2 (en) 2019-01-21 2020-08-25 Apple Inc. Self referenced single-ended chip to chip communication
US10998041B1 (en) * 2020-05-07 2021-05-04 Western Digital Technologies, Inc. Calibrating non-volatile memory read thresholds
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4342102A (en) 1980-06-18 1982-07-27 Signetics Corporation Semiconductor memory array
US4389705A (en) 1981-08-21 1983-06-21 Mostek Corporation Semiconductor memory circuit with depletion data transfer transistor
US4388705A (en) 1981-10-01 1983-06-14 Mostek Corporation Semiconductor memory circuit
US4527257A (en) 1982-08-25 1985-07-02 Westinghouse Electric Corp. Common memory gate non-volatile transistor memory
US4667217A (en) 1985-04-19 1987-05-19 Ncr Corporation Two bit vertically/horizontally integrated memory cell
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5027321A (en) 1989-11-21 1991-06-25 Intel Corporation Apparatus and method for improved reading/programming of virtual ground EPROM arrays
EP0461904A3 (en) 1990-06-14 1992-09-09 Creative Integrated Systems, Inc. An improved semiconductor read-only vlsi memory
KR920006991A (en) 1990-09-25 1992-04-28 김광호 High Voltage Generation Circuit of Semiconductor Memory Device
JP2987193B2 (en) 1990-11-20 1999-12-06 富士通株式会社 Semiconductor storage device
US5218569A (en) 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US6002614A (en) 1991-02-08 1999-12-14 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US5142496A (en) 1991-06-03 1992-08-25 Advanced Micro Devices, Inc. Method for measuring VT 's less than zero without applying negative voltages
US5245572A (en) 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
JP2965415B2 (en) 1991-08-27 1999-10-18 松下電器産業株式会社 Semiconductor storage device
US5305262A (en) 1991-09-11 1994-04-19 Kawasaki Steel Corporation Semiconductor integrated circuit
JP3358663B2 (en) 1991-10-25 2002-12-24 ローム株式会社 Semiconductor storage device and storage information reading method thereof
JP2564067B2 (en) 1992-01-09 1996-12-18 株式会社東芝 Readout output circuit having sense circuit
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
JPH05290584A (en) 1992-04-08 1993-11-05 Nec Corp Semiconductor memory
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
JP2904645B2 (en) * 1992-05-28 1999-06-14 株式会社東芝 Non-volatile semiconductor memory
US5289412A (en) 1992-06-19 1994-02-22 Intel Corporation High-speed bias-stabilized current-mirror referencing circuit for non-volatile memories
US5450354A (en) 1992-08-31 1995-09-12 Nippon Steel Corporation Non-volatile semiconductor memory device detachable deterioration of memory cells
US5450341A (en) 1992-08-31 1995-09-12 Nippon Steel Corporation Non-volatile semiconductor memory device having memory cells, each for at least three different data writable thereinto selectively and a method of using the same
US5412238A (en) 1992-09-08 1995-05-02 National Semiconductor Corporation Source-coupling, split-gate, virtual ground flash EEPROM array
US5418743A (en) * 1992-12-07 1995-05-23 Nippon Steel Corporation Method of writing into non-volatile semiconductor memory
US5335198A (en) 1993-05-06 1994-08-02 Advanced Micro Devices, Inc. Flash EEPROM array with high endurance
US5463586A (en) 1993-05-28 1995-10-31 Macronix International Co., Ltd. Erase and program verification circuit for non-volatile memory
US5477499A (en) 1993-10-13 1995-12-19 Advanced Micro Devices, Inc. Memory architecture for a three volt flash EEPROM
US5828601A (en) 1993-12-01 1998-10-27 Advanced Micro Devices, Inc. Programmed reference
JP3076185B2 (en) 1993-12-07 2000-08-14 日本電気株式会社 Semiconductor memory device and inspection method thereof
DE69424771T2 (en) 1994-03-22 2000-10-26 St Microelectronics Srl Arrangement for reading a memory cell matrix
US5568085A (en) 1994-05-16 1996-10-22 Waferscale Integration Inc. Unit for stabilizing voltage on a capacitive node
US5508968A (en) 1994-08-12 1996-04-16 International Business Machines Corporation Dynamic random access memory persistent page implemented as processor register sets
US5822256A (en) 1994-09-06 1998-10-13 Intel Corporation Method and circuitry for usage of partially functional nonvolatile memory
US5583808A (en) 1994-09-16 1996-12-10 National Semiconductor Corporation EPROM array segmented for high performance and method for controlling same
US5694356A (en) 1994-11-02 1997-12-02 Invoice Technology, Inc. High resolution analog storage EPROM and flash EPROM
US5537358A (en) 1994-12-06 1996-07-16 National Semiconductor Corporation Flash memory having adaptive sensing and method
US6353554B1 (en) 1995-02-27 2002-03-05 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
DE69524572T2 (en) 1995-04-28 2002-08-22 St Microelectronics Srl Sense amplifier circuit for semiconductor memory devices
KR100187656B1 (en) 1995-05-16 1999-06-01 김주용 Method for manufacturing a flash eeprom and the programming method
US6034896A (en) 1995-07-03 2000-03-07 The University Of Toronto, Innovations Foundation Method of fabricating a fast programmable flash E2 PROM cell
EP0753859B1 (en) 1995-07-14 2000-01-26 STMicroelectronics S.r.l. Method for setting the threshold voltage of a reference memory cell
US5633603A (en) 1995-12-26 1997-05-27 Hyundai Electronics Industries Co., Ltd. Data output buffer using pass transistors biased with a reference voltage and a precharged data input
US5748534A (en) 1996-03-26 1998-05-05 Invox Technology Feedback loop for reading threshold voltage
US5777923A (en) 1996-06-17 1998-07-07 Aplus Integrated Circuits, Inc. Flash memory read/write controller
US5712815A (en) 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
US5847441A (en) 1996-05-10 1998-12-08 Micron Technology, Inc. Semiconductor junction antifuse circuit
US5886927A (en) 1996-06-11 1999-03-23 Nkk Corporation Nonvolatile memory device with verify function
EP0907954B1 (en) * 1996-06-24 2000-06-07 Advanced Micro Devices, Inc. A method for a multiple bits-per-cell flash eeprom with page mode program and read
KR100265574B1 (en) 1996-06-29 2000-09-15 김영환 Sense amplifier for semiconductor memory apparatus
US6381670B1 (en) * 1997-01-07 2002-04-30 Aplus Flash Technology, Inc. Flash memory array having maximum and minimum threshold voltage detection for eliminating over-erasure problem and enhancing write operation
US5812456A (en) 1996-10-01 1998-09-22 Microchip Technology Incorporated Switched ground read for EPROM memory array
US5717632A (en) 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
JP3532725B2 (en) 1997-02-27 2004-05-31 株式会社東芝 Semiconductor integrated circuit
JP3920415B2 (en) 1997-03-31 2007-05-30 三洋電機株式会社 Nonvolatile semiconductor memory device
US6252799B1 (en) 1997-04-11 2001-06-26 Programmable Silicon Solutions Device with embedded flash and EEPROM memories
US5805500A (en) 1997-06-18 1998-09-08 Sgs-Thomson Microelectronics S.R.L. Circuit and method for generating a read reference signal for nonvolatile memory cells
JP3189740B2 (en) 1997-06-20 2001-07-16 日本電気株式会社 Data repair method for nonvolatile semiconductor memory
JP3039458B2 (en) 1997-07-07 2000-05-08 日本電気株式会社 Non-volatile semiconductor memory
IL125604A (en) 1997-07-30 2004-03-28 Saifun Semiconductors Ltd Non-volatile electrically erasable and programmble semiconductor memory cell utilizing asymmetrical charge
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US5940332A (en) 1997-11-13 1999-08-17 Stmicroelectronics, Inc. Programmed memory with improved speed and power consumption
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US5949728A (en) 1997-12-12 1999-09-07 Scenix Semiconductor, Inc. High speed, noise immune, single ended sensing scheme for non-volatile memories
US5946258A (en) 1998-03-16 1999-08-31 Intel Corporation Pump supply self regulation for flash memory cell pair reference circuit
JP3544859B2 (en) * 1998-05-11 2004-07-21 富士通株式会社 Secondary storage device using nonvolatile semiconductor memory
JP3999900B2 (en) 1998-09-10 2007-10-31 株式会社東芝 Nonvolatile semiconductor memory
DE69828966D1 (en) 1998-09-15 2005-03-17 St Microelectronics Srl Method for protecting the content of non-volatile memory cells
US6308265B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Protection of boot block code while allowing write accesses to the boot block
US6044019A (en) 1998-10-23 2000-03-28 Sandisk Corporation Non-volatile memory with improved sensing and method therefor
JP2000222892A (en) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd Threshold value control method and screening method for semiconductor memory
US6147904A (en) 1999-02-04 2000-11-14 Tower Semiconductor Ltd. Redundancy method and structure for 2-bit non-volatile memory cells
US6134156A (en) 1999-02-04 2000-10-17 Saifun Semiconductors Ltd. Method for initiating a retrieval procedure in virtual ground arrays
US6233180B1 (en) 1999-02-04 2001-05-15 Saifun Semiconductors Ltd. Device for determining the validity of word line conditions and for delaying data sensing operation
US6128226A (en) 1999-02-04 2000-10-03 Saifun Semiconductors Ltd. Method and apparatus for operating with a close to ground signal
US6108240A (en) 1999-02-04 2000-08-22 Tower Semiconductor Ltd. Implementation of EEPROM using intermediate gate voltage to avoid disturb conditions
US6044022A (en) 1999-02-26 2000-03-28 Tower Semiconductor Ltd. Programmable configuration for EEPROMS including 2-bit non-volatile memory cell arrays
US6084794A (en) 1999-05-28 2000-07-04 Winbond Electronics Corp. High speed flat-cell mask ROM structure with select lines
US6469935B2 (en) 1999-08-05 2002-10-22 Halo Lsi Design & Device Technology, Inc. Array architecture nonvolatile memory and its operation methods
JP3912937B2 (en) 1999-08-10 2007-05-09 スパンション インク Multi-bit non-volatile memory using non-conductive charge trap gate
JP3348432B2 (en) 1999-09-14 2002-11-20 日本電気株式会社 Semiconductor device and semiconductor storage device
US6331950B1 (en) 1999-10-19 2001-12-18 Fujitsu Limited Write protect input implementation for a simultaneous operation flash memory device
US6201737B1 (en) 2000-01-28 2001-03-13 Advanced Micro Devices, Inc. Apparatus and method to characterize the threshold distribution in an NROM virtual ground array
US6185143B1 (en) 2000-02-04 2001-02-06 Hewlett-Packard Company Magnetic random access memory (MRAM) device including differential sense amplifiers
US6205056B1 (en) 2000-03-14 2001-03-20 Advanced Micro Devices, Inc. Automated reference cell trimming verify
US6240040B1 (en) 2000-03-15 2001-05-29 Advanced Micro Devices, Inc. Multiple bank simultaneous operation for a flash memory
KR100414146B1 (en) * 2000-06-27 2004-01-13 주식회사 하이닉스반도체 Method of erasing a flash memory device
JP2002184190A (en) 2000-12-11 2002-06-28 Toshiba Corp Non-volatile semiconductor memory
JP2002216496A (en) * 2001-01-16 2002-08-02 Umc Japan Semiconductor memory
TW550576B (en) * 2001-02-20 2003-09-01 Toshiba Corp Data writing method of semiconductor memory device and semiconductor device
JP4467815B2 (en) 2001-02-26 2010-05-26 富士通マイクロエレクトロニクス株式会社 Nonvolatile semiconductor memory read operation method and nonvolatile semiconductor memory
US6351415B1 (en) 2001-03-28 2002-02-26 Tower Semiconductor Ltd. Symmetrical non-volatile memory array architecture without neighbor effect
US6535434B2 (en) 2001-04-05 2003-03-18 Saifun Semiconductors Ltd. Architecture and scheme for a non-strobed read sequence
JP2002319287A (en) 2001-04-20 2002-10-31 Fujitsu Ltd Nonvolatile semiconductor memory
US6636440B2 (en) 2001-04-25 2003-10-21 Saifun Semiconductors Ltd. Method for operation of an EEPROM array, including refresh thereof
US6522585B2 (en) 2001-05-25 2003-02-18 Sandisk Corporation Dual-cell soft programming for virtual-ground memory arrays
US6574139B2 (en) 2001-06-20 2003-06-03 Fujitsu Limited Method and device for reading dual bit memory cells using multiple reference cells with two side read
KR100390959B1 (en) * 2001-06-29 2003-07-12 주식회사 하이닉스반도체 Method of programing/reading a multi-level flash memory using Sensing circuit
US6643178B2 (en) 2001-07-31 2003-11-04 Fujitsu Limited System for source side sensing
US6525969B1 (en) 2001-08-10 2003-02-25 Advanced Micro Devices, Inc. Decoder apparatus and methods for pre-charging bit lines
US6469929B1 (en) 2001-08-21 2002-10-22 Tower Semiconductor Ltd. Structure and method for high speed sensing of memory arrays
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6510082B1 (en) 2001-10-23 2003-01-21 Advanced Micro Devices, Inc. Drain side sensing scheme for virtual ground flash EPROM array with adjacent bit charge and hold
TW506123B (en) 2001-10-24 2002-10-11 Macronix Int Co Ltd Multi-level NROM memory cell and its operating method
US6678192B2 (en) * 2001-11-02 2004-01-13 Sandisk Corporation Error management for writable tracking storage units
US6529412B1 (en) 2002-01-16 2003-03-04 Advanced Micro Devices, Inc. Source side sensing scheme for virtual ground read of flash eprom array with adjacent bit precharge
US6639844B1 (en) 2002-03-13 2003-10-28 Advanced Micro Devices, Inc. Overerase correction method
US6594181B1 (en) 2002-05-10 2003-07-15 Fujitsu Limited System for reading a double-bit memory cell
JP4113423B2 (en) * 2002-12-04 2008-07-09 シャープ株式会社 Semiconductor memory device and reference cell correction method
WO2007080586A2 (en) * 2006-01-10 2007-07-19 Saifun Semiconductors Ltd. Rd algorithm improvement for nrom technology

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1683160A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505215A (en) * 2006-09-27 2010-02-18 サンディスク コーポレイション Memory with read margin by cell population distribution
US7925960B2 (en) 2006-11-07 2011-04-12 Macronix International Co., Ltd. Memory and method for checking reading errors thereof
US8190984B2 (en) 2006-11-07 2012-05-29 Macronix International Co., Ltd. Memory and method for checking reading errors thereof
US8347185B2 (en) 2006-11-07 2013-01-01 Macronix International Co., Ltd. Memory and method for checking reading errors thereof
JP2010522924A (en) * 2007-03-28 2010-07-08 サムスン エレクトロニクス カンパニー リミテッド Read level control apparatus and method
JP2010055746A (en) * 2009-12-07 2010-03-11 Toshiba Corp Storage medium reproducing apparatus, storage medium reproducing method, storage medium reproducing program
JP2011238346A (en) * 2011-06-16 2011-11-24 Sandisk Il Ltd Method for restoration from error in flash memory

Also Published As

Publication number Publication date
TW200535852A (en) 2005-11-01
US20040136236A1 (en) 2004-07-15
EP1683160A4 (en) 2008-07-16
CN1902710A (en) 2007-01-24
US6992932B2 (en) 2006-01-31
TWI381382B (en) 2013-01-01
WO2005041108A3 (en) 2005-09-09
EP1683160A2 (en) 2006-07-26
JP2007510253A (en) 2007-04-19

Similar Documents

Publication Publication Date Title
US6992932B2 (en) Method circuit and system for read error detection in a non-volatile memory array
US6963505B2 (en) Method circuit and system for determining a reference voltage
US8670274B2 (en) Data storage in analog memory cells using modified pass voltages
US7535765B2 (en) Non-volatile memory device and method for reading cells
USRE45813E1 (en) Reducing the impact of interference during programming
USRE45910E1 (en) Programming non-volatile storage including reducing impact from other memory cells
US7352627B2 (en) Method, system, and circuit for operating a non-volatile memory array
US7564718B2 (en) Method for programming a block of memory cells, non-volatile memory device and memory card device
US8711626B2 (en) Flash memory apparatus and method for generating read voltage thereof
US20080158989A1 (en) Retention margin program verification
US20110167305A1 (en) Methods and Apparatus for Soft Data Generation for Memory Devices Based on Performance Factor Adjustment
US9501400B2 (en) Identification and operation of sub-prime blocks in nonvolatile memory
KR20100028019A (en) Non-volatile memory and method for predictive programming
JP2013033591A (en) Nonvolatile memory element and self compensation method thereof
US9576683B2 (en) Systems and methods for hard error reduction in a solid state memory device
US11048582B2 (en) Method for programming non-volatile memory
CN109215716B (en) Method and device for improving reliability of NAND type floating gate memory

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480039234.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006537554

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004791845

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004791845

Country of ref document: EP