- Linux開源存儲全棧詳解:從Ceph到容器存儲
- 英特爾亞太研發有限公司
- 3442字
- 2019-11-15 16:04:53
2.2 存儲介質的進化
NAND的存儲密度在呈現高速增長的趨勢,2017年達到2.77TB/in2,持續拉大了與磁盤介質的差距。
2.2.1 3D NAND
Flash芯片容量結構從大到小可以分為Device、Target、Die/LUN、Plane、Block、Page、Cell。一個Device通常包含一個或多個Target,一個Target又包含若干個Die(或LUN),每個Die/LUN包含若干個Plane,每個Plane包含若干個Block,每個Block包含若干個Page,Cell是Page中的最小操作擦寫讀單元。Die/LUN是接收和執行Flash命令的基本單元,不同的Die可以同時接收和執行不同的命令,但在一個Die中一次只能執行一個命令,不能對其中的某個頁在寫的同時又對其他頁進行讀訪問。
而對于存儲領域來說,小存儲單元尺寸(Cell Size)、高性能及低功耗(Power Consumption)一直是持續追求的目標。越來越小的尺寸讓每片晶圓可以生產更多的Die,高性能才能符合高速運算的需求,低功耗才能改善移動設備電池充電頻率高及數據中心系統散熱慢的問題。而芯片工藝的每一次提升(24nm → 14nm → 10nm…),帶來的不僅僅是元件尺寸的縮小,也有性能的增強和功耗的降低。
每次NAND制程的升級都能將NAND存儲密度提升到一個新的高度,但是NAND閃存的制程工藝是一把雙刃劍,容量提升、成本降低的同時可靠性及性能都在下降,因為工藝越先進,NAND的氧化層越薄,可靠性也越差,廠商就需要采取額外的手段來彌補,但這又會提高成本,以至于達到某個點之后制程工藝已經無法帶來優勢了。
2D NAND制程上的瓶頸催生了3D NAND技術的出現。如圖2-4所示,就像蓋房子一樣,當你不能在水平方向擴大占地面積的時候,可以向垂直方向發展,3D閃存結構就像存儲器界的摩天大樓,在垂直方向構建存儲單元格,而不是在晶圓平面上構建一系列的存儲單元格。把存儲單元立體化,這意味著每個存儲單元的單位面積可以得到大幅減少。

圖2-4 2D NAND與3D NAND
近幾年來許多大廠商紛紛投入對3D NAND的研發,但目前只有三星、Toshiba/SanDisk/WD、SK Hynix、Micron/英特爾四組公司能夠進行量產。各家的3D NAND存儲單元及技術都不相同,目前量產的大多為64~72層的3D NAND。
64層3D NAND已在成本和性能方面優于2D NAND技術。不過,各大廠商并不滿足64層3D NAND帶來的效益,很快將苗頭鎖定下一代96層3D NAND技術,因為96層堆疊可將單個Die的容量提高到1TB以上,將具有更優的成本及更高的產品效能。英特爾于3年前宣布將中國大連的Fab 68晶圓廠改造為NAND工廠,總投資55億美元,現在二期工廠已經投產,主要生產96層的3D NAND閃存。
2.2.2 3D XPoint
在如今的存儲領域,3D XPoint和3D NAND是兩個頗具話題性的技術。3D NAND從本質上更偏向于“演進式”(從2D到3D是從平面到立體的制程架構,是一種工藝上的提升)的出現,3D XPoint則完全是以一種“新生代”姿態面世的。它是自NAND閃存以來的首個新型非易失性存儲技術,而且在2015年發布時被描述為“速度和耐久性都是NAND閃存的1000倍”,一時風頭無二。
雖然1000倍的速度只是理論值,不過以顛覆者形象出現的3D XPoint技術仍然備受期待。特別是在數據中心領域,隨著數據的爆發式增長和人工智能、大數據等新一代工作負載的涌現,企業對高性能存儲設備的需求日益升高,所以3D XPoint夸張的1000倍理論值并不是除營造噱頭外毫無作用,在某種程度上反映了3D NAND的可挖掘性。
同為非易失性存儲領域的新秀,而且都是由英特爾與美光共同研發的,因此3D XPoint與3D NAND常被互相比較。嚴格來說,在3D NAND與3D XPoint之間進行孰優孰劣的對比是不合適的,因為它們的定位并不相同。3D XPoint的市場定位很清晰,就是一種比機械硬盤更高級的數據存儲方案。3D XPoint的定位介于DRAM與3D NAND之間,它的速度與耐久性能夠達到內存的水平,密度與非易失性則偏向3D NAND,成本也介于兩者之間,如圖2-5所示。

圖2-5 3D XPoint
可以看到,除DRAM的易失性與NAND的壽命延遲不盡如人意以外,DRAM與NAND之間的性能鴻溝是一個不可回避的問題,上下兩級系統存在較大的性能差距,使得級次緩存的設計方案很難體現出最佳的效果,相比DRAM和硬盤驅動器之間的性能鴻溝,NAND和DRAM的這個鴻溝略有縮小,但是本質上的變化并不明顯。例如,延遲方面,DRAM的十幾納秒相比NAND的約一百微秒快了很多個數量級。
而英特爾與美光推出的3D XPoint則同時擁有高性能和非易失性兩種特性。可以說,3D XPoint在原本的內存與外部存儲之間開辟了一個新的層次,這也導致了外界對3D XPoint未來走向的各種解讀。
第一種解讀是3D XPoint將挑戰DRAM內存。DRAM的特性在于延遲很低(納秒級別)、帶寬較為充裕,且壽命很長,但它的核心問題是易失性,需要不停供電才能保存數據。3D XPoint擁有達到DRAM同樣性能的潛力,且正好擁有非易失性。所以有分析師認為,3D XPoint最終可能會挑戰現有的內存技術DRAM。
第二種解讀是3D XPoint與NAND的互補結合。這是一種很靠譜的說法,事實上英特爾與美光都比較支持這種互補理念,而且英特爾已經推出了面向數據中心的存儲解決方案,不僅通過3D NAND實現了大容量存儲,并通過3D XPoint實現了加速,兩相結合。英特爾認為,3D XPoint的性能可以讓用戶根據不同的需求來選擇新的存儲系統組合,如DRAM+3D XPoint+NAND三級存儲系統、 3D XPoint接管DRAM+NAND、DRAM+3D XPoint的方案,甚至3D XPoint+NAND的系統,不同方案的成本、側重點和性能都有所不同,結局是開放性的,可以根據市場選擇來搭配合適的方案。
此外,還有人認為,3D XPoint將打破內存與外部存儲兩極分化的現狀。3D XPoint擁有NAND的非易失性,性能與耐久性更接近DRAM,而且價格只有DRAM的一半。內存的易失性問題已經解決,如果3D XPoint能夠在未來的發展中徹底消除DRAM與NAND之間的性能鴻溝,且逐漸降低成本,那么打破兩極分化也不是沒有可能的。從長遠來看,這種現實意義上的融合可能確實將成為一種趨勢。但這種目標太過遙遠,即使在今天仍有很多企業還在使用價格更低的硬盤驅動器來存儲數據,而且冷熱數據的資源配給與成本問題不可忽略,同時價格、容量、性能、耐久等因素都是需要長時間的努力來進行優化的,但3D XPoint的出現,至少提供了一個未來的努力方向。
如圖2-6所示,3D XPoint存儲器采用兩層堆疊架構,使用20nm工藝可實現128千兆位的密度,它的讀取延遲降低到納秒級,約為125ns,可擦寫次數為20萬次。3D XPoint的讀/寫速度和壽命均為NAND閃存的1000倍,延遲是NAND閃存的千分之一,內存(DRAM)的10倍,存儲密度則是內存的10倍。在這個3D交叉矩陣結構中,3D XPoint摒棄了之前存儲結構中的電容、晶體管設計,只保留內存單元(存數據的地方)、選擇器和讀/寫總線。原有的“閑雜人等”(電容、晶體管)被統統“踢”走,騰出來的空間塞進了更多的內存單元,因此存儲容量得到了大幅度的擴展。

圖2-6 3D XPoint存儲器架構
那么3D XPoint又是怎樣實現比NAND快1000倍的讀/寫速度的呢?在3D XPoint中,內存單元和選擇器被存儲總線交叉疊加在一起,每一層的總線又會被導線連接。這又該怎么理解呢?按原來的方式,內存單元之間訪問就像兩個住在樓梯房的好朋友,每次去其中一家串門都需要走過道爬樓梯。而3D XPoint則是相當于為他們設置了一個直達電梯,每次串門“叮”的一聲就到了。這樣一來,數據訪問效率就會高很多。
同時,3D XPoint上的電阻材質非常特殊,在電壓的作用下該材質形態會發生巨大的變化,從而實現阻值的改變。在這個過程中,電阻材質形態的改變帶來的損耗非常小,就像霧和雪一樣,兩者形態的轉變最多只是熱量的流失,而水的本質不變。相比于NAND上多次讀/寫后就會出現的絕緣層損耗,3D XPoint的損耗基本可以被忽略。所以我們可以看到,3D XPoint的壽命是NAND的1000倍。
2.2.3 Intel Optane
前面提到,DRAM與NAND之間在容量、性能和延遲時間等方面存在著巨大的差距,3D XPoint在原本的內存與外部存儲之間開辟了一個新的層次。英特爾基于3D XPoint技術分別開發出Optane Memory(傲騰內存)和Optane SSD(傲騰固態盤),對存儲層次模型進行重新劃分和定義,如圖2-7所示。

圖2-7 基于3D XPoint的新的存儲層次模型
英特爾稱Optane Memory為Apache Pass,是為高性能和靈活性而設計的革命性的SCM(Storage Class Memory);稱Optane NVMe SSD為Coldstream,是世界上最快的、可用性和服務性最好的固態硬盤。3D XPoint(包括Apache Pass DIMM和Coldstream SSD)位于DRAM和NAND之間,用于彌補DRAM和NAND之間的性能和延遲時間差距。
從應用場景分析,Coldstream SSD主要用在NAND Flash SSD之上,用于對系統日志、Memory Page和系統元數據進行加速;Apache Pass DIMM主要定位于替代DRAM,用于支撐Persistent Memory或In-Memory應用。
隨著固態硬盤單盤容量的不斷變大,元數據的量也在不斷增大。當元數據的量增加到一定程度時,DRAM已無法完全緩存,采用Coldstream作為擴展緩存,將元數據緩存在Coldstream上,并且配合相應的算法,可以提高大容量下元數據的訪問性能,從而提升陣列在大容量下的整體性能。通過對哈希、Radix tree、B-Tree等各種索引數據結構和算法進行充分比較,選取對Coldstream上的存儲內容高效的索引數據結構和算法,從而既能快速訪問索引和Coldstream上的內容,又能占用較少的CPU和內存資源。
在實際應用中,大部分應用都存在熱點數據。在數據緩存的設計中,可以使用高效的熱點識別算法對數據進行識別,將頻繁訪問的熱數據緩存在內存中,次熱數據緩存在Coldstream盤中,從而直接從內存或Coldstream訪問熱數據,減少由固態硬盤讀取數據的操作,進而縮短延遲時間,最大限度地加快熱點數據的訪問速度。
- Linux設備驅動開發詳解:基于最新的Linux4.0內核
- Windows Server 2012 Hyper-V:Deploying the Hyper-V Enterprise Server Virtualization Platform
- 網絡操作系統:Windows Server 2003管理與應用
- 操作系統基礎與實踐:基于openEuler平臺
- Instant Optimizing Embedded Systems using Busybox
- Moodle 3.x Teaching Techniques(Third Edition)
- Windows Server 2019 Administration Fundamentals
- OpenStack系統架構設計實戰
- Heroku Cloud Application Development
- 鴻蒙操作系統設計原理與架構
- Linux內核API完全參考手冊(第2版)
- VMware Horizon Mirage Essentials
- 完美應用Ubuntu(第2版)
- 應急指揮信息系統設計
- Windows7系統維護百寶箱