高速串行I/O链路应用中用于从低功率状态快速而稳健恢复的自适应控制环保护转让专利

申请号 : CN201410098134.1

文献号 : CN104050060B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : Y·何N·R·纳古拉帕里S·萨卡I·赫瑞拉梅佳R·K·利亚那格

申请人 : 英特尔公司

摘要 :

描述了涉及在高速串行I/O应用中用于从低功率状态快速且稳健地恢复的自适应控制环保护。在一些实施例中,在第一代理处检测第一比特模式,该第一比特模式指示第二代理推测性地进入低功率消耗状态且一个或多个控制环被冻结。(在进入低功率消耗状态后)检测第二比特模式,该第二比特模式指示第二代理从低功率消耗状态的退出且该一个或多个控制环(例如,按指定次序)被解冻。还要求保护和/或公开了其它实施例。

权利要求 :

1.一种用于控制环保护的装置,包括:

用于在第一代理处检测第一比特模式的逻辑单元;

用于基于所述第一比特模式使得一个或多个控制环冻结的逻辑单元,其中所述第一比特模式指示第二代理推测性地进入低功率消耗状态;

用于在冻结所述一个或多个控制环后并且响应于计时器的期满来确定所述第二代理是否实际上进入了所述低功率消耗状态的逻辑单元;

用于检测第二比特模式的逻辑单元;以及

用于基于所述第二比特模式使得所述一个或多个控制环解冻的逻辑单元,其中所述第二比特模式指示所述第二代理从所述低功率消耗状态的退出。

2.如权利要求1所述的装置,其特征在于,所述一个或多个控制环包括以下的一个或多个:时钟数据恢复CDR控制环、自动增益控制AGC控制环、决策反馈均衡DFE控制环以及连续时间偏移消除CTOC控制环。

3.如权利要求2所述的装置,其特征在于,其中用于基于所述第二比特模式使得所述一个或多个控制环解冻的逻辑单元用于使得所述CDR控制环在所述AGC控制环、DFE控制环以及CTOC控制环之前解冻。

4.如权利要求2所述的装置,其特征在于,用于基于所述第二比特模式使得所述一个或多个控制环解冻的逻辑单元用于向所述CDR控制环中注入人工频率偏移以帮助在启动所述AGC控制环、DFE控制环以及CTOC控制环之前穿过缓慢响应相位区域进行快速锁定。

5.如权利要求2所述的装置,其特征在于,用于基于所述第二比特模式使得所述一个或多个控制环解冻的逻辑单元用于响应于指示所述CDR控制环的捕获的计时器的期满而解冻所述AGC控制环、DFE控制环以及CTOC控制环。

6.如权利要求1所述的装置,其特征在于,第一代理和第二代理经由链路耦合且其中所述链路包括外围组件互连快速PCIe链路。

7.如权利要求1所述的装置,其特征在于,所述第一比特模式包括电子空闲有序集EIOS比特模式。

8.如权利要求1所述的装置,其特征在于,所述第二比特模式包括电子空闲退出有序集EIEOS比特模式。

9.如权利要求1所述的装置,其特征在于,所述第一代理包括PCIe控制器。

10.如权利要求1所述的装置,其特征在于,所述第二代理包括输入/输出设备。

11.如权利要求1所述的装置,其特征在于,所述第一代理和所述第二代理经由链路耦合。

12.如权利要求11所述的装置,其特征在于,所述链路包括点对点一致互连。

13.如权利要求1所述的装置,其特征在于,所述第一代理包括用于检测所述第一比特模式的逻辑单元和用于检测所述第二比特模式的逻辑单元中的一个或多个。

14.如权利要求1所述的装置,其特征在于,所述第一代理、所述第二代理以及存储器位于同一集成电路芯片上。

15.一种用于控制环保护的方法,包括:

在第一代理处检测第一比特模式并使得一个或多个控制环冻结,其中所述第一比特模式指示第二代理推测性地进入低功率消耗状态;

在冻结所述一个或多个控制环后并且响应于计时器的期满来确定所述第二代理是否实际上进入了所述低功率消耗状态;以及检测第二比特模式并使得所述一个或多个控制环解冻,其中所述第二比特模式指示所述第二代理从所述低功率消耗状态的退出。

16.如权利要求15所述的方法,其特征在于,所述一个或多个控制环包括以下的一个或多个:时钟数据恢复CDR控制环、自动增益控制AGC控制环、决策反馈均衡DFE控制环以及连续时间偏移消除CTOC控制环。

17.如权利要求16所述的方法,其特征在于,检测所述第二比特模式使得所述CDR控制环在所述AGC控制环、DFE控制环以及CTOC控制环之前解冻。

18.如权利要求16所述的方法,其特征在于,检测所述第二比特模式使得向所述CDR控制环中注入人工频率偏移以帮助在启动所述AGC控制环、DFE控制环以及CTOC控制环之前穿过缓慢响应相位区域进行快速锁定。

19.如权利要求16所述的方法,其特征在于,检测所述第二比特模式响应于指示所述CDR控制环的捕获的计时器的期满而使得所述AGC控制环、DFE控制环以及CTOC控制环解冻。

20.一种电子系统,包括:

具有第一代理和第二代理的处理器;以及

用于检测第一比特模式的逻辑单元;

用于基于所述第一比特模式使得一个或多个控制环冻结的逻辑单元,其中所述第一比特模式指示所述第二代理推测性地进入低功率消耗状态;

用于在冻结所述一个或多个控制环后并且响应于计时器的期满来确定所述第二代理是否实际上进入了所述低功率消耗状态的逻辑单元;

用于检测第二比特模式的逻辑单元;以及

用于基于所述第二比特模式使得所述一个或多个控制环解冻的逻辑单元,其中所述第二比特模式指示所述第二代理从所述低功率消耗状态的退出。

21.如权利要求20所述的系统,其特征在于,所述一个或多个控制环要包括以下的一个或多个:时钟数据恢复CDR控制环、自动增益控制AGC控制环、决策反馈均衡DFE控制环以及连续时间偏移消除CTOC控制环。

22.如权利要求21所述的系统,其特征在于,用于检测所述第二比特模式的逻辑单元用于使得所述CDR控制环在所述AGC控制环、DFE控制环以及CTOC控制环之前解冻。

23.如权利要求21所述的系统,其特征在于,用于检测所述第二比特模式的逻辑单元用于向所述CDR控制环中注入人工频率偏移以帮助在启动所述AGC控制环、DFE控制环以及CTOC控制环之前穿过缓慢响应相位区域进行快速锁定。

24.如权利要求21所述的系统,其特征在于,用于检测所述第二比特模式的逻辑单元用于响应于指示所述CDR控制环的捕获的计时器的期满而解冻所述AGC控制环、DFE控制环以及CTOC控制环。

说明书 :

高速串行I/O链路应用中用于从低功率状态快速而稳健恢复

的自适应控制环保护

技术领域

[0001] 本公开一般涉及电子学领域。更具体而言,本发明的一个实施例涉及高速串行链路I/O应用中用于从低功率状态快速而稳健恢复的自适应控制环保护。

背景技术

[0002] 外围组件互连快速(PCIe)是一种计算机系统中常见的输入/输出(I/O或IO)接口。然而,随着PCIe速度的增加,所带来的一定的信号失真降低了信号通信可靠性。例如,具有高传输速率的PCIe链路一般可使用自我纠正的反馈控制环来控制模拟接收器电路。然而,噪声数据输入可能在进入或退出一功率状态时发生,这会导致反馈控制环做出反应并且可能将其扰乱为对于电气稳健链路而言并非最优的值。

附图说明

[0003] 参照附图提供详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项目。
[0004] 图1示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图,该计算系统包括PCIe设备和/或其他I/O设备。
[0005] 图2示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图。
[0006] 图3A示出根据一实施例的方法的流程图。
[0007] 图3B示出根据一实施例的用于低功率状态退出有限状态机控制CDR环滤波器的框图。
[0008] 图4示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图。
[0009] 图5示出可用于实现本文讨论的一个或多个实施例的计算系统的一实施例的框图。

具体实施方式

[0010] 在以下描述中,阐述众多具体细节以提供对各实施例的透彻理解。然而,在没有这些具体细节的情况下也可实践某些实施例。在其它实例中,并未对公知方法、程序、组件以及电路进行详细描述以免模糊具体实施例。本发明的实施例的各方面利用诸如集成半导体电路(“硬件”)、组织成一个或多个程序(“软件”)的计算机可读指令或硬件和软件的某种组合之类的多种方式来执行。出于本公开的目的,对“逻辑”的引用应该表示硬件、软件或其某种组合的意思。
[0011] PCIe Gen3(第3代)(其中PCIe是指PCI express(快速),其可以根据PCIe基础规范第3次修订(例如,版本1.0,2010年11月10日))和其他具有高传输速率的串行I/O使用自我纠正的反馈控制环来控制模拟接收器电路。在开始的完整链路训练期间,这些环通过捕获(acquisition)来设置为最优的开始值,以便链路以稳健方式发挥电气功能。一旦链路完成训练并且完全可用,控制环持续纠正模拟电路以在比特差错率要求内对进入数据采样。然而,例如,噪声数据输入可能潜在地在进入或退出一功率状态时发生,并会导致反馈控制环做出反应并且可能将其扰乱为对于电气稳健链路而言并非最优的值。对这些种类的接收机而言,具有防止环路暴露到任何种类的噪声数据(比如在进入和退出链路功率管理状态期间可能发生的噪声数据)的精确方案是极为重要的。
[0012] 在传统的第一代和第二代PCIe设计中,复杂的模拟静噪电路(squelch circuit)一般提供一种检测对较低功率管理状态的进入(杂音(squelch))以保护回路免于噪杂的杂音数据的可靠方式。在高速的第三代PCIe设计中(或者甚至在某些第二代PCIe设计中),由于复杂的码元间干扰(ISI)和小的信号幅度,在8GT/s及以上进入功率状态的可靠模拟指示是不可行的。在这些高速设计中,模拟指示被数字式的EIOS(电子空闲有序集)比特模式的解码和检测所取代,所述比特模式指示进入较低功率状态的意图。接收器PHY层中的控制器处理器此EIOS模式并且将指示发送到模拟前端(即AFE,其包括一模拟电路,该模拟电路接收进入的模拟信号并解析该模拟信号以接收二进制格式的数据,并且将二进制传送数据转换为模拟信号以通过PCIe链路发送到链路伙伴设备)。
[0013] PCIe链路伙伴(诸如图1的控制器135)可向根复合体(root-complex)接收器发送信号,所述信号指示进入较低的功率状态,例如,L0(其中L0通常是指省电状态),其是期望能够快速唤醒的相对短期的空闲模式。根复合体接收器使用此信号来进入比如L0等较低功率状态,并进而向AFE发送指示以切断适当的模拟电路(或使其空闲)。但是,当前的数字检测方式和L0方案花费极长的时间。链接伙伴在此时间期间可进入杂音模式并开始发送杂音数据,将所述环暴露于杂音数据例如50到100ns(取决于用于处理EIOS数据的第三代或第二代数据速率)以确认进入低功率状态。而且在许多边界逻辑情况下,环还将在静噪条件期间被暴露于噪杂数据更长的时间段,因为可能没有来自控制器的关于进入较低功率状态的可靠指示。例如,当该链路处于恢复亚状态时,对LTSSM(链接训练和状况状态机)的EIOS检测被掩蔽,而控制器可能不向AFE发送L0进入信号,而这会导致破坏环漂移到非最优位置,该非最优位置可能是无法恢复的。在这种情况下,AFE接收器可能变得暴露于噪杂信号以及共模跳跃,而控制环尝试纠正这些并且稳定到对于常规数据流量而言完全次优的值。在接收器退出较低功率状态后,这可能导致链路失败。
[0014] 此情形可通过增加从较低频率状态退出时nFTS(帮助AFE接收器实现位锁定所需的快速训练序列的数量)模式的长度和持续时间来部分缓解,但因总退出等待时间增加这可能严重降低功率和性能益处。这种退出等待时间增加占掉能在较低功率状态中所花的时间,这降低了功率管理的益处/效率。对于许多应用和工作负载,可能重复地背靠背地进出较低功率状态。在这些情况下,此问题可能会以非常严重的形式表现,甚至在更长的nFTS的情况下,且接收器可能遇到猝发差错。因此,如果此问题不解决,则带有能够进行第三代PCIe电路架构的产品将面临:(i)在从较低功率状态退出后的链路降级或链路失败;和/或(ii)因退出等待时间会更长,功率和性能益处的降低。
[0015] 而且,接收器恢复问题的症状可包括:
[0016] (a)nFTS超时且进入L0上的恢复的链路退出;
[0017] (b)突发链路停机(SLD)的场景,其中控制器不断言EIOS上的RX_L0(接收L0)。这导致AFE RX循环被暴露于杂音数据相对较长的时间,这最终会破环自适应环的自我恢复。
[0018] (c)背靠背L0事件上的链路性能的缓慢降级。这是由于低功率状态退出开始时的噪杂数据,该噪杂数据会导致接收器自适应环漂移,而L0驻留时间不够长而在进入下一L0状态之前接收器无法完全恢复。
[0019] 为此,在一些实施例中,控制器(例如,图1的PCIe控制器135)以特别的方式处理EIOS以生成相对早的以下指示:端点(或代理)(例如,通过解码第一代/第二代中的COM IDLE IDLE IDLE以及第三代中的前4个EIOS码元)正进入较低功率状态。此早期EIOS是对根复合体可能进入L0状态的潜在指示但是在一些边界情况下它可能丢掉EIOS并停留在L0状态中。AFE使用此早期EIOS指示来促成控制环的冻结(并且还装备模拟杂音退出检测逻辑,来检测从低功率状态的杂音退出)。此冻结机制将防止在链路伙伴完成EIOS的传输后控制环对噪杂的杂音数据做出反应。控制器处理EIOS数据以便确认进入低功率状态可能花费大量时间(例如,多达100ns)。如果使用正常的L0进入信号,则每当其进入L0状态时,自适应环可在杂音数据中暴露控制器处理等待时间。随后,在从冻结指令起延迟时间段(例如,可编程模拟杂音电路热身时间,诸如20ns、40ns或80ns)后,采样/检测模拟杂音退出信号,以检测非静噪状态。随后响应于模拟杂音退出信号的变化(例如,当可编程热身计时器之后断言该变化时),控制环将被解冻。
[0020] 而且,来自控制器的早期EIOS指示可能不总是导致LTSSM进入ASPM L0状态。在这些推测情况下,当杂音退出将最终被指示(例如,基于EIEOS(电子空闲退出有序集)比特模式的检测)时,控制环将被打开(即,解冻)。为防止该端点(或代理)在进入后短时间内退出低功率状态(例如,PCIe规范定义20ns最小L0驻留),响应于杂音退出的指示,自适应控制环还将在某个延迟(例如,40ns或80ns热身时间)后被启动。因此,由于内建的失效保险(fail-safe)机制,低功率状态进入之前的推测性控制环冻结不会过早地锁住环。
[0021] 各实施例在本文中参考计算系统组件来讨论,诸如举例来说本文参考图1-2和4-5讨论的各组件。更具体地,图1示出根据本发明的一实施例的计算系统100的框图。系统100包括一个或多个代理102-1到102-M(本文统称为“各代理102”或更一般地“代理102”)。在一实施例中,代理102是诸如参考图2和4-5所讨论的计算系统之类的计算系统的组件。
[0022] 如图1所示,代理102经由网络结构104通信。在一实施例中,网络结构104包括经由串行(例如,点对点)链路和/或共享的通信网络通信的一个或多个互连(或互连网络)。每个链路可包括一个或多个通道。例如,某些实施例可便于部件在允许与完全缓冲双列直插式存储器模块(FBD)通信的链路上调试或验证,例如,其中FBD链路是用于将存储器模块耦合到主机控制器设备(诸如处理器或存储器中枢)的串行链路。调试信息从FBD通道主机传输,以使得调试信息沿着通道由通道通信量跟踪捕获工具(诸如一个或多个逻辑分析器)观测。
[0023] 在一个实施例中,系统100支持分层协议方案,该分层协议方案包括物理层、链路层、路由层、传输层和/或协议层。对于点对点网络,结构104还便于数据(例如以分组形式)从一个协议(例如,高速缓存处理器或高速缓存知悉式存储器控制器)传输到另一协议。而且,在某些实施例中,网络结构104提供遵守一个或多个高速缓存一致协议的通信。
[0024] 此外,如图1中的箭头方向所示,代理102经由网络结构104传输和/或接收数据。因此,某些代理利用单向链路通信,而其它代理利用双向链路通信。例如,一个或多个代理(诸如代理102-M)(例如,经由单向链路106)传输数据,其它代理(诸如代理102-2)(例如,经由单向链路108)接收数据,而某些代理(诸如代理102-1)(例如,经由双向链路110)传输和接收数据。
[0025] 同样,根据一实施例,一个或多个代理102包括一个或多个输入/输出中枢(IOH)120以促进代理(例如,示出的代理102-1)与一个或多个输入/输出(“I/O”或“IO”)设备124(诸如PCIe I/O设备)之间的通信。IOH120包括根复合体(RC)122(包括一个或多个根端口)以根据PCIe规范(例如,根据PCI快速基础规范3.0,也称为PCIe3.0或第三代PCI或第三代PCIe)耦合和/或促进代理102-1的各组件(诸如处理器、存储器子系统等)与I/O设备124之间的通信。在一些实施例中,多代理系统的一个或多个组件(诸如处理器核、芯片组、输入/输出中枢、存储器控制器等)包括RC122和/或IOH120,如将参考其余附图进一步讨论的。
[0026] 此外,代理102包括PCIe控制器135以管理PCIe接口的各种操作,例如以改善代理102中的PCIe组件的高速(例如,串行)I/O信道的质量和/或速度。而且,如图1中所示,代理
102-1有权访问存储器140。如将参考图2-5进一步讨论的,存储器140存储各种项,包括例如OS、设备驱动程序等等。
[0027] 更具体而言,图2是根据一实施例的计算系统200的框图。系统200包括多个套接口202-208(示出四个,但是一些实施例可具有更多或更少套接口)。每个套接口包括处理器和IOH120、RC122和PCIe控制器135中的一个或多个。在一些实施例中,IOH120、RC122和/或PCIe控制器135可以存在于系统200的一个或多个组件(诸如图2所示的那些组件)中。而且,取决于实现,更多或更少的120、122和135块存在于系统中。另外,每一个套接口经由点对点(PtP)链路或差分互连(诸如快速路径互连(QPI)、MIPI(移动产业处理器接口))等耦合到其他套接口。如参照图1的网络结构104所讨论的,每个套接口被耦合至系统存储器的本地部分,例如,由包括动态随机存取存储器(DRAM)的多个双列直插式存储器模块(DIMM)构成。
[0028] 在另一实施例中,网络结构可用于任何片上系统(SoC)应用、利用定制的或标准的接口,诸如用于AMBA(高级微控制器总线架构)的符合ARM的接口、OCP(开放核协议)、MIPI(移动产业处理器接口)、PCI(外围组件互连)或PCIe(外围组件互连快速)。
[0029] 一些实施例在基于PC(个人计算机)的系统(诸如基于PCI的系统)中使用能够使用异构资源的一种技术(诸如AXI/OCP技术)而不对IP资源本身作出任何改变。各实施例提供了两种非常薄的硬件块,本文也称为单元和垫层,其可用于将AXI/OCP IP插入自动生成的互连结构中以创建兼容PCI的系统。在一实施例中,Y单元的第一(例如,北)接口连接到适配器块,该适配器块对接到兼容PCI的总线(诸如直接媒体接口(DMI)总线、PCI总线、或外围组件互连快速(PCIe)总线)。第二(例如,南)接口直接连接至非PC互连(诸如AXI/OCP互连)。在各实现中,这一总线可以是OCP总线。
[0030] 在一些实施例中,Y单元通过将PCI配置周期转换成目标IP能够理解的事物来实现PCI枚举。这一单元还执行可重定位的PCI地址到固定AXI/OCP地址以及相反方向的地址转换。Y单元可进一步实现一种排序机制以满足生产者-消费者模型(例如,PCI生产者-消费者模型)。进而,各个IP经由专用的PCI垫层连接到互连。每一个垫层可为对应的IP实现整个PCI头部。Y单元路由到PCI头部的所有接入以及到垫片的设备存储器空间。垫片消耗所有的头部读/写事物并且将其他事物传递给IP。在一些实施例中,垫片还为IP实现所有与功率管理有关的特征。
[0031] 因而,代替作为单片兼容性块,实现Y单元的各实施例采用一种分布式方式。跨所有IP共用的功能(例如,地址转换和排序)在Y单元中实现,而IP专用功能(诸如功率管理、误差处理等)在针对该IP定制的垫层中实现。
[0032] 以此方式,新的IP可伴随最小的改变被添加到Y单元。例如,在一种实现中,这些改变可以通过在地址重定向表中添加新条目来进行。尽管垫层是IP专用的,但在一些实现中,大量功能(例如,超过90%)是跨所有IP共用的。这使得能够对新IP的现有垫层实现快速重新配置。一些实施例因而还能够在没有修改的情况下实现自动生成的互连结构。在点对点总线架构中,设计互连结构可能是一项具有挑战性的任务。上文描述的Y单元方式以最小的努力并且不要求对产业标准工作进行修改来将产业生态系统充分利用到PCI系统中。
[0033] 如图2所示,每个套接口耦合至存储器控制器(MC)/归属代理(HA)(诸如MC0/HA0至MC3/HA3)。存储器控制器耦合至相应的本地存储器(标示为MEM0至MEM3),其可以是系统存储器(诸如图4的存储器412)的一部分。在一些实施例中,存储器控制器(MC)/归属代理(HA)(诸如MC0/HA0至MC3/HA3)可与图1的代理102-1相同或类似,而标示为MEM0至MEM3的存储器可与参考本文任何附图讨论的存储器设备相同或类似。一般地,处理/高速缓存代理向归属节点发送请求以访问与相应的“归属代理”相关联的存储器地址。而且,在一个实施例中,MEM0至MEM3可被配置成镜像数据,例如,作为主机和从属。而且,在一些实施例中,系统200的一个或多个组件可被包括在同一集成电路管芯上。
[0034] 此外,诸如图2中所示的一种实现用于带有镜像的套接口无粘合(glueless)配置。例如,指派给存储器控制器(诸如MCO/HA0)的数据通过PtP链路被镜像至另一存储器控制器(诸如MC3/HA3)。
[0035] 图3A示出根据一些实施例的提供用于在高速串行I/O链路应用中从低功率状态快速而稳健地恢复的自适应控制环保护的方法300的流程图。在各实施例中,参考图3A讨论的操作由参考图1、2、4和/或5讨论的组件(诸如PCIe控制器135或控制器135内的一个或多个逻辑等)中的一个或多个执行。
[0036] 参考图1-3A,在操作302,两个代理(例如,参考图1讨论的任何代理,诸如代理102-1和I/O设备124(包括PCIe链路的端点)之一)之间的链路处于正常的操作状态(L0)。在操作
304,检测早期EIOS模式(例如,通过PCIe控制器135)。一旦检测到早期EIOS,在操作306,一个或多个控制环(根据一些实施例,诸如CDR(时钟数据恢复,其可至少部分地基于对对应数据的分析来推断时钟)、AGC(自动增益控制,其可利用反馈环来将增益调节到适当水平)、DFE(决策反馈均衡,其向随时间改变的属性(比如通信链路间的码元间干扰)提供均衡/适配)以及CTOC(连续时间偏移消除,其可允许线性共模差错检测以及偏移纠正))中的一个或多个被推测性地冻结。在一实施例中,在操作306保存与控制环有关的状态和/或其他信息(例如,用于从冻结更快地恢复)在操作308,方法300等待第一计时器期满(例如,在20ns或
40ns或80ns之后)。此计时器确保AFE中的模拟杂音退出检测电路被充分热身以用于退出检测。一旦第一计时器期满,操作310检查杂音退出检测电路以确定较低功率消耗状态是否已被断言/进入。如果没有,则在操作312解冻操作306的冻结环,并且该链路返回到操作302的正常操作状态。
[0037] 相应地,在进入低功率状态时,一实施例使用即将出现的较低功率状态进入的早期推测性指示(例如,基于PCIe控制器135所检测的EIOS模式)以存储控制环状态并冻结环,使得这些环在进入过程的剩余时间期间以及低功率状态期间不能被破坏。如果假的杂音发生而接收器仍处于操作模式,则所有环将快速回到如图3A的框图中所示的正常操作。
[0038] 如果在操作310事实上断言了较低功率消耗,则链路进入低功率消耗状态而EIEOS模式检测在操作314被激活。一旦在操作316检测到EIEOS模式,则在操作318启动CDR环(如下面将进一步讨论的)。在操作320,方法300在操作322启动其他环(例如,AGC、DFE和CTOC环)之前等待第二计时器期满以允许CDR捕获。此方法防止了由低功率状态退出开始时的初始被破坏数据带来的差错在自适应环中的传播;因此,改善了链路稳定性和总的位锁定时间。在操作322后,方法300以操作302恢复。
[0039] 在一实施例中,在操作306冻结一个或多个环按以下次序执行:CDR环、DFE环、AGC环以及CTOC环。然而,不是所有实施例均限于以此次序来冻结该一个或多个环。此外,在一个实施例中,在操作318和322解冻该一个或多个环按以下次序执行:CDR环、DFE环、AGC环以及CTOC环。然而,除了CDR环的解冻(并在操作320等待CDR捕获)要在解冻其他环之前发生之外,并不是所有实施例均限于以此次序来解冻一个或多个环。
[0040] 在一些实施例中,(例如,数字)有限状态机(FSM)被用来:(a)使用基于EIOS模式的推测性进入信号,在进入省电状态之前,保存接收器AFE控制环状态(例如,对于CDR、AGC、DFE和CTOC环)。如果该推测性进入在第一计时器期满之后没有被检测到,则将环解冻回正常操作;和/或(b)在执行省电状态后一步步地启动所有环。
[0041] 在一实施例中,PCIe控制器或系统代理将检测EIOS的以下早期指示:该链路有可能进入功率管理状态而进入数据将很快被静噪。此早期指示被发送给AFE以冻结控制环(例如,CDR、AGC、DFE和CTOC)并且不对进入数据做出反应,并且同时还装备杂音退出检测逻辑。热身计时器将在装备杂音逻辑之后开始。计时器将在20ns/40ns/80ns(其可以是可编程的)的杂音装备之后期满。在计时器期满后,对模拟杂音退出信号采样以获得有效模拟杂音退出。当检测到有效杂音退出时,CDR将首先解冻并从最后冻结代码开始捕获(ACQ)循环。在CDR、ACQ循环完成后,AGC、DFE和CTOC将解冻并从冻结之前的最后快照代码开始跟踪。在操作322之后,正常链路操作(例如,从功率管理模式的完全退出)将从AGC、DFE和CTOC解冻后的点恢复。
[0042] 而且,在一些实施例中,FSM被用来在退出低功率状态(诸如L0)时按交错序列解冻控制环。时钟恢复(CDR)环将首先解冻。直到CDR捕获完成后,AGC、DFE和CTOC环才将解冻。
[0043] 例如,相位漂移可能在低功率状态(诸如L0)的驻留期间发生。在退出低功率状态时,接收器采样时钟不再与进入数据对齐。如果在CDR环的同时AGC、DFE和CTOC环被启动,则AGC、DFE和CTOC环将向错误的方向漂移。而且,自适应环的错误漂移可能彼此交互并有可能达到无法恢复的状态,从而导致链路失败。此方法防止了由低功率状态退出开始时的初始被破坏数据带来的差错在自适应环中的传播;因此,改善了链路稳定性和总的位锁定时间。
[0044] 在某些场景下,CDR可在接收器刚退出较低功率状态时在慢响应相位区域中操作。这可能是由大的传送相位漂移和/或共模漂移所导致的,使得CDR相位检测器处于死区中。
FSM被用来注入人工频率偏移以拉出死区并帮助快速采样相位恢复。
[0045] 在一个实施例中,图3B示出低功率状态退出FSM控制CDR环滤波器350的框图。在正常操作期间,相位输入351被发送到一阶滤波器370以及积分器360,该积分器驱动二阶滤波器380。相位输出354是滤波器370和滤波器380的求和。在从低功率状态退出时,FSM390通过对一个时钟循环将注入偏移353断言为逻辑“1”来控制将人工频率偏移352添加到积分器360中。频率偏移注入的量是可编程的。如果相位检测器处于死区中,则相位输出将被频率偏移调制以拉出慢响应区域。一旦相位检测器恢复工作,则一阶滤波器将拾取跟踪并自我纠正所注入的频率偏移。这是由于滤波器370中的环增益远远大于滤波器380中的增益。积分器将最终收敛到它之前的值。
[0046] 因为实施例不依赖与控制器的L0信号来冻结和解冻环,所以它还保护环免于某些边界条件。这样一种边界条件可以是:端点(或代理)在进入链接运行状态后立即进入低功率状态,同时由于链接差错根端口仍旧在恢复中。在这种情况下,负责进入L0的指示的信号将永远不会被断言到AFE,因为LTSSM的接收器段永远不会实际上进入L0。一实施例使用控制器发送的进入(到功率状态)的早期指示而不是L0进入信号,并因此可以更可靠地用来冻结所述环。使用这种方案,链路可具有短得多的功率管理退出等待时间并且变得更加稳定。
[0047] 而且,一些实施例提供了PCIe/QPI信号I/O AFE涉及的安全方案来实现退出省电状态时的快速恢复。而且,与省电状态相关联的接收器问题可能部分由于自适应环从操作状态的漂移。所述漂移可以由当接收数据(在省电状态进入和退出的开始时)被破坏时在LMS(最小均方)适配中的差错传播所导致。在极端场景下,背靠背L0事件可能如此频繁以至于在进入下一个省电模式之前自适应环没有时间恢复。最终接收器可能偏移得足够远而导致突然的链路停机。为了解决硅中的自适应漂移问题,可以(例如,在AFE接收器中)实现数字环保护FSM,来基于来自控制器的早期EIOS并使用模拟杂音检测依序启动环适配来保护环。来自控制器输入的早期(EIOS)杂音检测可触发AFE RX环保护FSM忽略可能损坏的数据,即便环适配被启动。此保护机制防止RX进入错误状态,并且CDR然后是AGC、DFE和CTOC控制环的交错解冻将改善链路稳定性并缩短位锁定时间。
[0048] 在退出低功率状态期间,一实施例提供启动所有环的顺序过程以避免差错传播并缩短位锁定时间。在退出L0/L1时,接收数据破坏可能来自大的TX相位漂移以及TX共模漂移。这种漂移将触发错误的AGC、DFE和CTOC适配,这不仅增加了恢复时间,而且还危及链路稳定性。在一个环保护FSM中,在L0/L1退出后CDR环首先被启动。有时CDR相位检测在低功率状态驻留期间传送相位漂移到CDR的死区时在开始时变得不那么有效。人工频率偏移被注入以将接收器拉出那些缓慢响应区域。一旦CDR恢复了采样相位,则初始注入的人工频率偏移将由于CDR环适配而被自动清除。AGC、DFE和CTOC环随后被再开启以跟踪进入的信号并微调接收器配置。
[0049] 因此,某些实施例允许包括以下的一个或多个的特征:(1)使用从控制器到AFE的推测性L0信号以稳健方式保护环免于噪杂数据;(2)与环冻结不同,解冻是以交错方式进行的,CDR将首先被解冻,此时保持AGC、DFE和CTOC被冻结。在使用nFTS稳定CDR之后,将其他环(AGC、DFE、CTOC)解冻以跟踪数据以进行动态调整。使用EIOS的早期版本同时冻结所有环(CDR、AGC、DFE、CTOS),以及使用模拟杂音退出首先解冻CDR然后解冻AGC/DFE/CTOC,将提供最大的保护和稳健的链路操作以及短的L0退出等待时间。
[0050] 而且,根据各实施例,更快的恢复是可能的,因为链路可以从预先存储的值开始而不是必须经历全新训练,并且在CDR捕获窗口期间使用人工频率偏移来前进穿过缓慢响应相位区域,由此增加省电,因为链路可停留在较低功率状态相对长的时间。而且,一些实施例改善了从低功率状态退出时的链路稳定性并允许使用反馈环的高速串行I/O的功率降低。例如,通过实践某些实施例,在背靠背L0进入和退出情况下(例如,L0状态在400ns的短暂驻留之间的情况下)的稳健的链路性能将是可能的。而且,用于功率管理的nFTS值一般在第三代训练序列的开始处提供。一些实施例提供第三代速度下的非常短(例如,小于30的nFTS)的L0退出等待延迟。
[0051] 图4示出根据本发明的一实施例的计算系统400的框图。计算系统400包括经由互连网络(或总线)404通信的一个或多个中央处理单元(CPU)402-1至402-N或处理器(在本文中统称为“各处理器402”或更一般地称为“处理器402”)。处理器402包括通用处理器、网络处理器(处理在计算机网络403上传达的数据),或者其他类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器402具有单核或多核设计。具有多核设计的处理器402将不同类型的处理器核集成在同一集成电路(IC)管芯上。另外,具有多核设计的处理器402实现为对称或非对称的多处理器。
[0052] 同样,参照图1-3B 讨论的操作由系统400的一个或多个组件来执行。在一些实施例中,处理器402与图2的处理器202-208相同或相似。而且,处理器402(或系统400的其他组件)包括IOH120、RC122以及PCIe控制器135中的一个或多个。此外,尽管图4示出了项120/122/135的一些位置,但这些组件位于系统400中的别处。例如,I/O设备124经由总线422等来通信。
[0053] 芯片组406也与互连网络404通信。芯片组406包括图形和存储器控制器中枢(GMCH)408。GMCH408包括与存储器410通信的存储器控制器412。存储器412存储数据,例如包括由CPU402或包含在计算系统400中的任何其它设备执行的指令序列。例如,存储器412存储与参照先前附图讨论的操作系统(OS)413和/或设备驱动器411相对应的数据。在一实施例中,存储器412与图1的存储器140相同或相似。在本发明的一个实施例中,存储器412包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。也可利用非易失性存储器,诸如硬盘。诸如多个CPU和/或多个系统存储器之类的附加设备也可经由互连网络404来进行通信。
[0054] 另外,处理器402中的一个或多个能够访问一个或多个高速缓存(在各实施例中其包括私有和/或共享高速缓存)以及相关联的高速缓存控制器(未示出)。高速缓存可遵循一个或多个高速缓存一致协议。这种高速缓存存储被系统400的一个或多个组件利用的数据(例如,包括指令)。例如,高速缓存本地地高速缓存存储器412中存储的数据以供处理器402的各组件更快速的访问。在一实施例中,(被共享的)高速缓存可包括中级高速缓存和/或末级高速缓存(LLC)。同样,每一个处理器402包括1级(L1)高速缓存。处理器402的各组件可直接地、通过总线或互连网络、和/或存储器控制器或中枢与高速缓存通信。
[0055] GMCH408还包括(例如,经由图形加速计)与显示器设备416通信的图形接口414。在本发明的一个实施例中,图形接口414可经由加速图形端口(AGP)来与图形加速器通信。在本发明的一实施例中,显示器416(诸如平板显示器)可以通过例如信号转换器与图形接口414通信,该信号转换器将诸如视频存储器或系统存储器之类的存储设备中存储的图像的数字表示转换成由显示器416解析和显示的显示信号。在一实施例中,由显示设备产生的显示器信号经过各种控制设备,然后由显示器解释并随后在显示器416上显示。
[0056] 中枢接口418允许GMCH408与输入/输出控制中枢(ICH)420通信。ICH420向与计算系统400通信的I/O设备提供接口。ICH420通过诸如外围组件互连(PCI)桥、通用串行总线(USB)控制器或其他类型的外围桥或控制器等外围桥(或控制器)424与总线422通信。桥424在CPU402和外围设备之间提供数据路径。可使用其它类型的布局。同样,多个总线可例如通过多个桥或控制器来与ICH420通信。另外,在本发明的各实施例中,与ICH420处于通信中的其它外围设备包括集成的驱动电子(IDE)或小型计算机系统接口(SCSI)硬驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))、或其他设备。
[0057] 总线422与音频设备426、一个或多个盘驱动器428以及与计算机网络403通信的网络接口设备430通信。其他设备也可经由总线422通信。同样,在本发明的一些实施例中,各组件(诸如网络接口装置430)可与GMCH408通信。另外,在一些实施例中,处理器402以及GMCH408的一个或多个组件和/或芯片组406被组合以形成单个集成电路芯片(以其他方式存在于同一个集成电路管芯上)。
[0058] 此外,计算系统400包括易失性和/或非易失性存储器(或存储)。例如,非易失性存储器包括以下的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电RPROM(EEPROM)、盘驱动器(例如,428)、软盘、紧致盘ROM(CD-ROM)、数字多功能盘(DVD)、闪存、磁光盘或能够储存电子数据(例如,包括指令)的其它类型的非易失性机器可读介质。
[0059] 图5示出根据本发明的一实施例的安排成点对点(PtP)配置的计算系统500。具体地,图5示出其中处理器、存储器和输入/输出设备通过多个点对点接口互连的系统。参照图1-4讨论的操作由系统500的一个或多个组件来执行。
[0060] 如图5所示,系统500包括若干处理器,但为了清楚起见仅示出了其中两个处理器502和504。处理器502和504各自包括本地存储器控制器中枢(MCH)506和508以实现与存储器510和512的通信。存储器510和/或512储存诸如那些参照图4的存储器412讨论的各种数据。如图5所示,在一些实施例中,处理器502和504还可包括参考图4讨论的高速缓存。
[0061] 在一实施例中,处理器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交换数据。
[0062] 本发明的至少一个实施例在处理器502和504或芯片组520内提供。例如,处理器502和504和/或芯片组520包括IOH120、RC122以及PCIe控制器135中的一个或多个。但是,本发明的其它实施例存在于图5的系统500内的其它电路、逻辑单元或设备中。而且,本发明的其它实施例可分布在图5中所示若干电路、逻辑单元或设备中。因此,图5中示出的项120/
122/135的位置是示例性的,并且这些组件可以或者可以不在所示位置中提供。
[0063] 芯片组520使用PtP接口电路541与总线540通信。总线540可具有与其通信的一个或多个设备,诸如总线桥542和I/O设备543。经由总线544,总线桥542与诸如键盘/鼠标545、通信设备546(诸如与计算机网络403通信的调制解调器、网络接口设备或其它通信设备)、音频I/O设备、和/或数据存储设备548之类的其它设备通信。数据存储设备548存储由处理器502和/或504执行的代码549。
[0064] 以下示例涉及进一步的实施例。示例1包括一种装置,该装置包括逻辑,该逻辑耦合于第一代理,以检测第一比特模式(该第一比特模式指示第二代理推测性地进入低功率消耗状态)并且使得一个或多个控制环冻结;以及用于检测第二比特模式(该第二比特模式指示该第二代理从该低功率消耗状态退出)并且使得所述一个或多个控制环解冻的逻辑。在示例2中,示例1的主题可任选地包括一种装置,其中该一个或多个控制环要包括以下的一个或多个:CDR(时钟数据恢复)控制环、AGC(自动增益控制)控制环、DFE(决策反馈均衡)控制环以及CTOC(连续时间偏移消除)控制环。在示例3中,示例2的主题可任选地包括一种装置,其中该第二逻辑将使得该CDR控制环在该AGC控制环、DFE控制环以及CTOC控制环之前解冻。在示例4中,示例2的主题可任选地包括一种装置,其中该第二逻辑将向该CDR控制环中注入人工频率偏移以帮助在启动该AGC控制环、DFE控制环以及CTOC控制环之前快速锁定穿过缓慢响应相位区域。在示例5中,示例2的主题可任选地包括一种装置,其中该第二逻辑将响应于指示该CDR控制环的捕获的计时器的期满而解冻该AGC控制环、DFE控制环以及CTOC控制环。在示例6中,示例1的主题可任选地包括一种装置,该装置进一步包括用于在冻结该一个或多个环并且响应于计时器的期满来确定该第二代理是否实际上进入了低功率消耗状态的逻辑。在示例7中,示例1的主题可以任选地包括一种装置,其中链路包括外围组件互连快速(PCIe)链路。在示例8中,示例1的主题可任选地包括一种装置,其中第一比特模式包括EIOS(电子空闲有序集)比特模式。在示例9中,示例1的主题可任选地包括一种装置,其中第二比特模式包括EIEOS(电子空闲退出有序集)比特模式。在示例10中,示例1的主题可以任选地包括一种装置,其中第一代理将包括PCIe控制器。在示例11中,示例1的主题可以任选地包括一种装置,其中第二代理需要包括输入/输出设备。在示例12中,示例1的主题可任选地包括一种装置,其中第一代理和第二代理要经由链接耦合。在示例13中,示例12的主题可以任选地包括一种装置,其中链路需要包括点对点一致互连。在示例14中,示例1的主题可任选地包括一种装置,其中第一代理将包括用于检测第一比特模式的逻辑和用于检测第二比特模式的逻辑中的一个或多个。在示例15中,示例1的主题可以任选地包括一种装置,其中第一代理、第二代理和存储器中的一个或多个位于同一集成电路芯片上。
[0065] 在示例16中,一种方法包括:在第一代理处检测第一比特模式(该第一比特模式指示第二代理推测性地进入低功率消耗状态)并且使得一个或多个控制环冻结;以及检测第二比特模式(该第二比特模式指示该第二代理从该低功率消耗状态退出)并且使得所述一个或多个控制环解冻。在示例17中,示例16的主题可任选地包括一种方法,其中该一个或多个控制环包括以下的一个或多个:CDR(时钟数据恢复)控制环、AGC(自动增益控制)控制环、DFE(决策反馈均衡)控制环以及CTOC(连续时间偏移消除)控制环。在示例18中,示例17的主题可任选地包括一种方法,其中检测第二比特模式使得该CDR控制环在该AGC控制环、DFE控制环以及CTOC控制环之前解冻。在示例19中,示例17的主题可任选地包括一种方法,其中检测第二比特模式使得向该CDR控制环中注入人工频率偏移以帮助在启动该AGC控制环、DFE控制环以及CTOC控制环之前快速锁定穿过缓慢响应相位区域。在示例20中,示例17的主题可任选地包括一种方法,其中检测第二比特模式响应于指示该CDR控制环的捕获的计时器的期满而使得该AGC控制环、DFE控制环以及CTOC控制环解冻。
[0066] 示例21包括一种系统,所述系统包括:一种具有第一代理和第二代理的处理器;以及用于检测第一比特模式(该第一比特模式指示第二代理推测性地进入低功率消耗状态)并且使得一个或多个控制环冻结的逻辑;以及用于检测第二比特模式(该第二比特模式指示该第二代理从该低功率消耗状态退出)并且使得所述一个或多个控制环解冻的逻辑。在示例22中,示例21的主题可任选地包括一种系统,其中该一个或多个控制环要包括以下的一个或多个:CDR(时钟数据恢复)控制环、AGC(自动增益控制)控制环、DFE(决策反馈均衡)控制环以及CTOC(连续时间偏移消除)控制环。在示例23中,示例22的主题可任选地包括一种系统,其中用于检测第二比特模式的逻辑将使得该CDR控制环在该AGC控制环、DFE控制环以及CTOC控制环之前解冻。在示例24中,示例22的主题可任选地包括一种系统,其中用于检测第二比特模式的逻辑将向该CDR控制环中注入人工频率偏移以帮助在启动该AGC控制环、DFE控制环以及CTOC控制环之前快速锁定穿过缓慢响应相位区域。在示例25中,示例22的主题可任选地包括一种系统,其中用于检测第二比特模式的逻辑将响应于指示该CDR控制环的捕获的计时器的期满而使得该AGC控制环、DFE控制环以及CTOC控制环解冻。在示例26中,示例21的主题可任选地包括一种系统,该系统进一步包括用于在冻结该一个或多个环并且响应于计时器的期满来确定该第二代理是否实际上进入了低功率消耗状态的逻辑。在示例27中,示例21的主题可以任选地包括一种系统,其中链路包括外围组件互连快速(PCIe)链路。在示例28中,示例21的主题可任选地包括一种系统,其中该第一比特模式包括EIOS(电子空闲有序集)比特模式。在示例29中,示例21的主题可任选地包括一种系统,其中该第一比特模式包括EIEOS(电子空闲退出有序集)比特模式。在示例30中,示例21的主题可以任选地包括一种系统,其中第一代理将包括PCIe控制器。在示例31中,示例21的主题可以任选地包括一种系统,其中第二代理将包括输入/输出设备。在示例32中,示例21的主题可任选地包括一种系统,其中第一代理和第二代理要经由链接耦合。在示例33中,示例21的主题可任选地包括一种系统,其中第一代理将包括用于检测第一比特模式的逻辑和用于检测第二比特模式的逻辑中的一个或多个。在示例34中,示例21的主题可以任选地包括一种系统,其中第一代理、第二代理和存储器中的一个或多个位于同一集成电路芯片上。
[0067] 示例35包括一种用于在高速串行链路中提供从低功率状态的快速而稳健的恢复的装置,所述装置包括:用于在第一代理处检测第一比特模式(该第一比特模式指示第二代理推测性地进入低功率消耗状态)并且使得一个或多个控制环冻结的装置;以及用于检测第二比特模式(该第二比特模式指示该第二代理从该低功率消耗状态退出)并且使得所述一个或多个控制环解冻的装置。在示例36中,示例35的主题可任选地包括一种装置,其中该一个或多个控制环包括以下的一个或多个:CDR(时钟数据恢复)控制环、AGC(自动增益控制)控制环、DFE(决策反馈均衡)控制环以及CTOC(连续时间偏移消除)控制环。在示例37中,示例36的主题可任选地包括一种装置,其中用于检测第二比特模式的装置使得该CDR控制环在该AGC控制环、DFE控制环以及CTOC控制环之前解冻。在示例38中,示例36的主题可任选地包括一种装置,其中用于检测第二比特模式的装置使得向该CDR控制环中注入人工频率偏移以帮助在启动该AGC控制环、DFE控制环以及CTOC控制环之前快速锁定穿过缓慢响应相位区域。在示例39中,示例36的主题可任选地包括一种装置,其中用于检测第二比特模式的装置响应于指示该CDR控制环的捕获的计时器的期满而使得该AGC控制环、DFE控制环以及CTOC控制环解冻。
[0068] 在示例40中,一种计算机可读介质包括一个或多个指令,所述指令在处理器上执行时将所述处理器配置成执行示例16到20中的任一者的一个或多个操作。在示例41中,示例1到15的主题可以任选地包括一种装置,其中处理器将包括第一代理和第二代理。在示例42中,示例16到20的主题可以任选地包括一种方法,其中处理器将包括第一代理和第二代理。
[0069] 在本发明的各实施例中,本文中例如参考图1-5讨论的操作可被实现为硬件(例如,电路)、软件、固件、微代码或其组合,它们可作为计算机程序产品来提供,该计算机程序产品例如包括其上存储有指令(或软件程序)的有形(例如,非瞬态)机器可读或(例如,非瞬态)计算机可读介质,这些指令用于对计算机进行编程以执行本文所讨论的过程。并且,作为示例,术语“逻辑”可包括软件、硬件或软件和硬件的组合。机器可读介质可包括诸如参考图1-5所讨论的存储设备之类的存储设备。此外,这种计算机可读介质可作为计算机程序产品来下载,其中该程序经由通信链路(例如,总线、调制解调器或网络连接)作为经由载波或其它传播介质传送的数据信号从远程计算机(例如,服务器)传输到提出请求的计算机(例如,客户机)。
[0070] 在本说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可包括在至少一个实现中。在本说明书各处出现的短语“在一个实施例中”可以或可不全指代同一实施例。
[0071] 并且,在说明书和权利要求书中,可使用术语“耦合”和“连接”以及它们的派生词。在本发明的某些实施例中,“连接”可用于指示两个或多个元件相互直接物理接触和/或电接触。“耦合”可意味着两个或两个以上元件直接物理或电接触。然而,“耦合”还可表示两个或多个元件相互不直接接触,但仍相互配合和/或相互作用。
[0072] 由此,尽管已经用结构特征和/或方法动作专用的语言描述了本发明的实施例,但是应该理解所要求保护的主题可并不被限定于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现所要求保护的主题的样本形式而公开的。