Documentation and Support

YAFFS: the NAND-specific flash file system - Introductory Article

YAFFS stands for "yet another flash file system"(*). As far as I am aware, YAFFS is the only file system, under any operating system, that has been designed specifically for use with NAND flash. YAFFS is thus designed to work within the constraints of, and exploit the features of, NAND flash to maximise performance. YAFFS uses journaling, error correction and verification techniques tuned to the way NAND typically fails, to enhance robustness. The result is a file system that exploits low-cost NAND chips and is both fast and robust. YAFFS is highly portable and runs under Linux, ucLinux and Windows CE. YAFFS is an open source project.

YAFFS Spec

The initial specification for YAFFS. Circa 2002. Details of the filing system, including short backgrounder. Read this if you want to know what it is, what it does and how it works. This doc is included in the download.

YAFFS 2 Specification and Development Notes

The initial specification for YAFFS version 2. Describes the development of YAFFS to deal with next-generation NAND chips which have larger (2Kb) pages and don't allow page rewrites. The new design will be significantly faster (write: 1.5x-5x, delete: 4x, garbage collection: 2x) and have 25-50% lower RAM footfrint.

YAFFS Development Notes

Notes on how to use YAFFS and some details of the internal structures - very useful if you want to mess with the code. This doc is included in the download.

HOWTO incorporate YAFFS

Simple HOWTO for getting started with YAFFS and using it as a root filesystem. If you just want the quick start info - read this.

YAFFS Overview

YAFFS is a filesystem designed specifically for the characteristics of NAND flash. Its primary features are:
  • Fast - much faster than alternatives
  • Easily ported (currently ported to GNU/Linux, WinCE, eCOS, pSOS, VxWorks, and various bare-metal systems)
  • Log structured, providing wear-levelling and making it very robust
  • Supports various flash geometries including 2KB and 512-Byte page NAND flash chips
  • Very fast mount - almost immediate startup
  • Typically uses less RAM than comparable File Systems
  • Flexible Licensing suitable for most circumstances
This page gives an overview of the project - what is available, how it works, how to use it, developer resources, and licensing options.

Comparison between YAFFS (YAFFS2) and JFFS2

If you are trying to decide between YAFFS and JFFS2 then this note will give you an idea of the relative advantages of each.

YAFFS Talk

YAFFS Licence FAQs

Some of the obvious questions about the circumstances in which you do and do not need a Licence for YAFFS

YAFFS Licence Sample

While the YAFFS code is available free of charge under GPL, that entails the obligation to disclose Source Code for your application using YAFFS. An Aleph One Licence does not impose that obligation and so is attractive for proprietary projects.

Back to top