CN1971536A - 基本输入输出系统的纠错系统及方法 - Google Patents
基本输入输出系统的纠错系统及方法 Download PDFInfo
- Publication number
- CN1971536A CN1971536A CNA2005101017405A CN200510101740A CN1971536A CN 1971536 A CN1971536 A CN 1971536A CN A2005101017405 A CNA2005101017405 A CN A2005101017405A CN 200510101740 A CN200510101740 A CN 200510101740A CN 1971536 A CN1971536 A CN 1971536A
- Authority
- CN
- China
- Prior art keywords
- bios
- basic input
- output system
- code
- bug check
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供一种基本输入输出系统的纠错方法,运行于一计算机,该计算机包括一储存有一基本输入输出系统的只读存储器及一随机存储器,该方法包括以下步骤:在设置基本输入输出系统时,当基本输入输出系统的程序代码编译完毕后建立一第一错误检查和纠正代码;计算机启动后将基本输入输出系统除引导区程序外的所有程序从只读存储器载入到随机存储器执行;判断基本输入输出系统校验和是否出错;若基本输入输出系统校验和出错,则为当前数据建立一第二错误检查和纠正代码;将所得的当前数据的第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据并更正出错数据。本发明还提供一种基本输入输出系统的纠错系统。
Description
【技术领域】
本发明是关于一种基本输入输出系统的纠错系统及方法。
【背景技术】
计算机系统的内存主要可分为只读存储器(Read-only Memory,ROM)和随机存储器(Random Access Memory,RAM),随机存储器即常说的内存,也就是插装在计算机上的内存条,主要用来在系统运行时临时存放各种程序和数据,机器关闭时里面的内容就丢掉。只读存储器ROM则是安装在计算机上的一块专用芯片,里面的内容由计算机制造商在出厂前固化在里面,不会随计算机的关闭而丢失,里面存储的内容主要就是基本输入输出系统(Basic Input/Output System,BIOS)。BIOS可以视为是一个永久地记录在ROM中的一个软件,是操作系统输入输出管理系统的一部分,它包括加电自检程序(Power-on Self Test,简称POST)、基本启动程序、基本的硬件驱动程序等,主要用来负责机器的启动和系统中重要硬件的控制和驱动,并为高层软件提供基层调用。
BIOS是计算机软件与硬件协调工作的桥梁,一旦受到损坏往往导致系统无法工作。目前修复受损BIOS的方法主要有三种:一、双BIOS:主板上安排两块BIOS芯片,一块作为主BIOS,另外一块为从BIOS(作为主BIOS的备份),两块BIOS芯片的内容完全一样;每一次激活系统,备份BIOS都会自动检查主BIOS的状况,如果发现主BIOS内容有损坏,立即用备份BIOS重写主BIOS,万一无法修复就直接从备份BIOS激活;二、载体BIOS:将BIOS的内容备份于另一些存储设备(例如硬盘、随机存储器或Flash ROM等)中,作为备份BIOS,只提供原BIOS恢复功能,不能从备份的BIOS引导系统;三、网络恢复:通过一通讯网络从装载于一服务器上的BIOS来恢复本地计算机上损毁的BIOS资料。
以上方法虽然能在一定程度上修复受损的BIOS,保证系统正常工作,但BIOS本身无自行纠错功能,双BIOS方法增加了制作成本,且备份BIOS多处于闲置状态;载体BIOS及网络恢复方法依赖性强,若载体或网络出现故障,则仍无法保证系统正常工作。
【发明内容】
鉴于以上内容,有必要提供一种基本输入输出系统的纠错系统,使得BIOS能够自行纠错。
此外,还有必要提供一种基本输入输出系统的纠错方法,使得BIOS能够自行纠错。
一种基本输入输出系统的纠错系统,运行于一计算机,该计算机包括一储存有一基本输入输出系统的只读存储器及一随机存储器,所述的基本输入输出系统的的纠错系统包括:一代码建立模块,用于在设置基本输入输出系统时,当基本输入输出系统的程序代码编译完毕后建立一第一错误检查和纠正代码,及用于在计算机启动后基本输入输出系统自检过程中校验和出错时建立一第二错误检查和纠正代码;一程序载入模块,用于在计算机启动后将基本输入输出系统除引导区程序外的所有程序从只读存储器载入到随机存储器执行;一判断模块,用于在计算机启动后判断基本输入输出系统校验和是否出错;一定位模块,用于当基本输入输出系统校验和出错时,将所得的当前数据的第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据;及一更正模块,用于更正出错数据。
一种基本输入输出系统的纠错方法,用于修复一计算机内的基本输入输出系统,所述的计算机包括一储存有所述的基本输入输出系统的只读存储器及一随机存储器,该方法包括以下步骤:在设置基本输入输出系统时,当基本输入输出系统的程序代码编译完毕后建立一第一错误检查和纠正代码;计算机启动后将基本输入输出系统除引导区程序外的所有程序从只读存储器载入到随机存储器执行;判断基本输入输出系统校验和是否出错;若基本输入输出系统校验和出错,则为当前数据建立一第二错误检查和纠正代码;将所得的当前数据的第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据;及更正出错数据。
所述的基本输入输出系统的纠错系统及方法在基本输入输出系统中引入了自行纠错功能,可以让有资料问题的基本输入输出系统正常使用。
【附图说明】
图1是本发明基本输入输出系统的纠错系统较佳实施例的硬体架构图。
图2是本发明基本输入输出系统的纠错系统较佳实施例的功能模块图。
图3是本发明基本输入输出系统的纠错方法较佳实施例的工作流程图。
【具体实施方式】
为方便理解,对以下术语作部分解释:
Checksum(校验和):数据处理和数据通信领域中一个简单易行的完整性控制方法。通过一系列算术或逻辑操作将数据的所有字节组合起来,得到一个校验和值。以后可以通过相同的方法计算出校验和值并与上次计算出的值进行比较。若相等,说明数据没有改变;若不等,说明数据已经被修改了。
数据通讯中广泛应用校验码技术,如ECC(Error Correcting Code,纠错码)被广泛应用于计算机内存纠错,经过内存的纠错,计算机的操作指令才可以继续执行。绝大多数常见的内存出错都是:单位错,多位错,列错,行错。它们都比较相似。单位错大多发生在读一个完整的比特或词的时候有一位比特出错。当读相同的比特和词时总是同一位数据出错,则称为多位错。单位错发生在很多词中,就称列错或行错。ECC内存使用额外的比特存储一个用数据加密的代码。当数据被写入内存,相应的ECC代码与此同时也被保存下来。当重新读回刚才存储的数据时,保存下来的ECC代码就会和读数据时产生的ECC代码做比较。如果两个代码不相同,他们则会被解码,以确定数据中的哪一位是不正确的。
如图1所示,是本发明基本输入输出系统的纠错系统较佳实施例的硬体架构图。该系统储存于一计算机1内的BIOS20中,该计算机1包括一只读存储器(ROM)10及一随机存储器(RAM)11,该只读存储器10包括所述的基本输入输出系统(BIOS)20,该基本输入输出系统20包括所述的基本输入输出系统(BIOS)的纠错系统200。计算机1启动后,将基本输入输出系统20除引导区程序外的所有程序从只读存储器10载入到随机存储器11执行。
如图2所示,是本发明基本输入输出系统的纠错系统较佳实施例的功能模块图。该系统200包括一代码建立模块2001、一程序载入模块2002、一判断模块2003、一定位模块2004、及一更正模块2005。
代码建立模块2001用于当基本输入输出系统20的程序代码编译完毕后建立一第一错误检查和纠正代码,及用于在计算机1启动后基本输入输出系统20加电自检过程中校验和出错时建立一第二错误检查和纠正代码。计算机中传输的操作指令为二进制数据“0”和“1”所成的编码,程序即为完成某一任务的指令的有序集合,以ECC为例,在设置基本输入输出系统20时完成基本输入输出系统20的程序代码编译后,代码建立模块2001为编译所得的二进制代码建立第一错误检查和纠正代码(ECC1);计算机1启动后若基本输入输出系统20自检过程中校验和出错,则代码建立模块2001为当前的二进制代码建立第二错误检查和纠正代码(ECC2)。程序载入模块2002用于在计算机1启动后将基本输入输出系统20除引导区程序外的所有程序从只读存储器10载入到随机存储器11执行。判断模块2003用于在计算机1启动后判断基本输入输出系统校验和是否出错。定位模块2004,用于当基本输入输出系统20校验和出错时,将所得的当前数据的第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据,以ECC为例,将ECC2与ECC1比对,进行解码以找出出错数据。更正模块2005用于更正出错数据,若找出的出错数据为“1”,则将其改为“0”,若为“0”,则将其改为“1”。
如图3所示,是本发明基本输入输出系统的纠错方法较佳实施例的工作流程图。首先,代码建立模块2001在设置BIOS20时当BIOS20的程序代码编译完毕后建立一第一错误检查和纠正代码(步骤S10),以ECC为例,代码建立模块2001为编译所得的二进制代码建立一第一错误检查和纠正代码(ECC1)。加电后启动计算机1(步骤S11)。程序载入模块2002将基本输入输出系统20除引导区程序外的所有程序从只读存储器10载入到随机存储器11执行(步骤S12)。判断模块2003判断基本输入输出系统校验和(checksum)是否出错(步骤S13)。若基本输入输出系统20校验和出错,则代码建立模块2001为当前数据建立一第二错误检查和纠正代码(步骤S14),以ECC为例,计算机1启动后若基本输入输出系统20自检过程中校验和出错,则代码建立模块2001为当前的二进制代码建立一第二错误检查和纠正代码(ECC2)。定位模块2004将第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据(步骤S15),以ECC为例,将ECC2与ECC1比对,进行解码以找出出错数据。更正模块2005更正出错数据(步骤S16),若找出的出错数据为“1”,则将其改为“0”,若为“0”,则将其改为“1”。
在步骤S13中,若判断基本输入输出系统20校验和未出错,则直接结束流程。
本实施例以ECC为例说明,对于其他校验码程序,如汉明码(Han-ming Code)、循环冗余码(Cyclic Redundancy Code,CRC)等,方法相同。
Claims (8)
1.一种基本输入输出系统的纠错系统,运行于一计算机,该计算机包括一储存有一基本输入输出系统的只读存储器及一随机存储器,其特征在于,所述的基本输入输出系统的的纠错系统包括:
一代码建立模块,用于在设置基本输入输出系统时,当基本输入输出系统的程序代码编译完毕后建立一第一错误检查和纠正代码,及用于在计算机启动后,基本输入输出系统自检过程中校验和出错时建立一第二错误检查和纠正代码;
一程序载入模块,用于在计算机启动后将基本输入输出系统除引导区程序外的所有程序从只读存储器载入到随机存储器执行;
一判断模块,用于判断基本输入输出系统校验和是否出错;
一定位模块,用于当基本输入输出系统校验和出错时,将所得的当前数据的第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据;及
一更正模块,用于更正出错数据。
2.如权利要求1所述的基本输入输出系统的纠错系统,其特征在于,所述的错误检查和纠正代码为一纠错码。
3.如权利要求1所述的基本输入输出系统的纠错系统,其特征在于,所述的错误检查和纠正代码为一汉明码。
4.如权利要求1所述的基本输入输出系统的纠错系统,其特征在于,所述的错误检查和纠正代码为一循环码。
5.一种基本输入输出系统的纠错方法,用于修复一计算机内的基本输入输出系统,所述的计算机包括一储存有所述的基本输入输出系统的只读存储器及一随机存储器,其特征在于,该方法包括以下步骤:
在设置基本输入输出系统时,当基本输入输出系统的程序代码编译完毕后建立一第一错误检查和纠正代码;
计算机启动后将基本输入输出系统除引导区程序外的所有程序从只读存储器载入到随机存储器执行;
判断基本输入输出系统校验和是否出错;
若基本输入输出系统校验和出错,则为当前数据建立一第二错误检查和纠正代码;
将所得的当前数据的第二错误检查和纠正代码与第一错误检查和纠正代码进行比对,找出出错数据;及
更正出错数据。
6.如权利要求5所述的基本输入输出系统的纠错方法,其特征在于,所述的错误检查和纠正代码为一纠错码。
7.如权利要求5所述的基本输入输出系统的纠错方法,其特征在于,所述的错误检查和纠正代码为一汉明码。
8.如权利要求5所述的基本输入输出系统的纠错方法,其特征在于,所述的错误检查和纠正代码为一循环码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2005101017405A CN1971536A (zh) | 2005-11-24 | 2005-11-24 | 基本输入输出系统的纠错系统及方法 |
US11/309,457 US7650556B2 (en) | 2005-11-24 | 2006-08-10 | System and method for checking and correcting BIOS errors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2005101017405A CN1971536A (zh) | 2005-11-24 | 2005-11-24 | 基本输入输出系统的纠错系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1971536A true CN1971536A (zh) | 2007-05-30 |
Family
ID=38112369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005101017405A Pending CN1971536A (zh) | 2005-11-24 | 2005-11-24 | 基本输入输出系统的纠错系统及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7650556B2 (zh) |
CN (1) | CN1971536A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617116A (zh) * | 2013-11-13 | 2014-03-05 | 清华大学 | 基于输入输出模拟的交互式设备驱动调试方法及装置 |
CN104035833A (zh) * | 2013-03-07 | 2014-09-10 | 联发科技股份有限公司 | 校验机器可读代码完整性的方法及系统 |
CN105389260A (zh) * | 2015-12-15 | 2016-03-09 | 合肥联宝信息技术有限公司 | Bios调试系统及方法 |
CN105607974A (zh) * | 2015-12-18 | 2016-05-25 | 西安电子科技大学 | 高可靠性多核处理系统 |
CN106648958A (zh) * | 2015-10-30 | 2017-05-10 | 广达电脑股份有限公司 | 基本输入输出系统回复管理系统及其方法以及程序产品 |
CN105868110B (zh) * | 2016-03-29 | 2018-06-22 | 中国科学院软件研究所 | 一种基于内存数据网格的流式数据处理程序错误的数据溯源定位方法 |
CN110389887A (zh) * | 2018-04-16 | 2019-10-29 | 鸿富锦精密工业(武汉)有限公司 | 代码检测系统及方法 |
CN113064815A (zh) * | 2021-03-10 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种bios注错环境搭建系统、方法及介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7900036B2 (en) * | 2006-12-18 | 2011-03-01 | International Business Machines Corporation | System and method for implementing boot/recovery on a data processing sysem |
TW200847021A (en) * | 2007-05-17 | 2008-12-01 | Asustek Comp Inc | Automatic backup, restore and update BIOS computer system |
GB2455106B (en) * | 2007-11-28 | 2012-08-01 | Icera Inc | Memory errors |
US7991941B2 (en) * | 2008-01-15 | 2011-08-02 | Alcatel Lucent | Memory access assist |
FR2950171A1 (fr) * | 2010-02-10 | 2011-03-18 | Thomson Licensing | Procede et dispositif de sauvegarde de l'integrite de donnees |
US8370689B2 (en) | 2010-05-06 | 2013-02-05 | Utc Fire & Security Americas Corporation, Inc. | Methods and system for verifying memory device integrity |
US8335951B2 (en) * | 2010-05-06 | 2012-12-18 | Utc Fire & Security Americas Corporation, Inc. | Methods and system for verifying memory device integrity |
US8826080B2 (en) | 2011-07-29 | 2014-09-02 | The Boeing Company | Methods and systems for preboot data verification |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100782807B1 (ko) | 2003-02-11 | 2007-12-06 | 삼성전자주식회사 | 첵섬 기입 방법 및 그에 따른 첵섬 확인 장치 |
US7191379B2 (en) * | 2003-09-10 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Magnetic memory with error correction coding |
US7254763B2 (en) * | 2004-09-01 | 2007-08-07 | Agere Systems Inc. | Built-in self test for memory arrays using error correction coding |
-
2005
- 2005-11-24 CN CNA2005101017405A patent/CN1971536A/zh active Pending
-
2006
- 2006-08-10 US US11/309,457 patent/US7650556B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035833A (zh) * | 2013-03-07 | 2014-09-10 | 联发科技股份有限公司 | 校验机器可读代码完整性的方法及系统 |
CN103617116A (zh) * | 2013-11-13 | 2014-03-05 | 清华大学 | 基于输入输出模拟的交互式设备驱动调试方法及装置 |
CN106648958A (zh) * | 2015-10-30 | 2017-05-10 | 广达电脑股份有限公司 | 基本输入输出系统回复管理系统及其方法以及程序产品 |
CN106648958B (zh) * | 2015-10-30 | 2019-11-01 | 广达电脑股份有限公司 | 基本输入输出系统回复管理系统及其方法以及程序产品 |
CN105389260A (zh) * | 2015-12-15 | 2016-03-09 | 合肥联宝信息技术有限公司 | Bios调试系统及方法 |
CN105607974A (zh) * | 2015-12-18 | 2016-05-25 | 西安电子科技大学 | 高可靠性多核处理系统 |
CN105868110B (zh) * | 2016-03-29 | 2018-06-22 | 中国科学院软件研究所 | 一种基于内存数据网格的流式数据处理程序错误的数据溯源定位方法 |
CN110389887A (zh) * | 2018-04-16 | 2019-10-29 | 鸿富锦精密工业(武汉)有限公司 | 代码检测系统及方法 |
CN110389887B (zh) * | 2018-04-16 | 2022-07-05 | 鸿富锦精密工业(武汉)有限公司 | 代码检测系统及方法 |
CN113064815A (zh) * | 2021-03-10 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种bios注错环境搭建系统、方法及介质 |
CN113064815B (zh) * | 2021-03-10 | 2023-11-21 | 山东英信计算机技术有限公司 | 一种bios注错环境搭建系统、方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20070136638A1 (en) | 2007-06-14 |
US7650556B2 (en) | 2010-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1971536A (zh) | 基本输入输出系统的纠错系统及方法 | |
CN102385535B (zh) | 处理从非易失性存储器进行设备引导期间的错误 | |
US7100087B2 (en) | Module and method for automatic restoring BIOS device | |
US11163886B2 (en) | Information handling system firmware bit error detection and correction | |
US8856595B2 (en) | Method for verifying an application program in a failsafe programmable logic controller, and programmable logic controller for performing the method | |
CN101634960A (zh) | 一种修改bios参数及重新生成校验和的方法 | |
CN106021002B (zh) | 一种嵌入式设备数据读写方法及装置 | |
EP2770507B1 (en) | Memory circuits, method for accessing a memory and method for repairing a memory | |
US20050081090A1 (en) | Method for automatically and safely recovering BIOS memory circuit in memory device including double BIOS memory circuits | |
US7689981B1 (en) | Mobile handset with efficient interruption point detection during a multiple-pass update process | |
CN111176890A (zh) | 一种星载软件数据存储及异常恢复方法 | |
CN102053875A (zh) | 恢复计算机系统的基本输入输出系统的方法及计算机系统 | |
US20150154091A1 (en) | Bios maintenance method | |
CN109933374B (zh) | 一种计算机启动方法 | |
US20140143601A1 (en) | Debug device and debug method | |
CN104657232A (zh) | Bios自动恢复系统及方法 | |
CN113867750A (zh) | 一种soc处理器软件在线升级方法 | |
US20220365838A1 (en) | System and method for improved control flow monitoring of processors | |
CN113094107B (zh) | 数据保护方法、装置、设备及计算机存储介质 | |
CN112579338B (zh) | 一种设备的启动方法、系统及存储介质 | |
CN111159123B (zh) | 一种嵌入式可靠参数储存文件系统及方法 | |
CN106776100B (zh) | 一种存储器数据分层校验方法 | |
JP2004252525A (ja) | エミュレータおよびプログラム | |
CN112540799A (zh) | 启动数据的管理方法、系统、终端设备及存储介质 | |
JP2013109532A (ja) | 診断修復装置、診断修復方法、及び診断修復プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |