聊聊SSD壽命那些事,TLC壽命不夠用?
2019/11/24很多人都認為ssd不能多寫入東西,不然很容易壽命耗盡。我們來聊聊SSD壽命的那些事.....
關于SSD寫入放大
寫入在SSD中的數據是不可以直接更新的,只能通過扇區覆蓋重寫,在覆蓋重寫之前需要先擦除,而且擦除操作又是不能在扇區上做的,只能在磁盤的塊上來完成,擦除塊之前需要將原有的還有效的數據先讀出,然后在與新來的數據一起寫入,這些重復的操作不單會增加寫入的數據量 ,還會減少閃存的壽命,更吃光閃存的可用帶寬而間接影響隨機寫入性能。
舉個最簡單的例子:當要寫入一個4KB的數據時,最壞的情況是一個塊里已經沒有干凈空間了,但有無效的數據可以擦除,所以主控就把所有的數據讀到緩存,擦除塊,緩存里 更新整個塊的數據,再把新數據寫回去,這個操作帶來的寫入放大就是: 實際寫4K的數據,造成了整個塊(共512KB)的寫入操作,那就是放大了128倍。同時還帶來了原本只需要簡單一步寫入4KB的操作變成:閃存讀取(512KB)→緩存改(4KB)→閃存擦除(512KB)→閃存寫入(512KB),共四步操作,造成延遲大大增加,速度變慢。SSD的具體操作步驟如下:
SandForce:sf主控是壓縮主控,會壓縮磁盤上可壓縮可數據,作為op空間。比如,舉個簡單的例子,假如你要存了一部10MB大小的小說,當你存進去的時候,主控制器會壓縮數據,假設壓縮了5MB,那么硬盤里將有5MB空間空出來了,當然,顯示在你電腦上的還是10MB。那么剩下5MB就會作為op空間,以減少寫入放大。寫入放大少了,實際寫入閃存的量就會降低,閃存壽命較長。然而,也有壞處,假如你寫入的數據是類似高清電影之類的不可壓縮數據,那么寫入放大將會大于1,而且整體速度明顯小于非壓縮主控。
Marvell:馬牌主控多為主流SSD所采用,像是浦科特M6S、美光MX200、閃迪X110之類,該主控無壓縮特性,寫入多少就是多少,不能壓縮數據來作為op空間。故此類主控寫入放大會比sandforce大,一般會大于1。該方案的好處就是寫入無需經過壓縮處理,速度會比較快。壞處就是相對于sandforce的SSD,nand寫入量會更多。
Samsung,Jmicro:此類主控因無壓縮特性,在寫入放大方面會和marvell的主控類似。
首先必須澄清一點,閃存制程越小壽命越低,所以50nm制程(已停產)壽命是遠大于目前的19nm制程的。PS:目前最小制程已達到15nm。
眾所周知,目前消費級常用作閃存芯片從好到壞分為SLC,MLC,TLC。
SLC
寫入壽命最長,速度最快,據估測大概有100000次擦寫壽命,接近于無限。但是由于成本過高,現逐漸遠離SSD市場。
MLC
寫入壽命中等,視制程不同大約有,3000—10000次擦寫壽命,為主流SSD所采用。
TLC
壽命只有不到500—1000次,目前采用有三星840、840EVO、850EVO、閃迪 Ultra II 、閃迪X300,還有shinedisk固態硬盤。
計算(以TLC為例)
壽命的基礎與硬盤的大小有關。例如128G,寫入128G就叫1個PE。現在市場上的TLC,以最低次數500次計算
128X500=64000GB=64T
在一般家用情況下,按照平均每天寫入30G的寫入量計算(其實家庭正常使用一天也用不了幾個G,我用了3年固態總寫入才7T)
64000÷30÷365=5.8年
除去寫入放大等因素,這個硬盤起碼要4年才可以寫完。4年固態早白菜價了,機械估計退出歷史舞臺了.....