Patent ID: 8549382

Claim:
An apparatus, comprising: a plurality of memory-space memory modules to provide read/writeable memory for storing codewords of LDPC-coded data; at least one redundancy memory module to store redundant information for the codewords; and read logic to read a selected codeword and if the read codeword is invalid, recover it using codewords from the other memory-space modules and the redundancy module; wherein the redundancy module comprises codewords of XOR results for corresponding codewords from the plurality of memory-space codewords, wherein the read logic is to (1) initially read the selected code word using hard data decoding (HDD), (2) read the selected code word using soft data decoding (SDD) if the HDD read is invalid, the SDD reading including re-reading the selected codeword using different NAND flash references if a previous SDD read is invalid, and (3) if the SDD read fails, to HDD read the selected codeword by combining valid HDD-read corresponding codewords with soft data corresponding codeword inputs whose LDPC HDD decodes failed.