使用第二协议的扩展功能结构来控制第一协议的物理链路的制作方法

文档序号:11691015阅读:267来源:国知局
使用第二协议的扩展功能结构来控制第一协议的物理链路的制造方法与工艺

本申请为分案申请,其原申请是于2014年11月27日(国际申请日为2013年6月19日)向中国专利局提交的专利申请,申请号为201380027892.8,发明名称为“使用第二协议的扩展功能结构来控制第一协议的物理链路”。

实施例涉及互连技术。



背景技术:

为了提供在一个系统内的不同装置之间的通信,使用了一些类型的互连机制。取决于系统实现,各种各样的这样的互连都是可能的。通常为了使得两个设备能够互相通信,它们共享共同的通信协议。

在计算机系统中的设备之间进行通信的一个典型的通信协议是根据基于快速pcitm规范基础规范版本3.0(发布于2010年11月18日)(以下称为pcietm规范)的链路的快速外围部件互连tm(快速pcitm(pcietm))通信协议。所述通信协议是加载/存储输入/输出(io)互连系统的一个示例。设备之间的通信通常根据所述协议以非常高的速度串行执行。关于所述协议的各种参数的开发旨在实现最大性能,而不考虑功效,正如pcietm通信协议是针对桌面式计算机所开发的。因此,其许多特征并未缩小至可以并入到移动系统中的更低功率的解决方案。

除了关于传统的加载/存储通信协议的这些功率问题外,现有的链路管理方案通常非常复杂并且涉及许多状态,从而使很长的过程要执行状态之间的转换。这部分地是由于现有的链路管理机制,所述链路管理机制被开发用于包括多种不同的形成因素要求,例如,连接器、不同系统的合并等。一个这样的示例是根据pcietm通信协议的链路管理。

附图说明

图1是根据本发明的实施例的通信协议的协议栈的高级框图。

图2是根据本发明的实施例的片上系统(soc)的框图。

图3是根据本发明的另一实施例的物理单元的框图。

图4是根据本发明的实施例的示出了协议栈的进一步细节的框图。

图5是根据本发明的实施例的可以为链路管理器的一部分的链路训练状态机的状态图。

图6是根据本发明的实施例的边带机制的各种状态的流程图。

图7是根据本发明的实施例的方法的流程图。

图8是根据本发明的实施例的存在于计算机系统中的部件的框图。

图9是可以与实施例一起使用的示例系统的框图。

图10是根据本发明的一个实施例的示出了重配置请求的时序图。

图11是根据本发明的另一实施例的重配置请求的定时图示出。

图12是根据本发明的一个实施例的恢复子状态机的框图。

图13是根据本发明的一个实施例的功能结构的框图。

图14是根据本发明的另一实施例的方法的流程图。

具体实施方式

实施例可以提供具有低功率、加载/存储架构并且特别适用于在移动设备(包括蜂窝电话,例如:智能电话、平板计算机、电子阅读器、超极本tm等)中使用的输入/输出(io)互连技术。

在各种实施例中,用于给定的通信协议的协议栈可以与不同的通信协议的物理单元或至少与用于给定的通信协议的物理单元不同的物理(phy)单元一起使用。物理单元包括逻辑层和物理层或电层二者,所述物理层或电层通过互连(例如,链接两个独立半导体管芯的链路)来提供信息信号的实际、物理通信,所述两个独立半导体管芯可以是单个集成电路(ic)封装或例如经由电路板路由、迹线等相耦合的单独封装内的两个半导体管芯。另外,物理单元可以执行对数据分组的成帧/解帧、执行链路训练和初始化、以及处理将数据分组传送至物理互连或从物理互连接收数据分组。

虽然不同的实施方式都是可能的,但是,在一个实施例中,协议栈可以具有基于传统的个人计算机(pc)的通信协议(例如,根据快速pcitm规范基础规范版本3.0(发布于2010年11月18日)(以下称为pcietm规范)的快速外围部件互连tm(pci)(pcietm)通信协议)、应用协议扩展的进一步版本或另一个这样的协议,然而,物理单元不根据pcietm通信协议。该物理单元可以专门设计为以下目的:能够实现低功率操作用于允许实质上不变的pcietm上层协议栈与所述低功率物理电路的合并。这样,可以利用pcietm通信协议的广泛的已有基础,以便并入到以低功率操作的便携式和其他基于非pc的形成因素中。虽然本发明的范围不限于此,但是,在一个实施例中,所述物理单元可以为改编自移动平台的物理单元,所述移动平台例如是根据移动产业处理器接口(mipi)联盟的m-phy规范版本1.00.00(2011年2月8日)(mipi董事会批准于2011年4月28日)(以下称为mipi规范)的所谓的m-phy,mipi联盟是为移动计算机设备制定标准的小组。然而,可以使用其他低功率物理单元(例如,根据其他低功率规范(例如,用于在多芯片封装内将独立的管芯耦合在一起的))或定制的低功率解决方案。正如本文所使用的,术语“低功率”是指低于常规pc系统的功耗等级并且其可以适用于多种移动和便携式设备的。作为示例,“低功率”可以为比常规pcietm物理单元消耗更少功率的物理单元。

这样,通过将具有不同类型的物理单元的传统pcietm协议栈相聚合,可以利用针对pcietm开发的已有部件的大量再使用,以用于并入到移动或其他便携式或低功率平台中。

实施例还可以利用如下认识:现有的加载/存储io技术,尤其是pcietm,其设计目的在于获得最大性能,其中,功效不是主要问题,并且由此没有缩小至低功率应用。通过将常规的加载/存储协议栈的部分与低功率设计的物理单元相结合,实施例可以保留pcietm的性能优势,同时实现设备和平台级的最佳等级功率。

同样,实施例可以为与具有较大的已有基础的普适pcietm架构兼容的软件。另外,实施例还能够实现移动设计phy(例如,m-phy)的直接phy再使用。这样,当ph可以在不干扰相关联的无线电的时钟速率下运行时,(由于phy的时钟频率的谐波不干扰典型无线电解决方案运行的公共的无线电频率(例如,1.8、1.9、2.4千兆赫(ghz)或其他这样的无线频率)),低活和空闲功率均可以利用传送的高效功率/位连同是友好的电磁接口/射频接口(emi/rfi)的方法一起实现。

实施例可以进一步提供架构增强,所述架构增强能够进行优化的链路训练和管理机制(ltssm);优化的流控制和重试缓冲以及管理机制;用于改变链路操作模式的架构协议;快速硬件支持的设备状态保存和恢复;以及用于具有可选的带内支持的链路管理的整合的边带机制。

在各种实施例中,pcietm事务和数据链路层可以被实现为具有有限修改的协议栈的部分,用于占用不同的链路速度和非对称链路。另外,可以提供改进的链路训练和管理用于包括对多路通信、非对称链路配置、边带整合和动态带宽可扩展性的支持。实施例可以进一步提供对现有的基于pcietm或不基于pcietm的逻辑和电路(例如,m-phy逻辑和电路)之间的桥接的支持。

所述分层方法能够使现有的软件栈(例如,操作系统(os)、虚拟机管理器和驱动器)在不同的物理层上无缝运行。使对数据链路和事务层的影响最小化,并且所述影响可以包括与更新确认频率、重播计时器等相关的计时器的更新。

由此,实施例可能限制pcietm系统中提供的一些灵活性,因为所述灵活性在一些情况下可能会在pcietm系统和其他系统二者中产生一定的复杂性。这就是这些协议同时提供大量灵活性,以实现即插即用功能的原因。相反,实施例可以对解决方案进行裁剪,所述解决方案使设计中的灵活性的量最小化,因为当并入到给定系统(例如,片上系统(soc))、互联到另一个集成电路时,已知的和固定的配置发生。因为已知所呈现的确切配置的实现,当soc和所连接的设备二者均附接在平台内(例如,焊接至系统的电路板)时,不需要关于这些设备的即插即用功能,并且由此,可以不需要pcietm中的或其他基于pc通信协议的内在的更大的灵活性,其能够实现将不同的设备无缝并入到具有即插即用功能的系统中。

作为一个示例,soc可以用作在第一ic中实现的根复合体并且其耦合至可以为无线电解决方案的第二ic,所述第二ic可以包括多个无线通信设备的一个或多个设备。这样的设备范围可以从低功率短距离通信系统(例如,根据蓝牙tm规范)、本地无线通信(例如,根据给定的电子与电气工程师协会(ieee)802.11标准的所谓的wifitm系统)到更高的功率无线系统(例如,给定的蜂窝通信协议(例如,3g或4g通信协议))。

现参考图1,图1示出了根据本发明的实施例的通信协议的协议栈的高级框图。如图1所示,栈100可以为在半导体部件(例如,ic)内的软件、固件和硬件的组合,用于提供对半导体设备和耦合至该半导体设备的另一设备之间的数据通信的处理。在图1的实施例中,示出了开始于更高级软件110的高级视图,软件110可以为在给定的平台上执行的各种类型的软件。所述更高级的软件可以包括操作系统(os)软件、固件、应用软件等。经由互连140传输的数据可以通过协议栈的各层,由图1内概括地示出,所述互连140可以为将半导体设备和另一部件相耦合的给定的物理互连。正如所示出的,所述协议栈的部分可以为常规的pcietm栈120的部分并且可以包括事务层125和数据链路层128。通常,事务层125的作用是生成事务层数据分组(tlp),其可以为由时间分隔的基于请求或响应的分组,从而当目标设备针对响应来收集数据时,允许链路承载其他业务。事务层进一步处理基于信用的流控制。由此,事务层125在设备的处理电路和互连架构(例如,数据链路层和物理层)之间提供界面。在这一点上,事务层的主要责任在于分组(即,事务层分组(tlp))的组装与分解以及处理基于信用的流控制。

继而,数据链路层128可以对由事务层生成的tlp进行排序并且确保在两个端点之间的tlp的可靠传递(包括处理错误校验)和确认处理。由此,链路层128用作在事务层和物理层之间的中间阶段,并且提供可靠的机制用于通过链路在两个部件之间交换tlp。链路层的一侧接收由事务层、应用标识符所组装的tlp;计算和应用错误检测码(例如,循环恢复代码(crc));以及将修改的tlp提交给物理层,用于跨越物理链路至外部设备的传输。

在数据链路层128中处理之后,分组可以被传输至phy单元130。通常,phy单元130可以包括低功率phy134,低功率phy134可以包括逻辑层和物理(包括电子)子层。在一个实施例中,由phy单元130表示的物理层将分组物理地传输至外部设备。所述物理层包括:用于将传出信息准备用于传输的传输部分和用于在将所接收的信息传给链路层之前识别和准备所接收的信息的接收器部分。传输器组装有被序列化并且传输至外部设备的符号。所述接收器组装有来自外部设备的序列化的符号并且其将所接收的信号转换为位流。将所述位流去序列化并且将其提供给逻辑子块。

在一个实施例中,低功率phy134可以提供对分组化的数据的处理,以用于沿互连140的通信,所述低功率phy134可以为专门开发的或从另一phy(例如,m-phy)改编的给定的低功率phy。正如在图1中进一步可见的,链路训练和管理层132(本文中还称为链路管理器)还可以存在于phy单元130内。在各种实施例中,链路管理器132可以包括:可以根据另一通信协议(例如,pcietm协议)实现的某种逻辑和用于处理在常规的协议栈(例如,上文的pcietm协议栈)和不同协议的物理phy134之间的接口的专门逻辑。

在图1的实施例中,可以将互连140实现为可以为两对单向连线的连线的差分对。在一些实施方式中,可以将差分对的多个集合用于增加带宽。要注意的是,根据pcietm通信协议,在每一个方向上的差分对的数量必需是相同的。然而,根据各种实施例,可以在每一个方向上提供不同数量的对,这允许更有效和更低功率的操作。可以将所述整体聚合的栈和链路140称为移动快速pcietm互连或链路。虽然以所述高级别示出了图1的实施例,但要理解本发明的范围不限于此。即,要理解图1所示出的图仅仅是关于从事务层通过物理层的协议栈和更高级的软件,并且soc的各种其他电路或包括该栈的其他半导体器件未示出。

现参考图2,图2示出了根据本发明的实施例的soc的框图。正如图2所示,soc200可以为用于实现到各种类型的平台中的任何类型的soc,其范围从相对小型的低功率便携式设备(例如,智能电话、个人数字助理(pad)、平板电脑、上网本、超极本tm等)到可以在更高级别的系统中实现的更先进的soc。

正如在图2中所示,soc200可以包括一个或多个核2100-210n。由此,在各种实施例中,多核soc是可能的,其中,所有核均可以为给定架构(例如,有序或无序处理器)的同质核。或者,可以存在异质核,例如,有序架构的例如一些相对小型的低功率核,附加的核呈现在可以具有更大和更复杂的架构(例如,无序架构)。协议栈能够进行在这些核中的一个或多个与系统的其他部件之间的数据的通信。正如所看到的,所述栈可以包括软件215,其可以为更高级的软件(例如,os)、固件以及在一个或多个核上执行的应用级软件。另外,协议栈包括事务层220和数据链路层230。在各种实施例中,这些事务层和数据链路层可以具有给定的通信协议,例如,pcietm协议。当然,不同协议栈(例如,根据通用串行总线(usb)协议栈)的层可以在其他实施例中呈现。同样,在一些实施方式中,如本文所描述的低功率phy电路可以与现有的备用协议栈多路复用。

仍参考图2,所述协议栈可以继而耦合至物理单元240,所述物理单元240可以包括可以经由多个互连提供通信的多个物理单元。在一个实施例中,第一物理单元250可以为低功率phy单元,所述低功率phy单元在一个实施例中可以与根据mipi规范的m-phy相对应,用于经由主互连280提供通信。另外,可以呈现边带(sb)phy单元244。在所示出的实施例中,所述边带phy单元可以经由边带互连270提供通信,所述边带互连270可以是整合的边带,用于例如以比耦合至第一phy250的主互连280更小的数据率来提供某边带信息。在一些实施例中,协议栈的各种层可以具有耦合至所述sbphy244的单独边带,以能够进行沿该边带互连的通信。

另外,phy单元240可以进一步包括可以用于控制sbphy244的sb链路管理器242。另外,可以呈现链路训练和状态管理器245,并且可以用于使具有第一通信协议的协议栈适应于具有第二通信协议的第一phy250,以及提供对第一phy250和互连280的整体控制。

正如进一步可见的,各种部件可以呈现在第一phy250中。更具体地说,可以呈现传输器和接收器电路(即,tx253和rx254)。通常,所述电路可以用于执行序列化操作、去序列化操作连同经由主互连280的数据的传输和接收。可以呈现保存状态管理器251并且当第一phy250处于低功率状态时,保存状态管理器251可以用于保存关于第一phy250的配置和其他状态信息。同样,可以呈现编码器252用于例如根据8b/10b协议来执行线编码。

正如图2进一步可见的,可以呈现机械接口258。所述机械接口258可以为给定的互连,用于提供来自根复合体200的通信,并且更具体而言,用于经由主互连280提供来自/到第一phy250的通信。在各种实施例中,所述机械连接可以作为半导体设备的引脚(例如,球栅阵列(bga))或其他表面贴装,或者通孔连接电镀的。

除了这些主要的通信机制之外,附加的通信接口还可以作为经由单独的栈耦合的低功率串行(lps)phy单元255,所述单独的栈包括:软件层216、事务层221、以及在核210与一个或多个片外设备260a-c之间的链路层231,所述一个或多个片外设备260a-c可以为各种低数据率的外围设备,例如,传感器、加速计、温度传感器、全球定位系统(gps)电路、罗盘电路、触摸屏电路、键盘电路、鼠标电路等。

要注意的是,在各种实施例中,边带互连270和主互连280二者均可以在soc200和另一半导体部件(例如,另一ic,例如多边带无线电解决方案)之间耦合。

同样当图2的举例说明处于相对高的级别时,变型是可能的。例如,可能提供多个低功率phy,用于例如经由多个信道来实现更高的数据通信率,其中,每一个信道均与独立的phy相关联。现参考图3,图3示出了根据本发明的另一实施例的物理单元的框图。如图3所示,物理单元300包括链路训练和状态管理器310。所述状态管理器可以是如上所描述的,并且可以为逻辑的集合,所述逻辑集合用于实现第一通信协议的协议栈与第二通信协议(例如,不同通信协议)的物理单元的接口连接。

正如图3进一步可见的,链路训练和状态管理器310可以与多个m-phy3200-320n通信。通过提供多于一个这样的phy,可以发生更高的数据通信率。要注意的是,虽然图3中示出的每一个m-phy可以包括用于使m-phy的单独的、独立的通信发生的一定数量的逻辑,但对这些不同m-phy的通信的整体控制可以是经由链路训练和状态管理器310的。同样要理解,虽然图3示出了多个m-phy,但在其他实施例中,可以呈现另一类型的多个phy单元,并且可以提供进一步多个异质phy单元。要注意的是,每一个m-phy单元均可以用作唯一的逻辑链路的部分或成组使用,其中,所述组与单个逻辑链路相关联。每一个设备通常可以使用单个逻辑链路,然而在一些实施例中,单个物理设备可以使用多个逻辑链路,例如用于提供多功能部件的不同功能的专用链路资源。

现参考图4,图4示出了根据本发明的实施例的示出了协议栈的进一步细节的框图。如图4所示,栈400包括各种层,所述各种层包括事务层410、数据链路层420和物理层430。如上所描述的,这些不同的层可以使用pcietm协议栈的常规的事务和数据链路部分或这样的栈的修改版本二者之一被配置为调节所述第一通信协议的这些层和另一通信协议的物理层(在图4的实施例中,可以为根据mipi规范的m-phy)之间的交互。

正如在图4中关于信息从协议栈400传输的传输方向所示出的,到协议栈的传入信息(例如,从soc的其他电路(例如,核或其他处理逻辑))在事务层的传输分组组装器412中接收,所述传输分组组装器412通常结合控制和数据通路用于形成tlp。在组装到传输分组(在各种实施例中所述传输分组可以为具有例如1到4096字节(或更小的最大允许尺寸,例如,128或256)的数据分组)中之后,将所组装的分组提供给流控制器414,所述流控制器414基于用于传输的排成队列的所需的下一tlp的数量来确定是否有足够的流控制信用可用并且控制分组注入到数据链路层420中。正如更具体地可见的,向这些注入的分组提供错误校验器和定序器422,所述定序器422在一个实施例中可以生成tlp序列号和lcrc。正如进一步可见的,数据链路层420进一步包括传输消息机制426,所述传输消息机制426继而生成用于链路管理功能的dllp并且所述传输消息机制426耦合至数据链路传输控制器425,所述数据传输控制器425为用于流控制和数据链路完整性(ack/nak)机制的控制器功能;要注意的是,可将其进行细分,使得可以使用独特的逻辑块来实现这些功能。

正如进一步可见的,将所处理的数据分组提供给重试缓冲器424,所述重试缓冲器424持有每一个tlp的复本直到由在链路的另一侧的部件所确认,要注意的是,在实践中,这可以利用对栈进行向上更高地缓冲(在汇编器412中或之上)来实现,并且可以将它们存储在相对应的实体中直到选择它们用于经由数据/消息选择器428而传输至物理层430。通常,以上所描述的事务和数据链路层可以根据常规的pcietm协议栈电路来操作,某些修改将在下面进一步描述。

相反,关于物理层430,该层的某些逻辑部件的许多更多的修改(例如,根据pcietm协议栈的修改)可以发生并且用于向另一通信协议的物理单元的实际物理部分提供接口连接。正如所看见的,可以将传入分组应用于帧生成器432,所述帧生成器432添加物理层帧符号并且生成分组的帧并将它们提供给宽度/位置映射器434,所述宽度/位置映射器434在数据通路中对字节进行移位,用于生成外部传输所需的队列,如果需要则调整数据通路宽度,并且继而耦合至训练器和跳转定序器436,所述训练器和跳转定序器436可以用于执行链路训练和跳转序列。正如所看见的,帧生成器432、训练器/定序器436和数据/序列选择器438全部均可以耦合至物理层传输控制器435,所述物理层传输控制器435为ltssm和相关逻辑的收发器部分。块436为用于生成物理层传输(例如,训练集(ts)和跳转有序集)的逻辑。这样,可以选择成帧的分组并且将其提供给物理电路用于执行与所处理的分组相对应的序列化信号的编码、序列化和驱动到物理互联上。在一个实施例中,在不同的通信协议之间的符号差异的映射可以在帧生成器432中执行。

正如所看见的,可以为所述物理互连提供多个单独的信道或线路。在示出的实施例中,每一个物理信道或线路均可以包括其自身独立的phy单元传输电路4450-445j,在一个实施例中,所述独立的phy单元传输电路4450-445j中的每一个均可以为根据mipi规范的m-phy单元的部分。如本文所描述的,不同于pcietm(在pcietm中传输器和接收器的数量相匹配),可以呈现不同数量的传输器和接收器。由此正如所看见的,每一个传输电路445均可以包括:根据8b/10b编码来采取行动对符号进行编码的编码器;用于对已编码的符号进行序列化的序列化器;以及用于将信号驱动到物理互连上的驱动器。正如进一步可见的,每一个线路或信道可以与逻辑单元4400-440j相关联,所述逻辑单元4400-440j可以为根据mipi规范的用于m-phy的逻辑电路,由此用于经由相对应的线路来管理物理通信。

要注意的是,所述多条线路可以被配置为以不同的比率工作,并且实施例可以包括不同数量的这样的线路。此外,在传输和接收方向上可能具有不同数量的线路和线路速度。由此,虽然给定的逻辑单元440控制phy445的相对应的线路的操作,但要理解,物理层传输控制器435可以行动用于控制经由物理互连的信息的整体传输。要注意的是,在一些情况下,某个非常基本的功能是由与每一个线路相关联的独特的逻辑来执行的;在可以将线路分配给多于一个的单个链路的情况下,可以提供多个ltssm实例;对于已训练的链路,在每一个部件中均存在单个ltssm控制收发器和接收器侧二者。所述整体控制可以包括功率控制、链路速度控制、链路宽度控制、初始化等。

仍参考图4,经由物理互连所接收的传入信息可以类似地经由物理层430、数据链路层420和事务层410的接收机制通过物理层430、数据链路层420和事务层410传递。在图4所示的实施例中,每一个phy单元可以进一步包括接收电路,即接收电路4550-455k,在示出的实施例中,接收电路可以呈现用于物理链路的每一个线路。要注意的是,在该实施例中,接收器电路455和传输器电路445的数量不同。正如所看见的,所述物理电路可以包括用于接收传入信息的输入缓冲器;用于对信息进行去序列化的去序列化器;以及可以采取行动用于对在8b/10b编码中传输的符号进行解码的解码器。正如进一步可见的,每一个线路或信道可以与逻辑单元4500-450k相关联,所述逻辑单元4500-450k可以为根据给定的规范(例如,用于m-phy的mipi规范)的逻辑电路,用于由此经由相对应的线路来管理物理通信。

被解码的符号继而可以被提供给物理层430的逻辑部分,正如所看见的,所述物理层430的逻辑部分可以包括弹性缓冲器460,其中,所述弹性缓冲器调节该部件和在链路上的其他部件之间的时钟差异;要注意的是,在各种实施方式中,所述弹性缓冲器的位置可以移动到例如位于8b/10b解码器下方、或与线路去偏移缓冲器相组合以及用于存储传入的解码符号。继而可以将信息提供给宽度/位置映射器462,并且从所述宽度/位置映射器462到横跨多线路执行去偏移化的去偏移缓冲器464,并且在多线路的情况下,缓冲器464可以处理线路之间的信号偏移的差别,用于重排列字节。继而,可以将去偏移的信息提供给帧处理器466,所述帧处理器466可以移除传入信息中所呈现的帧。正如所看见的,物理层接收控制器465可以耦合至并且控制弹性缓冲器460、映射器462、去偏移缓冲器464和帧处理器466。

仍参考图4,可以将重新获得的分组提供给接收消息机制478和错误检测器、序列检查器和链路级重试(llr)请求器475二者。所述电路可以对传入的分组执行错误校正检查,例如,经由执行crc校验和操作、执行序列检查以及请求对错误地接收的分组的链路级重试。接收消息机制478和错误检测器/请求器475二者都可以在数据链路接收控制器480的控制下。

仍参考图4,可以将由此在单元475中处理的分组提供给事务层410,并且更具体地提供给业务控制器485,所述业务控制器485对这些分组执行流控制,用于将所述分组提供给分组解释器495。分组解释器495执行对分组的解释并将所述分组转发至选择的目的地(例如,接收器的给定的核或其他逻辑电路)上。虽然以如此高的级别示出了图4的实施例,但是要理解,本发明的范围不限于此。

要注意的是,phy440可以使用与由pcietm所支持的相同的8b/10b编码以用于传输。8b/10b编码方案提供了专用的符号,所述专用的符号与用于表示字符的数据符号截然不同。所述专用的符号可以用于在pcietm规范的物理层章节中描述的各种链路管理机制。由m-phy使用的附加的专用符号在mipim-phy规范中描述。实施例可以提供在pcietm和mipim-phy符号之间的映射。

现参考表1,表1示出了根据本发明的一个实施例的pcietm符号到m-phy符号的示例性映射。由此,该表示出了根据本发明的一个实施例的用于聚合的协议栈的专用符号的映射。

表1

8b/10b解码规则与针对pcietm规范所定义的相同。8b/10b规则唯一的例外在于当检测违反8b/10b规则的特定序列tailofburst时。根据各种实施例,物理层430可以在tailofburst期间向数据链路层420提供遇到的任何错误的通知。

在一个实施例中,符号到线路的成帧和应用可以如pcietm规范中所定义的,而数据扰频可以与pcietm规范中定义的相同。然而,要注意的是,不对在根据mipi规范的通信的prepare(准备)阶段中传输的数据符号进行扰频。

关于链路初始化和训练,链路管理器可以提供对如上所描述的包括线路的一个或多个信道的链路的配置和初始化;对标准数据传送的支持;当从链路错误中恢复时对状态转变的支持;以及端口从低功率状态重新启动。

为了影响这样的操作,以下的与物理和链路相关的特征可以为已知的先验,例如,在初始化之前:phy参数(例如,包括初始链路速度和所支持的速度;以及初始的链路宽度和所支持的链路宽度)。

在一个实施例中,训练可以包括各种操作。这样的操作可以包括:以所配置的链路速度和宽度来对链路进行初始化、每条线路的位锁定、每条线路的符号锁定、多线路极性、以及多线路链路的线路到线路去偏移。这样,训练可以发现线路极性并且执行相应的调整。然而,要注意的是,根据本发明的实施例的链路训练可以不包括链路数据率和宽度协商、链路速度和宽度退化。与以上所描述的基于链路的初始化不同,两个实体先验知道初始的链路宽度和速度,并且由此,可以避免与协商相关联的时间和计算的代价。

pcietm有序集可以与以下的修改一起使用:ts1和ts2有序集可以有助于ip再使用,但忽略了训练有序集的许多字段。同样,不使用快速训练序列。可以保留电空闲有序集(eios)以有助于ip再使用,正如跳转os,但跳转os的频率可以是与根据pcietm规范不同的比率。还要注意的是,数据流有序集和符号可以与根据pcietm规范的数据流有序集和符号相同。

传送下面的事件以有助于链路训练和管理:(1)呈现技术,其可以用于指示活动phy呈现在链路的远端上;以及(2)配置就绪,触发配置就绪以指示phy参数配置完成以及phy准备好在配置的剖面处工作。在一个实施例中,这样的信息可以根据本发明的实施例经由整合的边带信号来进行传送。

出于对电空闲的状况的控制的目的,phy具有tailofburst序列,其用于指示传输器进入到电空闲状态中。在一个实施例中,边带信道可以用于信号退出电空闲。要注意的是,所述指示可以为phy静噪打破机制的补充。符号的opens序列可以作为eios传输,用于指示进入到电空闲状态中。

在一些实施例中,未定义快速训练序列(fts)。相反,phy可以使用特定的物理层序列,用于从停止/休眠状态退出至突发状态,所述突发状态可以用于对位锁定、符号锁定和线路到线路去偏移进行寻址。可以将少量的fts定义为鲁棒性的符号序列。数据流的有序集的开始可以根据pcietm规范,正如链路错误恢复一样。

关于链路数据比率,在各种实施例中,链路以其进行初始化的初始数据率可以为预定的数据率。不同于所述初始链路速度的数据率改变可以通过经历恢复状态而发生。实施例可以支持不对称的链路数据率,其中,允许所述数据率在相反方向上不同。

在一个实施例中,所支持的链路宽度可以是根据pcietm规范的链路宽度。进一步地,如上所描述的,当链路宽度是预定的时,实施例不可以支持用于协商链路宽度的协议,并且因此可以简化链路训练。当然,实施例可以为在相反方向中的非对称链路宽度提供支持。同时,被配置用于所述链路的每一个方向的初始化的链路宽度和初始化的数据率可以是在训练开始之前已知的先验。

关于phy单元的物理端口,不需要xn端口形成xn链路以及x1链路(其中,n可以为32、16、12、8、4和1)的功能并且xn端口用于在n和1之间形成任何链路宽度的xn端口的功能是可选的。该行为的示例包括x16端口,所述x16端口仅可以配置到仅一个链路中,但链路的宽度可以被配置为x12、x8、x4、x2以及x16和x1所需的宽度。同样,使用根据本发明的实施例的协议栈来寻求实现设备的设计师可以以允许两个不同部件满足以上要求的方式来连接所述两个不同部件之间的端口。如果在部件之间的端口以不符合于由部件的端口描述/数据表所定义的想要使用的方式连接,则行为是未定义的。

另外,不禁止用于将端口分离为两个或更多链路的功能。如果这样的支持适合于给定的设计,则端口可以被配置为在训练期间支持特定宽度。该行为的示例可以为x16端口,所述x16端口能够配置两个x8链路,四个x4链路或16个x1链路。

当使用8b/10b编码时,由于有序集同时在所配置的链路的所有线路上传输,因此在训练序列或skp有序集期间,正如在pcietm规范中的,明确的线路到线路去偏移机制为所接收的有序集的com符号。在hs-burst的同步序列期间,所传输的mk0符号可以用于线路-线路去偏移。

正如上面关于图4所简略描述的,链路训练和状态管理器可以被配置用于执行各种操作,包括使pcietm协议栈的上层适应于不同协议的更低层的phy单元。此外,所述链路管理器可以配置和管理单个线路或多条线路并且可以包括:对非对称链路带宽、具有pcietm事务和数据链路层的状态机的兼容性、链路训练、可选的非对称链路停止状态的支持,以及对用于鲁棒性通信的边带信号的控制。因此,实施例提供了实现具有有限修改的pcietm事务和数据链路层,用于占用不同的链路速度和非对称链路。此外,使用根据本发明的实施例的链路管理器,可以实现对多线路、非对称链路配置、边带整合和动态带宽扩展性的支持,同时进一步能够实现在不同的通信协议的层之间的桥接。

现参考图5,图5示出了根据本发明的实施例的可以为链路管理器的部分的链路训练状态机的状态图500。如图5所示,链路训练可以在检测状态510下开始。所述状态在上电复位上发生并且适用于上行端口和下行端口二者。在重置完成之后,所有配置的线路可以转换为给定状态(即,hibern8状态),基于该状态,链路的每一端均可以例如使用边带信道经由presence信号来发信号。要注意的是,在该检测状态下,高阻抗信号(即dif-z信号)可以在所有线路上驱动。

由此,当发出presence事件信号并且接收presence事件时,控制从检测状态510转至配置状态520,并且所述高阻抗在所有配置的线路上驱动。在配置状态520中,可以配置phy参数,并且基于链路的每一端的所有配置线路的完成,可以例如使用边带互连来指示配置就绪信号(cfg-rdy),而高阻抗则保持在所有线路上。

由此,基于经由边带互连对该配置就绪指示的发送和接收,控制变化为停止状态530。即在该l0.stall状态中,phy转换为stall状态并且继续在所有配置的线路上驱动高阻抗。正如所看见的,取决于数据对于传输或接收是否是可用的,控制可以转至活动状态l1(状态530)、低功率状态(l1状态540)、更深层次的低功率状态(l1.off状态545)或回到配置状态520。

由此,在stall状态下,负驱动信号dif-n可以在所有配置的线路上进行传输。那么,当由启动器指示时,burst序列可以开始。因此,在传输marker0(mk0)符号之后,控制转至活动状态530。

在一个实施例中,接收器可以检测从所有配置的线路上的stall状态退出并且根据例如mipi规范来执行位锁定和符号锁定。在具有多线路链路的实施例中,所述mk0符号可以用于建立线路到线路去偏移。

相反,当指示低功率状态(即l1状态540)时,所有配置的线路可以转换为sleep(休眠)状态。继而当指向更深层次的低功率状态(即l1.off状态545)时,所有配置的线路可以转换为hibern8状态。最后,当指回配置状态时,类似地所有配置的线路转换为hibern8状态。

仍参考图5,对于活动数据传送,由此控制转至活动状态550。具体而言,该状态为链路和事务层使用数据链路层分组(dllp)和tlp开始交换信息的状态。同样,可以发生负载传送并且在这样的传送结束时,可以传递tailofburst符号。

正如所看见的,控制可以从该活动状态变化回到stall状态530、到恢复状态560(例如,响应于接收器错误或否则当指示时),或到更深层次的低功率(例如,l2)状态570。

为了回到停止状态,传输器可以在所有配置的线路上发送由tailofburst指示跟随的eios序列。

如果发生错误或正如所指示的,控制还可以转至恢复状态560。此时,朝向恢复的转换使在两个方向上的所有配置的线路进入到stall状态。为了达到该目的,可以在边带互连上发送gotostall信号并且所述信号的传输器可以等待响应。当已经发送并且接收该停止信号时,正如由在边带互连上所接收的gotostall指示所指示的,控制变化回到stall状态530。注意的是,由此所述恢复状态使用边带来建立协议,从而将同步项协调为stall状态。

关于低功率状态l1和l1.off,操作是根据状态540和545的。具体而言,控制从stall状态转至l1更低功率状态540,使得phy可以被放置于sleep状态中。在该状态下,负驱动信号(即,dif-n信号)可以在所有配置的线路上驱动。当指示退出该状态时,控制例如经由通过边带互连对presence信号的信号发送变化回到stall状态530。

同样,正如所看见的,当已经满足了所有l1.off条件时,可以进入更深层次的低状态l1.off。在一个实施例中,这些条件可以包括完全地功率门控或关闭phy单元的电源。在所述更深层次的低功率状态下,可以将phy放置于hibern8状态,并且在所有配置的线路上驱动高阻抗信号。为了退出该状态,经由在所有配置的线路上对dif-n的驱动,控制可以变化回到stall状态。

如图5中进一步可见的,可以呈现附加状态,即更进一步的更深层次的低功率状态(l2)570,当准备关闭电源时,可以从活动状态进入更进一步的更深层次的低功率状态(l2)570。在一个实施例中,所述状态可以与pcietm规范的状态相同。

现参考表2,表2示出了根据pcietm规范的ltssm状态和根据本发明的实施例的相对应的m-phy状态之间的映射。

表2

如上关于图2所描述的,实施例提供了可以用于链路管理以及可选的带内支持的整合的边带机制。这样,使用边带电路和互连,链路管理和控制可以独立于主互连的物理层的更高速度(和更大功耗)的电路而发生。进一步以这种方式,当与主互连相关联的phy单元的部分断电时,可以使用所述边带信道,从而能够降低功耗。同样,在训练主互连之前,可以使用所述整合的边带机制,并且当在主互连上出现故障时也可以使用所述整合的边带机制。

更进一步地,经由所述整合的边带机制,可以呈现单个互连(例如,在每一个方向上的差分线对),从而减少引脚数并且能够实现新功能的增加二者。实施例还可以实现更快和更鲁棒的时钟/功率门控并且可以消除常规的协议(例如,使用该链路的pcietm边带机制)中的歧义。

虽然本发明的范围不限于此,但在不同的实施例中,边带互连(例如,图2的边带互连270)可以被实现为单线双向边带信号、双线双向的单向信号集、低速带内信号机制(例如,在低功率脉宽调制(pwm)模式下使用m-phy可用的),或者正如带内高速信令机制(例如,物理层有序集或dllp)。

作为示例并且不出于限制的目的,可以支持各种物理层方法。第一方法可以为当使用边带互连时,提供最少引脚数的单线双向边带信号。在一些实施例中,所述信号在现有的边带上可以为多路复用的,例如,perst#、wake#或clkreq信号。第二方法可以为双线双向单向信号集,与单线方法相比,其可能更简单并更有效,但要以附加的引脚为代价。这样的实施方式在现有的边带上可以为多路复用的,例如,用于主机设备的perst#和用于设备主机的clkreq#(在该示例中,保持了现有信号的方向性,从而简化了双模态实现)。第三方法可以为低速带内信号机制,例如m-phylspwm模式,其减少了与边带机制相关的引脚数,并且仍然可以支持类似的低功率等级。因为该操作的模式与高速操作互相排斥,所以其可以与高速带内机制组合(例如,物理层有序集或dllp)。然而,该方法并非是低功率的,它利用现有的高速io来使通用性最大化。当与低速带内信号相组合时,该方法可以提供良好的低功率解决方案。

为了在给定的系统中实现这些配置的一个或多个配置,可以提供语义层,其可以用于确定在物理层以及策略层之上交换的信息的意义,所述意义可以用于理解设备/平台级的作用/反作用。在一个实施例中,可以在sbphy单元中呈现这些层。

通过提供分层的方法,实施例允许可以包括边带功能(由于简单性和/或低功率操作,在某些实现中可以优选边带功能)和带内(在其他实现(例如,避免对附加引脚数的需要)中可以优选带内)二者的不同物理层实现。

在一个实施例中,许多边带信号可以例如经由语义层被配置到单个分组中,以用于经由整合的边带机制(或带内机制)来进行通信。在一个实施例中,下面的表3示出了可以呈现在一个实施例中的各种信号。在示出的表中,信号的逻辑方向由箭头示出,其中,向上箭头定义为朝向主机(例如,根复合体)的方向,并且向下箭头定义为朝向设备(例如,外围设备(例如,无线电解决方案))的方向。

表3

设备呈现↑

电源正常↓

电源关闭↓

参考时钟正常↓

基本重置↓

配置就绪↑↓

准备训练↑↓

开始训练↑↓

l1pg请求↑↓

l1pg拒绝↑↓

l1pg授权↑↓

obffcpu活动↓

obffdma↓

obff空闲↓

唤醒↑

握手的确认接收↑↓

现参考图6,图6示出了根据本发明的实施例的边带机制的各种状态的流程图。如图6所示,这些各种状态可以是关于根复合体(例如,主机控制操作)的。状态图600可以经由主机提供对各种状态的控制。正如所看见的,操作始于可以传递存在信号的预启动状态610。要注意的是,所述存在信号可以是上面描述的关于链路管理操作的。接着,控制转至可以传递各种信号的启动状态620,所述各种信号即电源正常信号、重置信号、参考时钟状态信号和准备训练信号。要注意的是,所有这些信号均可以经由单个分组传递,其中,这些信号中的每一个都可以与分组的指示符或字段(例如,分组的一位指示符)相对应。

仍参考图6,控制接下来转至活动状态630,在活动状态630中,系统可以处于活动状态(例如,s0),相对应的设备(例如,下游设备)可以处于活动设备状态(例如,d0),并且链路可以处于活动状态、停止或低功率状态(例如,l0、l0s、或l1)。正如所看见的,在该状态下,可以传递各种信号,包括:obff信号、时钟请求信号、参考时钟信号、请求l0信号和准备训练信号。

接下来,例如在执行了以上信号之后,控制可以转至低功率状态640。正如所看见的,在所述低功率状态640中,系统可以处于活动状态,而设备可以处于相对低延迟低功率状态(例如,d3热)。另外,链路可以处于给定的低功率状态(例如,l2或l3)。正如在这些状态中所看见的,经由整合的边带分组传递的信号可以包括:唤醒信号、重置信号和电源正常信号。

随着系统进入到更深层次的低功率状态,可以进入第二低功率状态650(例如,当系统处于s0状态并且设备处于d3冷状态,而链路类似地处于l2或l3状态时)。正如所看见的,可以传递相同的唤醒、重置和电源正常信号。同样在图6中可见的,相同的信号可以发生在更深层次的低功率状态660(例如,系统低功率状态,s3)和设备低功率状态(例如,d3冷)以及相同的链路低功率状态l2和l3中。虽然示出了所传递的特定的边带信息集,但是要理解本发明的范围不限于此。

由此,实施例提供了具有可扩展性的分层结构,所述分层结构可以平衡简单性和低延时与灵活性。这样,可以利用更少的信号来替换现有的边带信号和附加的边带信号,并且在未增加更多引脚的条件下实现边带机制的未来扩展。

现参考图7,图7示出了根据本发明的实施例的方法的流程图。如图7所示,方法700可以用于经由聚合的协议栈来传递数据,所述聚合的协议栈包括一个通信协议的上层和下层(例如,不同通信协议的物理层)。在示出的示例中,假设聚合的协议栈如上所述,即,具有pcietm协议的上面的事务和数据链路层和不同规范(例如,mipi规范)的物理层。当然,还可以呈现附加的逻辑,用于使所述两种通信协议能够聚合到单个协议栈中,例如,以上关于图4所论述的逻辑和电路。

正如图7中所看见的,方法700可以始于在第一通信协议的协议栈中接收第一事务(框710)。例如,根复合体(例如,核、其他执行引擎等)的各种逻辑尝试向另一设备发送信息。因此,该信息可以转至事务层。正如所看见的,控制转至框720,其中,可以处理事务并且将其提供给第二通信协议的phy的逻辑部分。所述处理可以包括以上所论述的关于图4的流程的各种操作,其中,可以发生用于接收数据、执行流控制、链路操作、分组操作等的不同的操作。另外,可以发生用于向phy提供数据链路层分组的各种操作。接着,控制转至框730,其中,所述第一事务可以在phy的逻辑部分中转变为第二格式事务。例如,可以执行符号的任何转化(如需要)。另外,可以发生各种转换操作,完成各种转换操作以用于由此使事务变为用于在链路上传输的格式。因此,控制可以转至框740,其中,所述第二格式化的事务可以经由链路从phy传递到设备。作为示例,在线编码、序列化等之后,第二格式事务可以为序列化的数据。虽然如此高的级别示出了图7的实施例,但是要理解本发明的范围不限于此。

现参考图8,图8示出了根据本发明的实施例的存在于计算机系统中的部件的框图。如图8所示,系统800可以包括许多不同的部件。这些部件可以被实现为ic、其部分、分立的电子器件或适应于电路板(例如,计算机系统的主板或可插入卡)的其他模块,或如并入到计算机系统的底盘内的部件。还要注意的是,图8的框图是要示出计算机系统的许多部件的高级视图。然而,要理解的是,附加的部件可以呈现在某些实现中,并且此外,所示出的部件的不同布置可以在其他实现中发生。

正如图8中所看见的,可以为低功率多核处理器插槽(例如,超低压处理器)的处理器810可以用作主处理单元和中央枢纽,用于与系统的各种部件进行通信。这样的处理器可以被实现为soc。在一个实施例中,处理器810可以为基于架构核tm的处理器,例如,来自intelcorporation,santaclara,ca的可用的i3、i5、i7或另一个这样的处理器。然而,要理解的是,其他低功率处理器(例如,来自advancedmicrodevices,inc.(amd)ofsunnyvale,ca的可用的、来自armholdings,ltd的基于arm的设计、或来自mipstechnologies,inc.ofsunnyvale,ca的基于mips的设计)、或它们的授权商或采纳者可以代替呈现在其他实施例中,例如,苹果a5处理器。

处理器810可以与系统存储器815进行通信,在实施例中,这可以经由多个存储设备实现为提供给定数量的系统存储器。作为示例,存储器可以根据基于联合电子装置工程委员会(jedec)低功率双倍数据率(lpddr)的设计,例如,根据jedecjesd209-2e(发布于2009年4月)的现行lpddr2标准、或称为lpddr3的新一代lpddr标准,所述lpddr3将提供对lpddr2的扩展用于增加带宽。作为示例,可以呈现2/4/8千兆字节(gb)的系统存储器并且可以经由一个或多个存储器互连将其耦合至处理器810。在各种实现中,独立的存储设备可以具有不同的分组类型,例如,单个管芯封装(sdp)、双管芯封装(ddp)或四管芯封装(qdp)。在一些实施例中,这些设备可以直接焊接到主板上,用于提供更低剖面的解决方案,而在其他实施例中,设备可以被配置为可以相继通过给定的连接器耦合至主板的一个或多个存储模块。

为了提供信息(例如,数据、应用、一个或多个操作系统等)的永久存储,大容量存储装置820还可以耦合至处理器810。在各种实施例中,为了实现更薄和更轻的系统设计以及为了改进系统的响应性,可以经由ssd来实现所述大容量存储装置。然而,在其他实施例中,所述大容量存储装置主要可以实现为使用硬盘驱动器(hdd)利用更少数量的ssd存储装置作为ssd缓存,以使得在电源关闭事件期间能够实现上下文状态和其他这样的信息的非易失性存储,从而可以在系统活动的重新初始化时发生快速上电。如图8所示,闪存设备822可以例如经由串行外围接口(spi),耦合至处理器810。所述闪存设备可以提供系统软件的非易失性存储,包括:系统的基本输入/输出软件(bios)以及其他固件。

各种输入/输出(io)设备可以呈现在系统800内。在图8的实施例中具体示出了显示器824,所述显示器824可以为配置在底盘的盖子部分内的高清lcd或led面板。所述显示面板还可以提供触摸屏825,例如,适应地外置在显示面板上,使得能够经由与触摸屏进行用户的交互,可以将用户输入提供至系统以能够实现预期的操作,例如,关于信息的显示、信息的访问等。在一个实施例中,显示器824可以经由显示器互连耦合至处理器810,所述显示器互连可以被实现为高性能的图形互连。触摸屏825可以经由另一互连耦合至处理器810,在实施例中所述另一互连可以为i2c互连。如图8所进一步示出的,除了触摸屏825之外,以触摸的方式的用户输入还可以经由触摸板830发生,所述触摸板830可以配置在底盘内并且还可以耦合至与触摸屏825相同的i2c互连。

出于感知计算和其他目的,各种传感器可以呈现在系统内并且可以以不同的方式耦合至处理器810。某些惯性传感器和环境传感器可以通过传感器中枢840(例如,经由i2c互连)耦合至处理器810。在图8所示的实施例中,这些传感器可以包括加速计841、环境光传感器(als)842、罗盘843和陀螺仪844。在一个实施例中,其他环境传感器可以包括一个或多个热传感器846,所述一个或多个热传感器846可以经由系统管理总线(smbus)总线耦合至处理器810。还要理解的是,一个或多个传感器可以根据本发明的实施例经由lps链路耦合至处理器810。

仍如图8可见的,各种外围设备可以经由低引脚数(lpc)互连耦合至处理器810。在示出的实施例中,各种部件可以通过嵌入式控制器835相耦合。这样的部件可以包括键盘836(例如,经由ps2接口耦合)、风扇837以及热传感器839。在一些实施例中,触摸板830还可以经由ps2接口耦合至ec835。另外,安全处理器(例如,可信平台模块(tpm)838)(例如,根据可信的计算组(tcg)tpm规范版本1.2(2003年10月2日)的)还可以经由所述lpc互连耦合至处理器810。

系统800可以以各种方式(包括无线地)与外部设备进行通信。在图8所示的实施例中,呈现了各种无线模块,所述各种无线模块中的每一个均可以与被配置用于特定的无线通信协议的无线电相对应。短距离的无线通信的一种方式(例如,近场)可以是经由近场通信(nfc)单元845的,在一个实施例中,所述近场通信(nfc)单元845可以经由smbus与处理器810进行通信。要注意的是,经由所述nfc单元845相互靠近的设备可以进行通信。例如,用户可以经由将两个设备调整为靠近的关系并且能够进行信息(例如,识别信息、支付信息)、数据(例如,图像数据)等的传送,使系统800能够与另一(例如)便携式设备(例如用户的智能电话)进行通信。还可以使用nfc系统来执行无线电力传送。

如图8进一步可见的,附加的无线单元可以包括其他短距离无线引擎,所述其他短距离无线引擎包括wlan单元850和蓝牙单元852。使用wlan单元850,可以实现根据给定的电气与电子工程师协会(ieee)802.1标准的wi-fitm通信,而经由蓝牙单元852,经由蓝牙协议的短距离通信可以发生。这些单元可以经由例如usb链路或通用异步收发传输器(uart)链路,与处理器810通信。或者,所述单元可以经由互连经由低功率互连(例如,正如本文所描述的聚合的pcie/mipi互连),或另一这样的协议(例如,串行数据输入/输出(sdio)标准)耦合至处理器810。当然,在这些外围设备(可以配置在一个或多个插入卡上)之间的实际物理连接,可以作为适应于主板的ngff连接器。

另外,无线广域通信(例如,根据蜂窝或其他无线广域协议)可以经由wwan单元856发生,所述wwan单元856可以继而耦合至用户识别模块(sim)857。另外,为了能够进行位置信息的接收和使用,还可以呈现gps模块855。要注意的是,在图8所示的实施例中,wwan单元856和集成捕捉设备(例如,摄像头模块854)可以经由给定的usb协议(例如,usb2.0或3.0链路或uart或i2c协议)来进行通信。同样,这些单元的实际物理连接可以是经由ngff内插卡对配置在主板上的ngff连接器的适配的。

为了提供音频输入和输出,音频处理器可以经由数字信号处理器(dsp)860来实现,所述dsp860可以经由高清晰度音频(had)链路耦合至处理器810。同样,dsp860可以与集成的编码器/解码器(codec)和扩音器862进行通信,所述集成编码器/解码器(codec)和扩音器862可以相继耦合至可以在底盘内实现的输出扬声器863。同样,扩音器和codec862可以相耦合用于从麦克风865接收音频输入,在实施例中,所述麦克风865可以经由双阵列麦克风实现,用于提供高品质的音频输入,以能够进行对系统内的各种操作的声控控制。还要注意的是,音频输出还可以从扩音器codec862提供至耳机插孔864。

由此,实施例可以用于许多不同的环境。现参考图9,图9示出了可以与实施例一起使用的示例系统900的框图。正如所看见的,系统900可以为智能电话或其他无线通信器。如图9的框图所示,系统900可以包括基带处理器910,所述基带处理器910可以为可以管理基带处理任务和应用处理二者的多核处理器。由此,基带处理器910可以执行关于通信的各种信号处理,以及执行针对设备的计算操作。继而,基带处理器910可以耦合至用户界面/显示器920,所述用户界面/显示器920在一些实施例中可以通过触屏显示器来实现。另外,基带处理器910可以耦合至存储系统,所述存储系统包括图9的实施例中的非易失性存储器(即,闪速存储器930)和系统存储器(即,动态随机访问存储器(dram)935)。如进一步可见的,基带处理器910可以进一步耦合至捕捉设备940(例如,可以记录视频和/或静态图像的图像捕捉设备)。

为了能够进行通信的传输和接收,各种电路可以耦合在基带处理器910和天线980之间。具体地说,可以呈现射频(rf)收发器970和无线局域网(wlan)收发器975。通常,rf收发器970可以用于根据给定的无线通信协议(例如,3g或4g无线通信协议(例如,根据码分多址(cdma)、全球移动通信系统(gsm)、长期演进(lte)或其他协议))来接收和传输无线数据和呼叫。还可以提供其他无线通信,例如,无线电信号(例如,am/fm或全球定位卫星(gps)信号)的接收或传输。另外,本地无线信号(例如,根据蓝牙tm标准或ieee802.11标准(例如,802.11a/b/g/n))还可以经由wlan收发器975来实现。要注意的是,在基带处理器910和收发器970与975中的一个或两者之间的链路可以是经由低功率聚合互连的,所述低功率聚合互连将pcietm互连和低功率互连(例如,mipi互连)的功能相结合并且进行映射。虽然以如此高的级别示出了图9的实施例,但要理解本发明的范围不限于此。

与普遍使用的互连(例如,pcietm,在pcietm中,链路操作模式(例如,宽度和速度)在链路训练期间是进行协商的)相比,实施例不执行这样的协商。因为pcietm协议是基于协商的,所以链路确定所支持的操作的最通用的模式并且接着在该模式下操作链路。当链路支持非对称的线路和速度时,这变得更加复杂。

相反,实施例提供了架构协议,用于动态地改变链路操作模式,这可在运行时期间完成并且不会使链路进入链路断开状态。根据所述架构协议,在初始化期间,在链路的另一端上发现了由代理所支持的操作的链路模式;然后,软件或硬件可以确定操作的最常用的模式;当操作的链路模式将改变时,在链路的两端的代理交换消息用于请求并且应答操作的模式改变。要注意的是简化了链路再训练,这是因为传递了准确的参数,使得链路的两端均能精确地知道用于操作链路的新参数。

如上所论述的,在一些实施例中,在链路两侧之一上的物理层均可以为m-phy。在这样的实施例中,所述链路可以包括承载差分脉冲宽度调制(pwm)信号的串行线。经由链路传递的所述差分pwm信号可以位于m-phy规范的一个或多个数据率范围(称为“gear”)内。例如,链路可以在gear1(3兆位(mbps)每秒到9mbps)、gear2(6mbps到18mbps)、gear3(12mbps到36mbps)、gear4(24mbps到72mbps)、gear5(48mbps到144mbps)、gear6(96mbps到288mbps)、gear7(192mbps到576mbps)等下工作。使用本发明的实施例,可以发生动态的链路重配置,从而以这些范围(或其他范围)中所选的一个工作。

实施例支持动态链路带宽改变,从而使链路的两端均同意改变链路参数,以支持新带宽。存在两种链路配置情景:上电复位之后或根据链路断开状态的链路初始配置;以及在不经历链路断开的情况下链路的运行时重配置。链路初始配置利用操作的ls模式,在设施ls模式中,仅使用单个线路(例如,线路0)。在一些实施例中,链路重配置是可选的并且可以在对链路的正常操作期间启动。

针对重配置,链路的两端均可以被设置用于重配置触发器(rct),并且其仅应用于能够进行rct的那些寄存器。高层的协议握手机制可以用于读取和写入离线寄存器并且设置rct。在实施例中,当所有活动线路都进入save状态时,rct被触发。要注意的是,phy离线寄存器可以由软件直接写入或由硬件隐式地写入(协议级握手完成)。当配置改变时(例如,发生宽度或速度改变),则启动改变的代理请求配置改变。

图10的示例示出了启动重配置请求的端口a和由端口b对所启动的请求的确认,随后在所有线路上进入到恢复以及到stall状态。触发了rct,并且新的配置设置生效。在某些实施例中,可以存在两个截然不同的方法用于获得重配置:使用数据链路层分组(dllp)和使用训练序列。

正如在图10中所看见的,可以具有第一设备(例如,上行设备)的phy单元的端口a经由物理链路与第二设备(其可以为下行设备)的端口b进行通信。正如所看见的,在活动链路状态(例如,l0)中,端口a可以将多个dllp(即,带宽改变请求dllp)传递给端口b。

响应于这样的分组,端口b可以经由其phy单元,将多个确认dllp(即,多个带宽改变确认dllp)传递回端口a。继而,端口a可以通过经由eios启动传输停止状态来引起链路的停止状态,dif-n信号在其之后。继而,端口b可以传递类似的信号(即,eios),dif-n信号在其之后。响应于这样的通信,两种设备均可以传递高阻抗信号以使链路进入到hibern8状态。同样,可以发生rct,用于实现链路重配置,并且之后,链路可以利用新的设置经由对dif-n信号的传递而退出。虽然以如此高的级别示出了图10的实施例,但要理解本发明的范围不限于此。

针对基于dllp的重配置,在初始化过程期间,软件将在链路的两端读取功能寄存器并且利用链路伙伴的功能来更新每一个端口的寄存器。对于初始化链路参数的重配置的请求器,所述请求器连续地传输了bwchange_requestdllp消息。要注意的是,请求器可以不提出任何新的配置请求直到第一链路配置请求完成。接着,请求器等待bwchange_acknowledgedllp消息。一旦接收确认消息,请求器就传输eios并且设置rct事件。所述事件使寄存器使用适当的m-phy参数来写入,并且所述rct引起将所述参数应用于链路。如果设置了rct位,那么请求器将所有线路转换为进入hibern8状态,并且等待所有接收器线路进入hibern8。一旦传输器和接收器线路二者均处于hibern8状态,则请求器进行适当的配置改变并且获得rct。

对于链路参数的远端请求重配置,接收器连续地传输bwchange_acknowledgedllp消息直到接收到eios或所接收的线路开始转换为hibern8。接着设置rct位。当设置了rct位时,接收器传输eios并且接着将所有线路转换为进入hibern8状态。允许接收器立即进入hibern8;接收链路可以开始重配置其离线寄存器。一旦传输器和接收器二者均处于hibern8状态,接着,接收链路便执行rct。之后,利用更新的参数发生退出hibern8状态。

在不经历链路断开的情况下,实施例支持用于改变链路带宽的功能。动态链路重配置支持通过相同地改变在链路的两侧上的模块上的比率序列或高速档位以及改变每个子链路的配置的线路的数量来改变链路带宽。允许链路宽度改变为非对称的。即,允许模块被配置为具有不同数量的tx-线路和rx-线路。通过根据pcietm的链路带宽通知机制,向软件通知任何比率序列或链路速度、以及链路宽度改变。

在实施例中,可以在运行时期间重配置的链路带宽参数包括:比率序列(a或b);高速档位;以及子链路宽度。链路比率序列和链路速度管理可以在ltssm和根据pcietm的软件链路观测与控制机制之间相协调。

在实施例中,在链路控制2寄存器中的目标链路速度字段设置链路速度的上界。除了以下所描述的之外,上游部件尝试将链路保持在目标链路速度或保持在由在链路上的两个部件所支持的最快速度(如由在训练集中的值所报告的),无论哪个是更低的。

如果实现了动态比率序列重配置,则部件可以自主地调整链路比率序列并使用动态链路重配置功能,用于请求比率序列改变。

如果清除了在链路控制2寄存器中的硬件自主速度去使能位,则部件可以使用实现-特定的标准来自主调整链路比率序列和链路高速档位。部件可以通过从在部件所传输的训练集中通告的所支持的高速档位的列表中移除或添加相对应的链路高速档位来降低或增大链路速度。用于移除或添加高速档位的标准为实现特定的,并且不取决于硬件自主速度去使能位的设置。

通过设置上游部件中的目标链路速度字段中的值,软件可以限制链路操作的最大速度并且设置优选的链路速度。在修改了目标链路速度字段中的值之后,软件通过将预定值写入再训练链路位来触发链路再训练。

链路宽度管理可以在ltssm和根据pcietm的软件链路观测和控制机制之间相协调。上游部件尝试将每一个子链路配置为由在链路的对侧上的m端口所支持的线路的最大数量。

如果清除了两个部件的链路控制寄存器中的硬件自主宽度去使能位,则允许部件使用实现特定的标准来自主地请求子链路宽度改变。允许部件通过从部件所传输的训练集中通告的所支持的子链路宽度设置的列表中移除或添加相对应的tx线路宽度和rx线路宽度设置来减少或增大子链路宽度。用于移除或添加链路宽度设置的标准可以是实现特定的,并且不取决于硬件自主宽度去使能位的设置。

现参考图11,图11示出了根据本发明的实施例的时序图,所述时序图示出了由下行端口启动的链路配置。如图11所示,链路重配置可以由下行端口请求改变开始,请求改变是通过传递具有带宽改变的训练有序集(ts1)的。可以发送预定次数的该消息。作为响应,上游部件可以接收这些并且以预定次数来传递相同的消息。在由下行端口解析之后,其可以发送具有解析后的值的训练有序集ts2,而上行端口可以传递具有带宽改变和识别所支持的值的训练有序集ts2消息。在进入到停止状态(例如,经由eios和dif-n信号的通信)之后,链路可以利用新的配置设置退出停止状态。

为了训练基于序列的重配置,部件通过发送具有带宽改变位设置的训练有序集ts1来启动动态链路重配置。启动带宽改变请求的部件设置了训练有序集中的字段,以用于请求的比率序列、高速档位、tx线路宽度和rx线路宽度。一旦动态链路重配置过程开始,部件可以不改变在训练有序集中的所请求的带宽设置。

针对由上游部件所启动的链路带宽改变,下游部件基于成功地接收ts1来以具有带宽改变请求位设置的训练有序集ts1作为响应。下游部件基于对比率序列、高速档位和子链路宽度的支持来设置ts1字段。

上游部件负责根据如上所描述的每条链路重配置规则来确定新的比率序列、高速档位和子链路宽度。这些新的设置由上游部件通过传输具有带宽改变位设置的ts2并且包含新的带宽设置来进行传递。下游部件通过传输具有链路带宽确认位设置的训练集ts2来确认新的带宽设置的接收。

当拒绝了部件与特定链路带宽协商的尝试时,不允许所述部件在预定的时间间隔内尝试动态链路重配置,从上一尝试后回到l0之后或直到在链路上的其他部件启动链路带宽请求为止。

作为动态链路重配置的部分,上游部件基于以下规则来做出关于新的目标高速档位、比率序列和宽度的决定。上游部件使用ts2有序集用于传递选择用于操作的值。上游部件通过将具有从下游部件接收的链路带宽改变位设置的ts1中的值与上游部件支持的值(独立于上游部件可能已经用在ts1中来请求链路带宽改变的值)相比较,从而做出了用于选择新链路带宽值的决定。

如果所请求的新的高速档位与当前的高速档位不同,并且链路的两侧上的部件具有至少一个共同支持的高速档位,则所述新的高速档位将为最共同支持的高速档位。

如果所请求的新的高速档位与当前的高速档位不同,并且链路的两侧上的部件不具有至少一个共同支持的高速档位,则所述新的高速档位将保持为当前的高速档位。

如果所请求的新的子链路宽度与当前的子链路宽度不同,并且链路的两侧上的部件具有至少一个共同支持的子链路宽度,则所述新的子链路宽度将为最共同支持的子链路宽度。

如果所请求的新的子链路宽度与当前的子链路宽度不同,并且链路的两侧上的部件不具有至少一个共同支持的子链路宽度,则新的子链路宽度将保持为当前的子链路宽度。

如果所请求的新的比率序列与当前的比率序列不同,并且链路的两侧上的部件支持新的比率序列,则所述新的比率序列将为所请求的比率序列。

要注意的是,当请求改变比率序列时,正在请求的部件设置相对应的比率序列支持位,以用于在训练序列内的新的比率序列,并且清除比率序列支持位,以用于当前的比率序列。继而,响应的部件设置相对应的比率序列支持位以用于其支持的比率序列,所述支持的比率序列可以多于一个比率序列。

如果所请求的新的比率序列与当前的比率序列不同,并且链路的两侧上的部件不支持新的比率序列,则新的比率序列将保持当前的比率序列。

在一些实施例中,可以同时请求高速档位、比率序列和子链路宽度改变。

现参考表4,表4示出了根据本发明的一个实施例的ts1有序集。

表4

现参考表5,表5示出了根据本发明的一个实施例的ts2有序集。

表5

现参考图12,图12示出了框图,所述框图示出了根据本发明的实施例的恢复子状态机。如图12所示,所述恢复子状态机可以从l0或l1状态进入恢复.进入状态1210。从恢复.进入状态1210,取决于所接收的值,控制可以转为恢复.重配置子状态1220,并且之后进入配置.更新子状态。

可替代地,控制可以从子状态1210转为恢复.完成子状态1230,并且之后,转为恢复.空闲状态1240(恢复.重配置子状态可以进入到恢复.空闲状态1240)。之后,恢复子状态机可以从恢复.空闲子状态1240退出,并且控制可以转为l0活动状态。

在恢复.进入状态机中,传输器在所有配置的tx线路上传输ts1有序集。发起带宽改变的部件在所有配置的tx线路上传输具有链路带宽改变位设置和更新的链路带宽参数的ts1有序集。未发起带宽改变的部件基于在该状态中接收到具有链路带宽改变位设置的两个或更多ts1或ts2有序集,从而传输具有链路带宽改变位设置的ts1有序集。链路带宽参数反映了所支持的配置。

下一状态为恢复.重配置,如果在所有配置的rx线路上接收了预定数量(例如,8)的连续的ts1或ts2有序集,所述ts1或ts2有序集具有的链路带宽改变位设置与传输侧上的链路带宽改变位相匹配,则恢复.重配置状态可以发生。

下一状态为恢复.完成,如果在所有配置的rx线路上接收了预定数量(例如,8)的连续的ts1或ts2有序集,所述ts1或ts2有序集具有的链路带宽改变位清除与在传输侧上的链路带宽改变位相匹配,则恢复.完成状态可以发生。

否则,在预定的超时时间段(在实施例中可以为24毫秒(ms))之后,下一状态为检测。此时,所有配置的tx线路发送至少一个eios、终止hs-burst并且进入stall。一旦所有配置的tx线路和rx线路均进入stall,则触发rct用于将配置的tx线路和rx线路移至hibern8。

在恢复.重配置状态机中,对于下行端口,如果需要链路带宽改变,则传输器基于在恢复.进入状态下ts1有序集协商和如动态链路重配置所描述的规则,在所有配置的tx线路上传输具有链路带宽改变位设置和链路带宽改变确认位设置的ts2有序集,否则,链路带宽改变位清除。

如果将发生链路带宽改变,则ts2有序集中的链路带宽参数反映了新的目标链路带宽,所述新的目标链路带宽是基于在动态链路重配置中所描述的规则来确定的。如果接收了具有链路带宽改变位设置和链路带宽改变确认位设置的2个或更多的ts2有序集,则上行端口接收新的目标链路带宽。如果未发生链路带宽改变,那么在所有配置的rx线路接收了8个连续的具有链路带宽改变位设置和链路带宽改变确认位清除的ts2有序集,并且在接收了一个ts2有序集之后,发送了16个具有链路带宽改变位设置和链路带宽改变位清除的ts2有序集之后,下一状态立刻为恢复.空闲状态。

对于上行端口,传输器在所有配置的tx线路上传输具有链路带宽改变位设置和链路带宽改变确认位清除的ts2有序集直到传输器在所有配置的rx线路上接收了2个或更多具有链路带宽改变位设置和链路带宽改变确认位设置的ts2有序集,基于此传输器开始在所有配置的tx线路上传输具有链路带宽改变位设置和链路带宽改变确认位设置的ts2有序集。在ts2有序集中的链路带宽参数继续反映所支持的配置,不论链路带宽改变确认位被设置还是清除。在所有配置的rx线路接收了8个连续的具有链路带宽改变位设置和链路带宽改变确认位清除的ts2有序集,并且在接收了一个ts2有序集之后,发送了16个具有链路带宽改变位设置和链路带宽改变确认位清除的ts2有序集之后,下一状态立刻为恢复.空闲。

对于下行端口和上行端口二者,如果选择了链路带宽改变,则在所有配置的rx线路上接收了八个连续的具有链路带宽改变位设置、链路带宽改变确认位设置的ts2有序集,在接收了一个ts2有序集之后,发送了16个具有链路带宽改变位设置和链路带宽改变确认位设置的ts2有序集并且所有配置的tx线路和rx线路均已进入hibern8状态之后,下一状态立刻为配置.更新状态。此时,所有配置的tx线路均进入stall状态,并且触发rct用于将操作的模式改变为新的高速档位和比率序列,并且一旦所有配置的tx线路和rx线路均进入stall状态,则将tx线路和rx线路转换为hibern8。

否则,在预定的超时时间段(可以为2ms)之后,下一状态为检测(如上所描述的)。

在恢复.完成状态机中,传输器在所有配置的tx线路上传输ts2有序集。要注意的是,在离开该状态之前,完成了线路到线路去偏移。在所有配置的rx线路接收了8个连续的ts2有序集,并且在接收一个ts2有序集之后发送了16个ts2有序集之后,下一状态立刻为恢复.空闲状态。否则,如上所描述的,在预定的超时之后,下一状态为检测。

在恢复.空闲状态机中,若有指示,则下一状态为去使能状态。要注意,“若有指示”适用于由更高层管理的下行端口,用于使链路上的去使能链路位(ts1和ts2)有效。若有指示,则下一状态为热重置。要注意,“若有指示”适用于由更高层管理的下行端口,用于使链路上的热重置位(ts1和ts2)有效。在任何配置的rx线路接收了具有去使能链路位(其在两个连续接收的ts1有序集中有效)的ts1有序集之后,下一状态立刻为去使能状态。要注意,该行为仅适用于上行端口。在任何配置的rx线路接收了具有热重置位(其在两个连续的ts1有序集中有效)的ts1有序集之后,下一状态立刻为热重置。空闲数据在所有配置的tx线路上传输。如果被指示为以上所列举的其他状态,则在转换为其他状态之前无需发送空闲数据。如果在所有配置的线路上接收了八次空闲数据的连续的符号,并且在接收一个空闲数据符号之后,发送了16个空闲数据符号,则下一状态为l0状态。否则,如上所描述的,在预定的超时之后,下一状态为检测。

正如本文所描述的,实施例使得常规的pcietm协议栈能够映射在非pcietm物理层和链路之上发生的通信。本文所描述的实施例是关于根据mipi规范的phy单元(m-phy)的。当然,实施例不限于此。

为了向现有的pcietm软件栈提供软件兼容性,实施例可以向不同协议的物理层提供根据pcietm协议的各种控制和状态信息的映射。更具体地说,本文的实施例可以提供机制,用于使访问配置空间的总线驱动器能够使用在配置空间中的信息来管理和控制给定的链路,用于执行沿链路的各种操作,各种操作包括:初始化、配置/重配置和通信等。

现参考图13,图13示出了根据本发明的实施例的功能结构的框图。如图13所示,功能结构1300可以为存储在例如设备的配置空间中的数据结构,所述数据结构可以包括用于存储由各种代理使用的功能、配置、状态以及控制信息的多个寄存器,所述各种代理包括一个或多个总线驱动器。当然,在其他实施例中,所述功能结构可以存储在设备的其他位置中。

正如在图13中所看见的,结构1300可以包括:pcietm功能寄存器1305、下一功能指针寄存器1307、以及pcietm功能标识符寄存器1309,如示出的,它们可以呈现在字节的第一集合中。接下来对于设备信息,可以呈现设备功能寄存器1310、连同设备状态寄存器1314和设备控制寄存器1312。对于链路信息,可以提供链路功能寄存器1315、连同链路状态寄存器1325和链路控制寄存器1320。对于插槽信息,可以提供插槽功能寄存器1313、连同插槽状态寄存器1304和插槽控制寄存器1332。对于例如根复合体设备的根信息,可以提供根功能寄存器1338和根控制寄存器1336,连同根状态寄存器1340。

为了提供附加的信息,功能结构1300可以包括用于设备、链路和插槽的附加信息。正如所看见的,具体而言,附加的设备信息可以提供作为设备功能2寄存器1350、设备状态2寄存器1354和设备控制2寄存器1352。对于附加的链路信息,可以提供链路功能2寄存器1360、连同链路状态2寄存器1364和链路控制2寄存器1362。出于附加的插槽信息的目的,还可以提供插槽功能2寄存器1370、插槽状态2寄存器1374和插槽控制2寄存器1372。最后,功能结构1300可以为对本文所描述的链路宽度和速度的控制,所述功能结构1300可以进一步包括快速移动tm(快速移动tm)功能和控制寄存器1380。虽然在图13的实施例中示出了该特定说明,但要理解本发明的范围不限于此。例如,在一些实施例中,寄存器1380可以为单独的功能结构的部分。

为了使图13的扩展的功能结构中的信息能够用于与非pcietm物理层连接并且仍然与已有的pcietm软件栈相兼容,可以提供某些寄存器接口的值来将这些扩展的功能寄存器中的至少一些映射为提供不同的链路速度、档位和链路宽度的非pcietm物理层。

现参考表6,表6示出了某些功能寄存器和用于寄存器的某些字段的推荐设置的列表,用于使已有软件栈能够与非pcietm物理层进行连接。虽然表6中示出的这些寄存器设置是用于根据mipi规范与m-phy进行连接的,但是要理解本发明的范围不限于此。

表6

要注意的是,出于由本文所描述的设备驱动器以及状态机所执行的操作的目的,可以使用在功能结构的寄存器的这些字段中的信息。此外,要注意的是,用于这些字段中的某些的推荐设置识别或指的是链路功能2寄存器的所支持的链路速度向量。这可以以不同方式实现。例如,来自该向量的值可以复制到所指示的寄存器的字段,或者,这些不同寄存器的字段的值(例如,链路功能寄存器的最大链路速度字段)可以具有由此用作指向链路功能2寄存器的所支持的链路速度向量字段的指针的值。

现在参考图14,示出了根据本发明的另一实施例的方法的流程图。具体而言,可以由例如设备驱动器或其他逻辑使用图14的方法1400,以使用在功能结构的这些配置寄存器中的多个配置寄存器中的信息来确定某些设置(例如,最大链路速度、链路宽度等)。出于示出的目的,假设在图14中获得和使用的所需配置信息是用于最大链路速度的,然而,要理解的是本发明的范围不限于此。

方法1400可以通过利用设备驱动器来访问第一链路功能寄存器的第一字段开始于框1410。例如,参考回表6,所述第一链路功能寄存器可以为链路功能寄存器,并且将被访问的特定字段可以为最大链路速度字段。接着,在框1420处,该字段可以用作指向第二链路功能寄存器中的位置的指针值。更具体而言,该第一字段的值可以指示在另一配置寄存器(例如,表6的链路功能2寄存器)内的特定位置,由此指示在所支持的链路速度向量内的特定的位。

由此,控制转至框1440,在框1440中,可以利用设备驱动器来访问所述第二链路功能寄存器,以用于在所识别的位置处获得信息。假设在该实例中,第一链路功能寄存器的第一字段具有值01b,指示其指向所支持的链路速度向量的位1。由此,在框1440处,设备驱动器可以访问所述寄存器并且获得该位的值(假设已设置),这指示了链路可以支持高速、档位3速度(hs-g3)。

仍参考图14,接下来使用在指示的位置处所获得的该信息,可以执行链路操作。例如,基于所确定的最大链路速度设置,设备驱动器可以启动链路重配置或其他机制,用于以所指示的最大链路速度来操作。虽然以如此高的级别示出了图14的实施例,但要理解本发明的范围不限于此。

实施例可以用于许多不同类型的系统中。例如,在一个实施例中,可以将通信设备布置为执行本文所描述的各种方法和技术。当然,本发明的范围不限于通信设备,而相反,其他实施例可以被指示用于处理指令的其他类型的装置或一个或多个机器可读介质(包括响应于在计算设备上执行的指令),从而使设备执行本文所描述的一种或多种方法和技术。

实施例可以在代码中实现并且可以存储非暂时性存储介质中,所述非暂时性存储介质具有存储在其上的指令,所述指令可以用于对系统进行编程,以用于执行指令。所述存储介质可以包括但不限于:任何类型的磁盘(包括:软盘、光盘、固态驱动器(ssd)、只读光盘存储器(cd-rom)、可重写式光盘(cd-rw)、以及磁光盘)、半导体器件(例如,只读存储器(rom)、随机存取存储器(ram)(例如,动态随机存取存储器(dram)、静态随机存取存储器(sram)、可擦除可编程只读存储器(eprom)、闪存存储器、电可擦除可编程只读存储器(eeprom)))、磁卡或光卡、或适用于存储电子指令的任何其他类型的介质。

虽然针对有限数量的实施例描述了本发明,但是,本领域的技术人员将意识到根据本发明的许多修改和变型。所附的权利要求是要覆盖所有落入本发明的真正的精神和范围内的所有这样的修改和变型。

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