闪存,寿命

SSD固态硬盘寿命怎么计算 SSD固态硬盘寿命计算方法【详解】

SSD固态硬盘寿命怎么计算 SSD固态硬盘寿命计算方法【详解】

  SSD寿命是怎么算的?MLC寿命是写入1万次,它这1万次是怎么算的?是往固态硬盘里粘贴一个文件算一次还是粘贴完再删除掉算一次?

  擦写次数如何算?

  要了解SSD固态硬盘寿命,需要先了解一下SSD固态硬盘中的存储介质NAND闪存。NAND闪存原理上是一个CMOS管,有两个栅极,一个是控制栅极(ControlGate),一个是浮栅(FloatingGate).浮栅的作用就是存储电荷,而浮栅与沟道之间的氧化层(OxideLayer)的好坏决定着浮栅存储电荷的可靠性,也就是NAND闪存的寿命。

  在NAND闪存中,P/ECycle,也称为擦除次数,是判断NAND闪存寿命的关键参数。随着P/ECycle的增加,浮栅与沟道之间的氧化层被磨损的越来越严重,导致浮栅中电子的控制越来越艰难,最终结果就是,NAND的寿命走到了尽头。每颗NAND闪存,不管MLC或者TLC,在出厂的那刻,寿命就固定了,所以,减少PEcycle,是延长SSD固态硬盘寿命的主要方式。

  Host擦除次数与NAND擦除次数的区别

  当我们从电脑上(也就是Host端)往SSD固态硬盘中写入一些数据,然后再擦除,这部分只能算是Host端的擦除次数,并不是SSD存储介质NAND闪存真正的擦除次数。在这里有一个关键的参数,叫做写放大(WA,WriteAmplification).WA=NAND闪存写入数据量/Host写入数据量。

  当我们顺序写入数据时,NAND闪存端与Host端写入的数据量基本一致,这是写入放大WA=1。

  当我们随机写入数据时,NAND闪存端与Host端写入的数据量就会产生差异,因为这个过程中涉及到了垃圾回收(GarbageClean)。

  比如,我们写入在上图的BlockX写入4页数据A,B,C,D,之后我们写入新的数据E,F,G,H以及A,B,C,D的更新数据A',B',C,D'.这样的话,原来的A,B,C,D已经是无效数据。由于NAND闪存只能以块为单位进行擦除。之后,SSD启动垃圾回收GC,这样的话就需要把E,F,G,H,A',B',C,D'这8个数据搬到新的BlockY,然后把BlockX擦除。所以,当我们从Host端写入一个文件时,NAND闪存增加的写入次数可能会比Host端看到的多。

  普通用户是否需要考虑SSD寿命的问题?

  对于我们普通用户来说,SSD固态硬盘寿命是我们很为在意的问题,那么,我们是否真的需要纠结这个问题呢?小编觉得没有必要,主要有以下两方面考虑:

  1.SSD的优化技术

  现在的SSD中,SSD主控厂商和SSD协议都努力优化了SSD的寿命问题。比如主控厂商对GC的优化,NVMe协议中MultiStream等功能,都尽可能的减少对NAND闪存的写入次数,延长SSD的寿命。

  2.SSD质保值得信赖

  在SSD的产品信息中,我们经常会看到两个参数:质保年限和终生写入量TBW.质保年限,很好理解,就是SSD厂商对SSD品质保证期,目前市场上质保年限一般都是3~5年。终生写入量TBW,是允许SSD固态硬盘在整个寿命周期内写入的数据总量。

  不过,需要强调一点的是,SSD厂商的承诺中,质保年限和终生写入量TBW并不是并列的关系,如下图。

  二者之间是"或"的关系,意思是,只要满足其中一个条件,那么,这个SSD的保质期就过了。

  (1)假设从购买SSD开始,时间到了3年,但是呢,我们对SSD数据写入量很少,即使只有10GB,那么,对不起,保质期过了;

  (2)假设从购买SSD开始,时间才不到1个月,但是呢,我们对SSD写入的数据量就超过了400TB,那么,还是对不起,保质期过了。

  不过,对我们普通用户来说,对SSD的写入量一般不会很大,好一些的固态硬盘,如果对SSD保护的好,用个5年以上,应该不成问题。所以,对于SSD固态硬盘寿命的这个问题,不必过滤,放心使用就好。