首页 / 一种国产服务器BIOS固件备份装置

一种国产服务器BIOS固件备份装置有效专利 实用

技术领域

[0001] 本实用新型属于服务器领域,具体涉及一种国产服务器BIOS固件备份装置。

相关背景技术

[0002] 随着国产芯片和国产服务器产品的快速发展,不断完善和提升国产服务器产品的功能和可靠性是大势所趋。BIOS(Basic Input/Output System,计算机基本输入/输出系统)固件作为服务器主板最基础的程序,服务器启动后需要通过BIOS来引导进系统。因此当BIOS出现故障或异常时,系统将无法正常启动,会严重影响整个系统的可靠运行。实用新型内容
[0003] 本实用新型的目的在于针对解决背景技术中提出的问题,提出一种国产服务器BIOS固件备份装置。
[0004] 为实现上述目的,本实用新型所采取的技术方案为:
[0005] 本实用新型提出的一种国产服务器BIOS固件备份装置,包括中央处理模块CPU、基板管理控制器BMC、复杂可编辑逻辑模块CPLD和切换控制模块,其中:
[0006] CPU的CRU_I2C接口连接BMC,BMC配置为主设备,CPU配置为从设备。
[0007] 切换控制模块包括SPI信号切换器、CS信号切换器、主BIOS和备BIOS;SPI信号切换器的输入端分别连接CPU和BMC的SPI信号,输出端分别连接主BIOS、备BIOS以及CS信号切换器的输入端;CS信号切换器的输出端分别连接主BIOS和备BIOS;SPI信号切换器和CS信号切换器的控制端分别连接CPLD。
[0008] BMC的SPI接口连接到CPLD,通过CPLD连接到SPI信号切换器的输入端。
[0009] CPLD的GPIO管脚分别连接到SPI信号切换器和CS信号切换器的控制端,分别控制SPI信号切换器和CS信号切换器的切换。
[0010] CPU的第一I2C接口连接CPLD。
[0011] 优选地,主BIOS和备BIOS均包括相互独立的镜像A和镜像B,各镜像A和镜像B均与SPI信号切换器的输出端和CS信号切换器的输出端连接。
[0012] 优选地,CPU上还设有第一LPC接口,第一LPC接口连接CPLD。
[0013] 优选地,CPU还设SCP_RECOVERY接口,SCP_RECOVERY接口连接CPLD。
[0014] 优选地,BMC上还设有第二LPC接口,第二LPC接口连接CPLD。
[0015] 优选地,BMC和CPLD上均设有第二I2C接口,且两个第二I2C接口相互连接。
[0016] 优选地,CPLD的GPIO管脚还连接BMC。
[0017] 与现有技术相比,本实用新型的有益效果为:
[0018] 1、本国产服务器BIOS固件备份装置通过CPU、CPLD和BMC之间的配合,实现主BIOS和备BIOS的切换过程无需人工干预,自动进行切换,且在各BIOS中设置镜像A和镜像B,通过实现镜像A和镜像B之间的切换,降低BIOS损坏的可能性,进而保证整个系统正常工作;
[0019] 2、本国产服务器BIOS固件备份装置通过将BIOS的SPI信号发送至主BIOS或备BIOS,实现BMC远程更新出现故障的主BIOS或备BIOS,实现故障的消除。

具体实施方式

[0021] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022] 需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
[0023] 如图1所示,一种国产服务器BIOS固件备份装置,包括中央处理模块CPU、基板管理控制器BMC、复杂可编辑逻辑模块CPLD和切换控制模块,其中:
[0024] CPU的CRU_I2C接口连接BMC,BMC配置为主设备,CPU配置为从设备。
[0025] 切换控制模块包括SPI信号切换器、CS信号切换器、主BIOS和备BIOS;SPI信号切换器的输入端分别连接CPU和BMC的SPI信号,输出端分别连接主BIOS、备BIOS以及CS信号切换器的输入端;CS信号切换器的输出端分别连接主BIOS和备BIOS;SPI信号切换器和CS信号切换器的控制端分别连接CPLD。
[0026] BMC的SPI接口连接到CPLD,通过CPLD连接到SPI信号切换器的输入端。
[0027] CPLD的GPIO管脚分别连接到SPI信号切换器和CS信号切换器的控制端,分别控制SPI信号切换器和CS信号切换器的切换。
[0028] CPU的第一I2C接口连接CPLD。
[0029] 具体为,复杂可编辑逻辑模块(CPLD,Complex Programmable Logic Device),基板管理控制器(BMC,Baseboard Management Controller)。本实施例中,CPU的数量为两个,但数量不作限制,均为飞腾,且各CPU都有与之配对的切换控制模块。通过CPU的CRU_I2C接口连接BMC,BMC作为主设备,能够基于IPMB标准协议通信,获取CPU初始化日志,判断CPU初始化失败的告警类型,指示CPLD是否控制切换SPI信号切换器和CS信号切换器。BMC的SPI信号连接到CPLD,通过CPLD连接到SPI信号切换器的输入端,用于通过CPLD切换BMC的SPI信号到多个CPU的各BIOS,能够实现BMC远程更新多个CPU的BIOS固件文件。主BIOS以及备BIOS为主板开机时使用的BIOS FLASH芯片,CPLD通过GPIO接口控制SPI信号切换器的切换,实现CPU或者BMC的SPI信号发送至主BIOS或备BIOS,实现从CPU或者从BMC的SPI信号控制BIOS FLASH的读写。再CPLD通过GPIO接口控制CS信号切换器的切换,实现从CPU或者从BMC的SPI信号中选择CS信号输出给主BIOS或备BIOS。CPU的第一I2C接口连接CPLD,CPLD能够接收CPU启动信息,并判断各BIOS的启动是否出现故障以及故障类型,并判断是否需要切换主BIOS或备BIOS。
[0030] 在一个实施例中,主BIOS和备BIOS均包括相互独立的镜像A和镜像B,各镜像A和镜像B均与SPI信号切换器的输出端和CS信号切换器的输出端连接。
[0031] 具体为,通过设置镜像A和镜像B,当镜像A出现故障时,可以将信号发送至镜像B,当镜像B出现故障时,可以将信号发送至镜像A。
[0032] 在一个实施例中,CPU上还设有第一LPC接口,第一LPC接口连接CPLD。
[0033] 在一个实施例中,BMC上还设有第二LPC接口,第二LPC接口连接CPLD。
[0034] 具体为,CPLD通过连接第一LPC接口和第二LPC接口,使得BMC的第二LPC接口可以灵活的切换连接多个CPU的第一LPC接口,当BIOS启动的某个镜像被破坏,CPU可能在启动过程中挂死,在这个过程CPU通过第一LPC接口将postcode信息(需要说明的是,CPU启动分多个节点,每个节点会对应一个postcode信息,当启动不成功会卡在最后一个postcode信息,此时传输postcode信息可以知道卡在那个阶段并做分析)发送至CPLD,CPLD再将postcode信息发送至BMC或者BMC主动查询postcode信息,然后BMC根据postcode信息判断是否需要切换镜像。
[0035] 在一个实施例中,CPU还设SCP_RECOVERY接口,SCP_RECOVERY接口连接CPLD。
[0036] 具体为,如果确认需要切换镜像时,则BMC通过通知CLPD设置SCP_RECOVER的电平状态进行镜像切换操作,镜像切换需要重新对CPU上下电,才能使得备用镜像重新启动。
[0037] 在一个实施例中,BMC和CPLD上均设有第二I2C接口,且两个第二I2C接口相互连接。
[0038] 具体为,BMC对CPLD下发命令是通过BMC和CPLD之间互联的第二I2C接口。
[0039] 在一个实施例中,CPLD的GPIO管脚还连接BMC。
[0040] 具体为,CPLD通过GPIO连接到BMC(如图1中的GPIO0、GPIO1、GPIO2),接收BMC发出的信号,判断BMC工作是否异常,控制SPI信号切换器选择CPU或者BMC的SPI信号,能够在检测到BMC工作异常时,指示CPLD无视接收到的BMC发送的信号;当检测到BMC工作正常时,能够基于BMC发出的信号,CPLD控制SPI信号切换器从BMC或者CPU的SPI信号中获取CS信号发送给CS信号切换器,控制CS信号选择器选择切换到主BIOS或者备BIOS。
[0041] 在一个实施例中,国产服务器BIOS固件备份装置的工作流程:
[0042] 初次开机,CPLD控制SPI信号切换器选择CPU的SPI信号发送至主BIOS的镜像A,实现对CPU模块的启动,并控制CS信号切换器从CPU的SPI信号中获取CS信号,且CS信号切换器将CS信号发送至主BIOS的镜像A。在开机后,CPU进行初始化等操作,并将postcode信息通过第一LPC接口和CPLD发送至BMC,或者BMC通过读取第一LPC接口主动查询postcode信息,然后BMC根据postcode信息,判断是否需要切换镜像。当检测到主BIOS的镜像A故障后,BMC将发送消息给CPLD,通知CPLD设置SCP_RECOVERY接口的电平状态,并重新对CPU进行上下电,使用主BIOS的镜像B进行重新启动CPU。由此实现主BIOS的镜像A和镜像B的切换。
[0043] CPU初始化后,读取各BIOS内容过程中,各BIOS运行到一个节点,会通过CPU的第一I2C接口,发出相应的代码给CPLD,由CPLD置位相应的寄存器标记位。BMC会读取CPLD的寄存器,判断当前为主BIOS还是备BIOS,并根据当前主BIOS或备BIOS的状态,分析CPU模块的启动情况。若主BIOS已经发生异常,则会记录异常消息,并发送信息给CPLD,在一段时间后CPLD复位服务器,并控制CS信号切换器选择到备BIOS,CPU在上电后,从备BIOS进行启动。由此实现主BIOS和备BIOS的切换。
[0044] 并且,在CPU通过备BIOS启动成功后,会发送消息给CPLD,CPLD控制SPI信号切换器输入端连接到CPLD,并由CPLD通过内部程序连接到BMC的SPI信号。这样可以实现BMC远程更新出现故障的主BIOS或备BIOS,实现故障的消除。同时CPLD通过GPIO接口连接到BMC,实时通过看门狗计时器监视BMC的工作情况,并在检测到BMC工作异常时,无视BMC发送的命令。
[0045] 本国产服务器BIOS固件备份装置通过CPU、CPLD和BMC之间的配合,实现主BIOS和备BIOS的切换过程无需人工干预,自动进行切换,且在各BIOS中设置镜像A和镜像B,通过实现镜像A和镜像B之间的切换,降低BIOS损坏的可能性,进而保证整个系统正常工作;本国产服务器BIOS固件备份装置通过将BIOS的SPI信号发送至主BIOS或备BIOS,实现BMC远程更新出现故障的主BIOS或备BIOS,实现故障的消除。
[0046] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0047] 以上所述实施例仅表达了本申请描述较为具体和详细的实施例,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页 第1页 第2页 第3页