的状态UBIFS在 Linux 之上多层电容NAND有从来都不是完全完美的。虽然该条目现已从时下常见问题解答,MLC NAND 之上对 UBIFS 的支持现已正式报告为不支持:
patchwork.kernel.org 上的完整线程:
因此,我现在正在寻找 MLC NAND 的长期文件系统替代品,如在MIPS 创造者 CI20:
这是一个三星 K9GBG08UOA NAND 闪存并且似乎没有办法将该设备置于 SLC 模式。
看来 jffs2 也不是替代方案:
是否有其他替代文件系统(可能具有相当的性能)?
答案1
所以看来有两种选择:
- git 恢复 b5094b7f135be 然后,
- 等待MLC+NAND更多工作
UBI 不支持 MLC NAND 的事实并不一定是确定的。我有一个分支,其中包含我们为 UBI 添加 MLC 支持所做的所有工作2。如果您有时间投入,请放心接手这项工作。
不管怎样,删除这个驱动程序的决定不是我的,这个补丁允许我至少编译测试这个驱动程序。
值得尝试的事情:
- MTD 块层之上的 ext4
答案2
如果您可以选择包含商业软件,数据灯目前仍然支持MLC。我不知道它要花多少钱,也不知道是否有非商业用途的免费啤酒许可证。
我唯一的联系是我在他们的邮件列表中并参加了一些网络研讨会。我从未使用过他们的产品,因此请相应地应用警告和保留意见。祝你好运。
相关链接,最新的在前:
答案3
是否有任何 [Linux] 文件系统... [支持] MLC NAND 之上的 UBIFS?
不;
从 Linux 4.17 开始,没有专门处理 MLC NAND 的文件系统。
理想情况下,文件系统不需要了解存储介质,因为应该透明地处理怪癖和功能。当然,实际上这不是真的,但这是人们可以对未来媒介做出的唯一假设,因此在 Linux 4.17 中 jffs2 是唯一要检查的文件系统也就不足为奇了;
> grep -lr MTD_MLCNANDFLASH fs
fs/jffs2/fs.c
和
find fs -maxdepth 1 -type d | wc -l
72
这意味着大约 70 个文件系统中只有 1 个关心 MLC。
我在树外文件系统上没有看到任何内容,例如兹夫斯任何一个。