在刚刚结束的美国旧金山IDF 15上,英特尔向世界展示了一项全新的存储技术——3D Xpoint。关于这项技术的新闻报道有很多,但其中大多数都没有彻底讲明白3D Xpoint到底是个啥?以致于很多网友表示看了半天还是不知道新闻里到底是在讲啥,只知道这可能是一项关于存储的比较牛B,亦或是比较玄学的技术。
作为直接参与了本次IDF 15前方报道的人,笔者决定对3D Xpoint技术做一个简单易懂的解析,以帮助大家搞清楚3D Xpoint到底是个啥技术。
对于电脑而言,很长一段时间里我们都认为处理器性能是影响电脑使用快慢的主要因素,这在奔腾、赛扬时代里体现的最为鲜明。那时处理器主频低的令人发指,严重影响电脑的运行速度,而“超频”这项技术能够被大众、发烧友所热捧最主要原因也是来源于此。因为在当时处理器性能有限的情况下,每超高一点频率,对于电脑使用体验的影响都是能够直观反映在用户感受里的。
而到了酷睿时代,尤其是近几代酷睿,大家忽然发现无论是睿频还是超频,其实对于电脑使用流畅度的影响都在逐渐减小,2.6GHz到3.6GHz睿频对于处理器性能的提升大都只能通过测试软件跑分来进行对比,在实际应用中,用户对于电脑流畅度提升的感受并不明显。反倒是,当用户把HDD换成SSD之后,才会明显感受到系统、软件运行速度的不同,这就是为什么现在很多观点认为,“处理器性能已经过剩,提升电脑使用体验首先要从硬盘入手。”
无论你是否认同“处理器性能过剩论”,你也不可否认升级SSD对于电脑使用体验确实有明显提升这个事实。但SSD就是极限了吗?还有没有什么技术能够比SSD更快呢?于是,身负革命重任的新技术3D Xpoint顺势而生。
·3D Xpoint到底是个啥?
1968年,当英特尔公司刚刚建立之初,它所主营的业务其实是存储芯片,而不是处理器。
英特尔第一款产品就是名声大噪的3010 Schottky双极随机存储器(RAM),之后紧接着又发布了世界上首款金属氧化物半导体(MOS)静态随机存储器(Static RAM)1101。然而当时由于生产工艺限制,存储器制造只能由手工完成,相对于现在的机器量产,可以说是拥有相当高的难度。
47年之后,英特尔有望再次引领存储技术的变革,所凭借的就是与镁光联手发布的3D Xpoint技术,一项新的非易失性存储器技术。而这项技术的意义在于“又一次重新发明了存储芯片”。
为什么说是“又一次重新发明”呢?下面我们不妨来看看,以往的NAND闪存与3D Xpoint存储芯片之间所存在的差异是不是可以上升到重新发明的高度。
3D Xpoint技术与目前的NAND闪存性能实测,有7倍以上提升
首先要明白的是,3D Xpoint是一种技术,而且是一种改变传统闪存架构的技术,本质上并不是一种简单提升闪存存取速度的技术。那么新的架构与传统的架构有何不同呢?下面笔者就用一个大家都很容易理解的方式对架构的改变做一个归纳。
首先我们假设有一个占地20000平米土地的小镇,镇子里起先有2000个人。在3D Xpoint出现之前,镇子里的人都住在平房里,那么这时候每个人所摊的面积只有20000÷2000=10平米。大家可以想像一下10平米的空间得是有多挤。
面对这种状况,政府请来了一位设计师和一个施工队力求解决这种拥挤的状况,于是设计师设计出了一幢足够容纳2000人的大楼,而施工队则将原本的平房都推到,迅速盖起了设计师设计出的大楼。当完成这项工程之后,一举解决了这个小镇拥挤的居住状况。
将平房推倒盖成高楼,单位面积内可容纳的人就会更多,这点应该不难理解
而完成这项工程的设计师和施工团队,就是英特尔和镁光。
说到这里大家都应该已经明白了吧,3D Xpoint技术其实就是将原本平面化的NAND闪存结构变成了立体化结构,在这样的立体结构里,存储容量不再单纯受芯片平面面积大小的影响,因此同样的芯片面积上可以容纳更大的数据吞吐量,这就是3D Xpoint的革命性所在,而这种对传统闪存架构的改变,又怎能不是对存储技术的又一次重新发明呢?
·存储结构从2D走向3D
3D Xpoint是一种立体化的存储技术,它看起来与同为3D设计的TLC NAND技术相似,但其实本质却不同,3D Xpoint并不单纯是NAND,而是一种新的存储介质,是一种新的非易失性存储技术。从架构设计上看,它与FlashTec NVRAM加速卡有些近似,用RAM作为缓存,提高访问速度,同时用NAND作为存储介质。因此,3D Xpoint在速度上有优势,同时又具有非易失性存储的优点。
那么3D Xpoint技术到底包括哪些革命性的架构转变呢?
·高效的交叉阵列结构
3D Xpoint让存储变得立体化,那么在立体化的空间里排布存储单元就与在平面里排布有所不同。基于3D Xpoint技术的存储介质中,通过垂直导线连接着多达1280亿个密集排列存储单元,每个存储单元存储一位数据,立体化让结构变得更加紧凑,而借助这种紧凑的结构就可以获得高性能和高密度位。
3D Xpoint技术对各项性能的提升(未经过实测只做参考)
有的朋友看了这段可能又有点蒙圈。好吧,下面我还是说人话来解释一下其原理吧。
设计师英特尔先生在设计好小镇大楼之后,觉得如果还是按照传统的走廊式设计,那么住在这幢大楼里的2000人串门会很不方便。于是英特尔先生瞬间被哆啦A梦附体,给每个房间都装了无数个任意门,而这些任意门可以让大楼里的居民们直通楼里的任何一个房间,这样的话有人想串门时就会方便、高效的多了。
由此可见,3D Xpoint技术的交叉阵列结构,可以让大楼里(存储介质)的每一个居民(存储单元里的一位数据)之间的联系变得更加紧密高效,数据的吞吐变得迅捷自由,这就是交叉阵列结构的高效性所在。
·存储单元可堆叠
交叉阵列结构让数据的吞吐变得迅捷、高效,然而如果数据容量无法得到保证的话,这种高效吞吐又会失去意义。在单个文件容量越来越大的今天,存储介质在提升速度之外,当然还要重视容量的提升。因此,3D Xpoint技术还允许存储单元被堆叠到多个层中,这样就可以有效提升存储介质的容量。
目前,现有的技术可以使集成两个存储层的单个芯片存储128Gb数据,而未来,通过改进光刻技术、增加存储层的数量,其系统容量可以获得进一步的提升。
大家看到这里,可能又对“存储单元堆叠”几个字不太明白了。好吧,接下来笔者再用说人话的方式来解释一下什么是存储单元堆叠。
我们还是回到英特尔先生设计的大楼所在的这个小镇子中来。在当初英特尔先生设计大楼时,小镇子常住居民只有2000人,于是设计一幢大楼就可以容纳下这些人了,然而一幢大楼并没有完全把这20000平米的土地利用起来,因此英特尔先生开始考虑是不是要把剩余的土地利用起来,以求利益的最大化。
于是,英特尔先生与镁光施工队狼狈为……呃,一合计!就又在这20000平米的土地上盖了更多的房子,然而土地都被用来盖房子了,小镇里的道路问题怎么解决呢?颇富想象力的英特尔先生并未采用传统的地面道路建设方案,而是把每一幢大楼通过任意门相互打通,使新加入的居民和老居民之间能够任意进出每一幢大楼的每一个房间。
这就是存储单元堆叠与交叉阵列结构同时存在于3D Xpoint技术里的原由,既能够扩大存储容量,又能够通过交叉阵列结构提升数据吞吐速度。
·如何高效的调控数据?
存储了数据,那么就需要访问这些数据。在NAND闪存中,数据是以位(bit)的方式保存在Memory Cell中,一个Cell存储一个bit,这些Cell或8个或16个为单位,连成bit line,而这些line组合起来会构成Page,而NAND闪存就是以页为单位读写数据,以块为单位擦除数据,同时按照这样的组织方式形成三类地址:Block Address、Page Address以及Column Address。对于NAND闪存来讲,地址和命令只能在I/O上传递,数据宽度是8位。
·选择器是个啥东西
3D Xpoint在数据访问方面做出了一些革新,引入了选择器模块。
存储单元通过改变发送至每个选择器的电压,来实现数据的访问、写入或读取,相对于NADN闪存通过寻址方式来实现数据访问、写入、读取或擦除的方式,3D Xpoint更加高效。此外这样做的好处不仅消除了对晶体管的需求,同时也在提高存储容量时能够降低成本。因此3D Xpoint是一项既能够提高存储介质速度、性能的技术,同时又是一项能够降低存储介质成本的技术。
那么到底选择器的原理是什么呢?请大家再一起跟我回到小镇上吧。
选择器能够让数据得到合理高效的调动分配
英特尔先生与镁光施工队在小镇上的开发,让原本只有20000平米的小镇拥有了一个高楼连着高楼的超大规模住宅区,目测一下似乎住个200000人也不成问题了。但尴尬的是,这个小镇原本的常住居民只有2000人,那另外那些空着的房子怎么办呢?
于是英特尔先生与镁光施工队再次狼狈为……呃,再次合作,合伙开始拓展旅游事业。他们将空置的房间改成旅馆,租给来来往往路过这个镇子的游客。但是这些游客似乎有些没有公德,不太爱惜所住的房间,时间久了房子就会因损坏而出问题。
面对这样的问题,英特尔先生和镁光团队又想出了一个游客管理办法:让游客轮流使用房间。这样就不会出现一个采光好、视野好的房子经常被光顾,却因过度使用而损坏甚至垮塌的悲剧。
由此可见,3D Xpoint选择器模块的主要作用在于,它可以合理有效的调控数据存储位置,并且让数据不单单只呆在一个地方,通过这种动态、随机的分配机制,可以让存储单元的有效利用率更高,同时也能够让访问、写入、读取、擦除变得更高效。
如果说交叉阵列结构是为数据盖了一栋大房子,而存储单元堆叠让这栋大房子更具规模,那么选择器在其中所起的作用,就是合理有效的调动这片大规模房屋中的数据,让它们变得更易访问、更快速的读写。
·快速切换单元又是个啥东西
然而,仅凭借选择器自己,其实还是无法让速度达到最大化,因此3D Xpoint技术中还包含了快速切换单元。通过快速切换单元,选择器的高效性就会被彻底激发出来。
基于3D Xpoint技术所打造的存储介质,会凭借更为小尺寸的存储单元,快速切换选择器、低延迟交叉点阵列以及快速写入算法,让每一个成员始终处于高效的工作状态中,而避免有的忙有的闲这样的情况发生。在这种情况下,存储单元能够以高于目前所有非易失性存储技术的速度切换其状态。这是3D Xpoint技术提升存储性能的秘诀所在。
那么把上面这些过程带入到我们的小镇中去,就是这样一种情境:
很多人从来没有见过英特尔先生和镁光施工队这样的盖房子方法,于是慕名而来参观的游客越来越多,同时也想体验一下小镇的生活。这虽然是好事,但人一多,就造成了接待处前台经常排长队的现象,不仅给小镇的形象带来了影响,同时也让游客们抱怨不已。
针对这种情况,英特尔先生决定培养一批专业管理员,让他们了解小镇大楼里每一个房间的位置。最后这些管理员就被安排在了每一栋大楼的门口,当有游客到了之后,这些管理员会一对一轻车熟路的将他们领导分配好的房间里住下,这样就让效率得到提升,也缓解了接待处排长队的问题。
而这些管理员,其实就是快速切换单元,它们能够将数据合理、快速的分配到没有人住的房间,省略了中间一一排查寻址的过程,自然而然也就能够提升数据吞吐的速度了。
·结语
经过一番观察,英特尔先生和镁光施工队觉得这套代号为3D Xpoint的建设、改造方案还是相当不错的,于是打算在其它几个地方,如手机镇、SSD镇、内存镇、数据中心镇等区域推广这种方案,以求让它发扬光大。未来,这些小镇居民的生活都将比现在更加高效、单位面积内所容纳的人口数量也会越来越多。
最后,到底什么是3D Xpoint呢?一句话总结就是:3D Xpoint技术就像2D到3D的革命,它让原本局限于平面的存储空间变得立体化,单位面积中的存储面积实现了堆叠式增长。放到现实中就是,基于3D Xpoint技术的存储介质单位存储容量更大、并且读写速度更快,而且成本也不会很高。
--------------------------------------------------------------------------
·注:3D Xpoint技术目前处于推广阶段,预计2016年将有产品推出。
推荐经销商