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