CCF-LRU: a new buffer replacement algorithm for flash memory

  • Authors:
  • Zhi Li;Peiquan Jin;Xuan Su;Kai Cui;Lihua Yue

  • Affiliations:
  • Sch. of Comput. Sci. & Technol., Univ. of Sci. & Technol. of China, Hefei, China;-;-;-;-

  • Venue:
  • IEEE Transactions on Consumer Electronics
  • Year:
  • 2009

Quantified Score

Hi-index 0.43

Visualization

Abstract

NAND flash memory has been widely used for storage in embedded systems and recently in enterprise computing environment, owing to its shock-resistance, nonvolatile, low energy consumption, and high I/O speed. In addition, flash memory has the characteristics of not-in-place update and asymmetric I/O costs among read, write, and erase operations, in which the cost of write/erase operations is much higher than that of read operation. Hence, the buffer replacement algorithms in flash-based systems should take the asymmetric I/O costs into account. Previous solutions to this issue, such as CFLRU and LRU-WSR, used a clean-first scheme to first evict clean pages from the buffer. Although they outperform the traditional LRU policy in performance, they do not consider the access frequency of clean page, which will consequently result in poor I/O performance. In order to solve this problem, we present a new buffering algorithm in this paper, called CCF-LRU, which enhances the previous CFLRU and LRU-WSR methods by differentiating clean pages into cold and hot ones, and evicting cold clean pages first and delaying the eviction of hot clean pages. We conduct a trace-driven experiment on a flash memory simulation environment, and use six types of synthesized traces as well as a real OLTP trace. The results show that the CCF-LRU algorithm outperforms LRU, CFLRU and LRUWSR in write count and runtime in all experiments. In particular, it provides more than 20% improvement over its competitors both in write count and runtime, when running the real OLTP trace.