NVME Fabric 是你的未来吗?(4)

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

作者简介

唐杰

目前在Xilinx从事DC架构,曾任职于Fusion-IOLSI,希捷等公司。本文唐大师为你详解Xilinx NVMe Over Fabric的FPGA方案。

想要和唐大师还有全世界的大牛讨论SSD及存储相关技术?加nanoarch为微信好友,拉你进ssdfans微信群

–未来的存储

很荣幸参加了由Membalze主办的DCTC2016[1]大会,在Xilinx的展台上也展示了Xilinx的NVMe Over Fabric的方案。在和各路大侠的交流过程中也产生了很多新的想法,在这里谢谢Membalze公司对Xilinx的支持,这个算是Xilinx NVMe Over Fabric方案的第一次正式实物展出,从几个大数据中心的客户的Lab中走出来给大家看,我们也是向前走了一步。

感谢阿里巴巴的鸿蒙同学在会上提出了一个用户的要求来说明NVMe Over Fabric的必须性,他说他们有个土豪的云客户,需要一个9PB的全Flash的存储,这个需求在不使用Over Fabric的技术条件下基本上不可能的。

对于NVMe Over Fabric的技术大家都有兴趣,而且有一个问得最多的问题,这个也是存储行业问得最多的问题,掉电了会不会丢数据。俺就从这里展开吧。

在这个FPGA的Design中,RDMA的QPs 从主机的CPU的DDR中转移到FPGA的BRAM中实现,这个队列相对于RDMA的驱动实现来讲是全硬件电路,同理队列中消息的处理是完全使用硬件的Arbiter来实现消息的传递和处理。

对于RDMA中的数据,则是通过网络直接保存在FPGA中的DDR上,就是图中的TX 和RX的Buffers。在收到数据之后,需要生成NVMe的命令把数据最终写入NVMe的设备。同理,NVMe设备的CQ和SQ也是有硬件实现。

问题来了,大家都在问那FPGA掉电之后,是不是数据就没有了,答案是肯定的,数据肯定没有了,但是问题是,你的数据没有丢,因为这个写入没有成功。原因是在Xilinx的设计中,我们的data path是全部有硬件来实现,不用使用大家在软件世界中的DoorBell和Polling这样的技术,因为在通讯业打拼很久的我司直接把交换机中的Cut-Through forwarding的技术复制过来了。在任何一个NVMeOF的数据包的payload没有写入对应的NVMe盘之前,我们都不会返回成功。因此,如果出现掉电,你的数据肯定没有写入成功,再来就是。

这里就出现了一个有意思的问题,大家为啥关心这个问题呢,因为很简单,在传统的存储世界中,大家层层的用DRAM做cache,然后用大大小小的电池来保护和数据恢复。因为,DRAM和HDD的数据相差是至少是ns和ms的区别。因此,如果大家在传统的存储系统设计的过程中,HDD要用DDR做buffer,机头也用DDR做buffer,文件系统要用page cache做buffer。层层加速,层层防护,让我想起一个同学在大会上的吐槽, “我们的硬盘性能不够,加机器,我们的存储容量不够了,加机器,我们的内存不够了,加机器。”

因此,对于新兴存储介质的存储系统的定义,大家需要重新考虑,使用大量的X86系统的DDR做数据buffer,然后使用大量的X86的CPU来运行各种牛逼的算法,处理各种NVRADM的high speed log 做数据恢复,或者直接在用大大小小的电池做保护。这条路可以走多久,在NVMe Over Fabric的情况下是否还需要。要知道NVMe的延时是us级的,RDMA的网络延时可能是ns的,你是否还需要在中间夹上大量的DDR。在SDC 2015中,Chelsio[2]的同学给出了一个建议:

如果到过现场,听过俺讲解的都硬件知道,Xilinx的设计就在TODAY这个架构上。我们会在今年年底推出NVMeOF的开发板,这个开发板就是TOMORROW的架构了。这次先到这里,下一篇再讲一个大家在现场比较关心的问题。

引用:

[1] http://dctc2016.eventdove.com/

[2]http://www.snia.org/sites/default/files/SDC15_presentations/networking/WaelNoureddine_Implementing_%20NVMe_revision.pdf

分类目录 SSD, 技术文章, 未分类.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。