Antiwear Leveling Design for SSDs With Hybrid ECC Capability

With the joint considerations of reliability and performance, hybrid error correction code (ECC) becomes an option in the designs of solid-state drives (SSDs). Unfortunately, wear leveling (WL) might result in the early performance degradation to SSDs, which is common with a limited number of P/E cycles, due to the efforts to delay the bit-error-rate growth. In this paper, an anti-WL design is proposed to avoid such a performance problem so that the performance of SSDs with hybrid ECC capability can be improved without sacrificing their reliability. The capability of the proposed design was evaluated by a series of experiments, for which it was shown that the proposed design could greatly improve the read and write performance of SSDs up to 50% without affecting the endurance of the investigated SSDs, compared with traditional approaches.

[1]  David Hung-Chang Du,et al.  Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[2]  Wei Wu,et al.  Optimizing NAND flash-based SSDs via retention relaxation , 2012, FAST.

[3]  Engin Ipek,et al.  Dynamically replicated memory: building reliable systems from nanoscale resistive memories , 2010, ASPLOS XV.

[4]  Tei-Wei Kuo,et al.  An adaptive striping architecture for flash memory storage systems of embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[5]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[6]  Moinuddin K. Qureshi Pay-As-You-Go: Low-overhead hard-error correction for phase change memories , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[7]  Paul H. Siegel,et al.  Characterization and error-correcting codes for TLC flash memories , 2012, 2012 International Conference on Computing, Networking and Communications (ICNC).

[8]  Tei-Wei Kuo,et al.  Improving Flash Wear-Leveling by Proactively Moving Static Data , 2010, IEEE Transactions on Computers.

[9]  Zili Shao,et al.  MNFTL: An efficient flash translation layer for MLC NAND flash memory storage systems , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[10]  Yuan-Hao Chang,et al.  Block reinforcement to optimize lifetime of flash storage devices , 2014, 2014 IEEE 3rd Global Conference on Consumer Electronics (GCCE).

[11]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[12]  Tong Zhang,et al.  On the Use of Strong BCH Codes for Improving Multilevel NAND Flash Memory Storage Capacity , 2006 .

[13]  Nikolai Joukov,et al.  A nine year study of file system and storage benchmarking , 2008, TOS.

[14]  Kenneth Rose,et al.  Design of on-chip error correction systems for multilevel NOR and NAND flash memories , 2007, IET Circuits Devices Syst..

[15]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[16]  Ren-Shuo Liu,et al.  EC-Cache: Exploiting error locality to optimize LDPC in NAND flash-based SSDs , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[17]  Nanning Zheng,et al.  LDPC-in-SSD: making advanced error correction codes work effectively in solid state drives , 2013, FAST.

[18]  Jung Ho Ahn,et al.  MAGE: Adaptive Granularity and ECC for resilient and power efficient memory systems , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[19]  Tong Zhang,et al.  Techniques for embracing intra-cell unbalanced bit error characteristics in MLC NAND flash memory , 2010, 2010 IEEE Globecom Workshops.

[20]  Ren-Shuo Liu,et al.  Improving Read Performance of NAND Flash SSDs by Exploiting Error Locality , 2016, IEEE Transactions on Computers.

[21]  Chaitali Chakrabarti,et al.  Product Code Schemes for Error Correction in MLC NAND Flash Memories , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[22]  Sivan Toledo,et al.  Algorithms and data structures for flash memories , 2005, CSUR.

[23]  Li-Pin Chang,et al.  On efficient wear leveling for large-scale flash-memory storage systems , 2007, SAC '07.

[24]  Xavier Jimenez,et al.  Wear unleveling: improving NAND flash lifetime by balancing page endurance , 2014, FAST.

[25]  阿米尔·班 Flash File System , 1994 .

[26]  Chin-Hsien Wu,et al.  A Low-Memory Management for Log-Based File Systems on Flash Memory , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[27]  A. Robert Calderbank,et al.  Coset coding to extend the lifetime of memory , 2013, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA).