Clean first or dirty first?: a cost-aware self-adaptive buffer replacement policy
Proceedings of the Fourteenth International Database Engineering & Applications Symposium
FD-buffer: a buffer manager for databases on flash disks
CIKM '10 Proceedings of the 19th ACM international conference on Information and knowledge management
Operation-aware buffer management in flash-based systems
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Flash-based database systems: experiences from the flashDB project
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
Trading memory for performance and energy
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
AD-LRU: An efficient buffer replacement algorithm for flash-based databases
Data & Knowledge Engineering
Joint management of RAM and flash memory with access pattern considerations
Proceedings of the 49th Annual Design Automation Conference
h-Buffer: an adaptive buffer management scheme for flash-based storage devices
DASFAA'12 Proceedings of the 17th international conference on Database Systems for Advanced Applications
Cooperating virtual memory and write buffer management for flash-based storage systems
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Adaptive in-page logging for flash-memory storage systems
Frontiers of Computer Science: Selected Publications from Chinese Universities
Flash-Aware Buffer Management for Database Systems
International Journal of Knowledge-Based Organizations
Hi-index | 0.43 |
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.