CN1744065A - 自动硬件数据链路初始化方法和系统 - Google Patents
自动硬件数据链路初始化方法和系统 Download PDFInfo
- Publication number
- CN1744065A CN1744065A CN200510073715.0A CN200510073715A CN1744065A CN 1744065 A CN1744065 A CN 1744065A CN 200510073715 A CN200510073715 A CN 200510073715A CN 1744065 A CN1744065 A CN 1744065A
- Authority
- CN
- China
- Prior art keywords
- equipment
- link
- training
- packet
- bus interface
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明提供可用于自动训练并且激活在两个或多个设备间的通信链路的方法和装置。在一些实施例中,一个或多个状态机可用于在自动训练和激活期间监视并且控制接收和传输逻辑的动作,从而减少或消除了软件干预的需要。结果,训练和激活可以上电周期后的很少延迟开始。
Description
技术领域
本发明一般涉及在两个设备之间的总线上交换数据分组,更具体地,本发明涉及自动初始化两个设备上的通信接口。
背景技术
为了形成一个完整(或者近似完整)的系统,芯片上系统(SOC)一般在单个芯片上包括:一个或多个集成的处理器核心;某类嵌入存储器,如处理器核心之间共享的缓存;以及外围接口,如外部总线接口。外部总线接口常用于通过这些系统和外部设备如外部存储控制器或者图形处理单元(GPU)之间的外部总线传递分组中的数据。为了提高系统性能,这种设备之间的数据传输率已经稳定增长了多年。
遗憾的是,随着设备之间的数据传输率增长,设备之间传输的数据的字节可变得偏离(skew),这是由于不同的原因,如内部电容、用在不同设备上的驱动器和/或接收器的不同、内部总线路径的不同路由等。这种偏离可导致从一个设备传输的数据被另一个设备错误地读取。这种失准可导致不正确组合的数据馈入处理器核心,这可具有不可预测的结果和可能的灾难性的效果。
最小化这类偏离的一种方法是执行软件控制下的某种类型的训练,由此可调整一个设备的内部驱动器和/或接收器,而另一个设备输出特别设计的数据分组(例如具有已知数据模式)。遗憾的是,在可执行这种软件代码前,可能存在充分的延迟(例如在系统上电周期后)。进而,在软件中执行这种训练可不希望地延迟或者中断实际应用代码的执行。如果链路没有被自动训练,还存在由于不能从存储器通过链路取得应用代码而可导致的潜在问题。
因此,需要的是用于自动训练和激活设备之间的通信链路的方法和装置,最好具有少的或没有软件干预。
发明内容
本发明一般地提供用于自动训练和激活两个或多个设备之间的通信链路的方法和装置。
一个实施例提供一种训练本地设备的方法,用于在没有软件干预的情况下通过通信链路与远程设备通信。该方法在硬件控制下一般包括:(a)从本地设备通过通信链路将多个第一预定义的分组传输到远程设备;(b)对一个或更多的第一预定义的数据分组监视通信链路,该第一预定义的数据分组从远程设备通过通信链路被传输到本地设备;(c)从本地设备通过通信链路向远程设备传输包括由第二预定义的分组跟随的多个第一预定义的分组的同步序列,以响应由本地设备从远程设备接收一个或更多的第一预定义的数据分组;以及(d)只在从远程设备接收指示远程设备被训练的一个或更多的第二预定义的分组之后,允许在软件控制下的分组交换。
另一实施例提供一种训练用于通过链路通信的两个设备的方法。该方法一般包括:在每个设备中进行初始硬件控制的链路训练,以补偿在通过链路传输的数据比特间的偏离;在各设备间进行硬件控制的握手以指示成功的链路训练;以及在每个设备中进行周期的硬件控制的链路训练,以定期地对在通过链路传输的数据比特间的偏离进行调整。
另一实施例提供一种自初始化总线接口,用于在包括总线接口的第一设备和第二设备间通过通信链路通信。自初始化总线接口一般包括硬件状态机,配置于在链路训练状态期间将第一预定的分组传输到第二设备,并且转变为激活状态,以响应检测从第二设备接收的第二预定的分组,指示第二设备被训练。
另一实施例提供一种系统,该系统一般包括:具有多条并行比特线的总线;第一处理设备;以及第二处理设备,经由总线与第一处理设备耦合。在每个第一和第二处理设备上的自初始化总线接口一般配置于在没有软件交互的情况下进行:初始链路训练以补偿通过链路传输的数据比特间的偏离,与另一设备的握手以指示成功的链路训练,以及周期链路训练以对在通过总线传输的数据比特间的偏离进行调整。
附图说明
所以通过参照在附图中图示的本发明的实施例,可以进行以上简单概述的本发明的更具体的说明,并可详细理解实现本发明的上述特征、优点和目的。
然而,要注意的是,附图仅仅图示本发明的典型实施例,因此不被视为限制其范围,因为本发明可允许其它等效实施例。
图1说明其中可应用本发明的各实施例的包括中央处理单元(CPU)的示范系统。
图2是根据本发明的一个实施例的通信接口的框图。
图3是根据本发明的一个实施例的、对应于链路训练状态机的状态图。
图4是根据本发明的一个实施例的、用于自动链路训练的示范操作的流程图。
图5是根据本发明的一个实施例的、用于在本地和远程设备上执行的自动链路训练的示范操作的图。
具体实施方式
本发明的原理提供可用于自动训练和激活两个或多个设备之间的通信链路的方法和装置。在一些实施例中,一个或多个状态机可用于监视和控制自动训练和激活期间的接收和传输逻辑的动作,从而减少或者消除了软件干预的需要。结果,训练和激活可通过上电周期后的很少延迟而开始。
如这里使用的,术语状态机一般指系统中的对象,其经过定义序列的状态,以响应各种事件,每个状态常由特定的可观察的动作指示,如信号产生。本发明的各实施例将参照实现为硬件部件的状态机来描述,各硬件部件响应各种事件,一般产生用于控制其它一些部件的动作的一个或多个信号。然而,状态机的各种动作可通过软件控制的寄存器来确定,如用于保存可调整阈计数器值或者期满周期的寄存器。
进而,在下面的说明中参考本发明的各实施例。然而,应该理解,本发明不限于具体描述的各实施例。而是,下面的特征和组件的任何组合,无论是否涉及不同的实施例,被视为可实现和实施本发明。而且,在各种实施例中,本发明相对现有技术提供许多优点。然而,虽然本发明的各实施例可取得相对其它可能方案和/或现有技术的优点,但通过一个给定实施例是否取得特定优点并不限制本发明。因此,如下各方面、特征、实施例和优点仅仅是示例性的,除非明白表示,不视为权利要求的部分或者限制。
示范系统
图1说明包括中央处理单元(CPU)110的示范计算机系统100,其中可使用本发明的实施例。如所示,CPU110可包括一个或更多的处理器核心112,其每个可包括任意数量的不同类型功能单元,该功能单元包括但不限于各算术逻辑单元(ALU)、各浮点单元(FPU)和各单指令多数据(SIMD)单元。使用多个处理器核心的CPU的示例包括CPU的Power PC线,其可从国际商业机器公司(IBM)得到。
如图示,每个处理器核心112可访问其自身的一级(L1)缓存114以及更大的共享二级(L2)缓存116。一般地,由处理器核心112使用的数据拷贝可本地地存储在L2缓存116中,防止或减少对外部主存储器140的相对慢的访问数量。类似地,由处理器核心经常使用的数据可存储在其L1缓存114中,防止或减少对L2缓存116的相对减慢访问数量。
CPU110可经由系统或前端总线(FSB)128与各外部设备通信,外部设备如图形处理单元(GPU)130和/或存储控制器136。CPU110可包括FSB接口120,以在各外部设备与各处理核心112间(通过L2缓存)经由FSB128传递数据。在GPU130上的FSB接口132可具有与FSB接口120类似的部件,被配置用于与一个或更多的图形处理器134、输入输出(I/O)单元138和存储控制器136(图示说明为与GPU130集成)经由总线接口单元(BIU)135交换数据。
如所示,FSB接口120可包括物理层122、链路层124和处理层126。物理层122可包括各硬件部件,用于实现通过FSB128接收和发送数据所需要的硬件协议。物理层122可与链路层124交换数据,链路层124可格式化从处理层126接收或要发送到处理层126的数据。处理层126可与处理器核心112经由核心总线接口(CBI)118交换数据。对一些实施例,可通过FSB发送数据作为分组。因此,链路层124可包括电路(未显示),配置该电路以编码为分组或“分组化”从处理层126接收的数据,并且解码从物理层122接收的数据分组。
自动链路初始化
如前述,在CPU110和GPU130之间通过FSB128(或各设备之间任何其它类型的高速接口)传输的数据字节可变得偏离,这是由于不同的原因,如内部电容、内部部件中的不同(如驱动器和接收器)、内部数据路径的不同路由等。为了补偿这样的偏离,两个设备都可使用某类机制(如该机制可一起工作),以自动训练且激活各通信链路。这里描述的架构可用于在链路的两侧之间达到并维持同步(这里也称为链路训练),包括每个设备可指示其它设备其被同步的握手协议。
例如,如在图2中所示,链路层124可包括一个或更多的状态机230,一般地配置其监视本地物理层122,以及与本地设备通信的远程设备的物理层(如在GPU130的FSB接口132中的物理层)。虽然只显示通信链路的一侧(CPU120侧),但应当理解在链路的另一侧(如GPU130侧)可执行类似操作。如所示,状态机230也可分别地监视并控制在链路层124中的链路传输和接收逻辑210和220,以及用于保存向和从链路层124传输的数据的弹性缓冲区202。一般而言,术语弹性缓冲区指这样的缓冲区:其具有可调整的大小和/或延迟,以依靠链路层能多么迅速地填充或卸载(unload)数据,而对变化的时间量保存变化的数据量。
如所示,可提供比特去偏离部件204以补偿在接收的数据的比特间的偏离。如,通过多路复用各种时间延迟版本的比特信号以消除偏离,可达到合适的比特对准。对于一些实施例,在这里称为物理同步(Phy-Sync)分组214的已知的数据分组由在链路的另一端的设备传输时,比特去偏离部件204可自动调整每个比特以达到合适的对准。物理同步也可涉及使用摸拟相位检测电路将每个单独的数据比特对准与数据传输的时钟信号。换言之,在各单独的比特线上的信号实际上被延迟,以便合适地将其对准滞后其的一个或更多的比特信号。对各种比特信号可进行这些调整,直到产生的字节匹配在Phy-Sync分组中传输的已知模式。对一些实施例,在一个或更多的状态,状态机230可生成一个或更多的信号,导致链路传输逻辑210传输Phy-Sync分组流,允许对远程设备的物理层的类似调整。
示范的链路初始化状态
图3是根据本发明的一实施例,说明对应于状态机230的各种状态的状态图300。如所示,状态机230可开始在禁用状态302直到确定ENABLED信号。虽未显示,但应注意,如果未确定ENABLED信号,那么显示的每种状态(链路训练304、链路同步306和链路激活308和链路未激活310)也可直接转变为禁用状态。也应注意的是,对于一些实施例,可假定链路始终处于操作中并且可去除禁用状态302。对于禁用状态的各实施例,在缺少稳定(如反跳(debounced)某段时间)的功率信号时或在ENABLED信号在程序控制下(如经由可由程序代码访问的控制寄存器)未确定(de-assert)时,FSB接口120可保留在该状态。如所示,在禁用时,链路可从禁用状态302转变为链路训练状态304。
在链路训练状态304,可调整物理层122的硬件(驱动器和接收器)来匹配在链路另一端的远程设备的硬件(例如为合适的比特/字节去偏离和时钟对准而调整)。进入该状态后,链路传输逻辑210开始传输Phy-Sync分组214的连续流,启用远程设备硬件的训练。链路接收逻辑220也被启用并且开始寻找从远程设备接收的Phy-Sync分组的训练过程。物理层122可保留在该状态,而没有Phy-Sync分组214从远程设备接收,并且如果禁用ENABLED信号就可以转换回禁用状态。
对于一些实施例,在远程设备开始传输Phy-Sync分组(指示远程设备也已进入链路训练状态)时,并且在成功训练本地设备的物理链路122的接收器硬件时,发生从链路训练状态304到链路同步状态306的转变。对于一些实施例,例如,在去偏离逻辑204对比特对准已适当调整导致检测Phy-Sync分组时,通过确定PHY_LINK_TRAINED信号,物理层硬件可指示成功的训练。可替代地,在一些预定数量的Phy-Sync分组已被接收并且计数时,链路接收逻辑220可确定已训练成功。
在链路同步状态306,链路传输逻辑210可传输包括一些数量(M)的Phy-Sync分组的同步序列(Sync序列),其后跟随着具有已知数据模式的不同类型的分组(显示为图2中的链路同步分组216)。对于一些实施例,Phy-Sync和链路同步分组的区别可能仅在于一些小量的比特值。无论如何,传输链路同步分组向远程设备指示本地设备被训练。类似地,从远程设备接收链路同步分组指示远程设备被训练。对于一些实施例,链路接收逻辑220可通过确定LINK_SYNC_RECEIVED信号指示接收链路同步分组,导致传输到链路激活状态308。
链路激活状态308指示链路两侧的物理和链路层122和124已进行必要的握手,以确认其相互间可传送信息。因此,在这种状态,分组可任意在本地和远程设备间传送。由于由环境因素导致的各驱动器、接收器和布线的时间变化,本地和远程设备可处于放弃同步的危险中(由于比特偏离)。因此,为了维持同步并且停留在链路激活状态308,可要求在链路上的每个设备定期地传输同步序列(由链路同步分组跟随的M个Phy-Sync分组),从而允许链路硬件的周期调整。对于一些实施例,如果在某期满周期内(如可调整的链路同步期满周期)周期同步序列没有被接收,可开始链路的重新训练。
例如,如果没有在预定的链路同步期满周期内接收同步序列,就可发生到链路未激活状态的转变。如果ENABLED信号仍被确定,就可发生从链路未激活状态310回到链路训练状态304的转变,否则可发生回到禁用状态302的转变。对于一些实施例,链路未激活状态310是可选的并且可去除。
示范的链路训练操作
图4是说明示范操作400的流程图,示范操作400相对在图3中说明的每个状态在本地设备进行。操作400在步骤402开始,如系统功率增加(powerup)时,就进入禁用状态302。在步骤404,设备保留在禁用状态302,直到确定ENABLED信号。在步骤406,一旦确定ENABLED信号,设备就转变为链路训练状态304,并且启用链路接收逻辑。在步骤408,链路传输逻辑408开始将Phy-Sync分组发送到远程设备。
一旦接收Phy-Sync分组(或训练物理链路),PHY_LINK_TRAINED信号可在步骤412确定,使得转变到链路同步状态306。在步骤414,同步序列(链路同步分组跟随的Phy-Sync分组)被传输到远程设备,提供表示训练本地设备。在步骤416,本地设备保留在链路同步状态306直到从远程设备接收链路同步分组,表示远程设备也被训练。一旦从远程设备接收链路同步分组,本地设备就可转变为链路激活状态308,并且在步骤418各分组可随意交换。如所示,本地设备在步骤420可定期地将同步序列发送到远程设备。如果在步骤422同步序列没有定期地从远程设备接收,那么本地设备将开始重新训练,例如,转变回链路训练状态304。
图5说明在本地设备上进行对应操作500时,将在远程设备上进行的链路训练操作550。虽然图5说明性地显示由本地设备开始的链路训练,但应当明白的是:在系统功率增加时,链路的任何一端实际上可独立开始训练,并且将哪个设备(如CPU或GPU)视为本地设备和远程设备是有些随意的。
在任何情形下,操作500通过从本地设备将Phy-Sync分组传输到远程设备开始。在步骤552,在远程设备检测Phy-Sync分组,远程设备开始传输Phy-Sync分组。典型地,链路的两侧在启用时开始传输Phy-Sync分组,如果其状态机指示远程侧需要它们。在步骤504,在本地设备接收Phy-Sync分组,本地设备传输同步(Sync)序列给远程设备作为响应。在步骤556,远程设备接收同步序列使得转变到链路激活状态。远程设备可在步骤558通过发回同步序列给本地设备作为响应。在步骤508,本地设备接收同步序列使得转变为链路激活状态。在步骤510和560,对于在链路激活状态的两个设备,它们可自由地交换分组。如所示,为了维持同步,在步骤512和562,每个设备可定期地发送同步序列。如果在步骤514或564任何一个设备未能在预定的周期内接收同步序列,在步骤516或566(从此可开始链路重新训练)那个设备可转变为链路未激活状态。
总结
通过在硬件中进行特别设计的操作,用于通过通信链路在两个或更多的设备间通信的部件可自动训练而不要求软件交互。因此,设备可在功率增加时立即开始链路训练,这可根据软件需要的时间而导致全面训练的链路的可用性。
虽然前述针对本发明的各实施例,然而可不脱离其基本范围而设计本发明的其它和进一步的实施例,并且本发明的范围由权利要求书确定。
Claims (22)
1.一种训练本地设备的方法,用于在没有软件干预的情况下通过通信链路与远程设备通信,该方法在硬件控制下包括:
(a)从本地设备通过通信链路将多个第一预定义的分组传输到远程设备;
(b)对一个或更多的第一预定义的数据分组监视通信链路,该第一预定义的数据分组从远程设备通过通信链路被传输到本地设备;
(c)从本地设备通过通信链路向远程设备传输包括由第二预定义的分组跟随的多个第一预定义的分组的同步序列,以响应由本地设备从远程设备接收一个或更多的第一预定义的数据分组;以及
(d)只在从远程设备接收指示远程设备被训练的一个或更多的第二预定义的分组之后,允许在软件控制下的分组交换。
2.根据权利要求1所述的方法,还包括从本地设备通过通信链路定期地将同步序列传输到远程设备。
3.根据权利要求2所述的方法,还包括:如果在预定的期满周期内同步序列未从远程设备接收,则由本地设备重复步骤(a)-(c)。
4.根据权利要求1所述的方法,其中对从远程设备通过通信链路传输到本地设备的一个或更多的第一预定义的数据分组监视通信链路包括:对通过通信链路接收的数据比特间的偏离进行调整。
5.根据权利要求4所述的方法,其中对通过通信链路接收的数据比特间的偏离进行调整包括:相对于其它比特和/或时钟信号延迟一个或更多的比特,直到第一预定义的数据分组被检测。
6.根据权利要求5所述的方法,还包括确定信号以指示已经检测到第一预定义的数据分组。
7.根据权利要求1所述的方法,还包括确定信号以指示已经由本地设备从远程设备接收到一个或更多的第二数据分组。
8.一种训练用于通过链路通信的两个设备的方法,包括:
在每个设备中进行初始硬件控制的链路训练,以补偿在通过链路传输的数据比特间的偏离;
在各设备间进行硬件控制的握手以指示成功的链路训练;以及
在每个设备中进行周期的硬件控制的链路训练,以定期地对在通过链路传输的数据比特间的偏离进行调整。
9.根据权利要求8所述的方法,其中在每个设备中进行初始的硬件控制的链路训练包括:由每个设备将第一预定义的数据分组的流发送到另一设备,并且从另一设备接收第一预定义的数据分组的流。
10.根据权利要求8的所述的方法,其中在各设备间进行硬件控制的握手以指示成功的链路训练包括:从每个设备到另一设备发送包括至少一个第二预定义的数据分组的分组序列。
11.一种自初始化总线接口,用于在包括总线接口的第一设备和第二设备间通过通信链路通信,该自初始化总线接口包括:
硬件状态机,配置于在链路训练状态期间将第一预定的分组传输到第二设备,并且转变为激活状态,以响应检测从第二设备接收的第二预定的分组,指示第二设备被训练。
12.根据权利要求11所述的自初始化总线接口,其中数据分组的软件控制的交换只在激活状态被允许。
13.根据权利要求11所述的自初始化总线接口,还包括:
去偏离电路,用于调整在一条或多条通信链路的比特线上接收的信号的延迟,以响应从第二设备接收的第一预定的分组。
14.根据权利要求11所述的自初始化总线接口,其中状态机还配置于定期地将包括一个或更多的第一预定的数据分组以及至少一个第二预定的数据分组的同步序列传输到第二设备。
15.根据权利要求14所述的自初始化总线接口,其中状态机还配置于:如果预定的时间周期经过而未从第二设备接收包括一个或更多的第一预定的数据分组以及至少一个第二预定的数据分组的同步序列,就转变回链路训练状态。
16.一种系统,包括:
具有多条并行比特线的总线;
第一处理设备;
第二处理设备,经由总线与第一处理设备耦合;以及
在每个第一和第二处理设备上的自初始化总线接口,每个设备中的总线接口配置于在没有软件交互的情况下进行:初始链路训练以补偿通过链路传输的数据比特间的偏离,与另一设备的握手以指示成功的链路训练,以及周期链路训练以对在通过总线传输的数据比特间的偏离进行调整。
17.根据权利要求16所述的系统,其中在每个设备上的总线接口配置于在初始链路训练期间传输第一预定的分组的流。
18.根据权利要求17所述的系统,其中在每个设备上的总线接口包括去偏离电路,其配置于延迟在一条或多条总线比特线上接收的比特信号,直到第一预定的分组被检测。
19.根据权利要求16所述的系统,其中由每个设备的总线接口进行的握手包括:
通过向另一设备发送第二预定的数据分组指示该设备被训练;以及
从另一设备接收第二预定的数据分组指示另一设备被训练。
20.根据权利要求16所述的系统,其中由每个设备的总线接口进行的周期链路训练包括:
定期地向另一设备传输包括多个第一预定的数据分组和至少一个第二数据分组的同步序列。
21.根据权利要求20所述的系统,其中每个设备的总线接口还配置于:如果未从另一设备定期地接收同步序列,就重复初始链路训练。
22.根据权利要求16所述的系统,其中第一处理设备是中央处理单元(CPU)而第二处理设备是图像处理单元(GPU)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/932,710 | 2004-09-02 | ||
US10/932,710 US20060047862A1 (en) | 2004-09-02 | 2004-09-02 | Automatic hardware data link initialization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1744065A true CN1744065A (zh) | 2006-03-08 |
CN100399312C CN100399312C (zh) | 2008-07-02 |
Family
ID=35944782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100737150A Expired - Fee Related CN100399312C (zh) | 2004-09-02 | 2005-05-20 | 自动硬件数据链路初始化方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060047862A1 (zh) |
CN (1) | CN100399312C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636620A (zh) * | 2014-09-26 | 2018-01-26 | 英特尔公司 | 基于运行时间性能特性的链路再训练 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100859833B1 (ko) * | 2006-07-20 | 2008-09-23 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
DE102010029349A1 (de) * | 2010-05-27 | 2011-12-01 | Robert Bosch Gmbh | Steuereinheit zum Austausch von Daten mit einer Peripherieeinheit, Peripherieeinheit, und Verfahren zum Datenaustausch |
KR101696124B1 (ko) * | 2012-10-22 | 2017-01-12 | 인텔 코포레이션 | 고성능 인터커넥트 물리 계층 |
US10164905B2 (en) * | 2014-02-06 | 2018-12-25 | Mellanox Technologies, Ltd. | Efficient management of network traffic in a multi-CPU server |
US11580396B2 (en) | 2020-10-13 | 2023-02-14 | Aira Technologies, Inc. | Systems and methods for artificial intelligence discovered codes |
US11088784B1 (en) | 2020-12-24 | 2021-08-10 | Aira Technologies, Inc. | Systems and methods for utilizing dynamic codes with neural networks |
US11575469B2 (en) | 2020-12-28 | 2023-02-07 | Aira Technologies, Inc. | Multi-bit feedback protocol systems and methods |
US11368250B1 (en) | 2020-12-28 | 2022-06-21 | Aira Technologies, Inc. | Adaptive payload extraction and retransmission in wireless data communications with error aggregations |
US11477308B2 (en) | 2020-12-28 | 2022-10-18 | Aira Technologies, Inc. | Adaptive payload extraction in wireless communications involving multi-access address packets |
US11483109B2 (en) | 2020-12-28 | 2022-10-25 | Aira Technologies, Inc. | Systems and methods for multi-device communication |
US11191049B1 (en) * | 2020-12-28 | 2021-11-30 | Aira Technologies, Inc. | Systems and methods for improving wireless performance |
US20220291955A1 (en) | 2021-03-09 | 2022-09-15 | Intel Corporation | Asynchronous input dependency resolution mechanism |
US11496242B2 (en) | 2021-03-15 | 2022-11-08 | Aira Technologies, Inc. | Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets |
US11489623B2 (en) | 2021-03-15 | 2022-11-01 | Aira Technologies, Inc. | Error correction in network packets |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623610A (en) * | 1994-10-31 | 1997-04-22 | Intel Corporation | System for assigning geographical addresses in a hierarchical serial bus by enabling upstream port and selectively enabling disabled ports at power on/reset |
US5606374A (en) * | 1995-05-31 | 1997-02-25 | International Business Machines Corporation | Video receiver display of menu overlaying video |
US6456606B1 (en) * | 1999-03-24 | 2002-09-24 | Qualcomm Incorporated | Handoff control in an asynchronous CDMA system |
US6449699B2 (en) * | 1999-03-29 | 2002-09-10 | International Business Machines Corporation | Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems |
CN1145291C (zh) * | 2001-07-18 | 2004-04-07 | 华为技术有限公司 | 一种无线链路无线帧同步状态物理层反馈处理方法 |
US6539081B2 (en) * | 2001-07-20 | 2003-03-25 | Adtran Inc. | Method of establishing signaling rate for single-line digital subscriber link providing extended range ADSL service with auxiliary pots channel |
US6820174B2 (en) * | 2002-01-18 | 2004-11-16 | International Business Machines Corporation | Multi-processor computer system using partition group directories to maintain cache coherence |
US7088735B1 (en) * | 2002-02-05 | 2006-08-08 | Sanera Systems, Inc. | Processing data packets in a multiple protocol system area network |
KR20030085401A (ko) * | 2002-04-30 | 2003-11-05 | 주식회사 현대시스콤 | 에이치엘이에이-비2 |
US7103748B2 (en) * | 2002-12-12 | 2006-09-05 | International Business Machines Corporation | Memory management for real-time applications |
US6820143B2 (en) * | 2002-12-17 | 2004-11-16 | International Business Machines Corporation | On-chip data transfer in multi-processor system |
US6961820B2 (en) * | 2003-02-13 | 2005-11-01 | International Business Machines Corporation | System and method for identifying and accessing streaming data in a locked portion of a cache |
DE60301384T2 (de) * | 2003-02-28 | 2006-03-09 | Alcatel | Verfahren zur Übertragung von Paketen mit zwei verschiedenen Leitungscodes und geeigneter Sender und Empfänger |
US6862027B2 (en) * | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
US7711878B2 (en) * | 2004-05-21 | 2010-05-04 | Intel Corporation | Method and apparatus for acknowledgement-based handshake mechanism for interactively training links |
-
2004
- 2004-09-02 US US10/932,710 patent/US20060047862A1/en not_active Abandoned
-
2005
- 2005-05-20 CN CNB2005100737150A patent/CN100399312C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636620A (zh) * | 2014-09-26 | 2018-01-26 | 英特尔公司 | 基于运行时间性能特性的链路再训练 |
CN107636620B (zh) * | 2014-09-26 | 2021-01-05 | 英特尔公司 | 基于运行时间性能特性的链路再训练 |
Also Published As
Publication number | Publication date |
---|---|
CN100399312C (zh) | 2008-07-02 |
US20060047862A1 (en) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100399312C (zh) | 自动硬件数据链路初始化方法和系统 | |
US9219560B2 (en) | Multi-protocol SerDes PHY apparatus | |
US9229897B2 (en) | Embedded control channel for high speed serial interconnect | |
US9479279B2 (en) | Multiple protocol tunneling using time division operations | |
US6757348B1 (en) | High-speed coordinated multi-channel elastic buffer | |
TWI417703B (zh) | 相容於通用序列匯流排協定之時脈同步方法 | |
US11546128B2 (en) | Device and computing system including the device | |
KR20030085141A (ko) | 지연 시간 보상 코어, 병렬-직렬 구조 시스템 및 지연시간 보상 방법 | |
CA2517426C (en) | Pre-empting low-priority traffic with high-priority traffic | |
JP2007251947A (ja) | マルチマスタのチェーン接続された二線シリアルバス | |
US6308223B1 (en) | Process for the synchronization of programs on different computers of an interconnected system | |
CN114446363A (zh) | 存储装置和存储装置的操作方法 | |
US11729030B2 (en) | De-skew circuit, de-skew method, and receiver | |
US10191884B2 (en) | Managing a multi-lane serial link | |
US7558893B2 (en) | Latency optimized data alignment racheting scheme | |
US6931468B2 (en) | Method and apparatus for addressing multiple devices simultaneously over a data bus | |
US11782792B2 (en) | PCIe interface and interface system | |
US7007115B2 (en) | Removing lane-to-lane skew | |
RU2677376C2 (ru) | Регулировка синхронизации стека для последовательной связи | |
US20040010625A1 (en) | Interface device and method for transferring data over serial ATA | |
US20050262184A1 (en) | Method and apparatus for interactively training links in a lockstep fashion | |
KR100337059B1 (ko) | 탄성 버스 인터페이스 데이터 버퍼 | |
EP1972126B1 (en) | A method for high speed framing and a device having framing capabilities | |
CN114090494B (zh) | 数据传输方法、装置、设备和存储介质 | |
KR20000026467A (ko) | 비동기 데이터 통신 장치 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080702 |