2.4 SSD之磨损均衡(WL-wear leveling)

文章探讨了NAND闪存的寿命限制,特别是频繁的擦除和写入操作如何影响SSD。为延长SSD寿命,采用了动态和静态写入负载均衡策略,以及坏块管理,包括维护擦除计数表(ECT)和坏块表。动态WL根据擦除次数选择空闲块,而静态WL处理冷数据。此外,文章还提到,除了擦除次数,还需要考虑擦除时间和错误率来评估块的耐用性,当不可纠正误码率超过阈值时,TLC可转换为SLC模式。
摘要由CSDN通过智能技术生成

NAND寿命受限于擦除次数,对相同的block进行频繁改写和擦除很容易就造成永久性伤害,使SSD寿命下降或性能降低,因此引入WL尽量平均地擦除和写入所有block,以延长SSD寿命。当然太过激进的WL算法也会导致SSD寿命的快速下降。

“SSD data path”这篇文章最后介绍了 page loyout,有记录block id和erase count。另外fw里还有维护一个表ECT(erase count table),每个block的擦除次数都会记录在这个表里。ECT存放在NAND中,SSD上电时在SRAM中维护并定时更新进NAND中。企业级SSD有超级电容或钽电容做掉电保护,这个会另外写文章讲掉电保护。

WL分为动态和静态。

动态WL:是在缓存处理数据,就是说有Write操作时,从空闲block链表里拿ECT最小的block写入,这个block从空闲链表加入到数据块链表,并建立地址映射关系。

从用户层来看,假如每次都是对同一个逻辑地址重复写数据,fw里是会把真实数据存放的物理地址重新建立映射关系。

静态WL:动态WL无法对cold数据进行处理,冷数据就是在NAND中很长时间没有读写操作的数据。

一个触发机制是检测闲置数据超过设定的阈值,然后找出数据块链表中ECT最大和最小的block。

Hot-Cold Swapping:结合GC的CAT算法,每个block记录擦除次数,fw定期检查,如果有2个block擦除次数的差值大于设置的阈值,就会交换。

NAND中也有很多坏块,包括出厂时的硬坏块,还有使用过程中产生的软坏块,在状态寄存器标示后倒出数据,并加入到坏块表里,这些会另外文章里介绍。

Block耐磨度实际上并不是完全一致的,有的TLC block能达到1万次的寿命,有的可能几百次,也有的出厂时就有坏块,单纯的靠擦除次数是不能统计block寿命的。还要看block擦除时耗费的时间,时间越短越健康。还可以通过破坏性PE测试,记录原始误码率/不可纠正误码率/操作时间,建立数学模型。

对每个block和page耐磨度进行评估,耐磨好的多擦除。如果不可纠正误码率(UBER,UncorrectableBit Error Rate)达到阈值,TLC可以转SLC。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值