动态航线管理系统和方法

文档序号:6562016阅读:170来源:国知局
专利名称:动态航线管理系统和方法
背景技术
日益增长数量的计算机装置诸如便携式膝上型计算机或笔记本计算机、手持计算装置、台式计算机等正在使用外设部件互连(PCI)特快(express)高速串行输入/输出(I/O)总线,以充分利用高带宽和低等待时间。然而,PCI特快结构本身消耗功率。因而,PCI特快结构的附加功耗能够不利地影响电池寿命(例如,对于便携式计算装置),引起热能耗散系统上增加的负荷和/或可用于其它系统和/或应用的功率量的减损。


为了更全面地理解本发明及其优点,现在参考下面结合附图进行的描述,其中图1是图示根据本发明的动态航线(lane)管理系统的实施例的方框图;图2是图示根据本发明的动态航线管理系统的实施例的电路图;图3是图示根据本发明的动态航线管理方法的实施例的流程图;图4是图示根据本发明的动态航线管理方法的另一实施例的流程图;和图5是图示根据本发明的动态航线管理方法的又一实施例的流程图。
具体实施例方式
通过参考图1-5,最佳地理解本发明的优选实施例及其优点,类似的标号用于各附图中类似的和相应的部分。
图1是图示根据本发明的动态航线管理系统10的实施例的示意图。在图1所示的实施例中,系统10被实施在计算机系统12中,该计算机系统被配置成利用外设部件互连(PCI)特快总线和/或航线14。在图1所示的实施例中,计算机系统12包括通过PCI特快总线141通信地耦合到主机桥(host bridge)22的处理器20;通过PCI特快总线142通信地耦合到主机桥22的存储器24;以及通过PCI特快总线143通信地耦合到主机桥22的输入/输出(I/O)桥26。在图1所示的实施例中,装置30分别地通过PCI特快总线14通信地耦合到主机桥22和/或I/O桥26。例如,在图1所示的实施例中,装置301、302、303通过相应的PCI特快总线144、145和146通信地耦合到主机桥22。装置304和305通过相应的PCI总线147和148通信地耦合到I/O桥26。此外,装置306、307和308通过PCI特快总线149经由相应的PCI特快总线分支1410、1411和1412通信地耦合到转换器32,并且转换器32经由PCI特快总线1413通信地耦合到I/O桥26。装置30可以包括任何类型的装置,比如但不限于硬盘驱动器(HDD)、图形模块或子系统、本地输入/输出接口、以太网接口、坞站或者任何其它类型的外设和/或非外设装置或者部件。还应当明白,系统10的结构和/或资源功能可以被另外配置(例如,主机桥22可以被形成为处理器20的一部分和/或被并入处理器20中,存储器24可以被形成为处理器20的一部分和/或被并入处理器20中,等等)。
在图1所示的实施例中,存储器24包括操作系统36和控制模块38。操作系统36和/或控制模块38可以包括硬件、软件或者硬件和软件的组合。在图1所示的实施例中,操作系统36和控制模块38被显示为存储在存储器24中,以便可以被处理器20访问和执行。然而,应当理解,操作系统36和/或控制模块38也可以被另外存储。
在图1所示的实施例中,装置301包括逻辑(电路)40,该逻辑可以包括软件、硬件或者软件和硬件的组合。为了便于图示,逻辑40被显示为仅仅涉及装置301。然而,应当理解,附加的和/或所有的装置30、存储器24、转换器32、I/O桥26和/或主机桥22可以被配置有本发明的逻辑40。在操作中,控制模块38和/或逻辑40用来动态地控制、管理和/或另外调整两个装置(例如,上游装置和下游装置)之间的PCI特快总线航线宽度。应当理解,在PCI特快结构中,两个装置之间的每条链路和/或航线包括“上游”面向端口和“下游”面向端口。此外,还应当理解,这里所使用的“上游”装置或”下游”装置可以包括装置30、转换器32、I/O桥26、主机桥22、处理器20或存储器24的任何一个。
响应于与计算机系统12相关联的至少一个电源相关事件,本发明的实施例动态地控制、管理和/或另外改变上游装置与下游装置之间的航线宽度(即,航线的数量)。例如,在本发明的某一些实施例中,响应于检测计算机系统12增加的温度(例如,作为高性能应用或者模块操作的结果,阻塞的冷却通风孔,出现故障的风扇,等等),一个或多个PCI特快总线的航线宽度被减小,以减少计算机系统12的热能生成。在本发明的其它实施例中,响应于检测对于计算机系统12的电源模式的改变,动态地减少一个或多个上游装置与下游装置之间的航线的宽度。例如,为了保存电池寿命和/或功率,响应于检测到从交流(AC)电源到直流(DC)电源的改变,将一个或多个上游与下游装置之间的航线宽度动态地减少到预定或期望的级别(水平),由此减少与这样的PCI特快总线相关联的功耗。在本发明的再一个实施例中,响应于检测到系统12的特定装置(例如,等候处理任务而对于预定的时间周期保持空闲的装置)降低的处理级,将受影响的(subject)下游装置与上游装置之间的航线宽度减少到预定的或期望的级别,由此减少与连接到该受影响装置的PCI特快总线相关联的功率。应当理解,还可以响应于检测到至少一个电源相关事件的改变,动态地增加一个或多个PCI特快总线的航线宽度。例如,响应于检测到从DC电源模式到AC电源模式的改变,减少的操作温度,增加的处理级等。此外,在本发明的某些实施例中,响应于用户输入,执行动态的PCI特快总线航线宽度管理。
在本发明的一个实施例中,控制模块38被配置成监视施加给计算机系统12的电源条件和/或模式(例如,AC电源或者电池电源)。响应于对计算机系统12的电源模式改变的检测,控制模块38与操作系统36通信,使得操作系统36将电源模式改变事件通知一个或多个下游装置。在本发明的某些实施例中,控制模块38和/或操作系统36登记用于接收电源相关事件的通知的特定装置,以便动态地调整与已登记装置相关联的相应的PCI特快总线航线宽度。例如,在本发明的某些实施例中,通常消耗大量功率的装置(例如,图形密集的应用)和/或可以被节流(throttle)的装置和/或另外被调节以改变功率消耗模式的装置被登记(注册),或作为默认的或预定的装置列表和/或响应于这种装置的用户指定,以接收电源相关事件的通知。
在本发明的一个实施例中,控制模块38和/或操作系统36发送信号和/或把电源相关事件的检测通知已登记的装置(例如,装置301)。响应于电源相关事件的通知,逻辑40动态地改变被通知的装置与上游装置之间(例如,装置301与主机桥22之间)的PCI特快航线宽度。在本发明的某些实施例中,逻辑40被配置成响应于接收到电源相关事件的通知而执行航线宽度重新协商操作。例如,响应于装置301接收到电源相关事件的通知,逻辑40启动与主机桥22的PCI特快总线航线宽度重新协商操作,以增加或减少主机桥22与装置301之间的航线宽度。例如,响应于对计算机系统12的电源模式的任何改变的检测,逻辑40被配置成启动航线宽度重新协商操作,以减少或增加装置301与主机桥22之间的PCI总线特快航线宽度。因而,响应于检测到从AC电源到DC电源的改变,把一个或多个上游与下游装置之间的航线宽度动态地减少到预定的或期望的级别,以及响应于检测到从DC电源到AC电源的改变,把一个或多个上游与下游装置之间的航线宽度动态地增加到预定的或期望的级别。
在操作中,例如,对于主机桥22(上游装置)与装置301(下游装置)之间的PCI特快总线144,逻辑40通过最初完成装置301上的队列中的任何未决事务或事件来启动与主机桥22的航线宽度重新协商操作。响应于装置301上完成任何未决事务,逻辑40使装置301的任何记录(register)和装置301的状态被保存,以使装置301能够在完成航线宽度重新协商操作时恢复操作。为了响应装置301保存装置301记录和状态,装置301向上游装置主机桥22发送信号,以开始与主机桥22的航线宽度重新协商。在本发明的某些实施例中,装置301发送给主机桥22的信号包括主机复位信号,由此对于在同一PCI特快总线分支上的所有装置引起航线宽度重新协商。在本发明的其它实施例中,装置301发送重新训练链路信号,仅仅对于装置301与主机桥22之间的PCI特快总线航线,重新协商航线宽度。在操作中,在航线宽度重新协商操作期间,逻辑40依赖于电源相关事件使用减少和/或增加的航线宽度(例如,减少的航线宽度,以保存功率)来执行和/或另外与主机桥22通信。
在本发明的某些实施例中,减少的航线宽度包括基于电源相关事件类型的预定航线宽度。例如,在本发明的某些实施例中,航线宽度可以为了最大电池功率节省而被减少到单个航线。在本发明的其它实施例中,航线宽度可以被减少到最大航线宽度与最小航线宽度之间的航线宽度和/或用户请求的和/或期望的航线宽度。例如,在本发明的某些实施例中,用户可以输入和/或向计算机系统12指示期望的航线宽度和/或功率节省的期望电平,以使得期望的功率节省模式对应于预定的航线宽度(例如,与预定航线宽度相关联的电池时间的期望量)。因而,例如,如果用户希望具有最大功率节省,则可以把航线宽度减少至单个航线。然而,对于50%的功率节省模式,例如,航线宽度可以从十六个航线减少到八个航线。
在操作中,逻辑40利用预定数量的PCI特快总线航线来执行与主机桥22的航线宽度重新协商操作。例如,逻辑40被配置成利用单个PCI特快总线航线来执行航线宽度重新协商操作,以实现最大功率节省,从而保存和/或扩展电池寿命。因此,例如,在用于最大电源节省的装置301与主机桥22之间的航线宽度重新协商操作期间,装置301使用单个航线重新协商PCI特快总线144的航线宽度。应当理解,动态的航线宽度重新协商可以在任一PCI特快总线14上执行,并且可以由上游装置或者下游装置来启动。
图2是表示系统12的单个PCI特快航线总线14的电路图,该系统12采用根据本发明的动态航线管理的实施例。在图2所示的实施例中,图示了用于动态地管理上游装置与下游(装置)之间的航线宽度重新协商操作的基于硬件的实施方式。例如,在图2所示的实施例中,电路50包括与下游装置(例如,装置301)关联的驱动器52以及与上游装置(例如,主机桥22)关联的驱动器54。在图2所示的实施例中,电路50包括耦合到航线14(例如,上游和下游数据流航线)的每个数据流路径的转换器58。在操作中,由逻辑40、控制模块38和/或操作系统36发出的控制信号用来激励转换器58,以连接或断开航线14,使得在航线宽度重新协商操作期间,图2的PCI特快航线总线14分别是可利用的或者不可利用的。因而,如果转换器58断开图2的PCI特快航线总线14,则在航线宽度协商操作期间使用减少的航线宽度,由此导致上游装置与下游装置之间的航线宽度减少。然而,应当理解,其它的基于软件和/或基于硬件的方法可以用来增加或者减少在航线宽度重新协商操作期间使用的航线宽度(例如,停用装置的数据接收或输入缓存器,从而使该装置不检测特定航线的存在)。
图3是图示本发明的动态航线管理方法的实施例的流程图。该方法开始于框300,其中控制模块38确定用于计算机系统12的电源的源。在判决框302,确定计算机系统12是否由AC电源供电。如果计算机系统12当前不是由AC电源供电(例如,由电池源来供电),则该方法前进到框308。如果计算机系统12当前由AC电源供电,则该方法前进到框304,其中控制模块38监视计算机系统12的电源相关事件(例如,DC电源事件)。例如,DC电源事件可以包括由于计算机系统12与外部电源插座、AC适配器或者其它AC电源的断开而导致的从AC电源到DC电源的改变。在判决框306,确定是否已经检测到DC电源事件。如果DC电源事件没有被检测到,则该方法前进到框304。如果DC电源事件已经被检测到,则该方法前进到框308。
在框308,控制模块38向至少一个下游装置发送电源相关事件改变通知。例如,控制模块38可以向登记为接收这种通知的任何装置(例如,装置301)和/或所有可用的装置发送电源相关事件通知。在框310,下游装置完成未决事务。在框312,下游装置保存下游装置的装置记录(register)和状态。在框314,下游装置向上游装置发送信号,以启动航线宽度重新协商操作(例如,热复位,链路重新训练或者其它类型的航线宽度重新训练信号)。在框316,执行航线宽度重新协商操作,以便把上游装置与下游装置之间的航线宽度减少到预定的和/或减少的航线宽度。在图3所示的实施例中,为了响应检测到从AC电源到DC电源的改变,动态地减少航线宽度。然而,应当理解,为了响应检测到从DC电源到AC电源的改变,控制模块38向至少一个下游装置发送电源相关事件改变通知,并且响应于电源相关事件改变通知,下游装置完成未决事务,保存下游装置的装置记录和状态,并向上游装置发送信号,以启动航线宽度重新协商操作(例如,热复位,链路重新训练或者其它类型的航线宽度重新训练信号),从而增加上游装置与下游装置之间的航线宽度。
图4是图示根据本发明的动态航线管理方法的另一实施例的流程图。该方法开始于框400,其中控制模块38监视计算机系统12的温度条件(例如,与计算机系统12的热能耗散相关联的计算机系统12的温度条件)。在判决框402,确定计算机系统12的温度是否超过预定阈值。如果计算机系统12的温度没有超过预定阈值,则该方法前进到框404,其中控制模块38连续监视计算机系统12的温度。如果计算机系统12的温度已经超过预定阈值,则该方法前进到框406,其中控制模块38和/或操作系统36向至少一个下游装置发送事件通知信号。
在框408,被通知的下游装置完成未决事务。在框410,被通知的下游装置保存下游装置的记录和状态。在框412,下游装置向上游装置发送启动航线宽度重新协商操作的信号,以修改下游装置与上游装置之间的PCI特快总线航线14的数量。如上所述,由下游装置发送的信号可以包括热复位信号、链路重新训练信号或者其它类型的用来启动下游装置与上游装置之间的航线宽度重新训练的信号。在框414,利用下游装置与上游装置之间预定的和/或已减少的航线宽度来执行航线宽度重新协商操作。在图4所示的实施例中,航线宽度最好被减少到预定数量,以减少计算机系统12的热条件。然而,应当理解,为了响应检测到计算机系统12的温度条件减低,控制模块38和/或操作系统36向至少一个下游装置发送事件通知信号,以及响应于该信号,被通知的下游装置完成未决事务,保存下游装置的记录和状态,并向上游装置发送启动航线宽度重新协商操作的信号,以增加在下游装置与上游装置之间的PCI特快总线航线14的数量。
图5是图示根据本发明的动态航线管理方法的另一实施例的流程图。该方法开始于框500,其中控制模块38、操作系统36和/或逻辑40监视与下游装置相关联的处理级。在框502,确定处理级是否已经降到预定阈值以下。如果下游装置的处理级没有降到预定阈值以下,则该方法前进到框504,在此继续监视下游装置的处理级。如果与下游装置相关联的处理级已经降到预定阈值以下,则该方法前进到框506,其中启动与下游装置相关联的航线宽度重新协商操作(例如,完成未决事务,保存装置的记录和状态,以及与上游装置通信,以便重新协商到减少的航线宽度上)。在图5所示的实施例中,响应于检测到降低的处理级,减少航线宽度。然而,应当理解,为了响应检测到增加的处理级或需求,执行重新协商操作,以动态增加航线宽度。
因而,为了响应与计算机系统12相关联的各种不同的电源相关事件,本发明的实施例提供动态的PCI特快总线航线宽度重新协商。例如,为了响应上升和/或提升的温度条件(例如,由于增加的处理级和/或其他引起的)、电源模式的改变、处理级和/或处理需求的改变,本发明实施例自动地重新协商和/或重新训练PCI特快总线航线宽度,以便基于该事件增加或者降低航线宽度。
应当理解,在所描述的方法中,某些功能可以被省略,可以按照不同于图3-图5所示的顺序完成,或者同时执行或组合执行。此外,应当理解,图3至图5所示的方法可以改变为包括在说明书别处描述的本发明的任何其它特征或方面。此外,本发明的实施例可以用软件来实现,并且可适用于在不同的平台和操作系统上运行。特别地,由控制模块38、操作系统36和/或逻辑40实施的功能例如可以作为可执行指令的有序列表来提供,这些可执行指令可以被实施在任何计算机可读媒体中,以供指令执行系统、设备或装置使用或者与其相关,所述指令执行系统、设备或装置比如是基于计算机的系统、处理器包含系统、或者可以从指令执行系统、设备或装置中提取指令并执行这些指令的其它系统。在本文件的上下文中,“计算机可读媒体”可以是可包含、存储、传送、传播或传递程序的任何装置,以供指令执行系统、设备或者装置使用或者与之相关。计算机可读媒体可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、设备、装置或传播媒体。
权利要求
1.一种动态航线管理系统(10),包括计算机系统(12)的至少一个下游装置(20,22,24,26,30,32),被配置成动态地启动与计算机系统(12)的至少一个上游装置(20,22,24,26,30,32)的航线(14)宽度重新协商操作,以响应与计算机系统(12)相关联的至少一个电源相关事件的检测。
2.根据权利要求1所述的系统(10),其中至少一个下游装置(20,22,24,26,30,32)被配置成启动航线(12)宽度重新协商操作,以响应计算机系统(12)的电源模式的改变。
3.根据权利要求1所述的系统(10),其中至少一个电源相关事件包括从交流(AC)电源模式到直流(DC)电源模式的改变。
4.根据权利要求1所述的系统(10),其中至少一个电源相关事件包括计算机系统(12)的温度超过预定阈值。
5.根据权利要求1所述的系统(10),其中至少一个下游装置(20,22,24,26,30,32)被配置成在启动航线(14)宽度重新协商操作之前完成未决事务。
6.根据权利要求1所述的系统(10),其中至少一个下游装置(20,22,24,26,30,32)被配置成在启动航线(14)宽度重新协商操作之前保存至少一个下游装置(20,22,24,26,30,32)的状态。
7.一种动态航线管理方法,包括检测与计算机系统(12)相关联的至少一个电源相关事件;和在计算机系统(12)的至少一个上游装置(20,22,24,26,30,32)与计算机系统(12)的至少一个下游装置(20,22,24,26,30,32)之间动态地启动航线(14)宽度重新协商操作,以响应检测到至少一个电源相关事件。
8.根据权利要求7所述的方法,还包括启动至少一个转换器(58),以改变至少一个下游装置(20,22,24,26,30,32)与至少一个上游装置(20,22,24,26,30,32)之间的航线(14)宽度。
9.根据权利要求7所述的方法,还包括启动航线(14)宽度重新协商操作,以响应检测到至少一个下游装置(20,22,24,26,30,32)的处理级的改变。
10.根据权利要求7所述的方法,还包括启动航线(14)宽度重新协商操作,以响应检测到计算机系统(12)的温度超过预定阈值。
全文摘要
一种动态航线管理系统(10)包括计算机系统(12)的至少一个下游装置(20,22,24,26,30,32),其被配置成动态地启动与计算机系统(12)的至少一个上游装置(20,22,24,26,30,32)的航线(14)宽度重新协商操作,以响应与计算机系统(12)相关联的至少一个电源相关事件的检测。
文档编号G06F1/32GK1955887SQ200610136530
公开日2007年5月2日 申请日期2006年10月26日 优先权日2005年10月26日
发明者M·G·亚博里, R·V·拉克达瓦拉, Q·陈 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1