Advanced ultra low power error correcting code encoders and decoders
AssigneeWestern Digital Technologies, Inc.
InventorsOfir Pele, Stella Achtenberg, Ran Zamir, Omer Fainzilber
Life of this patent
Estimating the term…
Abstract
Advanced ultra-low power error correcting codes are generated using soft quantization and lattice interpolation based on clock and Syndrome Weight. Reinforcement learning may be used to generate threshold values for flipping bits for low density parity check Ultra-Low Power error correction codes. The threshold values can be generated offline and downloaded to a storage device or generated while the storage device is in use.
Claims20
A method for generating a plurality of threshold values used by an Ultra-Low Power (ULP) Low Density Parity Check (LDPC) decoder, comprising:
- conducting a plurality of simulations for decoding stored data;
- for each simulation of the plurality of simulations:
- determining a Syndrome Weight (SW) for a current pass of the simulation;
- performing lattice interpolations for a plurality of SW values on a subset of lattice points of a plurality of lattice points, the subset of lattice points adjacent to the SW for the current pass of the simulation;
- and
- generating a plurality of threshold values for the plurality of lattice points based, at least in part, on a plurality of distances between the subset of lattice points and the SW for the current pass of the simulation;
- and
- storing a table of the plurality of threshold values.
A storage device, comprising:
- a non-volatile memory device including a plurality of memory cells;
- and
- a controller communicatively coupled to the non-volatile memory device, the controller including an Ultra-Low Power (ULP) Low Density Parity Check (LDPC) decoder and configured to:
- decode data stored in the plurality of memory cells;
- and
- based on determining that the data stored in the plurality of memory cells includes an error, perform error correction code (ECC) decoding on the data using a table of threshold values, the table of threshold values identifying which data bits and corresponding error code bits of the data stored in the plurality of memory cells to flip, the table of threshold values being generated, based at least in part, on:
- a plurality of distances between a subset of lattice points of a plurality of lattice points and a determined Syndrome Weight (SW) associated with a pass of a simulation of a plurality of simulations in which sample data was decoded;
- and
- determined lattice interpolations for a plurality of SW values on the subset of lattice points of the plurality of lattice points associated with the pass of the simulation of the plurality of simulations in which the sample data was decoded.
A method for generating a plurality of threshold values used by an Ultra-Low Power (ULP) Low Density Parity Check (LDPC) decoder, comprising:
- conducting a plurality of simulations using reinforcement learning to train a model for decoding stored data;
- for each simulation of the plurality of simulations:
- determining a Syndrome Weight (SW) for a current pass of the simulation;
- performing lattice interpolations for a plurality of SW values on a subset of lattice points adjacent to the SW for the current pass of the simulation;
- and
- generating a plurality of threshold values for a plurality of lattice points based, at least in part, on a plurality of distances between the subset of lattice points and the SW for the current pass of the simulation;
- storing a table of the plurality of threshold values;
- and
- updating the model using the plurality of threshold values.
Dependencies are inferred from the claim text.