Patent Document ID: 9859925
Application ID: 14785582
Patent Flag: 1

Claim One:
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.