一种服务器节电控制方法、装置及电子设备节电控制装置的制造方法_3

文档序号:9786932阅读:来源:国知局
内存条,以及需保留哪些内存条。
[0097]—般情况下,为了避免数据访问冲突,保持最优的内存性能,可使保留的各内存条尽可能均衡地分布在不同的内存通道中,参考图2(a)-图2(c),图2(a)-图2(c)示出了不同内存使用率情况下,内存条关闭及保留的结果示例图。
[0098]反之,如果服务器当前的内存使用率较高,比如因服务器当前的访问量较高而导致内存使用率高等,不符合所述节电条件,则需继续维持服务器内存正常运行,以确保服务器的正常数据处理。
[0099]数据转移模块502,用于进行预设的数据转移操作,实现将所述第一内存组件所存储的当前数据转移至所述第二内存组件。
[0100]在服务器内存符合所述节电条件,并确定出需关闭的内存条以及需保留的内存条之后,为防止内存数据丢失,需将待关闭内存条中的当前数据转移至待保留的内存条中进行备份,以确保后续在关闭服务器的部分内存条,将服务器从正常模式切换为节电模式时,能够还原所关闭内存条的现场数据。
[0101]断电控制模块503,用于控制所述第一内存组件断电。
[0102]在进行内存数据转移,实现在待保留内存条上对待关闭内存条的当前数据进行备份的基础上,可对待关闭的各内存条进行断电控制,切断所述待关闭内存条的电源,使其离线,从而可实现服务器节电,之后,服务器进入节电模式。
[0103]由以上方案可知,本申请公开的服务器节电控制装置,在服务器内存符合预设的节电条件时,确定服务器需关闭的第一内存组件及需保留的第二内存组件,并进行预设的数据转移操作,将所述第一内存组件存储的当前数据转移至所述第二内存组件,之后控制所述第一内存组件断电。可见,本申请通过在内存数据转移的基础上关闭一部分非必要运行的内存条,实现了服务器节电,应用本申请方法,可有效克服现有技术因未完全关闭闲置的内存条而导致的节电效率低,或因直接关闭服务器集群中的一部分服务器而导致的开关机耗时大、开机故障风险大等问题。
[0104]实施例五
[0105]参考图6,图6为本申请提供的一种电子设备节电控制装置实施例五的结构示意图,所述装置可以包括:
[0106]内存组件601;
[0107]电源系统602,用于为电子设备各模块提供电源;
[0108]处理器603,用于在电子设备内存符合预设的节电条件时,确定在所述内存组件中需关闭的第一内存组件及需保留的第二内存组件;并用于在进行预设的数据转移操作,实现将所述第一内存组件存储的当前数据转移至所述第二内存组件后,发出第一内存组件关闭指令;
[0109]数据选择器MUX604,与所述内存组件601和所述电源系统602相连,用于在接收到所述第一内存组件关闭指令时,对所述第一内存组件进行断电。
[0110]其中,所述内存组件601具体为相应个数的多个内存条,所述第一内存组件、第二内存组件可以为一个或多个内存条。
[0111]本实施例预先设定所述节电条件为:当前时间到达预设的低峰时段且电子设备当前的内存使用率低于预设阈值。
[0112]基于此,在当前时间到达预设的低峰时段时,所述处理器603结合电子设备当前的内存使用情况来确定是否需对电子设备进行节电控制,如果电子设备当前的内存使用率较低,低于预设阈值,即电子设备内存符合所述节电条件,则需对电子设备进行节电控制,此种情况下,可继续依据电子设备在当前时段的内存使用情况,来确定具体需关闭哪些内存条,以及需保留哪些内存条。
[0113]—般情况下,为了避免数据访问冲突,保持最优的内存性能,可使保留的各内存条尽可能均衡地分布在不同的内存通道中,参考图2(a)-图2(c),图2(a)-图2(c)示出了不同内存使用率情况下,内存条关闭及保留的结果示例图。
[0114]反之,如果电子设备当前的内存使用率较高,比如因电子设备当前的访问量较高而导致内存使用率高等,不符合所述节电条件,则需继续维持电子设备内存正常运行,以确保电子设备的正常数据处理。
[0115]在电子设备内存符合所述节电条件,并确定出需关闭的内存条以及需保留的内存条之后,为防止内存数据丢失,所述处理器603需将待关闭内存条中的当前数据转移至待保留的内存条中进行备份,以确保后续在关闭电子设备的部分内存条,将电子设备从正常模式切换为节电模式时,能够还原所关闭内存条中的现场数据。
[0116]在进行内存数据转移,实现在待保留内存条上对待关闭内存条的当前数据进行备份的基础上,处理器603发出第一内存组件关闭指令,所述第一内存组件关闭指令用于对待关闭的各内存条进行断电控制,之后,所述数据选择器MUX 604接收所述第一内存组件关闭指令,并响应该指令,切断所述待关闭内存条的电源,使其离线,在此基础上,电子设备进入节电模式,从而实现了对电子设备进行节电。
[0117]由以上方案可知,本申请公开的电子设备节电控制装置,在电子设备内存符合预设的节电条件时,确定电子设备需关闭的第一内存组件及需保留的第二内存组件,并进行预设的数据转移操作,将所述第一内存组件存储的当前数据转移至所述第二内存组件,之后控制所述第一内存组件断电。可见,本申请通过在内存数据转移的基础上关闭一部分非必要运行的内存条,实现了电子设备节电,应用本申请方法,可有效克服现有技术因未完全关闭闲置的内存条而导致的节电效率低,或因直接关闭电子设备而导致的开关机耗时大、开机故障风险大等问题。
[0118]实施例六
[0119]本实施例六中,所述处理器603具体用于进行以下的数据转移操作:发送电子设备停止工作指令;在所述第二内存组件中,为所述第一内存组件所存储的当前数据分配相应的可用区域;将所述第一内存组件的所述当前数据复制至所述第二内存组件的所述可用区域中,并进行预设的第一内存管理;发送电子设备恢复工作指令。
[0120]本实施例具体提供处理器603转移内存条数据的实现过程。
[0121]其中,处理器603首先可通过停止电子设备的用户进程,停止1/0( Input/Output,输入/输出)操作,关闭中断等,来控制电子设备停止工作。
[0122]之后顺序扫描电子设备的物理内存占用表及页表,获知待关闭内存条上分布的数据,其中,对于待关闭内存条上分布的DMA(Direct1nal Memory Access,直接内存访问)数据,则需依据预设的内存映射算法,优先在待保留内存条的可用区域中为此类数据分配连续的物理内存区域,反之,对于待关闭内存条上分布的非DMA数据,则可依据待保留内存条的实际可用内存情况,为此类数据分配连续或非连续的物理内存区域。
[0123]一般来说,在进行数据移动时,一个较好的内存映射算法不会导致数据冲突,即不会为待关闭内存中的不同数据映射一个相同的内存区域,从而可直接复制数据至所述内存映射算法指示的新地址,实现数据的直接移动入位。而对于偶然出现的映射地址非空闲的情况,即出现数据冲突的情况(内存映射算法针对不同输入给出了相同的输出),则可采用连续扫描方式,以当前映射地址为起始点对内存空间进行连续扫描(以内存条上的物理页面为扫描单位),直至获取一个可用区域,来备份当前的待转移数据。
[0124]在完成数据转移,实现将待关闭内存条上的所有数据成功转移至待保留内存条的可用区域后,处理器603需针对此次的数据转移情况,对电子设备内存进行相应的内存管理控制,具体地,所述内存管理包括基于数据转移前、后所述待关闭内存条及待保留内存条的内存占用变化,重建或更新内存管理的数据结构,如重建或更新物理内存占用表、页表、段表及中断描述符表等等,以确保内存管理数据结构能够准确反映数据转移后电子设备内存的实际占用情况。
[0125]之后处理器603控制电子设备恢复工作,如恢复中断,恢复I/O操作,恢复用户进程等,此时,电子设备可基于所保留内存条中的新添数据,以及内存管理数据结构准确记录的内存占用情况,维持内存条关闭之前的内存现场数据。
[0126]实施例七
[0127]本实施例中,所述处理器603还用于在电子设备内存符合预设的唤醒条件时,发出第一内存组件加电指令;以及用于在所述第一内存组件加电运行后,检测所述第一内存组件的可用性及健康程度,并在检测通过后,进行预设的第二内存管理;其中,所述进行预设的第二内存管理包括:基于对所述第一内存组件的加电唤醒情况,更新物理内存占用表、页表、段表及中断描述符表;
[0128]所述MUX604还用于在接收到所述第一内存组件加电指令时,对所述第一内存组件进行加电。
[0129]其中,所述唤醒条件可以是当前时间到达预期的峰值时段(即预先设置的电子设备内存使用高峰时段),或非预期的峰值时段(实时检测的电子设备内存使用高峰时段)等。
[0130]当电子设备内存符合所述唤醒条件时,处理器603发出第一内存组件加电指令,以实现对离线的内存条进行加电控制,所述MUX 604接收到该指令后,对离线的内存条加电,使其重新恢复运行。接下来,处理器603检
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1