Write Amplification Garbage Collection Over Provisioning Data Differencing Wear Leveling Data Entropy DuraWrite Loss-less SandForce Lossy SMART 固態硬碟 NAND 垃圾回收 資料縮減 寫入放大 無損耗式 SSD 損耗式 HDD Flash Memory

內建資料縮減技術 SSD強化使用壽命及效能

2014-01-06
採用NAND快閃記憶體(Flash Memory)的固態硬碟(SSD)具有放大寫入(Write Amplification)的重要特性,其對延長SSD使用週期扮演著關鍵角色--寫入放大率越低,SSD的使用時間越長;但業者常常對這項特性都會有些誤解。
慎選最好的控制器 降低SSD寫入放大影響

現今的SSD在儲存資料時,首先必須將NAND快閃記憶體中的資料清除後方可存入新的資料。換句話說,資料不能直接地再次寫入。而在資料刪除過程中,SSD利用一項名為垃圾回收(Garbage Collection)的機制清理先前存放的資料以挪出儲存空間,這說明當儲存同樣的資料時,SSD要用比HDD更多的寫入指令。這不是使用者樂見的情況,因為SSD中的快閃記憶體,在無法再被讀取前只能支援有限的寫入指令。這種令人不甚滿意的狀況稱為寫入放大。

可用儲存空間才是關鍵

SSD的使用者必須了解,讓SSD發揮更大的效能的方法就是在SSD內要有更多的可用儲存空間。因此任何可增加SSD可用空間的方法都可降低寫入放大現象。 擴充可用空間(藉此降低寫入放大現象)的兩大關鍵分別是:增加預留空間(Over Provisioning)及保留更多可用的儲存空間(如有支援TRIM技術)。

如前述,在SSD使用垃圾回收技術前是不會產生寫入放大的現象。然而,這個初始的垃圾回收前置狀態只能維持很短的時間--只有在SSD剛開箱使用時擁有一次完整容量的寫入週期;這些完整寫入資料容量的使用時間不到SSD整體使用週期的0.04%。雖然使用者可以藉由手動安全刪除來重新設定此狀態,但除了付出額外的寫入週期外,也違背了原來的目標。

影響寫入放大率的主因還包括組成可用儲存空間的方法,也就是資料被寫入快閃記憶的方式。在資料被隨機寫入過程中,既有的儲存資料可能會被隨機寫入的資料取代,因此有些記憶體區塊的頁面會被取代,有些則仍可繼續使用。在垃圾回收機制運作時,這類記憶體區塊內的有效資料須重新寫入至新的記憶體區塊中。這代表每個有效區塊的快閃記憶體都會被寫入資料,因而造成寫入放大的問題。

一般而言,該資料區塊頁面內所有資料會隨著持續寫入作業的同時變成無效。由於資料區塊內資料在被刪除前已變成無效,因此在垃圾回收過程中毋須重置任何資料。以這個例子而言,就沒有寫入放大的問題,但有其他原因,例如在沒有變動的資料區塊內的耗損平衡作業,無論資料如何被寫入,最終仍會造成寫入放大的問題。

確切計算寫入放大率

基本上,寫入放大率等於寫入快閃記憶體的資料量除以主記憶體所寫入的資料量。英特爾(Intel)和Silicon Systems(後來被Western Digital購併)同時在2008年首次公開談論有關寫入放大的問題。當時,所有SSD寫入放大的數值都超過1.0,直到2009年SandForce推出首款內建DuraWrite技術的SSD控制器後,情況才得到改善,讓寫入放大率從大於1.0降到低於1.0。

DuraWrite技術可擴充快閃記憶體中實際可用的資料儲存空間,但其作法有別於其他SSD控制器,稍後會詳盡DuraWrite技術的運作方式,同時討論內建資料縮減技術(Data Reduction Technology)的SSD,如何有效降低寫入放大率。

資料縮減技術可控制資料熵

所有SSD的效能都會受到一些相同因素的影響,例如預留空間的量,以及隨機寫入和連續寫入資料的比例等,但是熵(資料的隨機程度)卻是一個例外。只有內建資料縮減技術的SSD可以善用熵,並在效能、耐用度和降低功耗上發揮其優點。

資料縮減技術充分利用資料熵(Data Entropy)的概念達到更高的效能。當資料縮減技術將資料傳送到快閃記憶體時,它會使用刪除重複資料技術、壓縮技術或資料異化(Data Differencing)技術等來重新安排資訊,這會讓整體資訊占用更少(儲存)位元。當資料從快閃記憶體被讀取後,資料縮減技術會藉由設計將原始的內容全部復原到主系統內。這就是無損耗式(Loss-less)資料縮減技術,有別於MPEG、MP3、JPEG及其他視訊、音訊和視覺資料檔案常用的壓縮格式之損耗式(Lossy)技術。這些格式的資料一旦被刪除後便不能復原,因此這種方法只適用於處理娛樂性質的資訊。

透過內建資料縮減技術的SSD,來自主系統的資料隨機度越低,SSD須要寫入快閃記憶體的資料量就越少,因而預留空間就會隨之變多。

資料縮減技術具多重功用

圖1 資料縮減技術所帶來好處之示意。

這些額外的可用儲存空間讓寫入作業變得更快,這不僅會在主系統端加快寫入速度,同時也會減少寫入作業所需的功耗,其原因是快閃記憶體只有在資料寫入或讀取時才會耗用功率。換句話說,較快的資料寫入速度等於快閃記憶體所需的功耗也會變低。

由於採用資料縮減技術可讓傳送至快閃記憶體的資料量少於主系統原先送至SSD的資料量,因此典型的寫入放大係數會降至1.0以下。採用這種技術的SSD,寫入放大率達0.5的現象並不常見。當快閃記憶體寫入較少的資料時,會直接產生以下三個優點:更快的資料讀寫速度、提升預留空間的靈活性、延長快閃記憶體的壽命。

以上每一項優點也會產生其他更多好處,有些會以遞迴函式方式彼此循環作業。圖1中即說明了這些優點。

雖然SSD寫入放大問題對使用者不是真的多重要,但使用者一定希望自己SSD的寫入放大率是最低的。

慎選最好的控制器 降低SSD寫入放大影響

因為NAND快閃記憶體可以支援的資料程式/刪除週期數量有限,而且隨著每一代快閃記憶體的發展持續減少。低寫入放大率的SSD,其快閃記憶體的使用壽命確定可比高寫入放大率SSD的快閃記憶體來得持久。

當寫入放大率低於1.0時,很顯然的優點是會有更多可靈活使用的預留空間,這通常可提供更高的效能。就預留空間而言,當然是越多越好,尤其SSD的效能是重點。慎選最好的控制器,是唯一可以控制SSD寫入放大問題的方法。

深究SSD SMART特性

SMART(自我監控、分析和產出報告技術)監控系統可追蹤SSD可靠度的不同指數,包括修正錯誤的數量、寫入位元數量及可運作小時數,有助於預估會發生的錯誤,讓使用者在會導致遺失資料或系統當機的錯誤發生前即可更換儲存設備。

這些指數或特性,有些可顯示磁碟的使用狀態,有些則會提供統計數據資訊。每一項特性並沒有一個標準的定義,但當所有SSD供應商以相同或類似的方法運用這些特性時,每一項特性的定義都會因不同的供應商而不同。

大多數SSD提供部分SMART特性清單,但通常都不包含寫入放大率。然而,透過正確的測試或許可推估其中要領;藉由準確性可推算寫入放大率。當連續寫入資料時,SSD在正常的情況下的寫入放大率會非常接近1比1。

對於內建資料縮減技術的SSD而言,必須以百分百隨機度寫入的資料才能確保找出正確的特質,然後用符合平常資料負載的隨機寫入率重做這些測試,則可找出可真正計算寫入放大率的方法。沒有資料縮減技術的SSD,則無法從隨機寫入率受惠,所以隨機寫入率對這些SSD而言不重要。

推斷看不到的特性

要推斷那些看不到的特性,可試著從安全清除SSD內的資料開始,然後運用一個程式去讀取全部現有的SMART特性值。有些程式無法準確地顯示一項特性的真正意涵,這純粹是因為該項特性本身就沒有任何描述。若要了解每項特性代表的意涵,則必須使用SSD供應商改寫過的程式來讀取特性。不過其中有一個問題,就是有些程式會誤讀一些特性,因此必須要透過測試來確認特性的真正意涵。

圖2 IOMeter可提供多種不同類型的資料隨機率,但只有IOMeter 2010可提供使用者可選式資料隨機率,用作模擬實際資料環境。

開始對SSD連續寫入資料並注意寫入的資料量。有些程式會顯示SSD實際被寫入的資料量,但某些就只能顯示在某段時間內平均每秒被寫入的資料量。無論使用何種方法,SSD內被寫入的位元數量都會清楚顯示。如要寫入SSD實際容量十倍以上的資料量,則要透過IOMeter、VDbench或其他可以傳輸大量可測量資料量的程式才能做到(圖2)。

在測試的尾聲,將SMART的特性列印出來,將它們與測試前有不同數值的特性做對比,並記錄特性的編號和兩個測試間的不同之處。試著要找出的特性可能代表著整體式/刪除週期的數量,那會符合所計算出來的數量;也可能會找出可以計算從主系統寫入資料GB數量的特性。為了符合該特性,將已寫入SSD全部容量的次數乘以快閃記憶體的實際容量。從技術面來看,應該已知道從主系統寫入的資料量,但最好還是要由磁碟來確認該數值。

利用公式計算寫入放大率

當找出可能符合的特質後,再確定刪除磁碟內的資料,這次隨機寫入4K資料。再次寫入硬碟實際容量的十倍資料,然後將SMART的特性記錄下來,同時計算出相同特性在前後兩次記錄間的差別。這次可看到從主系統寫入資料量的改變理應要接近連續寫入的資料量。然而,代表程式/刪除週期的特性(如有出現)會是在連續寫入時的好幾倍。公式1可計算寫入放大率: (刪除週期數量×實際記憶體容量[GB])/從主記憶體寫入的資料量[GB] .......公式1 隨著連續的資料傳輸,這個數字應該會非常接近1。透過隨機的資料傳輸,該數字會高出許多,但要視SSD控制器情況而定,不同SSD會有不同隨機寫入放大率。

如果SSD使用的是有內建資料縮減技術的SandForce控制器,當測試使用隨機率低於100%的資料時,相關的寫入放大率在資料越接近最低隨機率時會越來越低。只要SSD有刪除週期和主要資料寫入特性,或者具有高度代表性的象徵,則可透過這種方法測量其寫入放大率。 最後要謹記的重點是,寫入放大問題是快閃記憶體效能和耐用度的大忌,因此也是SSD使用者的天敵。本文檢視了影響寫入放大率的所有因素,包括像艾薩SandForce DuraWrite這類資料縮減技術的額外用途和優點等。一旦對寫入放大如何運作和測量有所了解,就可以避免降低SSD效能的擾人原因。

(本文作者為艾薩快閃零組件部門資深行銷總監)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!