存储 频道

全闪存进入NVMe时代,致胜未来永快一步

  正所谓,“天下武功,唯快不破”。少年时总会羡慕武侠小说中快到极致的六脉神剑和凌波微步,分分钟秒杀一大片高手;如今,在全闪存存储领域,NVMe正在让这种“快”得以实现。

  传统的SAS协议是为机械硬盘设计,复杂的系统架构、过多的协议解析、有限的队列并发能力,这一切都成为限制SSD能力充分发挥的瓶颈。NVM Express组织由此制定了NVMe协议标准,去掉了SAS系统中的IO Scheduler和SCSI等复杂的协议层,换成轻量级的NVMe协议,率先实现NVMe的全闪存阵列在性能上表现卓越。

  华为从2005年开始闪存技术的研究,在闪存领域具有13年的持续积累和大量闪存核心专利,华为目前已经是存储行业内拥有SSD盘片级专利最多的厂家之一,尤其是华为针对NVMe协议做了深入的研究,在业内唯一端到端开发了NVMe SSD盘、NVMe闪存控制器和NVMe全闪存操作系统,基于强大的能力矩阵华为在业内率先实现了全系列端到端NVMe产品OceanStor Dorado V6全闪存存储,达到业界最快的0.1ms时延。

  

  图一:SAS与NVMe整体对比

  那么,华为NVMe全闪存阵列性能比其他全闪存好在哪呢?

  第一,在传输路径层面,SAS全闪存阵列的IO从前端服务器通过存储设备的FC/IP前端接口协议传输到CPU--> CPU通过PCIe链路和PCIe交换机--> SAS芯片-->SAS Expander-->SAS SSD;

  

  图二:业界SAS全闪存与华为NVMe全闪存传输路径对比

  而华为NVMe全闪存支持端到端NVMe,数据I/O从前端服务器通过存储设备的FC-NVMe/NVMe Over RDMA前端接口协议到达CPU,后端采用100G RDMA直接到达NVMe SSD。显然,NVMe全闪存阵列的CPU和NVMe SSD直接通信,传输路径更短,传输效率更高,传输延迟更少。

  作为业界率先实现全系列端到端NVMe全闪存的厂商,华为OceanStor Dorado凭借NVMe over Fabrics实现SSD资源全共享,同时提供32G FC-NVMe和NVMe Over 100G RDMA全IP组网设计,实现前端网络连接、后端硬盘框连接、scale-out的控制器互联均采用同一种网络协议,其优势是显而易见的。第一,极大降低了存储时延,极致时延可达0.1ms;第二,改变以往存储网络管理七国八治的局面,采用1套IP系统管理整个数据中心,避免复杂的网络协议和规划,极大简化了数据中心内的部署和节省维护成本。第三,业界大部分存储仅在高端实现端到端NVMe,华为全系列NVMe的配置可以根据自身的经济状况选择技术领先且商务匹配的产品型号,为用户提供更灵活的选择。

  

  图三:华为支持NVMe Over Fabric的端到端方案

  第二,在软件协议解析层面,SAS和NVMe全闪存阵列在数据写入的协议交互技术差异较大。一次完整的主机数据写入请求,如果采用SAS后端的SCSI协议,一共需要通过4次协议交互,才能完成一次完整的数据写入操作;而华为NVMe全闪存只需要2次协议交互就能完成一次写操作,处理写请求的效率比SAS全闪存高1倍。

  

  图四:SAS与NVMe协议解析对比

  第三,在协议封装层面,采用SAS协议栈全闪存的IO请求从块设备出来后,需要经过SCSI协议、SAS协议的两层封装,才能通过SAS链路达到SSD;而华为NVMe全闪存的IO请求从块设备出来后,只需要经过NVMe协议的一层封装就能通过后端链路达到SSD。由此可见,华为NVMe全闪存的协议栈更加精简,减少了50%的协议封装开销,从而节省了每一次协议封装导致的CPU资源消耗和缩短IO传输延迟。

  第四,在多队列并发层面,SAS协议是单队列,而NVMe协议可支持多达64K个队列,每个队列支持最多64K个命令并发。NVMe多队列可以实现更高的并发处理,与SSD盘的多通道以及多个Die形成更好的配合,提供更好的性能。

  第五,在锁机制优化层面,SAS单队列在多核环境编程必须加锁保护,华为针对NVMe设计了一套IO调度机制,彻底取消原来IO路径上的盘级互斥锁,避免IO下发时队列锁冲突,多个线程和多队列相互配合,充分发挥多核的并发优势,降低软件开销,实现最佳性能。

  至善至稳,安身立命之本

  存储协议向更高效的NVMe协议发展毋庸置疑,但作为一种全新的协议,在带来极致性能的同时,也给盘片和系统的设计带来新的挑战。

  企业存储领域通常采用双控冗余技术保障系统高可靠,但是基于PCIe的双端口技术是SSD设计面临的一个难题,目前有些厂家的SSD不是原生双PCIe端口,比如Intel目前的部分NVMe SSD就是通过内部PCIe Switch实现的PCIe双端口,走这样的技术捷径必然导致系统可靠性的降低。

  商用的NVMe SSD盘必须要支持快速在线更换,而传统PCIe的热拔插的易用性体验不佳,特别是暴力热拔插(PCIe surprise hot plug)会导致系统异常,业务中断。

  大盘时代已来,如何应对海量数据的可靠性压力。

  存储单点的可靠性已经是一个难题,面对跨站点的可靠性设计又将走向何方。

  华为作为第一个吃螃蟹的人,它是否有能力做出足够稳定的全闪存阵列?通过12年以上的存储技术积累和1000个NVMe全闪存成功案例,华为给了我们一个有力回复。

  第一,在端口可靠性层面,华为自研SSD支持双端口技术,两个PCIe 3.0X2端口独立,互相不影响,为系统修复和异常处理提供了硬件基础,保证了系统双控冗余性,提升系统的可靠性。

  第二,在热插拔层面,华为存储在PCIe积累多年,具备完善的PCIe链路管理、PCIe异常处理技术、PCIe热拔插技术,并对PCIe驱动做了特殊设计,支持SSD盘在任何时间、以任何方式拔出,并提供端到端的PCIe系统可靠性,保障单盘更换或是发生故障时不扩散,保障系统可靠性。

  标准处理流程中,只要业务端I/O不停止,AER(Advanced Error Reporting)错误会一直上报,有可能会产生AER错误风暴,导致软件处理流程变得复杂和不及时。华为在PCIe驱动处理流程中会关闭AER,并及时停止I/O,避免错误风暴的产生。

  如果拔盘动作不够干脆,反复重新建链,进而导致反压错误产生。华为在PCIe驱动处理流程可以快速将链路断开,避免错误发生。

  当暴力拔盘不只是产生Surprise Down错误时,DPC(Downstream Port Containment)可由其他致命错误触发。相比标准处理流程,可更快断开链路,上层报文可更快返回。

  在慢拔盘场景中,通过快速断链技术保证系统稳定。

  华为在存储和硬盘领域多年积累的宝贵经验继续应用在NVMe系统中,提供完善的介质健康监控和寿命预测,以及软硬件故障监控、修复和隔离措施,独有的P3管脚上下电修复功能设计,为硬盘的异常修复提供彻底的解决方案,修复大部分SSD软失效故障,降低故障率。

  第三,在大盘数据保护层面,众所周知,大盘时代已来,大容量的SSD可以容纳更多的数据,我们可以采用更少的硬盘框就能满足大数据时代的诉求,从而节省了空间占用,减少电源和制冷的消耗,端到端节省TCO。但是所有硬盘制造厂商都隐藏了一个秘密,随着硬盘容量的增大,硬盘重构的时间也随着线性增长,类似传统RAID5或者RAID6的传统RAID技术,重构1TB数据的时间最快也需要5个小时,重构16TB需要80个小时。在如此漫长的时间内,再发生1-2块盘故障,传统RAID技术无法保障系统的可靠性,从而导致数据丢失,业务中断。这简直就是一场灾难!

  华为全闪存采用创新的RAID-TP软件技术,它基于Erasure Code算法,将校验位做到支持1、2、3位可调,容忍同一个RAID组内1-3块盘同时失效,在3块盘同时失效的情况下能够容忍数据不丢失,业务不中断。目前业内仅有华为、NetApp和HPE Nimble能够做到同时容忍3块盘失效,其他厂商都做不到,比如Dell EMC、HDS、IBM等均做不到。

  虽然NetApp和Nimble也能够做到同时容忍3块盘失效,但他们都是采用传统RAID的固定数据盘和热备盘架构,数据重构时热备盘成为性能瓶颈,恢复1TB数据需要5个小时;而OceanStor Dorado基于系统内的全局虚拟化,重构数据时所有盘都参与其中,并首创内置鲲鹏920处理器的硬盘框主导重构,从而减轻控制框的瓶颈,实现15分钟/TB的高效重构,重构速度领先业界20倍,真正能够应对大盘时代的挑战。

  第四,在跨站点数据保护层面,得益与超过15年存储积累,华为NVMe全闪存具备完备的数据保护技术,快照、克隆、远程复制等技术帮助客户建立了从本地到同城数据中心,以及异地数据中心的层层递进的数据保护方案。特别值得一提的是双活方案,华为率先在NVMe全闪存领域实现免网关双活方案,基于闪存的硬件和软件优化,双活时延达到1毫秒,性能业界最高,RPO为0,RTP约等于0,保障业务7*24高可用,并支持从双活方案平滑升级到3DC方案,提供更高级别的可靠性。

  把握趋势,创造未来

  无论在人工智能、大数据、自动驾驶、区块链等先进领域,还是在传统医疗、制造、金融等行业,核心技术创新已经成为企业发展的主要推动力。华为存储在全闪存领域的持续投入和技术创新,帮助企业应对数字洪流,快速推进数字化转型。通过引入新的SCM介质进一步提升系统性能,凭借NVMe over Fabrics实现SSD资源全共享,同时提供前端NVMe接口,优化系统硬件和软件架构,华为致力打造更具竞争力的全闪存存储。

  如需更深入、更全面的了解全闪存,请预约参加“智能时代,闪存普惠千行百业” 2020年华为全闪存技术论坛,3月25日15:00-16:30。

  

0
相关文章