A method, an embedded state metric storage, is used for MAP (Maximum A Posterior)-based decoder of turbo codes to reduce the memory requirement of state metric storage. For MAP decoder, this method comprises selecting any state metric from the updated state metrics for each recursion direction, forward and reverse, and dividing the state metrics by the selected state metric; the selected state metric value becomes a constant, namely, one. The constant one state metric is embedded into the resulted state metrics. For log-MAP decoder, this method comprises selecting any state metric from the updated state metrics in each direction, forward and reverse, and subtracting the state metrics from the selected state metric; the selected state metric value becomes a constant, zero. The constant zero state metric is embedded into the resulted state metrics. One advantage of the embedded state metric storage during state metric updating and likelihood ratio calculation is to embed the information of the selected state metric into the resulted state metrics. Thus, the selected state metric is not required to be kept in the state metric memory, and calculation of a constant state metric in the resulted state metric can be omitted. Therefore, the latency and the area of implementation in ASIC will be reduced with this method of embedded state metric storage.