在過(guò)去的幾年里,企業(yè)數(shù)據(jù)中心開(kāi)始擁抱閃存,將其作為現(xiàn)代基礎(chǔ)架構(gòu)的核心組件。到目前為止,已經(jīng)有60%的企業(yè)組織已經(jīng)開(kāi)始使用閃存,很顯然這種趨勢(shì)勢(shì)不可擋。
盡管那么多企業(yè)IT已經(jīng)開(kāi)始使用閃存,我們也只是剛剛接觸千變?nèi)f化的存儲(chǔ)世界的表面而已。持續(xù)性存儲(chǔ)這個(gè)新興市場(chǎng)已經(jīng)形成并且被宣傳得那么天花亂墜,那么對(duì)于現(xiàn)在這個(gè)市場(chǎng),元芳,你怎么看?
要了解市場(chǎng),我們首先需要了解現(xiàn)有的市場(chǎng)是如何形成的。在過(guò)去的幾十年里,CPU性能的增長(zhǎng)幾乎是線性的,而存儲(chǔ)性能的增長(zhǎng)幾乎是持平的。NAND存儲(chǔ)的出現(xiàn)幫助打破了這種不平衡,但是很不幸地,因?yàn)閭鹘y(tǒng)存儲(chǔ)協(xié)議和軟件的存在,CPU還是未能被充分利用。持續(xù)性?xún)?nèi)存希望在企業(yè)數(shù)據(jù)中心打破這個(gè)性能的障礙,但是在現(xiàn)在這個(gè)那么不成熟的市場(chǎng),我們必須當(dāng)心那些大肆的宣傳和市場(chǎng)的迷惑性。
在我們了解持續(xù)性?xún)?nèi)存的現(xiàn)狀之前,我們需要先了解一下這個(gè)技術(shù)。換句話說(shuō),我們需要知道它其實(shí)并不是一個(gè)產(chǎn)品或者是某個(gè)技術(shù)的實(shí)施方案。簡(jiǎn)單來(lái)說(shuō),持續(xù)性?xún)?nèi)存是一種持續(xù)性存儲(chǔ),但是它有更低的延遲而且可以被用來(lái)當(dāng)內(nèi)存使用。它能像內(nèi)存一樣性能很快,也能像存儲(chǔ)一樣是永久性的。很多新興的科技都落在這個(gè)類(lèi)別中,不過(guò)對(duì)于持續(xù)性?xún)?nèi)存來(lái)說(shuō),它還必須有以下這些特性:
從程序編程的角度上來(lái)說(shuō),它要可按字節(jié)尋址的。這意味著它能像內(nèi)存一樣擁有虛擬地址范圍而不是像硬盤(pán)一樣通過(guò)邏輯塊來(lái)尋址。
使用load/store而不是read/write來(lái)訪問(wèn)數(shù)據(jù),它應(yīng)該表現(xiàn)為一個(gè)內(nèi)存設(shè)備但是又是持續(xù)性的。
有極可預(yù)測(cè)的延遲這個(gè)概念其實(shí)應(yīng)該是足夠簡(jiǎn)單的,但是當(dāng)一個(gè)設(shè)備同時(shí)是持續(xù)性?xún)?nèi)存又同時(shí)是塊存儲(chǔ)的時(shí)候事情就變得很復(fù)雜。目前最常見(jiàn)的持續(xù)性?xún)?nèi)存的商業(yè)化產(chǎn)品是基于非易失性?xún)?nèi)存(NVDIMM)的,其中有3種不同的類(lèi)型,他們分別擁有如下的特性:
NVDIMM-N是一種內(nèi)存映射的動(dòng)態(tài)隨機(jī)訪問(wèn)內(nèi)存 (DRAM),同時(shí)它還具有內(nèi)嵌的閃存來(lái)作為永久性存儲(chǔ)。你可以把它想象為被內(nèi)嵌的閃存所支持的DRAM。當(dāng)大部分人提到NVDIMM的時(shí)候,他們講的是這種類(lèi)型的設(shè)備。
NVDIMM-F是一種內(nèi)存映射的閃存。它和固態(tài)硬盤(pán)有點(diǎn)相似,都是以塊的形式進(jìn)行讀取的,但是它能通過(guò)內(nèi)存通道來(lái)避免硬盤(pán)的延遲。
NVDIMM-P是內(nèi)存映射的DRAM和閃存的一種結(jié)合,結(jié)合了兩者的優(yōu)勢(shì)。
如果你覺(jué)得這些分類(lèi)還不夠復(fù)雜的話,那么我們還有非易失性?xún)?nèi)存NVMe,它和持久性?xún)?nèi)存又有巨大的差別。
將數(shù)據(jù)放在離CPU越近的地方將會(huì)帶來(lái)訪問(wèn)數(shù)據(jù)的越高性能以及最大化CPU的使用率。像SAP HANA這種系統(tǒng),或者高性能的計(jì)算和大數(shù)據(jù)應(yīng)用程序?qū)@方面的需求將越來(lái)越大。但問(wèn)題是這些應(yīng)用程序都是設(shè)計(jì)在以塊存儲(chǔ)來(lái)支持?jǐn)?shù)據(jù)持續(xù)性的基礎(chǔ)上的。要解決這個(gè)問(wèn)題,我們可以重構(gòu)應(yīng)用程序或者在持續(xù)性?xún)?nèi)存和應(yīng)用程序之間插入一個(gè)特定的文件系統(tǒng)。要真正地享受持續(xù)性?xún)?nèi)存帶來(lái)的好處,這些軟件必須要進(jìn)行重新設(shè)計(jì)才可以。
現(xiàn)在讓我們來(lái)看看市場(chǎng)上的領(lǐng)跑者Intel 3D XPoint吧。當(dāng)因特爾和鎂光剛開(kāi)始推廣他們的3D XPoint——現(xiàn)在改名為Optane了——的時(shí)候,它被吹捧為比NAND快1000倍,更加耐用,能達(dá)到DRAM的10倍密度。第一個(gè)市面上的Optane產(chǎn)品實(shí)際上是基于PCI的緩存設(shè)備,用來(lái)加速現(xiàn)有的硬盤(pán),而并不是真正的持續(xù)性?xún)?nèi)存。這意味著廠家并沒(méi)有做到他們宣傳時(shí)候說(shuō)的那樣。但是,我們還是可以期望在將來(lái)英特爾會(huì)對(duì)其Optane DIMMs進(jìn)行改變。因特爾的3D XPoint并不是市場(chǎng)上唯一的玩家,三星也有自己定制化的Z-NAND;惠普企業(yè)也有自己的非硅類(lèi)似RAM的憶阻器技術(shù)。
要讓任何持續(xù)性?xún)?nèi)存技術(shù)真正騰飛,還需要服務(wù)器廠家和操作系統(tǒng)制造者的強(qiáng)力支持才行。戴爾、惠普和超微這些公司都在計(jì)劃或者已經(jīng)支持持續(xù)性?xún)?nèi)存,我們可以推斷這個(gè)技術(shù)的發(fā)展還是會(huì)停留在現(xiàn)有階段。從內(nèi)核版本4.2之后的Linux操作系統(tǒng)已經(jīng)對(duì)持續(xù)性?xún)?nèi)存有很強(qiáng)的支持,同時(shí)Windows Server 2016也可以支持了。兩者都有自己的持續(xù)性?xún)?nèi)存操作系統(tǒng)以及眾多的函數(shù)庫(kù)來(lái)支持程序的開(kāi)發(fā),以對(duì)持續(xù)性?xún)?nèi)存進(jìn)行直接的訪問(wèn)。
就像很多新興技術(shù)一樣,其中的成本都是一個(gè)很大的因素。NVDIMM和NAND閃存的生產(chǎn)過(guò)程有一些重疊的地方,因此它可能會(huì)比Optane DiMMs要便宜一些。但是,要接納任何其中一種技術(shù),企業(yè)都需要為此花費(fèi)每GB 1.50到2.00美金的價(jià)格。持續(xù)性?xún)?nèi)存目前還在初始階段,因此最早也只能等到2019年才能看到接納這個(gè)技術(shù)的大趨勢(shì)。