CN1523490A - 校准多个数据信道的数据传输时序的电路及方法 - Google Patents
校准多个数据信道的数据传输时序的电路及方法 Download PDFInfo
- Publication number
- CN1523490A CN1523490A CNA2004100300587A CN200410030058A CN1523490A CN 1523490 A CN1523490 A CN 1523490A CN A2004100300587 A CNA2004100300587 A CN A2004100300587A CN 200410030058 A CN200410030058 A CN 200410030058A CN 1523490 A CN1523490 A CN 1523490A
- Authority
- CN
- China
- Prior art keywords
- symbol
- data channel
- data
- initial value
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005540 biological transmission Effects 0.000 title claims description 75
- 239000000872 buffer Substances 0.000 claims description 60
- 238000012360 testing method Methods 0.000 claims description 52
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000035126 Facies Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供一种校准多个数据信道的数据传输时序的电路及方法,该方法包含有当在一数据信道上检测到多个起始符号时,依据对应该多个起始符号的调整符号数量分别使用不同的初始值重置对应该数据信道的计数值;当在该数据信道未检测到一起始符号时,使用一递增量来增加该数据信道的计数值;以及当在一预定时间长度中未在该多个数据信道检测到一起始符号时,依据对应该多个数据信道的多个计数值来校准该多个数据信道的数据传输时序。
Description
技术领域
本发明涉及一种控制数据传输的电路与方法,特别涉及一种校准(align)多个数据信道的数据传输时序的电路及方法。
背景技术
一般而言,计算机系统中的数据传输主要是通过总线来将预定数据自一来源装置传输至一目标装置,例如目前广泛应用的PCI总线,其所提供的频宽为133MB/s,然而,随着磁盘阵列系统与高速网络(Gigabit Ethernet)的逐渐兴盛,因此PCI总线已渐渐无法满足使用者的需求。由于芯片组的制造厂商已预见上述状况的发生,因此业界便提出其它总线架构以减轻PCI总线的负担,举例来说,随着3D图形处理技术的发展,当PCI总线于显示卡与系统内存之间负责传递庞大的影像数据时,影像数据会因为占用了PCI总线的有限频宽而影响其它连接于PCI总线的周边装置的操作,所以业界便提出加速图形连接端口(accelerated graphics port,AGP)的架构来取代PCI总线以传递影像数据,不但可降低PCI总线的负担,亦可进一步地提升3D图形处理的效能。
由上可知,随着计算机系统中各组件的数据处理能力不断提升,PCI总线的负担也随之加重,因此第三代输入/输出接口(3rd generation I/O,3GIO),亦即PCI Express总线正不断发展来取代已知PCI总线以提供所需的大量频宽,如业界所已知,PCI Express总线可利用更高的操作时钟以及应用更多的数据信道(lane)来提升其效能,请参阅图1,图1为已知PCI Express总线使用多个数据信道来传递数据的示意图。假设一输出装置10欲将一数据流14a传输至一接收装置12,由于PCI Express总线11提供可四个数据信道Lane0、Lane1、Lane2、Lane3,因此当输出装置10输出数据流14a时,数据流14a中所包含的字节B0-B7便会分别经由数据信道Lane0、Lane1、Lane2、Lane3来传递,亦即字节B0、B1是由数据信道Lane0输出至接收装置12,字节B2、B3是由数据信道Lane1输出至接收装置12,字节B4、B5是由数据信道Lane2输出至接收装置12,以及字节B6、B7是由数据信道Lane 3输出至接收装置12,最后,接收装置12便可得到所要的数据流14b。
由于输出装置10与接收装置12的操作时钟不同,因此若输出装置10的操作时钟高于接收装置12的操作时钟,则输出装置10输出数据流14a的传输率便快于接收装置12撷取数据流14b的接收率,因此便会造成数据上溢(overflow)的情况;相反地,若输出装置10的操作时钟低于接收装置12的操作时钟,则输出装置10输出数据流14a的传输率便慢于接收装置12撷取数据流14b的接收率,因此便会造成数据下溢(underflow)的情况,所以为了解决输出装置10与接收装置12的不同操作时钟所带来的问题,接收装置12便设置有多个弹性缓冲器(elastic buffer)来调节输出装置10经由数据信道Lane0、Lane1、Lane2、Lane3所传递的数据。依据PCI express的规范,输出装置10会输出有序符号集合(ordered set)以供弹性缓冲器来平衡输出装置10与接收装置12的不同操作时钟,举例来说,输出装置10所输出的每一有序符号集合包含有一起始符号(COM symbol)以及三个调整符号(SKP symbol),所以当接收装置12上一弹性缓冲器接收到多个有序符号集合时,若输出装置10的操作时钟高于接收装置12的操作时钟,则该弹性缓冲器可经由减少有序符号集合中的调整符号来达到降低输出装置10的数据传输率的目的,所以便可避免上述数据上溢的问题。另一方面,若输出装置10的操作时钟低于接收装置12的操作时钟,则该弹性缓冲器可经由增加有序符号集合中的调整符号来达到提升输出装置10的数据传输率的目的,所以便可避免上述数据下溢的问题。
一般而言,输出装置10会于同一时间分别输出有序符号集合至数据信道Lane0、Lane1、Lane2、Lane3,然而,数据信道Lane0、Lane1、Lane2、Lane3可能会分别对应不同的线路布局而具有不同的长度与阻抗,亦即在数据传输的过程中,数据信道Lane0、Lane1、Lane2、Lane3会分别造成传递数据产生不同程度的延迟,因此,数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序便会产生偏移(skew)的现象,换句话说,接收装置12并无法于同一时间点处理在数据信道Lane0、Lane1、Lane2、Lane3上传递的字节B0、B1、B2、B3。所以,为了使接收装置12可正确地撷取出所要的数据流14b,如何校准(align)多个数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序便成为使用PCI Express总线的重要课题。
发明内容
因此,本发明提供一种校准多个数据信道的数据传输时序的电路及方法,以解决上述问题。
根据本发明,是揭露一种校准多个数据信道的数据传输时序的方法,该多个数据信道是分别电连接于多个弹性缓冲器,该方法包含有:(a)当在一数据信道上检测到一起始符号时,判断对应该数据信道的弹性缓冲器是否调整对应该起始符号的有序符号集合中的调整符号,若对应该数据信道的弹性缓冲器增加一调整符号至对应该起始符号的有序符号集合,则使用一第一初始值重置对应该数据信道的计数值,若对应该数据信道的弹性缓冲器减少一调整符号至对应该起始符号的有序符号集合,则使用一第二初始值重置对应该数据信道的计数值,以及若对应该数据信道的弹性缓冲器未调整对应该起始符号的有序符号集合中的调整符号,则使用一第三初始值重置对应该数据信道的计数值;(b)当在该数据信道未检测到一起始符号时,使用一递增量来增加该数据信道的计数值;以及(c)当在一预定时间长度中未在该多个数据信道检测到一起始符号时,依据对应该多个数据信道的多个计数值来校准该多个数据信道的数据传输时序。
由于本发明校准数据传输时序的电路及方法是使各有序符号集合中的最后一调整符号对应相同的计数值,因此尽管各弹性缓冲器在不同的时间点进行调整符号的增加或减少,本发明校准数据传输时序的电路及方法仍可依据计数值来正确地得知数据信道之间的时序偏移关系。此外,在运算计数值的过程中,本发明校准数据传输时序的电路及方法是同步地计算一偏移值,该偏移值会对应计数值中的最小值,因此当最后计算需补偿的时钟周期数时,可经由简单的逻辑运算来得知计数值与偏移值之间的差量,换句话说,本发明校准数据传输时序的电路及方法便不需另启动一复杂的比较运算与搜寻程序以找出计数值中的最小值,因此可降低电路复杂度以及提升校准数据传输时序的执行效能。
附图简述
图1为已知PCI Express总线使用多个数据信道来传递数据的示意图。
图2为本发明时序校准电路的功能方块示意图。
图3为本发明时序校准电路校准多个数据信道的数据传输时序的第一种操作示意图。
图4为本发明时序校准电路校准多个数据信道的数据传输时序的第二种操作示意图。
附图符号说明
10 输出装置 11 PCI Express总线
12 接收装置 14a、14b 数据流
20 时序校准电路 22a、22b、22c、 弹性缓冲器
22d
24a、24b、24c、 检测电路 26 去偏移模块
24d
28a、28b、28c、 去偏移缓冲器 30 判断逻辑电路
28d
32 触发电路 33 控制电路
34a、34b、34c、 计数器
34d、36
具体实施方式
请参阅图2,图2为本发明时序校准电路20的功能方块示意图。时序校准电路20包含有多个弹性缓冲器22a、22b、22c、22d,多个检测电路24a、24b、24c、24d,一去偏移模块(Lane-to-Lane de-skew module)26,以及多个去偏移缓冲器(de-skew buffer)28a、28b、28c、28d。此外,去偏移模块26中设置有一判断逻辑电路30,一触发电路32,一控制电路33,以及多个计数器34a、34b、34c、34d、36。本实施例中,时序校准电路20是处理四个数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序偏移,请注意,时序校准电路20并未限定所处理的数据信道的数量,亦实时序校准电路20可处理多个数据信道的数据传输时序之间的偏移。弹性缓冲器22a、22b、22c、22d是分别对应数据信道Lane0、Lane1、Lane2、Lane3,用来调整数据信道Lane0、Lane1、Lane2、Lane3上传输的有序符号集合中的调整符号,亦即,如前所述,弹性缓冲器22a、22b、22c、22d是用来解决图1中输出装置10与接收装置12之间的不同步时钟所造成的数据上溢与数据下溢的问题。检测电路24a、24b、24c、24d是用来检测数据信道Lane0、Lane1、Lane2、Lane 3上传输的有序符号集合中的起始符号,并进一步地告知判断逻辑电路30。本实施例中,判断逻辑电路30会依据数据信道Lane0、Lane1、Lane2、Lane3上调整符号的增加或减少来重置计数器34a、34b、34c、34d,以设定对应数据信道Lane0、Lane1、Lane2、Lane3的计数值(count value)。此外,判断逻辑电路30另会依据数据信道Lane0、Lane1、Lane2、Lane3上调整符号的增加或减少来驱动计数器36以计算一偏移值(offset value)。触发电路32则会依据检测电路24a、24b、24c、24d的检测结果来触发一控制信号COMDET对应高逻辑电平或低逻辑电平,亦即控制信号COMDET可表示数据信道Lane0、Lane1、Lane2、Lane3是否接收到有序符号集合中的起始符号。最后,控制电路33便依据控制信号COMDET来驱动去偏移缓冲器28a、28b、28c、28d调整数据信道Lane0、Lane1、Lane2、Lane3之间的数据传输时序偏移。
控制电路33会读取计数器34a、34b、34c、34d、36所记录的计数值与偏移值来计算校准数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序所需补偿的时钟周期数,其操作详述如下。请参阅图2与图3,图3为本发明时序校准电路20校准数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序的第一种操作示意图。当一检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据下列规则来设定计数器34a、34b、34c、34d所产生的计数值。
规则一:若一数据信道上减少一调整符号时,使用一初始值3设定对应该数据信道的计数值。
规则二:若一数据信道上增加一调整符号时,使用一初始值1设定对应该数据信道的计数值。
规则三:若一数据信道上未增加或减少一调整符号时,使用一初始值2设定对应该数据信道的计数值。
此外,当一检测电路24a、24b、24c、24d未检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据下列规则来驱动计数器34a、34b、34c、34d。
规则四:若一数据信道上未检测到一起始符号时,则对应该数据信道的计数值增加一递增值1。
所以,假设弹性缓冲器22a、22b、22c、22d为了平衡输出装置与接收装置之间不同步操作时钟,因此其会调整数据信道Lane0-Lane3上的多个有序符号集合,且最后的结果如图3所示,其中“C”代表起始符号,“S”代表调整符号,此外,“CA”是代表起始符号,且相对应有序符号集合中增加一调整符号,以及“CD”是代表起始符号,且相对应有序符号集合中减少一调整符号。以计数器34a所产生的计数值C0为例,在时间t1时,检测电路24a检测到一起始符号,而判断逻辑电路30判断数据信道Lane0此时并未由弹性缓冲器22a减少或增加相对应有序符号集合中的调整符号,因此依据规则三,判断逻辑电路30会使用初始值2来设定对应数据信道Lane0的计数值C0,亦即计数值C0等于2。接着,在时间t2时,检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会使用递增值1来增加计数值C0,所以计数值C0便等于3;同理,在时间t3、t4时,检测电路24a并未检测到一起始符号,所以计数器34a便依序使用递增值1来增加计数值C0,因此在时间t5前,计数值C0会等于5。在时间t5时,检测电路24a检测到一起始符号,且判断逻辑电路30判断数据信道Lane0此时并未由弹性缓冲器22a减少或增加相对应有序符号集合中的调整符号,因此依据规则三,判断逻辑电路30会使用初始值2来设定对应数据信道Lane0的计数值C0。接着,在时间t6、t7、t8时,检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会逐一使用递增值1来增加计数值C0,因此在时间t9前,计数值C0会等于5。
在时间t9时,检测电路24a检测到一起始符号,并且判断逻辑电路30判断数据信道Lane0此时由弹性缓冲器22a减少相对应有序符号集合中的调整符号,因此依据规则一,判断逻辑电路30会使用初始值3来设定对应数据信道Lane0的计数值C0。接着,在时间t10、t11时,检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会逐一使用递增值1来增加计数值C0,因此在时间t12前,计数值C0会等于5。在时间t12时,检测电路24a检测到一起始符号,并且判断逻辑电路30判断数据信道Lane0此时由弹性缓冲器22a增加相对应有序符号集合中的调整符号,因此依据规则一,判断逻辑电路30会使用初始值1来设定对应数据信道Lane0的计数值C0。接着,在时间t13、t14、t15、t16时,检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会逐一使用递增值1来增加计数值C0,因此在时间t17前,计数值C0会等于5。此外,在后续时间t17-t21之间,数据信道Lane0上未出现任何起始符号,所以依据规则四,计数器34a会逐一使用递增值1来增加计数值C0。
对于其它计数器34b、34c、34d而言,其操作方式与上述计数器34a相同,亦即依据规则一、二、三、四的控制,计数值C1在时间t16前,计数值C1会等于5,而在后续时间t16-t21之间,数据信道Lane1上未出现任何起始符号,所以计数器34b会逐一使用递增值1来增加计数值C1;计数值C2在时间t18前,计数值C2会等于5,而在后续时间t18-t21之间,数据信道Lane2上未出现任何起始符号,所以计数器34c会逐一使用递增值1来增加计数值C2;计数值C3在时间t19前,计数值C3会等于5,而在后续时间t19-t21之间,数据信道Lane3上未出现任何起始符号,所以计数器34d会逐一使用递增值1来增加计数值C3。
由上可知,当检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,判断逻辑电路30是依据弹性缓冲器22a、22b、22c、22d对于调整符号的增加或减少来使用不同初始值设定相对应的计数值,换句话说,每当检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,相对应的计数值并不会以同一数值来加以重置,而是会考虑调整符号的增加或减少来加以设定相对应的计数值。
本实施例中,计数器36是用来计算一偏移值,当一检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据下列规则来设定计数器36所产生的偏移值V。
规则五:当一数据信道上减少一调整符号时,判断逻辑电路30便会依据目前所记录的偏移值V来控制计数器36,若目前所记录的偏移值V等于1,则使用初始值2设定偏移值V,若目前所记录的偏移值V不等于1,则使用初始值3来设定偏移值V。
规则六:若一数据信道上增加一调整符号时,使用初始值1设定偏移值V。
规则七:若一数据信道上未增加或减少一调整符号时,使用初始值2设定偏移值V。
此外,当检测电路24a、24b、24c、24d未检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据下列规则来驱动计数器36。
规则八:若一数据信道上未检测到一起始符号时,则偏移值V增加一递增值1。
偏移值V的运算方式与前述计数值C0、C1、C2、C3相类似,而依据规则五、六、七、八的控制,偏移值V便可于各时段纪录计数值C0、C1、C2、C3中的最小值,举例来说,在时段t6-t7中,计数值C2最小,因此偏移值V会纪录数值1,而在时端t8-t9中,计数值C4最小,因此偏移值V便会纪录数值2。
当检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,触发电路32会驱使控制信号COMDET对应高逻辑电平,而当检测电路24a、24b、24c、24d未检测到有序符号集合中的起始符号时,触发电路32会重置控制信号COMDET对应低逻辑电平,如图3所示,控制信号COMDET会在时段t0-t4、t5-t10、t11-t13、t14-t16对应高逻辑电平,用来表示数据信道Lane0、Lane1、Lane2、Lane3有传递起始符号,然而,当控制信号COMDET对应低逻辑电平的时间超过一预定时间时,则时序校准电路20便会开始校准数据信道Lane0、Lane1、Lane2、Lane3之间的数据传输时序偏移。举例来说,假设每一时段(例如t0-t1)是为时序校准电路20的一时钟周期,因此本实施例在控制信号COMDET对应低逻辑电平的时间超过2时钟周期时即会启动控制电路33来控制数据传输时序的调整,由图3可知,在时间t18时,控制电路33会开始操作,此时计数值C0、C1、C2、C3是分别纪录6、7、5、4,且偏移值V是纪录计数值C0、C1、C2、C3的最小值,亦即4。因此,控制电路33便可依据计数值C0、C1、C2、C3与偏移值V来计算数据信道Lane0、Lane1、Lane2、Lane3需补偿的时钟周期数。明显地,计数值C0与偏移值V的差量为2,计数值C1与偏移值V的差量为3,计数值C2与偏移值V的差量为1,以及计数值C3与偏移值V的差量为0,换句话说,数据信道Lane0的数据传输时序领先数据信道Lane3的数据传输时序达到2个时钟周期,数据信道Lane1的数据传输时序领先数据信道Lane3的数据传输时序达到3个时钟周期,以及数据信道Lane2的数据传输时序领先数据信道Lane3的数据传输时序达到1个时钟周期,所以,控制电路33便依据上述计算出的时钟周期数目来驱动去偏移缓冲器28a、28b、28c、28d。
最后,去偏移缓冲器28a、28b、28c便会分别依据2个时钟周期,3个时钟周期,以及1个时钟周期来延迟数据信道Lane0、Lane1、Lane2所传递的数据,所以,经由输出装置同一时间输出至数据信道Lane0、Lane1、Lane2、Lane3的多个有序符号集合的辅助,本发明时序校准电路20便可同步数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序。所以,如图1所示,接收装置14b最后便可在一第一时间撷取由数据信道Lane0、Lane1、Lane2、Lane3所传递的多个字节B0、B1、B2、B3以及在一第二时间撷取由数据信道Lane0、Lane1、Lane2、Lane3所传递的多个字节B4、B5、B6、B7而得到所要的数据流14b。
对于上述操作流程而言,时序校准电路20是依据8-bit的运算架构来处理数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序,亦实时序校准电路20的每一周期仅处理数据信道Lane0、Lane1、Lane2、Lane3上所传输的一个字节,然而,本发明并未局限时序校准电路20每一时钟周期所处理的字节数量。请参阅图2与图4,图4为本发明时序校准电路20校准数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序的第二种操作示意图。本实施例中,时序校准电路20是依据16-bit的运算架构来处理数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序,因此,时序校准电路20的每一周期可处理数据信道Lane0、Lane1、Lane2、Lane3上所传输的两个字节。同样地,当一检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,判断逻辑电路30便会上述规则一、二、三来设定计数器34a、34b、34c、34d所产生的计数值,以及当一检测电路24a、24b、24c、24d未检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据上述规则四来驱动计数器34a、34b、34c、34d。
以计数器34a所产生的计数值C0为例,在时间t1时,检测电路24a检测到一起始符号,而判断逻辑电路30判断数据信道Lane0此时并未由弹性缓冲器22a减少或增加相对应有序符号集合中的调整符号,因此依据规则三,判断逻辑电路30会先使用初始值2来设定对应数据信道Lane0的计数值C0,亦即计数值C0等于2。请注意,由于时序校准电路20的每一周期可处理数据信道Lane0、Lane1、Lane2、Lane3上所传输的两个字节,因此当时序校准电路20处理下一调整符号时,由于检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会使用递增值1来增加计数值C0,所以在时间t2前,计数值C0便等于3。同理,在时间t2时,检测电路24a并未检测到一起始符号,所以计数器34a便依序使用递增值1来增加计数值C0,因此在时间t3前,计数值C0会等于5。在时间t3时,检测电路24a检测到一起始符号,且判断逻辑电路30判断数据信道Lane0此时并未由弹性缓冲器22a减少或增加相对应有序符号集合中的调整符号,因此依据规则三,判断逻辑电路30会使用初始值2来设定对应数据信道Lane0的计数值C0,而下一笔数据是为调整符号,由于检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会使用递增值1来增加计数值C0,因此在时间t4前,计数值C0会等于5。
在时间t5时,检测电路24a检测到一起始符号,并且判断逻辑电路30判断数据信道Lane0此时由弹性缓冲器22a减少相对应有序符号集合中的调整符号,因此依据规则一,判断逻辑电路30会使用初始值3来设定对应数据信道Lane0的计数值C0,而下一笔数据是为调整符号,由于检测电路24a并未检测到一起始符号,所以依据规则四,计数器34a会使用递增值1来增加计数值C0,因此在时间t6前,计数值C0会等于4。在时间t6时,检测电路24a未检测到一起始符号,所以依据规则三,判断逻辑电路30会使用初始值2来设定对应数据信道Lane0的计数值C0,然而下一笔数据是为起始符号,且判断逻辑电路30判断数据信道Lane0此时由弹性缓冲器22a增加相对应有序符号集合中的调整符号,因此依据规则一,判断逻辑电路30会使用初始值1来设定对应数据信道Lane0的计数值C0,所以在时间t7前,计数值C0是对应1。接着,在时间t8之后,数据信道Lane0上未出现任何起始符号,所以依据规则四,计数器34a会逐一使用递增值1来增加计数值C0,亦即于每一时钟周期中,计数值C0会增加2,其结果如图4所示。对于其它计数器34b、34c、34d而言,其操作方式与上述计数器34a相同,因此不再重复赘述。
如前所述,计数器36是用来计算一偏移值,当一检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据前述规则五、六、七来设定计数器36所产生的偏移值V,以及当检测电路24a、24b、24c、24d未检测到有序符号集合中的起始符号时,判断逻辑电路30便会依据前述规则八来驱动计数器36。同样地,偏移值V便可于各时段纪录计数值C0、C1、C2、C3中的最小值,举例来说,于时段t3-t4中,计数值C2最小,因此偏移值V会纪录数值1。
当检测电路24a、24b、24c、24d检测到有序符号集合中的起始符号时,触发电路32会驱使控制信号COMDET对应高逻辑电平,而当检测电路24a、24b、24c、24d未检测到有序符号集合中的起始符号时,触发电路32会重置控制信号COMDET对应低逻辑电平,如图4所示,控制信号COMDET会在时段t0-t9对应高逻辑电平,用来表示数据信道Lane0、Lane1、Lane2、Lane3有传递起始符号,所以当控制信号COMDET对应低逻辑电平的时间超过一预定时间时,则时序校准电路20便会开始校准数据信道Lane0、Lane1、Lane2、Lane3之间的数据传输时序偏移。已知时序校准电路20此时每一时钟周期可处理两个字节,所以本实施例中,当控制信号COMDET对应低逻辑电平的时向超过1时钟周期时即会启动控制电路33来控制数据传输时序的调整,由图4可知,在时间t10时,控制电路33会开始操作,此时计数值C0、C1、C2、C3是分别纪录7、8、6、5,且偏移值V的纪录计数值C0、C1、C2、C3的最小值,亦即5。因此,控制电路33便可依据计数值C0、C1、C2、C3与偏移值V来计算数据信道Lane0、Lane1、Lane2、Lane3需补偿的时钟周期数。明显地,计数值C0与偏移值V的差量为2,计数值C1与偏移值V的差量为3,计数值C2与偏移值V的差量为1,以及计数值C3与偏移值V的差量为0,换句话说,数据信道Lane0的数据传输时序领先数据信道Lane3的数据传输时序达到2个时钟周期,数据信道Lane1的数据传输时序领先数据信道Lane3的数据传输时序达到3个时钟周期,以及数据信道Lane2的数据传输时序领先数据信道Lane3的数据传输时序达到1个时钟周期。所以,控制电路33便依据上述计算出的时钟周期数目来驱动去偏移缓冲器28a、28b、28c、28d,最后,去偏移缓冲器28a、28b、28c便会分别依据2个时钟周期,3个时钟周期,以及1个时钟周期来延迟数据信道Lane0、Lane1、Lane2所传递的数据。最后,经由输出装置同一时间输出至数据信道Lane0、Lane1、Lane2、Lane3的多个有序符号集合的辅助,本发明时序校准电路20便可同步数据信道Lane0、Lane1、Lane2、Lane3的数据传输时序。
当检测到一数据信道上所传递的起始符号时,本发明校准数据传输时序的电路及方法是依据对应该数据信道的弹性缓冲器是否改变调整符号的数量来设定不同的计数值,因此计数值便可明确地对应有序符号集合的实际数据长度,亦即若调整符号的数量未调整,则使用一数值N来初始计数值,若减少一调整符号,相对应有序符号集合的数据长度会减少,因此利用一数值(N+K)来初始计数值,若增加一调整符号,相对应有序符号集合的数据长度会增加,所以利用一数值(N-K)来初始计数值,其中数值K是为计数值的递增量。假若输出装置所传递的有序符号集合包含有一个起始符号以及三个调整符号,所以若接收装置的弹性缓冲器未增减调整符号的数量,则最后一调整符号会造成计数值等于N+3K;若接收装置的弹性缓冲器减少一调整符号,亦即此时一有序符号集合包含有一个起始符号以及二个调整符号,而最后一调整符号亦会造成计数值等于N+3K;若接收装置的弹性缓冲器增加一调整符号,亦即此时一有序符号集合包含有一个起始符号以及四个调整符号,而最后一调整符号亦会造成计数值等于N+3K。
如业界所已知,由于制程的影响,对应多个数据信道的弹性缓冲器并非具有相同的组件特性,因此如图3所示,数据信道Lane0、Lane1、Lane2、Lane3上的有序符号集合是分别在不同的时间点进行调整符号的增加或减少,当检测到初始符号时,若使用相同数值来初始相对应计数值,则数据信道Lane0、Lane1、Lane2、Lane3之间的时序偏移关系便无法正确地依据计数值得知,以图3为例,计数值C0、C1、C2、C3在时间t19前会错误地分别对应7、8、5、4。所以,本发明校准数据传输时序的电路及方法是使各有序符号集合中的最后一调整符号对应相同的计数值,而非使各有序符号集合中的起始符号对应相同的计数值,因此尽管各弹性缓冲器于不同的时间点进行调整符号的增加或减少,本发明校准数据传输时序的电路及方法仍可依据计数值来正确地得知数据信道Lane0、Lane1、Lane2、Lane3之间的时序偏移关系。
此外,于运算计数值C0、C1、C2、C3的过程中,本发明校准数据传输时序的电路及方法是同步地计算一偏移值V,该偏移值会对应计数值C0、C1、C2、C3中的最小值,因此当最后计算需补偿的时钟周期数时,可经由简单的逻辑运算来得知计数值C0、C1、C2、C3与偏移值V之间的差量,换句话说,本发明校准数据传输时序的电路及方法便不需另启动复杂的比较运算与搜寻程序以找出计数值C0、C1、C2、C3中的最小值,因此可降低电路复杂度以及提升校准数据传输时序的执行效能。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (29)
1.一种校准多个数据信道的数据传输时序的方法,该多个数据信道是分别电连接于多个弹性缓冲器,该方法包含有:
(a)当在一数据信道上检测到一起始符号时,判断对应该数据信道的弹性缓冲器是否调整对应该起始符号的有序符号集合中的调整符号,若对应该数据信道的弹性缓冲器增加一调整符号至对应该起始符号的有序符号集合,则使用一第一初始值重置对应该数据信道的计数值,若对应该数据信道的弹性缓冲器减少一调整符号至对应该起始符号的有序符号集合,则使用一第二初始值重置对应该数据信道的计数值,以及若对应该数据信道的弹性缓冲器未调整对应该起始符号的有序符号集合中的调整符号,则使用一第三初始值重置对应该数据信道的计数值;
(b)当在该数据信道未检测到一起始符号时,使用一递增量来增加该数据信道的计数值;以及
(c)当在一预定时间长度中未在该多个数据信道检测到一起始符号时,依据对应该多个数据信道的多个计数值来校准该多个数据信道的数据传输时序。
2.如权利要求1所述的方法,其中,在步骤(a)中,该第二初始值大于该第三初始值,以及该第三初始值大于该第一初始值。
3.如权利要求1所述的方法,其中,在步骤(a)中,该第二初始值与该第三初始值的差量等于该第三初始值与该第一初始值的差量。
4.如权利要求1所述的方法,其中,在步骤(a)中,该第二初始值与该第三初始值的差量与该第三初始值与该第一初始值的差量均等于该递增量。
5.如权利要求1所述的方法,其另包含有:
(d)记录一偏移值,该偏移值是该多个计数值的最小值。
6.如权利要求5所述的方法,其中,步骤(d)另包含有:
当于该数据信道上检测到该起始符号时,若对应该数据信道的弹性缓冲器减少该调整符号至对应该起始符号的有序符号集合,使用该第二初始值重置该偏移值。
7.如权利要求5所述的方法,其中,步骤(d)另包含有:
当在该数据信道上检测到该起始符号时,若对应该数据信道的弹性缓冲器减少该调整符号至对应该起始符号的有序符号集合,且该偏移值是对应该第一初始值,使用该第三初始值重置该偏移值。
8.如权利要求5所述的方法,其中,步骤(d)另包含有:
当在该数据信道上检测到该起始符号时,若对应该数据信道的弹性缓冲器增加一调整符号至对应该起始符号的有序符号集合,使用该第一初始值重置该偏移值。
9.如权利要求5所述的方法,其中,步骤(d)另包含有:
当在该数据信道上检测到该起始符号时,若对应该数据信道的弹性缓冲器未调整对应该起始符号的有序符号集合中的调整符号,使用该第三初始值重置该偏移值。
10.如权利要求5所述的方法,其中,步骤(d)另包含有:
当在该多个数据信道未检测到一起始符号时,使用该递增量来增加该偏移值。
11.如权利要求5所述的方法,其中,步骤(c)另包含有:
计算该多个计数值与该偏移值之间的多个差量,并依据该多个差量来校准该多个数据信道的数据传输时序。
12.如权利要求1所述的方法,其中,步骤(c)另包含有:
若在该多个数据信道检测到一起始符号时,产生一控制信号由一第一逻辑电平对应一第二逻辑电平;以及
若于该多个数据信道未检测到一起始符号时,重置该控制信号由该第二逻辑电平对应该第一逻辑电平。
13.如权利要求1所述的方法,其中,在步骤(c)中,当该控制信号对应该第一逻辑电平的时间不小于该预定时间长度时,校准该多个数据信道的数据传输时序。
14.一种时序校准电路,用来校准多个数据信道的数据传输时序,该多个数据信道是分别电连接于多个弹性缓冲器,该时序校准电路包含有:
多个检测电路,电连接于该多个数据信道,用来检测该多个数据信道上所传递的有序符号集合中的起始符号;
多个第一计数器,电连接于该判断逻辑电路,用来计算对应该多个数据信道的多个计数值;
一判断逻辑电路,电连接于该多个检测电路与该多个第一计数器,用来在一检测电路在一数据信道上检测到一起始符号时,判断对应该数据信道的弹性缓冲器是否调整有序符号集合中的调整符号,若对应该数据信道的弹性缓冲器增加一调整符号至对应该起始符号的有序符号集合,则该判断逻辑电路使用一第一初始值重置对应该数据信道的计数值,若对应该数据信道的弹性缓冲器减少一调整符号至对应该起始符号的有序符号集合,则该判断逻辑电路使用一第二初始值重置对应该数据信道的计数值,以及若对应该数据信道的弹性缓冲器未调整对应该起始符号的有序符号集合中的调整符号,则该判断逻辑电路使用一第三初始值重置对应该数据信道的计数值;
多个去偏移缓冲器;以及
一控制电路,电连接于该多个第一计数器与该多个去偏移缓冲器,用来在该多个检测电路未在一预定时间长度中检测到该多个数据信道上一起始符号时,依据该多个计数值驱动该多个去偏移缓冲器校准该多个数据信道的数据传输时序;
其中,若该检测电路在该数据信道未检测到该起始符号,对应该数据信道的第一计数器是使用一递增量来增加对应该数据信道的计数值。
15.如权利要求14所述发时序校准电路,其中,该第二初始值大于该第三初始值,以及该第三初始值大于该第一初始值。
16.如权利要求14所述发时序校准电路,其中,该第二初始值与该第三初始值的差量等于该第三初始值与该第一初始值的差量。
17.如权利要求14所述的时序校准电路,其中,该第二初始值与该第三初始值的差量与该第三初始值与该第一初始值的差量均等于该递增量。
18.如权利要求14所述的时序校准电路,其另包含有:
一第二计数器,电连接于该判断逻辑电路,用来计算一偏移值,该偏移值是为该多个计数值的最小值。
19.如权利要求18所述的时序校准电路,其中,若该检测电路在该数据信道上检测到该起始符号时,该判断逻辑电路判断对应该数据信道的弹性缓冲器是否调整有序符号集合中的调整符号以使用该第一初始值、该第二初始值或该第三初始值重置该偏移值。
20.如权利要求18所述的时序校准电路,其中,若该检测电路在该多个数据信道未检测到一起始符号时,该第二计数器使用该递增量来增加该偏移值。
21.如权利要求14所述的时序校准电路,其中,该控制电路是计算该多个计数值与该偏移值之间的多个差量,并依据该多个差量来校准该多个数据信道的数据传输时序。
22.如权利要求14所述的时序校准电路,其另包含有:
一触发电路,电连接于该多个检测电路与该控制电路,用来产生一控制信号控制该控制电路驱动该多个去偏移缓冲器校准该多个数据信道的数据传输时序;
其中,若该多个检测电路在该多个数据信道检测到一起始符号,该触发电路触发该控制信号由一第一逻辑电平转变至一第二逻辑电平,以及若该多个检测电路在该多个数据信道未检测到一起始符号时,该触发电路重置该控制信号由该第二逻辑电平转变至该第一逻辑电平。
23.如权利要求22所述的时序校准电路,其中,若该控制信号对应该第一逻辑电平的时间不小于该预定时间长度时,该控制电路会开始驱动该多个去偏移缓冲器校准该多个数据信道的数据传输时序。
24.一种校准多个数据信道的数据传输时序的方法,其至少包含:
在每一数据信道中传送多个测试符号;以及
依据该多个测试符号在每一个数据信道中的传输状况,校准每一个数据信道的数据传输时序。
25.如权利要求24所述的方法,其中,每一测试符号包括多个起始符号与多个调整符号。
26.如权利要求25所述的方法,其中,以在每一个数据信道中的多个起始符号与多个调整符号的数目,校准每一个数据信道的数据传输时序。
27.如权利要求25所述的方法,其中,校准每一个数据信道的数据传输时序是在检测到该多个测试符号中最后一个起始符号之后,依据该多个起始符号与该多个调整符号的数目来校准每一个数据信道的数据传输时序。
28.如权利要求24所述的方法,其中,依据该多个测试符号的数目,决定每一个数据信道的偏移值,并依据该偏移值来校准每一个数据信道的数据传输时序。
29.如权利要求24所述的方法,其中,依据该多个测试符号的数目,决定每一个数据信道的偏移值,并依据该偏移值来决定每一个数据信道的时序延迟数目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48392703P | 2003-07-02 | 2003-07-02 | |
US60/483,927 | 2003-07-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1523490A true CN1523490A (zh) | 2004-08-25 |
CN1296814C CN1296814C (zh) | 2007-01-24 |
Family
ID=34312153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410030058.7A Expired - Lifetime CN1296814C (zh) | 2003-07-02 | 2004-03-18 | 校准多个数据信道的数据传输时序的电路及方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7225354B2 (zh) |
CN (1) | CN1296814C (zh) |
TW (1) | TWI249681B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270011A (zh) * | 2010-06-04 | 2011-12-07 | 智微科技股份有限公司 | 校准多个数据信道的数据传输时序的时序校准电路及时序校准方法 |
CN102034409B (zh) * | 2009-09-29 | 2013-01-09 | 奇景光电股份有限公司 | 用于传输数据的方法和应用此方法的显示器 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054331B1 (en) * | 2000-09-13 | 2006-05-30 | Intel Corporation | Multi-lane receiver de-skewing |
TWI249681B (en) * | 2003-07-02 | 2006-02-21 | Via Tech Inc | Circuit and method for aligning data transmitting timing of a plurality of lanes |
US7234007B2 (en) * | 2003-09-15 | 2007-06-19 | Broadcom Corporation | Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream |
US7631118B2 (en) * | 2003-12-31 | 2009-12-08 | Intel Corporation | Lane to lane deskewing via non-data symbol processing for a serial point to point link |
US7930377B2 (en) | 2004-04-23 | 2011-04-19 | Qlogic, Corporation | Method and system for using boot servers in networks |
US7669190B2 (en) | 2004-05-18 | 2010-02-23 | Qlogic, Corporation | Method and system for efficiently recording processor events in host bus adapters |
JP4417807B2 (ja) * | 2004-08-25 | 2010-02-17 | 株式会社東芝 | エラスティックバッファ |
US7577772B2 (en) * | 2004-09-08 | 2009-08-18 | Qlogic, Corporation | Method and system for optimizing DMA channel selection |
US20060064531A1 (en) * | 2004-09-23 | 2006-03-23 | Alston Jerald K | Method and system for optimizing data transfer in networks |
US7676611B2 (en) * | 2004-10-01 | 2010-03-09 | Qlogic, Corporation | Method and system for processing out of orders frames |
US7380030B2 (en) * | 2004-10-01 | 2008-05-27 | Qlogic, Corp. | Method and system for using an in-line credit extender with a host bus adapter |
US7392437B2 (en) * | 2005-01-20 | 2008-06-24 | Qlogic, Corporation | Method and system for testing host bus adapters |
US7346794B1 (en) * | 2005-01-21 | 2008-03-18 | Xilinx, Inc. | Method and apparatus for providing clocking phase alignment in a transceiver system |
US20060195288A1 (en) * | 2005-02-12 | 2006-08-31 | International Business Machines Corporation | Method for at speed testing of multi-clock domain chips |
US7281077B2 (en) * | 2005-04-06 | 2007-10-09 | Qlogic, Corporation | Elastic buffer module for PCI express devices |
US20070006009A1 (en) * | 2005-06-30 | 2007-01-04 | International Business Machines Corporation | Methods and apparatus for aligning data |
US7475311B2 (en) * | 2005-08-30 | 2009-01-06 | Kabushiki Kaisha Toshiba | Systems and methods for diagnosing rate dependent errors using LBIST |
US7783911B2 (en) * | 2006-06-27 | 2010-08-24 | International Business Machines Corporation | Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements |
US7752475B2 (en) * | 2006-06-27 | 2010-07-06 | International Business Machines Corporation | Late data launch for a double data rate elastic interface |
US7734944B2 (en) * | 2006-06-27 | 2010-06-08 | International Business Machines Corporation | Mechanism for windaging of a double rate driver |
US7739538B2 (en) * | 2006-06-27 | 2010-06-15 | International Business Machines Corporation | Double data rate chaining for synchronous DDR interfaces |
US7882322B2 (en) * | 2006-06-27 | 2011-02-01 | International Business Machines Corporation | Early directory access of a double data rate elastic interface |
US7536579B2 (en) * | 2006-08-03 | 2009-05-19 | Avalon Microelectronics, Inc. | Skew-correcting apparatus using iterative approach |
US7760836B2 (en) * | 2006-08-03 | 2010-07-20 | Avalon Microelectronics, Inc. | Skew-correcting apparatus using external communications element |
US7546494B2 (en) | 2006-08-03 | 2009-06-09 | Avalon Microelectronics Inc. | Skew-correcting apparatus using dual loopback |
US9014563B2 (en) | 2006-12-11 | 2015-04-21 | Cisco Technology, Inc. | System and method for providing an Ethernet interface |
US20080147916A1 (en) * | 2006-12-19 | 2008-06-19 | Via Technologies, Inc. | Data synchronization method of data buffer device |
US8036248B2 (en) * | 2008-10-29 | 2011-10-11 | Silicon Image, Inc. | Method, apparatus, and system for automatic data aligner for multiple serial receivers |
US8416813B1 (en) * | 2009-04-29 | 2013-04-09 | Tellabs Operations, Inc. | Methods and apparatus for clocking domain discovery in multi-domain networks |
JP5266164B2 (ja) * | 2009-08-25 | 2013-08-21 | ルネサスエレクトロニクス株式会社 | データ受信装置 |
TWI402684B (zh) * | 2009-10-22 | 2013-07-21 | Via Tech Inc | 通用串列匯流排裝置以及其校正方法 |
JP5426326B2 (ja) * | 2009-11-09 | 2014-02-26 | ルネサスエレクトロニクス株式会社 | データ受信装置、データ受信方法、及びプログラム |
TW201142613A (en) * | 2010-05-31 | 2011-12-01 | Jmicron Technology Corp | Timing aligning circuit and timing aligning method for aligning data transmitting timing of a plurality of lanes |
US8488729B1 (en) * | 2010-09-10 | 2013-07-16 | Altera Corporation | Deskew across high speed data lanes |
US8989277B1 (en) * | 2011-11-03 | 2015-03-24 | Xilinx, Inc. | Reducing artifacts within a video processing system |
KR101876418B1 (ko) * | 2012-04-05 | 2018-07-10 | 한국전자통신연구원 | Pci 익스프레스 디스큐 장치 및 그 방법 |
TWI494579B (zh) * | 2013-03-22 | 2015-08-01 | Chroma Ate Inc | Time measurement module and method for semiconductor automatic test equipment |
TWI516946B (zh) * | 2014-04-10 | 2016-01-11 | 智原科技股份有限公司 | 用來進行去偏斜控制之方法與裝置 |
US9946683B2 (en) * | 2014-12-24 | 2018-04-17 | Intel Corporation | Reducing precision timing measurement uncertainty |
US9720439B2 (en) * | 2015-09-26 | 2017-08-01 | Intel Corporation | Methods, apparatuses, and systems for deskewing link splits |
TWI569150B (zh) * | 2016-01-19 | 2017-02-01 | 智原科技股份有限公司 | 用來進行去偏斜控制之方法與裝置 |
JP2020154789A (ja) * | 2019-03-20 | 2020-09-24 | キオクシア株式会社 | データ伝送装置およびデータ伝送方法 |
US10581587B1 (en) * | 2019-04-29 | 2020-03-03 | Advanced Micro Devices, Inc. | Deskewing method for a physical layer interface on a multi-chip module |
US10978118B1 (en) * | 2019-11-13 | 2021-04-13 | Realtek Semiconductor Corporation | DDR SDRAM signal calibration device and method |
TWI782694B (zh) * | 2021-09-06 | 2022-11-01 | 智原科技股份有限公司 | 時序調整電路、時序不對稱消除方法及接收電路 |
US20240020255A1 (en) * | 2022-07-15 | 2024-01-18 | Nvidia Corporation | Dynamic skew realignment over multiple transmission lanes in integrated computing platforms |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999046687A1 (fr) * | 1998-03-12 | 1999-09-16 | Hitachi, Ltd. | Emetteur de donnees |
US6578092B1 (en) * | 1999-04-21 | 2003-06-10 | Cisco Technology, Inc. | FIFO buffers receiving data from different serial links and removing unit of data from each buffer based on previous calcuations accounting for trace length differences |
US20020018444A1 (en) * | 2000-04-11 | 2002-02-14 | Cremin Con D. | Method and apparatus for multi-lane communication channel with deskewing capability |
US6690757B1 (en) * | 2000-06-20 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | High-speed interconnection adapter having automated lane de-skew |
CN1223102C (zh) | 2000-06-24 | 2005-10-12 | 三星电子株式会社 | 码分多址通信系统中上行链路同步传输机制同步的装置和方法 |
US7054331B1 (en) * | 2000-09-13 | 2006-05-30 | Intel Corporation | Multi-lane receiver de-skewing |
US6625675B2 (en) * | 2001-03-23 | 2003-09-23 | International Business Machines Corporation | Processor for determining physical lane skew order |
KR100440585B1 (ko) * | 2002-05-24 | 2004-07-19 | 한국전자통신연구원 | 대용량 데이터의 분할 전송을 위한 다중 레인간의 비틀림정렬 장치 및 방법, 그리고 기록매체 |
US7324458B2 (en) * | 2003-03-21 | 2008-01-29 | Intel Corporation | Physical layer loopback |
US7242736B2 (en) * | 2003-05-15 | 2007-07-10 | Sun Microsystems, Inc. | Data transfer |
TWI249681B (en) * | 2003-07-02 | 2006-02-21 | Via Tech Inc | Circuit and method for aligning data transmitting timing of a plurality of lanes |
US20050024926A1 (en) * | 2003-07-31 | 2005-02-03 | Mitchell James A. | Deskewing data in a buffer |
US7631118B2 (en) * | 2003-12-31 | 2009-12-08 | Intel Corporation | Lane to lane deskewing via non-data symbol processing for a serial point to point link |
-
2004
- 2004-03-08 TW TW093106075A patent/TWI249681B/zh active
- 2004-03-18 CN CN200410030058.7A patent/CN1296814C/zh not_active Expired - Lifetime
- 2004-06-30 US US10/710,264 patent/US7225354B2/en active Active
-
2007
- 2007-01-17 US US11/624,201 patent/US7346798B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034409B (zh) * | 2009-09-29 | 2013-01-09 | 奇景光电股份有限公司 | 用于传输数据的方法和应用此方法的显示器 |
CN102270011A (zh) * | 2010-06-04 | 2011-12-07 | 智微科技股份有限公司 | 校准多个数据信道的数据传输时序的时序校准电路及时序校准方法 |
Also Published As
Publication number | Publication date |
---|---|
US7225354B2 (en) | 2007-05-29 |
CN1296814C (zh) | 2007-01-24 |
US20050005051A1 (en) | 2005-01-06 |
US7346798B2 (en) | 2008-03-18 |
TWI249681B (en) | 2006-02-21 |
TW200502770A (en) | 2005-01-16 |
US20070124623A1 (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1296814C (zh) | 校准多个数据信道的数据传输时序的电路及方法 | |
US7152136B1 (en) | Implementation of PCI express | |
US7257655B1 (en) | Embedded PCI-Express implementation | |
CN1203420C (zh) | 用于移动存储块的直接存储器存取控制器及其移动方法 | |
US7613959B2 (en) | Data receiving apparatus of a PCI express device | |
US7426604B1 (en) | Virtual output buffer architecture | |
US7164425B2 (en) | Method and system for high speed network application | |
US20060230215A1 (en) | Elastic buffer module for PCI express devices | |
CN111339003B (zh) | 一种基于fpga的通用多通道数据发送系统及方法 | |
KR100440585B1 (ko) | 대용량 데이터의 분할 전송을 위한 다중 레인간의 비틀림정렬 장치 및 방법, 그리고 기록매체 | |
KR102235290B1 (ko) | 캐스케이드 연결 구조의 호스트와 슬레이브 장치 | |
JP2007502570A (ja) | 複数のシリアルバイトレーンの自動再整列 | |
EP2059877B1 (en) | Device for processing a stream of data words | |
CN1753492A (zh) | 机载电荷耦合相机图像数据的光纤传输和整理方法 | |
JP4920638B2 (ja) | Lsiシステムの設計方法及びlsiシステムの設計支援装置 | |
CN1821914A (zh) | I2c总线从控制器软实现方法 | |
CN113946526B (zh) | 一种高速串行总线的多通道数据绑定系统及方法 | |
US6931468B2 (en) | Method and apparatus for addressing multiple devices simultaneously over a data bus | |
CN1585373A (zh) | 一种乒乓缓冲装置 | |
JPH10171750A (ja) | メモリ間データ転送システム | |
CN1934558A (zh) | 信令设备以及用于其的方法 | |
CN1062668C (zh) | 具有错误检测与纠正装置的fifo缓存系统 | |
CN1838103A (zh) | 减少微处理器系统中的存储器等待时间的系统和方法 | |
JP4336860B2 (ja) | シリアルインタフェース回路、及びシリアル受信器 | |
CN116318601A (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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070124 |