當各家SSD控制器供應商在產品設計屢屢推陳出新、技術愈臻成熟穩定時,SSD也開始跨足企業儲存市場。迄今最新支援PCI-e介面的SSD應用控制器足以支援PCI-e Gen3×4,傳輸頻寬近32Gbps,遠遠超越過去SATA3.0的6Gbps頻寬,預期PCI-e SSD需求會愈來愈高,甚至有機會取代SATA SSD,也是時候順勢進入企業儲存市場,因應市場應用隨之推出適合的PCI-e SSD。
企業儲存常見的三個應用範疇分別是內容傳遞(Content Delivery)、虛擬環境(Virtual Environments)和資料庫管理(Database Management),根據其市場而個別引進強調讀取、專注寫入或讀寫兼具的SSD(表1)。藉著內容傳遞作為商業模式的市場如網路服務、雲端運算和Metadata加速搜尋市場等,採用的SSD儲存裝置著重讀取速度和延遲(Latency)效能;虛擬環境下的虛擬平台同時要求隨機讀寫IOPS(Input/Output Operations Per Second)和低延遲,適合選用讀寫兼具的SSD;至於資料庫管理如資料中心強調資料記錄與備份,寫入取勝的SSD更容易脫穎而出。
整體來說,企業儲存市場對SSD儲存裝置之要求相對於消費型市場更為嚴謹,除了速度考量之外,其他像是儲存服務品質(Quality of Service, QoS)、企業等級資料保護技術和內部傳輸端資料保護(End-to-End Data Protection)等規格,都是SSD控制器供應商需要達到其標準才有機會角逐企業儲存市場的一席之地,這幾項規格也將在本文後續逐一探討其重要性。
儲存服務品質穩定
SSD儲存服務品質意指SSD在特定時間內進行讀寫時,能夠維持穩定且一致的延遲時間(Latency)。換言之,儲存服務品質表示SSD處理資料指令時,從99%甚至到99.999%之信賴區間,不同信賴水準線能保證資料處理之回覆時間(Response Time),做為企業SSD儲存裝置評比之一。
然而,SSD採用的NAND Flash受其特性限制,往往在處理主機端(Host)資料時,也需要同步著手SSD內部背景管理(Background Management),諸如資料抹除(Erase)、碎片回收(Garbage Collection)、耗損平均技術(Wear Leveling)等,進而遞延整個SSD處理時間,甚至有可能產生高延遲異常值(Latency Outlier)、速度驟降等問題(圖1)。
因此,為了維持儲存服務品質之穩定與一致性,避免發生速度驟降或強烈震盪不穩等問題,SSD控制晶片需要最佳化分配內部資源與處理程序,以求有效降低處理後之回覆時間。常見的解決方式有三種,各是指令優先處理設計(High Priority Queue)、擱置資料抹除程序(Erase Suspend)和平衡儲存服務品質載量(QoS Load Balancing)。
指令優先處理設計的概念在於SSD執行內部背景管理時,即使資料抹除、碎片回收或耗損平均技術等功能正在進行中,SSD都會優先處理主機下達之讀取指令,以免耽擱資料讀取時間。
擱置資料抹除程序設計原意是考量3D NAND之資料抹除時間遠遠大於過往的2D NAND,是故SSD處理讀寫指令時,3D NAND資料抹除時間過久易導致高延遲異常值產生以及整體速度不一。幸而SSD控制晶片也跟著與時俱進推出擱置資料抹除程序,假使資料抹除程序正在執行,SSD又須讀寫資料,SSD控制晶片便先把資料抹除程序分段並暫時擱置下來,改而優先處理資料讀寫指令,縮短指令延遲時間(Command Latency),最後再把已擱置的資料抹除程序處理完畢。
平衡儲存服務品質載量會有效分配處理寫入SSD的資料,適當地釋放寫入緩衝器(Write Buffer)的空間,確定寫入緩衝器擁有足夠大的空間得以跟整個SSD頻寬相搭配,並表現SSD穩定的延遲時間,謀求最佳儲存服務品質。
SSD資料讀寫速度通常會依據資料量、資料結構和SSD內部可用空間而影響整體速度表現。以圖2而言,新碟SSD的FOB(Fresh-Out-of-BOX)性能表現會最佳,隨著使用時間一久,資料持續填塞SSD,速度會逐漸趨緩,最後資料幾近占滿整個SSD儲存空間後,SSD會呈現持續性存取速度(Sustain Performance),其關乎到儲存服務品質是否良好。愈趨穩定、速度擺盪幅度愈小的持續性存取速度,意謂著儲存服務品質愈佳,所以企業儲存市場不只是在乎持續存取效能與穩定性,也關切儲存服務品質保證之資料處理回覆時間。
內部傳輸端資料保護有一套
傳輸端資料保護機制(End-to-End Data Protection)會安排在資料傳輸過程的各個傳輸端點都能執行資料偵錯,避免主機端存取到SSD錯誤的資料(如圖3)。當資料寫入SSD時,寫入路徑相繼從主機端進入PCIe IP、資料緩衝器(Data Buffer)、Flash IP而至NAND Flash,資料讀取路徑則是反向從NAND Flash回到主機端,讓資料讀寫都能在各端點重重關卡下確認資料正確性,甚至SSD控制晶片內部之隨機存取記憶體(RAM)能偵測錯誤(Soft Error)外,亦有機會更正且避免錯誤的資料傳送給主機端。
LLAP保資料遺失風險
保護機制的全面性與完整性常是企業儲存市場注重的焦點之一。一般而言,SSD內部的資料傳輸過程中,資料會經過控制晶片、快取記憶體(Cache)而至NAND Flash。倘若在資料傳輸過程間,不小心發生非預期供電不穩或不正常斷電,正在傳輸的資料卻尚未完整儲存在NAND Flash的話,資料遺失導致的後果難以想像。
為了消弭資料遺失風險,SSD控制晶片供應商過往在韌體架構上,針對資料保護機制曾經提出兩種簡易作法。因供電不穩容易導致主機端和SSD儲存裝置連結的通訊橋樑(SATA/PCIe Link)先中斷,SSD控制晶片偵測到通訊橋樑(SATA/PCIe Link)中斷時,採取的簡易作法有二,資料傳輸之主動暫停模式(Link-Loss Auto Pause, LLAP)和資料傳輸之主動沖刷模式(Link-Loss Auto Flush, LLAF),預期能及早將資料遺失的風險降至最低。
資料傳輸之主動暫停模式(Link-Loss Auto Pause, LLAP)意指SSD控制晶片偵測到主機端和SSD之間的介面通訊連結中斷,同時資料仍在進行傳輸,SSD控制晶片首要作業會改成把正在NAND Flash內寫入的Page完整寫完,接著暫停後續之傳輸行為;至於資料傳輸之主動沖刷模式(Link-Loss Auto Flush, LLAF)則是SSD控制晶片偵測到主機端和SSD之間的介面通訊連結中斷,同時資料仍在進行傳輸,SSD控制晶片會趁著有限電力盡可能地將快取(Cache)內資料沖刷進NAND Flash儲存。
百密終有一疏,這兩種作法不能百分之百保證資料儲存完整性,快取內資料可能在有限電力下難以全部儲存到NAND Flash,最萬無一失的防範方式,韌體仍然須要搭配電容而得的硬體設計,資料儲存才能零風險。
現今硬體設計上較廣為人知的作法是透過硬體電容儲存電力,即使遇到電力突然中斷,SSD韌體就可以藉著電容內電力將資料儲存到NAND Flash。最初設計SSD電路板時,就需要因應非預期斷電之風險而選用合適的電容、pFail晶片和電感(圖4)。整體設計與實測之後,在一般正常電力供電時,SSD內部會先啟動pFail晶片,通過電感而至電容充電完畢,再通知SSD控制晶片充電狀態是否完成,然後電力供應整個SSD內部系統,經電源管理晶片(PMIC)分歧出各式電壓供電給動態隨機存取記憶體(DRAM)、NAND Flash和SSD控制晶片,SSD再開始運作讀寫程序。
當SSD讀寫過程中,突然遭遇到不正常斷電時,最先偵測到供電端斷電的是pFail晶片,遂而通知SSD控制晶片停止接收主機端資料,再把快取資料寫入NAND Flash儲存,同時電容也會提供自有電力供應給SSD把資料儲存完畢,如此一來就能確保SSD內部資料完整性,資料也能獲得全面保護,免去資料遺失之風險。
正當SSD儲存裝置從消費性市場逐漸跨足企業儲存市場之時,SSD硬體和韌體搭配應用成為資料保護機制的重點,能否有此相關技術與資源的SSD控制晶片供應商亦屈指可數。
近期便有廠商推出支援PCI-e Gen3×4的八通道(Channel)控制晶片,內建雙核心CPU,資源分配更得心應手,並且具備更勝一籌的LDPC錯誤糾錯能力,強化3D NAND可靠度。搭載3D NAND BiCS3的SSD容量可達到8TB,該控制晶片所採用PCIe介面設計,傳輸頻寬遠大於SATA3.0,系統延遲也大幅減少,並提升隨機存取速度,BiCS3 SSD連續讀寫速度可達到3.2GB/3.0GB/s(圖5),隨機讀寫速度(Input/Output Operations Per Second)達到600K/600K IOPS。
尤其在資料保護機制上,PS5012除了韌體架構有信心滿足企業儲存市場之需求外,亦加上硬體設計作雙重資料保護,進一步強化產品的同時也加深客戶滿意度。