主机与硬件加速模块的交互方法、硬件加速设备及介质技术

技术编号:20819784 阅读:33 留言:0更新日期:2019-04-10 05:53
本发明专利技术公开了一种主机与硬件加速模块的交互方法、硬件加速设备及介质,所述交互方法包括:响应主机的硬件加速命令;根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据。本发明专利技术有效降低主机与硬件加速模块之间通信方式的复杂度,有效降低在主机中升级或增加硬件加速模块过程的复杂度和代价。

【技术实现步骤摘要】
主机与硬件加速模块的交互方法、硬件加速设备及介质
本专利技术涉及计算机领域,特别是涉及一种主机与硬件加速模块的交互方法、硬件加速设备及介质。
技术介绍
硬件加速模块是指为主机提供计算加速的模块。硬件加速模块可以是附加在其他设备如存储设备中,也可以是单独的专门提供加速功能的设备。例如,在视频编解码技术中,如果使用主机的CPU(CentralProcessingUnit,中央处理器)用纯软件的方式来做编解码,编解码的容量有限;为了增加容量或减少视频编解码对CPU的资源消耗,可以将视频编解码的部分或全部功能用硬件来实现,即具有硬件加速功能的视频编解码器;其具体的产品可以是独立的视频编解码卡;也可以是内置于其他设备(如GPU)中的视频编码模块和/或视频解码模块。其中GPU为图形处理器,英语全称为GraphicsProcessingUnit。现有硬件加速模块中,主机与硬件加速模块之间的通信,需要通过厂家自定义的专用通信协议,或者公开标准的OpenCL(OpenComputingLanguage,开放运算语言)架构。但是为了支持这些硬件加速模块需要专用的设备驱动程序;如果采用公开标准的架构,也需要能够支持OpenCL的设备驱动程序;因此,在升级主机中硬件加速模块的过程中,往往需要增加或修改设备驱动程序,就意味着要重新编译操作系统内核,重新安装操作系统,并安装库函数和应用软件,因此这种升级方式比较复杂,代价比较高。针对现有技术中,主机与硬件加速模块之间通信方式复杂、增加或升级硬件加速模块的方式比较复杂、升级成本较高的问题,本领域未给出有效的解决方案。
技术实现思路
为了克服上述缺陷,本专利技术要解决的技术问题是提供一种主机与硬件加速模块的交互方法、硬件加速设备及介质,用以至少解决主机与硬件加速模块之间通信方式复杂的问题。为解决上述技术问题,本专利技术实施例中的一种主机与硬件加速模块的交互方法,包括:响应主机的硬件加速命令;根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据。为解决上述技术问题,本专利技术实施例中的一种硬件加速设备包括存储器和处理器,所述存储器存储有交互计算机程序,所述处理器执行所述计算机程序,以实现如上所述方法的步骤。为解决上述技术问题,本专利技术实施例中的一种计算机可读存储介质存储有交互计算机程序,所述计算机程序可被至少一个处理器执行,以实现如上所述方法的步骤。本专利技术实施例有益效果如下:上述的各个实施例根据NVMe协议与所述主机交互硬件加速数据,从而有效降低主机与硬件加速模块之间通信方式的复杂度,并且在升级主机中硬件加速模块的过程中,不需要增加或修改设备驱动程序,更不需要重新编译操作系统内核,以及不需重新安装操作系统、库函数和应用软件,从而在增加或升级硬件加速模块的的过程中,有效降低其复杂度和代价。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本专利技术实施例中一种主机与硬件加速模块的交互方法的流程图;图2是本专利技术实施例中主机与解码器的交互流程;图3是本专利技术实施例中主机与编码器的交互流程。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。使用用于区分元件的诸如“第一”、“第二”等前缀仅为了有利于本专利技术的说明,其本身没有特定的意义。实施例一本专利技术实施例提供一种主机与硬件加速模块的交互方法,如图1所示,所述方法包括:S101,响应主机的硬件加速命令;S102,根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据。其中,硬件加速模块可以可以附加在其他设备中,也可以是单独的专门提供硬件加速功能的设备,例如视频编码模块和/或视频解码模块;当然在本专利技术实施例中硬件加速模块可以简称为模块。在本专利技术实施例中根据NVMe协议与所述主机交互硬件加速数据,从而有效降低主机与硬件加速模块之间通信方式的复杂度,并且在升级主机中的硬件加速模块的过程中,不需要增加或修改设备驱动程序,更不需要重新编译操作系统内核,以及不需重新安装操作系统、库函数和应用软件,从而在增加或升级硬件加速模块的的过程中,有效降低其复杂度和代价。在上述实施例的基础上,下面给出几个具体及可选实施方式,用以细化和优化本专利技术实施例,以使本专利技术实施例的方案的实施更方便,准确。需要说明的是,在不冲突的情况下,以下实施方式可以互相任意组合。在一些实施方式中,所述响应主机的硬件加速命令之前,可选地包括:通过所述NVMe协议的第一厂家自定义字段或命令,接收所述主机的硬件加速命令。在一些实施方式中,所述根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据,包括:在所述硬件加速命令为硬件加速模块的识别命令时,根据所述NVMe协议,向所述主机返回硬件加速模块中硬件加速模块的指示信息;在所述硬件加速命令为硬件加速模块的控制命令时,根据所述NVMe协议,执行与所述控制命令对应的管理操作;在所述硬件加速命令为硬件加速模块的交互命令时,根据所述NVMe协议,按照所述交互命令,与所述主机进行读写交互操作。在一些实施方式中,通过识别命令对硬件加速模块进行识别的过程中,所述根据所述NVMe协议,向所述主机返回硬件加速模块中硬件加速模块的指示信息,可以包括:将所述指示信息携带在所述NVMe接口协议的第二厂家自定义字段中返回给所述主机。其中,将所述指示信息携带在所述NVMe接口协议的厂家自定义字段中,可以包括:将所述指示信息携带在所述NVMe接口协议的数据结构的厂家自定义字段中;所述数据结构为所述硬件加速模块隶属的控制器或命名空间的能力和状态的数据结构;所述指示信息用于指示所述主机根据指示信息进行资源分配。所述指示信息包括视频编码模块和/或视频解码模块的能力及状态信息。详细地,对硬件加速模块的识别:在NVMe协议中,设备上可以有多个NVMe控制器(Controller),及多个命名空间(Namespace,用来区分不同的存储盘)。在本专利技术实施例中,硬件加速模块可以直接隶属于控制器,也可以隶属于Namespace。主机通过Identify命令来询问设备有关控制器及Namespace的能力和状态等信息。设备在回复Identify命令的时候,会根据主机命令中CNS(ControllerorNamespaceStructure)的要求,返回一个描述控制器或Namespace的能力和本文档来自技高网...

【技术保护点】
1.一种主机与硬件加速模块的交互方法,其特征在于,所述方法包括:响应主机的硬件加速命令;根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据。

【技术特征摘要】
1.一种主机与硬件加速模块的交互方法,其特征在于,所述方法包括:响应主机的硬件加速命令;根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据。2.如权利要求1所述的方法,其特征在于,所述响应主机的硬件加速命令之前,包括:通过所述NVMe协议的第一厂家自定义字段或命令,接收所述主机的硬件加速命令。3.如权利要求1所述的方法,其特征在于,所述根据PCIe总线的非挥发性设备的接口标准NVMe协议,与所述主机交互硬件加速数据,包括:在所述硬件加速命令为硬件加速模块的识别命令时,根据所述NVMe协议,向所述主机返回硬件加速设备中硬件加速模块的指示信息;在所述硬件加速命令为硬件加速模块的控制命令时,根据所述NVMe协议,执行与所述控制命令对应的管理操作;在所述硬件加速命令为硬件加速模块的交互命令时,根据所述NVMe协议,按照所述交互命令,与所述主机进行读写交互操作。4.如权利要求3所述的方法,其特征在于,所述根据所述NVMe协议,向所述主机返回硬件加速设备中硬件加速模块的指示信息,包括:将所述指示信息携带在所述NVMe接口协议的第二厂家自定义字段中返回给所述主机。5.如权利要求4所述的方法,其特征在于,将所述指示信息携带在所述NVMe接口协议的厂家自定义字段中,包括:将所述指示信息携带在所述NVMe接口协议的数据结构的厂家自定义字段中;所述数据结构为所述硬件加速模块隶属的控制器或命名空间的能力和状态的数据...

【专利技术属性】
技术研发人员:周炎钧钟涛刘伟
申请(专利权)人:青岛镕铭半导体有限公司
类型:发明
国别省市:山东,37

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

1