PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

走进TiPlus5000 探秘SSD磨损均衡和闪存管理

[复制链接]
Essence 发表于 2022-12-29 11:47 | 显示全部楼层 |阅读模式
点击数:1133|回复数:9
一块2TB的SSD要进行3000PE耐久度测试,需要在顺序写入方式下(写入放大比接近1)写入2TB x 3000=6000TB的数据,这需要相当长的时间才能完成。

有朋友可能会问:在SSD里划分一个1GB容量的小分区,往里面覆盖写入3000GB,不就能测试闪存3000PE了吗?


简明版答案:闪存不支持直接覆盖写入。SSD具有磨损均衡功能,能平衡每个闪存单元的擦写次数。所以划分1GB小分区单独测SSD耐久度的方法是不可行的。

看似简单的问题,背后却有着很多深层次的秘密。

Flash Translation Layer闪存转换层:
拥有FTL闪存转换层是SSD和HDD之间的显著差别。FTL闪存转换层的影响下,操作系统以及用户角度看来固定不变的位置,在SSD内可以对应不同的闪存单元。并且FTL的映射关系是动态可变的,无法定向瞄准特定闪存单元反复擦写。


FTL除了提供闪存映射,还会参与垃圾回收和磨损均衡。

Wear Leveling磨损均衡:
SSD主控管理的磨损均衡算法会平衡所有闪存单元的擦写循环次数,避免让个别闪存单元提早损坏。


磨损均衡分为静态磨损均衡与动态磨损均衡。和很多朋友想象中不同的是,在这里静态要比动态更先进:静态磨损均衡是在每次写入时从空白闪存单元中挑选擦写次数最少的进行写入,已经存储有数据的闪存单元就无法参与到磨损均衡当中来。而静态磨损均衡会在条件具备的情况下搬走长期占用“年轻闪存单元”的静态不变数据,将其释放出来用于新数据写入,从而避免过度消耗其他闪存单元的寿命。

有了磨损均衡算法,SSD中的闪存寿命将被均匀地消耗。容量越大的SSD,使用寿命也将越长。致态TiPlus5000 2TB拥有高达1200TBW的官标耐久度,按5年计算每天可写入高达657.5GB的数据,远超日常使用所需!


SLC缓存和延缓释放:
致态TiPlus5000和其他TLC SSD一样,都具备SLC缓存功能。主控通过一系列智能SLC算法来优化SSD写入寿命。


正常情况下,写入SSD的数据都先进入SLC缓存内,然后空闲时在主控管理下释放到闪存的TLC存储区域,相当于每次数据写入会对闪存造成两次磨损。


好消息是闪存在SLC模式下写入的寿命要比TLC模式更持久。另外SSD会应用延缓释放算法,若SLC缓存内的数据后续又被删除,就免去了缓存释放产生的二次磨损。


闪存单元既能用作模拟SLC,也能直接以TLC使用,在使用选择上也是有一定讲究的。主控通常会挑选那些健壮性指标较高的闪存单元用于模拟SLC写入,其中的原因跟下面将要提到的Copyback有关。

Copyback和闪存品质:
SLC缓存释放、动态磨损均衡、垃圾回收以及处理读取干扰,都需要SSD在闪存内移动数据到其他位置。


正常情况下要移动闪存内的数据,需要SSD从特定位置读出数据内容到主控,经过ECC纠错后写入到其他位置。如果闪存支持Copyback,就可以简化这一步骤:由主控发出指令,数据无需经过主控,直接在闪存内部完成位置移动。


Copyback之所以高效是因为它实现了主控减负,不会影响到SSD执行其他任务。不过也因为未经主控纠错,数据移动过程发生的比特错误可能无法被立即发现和纠正,一旦累积到超过主控纠错引擎能力的水平,就会影响数据安全。挑选健壮性较高的闪存单元用作SLC缓存,就可以提高SSD缓存释放过程中使用Copyback的可靠性。


回顾PCEVA去年进行的SSD耐久度测试,在3000次PE之后,相当一部分SSD的SLC缓存容量出现大跳水。在其他的测试中,我们还曾发现某些SSD在寿命末期出现SLC缓存彻底被禁用的情况,这些都是SSD闪存磨损达到一定程度之后为了保障安全而在性能端做出的牺牲。


如此看来,选择采用原厂高品质闪存的SSD,无疑能获得更为持久的高性能使用体验。



最后我们回顾一下文章开头提出的问题,在致态TiPlus5000 2TB中将一个1GB文件反复覆盖写入3000次会发生什么?答案是仅仅消耗1200TBW耐久度的0.25%!真的是小case啦。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
StormBolt 发表于 2022-12-29 12:16 | 显示全部楼层
应该在TLC寿命完了之后激活SLC模式,容量变成1/3
yhhuada66 发表于 2022-12-29 20:20 | 显示全部楼层
Copyback 是不是最早是闪迪的叫法?
nighttob 发表于 2022-12-29 21:02 | 显示全部楼层
yhhuada66 发表于 2022-12-29 20:20
Copyback 是不是最早是闪迪的叫法?

copyback是个技术名词,很多地方都有用
存储领域我最早知道这个词是RAID卡上将已完成rebuild的热备盘换回来,当年很多人不理解明明rebuild完成了为什么buzzer还是响个不停,就是开了copyback
沙漠之鹰L3 发表于 2022-12-31 02:12 | 显示全部楼层
有个问题,之前不是说SLC缓存有很大的写入放大么?
所以SLC缓存反而会更消耗寿命。
那文中的这个:

闪存在SLC模式下写入的寿命要比TLC模式更持久

就有问题了啊。
一方面是SLC缓存带来的写入放大,消耗了寿命。而另外一方面却是说SLC写入寿命比TLC更持久。这不是完全相反的么?
StormBolt 发表于 2022-12-31 09:34 | 显示全部楼层
沙漠之鹰L3 发表于 2022-12-31 02:12
有个问题,之前不是说SLC缓存有很大的写入放大么?
所以SLC缓存反而会更消耗寿命。
那文中的这个:

这说的是两回事,只当SLC使用,不管容量问题,容量只有1/3,寿命长。使用SLC,后面还要把数据挪进其他存储单元的低速MLC、TLC层以最大化空间利用率,就会有二次擦除、写入,因此有写入放大

前者理论不存在
dboy99 发表于 2023-1-6 16:25 | 显示全部楼层
未来的ssd能否根据用户的需要划分出永久性SLC的分区呢?
红色狂想 发表于 2023-1-7 13:51 | 显示全部楼层
这样来看的话SSD内部读写原理属于玄学了,既然是玄学,那总免不了会出现玄事儿吧,比如容量那么大的NAND,会不会某天在量子涨落间搬运转移数据时卡住,然后固件算法还认为已经处理成功了,于是就这样有一块数据僵死那儿了呢?
eterfinity 发表于 2023-1-8 04:51 | 显示全部楼层
本帖最后由 eterfinity 于 2023-1-8 04:53 编辑

楼上的小哥自信点儿, SSD内部的搬运读写始终天然存在失真率,与音频回放的玄学是一回事儿,水电干净透彻
火电给力迅猛
风电静谧安详
雷劫直接掉盘

指原莉乃 发表于 2023-1-9 13:32 | 显示全部楼层
不知道我的浦科特能坚持几年
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部