基于冯诺依曼结构的计算机,从根本原理开始就和存储器的性能息息相关。即使经过如此多年的发展,为了解决存储方面的瓶颈,计算机仍然不得不使用寄存器、缓存、内存、硬盘这样的多级缓冲存储结构,以达到满足性能需求并降低成本的要求。去年,英特尔和美光宣布了全新3D XPoint存储技术,能够在很大程度上解决存储系统中硬盘和内存速度差异太大的问题。和目前的存储器介质相比,3D XPoint除了工艺和部分结构,在读写原理和特性上有了革命性的进步,今年也许会是首款商业化的非易失性超高速、长寿命存储设备,因此值得我们重点关注。
存储器的性能是PC设备上目前的短板。这一点从很多用户由HDD更换为SSD后,感觉像是“换了一个电脑”就能体现出来。HDD目前的传输速度往往在200MB/s以内,寻道时间约为10ms级;SSD传输速度为数百MB/s到几GB/s,寻道时间约为0.1ms以内;更快的内存带宽为几十GB/s,延迟时间低至ns级。再向上还有更高速的缓存、寄存器等设备。
随着制程提升,NAND的容量正在迅速提升,但寿命和延迟等问题,并没有革命性的变化。
内存的基本技术结构也已经很久没有革命性的变化。图为目前快的DDR4内存,仍旧只能充当暂存器。
抛开和处理器紧密相关的高速缓存和寄存器不说,先来看内存和外部存储这两个级别。目前我们使用的内存主要是DRAM。DRAM的核心问题是易失性,其它方面的表现优秀—比如在性能上DRAM的延迟很低(纳秒级别)、带宽较为充裕;寿命方面由于原理所致,DRAM寿命很长(只要不是物理损坏、接触不良或者击穿)。不过,DRAM的存储需要不停供电,断电就会丢失存储的数据。从DRAM被发明出来到现在,比如从SDRAM到后来的DDR、DDR2、DDR3以及目前的DDR4,DRAM只是不断地在预取值和总线上进行调整,核心的存储架构其实变化不大。
再来看目前广泛应用于存储设备的NAND闪存。NAND闪存分为SLC、MLC、TLC等多种分支颗粒。从寿命上说,NAND是有平均读写次数的寿命的,即使是性能好的SLC NAND颗粒,其寿命也比DRAM小得多。这对需要长期不断读写数据的设备来说并不是一个好消息。虽然人们可以通过设置缓冲空间、平衡磨损算法、提前设置寿命预警来确保NAND不会在使用的时候“掉链子”、引发数据丢失,但寿命依旧是NAND在使用中不可回避的问题,毕竟数据是无价的。此外,受制于存储原理,NAND延迟较高,尤其是写入时存在充电时间,怎么也快不起来,目前只能被用作外部存储设备。但在今天,由于之前有性能更低的HDD机械硬盘的存在,基于NAND颗粒的SSD仍旧让用户感受到了性能的巨大提升。
说完了DRAM和NAND各自存在的问题,另一个问题也逐渐浮现出来,那就是DRAM和NAND作为目前新的两级存储系统,中间的性能鸿沟依旧存在。所谓性能鸿沟,就是上下两级系统存在较大的性能差距,使得级次缓存的设计方案很难体现出佳的效果。在之前的文章中,本刊曾经提到过DRAM和HDD之间的性能鸿沟堪称天堑;在NAND和DRAM上,这个鸿沟只是略有缩小而已,本质上的变化并不明显。举例来说,NAND设备目前的快速度差不多在2GB/s~3GB/s,处理器的内存带宽已经突破50GB/s大关,两者之间差了一个数量级。在延迟上,DRAM只有十几纳秒,相比NAND的约一百微秒,快了好多个数量级。
实际上,内存和外部存储之间的性能差距过大,已经成为影响用户体验继续提升的瓶颈。说起来CPU性能10年来提升了好几倍,但你并没有感觉到电脑的速度快了好几倍。所以研究机构一直在提出很多解决方案,试图解决这个鸿沟,比如相变存储器、赛道存储器、全新的高速磁存储设备等。但这些技术不是还深藏在实验室中,就是刚在于PPT上公诸于众。到了去年,作为存储业界的领军企业之一的英特尔和美光,终于将其中一种全新的存储技术推向了前台,这种技术同时拥有高性能和非易失性两种特性,这就是今天的主角:3D XPoint!
NAND工作原理图,绝缘浮置栅极是其存储数据的核心。
3D XPoint的结构示意图
首先,我们还是来看看3D XPoint的原理。
我们知道,目前的所有IT设备都使用的是二进制。二进制中只有0和1两个数字。对存储器而言,要存储数据,就需要想办法呈现两种差异较大的、可探测的状态,其中一种代表0,另一种代表1。其实算来算去,目前人类掌握的物理特性中,能够方便表现不同状态的物理量一只手都可以数过来,无非就是电流、电压、电阻、磁极等几种,至于其他的物理量,目前暂时还没什么看到投入实际使用的可能。
举例来说,NAND里面有一个“小空间”被称为绝缘浮置栅极,不同数据状态就通过检测绝缘浮置栅极中的电压来确定。比如0就是高电压、1就是低电压。随后人们发现,如果电压差拉得比较大的话,还可以存在00高电压、01较高电压、10较低电压、11低电压四种状态,这就是MLC。随后还可以做出八种状态,被称为TLC。
言归正传,那么3D XPoint是应用了什么物理特性呢?目前英特尔和美光对此闭口不谈,资料更是匮乏。一些不具名的介绍资料显示,3D XPoint使用的标记数据状态的物理值不是业内常用的电压、也不是电流,更不是目前还在实验室内的磁极,而是电阻。
从英特尔给出的一些图片来看,3D XPoint的基本单元结构和目前的存储芯片非常相似,都拥有完整的字线和位线,数据存储在交叉叠起的字线和位线之间。字线或者位线之间存在的特定电压差,能够改变一种特殊材料的电阻。电阻改变后,数据就被标识为1,反之则为0。当数据需要读取时,字线和位线可以检测某个存储单位的电阻值,根据其电阻值来反馈数据存储情况。
上文仅仅使用了约不到200字就介绍了3D XPoint的基本工作原理。看起来似乎很简单。但实际情况远远比上文描述的复杂。尤其是特殊的电压差和特定的材料,目前尚没有第三家厂商掌握其中的原理。本文下面的内容是综合业内人士的一些资料,给予猜测性质的介绍。
首先重要的是,先来确定英特尔和美光是如何改变一种材料的电阻值的。目前可以改变电阻值的方法其实并不多,一种是物理方法,改变材料内部晶体结构形态分布;另一种可以被称作“化学方法”,也就是改变材料属性,比如电子结构。
先来看物理方法。物理方法目前有名的就是相变存储器,包括IBM、英特尔、三星等厂商都在相变存储器上投入了不少的精力。但是迄今为止,相变存储器无论是数据密度、成本还是工艺难度、性能等诸多方面都没有得到突破。英特尔在3D Xpoint的相关会议上也否认了使用相变材料的可能。因此,3D Xpoint肯定不是使用相变材料。
高通曾推出过磁存储芯片,不过技术不成熟。
金属原子的电子自旋特性可以用于制造存储器。
导电桥技术可能是3D XPoint核心技术原理。
接下来就是所谓“化学方法”了。目前“化学方法”也分为很多种。我们简要根据原理一一介绍如下:
1.利用金属原子存在的低自旋和高自旋两种不同的状态之间的电阻差异。
根据泡利不相容原理,在费米子组成的系统中,不能有两个或两个以上的粒子处于完全相同的状态,也就是不能有两个或两个以上的电子具有完全相同的四个量子数。那么对某些元素(比如二价铁)来说,基态(低自旋态)时候S=0,高自旋态时S=2。基态和高自旋态存在电阻差异,可以通过外界刺激转换,也就可以用于表征数据状态。
这种方法的问题在于,如何精确地控制金属原子的不同状态。这里需要一种特殊的材料在有限的刺激下实现快速的、可控的状态转换,同时不受其他刺激影响。考虑到类似材料特性会受到温度的影响,再加上制造和生产上的难度(不同材料的结合等),显然短期内很难搞定这样的材料。
2.调整材料磁性布局来改变电阻。
自旋转矩也就是STT(Spin Transfer Torque),被称作是GMR之后重要的发明。简单来说,这种效应的特点是当自旋极化电流通过磁性材料时,磁性薄膜磁化矢量会发生改变(比如极化电流通过一层厚磁性材料时,材料立刻可以出现极化特征)。对应到材料上来说,如果可以控制材料的磁性布局,那么电阻就可能发生变化,从而表征数据状态。
这种方法目前的问题在于制造障碍和工艺瓶颈,因为如何控制如此多的磁体聚集在一起并且保持状态稳定是很困难的,之前业内只有高通和Everspin尝试过类似技术。英特尔则表示,3D XPoint和磁性技术无关。
3.通过可编程金属化单元改变电阻。
本文也不卖关子了,根据资料显示,通过可编程金属化单元改变电阻是有可能成为3D XPoint的核心原理的技术。这项技术又被称为导电桥技术,其原理是通过物理变化阻碍电子运动,从而实现电阻的变化。简单来说,有一种电解质材料存在于活性电极和惰性电极之间,只要施加一定方向的电压,那么电解质材料立刻开始析出金属原子,从而降低两极之间的电阻,反之,则重新氧化为高电阻物质。
这项技术的核心问题在于材料。一般来说,很难有使用这种材料的结构,能保持多次电解、氧化后具有稳定的性能,要么可能影响寿命、要么可能存在工艺上的问题。但无论如何,根据镁光的暗示,3D XPoint可能就是采用了这样的方案,相关研究的开始时间甚至早于2002年,直到今天才开始逐渐成熟。
实际上,上述三种方案都有可能成为未来新存储设备的技术。尤其是美光在2015年的技术展示中,暗示了基于自旋矩阵效应制造的存储器产品,同时也展给出了导电桥技术的截面图。未来究竟应该如何发展,还得看技术进一步向前迈进了。
在了解3D XPoint的有关技术本质之后,我们来看看3D XPoint到底能给我们的生活和应用带来怎样的变化。
我们首先来看基于3D XPoint产品的定位。英特尔给出的说法是,3D XPoint并不是用于彻底替代DRAM和NAND的技术,它的定位是计算机存储中的一个新的层级,可以在不同的应用领域增强目前的存储结构体系。
为什么这么说?从英特尔给出的延迟数据来看,3D XPoint产品的读取延迟大约在10纳秒级别(写入延迟要更长一些),和DRAM低可达几纳秒还存在一点点差距,但远远好于NAND的微秒级别;在寿命方面,3D XPoint的寿命约为百万级读写次数,相比NAND中MLC的数千次读写提升了几个数量级(当然,单从寿命来看,还是和DRAM没法比);带宽方面倒不是问题,多通道技术的应用使得3D XPoint在带宽上并不存在什么劣势。
在英特尔的官方宣传中,3D XPoint拥有NAND类似的容量和DRAM类似的性能。包括比NAND速度快(这里的速度应该是指延迟低)1000倍以上,寿命是NAND的1000倍以上,数据密度则达到了DRAM的十倍以上。
英特尔认为,这样的性能可以让用户根据不同的需求来选择新的存储系统组合,比如可以选择组成DRAM+3D XPoint+NAND三级存储系统,或者是3D XPoint接管DRAM+NAND,亦或者组成DRAM+3D XPoint的方案,甚至也可以是3D XPoint+NAND的系统,不同方案的成本、侧重点和性能都有所不同,结局是开放性的,并没有气势汹汹地取代谁,而是根据市场选择来搭配合适的方案。
3D XPoint的性能表现非常出色。
NAND和3D XPoint并不是你死我活的竞争关系。
3D XPoint在系统中的地位。
有关寿命问题,实际上是在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的MLC NAND晶粒的面积约为202平方毫米。总的来看,除开研发和生产中其他成本,仅从晶元的角度来看,3D XPoint的成本应该和NAND相差不多—当然良率又是另外一说了。
接下来看市场定位。一般来说,一个产品的市场定位是由其在市场中所处的性能位置所决定的。目前3D XPoint的性能定位在DRAM之下、NAND之上,但是更偏向于DRAM,因此也应该具有类似的市场定位。考虑到目前DRAM的价格,可以说3D XPoint的价格应该不会太便宜—这也是英特尔反复强调3D XPoint不将NAND作为竞争对手的原因所在。
另一方面,英特尔自己也有庞大的NAND工厂和不小的市场份额,3D XPoint无论从技术上还是商业利益上来看,都不会在目前这个时候去抢NAND的饭碗。而如果从企业级和消费级来划分,按照惯例,产品成熟后,英特尔显然会更倾向于将这一新技术首先运用于面向企业级的利润较高的产品中。
3D Xpoint在高性能消费级PC上也有用处,在各级队列深度下的IOPS吞吐速度提升极快。
3D Xpoint面向未来,将在各个领域带来全新的体验。
总体来看,3D XPoint 足够强大也足够优秀,它能带来存储市场的一次革命。不过在短期内,3D XPoint技术的成熟度还需要市场检验。英特尔开发这款产品的意义在于让企业级系统在提升性能时有一个新的选择。当然,英特尔肯定希望可以在不影响原本NAND和3D NAND市场份额的情况下,占据一个全新的市场。我们也要看到,3D XPoint以及其他在研发阶段的先进技术,一旦成功并大规模量产,必将彻底改变了存储行业现有的生态环境。目前根据新消息来看,3D XPoint技术与产品已处于后的完善阶段,英特尔很可能在今年内就发布基于3D XPoint技术的存储产品。而为了解决PCIe总线带宽不足的问题,据悉一些3D XPoint产品将直接采用DDR4接口,即未来的非易失存储设备也将通过内存接口与CPU通信。
此外英特尔也正在考虑全新的超级连接总线,为下一代高性能计算、企业级服务器和高性能PC做准备。所以3D XPoint的出现,事实上有可能会刺激整个产业发生一次全新的革命。而当技术成熟后,相信终消费端也会随之获益,获得存储性能更加优秀的PC解决方案。