A Policy of Page Management Using Double Cache for NAND Flash Memory File System

NAND 플래시 메모리 파일 시스템을 위한 더블 캐시를 활용한 페이지 관리 정책

  • 박명규 (중앙대학교 컴퓨터공학과) ;
  • 김성조 (중앙대학교 컴퓨터공학과)
  • Published : 2009.10.15

Abstract

Due to the physical characteristics of NAND flash memory, overwrite operations are not permitted at the same location, and therefore erase operations are required prior to rewriting. These extra operations cause performance degradation of NAND flash memory file system. Since it also has an upper limit to the number of erase operations for a specific location, frequent erases should reduce the lifetime of NAND flash memory. These problems can be resolved by delaying write operations in order to improve I/O performance: however, it will lower the cache hit ratio. This paper proposes a policy of page management using double cache for NAND flash memory file system. Double cache consists of Real cache and Ghost cache to analyze page reference patterns. This policy attempts to delay write operations in Ghost cache to maintain the hit ratio in Real cache. It can also improve write performance by reducing the search time for dirty pages, since Ghost cache consists of Dirty and Clean list. We find that the hit ratio and I/O performance of our policy are improved by 20.57% and 20.59% in average, respectively, when comparing them with the existing policies. The number of write operations is also reduced by 30.75% in average, compared with of the existing policies.

NAND 플래시 메모리는 특성상 덮어쓰기 연산이 불가능하기 때문에 지움 연산이 선행되어야 하므로 I/O 처리 속도가 느려지게 되어 성능저하의 원인이 된다. 또한 지움 횟수가 제한적 이어서 지움 연산이 빈번히 발생하게 되면, NAND 플래시 메모리의 수명이 줄어든다. 이러한 문제점을 해결하기 위해 NAND 플래시 메모리의 특성을 고려한 쓰기 지연 기법을 사용하면, 쓰기 횟수가 줄어들어 I/O 성능 향상에 도움이 되지만, 캐시 적중률이 낮아진다. 본 논문은 NAND 플래시 메모리 파일 시스템을 위한 더블캐시를 활용한 페이지 관리 정책을 제안한다. 더블 캐시는 실질적인 캐시인 Real Cache와 참조 페이지의 패턴을 관찰하기 위한 Ghost Cache로 구성된다. 이 정책은 Ghost Cache에서 쓰기를 지연함으로써 Real Cache에서의 적중률을 유지할 수 있고, Ghost Cache를 Dirty 리스트와 Clean 리스트로 구성하여 Dirty 페이지에 대한 탐색 시간을 줄임으로써 쓰기 연산 성능을 높인다. 기존 정책들과의 성능을 비교한 결과 제안된 정책이 기존 정책들에 비해 평균적으로 적중률은 20.57%, 그리고 I/O 성능은 20.59% 우수했고, 쓰기 횟수는 30.75% 줄었다.

Keywords

References

  1. Needham & Company, LCC, NAND vs. Hard Disk Drives: Hype, Myth and Reality, October, 2005.
  2. Greg Cagne, Abraham Silberschatz, Peter Baer Galvin, Operating System Concepts, 6th eition, Wiley, 2003.
  3. Chanik Park, Jeong-Uk Kang, Seon-Yeong Park, Jin-Soo Kim, "Energy-aware Demand Paging on NAND Flash-based Embedded Storages," Proceedings o the 2004 International Storages," Processdings of the 2004 International Symposium on Low Power Electronics and Design Table of Contents, pp.338-343, 2004.
  4. 박상오, 김경산, 김성조, "NAND 플래시 메모리 시스템 계층에서 프로그램의 페이지 참조 패턴을 고려한 캐시 및 선반입 정책", 정보처리학회논문지 A, 제 14-A권 제4호, pp.235-244, 2007.
  5. 정호영, 박성민, 차재혁, 강수용, "플래시 메모리를 위한 Not-cold-page 쓰기지연을 통한 LRU 버퍼교체 정책 개선", 정보과학회논문지 : 시스템 및 이론, 제33권 제9호, pp.634-641, 2006.
  6. 박종민, 박동주, "플래시 메뫼상에서 시스템 소프트웨어의 효율적인 버퍼 페이지 교체 기법", 정보과학회논문지: 데이터베이스, 제34권 제2호, pp.133-140, 2007.
  7. N. Megiddo, D.S. Modha, "ARC: A Self-Tuning, Low Overhead Replacement Cache," Proc. Usenix Conf. File and Storage Technologies, Usenix, pp. 115-130, 2003.
  8. Li-Pin Chang, Tei-Wei Kuo, "An Efficient Management Scheme for Large-Scale Flash-Memory Storage Systems," In Proceedings of the ACM Symposium on Applied Computing (SAC), pp.862-868, 2004.
  9. Jesung Kim, Jong Min Kim, S. H. Noh, Sang Lyul Min, Yookun Cho, "A Space-Efficient Flash Translation Layer for CompactFlash Systems," IEEE Transactions on Consumer Electronics, vol.48, no.2, pp.366-375, 2002. https://doi.org/10.1109/TCE.2002.1010143
  10. Michael Wu, Willy Zwaenepoel, "eNVy: A Non-Volatile, Main Memory Storage System," In Proceedings of the ACM International Conference on Architetural Support for Programming Languages and Operating Systems (ASPLOS), pp.86-97, 1994.
  11. J. Kim, J.M. Kim, S.H. Noh, S.L. Min, and Y.Cho, "A Space-Efiient Flash Translation Layer for Compact Flash System," IEEE Transactions on Consumer Electronics, vol.48 no.2, pp.366-375, 2002 https://doi.org/10.1109/TCE.2002.1010143
  12. T. Johnson and D. Shasha, "2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm," in Proc. VLDB Conf., pp.297-306, 1994.
  13. 이종민, 현철승, 이동희, "적응형 LRFU 블록 교체 정책의 설계", 한국컴퓨터종합학술대회논문집, vol.34, no.1(A), 2007.
  14. CommDesign, Flash memory 101: An Introduction to NAND Flash, 2006.
  15. IQzone Organization, "IQzone Filesystem Benchmark", http://www.iozone.org/.
  16. NAND Simulator, "Memory Technology Devie(MTD) Subsystem for Linux," http://www.linuxmtd.infradead.org/.