Patent ID: 8504893

Claim:
A method of retrieving data, the method comprising: performing an error detection operation on a sub-codeword of a plurality of sub-codewords of a codeword stored in a memory array at least in part in response to a read access request; performing an error detection and correction operation on the codeword at least in part in response to a detection of an error for the sub-codeword to generate a corrected sub-codeword; receiving a program command to write incoming information to a storage location in the memory array of a second sub-codeword of the plurality of sub-codewords; reading the second sub-codeword and said one or more parity bits, wherein said second sub-codeword comprises one or more data bits and one or more cyclic redundancy check bits; generating new cyclic redundancy check bits for the second sub-codeword based at least in part on the incoming information; generating one or more new parity bits for the codeword based at least in part on the previous one or more parity bits and on the incoming information; and writing the incoming information and the new cyclic redundancy check bits to the storage location in the memory array of the second sub-codeword, and replacing the previous one or more parity bits with the new one or more parity bits.