Error recovery using erasures for NAND flash
AssigneeSK hynix memory solutions inc.
InventorsYu Kou, Xiangyu Tang
Life of this patent
Estimating the term…
Abstract
Data is processed by selecting one or more bits in a codeword to replace with an erasure. The selected bits in the codeword are replaced with the erasure and error correction decoding is performed on the codeword with the erasure in place for the selected bits.
Claims21
A system for processing data, comprising:
- a processor;
- and
- a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
- select one or more bits in a codeword to replace with an erasure, including by:
- selecting the one or more bits in the codeword based at least in part on a
- plurality of accumulated values corresponding to a plurality of bit lines;
- and
- generating the plurality of accumulated values, including by accumulating, for a bit line being analyzed, a magnitude of a difference between a soft value after error correction decoding and a soft value before error correction decoding;
- replace the selected bits in the codeword with the erasure;
- and
- perform error correction decoding on the codeword with the erasure in place for the selected bits.
A system for processing data, comprising:
- a processor;
- and
- a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
- select one or more bits in a codeword to replace with an erasure, including by:
- writing a known bit pattern to at least a location on solid state storage media at which the codeword is located;
- reading from the location on the solid state storage media at which the codeword is located to obtain a read bit pattern;
- comparing the read bit pattern with the write bit pattern;
- and
- selecting those bits which did not match when comparing the read bit pattern with the write bit pattern;
- replace the selected bits in the codeword with the erasure;
- and
- perform error correction decoding on the codeword with the erasure in place for the selected bits.
A method for processing data, comprising:
- selecting one or more bits in a codeword to replace with an erasure, including by:
- selecting the one or more bits in the codeword based at least in part on a plurality of accumulated values corresponding to a plurality of bit lines;
- and
- generating the plurality of accumulated values, including by accumulating, for a bit line being analyzed, a magnitude of a difference between a soft value after error correction decoding and a soft value before error correction decoding;
- replacing the selected bits in the codeword with the erasure;
- and
- using a processor to perform error correction decoding on the codeword with the erasure in place for the selected bits.
A method for processing data, comprising:
- selecting one or more bits in a codeword to replace with an erasure, including by:
- writing a known bit pattern to at least a location on solid state storage media at which the codeword is located;
- reading from the location on the solid state storage media at which the codeword is located to obtain a read bit pattern;
- comparing the read bit pattern with the write bit pattern;
- and
- selecting those bits which did not match when comparing the read bit pattern with the write bit pattern;
- replacing the selected bits in the codeword with the erasure;
- and
- using a processor to perform error correction decoding on the codeword with the erasure in place for the selected bits.
A computer program product for processing data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- selecting one or more bits in a codeword to replace with an erasure, including by:
- selecting the one or more bits in the codeword based at least in part on a plurality of accumulated values corresponding to a plurality of bit lines;
- and
- generating the plurality of accumulated values, including by accumulating, for a bit line being analyzed, a magnitude of a difference between a soft value after error correction decoding and a soft value before error correction decoding;
- replacing the selected bits in the codeword with the erasure;
- and
- performing error correction decoding on the codeword with the erasure in place for the selected bits.
A computer program product for processing data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- selecting one or more bits in a codeword to replace with an erasure, including by:
- writing a known bit pattern to at least a location on solid state storage media at which the codeword is located;
- reading from the location on the solid state storage media at which the codeword is located to obtain a read bit pattern;
- comparing the read bit pattern with the write bit pattern;
- and
- selecting those bits which did not match when comparing the read bit pattern with the write bit pattern;
- replacing the selected bits in the codeword with the erasure;
- and
- performing error correction decoding on the codeword with the erasure in place for the selected bits.
Dependencies are inferred from the claim text.