存儲極客
這是一群存儲偏執狂
為存儲而生,跟存儲死磕
各具獨家秘笈
有觀點,有碰撞,有干貨
從2015年8月18起
做客存儲極客欄目
與你分享存儲里的那點事兒
評估存儲系統中SSD的壽命,既不是只有SLC、MLC、TLC之分那么簡單,卻也有辦法繞開那復雜的一大堆技術參數。我們的建議是:了解閃存特性,抓住關鍵指標,從應用負載入手作出決策。
在前幾期的《存儲極客》系列連載中,我們跟大家討論過機械硬盤不常被人們注意的一點——讀寫壽命(建議負載,單位:TB/年)。同時也提到了“閃存有P/E cycle(編程/擦除周期)的限制,也就是通常所說的寫壽命……”
由于SSD相比HDD巨大的性能優勢,用戶不再需要為了IOPS而去“堆磁盤”;另外SSD單盤容量(1.92、3.84TB)也已經遠超15000轉硬盤(最大600GB)。如今用3D NAND SSD替代同容量的高轉速企業級HDD,考慮到節省的盤柜空間,已經成本更低了。在這種情況下閃存想不流行都難。
以SSD/閃存為介質的存儲系統,用戶適當關注其介質壽命是正常的。而這就是本文要討論的重點。
SSD等級劃分:哪個指標更關鍵?
不同的閃存單元結構,直接影響到編程(擦除/寫入)的時間長短和次數,但最終表現在SSD成品上的還有許多其它因素。
首先是NAND方面,這里有幾個要點:顆粒等級、制造工藝,還有2D/3D之分。比如早期業內共識的一種分類方式是eMLC優于MLC(cMLC),Intel用的是另外一種叫法——HET (High Endurance Technology) 和SET (Standard Endurance Technology) 。與其說今天eMLC一詞有點被“濫用”,不如承認現在的企業級SSD寫耐久度范圍確實比較寬,因為還牽涉到一些NAND基礎單元之外的東西。
我們在以前的文章中寫到過“利用多層堆疊封裝,3D NAND能夠提高閃存顆粒的密度。同時,搭配更加成熟3x-50nm半導體工藝,在相同的閃存類型(比如MLC vs. MLC,TLC vs. TLC)上比現今前沿的1x-20nm閃存會有更好的耐久度。眾所周知,隨著cell單元尺寸的不斷縮小,NAND的P/E Cycle(編程/擦除周期)呈不斷下降趨勢,廠商們用更強大的糾錯算法以及下面要講到的“OP”來應對。”
同樣的NAND閃存顆粒,制作成SSD閃存盤成品又可以有不同的等級。一個重要的因素是超量配置(Over Provisioning),許多朋友應該都知道閃存的寫放大效應,這里就不詳細展開了。在其它條件相同的情況下,SSD的OP比例越大,垃圾回收效率一般就越高,控制住寫放大,寫入壽命和性能就會相應越高。
所以,最終的結果有可能是MLC (eMLC) SSD的寫入壽命達到了SLC的水平,3D TLC超過(2D)MLC的也不鮮見。因此,對于大多數最終用戶而言,我覺得主要關注DWPD(Drive Writes Per Day)——每天可以寫入整盤容量的幾倍一項指標即可,通常指的是5年(x365天),也有按3年標的。
注:PBW(生命周期內總寫入容量)= SSD容量x DWPD x天數
好在規范的企業級SSD廠商大都比較靠譜,出于對用戶負責的態度這一指標也不會亂寫。至于支持閃存/SSD的存儲陣列,早期我看到大家普遍在配件列表中用SLC、eMLC的方式區分,如今逐漸轉向更加合理有效的方式——寫密集型、讀密集型和混合用途SSD(介于前兩者之間),分別對應不同的DWPD區間。
接下來的一個問題是:如何判別陣列上的SSD?對于配置通用SAS接口的產品,一般不難看出其供應商和型號;如果是采購之前,就要看陣列廠商的資料和報價說明。在本文中我們“走了個捷徑”,從下面這張圖說起:
為什么引用SPC-1測試報告?
眾所周知,SPC-1是評估企業存儲性能的基準測試,具體一點說是模擬的OLTP交易型工作負載。這里引用的報告也不算新聞了,Dell Storage SC4020使用6個SSD,測得SPC-1 IOPS 112,479.81,性價比$0.37/SPC-1 IOPS,數據保護為鏡像方式。
為什么我們要列出這一份報告,它與閃存/SSD的等級和壽命計算又有什么關系呢?
在這個SPC-1報告的配置圖中,注明使用了480GB SAS SSD,并且根據型號“HUSMR1650ASS200”可以查到供應商是HGST。
注:不是每一份SPC報告都會公布使用的驅動器具體型號,這也是我們使用Dell這個來分析的原因。基本上每個存儲系統廠商都會有不只一家SSD供應商來源,因此在SC4020中如有480GB SSD來自其他品牌也屬于正常。
根據詳細的測試環境配置,生成負載的前端主機使用了一臺Dell PowerEdge R720服務器,安裝了兩顆Intel Xeon(至強)2.0GHz E5-2650 8核CPU。另外雙控的SC4020存儲每個控制器也各有一顆4核Xeon處理器。
了解到全閃存陣列測試性能和SSD配置,為我們在下一篇中繼續壽命估算和選型建議打下了基礎。
看SSD好壞不能憑經驗?
這款SSD屬于使用MLC閃存的Ultrastar SSD1600MR系列,其型號在HGST官網上的資料中對應容量為500GB。出于統一的考慮,OEM的型號把SSD容量調小些也屬于正常(物理閃存容量不變)。性能參數什么的感覺都在正常范圍內,而現在我最關心的是PBW寫入壽命——2.4PB,4KB隨機寫。
前面提到過寫放大,它與寫入方式也有關系,企業級SSD通常是按照最差的情況——小數據塊隨機寫來考慮。按照5年365天來計算,其DWPD指標大約為2.63。細心的讀者可能會發現這一數值要高于400GB和800GB的DWPD=2。
按照行業慣例的分類,這個系列SSD屬于讀密集型產品。
不知是否有讀者朋友和我一樣有類似的習慣——400、800GB這些容量點在企業級SSD中比480、960GB更好一些?如果前者出現在寫壽命更高的系列中其OP比例往往更大,但現在討論的情況卻表明了一點——在DWPD同級的讀密集型SSD中也可能有400、800GB這樣的型號,此時它們的物理閃存容量與500(480)、1000(960)GB顯然是不同的。
閃存陣列上SSD的DWPD范圍
上圖引用自戴爾SC陣列上支持的SSD分類,而我們的討論并不限于某家存儲廠商。除了容量點之外,不同類別之間的最大差別就是寫入壽命和性能。無論寫密集型SSD采用SLC還是MLC,讀密集型采用MLC還是3D TLC,其DWPD值仍然保持在原來的范圍內。
這個表里既有業內通用的劃分方法,也補充進我了解到的情況(橙色字體)。盡管企業級讀密集型SSD的DWPD可以在0.1-3之間,但實際上DWPD<1的型號主要用于服務器啟動盤和一些寫入較少的“冷”存儲應用(曾看到Intel有種分類將其稱為數據中心SSD,區別于傳統意義上的企業級)。
我們看到用于企業級閃存陣列上的SSD,一般至少要達到DWPD 1-3的范圍。
此外,據了解采用SLC閃存和5年DWPD>20的SSD會慢慢淡出主流市場。不過我們無需因此對閃存壽命有太多擔心,因為按照半導體存儲介質自身的特點,生命周期總寫入量(PBW)又和SSD容量成正比,DWPD低可以用容量來補。比如說目前DWPD=25的SSD常見容量有400GB,其總寫入量為18.25PB;DWPD=10的SSD容量已達1600GB,總寫入量已高達29.2PB。
本文到此先告一段落,在下篇中將繼續分析全閃存陣列的寫入負載,包括SPC-1這樣的極限性能測試,以及更加貼近大多數用戶的計算模型。希望能夠對大家選擇不同等級/容量的SSD帶來參考。