USB3.1重定时器存在检测和索引的方法与装置与流程

文档序号:11142247阅读:386来源:国知局
USB 3.1重定时器存在检测和索引的方法与装置与制造工艺

本技术总体上涉及通用串行总线(USB)通信。更确切地,本技术涉及USB重定时器存在检测和索引。

附图说明

图1是USB配置的拓扑图的示例性图示;

图2是在各时间点上应用于系统拓扑的冒泡算法的简图;

图3是使用通过脉宽调制生成的低频周期信号的逻辑表示的图示;

图4是基于LFPS的脉宽调制消息(LBPM)的图示;

图5是用于自动检测重定时器存在和索引的方法的过程流程图;

图6是用于在USB 3.1配置中自动检测重定时器存在和索引的方法的过程流程图;以及

图7是示例性计算机系统的框图。

贯穿本公开和附图使用相同的数字来引用相似的组件和特征。100系列的标号指代最初存在于图1中的特征,200系列的标号指代最初存在于图2中的特征等等。

具体实施方式

通用串行总线(USB)协议使根据USB标准进行电子通信成为可能。USB标准可以定义与协议兼容所需的信号属性、定时以及状态变化。根据USB标准在一个或多个USB端口之间传送数据。所述端口可以被定位成使得在端口之间传送数据的信号当从一个端口进行到另一个端口时劣化。重定时器可以用于对信号进行重定时或同步以在信号从一个端口传送到另一个端口的过程中减轻劣化。因此,重定时器用于对从接收端口到发射端口的劣化信号进行同步和重新生成。多个重定时器被放置在主机端口与设备端口之间。

如以上指出的,USB端口可以被定位成使得在端口之间传送数据的信号当从一个端口行进至另一个端口时劣化。信号还可能当往来于USB主机控制器、USB中枢、USB设备或其任意组合被发送时被降级。为了维持信号定时,多个重定时器可以被放置在USB端口、主机控制器、中枢以及设备之间。在一些情况下,重定时器针对多协议支持是不可发现或可配置的。

本文所描述的实施例使消息传递协议允许一个重定时器或多个重定时器利用其自索引感知来通告其存在以由其链路伙伴访问。在一些情况下,所述重定时器是USB 3.1重定时器。带内方法用于自动重定时器存在检测和索引,从而使得重定时器如果配备有多协议支持能力则可以由主机访问以用于特征发现和协议配置。以此方式,重定时器针对多协议支持是可发现且可配置的。尽管是使用USB 3.1重定时器对本技术进行描述的,但是本技术可以应用于其他USB重定时器以及其他重定时器(如,PCI-E重定时器)。此外,可以根据本技术使用用于校正信号劣化的其他部件(如,其他重新驱动器)。

在以下说明中,阐述了许多具体细节(如处理器和系统配置的特定类型的示例、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统部件、特定测量/高度、特定处理器流水线阶段和操作等),以便于提供对本发明的透彻理解。然而,对本领域技术人员来说将显而易见的是,不需要采用这些特定细节来实践本发明。在其他实例中,未详细描述计算机系统的众所周知的部件或方法,如特定的和替代性处理器架构、针对所描述的算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现方式、代码中算法的特定表达、特定断电和门控技术/逻辑以及其他特定操作细节,以便避免不必要地模糊本发明。

虽然可以在特定集成电路中(如在计算平台或微处理器中)参照能量节约和能量效率对以下实施例进行描述,但是其他实施例可适用于其他类型的集成电路和逻辑设备。在此所描述的实施例的类似技术和教导可应用于其他类型的电路或半导体器件,所述电路或半导体器件也可从更好的能量效率和能量节约中收益。例如,所公开的实施例不局限于台式计算机系统或超级笔记本TM。并且还可以用于其他设备,如手持式设备、平板计算机、其他薄型笔记本、片上系统(SOC)设备以及嵌入式应用。手持式设备的一些示例包括:蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)、手持式PC。嵌入式应用通常包括:微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机或可执行以下教导的功能和操作的任何其他系统。此外,本文中所描述的装置、方法和系统不限于物理计算设备,而且还可以涉及用于能量节约和效率的软件优化。如在以下描述中将变得非常明显的是,本文中所描述的方法、装置和系统的实施例(无论是否参照硬件、固件、软件或其组合)对用性能考量均衡的‘绿色科技’未来至关重要。

由于计算系统正在向前发展,本文中的部件变得更加复杂。因此,用于在部件之间进行耦合和通信的互连架构的复杂性也日益增加,从而确保满足最优部件操作的带宽要求。此外,不同的市场细分需要互连架构的不同方面以适应市场的需求。例如,服务器要求更高的性能,而移动生态系统有时候为了节能能够牺牲整体性能。但是,大多数构架的单一目的是提供具有最大节能的最高可能性能。下文中讨论了多个互连,所述互连将可能从在此描述的方面中受益。

在图中所示的每个系统中,元素在一些情况中可以各自具有相同的参考号或不同的参考号以表明所表示的元素可以是不同和/或类似的。然而,元素可以足够灵活到具有不同的实现方式并与在此示出或描述的系统的部分或全部一起工作。图中示出的各种元素可以是相同的或不同的。哪个称为第一元素和哪个称为第二元素是任意的。

图1是针对USB配置的拓扑图100的示例性图示。在实施例中,拓扑图100是USB 3.1配置。图1包括第一端口102和第二端口104。第一端口102和第二端口104均可以是USB 3.1端口。第一端口102是包括在中枢内或在包括此USB配置的系统的主机内的下游端口。第二端口104是包括在中枢内或在包括此USB配置的系统的外围设备内的上游端口。第一端口102与第二端口104之间包括重定时器106、重定时器108、重定时器110以及重定时器112。链路114将第一端口102连接至第二端口104。通常,当在第一端口与第二端口104之间行进时,沿典型链路的信号可以具有缩减的振幅,导致信号衰减和抖动。如图100所展示的,重定时器106、重定时器108、重定时器110以及重定时器112可以各自分析并更改信号,以防止第一端口与第二端口104之间的信号劣化。在实施例中,一个重定时器位于主机处,另一个重定时器位于设备处,并且两个重定时器位于用于将主机与设备或外围设备连接的线缆的每一端处。另外,在实施例中,主机处的重定时器可以定位在主机母板上,而设备处的重定时器定位在设备母板上,并且线缆上的两个重定时器将主机与设备连接。

无论情况可能会怎样,每个重定时器运行以对从上游或下游接收的数据进行重定时或同步。尽管展示了四个重定时器,但是根据系统配置可能存在任意数量的重定时器。使用USB 3.1配置,在两个USB 3.1端口之间可能存在多达四个重定时器。在任何协议中,每个重定时器可以作为编码器运行以进行光数字传输。以此方式,重定时器可以使毛刺和抖动失真最小化。在实施例中,重定时器可以控制对所接收的信号的采集和传输。

当连接主机的端口与设备的端口时,形成在其中重定时器的数量被确定的闭合回路。还可以确定每个重定时器的索引。在主机与设备之间的连接发生之前,主机与设备之间的重定时器的数量是未知的。而且,算法用于确定存在的重定时器的数量、重定时器的索引或地址、以及用于与重定时器进行通信的方法。这种算法可以与链路初始化同时实现。在实施例中,所述算法是冒泡算法。所述算法使重定时器通告其存在并提供其有待访问的索引以用于多协议发现和配置,从而使得每个端口可以确定在初始化过程中使用哪个协议。在示例中,协议可以是根据以下各项:于2013年7月26日发布的通用串行总线修订版3.1规范;于2011年11月29日公布的高速外围组件互连(PCI-E);或显示端口。尽管列出了特定协议和标准,本技术可以与任何I/O技术一起使用。

冒泡算法用于在接收到传入二进制消息时使每个重定时器通过断言保留字段中的位来通告所述重定时器的存在并且然后转发所述传入消息。传入消息可以是具有由所使用的协议定义的保留字段的任何消息。如图1所展示的,沿链路114存在多个重定时器。如果链路中存在多个重定时器,则每个重定时器将执行断言保留字段中的位并且然后转发所述传入消息的相同操作。随后的重定时器还将对前面的重定时器断言的位进行移位。这种交换是沿链路在两个方向上执行的,即,从上游端口至下游端口并且反之亦然。以此方式,作为主机/中枢下游端口或中枢/外围设备上游端口的目的端口将知道沿所述链路存在多少个重定时器。通过在两个方向上通告每个重定时器的存在,两个端口均能够收集关于他们之间的重定时器的数量的链路配置信息。两个端口均能够基于其相对每个重定时器的索引执行重定时器访问。每个重定时器还变得了解关于存在的重定时器的数量的链路配置,以及重定时器在链路拓扑内的相对位置。这进而使重定时器的用于随后的地址解码的自动索引分配成为可能。

图2是在各时间点上应用于系统拓扑的冒泡算法的简图200。类似于图1,图2包括第一端口102和第二端口104。沿链路114在第一端口102与第二端口104之间包括重定时器106、重定时器108、重定时器110以及重定时器112。链路114可以是有源线缆。在实施例中,在第一端口102与第二端口104之间开始通信之前在链路114的初始化阶段过程中执行冒泡算法。在一些情况下,第一端口102与第二端口104之间的通信是高速通信。所有端口和重定时器能够基于低频周期信号(LFPS)与彼此进行通信。具体地,所述端口和重定时器可以使用基于LFPS的脉宽调制信令(LBPS)进行通信。

脉宽调制(PWM)可以用于改变每个脉冲的宽度以便对数据进行编码以进行传输。每个脉冲发生在时间周期内,并且所述脉冲可以是低频周期信号。在每个位时间周期内,所述脉冲可以用于指示根据所述脉冲在所述时间周期内的位置发送的具体位值。所述位值根据每个位时间周期内的脉冲可以是逻辑电平1或逻辑电平0。例如,如果脉冲发生在三分之一个时间周期内,而在剩余三分之二个时间周期内没有脉冲,则逻辑0电平被编码。如果脉冲发生在前三分之二个时间周期内,而在剩余三分之一个时间周期内没有脉冲,则逻辑1电平被编码。

LBPS可以用于创建基于LFPS的脉宽调制消息(LBPM)。LFPS、LBPS和LBPM各自是由USB 3.1协议定义的信令和消息传递技术。在初始化过程中,下游端口和上游端口将在两个端口之间传输LBPM以传达随后的USB操作。端口通告其能力,如数据速率、通道数量等等。当存在重定时器时,LBPM将穿过所述重定时器。当每个重定时器接收LBPM时,将在保留字段中插入专用于重定时器通告其存在的位。重定时器然后将沿着链路将LBPM转发至下一个重定时器或端口。包括用于重定时器通告其存在的保留字段的LBPM可以被称为存在LBPM。在初始化过程中,每个重定时器发送存在LBPM以通告重定时器的存在。在实施例中,存在LBPM可以是由USB 3.1协议定义的任何消息。例如,存在LBPM可以是在初始化过程中发送的能力消息,其中,重定时器使用能力消息的保留字段通告其存在。尽管信令和消息传递在此是使用USB 3.1协议进行描述的,但是可以使用任何输入/输出(I/O)协议来实现本技术。因此,每个重定时器可以在初始化过程中发送存在消息来通告重定时器的存在,其中,所述存在消息是在重定时器在保留字段中插入专用于重定时器通告所述重定时器的存在的位的情况下使用的任何消息。

在图2的示例中,展示了USB 3.1端口。USB 3.1端口可以发送由USB 3.1标准定义的能力消息。在能力消息中,高四位保留,而低四位用于在端口之间传达能力。每个重定时器可以使用高四位保留位来通告所述重定时器的存在。虽然能力消息作为示例被使用,但是根据本技术可以使用任何消息。进一步地,用于通告重定时器的存在的位不局限于消息的高四位,并且可以使用根据具体协议或标准的任何可用的位。通过使用由所述标准定义的消息来通告重定时器的存在,两个操作可以组合到单个消息中。确切地,自动重定时器存在检测和索引可以与根据所述标准发送的另一个消息相组合。然而,在实施例中,LBPM可以是针对自动重定时器存在检测和索引定义的。

如图2中所展示的,在时间202处,沿链路114将初始存在LBPM 204A从下游端口102发送至上游端口104。重定时器106检查保留字段中的任一位是否被复位以判定其是否紧靠下游端口102放置,或者是否存在放置于其自身与下游端口102之间的重定时器。在此示例中,重定时器106发现保留字段中没有位被复位并推断其刚好放置在下游端口102之后。然后在保留字段中在第四位处将逻辑电平1添加至存在LBPM以通告所述重定时器的存在,如由LBPM 204B所指示。在时间204处,沿着链路114将存在LBPM 204B从重定时器106发送至重定时器108。重定时器108执行与重定时器106相同的操作。重定时器检查LBPM 204B并推断其被放置于下游端口102处,其中,一个重定时器106在重定时器108与下游端口102之间。重定时器108然后在第五位处将逻辑电平1添加至存在LBPM以通告所述重定时器的存在,如由LBPM 204C所指示。

在时间206处,沿着链路114将存在LBPM 204C从重定时器108发送至重定时器110。重定时器110在存在LBPM的第六位处添加逻辑电平1以通告所述重定时器的存在,如由LBPM 204D所指示。类似地,在时间208处,沿着链路114将存在LBPM 204D从重定时器110发送至重定时器112。重定时器112在第五位处将逻辑电平1添加至存在LBPM以通告所述重定时器的存在,如由LBPM 204E所指示。以此方式,每个重定时器可以确定在从定时器自身与下游端口102之间存在多少个重定时器。注意,从上游端口104至下游端口102执行相同的操作,并且因此,每个重定时器可以确定其在重定时器自身与上游端口104之间的相对位置。因此,在操作结束时,每个重定时器可以确定其针对下游端口102和上游端口104的相对位置。下游端口102和上游端口104还可以确定在它们之间存在多少个重定时器。链路中的每个部件将自动地识别链路的拓扑和配置以及它们在链路内的相对位置。在实施例中,端口可以对重定时器进行配置。确切地,端口可以检查每个重定时器的状态并且还可以执行重定时器的配置。在存在检测之后,每个端口可以与每个重定时器进行通信。可以将访问LBPM发送至每个重定时器以提醒重定时器端口想要与重定时器进行通信或访问重定时器。另外,每个重定时器可以配备有用于支持多个协议的能力。因此,尽管本技术是使用USB 3.1协议进行描述的,可以使用任何I/O协议实现本技术。

图3是使用通过脉宽调制生成的低频周期信号的逻辑表示300的图示。在实施例中,逻辑表示300是基于LBPS。LBPM可以被定义为8位LBPS,其中,在如图4中所展示的字节的开始和结束处存在两个定界符。在示例中,在参考号302处的逻辑电平0可以由发生在时间周期304的30%内的低频周期性信号表示,其中,在同一时间周期304的70%内无信号。在一些情况中,无低频周期性信号的所述70%可以被称为低频周期性信号电空闲。在参考号306处的逻辑电平1可以由发生在时间周期308的70%内的低频周期性信号表示,其中,在同一时间周期308的30%内无信号。在一些情况中,无低频周期性信号的所述30%可以被称为低频周期性信号电空闲。在此描述的信号与无信号比是示例性的,并且可以使用信号与无信号脉宽调制的任何比率。

图4是基于LFPS的脉宽调制消息(LBPM)的图示。在LBPM的开始处是定界符402。定界符402包括两个tPWM周期。在LBPM的结束处是另一个定界符404,所述定界符404包括单个PWM周期。定界符402使用具有低频周期性信号的tPWM,其后是无信号的第二tPWM周期。在实施例中,定界符(如,定界符402)用信号通知LBPM的开始。定界符404包括具有低频周期性信号的tPWM周期,用于指示LBPM的结束。以此方式,定界符402和定界符404可以用于将完整的字节传输至接收器。

例如,考虑在图1和图2中所展示的下游端口102、重定时器106、重定时器108、重定时器110、重定时器112以及上游端口104。对存在LBPM进行定义从而使得参考号402处的位7、参考号404处的位6、参考号406处的位5以及参考号408处的位4用于指示LBPM。还假定,如果b7~b4=“1001”,则LBPM指示重定时器存在消息。在初始化过程中,下游端口(如,下游端口102)可以传输其b3~b0被取消断言的存在消息。当检测到存在LBPM时,重定时器106在转发所述存在LBPM之前断言第3位以指示所述重定时器的存在,并且将“1000”声明为其朝向下游端口102的索引。当检测到存在LBPM时,重定时器108通过在转发之前断言第2位以指示所述重定时器的存在而执行与重定时器106相同的操作。重定时器108还变得了解其针对下游端口102的相对位置并且将“1100”声明为其朝向下游端口102的索引。此操作过程通过重定时器110和112继续直到存在LBPM到达上游端口104。因此,重定时器110和112将“1110”和“1111”声明为其朝向下游端口的对应索引。当接收到最终存在LBPM时,上游端口104变得了解链路中的重定时器的数量。类似地,在从上游端口104通过重定时器112至重定时器106并且至下游端口102的相反方向上执行相同的操作。因此,从112至106的重定时器将“0001”、“0011”、“0111”至“1111”声明为其朝向上游端口104的索引。在操作结束时,下游端口102和上游端口104都了解链路中的重定时器的存在以及其相对索引,并且可以开始执行各种操作,如发现重定时器特征和能力、以及重定时器配置。尽管此示例指的是通用LBPM,但是可以使用存在消息。

图5是用于自动检测重定时器存在和索引的方法的过程流程图。在框502,链路被初始化。在一些情况中,链路是有源线缆。在实施例中,链路是双重单工链路,所述链路在上游端口104与下游端口102之间形成闭合回路。在框504,每个重定时器断言在链路的初始化过程中发送的消息的位。在实施例中,在初始化过程中发送的消息是根据链路协议定义的消息。另外,在实施例中,重定时器断言在定义的消息的保留字段中的位。所述定义的消息是根据由端口支持的协议的任何消息。在实施例中,消息是根据USB 3.1协议在初始化过程中发送的LBPM。

图6是用于访问重定时器的方法的过程流程图。在框602,重定时器经由存在消息声明索引。在框604,经由对应于索引的地址访问重定时器。如上讨论的,重定时器可以断言存在消息的保留字段中的位以通告重定时器的存在并且声明索引。在实施例中,存在消息是根据USB 3.1协议在初始化过程中发送的LBPM。存在消息可以与任何定义的消息(如,根据USB 3.1标准定义的能力消息)相组合。

图7是示例性计算机系统700的框图。系统700包括具有用于执行指令的处理单元的处理器,其中,展示了实现了根据本发明的一个实施例的一个或多个特征的一个或多个互连。根据本发明,如在本文所描述的实施例中,系统700包括如处理器702之类的部件,所述处理器用于采用包括逻辑的执行单元708以执行算法来对数据进行。在一些情况中,系统700代表基于可从美国加利福尼亚州圣克拉拉市的英特尔公司获得的PENTIUM IIITM、PENTIUM 4TM、XeonTM、Itanium、XScaleTM和/或StrongARMTM微处理器的处理系统,不过也可使用其他系统(包括具有其他微处理器的PC、工程工作站、机顶盒等)。在实施例中,系统700执行可从美国华盛顿州雷蒙德市的微软公司获得的WINDOWSTM操作系统的一个版本,不过也可使用其他操作系统(例如,UNIX和Linux)、嵌入式软件、和/或图形用户界面。因此,本发明的实施例不限于硬件和软件的任何具体组合。

在此描述的实施例不限于计算机系统。本技术的替代性实施例可用于其他设备,如手持式设备和嵌入式应用。手持式设备的一些示例包括:蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)、手持式PC。嵌入式应用可包括:微控制器、数字信号处理器(DSP)、芯片上系统、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机、或可执行参照至少一个实施例的一个或多个指令的任何其他系统。

在这个展示的实施例中,处理器702包括一个或多个执行单元708,以实现用于执行至少一个指令711的算法。在单处理器桌面或服务器系统的背景下描述了一个实施例,但替代性实施例可包括在多处理器系统中。系统700是“中枢”系统架构的示例。计算机系统700包括用于处理数据信号的处理器702。如一个说明性示例,处理器702包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集组合的处理器或任合其他处理器设备(例如,如,数字信号处理器)。处理器702耦合至处理器总线710,所述处理器总线可在处理器702与系统700内的其他部件之间传输数据信号。系统700的元件(例如,图形加速器712、存储器控制器中枢716、存储器720、I/O控制器中枢725、无线收发器726、闪存BIOS 728、网络控制器734、音频控制器736、串行扩展端口738、I/O控制器740等)执行其常规功能,所述常规功能对熟悉本领域的人而言是众所周知的。

在一个实施例中,处理器702包括7级(LI)内部缓存存储器704。取决于架构,处理器702可具有单个内部缓存或多级内部缓存。其他实施例根据特定实现方式和需求包括内部缓存和外部缓存两者的组合。寄存器文件706用于将不同类型的数据存储在不同的寄存器中,包括整数寄存器、浮点寄存器、向量寄存器、分组寄存器、影子(Shadow)寄存器、检查点寄存器、状态寄存器以及指令指针寄存器。

执行单元708(包括用于执行整数和浮点运算的逻辑)也位于处理器702中。在一个实施例中,处理器702包括用于存储微码的微码(u码)ROM,所述微码当被执行时用于执行针对某些宏指令的算法或者处理复杂的场景。在此,微码潜在地可更新用于为处理器702处理逻辑错误/修理。对于一个实施例,执行单元708包括用于处理打包指令集709的逻辑。通过将打包指令集709包括在通用处理器702的指令集内,连同用于执行所述指令的相关联的电路,可使用通用处理器702中的打包数据来执行许多多媒体应用所使用的操作。因此,通过将处理器数据总线的全带宽用于对打包数据进行操作,许多多媒体应用可被加速并更为有效率地执行。这潜在地消除了跨处理器数据总线传送更小数据单元以一次对一个数据元素执行一个或多个操作的需要。

执行单元708的替代性实施例也可用于微控制器、嵌入式处理器、图形设备、DSP以及其他类型的逻辑电路。系统700包括存储器720。存储器720包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备或其他存储器设备。存储器720存储由数据信号表示的指令711和/或数据713,所述数据信号有待由处理器702执行。

注意,可以在图7中展示的一个或多个互连上利用本技术的上述特征或方面的任何特征或方面。例如,用于耦合处理器702的内部单元的裸片上互连(ODI)(未示出)实现上述发明的一个或多个方面。本发明与以下各项相关联:处理器总线710(例如,英特尔快速路径互连(QPI)或其他已知的高性能计算互连)、至存储器720的高带宽存储器路径718、至图形加速器714的点对点链路(例如,高速外围组件互连(PCIe)兼容构架)、控制器中枢互连722、以及I/O或用于耦合其他展示部件的其他互连(例如,USB、PCI、PCIe)730A、730B、730C、730D、730E和730F。这种部件的一些示例包括音频控制器736、固件中枢(闪存BIOS)728、无线收发机726、数据存储设备724、包含用户输入和键盘接口742的遗留I/O控制器710、串行扩展端口738(如通用串行总线USB)以及网络控制器734。数据存储设备724可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存设备、或其他大容量存储设备。

图7的框图不旨在指示计算设备700将包括图7中示出的所有组件。进一步地,取决于具体实现方式的细节,计算设备700可以包括图7中未示出的任何数量的附加部件。

示例1

本文描述了一种用于重定时器存在检测的装置。所述装置包括:至少一个重定时器。所述装置还包括:与所述重定时器相关联的控件,所述控件用于在链路初始化过程中断言存在消息的至少一个位,从而通告所述重定时器的存在。

所述至少一个重定时器可以声明索引并且可经由所述索引来访问。所述控件可以基于冒泡算法来断言所述存在消息的至少一个位。另外,所述至少一个重定时器用于对从接收端口到发射端口的劣化信号进行同步和重新生成。所述至少一个重定时器可以是可配置且可发现的,并且所述至少一个重定时器可以支持多个协议。进一步地,所述至少一个重定时器可以控制对所接收的信号的采集和传输。所述至少一个重定时器可以是USB 3.1重定时器。所述的装置可以包括多个重定时器,其中,第一重定时器是主机的部件,第二重定时器是设备的部件,并且两个重定时器位于用于将所述主机与所述设备连接的线缆的每一端处。从所述主机到所述设备的第一存在消息使每个重定时器声明从所述主机到所述设备的索引,并且从所述设备到所述主机的第二存在消息使每个重定时器声明从所述设备到所述主机的索引。

示例2

本文描述了一种用于重定时器存在检测和索引的系统。所述系统包括第一端口、第二端口以及多个重定时器。包括所述多个重定时器中的重定时器的链路用于将所述第一端口与所述第二端口连接,并且逻辑用于使所述多个重定时器通过在链路初始化过程中断言存在消息的位来通告所述多个重定时器的存在并且用于基于所述存在消息声明索引。

所述多个重定时器中的每个重定时器声明索引并且可经由所述索引来访问。所述逻辑可以基于冒泡算法。所述多个重定时器中的每个重定时器还可以对从接收端口到发射端口的劣化信号进行同步和重新生成。进一步地,所述存在消息可以是基于LFPS的脉宽调制消息(LBPM)。所述多个重定时器可以支持多个协议。进一步地,所述多个重定时器可以声明索引,并且通过在从所述第一端口至所述第二端口(并且反之亦然)的链路初始化过程中断言存在消息的位来通告所述多个重定时器的存在。所述链路可以是有效线缆,并且所述多个重定时器可以是USB 3.1重定时器。所述逻辑可以确定所述链路配置。

示例3

本文描述了一种重定时器存在和检测的方法。所述方法包括:对第一端口与第二端口之间的链路进行初始化,其中,多个重定时器定位在所述第一端口与所述第二端口之间。所述方法还包括:在所述第一端口与所述第二端口之间发送存在消息,其中,逻辑用于使所述多个重定时器通过在链路初始化过程中断言存在消息的位来通告所述多个重定时器的存在并且基于所述存在消息声明索引。

所述逻辑可以基于冒泡算法,并且每个重定时器在沿所述链路转发所述存在消息之前断言所述存在消息的所述位。所述存在消息可以与定义的消息相组合。另外,所述链路可以是有源线缆。所述存在消息可以是基于LFPS的脉宽调制消息(LBPM)。所述第一端口和所述第二端口各自可以支持多个协议。并且,所述第一端口和所述第二端口均可以是USB 3.1端口。所述逻辑可以与所述链路初始化同时实现。所述基于LFPS的脉宽调制消息(LBPM)可以是能力消息。所述多个重定时器可以防止沿所述链路的信号劣化。

示例4

本文描述了一种用于重定时器存在检测的装置。所述装置包括:至少一个重定时器,其中,所述重定时器包括用于在链路初始化过程中通告所述重定时器的存在的装置。

用于通告所述重定时器的存在的所述装置可以断言存在消息的位。用于通告所述重定时器的存在的所述装置还可以声明索引并且可经由所述索引来访问。用于通告所述重定时器的存在的所述装置可以通过算法断言存在消息的位,并且用于通告所述重定时器的存在的所述装置可以基于冒泡算法。所述至少一个重定时器可以对从接收端口到发射端口的劣化信号进行同步和重新生成。进一步地,所述至少一个重定时器可以是可使用用于通告所述重定时器的存在的所述装置可以是进行配置和发现的。所述至少一个重定时器可以支持多个协议。所述至少一个重定时器可以控制对所接收的信号的采集和传输。另外,所述至少一个重定时器可以是USB 3.1重定时器。所述的装置可以包括多个重定时器,其中,第一重定时器可以是主机的部件,第二重定时器可以是设备的部件,并且两个重定时器位于可以将所述主机与所述设备连接的线缆的每一端处。从所述主机到所述设备的第一存在消息可以使每个重定时器声明从所述主机到所述设备的索引,并且从所述设备到所述主机的第二存在消息可以使每个重定时器声明从所述设备到所述主机的索引。

示例5

本文描述了一种有形非瞬态计算机可读介质。所述有形非瞬态计算机可读介质包括用于引导处理器对第一端口与第二端口之间的链路进行初始化的代码,其中,多个重定时器定位在所述第一端口与所述第二端口之间。所述有形非瞬态计算机可读介质还包括用于引导处理器在所述第一端口与所述第二端口之间发送存在消息的代码,其中,逻辑用于使所述多个重定时器通过在链路初始化过程中断言存在消息的位来通告所述多个重定时器的存在并且基于所述存在消息声明索引。

所述逻辑可以基于冒泡算法,并且每个重定时器可以在沿所述链路转发所述存在消息之前断言所述存在消息的所述位。所述存在消息可以与定义的消息相组合,并且所述链路可以是有源线缆。所述存在消息可以是基于LFPS的脉宽调制消息(LBPM)。所述第一端口和所述第二端口均可以支持多个协议。所述第一端口和所述第二端口均可以是USB 3.1端口。另外,所述逻辑可以与所述链路初始化同时实现。所述基于LFPS的脉宽调制消息(LBPM)可以是能力消息。所述多个重定时器可以防止沿所述链路的信号劣化。

示例6

本文描述了一种装置。所述装置包括用于高速串行互连的重定时器。所述重定时器包括但不限于接收器、控件以及发射器。所述接收器用于接收包括特定字段的消息,并且所述控件用于使用重定时器值对所述特定字段进行更新以通告所述重定时器在带内的存在。所述发射器用于发射包括所述特定字段的消息。

所述控件可以基于冒泡算法对所述特定字段进行更新。对所述特定字段进行更新可以包括断言所述特定字段的位。另外,对所述特定字段进行更新可以包括对所述特定字段的至少一个位进行逻辑移位。所述发射器可以耦合至上游设备。所述上游设备可以包括控件,所述控件用于:确定沿所述高速串行互连的重定时器数量,所述重定时器数量基于所述重定时器值;以及基于所述重定时器关于所述重定时器数量的相对索引执行重定时器访问。

虽然已经关于有限数量的实施例对本发明进行了描述,但是本领域技术人员将理解来自其中的许多修改和变体。旨在使得所附的权利要求书覆盖落入本发明的真正精神和范围的所有这样的修改和变体。

设计可能经历从创建到模拟到制造的不同阶段。表示设计的数据可用多种方式来表示所述设计。首先,如模拟中有用的,可使用硬件描述语言或其他功能性描述语言来表示硬件。另外,具有逻辑和/或晶体管门的电路级模型可在设计过程的某些阶段产生。此外,大多数设计在某些阶段都达到表示硬件模型中各种设备的物理布局的数据的水平。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是指示由掩模用于生产集成电路的各种特征在不同掩模层上存在或不存在的数据。在任何设计表示中,数据可以存储在任何形式的机器可读介质中。存储器或磁/光存储设备(如,盘)可以是用于存储信息的机器可读介质,所述信息是经由光波或电波来传输的,所述光波或电波被调制或以其他方式被生成以传输这类信息。当传输指示或携带代码或设计的电载波时,在执行电信号的复制、缓冲或重传情况的程度上,制作一个新的副本。因此,通信提供商或网络提供商会在有形机器可读介质上至少临时地存储具体化为本发明的实施例的技术的制品(如,编码在载波中的信息)。

如本文使用的模块是指硬件、软件和/或固件的任何组合。作为示例,模块包括硬件,如与非瞬态介质相关联的用于存储代码的微控制器,所述代码被适配成用于由微控制器执行。因此,在一个实施例中,对模块的引用指硬件,所述硬件具体被配置成用于识别和/或执行有待保持在非瞬态介质中的代码。此外,在另一个实施例中,模块的使用指包括代码的非瞬态介质,所述代码具体地被适配成用于由微控制器执行以执行预定操作。并且如可以推断的,在又另一个实施例中,术语“模块”(在此示例中)可以指微控制器与非瞬态介质的组合经常,被展示为分开的模块边界通常变更并且可能重叠。例如,第一和第二模块可共享硬件、软件、固件或其组合,同时可能保留一些独立的硬件、软件或固件。在一个实施例中,术语“逻辑”的使用包括如晶体管、寄存器之类的硬件或者如可编程逻辑设备之类的其他硬件。

在一个实施例中,短语‘用于’或‘配置成用于’的使用指安排、装配、制造、出售要约、进口和/或设计装置、硬件、逻辑或元件以执行所指的或所确定的任务。在此示例中,未运行的装置或其元件如果被设计、被耦合和/或被互连用于执行所述指定任务则仍‘被配置成用于’执行指定的任务。仅作为说明性示例,逻辑门在运行过程中可以提供0或1。但是‘被配置成用于’为时钟提供使能信号的逻辑门不包括可以提供1或0的每个可能的逻辑门。相反,逻辑门是以某种方式耦合的,从而使得在运行过程中,1或0输出用于启用时钟。再次注意,术语‘被配置成用于’的使用不要求运行,而是关注于装置、硬件和/或元件的潜在状态,其中,在潜在状态中,装置、硬件和/或元件被设计成用于当装置、硬件和/或元件正在运行时执行特定的任务。

此外,在一个实施例中,短语‘能够用于(capable of/to)’和/或‘可操作用于(operable to)’的使用指某装置、逻辑、硬件和/或元件以这种方式被设计从而使得能够以特定的方式使用所述装置、逻辑、硬件和/或元件。注意,在一个实施例中,如以上‘用于(to)’、‘能够用于(capable to)’或‘可操作用于(operable to)’的使用是指装置、逻辑、硬件和/或元件的潜在状态,其中,所述装置、逻辑、硬件和/或元件未在运行但是被设计,其方式使得能够以特定的方式使用装置。

本文使用的值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。经常,逻辑电平、逻辑值或逻辑的值的使用也称为简单地代表二进制逻辑状态的1和0。例如,1是指高逻辑电平,而0是指低逻辑电平。在一个实施例中,如晶体管或闪存单元(cell)的存储单元可以能够保持单个逻辑值或多个逻辑值。然而,计算机系统中值的其他表示已被使用。例如,十进制数10也可表示为二进制值1010和十六进制字母A。因此,值包括能够被保存在计算机系统中的信息的任何表示。

此外,状态可由值或值的部分来表示。作为示例,第一值(如,逻辑1)可表示默认或初始状态,而第二值(如,逻辑0)可表示非默认状态。此外,在一个实施例中,术语“置位”和“复位”分别是指默认的和更新的值或状态。例如,默认值可能包括高逻辑值(即,置位),而更新值可能包括低逻辑值(即,复位)。注意,可利用值的任意组合来表示任意数量的状态。

某些实施例可以在硬件、固件和软件之一或组合中实现。以上阐述的方法、硬件、软件、固件或代码的实施例可经由存储在机器可访问的、机器可读的、计算机可访问的或计算机可读的介质上的可被处理元件执行的代码或指令来实现。非瞬态机器可访问/可读介质包括提供(即,存储和/或传输)具有由机器(如,计算机或电子系统)可读的形式的信息的任何机制。例如,非瞬态机器可访问介质包括如静态RAM(SRAM)或动态RAM(DRAM)的随机存取存储器(RAM);ROM;磁光存储介质;闪存设备;电存储设备;光存储设备;声存储设备;用于保存从瞬态(传播)信号(例如,载波、红外信号、数字信号)接收的信息的其他形式的存储设备;等等,所述介质与可以从其中接收信息的非瞬态介质进行区分。

用于对逻辑进行编程以执行本发明的实施例的指令可以存储在系统的存储器(如,DRAM、缓存、闪存或其他存储设备)中。此外,指令可以经由网络或借助于其他计算机可读介质分布。因此,计算机可读介质可包括用于存储或传输具有由机器(例如,计算机)可读的形式的信息的任何机制,所述机器但不限于:软磁盘、光盘、致密盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或在经由互联网通过电、光、声、或其他形式的传播信号(诸如,载波、红外信号、数字信号等)传输信息中所用的有形机器可读存储设备。因此,计算机可读介质包括用于存储或传输机器(例如,计算机)可读形式的电子指令或信息的任何类型的有形机器可读介质。

贯穿本说明书对于“一个实施例(one embodiment)”或“实施例(an embodiment)”的引用意味着结合所述实施例所描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中(in one embodiment)”或“在实施例中(in an embodiment)”在各种场合中的出现未必都是指相同的实施例。此外,在一个或多个实施例中,可以以任何适当的方式来组合特定特征、结构或特性。并非在此描述和展示的所有部件、特征、结构、特性等都需要包括在一个或多个特定实施例。例如,如果说明书陈述部件、特征、结构或特性“可以(may)”、“可能(might)”、“可(can)”或“能够(could)”被包括,则那个特定部件、特征、结构或特性不要求被包括。如果说明书或权利要求书提及“一个(a)”或“一个(an)”要素,则那并非意味着仅存在一个要素。如果说明书或权利要求书提及“一个附加的(an additional)”要素,则那并不排除存在多于一个的附加要素。

在上述说明书中,参照特定示例性实施例给出了详细的描述。然而,在不偏离所附权利要求中阐述的本发明的更广精神和范围的情况下,将显然的是可对其进行各种修改和改变。因此,说明书和附图被认为是说明性意义的,而不是限制性意义的。此外,实施例和其他示范性语言的上述使用不一定指相同的实施例或相同的示例,而是可指不同且有区别的实施例,以及可能指相同的实施例。

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