Log-likelihood ratio mapping tables in flash storage systems
AssigneeBeijing Tenafe Electronic Technology Co., Ltd.
InventorYingquan Wu
Life of this patent
Estimating the term…
Abstract
Read data associated with Flash storage that is in a Flash storage state is received. One of a plurality of log-likelihood ratio (LLR) mapping tables is selected based at least in part on: (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder. A set of one or more LLR values is generated using the read data and the selected LLR mapping table, where each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder. The finite-precision LDPC decoder generates the error-corrected read data using the set of LLR values and outputs it.
Claims19
A system, comprising:
- (A) a log-likelihood ratio (LLR) mapping block, wherein:
- (I) the LLR mapping block receives read data associated with Flash storage that is in a Flash storage state that includes one or more of the following:
- a low signal-to-noise ratio (SNR) state or a high SNR state;
- (II) the LLR mapping block selects one of a plurality of log-likelihood ratio (LLR) mapping tables based at least in part on:
- (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder, wherein selecting one of the plurality of LLR mapping tables includes determining the Flash storage state based at least in part on one or more of the following:
- a temperature of the Flash storage, a number of program or erase cycles associated with the Flash storage, or failure state information associated with the finite-precision LDPC decoder;
- and
- (III) the LLR mapping block generates a set of one or more LLR values using the read data and the selected LLR mapping table, wherein each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder;
- and
- (B) the finite-precision LDPC decoder having the same finite precision as the set of LLR values, wherein:
- (I) the finite-precision LDPC decoder generates error-corrected read data using the set of LLR values;
- and
- (II) the finite-precision LDPC decoder outputs the error-corrected read data.
A system, comprising:
- (A) a log-likelihood ratio (LLR) mapping block, wherein:
- (I) the LLR mapping block receives read data associated with Flash storage that is in a Flash storage state that includes one or more of the following:
- a low signal-to-noise ratio (SNR) state or a high SNR state;
- (II) the LLR mapping block selects one of a plurality of log-likelihood ratio (LLR) mapping tables based at least in part on:
- (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder, wherein selecting one of the plurality of LLR mapping tables includes:
- in the event the Flash storage state is the high SNR state, selecting a first LLR mapping table, in a predefined selection sequence associated with the plurality of LLR mapping tables, to be an initial table;
- and
- in the event the Flash storage state is the low SNR state, selecting a second LLR mapping table, after the first LLR mapping table in the predefined selection sequence associated with the plurality of LLR mapping tables, to be the initial table;
- and
- (III) the LLR mapping block generates a set of one or more LLR values using the read data and the selected LLR mapping table, wherein each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder;
- and
- (B) the finite-precision LDPC decoder having the same finite precision as the set of LLR values, wherein:
- (I) the finite-precision LDPC decoder generates error-corrected read data using the set of LLR values;
- and
- (II) the finite-precision LDPC decoder outputs the error-corrected read data.
A system, comprising:
- (A) a log-likelihood ratio (LLR) mapping block, wherein:
- (I) the LLR mapping block receives read data associated with Flash storage that is in a Flash storage state;
- (II) the LLR mapping block selects one of a plurality of log-likelihood ratio (LLR) mapping tables based at least in part on:
- (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder, wherein selecting one of the plurality of LLR mapping tables includes:
- determining whether all hard-input LLR mapping tables in the plurality of LLR mapping tables have already been selected;
- in the event it is determined that all the hard-input LLR mapping tables in the plurality of LLR mapping tables have already been selected, selecting an unselected, soft-input LLR mapping table from the plurality of LLR mapping tables to be the selected LLR mapping table;
- and
- in the event it is determined that all the hard-input LLR mapping tables in the plurality of LLR mapping tables have not already been selected, selecting an unselected, hard-input LLR mapping table from the plurality of LLR mapping tables to be the selected LLR mapping table;
- and
- (III) the LLR mapping block generates a set of one or more LLR values using the read data and the selected LLR mapping table, wherein each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder;
- and
- (B) the finite-precision LDPC decoder having the same finite precision as the set of LLR values, wherein:
- (I) the finite-precision LDPC decoder generates error-corrected read data using the set of LLR values;
- and
- (II) the finite-precision LDPC decoder outputs the error-corrected read data.
A method, comprising:
- (A) receiving, at a log-likelihood ratio (LLR) mapping block, read data associated with Flash storage that is in a Flash storage state that includes one or more of the following:
- a low signal-to-noise ratio (SNR) state or a high SNR state;
- (B) selecting, at the LLR mapping block, one of a plurality of log-likelihood ratio (LLR) mapping tables based at least in part on:
- (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder, wherein selecting one of the plurality of LLR mapping tables includes determining the Flash storage state based at least in part on one or more of the following:
- a temperature of the Flash storage, a number of program or erase cycles associated with the Flash storage, or failure state information associated with the finite-precision LDPC decoder;
- (C) generating a set of one or more LLR values using the read data and the selected LLR mapping table, wherein each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder;
- (D) generating, at the finite-precision LDPC decoder, error-corrected read data using the set of LLR values;
- and
- (E) outputting, by the finite-precision LDPC decoder, the error-corrected read data.
A method, comprising:
- (A) receiving, at a log-likelihood ratio (LLR) mapping block, read data associated with Flash storage that is in a Flash storage state that includes one or more of the following:
- a low signal-to-noise ratio (SNR) state or a high SNR state;
- (B) selecting, at the LLR mapping block, one of a plurality of log-likelihood ratio (LLR) mapping tables based at least in part on:
- (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder, wherein selecting one of the plurality of LLR mapping tables includes:
- in the event the Flash storage state is the high SNR state, selecting a first LLR mapping table, in a predefined selection sequence associated with the plurality of LLR mapping tables, to be an initial table;
- and
- in the event the Flash storage state is the low SNR state, selecting a second LLR mapping table, after the first LLR mapping table in the predefined selection sequence associated with the plurality of LLR mapping tables, to be the initial table;
- (C) generating a set of one or more LLR values using the read data and the selected LLR mapping table, wherein each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder;
- (D) generating, at the finite-precision LDPC decoder, error-corrected read data using the set of LLR values;
- and
- (E) outputting, by the finite-precision LDPC decoder, the error-corrected read data.
A method, comprising:
- (A) receiving, at a log-likelihood ratio (LLR) mapping block, read data associated with Flash storage that is in a Flash storage state;
- (B) selecting, at the LLR mapping block, one of a plurality of log-likelihood ratio (LLR) mapping tables based at least in part on:
- (1) the Flash storage state and (2) a decoding attempt count associated with a finite-precision low-density parity-check (LDPC) decoder, wherein selecting one of the plurality of LLR mapping tables includes:
- determining whether all hard-input LLR mapping tables in the plurality of LLR mapping tables have already been selected;
- in the event it is determined that all the hard-input LLR mapping tables in the plurality of LLR mapping tables have already been selected, selecting an unselected, soft-input LLR mapping table from the plurality of LLR mapping tables to be the selected LLR mapping table;
- and
- in the event it is determined that all the hard-input LLR mapping tables in the plurality of LLR mapping tables have not already been selected, selecting an unselected, hard-input LLR mapping table from the plurality of LLR mapping tables to be the selected LLR mapping table;
- (C) generating a set of one or more LLR values using the read data and the selected LLR mapping table, wherein each LLR value in the set of LLR values has a same finite precision as the finite-precision LDPC decoder;
- (D) generating, at the finite-precision LDPC decoder, error-corrected read data using the set of LLR values;
- and
- (E) outputting, by the finite-precision LDPC decoder, the error-corrected read data.
Dependencies are inferred from the claim text.