一种系统异常掉电后自动上电开机的方法、系统及设备与流程

文档序号:11230280阅读:654来源:国知局
一种系统异常掉电后自动上电开机的方法、系统及设备与流程

本发明涉及数据处理技术领域,特别涉及一种系统异常掉电后自动上电开机的方法、系统及设备。



背景技术:

在云计算时代,数据中心对储存、服务器等设备的可靠性要求越来越高,如采用双控器1+1冗余进行数据处理,1+1电源模块冗余供电,甚至还使用了电池备电模块针对市电掉电后的供电,这些做法都是为了提高储存系统的高可靠性。数据中心对硬件的智能性要求也越来越高,比如停电后再来电,系统要能实现自动开机上电。但是针对系统异常掉电的情况,比如cpu意外掉电、芯片过热失效导致系统掉电,要实现自动侦测并实现自动开机上电比较困难。目前还没有能够实现在系统异常掉电后自动上电开机。



技术实现要素:

本发明的目的是提供一种系统异常掉电后自动上电开机的方法、系统及设备;实现系统异常掉电后自动上电开机,提高了硬件系统的可靠性。

为解决上述技术问题,本发明提供一种系统异常掉电后自动上电开机的方法,包括:

检测系统的电源掉电时序以及复位信号;

根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电;

若为异常掉电,则执行上电开机程序。

可选的,检测系统的电源掉电时序以及复位信号,包括:

接收所述系统中全部的电源good信号以及复位信号;

根据接收到的所述电源good信号以及所述复位信号,存储各所述电源good信号的下降沿变化数据,以及复位信号数据。

可选的,根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电,包括:

判断所述下降沿变化数据是否存在0位;

若存在,则判断所述复位信号数据是否为0;

若为0,则判断所述系统的电压和温度是否正常;

若正常,则所述系统是否为异常掉电。

可选的,执行上电开机程序,包括:

设置开机信号位为强制开机信号,并持续预定时间后设置开机信号位为不强制开机信号。

可选的,若所述系统的电压和温度不正常,包括:提示所述系统电源异常。

本发明还提供一种系统异常掉电后自动上电开机的系统,包括:

检测模块,用于检测系统的电源掉电时序以及复位信号;

异常掉电判断模块,用于根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电;

上电开机模块,用于若所述系统为异常掉电,则执行上电开机程序。

可选的,所述检测模块,包括:

接收信号单元,用于接收所述系统中全部的电源good信号以及复位信号;

信号记录单元,用于根据接收到的所述电源good信号以及所述复位信号,存储各所述电源good信号的下降沿变化数据,以及复位信号数据。

可选的,所述异常掉电判断模块,包括:

第一判断单元,用于判断所述下降沿变化数据是否存在0位;

第二判断单元,用于若所述下降沿变化数据存在0位,则判断所述复位信号数据是否为0;

第三判断单元,用于若所述复位信号数据为0,则判断所述系统的电压和温度是否正常;若正常,则所述系统是否为异常掉电。

可选的,所述上电开机模块具体为设置开机信号位为强制开机信号,并持续预定时间后设置开机信号位为不强制开机信号的模块。

本发明还提供一种设备,包括:

可编程逻辑器件,用于检测系统的电源掉电时序以及复位信号;

管理控制器,用于根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电;若为异常掉电,则执行上电开机程序。

本发明所提供的一种系统异常掉电后自动上电开机的方法,包括:检测系统的电源掉电时序以及复位信号;根据电源掉电时序以及复位信号,判断系统是否为异常掉电;若为异常掉电,则执行上电开机程序。

可见,该方法通过电源掉电时序以及复位信号,判断系统是否为异常掉电,并在系统异常掉电时执行上电开机程序;从而实现系统异常掉电后自动上电开机,提高了硬件系统的可靠性;本发明还提供了一种系统异常掉电后自动上电开机的系统及设备,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的系统异常掉电后自动上电开机的方法的流程图;

图2为本发明实施例所提供的系统掉电时序下降沿检测示意图;

图3为本发明实施例所提供的系统掉电时序检测cpld与bmc的连接关系示意图;

图4为本发明实施例所提供的系统异常掉电后自动上电开机的系统的结构框图。

具体实施方式

本发明的核心是提供一种系统异常掉电后自动上电开机的方法、系统及设备;实现系统异常掉电后自动上电开机,提高了硬件系统的可靠性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例提供了一种基于时序检测实现系统异常掉电后自动上电开机的方法。具体请参考图1,图1为本发明实施例所提供的系统异常掉电后自动上电开机的方法的流程图;该方法可以包括:

s100、检测系统的电源掉电时序以及复位信号。

s110、根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电。

具体的,本实施例并不限定检测电源掉电时序以及复位信号的器件,只要可以实现该功能即可。例如可以是通过可编程逻辑器件实现。如cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)、fpga或者其他的可编程逻辑器件。这里的检测可以是将电源掉电信号以及复位信号连接到检测器件中。例如,以cpld为例,目前电源信号称为电源good信号,在物理上将系统的所有电源good信号和平台复位信号接到cpld。

本实施例也不限定根据所述电源掉电时序以及所述复位信号判断所述系统是否为异常掉电的器件,只要可以实现该功能即可。例如可以是通过bmc(baseboardmanagercontroller,管理器控制器)实现或者其他控制器件。这里的控制器件与上述电源掉电时序以及复位信号的检测器件相连接。例如通过12c(inter-integratedcircuiti2c总线)总线连接。例如,以cpld和bmc为例,bmc和cpld由i2c总线连接。

具体的,本实施例并不限定开关机时对应的电源掉电时序正常情况。本实施例根据该系统中对应的电源掉电时序规则,来判断检测到的电源掉电时序是否为正常时序;甚至可以根据该电源掉电时序判断出哪个电源出现异常掉电。因此本实施例并不限定具体的判断规则,其根据系统实际设置进行适应性改变。现在仍然以cpld,电源good信号为例,且参考图2,说明检测原理,所有的电源good信号在系统开机都是按一定顺序有低电平变为高电平(0到1的变化),最后复位信号由低到高变化;同样正常关机时,复位信号最先由高到低,所有的电源good信号也是按一定的顺序有高电平变为低电平(1到0的变化)。

在检测到电源掉电时序后可以根据该时序判断是否存在电源异常掉电,即各个电源是否按照图2中正常的时序进行掉电,若不是,则证明存在电源异常掉电。本实施例并不限定此处的异常掉电的记录形式。例如可以在判断电源不是正常掉电时序时,设置异常掉电标识(对异常掉电标识并不进行限定,例如可以用1表示也可以是用0表示等)。也可以是不仅标识出异常掉电还可以指出哪个电源异常掉电。例如可以在异常掉电的电源对应位置设置异常掉电标识等。

可选的,检测系统的电源掉电时序以及复位信号可以包括:

接收所述系统中全部的电源good信号以及复位信号;

根据接收到的所述电源good信号以及所述复位信号,存储各所述电源good信号的下降沿变化数据,以及复位信号数据。

具体的,这里存储的各所述电源good信号的下降沿变化数据可以表示该位置的电源是否正常掉电。现在仍以cpld,电源good信号为例说明下降沿变化数据的记录。

(1)根据电源good信号数量定义一定数量的bit位寄存器,该例子以8个电源为例定义一个字节,8个bit的detect寄存器,初始值为11111111,从左到右为高位到低位排列,当系统电源信号较多时可以采取增加字节定义,如两个字节;本实施例对此并不进行限定,对于此处初始值的形式也不进行限定,例如也可以是全部为0或者其他数值,本例子仅说明一种处理逻辑,其适应性的变形都在其保护范围内。

(2)如果cpld侦测到powergood2信号下降沿晚于powergood1信号,则寄存器的值为11111111,不变化;如果cpld侦测到powergood2信号下降沿早于powergood1信号,或者同时掉下来;则修改寄存器的值为11111110;

(3)如果cpld侦测到powergood3信号下降沿晚于powergood2信号,则寄存器的值为11111111,不变化;如果cpld侦测到powergood3信号下降沿早于powergood2信号,或者同时掉下来;则修改寄存器的值为11111101;

(4)依次类推,寄存器bit位出现的0,则代表系统掉电时序异常;

(5)另需要定义一个poweron寄存器,用来存放开机信号和平台复位信号。1xxxxxx0,高位1代表复位信号电平,最低位代表开机信号,0标示不需要强制开机,1需要强制开机。该例子中也不对寄存器的名称等进行限定。即cpld定义相关寄存器,用来存放电源good信号下降沿的变化情况、平台复位信号、开机信号。

在存在电源异常掉电的情况下,是否需要执行上电开机程序,要看现在系统是否异常掉电,即系统是否关机。若系统关机,则需要执行上电开机程序。这里的系统是否关机的判断可以是根据复位信号进行。例如上面的例子中高位1代表复位信号电平,当其为1时,系统没有关机,当其为0时系统关机。当然也可以是用其他字符表示该关系。

进一步,为了提高系统在异常掉电后自动上电开机的安全性,可以监测系统的健康状况,若系统的健康状况正常,才可以在异常掉电后自动上电开机,若系统的健康状况不正常,则不执行上电开机程序以保证系统硬件等的安全。本实施例并不限定具体的系统监控状况的衡量标准,可以由用户根据实际情况进行确定。例如这里的系统的健康状况可以通过系统的电压和温度进行表示。对应的根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电可以包括:

判断所述下降沿变化数据是否存在0位;

若存在,则判断所述复位信号数据是否为0;

若为0,则判断所述系统的电压和温度是否正常;

若正常,则所述系统是否为异常掉电。

具体的,可以额外监测系统的温度和电压,判断系统的监控健康状况。以bmc为例系统的电压传感器和温度传感器挂接在bmc上,bmc同时监控系统的各个电压、温度等健康状况。本实施例并不限定0位是0仅是以0表示此位置处的电源掉电异常,复位信号数据的0也是仅仅限定0表示没有复位而已当然可以以其他字符表示,本实施例仅限定一种判断流程,至于每一个步骤具体怎么表示状态,可以灵活设定。即该实施例逻辑是若存在电源异常掉电,则判断是否复位,若没有复位,则判断电压和温度是否正常(即监控状况是否正常),若正常则可以执行上电开机程序。

s120、若为异常掉电,则执行上电开机程序。

该步骤即执行开机程序,使系统异常掉电后自动上电开机。并可以在确定系统开机后停止触发上电开机程序。即优选的在系统开机后需要可以将该触发上电开机程序的位设置为不再触发。即设置开机信号位为强制开机信号,并持续预定时间后设置开机信号位为不强制开机信号。

具体的,此处的预定时间可以由用户进行设定,例如可以是40ms,本实施例对此并不进行限定。在系统存在异常时,无论系统是否处于开机状态都需要进行告警提示。本实施例并不对具体的告警提示形式进行限定。例如在不能执行异常掉电开机时,即若所述系统的电压和温度不正常,包括:提示系统电源异常(例如可以点亮系统告警指示灯)。在异常掉电但是系统处于开机状态时可以告警有异常电源。且进一步还可以在告警时记录日志,以方便在日后进行查看和对系统的维护。

即仍以cpld,电源good信号以及bmc为例,请参考图3,说明bmc的操作主要包括以下步骤:

(1)如果bmc获取的detect寄存器存在0bit位,同时poweron寄存器的最高位为0,结合监控的系统电压、温度没有异常,则会写入power最低位1,持续40ms后写入0,实现模拟powerbutton开机。若系统电压、温度出现异常则不执行开机动作,点亮系统告警指示灯。

(2)如果bmc获取的detect寄存器存存在0bit位,但poweron寄存器的最高位为1,则bmc会告警有异常电源,由于复位信号没有变为低电平,系统并没有关机,只是个别电源异常,不会执行开机操作。

即通过采用cpld检测各个电源的powergood信号下降沿,检测电源掉电时序,将异常情况存入寄存器,然后bmc通过读取cpld寄存器判断系统是异常掉电还是正常关机,若异常掉电,bmc告知cpld开机上电,实现系统异常掉电后自动上电开机,提高了硬件系统的可靠性。即提高了硬件系统的智能性、可靠性。尤其是储存产品上,当单节点由于意外掉电,依靠硬件自身实现自动开机上电,对保护数据安全性是很有意义的,该特性可以大大提高产品竞争力。

进一步,本实施例并不限定判断系统是否异常掉电的周期,为保证该方法的效果可以实时判断。例如bmc轮询掉电时序寄存器。

基于上述技术方案,本发明实施例提的系统异常掉电后自动上电开机的方法,由cpld侦测系统掉电时序,bmc根据异常掉电情况,结合系统的健康状况如电压、温度是否异常,自主判断是否是异常掉电,提升了硬件系统的智能性、可靠性。

下面对本发明实施例提供的系统异常掉电后自动上电开机的系统及设备进行介绍,下文描述的系统异常掉电后自动上电开机的系统及设备与上文描述的系统异常掉电后自动上电开机的方法可相互对应参照。

请参考图4,图4为本发明实施例所提供的系统异常掉电后自动上电开机的系统的结构框图;该系统可以包括:

检测模块100,用于检测系统的电源掉电时序以及复位信号;

异常掉电判断模块200,用于根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电;

上电开机模块300,用于若所述系统为异常掉电,则执行上电开机程序。

基于上述实施例,所述检测模块100可以包括:

接收信号单元,用于接收所述系统中全部的电源good信号以及复位信号;

信号记录单元,用于根据接收到的所述电源good信号以及所述复位信号,存储各所述电源good信号的下降沿变化数据,以及复位信号数据。

基于上述实施例,所述异常掉电判断模块200可以包括:

第一判断单元,用于判断所述下降沿变化数据是否存在0位;

第二判断单元,用于若所述下降沿变化数据存在0位,则判断所述复位信号数据是否为0;

第三判断单元,用于若所述复位信号数据为0,则判断所述系统的电压和温度是否正常;若正常,则所述系统是否为异常掉电。

基于上述实施例,所述上电开机模块300具体为设置开机信号位为强制开机信号,并持续预定时间后设置开机信号位为不强制开机信号的模块。

本发明实施例还提供一种设备,包括:

可编程逻辑器件,用于检测系统的电源掉电时序以及复位信号;

管理控制器,用于根据所述电源掉电时序以及所述复位信号,判断所述系统是否为异常掉电;若为异常掉电,则执行上电开机程序。

基于上述实施例,该可编程逻辑器件可以为cpld。

基于上述实施例,该管理控制器可以为bmc。

基于上述任意实施例,可编程逻辑器件与管理控制器可以通过12c总线连连接。

该设备还可以包括温度传感器和电压传感器来检测设备的温度和电压从而判定设备的监控状况。该设备可以是存储设备。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种系统异常掉电后自动上电开机的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1