SSD分類圖

遭遇SSD寫放大 讀寫性能如何優(yōu)化?

在HDD上,數(shù)據(jù)可以直接覆蓋,所以邏輯地址和物理地址是一一對應的,不會變更。但SSD硬盤受限于Flash NAND的讀寫特性,數(shù)據(jù)不能像在機械硬盤里那樣被直接覆蓋,必須先擦除才能改寫(編程),而且數(shù)據(jù)寫入和擦除的最小單位不同;讀寫以Page (頁)為單位,擦除以Block(塊)為單位,通常的Page Size(頁大小)是4KB,而擦除最小單位是Block (塊),一般包含128個Page,即512KB,使得在執(zhí)行寫入和改寫操作時,需要將原有不需改寫的若干Page數(shù)據(jù)加以移動(或重寫),以滿足擦除的最小單位Block,這些多余的對無關(guān)Page的讀寫操作增加了數(shù)據(jù)的訪問量,即寫入放大,減少了閃存盤的使用壽命,極大地影響了閃存盤的性能。

傳統(tǒng)存儲系統(tǒng)的初衷往往是針對HDD設(shè)計的,那么如果直接在傳統(tǒng)磁盤陣列上配置SSD時,又會造成什么樣的影響呢?當一個Block中有1個4KB的數(shù)據(jù)更新(D1→D1’)和一個4KB的數(shù)據(jù)塊刪除(D3)時,系統(tǒng)要將整個可擦除塊的數(shù)據(jù)讀到緩存,在緩存里更新整個數(shù)據(jù)塊,擦除塊,再把更新后的數(shù)據(jù)寫入新擦除過的塊。整個數(shù)據(jù)操作流程帶來的實際后果是,雖然只需要寫4K的數(shù)據(jù)、刪除4K的數(shù)據(jù),但這兩個簡單的更新操作,實際卻造成了整個塊(共512KB)的讀出和寫入操作,讀寫操作一共放大了128倍,從而形成寫放大,影響SSD壽命。并且需要讀取、緩存更新、擦除、寫入4個操作步驟才能完成,造成延時大大增加,影響SSD性能。

02

寫放大影響固態(tài)存儲性能

數(shù)據(jù)條帶化,浪潮HF5000的創(chuàng)造性優(yōu)化

針對于SSD介質(zhì)的特性,浪潮HF5000-F存儲系統(tǒng)從設(shè)計之初就進行了創(chuàng)造性的優(yōu)化,采用MASP架構(gòu)(Multi-layer Accelerated Sequential Polymeritio,多級加速順序化聚合架構(gòu)),利用日志式文件系統(tǒng),對隨機不同大小的應用數(shù)據(jù)進行順序化整理,轉(zhuǎn)換成一個順序的條帶,當該條帶達到最優(yōu)尺寸(即每塊SSD寫入一個可擦除塊的512KB數(shù)據(jù)),就將數(shù)據(jù)順序、完整地寫入后端SSD盤中。

1111

 

浪潮全固態(tài)存儲HF5000

整個的寫入數(shù)據(jù)過程只需三步:首先,主控制器NVDIMM收到寫請求,與備控制器NVDIMM鏡像,完成后返回主機,告知寫完成;第二步,寫數(shù)據(jù)在內(nèi)存中進行在線重復數(shù)據(jù)刪除和快速壓縮,組成條帶;最后,每個條帶被整理成10MB,然后一次性下刷到RAID組中(RAID組中的24塊盤邏輯上可以看做20塊數(shù)據(jù)盤+3塊校驗盤+1塊熱備盤,10MB分到每個數(shù)據(jù)盤上正好是512KB,與SSD的擦除塊大小一致,從而實現(xiàn)最大的寫入效率)。

讓我們再來與傳統(tǒng)SSD做一下對比,當一個Block中有1個4KB的數(shù)據(jù)更新(D1→D1’)時,更新的數(shù)據(jù)塊會隨著新寫入的數(shù)據(jù)進行順序化整理,跟著整條帶在新位置追加寫入,無需額外的讀寫操作,無寫放大,不影響SSD性能和壽命。

111111MASP架構(gòu)可優(yōu)化SSD性能

MASP的優(yōu)勢

除了可以針對SSD技術(shù)優(yōu)化、降低寫入放大之外,浪潮MASP架構(gòu)還有哪些優(yōu)勢?

其一:NVDIMM日志保障數(shù)據(jù)安全

采用日志式文件系統(tǒng),寫入數(shù)據(jù)的日志信息存放在非易失NVDIMM中,保障意外掉電場景下的數(shù)據(jù)安全,只要有NVDIMM中的日志在,即使數(shù)據(jù)損毀了,仍然可以通過日志回滾的方式恢復數(shù)據(jù);

其二:NVDIMM加速提供更高寫性能

利用NVDIMM相比普通DDR4更高的相應速度,為后續(xù)的數(shù)據(jù)順序化整理帶來時間,借助CPU的處理能力,提升寫性能,降低寫入延時,可以保障系統(tǒng)的寫性能與讀性能一致,彌補由于SSD介質(zhì)本身讀寫性能的落差;

其三:在線重刪+壓縮,提高空間使用效率

在用戶數(shù)據(jù)寫入SSD存儲層之前,進行在線重復數(shù)據(jù)消除操作,該過程將伴隨后續(xù)的在線數(shù)據(jù)壓縮操作,共同起到提高空間使用效率的作用。

分享到

zhangnn

相關(guān)推薦