在當今的社會,我們每個人都在使用固態硬盤,也知道SLC/MLC/TLC/QLC這四種Flash顆粒。今天我們并不是去探討這四種Flash芯片顆粒孰優孰劣的問題,而是聊聊關于固態硬盤壽命的問題。除了閃存顆粒的自身體質起著決定性作用外,其實主控中的寫入放大機制的存在也是影響固態硬盤壽命的關鍵因素。
那么,寫入放大機制又是什么呢?寫入放大又是如何影響固態壽命的呢?寫入放大,英文名為Write Amplification,這一術語最早是在2008年左右,由Intel公司和SiliconSystems公司 (2009 年被西部數字收購)第一次在公開稿件中提出了并使用,這一術語描述的其實是固態硬盤的目標寫入值和實際寫入值之間的一個倍數關系,并用阿拉伯數字表示,寫入放大數值越小,越能提升固態使用壽命。要想完全理解寫入放大,我們需要先了解固態硬盤的讀寫機制。我們知道,固態硬盤的存儲單元是由閃存顆粒組成的,無法實現物理性的數據覆蓋,只能擦除然后寫入,重復這一過程。因而,我們可以想象得到,在實際讀寫過程中,數據的讀寫勢必會在閃存顆粒上進行多次的擦除寫入,特別是當某些區塊已經完全被塞滿的情況下。這些多次的操作,增加的寫入數量和原始需要寫入的數量的比值,就是所謂的寫入放大。所以說,寫入放大數值高,會損耗固態硬盤壽命。(固態硬盤閃存顆粒有著額定的P/E值,即最大的讀寫次數,寫入放大高,P/E損耗快,壽命低。)
舉個例子,最壞情況下的,假如我要寫入一個4KB的數據,并恰好目標塊沒有空余的頁區,需要進行垃圾回收。下面,我們一起來分析這個過程的寫入放大的數值。首先是主控讀取目標塊512KB,然后垃圾回收擦除512KB,接著改寫512KB空白區用來存放原始的寫入4KB數據。即原始寫入數據僅為4KB,實際寫入512KB,寫入放大值為512/4=128倍。通過上面例子演示,我們應該大致了解了寫入放大的概念,以及寫入放大的危害。
垃圾回收機制,如上所舉示例,這一機制需要完全擦除整個區塊,進而增加了整個數據的寫入放大。
磨損均衡(WL),這一機制主要是通過均衡所有的閃存顆粒,從而延長整體的使用壽命,然而依舊是增加整體的寫入放大。Trim機制,ATA指令,避免了不必要的垃圾回收次數,從而減少了寫入放大。
固態硬盤內部的OP(預留空間)大小,除了上述兩項的主控機制能夠影響寫入放大的數值,固態硬盤內部的OP(預留空間)大小對于寫入放大也有著相當的影響。OP(預留空間)越大,可用的空白閃存塊越多,即使在最壞的情況下(即所有的閃存塊都塞滿),主控也無需進行垃圾回收,自然就大大減少了多余的讀寫次數,從而極大的降低寫入放大。聊了這么多,肯定有朋友會說,“知道寫入放大,又有什么用呢?我們又無法阻止寫入放大。”實際上,對于用戶來說,我們可以通過修改OP(預留空間),以及及時清理固態硬盤中的無用數據,留出更多的空白空間,以減少多余的擦除和寫入,從而降低固態的寫入放大值,提升固態壽命。更重要的是,寫入放大是衡量一個主控性能最為關鍵的因素,我們在選購固態硬盤時可以從寫入放大值去衡量主控性能從而推斷固態硬盤的整體性能。
固態硬盤的壽命滿足這個公式:
壽命(年)=(實際容量GB×P/E次數)÷(每天寫入容量GB×365)
比如一個固態硬盤P/E為100次,實際容量為10G,每天寫入1G,那么可以用多久呢?就是:壽命=(10×100)÷(1×365)≈2.74年;
這個公式看起來多少有點讓人摸不著頭腦,簡單來講,就是它本身的容量就像是一個容器,限定了所能容納的體積,然后因為你要放東西(存儲)又要拿東西(讀取),這一來一回就會導致這個容器難免受到損耗,所以才有這樣的一個理論計算。而延伸來說,這個東西就像是人體,大腦是“主控”,控制著整個硬盤的運行程序;它的“顆粒”就像是它的一雙腿,運行快不快就看跑得快不快了。所以這個東西,要想硬盤耐久,就得選擇好的主控以及顆粒。作為國內優秀的工業存儲廠商Agrade睿達,其存儲產品嚴選主控和Flash顆粒,嚴格按照工業規格設計,數據保存更可靠,大大增加了固態硬盤的穩定性。不會像一般的機械硬盤或者其他采用劣質顆粒的固態硬盤時不時造成數據丟失、程序加載失敗的故障。而這種故障的產生,同樣是會對硬盤造成耐用性的減少。
SSD壽命除了上面提到的,還有一個真正殺手 - 過熱和突然斷電。由于SSD使用電信號來擦除寫入數據,因此SSD的突然斷電的后果非常嚴重,頻繁的突然停電可能導致數據丟失,包括已寫入的數據!這與機械硬盤驅動器有著本質上的不同。
所以說,一款好的硬盤,它的主控還有顆粒是一定要選擇高質量的,同時個人也需要養成好的使用習慣,不然再好的東西都會被你用壞的。