Patent ID: 8352840

Claim:
A method for decoding data that has been encoded using an error detection code (EDC) and an error correction code (ECC) to generate a codeword from K data symbols, wherein K>1, the method comprising: a) obtaining a set of received signal samples representing the codeword in an apparatus comprising a sequence-based soft output (SBSO) decoder for decoding the ECC, an error detector for detecting errors using the EDC, and memory; b) transforming the set of received signal samples into decoded data using the SBSO decoder, the decoded data comprising a decision data set d of K hard decisions d k corresponding to the K data symbols, and a reliability data set R of K reliability values R k associated with the hard decisions, wherein k is a symbol location index of a data symbol in the set of K data symbols, k=1, . . . , K, and saving the decision data set and the reliability data set in the memory; c) providing the decision data set d to the error detector to generate an error detector state (EDS) and, when the EDS indicates the presence of an error in the decision data set, performing the steps of: d) identifying a plurality of potential error events in the decision data set based on the stored reliability values; e) computing event combination states (ECS) for the error detector for a plurality of combinations of the potential error events; f) identifying a selected combination of the potential error events having an ECS indicating the absence of errors; g) modifying the decision data set d at location indices corresponding to the selected combination of the potential error events identified in (f) to obtain a modified decision data set; and, h) outputting the modified decision data set for rendering in a data rendering device for presenting to a user.