IDC數(shù)據(jù)顯示2020年地球上將有40ZB數(shù)據(jù)需要存儲(chǔ)。存儲(chǔ)行業(yè)未來接下來3年內(nèi),閃存將是非常突出的技術(shù)。機(jī)械硬盤已經(jīng)不能滿足數(shù)據(jù)存儲(chǔ)的要求,企業(yè)級存儲(chǔ)對于閃存的需求越來越明顯。閃存能夠帶來的優(yōu)勢也是非常突出,不論國內(nèi)廠商還是國外廠商都在發(fā)力閃存領(lǐng)域。
在面臨這樣的閃存行業(yè)發(fā)展背景下,憶恒創(chuàng)源硬件閃存卡架構(gòu)采用了硬件閃存卡技術(shù)。業(yè)界專家指出,“Device-Based與Host-Based架構(gòu)相比,憶恒創(chuàng)源的Device-Based架構(gòu)更加智能化,同時(shí)擁有更高的性能,和可靠性。憶恒創(chuàng)源Memblaze的硬件閃存加速卡產(chǎn)品能夠?qū)PU從繁雜的FTL操作中解放出來,不需要考慮CPU搶占和內(nèi)存占用的問題,更好的去完成用戶自身的應(yīng)用。如果說PCIe 閃存加速卡是企業(yè)級SSD市場的未來,那么硬件閃存加速卡就是PCIe閃存加速卡的未來。”
憶恒創(chuàng)源將PCIe 閃存加速卡劃分為三代產(chǎn)品,如下:
第1代采用ROC(RAID on Chip)架構(gòu),一些廠商通過RAID控制器,將多個(gè)SATA SSD拼接到同一塊PCIe板卡上,而不是把這些SATA SSD和RAID卡分別放入插槽中。這些產(chǎn)品大多集成了4~6個(gè)SATA/SAS模塊,從操作系統(tǒng)端可以發(fā)現(xiàn)4~6個(gè)SATA/SAS設(shè)備。雖然形式上是一個(gè)標(biāo)準(zhǔn)的PCIe板卡,但是這種方式除了能節(jié)省硬盤槽位,卻不能帶來任何其他好處,依然遵循著SATA/SAS協(xié)議。這種產(chǎn)品CPU需要通過多次協(xié)議轉(zhuǎn)換才能訪問到NAND Flash存儲(chǔ)的數(shù)據(jù),模塊與模塊之間并不能夠做均衡處理,RAID控制器引入了更多的延時(shí),同時(shí)可靠性較低,存在著多個(gè)故障點(diǎn)。
第2代軟件閃存加速卡——采用Host-Based 架構(gòu),此類產(chǎn)品通過PCIe總線連接具有特定功能的閃存控制器,不需要遵循SATA/SAS存儲(chǔ)協(xié)議就可以直接訪問閃存,帶寬和延時(shí)功能相比ROC架構(gòu)得到了較大提升。而Host-Based架構(gòu)的最大問題是FTL(Flash Translation Layer)是在主機(jī)端實(shí)現(xiàn)的, 因此消耗了大量的內(nèi)存資源(3 GB~10 GB,消耗1%存儲(chǔ)容量的內(nèi)存)以及CPU計(jì)算資源(采用主機(jī)CPU實(shí)現(xiàn)FTL的算法 —— Wearleveling, Garbage Collection,F(xiàn)lash Management)。此外還需要獲得NAND Flash的狀態(tài),與主機(jī)之間的通信中斷非常頻繁,帶來大量的硬件中斷處理。
第3代硬件閃存加速卡——采用Device-Based 架構(gòu),Device-Based產(chǎn)品與Host-Based產(chǎn)品的最大區(qū)別在于,Device-Based PCIe 閃存卡的FTL(Flash Translation Layer)是在板卡內(nèi)部進(jìn)行處理的,而Host-Based PCIe 閃存卡產(chǎn)品的FTL是在驅(qū)動(dòng)端完成的。
Memblaze的硬件閃存加速卡控制器內(nèi)部集成了嵌入式CPU以及硬件加速模塊,對Nand Flash的狀態(tài)實(shí)時(shí)監(jiān)控,并且采用創(chuàng)新算法對元數(shù)據(jù)進(jìn)行高效處理,減少與主機(jī)之間的狀態(tài)信息交互,降低中斷頻率,提升Wearleveling效率,有效減少了產(chǎn)品的IO延時(shí)。
綜上所述,Device-Based 的PCIe 閃存卡比Host-Based和ROC的PCIe閃存卡在架構(gòu)方面具有非常明顯的優(yōu)勢。
需要指出的一點(diǎn),PBlaze III PCIe閃存加速卡還采用平滑延遲技術(shù),大家都知道:“平均延時(shí)”和“延時(shí)抖動(dòng)”是企業(yè)級Flash存儲(chǔ)的兩個(gè)重要指標(biāo)。
各種存儲(chǔ)設(shè)備的訪問延遲時(shí)間差異如下圖:
從上圖可以看出,F(xiàn)lash與HDD之間的延時(shí)相差3個(gè)數(shù)量級,通過采用Flash存儲(chǔ)卡可以消除大量CPU的無效等待,從而提高IT系統(tǒng)的整體性能。
Memblaze的“Ultra-Low Latency Wearleveling on Device-Based”和“Latency Smoothing Technology”,分別針對這兩個(gè)重要指標(biāo)進(jìn)行底層算法優(yōu)化,滿足當(dāng)今企業(yè)最為苛刻的應(yīng)用需求。據(jù)憶恒創(chuàng)源聯(lián)合創(chuàng)始人公司總經(jīng)理殷雪冰介紹,Memblaze的PBlaze系列產(chǎn)品擁有業(yè)界優(yōu)秀的延時(shí)特性,通過在服務(wù)器端部署PBlaze產(chǎn)品,這種分布式的臨近存儲(chǔ)大大降低了服務(wù)器訪問數(shù)據(jù)的延時(shí),使得數(shù)據(jù)中心的TCO(總體擁有成本)顯著下降。
Memblaze擁有IO延時(shí)平滑的專利技術(shù),可以針對個(gè)別超長延時(shí)的IO請求進(jìn)行削峰濾波處理(類似電容器濾除高電壓脈沖的工作原理,在時(shí)間圍上對IO延時(shí)進(jìn)行濾波),當(dāng)運(yùn)行在較高IOPS情況下,Memblaze會(huì)自動(dòng)調(diào)整GC算法和內(nèi)部等待隊(duì)列深度,并將IO延時(shí)進(jìn)行平滑處理,從而避免產(chǎn)生超長延時(shí)的IO,減少對后端系統(tǒng)的影響,使得用戶的應(yīng)用運(yùn)行更加平穩(wěn)順滑。
下圖為采用FIO測試軟件獲得的PBlaze系列產(chǎn)品延時(shí)波動(dòng)測試結(jié)果:
來自憶恒創(chuàng)源的官方資料顯示,Memblaze的Device-Based架構(gòu)在控制器內(nèi)部集成了嵌入式CPU以及硬件加速模塊對NAND Flash的狀態(tài)實(shí)時(shí)監(jiān)控,并且采用創(chuàng)新算法對元數(shù)據(jù)進(jìn)行高效處理,減少與主機(jī)之間的狀態(tài)信息交互,降低中斷頻率,提升Wearleveling效率,從而有效減少了產(chǎn)品的IO延時(shí)。
Memblaze的PBlaze系列產(chǎn)品,在單線程下IO延時(shí)低至14 μs,即使在很大IO壓力下依然有持續(xù)穩(wěn)定的低的延時(shí)表現(xiàn)(4 KB IOPS =320,000 ,IO平均延時(shí)低于1 ms)。Memblaze PBlaze與競爭對手同類產(chǎn)品延時(shí)進(jìn)行對比,無論在多線程大壓力下以及少線程下均有2倍以上性能優(yōu)勢。
當(dāng)然,不少文章提到了憶恒創(chuàng)源獨(dú)有的容量擴(kuò)展技術(shù)——琴鍵技術(shù)。這個(gè)技術(shù)也應(yīng)用于PBlaze3 閃存加速卡,其設(shè)計(jì)思想來源于鋼琴的和弦,通過4種不同容量的存儲(chǔ)“鍵”與控制“琴”的組合,能夠搭配出多達(dá)38種容量的產(chǎn)品,使得PBlaze3 MLC產(chǎn)品從600 GB~2.4 TB,每間隔50 GB就可以配比出一種容量的產(chǎn)品;SLC產(chǎn)品從300 GB~1.2 TB,每間隔25 GB就可以配比出一種容量的產(chǎn)品。
當(dāng)然了PBlaze III PCIe閃存加速卡采用了硬件固態(tài)存儲(chǔ)架構(gòu)、琴鍵技術(shù)和延遲平滑技術(shù)之外,還具備數(shù)據(jù)保護(hù)技術(shù)、寫放大技術(shù)、壽命延長技術(shù)??梢詾橛脩籼峁┏瑥?qiáng)糾錯(cuò)、RAID crossNAND、備份模組、隨機(jī)化、斷電保護(hù)等數(shù)據(jù)保護(hù)技術(shù),保護(hù)數(shù)據(jù)安全、可用,同時(shí)使得MTBF(平均無故障時(shí)間)超過2百萬小時(shí)。同時(shí)在寫放大技術(shù)方面,優(yōu)化的垃圾回收算法、安全擦除、靜動(dòng)數(shù)據(jù)分離、動(dòng)態(tài)的空間預(yù)留等技術(shù),在不影響性能的前提下,將寫放大系數(shù)降到最低。另外,在針對閃存壽命方面,特別針對Die的顆粒跟蹤技術(shù),減少并智能控制磨損,加上NAND底層管理技術(shù)、數(shù)字處理技術(shù),使得MLC閃存寫入壽命提升10倍(10TB/天的數(shù)據(jù)寫入,壽命可達(dá)10年),獲得近乎SLC的使用壽命。
其實(shí),在品鑒PBlaze III PCIe閃存加速卡時(shí),淘寶產(chǎn)品經(jīng)理何燕鋒介紹,高效能CDN緩存節(jié)點(diǎn)系統(tǒng)結(jié)構(gòu),便于后期擴(kuò)容,也包括對硬件存儲(chǔ)IO優(yōu)化——性價(jià)比的考量和軟件存儲(chǔ)IO優(yōu)化——冷點(diǎn)和熱點(diǎn)分布。
他認(rèn)為采用混合存儲(chǔ),將高速IO存儲(chǔ)和低速IO存儲(chǔ),熱點(diǎn)數(shù)據(jù)指向高速存儲(chǔ),冷點(diǎn)數(shù)據(jù)指向低速存儲(chǔ)。但這種優(yōu)化可以根據(jù)業(yè)務(wù)來做,需要修改應(yīng)用代碼來實(shí)現(xiàn)。而采用高速大容量緩存,不需要修改應(yīng)用代碼實(shí)現(xiàn)。
針對實(shí)際應(yīng)用方面的情況何燕鋒介紹說在杭州華數(shù)機(jī)房,由低功耗服務(wù)器所搭建的CDN節(jié)點(diǎn)機(jī)群。其中,一個(gè)2U空間里能放8臺(tái)凌動(dòng)低功耗服務(wù)器(8臺(tái)服務(wù)器共享一個(gè)機(jī)箱),單臺(tái)服務(wù)器功耗僅25W,也就是說,這8臺(tái)低功耗服務(wù)器的總體功耗也才200瓦。這200瓦是什么概念呢?那就是市面上的普通服務(wù)器,主要負(fù)責(zé)調(diào)度功能,其功耗為150W,占1U空間。兩相對比,低功耗服務(wù)器的低功耗高密度的優(yōu)勢十分明顯。
他進(jìn)一步補(bǔ)充道,淘寶CDN緩存對象具有的特征是:18KB以下的對象數(shù)量占總數(shù)量的80%,而存儲(chǔ)量只有不到40%;同時(shí),80%被訪問對象所占用的存儲(chǔ)空間不到20%。這意味著“熱數(shù)據(jù)”(訪問頻次高的內(nèi)容)占的空間其實(shí)很小,而“冷數(shù)據(jù)”(訪問頻次低的內(nèi)容)所需存儲(chǔ)量很大。因此,淘寶特意為該低功耗服務(wù)器引入分層存儲(chǔ)機(jī)制,所以單臺(tái)低功耗服務(wù)器的硬盤其實(shí)是由一塊80GB的SSD盤和兩塊500GB的SATA盤組成。這樣,“熱數(shù)據(jù)”存放在SSD盤上,“冷數(shù)據(jù)”就存放在SATA盤上,從而兼顧速度、容量與成本。而分層存儲(chǔ)調(diào)度軟件則由淘寶獨(dú)立開發(fā)。(阿明)