栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间:发布时间: 百科书网 趣学号

了解硬件特性有助于我们针对特性进行进一步的探索与优化;本文主要介绍SSD的FTL(Flash Translation Layer);

FTL所在的位置:

在设备端:

 在主机端:

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

        SLC cache是把MLC或者TLC的一部分闪存块,配置为更优速度优势的SLC模式来作为Cache使用,让SSD具有更好的突发性能。不过一般主要用于消费级SSD或者移动存储中,主要原因是SLC Cache具有更好的突然性能,但是企业级SSD更追求稳定的速度;

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纠错和闪存时序控制。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/270338.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号