如何提高SSD的效能及延長壽命在工業儲存應用 智慧應用 影音
TCA
SGS

如何提高SSD的效能及延長壽命在工業儲存應用

  • DIGITIMES企劃

工業儲存應用特別重視記憶體的效能和使用壽命,宜鼎國際研發處協理吳錫熙在論壇中,針對SSD新的Page架構,作深入說明。
SSD演算法

SSD演算法包括以區塊(Block)為架構的傳統模式,和以頁面(Page)為架構的新模式2種。以區塊為架構的管理單元為,一個區塊SLC (256KB)和MLC (1MB/2MB)。特性為,隨機寫入效能和壽命均較差。產品包括隨身碟、快閃記憶卡。

宜鼎國際,研發處協理,吳錫熙

宜鼎國際,研發處協理,吳錫熙

匹配表(Mapping Table)只有區塊層的索引,並且在一個區塊(1MB)中有2048個小區段按照小到大依序排列。

一個管理單元有512個區塊,由韌體找到一個空白的區塊,並將所有資料由原本區塊移入,並且寫入新的資料到空白區塊。寫入8K (4KB)隨機資料需要將2040K (1020KB)的舊靜態資料移開到新區塊。

然而,只寫入8個資料,需要移除900多個區塊,SSD的效能太低。而且時而搬動也減低其壽命,減低其效能。

Page演算法屬於長壽命SSD,管理方式則以幾個page來管理,8K (4K) * page數目。對於隨機寫入效能和壽命較有優勢。需要去維護一個很大的匹配表,且與區塊模式相比較為脆弱。也需要動態隨機存取記憶體(DRAM)快取(Cache)。保留了8~20%容量,以改善效能和壽命。

這種新的演算法,1個區塊包括256個pages,1個區塊可以被寫256次的8K (4K)隨機資料。傳統模式沒有管理,無法照順序寫,新演算法則可將隨機寫入變成依序寫入行為, SSD效能就會因而增加,壽命也會變長。

隨機寫入行為

隨機寫入通常是小檔案,並會更新檔案配置表格(File Allocation Table;FAT)。假若系統已有許多隨機寫入行為,就需要新的演算法來改善使用壽命。

隨著應用不同,寫入行為也會有所不同,不過多半是隨機的。舉例而言,若是POS系統的應用,其直接記憶存取(DMA)讀取為806次,占21%,直接記憶存取寫入部分為2997次,占78%,其他則為13次,占1%。80%的寫入指令是在8K Bytes之下。寫入指令的區段數目結果則為,1~8區段有981次,占33%、9~16區段為1577次,占53%,17~256之間的5個區段,分布較為零星。

接著是壽命驗證的問題。以區塊為架構的演算法為雙平面和8通道,管理單元擴展為16區塊,每一次隨機寫入都需要清除16個區塊:16區塊就等於16MB。也就是說,寫入8K資料就需要清除16MB。

新的演算法(Page模式)則為長時間使用的SSD,管理單元為2 Page,即為(256 * 20%)/2 = 25 Pages。其中20%保留,空出來,即可接受隨機存取指令,而不像區塊模式,每個都要搬動。

8K隨機寫入壽命為16 * 25/(8/8) = 400次。128K隨機寫入為16 * 25/(128/8) = 25次。1M隨機寫入壽命為16 * 25/(1024/8) = 3次。

利用SMART軟體得到壽命資訊

如何能驗證SSD的壽命呢?導入SMART(Self Monitoring, Analysis, and Reporting Technology,自我監控分析和記錄技術)得到壽命資訊,以MLC SSD,5000抹寫次數(Programming/Erase Cycle, P/E Cycle)為例,壽命%=100-(平均_PE_次數/5000)*100。使用年限(1GB?天):(MB_每_秒*秒?(壽命_減少?100))/1024)。由此可以預測SSD的使用壽命。這種預測方法是用軟體記錄寫了多少資料,即可預估還可以用多久,在某些系統是重要的預測,尤其像MLC SSD較便宜,可用以估計壽命夠不夠。

套公式計算出來的壽命實例,比較一顆舊的和一顆新的32GB MLC SSD,8K隨機寫入,舊的MB/秒為0.02,新的為6.75,前者壽命剩下0.08年,後者剩有138年,且在Page模式之下,選擇較少搬動的資料區塊,更可遠遠大於理論壽命。

上述8K的資料為最低量,新舊壽命也相對差異最大。套公式計算出來的壽命年限,同樣以8KB、128KB、1MB、10MB 4種寫入資料,並以新舊不同的SSD來看,計算結果新的SSD,四者差異不大,都可使用約140年,舊的SSD則是尺寸愈大使用壽命愈久。主要因為新的採用Page模式,隨機寫入會進行順序排列,因此壽命相似。但舊的不管是寫8K、128K、1MB或10MB,都要搬16MB資料,寫愈大要搬開的資料相對愈少,所以使用壽命較久。