JFFS
This article includes a improve this article by introducing more precise citations. (August 2020) ) |
Developer(s) | Axis Communications |
---|---|
Full name | Journaling Flash File System |
Other | |
Supported operating systems | Linux |
The Journaling Flash File System (or JFFS) is a log-structured file system for use on NOR flash memory devices on the Linux operating system. It has been superseded by JFFS2.
Design
Flash memory (specifically
- Erasing is very slow (typically 1–100 ms per erase block, which is 103–105 times slower than reading data from the same region).
- It is only possible to erase flash in large segments (usually 64 KiBor more), whereas it can be read or written in smaller blocks (often 512 bytes).
- Flash memory can only be erased a limited number of times (typically 103–106) before it becomes worn out.
These constraints combine to produce a profound asymmetry between patterns of read and write access to flash memory. In contrast, magnetic hard disk drives offer nearly symmetrical read and write access: read speed and write speed are nearly identical (as both are constrained by the rate at which the disk spins), it is possible to both read and write small blocks or sectors (typically 512 or 4096 bytes), and there is no practical limit to the number of times magnetic media can be written and rewritten.
Traditional file systems, such as
JFFS enforces
The free space remaining in the file system is the gap between the log's tail and its head. When this runs low, a garbage collector copies valid nodes from the head to the tail and skips obsolete ones, thus reclaiming space.
See also
References
Sources
- Woodhouse, David (2003-07-09). "JFFS2: The Journalling Flash File System, version 2". SourceWare.org. Retrieved 2022-10-03.
External links
- JFFS Homepage (no longer maintained) Archived 2017-01-20 at the Wayback Machine
- JFFS developer mailing list Archived 2010-08-21 at the Wayback Machine