A flash file system built for reliability from the ground up. When your data matters, YAFFS delivers.
In embedded systems, the unexpected is inevitable. Power fails. Hardware degrades. Users do unpredictable things. Your file system needs to handle all of it without losing data.
YAFFS was designed from day one with this reality in mind. Every design decision prioritises data integrity and system recoverability. It's not just a feature—it's the foundation.
That's why YAFFS runs on NASA's TESS satellite, in medical devices, in industrial systems, and in millions of consumer products worldwide. When reliability isn't optional, engineers choose YAFFS.
"The file system is the foundation of data integrity. If it fails, everything built on top fails with it."
— Charles Manning, YAFFS Chief ArchitectEmbedded systems lose power without warning. YAFFS uses a log-structured design where every write is atomic. If power fails mid-operation, the file system automatically recovers to the last consistent state.
No corruption. No lost files. No manual intervention. Just restart and continue.
YAFFS maintains file system integrity at all times. There's no "dirty" state that requires fsck to repair. The file system is always valid, always recoverable.
Fast boot times without lengthy consistency checks, even after unexpected shutdowns.
Flash memory develops bad blocks—it's inevitable. YAFFS detects factory-marked bad blocks and runtime failures, automatically routing around them.
Your system keeps running even as the underlying storage degrades over time.
Flash cells have limited write endurance. YAFFS distributes writes across the device to prevent hot spots, maximising the usable lifespan of your flash storage.
Get the most out of your hardware investment without complex external management.
Bit errors happen in flash memory. YAFFS integrates with hardware or software ECC to detect and correct errors before they affect your data.
Multiple layers of protection for defence in depth against data corruption.
Over 20 years of production use in millions of devices. Rigorous power-fail testing, stress testing, and continuous refinement based on real-world feedback.
When we say YAFFS is reliable, we have two decades of evidence to back it up.
YAFFS mounts with a single sequential scan of the flash device. No tree walks, no journal replay, no lengthy startup delays. Your system is ready faster.
Optimised garbage collection with configurable thresholds. No unexpected pauses or latency spikes during normal operation.
Designed for resource-constrained systems. YAFFS uses minimal RAM, making it suitable for even modest embedded platforms.
Works directly with raw NAND and NOR flash. No Flash Translation Layer required—fewer layers means fewer points of failure.
Clean interfaces for Linux kernel, RTOS, or bare-metal integration. YAFFS Direct provides a POSIX-like API for easy adoption.
No black boxes. Full source code access means you can verify behaviour, debug issues, and adapt to your specific needs.
YAFFS is designed for portability. The core code is written in clean, portable C with minimal dependencies. It's been proven across virtually every embedded platform.
Understanding your options helps you make the right choice for your project.
| Feature | YAFFS | JFFS2 | UBIFS |
|---|---|---|---|
| Power-fail safety | Excellent | Good | Good |
| Mount time | Fast (single scan) | Slow (full scan) | Fast |
| RAM usage | Low | High | Medium |
| Complexity | Low | Medium | High (requires UBI) |
| RTOS support | Excellent | Linux only | Linux only |
| NOR flash support | Yes | Yes | No |
| Commercial licensing | Available | GPL only | GPL only |
Download YAFFS under GPL for evaluation, or contact us for commercial licensing. Full source code, no royalties.