YAFFS (Yet Another Flash File System) Yeni Zelanda'daki Whitecliffs şehrinden Charles Manning tarafından Aleph One şirketi için tasarlanmış ve yazılmış bir dosya sistemi türüdür.
Yaffs1, bu dosya sisteminin ilk sürümüdür ve 512 bayt boyutlu (+ 16 byte yedek (OOB; Out-of-Band) alana sahip o andaki NAND yongaları için tasarlanmıştır.[1] İş 2002 yılında başladı ve ilk o yıl serbest bırakıldı. İlk çalışma Toby Churchill Ltd ve Brightstar Engineering tarafından finanse edildi.
Bu eski mikroçip genelde sayfa başına 2 veya 3 yazma döngüsüne izin verir. YAFFS bunun avantajlarından yararlanır: kirli sayfalar, belirli bir yedek alan baytına yazarak işaretlenir. Yeni NAND flaş çipleri, daha sıkı yazma gereksinimleri olan daha büyük sayfalara, ilk 2K sayfaya (+ 64 bayt OOB), daha sonra 4K'ya sahiptir. Bir silme bloğu içindeki her sayfa (128 kilobayt) sıralı sırada yazılmalıdır ve her sayfanın yalnızca bir kez yazılması gerekir.[2]
YAFFS2 bu yeni yongaları barındıracak şekilde tasarlandı. YAFFS1 kaynak koduna dayanıyordu; büyük fark, iç yapıların 512 bayt boyutlandırmanın varsayacak şekilde sabitlenmemesi ve her yazılı sayfaya bir blok sıra numarası yerleştirilmesiydi.[3] Bu şekilde, daha eski sayfalar "bir kez yaz" kuralı ihlal edilmeden mantıksal olarak üzerine yazılabilir. 2003 yılının sonlarında serbest bırakıldı.
YAFFS veri bütünlüğü yüksek önceliğe sahip tutan güçlü bir günlük yapılı dosya sistemidir. İkinci bir YAFFS hedefi yüksek performansdır. YAFFS, çoğu alternatifi geçemez. Ayrıca taşınabilir olacak şekilde tasarlanmıştır ve Linux, Windows CE, pSOS, ECos, ThreadX ve çeşitli özel amaçlı OS'lerde kullanılmıştır.[4] Bir varyant olan 'YAFFS / Direct', gömülü sistem'ler veya bootloader bulunmayan durumlarda kullanılır: aynı çekirdek dosya sistemine sahiptir, ancak hem üst hem de alt düzey koda ve NAND flash donanımına daha basit arayüze sahiptir.
YAFFS kod tabanı, hem GNU Genel Kamu Lisansı kapsamında hem de Aleph One'dan edinilen her bir ürün lisansı altında lisanslıdır.