An iterative soft-decision decoding algorithm for Reed-Solomon product codes