低延时多协议重定时器的制作方法

文档序号:16505659发布日期:2019-01-05 09:01阅读:228来源:国知局
低延时多协议重定时器的制作方法

本发明的实施例涉及用于计算机系统的接口的领域;更具体而言,本发明的实施例涉及可以被配置为根据多个协议传输数据的重定时器。



背景技术:

随着计算机系统中外部接口的频率增加并且信道改进在保持向后兼容性的同时继续保持适度,在接口中使用重定时器的需求已经增加。例如,外围组件接口快速(pcie)第4代(其中,接口以16.0gt/s操作)对于大多数服务器信道(通常为20”fr4,具有两个连接器)需要重定时器。通用串行总线(usb)版本3.1以10gt/s操作,并且对于大多数平台已经需要重定时器。对于以10.4gt/s操作的平台中的一些,其他接口需要某种形式的扩展设备。

这些接口中的每一个都存在多个挑战。对于诸如超路径互连(upi)之类的高速缓存一致性协议,每重定时器跳约30nsec的额外延时使得它由于不可接受的性能损失而难以维持。即使具有用于一些存储器应用的pcie,延时也已经是问题,并且由于下一代非易失性存储器(nvm)技术提供更高的带宽和更低的延时,用双倍数据速率同步动态随机存取存储器(ddrsdram)缩小差距,延时预计会变得更严重。模拟转接驱动器没有延时问题。然而,由于它不参与链路初始化和均衡阶段,因此模拟转接驱动器不能重新创建发送器均衡空间,这与重新定时器不同,并且因此将具有受限制的使用,特别是在开放式插槽/连接器类型的系统的情况下。

第二个挑战是通过不同物理层(phy)的多协议支持,如在type-c连接器中存在的。具有用于在不同phy之间分离的物理多路复用器的单独重定时器可以是可能的解决方案,但是其昂贵并且会占用宝贵的电路板空间并具有增加的功率。

第三个挑战是必须在某些平台中支持不同的重定时器的数量以及相关的验证并施加互操作性挑战。

附图说明

根据以下给出的详细描述并且根据本发明的各种实施例的附图,本发明将被更全面地理解,然而,不应将本发明限于特定实施例,而是仅用于解释和理解。

图1a示出了没有重定时器的链路。

图1b示出了具有一个或多个重定时器的链路。

图1c示出了具有多个重定时器的链路的另一元件。

图2是重定时器的一个实施例的框图。

图3是重定时器的一个实施例的描绘了用于训练的数据路径的另一框图。

图4是用于使用至少一个重定时器在两个设备之间传输数据的过程的一个实施例的流程图。

图5示出了系统级图的一个实施例。

具体实施方式

在以下描述中,阐述了许多细节以提供对本发明的更彻底的解释。然而,对于本领域技术人员而言将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其他实例中,众所周知的结构和设备以框图形式而不是详细地示出,以避免模糊本发明。

公开了一种支持多协议的重定时器以及用于使用其的方法。在一个实施例中,诸如pcie兼容链路之类的链路可以包括一个或多个这样的重定时器或其他扩展设备。重定时器包括接收和重发(重定时)数字信号的有源电子元件。

在一个实施例中,多协议重定时器包括用于每个子链路的两个数据路径。第一数据路径是用于正常流量的低延时旁路路径。在一个实施例中,当在公共时钟模式下操作时,该第一数据路径被使用。第二数据路径具有比第一数据路径长的延时。在一个实施例中,当在非公共时钟模式下或在训练(例如,链路训练和/或初始化)的同时,该第二路径被使用。这通常是在延时不重要时。

在一个实施例中,多协议感知重定时器采用公共数据路径以及融合链路训练和状态状态机(ltssm),ltssm对于可以针对其配置重定时器的多个协议的初始化和链路训练是必不可少的。在一个实施例中,ltssm最初从数据速率以及比特模式下识别在链路上运行的协议。在一个实施例中,该信息可以通过边带机制呈现,所述机制例如带(strap)或联合测试行动组(jtag)或系统管理总线(smbus)。在一个实施例中,训练包括链路均衡程序,例如pcie的链路均衡程序。在一个实施例中,重定时器包括用于在已经执行任何所需链路训练(例如,用于生成发送器和/或接收器均衡参数(例如,系数)的均衡过程)之后进行低延时使用的旁路路径。

在一个实施例中,重定时器能够在两个路径之间切换。在一个实施例中,训练期间的协议增强确保重定时器可以在这两个数据路径之间来回切换。以下更详细地描述这些协议增强。

在一个实施例中,多协议感知重定时器采用电路来确定正用于数据传输的phy或协议。在一个实施例中,电路被耦合以接收带选项或指示phy的某个其他边带机制。在另一实施例中,通过检测对用于链路训练的训练集的训练集修改来完成对phy的确定。

本文描述的重定时器具有低延时并且可以跨多个互连使用。这是对具有高延时的单独互连的单独重定时器的显著改进。

图1a示出了没有重定时器的链路。参考图1a,设备1和设备2经由链路a和链路b耦合在一起。相反,图1b示出了具有一个或多个重定时器的链路。参考图1b,设备1和设备12耦合到一个或多个重定时器101。重定时器101可以是用于链路的所有通道的一个组件,或者可以是多个重定时器,每个所述重定时器处理链路中的不同通道组。在一个实施例中,在链路中存在多个重定时器,例如图1c所示。在单个重定时器的情况下,重定时器101通过子链路a1和子链路b2耦合到设备1,并通过子链路a2和子链路b1耦合到设备2。这些子链路遵循协议,并且重定时器101可配置为以子链路所遵循的协议(即,多个协议之一)操作以实现设备1和设备2之间的通信。

图2是重定时器的一个实施例的框图。在一个实施例中,重定时器在两个设备之间执行重定时,并且能够针对多个协议中的任何协议进行配置(一次一个)。

参考图2,接收器201从第一设备接收数据以经由发送器202传输到第二设备。接收器201和发送器202经由第一数据路径203、第二数据路径204和多路复用器(mux)206耦合在一起。在一个实施例中,数据路径204用于在协议特定训练(例如,链路训练)期间将从接收器201接收的数据传输到发送器202。协议特定训练使发送器202和接收器201能够根据它们之间的链路的协议在两个设备之间传输数据。数据路径203用于在协议特定训练已经发生之后在接收器201与发送器202之间传输数据。在一个实施例中,数据路径203具有比数据路径204低的延时。在一个实施例中,数据路径203在公共时钟模式期间被使用,并且数据路径204用于非公共时钟模式期间和训练期间。

在一个实施例中,数据路径204耦合到控制器205(例如,控制电路)。控制器205执行发送器202和接收器201中的一个或两个的协议特定训练。在一个实施例中,协议特定训练包括链路训练和初始化。在一个实施例中,这样的链路训练包括执行均衡过程。在一个实施例中,均衡过程生成用于控制由发送器202执行的均衡的发送器均衡系数,例如用于确定去加重和前冲(preshoot)的水平的光标系数。在一个实施例中,均衡过程以连续时间线性均衡(ctle)和决策反馈均衡(dfe)的形式生成用于接收侧均衡的接收器均衡系数。注意,在一个实施例中,当训练接收器201时,数据路径204也被使用。

在一个实施例中,数据路径204包括用于多个协议的一个或多个链路训练状态机,其中,一个或多个链路训练状态机由控制器205执行以根据由协议指示210指定的一个协议来执行链路训练。在一个实施例中,一个状态机能够针对多个协议执行训练(例如,链路训练)。在另一实施例中,对于每个不同的协议都存在单独的状态机。在一个实施例中,链路训练状态机包括链路训练和状态状态机(ltssm)。状态机被存储在存储器中并由控制器205访问。在一个实施例中,当执行ltssm时,控制器205针对与多个协议中的每一个相关联的链路训练生成有序集(os)。

在一个实施例中,控制器205响应于指定用于在两个设备之间传输数据的(多个协议中的)一个协议的协议指示210(例如,一个或多个信号)。协议指示210由协议/phy确定器207(例如,确定电路)提供,所述协议/phy确定器207响应于其从数据路径204接收的带选项或边带信号212或对训练集修改的指示213中的一个或多个而提供协议指示210。通常由每个协议指定训练集修改,所述协议具有针对重定时器定义的训练集修改规范。

在一个实施例中,响应于接收预定义的训练集,从使用数据路径203到数据路径204的切换发生。在这样的情况下,训练集修改指示213可以来自数据路径204去往协议/phy确定器207,所述协议/phy确定器207向控制器205提供协议指示210,以便指定需要执行的新链路训练(例如,均衡)过程。注意,使用数据路径203或数据路径204的这样的切换部分地由多路复用器206实现。来自控制器205的数据路径选择信号211使来自数据路径203或204的数据输出到发送器202以进行传输。

图3是重定时器的一个实施例的描绘了用于训练的数据路径的另一框图。注意,控制器及其功能尚未在图3中示出,这是因为已在图2中示出;即便如此,本领域技术人员将理解控制器运作以便实现本文描述的重定时器操作。

参考图3,重定时器包括接收器301(例如,接收电路)和发送器302(例如,发送电路)。在一个实施例中,接收器301以本领域公知的方式执行连续时间线性均衡(ctle)或决策反馈均衡(dfe)。时钟和数据恢复(cdr)电路340耦合到接收器301并以本领域公知的方式操作。

重定时器包括接收器301和发送器302之间的两个数据路径。两者都耦合到接收器301的输出和多路复用器(mux)326的两个输入,所述多路复用器326的输出耦合到发送器302的输入。数据路径之一的数据路径351用于训练期间,而在另一数据路径(旁路路径350)在训练之后被使用。

数据路径351包括多个组件。串行到并行(s2p)转换器320将数据从串行转换为并行。当接收器301在模拟域中操作时,s2p转换器320将接收的数据转换成并行格式,以使得数据可以以数字格式被处理。

基于与数据相关联的协议,则并行数据通过数据处理器301经历对齐、解码和解扰(如果有必要的话)。更具体而言,可能需要对数据进行解扰。这可能是由于数据正被接收的速度。可能必须解码这些比特。例如,数据可能必须经历8b/10b解码或另一类型的解码。数据比特还可能必须经历对齐以确定比特流中的符号何时开始。这些选项以本领域公知的方式执行,以用于理解所支持的各种协议。注意,如果协议不需要对齐、解码和解扰中的任何一个或全部,则这样的功能不被执行。结果数据存储在弹性缓冲器322中。

在一个实施例中,弹性缓冲器322是公共弹性缓冲器,其还可以充当用于需要它的协议(例如,upi、usb、thunderbolt等)的漂移缓冲器。弹性缓冲器322还补偿根据一个时钟域的时钟正被发送的比特流,所述时钟与正被发送数据的时钟域的时钟不匹配。

来自弹性缓冲器322的数据被发送到分段缓冲器和多路复用器(mux)324以及多协议训练控制块323。

在一个实施例中,多协议训练控制块323包括每个协议所需的链路训练和状态状态机(ltssm)子集的公共集以及每个协议所需的相关联的比特流检测/修改。例如,如果协议之一是pcie,则pcieltssm被包括作为公共集中的子集,并且多协议训练控制块323能够执行本领域公知的比特流检测、有序集生成(其在链路训练期间被使用)和与pcie标准相关联的比特流修改。在一个实施例中,多协议训练控制块323包括用于usb、显示端口、雷雳(thunderbolt)或一致性协议(例如,upi)中的一个或多个的链路训练和状态状态机(ltssm)子集的公共集。

供发送器302从多协议训练控制块323发送的任何数据输出和来自弹性缓冲器322的数据由分段缓冲器的mux和mux324的输入接收,其取决于由mux接收的控制选择(例如,信号)输出。

最后,从分段缓冲器和mux324输出的数据经历任何加扰和编码(如由正用于传输数据的协议指示的)以及使用转换器325转换为串行格式。串行数据被输出到mux326的一个输入,其将串行数据或来自旁路路径350的数据提供给发送器325。

注意,在一个实施例中,各种模拟控制电路(例如,接收器301和发送器302的模拟控制电路)可以在所支持的协议的所有数据速率下操作。

锁相环(pll)或其他时钟生成器311向重定时器的组件提供时钟信号。

因此,数据路径351具有处理块的公共集,并且以上的公共电路具有公共集和相关联的控制电路,其可以根据多于一个协议使所需的协议和数据速率相关的控制操作以传输数据。在一个实施例中,数据路径使用带或边带信号来确定使用中的phy/协议。替代地,逻辑层可以查找初始训练集并确定哪个phy协议正被使用。在一个实施例中,该逻辑层驻留在多协议训练控制块323中。

旁路路径350是用于链路训练之后的第二数据路径。在一个实施例中,旁路路径350用于低延时比特传输,并且能够在公共时钟模式下进行常规比特流传输。

在一个实施例中,即使在旁路模式下,常规路径351中的逻辑层监测流量以确定是否需要修改比特流。在一个实施例中,以下机制用于在路径351和旁路路径350之间转换。

在一个实施例中,在链路训练期间,路径351参与两侧上的tx均衡机制,如由对应的phy协议规范指示的。tx均衡设置适当地保持该速度,直到存在重新均衡过程。注意,在一个实施例中,当组件检测到它先前执行的均衡不在如错误率所确定的正常工作时,重均衡过程可以发生。在另一实施例中,当软件基于诸如错误率高于门限之类的类似度量来将链路指向重做均衡时,重均衡过程可以发生。

在一个实施例中,phy规范使用一个或多个特殊训练集(ts),经由本文描述的重定时器(或其他扩展设备)(例如,图1b的设备1或设备2)耦合在一起的设备在完成tx均衡之后发送所述特殊训练集以允许重定时器切换到其中使用旁路路径350的旁路模式。当切换时,重定时器丢失在常规路径351中正被处理的比特。因此,接收设备(例如,图1b的设备2)将错过比特流的一部分。在一个实施例中,该情况如下处理。

第一不同有序集(os)(在本文中被称为“常规到旁路标记有序集”)向重定时器提供指令以在将还将充当指示符的不同有序集发送到设备之后将路径从常规路径351切换到旁路路径350,以重新建立块/符号边界。在一个实施例中,切换发生在所有组件遵循的预定时间之后。重定时器确保延时不超过此预定时间,以允许“常规到旁路标记有序集”完全通过而不被截断或丢弃。

在标记有序集之后的某个时间发送随后的有序集。在一个实施例中,经过的时间大于由规范允许的路径上的最大重定时器数(通常为2)乘以重定时器切换到旁路路径350之后的预定时间。这将由接收器设备(例如,图1b的设备2)使用以在由于切换而丢失一些比特之后重新建立其符号/块边界。

对于诸如pci-express之类的协议,由于在执行均衡之后ts1有序集以及eieos继续,因此这样的有序集不必要。设备(例如,设备2)可以简单地重新训练并获得与需要设备这样做的规范修改的块对齐。

将存在其中重定时器需要从旁路路径350移动到正常路径351的情况(例如,重新均衡)。当该情况发生时,比特流的一部分将重复。这可以通过使相同的标记有序集在训练集之前来完成,类似于以上描述的内容。

在一个实施例中,当链路需要进入电气空闲时,在链路真正进入电气空闲之前的某个时间发送指示符有序集(例如,pcie中的电气空闲有序集)。注意,在pcie中,eios足够长,并且可以在前几个符号后识别,这意味着存在从20ui到96ui的任何位置,这取决于链路进入电气空闲之前的编码/速度。该指示符有序集之后是可以被丢弃的某个有效比特流。这允许重定时器对有序集作出反应(这在常规路径351中发生)并将其tx通道带入电气空闲。在替代实施例中,没有进行任何改变,并且在从电气空闲退出时,预期设备侧(例如,图1b的设备2)重新训练(无论如何其都在从li退出时进行)。

图4是用于使用至少一个重定时器在两个设备之间传输数据的过程的一个实施例的流程图。在一个实施例中,过程由处理逻辑执行,所述处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如,在通用计算机系统或专用机器上运行的软件)、固件或三者的组合。

过程开始于处理逻辑确定物理层(phy)类型(例如,pcie、usb、显示端口等),以用于将数据从接收器传输到发送器(处理框401)。在一个实施例中,确定phy类型是基于带选项的。在另一实施例中,确定phy类型是基于边带信号的。在又一实施例中,确定phy类型是基于监测训练集以匹配phy类型的。

然后,处理逻辑提供对协议的协议指示,根据所述协议,数据响应于确定用于将数据从接收器传输到发送器的物理层(phy)类型而被传输(处理块402)。

响应于协议指示,处理逻辑可选地配置收发器和/或接收器(处理框403)。配置可以包括训练(例如,链路训练)。在一个实施例中,协议特定训练包括执行均衡过程。在一个实施例中,执行均衡过程包括生成用于控制由发送器执行的均衡的发送器均衡系数。

随后,处理逻辑用多协议重定时器的接收器接收数据,其中,数据已根据多个协议之一传输(处理框404)并在重定时器的接收器与发送器之间发送数据,如果传输由接收器接收的数据响应于对多个协议中的一个协议的指示经由控制电路在发送器和接收器中的一个或两个的协议特定训练期间或之前发生,则所述发送数据使用耦合到接收器和发送器的第一数据路径,或者如果传输由接收器接收的数据在协议特定训练之后发生,则所述发送数据使用耦合到接收器和发送器的第二数据路径,第二数据路径具有比第一数据路径低的延时(处理框405)。

在一个实施例中,使用第一数据路径包括运行链路训练状态机以根据由指示指定的一个协议来执行链路训练。在一个实施例中,运行链路训练状态机以执行链路训练包括针对与一个协议相关联的链路训练执行有序集生成。

在一个实施例中,第二数据路径在公共时钟模式期间被使用,并且第一数据路径用于非公共时钟模式期间和协议特定训练期间。在一个实施例中,使用第一或第二数据路径包括将控制信号发送到多路复用器,所述多路复用器具有耦合到第一数据路径的第一输入和耦合到第二数据路径的第二输入,以生成耦合到发送器的输出。

在将来的某个时间处,处理逻辑可选地响应于接收预定义的训练集而从使用第二数据路径切换到第一数据路径(处理框406)。

图5是可以包括以上描述的技术的系统级图500的一个实施例。例如,以上描述的技术可以并入系统500中的互连或接口中。

参考图5,系统500包括但不限于:桌上型计算机、膝上型计算机、上网本、平板电脑、笔记本计算机、个人数字助理(pda)、服务器、工作站、蜂窝电话、移动计算设备、智能电话、因特网设备或任何其他类型的计算设备。在另一实施例中,系统500实现本文公开的方法,并且可以是片上系统(soc)系统。

在一个实施例中,处理器510具有一个或多个处理器核心512至512n,其中,512n表示处理器510内部的第n处理器核心,其中,n是正整数。在一个实施例中,系统500包括多个处理器,所述多个处理器包括处理器510和505,其中,处理器505具有与处理器510的逻辑类似或相同的逻辑。在一个实施例中,系统500包括多个处理器,所述多个处理器包括处理器510和505,以使得处理器505具有完全独立于处理器510的逻辑的逻辑。在这样的实施例中,多包系统500是异构多包系统,这是因为处理器505和510具有不同的逻辑单元。在一个实施例中,处理核心512包括但不限于用于提取指令的预提取逻辑、用于解码指令的解码逻辑、用于执行指令的执行逻辑等。在一个实施例中,处理器510具有用于对系统500的指令和/或数据进行高速缓存的高速缓冲存储器516。在本发明的另一实施例中,高速缓冲存储器516包括级一、级二和级三高速缓冲存储器或处理器510内的高速缓冲存储器的任何其他配置。

在一个实施例中,处理器510包括存储器控制集线器(mch)514,其可操作以执行使处理器510能够访问存储器530并与存储器530通信的功能,所述存储器530包括易失性存储器532和/或非易失性存储器534。在一个实施例中,存储器控制集线器(mch)514作为独立的集成电路位于处理器510的外部。

在一个实施例中,处理器510可操作以与存储器530和芯片组520通信。在这样的实施例中,在ssd580通电时ssd580执行计算机可执行指令。

在一个实施例中,处理器510还耦合到无线天线578以与配置为发送和/或接收无线信号的任何设备通信。在一个实施例中,无线天线接口578根据但不限于ieee802.11标准及其相关系列、homeplugav(hpav)、超宽带(uwb)、蓝牙、wimax或任何形式的无线通信协议进行操作。

在一个实施例中,易失性存储器532包括但不限于同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、rambus动态随机存取存储器(rdram)和/或任何其他类型的随机存取存储器设备。非易失性存储器534包括但不限于闪速存储器(例如,nand、nor)、相变存储器(pcm)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)或任何其他类型的非易失性存储器设备。

存储器530存储要由处理器510执行的信息和指令。在一个实施例中,芯片组520经由点对点(ptp或p-p)接口517和522与处理器510连接。在一个实施例中,芯片组520使处理器能够连接到系统500中的其它模块。在一个实施例中,接口517和522根据诸如英特尔quickpath互连(qpi)等的ptp通信协议进行操作。

在一个实施例中,芯片组520可操作以与处理器510、505、显示设备540和其他设备572、576、574、560、562、564、566、577等进行通信。在一个实施例中,芯片组520还耦合到无线天线578以与被配置为发送和/或接收无线信号的任何设备进行通信。

在一个实施例中,芯片组520经由接口526连接到显示设备540。在一个实施例中,显示设备540包括但不限于液晶显示器(lcd)、等离子、阴极射线管(crt)显示器或者任何其他形式的视觉显示设备。另外,芯片组520连接到将各种模块574、560、562、564和566互连的一个或多个总线550和555。在一个实施例中,如果总线速度或通信协议中存在不匹配,则总线550和555可以经由总线桥572互连在一起。在一个实施例中,芯片组520经由接口524、智能tv576、消费者电子产品577等与非易失性存储器560、大容量存储设备562、键盘/鼠标564和网络接口566(但不限于这些)耦合。

在一个实施例中,大容量存储设备562包括但不限于固态驱动器、硬盘驱动器、通用串行总线闪速存储器驱动器或任何其他形式的计算机数据存储介质。在一个实施例中,网络接口566由任何类型的公知网络接口标准实现,所述标准包括但不限于以太网接口、通用串行总线(usb)接口、外围组件互连(pci)快速接口、无线接口和/或任何其他合适类型的接口。

虽然图5所示的模块被描绘为系统500内的单独块,但是由这些块中的一些块执行的功能可以集成在单个半导体电路内,或者可以使用两个或更多个单独的集成电路来实现。

在第一示例性实施例中,一种用于根据多个协议在第一设备和第二设备之间执行重定时的装置包括:可操作以接收数据的接收器;用于发送数据的发送器;第一数据路径,其耦合到接收器和发送器,并且可操作以在协议特定训练期间将从接收器接收的数据传输到发送器,第一数据路径包括控制电路,其用于响应于对多个协议中的一个协议的指示而控制发送器和接收器中的一个或两个的协议特定训练;以及第二数据路径,其耦合到接收器和发送器,其中,第二数据路径具有比第一数据路径低的延时并用于在协议特定训练之后将从接收器接收的数据传输到发送器。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括:协议特定训练包括执行均衡过程。在另一示例性实施例中,该示例性实施例的主题可以可选地包括:均衡过程生成用于控制由发送器执行的均衡的发送器均衡系数。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括:第二数据路径在公共时钟模式期间被使用,并且第一数据路径用于非公共时钟模式期间和训练期间。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括:响应于接收预定义的训练集,发生从使用第二数据路径到第一数据路径的切换。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括电路,其响应于确定用于将来自接收器的数据传输到发送器的物理层(phy)而提供指示。在另一示例性实施例中,该示例性实施例的主题可以可选地包括:电路可操作以基于带选项来确定phy,电路可操作以基于边带信号来确定phy,或者电路可操作以基于训练集修改来确定phy。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括多路复用器,其具有耦合到第一数据路径的第一输入和耦合到第二数据路径的第二输入以及耦合到发送器的输出。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括:第一数据路径还包括用于多个协议的一个或多个链路训练状态机,一个或多个链路训练状态机由控制电路使用以根据由指示指定的一个协议执行链路训练。在另一示例性实施例中,该示例性实施例的主题可以可选地包括:控制电路可操作以针对与多个协议中的每个协议相关联的链路训练执行有序集合生成。

在另一示例性实施例中,第一示例性实施例的主题可以可选地包括:第一数据路径还包括:串行到并行(s2p)转换器,其被耦合以将由接收器接收的第一串行数据转换为第一并行数据;第一逻辑,其耦合到s2p转换器以在必要时执行对齐、解码和解扰;弹性缓冲器,其耦合到第一逻辑以在任何对齐、解码和解扰之后存储数据;分段缓冲电路,其耦合到弹性缓冲器和控制电路,分段缓冲电路包括响应于一个或多个控制信号而将来自弹性缓冲器的数据或训练数据提供给发送器的多路复用器;以及并行到串行(p2s)转换器,其被耦合并可操作以从分段缓冲电路接收第二并行数据并将第二并行数据转换为第二串行数据。

在第二示例性实施例中,方法包括:用多协议重定时器的接收器接收数据,其中,数据已根据多个协议之一被传输;以及在重定时器的接收器和发送器之间发送数据,如果传输由接收器接收的数据经由控制电路响应于对多个协议中的一个协议的指示而在发送器和接收器中的一个或两个的协议特定训练期间或之前发生,则所述发送数据使用耦合到接收器和发送器的第一数据路径,或者如果传输由接收器接收的数据在协议特定训练之后发生,则所述发送数据使用耦合到接收器和发送器的第二数据路径,第二数据路径具有比第一数据路径低的延时。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:协议特定训练包括执行均衡过程。在另一示例性实施例中,该示例性实施例的主题可以可选地包括:执行均衡过程包括生成用于控制由发送器执行的均衡的发送器均衡系数。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:第二数据路径在公共时钟模式期间被使用,并且第一数据路径用于非公共时钟模式期间和协议特定训练期间。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:响应于接收预定义的训练集而从使用第二数据路径切换到第一数据路径。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:响应于确定用于将数据从接收器传输到发送器的物理层(phy)类型而提供指示。在另一示例性实施例中,该示例性实施例的主题可以可选地包括:确定phy类型是基于带选项、基于边带信号或者基于训练集修改的。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:选择多路复用器的控制信号,所述多路复用器具有耦合到第一数据路径的第一输入和耦合到第二数据路径的第二输入,以生成耦合到发送器的输出。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:运行链路训练状态机以根据由指示指定的一个协议来执行链路训练。在另一示例性实施例中,该示例性实施例的主题可以可选地包括针对与一个协议相关联的链路训练执行有序集生成。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:在训练期间将数据存储在弹性缓冲器中;以及控制耦合到弹性缓冲器的多路复用器的输出,以将来自弹性缓冲器的数据输出到发送器或者输出在执行链路训练时生成的训练数据;并行到串行(p2s)转换器,其被耦合并且可操作以从分段缓冲电路接收第二并行数据并将第二并行数据转换为第二串行数据。

在第三示例性实施例中,一种系统包括:一对设备;重定时器,其耦合在一对设备之间以在一对设备之间提供两个方向上的数据流,其中,每个方向上的数据流由以下各项执行:可操作以接收数据的接收器;用于发送数据的发送器;第一数据路径,其耦合到接收器和发送器,并且可操作以在协议特定训练期间将从接收器接收的数据传输到发送器,其中,第一数据路径包括控制电路,其响应于对多个协议中的一个协议的指示而控制发送器和接收器中的一个或两个的协议特定训练;以及第二数据路径,其耦合到接收器和发送器,其中,第二数据路径具有比第一数据路径低的延时,并且用于在协议特定训练之后将从接收器接收的数据传输到发送器。在另一示例性实施例中,该示例性实施例的主题可以可选地包括:协议特定训练包括执行均衡过程。在另一示例性实施例中,该示例性实施例的主题可以可选地包括均衡过程生成用于控制由发送器执行的均衡的发送器均衡系数。

在另一示例性实施例中,第二示例性实施例的主题可以可选地包括:第二数据路径在公共时钟模式期间使用,并且第一数据路径用于非公共时钟模式期间和训练期间。

以上的详细描述的一些部分是在对计算机存储器内的数据比特的操作的算法和符号表示的方面进行呈现的。这些算法描述和表示是由数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。在这里并且通常而言,算法被认为是导致期望结果的自相一致的步骤序列。步骤是需要对物理量的物理操纵的步骤。通常(但不一定),这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。

然而,应当记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非专门另行说明(就如同根据以下讨论而显而易见的),否则应当领会,在整个说明书中,利用诸如“处理”或“运算”或“计算”或“确定”或“显示”等的术语的讨论指代计算机系统或类似电子计算设备的动作和过程,所述计算机系统或类似电子计算设备操纵被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其转换为类似地被表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。

本发明还涉及用于执行本文的操作的装置。该装置可以为所需目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如但不限于:任何类型的盘(disk),包括软盘、光盘、cd-rom和磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适用于存储电子指令的任何类型的介质,并且每个介质都耦合到计算机系统总线。

本文呈现的算法和显示并非固有地与任何特定计算机或其他装置相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专门的装置来执行所需的方法步骤是方便的。各种这些系统所需的结构将从以下描述出现。另外,没有参考任何特定的编程语言描述本发明。应当领会,可以使用各种编程语言来实现如本文描述的本发明的教导。

机器可读介质包括用于以机器(例如,计算机)可读的形式存储或发送信息的任何机构。例如,机器可读介质包括只读存储器(“rom”);随机存取存储器(“ram”);磁盘存储介质;光存储介质;闪存设备;等等。

尽管在已经阅读了前面的描述之后,对本发明的许多改变和修改无疑将对于本领域普通技术人员而言变得显而易见,但是应当理解,通过说明的方式示出和描述的任何特定实施例绝不旨在被认为进行限制。因此,对各种实施例的细节的参考并不旨在限制权利要求的范围,所述权利要求本身仅记载被认为是对本发明必不可少的那些特征。

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