這幾張圖來自我的一位朋友@XeonPhiCluster上個(gè)月發(fā)的微博——“sTec企業(yè)級(jí)800GB SAS接口SSD,亮點(diǎn)是sTec自研的Controller,自帶4* (2.7V/6F)超級(jí)電容,最多16個(gè)NAND顆粒,性能可靠性不錯(cuò)。”

在“sTec”主控右上方有1顆DRAM緩存芯片,它的背面(也就是前一張照片上)應(yīng)該還有2顆相同的芯片,可以起到ECC的效果?

這里的重點(diǎn)講的是電容——“四個(gè)2.7V/6F超級(jí)電容,個(gè)頭不大見圖(需要掰開塑膠件才能看到6F字樣),使用這么大超級(jí)電容和SAS企業(yè)級(jí)應(yīng) 用相關(guān)。以前接觸Intel,前期產(chǎn)品如X25-M沒用電容,SSD 320是6個(gè)470uF/6V的鉭電容,后來S3500是3個(gè)45uF/35V的鋁電解電容。說白了,看用 戶,看場景,以前統(tǒng)一存儲(chǔ)主板上還用超大的BBU電池呢。”

這款sTec SAS SSD使用電容之大,我覺得可以歸為本文開頭的分類“a”——大量寫Cache數(shù)據(jù)(包括元數(shù)據(jù))。記得我還曾詢問過sTec關(guān)于 PCIe SSD上使用外置DRAM的原因,答復(fù)并不意外——“優(yōu)化(合并)對(duì)NAND的寫入,獲得更好的性能和壽命”。

提到Intel SSD 320,使我想起前幾年參加過的采訪。

當(dāng)時(shí)Intel的齊煒是這樣解釋的:“斷電這塊,今天我們會(huì)用電容,英特爾只是把內(nèi)存里的數(shù)據(jù)存進(jìn)去,有一些數(shù)據(jù)會(huì)放在我們控制器里面緩 沖區(qū),所以在斷電保護(hù)時(shí)間里面要完成數(shù)據(jù)的拷貝量是不大的,是相對(duì)小的。其他的廠家可能有很大的電容來提供保護(hù),但他們面臨著安全性的 問題,電容本身的壽命可能比不上整個(gè)固態(tài)硬盤,所以就是說你的電容大,很可能會(huì)成為里面最早壞的元件。”

如上圖,幾顆黃色鉭電容保護(hù)的就是旁邊那顆64MB Hynix DRAM中的數(shù)據(jù)。Intel當(dāng)時(shí)表示,SSD主控里的Cache存放的是臨時(shí)數(shù)據(jù),而外置DRAM 則是元數(shù)據(jù)(映射表),而電容正是針對(duì)的后者。

我認(rèn)為Intel SSD 320,包括他們后來的企業(yè)級(jí)SATA、PCIe產(chǎn)品都應(yīng)該屬于分類“b”——掉電保護(hù)少量元數(shù)據(jù)、正在寫入的頁面。

相比之下,當(dāng)時(shí)SandForce(現(xiàn)在屬于希捷了)控制器采用壓縮方案,無外置DRAM因此控制器內(nèi)置的緩存大一些。企業(yè)級(jí)產(chǎn)品可以加電容來保 護(hù),消費(fèi)級(jí)SSD通常不會(huì)配置。

上圖為LSI Nytro的前身——SATA轉(zhuǎn)PCIe的WarpDrive,卡背面有2顆0.6F 5.5V的電容,它們肩負(fù)著正面6個(gè)SandForce控制器SLC模塊的掉電保 護(hù)。

那么這款WarpDrive估計(jì)也屬于分類“b”或者“a”。

不久前,有朋友在網(wǎng)上詢問“Fusion-io主機(jī)內(nèi)存里的元數(shù)據(jù)每次更新是透寫到卡里么?”

業(yè)內(nèi)資深人士@jebtang回復(fù)說:“沒有,只是把內(nèi)存中的元數(shù)據(jù)的b+tree的頭和尾寫入在FPGA上的SDRAM里,這樣可以在掉電的時(shí)候rebuild整 個(gè)tree出來就行了。”

可見Fusion-io卡上只需要少量電容,應(yīng)該屬于典型的分類“b”,不過正如我在《破解PCIeSSD進(jìn)化:從踩坑到解決方案》一文中所寫的, PCIe SSD恢復(fù)供電后rebuild元數(shù)據(jù)通常會(huì)有一段時(shí)間,“有的1-2分鐘,也有的8-40分鐘”。

接下來我們?cè)倏纯磭鴥?nèi)兩家PCIe SSD初創(chuàng)廠商是怎么說的,由于是技術(shù)討論,具體品牌在這里只用代號(hào)表示。

F:“只有我們是寫到flash的,呵呵,這可是技術(shù)活。

做Cache應(yīng)用是不需要的,我們是需要保證的,一旦告訴業(yè)務(wù)層寫入成功,那必須是。這涉及誠信問題。

元數(shù)據(jù)都不實(shí)時(shí)寫flash,那還談啥子可靠性。說到代價(jià),基本可以忽略,我們的4k寫IOPS還不是到35萬,所以說是技術(shù)活呢。

一般電容保護(hù)不了這個(gè),卡上電容的目的是保護(hù)正在寫入的頁,不是RAM里的數(shù)據(jù)。普通的SSD還行,PCIe的,用電容不現(xiàn)實(shí)。我們的系統(tǒng)級(jí)產(chǎn) 品倒是提供了RAM的數(shù)據(jù)保護(hù),4個(gè)尺寸是30*30mm的電容,很大個(gè)的。異常掉電的恢復(fù)時(shí)間很快啊,分分鐘搞定。”

K:“4個(gè)電容總備電量多大?單卡最大功耗多大?RAM容量多大?”

F:“這么說吧,我們的目的是保證給200瓦的系統(tǒng)20ms的時(shí)間,處理異常掉電的善后工作。”

K:“20ms 夠不夠?我們2.5寸的SSD2.5瓦,無外置緩存,備電電容90-400mF,保證200-300ms.PCIe卡最大35瓦,無外置緩存,0.8F超級(jí)電容。 總體來說,沒有為跑分而設(shè)計(jì)外置緩存,減小備電要求,同時(shí),安全冗余還是放的很大。以上供你參考。一起努力,中國閃存創(chuàng)業(yè)者雄 起!”

F:“每頁的寫入時(shí)間是1.5-2ms. 結(jié)合你的RAM大小,應(yīng)該很容易算出電容的需求。”

K:“DRAM不只是存儲(chǔ)一些頁大小的數(shù)據(jù),合并優(yōu)化中的用戶數(shù)據(jù)、映射表,否則沒必要用那么大的緩存的。

我們?yōu)榱丝煽啃?,放棄FPGA了,是ASIC方案。外置DRAM其實(shí)很不錯(cuò),對(duì)性能,壽命都有很大幫助。 但我們測試了多家的外置緩存的方案,發(fā) 現(xiàn)得到好處的同時(shí)代價(jià)和風(fēng)險(xiǎn)也很大,進(jìn)行優(yōu)化寫入技術(shù)對(duì)掉電要求很高,風(fēng)險(xiǎn)很大,而電容,電池都有老化問題,安全冗余必須很大才行。最 終我們否了外置緩存方案。”

點(diǎn)評(píng):上面這兩家討論的還算友好:)可以看出他們的產(chǎn)品有些共性——卡上電容的目的是保護(hù)正在寫入的頁,據(jù)稱至少有一家的元數(shù)據(jù)是實(shí) 時(shí)寫NAND閃存。也就是說,他們可能都屬于本文開頭的分類“c”。

看上去一切都很好,我也希望真的那樣好。然而在3年多之前,我在一次和國內(nèi)某PCIe SSD初創(chuàng)廠商交流時(shí)(那時(shí)他們的卡還只是樣版),曾 經(jīng)問過元數(shù)據(jù)直接寫NAND是否會(huì)有性能問題,當(dāng)時(shí)對(duì)方的答復(fù)相當(dāng)肯定——不會(huì)。不過后來聽到其掉電后第一次重啟恢復(fù)的時(shí)間,又讓我感覺有 點(diǎn)像Fusion-io rebuild元數(shù)據(jù)的方式,甚至?xí)r間更長。

再次聲明,本文沒有指責(zé)哪家的意思。正如一位業(yè)內(nèi)朋友所說:“即使產(chǎn)品出現(xiàn)過問題,只要下功夫,半年一年之內(nèi)基本也能解決。”

如果元數(shù)據(jù)真的100%直接寫NAND,即使對(duì)IOPS影響不大的話,我還是有點(diǎn)擔(dān)心寫放大,還有延時(shí)。

上圖是Intel最新一代PCIe(NVMe)SSD規(guī)格,在讀/寫延時(shí)數(shù)字中,這里的讀“作弊”了,因?yàn)槭窃陧樞騃/O也就是說有Cache預(yù)讀的情況下。

如果某家產(chǎn)品每一個(gè)寫I/O都是直接到NAND的話,寫延時(shí)就更不可能這樣短了,特別是元數(shù)據(jù)立即寫到閃存。

如上圖,三星SFF-8639規(guī)格的XS1715 SSD PCB背面布滿了大量的鉭電容。如下圖,它的DRAM緩存芯片是1顆256MB的,PMC主控中有多少緩存需 要做掉電保護(hù)我不太確定。但參考本文前面的經(jīng)驗(yàn),該產(chǎn)品可能又回到了“b”甚至“a”分類。

那么好處是啥呢?我覺得可能還是為了性能、簡化設(shè)計(jì)等。沒有一種方案十全十美,都是有取舍的。

看到這顆同樣金屬上蓋的PMC NVMe控制器,我又想起了sTec——也包括他們的PCIe ASIC。在SAS企業(yè)級(jí)SSD陷入同質(zhì)化競爭之后,PCIe又會(huì)怎 樣呢。如今PMC被Micron、三星和Memblaze選用可謂風(fēng)光無限,有人開玩笑說SandForce被LSI給搞廢了:)不過Marvell和其他人還是會(huì)加進(jìn)來玩 的。

最后這張圖,來自Greenliant VP李炫輝的ppt,是講如何做SSD掉電保護(hù)測試的。廠商說的再好,用戶還是要通過自己的測試來驗(yàn)證。

本文出自黃亮的微信公眾號(hào),企業(yè)存儲(chǔ)技術(shù)(微信號(hào):huangliang_storage),歡迎大家關(guān)注!  

分享到

huangliang

相關(guān)推薦