Storage and retrieval of shaped data
First Claim
Patent Images
1. 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.
2 Assignments
0 Petitions
Accused Products
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.
27 Citations
63 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. 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 representation of the codeword and based on the shaping level; and initiate a decoding operation of the codeword based on the soft metrics. - View Dependent Claims (14, 15, 16)
-
-
17. A method comprising:
in a data storage device including a non-volatile memory, performing; determining a shaping level of data to be written to the non-volatile memory; selecting at least one programming parameter at least partially based on the shaping level; and programming the data to the non-volatile memory according to the at least one selected programming parameter. - View Dependent Claims (18, 19, 20, 21, 22)
-
23. A data storage device comprising:
-
a non-volatile memory; and a controller configured to; determine a shaping level 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 shaping level; and program the data to the non-volatile memory according to the at least one selected programming parameter. - View Dependent Claims (24, 25, 26)
-
-
27. 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. - View Dependent Claims (28, 29, 30, 31, 32)
-
33. 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. - View Dependent Claims (34, 35)
-
-
36. A method comprising:
in a data storage device including a controller and a non-volatile memory, performing; determining a shaping level of 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 shaping level being less than a threshold; and storing the data in the non-volatile memory as unscrambled data in response to the shaping level satisfying the threshold.
-
37. A data storage device comprising:
-
a non-volatile memory; and a controller configured to; determine a shaping level of 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 shaping level 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 shaping level satisfying the threshold.
-
-
38. 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 a shaping level of data stored in the non-volatile memory; and initiating a decoding operation of the soft metric. - View Dependent Claims (39, 40)
-
41. A data storage device comprising:
-
a non-volatile memory; and a controller configured to; determine a hit 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 a shaping level of data stored in the non-volatile memory; and initiate a decoding operation of the soft metric.
-
-
42. A data storage device comprising:
-
a non-volatile memory; and a controller configured to; determine a shaping level 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 shaping level; and program the data to the selected storage location within the non-volatile memory. - View Dependent Claims (43, 44)
-
-
45. A method comprising:
in a data storage device including a non-volatile memory, performing; determining a shaping level 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 shaping level; and programming the data to the selected storage location within the non-volatile memory.
-
46. 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; programming the scrambled data into the flash memory; reading the scrambled data from the flash memory; descrambling the scrambled data that is read from the flash 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. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54)
-
55. 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; program scrambled data into the flash memory, wherein the encoded shaped data is scrambled to generate the scrambled data; read the scrambled data from the flash memory; descramble scrambled data that is read from the flash 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. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63)
-
Specification