以内存级速度实现存储?XPoint正是我们的计划

随着计算能力虚拟化技术的普及,存储机制在速度上远逊于内存这一劣势开始变得愈发凸显。

以内存级速度实现存储?XPoint正是我们的计划

XPoint——服务器领域中被寄予厚望的未来发展方向

随着计算能力虚拟化技术的普及,存储机制在速度上远逊于内存这一劣势开始变得愈发凸显。

这一巨大的访问速度鸿沟一直是各项存储技术想要解决的核心难题:纸带、磁带、磁盘驱动器乃至闪存记忆体等等,而如今最新一代问题解决方案则成长为由3D XPoint领军的高速非易失性固态记忆体。

这种几乎能够在一定程度上将速度与内存看齐的新型存储方案将给服务器以及系统硬件与软件带来颠覆性的变革。

内存中的内容具备易失性或者说临时性,意味着电源关闭后其会直接消失。相比之下,存储设备中的内容即使失去电力支持也依然存在,因此我们将其称为持久性或者非易失性存储。

而固态、非易失性记忆体或者说NAND闪存在速度上则要远远高于磁盘以及磁带。

纳秒与微秒

内存访问时长约为200纳秒。其速度主要受到CPU缓存访问速度标准的影响,其中一级缓存访问约耗时半纳秒,二级缓存访问速度则为7纳秒。

磁盘驱动器需要将读取/写入磁头移动到对应的磁道处才能完成读写操作,其耗时约在1000万纳秒上下--即10毫秒或者10000微秒。其速度基本要比内存访问慢上两个量级。

而固态驱动器(简称)的速度则要远超于此。美光最新推出的9100 SSD是一款NVMe协议PCIe总线卡,其读取访问延迟为120微秒,写入访问延迟则为30微秒。其至少要比磁盘快上一个量级,但仍较DRAM写入访问慢150倍,读取访问更要慢上600倍。

为什么读取与写入之间存在的延迟时长差异?我们都知道,这是因为写入内容会被缓存在SSD的DRAM缓冲区内,而读取则直接接入速度更慢的NAND本身。

尽管NAND的速度要远高于磁带,但其仍然无法同内存相比肩,这意味着IO速度依旧制约着代码编写方式。具体来讲,编程人员需要限制IO强度,而服务器/存储系统工程师则需要努力利用NAND缓存机制克服磁盘数据延迟,并利用DRAM缓存进一步提升NAND访问时耗。

多插槽、多核心CPU服务器本身很容易遭遇IO等待问题,这是因为其存储子系统的运作速度只相当于内存速度的数百分之一。在这种情况下,处理器需要闲置并等待存储完成操作后方可继续工作。

访问时间中的鸿沟

如果我们将一级缓存的访问时长规定为1秒,而后以此为基础进行等比计算。因此,磁带访问的相对时长将达到6年4个月19小时33分又20秒。而速度更快的美光9100 SSD的相对时长为2天18小时40分钟。尽管与磁盘相比优势明显,但仍然远远无法同DRAM访问速度标准相比--后者仅为6分钟40秒。

如此巨大的访问时间鸿沟催生了易失性内存与持久性存储之间的新事物,即英特尔与美光联手打造的3D XPoint内存--这是一种新的非易失性固态存储形式。

以内存级速度实现存储?XPoint正是我们的计划

XPoint由相变记忆体材料构建而成,其采用硫化物晶体,并能够根据实际电压实现状态变更,从而引发电阻值切换。这种变更能够逆转,因此两种电阻值水平可被分别定义为1与0。该XPoint晶粒分为两层并采用通孔设计,这也是其3D名称的由来。

根据有关双方的说法,其量变机制与其它材料中由无状态到结晶态间的相变机制有所区别,但目前尚无更多进一步消息可供参考。

英特尔与美光双方发布的早期市场推广消息显示,其速度将达到普通闪存的1000倍,使用寿命亦为1000倍,而使用成本则在普通闪存与DRAM之间。

Objective Analysis公司的Jim Handy绘制了以下XPoint定位图:

以内存级速度实现存储?XPoint正是我们的计划

这是一份平面图表,其中两条轴分别为每GB使用成本与传输带宽,可以看到3D XPoint的位置处于NAND及DRAM之间。

XPoint细节信息

与NAND不同,XPoint采用字节寻址机制而非块寻址机制。英特尔方面指出,其将推出Optane品牌的XPoint SSD(即NVMe接入驱动器)与XPoint DIMM,意味着XPoint芯片能够以DIMM封装形式直接接入内存总线,而不必经由NVMe XPoint驱动器所采用的速度更慢的PCIe总线。

英特尔公司研究员兼首席3D XPoint存储架构师Frank Hady在最近于圣迭戈大学召开的2016年第七届非易失性内存研讨会上提供了与Optane相关的部分细节数据。

我们将内容汇总如下:

• 采用20纳米制程;

• SLC (单层单元);

• 7微秒延迟,或者换算为7000纳秒;

• 78500(七比三随机)读取/写入IOPS;

• NVMe接口。

XPoint的传输带宽目前尚不明确。

如果我们据此整理出一份涵盖内存与存储介质的延迟表格,从一级缓存到磁盘,那么结果将如下所示:

以内存级速度实现存储?XPoint正是我们的计划

其中延迟为7微秒的XPoint在速度上仅比DRAM慢35倍。这样的水平要远远优于NVMe NAND,其中美光的9100在写入与读取两方面分别较DRAM慢150倍与600倍。

如果我们选取以上表格中的前五条并将其整理为横向图,则如下所示:

以内存级速度实现存储?XPoint正是我们的计划

很明显,XPoint与内存间的延迟差距要远小于NAND。XPoint可用于NAND(或者磁盘)的缓存技术方案,不过这种用法并没有什么颠覆性可言--毕竟缓存就是缓存,没什么新鲜的。或者,我们可以将其作为一种内存形式,意味着应用程序将能够直接操作XPoint当中的数据--而非DRAM。

以DIMM形式封装的XPoint芯片预计将拥有低于7微秒的延迟表现,其可能也正是英特尔方面提到的XPoint存储级内存(简称SCM)。

系统与软件转变

配合SCM,应用程序不再需要从持久性存储当中获取数据。取而代之的是将数据直接移动至XPoint之内。而这还只是XPoint作为存储级内存--或者说持久性内存--给系统及软件带来的转变之一。

其它转变包括:

• 开发能够识别持久性内存的文件系统;

• 支持存储级内存的操作系统;

• 设计新的处理器方案以使用混合型DRAM与XPoint内存。

我们也期待看到Linux对XPoint存储级内存加以支持。

微软方面目前正着手在Windows当中添加对XPoint存储级内存的支持能力。其将提供零复制访问机制并配备Direct Access Storage分卷,即DAX分卷。DAX分卷拥有将文件及应用程序映射至内存中的能力,从而保证无需经由现有IO堆栈即可实现访问。

基于磁盘驱动器时代的代码堆栈同样需要进行调整。过去缓慢的磁盘操作速度令代码执行效率显得不那么重要,但考虑到XPoint的个位数微秒级访问能力,堆栈效率将在未来成为决定最终速度的关键。

XPoint影响服务器与存储

配备XPoint的服务器将在很大程度摆脱由IO带来的束缚。其缓存机制将更具效率。使用SCM的服务器将能够在内存当中承载更为庞大的应用程序,而数据写入时间也将大幅缩短。

另外,XPoint型服务器也应该能够支持更多虚拟机或者容器,其具体数量将远高于采用XPoint NVMe SSD的服务器。

存储阵列将能够在XPoint缓存的帮助下提升响应速度,且速度水平高于XPoint SSD。预计其将采用远程直接内存访问机制配合NVMe链路,从而实现共享式XPoint直连存储。

Fusion-io公司也曾利用其PCIe闪存卡推出过存储级内存方案,但该公司规模太小,很难在操作系统层面带来SCM级别的变更。英特尔与美光联手则拥有足够的份量,而且两家公司也都充分意识到XPoint硬件及软件供应商生态系统的重要意义。

如果XPoint真的能够实现其做出的全部承诺,那么可以预见,服务器方案的整体执行效率将迎来极为显著的提升。

考虑到XPoint在初步面世后必然面临产量不足的问题,因此其它电阻式RAM(即ReRAM)技术可能也将拥有发展空间。根据我们掌握的情况,目前SanDisk与东芝正在协作探索这一领域,但尚拿不出可与XPoint相匹敌的成熟方案。

来源:ZDNet存储频道(编译)

0赞

好文章,需要你的鼓励

2016

04/25

11:27

分享

点赞

邮件订阅
白皮书
数字化转型方略