在過去的幾年中,許多存儲技術和市場都處于醞釀狀態,最近企業級存儲系統開始使用SCM存儲級內存技術的消息越來越多,與以往不同的是,SCM不只是用作讀寫緩存,而且還用在持久存儲層。那么這項技術將對存儲行業產生多大的影響呢?
?
SCM介于DRAM和NAND之間
SCM介質本身比NAND SSD快,比DRAM內存要慢,因為還支持字節尋址,所以寫入的時候不用先擦除整個塊,大大減少寫放大,而且延遲會低很多,壽命很長,相比NAND有許多先天優勢。
簡單來講,SCM 就是DRAM 與SSD 的中介,一種高速讀寫的非揮發性記憶體技術,用來改善系統整體I/O 效能。
在理想中,它是一種速度能與DRAM 媲美,但成本逼近傳統硬盤的新型儲存技術。當然目前大概只有讀取速度能與DRAM 比肩,寫入速度仍有差距,且在SSD 的單位成本已逼近傳統硬盤的境況下,SCM 還沒有足夠的性價比做為底層儲存裝置。
在現有AFA存儲系統中,為追求NVMe SSD的極致性能,軟件棧本身帶來的時延已經無法忽略 。
相比SSD,SCM介質的訪問時延有幾個數量級的差異(從數百微秒級到數百納秒級),軟件棧時延的問題將更為凸顯。如傳統的從應用到內核的軟件棧對功能的分解層級清晰,對于慢速的存儲介質是合適的,但對于SCM這樣的超高速介質則成為了速度的瓶頸。
基于同樣的原因,網絡時延在SCM系統中的占比也成為了影響系統時延的主要矛盾。如何構建高速、穩定的網絡,成為了能否在系統中充分利用SCM介質性能的關鍵因素。
SCM相對于NAND的優勢
存儲級存儲器SCM能夠如同NAND閃存一樣保留其內容的能力,也能有像DRAM一樣的的速度,這使得它最終將取代閃存作為首選的高速存儲介質。
由于閃存的固有設計,SCM在這塊要好很多。性能問題和閃存延遲的最大原因之一是使用垃圾收集以滿足新寫入。將數據寫入閃存驅動器時,無法覆蓋舊信息。它必須在其他地方寫入一個新數據塊,并在磁盤I / O暫停時刪除舊文件。
·非常低的延遲
·更高的耐久性
·類似于DRAM的字節尋址
基于NVMe/PCIe的字節尋址的非易失性存儲打開了存儲架構創新的新篇章。SCM通常被用作擴展的Cache或者最高性能Tier的持久化存儲。
所以大多數情況下,SCM的定位是補充NAND的空缺,而不是取代NAND。HPE宣布將采用英特爾的Optane作為DRAM cache的擴展,從HPE 3Par 3D Cache的測試數據中可見,時延降低了50%,而IO提升了80%。
SCM 技術目標及潛力
SCM技術的目標及潛力都在于能弭平DRAM 與SSD 讀寫速度的鴻溝。理論上,現代資訊系統由于內裝置性能的落差徒增不少功耗,資料往返所耗費的時間,成為整體性能的短板,所以在處理器與記憶體之間設有暫存器及快取等,而引入SCM 做為記憶體緩沖或SSD 快取,也都是為了解決這樣的問題。
SCM的兩種用法
大體上SCM有兩種用法:一種是用作緩存,一種是用作持久存儲。
①HPE把SCM用作緩存,從實現來看,這種方式的讀寫緩存實現起來相對比較簡單。
據說3PAR和Nimble的延遲能保持在300μs微秒以下,絕大部分的IO延遲能維持在200μs以下。
HPE在3PAR里用了Optane當做緩存用,結果延遲比之前降低了兩倍,還說比DELL EMC的用了NVMe SSD的PoweMAX還要快50%。
②大部分的SCM現在都是用作緩存,跟HPE不一樣,DELL EMC的PowerMAX是把SCM用作了存儲層。
PoweMAX用一個低延遲的NVMe - oF連接到服務器,因為有了SCM,所以數據訪問會快一點 。
在PowerMAX的實現中,每個端口都會被充分利用,每個端口有自己單獨的隊列,能處理更多IO,PowerMAX能分別為讀、寫和小的塊請求、大的塊請求,各種負載提供獨立的隊列。
而且不同的端口可配置不同的控制器,RAID會更高效,比如當硬盤故障需要重構時,兩個控制器可以同時參與。以往,單控制器重構一塊7200轉的硬盤大概需要7-8個小時,而雙控制器操作時,只需2.5個小時,時間縮短了三倍。
SCM大爆發成存儲行業趨勢
從長遠來看,NVMe和SCM都是邁向新數據中心架構的關鍵步伐,我們建議企業技術人員在2020年前,做一些NVMe和NVMe-oF方面的技術更新。在2020年之后,企業技術人員應該圍繞可組合的數據中心架構規劃技術更新路線。
當前存儲技術和市場都處于醞釀狀態,SCM有時也被稱為“持久內存”,為了充分利用SCM,業界必須在新的接口上達成一致,如料想不錯,2018年持久內存SCM將迎來大爆發,Optane和3D XPoint開始發揮作用,頂級存儲OEM將保持穩定。
持久內存SCM大爆發,雖然應用程序可以像處理現有系統內存一樣對待SCM,但是使用持久內存也會帶來額外好處,即能有效地將SSD驅動存儲功能與內存總線DRAM語義融合起來。
為了充分利用SCM,業界必須在新的接口上達成一致,并重新架構應用程序以利用它們。存儲網絡行業協會(SNIA)是存儲行業的標準機構。多年來,SNIA始終在圍繞著持久內存制定驅動標準,并且這些標準已經開始成熟。
英特爾公司已經將這些新興標準引入到一個用于處理持久性存儲類內存的參考實踐中。甲骨文公司也支持存儲類內存規格。
英特爾今年將會正式推出DIMM插槽的3D XPoint產品,官方稱之為持久內存(Persistent memory,PM)。英特爾稱,3D XPoint將可以幫助數據中心運營者、開發者跨越容量及性能上的歷史性障礙,它將改變應用及系統的設計規則,扭轉50多年來內存小、貴而且不穩定的傳統思路。
微軟和Linux社區都采用了英特爾的PEM庫,并將其集成到SCM產品中。微軟在2017年底開始在Windows Server上支持SCM,并在近期通過更復雜的支持來測試下一版本Windows Server。此外,微軟現在也支持SQL Server 2016 SP1技術,以增強性能。
SCM目前的發展難點
SCM每字節成本比閃存貴四倍左右。目前只有兩家供應商生產SCM:英特爾和三星。
由于閃存的固有設計,存儲級內存的延遲要低得多。閃存存在性能問題和延遲的最主要原因之一是,為了滿足新寫入而使用的垃圾收集。
數據寫入到閃存驅動器時,它無法覆蓋舊信息。它必須將一個新的數據塊寫入到別處,以后等磁盤I/O處于呆滯時刪除舊文件。
從SATA SSD,SAS SSD到PCIe SSD,NVMe SSD,主要經歷了標準泛濫和統一兩次技術變革,PCIe SSD是閃存創新的春秋戰國時代,在語言和通信上各自有一套標準,NVMe SSD則是統一文字標準的秦國盛世。
然而要發揮SCM的優勢,對現有計算機系統軟硬件架構提出了更大的挑戰,每次產品的變革都凝聚了技術的變革。這些變革包括持久化內存的數據結構,事務技術,硬件架構,編程工具和軟件堆棧等各方面。
結尾:
今年將是業界在內存計算、大數據庫和分析應用程序中開始采用SCM作為其架構核心部分的一年。對于主流應用來說,它們需要更長的時間才能享受到SCM帶來的好處,但最終這肯定能夠成為現實。
SCM克服了NAND閃存的局限性,能夠像NAND閃存那樣保存其內容,兼具DRAM的速度,最終將會取代閃存成為首選的高速存儲介質,但這不會是一朝一夕的事情。
評論