用于改进在计算系统中的高速通信的技术的制作方法

文档序号:22119176发布日期:2020-09-04 15:58阅读:195来源:国知局
用于改进在计算系统中的高速通信的技术的制作方法

本申请一般涉及发射机均衡,更具体地,涉及找到通过高速互连进行的通信的最佳发射机参数。



背景技术:

链路是连接单个或多个计算系统的设备并允许它们彼此通信的通信信道。诸如信号的频率分量、传输速度以及芯片、链路和信道的类型之类的各种因素可以影响信号质量,并且在某些情况下,使得信号对于接收端的设备来说是难以辨认的。解决这个问题的一种技术是“均衡(equalize)”信道,以便在输出端忠实地再现输入端信号的频域属性,从而减少错误。加利福尼亚州圣克拉拉市的公司提供的高速互连,例如pcie(尤其是第5代),usb和nvlinktm,使用均衡器来准备数据信号以用于传输。



技术实现要素:

在一个方面,本公开提供了一种用于最优地均衡共享链路的发送设备和接收设备的方法。该方法包括:确定由发射机系数的品质因数(fom)加权的发射机系数的质心,使用对应于所述质心的最佳均衡系数对发送设备的数据进行均衡,以及通过所述链路将所述数据从发送设备发送到接收设备。

在另一方面,本公开提供了一种发送设备。该发送设备包括:质心计算器,配置成确定由发射机系数的品质因数(fom)加权的发射机系数的质心;有限脉冲响应(fir)滤波器,配置成使用对应于所述质心的最佳均衡系数来均衡发送设备的数据;以及发射机,配置成通过在发送设备和接收设备之间共享的链路将数据发送到接收设备。

附图说明

现在结合以下附图参考描述,其中:

图1示出了根据本公开的原理的计算系统的实施例的框图;

图2示出了根据本公开的原理的共享链路的设备的实施例的框图;

图3a示出了根据本公开的原理的在接收设备处探测的来自示波器的不归零(non-return-to-zero,nrz)信号的眼图;

图3b示出了根据本公开的原理的在接收设备处探测的来自示波器的部分响应信号的眼图;

图4a示出了根据本公开的原理的发射机系数图的实施例;

图4b示出了图4a中的发射机系数图的一部分;以及

图5示出了根据本公开的原理执行的均衡方法的实施例的流程图。

具体实施方式

对于高速链路中的发送均衡,可以使用称为发射机(tx)系数的参数来调谐发送设备。典型的系统可能具有数百个tx系数的组合,并且这些组合中的一些将产生比其他组合更好的均衡结果。信号质量在高速传输信道中至关重要,因此选择tx系数的最佳组合对于确保准确传输至关重要。

另外,选择该组合必须在固定的时间限制内完成,以便系统可以启动或开始其他过程。测试tx系数的每个组合以找到最佳系数是不可行的,因为这种方法通常需要花费太多时间。仅测试一些tx系数不是优选的,因为它通常会导致选择次优组合。因此,本领域需要一种以更有效的方式测试和选择用于高速链路的最佳tx系数的技术。

这里引入的是用于以时间有效的方式为高速链路选择最佳tx系数的改进技术。利用tx系数空间的广泛覆盖来测试和加权相对少量的tx系数,所引入的技术可以在不花费太多时间的情况下确定最佳tx系数。

所引入的技术对覆盖tx系数空间的区域的tx系数的预置(preset)进行测试,tx系数空间的区域包括提供良好信号质量的tx系数。测试每个预置包括临时设置具有预置的发送设备的有限脉冲响应(fir)滤波器,并将训练数据从发送设备发送到接收设备(例如链路伙伴)用于每个预置。接收设备适应训练数据并测量其质量作为每个预置的品质因数(figureofmerit,fom)。

当将预置的fom读回至发送设备时,发送设备开始计算由fom加权的预置的质心。由预置的fom计算的质心称为粗质心,因为它比后来计算的另一个(精细)质心更粗糙。然后,发送设备选择tx系数空间/图中的粗质心周围的精细点。

使用与精细点相关联的tx系数,发送设备更新fir滤波器并针对每个精细点将一组训练数据发送到接收设备。与预置类似,该接收适应数据并测量每个精细点的fom。再次,回读精细点的fom,并且发送设备计算由接收的fom加权的精细点的精细质心。

发送设备确定对应于精细质心的tx系数,并使用这样的系数配置fir。如所配置的,fir滤波器最佳地均衡发送设备的输出以克服链路的不利影响。

与传统技术(例如,爬山技术)不同,其仅限于通过对给定tx系数进行增量改变来从给定tx系数中选择最佳tx系数,直到不能对输出进行改进为止,所引入的技术不仅限于它开始的那些tx系数。通过确定由其信号质量加权的起始tx系数的质心,所引入的技术还覆盖围绕起始tx系数的tx系数区域。此外,由于质心表示高质量tx系数空间的中心,所引入的技术提供了对链路中的不利影响(例如噪声)更稳定且更有弹性的tx系数。

图1示出了根据本公开的原理的计算系统100的实施例的框图。系统100是计算系统,其包括使用高速互连进行互连的各种组件设备。该系统可以在单个服务器内、跨单个机架内的多个服务器、或跨多个服务器机架实现。

计算系统100包括控制逻辑硬件110,存储器120和输入/输出(i/o)端口130。控制逻辑硬件110,例如百万存储单元或片上系统(soc),包括多个处理单元112(为清楚起见仅示出两个)。处理单元112可包括一个或多个处理器,例如中央处理单元(cpu),图形处理单元(gpu)或任何其他通用或专用处理单元。存储器120可以是随机存取存储器(ram),闪存或磁盘存储器120,其存储一个或多个软件应用程序122,例如系统驱动程序软件,当由控制逻辑硬件110执行时,可以使计算系统100中的任何组件设备以执行任何合适的功能。i/o端口130允许系统100在内部和外部进行通信。

使用相应的发射机和接收机,计算系统100的各种组件设备可以在本地(例如,在同一计算系统(例如100)内的组件设备之间)或外部(例如,与其他计算系统131的组件设备)进行通信。可以通过诸如pcie,usb和nvlinktm的高速互连进行通信。符号用于传送数据,并且信道特性限制了由于符号间干扰(isi)而成功传送符号的速率。引入的技术可以减少接收机处的isi,例如,通过使用前游标强调和后游标强调来补偿用于传输的信道的特性。引入的技术可以在系统驱动器软件中或在组件设备中的嵌入式微控制器中实现。

图2是示出一对互连设备(设备a210和设备b220)的实施例的框图。设备210、220可以位于同一计算系统中或不同计算系统中。设备210和220使用相应的发射机(tx)211、221和接收机(rx)213、223对通过链路进行通信,该链路包括信道230和反向信道235。在所示实施例中,将设备210、220视为链路伙伴,因为他们共享链路。由于链路的均衡过程由设备a210控制,因此也将设备a210认为是链路的主设备。设备a210包括fir滤波器250和包括质心计算器212和搜索引擎214的优化引擎240,以及设备b220包括信号评估器242。应当理解,包括质心计算器212和搜索引擎214的优化引擎240可以由设备a210中的处理器或其微控制器实现,信号评估器242可以由设备b220中的处理器或其微控制器实现。

使用每组发射机(前游标接头(prepostcursortap)和/或后游标接头(postcursortap))系数预置,优化引擎240配置fir滤波器250。在配置开始之前选择多个预置,例如,基于要在信道230上使用的tx系数的经验测试进行选择。从tx系数空间的tx系数图中选择预置不仅是有效元组,而且还在有效的最小和最大系数范围和信号电平限制中。预置可以包括前游标系数和/或后游标系数对,并且fir滤波器250由一对相应的前游标接头252和/或后游标接头254配置。前游标系数和后游标系数表示应用于各个接头的单位间隔延迟。

对于每个预置,设备a210经由发射机211将一组训练数据(例如,伪随机比特序列(prbs))通过信道230发送到设备b220的接收机223。设备b220适应于所接收的数据并使用信号评估器242确定每个预置的fom。例如可以通过测量每个预置的训练数据的电子表示的眼边缘(例如,高度或宽度)来确定fom。还可以通过测量每组的其他值来确定fom,例如训练数据的信噪比(snr)或误码率(ber)。fom可以是任何数字形式,只要它与tx系数空间/图具有单调关系即可。设备b220使用发射机221将每个预置的fom通过反向信道235发送到设备a210的接收机213。反向信道235不一定与信道230具有相同的类型或速度。

使用接收到的fom,质心计算器212计算由fom加权的预置的质心。通过累积预置和预置的fom之间的乘积来计算质心,该预置的fom被提升到fom权重的幂,并且将这些累积的乘积与提升到fom权重的预置的fom相除。

将从预置的fom计算的质心称为粗质心,因为它比稍后计算的另一(精细)质心更粗糙。然后,搜索引擎214在tx系数空间/图中搜索并选择粗质心周围的精细点。可以使用精细增量(delta)(例如,与粗质心相距固定距离的精细点的数目)来选择精细点,或者使用计算与粗质心的精细增量位移的等式来选择精细点。fom权重和精细增量是用于质心计算的固定参数。

使用与精细点相关联的tx系数,设备a210更新fir滤波器250并针对每个精细点向设备b220发送一组训练数据,例如prbs。类似于预置,设备b220适应数据并使用信号评估器242来获得每个精细点的接收数据的品质因数(fom)。

设备b220使用其发射机221将每个精细点的fom通过反向信道235发送到设备a210的接收机213。这次,质心计算器212计算由接收到的fom加权的精细点的精细质心。该计算类似于如上所述的粗质心计算。

搜索引擎214使用tx系数图确定对应于精细质心的tx系数。优化引擎240使用精细质心的tx系数来配置fir。如所配置的,fir滤波器250最佳地均衡设备a210的输出以克服信道230的实际效果。

在所示实施例中,计算两个质心并用于均衡。虽然计算和使用两个质心通常导致比一个质心更准确的tx系数,但是仍然可以从一个质心获得不仅找到准确但更稳定的tx系数的益处。因此,质心的数量不限于两个,并且在给定的时间约束下它可以是任何数量。

图3a和图3b是在共享链路的接收设备处探测到的来自示波器的不归零(nrz)信号301和部分响应(pr)信号302的眼图。测量#5是眼高。眼高提供了均衡眼的度量以及信道中噪声或干扰的影响。随着干扰的增加,“眼”似乎关闭并且眼高测量变得更小。随着干扰减小,眼高测量变得更大。因此,可以测量眼高并将其用作fom以用于信道上的传输质量。本领域普通技术人员可以理解,眼图中所示的其他测量(测量1-4和6-9)也可以用于导出fom用于信道上的传输质量。同样如本领域普通技术人员所理解的,眼睛特性的上述讨论同样适用于其他类型的信号,例如各种类型的脉冲幅度调制(pam)信号。

图4a示出了系数空间的发射机系数图400的实施例,其示出了发射机系数的预置460。图400示出了x轴上的后游标系数(cp1)和y轴上的前游标系数(cm1)。x和y轴的游标分配可以根据每个实现而改变。在所示的实施例中,图400上的每个点因此表示前游标和后游标的组合。图400包括有效发射机系数空间420和无效系数空间440。有效发射机系数空间420中的阴影条目460指示用于初始配置fir并确定粗质心的预置。

图4b示出了图4a中的发射机系数图400的部分450,示出了粗质心462周围的一些预置460和精细点480。质心462周围的矩形条目480表示使用精细增量参数选择的精细点480。在图4b中,基于精细增量值2在质心462周围选择了8个精细点。应当理解,系数图和空间不限于2维,并且可以使用更多维度来定义。

图5示出了用于最优地均衡共享链路(例如高速串行链路)的互连设备/单元的方法500的实施例的流程图。在共享链路的设备或单元中,其中一个启动并驱动均衡过程,例如图2中的210,在这里是指“发送设备”;另一个响应,例如图2中的220,是指“接收设备”。方法500由发送设备的处理器或微控制器执行。在一个实施例中,方法500可以是系统驱动器软件中的一系列指令,其存储在诸如图1中的120的非暂时性介质中。方法500在步骤505开始。

在步骤510中,最初使用针对正在使用的质心计算算法固定的参数来配置发送设备。参数包括tx系数的预置,质心计算的权重(权重模式,weightmode),精细点计算的增量(精细增量,finedelta),用于搜索系数图/空间的决胜局(决胜局,tiebreak),以及用于选择最近有效tx系数的舍入选项(舍入选项,roundoption)。如上所述,可以从诸如图4中的400的发射机系数图中的点中选择预置。同样在步骤510期间,执行附加约束检查,以便从预置中丢弃违反系数最小值或最大值范围和信号电平限制的tx系数。

在步骤515中,对于每个预置,发送设备将一组训练数据发送到接收设备一段时间。所发送的训练数据可以是prbs或一组加扰数据。接收设备适应所接收到的数据并测量所接收到的数据的质量。接收设备中的信号评估器,例如图2中的242,可以确定所接收到的训练数据的质量并将其量化为fom,例如图3a和图3b中的眼睛张开度量。在步骤520中,将fom读回至发送设备。在每个接收设备适配之后回读每个预置的fom。

在步骤525中,使用在步骤510中提供的fom和权重模式(权重模式,weightmode)参数,确定预置的粗质心。粗质心可以通过诸如图2中的212的质心计算器来计算。注意,计算是在回读每个fom时进行的,并且在回读所有fom之后不立即计算。这减轻了存储器的空间限制并且允许更有效地使用存储器。

对于线性加权质心,即,当将权重模式设置为线性或零时,系数空间/图中的粗质心的坐标通过下面的等式1计算:

对于fom加权质心,即,当将权重模式设置为fom或1时,坐标通过下面的等式2计算:

对于fom平方加权质心,即,当权重模式设置为fom平方或2时,坐标通过下面的等式3计算:

应当理解,权重模式不限于0,1和2,并且可以是例如任何正整数。

当所计算的质心坐标涉及分数时,可以基于所选择的舍入选项(舍入选项,roundoption)中的一个来向上或向下舍入分数,使得它们可以映射到硬件可以支持的系数空间/图中的点。例如,当选择floor()时,分数总是向下舍入;当选择ceil()时,分数总是向上舍入,当分数大于或等于0.5时,分数向上舍入,当小于0.5时分数向下舍入。

或者,当将权重模式设置为峰值搜索(peaksearch)时,步骤525通过将一个预置与另一个预置进行比较并选择具有更好fom的预置来搜索系数空间/图中的每个预置。最后剩余预置的坐标用作粗质心的坐标。可以理解,由于峰值搜索不涉及使用特定权重作为上述权重模式进行平均,因此峰值搜索可以为链路找到更好的tx系数,尤其是对于没有任何噪声或仅具有可忽略噪声的链路。

在搜索期间,当两个预置产生相同的fom时,步骤525使用决胜局选项来选择一个。例如,当“大于”用作决胜局时,当前预置的坐标将保持为“最佳”预置(具有最佳fom的预置),直到找到具有更好fom的新预置。但是当“大于等于”用作决胜局时,即使新预置的fom与当前预置的fom相同,也会选择新预置的坐标作为最佳预置。基于所使用的决胜局选项,最终结果可能偏向较早的预置,例如在“大于”决胜局下更接近起始点的预置;或者偏向更晚的(更近的)预置,例如在“大于等于”决胜局下更远离起点的预置。使用这种趋势,可以将搜索编程为以更高或更低的游标值(例如,前游标值或后游标值)创建朝向预置的偏差,使得发送设备或接收设备在均衡期间更加努力。可以推断,峰值搜索的起始点和方向(例如,x和y方向)也影响搜索所产生的偏差。

在步骤530中,使用粗质心的坐标,选择粗质心周围的精细点。步骤530可以由发射机的搜索引擎执行,例如图2中的214。

所选择的精细点的数量由下面的等式4确定:

f=(2n+1)2,其中n是在步骤510中提供的精细增量(精细增量,finedelta)参数。精细点的数量包括对应于粗质心的点。这样,当将n设置为0时,由于与粗质心的坐标对应的点计为点,因此不选择其他精细点;当n为1时,选择与质心相距固定(例如相等)距离的8个精细点;当n为2时,选择与质心相距固定距离的24个点。精细增量n不限于2,并且在一些实施例中它可以大于2。fom权重和精细增量是用于质心计算的固定参数。应当理解,也可以不同地确定所选择的精细点的数量,例如通过从其他表中查找,并且还可以使用等式来不同地确定与粗质心的精细增量位移。

在步骤535中,使用精细点配置发送设备。类似于步骤510,发送设备中的fir滤波器配置有与在步骤530选择的每个精细点相关联的tx系数。在配置fir滤波器之前,针对系数最小值或最大值范围以及信号电平限制对每个精细点进行约束检查。一旦配置,在步骤540中,发送设备针对每个精细点将训练数据(例如,prbs)发送到接收设备。

在步骤545中,接收设备适配所发送的训练数据并测量其质量。类似于步骤520,将质量表示为fom并将其回读至发射机。在每个精细点的每次适配之后回读每个fom。

在步骤550中,使用fom计算精细质心。在回读每个fom时进行计算并且在回读所有fom后不立即进行计算。类似于步骤525,可以根据权重使用等式1)-3)中的一个或使用峰值搜索的方法来计算精细质心。

在方法500中,计算并使用两个质心。质心的数量不限于两个,并且在给定的时间限制下它可以是任何数量。这样,取决于时间限制,可以针对一个质心跳过步骤530-550,或者针对三个或更多个质心重复步骤530-550。

在步骤555中,使用与精细质心的坐标相关联的tx系数,配置发送设备的fir滤波器。由于质心表示位于由加权tx系数定义的区域的中心的tx系数,因此它们不仅是高质量tx系数,而且是对噪声更具恢复性的更稳定的tx系数。

在步骤560中,使用fir滤波器,数据通过链路从发送设备发送到接收设备。fir滤波器最佳地均衡发送设备的数据,以克服链路中遇到的不利影响。方法500在步骤565处结束。

上述装置、系统或方法的一部分可以体现在各种数字数据处理器或计算机中或由各种数字数据处理器或计算机执行,其中将计算机编程或存储软件指令序列的可执行程序以执行这些方法的一个或更多个步骤。这些程序的软件指令可以表示算法并且以机器可执行的形式编码在非暂时性数字数据存储介质上,例如磁盘或光盘,随机存取存储器(ram),磁性硬盘,闪存和/或只读存储器(rom),以使各种类型的数字数据处理器或计算机能够执行一个或多个上述方法中的一个、多个或所有步骤,或本文所述的功能,系统或装置。

所公开的实施例的部分可以涉及具有非暂时性计算机可读介质的计算机存储产品,其上具有程序代码,用于执行各种计算机实现的操作,其体现装置、设备的一部分或执行本文所述的方法的步骤。这里使用的非暂时性是指除了暂时的传播信号之外的所有计算机可读介质。非暂时性计算机可读介质的示例包括但不限于:磁性介质,诸如硬盘,软盘和磁带;光学介质,如cd-rom盘;磁光介质,如光磁软盘;和专门配置用于存储和执行程序代码的硬件设备,例如rom和ram设备。程序代码的示例包括诸如由编译器产生的机器代码和包含可由计算机使用解释器执行的更高级代码的文件。

在解释本公开时,应以与上下文一致的最广泛的可能方式解释所有术语。特别地,应该将术语“包括”和“包含”解释为以非排他的方式指代元件,组件或步骤,指示可以存在,或者利用或与未明确引用的其他元素,组件或步骤组合所引用的元件,组件或步骤。

本申请所涉及领域的技术人员将理解,可以对所描述的实施例进行其他和进一步的添加,删除,替换和修改。还应理解,本文使用的术语仅用于描述特定实施方案的目的,并不旨在限制,因为本公开的范围仅受权利要求的限制。除非另外定义,否则本文使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。尽管与本文描述的那些类似或等同的任何方法和材料也可用于本公开的实践或测试,但本文描述了有限数量的示例性方法和材料。

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