The invention relates to the field of data transmission, in particular to a method for realizing NVMe network storage, a terminal, a server and a system thereof. The method of the embodiment comprises a terminal generates a non-volatile memory NVMe instruction; terminal NVMe instruction will be sent to the server through the SQ RDMA; when the indicator data read operation NVMe instructions, reads the data sent through the RDMA server terminal receives the instructions; or, when NVMe refers to write data operation so that when the terminal writing data to be sent to the server through the RDMA terminal; the receiving server sent via RDMA NVMe to complete the instruction; terminal will complete NVMe instructions written to terminal CQ. Cases of solutions through a combination of RDMA and NVMe in the invention, the CQ layout in NVMe terminal, SQ layout in NVMe server, can reduce an interactive terminal and server in NVMe operation times and reduces the complexity of CQ, so as to improve the performance of NOF.
【技术实现步骤摘要】
一种NVMe网络化存储的实现方法、终端、服务器及系统
本专利技术涉及数据传输领域,具体涉及一种NVMe网络化存储的实现方法、终端、及服务器及系统。
技术介绍
传统的存储架构里,由于硬盘访问速度的局限,以往通用的串行接口(SerialAdvancedTechnologyAttachment,SATA)和串行连接小型计算机系统接口(SerialAttachedSmallComputerSystemInterface,SAS)接口完全能够满足硬盘的带宽需求,而面对闪存速度上百倍的提升,接口的带宽成为了输入输出端口(Input/Output,I/O)的最大瓶颈。AMD公司的Fusion-io的成功就直接源于其开发的专利PCIe(PeripheralComponentInterconnectExpress,PCIe)闪存卡,可以加入到服务器中进而实现对应用的加速,并达到微秒级的低访问延迟,而SATA/SAS则无论如何无法达到这个水平。因此在闪存时代,接口规范需要重大变革。从而针对PCIe接口制定的非易失性存储器(Non-volatileMemoryExpress,NVMe)标准由此应运而生。目前的NVMe是一个针对使用PCIe固态硬盘(SolidStateDrives,SSD)的企业和普通客户端系统开发的可扩展的主机控制芯片接口标准。由于基于本地存储的NVMe技术扩展比较困难,应用场景十分有限,无法发挥NVMe的高并发的优势。随着NVMe技术的进一步发展,出现了一些基于NVMe的网络化存储(NVMeoverFabric,NOF),例如将远程直接数据存取(Remote ...
【技术保护点】
一种NVMe网络化存储的实现方法,其特征在于,包括:终端生成非易失性存储器NVMe指令,所述NVMe指令中指示读取数据操作或写入数据操作;所述终端通过远程直接数据存取RDMA将所述NVMe指令发送至设置于服务器内的请求队列SQ;当所述NVMe指令中指示所述读取数据操作时,所述终端通过所述RDMA接收所述服务器发送的待读取数据;或,当所述NVMe指令中指示写入数据操作时,所述终端通过所述RDMA向所述服务器发送待写入数据;所述终端接收所述服务器通过所述RDMA发送的NVMe完成指令;所述终端将所述NVMe完成指令写入设于所述终端内的完成队列CQ。
【技术特征摘要】
1.一种NVMe网络化存储的实现方法,其特征在于,包括:终端生成非易失性存储器NVMe指令,所述NVMe指令中指示读取数据操作或写入数据操作;所述终端通过远程直接数据存取RDMA将所述NVMe指令发送至设置于服务器内的请求队列SQ;当所述NVMe指令中指示所述读取数据操作时,所述终端通过所述RDMA接收所述服务器发送的待读取数据;或,当所述NVMe指令中指示写入数据操作时,所述终端通过所述RDMA向所述服务器发送待写入数据;所述终端接收所述服务器通过所述RDMA发送的NVMe完成指令;所述终端将所述NVMe完成指令写入设于所述终端内的完成队列CQ。2.根据权利要求1所述的NVMe网络化存储的实现方法,其特征在于,所述终端通过所述RDMA将所述NVMe指令发送至服务器的SQ包括:所述终端将所述NVMe指令转换成所述RDMA支持的第一工作队列元素WQE;所述终端的第一RDMA收发模块将所述第一WQE发送至所述服务器的第二RDMA收发模块,以使得所述第二RDMA收发模块将所述第一WQE解析成NVMe指令并写入SQ。3.根据权利要求2所述的NVMe网络化存储的实现方法,其特征在于,若所述NVMe指令中指示写入数据操作,在所述终端通过RDMA向所述服务器发送待写入数据之前,所述方法还包括:所述终端接收所述服务器通过所述第二RDMA收发模块向所述第一RDMA收发模块发起的RDMA读取请求。4.根据权利要求2所述的NVMe网络化存储的实现方法,其特征在于,所述终端接收所述服务器通过所述RDMA发送的NVMe完成指令包括:所述第一RDMA收发模块接收所述服务器通过所述第二RDMA收发模块发送至所述第一RDMA收发模块的第二WQE;所述第一RDMA收发模块将所述第二WQE解析成所述NVMe完成指令。5.根据权利要求2至4中任一项所述的NVMe网络化存储的实现方法,其特征在于,若所述NVMe指令中指示读取数据操作,所述终端通过RDMA接收所述服务器发送的待读取数据具体为:所述第一RDMA收发模块接收所述第二RDMA收发模块发出的所述待读取数据。6.根据权利要求1至4中任一项所述的NVMe网络化存储的实现方法,其特征在于:所述方法还包括:所述服务器从所述SQ中读取所述NVMe指令。7.一种NVMe网络化存储的实现方法,其特征在于,包括:服务器接收终端通过远程直接数据存取RDMA发送的NVMe指令,并将所述NVMe指令写入设置于所述服务器内的请求队列SQ,所述NVMe指令中指示读取数据操作或写入数据操作;所述服务器从所述SQ中读取所述NVMe指令;当根据所述NVMe指令确定为读取数据操作时,所述服务器通过所述RDMA将所述待读取数据发送至所述终端;或,当根据所述NVMe指令确定为写入数据操作时,所述服务器通过所述RDMA接收所述终端发送的待写入数据;所述服务器生成NVMe完成指令;所述服务器将所述NVMe完成指令通过所述RDMA发送至设置于所述终端的CQ。8.根据权利要求7所述的NVMe网络化存储的实现方法,其特征在于,所述服务器接收终端通过远程直接数据存取RDMA发送的NVMe指令包括:所述服务器通过所述服务器的第二RDMA收发模块接收所述终端的第一RDMA收发模块发送的第一WQE;所述服务器将所述第一WQE解析成所述NVMe指令。9.根据权利要求8所述的NVMe网络化存储的实现方法,其特征在于,若根据所述NVMe指令确定为读取数据操作时,所述服务器通过所述RDMA将所述待读取数据发送至所述终端具体为:所述服务器通过所述第二RDMA收发模块向所述第一RDMA收发模块发送待读取数据。10.根据权利要求8所述的NVMe网络化存储的实现方法,其特征在于,若根据所述NVMe指令确定为写入数据操作时,在所述服务器通过所述RDMA接收所述终端发送的待写入数据之前,所述方法还包括:所述服务器通过所述第二RDMA收发模块向所述第一RDMA收发模块发起RDMA读取操作。11.根据权利要求8至10中任一项所述的NOF的实现方法,其特征在于,所述服务器将所述NVMe完成指令通过所述RDMA发送至所述终端包括:所述服务器将所述NVMe完成指令转换成RDMA支持的第二WQE;所述服务器通过所述第二RDMA收发模块将所述第二WQE发送至所述第一RDMA收发模块。12.一种终端,其特征在于,包括:第一处理模块,用于生成非易失性存储器NVMe指令,所述NVM...
【专利技术属性】
技术研发人员:邓师平,刘洪广,郭海涛,邱鑫,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。