Improving NAND flash performance with read heat separation

The continuous growth in 3D-NAND flash storage density has primarily been enabled by 3D stacking and by increasing the number of bits stored per memory cell. Unfortunately, these desirable flash device design choices are adversely affecting reliability and latency characteristics. In particular, increasing the number of bits stored per cell results in having to apply additional voltage thresholds during each read operation, therefore increasing the read latency characteristics. While most NAND flash challenges can be mitigated through appropriate background processing, the flash read latency characteristics cannot be hidden and remains the biggest challenge, especially for the newest flash generations that store four bits per cell. In this paper, we introduce read heat separation (RHS), a new heat-aware data-placement technique that exploits the skew present in real-world workloads to place frequently read user data on low-latency flash pages. Although conceptually simple, such a technique is difficult to integrate in a flash controller, as it introduces a significant amount of complexity, requires more metadata, and is further constrained by other flash-specific peculiarities. To overcome these challenges, we propose a novel flash controller architecture supporting read heat-aware data placement. We first discuss the trade-offs that such a new design entails and analyze the key aspects that influence the efficiency of RHS. Through both, extensive simulations and an implementation we realized in a commercial enterprise-grade solid-state drive controller, we show that our architecture can indeed significantly reduce the average read latency. For certain workloads, it can reverse the system-level read latency trends when using recent multi-bit flash generations and hence outperform SSDs using previous faster flash generations.

[1]  Evangelos Eleftheriou,et al.  Container Marking: Combining Data Placement, Garbage Collection and Wear Levelling for Flash , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[2]  Nikolas Ioannou,et al.  Open Block Characterization and Read Voltage Calibration of 3D QLC NAND Flash , 2020, 2020 IEEE International Reliability Physics Symposium (IRPS).

[3]  Da-Wei Chang,et al.  FastRead: Improving Read Performance for Multilevel-Cell Flash Memory , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[4]  Benny Van Houdt,et al.  A mean field model for a class of garbage collection algorithms in flash-based solid state drives , 2013, Queueing Systems.

[5]  Jae-Myung Kim,et al.  A case for flash memory ssd in enterprise database applications , 2008, SIGMOD Conference.

[6]  Anastasia Ailamaki,et al.  Improving Flash Write Performance by Using Update Frequency , 2013, Proc. VLDB Endow..

[7]  Yuan-Hao Chang,et al.  Utilization-Aware Self-Tuning Design for TLC Flash Storage Devices , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  John P. Robinson,et al.  Counting sequences , 1981, IEEE Transactions on Computers.

[9]  Ihsan Ayyub Qazi,et al.  Reducing tail latency using duplication: a multi-layered approach , 2019, CoNEXT.

[10]  Andrew A. Chien,et al.  The Tail at Store: A Revelation from Millions of Hours of Disk and SSD Deployments , 2016, FAST.

[11]  Haris Pozidis,et al.  Understanding the Design Trade-Offs of Hybrid Flash Controllers , 2019, 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[12]  Dongkun Shin,et al.  ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer , 2010, J. Syst. Archit..

[13]  Nikolas Ioannou,et al.  Reliability of 3D NAND flash memory with a focus on read voltage calibration from a system aspect , 2019, 2019 19th Non-Volatile Memory Technology Symposium (NVMTS).

[14]  Tei-Wei Kuo,et al.  Real-time garbage collection for flash-memory storage systems of real-time embedded systems , 2004, TECS.

[15]  Yue Yang,et al.  Write Skew and Zipf Distribution: Evidence and Implications , 2016, TOS.

[16]  J. Steindl The Pareto Distribution , 1990 .

[17]  Mahmut T. Kandemir,et al.  Invalid Data-Aware Coding to Enhance the Read Performance of High-Density Flash Memories , 2018, 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[18]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[19]  Mansour Shafaei,et al.  Write Amplification Reduction in Flash-Based SSDs Through Extent-Based Temperature Identification , 2016, HotStorage.

[20]  Guangwen Yang,et al.  Understanding Data Characteristics and Access Patterns in a Cloud Storage System , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[21]  Li-Pin Chang,et al.  A Hybrid Approach to NAND-Flash-Based Solid-State Disks , 2010, IEEE Transactions on Computers.

[22]  Peter Desnoyers,et al.  Analytic modeling of SSD write performance , 2012, SYSTOR '12.

[23]  Shijun Liu,et al.  QLC NAND study and enhanced Gray coding methods for sixteen-level-based program algorithms , 2017, Microelectron. J..

[24]  Ludmila Cherkasova,et al.  Analysis of enterprise media server workloads: access patterns, locality, content evolution, and rates of change , 2004, IEEE/ACM Transactions on Networking.

[25]  Ricardo Bianchini,et al.  Managing Tail Latency in Datacenter-Scale File Systems Under Production Constraints , 2019, EuroSys.

[26]  Philippe Bonnet,et al.  uFLIP: Understanding Flash IO Patterns , 2009, CIDR.

[27]  Onur Mutlu,et al.  Read Disturb Errors in MLC NAND Flash Memory: Characterization, Mitigation, and Recovery , 2015, 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[28]  Nikolas Ioannou,et al.  Management of Next-Generation NAND Flash to Achieve Enterprise-Level Endurance and Latency Targets , 2018, ACM Trans. Storage.

[29]  Yoon-Hee Choi,et al.  Three-Dimensional 128 Gb MLC Vertical nand Flash Memory With 24-WL Stacked Layers and 50 MB/s High-Speed Programming , 2014, IEEE Journal of Solid-State Circuits.

[30]  Onur Mutlu,et al.  Threshold voltage distribution in MLC NAND flash memory: Characterization, analysis, and modeling , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).