1. A MAP detector for decoding a data block, the MAP detector including A. a state metric engine that performs both forward and backward processing operations to produce state metrics that correspond to j states in an associated decoding trellis; B. memory that stores the state metrics in a forward processing order and a backward processing order, and C. a soft value processor that manipulates the forward and the backward state metrics to produce corresponding soft values.