Improving Write Performance Through Reliable Asynchronous Operation in Physically-Addressable SSD

Physically-addressable solid-state drives (PASSDs) are secondary storage devices that provide a physical address-based interface for a host system to directly control NAND flash memory. PASSDs overcome the shortcomings such as latency variability, resource under-utilization, and log-on-log that are associated with legacy SSDs. However, in some operating environments, the write response time significantly increases because the PASSD reports the completion of a host write command synchronously (i.e., write-through) owing to reliability problems. It contrasts asynchronous processing (i.e., write-back), which reports a completion immediately after data are received in a high-performance volatile memory subsequently used as a write buffer to conceal the operation time of NAND flash memory. Herein, we propose a new scheme that guarantees write reliability to enable a reliable asynchronous write operation in PASSD. It is designed to use a large-granularity mapping table for minimizing the memory requirements and performing internal operations at an idle time to avoid response delays. Results demonstrate that the proposed PASSD reduces the average write response time by up to 88% and guarantees reliability without performance degradation.

[1]  A. Goda,et al.  Scaling directions for 2D and 3D NAND cells , 2012, 2012 International Electron Devices Meeting.

[2]  Xiaoning Peng,et al.  Frequent Pattern-Based Mapping at Flash Translation Layer of Solid-State Drives , 2019, IEEE Access.

[3]  Dongkun Shin,et al.  fsync-aware Multi-Buffer FTL for Improving the fsync Latency with Open-Channel SSDs , 2019, 2019 IEEE Non-Volatile Memory Systems and Applications Symposium (NVMSA).

[4]  Youyou Lu,et al.  FlashKV: Accelerating KV Performance with Open-Channel SSDs , 2017, ACM Trans. Embed. Comput. Syst..

[5]  Dongkun Shin,et al.  Optimizing Host-level Flash Translation Layer with Considering Storage Stack of Host Systems , 2018, IMCOM.

[6]  Onur Mutlu,et al.  ERRoR ANAlysIs AND RETENTIoN-AwARE ERRoR MANAgEMENT FoR NAND FlAsh MEMoRy , 2013 .

[7]  Matias Bjørling,et al.  From Open-Channel SSDs to Zoned Namespaces , 2019 .

[8]  Meng Zhang,et al.  RBER-Aware Lifetime Prediction Scheme for 3D-TLC NAND Flash Memory , 2019, IEEE Access.

[9]  Myoungsoo Jung,et al.  Exploring System Challenges of Ultra-Low Latency Solid State Drives , 2018, HotStorage.

[10]  Arif Merchant,et al.  Reliability of nand-Based SSDs: What Field Studies Tell Us , 2017, Proceedings of the IEEE.

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

[12]  Sungjin Lee,et al.  Performance Analysis of NVMe SSD-Based All-flash Array Systems , 2018, 2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

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

[14]  Mahmut T. Kandemir,et al.  Sprinkler: Maximizing resource utilization in many-chip solid state disks , 2014, 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA).

[15]  Paolo Cappelletti,et al.  Non volatile memory evolution and revolution , 2015, 2015 IEEE International Electron Devices Meeting (IEDM).

[16]  Andrew A. Chien,et al.  Tiny-Tail Flash: Near-Perfect Elimination of Garbage Collection Tail Latencies in NAND SSDs , 2017, FAST.

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

[18]  Philippe Bonnet,et al.  Linux block IO: introducing multi-queue SSD access on multi-core systems , 2013, SYSTOR '13.

[19]  Yong Wang,et al.  SDF: software-defined flash for web-scale internet storage systems , 2014, ASPLOS.

[20]  Sang-Won Lee,et al.  A survey of Flash Translation Layer , 2009, J. Syst. Archit..

[21]  Chin-Hsien Wu,et al.  Rethink the Design of Flash Translation Layers in a Component-Based View , 2017, IEEE Access.

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

[23]  Sungjoo Yoo,et al.  Dynamic Management of Key States for Reinforcement Learning-assisted Garbage Collection to Reduce Long Tail Latency in SSD , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

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

[25]  Gyu Sang Choi,et al.  Study of the performance impact of a cache buffer in solid-state disks , 2011, Microprocess. Microsystems.

[26]  Jun Xu,et al.  Hybrid Storage Systems: A Survey of Architectures and Algorithms , 2018, IEEE Access.

[27]  Jie Zhou,et al.  An Advanced Adaptive Least Recently Used Buffer Management Algorithm for SSD , 2019, IEEE Access.

[28]  Se Jin Kwon Address Translation Layer for Byte-Addressable Non-Volatile Memory-Based Solid State Drives , 2019, IEEE Access.

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

[30]  Su-Jin Ahn,et al.  Evolution of NAND Flash Memory: From 2D to 3D as a Storage Market Leader , 2017, 2017 IEEE International Memory Workshop (IMW).

[31]  Jong Kim,et al.  SSDcheck: Timely and Accurate Prediction of Irregular Behaviors in Black-Box SSDs , 2018, 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[32]  Zili Shao,et al.  DIDACache: A Deep Integration of Device and Application for Flash Based Key-Value Caching , 2017, FAST.

[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]  Nisha Talagala,et al.  Don't Stack Your Log On My Log , 2014, INFLOW.

[35]  Taeseok Kim,et al.  HMB-SSD: Framework for Efficient Exploiting of the Host Memory Buffer in the NVMe SSD , 2019, IEEE Access.

[36]  Yichuang Sun,et al.  Dynamic Virtual Page-Based Flash Translation Layer With Novel Hot Data Identification and Adaptive Parallelism Management , 2018, IEEE Access.

[37]  Youyou Lu,et al.  OCStore: Accelerating Distributed Object Storage with Open-Channel SSDs , 2019, 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS).

[38]  Youyou Lu,et al.  Extending the lifetime of flash-based storage through reducing write amplification from file systems , 2013, FAST.

[39]  Jason Cong,et al.  An efficient design and implementation of LSM-tree based key-value store on open-channel SSD , 2014, EuroSys '14.

[40]  Minho Lee,et al.  Improving read performance by isolating multiple queues in NVMe SSDs , 2017, IMCOM.

[41]  Youyou Lu,et al.  Mitigating Synchronous I/O Overhead in File Systems on Open-Channel SSDs , 2019, ACM Trans. Storage.

[42]  Dan Feng,et al.  QBLK: Towards Fully Exploiting the Parallelism of Open-Channel SSDs , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[44]  Matias Bjørling,et al.  Zone Append: A New Way of Writing to Zoned Storage , 2020 .