处理器设备电压表征的制作方法

文档序号:16806791发布日期:2019-02-10 13:06阅读:190来源:国知局
处理器设备电压表征的制作方法

集成电路(诸如计算系统和相关联的处理器设备中所采用的那些集成电路)通常消耗与电源电压、操作频率、性能水平相关的电功率或根据各种泄漏和寄生元件的特性消耗电功率。计算设备(诸如计算机、膝上型计算机、台式计算机、服务器、智能电话、游戏机等等)中的功耗可具有被分配给主处理器、图形处理器或片上系统(soc)元件的大量功率预算。这些处理器可包括一个以上的域,域将集成电路设备的特定部分之间的功耗隔离,诸如将功耗隔离到每个具有相应的电源电压要求的特定处理或图形核。

概览

本文提出了用于计算系统和各种设备的功率降低和电压调整技术。在一个示例中,一种方法包括通过计算装置的通信接口接收电压表征服务,该电压表征服务由远离计算装置的部署平台传送。该方法包括实施用于所述计算装置的处理设备的所述电压表征服务以确定所述处理设备的至少一个输入电压低于制造商指定的操作电压,所述电压表征服务包括功能测试,所述功能测试在上下文中使用所述计算装置的相关联的系统元件以迭代调整的电压来运用所述处理设备。在实施所述电压表征服务期间,该方法包括监视至少所述处理设备的操作故障,并响应于所述操作故障,使用高于所述迭代调整的电压的当前值的恢复电压来重新启动所述处理设备。

提供本概览以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。可以理解,本概览并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。

附图简述

参考以下附图可更好地理解本公开的许多方面。尽管结合这些附图描述了若干实现,但本公开并不局限于在此所公开的这些实现。相反,意图是要覆盖所有的替代方案、修改和等价物。

图1例示了在一实现中的电压调整环境。

图2示出了在一实现中的操作电压调整环境的方法。

图3包括例示在一实现中的电压和功率降低的图表。

图4例示了在一实现中的电压调整环境。

图5例示了在一实现中的电压调整环境的操作。

图6例示了在一实现中的热电压调整的操作。

图7例示了适用于实现本文公开的任何架构、平台、过程、方法和操作场景的示例计算系统。

图8例示了在一实现中的操作安全电压处理的方法。

详细描述

计算设备(诸如计算机、膝上型计算机、台式计算机、服务器、智能电话、游戏机等等)中的功耗可具有被分配给主处理器或片上系统(soc)元件的大量功率预算。随着计算设备中处理需求的增加,相关联的功耗成比例地上升,导致相关联的计算设备在设备封装、电池寿命、散热、风扇噪声和速度限制方面的困难。当诸如处理器或处理设备之类的集成电路设备被制造时,出于对零件间变化、系统集成余量以及寿命终止(eol)余量等其他余量的考虑而包括大量的电压余量。这些余量允许均匀性且易于制造测试,但具有更高的电压和功耗。在集成电路和相关联的装备中以更高的电压和功耗进行操作可能会导致增加的组件应力和更低的组件长期可靠性。处理设备也可使用微制造工艺来制造,该微制造工艺缩小特征几何形状并产生相关联的设备电容的减小和操作电压要求的减小,这可能会导致功耗的降低。然而,对于这些较小的几何形状而言设备泄漏会变得更成问题。

这些处理设备还可包括一个以上的功率域,功率域将各特定部分之间的功耗隔离,诸如将功耗隔离到每个具有相应的电源电压要求的特定处理核或图形核。可采用诸如通过降低/减慢操作频率或关闭选择性功率域对处理设备进行节流来降低功耗并降低计算设备的相关联的温度。节流或选择性断电的一些示例包括通过禁用时钟或特定逻辑功能来仅限制ac功率,而让dc功耗不受影响。可通过关闭处理设备的各部分或整个处理设备来降低dc功耗。但是,在这些节流操作期间,处理设备的能力和性能通常会被削减。其他功率节省技术涉及提供具有改进的操作效率的系统级电压调节器和电源。

本文描述的各种示例和实现有利地提供处理设备和相关联的计算系统中的较低功耗,而不改变处理设备和相关联的计算系统的性能水平。讨论了用于计算系统和处理设备的电压降低技术以确定经降低的操作电压低于制造商指定的电压。这些经降低的操作电压可能会导致相关联的功耗降低。而且,技术和实现例示了一旦确定经降低的操作电压就采用这些经降低的操作电压的各种方式,诸如在具有安全特征的系统中以限制操作电压的改变或辅助热管理。

本文的电压调整技术在计算组装件的各种系统组件的上下文中运用诸如片上系统(soc)设备之类的处理设备。这些系统组件可包括在处理设备的功能测试期间运用的一个或多个外壳、热管理元件(诸如冷却风扇、热沉或热管)、存储器元件(诸如随机存取存储器或高速缓冲存储器)、数据存储元件(诸如大容量存储设备)、以及功率电子元件(诸如电压调节或电气转换电路系统)等。此外,本文的电压调整技术在操作上运用处理设备的内部组件或部分,诸如处理核元件、图形核元件、北桥元件、输入/输出元件或处理设备的其他集成特征。

在处理设备的制造期间,制造测试可针对制造商指定的操作电压调整各种电压设置以用于处理设备的各种相关联的电压域或电压轨。当被放置到诸如计算机、服务器、游戏系统或其他计算设备之类的计算装置中时,电压调节元件使用这些制造商指定的操作电压来向处理设备提供适当的输入电压。可以采用电压表,其将处理设备的各部分与制造商指定的操作电压以及这些部分的特定时钟频率相关联。因此,在许多处理设备中采用可经由熔断元件被设置的硬编码频率/电压(f/v)表,以指示支持针对不同电压域和操作频率的电路系统所优选的电压。在一些示例中,这些熔断元件包括电压标识符(vid),其指示制造商指定的操作电压的归一化表示。

可采用内置系统测试(bist)电路系统来测试处理设备的各部分,但是此bist电路系统通常仅激活处理设备的一小部分并且仅经通过专用和预定的测试路径。尽管bist电路系统可测试处理设备的制造的正确性/有效性,但是bist电路系统通常无法捕捉仍然满足bist阈值的各设备之间的制造变化。各设备之间的制造变化包括在金属宽度、金属厚度、金属层之间的绝缘材料厚度、接触和通孔电阻方面的变化,或在跨多个晶体管类型的晶体管电特性方面的变化,并且所有变化都会影响功能操作中功耗的实际结果。这些结构不仅随处理设备不同,而且它们在处理设备内基于正常的工艺变化和光刻差异而变化,这导致了所有这些结构中细微的属性差异。结果,经降低的操作电压可以变化,并且实际上在每个处理设备上可以是唯一的。bist通常还会在特定测试条件下产生通过/失败结果。此测试条件在性能(和功率)方面通常与实际系统操作有很大不同,因此它不能准确地表示设备的系统功率和性能能力。由于bist结果和功能结果之间存在大量可变性,因此可发现bist所采用的电压足以进行操作,但可能会采用大量的电压余量。与bist测试相反,本文描述的功能测试采用功能模式,其不仅激活整个处理设备而且还激活可以与该处理设备共享功率域或其他元件的上下文围绕的系统的其他组件。

在本文的示例中,采用功能测试来确定处理设备(诸如片上系统(soc)设备、图形处理单元(gpu)、或中央处理单元(cpu))的经降低的操作电压(vmin)。这些功能测试运行系统级程序,其不仅测试处理设备,而且还测试安装有该处理设备的整个计算系统。可采用目标应用,该目标应用运用计算系统和处理设备以确保处理设备内的特定处理单元被适当地激活。这可包括确保处理设备的所有部分被完全激活、单元的子集被完全激活、或者特定的后台操作集与目标功耗操作一起被激活。

在特定示例中,soc被用于计算系统中。soc可包括具有一个或多个处理核的中央处理单元(cpu)、具有一个或多个图形核的图形处理单元(gpu)、处理各核之间的通信的北桥、集成存储器、和非soc存储器。输入/输出部分也被包括在soc中以允许与通用串行总线(usb)端口、外围组件互连快速(pcie)链路、大容量存储接口、诸如以太网或无线网络之类的网络接口、用户接口设备、游戏、以及通信地耦合到soc的其他设备进行通信。在soc中可采用多个功率域,诸如用于处理核的第一功率域、用于北桥的第二功率域、以及用于图形核的第三功率域等。这些核中的每一个都可并行地进行功能测试,以确保跨包括时钟和电压边界两者的各核边界的流量传播和逻辑激活。

针对cpu部分的功能测试可包括在所有处理核(或者足够多的处理核以表示用户应用可能会经历的“最差”的可能的情况)上同时发起的操作以产生复刻现实世界操作的针对处理核的dc功率需求和ac功率需求两者。诸如内置于处理设备的看门狗定时器或错误检查和报告元素之类的分布式检查可被提供,并在发生故障、崩溃或系统挂起时进行监视或报告警报。类似的方式可被用于gpu,其中功能测试确保gpu和相关联的图形核聚焦于高级别的图形渲染活动以产生最坏情况的功耗(dc和ac)、温度上升、片上噪声,以及聚焦于产生准确的操作vmin的足够数量的实际数据路径。北桥测试可类似地进行,并且还包括在设备外存储器设备与由那些存储器设备所服务的片上部分之间的存储器活动。

使用本文电压调整过程的功率降低可采用电压调调节模块(vrm)或具有可选电压供应值(例如以12.5mv、6.25mv、3.125mv等的增量)的相关联的功率控制器电路系统,其中在相关联的功率/功能测试或处理设备可能正在操作的状态期间,处理设备与vrm或相关联的功率控制器电路系统通信以指示所期望的电压供应值。

一旦经降低的电压值被确定,处理设备就可从相关联的vrm处接收被设置为期望降低值的输入电压。这允许处理设备的输入电压被设置在制造商指定的电平以下,从而导致若干技术效果。例如,相关联的功率节省可能是显著的(诸如在一些示例中为20-50瓦,或在其他情况下为30%),并且在设计和制造经减少容量的系统电源、减少处理设备的vrm规范、更便宜或更小的热沉和冷却风扇方面可以实现成本节约。可采用较小的系统外壳或封装。此外,功率节省可导致降低电源供应需求或电池消耗的系统特性。

现在转到所包括的附图中所示的各种示例,给出了图1,其例示了一实现中的电压调整环境。具体而言,图1包括电压调整环境100。环境100包括部署平台101和在诸如通信链路152之类的一个或多个通信链路上耦合的用户系统。可实现针对用户系统110讨论的特征的其他示例系统和元件至少被包括在下文的图4和图7中。

用户系统110包括图1中详述的若干组件。这些组件包括系统处理器120和功率系统130。系统处理器120可包括一个或多个集成元件,诸如处理器核121、高速缓冲存储器122、通信接口123、图形核124和北桥125、以及为清楚起见未示出的其他集成元件。此外,用户系统110可以包括组装件元件,即外壳元件111、热管理元件112、存储器元件113、存储元件114、通信接口115和图形元件116,以及为清楚起见未示出的其他元件。当系统处理器120被安装在用户系统110中时,这些组装件元件为系统处理器120的操作提供系统资源和上下文。

在操作中,功率系统130通过链路151向系统处理器120提供一个或多个输入电压。系统处理器120可通过链路150请求一个或多个输入电压或改变一个或多个输入电压的电平。一旦被提供了输入电压,系统处理器120就可启动进入操作系统(os)以提供用户系统110的各种操作,包括用户应用、通信服务、存储服务、游戏服务或计算系统的其他特征。为了建立一个或多个输入电压电平,部署平台101可通过链路152将软件140或相关指令传送到用户系统110,其执行电压调整过程以确定用户系统110或系统处理器120的经降低的操作电压。

包括图2以例示电压调整过程的操作。具体而言,图2是例示在一实现中操作环境100的元素的方法的流程图。图2中讨论的电压调整方法允许系统处理器120或相关联的用户系统110与部署系统101一致地确定系统处理器120的适当的经降低的输入电压,从而导致用户系统110的功率节省。

诸如系统处理器120之类的处理器设备最初被并入(211)到经制造的系统,即用户系统110,中。在图1中,系统处理器120被示出被安装到用户系统110中,诸如被安装在用户系统110的主板或其他电路板上。如上文提及的,用户系统110还包括许多上下文组装件元件。在许多示例中,用户系统110是在测试和运输给用户之前在系统组装过程中系统处理器120被安装到其内的系统。因此,被包括在用户系统110中的硬件和软件元件可以是一旦安装在用户站点上系统处理器120就用它进行操作的实际元件。

用户系统110最初采用(212)默认电压来向系统处理器120提供功率。例如,功率系统130可根据制造商指定的操作电压通过链路151提供输入电压,其可由通过链路150从系统处理器120接收的vid信息所指示。在其他示例中,诸如当迭代地向系统处理器120提供逐渐上升的电压时,默认电压可包括从其开始随时间升高电压电平的起始点。在采用增量地上升的电压的示例中,启动电压可被选定为足够低且小于制造商供应的那些电压。其他默认电压电平可被采用。一旦输入电压被提供,系统处理器120就可初始化并启动进入操作系统或其他功能状态。

部署平台101可通过链路152传送一个或多个功能测试,以便在启动进入操作系统之后由系统处理器120实施。部署平台101可通过链路152将软件、固件或指令传送到用户系统110以在电压调整过程期间发起用户系统110的一个或多个功能测试。这些功能测试可包括运用系统处理器120的各种集成元件以及用户系统110的各种上下文组装件元件的性能测试。在启动之前可能存在电压调整过程或功能测试的各部分以调整系统处理器120的输入电压,诸如通过在初始化系统处理器120的第二部分之前首先初始化系统处理器120的第一部分。下面在图7-8中找到对这些部分的进一步讨论。

一旦系统处理器120可以开始实施功能测试,系统处理器120就在系统处理器120的每个功率域(213)上运行一个或多个性能测试。这些功率域可包括不同的输入电压和不同的输入电压电平。功能测试可同时运用两个或更多个功率域,这可进一步包括不同的相关联的时钟信号以按预定频率运行相关联的逻辑。如上文所提及的,功能测试可包括在一个以上的处理核上同时发起的各操作,以产生针对处理核、图形核和接口核的复刻现实世界操作的dc功率需求和ac功率需求两者。此外,功能测试包括与系统处理器120的元件一致地运用用户系统110的元件(诸如存储设备、存储器、通信接口、热管理元件或其他元件)的过程。

系统处理器120通常将在特定操作电压或一组操作电压处停留预定时间段。此预定时间段允许用于功能测试的足够的实施时间,不仅运用所有期望的系统和处理器元件,而且允许发生任何错误或故障。停留时间可以变化并可从功能测试本身确定,或者基于制造/测试偏好被设置为预定时间。此外,停留时间可基于过去的功能测试被建立,并被设置为过去的测试指示将在合理的时间内捕捉一定数量的系统处理器的错误/故障的值。

如果系统处理器120和用户系统110在停留时间期间没有经历与电压调整过程相关的故障或错误,则所采用的特定输入电压可被认为足够高以成功地操作用户系统110(214)。因此,应用到系统处理器120的输入电压电平的特定迭代被认为是“通过(pass)”,并且可应用另一个逐渐调整的输入电压。如图2的操作(216)所示,系统处理器120的输入电压可被增量地降低、系统处理器120被重新启动、并且再次实施功能测试达停留时间。在一些示例中,处理器120的重新启动可被省略,并且可以以连续或重复的方式以新的电压电平应用进一步的操作测试达每个停留时间帧。重复此过程直到达到与功率系统130相关联的电压调节器的下限(215),或者经历系统处理器120或用户系统110的相关故障。此过程被采用以在用户系统110的组装件元件的上下文中确定系统处理器120的经降低的操作电压。一旦相关联的功率域的电压调整被找到,在操作217中就可存储这些电压调整的指示以供稍后在电压“最小值”(vmin)处使用,任选地具有适合于操作“安全”的余量以在功能测试期间减少未发现的故障或错误。

功能测试可包括一个或多个应用、脚本或使特定功率域达到所期望的功耗和操作的其他操作测试过程,这可以与确保用户系统110也在优选温度处操作相结合。这些功能测试还可运行完整性检查(诸如检查确定性的和可重复的数学计算或校验和)。由功率系统130提供的电压可以一次下降一个增量级,并且功能测试运行一段时间直到故障发生。功能测试可自动地处理因电压下降超出功能电平而导致的所有可能的故障模式。可能的故障包括在测试应用级别检测到的校验和错误、由操作系统检测到的内核模式崩溃、系统挂起、或由系统处理器检测到的导致“同步洪水”错误机制的硬件错误等。可自动地恢复所有故障模式以进行进一步的功能测试。为了实现自动恢复,可在伴随控制器中包括并启动看门狗定时器,诸如“系统管理控制器”(smc)、嵌入式控制器或其他控制电路系统。功能测试可向伴随控制器发出命令以周期性地初始化或重置看门狗定时器。如果看门狗定时器期满或系统处理器120经历故障模式,则伴随控制器可为用户系统110或系统处理器120执行系统重置。导致系统重置的故障模式可提示相关联的电路系统或伴随控制器用来自功率系统130的“默认”或“已知良好”电压电平来初始化系统处理器120。这些默认电平可包括制造商指定的电压或包括与最近的功能测试“通过”条件相关联的电压电平。

一旦用户系统110在功能测试期间的故障之后初始化或启动,则故障可由功能测试中的故障过程或由监视该功能测试的另一实体(诸如部署平台101)来记录。电压电平可然后被增加预定量,该预定量可包括在先前电压下降过程期间采用的一个或多个增量。在一些示例中,该增加可对应于2-3个增量,这可能计及功能测试中的测试可变性和失效时间(time-to-fail)可变性。

从电压调整过程确定的电压值可以与其他相应信息(诸如功能测试的时间/日期、功能测试的版本信息或其他信息)一起存储到存储器设备或数据结构中。版本标识符可被用于启用对由用户系统110的不同版本确定的结果进行“字段内(infield)”特殊处理。此数据结构可由硬件安全模块(hsm)安全地签名以确保经存储的电压信息和相关信息是真实的。可在用户系统110的每次后续启动期间验证数据结构的数字签名,并且经存储的电压信息可被用作任何工厂/制造测试的剩余部分以及后续用户站点操作的选定操作电压。图8中讨论了安全电压处理的其他示例。

在电压调整过程完成之后,所得到的用户系统特性(例如,功率水平、电池操作、系统属性)得到显著改进。因此,上文描述电压调整过程允许用户系统在制造或集成测试过程期间单独“学习”适当的经降低的操作电压。原位电压调整过程的各示例在下面的图4中被描述。

可针对每个功率域和针对每个域中的每个功率状态单独地重复迭代电压搜索过程,在此处功率节省将被实现。例如,可在迭代地下降对应于系统处理器120的第一电压/功率域的输入电压的同时运行第一组功能测试。可然后在迭代地下降对应于系统处理器120的第二电压/功率域的第二输入电压的同时运行第二组功能测试。当针对第二输入电压执行第二组功能测试时,可将第一电压设置为在第一功能测试期间找到的值或者设置为默认值等。

有利地,在制造测试期间或在用户系统110的初始运输时无需添加线路末端(eol)电压余量。eol余量可在需要的情况下被添加,诸如10至50毫伏(mv)以及其他值,或可在下文稍后描述的原位测试之后被添加。eol余量通常被添加在集成电路系统中以提供足够的保护带,因为集成电路中的相关联的硅定时路径随时间推移随着使用而减慢。尽管通常用于eol的余量的量可能仅为15-30mv(取决于操作条件、技术属性、和期望的寿命),但是本文描述的系统可在初始就部分地或完全地消除此余量。在一些示例中,初始电压余量在初始时间在vmin之上增量地使用,并且随后,当系统在正常使用期间操作时,进一步的eol余量可与系统的总操作时间(诸如以小时为单位)成比例地、或根据单个电压域的操作时间增量地增加。因此,在初始电压调整过程之后,从系统处理器120恢复额外的电压余量,并且可以在用户系统110的操作寿命期间步进返回eol的任何必要余量。此外,通过在较长时间段以较低电压操作用户系统,系统可靠性被进一步改进并且系统声学水平也更加理想,因为较低的功率水平意味着冷却系统将需要较低的平均风扇速度。随着eol余量的步进返回,这些声学效益可能随着时间的推移逐渐减少,但它将改进初始客户体验。

在进一步的示例中,上文描述的过程可在示例性或模型用户系统中进行,其中系统处理器120被包括在插座或插座式配置中。可使用此替换方法来代替之前列出的方法或除此之外的方法。在此示例中,通过使用用于系统处理器测试的插座式系统在设备制造过程期间确定经降低的电压。在此示例中,电压调整过程在系统处理器120在制造过程中被组装到最终用户系统110中(诸如在最终组装件中与其他系统组件一起)之前发生在插座式系统中。尽管在插座式系统中可能发生一些电压调整,但是可以从插座式测试的最终结果中移除/添加归一化的或经建模的附加或较小的余量以考虑最终组装件硬件/软件的变化。所找到的最终电压电平可被存储在系统处理器120的非易失性存储器中,或者被存储在随后将最终电压电平传送到最终组装件中的另一个系统中。可发生另一个简短的最终积分电压调整测试以验证插座式测试结果。替换地,插座式测试可建立默认或基线电压,完全集成系统可在另一个电压调整过程中使用该电压。

图3例示了显示电压调整过程可能如何进展的各种图表,即图表300和图表320。图表300示出了使用逐渐下降的电压的“向下”增量vmin搜索,其中在过程结束时添加了安全余量以建立操作电压vop。之后的余量(veol)可被步进以将eol考量考虑在内。具体而言,图表300示出了应用于处理器设备的默认或初始电压电平v0。在功能测试的停留时间之后,成功的结果会提示增量下降到v1并在功能测试下重新测试。可针对功能测试的每次成功迭代执行进一步的增量下降达图表300中指示的相关联的时间。最终,在v3处发现最低的或经降低的操作电压,并且应用任选的余量来建立vop。针对处理设备的正常操作采用vop,持续由t5指示的操作时间段。此时间可能会在现场部署相关联的系统时发生。在由t5指示的指定小时数之后,eol余量可能被步进到经建立的veol。可能发生eol余量的多个步进,但是为了清楚起见,仅在图表300中示出了一个。

与图表300中的向下电压搜索相反,图表320例示了向上电压搜索过程。图表320示出了使用逐渐上升的电压的增加的增量vmin搜索来建立操作电压vop。之后的余量(veol)可被步进以将eol考量考虑在内。具体而言,图表320示出了在v0处的制造商指定的电压电平,和应用到处理器设备的初始测试电压电平v1。在功能测试在v1处的停留时间之后,失败的测试结果会提示增量上升到v2并在功能测试下重新测试。可针对功能测试的每次不成功的测试迭代执行进一步的增量上升达图表300中指示的相关联的时间。最终,在v3处找到成功的操作电压,在该处功能测试指示“通过”条件。由于增量可能是较大粒度的,因此可通过在略低的电压下的简短测试来建立操作电压以建立vop,或者在其他示例中vop可被设置为v3。针对处理设备的正常操作采用vop,持续由t4指示的操作时间段。此时间可能会在现场部署相关联的系统时发生。在由t4指示的指定小时数之后,eol余量可能被步进到经建立的veol。可能发生eol余量的多个步进,但是为了清楚起见,仅在图表320中示出了一个。

在图3中指示的电压电平可取决于应用到处理设备的实际电压电平而变化。例如,对于在0.9v附近操作的设备,可使用图表300或320中的过程来发现经降低的电压电平。考虑到将随时间而发生的用户应用和设备老化的变化,可在图表300中添加50mv的安全余量以建立vop。但是,根据操作电压、增量级大小和老化考虑因素,也可选择其他值。

可针对与处理设备相关联的每个电源或功率域独立地实施图表300和320中的过程。一次在一个电源或功率域上运行该过程可允许在查找每个域的vmin时区分哪个电源或功率域是造成系统故障的原因。然而,同时下降各电源或功率域的多个电压对于减少测试时间可能是有用的,尤其是在故障可在各个电源或功率域之间被区分的情况下。在进一步的示例中,“二进制”电压调整/搜索算法可被用于通过将电压降低到预期vmin的一半而不是以图表300或320的增量步进来寻找vmin。在此类示例中,通过一旦发生故障就上升电压并且以此经上升的值成功地运行系统测试,可能需要对vmin进行进一步测试。可使用其他电压调整/搜索技术,并且该技术不会偏离操作以在制造过程中建立真正的vmin,然后可适当地调整该vmin以便为最终用户操作提供合理的余量。

图3中还包括图表330。图表330例示了一定数量的处理设备的潜在功率节省。当为每个处理设备建立vmin时,由“高斯”分布指示的处理设备的功耗量将向左移位,从而指示设备的较低的总功耗。应当注意,在没有“正常”设备分布的示例中,这些分布也会发生功耗量的移位。

返回到图1的元件,部署平台101包括平台,电压调整过程140从该平台步进,并且功能测试的失败或成功被监视。部署平台101可包括通信接口、网络接口、处理系统、计算机系统、微处理器、存储系统、存储介质或一些其他处理设备或软件系统,并且可在多个设备之间或跨多个地理位置分布。部署平台101的示例可包括诸如操作系统、日志、数据库、实用程序、驱动程序、网络软件、和存储在计算机可读介质上的其他软件之类的软件。部署平台101可包括由分布式计算系统或云计算服务托管的一个或多个平台。部署平台101可包括诸如软件定义接口和应用编程接口(api)之类的逻辑接口元件。

用户系统110和部署平台101可通过一个或多个通信链路152进行通信。在一些示例中,通信链路152包括诸如无线或有线网络链路之类的一个或多个网络链路。其中用户系统110和部署平台101的各元件通过各种逻辑、物理或应用编程接口通信地耦合的其他配置也是可能的。示例通信链路可使用金属、玻璃、光纤、空气、间隙或一些其他材料作为传输介质。示例通信链路可使用各种通信接口和协议,诸如因特网协议(ip)、以太网、usb、雷电、蓝牙、ieee802.11wifi、或其他通信信令或通信格式,包括其组合、改进或变化。通信链路可以是直接链路,或者可以包括中间网络、系统或设备,并且可以包括通过多个物理链路传输的逻辑网络链路。

用户系统110包括计算系统或计算组装件,诸如计算机、服务器、平板设备、膝上型计算机、智能电话、游戏系统、娱乐系统、存储系统或其他计算系统,包括其组合。用户系统110包括图1中详述的若干组件。这些组件包括系统处理器120和功率系统130。此外,用户系统110可以包括组装件元件,即外壳元件111、热管理元件112、存储器元件113、存储元件114、通信接口115和图形元件116,以及为清楚起见未示出的其他元件。外壳元件111可包括结构支撑元件、壳体、底盘元件或容纳并在结构上支撑用户系统110的另外元件的其他元件。热管理元件112可包括热沉、风扇、热管、热泵、制冷元件或用于管理和控制用户系统110的温度的其他元件。存储器元件113可包括随机存取存储器(ram)、高速缓冲存储器设备或系统处理器120采用的其他易失性存储器元件。存储元件114包括非易失性存储器元件,诸如硬盘驱动器(hdd)、闪存设备、固态驱动器(ssd),或存储操作系统、应用、或用户系统120的其他软件或固件的其他存储器设备。通信接口115可包括网络接口、外围接口、存储接口、音频/视频接口、或者将用户系统通信地耦合到外部系统和设备的其他接口。图形元素116可包括显示界面、显示器、触摸屏、触摸界面、用户界面等。

功率系统130通常包括电压调节器电路系统、控制器电路系统、功率过滤元件、功率调节元件、功率转换元件、功率电子元件或其他功率处理和调整元件。功率系统130从外部源(诸如从电池或外部电源)接收功率,并且转换/调节该功率以产生电压和电流以操作用户系统110的元件。

图4作为电压调整过程的另一个示例被呈现。图4讨论了用户系统的现场或原位电压调整。虽然下文针对图4的讨论是在位于彼此远离的站点处的部署平台和用户系统的上下文中进行的,但是应该理解,上文针对基于制造测试的电压调整讨论的特征可应用于图4,反之亦然。

图4例示了在一实现中的电压调整环境400。环境400包括部署平台402、一个或多个分组网络405、游戏系统410。在此示例中,用户系统包括游戏系统,但是可替代地采用本文提及的任何用户系统。此外,游戏系统410包括诸如游戏控制器411之类的用户接口设备,以及一个或多个处理设备412。诸如功率控制系统之类的用户系统的其他元件被包括但在图4中被省略,以聚焦于电压表征平台元件。可实现针对游戏系统410讨论的特征的其他示例系统和元件至少被包括在上文的图1和下文的图7中。

部署平台402位于远离游戏系统410的站点“b”的站点“a”处。部署平台402和游戏系统410通过一个或多个分组网络405和相关联的链路进行通信。例如,站点“a”可以是供应商站点或分布式计算平台,而站点“b”可以是客户或用户位置,诸如商户、住宅或其他位置。最初,当处理设备412被安装在游戏系统410中时,游戏系统410可能尚未被调整成以比处理设备412的制造商指定电压低的电压进行操作。部署平台402可传送电压调整固件430以便递送到游戏系统410。游戏系统410可然后实施电压调整固件430的元件以确定用于游戏系统410的处理设备412的经调整的操作电压。

图5被包括以示出系统400的元件的示例操作。在图5中,部署平台402传送电压调整固件430以便通过分组网络405递送到游戏系统410。游戏系统410接收电压调整固件430并实施电压调整固件430以向游戏系统410提供电压调整特征,诸如由初始表征平台440和周期性调整平台450提供。例如,初始表征平台440可被实施以执行针对处理设备412的电压搜索。诸如从电压搜索中找到的电压电平之类的所产生的电压数据,可被传送到游戏系统410的存储元件或被传送到部署平台402。可通过周期性调整平台450来处理另一电压调整过程,该另一电压调整过程可向处理设备412提供基于性能的电压调整和eol电压调整,或确定从游戏系统的监视性能数据或操作统计中导出的遥测数据。可传送此遥测数据以便递送到游戏系统410以供存储或递送到部署平台402以供与其他游戏系统进行比较、数据分析、存档或其他处理。

如上文所提及的,电压调整固件430可包括初始表征平台440和周期性调整平台450。平台440和450的元件可被并行地操作以实现本文所讨论的各种功能。电压调整固件430可用程序指令来实现,并且连同其他功能,可至少部分地基于游戏系统410进行的实施,游戏系统410可如参考本文所例示的各种操作场景、序列和过程所描述的那样操作。例如,电压调整固件430可包括包含初始表征平台440的程序指令,除其他功能外,该初始表征平台440为处理器设备412建立经降低的操作电压。电压调整固件430可包括包含周期性调整平台450的程序指令,该周期性调整平台450建立对eol余量的经降低的操作电压的调整,并且除其他功能外,还允许在各种场景下进行电压调整。

现在转到初始表征平台440的特定模块,该模块包括性能模拟器441、性能监视器442、电压控制443和余量控制444。性能模拟器441包括一个或多个功能测试,该功能测试运用处理设备412的元件,诸如处理核、图形核、通信元件、存储器元件以及其他元件。性能模拟器441还在游戏系统410的各元件的上下文中运用处理设备412,诸如存储驱动器、ram、图形卡、通信接口、风扇、外壳、热管理元件、电源元件等。如上文针对图1-2中的功能测试所讨论的,这些功能测试允许在对处理设备412的供电电压的增量调整期间对游戏系统410进行严格的操作测试。电压控制模块443允许控制对由游戏系统410的功率系统提供给处理设备412的供电电压的调整。在由性能模拟器441提供的操作测试期间,性能监视器442提供对故障、崩溃、过载或其他条件的监视,这些条件可能指示供应给处理设备412的电压当前处于对于适当操作而言太低的电平。余量控制444可在已为游戏系统410中的处理设备412找到经降低的电压之后确定将添加的余量。余量可基于游戏系统410的生命周期(在游戏系统410已具有多个操作小时的示例中)、游戏系统410中包括的组件和元件、预期使用模式、过去使用模式或其他因素(包括其组合)而变化。添加到每个经降低的电压的余量可基于电压域、在操作测试中记录的故障而变化,或除其他值外,可以是预定值。

初始表征平台440可在游戏系统410的启动时段期间、在游戏系统410正被升级到新版本的操作系统或游戏平台软件时、或在游戏系统410可将时间投入非用户功能的另一个预定时间被实施。将性能模拟器441加载到游戏系统上以对处理设备412的相关联的功率需求和输入电压应用压力,并且使输入电压下降直到发生一个或多个故障。系统发生故障所处于的电压(或系统成功运行所处于的最后已知的电压)被记录并被用于为处理设备412建立新的经降低的操作电压。可为了操作安全性添加诸如距这些经降低的操作电压10-20mv的余量,以及为了应用到应用的保护带和eol退化添加大约50mv的余量。如果需要少量保护带用于潜在的温度效应(诸如10-20mv),则还可添加附加的保护带。本文中提及的所有特定电压值都仅出于说明目的,并且归因于随技术且随时间变化的实际电压电平和适当的保护带的量可被按需调整。一旦找到经降低的值并包括适当的余量,最终的操作电压可被存储在非易失性存储设备中并供后续系统操作使用。

现在转到平台450的各特定模块,模块包括操作遥测模块451、eol缩放模块452、热电压调整模块453、待机电压调整模块454、频率最大化模块455、故障安全模块456和用户输入模块457。

遥测模块451监视并存储游戏系统410的操作统计、电压设置、功耗、操作小时、工作负载统计或其他信息。遥测数据可以通过至少跟踪正在使用什么系统和电压调整特性以及由此导致的相关联的崩溃率会发生什么,来帮助确定针对每个电压设置的系统操作的相对稳定性。遥测还指示,较低的电压设置是否由于与较低电压和温度相关联的经改进的可靠性特性而实际上降低了系统崩溃率。遥测数据可被存储在游戏系统410中,诸如存储在非易失性存储器设备中的日志或数据库中,并且可被传送以递送到部署平台以供进一步的分析和存储。eol缩放模块452可跟踪处理设备412的操作小时或操作应力率,诸如结合遥测数据,并建立eol电压余量以补偿eol随时间的退化。可由游戏系统410维护与操作小时或其他因素相关的电压余量的表,以便在应用eol余量时使用。

热电压调整模块453可用处于比先前确定的经降低的电平高的电平处的输入电压来操作处理设备412,并且响应于游戏系统410的温度水平或功耗水平向下缩放电压。例如,除了本文讨论的保护带或eol余量之外,还可应用热电压调整余量。此热电压调整余量可以以高于“最小”或非经降低的功耗来操作游戏系统410,但是随着游戏系统的外壳中的温度增加,此附加的热电压调整余量可能会被降低以提供更低的功率操作——以及由此下降的相应温度。例如,游戏系统410可在制造商指定的电压电平处操作,直到热电平指示需要调整,并且可根据先前确定的vmin电平应用经降低的操作电压。在下面的图6中找到关于热电压调整的进一步讨论。

待机电压调整模块454还可响应于处理设备412或游戏系统410的各部分进入空闲或非活动状态而降低应用到处理设备412的电压。在许多情况下,经降低的电压电平被建立,其防止在正常操作期间游戏系统410的崩溃或其他故障。然而,当游戏系统的各部分处于待机模式时,还可针对这些模式应用经降低的电压余量或其他经降低的电压电平。例如,初始表征还可确定针对空闲状态或处理设备412的其他模式的经降低的电压或经降低的余量。可针对操作状态来单独地监视每个电压域,并相应地调整电压电平。

频率最大化模块455在需要大于正常时钟频率的示例中提供游戏系统410的经增强的性能。较大的时钟频率可为处理设备412的相关联的逻辑、存储器和通信元件提供更快的操作。但是,添加的功耗通常伴随经增加的时钟频率。与上面讨论的热调整余量类似,附加的余量可被应用以允许频率缩放超出保护带或eol余量。通过增加时钟频率来提高性能也会导致在固定电压下所消耗的功率的增加。然而,如果游戏系统410希望保持功耗恒定或在预定限制内,则可在增加频率的同时使电压下降。确定vmin的过程仍然可以使用原始系统频率。然而,电压和频率之间的关系(每1.5%的频率需约1%的电压)以及电压和频率两者如何影响功耗(泄漏和交流电源一起遵循大约“电压立方倍频率”公式)的本质可允许电压余量在恒定功率目标下变成额外的性能。在此情形下,如果计算系统可以容忍不同的性能值,则可针对这些不同的性能值独立地调整每个系统,类似于对电压电平的调整。

故障安全模块456提供故障安全机制或对看门狗元件的控制,其被用于确保当游戏系统410在低于制造商指定的电压下操作时,在系统操作变得无规律、不稳定或经历故障的情况下,电压可被随后增加。具体而言,在一个或多个电源轨上电压已被设置成低于设备制造商指定值的用户系统中,如果系统稳定性(即系统崩溃或挂起的数量)超过预定值或一些预定阈值,则电压可被恢复到更高的值。此故障安全回退方法允许系统将电压增加一个小值、一个中间值、或恢复到制造商指定的电压,以试图在将用户系统记录为字段故障之前恢复稳定的系统操作。在字段故障和后续回退之后,用户系统可继续以回退电压电平操作,或可替换地被提示返回制造商处进行更换或修理。

用户输入模块457经由一个或多个用户界面元件提供用户输入方法,以允许用户或操作者改变游戏系统401的电压属性或其他属性。用户输入模块457可通过游戏系统10的用户界面元素进行通信,或者提供专门的api以便从用户输入设备、图形用户界面或经由基于网络的用户界面接收用户输入。在一些示例中,可根据用户指令或用户控制使电压下降。游戏系统410可建立用户可控设置以允许用户使系统电压下降到低于制造商指定电平的电平。然而,本文中的看门狗和故障安全特征可被用于防止系统在此类用户电压调整期间变得不可操作。在更进一步的示例中,功率节省可能比系统的可靠性或稳定性更重要,并且余量可被排除以获得附加的功率节省。在功能测试期间故障可能因某种非致命性质(即图形渲染错误)而被忽略以允许甚至更低的电压操作。各种保护带可被用户选择以允许用户对多少功率节省相较于(vs.)系统稳定性是理想的进行控制。可靠性和功率节省通过使操作电压下降可以提高,但如果选定操作电压过低,则会影响稳定性。例如,第一保护带可提供低的功耗[即75mv保护带]、第二保护带可提供更低的功耗[即50mv保护带]、而第三保护带可提供超低的功耗[即25mv保护带]。可选定其他电平和保护带。

图4例示了现有系统中的电压调整技术,其中通过自包含固件代码或通过在线更新,处理器电压电平被增量地降低直到达到安全操作层。此方法在不使用制造系统测试装备和平台的情况下实现了用户环境中的功率降低。代替(或除了)使处理器设备的操作电压下降,图4中的示例通过在希望降低的每个功率/电压域上运行执行vmin搜索的一个或多个脚本在消费者环境中利用电压下降技术。该脚本可响应于游戏系统410的每次启动而运行,或可替换地被调度或周期性地实施以降低启动时间的延迟。

然而,可在制造和递送游戏系统410之后实施对下降电压和降低功耗的控制,并且因此可能无法实现对诸如风扇、外壳、热沉等的组件大小的改进。无论如何,在此情况下用户系统在较低电压电平、较低功率水平和可能较冷的温度处操作之后确实实现了功率节省和经改进的可靠性特性。此外,由于用户系统以低于设计中固有的冷却能力操作,因此该用户系统可能具有经改进的声学特性。其他优点包括降低部署了许多计算系统的服务器场或大型计算中心的功率占用。通过使处理设备的操作电压降低到制造商指定的电平之下而获得的功耗节省可导致经降低的数据中心功率需求和冷却要求。然而,由于电压调整过程可能发生在可能无法控制环境温度的用户现场环境中(与制造环境相反),因此用户现场温度可能会对可实现的功率节省产生影响。有些设备在最高温度下具有较差的性能,而其他设备可能在最低温度下受限(即在较低电压处操作的设备中的温度反转特性)。尽管在用户环境中可能知道环境和外壳温度,但是能够像在制造环境中那样控制它是存在限制的。

现在转向图6,为计算机系统和相关联的处理设备的操作提供了若干示例以允许基于热的电压调整。尽管图6中的示例例示了基于热或基于温度的电压调整,但是类似的原理可被应用于基于功耗的电压调整。其他因素也可被用于调整电压,诸如待机模式状态或冷却系统状态。图6的操作可由本文讨论的任何处理设备执行,诸如由处理设备412实施的热电压调整模块453执行。

表610包括计算系统可在其中进行操作的三种热方案611-613。第一方案611被定义,其中功耗小于或等于优选功率阈值或系统温度小于或等于第一阈值温度。可以测量整个系统的温度,诸如相关联的外壳内部的温度,或可替换地测量特定集成电路的温度,诸如处理设备的硅芯片温度。在此第一方案611中,计算系统以低于期望的操作限制进行操作,并且可在制造商指定的电压处被操作,或以具有被应用在vmin之上的相关联的热调整余量的电压电平被操作。此外,任何相关联的风扇或冷却系统元件都以最优电平操作。

如果温度升高,则可进入第二方案612。温度可能由于环境温度升高、相关联的计算系统的元件的工作负载或功耗增加、或由于其他因素而升高。第二方案612被定义,其中功耗大于优选功率阈值或系统温度大于第一阈值温度。在此第二方案612中,计算系统接近期望的操作限制并可能仍在制造商指定的电压处(或者在具有应用于最小操作电压的相关联的热电压下降余量的电压电平处)操作。此外,与第一方案相比,任何相关联的风扇或冷却系统元件都以经增加的电平操作。

如果温度继续升高,则可进入第三方案613。温度可能由于环境温度升高、相关联的计算系统的元件的工作负载或功耗增加、或由于其他因素而进一步升高。第三方案613被定义,其中功耗大于优选功率阈值或系统温度大于第二阈值温度,第二阈值温度高于第一温度阈值。在此第二方案612中,计算系统高于期望的操作限制且处理设备的电压电平被缩放回到较低的电平。这些较低的电压电平可能对应于先前确定的经降低的电压或开始降低相关联的热电压下降余量。此外,与第一和第二方案相比,任何相关联的风扇或冷却系统元件都可以以最大电平操作。

应当注意,贯穿表610的所有三种方案,没有对处理设备的操作性能退化或性能节流被采用。由于电压余量被包括在第一方案中,因此可通过使处理设备的输入电压下降来抵消温度的升高,同时保留任何操作性能参数(诸如操作频率、空闲状态、活动状态、工作负载、吞吐量、带宽或其他参数)不受影响并以最优电平操作。

为了进一步例示电压电平的基于热的调节,流程图620被包括。在图620中,处理设备以选定的电压电平操作(621)计算系统。这些选定的电压电平最初可以是默认值、制造商指定的电压电平、或具有被应用的热余量的经降低的电压电平、以及其他值。如图620的进一步操作所示,选定的电压电平可由于温度升高而改变。一旦第一温度阈值被超过(622),诸如在方案612中发现的那样,处理设备可调整(623)冷却系统元件以补偿升高的温度。调整冷却系统元件可包括调整风扇速度、百叶窗位置、热沉参数、气候控制系统参数、热泵设置或其他调整,包括其组合。如果第二温度阈值被超过(624),则处理设备可下降(626)处理设备的操作电压,诸如通过指示电压调节元件来降低供应给处理设备的电压电平。这些电压电平可被增量地下降以试图逐级缓解温度升高。在上面的各操作中,当电压电平被降低以补偿经升高的温度时,处理设备的性能被维持而非被节流。然而,如果电压最小限制被达到(625),那么电压可能无法被进一步下降以补偿温度升高。响应于电压最小限制被达到,处理设备可降低或节流(627)系统性能以改变时钟速度、使处理设备的各部分空闲、关闭计算机系统的各种上下文元件、或在极端情况下甚至关闭整个系统。应当注意,与操作627不同,操作626的电压调整技术不会退化或节流处理设备的性能。在温度或功耗水平降低了一段时间之后,处理设备的操作电压和其他调整可被增量地返回,或者返回到初始或默认水平。

在进一步的示例中,提供了用于增加系统的操作频率的技术。例如,频率最大化模块455提供游戏系统410的经增强的性能。在这些进一步的示例中,电压余量被采用以提高系统性能而非降低系统功耗。通过增加时钟频率来提高性能还可导致在固定电压下所消耗的功率的增加。然而,如果需要功耗上限或限制,则可在增加频率的同时下降电压。在此情形下,vmin仍可在原始系统频率处被找到,如本文所讨论的。然而,电压和频率之间的关系(每1.5%的频率需约1%的电压)以及电压和频率两者如何影响功耗(泄漏和交流电源一起遵循大约“电压立方倍频率”公式)的本质可允许电压余量在恒定功率目标下变成额外的性能。在此情形下,如果计算系统可以容忍不同的性能值,则可针对这些不同的性能值独立地调整每个系统,类似于对电压电平的降低。虽然这些性能提高可在制造过程期间被应用于设备,但是这些性能提高也可使用部署到用户站点的固件原位实现。

对于此特定示例,使用上文提及的过程发现的操作最小电压被动态地采用以从系统提取额外的性能而不增加功耗水平。可通过增加与特定电压或电压域相关联的时钟频率来实现此额外性能。由于在许多示例中最大功率聚焦于系统热特性上,因此系统的热响应时间使得电压可被调整而不会不利地影响从热角度消耗的最大功率。电压适应是经由通过设备上性能监视器监视处理设备活动级别或监视相关联的电压调节器电流、电压或功率水平来实现的。取决于操作最小值(具有适当的保护带)和制造商指定的电压电平之间的电压差,然后高活动级别和低活动级别之间的电压转换可利用中间电压电平,使得低和高活动之间的电压转换不太大。超过100mv的电压摆幅可被认为是过度的,进而要么必须通过逐级增量电压来补偿,要么简单地使用固定量的附加电压来补偿低活动状态,诸如最小电压附加25mv或最小电压附加50mv。

因此,所讨论的用于增加操作频率和相关联的设备性能的技术允许系统在不期望或不需要额外性能的时间段期间以初始或默认电压电平操作。一旦需要更高级别的活动,就可增加频率并可下降相应的电压以将功耗(诸如以瓦特为单位的功耗水平)保持在优选水平之下。一旦检测到较低的期望功率水平和/或低活动级别,则相应的电压和频率水平可被允许恢复到先前的值。

图7例示了计算系统700,其表示可实现本文所公开的各种操作架构、平台、场景和过程的任何系统或系统集合。例如,计算系统700可被用于实现图1中的任何用户系统110或图4中的游戏系统410。

当由计算系统700实现时,用户系统110或游戏系统410的示例包括但不限于游戏控制台、智能电话、平板计算机、膝上型计算机、服务器、个人通信设备、个人辅助设备、无线通信设备、订户装备、客户装备、接入终端、电话、移动无线电话、个人数字助理、个人计算机、电子书、移动因特网装置、无线网络接口卡、媒体播放器、或一些其他计算设备,包括其组合。

计算系统700可被实现为单个装置、系统或设备,或者可以以分布式方式被实现为多个装置、系统或设备。计算系统700包括但不限于外壳701、片上系统(soc)设备710、南桥730、存储系统731、视频元件732、存储器元件733、网络模块734、辅助存储器735、电压调节器、输入功率调整电路系统750、冷却元件752、soc热元件753和热监视器754。soc设备710可操作地与计算系统700中的其他元件耦合,诸如南桥730、存储系统731、视频元件732、存储器元件733、网络模块734、辅助存储器735、电压调节器740、soc热元件753和热监视器754。计算系统700的一个或多个元件可被包括在主板702上,但是其他布置也是可能的。

soc设备710从存储系统731加载并实施软件。软件可包括各种操作系统、用户应用、游戏应用、多媒体应用或其他用户应用。软件还可包括固件760,其包括由安全启动固件761和电压改变固件762指示的其他元件。其他软件和固件元件可被包括在由存储系统731存储并由soc设备710实施的软件中,诸如图1和图4中找到的。

当由soc设备710实施以提供电压调整服务、热电压调整、原位表征或安全电压缩放特征时,软件引导soc设备710至少针对上述实现中讨论的各种过程、操作场景和序列进行如本文所描述的操作。soc设备710可任选地包括出于简化的目的而未被讨论的附加设备、特征或功能。

仍然参考图7,soc设备710可以包括从存储系统731中检索并实施软件的微处理器以及处理电路系统。soc设备710可被实现在单个处理设备中,但也可以跨在实施程序指令时协作的多个处理设备或子系统分布。soc设备710的示例包括通用中央处理单元、专用处理器、图形处理单元和逻辑设备、以及任何其他类型的处理设备、其组合或变体。

在图7中,soc设备710包括处理核711、图形核712、通信接口713、存储器接口714、安全处理器720、电子熔断721、安全存储器722以及其他元件。soc设备710的一些元件可被包括在soc设备710的北桥部分中。

存储系统731可包括可由soc设备710读取并能够存储诸如固件760之类的软件的任意计算机可读存储介质。存储系统731可包括易失性和非易失性、可移动和不可移动介质,它们以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据这样的信息的任意方法或技术来实现。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备,或任何其他类型的存储介质。在任何情况下,计算机可读存储介质都不是传播的信号。除了计算机可读存储介质以外,在一些实现中,存储系统731还可包括至少一些软件可通过其进行内部和外部通信的计算机可读通信介质。存储系统731可以被实现为单个存储设备,但也可以跨相对于彼此放置在一起或分布式的多个存储设备或子系统来实现。存储系统731可以包括能够与soc设备710或可能的其他系统通信的附加元件,诸如控制器。

具体而言,程序指令可包括合作或以其他方式交互以实施如本文所述的各种过程和操作场景的各种组件或模块。各种组件或模块可被具体化在经编译或经解释的指令中,或被具体化在指令的某其他变体或组合中。各种组件或模块可以以同步或异步方式、串行或并行地、在单线程环境或多线程环境中、或根据任何其他合适的执行范例、变体或其组合来执行。除了固件760或包括固件760之外,软件可包括附加过程、程序或组件,诸如操作系统软件或其他应用软件。

通常,软件可以在被加载到soc设备710中并且被执行时将合适的装置、系统或设备(其代表为计算系统700)整体地从通用计算系统变换为专用计算系统,该专用计算系统被定制以提供电压调整服务、热电压调整、原位表征或安全电压缩放特征以及其他辅助服务。事实上,存储系统731上的编码软件可变换存储系统731的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的各因素的示例可以包括,但不仅限于:用于实现存储系统731的存储介质的技术以及计算机存储介质是作为主存储还是辅存储,以及其他因素。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则当在其中编码程序指令时软件可以变换半导体存储器的物理状态,诸如通过变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。一种类似的变换可以相对于磁性或光学介质发生。在没有偏离本说明书的范围的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于本讨论。

现在转到计算系统700的其他元件,电压调节器740以相关联的电流向soc设备710提供操作电压。电压调节器740包括各种功率电子器件、功率控制器、过滤器、无源组件和其他元件以将经由链路751通过输入功率调整元件750从功率源接收的输入功率转换为soc设备710可用的电压。soc设备710可指示电压调节器740为一个或多个电压域提供特定电压电平,诸如图7中的第一、第二和第三电压域741-743。soc设备710可指示电压调节器740为一个或多个操作模式提供特定的电压电平,诸如正常、待机、空闲和其他模式。电压调节器740可包括开关模式电压电路系统或其他调节电路系统。冷却元件752可包括风扇、热沉、热泵、制冷元件、固态冷却设备、液体冷却设备或降低或维持外壳701内的温度的其他冷却元件。soc热元件753可包括与冷却元件752类似的元件,但是应用于soc设备710而非整个外壳701。热监视器754可包括一个或多个热电偶或其他温度感测元件,其向soc设备710指示外壳701内部、外壳701外部的当前温度,或者与系统700的各种元件相关联的温度,包括soc设备的温度。

南桥730包括接口和通信元件,其可提供soc710与外围设备、用户输入设备、用户接口设备、打印机、话筒、扬声器或其他外部设备和元件的耦合。在一些示例中,南桥730包括系统管理总线(smb)控制器或其他系统管理控制器元件。视频元件732包括用于输出数字图像、视频数据、音频数据、或其他图形和多媒体数据的各种硬件和软件元件,其可被用于在显示器、触摸屏或其他输出设备上渲染图像。数字转换装备、过滤电路系统、图像或音频处理元件或其他装备可被包括在视频元件732中。

网络元件734可以提供计算系统700和其他计算系统(未示出)之间的通信,该通信可在通信网络或各网络上并根据各种通信协议、协议的组合或其变体发生。示例网络包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板、或任何其他类型的网络,网络的组合或其变体。上文提及的通信网络和协议是众所周知的并不需要在此详细讨论。然而,可被使用的一些通信协议包括但不限于因特网协议(ip、ipv4、ipv6等)、传输控制协议(tcp)、和用户数据报协议(udp),以及任何其他合适的通信协议、变体或其组合。

存储器元件733可包括随机存取存储器(ram)、高速缓冲存储器设备或soc710采用的其他易失性存储器元件。存储系统731包括非易失性存储器元件,诸如硬盘驱动器(hdd)、闪存设备、固态驱动器(ssd)、光学存储设备、相变存储器设备、电阻存储器设备或存储操作系统、应用、电压调整固件或系统700的其他软件或固件的其他存储器设备。辅助存储器735可包括非易失性存储器元件,诸如硬盘驱动器(hdd)、闪存设备、固态驱动器(ssd)、光学存储设备、相变存储器设备、电阻存储器设备或其他存储器设备。在一些示例中,辅助存储器735被包括在存储系统731中。在进一步的示例中,辅助存储器735包括具有安全存储能力的存储器设备,其可接受诸如电压表、电压偏移数据或其他信息之类的数字签名的数据。

为例示图7的一些元件的操作,呈现了图8中的流程图。具体而言,图800包括描述安全电压缩放的操作,诸如用经由电压调整过程确定的任何电压来启动计算系统700。在许多计算机系统中,输入电压具有安全限制,以防止未经授权的操作者改变系统电压。此外,诸如被数字签名的电压数据之类的安全措施可确保在没有检测的情况下不会发生对存储的电压数据的改变。应当注意,图8中指示的电压/电平仅仅是示例性的,并在实际实现中通常将采用不同的电压/电平。

尽管图8的操作通常可由计算系统700实施,但是图8中的特定操作被引导向安全处理器720。安全处理器720包括与处理核711和图形核712分离的处理核。在一些示例中,安全处理器720可被包括在与soc710分离的逻辑中。安全处理器720通常在通电过程或启动过程期间处理soc710的初始化过程。因此,安全处理器720可被初始化并准备好在soc710的其他元件之前进行操作。

现在转向图8的操作,soc710根据vid指示的电压通电(801)。这些vid指示的电压由图7中的vid723表示,并可被认为是“默认”电压,其通常根据制造商规范指定或由制造商使用电子熔断(e-熔断)721进行硬编码。在一些示例中,一旦这些vid被制造商设置,它们就不能被soc的操作者或用户改变。vid通常包括归一化值或经编码的比特,其被用于导出用于驱动soc710的实际电压。示例vid可在图8的表810中看到。具体而言,表810包括具有以十六进制表示的对应vid的电压域以及相应的电压的列表。在典型示例中,仅将vid提供给电压调节器740,并且电压调节器740将vid转换为实际电压。为清楚起见,表810被示为具有附加细节。

一旦至少安全处理器720在根据vid723从电压调节器740接收输入功率之后通电,则安全处理器720从辅助存储器735读取(802)电压偏移763。这些电压偏移在电压调整过程中被确定,诸如上文描述的那些,并被存储在辅助存储器735中供以后使用。示例电压偏移在图8的表811中被示出,并且指示多个电压域或功率域的增量偏移,其可包括正或负偏移。电压偏移可使用诸如经数字签名的安全过程之类的安全存储过程被存储在辅助存储器735中。安全过程验证电压偏移并确保篡改或更改不被执行。安全过程可包括公钥-私钥加密技术或其他数字签名/认证或数据加密技术。

从电压调整过程确定的电压值可以与其他相应信息(诸如功能测试的时间/日期、功能测试的版本信息或其他信息)一起存储到存储器设备或数据结构中。版本标识符可被用于提供对由系统700的不同版本确定的结果进行特殊处理。此数据结构可由硬件安全模块(hsm)安全地签名以确保经存储的电压信息和相关信息是真实的。可在系统700的每次后续启动期间验证数据结构的数字签名,并且可被用作任何工厂/制造测试的剩余部分以及后续用户站点操作的选定操作电压。

安全处理器720使用vid723和电压偏移763在安全存储器722中生成(803)电压设置表724。在一些示例中,安全处理器720将对应于vid的电压添加到电压偏移并生成被存储在安全存储器722中的新vid。这些新的vid可被呈现给电压调节器740,该电压调节器740响应地实现(804)对应于vid的soc710的输入电压。可在soc710的操作期间对新vid或电压表724中的其他电压信息进行各种余量或调整,诸如添加附加余量、实现eol余量、提供基于热/功率的电压调整或基于频率的节流、或其他特征。在典型示例中,仅安全处理器720可以访问安全存储器722,并且处理核711或图形核712不能访问安全存储器722。因此,在操作系统中运行的用户级应用通常不能直接修改vid。然而,在此示例中,安全处理器720可接收来自各种驱动程序、管理程序、或其他元件的请求以响应于用户命令或其他改变输入来改变vid。

根据前述公开可以领会某些发明方面,以下是这些发明方面的各种示例。

示例1:一种用于改变计算装置的功耗的方法,所述方法包括通过所述计算装置的通信接口接收电压表征服务,所述电压表征服务由远离所述计算装置的部署平台传送。该方法包括实施用于所述计算装置的处理设备的所述电压表征服务以确定所述处理设备的至少一个输入电压低于制造商指定的操作电压,所述电压表征服务包括功能测试,所述功能测试在上下文中使用所述计算装置的相关联的系统元件以迭代调整的电压来运用所述处理设备。在实施所述电压表征服务期间,该方法包括监视至少所述处理设备的操作故障,并响应于所述操作故障,使用高于所述迭代调整的电压的当前值的恢复电压来重新启动所述处理设备。

示例2:如示例1的方法,其中监视至少所述处理设备的所述操作故障包括,在系统管理控制器中,为所述处理设备建立看门狗计时器,如果所述处理设备没有响应达预定时间段,则所述看门狗计时器发起对所述处理设备的重置。

示例3:如示例1-2的方法,进一步包括,在实施所述电压表征服务期间,将增量调整的输入电压应用到所述处理设备,根据所述功能测试操作所述处理设备,并且在应用每个所述增量调整的输入电压期间监视至少所述处理设备的操作故障。响应于所述功能测试期间的所述操作故障,所述方法包括确定所述增量调整的输入电压的相应值并至少部分地基于所述增量调整的输入电压的相应值为所述处理设备建立至少一个输入电压。

示例4:如示例1-3的方法,其中使用所述恢复电压来重新启动所述处理设备包括:基于所述迭代调整的电压的所述当前值建立所述至少一个输入电压的最小操作电压,将电压余量添加到所述最小操作电压,以及指示所述计算装置的电压调节器电路系统向所述处理设备供应具有所述电压余量的最小操作电压,以用于所述计算装置中的所述处理设备的用户操作。

示例5:如示例1-4的方法,其中通过所述计算装置的所述通信接口接收所述电压表征服务包括通过与所述通信接口相关联的一个或多个网络链路接收包括由远处的部署平台传送的所述电压表征服务的固件。

示例6:如示例1-5的方法,其中为所述处理设备实施所述电压表征服务包括:对于所述迭代调整的电压中的每一个,将所述处理设备启动进入操作系统并实施所述功能测试,其中所述功能测试运行一个或多个应用级别过程,所述应用级别过程被配置为运用所述处理设备的处理器核元件、图形核元件和输入/输出元件。

示例7:如示例1-6的方法,其中为所述处理设备实施所述电压表征服务包括响应于接收所述电压表征服务而对所述电压表征服务的初始实施,以及响应于所述处理设备达到预定的操作小时数而对所述电压表征服务的周期性的实施。

示例8:如示例1-7的方法,进一步包括,在实施所述电压表征服务时,通过以第一输入电压初始地操作所述处理设备并在执行所述功能测试和监视所述操作故障的发生的同时以预定增量逐渐下降或上升所述输入电压来递增地调整所述至少一个输入电压。

示例9:一种装置包括一个或多个计算机可读存储介质和存储在所述一个或多个计算机可读存储介质上的程序指令。至少部分地基于计算系统的实施,所述程序指令引导所述计算系统以至少通过所述计算系统的通信接口接收电压表征服务,所述电压表征服务由远离所述计算系统的部署平台传送。所述程序指令引导所述计算系统以发起实施用于所述计算系统的处理设备的所述电压表征服务以确定所述处理设备的至少一个输入电压低于制造商指定的操作电压,所述电压表征服务包括功能测试,所述功能测试在上下文中使用所述计算系统的相关联的系统元件以迭代调整的电压运行所述处理设备。在实施所述电压表征服务期间,所述程序指令引导所述计算系统以监视至少所述处理设备的操作故障,并响应于所述操作故障,使用高于所述迭代调整的电压的当前值的恢复电压来重新启动所述处理设备。

示例10:如示例9所述的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少:使用系统管理控制器监视至少所述处理设备的所述操作故障,所述系统管理控制器为所述处理设备建立看门狗计时器,如果所述处理设备没有响应达预定时间段,则所述看门狗计时器发起对所述处理设备的重置。

示例11:如示例9-10的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少,在实施所述电压表征服务期间,将增量调整的输入电压应用到所述处理设备,根据所述功能测试操作所述处理设备,并且在应用每个所述增量调整的输入电压期间监视至少所述处理设备的操作故障。响应于所述功能测试期间的所述操作故障,所述程序指令引导所述计算系统以确定所述增量调整的输入电压的相应值并至少部分地基于所述增量调整的输入电压的相应值为所述处理设备建立至少一个输入电压。

示例12:如示例9-11的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少基于所述迭代调整的电压的所述当前值建立所述至少一个输入电压的最小操作电压,将电压余量添加到所述最小操作电压,以及指示所述计算系统的电压调节器电路系统向所述处理设备供应具有所述电压余量的所述最小操作电压,以用于所述计算系统中的所述处理设备的用户操作。

示例13:如示例9-12的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少通过与所述通信接口相关联的一个或多个网络链路接收包括由远处的部署平台传送的所述电压表征服务的固件。

示例14:如示例9-13的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少,对于所述迭代调整的电压中的每一个,将所述处理设备启动进入操作系统并实施所述功能测试,其中所述功能测试运行一个或多个应用级别过程,所述应用级别过程被配置为运用所述处理设备的处理器核元件、图形核元件和输入/输出元件。

示例15:如示例9-14的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少响应于接收所述电压表征服务为所述处理设备初始实施所述电压表征服务,以及响应于所述处理设备达到预定的操作小时数周期性地实施所述电压表征服务。

示例16:如示例9-15的装置,包括进一步的程序指令,至少部分地基于所述计算系统的实施,引导所述计算系统以至少通过以第一输入电压初始地操作所述处理设备并在执行所述功能测试和监视所述操作故障的发生的同时以预定增量逐渐下降或上升所述输入电压来实施所述电压表征服务。

示例17:一种用于计算装置的原位电压调整平台,所述平台包括固件更新服务,所述固件更新服务被配置为接收由远离所述计算装置的部署平台传送的电压表征固件以及表征服务,所述表征服务被配置为实施所述电压表征固件以确定用于计算装置的处理设备的至少一个输入电压低于制造商指定的操作电压,所述电压表征固件发起对一个或多个功能测试的实施,所述功能测试在上下文中使用所述计算装置的相关联的系统元件以迭代调整的电压运用所述处理设备。在实施所述一个或多个功能测试期间,所述表征服务被配置成监视至少所述处理设备的操作故障,并响应于所述操作故障,使用高于所述迭代调整的电压的当前值的恢复电压来重新启动所述处理设备。

示例18:如示例17的平台,包括用于所述处理设备的看门狗服务,如果所述处理设备没有响应达预定时间段,则所述看门狗服务发起对所述处理设备的重置。

示例19:如示例17-18的平台,包括所述表征服务,所述表征服务被配置成通过至少以下使用所述恢复电压来重新启动所述处理设备:基于所述迭代调整电压的所述当前值建立所述至少一个输入电压的最小操作电压,将电压余量添加到所述最小操作电压,以及指示所述计算装置的电压调节器电路系统向所述处理设备供应具有所述电压余量的最小操作电压,以用于所述计算装置中的所述处理设备的用户操作。

示例20:如示例17-19的平台,包括所述表征服务,所述表征服务被配置为在所述处理设备被安装在所述计算装置中时根据所述一个或多个功能测试来操作所述处理设备,其中所述计算装置包括外壳、热管理元件、存储器元件、通信元件、数据存储元件、和在所述一个或多个功能测试期间被运用的功率电子元件中的一者或多者。

各附图中所提供的功能框图、操作场景及序列和流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。尽管出于解释简明的目的,本文中所包括的方法可以以功能图、操作场景或序列、或流程图形式示出并且可被描述为一系列动作,但是可以理解和领会,各方法不受这些动作的次序的限制,因为根据本发明,某些动作可以按与本文中所示出和描述的不同的次序和/或与其他动作并发地发生。例如,本领域的技术人员将明白并领会,方法可被替换地表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。

本文中所包括的说明和附图描绘了用于教导本领域的技术人员如何做出和使用最佳选项的特定实现。出于教导创造性原则的目的,一些传统的方面已被简化或忽略。本领域的技术人员将领会来自这些实现的变体也落入的本发明的范围内。本领域的技术人员还将领会以上所描述的各特征可以以各种方式被组合以形成多个实现。作为结果,本发明不局限于以上所描述的特定实现,而是仅由权利要求和它们的等价物来限定。

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