首页> 中国专利> 基本输入/输出系统BIOS配置数据管理方法及系统

基本输入/输出系统BIOS配置数据管理方法及系统

摘要

本发明公开了一种基本输入/输出系统BIOS配置数据管理方法及系统。该方法包括:读取BIOS程序代码,执行BIOS程序;在执行该BIOS程序时,根据读取到的BIOS配置数据执行BIOS程序当中的不同代码段;当执行该BIOS程序需用新的BIOS配置数据时,则使用新存储区域中的值作为新的BIOS配置数据。通过利用本发明所提供的方案,在BIOS程序升级后,配置项增多时,可以保证存储介质中当前BIOS配置数据依然被有效读取。

著录项

  • 公开/公告号CN102308280A

    专利类型发明专利

  • 公开/公告日2012-01-04

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201180001132.0

  • 发明设计人 陶林;李弈;王飞舟;李华东;

    申请日2011-07-27

  • 分类号G06F9/445(20060101);

  • 代理机构深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人彭愿洁;李文红

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-18 04:08:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-16

    未缴年费专利权终止 IPC(主分类):G06F9/445 授权公告日:20130828 终止日期:20180727 申请日:20110727

    专利权的终止

  • 2013-08-28

    授权

    授权

  • 2012-02-22

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20110727

    实质审查的生效

  • 2012-01-04

    公开

    公开

说明书

技术领域

本发明涉及通信设备技术领域,尤其涉及基本输入/输出系统BIOS配置数据管理方法及系统。

背景技术

在服务器或个人电脑中,BIOS(Base Input/Output System,基本输入/输出系统)为固化在系统主板上的程序,通常将其称为BIOS程序。BIOS主板启动,CPU(Central Processing Unit,中央处理器)执行BIOS程序时,根据读取到的、存储在CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)存储介质中的BIOS配置数据执行BIOS程序中的不同的代码段,最终实现基本输入/输出系统的基本配置。该CMOS存储介质为主板上的可读写RAM(Random Access Memory,随机存储器),并由主板电池供电,以保证系统掉电后,所存储的用户当前BIOS配置数据不会丢失,进而使得CPU利用用户所设置的BIOS配置数据执行BIOS程序,实现对基本输入/输出系统的基本配置。

其中,不同厂商在为各版本BIOS程序对应的BIOS配置数据分配存储区域时,采用动态分配的方式,使得各版本BIOS程序与BIOS配置数据一一对应,例如:在执行版本A的BIOS程序时,可根据该版本对应的BIOS配置数据执行BIOS程序中的不同代码;在执行版本B的BIOS程序时,可根据该版本对应的BIOS配置数据执行BIOS程序中的不同代码。也就是,BIOS程序与BIOS配置数据具有耦合性。而在系统主板需要与新型CPU相适应,识别新的硬件或解决电信领域的一些特殊故障问题等情况下,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程序时,根据读取到的BIOS配置数据执行BIOS程序当中不同的代码段,其中,所述BIOS配置数据按固定的区域存放在非易失性存储介质当中且与所述BIOS程序代码存放的区域相独立;

当执行所述BIOS程序需要用到新的BIOS配置数据时,则使用新存储区中的值作为新的BIOS配置数据,其中,所述新存储区为与当前BIOS配置数据存放区域以及所述BIOS程序代码存放区域相独立的一个区域,所述新存储区中的值为事先约定的默认配置值;

非易失性存储介质,用于按照固定的区域存放执行BIOS程序不同代码段所需的BIOS配置数据;

BIOS程序存储介质,用于存储BIOS程序代码。

与现有动态存储BIOS配置数据的方式相比,本发明将BIOS配置数据按照固定的存储区域放在非易失性存储介质中,且与BIOS程序代码存储区域相独立;当执行升级后的BIOS程序需要用到新的BIOS配置数据时,将使用与当前BIOS配置区域独立的新存储区域中的值作为新的BIOS配置数据。因此,通过BIOS配置数据的固定存储以及为新增配置配置项分配预先约定区域的方式,在BIOS程序升级后,配置项增多时,可以保证存储介质中当前BIOS配置数据依然被有效读取。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的配置数据存储方式的结构示意图;

图2为本发明实施例所提供的一种基本输入/输出系统BIOS配置数据管理方法的第一种流程图;

图3为本发明实施例所提供的配置数据存储方式的另一结构示意图;

图4为本发明实施例所提供的一种基本输入/输出系统BIOS配置数据管理方法的第二种流程图;

图5为本发明实施例所提供的一种基本输入/输出系统BIOS配置数据管理系统的结构示意图。

具体实施方式

实际应用中,服务器或个人电脑的系统主板由于需要与新型CPU相适应,识别新的硬件或解决电信领域的一些特殊故障等,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程序升级后,配置项增多时,可以保证存储介质中当前BIOS配置数据依然被有效读取。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面以由于识别新的硬件,而需要进行BIOS程序升级为例,对本发明实施例所提供的一种基本输入/输出系统BIOS配置数据管理方法进行介绍。

本实施例中,假设BIOS程序为01版本,当BIOS主板启动后,CPU通过读取存储介质中的存储区域:配置项1、配置项2、配置项3中的各BIOS配置数据,依次执行配置设备A、设备B、设备C所对应的BIOS程序代码段,进而实现对设备A、设备B、设备C的基本配置。而当BIOS程序升级为02版本后,需要通过执行BIOS程序中的不同代码段,依次实现对设备A、设备B、设备C、设备D的基本配置。也就是,当BIOS程序从01版本升级到02版本后,配置项增多了。

现有技术中,由于BIOS配置数据动态分配,使得BIOS程序与BIOS配置数据具有一一对应性。而当BIOS程序由01版本升级到02版本,配置项增多了,可能导致BIOS配置数据之前的存储布局被破坏,这将导致在执行02版本的BIOS程序时,无法有效读取存储介质中的BIOS配置数据,执行不同BIOS程序代码段,最终导致配置功能发生紊乱。

本实施例中,在与BIOS程序代码存储区域相对独立的非易失性存储介质中划分了多个存储区域,执行BIOS程序所需的BIOS配置数据按照预设的顺序,依次存放在该非易失性存储介质的对应固定区域中,并将未存放BIOS配置数据的空闲区域的值设置为预先约定的默认值。需要说明的是,由于BIOS程序升级导致新增配置项后,执行新版BIOS程序时,需要有效读取原有的BIOS配置数据和新增的BIOS配置数据,所以新增的配置项的功能必须将所述空闲区域的预先约定的默认值作为其默认值,以此保证升级BIOS程序后,存储介质中的BIOS配置数据保持不变且可被有效读取。

可以理解的是,在进行BIOS配置数据存储时,还可以按照约定的地址进行存放,以保证BIOS配置数据的固定存储。

如图1所示,01版本的BIOS程序对应的BIOS配置数据存储结构中,配置项1对应的固定起始位置为00,配置项2对应的固定起始位置为02,配置项3对应的固定起始位置04;空闲的存储区域中存储着预先约定的默认值,例如:默认值为0。

当BIOS程序由01版本升级到02版本后,配置项增多时,通过利用本实施例所提供的基本输入/输出系统BIOS配置数据管理方法,可以实现对非易失性存储介质中的当前存储的BIOS配置数据的有效读取。在读取02版本的BIOS程序代码,执行BIOS程序时,如图2所示,该方法可以包括:

S101,依次读取存放在非易失性存储介质中的各BIOS配置数据。

在执行BIOS程序时,需要根据读取到的相应的BIOS配置数据执行不同的代码段程序,最终实现各基本输入/输出系统的基本配置。由于BIOS配置数据与BIOS程序代码存储的区域相对独立,当BIOS程序由01版本升级到02版本后,01版本对应的存储介质中的各BIOS配置数据并未发生变化,所以,在执行02版本的BIOS程序时,首先依次读取所存放的原有的BIOS配置数据。

S102,将新存储区域中的默认值作为新增配置项对应的BIOS配置数据。

由于BIOS程序由01版本升级到02版本后,配置项增多了,所以将未存放BIOS配置数据的空闲区域:未占用区域1作为新增配置项对应的BIOS配置数据存放区域,以此保证升级前后,存储介质中的原有BIOS配置数据的布局不发生改变,同时为新增的配置项分配到固定的存储区域。可以理解的是,新增配置项的默认功能配置值与该未占用区域1中所存储的默认值相同,以实现对新增配置项的有效初始配置。

S103,根据读取到的各BIOS配置数据,执行02版本BIOS程序当中的不同代码段。

在执行02版本的BIOS程序时,根据读取到的配置项1、配置项2、配置项3、未占用区域1中的BIOS配置数据,依次执行该BIOS程序中的不同代码段,以实现对设备A、设备B、设备C、设备D的基本配置。

可以理解的是,步骤S101与步骤S102的执行顺序并不局限于本实施例所述的顺序,例如:其可以先执行步骤S102,然后执行S101,或者步骤S101与步骤S102同时执行,都是合理的。

本发明实施例中,将BIOS配置数据按照固定的存储区域放在非易失性存储介质中,且与BIOS程序代码存储区域相独立;当执行升级后的BIOS程序需要用到新的BIOS配置数据时,将使用与当前BIOS配置区域独立的新存储区域中的值作为新的BIOS配置数据。因此,通过BIOS配置数据的固定存储以及为新增配置配置项分配预先约定区域的方式,在BIOS程序升级后,配置项增多时,可以保证当前BIOS配置数据依然被有效读取。

需要说明的是,当BIOS程序升级后,配置项减少的情况下,保留所减少的配置项中的BIOS配置数据,以避免其他BIOS配置数据的存储位置发生偏移,保证各BIOS配置数据存储区域的固定不变。

在实际应用中,非易失性存储介质中的BIOS配置数据可能由于病毒入侵等原因出现数据无效的情况,利用无效的BIOS配置数据对基本输入/输出系统进行配置将出现功能紊乱。为了保证在当前BIOS配置数据有效的前提下,实现BIOS程序升级,配置项增多时,当前BIOS配置数据可以被有效读取,本发明又一实施例提供了一种基本输入/输出系统BIOS配置数据管理方法。

本实施例中,非易失性存储介质的存储区域中不但按照固定的位置存储有BIOS配置数据,还存储标识当前BIOS配置数据是否可被读取的校验值Checksum。该校验值Checksum可以为:由CPU通过一系列算术或逻辑操作将所存储的BIOS配置数据的所有字节组合而得到的。当非易失性存储介质中的各BIOS配置数据进行正常修改时,例如:用户修改,CPU则会重新计算该校验值Checksum,并进行更新处理。而对于非正常修改,CPU无法通过通信接口感知,而不能重新计算以改写当前存储的校验值Checksum。

依然假设BIOS程序为01版本,当BIOS主板启动后,CPU通过读取非易失性存储介质中的存储区域:配置项1、配置项2、配置项3中的各BIOS配置数据,依次执行配置设备A、设备B、设备C所对应的BIOS程序代码段,进而实现对设备A、设备B、设备C的基本配置。而当BIOS程序升级为02版本后,需要通过执行BIOS程序中的不同代码段,依次实现对设备A、设备B、设备C、设备D的基本配置。也就是,当BIOS程序从01版本升级到02版本后,配置项增多了。

其中,校验值Checksum以及各配置项在非易失性存储介质中的存储结构如图3所示。本实施例所提供的一种基本输入/输出系统BIOS配置数据管理方法,如图4所示,可以包括:

S201,计算该非易失性存储介质存储的BIOS配置数据的当前校验值Checksum。

在执行02版本BIOS程序时,首先计算当前BIOS配置数据对应的当前校验值Checksum,以进行后续BIOS配置数据有效性的判断。该校验值Checksum的计算方法依然可以为:由CPU通过一系列算术或逻辑操作将所存储的BIOS配置数据的所有字节组合而得到的。

S202,判断所述当前校验值Checksum与所述非易失性存储介质中所存储的校验值Checksum是否相等;如果否,则执行步骤S203;如果是,则直接执行步骤S204。

将计算得到的当前校验值Checksum与该非易失性存储介质中所存储的校验值Checksum进行比较,如果相等,则表明该存储介质中的BIOS配置数据并未被非正常修改,处于有效状态;而如果不相等,则表明该存储介质中的BIOS配置数据被非正常修改了,导致其处于无效状态。

S203,将各BIOS配置数据的初始默认值依次写入该非易失性存储介质中,并更新所存储的校验值Checksum。

当判断得到该存储介质中的BIOS配置数据处于无效状态时,则需要对该存储介质中的各配置项进行初始化,使得各BIOS配置数据为初始默认值。并且需要计算初始化后BIOS配置数据的校验值Checksum,对该存储介质中的校验值区域进行数据更新。

S204,依次读取存放在非易失性存储介质中的各BIOS配置数据。

S205,将新存储区域中的默认值作为新增配置项对应的BIOS配置数据。

S206,根据读取到的各BIOS配置数据,执行02版本BIOS程序当中的不同代码段。

其中,步骤S204~步骤S206与上述实施例的步骤S101~步骤S103相似,在此不再赘述。

本实施例中,非易失性存储介质的存储区域中不但按照固定的位置存储有BIOS配置数据,还存储标识当前BIOS配置数据是否可被读取的校验值Checksum。通过在存储介质中增设校验值的方式,在读取配置数据之前,对当前BIOS配置数据的有效性进行判断分析。这样在当前BIOS配置数据有效的前提下,保证了在BIOS程序升级后,配置项增多的情况下,当前BIOS配置数据可被有效读取。

需要说明的是,所述非易失性存储介质可以为CMOS存储器。由于CMOS需要特定的供电电池,而且所述供电电池受温度、寿命、接触不良等因素影响。所以,优选地,所述非易失性存储介质可以为挂接在系统南桥的SMBUS(System Management Bus,系统管理总线)控制器下的EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦可编程只读存储器),或者,在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程序代码存储区域相独立;当执行升级后的BIOS程序需要用到新的BIOS配置数据时,将使用与当前BIOS配置区域独立的新存储区域中的值作为新的BIOS配置数据。因此,通过BIOS配置数据的固定存储以及为新增配置配置项分配预先约定区域的方式,在BIOS程序升级后,配置项增多时,可以保证当前BIOS配置数据依然被有效读取。

其中,所述非易失性存储介质,具体用于:

将执行不同BIOS程序代码段所需的BIOS配置数据按照预设的顺序,依次存放在所述非易失性存储介质中的多个固定区域中;

且将未存放BIOS配置数据的区域的值设置为预先约定的默认值。

更进一步的,为了保证在当前BIOS配置数据有效的前提下,实现BIOS程序升级,配置项增多时,当前BIOS配置数据可以被有效读取,所述非易失性存储介质,具体用于:

按照固定的区域存放执行BIOS程序不同代码段所需的BIOS配置数据且存储所述BIOS配置数据对应的校验值Checksum;

相应的,所述中央处理器具体用于:

计算所述非易失性存储介质存储的BIOS配置数据的当前校验值Checksum;

判断所述当前校验值Checksum与所述非易失性存储介质中所存储的校验值Checksum是否相等;

如果否,则将所述BIOS配置数据的默认值依次写入非易失性存储介质中对应的固定区域中,并更新所存储的校验值Checksum后,读取BIOS程序代码,执行BIOS程序;

如果是,则读取BIOS程序代码,执行BIOS程序。

本实施例中,非易失性存储介质的存储区域中不但按照固定的位置存储有BIOS配置数据,还存储标识当前BIOS配置数据是否可被读取的校验值Checksum。通过在存储介质中增设校验值的方式,在读取配置数据之前,对当前BIOS配置数据的有效性进行判断分析。这样在当前BIOS配置数据有效的前提下,保证了在BIOS程序升级后,配置项增多的情况下,当前BIOS配置数据可被有效读取。

其中,在实际应用中,所述非易失性存储介质为CMOS存储器。为了使得该非易失性存储介质不受温度、供电电池接触不良以及寿命等因素的影响,如图5所示,该非易失性存储介质可以为挂接在与北桥相对的南桥系统管理总线SMBUS控制器下的EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦可编程只读存储器)。其中,CPU执行BIOS程序时,可以通过SMBUS来访问EEPROM。

可以理解的是,在保证BIOS程序代码与BIOS配置数据可以完全相对分离的情况下,该非易失性存储介质也可以为BIOS程序所在存储介质中的BIOS配置数据专有区域。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号