11

我正在开发一个使用 NAND 闪存进行存储的嵌入式应用程序。现在看来,我们不会使用 Linux 或任何其他 RTOS。应用程序必须处理意外断电。

我们一直在寻找不同的文件系统解决方案,包括 YAFFS2、JFFS2、FAT+FTL 以及来自HCC Embedded的解决方案。

我听说 FAT+FTL 是一个正常的选择,但我担心在意外断电和性能的情况下会丢失数据。如果有人能分享这方面的见解和经验,将不胜感激

4

3 回答 3

8

FAT-FTL 是“正常选择”,但不一定是好的选择。YAFFS2 比 JFFS2 更新,并且对于大型 NAND 来说似乎更快且更具可扩展性。“Embedded Linux Conference Europe”的这个演示文稿比较了这两个和其他闪存文件系统。

另一个解决方案是LogFS(注意:这里的 log 代表 logorithmic,而不是 log-structured)。它也应该更具可扩展性,但我不知道它有多成熟。

于 2009-03-18T10:07:17.250 回答
7

有UBIFS。我知道的唯一实现是在 Linux 内核中,它依赖于 Linux 内核的 UBI 接口。但是,基本算法应该可以在您使用的任何环境中轻松实现。至于生产准备,诺基亚在他们的 N900 智能手机中使用 UBIFS,并且基于 SheevaPlug 的插头计算机也支持它。我发现 Linux 实现是可靠的,即使在喜欢随机重置自身的片状硬件上也是如此。与 JFFS2 不同,UBIFS 不需要在启动时读取整个文件系统。

您可能需要重新考虑“不使用 Linux”的决定,因为使用 Linux 会使使用 UBIFS 变得更容易。

于 2010-03-30T20:42:40.020 回答
2

有一个名为DataLight的商业供应商提供了一个强大的闪存文件系统,但它当然不是免费的。

他们有一份关于表演的有趣白皮书 (PDF) (持保留态度)。

于 2009-03-18T20:25:31.977 回答