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