Optimizing NAND flash-based SSDs via retention relaxation

As NAND Flash technology continues to scale down and more bits are stored in a cell, the raw reliability of NAND Flash memories degrades inevitably. To meet the retention capability required for a reliable storage system, we see a trend of longer write latency and more complex ECCs employed in an SSD storage system. These greatly impact the performance of future SSDs. In this paper, we present the first work to improve SSD performance via retention relaxation. NAND Flash is typically required to retain data for 1 to 10 years according to industrial standards. However, we observe that many data are over-written in hours or days in several popular workloads in datacenters. The gap between the specification guarantee and actual programs' needs can be exploited to improve write speed or ECCs' cost and performance. To exploit this opportunity, we propose a system design that allows data to be written in various latencies or protected by different ECC codes without hampering reliability. Simulation results show that via write speed optimization, we can achieve 1:8-5:7× write response time speedup. We also show that for future SSDs, retention relaxation can bring both performance and cost benefits to the ECC architecture.

[1]  Dwijendra K. Ray-Chaudhuri,et al.  Binary mixture flow with free energy lattice Boltzmann methods , 2022, arXiv.org.

[2]  Robert G. Gallager,et al.  Low-density parity-check codes , 1962, IRE Trans. Inf. Theory.

[3]  Young-Ho Lim,et al.  A 3.3 V 32 Mb NAND flash memory with incremental step pulse programming scheme , 1995 .

[4]  Gregory R. Ganger,et al.  The DiskSim Simulation Environment Version 4.0 Reference Manual (CMU-PDL-08-101) , 1998 .

[5]  R. Shirota,et al.  Extended data retention process technology for highly reliable flash EEPROMs of 10/sup 6/ to 10/sup 7/ W/E cycles , 1998, 1998 IEEE International Reliability Physics Symposium Proceedings. 36th Annual (Cat. No.98CH36173).

[6]  F. Arai,et al.  Extended data retention process technology for highly reliable flash EEPROMs of 106 to 107 W/E cycles , 1998 .

[7]  Ruei-Chuan Chang,et al.  Using data clustering to improve cleaning performance for flash memory , 1999 .

[8]  Eduardo Pinheiro,et al.  Failure Trends in a Large Disk Drive Population , 2007, FAST.

[9]  D.M. Gruenbacher,et al.  Implementation of a Flexible Encoder for Structured Low-Density Parity-Check Codes , 2007, 2007 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing.

[10]  J. E. Brewer,et al.  Nonvolatile Memory Technologies with Emphasis on Flash: A Comprehensive Guide to Understanding and Using Flash Memory Devices , 2008 .

[11]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[12]  J. Kessenich,et al.  Bit error rate in NAND Flash memories , 2008, 2008 IEEE International Reliability Physics Symposium.

[13]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[14]  Chia-Yu Lin,et al.  Efficient encoding for dual-diagonal structured LDPC codes based on parity bit prediction and correction , 2008, APCCAS 2008 - 2008 IEEE Asia Pacific Conference on Circuits and Systems.

[15]  Ningde Xie,et al.  Concatenated Low-Density Parity-Check and BCH Coding System for Magnetic Recording Read Channel With 4 kB Sector Format , 2008, IEEE Transactions on Magnetics.

[16]  Tong Zhang,et al.  Approaching the Information Theoretical Bound of Multi-Level NAND Flash Memory Storage Efficiency , 2009, 2009 IEEE International Memory Workshop.

[17]  Paul H. Siegel,et al.  Characterizing flash memory: Anomalies, observations, and applications , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[18]  Steven Swanson,et al.  Gordon: using flash memory to build fast, power-efficient clusters for data-intensive applications , 2009, ASPLOS.

[19]  Anthony Chan Carusone,et al.  A flexible hardware encoder for systematic low-density parity-check codes , 2009, 2009 52nd IEEE International Midwest Symposium on Circuits and Systems.

[20]  Antony I. T. Rowstron,et al.  Migrating server storage to SSDs: analysis of tradeoffs , 2009, EuroSys '09.

[21]  Seung Ryoul Maeng,et al.  FTL design exploration in reconfigurable high-performance SSD for server applications , 2009, ICS.

[22]  Mithuna Thottethodi,et al.  SieveStore: a highly-selective, ensemble-level disk cache for cost-performance , 2010, ISCA '10.

[23]  Tong Zhang,et al.  Improving Multi-Level NAND Flash Memory Storage Reliability Using Concatenated BCH-TCM Coding , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[24]  Steven Swanson,et al.  Rethinking Flash in the Data Center , 2010, IEEE Micro.

[25]  Luca Crippa,et al.  Inside NAND Flash Memories , 2010 .

[26]  Shuhei Tanakamaru,et al.  Post-manufacturing, 17-times acceptable raw bit error rate enhancement, dynamic codeword transition ECC scheme for highly reliable solid-state drives, SSDs , 2010, 2010 IEEE International Memory Workshop.

[27]  Mircea R. Stan,et al.  Relaxing non-volatility for fast and energy-efficient STT-RAM caches , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[28]  Tong Zhang,et al.  Exploiting Memory Device Wear-Out Dynamics to Improve NAND Flash Memory System Performance , 2011, FAST.

[29]  Tong Zhang,et al.  Using Lossless Data Compression in Data Storage Systems: Not for Saving Space , 2011, IEEE Transactions on Computers.

[30]  Wenqing Wu,et al.  Multi retention level STT-RAM cache designs with a dynamic refresh scheme , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[31]  Tong Zhang,et al.  On the Use of Soft-Decision Error-Correction Codes in nand Flash Memory , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[32]  Shuhei Tanakamaru,et al.  95%-lower-BER 43%-lower-power intelligent solid-state drive (SSD) with asymmetric coding and stripe pattern elimination algorithm , 2011, 2011 IEEE International Solid-State Circuits Conference.