Flashtec NVRAM加速卡以次微秒级延迟实现一千五百万次 IOPS
EnterpriseTech
PMC新近为超大规模数据中心的运营者及企业级存储供应商提供了一款崭新的产品,助其打造更为前卫的存储基础设施。PMC公司成立于三十年前,作为一家广受业界认可的半导体公司,过去专营通信领域的设备,于七年前进入企业存储市场。该公司刚刚研发成功了一款基于DRAM主内存与闪存混合的非易失性存储卡,实现了惊人的千万次IOPS(每秒输入/输出次数)。
这一速度胜出仅仅基于NAND闪存的PCIe卡十倍之多,如此优异的性能表现势必将受到诸多意图加速其应用的公司的瞩目。
新推出的NVRAM加速卡命名为Flashtec,基于PMC自己研发的支持NVMe协议的控制器。NVMe协议于近年推出,目的在于通过将操作系统内核和驱动剥离出来,使CPU和主内存得以专注于处理系统中的闪存设备,从而大大提升闪存的性能。PMC于2007年推出了首款6Gb/sec SAS/SATA和8Gb/sec FibreChannel控制器,随后并购了Adaptec,于2012年增添了12Gb/sec SAS产品。
同年,PMC又添新秀,在其产品线中加入了支持NVMe协议的闪存及NVRAM控制器,降低了I/O操作的延迟,并将I/O所需的计算时间减少了一半有余(与常规SAS协议相比)。这些控制器产品中至多有8TB闪存与之相连,对4KB大小的文件随机读能实现875,000 IOPS。该系列产品有两种配置,一种具有16个通道、针对PCI-Express x4插槽;另一种有8个通道、针对PCIe x8插槽。PMC还销售SAS 主机总线转接卡,去年还推出了SAS/SATA RAID控制卡。据PMC公司产品营销部门的资深总监Roger
Peene所言,2008年,也就是七年前,PMC在服务器上的SAS端口所占的市场份额还基本为零,而今,该项份额已经超过了50%。 但是,更具震撼性的消息还是在本周的闪存峰会上,PMC运用其业界首款NVMe闪存控制器而创造的全球首款支持NVMe协议的NVRAM加速卡。
Peene告诉与会记者,Flashtec NVRAM加速卡是一款PCI Express卡,与NVDIMM卡截然不同。NVDIMM卡的做法是将闪存置放在模块当中,再将这些模块以多种方式插入服务器的主内存槽。首先,NVDIMM需要BIOS支持,消耗内存插槽额外的能源,并且与应用竞争着处理器周期及内存总线带宽。NVDIMM也更接近处理器。由于内存总线比PCIe总线快得多,许多人认为NVDIMM是优选的解决方案。但是,PMC 推出的NVRAM混合方案将闪存与DRAM两者的长处合二为一,使之既可以作为内存,也可以作为理想的块存储设备。
该产品的特异之处正在于此,因为Flashtec加速卡的用途因此而多种多样。当应用通过NVMe接口来进行基于块的访问时,使用的是存储用语——打开、读出、写入等等,并以固定的块大小来访问卡上的DRAM,和访问闪存或磁盘存储并无二致。而在另外一种速度更快的内存映射访问模式时,该卡拥有一个直接的内存接口,具备64位内存映射及寻址,此时,应用使用的是内存用语——载入及存放,DMA引擎则访问卡上存储于DRAM的数据。在这两种使用模式下,存储于DRAM的数据总是即刻备份到了闪存之上。
Peene介绍说,若想将Flashtec用作写缓存,那么就要将它配置成一台块设备;但若想更新元数据或者数据库记录,那么更加自如的办法是内存映射模式。无论怎样,卡速都是惊人的块。
据Peene介绍,在内存映射模式下,对于4KB随机读,Flashtec能达到的IOPS峰值为4.3 million;对于4KB随机写,其峰值为4.6 million。(DRAM可以达到几乎相同的读和写性能,然而,单单闪存则无法实现这一点。)在读性能方面,该卡的性能大约十倍于固态盘。如果关注点是元数据和数据库负载的写性能,Flashtec在64位随机写条件下能实现15 million IOPS,大约是SSD的性能的100倍。(SSD能达到的IOPS约在50,000到100,000的范围)。在块模式下,对于4KB大小的文件,Flashtec
NVRAM加速卡能达到约1 million IOPS。
Flashtec加速卡还可以进行分区,同时以内存映射和块模式运行。下图显示了NVRAM在延迟方面的表现及其在存储层级中的相应位置:
FlashtecNVRAM 加速卡系列分别带有4GB、8GB、16GB的DRAM内存。PMC主要采用了Micron Technology的产品作为卡上内存和闪存芯片,并且正在寻求第二家元件供应商。PMC并未明确告知卡上有多少闪存,但指出卡上闪存的容量至少是DRAM容量的一倍,这样用户至少可以对DRAM上的数据作出两个备份。Peene提到,数据库及元数据缓存所需的容量上限为16GB,因此不需要在卡上配置1TB或2TB 的DRAM及闪存。(虽然从工程设计的角度来看,大容量的考量还是有其挑战,并且也可能存在某种适合的应用场景…)将DRAM内容备份到闪存需时低于30秒,总共可以处理逾5,000次备份周期;而将数据从闪存恢复至DRAM则需时不到60秒。
PMC的NVRAM加速卡的设计初衷在于解决DRAM主内存与闪存本质上的若干缺陷。DRAM存在易失的问题,电源一出故障,其上的数据就不复存在。闪存则是非易失的,意味着其上的数据可以存放数月之久,而无须任何供电;但闪存单元随着每次写周期而发生损耗。此外,闪存随着时间推移而耗损,并且在往闪存写入新数据之前,必须要对闪存上的区段进行覆盖,因而更加剧了损耗过程。闪存SSD的每日写(DW/D)上限为10次,而据Peene介绍,企业存储所需的每日写次数为50到1,000次。闪存显然无法达到这样的指标。PMC认为,在其他种类的非易失性存储上市之前,NVRAM加速卡不失为一种理想的解决方案,即将DRAM与闪存相结合,由闪存对DRAM进行备份,在服务器电源出问题时,由卡上的超级电容模块来将数据
从内存备份到闪存。超级电容的存在使得服务器厂商或超大规模数据中心的运营者在设计使用设备时,无需在系统中为关键型负载而给主内存加入不间断电源或电池备份单元,从而大大缩减了整个机架的成本。
任何已经有闪存层涉及在内的应用都可能受益于Flashtec加速卡的加速功能。可能的应用包括将其用于横向扩展式文件系统中的元数据存储,或作为全闪存阵列中的高速缓存层。内存中数据库的日志记录也可以利用Flashtec来提升其性能,效果远远优于单单采用SSD或者基于闪存的PCI-Express卡。
Flashtec NVRAM加速卡可以插入PCI-Express 3.0 x8插槽,半高尺寸,RedHat Enterprise Linux 6.5和7.0内嵌对此卡的支持,显然,其他操作系统也将紧随其后。PMC表示,与市面上其他NVRAM产品相比,Flashtec加速卡的定价将会很有竞争力。Flashtec加速卡将于第四季度上市,目前,已有一些最早采用该技术的客户在进行试样。