一种基于NVMe的网络化存储系统及方法技术方案

技术编号:19488955 阅读:25 留言:0更新日期:2018-11-17 11:59
本发明专利技术涉及存储系统技术领域,提供一种基于NVMe的网络化存储系统及方法,系统包括用户层、终端、网络存储端和SSD Flash;终端接收用户层接收用户命令和数据,并将用户命令和数据转换为符合NVMe‑OF协议的命令和数据,同时将符合NVMe‑OF协议的命令和数据通过RDMA Fabric网络链路传送给所述网络存储端;网络存储端接收终端发送的符合NVMe‑OF协议的命令和数据,并对命令和数据进行解析,获取所述命令的类型,并依据命令的类型处理数据,实现在终端和网络存储端之间通过硬件逻辑实现,模块化结构清晰,性能高,而且可以方便的集成到存储和加速等系统环境中。

【技术实现步骤摘要】
一种基于NVMe的网络化存储系统及方法
本专利技术属于存储系统
,尤其涉及一种基于NVMe的网络化存储系统及方法。
技术介绍
非易失性内存主机控制器接口(Non-VolatileMemoryexpress,NVMe)是专门为闪存类存储设计的协议,其可以充分利用PCIe(peripheralcomponentinterconnectexpress)通道的低延时以及并行性,极大的提升固态硬盘的读写性能。NVMeoverFabric(NVMe-OF)是在基本NVMe协议上发展而来的一种在网络传输层中承载NVMe功能的规范。传统的NVMe是基于PCIe总线的,只能完成主机与本地存储设备的传输,而NVMe-OF可以构造在其他的传输层协议基础之上,通过网络互联结构,主机可以访问到任何一个存储节点,在例如大型的数据中心中提供了一种高性能的存储方案。目前,NVMe-OF协议还属于比较初级的阶段,市场上这类产品或者是解决方案较少,又或者通过软件层次实现NVMe-OF功能,这种设计方案通常难以获得较高的性能。
技术实现思路
本专利技术的目的在于提供一种模块化结构清晰、性能高且可方便集成到存储、加速系统环境的基于NVMe的网络化存储系统。本专利技术是这样实现的,一种基于NVMe的网络化存储系统,包括用户层、终端、网络存储端和SSDFlash;所述终端与所述用户层连接,用于接收所述用户层接收用户命令和数据,并将所述用户命令和数据转换为符合NVMe-OF协议的命令和数据,同时将符合NVMe-OF协议的命令和数据通过RDMAFabric网络链路传送给所述网络存储端;所述网络存储端通过所述RDMAFabric网络链路终端连接,同时与所述SSDFlash连接,用于接收所述终端发送的符合NVMe-OF协议的命令和数据,并对所述命令和数据进行解析,获取所述命令的类型,并依据所述命令的类型处理数据。作为一种改进的方案,所述终端包括第一RDMA收发模块、第一SQ、第一CQ、处理模块和终端存储器,所述第一RDMA收发模块均与所述第一SQ、第一CQ、处理模块和终端存储器连接,所述处理模块均与所述第一SQ、第一CQ、处理模块和终端存储器连接;所述处理模块接,用于收所述用户层发送的命令请求,并将所述命令请求转换为符合所述NVMe-OF协议的命令,并将符合所述NVMe-OF协议的命令发送在第一SQ中,同时将所述第一CQ中的完成报文命令转换为用户层可查看的命令,反馈给所述用户层;所述第一RDMA收发模块,用于将所述第一SQ中的命令转发给所述网络存储端,并接收所述网络存储端反馈的完成报文命令,将接收到的所述完成报文命令转存在所述第一CQ中。作为一种改进的方案,所述网络存储端包括第二RDMA收发模块、第二SQ、第二CQ、控制模块和数据存储器,所述第二RDMA收发模块均与所述第二SQ、第二CQ、控制模块和数据存储器连接,所述控制模块均与所述第二SQ、第二CQ、控制模块和数据存储器连接;所述第二RDMA收发模块,用于接收所述第一RDMA收发模块发送的命令,将所述第一RDMA收发模块发送的命令存储在所述第二SQ中,同时接收所述第二CQ发送的完成报文命令,并将所述完成报文命令发送给所述第一RDMA收发模块;所述控制模块,用于对所述第二SQ中的命令进行解析,并按照所述命令执行对应的数据处理动作,当执行完成后,生成完成报文命令,并将生成的所述完成报文命令存储在所述第二CQ。作为一种改进的方案,所述命令包括Fabric命令、Admin命令和IO命令;所述Fabric命令用于完成所述终端与所述网络存储端之间的网络连接,所述Admin命令进行包含日志、属性在内的内容的管理,所述IO命令用于实现读写功能。本专利技术的另一目的在于提供一种基于基于NVMe的网络化存储方法,所述方法包括下述步骤:终端的第一RDMA收发模块启动PostSend,向第二RDMA收发模块发送一个写命令;所述第二RDMA收发模块接收到所述写命令后,向所述第一RDMA收发模块返回一个响应ACK;当接收到所述响应ACK后,所述终端释放掉第一RDMA收发模块对应的RDMA队列中相应的空间;对所述写命令进行解析,剥离得到NVMe-OF命令,并将得到的所述NVMe-OF命令放入第二SQ;控制模块从所述第二SQ中获取所述NVMe-OF命令,并解析;当所述NVMe-OF命令为写命令时,在数据存储器内分配一片空间用于数据存储;通过所述第二RDMA收发模块启动PostSend,向所述第一RDMA收发模块发送一个读数据命令;从所述终端的终端存储器中读取与所述读数据命令相匹配的数据;控制模块控制将读取到的数据存储到SSDFlash中;当数据写入完成后,控制模块将完成报文命令放入第二CQ中;第二RDMA收发模块从所述第二CQ中取得完成报文命令,并启动PostSend,向所述第一RDMA收发模块发送所述完成报文命令;所述第一RDMA收发模块在接收到所述完成报文命令时,向所述第二RDMA收发模块返回一个响应ACK;当接收到所述第一RDMA收发模块反馈的响应ACK时,所述网络存储端释放掉第二RDMA收发模块对应的RDMA队列中相应的空间;所述终端的处理模块接收到完成报文命令后,将释放掉所述数据对应的内存空间。在本专利技术实施例中,基于NVMe的网络化存储系统包括用户层、终端、网络存储端和SSDFlash;终端接收用户层接收用户命令和数据,并将用户命令和数据转换为符合NVMe-OF协议的命令和数据,同时将符合NVMe-OF协议的命令和数据通过RDMAFabric网络链路传送给所述网络存储端;网络存储端通过RDMAFabric网络链路终端连接,同时与SSDFlash连接,用于接收终端发送的符合NVMe-OF协议的命令和数据,并对命令和数据进行解析,获取所述命令的类型,并依据命令的类型处理数据,实现在终端和网络存储端之间通过硬件逻辑实现,模块化结构清晰,性能高,而且可以方便的集成到存储和加速等系统环境中。附图说明图1和图2分别是本专利技术提供的基于NVMe的网络化存储系统的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1示出了本专利技术提供的基于NVMe的网络化存储系统的结构框图,为了便于说明,图中仅给出了与本专利技术实施例相关的部分。基于NVMe的网络化存储系统包括用户层、终端、网络存储端和SSDFlash;所述终端与所述用户层连接,用于接收所述用户层接收用户命令和数据,并将所述用户命令和数据转换为符合NVMe-OF协议的命令和数据,同时将符合NVMe-OF协议的命令和数据通过RDMAFabric网络链路传送给所述网络存储端;所述网络存储端通过所述RDMAFabric网络链路终端连接,同时与所述SSDFlash连接,用于接收所述终端发送的符合NVMe-OF协议的命令和数据,并对所述命令和数据进行解析,获取所述命令的类型,并依据所述命令的类型处理数据。其中,终端和网络存储端通过FPGA硬件连接实现,通过RDMAFabric网络互联。系统可以使用模块化的结构构建。如图2所示,终端包括第一RDMA收发模块、第一SQ本文档来自技高网...

【技术保护点】
1.一种基于NVMe的网络化存储系统,其特征在于,包括用户层、终端、网络存储端和SSD Flash;所述终端与所述用户层连接,用于接收所述用户层接收用户命令和数据,并将所述用户命令和数据转换为符合NVMe‑OF协议的命令和数据,同时将符合NVMe‑OF协议的命令和数据通过RDMA Fabric网络链路传送给所述网络存储端;所述网络存储端通过所述RDMA Fabric网络链路终端连接,同时与所述SSDFlash连接,用于接收所述终端发送的符合NVMe‑OF协议的命令和数据,并对所述命令和数据进行解析,获取所述命令的类型,并依据所述命令的类型处理数据。

【技术特征摘要】
1.一种基于NVMe的网络化存储系统,其特征在于,包括用户层、终端、网络存储端和SSDFlash;所述终端与所述用户层连接,用于接收所述用户层接收用户命令和数据,并将所述用户命令和数据转换为符合NVMe-OF协议的命令和数据,同时将符合NVMe-OF协议的命令和数据通过RDMAFabric网络链路传送给所述网络存储端;所述网络存储端通过所述RDMAFabric网络链路终端连接,同时与所述SSDFlash连接,用于接收所述终端发送的符合NVMe-OF协议的命令和数据,并对所述命令和数据进行解析,获取所述命令的类型,并依据所述命令的类型处理数据。2.根据权利要求1所述的基于NVMe的网络化存储系统,其特征在于,所述终端包括第一RDMA收发模块、第一SQ、第一CQ、处理模块和终端存储器,所述第一RDMA收发模块均与所述第一SQ、第一CQ、处理模块和终端存储器连接,所述处理模块均与所述第一SQ、第一CQ、处理模块和终端存储器连接;所述处理模块接,用于收所述用户层发送的命令请求,并将所述命令请求转换为符合所述NVMe-OF协议的命令,并将符合所述NVMe-OF协议的命令发送在第一SQ中,同时将所述第一CQ中的完成报文命令转换为用户层可查看的命令,反馈给所述用户层;所述第一RDMA收发模块,用于将所述第一SQ中的命令转发给所述网络存储端,并接收所述网络存储端反馈的完成报文命令,将接收到的所述完成报文命令转存在所述第一CQ中。3.根据权利要求2所述的基于NVMe的网络化存储系统,其特征在于,所述网络存储端包括第二RDMA收发模块、第二SQ、第二CQ、控制模块和数据存储器,所述第二RDMA收发模块均与所述第二SQ、第二CQ、控制模块和数据存储器连接,所述控制模块均与所述第二SQ、第二CQ、控制模块和数据存储器连接;所述第二RDMA收发模块,用于接收所述第一RDMA收发模块发送的命令,将所述第一RDMA收发模块发送的命令存储在所述第二SQ中,同时接收所述第二CQ发送的完成报文命令,并将所述完成报文命令发送给所述第一R...

【专利技术属性】
技术研发人员:王硕
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1