很多朋友都對“固態硬盤能用多久”這個話題十分感興趣。除了MLC/TLC/QLC閃存的自身擦寫壽命限制之外,還有哪些因素會影響最終使用壽命呢?存儲極客爲大家總結了以下幾點。

閃存品質和糾錯算法

閃存能夠擦寫多少次,除了自身體質之外還與主控所用的糾錯算法有着直接關係。在搭配強力糾錯時,閃存就能用的更久一些。

現在LDPC糾錯已經成爲當代固態硬盤主控標配的特性,不過雖然都叫LDPC,具體實現算法卻屬於商業祕密,誰也不會公開。各主控廠商也會儘可能地與閃存生產廠商加強合作,以取得更好的糾錯和延壽效果。

垃圾回收算法與寫放大

大家普遍關心固態硬盤“寫入多少會掛掉”,實際上寫入的數據量並不等同於閃存的實際磨損量。這其中有一個“寫入放大率”的概念,指的是閃存實際寫入量與電腦主機端請求寫入量的比值。

顯然寫入放大率越高,閃存的磨損速度就越快,固態硬盤壞的就會更快一些。固態硬盤內的磨損均衡、垃圾回收算法都會影響寫入放大率。

磨損均衡是爲了讓閃存內的各個存儲單元能夠儘可能保持一樣的磨損程度,避免部分單元提前損壞而導致硬盤可用容量不足。垃圾回收則是閃存工作原理所致,必須要進行的一系列閃存內數據的輾轉騰挪。垃圾固態硬盤容易掉速,就是因爲在垃圾回收策略方面採取了比較懶惰的策略,雖然有助於降低寫入放大率、提升硬盤可用的壽命,但卻是以犧牲用戶使用體驗(掉速)爲代價的。

我的硬盤寫放大有多少?

既然寫放大對固態硬盤壽命影響如此之大,相信不少朋友會對自己固態硬盤的具體寫放大數值比較感興趣。寫放大除了跟固態硬盤的硬件方案有關之外,還與用戶使用習慣有很大的相關性:硬盤空間佔用越滿、隨機寫入操作越多,寫入放大率也就越高。

計算寫入放大率的第一步就是獲取“閃存寫入量”的數值,但並非所有固態硬盤都能提供這項具體指標。以東芝TR200爲例,我們需要先借助phison_load_cfg_smart_s11這款工具解鎖完整SMART信息。具體方法在存儲極客之前的文章中已經有介紹,大家可以自行查閱或私信。

解鎖之後通過AIDA64查看東芝TR200的SMART信息,E9項Lifetime Writes to Flash展示的就是閃存寫入量信息,而F1項Host Writes則是主機寫入量信息,只要把E9的數值除以F1就可以得到寫入放大率數值。

一般來說寫入放大率是大於1的,閃存的實際磨損總是要比我們寫入的數據更多。不過上圖中可以看到,這塊東芝TR200 240G固態硬盤的寫入放大率只有0.63左右。這主要受到幾個原因的影響:對於寫入SLC緩存內的數據,在緩存釋放之前就被刪除的,不納入閃存磨損,典型情況是AS SSD Benchmark跑分,測試數據剛寫完就刪除,數據只在SLC緩存內短暫停留,沒有實際寫入到BiCS閃存當中。

另外一個原因就是東芝TR200的主控具備數據實時壓縮能力,被壓縮後的數據體積縮小,對閃存的實際磨損也就會變得更小,變相地延長了固態硬盤的使用壽命。

寫入放大率受到固態硬盤型號、使用方式和固件算法等多方面影響,確保Trim指令開啓、儘量不要把硬盤用太滿,是降低寫放大、提高固態硬盤壽命的有效手段。

相关文章