Patent ID: 8589758

Claim:
A system for processing electromagnetic signals representing convolutionally encoded data streams, the system comprising: at least one processor configured to execute a trellis search of a convolutionally encoded data stream of bit length L, where L is an integer; a survivor memory unit comprising: at least one (D×N)-bit data register configured to store decision bit data representing results of the trellis search provided by the at least one processor for a first D bits of the convolutionally encoded data stream, where D is an integer greater than zero and less than L, and N is an integer equal to a number of states used by the at least one processor to execute the trellis search, the decision bit data stored in the (D×N)-bit data register being re-orderable by the at least one processor according to the results of the trellis search for the first D bits of the convolutionally encoded data stream; and a memory store configured to store decision bits representing results of the trellis search provided by the at least one processor for a subsequent L−D bits of the convolutionally encoded data stream; and a cyclic redundancy check (CRC) module configured to perform a cyclic redundancy check on a decoded data record outputted from the survivor memory unit, the CRC module comprising: a CRC remainder calculator configured to calculate a CRC remainder based on a first A bits of the decoded data record received from the survivor memory unit, the first A bits of the decoded data record comprising the decision bit data outputted from the (D×N)-bit data register and a first portion of the decision bits outputted from the memory store; and a comparator to compare the CRC remainder calculated by the CRC remainder calculator with a final B bits of the decoded data record.