如何成为一个具有领导力的SSD主控?

简介: 没有人可以随随便便成功,为了高效的处理Host和NAND闪存之间的传输,SSD主控也是付出了极大的努力。


之前的文章中,已经偷偷的分享了SSD主控的成功秘诀:
1. 针对Host和NAND闪存采用不同的安抚策略(Interface/protocol);
2. 高效的处理Host和NAND闪存之间的数据传输,并保证数据的完整性。

此时还是很有必要再一次把SSD主控架构图请出来(最近出镜率有点高哈,这一次应该是最后一次麻烦TA老人家咯):

如何成为一个具有领导力的SSD主控?


没有人可以随随便便成功,为了高效的处理Host和NAND闪存之间的传输,SSD主控也是付出了极大的努力。

SSD主控的梦想就是实现以下功能:
1. 磨损平衡(Wear-leveling)
2. 垃圾数据回收(Garbage Collection)
3. 坏块管理(Bad Block Management)
4. 数据纠错处理(ECC, Error Correction Code)

SSD主控的想法是好,但是理想和现实总是有或多或少的差距,现实是Host的愿景跟NAND闪存的本性有了冲突。


按照Host的愿景,数据可以写入并且可以重复写入同一区块,  然而,NAND闪存的本质是不允许重复写入的,在写入同一区块之前必须先进行擦除动作。

在逆境境中才能检验SSD主控的真实领导力,SSD主控大胆的启用了逻辑与物理转换层(logical to physical)的概念,也称为闪存转换层 (FTL,Flash Translation Layer)。

在上图中第一行是存储块的逻辑地址,第二行是存储块的物理地址。


如果Host想要在同一逻辑区块L1重复写入数据时,闪存转换层FTL会将数据写入物理区块P1', 同时把之前的逻辑区块P1标记为无效块。

有了闪存转换层FTL这一秘密武器,SSD主控可以轻松实现自己的梦想。

1. 磨损平衡(Wear-leveling,WL)
在现实应用过程中,SSD主控在NAND闪存写入数据时,并非均匀等机会的写入NAND闪存的每一个区块(Block)。


借用宋小宝的经典桥段,SSD主控很难做到“雨露均沾”,而是很大程度可能会“独宠”一些NAND闪存区块。但是这样的“独宠”会严重透支NAND闪存区块寿命(NAND闪存区块的磨损-Write/Earse count会大大的增加,性能变差)。

为了最大化的延长SSD的存储寿命,闪存转换层FTL引入磨损平衡(Wear-leveling)技术,尽量使NAND闪存的每一个Block/Page寿命均衡化。

在Host对同一逻辑区块更新数据时,SSD主控会动态的指向不同的物理区块,之前的物理区块标记为“无效”,进入等待保养状态,这样就可以确保每一个物理区块都被使用。

用更通俗的话来讲就是,每次写入的时候挑年轻力壮的区块, 年老的区块则颐养天年。

2. 垃圾数据回收(Garbage Collection, GC)
垃圾数据回收GC技术, 类似于平时我们电脑、手机内存整理优化的概念。


对SSD可用存储区块的数量,主控会设定一定阀值。当可用存储区块的数量低于阀值时,主控会启动垃圾数据回收,将一些无效存储区块擦除,保养维护之后标记为可用区块供Host使用。

3. 坏块管理(Bad Block Management,BBM)

尽管SSD主控FTL层采用了磨损平衡技术,NAND闪存始终有一些区块不能堪当大任,我们称之为“坏块”(Bad Block)。


FTL层采用了坏块管理模块, 并且将所有的坏块记录在一张黑名单上,这张表单的信息是对Host不可见的,所以Host写入数据时,不会把对坏块进行操作。

在终端客户使用的过程也会不断产生坏块,SSD主控会及时更新坏块表单。

4. 数据纠错处理(ECC, Error Correction Code)
NAND闪存不能保证数据在整个生命周期里都不出错,NAND闪存一般不会整个Block或Page全部出错,只是其中的一个或者几个bit出错,如果直接将整个Block标记为坏块,那实在是太浪费了(罪过,罪过~~~)。

数据纠错处理(ECC, Error Correction Code)技术可以纠正一定数量的错误bit。目前SSD主控基本通过硬件的方式实现,主流的SSD ECC纠错技术主要有BCH编码和LDPC编码。


不过,由于3D NAND闪存的普及,对主控ECC纠错能力的要求越来越苛刻, BCH编码技术会慢慢退出历史舞台。


对于LDPC技术,这是主控的核心机密,每一家主控供应商都有自己的专利,这里就不多说咯。

相关文章
|
存储 缓存 人工智能
PLC SSD虽来但远,QLC SSD火力全开
PLC NAND的普及还需要一定的时日。乐观估计,PLC SSD最快也要到2025年才可能量产进入市场。所以,PLC SSD还是一个未来的产品,当前我们的目光还是聚集在QLC身上吧。
|
存储 固态存储 内存技术
探访SSD数据归属地之NAND闪存
闪存转换层FTL是NAND闪存总管,负责NAND闪存的衣食住行,所以请出大总管之前,先来欣赏一下NAND闪存的内在气质。
|
存储 固态存储 内存技术
技术市场分析:闪存阵列中默默服务的SAS SSD
- NAND闪存与固态盘市场统计; - 三星:大容量点凭借闪存优势; - WD/HGST:Intel合作+多次收购庞大阵容; - 东芝:NAND闪存+SAS硬盘先天优势; - 如何更好地使用SSD:成本、性能、寿命
1929 0
|
固态存储 芯片 内存技术
|
大数据 数据中心 内存技术
|
存储 固态存储 测试技术
|
数据中心 固态存储