Abstract
Mobile Multimedia File System, MNFS, is a file system which extensively exploits NAND FLASH Memory, Since general Flash file systems does not precisely meet the criteria of mobile devices such as MP3 Player, PMP, Digital Camcorder, MNFS is designed to guarantee the optimal performance of FLASH Memory file system. Among many features MNFS provides, there are three distinguishable characteristics. MNFS guarantees, first, constant response time in sequential write requests of the file system, second, fast file system mounting time, and lastly least memory footprint. MNFS implements four schemes to provide such features, Hybrid mapping scheme to map file system metadata and user data, manipulation of user data allocation to fit allocation unit of file data into allocation unit of NAND FLASH Memory, iBAT (in core only Block Allocation Table) to minimize the metadata, and bottom-up representation of directory. Prototype implementation of MNFS was tested and measured its performance on ARM9 processor and 1Gbit NAND FLASH Memory environment. Its performance was compared with YAFFS, NAND FLASH File system, and FAT file system which use FTL. This enables to observe constant request time for sequential write request. It shows 30 times faster mounting time to YAFFS, and reduces 95% of HEAP memory consumption compared to YAFFS.
본 연구는 NAND 플래시 메모리를 기반으로 하는 모바일 멀티미디어 파일시스템(MNFS)에 관한 내용이다. 이 연구에서 제안하는 파일시스템은 기존 범용 플래시 파일시템과는 달리 MP3 플레이어, PMP, 디지털 캠코더 둥과 같은 모바일 멀티미디어 장치에서 최적의 성능을 보장하기 위하여 설계된 파일시스템이다. MNFS는 크게 세 가지의 특징을 갖는데, 첫째 파일시스템의 순차적인 쓰기 요청에 대해 균일한 응답시간을 보장하고, 둘째 파일시스템 마운트 시간이 빠르며, 셋째 최소한의 메모리만을 소모한다. 이를 위해 4가지 새로운 기법들을 사용한다. 파일시스템 메타데이타와 사용자 데이타를 서로 다른 맵핑 기법으로 관리하는 혼합 맵핑 기법과, 파일 데이타 할당 단위를 NAND 플래시 메모리의 블록 단위로 사용한 블록 단위사용자 데이타 할당, 메타데이타를 최소화하기 위한 iBAT, 그리고 상향식 디렉토리 표현기법이다. 프로토타입 MNFS를 ARM9 프로세서와 1G 비트 용량의 NAND 플래시 메모리환경에서 구현하고 성능을 측정한다. 기존의 NAND 플래시 파일시템인 YAFFS와 FTL을 사용하는 FAT 파일시스템과 비교하였으며, 순차적 쓰기 요청에 대해 빠르고 균일한 응답시간을 확인할 수 있다. 또, 같은 조건에서 YAFFS에 비해 30배 빠른 마운트 시간을 보였고, Heap 메모리도 YAFFS의 5%밖에 소모하지 않았다.