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