JFFSとは - わかりやすく解説 Weblio辞書 (original) (raw)
Journaling Flash File System(または JFFS)は Linux オペレーティングシステム上の NOR フラッシュメモリデバイス上における利用向けのログ構造ファイルシステムである。JFFS は JFFS2 によって置き換えられてきている。
設計
フラッシュメモリは磁気ディスクとはまったく異なるアクセス上の制約がある。特に、フラッシュメモリを消去することは
- 書き込む前に必要である
- 遅い
- 大きな(通常 64 KiB 以上)セグメントで行わなければならない
- ある回数だけ行うことができる(典型的には100万回未満)
ext2 のようなファイルシステムは典型的には、すべての更新の後に inode やディレクトリのようなデータ構造をディスク上で更新して、適当な位置でデータ構造を更新する。このようにウェアレベリングが大きく欠落しているため、従来のファイルシステムがフラッシュデバイス上での読み書きの利用に対して不向きになっている。
JFFS はフラッシュデバイスを循環ログとして扱うことでウェアレベリングを強化している。ファイルやディレクトリへのすべての変更は_ノード_内のログの末尾に書き込まれる。個々のノード内では、メタデータを含むヘッダが最初に書き込まれ、次にファイルデータがあれば書き込まれる。ノードはヘッダ内のオフセットポインタでつながれている。ノードは最初有効として始まり、より新しいバージョンのノードが作成されたとき廃止になる。
ファイルシステムに残っている自由空間はログの先頭と末尾の間のすき間である。これが少なくなると、ガベージコレクタが先頭から末尾まで有効なノードをコピーし、廃止されたノードを飛ばす。このようにして空間を回収する。
欠点
- マウント時に、ファイルシステムのドライバは inode チェーン全体を読み込んで、メモリ中に保たなければならない。これは非常に遅くなりうる。JFFS のメモリ消費はファイルシステム内のファイル数にも比例する。
- 循環ログの設計は、静的かどうかにかかわらず、ファイルシステム内の_すべての_データが再書き込みされるという意味である。これは多くの必要ない消去を生み出し、フラッシュ媒体の寿命を減らす。
関連項目
脚注
- Woodhouse, David. JFFS2: The Journalling Flash File System, version 2.
外部リンク
- “Flash Filesystems for Embedded Linux Systems”. 2012年12月5日時点のオリジナルよりアーカイブ。2012年12月5日閲覧。
- JFFS documentation and official mailing list
表話編歴ファイルシステム | |
---|---|
ディスク | Advanced Disc Filing System(英語版) AdvFS(英語版) APFS Be File System(英語版) Btrfs CrossDOS(英語版) Disc Filing System(英語版) Episode(英語版) EFS HPFS ext ext2 ext3 ext3cow ext4 FAT FAT12 FAT16 FAT32 exFAT Files-11 HAMMER HFS HFS Plus IBM General Parallel File System JFS Macintosh File System(英語版) MINIX NetWare File System(英語版) NILFS Novell Storage Service NTFS QFS QNX4FS ReFS ReiserFS Reiser4 SpadFS(英語版) UBIFS UFS VERITAS File System Write Anywhere File Layout(英語版) XFS Xsan ZFS 光ディスク / 磁気テープ HSF ISO 9660 ISO 13490 UDF LTFS Flashメモリ / SSD APFS FAT exFAT CHFS TFAT EROFS FFS2 F2FS JFFS JFFS2 LogFS NILFS NVFS YAFFS UBIFS 分散ファイルシステム Coda CXFS(英語版) GFS2 GlusterFS Google File System OCFS2 QFS Xsan |
ネットワーク型 | AFS OpenAFS AFP DFS GPFS GlusterFS Google File System Lustre NCP NFS POHMELFS Hadoop Plan 9 FS SMB (CIFS) SSHFS |
特殊用途 | cramfs Dokan EROFS FUSE SquashFS UMSDOS UnionFS aufs initrd 疑似・仮想 configfs devfs procfs specfs sysfs tmpfs WinFS 暗号化 EncFS EFS ZFS UFS2 |
その他 | ファイルシステムの比較(英語版) |
![]() |