CN101339513A - 基本输入/输出系统与其数据更新方法 - Google Patents
基本输入/输出系统与其数据更新方法 Download PDFInfo
- Publication number
- CN101339513A CN101339513A CNA2007101283347A CN200710128334A CN101339513A CN 101339513 A CN101339513 A CN 101339513A CN A2007101283347 A CNA2007101283347 A CN A2007101283347A CN 200710128334 A CN200710128334 A CN 200710128334A CN 101339513 A CN101339513 A CN 101339513A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- block
- refresh routine
- group
- section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Read Only Memory (AREA)
- Stored Programmes (AREA)
Abstract
一种基本输入/输出系统及其数据更新方法,采用链接串行与程序群组地址查找表,组成一数据结构来储存BIOS的程序群组,因此,本发明能够仅更新部分的程序群组,以降低更新BIOS时失败的风险。
Description
技术领域
本发明涉及一种基本输入/输出系统,且特别是涉及一种基本输入/输出系统数据的更新方法。
背景技术
在目前的基本输入/输出系统(以下简称为BIOS)中,其数据储存于主机板上的一闪速存储器(flash memory)中,且包含多个程序群组(code group),例如:控制中央处理器的微码(microcode)、控制输入输出装置的程序代码(code)或商标(logo)图片等等。但是通常主机板在使用一段时间后,BIOS内会有部分的程序群组需要更新,或是当使用者想要更新计算机中的硬件时,也将需要更新部分的程序群组。
举例来说,当使用者想要更新中央处理器的微码时,将通过一公用程序(utility)来更新BIOS,而其更新的步骤如图1所示。图1所示为已知技术BIOS数据更新方法的步骤流程图。请参考图1,开始更新BIOS(步骤S100)。首先,使用者下载完整BIOS的程序代码(步骤S110),而程序代码中包含使用者想要更新的中央处理器的微码。
接下来,公用程序将下载的BIOS的程序代码编译(compile)为一映像文件(S120),并且擦除整个闪速存储器(步骤S130),再将映像文件写入闪速存储器中(步骤S140),来完成更新BIOS(步骤S150)。
然而,上述的已知的更新BIOS的步骤具有以下多个缺点:
1.当使用者仅需要更新部分的程序群组时,仍需要擦除整个闪速存储器,并写入完整的映像文件,这使更新的步骤过于复杂,并浪费多余的更新时间。
2.由于每次更新BIOS时,都需要擦除整个闪速存储器,并重新写入整个映像文件。因此,在更新BIOS时,只要部分的数据未完整写入闪速存储器,就会造成BIOS大部分的功能失效,甚至造成计算机无法正常开机,并且相对提高更新失败的机率。
3.当映像文件的大小超过闪速存储器时,将会使得映像文件无法完整写入闪速存储器中,而使使用者无法更新BIOS。
发明内容
本发明的目的就是在提供一种BIOS数据更新方法,在更新BIOS时,能够只更新部分的程序群组,并达到降低更新时发生错误的风险的目的。
本发明的另一个目的是提供一种BIOS,能够将同一程序群组储存于不同的存储器区块当中,利用链接串行(link list)来连接不同的存储器区块。
本发明提出一种BIOS数据更新方法,此BIOS包括多个程序群组与一程序群组地址查找表(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储存于一非易失性存储器中,而非易失性存储器例如包括电子可擦除可程序化只读存储器(ElectricallyErasable Programmable Read Only Memory,EEPROM)或闪速存储器等等。而在本发明实施例中,假设非易失性存储器为闪速存储器,并假设闪速存储器分为多个区块,且每个区块的容量大小未必相同,其大小例如为8KB或4KB,但上述的设定并不限定其范围。
另外,假设BIOS包含多个程序群组,例如:控制中央处理器的微码(microcode)、控制输入输出装置的程序代码(code)或商标(logo)图片等等。而在本发明实施例中,假设BIOS只包含A、B、C、D四个程序群组。而程序群组A、B都例如包含多个程序区段。举例来说,程序群组A分为程序区段A1与程序区段A2。
以下开始说明第一实施例的BIOS。图2所示为本发明实施例的储存BIOS的闪速存储器区块配置图。图3所示为本发明实施例的程序群组地址查找表。请先参考图2,闪速存储器包含多个区块202~220,其中区块202储存有一程序群组地址查找表,而区块202在闪速存储器中的地址为0A00h~2A00h,在图2中的区块204~216则是储存程序区段A~D。另外。图2中的闪速存储器还包含第一可用区块218与第二可用区块220,在图2中标示为F1与F2,但其内部并未写入任何程序代码。
请参考图3,图3例如为此程序群组地址查找表,其中包含五个列字段,并分别为程序群组A~程序群组D在闪速存储器中的起始地址,以及可用区块F的起始地址。举例来说,由图3可知程序群组A在闪速存储器中的起始地址为2A00h,并由图2可看出2A00h的地址指向一区块,而此区块内储存的数据为第一程序区段A1。而程序区段A1利用链接串行连结第二程序区段A2,并由图4所示。图4所示为本发明实施例的程序群组A的链接串行示意图。
请同时参考图2与图4,图2中包含有一第一区块与一第二区块,并分别储存程序区段A1与程序区段A2,其地址分别为2A00h~4A00h与9A00h~AA00h。而由图4中可观察出,第一区块除了储存有程序区段A1,还另外储存一指标,而其指标为9A00h,以指向第二区段的起始地址。
相同地,图2中的所标示的第一可用区块218与第二可用区块220也利用连接串行连接,也就是说,图3中的第五列字段指出第一可用区块218的起始位置CA00h,而第一可用区块218中又含有一指标,以指向第二可用区块220的起始位置DA00h。
接下来,将说明第二实施例的BIOS数据更新方法。在说明本实施例之前,先假设此BIOS利用上述第一实施例的BIOS,而BIOS应用于一计算机中。接着,假设本实施例要更新的程序群组为中央处理器的微码,且例如为上述第一实施例中的程序群组A。另外,假设本实施例利用一公用程序来执行BIOS数据更新方法,然而,此种设定并不能用以限制本发明,本发明仍可以硬件或软硬件共同来实现BIOS数据更新方法。
以下开始说明第二实施例。图5所示为本发明第二实施例的BIOS数据更新方法的步骤流程图。请同时参考图2、图3与图5,开始更新BIOS(步骤S500),首先,公用程序取得一更新程序群组A’(步骤S510)。而此更新程序群组可以是由使用者预先下载到计算机,或是由公用程序自行由网络下载到计算机。
之后,公用程序根据程序群组地址查找表,在程序群组中找出所要更新的特定程序群组(也就是图2中程序群组A),并找出程序群组A所对应的第一特定区块204的地址2A00h(步骤S520)。而依据上述第一实施例可知,程序群组A分为一第一特定程序区段A1与一第二程序区段A2,并分别储存于闪速存储器中的第一特定区块204与第二特定区块212,而区块204与区块212以链接串行连接。
最后,公用程序将更新程序群组A’分为更新程序区段A1’与更新程序区段A2’,并且将更新程序区段A1’与更新程序区段A2’分别写入区块204与区块212(步骤S530),即完成更新BIOS(步骤S540)。而在写入更新程序区段A1’与更新程序区段A2’之前,公用程序可先擦除区块204与区块212内的数据(例如将区块204与区块212内的所有位都写为1),但是并未擦除区块204内的指标,因此,在写入更新程序区段A1’、A2’至区块204与212之后,区块204仍包含一指标指向区块212的起始地址。
另外,在步骤S530中,公用程序例如是依照区块204与212的容量,来分割更新程序群组A’。举例来说,若更新的程序群组的数据大小为10KB,则公用程序可将程序群组中的前面8KB的程序代码作为更新程序区段A1’,而剩余的2KB的程序代码作为更新程序区段A2’。
在完成更新BIOS之后,使用者将可以启动计算机时,此时,BIOS内中的所有程序群组将会被储存至计算机中的随机存取存储器(Random-AccessMemory,RAM)。图6所示为本发明实施例的储存BIOS的随机存取存储器区块配置图。而当BIOS内中的所有程序群组存入随机存取存储器时,原本连接区块的指标将被移除后,每个程序区段才会连续地被存入随机存取存储器的区块。
以程序群组A为例,在存入随机存取存储器时,区块204内的指标将被移除,而区块204与区块212内的程序区段A1’与A2’连续地写入随机存取存储器,其中,程序区段A1’所储存的地址为030000h~032000h,程序区段A2’所储存的地址为032000h~033000h。因此,由图2与图6可观查出,储存于闪速存储器中的BIOS,其程序群组的每个程序区段在存储器中的地址并未连续,而是以链接串行来连接每个程序区段。然而,在开启计算机,储存于随机存取存储器中的BIOS,其程序群组的每个程序区段在存储器中的地址将连续。
由上述的第二实施例可知,本实施例的BIOS数据更新方法可以更新部分或单一个程序群组,也就相对地避免更改整个闪速存储器中的BIOS,因此,能够降低更新BIOS时发生错误的机率,使得更新BIOS的过程更为稳定。
值得一提的是,虽然在本实施例中已经对更新BIOS的方法描绘出了一个可能的型态,但本领域技术人员应该知道,各厂商对于计算机与其各种外围硬件的设计方式都不一样,因此本发明的应用应当不限制于此种可能的型态。换言之,只要是能够仅更新部分BIOS的程序群组,就已经是符合了本发明的精神所在。为了本领域技术人员能够轻易实施本发明,接下来将举出本发明的第三实施例,来说明BIOS数据更新方法。
在说明本实施例之前,先假设此BIOS利用上述第一实施例的BIOS,而BIOS应用于一计算机中。接着,假设本实施例要更新的程序群组为中央处理器的微码,且例如为上述第一实施例中的程序群组A。另外,假设本实施例利用一公用程序来执行BIOS数据更新方法,然而,此种设定并不能用以限制本发明。
以下开始说明第三实施例。图7所示为本发明第三实施例的BIOS数据更新方法的步骤流程图。请同时参考图2、图3与图7,开始更新BIOS(步骤S700),首先,公用程序取得一更新程序群组A’(步骤S710)。之后,公用程序根据程序群组地址查找表,在程序群组中找出所要更新的特定程序群组(也就是图2中程序群组A),并找出程序群组A所对应的第一特定区块204的地址2A00h(步骤S620)。由于步骤S710~S720与上述第二实施例中的步骤S510~S520相同,故不再详加赘述。
接下来,公用程序判断区块204与区块212总和的容量是否大于或等于更新程序群的数据大小(步骤S730)。由图2所标示出的区块地址可知,区块204的地址为2A00h~4A00h,其容量为8KB,而区块212的地址为9A00h~AA00h,其容量为4KB,而区块204与区块212总合的容量为12KB。
若更新程序群组A’的数据小于或等于12KB时,则直接进行步骤S740,也就是,公用程序将更新程序群组A’分为第一更新程序区段A1’与第二更新程序区段A2’,并将更新程序区段A1’与更新程序区段A2’分别写入区块204与区块212,并完成更新BIOS(步骤S750)。而步骤S740~S750相同于上述第二实施例的步骤S530~S540,故不再详加赘述。
反之,若更新程序群的数据大于12KB时,则公用程序继续判断区块204、区块212、区块218与区块220的总合容量是否大于或等于更新程序群组A’的大小(步骤S760)。其中,区块218与区块220为图2中的可用区块,其内部并未储存程序代码。由图2所标示出的区块地址可知,区块218的地址为CA00h~DA00h,其容量为4KB,区块220的地址为DA00h~EA00h,其容量为4KB,而区块204、212、218与220总合的容量为20KB。
若更新程序群组A’的数据小于或等于20KB时,将进行第一写入步骤S770;反之,若更新程序群组A’的数据大于20KB时,将进行第二写入步骤S780。而第一写入步骤S770包括多个子步骤,并由图8所示,第二写入步骤S780也包括多个子步骤,并由图12所示。
接下来,先说明第一写入步骤S770,并假设更新程序群组A’的大小为16KB,因此,只需利用单一个可用区块即可将更新程序群组A’写入闪速存储器中,而在此假设将利用可用区块220来写入更新程序群组A’。
请参考图2、图7与图8,在判断出更新程序群组A’的数据小于或等于20KB之后,先将更新程序群组A’分为第一更新程序区段A1’、第二更新程序区段A2’与第三更新程序区段A3’(步骤S771)。而所分割的更新程序区段A1’~A3’的大小依据将要写入的区块容量,因此,更新程序区段A1’例如为8KB、更新程序区段A2’例如为4KB,而更新程序区段A3’例如为4KB。
之后,公用程序将移除可用区块218与可用区块220之间的链接串行(步骤S772),也就是,将区块218中所包含的指标移除。接下来,公用程序刷新区块204、212与220(步骤S773),以将区块204、212与220内的数据擦除。接着,公用程序将更新程序区段A1’写入区块204,将更新程序区段A2’写入区块212,将更新程序A3’写入区块220(步骤S774),并利用链接串行连接区块212与区块220(步骤S775),而步骤S775的实施的手段例如为在区块212中最后的地址写入一指针,而此指标指向区块220的起始地址DA00h。最后,将完成更新BIOS(步骤S750)。
在更新BIOS之后,BIOS内的程序群组在闪速存储器中的区块配置如图9所示。而图9中区块204、212与220内的数据分别被置换为A1’、A2’与A3’。而更新程序群组的链接串行如图10所示。图10中区块204内除了存有程序区段A1’之外,还包含一指标指向区块212的起始地址9A00h,而区块212除了包程序区段A2’之外,还包含一指标指向区块220的起始地址DA00h。
在启动计算机时,BIOS内中的所有程序群组将会被储存到计算机中的随机存取存储器。图11所示为本发明实施例的储存BIOS的随机存取存储器区块配置图。而在写入随机存取存储器后,区块204与212内的指标将被移除,并且程序区段A1’~A3’将连续地被写入随机存取存储器。
接下来,将说明第二写入步骤S780,并假设更新程序群组A’的大小为24KB,因此,仅利用图2中的可用区块218与220仍无法将更新程序群组A’写入闪速存储器中,在第二写入步骤中,将删除一程序群组来释放一空间,即可将更新程序群组A’写入闪速存储器中,在此,假设将删除程序群组D,来释放出区块216的空间。
请参考图2、图7与图12,在判断出更新程序群组A’的数据大于20KB之后,先将更新程序群组A’分为第一更新程序区段A1’、第二更新程序区段A2’、第三更新程序区段A3’、第四更新程序区段A4’与第五更新程序区段A5’(步骤S781)。
之后,公用程序利用程序群组地址查找表,找出一可删除群组,并找出可删除群组所对应的可删除区块的地址(步骤S782)。而可删除群组可以是一张标图片,因此,若删除后并不会影响BIOS的功能,而在本实施例中,可删除群组例如为图2中的程序群组D,而利用图3中的程序群组地址查找表可知程序群组D的起始地址为BA00h。
接着,在找出程序群组D与其起始地址之后,公用程序将移除程序群组D在程序群组查找表中的起始地址(步骤S783),或是直接删除图3中的第四列字段。之后,公用程序刷新区块204、212、216、218与220(步骤S784),以将区块204、212、216、218与220内的数据擦除,以在之后的步骤中写入更新程序群组A’,但是并未移除其内部的指标。
然后,公用程序将更新程序区段A1’写入区块204,将更新程序区段A2’写入区块212,将更新程序A3’写入区块218,将更新程序A4’写入区块220,将更新程序A5’写入区块216(步骤S785)。
之后,公用程序将利用链接串行连接区块212与区块218(步骤S786),在利用链接串行连接区块220与区块216,即完成更新BIOS(步骤S750)。
在更新BIOS之后,BIOS内的程序群组在闪速存储器中的区块配置如图13所示。而图13中区块204、212、216、218与220内的数据分别被置换为A1’、A2’、A5’、A3’与A4’。而程序群组A的链接串行如图14所示。
在启动计算机时,BIOS内中的所有程序群组将会被储存到计算机中的随机存取存储器。图15所示为本发明实施例的储存BIOS的随机存取存储器区块配置图。而在写入随机存取存储器后,区块204、212、218、与20内的指标将被移除,并且程序区段A1’~A5’将连续地被写入随机存取存储器。
综上所述,本发明利用链接串行与程序群组地址查找表,组成一数据结构来储存BIOS的程序群组,因此,本发明在更新BIOS时,能够仅更新部分的程序群组,以降低更新BIOS时发生错误的机率。并且,当所要更新的程序群组超过存储器的空间时,本发明也能够删除不必要的程序群组,来释放存储器的空间,使得BIOS的更新更具有弹性。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,当可作若干的更改与修饰,因此本发明的保护范围当以本申请的权利要求为准。
Claims (13)
1.一种基本输入/输出系统数据更新方法,其特征是,上述基本输入/输出系统包括多个程序群组与一程序群组地址查找表,而上述这些程序群组分别储存于一非易失性存储器中的多个区块,上述程序群组地址查找表指示每一上述这些程序群组在上述非易失性存储器中的起始地址,上述方法包括下列步骤:
取得一更新程序群组;
根据上述程序群组地址查找表,在上述这些程序群组中找出所要更新的一特定程序群组,并找出上述特定程序群组所对应的一第一特定区块的地址,其中,上述特定程序群组分为一第一特定程序区段与一第二程序区段,并分别储存于上述非易失性存储器中的上述第一特定区块与一第二特定区块,而上述第一特定区块与上述第二特定区块以链接串行连接;以及
将上述更新程序群组分为一第一更新程序区段与一第二更新程序区段,并将上述第一更新程序区段与上述第二更新程序区段分别写入上述第一特定区块与上述第二特定区块。
2.根据权利要求1所述的基本输入/输出系统数据更新方法,其特征是,其中上述第一特定区块与上述第二特定区块之间的链接串行的实施方法包括:
在上述第一特定区块的结尾地址设置一第一指针,以指向上述第二特定区块的起始地址。
3.根据权利要求2所述的基本输入/输出系统数据更新方法,其特征是,其中上述非易失性存储器包括一第一可用区块与一第二可用区块,并以链接串行连接上述第一可用区块与上述第二可用区块。
4.根据权利要求3所述的基本输入/输出系统数据更新方法,其特征是,其中上述第一可用区块与上述第二可用区块之间的链接串行的实施方法包括:
在上述第一可用区块的结尾地址设置一第二指针,以指向上述第二可用区块的起始地址。
5.根据权利要求3所述的基本输入/输出系统数据更新方法,其特征是,当上述第一特定区块与上述第二特定区块总和的空间小于上述更新程序群组的数据大小时,将上述更新程序群组分为上述第一更新程序区段与上述第二更新程序区段,并将上述第一更新程序区段与上述第二更新程序区段分别写入上述第一特定区块与上述第二特定区块的步骤包括:
将上述更新程序群组分为上述第一更新程序区段、上述第二更新程序区段与一第三更新程序区段;
移除上述第一可用区块与上述第二可用区块之间的链接串行;
刷新上述第一特定区块、第二特定区块与第二可用区块;
将上述第一更新程序区段写入上述第一特定区块;
将上述第二更新程序区段写入上述第二特定区块;
将上述第三更新程序区段写入上述第二可用区块;以及
利用链接串行,连接上述第二特定区块与上述第二可用区块。
6.如权利要求5所述的基本输入/输出系统数据更新方法,其特征是,其中上述第二特定区块与上述第二可用区块之间的链接串行的实施方法包括:
在上述第二特定区块的结尾地址设置一第三指针,以指向上述第二可用区块的起始地址。
7.根据权利要求6所述的基本输入/输出系统数据更新方法,上述基本输入/输出系统适用于一计算机,其特征是,当上述计算机重新启动时,上述方法步骤包括:
利用链接串行,将上述第一更新程序区段、上述第二更新程序区段与上述第三更新程序区段组合成上述更新程序群组,并排除上述第一特定区块中的上述第一指标与上述第二特定区块中的上述第三指标;以及
将上述更新程序群组放入上述计算机内的一随机存取存储器。
8.根据权利要求3所述的基本输入/输出系统数据更新方法,其特征是,还包括下列步骤:
根据上述程序群组地址查找表,找出上述这些程序群组中的一可删除群组,并找出上述可删除群组所对应的一可删除区块的地址;
移除上述可删除群组在上述程序群组地址查找表中的起始地址;
刷新上述可删除区块;以及
利用链接串行,连接上述第二可用区块与上述可删除区块。
9.根据权利要求4所述的基本输入/输出系统数据更新方法,其特征是,
当上述第一特定区块、上述第二特定区块、上述第一可用区块与上述第二可用区块总和的空间小于上述更新程序群组的数据大小时,将上述更新程序群组分为上述第一更新程序区段与上述第二更新程序区段,并将上述第一更新程序区段与上述第二更新程序区段分别写入上述第一特定区块与上述第二特定区块的步骤包括:
将上述更新程序群组分为上述第一更新程序区段、上述第二更新程序区段、一第三更新程序区段、一第四更新程序区段与一第五更新程序区段;
根据上述程序群组地址查找表,找出上述这些程序群组中的一可删除群组,并找出上述可删除群组所对应的一可删除区块的地址;
移除上述可删除群组在上述程序群组地址查找表中的起始地址;
刷新上述第一特定区块、上述第二特定区块、上述第一可用区块、上述第二可用区块与上述可删除区块;
将上述第一更新程序区段写入上述第一特定区块;
将上述第二更新程序区段写入上述第二特定区块;
将上述第三更新程序区段写入上述第一可用区块;
将上述第四更新程序区段写入上述第二可用区块;
将上述第五更新程序区段写入上述可删除区块;
利用链接串行,连接上述第二特定区块与上述第一可用区块;以及
利用链接串行,连接上述第二可用区块与上述可删除区块。
10.根据权利要求9所述的基本输入/输出系统数据更新方法,其特征是,其中上述链接串行的实施方法包括:
在上述第二特定区块的结尾地址设置一第三指针,以指向上述第一可用区块的起始地址;以及
在上述第二可用区块的结尾地址设置一第四指针,以指向上述可删除区块。
11.根据权利要求10所述的基本输入/输出系统数据更新方法,上述基本输入/输出系统适用于一计算机,其特征是,当上述计算机重新启动时,上述方法步骤包括:
利用上述链接串行,将上述第一更新程序区段、上述第二更新程序区段、上述第三更新程序区段、上述第四更新程序区段与上述第五更新程序区段组合成上述更新程序群组,并排除上述第一特定区块中的上述第一指标、上述第二特定区块中的上述第三指标、上述第一可用区块中的上述第二指标与上述第二可用区块的上述第四指标;以及
将上述更新程序群组放入上述计算机内的一随机存取存储器。
12.一种基本输入/输出系统,储存于一非易失性存储器,其特征是,包括:
至少一程序群组,包括至少一第一程序区段与一第二程序区段,其中上述第一程序区段与上述第二程序区段以链接串行连接;以及
一程序群组地址查找表,用以指示每一上述这些程序群组在上述非易失性存储器中的起始地址。
13.根据权利要求12所述的基/输出系统,其特征是,其中上述非易失性存储器为一闪速存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101283347A CN101339513B (zh) | 2007-07-06 | 2007-07-06 | 基本输入/输出系统数据更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101283347A CN101339513B (zh) | 2007-07-06 | 2007-07-06 | 基本输入/输出系统数据更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101339513A true CN101339513A (zh) | 2009-01-07 |
CN101339513B CN101339513B (zh) | 2010-06-09 |
Family
ID=40213589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101283347A Active CN101339513B (zh) | 2007-07-06 | 2007-07-06 | 基本输入/输出系统数据更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101339513B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986660A (zh) * | 2014-05-30 | 2014-08-13 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
CN104778052A (zh) * | 2014-01-14 | 2015-07-15 | 深圳中电长城信息安全系统有限公司 | 一种固件程序和开机图的烧写方法及装置 |
TWI511148B (zh) * | 2013-04-11 | 2015-12-01 | Acer Inc | 電腦系統及控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7213152B1 (en) * | 2000-02-14 | 2007-05-01 | Intel Corporation | Modular bios update mechanism |
CN1288563C (zh) * | 2002-12-03 | 2006-12-06 | 技嘉科技股份有限公司 | 基本输入输出系统检测及更新开机程序方法 |
-
2007
- 2007-07-06 CN CN2007101283347A patent/CN101339513B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI511148B (zh) * | 2013-04-11 | 2015-12-01 | Acer Inc | 電腦系統及控制方法 |
US9417885B2 (en) | 2013-04-11 | 2016-08-16 | Acer Incorporated | Computer system and control method thereof |
CN104778052A (zh) * | 2014-01-14 | 2015-07-15 | 深圳中电长城信息安全系统有限公司 | 一种固件程序和开机图的烧写方法及装置 |
CN103986660A (zh) * | 2014-05-30 | 2014-08-13 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
CN103986660B (zh) * | 2014-05-30 | 2018-01-23 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101339513B (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8954649B2 (en) | Garbage collection in storage devices based on flash memories | |
CN101176074B (zh) | 非易失性存储器件,写入数据的方法,和读出数据的方法 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
CN100424655C (zh) | 快闪存储器管理方法 | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
EP1909184B1 (en) | Mapping information managing apparatus and method for non-volatile memory supporting different cell types | |
CN100419714C (zh) | 闪存存取方法、闪存文件系统的块替换方法及其管理装置 | |
CN101354681B (zh) | 存储器系统、非易失性存储器的磨损均衡方法及装置 | |
CN101582092B (zh) | 一种实现保存内存中的数据的方法及装置 | |
CN102819494B (zh) | 一种闪存顺序写入时的优化方法 | |
CN101551780B (zh) | 一种电视机及其数据存储方法、装置 | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
CN109343790A (zh) | 一种基于nand flash的数据存储方法、终端设备及存储介质 | |
CN110175001A (zh) | 一种nor-flash数据存储方法、计算机设备及存储介质 | |
US7925821B2 (en) | Nonvolatile semiconductor storage device and method of managing the same | |
WO1997012324A1 (en) | Memory management | |
US6839798B1 (en) | Flash memory capable of storing frequently rewritten data | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
CN102063380A (zh) | 一种向非易失性存储器写入数据的方法及装置 | |
CN100458736C (zh) | Nand闪存信息提取方法和nand闪存自动识别方法 | |
CN106528441B (zh) | 仿真eeprom的数据处理方法、装置及电子设备 | |
CN101339513B (zh) | 基本输入/输出系统数据更新方法 | |
CN108664208A (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
US8209464B2 (en) | Management method, management apparatus, and controller for memory data access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |