HDC: An adaptive buffer replacement algorithm for NAND flash memory-based databases

Abstract This paper proposes an adaptive buffer replacement algorithm for NAND flash memory-based databases, which is called HDC. HDC introduces an efficient replacing index for selecting pages to be evicted. This replacing index considers two factors: the hot degree of each page and the cost of writing the victim page back to NAND flash memory. It can adaptively change the weight of each factor according to the cost ratio of NAND flash memory. HDC also introduces an efficient partial update scheme, which only writes the dirty data within the dirty victim page back to NAND flash memory for further reducing the number of write operations and writes the dirty data to the free block with the lowest erase count for improving the wear-leveling degree of NAND flash memory. We conduct trace-driven simulations on two kinds of NAND flash memories the cost ratios of which are 118:1 and 2:1. The experimental results show that HDC outperforms the state-of-the-art algorithms on both these kinds of NAND flash memories.

[1]  Peiquan Jin,et al.  CCF-LRU: a new buffer replacement algorithm for flash memory , 2009, IEEE Transactions on Consumer Electronics.

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

[3]  Tang Xian,et al.  Cost-Based Buffer Management Algorithm for Flash Database Systems , 2011 .

[4]  Chia-Lin Yang,et al.  Energy-Aware Flash Memory Management in Virtual Memory System , 2008 .

[5]  Sooyong Kang,et al.  LRU-WSR: integration of LRU and writes sequence reordering for flash memory , 2008, IEEE Transactions on Consumer Electronics.

[6]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[7]  Hiroshi Motoda,et al.  A Flash-Memory Based File System , 1995, USENIX.

[8]  Hyokyung Bahn,et al.  Page Replacement Algorithms for NAND Flash Memory Storages , 2007, ICCSA.

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

[10]  Jongmoo Choi,et al.  An Empirical Study of FTL Performance in Conjunction with File System Pursuing Data Integrity , 2010, IEICE Trans. Inf. Syst..

[11]  Tae-Sun Chung,et al.  FTL algorithms for NAND-type flash memories , 2011, Des. Autom. Embed. Syst..

[12]  Song Jiang,et al.  CLOCK-Pro: An Effective Improvement of the CLOCK Replacement , 2005, USENIX Annual Technical Conference, General Track.

[13]  Mingwei Lin,et al.  Greedy page replacement algorithm for flash-aware swap system , 2012, IEEE Transactions on Consumer Electronics.

[14]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

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

[16]  Zhen Zhou,et al.  Garbage collection policy for flash-aware Linux swap system , 2011 .

[17]  M. Lin,et al.  Optimised Linux swap system for flash memory , 2011 .