回到今天的主題,在《破解PCIeSSD進化:從踩坑到解決方案》一文中,筆者并沒有討論Host-Based和Device-Based。當時不是沒考慮過這一點,但對于普通用戶來說,這個架構差異對實際使用體驗的直接影響并不是很大。但對于業內專業人士則不同了,比如在本月16日舉行的《存儲技術之巔》第一次線下交流活動中,大家就展開了熱烈的討論。

在本文的標題之前,似乎應該加個定語“使用FPGA主控的PCIeSSD”,因為目前ASIC控制器的卡,以PMC/IDT系和Intel為主基本都是Device-Based,不存在與Host-Based兩條技術路線之爭。

 

所謂Host-Based,即SSD的FTL——包括地址轉換/塊分配(通常所說的LBA)、磨損平衡和垃圾回收在OS驅動層實現。

而Device-Based則利用卡上FPGA控制器的處理資源來實現FTL,操作系統上安裝的驅動應該不包含這部分工作。

在國內最早宣傳Device-Based PCIeSSD的大約就是Memblaze,下面我們也來看看另外一家Shannon寶存科技是如何來對比二者的。

Host-Based的缺點是需要PCIeSSD容量1/1000的內存來放元數據,比如6.4TB的卡大約就是6.4GB,這一點上Device-Based完勝。那么容量、效率和靈活性這幾點,我覺得可以歸結為一點——Device-Based卡上的FPGA需要干更多工作,功耗和發熱也許會大些?另外可能會受其處理能力的限制。

Device-Based溫度會不會更高?

關于這個問題,我曾聽說國外一家大品牌PCIeSSD的工作溫度能達到90多攝氏度(注:應該不是Device-Based架構,這里指主控散熱片表面溫度),也就是說沒有必然性?

但到了SFF-8639和NVMe時代之后,FPGA的處理性能和散熱確實成為不可忽視的因素了(至少在Device-Based卡上如此),因此我們看到了PMCASIC主控的PBlaze4。

Host-Based能否實現NVMe?

由于NVMe在操作系統中集成標準驅動,那么Host-Based在驅動中實現FTL這種方式還可行嗎?寶存表示他們有“曲線救國”的方法,具體還不方便透露。據我所知,NVMe也允許個性化驅動,比如像希捷/LSINytro那樣的方案,SAS控制器也是能夠支持NVMe的。

RAID如何實現?

為了讓PCIeSSD像硬盤那樣支持RAID保護,Memblaze和寶存分別提出了自己的方案。

上圖來自寶存在Flash Memory Summit2014上的演講《Buildingefficient RAID-5 systems across SSDs at the FTLLayer》,我們看到這個跨盤的RAID還帶有硬件加速,可能是使用FPGA的加速單元來做RAID5 XOR計算吧。

另一方面,我聽說Memblaze的RAID實現有點類似于Linux下的LVM(鏡像)?而且他們這款產品(應該還是FPGA)已經帶有一些Host-Based的色彩了。

不知大家有沒有Host-Based和Device-Based向融合發展的感覺?

提起HostRAID,筆者又想起了自己在10年前踩過的坑。

2003年,Adaptec在Ultra320SCSI上引入HostRAID0/1的支持,無需硬件RAID卡就能做簡單的陣列級別。我當時推薦銷售在2個客戶的機器上用29320卡分別做的RAID0和1,結果在Windows下都出現了死機的問題,經過反復排查才發現是卡的問題——確切說應該是當時HostRAID驅動還不成熟。

注意:Adaptec要支持那個HostRAID就不能使用普通的SCSI驅動,而LSI的SCSI卡(53C1020/1030)同樣的功能則對驅動程序透明。他們2個真的有點像今天的Host-Based和Device-Based,雖說做RAID0/1對CPU等資源的占用基本可以忽略不計。

還是那句話,穩定的產品不是測出來的,但也少不了測試。

我又班門弄斧地寫了以上這些,不專業之處還望大家多指正。

本文出自黃亮的微信公眾號,企業存儲技術(微信號:huangliang_storage),歡迎大家關注! 

未經允許不得轉載:存儲在線-存儲專業媒體 » 存儲專欄:Host-Based和Device-Based閃存卡走向融合
分享到

huangliang

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走