为了更快引导时间的设备功率管理状态转换等待时间广告的制作方法
【专利摘要】描述了涉及为了更快的引导时间的设备功率管理状态转换等待时间广告的方法和装置。在一些实施例中,存储单元存储与为了第一代理从低功耗状态退出所必需的转换延迟时段相对应的值。第一代理将该值写入存储单元,并且在第二代理在试图经由链路与第一代理通信之前(在第一代理发起了其从低功耗状态的退出之后)等待该必需的转换延迟时段。还公开和要求保护其它实施例。
【专利说明】为了更快引导时间的设备功率管理状态转换等待时间广告
【技术领域】
[0001]本公开一般涉及电子学领域。更具体地,本发明的一实施例涉及用于为了更快引导时间的设备功率管理状态转换等待时间广告的技术。
【背景技术】
[0002]计算机系统中使用的一种常见接口是外围组件互连快速(PCIe)。根据PCIe规范,对系统软件存在这样的要求:当设备退出低功耗状态时,在访问设备之前允许IOms的转换恢复时间。这一 IOms增加了功率状态的恢复时间,并且对于一些设备而言可能太长了,这进而降低了整体性能或可用性。
【专利附图】
【附图说明】
[0003]参照附图提供详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项目。
[0004]图1示出可用于实现本文讨论的各个实施例的计算系统的一实施例的框图。
[0005]图2示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图。
[0006]图3示出根据一实施例的流程图。
[0007]图4示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图。
[0008]图5示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图。
【具体实施方式】
[0009]在以下描述中,阐述众多具体细节以提供对各实施例的透彻理解。然而,在没有这些具体细节的情况下也可实践某些实施例。在其它实例中,并未对公知方法、程序、组件以及电路进行详细描述以免模糊具体实施例。本发明的实施例的各方面可利用诸如集成半导体电路(“硬件”)、组织成一个或多个程序(“软件”)的计算机可读指令或硬件和软件的某种组合之类的多种方式来执行。出于本公开的目的,对“逻辑”的引用应该表示硬件、软件或其某种组合的意思。
[0010]如上所讨论的,根据在本文中可被更一般地指代为“PCI”的当前PCIe规范(例如,根据2010年11月10日的PCI Express规范基础3.0、修订3.0、版本1.0,以及2011年10月20日的PCI Express规范基础版本3.0勘误),对系统软件存在这样的要求:当设备退出低功耗状态时在访问设备之间,允许IOms或IOOms的转换恢复时间。这一 10ms/100ms增加了功率状态的恢复时间,并且对于一些设备而言可能太长了,这进而将降低整体性能或影响用户体验/可用性。然而,存在能够与此相比更快恢复的许多设备。
[0011]为了这一目的,一些实施例提供了为了更快引导时间的设备功率管理状态转换等待时间广告。例如,一些实施例为设备提供了广告用于D3到DO转换的恢复时间的能力(例如,经由存储单元,诸如存储设备、寄存器、寄存器字段、分组、分组字段等)。进而,软件/逻辑能够读取被广告的值,并且根据广告值来访问设备。相应地,一些实施例允许软件/逻辑基于设备广告值来恢复正常操作,从而对于降低恢复时间以及丰富用户体验作出了极大的贡献。同样,一些设备可能要求更多的时间退出(例如,对于意料之外的情况,诸如移动设备中缺乏足够的电池电量),因此一实施例还允许增加PCIe规范所要求的延迟/等待时间的时间段。
[0012]如本文所讨论的,“D0”是指指示了(例如,PCIe)设备的正常/满载操作状态的功率状态。同样,“D3” 一般是指诸如待机、休眠和/或挂起等功率状态。D3可具有一个或多个变体,诸如举例来说指示(例如其中供电轨开启但设备的一个或多个组件处于待机、休目民、挂起等)待机、休眠和/或挂起的“D3热”,以及举例来说指示(例如,其中供电轨也关闭的)待机、休眠和/或挂起的“D3冷”。此外,根据当前的PCIe规范,从D3冷到DO的转换的延迟为100ms,而从D3热到DO的转换的延迟为IOms (先前讨论的D3的情形)。
[0013]各实施例在本文中参考计算系统组件来讨论,诸如举例来说本文参考图1-2和4-5讨论的各组件。更具体地,图1示出根据本发明的一实施例的计算系统100的框图。系统100可包括一个或多个代理102-1到102-M (本文统称为“各代理102”或更一般地“代理102”)。在一实施例中,代理102可以是诸如参考图2和4-5所讨论的计算系统之类的计算系统的组件。
[0014]如图1所示,代理102可经由网络结构104通信。在一实施例中,网络结构104可包括经由串行(例如,点对点)链路和/或共享的通信网络通信的一个或多个互连(或互连网络)。例如,某些实施例可便于部件在允许与完全缓冲双列直插式存储器模块(FBD)通信的链路上调试或验证,例如,其中FBD链路是用于将存储器模块耦合到主机控制器设备(诸如处理器或存储器中枢)的串行链路。调试信息可从FBD通道主机传输,以使得调试信息可沿着通道由通道通信量跟踪捕获工具(诸如一个或多个逻辑分析器)观测。
[0015]在一个实施例中,系统100可支持分层协议方案,该分层协议方案可包括物理层、链路层、路由层、传输层和/或协议层。对于点对点网络,结构104还可便于数据(例如以分组形式)从一个协议(例如,高速缓存处理器或高速缓存知悉式存储器控制器)传输到另一协议。而且,在某些实施例中,网络结构104可提供遵守一个或多个高速缓存一致性协议的通信。
[0016]此外,如图1中的箭头方向所示,代理102可经由网络结构104传输和/或接收数据。因此,某些代理可利用单向链路通信,而其它代理可利用双向链路通信。例如,一个或多个代理(诸如代理102-M)可(例如,经由单向链路106)传输数据,其它代理(诸如代理102-2 )可(例如,经由单向链路108 )接收数据,而某些代理(诸如代理102-1)可(例如,经由双向链路110)传输和接收数据。
[0017]同样,根据一实施例,一个或多个代理102可包括一个或多个输入/输出中枢(IOH) 120以促进代理(例如,示出的代理102-1)与一个或多个输入/输出(“I/O”或“10”)设备124 (诸如PCIe I/O设备)之间的通信。10H120可包括根复合体(RC) 122 (包括一个或多个根端口)以根据PCIe规范耦合和/或促进代理102-1的各组件(诸如处理器、存储器子系统等)与I/O设备124之间的通信。在一些实施例中,多代理系统的一个或多个组件(诸如处理器核、芯片组、输入/输出中枢、存储器控制器等)可包括RC122和/或10H120,如将参考其余附图进一步讨论的。
[0018]另外,代理102可包括PCIe控制器逻辑135以管理PCIe接口的各操作,包括例如代理102中的PCIe组件的功率管理特征/方面。而且,如图1所示,代理102-1和/或I/O设备能够访问存储器140 (其可以为I/O设备124中的一个或多个存储D3热/冷转换到DO的延迟值)。
[0019]图2是根据一实施例的计算系统200的框图。系统200包括多个套接口 202-208(示出四个,但是一些实施例可具有更多或更少套接口)。每一个套接口包括处理器以及图1中的项120、122和135中的一个或多个以与I/O设备124中的一个或多个通信。在一些实施例中,项120、122和135中的一个或多个可以存在于系统200的一个或多个组件(诸如图2所示的那些组件)中。而且,取决于实现,更多或更少的项120、122和135可存在于系统中。另外,每一个套接口经由点对点(PtP)链路或差分互连(诸如快速路径互连(QPI)、MIPI(移动产业处理器接口))等耦合到其他套接口。如参照图1的网络结构104所讨论的,每个套接口被耦合至系统存储器的本地部分,例如,由包括动态随机存取存储器(DRAM)的多个双列直插式存储器模块(DIMM)构成。
[0020]在另一实施例中,网络结构可用于任何片上系统(SoC或S0C)应用、利用定制的或标准的接口,诸如用于AMBA (高级微控制器总线架构)的符合ARM的接口、OCP (开放核协议)、MIPI (移动产业处理器接口)、PCI (外围组件互连)或PCIe (外围组件互连快速)。
[0021]一些实施例在基于PC (个人计算机)的系统(诸如基于PCI的系统)中使用能够使用异构资源的一种技术(诸如AXI/0CP技术)而不对IP资源本身作出任何改变。各实施例提供了两种非常薄的硬件块(本文也称为Y单元和垫层),其可用于将AXI/OCP IP插入自动生成的互连结构中以创建兼容PCI的系统。在一实施例中,Y单元的第一(例如,北)接口连接到适配器块,该适配器块对接到兼容PCI的总线(诸如直接媒体接口(DMI)总线、PCI总线、或外围组件互连快速(PCIe)总线)。第二 (例如,南)接口直接连接至非PC互连(诸如AXI/OCP互连)。在各实现中,这一总线可以是OCP总线。
[0022]在一些实施例中,Y单元通过将PCI配置周期转换成目标IP能够理解的事物来实现PCI枚举。这一单元还执行可重定位的PCI地址到固定AXI/0CP地址以及相反方向的地址转换。Y单元可进一步实现一种排序机制以满足生产者-消费者模型(例如,PCI生产者-消费者模型)。进而,各个IP经由专用的PCI垫层连接到互连。每一个垫层可为对应的IP实现整个PCI头部。Y单元路由到PCI头部的所有接入以及到垫片的设备存储器空间。垫片消耗所有的头部读/写事物并且将其他事物传递给IP。在一些实施例中,垫片还为IP实现所有与功率管理有关的特征。
[0023]因而,代替作为单片兼容性块,实现Y单元的各实施例采用一种分布式方式。跨所有IP共用的功能(例如,地址转换和排序)在Y单元中实现,而IP专用功能(诸如功率管理、误差处理等)在针对该IP定制的垫层中实现。
[0024]以此方式,新的IP可伴随最小的改变被添加到Y单元。例如,在一种实现中,这些改变可以通过在地址重定向表中添加新条目来进行。尽管垫层是IP专用的,但在一些实现中,大量功能(例如,超过90%)是跨所有IP共用的。这使得能够对新IP的现有垫层实现快速重新配置。一些实施例因而还能够在没有修改的情况下实现自动生成的互连结构。在点对点总线架构中,设计互连结构可能是一项具有挑战性的任务。上文描述的Y单元方式以最小的努力并且不要求对产业标准工作进行修改来将产业生态系统充分利用到PCI系统中。
[0025]如图2所示,每个套接口耦合至存储器控制器(MC)/归属代理(HA)(诸如MC0/HA0至MC3/HA3)。存储器控制器耦合至相应的本地存储器(标示为MEMO至MEM3),其可以是系统存储器(诸如图4的存储器412)的一部分。在一些实施例中,存储器控制器(MC) /归属代理(HA)(诸如MC0/HA0至MC3/HA3)可与图1的代理102-1相同或类似,而标示为MEMO至MEM3的存储器可与参考本文任何附图讨论的存储器设备相同或类似。一般地,处理/高速缓存代理向归属节点发送请求以访问与相应的“归属代理”相关联的存储器地址。而且,在一个实施例中,MEMO至MEM3可被配置成镜像数据,例如,作为主机和从属。而且,在一些实施例中,系统200的一个或多个组件可被包括在同一集成电路管芯上。
[0026]此外,诸如图2中所示的一种实现用于带有镜像的套接口无粘合(glueless)配置。例如,指派给存储器控制器(诸如MC0/HA0)的数据通过PtP链路被镜像至另一存储器控制器(诸如MC3/HA3)。
[0027]图3示出了根据一些实施例的用于为了更快的引导时间的设备功率管理状态转换等待时间广告的方法300的流程图。在一个实施例中,参照图1-2和4-5讨论的各组件可用于执行参照图3讨论的操作中的一个或多个。
[0028]参考图1-3,在操作302,(例如,通过诸如PCIe控制器逻辑135或处理器核等的逻辑)确定设备(诸如I/O设备124之一)是否支持功率管理(PM)(例如,DO与D3热/冷之间的)状态转换。在一实施例中,这经由设备枚举过程来完成。如果设备支持PM功率状态转换,则在操作304 (例如,通过诸如PCIe控制器逻辑135或处理器核等的逻辑)读取对应的能力结构,以使得可以根据能力结构中存储的信息(其可以被存储在存储设备、存储器、寄存器字段、寄存器等中)来执行PM功率状态转换。
[0029]在操作306,(例如,通过诸如PCIe控制器逻辑135或处理器核等的逻辑)确定设备是否支持功率状态转换等待时间支持。PCI设备一般知晓从其从D3到DO的具体转换延迟是多少,并且可以经由诸如本文公开的存储单元来广告该转换延迟。如果设备支持功率状态转换,则在操作308,基于设备广告的延迟值来确定在D3热/冷转换到DO期间使用的延迟值。否则,在操作310,使用根据PCIe标准的延迟值。在各实施例中,各存储单元可用于存储PCIe能力结构,其中设备会广告其从D3热和/或D3冷功率状态转换到DO花费的恢复时间。各存储单元可包括以下各项中的一者或多者:存储设备、存储器、寄存器、寄存器字段、分组、分组字段、这些组合等,包括能够存储或传达诸如本文讨论的任何内容的数据的任何项。
[0030]在操作312,确定逻辑/软件(诸如固件、PCIe总线驱动程序、OS (操作系统)、设备驱动程序、其组合或者负责提出设备状态的任何其他功率管理软件)是否准备好致使设备从D3热/冷转换到D0。如果是,则在操作313触发设备从其低功耗状态(例如,D3热/冷)转换到正常/工作功耗状态(例如,D0)。在一实施例中,操作313经由到设备的配置写入来执行。
[0031]一旦设备被触发转换,在操作314,由操作312的软件/逻辑读取指定的延迟值(例如,来自操作308或310),并且将对设备的任何访问延迟该指定的延迟值。对于不广告这一能力的那些设备而言,相同的软件/逻辑将采取IOms或IOOms的规范定义的默认值(取决于设备分别是从D3热还是从D3冷退出)。在操作314的等待之后,可以在操作316访问设备。
[0032]在各实施例中,操作302-310中的一者或多者可在操作312之前执行,或者与操作312几乎同时执行,但在任一种情形中,均需要在操作312结束之前知晓转换延迟的值以确保操作314的准确等待时间。例如,在设备引导时可执行操作302-310或者仅操作302-304 ;并且,如果在设备引导时仅执行操作302-304,则操作306-310可以在操作312之前执行或者与操作312几乎同时执行,以使得在操作312终止/结束之前知晓转换延迟值。
[0033]而且,由于一些设备知悉它们的PCI PM状态等待时间并且能够广告该等待时间延迟,根据一些实施例为这些设备使用的所得的更短的恢复时间提供了丰富的用户体验。
[0034]在一些实施例中,可以使用各种技术将知晓的功率管理状态转换等待时间延迟从设备传达到其他逻辑或软件(诸如固件、PCIe总线驱动程序、OS或者负责提出设备状态的任何其他功率管理软件)。例如,一些实施例可以利用ACPI (先进配置和功率接口)来传达转换等待时间延迟值。一般地,在计算系统中,ACPI规范为OS进行设备配置和功率管理提供了开放标准。在一些实施例中,功耗状态和/或本文讨论的技术中的至少一些可以根据或者与2004年9月的ACPI规范版本3.0类似。在一实施例中,ACPI可用于在引导时间(例如,设备的第一次引导)确定和/或传达从D3热/冷转换到DO的转换等待时间延迟值。
[0035]图4示出根据本发明的一实施例的计算系统400的框图。计算系统400可包括经由互连网络(或总线)404通信的一个或多个中央处理单元(CPU) 402-1至402-N或处理器(在本文中统称为“各处理器402”或更一般地称为“处理器402”)。处理器402可包括通用处理器、网络处理器(处理在计算机网络403上传达的数据),或者其他类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器402可具有单核或多核设计。具有多核设计的处理器402可将不同类型的处理器核集成在同一集成电路(IC)管芯上。另外,具有多核设计的处理器402可实现为对称或非对称的多处理器。
[0036]同样,参照图1-3讨论的操作可由系统400的一个或多个组件来执行。在一些实施例中,处理器402可与图2的处理器202-208相同或相似。而且,处理器402(或系统400的其他组件)可包括10H120、RC122以及PCIe控制器135中的一者或多者。此外,尽管图4示出了项120/122/135的一些位置,但这些组件可位于系统400中的别处。例如,I/O设备124可经由总线422等来通信。
[0037]芯片组406也可与互连网络404通信。芯片组406可包括图形和存储器控制器中枢(GMCH) 408。GMCH408可包括与存储器410通信的存储器控制器412。存储器412可存储数据,例如包括由CPU402或包含在计算系统400中的任何其它设备执行的指令序列。例如,存储器412可以存储与参照先前附图讨论的操作系统(0S)413和/或设备驱动程序411相对应的数据。在一实施例中,存储器412与图1的存储器140可以相同或相似。在本发明的一个实施例中,存储器412可包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(RAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、静态RAM (SRAM)或其他类型的存储设备。也可利用非易失性存储器,诸如硬盘。诸如多个CPU和/或多个系统存储器之类的附加设备可经由互连网络404来进行通信。
[0038]另外,处理器402中的一者或多者能够访问一个或多个高速缓存(在各实施例中其可包括私有和/或共享高速缓存)以及相关联的高速缓存控制器(未示出)。高速缓存可遵循一个或多个高速缓存一致性协议。高速缓存可以存储被系统400的一个或多个组件利用的数据(例如,包括指令)。例如,高速缓存可以本地地高速缓存存储器412中存储的数据以供处理器402的各组件更快速的访问。在一实施例中,(可被共享的)高速缓存可包括中级高速缓存和/或末级高速缓存(LLC)。同样,每一个处理器402可包括I级(LI)高速缓存。处理器402的各组件可直接地、通过总线或互连网络、和/或存储器控制器或中枢与高速缓存通/[目。
[0039]GMCH408还可包括(例如,经由图形加速器)与显示器设备416通信的图形接口414。在本发明的一个实施例中,图形接口 414可经由加速图形端口(AGP)来与图形加速器通信。在本发明的一实施例中,显示器416 (诸如平板显示器)可以通过例如信号转换器与图形接口 414通信,该信号转换器将诸如视频存储器或系统存储器之类的存储设备中存储的图像的数字表示转换成由显示器416解析和显示的显示信号。由显示设备产生的显示器416信号可经过各种控制设备,然后由显示器解释并随后在显示器上显示。
[0040]中枢接口 418可允许GMCH408与输入/输出控制中枢(ICH)420通信。ICH420可向与计算系统400通信的I/O设备提供接口。ICH420可通过诸如外围组件互连(PCI)桥、通用串行总线(USB)控制器或其他类型的外围桥或控制器等外围桥(或控制器)424与总线422通信。桥424可在CPU402和外围设备之间提供数据路径。可使用其它类型的布局。同样,多个总线可例如通过多个桥或控制器来与ICH420通信。另外,在本发明的各实施例中,与ICH420处于通信中的其它外围设备可包括集成的驱动电子(IDE)或小型计算机系统接口(SCSI)硬驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))、或其他设备。
[0041 ] 总线422可与音频设备426、一个或多个盘驱动器428以及与计算机网络403通信的网络接口设备430通信。其他设备可经由总线422通信。同样,在本发明的一些实施例中,各组件(诸如网络接口装置430)可与GMCH408通信。另外,处理器402以及GMCH408的一个或多个组件和/或芯片组406可被组合以形成单个集成电路芯片(以其他方式存在于同一个集成电路管芯上)。
[0042]此外,计算系统400可包括易失性和/或非易失性存储器(或存储)。例如,非易失性存储器可包括以下的一个或多个:只读存储器(ROM)、可编程ROM (PR0M)、可擦除PROM(EPR0M)、电RPROM (EEPR0M)、盘驱动器(例如,428)、软盘、紧致盘ROM (CD-ROM)、数字多功能盘(DVD)、闪存、磁光盘或能够储存电子数据(例如,包括指令)的其它类型的非易失性机器可读介质。
[0043]图5示出根据本发明的一实施例的安排成点对点(PtP)配置的计算系统500。具体地,图5示出其中处理器、存储器和输入/输出设备通过多个点对点接口互连的系统。参照图1-4讨论的操作可由系统500的一个或多个组件来执行。
[0044]如图5所示,系统500可包括若干处理器,但为了清楚起见仅示出了其中两个处理器502和504。处理器502和504各自可包括本地存储器控制器中枢(MCH) 506和508以能够与存储器510和512通信。存储器510和/或512可存储诸如参考图4的存储器412讨论的数据之类的各种数据。如图5所示,处理器502和504还可包括参考图4讨论的高速缓存。
[0045]在一实施例中,处理器502和504可以是参考图4讨论的处理器402之一。处理器502和504可分别使用点对点(PtP)接口电路516和518经由PtP接口 514来交换数据。同样,处理器502和504可各自使用点对点接口电路526、528、530和532经由各PtP接口522和524与芯片组520交换数据。芯片组520还可例如利用PtP接口电路537经由高性能图形接口 536与高性能图形电路534交换数据。
[0046]本发明的至少一个实施例可在处理器502和504或芯片组520内提供。例如,处理器502和504和/或芯片组520可包括10H120、RC122以及PCIe控制器135中的一者或多者。然而,本发明的其它实施例可存在于图5的系统500内的其它电路、逻辑单元或设备中。而且,本发明的其它实施例可分布在图5中所示若干电路、逻辑单元或设备中。因此,图5中示出的项120/122/135的位置是示例性的,并且这些组件可以或者可以不在所示位置中提供。
[0047]芯片组520可使用PtP接口电路541与总线540通信。总线540可具有与其通信的一个或多个设备,诸如总线桥542和I/O设备543。经由总线544,总线桥542可与诸如键盘/鼠标545、通信设备546 (诸如可与计算机网络403通信的调制解调器、网络接口设备或其它通信设备)、音频I/O设备、和/或数据存储设备548之类的其它设备通信。数据存储设备548可存储由处理器502和/或504执行的代码549。
[0048]以下示例涉及进一步的实施例。示例I包括一种装置,该装置包括:耦合到存储单元的等待代理,该存储单元用于存储与为了退出代理从低功耗状态退出所必需的转换延迟时段相对应的值,其中响应于该等待代理确定退出代理已经发起了从低功耗状态的退出,该等待代理在试图经由链路与该退出代理通信之前等待该必需的转换延迟时段。在示例2中,示例I的主题可以任选地包括一种装置,其中退出代理在引导时间将值写入存储单元。在示例3中,示例I的主题可以任选地包括一种装置,其中退出代理经由ACPI (先进配置和功率接口)将值写入存储单元。在示例4中,示例I的主题可以任选地包括一种装置,其中退出代理包括输入/输出设备。在示例5中,示例I的主题可以任选地包括一种装置,其中低功耗状态包括D3热功率状态和D3冷功率状态之一。在示例6中,示例5的主题可以任选地包括一种装置,其中根据PCIe标准对于D3热状态的值约为10ms,且其中根据PCIe标准对于D3冷状态的值约为100ms。在示例7中,示例I的主题可以任选地包括一种装置,其中退出代理响应于来自以下各项中的一者或多者的请求来与等待代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS)、设备驱动程序及其组合。在示例8中,示例I的主题可以任选地包括一种装置,其中存储单元包括以下各项中的一者或多者:存储设备、存储器、寄存器、寄存器字段、分组、分组字段及其组合。在示例9中,示例I的主题可以任选地包括一种装置,其中等待代理、退出代理和存储单元中的一者或多者位于同一集成电路芯片上。
[0049]示例10包括一种装置,该装置包括:退出代理,其用于传送与为了退出代理从低功耗状态退出所必需的转换延迟时段相对应的值,其中响应于退出代理将该值写入存储单元并且发起从低功耗状态的退出,要与退出代理相关联的链路在该必需的转换延迟时段期间静默。在示例11中,示例10的主题可以任选地包括一种装置,其中退出代理在引导时间将值写入存储单元。在示例12中,示例10的主题可以任选地包括一种装置,其中退出代理经由ACPI (先进配置和功率接口)将值写入存储单元。在示例13中,示例10的主题可以任选地包括一种装置,其中退出代理包括输入/输出设备。在示例14中,示例10的主题可以任选地包括一种装置,其中低功耗状态包括D3热功率状态和D3冷功率状态之一。在示例15中,示例14的主题可以任选地包括一种装置,其中根据PCIe标准对于D3热状态的值约为10ms,且其中根据PCIe标准对于D3冷状态的值约为100ms。在示例16中,示例10的主题可以任选地包括一种装置,其中退出代理响应于来自以下各项中的一者或多者的请求来与等待代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS)、设备驱动程序及其组合。在示例17中,示例10的主题可以任选地包括一种装置,其中存储单元包括以下各项中的一者或多者:存储设备、存储器、寄存器、寄存器字段、分组、分组字段及其组合。在示例18中,示例10的主题可以任选地包括一种装置,其中等待代理、退出代理和存储单元中的一者或多者位于同一集成电路芯片上。在示例19中,示例10的主题可以任选地包括示例I至18中的任一者的装置,其中链路包括点对点一致性互连。
[0050]示例20包括一种系统,该系统包括:耦合到存储单元的处理器;以及存储单元,其用于存储与为了第一代理从低功耗状态退出所必需的转换延迟时段相对应的值,其中第一代理将值写入存储单元,且其中在第一代理发起了其从低功耗状态的退出之后,第二代理在试图经由链路与第一代理通信之前等待该必需转换延迟时段,且其中第一代理、第二代理和存储单元中的一者或多者位于同一集成电路芯片上。在示例21中,示例20的主题可以任选地包括一种系统,其中第一代理在引导时间将值写入存储单元。在示例22中,示例20的主题可以任选地包括一种系统,其中第一代理经由ACPI (先进配置和功率接口)将值写入存储单元。
[0051]示例23包括一种方法,该方法包括:将与为了第一代理从低功耗状态退出所必需的转换延迟时段相对应的值存储在存储单元中,其中第一代理将值写入存储单元,且其中在第一代理发起了其从低功耗状态的退出之后,第二代理在试图经由链路与第一代理通信之前等待该必需转换延迟时段。在示例24中,示例23的主题可以任选地包括一种方法,进一步包括第一代理在引导时间将值写入存储单元。在示例25中,示例23的主题可以任选地包括一种方法,进一步包括第一代理经由ACPI (先进配置和功率接口)将值写入存储单元。在示例26中,示例23的主题可以任选地包括一种方法,其中该值与根据PCIe标准的转换延迟时段不同。在示例27中,示例23的主题可以任选地包括一种方法,进一步包括第二代理响应于来自以下各项中的一者或多者的请求来与第一代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS)、设备驱动程序及其组合。在示例28中,示例23的主题可以任选地包括一种方法,其中链路包括点对点一致性互连。示例28包括一种计算机可读介质,该计算机可读介质包括一个或多个指令,所述指令在处理器上执行时将所述处理器配置成执行示例23到28中的任一者的一个或多个操作。
[0052]示例30包括一种系统,该系统包括:耦合到存储单元的处理器;以及存储单元,其用于存储与为了第一代理从低功耗状态退出所必需的转换延迟时段相对应的值,其中第一代理将值写入存储单元,且其中在第一代理发起了其从低功耗状态的退出之后,第二代理在试图经由链路与第一代理通信之前等待该必需的转换延迟时段。在示例31中,示例30的主题可以任选地包括一种系统,其中第一代理在引导时间将值写入存储单元。在示例32中,示例30的主题可以任选地包括一种系统,其中第一代理经由ACPI (先进配置和功率接口)将值写入存储单元。在示例33中,示例30的主题可以任选地包括一种系统,其中第一代理包括输入/输出设备。在示例34中,示例30的主题可以任选地包括一种系统,其中链路包括外围组件互连快速(PCIe)链路。在示例34中,示例30的主题可以任选地包括一种系统,其中低功耗状态包括D3热功率状态和D3冷功率状态之一。在示例36中,示例35的主题可以任选地包括一种系统,其中根据PCIe标准对于D3热状态的值约为10ms。在示例37中,示例35的主题可以任选地包括一种系统,其中根据PCIe标准对于D3冷状态的值约为IOOms0在示例38中,示例30的主题可以任选地包括一种系统,其中该值与根据PCIe标准的转换延迟时段不同。在示例39中,示例30的主题可以任选地包括一种系统,其中第二代理响应于来自以下各项中的一者或多者的请求来与第一代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS)、设备驱动程序及其组合。在示例40中,示例30的主题可以任选地包括一种系统,其中存储单元包括以下各项中的一者或多者:存储设备、存储器、寄存器、寄存器字段、分组、分组字段及其组合。在示例41中,示例30的主题可以任选地包括一种系统,其中链路包括点对点一致性互连。在示例42中,示例30的主题可以任选地包括一种系统,其中第一代理、第二代理和存储单兀中的一者或多者位于同一集成电路芯片上。在示例43中,示例30的主题可以任选地包括一种系统,其中第一代理包括处理器。在示例44中,不例30的主题可以任选地包括一种系统,其中处理器包括一个或多个处理器核。
[0053]示例45包括一种设备,该设备包括:用于将与为了第一代理从低功耗状态退出所必需的转换延迟时段相对应的值存储在存储单元中的装置,其中第一代理将值写入存储单元,且其中在第一代理发起了其从低功耗状态的退出之后,在第二代理试图经由链路与第一代理通信之前,第二代理等待该必需的转换延迟时段。在示例46中,示例45的主题可以任选地包括一种设备,进一步包括用于第一代理在引导时间将值写入存储单元的装置。在示例47中,示例45的主题可以任选地包括一种设备,进一步包括用于第一代理经由ACPI(先进配置和功率接口)将值写入存储单元的装置。在示例48中,示例45的主题可以任选地包括一种设备,其中该值与根据PCIe标准的转换延迟时段不同。在示例49中,示例45的主题可以任选地包括一种设备,进一步包括用于第二代理响应于来自以下各项中的一者或多者的请求来与第一代理通信的装置:逻辑、软件、固件、PCIe总线驱动程序、操作系统
(OS)、设备驱动程序及其组合。在示例50中,示例45的主题可以任选地包括一种设备,其中链路包括点对点一致性互连。在示例51中,示例I到19以及45-50中的任一者的主题可以任选地包括一种设备,其中该值与根据PCIe标准的转换延迟时段不同。
[0054]在示例52中,示例I到19以及45_50中的任一者的主题可以任选地包括一种设备,其中链路包括外围组件互连快速(PCIe )链路。
[0055]在示例53中,示例23到28以及45_50中的任一者的主题可以任选地包括一种方法,其中低功耗状态包括D3热功率状态和D3冷功率状态之一。
[0056]在示例54中,示例30到44的主题可以任选地包括一种系统,其中该值与根据PCIe标准的转换延迟时段不同。
[0057]在本发明的各实施例中,本文中例如参考图1-5讨论的操作可被实现为硬件(例如,电路)、软件、固件、微代码或其组合,它们可作为计算机程序产品来提供,该计算机程序产品例如包括其上存储有指令(或软件程序)的有形(例如,非瞬态)机器可读或(例如,非瞬态)计算机可读介质,这些指令用于对计算机进行编程以执行本文所讨论的过程。并且,作为示例,术语“逻辑”可包括软件、硬件或软件和硬件的组合。机器可读介质可包括诸如参考图1-5所讨论的存储设备之类的存储设备。此外,这种计算机可读介质可作为计算机程序产品来下载,其中该程序可经由通信链路(例如,总线、调制解调器或网络连接)作为经由载波或其它传播介质传送的数据信号从远程计算机(例如,服务器)传输到提出请求的计算机(例如,客户机)。
[0058]在本说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可包括在至少一个实现中。在本说明书各处出现的短语“在一个实施例中”可以或可不全指代同一实施例。
[0059]并且,在说明书和权利要求书中,可使用术语“耦合”和“连接”以及它们的派生词。在本发明的某些实施例中,“连接”可用于指示两个或多个元件相互直接物理接触和/或电接触。“耦合”可意味着两个或两个以上元件直接物理或电接触。然而,“耦合”还可表示两个或多个元件相互不直接接触,但仍相互配合和/或相互作用。
[0060]由此,尽管已经用结构特征和/或方法动作专用的语言描述了本发明的实施例,但是应该理解所要求保护的主题可并不被限定于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现所要求保护的主题的样本形式而公开的。
【权利要求】
1.一种用于提供更快引导时间的装置,所述装置包括: 耦合到存储单元的等待代理,所述存储单元用于存储与为了使退出代理从低功耗状态退出所必需的转换延迟时段相对应的值, 其中响应于所述等待代理确定所述退出代理已经发起了其从所述低功耗状态的退出,所述等待代理在试图经由链路与所述退出代理通信之前等待所述必需的转换延迟时段。
2.如权利要求1所述的装置,其特征在于,所述退出代理在引导时间将所述值写入所述存储单元。
3.如权利要求1所述的装置,其特征在于,所述退出代理经由ACPI(先进配置和功率接口)将所述值写入所述存储单元。
4.如权利要求1所述的装置,其特征在于,所述退出代理包括输入/输出设备。
5.如权利要求1所述的装置,其特征在于,所述低功耗状态包括D3热功率状态和D3冷功率状态之一。
6.如权利要求5所述的装置,其特征在于,根据PCIe标准对于所述D3热状态的值约为1ms,而根据PCIe标准对于所述D3冷状态的值约为100ms。
7.如权利要求1所述的装置,其特征在于,所述退出代理响应于来自以下各项中的一者或多者的请求来与所述等待代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS),设备驱动程序及其组 合。
8.如权利要求1所述的装置,其特征在于,所述存储单元包括以下各项中的一者或多者:存储设备、存储器、寄存器、寄存器字段、分组、分组字段及其组合。
9.如权利要求1所述的装置,其特征在于,所述等待代理、所述退出代理以及所述存储单元中的一者或多者位于同一集成电路芯片上。
10.一种用于提供更快引导时间的装置,所述装置包括: 用于传送与为了使退出代理从低功耗状态退出所必需的转换延迟时段相对应的值的退出代理, 其中响应于所述退出代理将所述值写入存储单元并且发起从所述低功耗状态的退出,要与所述退出代理相关联的链路在所述必需的转换延迟时段期间静默。
11.如权利要求10所述的装置,其特征在于,所述退出代理在引导时间将所述值写入所述存储单元。
12.如权利要求10所述的装置,其特征在于,所述退出代理经由ACPI(先进配置和功率接口)将所述值写入所述存储单元。
13.如权利要求10所述的装置,其特征在于,所述退出代理包括输入/输出设备。
14.如权利要求10所述的装置,其特征在于,所述低功耗状态包括D3热功率状态和D3冷功率状态之一。
15.如权利要求14所述的装置,其特征在于,根据PCIe标准对于所述D3热状态的值约为10ms,而根据PCIe标准对于所述D3冷状态的值约为100ms。
16.如权利要求10所述的装置,其特征在于,所述退出代理响应于来自以下各项中的一者或多者的请求来与所述等待代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS )、设备驱动程序及其组合。
17.如权利要求10所述的装置,其特征在于,所述存储单元包括以下各项中的一者或多者:存储设备、存储器、寄存器、寄存器字段、分组、分组字段及其组合。
18.一种用于提供更快引导时间的方法,所述方法包括: 将与为了使第一代理从低功耗状态退出所必需的转换延迟时段相对应的值存储在存储单元中, 其中所述第一代理将所述值写入所述存储单元,且其中在所述第一代理发起了其从所述低功耗状态的退出之后,第二代理在试图经由链路与所述第一代理通信之前等待所述必需的转换延迟时段。
19.如权利要求18所述的方法,其特征在于,进一步包括所述第一代理在引导时间将所述值写入所述存储单元。
20.如权利要求18所述的方法,其特征在于,进一步包括所述第一代理经由ACPI(先进配置和功率接口)将所述值写入所述存储单元。
21.如权利要求18所述的方法,其特征在于,所述值与根据PCIe标准的转换延迟时段不同。
22.如权利要求18所述的方法,其特征在于,进一步包括所述第二代理响应于来自以下各项中的一者或多者的请求来与所述第一代理通信:逻辑、软件、固件、PCIe总线驱动程序、操作系统(OS)、设备驱动程序及其组合。
23.如权利要求18所述的方法,其特征在于,所述链路包括点对点一致性互连。
24.一种包括一个或多个指令的计算机可读介质,所述指令在处理器上执行时将所述处理器配置成执行权利要求18到23中的任一者的一个或多个操作。
25.—种包括用于执行权利要求18到23中的任一者中要求保护的方法的装置的设备。
【文档编号】G06F13/28GK104050125SQ201410093976
【公开日】2014年9月17日 申请日期:2014年3月14日 优先权日:2013年3月15日
【发明者】M·沃什, L·P·路易 申请人:英特尔公司