基于Linux nand FTL 的实现 这句话中的FTL是什么意思?

基于Linux nand FTL 的实现 这句话中的FTL是什么意思?,第1张

ftl是一种文件格式,后缀名。它是表示网页底层的一种文件,你可以把它当做一种HTML吧,ftl全称FreeMaker Template layer

在Linux中,经常有ftl.h和ftl.j ftl.h对应的慧仿模版是HTML。ftl.j对应的模版早历是JSP。

你可以参考源代码来获知核心底层。

链接:陆碧搜http://www.oschina.net/code/explore/pf-kernel/include/linux/mtd/ftl.h

说道NAND flash,首先提一下发明时间比较早的Nor-flash,Nor-flash相对于Nand-flash的特点是提供地址和数据引脚孙链局,可以像内存一样进行数据访问。

两种flash的主要差别:

从上图的比较可以看出,nand可以做更大的容量,同时擦写速度高于nor,随着nand的可靠性增加,越来越大的容量,后面的flash存储都是以nand为主。Nor-flash由于可以像内存一样读,可以将相关地址映射到CPU的地址空间进行XIP,由于物理特性Nor-flash存储程序比nand-flash更可靠,所以早期的嵌入式设备大部分使用Nor-flash作为程序存储和执行开启点。

从外部引脚看,主要差异emmc使用并行接口,ufs使用高效的串行接口,并且可以同时支持读和写。

从两者的读写速度看,ufs更快。

由于nand flash的特点,块擦写,page读,有循环回收算法,因此早期的nand flash驱动上面有MTD层,向上提供的是raw flash不带flash管理的,因此在上面挂在文件系统需要进行坏块管理以及循环使用算法等,比较常见的有yaffs2 jffs2 ubifs等。

FTL原名“Flash Translation Layer”,工作在nand-flash和文件系统中间,模拟nand-flash为普通的块设备,文件系统挂在同硬盘一样,无需担心底层是什么硬件介质。因此,对于FTL一般集成唤扰了坏块管理,动态均衡算法,线性地址映射等算法。FTL一般作为software运行在cpu侧,随着mmc emmc ufs SD等标准的出现,硬则让件存储设备集成FTL算法,因此 *** 作系统可以直接挂在ext4 ext3 FAT32等PC的文件系统。

像ext3 ext4 fat32等是给硬盘设计的文件系统,对flash的特性没有考虑。f2fs就是基于给nand-flash特性设计的,减少ftl的负担,对于nand-falsh来说优先选择。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12292635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存