Yaffs provides bad block handling and ECC algorithms to handle deficiencies in NAND flash.
It is a log-structured file system which makes it very robust to corruptions caused by power failures.
We spend about 60% of development time on testing Yaffs, and our test harness is available for download so you can check the testing and perform some yourself.
We’ve performed hundreds of thousands of tests to make sure that Yaffs is as safe as we can make it, even in the even of a power failure during a firmware update.
You can find full details of the Yaffs testing regime in our paper http://www.yaffs.net/documents/yaffs-robustness-and-testing including all the details on the power-fail stress tests, the Yaffs Direct API tests for commercial RTOSs, Linux testing, and fuzz testing where we deliberately corrupt Yaffs file systems to check that Yaffs can still mount.