Patent ID: 8560922
Filing Date: 2013-10-15
Classification: G06F,G11C

Abstract:
1. A computer implemented method for storing data, the method comprising: receiving a write request comprising write data; identifying a block of memory in a memory for storing the write data, the block of memory comprising a plurality of pages; determining a bit error rate (BER) of the block of memory; creating expanded write data from the write data based on the BER exceeding a BER threshold, the expanded write data comprising at least one more bit than the write data and characterized by an expected BER rate that is lower than the BER threshold; wherein the creating expanded write data comprises: calculating a probability model for a plurality of cells in the block of memory, the probability model indicating a probability that a target cell will transition from a programmed state to a different state based on values stored in a plurality of surrounding cells neighboring the target cell; and adding one or more additional bits to the write data, the one or more additional bits selected to reduce the probability of the transition; encoding the expanded write data using an error correction code (ECC); and writing the encoded expanded write data to the block of memory.