sets a flag to denote what could be an erroneous bit step 220 if the count for a given bit is less than the majority detection threshold the data bit reconstruction processor sets the bit to 0 the confidence with which the bit is set to a 0 is then assessed by determining if the associated count is greater than a lower threshold which in the example is 4 steps 212 216 if the count is greater than 4 the data reconstruction processor sets a flag to denote what could be an erroneous bit step 220 the data reconstruction processor 320 then groups the bits into multi bit symbols that are used for error correction to reconstruct the ecc codeword step 226 next the data reconstruction processor determines which s codeword symbols are associated with the highest uncertainty in the detected bits in this example the processor determines which s symbols are associated with the highest uncertainty in the detected bits in this example the processor determines which s symbols are associated with the largest number of flagged bits step 228 these s symbols are treated as erasures and the processor sets erasure pointers to identify the locations of the symbols in the ecc codeword the data reconstruction processor then sends the reconstructed ecc codeword and the erasure pointers to the error and erasure decoder 130 which operates in a known manner using the ecc decoder hardware to correct the s symbols that are identified as erasures and to detect and correct up to 2t u2212 s 2 errors in the remaining ecc codeword symbols referring now to fig4 the data.