SCM和NVM是什麼鬼,與NVMe是什麼關係?
SSD存儲介質和介面技術一直處於不斷向前發展和演進的過程。SSD分為幾個階段,第一個階段是SATA SSD或者SATA/SAS SSD為主導,這個階段介質以SLC和eMLC為主。第二個階段是PCIe SSD,PCIe SSD最大的問題是不標準,很多私有化協議各自為政,基於FTL位置不同主要分為Host based SSD和Device base SSD。
直到NVMe時代才統一了介面和協議標準,NVMe主要的產品形態有三大類。第一類是和SATA/SAS SSD兼容的U.2,第二類是和PCIe兼容的SSD卡,第三類消費級產品常用的M.2。
縱觀SSD發展,NVMe的出現雖然對介面標準和數據傳輸效率上得到了跨越式的提升,但是存儲介質目前主流還是基於NAND Flash實現。那再往前發展,存儲介質應該怎麼發展呢?
IntelOptane(傲騰)系列硬碟通過實踐證明NVMe和SCM(Storage Class Memory)配對時才會顯現更大的存儲優勢,在很多時候也把SCM成為VNM,那時數據存儲將會迎來重大飛躍,NVMe的未來屬於SCM。它將建立在行業協議標準而不是專有技術之上。
實際上,Intel/Micron發布3DX(PRAM)首次將NVMe和SCM結合,這個我在「從Intel Optane系列Coldstream和AEP談全快閃記憶體性能優化」文章中有詳細介紹,之後各大廠家都加大了SCM介質的投入。Intel稱Optane Memory為Apache Pass(AEP),為高性能和靈活性而設計的革命性的SCM。稱Optane NVMe SSD為Clodstream,為世界上最快、可用性和可服務性最好的SSD。
3D XPoint(包括Apache Pass DIMM和Clodstream SSD)位於DRAM和NAND之間,填補DRAM和NAND之間的性能和時延GAP。
SCM同時具備持久化和快速位元組級訪問的特點,前幾天,Intel正式發布了Optane SSD 900P,分為280GB和480GB兩種容量版本,承諾900P比友商NVMe SSD競品快7倍,最高連續讀取速度2500MB/s,連續寫入速度為2000MB/s。
同時,SCM具備Persistent Memory介質和NVM(Non-VolatileMemory)介質特性。更重要的是SCM沒有NAND Flash順序寫入和寫前擦除的約束,操作過程更簡單;SCM介質的在壽命和數據保持能力方面的表現也遠超NAND Flash。基於這些特點,業界普遍認為SCM會成為顛覆存儲系統設計的新一代介質,並優先應用於性能和可靠性要求較高的場景。
Intel/Micron發布3DX(PRAM)之後,各大廠家都加大了SCM介質的投入,從上圖可見,SCM的目前的主要應用都是聚焦於填充SRAM和Storage之間的容量和性能GAP。目前在研的SCM介質種類繁多,但是比較主流的有PCM、ReRAM、MRAM和NRAM四大類產品。
PRAM(Phase-Change RAM)利用特殊合金材料在晶態和非晶態下的導電性差異來表示0或者1數據。其優點是結構簡單,容易實現大容量、同時具備低成本等特點。
主要用於Cache加速和Cache內存應用,考慮到PRAM的成熟度、對熱度敏感和寫穿透等因素,在應用中一般搭配DRAM或SRAM一起使用,在填補RAM和Storage之間的性能、容量差距的同時,形成具有分級能力的高速Cache應用資源池;其典型代表為Intel的3D Xpoint。
ReRAM(Resistive RAM)通過在上下電極間施加不同的電壓,控制Cell內部導電絲的形成和熔斷的狀態對外呈現不同的阻抗(憶阻器)值來表示數據;目前典型代表廠商為HPE和Crossbar。
HPE在2015年Discover Conference會議中就提出了憶阻器內存技術,並計劃在新型計算機架構The Machine中使用,未來成為取代SRAM、DRAM形成通用內存(Universal Memory),主流的SCM技術如下:
MRAM(Magnetic RAM)磁性隨機存儲器通過電流磁場改變電子自旋方向來表示不同數據狀態。比較適用於CPU的高速緩存(如L2 Cache),代表廠商為Toshiba和Everspin。
NRAM(Nantero』s CNT RAM)碳納米管隨機存儲器採用碳納米管作為開關,控制電路通斷表示不同的數據狀態。由於碳納米管尺寸非常小並且具備極強的韌性,因此NRAM密度可以很高、壽命也比較長,理論功耗也比較低。
下面以Intel Optane系列簡單談談SCM現階段的應用情況。
首先介紹下SCM SSD磁碟,如Intel推出的OptaneP4800X系列Clodstream SSD,雖採用NVMe協議但沿用NVMe Block介面,相比現有Flash SSD,在架構上SCM SSD也有很好的繼承性,再加上SCM SSD有效避免了垃圾回收帶來的性能衰減問題,所以主要應用在數據緩存和高性能主存場景。
元數據緩存:作為AFA產品的元數據緩存,配合DRAM,實際上實現了Memory SCM SSD的兩級緩存,突破內存容量瓶頸,增加數據緩存容量;
數據緩存:作為用戶數據的加速層,提升典型應用場景下的性能體驗;
數據主存:作為用戶數據的存儲,提供比Flash更高的性能存儲系統。
接著談談SCMDIMM形態產品,如Apache Pass DIMM,它是基於內存訪問語義(Load/Store)的SCM產品,這種形態可以提供與內存接近的訪問時延很低,並提供相對內存更大的容量和數據持久化能力,通常用在如下場景。
持久化內存:作為數據持久層,對數據一致性要求很高的持久化系統,同時兼顧數據可靠性和數據讀寫性能。
內存資料庫:作為數據In Place空間,提供數據運行和持久化存儲空間。
系統日誌卷:作為日誌卷,例如,在HPC系統中通常採用Checkpointing實現對計算中間狀態進行持久化保存,這是一個耗時、耗系統吞吐量的過程。
如果採用SCMDIMM實現日誌卷實現數據持久化,則可以大大提升系統可靠性、性能,同時減少處理時間。
簡單總結下,從SATA SSD,SAS SSD到PCIe SSD,NVMe SSD,主要經歷了標準泛濫和統一兩次技術變革,PCIe SSD是快閃記憶體創新的春秋戰國時代,在語言和通信上各自有一套標準,NVMe SSD則是統一文字標準的秦國盛世。然而要發揮SCM的優勢,對現有計算機系統軟硬體架構提出了更大的挑戰,每次產品的變革都凝聚了技術的變革。這些變革包括持久化內存的數據結構,事務技術,硬體架構,編程工具和軟體堆棧等各方面。
在互聯網路方面,現有的跨CPU間內存訪問受限於網路時延,無法充分發揮SCM介質持久化的特點,Gen-Z標準的出現使得SCM可以獨立以Gen-Z介面接入Gen-Z匯流排,各CPU以納秒級的時延訪問共享SCM介質從而更好的發揮SCM的性能。
※詳解Kafka:大數據開發最火的核心技術
※關於NVMe over Fabric協議和IO流程
TAG:架構師技術聯盟 |