SSD固态硬盘寿命短?平衡算法如何进行挽救

存储技术

595人已加入

描述

  固态硬盘寿命一般都很短,如何弥补SSD闪存的寿命缺陷、延续SSD的寿命。业界为此引进了一种平衡算法来续命,尽量使闪存磨损度保持相同。

  硬件挖的坑真的可以通过软件来填吗?实际上不少硬件产品,都存在一些不尽如人意的地方,这可能是某项技术天生的短板,也有可能是设计不当带来的问题。

  固态硬盘寿命短?平衡算法来续命

  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不可靠的坏口碑,或许和这有很大关系。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分