Patent ID: 11880588
Assignee: GYLICON LTD.
Field: Computer technology (Electrical engineering)
Classification: CPC G  H | IPC G

Claim 0:
1. A method for decoding, in a solid-state storage device, a read symbol encoded with a Q-ary LDPC (Low-Density-Parity-Check) code defined over a binary-extension Galois field GF(2r) and identified by a parity-check matrix associated with check nodes and variable nodes of a Tanner graph representing the parity-check matrix, wherein the read symbol is associated with 2r LLR(Log Likelihood Ratio) values each one denoting a symbol probability indicative that the read symbol was equal to a respective one among 2r possible symbols before being corrupted by channel noise effects, and wherein said decoding is based on a processing of a first matrix and a second matrix indicative of messages from check nodes to variable nodes and from variable nodes to check nodes, respectively, exchanged by means of a message passing computation rule, and of a third matrix providing a decoding attempt for the read symbol, the method comprising: (a) associating, with the read symbol, a plurality of mutually-different candidate symbols, wherein said plurality of candidate symbols comprise a predetermined number of the possible symbols for which the LLR values associated with the read symbol are indicative of highest symbol probabilities, the possible symbols other than the plurality of candidate symbols identifying excluded symbols; (b) storing said plurality of candidate symbols and the LLR values associated therewith in the second matrix and in the third matrix, the excluded symbols being excluded from storing; (c) based on said second matrix, performing a check node update procedure to update the first matrix; (d) performing a variable node update procedure by: (d1) determining an updating LLR value for each of the possible symbols associated with the read symbol, wherein said determining is based on the first, second and third matrices; (d2) determining, for the third matrix, an approximated LLR value for each excluded symbol associated with the read symbol, wherein said determining is based (i) on the LLR value, among the LLR values associated with the plurality of candidate symbols associated with the read symbol, indicative of the lowest symbol probability, and (ii) on an offset LLR value indicative of a distance relationship between the excluded symbol and the read symbol; (d3) updating the LLR values and the approximated LLR values of the third matrix with the respective LLR updating values, thereby obtaining respective updated LLR values; (d4) performing step (a) based on the updated LLR values; (d5) performing steps (d2), (d3) and (d4) for the second matrix; (d6) performing step (b) for both the second matrix and the third matrix based on the respective plurality of candidate symbols and the updated LLR values associated therewith, thereby obtaining an updated second matrix and an updated third matrix; (e) determining an outcome of the decoding attempt provided by the updated third matrix, and iterating steps (c) to (e) in case of a negative outcome of the decoding attempt.