[发明专利]数据传输方法、装置和设备有效
申请号: | 201810588950.9 | 申请日: | 2018-06-08 |
公开(公告)号: | CN108984450B | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 李正杰;栗炜;胡骋 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 肖庆武 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据传输 方法 装置 设备 | ||
本申请公开了一种数据传输方法、装置、第一设备和服务器,该方法包括:当接收到SQ中第一命令的执行结果时,第一设备修改命令状态表中第一命令的执行状态为已完成;第一设备确定命令状态表中记录的前n个命令的执行状态均为已完成,该前n个命令为SQ中存储顺序连续的至少一个命令;第一设备按照该前n个命令在SQ的存储顺序,将该前n个命令的处理数据发送给应用,该前n个命令的处理数据包括该前n个命令的执行结果。如此,可以保证SoC向应用返回处理数据的顺序与应用向SoC传输命令的顺序一致,实现SoC对命令的保序处理,从而可以有效避免应用发生逻辑混乱,满足应用需求。
技术领域
本申请涉及计算机技术领域,特别涉及一种数据传输方法、装置和设备。
背景技术
随着计算机技术的发展,往往会在计算机设备中接入其它设备来进行命令处理。例如,计算机设备中可以接入片上系统(system on chip,SoC),SoC中设置有硬件加速器,可以辅助计算机设备中的应用进行命令处理,从而可以改善计算机设备的系统性能,提升系统处理速度。
目前,如图1所示,SoC中设置有驱动模块、加速器、提交队列(submission queue,SQ) 和完成队列(completion queue,CQ)。应用将命令传输给SoC;SoC中的驱动模块将命令添加到SQ中;SoC中的加速器从SQ中取出命令并执行,且每执行完成一个命令后,将其执行结果添加到CQ中;驱动模块依次将CQ中的执行结果携带于处理数据中返回给应用。在此过程中,由于SoC中通常设置有多个加速器,且各个加速器执行命令的时间不确定,所以有可能造成CQ中执行结果的添加顺序与SQ中命令的存储顺序不一致,也就是说,先存储到 SQ的命令,体现在CQ中时可能是在较后的时间点执行完成,继而导致SoC向应用返回处理数据的顺序与应用向SoC传输命令的顺序不一致。
例如,应用依次将命令3、命令4、命令5和命令6传输给SoC。SoC中的驱动模块将这四个命令依次添加到SQ中,SoC中的多个加速器从SQ中取出命令并执行。假设加速器1执行命令3和命令6,加速器2执行命令4,加速器3执行命令5,由于各个命令的大小可能不同,所以执行完成各个命令的时间点可能不同,假设先执行完成命令5,再执行完成命令4,然后执行完成命令3,最后执行完成命令6,则依次将命令5、命令4、命令3和命令6的执行结果添加到CQ中。之后,驱动模块依次将CQ中的这四个执行结果携带于处理数据中返回给应用。这种情况下,应用向SoC传输命令的顺序为:命令3、命令4、命令5、命令6, SoC向应用返回处理数据的顺序为:命令5、命令4、命令3、命令6,两者顺序不一致。
然而,应用的命令之间往往有逻辑关系存在,即前面的命令的处理数据往往会对后面的命令的处理造成影响,因而应用往往希望SoC返回的处理数据的顺序与应用传输给SoC的命令的顺序是一致的。如果两者顺序不一致,则很有可能导致应用发生逻辑混乱,难以满足应用需求。
发明内容
本申请提供了一种数据传输方法、装置和设备,可以解决相关技术中返回处理数据的顺序与应用传输命令的顺序不一致的问题。所述技术方案如下:
第一方面,提供了一种数据传输方法,所述方法包括:
当接收到提交队列SQ中第一命令的执行结果时,第一设备修改命令状态表中第一命令的执行状态为已完成,然后第一设备确定命令状态表中记录的前n个命令的执行状态均为已完成,该前n个命令为SQ中存储顺序连续的至少一个命令,n为正整数。之后,第一设备按照该前n个命令在SQ的存储顺序,将该前n个命令的处理数据发送给应用,该前n个命令的处理数据包括该前n个命令的执行结果。其中,SQ用于存储应用发送的命令,第一命令为SQ存储的命令中的任意一个命令,命令状态表用于记录SQ中至少一个待处理的命令在SQ的存储顺序,以及该至少一个待处理的命令中每个命令的执行状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810588950.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电路装置以及电子设备
- 下一篇:信号驱动方法及通信设备