Extending lifetime of flash memory using strong error correction coding

2015 
Demand for flash memory based storage systems is on the rise because flash memory has many advantages when compared with hard disk drives, such as lower latency and resistance to physical shock. However, flash memory permits only a limited number of program/erase (P/E) cycles, and after the guaranteed number of P/E cycles, data cannot be reliably retrieved due to uncorrectable errors. Given a target bit error rate, the guaranteed number of P/E cycles decreases as more bits are stored in one cell and as the cell size is scaled down. In this paper, a novel lifetime extension mechanism for flash memory, referred to as a gradual error correction code (GECC), is proposed. A G-ECC provides a stronger level of error correction than a standard ECC by sacrificing a small portion of storage capacity in order to store additional parity bits. The proposed method can extend the lifetime of flash memory by 124% at the cost of a 12% loss in capacity. The use of additional parity bits necessarily leads to performance loss due to increased accesses for those additional parity bits and garbage collection operations involving those bits. Thus, methods to alleviate such performance loss are proposed; these methods reduce the performance overhead from 17% (without the proposed methods) to 3% even in the worst case.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    26
    References
    4
    Citations
    NaN
    KQI
    []