Asymmetric Error Rates of Cell States Exploration for Performance Improvement on Flash Memory Based Storage Systems

Recent studies show that a multilevel cell flash cell in different states suffers from diverse error patterns in varying degrees. That is, the error rates of each page are highly dependent on the data content. Consequently, pages with different data will exhibit quite different error rates. However, existing technologies equipped with one uniform error correction code (ECC) scheme for all pages in a flash memory do not take the different error rates of pages into consideration. In this paper, we propose to exploit the asymmetric error rates of flash memory exhibited by the flash pages with different data for performance improvement. Before a page is programmed, its specific error rates, called content-dependent bit error rates (CDBERs), are estimated according to the content of the page. The margin between the CDBER of a page and the maximal error rates correctable by the uniform ECC code is exploited for performance improvement. On one hand, a faster and suitable write operation is selected to speed up the progress of programming while the increased speed induced CDBER does not exceed the maximal correctable error rates. On the other hand, a light-weight ECC scheme can be chosen for a faster read operation since the page decoding process of a light-weight ECC scheme incurs less time overhead. Finally, a state mapping scheme, which further reduces the CDBER through mapping high error rate states to the low error rate states of a page, is proposed. Simulation results show that the proposed approaches lead to significant write and read performance improvement.

[1]  Tao Xie,et al.  Understanding the impact of threshold voltage on MLC flash memory performance and reliability , 2014, ICS '14.

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

[3]  Osman S. Unsal,et al.  Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

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

[5]  Edwin Hsing-Mean Sha,et al.  Retention trimming for wear reduction of flash memory storage systems , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[6]  Qiang Wu,et al.  A Large-Scale Study of Flash Memory Failures in the Field , 2015, SIGMETRICS 2015.

[7]  Tong Zhang,et al.  Using Data Postcompensation and Predistortion to Tolerate Cell-to-Cell Interference in MLC nand Flash Memory , 2010, IEEE Transactions on Circuits and Systems I: Regular Papers.

[8]  Yuan Xue,et al.  Minimizing MLC PCM write energy for free through profiling-based state remapping , 2015, The 20th Asia and South Pacific Design Automation Conference.

[9]  Tong Zhang,et al.  Realizing Unequal Error Correction for nand Flash Memory at Minimal Read Latency Overhead , 2014, IEEE Transactions on Circuits and Systems II: Express Briefs.

[10]  Mrinmoy Ghosh,et al.  Performance analysis of NVMe SSDs and their implication on real world databases , 2015, SYSTOR.

[11]  Renhai Chen,et al.  DHeating: Dispersed heating repair for self-healing NAND flash memory , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[12]  Miodrag Potkonjak,et al.  Coding-based energy minimization for Phase Change Memory , 2012, DAC Design Automation Conference 2012.

[13]  Steven Swanson,et al.  The bleak future of NAND flash memory , 2012, FAST.

[14]  Hsie-Chia Chang,et al.  A 45nm 6b/cell charge-trapping flash memory using LDPC-based ECC and drift-immune soft-sensing engine , 2013, 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers.

[15]  Paul H. Siegel,et al.  Error characterization and coding schemes for flash memories , 2010, 2010 IEEE Globecom Workshops.

[16]  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.

[17]  Jin-Ki Kim,et al.  A 3.3 V 32 Mb NAND flash memory with incremental step pulse programming scheme , 1995, Proceedings ISSCC '95 - International Solid-State Circuits Conference.

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

[19]  Onur Mutlu,et al.  Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation , 2013, ICCD.

[20]  Osman S. Unsal,et al.  Neighbor-cell assisted error correction for MLC NAND flash memories , 2014, SIGMETRICS '14.

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

[22]  Miodrag Potkonjak,et al.  Phase Change Memory Write Cost Minimization by Data Encoding , 2015, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[23]  Yiran Chen,et al.  DPA: A data pattern aware error prevention technique for NAND flash lifetime extension , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[24]  Yuan Xie,et al.  Energy-efficient multi-level cell phase-change memory system with data encoding , 2011, 2011 IEEE 29th International Conference on Computer Design (ICCD).

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

[26]  Tong Zhang,et al.  Quasi-nonvolatile SSD: Trading flash memory nonvolatility to improve storage system performance for enterprise applications , 2012, IEEE International Symposium on High-Performance Comp Architecture.

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

[28]  Edwin Hsing-Mean Sha,et al.  Exploit asymmetric error rates of cell states to improve the performance of flash memory storage systems , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

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

[30]  Tong Zhang,et al.  DiffECC: Improving SSD Read Performance Using Differentiated Error Correction Coding Schemes , 2010, 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[31]  Sriram Sankar,et al.  reFresh SSDs: Enabling High Endurance, Low Cost Flash in Datacenters , 2012 .

[32]  Cong Xu,et al.  Building energy-efficient multi-level cell STT-MRAM based cache through dynamic data-resistance encoding , 2014, Fifteenth International Symposium on Quality Electronic Design.

[33]  Onur Mutlu,et al.  Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

[36]  Tong Zhang,et al.  Exploiting workload dynamics to improve SSD read latency via differentiated error correction codes , 2013, TODE.

[37]  Liang Shi,et al.  Error Model Guided Joint Performance and Endurance Optimization for Flash Memory , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[38]  Onur Mutlu,et al.  Data retention in MLC NAND flash memory: Characterization, optimization, and recovery , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[39]  Tong Zhang,et al.  Enabling NAND Flash Memory Use Soft-Decision Error Correction Codes at Minimal Read Latency Overhead , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.