[发明专利]数据校验的方法、装置以及网卡在审
申请号: | 201710867695.7 | 申请日: | 2017-09-22 |
公开(公告)号: | CN107766261A | 公开(公告)日: | 2018-03-06 |
发明(设计)人: | 曲会春;吴沛 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/14 | 分类号: | G06F12/14 |
代理公司: | 北京龙双利达知识产权代理有限公司11329 | 代理人: | 张欣,王君 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 校验 方法 装置 以及 网卡 | ||
技术领域
本申请涉及存储领域,并且更具体地,涉及数据校验的方法、装置以及网卡。
背景技术
随着在网络上传输的NVMe(Non-Volatile Memory express over fabric,NVMf)技术的发展,远程直接数据存取(Remote Direct Memory Access,RDMA)在存储领域的低时延技术中将发挥越来越重要的作用。RDMA是为了解决网络传输中服务器端数据处理的延迟而产生的数据传输技术。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。
基于RDMA的上层协议(Upper Level Protocol,ULP)业务通常会将访问存储空间的输入输出IO业务分解成RDMA Send、RDMA Read操作和RDMA Write操作,其中RDMA Send用于传输IO控制命令,RDMA Read和RDMA Write用于传输IO数据(即,待传输的目标数据)。
在第一设备与第二设备之间传输目标数据的过程中,第二设备中可以实现RDMA功能的网络适配器(RDMA enable network interface controller,RNIC)会将需要传输的目标数据封装成至少一个RDMA报文,并将上述至少一个RDMA报文通过RDMA消息发送至第一设备的RNIC,第一设备的RNIC在接收到上述至少一个RDMA报文中的最后一个RDMA报文后,第一设备的RNIC直接向第二设备的RNIC发送ACK。
然而,第一设备的RNIC直接向第二设备的RNIC发送的确认字符(Acknowledgement,ACK)仅能表示第一设备接收到最后一个RDMA报文,而第二设备无法通过第一设备发送的ACK确定RDMA报文中的目标数据是否被存储到了第一设备的内存中。
发明内容
本申请提供一种数据校验的方法、装置以及网卡,在一定程度上可以验证目标数据中的至少部分是否被存入第一设备的内存中,有利于提高第二设备对目标数据在第一设备中的存储结果的可信度。
第一方面,提供一种数据校验的方法,包括:第一设备的第一远程直接数据存取网络接口卡RNIC通过第二设备的第二RNIC,从所述第二设备的第二内存中获取第一数据,所述第一数据为待传输的目标数据中的至少部分数据;所述第一RNIC将所述第一数据缓存在所述第一RNIC的缓存中;在所述第一RNIC将所述目标数据存储到所述第一设备的第一内存中之后,所述第一RNIC从所述第一内存中读取所述目标数据中的第二数据,所述第二数据和所述第一数据为所述目标数据中位置相同的数据;若所述第一RNIC确定所述第一数据和所述第二数据相同,所述第一RNIC向所述第二RNIC发送ACK。
本申请实施例中,第一RNIC通过确定第一数据和第二数据是否相同,对存储在第一内存中的数据进行校验,确定待传输的目标数据中第一数据被正确存储到第一内存中,并通过ACK通知第二RNIC,相对于现有技术中,第一RNIC在接收到最后一个RDMA报文之后直接向第二RNIC发送ACK的方式而言,有利于提高第二设备对目标数据在第一设备中的存储结果的可信度,也就是说增强了第一设备向第二设备发送的ACK的可信度。上述第一设备向第二设备发送的ACK还可以用于指示目标数据中的第一数据被正确存储在第一内存中,有利于提高上层业务应用对RDMA的直接数据存取(Direct Memory Access,DMA)结果的信任度。
进一步地,当上述第一数据为部分目标数据时,也就是说,仅验证一部分目标数据是否被存入第一内存中,对第一RNIC中缓存的容量的要求较低,在一定程度上可以节约缓存的成本。
若上述第一数据是目标数据的全部数据时,相当于对目标数据中的全部数据进行了验证,有利于确定目标数据是否全部被正确存储第一内存中,相对于只验证部分目标数据的方案而言,进一步提高了ACK的可信度。
可选地,所述ACK用于指示所述第一数据和所述第二数据相同,也就是说,上述第一数据被存储在第一内存中。
可选地,上述第一数据可以是以目标数据在第二设备的第二内存中对应的内存地址的末地址为起点,向所述目标数据在第二设备的第二内存中对应的内存地址的首地址的方向,读取预设的内存地址长度后得到的数据,相应地,上述第二数据也可以是以目标数据在第一设备的第一内存中对应的内存地址的末地址为起点,向所述目标数据在第一设备的第一内存中对应的内存地址的首地址的方向,读取预设的内存地址长度后得到的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710867695.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电脑机箱面板(3053)
- 下一篇:智能管控终端
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置