Locality-Driven Dynamic Flash Cache Allocation

Flash-based SSDs are widely deployed as the storage caches to boost the system performance. However, unlike the traditional cache devices such as SRAM and DRAM, SSDs have internal garbage collection activities, which can severely degrade the cache performance. Moreover, SSD can only sustain limited P/E cycles. Therefore, traditional cache hit ratio oriented optimizations might not obtain the optimal performance for the SSD cache and can even shorten the device lifetime, especially for the SSD write cache, which could introduce more internal garbage collection processes and lifetime concerns. In this paper, we propose a reuse distance aware cache management to improve both the performance and lifetime of SSD-based write cache by compromising the cache hit ratio and the internal garbage collection overhead.

[1]  Frank Olken,et al.  Efficient methods for calculating the success function of fixed space replacement policies , 1983, Perform. Evaluation.

[2]  Fred Douglis,et al.  Beating the I/O bottleneck: a case for log-structured file systems , 1989, OPSR.

[3]  Thomas E. Anderson,et al.  The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[4]  阿米尔·班 Flash File System , 1994 .

[5]  Song Jiang,et al.  LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance , 2002, SIGMETRICS '02.

[6]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

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

[8]  Trevor N. Mudge,et al.  Improving NAND Flash Based Disk Caches , 2008, 2008 International Symposium on Computer Architecture.

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

[10]  Sam H. Noh,et al.  Augmenting RAID with an SSD for energy relief , 2008, CLUSTER 2008.

[11]  Vagelis Hristidis,et al.  BORG: Block-reORGanization for Self-optimizing Storage Systems , 2009, FAST.

[12]  Jongmoo Choi,et al.  Janus-FTL: finding the optimal point on the spectrum between page and block mapping schemes , 2010, EMSOFT '10.

[13]  Mithuna Thottethodi,et al.  SieveStore: a highly-selective, ensemble-level disk cache for cost-performance , 2010, ISCA '10.

[14]  M. Woods Optimizing Storage Performance and Cost with Intelligent Caching , 2010 .

[15]  Raju Rangaswami,et al.  I/O Deduplication: Utilizing content similarity to improve I/O performance , 2010, TOS.

[16]  Werner Bux,et al.  Performance of greedy garbage collection in flash-based solid-state drives , 2010, Perform. Evaluation.

[17]  Minseok Song,et al.  Solid State Disk ( SSD ) Management for Reducing Disk Energy Consumption in Video Servers , 2011 .

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

[19]  Tong Zhang,et al.  Quasi-nonvolatile SSD: Trading flash memory nonvolatility to improve storage system performance for enterprise applications , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[20]  P. Sadayappan,et al.  PARDA: A Fast Parallel Reuse Distance Analysis Algorithm , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[21]  Jongmoo Choi,et al.  Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems , 2012, FAST.

[22]  Nanning Zheng,et al.  LDPC-in-SSD: making advanced error correction codes work effectively in solid state drives , 2013, FAST.

[23]  Dan Feng,et al.  Improving flash-based disk cache with Lazy Adaptive Replacement , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[24]  Ping Huang,et al.  An aggressive worn-out flash block management scheme to alleviate SSD performance degradation , 2014, EuroSys '14.

[25]  Hyojun Kim,et al.  Evaluating Phase Change Memory for Enterprise Storage Systems: A Study of Caching and Tiering Approaches , 2014, TOS.

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

[27]  Raju Rangaswami,et al.  Centaur: Host-Side SSD Caching for Storage Performance Control , 2015, 2015 IEEE International Conference on Autonomic Computing.

[28]  Kai Li,et al.  RIPQ: Advanced Photo Caching on Flash for Facebook , 2015, FAST.

[29]  Qianbin Xia,et al.  Flash-Aware High-Performance and Endurable Cache , 2015, 2015 IEEE 23rd International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[30]  Antony I. T. Rowstron,et al.  Software-defined caching: managing caches in multi-tenant data centers , 2015, SoCC.

[31]  Irfan Ahmad,et al.  Efficient MRC Construction with SHARDS , 2015, FAST.

[32]  Bianca Schroeder,et al.  sRoute: Treating the Storage Stack Like a Network , 2016, FAST.

[33]  Qianbin Xia,et al.  High-Performance and Endurable Cache Management for Flash-Based Read Caching , 2016, IEEE Transactions on Parallel and Distributed Systems.

[34]  Qianbin Xia,et al.  Improving MLC Flash Performance with Workload-Aware Differentiated ECC , 2016, 2016 IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS).

[35]  Peter Desnoyers,et al.  Erasing Belady's Limitations: In Search of Flash Cache Offline Optimality , 2016, USENIX Annual Technical Conference.

[36]  Jeffrey S. Vetter,et al.  A Survey of Software Techniques for Using Non-Volatile Memories for Storage and Main Memory Systems , 2016, IEEE Transactions on Parallel and Distributed Systems.

[37]  Yingwei Luo,et al.  Kinetic Modeling of Data Eviction in Cache , 2016, USENIX Annual Technical Conference.