A Popularity-Aware Buffer Management to Improve Buffer Hit Ratio and Write Sequentiality for Solid-State Drive

Random writes significantly limit the application of flash memory in enterprise environment due to its poor latency, shorten lifetime and high garbage collection overhead. Solid-state drive (SSD) uses a small part of memory as buffer to reduce random write and extend lifetime. Existing block-based buffer management schemes exploit spatial locality to improve the write sequentiality at a cost of low buffer hit ratio. In this paper, we propose a novel buffer management scheme referred to as PAB, which adopts both buffer hit ratio and write sequentiality as design objectives. Leveraging block popularity, PAB makes full use of both temporal and spatial localities at block level. When replacement happens, PAB selects victim block based on block popularity, page counter and block dirty flag. As universal buffer, PAB serves both read and write requests to increase the possibility to form sequential write. PAB has been extensively evaluated under real enterprise workloads. Our benchmark results conclusively demonstrate that PAB can achieve up to 72% performance improvement and 308% block erasure reduction compared to existing buffer management schemes.

[1]  Xiao Liu,et al.  A cost-effective strategy for intermediate data storage in scientific cloud workflow systems , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[2]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[3]  Brian D. Noble,et al.  Using Provenance to Aid in Personal File Search , 2007, USENIX Annual Technical Conference.

[4]  M. Frans Kaashoek,et al.  Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files , 1997, USENIX Annual Technical Conference.

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

[6]  Margo I. Seltzer,et al.  Provenance for the Cloud , 2010, FAST.

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

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

[9]  Yulai Xie,et al.  Design and evaluation of Oasis: An active storage framework based on T10 OSD standard , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[10]  Indranil Gupta,et al.  On Availability of Intermediate Data in Cloud Computations , 2009, HotOS.

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

[12]  Yulai Xie,et al.  A hybrid approach for efficient provenance storage , 2012, CIKM '12.

[13]  Shankar Pasupathy,et al.  Maximizing Efficiency by Trading Storage for Computation , 2009, HotCloud.

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

[15]  Margo I. Seltzer,et al.  Choosing a Data Model and Query Language for Provenance , 2008, IPAW 2008.

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

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

[18]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

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

[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]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[22]  Hong Jiang,et al.  WorkOut: I/O Workload Outsourcing for Boosting RAID Reconstruction Performance , 2009, FAST.

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

[24]  David Hung-Chang Du,et al.  Large Block CLOCK (LB-CLOCK): A write caching algorithm for solid state disks , 2009, 2009 IEEE International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems.

[25]  Ilya Sharapov,et al.  Characteristics of workloads used in high performance and technical computing , 2007, ICS '07.

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

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

[28]  Margo I. Seltzer,et al.  Provenance-Aware Storage Systems , 2006, USENIX ATC, General Track.

[29]  Gregory R. Ganger,et al.  Object-based storage , 2003, IEEE Commun. Mag..

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