首页 » 信息技术 »

SSD的磨损平衡(Wear Leveling)算法

2019年12月8日 / 12次阅读
硬件

SSD现在已经被广泛使用了,如果你现在装机不用SSD,甚至会被部分DIY玩家嘲笑说不懂电脑。不过,SSD获得如此高的认同度,也并非是常态,起码在早些年,就有很多人对SSD的寿命心存芥蒂。

SSD由闪存构成,而闪存是有擦写寿命限制的,例如MLC闪存只能够擦写数千次,TLC闪存只能够擦写数百次等等。

如果就这样普通拿闪存组装成为SSD,那么实际的寿命表现可能非常令人失望——读写数据时,会集中读写SSD的其中一部分闪存,这部分的闪存寿命就会损耗得特别快。一旦这部分闪存挂了,那么整块SSD也就挂了。

这种磨损不平衡的情况,可能会导致一块100G容量的SSD,只因有数M的闪存耗损,而整块废掉。而让数M的闪存寿命走向完结,就算是MLC,可能也只需要擦写数十G的数据。然而我们都知道,现在不存在什么SSD会如此轻易得挂掉,这就和SSD的特殊软件算法有关系了。

为了弥补SSD闪存的寿命缺陷、最大程度延续SSD的寿命,业界为SSD引入了磨损平衡(Wear Leveling)算法,令所有闪存磨损度尽可能保持一致。

SSD的磨损平衡算法大致分为动态和静态两种。

动态的算法就是当写入新数据的时候,会自动往比较新的Block中去写,老的闪存就放在一旁歇歇;而静态的算法就更加先进,就算没有数据写入,SSD监测到某些闪存Block比较老,会自动进行数据分配,让比较老的闪存Block承担不需要写数据的储存任务。同时让较新的闪存Block腾出空间,平日的数据读写就在比较新的Block中进行——如此一来,各个Block的寿命损耗,就都差不多了。

有了这种软件算法加持,就算是TLC闪存的SSD,寿命也比较可观了。

例如256G的TLC闪存SSD,寿命是500次擦写(P/E)的话,那么就需要写入125TB的数据,闪存才寿终正寝——就算你每天写入10G数据,也需要用三十多年才能把闪存给写挂,更何况很少人每天往SSD中写10G数据。

不过,磨损平衡算法需要主控芯片负责运算,现在还是有一些闪存产品不带有这个算法,导致寿命特别短——例如一些低端U盘。在早些年,有不良商家用不带磨损平衡算法的山寨U盘冒充SSD,导致这所谓的“SSD”寿命特别短。SSD不可靠的坏口碑,或许和这有很大关系。

本文链接:https://www.maixj.net/ict/ssd-wear-leveling-23182

留言区


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top