Patent ID: 8650467

Claim:
A method for decoding an Error Correction Code (ECC), the method comprising: in a decoder that includes at least first and second root search units, accepting a plurality of Error Locator Polynomials (ELPs) that have been computed over a respective plurality of code words of the ECC; selecting a first ELP and a second ELP from the plurality of ELPs dependent upon a rank of each ELP of the plurality of ELPs, wherein a rank of the first ELP and a rank of the second ELP are less than or equal to a threshold value; evaluating a criterion depending on the first and second ELPs; and selecting one of first and second modes based on the evaluated criterion, finding one or more first roots of the first ELP and one or more second roots of the second ELP using the selected mode, and decoding a first code word and a second code word of the plurality of code words of the ECC using the first and second roots; wherein in the first mode, the first and second root search units operate collectively to find the one or more first roots of the first ELP; and wherein in the second mode, the first and second root search units operate separately, wherein the first root search unit finds the one or more first roots of the first ELP, and the second root search unit finds the one or more second roots of the second ELP, in parallel.