- Advertisement -
首頁 技術頻道 提升彈性/簡化分工 OC SSD升級儲存容量/速度

提升彈性/簡化分工 OC SSD升級儲存容量/速度

- Advertisement -

圖1是一個共享儲存系統示意圖,底層的硬體儲存裝置是由許多固態硬碟(SSD)所聚集起來,在其上有一個儲存管理的軟體,這個軟體負責管理分配底層的SSD空間和頻寬,來提供上層各個不同應用所需的儲存服務。因此,擁有資料中心(Datacenter)的雲端服務業者(Cloud Service Provider, CSP),以及提供企業儲存方案的系統整合廠商(System Integrator, SI),都在尋求更具經濟效益和彈性維運效率的儲存架構來滿足眾多應用的需求。

圖1 共享式儲存集結許多硬體儲存裝置(如SSD),經由軟體管理分配,提供不同應用所需的儲存服務。

雲端服務業者提供給使用者許多應用程式和雲端儲存服務,種類多樣且變化快;企業儲存方案的系統整合廠商使用服務相對有限和固定,但對於儲存的優化需求也一樣存在;再者,現今NAND Flash技術發展迅速,3D NAND Flash堆疊層數增加帶來更高的單位體積容量以及更低的單位容量成本,良率也趨於成熟穩定,因此造就NAND Flash的迭代時程越來越密集,而基於新的NAND Flash技術的SSD產品更新也就越頻繁。

但每一個新的SSD產品要導入,就必須進行一輪嚴謹漫長的測試驗證,完成通過後還有繁複的SSD上線實測應用的過程,這些都是數據中心維運的隱性成本,也是一大困擾。最後,由於數據中心對於SSD的使用量越來越大,而數據中心也遍布全球,除了要避免受限於少數SSD供應商,也要避免受限於基於單一或少數幾家NAND Flash廠商的SSD產品,才能有更好的議價能力,也才能分散採購備貨風險(特別是在NAND Flash短缺的情況下)。

綜合以上所述,數據中心期待的儲存架構要能滿足以下特性,以降低整體維運成本(Total Cost of Ownership, TCO)。

.具有優化彈性、能快速導入、開發新功能的儲存架構。

.跟隨新的NAND Flash技術演進,減輕驗證工作、縮短導入上線時程。

.採用適配各家NAND Flash的SSD方案,以達到供應鏈的多元化。

Open Channel SSD架構/概念解析

Open Channel SSD正為上述的問題帶來解決方案。以下簡要說明OC SSD的概念和架構。

如大家所熟知,SSD上的控制晶片需要有一套韌體(FW),來管理主機(Host)端寫入的數據如何存放於NAND Flash介質中,以及在Host讀取請求時,即時找到所需要的數據並且正確地回傳給Host,這一套管理數據如何可靠地存放於NAND Flash的FW可分成兩大部分,一是安排數據擺放的Data Placement(也可理解為Flash Translation Layer/FTL),另一是操作介質存取的Media Management。

一般傳統的SSD架構,這兩大部分都包含在SSD FW裡,也就是從收到Host數據存取請求、找到一個適當的位置來存放數據或是在對的位置取得數據來回應Host,都由SSD來執行完成,而相對於這個傳統SSD架構,OC SSD提出一種具有開發彈性和分工的架構。

在OC SSD的架構下,它將上述SSD FW裡的Data Placement的部分移到Host端去,把Media Management的FW保留在SSD,而Host透過定義好的溝通介面(OC SSD Interface)來給SSD傳達指令,完成數據存取的動作(圖2)。簡言之,Host決定數據要存哪裡或去哪裡取,SSD負責把數據即時、正確地存進去或取出來。這樣的分工主要是著眼於數據來自於Host端的不同應用,所以讓Host來管理不同特性的數據該放到哪個位置會最有效率;決定好了數據要放哪個位置,Host就透過定義好的溝通介面,指示SSD執行存取NAND Flash的動作,SSD就專心做好可靠、正確的存取工作。

圖2 Reliability和介質特性相關,讓擅長Media Management的SSD端來負責;Data Placement和數據特性相關,讓靠近應用程式的Host端來處理更有效率;OC SSD提供一個有效率的架構,讓Host和SSD各司其職、發揮所長。

Open Channel SSD特點及好處

這樣的架構,有以下特點和好處。由於FTL移到Host端,SSD就不需要處理IO排程、決定數據擺放,可以減少運算能力及記憶體空間的需求,可簡化SSD的控制晶片設計和降低功耗,進而節省SSD生產物料成本。

由於SSD將其內部的實體位置資訊開放給Host,讓Host端直接根據應用層的數據特性,可準確有效率地將數據安排到適當的位置去,因而達到不同IO之間的隔離,例如冷熱數據就可以分流擺放至不同的實體位置,以便即時存取以及減低執行Garbage Collection的機率來降低不必要的介質耗損,因而延長SSD使用壽命(圖3)。

圖3 左圖是傳統SSD,來自Host的數據,全由SSD FTL來決定如何存取;右圖是OC SSD,不同特性的數據該如何存取,由Host管理安排;如此可以達到更有效率的I/O存取和隔離,減少不必要的搬移,提升使用壽命。

基於Host和SSD的分工,數據該置於何處或從何處取得,Host在發出存取請求時就已決定,SSD只需要對介質的操作就可完成存取動作,因此延遲可降低,也較可預測(介質存取的時間可預期在一個時間內,變異不大)(圖4)。

圖4 數據存取的延遲大致可分為兩部分,一是決定數據該存放的位址或該取得的位址,一是來自對該位址介質的存取時間。因此,左邊傳統的SSD存取延遲因為Tx的存在及不確定性,一般會較長及不可預期;右邊OC SSD的存取因為只有Tmedia,相對較短且可預期。

Open Channel SSD未來發展和挑戰

基於Host與SSD分工的OC SSD架構,提供了Host和SSD端各自發展的彈性和方向,也都有需要克服和進一步優化的目標。

在Host端,FTL的實作可以在內核空間(Kernel-Space),也可往上層推至用戶空間(User-Space)。目前已經有Linux Kernel的驅動(Driver)支援OC SSD(Kernel V4.16支援OC SSD Interface V1.2;V4.17支援OC SSD Interface V2.0),插上支援OC SSD Interface的SSD,在Host端安裝對應支援的Driver,就能如使用一般傳統SSD一樣地將這個OC SSD當作一個Block Device來使用。

這個轉換幾乎是無感的,而這是第一步,後續可以繼續在Driver/FTL上去根據系統應用所需來做優化,但由於在Kernel-Space的軟體開發維護較為挑戰,以及更新Kernel Driver對於整個系統的影響層面也較大。

有些廠商考慮將Driver/FTL再往上到User-Space,一方面User-Space更靠近應用層,此時的FTL甚至能跟應用軟體結合,減少各軟體層之間的轉換Mapping,去除不必要的Garbage Collection和Wear-Leveling,FTL融入應用軟體的一部分來達到性能調適的最佳化(圖5);另一方面因為在User-space的軟體開發維護的人才和資源較容易取得和掌握,大型的數據中心公司正朝此方向發展。

圖5 Host端的Driver/FTL可以存在Kernel-space或User-space。早期導入OC SSD,可引用Kernel-space Driver/FTL完成平順地的轉換;對數據和應用的特性更加了解後,需要進一步結合優化,可以在User-space來發展Driver/FTL,以增進開發和維運的效率。

在SSD端,雖然簡化了設計複雜度,但必須保有彈性和兼容性。在OC SSD架構中,Host與SSD必須透過OC SSD Interface來溝通,但因為目前OC SSD並沒有一個業界通用公認遵守的規範,各家基於OC SSD概念和架構發展的廠商都定義了自己適用的OC SSD Interface,所以作為SSD端的解決方案提供者,必須要有足夠彈性的ASIC/FW架構設計,來支援各個不同的溝通介面。

除了溝通介面,雖說FTL落在Host端,但細節實作上要如何細分FTL的工作也尚未訂定,甚至未來會是廠商自行定義的範疇;基於此一因素,在OC SSD FW的架構以及模組化分工也就變得更加重要。Media Management是SSD端主要負責的事,因此,SSD製造商或是SSD控制晶片廠商,一直以來就對NAND Flash特性有所鑽研,具備豐富的知識和經驗來處理各廠商、各世代的NAND Flash。

對於新一代的NAND Flash,包含3D NAND以及QLC,除了要有更強除錯能力的ECC Engine,如4KB LDPC,也需要有智慧學習的錯誤回復機制來因應各種不同的、嚴苛的使用環境下的錯誤情況,SSD的主要任務就回歸到確保介質存取的可靠性。

目前進行的幾個OC SSD開發廠商,關於錯誤回復機制該如何分工仍有許多討論,有些認為應該歸給Host FTL,SSD端負責盡可能記錄各種錯誤統計資訊回報給Host,讓Host來決定如何處理這些錯誤,這樣的做法可能增加Host FTL的複雜度(如果這些處理機制和NAND Flash相關)。因此,若SSD端能將這些錯誤回復機制都吸收掉,也就是介質存取出現的錯誤讓SSD端自行處理掉,對於Host來看,就幾乎是一個Error-Free的SSD,Host FTL就能專注於Data Placement和IO Scheduling的效能優化和功能開發。而這正是OC SSD的終極目標,更是價值所在。

Open Channel SSD應用現況與生態系

OC SSD的架構受到許多廠商青睞,各個廠商也都在找尋自己的合作夥伴,除了先是開發用於自家內部的應用,有些更積極地想藉此規格標準化,讓更多的廠商願意進來提供方案,形成一個產業鏈。例如在中國,最積極的是Alibaba,日前宣布上線全球第一個數據中心OC SSD(AOC SSD)產品,生態系中的首個OC SSD方案廠商主要是Shannon Systems,後續Intel也將跟進,NAND Flash供應商則包含了UNIC2、Micron、Hynix等等。除了Alibaba引領技術發展和應用,Baidu也都有計畫基於OC SSD架構開發適合於內部業務使用的新一代儲存方案。

在北美部分,AWS、Microsoft、Google、Facebook等等,也都基於OC SSD的概念和架構發展內部的數據中心儲存系統解決方案,當中最積極的應就屬Microsoft,在今年的OCP(Open Compute Project)提出了Project Denali,這是一個將OC SSD推向標準化的一個Workgroup,參與的廠商包含所有的NAND Flash原廠,SSD控制晶片廠商包含了Silicon Motion、CNEXLABs、Marvell、Microsemi,以及終端系統廠商LiteOn、NetApp、Dell等等,期待透過標準化,能得到更多廠家支持來推出產品,讓這技術能實際量產並導入線上應用,各廠家除了在技術上有所發展,也能有實質營業收入。

Open Channel SSD成控制晶片廠新契機

目前數據中心主要還是使用標準的NVMe SSD,不過由於OC SSD概念的提出以及開始有廠商實際上線導入應用,讓數據中心儲存的發展更往OC SSD方向靠攏。但NAND Flash原廠會抗拒這樣的發展,因為OC SSD實際上剝奪了NAND Flash原廠在SSD方案上所賦予的價值和溢價。未來很可能的模式是,擁有數據中心的雲端服務業者,指定合作的SSD控制晶片廠商,提供支援OC SSD的ASIC/FW,再和NAND Flash原廠購買NAND Flash,一併交由指定的合作代工廠來生產SSD,測試驗證後上線使用。

在這種合作模式下,效能的優化和功能的開發由原本雲端服務業者軟體人員負責(他們原本就在做數據處理的工作);SSD控制晶片廠商專注將支援彈性實現在成本優化的ASIC/FW架構當中,並提供適時、必需的客製化服務及支援;NAND Flash廠商負責提供有競爭力的NAND Flash價格和足夠的量能;代工廠就掌握SSD生產組裝和測試把關。這樣的產業分工,讓各方都得以在各自擅長的領域以及核心的技術優勢持續發展,或許是新一代儲存產業共榮發展的新契機。

例如像是慧榮科技(Silicon Motion)在Client SSD已有一定的成績及客戶基礎下,跨進Datacenter和Enterprise SSD這市場,除了提供標準的NVMe產品,藉由核心競爭力具有彈性的ASIC/FW客制設計服務,從OC SSD的解決方案切入,也獲得初步的成果,期待未來能和更多大型數據中心和儲存系統解決方案、系統整合商有進一步的合作。

(本文作者為慧榮科技產品企劃經理)

相關文章

- Advertisement -
- Advertisement -

最新文章

- Advertisement -

熱門文章

- Advertisement -

編輯推薦

- Advertisement -