Patent ID: 8869010

Claim:
An apparatus comprising: an iterative decoder configured to generate codewords based on input samples, wherein the iterative decoder is further configured to perform a number of decoding iterations for each of the codewords and generate hard decisions for each of the codewords, wherein the number of decoding iterations is an integer greater than zero, and wherein the number of decoding iterations does not exceed a limit number; a sensor configured to generate one or more measurements of a physical variable, wherein the limit number is set in accordance with the one or more measurements generated by the sensor; a controller configured to set the limit number in accordance with the one or more measurements generated by the sensor; and a syndrome calculator configured to calculate a syndrome of the hard decisions produced by the iterative decoder during one of the decoding iterations for each of the codewords, wherein the iterative decoder is configured to (i) output each of the codewords when the syndrome is all zeros, and (ii) continue the decoding iterations when the syndrome is not all zeros, and wherein the iterative decoder comprises: a first decoder configured to perform a first number of the decoding iterations, generate first data in response to performing each of the first number of the decoding iterations, and generate second data after performing all of the first number of the decoding iterations, wherein the first number is an integer greater than zero; and a second decoder configured to perform a second number of the decoding iterations, wherein each of the second number of the decoding iterations is performed in response to the first decoder performing all of the first number of the decoding iterations, and generate soft information based on one or more of (i) the input samples and (ii) the second data generated by the first decoder, wherein the second number is an integer greater than zero, wherein the first decoder is configured to generate the first data based on one or more of (i) the soft information generated by the second decoder and (ii) the first data from one of the first number of the decoding iterations.