Abstract
Flash storage devices are very popularly used in portable devices such as cell phones, PDAs and MP3 players. As technology is improved, users want much bigger and faster storage system. Paradoxically, people have to wait more and more time proportionally to the capacity of their storage devices when these are trying to be recovered after file system crash. It is serious problem because booting time of devices is dominated by crash recovery of flash file system. In this paper, we design a crash recovery mechanism, named 'Working Area(WA hereafter)' technique, which has bounded crash recovery execution time. With WA technique, write operations to flash memory are only performed in WA. Therefore, by simply scanning the latest WA. We can recover a file system crash because every change for flash memory is occured only in latest WA. We implement the WA technique based on YAFFS2 and evaluate by comparing with traditional techniques. As a result, WA technique shows that its crash recovery execution time is 25 times faster than Log-based Method when we use 1 gig a bytes NAND flash memory in worst case. This gap will be futher and futher as storage capacity grows.
현재 낸드 플래시 메모리는 다양한 이동형 기기에 활용되면서 급격하고 지속적인 성장을 하고 있다. 사용자들은 더욱 용량이 크고 빠른 기기들을 요구하지만, 현재의 낸드 플래시 파일 시스템은 결함 상황에서 복구 및 초기화 시간이 미디어의 용량에 비례하여 지연되는 문제가 있으며 이는 기기의 부팅 시간을 지연시켜 사람들의 불편을 초래한다. 우리는 이를 해결하기 위해 파일 시스템 초기화 시간이 미디어의 용량과 무관하도록 '작업 영역 기법'을 제안한다. 작업 영역 기법은 한 시점에서 낸드 플래시 메모리의 일부 영역만을 작업 공간으로 정의하고 유지하며 쓰기 명령을 작업 공간 안에서만 수행시킨다. 따라서 결합 상황에서 복구시 검색해야 할 크기를 최근 작업 영역으로 제한하므로써 결함 복구 수행 시간이 낸드 플래시 메모리 용량과 비례하지 않도록 한다. 우리는 이러한 작업 영역 기법을 YAFFS2를 기반으로 구현하였으며 기존 기법들과 초기화 성능을 비교해 보았다. 그 결과 1기가 낸드 플래시 메모리상에서 결함 복구 수행 시간이 기존의 로그 기반 기법에 비해 25배 가량 단축됨을 확인했다. 이러한 격차는 낸드 플래시 메모리 용량이 늘어날수록 커질 것이다.