一种正常关机时触发NVDIMM-N备份的方法及系统与流程

文档序号:17130416发布日期:2019-03-16 01:07阅读:414来源:国知局
一种正常关机时触发NVDIMM-N备份的方法及系统与流程

本发明涉及数据备份技术领域,特别是涉及一种正常关机时触发nvdimm-n备份的方法及系统。



背景技术:

intelx86平台中,在使用nvdimm-n(内存条)时,支持nvdimm-n触发备份。nvdimm-n包括dram(dynamicrandomaccessmemory,动态随机存取存储器)、nandflash(非易失性闪存)及超级电容,能够在完全断电的时候依然保存完整内存数据。

具体地,在服务器系统突然掉电或者强制关机时,服务器系统会将nvdimm-n中的dram数据保存至nandflash中,该过程由超级电容供电,保障在没有服务器系统供电的情况下依然能够保存数据,待服务器系统重新上电时,数据从nandflash中恢复至dram中,服务器系统的对应操作亦可根据这些数据做恢复,加速数据运行,保障数据运行可靠性及高效性。但当前nvdimm-n触发条件受关机条件的限制,只能在服务器系统突然掉电及强制关机情况下触发备份,在服务器系统正常关机时则不进行数据备份。

考虑到在服务器正常关机时nvdimm-n不进行备份,当服务器系统从os(operatingsystem,操作系统)中正常退出再重新进入os(正常关机再开机)时,nvdimm-n中的数据可能丢失,即使nvdimm-n中的数据未丢失,os也会认为nvdimm-n中的数据不可信,这时os下的app在运行时不会运用之前nvdimm-n中的数据,会重新从硬盘中加载数据运行,从而导致数据恢复及开机速度慢,降低系统可靠性。



技术实现要素:

本发明的目的是提供一种正常关机时触发nvdimm-n备份的方法、装置及系统,通过该种方式使得服务器系统正常关机时也进行数据备份,保证了数据的完整性,当正常关机后再开机时,os会信任nvdimm-n中的备份数据,会直接从nvdimm-n中读取数据,提高了数据恢复速度及开机速度,提高了系统可靠性。

为解决上述技术问题,本发明提供了一种正常关机时触发nvdimm-n备份的方法,包括:

获取服务器系统在关机时的运行状态参数;

根据所述运行状态参数判断所述服务器系统是否是正常关机;

如果是,则直接输出save#信号至所述nvdimm-n的save_n引脚,以触发所述nvdimm-n进行数据备份。

优选地,所述运行状态参数包括全局复位信号、系统电源信号及休眠信号;

所述根据所述运行状态参数判断所述服务器系统是否是正常关机,包括:

在接收到所述全局复位信号时,判断所述系统电源信号和所述休眠信号是否均为高电平;

如果所述系统电源信号和所述休眠信号均为高电平,则经过第一预设时间后判断所述休眠信号是否仍然为高电平;

如果经过第一预设时间后判断所述休眠信号仍然为高电平,则在第二预设时间内判断所述休眠信号是否为低电平;

如果经过第二预设时间后判断所述休眠信号为低电平,则判定所述服务器系统为正常关机。

优选地,所述第一预设时间为5ms,所述第二预设时间为20ms。

优选地,所述输出save#信号至所述nvdimm-n的save_n引脚,包括:

输出第三预设时间的save#信号至所述nvdimm-n的save_n引脚,以使所述nvdimm-n数据备份完成后便停止备份。

为解决上述技术问题,本发明还提供了一种正常关机时触发nvdimm-n备份的系统,包括:

获取单元,用于获取服务器系统在关机时的运行状态参数;

判断单元,用于根据所述运行状态参数判断所述服务器系统是否是正常关机,如果是,则触发所述nvdimm-n进行数据备份。

为解决上述技术问题,本发明还提供了一种正常关机时触发nvdimm-n备份的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述正常关机时触发nvdimm-n备份的方法的步骤。

优选地,所述装置为cpld。

本发明提供了一种正常关机时触发nvdimm-n备份的方法,包括获取服务器系统在关机时的运行状态参数;根据运行状态参数判断服务器系统是否是正常关机;如果是,则直接输出save#信号至nvdimm-n的save_n引脚,以触发nvdimm-n进行数据备份。

可见,本申请考虑到服务器系统在正常关机、突然掉电及强制关机时的运行状态参数是不同的,通过获取服务器系统在关机时的运行状态参数来确定该次关机是否为正常关机,如果是则直接输出save#信号至nvdimm-n的save_n引脚,以触发nvdimm-n进行数据备份。通过该种方式使得服务器系统正常关机时也进行数据备份,保证了数据的完整性,当正常关机后再开机时,os会信任nvdimm-n中的备份数据,会直接从nvdimm-n中读取数据,提高了数据恢复速度及开机速度,提高了系统可靠性。

本发明还提供了一种正常关机时触发nvdimm-n备份的装置和系统,具有与上述方法相同的有益效果。

附图说明

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

图1为现有技术中的一种在服务器系统突然掉电或者强制关机时的触发nvdimm-n备份的原理图;

图2为本发明提供的一种正常关机时触发nvdimm-n备份的方法的流程图;

图3为本发明提供的一种正常关机时触发nvdimm-n备份的系统的结构示意图。

具体实施方式

本发明的目的是提供一种正常关机时触发nvdimm-n备份的方法、装置及系统,通过该种方式使得服务器系统正常关机时也进行数据备份,保证了数据的完整性,当正常关机后再开机时,os会信任nvdimm-n中的备份数据,会直接从nvdimm-n中读取数据,提高了数据恢复速度及开机速度,提高了系统可靠性。

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

在对本申请作介绍之前,首先先对现有技术中在遇到服务器系统突然掉电或者强制关机时的触发nvdimm-n备份的流程的作介绍。请参照图1,图1为现有技术中的一种在服务器系统突然掉电或者强制关机时的触发nvdimm-n备份的原理图。

图1以intelpurley平台为例,在服务器系统突然掉电或者被强制关机时,逻辑控制器(platformlogic)的电源(platformsupply)会掉电,逻辑控制器会接收到表征系统异常掉电的信号ps_pwrok,然后逻辑控制器触发adr(asynchronousdimmrefresh,异步内存自刷新)线程,并向pch(南桥)输出adr_trigger#(adr触发信号),pch在收到adr的触发信号后,触发adrtimer计时,同时通过pm_sync传递给cpu信息,告知cpu系统有异常下电情况,cpu中的pcu在侦测到该信息后会控制内存控制器(imc),将writebuffer(写缓存器)中的数据写入nvdimm-n中,然后控制nvdimm-n进入自刷新模式,等待adrtimer计时(adr计时是因为pch无法获知cpu当前进行到哪个工作环节,在此通过预设时间来确定cpu进行到哪个工作环节)完成后,pch向逻辑控制发出adr_complete信号,逻辑控制器在接收到adr—complete信号后输出save#信号至nvdimm-n的save_n引脚(save#信号是触发nvdimm-n备份的唯一方式),nvdimm-n开始备份,备份时,nvdimm由自身的超级电容开始供电,直至备份完成。

请参照图2,图2为本发明提供的一种正常关机时触发nvdimm-n备份的方法的流程图,该方法包括:

s11:获取服务器系统在关机时的运行状态参数;

s12:根据运行状态参数判断服务器系统是否是正常关机,如果是,则进入s13;

s13:触发nvdimm-n进行数据备份。

具体地,对于intelx86平台的设计,服务器系统在收到电源关机键的关机指令、os下的关机指令及os界面下的关机按钮的关机指令时均会导致服务器系统开始正常下电,即s0至s5状态。正常关机时,os下的app会关闭后再开始走下电流程,通过pch发出pltrsr(全局复位信号,pch发出的下电流程的最早信号)开始通知逻辑控制器走关机下电流程。

当逻辑控制器收到正常下电的信号pltrst,此时如通过逻辑控制器触发adr线程,pch已经不会再响应adr触发(因为pch在发出pltrst之前,pch中的一些模块已经关机),即adrtimer不会开始计时,亦不会通过pm_sync传递信息至cpu,故此时无法通过正常adr触发流程触发nvdimm-n备份。

另外需考虑,逻辑控制器只会根据信号做出相应的动作,无法感知是系统上电,软复位,冷复位,强制掉电,或者正常关机等诸多情况,故在触发nvdimm-n备份之前,需判断正常关机的情形,进而通知nvdimm-n触发备份,避免与其他备份情况冲突,导致多次备份,使得nvdimm-n进入自我保护状态。

基于此,本实施例提供的方案中,考虑到服务器系统在正常关机、突然掉电及强制关机时的运行状态参数是不同的,因此,可以通过获取服务器系统在关机时的运行状态参数来确定该次关机是否为正常关机。具体地,在系统关机时,服务器获取运行状态参数,根据该运行状态参数判断服务器系统是否是正常关机,如果是,则由于是正常关机,服务器系统此时仍然对nvdimm-n供电,但os已经停止运行,且nvdimm-n在自刷新模式,此时直接输出save#信号至nvdimm-n的save_n引脚,以触发nvdimm-n进行数据备份,从而导致数据不会丢失,保持了数据完整性。此外,一旦触发nvdimm-n进行数据备份,nvdimm-n会在5us内切换至备份模式,此时由其自身的电池开始供电,与外界环境无关。

可见,本申请会先根据服务器系统关机时的运行状态参数区分出正常关机,以避免正常关机时备份与其他情况下的备份产生冲突,导致多次备份,使得nvdimm-n进入自我保护状态。此外,考虑到正常关机时此时已经无法再通过adr触发的方式触发nvdimm-n备份,本申请中,在判断得到服务器系统为正常关机时会直接输出save#信号至nvdimm-n的save_n引脚,以触发nvdimm-n进行数据备份。

通过该种方式使得服务器系统正常关机时也进行数据备份,保证了数据的完整性,当正常关机后再开机时,os会信任nvdimm-n中的备份数据,会直接从nvdimm-n中读取数据,提高了数据恢复速度及开机速度,提高了系统可靠性。

在上述实施例的基础上:

作为一种优选地实施例,运行状态参数包括全局复位信号、系统电源信号及休眠信号;

根据运行状态参数判断服务器系统是否是正常关机,包括:

在接收到全局复位信号时,判断系统电源信号和休眠信号是否均为高电平;

如果系统电源信号和休眠信号均为高电平,则经过第一预设时间后判断休眠信号是否仍然为高电平;

如果经过第一预设时间后判断休眠信号仍然为高电平,则在第二预设时间内判断休眠信号是否为低电平;

如果经过第二预设时间后判断休眠信号为低电平,则判定服务器系统为正常关机。

具体地,以intelx86为例,根据该平台关机特点,根据pltrst,系统电源信号(sys_powerok)及休眠信号(slp3)的先后顺序可以判定正常关机的状态。

在正常关机时,逻辑控制器会首先获取到最早触发信号:全局复位信号,此时判断系统电源信号和休眠信号是否均是高电平,如果是,则经过第一预设时间后再判断休眠信号是否仍然是高电平,如果是,则在第二预设时间内侦测到休眠信号变为低电平,则判定此时服务器系统为正常关机。

作为一种优选地实施例,第一预设时间为5ms,第二预设时间为20ms。

也即,正常关机时,逻辑控制器能获取的最早触发信号为全局复位信号,若此时系统电源信号为高,且5ms后,休眠信号依旧为高,进入等待休眠信号下降状态,若20ms内侦测到slp3下降,则判定此时为正常关机状态。当然,在满足正确判断的前提下,这里的第一预设时间和第二预设时间还可以为其他数值,本申请在此不作特别的限定。

针对intelx86平台,服务器系统上电,软复位,冷复位,强制掉电,拔除ac电源均不会满足上述判断条件。

通过该种方式可以准确区分出正常关机,以避免正常关机时备份与其他情况下的备份产生冲突,导致多次备份,使得nvdimm-n进入自我保护状态,提高了nvdimm-n备份的可靠性。

此外,针对不同的平台,这里的运行状态参数可能会发生变化,根据实际情况来定。

作为一种优选地实施例,输出save#信号至nvdimm-n的save_n引脚,包括:

输出第三预设时间的save#信号至nvdimm-n的save_n引脚,以使nvdimm-n数据备份完成后便停止备份。

nvdimm-n在被触发备份后,由于是正常关机,逻辑控制器会一直处于活动状态,需控制cpld恢复save#信号状态,本实施例中,通过控制输出save#信号的时间来避免一直控制nvdimm-n处于触发备份状态,导致重复备份或者备份错误。

具体地,本实施例中,输出第三预设时间的save#信号至nvdimm-n的save_n引脚,这里的第三预设时间可以以能够触发nvdimm-n进行一次数据备份为约束条件来设置,本实施例对于其具体数值不作特别的限定,根据实际情况来定。

请参照图3,图3为本发明提供的一种正常关机时触发nvdimm-n备份的系统的结构示意图,该系统包括:

获取单元1,用于获取服务器系统在关机时的运行状态参数;

判断单元2,用于根据运行状态参数判断服务器系统是否是正常关机,如果是,则触发nvdimm-n进行数据备份。

对于本发明提供的正常关机时触发nvdimm-n备份的系统的介绍请参照上述方法实施例,本申请在此不再赘述。

本发明还提供了一种正常关机时触发nvdimm-n备份的装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述正常关机时触发nvdimm-n备份的方法的步骤。

作为一种优选地实施例,装置为cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)。

这里的装置本质上为逻辑控制器,该装置除了可以为cpld,也可以为其他类型的逻辑控制器,本申请在此不作限定。

此外,对于本发明提供的正常关机时触发nvdimm-n备份的装置的介绍请参照上述方法实施例,本申请在此不再赘述。

需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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