Write reduction in flash memory systems through ECC usage
AssigneeMicron Technology, Inc.
InventorRobert D. Norman
Life of this patent
Estimating the term…
Abstract
A nonvolatile memory system emulates a magnetic hard disk drive and includes an array of nonvolatile memory cells, such as flash memory cells, organized into sets, such as sectors. A buffer, such as a random access memory, stores a first set of data to be written to the array. Error correction code (ECC) circuitry receives the first set of data and calculates first ECC check bits representative of the first set of data. ECC comparison circuitry compares the first ECC check bits with second ECC check bits representative of a second set of data stored in the array to generate an ECC comparison signal having a first state indicative of a match between the first and second ECC check bits and a second state indicative of a miscomparison between the first and second ECC check bits.
Claims16
A nonvolatile memory system comprising:
- a plurality of nonvolatile memory cells for storing one or more data sets;
- a buffer for storing a first data set intended to be written to the memory cells;
- error-correction-code circuitry responsive to the first data set to provide an error-correction code for the first data set before or while the first data set is written to the buffer;
- comparator circuitry for comparing the error-correction code for the first data set to an error-correction code for a second data set and outputting a signal indicating a match;
- and
- a controller responsive to the signal indicating a match to allow writing the first data set to the memory cells.
A method of operating a nonvolatile memory system including a plurality of memory cells for storing a first data set and an associated first error-correction code, the method comprising:
- determining a second error-correction code for a second data set;
- determining whether the second, error-correction code differs from the first error-correction code;
- and
- writing the second data set to the memory cells, if the second error-correction code differs from the first error-correction code.
A nonvolatile memory system comprising:
- a plurality of nonvolatile memory cells for storing one or more data sets;
- a buffer for storing a first data set intended to be written to the memory cells;
- error-correction-code circuitry responsive to the first data set to provide an error-correction code for the first data set before or while the first data set is written to the buffer;
- and
- comparator circuitry for comparing the error-correction code for the first data set to an error-correction code for a second data set and outputting a signal indicating a match.
A method of operating as nonvolatile memory system including a plurality of memory cells for storing a first data set and an associated first error-correction code, the method comprising:
- determining a second error-correction code for a second data set;
- determining whether the second error-correction code differs from the first error-correction code;
- and
- writing the second data set to the memory cells, if the second error-correction code differs from the first error-correction code, wherein each error-correction code includes a plurality of check bits.
A nonvolatile memory system comprising:
- a plurality of memory cells for storing a first data set and an associated first error-correction code;
- means for determining a second error-correction code for a second data set;
- means for determining whether the second error-correction code differs from the first error-correction code;
- and
- means, responsive a difference between the first and second error-correction codes, for writing the second data set to the memory cells.
A memory system comprising:
- a plurality of nonvolatile memory cells;
- a buffer;
- means for storing a first data set in the buffer;
- and
- means for determining an error-correction code for the first data set before or during storage of the first data set in the buffer.
A nonvolatile memory system comprising:
- a plurality of nonvolatile memory cells for storing one or more data sets;
- a buffer for storing a first data set intended to be written to the memory cells;
- and
- error-correction-code circuitry responsive to the first data set to provide an error-correction code for the first data set before or while the first data set is written to the buffer;
- wherein the buffer comprises a synchronous random-access memory or an array of nonvolatile memory cells.
A method of operating a nonvolatile memory system including a plurality of memory cells for storing a first data set and an associated first error-correction code, the method comprising:
- determining a second error-correction code for a second data set;
- determining whether the second error-correction code differs from the first error-correction code;
- and
- writing the second data set to the memory cells, based on the determination of whether the second error-correction code differs from the first error-correction code.
A method of operating a nonvolatile memory system including a plurality of memory cells that store a first data set and an associated first error-correction code, the method comprising:
- determining a second error-correction code for a second data set;
- and
- writing the second data set to the memory cells, if the second error-correction code differs from the first error-correction code.
Dependencies are inferred from the claim text.