存储知识、mount挂载理解

嵌入式系统存储知识

Android中mount命令可以得到

/dev/block/mtdblock3 /system yaffs2 rw,relatime 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/mmcblk0p3 /mnt/asec/extdata ext4 rw,nosuid,nodev,noat

MTD的介绍

Linux系统提供了MTD(Memory Technolgy Device,内存技术设备)系统来建立针对Flash设备的统一,抽象的接口。

有了MTD,就不用考虑不同Flash设备带来的差异,这点和FBD(FrameBuffer Device)作用类似。
Linux MTD层次图
Linux MTD层次图

  • MTD将文件系统与底层的Flash存储器进行隔离,这样应用层就无须考虑真实的硬件情况
  • 图中的mtdblock表示MTD块设备。

有了MTD后,就不用关心Flash是NOR还是NAND了。

Flash文件系统

Flash文件系统特性,常见的文件系统(FAT32,NTFS,Ext2)是无法直接在Flash设备上,因为无法重复再Flash用一块存储位置做写入操作(必须事先擦除该块后才能写入)。

为了能够在Flash设备上使用这些文件系统,必须透过一个转换层(Translation Layer),将逻辑地址对应到Flash存储器的物理地址上,以便系统能够把Flash当做普通的磁盘处理器。可以把这一层FTL(Flash Translation Layer),如图:
这里写图片描述
FTL和NFTL转换层示意图

  • 如果使用FAT32或NTFS文件系统,必须通过FTL或NTFL进行转换,其中FTL针对NOR Flash而NTFL针对NAND Flash
  • 尽管有了中间转换层,I/O效率有影响,开发了Flash文件系统,YAFFS应用比较广泛的一种。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值