如何成为一个具有领导力的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技术,这是主控的核心机密,每一家主控供应商都有自己的专利,这里就不多说咯。

目录
打赏
0
0
1
1
371
分享
相关文章
让星星⭐月亮告诉你,当我们在说CPU一级缓存二级缓存三级缓存的时候,我们到底在说什么?
本文介绍了CPU缓存的基本概念和作用,以及不同级别的缓存(L1、L2、L3)的特点和工作原理。CPU缓存是CPU内部的存储器,用于存储RAM中的数据和指令副本,以提高数据访问速度,减少CPU与RAM之间的速度差异。L1缓存位于处理器内部,速度最快;L2缓存容量更大,但速度稍慢;L3缓存容量最大,由所有CPU内核共享。文章还对比了DRAM和SRAM两种内存类型,解释了它们在计算机系统中的应用。
386 1
SSD的原理和结构简介
SSD如淡雅之兰花,寻求内外统一,内涵与外在俱佳,除了英俊潇洒的外表,内在的魅力同样不可抵挡。
ZNS SSD前途是否一片光明?
ZNS SSD虽然有很大的优势,想要创出一片天地,依然需要多方面的努力。期待ZNS SSD可以早日实现美好的愿景。
AIGC训练场景下的存储特征研究
在今天这样以AIGC为代表的AI时代下,了解训练场景对于存储的具体诉求同样是至关重要的。本文将尝试解读WEKA的一个相关报告,来看看AIGC对于存储有哪些具体的性能要求。
95271 8
Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
296 0
揭秘慧荣科技SMI专利黑科技—NANDXtend ECC 技术
NANDXtend™是慧荣科技专为TLC SSD产品的需求设计,所独家开发的先进韧体技术。NANDXtand™三维解错修正机制,结合了LDPC(低密度奇偶修正码)及RAID Data Recover修正技术,能高速平行译码并且精准修正错误。
漫谈固态硬盘SSD全生命周期的质量管理
SSD质量的整体保证,需要从NAND颗粒、FW固件、SSD Qual质量、SSD运行质量完成全生命周期的端对端E2E质量管理。
探访SSD数据归属地之NAND闪存
闪存转换层FTL是NAND闪存总管,负责NAND闪存的衣食住行,所以请出大总管之前,先来欣赏一下NAND闪存的内在气质。
SSD掉电保护也是一门艺术
当你正在文思泉涌地敲打键盘赶稿件时,电脑突然抽风,然后,你就看到了绝望的蓝色(系统崩溃,电脑蓝屏了)。 其实office软件有自动保存的功能,当电脑重启,再次打开WORD文件时,会提醒你要不要导入最后自动保存的内容(这个方法不是100%管用)。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问