JFFS

JFFS
JFFS
개발자Axis 통신
풀네임저널링 플래시 파일시스템
다른.
지원되는 운영 체제리눅스

저널링 플래시 파일시스템(JFFS)은 Linux 운영체제상NOR 플래시 메모리 디바이스에서 사용하기 위한 로그 구조 파일시스템입니다JFFS2로 대체되었습니다.

설계.

쓰기 전에 플래시 메모리(특히 NOR 플래시)를 소거해야 합니다.소거 프로세스에는 몇 가지 제한이 있습니다.

  • 지우기 속도는 매우 느립니다(일반적으로 지우기 블록당 1~100ms로, 같은 영역에서 데이터를 읽는 속도보다 10~10배35 느림).
  • 플래시는 큰 세그먼트(보통 64KiB 이상)에서만 지울 수 있는 반면, 작은 블록(대부분 512바이트)에서 읽거나 쓸 수 있습니다.
  • 플래시 메모리는 마모될 때까지 소거할 수 있는 횟수는 한정되어 있습니다(일반적으로 103~10회6).

이러한 제약이 결합되어 플래시 메모리에 대한 읽기 및 쓰기 액세스 패턴 간에 심각한 비대칭이 발생합니다.이와는 대조적으로 자기 하드 디스크 드라이브는 거의 대칭적인 읽기 및 쓰기 액세스를 제공합니다.읽기 속도와 쓰기 속도는 거의 동일하며(디스크 회전 속도에 의해 제한됨), 작은 블록 또는 섹터(일반적으로 512바이트 또는 4096바이트) 모두 읽기와 쓰기가 가능하며, 실제 횟수는 제한되지 않습니다.gnetic 미디어를 쓰고 다시 쓸 수 있습니다.

ext2 또는 FAT와 같은 기존 파일 시스템은 일반적으로 자기 미디어에서 사용하도록 설계되었으며, 수정 때마다 디스크에서 inode 및 디렉토리 등의 데이터 구조를 업데이트하여 데이터 구조를 인플레이스 방식으로 업데이트합니다.이러한 마모 레벨링이 집중되어 있지 않기 때문에 기존의 파일 시스템은 플래시 장치에서 읽기/쓰기 용도로 적합하지 않습니다.

JFFS는 플래시 디바이스를 원형 로그로 취급함으로써 마모 레벨링을 실시합니다.파일 및 디렉토리의 모든 변경 내용은 로그인 노드 끝에 기록됩니다.각 노드에는 메타데이터를 포함한 헤더가 먼저 기입되고, 그 후에 파일 데이터가 있는 경우 그 후에 기입된다.노드는 헤더 내의 오프셋포인터와 함께 체인으로 연결되어 있습니다.노드는 유효하게 시작되며 새로운 버전이 생성되면 사용되지 않게 됩니다.

파일 시스템에 남아 있는 빈 공간은 로그의 꼬리와 머리 사이의 간격입니다.이 값이 부족하면 가비지 컬렉터가 유효한 노드를 머리부터 꼬리까지 복사하고 사용되지 않는 노드를 건너뛰기 때문에 공간이 회수됩니다.

단점들

  • 마운트 시 파일 시스템 드라이버는 inode 체인 전체를 읽고 메모리에 저장해야 합니다.이것은 매우 느릴 수 있습니다.JFFS의 메모리 소비량도 파일 시스템 내의 파일 수에 비례합니다.
  • 순환 로그 설계는 파일 시스템의 모든 데이터가 정적 여부에 관계없이 다시 작성됨을 의미합니다.이로 인해 불필요한 소거 사이클이 많이 발생하고 플래시 미디어의 수명이 단축됩니다.

「 」를 참조해 주세요.

레퍼런스

원천

  • Woodhouse, David. "JFFS2: The Journalling Flash File System, version 2". Sources.Redhat.com.

외부 링크