Why YAFFS

A flash file system designed for reliability, performance, and simplicity.

20+

Years in production

100M+

Devices worldwide

60%

Dev time on testing

0

Per-unit royalties

Robustness & Power-Fail Safety

YAFFS is a log-structured file system designed from the ground up to protect your data even during unexpected power loss. Its architecture ensures that existing data is never overwritten in place, making it inherently resilient to corruption.

We dedicate 60% of development time to testing — hundreds of thousands of power-fail stress tests, fuzz tests (deliberately corrupting file systems), YAFFS Direct API tests, and Linux integration tests. Bad block handling and ECC algorithms address the inherent deficiencies of NAND flash.

Read the Robustness & Testing whitepaper

Performance

Fast boot is a fundamental design requirement. YAFFS builds its file structure with just one pass through NAND memory at mount time, enabling near-instant startup for embedded devices where boot time matters.

Highly optimised garbage collection strategies deliver high throughput with very deterministic behaviour compared to other flash file systems. Configurable caching options let you fine-tune performance for your specific workload.

Read the Tuning & Configuration guide

Memory Efficiency

YAFFS has a lower memory footprint than most log-structured flash file systems. The rule of thumb is approximately 2 bytes of RAM per NAND chunk/page.

For 512-byte page NAND, that's about 4 KB RAM per 1 MB of flash. For 2 KB page NAND, it's only about 1 KB RAM per 1 MB of flash — making YAFFS practical even on severely memory-constrained devices.

Read How YAFFS Works

Cross-Platform Portability

Written in portable C with no dependency on any particular operating system, YAFFS works across a wide range of platforms: Linux, eCos, VxWorks, Windows CE, Android, and bare metal environments.

CPU independent and endian neutral, YAFFS runs successfully on 32-bit and 64-bit processors including ARM, x86, MIPS, PowerPC, ColdFire, and 68000 architectures. It also supports both NAND and NOR flash, including MLC and SLC NAND technologies.

Read the YAFFS Direct Interface guide

Flexible Licensing

YAFFS is available under the GNU General Public License v2 at no cost for open-source projects. For proprietary products, a one-time commercial licence removes all GPL obligations — no per-unit royalties, no ongoing fees, no complex accounting.

You can download and evaluate the GPL version freely within your organisation. When you're ready to ship a proprietary product, simply purchase a commercial licence. Source code is provided with both licence types.

View licensing options

Open Source Transparency & Community

With full source code available, YAFFS offers complete independence from vendor lock-in. Thousands of developers have used YAFFS successfully across the globe, creating a growing knowledge base of research papers, community projects, and online resources.

The code continues to evolve with new features and refinements while maintaining backward compatibility. Many commercial licensees are repeat customers, and the GPL version is always available as a safety net ensuring long-term sustainability.

Browse the source on GitHub

Ready to evaluate YAFFS?

Download the GPL version and start testing today — no charge, no strings.