File Systems

From eLinux.org
Revision as of 08:39, 23 October 2007 by Tim Bird (talk | contribs)
Jump to: navigation, search

This page has information about file systems which are of interest to CE Linux Forum members.

Embedded Filesystems

Most embedded devices use flash memory as storage media. Here are some filesystems designed for and/or commonly used in embedded devices:

  • JFFS2 - The Journalling Flash File System, version 2. The maximum size of JFFS2 is 128MB.
  • CRAMFS - A compressed read-only file system for Linux. The maximum size of CRAMFS is 256MB.
  • Squash Fs - A (more) compressed read-only file system for Linux
  • YAFFS - Yet Another Flash File System - a file system designed specifically for NAND flash
  • AXFS - Advanced XIP File System

Special-purpose Filesystems

ABISS

The Active Block I/O Scheduling System is a file system designed to be able to provide real-time features for file system I/O activities.

See ABISS

LogFS

  • logfs - LogFS is a scalable flash filesystem. It is aimed to replace

JFFS2 for most uses, but focuses more on the large devices.

Matt Mackall writes (in July of 2007):

LogFS is a filesystem designed to support large volumes on FLASH. It uses a simple copy-on-write update process to ensure consistency (the "log" in the name is a historical artifact). It's easily the most modern and scalable open-source FLASH filesystem available for Linux and it's well on its way to being accepted in the mainline tree.

Scott Preece writes:

The big win for LogFS (in my limited knowledge of it) is that it stores its tree structure in the media, rather than building it in memory at mount time. This significantly reduces both startup time and memory consumption. This becomes more important as the size of the flash device increases. Read more in LWN (http://lwn.net/Articles/234441) and linux.com (http://www.linux.com/articles/114295).

Some newer flash memory, like MLC (multi-level cell), are not well supported.

UnionFS

Sometimes it is handy to be able to overlay file systems on top of each other. For example, it can be useful in embedded products to use a compressed read-only file system, mounted "underneath" a read/write file system. This give the appearance of a full read-write file system, while still retaining the space savings of the compressed file system, for those files that won't change during the life of the product.

UnionFS is a proj3ect to provide such a system (providing a "union" of multiple file systems).

See http://www.filesystems.org/project-unionfs.html

See also union mounts, which are described at http://lkml.org/lkml/2007/6/20/18 (and also in Documentation/union-mounts.txt in the kernel source tree (or will be, when this feature is merged.)

Other projects

Multi-media file systems

  • XPRESS file system - [See OLS 2006 proceedings, presentation by Joo-Young Hwang]
    • I found out at ELC 2007 that this FS project was recently suspended internally at Samsung

flash logical volume management

  • UBI http://www.linux-mtd.infradead.org/faq/ubi.html manages multiple logical volumes on a single flash device, specifically supporting NAND flash devices. UBI provides a flexible partitioning concept which still allows for wear-levelling across the whole flash device.