Patent ID: 7012974
Filing Date: 2006-03-14
Classification: G11B,H03M,H04L

Abstract:
1. A method for decoding a high rate product code, comprising the steps of: receiving the high rate product code; using a row detector to find a most likely codeword and a most likely error sequence for each row including a step of performing add-compare-select recursion; and using a column processor to correct any remaining errors based on column parity bits and the most likely error sequence of each row, wherein the step of performing the add-compare-select recursion involves two first iterations Me′ and Me″ and a second iteration Me of error sequence metric, two first iterations Mb′ and Mb″ and a second iteration icon Mb of branch metric, two first iterations Mp′ and Mp″ and a second iteration Mp of a surviving code path metric, two first iterations p^′ and p^ and a second iteration p^ of a surviving code, and two first iterations p^′ and p^″ and a second iteration e^ of a surviving error path, wherein the step of performing the add-compare-select recursion, first, involves a step of computing two incoming partial path metrics Mp′+Mb′ and Mp″ +Mb″; wherein the step of performing compare-select recursion second, involves a step of comparing the two incoming partial path metrics and selecting a better one as the second iteration surviving code path metric Mp and updating a surviving path memory and calculating Δ=|(Mp′−Mb′)−(Mp″+Mb″)|; wherein the step of performing the add-compare-select recursion, third involves, if a first surviving state s′ is on me surviving code metric selecting the smaller of Δ and Me′ n the error sequence metric Me, or if a second switching state s″ is on the surviving code path metric, selecting the smaller of Δ and Me″ as the error sequence metric Me, and wherein, the step of performing the add-compare-select recursion, fourth, involves the surviving error path c^ is updated for the first surviving state s′ as follows: e^ is made equal to p^′⊕p^″ if Δ<Me′ or e^ is made equal to e^′ if Δ≧Me′ and wherein the surviving error path e^ is updated for second surviving stat s″ as follows: e^ is made equal to p^⊕p^ if Δ<Me″ or e^ is made equal to e^″ if Δ≧Me″.