第六章 FTL—FTL闪存转换层的重要作用

6.1.1 FTL是什么?

        FTL——Flash Translation Layer,闪存转换层,主要作用是完成主机逻辑地址空间闪存物理地址空间的翻译,这就是所谓的映射。

        SSD把每一笔用户逻辑数据写入闪存地址空间,便记录下该逻辑地址到物理地址的映射关系,下次主机想读取该数据时,固件根据这个映射关系,从闪存中读取该数据返回给用户,这是FTL的最原始也是最基本的功能

6.1.2 FTL其他重要功能都有什么?

基于闪存的特性,FTL还需要身兼数职

1、更新映射表,垃圾回收

        由于闪存不能覆盖写,写一笔新的数据,必须将其写入到一个新的位置,此时SSD固件维护的映射表会更新,以跟踪每个逻辑块最新数据存储在闪存的位置;

        往新位置写入数据的同时,老位置上的数据会变成垃圾数据,当闪存可用空间不足时,FTL会进行垃圾回收GC—Garbage Collection

2、磨损均衡

        因为闪存是有寿命的,所以我们在写入时不能可劲的往几个闪存块写数据,不然PEC会很快耗尽,变成坏快。FTL需要做到将写入尽量平摊到SSD的每个闪存块,做到雨露均沾,让每个闪存块磨损的差不多,从而保证SSD能写入更多数据,这就是常说的磨损均衡—Wear Leveling

3、降低读干扰问题

        为了避免读干扰在多次读取某个闪存块,对闪存存储单元数据可靠性的影响,在某个闪存块的读取次数达到一定阈值时,FTL会把这个闪存块的数据搬走,降低数据出错的可能。

4、避免数据保持问题

        为了避免数据保持问题,SSD在上电时,FTL会定期扫描闪存,当发现数据保持问题,就会执行数据刷新操作,把闪存块搬移到新的闪存块。

5、坏快管理

        FTL可以对出厂坏快和使用过程中产生的坏快进行管理

6、支持配置SLC        

        FTL支持将QLC或TLC配置成SLC,提高SSD的突发性能和提高数据的可靠性

6.13 FTL的类型有那些?

        1、Host-Based:FTL是在Host主机端实现的,使用的计算机/主控SOC的cpu和内存资源。

        2、Device-Based:FTL是在Device设备端实现的,使用的SSD的设备控制器RAM资源,会将前段主机的读写请求转换成对后端闪存的读写请求。现在主流的SSD基本是使用Device-Based

注:From eMMC JEDEC Standard No. 84-B51 Page 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值