Low-complexity flash memory data-encoding techniques using simplified belief propagation
First Claim
Patent Images
1. A method comprising:
- receiving a first binary vector comprising a first group of data, the first group of data being encoded and stored in a memory block of a single-level cell-type flash memory as a second group of data subject to a current state of single-level cell-type flash memory cells in the memory block of the single-level cell-type flash memory, the second group of data corresponding to the encoded first group of data, each element of the first group of data corresponding to a row of a matrix parity-check equation, each element of the second group of data corresponding to a single-level cell-type flash memory cell in the memory block of the single-level cell-type flash memory and each element of the second group of data comprising an unknown variable of the matrix parity-check equation, wherein each row of the matrix parity-check equation corresponding to a check node of the matrix parity-check equation and each unknown variable corresponding to a variable node of the matrix parity-check equation;
determining a marginal probability of each element of the second group of data for a first selected configuration of the second group of data;
determining a value of at least one element of the second group of data according to the determined marginal probability of each element of the second group of data; and
iteratively determining the marginal probability of each remaining undetermined element of the second group of data for subsequently selected configurations of the remaining undetermined elements of the second group of data, and determining a value of at least one remaining undetermined element of the second group of data until all elements of the second group of data have been determined,wherein solutions to the matrix parity-check equation are subject to a constraint that a value of an element of the second group of data is zero if the current state of a corresponding single-level cell-type flash memory cell in the memory block is zero.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies and implementations for encoding and storing data in a solid-state memory device with a reduced number of erasures using a simplified belief-propagation algorithm that includes a set of message-calculation rules that have a low computational complexity are generally disclosed. Additionally, technologies and implementations for decoding data and for error correction are generally disclosed.
-
Citations
21 Claims
-
1. A method comprising:
-
receiving a first binary vector comprising a first group of data, the first group of data being encoded and stored in a memory block of a single-level cell-type flash memory as a second group of data subject to a current state of single-level cell-type flash memory cells in the memory block of the single-level cell-type flash memory, the second group of data corresponding to the encoded first group of data, each element of the first group of data corresponding to a row of a matrix parity-check equation, each element of the second group of data corresponding to a single-level cell-type flash memory cell in the memory block of the single-level cell-type flash memory and each element of the second group of data comprising an unknown variable of the matrix parity-check equation, wherein each row of the matrix parity-check equation corresponding to a check node of the matrix parity-check equation and each unknown variable corresponding to a variable node of the matrix parity-check equation; determining a marginal probability of each element of the second group of data for a first selected configuration of the second group of data; determining a value of at least one element of the second group of data according to the determined marginal probability of each element of the second group of data; and iteratively determining the marginal probability of each remaining undetermined element of the second group of data for subsequently selected configurations of the remaining undetermined elements of the second group of data, and determining a value of at least one remaining undetermined element of the second group of data until all elements of the second group of data have been determined, wherein solutions to the matrix parity-check equation are subject to a constraint that a value of an element of the second group of data is zero if the current state of a corresponding single-level cell-type flash memory cell in the memory block is zero. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A machine-readable non-transitory medium having stored therein instructions that, when executed by one or more processors, operatively enable a data encoding module to:
-
receive a first binary vector comprising a first group of data, the first group of data being encoded and stored in a memory block of a single-level cell-type flash memory as a second group of data subject to a current state of single-level cell-type flash memory cells in the memory block of the single-level cell-type flash memory, the second group of data corresponding to the encoded first group of data, each element of the first group of data corresponding to a row of a matrix parity-check equation, each element of the second group of data corresponding to a single-level cell-type flash memory cell in the memory block of the flash memory and each element of the second group of data comprising an unknown variable of the matrix parity-check equation, wherein each row of the matrix parity-check equation corresponding to a check node of the matrix parity-check equation and each unknown variable corresponding to a variable node of the matrix parity-check equation; determine a marginal probability of each element of the second group of data for a first selected configuration of the second group of data; determine a value of at least one element of the second group of data according to the determined marginal probability of each element of the second group of data; and iteratively determine the marginal probability of each remaining undetermined element of the second group of data for subsequently selected configurations of the remaining undetermined elements of the second group of data, and determine a value of at least one remaining undetermined element of the second group of data until all elements of the second group of data have been determined, wherein solutions to the matrix parity-check equation are subject to a constraint that a value of an element of the second group of data is zero if the current state of a corresponding single-level cell-type flash memory cell in the memory block is zero. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a module configured to encode data; a machine-readable non-transitory medium having stored therein instructions that, when executed by one or more processors, operatively enable the module to; receive a first binary vector comprising a first group of data, the first group of data being encoded and stored in a memory block of a single-level cell-type flash memory as a second group of data subject to a current state of single-level cell-type flash memory cells in the memory block of the single-level cell-type flash memory, the second group of data corresponding to the encoded first group of data, each element of the first group of data corresponding to a row of a matrix parity-check equation, each element of the second group of data corresponding to a single-level cell-type flash memory cell in the memory block of the single-level cell-type flash memory and each element of the second group of data comprising an unknown variable of the matrix parity-check equation, wherein each row of the matrix parity-check equation corresponding to a check node of the matrix parity-check equation and each unknown variable corresponding to a variable node of the matrix parity-check equation; determine a marginal probability of each element of the second group of data for a first selected configuration of the second group of data; determine a value of at least one element of the second group of data according to the determined marginal probability of each element of the second group of data; and iteratively determine the marginal probability of each remaining undetermined element of the second group of data for subsequently selected configurations of the remaining undetermined elements of the second group of data, and determine a value of at least one remaining undetermined element of the second group of data until all elements of the second group of data have been determined, wherein solutions to the matrix parity-check equation are subject to a constraint that a value of an element of the second group of data is zero if the current state of a corresponding single-level cell-type flash memory cell in the memory block is zero. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification