US 12,413,252 B2
Fast combined chase and GMD decoding of generalized Reed-Solomon codes
Yaron Shany, Kfar Saba (IL); Ariel Doubchak, Herzliya (IL); Idan Dekel, 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 Dec. 26, 2023, as Appl. No. 18/396,102.
Prior Publication US 2025/0211257 A1, Jun. 26, 2025
Int. Cl. H03M 13/45 (2006.01); H03M 13/15 (2006.01)
CPC H03M 13/453 (2013.01) [H03M 13/154 (2013.01); H03M 13/1515 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for soft decoding of generalized Reed-Solomon (RS) error correction codes, comprising:
receiving a signal comprising a codeword y through a digital electronic communication channel, wherein y=x+e for at least one error vector e∈Fqn, where Fq is a finite field of q elements, wherein q is a prime power, and for transmitted codeword x∈C, wherein C is a generalized Reed-Solomon code having a length n<=q−1 configured to be shortened and a minimum Hamming distance d≥2;
performing hard decision (HD) error-and-erasures decoding on the codeword with a fixed set of erasures;
verifying that the HD error-and-erasures decoding has failed;
finding a Groebner basis to a solution module that accounts for a fixed set of erasures;
determining a set of Chase coordinates and a set of generalized minimum distance (GMD) coordinates using channel reliability information;
constructing a Chase and GMD decoding tree on the set of Chase coordinates and the set of GMD coordinates;
traversing the decoding tree depth first using polynomials of the Groebner basis as a basis that represents updated coefficient polynomials on the Chase and GMD decoding tree;
updating polynomials on the decoding tree using root and derivate steps that flip an edge, or a root step for an erasure edge;
calculating error locations by polynomial evaluation of candidate polynomials from the decoding tree, and calculating error values; and
correcting the received codeword according to the calculated error locations and calculated error values, and saving the corrected received codeword to a decoder output list.