基于BMC的FPGA固件处理方法及装置与流程

文档序号:36328429发布日期:2023-12-09 22:49阅读:45来源:国知局
基于的制作方法

本发明涉及电子设备,具体而言,涉及一种基于bmc的fpga固件处理方法及装置。


背景技术:

1、目前,在服务器安全领域,服务器的固件安全越来越引起使用者和开发者的重视。一旦服务器固件受损,带给使用者的是灾难性的后果。其中,负责服务器上电时序和逻辑控制的fpga等重要固件的安全问题尤为重要。

2、在实践中发现,现在市场上主要采用基于可信密码模块对fpga进行完整性度量和恢复的机制,来提高固件安全性。然而,这种实现方式需要增加额外的可信密码模块花销,通信效率低,并且缺少运行时的监控逻辑和恢复功能,服务器安全可靠性较差。

3、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本发明实施例提供了一种基于bmc的fpga固件处理方法及装置,能够使用bmc对fpga进行完整性度量和恢复,可以提高效率,同时可以增强服务器安全可靠性。

2、根据本发明实施例的一个方面,提供了一种基于bmc的fpga固件处理方法,服务器上的fpga芯片和fpga固件芯片共享一条总线连接到bmc,并且,所述bmc通过外部电路切换连接到所述fpga芯片或者所述fpga固件芯片,所述方法包括:

3、控制所述bmc通过外部电路切换连接到所述fpga固件芯片,并对所述fpga固件芯片进行完整性验证,得到完整性验证结果;

4、如果所述完整性验证结果为验证成功,则控制所述bmc通过外部电路切换连接到所述fpga芯片,并对所述fpga芯片加载fpga固件,以实现启动fpga;

5、如果所述完整性验证结果为验证失败,则从所述bmc的文件系统中读取fpga固件镜像,并将所述fpga固件镜像更新到所述fpga固件芯片,以及控制所述bmc通过外部电路切换连接到所述fpga芯片,并对所述fpga芯片加载fpga固件,以实现启动fpga。

6、作为一种可选的实施方式,基所述bmc在默认状态下通过外部电路连接至所述fpga固件芯片。

7、作为一种可选的实施方式,在将所述fpga固件镜像更新到所述fpga固件芯片之后,所述方法还包括:

8、控制所述bmc通过硬件信号发送提示信息,其中,所述提示信息用于提示所述fpga固件镜像已更新完成。

9、作为一种可选的实施方式,在将所述fpga固件镜像更新到所述fpga固件芯片的过程中,所述方法还包括:

10、控制所述bmc开启监控系统的线程,并关闭fpga的监控线程,以通过所述bmc的监控系统的线程监控设备状态任务信息;

11、将所述设备状态任务信息与预先存储在eeprom中的信息进行比较;

12、如果比较结果指示所述设备状态任务信息不同于所述预先存储在eeprom中的信息,则基于所述设备状态任务信息,同步更新fpga的寄存器。

13、作为一种可选的实施方式,所述设备状态任务信息包括以下至少一项:cpu的设备状态任务信息、内存的设备状态任务信息、外部pcie设备的设备状态任务信息、电源的设备状态任务信息。

14、作为一种可选的实施方式,在将所述fpga固件镜像更新到所述fpga固件芯片之后,所述方法还包括:

15、控制所述bmc关闭监控系统的线程,并开启fpga的监控线程,以通过所述fpga的监控线程读取硬件标志位;

16、如果所述硬件标志位不是初始值,则对硬件信号不执行初始化操作。

17、根据本发明实施例的另一方面,还提供了一种基于bmc的fpga固件处理装置应用于服务器,所述服务器上的fpga芯片和fpga固件芯片共享一条总线连接到bmc,并且,所述bmc通过外部电路切换连接到所述fpga芯片或者所述fpga固件芯片,所述装置包括:

18、验证单元,用于控制所述bmc通过外部电路切换连接到所述fpga固件芯片,并对所述fpga固件芯片进行完整性验证,得到完整性验证结果;

19、第一启动单元,用于如果所述完整性验证结果为验证成功,则控制所述bmc通过外部电路切换连接到所述fpga芯片,并对所述fpga芯片加载fpga固件,以实现启动fpga;

20、第二启动单元,用于如果所述完整性验证结果为验证失败,则从所述bmc的文件系统中读取fpga固件镜像,并将所述fpga固件镜像更新到所述fpga固件芯片,以及控制所述bmc通过外部电路切换连接到所述fpga芯片,并对所述fpga芯片加载fpga固件,以实现启动fpga。

21、作为一种可选的实施方式,所述bmc在默认状态下通过外部电路连接至所述fpga固件芯片。

22、作为一种可选的实施方式,所述装置还包括:

23、提示单元,用于在将所述fpga固件镜像更新到所述fpga固件芯片之后,控制所述bmc通过硬件信号发送提示信息,其中,所述提示信息用于提示所述fpga固件镜像已更新完成。

24、作为一种可选的实施方式,所述装置还包括:

25、线程控制单元,用于在将所述fpga固件镜像更新到所述fpga固件芯片的过程中,控制所述bmc开启监控系统的线程,并关闭fpga的监控线程,以通过所述bmc的监控系统的线程监控设备状态任务信息;将所述设备状态任务信息与预先存储在eeprom中的信息进行比较;如果比较结果指示所述设备状态任务信息不同于所述预先存储在eeprom中的信息,则基于所述设备状态任务信息,同步更新fpga的寄存器。

26、在本发明实施例中,服务器上的fpga芯片和fpga固件芯片共享一条总线连接到bmc,bmc通过外部电路切换连接到fpga芯片或者fpga固件芯片,包括:控制bmc通过外部电路切换连接到fpga固件芯片,并对fpga固件芯片进行完整性验证,得到完整性验证结果;如果完整性验证结果为验证成功,则控制bmc通过外部电路切换连接到fpga芯片,并对fpga芯片加载fpga固件;如果完整性验证结果为验证失败,则从bmc的文件系统中读取fpga固件镜像,并将fpga固件镜像更新到fpga固件芯片,以及控制bmc通过外部电路切换连接到fpga芯片,并对fpga芯片加载fpga固件;可见,本发明能够使用bmc对fpga进行完整性度量和恢复,可以提高效率,同时可以增强服务器安全可靠性。



技术特征:

1.一种基于bmc的fpga固件处理方法,其特征在于,服务器上的fpga芯片和fpga固件芯片共享一条总线连接到bmc,并且,所述bmc通过外部电路切换连接到所述fpga芯片或者所述fpga固件芯片,所述方法包括:

2.根据权利要求1所述的基于bmc的fpga固件处理方法,其特征在于,所述bmc在默认状态下通过外部电路连接至所述fpga固件芯片。

3.根据权利要求1所述的基于bmc的fpga固件处理方法,其特征在于,在将所述fpga固件镜像更新到所述fpga固件芯片之后,所述方法还包括:

4.根据权利要求1所述的基于bmc的fpga固件处理方法,其特征在于,在将所述fpga固件镜像更新到所述fpga固件芯片的过程中,所述方法还包括:

5.根据权利要求1所述的基于bmc的fpga固件处理方法,其特征在于,所述设备状态任务信息包括以下至少一项:cpu的设备状态任务信息、内存的设备状态任务信息、外部pcie设备的设备状态任务信息、电源的设备状态任务信息。

6.根据权利要求1所述的基于bmc的fpga固件处理方法,其特征在于,在将所述fpga固件镜像更新到所述fpga固件芯片之后,所述方法还包括:

7.一种基于bmc的fpga固件处理装置,其特征在于,应用于服务器,所述服务器上的fpga芯片和fpga固件芯片共享一条总线连接到bmc,并且,所述bmc通过外部电路切换连接到所述fpga芯片或者所述fpga固件芯片,所述装置包括:

8.根据权利要求7所述的基于bmc的fpga固件处理装置,其特征在于,所述bmc在默认状态下通过外部电路连接至所述fpga固件芯片。

9.根据权利要求7所述的基于bmc的fpga固件处理装置,其特征在于,所述装置还包括:

10.根据权利要求7所述的基于bmc的fpga固件处理装置,其特征在于,所述装置还包括:


技术总结
本发明公开了一种基于BMC的FPGA固件处理方法及装置,服务器上的FPGA芯片和FPGA固件芯片共享一条总线连接到BMC,BMC通过外部电路切换连接到FPGA芯片或者FPGA固件芯片,包括:控制BMC通过外部电路切换连接到FPGA固件芯片,并对FPGA固件芯片进行完整性验证,得到完整性验证结果;如果完整性验证结果为验证成功,则控制BMC通过外部电路切换连接到FPGA芯片,并对FPGA芯片加载FPGA固件;如果完整性验证结果为验证失败,则从BMC的文件系统中读取FPGA固件镜像,并将FPGA固件镜像更新到FPGA固件芯片,以及控制BMC通过外部电路切换连接到FPGA芯片,并对FPGA芯片加载FPGA固件;可见,本发明能够使用BMC对FPGA进行完整性度量和恢复,可以提高效率,同时可以增强服务器安全可靠性。

技术研发人员:刘雅娟
受保护的技术使用者:同方计算机有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1