Power of One Bit: Increasing Error Correction Capability with Data Inversion

Rakan Maddah, Sangyeun Cho, and Rami Melhem.

Proceedings of the 19th IEEE Pacific Rim Int'l Symposium on Dependable Computing (PRDC), pp. xxx~yyy, Vancouver, Canada, December 2013.

Abstract:

Phase-change memory (PCM) has emerged as a candidate that overcomes the physical limitations faced by DRAM and NAND ?ash memory. While PCM has desirable properties in terms of scalability and energy, it suffers from limited endurance. Repeated writes cause PCM cells to wear out and get permanently stuck at either 0 or 1. Recovering from stuck-at faults through a proactive error correction scheme is essential for the widespread adoption of PCM. In this paper, we propose data inversion as a practical technique to increase the number of faults that an error correction code can cover. Since stuck-at cells can still be read, errors are manifested only when a worn-out cell is programmed with a bit value different than the value it is stuck at. After a write operation fails for a given block of data, data inversion attempts another write operation with all original data bits inverted. Inverting the data is likely to bring the number of errors within the nominal capability of the deployed error correction code. Requiring only one additional auxiliary bit, data inversion can double the capability of an error correction code and extends the lifetime by up to 34.5%.