还记得第一次使用固态盘时的感受吗?我还记得,在2008年时,我的搭载硬盘驱动器(HDD)的笔记本电脑反应迟钝。对于它的卡顿,我已经忍无可忍了——每当病毒扫描程序开始访问硬盘驱动器时,它就差不多完全卡死。终于有一天,我安装了英特尔 X-25M固态盘。我的笔记本电脑顿时重新焕发活力,反应迅速。笔记本电脑卡顿的日子一去不复返,我甚至注意不到病毒扫描程序什么时候开始运行。
回想起当时的情景,我之所以对系统非常不满意,是因为它的内存与存储层级结构中存在差距。DRAM与硬盘之间的时延差距非常之大——从~80纳秒到~3毫秒不等。因而我的CPU会浪费大把时间来等待数据。之后,时延大约50微秒的NAND固态盘横空出世,力挽狂澜。我的内存与存储层级结构问题得到了解决,其修复效果显而易见。
时至今日,我们又一次发现自己需要存储层级结构中新的技术。NAND固态盘虽然很棒,但是它们的时延比刚面市时略长一些——这相当于一种折中方案,目的是让它们能够容纳更多数据。CPU的性能也在不断提高,因此相比以前,NAND 固态盘上的数据离CPU更远了。这一次,数据中心内的感觉最为明显——在数据中心,数据集的规模以每三年翻一番的惊人速度增长。
近期,英特尔在韩国首尔举办了 “内存&存储日”的活动,我有幸与来自英特尔的多位专家一道,就这个主题向来自全球的影响力人士发表看法。我们展示了内存与存储层级结构之间出现新差距的原因,以及英特尔®傲腾™技术和英特尔® 3D NAND技术如何弥合这些差距,使内存和存储层级结构变得完整。今天,我将重点探讨层级结构,以及随着时间的推移,我们将在哪方面看到性能与容量差距。
上图展示了内存和存储层级结构。想象一下,CPU在最顶部,每一层级都(自下而上)逐渐保留“更热”的数据,使处理器可以快速访问这些数据。根据90/10规则(90%的时间都在访问10%的数据),我们希望每个层级的容量能够达到上一层级的10倍,但是性能只有十分之一。该系统把频繁访问的数据向上移动、不经常访问的数据向下移动。
那么,为什么会出现图中的差距呢?这些差距是日益增长的数据计算需求与底层内存技术发展趋势之间的不匹配造成的。还记得我刚才提到的吗?——如今,数据以每三年翻一番的速度增长,这个速度令人难以置信。但每个DRAM裸片的容量每四年才翻一番。这种不匹配意味着我们不能在DRAM中存储尽量多的数据,就时延而言离处理器很近。因此,在DRAM下面有一个差距——内存容量差距。
图1:随时间推移而变化的读取时延
此外,我们发现,虽然NAND以足够快的速度(每2年翻一番)增加容量,但随时间推移,它会有相对恒定的时延。因此,随着CPU提速,NAND固态盘中的数据似乎渐行渐远。由此造成了DRAM与NAND固态盘之间的另一个差距——即:存储性能差距。
图2:随时间推移而变化的写入带宽
使问题进一步复杂化的是:我们发现内存技术倾向于增加容量,而不是增加吞吐量。这意味着每单位容量的带宽随着时间的推移而减少,从而延长了访问任何特定层大数据集所需的时间。这使得差距进一步加剧。
弥合这两个差距需要一项新技术,这种技术的容量比DRAM更高、成本却更低,但是它并不需要DRAM级的性能(时延和吞吐量)。由于新内存还必须显示为存储,因此,它必须在整个重启过程中拥有持久性。这一新内存便是同时被纳入英特尔傲腾™固态盘和英特尔®傲腾™数据中心级持久内存的英特尔3D XPoint介质。
英特尔傲腾固态盘的时延大约是10µsecs,只有NAND固态盘的十分之一。更好的一点是:它们能够快速、可靠地返回数据,在这方面远超NAND固态盘。也就是说,英特尔傲腾固态盘弥合了部分差距,使更多内存更靠近 CPU。
英特尔傲腾数据中心级持久内存使得英特尔傲腾内存可直接通过加载存储质量进行访问,并不需要操作系统干预。它们还允许访问单一缓存行。数据能够以100纳秒的速度被访问(~100纳秒-~340纳秒之间,具体取决于DRAM缓存命中率)。因此,作为持久内存,英特尔傲腾内存介质弥合了层级架构中的另一个差距。
我们还展示了容量每两年翻一番的NAND如何能够存储当前存在硬盘中的一些数据,把这些数据迁移到更靠近处理器的地方。英特尔3D NAND在每芯片面积容量方面处于业界领先地位。
这意味着什么呢?也就是说,数据中心目前正在疲于应对离CPU太远的大量数据,就像我们面对2008年的笔记本电脑苦苦挣扎一样。而现在,数据中心总算可以喘口气了。我们在内存技术和系统技术方面的进步取得了成效,就如同首款固态盘一样,改变了游戏规则。在英特尔,我们正在努力完善层级结构,以帮助数据中心重新焕发生机。