2015年8月5日,Greenliant亞太營銷副總裁李炫輝帶來了中國閃存峰會的壓軸戲,對構建高可靠性對閃存產品進行了一番深入淺出的分析。
 
對于閃存產品,很多客戶甚至廠商只看到了其高IO性能的特性,而在其它方面延續了對磁盤系統的認識。但是閃存由于其物理特性與磁介質完全不同,因此和磁盤相比還有很大的差別。例如閃存受到擦寫次數的限制,隨時間與數據擦寫量增長存在性能波動和衰減的情況,同時其壽命和性能也受到工作溫度影響,因此如何解決閃存設備的可靠性是閃存存儲產品能否大規模使用的關鍵。
 
閃存控制器是閃存系統的核心,閃存控制器是聯系主機和NAND Flash的橋梁,掌握了閃存控制器技術幾乎就可以掌握閃存產品的未來命運。那么閃存控制也需要具備幾個主要的閃存管理功能,如Error-correcting code (ECC校驗)、RAID保護機制、Wear leveling(磨損平衡)、Bad block mapping(壞塊管理)、Read/write disturb management(讀寫干擾管理)、Garbage collection(垃圾收集),同時需要具備閃存控制器其它定制化功能,如加密、安全擦除或自毀、壓縮或去重等。
綠芯半導體在閃存控制器方面有20多年的研發技術和經驗,在閃存領域具有完全自主的技術能力,如NAND閃存的檢測、封裝技術,自主研發的企業級閃存控制器以及Firmware,閃存存儲架構設計,功耗管理,高級電路保護技術,完善的QA控制以及量產質量控制等等,在閃存技術方面有很多的專利。
 
閃存峰會展會現場,Greenliant李炫輝為現場用戶解答閃存熱點問題。
 
Greenliant G-card的高可靠性設計采用了獨特的分布式ECC 、自帶 RAID 以及掉電數據保護功能。
由于NAND Flash的工藝不能保證NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND的生產中及使用過程中會產生壞塊。為了檢測數據的可靠性,在應用NAND Flash的系統中一般都會采用一定的壞區管理策略,而管理壞區的前提條件是能比較可靠的進行壞區檢測。但潛在的問題是性能衰減和可靠性下降如何避免?
 
當Flash設備隨著使用時間和數據量的增長,壞塊會逐漸增加,會產生大量的ECC Error,這時設備性能和可靠性會大幅度下降,對應用性能和數據安全帶來影響。
 
G-Card具有高可靠性的分布式ECC設計架構,源自于每個NANDrive組成元件內置ECC引擎。這種創新架構不僅提高了閃存卡容量的可擴展性,又保證了產品的生命周期內持續的性能和可靠性。除了分布式ECC引擎,Greenliant G-card是業界第一款板載硬件RAID的閃存卡,單卡板載40顆 NANDrive,每5顆 NANDrive   組成一個RAID 組,共計8個 RAID 組。
 
Greenliant對產品進行長期擦寫以及性能測試。在疲勞測試環境中,每天全盤擦寫50次,超過18000次擦寫后(相當于每天全盤擦寫10次,連續5年),性能衰減不超過10%。另外,采用先進的磨損平衡算法保證無“熱點”。
 
在Facebook閃存失效大規模研究中有兩個主要發現:
(1) SSD失敗并不是單純地隨閃存芯片磨損增加;它們歷經幾個明顯的時期,與失敗如何出現和隨后如何被檢測到相一致 (Figure 4)。
(2) 高溫會帶來高的失敗率,但是通過截流SSD操作看來可以極大地減少高溫帶來的可靠性負面影響,但是會帶來潛在的性能下降(Figure 10)
 
 
 
基于綠芯半導體對NAND閃存介質的理解和經驗,造成現象(1)(2)中的主要原因是由于在生產過程中沒有發現和標示潛在的壞塊或臨界狀態的塊,造成在生產環境運行時故障率上升。同時長時間的高溫運行也會對閃存介質的可靠性產生不利影響。
 
針對這種實際使用環境中閃存問題的存在,Greenliant在生產制造流程中專門設計了高溫環境下的檢測和質量控制(見下圖),如對NAND顆粒進行二次測試,高溫測試(125℃),大溫度范圍測試(-55℃到125℃),高溫高濕度下壓力測試(125℃,85% RH)等等。保證了閃存產品在生產環境下的可靠性和穩定性。
 
 
除了閃存介質以外,板卡以及外圍組件的質量也會對閃存產品的可靠性和穩定性帶來影響,如前一段時間的電池門事件就是這種情況。對于板卡層面,Greenliant在設計和制造生產方面也制定了針對性的高標準測試流程。例如在電池組件方面,Greenliant選擇了較高成本的電容電池,利用自主地電路保護和控制技術,保障電池組件在高溫以及長期使用過程中的可靠性。Greenliant板載電容電池在長達1年的高溫疲勞測試后,健康度仍然高達99%。
另外閃存的Firmware升級,其實也可能會對設備運行帶來不確定因素。如新的算法可能帶來組件功耗以及發熱量的升高,底層設備訪問的機制變化與其它代碼和接口的兼容性等等。
Greenliant每一次Firmware的更新,都會將整個可靠性測試重新完整運行一遍,并且同時在異地兩個實驗室同時做測試,只有兩個實驗室均通過測試后,才會發布新的Firmware版本。
 
作為最先推出NVMe協議閃存卡的領導廠商之一,Greenliant一直在推進相關技術和產品推廣,NVMe相比AHCI協議具備無鎖式IO并發、可橫向擴展也有更低的寫延遲。過去由于缺乏統一的標準,不同廠商的閃存產品不能兼容和互操作,對于用戶的使用和運維管理帶來很大的復雜性。而NVMe標準的推出則解決了這個問題,同時NVMe協議還大大改善了閃存卡的訪問性能。
 
阿明與Greenliant李炫輝在展位現場合影,感謝Rachel友情拍照。
 
實際應用中,在服務器中采用多張PCIe閃存卡,實現本地大容量高性能存儲,或搭建軟件定義存儲架構(Server SAN),G-card 在性能和容量方面展示了優異的可擴展性。在IOPS、延遲、功耗、尺寸、初始成本和總體擁有成本方面 顯著優于其他的主存儲方案。G-card 集先進性、可靠性、穩定性于一體,可以為數據中心提供高效能、高可靠性和高安全性的存儲解決方案。
 
經過一番討論,大家對構建高可靠性的閃存產品有了一定的認識,下一步,需要在分析閃存本身特性的同時,深入了解以閃存為中心的彈性計算平臺如何構建?
 
作為Greenliant核心合作伙伴,達沃時代在閃存應用方面有著自己獨特的理解, 這也是達沃時代目前發展的核心所在。
 
達沃時代技術總監雷迎春博士閃存峰會主題演講
 
不過他總結了閃存存在的幾個關鍵問題:
 
一是,閃存不是高性能磁盤,需要以閃存為中心的存儲軟件來支撐。
 
二是,為充分發揮閃存性能,通常數據在閃存上的部署結構采取日志結構,但是,僅采取日志結構的設計,仍不足以高效地使用閃存。
 
三是,存儲軟件需要充分了解閃存的物理特性,適配工作,盡力最小化閃存內部的額外開銷,存儲軟件不宜介入閃存的內部工作,如實現應用層FTL等,否則,會占用過多的主機CPU資源。
 
四是,除了系統設計外,高效的軟件實現也是充分發揮閃存特性的關鍵。
 
圍繞這幾個關鍵問題,達沃時代技術總監雷迎春博士展開了“以閃存為中心的彈性計算平臺”的分析。
 
 
首先來一張圖,讓你先認清達沃的彈性計算平臺架構。雷迎春博士分析,這是達沃時代針對第三平臺概念的一種實現。關鍵元素是融合存儲,其中,YeeStor針對單數據中心,WooStor面向多數據中心。YeeOS是達沃融合存儲的核心,提供多種API接口,對于文件、塊、對象等訪問都支持。幾乎所有應用對存儲的訪問都可以表示為對文件和塊的訪問,文件訪問強調高帶寬和共享,塊訪問強調高IOPS和低延遲,很難用一套I/O棧同時高效支持文件和塊,所以,YeeStor在內部又分解為YeeSAN和YeeFS,它們有相同的接口,但是,內部實現完全不同,文件和塊分別走不同的I/O路徑和I/O處理邏輯。YeeSAN和YeeFS之間的關系是并行關系,而不是依賴關系。
 
所謂應用定義存儲,達沃的理解是允許基于應用的工作負載進行靈活配置。因此,YeeStor可以被配置為分布式文件系統、Hadoop HCFS、集群NAS、分布式塊存儲、分布式RESTful對象存儲等。
 
YeeStor是非對稱結構,達沃選擇這個結構的原因是,如果在共享存儲池上支撐多種應用的運行,那么,其上的工作負載一定是異質的。有一些存儲系統采用對稱結構,由客戶端驅動I/O,如Ceph的塊服務和GlusterFS,這種結構比較適合單一類型的工作負載。在對稱結構中,靈活的資源調度和資源預留會比較難于實現。非對稱結構被詬病的一個原因是元數據服務通常是主備式,可能是系統的瓶頸。YeeStor的元數據服務和數據服務一樣均是橫向擴展,而且是線性增長,解決了這個問題。
 
目前,大部分存儲系統的軟件都是以磁盤為中心的,包括某些全閃陣列。在這樣的系統中,閃存被用作高性能磁盤,另一方面,操作系統中的I/O棧也沒有為閃存的到來做好準備。
 
SSD中的FTL讓閃存看起來像一個磁盤。閃存由多個塊組成,一個塊由多個頁組成。同時,設置了預留塊,用于替換不合適的塊。此外,閃存還有幾個關鍵特性:不支持覆蓋寫,只能以頁為單位進行讀寫,只能以塊為單位擦除。閃存的這些特性,對寫性能有顯著影響,主要表現為寫放大和可變的寫延時。
 
另外,SSD內部存在4個層次的并行:通道、封裝、芯片、面。這意味著,一次合理的I/O,可以從多個芯片訪問到的多個塊,即集群塊(Clustered Block),類似于RAID系統中的條帶化(Striping)。換言之,SSD需要大粒度I/O。
 
SSD的I/O模式分析,操作系統或應用的I/O粒度通常為4KB或8KB,情況如下:
 
隨機讀時,不能充分利用SSD的內部并行機制,特別是當兩個并發讀訪問恰好是同一個面(Plane)時,需要競爭訪問。
 
隨機寫時,不能充分利用SSD的內部的并行機制。寫密集時,垃圾回收和寫入競爭,惡化寫放大和產生較長的寫延遲。特別地,擦除操作需要更?的延遲;當兩個并發寫訪問恰好是同?個面時,需要競爭訪問;SSD控制器需要更多開銷,維護映射表,并且要求內存中的映射表持久化;產生隨機的無效數據,導致內部碎片,而在垃圾回收時,需要大量的擦除操作,開銷更大。
 
順序讀時,不能充分利用SSD的內部并?機制,但是,可以利?SSD中內置的預讀優化,當然,并不是每個SSD都有這個特性;
 
順序寫時,沒有隨機寫的很多問題,但是,不能充分利用SSD的內部并?機制。
 
如果I/O粒度為4MB或16MB,即SSD集群塊大小,情況就不一樣了,具體見下圖:
 
 
達沃把閃存看作特殊的非易失內存,而不是硬盤。針對閃存的I/O特點,達沃在底層存儲部分設計了日志結構的數據部署,LOS(Log-structured Object Storage)。LOS允許應用使用傳統的I/O粒度,如4KB;LOS之下,面向SSD的I/O粒度是集群塊大小,如4MB。本質上,LOS起著負載調峰的作用,把上層應用的突發I/O調整為SSD上的均勻I/O;把上層應用的小粒度I/O,調整為SSD上的大粒度I/O。LOS不僅對SSD友好,對HDD也友好。同時,LOS對SSD/HDD介質的直接管理和訪問,繞過了操作系統的傳統I/O棧。
 
達沃存儲采用了MEANS 2.0結構,MEANS(a Micro-Engines Architecture for Network Servers)是雷迎春十多年前針對高性能服務器提出的一個面向多核環境,兼具線程和事件驅動的軟件結構。達沃認為,存儲軟件要解決CPU、內存、網絡、存儲資源的使用。對于CPU和內存資源的使用,采用微線程,降低切換開銷;采用微引擎,充分使用多核CPU;采用數據區分,降低NUMA和鎖的開銷。對于網絡資源的使用,設計多核友好的網絡服務框架或采用RDMA。對于存儲資源的使用,使用用戶態LOS。
 
隨著閃存在企業環境的應用越來越多,一個明顯的現象是,存儲軟件滯后于存儲硬件的發展。特別地,當單節點的4KB隨機IOPS期望達到500K或1M時,軟件通常是瓶頸,必須精心設計,才能發揮下層存儲硬件的I/O能力。
 
他看到PCIe閃存卡有Host-base PCIe閃存卡和Device-based PCIe閃存卡的區分,Host-base PCIe更依賴主機來做以后的路恐怕會越來越窄,他更看好Device-based。NVMe廣泛應用之后,閃存卡架構可能會更傾向于Device-based。不過,以后軟件更好地跟上硬件的發展,給予更多優化,閃存需要適配的存儲軟件,才能在一個系統里面發揮出閃存的效能。
 
另外,在考慮到閃存本身的特性情況下,如何提升可靠性成為未來的關鍵。(阿明)
 
 
 
未經允許不得轉載:存儲在線-存儲專業媒體 » 如何構建高可靠閃存和以其為中心的高效計算平臺?
分享到

aming

相關推薦

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