Find Duplicates

JFFS2 – log-structured file system for raw flash storage

JFFS2 is a log-structured file system designed for raw flash storage in embedded systems.

It sits directly on Linux Memory Technology Device (MTD) flash rather than relying on a translation layer that makes flash behave like an ordinary disk. Raw flash has very different constraints: erase operations happen at block granularity, blocks have finite erase lifetimes, and NAND devices restrict repeated writes to a page.

JFFS2 is integrated into the Linux kernel and is suited to relatively modest NOR and NAND flash devices. It does not maintain an on-media index, so mounting requires a scan of the medium and memory consumption grows as the file system becomes larger. This makes it less scalable than UBIFS for large flash devices, but it remains useful in embedded systems.

This is free and open source software.

Key Features

  • Uses a log-structured layout, writing file data and metadata as nodes rather than updating fixed locations in place.
  • Tracks individual erase blocks so garbage collection can choose which blocks to reclaim instead of processing the medium in strict sequence.
  • Provides on-the-fly compression to reduce the amount of flash storage consumed by file data.
  • Includes wear-levelling behaviour that periodically relocates clean data so erase cycles are not concentrated on a small set of blocks.
  • Stores cyclic redundancy checks with nodes to help detect corruption of stored structures and data.
  • Supports directories, hard links, symbolic links, permissions, and timestamps.
  • Handles obsolete nodes through garbage collection, recovering erase blocks for subsequent writes.
  • Supports NAND-aware operation through the Linux MTD layer, including write buffering for NAND flash.
  • Tolerates unclean shutdowns and power loss without requiring conventional filesystem checking.
  • Allows filesystem images to be created with the mkfs.jffs2 utility supplied by the MTD user-space tools.

Website: sourceware.org/jffs2/
Support:
Developer: Red Hat
License: GNU General Public License v2.0 / Red Hat eCos Public License


Related Software

Journaling File Systems
BtrfsChecksumming Copy on Write File system
ext4Evolved from ext3 adding many notable features including extents
XFSDesigned to maintain high performance with large files and file systems
F2FSFlash file system initially developed by Samsung Electronics
OpenZFSAdvanced file system and volume manager originally developed for Solaris
GFS2Shared disk file system for Linux computer clusters
ext3Default file system for many popular Linux distributions
JFSJournaled File System
UBIFSFile system for raw flash memory used through UBI volumes
OCFS2Extent-based cluster file system
JFFS2Log-structured flash file system designed for raw flash memory devices
BcachefsAdvanced file system ejected from the mainline kernel
ScoutFSClustered file system designed for very large archival storage systems

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted