UFFS read only one spare area for each NAND flash block to build up the in-memory nodes tree. Typically, UFFS needs less then 1 second to mount a full loaded 128 Mbytes NAND flash.

Superb Reliability

Guaranteed integrity across unexpected power losses.

Bad-block tolerant, ECC enable and ware-leveling

Nothing new for flash file system, but UFFS implements these in a simple yet effective way.

No garbage collection needed for UFFS

UFFS collect the 'dirty blocks' on the fly, no garbage collection needed.

Support direct flash interface, no operating system needed

UFFS can be build on top of direct flash interface,easy to port to any embedded system.

Fully tested

UFFS is fully tested on PC (via UFFS PC emulator). Moreover, UFFS is not just 'proof-of-concept' but has been successfully used in real world product for tens of thousands of copies.

What UFFS "IS", "IS NOT" ?

UFFS is not a Linux kernel module.UFFS is not running in a separated thread rather than application.UFFS is a library to be linked with your embedded application. UFFS should be used when JFFS/YAFFS can't be used (because of the insufficient of memory)UFFS is not the substitute of JFFS or YAFFS.