1. A decoder, comprising: at least one processor configured to: calculate backward state initial values from an input signal, and store the backward state initial values as a pre-computed backward state metric in a memory, for each of a plurality of decoding iterations, the at least one processor is further configured to calculate a forward state metric and calculate a backward state metric, wherein for each decoding iteration for calculating an initial backward state metric, the processor fetches from the memory, the pre-computed backward state metric.