随着网络带宽的高速扩展,各种PC、智能设备和移动计算终端帮助个人、组织和企业创造了海量的数据。根据国际数据公司IDC的预测:到2025年人类创造的数据总量将达到163ZB,将比2016年创造出的数据总量增加十倍。其中,企业端数据的存储量将从之前的30%提升到50%以上。
在这些海量数据中,有的数据价值千金,也有很多数据存储起来就好。那么我们应该如何高效地利用好这些数字财富呢?数据分层是一个必然的选项。和10年前传统的“冷、热”数据分层不同,今天大数据时代的用户应用需求已经将数据本身的热度进一步细化。其中包括:需要实时处理、对访问延迟有严苛要求的“热数据”;需要经常访问,对存储系统读写性能要求较高的“温数据”;以及只需进行备份、访问频率很低的“冷数据”。这同时也带来了更加细分的硬件需求。
在最近10年里,以英特尔为代表的存储业界厂商陆续发布了3D NAND和3D XPoint两项革命性的存储技术,衍生出了傲腾数据中心级持久内存(Optane DC Persistent Memory)、傲腾数据中心固态盘(Optane DC SSD)和QLC 3D NAND SSD三大类新品。无论是读写性能、耐用性还是使用成本,它们相对于以往的存储产品都有很大的提升。接下来,就请大家和我们一起来了解它们将如何改变“存储的世界”,如何满足应用带来的全新需求。
自计算机体系结构确立后,其存储能力就被提到了一个非常高的地位上。不过问题在于:受制于工程、技术和制造等各方面的难题,早期的存储设备发展并不顺利,读写速度也非常慢,并且容量更是小到我们今天难以想象的程度。
“上古时期”的计算机都配备了一条条长长的纸带,纸带上打满了孔,或者是一些打了孔的卡片—没错,那就是早期的计算机输入输出设备。由于缺乏可靠、方便的存储和输入、输出设备,人们只好将命令翻译成1010101指令,通过打孔器写在纸带或者卡片上,计算机将一条条指令读入,计算完成后再通过在纸带上打出的孔洞将结果输出,最后再由转译人员翻译出来计算结果。
到后期存储器则进化为和纸带有些类似的磁带,当然后者存储密度大得多。磁带存储数据的优点在于容量较大,但问题在于磁带并非随机读写设备。受制于磁带本身的物理结构构造,如果需要找到一定的数据,机器甚至需要读取完整个磁带。
很显然,磁带这样的设备因为顺序读写的限制,在速度上完全满足不了快速发展的计算机需求。因此,人们考虑加快存储设备的速度,尤其是增加随机读取特性,而这样的需求就带来了“温彻斯特存储架构”。所谓温彻斯特存储架构,是指通过可移动的磁头臂在旋转的盘片上不同位置(磁道)使用磁感应的方式存储数据,这也是当今机械硬盘的主要工作原理。
虽然机械硬盘找寻数据的速度比磁带快了很多,但它仍存在先天不足—假如需要读取3个数据,分别存放在磁盘的最内圈、中间圈和最外圈,机械硬盘需要移动3次磁头,并等到盘片旋转至相应的位置,才能将数据读取出来,这个过程被称为寻道,所耗费的时间被称作寻道时间。假设每次移动磁头需要10毫秒,那么10次就是100毫秒—如此长的时间严重影响了硬盘的随机性能,如何解决这个问题?最终经过多年的研究与积累,科学家在非机械结构的NAND芯片上找到了答案。
机械部件再快也存在延迟,无法和迅如闪电的电信号相比。那么,怎么使用电信号存储数据呢?为了解决这个问题,技术人员们发明了NAND结构并将其实物化为NAND闪存芯片。在1992年,英特尔就制造出了12MB的NAND存储产品,不过当时闪存芯片成本极高,12MB的存储设备需要多块芯片支持,因此在早期这样的产品往往只用在特殊领域。
▲英特尔在1992年就推出了容量为12MB、基于NAND闪存芯片的存储设备,在2014年英特尔更打造出了存储容量达2TB的固态盘。
近年来随着技术的发展,NAND闪存芯片成本大幅下降,最终其实用化的产品上市,这就是大名鼎鼎的固态盘即SSD—由多颗NAND闪存芯片组成的大容量存储设备。
固态盘一上市,就以超越机械硬盘数十倍的随机读写速度、革命性的使用感受征服了无数用户。在使用了固态盘后,操作系统启动时的随机小文件加载速度得到了大幅提升,操作系统本身的启动甚至可以在数秒内完成。
不仅如此,之前机械硬盘的一些“老大难”问题:比如大量工作碎片文件存储读取、大容量数据转移等,在固态盘出现后都得了根本性改善。同时固态盘也得到了消费者很高的接受度,自2008年英特尔首次推出两款主流SSD:X18-M与X25-M后,其SSD产品与其CPU产品一样得到了高速的发展。
当然像所有产品一样,固态盘也有自己的不足。首先在性能上,固态盘与计算机中的上一级存储设备:内存仍存在很大的差距,内存的访问延迟小于0.1微秒,传输带宽也可轻松达到每秒几十GB,而传统固态盘的访问延迟一般还是会接近上百微秒左右,并且单块固态盘的最高传输速度、随机读写性能与内存相比还是相距甚远。同时由于NAND闪存先天的设计机制,很多SSD还存在使用得越久、性能就越差的问题。
企业的数据存储主要分为热数据、温数据和冷数据这3个层次。热数据即需要立即进行处理的数据,例如银行收到的转账请求,即时的地理位置等。温数据是非即时的状态和行为数据,例如用户近期感兴趣的话题,或用户最近去过的地方等。冷数据则是不经常访问的数据,例如企业备份数据、业务与操作日志数据、话单与统计数据等。
在硬盘问世之初,根据不同层次的数据存储在不同设备上的异构存储雏形就已显现—温数据主要存储在机械硬盘上,热数据则主要由内存处理,但由于内存容量较小,还会使用部分硬盘容量作为虚拟内存存储热数据,几乎很少用到的冷数据则存储在磁带机上。这样存储数据的问题也很明显,不论是机械硬盘还是磁带机的性能都非常低,经常可以看到硬盘灯狂闪,程序应用却迟迟没能启动或数据传输时间过长的状况。而随着SSD的问世,为了更加高效地存储海量数据,各层次数据的存储方式又有了一些改变。
为了合理分配预算,现阶段企业常见的数据存储方式是热数据使用内存进行处理,温数据大多存储在SSD里,冷数据则保存在机械硬盘里。不过这里存在的问题就如前面所说—三个级别的存储设备性能差异太大,访问延迟不到0.1微秒的内存还是要“耐心”等待近百微秒级SSD在数据上的传输,而且其传输的数据量远远跟不上内存的传输能力;其次由于内存价格偏高,因此内存的容量也无法同SSD、硬盘相比,易出现存储热数据时容量不足,从而造成处理器处理数据必须直接从SSD或机械硬盘等低速设备中读写数据,降低整体处理速度。
而冷数据仅仅只使用机械硬盘或磁带机显然也会带来很低的效率。就拿机械硬盘为例,其访问延迟是10毫秒级别,也就是说在10000微秒左右,单块机械硬盘的连续读取速度难以突破300MB/s,在QD32下的随机4KB IOPS也很难达到1000,与QD1下就能轻松实现5000 IOPS的SSD相比完全是天壤之别。那么对于企业级用户来说,应该如何解决这些问题呢?
对于这些问题,英特尔给出的解决方案就是在原有存储体系中加入傲腾数据中心级持久内存、傲腾DC固态盘、英特尔QLC 3D NAND SSD这三类产品,打造多级异构存储架构。其中傲腾数据中心级持久内存、傲腾DC固态盘都使用相同的存储介质—3D XPoint,但两者的设计、作用又有所不同。
▲加入傲腾数据中心级持久内存、傲腾DC固态盘、英特尔QLC 3D NAND SSD这三类产品可以提升整个存储系统的容量、性能、效率。
傲腾数据中心级持久内存即Optane DC Persistent Memory,也被简称为傲腾DCPMM。它采用了DDR4内存的外形设计,可以与英特尔Cascade Lake至强可扩展处理器搭配使用,其最主要的特性是通过使用DDR4接口,使得它具备1微秒以内的访问延迟,以及极高的存储密度,能够在系统中提供略低于内存的性能,但大得多的热数据存储容量,其双插槽平台最高可使用高达6TB的DCPMM。
▲傲腾数据中心级持久内存拥有接近传统DRAM内存的性能,但又具有非易失性,容量远超DRAM内存的特性,能够大幅提升数据中心应用效率。
在工作方式上,傲腾DCPMM有两种模式,一种被称为Memory Mode,另一种是APP Direct Mode。Memory Mode是指将傲腾DCPMM看作DRAM,以内存方式运行。在这种情况下,系统将向傲腾DCPMM给出大量的DRAM分配,使用傲腾DCPMM作为主存储器,DDR4作为缓冲器。
如果缓冲区数据包含直接需要的数据,那么将启用标准的DRAM快速读/写功能,而如果数据在傲腾中则会相对稍慢一些,但比读取传统SSD固态盘快得多,达到更高的效率。在这种模式下,数据是易失性的,一旦断电就会消失。
在APP Direct模式中,应用程序可以直接连接到内存部分,选择直接载入(Direct load)或者内存存储(Store Memory)模式,根据需要判断哪些数据适合在DRAM上存放,哪些适合在傲腾DCPMM中。一般来说,对延迟敏感且不需要长时间存储的数据可以交由DRAM负责,另外大部分数据则交给傲腾DCPMM,包括内存数据库、内存分析框架等都适合APP Direct模式。在这种模式下,数据是非易失性存放的,即使断电也不会影响到数据的安全性,可以快速重启系统,充分使用了傲腾DCPMM的非易失性特性。
总体来看,傲腾DCPMM是一项创新的内存技术,可以有效弥补DRAM内存容量不足、数据易失性的缺点,加速更多热数据的访问速度,减小访问延迟,帮助企业更快地从他们的数据密集型应用中获得深入洞察,并借助更高的虚拟机和容器密度提供不断改进的服务,以及可扩展性优势,缩短从系统存储中提取大型数据集关联的等待时间。
傲腾DC固态盘虽然使用同样都的存储介质,但它的外形、接口却较傲腾DCPMM有很大的改变—其外形不再是内存DIMM形式,而是设计成了AIC插卡式,以及U.2 2.5英寸外形,接口也变为了PCIe 3.0 x2~PCIe 3.0 x4。它主要用来加快部分热数据与温数据的数据传输,既可以用于整个存储系统中的缓存,也可以用来保存各类持久性数据。
▲傲腾数据中心固态盘的代表产品:DC P4800X,拥有很高的性能,可帮助消除数据中心存储瓶颈。
总体来说英特尔傲腾数据中心固态盘将内存和存储的属性与高吞吐量、低延迟、高服务质量 (QoS) 和高耐久性完美结合,其架构设计可在位级别执行写入操作,从而获得更快、更可预测的性能和更均衡的读写性能。
相对于SATA SSD,当前通过NVMe、PCIe接口设计的SSD就好比我们拓宽了道路的宽度,但在这条道路上,人们还需要更快的交通工具。就像北京到上海,无论把路修多宽,只要上面跑的是汽车,就都会有极限,因为汽车速度是有限的。而傲腾改变的是将路上跑的交通工具从汽车升级到更高级别的黑科技,跑的是另外一种交通工具,所以它能极大地缩短北京到上海的耗时,这就是傲腾的第一大意义—大幅降低访问延迟。相比传统NAND闪存,傲腾固态盘在性能上有质的提升。
延迟方面,它最高可以做到10~1微秒级别,虽然和内存DRAM的不到0.1微秒相比还是存在一定的差距,但是已远远好于NAND闪存的近百微秒的水平。英特尔数据显示傲腾DC固态盘的访问延迟不仅较传统HDD、SATA SSD大幅降低,即便与同样采用NVMe技术的NVMe NAND SSD相比,其优势也是非常大的——与采用3D NAND颗粒的英特尔DC P4600 SSD相比,傲腾固态盘DC P4800X的读取延迟在不同队列深度下,低了8~63倍。
同时傲腾DC固态盘还带来了强大的耐用性,之前英特尔的P4600企业级SSD已经拥有不错的表现,每天可全盘擦写3次。而傲腾DC固态盘每天可以全盘擦写60次,寿命是普通闪存产品的20倍。更值得一提的是,傲腾DC固态盘拥有非常优秀的性能一致性表现。这是因为傲腾固态盘的写入方式与基于闪存的SSD完全不一样—普通闪存在写入数据时,需要进行BLOCK块(一个块一般可存储30000多bit数据)级别的操作。
▲得益于3D XPoint介质,傲腾DC固态盘写入数据前不需要进行块擦除,可以直接写入数据,因此不存在后期性能衰减的问题。
简单地说如写入1bit数据这样的最小单位,在SSD为空白盘,各个BLOCK块都没有数据时,SSD可以直接写入。但如果预计写入的块上已经写有数据,就需要SSD先将整个块上的数据存入内存,再擦除整个BLOCK块,然后将原有数据与新的1bit数据写入到块上。这不仅大大消耗了闪存的写入寿命(实际写入数据=原有数据+新的1bit数据),更增加了写入流程,明显会降低写入速度。尤其是在SSD固态盘长时间使用后,各个块很可能都有数据存在的时候,再写入新的数据将不可避免地执行这繁琐的写入流程,导致写入性能远不如SSD在空白盘时的状态。
而傲腾固态盘是以bit这一最小单位为基础访问单位的,也就是说不管用户是在固态盘初始状态,还是在已经长时间使用后的状态,都是直接写入这1bit数据,不会有额外的写入放大,傲腾DC固态盘的性能不会有任何改变,性能一致性堪称完美。
同时基于傲腾技术的产品也在多个实际领域得到应用,如IBM云的裸金属服务器在采用英特尔傲腾DC固态盘之后,性能提升了7.5倍;比萨大学利用英特尔傲腾技术,将核磁共振成像 (MRI) 的扫描时间从42分钟缩短到4分钟。
对于温数据层的存储介质,英特尔更看好采用QLC颗粒的新款SSD。相比TLC闪存颗粒,QLC颗粒一个单元可以存储4bit数据,TLC颗粒只能存储3bit,因此在使用相同数量晶圆的情况下,QLC SSD的存储容量比TLC SSD提高了33%,性价比更高。同时QLC颗粒还可以借助英特尔的3D NAND堆叠技术,不断地往上堆叠,从32层到64层,到96层、128层,提升单颗芯片的存储容量。这会带来怎样的改变呢?
从前我们说到SSD的时候,我们认为它的容量一般就是从几百个GB到1TB、2TB,一般不会超过4TB,但是QLC SSD的容量可以轻松做到4TB到32TB。在数据中心领域,英特尔提供的QLC SSD就是其全新的D5系列,该系列除了传统的U.2接口,2.5英寸设计外,还有采用EDSFF直尺外形的产品,因此被英特尔称作‘Ruler’,即直尺的英文。
Ruler有三种,有短的Ruler,有长的,还有带散热片的。短的功率会比较小,其次是长的带散热片的长Ruler,1U的服务器可以装32块,再加上每块Ruler SSD的最大容量可以达到32TB,所以算起来是一台1U服务器里的存储容量就能达到1PB,比起传统的U.2这种架构,Ruler这种外形所需的散热气流可以减少一半。
而在使用机械硬盘的时候,服务器一般采用4TB的机械硬盘,需要256块机械硬盘才能实现1PB容量,需要占用整个机柜,如果采用QLC SSD现在只需要占用1U的空间。同时QLC SSD在功耗上也拥有很大的优势—相比机械硬盘,QLC SSD的功耗降低了64%,散热效率提高了2.8倍。在故障率上,机械硬盘的故障率大概在2%左右,而QLC SSD的故障率仅为0.4%。
性能方面,英特尔为QLC SSD配备了NVMe接口,可以保证SSD的传输带宽,降低访问延迟。而针对QLC颗粒写入性能下降的问题,在企业级QLC SSD方面,英特尔的解决方案是让其拥有更高级的缓存—Write Buffer,即使用专门的傲腾DC固态盘来为QLC SSD做缓存,对工作负载进行整合。
目前微软、亚马逊、阿里巴巴等行业领导者都在开发整合工作负载的软件,将不同类型的负载,包括随机访问都整合成顺序写入,这样QLC随机写入性能欠缺的问题在Write Buffer的帮助下就得以削弱,同时QLC颗粒的寿命也会得到延长。
不难看出,不论是傲腾DC固态盘还是3D NAND QLC固态盘,它们都有非常不错的性能。而更加值得一提的是,它们还可以降低企业存储系统的使用成本。
▲傲腾DC固态盘与QLC 3D NAND SSD的联手能够为Ceph对象存储进程的数据层带来更低的硬件成本,更大的存储容量和更高的系统性能。
虽然从表面看,同容量的傲腾DC固态盘比NAND SSD贵,但其大幅提升的寿命,以及低延迟带来的更强性能可以让用户完全不需要以用同样容量的傲腾DC固态盘去代替基于普通闪存的SSD。举例来说,国内某领先广电企业在使用傲腾解决方案后,新服务器整体价格仅比旧服务器高10%左右,但因为性能提升和内存的扩增减少的硬件投入成本,却使得整体方案成本降低了约44%,算下来能节省几十万、上百万的资金投入。
同样的道理也适用于3D NAND QLC SSD。如果企业准备用它来替代之前的TLC SSD,那么在达到相同容量的目的下,它可以少用33%的晶圆,同容量下QLC 3D NAND SSD的价格自然会比TLC SSD便宜不少,组建成本就能得到有效的降低。如果用它来替换机械硬盘,虽然现在同容量的固态盘价格还比机械硬盘贵一些。但就像前面所说,它不仅在性能上会带来较机械硬盘质的提升,像Ruler这样的高密度QLC SSD更可以大幅降低服务器的使用数量、占地面积、对散热设备的需求,以及功耗,即降低存储系统的运营成本 。
从英特尔傲腾技术开始研发,到第一款采用该技术的傲腾加速盘诞生,再到傲腾固态盘和傲腾数据中心级持久内存的问世,英特尔傲腾产品线越来越丰富,技术也日益成熟。傲腾在稳步发展的过程中获得了越来越多行业用户的认可,向我们证明了它的确拥有非常大的潜力。
而凭借更大的存储容量和更低的存储成本,英特尔QLC 3D NAND也将使低成本的全闪存阵列取代HDD阵列成为可能。不得不说,傲腾技术与QLC 3D NAND技术的结合,将帮助企业打造更高性能和更低成本的软件定义存储解决方案,并在开源技术的帮助下,充分发挥英特尔存储技术的优势,为用户提供兼得性能与容量的解决方案,它们也将成为存储技术未来的重点发展方向。