CN101946219B - 具有两个参考时钟的转接驱动器及其操作方法 - Google Patents
具有两个参考时钟的转接驱动器及其操作方法 Download PDFInfo
- Publication number
- CN101946219B CN101946219B CN200880127260.8A CN200880127260A CN101946219B CN 101946219 B CN101946219 B CN 101946219B CN 200880127260 A CN200880127260 A CN 200880127260A CN 101946219 B CN101946219 B CN 101946219B
- Authority
- CN
- China
- Prior art keywords
- inbound
- clock
- switching driver
- elastic buffer
- trip point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
双参考时钟体系架构的转接驱动器包括入站弹性缓冲器和出站弹性缓冲器。传送到北桥和从北桥接收的数据使用公共参考时钟体系架构。传送到外部刀片和从外部刀片接收的数据使用分开的参考时钟体系架构。该入站弹性缓冲器包括入站弹性缓冲器恢复时钟域,入站弹性缓冲器公共参考时钟域,以及入站解码器/解扰器,入站扰码器/编码器,和入站线性移位寄存器。该出站弹性缓冲器包括出站弹性缓冲器公共参考时钟域,出站弹性缓冲器低抖动时钟域,以及出站解码器/解扰器,出站扰码器/编码器,和出站线性移位寄存器。
Description
技术领域
技术领域是电子组件的定时方案。
背景技术
对于一些当前的服务器刀片,存储容量是有限的。可以用来增加具有这样的服务器刀片的系统的存储容量的一种体系架构涉及接近服务器刀片安装存储刀片。服务器刀片和存储刀片通过x4 PCI-Express(PCIe)链路进行通信。然而,和刀片一起使用的底板不支持公共参考时钟。此外,因为当前的x86时钟体系架构实施具有多个输出频率的低成本晶体加时钟(Crystal plus Clock)发生器,服务器以及服务器刀片系统上的时钟源趋于具有大的相位抖动。此外,大部分芯片供应商实施低成本的数字CDR(时钟数据恢复)电路,其在高相位抖动环境中可能不能正常工作。
由于在当前刀片体系架构上使用的分开的参考时钟(refclk),不能支持SSC(扩展频谱时钟控制,spread-spectrum-clocking)。任何使用扩展频谱时钟控制的这种尝试很可能将使得这些体系架构易于发生故障。
发明内容
公开了一种具有两个参考时钟的转接驱动器(redriver)。该转接驱动器将诸如存储刀片之类的外部部件耦合到诸如服务器刀片上的北桥或根复合体之类的集线器(hub)。转接驱动器包括入站弹性缓冲器,所述入站弹性缓冲器具有:用于转接驱动器和外部部件之间的入站弹性缓冲器接口的分开参考时钟;用于北桥和该转接驱动器之间的入站弹性缓冲器接口的公共参考时钟;以及入站解码器/解扰器、入站扰码器/编码器、和入站线性移位寄存器。该转接驱动器还包括出站弹性缓冲器,所述出站弹性缓冲器具有:用于转接驱动器和外部部件之间的出站弹性缓冲器接口的该分开参考时钟;用于北桥和转接驱动器之间的出站弹性缓冲器接口的该公共参考时钟;以及出站解码器/解扰器、出站扰码器/编码器、和出站线性移位寄存器。最后,转接驱动器包括耦合到该转接驱动器的外部部件侧和转接驱动器的北桥侧的时钟恢复逻辑。
还公开了一种使用多个非公共参考时钟的转接驱动器。该转接驱动器具有入站数据部分和出站数据部分。该转接驱动器包括:入站弹性缓冲器,其包括用于调整入站数据以补偿非公共参考时钟的装置;以及出站弹性缓冲器,其包括用于调整出站数据以补偿非公共参考时钟的装置。该转接驱动器还包括耦合到转接驱动器的第一侧的公共参考时钟、耦合到转接驱动器的第二侧的低抖动参考时钟、以及耦合到转接驱动器的第一和第二侧的时钟恢复逻辑。
附图说明
详细的描述将参考附图,在该附图中相同的数字指代相同的项,并且在该附图中:
图1A和1B说明多刀片体系架构的实施例;
图2说明在扩展频谱时钟控制的情况下所允许的频率变化;
图3说明使用两个参考时钟的多刀片体系架构的实施例;
图4说明双参考时钟转接驱动器体系架构的实施例;
图5说明对于快速恢复时钟而言与双参考时钟转接驱动器体系架构一起使用的弹性缓冲器操作的实施例;
图6说明对于慢恢复时钟而言弹性缓冲器操作的实施例;
图7-图9说明两个参考时钟体系架构的可替换应用;以及
图10是说明用于操作具有两个参考时钟的计算机系统部件的方法的实施例的流程图。
具体实施方式
如本文所使用的那样,计算机系统包含任意数量的体系架构,所述体系架构例如包括刀片服务器系统、刀片存储系统、笔记本计算机以及其插接站、PCI-Express扩展系统以及可使用不具有公共参考时钟的设备的任何其它计算系统。在图4和图7-9中提供了这种体系架构的示例。如本文所使用的那样,计算机还包含包括计算机系统的部件的部分或子集。如本文所使用的那样,参考时钟包括低级系统时钟、低抖动时钟以及嵌入在数据流中的时钟。如本文所使用的那样,信号调节器包括信号放大器、转接驱动器以及类似的设备。
像以高数据传输率操作的PCI Express之类的高速、串行差分协议的出现已经导致某些体系架构(尤其在有损传输应用中)中的信号完整性问题。信号调节器可以用于通过使用例如均衡化和预加强/去加强技术来调整并校正信号电平衰减和噪声(抖动),以使得接收端具有用高速信号协议(例如PCI Express)来递送低误比特率所需的裕度。一种这样的信号调节器是转接驱动器。
在同步数字系统(尤其是包含微处理器的那些系统)的设计中使用扩展频谱时钟控制,以便降低这些系统生成的电磁干扰(EMI)的频谱密度。同步数字系统是由时钟信号驱动的系统,因为其周期性质,该时钟信号具有不可避免的窄频谱。实际上,完美的时钟信号将使其所有能量集中在单个频率及其谐波处,并且因此将辐射具有无限谱密度的能量。实际的同步数字系统在于时钟频率及其谐波上扩展的若干窄带上辐射电磁能量,从而导致在某些频率处可能超过电磁干扰的调节限制的频谱。
为了避免这样的EMI发射问题,使用扩展频谱时钟控制来重新整形系统的电磁发射以符合电磁兼容性(EMC)规定。扩展频谱时钟控制分配能量以使得它落入大量的接收机的频带中,而不会将足够的能量放入任何一个频带中而超过规定的限制。然而,对于设计者来说,扩展频谱时钟控制可能产生挑战,因为修改系统时钟有时钟/数据未对准的风险。
通过缓慢地来回将系统时钟的频率调制少的量来实现扩展频谱时钟控制。PCI Express规范允许向下扩展频谱时钟控制,也就是说,可以以30Khz到33Khz范围的调制率将数据率从标称数据率频率调制+0%到-0.5%。参见图2。然而,PCI Express规范仍需要发射机和接收机时钟彼此处于+/-300ppm内,即使启用扩展频谱时钟控制也是如此。这样的需求在具有非公共参考时钟的系统中不能被保证。
PCI Express使用源同步定时体系架构。在源同步定时体系架构中,从始发设备的驱动器传送数据和时钟二者。接收设备恢复时钟以允许数据的同步。PCI Express使用这样的方案,其中使用IBM的8B/10B编码表将转发时钟嵌入到数据流中。这种编码机制确保数据流将具有足够数量的0到1以及1到0的转变以允许恢复时钟。这种机制消除了最小化时滞(skew)的需要,而是改为产生了双时钟域(domain)。也就是说,由于所允许的600ppm容限带,由PCI Express连接彼此连接的两个设备可以并且很有可能将以稍微不同的频率操作。
为了增加刀片式体系架构中的SAS存储容量,提供邻接任何C类服务器刀片安装的存储刀片产品。服务器刀片和存储刀片之间的通信是通过x4 PCI Express链路。在图1A和1B中分别示出两种可能的PCIExpress链路配置(直接的和间接的)。在图1A中,半高C类服务器刀片10耦合到存储刀片20。当PCI Express总线18经由连接16和26直接从服务器刀片10上的北桥(NB)14连接到存储刀片20上的SAS控制卡24时建立直接链路。还在卡10和20上分别示出了时钟12和22。注意,时钟12和22是非公共参考时钟,当启用扩展频谱时钟控制时该事实可以导致系统故障。
在图1B中,邻接存储刀片20安装全高C类服务器刀片30。C类服务器刀片30上的PCI Express总线38从北桥14连接到转接驱动器芯片32,并且然后从该转接驱动器芯片32连接到存储刀片20上的SAS控制卡24。转接驱动器芯片32的使用计及了由于PCI Express总线38较长的迹线长度而引起的附加信号损失。在夹层卡34上安放转接驱动器芯片32。两个刀片20和30分别使用非公共参考时钟22和12。
为了解决在服务器/存储刀片应用中由扩展频谱时钟控制造成的问题,本文所公开的体系架构提供了两个参考时钟。在图3中示出了这种体系架构的示例,其中存储刀片100联接(mate)到服务器刀片120。服务器刀片120可以是任何类型的服务器刀片,包括例如C类服务器刀片。存储刀片包括PCI Express卡24、连接器26和低抖动时钟110。低抖动时钟通常具有低于100ppm(百万分率)的相位抖动。相比之下,低成本时钟具有多于300ppm的相位抖动。利用低抖动时钟,不仅相位抖动低,而且低抖动时钟抗功率噪声调制,并且时钟频率非常稳定。注意,不使用公共参考时钟的任何刀片不能适应扩展频谱时钟控制。这是因为通常安装在PCI设备中的弹性缓冲器仅可以补偿恢复时钟和本地时钟之间的600ppm,并且因此不能与可以具有高达5600ppm时滞的扩展频谱时钟控制一起使用。
服务器刀片120包括北桥14、PCI Express链路130、连接器16、安放在卡150上的转接驱动器200、以及与该转接驱动器200的北桥侧耦合的时钟140。如图3所示,北桥14使用与转接驱动器200的北桥侧共用的参考时钟(时钟140)。虽然北桥14不具有可以调整排出(drain)率和填充率以便适应扩展频谱时钟控制的弹性缓冲器,但是转接驱动器200确实具有这样的弹性缓冲器,如将参考图4-6所讨论的那样。通过在转接驱动器200和北桥14之间使用公共参考时钟,可以将扩展频谱时钟控制的益处应用于北桥14。
耦合到转接驱动器200的存储刀片侧的是低抖动时钟210。该低抖动参考时钟210和低抖动参考时钟110具有相同的电路设计。因为上述体系架构,转接驱动器200利用两个时钟体系架构来操作,即公共参考时钟体系架构140和分开参考时钟体系架构210。这两个参考时钟体系架构的使用支持两个设备之间的时钟频率的(细微)差别,所述两个设备例如启用扩展频谱时钟控制的一个设备(例如北桥14)和利用正常的时钟进行时钟控制的另一个设备(例如存储刀片100);或者每一个都用扩展频谱时钟控制而进行时钟控制的两个设备。
如上面提到的那样,在同步定时体系架构中,公共时钟源向总线上的所有设备供应时钟,并且该时钟用于使得设备的收发机能够为进出的数据计时(clock data in and out)。该体系架构要求时钟正好同时到达每个设备。然而,允许少量的管脚到管脚时滞,这意味着时钟迹线的长度必须匹配以最小化设备之间的时滞。随着时钟速度的增加,所允许的管脚到管脚时滞降低了,这使得时钟迹线的匹配路由更难以实现。
通过使用两个参考时钟体系架构(即公共参考时钟体系架构和分开参考时钟体系架构),对于要流经转接驱动器200的数据,该数据将必须穿过公共参考时钟和分开参考时钟之间的边界。在图3中由平分转接驱动器200的虚线象征性地指示该边界。为了越过(transition)该边界,转接驱动器200包括在其入站和出站侧的弹性缓冲器。通过使用一个时钟体系架构来将所接收到的数据存放在弹性缓冲器中并且使用另一个时钟体系架构来从该弹性缓冲器取出该数据来实现对该边界的桥接。因为这两个参考时钟可以以细微不同的频率运行,并且可以为北桥14启用扩展频谱时钟控制,所以弹性缓冲器可能经历上溢或下溢错误状态。为了消除这些错误,弹性缓冲器的填充率和排出率可以被调整。一种用于调整填充率和排出率的方式涉及在PCI Express体系架构中使用的特殊符号的添加或移除。这些符号被称为SKP符号,并且可在SKP有序集中找到。SKP有序集被用来维持发射机和接收机之间的同步,并且防止上溢或下溢错误状态。接收机可以丢弃SKP字符。SKP有序集包括单个COM符号接着是三个SKP符号。随后将讨论用于调整填充率和排出率的其它方式。
从两个设备之间所允许的最大频率容限(即600ppm)导出传送SKP有序集合的速率。在该水平下,这两个设备的本地时钟每1666个周期移位一个时钟周期。因此,发射机必须将SKP有序集合调度成比每1666个时钟周期更频繁地发送。PCI Express规范将SKP有序集合传输之间的周期限定成处于1180个符号时间和1538个符号时间之间。在接收到SKP有序集合后,弹性缓冲器可以插入或移除SKP符号以补偿两个时钟域之间的频率差。
图4更详细地说明具有两个参考时钟的转接驱动器。在图4中,示出耦合存储刀片100和北桥14的转接驱动器200。然而,该转接驱动器200可以用于其它应用中,例如包括耦合任何两个刀片类型。转接驱动器200包括通过其将数据从存储刀片100传送到北桥14的入站弹性缓冲器220以及通过其传送来自北桥14的数据的出站弹性缓冲器240。如可以从图4中看到的那样,包括入站和出站弹性缓冲器220/240的转接驱动器200的北桥侧使用公共参考时钟140。该公共参考时钟140可以将扩展频谱时钟控制启用。转接驱动器200的存储刀片侧使用分开的低抖动时钟210。该低抖动参考时钟210不使用扩展频谱时钟控制。存储刀片100还使用分开的低抖动参考时钟110,其也不允许扩展频谱时钟控制。参考时钟110、140和210具有标准的100MHz时钟源,其被用作锁相环(PPL)的输入以生成用于内部逻辑和CDR(时钟数据恢复)的较高频率时钟。例如,PLL 145可以将100MHz时钟转换成2.5GHz。
来自存储刀片100的数据160以标称2.5GHz进入入站弹性缓冲器220,并且退出入站弹性缓冲器220的数据165以标称2.5GHz退出。类似地,数据170以标称2.5GHz进入出站弹性缓冲器240,并且数据175以标称2.5GHz退出出站弹性缓冲器240。入站数据160具有由时钟恢复电路216恢复的嵌入时钟。时钟恢复电路216使用本地时钟B信号215,基于低抖动参考时钟210从PLL 212的输出导出所述本地时钟B信号215。本地时钟B信号215还用于对从出站弹性缓冲器240出来的数据计时。出站数据170具有由时钟恢复电路141恢复的嵌入时钟。时钟恢复电路141使用本地时钟A信号145,基于公共参考时钟从PLL 142的输出导出所述本地时钟A信号145。本地时钟A信号145还用于对从入站弹性缓冲器220出来的数据计时。
因为存储刀片100不使用扩展频谱时钟控制而北桥14确实使用扩展频谱时钟控制(当被启用时),所以入站数据160将总是处于比入站数据165更快的时钟。相反,出站数据170将总是处于比出站数据175更慢的时钟。发射机(TX)和接收机(RX)之间的时钟频率差可以多达5600ppm。为了适应这些时钟差,入站弹性缓冲器220和出站弹性缓冲器240必须能够使用当前PCI Express弹性缓冲器不可用的步骤来调整它们的填充率和排出率。
注意,在其中使用转接驱动器200来耦合常见类型的存储刀片的应用中,扩展频谱时钟控制的使用可以引起附加的时钟差。在图7中示出这样的体系架构。
图5说明对于快速恢复时钟来说与图4的转接驱动器200一起使用的弹性缓冲器操作的实施例。弹性缓冲器220接收入站数据流并且提供经过修改的入站数据流。弹性缓冲器220可以被操作为使得它通常是半满的,或正好低于跳变点(trip point)A。对于快速恢复时钟的情况,当弹性缓冲器内容到达跳变点A,因为弹性缓冲器220位于中间点并且因此不能改变SKP有序集合,所以在PCI Express链路处于活动状态的情况下(即在该链路已被加电并且经过了链路训练状态的情况下)该弹性缓冲器220内的缓冲器逻辑首先从入站数据流移除空闲数据。如果PCI Express链路处于训练状态,则缓冲器逻辑将移除整个训练有序集合。注意,在重置之后在所有PCI Express链路上自动出现链路训练,而不需要软件介入。大多数链路训练状态涉及16-符号训练有序集合的传输。每个部件的接收机使用该集合来获得比特锁定、符号锁定和通道至通道时滞。这些集合的交换有助于在链路的每一端的部件协商链路号、通道号、数据率等等。当完成训练时,链路进入其中可以交换事务层分组(TLP)的活动状态。如果弹性缓冲器内容到达跳变点B,则缓冲器逻辑将从入站数据流移除所选择的数据链路层分组(DLLP)。PCI Express被设计成使得包含在每个DLLP中的信息也包含在后续相同类型的DLLP中,以使得在运送中被破坏或丢失的DLLP对链路性能具有最小的影响。然而,如果丢失相同类型的多个连续DLLP,则将出现性能降低(它可引起事务重放和/或禁止新事务的发布)。DLLP开始于未加扰的“SDP”成帧符号接着是DLLP类型字节。弹性缓冲器220内的缓冲器逻辑可以被设计成移除四个DLLP类型,具体为:应答、邮递性信用更新(Posted Credit Updates)、非邮递性信用更新(Non-posted Credit Updates)以及完成信用更新。本文所述的灵活缓冲器使用信号量(semaphore)来防止删除多个相同类型的DLLP。例如,快速恢复时钟可能使得缓冲器逻辑丢弃邮递性信用更新DLLP。当这发生时,内部邮递性信用更新信号量被设置成防止该逻辑丢弃另一个邮递性信用更新,直到(相同虚拟信道)的另一个邮递性信用更新通过为止。第二更新包含与先前分组相同数目的信用,外加它可能包含附加的信用。使第二分组通过移除了出站邮递性循环中的潜在瓶颈。最后,如果弹性缓冲器220的内容到达跳变点C,则缓冲器逻辑丢弃来自入站数据流的事务层分组(TLP)。缓冲器逻辑通过寻找TLP开始成帧符号(STP),并且丢弃每个符号直到它检测到END符号为止来完成此操作。这将使得发射机因为后续TLP的否定应答(Nak)或因为应答(Ack)超时而重放该TLP。移除的TLP的序列号被存储在本地寄存器中以与未来出站Ack分组相比。当出站Ack验证被丢弃的TLP已成功地重放时,TLP处置(disposal)逻辑在下一次弹性缓冲器填充超过跳变点C时重置其自身。这防止可能严重损害链路性能的过度TLP重放。
对于慢恢复时钟的情况,PCI Express规范要求将SKP符号添加到SKP有序集合。在图6中示出了这样的情景。在跳变点E处,与典型弹性缓冲器(例如与弹性缓冲器220的上游和下游部件相关联的弹性缓冲器)相关联的缓冲器逻辑将SKP符号添加到缓冲器内容。类似地,在跳变点E处,与弹性缓冲器220相关联的缓冲器逻辑将SKP有序集合添加到数据流。注意,因为转接驱动器200是中间缓冲器而不是链路上的最后接收机,所以转接驱动器200不能改变SKP有序集合的大小。然而,在某些情况下,即使添加SKP符号也不足以防止使弹性缓冲器220变空。当PCI Express链路处于活动状态时,PCI Express规范允许将逻辑空闲数据添加到数据流。相应地,在跳变点F处,由于该链路处于活动状态,缓冲器逻辑将空闲数据添加到退出弹性缓冲器220的数据流。
为了允许添加SKP有序集合并且减去DLLP和TLP,转接驱动器200包括典型的PCI Express部件,例如如在图6中示出的10/8b解码器221、解扰器222、线性反馈移位寄存器(LSFR)223、SKP/空闲插入模块225、扰码器226、8b/10b编码器227、以及出站线性反馈移位寄存器(LSFR)229。解码器221将10比特入站符号转变成8比特字节,并且解扰器222使用LSFR 223来将字节转变成未加扰的字节。这时,可以针对前面提到的成帧符号来分析数据流。注意,SKP有序集合未被添加到任何其它有序集合或分组的中间。在操纵数据流之后,扰码器226使用出站LFSR 229来再次对这些字节加扰,并且8b/10b编码器227将8比特字节转变回10比特符号。
图5和图6说明入站弹性缓冲器220的操作。入站弹性缓冲器220是双参考时钟弹性缓冲器体系架构。出站弹性缓冲器240也是双参考时钟体系架构的缓冲器,并且从所有相关方面来说用于防止出站弹性缓冲器240的上溢和下溢的体系架构和方法类似于可应用于入站弹性缓冲器220的体系架构和方法。
图7-9说明使用转接驱动器以确保经过多个连接和变化长度的迹线长度的信号连续性和保真度的计算机系统的实施例。
图10是说明用于操作诸如图3的计算机系统之类的具有双参考时钟体系架构的计算机系统的方法500的实施例的流程图。在图10中,从块501处开始,转接驱动器200接收入站数据流(从数据流是从存储刀片100发出的这个意义上来说是入站),该入站数据流具有恢复时钟。在块505中,与入站弹性缓冲器220相关联的缓冲器逻辑记录该恢复时钟。在块510处,入站弹性缓冲器220确定相对于系统时钟140来说该恢复时钟是否是快的。如果该恢复时钟是快的,则该方法500移动到块515,并且检查链路来了解该链路是否是活动的。如果该链路是活动的,方法500移动到块520。如果该链路是不活动的,则该方法500移动到块516以确定该链路是否处于“配置空闲”训练子状态。如果该链路不处于“配置空闲”,则在块518中,与缓冲器220相关联的缓冲器逻辑移除训练有序集合。如果该链路处于“配置空闲”子状态,则该方法500移动到块517并且与入站缓冲器220相关联的缓冲器逻辑从入站数据流移除空闲数据。这时,该逻辑将入站数据转发到NB(块560)。块517或518之后,方法500移动到块560。在块520中,与入站缓冲器220相关联的缓冲器逻辑确定该恢复时钟是否仍太快。如果该恢复时钟仍太快,则该方法500移动到块525,并且缓冲器逻辑移除DLLP符号并且设置相应的信号量。然后,该方法500移动到块530。在块530中,缓冲器逻辑再次确定该恢复时钟是否太快。如果该恢复时钟仍太快,则在块535中,缓冲器逻辑从数据流中移除TLP分组,并且设置TLP信号量。然后,该方法移动到块560。
返回到块530,如果恢复时钟不太快,则该方法500移动到块560。返回到块520,如果恢复时钟不太快,则该方法500移动到块560。
返回到块510,如果恢复时钟不太快,则该方法500移动到块540,并且与入站灵活缓冲器220相关联的缓冲器逻辑确定该恢复时钟是否太慢。如果该恢复时钟不太慢,则该方法移动到块560。如果该恢复时钟太慢,则该方法500移动到块545,并且检查链路来了解该链路是否是活动的。如果该链路是活动的,则该方法500移动到块546,并且将空闲数据添加到入站数据流。如果该链路不是活动的,则在块547中缓冲器逻辑将SKP符号添加到入站数据流。然后该方法移动到块550,并且缓冲器逻辑再次检查以了解恢复时钟是否太慢。如果该恢复时钟仍太慢,则该方法500移动到块555,并且缓冲器逻辑将空闲数据添加到入站数据流。然后该方法移动到块560,并且入站数据流被传送到北桥14。
Claims (20)
1.一种具有两个参考时钟的转接驱动器,该转接驱动器通过PCIExpress链路将外部部件耦合到集线器,所述转接驱动器包括:
入站弹性缓冲器,其包括:
用于所述转接驱动器和所述外部部件之间的入站弹性缓冲器接口的分开参考时钟,
用于所述集线器和所述转接驱动器之间的入站弹性缓冲器接口的公共参考时钟,以及
入站解码器/解扰器、入站扰码器/编码器、以及入站线性移位寄存器;
出站弹性缓冲器,其包括:
用于所述转接驱动器和所述外部部件之间的出站弹性缓冲器接口的所述分开参考时钟,
用于所述集线器和所述转接驱动器之间的出站弹性缓冲器接口的所述公共参考时钟,以及
出站解码器/解扰器、出站扰码器/编码器、以及出站线性移位寄存器;以及
耦合到所述转接驱动器的外部部件侧和所述转接驱动器的集线器侧的时钟恢复逻辑。
2.根据权利要求1所述的转接驱动器,其中所述入站弹性缓冲器还包括缓冲器逻辑和上溢跳变点,所述上溢跳变点包括:
第一上溢跳变点,其中当到达所述第一上溢跳变点并且链路处于不活动状态时,所述缓冲器逻辑从数据流移除空闲数据和整个训练集合之一;
第二上溢跳变点,其中当到达所述第二上溢跳变点时,所述缓冲器逻辑从所述数据流移除数据链路层分组DLLP分组;以及
第三上溢跳变点,其中当到达所述第三上溢跳变点时,所述缓冲器逻辑从所述数据流移除事务层分组。
3.根据权利要求2所述的转接驱动器,还包括DLLP信号量,其中当从所述数据流移除特定类型的DLLP分组时,所述缓冲器逻辑设置对应的DLLP信号量,由此防止进一步移除该类型的DLLP分组。
4.根据权利要求2所述的转接驱动器,还包括事务层分组信号量,其中当移除事务层分组时,设置事务层分组信号量。
5.根据权利要求4所述的转接驱动器,还包括存储所移除的事务层分组的序列号的本地寄存器,由此当所移除的事务层分组被还原时,从所述本地寄存器删除所存储的序列号并且重置事务层分组信号量。
6.根据权利要求2所述的转接驱动器,其中所述入站弹性缓冲器还包括:
第一下溢跳变点,其中当到达所述第一下溢跳变点时,所述缓冲器逻辑将SKP符号添加到退出所述入站弹性缓冲器的数据流;以及
第二下溢跳变点,其中当到达所述第二下溢跳变点时,所述缓冲器逻辑将空闲数据添加到退出所述入站弹性缓冲器的数据流。
7.根据权利要求1所述的转接驱动器,其中所述出站弹性缓冲器还包括:
缓冲器逻辑;
上溢跳变点,其中当到达所述上溢跳变点时,所述缓冲器逻辑移除空闲数据、训练集合、数据链路层分组DLLP分组和事务层分组中的一个或多个;以及
下溢跳变点,其中当到达所述下溢跳变点时,所述缓冲器逻辑将SKP符号和空闲数据添加到退出所述出站弹性缓冲器的数据流。
8.根据权利要求1所述的转接驱动器,其中所述转接驱动器被安装在服务器刀片上,并且其中使用所述PCI Express链路将存储刀片耦合到所述服务器刀片。
9.根据权利要求1所述的转接驱动器,其中第一服务器刀片和第二服务器刀片二者分别安装有所述转接驱动器,并且其中使用所述PCIExpress链路将所述第二服务器刀片耦合到所述第一服务器刀片。
10.根据权利要求1所述的转接驱动器,其中所述分开参考时钟由100MHz低抖动时钟驱动。
11.根据权利要求1所述的转接驱动器,其中所述集线器是启用了扩展频谱时钟控制的北桥,并且其中所述外部部件是禁用了扩展频谱时钟控制的存储刀片。
12.一种使用两个参考时钟的转接驱动器,所述两个参考时钟包括公共参考时钟和分开的低抖动参考时钟,所述转接驱动器具有入站数据部分和出站数据部分,所述转接驱动器包括:
入站弹性缓冲器,其包括用于调整入站数据以补偿所述两个参考时钟的装置;
出站弹性缓冲器,其包括用于调整出站数据以补偿所述两个参考时钟的装置;
耦合到所述转接驱动器的第一侧的所述公共参考时钟;
耦合到所述转接驱动器的第二侧的所述分开的低抖动参考时钟;以及
耦合到所述转接驱动器的第一和第二侧的时钟恢复逻辑,其中耦合到所述转接驱动器的第一侧的时钟恢复逻辑使用所述公共参考时钟,并且耦合到所述转接驱动器的第二侧的时钟恢复逻辑使用所述分开的低抖动参考时钟。
13.根据权利要求12所述的转接驱动器,其中所述入站弹性缓冲器包括:
入站弹性缓冲器恢复时钟域;以及
入站弹性缓冲器公共参考时钟域。
14.根据权利要求13所述的转接驱动器,其中用于调整入站数据以补偿所述两个参考时钟的装置包括:
入站解码器/解扰器;
入站扰码器/编码器;以及
入站线性移位寄存器,所有都耦合到所述入站弹性缓冲器公共参考时钟域。
15.根据权利要求14所述的转接驱动器,其中用于调整入站数据以补偿所述两个参考时钟的装置还包括缓冲器逻辑和上溢跳变点,所述上溢跳变点包括:
第一上溢跳变点,其中当到达所述第一上溢跳变点时,所述缓冲器逻辑从入站数据流移除空闲数据和训练集合之一;
第二上溢跳变点,其中当到达所述第二上溢跳变点时,所述缓冲器逻辑从所述数据流移除数据链路层分组DLLP分组;以及
第三上溢跳变点,其中当到达所述第三上溢跳变点时,所述缓冲器逻辑从所述数据流移除事务层分组。
16.根据权利要求12所述的转接驱动器,其中所述出站弹性缓冲器包括:
出站弹性缓冲器公共参考时钟域;以及
出站弹性缓冲器低抖动参考时钟域。
17.根据权利要求16所述的转接驱动器,其中用于调整出站数据以补偿所述两个参考时钟的装置包括:
出站解码器/解扰器;
出站扰码器/编码器;以及
出站线性移位寄存器,所有都耦合到所述出站弹性缓冲器低抖动参考时钟域。
18.根据权利要求17所述的转接驱动器,其中用于调整出站数据以补偿所述两个参考时钟的装置包括:
缓冲器逻辑;
上溢跳变点,其中当到达所述上溢跳变点时,所述缓冲器逻辑移除空闲数据、数据链路层分组DLLP分组、和事务层分组中的一个或多个;以及
下溢跳变点,其中当到达所述下溢跳变点时,所述缓冲器逻辑将SKP符号和空闲数据添加到退出所述出站弹性缓冲器的数据流。
19.一种用于操作具有根据权利要求1所述的转接驱动器的计算机系统的方法,所述方法包括:
根据入站数据流恢复时钟;
将所恢复的时钟与系统时钟相比较;
如果所恢复的时钟太块:
则从所述入站数据流移除空闲数据和训练集合之一,以及如果所恢复的时钟仍太快,
则从所述入站数据流移除数据链路层分组DLLP分组,以及如果所恢复的时钟仍太快,
则从所述入站参考流移除事务层分组TLP分组;
如果所恢复的时钟太慢:
则将SKP符号添加到所述入站数据流,以及如果所恢复的时钟仍太慢,
则将空闲数据添加到所述入站数据流。
20.根据权利要求19所述的方法,还包括:
当移除所述DLLP分组时设置DLLP信号量;以及
当移除所述TLP分组时设置TLP信号量。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2008/054399 WO2009105095A1 (en) | 2008-02-20 | 2008-02-20 | Redriver with two reference clocks and method of operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101946219A CN101946219A (zh) | 2011-01-12 |
CN101946219B true CN101946219B (zh) | 2013-03-20 |
Family
ID=40985813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880127260.8A Expired - Fee Related CN101946219B (zh) | 2008-02-20 | 2008-02-20 | 具有两个参考时钟的转接驱动器及其操作方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8166334B2 (zh) |
EP (1) | EP2255263B1 (zh) |
JP (1) | JP5138050B2 (zh) |
KR (1) | KR101419292B1 (zh) |
CN (1) | CN101946219B (zh) |
WO (1) | WO2009105095A1 (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5266164B2 (ja) * | 2009-08-25 | 2013-08-21 | ルネサスエレクトロニクス株式会社 | データ受信装置 |
JP5426326B2 (ja) * | 2009-11-09 | 2014-02-26 | ルネサスエレクトロニクス株式会社 | データ受信装置、データ受信方法、及びプログラム |
TWI423007B (zh) * | 2009-12-31 | 2014-01-11 | Via Tech Inc | 串列匯流排裝置以及其時脈差補償方法 |
JP5748320B2 (ja) * | 2010-03-11 | 2015-07-15 | 株式会社リコー | アダプタ、情報機器、情報システム及び通信方法 |
US8938567B2 (en) | 2010-03-11 | 2015-01-20 | Ricoh Company, Limited | Communication apparatus, communication system and adapter |
JP5764919B2 (ja) * | 2010-12-16 | 2015-08-19 | 株式会社リコー | 通信機器および通信システム |
TW201142613A (en) * | 2010-05-31 | 2011-12-01 | Jmicron Technology Corp | Timing aligning circuit and timing aligning method for aligning data transmitting timing of a plurality of lanes |
US8666013B1 (en) | 2011-03-22 | 2014-03-04 | Altera Corporation | Techniques for clock data recovery |
US8645724B2 (en) * | 2011-06-03 | 2014-02-04 | Nxp B.V. | Redriver circuits with power saving modes |
WO2013001631A1 (ja) * | 2011-06-29 | 2013-01-03 | 富士通株式会社 | 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 |
WO2012119385A1 (zh) | 2011-08-11 | 2012-09-13 | 华为技术有限公司 | 对pcie设备进行时间同步的方法、装置和系统 |
US9261897B2 (en) | 2012-03-07 | 2016-02-16 | Intel Corporation | Scalable, common reference-clocking architecture using a separate, single clock source for blade and rack servers |
KR101876418B1 (ko) * | 2012-04-05 | 2018-07-10 | 한국전자통신연구원 | Pci 익스프레스 디스큐 장치 및 그 방법 |
JP5928192B2 (ja) * | 2012-06-28 | 2016-06-01 | 株式会社ソシオネクスト | ブリッジ回路 |
US20140036966A1 (en) * | 2012-07-31 | 2014-02-06 | Robert C. Elliott | Varying rate of deletable bits for spread spectrum clocking |
US9153198B2 (en) * | 2012-09-25 | 2015-10-06 | Ati Technologies Ulc | Method and device for link over-training |
US9213355B2 (en) | 2012-11-06 | 2015-12-15 | Advanced Micro Devices, Inc. | Selective insertion of clock mismatch compensation symbols in signal transmissions based on a receiver's compensation capability |
US8879680B2 (en) * | 2012-11-06 | 2014-11-04 | Ati Technologies Ulc | Adaptive clock mismatch compensation symbol insertion in signal transmissions |
US9223385B2 (en) * | 2012-12-19 | 2015-12-29 | Intel Corporation | Re-driver power management |
CN104063352B (zh) * | 2013-03-20 | 2017-03-15 | 上海华虹集成电路有限责任公司 | Pipe的弹性缓冲电路及其状态同步方法 |
US10237087B2 (en) * | 2013-09-02 | 2019-03-19 | Samsung Electronics Co., Ltd. | Method for controlling transmission speed and electronic device thereof |
JP6339198B2 (ja) * | 2013-12-26 | 2018-06-06 | インテル・コーポレーション | インターコネクトリタイマのエンハンスメント |
KR102108380B1 (ko) | 2014-02-04 | 2020-05-08 | 삼성전자주식회사 | 송신 데이터 오류를 복구하도록 작동하는 인터페이스 회로 |
CN104484011A (zh) * | 2014-11-25 | 2015-04-01 | 上海高性能集成电路设计中心 | 一种分布控制双时钟异步发送、接收模块及fifo装置 |
US9946683B2 (en) * | 2014-12-24 | 2018-04-17 | Intel Corporation | Reducing precision timing measurement uncertainty |
WO2016122480A1 (en) * | 2015-01-28 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Bidirectional lane routing |
US9692589B2 (en) * | 2015-07-17 | 2017-06-27 | Intel Corporation | Redriver link testing |
KR102507714B1 (ko) | 2016-05-02 | 2023-03-09 | 삼성전자주식회사 | SRIS를 지원하는 PCIe 장치 |
US10128985B2 (en) | 2016-07-01 | 2018-11-13 | International Business Machines Corporation | ACK clock compensation for high-speed serial communication interfaces |
US10491701B2 (en) * | 2016-07-14 | 2019-11-26 | Cisco Technology, Inc. | Interconnect method for implementing scale-up servers |
CN106848785A (zh) * | 2016-12-28 | 2017-06-13 | 曙光信息产业(北京)有限公司 | Pci‑e信号传输装置 |
US10789201B2 (en) * | 2017-03-03 | 2020-09-29 | Intel Corporation | High performance interconnect |
US10860449B2 (en) | 2017-03-31 | 2020-12-08 | Intel Corporation | Adjustable retimer buffer |
US20180329855A1 (en) | 2017-05-12 | 2018-11-15 | Intel Corporation | Alternate protocol negotiation in a high performance interconnect |
US11249808B2 (en) | 2017-08-22 | 2022-02-15 | Intel Corporation | Connecting accelerator resources using a switch |
US11356236B2 (en) * | 2019-05-16 | 2022-06-07 | Texas Instruments Incorporated | Bidirectional re-driver for half-duplex interfaces |
US11546128B2 (en) | 2020-06-16 | 2023-01-03 | SK Hynix Inc. | Device and computing system including the device |
KR102519480B1 (ko) | 2021-04-01 | 2023-04-10 | 에스케이하이닉스 주식회사 | PCIe 장치 및 이를 포함하는 컴퓨팅 시스템 |
KR102415309B1 (ko) | 2020-06-16 | 2022-07-01 | 에스케이하이닉스 주식회사 | 인터페이스 장치 및 그 동작 방법 |
KR102518285B1 (ko) | 2021-04-05 | 2023-04-06 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 및 인터페이스 시스템 |
US12068783B2 (en) * | 2020-11-02 | 2024-08-20 | Cisco Technology, Inc. | Dispersing data rate to mitigate electromagnetic interference |
US11271656B1 (en) | 2020-11-02 | 2022-03-08 | Cisco Technology, Inc. | Dispersing data rate to mitigate electromagnetic interference |
CN115794242B (zh) * | 2023-02-08 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 一种服务器展频方法、系统、电子设备及可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466711A (zh) * | 2000-08-11 | 2004-01-07 | �Ƚ�װ�ù�˾ | 多时钟系统中同步跳跃模式及初始化时钟转送接口的系统及方法 |
CN1552005A (zh) * | 2001-07-09 | 2004-12-01 | ����ɭ�绰�ɷ�����˾ | 状态指示检测装置和方法 |
CN1957556A (zh) * | 2004-05-24 | 2007-05-02 | 艾利森电话股份有限公司 | 确定第一与第二时钟域之间的时间差 |
CN101001199A (zh) * | 2006-01-11 | 2007-07-18 | 中兴通讯股份有限公司 | 一种高速多位并行数据总线的数据处理方法 |
CN101036120A (zh) * | 2004-11-29 | 2007-09-12 | 英特尔公司 | 频率和电压缩放架构 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06338138A (ja) * | 1993-05-28 | 1994-12-06 | Toshiba Corp | 基準クロック発生装置及び基準クロック発生方法 |
US6055645A (en) * | 1996-12-30 | 2000-04-25 | Intel Corporation | Method and apparatus for providing a clock signal to a processor |
JPH11150475A (ja) * | 1997-11-14 | 1999-06-02 | Toyo Commun Equip Co Ltd | シンセサイザ |
US6079027A (en) * | 1998-01-23 | 2000-06-20 | Via Technologies, Inc. | Computer chip set for computer mother board referencing various clock rates |
US6154803A (en) * | 1998-12-18 | 2000-11-28 | Philips Semiconductors, Inc. | Method and arrangement for passing data between a reference chip and an external bus |
JP4335586B2 (ja) * | 2003-06-11 | 2009-09-30 | Necエレクトロニクス株式会社 | クロックアンドデータリカバリ回路 |
JP2005252587A (ja) * | 2004-03-03 | 2005-09-15 | Seiko Epson Corp | クロック整形器およびクロック整形器を用いた電子機器 |
JP4587798B2 (ja) * | 2004-12-08 | 2010-11-24 | ルネサスエレクトロニクス株式会社 | スペクトラム拡散クロック発生装置 |
US7281077B2 (en) * | 2005-04-06 | 2007-10-09 | Qlogic, Corporation | Elastic buffer module for PCI express devices |
US7802031B2 (en) * | 2005-05-18 | 2010-09-21 | Qlogic, Corporation | Method and system for high speed network application |
JP2007109199A (ja) * | 2005-09-15 | 2007-04-26 | Seiko Epson Corp | バッファ装置、、バッファ装置の制御方法、情報処理装置 |
US7478255B2 (en) * | 2005-12-13 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Clock distribution in multi-cell computing systems |
JP2007193633A (ja) * | 2006-01-20 | 2007-08-02 | Renesas Technology Corp | インタフェース機能付きデバイス回路 |
US8867683B2 (en) * | 2006-01-27 | 2014-10-21 | Ati Technologies Ulc | Receiver and method for synchronizing and aligning serial streams |
-
2008
- 2008-02-20 US US12/918,050 patent/US8166334B2/en active Active
- 2008-02-20 CN CN200880127260.8A patent/CN101946219B/zh not_active Expired - Fee Related
- 2008-02-20 EP EP08730240.2A patent/EP2255263B1/en not_active Not-in-force
- 2008-02-20 JP JP2010547602A patent/JP5138050B2/ja not_active Expired - Fee Related
- 2008-02-20 KR KR1020107018505A patent/KR101419292B1/ko active IP Right Grant
- 2008-02-20 WO PCT/US2008/054399 patent/WO2009105095A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466711A (zh) * | 2000-08-11 | 2004-01-07 | �Ƚ�װ�ù�˾ | 多时钟系统中同步跳跃模式及初始化时钟转送接口的系统及方法 |
CN1552005A (zh) * | 2001-07-09 | 2004-12-01 | ����ɭ�绰�ɷ�����˾ | 状态指示检测装置和方法 |
CN1957556A (zh) * | 2004-05-24 | 2007-05-02 | 艾利森电话股份有限公司 | 确定第一与第二时钟域之间的时间差 |
CN101036120A (zh) * | 2004-11-29 | 2007-09-12 | 英特尔公司 | 频率和电压缩放架构 |
CN101001199A (zh) * | 2006-01-11 | 2007-07-18 | 中兴通讯股份有限公司 | 一种高速多位并行数据总线的数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2255263A4 (en) | 2011-08-31 |
KR101419292B1 (ko) | 2014-07-14 |
US8166334B2 (en) | 2012-04-24 |
CN101946219A (zh) | 2011-01-12 |
WO2009105095A1 (en) | 2009-08-27 |
US20100315135A1 (en) | 2010-12-16 |
EP2255263A1 (en) | 2010-12-01 |
KR20100123836A (ko) | 2010-11-25 |
JP5138050B2 (ja) | 2013-02-06 |
JP2011519077A (ja) | 2011-06-30 |
EP2255263B1 (en) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101946219B (zh) | 具有两个参考时钟的转接驱动器及其操作方法 | |
CN1902613B (zh) | 为串行点到点链路通过非数据符号处理进行通道到通道的偏斜校正 | |
US8867683B2 (en) | Receiver and method for synchronizing and aligning serial streams | |
US7512201B2 (en) | Multi-channel synchronization architecture | |
CN108733608B (zh) | Usb链路桥接器 | |
WO2001042936A2 (en) | Transceiver with latency alignment circuitry | |
US20190205270A1 (en) | Link width scaling across multiple retimer devices | |
US20080147916A1 (en) | Data synchronization method of data buffer device | |
CN102708086A (zh) | 一种应用于usb3.0的弹性缓冲结构及方法 | |
US7894537B2 (en) | Adaptive data alignment | |
US7209907B2 (en) | Method and apparatus for periodically retraining a serial links interface | |
EP1845651B1 (en) | Method and apparatus for controlling transmission frequency in serial advanced technology attachment | |
CN100561454C (zh) | 接收器符号对准的方法、集成电路装置和系统 | |
US8948192B2 (en) | Data switch | |
KR102518285B1 (ko) | PCIe 인터페이스 및 인터페이스 시스템 | |
US20020110212A1 (en) | Dynamic phase aligning interface | |
US5974103A (en) | Deterministic exchange of data between synchronised systems separated by a distance | |
US11818238B2 (en) | Low overhead high bandwidth data transfer protocol | |
JP5545146B2 (ja) | シリアル通信システム | |
US7366207B1 (en) | High speed elastic buffer with clock jitter tolerant design | |
US7212598B2 (en) | Data buffer-controlled digital clock regenerator | |
US20230377618A1 (en) | Circuit for synchronization for an interconnection protocol, controller and storage device | |
GX et al. | Production Device Issues for Stratix IV GX Devices | |
GT et al. | Production Device Issues for Stratix IV GT Devices | |
EP4SGX70 | Production Devices for Stratix IV GX Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170120 Address after: Texas, USA Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P. Address before: Texas, USA Patentee before: Hewlett-Packard Development Co.,L.P. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130320 |
|
CF01 | Termination of patent right due to non-payment of annual fee |