Abstract
Flash memories are the most widely used type of non-volatile electronic memories. Every flash memory cell has q discrete levels for storing information. A prominent property of flash memories is that although it is easy to increase a cell level, to decrease any cell level, a whole block of cells have to be erased and reprogrammed. To minimize the number of expensive block erasure operations and to maintain the data integrity, the data needs to be stored with a strong error-correcting code that can correct enough errors between two erasure operations. In this paper, we introduce the concept of error scrubbing codes. With this new type of error-correcting codes, the cell levels are actively increased when errors appear, even if the errors increase cell levels as well. We show that error-scrubbing codes can outperform conventional error-correcting codes for multi-level flash memories. We present two families of codes based on the L 1 metric and a modular construction.
Submitted Version (Free)
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have