Improving Performance for Flash-Based Storage Systems through GC-Aware Cache Management

Flash-based SSDs have been extensively deployed in modern storage systems to satisfy the increasing demand of storage performance and energy efficiency. However, Garbage Collection (GC) is an important performance concern for flash-based SSDs, because it tends to disrupt the normal operations of an SSD. This problem continues to plague flash-based storage systems, particularly in the high performance computing and enterprise environment. An important root cause for this problem, as revealed by previous studies, is the serious contention for the flash resources and the severe mutually adversary interference between the user I/O requests and GC-induced I/O requests. The on-board buffer cache within SSDs serves to play an essential role in smoothing the gap between the upper-level applications and the lower-level flash chips and alleviating this problem to some extend. Nevertheless, the existing cache replacement algorithms are well optimized to reduce the miss rate of the buffer cache by reducing the I/O traffic to the flash chips as much as possible, but without considering the GC operations within the flash chips. Consequently, they fail to address the root cause of the problem and thus are far from being sufficient and effective in reducing the expensive I/O traffic to the flash chips that are in the GC state. To address this important performance issue in flash-based storage systems, particularly in the HPC and enterprise environment, we propose a Garbage Collection aware Replacement policy, called GCaR, to improve the performance of flash-based SSDs. The basic idea is to give higher priority to caching the data blocks belonging to the flash chips that are in the GC state. This substantially lessens the contentions between the user I/O operations and the GC-induced I/O operations. To verify the effectiveness of GCaR, we have integrated it into the SSD extended Disksim simulator. The simulation results show that GCaR can significantly improve the storage performance by up to 40.7 percent in terms of the average response times.

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

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

[3]  Suzhen Wu,et al.  Availability-Aware Cache Management with Improved RAID Reconstruction Performance , 2010, 2010 13th IEEE International Conference on Computational Science and Engineering.

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

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

[6]  Jongman Kim,et al.  A semi-preemptive garbage collector for solid state drives , 2011, (IEEE ISPASS) IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE.

[7]  胡洋 PASS: A Proactive and Adaptive SSD Buffer Scheme for Data-Intensive Workloads , 2015 .

[8]  Hong Jiang,et al.  Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity , 2011, ICS '11.

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

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

[11]  John Shalf,et al.  Triple-A: a Non-SSD based autonomic all-flash array for high performance storage systems , 2014, ASPLOS.

[12]  Arun Jagatheesan,et al.  Understanding the Impact of Emerging Non-Volatile Memories on High-Performance, IO-Intensive Computing , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[13]  Suzhen Wu,et al.  Exploiting request characteristics and internal parallelism to improve SSD performance , 2015, 2015 33rd IEEE International Conference on Computer Design (ICCD).

[14]  Hong Jiang,et al.  GC-ARM: Garbage Collection-Aware RAM Management for Flash Based Solid State Drives , 2012, 2012 IEEE Seventh International Conference on Networking, Architecture, and Storage.

[15]  Galen M. Shipman,et al.  Workload characterization of a leadership class storage cluster , 2010, 2010 5th Petascale Data Storage Workshop (PDSW '10).

[16]  Junghee Lee,et al.  Harmonia: A globally coordinated garbage collector for arrays of Solid-State Drives , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[17]  Xubin He,et al.  Reducing SSD read latency via NAND flash program and erase suspension , 2012, FAST.

[18]  Feng Chen,et al.  Hystor: making the best use of solid state drives in high performance storage systems , 2011, ICS '11.

[19]  Alan Jay Smith,et al.  The performance impact of I/O optimizations and disk improvements , 2004, IBM J. Res. Dev..

[20]  Miaoqing Huang,et al.  Improving the Performance of On-Board Cache for Flash-Based Solid-State Drives , 2012, 2012 IEEE Seventh International Conference on Networking, Architecture, and Storage.

[21]  Anand Sivasubramaniam,et al.  Leveraging Value Locality in Optimizing NAND Flash-based SSDs , 2011, FAST.

[22]  Jin-Soo Kim,et al.  An adaptive partitioning scheme for DRAM-based cache in Solid State Drives , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[23]  Hong Jiang,et al.  HPDA: A hybrid parity-based disk array for enhanced performance and reliability , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[24]  Yuanyuan Zhou,et al.  PB-LRU: a self-tuning power aware storage cache replacement algorithm for conserving disk energy , 2004, ICS '04.

[25]  Mahmut T. Kandemir,et al.  Taking Garbage Collection Overheads Off the Critical Path in SSDs , 2012, Middleware.

[26]  Hong Jiang,et al.  GCaR: Garbage Collection aware Cache Management with Improved Performance for Flash-based SSDs , 2016, ICS.

[27]  Junghee Lee,et al.  Coordinating Garbage Collectionfor Arrays of Solid-State Drives , 2014, IEEE Transactions on Computers.

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

[29]  Galen M. Shipman,et al.  Efficient Object Storage Journaling in a Distributed Parallel File System , 2010, FAST.

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

[31]  Hong Jiang,et al.  Understanding performance anomalies of SSDs and their impact in enterprise application environment , 2012, SIGMETRICS '12.

[32]  Tian Luo,et al.  CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives , 2011, FAST.

[33]  Mahmut T. Kandemir,et al.  HIOS: A host interface I/O scheduler for Solid State Disks , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[34]  Hao Wang,et al.  Reducing Solid-State Storage Device Write Stress through Opportunistic In-place Delta Compression , 2016, FAST.

[35]  Yingwei Luo,et al.  LAMA: Optimized Locality-aware Memory Allocation for Key-value Cache , 2015, USENIX Annual Technical Conference.

[36]  Mohammad Arjomand,et al.  Unleashing the potentials of dynamism for page allocation strategies in SSDs , 2014, SIGMETRICS '14.

[37]  Hong Jiang,et al.  SAR: SSD Assisted Restore Optimization for Deduplication-Based Storage Systems in the Cloud , 2012, 2012 IEEE Seventh International Conference on Networking, Architecture, and Storage.

[38]  Xin Li,et al.  Victim Disk First: An Asymmetric Cache to Boost the Performance of Disk Arrays under Faulty Conditions , 2011, USENIX Annual Technical Conference.

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

[40]  Zhuan Chen,et al.  OrderMergeDedup: Efficient, Failure-Consistent Deduplication on Flash , 2016, FAST.

[41]  Xubin He,et al.  Delta-FTL: improving SSD lifetime via exploiting content locality , 2012, EuroSys '12.

[42]  Hong Jiang,et al.  PUD-LRU: An Erase-Efficient Write Buffer Management Algorithm for Flash Memory SSD , 2010, 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

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

[44]  Andrew A. Chien,et al.  Tiny-Tail Flash , 2017, ACM Trans. Storage.