WEC: Improving Durability of SSD Cache Drives by Caching Write-Efficient Data

Serving as cache disks, flash-based solid-state drives (SSDs) can significantly boost the performance of read-intensive applications. However, frequent data updating, the necessary condition for classical replacement algorithms (e.g., LRU, MQ, LIRS, and ARC) to achieve a high hit rate, makes SSDs wear out quickly. To address this problem, we propose a new approach-write-efficient caching (WEC)-to greatly improve the write durability of SSD cache. WEC is conducive to reducing the total number of writes issued to SSDs while achieving high hit rates. WEC takes two steps to improve write durability and performance of SSD cache. First, WEC discovers write-efficient data, which tend to be active for a long time period and to be frequently accessed. Second, WEC keeps the write-efficient data in SSDs long enough to avoid excessive number of unnecessary updates. Our findings based on a wide range of popular real-world traces show that write-efficient data does exist in a wide range of popular read-intensive applications. Our experimental results indicate that compared with the classical algorithms, WEC judiciously improves the mean hits of each written block by approximately two orders of magnitude while exhibiting similar or even higher hit rates.

[1]  Andrea C. Arpaci-Dusseau,et al.  Warming up storage-level caches with bonfire , 2013, FAST.

[2]  Ming Zhao,et al.  Write policies for host-side flash caches , 2013, FAST.

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

[4]  Qing Yang,et al.  A New Buffer Cache Design Exploiting Both Temporal and Content Localities , 2010, 2010 IEEE 30th International Conference on Distributed Computing Systems.

[5]  Qing Yang,et al.  I-CASH: Intelligently Coupled Array of SSD and HDD , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[6]  László Böszörményi,et al.  A survey of Web cache replacement strategies , 2003, CSUR.

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

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

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

[10]  Matt Blaze NFS Tracing By Passive Network Monitoring , 1992 .

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

[12]  Yuanyuan Zhou,et al.  Second-level buffer cache management , 2004, IEEE Transactions on Parallel and Distributed Systems.

[13]  Yuqing Zhu,et al.  BigDataBench: A big data benchmark suite from internet services , 2014, 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA).

[14]  Sungjin Lee,et al.  Lifetime management of flash-based SSDs using recovery-aware dynamic throttling , 2012, FAST.

[15]  John D. Davis,et al.  Block Management in Solid-State Devices , 2009, USENIX Annual Technical Conference.

[16]  Jeanna Matthews,et al.  Intel® Turbo Memory: Nonvolatile disk caches in the storage hierarchy of mainstream computer systems , 2008, TOS.

[17]  Exadata Smart Flash Cache Features and the Oracle Exadata Database Machine , 2022 .

[18]  Michael M. Swift,et al.  FlashVM: Virtual Memory Management on Flash , 2010, USENIX Annual Technical Conference.

[19]  Qi Zhang,et al.  Characterization of storage workload traces from production Windows Servers , 2008, 2008 IEEE International Symposium on Workload Characterization.

[20]  Eunji Lee,et al.  Unioning of the buffer cache and journaling layers with non-volatile memory , 2013, FAST.

[21]  Qian Zhang,et al.  A Trace-Driven Approach to Evaluate the Scalability of P2P-Based Video-on-Demand Service , 2009, IEEE Transactions on Parallel and Distributed Systems.

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

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

[24]  Michael M. Swift,et al.  FlashTier: a lightweight, consistent and durable storage cache , 2012, EuroSys '12.

[25]  Vivek S. Pai,et al.  SSDAlloc: Hybrid SSD/RAM Memory Management Made Easy , 2011, NSDI.

[26]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

[27]  J. T. Robinson,et al.  Data cache management using frequency-based replacement , 1990, SIGMETRICS '90.

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

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

[30]  Mahesh Balakrishnan,et al.  Extending SSD Lifetimes with Disk-Based Write Caches , 2010, FAST.

[31]  Peter Desnoyers,et al.  Write Endurance in Flash Drives: Measurements and Analysis , 2010, FAST.