冬瓜哥这几天和一位朋友聊天,聊到了存储行业到底下一个爆发点是什么,其实谁都不知道,我们都处于一个准静态过程中。就拿NVMe SSD来说,企业用户估计多数都还没用呢,SATA/SAS SSD还刚用上。纵观历史,很难有某种新技术,能在短期内获得大量革命性部署的,旧的技术和产品总有强大的阻力和阻尼系数。所以,一个新技术的推广,一定是相关厂商强力推动和生态建设的结果。
存储行业的关键在于存储介质,我们有幸经历了磁介质到Flash介质的时代飞跃。Intel是业界屈指可数的几家同时拥有NAND和主控的厂商,也正因如此,SSD市场基本上是Intel的主场。然而作为业界前沿厂商,总是会领先几步。虽然NAND Flash目前已经可以做到QLC,144层堆叠,但是冬瓜哥认为NAND Flash的致命缺点真的足够“致命“,这些缺点注定导致NAND Flash一定会是固态介质时代的开拓者同时也是奠基者。NAND Flash的下一步会是什么?我想Intel也给出了答案,那就是在寿命、Retention、延迟、速度、管理等方面规避了NAND缺点的非易失性存储介质。
Optane,傲腾,就是第一款被规模化商用的领先于NAND的非易失性存储介质。由于NAND Flash是一整个生态,包含NAND厂商、主控厂商、SSD厂商、Host FTL软件开发者等角色,而Optane与NAND相比,由于前者规避了很多NAND的缺点,这就使得Optane的主控复杂度会被弱化很多,所以早期生态建设只有靠Intel自己了,孤独的勇士。
如果说存储行业下一个爆发点是什么,我觉得可能也就是固态介质再往前走一步了,就像SCSI到SATA/SAS一样,规避了SCSI的缺点,而一致沿用至今二十多年,而且依然没有被彻底抛弃的态势,5~10年应该还能继续支撑。Optane相比NAND,就犹如SATA/SAS相比SCSI,能够持续几十年的市场。Intel或许已经看到了这个苗头,在Optane生态建设方面可谓是不遗余力。
Intel的傲腾存储产品,之前已经介绍过多次了,不得不说是一项黑科技,Intel对其寄予厚望。今天冬瓜哥就来“黑一黑”傲腾,看看这黑科技到底有多黑。
3D X-point(Optane的学术名)介质,据传是一种相变介质,与NAND Flash Cell直接向Cell中充电放电的机制不同,3D X-point是利用电流改变Cell中相变介质的晶体状态从而产生不同电阻,来表示不同状态,这个过程远快于对Cell进行充电,而且寿命问题在整个生命周期中可以忽略不记。所以其并不需要NAND那种极度复杂的管理方式。
基于Optane介质的固态存储器覆盖了各种形态,包括M.2接口的消费类平台存储器,NVMe SFF8639接口的企业级SSD,PCIe标准插卡的企业级SSD,以及DDR4-T接口的内存条形态。
一应俱全的产品形态,覆盖消费和数据中心平台,可见Intel对Optane介质信心满满。另外,国内服务器存储厂商浪潮还将基于傲腾介质的一款双端口NVMe SSD用于其存储系统的加速缓存。
Optane的性能介于DRAM与NAND之间,更偏向于DRAM。以至于业界有人讨论,到底是用傲腾来替代DRAM,还是用作DRAM与NAND之间的缓存。其实,根据不同场景,这两种模式都可以。
在某Spark SQL项目中,傲腾介质实现了6~17倍的性能提升;在内存模式下,在某金融科技公司项目的Redis内存数据库中表现出了与DRAM相当的性能,而成本降低了25%左右。
在浪潮推出的VSAN方案中,使用了傲腾SSD作为 VSAN的缓存层,在保持成本相当的配置下,与NVMe SSD相比,性能提升了50%——在某种程度上来说,这也是一种成本节约。
傲腾介质有多种用法。
对于SSD形态的傲腾:
-
可以直接用作传统SSD,比NAND Flash SSD快得多。
-
可以采用各类第三方软件或者Intel开发的OpenCAS软件将傲腾SSD作为I/O加速缓存使用。
对于内存形态的傲腾:
-
当作一块RAM Disk,上层当作常规块设备,不过这样用浪费了傲腾的性能,优点则是对上层完全透明,不需要任何改变。
-
当作一块Persistent RAM类型的OEM Defined内存区域,需要BIOS和OS共同适配,其中BIOS需要识别出这块内存的特殊性从而在设备表中做对应标记,从而让OS启动之后并不会将其纳入常规内存管理,也就是不会分配给进程,而是需要加载特殊驱动,比如PMEM driver。这个Driver加载之后,会生成对应的DAX 类型的块设备,可以直接承载支持DAX的文件系统,比常规块设备+文件系统访问速度要更快。另外基于DAX块设备,利用libpmem库可以实现向上层应用细粒度的分配这块内存。不过常规的malloc()函数就无法使用了,所以需要应用层加以二次开发更改。这个模式又被称为“App Direct“模式。
-
被当作常规内存用,作为一个NUMA节点。目前有Linux内核开发者在NUMA管理模块中加入了针对傲腾这种性能低于DRAM的高速存储介质的管理模块。对于某些对访存性能不做太多要求的应用,完全可以将内存分配到Optane中。因为Optane存储器可以轻易做到高容量,比如单条256GB、512GB等,DDR4 DRAM目前是做不到这个容量密度的。
-
对上层软件完全透明,由CPU上的Memory Controller实现DRAM与Optane内存之间的数据缓存。这种应用方式可以彻底的透明,效果也非常不错,但是需要使用Intel新一代的CPU,因为这个特性需要Memory Controller实现。
如此多的灵活用法,也会给傲腾大规模部署带来必要的条件。
好马配好鞍。傲腾的发展一定离不开各类软件。包括内核驱动比如PMEM Driver,用户态库比如libpmem,以及用户态库SPDK等,以及缓存加速软件OpenCAS等,这其中Intel直接独自开发了OpenCAS和SPDK,可见Intel的软硬件实力。
除此之外,Intel对傲腾在各行各业的应用模型也有深刻的了解,目前已经开始部署在了各类主流应用系统中。
下图展示了Intel总结的傲腾存储器所应用在主流业务系统的占比。这些数据对于整个业界有很强的参考价值。
不得不说,傲腾的软硬件黑科技的确强大,也只有Intel这样的厂商能够玩得转了。
傲腾大师课首页:
https://bizwebcast.intel.cn/optane/