초록
플래시 메모리는 비휘발성, 저전력, 빠른 입출력, 충격에 강함 등과 같은 많은 장점으로 스마트 기기 및 임베디드 시스템의 저장매체로 많이 사용되고 있다. 낸드(NAND) 플래시에 사용되는 파일시스템(File System)은 대표적으로 YAFFS2, JFFS2, UBIFS 등이 있다. 본 논문에서는 최근 리눅스 커널에 포함된 UBIFS 파일시스템에 메모리 할당을 달리하여 I/O 성능을 실험한다. 제안한 I/O 성능 분석은 순차접근 방법과 랜덤접근으로 분류하고, 메모리 할당은 kmalloc(), vmalloc(), kmem_cache()를 사용하여 6가지 유형으로 나누어 실험하였다. 실험을 통하여 6가지 유형 중 UBI 서브시스템과 UBIFS에 vmalloc()과 kmalloc()을 적용한 2번째 유형이 순차읽기 12.45%, 순차다시쓰기 11.23%의 빠른 성능을 보였으며 랜덤 읽기에는 7.82% 랜덤 쓰기에서는 6.90%의 성능 향상을 보였다.
Flash memory is mostly used on smart devices and embedded systems because of its nonvolatile memory, low power, quick I/O, resistant shock, and other benefits. Generally the typical file systems base on the NAND flash memory are YAFFS2, JFFS2, UBIFS, and etc. In this paper, we had variously made an experiment regarding I/O performance using our schemes and the UBIFS of the latest Linux Kernel. The proposed I/O performance analyses were classified as a sequential access and a random access. Our experiment consists of 6 cases using kmalloc(), vmalloc(), and kmem_cache(). As a result of our experiment analyses, the sequential reading and the sequential rewriting increased by 12%, 11% when the Case 2 has applied vmalloc() and kmalloc() to the UBI subsystem and the UBIFS. Also, the performance improved more by 7.82%, 6.90% than the Case 1 at the random read and the random write.