Systems and methods of storing data
First Claim
1. A method of writing data, the method comprising:
- in a data storage device with a multi-level cell (MLC) memory, performing;
receiving data including a first group of bits and a second group of bits;
initiating a shaping encoding operation on the second group of bits to generate a third group of bits, wherein the third group of bits has more bits than the second group of bits, and wherein the shaping encoding operation is configured to produce a non-uniform probability distribution of bit values in the third group of bits;
storing the first group of bits and first error correction coding (ECC) parity bits corresponding to the first group of bits to a first logical page associated with a physical page of the MLC memory; and
storing the third group of bits and second ECC parity bits corresponding to the third group of bits to a second logical page associated with the physical page of the MLC memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of storing data includes receiving data including a first group of bits and a second group of bits and initiating a shaping encoding operation on the second group of bits to generate a third group of bits. The third group of bits has more bits than the second group of bits. The shaping encoding operation is configured to produce a non-uniform probability distribution of bit values in the third group of bits. The first group of bits and first error correction coding (ECC) parity bits corresponding to the first group of bits are stored to a first logical page that is within a physical page of a MLC memory and the third group of bits and second ECC parity bits corresponding to the third group of bits are stored to a second logical page that is within the physical page of the MLC memory.
-
Citations
25 Claims
-
1. A method of writing data, the method comprising:
in a data storage device with a multi-level cell (MLC) memory, performing; receiving data including a first group of bits and a second group of bits; initiating a shaping encoding operation on the second group of bits to generate a third group of bits, wherein the third group of bits has more bits than the second group of bits, and wherein the shaping encoding operation is configured to produce a non-uniform probability distribution of bit values in the third group of bits; storing the first group of bits and first error correction coding (ECC) parity bits corresponding to the first group of bits to a first logical page associated with a physical page of the MLC memory; and storing the third group of bits and second ECC parity bits corresponding to the third group of bits to a second logical page associated with the physical page of the MLC memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A method of reading data, the method comprising:
in a data storage device with a multi-level cell (MLC) memory, performing; reading a group of storage elements to retrieve a first representation of a first group of bits and first ECC parity bits at a first logical page associated with a physical page of the MLC memory and to retrieve a second representation of a third group of bits and second ECC parity bits at a second logical page associated with the physical page of the MLC memory; initiating a first ECC decode operation of the first representation to recover the first group of bits; initiating a second ECC decode operation of the second representation to recover the third group of bits; and initiating a shaping decoding operation on the third group of bits to generate a second group of bits, wherein the third group of bits has more bits than the second group of bits, and wherein the shaping decoding operation is configured to produce a uniform probability distribution of bit values in the second group of bits. - View Dependent Claims (10, 11, 12, 13)
-
14. A data storage device comprising:
-
a multi-level cell (MLC) memory; and a controller configured to; receive data including a first group of bits and a second group of bits, perform a shaping encoding operation on the second group of bits to generate a third group of bits, wherein a third group of bits has more bits than the second group of bits, and wherein the shaping encoding operation is configured to produce a non-uniform probability distribution of bit values in the third group of bits, send the first group of bits and first error correction coding (ECC) parity bits corresponding to the first group of bits to the MLC memory to be stored at a first logical page associated with a physical page of the MLC memory, and send the third group of bits and second ECC parity bits corresponding to the third group of bits to the MLC memory to be stored at a second logical page associated with the physical page of the MLC memory. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A data storage device comprising:
-
a multi-level cell (MLC) memory; and a controller configured to; retrieve a first representation of a first group of bits and first ECC parity bits from a first logical page associated with a physical page of the MLC memory, retrieve a second representation of a third group of bits and second ECC parity bits from a second logical page associated with the physical page of the MLC memory, initiate a first ECC decode operation of the first representation to recover the first group of bits, initiate a second ECC decode operation of the second representation to recover the third group of bits, and initiate a shaping decoding operation on the third group of bits to generate a second group of bits, wherein the third group of bits has more bits than the second group of bits, and wherein the shaping decoding operation is configured to produce a uniform probability distribution of bit values in the second group of bits. - View Dependent Claims (22, 23, 24, 25)
-
Specification