An error control decoding system operable to decode a codeword including a data word and two or more parity segments, the system comprising: a first decoder configured to decode the codeword by utilizing one or more first parity segments and the data word included in the codeword; a second decoder configured to decode the codeword by utilizing one or more second parity segments and the data word included in the codeword, wherein the one or more first parity segments are different from the one or more second parity segments; and a controller configured to select which of the first decoder and second decoder to start decoding the codeword, characterised in that: the error control decoding system further comprises: an error estimation module configured to estimate a number of errors in the codeword, wherein: the error estimation module comprises an encoder, corresponding to the second decoder, configured to produce one or more third parity segments from the data word included in the codeword; and the error estimation module is configured to estimate the number of errors in the codeword by evaluating the one or more second parity segments and the one or more third parity segments; and the selection is based on the estimated number of errors in the codeword provided by the error estimation module. a first decoder configured to decode the codeword by utilizing one or more first parity segments and the data word included in the codeword; a second decoder configured to decode the codeword by utilizing one or more second parity segments and the data word included in the codeword, wherein the one or more first parity segments are different from the one or more second parity segments; and a controller configured to select which of the first decoder and second decoder to start decoding the codeword, characterised in that: the error control decoding system further comprises: an error estimation module configured to estimate a number of errors in the codeword, wherein: the error estimation module comprises an encoder, corresponding to the second decoder, configured to produce one or more third parity segments from the data word included in the codeword; and the error estimation module is configured to estimate the number of errors in the codeword by evaluating the one or more second parity segments and the one or more third parity segments; and the selection is based on the estimated number of errors in the codeword provided by the error estimation module. the error control decoding system further comprises: an error estimation module configured to estimate a number of errors in the codeword, an error estimation module configured to estimate a number of errors in the codeword, wherein: the error estimation module comprises an encoder, corresponding to the second decoder, configured to produce one or more third parity segments from the data word included in the codeword; and the error estimation module is configured to estimate the number of errors in the codeword by evaluating the one or more second parity segments and the one or more third parity segments; and the error estimation module comprises an encoder, corresponding to the second decoder, configured to produce one or more third parity segments from the data word included in the codeword; and the error estimation module is configured to estimate the number of errors in the codeword by evaluating the one or more second parity segments and the one or more third parity segments; and the selection is based on the estimated number of errors in the codeword provided by the error estimation module.