我正在开发一个使用NAND闪存进行存储的嵌入式应用程序.现在看来,我们不会使用Linux或任何其他RTOS.应用程序必须处理意外断电.
我们一直在寻找不同的文件系统解决方案,包括YAFFS2,JFFS2,FAT + FTL以及HCC Embedded的解决方案.
我听说FAT + FTL是一个正常的选择,但我担心在出现意外断电和性能的情况下会丢失数据.如果有人能分享这方面的见解和经验,将不胜感激
FAT-FTL是"正常选择",但不一定是个不错的选择.YAFFS2比JFFS2更新,对于大型NAND来说似乎更快,更具可扩展性."嵌入式Linux会议欧洲"的演示文稿比较了这两个和其他Flash文件系统.
另一种解决方案是LogFS(注意:log代表logorithmic,而不是log-structured).它也应该更具可扩展性,但我不知道它有多变.
有UBIFS.我所知道的唯一实现是在Linux内核中,它取决于Linux内核的UBI接口.但是,基本算法应该可以在您使用的任何环境中实现而不会有太多麻烦.至于生产准备,诺基亚在他们的N900智能手机中使用UBIFS,而基于SheevaPlug的插电脑也支持它.我发现Linux实现是可靠的,即使是在随机重置自身的片状硬件上也是如此.与JFFS2不同,UBIFS不需要在启动时读取整个文件系统.
你可能想重新考虑你的"没有Linux"的决定,因为使用Linux会使使用UBIFS变得更容易.