精選

[企業儲存觀察室] 持續型記憶體與企業儲存

前些時候有讀者問我關於持續型記憶體 (Persistent Memory, PM) 的事,因為筆者之前還沒有特別去研究這項議題,所以這次就搜集整理了一些資料整理出來分享,算是現學現賣! 儲存與成本間的關係取決於存取的效能;效能越快成本越高,成本越高容量就會越小,離運算元(處理...

2019/05/22

[企業儲存觀察室] 關於固態硬碟的可靠度(上)

固態硬碟 (Solid State Disk, SSD) 這個標籤第一次出現在本站是在 10 年前「2009 年的儲存趨勢」一文,然後我們談到「企業用戶該如何部署固態硬碟?」,之後快閃儲存在市場上快速堀起。2012 年筆者經歷第一椿台灣企業用戶,採購全快閃儲存陣列的大型儲存專案。之後一路順風順水的,到今天快閃儲存還是企業儲存市場上最夯的話題之一。
圖片來源:Backblaze

有什麼理由會不喜歡固態硬碟呢?它們比傳統磁碟 (HDD) 效能更快、體積更小,沒有會移動的組件,也不會受到磁場的影響,並且能夠承受更多的衝擊和振動,還更省電。如果真要找出缺點(跟磁碟相比),其一是價格,即便固態硬碟的成本在下降中,但相對價格仍然是偏高的。其二就是資料一旦損毀,救回來的機會接近於零,所以固態硬碟的可靠性話題,打從它第一天面市就始終存在。

這是快閃記憶體技術的上先天限制,而且這個限制將會一直存在。在企業儲存領域因為單一顆硬碟,不論是磁碟或固態硬碟故障,進而導致資料丟失的狀況,本來就不多見。
就經驗上來說,從 2012 年第一個全快閃儲存專案到今天為止,筆者是沒有聽說過這樣的案例。
但在消費端如筆電或手機上掉資料的事,可就時有所聞了,這當然是因為在企業儲存上,我們有許多的資料保護機制存在的關係。

因為從第一天開始,有著資料寫入次數限制的問題,就一直困擾著許多人,所以我們就來談談固態硬碟的可靠性問題,也就是固態硬碟會出現故障嗎?當然,任何硬碟,不論是磁碟或是固態硬碟,都有故障失效的一天。所以真正應該要問的是 1) 固態硬碟損壞的速度是否比磁碟快?2) 合理的期望值應該是多久?

資料備份 101:不論在任何情況下,資料備份工作是必要的工作。它不是選配,也不是隨機的工作,它是標配、日常就要定期執行的工作,尤其在企業資料儲存領域,它跟硬碟的可靠性高低沒有任何相關聯。

延伸閱讀:「備份是資料保護的最後一道防線」「關於資料儲存企業應該注意的一些提醒

對一般個人消費者來說,備份當然也是很重要的工作。筆者用的 Macbook Pro 筆記型電腦,長久以來都保持著每個星期至少一次的「Time Machine」作業。主要的原因是為了要縮短更換電腦時花費的時間,另一個原因當然就是始終擁有所有資料的拷貝。筆電難保不會發生什麼意外,「水」的破壞是最常見的筆電事故。不小心在鍵盤上灑上一杯晨間咖啡,很少有電腦的組件能在徹底浸泡的情形生存下來,尤其是在供電的狀況下。

通常固態硬碟在極端和惡劣的環境中,會比磁碟更耐用,因為它們沒有會移動的組件,如讀寫臂或磁碟片轉軸等。固態硬碟比磁碟更能承受意外掉落和其他衝擊、振動、極端溫度和磁場。再加上它們體積小、功耗低,這也就是為什麼它們非常適合筆電和行動裝置,企業儲存則更看重它們的效能優勢。

快閃儲存或固態硬碟多是使用 NAND 快閃記憶體 (NAND flash)。NAND 這個名字是從邏輯電路使用的「NOT and」閘 (NOT and gate) 而來的,NAND 閘在只有在所輸入都為真時,才會產生否的輸出。筆者不是工科的,所以不知道 NAND 快閃記憶體是否與這樣的布林函數運作有關?至於 flash 快閃記憶體則是基於 EEPROM(Electrically-Erasable Programmable Read-Only Memory 電子可抺除式可程式化唯讀記憶體),在斷電時也會保留資料的非揮發性固態記憶體其中的一種。當資料要被寫入 NAND 單元時,NAND 會增加電壓讓電子強行躍過絕緣體,使 NAND 單元的舊資料被袜除然後再把新資料寫入同一個 NAND 單元,這個過程就叫做快閃。

這些電子的位置及其數量決定了電流何時在來源與接收器之間流動(或稱為電壓閥值),從而決定儲存在該單元中的資料是 0 或者是 1。NAND 躍過絕緣體發送電子,絕緣體就開始耗損,每一個儲存單元確切的耗損週期取決於 NAND 的設計而不同,最終絕緣體會耗損到了難以將電子保持在正確位置的程度,NAND 單元就失效了。這意味著快閃記憶體儲存單元只能袜除與寫入有限的次數,這個次數以 P/E 循環來表示,也就是程式/袜除循環 (Program/Erase cycle)。
P/E 循環是衡量固態硬碟可靠性的重要指標,但同時還有其它重要的因素要考慮的,像 TBW (Terabytes Written,寫入 TB 數) 與 MTBF (Mean Time Between Failure,平均故障間隔時間) 等。

固態硬碟製造商會為她們的產品標示這些規格,使消費者可以瞭解固態硬碟可以持續多久,以及特定的硬碟是否適合某些應用?上面我們已經解釋過了 P/E 循環,它通常會介於 500 到 100,000 之間,取決使用何種 NAND 單元。單層式單元 (Single Level Cell, SLC) 的 P/E 循環有 100,000 次,有較好的耐用性,但儲存密度低,成本也較高。多層式單元 (Multi Level Cell, MLC) 較 SLC 儲存密度高,成本也較低,但 P/E 循環只有 SLC 十分之一,約 10,000 次。更新的三層式單元 (Triple Level Cell, TLC) 與四層式單元 (Quad-Level Cell, QLC) 的 P/E 循環則大約只有 1,000 次,但儲存密度更高,成本也更低。
P/E 循環是一個天險,很難改變,但製造商現在會透過其它輔助技術,如 3D NAND、較多的備用儲存單元、寫入平衡、以及其它減少耗損的技術來增加耐用度。

例如有一種連續區塊寫入避免 (Contiguous Block Write Avoidance) 技術,在做格式化這種操作時,基本上是在每一個資料區塊寫入 0,當固態硬碟發現接下來的操作是在相連的區塊裡寫入相同的 0 或 1 時,它就直接通知控制器直接標示這些位址的資料,而避免進行實際的袜寫增加耗損。

P/E 循環也是大部份人對固態硬碟可靠度認知的主要依據來源,NAND 單元的位元數越少,效能就越好、越可靠、越節能,但成本也就越高。SLC 固態硬碟在技術上是最可靠的固態硬碟,因為它可以承受更多的寫入,而 QLC 是最不可靠的。
如果您為一個特定的應用程式選擇了固態硬碟,而它寫入需求超過讀取,那麼 NAND 單元的技術可能就會是重要的決策因素。但如果是一般電腦使用者,那麼選擇哪一種 NAND 可能就不那麼重要了。使用者應該就其應用在經濟效益曲線上找到一個平衡點。

TBW-在固態硬可能發生故障前,可以寫入的資料總量,做為一個保固期間的指標。以 Samsung 的 860 EVO SSD 為例,250GB:150TBW,500GB:300TBW,1TB:600TBW,2TB:1,200TBW,4TB:2,400TBW。這些固態硬碟的保固期是 5 年或 TBW,先到者為準。

未完,待續⋯⋯下文接「關於固態硬碟的可靠度(下)