获取时间戳的方法以及计算机装置与流程

文档序号:16146320发布日期:2018-12-05 16:26阅读:267来源:国知局
本发明涉及一种改善计算机功能的方法,且特别涉及一种获取时间戳的方法以及计算机装置。
背景技术
:随着计算机技术的快速普及,人们对服务器系统的要求也越来越高。因应于市场的需求,业界的一些厂商推出了智能平台管理接口(intelligentplatformmanagementinterface,ipmi)。ipmi横跨不同的操作系统、固件和硬件平台,是使硬件管理具备智能化的新一代通用接口标准。ipmi可以智能型的监视、控制以及自动回报大量服务器的运作状况,藉以降低服务器系统成本。一般而言,管理服务器就是使用ipmi管理平台,而基板管理控制器(baseboardmanagementcontroller,bmc)是管理平台核心控制器。系统管理软件对各个被管理装置的管理,都是通过bmc通信实现的。bmc可以将整个管理平台系统中发生的事件连同时间记录于系统事件日志(systemeventlog,sel)中,以供管理者查询。在管理服务器时,对管理者常见的困扰之一是bmc记录于系统事件日志上的时间戳并不是非常地精准。虽然以目前的技术而言,bmc已可以经由基本输入输出系统(basicinput/outputsystem,bios)在开机时进行时间校正,或是bmc本身已可以支持网络时间协议(networktimeprotocol,ntp)的功能以进行时间校正。然而,上述的时间校正方法仅能确保bmc本身的实时时钟(real-timeclock,rtc)的时间正确,却无法保证记录于系统事件日志上的时间戳是正确的,原因在于,bmc是依靠轮询各个传感器以及写入系统事件日志时加入时间戳的,受限于bmc本身的运算能力,bmc并无法提供非常精准的系统事件日志的时间戳,例如,时间戳无法精准到毫秒层级。基于上述的原因,当有多个事件在相近的时间发生时(例如:毫秒层级),管理者并无法藉由系统事件日志记录的时间戳判断事件发生的先后顺序,时常导致管理者无法正确地找出事件发生的原因,因此,如何使bmc能提供更精准的时间戳,是本领域人员欲解决的问题之一。因此,需要提供一种获取时间戳的方法以及计算机装置来解决上述问题。技术实现要素:本发明提供一种获取时间戳的方法以及使用该方法的计算机装置。本发明的一实施例提出一种计算机装置,所述计算机装置包括处理器、计数器电路以及基板管理控制器;所述控制器产生至少一信号;所述计数器电路包括至少一计数器,所述至少一计数器耦接对应的所述至少一信号,且所述至少一计数器接收所述计算机装置中的内部时钟信号;所述基板管理控制器耦接所述至少一计数器;其中,所述基板管理控制器启动所述至少一计数器,所述至少一计数器检测对应的所述至少一信号,以在对应的所述至少一信号激活时依据所述内部时钟信号进行计数以产生计数值,并且,所述基板管理控制器控制所述至少一计数器停止计数,并通过所述至少一计数器中的所述计数值以及停止所述至少一计数器的时间点来获取对应的所述至少一信号的激活时间点,以将所述激活时间点作为所述至少一信号的时间戳。本发明的另一实施例提出一种获取时间戳的方法,适用于计算机装置,其步骤包括:首先,由基板管理控制器启动至少一计数器,至少一计数器检测对应的至少一信号,以在对应的至少一信号激活时依据计算机装置的内部时钟信号进行计数以产生计数值。接着,由所述基板管理控制器控制至少一计数器停止计数,并通过至少一计数器中的计数值以及停止至少一计数器的时间点来获取对应的至少一信号的激活时间点,以将激活时间点作为至少一信号的时间戳。本发明的另一方面提供一种获取时间戳的方法,适用于计算机装置,所述方法包括:启动至少一计数器,所述至少一计数器检测对应的至少一信号,以在对应的所述至少一信号激活时依据所述计算机装置的内部时钟信号进行计数以产生计数值;以及控制所述至少一计数器停止计数,并通过所述至少一计数器中的所述计数值以及停止所述至少一计数器的时间点来获取对应的所述至少一信号的激活时间点,以将所述激活时间点作为所述至少一信号的时间戳。基于上述,本发明藉由计数器辅助基板管理控制器记录事件发生的时间戳,可使计算机装置在记录事件发生的时间戳时,不会因为基板管理控制器本身的运算能力不足而影响时间戳的精确度。通过计数器中的计数值以及停止计数器的时间点来获取对应信号的激活时间点,无论基板管理控制器的固件提早或延后去读取计数器电路上的计数值,都不会影响到所获取激活时间点的准确度。如此,当多个事件同时发生或发生时间点非常相近时,系统事件日志仍能非常精准地记录各事件的时间戳,帮助系统管理者判断各个事件发生的先后顺序。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。附图说明图1是依据本发明一实施例绘示计算机装置的示意图。图2是依据本发明一实施例绘示计算机装置内部信号的时序图。图3是依据本发明一实施例绘示另一计算机装置的示意图。图4是依据本发明一实施例绘示获取时间戳的方法。图5是依据本发明一实施例绘示另一获取时间戳的方法。主要组件符号说明:100、300电子装置110、310处理器130、330计数器电路131、331、333计数器150、350基板管理控制器201、203、205时间点207时间区间cv1、cv2计数值i1、i2信号ic内部时钟信号on启动指令sw1、sw2停止指令s401、s403、s501、s503、s505步骤具体实施方式图1是依据本发明一实施例绘示计算机装置100的示意图。计算机装置100可包括处理器110、计数器电路130及基板管理控制器150。处理器110可经配置以处理数字信号,并执行本发明的实施例提出的获取时间戳方法。处理器110的功能可利用如程序单元,如微处理器、微控制器、数字信号处理器(digitalsignalprocessor,dsp)芯片、现场可编程门阵列(field-programmablegatearray,fpga)、复杂可编程逻辑装置(complexprogrammablelogicdevice,cpld)等实现。计数器电路130包括至少一计数器131,计数器131可接收计算机装置100的内部时钟信号(internalclock)ic。此外,计数器131可响应于接收启动指令on而开始累加计数值cv1,也可响应于接收停止指令sw1而停止累加计数值cv1。计数器电路130的功能可通过复杂可编程逻辑装置、现场可编程门阵列等实现,且启动指令on以及停止指令sw1可以是软件指令(softwarecommand),本发明并不加以限制。基板管理控制器150耦接计数器131,并且可作为ipmi管理平台的核心控制器。系统管理软件可通过基板管理控制器150与管理平台系统中的各个装置通信,藉以进行远程的管理。基板管理控制器150可将整个管理平台系统中发生的事件连同时间记录于系统事件日志(systemeventlog,sel)中,以供系统管理者查询。在本实施例中,处理器110可经配置以产少至少一信号i1。举例而言,信号i1可以是因处理器机器检查错误(cpumachinecheckerror,以下简称mcerror)或存储器无法校正错误(memoryuncorrectableerror,以下简称memerror)而引发或发出的中断(interrupt)信号。计数器131可耦接于计数器131对应的信号i1。在启动基板管理控制器150时,基板管理控制器150可发送例如启动指令on至计数器131以启动计数器131,使计数器131开始检测对应计数器131的信号i1。当计数器131检测到信号i1被激活时,计数器131会开始依据内部时钟信号ic的周期进行计数,藉以产生计数值cv1。当计数器131开始进行计数时,信号i1会经由计数器131传送至基板管理控制器150。传统上,响应于基板管理控制器接收到信号i1,基板管理控制器会将接收到信号i1时的时间戳记录于系统事件日志,以提供系统管理者查询。然而,受限于基板管理控制器本身的运算能力,基板管理控制器记录于系统事件日志上的信号i1的时间戳,往往慢于信号i1实际被接收到的时间,从而致使时间戳的精准度降低。相对地,在本实施例中,响应于基板管理控制器150接收到信号i1,基板管理控制器150会控制计数器131停止计数,并通过计数器131中的计数值cv1以及停止计数器131的时间点来获取对应信号i1的激活时间点,以将激活时间点作为信号i1的时间戳。具体而言,基板管理控制器150可将停止计数器131的时间点减去内部时钟信号ic的周期乘以计数值cv1的数值,以获得激活时间点,即信号i1的时间戳。详细而言,请参照图2。图2是依据本发明一实施例绘示计算机装置100内部信号的时序图,需注意的是,图2的时序图仅作为帮助理解本发明的参考范例,并不用以限制本发明。在本实施例中,当启动基板管理控制器150时,基板管理控制器150可在时间点201发送启动指令on至计数器131,使计数器131开始检测对应于计数器131的信号i1是否被激活。在计数器131被启动后,若计算机装置100发生事件,例如处理器发生了机器检查错误,而致使对应于该事件的信号i1(例如:对应于机器检查错误的中断信号)在时间点203被激活时,计数器131会从时间点203开始依据内部时钟信号ic的周期累加计数值cv1,直到计数器131在时间点205接收到来自基板管理控制器150的停止指令sw1为止。在信号i1经由计数器131传送至基板管理控制器150后,基板管理控制器150会发送停止指令sw1至计数器131,通知计数器131停止计数。接着,计数器131会读取储存于计数器131中的计数值cv1。在图2的实施例中,基板管理控制器150在时间点205发送停止指令sw1至计数器131,并读取出数值为“5”的计数值cv1。需注意的是,图2的实施例虽是将信号i1的上升边缘作为信号i1被激活的时间点,但本发明并不加以限制,例如,也可将信号i1的下降边缘作为信号i1被激活的时间点。在基板管理控制器150获得计数值cv1后,基板管理控制器150可将停止计数器131的时间点205减去内部时钟信号ic的周期乘以计数值cv1的数值“5”,其中内部时钟信号ic的周期乘以计数值cv1后的商数会相当接近图2中的时间区间207的值。换言之,基板管理控制器150可将时间点205减去相近于时间区间207的值,藉此获得相当接近时间点203的信号i1的激活时间点。随后,基板管理控制器150可将所述信号i1的激活时间点作为信号i1的时间戳。图3是依据本发明一实施例绘示另一计算机装置300的示意图。计算机装置300可包括处理器310、计数器电路330及基板管理控制器350,且基板管理控制器350可包括计数器331以及计数器333,其中处理器310、计数器电路330、计数器331与计数器333、基板管理控制器350的功能与构造可分别对应于计算机装置100的处理器110、计数器电路130、计数器131、基板管理控制器150的功能与构造,故在此不再赘述。计算机装置300与计算机装置100的主要差异在于,计算机装置300的计数器电路330包括两个计数器:计数器331及计数器333。此外,控制器310可发送两个信号i1及i2,信号i1及i2分别对应于计数器331及计数器333。举例而言,信号i1可以是因处理器机器检查错误而发出的mcerror中断信号,而信号i2可以是因存储器无法校正错误而发出的memerror中断信号,但本发明并不加以限制。基板管理控制器350获取信号i1及信号i2的时间戳的方法与图1实施例中获取信号i1的时间戳的方法相同。当信号i1与信号i2同时或在相当接近的时间点被激活时,基板管理控制器350可通过图1实施例所述的方法获取较精准的信号i1时间戳与信号i2时间戳,例如,信号i1与信号i2的时间戳可精准到毫秒层级。在基板管理控制器350获得信号i1的时间戳与信号i2的时间戳后,基板管理控制器350即可依据信号i1与信号i2各自的时间戳来得知对应信号i1与信号i2的中断事件的确切发生时间点,例如,当信号i1发生时间早于信号i2时,基板管理控制器350可将信号i1的时间戳与信号i2的时间戳记录于系统事件日志中,系统管理者即可通过该些时间戳判断出对应于信号i1的处理器机器检查错误发生的时间早于对应于信号i2的存储器无法校正错误发生的时间,以利于系统管理者进行系统除错。需注意的是,图3实施例虽然是以处理器310可发送两个信号,且计数器电路330可包括两个计数器331及333为例,但本领域人员应当通晓,处理器可发送的信号数量以及计数器电路可包括的计数器数量可由使用者依据其需求而变动,本发明并不加以限制。图4是依据本发明一实施例绘示获取时间戳的方法,图4的方法适用于本发明公开的计算机装置100。在步骤s401,启动至少一计数器131,至少一计数器131检测对应的至少一信号i1,以在对应的至少一信号i1激活时依据计算机装置100的内部时钟信号ic进行计数以产生计数值cv1。在步骤s403,控制至少一计数器131停止计数,并通过至少一计数器131中的计数值cv1以及停止至少一计数器131的时间点来获取对应的至少一信号i1的激活时间点,以将激活时间点作为至少一信号i1的时间戳。图5是依据本发明一实施例绘示另一获取时间戳的方法,图5的方法适用于本发明公开的计算机装置300。在步骤s501,启动第一计数器331及第二计数器333,第一计数器331及第二计数器333分别检测各自对应的第一信号i1及第二信号i2,以分别在对应的第一信号i1及第二信号i2激活时依据计算机装置300的内部时钟信号ic进行计数以分别产生第一计数值cv1及第二计数值cv2。在步骤s503,控制第一计数器331及第二计数器333停止计数,并通过第一计数器331中的第一计数值cv1以及停止第一计数器331的时间点来获取对应的第一信号i1的第一激活时间点,并通过第二计数器333中的第二计数值cv2以及停止第二计数器333的时间点来获取对应的第二信号i2的第二激活时间点,以分别将第一激活时间点及第二激活时间点作为第一信号i1及第二信号i2的时间戳。在步骤s505,依据每个信号各自的时间戳来得知对应每个信号的中断事件的确切发生时间点。综上所述,本发明藉由计数器辅助基板管理控制器记录事件发生的时间戳,可使计算机装置在记录事件发生的时间戳时,不会因为基板管理控制器本身的运算能力不足而影响时间戳的精确度。通过计数器中的计数值以及停止计数器的时间点来获取对应信号的激活时间点,无论基板管理控制器的固件提早或延后去读取计数器电路上的计数值,都不会影响到所获取激活时间点的准确度。如此,当多个事件同时发生或发生时间点非常相近时,系统事件日志仍能非常精准地记录各事件的时间戳,帮助系统管理者判断各个事件发生的先后顺序。虽然本发明已以实施例公开如上,然而其并非用以限定本发明,任何所属
技术领域
:中的普通技术人员,在不脱离本发明的精神和范围的情况下,应当可作些许的更动与润饰,故本发明的保护范围应当视所附的权利要求书所界定者为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1