北京2018年1月25日電 /美通社/ -- SSD固態(tài)硬盤的容量和密度在不斷增加,以速度贏得人心的同時,擦寫壽命限制卻成為其短板,而寫放大是縮短SSD擦寫壽命的主要原因。如何破解寫放大難題,成為全閃存系統(tǒng)廠商的較大挑戰(zhàn)。浪潮智能全閃存存儲產(chǎn)品G2-F依托自主研發(fā)的創(chuàng)新技術,實現(xiàn)全流程寫放大小于1,成為全閃存存儲領域的專家。
SSD容量持續(xù)增長,寫入壽命卻不斷降低
SSD的容量增長速度驚人,在10TB的機械硬盤剛出來不久,一波閃存廠商就將SSD的容量做到了單盤30TB、60TB甚至100TB。SSD的單盤容量大有趕超機械盤的態(tài)勢,這得益于NAND工藝制程的進步與單位面積存儲密度的提升:NAND制程已經(jīng)從最開始的90nm下降到當前的10nm,NAND工藝已經(jīng)完成從2D NAND到3D NAND的完美切換,3D NAND的層數(shù)更是逐年增加:24層,32層,48層,64層,一直到96層。工藝的提升帶來存儲密度的大幅度提升。
在SSD容量密度增加的同時,伴隨著單位容量成本的下降,這對用戶來說無疑是喜事。但是SSD還有一個不容忽視的指標,那就是壽命。對于最新的3D TLC、3D QLC的大容量盤,其擦寫壽命限制成為不容忽視的弱點。
在SSD盤容量增大的同時,寫入壽命的問題非但沒有得到有效解決,反而呈現(xiàn)下降趨勢。早些年的企業(yè)級SLC、MLC盤的DWPD(Diskful Writes Per Day ,每日整盤寫入次數(shù))是10,而最新推出的3D TLC的SSD的DWPD為0.35。DWPD是確保SSD在生命周期內(3年或者5年)每天能夠對盤進行全量寫入次數(shù)的指標。DWPD為10是指著每天對SSD全量寫入10遍,能保證SSD在5年之內不會發(fā)生磨損耗盡。而DWPD為0.35意味著,每天寫入量不能超過盤容量的0.35,否則盤堅持不了5年就會因為介質磨損而發(fā)生故障。這樣的弱點讓用戶無法不對應用全閃存存儲系統(tǒng)心存疑慮。
全閃陣列廠商面臨的關鍵挑戰(zhàn)
當SSD的寫入壽命隨著存儲密度提升而下降成為用戶的心頭之痛,如何能夠提供可靠的全閃存存儲,便成為全閃陣列廠商所面臨的關鍵問題。
有人可能會說,繼續(xù)使用DWPD為10的SSD不就可以了?答案是否定的:一方面DWPD為10的SSD成本非常高,相同容量是DWPD為1的SSD的數(shù)倍,另一方面高DWPD的SSD的產(chǎn)量在逐漸縮小,再過幾年,DWPD為10的SSD甚至可能面臨停產(chǎn)。下圖是閃存領導廠商三星關于SSD DWPD的預測報告,從報告可以看出,2018DWPD為10的SSD占比已經(jīng)小于5%。如果全閃陣列一定要使用DWPD為10的SSD,未來幾年的選擇會越來越少。
寫放大這個詞從事存儲行業(yè)的應該都不陌生,在磁盤陣列上就存在。但為什么到了全閃陣列上,寫放大就成了一個關鍵指標?一方面,磁盤是沒有寫入壽命問題的,所以在磁盤陣列上寫放大只和性能相關,和可靠性關系不大;而在全閃存儲上,由于閃存存在寫入壽命限制問題,寫的越多壽命就越低,所以寫放大直接和全閃陣列的可靠性相關;另一方面,全閃陣列上的寫放大,遠不止RAID寫放大一個因素,例如,隨機寫入帶來的SSD上垃圾回收導致的數(shù)據(jù)遷移,也會給引入巨量的寫放大。
面對這樣的挑戰(zhàn),浪潮存儲作為國內領先的數(shù)據(jù)存儲廠商,早在5年前就大力投入全閃存存儲系統(tǒng)的研發(fā),并在兩年前實現(xiàn)革命性突破,徹底解決了全閃存存儲的寫放大問題。2017年10月,浪潮發(fā)布智能全閃G2-F多款型號的閃存陣列,實現(xiàn)全流程寫放大小于1,相對于傳統(tǒng)磁盤陣列I/O棧,寫放大降低15倍。
如此強大的黑科技是如何實現(xiàn)的呢?其背后的技術原理又是什么?
技術1:基于時間點的變長實時壓縮
傳統(tǒng)的數(shù)據(jù)壓縮方法是基于固定塊大小的,輸入必須是固定大小的對齊數(shù)據(jù)塊,輸入不對齊時,需要補齊讀,影響效率;壓縮后輸出的數(shù)據(jù)塊大小不一致,需要補零填充對齊,浪費空間;對壓縮后的數(shù)據(jù)進行少量更新時,必須對整個數(shù)據(jù)塊進行“解壓數(shù)據(jù)塊-更新數(shù)據(jù)-壓縮數(shù)據(jù)塊”,效率低。
浪潮全閃存存儲采用基于時間點的變長實時壓縮技術,解決傳統(tǒng)的固定塊大小壓縮的缺點,主要設計包括:
通過以上優(yōu)化,浪潮存儲基于時間點的變長實時壓縮技術,整體提供高達5倍壓縮效率,減少數(shù)據(jù)的寫入量,有效的減少了對SSD資源占用,提升全閃存儲系統(tǒng)的使用壽命。
技術2:順序寫替代隨機寫 追加寫替代覆蓋寫
RAID的寫放大是由于隨機寫造成的,隨機寫入的時候,由于RAID不是滿條帶的,每一個小塊的數(shù)據(jù)寫入都需要更新校驗數(shù)據(jù),RAID6需要則更新兩個校驗數(shù)據(jù),因此導致了更大倍數(shù)的寫放大。但如果是順序寫入就不一樣了,多個順序I/O可以合并成一個滿的條帶寫入,一個滿條帶進行一次校驗數(shù)據(jù)P的更新,其寫放大幾乎可以忽略。
開啟實時壓縮時,G2-F對原有數(shù)據(jù)的修改寫不會在原來的地址上進行覆蓋寫,而是將數(shù)據(jù)順序地追加寫入到后面的地址上,然后標記前面被覆蓋寫的數(shù)據(jù)為無效。由于沒有覆蓋寫,所以SSD上的block上不會出現(xiàn)空洞。而通過持續(xù)的順序追加寫,浪潮的全閃存存儲可以使SSD盤內部5倍的寫放大降低到1,基本消除SSD內部的寫放大。
技術3:全局主動垃圾回收
開啟實時壓縮時,浪潮全閃存存儲向SSD的寫入模式都是順序追加寫入,通過順序追加寫入消除RAID和SSD內部的寫放大。但是持續(xù)的順序追加寫入必然會導致空間快速耗盡,要獲得新的空間寫入,就必須要對前面無效數(shù)據(jù)占用的空間進行整理。為解決這一問題,浪潮使用全局主動垃圾回收 (Garbage Collection) 技術來進行無效空間的整理。垃圾回收程序會在全閃陣列的所有SSD上進行掃描,找出系統(tǒng)中最空閑的block進行回收。如果空閑的block上沒有有效的用戶數(shù)據(jù),則直接以block的粒度回收,若空閑block上仍然有有效用戶數(shù)據(jù),則垃圾回收程序會將這些有效數(shù)據(jù)進行遷移,待遷移完成后再回收。回收的時候,先使用trim命令通知SSD(如果不通知SSD直接進行寫入,在SSD側看到的將是一個覆蓋寫入,因此會導致寫入空洞,帶來寫放大),這樣做的目的就是為了避免SSD內部垃圾回收帶來的寫放大。
多項黑科技成就小于1倍的寫放大
有了這些創(chuàng)新技術,浪潮智能全閃G2-F實現(xiàn)了寫放大<1,也使得浪潮智能全閃G2-F具有更高的性能、穩(wěn)定性、可靠性,閃存盤能夠得到更好的保護,其平均使用壽命提高至5年以上。數(shù)據(jù)顯示,浪潮智能全閃G2-F系統(tǒng)性能較大可達260萬IOPS,并實現(xiàn)了6個9的企業(yè)級存儲可靠性,是用戶關鍵業(yè)務存儲系統(tǒng)的合適選擇。