CN116318601A - 用于高速信令互连的帧对齐恢复 - Google Patents

用于高速信令互连的帧对齐恢复 Download PDF

Info

Publication number
CN116318601A
CN116318601A CN202211411746.2A CN202211411746A CN116318601A CN 116318601 A CN116318601 A CN 116318601A CN 202211411746 A CN202211411746 A CN 202211411746A CN 116318601 A CN116318601 A CN 116318601A
Authority
CN
China
Prior art keywords
data
bits
received
shifted
determining
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.)
Pending
Application number
CN202211411746.2A
Other languages
English (en)
Inventor
S·库马尔
I·查达
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN116318601A publication Critical patent/CN116318601A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • 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/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本公开涉及用于高速信令互连的帧对齐恢复。一种***包括耦合到具有一个或更多个通路的链路的第一设备和第二设备。第一设备用于发送两个或更多个帧以同步一个或更多个数据通路,其中每个帧包括一定数量的比特。第二设备用于从每个数据通路接收与所述两个或更多个帧中的每个帧中的比特数量相对应的第一组比特。第二设备用于确定从一个或更多个数据通路中的数据通路接收的第一组比特不与两个或更多个帧的帧边界相对应。第二设备进一步用于响应于确定第一组比特不与帧边界相对应,使一个或更多个数据通路中的每个数据通路相对于帧边界同步。

Description

用于高速信令互连的帧对齐恢复
技术领域
至少一个实施例涉及用于执行和促进高速通信的处理资源。例如,至少一个实施例涉及用于地面参考信令(GRS)互连中的帧对齐恢复的技术。
背景技术
通信***经由通信通道或介质(例如,电缆、印刷电路板、链路、无线等)将信号从发送器传输至接收器。为了确保数据在芯片至芯片(C2C)通信时可靠地传送,可以在传送数据之前对通信***进行训练。例如,通信***可被训练成使得在接收器处接收的数据被同步。一些通信***可以尝试通过发送帧符号并使用去偏离(de-skewing)先进先出(FIFO)组件来同步在接收器处接收到的数据以进行连续帧对齐。这样的传统方法可以降低数据传输速率并降低数据带宽。这种传统方法还可导致在每次停止和重新开始数据传输时重复同步过程。
附图说明
将参考附图描述根据本公开的各个实施例,在附图中:
图1是根据至少一些实施例的采用用于帧对齐恢复的方法的示例通信***;
图2示出了根据至少一些实施例的采用用于帧对齐恢复的方法的示例通信***;
图3是根据至少一些实施例的采用用于帧对齐恢复的方法的示例通信***;
图4是根据至少一些实施例的用于高速互连***的帧对齐恢复的方法的示图;
图5是根据至少一些实施例的用于帧对齐恢复的方法的流程图;
图6是根据至少一些实施例的用于高速互连***的帧对齐恢复的方法的流程图;
图7示出了根据至少一些实施例的包括收发器的示例计算机***,该收发器包括用于帧对齐恢复的芯片至芯片互连。
具体实施方式
通信***经由通信通道或介质(例如,电缆、印刷电路板、链路、无线等)将信号从发送器传输至接收器。在一些通信***中,从发送器发送的数据当在接收器处接收时,可能会偏离或未对齐。这可能导致数据被损坏,并且数据传输在***中可能是不可靠的。通信***可以是转发时钟架构的示例。例如,通信***可以包括第一设备(例如,第一集成电路(IC)或芯片)和第二设备(例如,第二IC或芯片)并且经由地面参考信令(GRS)链路通信数据,例如通信***可以是与包括发送器和接收器的两个设备的芯片至芯片(C2C)互连。第一设备可发送相对于第一时钟信号成帧的数据,并且还向第二设备发送与链路相关联的第二时钟信号—例如,发送器可根据第一时钟信号将数据成帧,而链路可根据第二时钟信号传输数据—例如,可使用固定长度的帧传输数据,每个帧包括相同数量的比特。第二设备可以划分第二时钟信号并尝试恢复原始的第一时钟信号(例如,生成恢复的时钟信号)以确定所接收的数据的帧边界。在一些实施例中,第一设备和第二设备可以是异步的。在这样的实施例中,时钟相位对齐对于第一设备和第二设备可以是不同的。例如,在转发时钟通信***中,第一设备的发送器时钟可相对于在第二设备处生成的恢复时钟未对齐—例如,因为第一设备和第二设备是异步的,所以可任意对齐发送器时钟和接收器处的恢复时钟。
此外,该链路的每条数据通路可以具有不同的物理特性——例如,由于链路的制造过程中的偏差,印刷电路板上的每条迹线可能不同于其他迹线。因此,在链路的一个数据通路处接收的数据可相对于链路的其他数据通路未对齐或偏离—例如,由于制造偏差,第一数据通路可在第二通路之前接收数据。一些通信***可传输成帧符号并使用去偏离先进先出(FIFO)组件来指示数据传输的开始或用于对齐所接收的数据的消息。但是,传输成帧符号会消耗额外的功率,增加延迟,并减少数据带宽。进一步,在这样的通信***中,帧对齐可以发生在每次数据传输停止之后,从而导致在每次传输数据时引起延迟增加。例如,通信***可在每次传输新数据时使用成帧符号。
有利地,本公开的各方面可以通过提供一种用于通过在接收器中利用移位逻辑进行帧对齐的方法来解决上述缺陷和其他挑战。接收器可使用移位逻辑来相对于帧边界同步链路的每一数据通路。接收器还可使用移位逻辑来跨所有数据通路同步帧边界——例如,确保数据通路都相对于相同帧边界同步。例如,在初始化期间(例如,在发送数据之前),第一设备可以向第二设备发送所存储的非混叠重复模式—例如,可以利用非混叠重复模式来编程与每个设备中的链路相关联的组件,使得任一个设备可以检测重复模式。第二设备的接收器可通过将传入比特与所存储的重复模式相比较来确定在每个通道处接收的模式是否相对于帧边界同步。如果接收器确定在相应数据通路处的传入比特不对应于帧边界,则接收器可以将传入比特移位一个或更多个单位间隔(UI),直到传入比特确实对应于帧边界—例如,第二设备可以将传入模式移位一(1)个UI,确定经移位的模式是否对应于帧边界,并且如果不对应,则继续移位一(1)个UI,直到传入模式对应于帧边界。第二设备可以针对所有数据通路这样做,直到每个数据通路相对于帧边界同步。
在相对于帧边界同步之后,第一设备可以在每个数据通路发送计数模式(例如,递增或递减计数模式)。第二设备可以在每个数据通路处接收计数模式并且确定跨数据通路接收的最早计数值。因此,第二设备可以确定哪些数据通路相对于其他数据通路不同步。接收器可以通过增加一个或更多个突发长度(BL)来移位在接收到与最早计数值不同的计数值的数据通路处的传入计数模式,直到每个数据通路接收到相同的计数值。例如,第一数据通路可接收计数值二(2),第二数据通路可接收计数值四(4)。如果接收器接收到递增模式,则计数值(2)可被认为是最早值。在这种实施例中,第二数据通路接收计数值四(4)比第一数据通路接收二(2)更快。因此,第二设备可以将第二数据通路处的计数模式移位两个(2)突发长度(例如,将第二通路延迟两个(2)突发长度)以匹配在第一数据通路处接收的计数模式。如果接收器接收到递减模式,则计数值四(4)可被认为是最早值。在这样的实施例中,第二设备可以将第一数据通路处的计数模式移位两个(2)突发长度(例如,将第二通路延迟两个(2)突发长度)以匹配在第二数据通路处接收的计数模式。在任一情况下,第二设备可以将突发长度偏移移位或添加到更快的数据通路以跨数据通路同步。因此,每一数据通路可相对于相同的帧边界同步。如本文所描述的,通信***还可以对从第二设备发送至第一设备的数据执行帧对齐。
通过利用重复模式和计数模式,通信***可以对齐在接收器处接收的帧。此外,与针对每次数据传输发送成帧符号相比,通信***可通过利用重复模式和计数模式一次来增加数据带宽、减少延时并减少功耗。因而,本申请的实施例允许用于高速互连***中的帧对齐恢复的更可靠的方法。
图1示出了根据至少一个示例性实施例的示例通信***100。***100包括设备110、包括通信通道109的通信网络108、以及设备112。在至少一个实施例中,设备110和112是计算***中的两个端点设备,诸如中央处理单元(CPU)或图形处理单元(GPU)。在至少一个实施例中,设备110和112是两个服务器。在至少一个示例实施例中,设备110和112对应于个人计算机(PC)、膝上型计算机、平板计算机、智能电话、服务器、服务器集合等中的一个或更多个。在一些实施例中,设备110和112可以对应于与连接至普通类型的通信网络108的其他设备进行通信的任何适当类型的设备。根据实施例,设备110或112的接收器104可以对应于GPU、交换机(例如,高速网络交换机)、网络适配器、CPU、存储器设备、输入/输出(I/O)设备、片上***(SoC)上的其他***设备或组件、或接收或测量信号的其他设备和组件等。作为另一特定但非限制性示例,设备110和112可对应于向用户设备、客户端设备或***100中的其他主机提供信息资源、服务和/或应用的服务器。
可以用于连接设备110和112的通信网络108的示例包括互联网协议(IP)网络、以太网、无限带宽(IB)网络、光纤通道网络、互联网、蜂窝通信网络、无线通信网络、地面参考信令(GRS)链路、其组合(例如,以太网光纤通道)、其变体等。在一个特定但非限制性示例中,通信网络108是能够使用数据信号(例如,数字、光学、无线信号)在设备110和112之间进行数据传输的网络。
设备110包括用于发送和接收信号(例如,数据信号)的收发器116。数据信号可以是用数据或用于携带数据的其他合适信号调制的数字或光信号。
收发器116可以包括数字数据源120、发送器124、接收器104、以及控制收发器116的处理电路132。数字数据源120可包括用于以数字格式(例如,以二进制代码和/或温度计码)输出数据的合适硬件和/或软件。由数字数据源120输出的数字数据可从存储器(未示出)检索或根据输入(例如,用户输入)生成。
发送器124包括用于从数字数据源120接收数字数据并且根据该数字数据输出数据信号以便通过通信网络108传输至设备112的接收器104的合适的软件和/或硬件。以下参考附图更详细地讨论发送器124的结构的附加细节。
设备110和112的接收器104可以包括用于从通信网络108接收信号(如数据信号)的适当的硬件和/或软件。例如,接收器104可包括用于接收处理信号以提取用于存储在存储器中的数据的组件,如以下关于图2-图4详细描述的。在至少一个实施例中,接收器104可以包括移位逻辑115。在一些实施例中,移位逻辑115可以将在通信网络108的每个数据通路处接收的比特移位一个或更多个单位间隔(UI)或一个或更多个突发长度(BL)。例如,训练逻辑117可以被配置成发起帧对齐(例如,帧恢复训练)。在这样的实施例中,接收器104可以在每个数据通路处从设备112接收非混叠重复模式。接收器104可以将每个数据通路处的重复模式与训练逻辑117处的所存储的重复模式进行比较。如果数据通路处的重复模式与存储重复模式不匹配,则移位逻辑115可以将重复模式移位一个或更多个UI直到所接收的重复模式与存储的模式匹配。训练逻辑117然后可以继续将每个数据通路与相同的帧边界对齐。例如,接收器104可以在每个数据通路处接收计数模式并且确定哪个数据通路最早地接收数据。在每个数据通路处的移位逻辑115可以将所接收的值与最早值进行比较,并且移位一个或更多个BL,直到在数据通路处接收的计数模式与最早值匹配——例如,移位逻辑115可以将突发长度移位添加到更快的与最慢数据通路匹配的数据通路。参考图2至图6描述了关于帧对齐的附加细节。
处理电路132可以包括软件、硬件或其组合。例如,处理电路132可包括包含可执行指令的存储器和执行存储器上的指令的处理器(例如,微处理器)。存储器可对应于被配置为存储指令的任何合适类型的存储器设备或存储器设备的集合。可使用的合适存储器设备的非限制性示例包含闪存、随机存取存储器(RAM)、只读存储器(ROM)、其变体、其组合等。在一些实施例中,存储器和处理器可以被集成到公共设备中(例如,微处理器可以包括集成存储器)。附加地或可替代地,处理电路132可包括硬件,诸如专用集成电路(ASIC)。处理电路132的其他非限制性示例包括集成电路(IC)芯片、中央处理单元(CPU)、通用处理单元(GPU)、微处理器、现场可编程门阵列(FPGA)、逻辑门或晶体管的集合、电阻器、电容器、电感器、二极管等。处理电路132中的一些或全部可设置在印刷电路板(PCB)或PCB的集合上。应当理解,任何适当类型的电气部件或电气部件的集合可以适用于包括在处理电路132中。处理电路132可向收发器116的其他元件发送信号和/或从其他元件接收信号,以控制收发器116的总体操作。
收发器116或收发器116的所选元件可以采取设备110的可插拔卡或控制器的形式。例如,收发器116或收发器116的所选元件可在网络接口卡(NIC)上实施。
设备112可以包括用于通过通信网络108的通道109发送和接收信号(例如,数据信号)的收发器136。收发器116的相同或相似结构可以应用于收发器136,并且因此,不单独描述收发器136的结构。
尽管未明确示出,但应理解的是,设备110和112以及收发器116和120可以包括通常与计算任务(如发送和接收数据)相关联的其他处理设备、存储设备和/或通信接口。
图2示出了根据至少一个示例性实施例的示例通信***200。***200包括如参考图1所描述的设备110和设备112。设备110和设备112可包括发送器124和接收器104,如参考图1所述。设备110和设备112可以耦合到链路220。在至少一个实施例中,链路220可以是如参考图1所描述的通信网络108的示例。在至少一个实施例中,链路220可以是高速互连的示例。例如,链路220可以是地面参考信令(GRS)链路220的示例。在实施例中,GRS链路220可以是用于设备110和112之间的串行数据传输的信令方案。在至少一个实施例中,GRS链路220在进行高速通信时可以是频率为20GHz的高速链路(例如,每秒传输40千兆比特(GBPS))。在至少一个实施例中,链路220可以包括RC为主的通道和LC传输线。此外,GRS链路220可以是片上链路、跨基板(例如,有机封装)的链路、或印刷电路板(PCB)上的链路信令。在一些示例中,GRS链路220可以使用接地网络作为信号参考电压——例如,接地可以是返回信令。
在至少一个实施例中,链路220可包括被配置为在设备110和设备112之间传输信号、数据、消息等的数据通路202和数据通路203。例如,数据通路202可以与从设备110到设备112的传送信号、数据或消息相关联,而数据通路203可以与从设备112到设备110的传送信号、数据或消息相关联-例如,数据通路202可以与设备110的发送器124相关联,而数据通路203可以与设备112的发送器相关联。在至少一个实施例中,链路220可以包括相同数目的数据通路202和数据通路203。在该实施例值,数据通路202可以与数据通路203相关联—例如,数据通路202-a和数据通路203-a可以是单个发送器/接收器数据通路对。在至少一个实施例中,链路220可以包括“N”个数据通路对——例如,“N”个数据通路202和数据通路203。在一些实施例中,数据通路202可与转发时钟通路205-a相关联,而数据通路203可与转发时钟通路205-b相关联。在至少一个实施例中,每个时钟通路可以与两个或更多个数据通路(例如,至少两个数据通路202或数据通路203)相关联。在至少一个实施例中,数据通路202将数据传输到设备112。在这样的实施例中,数据被锁存在设备112的接收器104处的转发时钟上。在一些实施例中,数据通路202和对应的数据通路203是相同的——例如,每个数据通路202和对应的数据通路203支持相同的信令速度并且包括相同的驱动器和硬件。
在至少一个实施例中,发送器124可以包括串行器205,并且接收器104可以包括解串器210。在这样的实施例中,串行器205可以对存储在设备110或设备112处的并行数据进行串行化,并且通过链路112传输经串行化的数据。例如,串行器205数据可以串行化比特215-a至215-n以用于跨数据通路203-n传输——例如,串行化“B”数个并行比特以供传输。在这种示例中,突发长度可以等于传输的“B”数个比特—例如,在发送器的一个时钟周期内发送的比特数。在一些实施例中,每个数“B”可以被称为一个帧。在一些实施例中,发送器124可在周期为“T”的第一时钟(例如,发送器时钟)发送比特215-a至215-n。串行器205可以在周期为2T/B的第二时钟串行化数据。即,发送器104的时钟可比与通过链路220传输数据相关联的第二时钟慢。串行器205可以在数据通路203-n上将比特215-a到215-n从设备112向设备110串行地传输。在一些实施例中,串行器205可以在一个单位间隔(UI)期间传输“B”数个比特中的一个比特(例如,比特215-a)—例如,在第一UI期间传输比特215-a。发送器还可以跨时钟通路205-b传输第二时钟——例如,与链路220相关联的时钟。
接收器104可包括解串器210以将从链路220接收的数据解串。即,解串器210可恢复并行数据比特215-a到215-n。为了对数据进行解串,解串器210可以被配置成对从时钟通路205-b接收的第二时钟进行分频以恢复第一时钟——例如,发送器时钟。例如,解串器210可划分第二时钟以产生恢复的并行时钟。在设备110和设备112是异步的实施例中(例如,设备110的发送器时钟与设备112的恢复时钟任意对齐),恢复时钟可以与第一时钟同相失准。因此,通信***200可在将数据从设备110传输到设备112或从设备112传输到设备110之前执行帧对齐恢复训练。例如,通信***200可利用两阶段(例如,两阶段或两遍)帧对齐恢复训练。在这样的示例中,设备112可以在第一阶段期间在每个数据通路203处将非混叠重复模式发送至设备110。接收器104可将每一数据通路203处的传入非混叠重复模式与所存储的重复模式进行比较(例如,设备112可发送已知或存储在设备110和设备112两者处的重复模式)。如果在数据通路203处接收到的模式不同于所存储的模式,则接收器可以将传入比特移位一个或更多个UI,如参照图3至图5所描述的,直到每个数据通路相对于帧边界同步。设备112然后可以在第二阶段期间在每个数据通路203处发送计数模式(例如,递增计数模式或递减计数模式)。接收器104可以比较在每个数据通路203处接收的值,并且如参考图3至图5所描述的移位一个或更多个BL,直到每个数据通路相对于同一帧边界同步——例如,每个数据通路接收相同的计数值。
图3示出了根据至少一个示例性实施例的示例通信***300。在至少一个实施例中,通信***300是如参照图1和图2所描述的通信***100或200的示例。***300包括如参考图1所描述的设备110和设备112。设备110和设备112可耦合至如参考图2所描述的链路220—例如,GRS链路220。设备110可以包括如参考图1所描述的发送器124,并且设备112可以包括如参考图1所描述的接收器104。在至少一个实施例中,接收器104中示出的组件可被视为参照图1描述的移位逻辑115的一部分。尽管图3示出了设备110中的发送器124和用于设备112的接收器104,但是设备112可包括发送器124,并且设备110可包括接收器104,如参考图2所述。发送器124可包括模式生成器305。接收器104可包括用于每个数据通路203的数据通路逻辑305——例如,用于数据通路202-a的数据通路逻辑305-a、用于数据通路202-b的数据通路逻辑305-b等。在至少一个实施方式中,接收器104可耦合至训练逻辑115或者以其他方式从处理电路132接收信号,如参考图1所述。
在一些实施例中,设备110和设备112可以执行帧对齐恢复,如参考图2所描述的。在这种实施例中,设备110或设备112的训练逻辑115可以发起帧对齐恢复作为初始化序列的一部分。在一些实施例中,训练逻辑115可以向模式生成器305指示从帧对齐恢复的第一阶段转换到帧对齐恢复的第二阶段——例如,从发送重复模式转换到计数模式。例如,设备112的训练逻辑110可选择要发送至设备110的消息,指示设备112完成第一阶段并且转换到第二阶段。在实施例中,训练逻辑115可以为相应的帧对齐恢复确定单位间隔(UI)移位或突发长度(BL)移位的最大数量。在这样的实施例中,如果满足UI移位或BL移位的最大数量并且数据通路尚未对齐,则训练逻辑115可以发送错误消息。
在一些实施例中,模式生成器305可以被配置成生成要发送的模式。例如,模式生成器305可以在帧对齐恢复的第一阶段期间生成重复模式(例如,非混叠重复模式)。在一些实施例中,模式生成器305可以基于存储在训练逻辑115处的重复模式来生成重复模式—例如,模式生成器305可以生成存储在设备110和设备112两者处的模式,使得每个设备能够检测重复模式。在一些实施例中,重复模式可以存储在软件中。在其他实施例中,训练模式可以是硬连线的。在一些实施例中,模式生成器305可以在生成重复模式时生成帧。例如,模式生成器305可以生成帧,每个帧具有相同数量的比特(例如,如参考图2描述的“B”个比特)。在一些实施例中,所生成的每个帧可以是相同的——例如,每个帧可以包括与重复模式相对应的相同比特。在实施例中,模式生成器305可以被配置为在帧对齐恢复的第二状态期间生成计数模式(例如,递增模式或递减模式)。例如,模式生成器305可发送增加(例如,发送值1、2、3等)或减少(例如,发送值5、4、3等)的模式。在一些实施例中,模式生成器可以在每个时钟周期传输计数模式的计数值——例如,在第一时钟周期期间的第一值、在第二时钟周期期间的第二值等等。在这种实施例中,在第二阶段期间发送的每个帧可以包括一(1)个计数值。在实施例中,计数模式的开始和停止计数值可以由训练逻辑115设置。例如,训练逻辑115可以向模式生成器305指示从计数值一(1)开始。在实施例中,模式生成器305可以基于从训练逻辑115接收的信号停止发送重复模式或计数模式—例如,训练逻辑115可以指示何时发送重复模式或计数模式。在一些实施例中,模式生成器305可以在第一时钟(例如,如参考图2所描述的第一时钟)生成模式。在这种实施例中,模式(例如,重复模式或计数模式)可以被串行化并且在第二时钟(例如,如参考图2所描述的第二时钟)通过链路220发送。
在实施例中,数据通路逻辑305可以被配置成从对应的数据通路202接收帧(例如,B”个比特)和计数值——例如,数据通路逻辑305可以从对应的数据通路202接收重复模式或计数模式。在一些实施例中,接收器104或数据通路逻辑305可以被配置成对所接收的帧进行解串以恢复如参考图2所描述的原始帧。在实施例中,在帧对齐恢复的第一阶段期间,数据通路逻辑305-a可以被配置成将对应于帧大小的传入比特与存储在训练逻辑115处的重复模式进行比较。例如,数据通路逻辑305-a可以将在数据通路202-a上接收的第一“B”个比特与存储的重复模式进行比较。如果数据通路逻辑305确定传入的“B”个比特满足(例如,匹配或相同于)重复模式,则数据通路逻辑305可以避免在帧对齐恢复的第一阶段期间执行附加操作。如果数据通路逻辑305确定传入的“B”个比特不满足(例如,不匹配或不相同于)重复模式,则数据通路逻辑305的UI移位逻辑310被配置成将输入的比特移位一个UI。例如,如果在数据通路202-a上接收的第一“B”个比特与所存储的重复模式不匹配,则UI移位逻辑310-a可以跳过在第一“B”个比特之后接收的后续比特(例如,移位一(1)个UI),然后将在跳过比特之后接收的下一组“B”个比特与所存储的重复模式进行比较。即,当移位一个UI时,数据通路逻辑305可在检测到模式时跳过一个比特。数据通路逻辑305可以继续比较并且使UI移位逻辑310移位一个UI,直到在每个数据通路305接收到的一组“B”个比特匹配所存储的重复模式。
在一些实施例中,数据通路逻辑305可以被配置成在帧对齐恢复的第二阶段期间接收计数值。例如,每个数据通路逻辑305可以在每个时钟周期(例如,如参考图2所描述的恢复时钟的每个时钟周期)期间接收对应于计数模式的计数值。在至少一个实施例中,训练逻辑115可以从每个数据通路202接收计数值并且确定最早的数据通路202——例如,确定哪个数据通路202接收最早的计数值。例如,训练逻辑115可以从数据通路202-a接收计数值三(3)并且从数据通路202-b接收计数值二(2)。如果计数模式是递增的(例如,数据通路202-b是用于接收计数值二(2)的最早数据通路202),则训练逻辑115可以确定数据通路202-b接收最早的计数值,或者如果计数模式是递减的,则训练逻辑115可以确定数据通路202-a接收最早的计数值——例如,数据通路202-a是用于接收计数值三(3)的第一数据通路202。每个数据通路逻辑305可被配置为将从对应的数据通路202-a接收的计数值与所确定的最早计数值进行比较。例如,数据通路202-a可以将计数值三(3)与所确定的最早计数值(例如,与计数值二(2))进行比较。在比较之后,每个数据通路逻辑305可确定是否对传入的比特进行移位—例如,确定是否添加突发长度移位。例如,数据通路逻辑305确定所接收的计数值不满足(例如,不同于)最早计数值,数据通路逻辑305可使BL移位逻辑315添加一个或更多个突发长度移位以使所接收的计数值与最早计数值匹配—例如,使BL移位逻辑315-a添加一个突发长度移位以使在数据通路202-a接收的计数值为二(2),与最早的计数值匹配。如果数据通路逻辑305确定所接收的计数值满足最早计数值,则数据通路逻辑305可避免在第二阶段期间执行附加操作。因此,数据通路逻辑305可以被配置成在帧对齐恢复期间将在每个数据通路202接收的数据相对于相同帧边界对齐。
图4示出了用于高速互连的帧对齐恢复的方法400的示例图。方法400可由包括硬件、软件、固件或其任意组合的处理逻辑来执行。在至少一个实施例中,如参考图3所描述的,方法400由第一设备110或第二设备112的发送器124或接收器104执行——例如,由模式生成器305、训练逻辑115和数据通路逻辑305。尽管以特定的序列或顺序示出,但是除非另外指定,否则过程的顺序可以被修改。因此,所示出的实施例应该仅被理解为示例,并且所示出的过程可以以不同的顺序执行,并且一些过程可以并行执行。另外,在不同实施例中,可以省略一个或更多个过程。因此,并非在每个实施例中都需要所有的过程。示出用于帧对齐恢复的方法的其他示图是可能的。在实施例中,操作420和425可以与帧对齐恢复的第一阶段相关联,并且操作430和435可以与帧对齐恢复的第二阶段相关联。
在操作420,发送器124可发送重复模式,如参见图2和图3所描述的。在一些实施例中,所发送的每一帧415可包含相同数目的比特,其中每一帧415相同——例如,帧415-a与帧415-b相同。在实施例中,如参考图2所描述的,由接收器104生成的恢复时钟410可以相对于发送器时钟405未对齐。因此,由接收器在每个数据通路202恢复的帧415可以相对于恢复的时钟410失准。例如,数据通路202-b处的恢复帧415-a可在恢复时钟410的上升沿之前失准和接收,而数据通路202-n处的恢复帧415-a可在恢复时钟410的上升沿之后失准和接收。在一些实施例中,即使发送器时钟405和恢复时钟410对齐,在每个数据通路202处接收的帧415也可能由于如上所述的数据通路202偏离而失准—例如,由于在制造过程中数据通路202的不同布线和物理偏差。
在操作425,在每个数据通路202处的数据通路逻辑305可以将传入比特与存储在训练逻辑115处的重复模式进行比较,如参考图3所描述的。在实施例中,数据通路逻辑305可以确定传入比特满足(例如,匹配)重复模式。例如,数据通路逻辑305-a可以确定接收到的对应于帧大小的第一组比特满足重复模式—例如,帧415-a与恢复时钟410对齐。在实施例中,数据通路逻辑305可以确定传入比特不满足(例如,不匹配)重复模式。例如,数据通路逻辑305-b可以确定接收到的对应于帧大小的第一组比特不满足重复模式——例如,帧415与恢复时钟410未对齐。在这样的实施例中,UI移位逻辑310-b可以将传入比特移位一个UI移位435。在移位之后,数据通路逻辑305-b可以确定接收的对应于帧大小的第二组比特(在跳过第一组比特之后的一个比特之后接收的比特)不满足重复模式—例如,在第一移位之后帧415-a相对于恢复时钟410未对齐。在这样的实施例中,UI移位逻辑310-b可以再次将传入比特移位一个UI移位435。数据通路逻辑305-b和UI移位逻辑310-b可以继续移位一个UI移位435,直到传入比特匹配所存储的重复模式——例如,直到帧415-a与数据通路202-b处的恢复时钟对齐。在一些实施例中,每个数据通路逻辑305可以一次将所接收的比特移位一个UI移位435,直到在每个数据通路处接收的所有帧415相对于恢复时钟410对齐。
在操作430,发送器124可发送如参见图2和图3所描述的计数模式。在实施例中,在操作425之后,尽管每一帧415可相对于经恢复时钟410对齐,但帧415可相对于其他数据通路202未对齐。例如,在数据通路202-n处接收的帧415-a可与和在数据通路202-a和数据通路202-b接收的帧415-a不同的时钟沿对齐。因此,发送器124可以在每个数据通路202上发送每个时钟周期的计数值。在这样的实施例中,在每个数据通路202处的数据通路逻辑305可以将接收到的计数值发送至训练逻辑115。在实施例中,训练逻辑115可以确定最早计数值——例如,当数据通路202-n与恢复时钟410的不同边沿同步时,确定在数据通路202-n处接收的计数值早于在数据通路202-a和数据通路202-b处接收的计数值。训练逻辑115可以将最早计数值发送回每个数据通路逻辑305。在一些实施例中,每个数据通路逻辑305可以将从对应的数据通路202接收的计数值与所确定的最早计数值进行比较。如果数据通路逻辑305确定所接收的计数值与最早计数值相同,则数据通路逻辑305可避免添加BL移位。例如,数据通路逻辑305-n可以确定所接收的计数值满足最早计数值并且避免添加突发长度移位。如果数据通路逻辑305确定所接收的计数值与最早计数值不同,则数据通路逻辑305可添加一个或更多个BL移位。例如,数据通路逻辑305-a可以使得BL移位逻辑315-a添加一个BL移位。在实施例中,添加一个BL移位可使得传入模式移位一个完整时钟周期。
在操作435,发送器124可以停止发送计数模式。在实施例中,在BL移位逻辑315添加一个或更多个BL移位之后,每个数据通路202可以相对于相同的帧边界同步。例如,接收器104处的每个恢复帧415-a可与恢复时钟410的相同上升沿对齐。因为每个数据通路202相对于相同的帧边界同步,所以训练逻辑115可以向发送器124指示停止发送计数模式—例如,指示帧对齐恢复的结束。在至少一个实施例中,在此描述的方法可以用于同步数据通路203——例如,同步从设备112到设备110的数据传输。
图5示出了用于高速互连的帧对齐恢复的方法500的示例流程图。方法500可由包括硬件、软件、固件或其任意组合的处理逻辑来执行。在至少一个实施例中,如参考图3所描述的,方法500由第一设备110或第二设备112的发送器124或接收器104执行——例如,由模式生成器305、训练逻辑115和数据通路逻辑305执行。尽管以特定的序列或顺序示出,但是除非另外指定,否则过程的顺序可以被修改。因此,所示出的实施例应该仅被理解为示例,并且所示出的过程可以以不同的顺序执行,并且一些过程可以并行执行。另外,在各个实施例中,可以省略一个或更多个过程。因此,并非在每个实施例中都需要所有的过程。示出用于帧对齐恢复的方法的其他示图是可能的。
在操作505,每个数据通路逻辑305可以捕获(例如,接收)第一值。例如,每个数据通路逻辑305可以接收对应于如参考图3和图4所描述的由发送器124发送的计数模式的第一计数值。在实施例中,训练逻辑115可以实现值捕获——例如,使每个逻辑通路305能够检测计数值。在至少一个实施例中,每个数据通路逻辑305可锁存从对应数据通路202接收的计数值。在实施例中,数据通路逻辑305可以锁存在每个时钟周期(例如,恢复时钟410的每个时钟周期)接收的计数值。
在操作510,训练逻辑115(或每个数据通路逻辑305)可以确定第二值——例如,如参考图3和图4所描述的确定最早计数值。例如,训练逻辑115可以比较锁存在相应的数据通路逻辑305处的每个计数值。在实施例中,训练逻辑115可以针对递增计数模式确定每个数据通路202可以被同步的最小计数值,或者针对递减计数模式确定每个数据通路202可以被同步的最大计数值。例如,如果数据通路202-a、202-b和202-n分别接收计数值四(4)、四(4)、三(3),则训练逻辑115可以针对递增计数模式确定最早值是三(3)并且针对递减计数模式确定最早值是四(4)。
在操作515,每个数据通路逻辑305可以确定第二值是否与第一值相同——例如,确定在相应数据通路202处接收的计数值是否与最早计数值相同。例如,每个数据通路逻辑305可将第一计数值与第二计数值进行比较。如果数据通路逻辑305确定第一计数值不同于第二计数值,则数据通路逻辑305可进行到操作520。如果数据通路逻辑305确定第一计数值与第二计数值相同,则数据通路逻辑305可进行到操作525。
在操作520,BL移位逻辑315可添加一个或更多个突发长度移位435。在一些实施例中,BL移位逻辑315可确定第一值与第二值之间的差,例如,确定最早计数值与接收到的计数值之间的差。例如,BL移位逻辑315可确定第一计数值与第二计数值之间的差五(5)。在至少一个实施例中,BL移位逻辑315可添加对应于该差的多个BL移位—例如,当第一计数值和第二计数值之间的差是五(5)时,添加五(5)个BL移位。因此,BL移位逻辑315可以使得在相应数据通路处接收的第一计数值在添加BL移位之后满足(例如,匹配)第二计数值。
在操作525,BL移位逻辑315可以避免添加BL移位435。例如,BL移位逻辑315确定第一值与第二值相同(例如,所接收的计数值与最早计数值相同),BL移位逻辑315可避免添加BL移位。因此,在操作520和525之后,每个数据通道可以相对于相同的帧边界同步。
图6示出了用于高速互连的帧对齐恢复的方法600的示例流程图。方法600可由包括硬件、软件、固件或其任意组合的处理逻辑来执行。在至少一个实施例中,方法600由如参考图3所述的第一设备110或第二设备112的发送器124或接收器104执行——例如,由模式生成器305、训练逻辑115和数据通路逻辑305执行。尽管以特定的序列或顺序示出,但是除非另外指定,否则过程的顺序可以被修改。因此,所示出的实施例应该仅被理解为示例,并且所示出的过程可以以不同的顺序执行,并且一些过程可以并行执行。另外,在各个实施例中,可以省略一个或更多个过程。因此,并非在每个实施例中都需要所有的过程。示出用于帧对齐恢复的方法的其他示图是可能的。在实施例中,方法600可以示出如参考图3和图4描述的帧对齐恢复的第二阶段。
在操作605,处理逻辑可以在具有一个或更多个数据通路的链路上传输两个或更多个帧以同步该一个或更多个数据通路,其中每个帧包括一定数量的比特(例如,如参考图2所述的“B”数个比特)。在至少一个实施例中,处理逻辑可发送对应于比特数量的非混叠重复模式。在至少一个实施例中,非混叠重复模式被存储在第一设备和第二设备两者上。在实施例中,所述链路与所述第一设备耦合。在至少一个实施例中,两个或更多个帧中的每个帧是相同的——例如,每个帧包括相同的比特。
在操作610,处理逻辑可以从每个数据通路接收与两个或更多个帧中的每个帧中的比特数量相对应的第一组比特。在实施例中,可以在耦合到链路的第二设备处接收第一组比特。
在操作615,处理逻辑可以确定从一个或更多个数据通路中的数据通路接收的第一组比特不对应于两个或更多个帧的帧边界。在实施例中,处理逻辑可以将在每个数据通路处接收的第一组比特与存储的模式(例如,存储在训练逻辑115处的模式)进行比较。在至少一个实施例中,处理逻辑可确定所接收的第一组比特与所存储的模式不同,其中确定在数据通路处接收的第一组比特不对应于两个或更多个帧的帧边界的第一组比特是响应于确定第一组比特与所存储的模式不同。在至少一个实施例中,处理逻辑可确定从一个或更多个数据通路中的数据通路接收的第一组比特确实对应于帧边界。在这样的实施例中,处理逻辑可以避免将一个或更多个单位间隔(UI)移位添加到第一组比特。
在操作620,响应于确定第一组比特不对应于帧边界,处理逻辑可以相对于帧边界使一个或更多个数据通路中的每个数据通路同步。在一个实施例中,为了同步每个数据通路,处理逻辑可以响应于确定第一组比特不对应于帧边界而将在一个或更多个数据通路中的数据通路处接收的第一组比特移位一个或更多个单位间隔(UI)。在一些实施例中,处理逻辑可以进一步响应于移位在数据通路处接收的第一组比特,将一个或更多个数据通路中的每个数据通路相对于帧边界同步的指示发送给第一设备。在一些实施例中,处理逻辑可以将经移位的第一组比特(例如,移位了一个UI的第一组比特)与存储的模式进行比较。在这样的实施例中,处理逻辑能够确定经移位的第一组比特与存储的模式相关联,其中发送一个或更多个数据通路相对于帧边界同步的指示是响应于确定经移位的第一组比特与存储的模式相关联。在至少一个实施例中,处理逻辑可确定经移位的第一组比特不对应于所存储的模式。在这样的实施例中,处理逻辑可以响应于确定经移位的第一组比特不对应于存储的模式,将经移位的第一组比特移位额外的一个或更多个UI,以接收第二经移位的第一组比特。处理逻辑可以将第二经移位的第一组比特与存储的模式进行比较。在一个实施例中,处理逻辑能够确定第二经移位的第一组比特与存储的模式相关联,其中发送一个或更多个数据通路相对于帧边界同步的指示是响应于确定第二经移位的第一组比特与存储的模式相关联,。
在操作625,处理逻辑可以在第一设备处接收一个或更多个数据通路中的每一个相对于帧边界同步的指示。在这样的实施例中,处理逻辑可以在一个或更多个数据通路中的每个数据通路上发送第二组帧,第二组帧中的每个帧包括值(例如,计数值)并在发送器时钟的时钟周期期间被发送。在一些实施例中,第二组帧与计数模式相关联。在至少一个实施例中,计数模式是递增计数模式。在一些实施例中,计数模式是递减计数模式。
在操作630,处理逻辑可以相对于相同帧边界同步每个数据通路——例如,执行如参考图3至图5所描述的帧对齐恢复的第二阶段。在一些实施例中,为了使每个数据通路相对于相同帧边界同步,处理逻辑可以在一个或更多个数据通路中的每个数据通路上接收第二组帧。在一个实施例中,处理逻辑可确定在一个或更多个数据通路中的数据通路处接收的值与在一个或更多个数据通路中的其余数据通路处接收的值不同。例如,处理逻辑可响应于在每个数据通路上接收第二组帧而确定在一个或更多个数据通路处接收的第二组帧中的第一值(例如,如参考图5所描述的最早值)。在一些实施例中,处理逻辑可将第二组帧中的第一值与在其余数据通路处接收的每个其余值(例如,在每个相应数据通路处接收的计数值)进行比较,其中确定在数据通路处接收的值与在其余数据通路处接收的值不同实至少部分地基于将第二组帧中的第一值与在一个或更多个数据通路处接收的其余值进行比较。
在至少一个实施例中,处理逻辑可以响应于确定数据通路处的值不同而将在数据通路处接收到的第二组帧移位一个突发单位间隔(BUI)。在一实施例中,处理逻辑可将在将在数据通路处接收的第二组帧移位之后生成的经移位值与在一个或更多个数据通路中的其余数据通路处接收的值进行比较。在这样的实施例中,处理逻辑能够确定在数据通路处接收到的经移位值与在一个或更多个数据通路中的其余数据通路处接收到的值相同,其中发送帧边界对于一个或更多个数据通路中的每个数据通路是相同的指示是响应于确定在数据通路处接收到的经移位值是相同的。
在至少一个实施例中,处理逻辑可以将在将在数据通路处接收的第二组帧移位之后生成的经移位值与在一个或更多个数据通路中的其余数据通路处接收的值进行比较。在这样的实施例中,处理逻辑可确定数据通路处的经移位值不同于在一个或更多个数据通路中的其余数据通路处接收的值。在一些实施例中,处理逻辑可以响应于确定经移位值不同而将在数据通路处的经移位值移位一个BUI以生成第二经移位的值。在这样的实施例中,处理逻辑可以将在数据通路处的第二经移位的值与在一个或更多个数据通路中的其余数据通路处接收的值进行比较。在一些实施例中,处理逻辑能够确定在数据通路处的第二经移位的值与在一个或更多个数据通路中的其余数据通路处接收的值相同,其中发送帧边界对于一个或更多个数据通路中的每个数据通路是相同的指示是响应于确定在数据通路处接收的第二经移位的值是相同的。在一些实施例中,处理逻辑可响应于移位在数据通路处的第二组帧来向第一设备发送帧边界对于一个或更多个数据通路中的每个数据通路是相同的指示。
图7示出了根据至少一个实施例的计算机***700,该计算机***包括收发器,该收发器包括芯片至芯片互连。在至少一个实施例中,计算机***700可以是具有互连的设备和组件、SOC或某种组合的***。在至少一个实施例中,计算机***700形成有处理器702,处理器702可以包括用于执行指令的执行单元。在至少一个实施例中,计算机***700可以包括但不限于例如处理器702之类的组件,以采用包括逻辑的执行单元来执行用于处理数据的算法。在至少一个实施例中,计算机***700可以包括处理器,诸如可从加利福尼亚州圣克拉拉市的英特尔公司获得的
Figure BDA0003938483010000181
处理器系列、XeonTM、/>
Figure BDA0003938483010000182
XScaleTM和/或StrongARMTM、/>
Figure BDA0003938483010000191
CoreTM或/>
Figure BDA0003938483010000192
NervanaTM微处理器,尽管也可以使用其他***(包括具有其他微处理器的PC、工程工作站、机顶盒等)。在至少一个实施例中,计算机***700可执行可从华盛顿州雷蒙德市的微软公司获得的WINDOWS的操作***的版本,但也可使用其他操作***(例如UNIX和Linux)、嵌入式软件和/或图形用户界面。
在至少一个实施例中,计算机***700可以用于其他设备中,如手持式设备和嵌入式应用。手持式设备的一些示例包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(“PDA”)、以及手持式PC。在至少一个实施例中,嵌入式应用可以包括微控制器、数字信号处理器(DSP)、SoC、网络计算机(“Net PC”)、机顶盒、网络集线器、广域网(“WAN”)交换机、或可以执行一个或更多个指令的任何其他***。在实施例中,计算机***700可以用于诸如图形处理单元(GPU)、网络适配器、中央处理单元和诸如交换机(例如,高速直接GPU到GPU互连,诸如NVIDIA GH100NVLINK或NVIDIA量子2 64端口无限带宽NDR交换机)的网络设备中。
在至少一个实施例中,计算机***700可以包括但不限于处理器702,其可以包括但不限于一个或更多个执行单元707,所述一个或更多个执行单元可以被配置成执行计算统一设备架构(“CUDA”)(
Figure BDA0003938483010000193
是由加利福尼亚州圣克拉拉市的NVIDIA公司开发的)程序。在至少一个实施例中,CUDA程序是用CUDA编程语言编写的软件应用的至少一部分。在至少一个实施例中,计算机***700是单处理器桌面或服务器***。在至少一个实施例中,计算机***700可以是多处理器***。在至少一个实施例中,处理器702可以包括但不限于CISC微处理器、RISC微处理器、VLIW微处理器、实现指令集的组合的处理器或任何其他处理器设备,诸如例如数字信号处理器。在至少一个实施例中,处理器702可以耦合到处理器总线710,处理器总线710可以在处理器702和计算机***700中的其他组件之间传输数据信号。
在至少一个实施例中,处理器702可以包括但不限于1级(“L1”)内部高速缓存存储器(“高速缓存”)704。在至少一个实施例中,处理器702可以具有单个内部高速缓存或多个级别的内部高速缓存。在至少一个实施例中,高速缓存存储器可以驻留在处理器702的外部。在至少一个实施例中,处理器702还可以包括内部高速缓存和外部高速缓存两者的组合。在至少一个实施例中,寄存器文件706可以将不同类型的数据存储在各种寄存器中,包括但不限于整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器。
在至少一个实施例中,执行单元707(包括但不限于用于执行整数和浮点运算的逻辑)还驻留在处理器702中。处理器702还可以包括存储用于某些宏指令的微代码的微代码(“ucode”)只读存储器(“ROM”)。在至少一个实施例中,执行单元702可以包括用于处理封装指令集709的逻辑。在至少一个实施例中,通过在通用处理器702的指令集中包括封装指令集709,以及用于执行指令的相关联电路,许多多媒体应用所使用的操作可以使用通用处理器702中的封装数据来执行。在至少一个实施例中,通过使用处理器的数据总线的全宽度来对封装数据执行操作,可以更高效地加速和执行许多多媒体应用,这可以消除跨处理器的数据总线传输更小的数据单元以便一次对一个数据元素执行一个或更多个操作的需要。
在至少一个实施例中,执行单元还可以用于微控制器、嵌入式处理器、图形设备、DSP、和其他类型的逻辑电路中。在至少一个实施例中,计算机***700可以包括但不限于存储器720。在至少一个实施例中,存储器720可以实现为DRAM设备、SRAM设备、闪存设备或其他存储器设备。存储器720可存储指令719和/或由可由处理器702执行的数据信号表示的数据721。
在至少一个实施例中,***逻辑芯片可以耦合至处理器总线710和存储器720。在至少一个实施例中,***逻辑芯片可以包括但不限于存储器控制器集线器(“MCH”)716,并且处理器702可以经由处理器总线710与MCH716通信。在至少一个实施例中,MCH 716可以向存储器720提供高带宽存储器路径718,用于指令和数据存储以及用于存储图形命令、数据和纹理。在至少一个实施例中,MCH 716可以在处理器702、存储器720和计算机***700中的其他组件之间引导数据信号,并在处理器总线710、存储器720和***I/O 722之间桥接数据信号。在至少一个实施例中,***逻辑芯片可以提供用于耦合到图形控制器的图形端口。在至少一个实施例中,MCH 716可以通过高带宽存储器路径718耦合到存储器720并且图形/视频卡712可以通过加速图形端口(“AGP”)互连714耦合到MCH 716。
在至少一个实施例中,计算机***700可以使用作为专用集线器接口总线的***I/O 722来将MCH 716耦合至I/O控制器集线器(“ICH”)730。在至少一个实施例中,ICH 730可以经由本地I/O总线提供与一些I/O设备的直接连接。在至少一个实施例中,本地I/O总线可以包括但不限于用于将***设备连接到存储器720、芯片组和处理器702的高速I/O总线。示例可以包括但不限于音频控制器729、固件集线器(“闪存BIOS”)728、收发器726、数据存储724、包含用户输入接口725和键盘接口的传统I/O控制器723、串行扩展端口727(如USB)、以及网络控制器734。数据存储724可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存设备或其他大容量存储设备。在实施例中,收发器726包括受限FFE 708。
在至少一个实施例中,图7示出了一种***,该***包括收发器726中的互连的硬件设备或“芯片”,例如,收发器726包括芯片至芯片互连,该芯片至芯片互连包括第一设备110和第二设备112,如参见图1所描述的)。在至少一个实施例中,图7可示出示例性SoC。在至少一个实施例中,图7中所示出的设备可以与专有互连、标准化互连(例如,PCIe)、或它们的某种组合互连,并且利用如参见图2所描述的GRS链路220。在至少一个实施例中,***700的一个或更多个部件使用快速计算链路(“CXL”)互连来互连。在一个实施例中,收发器726可以包括如参考图1所述的移位逻辑115。在这样的实施例中,移位逻辑115可以促进如上所述的用于高速互连上的帧对齐的方法。在一个实施例中,移位逻辑115可以将每个数据通路处的传入比特移位一个或更多个UI或一个或更多个BL。例如,移位逻辑115可以将每个数据通路处的传入比特移位一个或更多个UI以相对于帧边界同步每个数据通路。移位逻辑115还可将每一数据通路处的传入比特移位一个或更多个BL以相对于同一帧边界同步每一数据通路。因此,移位逻辑115可以被配置成用于如参考图2至图6所描述的帧对齐恢复。
其他变化形式在本公开的精神内。因此,虽然所公开的技术易受不同修改和替代构造的影响,但是其某些所示实施例在附图中示出并且在上文已经详细描述。然而,应当理解,并不旨在将本公开限于所公开的一种或多种具体形式,而是相反,旨在覆盖落入如所附权利要求所限定的本公开的精神和范围内的所有修改、替代构造和等同物。
在描述所公开的实施例的上下文中(尤其是在以下权利要求的上下文中)术语“一个”和“一种”以及“该”以及类似引用的使用应被解释为涵盖单数和复数两者,除非在此另外指示或与上下文明显矛盾,并且不是作为术语的定义。除非另外指出,否则术语“包含”、“具有”、“包括”和“含有”应被解释为开放式术语(意味着“包括但不限于”)。“连接”在未修改并且指代物理连接时,应被解释为部分地或完全地包含在…内、附接至或连接在一起,即使存在介入物。除非本文中另外指示,否则本文中对值范围的陈述仅意欲用作个别地指代落入所述范围内的每一单独值的速记方法,且每一单独值如同其在本文中个别陈述一样并入到说明书中。在至少一个实施例中,除非另外指明或上下文矛盾,否则术语“集合”(例如,“项目集合”)或“子集”的使用将被解释为包括一个或更多个成员的非空集合。此外,除非另有说明或与上下文矛盾,否则术语对应集合的“子集”不一定表示对应集合的合适子集,而是子集和对应集合可以相等。
除非另外明确说明或另外与上下文明显矛盾,否则连接语言(如“A、B和C中的至少一者”或“A、B和C中的至少一者”形式的短语)另外与上下文一起被理解为一般用于呈现项目、术语等可为A或B或C或A和B和C的集合的任何非空子集。例如,在具有三个成员的集合的说明性示例中,连接短语“A、B以及C中的至少一个”以及“A、B以及C中的至少一个”指以下集合中的任一个:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。因此,这种连接语言一般不旨在暗示某些实施例要求A中的至少一个、B中的至少一个以及C中的至少一个各自都存在。此外,除非上下文另有说明或与上下文矛盾,否则术语“多个”表示为多个的状态(例如,“多个项”表示多个项)。在至少一个实施例中,多个中的项的数目是至少两个,但是当显式地或通过上下文这样指示时可以更多。此外,除非另外陈述或另外从上下文清楚,否则短语“基于”是指“至少部分地基于”而不是“仅基于”。
在此描述的过程的操作可以按任何适合的顺序执行,除非在此另外指示或另外与上下文明显矛盾。在至少一个实施例中,诸如本文中描述的那些过程的过程(或其变型和/或组合)在配置有可执行指令的一个或更多个计算机***的控制下执行,并且通过硬件或其组合实施为在一个或更多个处理器上共同执行的代码(例如,可执行指令、一个或更多个计算机程序或一个或更多个应用)。在至少一个实施例中,代码例如以包括可由一个或更多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。在至少一个实施例中,计算机可读存储介质是非暂态计算机可读存储介质,该非暂态计算机可读存储介质不包括暂态信号(例如,传播暂态电或电磁发送)但包括暂态信号的收发器内的非暂态数据存储电路(例如,缓冲器、高速缓存和队列)。在至少一个实施例中,代码(例如,可执行代码或源代码)存储在其上存储有可执行指令的一个或更多个非暂态计算机可读存储介质的集合上(或用于存储可执行指令的其他存储器),所述可执行指令当由计算机***的一个或更多个处理器执行(即,由于被执行)时,使计算机***执行本文中所描述的操作。在至少一个实施例中,一组非暂态计算机可读存储介质包括多个非暂态计算机可读存储介质,并且多个非暂态计算机可读存储介质中的个体非暂态存储介质中的一个或更多个缺少所有代码,而多个非暂态计算机可读存储介质共同地存储所有代码。在至少一个实施例中,可执行指令被执行,使得不同的指令被不同的处理器执行。
因此,在至少一个实施例中,计算机***被配置成实现一个或更多个服务,该一个或更多个服务单独地或共同地执行在此所描述的过程的操作,并且此类计算机***被配置有能够执行操作的适用硬件和/或软件。进一步,实现本公开的至少一个实施例的计算机***是单个设备,并且在另一实施例中,是分布式计算机***,其包括不同地操作的多个设备,使得分布式计算机***执行本文描述的操作,并且使得单个设备不执行所有操作。
使用在此提供的任何和所有示例或示例性语言(例如,“诸如”)仅旨在更好地阐明本公开的实施例并且不对本公开的范围造成限制,除非另外要求。说明书中的语言不应被解释为指示任何未要求保护的元件对本公开的实践是必不可少的。
在此引用的所有参考文献(包括出版物、专利申请以及专利)通过引用合并在此,其程度如同每个参考文献被单独地并且确切地指明通过引用合并,并且以其全文在此列出。
在说明书和权利要求书中,可以使用术语“耦合”和“连接”及其派生词。应当理解,这些术语并不旨在作为彼此的同义词。相反,在具体示例中,“连接”或“耦合”可以用于指示两个或更多个元件彼此直接或间接物理或电接触。“耦合”还可以意味着两个或更多个元件彼此不直接接触,但仍彼此合作或交互。
除非另外确切地陈述,否则可以认识到贯穿说明书,术语如“处理”、“计算(computing)”、“计算(caculating)”、“确定”或类似术语是指计算机或计算***或类似电子计算设备的动作和/或过程,该动作和/或过程将表示为计算***的寄存器和/或存储器内的物理(如电子)量的数据操纵和/或转换为类似地表示为计算***的存储器、寄存器或其他此类信息存储、发送或显示设备内的物理量的其他数据。
以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的电子数据并且将该电子数据转换成可以存储在寄存器和/或存储器中的其他电子数据的任何设备或设备的一部分。“计算平台”可以包括一个或更多个处理器。如本文所使用的,“软件”过程可包括例如随时间执行工作的软件和/或硬件实体,诸如任务、线程和智能代理。而且,每个过程可以指用于顺序地或并行地、连续地或间歇地执行指令的多个过程。在至少一个实施例中,术语“***”和“方法”在此可互换地使用,只要该***可以体现一种或更多种方法并且方法可以被认为是***。
在本文件中,可以参考以获得、获取、接收或输入模拟或数字数据到子***、计算机***或计算机实现的机器中。在至少一个实施例中,获得、获取、接收或输入模拟和数字数据的过程可以以各种方式完成,诸如通过接收数据作为函数调用或对应用编程接口的调用的参数。在至少一个实施例中,获得、获取、接收或输入模拟或数字数据的过程可以通过经由串行或并行接口传送数据来完成。在至少一个实施例中,获得、获取、接收或输入模拟或数字数据的过程可通过经由计算机网络从提供实体向获取实体传送数据来完成。在至少一个实施例中,还可参考以提供、输出、传输、发送或呈现模拟或数字数据。在不同示例中,提供、输出、传输、发送或呈现模拟或数字数据的过程可以通过传送数据作为函数调用的输入或输出参数、应用编程接口或进程间通信机制的参数来实现。
尽管本文中的描述阐述了所描述的技术的示例实施例,但其他架构可以用于实现所描述的功能,并且旨在处于本公开的范围内。此外,尽管出于描述的目的可在上文定义职责的特定分布,但可根据环境以不同方式分布和划分各个功能和职责。
此外,尽管已经以特定于结构特征和/或方法动作的语言描述了本主题,但可以理解,所附权利要求书中所要求保护的主题不必限于所述的特定特征或动作。相反,特定特征和动作被公开为实现权利要求的示例性形式。

Claims (20)

1.一种***,包括:
第一设备,其包括发送器并且与包括一个或更多个数据通路的链路耦合,所述第一设备用于:
发送两个或更多个帧以同步所述一个或更多个数据通路,其中每个帧包括一定数量的比特;以及
第二设备,其与所述链路耦合并且包括接收器,所述第二设备用于:
从每个数据通路接收与所述两个或更多个帧中的每个帧中的所述一定数量的比特相对应的第一组比特;
确定从所述一个或更多个数据通路中的数据通路接收的所述第一组比特不与所述两个或更多个帧的帧边界相对应;以及
响应于确定所述第一组比特不与所述帧边界相对应,使所述一个或更多个数据通路中的每个数据通路相对于所述帧边界同步。
2.根据权利要求1所述的***,其中为了使所述一个或更多个数据通路中的每个数据通路同步,所述第二设备进一步用于:
响应于确定所述第一组比特不对应于所述帧边界,而将在所述一个或更多个数据通路中的所述数据通路处接收的所述第一组比特移位一个或更多个单位间隔UI;以及
响应于移位在所述数据通路处接收的所述第一组比特,向所述第一设备发送所述一个或更多个数据通路中的每个数据通路相对于所述帧边界被同步的指示。
3.根据权利要求2所述的***,其中:
所述第一设备进一步用于:
接收所述一个或更多个数据通路中的每个数据通路相对于所述帧边界被同步的所述指示;
在所述一个或更多个数据通路中的每个数据通路上发送第二组帧,所述第二组帧中的每个帧包括值并且在发送器时钟的时钟周期期间进行发送;以及
所述第二设备进一步用于:
在所述一个或更多个数据通路中的每个数据通路上接收所述第二组帧;
确定在所述一个或更多个数据通路中的所述数据通路处接收的值与在所述一个或更多个数据通路中的其余数据通路处接收的值不同;
响应于确定所述数据通路处的值是不同的,将在所述数据通路处接收的所述第二组帧移位一个突发单位间隔BUI;以及
响应于移位在所述数据通路处的所述第二组帧,向所述第一设备发送所述帧边界对于所述一个或更多个数据通路中的每个数据通路是相同的指示。
4.根据权利要求3所述的***,其中所述第二设备进一步用于:
响应于在每个数据通路上接收到所述第二组帧,确定在所述一个或更多个数据通路处接收的所述第二组帧中的第一值;以及
将所述第二组帧中的所述第一值与在所述其余数据通路处接收的每个其余值进行比较,其中确定在所述数据通路处接收的所述值不同于在所述其余数据通路处接收的所述值是至少部分地基于将所述第二组帧中的所述第一值与在所述一个或更多个数据通路处接收的所述其余值进行比较。
5.根据权利要求3所述的***,其中所述第二设备进一步用于:
将对所述数据通路处接收的所述第二组帧移位之后生成的经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的值进行比较;以及
确定所述数据通路处的所述经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的所述值相同,其中所述第二设备用于响应于确定在所述数据通路处接收的所述经移位的值是相同的,而发送对于所述一个或更多个数据通路中的每个数据通路所述帧边界是相同的所述指示。
6.根据权利要求3所述的***,其中所述第二设备进一步用于:
将对所述数据通路处接收的所述第二组帧移位之后生成的所述经移位的值与在所述一个或更多个数据通路中的其余数据通路处接收的所述值进行比较;
确定所述数据通路处的所述经移位的值不同于在所述一个或更多个数据通路中的所述其余数据通路处接收的值;
响应于确定所述经移位的值是不同的,而将所述数据通路处的所述经移位的值移位一个BUI以生成第二经移位的值;
将所述数据通路处的所述第二经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的值进行比较;以及
确定所述数据通路处的所述第二经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的所述值相同,其中所述第二设备用于响应于确定在所述数据通路处接收的所述第二经移位的值相同而发送对于所述一个或更多个数据通路中的每个数据通路所述帧边界是相同的所述指示。
7.根据权利要求3所述的***,其中:
所述一定数量的比特是非混叠重复模式;以及
所述第二组帧与计数模式相关联。
8.根据权利要求2所述的***,其中所述第二设备进一步用于:
将经移位的第一组比特与存储的模式进行比较;以及
确定所述经移位的第一组比特与所述存储的模式相关联,其中发送所述一个或更多个数据通路相对于所述帧边界被同步的所述指示是响应于确定所述经移位的第一组比特与所述存储的模式相关联。
9.根据权利要求2所述的***,其中所述第二设备进一步用于:
将经移位的所述第一组比特与存储的模式相比较;
基于所述经移位的第一组比特与所述存储的模式的比较来确定所述经移位的第一组比特不对应于所述存储的模式;
响应于确定所述经移位的第一组比特不对应于所述存储的模式,将所述经移位的第一组比特移位额外的一个或更多个UI,以接收第二经移位的第一组比特;
将所述第二经移位的第一组比特与所述存储的模式相比较;以及
确定所述第二经移位的第一组比特与所述存储的模式相关联,其中发送所述一个或更多个数据通路相对于所述帧边界被同步的所述指示是响应于确定所述第二经移位的第一组比特与所述存储的模式相关联。
10.根据权利要求1所述的***,其中所述第二设备进一步用于:
将在每个数据通路处接收的所述第一组比特与存储的模式进行比较;以及
确定在所述数据通路处接收的所述第一组比特不同于所述存储的模式,其中确定在所述数据通路处接收的所述第一组比特不对应于所述两个或更多个帧的所述帧边界是响应于确定所述第一组比特不同于所述存储的模式。
11.一种方法,包括:
执行链路的一个或更多个数据通路的同步,所述同步包括第一阶段和第二阶段,其中所述第一阶段包括:
从一个或更多个数据通路中的每个数据通路接收第一组比特,所述第一组比特中的比特数对应于帧大小;
确定从所述一个或更多个数据通路中的数据通路接收的所述第一组比特不对应于帧的帧边界;
响应于确定所述第一组比特不对应于所述帧边界,而将在所述一个或更多个数据通路中的所述数据通路处接收的所述第一组比特移位一个或更多个单位间隔UI;以及
响应于移位在所述数据通路处接收的所述第一组比特,发送所述一个或更多个数据通路中的每个数据通路相对于所述帧边界被同步的指示。
12.根据权利要求11所述的方法,其中所述第二阶段还包括:
在所述一个或更多个数据通路中的每个数据通路上接收第二组帧;
确定在所述一个或更多个数据通路中的所述数据通路处接收的值与在所述一个或更多个数据通路中的其余数据通路处接收的值不同;
响应于确定所述数据通路处的值是不同的,将在所述数据通路处接收的所述第二组帧移位一个突发单位间隔BUI;以及
响应于移位所述数据通路处的所述第二组帧,发送对于所述一个或更多个数据通路中的每个数据通路所述帧边界是相同的指示。
13.根据权利要求12所述的方法,还包括:
响应于在每个数据通路上接收到所述第二组帧,确定在所述一个或更多个数据通路处接收到的所述第二组帧中的第一值;以及
将所述第二组帧中的所述第一值与在其余数据通路处接收的每个其余值进行比较,其中确定在所述数据通路处接收的所述值不同于在所述其余数据通路处接收的所述值是至少部分地基于将所述第一值与在所述一个或更多个数据通路处接收的所述其余值进行比较。
14.根据权利要求12所述的方法,还包括:
将对所述数据通路处接收的所述第二组帧移位之后生成的经移位的值与在所述一个或更多个数据通路中的其余数据通路处接收的值进行比较;以及
确定所述经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的所述值相同,其中响应于确定在所述数据通路处接收的所述经移位的值是相同的,而发送对于所述一个或更多个数据通路中的每个数据通路所述帧边界是相同的指示。
15.根据权利要求12所述的方法,还包括:
将对所述数据通路处接收的所述第二组帧移位之后生成的经移位的值与在所述一个或更多个数据通路中的其余数据通路处接收的值进行比较;
确定所述经移位的值不同于在所述一个或更多个数据通路中的所述其余数据通路处接收的所述值;
响应于确定所述经移位的值是不同的,将所述经移位的值移位一个BUI以生成第二经移位的值;
将所述第二经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的值进行比较;以及
确定所述第二经移位的值与在所述一个或更多个数据通路中的所述其余数据通路处接收的所述值相同,其中响应于确定在所述数据通路处接收的所述第二经移位的值是相同的,而发送对于所述一个或更多个数据通路中的每个数据通路所述帧边界是相同的指示。
16.根据权利要求12所述的方法,其中:
所述第一组比特与非混叠重复模式相关联;以及
所述第二组帧与计数模式相关联。
17.根据权利要求11所述的方法,还包括:
将经移位的第一组比特与存储的模式进行比较;以及
确定所述经移位的第一组比特与所述存储的模式相关联,其中响应于确定所述经移位的第一组比特与所述存储的模式相关联而发送一个或更多个数据通路相对于所述帧边界被同步的所述指示。
18.根据权利要求17所述的方法,还包括:
将所述经移位的第一组比特与存储的模式进行比较;
基于所述经移位的第一组比特与所述存储的模式的比较,确定所述经移位的第一组比特不对应于所述存储的模式;
响应于确定所述经移位的第一组比特不对应于所述存储的模式,将所述经移位的第一组比特移位额外的一个或更多个UI,以接收第二经移位的第一组比特;
将所述第二经移位的第一组比特与所述存储的模式相比较;以及
确定所述第二经移位的第一组比特与所述存储的模式相关联,其中响应于确定所述第二经移位的第一组比特与所述存储的模式相关联,而发送所述一个或更多个数据通路相对于所述帧边界被同步的指示。
19.一种设备,包括:
接收器,其耦合至包括一个或更多个数据通路的链路,所述设备用于:
从一个或更多个数据通路中的每个数据通路接收第一组比特,所述第一组比特中的比特数对应于帧大小;
确定从所述一个或更多个数据通路中的数据通路接收的所述第一组比特不对应于帧的帧边界;
响应于确定所述第一组比特不对应于所述帧边界,而将在所述一个或更多个数据通路中的所述数据通路处接收的所述第一组比特移位一个或更多个单位间隔UI;以及
响应于移位在所述数据通路处接收的所述第一组比特,发送所述一个或更多个数据通路中的每个数据通路相对于所述帧边界被同步的指示。
20.根据权利要求19所述的设备,其中所述设备进一步用于:
在所述一个或更多个数据通路中的每个数据通路上接收第二组帧;
确定在所述一个或更多个数据通路中的所述数据通路处接收的值与在所述一个或更多个数据通路中的其余数据通路处接收的值不同;
响应于确定所述数据通路处的值是不同的,将在所述数据通路处接收的所述第二组帧移位一个突发单位间隔BUI;以及
响应于移位所述数据通路处的所述第二组帧,发送对于所述一个或更多个数据通路中的每个数据通路所述帧边界是相同的指示。
CN202211411746.2A 2021-12-20 2022-11-11 用于高速信令互连的帧对齐恢复 Pending CN116318601A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/556,892 2021-12-20
US17/556,892 US11899609B2 (en) 2021-12-20 2021-12-20 Frame alignment recovery for a high-speed signaling interconnect

Publications (1)

Publication Number Publication Date
CN116318601A true CN116318601A (zh) 2023-06-23

Family

ID=84799624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211411746.2A Pending CN116318601A (zh) 2021-12-20 2022-11-11 用于高速信令互连的帧对齐恢复

Country Status (3)

Country Link
US (2) US11899609B2 (zh)
EP (1) EP4203376A1 (zh)
CN (1) CN116318601A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294412A (zh) * 2023-11-24 2023-12-26 合肥六角形半导体有限公司 基于单比特位移的多通道串转并自动对齐电路及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500131B2 (en) * 2004-09-07 2009-03-03 Intel Corporation Training pattern based de-skew mechanism and frame alignment
US8036248B2 (en) 2008-10-29 2011-10-11 Silicon Image, Inc. Method, apparatus, and system for automatic data aligner for multiple serial receivers
IL217699A0 (en) * 2012-01-24 2012-03-29 Eci Telecom Ltd Method for reducing data alignment delays
US9569296B2 (en) 2013-06-05 2017-02-14 Nec Corporation Receiver bit alignment for multi-lane asynchronous high-speed data interface
US9806980B2 (en) * 2014-03-27 2017-10-31 Ixia Methods, systems, and computer readable media for precise measurement of switching latency of packet switching devices
US10455501B2 (en) 2016-12-22 2019-10-22 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by serializing frame alignment processes for multiple lanes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294412A (zh) * 2023-11-24 2023-12-26 合肥六角形半导体有限公司 基于单比特位移的多通道串转并自动对齐电路及方法
CN117294412B (zh) * 2023-11-24 2024-02-13 合肥六角形半导体有限公司 基于单比特位移的多通道串转并自动对齐电路及方法

Also Published As

Publication number Publication date
EP4203376A1 (en) 2023-06-28
US20230195674A1 (en) 2023-06-22
US11899609B2 (en) 2024-02-13
US20240111706A1 (en) 2024-04-04

Similar Documents

Publication Publication Date Title
US9229897B2 (en) Embedded control channel for high speed serial interconnect
US7631118B2 (en) Lane to lane deskewing via non-data symbol processing for a serial point to point link
US5768529A (en) System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers
US8023602B2 (en) Serial data communication apparatus and methods of using a single line
JP2017525200A (ja) リンクレイヤ/物理レイヤ(phy)シリアルインターフェース
US10218492B2 (en) Clock and data recovery for pulse based multi-wire link
CN109918332B (zh) Spi从设备及spi设备
WO2005091544A1 (en) Bit clock with embedded word clock boundary
US20240111706A1 (en) Frame alignment recovery for a high-speed signaling interconnect
US20190266122A1 (en) Multilane heterogenuous serial bus
US20140143586A1 (en) Timing Optimized Implementation of Algorithm to Reduce Switching Rate on High Throughput Wide Buses
US10002090B2 (en) Method for improving the performance of synchronous serial interfaces
US8510485B2 (en) Low power digital interface
CN116303194A (zh) 用于高速信令互连的链路状况检测
WO2012038546A1 (en) Multi-lane data transmission de-skew
US11569939B1 (en) Synchronizing a high-speed signaling interconnect
US8176310B2 (en) Debugger application configured to communicate with a debugger module via a GPIO
US20160098073A1 (en) Clock-free dual-data-rate link with built-in flow control
US7454543B2 (en) Early high speed serializer-deserializer (HSS)internal receive (Rx) interface for data sampling clock signals on parallel bus
US11784890B2 (en) Link training through handshake on high-speed interconnect
CN114090494B (zh) 数据传输方法、装置、设备和存储介质
US9621467B1 (en) Iterative frame synchronization for multiple-lane transmission
US20240111702A1 (en) Virtual wire protocol for transmitting side band channels
US20230353338A1 (en) Signal distortion correction with time-to-digital converter (tdc)
US20240103951A1 (en) Error rate interrupts in hardware for high-speed signaling interconnect

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