Patent ID: 7395487

Claim:
A decoder that is operable to decode an LDPC (Low Density Parity Check) coded signal, the decoder comprising: a FIFO (First-In First-Out) buffer that is operable to receive and subsequently to provide a plurality of edge messages with respect to a plurality of check nodes; a bit node processing functional block that is operable to receive a bit metric that corresponds to a symbol of the LDPC coded signal, the plurality of edge messages with respect to the plurality of check nodes, and one edge message of the plurality of edge messages with respect to the plurality of check nodes from the FIFO buffer, and that comprises: an accumulator that is operable to add each edge message of the plurality of edge messages with respect to the plurality of check nodes with the bit metric thereby generating a summed value; and a subtraction functional block that is operable to subtract the one edge message of the plurality of edge messages with respect to the plurality of check nodes provided from the FIFO buffer from the summed value thereby generating one updated edge message of a plurality of updated edge messages with respect to a plurality of bit nodes; wherein the FIFO buffer is also operable to receive and subsequently to provide the plurality of updated edge messages with respect to the plurality of bit nodes; and a check node processing functional block that is operable to receive the plurality of updated edge messages with respect to the plurality of bit nodes from the bit node processing functional block and that comprises: a min** (min-double-star) processing functional block that is operable to perform min** processing using the plurality of updated edge messages with respect to the plurality of bit nodes thereby generating a min** resultant; and a min**− (min-double-star-minus) processing functional block that is operable to perform min**− processing using one updated edge message with respect to the plurality of bit nodes provided from the FIFO buffer and the min** resultant received from the min** processing functional block thereby generating an updated edge message with respect to the plurality of check nodes.