Patent ID: 7340003

Claim:
A storage system for storing data on a storage medium, comprising: an encoder to encode data; a linear block encoder to encode data encoded by the encoder; a write circuit to write an output of the linear block encoder to the storage medium; a read circuit to read data from the storage medium; a channel decoder to decode data; a soft linear block code decoder to decode data decoded by the channel decoder; wherein in a first iteration, the channel decoder decodes the data read by the read circuit; wherein in a succeeding iteration, the channel decoder decodes the data read by the read circuit and utilizes information decoded by the soft linear block decoder from an immediately preceding iteration; a threshold check circuit to select: an output of the soft linear block code decoder if a number of parity check violations has a first relationship with respect to a threshold, or an output of the channel decoder if a number of violations has a second relationship with respect to the threshold; and a decoder to decode an output of the threshold check circuit.