现场可编程门阵列FPGA及其升级方法和升级系统技术方案

技术编号:23148732 阅读:37 留言:0更新日期:2020-01-18 13:20
本申请实施例提供了一种FPGA及其升级方法和升级系统,其中,FPGA的运行逻辑资源基于动态部分重配置技术被划分为动态可重配区和静态区,动态可重配区中包含运行逻辑待升级的目标模块,静态区中至少包含控制模块,控制模块可以响应于FPGA对应的升级控制器发送的升级询问指令,控制目标模块停止业务处理,并获取目标模块对应的升级数据,在动态可重配区中加载升级数据,以升级目标模块的运行逻辑,目标模块可以在升级成功后,根据升级后的运行逻辑运行。

FPGA of field programmable gate array and its upgrading method and system

【技术实现步骤摘要】
现场可编程门阵列FPGA及其升级方法和升级系统
本申请涉及计算机
,尤其涉及一种现场可编程门阵列FPGA及其升级方法和升级系统。
技术介绍
目前,可以通过FPGA(Field-ProgrammableGateArray,现场可编程门阵列)进行数据处理。由于FPGA的数据处理效率依赖于其加载的运行逻辑,因此可以对FPGA内的模块定期进行更新升级,从而使得FPGA能够更高效地进行数据处理。在FPGA的运行过程中,FPGA的升级效率将影响其数据处理效率,因此,有必要提供一种升级方案,以提高FPGA的升级效率。
技术实现思路
本申请实施例的目的是提供一种现场可编程门阵列FPGA及其升级方法和升级系统,以提高FPGA的升级效率。为达到上述技术目的,本申请实施例是这样实现的:第一方面,本申请实施例提供了一种现场可编程门阵列FPGA,所述FPGA的运行逻辑资源被划分为动态可重配区和静态区,所述动态可重配区中包含运行逻辑待升级的目标模块,所述静态区中至少包含控制模块;所述控制模块,用于响应于所述FPGA对应的升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据,在所述动态可重配区中加载所述升级数据,以升级所述目标模块的运行逻辑;所述目标模块,用于在升级成功后,根据升级后的运行逻辑运行。第二方面,本申请实施例提供了一种现场可编程门阵列FPGA的升级方法,所述FPGA的运行逻辑资源被划分为动态可重配区和静态区,所述动态可重配区中包含运行逻辑待升级的目标模块,所述静态区中至少包含控制模块;所述方法包括:所述控制模块响应于所述FPGA对应的升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据;所述控制模块在所述动态可重配区中加载所述升级数据,以升级所述目标模块的运行逻辑。第三方面,本申请实施例提供了一种现场可编程门阵列FPGA的升级系统,所述系统包括所述FPGA和所述FPGA对应的升级控制器;所述FPGA的运行逻辑资源被划分为动态可重配区和静态区,所述动态可重配区中包含运行逻辑待升级的目标模块,所述静态区中至少包含控制模块;所述升级控制器用于,向所述控制模块发送升级询问指令;所述控制模块,用于响应于所述升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据,在所述动态可重配区中加载所述升级数据,以升级所述目标模块的运行逻辑;所述目标模块,用于在升级成功后,根据升级后的运行逻辑运行。本实施例中,FPGA被划分为动态可重配区和静态区,控制模块通过在动态可重配区中加载目标模块对应的升级数据的方式来升级动态可重配区中的目标模块,由于静态区中的运行逻辑在动态可重配区中的运行逻辑重新配置时保持不变,因此目标模块升级时静态区保持运行逻辑不变。可见通过本实施例,升级目标模块时无需对FPGA的全部区域进行重加载,无需重启FPGA所在的服务器,并且不影响其他模块的正常运行,从而缩短升级耗时,提高FPGA的运行效率和升级效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种FPGA的结构示意图;图2为本申请一实施例提供的FPGA的升级方法的流程示意图;图3为本申请另一实施例提供的FPGA的升级方法的流程示意图;图4为本申请一实施例提供的FPGA的升级系统的结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请实施例提供了一种FPGA及其升级方法和升级系统,以提高FPGA的升级效率。图1为本申请实施例提供的一种FPGA的结构示意图,图1中,FPGA的运行逻辑资源基于动态部分重配置技术被划分为动态可重配区10和静态区20,动态可重配区10中的运行逻辑能够被重新配置,静态区20中的运行逻辑无法被重新配置,且静态区20中的运行逻辑在动态可重配区10中的运行逻辑重新配置时保持不变,动态可重配区10中包含待升级的目标模块101,静态区20中至少包含控制模块201。本实施例中,控制模块201用于,响应于FPGA对应的升级控制器发送的升级询问指令,控制目标模块101停止业务处理,并获取目标模块101对应的升级数据,在动态可重配区10中加载该升级数据,以升级目标模块101的运行逻辑。目标模块101用于,在升级成功后,根据升级后的运行逻辑运行,比如,目标模块101用于进行数据处理,可以根据升级后的数据处理逻辑进行数据处理。本实施例中,FPGA被划分为动态可重配区和静态区,控制模块通过在动态可重配区中加载目标模块对应的升级数据的方式来升级动态可重配区中的目标模块,由于静态区中的运行逻辑在动态可重配区中的运行逻辑重新配置时保持不变,因此目标模块升级时静态区保持运行逻辑不变。可见通过本实施例,升级目标模块时无需对FPGA的全部区域进行重加载,无需重启FPGA所在的服务器,并且不影响其他模块的正常运行,从而缩短升级耗时,提高FPGA的运行效率和升级效率。本实施例中,FPGA可以位于服务器内部,用于接收数据处理任务并进行数据处理。由于只需要在动态可重配区中加载升级数据,无需重启FPGA所在的服务器,因此用户可以正常和该服务器之间进行数据交互,达到了热升级FPGA的目的,且用户与服务器之间的业务流程无需中断,对于用户而言达到了升级无感知的效果(只会感知到FPGA的处理性能在短时间内出现了下降),提高用户体验。本实施例中,基于FPGA可部分重加载的原理,利用动态部分重配置技术将FPGA划分为动态可重配区和静态区。在FPGA中划分动态可重配区和静态区后,在FPGA运行过程中,动态可重配区可以通过动态重加载数据的方式进行多次运行逻辑的重新配置,基于部分重加载原理,FPGA的静态区中的运行逻辑无法被重新配置,且静态区中的运行逻辑在动态可重配区中的运行逻辑重新配置时保持不变。FPGA的静态区中除包含控制模块外,还可以包含无需升级的模块,如FPGA的基础配置模块和运行逻辑无需改变的模块等,其中,基础配置模块包括但不限于时钟模块等。本实施例中还提供了一种升级控制器,该升级控制器位于FPGA的外部,能够与FPGA内的控制模块进行通信,比如通过以太网形成的输入输出链路与控制模块进行通信。升级控制器可以向控制模块发送升级询问指令,控制模块响应于该升级询问指令,控制目标模块停止业务处本文档来自技高网
...

【技术保护点】
1.一种现场可编程门阵列FPGA,所述FPGA的运行逻辑资源被划分为动态可重配区和静态区,所述动态可重配区中包含运行逻辑待升级的目标模块,所述静态区中至少包含控制模块;/n所述控制模块,用于响应于所述FPGA对应的升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据,在所述动态可重配区中加载所述升级数据,以升级所述目标模块的运行逻辑;/n所述目标模块,用于在升级成功后,根据升级后的运行逻辑运行。/n

【技术特征摘要】
1.一种现场可编程门阵列FPGA,所述FPGA的运行逻辑资源被划分为动态可重配区和静态区,所述动态可重配区中包含运行逻辑待升级的目标模块,所述静态区中至少包含控制模块;
所述控制模块,用于响应于所述FPGA对应的升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据,在所述动态可重配区中加载所述升级数据,以升级所述目标模块的运行逻辑;
所述目标模块,用于在升级成功后,根据升级后的运行逻辑运行。


2.根据权利要求1所述的FPGA,其中,所述控制模块具体用于:
在接收到所述FPGA对应的升级控制器发送的升级询问指令后,控制所述目标模块停止接收新的处理任务,并监控所述目标模块是否完成当前的处理任务;
若所述目标模块完成当前的处理任务,则获取所述目标模块对应的升级数据。


3.根据权利要求1所述的FPGA,其中,所述控制模块具体用于:
从本地获取所述目标模块对应的升级数据;或者,
从所述FPGA对应的升级控制器处获取所述目标模块对应的升级数据。


4.根据权利要求1所述的FPGA,其中,所述目标模块包括:主模块和所述主模块的备份模块,所述升级数据包括:所述主模块对应的主升级数据和所述备份模块对应的备份升级数据;
所述控制模块具体用于:
在所述主模块运行时,在所述动态可重配区中加载所述备份升级数据,以升级所述备份模块的运行逻辑;
在所述备份模块升级成功后,控制所述备份模块根据升级后的运行逻辑运行,并在所述动态可重配区中加载所述主升级数据,以升级所述主模块的运行逻辑。


5.根据权利要求4所述的FPGA,其中,
所述控制模块还用于,在所述主模块升级成功后,控制所述主模块根据升级后的运行逻辑运行,并控制所述备份模块停止运行。


6.根据权利要求1所述的FPGA,其中,所述控制模块还用于:
在控制所述目标模块停止业务处理之后,以及在所述动态可重配区中加载所述升级数据之前,保存所述目标模块当前的运行环境参数;
在所述目标模块升级成功后,控制所述目标模块基于保存的运行环境参数构建运行环境,在构建的运行环境下根据升级后的运行逻辑运行;
所述目标模块具体用于:在升级成功后,基于保存的运行环境参数构建运行环境,在构建的运行环境下根据升级后的运行逻辑运行。


7.根据权利要求1至6任一项所述的FPGA,其中,所述静态区中还包含通信接口,所述通信接口用于所述FPGA与外部器件之间通过高速外设组件互连PCIe通信链路进行通信。


8.一种现场可编程门阵列FPGA的升级方法,所述FPGA的运行逻辑资源被划分为动态可重配区和静态区,所述动态可重配区中包含运行逻辑待升级的目标模块,所述静态区中至少包含控制模块;
所述方法包括:
所述控制模块响应于所述FPGA对应的升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据;
所述控制模块在所述动态可重配区中加载所述升级数据,以升级所述目标模块的运行逻辑。


9.根据权利要求8所述的方法,其中,所述控制模块响应于所述FPGA对应的升级控制器发送的升级询问指令,控制所述目标模块停止业务处理,并获取所述目标模块对应的升级数据,包括:
所述控制模块在接收到所述FPGA对应的升级控制器发送的升级询问指令后,控制所述目标模块停止接收新的处理任务,并监控所述目标模块是否完成当前的处理任务;
若所述目标模块完成当前的处理任务,则所述控制模块获取所述目标模块对应的升级数据。


10.根据权利要求8所述的方法,其中,所述控制模块获取所述目标模块对应的升级数据,包括:
所述控制模块从本地获取所述目标模块对应的升级数据;或者,
所述控制模块从所述FPGA对应的升级控制器处获取所述目标模块对应的升级数据。


11.根据权利要求8所述的方法,其中,所述目标模块包括:主模块和所述主模块的备份模块,所述升级数据包...

【专利技术属性】
技术研发人员:梁晨
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1