Iterative decoder performance prediction using machine learning
AssigneeWestern Digital Technologies, Inc.
InventorsRan Zamir, David Avraham, Eran Sharon
Life of this patent
Estimating the term…
Abstract
An illustrative embodiment of this disclosure is an apparatus, including a memory, a processor in communication with the memory, and a decoder. The processor is configured to train a classifier, calculate one or more features of a codeword, predict an outcome of decoding the codeword with the decoder, and determine, using the classifier, whether the outcome satisfies a predetermined threshold. In some embodiments, based on the outcome, the processor selects a set of decoder parameters to improve decoder performance.
Claims20
An apparatus, comprising:
- a non-volatile memory configured to store one or more codewords;
- and
- a processor in communication with the memory and configured to read codewords from the memory, the processor configured to:
- train a classifier, wherein, to train the classifier, the processor is further configured to:
- measure a first outcome of decoding a plurality of training codewords;
- calculate one or more features of the plurality of training codewords based on a plurality of weights;
- calculate a second outcome of decoding the plurality of training codewords based on the one or more features;
- determine whether the second outcome of decoding the plurality of training codewords is within a predetermined range of the first outcome of decoding the plurality of training codewords;
- and
- adjust the plurality of weights if the second outcome of decoding the plurality of training codewords is not within the predetermined range of the first outcome of decoding the plurality of training codewords;
- read a codeword from the memory;
- calculate one or more features of the read codeword;
- predict an outcome of decoding the read codeword using the calculated one or more features of the read codeword;
- and
- determine, using the trained classifier, whether the predicted outcome of decoding the read codeword satisfies a predetermined threshold.
A method, comprising:
- training, by a processor, a classifier by:
- measuring a first outcome of decoding a plurality of training codewords,
- calculating one or more features of the plurality of training codewords based on a plurality of weights,
- calculating a second outcome of decoding the plurality of training codewords based on the one or more features,
- determining whether the second outcome of decoding the plurality of training codewords is within a predetermined range of the first outcome of decoding the plurality of training codewords, and
- adjusting the plurality of weights if the second outcome of decoding the plurality of training codewords is not within the predetermined range of the first outcome of decoding the plurality of training codewords;
- reading, by the processor, a codeword from a memory;
- calculating, by the processor, one or more features of the read codeword;
- predicting, by the processor, an outcome of decoding the read codeword;
- and
- determining, by the processor and using the trained classifier, whether the outcome of decoding the read codeword satisfies a predetermined threshold.
An apparatus, comprising:
- a memory configured to store a plurality of codewords;
- and
- processing means in communication with the memory, wherein the processing means includes:
- means for training a classifier by:
- measuring a first outcome of decoding a plurality of training codewords;
- calculating one or more features of the plurality of training codewords based on a plurality of weights;
- calculating a second outcome of decoding the plurality of training codewords based on the one or more features;
- determining whether the second outcome of decoding the plurality of training codewords is within a predetermined range of the first outcome of decoding the plurality of training codewords;
- and adjusting, by the processor, the plurality of weights if the second outcome of decoding the plurality of training codewords is not within the predetermined range of the first outcome of decoding the plurality of training codewords;
- means for reading a codeword stored in the memory;
- means for calculating one or more features of the read codeword;
- means for predicting an outcome of decoding the read codeword;
- means for determining whether the predicted outcome of decoding the read codeword satisfies a predetermined threshold;
- and
- means for selecting decoder parameters to alter the outcome of decoding the read codeword.
Dependencies are inferred from the claim text.