回到今天的主題,在《破解PCIeSSD進(jìn)化:從踩坑到解決方案》一文中,筆者并沒有討論Host-Based和Device-Based。當(dāng)時(shí)不是沒考慮過這一點(diǎn),但對(duì)于普通用戶來(lái)說,這個(gè)架構(gòu)差異對(duì)實(shí)際使用體驗(yàn)的直接影響并不是很大。但對(duì)于業(yè)內(nèi)專業(yè)人士則不同了,比如在本月16日舉行的《存儲(chǔ)技術(shù)之巔》第一次線下交流活動(dòng)中,大家就展開了熱烈的討論。
在本文的標(biāo)題之前,似乎應(yīng)該加個(gè)定語(yǔ)“使用FPGA主控的PCIeSSD”,因?yàn)槟壳癆SIC控制器的卡,以PMC/IDT系和Intel為主基本都是Device-Based,不存在與Host-Based兩條技術(shù)路線之爭(zhēng)。
所謂Host-Based,即SSD的FTL——包括地址轉(zhuǎn)換/塊分配(通常所說的LBA)、磨損平衡和垃圾回收在OS驅(qū)動(dòng)層實(shí)現(xiàn)。
而Device-Based則利用卡上FPGA控制器的處理資源來(lái)實(shí)現(xiàn)FTL,操作系統(tǒng)上安裝的驅(qū)動(dòng)應(yīng)該不包含這部分工作。
在國(guó)內(nèi)最早宣傳Device-Based PCIeSSD的大約就是Memblaze,下面我們也來(lái)看看另外一家Shannon寶存科技是如何來(lái)對(duì)比二者的。
Host-Based的缺點(diǎn)是需要PCIeSSD容量1/1000的內(nèi)存來(lái)放元數(shù)據(jù),比如6.4TB的卡大約就是6.4GB,這一點(diǎn)上Device-Based完勝。那么容量、效率和靈活性這幾點(diǎn),我覺得可以歸結(jié)為一點(diǎn)——Device-Based卡上的FPGA需要干更多工作,功耗和發(fā)熱也許會(huì)大些?另外可能會(huì)受其處理能力的限制。
Device-Based溫度會(huì)不會(huì)更高?
關(guān)于這個(gè)問題,我曾聽說國(guó)外一家大品牌PCIeSSD的工作溫度能達(dá)到90多攝氏度(注:應(yīng)該不是Device-Based架構(gòu),這里指主控散熱片表面溫度),也就是說沒有必然性?
但到了SFF-8639和NVMe時(shí)代之后,F(xiàn)PGA的處理性能和散熱確實(shí)成為不可忽視的因素了(至少在Device-Based卡上如此),因此我們看到了PMCASIC主控的PBlaze4。
Host-Based能否實(shí)現(xiàn)NVMe?
由于NVMe在操作系統(tǒng)中集成標(biāo)準(zhǔn)驅(qū)動(dòng),那么Host-Based在驅(qū)動(dòng)中實(shí)現(xiàn)FTL這種方式還可行嗎?寶存表示他們有“曲線救國(guó)”的方法,具體還不方便透露。據(jù)我所知,NVMe也允許個(gè)性化驅(qū)動(dòng),比如像希捷/LSINytro那樣的方案,SAS控制器也是能夠支持NVMe的。
RAID如何實(shí)現(xiàn)?
為了讓PCIeSSD像硬盤那樣支持RAID保護(hù),Memblaze和寶存分別提出了自己的方案。
上圖來(lái)自寶存在Flash Memory Summit2014上的演講《Buildingefficient RAID-5 systems across SSDs at the FTLLayer》,我們看到這個(gè)跨盤的RAID還帶有硬件加速,可能是使用FPGA的加速單元來(lái)做RAID5 XOR計(jì)算吧。
另一方面,我聽說Memblaze的RAID實(shí)現(xiàn)有點(diǎn)類似于Linux下的LVM(鏡像)?而且他們這款產(chǎn)品(應(yīng)該還是FPGA)已經(jīng)帶有一些Host-Based的色彩了。
不知大家有沒有Host-Based和Device-Based向融合發(fā)展的感覺?
提起HostRAID,筆者又想起了自己在10年前踩過的坑。
2003年,Adaptec在Ultra320SCSI上引入HostRAID0/1的支持,無(wú)需硬件RAID卡就能做簡(jiǎn)單的陣列級(jí)別。我當(dāng)時(shí)推薦銷售在2個(gè)客戶的機(jī)器上用29320卡分別做的RAID0和1,結(jié)果在Windows下都出現(xiàn)了死機(jī)的問題,經(jīng)過反復(fù)排查才發(fā)現(xiàn)是卡的問題——確切說應(yīng)該是當(dāng)時(shí)HostRAID驅(qū)動(dòng)還不成熟。
注意:Adaptec要支持那個(gè)HostRAID就不能使用普通的SCSI驅(qū)動(dòng),而LSI的SCSI卡(53C1020/1030)同樣的功能則對(duì)驅(qū)動(dòng)程序透明。他們2個(gè)真的有點(diǎn)像今天的Host-Based和Device-Based,雖說做RAID0/1對(duì)CPU等資源的占用基本可以忽略不計(jì)。
還是那句話,穩(wěn)定的產(chǎn)品不是測(cè)出來(lái)的,但也少不了測(cè)試。
我又班門弄斧地寫了以上這些,不專業(yè)之處還望大家多指正。
本文出自黃亮的微信公眾號(hào),企業(yè)存儲(chǔ)技術(shù)(微信號(hào):huangliang_storage),歡迎大家關(guān)注!