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% 줄었다.