嵌入式文件系统损耗均衡功能对比

1.硬件层面

外部存储设备分为块设备、闪存和 NVDIMM(非易失内存模组)设备 3 类。

(1)其中块设备主要有以下两种:

A.机械硬盘:嵌入式设备基本不使用

B.闪存块设备:

常见的有固态硬盘 splid State Drives,SSD),以及在手机和平板电脑上使用的嵌入式多媒体存储卡 (embedded Multi Media Card,eMMc)和通用闪存存储(Universal Flash Storage,UFS)。

闪存(Flash Memory)的主要特点如下:

在写入数据之前需要擦除一个擦除块,因为向闪存写数据只能把一个位从 1 变成 0,不能从 0 变成 1,擦除的目的是把擦除块的所有位设置为 1一个擦除块的最大擦除次数有限,NOR闪存的擦除块的最大擦除次数是 10^4~10^3, NAND 闪存的擦除块的最大擦除次数是 10^3~10^6。  

(2)闪存主要有:NOR falsh,NAND flash

(4)eMMC和NAND Flash的关系

eMMC由NAND Flash存储芯片、主控IC(集成电路)以及标准封装组成。这意味着eMMC不仅包含了存储数据的NAND Flash芯片,还集成了控制和管理NAND Flash的主控芯片,以及用于与外部设备通信的标准接口。对外的接口协议与SD、TF卡类似。

 2.文件系统

(1)闪存(NOR falsh,NAND flash)专用文件系统

A. JFFS2文件系统(日志型闪存文件系统版本2, Journalling Flash File System version2)

用在NOR falsh,基于MTD设备而设计的,实现了擦除、垃圾回收、损耗均衡等机制。但其损耗均衡机制做的并不好,一定程度上会加速损耗。

B.UBIFS(无序区块镜像文件系统, Unsorted Block Image File System)

可以用在NOR falsh也可以用在NAND flash上,克服了JFFS2文件系统的缺点,更好的实现了擦除、垃圾回收、损耗均衡等机制。

(2)块设备(机械硬盘,SSD,eMMc)常用文件系统

A.EXT 文件系统是 Linux 原创的文件系统,目前有 3 个 成版本:EXT[2-4]。

Ext可以通过FTL(Flash Translation Layer)实现对flash的支持,FTL可以将flash模拟成磁盘结构,从而实现对基于磁盘的文件系统的支持,同时FTL还必须提供块的管理、垃圾回收、均衡磨损等功能,因为不是直接对flash设备进行使用,需要FTL这个转换层来实现,相对效率比较低。

  1. vfat 文件系统(也称为 FAT32)

vfat没有日志功能,且缺乏完整的 Linux 文件系统实现所需的许多特性。它可用于在 Windows 和 Linux 系统之间交换数据,因为 Windows 和 Linux 都能读取它。不要将这个文件系统用于 Linux,除非要在 Windows 和 Linux 之间共享数据。如果您在一个 vfat 磁盘上解压缩一个 Linux 归档文件,那么您将丢失权限(比如执行权限),还会丢失该归档文件中可能存储的符号链接。

C.eMMc支持的其他系统:

Fusewrapfsf2fs,相对不太常用

3.综上

如果是NAND flash,采用UBIFS文件系统,比较好的实现了flash擦除、垃圾回收、损耗均衡等机制。

如果是eMMC采用EXT系统,通过FTL转换层实现了flash的管理、垃圾回收、均衡磨损等功能。

UBIFS更适用于嵌入式系统和闪存存储设备,而ext则更适用于Linux操作系统中的各种场景。

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI+程序员在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值