YAFFS is accessed through the FILEIO package which presents a standard
POSIX compatible IO interface through which applications use standard
open(), read(), write() and close() calls.
YAFFS is a journalling filesystem
with wear-levelling. It is
particularly suited to NAND flash parts, having been
designed with their unique properties in mind.
The use of traditional filesystems (FAT, ext2, etc) which do not have
these features is not recommended on such chips because their design
requires the use of fixed address on the underlying hardware.
Such behaviour causes flash sectors to wear out, the consequence of
which would typically be to cause the whole device to become unbootable.
YAFFS also provides a high degree of robustness, which is usually
a requirement of embedded devices.
A power failure or other crash can leave a traditional filesystem
in an inconsistent state which is often difficult to repair,
especially in the field.
YAFFS can also be built into RedBoot, which allows you to store
application images on NAND flash and boot them with
RedBoot's usual flexible scripting system.
For more information about NAND flash chips,
how they differ from NOR flash parts
and other ways to access them, refer to the documentation for the
eCos NAND Flash Library.
For more information about YAFFS itself, refer to
yaffs.net.