基本输入输出系统文件切换方法及可支持其切换的控制器的制作方法

文档序号:6574250阅读:258来源:国知局
专利名称:基本输入输出系统文件切换方法及可支持其切换的控制器的制作方法
技术领域
本发明涉及计算机系统中的基本输入输出系统(Basic InputOutput System,BIOS),更具体地,涉及计算机系统中的多基本输入输出系统文件自动切换方法及其相关装置。
背景技术
计算机用户在使用计算机的过程中,都会接触到基本输入输出系统,它在计算机系统中起着非常重要的作用。基本输入输出系统,完整地说应该是ROM-BIOS,即只读存储器基本输入/输出系统,它实际上是被固化到计算机中的一组程序,为计算机提供最低级的、最直接的硬件控制。准确地说,基本输入输出系统承担了计算机系统开机时的系统检测与引导工作。
在计算机系统的启动过程中,首先会进行上电自检(POST),以检查计算机是否良好,例如有无内存故障等;而后会进行初始化,包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等,其中很重要的一部分是基本输入输出系统文件,基本输入输出系统文件主要包含对硬件设置的一些参数,当计算机启动时会读取基本输入输出系统文件中的这些参数,并和实际硬件设置进行比较,如果两者相互符合,则进入引导程序,即引导操作系统装入计算机,反之,如果不符合,就会影响系统的启动。
请参考图1,图1是一个基本输入输出系统文件18在一计算机系统中的架构示意图。如图1所示,基本输入输出系统文件18存储于一独立的电可擦除可编程只读存储器(EEPROM)芯片16中。通常,电可擦除可编程只读存储器芯片16直接焊接在主板上,并与南桥芯片14相连接。正常情况下,存储在电可擦除可编程只读存储器芯片16中的基本输入输出系统文件18所包含的参数是与计算机的硬件设置相匹配的。但是,如果出现某些异常情况,比如,当计算机遭受到CIH(Chernobyl)病毒的袭击,基本输入输出系统文件18就会被CIH病毒恶意修改,造成与计算机的硬件设置不匹配,从而影响系统的正常启动。为此,很多主板厂商陆续推出了基本输入输出系统防写保护,双基本输入输出系统等针对基本输入输出系统安全防护的技术,更有甚者推出了各种防“CIH”的主板,以保证基本输入输出系统文件18不被恶意修改,或是即使修改后,仍能通过另一备份的基本输入输出系统文件正常启动计算机。
但是,如果存储基本输入输出系统文件的存储介质或是信号连线发生硬件损坏,比如,图1中的电可擦除可编程只读存储器芯片16物理受损,或是电可擦除可编程只读存储器芯片16与南桥芯片14之间的连接线损坏,启动中的计算机就会不停地重复读取基本输入输出系统文件18,而无法继续启动,甚至无法给出错误信息。此种情况下,即使计算机系统中设置了备份的基本输入输出系统文件,计算机也将无法自动切换到备份的基本输入输出系统文件上读取信息,而处于瘫痪状态。
因此,如何使配置了多个基本输入输出系统文件的计算机系统,在当存储这些基本输入输出系统文件的存储介质部分发生硬件损坏时,仍然能够自动切换到没有硬件损坏的基本输入输出系统文件上,或是当存储介质全部损坏或连接线损坏时,不至于陷入瘫痪无响应状态,已经成为一个新的问题。

发明内容
有鉴于此,本发明的目的在于提供一种多基本输入输出系统文件自动切换方法及其相关装置,其能够在当前基本输入输出系统文件出现错误时,及时避免启动中的计算机系统进入瘫痪状态。
本发明提供一种基本输入输出系统文件自动切换方法,该方法包括以下步骤当接收一读取指令时,启动一计时器开始计时,根据该读取指令从一第一基本输入输出系统文件中读出一第一数据页(Page)。对该第一数据页进行错误修正校验;当错误修正校验有错时,重复读取该第一数据页。当重复读取该数据页并对其进行错误修正校验过程的次数大于一既定数值,或该计时器计时超过一既定时限时,切换至一第二基本输入输出系统文件。根据该读取指令从第二基本输入输出系统文件读出一第二数据页,其中该第一数据页包含一数据,且该第二数据页包含该数据。
本发明另提供一种可支持基本输入输出系统文件自动切换的控制器,该控制器包括一计时器,一错误修正校验模块,一计数器,一触发模块及一地址运算模块。计时器用于当收到一读取指令时,开始计时以产生一时间信号。错误修正校验模块用于对从一第一基本输入输出系统文件中读取的一数据页进行错误修正校验,而计数器耦接于该错误修正校验模块,用于计算当错误修正校验有错时,重复读取该数据页的次数,产生一次数信号。触发模块接收该定时器的时间信号与该计数器的次数信号,当该计时器计时超过一既定时限,或该计数器计数超过一最大重复次数时,产生一切换信号。地址运算模块接收一字节相对地址与该切换信号以产生一读取地址。
本发明所述的基本输入输出系统文件切换方法及可支持其切换的控制器,在存储基本输入输出系统文件的存储介质部分发生硬件损坏时,仍然能够自动切换到没有硬件损坏的基本输入输出系统文件上,或是当存储介质全部损坏或连接线损坏时,不至于陷入瘫痪无响应状态。


图1是一个基本输入输出系统文件在一计算机系统中的架构示意图;图2是根据本发明一个实施例的基本输入输出系统控制器应用于一计算机系统的示意图;图3是一个基本输入输出系统文件的内部架构图;图4是图2中的基本输入输出系统控制器的电路示意图;图5是根据本发明一个实施例的多基本输入输出系统文件自动切换方法的流程图。
具体实施例方式
通过下面结合示例性地示出一例的附图进行的描述,本发明的上述和其它目的和特点将会变得更加清楚。
以下,参照附图来详细说明本发明的实施例。
图2是根据本发明一个实施例的基本输入输出系统控制器25应用于一计算机系统的示意图。如图2所示,该基本输入输出系统控制器25设置于一南北桥合并芯片24上,用来控制设置于一存储介质26中的基本输入输出系统文件1~基本输入输出系统文件4之间的自动切换。在该计算机系统的启动过程中,中央处理单元(Central Processing Unit,CPU)10会经由该南北桥合并芯片24向该基本输入输出系统控制器25发出一读取指令;当基本输入输出系统控制器25收到该读取指令时,该基本输入输出系统控制器25即启动一内部的计时器开始计时;并根据该读取指令计算出一读取地址,并输出至该存储介质26,从而使该存储介质26根据该读取地址将当前基本输入输出系统文件(例如,基本输入输出系统文件1)中对应的数据页返回给该基本输入输出系统控制器25;而后,该基本输入输出系统控制器25会对该数据页进行错误修正校验(ECC check);当错误修正校验得知所读取的数据页内容有错时,该基本输入输出系统控制器25会重复上述读取数据页过程和错误修正校验过程;其中,当重复读取该数据页的次数大于一既定数值,或该计时器计时超过一既定时限时,该基本输入输出系统控制器25会控制切换到另一基本输入输出系统文件(例如,基本输入输出系统文件2)中读取该数据页。
需要说明的是,该基本输入输出系统控制器25也可设置在一南桥芯片上,而该基本输入输出系统文件1~基本输入输出系统文件4可设置于同一存储介质上,也可设置于不同的存储介质上。该存储介质26可为一NAND闪存(NAND Flash),或是其它非易失性(Non-volatilizable)存储介质。
在进一步理解基本输入输出系统控制器25如何控制基本输入输出系统文件1~基本输入输出系统文件4之间的自动切换前,先以基本输入输出系统文件1为例,来说明一个基本输入输出系统文件存放在存储介质26的内部架构。请参考图3,图3是基本输入输出系统文件1存放在存储介质26的内部架构图,如图3所示,该基本输入输出系统文件1内部被划分成n个数据区块(Block1~Blockn),而每个数据区块又可划分成m个数据页(Page1~Pagem)。以一个2M字节的基本输入输出系统文件为例,若定义每个数据区块大小为128k字节,每个数据页大小为2k字节,则该2M字节的基本输入输出系统文件可划分为16个数据区块,每个区块又可划分成64个数据页。其中,每个数据页具有固定的数据格式,以图3中数据区块4的数据页2为例,数据页2是由一数据(Data)和一与该数据对应的错误检测修正码(Error Checking andCorrecting code,ECC code)两部分组成,其中,当该数据页2被读出时,可利用该错误检测修正码对其数据部分进行错误修正校验,以确认读出数据的正确性。
另外,上述图2中基本输入输出系统控制器25输出给存储介质26的读取地址,具体包含了一个基本输入输出系统文件的起始地址,一数据区块相对地址和一数据页相对地址。如图3所示,以一文件指针指向其中一个基本输入输出系统文件的起始地址,数据区块相对地址为文件指针与该基本输入输出系统文件之中一个特定数据区块的起始地址的相对值,数据页相对地址为上述的数据区块的起始地址和该数据区块之中一个特定数据页的起始地址的相对值。这样,当该基本输入输出系统控制器25欲从该存储介质26中读取某一特定的数据页时,其首先会依据接收到的读取指令中的字节相对地址计算出该数据页所在数据区块的数据区块相对地址及在该数据区块中的数据页相对地址。再根据文件指针指向该基本输入输出系统文件的起始地址,数据区块相对地址以及数据页相对地址,该存储介质26才能准确地找到该基本输入输出系统文件之中的该数据页,并将其返回给该基本输入输出系统控制器25。
请参考图4,图4是图2中的基本输入输出系统控制器25的电路示意图。如图4所示,该基本输入输出系统控制器25包含一错误修正校验模块251,用于对读取的一数据页进行错误修正校验,当错误修正校验有错误时,该错误修正校验模块251会发出一错误修正错误中断信号,该基本输入输出系统控制器25就会根据该错误修正错误中断信号,并重复向存储介质26读取该数据页;一计数器252,耦接于该错误修正校验模块,其初始值为0,当收到该错误修正校验模块251发出的错误修正错误中断信号时,产生一次数信号,开始计算该数据页被重复读取的次数。
此外,该基本输入输出系统控制器25另包含一计时器254,当该基本输入输出系统控制器25接收到中央处理单元发出的一读取指令时,即会发出一计时开始信号以启动该计时器254开始计时并发出一时间信号。基本输入输出系统控制器25包含一触发模块258,分别接收计数器252所发出的次数信号与计时器254所发出的时间信号。当该计时器254计时超过一既定时限,或该计数器252计数超过一最大重复次数时,触发模块258会产生一切换信号,以进行基本输入输出系统文件切换。
进一步来说,上述的触发模块258具有一比较器253,一比较器255及一或门256。该计时器254输出的时间信号作为比较器255的一输入,而该比较器255的另一输入端接收系统在初始化时设置的一超时时限M,每当该计时器254的时间信号有所变化时,该比较器255就会将该时间信号与该超时时限M进行比较,以确定该时间信号是否已经达到该超时时限M,一旦计时器254的时间信号达到该超时时限M,比较器255即会输出一高电平信号,以示需进行基本输入输出系统文件切换。类似地,该计数器252输出的次数信号作为该触发模块258之中的比较器253的输入,该比较器253的另一输入端接收系统在初始化时设置的一最大重读次数N,每当该计数器252的次数信号有所变化时,该比较器253就会将该次数信号与该最大重读次数N进行比较,以确定该次数信号是否已经达到该最大重读次数N,一旦计数器252的计数值达到最大重读次数N,比较器253即会输出一高电平信号,以示需进行基本输入输出系统文件切换。而或门256分别接收比较器253与比较器255所发出的信号来产生切换信号。
综合上述两种需进行基本输入输出系统文件切换的情况,本发明在该基本输入输出系统控制器25中设置了一地址运算模块257。该地址运算模块257耦接于上述的触发模块258中的或门256,当接收到该切换信号时,地址运算模块257将上述基本输入输出系统文件指针调整指向另一个基本输入输出系统文件的起始地址。
需要说明的是,对于中央处理单元发出的一读取指令,其往往是要求读取基本输入输出系统文件中的一段特定的数据,因此,该读取指令会包含一字节相对地址,以指示该基本输入输出系统控制器25需要读取的数据在基本输入输出系统文件中的相对地址。但是,基于图3关于基本输入输出系统文件的内部架构可以知道,对读出的数据进行错误修正校验的最小单位是一个数据页,如果直接读出基本输入输出系统文件中的一个单独的数据将无法对其进行错误修正校验,所以在本发明中,该地址运算模块257除了根据切换信号调整文件指针外,还会根据该字节相对地址计算出该数据所在区块的数据区块相对地址,并进一步计算出该数据所在数据页的数据页相对地址,这样,该基本输入输出系统控制器25就可将该文件指针指向的基本输入输出系统文件起始地址,该数据区块相对地址和该数据页相对地址一并作为一个读取地址输出给上述存储介质26,从而使该存储介质26返回对应的数据页,该数据页的数据中即包含了该读取基本输入输出系统读取指令所要求读取的数据。而后,错误修正校验模块251就可对该数据页进行错误修正校验,以确认读出数据的正确性,若校验无误,即可将该数据页输出,该基本输入输出系统控制器25会根据该基本输入输出系统字节相对地址从该数据页中找出对应的数据,返回给中央处理单元10。
显然,无论对于多个基本输入输出系统文件存储于同一存储介质(如图2中所示的情况),还是存储于不同存储介质,如果当存储介质发生硬件损坏导致部分基本输入输出系统文件内信息错误或无法读取,本发明的基本输入输出系统控制器会允许系统重复读取该基本输入输出系统文件一定次数,若仍然无法读出正确结果,则会控制切换到另一个基本输入输出系统文件,读取包含有相同数据的数据页,而不管系统是否给出错误信息。同样,如果存储介质或信号连线彻底损坏导致基本输入输出系统文件完全无法读取时,本发明的基本输入输出系统控制器就会通过计时器的计时,在一定时间后控制切换到其它存储介质上的基本输入输出系统文件,或是给出基本输入输出系统文件完全损坏的信息,而不会导致系统陷入瘫痪无响应状态。
图5是根据本发明一个实施例的多基本输入输出系统文件自动切换方法的流程图。
首先,在步骤S51进行系统初始化,比如将计时器254的超时时限M和计数器252的最大重读次数N设定到对应位置等;接着,在步骤S52,当中央处理单元发出一读取指令,本发明的基本输入输出系统控制器25接收该读取指令并根据该指令从第一基本输入输出系统文件中读出一数据页,如步骤S53,其中,一文件指针指向第一基本输入输出系统文件的起始地址,该基本输入输出系统控制器25会根据该读取指令所包含的一基本输入输出系统字节相对地址计算出对应的数据区块相对地址和数据页相对地址,然后再根据一文件指针,该数据区块相对地址和该数据页相对地址从第一基本输入输出系统文件中读出对应的数据页;在步骤S54,对该读出的数据页进行错误修正校验,以确定读出数据的正确性,若错误修正校验没有错误,则进入步骤S55,输出该数据页,并根据该基本输入输出系统字节相对地址从该数据页中找出对应的数据,返回给中央处理单元;若错误修正校验有错误,则进入步骤S56,使计数器252的计数值加1,以示要重新读取该数据页,若此时计数器252计算的重读次数没有超出最大重读次数N,则进入步骤S57,基本输入输出系统控制器25发出重新读取该数据页的指令;反之,若此时计数器252计算的重读次数已经超出最大重读次数N,则进入步骤S59,以切换至一第二基本输入输出系统文件进行读取操作,对应于该步骤,本发明的基本输入输出系统控制器25会使上述文件指针调整指向该第二基本输入输出系统文件的起始地址。接着,回至步骤S51,重新进行系统初始化。并重复类似的步骤,从一第二基本输入输出系统文件进行读取操作。
另外,当接受到该读取指令时,基本输入输出系统控制器25中的计时器254也会开始计时,如步骤S58,也就是说,该计时器254的计时过程(步骤S58)与读取数据页的过程(S53~S57)是在同时进行中的。当该计时器254的计时值超过一超时时限M时,则进入步骤S59,切换至该第二基本输入输出系统文件进行读取操作,对应于该步骤,本发明的基本输入输出系统控制器25会使上述文件指针调整指向该第二基本输入输出系统文件的起始地址。根据本发明实施例的多基本输入输出系统文件自动切换方法,在计算机系统的启动过程中,若被读取的基本输入输出系统文件的存储介质或信号连线发生硬件损坏,其仍然能够自动切换到可用的基本输入输出系统文件上,而避免系统陷入瘫痪无响应状态。在以上的实施例中,当控制器接收到一读取指令时,会侦测读取时间与数据页重读的次数,来避免系统瘫痪。对本领域技术人员而言,可知在进入步骤S52之前应设定计时器254的计时值与计数器252的计数值为零,即为一归零步骤。这可通过在步骤S52之前进行前述的归零步骤,或是在步骤S55与步骤S59之后进行归零步骤来达成。
虽然本发明已通过较佳实施例说明如上,但该较佳实施例并非用以限定本发明。本领域的技术人员,在不脱离本发明的精神和范围内,应有能力对该较佳实施例做出各种更改和补充,因此本发明的保护范围以权利要求书的范围为准。
权利要求
1.一种基本输入输出系统文件切换方法,其特征在于,所述基本输入输出系统文件切换方法包括接收一读取指令;根据该读取指令启动一计时器开始计时;根据该读取指令从一第一基本输入输出系统文件中读出一第一数据页;对该第一数据页进行错误修正校验;当错误修正校验有错时,重复读取该第一数据页;当重复读取该第一数据页的次数大于一既定数值,或该计时器计时超过一既定时限时,切换至一第二基本输入输出系统文件;以及根据该读取指令从该第二基本输入输出系统文件读出一第二数据页,其中该第一数据页包含一数据,且该第二数据页包含该数据。
2.根据权利要求1所述的基本输入输出系统文件切换方法,其特征在于,是根据一文件指针找到该第一基本输入输出系统文件或该第二基本输入输出系统文件,其中读出该第一数据页时,该文件指针指向该存储介质中该第一基本输入输出系统文件的起始地址;而当重复读取该第一数据页的次数大于该既定数值,或该计时器计时超过该既定时限时,该文件指针切换指向该第二基本输入输出系统文件的起始地址。
3.根据权利要求1所述的基本输入输出系统文件切换方法,其特征在于,该读取指令包含一字节相对地址,根据该字节相对地址计算出对应的一数据区块相对地址和一数据页相对地址。
4.根据权利要求3所述的基本输入输出系统文件切换方法,其特征在于,根据一文件指针,该数据区块相对地址和该数据页相对地址,从一存储介质中读出该第一数据页。
5.根据权利要求1或2所述的基本输入输出系统文件切换方法,其特征在于,当错误修正校验正确时,输出该第一数据页。
6.一种可支持基本输入输出系统文件切换的控制器,其特征在于,所述可支持基本输入输出系统文件切换的控制器包括一计时器,用于当接收一读取指令时,开始计时以产生一时间信号;一错误修正校验模块,用于对从一第一基本输入输出系统文件中读取的一数据页进行错误修正校验;以及一计数器,耦接于错误修正校验模块,用于计算当错误修正校验有错时,重复读取该数据页的次数,产生一次数信号;一触发模块,接收该计时器的时间信号与该计数器的次数信号,其中,当计时器计时超过一既定时限,或计数器计数超过一最大重复次数时,产生一切换信号;以及一地址运算模块,接收一字节相对地址与该切换信号以产生一读取地址。
7.根据权利要求6所述的可支持基本输入输出系统文件切换的控制器,其特征在于,该触发模块包含一比较器,耦接于该计时器,用于比较该计时器的时间信号与既定时限,以确定该计时器的时间信号是否超出既定时限。
8.根据权利要求6所述的可支持基本输入输出系统文件切换的控制器,其特征在于,触发模块包含一比较器,耦接于计数器,用于比较计数器的次数信号与最大重复次数,以确定计数器的次数信号是否超出最大重复次数。
9.根据权利要求6至8中任意一项所述的可支持基本输入输出系统文件切换的控制器,其特征在于,该触发模块包含一或门,其中一个输入端接收该计时器的时间信号与该既定时限的比较结果,另一个输入端接收该计数器的次数信号与该最大重复次数的比较结果,以输出该切换信号。
10.根据权利要求6至8中任意一项所述的可支持基本输入输出系统文件切换的控制器,其特征在于,该地址运算模块,用于接收该切换信号,并根据该切换信号使一文件指针切换指向一第二基本输入输出系统文件的起始地址。
11.根据权利要求6至8中任意一项所述的可支持基本输入输出系统文件切换的控制器,其特征在于,该地址运算模块根据该字节相对地址计算出对应的一数据区块相对地址和一数据页相对地址。
全文摘要
本发明提供一种基本输入输出系统文件切换方法及可支持其切换的控制器,运用于计算机系统中,包括以下步骤当接收一读取指令时,启动一计时器开始计时,根据该读取指令从一第一基本输入输出系统文件中读出一第一数据页;对该数据页进行错误修正校验;当错误修正校验有错时,重复读取该数据页并进行错误修正校验过程;其中,当重复读取该数据页并对其进行错误修正校验过程的次数大于一既定数值,或该计时器计时超过一既定时限时,根据该读取指令从一第二基本输入输出系统文件读出一第二数据页,第一数据页与第二数据页包含相同的数据。借此,本发明能够在基本输入输出系统文件出现错误时,及时避免启动中的计算机系统进入瘫痪状态。
文档编号G06F11/14GK101017442SQ20071008016
公开日2007年8月15日 申请日期2007年2月14日 优先权日2007年2月14日
发明者李欣喜, 伍尚智, 黄新平 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1