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