CN103516605B - 并行i/o总线接收器接口及用于校准其接收器的方法 - Google Patents

并行i/o总线接收器接口及用于校准其接收器的方法 Download PDF

Info

Publication number
CN103516605B
CN103516605B CN201310145744.8A CN201310145744A CN103516605B CN 103516605 B CN103516605 B CN 103516605B CN 201310145744 A CN201310145744 A CN 201310145744A CN 103516605 B CN103516605 B CN 103516605B
Authority
CN
China
Prior art keywords
receptor
data signal
calibration
parallel
output
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.)
Active
Application number
CN201310145744.8A
Other languages
English (en)
Other versions
CN103516605A (zh
Inventor
T·O·迪克森
F·D·费拉艾奥洛
D·J·约瑟夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103516605A publication Critical patent/CN103516605A/zh
Application granted granted Critical
Publication of CN103516605B publication Critical patent/CN103516605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Dc Digital Transmission (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明涉及一种并行I/O总线接收器接口及用于校准其接收器的方法。所述并行总线接口在总线级别采用接收器冗余以便具有N+1个接收器器件。输入交换网络被配置为接收N个并行数据信号并沿着相应路径将N个并行数据信号耦合到对应并行配置的位接收器器件,并将一个所接收的数据信号耦合到两个相邻位接收器。校准器件校准所述两个相邻位接收器之一,并且限定器件限定在由所述校准器件执行的校准过程中做出的数据决策。所述方法遍历N+1个接收器的每一个以便定期重新校准每个接收器(每次一个),其间连续且不中断地处理N个输入。配置所述接口,使得另一接收器接收与正在被校准的接收器相同的数据,并且可以以最小电路开销进行接收器校准限定。

Description

并行I/O总线接收器接口及用于校准其接收器的方法
相关申请
本申请涉及并要求2012年6月26日提交的序号为61/664,266的美国临时申请的申请日的优先权,此临时申请的所有公开内容在此全部引入作为参考。
技术领域
本公开一般地涉及高速通信接口,例如用于集成电路的高速并行总线接口,更具体地说,涉及在并行接收器接口中实现接收器冗余以使能校准并行接口中的所有接收器而不中断数据处理。
背景技术
高速串行I/O是计算系统的一个关键部分。在I/O数以千计的服务器应用中,实现低功耗、低面积I/O电路极为重要。通常在启动时校准接收器(即,确定采样时钟相位、均衡器系数、偏移设置等);但是,无法在正常接收器操作期间重新校准会使链路易受温度漂移的影响。可以采用冗余硬件实现连续链路重新校准而不中断数据传输。例如,在位接收器级别,可以包括额外并行路径以实现眼监视能力或边界采样以便计时恢复。所包括的这些路径与数据采样路径并行,数据采样路径以不中断的方式处理数据。该级别的冗余导致至少100%的硬件开销。为了减少并行接口中的开销,可以包括冗余通道。这种方法在N宽度并行接口中包括至少一个额外发送器、通道和接收器。可以包括N+1个通道以便N个通道可用于连续数据通信,而额外通道允许以“循环”方式重新校准所有通道。每种方法都将导致较高的功耗,这是由于包含的额外电路导致。后一种方法还在并行接口中需要额外C4引脚以使能额外通道。此外,需要协议开销以便安排重新校准哪个通道,以及N个通道中的哪些通道包含有关被传送的数据的信息。
非常希望仅在并行接口的接收器内采用总线级别冗余,以便允许定期重新校准所有接收器。这将避免与位接收器级别冗余关联的100%开销。此外,它将避免总线级别的与通道冗余关联的传输和通道开销。
发明内容
在一个方面,提供了一种在总线级别采用接收器冗余(“接收器影子”)而不是使用额外冗余(“影子”)通道的系统和方法。这将消除发送器和协议层中的开销,以及总线中的额外C4引脚,同时仍然使能定期重新校准总线中的所有接收器。
在一个方面,一种并行I/O总线接收器接口包括:输入交换网络,其被配置为接收N个并行数据信号并沿着相应路径将所述N个并行数据信号耦合到N+1个并行配置的位接收器器件的对应接收器器件RX,并被配置为将一个所接收的数据信号耦合到两个相邻位接收器;校准逻辑器件,其用于校准所述两个相邻位接收器之一;限定(qualification)逻辑器件,其用于限定在由所述校准逻辑器件执行的校准过程中做出的数据决策;以及输出交换网络,其被配置为将正在被校准的位接收器的输出路由到所述校准逻辑块,并同时路由所述N+1个并行配置的接收器的其余N个位接收器的输出以作为N位宽度并行数据信号输出,其中所述其余N个位接收器的一个输出端的输出被同时路由到所述限定逻辑块。
在另一方面,提供了一种用于校准并行I/O总线接收器接口的接收器的方法,所述方法包括:配置输入交换网络以便接收N个并行数据信号并沿着相应路径将所述N个并行数据信号耦合到N+1个并行配置的位接收器器件的对应接收器器件RX,其中所述交换网络被配置为将一个所接收的数据信号耦合到两个相邻位接收器;使用校准逻辑器件校准所述两个相邻位接收器之一;使用限定逻辑器件限定在由所述校准逻辑器件执行的校准过程中做出的数据决策;以及配置输出交换网络以便将正在被校准的位接收器的输出路由到所述校准逻辑块,并同时路由所述N+1个并行配置的接收器的其余N个位接收器的输出以作为N位宽度并行数据信号输出,其中所述其余N个位接收器的一个输出端的输出被同时路由到所述限定逻辑块。
附图说明
鉴于以下结合附图的详细描述,本发明的目标、特性以及优点将对本领域的技术人员变得显而易见,这些附图是:
图1示出了使用接收器冗余的并行接收器架构10的一个实施例;
图2示出了使用接收器冗余的并行接收器架构10’的一个备选实施例;
图3示出了在源同步架构中使用接收器冗余的并行接收器架构10”的一个实施例;
图4示出了在源同步架构中使用接收器冗余的并行接收器架构10”’的一个备选实施例;以及
图5A-5D是示出一种用于在第一和第二方向每次一个地校准并行接口中的所有接收器的方法的流程图;
图6A-6D是示出另一种用于仅在第一方向每次一个地校准并行接口中的所有接收器的方法的流程图;
图7示出了运行和/或实现所述实施例的总线接口方法的计算系统400的示例性硬件配置。
具体实施方式
图1示出了实现接收器影子的高速(例如,多Gb/s的速度)通信并行总线接口10以及一种用于在不降低带宽的情况下实现接收器校准的方法。
如图1中所示,接口10是并行I/O总线接口10,其包括RX1、…、RXN+1位接收器55以便接收N位数据D1、…、DN。如本领域所公知的,每个接收器RX可以包括位分割器(bit slicer)(例如,锁存器、触发器或比较器)和/或其它电路,例如模拟均衡器(例如,连续时间线性均衡器CTLE、前馈均衡器FFE或决策反馈均衡器DFE)、放大器、可变增益放大器,以及用于相对于时钟调整数据的最佳采样位置的电路(例如,延迟元件、延迟锁定环路或相位插值器)。为了优化链路性能,期望在位接收器中执行一个或多个校准操作,包括但不限于:自适应位均衡、增益调整、时钟去偏移或采样时钟相位调整以及偏移抵消。在图1中示出的非限制性实例实施方式中,可以扩展所述接口以实现N=8、16或某一倍数的并行位实施方式。并行I/O总线接口10被配置为执行连续定期校准,如下面进一步详细描述的那样。
如本领域所公知的,数据源器件(例如,诸如计算机或服务器之类的计算设备中的集成电路)包括N个发送器器件(未示出)的并行配置,这些发送器器件在N个导体(即,数据传输线路或链路15)上并行生成/驱动相应的数据信号D1、…、DN,从而形成N位宽度并行通信总线12。尽管未示出,但理解,一组发送器经由I/O端口驱动数据信号,每个I/O端口包括相应的I/O引脚(未示出),所述I/O引脚将信号耦合到其连接的数据线路15。
在接收器侧,接口10包括包含高速数字通信接收器接口组件的集成电路,其中通过总线12的数据线路15将数据位信号D1、…、DN从相应的发送器耦合到相应的I/O引脚171、…、17N,这些I/O引脚具有相应连接的阻抗匹配输入连接器或终端201、…、20N(例如,50欧姆终端电阻器或100欧姆差分终端电阻器)。每个相应的终端201、…、20N耦合到输入交换网络40,输入交换网络40包括多路复用器或选择器(MUX)电路451、…、45N+1的配置,这些电路可运行以便将输入数据信号传送到并行配置的接收器器件551、…、55N+1的对应接收器器件RX55,接收器器件551、…、55N+1从相应的数据线路15接收(即,采样)相应的数据位信号D1、…、DN
在图1的接口架构中,配置所述并行接口中的每个位接收器RX552、…、55N+1的输入端处的MUX或选择器电路452、…、45N,以便允许将来自一个引脚的数据信号路由到两个可能的位接收器。例如,分接或拆分为MUX或选择器电路451提供数据信号D1以便在接收器RX551处接收的导体25,以便MUX或选择器电路452的一个输入端也接收数据信号D1。因此,可以配置(即,通过逻辑编程或控制)所述并行接口,以便接收器RX551和RX552之一或两者接收数据信号D1。同样,分接或拆分为MUX或选择器电路452提供数据信号D2以便在接收器RX552处接收的导体,以便MUX或选择器电路453的一个输入端也接收数据信号D2。因此,可以配置所述并行接口以便接收器RX552和RX553之一或两者接收数据信号D2。将理解,在给定时刻,如果所述并行接口中的任何两个接收器被配置为接收同一数据信号,则所有其它数据信号仅可由单个接收器接收以便允许所有N个数据信号的连续数据传输。
通常,接口10架构包括用于N个数据线路的N+1个接收器,其中所述并行接口中的每个位接收器的输入端处的MUX或选择器电路允许根据接收器配置控制信号65和输入交换网络控制信号75将来自一个引脚的数据信号路由到两个位接收器之一,控制信号65和75根据编程后的接收器和校准逻辑器件60生成,如下面详细讨论的那样。
由于在所述并行接口中引入冗余位接收器(即,N+1个位接收器处理N个数据信号),因此可以校准一个位接收器(例如,更新有关最佳采样位置、均衡器系数和/或偏移补偿的信息),同时其余N个接收器可以正常运行,从而接收和恢复数据。使用输出交换网络50将适当的N个位接收的输出路由到N宽度输出数据总线Q1至QN90。此外,由于下面描述的原因,输出交换网络经由连接62将正在被校准的位接收器的输出耦合到校准逻辑块60,并且经由连接82将第二接收器的输出耦合到限定逻辑块80。
当校准位接收器时,输出交换网络50经由连接62将该位接收器的输出路由到校准逻辑60。这使得校准逻辑能够读出该位接收器对校准算法的响应,以便优化该位接收器的性能。某些接收器校准例程可能包括能够损坏或破坏该接收器正在处理的数据的处理。例如,为了测量接收器眼幅度裕度,通常需要向位分割器的输入端施加较大偏移以便折叠输入数据眼。执行该操作之后,通常测量所接收的数据的位错误率。但是,为了测量位错误率,必须知道接收的数据模式。当接收逻辑“1”位时折叠数据眼所需的偏移不同于当接收逻辑“0”位时执行相同功能所需的偏移(至少,施加的偏移符号不同,但符号和大小可能都不同)。因为在校准该位接收器的过程中损坏了所接收的数据,并且因为未先验地知道接收的数据模式,所以需要备用并行接收器检测所述数据。然后可以使用来自该并行接收器的信息限定采取相邻接收器和/或校准逻辑在位接收器校准过程中进行的数据决策。作为另一个实例,用于均衡器自适应的符号-符号最小均方(SS-LMS)算法还需要从与包括进行自适应的均衡器的路径并行的路径获得的有效数据。在图1的架构中,输入交换网络40确保第二位接收器可以接收与正在被校准的位接收器相同的输入信号。此第二位接收器可用于提供未损坏的数据,以便可以根据校准算法的需要适当地限定或过滤有关正在被校准的位接收器的测量。输出交换网络(经由连接82)将该并行接收器的输出耦合到限定逻辑80,限定逻辑80用于限定或过滤校准逻辑60可能在位接收器的正常校准期间根据需要进行的假设。将理解,为限定逻辑提供数据的接收器同时还被耦合到Q1至QN输出数据信号之一。
图2示出了并行I/O总线接口10’的一个备选实施例,并行I/O总线接口10’包括RX1、…、RXN+1位接收器55以便接收N位数据D1、…、DN。在该实施例中,在相应输入引脚171、…、17N/终端201、…、20N与输入交换网络40的对应MUX之间连接对应的放大器器件或电路301、…、30N。该放大器器件或电路301、…、30N可以用作缓冲器、可变增益放大器(VGA),并且在某些实施例中,包括诸如前馈均衡器(FFE)或连续时间线性均衡器(CTLE)之类的均衡器。
图1和图2的实施例并不是源同步架构,因为用于控制相应RX接收器计时操作的时钟在本地提供而不是源自源发送器。
图3示出了图1的并行I/O总线接口的一个备选实施例,其中在源同步I/O架构10”中提供电路以接收转发的时钟。在图3的实施例中,数据源发送器(未示出)在与多位(总线数据)D1、…、DN并行的总线20上的单独通道中广播时钟CLK信号。这种技术将缓解对高带宽时钟恢复环路的需要,因为入站数据上的计时抖动与转发的时钟上的计时抖动关联。在多Gb/s的数据速率下,接收的时钟信号与每个数据位对齐,以便总线中的所有位接收器对入站数据进行最佳采样。在源同步并行I/O总线接口10”中,通过总线12到相应I/O引脚18的时钟线路从相应发送器接收时钟(CLK)信号,相应I/O引脚18具有相应连接的阻抗匹配输入连接器或终端21(例如,50欧姆连接器)。终端21耦合到时钟接收器器件56(CLKRX)。用于调整或旋转时钟相位的机制或方法可以包括在时钟接收器器件56中,以及/或者可以包含在位接收器551至55N+1的每一个中。
此外,在另一个实施例中,源同步并行I/O总线接口10”实现全局相位插值器以便针对所有N+1个接收器设置采样时钟相位。在一个实例实施方式中,使用两(2)个相位插值器,并且假设它们的操作可以包括类似的技术,如2011年6月10日提交的序号为13/157,968的共同拥有、共同未决的美国专利申请(所有公开内容在此全部引入作为参考)中所述。
图4示出了如图3的实施例中那样使用接收器冗余的源同步并行接收器架构10”’的一个备选实施例,但是该架构被配置为包括在相应输入引脚171、…、17N/终端201、…、20N与输入交换网络40的对应MUX之间连接的对应放大器器件或电路301、…、30N,并且包括在相应输入引脚18/终端21与所述源同步实施例中的对应时钟接收器器件56(CLK RX)之间连接的另一放大器器件或电路31。
在针对图1-4描述的每个并行I/O总线接口实施例中,并且从下面描述的编程后的校准逻辑,第二接收器RX可用于提供限定或过滤来自正在被校准的相邻RX的决策所必需的数据。在图1-4中示出的接口配置中,确保另一个接收器接收与正在被校准的接收器相同的数据,以便可以进行限定。
此外,虽然使用N个引脚接收N个数据位,但图1-4的实施例还备选地被配置为接收差分数据,其中将需要2*N个引脚。此外,信号D1至DN中的数据可以在一个符号中包含多位信息,具体取决于采用的信令方案(例如,脉冲振幅调制)。
此外,在图1-4中示出的每个实施例中,每个位接收器RX为输出交换网络50提供锁存数据信号,输出交换网络50可以包括多路复用器或交换机的配置,但它可以包括(先进先出)FIFO结构,该结构允许在两个不同的时钟域之间传递数据,并且通常在逻辑时钟(用于校准逻辑块60和限定逻辑块80的时钟)不同于用于接收器的时钟时需要此结构。在上文描述的某些实施例中,输出交换网络50还可以包括字对准器,以便补偿位之间的偏斜并提供所提及的数据对齐。
此外,在图1-4中示出的实施例中,接收器校准逻辑实现算法100,其由在下文描述的伪代码表示并在图5A-5D中示出。该算法允许定期重新校准所有N+1个位接收器(每次一个),同时其它N个位接收器恢复数据。所述接收器的编程处理器器件或逻辑控制器以及校准逻辑器件(CALLOGIC)60可以实现该算法,以便通过输入交换控制信号75控制输入交换网络40并通过输出交换控制信号70控制输出网络50,以使能定期重新校准并行接口中的所有位接收器。所述算法配置输入网络40和输出交换网络50,以便根据校准过程的需要,可以将单个位接收器的输出耦合到校准逻辑60,将相邻位接收器的输出耦合到限定逻辑80,并且可以将数据从输入引脚(D1至DN)传送到对应的输出引脚90(Q1至QN)。
此外,接收器校准逻辑器件60生成并提供接收器配置控制信号65,该信号在校准过程中为接收器提供调谐参数(例如,增益设置、均衡器设置或采样相位位置)。一旦完成位接收器校准,这些调谐参数就可以被存储在逻辑寄存器(位于校准逻辑60中或相应的位接收器551至55N+1中),并保持恒定直到重新校准该接收器为止。
将理解,FIFO或字对准器的实施将取决于实施特定的情况,例如D1至DN之间的偏斜条件,以及逻辑运行所用的时钟(未示出)和接收器运行所用的时钟之间的任何频率偏移(例如,对于源同步架构的情况)。
在一个备选实施例中,接收器RX器件55可以包括解序列化器(de-serializer)元件,以便涵盖输出交换网络50被实现为低速综合逻辑(而不是高速模拟或高速定制数字逻辑)的情况。将理解,包括解序列化器将使并行输出总线Q的宽度从N增加到M*N,其中M是解序列化因子。
当执行时,下面的方法将向下步进通过接收器器件551、…、55N+1的并行配置(即,从顶部接收器“行进”到底部接收器),从而校准每个接收器,同时确保数据仍在另一个接收器上处理并传送到输出端。向下步进之后,则需要向上步进(即,从底部行进到顶部)。校准逻辑处理所有输入/输出交换网络的配置,以及个体接收器的校准。在下面的步骤2d)和3d)处执行接收器的实际校准;具有所有其它步骤以确保从输入D到输出90Q的不中断的数据传输。此校准可以包括但不限于:采样相位或计时调整、偏移补偿、均衡器自适应或重新训练、链路诊断以及眼裕度测量。
以下伪代码表示图1-4的实施例中的接口,这些接口使用N+1个接收器以便这些接收器中的一个可以被校准,同时N个接收器始终可用于接收N位数据。即,所述算法遍历N+1个接收器以便允许定期重新校准每个接收器(每次一个),同时连续且不中断地处理N个输入。
图5A-5D是示出根据一个实施例的用于在第一和第二方向每次一个地校准并行接口中的所有接收器的方法100的流程图。在第二方向的校准结束时,配置输入和输出交换网络的状态,以便使用该算法的校准可以在稍后的时间继续。
1.在步骤102(图5A),总线校准包括:
a.在105(图5A),首先配置输入交换网络以便将所有数据Dj耦合到对应的接收器RXj+1。这可以包括执行以下操作:
进入循环,其中对于j=1到N,校准逻辑(CAL LOGIC)块60配置输入交换网络40以便将Dj耦合到RXj+1
b.然后在107(图5A),执行配置输出交换网络以便将所有接收器RXj+1耦合到对应的输出数据Qj。这可以包括执行以下操作:
进入循环,其中对于i=1到N,使用控制信号70配置输出交换网络50以便将RXj+1耦合到Qj
2.启动接收器校准逻辑,包括“向下遍历”接收器,同时在过程中校准每个接收器:
即,进入循环,其中对于j=1到N,执行:
a.在109(图5A),校准逻辑块60使用控制信号75配置输入交换网络40以便将Dj耦合到RXj和RXj+1
b.在112(图5A),校准逻辑使用控制信号70配置输出交换网络50以便将RXj的输出62耦合到校准逻辑(CALLOGIC)块60;
c.在115(图5A),校准逻辑使用控制信号70配置输出交换网络50以便将RXj+1的输出82耦合到校准限定逻辑(QUALLOGIC)块80;
d.在120(图5A),校准逻辑使用控制信号65配置RX控制,以便根据任何以及所有校准算法的需要,使用来自RXj的数据和来自RXj+1的数据限定来校准RXj。将理解,虽然伪代码没有声明如何校准接收器或者校准接收器中的何种参数,但所述参数可以是均衡器设置或偏移补偿或增益设置,或者可能是采样时钟相位调整,这取决于特定的RX块配置。
e.完成120处的RXj校准,以便RXj的输出是有效数据Dj。将RXj的适当设置存储在寄存器(未示出)中。
f.在125(图5B)继续,校准逻辑使用控制信号70配置输出交换以便将RXj的输出耦合到输出Qj
g.在128(图5B),校准逻辑配置输入交换网络以便仅将Dj耦合到RXj
h.在130,递增接收器索引“j”,并且在135判定是否已经校准最后一个接收器(即,j=N+1,其中N是被校准的接收器数量);
i.在135,如果判定尚未处理最后一个接收器,则所述过程返回到步骤109(图5A),并且针对下一个接收器重复过程步骤109-135。否则,所述过程继续到步骤140(图5B),其中启动接收器校准逻辑,包括“向上遍历”接收器,同时在所述过程中校准每个接收器:
3.“向上遍历”校准过程在步骤140(图5B)继续,其中对于j=N+1到2:
a.在140(图5B),校准逻辑使用控制信号75配置输入交换网络40以便将Dj-1耦合到RXj和RXj-1
b.在143(图5B),校准逻辑使用控制信号70配置输出交换网络50以便将RXj的输出耦合到校准逻辑(CAL LOGIC)块60;
c.继续到145(图5C),校准逻辑使用控制信号70配置输出交换网络以便将RXj-1的输出耦合到校准限定逻辑(QUALLOGIC);
d.继续到150(图5C),校准逻辑使用控制信号65配置RX控制,以便根据任何以及所有校准算法的需要,使用来自RXj的数据和来自RXj-1的数据限定来校准RXj。将理解,校准接收器或接收器中的参数,所述参数例如包括但不限于均衡器设置或偏移补偿或增益设置或采样时钟相位调整,这取决于特定的RX块配置。
e.在完整的RXj校准结束时,RXj的输出是来自输入Dj-1的有效数据。将RXj的适当设置存储在寄存器中。
f.继续到153(图5C),校准逻辑配置输出交换以便将RXj的输出耦合到输出Qj-1
g.继续到155(图5C),校准逻辑配置输入交换网络以便仅将Dj-1耦合到RXj
h.在160,递减接收器索引“j”,并且在165判定是否已经校准最后一个接收器(在向上遍历中)(即,当j=1时);
i.在165(图5C),如果判定尚未处理最后一个接收器,则所述过程返回到步骤140(图5B),并且针对下一个接收器重复过程步骤140-165。否则,所述过程继续到步骤170(图5C),其中执行校准恢复。
4.完成校准之后,所述过程通过以下操作判定是否对RX1执行接收器重新校准:
a.在170,判定是否继续所有接收器重新校准;如果判定不执行重新校准,则所述过程直接继续到175(图5D)。否则,如果执行重新校准,则所述过程返回到步骤109(图5A),并且再次执行接收器校准步骤。
b.如果不执行接收器重新校准,则在175(图5D),校准逻辑使用控制信号75配置输入交换网络40以便将D1耦合到RX1和RX2
c.在180(图5D),校准逻辑使用控制信号70配置输出交换网络50以便将RX1的输出耦合到校准逻辑(CAL LOGIC)块60;
d.在183(图5D),校准逻辑使用控制信号70配置输出交换网络50以便将RX2的输出耦合到校准限定逻辑(QUALLOGIC)块80;
e.在185(图5D),校准逻辑使用控制信号65配置RX控制,以便根据任何以及所有校准算法的需要,使用来自RX1的数据和来自RX2的数据限定来校准RX1
f.完成RX1的校准以便RX1的输出是从输入D1获得的有效数据。将RX1的适当设置存储在寄存器中。
g.然后在190(图5D),校准逻辑使用控制信号70配置输出交换网络50以便将RX2的输出耦合到输出Q1
h.然后在194(图5D),校准逻辑使用控制信号75配置输入交换网络40以便仅将D1耦合到RX2
i.然后所述过程终止。
在图5A中示出的算法100中,步骤2a)至2i)中的接收器校准“循环”执行“向下遍历”,从而校准RX1,然后是RX2、RX3,一直向下到RXN。步骤3a)至3i)中的下一个接收器校准“循环”然后校准RX(N+1),并且向上遍历所有接收器,以便校准RXN、RX(N-1)等…向上回到RX2。一旦重复校准,所述过程就可以返回到步骤2的“向下遍历”过程中的“循环”,该循环然后接管RX1的下一次校准。
在一个备选实施例中,为了遍历N+1个接收器以便允许定期重新校准每个接收器(每次一个),同时连续且不中断地处理N个输入,在步骤3中的“向上遍历”过程中不校准接收器。图6A-6D中示出了对应的流程图,其是示出根据一个备选实施例的用于校准并行接口中的所有接收器的方法200的流程图。
1.在步骤202(图6A),N+1个接收器的总线校准包括:
a.在205(图6A),首先配置输入交换网络以便将所有数据Dj耦合到对应的接收器RXj+1。这可以包括执行以下操作:
对于j=1到N,校准逻辑(CAL LOGIC)配置输入交换网络以便将Dj耦合到RXj+1
b.然后在207(图6A),执行配置,对于j=1到N,配置输出交换网络以便将RXj+1耦合到Qj
2.启动接收器校准逻辑,方法是“向下遍历”接收器,同时在向下遍历过程中校准每个接收器:
即,进入循环,其中对于j=1到N:
a.在209(图6A),校准逻辑配置输入交换网络40以便将Dj耦合到RXj和RXj+1
b.在212(图6A),校准逻辑配置输出交换网络50以便将RXj的输出耦合到校准逻辑(CAL LOGIC)块60;
c.在215(图6B),校准逻辑配置输出交换网络50以便将RXj+1的输出耦合到校准限定逻辑(QUAL LOGIC)块80;
d.在220(图6B),校准逻辑使用控制信号65配置RX控制,以便根据任何以及所有校准算法的需要,使用来自RXj的数据和来自RXj+1的数据限定来校准RXj
e.完成220处的RXj校准,以便RXj的输出是从输入Dj获得的有效数据。然后将RXj的适当设置存储在寄存器中;
f.在225(图6B)继续,校准逻辑60配置输出交换网络50以便将RXj的输出耦合到输出Qj
g.在230(图6B)继续,校准逻辑配置输入交换网络以便仅将Dj耦合到RXj
h.在235继续,递增接收器索引“j”,并且在240判定是否已经校准最后一个接收器(即,j=N+1,其中N是被校准的接收器数量);
i.在238,如果判定尚未处理最后一个接收器,则所述过程返回到步骤209(图6A),并且针对下一个接收器重复过程步骤209-238。否则,所述过程继续到步骤240(图6C),其中所述方法“向上遍历”接收器,而不校准每个接收器,以确保输入/输出交换处于适当的状态以便可以重复步骤2。
3.不校准接收器的“向上遍历”过程在步骤240(图6B)继续,其中对于j=N+1到2:
a.在240(图6C),校准逻辑配置输入交换网络40以便将Dj-1耦合到RXj和RXj-1
b.在243(图6C),校准逻辑配置输出交换网络50以便将RXj的输出耦合到校准逻辑块60,并且在245,配置输出交换网络50以便将RXj-1的输出耦合到校准限定逻辑块80;
c.在248(图6C),经由输出交换网络将接收器RXj的输出耦合到输出Qj-1;以及
d.在250,校准逻辑配置输入交换网络40以便仅将Dj-1耦合到RXj
e.在260,递减接收器索引“j”,并且在265判定是否已经配置最后一个接收器(在向上遍历中)(即,当j=1时);
f.在265(图6C),如果判定尚未处理最后一个接收器,则所述过程返回到步骤240(图6C),并且针对下一个接收器重复过程步骤240-265。否则,所述过程继续到步骤270(图6D),其中判定是否继续执行所有接收器重新校准。
g.在270,判定是否继续所有接收器重新校准;如果判定不执行重新校准,则所述过程直接继续到274(图6D)。否则,如果执行重新校准,则所述过程返回到步骤209(图6A),并且根据需要对所有位接收器执行重复的定期重新校准。
h.在274(图6D),如果不执行接收器重新校准,则校准逻辑使用控制信号75配置输入交换网络40以便将D1耦合到RX1和RX2
i.在276(图6D),校准逻辑使用控制信号70配置输出交换网络50以便将RX1的输出耦合到校准逻辑(CAL LOGIC)块60;
j.在278(图6D),校准逻辑使用控制信号70配置输出交换网络50以便将RX2的输出耦合到校准限定逻辑(QUALLOGIC)块80;
k.然后在280(图6D),校准逻辑使用控制信号70配置输出交换网络50以便将RX2的输出耦合到输出Q1
l.然后在288(图6D),校准逻辑使用控制信号75配置输入交换网络40以便仅将D1耦合到RX2
m.然后所述过程终止。
图7示出了运行和/或实现在此针对图1-4描述的并行总线接口和操作方法的计算系统400的示例性硬件配置。所述硬件配置优选地具有至少一个处理器或中央处理单元(CPU)411。CPU411通过系统总线412与以下各项互连:随机存取存储器(RAM)414、只读存储器(ROM)416、输入/输出(I/O)适配器418(用于将诸如磁盘机421和磁带驱动器440之类的外围设备连接到总线412)、用户接口适配器422(用于将键盘424、鼠标426、扬声器428、麦克风432和/或其它用户接口设备连接到总线412)、通信适配器434(用于将系统400连接到数据处理网络、因特网、内联网、局域网(LAN)等),以及显示适配器436(用于将总线412连接到显示设备438和/或打印机439(例如,数字打印机等))。
如本领域的技术人员将理解的,本发明的各方面可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了在此通常可以被称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质(在介质中包含计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外线或半导体系统、装置或设备或上述任意适合的组合。所述计算机可读存储介质的更具体的实例(非穷举列表)将包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述任意适合的组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合的程序的有形介质。
计算机可读信号介质可以包括其中包含计算机可读程序代码(例如,在基带中或作为载波的一部分)的传播数据信号。此类传播信号可以采取各种形式中的任一种,包括但不限于电磁、光或其中任意适合的组合。计算机可读信号介质可以是任何不属于计算机可读存储介质并且能够传送、传播或传输由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合的程序的计算机可读介质。可以使用任何适当的介质(包括但不限于无线、线缆、光缆、RF等或上述任意适合的组合)来传输包含在计算机可读介质中的程序代码。
用于执行本发明的各方面的操作的计算机程序代码可以使用包含一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,或者可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
下面将参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明的各方面进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其它可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。这些计算机程序指令也可以被存储在能够引导计算机、其它可编程数据处理装置或其它设备以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的所述指令产生一件包括实现在一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。
所述计算机程序指令还可被加载到计算机、其它可编程数据处理装置或其它设备,以导致在所述计算机、其它可编程装置或其它设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其它可编程装置上执行的所述指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的逻辑功能(多个)的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还将指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
虽然示出和描述了被视为本发明的优选实施例的内容,但是当然理解,可以很容易地进行各种形式或细节上的修改和更改而不偏离本发明的精神。因此,本发明的范围并非旨在限于描述和示出的精确形式,而是应该被解释为包含可以落入所附权利要求的范围内的所有修改。

Claims (21)

1.一种并行I/O总线接收器接口,包括:
输入交换网络,其被配置为接收N个并行数据信号并沿着相应路径将所述N个并行数据信号耦合到N+1个并行配置的位接收器器件的对应接收器器件RX,并被配置为将一个所接收的数据信号耦合到两个相邻位接收器;
校准逻辑器件,其用于校准所述两个相邻位接收器之一;
限定逻辑器件,其用于限定在由所述校准逻辑器件执行的校准过程中做出的数据决策;以及
输出交换网络,其被配置为将正在被校准的位接收器的输出路由到所述校准逻辑块,并同时路由所述N+1个并行配置的接收器的其余N个位接收器的输出以作为N位宽度并行数据信号输出,其中所述其余N个位接收器的一个输出端的输出被同时路由到所述限定逻辑块。
2.根据权利要求1所述的并行I/O总线接收器接口,还包括:输入端,其用于从发送器接收用于对数据接收器操作计时的转发的时钟信号。
3.根据权利要求1所述的并行I/O总线接收器接口,还包括用于在每个相应路径上将所述N个数据信号驱动到所述输入交换网络的放大器电路、缓冲器电路或均衡器电路中的一个或多个。
4.根据权利要求2所述的并行I/O总线接收器接口,还包括用于在每个相应路径上将所述N个数据信号驱动到所述输入交换网络的放大器电路、缓冲器电路或均衡器电路中的一个或多个。
5.根据权利要求1所述的并行I/O总线接收器接口,其中所述输入交换网络包括:与所述N+1个并行配置的位接收器器件通信的N+1个并行配置的多路复用器MUX器件,其中将每个MUX的输入端耦合到N个并行数据信号中的一个或多个。
6.根据权利要求5所述的并行I/O总线接收器接口,其中所述校准逻辑器件发出控制信号以配置所述输入交换网络的所述N+1个并行配置的多路复用器MUX器件中的每个MUX器件,以便将所接收的N个并行数据信号传送到相应的位接收器器件,所述并行配置的MUX器件中的两个MUX器件被配置为将所接收的单个数据信号路由到所述两个相邻位接收器器件。
7.根据权利要求1所述的并行I/O总线接收器接口,其中所述校准逻辑器件发出控制信号以便配置所述N+1个并行配置的位接收器器件中的N个位接收器器件,以接收和处理所接收的相应位数据信号以作为所述N位宽度并行数据信号输出。
8.根据权利要求1所述的并行I/O总线接收器接口,其中所述校准逻辑器件发出控制信号以便配置所述输出交换网络,以提供所述N位宽度并行数据信号输出。
9.根据权利要求1所述的并行I/O总线接收器接口,其中所述校准逻辑器件发出控制信号以便执行所述N+1个并行配置的位接收器器件中的每个位接收器器件的定期重新校准。
10.一种用于校准并行I/O总线接收器接口的接收器的方法,所述方法包括:
配置输入交换网络以便接收N个并行数据信号并沿着相应路径将所述N个并行数据信号耦合到N+1个并行配置的位接收器器件的对应接收器器件RX,其中所述交换网络被配置为将一个所接收的数据信号耦合到两个相邻位接收器;
使用校准逻辑器件校准所述两个相邻位接收器之一;
使用限定逻辑器件限定在由所述校准逻辑器件执行的校准过程中做出的数据决策;以及
配置输出交换网络以便将正在被校准的位接收器的输出路由到所述校准逻辑块,并同时路由所述N+1个并行配置的接收器的其余N个位接收器的输出以作为N位宽度并行数据信号输出,其中所述其余N个位接收器的一个输出端的输出被同时路由到所述限定逻辑块。
11.根据权利要求10所述的用于校准接收器的方法,还包括:从发送器接收用于对所述接口处的接收器操作计时的转发的时钟信号。
12.根据权利要求10所述的用于校准接收器的方法,还包括:提供用于在每个相应路径上将所接收的N个数据信号驱动到所述输入交换网络的放大器电路、缓冲器电路或均衡器电路中的一个或多个。
13.根据权利要求11所述的用于校准接收器的方法,还包括:提供用于在每个相应路径上将所接收的N个数据信号驱动到所述输入交换网络的放大器电路、缓冲器电路或均衡器电路中的一个或多个。
14.根据权利要求10所述的用于校准接收器的方法,其中所述输入交换网络包括:与所述N+1个并行配置的位接收器器件通信的N+1个并行配置的多路复用器MUX器件,其中将每个MUX的输入端耦合到所述N个并行数据信号中的一个或多个。
15.根据权利要求14所述的用于校准接收器的方法,还包括:
由所述校准逻辑器件发出控制信号以执行所述N+1个并行配置的位接收器器件中的每个位接收器器件的定期重新校准。
16.根据权利要求15所述的用于校准接收器的方法,其中所发出的用于执行定期重新校准的控制信号进一步包括:用于配置所述输入交换网络的所述N+1个并行配置的多路复用器MUX器件中的每个MUX器件,以将所接收的N个并行数据信号传送到相应的N个位接收器器件,从而提供所述N位宽度并行数据信号输出的控制信号,所述并行配置的MUX器件中的两个MUX器件被配置为在每个周期中将所接收的单个数据信号路由到两个不同的相邻位接收器器件。
17.根据权利要求15所述的用于校准接收器的方法,其中所发出的用于执行定期重新校准的控制信号进一步包括:用于配置所述N+1个并行配置的位接收器器件中的N个位接收器器件,以接收和处理所接收的相应位数据信号以作为所述N位宽度并行数据信号输出的控制信号。
18.根据权利要求15所述的用于校准接收器的方法,其中所发出的用于执行定期重新校准的控制信号进一步包括:用于配置所述输出交换网络以耦合相应的N个位接收器器件输出端,从而提供所述N位宽度并行数据信号输出的控制信号。
19.根据权利要求15所述的用于校准接收器的方法,还包括:
配置所述输入和输出交换网络以便:在从1到N+1的第一方向遍历所述N+1个位接收器,以对接收N个数据信号的所述N+1个接收器执行所述校准,以便在同时提供所述N位宽度并行数据信号输出的期间,允许定期重新校准每个接收器。
20.根据权利要求19所述的用于校准接收器的方法,还包括:
配置所述输入和输出交换网络以便:在从N+1到1的第二方向遍历所述N+1个位接收器,以对接收N个数据信号的所述N+1个接收器执行所述校准,以便在同时提供所述N位宽度并行数据信号输出的期间,允许定期重新校准每个接收器。
21.根据权利要求19所述的用于校准接收器的方法,包括配置所述交换网络以返回从N+1到1来遍历接收器,以便以所述第一方向执行N+1个位接收器的下一次校准。
CN201310145744.8A 2012-06-26 2013-04-24 并行i/o总线接收器接口及用于校准其接收器的方法 Active CN103516605B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261664266P 2012-06-26 2012-06-26
US61/664,266 2012-06-26
US13/736,320 2013-01-08
US13/736,320 US9001842B2 (en) 2012-06-26 2013-01-08 Parallel receiver interface with receiver redundancy

Publications (2)

Publication Number Publication Date
CN103516605A CN103516605A (zh) 2014-01-15
CN103516605B true CN103516605B (zh) 2016-12-28

Family

ID=49774415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310145744.8A Active CN103516605B (zh) 2012-06-26 2013-04-24 并行i/o总线接收器接口及用于校准其接收器的方法

Country Status (2)

Country Link
US (1) US9001842B2 (zh)
CN (1) CN103516605B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9536626B2 (en) * 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US9189163B2 (en) * 2013-12-10 2015-11-17 Sandisk Technologies Inc. Dynamic interface calibration for a data storage device
CN105512076B (zh) * 2015-12-10 2018-08-24 湖南中车时代通信信号有限公司 一种系统识别方法
US20230305979A1 (en) * 2022-03-25 2023-09-28 Advanced Micro Devices, Inc. Periodic receiver clock data recovery with dynamic data edge

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072355B2 (en) * 2003-08-21 2006-07-04 Rambus, Inc. Periodic interface calibration for high speed communication
CN102457285A (zh) * 2010-10-27 2012-05-16 国际商业机器公司 用于多个并行数据通信线路的校准的通信接口和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978335A (en) * 1996-06-28 1999-11-02 Ibm Integrated calibration apparatus for a multi-mode information storage system
US6317442B1 (en) 1998-01-20 2001-11-13 Network Excellence For Enterprises Corp. Data switching system with cross bar transmission
GB2336075B (en) 1998-03-30 2002-12-04 3Com Technologies Ltd Method and apparatus for the phase alignment of data in high-speed parallel data buses using adjustable high frequency sampling clocks
BR0306985A (pt) 2002-07-23 2005-05-03 Samsung Electronics Co Ltd Estrurura de indexação de meta-dados divididos em fragmentos, estrutura de indexação de chave múltipla e mìdia passìvel de leitura por computador
EP1892877B1 (en) 2006-08-25 2008-12-03 Alcatel Lucent Digital signal receiver with Q-monitor
US8082474B2 (en) 2008-07-01 2011-12-20 International Business Machines Corporation Bit shadowing in a memory system
EP2207315B1 (en) 2009-01-09 2012-03-07 Alcatel Lucent Transmission of parallel data flows on a parallel bus
US8774228B2 (en) 2011-06-10 2014-07-08 International Business Machines Corporation Timing recovery method and apparatus for an input/output bus with link redundancy

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072355B2 (en) * 2003-08-21 2006-07-04 Rambus, Inc. Periodic interface calibration for high speed communication
CN102457285A (zh) * 2010-10-27 2012-05-16 国际商业机器公司 用于多个并行数据通信线路的校准的通信接口和方法

Also Published As

Publication number Publication date
US9001842B2 (en) 2015-04-07
CN103516605A (zh) 2014-01-15
US20130343401A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
CN102457285B (zh) 用于多个并行数据通信线路的校准的通信接口和方法
US10355888B2 (en) Selectabe-tap equalizer
US8275027B2 (en) Multi-mode transmitter
CN103516605B (zh) 并行i/o总线接收器接口及用于校准其接收器的方法
US9559880B1 (en) Eye modulation for pulse-amplitude modulation communication systems
US9071479B2 (en) High-speed parallel decision feedback equalizer
US9935800B1 (en) Reduced complexity precomputation for decision feedback equalizer
JP2007503630A (ja) 高速通信用の周期的インターフェース較正
US7860472B2 (en) Receiver circuit and receiver circuit testing method
US20090225900A1 (en) Data transmitting circuit and transmitting method
US11128497B1 (en) Decision feedback equalizer with fractional tap unrolling
US20080192640A1 (en) Loopback Circuit
US8861667B1 (en) Clock data recovery circuit with equalizer clock calibration
US11570024B2 (en) Equalizer with perturbation effect based adaptation
US11171815B2 (en) Digital equalizer with overlappable filter taps
US7362800B1 (en) Auto-configured equalizer
US20130343402A1 (en) Fault tolerant parallel receiver interface with receiver redundancy
WO2004008490A2 (en) A selectable-tap equalizer, auto-configured equalizer, receiving circuit having an equalizer calibration function, and system having grouped reflection characteristics
JP2017112512A (ja) 適応等化器
US9484967B1 (en) Method for duty cycle distortion detection through decision feedback equalizer taps
US20120039413A1 (en) Multiple Gigahertz Clock-Data Alignment
Krishna Gigabit Transceivers
CN115883048A (zh) 时钟校准模块、高速接收器及与其相关的校准方法

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