Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system
First Claim
Patent Images
1. A data storage system, comprising:
- a non-volatile memory array comprising a plurality of memory pages; and
a controller coupled to the non-volatile memory array through a data channel, the controller being configured to;
use a first set of low-density parity-check (LDPC) coding parameters to encode at a first code rate first data to be stored into the non-volatile memory array through the data channel, wherein the first set of LDPC coding parameters define a characteristic of a first matrix used to encode the first data;
detect a change in a condition of the data channel; and
in response to said detecting, use a second set of LDPC coding parameters to encode at a second code rate different from the first code rate second data to be stored into the non-volatile memory array through the data channel,wherein the second set of LDPC coding parameters define a characteristic of a second matrix used to encode the second data and are different from the first set of LDPC coding parameters.
8 Assignments
0 Petitions
Accused Products
Abstract
A data storage system configured to adaptively code data and related methods are disclosed. In some embodiments of the present invention, a data storage system includes a controller and a non-volatile memory array having a plurality of memory pages. The controller includes a channel monitor that determines the quality of read signals from the pages when they are read, and provides adjustment metrics to aid in the selection of a code rate, such as a code rate for a low-density parity-check (LDPC) code. In this way, the code rate used for data encoding can be dynamically adjusted to accommodate degradation of the non-volatile memory array over its useable life.
188 Citations
33 Claims
-
1. A data storage system, comprising:
-
a non-volatile memory array comprising a plurality of memory pages; and a controller coupled to the non-volatile memory array through a data channel, the controller being configured to; use a first set of low-density parity-check (LDPC) coding parameters to encode at a first code rate first data to be stored into the non-volatile memory array through the data channel, wherein the first set of LDPC coding parameters define a characteristic of a first matrix used to encode the first data; detect a change in a condition of the data channel; and in response to said detecting, use a second set of LDPC coding parameters to encode at a second code rate different from the first code rate second data to be stored into the non-volatile memory array through the data channel, wherein the second set of LDPC coding parameters define a characteristic of a second matrix used to encode the second data and are different from the first set of LDPC coding parameters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 33)
-
-
17. A method for operating a data storage system comprising a non-volatile memory array comprising a plurality of memory pages, the non-volatile memory array accessible through a data channel, the method comprising:
-
using a first set of low-density parity-check (LDPC) coding parameters to encode at a first code rate first data to be stored into the non-volatile memory array through the data channel, wherein the first set of LDPC coding parameters define a characteristic of a first matrix used to encode the first data; detecting a change in a condition of the data channel; and in response to said detecting, using a second set of LDPC coding parameters to encode at a second code rate different from the first code rate second data to be stored into the non-volatile memory array through the data channel, wherein the second set of LDPC coding parameters define a characteristic of a second matrix used to encode the second data and are different from the first set of LDPC coding parameters. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification