【技术实现步骤摘要】
网络接口卡、消息收发方法和存储装置
[0001]本申请涉及存储领域,尤其涉及一种网络接口卡、消息收发方法和存储装置。
技术介绍
[0002]目前许多数据不是存储在本地,而是存储在远端的存储装置中。如图1所示,本申请实施例提供了一种存储系统,包括存储装置11、主机(host)客户端12。存储装置11通过前端网络(front
‑
end fabric)连接主机客户端12,可以为多个主机客户端12提供数据存储服务。随着基于非易失性存储器规范(non volatile memory express,NVMe)的固态驱动器(solid state disk,SSD)的兴起,越来越多的前端网络采用基于交换网的NVMe(NVMe over fabric,NoF)网络。远程直接内存访问(remote direct memory access,RDMA)是NoF网络中的一种标准,可以降低存储装置存取数据的时延。
[0003]如图1所示,存储装置11中包括多个控制器111、至少一个网络接口卡(network interface card,NIC)112和存储阵列113。前端网络采用RDMA网络时,主机客户端可以与一个控制器111建立一对一的队列对(queue pair,QP)连接,这种方式可靠性低,也就是说,当某一控制器发生故障时,会断开主机客户端与控制器之间的QP连接,存储装置将无法继续为主机客户端提供存储服务,影响了存储系统的可靠性。
技术实现思路
[0004]本申请实施例提供一种网络接口卡、 ...
【技术保护点】
【技术特征摘要】
1.一种网络接口卡,其特征在于,包括:解析器和至少一个共享连接器,所述解析器,用于接收来自主机客户端的与第一队列队QP连接对应的第一发送SEND消息,并将所述第一SEND消息分发给所述至少一个共享连接器中的第一共享连接器;所述第一SEND消息包括远程直接内存访问RDMA操作命令;所述第一共享连接器,用于:根据所述RDMA操作命令以及RDMA操作当前阶段得到发送给第一控制器的与所述第一QP连接对应的非易失性存储器规范NVME信息;检测到与所述第一控制器之间链路的断开事件时,与第二控制器交互以使所述第二控制器获取所述NVME信息;从所述第二控制器获取工作队列元素WQE,所述WQE由所述第二控制器根据所述NVME信息得到;根据所述WQE向所述主机客户端发送与所述第一QP连接对应的第一RDMA消息。2.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO读命令,在所述第一共享连接器向所述第一控制器发送NVME信息之前,或者,在所述第一控制器通过所述第一共享连接器发送RDMA写消息之前,发生所述断开事件,所述第一RDMA消息为RDMA写消息。3.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO读命令,在所述第一控制器通过所述第一共享连接器发送RDMA写消息的首包期间发生所述断开事件,所述第一RDMA消息为所述RDMA写消息。4.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO读命令,在所述第一控制器通过所述第一共享连接器发送RDMA写消息的中间包或尾包期间发生所述断开事件,所述第一RDMA消息为包括IO响应的第二SEND消息,所述IO响应指示读操作完成,所述第一共享连接器,在所述根据所述WQE向所述主机客户端发送与所述第一QP连接对应的第一RDMA消息之前,还用于:向所述主机客户端发送所述RDMA写消息的伪造尾包,所述伪造尾包的载荷随意填充,所述伪造尾包的报文序列号PSN为发生所述断开事件时所述RDMA写消息待发送的RDMA报文的PSN。5.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO读命令,在所述第一控制器通过所述第一共享连接器发送RDMA写消息之后:在接收到所述RDMA写消息的否定确认消息之前,或者,由于接收到所述RDMA写消息的否定确认消息而发送所述RDMA写消息的重传报文之前,发生所述断开事件,所述第一RDMA消息为包括IO响应的第二SEND消息,所述IO响应指示读操作完成,所述第一共享连接器,在所述根据所述WQE向所述主机客户端发送与所述第一QP连接对应的第一RDMA消息之前,还用于:向所述主机客户端发送所述RDMA写消息的伪造重传报文,所述伪造重传报文的报文序列号PSN为发生所述断开事件之前所述RDMA写消息的已发送的最后一个RDMA报文的PSN。6.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO读命令,在所述第一控制器通过所述第一共享连接器发送包括IO响应的第二SEND消息期间,发生所述断开事件,所述IO响应指示读操作完成,所述第一RDMA消息为所述第二SEND消息。7.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO写命令,在
所述第一共享连接器向所述第一控制器发送所述NVME信息之前,或者,在所述第一控制器通过所述第一共享连接器发送完RDMA读请求消息之前,发生所述断开事件,所述第一RDMA消息为RDMA读请求消息。8.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为IO写命令,在所述第一控制器通过所述第一共享连接器接收RDMA读响应消息期间,发生所述断开事件所述第一RDMA消息为RDMA读请求消息,所述第一共享连接器,在根据所述WQE向所述主机客户端发送与所述第一QP连接对应的第一RDMA消息之前,还用于:向所述主机客户端发送所述RDMA读响应消息对应的肯定确认消息。9.根据权利要求1所述的网络接口卡,其特征在于,所述RDMA操作命令为包括立即数的IO写命令,在所述第一控制器通过所述第一共享连接器接收立即数期间,发生所述断开事件,所述第一RDMA消息为包括IO响应的第二SEND消息,所述IO响应指示接收立即数失败,所述第一共享连接器,在根据所述WQE向所述主机客户端发送与所述第一QP连接对应的第一RDMA消息之前,还用于:向所述主机客户端发送所述第一SEND消息的肯定确认消息。10.根据权利要求1
‑
9任一项所述的网络接口卡,其特征在于,所述第一共享连接器,与第二控制器交互以使所述第二控制器获取所述NVME信息,包括:所述第一共享连接器向所述第二控制器发送通知消息,所述通知消息用于通知所述第二控制器获取所述NVME信息。11.根据权利要求1
‑
9任一项所述的网络接口卡,其特征在于,所述第一共享连接器,与第二控制器交互以使所述第二控制器获取所述NVME信息,包括:所述第一共享连接器向所述第二控制器发送所述NVME信息。12.一种消息收发方法,其特征在于,应用于如权利要求1
‑...
【专利技术属性】
技术研发人员:韩兆皎,利建波,罗新冬,晏大洪,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。