FLAP: Flash-aware Prefetching for Improving SSD-based Disk Cache

In modern enterprise storage systems, there is a trend that using NAND flash based solid state disks (SSDs) as a second-level disk cache to reduce the slow access to hard disk drives (HDDs) by caching the hot data of HDDs with SSDs. However, using SSDs for both caching and prefetching has rarely been discussed due to the performance penalty caused by unsuccessful prefetching, including garbage collection cost and disk bandwidth wasting. In this paper, a FLash-Aware Prefetching (FLAP) scheme has been presented to provide aggressive prefetching for improving the performance of sequential disk accesses. FLAP has been evaluated using well known real-world workloads. Experiment results show that FLAP can offer performance improvement under sequential workloads compared with pure caching, while reducing the internal garbage collection of SSDs

[1]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

[2]  Garth A. Gibson,et al.  Automatic I/O hint generation through speculative execution , 1999, OSDI '99.

[3]  Alan Jay Smith,et al.  I/O reference behavior of production database workloads and the TPC benchmarks—an analysis at the logical level , 1999, TODS.

[4]  Yuanyuan Zhou,et al.  Association Proceedings of the Third USENIX Conference on File and Storage Technologies San Francisco , CA , USA March 31 – April 2 , 2004 , 2004 .

[5]  Dharmendra S. Modha,et al.  SARC: Sequential Prefetching in Adaptive Replacement Cache , 2005, USENIX Annual Technical Conference, General Track.

[6]  Kai Shen,et al.  Managing prefetch memory for data-intensive online servers , 2005, FAST'05.

[7]  Luis Angel D. Bathen,et al.  AMP: Adaptive Multi-stream Prefetching in a Shared Cache , 2007, FAST.

[8]  Song Jiang,et al.  STEP: Sequentiality and Thrashing Detection Based Prefetching to Improve Performance of Networked Storage Servers , 2007, 27th International Conference on Distributed Computing Systems (ICDCS '07).

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

[10]  Arif Merchant,et al.  TaP: Table-based Prefetching for Storage Caches , 2008, FAST.

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

[12]  Hiroshi Yoshida,et al.  Storage Networking Industry Association , 2009, Encyclopedia of Database Systems.

[13]  Arif Merchant,et al.  Sequential Prefetch Cache Sizing for Maximal Hit Rate , 2010, 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

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

[15]  Kang G. Shin,et al.  FAST: Quick Application Launch on Solid-State Drives , 2011, FAST.

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

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

[18]  Steve Byan,et al.  Mercury: Host-side flash caching for the data center , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[19]  H. Howie Huang,et al.  Flashy prefetching for high-performance flash drives , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[20]  Heng Li,et al.  Data Interpretation Technology for Continuous Measurement Production Profile Logging , 2014, J. Multim..