用于系统管理的可伸缩数据采集.pdf

上传人:r7 文档编号:6183929 上传时间:2019-05-18 格式:PDF 页数:17 大小:2.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310549467.7

申请日:

2013.11.07

公开号:

CN103838658A

公开日:

2014.06.04

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 11/30申请公布日:20140604|||实质审查的生效IPC(主分类):G06F 11/30申请日:20131107|||公开

IPC分类号:

G06F11/30; G06F1/28; G08C19/00

主分类号:

G06F11/30

申请人:

国际商业机器公司

发明人:

I·贝萨; J·S·多德森; K·拉加玛尼; E·E·雷特; G·S·斯蒂尔; M·S·艾伦-韦尔; S·H·赖德; T·J·罗斯达尔; G·V·休本

地址:

美国纽约阿芒克

优先权:

2012.11.27 US 13/686,391

专利代理机构:

北京市金杜律师事务所 11256

代理人:

王茂华;孙新国

PDF下载: PDF下载
内容摘要

具有用于系统管理的可伸缩数据采集的系统,包括多个本地数据采集器和系统采集器。每个本地数据采集器与系统的相应子系统耦合。每个本地数据采集器被配置成周期性地从相应的子系统采集功率管理相关的数据,并且对采集的功率管理相关的数据进行格式化以便沿本地数据采集器和系统采集器之间的多个通道的任意一个通道进行传递。系统采集器经由多个通道与多个本地数据采集器耦合。系统采集器至少部分地基于通道状态从系统采集器和每个本地数据采集器之间的通道进行选择,并且取回由所述多个本地数据采集器的每个本地数据采集器沿针对所述本地数据采集器选择的通道所采集的所述功率管理相关的数据。

权利要求书

权利要求书
1.  一种方法,包括:
由多个本地数据采集器中的每个本地数据采集器来周期性地采集针对系统中的多个子系统的相应一个子系统的功率管理数据,其中所述功率管理数据包括热学数据和性能数据;
由所述多个本地数据采集器中的每个本地数据采集器对所述功率管理数据进行格式化以便沿所述本地数据采集器和系统功率管理数据采集器之间的多个通道的任意一个通道传递;
针对所述多个本地数据采集器中的每个本地数据采集器,
至少部分地基于所述多个通道的通道状态来选择在所述本地数据采集器和所述系统功率管理数据采集器之间的所述多个通道中的第一通道;以及
沿所述第一通道取回所述功率管理数据。

2.  根据权利要求1所述的方法,进一步包括至少部分地基于从所述多个本地数据采集器采集的所述功率管理数据来管理用于所述系统的功率。

3.  根据权利要求1所述的方法,进一步包括确定所述通道状态。

4.  根据权利要求1所述的方法,其中也基于所述多个通道的通道特性来进行所述多个通道中的所述第一通道的所述选择。

5.  根据权利要求1所述的方法,其中由所述多个本地数据采集器中的每个本地数据采集器采集针对所述系统中的所述多个子系统的所述相应一个子系统的所述功率管理数据包括:
从遍及所述多个子系统的所述相应一个子系统的感应温度的热传感器来采集所述热学数据;以及
采集关于所述多个子系统的所述相应一个子系统的所述性能数据。

6.  根据权利要求5所述的方法,其中所述采集关于所述多个子 系统的所述相应一个子系统的所述性能数据包括读取性能计数器和确定事件的到达间隔时间中的至少一个。

7.  根据权利要求1所述的方法,其中所述功率管理数据也包括功耗测量值。

8.  根据权利要求1所述的方法,进一步包括向所述多个本地数据采集器中的发起所述周期性地采集所述功率管理数据的至少一个子集传送命令。

9.  根据权利要求1所述的方法,进一步包括所述多个本地数据采集器的至少一个子集根据本地定时器功能来采集所述功率管理数据。

10.  根据权利要求1所述的方法,进一步包括在所述功率管理数据的所述取回前,所述多个本地数据采集器中的至少一个本地数据采集器向采集的所述功率管理数据添加错误或状态信息。

11.  一种系统,包括:
多个子系统;
多个本地数据采集器,每个所述本地数据采集器与所述多个子系统的相应的子系统耦合,所述多个本地数据采集器中的每个本地数据采集器被配置成,
周期性地从所述相应的子系统采集与功率管理相关的数据;
对周期性采集的所述与功率管理相关的数据进行格式化以便沿所述本地数据采集器和系统采集器之间的多个通道中的任意一个通道传递;以及
系统采集器,其经由所述多个通道与所述多个本地数据采集器中的每个本地数据采集器耦合,所述系统采集器被配置成,
至少部分地基于所述多个通道的状态来从所述系统采集器和所述本地数据采集器中的每个本地数据采集器之间的所述多个通道进行选择,
沿针对所述本地数据采集器选择的通道来取回由所述多个本地数据采集器中的每个本地数据采集器所采集的所述与功率管理相 关的数据。

12.  根据权利要求11所述的系统,进一步包括系统功率管理器,其被配置成至少部分地基于由所述系统采集器所提供的所述与功率管理相关的数据来管理所述多个子系统的功耗。

13.  根据权利要求11所述的系统,其中所述多个本地数据采集器中的每个本地数据采集器和所述系统采集器是可配置的数字逻辑。

14.  根据权利要求11所述的系统,其中所述多个子系统包括存储器子系统、输入/输出子系统、通信子系统和图形子系统中的两个或更多个。

15.  根据权利要求11所述的系统,其中所述系统采集器被配置成命令所述多个本地数据采集器中的至少第一本地数据采集器来发起数据采集。

16.  根据权利要求11所述的系统,其中所述多个本地数据采集器中的至少第一本地数据采集器被配置成根据由所述第一本地数据采集器生成的定时脉冲来周期性地从所述多个子系统的所述相应的子系统采集所述与功率管理相关的数据。

17.  根据权利要求11所述的系统,其中所述多个本地数据采集器中的至少第一本地数据采集器被配置成在向所述系统采集器传递的所述与功率管理相关的数据中包括错误数据。

说明书

说明书用于系统管理的可伸缩数据采集
技术领域
本发明主题的实施例一般地涉及功率管理的领域,并且更具体地,涉及用于功率管理的信息的分布式采集。
背景技术
系统的功率密度已经随系统的复杂度增加。功率密度中的增加影响系统的温度条件和性能。复杂系统的功率管理使用各种传感器来监测大量的组件和子系统,并且采集关于影响系统性能的环境条件和事件的信息。功率管理依赖于该信息的及时传递以便采取被动或主动的动作来维持性能。
发明内容
本发明的主题的实施例包括一种系统,该系统包括多个子系统、多个本地数据采集器以及系统采集器。每个本地数据采集器与多个子系统的相应子系统耦合。多个本地数据采集器的每个本地数据采集器被配置成周期性地从相应地子系统采集与功率管理相关的数据,并且被配置成对与周期性采集地功率管理相关的数据进行格式化以便沿本地数据采集器和系统采集器之间的多个通道的任意一个进行传递。系统采集器经由多个通道与多个本地数据采集器的每个本地数据采集器耦合。系统采集器被配置成至少部分地基于多个通道的状态来从系统采集器和每个本地数据采集器之间的多个通道进行选择,并且被配置成沿针对本地数据采集器选择的通道来取回由多个本地数据采集器的每个本地数据采集器所采集的与功率管理相关的数据。
附图说明
通过参考附图,本实施例可以被更好地理解,并且多个目标、特征和优势对于本领域技术人员来说变得清楚。
图1绘出具有本地化的功率管理数据采集和动态通道选择以携带本地功率管理数据的示例系统的概念图;
图2绘出用于从管理的子系统本地采集功率管理数据的操作的示例流程图;
图3绘出系统功率管理数据采集器的示例操作。
图4绘出具有用于多个子系统的本地数据采集器的示例系统的概念图。
具体实施方式
下面的描述包括体现本发明主题的技术的示例性系统、方法、技术、指令序列和计算机程序产品。然而,将理解到描述的实施例可以在没有这些具体细节的情况下实施。例如,说明书引用采集用于功率管理的热学数据和性能数据的例子。实施例可以采集其他的数据,例如功耗测量值。在其他的实例中,公知的指令实例、协议、结构和技术未详细地示出,以便不模糊描述。
系统采集来自于位置遍及于整个系统的传感器和性能监视器的信息以管理功耗。传感器和监视器从存储器装置、输入/输出控制器、图像核等采集信息。在典型的系统架构中携带该信息的通道不足以满足对于有效功率管理的及时性要求。缺乏及时性导致不正确的功率管理动作,其负面地影响系统性能。
系统架构可以被设计成从多个可用的通道选择最为有效的通道以传送功率管理数据(例如,热学数据和性能数据的组合)。由于复杂的系统将包括遭受和/或影响功率管理的多个子系统,针对可伸缩性来本地化数据采集。在周期性的时间间隔处,本地功率管理数据采集器采集针对给定子系统的功率管理数据。系统功率管理数据 采集器在周期性地时间间隔处从每个本地功率管理数据采集器采集功率管理数据。对于给定的时间间隔,系统功率管理数据采集器选择系统功率管理数据采集器和每个本地功率管理数据采集器之间最为有效的通道以获得本地功率管理数据。因为不同的通道特性(例如,通道带宽和通道频率)和通道的各种使用和用户,通道的效率可以跨通道而变化。在给定的时间间隔内选择最为有效的通道的灵活性允许功率管理在动态系统中操作,同时满足对于功率管理的及时性的要求。
图1绘出具有本地化功率管理数据采集和动态通道选择以携带本地功率管理数据的示例系统的概念图。绘出的系统包括处理器芯片101、存储器子系统110A和存储器子系统110B。处理器芯片101包括系统功率管理器103和系统功率管理数据采集器105。系统功率管理器103可以以片上控制器来实现。系统功率管理器103执行任务以管理跨系统的功耗。系统功率管理数据采集器105可以以可配置的/可编程的数字逻辑来实现。实施例也可以以系统功率管理器中的固件或由处理器执行的固件来实现系统功率管理数据采集器。系统功率管理器也可以以处理器芯片上的固件来实现。
为了该示例说明,存储器子系统110A和110B具有类似的配置。存储器子系统110A包括存储器单元112A和片上本地数据采集器114A。存储器子系统110B包括存储器单元112B和片上本地数据采集器114B。数据采集器可以以片上控制器来实现,通过修改子系统控制器的电路装置和固件(例如,修改存储器控制器)来实现,实现为可配置/可编程逻辑等。热传感器120感应在本地数据采集器114A处的逻辑的温度。热传感器135感应存储器单元112A的温度。热传感器121感应在本地数据采集器114B处的逻辑的温度。热传感器137感应存储器单元112B的温度。热传感器的例子包括热二极管。
本地数据采集器114A、114B被配置成分别采集关于存储器子系统110A、110B的热学数据和性能数据。例如,每个本地数据采集器114A、114B编程有代码(例如,固件),其指示本地数据采集 器如何对由本地数据采集器所采集的热学数据和性能数据进行格式化和封包。用于处理本地数据采集器114A的热学数据的代码/数字逻辑被逻辑地绘为热监视器116A。用于处理本地数据采集器114A的性能数据的代码/数字逻辑被逻辑地绘为性能监视器118A。同样地,本地数据采集器114B被绘为包括热监视器116B和性能监视器118B。对于存储器子系统110A,热传感器120、135向热监视器116A供应热学数据。对于存储器子系统110B,热传感器121、137向热监视器116B供应热学数据。性能监视器118A、118B采集性能数据。采集性能数据的例子包括读取事件计数器,该事件计数器代表与各种性能相关的事件(读、写、命中、漏掉、功耗中的改变等)的频率。采集性能数据的另一例子包括计算事件的到达间隔时间(即,事件之间经过的时间量)。性能监视器118A针对存储器子系统110A采集性能数据,而性能监视器118B针对存储器子系统110B采集性能数据。
有多个通道可以用于将来自于存储器子系统110A、110B的每个的功率管理数据携带到系统功率管理数据采集器105。通道可以是互连或总线。通道的例子包括串行外围接口互联总线、IC间总线、系统管理总线以及点到点处理器互连。通道122或通道124可以用于将来自于本地数据采集器114A的功率管理数据携带到系统功率管理数据采集器105。同样地,通道126或通道128可以用于将来自于本地数据采集器114B的功率管理数据携带到系统功率管理数据采集器105。当针对存储器子系统110A采集功率管理数据时,系统功率管理数据采集器105确定通道122、124中的哪个在给定的时间间隔内可以更为有效地提供对存储器子系统110A的本地功率管理数据的访问。当针对存储器子系统110B采集功率管理数据时,系统功率管理数据采集器105确定通道126、128中的哪个在给定的时间间隔内可以更为有效地提供对存储器子系统110A的本地功率管理数据的访问。
基于稍微不同地假设来不同地绘出图1中的通道。通道124、126 被分别绘出为系统功率管理数据采集器105和本地数据采集器114A、114B之间的点到点通道。例如,通道124可以是由处理器芯片101用于配置存储器子系统110A的缓冲器芯片的服务通道,假定缓冲器芯片包括本地数据采集器114A。本地数据采集器114A将采集到的功率管理数据写入到可以经由通道124访问的本地数据采集器114A的存储器位置(例如,寄存器文件)。类似地,本地数据采集器114B将采集的功率管理数据写入到可以经由通道126访问的本地数据采集器114B的存储器位置。然而,在写入功率管理数据前,本地数据采集器114A、114B将采集的热学数据和性能数据封包成功率管理数据。本地数据采集器114A、114B接着分别视情况将功率管理数据进行格式化,以便通过通道124、126来传输。当系统功率管理数据采集器105经由通道124、126来采集功率管理数据时,系统功率管理数据将采集到的功率管理数据写入可以由系统功率管理器103访问的存储器位置。尽管图1将通道124、126绘为系统功率管理数据采集器105和本地数据采集器114A、114B之间的点到点,系统功率管理数据采集器105将利用相应的通道控制器来访问通道124、126。
图1绘出具有相关联的存储器和互连的通道122、128。本地数据采集器114A将数据写入到存储器131(例如,寄存器文件)。本地数据采集器114B将数据写入存储器133。本地数据采集器114A或者直接写入到存储器131或经由用于存储器131的控制器来写入。类似地,本地数据采集器114B或者直接写入到存储器133或者经由用于存储器133的控制器来写入。当准备采集数据时,系统功率管理数据采集器105将向通道122的控制器以及通道128的控制器提交请求。响应于该请求,通道122的控制器从存储器131取回数据。控制器接着将数据写进存储器109并且通知请求方。响应于该通知,系统功率管理数据采集器105从存储器109读取数据并且向系统功率管理器103传送该功率管理数据。类似地,响应于来自于系统功率管理数据采集器105的请求,通道128的控制器从存储器133取 回数据。通道128的控制器接着将数据写进存储器107并且通知请求方。响应于该通知,系统功率管理数据采集器105从存储器107读取数据并且向系统功率管理器103传送该功率管理数据。系统功率管理器103基于由系统功率管理数据采集器105所提供的数据来周期性地管理功耗/对各种子系统的递送。
尽管图1仅绘出热学数据和性能数据的采集,但实施例可以采集其他的数据,例如功耗测量值。作为例子,功率测量装置可以从存储器子系统采集功耗测量值。存储器子系统可以包括跨电源轨上的检测电阻(电流测量)的电压的模拟/数字转换器,该电源轨向存储器模块提供电源以及施加的电压的测量值(感应轨和地之间的下降)。这些一起可以用于在本地功耗监视器处计算从该电压轨到存储器子系统的功耗。类似于其他的监视器,功耗监视器可以向本地数据采集器周期性地提供带有或不带有修改的功耗测量值(例如,区分从不同的电源轨感应的测量值,计算平均值等)。
图2绘出用于从管理的子系统本地采集功率管理数据的操作的示例流程图。这些操作可以利用对片上控制器进行编程的固件、专用集成电路、可编程/可配置数字逻辑控制器等来实现。
在块201处,从热监视器采集热学数据并且从性能监视器采集性能数据。监视器可以实现为本地数据采集器的一部分或单独的代码和/或硬件。热监视器从位于由本地数据采集器所管理的子系统中的一个或多个热传感器(例如,热二极管)来获得热学数据。如果热监视器从多个传感器采集热学数据,则热监视器可以保留各个温度的测量值或合并测量值(例如,计算热学数据的平均值)。性能监视器读取发生在子系统中的与各种性能相关的事件的子系统的一个或多个计数器。性能监视器也可以计算事件之间的时间(即,到达间隔事件数据)。热学数据和性能数据可以写入到由本地数据采集器所有的存储器(例如,高速缓冲存储器)。
在块203处,确定跨本地数据采集器和下一级数据采集器(例如,系统功率管理数据采集器)之间的通道的格式化是相同的。例 如,通道可以具有不同的宽度、频率、报头规范等。相同的代码可以安装进不同架构的多个系统。在启动后,被配置成或编程成操作为本地数据采集器的芯片(即,执行安装的代码的芯片)将与可由本地数据采集器访问的通道控制器通信,以便比较通道的格式化。如果格式化跨通道是同质的,则控制流向块205。否则,控制流向块213。
在块205处,热学数据和性能数据被格式化并且被封包以用于功率管理。例如,热学数据和性能数据被格式化为适合8字节寄存器/缓冲器,并且插入标识符以区分热学数据与性能数据。热学数据和性能数据可以由相应的监视器或由本地数据采集器加标记。相应的监视器或本地数据采集器也可以对封包的数据增加错误/状态字段,以指示针对数据的特定方面的错误和/或与本地数据采集有关的问题。例如,热监视器在来自于每个热传感器的热学数据前插入字段,并且本地数据采集器对功率管理数据包添加报头字段。热监视器在对应于来自报告基本上偏离于相邻热传感器的热学数据的热传感器的热学数据的字段中插入错误标记和热传感器的标识符。本地数据采集器可以向包报头写入对应于字段的偏移/指针以及针对本地数据采集的故障的指示。实施例也可以封装热学数据和性能数据以便进行封包。另外,本地数据采集器可以向功率管理数据(即,热学数据和性能数据)添加报头信息以符合通道规范。
在块207处,性能数据包经由任意的通道写入可由系统功率管理数据采集器所访问的存储器位置。例如,本地数据采集器写入性能数据包(即,格式化和封包的热学数据和性能数据)。例如,本地数据采集器对热学数据和性能数据进行格式化并且封包在由本地数据采集器所有的存储器(例如,高速缓冲存储器)中。本地数据采集器接着将来自于由本地数据采集器所有的存储器的、格式化和封包的数据写入到通过任意的通道可访问的存储器。这假定所有的通道可以访问存储器。在一些情形中,通道可以具有同质的格式化但访问不同的存储器。对于那些情形,对于数目增加的候选通道, 实施例可以向多个存储器写入性能数据包,以便向系统功率管理数据采集器携带性能数据包。
在块209处,存储器位置被标记为更新。标记存储器位置指示位置主控新的数据和位置主控过期数据(即,已经向系统功率管理数据采集器传送的数据)的轨道。标记存储器位置的例子包括设置标记和写入时间戳。控制从块209流向块211。
在块211处,本地数据采集器等待下一时间间隔以便开始。控制从块211流回块201。
如果在块203处确定跨通道的格式化是异质的,则在块213处选择通道格式之一。例如,第一格式可以是对应于服务通道的8字节寄存器/缓冲器。第二格式可以是用于128字节高速缓冲存储器线通道的128个字节。通道格式的选择可以涉及访问这样的结构,该结构字面地或参考地指示不同的通道格式。结构可以在系统启动时填充。
在块215处,根据选择的通道格式来对热学数据和性能数据封包。可以根据参考块205描述的各种例子来完成格式化和封包。
在块217处,功率管理数据包写入到可以由系统功率管理数据采集器经由对应于选择的通道格式的一个或多个通道访问的存储器位置。类似于块207,本地数据采集器可以将功率管理数据包写入通过对应于选择的通道格式的不同通道可访问的多个存储器。
在块219处,存储器位置被标记为更新。再次,标记传达数据可以用于由系统功率管理数据采集器来读取。
在块221处,确定是否还有在当前的时间间隔内没有被选择的额外通道格式。例如,本地数据采集器可以沿通道数据格式指示的链接列表走下去。当本地数据采集器到达空值时,则已经选择了所有的通道格式。作为另一个例子,本地数据采集器可以维护一个计数器,该计数器针对在一个时间间隔内的每个选择的通道格式增加,并且在当前的时间间隔到期时重置。如果留有未选择的通道格式,则控制流向块223。如果在当前的时间段内已经选择了所有的通道格 式,则控制流向块211。
在块223处,选择通道格式中的不同一个通道格式。控制从块233流向块215。
图3描绘系统功率管理数据采集器的示例操作。针对每个时间段来重复一组操作,其是针对系统功率管理数据采集器来定义的。
在块301处,针对当前的时间间隔来选择管理的子系统并且确定用于管理的子系统的最为有效的通道。系统功率管理数据采集器(“系统采集器”)可以针对这样的信息来查询每个通道采集器,该信息向特定的子系统指示关于通道的通道状态和通道特性的通道效率。例如,由于更大的带宽(即,通道特性),第一通道被认为相比较于第二通道更为有效。但由于繁重的使用,第一通道可能具有更大的延迟(即,通道状态)。尽管针对当前的时间间隔确定关于通道状态的效率,但指示通道状态效率的信息可以描述前一时间间隔中的通道状态。系统采集器可以异步地针对子系统来查询通道,并且当所有的相应通道响应时选择子系统。一些实施例对子系统进行优先排序。因此,系统采集器根据子系统优先级来查询通道。例如,存储器子系统可以具有超过输入/输出(I/O)子系统的优先级。因此,系统采集器在查询到I/O子系统的本地数据采集器的通道的通道控制器前,查询到存储器子系统的本地数据采集器的通道的通道控制器。实施例可以查询所有的通道控制器,并且接着根据优先级来选择通道。在一些情形中,多个子系统可以具有相同的优先级。例如,图像子系统和存储器子系统可以在一个时间间隔内被定义为具有相同的优先级。系统采集器查询到两个系统的通道的通道控制器并且从所有通道都响应的本地数据采集器采集功率管理数据。
在块303处,选择子系统的最为有效的通道。例如,系统采集器选择具有最低延迟的通道。实施例可以将通道状态和通道特性输入到输出代表效率的值的函数中。例如,系统采集器可以使用基于通道的延迟和带宽来计算效率的函数。
在块305处,可以经由选择的通道来访问存储器位置。例如, 系统采集器向选择的通道的控制器提交针对数据的请求。
在块307处,确定功率管理数据包是否可以用于管理的子系统。例如,通道控制器读取子系统的本地数据采集器的存储器中的存储器位置并且确定(多个)条目被标记为由本地数据采集器更新。如果功率管理数据包可用,则控制流向块313。如果功率管理数据包不可用,则控制流向块309。
在块309处,针对选择的通道来报告错误。错误例程可以确定数据包是否由于本地数据采集器中的错误、故障监视器、与选择的通道的问题等而不可用。
在块311处,确定针对管理的子系统的下一最为有效的通道。系统采集器可以将关于通道状态和通道特性的信息维持一个时间段或跨多个时间段。系统采集器使用维持的通道信息来选择下一最为有效的通道。控制从块311流回到块305。
如果在块307处功率管理数据包可用,则在块313处,经由选择的通道来取回功率管理数据包。
在块315处,向可以由系统功率管理器访问的位置写入功率管理数据包。例如,系统采集器向由系统功率管理器所有的存储器传输功率管理数据包。系统采集器可以聚合跨管理的子系统所采集的功率管理数据。系统采集器也可以将采集的数据组织进可由系统功率管理器访问的合适缓冲器/存储器。
在块317处,在选择的通道的存储器位置中的性能数据包被标记为读取。响应于系统采集器移动或复制性能数据包,通道控制器可以标记位于通道的每个端处的存储器位置(例如缓冲器)。通道控制器可以将数据标记为如控制器之间协商的读取。取决于通道规范,通道控制器可以在执行读取后冲刷缓冲器。
在块319处,确定在当前的时间间隔中是否存在未选择的管理的子系统。系统采集器可以维护指示功率管理数据已经从其选择的管理的子系统的数据。实施例也可以针对每个管理的子系统来设计系统采集器中的缓冲器。系统采集器可以基于缓冲器是否为空来确 定在当前的时间间隔中是否为数据采集而选择了管理的子系统。如果在当前的时间间隔中存在未选择的管理的子系统,则控制流向块321。否则,控制流向块323。
在块321处,选择不同的管理的子系统。控制从块321流向块303。
在块323处,系统采集器等待直到当前的时间间隔到期。控制从块323流向块301。
提供流程图以辅助理解本发明的主题并且不旨在限制权利要求或本发明主题的范围。在绘出的示例操作中的变化对于本发明的主题是可以的。例如,在图2的块205和207中绘出为不同的操作可以作为单个的操作发生。本地数据采集器可以对通道可访问的存储器装置中的数据进行格式化和封包。实施例可以格式化和封包存储器的一个位置(例如,预留的暂存空间)中的数据并且接着当准备由通道访问时,将格式化和封包的数据移动/复制到存储器中的另一位置。作为另一示例性变化,在图2中的块211前可以执行附加的操作,以便循环访问由本地数据采集器所管理的多个子系统。进一步,实施例并不必需要编码以适应同质通道格式或异质通道格式的可能性。例如,实施例可以配置本地数据采集器以执行对应于块205、207、209和211的操作而不需要对应于块203的任何决策操作或否分支的操作。类似地,实施例可以配置本地数据采集器以执行对应于块203的否分支的操作而不需要块203的决策操作以及不需要对应于来自于块203的是分支的块的操作。
关于图3,可以执行不同的操作以允许热学数据和/或性能数据的稍后到达。实施例可以设置标记以用于指示针对管理的子系统的选择的通道的潜在问题和读取针对不同的管理的子系统的数据。在时间间隔到期前并且在读取了针对不同的管理的子系统的数据包后,系统采集器可以在报告错误前,尝试从管理的子系统的选择的通道再次读取数据包。作为另一个示例性变化,在块315后、在块321后,或在一个时间间隔内已经采集了针对所有管理的子系统的数 据后,可以向系统功率管理器通知可用的功率管理数据。
除了已经描述的实施例,实施例可以以分层或嵌套的方式来实现本发明的主题。本地数据采集器可以负责多个子系统。这些子系统可以或可以不具有它们自己的本地数据采集器,并且本地数据采集器可以是片外的(例如,协处理器)和/或与由本地数据采集器管理的子系统分离。例如,I/O集线器控制器可以具有本地数据采集器,该本地数据采集器采集针对I/O集线器控制器和来自于连接到I/O集线器控制器的装置(例如,图像装置、外围组件互连装置等)的本地数据采集器的功率管理数据。这些连接的装置对于本地数据采集可以认为是更小的域,而包围的或更大的域包括这些装置和I/O集线器控制器。本地数据采集器采集来自于图像装置的功率管理数据并且将采集的数据向I/O集线器控制器的本地数据采集器报告。另一本地数据采集器从PCIe装置采集功率管理数据并且也向负责I/O集线器控制器域的本地数据采集器报告该采集的数据。更大域的本地数据采集器格式化和封包来自于更小的域和I/O集线器控制器的数据(即,格式化和封包针对更大的I/O集线器域的功率管理数据)。图4绘出具有用于多个子系统的本地数据采集器的示例系统的概念图。图4绘出处理器芯片401、本地数据采集器411、413和子系统437、435、433。处理器芯片401包括与系统功率管理器403通信的系统功率管理数据采集器405。本地数据采集器411包括热监视器415和性能监视器421。本地数据采集器耦合到也与子系统437、435耦合的总线439。本地数据采集器413包括热监视器417和性能监视器419。总线441将本地数据采集器413与子系统433耦合。
本地数据采集器411从子系统437、435采集功率管理数据。本地数据采集器411的热监视器415从热传感器423、427、429采集热学数据。热传感器423感应本地数据采集器411的温度。热传感器427感应子系统437的温度(例如,靠近存储器单元)。热传感器429感应子系统435(例如,图像处理器)的温度。性能监视器421经由总线439从子系统437、435采集性能数据。性能监视器421 可以查询子系统437、435的代理。代理读取/维护计数器和计算到达间隔事件时间。本地数据采集器411可以配置成区分地传送由本地数据采集器411所管理的不同子系统的功率管理数据或配置成组合功率管理数据。例如,本地数据采集器可以配置成(或通过系统功率管理数据采集器405所指示)计算跨子系统437、435和本地数据采集器411的热学数据的平均值。实施例也可以权衡不同的数据(例如,相比较于本地数据采集器热学数据,给予子系统热学数据更大的权重)。
本地数据采集器413从子系统433采集功率管理数据。本地数据采集器413的热监视器417从热传感器425、431采集热学数据。热传感器425感应本地数据采集器413的温度。热传感器431感应子系统433的温度。性能监视器419经由总线441从子系统433采集性能数据。性能监视器421查询子系统433的代理。代理读取/维护计数器和计算到达间隔事件时间。
多个通道可以用于将来自于本地数据采集器411、413的每个本地数据采集器的功率管理数据携带到系统功率管理数据采集器405。通道422或通道424可以用于将来自于本地数据采集器411的功率管理数据携带到系统功率管理数据采集器405。类似地,通道426或通道428可以用于将来自于本地数据采集器413的功率管理数据携带到系统功率管理数据采集器405。当从本地数据采集器411采集功率管理数据时,系统功率管理数据采集器405确定通道422、424中的哪个在给定的时间间隔内可以更为有效地提供到本地功率管理数据的访问。当从本地数据采集器413采集功率管理数据时,系统功率管理数据采集器405确定通道426、428中的哪个在给定的时间间隔内可以更为有效地提供到本地功率管理数据的访问。
图4中的通道被不同地绘出以代表不同的通道特性的可能性,例如通道带宽。通道422、426被绘出为具有比通道428、424更大的带宽。但是通道424、428可以操作在更高的频率,由更少的组件来使用。从图4移除了图1中绘出的一些最低细节。通道422、424、 426、428在本地数据采集器411、413的相应一个处可以具有缓冲器和控制器。类似地,通道422、424、426、428在处理器芯片401处可以具有缓冲器和控制器。缓冲器407、409被绘出为在处理器芯片401上。缓冲器407跨越通道422、424二者。类似地,缓冲器409跨越通道426、428二者。缓冲器407、409以虚线绘出以考虑其中每个缓冲器实际上是多缓冲器的可能实施例以及考虑其中缓冲器跨通道共享的可能实施例。
系统功率管理数据采集器405以类似于图1的系统功率管理数据采集器105来操作。系统功率管理数据采集器405可以对功率管理数据执行附加的操作,以分开组合的功率管理数据,因为功率管理数据可以被组合以便有效地从本地数据采集器传输。系统功率管理数据采集器405可以对功率管理数据加标记,以标识源本地数据采集器和/或相应的子系统。
对于系统功率管理数据采集器(例如,图1中的采集器105)向系统功率管理器(例如,图1的系统功率管理器103)提供功率管理数据,各种实施例是可能的。一些实施例配置系统功率管理数据采集器以便将采集的功率管理数据写入进可以由系统功率管理器访问的存储器。实施例可以配置系统功率管理数据采集器来向系统功率管理器通知在给定的时间段中功率管理数据何时可用于所有子系统的任意一个、每个子系统、或阈值数目的子系统。一些实施例配置系统功率管理数据采集器,以向系统功率管理器直接地转发或传递功率管理数据(例如,经由分组或消息中的互连或总线)。
在本地数据采集器处的数据采集、格式化和传输动作可以利用不同的技术来触发——通过从系统功率管理器/系统采集器发送的显式命令(“全局命令”)、通过到本地数据采集器的通信通道或通过本地定时器功能。利用全局命令,采集同步于在功率管理控制器处对于数据的需求。使用本地定时器功能消除了针对数据采集的命令-传输开销并且也在实现定时器功能的每个本地采集器处建立可靠地周期性采集传输处理。本地数据采集器根据触发本地数据采集器 来进行采集、格式化和封包的本地产生的周期性定时脉冲来采集数据。本地定义的采集间隔允许触发本地数据采集关于系统功率管理器和/或系统采集器是自包含的。并且本地定义的采集间隔允许本地数据采集跨本地数据采集器,以及关于系统采集器和系统功率管理器是异步的。实施例可以使用两种技术来发起系统内的数据采集、格式化和封包。对于某些子系统/域来说,数据采集和对于数据的需求的同步可能更为重要,而消除命令传输开销对于其他子系统/域具有更大的回报。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的 数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现 流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令也可以加载在计算机、其他的可编程数据处理装置、或其他的设备以使得在计算机、其他可编程数据处理装置,或其他的设备上执行一系列的操作步骤,以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中的块或多个块中指定的功能/动作的处理。
尽管参考了各种实现和使用描述了实施例,将理解到的是这些实施例是示例性的并且本发明主题的范围并不限于它们。许多变化、修改、添加和改进都是可能的。
可以向这里描述的组件、操作或结构提供多个实例作为单个的实例。最后,各种组件、操作和数据仓库之间的边界是稍微任意的,并且在具体的示例性配置的上下文中示出特定的操作。功能性的其他分配能够被预见并且可以落入到本发明主题的范围内。通常,在示例性的配置中作为分离的组件呈示的结构和功能性可以实现为组合的结构或组件。类似地,作为单个的组件呈示的结构和功能性可以实现为分离的组件。这些和其他的变化、修改、添加和改进可以落入本发明主题的范围内。

用于系统管理的可伸缩数据采集.pdf_第1页
第1页 / 共17页
用于系统管理的可伸缩数据采集.pdf_第2页
第2页 / 共17页
用于系统管理的可伸缩数据采集.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《用于系统管理的可伸缩数据采集.pdf》由会员分享,可在线阅读,更多相关《用于系统管理的可伸缩数据采集.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103838658 A (43)申请公布日 2014.06.04 CN 103838658 A (21)申请号 201310549467.7 (22)申请日 2013.11.07 13/686,391 2012.11.27 US G06F 11/30(2006.01) G06F 1/28(2006.01) G08C 19/00(2006.01) (71)申请人 国际商业机器公司 地址 美国纽约阿芒克 (72)发明人 I贝萨 JS多德森 K拉加玛尼 EE雷特 GS斯蒂尔 MS艾伦 - 韦尔 SH赖德 TJ罗斯达尔 GV休本 (74)专利代理机构 北京市金杜律师事务所 1。

2、1256 代理人 王茂华 孙新国 (54) 发明名称 用于系统管理的可伸缩数据采集 (57) 摘要 具有用于系统管理的可伸缩数据采集的系 统, 包括多个本地数据采集器和系统采集器。 每个 本地数据采集器与系统的相应子系统耦合。每个 本地数据采集器被配置成周期性地从相应的子系 统采集功率管理相关的数据, 并且对采集的功率 管理相关的数据进行格式化以便沿本地数据采集 器和系统采集器之间的多个通道的任意一个通道 进行传递。系统采集器经由多个通道与多个本地 数据采集器耦合。系统采集器至少部分地基于通 道状态从系统采集器和每个本地数据采集器之间 的通道进行选择, 并且取回由所述多个本地数据 采集器的每个。

3、本地数据采集器沿针对所述本地数 据采集器选择的通道所采集的所述功率管理相关 的数据。 (30)优先权数据 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附图4页 (10)申请公布号 CN 103838658 A CN 103838658 A 1/2 页 2 1. 一种方法, 包括 : 由多个本地数据采集器中的每个本地数据采集器来周期性地采集针对系统中的多个 子系统的相应一个子系统的功率管理数据, 其中所述功率管理数据包括热学数据和性能数 据 ; 由所述多个本地数据采集器中的每。

4、个本地数据采集器对所述功率管理数据进行格式 化以便沿所述本地数据采集器和系统功率管理数据采集器之间的多个通道的任意一个通 道传递 ; 针对所述多个本地数据采集器中的每个本地数据采集器, 至少部分地基于所述多个通道的通道状态来选择在所述本地数据采集器和所述系统 功率管理数据采集器之间的所述多个通道中的第一通道 ; 以及 沿所述第一通道取回所述功率管理数据。 2. 根据权利要求 1 所述的方法, 进一步包括至少部分地基于从所述多个本地数据采集 器采集的所述功率管理数据来管理用于所述系统的功率。 3. 根据权利要求 1 所述的方法, 进一步包括确定所述通道状态。 4. 根据权利要求 1 所述的方法,。

5、 其中也基于所述多个通道的通道特性来进行所述多个 通道中的所述第一通道的所述选择。 5. 根据权利要求 1 所述的方法, 其中由所述多个本地数据采集器中的每个本地数据采 集器采集针对所述系统中的所述多个子系统的所述相应一个子系统的所述功率管理数据 包括 : 从遍及所述多个子系统的所述相应一个子系统的感应温度的热传感器来采集所述热 学数据 ; 以及 采集关于所述多个子系统的所述相应一个子系统的所述性能数据。 6. 根据权利要求 5 所述的方法, 其中所述采集关于所述多个子系统的所述相应一个子 系统的所述性能数据包括读取性能计数器和确定事件的到达间隔时间中的至少一个。 7. 根据权利要求 1 所述。

6、的方法, 其中所述功率管理数据也包括功耗测量值。 8. 根据权利要求 1 所述的方法, 进一步包括向所述多个本地数据采集器中的发起所述 周期性地采集所述功率管理数据的至少一个子集传送命令。 9. 根据权利要求 1 所述的方法, 进一步包括所述多个本地数据采集器的至少一个子集 根据本地定时器功能来采集所述功率管理数据。 10. 根据权利要求 1 所述的方法, 进一步包括在所述功率管理数据的所述取回前, 所述 多个本地数据采集器中的至少一个本地数据采集器向采集的所述功率管理数据添加错误 或状态信息。 11. 一种系统, 包括 : 多个子系统 ; 多个本地数据采集器, 每个所述本地数据采集器与所述多。

7、个子系统的相应的子系统耦 合, 所述多个本地数据采集器中的每个本地数据采集器被配置成, 周期性地从所述相应的子系统采集与功率管理相关的数据 ; 对周期性采集的所述与功率管理相关的数据进行格式化以便沿所述本地数据采集器 和系统采集器之间的多个通道中的任意一个通道传递 ; 以及 权 利 要 求 书 CN 103838658 A 2 2/2 页 3 系统采集器, 其经由所述多个通道与所述多个本地数据采集器中的每个本地数据采集 器耦合, 所述系统采集器被配置成, 至少部分地基于所述多个通道的状态来从所述系统采集器和所述本地数据采集器中 的每个本地数据采集器之间的所述多个通道进行选择, 沿针对所述本地数。

8、据采集器选择的通道来取回由所述多个本地数据采集器中的每个 本地数据采集器所采集的所述与功率管理相关的数据。 12. 根据权利要求 11 所述的系统, 进一步包括系统功率管理器, 其被配置成至少部分 地基于由所述系统采集器所提供的所述与功率管理相关的数据来管理所述多个子系统的 功耗。 13. 根据权利要求 11 所述的系统, 其中所述多个本地数据采集器中的每个本地数据采 集器和所述系统采集器是可配置的数字逻辑。 14.根据权利要求11所述的系统, 其中所述多个子系统包括存储器子系统、 输入/输出 子系统、 通信子系统和图形子系统中的两个或更多个。 15. 根据权利要求 11 所述的系统, 其中所。

9、述系统采集器被配置成命令所述多个本地数 据采集器中的至少第一本地数据采集器来发起数据采集。 16. 根据权利要求 11 所述的系统, 其中所述多个本地数据采集器中的至少第一本地数 据采集器被配置成根据由所述第一本地数据采集器生成的定时脉冲来周期性地从所述多 个子系统的所述相应的子系统采集所述与功率管理相关的数据。 17. 根据权利要求 11 所述的系统, 其中所述多个本地数据采集器中的至少第一本地数 据采集器被配置成在向所述系统采集器传递的所述与功率管理相关的数据中包括错误数 据。 权 利 要 求 书 CN 103838658 A 3 1/10 页 4 用于系统管理的可伸缩数据采集 技术领域 。

10、0001 本发明主题的实施例一般地涉及功率管理的领域, 并且更具体地, 涉及用于功率 管理的信息的分布式采集。 背景技术 0002 系统的功率密度已经随系统的复杂度增加。 功率密度中的增加影响系统的温度条 件和性能。复杂系统的功率管理使用各种传感器来监测大量的组件和子系统, 并且采集关 于影响系统性能的环境条件和事件的信息。 功率管理依赖于该信息的及时传递以便采取被 动或主动的动作来维持性能。 发明内容 0003 本发明的主题的实施例包括一种系统, 该系统包括多个子系统、 多个本地数据采 集器以及系统采集器。每个本地数据采集器与多个子系统的相应子系统耦合。多个本地数 据采集器的每个本地数据采集。

11、器被配置成周期性地从相应地子系统采集与功率管理相关 的数据, 并且被配置成对与周期性采集地功率管理相关的数据进行格式化以便沿本地数据 采集器和系统采集器之间的多个通道的任意一个进行传递。 系统采集器经由多个通道与多 个本地数据采集器的每个本地数据采集器耦合。 系统采集器被配置成至少部分地基于多个 通道的状态来从系统采集器和每个本地数据采集器之间的多个通道进行选择, 并且被配置 成沿针对本地数据采集器选择的通道来取回由多个本地数据采集器的每个本地数据采集 器所采集的与功率管理相关的数据。 附图说明 0004 通过参考附图, 本实施例可以被更好地理解, 并且多个目标、 特征和优势对于本领 域技术人。

12、员来说变得清楚。 0005 图 1 绘出具有本地化的功率管理数据采集和动态通道选择以携带本地功率管理 数据的示例系统的概念图 ; 0006 图 2 绘出用于从管理的子系统本地采集功率管理数据的操作的示例流程图 ; 0007 图 3 绘出系统功率管理数据采集器的示例操作。 0008 图 4 绘出具有用于多个子系统的本地数据采集器的示例系统的概念图。 具体实施方式 0009 下面的描述包括体现本发明主题的技术的示例性系统、 方法、 技术、 指令序列和计 算机程序产品。然而, 将理解到描述的实施例可以在没有这些具体细节的情况下实施。例 如, 说明书引用采集用于功率管理的热学数据和性能数据的例子。实施。

13、例可以采集其他的 数据, 例如功耗测量值。在其他的实例中, 公知的指令实例、 协议、 结构和技术未详细地示 出, 以便不模糊描述。 说 明 书 CN 103838658 A 4 2/10 页 5 0010 系统采集来自于位置遍及于整个系统的传感器和性能监视器的信息以管理功耗。 传感器和监视器从存储器装置、 输入 / 输出控制器、 图像核等采集信息。在典型的系统架构 中携带该信息的通道不足以满足对于有效功率管理的及时性要求。 缺乏及时性导致不正确 的功率管理动作, 其负面地影响系统性能。 0011 系统架构可以被设计成从多个可用的通道选择最为有效的通道以传送功率管理 数据 (例如, 热学数据和性。

14、能数据的组合) 。由于复杂的系统将包括遭受和 / 或影响功率管 理的多个子系统, 针对可伸缩性来本地化数据采集。 在周期性的时间间隔处, 本地功率管理 数据采集器采集针对给定子系统的功率管理数据。 系统功率管理数据采集器在周期性地时 间间隔处从每个本地功率管理数据采集器采集功率管理数据。对于给定的时间间隔, 系统 功率管理数据采集器选择系统功率管理数据采集器和每个本地功率管理数据采集器之间 最为有效的通道以获得本地功率管理数据。 因为不同的通道特性 (例如, 通道带宽和通道频 率) 和通道的各种使用和用户, 通道的效率可以跨通道而变化。在给定的时间间隔内选择最 为有效的通道的灵活性允许功率管理。

15、在动态系统中操作, 同时满足对于功率管理的及时性 的要求。 0012 图 1 绘出具有本地化功率管理数据采集和动态通道选择以携带本地功率管理数 据的示例系统的概念图。绘出的系统包括处理器芯片 101、 存储器子系统 110A 和存储器子 系统 110B。处理器芯片 101 包括系统功率管理器 103 和系统功率管理数据采集器 105。系 统功率管理器 103 可以以片上控制器来实现。系统功率管理器 103 执行任务以管理跨系统 的功耗。系统功率管理数据采集器 105 可以以可配置的 / 可编程的数字逻辑来实现。实施 例也可以以系统功率管理器中的固件或由处理器执行的固件来实现系统功率管理数据采 。

16、集器。系统功率管理器也可以以处理器芯片上的固件来实现。 0013 为了该示例说明, 存储器子系统110A和110B具有类似的配置。 存储器子系统110A 包括存储器单元 112A 和片上本地数据采集器 114A。存储器子系统 110B 包括存储器单元 112B 和片上本地数据采集器 114B。数据采集器可以以片上控制器来实现, 通过修改子系统 控制器的电路装置和固件 (例如, 修改存储器控制器) 来实现, 实现为可配置 / 可编程逻辑 等。热传感器 120 感应在本地数据采集器 114A 处的逻辑的温度。热传感器 135 感应存储 器单元 112A 的温度。热传感器 121 感应在本地数据采集。

17、器 114B 处的逻辑的温度。热传感 器 137 感应存储器单元 112B 的温度。热传感器的例子包括热二极管。 0014 本地数据采集器114A、 114B被配置成分别采集关于存储器子系统110A、 110B的热 学数据和性能数据。 例如, 每个本地数据采集器114A、 114B编程有代码 (例如, 固件) , 其指示 本地数据采集器如何对由本地数据采集器所采集的热学数据和性能数据进行格式化和封 包。用于处理本地数据采集器 114A 的热学数据的代码 / 数字逻辑被逻辑地绘为热监视器 116A。用于处理本地数据采集器 114A 的性能数据的代码 / 数字逻辑被逻辑地绘为性能监 视器 118A。

18、。同样地, 本地数据采集器 114B 被绘为包括热监视器 116B 和性能监视器 118B。 对于存储器子系统110A, 热传感器120、 135向热监视器116A供应热学数据。 对于存储器子 系统 110B, 热传感器 121、 137 向热监视器 116B 供应热学数据。性能监视器 118A、 118B 采集 性能数据。采集性能数据的例子包括读取事件计数器, 该事件计数器代表与各种性能相关 的事件 (读、 写、 命中、 漏掉、 功耗中的改变等) 的频率。采集性能数据的另一例子包括计算事 件的到达间隔时间 (即, 事件之间经过的时间量) 。 性能监视器118A针对存储器子系统110A 说 明。

19、 书 CN 103838658 A 5 3/10 页 6 采集性能数据, 而性能监视器 118B 针对存储器子系统 110B 采集性能数据。 0015 有多个通道可以用于将来自于存储器子系统 110A、 110B 的每个的功率管理数据 携带到系统功率管理数据采集器 105。通道可以是互连或总线。通道的例子包括串行外围 接口互联总线、 IC间总线、 系统管理总线以及点到点处理器互连。 通道122或通道124可以 用于将来自于本地数据采集器 114A 的功率管理数据携带到系统功率管理数据采集器 105。 同样地, 通道 126 或通道 128 可以用于将来自于本地数据采集器 114B 的功率管理数。

20、据携带 到系统功率管理数据采集器 105。当针对存储器子系统 110A 采集功率管理数据时, 系统功 率管理数据采集器105确定通道122、 124中的哪个在给定的时间间隔内可以更为有效地提 供对存储器子系统 110A 的本地功率管理数据的访问。当针对存储器子系统 110B 采集功率 管理数据时, 系统功率管理数据采集器 105 确定通道 126、 128 中的哪个在给定的时间间隔 内可以更为有效地提供对存储器子系统 110A 的本地功率管理数据的访问。 0016 基于稍微不同地假设来不同地绘出图 1 中的通道。通道 124、 126 被分别绘出为系 统功率管理数据采集器 105 和本地数据采。

21、集器 114A、 114B 之间的点到点通道。例如, 通道 124 可以是由处理器芯片 101 用于配置存储器子系统 110A 的缓冲器芯片的服务通道, 假定 缓冲器芯片包括本地数据采集器 114A。本地数据采集器 114A 将采集到的功率管理数据写 入到可以经由通道 124 访问的本地数据采集器 114A 的存储器位置 (例如, 寄存器文件) 。类 似地, 本地数据采集器114B将采集的功率管理数据写入到可以经由通道126访问的本地数 据采集器 114B 的存储器位置。然而, 在写入功率管理数据前, 本地数据采集器 114A、 114B 将采集的热学数据和性能数据封包成功率管理数据。本地数据。

22、采集器 114A、 114B 接着分别 视情况将功率管理数据进行格式化, 以便通过通道 124、 126 来传输。当系统功率管理数据 采集器 105 经由通道 124、 126 来采集功率管理数据时, 系统功率管理数据将采集到的功率 管理数据写入可以由系统功率管理器 103 访问的存储器位置。尽管图 1 将通道 124、 126 绘 为系统功率管理数据采集器 105 和本地数据采集器 114A、 114B 之间的点到点, 系统功率管 理数据采集器 105 将利用相应的通道控制器来访问通道 124、 126。 0017 图1绘出具有相关联的存储器和互连的通道122、 128。 本地数据采集器11。

23、4A将数 据写入到存储器 131(例如, 寄存器文件) 。本地数据采集器 114B 将数据写入存储器 133。 本地数据采集器 114A 或者直接写入到存储器 131 或经由用于存储器 131 的控制器来写入。 类似地, 本地数据采集器 114B 或者直接写入到存储器 133 或者经由用于存储器 133 的控制 器来写入。 当准备采集数据时, 系统功率管理数据采集器105将向通道122的控制器以及通 道 128 的控制器提交请求。响应于该请求, 通道 122 的控制器从存储器 131 取回数据。控 制器接着将数据写进存储器 109 并且通知请求方。响应于该通知, 系统功率管理数据采集 器 10。

24、5 从存储器 109 读取数据并且向系统功率管理器 103 传送该功率管理数据。类似地, 响应于来自于系统功率管理数据采集器 105 的请求, 通道 128 的控制器从存储器 133 取回 数据。通道 128 的控制器接着将数据写进存储器 107 并且通知请求方。响应于该通知, 系 统功率管理数据采集器 105 从存储器 107 读取数据并且向系统功率管理器 103 传送该功率 管理数据。系统功率管理器 103 基于由系统功率管理数据采集器 105 所提供的数据来周期 性地管理功耗 / 对各种子系统的递送。 0018 尽管图 1 仅绘出热学数据和性能数据的采集, 但实施例可以采集其他的数据, 。

25、例 如功耗测量值。作为例子, 功率测量装置可以从存储器子系统采集功耗测量值。存储器子 说 明 书 CN 103838658 A 6 4/10 页 7 系统可以包括跨电源轨上的检测电阻 (电流测量) 的电压的模拟 / 数字转换器, 该电源轨向 存储器模块提供电源以及施加的电压的测量值 (感应轨和地之间的下降) 。这些一起可以用 于在本地功耗监视器处计算从该电压轨到存储器子系统的功耗。类似于其他的监视器, 功 耗监视器可以向本地数据采集器周期性地提供带有或不带有修改的功耗测量值 (例如, 区 分从不同的电源轨感应的测量值, 计算平均值等) 。 0019 图 2 绘出用于从管理的子系统本地采集功率管。

26、理数据的操作的示例流程图。这些 操作可以利用对片上控制器进行编程的固件、 专用集成电路、 可编程 / 可配置数字逻辑控 制器等来实现。 0020 在块 201 处, 从热监视器采集热学数据并且从性能监视器采集性能数据。监视器 可以实现为本地数据采集器的一部分或单独的代码和 / 或硬件。热监视器从位于由本地数 据采集器所管理的子系统中的一个或多个热传感器 (例如, 热二极管) 来获得热学数据。如 果热监视器从多个传感器采集热学数据, 则热监视器可以保留各个温度的测量值或合并测 量值 (例如, 计算热学数据的平均值) 。性能监视器读取发生在子系统中的与各种性能相关 的事件的子系统的一个或多个计数器。

27、。 性能监视器也可以计算事件之间的时间 (即, 到达间 隔事件数据) 。热学数据和性能数据可以写入到由本地数据采集器所有的存储器 (例如, 高 速缓冲存储器) 。 0021 在块 203 处, 确定跨本地数据采集器和下一级数据采集器 (例如, 系统功率管理数 据采集器) 之间的通道的格式化是相同的。例如, 通道可以具有不同的宽度、 频率、 报头规 范等。相同的代码可以安装进不同架构的多个系统。在启动后, 被配置成或编程成操作为 本地数据采集器的芯片 (即, 执行安装的代码的芯片) 将与可由本地数据采集器访问的通道 控制器通信, 以便比较通道的格式化。如果格式化跨通道是同质的, 则控制流向块 2。

28、05。否 则, 控制流向块 213。 0022 在块 205 处, 热学数据和性能数据被格式化并且被封包以用于功率管理。例如, 热 学数据和性能数据被格式化为适合 8 字节寄存器 / 缓冲器, 并且插入标识符以区分热学数 据与性能数据。热学数据和性能数据可以由相应的监视器或由本地数据采集器加标记。相 应的监视器或本地数据采集器也可以对封包的数据增加错误 / 状态字段, 以指示针对数据 的特定方面的错误和 / 或与本地数据采集有关的问题。例如, 热监视器在来自于每个热传 感器的热学数据前插入字段, 并且本地数据采集器对功率管理数据包添加报头字段。热监 视器在对应于来自报告基本上偏离于相邻热传感器。

29、的热学数据的热传感器的热学数据的 字段中插入错误标记和热传感器的标识符。 本地数据采集器可以向包报头写入对应于字段 的偏移 / 指针以及针对本地数据采集的故障的指示。实施例也可以封装热学数据和性能数 据以便进行封包。另外, 本地数据采集器可以向功率管理数据 (即, 热学数据和性能数据) 添 加报头信息以符合通道规范。 0023 在块 207 处, 性能数据包经由任意的通道写入可由系统功率管理数据采集器所访 问的存储器位置。例如, 本地数据采集器写入性能数据包 (即, 格式化和封包的热学数据和 性能数据) 。例如, 本地数据采集器对热学数据和性能数据进行格式化并且封包在由本地 数据采集器所有的存。

30、储器 (例如, 高速缓冲存储器) 中。本地数据采集器接着将来自于由本 地数据采集器所有的存储器的、 格式化和封包的数据写入到通过任意的通道可访问的存储 器。这假定所有的通道可以访问存储器。在一些情形中, 通道可以具有同质的格式化但访 说 明 书 CN 103838658 A 7 5/10 页 8 问不同的存储器。 对于那些情形, 对于数目增加的候选通道, 实施例可以向多个存储器写入 性能数据包, 以便向系统功率管理数据采集器携带性能数据包。 0024 在块 209 处, 存储器位置被标记为更新。标记存储器位置指示位置主控新的数据 和位置主控过期数据 (即, 已经向系统功率管理数据采集器传送的数。

31、据) 的轨道。标记存储 器位置的例子包括设置标记和写入时间戳。控制从块 209 流向块 211。 0025 在块 211 处, 本地数据采集器等待下一时间间隔以便开始。控制从块 211 流回块 201。 0026 如果在块203处确定跨通道的格式化是异质的, 则在块213处选择通道格式之一。 例如, 第一格式可以是对应于服务通道的8字节寄存器/缓冲器。 第二格式可以是用于128 字节高速缓冲存储器线通道的 128 个字节。通道格式的选择可以涉及访问这样的结构, 该 结构字面地或参考地指示不同的通道格式。结构可以在系统启动时填充。 0027 在块 215 处, 根据选择的通道格式来对热学数据和性。

32、能数据封包。可以根据参考 块 205 描述的各种例子来完成格式化和封包。 0028 在块 217 处, 功率管理数据包写入到可以由系统功率管理数据采集器经由对应于 选择的通道格式的一个或多个通道访问的存储器位置。 类似于块207, 本地数据采集器可以 将功率管理数据包写入通过对应于选择的通道格式的不同通道可访问的多个存储器。 0029 在块 219 处, 存储器位置被标记为更新。再次, 标记传达数据可以用于由系统功率 管理数据采集器来读取。 0030 在块 221 处, 确定是否还有在当前的时间间隔内没有被选择的额外通道格式。例 如, 本地数据采集器可以沿通道数据格式指示的链接列表走下去。当本。

33、地数据采集器到达 空值时, 则已经选择了所有的通道格式。 作为另一个例子, 本地数据采集器可以维护一个计 数器, 该计数器针对在一个时间间隔内的每个选择的通道格式增加, 并且在当前的时间间 隔到期时重置。 如果留有未选择的通道格式, 则控制流向块223。 如果在当前的时间段内已 经选择了所有的通道格式, 则控制流向块 211。 0031 在块 223 处, 选择通道格式中的不同一个通道格式。控制从块 233 流向块 215。 0032 图 3 描绘系统功率管理数据采集器的示例操作。针对每个时间段来重复一组操 作, 其是针对系统功率管理数据采集器来定义的。 0033 在块 301 处, 针对当前。

34、的时间间隔来选择管理的子系统并且确定用于管理的子系 统的最为有效的通道。 系统功率管理数据采集器 ( “系统采集器” ) 可以针对这样的信息来查 询每个通道采集器, 该信息向特定的子系统指示关于通道的通道状态和通道特性的通道效 率。 例如, 由于更大的带宽 (即, 通道特性) , 第一通道被认为相比较于第二通道更为有效。 但 由于繁重的使用, 第一通道可能具有更大的延迟 (即, 通道状态) 。尽管针对当前的时间间隔 确定关于通道状态的效率, 但指示通道状态效率的信息可以描述前一时间间隔中的通道状 态。系统采集器可以异步地针对子系统来查询通道, 并且当所有的相应通道响应时选择子 系统。一些实施例。

35、对子系统进行优先排序。因此, 系统采集器根据子系统优先级来查询通 道。例如, 存储器子系统可以具有超过输入 / 输出 (I/O) 子系统的优先级。因此, 系统采集 器在查询到 I/O 子系统的本地数据采集器的通道的通道控制器前, 查询到存储器子系统的 本地数据采集器的通道的通道控制器。实施例可以查询所有的通道控制器, 并且接着根据 优先级来选择通道。在一些情形中, 多个子系统可以具有相同的优先级。例如, 图像子系统 说 明 书 CN 103838658 A 8 6/10 页 9 和存储器子系统可以在一个时间间隔内被定义为具有相同的优先级。 系统采集器查询到两 个系统的通道的通道控制器并且从所有。

36、通道都响应的本地数据采集器采集功率管理数据。 0034 在块 303 处, 选择子系统的最为有效的通道。例如, 系统采集器选择具有最低延迟 的通道。实施例可以将通道状态和通道特性输入到输出代表效率的值的函数中。例如, 系 统采集器可以使用基于通道的延迟和带宽来计算效率的函数。 0035 在块 305 处, 可以经由选择的通道来访问存储器位置。例如, 系统采集器向选择的 通道的控制器提交针对数据的请求。 0036 在块 307 处, 确定功率管理数据包是否可以用于管理的子系统。例如, 通道控制器 读取子系统的本地数据采集器的存储器中的存储器位置并且确定 (多个) 条目被标记为由 本地数据采集器更。

37、新。 如果功率管理数据包可用, 则控制流向块313。 如果功率管理数据包 不可用, 则控制流向块 309。 0037 在块 309 处, 针对选择的通道来报告错误。错误例程可以确定数据包是否由于本 地数据采集器中的错误、 故障监视器、 与选择的通道的问题等而不可用。 0038 在块 311 处, 确定针对管理的子系统的下一最为有效的通道。系统采集器可以将 关于通道状态和通道特性的信息维持一个时间段或跨多个时间段。 系统采集器使用维持的 通道信息来选择下一最为有效的通道。控制从块 311 流回到块 305。 0039 如果在块307处功率管理数据包可用, 则在块313处, 经由选择的通道来取回功。

38、率 管理数据包。 0040 在块 315 处, 向可以由系统功率管理器访问的位置写入功率管理数据包。例如, 系 统采集器向由系统功率管理器所有的存储器传输功率管理数据包。 系统采集器可以聚合跨 管理的子系统所采集的功率管理数据。 系统采集器也可以将采集的数据组织进可由系统功 率管理器访问的合适缓冲器 / 存储器。 0041 在块 317 处, 在选择的通道的存储器位置中的性能数据包被标记为读取。响应于 系统采集器移动或复制性能数据包, 通道控制器可以标记位于通道的每个端处的存储器位 置 (例如缓冲器) 。通道控制器可以将数据标记为如控制器之间协商的读取。取决于通道规 范, 通道控制器可以在执行。

39、读取后冲刷缓冲器。 0042 在块 319 处, 确定在当前的时间间隔中是否存在未选择的管理的子系统。系统采 集器可以维护指示功率管理数据已经从其选择的管理的子系统的数据。 实施例也可以针对 每个管理的子系统来设计系统采集器中的缓冲器。 系统采集器可以基于缓冲器是否为空来 确定在当前的时间间隔中是否为数据采集而选择了管理的子系统。 如果在当前的时间间隔 中存在未选择的管理的子系统, 则控制流向块 321。否则, 控制流向块 323。 0043 在块 321 处, 选择不同的管理的子系统。控制从块 321 流向块 303。 0044 在块323处, 系统采集器等待直到当前的时间间隔到期。 控制从。

40、块323流向块301。 0045 提供流程图以辅助理解本发明的主题并且不旨在限制权利要求或本发明主题的 范围。在绘出的示例操作中的变化对于本发明的主题是可以的。例如, 在图 2 的块 205 和 207 中绘出为不同的操作可以作为单个的操作发生。本地数据采集器可以对通道可访问的 存储器装置中的数据进行格式化和封包。实施例可以格式化和封包存储器的一个位置 (例 如, 预留的暂存空间) 中的数据并且接着当准备由通道访问时, 将格式化和封包的数据移动 /复制到存储器中的另一位置。 作为另一示例性变化, 在图2中的块211前可以执行附加的 说 明 书 CN 103838658 A 9 7/10 页 1。

41、0 操作, 以便循环访问由本地数据采集器所管理的多个子系统。 进一步, 实施例并不必需要编 码以适应同质通道格式或异质通道格式的可能性。例如, 实施例可以配置本地数据采集器 以执行对应于块 205、 207、 209 和 211 的操作而不需要对应于块 203 的任何决策操作或否分 支的操作。类似地, 实施例可以配置本地数据采集器以执行对应于块 203 的否分支的操作 而不需要块 203 的决策操作以及不需要对应于来自于块 203 的是分支的块的操作。 0046 关于图3, 可以执行不同的操作以允许热学数据和/或性能数据的稍后到达。 实施 例可以设置标记以用于指示针对管理的子系统的选择的通道的。

42、潜在问题和读取针对不同 的管理的子系统的数据。 在时间间隔到期前并且在读取了针对不同的管理的子系统的数据 包后, 系统采集器可以在报告错误前, 尝试从管理的子系统的选择的通道再次读取数据包。 作为另一个示例性变化, 在块 315 后、 在块 321 后, 或在一个时间间隔内已经采集了针对所 有管理的子系统的数据后, 可以向系统功率管理器通知可用的功率管理数据。 0047 除了已经描述的实施例, 实施例可以以分层或嵌套的方式来实现本发明的主题。 本地数据采集器可以负责多个子系统。 这些子系统可以或可以不具有它们自己的本地数据 采集器, 并且本地数据采集器可以是片外的 (例如, 协处理器) 和/或。

43、与由本地数据采集器管 理的子系统分离。例如, I/O 集线器控制器可以具有本地数据采集器, 该本地数据采集器采 集针对 I/O 集线器控制器和来自于连接到 I/O 集线器控制器的装置 (例如, 图像装置、 外围 组件互连装置等) 的本地数据采集器的功率管理数据。这些连接的装置对于本地数据采集 可以认为是更小的域, 而包围的或更大的域包括这些装置和 I/O 集线器控制器。本地数据 采集器采集来自于图像装置的功率管理数据并且将采集的数据向 I/O 集线器控制器的本 地数据采集器报告。另一本地数据采集器从 PCIe 装置采集功率管理数据并且也向负责 I/ O 集线器控制器域的本地数据采集器报告该采集。

44、的数据。更大域的本地数据采集器格式化 和封包来自于更小的域和I/O集线器控制器的数据 (即, 格式化和封包针对更大的I/O集线 器域的功率管理数据) 。图 4 绘出具有用于多个子系统的本地数据采集器的示例系统的概 念图。图 4 绘出处理器芯片 401、 本地数据采集器 411、 413 和子系统 437、 435、 433。处理器 芯片 401 包括与系统功率管理器 403 通信的系统功率管理数据采集器 405。本地数据采集 器 411 包括热监视器 415 和性能监视器 421。本地数据采集器耦合到也与子系统 437、 435 耦合的总线 439。本地数据采集器 413 包括热监视器 417。

45、 和性能监视器 419。总线 441 将 本地数据采集器 413 与子系统 433 耦合。 0048 本地数据采集器 411 从子系统 437、 435 采集功率管理数据。本地数据采集器 411 的热监视器 415 从热传感器 423、 427、 429 采集热学数据。热传感器 423 感应本地数据采集 器 411 的温度。热传感器 427 感应子系统 437 的温度 (例如, 靠近存储器单元) 。热传感器 429 感应子系统 435(例如, 图像处理器) 的温度。性能监视器 421 经由总线 439 从子系统 437、 435采集性能数据。 性能监视器421可以查询子系统437、 435的代。

46、理。 代理读取/维护 计数器和计算到达间隔事件时间。本地数据采集器 411 可以配置成区分地传送由本地数据 采集器 411 所管理的不同子系统的功率管理数据或配置成组合功率管理数据。例如, 本地 数据采集器可以配置成 (或通过系统功率管理数据采集器 405 所指示) 计算跨子系统 437、 435 和本地数据采集器 411 的热学数据的平均值。实施例也可以权衡不同的数据 (例如, 相 比较于本地数据采集器热学数据, 给予子系统热学数据更大的权重) 。 0049 本地数据采集器 413 从子系统 433 采集功率管理数据。本地数据采集器 413 的热 说 明 书 CN 103838658 A 1。

47、0 8/10 页 11 监视器 417 从热传感器 425、 431 采集热学数据。热传感器 425 感应本地数据采集器 413 的 温度。热传感器 431 感应子系统 433 的温度。性能监视器 419 经由总线 441 从子系统 433 采集性能数据。性能监视器 421 查询子系统 433 的代理。代理读取 / 维护计数器和计算到 达间隔事件时间。 0050 多个通道可以用于将来自于本地数据采集器 411、 413 的每个本地数据采集器的 功率管理数据携带到系统功率管理数据采集器 405。通道 422 或通道 424 可以用于将来自 于本地数据采集器411的功率管理数据携带到系统功率管理数。

48、据采集器405。 类似地, 通道 426 或通道 428 可以用于将来自于本地数据采集器 413 的功率管理数据携带到系统功率管 理数据采集器405。 当从本地数据采集器411采集功率管理数据时, 系统功率管理数据采集 器405确定通道422、 424中的哪个在给定的时间间隔内可以更为有效地提供到本地功率管 理数据的访问。当从本地数据采集器 413 采集功率管理数据时, 系统功率管理数据采集器 405 确定通道 426、 428 中的哪个在给定的时间间隔内可以更为有效地提供到本地功率管理 数据的访问。 0051 图 4 中的通道被不同地绘出以代表不同的通道特性的可能性, 例如通道带宽。通 道 。

49、422、 426 被绘出为具有比通道 428、 424 更大的带宽。但是通道 424、 428 可以操作在更高 的频率, 由更少的组件来使用。从图 4 移除了图 1 中绘出的一些最低细节。通道 422、 424、 426、 428在本地数据采集器411、 413的相应一个处可以具有缓冲器和控制器。 类似地, 通道 422、 424、 426、 428 在处理器芯片 401 处可以具有缓冲器和控制器。缓冲器 407、 409 被绘出 为在处理器芯片 401 上。缓冲器 407 跨越通道 422、 424 二者。类似地, 缓冲器 409 跨越通 道 426、 428 二者。缓冲器 407、 409 以虚线绘出以考虑其中每个缓冲器实际上是多缓冲器的 可能实施例以及考虑其中缓冲器跨通道共享的可能实施例。 0052 系统功率管理数据采集器 405 以类似于图 1 的系统功率管理数据采集器 105 来操 作。系统功率管理数据采集器 405 可以对功率管理数据执行附加的操作, 以分开组合的功 率管理数据, 因为功率管理数据可以被组合以便有效地从本地数据采集器传。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1