基本输入/输出系统数据更新方法技术方案

技术编号:2821062 阅读:145 留言:0更新日期:2012-04-11 18:40
一种基本输入/输出系统及其数据更新方法,采用链接串行与程序群组地址查找表,组成一数据结构来储存BIOS的程序群组,因此,本发明专利技术能够仅更新部分的程序群组,以降低更新BIOS时失败的风险。

【技术实现步骤摘要】

'本专利技术涉及一种基本输入/输出系统,且特别是涉及一种基本输入/输出 系统数据的更新方法。
技术介绍
在目前的基本输入/输出系统(以下简称为BI0S)中,其数据储存于主机 板上的一闪速存储器(flash memory)中,且包含多个程序群组(code group), 例如控制中央处理器的微码(microcode)、控制输入输出装置的程序代码 (code)或商标(logo)图片等等。但是通常主机板在使用一段时间后,BIOS 内会有部分的程序群组需要更新,或是当使用者想要更新计算机中的硬件时,也将需要更新部分的程序群组。举例来说,当使用者想要更新中央处理器的微码时,将通过一公用程序 (utility)来更新BIOS,而其更新的步骤如图1所示。图l所示为已知技术 BIOS数据更新方法的步骤流程图。请参考图1,开始更新BIOS(步骤SIOO)。 首先,使用者下载完整BIOS的程序代码(步骤SllO),而程序代码中包含使 用者想要更新的中央处理器的微码。接下来,公用程序将下载的BIOS的程序代码编译(compile)为一映像文 件(S120),并且擦除整个闪速存储器(步骤S130),再将映像文件写入闪速存 储器中(步骤S140),来完成更新BIOS (步骤S150)。然而,上述的已知的更新BIOS的步骤具有以下多个缺点1. 当使用者仅需要更新部分的程序群组时,仍需要擦除整个闪速存储 器,并写入完整的映像文件,这使更新的步骤过于复杂,并浪费多余的更新 时间。2. 由于每次更新BIOS时,都需要擦除整个闪速存储器,并重新写入整 个映像文件。因此,在更新BIOS时,只要部分的数据未完整写入闪速存储 器,就会造成BIOS大部分的功能失效,甚至造成计算机无法正常开机,并 且相对提高更新失败的机率。3.当映像文件的大小超过闪速存储器时,将会使得映像文件无法完整 写入闪速存储器中,而使使用者无法更新BIOS。
技术实现思路
本专利技术的目的就是在提供一种BIOS数据更新方法,在更新BI0S时,能 够只更新部分的程序群组,并达到降低更新时发生错误的风险的目的。本专利技术的另一个目的是提供一种BIOS,能够将同一程序群组储存于不同 的存储器区块当中,利用链接串行(link list)来连接不同的存储器区块。本专利技术提出一种BIOS数据更新方法,此BI0S包括多个程序群组与一程 序群组地址查找表(lookup table),这些程序群组分别储存于一非易失性存 储器中的多个区块,而程序群组地址查找表指示每个程序群组在非易失性存 储器中的起始地址。BIOS数据更新方法包括取得一更新程序群组;根据程 序群组地址查找表,在这些程序群组中找出所要更新的一特定程序群组,并 找出特定程序群组所对应的第一特定区块的地址,其中,特定程序群组分为 第 一特定程序区段与第二程序区段,并分别储存于非易失性存储器中的第一 特定区块与第二特定区块,而第一特定区块与第二特定区块以链接串行连 接;将更新程序群组分为一第一更新程序区段与一第二更新程序区段,并将 第一更新程序区段与第二更新程序区段分别写入第一特定区块与第二特定 区块。本专利技术再提出一种BIOS,储存于一非易失性存储器,包括至少一程序群 组与程序群组地址查找表。其中程序群组至少包括第一程序区段与第二程序 区段,而第一程序区段与第二程序区段以链接串行连接。而程序群组地址查 找表指示程序群组在非易失性存储器中的起始地址。本专利技术因采用链接串行与程序群组地址查找表,组成一数据结构来储存 BIOS的程序群组,因此,本专利技术在更新BIOS时,能够仅更新部分的程序群 组,以降低更新BIOS时发生错误的机率。并且,当所要更新的程序群组超 过存储器的空间时,本专利技术也能够删除不必要的程序群组,来释放存储器的 空间,使得BIOS的更新更具有弹性。为使本专利技术的上述和其它目的、特征和优点能更明显易懂,下文特举较 佳实施例,并结合附图详细说明如下。附图说明图1所示为已知技术中的BIOS数据更新方法的步骤流程图。图2所示为本专利技术实施例的储存BIOS的闪速存储器区块配置图。图3所示为本专利技术实施例的程序群组地址查找表。图4所示为本专利技术实施例的程序群组A的链接串行示意图。图5所示为本专利技术第二实施例的BIOS数据更新方法的步骤流程图。图6所示为本专利技术实施例的储存BIOS的随机存取存储器区块配置图。图7所示为本专利技术第三实施例的BIOS数据更新方法的步骤流程图。图8所示为步骤S770的子步骤流程图。图9所示为本专利技术第三实施例在第一写入步骤之后,储存BIOS的闪速 存储器区块配置图。图10所示为本专利技术第三实施例在第一写入步骤之后,更新程序群组的 链接串行示意图。图11所示为本专利技术第三实施例在第一写入步骤之后,储存BIOS的随机 存取存储器区块配置图。图12所示为步骤S780的子步骤流程图。图13所示为本专利技术第三实施例在第二写入步骤之后,储存BIOS的闪速 存储器区块配置图。图14所示为本专利技术第三实施例在第二写入步骤之后,更新程序群组的 链接串行示意图。图15所示为本专利技术第三实施例在第二写入步骤之后,储存BIOS的随机 存取存储器区块配置图。具体实施例方式在已知的更新BIOS技术中,必须将整个闪速存储器擦除后,在将一个 完整的映像文件写入,因此,更新时容易提高错误的风险,并且,当闪速存 储器不足时,也无法适当地调整写入的映像文件。而本专利技术所提出的BIOS 与其数据更新的方法,能够只更新部分的程序群组,以降低更新时发生错误 的机率,并且,又能够适当地调整写入时的映像文件。以下将举多个实施例 说明本专利技术,但其并非用以限定本专利技术,本领域技术人员可依照本专利技术的精 神对下述实施例稍作修饰,但其仍属于本专利技术的范围。在说明本专利技术实施例之前,首先假设BIOS储存于一非易失性存储器中, 而非易失性存储器例如包括电子可擦除可程序化只读存储器(Electrically Erasable Programmable Read Only Memory, EEPROM)或闪速存储器等等。 而在本专利技术实施例中,假设非易失性存储器为闪速存储器,并假设闪速存储 器分为多个区块,且每个区块的容量大小未必相同,其大小例如为8KB或 4KB,但上述的设定并不限定其范围。另外,假设BIOS包含多个程序群组,例如控制中央处理器的微码 (microcode)、控制输入输出装置的程序代码(code)或商标(logo)图片等等。 而在本专利技术实施例中,假设BIOS只包含A、 B、 C、 D四个程序群组。而程序 群组A、 B都例如包含多个程序区段。举例来说,程序群组A分为程序区段 Al与程序区段A2。以下开始说明第一实施例的BI0S。图2所示为本专利技术实施例的储存BI0S 的闪速存储器区块配置图。图3所示为本专利技术实施例的程序群组地址查找表。 请先参考图2,闪速存储器包含多个区块202 - 220,其中区块202储存有一 程序群组地址查找表,而区块202在闪速存储器中的地址为0A00h 2A00h, 在图2中的区块204 216则是储存程序区段A D。另外。图2中的闪速存 储器还包含第一可用区块218与第二可用区块220,在图2中标示为Fl与 F2,但其内部并未写入任何程序代码。请参考图3,图3例如为此程本文档来自技高网
...

【技术保护点】
一种基本输入/输出系统数据更新方法,其特征是,上述基本输入/输出系统包括多个程序群组与一程序群组地址查找表,而上述这些程序群组分别储存于一非易失性存储器中的多个区块,上述程序群组地址查找表指示每一上述这些程序群组在上述非易失性存储器中的起始地址,上述方法包括下列步骤: 取得一更新程序群组; 根据上述程序群组地址查找表,在上述这些程序群组中找出所要更新的一特定程序群组,并找出上述特定程序群组所对应的一第一特定区块的地址,其中,上述特定程序群组分为一第一特定程序区段与一第二程序区段,并分别储存于上述非易失性存储器中的上述第一特定区块与一第二特定区块,而上述第一特定区块与上述第二特定区块以链接串行连接;以及 将上述更新程序群组分为一第一更新程序区段与一第二更新程序区段,并将上述第一更新程序区段与上述第二更新程序区段分别写入上述第一特定区块与上述第二特定区块。

【技术特征摘要】

【专利技术属性】
技术研发人员:王锦煜王显三
申请(专利权)人:华硕电脑股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1