1. A maximum a posteriori (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 states in an associated decoding trellis, the state metric engine performing the backward processing operation with a convergence phase in which the backward state metric values are not reliable and an output phase in which the backward state metric values are reliable; B. memory that stores the state metrics in a forward processing order and a backward processing order, the memory storing the backward state metrics calculated during the output phase; and C. a soft value processor that manipulates the forward and the backward state metrics to produce corresponding soft values.