Understanding the Design Trade-Offs of Hybrid Flash Controllers

Over the last few years, NAND flash manufacturers have steadily increased the number of bits stored per cell to achieve significant cost reductions. However, the increased density does not come without drawbacks. All key flash performance metrics, including latency and endurance, significantly degrade as bit density increases. Particularly, sustained write throughput is the worst affected as writes are roughly one order of magnitude slower than reads and further require precursory block erases in the background. As a result, many recent flash controllers operate flash blocks both in single-bit (high endurance and performance) and in multi-bit (high density) mode. In theory, such hybrid controllers are a great way of hiding flash technology limitations. A controller can use a small percentage of the flash blocks in single-bit mode as a cache which allows orders of magnitude higher write bandwidth and endurance in environments where the access patterns of the workload are skewed and bursty. In practice, however, many devices fall short of expectations when write performance varies significantly and utilization increases. We argue that a principled approach is required to understand the design trade-offs of hybrid NAND flash controllers. To this end, we develop a modeling framework for estimating the performance and endurance of hybrid controllers. The modeling framework computes the internal data movement generated by a hybrid controller by relying on advanced analytical models that offer both accurate and fast predictions. The data flow is then translated into higher-level metrics that quantify upper bounds for the overall performance of an SSD such as write throughput, latency, and device endurance. Using our modeling framework, we compare different controller architectures, identify their strong and weak points, and show that there is room to improve the efficiency of the hybrid controllers used today.

[1]  Evangelos Eleftheriou,et al.  Write amplification analysis in flash-based solid state drives , 2009, SYSTOR '09.

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

[3]  Xavier Jimenez,et al.  Software controlled cell bit-density to improve NAND flash lifetime , 2012, DAC Design Automation Conference 2012.

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

[5]  Nikolas Ioannou,et al.  Elevating Commodity Storage with the SALSA Host Translation Layer , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[6]  Yue Yang,et al.  Write Amplification with Write Skew , 2016, 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS).

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

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

[9]  Mahmut T. Kandemir,et al.  ZombieNAND: Resurrecting Dead NAND Flash for Improved SSD Longevity , 2014, 2014 IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems.

[10]  Gaston H. Gonnet,et al.  On the LambertW function , 1996, Adv. Comput. Math..

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

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

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

[14]  Onur Mutlu,et al.  Error Characterization, Mitigation, and Recovery in Flash-Memory-Based Solid-State Drives , 2017, Proceedings of the IEEE.

[15]  Dror G. Feitelson,et al.  Exploiting Core Working Sets to Filter the L1 Cache with Random Sampling , 2012, IEEE Transactions on Computers.

[16]  Jen-Wei Hsieh,et al.  HLC: Software-based half-level-cell flash memory , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[18]  Mahmut T. Kandemir,et al.  Amber*: Enabling Precise Full-System Simulation with Detailed Modeling of All SSD Resources , 2018, 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[19]  Onur Mutlu,et al.  MQSim: A Framework for Enabling Realistic Studies of Modern Multi-Queue SSD Devices , 2018, FAST.

[20]  Roman A. Pletka,et al.  Health-Binning: Maximizing the Performance and the Endurance of Consumer-Level NAND Flash , 2016, SYSTOR.

[21]  Xavier Jimenez,et al.  Phoenix: Reviving MLC blocks as SLC to extend NAND flash devices lifetime , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).