Page replacement for write references in NAND flash based virtual memory systems

被引:5
作者
Lee, Hyejeong [1 ]
Bahn, Hyokyung [1 ]
Shin, Kang G. [2 ]
机构
[1] Department of Computer Engineering, Ewha Womans University, Seoul
[2] Department of Electrical Engineering and Computer Science, The University of Michigan, MI
关键词
Flash memory; Memory; Secondary storage; Storage hierarchies; Swapping; Virtual memory;
D O I
10.5626/JCSE.2014.8.3.157
中图分类号
学科分类号
摘要
Contemporary embedded systems often use NAND flash memory instead of hard disks as their swap space of virtual memory. Since the read/write characteristics of NAND flash memory are very different from those of hard disks, an efficient page replacement algorithm is needed for this environment. Our analysis shows that temporal locality is dominant in virtual memory references but that is not the case for write references, when the read and write references are monitored separately. Based on this observation, we present a new page replacement algorithm that uses different strategies for read and write operations in predicting the re-reference likelihood of pages. For read operations, only temporal locality is used; but for write operations, both write frequency and temporal locality are used. The algorithm logically partitions the memory space into read and write areas to keep track of their reference patterns precisely, and then dynamically adjusts their size based on their reference patterns and I/O costs. Without requiring any external parameter to tune, the proposed algorithm outperforms CLOCK, CAR, and CFLRU by 20%-66%. It also supports optimized implementations for virtual memory systems. © 2014. The Korean Institute of Information Scientists and Engineers.
引用
收藏
页码:157 / 172
页数:15
相关论文
共 28 条
[1]  
Hsieh J.W., Wu C.H., Chiu G.M., MFTL: a design and implementation for MLC flash memory storage systems, ACM Transactions on Storage, 8, 2, (2012)
[2]  
Understanding the Flash Translation Layer (FTL) Specification, (1998)
[3]  
Josephson W.K., Bongo L.A., Li K., Flynn D., DFS: a file system for virtualized flash storage, ACM Transactions on Storage, 6, 3, (2010)
[4]  
Kawaguchi A., Nishioka S., Motoda H., A flash-memory based file system, Proceedings of USENIX Technical Conference, (1995)
[5]  
Kim J., Kim J.M., Noh S.H., Min S.L., Cho Y., A space-efficient flash translation layer for CompactFlash systems, IEEE Transaction on Consumer Electronics, 48, 2, pp. 366-375, (2002)
[6]  
Kwon O., Koh K., Lee J., Bahn H., FeGC: an efficient garbage collection scheme for flash memory based storage systems, Journal of Systems and Software, 84, 9, pp. 1507-1523, (2011)
[7]  
Woodhouse D., JFFS: the journaling flash file system,, Proceedings of Ottawa Linux Symposium, (2001)
[8]  
Park C., Kang J.U., Park S.Y., Kim J.S., Energyaware demand paging on NAND flash-based embedded storages, Proceedings of International Symposium on Low Power Electronics and Design, pp. 338-343, (2004)
[9]  
Park S.Y., Jung D., Kang J.U., Kim J.S., Lee J., CFLRU: replacement algorithm for flash memory, Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pp. 234-241, (2006)
[10]  
Shi L., Xue C.J., Zhou X., Cooperating write buffer cache and virtual memory management for flash memory based systems, Proceedings of the 17th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 147-156, (2011)