智能电源箝制系统与方法以及非暂态计算机可读式存储器与流程

文档序号:12034096阅读:359来源:国知局
智能电源箝制系统与方法以及非暂态计算机可读式存储器与流程

本发明涉及电源箝制的技术,特别涉及当一电源不足以供应系统电源之所需时,平滑地减少系统电源的技术。



背景技术:

由于电源供应有时会故障,冗余(redundant)或备用电源经常用来以提供一致的(consistent)电源。然而,传统的电源供应冗余会导致系统延迟(例如:让使用者产生系统当机的错觉(illusion))以及会损害可操作的电源供应。举例而言,依靠备份电源供应的系统经历(experience)一电源供应失败(failure)时,在备份电源能提供必要的电源之前,备份电源需要一段时间(例如:几秒至几分钟)。在必要的备份完全上线之前的这段期间,已在线上的电源供应可以被征收至超出它们的负载量以导致损害到电源供应单元。除此之外,剩余的电源供应没有能力产生所要求电源的总数,使得使用者以减少功能或延迟。



技术实现要素:

下列段落提供本发明一或多个实施例中的简单摘要以提供本发明技术的基本理解。此摘要并非本发明技术的所有考虑的实施例的延伸概观,且不是用以分辨所有例子的关键或重要元件也不是描述本发明中任何或所有方面的范围。其目的是以一简单形式呈现一或多个实施例中的一些概念以做为本发明后述详细说明部分的前言。

本发明提供一种用于冗余电源供应的智能电源箝制系统,包括:一第一电源供应单元;一第二电源供应单元;至少处理器,用以执行多个操作,上述操作包括:监控一系统电源消耗,其中上述系统电源消耗指出通过上述第一电源供应单元以及上述第二电源供应单元所传送的一总电源;在上述系统电源消耗超过一系统电源消耗负载量时,产生一判断结果;当上述判断结果发生时,对上述至少一处理器进行电源的一电源箝制,减少上述至少一处理器的一处理器电源消耗以产生一已减少的系统电源消耗;以及辨识出上述已减少的系统电源消耗超过上述系统电源消耗负载量;以及一基板管理控制器,用以在辨识出上述已减少的系统电源消耗超过上述系统电源消耗负载量后,在上述第一电源供应单元以及上述第二电源供应单元中的至少一个上进行一硬件节流。

附图说明

图1为实施例的一系统;

图2为实施例的一系统架构;

图3为智能电源箝制方法一流程图;

图4为智能电源箝制系统的另一流程图;以及

图5为实施例的流程图。

【符号说明】

100~系统;

105~总线;

110、202~处理器;

112~快取存储器;

115~存储器装置;

120~只读存储器;

125~随机存取存储器;

130~存储装置;

132、134、136~模块;

135~输出装置;

140~通信接口;

145~输入装置;

200~系统架构;

204~基板管理控制器;

206~复合可编程逻辑装置;

208、210~电源供应单元;

214~系统管理总线;

216~信号线;

300、400~智能电源箝制方法;

302、304、306、308、310、312、314、316、502、504、506、508、510~步骤;

402、404、406、408、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、442、444、446、448、450、452、454、456、458~阶段。

具体实施方式

本发明的实施例公开一种电源供应单元的电源箝制改善的系统、方法以及计算机可读式多媒体,用以减少电源供应单元的损害以及系统延迟的比例。本发明的各种实施例将在以下详细地描述。而具体实现方式描述的,但是应当理解,这仅是出于说明目的而进行的。其它元件和配置可在不脱离本发明的精神和范围的分开使用。图1中一个可用以实现本概念的基本的通用目的系统或计算装置的简短介绍性描述在本发明中公开。智能电源箝制的更详细的说明将伴随着示范性实施例随后展开。本发明现在回至图1。

如图1所示,系统100包括一通用目的计算装置,通用目的计算装置包括一处理单元(中央处理单元或处理器)110和总线105。总线105用以耦接多个系统元件(包括存储器装置115、只读存储器120及随机存取存储器125)至处理器110。系统100可包括一高速存储器中的快取存储器112,而此高速存储器112可直接连接在处理器110、邻近于处理器110或成为处理器110的一部分。为了藉由处理器110快速地存取,系统100可从存储器装置115和/或存储装置130复制数据至快取存储器112。如此一来,快取存储器112可提供一系统加速避免处理器110在等候数据时所造成的延迟。这些或其他模块可控制或设置去控制处理器110进行多种动作。其他的存储器装置115也可做此用途。存储器装置115可包括具有不同效能特性的多种不同的类型的存储器。可以理解的是,本发明可以操作于具有一或多个处理器110或是以网络连接的一群或一丛集的计算装置的系统100上,以提供更佳的处理能力。处理器110可包括任何通用处理器和一硬件模块或软件模块,例如存储在存储装置130中的模块132、模块134、及模块136,模块132、134与136用以控制处理器110及软件指令被合并至真实处理器设计的具有特殊目的的处理器。处理器110实质上可为一个完全独立式计算系统,含有多内核或处理器、一总线、存储器控制器、快取存储器,诸如此类的元件。多内核处理器可为对称式的或非对称式的。

总线105可为多种总线架构中的任意一个,其中总线架构包括使用各种总线结构的一存储器总线或存储器控制器、一周边装置总线、以及一本地总线。存储在只读存储器120的一基本输入输出系统或是诸如此类的基本输入输出系统可提供有助于转换系统100内的装置的信息的一基本子程序(routine)(例如:在开机期间的子程序)。系统100还包括一存储装置130(例如:硬盘驱动器(harddiskdrive)、磁盘驱动器(magneticdiskdrive)、光盘驱动器(opticaldiskdrive)或磁带驱动器(tapedrive))。存储装置130可包括模块132、134与136,用以控制处理器110。其他硬件或软件模型亦是可考虑的。存储装置130可通过一驱动接口连结至总线105。驱动器及相关的计算机可读取介质对系统100提供计算机可读式指令、数据结构、程序模块及其他数据的非易失性存储器。在某一方面,用以执行一特别功能的硬件模块可包括存储在一计算机可读取介质(medium)中的软件元件并与所需的硬件元件做连结,例如处理器110、总线105、输出装置(例如:屏幕)135,诸如此类的元件,以完成此功能。在另一方面,系统可利用处理器及计算机可读取介质以存储多个指令。当上述指令被处理器执行时,导致处理器执行一方法或其他多个特定动作。基本元件及适当的变化也可以根据装置的类型而考虑。例如:系统100是否为一小的、手持的计算装置、一桌上型计算机,或一计算机服务器。

虽然此处所描述的示例性实施例采用存储装置130,但是可存储数据的其它类型的计算机可读式多媒体(例如:磁卡带、闪存存储器卡、数字多功能盘、磁带、随机存取存储器125以及只读存储器120)也可在范例操作环境下使用,上述可存储数据的其它类型的计算机可读式多媒体可被一计算机所存取。有形计算机可读式存储多媒体、计算机可读式存储装置或计算机可读式存储器装置明确地排除像是暂波(transitorywave)、能量、载波信号,电磁波和信号本身的介质。

为了让使用者与系统100有互动,输入装置145可代表任意数目的输入机制,例如用于演讲的麦克风、用于手势或图形输入的触控感应屏幕、键盘、鼠标、动作输入、演讲,诸如此类的机制。输出装置135也可为在多种已知输出机制中的一或多个。在某些实施例中,多模型系统可让使用者提供多种类型的输入以便与系统100进行沟通。一般而言,通信接口140用以治理与管理使用者的输入与系统的输出。操作在任何硬件安排上没有任何限制,因此此处的基本架构为了改善硬件或固件的安排可作简易地取代。

为了解释清楚,说明性系统实施例被呈现为包括独立的功能区块,包括标记为“处理器”或处理器110。这些功能区块代表可以通过使用共享或指定的硬件,包括来提供的功能块,包括但不仅限于能执行软件和硬件的硬件(例如:一处理器110),即专门用于作为在一通用目的处理器上执行的等效软件。举例而言,呈现在图1中一或多个处理器的功能可以由一个共享处理器或多个处理器提供。说明性实施例可以包括微处理器和/或数字信号处理器硬件,用以存储进行下列所描述操作的软件的随读存储器120以及用以存储结果的随机存取存储器125。超大型集成电路硬件元件、定制超大型集成电路与一通用目的数字信号处理器电路的结合也可被提供。

各种实施例的逻辑操作被实现为:(1)在一通用计算机内的一可编程电路的计算机实现步骤、操作或程序的一个串行,(2)执行在一特殊使用可编程电路上的计算机实现步骤、操作或程序的一个串行;和/或(3)在可编程电路内的相互连接的机器模块或程序引擎。在图1中所示的系统100可以列举的方法的全部或部分,列举的系统的部分,和/或可根据列举的有形计算机可读式存储多媒体中的指令实现。这样的逻辑操作可根据模块的编程实现为用以控制处理器110的模块以执行特殊功能。举例而言,图1描绘出用以控制处理器110的三个模块(模块132、134以及136)。这些模块可存储在存储装置130以及在运行时载入至随机存取存储器125或存储器115中,或者可以存储至其他计算机可读式存储器位置。

在公开完一范例系统的元件后,本发明回至图2,图2为一系统架构200。在此范例中,一系统使用多个电源供应单元:电源供应单元208及210。电源供应单元208及210中的每一个分别通过各自的信号线216与一复合可编程逻辑装置(complexprogrammablelogicdevice,cpld)206进行有关各自的电源供应单元的健康度/状态信息的通信。复合可编程逻辑装置206与一基板管理控制器204进行电源供应单元的状态的通信,基板管理控制器204亦使用一系统管理总线214分别与电源供应单元208及210进行通信。当在其他配置下的基板管理控制器204用以与电源供应单元208、210互动时,电源供应单元的监控可直接通过处理器202或是一分开的(separate)(例如:不物理共址)管理控制器进行。举例而言,若管理控制器的角色由处理器202扮演,管理控制器可为具有逻辑处理单元及对应于其输入输出的一组逻辑功能。同样地,在其他实施例中,复合可编程逻辑装置206的角色可通过一管理控制器、一处理器202或其他处理装置实现。举例而言,复合可编程逻辑装置206接收来自多个电源单元的更新,上述更新指出各个电源供应单元的健康度(例如:继续进行指定功能的能力)。电源供应单元的健康度信号包括:指出电源供应单元的直流电是可用的的一信号(dc_ok)、指出电源供应单元的交流电是可用的的一信号(ac_ok)、指出电源供应单元正在传送一警示声的信号(alert#),诸如此类的信号。举例而言,基板管理控制器204可通过系统管理总线214增加或减少由电源供应单元208、210所各自输出的电源数量。基板管理控制器204也可利用一系统处理器(处理器)202进行通信。举例而言,基板管理控制器204通过传送一“电源减少”信号212以导致系统处理器(处理器)202使用较小的电源。

图3为智能电源箝制方法300的一流程图。举例而言,描绘在图3中智能电源箝制方法300的一流程图通过图2的基板管理控制器204进行。为了清楚起见,智能电源箝制方法300以图1中所示的系统100实现。本发明所列出的多个步骤是示例性的并且可以以任何组合实现,包括排除、增加或修改某些步骤的组合。

系统100检查系统电源消耗(步骤302)且将系统电源消耗与一系统门限值比较(步骤304)。若系统电源消耗低于系统门限值,系统100重复检查电源电平(powerlevel)的步骤302、304。若系统电源消耗超过系统门限值,系统100开始用以减少整体系统能源消耗至低于系统能源消耗的程序。

首先,在步骤306中,系统100判断处理器电源(直接连接至一处理器、基板管理控制器和/或其他系统处理器的电源)是否超过一最小的处理器电源电平。若处理器电源超过一最小的处理器电源电平,则进入步骤308。在步骤308中,系统100通过一软件解(softwaresolution)减少处理器电源电平以减少整体的系统电源消耗。这个通过减少导引至处理器的电源来降低系统电源的步骤可在被导引至处理器的电源依然高于一门限值时迭代地重复进行。若处理器电源小于或等于一最小的处理器电源等级,则进入步骤310。在步骤310中,进行一个电源的物理/硬件节流(physical/hardwarethrottlingofpower)。举例而言,利用开关关闭系统100内的元件或者物理地减少系统100的电源消耗。步骤310中的电源的硬件节流可为一单一范例或可包括迭代地进行电源的硬件节流的动作以及发生在迭代间的系统电源消耗的检查动作。在电源的物理/硬件节流(步骤310)后,则进入步骤312。在步骤312中,系统100进行另一检查以判断系统电源消耗是否大于系统门限值。若系统电源消耗大于系统门限值,则进入步骤316。在步骤316中,系统100可致使一系统关机。反之,若系统电源消耗不再大于系统门限值,则进入步骤314。在步骤314中,系统100启动修正程序。修正程序可包括开启光/传送错误讯息、输出声音/警示声指示错误、传送电子邮件、和/或在回复电源至处理器和/或硬件元件前等待一段时间。

图4为智能电源箝制方法的另一流程图400。图3为智能电源箝制方法300的的简单流程图,而图4是更复杂的流程图,以展示出本发明所公开的另一种可能的系统实施例,图4仍然可应用图3所示的原则。如图3所示,为了清楚起见,智能电源箝制方法400以图1中所示的系统100实现。本发明所列出的多个步骤是示例性的并且可以任何组合实现,包括排除、增加或修改某些步骤的组合。在图4内,有流程中的三个一般区域需要考虑:(1)在左侧部分,从功率等于或低于正常(<psux1w)(阶段406)、功率(或系统电源)略高于正常(<psux1.2w)(阶段410)、以软件节流(阶段416)、至以硬件节流(阶段424);(2)在中间部分,功率等于或低于正常(<psux1w)(阶段406)、略高于正常(<psux1.2w)(阶段410)至软件节流(阶段434);以及(3)在右侧部分,软件节流没有充分地使电源下降从而导致系统电源超过35%的负载量(阶段444)以及硬件节流(阶段452)。伴随着对图4广泛的理解,回至图4。

系统100可开始处于一待机的(standby)状况。在接收多个指令开始或初始化时(阶段402),系统开机(阶段404)。在系统开机(阶段404)后,系统100开始操作且一处理装置(例如:基板管理控制器)监控电源消耗且继续进行下列步骤作出决定。就此实施例而言,假设一电源供应单元可支持一预定数量的功率,指定为psux1w(例如:2200w)。当系统电源小于psux1w(阶段406)时,系统100不会进行动作。当(因为电源上升或下降)使得系统电源介于psux1w与psux1.2w(例如:<2640w)(阶段140)时,系统100不会进行动作直到一电源供应单元故障。

然而,一电源供应单元的故障可触发流程图的左半部分,即处理器的软件节流(阶段416)及可能触发硬件节流(阶段424)。当一电源供应单元故障(例如:电源供应单元故障或是插头掉了)且电源超过psux1w时(阶段414),基板管理控制器通知处理器(通过如图3所示的减少处理器电源的方式)开始电源箝制(阶段416)。首先,基板管理控制器指出处理器应设定处理器电源至90%,且基板管理控制器会检查处理器电源在90%时的系统电源消耗。若电源消耗依然大于pswx1w(阶段418)(例如:系统电源大于系统最近可提供给剩余电源供应单元的电源),基板管理控制器迭代地通知处理器降低额外的百分比(阶段416)。一旦系统电源消耗小于psux1w或其他电源供应单元被插入,基板管理控制器释放电源箝制使得处理器可回至正常操作。然而,若处理器达到电源的一最小数量(例如:50%)且系统电源消耗仍大于pswx1w(阶段422),系统100可开启一硬件节流(阶段424)。若硬件节流(阶段424)将电源减少到低于pswx1w的门限值(阶段426),系统100可继续操作在一节流/箝制状态直到可以修复/校正。若硬件节流(阶段424)没有减少至小于pswx1w(阶段428),系统100开启一关机程序(即系统100进行关机)(阶段430)。

接着,考虑到流程图的第二(中间)部分,其中电源消耗在pswx1.2w左右徘徊(阶段410)。当系统电源消耗介于pswx1.2w与pswx1.35w(例如:2970w)之间(阶段432、阶段434、阶段442)时,尽管有一个以上的操作电源供应,基板管理控制器开始电源箝制。特别的是,若电源消耗超过pswx1.2w(阶段432)时,可启动硬件节流和/或处理器箝制。反之,若系统消耗低于pswx1.2x.95w(例如:2508w)时,则不启动硬件节流和/或处理器箝制。在此阶段(阶段434),硬件或软件箝制可以一迭代的(iterative)方式发生,在每个子程序(subsequence)减少前,系统100确认电源消耗(阶段438)。若一电源供应单元故障发生在一电源箝制周期内(阶段440)(当处理器电源已经被减少)时,系统100进行硬件节流以迫使电源消耗小于pswx1w。

最后,考虑到流程图的右半部分,当系统电源消耗大于pswx1.35w时(阶段450),系统可立即启动一硬件节流(阶段452),并且当电源增加或无法减少至小于pswx1.35w时(阶段454)时,进行系统关机(阶段456)。若系统消耗电源下降时,减少的电源需求(阶段446)或硬件节流(阶段458),系统100都可回至正常操作(阶段406)。本系统的优点包括减少损害至电源供应单元以及减少一系统延迟(当需要额外电源的时间)。

本发明已公开一些基本系统元件及概念,本发明现在回至如图5所示的实施例的流程图。为了清楚起见,本实施例的流程图以图1中所示的系统100实现。本发明所列出的多个步骤是示例性的并且可以以任何组合实现,包括排除、增加或修改某些步骤的组合。

系统100在一管理控制器上测量一系统电源消耗,其中上述系统电源消耗指出通过一第一电源供应单元以及一第二电源供应单元所传送(delivered)的一总电源(步骤502)。系统100判断上述系统电源消耗是否超过一系统电源消耗负载量以产生一判断结果(步骤504)。当上述判断结果发生时,系统100对上述至少一处理器进行电源的一电源箝制,使得上述至少一处理器的一处理器电源消耗减少以产生一减少的系统电源消耗(步骤506)。系统100辨识出上述减少的系统电源消耗超过上述系统电源消耗负载量(步骤508)。系统100启动上述第一电源供应单元以及上述第二电源供应单元中的至少一个的一硬件节流(throttling)(步骤510)。举例而言,如图5所示的上述实施例方法可有助于当第一电源供应单元是可操作的且第二电源供应单元发生故障时的管理电源。

判断上述系统电源消耗是否超过上述系统电源消耗负载量的步骤包括将上述系统电源消耗与一预定的门限值作比较。上述电源箝制信号的通信可导致上述处理器(或多个处理器)的一处理器电源消耗中的迭代减少。每次迭代可具有一既定时间周期(例如:5毫秒)以判断是否一电源消耗已被充分下降。如果电源消耗在整个指定期间内仍然太高,则系统100可以进一步通过箝制(软件)或节流(硬件)减少电源。每次迭代可使得处理器的电源消耗减少(多个)处理器的最大的处理器功耗的一预定百分比,并且这些迭代步骤会在处理器的电源消耗达到一最小的处理器电源消耗门限值时结束。举例而言,如果处理器电源门限值为50%,并且处理器电源达到负载量的50%,系统100可以启动硬件节流。当软件节流与硬件节流皆无法将系统电源消耗置于一可接受状态中,系统100可以关闭。这意味着当最小的处理器电源门限值被达成时,系统100可以关闭管理控制器、处理器(包括处理器和/或基板管理控制器)、第一电源供应单元和/或第二电源供应单元和/或当电源超过一最小的门限值时,系统100可以关闭硬件节流。

本发明范围内容内的实施例也可以包括用以携带或具有存储在其上的计算机可执行指令或数据结构的有形的和/或非暂态计算机可读式存储多媒体。这种有形的计算机可读存储多媒体可以是包括由一通用目的或特殊目(包括任何如上所述的任意特殊目的处理器的功能设计)的计算机所存取的任何可用介质的任何可用多媒体。本发明以举例的方式,而非以此为限限制。这样的有形计算机可读式多媒体介质可以包括随机存取存储器(ram),只读存储器(rom),电子可抹除只读存储器(eeprom),光盘只读存储器(cd-rom)或其它光盘存储器,磁盘存储器或其它磁性存储装置,或可以携带或存储期望的(desired)程序代码装置(means)的计算机可执行指令,数据结构或处理器芯片形式的介质。当讯息通过网络或另一通信连接(例如:通过固线式连接、无线连接,或其组合)传送或提供至计算机时,计算机适当地将该连接视为计算机可读式介质。因此,任何这样的连接被适当地称为计算机可读式介质。上述的组合也应包括在计算机可读式多媒体的范围之内。

举例而言,计算机可执行指令包括导致一通用目的计算机、特殊目的计算机或特殊目的处理装置进行一特定功能或一组功能的指令和数据。计算机可执行指令还包括由在单机或网络环境中计算机所执行的程序模块。一般而言,程序模块包括用以执行特定工作或实现特定抽象数据类型的的子程序(routine),程序,元件,数据结构,物件及以特殊目的处理器设计的固有功能,诸如此类的模块。计算机可执行指令、相关数据结构以及程序模块代表用以执行此处本方法所公开实施例的程序代码。这样的可执行指令或相关数据结构的特定序列代表用以实现在这种步骤中所描述功能的对应动作。

本发明的其他实施例可以在具有许多类型的计算机系统配置(例如:包括个人计算机、手持设备、多处理器系统、基于微处理器的或可编程的消费性电子产品、只提供网络连线的个人计算机、小型计算机、大型计算机,诸如此类的计算机系统配置)的网络计算环境中实现。本发明的其他实施例也可以在分散式计算环境中实现,其中由本地及远端处理装置执行的工作通过一通信网络连接(例如:通过固线式连接、无线连接,或其组合)。在一分散式计算环境中,程序模块可以位于本地及远端存储器存储装置中。

以上所描述的各种实施例仅通过举例说明的方式提供,并且不应当被解释为限制本发明的范围。举例而言,此处所述的原理可以应用于运行多个/冗余电源供应的服务器,或者可以应用于运行多个电源的任何装置。在不脱离本发明的精神和范围下,可以对本发明中所述的应用以及实施例做出各种修改和改变。

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