Content aware bit flipping decoder
AssigneeWestern Digital Technologies, Inc.
InventorsOmer Fainzilber, David Avraham, Ran Zamir
Life of this patent
Estimating the term…
Abstract
Examples described herein relate generally to content aware bit flipping decoders. An example device includes a decoder. The decoder is configured to: process one or more flip thresholds based on statistics of data to be decoded; and perform a bit flipping algorithm on the data using the one or more processed flip thresholds. Other examples relate to methods of processing one or more flip thresholds based on statistics of data to be decoded and performing a bit flipping algorithm on the data using the one or more processed flip thresholds.
Claims20
A device, comprising:
- a decoder configured to:
- process one or more flip thresholds based on statistics of data to be decoded, wherein processing the one or more flip thresholds comprises adjusting the one or more flip thresholds based on the statistics of the data to be decoded, wherein the adjusting comprises increasing the one or more flip thresholds when the statistics indicate that a bit value at the bit location is more likely to be correct with a degree of confidence and decreasing the one or more flip thresholds when the statistics indicate that the bit value is more likely to be incorrect with a degree of confidence;
- and
- perform a bit flipping algorithm on the data using the one or more processed flip thresholds.
A device, comprising:
- a decoder configured to:
- process one or more flip thresholds based on statistics of data to be decoded, wherein the statistics include probability difference metrics, each probability difference metric of the probability difference metrics being based on two probabilities corresponding to respective bit-difference values, each of the two probabilities being a probability that a given K-bit tuple in the data has a respective value, the respective bit-difference values of the two probabilities being represented by a K-bit tuple having same respective values for corresponding (K−1) bit locations and having different values for one bit location;
- and
- perform a bit flipping algorithm on the data using the one or more processed flip thresholds.
A device, comprising:
- a decoder configured to:
- process one or more flip thresholds based on statistics of data to be decoded;
- perform a bit flipping algorithm on the data using the one or more processed flip thresholds;
- increase a respective flip threshold corresponding to a bit location of a K-bit tuple when the statistics indicate that a bit value at the bit location is more likely to be correct with a degree of confidence;
- and
- decrease the respective flip threshold when the statistics indicate that the bit value is more likely to be incorrect with a degree of confidence.
A device, comprising:
- a decoder configured to:
- obtain data;
- determine statistics of the data;
- adjust one or more flip thresholds based on the data statistics, wherein the adjusting comprises increasing the one or more flip thresholds when the statistics indicate that a bit value at the bit location is more likely to be correct with a degree of confidence and decreasing the one or more flip thresholds when the statistics indicate that the bit value is more likely to be incorrect with a degree of confidence;
- perform check equations on the data;
- and
- flip one or more bit values of the data based on the one or more flip thresholds and results of the check equations.
A device, comprising:
- a decoder configured to:
- obtain data;
- determine statistics of the data;
- adjust one or more flip thresholds based on the data statistics;
- perform check equations on the data;
- flip one or more bit values of the data based on the one or more flip thresholds and results of the check equations;
- generate a histogram including bins, each bin of the bins corresponding to a respective bin value represented by K-bits, each bin of the bins having a number of instances in the data where K-bit tuples have the respective bin value;
- determine, for each bin value, a probability that a given K-bit tuple in the data has the respective bin value based on the histogram;
- and
- generate probability difference metrics, each probability difference metric of the probability difference metrics being based on a respective two of the probabilities corresponding to respective bit-difference values, the respective bit-difference values being represented by a K-bit tuple having same respective values for corresponding (K−1) bit locations and having different values for one bit location, wherein adjusting the one or more flip thresholds is based on the probability difference metrics.
A device, comprising:
- a decoder configured to:
- obtain data;
- determine statistics of the data;
- adjust one or more flip thresholds based on the data statistics;
- perform check equations on the data;
- and
- flip one or more bit values of the data based on the one or more flip thresholds and results of the check equations, wherein the decoder is further configured to, for a bit location of a K-bit tuple of the data:
- determine whether the statistics indicate that a bit value of the respective bit location is more likely to be correct or erroneous with a degree of confidence;
- and
- adjust the respective flip threshold corresponding to the respective bit location when the statistics indicate that the bit value is more likely to be correct or erroneous with the degree of confidence.
A device, comprising:
- a decoder configured to:
- obtain data;
- determine statistics of the data;
- adjust one or more flip thresholds based on the data statistics;
- perform check equations on the data;
- and
- flip one or more bit values of the data based on the one or more flip thresholds and results of the check equations, wherein the decoder is further configured to, for a bit location of a K-bit tuple of the data:
- determine whether the statistics indicate that a probability that a bit value of the respective bit location is ‘1’ exceeds a first confidence threshold;
- determine whether the statistics indicate that the probability that the bit value is ‘0’ exceeds a second confidence threshold;
- increase the respective flip threshold corresponding to the respective bit location when (i) the statistics indicate that the probability that the bit value is ‘1’ exceeds the first confidence threshold and the bit value is ‘1’, or (ii) the statistics indicate that the probability that the bit value is ‘0’ exceeds the second confidence threshold and the bit value is ‘0’;
- and
- decrease the respective flip threshold when (i) the statistics indicate that the probability that the bit value is ‘1’ exceeds the first confidence threshold and the bit value is ‘0’, or (ii) the statistics indicate that the probability that the bit value is ‘0’ exceeds the second confidence threshold and the bit value is ‘1’.
A device, comprising:
- means for obtaining data;
- means for generating statistics of the data;
- means for processing one or more flip thresholds based on the data statistics, wherein the means for processing the one or more flip thresholds comprises adjusting the one or more flip thresholds based on the data statistics, wherein the adjusting comprises increasing the one or more flip thresholds when the statistics indicate that a bit value at the bit location is more likely to be correct with a degree of confidence and decreasing the one or more flip thresholds when the statistics indicate that the bit value is more likely to be incorrect with a degree of confidence;
- and
- means for performing a bit flipping algorithm on the data based on the processed one or more flip thresholds.
Dependencies are inferred from the claim text.