gpt4 book ai didi

嵌入式系统和串行闪存磨损问题

转载 作者:行者123 更新时间:2023-12-04 19:11:41 25 4
gpt4 key购买 nike

我正在为我的嵌入式应用程序使用串行 NOR 闪存(基于 SPI),并且我还必须在它上面实现一个文件系统。这使得我的 NOR 闪存更容易出现频繁的删除和写入周期,其中有磨损级别算法。我想问几个关于相同的问题:

首先,是否可以为 Nor flash 实现磨损级别算法,如果是,那么为什么大部分时间我都找到了 NAND Flash 而不是 NOR Flash 的解决方案?

其次,是否可以使用基于串行 SPI 的低成本 NAND 闪存,如果是,请分享相同的部件号。

第三,实现我们自己的 Wear Level 算法有多难?

第四,我也听说过工业级的NOR Flash有更高的擦写周期(百万级!!),这个理解对吗?如果是,那么请让我知道此类 SPI NOR Flash 的详细信息,这也可能导致避免实现磨损级别算法,如果不是完全那么因为我打算实现自己的磨损级别算法,它可能会给我一点在某些区域留出空间并轻松实现磨损级别算法。

所有这些点的约束是成本,我希望对这些问题有低成本的解决方案。

提前致谢

问候

阿迪亚·米塔尔

(mittal.aditya12@gmail.com)

最佳答案

实现磨损均衡算法并非易事,但也并非不可能:

  • 您的磨损均衡驱动程序需要知道文件系统何时不再使用磁盘块(这在现代 SSD 上被称为 TRIM 支持)。实际上,这意味着您需要修改块驱动程序 API 和它上面的文件系统,或者让磨损均衡驱动程序知道文件系统的自由空间映射。这第二个选项对于 FAT 很容易,但可能已获得专利。
  • 您至少需要保留一个删除单元 + 一些分配单元以允许删除单元回收。保留更多块将提高性能
  • 您需要一个后台线程来执行异步删除单元回收
  • 你需要测试,再测试一次。当我上次构建其中一个时,我们构建了两个闪存的模拟,并在其上运行了真正的文件系统,并折磨了系统数周。
  • 有很多专利涵盖了磨损平衡的各个方面。同理,Linux Kernel 中至少有两个磨损均衡层。

  • 鉴于所有这些,授权第三方库可能具有成本效益,

    关于嵌入式系统和串行闪存磨损问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14374825/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com