CN109313616B - 异步反馈训练 - Google Patents

异步反馈训练 Download PDF

Info

Publication number
CN109313616B
CN109313616B CN201680085672.4A CN201680085672A CN109313616B CN 109313616 B CN109313616 B CN 109313616B CN 201680085672 A CN201680085672 A CN 201680085672A CN 109313616 B CN109313616 B CN 109313616B
Authority
CN
China
Prior art keywords
transmitter
receiver
training sequence
overcycle
data
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
CN201680085672.4A
Other languages
English (en)
Other versions
CN109313616A (zh
Inventor
斯坦利·艾姆斯·小拉基
达蒙·托希迪
格拉德·R·塔尔伯特
爱德华多·普莱特
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.)
ATI Technologies ULC
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
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 ATI Technologies ULC, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of CN109313616A publication Critical patent/CN109313616A/zh
Application granted granted Critical
Publication of CN109313616B publication Critical patent/CN109313616B/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • H04L1/0073Special arrangements for feedback channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica
    • H04L1/244Testing correct operation by comparing a transmitted test signal with a locally generated replica test sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/043Pseudo-noise [PN] codes variable during transmission

Abstract

描述了用于实现异步反馈训练序列的系统、设备和方法。发射器经由包括多条数据线的通信信道将训练序列指示发射到接收器。所述训练序列指示包括指示训练序列的开始的位序列。所述指示包括在长度为′N′个时钟周期的超周期的中点处从零到一的转变,接着是预定数量的一。所述训练序列指示之后接着是测试模式。所述测试模式的开始发生在超周期的结束处。所述接收器确定接收到的测试模式中是否存在任何错误,并且然后向所述发射器发送指示是否检测到任何错误的反馈。响应于接收到所述反馈,所述发射器更改对所述数据线中的一条或多条的延迟设定。

Description

异步反馈训练
背景技术
技术领域
本文所述的实施方案涉及数据通信,并且更具体地涉及执行位串行数据链路的训练。
相关领域的描述
随着应用需求和数据消耗的增加,集成电路的数据吞吐量不断增加。例如,微处理器速度的提高速率不断超过存储器速度的提高速率。增加数据发射的速率会增加用于发射和接收数据的电路的时序要求。在计算装置和计算系统中利用的许多电路中,使用全局时钟在这些电路内传输数据。例如,时钟的上升沿可以加载进入触发器中的数据,并且然后数据可以从触发器传递或处理。在一些情景中,可以使用单个时钟来锁存多个数据通道的数据总线。然而,这限制了数据总线的速度,因为时钟的转变必须用于整个数据总线,但是一些数据位相对于其它数据位来说可能需要更长的时间来使总线下变频。如果在数据通道之间的变化太大,那么可能不存在用于放置时钟边沿以在整个数据总线中正确地计时的位置。
发明内容
设想了用于执行位串行数据链路的训练的系统、设备和方法。
在一个实施方案中,实现异步反馈训练(AFT)序列以测试发射器与接收器之间的延迟设定。发射器经由具有一个或多个数据通道的通信信道耦合到接收器。发射器和接收器各自包括用于对超周期进行计数的计数器,其中单个超周期被限定为对应于较高频率系统时钟的′N′个时钟周期,其中′N′是大于1的正整数。在一个实施方案中,超周期是八个系统时钟周期长。在其它实施方案中,超周期是某些其它数量的时钟周期。
为了执行AFT序列,发射器被配置为在信道的一个或多个通道上将训练序列开始指示(或“训练序列指示”)发射到接收器。在各种实施方案中,训练序列指示包括从具有第一值的位到具有第二不同值的位的位转变、其后接着是具有第二值的预定数量的位。例如,在一个实施方案中,训练序列指示开始于一系列零,其后接着是一系列一,其中序列具有预定长度。在一个实施方案中,从一系列零到一系列一的转变发生在超周期的中点处。
在发射器将训练序列指示发送到接收器之后,发射器将测试模式发送到接收器。从训练序列指示到测试模式的转变发生在超周期边界处。在一个实施方案中,测试模式是伪随机二进制序列(PRBS)。接收器被配置为在每个超周期的结束处对信道的一个或多个数据通道的状态进行采样。接收器确定在连续超周期的结束处在两个测试之间在每个通道上是否发生转变。如果接收器确定在两个连续测试之间在给定通道上已经发生转变,那么接收器在检测到转变之后捕获测试模式预定数量的超周期。然后,接收器确定在接收到的测试模式中是否检测到任何错误。
在发射器在给定数据通道上将测试模式发送到接收器之后,发射器禁用其耦合到给定数据通道的输出缓冲器。然后,发射器等待来自接收器的关于所发射的测试模式的反馈。在接收器已经确定在测试模式中是否检测到任何错误之后,接收器向发射器发送指示在捕获到的测试模式中是否检测到任何错误的反馈。在一个实施方案中,如果接收到没有错误的数据,那么接收器将线驱动到第一极性(例如,高电压),或如果接收到具有一个或多个错误的数据,那么将线驱动到第二极性(例如,低电压)。然后,在捕获给定数据通道的状态之前,在完成发送测试模式之后,发射器等待预定数量的时钟周期。然后,发射器利用给定数据通道的捕获到的状态来确定如何调整对给定数据通道的延迟设定。
在一个实施方案中,发射器为信道的每个数据通道实现具有不同延迟设定的多个AFT序列。发射器使用来自接收器的对这些AFT序列的反馈来确定数据有效时段(或“数据眼”)的位置。在执行一系列AFT序列时,发射器识别从错误结果到无错误结果的转变,如由接收器所指示,以确定给定数据通道的数据眼的开始。然后,发射器识别从无错误结果到错误结果的转变,以确定数据眼的结束。然后,发射器获取数据眼的所识别的开始和结束的开始和结束的平均值,以确定数据眼的中心的采样点。然后,发射器将对给定数据通道的延迟设定调整到所确定的采样点。
鉴于以下对本文提出的方法的详细描述,这些和其它特征和优点将对本领域的普通技术人员变得显而易见。
附图说明
通过结合附图参考以下描述,可以更好地理解方法和机构的以上和另外优点,其中:
图1是计算系统的发射器和接收器的一个实施方案的框图。
图2是异步反馈训练序列的一个实施方案的时序图。
图3是异步反馈训练超周期计数器的一个实施方案的时序图。
图4是通信信道和发射器的一个实施方案的框图。
图5是数据眼的一个实施方案的图。
图6是说明用于实现信道的第一数据通道的异步测试序列的方法的一个实施方案的概括流程图。
图7是说明用于实现信道的第一数据通道的异步测试序列的方法的另一个实施方案的概括流程图。
具体实施方式
在以下描述中,阐述了许多具体细节以提供对本文提出的方法和机制的透彻理解。然而,本领域的普通技术人员应认识到,可以在没有这些具体细节的情况下实践各种实施方案。在一些情况下,未详细地示出所熟知的结构、部件、信号、计算机程序指令和技术以避免模糊本文所述的方法。将了解,为了简洁且清楚地说明,附图中所示的要素不一定按比例绘制。例如,一些要素的尺寸相对于其它要素被夸大。
现在参考图1,示出了说明计算系统100的发射器105和接收器110的一个实施方案的框图。发射器105经由信道155耦合到接收器110。根据实施方案,信道155包括任何数量的数据通道。信道155还包括时钟通道和/或一个或多个其它通道。计算系统100还包括时钟145、时钟150、以及一个或多个其它部件(未示出以避免模糊该图)。例如,计算系统100包括一个或多个处理单元(例如,处理器、处理器核心、可编程逻辑器件、专用集成电路)、一个或多个存储器装置和/或其它部件。一个或多个处理单元被配置为根据实施方案执行指令和/或执行一种或多种类型的计算(例如,浮点、整数、存储器、I/O)。在各种实施方案中,计算系统100的部件通过一个或多个通信总线互连。在一个实施方案中,发射器105和接收器110在处理器的存储器路径中。在各种实施方案中,耦合到处理器的存储器是双倍数据速率同步动态随机存取存储器(DDR SDRAM)。在其它实施方案中,使用其它类型的存储器装置来实现存储器。
发射器105包括耦合到信道155的缓冲器115。在一个实施方案中,缓冲器115是三态缓冲器,以用于在发射器105等待接收来自接收器110的关于异步反馈训练序列的状态的反馈时在信道155上驱动输出或形成高阻抗状态。发射器105还包括控制逻辑135,以用于产生异步反馈训练序列、控制信道155的通道的延迟设定和/或执行其它功能。发射器105还包括用于对超周期进行计数的计数器125。在各种实施方案中,超周期是′N′个时钟周期长,其中′N′是正整数。例如,在一个实施方案中,超周期是八个时钟周期长,而在其它实施方案中,超周期是多个时钟周期。在一个实施方案中,时钟145为计时计数器125提供时钟信号。
接收器110包括缓冲器120,以用于连接到信道155。在一个实施方案中,缓冲器120是三态缓冲器,以用于在接收器110从发射器105接收数据时在信道155上驱动反馈结果或形成高阻抗状态。接收器110还包括控制逻辑140,以用于检测信道155上的训练序列指示、将接收到的测试模式与预期值进行比较和/或执行其它功能。接收器110还包括用于对超周期进行计数的计数器130。在一个实施方案中,时钟150为计时计数器130提供时钟信号。在另一个实施方案中,接收器110使用在信道155上接收到的时钟信号作为用于计时计数器130的时钟信号。
在所示的实施方案中,发射器105被配置为通过信道155的一个或多个数据通道发起异步反馈训练序列。为了发起异步反馈训练序列,发射器105在被测试的每个通道上发射训练序列指示。训练序列指示包括第一多位序列,其后接着是第二多位序列,其中第一多位序列与第二多位序列具有相反极性。例如,在一个实施方案中,第一多位序列是零的序列,并且第二多位序列是1的序列。从第一多位序列到第二多位序列的转变发生在超周期的中点处。
接收器110被配置为测试在超周期边界上的每个数据通道的状态。接收器110通过检测连续测试上的电压转变并通过检测第二多位序列持续规定数量的位来检测训练序列指示。在训练序列指示之后,发射器105发射测试模式,其中测试模式开始于超周期边界上。在检测到训练序列指示之后,接收器110捕获由发射器105发送的测试模式。然后,接收器110检查捕获到的测试模式的错误。
在发送测试模式之后,发射器105禁用缓冲器115并等待接收器110发送关于捕获到的测试模式的反馈。在确定在捕获到的测试模式中是否检测到任何错误之后,接收器110启用缓冲器120并将反馈(其可以被称为“错误指示”)发送到发射器105。在一个实施方案中,反馈是单个位,其指示是否检测到任何错误。接收器110将信道155的给定数据通道上的反馈驱动到发射器105。发射器105捕获反馈,并且然后使用反馈(以及来自具有其它延迟设定的其它测试的反馈)来确定给定数据通道的数据眼。在捕获反馈之后,发射器105确定是执行另一个测试还是返回正常数据操作。在各种实施方案和情景中,同时在信道155的多个数据通道上执行多个异步反馈训练序列。
系统100代表包括发射器105和接收器110的任何类型的计算系统或计算装置。例如,在各种实施方案中,系统100是计算机、服务器、计算节点、处理器、处理装置、可编程逻辑器件、存储器装置、存储器中的处理(PIM)节点、移动装置、电视机、娱乐系统或装置和/或其它类型的系统或装置。除了发射器105和接收器110之外,系统100还包括任何数量的其它发射器和接收器。
现在转向图2,示出了异步反馈训练序列的一个实施方案的时序图200。在所示的实施方案中,异步反馈训练序列实现在发射器(例如,图1的发射器105)与接收器(例如,图1的接收器110)之间。发射器包括计数器202(Tx超周期Cnt)以对超周期进行计数,并且接收器还包括计数器210(Rx超周期Cnt)以对超周期进行计数。在一个实施方案中,超周期的长度是八个时钟周期,并且计数器是模8计数器。在其它实施方案中,超周期是除了八个之外的多个时钟周期。在所示的示例中,发射器状态204(TxAFT状态)在超周期的中点处转变到信号开始状态(信号开始)。当发射器进入信号开始状态时,发射器在超周期的中点处开始在发射数据通道206(Tx数据)上发送训练序列指示(指示符)。在一个实施方案中,训练序列指示是从二进制零到二进制一的转变,其后接着是预定数量的一。
在所示的示例中,接收器在接收器状态212(RxAFT状态)中开始,其中它正在等待检测指示符(被示示为“指示符?”)。当接收器检测到指示符时,接收器转变到等待模式状态(等待模式)。在各种实施方案中,接收器通过检测数据通道208上的从零到一的转变(Rx数据)其后接着是检测预定数量的一来检测指示符。例如,在一个实施方案中,接收器在每个超周期的结束处检查接收数据通道208的状态。如果接收器在两个连续超周期中检测到数据通道208从‘0’到‘1’的变化,那么接收器转变到等待模式状态,在此期间,它继续监视每个超周期的接收到的数据以确定是否接收到预定数量的一。如图200所示,接收器在超周期计数“i+3”的开始处转变到等待模式状态。
根据实施方案,训练序列指示具有任何长度,其中长度已被接收器所知。在从发射器向接收器发送训练序列指示之后,发射器将测试模式发送到接收器。在一个实施方案中,测试模式是伪随机二进制序列(PRBS)。一般而言,PRBS是确定性二进制序列,其表现出与随机二进制序列类似的行为。接收器接收测试模式并通过将接收到的数据与预期值进行比较来检查接收到的测试模式中是否存在任何错误。
在发送测试模式后,发射器禁用其输出缓冲器。在一个实施方案中,输出缓冲器是三态缓冲器,其在发射器已经将测试模式发送到接收器之后由发射器切换到高阻抗状态。在准备反馈的时段之后,接收器激活其输出缓冲器并将反馈发送到发射器。在一个实施方案中,反馈指示在接收到的测试模式中是否存在任何错误。在一个实施方案中,反馈是单个位。在其它实施方案中,反馈利用多个位来指示多个错误。然后,发射器接收反馈并利用反馈来确定当前延迟设定是在数据眼内部还是外部。在发射器接收到反馈之后,发射器更改一个或多个延迟设定,并且如果训练被认为是不完整的(例如,指示存在错误),那么执行另一个测试。或者,训练被认为是完整的(例如,如果指示不存在错误),并且发射器进入正常数据操作模式。
现在参考图3,示出了对应于异步反馈训练的时序图300的一个实施方案。如上所述,异步反馈训练可以使用训练序列指示符来促进发射器与接收器之间的通信。在一个实施方案中,接收器被配置为确定何时开始检查测试模式。当发射器时钟302启动时,发射器和接收器都跟踪整数倍′N′时钟边界,其中′N′存储在可编程寄存器中,并且其中′N′代表超周期中的时钟周期的数量。发射器对超周期边界进行计数,并且发射器也跟踪N/2超周期边界。在各种实施方案中,接收器仅跟踪超周期边界。在一个实施方案中,当发送训练序列指示时,发射器在半(N/2)超周期边界(即,超周期的中点)处开始发射1一的串。在超周期的中间发射指示有助于确保训练序列指示转变在接收器处完全地位于超周期边界内而不是在边界本身处。在该假设下,接收器可以从其接收到训练序列指示时对可编程(M)数量的超周期进行计数,以便确定何时开始检查测试模式。例如,发射器被编程为开始在第M个超周期的边界上发送测试模式,其中M是在一些实施方案中也可编程的整数。在其它实施方案中,M不可编程(例如,M在硬件中是固定的)。接收器类似地配置为在检测到训练序列指示之后知道测试模式将开始M个超周期。
时序图300示出了在通信信道上的状态变化之后如何发起超周期计数器的一个实施方案。如上所述,发射器具有超周期计数器304以对超周期进行计数。发射时钟302的周期被示出在发射超周期计数器304上方的行中。在一个实施方案中,一个超周期对应于发射时钟302的八个时钟周期。在这样的实施方案中,计数器是模8计数器。在其它实施方案中,超周期对应于不同数量的发射时钟周期。接收器还包括对超周期进行计数的超周期计数器308,其中超周期计数器308被示出在接收器时钟306的周期下方。
为了发起异步反馈训练测试,发射器将训练序列指示符(指示符)发射到接收器。在一个实施方案中,训练序列指示符是从零到一的转变,其后接着是预定数量的一。一的序列的长度可以根据实施方案而变化,其中接收器知道序列的长度,以便检测训练序列指示符。在一个实施方案中,从零的序列到一的序列的转变发生在由发射器的超周期计数器304确定的超周期的中点处。在检查每个超周期边界上的信道状态之后,接收器检测到该转变。例如,接收器在给定超周期边界处检测信道上的低电压,并且然后接收器在后续超周期边界处检测到信道上的高电压。响应于检测到连续超周期边界上的信道变化,接收器然后对信道上的多个后续高电压状态的数量进行计数以确定是否接收到训练模式序列。然后,在接收到规定数量的超周期和一之后,测试模式开始(假定检测到训练序列指示)。如图所示,测试模式在时序图300中的超周期边界处开始。接收器接收测试模式并检查测试模式是否存在错误。在检查测试模式的准确性之后,接收器将关于是否存在错误的反馈返回到发射器。
现在转向图4,示出了通信信道405和发射器425的一个实施方案的框图。通信信道405代表连接发射器425和接收器(未示出)的任何类型的通信信道。根据实施方案,通信信道405可以具有任何数量的数据通道415A至415L。每个数据通道415A至415L被配置为运送串行位流。通信信道405还包括时钟通道(未示出)和/或一个或多个其它通道。
在一个实施方案中,通信信道405的数据通道415A至415L被组织成数据通道的组420A至420N。优化数据通道的每个组420A至420N的布局,以便匹配给定组的每个数据通道的长度来最小化该组的信号偏斜。然后,每组数据通道耦合到对应的延迟单元435A至435N,对应的延迟单元435A至435N被配置为选择对应的组的所有数据通道的单个延迟设定。延迟单元435A至435N中的每一个被配置为独立于由其它延迟单元435A至435N选择的延迟设定来设定其数据通道组的延迟设定。例如,在一个情景中,延迟单元435A选择通道440A至440C中的每一个的单个延迟设定,而延迟单元435B选择通道440F至440H的不同单个延迟设定。在各种实施方案中,延迟单元435A至435N包括相位内插和/或其它电路,并且被配置为设定它们相应的组的延迟,其可以不同于为其它组设定的延迟。因此,延迟单元435A将单个延迟(即,相同延迟)应用于数据组420A的所有数据线415A至415C,延迟单元435B将单个延迟应用于数据组420B的所有数据线415F至415H,并且延迟单元435N将单个延迟应用于数据组420N的所有数据线415J至415L。另外,使用单独地控制的延迟元件440A至440L用另一个延迟来优化每个数据通道415A至415L。在一个实施方案中,在执行如本文所述的异步反馈训练序列之后,由延迟元件440A至440L施加的另一个水平的延迟被单独地编程。
注意,组420A至420N和延迟单元435A至435N分别代表为给定通信信道405实现的任何数量的组和延迟单元电路。在一个实施方案中,每个组420A至420N具有相同数量的数据通道。在其它实施方案中,组420A至420N中的一些组具有与来自组420A至420N的其它组不同数量的数据通道。
现在参考图5,示出了数据眼500的一个实施方案的图。数据眼500是数据有效时段的一个示例,其通过捕获信道(例如,图4的通信信道405)的数据通道上的位转变来进行监视。在一个实施方案中,发射器(例如,图4的发射器425)被配置为在不同的延迟设定下执行多个异步反馈训练序列以检测数据眼500的边界。发射器被配置为从接收器(例如,图1的接收器110)接收关于每个测试的结果的反馈。接收器在给定数据通道上驱动反馈,以指示在给定测试中是否未检测到错误,或在给定测试中是否检测到一个或多个错误。
在各种实施方案中,发射器在多个延迟设定下运行多个测试,并且当反馈从坏(即,一个或多个错误)变好(即,没有错误)时,发射器将该特定延迟设定识别为与数据眼500的打开一致510。发射器以小增量添加延迟并执行附加测试,并且当反馈从好变坏时,发射器将其识别为数据眼500的关闭520。发射器取打开510和关闭520的平均值来计算数据眼500的中心530。对应于数据眼500的中心530的延迟设定被认为是信道的给定数据通道的延迟设定。发射器对信道的每个数据通道执行这些测试。
现在转向图6,示出了用于为信道的第一数据通道执行异步训练序列的方法600的一个实施方案。出于讨论目的,以连续顺序示出了该实施方案中的步骤。应注意,在以下描述的方法的各种实施方案中,所描述的要素中的一个或多个以与所示的顺序不同的顺序同时地执行,或完全地省略。还可以根据需要执行其它附加要素。类似的替代实施方案适用于图7中所示的方法步骤。本文所述的各种系统或设备中的任一个被配置为实现方法600。
发射器利用计数器来对超周期进行计数(框605)。在各种实施方案中,超周期是′N′个时钟周期,其中′N′是正整数。例如,在一个实施方案中,超周期对应于另一个更高频率系统时钟的八个周期,而在其它实施方案中,超周期对应于不同数量的时钟周期。发射器对发射器耦合到接收器的信道的第一数据通道的第一延迟设定进行编程(或已经具有初始延迟设定)(框610)。
接着,发射器向接收器发射训练序列指示,其后接着是测试模式(框615)。在一个实施方案中,训练序列指示包括从第一二进制值到第二不同二进制值(例如,从零到一,或反之亦然)的位转变,其后接着是第二二进制值的位序列。例如,在一个实施方案中,训练序列指示开始于从零到一的转变,其后接着是一系列一。该系列一包括预定数量的位。在一个实施方案中,从零到一的转变发生在超周期的中点处,并且从训练序列指示到测试模式的转变发生在超周期的结束处。
在将测试模式发射到接收器之后,发射器禁用耦合到信道的第一通道的输出缓冲器并等待在信道的相同的第一通道上来自接收器的反馈(框620)。在各种实施方案中,反馈包括关于接收器在所发射的测试模式中是否检测到错误的指示。在一个实施方案中,发射器在完成发送测试模式之后等待预定数量的时钟周期。接着,发射器在等待预定数量的时钟周期之后捕获第一通道的状态(框625)。在一些情况下,预定数量的周期在超周期中进行指定。
接着,发射器确定是否对第一通道执行另一个测试(条件框630)。在一个实施方案中,发射器执行具有不同延迟设定的多个测试,以致力于识别第一通道的数据眼。如果发射器确定对第一通道执行另一个测试(条件框630,“是”分支),那么发射器调整对第一通道的延迟设定(框635),并且然后方法600返回框615。如果发射器确定不对第一通道执行另一个测试(条件框630,“否”分支),那么发射器利用来自测试的反馈来确定对第一通道的延迟设定(框640)。在框640之后,方法600结束。注意,发射器可以并行地对通信信道的多个数据通道执行方法600的多个实例。
现在参考图7,示出了用于实现信道的第一数据通道的异步测试序列的方法700的一个实施方案。在各种实施方案中,接收器被配置为对超周期进行计数(框705)。在一个实施方案中,单个超周期对应于具有较高时钟频率的系统时钟的′N′个时钟周期,其中′N′是正整数。例如,在一个实施方案中,超周期是八个(系统)时钟周期长,而在其它实施方案中,超周期对应于不同数量的时钟周期。
在框710中,接收器在每个超周期的结束(或边界)处对第一数据通道的状态进行采样。第一数据通道是将接收器耦合到发射器的信道的一个通道。接收器确定在两个连续测试之间在第一通道上是否检测到电压转变(例如,代表位转变)(条件框715)。如果在两个连续样本上在第一通道上检测到转变(条件框715,“是”分支),那么接收器继续对第一数据通道进行采样以确定在第一通道上是否接收到训练序列指示(条件框720)。在一个实施方案中,如果在第一通道上检测到的值与预定数量的时钟周期的预期训练序列指示匹配,那么接收器确定正在第一通道上接收训练序列指示。例如,对于训练序列指示是其后接着是预定长度的一的序列的转变的实施方案,在条件框715中,接收器监视第一通道以确定在接收器已经检测到转变之后一的序列是否继续预定长度。
如果接收器检测到第一通道上的训练序列指示(条件框720,“是”分支),那么接收器在训练序列指示结束之后开始捕获第一数据通道上的数据(框725)。在各种实施方案中,测试模式具有预定长度,并且接收器将捕获预定长度的数据。在一个实施方案中,训练序列指示在超周期边界处结束,并且测试模式在超周期边界处开始。接收器已知训练序列指示和测试模式的确切长度。如果接收器未检测到第一通道上的训练序列指示(条件框720,“否”分支),那么方法700返回到框710,接收器继续监视第一通道。
在框725之后,接收器测试捕获到的测试模式的错误(框730)。在一个实施方案中,测试模式是具有已知的位模式的预定长度的伪随机二进制序列。然后,接收器在第一通道上向发射器发送指示在捕获到的测试模式中是否检测到任何错误的指示(框735)。在框735之后,方法700返回到框710,接收器继续监视第一通道。注意,接收器可以同时对耦合在接收器与发射器之间的多个数据通道执行方法700的多个实例。
在各种实施方案中,软件应用程序的程序指令用于实现先前所述的方法和/或机制。程序指令以高级编程语言(诸如C)描述了硬件行为。或者,使用硬件设计语言(HDL),诸如Verilog。程序指令存储在非暂时性计算机可读存储介质上。有多种类型的存储介质可用。存储介质在使用期间可由计算系统访问以将程序指令和伴随数据提供到计算系统以用于程序执行。计算系统包括至少一个或多个存储器以及被配置为执行程序指令的一个或多个处理器。
应强调,上述实施方案仅是实现方式的非限制性示例。一旦完全地理解以上公开内容,许多变化和修改将对本领域的技术人员变得显而易见。旨在将以下权利要求解释为涵盖所有这些变化和修改。

Claims (8)

1.一种计算设备,所述计算设备包括:
发射器(105),其包括发射器超周期计数器(125);
接收器(110),其包括接收器超周期计数器(130);以及
通信信道(155),所述通信信道包括多个数据通道;
其中所述发射器被配置为:
接收具有第一频率的发射器时钟信号;
利用所述发射器超周期计数器维持超周期的计数,其中由所述发射器超周期计数器计数的每个超周期包括所述发射器时钟信号的偶数个多个周期;
响应于确定要发起训练序列,在所述多个数据通道中的每个通道上发射训练序列指示,其中所述训练序列指示包括从具有第一极性的位到与所述第一极性相反的第二极性的预定数量的位的转变,所述预定数量的位包括下一个超周期中的位,其中所述转变发生在由所述发射器超周期计数器确定的超周期的中点处;和
在所述训练序列指示之后,在所述多个数据通道中的每个通道上从由所述发射器超周期计数器计数的第M个超周期开始发射测试模式;并且
其中所述接收器被配置为:
接收具有所述第一频率的接收器时钟信号,所述接收器时钟信号不同于所述发射器时钟信号,其中,当所述发射器时钟信号开始时,所述发射器和所述接收器都被配置为跟踪超周期;
利用所述接收器超周期计数器维持超周期的计数,其中由所述接收器超级周期计数器计数的每个超周期包括所述接收器时钟信号的偶数个多个周期;
在由所述接收器超周期计数器计数的每个超周期结束时对所述通信信道的状态进行采样;
响应于检测到所述转变:
监视所述转变之后的位;和
响应于确定所述转变之后的所述位是所述第二极性的预定数量的位,检测训练序列的发起;
响应于检测到所述训练序列的发起:
在检测到所述训练序列的发起之后,在所述多个数据通道中的每一个通道上从由所述接收器超周期计数器计数的第M个超周期开始接收所述测试模式;以及
在所述多个数据通道中的每一个上向所述发射器传达指示在对应通道上的所述测试模式中是否检测到错误的错误指示。
2.如权利要求1所述的计算设备,其中所述发射器包括:
用于所述多个数据通道中的每一个的单独的延迟单元;以及
单个延迟单元,所述单个延迟单元被配置为将单个延迟设定应用于所述多个数据通道中的一组通道。
3.如权利要求1所述的计算设备,其中所述发射器被配置为:
在发起所述训练序列之前为所述多个数据通道中的每一个提供延迟设定;
重复地改变所述多个数据通道中的每个通道的延迟设定,并将测试模式发射到所述接收器;
基于来自所述接收器的反馈来识别无错误传输和非无错误传输之间的转变,以识别相应通道的数据眼的开始和结束;和
通过将每个通道的延迟设定为针对每个通道确定的数据眼的中心来完成所述训练序列。
4.如权利要求2所述的计算设备,其中,所述发射器超周期计数器和所述接收器超周期计数器是模N计数器。
5.如权利要求3所述的计算设备,其中,所述测试模式在所述超周期结束时开始,并且所述接收器被配置为通过使用所述训练序列指示来识别所述超周期而确定何时捕获所述测试模式序列。
6.一种用于执行位串行数据链路的训练的方法,所述方法包括:
发射器(105):
接收具有第一频率的发射器时钟信号;
利用发射器超周期计数器维持超周期的计数,其中由所述发射器超周期计数器计数的每个超周期包括所述发射器时钟信号的偶数个多个周期;
响应于确定要发起训练序列,在通信信道的多个数据通道中的每个通道上发射训练序列指示,其中所述训练序列指示包括从具有第一极性的位到与所述第一极性相反的第二极性的预定数量的位的转变,所述预定数量的位包括下一个超周期中的位,其中所述转变发生在由所述发射器超周期计数器确定的超周期的中点处;和
在所述训练序列指示之后,在所述多个数据通道中的每个通道上从由所述发射器超周期计数器计数的第M个超周期开始发射测试模式;并且
接收器(110):
接收具有所述第一频率的接收器时钟信号,所述接收器时钟信号不同于所述发射器时钟信号,其中,当所述发射器时钟信号开始时,所述发射器和所述接收器都被配置为跟踪超周期;
利用所述接收器超周期计数器维持超周期的计数,其中由所述接收器超级周期计数器计数的每个超周期包括所述接收器时钟信号的偶数个多个周期;
在由所述接收器超周期计数器计数的每个超周期结束时对所述通信信道的状态进行采样;
响应于检测到所述转变:
监视所述转变之后的位;和
响应于确定所述转变之后的所述位是所述第二极性的预定数量的位,检测训练序列的发起;
响应于检测到所述训练序列的发起:
在检测到所述训练序列的发起之后,在所述多个数据通道中的每一个通道上从由所述接收器计数器计数的第M个超周期开始接收所述测试模式;以及
在所述多个数据通道中的每一个上向所述发射器传达指示在相应通道上的所述测试模式中是否检测到错误的错误指示。
7.如权利要求6所述的方法,还包括所述发射器:
在发起所述训练序列之前为所述多个数据通道中的每一个提供延迟设定;
重复地改变所述多个数据通道中的每个通道的延迟设定,并将测试模式发射到所述接收器;
基于来自所述接收器的反馈来识别无错误传输和非无错误传输之间的转变,以识别相应通道的数据眼的开始和结束;和
通过将每个通道的延迟设定为针对每个通道确定的数据眼的中心来完成所述训练序列。
8.如权利要求7所述的方法,还包括所述接收器响应于检测到所述训练序列的发起而捕获所述测试模式。
CN201680085672.4A 2016-06-23 2016-09-08 异步反馈训练 Active CN109313616B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/191,322 US10103837B2 (en) 2016-06-23 2016-06-23 Asynchronous feedback training
US15/191,322 2016-06-23
PCT/US2016/050591 WO2017222576A1 (en) 2016-06-23 2016-09-08 Asynchronous feedback training

Publications (2)

Publication Number Publication Date
CN109313616A CN109313616A (zh) 2019-02-05
CN109313616B true CN109313616B (zh) 2024-03-29

Family

ID=60678079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680085672.4A Active CN109313616B (zh) 2016-06-23 2016-09-08 异步反馈训练

Country Status (5)

Country Link
US (1) US10103837B2 (zh)
JP (1) JP6725692B2 (zh)
KR (1) KR102429405B1 (zh)
CN (1) CN109313616B (zh)
WO (1) WO2017222576A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10541841B1 (en) * 2018-09-13 2020-01-21 Advanced Micro Devices, Inc. Hardware transmit equalization for high speed

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2432751A1 (en) * 2003-06-20 2004-12-20 Emanoil Maciu Enhanced method and apparatus for integrated alarm monitoring system based on sound related events
CN1902596A (zh) * 2003-12-31 2007-01-24 英特尔公司 串行点到点链路的可编程测量模式
CN101626352A (zh) * 2008-07-07 2010-01-13 英特尔公司 带有恒定误比特率的高速链路的可调整发射器功率
US7802153B1 (en) * 2006-12-07 2010-09-21 3Par, Inc. Trainable link
CN102577161A (zh) * 2009-10-23 2012-07-11 马维尔国际贸易有限公司 用于wlan的训练序列指示
CN104335197A (zh) * 2012-05-22 2015-02-04 超威半导体公司 用于存储器访问延迟训练的方法和装置
CN104737147A (zh) * 2012-10-22 2015-06-24 英特尔公司 高性能互连物理层
CN105122720A (zh) * 2013-02-21 2015-12-02 高通股份有限公司 用于在10gbase-t系统中数据辅助定时恢复的方法和装置
CN105677572A (zh) * 2016-02-04 2016-06-15 华中科技大学 基于自组织映射模型云软件性能异常错误诊断方法与系统
CN105706069A (zh) * 2013-09-04 2016-06-22 英特尔公司 用于未匹配信号接收器的周期训练

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141765A (en) * 1997-05-19 2000-10-31 Gigabus, Inc. Low power, high speed communications bus
US6292911B1 (en) * 1998-12-17 2001-09-18 Cirrus Logic, Inc. Error detection scheme for a high-speed data channel
US7519874B2 (en) * 2002-09-30 2009-04-14 Lecroy Corporation Method and apparatus for bit error rate analysis
KR100543925B1 (ko) * 2003-06-27 2006-01-23 주식회사 하이닉스반도체 지연 고정 루프 및 지연 고정 루프에서의 클럭 지연 고정방법
US7072355B2 (en) 2003-08-21 2006-07-04 Rambus, Inc. Periodic interface calibration for high speed communication
US7404115B2 (en) * 2004-02-12 2008-07-22 International Business Machines Corporation Self-synchronising bit error analyser and circuit
US7836386B2 (en) * 2006-09-27 2010-11-16 Qimonda Ag Phase shift adjusting method and circuit
US8065597B1 (en) * 2007-07-06 2011-11-22 Oracle America, Inc. Self test of plesiochronous interconnect
US20110040902A1 (en) 2009-08-13 2011-02-17 Housty Oswin E Compensation engine for training double data rate delays
US8681839B2 (en) * 2010-10-27 2014-03-25 International Business Machines Corporation Calibration of multiple parallel data communications lines for high skew conditions
JP2013034133A (ja) * 2011-08-02 2013-02-14 Fujitsu Ltd 送信装置、送受信システムおよび制御方法
US9413497B2 (en) * 2013-03-07 2016-08-09 Viavi Solutions Deutschland Gmbh Bit error pattern analyzer and method
GB2542148B (en) * 2015-09-09 2019-12-04 Imagination Tech Ltd Synchronising devices
US9710329B2 (en) * 2015-09-30 2017-07-18 Sandisk Technologies Llc Error correction based on historical bit error data

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2432751A1 (en) * 2003-06-20 2004-12-20 Emanoil Maciu Enhanced method and apparatus for integrated alarm monitoring system based on sound related events
CN1902596A (zh) * 2003-12-31 2007-01-24 英特尔公司 串行点到点链路的可编程测量模式
US7802153B1 (en) * 2006-12-07 2010-09-21 3Par, Inc. Trainable link
CN101626352A (zh) * 2008-07-07 2010-01-13 英特尔公司 带有恒定误比特率的高速链路的可调整发射器功率
CN102577161A (zh) * 2009-10-23 2012-07-11 马维尔国际贸易有限公司 用于wlan的训练序列指示
CN104335197A (zh) * 2012-05-22 2015-02-04 超威半导体公司 用于存储器访问延迟训练的方法和装置
CN104737147A (zh) * 2012-10-22 2015-06-24 英特尔公司 高性能互连物理层
CN105122720A (zh) * 2013-02-21 2015-12-02 高通股份有限公司 用于在10gbase-t系统中数据辅助定时恢复的方法和装置
CN105706069A (zh) * 2013-09-04 2016-06-22 英特尔公司 用于未匹配信号接收器的周期训练
CN105677572A (zh) * 2016-02-04 2016-06-15 华中科技大学 基于自组织映射模型云软件性能异常错误诊断方法与系统

Also Published As

Publication number Publication date
KR102429405B1 (ko) 2022-08-05
US10103837B2 (en) 2018-10-16
CN109313616A (zh) 2019-02-05
JP6725692B2 (ja) 2020-07-22
WO2017222576A1 (en) 2017-12-28
JP2019519029A (ja) 2019-07-04
US20170373788A1 (en) 2017-12-28
KR20190012158A (ko) 2019-02-08

Similar Documents

Publication Publication Date Title
US8862925B2 (en) Pseudo synchronous serial interface synchronization method
CN113168393B (zh) 高速的硬件传输均衡
US11805026B2 (en) Channel training using a replica lane
US20160172018A1 (en) Apparatuses and methods for capturing data using a divided clock
CN110870008B (zh) 存储器回送系统及方法
WO2014153298A2 (en) Timestamp correction in a multi-lane communication link with skew
KR20200041425A (ko) 트랜지션 검출기 및 이를 포함하는 클록 데이터 복원기
US8582706B2 (en) Training a data path for parallel data transfer
CN111917532A (zh) 用于数据测试环境中的设备和系统以及设备测试的方法
CN109313616B (zh) 异步反馈训练
US10884969B2 (en) Elastic eye widening circuit
EP3260984B1 (en) Asynchronous feedback training
US20170192830A1 (en) High-speed pseudo-random bit sequence (prbs) pattern generator, error detector and error counter
EP3260983A1 (en) Channel training using a replica lane
US10938507B2 (en) Communication apparatus
US10467171B2 (en) Detecting the drift of the data valid window in a transaction
JP2001244920A (ja) 装置間の同期回路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant