一种基于飞腾平台的双BIOS系统及其实现方法与流程

文档序号:14749236发布日期:2018-06-22 10:17阅读:1179来源:国知局

本发明属于基本输入输出系统技术领域,具体地说,涉及一种基于飞腾平台的双BIOS系统及其实现方法。



背景技术:

BIOS:BIOS是英文\"Basic Input Output System\"的缩略词,直译过来后中文名称就是\"基本输入输出系统\"。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。

现有飞腾处理器平台主板BIOS仅是一个可执行文件,不包括任何校验信息及BIOS同步模块;存储BIOS可执行文件的介质中也没有预留存储信息,飞腾处理器是通过跳线的方式决定片选信号,进而选择与其所连接的单个BIOS,如图1所示。现有的飞腾处理器与BIOS芯片连接,主要由飞腾处理器、BIOS芯片和跳线电路构成。其中,BIOS芯片为一块存储单个BIOS系统的集成电路,该BIOS系统仅是一个可执行文件,不包括任何校验信息及BIOS同步模块;同时BIOS芯片上也没有预留数据块存储信息;飞腾处理器在跳线电路上发送片选信号,实现与其所连接的BIOS芯片进行通信。

如果飞腾平台主板上的BIOS出现数据损坏情况,例如因为存储BIOS的Flash芯片出现位跳变导致BIOS数据出错,那么仅有的一个BIOS系统出错往往会导致整个飞腾平台主板都不能正常使用。另外,其他情况下,如果飞腾平台主板需要升级BIPS才能解决某些问题情况,那么由于不支持BIOS在线升级功能,所以只能通过把飞腾主板返厂更换BIOS或者通过专业技术人员现场更换,用户无法自行解决。

现有的BIOS启动控制的方法和技术,解决BIOS升级的较多,没有考虑到基于飞腾处理器平台下的双BIOS系统在线升级问题以及升级后的同步问题。

中国发明专利(申请号CN200410086696.0)提出了一种基本输入输出系统在线升级的方法,用于对引导设备操作系统启动的BIOS程序实现在线升级,所述方法包括:将用于升级的BIOS程序加载到BIOS程序掉电保持介质中;设置BIOS升级状态标志并保存到标志保存掉电保持介质中;当所述设备重新启动后,根据BIOS升级状态标志运行用于升级的BIOS程序;如果用于升级的BIOS程序运行失败,则运行原BIOS程序。该发明可以避免BIOS升级失败引起设备无法正常启动的风险,保证设备的正常启动,但是并没有考虑过基于飞腾处理器平台的BIOS系统在线升级问题。

中国发明专利(申请号CN00101113.8)提出了一种将系统BIOS只读存储器升级的方法,利用压缩的原理将新版BIOS程序先行压缩成一升级文件以大幅降低其数据量,如此把升级文件由存储媒体装入系统存储器所需的时间可以大幅降低,以节省时间和成本;再配合升级工具程序中所加入的解压缩功能码,将经过压缩的升级文件加以解压缩,而还原得到新版BIOS程序以进行后续的可编程BIOS只读存储器的操作。该发明并没有考虑过基于飞腾处理器平台的BIOS系统在线升级问题。

中国发明专利(申请号CN200610058031.8)提出了一种BIOS刷新升级的系统和方法,包括远程控制服务器端和终端计算机,远程控制服务器端和终端计算机都包括IPMI、BMC、带外NIC,终端计算机的IPMI中,包括BIOS更新控制模块,用于读取刷新标志位,并确定是否读取BIOS更新文件并进行BIOS更新升级;所述终端计算机还包括升级文件存储模块,用于存储BIOS更新升级文件,并将刷新标志位设置为需要更新BIOS文件,并由BIOS更新控制模块在BIOS更新完成后将所述标志位清除;远程控制服务器端还包括BIOS文件传输模块,用于获取并将BIOS更新升级文件通过网络发送到终端计算机。该发明并没有考虑过飞腾平台中BIOS系统在线升级问题及升级后的双BIOS系统同步问题。

中国发明专利(申请号CN201611126615.4)公开了一种远程自动升级BIOS的方法,包括:步骤S100:当需要升级的客户端设备上加载BIOS时,用户通过HOTKEY控制客户端设备向服务器发送BIOS升级请求,并将客户端设备信息通过互联网传输给服务器;步骤S200:当服务器接收到客户端设备BIOS升级请求,比较客户端设备信息和服务器预存信息,判断客户端设备是否需要升级,如果需要升级,向客户端设备发送升级命令及BIOS升级文件,进入步骤S300,反之向客户端发送不升级命令,进入步骤S400;步骤S300:客户端设备将接收到的升级命令及升级文件,客户端设备更新BIOS;步骤S400:客户端设备加载BIOS,启动操作系统。虽然该发明在BIOS加载阶段由用户使用热键控制,设备与服务器之间采用自动联网检测升级,提升BIOS升级效率,但是并没有考虑过基于飞腾平台的在线升级问题及升级后的双BIOS系统同步问题。

中国发明专利(申请号CN201610001571.6)公开了ARM平台中BIOS与BMC同时启动时保证信息同步的优化算法,所述算法在BMC启动完成的时候设置一个FLAG,在BIOS开始第一次访问BMC的时候通过IPMI去读取这个FLAG,如果FLAG被设置好,那么就开始读取BMC,如果没有被设置好,那么就去读取CPU Power Fail寄存器的值,如果CPU Power Fail寄存器的值为1,那么延迟较长时间,然后再返回读取BMC的FLAG,如果CPU Power Fail寄存器的值为0,那么延迟较短时间,然后再返回读取BMC的FLAG,直到读取到正确的FLAG的值。虽然该发明通过由UEFI BIOS的软件代码来完成BIOS与BMC信息同步,但是并没有考虑过飞腾平台中双BIOS系统同步问题,也没有涉及到BIOS系统在线升级问题。

中国发明专利(申请号CN201710178532.8)公开了一种BIOS升级方法,步骤包括:1)检查是否存在U盘;2)如检查到存在U盘,则继续检查U盘内是否存在BIOS升级文件,所述BIOS升级文件包括64bit的升级文件和32bit的升级文件;3)如检查到U盘存在系统BIOS升级文件,则系统判定当前的系统是32bit或是64bit;4)如判断当前的系统是32bit,则系统运行32bit的升级文件,如判断当前的系统是64bit,则系统运行64bit的升级文件;5)系统进入到相应的升级文件后,读取升级文件内容并写入存储器中;6)重启系统。虽然该发明的方法不使用烧录器和不依赖具体硬件实现BIOS升级方法,但是并没有考虑过飞腾平台中BIOS系统在线升级问题及升级后的双BIOS系统同步问题。



技术实现要素:

有鉴于此,本发明为了解决现有技术存在的缺陷和不足,提供了一种基于飞腾平台的双BIOS系统及其实现方法,能够解决飞腾平台中双BIOS系统内容可能存在的不一致的问题,并解决飞腾平台中BIOS系统在线升级问题及升级后的双BIOS系统可能存在的不同步问题。

为了解决上述技术问题,本发明公开了一种基于飞腾平台的双BIOS系统及其实现方法,并采用以下技术方案来实现。

一种基于飞腾平台的双BIOS系统,包括飞腾处理器、切换连接电路、BIOS_1系统和BIOS_2系统;所述飞腾处理器与所述切换连接电路电连接,通过所述切换连接电路对BIOS系统进行信息的读写;所述切换连接电路分别与所述BIOS_1系统和所述BIOS_2系统电连接。

进一步的,所述切换连接电路分别通过对应的片选信号与所述BIOS_1和所述BIOS_2电连接。

一种基于飞腾平台的双BIOS系统在线升级方法,步骤包括:

S11、读取升级版本的BIOS系统信息;

S12、计算所述BIOS系统的校验和,若校验出错,则退出所述在线升级流程;否则,进入下一步;

S13、把所述升级版本的BIOS系统写入待升级BIOS系统;

S14、把升级标识写入其存储位置。

进一步的,所述S13具体为升级程序操作切换连接电路,使其片选信号指向待升级的BIOS_1系统或者BIOS_2系统,把所述升级版本的BIOS系统写入所述BIOS_1系统或者BIOS_2中。

更进一步的,所述S14具体为把所述升级标识写入存储所述待升级BIOS系统的Flash芯片中。

一种基于飞腾平台的双BIOS系统同步方法,包括飞腾处理器的上电同步过程和复位同步过程;同步程序通过读取切换连接电路的特征寄存器以确定当前BIOS系统的信息,然后操作所述切换连接电路,控制与所述飞腾处理器连接的片选信号以选择待同步的BIOS系统并进行同步。

进一步的,所述上电同步过程具体步骤包括:

S21、启动BIOS_1系统;

S22、若所述BIOS_1系统启动成功,进入步骤S26;若所述BIOS_1系统启动失败,则启动BIOS_2系统;

S23、若所述BIOS_2系统启动失败,则同步失败;

S24、若所述BIOS_2系统启动成功但校验出错,则同步失败;

S25、若所述BIOS_2系统启动成功且校验和正确,则用所述BIOS_2系统同步所述BIOS_1系统,并判断所述BIOS_2系统的升级标识是否有效,进入S28;

S26、校验所述BIOS_1系统,若校验出错则启动所述BIOS_2系统,并进入所述S23;

S27、若所述BIOS_1系统校验成功,则判断所述BIOS_1系统的升级标识是否有效;若所述BIOS_1系统的升级标识无效,则读取并校验所述BIOS_2系统,若校验出错则同步所述BIOS_2系统;若校验正确则所述上电同步过程完成;若所述BIOS_1系统的升级标识有效,进入下一步;

S28、若所述升级标识有效,则升级所述BIOS_1系统或所述BIOS_2系统并擦除所述升级标识,所述上电同步过程完成。

更进一步的,所述复位同步过程的具体步骤包括:

S31、判断当前BIOS系统是否能启动,若启动失败则判断备用BIOS是否能启动;若所述当前BIOS系统成功,则进入S35;

S32、若所述备用BIOS启动失败,则同步失败;若所述备用BIOS启动成功,则进入下一步;

S33、读取并校验所述备用BIOS信息;若校验失败则同步失败;若校验成功,则进入下一步;

S34、通过所述备用BIOS同步所述当前BIOS;所述复位同步过程完成;

S35、读取所述当前BIOS信息,并进行校验;若校验成功,则进入下一步;若校验失败,则读取并校验所述备用BIOS,若所述备用BIOS校验失败则复位同步失败;若所述备用BIOS校验成功,则同步所述当前BIOS,所述复位同步过程完成;

S36、读取并校验所述备用BIOS,若校验成功则所述复位同步过程完成;若校验失败,则通过所述当前BIOS同步所述备用BIOS,所述复位同步过程完成。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以上所述在线升级方法和/或所述同步方法的步骤。

一种装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上所述在线升级方法和/或所述同步方法的的步骤。

与现有技术相比,本发明可以获得包括以下技术效果:

1)两个BIOS系统不是通常意义上的主备关系,而是完全对等的关系;通过专用程序,可以在线升级BIOS系统;

2)可以通过切换连接电路特征寄存器的值来判断当前启动的BIOS系统;

3)同步模块作为BIOS系统可执行文件的一部分编译链接进BIOS系统中,在BIOS初始化最小系统后自动执行,确保主、备用BIOS系统内容一致。

当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是现有飞腾处理器与BIOS芯片连接示意图。

图2是本发明一个实施例的Flash芯片中存储的BIOS及升级标识示意图。

图3是本发明一个实施例的飞腾处理器经切换连接电路与双BIOS连接的示意图。

图4是本发明一个实施例提供的BIOS在线升级示意图。

图5是本发明一个实施例提供的飞腾处理器上电过程BIOS同步示意图。

图6是本发明一个实施例提供的飞腾处理器复位过程BIOS同步示意图。

具体实施方式

以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

一种基于飞腾平台的双BIOS系统,设计步骤包括:

首先,利用飞腾处理器访问BIOS芯片的片选信号,通过切换连接电路,实现飞腾平台主板的双BIOS系统机制;

其次,通过在BIOS系统可执行文件中加入CRC校验信息及BIOS系统同步模块,在上电或者复位时,在BIOS中执行BIOS同步模块,可确保主、备用BIOS系统完全一致;当其中一个BIOS系统出现数据损坏时(但存储BIOS的芯片不损坏),BIOS系统同步模块主动用另一个好的BIOS系统同步当前损坏的BIOS系统,有效提高飞腾处理器平台的可靠性和可用性;

最后,BIOS系统升级程序可以先读取升级版本BIOS系统,再写入到待升级的BIOS_1系统,同时设置升级标识;接下来,BIOS系统同步模块通过判断升级标志来同步升级后的BIOS系统,确保升级后的主、备用BIOS系统完全一致,提升飞腾处理器平台的可维护性。

在Flash芯片中存储BIOS和升级标识的结构示意图,如图2所示。存储结构生成的步骤包括:首先,在编译生成可烧录的BIOS后,利用CRC值的计算算法,求得该BIOS的CRC值;其次,分析BIOS的链接脚本,找出BIOS中不利用的连续空白的4个字节,这4个字节将作为CRC值的插入位置并记录下该位置地址;最后,预留存储BIOS的Flash芯片中最后一个数据块的首4字节作为升级标识位。

飞腾处理器通过切换连接电路与双BIOS连接的示意图,如图3所示。主要包括飞腾处理器、两个BIOS_1系统、BIOS_2系统和切换连接电路。其中,两个BIOS系统包括BIOS_1主系统和BIOS_2备用系统。切换连接电路控制飞腾处理器与两个BIOS相连接的片选信号,并在复位时能够记录当前片选信号。当上电时,飞腾处理器尝试从BIOS_1系统启动,如果失败则进入复位流程。当复位时,切换连接电路根据记录的片选信号,自动切换片选信号以完成两个主备用BIOS系统的切换。切换连接电路中所记录的当前片选信号保存于其特征寄存器中,软件读取该特征寄存器可以判断出当前应该启动的BIOS系统。

图4示出了根据本发明的BIOS系统在线升级过程的一个实施例。具体实施例步骤如下:

步骤S401:启动升级程序,从系统中读取升级版本的BIOS系统;

步骤S402:计算升级版本BIOS系统的校验和,如果校验出错,则提示该升级版本BIOS校验错并退出整个在线升级过程;否则,进入下一步;

步骤S403:升级程序操作切换连接电路,使其片选信号指向待升级的BIOS_1系统(或者是BIOS_2系统),把升级版本BIOS系统写入待升级BIOS_1系统中;

步骤S404:把升级标识写入存储BIOS_1系统的Flash芯片中的最后一个存储块;

步骤S405:断电关闭整个系统。

本发明实施例提供的飞腾处理器BIOS同步模块同步过程主要分为,飞腾处理器上电过程和复位过程的BIOS系统同步流程。由于同步模块作为BIOS代码的一部分已经编译链接到可执行BIOS系统中,所以在引导操作系统前执行。同步程序可以读取切换连接电路的特征寄存器,确定当前BIOS系统,然后操作切换连接电路,控制与飞腾处理器连接的BIOS片选信号以便同步BIOS系统。

飞腾处理器上电过程中BIOS系统同步流程示意图如图5所示,具体实施例步骤如下:

步骤S501:上电时默认从BIOS_1启动;

步骤S502:如果启动失败则尝试从BIOS_2启动;

步骤S503:如果BIOS_2启动失败则蜂鸣器告警,提示需要更换BIOS;

步骤S504:如果BIOS_2启动成功但校验出错,蜂鸣器告警,提示需要更换BIOS;

步骤S505:BIOS_2启动成功且校验和正确,则用BIOS_2同步BIOS_1并根据升级标识是否有效判断是否需要擦除升级标识;

步骤S506:BIOS_1启动成功,校验BIOS_1,如果校验出错则读取BIOS_2,进而如果BIOS_2也校验错则进入步骤S503;否则,进入步骤S505;

步骤S507:BIOS_1校验成功,判断升级标识是否有效,如果升级标识无效则读取BIOS_2,进而进行BIOS_2校验,如果校验出错则用BIOS_1同步BIOS_2;

步骤S508:如果升级标识有效,升级BIOS_2并擦除升级标识。

飞腾处理器复位过程中BIOS系统同步流程示意图如图6所示,具体实施例步骤如下:

步骤S601:当前BIOS系统启动失败,切换到备用BIOS启动;

步骤S602:如果备用BIOS也启动失败则蜂鸣器告警,提示需要更换BIOS;

步骤S603:如果备用BIOS启动成功但校验出错,蜂鸣器告警,提示需要更换BIOS;

步骤S604:如果备用BIOS启动成功且校验和正确,则用备用BIOS同步当前BIOS;

步骤S605:如果当前BIOS启动成功但校验出错,读取备用BIOS并判断其校验和,如果备用BIOS校验和正确则进入步骤S604,否则进入步骤S602;

步骤S606:如果当前BIOS启动成功且校验和正确,读取备用BIOS并判断其校验和,如果备用BIOS校验和出错则用当前BIOS同步备用BIOS。

本发明的有益效果是:

1)两个BIOS系统不是通常意义上的主备关系,而是完全对等的关系;通过专用程序,可以在线升级BIOS系统;

2)可以通过切换连接电路特征寄存器的值来判断当前启动的BIOS系统;

3)同步模块作为BIOS系统可执行文件的一部分编译链接进BIOS系统中,在BIOS初始化最小系统后自动执行,确保主、备用BIOS系统内容一致。

以上对本发明实施例所提供的一种基于飞腾平台的双BIOS系统及其实现方法,进行了详细介绍。以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

如在说明书及权利要求当中使用了某些词汇来指称特定组件或模块。本领域技术人员应可理解,不同机构可能会用不同名词来称呼同一个组件或模块。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件或模块在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”、“包括”为开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明创造构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1