Getting Started

📖

YAFFS Overview

Understand what YAFFS is, how it works, and when to use it. A good starting point for newcomers.

Read Overview
🚀

Quick Start Guide

Get YAFFS running in your project. Step-by-step integration instructions for common platforms.

Quick Start
🔧

YAFFS Direct Interface

Using YAFFS without an operating system? The Direct Interface provides a POSIX-like API for bare-metal and RTOS use.

View Guide

Technical Guides

Linux Integration

Integrating YAFFS as a kernel module in Linux. Includes MTD layer configuration and mount options.

View Guide →

RTOS Integration

Using YAFFS with VxWorks, eCos, FreeRTOS, and other real-time operating systems.

View Guide →

Configuration Options

All the compile-time and runtime options available to tune YAFFS for your specific requirements.

View Reference →

How YAFFS Works

Deep dive into YAFFS internals. Log-structured design, garbage collection, and data structures explained.

Read Article →

NAND Flash Primer

Understanding NAND flash characteristics and why they matter for file system design.

Read Article →

Testing & Validation

How to test YAFFS in your system. Power-fail testing methodology and validation strategies.

View Guide →

Whitepapers & Technical Articles

Choosing a Flash File System

Comprehensive guide to selecting the right flash file system for your embedded project. Covers YAFFS, JFFS2, UBIFS, and other options with decision criteria.

Download PDF

YAFFS Robustness & Testing

How YAFFS achieves power-fail safety and the rigorous testing methodology used to validate reliability claims.

Download PDF

Frequently Asked Questions

What flash types does YAFFS support?

YAFFS supports both NAND and NOR flash, with various page sizes from 512 bytes to 16KB and beyond. Both SLC, MLC, and TLC NAND are supported.

How much RAM does YAFFS need?

YAFFS is designed for low memory footprint. Exact requirements depend on flash size and configuration, but it's suitable for resource-constrained embedded systems.

Can I use YAFFS with an FTL?

YAFFS is designed to work directly with raw flash, which gives it full control for reliability. Using it over an FTL is possible but removes some of the reliability benefits.

Is YAFFS compatible with Linux MTD?

Yes, YAFFS integrates with the Linux MTD (Memory Technology Devices) subsystem for accessing flash hardware.

How do I migrate from another file system?

Migration typically involves reformatting the flash partition with YAFFS and copying data. We can help with migration planning—contact our consultancy team.

Where can I get help?

The YAFFS mailing list is active and helpful for general questions. For commercial projects, our consultancy team can provide dedicated support.

Community & Support

YAFFS has an active community of developers using it in production systems worldwide. The mailing list is a great resource for questions, discussion, and announcements.

  • YAFFS mailing list for community support
  • GitHub repository for source code and issues
  • Commercial support available for paying customers
Get Commercial Support

Source Code

YAFFS source code is available on GitHub. Clone the repository to evaluate YAFFS under the GPL licence, or contact us for commercial licensing.

git clone https://github.com/nickmob/yaffs2.git
View on GitHub

Need Help with Integration?

Our engineers have integrated YAFFS into countless systems. If you're facing challenges or want to ensure you're getting the best from YAFFS, we can help.

Talk to Our Engineers