内存对于计算机来说始终是一种稀缺资源,上到大型计算机、高性能计算机,小到智能手机、可穿戴设备。数十年前业已成型的冯·诺依曼计算机架构,确立了计算和存储两者间的关系。更具体一些,负责实质计算的CPU中ALU单元只会从固定的位置(寄存器)获取数据,计算结果也只会存在固定位置,而CPU的控制单元(CU)根据指令不断地将数据放入或取出,完成了整个计算的过程。实际情况略复杂一些,CU所读写的数据还包括了地址信息,这样它才知道数据从何出来或向何处去。和同样起到缓冲作用、但以减低接口压力的Buffer不同,Cache是加速内存数据存取,经过Cache一级一级的映射和预取,内存逐渐接近并匹配千倍于其速度的ALU,计算的瓶颈随之打破。在整个映射过程中,内存中数据的地址,并未因映射而改变。
从硬盘到傲腾
虽然中文都是一样的“内存”,但是Memory、RAM和DRAM却是截然不同的含义。冯·诺依曼架构的内存是Memory,数据能通过地址索引存储在上面就可以,而RAM则是落地到计算设备(计算机、手机等)的Memory技术类型,具体的产品是DRAM,对应关系如同外存 --> 光盘 --> DVD一样。即便已经是相对最便宜的类型,DRAM价格仍然高达10美元/GB,是主流外存设备HDD有着100倍以上的价格差距。更致命的是,DRAM是典型的易失性半导体,简单的说就是断电就会丢失数据,不仅需要在通电状态下不断刷新数据(通过读操作完成),而且每次加电,都需要重新从外存加载数据,说白了就是从更慢的硬盘上读取系统、应用和数据,这就是为什么硬盘的速度对系统启动时间的影响最大最直接了。
与内存相对应,外存是容量更大,同时不以内存地址映射表形式保存数据的存储器,HDD(硬盘)可谓是我们最熟悉,并且仍然是最主流的外存产品,其存储逻辑已变为分区表索引扇区的形式,SSD在存储逻辑上与HDD并无差异,而物理介质上的存储逻辑有别,另外就是相应延迟更短、数据持续传输带宽更高。
对计算机系统来说,它并不“认得”外存,OS(操作系统)起到了很好的“翻译”作用,将系统发出的内存访问需求转化为硬盘读写操作,DOS(Disk Operating System,磁盘操作系统)就是这么来的。计算机并不知道数据真实存储在何处,而OS知道,当要访问的数据不再内存中时,OS会临时将其从外存中调入,这个速度只有直接访问就能获得数据的千分之一,在获得该数据前计算机只能等待,所有时间被浪费。经过优化的OS或驱动程序,可以预判计算机将要求的下一个数据,从而提前将其装入内存。至于为什么OS不把所有数据都装入内存,以减少数据等待时间,这还不都是容量不够、价格高企造成的么。使用高性能SSD能解决从外存获取数据速度的问题么?这里先留给悬念,稍后详细解读。
新的思路
技术已经发布一年多的3D Xpoint,终于以Optane(傲腾)的产品形式落地了,姑且不论面向企业级高性能存储市场的Optane SSD和暂未推出的Optane DIMM,先来说说解决PC外存性能不足问题的第三种产品形式Optane Memory。
Optane Memory是夹在内存(DRAM)和外存(HDD)中的“劝架人”,又是OS处理数据访问需求的好帮手,它情商颇高,三头都喜欢它,内存和外存都愿意与它交换数据,OS对它管理外存的能力非常放心。而在Optane Memory诞生之前,内存总是埋怨外存“太肉”,而外存则抱怨内存对它呼来唤去都快累死了,OS经常里外不是人。
Optane Memory凭什么让大家都喜欢它?这还要从它的身世说起。今天的计算机,特别是PC核心的性能瓶颈已经从CPU、内存转移到外存,更高频率的CPU、更大容量的内存,只能解决有限的数据问题,一旦牵扯到更大量的数据,就必须和慢吞吞的外存打交道。甚至在越来越多的实际应用中,更大的内存拖累了PC的性能体验。举例来说,当OS获知有4GB内存时,它会调用较少的2GB数据,100MB/s读写性能的HDD需用时20秒;而当内存增至8GB,OS会允许调入6GB数据,需读取数据60秒,PC等待时间变长、体验变差。好在这只是个比方,现实中的OS没有那么不济,可以在数据部分调入内存后就允许CPU还是工作,极端情况下已经处理的数据回写与读取数据的冲突才更令人挠头。
Optane Memory恰好出现在这个位置。它本质上是一种缓存,在英特尔RST(Rapid Storage Technology)驱动帮助下,它可以协助OS将HDD上的频繁访问数据预读到自己内部,等待OS随时发号将数据装入内存的施令。Optane Memory采用了全新的存储介质,响应时间为ns级别、速度是GB/s级别,均比高性能SSD高一个数量级以上,以接近甚至达到DRAM的水平,可谓一呼即应。目前Optane Memory模块已推出16GB和32GB两种容量,能够轻易做到两倍于主流电脑DRAM容量的水平,再也不用担心512MB或1GB的TurboMemory模块上所出现的数据量不够内存用的问题,对DRAM来说,由它所供给的数据可谓源源不绝。同时,Optane Memory与DRAM的特性相同,支持多任务并行操作,在不断喂饱DRAM的同时还能从HDD继续读取数据或将数据写回HDD,这个能力可谓是HDD技术发展几十年来梦寐以求的能力。对HDD来说,Optane Memory既迁就了它的低速、“同意”用时间换总量,又挡住了严重影响用户体验和小数据频繁读写,对延长寿命、降低功耗颇有贡献。
新性能指标
如今,对寻求性能的PC来说,配备SSD是相当不错的选择,但与此同时,容量和价格的问题困扰着它完全取代HDD,在预算允许的情况下,SSD+HDD的双盘方案成为可能。然而,从整体PC配备的硬盘情况来看,双盘的比例恰恰最低,从金钱到管理,成本问题是最大的障碍;使用集成NAND模块为HDD加速的SSHD产品配备率也不高,产品选择少、性能提升有限等因素是主要制约。对更多用户来说,单盘仍然是主要选择,而其中单HDD携容量和成本优势占据85%的份额。
Optane Memory很有可能改变这一市场格局,甚至成为实质拉动存储性能上新台阶的推手。在SSD价格不跌反涨的当下,Optane Memory可以让数TB容量的数据达到甚至超越SSD的性能表现,同价格情况下,SSD只有100GB量级的容量。回到刚才留下的包袱,除了局促的容量难以令SSD发挥出最佳性能,SSD在计算机系统逻辑中仍旧是外存设备,其上存储的是文件,但是Optane Memory在RST的帮助下,已经将HDD上的文件整理为内存直接可用的数据块,在系统调用时直接减少了数据转换的过程,对数据的访问响应更快至DRAM水平。
更具意义的部分在于,Optane Memory性能是如此出色,竟还被OS当作硬盘使用。当开启虚拟内存功能时,内存镜像要暂存至HDD,这个功能虽缓解了系统内存不足问题,但HDD太慢,动辄过GB虚拟内存页的读写交换过程严重影响体验。Optane Memory在此时变身为影子HDD,带来数十倍的速度提升,变相增加了系统内存容量,形成了类似Xeon平台+Optane SSD才能做到的内存池(Memory Pool)特性,即DRAM+Optane Memory(虚拟内存形式)。这也可以解释为何在实际测试中,4GB内存+16GB Optane Memory的系统比配备8GB内存的HDD系统性能更为出色了。
如今,主流PC的内存容量不过8GB-16GB,数百元的Optane Memory就能带来数千元内存才能做到的32GB-64GB内存性能和应用能力,更有本职工作 -- 加速HDD,真可谓以小博大的经典呀。
关键词: