SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD

To design the write buffer and flash translation layer (FTL) for a solid-state drive (SSD), previous studies have tried to increase overall SSD performance by parallel I/O and garbage collection overhead reduction. Recent works have proposed pattern-based managements, which uses the request size and read- or write-intensiveness to apply different policies to each type of data. In our observation, the locations of read and write requests are closely related, and the pattern of each type of data can be changed. In this work, we propose SUPA, a single unified read-write buffer and pattern-change-aware FTL on multi-channel SSD architecture. To increase both read and write hit ratios on the buffer based on locality, we use a single unified read-write buffer for both clean and dirty blocks. With proposed buffer, we can increase buffer hit ratio up to 8.0% and reduce 33.6% and 7.5% of read and write latencies, respectively. To handle pattern-changed blocks, we add a pattern handler between the buffer and the FTL, which monitors channel status and handles data by applying one of the two different policies according to the pattern changes. With pattern change handling process, we can reduce 1.0% and 15.4% of read and write latencies, respectively. In total, our evaluations show that SUPA can get up to 2.0 and 3.9 times less read and write latency, respectively, without loss of lifetime in comparison to previous works.

[1]  Li-Pin Chang,et al.  Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers , 2009, TODE.

[2]  Wei Xie,et al.  ASA-FTL: An adaptive separation aware flash translation layer for solid state drives , 2017, Parallel Comput..

[3]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[4]  Young Ik Eom,et al.  Hybrid write buffer algorithm for improving performance and endurance of nand flash storages , 2016, 2016 IEEE International Conference on Consumer Electronics (ICCE).

[5]  Li-Pin Chang,et al.  On the management of multichannel architectures of solid-state disks , 2011, 2011 9th IEEE Symposium on Embedded Systems for Real-Time Multimedia.

[6]  Seung Ryoul Maeng,et al.  A buffer replacement algorithm exploiting multi-chip parallelism in solid state disks , 2009, CASES '09.

[7]  KimJin-Soo,et al.  A reconfigurable FTL (flash translation layer) architecture for NAND flash-based applications , 2008 .

[8]  Dongkun Shin,et al.  KAST: K-associative sector translation for NAND flash memory in real-time systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[9]  Li-Pin Chang,et al.  Hybrid solid-state disks: Combining heterogeneous NAND flash in large SSDs , 2008, 2008 Asia and South Pacific Design Automation Conference.

[10]  Wei Xie,et al.  Parallel-DFTL: A Flash Translation Layer That Exploits Internal Parallelism in Solid State Drives , 2016, 2016 IEEE International Conference on Networking, Architecture and Storage (NAS).

[11]  Charles C. Weems,et al.  A Pattern Adaptive NAND Flash Memory Storage Structure , 2012, IEEE Transactions on Computers.

[12]  Kyu Ho Park,et al.  MNK: Configurable Hybrid Flash Translation Layer for Multi-Channel SSD , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[13]  Chundong Wang,et al.  ADAPT: Efficient workload-sensitive flash management based on adaptation, prediction and aggregation , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[14]  Young-Jin Kim,et al.  LAST: locality-aware sector translation for NAND flash memory-based storage systems , 2008, OPSR.

[15]  Joonwon Lee,et al.  CFLRU: a replacement algorithm for flash memory , 2006, CASES '06.

[16]  Hong Jiang,et al.  Improving Hybrid FTL by Fully Exploiting Internal SSD Parallelism with Virtual Blocks , 2014, ACM Trans. Archit. Code Optim..

[17]  Tae-Sun Chung,et al.  Data pattern aware FTL for SLC+MLC hybrid SSD , 2015, Des. Autom. Embed. Syst..

[18]  Bongki Moon,et al.  FASTer FTL for Enterprise-Class Flash Memory SSDs , 2010, 2010 International Workshop on Storage Network Architecture and Parallel I/Os.

[19]  Jin-Soo Kim,et al.  FAB: flash-aware buffer management policy for portable media players , 2006, IEEE Transactions on Consumer Electronics.

[20]  Xubin He,et al.  BPAC: An adaptive write buffer management scheme for flash-based Solid State Drives , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[21]  Kyu Ho Park,et al.  A hybrid flash translation layer with adaptive merge for SSDs , 2011, TOS.

[22]  Hyojun Kim,et al.  BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage , 2008, FAST.

[23]  Jin-Soo Kim,et al.  μ-FTL:: a memory-efficient flash translation layer supporting multiple mapping granularities , 2008, EMSOFT '08.

[24]  Youngjae Kim,et al.  FlashSim: A Simulator for NAND Flash-Based Solid-State Drives , 2009, 2009 First International Conference on Advances in System Simulation.

[25]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[26]  Kyu Ho Park,et al.  CAVE: channel-aware buffer management scheme for solid state disk , 2011, SAC '11.

[27]  Sang Lyul Min,et al.  Hydra: A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture , 2010, IEEE Transactions on Computers.

[28]  Dongkun Shin,et al.  Recently-evicted-first buffer replacement policy for flash storage devices , 2008, IEEE Transactions on Consumer Electronics.

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

[30]  Heeseung Jo,et al.  A superblock-based flash translation layer for NAND flash memory , 2006, EMSOFT '06.

[31]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[32]  Da-Wei Chang,et al.  Cross-Layer Optimizations in Solid-State Drives , 2011, IEEE Embedded Systems Letters.

[33]  Bharadwaj Veeravalli,et al.  WAFTL: A workload adaptive flash translation layer with data partition , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[34]  Charles C. Weems,et al.  Sub-grouped superblock management for high-performance flash storages , 2009, IEICE Electron. Express.

[35]  Jun Yang,et al.  CBM: A cooperative buffer management for SSD , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[36]  Da-Wei Chang,et al.  BLAS: Block-level adaptive striping for solid-state drives , 2014, TODE.

[37]  Guoliang Li,et al.  LazyFTL: a page-level flash translation layer optimized for NAND flash memory , 2011, SIGMOD '11.

[38]  David Hung-Chang Du,et al.  A Workload-Aware Adaptive Hybrid Flash Translation Layer with an Efficient Caching Strategy , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[39]  Tei-Wei Kuo,et al.  An adaptive two-level management for the flash translation layer in embedded systems , 2006, ICCAD.

[40]  Sooyong Kang,et al.  Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices , 2009, IEEE Transactions on Computers.