精選

[企業儲存觀察室] 持續型記憶體與企業儲存

前些時候有讀者問我關於持續型記憶體 (Persistent Memory, PM) 的事,因為筆者之前還沒有特別去研究這項議題,所以這次就搜集整理了一些資料整理出來分享,算是現學現賣! 儲存與成本間的關係取決於存取的效能;效能越快成本越高,成本越高容量就會越小,離運算元(處理...

2019/09/26

[企業儲存觀察室] 持續型記憶體與企業儲存

前些時候有讀者問我關於持續型記憶體 (Persistent Memory, PM) 的事,因為筆者之前還沒有特別去研究這項議題,所以這次就搜集整理了一些資料整理出來分享,算是現學現賣!

儲存與成本間的關係取決於存取的效能;效能越快成本越高,成本越高容量就會越小,離運算元(處理器)就會越近。在此之前,企業資料中心已經有幾個不同的儲存層級:處理器內含的快取記憶體 (cache)、DRMA 主記憶體 (Maim Memory, MM)、NAND 快閃記憶體(快取擴充或 SSD),傳統儲存媒體,磁碟或碟帶以及雲端儲存。

圖片來源:Intel

儘管目前已經有了傳輸速度更快的 NVMe,但 DRAM 的資料存取速度,仍然是所有儲存層級中最快的,與使用 NVMe 的 NAND 間還是有著明顯的差距。題外話,這個架構在傳統電腦上應該很難改變,只是不曉得在量子電腦的世界是否也會是如此?
延伸閱讀:「QLC 快閃記憶體在企業儲存應用上的挑戰

DRAM 與其它儲存層級間最大的不同之處,在於保存資料的持續性。DRAM 必須依賴電力來保存資料,一旦電力中斷,儲存在 DRAM 中的資料也隨之消失。因此從可用性的角度來說,為什麼某些裝置,如儲存系統的快取記憶體,必須要有電池備援,就是為保留儲存在 DRAM 裡的資料一段時間。在此之前,磁碟、磁帶和 NAND 快閃記憶體都可以算是持續型儲存媒體的產品。
而現在,在磁碟/固態硬碟和 DRAM(快取)記憶體間出現了一個新的儲存層級。它通常稱為儲存級記憶體 (Storage Class Memory, SCM) 或持續型記憶體,它包括使用快閃記憶體和其它持續型媒體製成的硬體。
另一個題外話, 目前筆者看到的資訊沒有指出為什麼會有 SCM 和 PM 兩種不同的名稱?合理的推測是用在伺服器上的叫 PM,用在儲存上的叫 SCM,但指的都是同樣的概念/技術/產品,例如以下將會提到 Intel 的產品就可以同時用在伺服器和儲存上。

依據產品特性與其在記憶體結構中的位置,有許多技術可以被歸類為 SCM/PM。簡單來看 SCM/PM 就是在主記憶體與主儲存之間,多了一個層級的儲存位置。換句話說,SCM/PM 要比 DRAM 慢,但成本更低。同時也要 比 NDNA 快閃記憶體快,但成本更高。
且不管使用的技術,就邏輯上看,這個多出來的儲存層級,效能和成本都必須要介於記憶體與儲存才算合理。
延伸閱讀:「2019 NVMe 產業生態概況

儲存級記憶體/持續型記憶體正被用來擴展現有記憶體架構的效能,而且可以讓儲存效能接近到 200μs 的回應時間與 5 百萬個 IOPS。那麼,SCM/PM 將如何影響企業儲存?如同前面我們所提到的,SCM 和 PM(應該要)可以彌合 NAND 與更快更昂貴的 DRAM 之間的價格和效能差距。現在如果就要預測 SCM/PM 在未來是否會取代 NAND?時間上是稍微太早了點。

有人認為這並不會發生,DRAM、SCM/PM 與 NAND 將會各適其位,問題在於如何找到各自之間的適當位置,並加以充份利用。但另一方面,如果我們回顧過去幾年間,磁碟、NAND/SSD 與快取記憶體間的演變,一旦(近似)價格甜蜜點出現時,回應時間更快、效能更好的 SCM/PM 取代 SSD,也並非沒有可能的事。
不過就現階段而言,DRAM/SCM&PM/NAND 繼續都還各自的位置上發展。

Intel 基於 3D XPoint 技術的 Optane 是 SCM/PM 產品之一,在各種 SCM/PM 技術中,它似乎是最具市場成功潛力的。Intel 在 2017 年推出 Optane DC SSD,現在也提供 Intel Optane DC 持續型記憶體模組,可以直接插入伺服器標準的 DIMM 插槽,與 DRMA 模組一起運作。Optane DC DIMM 有機會成功的原因在於 Intel 在第二代的 Xeon 可擴展處理器中,內建 SCM/PM 技術的支援能力,所以使用這個處理器的伺服器就可以利用 SCM/PM 技術。

支援 Optane DC DIMM 處理器的記憶體控制模組可以在兩種不同的模式下運作:Memory 模式與 App Direct 模式。

Memory 模式是無縫整合的,因此不需要改變應用的程式碼。它會把伺服器中的 DRMA 視為 Optane DC 記憶體的讀寫快取,因此伺服器就可以大量的、較 DRMA 成本更低的 SCM/PM 來搭配較少量的 DRAM,配對成大量的有效記憶體,來處理更大的資料集,如記憶體內運算(in-memory computing)。

App Direct 模式適用於為 SCM/PM 特別開發的應用,它可運用系統中快慢兩種不同的記憶體。使用 DRAM 滿足應用對低延遲的要求,把大型資料集或大量的資料儲存在 SCM 中。又或者 App Direct 模式也允許透過檔案系統的 API 直接存取 SCM/PM,把它當成小型、非常快速的 SSD。

大型企業軟體的支援非常重要。SAP HANA 已經支援 Optane,因為大量的資料仍然保存於記憶體中,因此重啟後載入資料的速度會非常快。Oracle 也已經展示 TimeTen 記憶體內資料庫與 Exadata 對 Optane 的支援。VMware 也把對 Optane 的支援加入 vSphere 的平台。

在儲存系統上,如果要發揮 Optane 的全部優勢,供應商勢必要修改其軟體,來優化系統的整體儲存效能,而大多數供應商還沒有這樣做。所以儘管已經有一些儲存系統使用 Optane DC SSD,但大多數系統供應商並不急於部署 Optane。
整體看來目前 Optane 仍然卡在雞與雞蛋問題上,Optane 的價格必須要低於 DRAM 才行,但在沒有大規格部署的情況下,要達到這個價格點是不可能/賠錢的。

IBM 的磁阻式 RAM (Magnetoresistive Random Access Memory, MRAM) 是另一種 SCM/PM 的技術,這個技術也開始在企業中部署,但同樣也是處於早期的階段。MRAM 與 DRAM 的速度一樣快,而且有斷電時資料不會丟失的優勢,但目前也一樣存在著成本過高的問題,因此它主要應用於利基市場。IBM 在 FlashSystem 陣列中使用 MRAM,用它來取代 SSD 上的 DRAM,而不是取代 NAND 快閃記憶體。