首先介紹一下吳非教授所在的華科存儲(chǔ)部,是國(guó)內(nèi)首個(gè)獲批的存儲(chǔ)領(lǐng)域博士點(diǎn),在2022年和2023年所在團(tuán)隊(duì)在IO500的10節(jié)點(diǎn)競(jìng)賽中兩度榮獲世界第一。研究工作涵蓋從存儲(chǔ)介質(zhì)到系統(tǒng)的全方位探索。團(tuán)隊(duì)由謝長(zhǎng)生教授領(lǐng)導(dǎo),團(tuán)隊(duì)包含四十多位教師和一百多位學(xué)生,研究方向主要集中在A(yíng)I環(huán)境下對(duì)數(shù)據(jù)高效的存儲(chǔ)和計(jì)算提出的方法機(jī)理和策略。
新興應(yīng)用對(duì)存儲(chǔ)提出的需求
大數(shù)據(jù)、物聯(lián)網(wǎng)、5G、AI等應(yīng)用對(duì)存儲(chǔ)系統(tǒng)提出了更高的要求,尤其在性能、可靠性和低成本和大容量方面。全球數(shù)據(jù)量的爆發(fā)式增長(zhǎng),預(yù)計(jì)到2027年數(shù)據(jù)量可能達(dá)到284.30ZB。當(dāng)前閃存技術(shù)成為主流存儲(chǔ),但它并非沒(méi)有缺陷。與傳統(tǒng)的磁存儲(chǔ)相比,閃存的讀寫(xiě)粒度更大,且需要異地更新,這導(dǎo)致了垃圾回收的復(fù)雜性。
閃存存儲(chǔ)中的垃圾回收過(guò)程會(huì)導(dǎo)致寫(xiě)放大問(wèn)題,影響SSD性能。這個(gè)過(guò)程涉及清理和重用空間,但需要額外寫(xiě)入操作,增加了實(shí)際寫(xiě)入數(shù)據(jù)量。不同類(lèi)型的SSD在垃圾回收方面表現(xiàn)不同,消費(fèi)類(lèi)SSD僅有7%的OP空間用于此過(guò)程,而企業(yè)級(jí)SSD大概是28%,這部分空間雖不可見(jiàn),但對(duì)維持SSD性能和壽命至關(guān)重要。
此外,隨著SSD容量的增加,維護(hù)地址映射表所需的DRAM成本也在增加,這也是個(gè)不小的負(fù)擔(dān)。在系統(tǒng)層面,從應(yīng)用層到系統(tǒng)內(nèi)核層再到塊接口層,存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)中存在許多功能冗余和重疊。例如,設(shè)備層和文件系統(tǒng)層都有垃圾回收和文件管理,導(dǎo)致IO軟件的開(kāi)銷(xiāo)增大,系統(tǒng)效率降低。
ZNS SSD的優(yōu)勢(shì)
因此,傳統(tǒng)塊接口的盤(pán)體系架構(gòu)存在一定局限性,而ZNS(分區(qū)命名空間)接口在2021年已經(jīng)做到了國(guó)際標(biāo)準(zhǔn)。分區(qū)盤(pán)的主要優(yōu)勢(shì)在于它對(duì)大容量存儲(chǔ)的支持,尤其適用于QLC閃存。ZNS在傳統(tǒng)塊接口上增加了一層管理,采用大條帶管理方式,這與傳統(tǒng)的基于頁(yè)或塊的映射不同,超大容量比如128T所需的千分之一DRAM也是很大的,而這種大的條帶管理方式減少了盤(pán)內(nèi)DRAM的需求(千分之一容量會(huì)很?。粚?xiě)入是一個(gè)條帶,IP和OP空間整體也變小了。
之所以用大條帶寫(xiě)入,是因?yàn)樗褚粋€(gè)日志文件系統(tǒng)。數(shù)據(jù)寫(xiě)入是追加式的,必須按順序?qū)?,按順序擦除。這樣單個(gè)區(qū)內(nèi)不用垃圾回收,但要在文件系統(tǒng)里完成垃圾回收。ZNS的優(yōu)勢(shì)在于它對(duì)DRAM的需求很小,幾乎不需要OP空間,寫(xiě)放大率低,帶來(lái)了低成本、高性能和長(zhǎng)壽命,滿(mǎn)足AI計(jì)算和備份存儲(chǔ)的需求。
不過(guò)這種設(shè)計(jì)也意味著管理效率低。原本由設(shè)備端處理的任務(wù)轉(zhuǎn)移到了系統(tǒng)端,設(shè)備性能好,但增加了系統(tǒng)管理垃圾回收的復(fù)雜性。當(dāng)文件系統(tǒng)的實(shí)際寫(xiě)入數(shù)據(jù)小于分區(qū)大小時(shí),就會(huì)產(chǎn)生負(fù)載多樣性與分區(qū)固定大小之間的矛盾。
因此我們考慮做一個(gè)靈活分區(qū)大小的ZNS。
另一個(gè)問(wèn)題是存儲(chǔ)效率低。在分區(qū)盤(pán)的size固定分區(qū)情況下,盤(pán)類(lèi)專(zhuān)家認(rèn)為數(shù)據(jù)壓縮技術(shù)能進(jìn)一步優(yōu)化存儲(chǔ)空間。雖然在傳統(tǒng)硬盤(pán)中有效,但方法移植到分區(qū)盤(pán)里就無(wú)法工作,因?yàn)镽AID條帶沒(méi)有辦法組織。
因此要考慮將硬盤(pán)轉(zhuǎn)變?yōu)橹С滞该鲏嚎s的可計(jì)算存儲(chǔ)設(shè)備。
靈活分區(qū)是為了解決ZNS SSD在固定分區(qū)size下遇到的性能和效率問(wèn)題。我們分析了三家主流廠(chǎng)商的分區(qū)盤(pán),大普將分區(qū)大小做到32GB,而西部數(shù)據(jù)和浪潮則是2GB和4GB。好處是大帶單用時(shí)性能很好,但整體并發(fā)性能上并不理想,而且平衡性上,接口性能跑不滿(mǎn)。
大分區(qū)的問(wèn)題在于訪(fǎng)問(wèn)粒度不匹配和數(shù)據(jù)放置不靈活。當(dāng)數(shù)據(jù)分布在大條帶上時(shí),很多數(shù)據(jù)無(wú)法完全填滿(mǎn)分區(qū),造成空間浪費(fèi)。
為什么有分區(qū)大小靈活配置的需求?我們實(shí)驗(yàn)發(fā)現(xiàn),對(duì)于不同負(fù)載的性能峰值,帶寬不是在最小或最大,而是呈現(xiàn)拋物線(xiàn)形狀。靈活分區(qū)能夠提供更好的性能,同時(shí)減少主機(jī)端垃圾回收的開(kāi)銷(xiāo)。因此,分區(qū)盤(pán)對(duì)分區(qū)大小進(jìn)行靈活配置是有必要的。
而實(shí)現(xiàn)靈活分區(qū)的主要挑戰(zhàn)在于SSD內(nèi)部RAID的復(fù)雜性。在固定大小的分區(qū)中,RAID易于管理,但不固定時(shí),實(shí)際可用空間會(huì)變化,使得地址對(duì)齊和空間利用會(huì)很復(fù)雜。用戶(hù)數(shù)據(jù)大小未知,如果采用早期壓縮技術(shù)中的空白填充,會(huì)造成空間浪費(fèi)。尤其在大條帶情況下,這種浪費(fèi)不可接受。
因此,為了提高ZNS硬盤(pán)的性能和市場(chǎng)接受度,需要解決靈活分區(qū)帶來(lái)的技術(shù)挑戰(zhàn),優(yōu)化存儲(chǔ)空間的利用,同時(shí)保持?jǐn)?shù)據(jù)管理和性能的平衡。
FlexZNS–靈活分區(qū)設(shè)計(jì)與實(shí)現(xiàn)
我們提出了一個(gè)方案,通過(guò)四件事來(lái)優(yōu)化存儲(chǔ)管理。首先是將用戶(hù)空間與舊校驗(yàn)空間解耦,使得數(shù)據(jù)和校驗(yàn)區(qū)域可以獨(dú)立管理。在盤(pán)內(nèi)將空間分為兩個(gè)部分,并在上層軟件與ZNS交互時(shí),根據(jù)數(shù)據(jù)特征進(jìn)行動(dòng)態(tài)邏輯分區(qū),將大小相似的數(shù)據(jù)聚集在一起,從而優(yōu)化校驗(yàn)空間的分配。
在不同負(fù)載下進(jìn)行的測(cè)試表明,采用靈活分區(qū)的方式可以顯著提升性能。具體來(lái)說(shuō),靈活分區(qū)能夠?qū)⑼掏铝刻岣咧猎瓉?lái)的163%,同時(shí)將寫(xiě)放大率降低至61.9%。
多租戶(hù)共享環(huán)境中,分區(qū)盤(pán)的彈性空間分配能顯著提升性能,帶寬可提高52.9%。這種環(huán)境下,除了性能提升,還可以實(shí)現(xiàn)適當(dāng)?shù)挠布綦x,適應(yīng)多租戶(hù)的需求。我們的目標(biāo)是推動(dòng)ZNS技術(shù)在實(shí)用化方面更進(jìn)一步,盡管這目前還處于探索階段。
吳非教授還分享了分區(qū)盤(pán)采用數(shù)據(jù)壓縮技術(shù)方面的探索。目前,包括三星、Scaleflux等幾家公司正在開(kāi)發(fā)盤(pán)內(nèi)透明壓縮技術(shù),可以提高聚合帶寬和降低成本,但在傳統(tǒng)的塊接口中,壓縮后的數(shù)據(jù)可能因不對(duì)齊而浪費(fèi)空間。而在ZNS硬盤(pán)中,由于使用了大的super block映射,壓縮后的數(shù)據(jù)對(duì)齊變得可行??紤]到壓縮性的局部性,嘗試采用了槽對(duì)齊的數(shù)據(jù)布局,還有Balloon-ZNS SSD設(shè)計(jì)(控制器包含一個(gè)硬件壓縮引擎,將傳入的數(shù)據(jù)頁(yè)壓縮成更小的段)等,并對(duì)此進(jìn)行了針對(duì)性地配置、分析和評(píng)估。
最后
ZNS硬盤(pán)雖然具有大容量、低成本、性能穩(wěn)定和軟件定義等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中可能需要更多的探索和創(chuàng)新。另一種可能更容易落地的技術(shù)是FDP(靈活數(shù)據(jù)路徑),考慮了負(fù)載特征和上層語(yǔ)義,將數(shù)據(jù)根據(jù)熱度劃分到不同區(qū)域,不需要將設(shè)備端功能遷移到主機(jī)端。