SCM新介質未來方向思考和探討
Storage Class Memory (SCM)是非易失性內存,該類介質的存取速度略比內存慢,但是遠快于NAND類介質。本文對該類介質的特性及使用方法做了簡單總結和介紹。
目前在研的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提出了憶阻器內存技術,并計劃在新型計算機架構The Machine中使用,未來成為取代SRAM、DRAM形成通用內存(Universal Memory),主流的SCM技術如下:
MRAM(Magnetic RAM)磁性隨機存儲器通過電流磁場改變電子自旋方向來表示不同數據狀態。比較適用于CPU的高速緩存(如L2 Cache),代表廠商為Toshiba和Everspin。
NRAM(Nantero’s CNT RAM)碳納米管隨機存儲器采用碳納米管作為開關,控制電路通斷表示不同的數據狀態。由于碳納米管尺寸非常小并且具備極強的韌性,因此NRAM密度可以很高、壽命也比較長,理論功耗也比較低。
隨著大數據時代的到來,以及多核、分布式、內存計算、云等技術的不斷發展,應用場景對存儲系統的要求越來越高,SCM技術的出現為存儲系統的發展提供了新的路徑。在未來,新型非易失存儲介質將進一步在計算機存儲系統中嶄露頭角,特別是當前Intel已經推出了它的SCM技術——3D XPoint,而針對以此為代表的SCM介質在系統級的應用,仍有很多挑戰性的問題需要深入研究,這些研究,將可能從以下幾個方面展開,特此交流探討,以啟發我們對未來存儲系統以及未來上層應用的思考(本文中討論的研究方向不涉及介質自身的研究和芯片級別的研究):
1、基于SCM的存儲系統的組織結構方法研究
當前存儲系統的組織結構是專為易失、讀寫差異小、幾乎無壽命問題的DRAM以及傳統的硬盤、NAND等存儲介質而設計的,這種系統組織結構對于SCM而言是不適用的,無論是當前的內存管理方法、訪問接口設計,還是I/O請求調度等都沒有充分考慮SCM的缺點,比如典型的SCM介質PCRAM(相變存儲器),其壽命、性能、讀寫不均衡等問題,都會導致當前技術不能夠充分發揮介質的特性,同時還可能會將介質的弱點放大,不利于構建面向未來大數據和內存計算環境的高性能低功耗、大容量的存儲系統。
如上所述,從SCM、DRAM、NAND Falsh等多種介質的優缺點出發,研究SCM在異構混合存儲系統中的組織方法,合理組合多種存儲介質,構建多介質的異構混合存儲環境,建立可以充分發揮各存儲介質特性的體系結構,解決多介質異構混合存儲時的系統優化設計問題,實現新型非易失存儲器與現有存儲技術和系統的完美融合。
2、基于SCM的存儲系統的訪問方法研究
傳統存儲系統中的訪問方法是立足于DRAM、NAND Falsh等設計的,它將不再適用于具有可字節編址和位修改等特性的SCM和DRAM,部分SCM介質的讀寫不對稱使其難以按流水線方式執行讀寫混合I/O請求,且當前SCM與現有內存系統在訪問特性上有顯著差異,與此同時SCM支持本地修改等異于NAND Falsh的特性也使得當前外存領域的訪問方式需要優化和改進。
研究基于SCM存儲系統的多接口適配的訪問方法,以匹配新型非易失存儲器的特性,從而隱藏多介質在訪問粒度、延遲、帶寬及壽命等方面的差距,提升存儲系統的性能。未來研究將可能包括:
①研究SCM在內存環境中字節粒度尋址的讀寫訪問方法,充分挖掘SCM通道間、芯之間以及芯片內部的多層次訪問并行性;
②研究在外存環境中塊粒度尋址的高效讀寫訪問方法,并遵循業界針對非易失存儲器的接口標準(如NVMe協議);
③優化訪問路徑,減少系統I/O調用給性能帶來的影響;
④利用SCM的讀寫特點來優化讀寫操作和流程,以此減少訪問延遲;
⑤立足SCM特性優化系統中的數據結構,減少對SCM無用的寫操作和寫入數據量,以提升系統性能和壽命。
3、基于SCM的存儲系統數據可靠性研究
隨著工藝制程的降低,非易失存儲器的存儲單元不斷變小,當SCM采用更小制程、提供更高存儲密度和更大容量時,其存儲單元的錯誤率隨之升高.同時,SCM存儲單元的可擦寫次數有限(108~1012),頻繁的擦寫會導致芯片單元很快到達壽命極限.這些將使存儲系統面臨數據發生錯誤、損壞以及丟失的風險,對數據可靠性造成了極大的威脅。
未來的研究將立足于SCM的特性,通過多種途徑來保障數據的可靠性,研究將可能在以下幾個方面展開:
①研究降低當前已有的糾錯機制(軟硬件)所需的開銷;
②研究可配置、適應數據集屬性的組合校驗算法,即區別不同屬性的數據集,根據其所需的可靠性需求采用不同糾錯能力和開銷的校驗算法,以平衡其糾錯強度和校驗開銷;
③研究新的通過減少寫操作次數、寫入數據量來提升SCM的壽命的策略;
④研究新穎、可用范圍廣的磨損均衡策略,在現有磨損均衡基礎上進行創新、優化,設計出可應用于不同需求環境下的磨損均衡策略,提升SCM壽命;
⑤研究基于SCM的壞塊復用和數據容錯機制,進一步增加SCM的使用壽命,提高數據可靠性;
⑥研究數據一致性的保障和維護,根據存儲系統數據一致性需求、訪問接口粒度等因素,設計低開銷、多路徑的數據更新策略和數據一致性維護方法。
4、基于SCM的存儲系統數據安全性保障研究
由于SCM具有非易失性,即當系統斷電時,SCM存儲的數據并不會消失,從而通過惡意修改數據所導致的執行狀態可能是持久的,即使設備斷電,系統也會存在冷啟動攻擊的風險.因此非易失特性會使系統被入侵和數據被盜竊的風險增大.所以當采用SCM構建內存子系統時,需要考慮數據的安全性保障機制。
對此,未來該領域還需要研究針對操作系統的加密機制,通過加密模塊對寫入SCM的數據進行加密,防止存儲數據被竊取或泄密的情況發生;研究利用訪問權限控制等策略來保證數據的訪問安全性;特別針對PCM中的系統關鍵數據,需采用強度更高的加密、上鎖等算法,防止惡意的入侵修改所引起的系統安全問題,保障基于SCM的存儲系統的數據安全性。
5、基于SCM的存儲系統軟件優化研究
由于SCM異于傳統存儲介質的特性,使得SCM存儲技術不能良好地兼容當前存儲系統的內存管理、文件系統等軟件架構?;赟CM的存儲系統,在軟件層仍然需要改進,以進一步優化和提升存儲系統的性能。
未來基于SCM的存儲系統軟件優化研究將可能包括:
①結合各存儲介質的特性,基于SCM存儲管理架構,研究冷熱數據識別算法和數據熱度分級管理等軟件策略,降低存儲系統中的讀寫操作開銷,實現負載均衡;
②立足于SCM在存儲系統中的應用場景(如統一內外存),針對SCM支持本地修改、位修改和可字節編址等特性,研究適應于SCM的文件系統,從而提升文件系統乃至存儲系統的性能;
③研究基于SCM的內存分配機制及其優化策略,從操作系統層入手面向文件系統、虛擬內存等進行優化,降低頁面分配等多種內存管理開銷,充分地利用SCM的非易失性提高系統性能;
④研究設計新的軟件調度算法,通過調度策略的設計和優化,達到系統性能的提升。
6、基于SCM的存儲硬件原型系統的研究
由于真正的SCM芯片還沒實現市場的量產,目前也就只有Intel的ColdStream問世,因此現有的研究還面臨著幾乎沒有可用的基于SCM的真實硬件原型平臺的尷尬局面,絕大多數研究均是在軟件模擬器上進行的,當前比較成熟的模擬器有PCRAMsim、Simics、M5和DRAMsim以及近些年備受學者青睞的全系統模擬器GEM5。
由于SCM技術研究還處于起步階段,其應用場景和價值尚未完全開發實現;而且目前市面上的主流存儲器仍然不是SCM,適合于當前存儲環境的大容量、高性能的SCM物理芯片稀貴,這些都導致當前系統級的研究幾乎全都是基于軟件模擬器進行的,從而無法獲取最真實的實驗數據以進行更加專業、深入的研究。
利用SCM物理芯片,實現真實的存儲硬件原型系統,包括基于SCM的內存原型系統和外存原型系統,甚至于搭建基于SCM的專用硬件系統,比如基于SCM的DIMM條,基于SCM的全新硬件框架,基于SCM的高速通信通道等等,以解決目前相關研究沒有原型平臺的尷尬局面,通過在平臺上獲得最真實的數據,展開更有說服力、有數據依據的相關研究,將對當前內/外存儲系統架構的研究工作起到積極作用。
7、基于SCM的事務性存儲系統研究
事物存儲技術作為存儲領域最為關鍵的技術之一,幾乎被應用于所有數據庫系統與文件系統。隨著閃存等介質的廣泛應用,存儲體系結構正面臨著較大的變革,在這種背景下;因此在SCM技術的到來的背景下,研究基于SCM的事務性存儲系統比較迫切。
針對目前SCM介質應用于事務處理技術,如下幾個問題還需要進一步探索和研究:
①事務存儲接口:如何提高實用性且支持不同特性事務的設備接口;
②數據可用性:如何高效迅速的進行故障恢復;
③系統可擴展性:分布式環境下,如何利用SCM提供高效的事務處理,多核環境下的分布式系統中如何提供更加優秀的日志等技術能力;
④數據可靠性:如何保證新介質中數據的可靠性持久化能力等等。
8、基于SCM的上層應用研究
在上述研究內容的背景下,顯而易見可以看出SCM的多種優勢都將會給未來的存儲系統以及計算機其他技術領域帶來變革,那么,面向SCM技術的內存數據庫、面向SCM技術的實時分析應用、面向SCM技術的內存計算技術、面向SCM的大數據服務等等,都將可能會因為SCM的到來,有了新的機會和變革窗口。
這些領域的研究,最直接的,比如考慮將當前的存儲介質全部換成SCM后,在性能得到收益的同時,應該如何應對新的問題,將是未來的研究重點。
9、結語
綜上所述,面對新應用環境的需求,思考如何在存儲系統領域的設計中充分利用SCM的優勢,并通過新的機制和策略來克服它們的劣勢,與現有存儲系統融合并獲得更加優秀的性能,從而最大限度地匹配以數據為中心的發展趨勢和面向大數據背景的上層應用服務,將是未來的主要工作之一。