許山白
基于馮諾依曼結(jié)構(gòu)的計算機,從根本原理開始就和存儲器的性能息息相關(guān)。即使經(jīng)過如此多年的發(fā)展,為了解決存儲方面的瓶頸,計算機仍然不得不使用寄存器、緩存、內(nèi)存、硬盤這樣的多級緩沖存儲結(jié)構(gòu),以達到滿足性能需求并降低成本的要求。去年,英特爾和美光宣布了全新3D XPoint存儲技術(shù),能夠在很大程度上解決存儲系統(tǒng)中硬盤和內(nèi)存速度差異太大的問題。和目前的存儲器介質(zhì)相比,3D XPoint除了工藝和部分結(jié)構(gòu),在讀寫原理和特性上有了革命性的進步,今年也許會是首款商業(yè)化的非易失性超高速、長壽命存儲設(shè)備,因此值得我們重點關(guān)注。
性能鴻溝——目前存儲器存在的一些問題
存儲器的性能是PC設(shè)備上目前的短板。這一點從很多用戶由HDD更換為SSD后,感覺像是“換了一個電腦”就能體現(xiàn)出來。HDD目前的傳輸速度往往在200MB/s以內(nèi),尋道時間約為10ms級;SSD傳輸速度為數(shù)百MB/s到幾GB/s,尋道時間約為0.1ms以內(nèi);更快的內(nèi)存帶寬為幾十GB/s,延遲時間低至ns級。再向上還有更高速的緩存、寄存器等設(shè)備。
DRAM:易失性難以解決
拋開和處理器緊密相關(guān)的高速緩存和寄存器不說,先來看內(nèi)存和外部存儲這兩個級別。目前我們使用的內(nèi)存主要是DRAM。DRAM的核心問題是易失性,其它方面的表現(xiàn)優(yōu)秀——比如在性能上DRAM的延遲很低(納秒級別)、帶寬較為充裕;壽命方面由于原理所致,DRAM壽命很長(只要不是物理損壞、接觸不良或者擊穿)。不過,DRAM的存儲需要不停供電,斷電就會丟失存儲的數(shù)據(jù)。從DRAM被發(fā)明出來到現(xiàn)在,比如從SDRAM到后來的DDR、DDR2、DDR3以及目前的DDR4,DRAM只是不斷地在預取值和總線上進行調(diào)整,核心的存儲架構(gòu)其實變化不大。
NAND:壽命、延遲不盡如人意
再來看目前廣泛應用于存儲設(shè)備的NAND閃存。NAND閃存分為SLC、MLC、TLC等多種分支顆粒。從壽命上說,NAND是有平均讀寫次數(shù)的壽命的,即使是性能最好的SLC NAND顆粒,其壽命也比DRAM小得多。這對需要長期不斷讀寫數(shù)據(jù)的設(shè)備來說并不是一個好消息。雖然人們可以通過設(shè)置緩沖空間、平衡磨損算法、提前設(shè)置壽命預警來確保NAND不會在使用的時候“掉鏈子”、引發(fā)數(shù)據(jù)丟失,但壽命依舊是NAND在使用中不可回避的問題,畢竟數(shù)據(jù)是無價的。此外,受制于存儲原理,NAND延遲較高,尤其是寫入時存在充電時間,怎么也快不起來,目前只能被用作外部存儲設(shè)備。但在今天,由于之前有性能更低的HDD機械硬盤的存在,基于NAND顆粒的SSD仍舊讓用戶感受到了性能的巨大提升。
性能鴻溝:PC架構(gòu)的問題
說完了DRAM和NAND各自存在的問題,另一個問題也逐漸浮現(xiàn)出來,那就是DRAM和NAND作為目前最新的兩級存儲系統(tǒng),中間的性能鴻溝依舊存在。所謂性能鴻溝,就是上下兩級系統(tǒng)存在較大的性能差距,使得級次緩存的設(shè)計方案很難體現(xiàn)出最佳的效果。在之前的文章中,本刊曾經(jīng)提到過DRAM和HDD之間的性能鴻溝堪稱天塹;在NAND和DRAM上,這個鴻溝只是略有縮小而已,本質(zhì)上的變化并不明顯。舉例來說,NAND設(shè)備目前的最快速度差不多在2GB/s~3GB/s,處理器的內(nèi)存帶寬已經(jīng)突破50GB/s大關(guān),兩者之間差了一個數(shù)量級。在延遲上,DRAM只有十幾納秒,相比NAND的約一百微秒,快了好多個數(shù)量級。
實際上,內(nèi)存和外部存儲之間的性能差距過大,已經(jīng)成為影響用戶體驗繼續(xù)提升的瓶頸。說起來CPU性能10年來提升了好幾倍,但你并沒有感覺到電腦的速度快了好幾倍。所以研究機構(gòu)一直在提出很多解決方案,試圖解決這個鴻溝,比如相變存儲器、賽道存儲器、全新的高速磁存儲設(shè)備等。但這些技術(shù)不是還深藏在實驗室中,就是剛在于PPT上公諸于眾。到了去年,作為存儲業(yè)界的領(lǐng)軍企業(yè)之一的英特爾和美光,終于將其中一種全新的存儲技術(shù)推向了前臺,這種技術(shù)同時擁有高性能和非易失性兩種特性,這就是今天的主角:3D XPoint!
3D XPoint的原理——“電阻存儲器”
首先,我們還是來看看3DXPoint的原理。
我們知道,目前的所有IT設(shè)備都使用的是二進制。二進制中只有0和1兩個數(shù)字。對存儲器而言,要存儲數(shù)據(jù),就需要想辦法呈現(xiàn)兩種差異較大的、可探測的狀態(tài),其中一種代表0,另一種代表1。其實算來算去,目前人類掌握的物理特性中,能夠方便表現(xiàn)不同狀態(tài)的物理量一只手都可以數(shù)過來,無非就是電流、電壓、電阻、磁極等幾種,至于其他的物理量,目前暫時還沒什么看到投入實際使用的可能。
舉例來說,NAND里面有一個“小空間”被稱為絕緣浮置柵極,不同數(shù)據(jù)狀態(tài)就通過檢測絕緣浮置柵極中的電壓來確定。比如0就是高電壓、1就是低電壓。隨后人們發(fā)現(xiàn),如果電壓差拉得比較大的話,還可以存在00最高電壓、01較高電壓、10較低電壓、11最低電壓四種狀態(tài),這就是MLC。隨后還可以做出八種狀態(tài),被稱為TLC。
言歸正傳,那么3D XPoint是應用了什么物理特性呢?目前英特爾和美光對此閉口不談,資料更是匱乏。一些不具名的介紹資料顯示,3D XPoint使用的標記數(shù)據(jù)狀態(tài)的物理值不是業(yè)內(nèi)常用的電壓、也不是電流,更不是目前還在實驗室內(nèi)的磁極,而是電阻。
從英特爾給出的一些圖片來看,3D XPoint的基本單元結(jié)構(gòu)和目前的存儲芯片非常相似,都擁有完整的字線和位線,數(shù)據(jù)存儲在交叉疊起的字線和位線之間。字線或者位線之間存在的特定電壓差,能夠改變一種特殊材料的電阻。電阻改變后,數(shù)據(jù)就被標識為1,反之則為0。當數(shù)據(jù)需要讀取時,字線和位線可以檢測某個存儲單位的電阻值,根據(jù)其電阻值來反饋數(shù)據(jù)存儲情況。
3D XPoint的特點——定位、壽命、價格
在了解3D XPoi nt的有關(guān)技術(shù)本質(zhì)之后,我們來看看3D XPoint到底能給我們的生活和應用帶來怎樣的變化。endprint
定位:并非你死我活
我們首先來看基于3D XPoint產(chǎn)品的定位。英特爾給出的說法是,3D XPoint并不是用于徹底替代DRAM和NAND的技術(shù),它的定位是計算機存儲中的一個新的層級,可以在不同的應用領(lǐng)域增強目前的存儲結(jié)構(gòu)體系。
為什么這么說?從英特爾給出的延遲數(shù)據(jù)來看,3D XPoint產(chǎn)品的讀取延遲大約在10納秒級別(寫入延遲要更長一些),和DRAM最低可達幾納秒還存在一點點差距,但遠遠好于NAND的微秒級別;在壽命方面,3D XPoint的壽命約為百萬級讀寫次數(shù),相比NAND中MLC的數(shù)千次讀寫提升了幾個數(shù)量級(當然,單從壽命來看,還是和DRAM沒法比);帶寬方面倒不是問題,多通道技術(shù)的應用使得3D XPoint在帶寬上并不存在什么劣勢。
在英特爾的官方宣傳中,3DXPoint擁有NAND類似的容量和DRAM類似的性能。包括比NAND速度快(這里的速度應該是指延遲低)1000倍以上,壽命是NAND的1000倍以上,數(shù)據(jù)密度則達到了DRAM的十倍以上。
英特爾認為,這樣的性能可以讓用戶根據(jù)不同的需求來選擇新的存儲系統(tǒng)組合,比如可以選擇組成DRAM+3D XPoint+NAND三級存儲系統(tǒng),或者是3D XPoint接管DRAM+NAND,亦或者組成DRAM+3D XPoint的方案,甚至也可以是3D XP0int+NAND的系統(tǒng),不同方案的成本、側(cè)重點和性能都有所不同,結(jié)局是開放性的,并沒有氣勢洶洶地取代誰,而是根據(jù)市場選擇來搭配合適的方案。
壽命:其實也不是重點
有關(guān)壽命問題,實際上是在NAND的應用中被討論最多的,因為TLC的NAND芯片在干次級別的完全讀寫就有可能耗盡一個單元的所有壽命。千次聽起來非常短,但目前我們看到大量的數(shù)據(jù)中心和企業(yè)用戶都布置了NAND存儲設(shè)備,這證明在各種平均摩擦(利用算法檢測、控制所有NAND單元,盡可能使所有的NAND讀寫次數(shù)相當)和數(shù)據(jù)緩沖(臨時數(shù)據(jù)不需要重復讀寫,轉(zhuǎn)而使用壽命更長的DRAM或者SLC等芯片緩存替代)算法的幫助下,NAND的壽命問題得到了比較好的解決。在我們之前的測試中,TLC芯片的SSD,在壓力測試下同樣未出問題。
相比NAND,3D XPoint的壽命問題其實更不是問題。根據(jù)英特爾數(shù)據(jù),3D XPoint如果擁有200萬次的讀寫壽命,在平衡算法下,一個512GB的3D XPoint設(shè)備理論上需要完全讀寫1024PB才會死亡,相當于在五年內(nèi)每天寫入574TB數(shù)據(jù)。如此龐大的寫入量對任何一個數(shù)據(jù)中心來說都不算低,除了那些必須使用DRAM維持超高負載的特殊場合,3D XPoint完全可以勝任目前幾乎所有的熱/溫存儲中心應用。至于冷存儲,從成本的角度看一直就不適合最新的高速存儲設(shè)備。
價格:不會太便宜
說起3D XPoint的價格,需要考慮兩個方面的內(nèi)容:一是成本,二是市場定位。
先來看成本。根據(jù)英特爾和美光展示出來的資料,3D XPoint的單個晶元可以切割396個3D XPoint晶粒,每個晶粒面積大約為210平方毫米(每個晶粒容量為128Gb)。相比之下,20nm 128Gb的MLCNAND晶粒的面積約為202平方毫米??偟膩砜矗_研發(fā)和生產(chǎn)中其他成本,僅從晶元的角度來看,3DXPoint的成本應該和NAND相差不多——當然良率又是另外一說了。
接下來看市場定位。一般來說,一個產(chǎn)品的市場定位是由其在市場中所處的性能位置所決定的。目前3D XPoint的性能定位在DRAM之下、NAND之上,但是更偏向于DRAM,因此也應該具有類似的市場定位??紤]到目前DRAM的價格,可以說3D XPoint的價格應該不會太便宜——這也是英特爾反復強調(diào)3D XPoint不將NAND作為競爭對手的原因所在。
另一方面,英特爾自己也有龐大的NAN DT廠和不小的市場份額,3D XPoint無論從技術(shù)上還是商業(yè)利益上來看,都不會在目前這個時候去搶NAND的飯碗。而如果從企業(yè)級和消費級來劃分,按照慣例,產(chǎn)品成熟后,英特爾顯然會更傾向于將這一新技術(shù)首先運用于面向企業(yè)級的利潤較高的產(chǎn)品中。
3D XPoint:面向未來
總體來看,3D XPoint足夠強大也足夠優(yōu)秀,它能帶來存儲市場的一次革命。不過在短期內(nèi),3DXPoint技術(shù)的成熟度還需要市場檢驗。英特爾開發(fā)這款產(chǎn)品的意義在于讓企業(yè)級系統(tǒng)在提升性能時有一個新的選擇。當然,英特爾肯定希望可以在不影響原本NAND和3DNAND市場份額的情況下,占據(jù)一個全新的市場。我們也要看到,3DXPoint以及其他在研發(fā)階段的先進技術(shù),一旦成功并大規(guī)模量產(chǎn),必將徹底改變了存儲行業(yè)現(xiàn)有的生態(tài)環(huán)境。目前根據(jù)最新消息來看,3DXPoint技術(shù)與產(chǎn)品已處于最后的完善階段,英特爾很可能在今年內(nèi)就發(fā)布基于3D XPoint技術(shù)的存儲產(chǎn)品。而為了解決PCIe總線帶寬不足的問題,據(jù)悉一些3D XPoint產(chǎn)品將直接采用DDR4接口,即未來的非易失存儲設(shè)備也將通過內(nèi)存接口與CPU通信。
此外英特爾也正在考慮全新的超級連接總線,為下一代高性能計算、企業(yè)級服務器和高性能PC做準備。所以3D XPoint的出現(xiàn),事實上有可能會刺激整個產(chǎn)業(yè)發(fā)生一次全新的革命。而當技術(shù)成熟后,相信最終消費端也會隨之獲益,獲得存儲性能更加優(yōu)秀的PC解決方案。endprint