Internals

How YAFFS works

YAFFS Debugging

YAFFS provides a debugging mechanism which can be controlled at runtime, or set at build time. This page descirbes the options available and how to use them, for when you need to do some troubleshooting.

YAFFS Direct User Guide

YAFFS has been designed in a very modular way, with the file-system-specific code kept separate from the main YAFFS file system code. This allowes YAFFS to be ported quite cleanly to other operating systems through operating system personality modules. One such personality module is the YAFFS Direct Interface (YDI) which allows YAFFS to be simply integrated with embedded systems, with or without an RTOS.

This document describes how to use the YAFFS Direct Interface with your OS/Environment, as well as providing sufficient information to allow a preliminary evaluation of YAFFS.

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.

HOWTO incorporate YAFFS in Linux

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 Tuning and Configuration.

YAFFS has a wide variety of settings that are used for tuning it to various applications, as well as debugging settings to help with integration. This document helps to explain those settings. The latest PDF of the document is found HERE.

Using GIT

We now operate a GIT server for our active projects. Here we give details of the setup:-

If you just want to browse or download code then it's easiest to access the repository over the web.

If you want to use GIT directly from the command line then public read-only access is available, using the (bash) command:

git clone git://www.aleph1.co.uk/yaffs2

How YAFFS works: the internals

Details of how YAFFS works, including the internal structures that YAFFS uses.

YAFFS Talk - PDF of slides from CELF, 2007

Attached is a PDF with slides from the YAFFS talk at CELF's Embedded Linux Conference Europe 2007.

If you are able to view Ogg Theora video files, the talk is also online.

Ogg Theora is a Free video format. Free players are available for all platforms. See the list here. If in doubt, VLC is probably available for your operating system.

Paper investigating a log management & crash recovery mechanism

This provides a link to a PDF of a paper by Taiwanese scholars.

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.
Syndicate content

Back to top