主备用bios的切换方法及装置、系统的制作方法

文档序号:6397705阅读:575来源:国知局
专利名称:主备用bios的切换方法及装置、系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种主备用BIOS的切换方法及装置、系统。
背景技术
基本输入输出系统(Basic Input/Output System,简称为BIOS),用于保存计算机系统(或称为计算机)的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。BIOS主程序存储在计算机系统的主板上的只读存储器(Read Only Memory,简称为ROM)上,现在多使用FLASH芯片。它具有掉电数据不丢失、快速数据存取速度、电可擦除、容量大、在线可编程、价格低廉、可靠性高、足够多的可擦写次数等诸多优点。在计算机启动的过程中,BIOS担负着初始化硬件,检测硬件功能,以及引导操作系统的责任。BIOS是计算机软件与硬件之间的桥梁,计算机通过BIOS实现软件和硬件之间的协调工作。如果BIOS由于升级或者病毒入侵损坏,计算机将不能正常工作,甚至不能启动。为了解决上述问题,很多主板采用双BIOS的机制,确保系统正常启动。目前常规的双BIOS实现方法是在原有系统的基础上增加一片备用BIOS芯片以及主备BIOS切换电路,同时要在BIOS程序里增加相应的检测程序,在系统上电以后首先检测主用BIOS的状态,如果发现主用BIOS损坏,就会自动切换到备用BIOS启动系统,然后修复主用BIOS。但是上述解决方案存在以下缺陷第一,需要增加额外的切换电路,增加物料成本;第二,需要对BIOS进行二次开发,在BIOS里增加相应的检测程序,增加了人工成本。针对相关技术中的上述问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中,采用双BIOS的保护机制对BIOS进行保护的技术手段存在的人力物力成本较高等技术问题,本发明提供了一种主备用BIOS的切换方法及装置、系统,以至少解决上述问题。根据本发明的一个方面,提供了一种主备用BIOS的切换方法,包括可编程器件检测主用BIOS的工作状态;在检测到工作状态异常时,可编程器件将计算机系统的启动进程切换到备用BIOS。优选地,可编程器件检测主用BIOS的工作状态,包括可编程器件检测计算机系统的桥片组输出的检测信息,其中,该检测信息用于指示主用BIOS的工作状态是否正常。优选地,可编程器件通过以下方式确定检测到工作状态异常在预定时间内持续检测到用于指示工作状态异常的检测信息。优选地,可编程器件将计算机系统的启动进程切换到备用BIOS后,还包括检测启动进程是否完成;在检测到启动进行完成后,将备用BIOS设置为无效状态,将主用BIOS设置为有效状态。优选地,上述可编程器件包括现场可编程门阵列(Field Programable GateArray,简称为FPGA)器件。
根据本发明的另一个方面,提供了一种主备用BIOS的切换装置,包括第一检测模块,位于可编程器件中,用于检测主用BIOS的工作状态;切换模块,位于可编程器件中,用于在检测到工作状态异常时,将计算机系统的启动进程切换到备用BIOS。优选地,第一检测模块,用于检测计算机系统的桥片组输出的检测信息,其中,该检测信息用于指示主用BIOS的工作状态是否正常。优选地,上述装置还包括第二检测模块,用于检测启动进程是否完成;设置模块,用于在检测到启动进行完成后,将备用BIOS设置为无效状态,将主用BIOS设置为有效状态。根据本发明的再一个方面,提供了一种主备用BIOS的切换系统,包括中央处理器、桥片组、可编程器件、主用BIOS和备用BI0S,中央处理器与桥片组连接,主用BIOS和备用BIOS均与桥片组连接,可编程器件与桥片组连接,用于检测桥片组输出的检测信息,其中,该检测信息用于指示主用BIOS的工作状态是否正常;可编程器件与主用BIOS和备用BIOS相连,用于在检测到工作状态异常时,将计算机系统的启动进程切换到备用BIOS。优选地,上述可编程器件包括FPGA器件。通过本发明,采用利用可编程器件检测主用BIOS的工作状态,并在检测到异常工作状态时,将计算机的启动进程切换到备用BIOS的技术手段,解决了相关技术中,采用双BIOS的保护机制对BIOS进行保护的技术手段存在的人力物力成本较高等技术问题,从而在有效对BIOS进行保护的同时,节省了人力物力。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为根据本发明实施例1的主备用BIOS的切换方法的流程图;图2为根据本发明实施例1的主备用BIOS的切换装置的结构框图;图3为根据本发明实施例1的主备用BIOS的切换装置的另一结构框图;图4为根据本发明实施例1的主备用BIOS的切换系统的结构框图;图5为根据本发明实施例2的主备用BIOS的切换系统的结构框图;图6为根据本发明实施例2的主备用BIOS的切换方法的流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。考虑到,采用双BIOS的保护机制对BIOS进行保护的技术手段存在的人力物力成本较高,以及保护机制不完善等技术问题,以下结合实施例提供了相关的解决方案,现详细说明。实施例1图1为根据本发明实施例1的主备用BIOS的切换方法的流程图。如图1所示,该方法包括步骤S102,可编程器件检测主用BIOS的工作状态;
步骤S104,在检测到工作状态异常时,可编程器件将计算机系统的启动进程切换到备用BIOS。通过上述处理步骤,由于利用了计算机系统的可编程器件控制主备用BIOS的切换,因此,不需要引入额外的切换电路,节省了物力成本;另外,可编程器件的程序开发相较于BIOS开发较为简单,节省了人力成本。在本实施例中,步骤S102中,可编程器件检测主用BIOS的工作状态的实现方式有多种,例如检测计算机系统的桥片组与主用BIOS的连接通道上的信号,或者,可以采用以下方式实现可编程器件检测计算机系统的桥片组输出的检测信息,其中,该检测信息用于指示主用BIOS的工作状态是否正常。对于后者,可以检测计算机系统的8010端口的输出信息来判断主用BISO的工作状态是否正常。在本实施例中,上述可编程器件确定检测到工作状态异常的方式也有多种,例如在某一时刻检测到桥片组输出的特定信号,还可以采用以下方式实现在预定时间内持续检测到用于指示工作状态异常的检测信息。相关技术中,仅考虑了对主用BIOS的保护机制,但是缺少对备用BIOS的保护机制,此时,如果备用BIOS更新升级失败,备用BIOS起不到保护的作用,导致双BIOS系统失去意义。为了解决该问题,在可编程器件将系统的启动进程切换到备用BIOS之后,还可以进行如下实现过程检测计算机系统的启动进程是否完成;在检测到启动进行完成后,将备用BIOS设置为无效状态,将主用BIOS设置为有效状态。这样,可以保证用户无法对备用BIOS进行操作;同时,可以保证用户在计算机系统进入操作系统(或者启动进程完成后)修复主用BIOS。在本实施例中,上述可编程器件可以包括FPGA器件。在本实施例中还提供了一种主备用BIOS的切换装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2为根据本发明实施例1的主备用BIOS的切换装置的结构框图。如图2所示,该装置包括第一检测模块20,连接至切换模块22,位于可编程器件中,用于检测主用BIOS的工作状态;切换模块22,位于可编程器件中,用于在检测到工作状态异常时,将计算机系统的启动进程切换到备用BIOS。通过上述各个模块实现的功能,同样可以实现利用计算机系统的可编程器件控制主备用BIOS的切换,因此,不需要引入额外的切换电路,节省了物力成本;另外,可编程器件的程序开发相较于BIOS开发较为简单,节省了人力成本。在本实施例中,第一检测模块20,还可以通过以下方式检测主用BIOS的工作状态是否正常检测计算机系统的桥片组输出的检测信息,其中,该检测信息用于指示主用BIOS的工作状态是否正常。该实现方式具体可以参加上述方法实施例的描述,此处不再赘述。在本实施例中为了进一步完善对BIOS的保护机制,如图3所示,上述装置还可以包括以下处理模块第二检测模块24,连接至设置模块26,用于检测启动进程是否完成;设置模块26,用于在检测到启动进行完成后,将备用BIOS设置为无效状态,将主用BIOS设置为有效状态。在本实施例中,还提供了一种主备用BIOS的切换系统,如图4所示,该系统包括中央处理器(Central Processing Unit,简称为CPU) 40、桥片组42、可编程器件44、主用BI0S46和备用BI0S48,中央处理器40与桥片组42连接,主用BI0S46和备用BI0S48均与桥片组42连接,其中,可编程器件44与桥片组42相连,用于检测桥片组42输出的检测信息,该检测信息用于指示主用BI0S46的工作状态是否正常;同时,可编程器件44还分别与主用BI0S46和备用BI0S48连接,在检测到主用BI0S46工作状态异常时,将计算机系统的启动进程切换到备用BI0S48。在本实施例中,上述可编程器件44可以包括FPGA器件。需要说明的是,本实施例中的主备用BIOS的切换系统包括但不限于本实施例所描述的硬件模块,具体可以实现方式可以参见图5所示的系统,以下会详细说明,此处不再赘述。为了更好地理解上述实施例,以下结合实施例2和相关附图详细说明。以下实施例的主要设计思想在于,本实施例的计算机系统包括中央处理器部分,桥片组部分,FPGA部分,也是主备BIOS切换具体实现的部分,主、备用BIOS部分。系统加电运行后,FPGA根据801/0端口的输出信息来判断主用BIOS是否正常工作,如果发现异常,会自动切换到备用BIOS完成系统启动,进入操作系统后,FPGA会切换回主用BI0S,这样备用BIOS始终只进行读操作,不会被改写或者擦除,确保备用BIOS保持其正确性。实施例2如图5所示,本实施例中的主备用BIOS的切换系统,包括中央处理器40通过前端总线与桥片组42连接交互信息;主用BI0S46和备用BI0S48挂载在桥片组42下面,其片选信号由FPGA44给出,默认情况下选通主用BI0S46 ;FPGA44通过低引脚数(Low PinCount,简称为LPC)总线连接到桥片组42。FPGA44主要由两个功能模块组成1/0端口解析模块440,通过LPC总线送过来的信息解析出801/0端口的内容;主备用BIOS切换模块442,根据801/0端口的内容对主备用BIOS的片选进行设置;指示灯50。以下详细说明主备用BIOS切换模块的实现原理。系统CPU80I/0端口在BIOS运行过程中会输出一系列的数据,这些数据称为检查点(Checkpoint),每个检查点都对应特定的BIOS程序执行阶段,跟踪801/0端口的信息,就能确定当前系统处于什么阶段。本实施例利用上述原则来判断何时进行BIOS的切换动作。如图6所示,本实施例中的主备用BIOS的切换方法包括以下处理步骤步骤S602,系统加电后,默认主用BIOS片选有效,备用BIOS片选无效。FPGA的I/O端口解析模块从桥片组LPC总线送来的数据解析出80端口(即上述801/0端口)的值。主备用BIOS切换模块首先检测80端口是否输出OxFF,如果检测到OxFF,转步骤S604,否则,转步骤S608 ;步骤S604,确定主用BIOS已经正在运行中,接下来80端口会输出一些列的Checkpoint数据,这段时间内80端口的数据一直在变化。当BIOS运行结束时,会将80端口置为O,并且将控制权交给操作系统;步骤S606,判断FPGA判断80端口在Is时间内是否一直输出为0,如果是转步骤S610,否则转步骤S604 ;步骤S608,如果系统上电后经过8s80端口还是没有OxFF输出,即一直输出为0,则认为主用BIOS程序已经损坏,不能正常启动,转步骤S612 ;步骤S610,主用BIOS已经成功加载了操作系统,完成了此次的引导工作。步骤S612,FPGA将主用BIOS片选置成无效状态,将备用BIOS片选置成有效状态,同时会设置备用BIOS生效标识信号standby_flag,并用此信号点亮主备状态指示灯以告知用户BIOS已经切换至备用,以便用户知道主用BIOS已经损坏。步骤S614,检测操作系统是否启动,如果是则转步骤S616,否则继续检测;步骤S616,切换至备用BIOS状态后FPGA继续检测80端口数据,如果发现输出OxFF,则证明备用BIOS已经开始运行,下面的流程与主用BIOS启动一致,只是当检测到80端口在Is时间内一直为O后(此时BIOS程序已经运行完成),重新将主用BIOS片选置成有效状态,将备用BIOS片选置成无效状态。系统下次启动时,依然是先从主用BIOS启动。采用这样的设计有两个原因第一,用户可以在进入操作系统后通过软件修复主用BIOS ;第二,保护备用BI0S,用户无法操作备用BI0S,确保备用BIOS —直可以正常启动。采用本实施例的双BIOS切换方案,在实现双BIOS切换时不需要引入额外的切换电路。相关技术中,一般都会采用FPGA实现单板信息管理和逻辑控制,使用FPGA实现双BIOS切换在硬件上只需要多增加几个1/0脚资源;同时FPGA程序开发相较于BIOS开发简单很多,节省了人力资源。在另外一个实施例中,还提供了 一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种主备用基本输入输出系统BIOS的切换方法,其特征在于,包括: 可编程器件检测主用BIOS的工作状态; 在检测到所述工作状 态异常时,所述可编程器件将计算机系统的启动进程切换到备用BIOS。
2.根据权利要求1所述的方法,其特征在于,可编程器件检测主用BIOS的工作状态,包括: 所述可编程器件检测所述计算机系统的桥片组输出的检测信息,其中,该检测信息用于指示所述主用BIOS的工作状态是否正常。
3.根据权利要求2所述的方法,其特征在于,所述可编程器件通过以下方式确定检测到所述工作状态异常: 在预定时间内持续检测到用于指示所述工作状态异常的所述检测信息。
4.根据权利要求1所述的方法,其特征在于,所述可编程器件将计算机系统的启动进程切换到备用BIOS后,还包括: 检测所述启动进程是否完成; 在检测到所述启动进行完成后,将所述备用BIOS设置为无效状态,将所述主用BIOS设置为有效状态。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述可编程器件包括:现场可编程门阵列FPGA器件。
6.一种主备用基本输入输出系统BIOS的切换装置,其特征在于,包括: 第一检测模块,位于可编程器件中,用于检测主用BIOS的工作状态; 切换模块,位于可编程器件中,用于在检测到所述工作状态异常时,将计算机系统的启动进程切换到备用BIOS。
7.根据权利要求6所述的装置,其特征在于,所述第一检测模块,用于检测所述计算机系统的桥片组输出的检测信息,其中,该检测信息用于指示所述主用BIOS的工作状态是否正常。
8.根据权利要求6所述的装置,其特征在于,还包括: 第二检测模块,用于检测所述启动进程是否完成; 设置模块,用于在检测到所述启动进行完成后,将所述备用BIOS设置为无效状态,将所述主用BIOS设置为有效状态。
9.一种主备用基本输入输出系统BIOS的切换系统,包括:中央处理器、桥片组、可编程器件、主用BIOS和备用BIOS,所述中央处理器与所述桥片组连接,所述主用BIOS和备用BIOS均与所述桥片组连接,其特征在于,包括: 所述可编程器件与所述桥片组连接,用于检测所述桥片组输出的检测信息,其中,该检测信息用于指示所述主用BIOS的工作状态是否正常;所述可编程器件与所述主用BIOS和备用BIOS相连,用于在检测到所述工作状态异常时,将计算机系统的启动进程切换到所述备用BIOS。
10.根据权利要求9所述的系统,其特征在于,所述可编程器件包括:现场可编程门阵列FPGA器件。
全文摘要
本发明提供了一种主备用BIOS的切换方法及装置、系统。其中,上述方法包括可编程器件检测主用BIOS的工作状态;在检测到工作状态异常时,可编程器件将计算机系统的启动进程切换到备用BIOS。采用本发明提供的上述技术方案,解决了相关技术中,采用双BIOS的保护机制对BIOS进行保护的技术手段存在的人力物力成本较高等技术问题,从而在有效对BIOS进行保护的同时,节省了人力物力。
文档编号G06F9/445GK103077060SQ20131000898
公开日2013年5月1日 申请日期2013年1月10日 优先权日2013年1月10日
发明者于俊莲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1