SSD中的操作系统--FTL(闪存转换层)

本人萌新一个,下面是自己在学习途中看到的和感悟到的一些东西,如有错误之处或描述不恰当之处,欢迎指出,小生在此谢过各位前辈。因为了解不多,所以不知道对于侵权怎么界定,对于文中涉及到的一些图片和文字,如果涉及到侵权,敬请指出,我会删掉,谢谢。

   FTL是一种软件中间层,在度娘上介绍它为:用于将闪存模拟成为虚拟块设备,从而能够在闪存上实现FAT等等块设备类文件系统。


要详细了解FTL,有两个名词:LBA(Logical Block Address,逻辑区块地址)和PBA(Physics Block Address,物理区块地址)。


在传统的HDD上,数据是可以直接覆盖的,因此,LBA和PBA的关系是相等的,LBA==PBA。

****************************************************************************************************************************

在SSD出来之后,所使用的NAND闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操作系统现在使用的文件系统根本无法管理SSD,需要更换更先进、复杂的文件去解决这个问题,但这样就会加重操作系统的负担。

而为了不加重操作系统的负担,SSD采用软件的方式把闪存的操作虚拟成磁盘的独立扇区操作,这就是FTL。因FTL存在于文件系统和物理介质(闪存)之间,操作系统只需跟原来一样操作LBA即可,而LBA到PBA的所有转换工作,就全交由FTL负责。

LBA和PBA遵循一个关系,这个关系就是FTL中的Mapping Table,就像高中时的一对一函数,当CPU要对SSD进行读写操作时,只需对LBA进行操作,FTL会根据LBA从Mapping Table中找到相对应的PBA,然后对存储单元进行操作。


类似于操作系统,让应用可以被使用相同操作系统的不同硬件平台兼容。FTL让曾经运行在HDD上的文件系统可以运行在SSD上。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值