Revisiting Multiple ECC on High-Density NAND Flash Memory
Revisiting Multiple ECC on High-Density NAND Flash Memory
Abstract:
Three-dimensional NAND flash memory using the advanced multibit-per-cell technique is widely adopted due to its high density. However, it faces the problem of deteriorating read performance and energy consumption due to decreased reliability. Low-density parity-check code (LDPC) is typically adopted as an error correction code (ECC) to encode data and provide fault tolerance. To reduce the cost, LDPC with a high code rate is always adopted. However, LDPC will lead to read retry operations when the accessed data are not successfully decoded, and such retry-induced performance degradation is serious, especially for modern high-density flash memory. In this work, a reliability-aware differential ECC (READECC) approach is proposed to reduce redundancy protection and storage cost of LDPC with a low cost. The basic idea is to adopt LDPC with a suitable code rate considering both data access characteristics and flash reliability characteristics. First, hot reads are strengthened based on the frequency of being accessed. Second, based on the reliability variation characteristics, the life of NAND flash is divided into three reliability periods. As the reliability period shifts, the code rate of the LDPC adjusts adaptively to minimize redundancy overhead. Furthermore, the READECC scheme provides further flexibility to support LDPC with strong error correction capability only when paired with a low redundancy rate. With careful design and evaluation on 3-D triple-level cell NAND flash memory, READECC achieves encouraging optimizations with a negligible cost.