Storage and retrieval of shaped data
AssigneeSanDisk Technologies LLC
InventorsERAN SHARON, IDAN ALROD, OMER FAINZILBER, ARIEL NAVON
Life of this patent
Estimating the term…
Abstract
Systems and methods of encoding and decoding shaped data include determining a bit representation corresponding to a bit in a representation of a codeword that is read from a non-volatile memory of a data storage device. A soft metric corresponding to the bit representation is determined at least partially based on an amount of shaping of data.
Claims63
A method comprising:
- in a data storage device including a non-volatile memory, performing:
- receiving a representation of a codeword that is read from the non-volatile memory;
- determining a shaping level of a set of one or more bits of the representation of the codeword;
- determining a soft metric of each bit of the one or more bits of the representation of the codeword based on a value of the bit in the received representation and based on the shaping level;
- and
- initiating a decoding operation of the codeword based on the soft metrics.
A data storage device comprising:
- a non-volatile memory;
- and
- a controller configured to:
- read a representation of a codeword from the non-volatile memory;
- determine a shaping level of a set of one or more bits of the representation of the codeword;
- determine a soft metric of each bit of the one or more bits of the representation of the codeword based on a value of the bit in the received representation and based on the shaping level;
- and
- initiate a decoding operation of the codeword based on the soft metrics.
A method comprising:
- in a data storage device including a non-volatile memory, performing:
- determining an amount of shaping of data to be written to the non-volatile memory;
- selecting at least one programming parameter at least partially based on the amount of shaping;
- and
- programming the data to the non-volatile memory according to the at least one selected programming parameter.
A data storage device comprising:
- a non-volatile memory;
- and
- a controller configured to:
- determine an amount of shaping of bit values in data to be written to the non-volatile memory;
- select at least one programming parameter at least partially based on the amount of shaping;
- and
- program the data to the non-volatile memory according to the selected programming parameter.
A method comprising:
- in a data storage device including a controller and a flash memory, performing:
- shaping data to be stored to the flash memory to generate shaped data;
- encoding the shaped data to generate encoded shaped data;
- scrambling the encoded shaped data to generate scrambled data;
- and
- programming the scrambled data into the flash memory.
A data storage device comprising:
- a flash memory;
- and
- a controller configured to:
- shape data to be stored to the flash memory to generate shaped data;
- encode the shaped data to generate encoded shaped data;
- and
- program scrambled data into the flash memory,
- wherein the encoded shaped data is scrambled to generate the scrambled data.
A method comprising:
- in a data storage device including a controller and a non-volatile memory, performing:
- descrambling scrambled data that is read from the non-volatile memory to generate a representation of a codeword;
- determining a shaping level of the representation of the codeword;
- and
- determining a soft metric for decoding based on the representation of the codeword and based on the shaping level.
A data storage device comprising:
- a non-volatile memory;
- and
- a controller configured to:
- descramble scrambled data that is read from the non-volatile memory to generate a representation of a codeword;
- determine a shaping level of the representation of the codeword;
- and
- determine a soft metric for decoding based on the representation of the codeword and based on the shaping level.
A method comprising:
- in a data storage device including a controller and a non-volatile memory, performing:
- determining an amount of shaping of data, the data to be stored in the non-volatile memory;
- scrambling the data prior to storing the data in the non-volatile memory in response to the amount of shaping being less than a threshold;
- and
- storing the data in the non-volatile memory as unscrambled data in response to the amount of shaping satisfying the threshold.
A data storage device comprising:
- a non-volatile memory;
- and
- a controller configured to:
- determine an amount of shaping of data, the data to be stored in the non-volatile memory;
- set an indicator to have a first value to cause scrambling of the data prior to storing the data in the non-volatile memory in response to the amount of shaping being less than a threshold;
- and
- set the indicator to have a second value to cause the data to be stored in the non-volatile memory as unscrambled data in response to the amount of shaping satisfying the threshold.
A method comprising:
- in a data storage device including a non-volatile memory, performing:
- determining a bit representation corresponding to a bit in a representation of a codeword that is read from the non-volatile memory;
- determining a soft metric corresponding to the bit representation, wherein the soft metric is at least partially based on an amount of shaping of data stored in the non-volatile memory;
- and
- initiating a decoding operation of the soft metric.
A data storage device comprising:
- a non-volatile memory;
- and
- a controller configured to:
- determine a bit representation corresponding to a bit in a representation of a codeword that is read from the non-volatile memory;
- determine a soft metric corresponding to the bit representation, wherein the soft metric is at least partially based on an amount of shaping of data stored in the non-volatile memory;
- and
- initiate a decoding operation of the soft metric.
A data storage device comprising:
- a non-volatile memory;
- and
- a controller configured to:
- determine an amount of shaping of bit values in data to be written to the non-volatile memory;
- select a storage location of the data within the non-volatile memory at least partially based on the amount of shaping;
- and
- program the data to the selected storage location within the non-volatile memory.
A method comprising:
- in a data storage device including a non-volatile memory, performing:
- determining an amount of shaping of bit values in data to be written to the non-volatile memory;
- selecting a storage location of the data within the non-volatile memory at least partially based on the amount of shaping;
- and
- programming the data to the selected storage location within the non-volatile memory.
Dependencies are inferred from the claim text.