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