除错方法及计算机系统的制作方法

文档序号:6424891阅读:98来源:国知局
专利名称:除错方法及计算机系统的制作方法
技术领域
本发明是指一种除错方法及相关计算机系统,尤指一种不需増加硬件电路又可取得完整执行记录数据来进行除错的除错方法及相关计算机系统。
背景技术
当计算机装置发生当机或是发生不正常开机而导致相关外围无法顺利执行时,便需利用各种除错方式来寻找出故障的原因,以利于进行后续的修复程序。举例来说,已知技木通常会利用读取端ロ 80(地址0x80)的检测代码来判断故障原因,或是通过序列输出(serial out)的方式来监测系统执行过程以得知故障的部分。然而,当计算机装置发生异常时,读取端ロ 80上的检测代码的方式仅能显示某一断点的信息_而无法提供足够的除错信息。若采用序列输出的方式,则常会囿于接ロ传输速度而造成系统延迟(由于处理器的处理速度过于快速),导致常会错失记载有故障信息的数据。
另ー种已知的除错方式便是通过追踪基本输入输出系统(Basic input/outputsystem,BIOS)所记录下来的执行记录数据来追溯系统异常的原因,然而一旦计算机装置无法完成开机程序吋,相关的执行记录数据将无法被完整地储存,尤其是实际发生不正常运作时的执行记录数据通常无法被储存起来,因此,仍旧无法得知错误发生的原因而无法实现除错的目的。另ー方面,前述已知技术的方式,在实作上皆需额外增加硬件电路来加以实现,对于计算机装置的开发设计者来说非常的不方便,并且会増加制造成本与系统设计复杂度。

发明内容
因此,本发明的主要目的即在于提供一种除错方法及相关计算机系统。本发明揭露一种用于ー计算机系统的除错方法,该除错方法包含有于ー储存装置中定义ー除错參考数据区,以提供该计算机系统的一基本输入输出系统与ー控制装置存取数据;利用该控制装置周期性地传送出包含有一鉴别信息的一回复请求至该基本输入输出系统;利用该基本输入输出系统根据该回复请求,传送出相关于该鉴别信息的一响应信息;利用该控制装置检查该响应信息,并于该响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息吋,将ー执行记录数据储存至该储存装置的该除错參考数据区;判断计算机系统是否运作正常;以及于判断结果为运作异常时,根据该执行记录数据,进行该计算机系统的ー除错程序。本发明还揭露ー种计算机系统,包含有ー储存装置;一基本输入输出系统,用来于该储存装置中定义ー除错參考数据区;ー控制装置,用来周期性地传送出包含有一鉴别信息的一回复请求至该基本输入输出系统;以及ー暂存存储器,用来暂存ー执行记录数据;其中,于该基本输入输出系统根据该回复请求传送出相关于该鉴别信息的一响应信息后,该控制装置检查该响应信息,并于该响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息时,该控制装置将该暂存存储器中的该执行记录数据储存至该储存装置的该除错參考数据区。


图I为本发明实施例一计算机系统的示意图。图2为本发明实施例的一流程的示意图。图3为执行记录数据储存过程的一示意图。[主要元件标号说明]10计算机系统100中央处理器102基本输入输出系统 104控制装置106储存装置108暂存存储器110除错參考数据区112存储器映射区20 流程200、202、204、206、208、210、212、214 步骤
具体实施例方式请參考图1,图I为本发明实施例ー计算机系统10的示意图。计算机系统10可用来将系统运作时所产生的一执行记录数据储存起来,以作为除错之用。如图I所示,计算机系统10包含有一中央处理器100、一基本输入输出系统(basic input/output system, BIOS) 102、ー控制装置104、ー储存装置106及ー暂存存储器108。其中基本输入输出系统102是通过中央处理器100加载并执行一基本输入输出系统码,以实现相关操作功能。控制装置104可为ー键盘控制器或一嵌入式控制器。储存装置106可以是任何于断电后仍可保留数据的存储装置,例如ー闪存、一可编程只读存储器(PROM)或ー电子可抹除可编程只读存储器(EEPROM),但不以此为限。在本实施例中,基本输入输出系统102与控制装置104可对储存装置106及暂存存储器108进行数据的存取。举例来说,如图I所示,基本输入输出系统102与控制装置104可以存储器映射输入输出(memory mapped input/output, MMIO)方式对暂存存储器108的一存储器映射区112进行数据存取。关于如何在计算机系统10中将执行记录数据完整地保存在储存装置106中并据以进行除错程序的方式,可归纳为一流程20,请參考图2,要注意的是,若是有实质上相同的结果,则流程20并不以图2所示流程图的顺序为限。流程20包含以下步骤步骤200:开始。步骤202 :于储存装置106中定义ー除错參考数据区110,以提供基本输入输出系统102与控制装置104存取数据。步骤204 :控制装置104周期性地传送出包含有鉴别信息的回复请求至基本输入输出系统102。步骤206 :基本输入输出系统102根据回复请求,传送出相关于鉴别信息的响应信
o步骤208 :控制装置104检查响应信息,并于响应信息中所包含的鉴别信息不符合原先所传送出的鉴别信息时,将执行记录数据储存至储存装置106的除错參考数据区110中。
步骤210 :判断计算机系统10是否运作正常。若是的话,执行步骤204 ;若否的话,执行步骤212。步骤212 :根据执行记录数据,进行计算机系统10的除错程序。步骤214:结束。根据流程20,首先,在步骤202中,基本输入输出系统102会于储存装置106中定义出ー除错參考数据区110以提供一个专门存取执行记录数据的储存空间,也就是说,除错參考数据区110是保留给基本输入输出系统102与控制装置104存取数据用,而不会被操作系统或是其它程序所破坏的储存区域。详细来说,基本输入输出系统102可先于储存装置106中规划出ー个预定储存区,并通知控制装置104该预定储存区的大小与范围。接着,基本输入输出系统102必须确认是否控制装置104可于该预定储存区中存取数据,若控制装置104无法于该预定储存区中存取数据,基本输入输出系统102会重新于储存装置106中规划其它的储存空间。若控制装置104确实可于所规画出的该预定储存区存取数据,基 本输入输出系统102进而将储存装置106中原本所规划出的该预定储存区定义为一除错參考数据区110,举例来说,基本输入输出系统102可于对储存装置106进行初始化程序时,通过一宣告指令(例如进阶配置电源接ロ(advanced configuration and power interface,ACPI)规范中的Operation Region指令)来指定储存装置106的某一特定区域为除错參考数据区110。一般来说,基本输入输出系统102或是计算机系统10运作时所产生的执行记录数据会被写入至暂存存储器108中。因此在步骤202中,当除错參考数据区110被定义完成之后,基本输入输出系统102即可开始将已写入暂存存储器108中的执行记录数据储存至该除错參考数据区110,并通知控制装置104开始进行一执行记录数据服务。換言之,当除错參考数据区110被定义完成之后,于基本输入输出系统102运作的过程中,相对应的执行记录数据将会被基本输入输出系统102写入暂存存储器108的除错參考数据区110中,如此ー来,较佳地,基本输入输出系统102会定期地(每隔一写入周期)将暂存存储器108的执行记录数据储存至储存装置106中的除错參考数据区110。接着,在步骤204中,当除错參考数据区110被定义完成之后,或是当接到基本输入输出系统102通知开始进行执行记录数据服务的通知后,控制装置104会开始传送出包含有鉴别信息的回复请求至基本输入输出系统102,并且会持续地每隔一段时间传送出包含有鉴别信息的回复请求至基本输入输出系统102。換言之,控制装置104会周期性地传送回复请求至基本输入输出系统102,直到系统停止运作或是收到相关的中止指示。举例来说,于控制装置104关闭系统电源前,控制装置104便会停止传送回复请求。或者,于接收到基本输入输出系统102的中止指示后,控制装置104停止传送回复请求。在步骤206中,当基本输入输出系统102收到回复请求之后,基本输入输出系统102会根据回复请求,传送出相关于鉴别信息的响应信息。其中响应信息可包含回复请求中的鉴别信息以及其它相关信息。举例来说,若鉴别信息为「0010」,则基本输入输出系统102会相应的传送出响应信息(内容为「0010」)。简言之,控制装置104可传送出相关的响应信息至相对应的基本输入输出系统102来作为验证的依据,而当基本输入输出系统102也如期且正确地传送出相对应的响应信息,表不基本输入输出系统102目前为正常操作中,反之,则表示基本输入输出系统102可能发生操作异常的情況。如此ー来,通过步骤204与步骤206的运作,将可在基本输入输出系统102与控制装置104之间建立出ー个握手机制,而控制装置可据以判断基本输入输出系统102的运作状況。在步骤208中,控制装置104会检查基本输入输出系统102所传出的响应信息,并于响应信息中所包含的鉴别信息不符合原先所传送出的鉴别信息时,将执行记录数据储存至储存装置106的除错參考数据区110。換言之,控制装置104于传送出响应请求(步骤204)后,便开始检测基本输入输出系统102是否发出响应信息。当检测到基本输入输出系统102所发出的响应信息,控制装置104会检查该响应信息中所包含的鉴别信息是否符合原先所传送出的鉴别信息。当响应信息中所包含的该鉴别信息符合原先所传送出的该鉴别信息时,表示基本输入输出系统102处于正常的操作状态。当响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息时,表不基本输入输出系统102处于异常的操作状
态。举例来说,若控制装置104所传出的鉴别信息依序为「0010」、「0011」及「0100」,而基本输入输出系统102相应的依序传送出的响应信息为「0010」、「0011」及「0111」,在此情况下,由于最后的响应信息与控制装置104所传出的鉴别信息不吻合,在此情况下,基本输入输出系统102此时应处于异常操作状态。因此,当响应信息中所包含的鉴别信息不符合原先所传送出的鉴别信息时,控制装置104便将执行记录数据储存至储存装置106的除错參考数据区110。換言之,控制装置104通过前述的握手沟通机制来判断基本输入输出系统102的运作状态,并于基本输入输出系统102可能处于异常操作状态时,直接控制将已写入暂存存储器108中的执行记录数据储存至储存装置106的除错參考数据区110,而取代原先基本输入输出系统102的操作。虽然基本输入输出系统102会定期地将已写入暂存存储器108中的执行记录数据储存至储存装置106的除错參考数据区110,然而,一旦基本输入输出系统102发生异常操作而造成当机时,最后的这段已写入暂存存储器108中的执行记录数据由于尚未被储存至储存装置106,在断电之后将会消失,因此本发明便通过控制装置104将已写入暂存存储器108中的执行记录数据储存至储存装置106的除错參考数据区110,而得以保全最关键的执行记录数据。因此,在本实施例中,当响应信息中所包含的鉴别信息符合原先所传送出的鉴别信息时,是由基本输入输出系统102将暂存存储器108中的执行记录数据储存至储存装置106的除错參考数据区110 ;反之,当响应信息中所包含的鉴别信息不符合原先所传送出的鉴别信息时,则换由控制装置104将执行记录数据储存至储存装置106的除错參考数据区110。简言之,控制装置104可将尚未被基本输入输出系统102储存至储存装置106的执行记录数据储存至储存装置106,以提供后续除错之用。此外,在步骤208中,若是基本输入输出系统102没有发送响应信息,则表示基本输入输出系统102可能已处于异常的操作状态,因此,当控制装置104于ー特定时间内检测不到响应信息时,亦会将已写入暂存存储器108中的执行记录数据储存至储存装置106的除错參考数据区110。另ー方面,由于控制装置104可控制系统电源及提供至各组件的电源,因此,当基本输入输出系统102系统发生运作异常或停止运作吋,通过控制装置104来储存数据,将可确保系统断电如完成完整的储存程序。在步骤210中,可通过控制装置104或是其它装置来判断计算机系统10是否运作正常。若是的话,则执行步骤204,继续进行步骤204至步骤208。若计算机系统发生当机或是其它的异常情况时,则进ー步执行步骤212。因此,在步骤212中,当计算机系统异常运作时,使用者便可自储存装置106中读取根据前述步骤所储存下来的执行记录数据,并据以进行除错的程序。以下进ー步以应用于基本输入输出系统102执行开机后的自我测试(power-onself test,POST)时为例来做说明。假设于系统电源被开启后,基本输入/输出系统便会执行测试硬件外围(如存储器、硬盘、通讯端ロ等)是否存在或是否运作正常等相关的初始化程序。首先,在基本输入输出系统102执行自我测试前,基本输入输出系统102可先于储存装置106中定义出除错參考数据区110并通知控制装置104开始进行执行记录数据服务。接着,基本输入输出系统102执行自我测试程序时的相关执行记录数据便开始会被写入暂存存储器108的存储器映射区112中。举例来说,请參考图3,图3为执行记录数据储存过程的一不意图。当基本输入输出系统102执行自我测试时,基本输入输出系统102会将ー识别信息与一数据长度信息分别写入存储器映射区112的一识别字段SIG与一数据长度字段Log_Length,并且会将相应的执行记录数据写入存储器映射区112的一数据域位DATA。基本输入输出系统102会周期性地将暂存存储器108中的执行记录数据移动至储存装置106中的除错參考数据区110中。另ー方面,当基本输入输出系统102通知控制装置104开始进行执行记录数据服务后,控制装置104便开始传送出包含有鉴别信息的回复请求至基本输 入输出系统102。接着,基本输入输出系统102会根据回复请求,传送出相关于鉴别信息的响应信息。举例来说,于收到回复请求后,基本输入输出系统102可将响应信息写入至存储器映射区112的一鉴别字段TK。如此ー来,控制装置104可以通过检查鉴别字段TK中的数据是否符合原先所传送出的鉴别信息来判断基本输入输出系统102的运作状況。当控制装置104检查出鉴别字段TK所储存的响应信息中所包含的鉴别信息不符合原先所传送出的鉴别信息时,控制装置104便控制将数据域位DATA中的执行记录数据储存至储存装置106的除错參考数据区110。此外,由于基本输入输出系统102周期性地(每隔一写入周期)将暂存存储器108中的执行记录数据储存至除错參考数据区110。因此,控制装置104亦可根据识别字段SIG与数据长度字段Log_Length中的信息,将数据域位DATA中自基本输入输出系统102前次储存后的新增数据部分储存至储存装置106的除错參考数据区110。因此,若控制装置104周期性地传送回复请求至基本输入输出系统102,并持续地检查存储器映射区112中的响应信息,暂存存储器108中的执行记录数据将可被安全地移至除错參考数据区110,而不会被漏失。在此情况下,每当系统当机吋,使用者便可通过读取与分析储存装置106的除错參考数据区110所储存的执行记录数据来进行系统除错,以找出错误的地方。综上所述,本发明通过握手沟通机制使控制装置104可将尚未被基本输入输出系统102储存至储存装置106的执行记录数据储存至储存装置106,如此ー来,使用者便可通过读取与分析储存于储存装置106的执行记录数据来进行系统除错,而能轻易且快速地找出错误的部分。相较于先前技术,本发明完全不需增加外部硬件电路,仅需通过现有的基本输入输出系统102与控制装置104即可取得有助于除错的消息。而且,即使计算机系统发生当机而无法完成开机程序时,本发明亦能将执行记录数据储存下来作为除错之用。以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用于一计算机系统的除错方法,包含有 于一储存装置中定义一除错参考数据区,以提供该计算机系统的一基本输入输出系统与一控制装置存取数据; 利用该控制装置周期性地传送出包含有一鉴别信息的一回复请求至该基本输入输出系统; 利用该基本输入输出系统根据该回复请求,传送出相关于该鉴别信息的一响应信息; 利用该控制装置检查该响应信息,并于该响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息时,将一执行记录数据储存至该储存装置的该除错参考数据区; 判断该计算机系统是否运作正常;以及 于判断结果为运作异常时,根据该执行记录数据,进行该计算机系统的一除错程序。
2.根据权利要求I所述的除错方法,其中于该储存装置中定义该除错参考数据区,以提供该计算机系统的该基本输入输出系统与该控制装置存取数据的步骤包含有 利用该基本输入输出系统于该储存装置中定义出该除错参考数据区,并确认该控制装置可自该除错参考数据区存取数据;以及 利用该基本输入输出系统将该执行记录数据储存至该除错参考数据区。
3.根据权利要求2所述的除错方法,其中利用该基本输入输出系统将该执行记录数据储存至该除错参考数据区的步骤还包含有 利用该基本输入输出系统通知该控制装置开始进行一执行记录数据服务。
4.根据权利要求2所述的除错方法,其中利用该基本输入输出系统将该执行记录数据储存至该除错参考数据区的步骤包含有 利用该基本输入输出系统将一识别信息、一数据长度信息与该执行记录数据分别写入一暂存存储器的一识别字段、一数据长度字段与一数据域位;以及 利用该基本输入输出系统根据该识别信息与该数据长度信息,每隔一写入周期将该执行记录数据写入至该除错参考数据区。
5.根据权利要求4所述的除错方法,其中利用该基本输入输出系统根据该回复请求,传送出相关于该鉴别信息的该响应信息的步骤包含有 利用该基本输入输出系统根据该回复请求,将相关于该鉴别信息的该响应信息写入该暂存存储器的该鉴别字段。
6.根据权利要求5所述的除错方法,其中利用该控制装置检查该响应信息,并于该响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息时,将该执行记录数据储存至该储存装置的该除错参考数据区的步骤包含有 利用该控制装置检查该暂存存储器的该鉴别字段所记载的该响应信息是否符合原先所传送出的该鉴别信息;以及 于检查结果为不符合时,利用该控制装置将该数据域位的该执行记录数据储存至该除错参考数据区。
7.根据权利要求6所述的除错方法,其中于检查结果为不符合时,利用该控制装置将该数据域位的该执行记录数据储存至该除错参考数据区的步骤包含有 于检查结果为不符合时,利用该控制装置根据该数据长度字段所记载的该数据长度,将该数据域位的该执行记录数据的其中一部分储存至该除错参考数据区。
8.根据权利要求I所述的除错方法,其中利用该控制装置检查该响应信息,并于该响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息时,将该执行记录数据储存至该储存装置的该除错参考数据区的步骤还包含有 于该回复请求被传送出至该基本输入输出系统后,利用该控制装置检测该响应信息,并于该检测结果为无时,利用该控制装置将该执行记录数据储存至该储存装置的该除错参考数据区。
9.一种计算机系统,包含有 一储存装置; 一基本输入输出系统,用来于该储存装置中定义一除错参考数据区; 一控制装置,用来周期性地传送出包含有一鉴别信息的一回复请求至该基本输入输出系统;以及 一暂存存储器,用来暂存一执行记录数据; 其中,于该基本输入输出系统根据该回复请求传送出相关于该鉴别信息的一响应信息后,该控制装置检查该响应信息,并于该响应信息中所包含的该鉴别信息不符合原先所传送出的该鉴别信息时,该控制装置将该暂存存储器中的该执行记录数据储存至该储存装置的该除错参考数据区。
10.根据权利要求9所述的计算机系统,其中于定义出该除错参考数据区及确认该控制装置可自该除错参考数据区存取数据后,该基本输入输出系统将该执行记录数据储存至该除错参考数据区。
11.根据权利要求10所述的计算机系统,其中该基本输入输出系统通知该控制装置开始进行一执行记录数据服务。
12.根据权利要求10所述的计算机系统,其中于一识别信息、一数据长度信息与该执行记录数据分别被写入该暂存存储器的一识别字段、一数据长度字段与一数据域位之后,该基本输入输出系统根据该识别信息与该数据长度信息,每隔一写入周期将该执行记录数据写入至该除错参考数据区。
13.根据权利要求12所述的计算机系统,其中该基本输入输出系统根据该回复请求,将相关于该鉴别信息的该响应信息写入该暂存存储器的该鉴别字段。
14.根据权利要求13所述的计算机系统,其中于检查出该暂存存储器的该鉴别字段所记载的该响应信息不符合原先所传送出的该鉴别信息时,该控制装置将该数据域位的该执行记录数据储存至该除错参考数据区。
15.根据权利要求14所述的计算机系统,其中于检查出该暂存存储器的该鉴别字段所记载的该响应信息不符合原先所传送出的该鉴别信息时,该控制装置根据该数据长度字段所记载的该数据长度,将该数据域位的该执行记录数据的其中一部分储存至该除错参考数据区。
16.根据权利要求9所述的计算机系统,于该回复请求被传送出至该基本输入输出系统后,该控制装置检测该响应信息,并于该检测结果为无时,该控制装置将该执行记录数据储存至该除错参考数据区。
全文摘要
用于计算机系统的除错方法,包含有于储存装置中定义除错参考数据区,以提供该计算机系统的基本输入输出系统与控制装置存取数据;利用控制装置周期性地传送出包含有鉴别信息的回复请求至该基本输入输出系统;利用基本输入输出系统根据该回复请求,传送出相关于鉴别信息的响应信息;利用控制装置检查响应信息,并于响应信息中所包含的鉴别信息不符合原先所传送出的鉴别信息时,将执行记录数据储存至储存装置的除错参考数据区;判断计算机系统是否运作正常;以及于判断结果为运作异常时,根据执行记录数据,进行计算机系统的除错程序。
文档编号G06F11/22GK102760090SQ20111013802
公开日2012年10月31日 申请日期2011年5月26日 优先权日2011年4月27日
发明者李元展, 林钰慈 申请人:纬创资通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1