A popularity-aware buffer management to improve buffer hit ratio and 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 78% garbage collection overhead reduction compared to existing buffer management schemes.

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

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

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

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

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

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

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

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

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

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