几年前还在争论到底有没有必要上固态硬盘,现如今,固态硬盘已经是装机的标配了。固态硬盘相对于机械硬盘来说价格高,容量小,但是其高速的读写速度是机械硬盘无法取代的。除了速度之前,大家可能也非常关系固态硬盘的寿命问题,那么SSD固态硬盘寿命是怎么计算的?一块固态硬盘大概能用多久呢?
要了解SSD固态硬盘的寿命,需要先了解一下SSD固态硬盘中的存储介质nanD闪存。nanD闪存原理上是一个cMOS管,有两个栅极,一个是控制栅极(contRol Gate), 一个是浮栅(Floating Gate). 浮栅的作用就是存储电荷,而浮栅与沟道之间的氧化层(Oxide LayeR)的好坏决定着浮栅存储电荷的可靠性,也就是nanD闪存的寿命。
在nanD闪存中,P/E cycle,也称为擦除次数,是判断nanD闪存寿命的关键参数。随着P/E cycle的增加,浮栅与沟道之间的氧化层被磨损的越来越严重,导致浮栅中电子的控制越来越艰难,最终结果就是,nanD的寿命走到了尽头。每颗nanD闪存,不管MLc或者TLc,在出厂的那刻,寿命就固定了,所以,减少PE cycle,是延长SSD固态硬盘寿命的主要方式。
当我们从电脑上(也就是Host端)往SSD固态硬盘中写入一些数据,然后再擦除,这部分只能算是Host端的擦除次数,并不是SSD存储介质nanD闪存真正的擦除次数。在这里有一个关键的参数,叫做写放大(Wa, WRite amplification). Wa=nanD闪存写入数据量/Host写入数据量。
当我们顺序写入数据时,nanD闪存端与Host端写入的数据量基本一致,这是写入放大Wa=1.
当我们随机写入数据时,nanD闪存端与Host端写入的数据量就会产生差异,因为这个过程中涉及到了垃圾回收(GaRbage clean).
比如,我们写入在上图的Block X写入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个数据搬到新的Block Y, 然后把Block X擦除。
所以,当我们从Host端写入一个文件时,nanD闪存增加的写入次数可能会比Host端看到的多。
举个例子,某款120G的SSD,用的是TLc芯片,标称是1000次的P/E,那么当用户向这个硬盘写入或者擦除的数据量达到120G,则视为一次。比如,用户今天下载了60G的电影,然后看完了就删除掉了。就产生了以下操作,下载60G是写入,删除60G是擦除,总共就产生了120G的数据操作。1000次,就意味着,用户如果每天都这样用了120G,这个硬盘的寿命大约就是1000天。
正常情况下,你不可能每天都有这么大的读写量,另外SSD主控厂商和SSD协议都努力优化了SSD的寿命问题。比如主控厂商对Gc的优化,nVMe协议中Multi StReam等功能,都尽可能的减少对nanD闪存的写入次数,延长SSD的寿命。而且现在大多数固态硬盘都有厂家的3年免费质保,所以说固态硬盘的寿命问题无需过多担心(杂牌山寨品牌的SSD另说)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>