Error management for writable tracking storage units
AssigneeSanDisk Corporation
InventorsGeoffrey S. Gongwer, Shahzad B. Khalid, Daniel C. Guterman
Life of this patent
Estimating the term…
Abstract
A memory system (e.g., memory card) having error management for stored levels (e.g., reference levels) used in discrimination of logic levels for data storage units providing data storage is disclosed. The stored levels can be stored in predetermined storage units (e.g., writable tracking storage units) in the memory system. The memory system is typically a non-volatile memory product or device that provides binary or multi-state data storage.
Claims46
A method for determining discrimination levels for states of storage units of a memory product, said method comprising:
- reading stored levels from a plurality of predetermined storage units;
- determining whether any of the stored levels are aberrant;
- correcting for at least one of the stored levels that said determining determines to be aberrant;
- and
- determining one or more discrimination levels based on the stored levels following said correcting.
In a memory device, a method for managing errors associated with tracking storage units used with data storage units, said method comprising:
- reading reference levels from a plurality of tracking storage units;
- evaluating a quality for each of the reference levels;
- determining whether the quality for any of the reference levels is unacceptable;
- correcting for at least one of the reference levels that said determining determines to be unacceptable;
- and
- determining, following said correcting, discrimination levels for data storage units associated with the tracking storage units based on the reference levels.
A method for reading data from a memory device having data storage units and associated tracking storage units, said method comprising:
- (a) substantially concurrently reading data levels from certain data storage units and reference levels from tracking storage units associated with the certain data storage units;
- (b) computing a processed reference level from the reference levels;
- (c) determining state discrimination levels based on the processed reference level;
- (d) discriminating states of the data levels from the certain data storage units based on the state discrimination levels to acquire read data for a requester;
- (e) evaluating, substantially concurrently with said discriminating (d), quality of the reference levels;
- (f) determining whether the quality of the reference levels is acceptable;
- (g) directing the read data to the requester when said determining (f) determines that the quality of the reference levels is acceptable;
- and
- (h) correcting for at least one of the reference levels when said determining (f) determines that the quality of the reference levels is unacceptable.
A method for reading data from a memory device having data storage units and associated tracking storage units, said method comprising:
- (a) substantially concurrently reading data levels from certain data storage units and reference levels from tracking storage units associated with the certain data storage units;
- (b) computing a processed reference level from the reference levels;
- (c) determining state discrimination levels based on the processed reference level;
- (d) discriminating states of the data levels from the certain data storage units based on the state discrimination levels to acquire read data for a requester;
- (e) evaluating quality of the reference levels;
- (f) determining whether the quality of the reference levels is acceptable;
- (g) sending the read data to the requester when said determining (f) determines that the quality of the reference levels is acceptable;
- (h) halting said sending (g) when said determining (f) determines that the quality of the reference levels is unacceptable;
- and
- (i) correcting for at least one of the reference levels when said determining (f) determines that the quality of the reference levels is unacceptable.
A method for reading data from a memory device having data storage units and associated tracking storage units, said method comprising:
- (a) substantially concurrently reading data levels from certain data storage units and reference levels from tracking storage units associated with the certain data storage units;
- (b) computing a processed reference level from the reference levels;
- (c) determining state discrimination levels based on the processed reference level;
- (d) discriminating states of the data levels from the certain data storage units based on the state discrimination levels to acquire read data for a requester;
- (e) evaluating quality of the reference levels;
- (f) determining whether the quality of the reference levels is acceptable;
- (g) sending the read data to the requester when said determining (f) determines that the quality of the reference levels is acceptable;
- (h) canceling the read data that has been received by the requester when said determining (f) determines that the quality of the reference levels is unacceptable;
- and
- (i) correcting for at least one of the reference levels when said determining (f) determines that the quality of the reference levels is unacceptable.
A method for reading data from a memory device having data storage units and associated tracking storage units, said method comprising:
- (a) substantially concurrently reading data levels from certain data storage units and reference levels from tracking storage units associated with the certain data storage units;
- (b) computing a processed reference level from the reference levels;
- (c) determining state discrimination levels based on the processed reference level;
- (d) determining read data from the data levels using the state discrimination levels and error correction code processing;
- (e) determining whether a data error is indicated by the error code processing;
- and
- (f) evaluating quality of the reference levels and correcting for at least one of the reference levels having poor quality when said determining (e) detects the data error.
A method for reading data from a memory device having data storage units and associated tracking storage units, said method comprising:
- (a) initiating a count;
- (b) reading data levels from certain data storage units and reference levels from tracking storage units associated with the certain data storage units;
- (c) computing a processed reference level from the reference levels;
- (d) determining state discrimination levels based on the processed reference level;
- (e) discriminating states of the data levels from the certain data storage units based on the state discrimination levels to acquire read data for a requester;
- (f) evaluating quality of the reference levels;
- (g) determining whether the quality of the reference levels is acceptable;
- (h) comparing the count with a count limit;
- (i) correcting for at least one of the reference levels when said determining (g) determines that the quality of the reference levels is unacceptable and said comparing (h) determines that the count does not exceed the count limit;
- (j) updating the count;
- (k) repeating at least said computing (b) through said comparing (h) one or more times when said determining (g) determines that the quality of the reference levels is unacceptable and said comparing (h) determines that the count does not exceed the count limit;
- and
- (l) directing the read data to the requester when said determining (g) determines that the quality of the reference levels is acceptable or when said comparing (h) determines that the count does exceed the count limit.
A memory system, comprising:
- a plurality of data storage units, each of the data storage units providing multi-state data storage in a non-volatile manner;
- a plurality of tracking storage units, the tracking storage units providing storage for reference levels in a non-volatile manner;
- a reference level error manager operatively connected to receive the reference levels from said tracking storage units, said reference level error manager evaluates quality of the reference levels;
- and
- a memory controller operatively connected to said data storage units and said tracking storage units, said memory controller operates to control read, write and erase operations with respect to said data storage units and said tracking storage units, said memory controller using state discrimination levels to determine the state of the data storage elements being read.
Dependencies are inferred from the claim text.