其他分享
首页 > 其他分享> > SSD的FTL——深入浅出SSD笔记

SSD的FTL——深入浅出SSD笔记

作者:互联网

Interface Adapter——接口适配: 

        在内部FTL中主要关联eMMC/SCSI/SATA/PCIe/NVMe等接口,而在外部FTL中主要关联Linux Block Device。

Address Translation——映射管理

        地址映射,也可以叫做mapping,负责逻辑地址和物理地址之间的映射,多技术模块都以该机制为核心进行。众所周知,Nand Flash具有写时擦除的特性,因此写入数据时不得不异地更新。

Garbage Collection——垃圾回收

        垃圾回收,简称GC,回收异地更新产生的脏数据所占空间的回收工作。

Trim

        Trim是一种用来增加GC垃圾回收效率的算法。

        没有Trim的话,会出现这样一种情况:在操作系统删除一个文件,实际上数据在物理层面上并没有被删除。

Wear Leveling——磨损平衡

掉电恢复——Power off Recovery: 

        掉电恢复,简称POR。正常掉电,SSD会把缓存中的数据刷新到闪存,重新加载保存的数据即可。如果是异常掉电,因为某些人为或自然外力的原因导致数据没有成功写入到Nand中,掉电恢复要恢复到掉电前的安全状态,比如恢复RAM中的数据和Address Translation中的映射表。

Error Handler——坏块管理

        处理读写操作中遇到的Fatal Error或ECC Error状况,以及Bad Block或Weak Block的管理。略过坏块或者跳过坏块;

SLC cache

RD & DR

        RD指的是Read Disturb,DR指的是Data Retention。两者都能导致数据丢失,但原理和固件处理方式都不一样;

        RD——对一个闪存块来说,每次读其中的一个闪存页,都需要在其他字线(Wordline)上加较高的电压以保证晶体管导通。这个操作有点类似于轻量的写操作;长期会导致比特翻转;因此需要在达到读阈值之前对这个闪存块上的数据进行刷新;

        DR——电子从浮栅极跑出,导致比特翻转;由FTL定期扫描,翻转超出阈值进行数据刷新,避免数据丢失;

Host Based FTL

        SSD有Host Based FTL和Device Based FTL两种模式。

        Host Based把FTL放在主机驱动程序中,Device Based则是把FTL放在SSD主控内部。

        Host Based SSD一般的模式是把闪存的读写接口直接开放给驱动程序,这样驱动程序就能自行管理闪存内部资源。控制器大都采用可编程逻辑器件FPGA,功能比较简单,主要实现ECC纠错和闪存时序控制。

标签:闪存,深入浅出,掉电,SSD,数据,FTL,Based
来源: https://blog.csdn.net/Gloria_y/article/details/120495807