US 11,750,221 B1
Encoding and decoding of data using generalized LDPC codes
Ariel Doubchak, Herzliya (IL); Avner Dor, Kfar Saba (IL); Yaron Shany, Kfar Saba (IL); Tal Philosof, Givatayim (IL); Yoav Shereshevski, Tel-Aviv (IL); and Amit Berman, Binyamina (IL)
Assigned to SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR)
Filed by SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR)
Filed on Mar. 28, 2022, as Appl. No. 17/706,179.
Int. Cl. G06F 11/00 (2006.01); G06F 11/30 (2006.01); G08C 25/00 (2006.01); H03M 13/00 (2006.01); H04L 1/00 (2006.01); H03M 13/11 (2006.01)
CPC H03M 13/1174 (2013.01) [H03M 13/1108 (2013.01); H03M 13/616 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of processing a request by a host to access data stored in a memory device, the method comprising:
reading data from the memory device in response to the request;
applying an iterative decoder to the read data;
upon determining that the iterative decoder is oscillating,
determining a total number of rows in first data the decoder attempted to correct;
estimating first visible error rows among the total number that continue to have an error after the attempt;
estimating residual error rows among the total number that no longer have an error after the attempt;
determining second visible error rows in second data of the decoder that continue to have an error by permuting indices of the residual error rows according to a permutation;
determining whether zero or more first hidden error rows are present in the first data from the second visible error rows, where each hidden error row has an error and is a valid Hamming codeword;
correcting the first data using the first visible error rows and the determined number of first hidden error rows; and
outputting the corrected data to the host.