【问题标题】:What is a good filesystem for embedded NAND drives?什么是嵌入式 NAND 驱动器的好文件系统?
【发布时间】:2009-03-18 09:48:04
【问题描述】:

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

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

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

【问题讨论】:

  • 更新:我们选择了 YAFFS2,它对我们很有效。文档不存在,但不是一个大问题 - 代码非常清晰易读。 Charles Manning 也提供了很好的支持。

标签: filesystems embedded flash-memory


【解决方案1】:

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

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

【讨论】:

  • 谢谢,这是一个有趣的演示。从我读过的内容来看,LogFS 似乎还没有准备好投入生产。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    他们对表演有一个有趣的white paper (PDF)(持保留态度)。

    【讨论】:

      猜你喜欢
      • 2015-06-16
      • 2010-09-15
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多