infatuation

JFFS 본문

Study/FlashMemory&DB

JFFS

화령 2009. 7. 27. 21:12
  • 파일시스템
  • 디스크 기반 파일시스템에서는 다양한 특성과 목적을 가진 파일 시스템들이 있다.특히 파일 시스쳄은 목적 지행적으로 설계가 된다. 각 파일 시스쳄은 특정 몫적에 맞게 개발이 되기 때문에 어떤 파일 시스템이 더 좋다고 평가하는 것은 무리다. 굳이 비교를 하겠다면 같은 분류에 속한 파일시스템 간에는 비교할 수 있다. 뭐 예를 들면 NTFS나 FAT의 비교가 될 것이다. 하지만 이 둘을 비교를 비교를 하는 것도 문제가 있지만 말이다. NTFS나 FAT 모두 디스크 파일 시스템임은 분명하지만 NTFS는 저널링 파일 시스템이고 FAT는 그렇지 않다.
    JFFS는 문자 그대로 저널링을 지원하는 파일시스템이다. 저널링의 개념은 트랜잭션을 지원하는 파일시스템을 떠올리면 간단하다. 마치 일기처럼 언제 어디서든 무엇을 통해서 기록을 남기는 것이다. 미리 구조화된 정보를 파일 시스템의 로그파일에 남기고 실제 작업을 수행하며 이를 완료하면 별도 표시를 하고 다음 작업을 수행한다. 이러한 흐름을 반복하다가 정전이 되거나 전원이 꺼지면 다음 부팅시에 수행 중이었던 부분을 복구하는 것이다. 미리 정의한 크기만큼 백업을 진행하면서 작업하기 때문에 큰 부담없이 복구할 수 있는 것이 특징이다.
    플래시 파일 시스템은 최근 들어 저널링 개념이 도입되면서 디스크와 어깨를 나란히 할 만큼 신뢰성을 쌓았다. 저널링 파일 시스템을 사용하는 시스템으로는 리눅스의 ext3 파일 시스템(ext2에 저널링 추가)과 JFS, ReiserFS, Reiser4, XFS, OS/2의 JFS, AIX의 JFS, windows NT, Windows vista/xp의 NTFS, MAC OS의 HFS+, 아이릭스의 XFS, 솔라리스의 UFS Logging, VxFS(베리타스 소프트웨어의 서드파티),HP_UX의 VxFS(HP 시스템의 JFS로 알려져 있으나 IBM의 JFS와는 다르다.), BFS의 BeOS 파일시스템, WAFL 파일 시스템등이 있다.
    • JFFS는 기본적으로 안전성과 속도가 보장되는 파일 시스템이다. 공간을 순차적으로 저장하는 LFS(Log-Structure File System)처럼 플래시 메모리에 대한 갱신 연산을 추가 연산으로 변형하여 처리하며, 이를 통해서 플래시 메모리의 덮어쓰기가 허용되지 않는 문제를 해결하였다. 하지만 플래시 메모리의 이용률이 커지면서 쓰기 속도가 저하되고, 마운트 시간이 오래 걸리며, DRAM 메모리를 많이 사용하는 단점이 있다. 이런 JFFS의 단점을 해소하기 위해서 개발된 것이 YAFFS이다. YAFFS는 NAND 플래시 메모리 전용 파일 시스템으로 마운트 속도와 NAND 유형 플래시 메모리의 입출력 속도에서 JFFS2보다 성능면에서 우수하다. 그러나 YAFFS 역시 LFS 방식을 사용하므로 마운트 시에 플래시 메모리 전체를 스캔해야 하며 이로 인해 플래시 메모리가 클수록 마운팅 시간이 길어지는 단점이 있다. 또한 파일에 대한 수정이 발생하면 파일 전체를 다시 플래시 메모리에 쓰게 되므로 메모리의 낭비가 발생하게 된다.


    관련논문
    David Woodhouse Red Hat, Inc. 2004. JFFS - The Journalling Flash File System.JFFS home page. Electronic document available online at http: //developer.axis.com/software/jffs/. Lund, Sweden.

    참고사이트
    http://ko.wikipedia.org/wiki/JFFS JFFS 위키
    http://mysna.springnote.com/pages/2908248  JFFS와 YAFFS 파일구조
    http://www.ibm.com/developerworks/kr/library/l-flash-filesystems/index.html 리눅스 파일 시스템 구조 분석
    http://blog.swssm.org/110 JFFS와 YAFFS 파일시스템 정리한 블로그
    http://bebop.emstone.com/projects/sentry24/artnlife/ide_flash/design_draft/ 플래시 기반 시스템 설계문서

    'Study > FlashMemory&DB' 카테고리의 다른 글

    FAT 파일 시스템  (0) 2011.03.02
    NAND Flash Memory Tech. Report  (0) 2009.08.06
    PLD(Programmable Logic Device)  (0) 2009.06.08
    객체 기반 데이터베이스  (0) 2009.05.14