Dynamically configurable low density parity check code
Input data is received for storage by a system. The input data is encoded using a low-density parity-check (LDPC) matrix to generate encoded data, wherein the LDPC matrix is selected from a plurality of LDPC matrices, each of the plurality of LDPC matrices having a common size and a unique degree distribution. The encoded data is then stored on a memory device of the system.
1 . A system comprising:
a memory device; and
a processing device, operatively coupled with the memory device, to perform operations comprising:
receiving input data for storage by the system;
encoding the input data using a low-density parity-check (LDPC) matrix to generate encoded data, wherein the LDPC matrix is selected from a plurality of LDPC matrices, each of the plurality of LDPC matrices having a common size and a unique degree distribution, wherein the degree distribution indicates at least one of a number of columns an LDPC matrix or a number of rows in the LDPC matrix having a particular weight; and
storing the encoded data on the memory device.
2 . The system of claim 1 , wherein the processing device is to perform operations comprising:
determining one or more use case parameters;
determining one or more physical device parameters; and
selecting the LDPC matrix from the plurality of LDPC matrices based on the one or more use case parameters and one or more physical device parameters.
3 . The system of claim 2 , wherein the one or more use case parameters comprise one or more of a desired code rate, a number of program-erase (PE) cycles, or an operating temperature.
4 . The system of claim 2 , wherein the one or more physical device parameters comprise one or more of a wordline identifier, a block identifier, a page type, a die lot number, a die wafer number, or an intra-wafer die location.
5 . The system of claim 2 , wherein determining the one or more physical devices parameters comprises operations further comprising:
determining an intended location on the memory device where the encoded data is to be stored; and
determining the one or more physical device parameters associated with the intended location.
6 . The system of claim 2 , wherein the processing device is to perform operations further comprising:
configuring an LDPC encoder to use the LDPC matrix to encode the input data.
7 . The system of claim 2 , wherein the LDPC matrix is selected from the plurality of LDPC matrices based on its corresponding degree distribution.
8 . The system of claim 7 , wherein the corresponding degree distribution of the LDPC matrix is selected to provide improved performance with respect to trigger rate or reliability for certain usage conditions.
9 . A method comprising:
receiving input data for storage by a system;
encoding the input data using a low-density parity-check (LDPC) matrix to generate encoded data, wherein the LDPC matrix is selected from a plurality of LDPC matrices, each of the plurality of LDPC matrices having a common size and a unique degree distribution, wherein the degree distribution indicates at least one of a number of columns an LDPC matrix or a number of rows in the LDPC matrix having a particular weight; and
storing the encoded data on a memory device of the system.
10 . The method of claim 9 comprising:
determining one or more use case parameters;
determining one or more physical device parameters; and
selecting the LDPC matrix from the plurality of LDPC matrices based on the one or more use case parameters and one or more physical device parameters.
11 . The method of claim 10 , wherein the one or more use case parameters comprise one or more of a desired code rate, a number of program-erase (PE) cycles, or an operating temperature.
12 . The method of claim 10 , wherein the one or more physical device parameters comprise one or more of a wordline identifier, a block identifier, a page type, a die lot number, a die wafer number, or an intra-wafer die location.
13 . The method of claim 10 , wherein determining the one or more physical devices parameters comprises:
determining an intended location on the memory device where the encoded data is to be stored; and
determining the one or more physical device parameters associated with the intended location.
14 . The method of claim 10 comprising:
configuring an LDPC encoder to use the LDPC matrix to encode the input data.
15 . The method of claim 14 , wherein the LDPC matrix is selected from the plurality of LDPC matrices based on its corresponding degree distribution.
16 . The method of claim 15 wherein the corresponding degree distribution of the LDPC matrix is selected to provide improved performance with respect to trigger rate or reliability for certain usage conditions.