Method, memory controller and system for reading data stored in flash memory
AssigneeSilicon Motion, Inc.
InventorTsung-Chieh Yang
Life of this patent
Estimating the term…
Abstract
An exemplary method for reading data stored in a flash memory. The method includes: controlling the flash memory to perform a read operation upon a first page of the flash memory; obtaining a first codeword of the first page; obtaining a first set of log-likelihood ratio (LLR) mapping values of the first codeword according to a first LLR mapping rule; performing an error correction operation according to the first set of LLR mapping values; obtaining a second set of LLR values of the first codeword according to a second LLR mapping rule, if the error correction operation performed according to the first set of LLR mapping values indicates an uncorrectable result; and performing the error correction operation according to the second set of LLR mapping values.
Claims11
A method for reading data stored in a flash memory, the method comprises:
- controlling the flash memory to perform a read operation upon a first page of the flash memory;
- obtaining a first codeword of the first page;
- obtaining a first set of log-likelihood ratio (LLR) mapping values of the first codeword according to a first LLR mapping rule;
- performing an error correction operation according to the first set of LLR mapping values;
- obtaining a second set of LLR values of the first codeword according to a second LLR mapping rule, if the error correction operation performed according to the first set of LLR mapping values indicates that a first sector of the first page is uncorrectable and a second sector neighboring to the first sector is correctable, wherein the second LLR mapping rule is obtained by gathering a statistics feature of a second codeword of the flash memory and correct data of the flash memory, a statistics feature of a part of the first codeword and correct data of the part of the first codeword, and a statistics feature of the second codeword of the second sector and the correct data of the second sector;
- and
- performing the error correction operation according to the second set of LLR mapping values.
A memory controller for reading data stored in a flash memory, the memory controller comprises:
- a control logic for controlling the flash memory to perform a read operation upon a first page of the flash memory and for obtaining a first codeword of the first page;
- a log-likelihood ratio (LLR) mapping unit, for obtaining a first set of LLR mapping values of the first codeword according to a first LLR mapping rule;
- a decoding circuit, for performing an error correction operation according to the first set of LLR mapping values;
- and
- a LLR training unit, for gathering a statistics feature of a second codeword of the flash memory and correct data of the flash memory, and a statistics feature of a part of the first codeword and correct data of the part of the first codeword to obtain a second LLR mapping rule,
- wherein the LLR mapping unit is further for obtaining a second set of LLR values of the first codeword according to the second LLR mapping rule, if the error correction operation performed according to the first set of LLR mapping values indicates that a first sector of the first page is uncorrectable and the second sector neighboring to the first sector is correctable, the LLR training unit is further for gathering a statistics feature of a second codeword of the second sector and correct data of the second sector to obtain the second LLR mapping rule, and the decoding circuit is further for performing the error correction operation according to the set of second LLR mapping values.
A memory system for reading data stored in a flash memory, the memory system comprises:
- a control logic for controlling the flash memory to perform a read operation upon a first page of the flash memory and for obtaining a first codeword of the first page;
- a log-likelihood ratio (LLR) mapping unit, for obtaining a first set of LLR mapping values of the first codeword according to a first LLR mapping rule;
- a decoding circuit, for performing an error correction operation according to the first set of LLR mapping values;
- a LLR training unit, for gathering a statistics feature of a second codeword of the flash memory and correct data of the flash memory, and a statistics feature of a part of the first codeword and correct data of the part of the first codeword to obtain a second LLR mapping rule,
- wherein the LLR mapping unit is further for obtaining a second set of LLR values of the first codeword according to the second LLR mapping rule, if the error correction operation performed according to the first set of LLR mapping values indicates that a first sector of the first page is uncorrectable and a second sector neighboring to the first sector is correctable, the LLR training unit is further for gathering a statistics feature of the second codeword of the second sector and correct data of the second sector to obtain the second LLR mapping rule, and the decoding circuit is further for performing the error correction operation according to the second set of LLR mapping values.
Dependencies are inferred from the claim text.