 yaffs overview yaffs overview yaffs is a filesystem designed specifically for the characteristics of nand flash its wellproven primary features are fast typically much faster than alternatives easily ported currently ported to gnu linux wince ecos psos vxworks and various baremetal systems log structured providing wearlevelling and making it very robust supports many flash geometries including 2kbyte and 512byte page nand flash chips supports mlc and slc flash very fast mount almost immediate startup typically uses less ram than comparable file systems flexible licensing suitable for most circumstances there is a great deal of information about yaffs available on this site this page indexes that information and provides an overview of the product yaffs is currently at version 2 yaffs2 supports 2kbyte page flash as well as 512byte page flash yaffs1 only supports the original 512byte page flash and is now in maintenance mode there is a minimal subset of the filesystem called yaffs direct or the yaffs direct interface which is intended to be used in embedded systems and can be licensed for use in proprietary systems yaffs is available to all under the gpl for use or evaluation full details of git access are  available yaffs 1 and 2 have both been deployed in numerous commercial applications some in high volume abd with large flash arrays it has been used in phones most notably android phones gps receivers train controllers speech synthesisers voip chip development kits and other applications we have a number of documents and papers describing how to use yaffs how to customise it for your particular hardware system and the original considerations and filesystem design of the two versions backgrounder the best overview information is currently this 28slide presentation  what it does and how it does it a useful historical timeline on development is here developer documentation yaffs direct interface  user guide  describing how to port yaffs to an embedded environment or rtos using the ydi personality module brief notes on how to use it on gnu linux a memory footprint analysis putting some numbers on low memory footprint  yaffs embedded structure papers the starting state of nand mtd which caused the yaffs filesystem to be designed the specifications are available development notes describing the filesystem design decisions and data structures for yaffs1 yaffs2 filesystem design  covering changes from yaffs1 efficient initialization and crash recovery for logbased file systems over flash memory  describing a mechanism for avoiding full flash scans even when not properly shut down this is a likely future development mailing list there is a yaffs mailing list for the development and discussion of yaffs it s a fairly lowtraffic list you will be emailed and asked to confirm your subscription request you can also browse and search the yaffs mailing list archives  wookey 29 june 2006 230am  