CN116830488A - 重定时器的路径控制方法、装置及系统 - Google Patents
重定时器的路径控制方法、装置及系统 Download PDFInfo
- Publication number
- CN116830488A CN116830488A CN202280007862.XA CN202280007862A CN116830488A CN 116830488 A CN116830488 A CN 116830488A CN 202280007862 A CN202280007862 A CN 202280007862A CN 116830488 A CN116830488 A CN 116830488A
- Authority
- CN
- China
- Prior art keywords
- code stream
- information
- field
- retimer
- path
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 351
- 230000005540 biological transmission Effects 0.000 claims abstract description 134
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 13
- 230000009191 jumping Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 201
- 230000006854 communication Effects 0.000 description 60
- 238000004891 communication Methods 0.000 description 59
- 238000012545 processing Methods 0.000 description 46
- 238000010586 diagram Methods 0.000 description 27
- 102100021633 Cathepsin B Human genes 0.000 description 14
- 101000898449 Homo sapiens Cathepsin B Proteins 0.000 description 14
- 238000012549 training Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 9
- 238000011084 recovery Methods 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 6
- 229910044991 metal oxide Inorganic materials 0.000 description 5
- 150000004706 metal oxides Chemical class 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种用于有线串行数据传输的重定时器的路径控制方法、装置及系统,所述方法包括:接收第一码流,所述第一码流包括第一字段,所述第一字段中包括重定时器的能力信息,所述能力信息用于指示所述重定时器是否支持低时延路径;向所述重定时器发送第二码流,所述第二码流包括第二字段,所述第二字段中包括第一进入控制信息,所述第一进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径。本申请能够实现对重定时器的路径的有效控制。
Description
本申请涉及通信技术领域,尤其涉及一种重定时器的路径控制方法、装置及系统。
随着高速串行链路技术的发展,通信设备的插入损耗(Insertion Loss,IL)也越来越大。IL过大会导致数据传输的损耗较大且链路抖动较大。目前通常在两个建立连接的通信设备之间串接重定时器(Retimer),重定时器对接收到的数据进行一系列处理,以对数据进行中继放大转发以及滤除通信链路的抖动。
重定时器对接收到的数据的一系列处理过程通常较为复杂,导致数据在重定时器中存在传输时延,进而影响数据传输效率。因此为了减小数据在重定时器中的传输时延,可以使用具有低时延路径的重定时器,以使得重定时器在低时延路径进行数据的转发。
对于具有低时延路径的重定时器,需要控制重定时器进入或者退出低时延路径,因此亟需一种有效控制重定时器的路径的方法。
发明内容
本申请提供一种重定时器的路径控制方法、装置及系统,实现了对重定时器的路径的有效控制。
第一方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制方法,所述方法包括:接收第一码流,所述第一码流包括第一字段,所述第一字段中包括重定时器的能力信息,所述能力信息用于指示所述重定时器是否支持低时延路径;向所述重定时器发送第二码流,所述第二码流包括第二字段,所述第二字段中包括第一进入控制信息,所述第一进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径。
相关技术中,在通信链路建立阶段重定时器在进入低时延路径之前向连接的两个通信设备发送指示码流,指示两个通信设备保持在通信链路建立阶段,不要进入业务数据传输阶段。之后重定时器自主进入低时延路径。在通信链路建立完成后,重定时器通过低时延路径转发数据。以基于PCIe的有线串行数据传输为例,指示码流可以为非PCIe码流。但是相关技术中,部分通信设备在接收到重定时器发送的指示码流后会功能异常,从而影响通信过程。
本申请实施例提供的用于有线串行数据传输的重定时器的路径控制方法中,设备可以通过第一码流确定重定时器是否支持低时延路径,进而通过第二码流控制重定时器的路径,使得重定时器可以根据第二码流确定是否进入低时延路径,无需重定时器自主进入低时延路径,实现了对重定时器的路径的有效控制,且无需重定时器向通信设备发送指示码流,避免了设备由于指示码流而功能异常。
可选地,第一码流和第二码流均可以为训练码流块(Training Set Block,TSB),该码 流是在已有TSB基础上增加了字段得到的,没有改变已有TSB的格式,这样使得该方法可以应用于高速输入输出(Input Output,IO)协议,该方法所应用的装置可以直接拓展使用在高速串行接口,例如可以拓展使用在高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)接口和以太接口,实现了与重定时器的原生对接,对于具有不同类型低时延路径的重定时器均能够实现路径的有效控制,适用性较为广泛且不影响重定时器的其他功能特性。并且TSB不会导致第一设备或第二设备功能异常。
对于下述第二个实施例,前述第一码流相当于实施例中的第六码流,第一字段相当于第二能力字段。前述第二码流相当于实施例中的第九码流或第十五码流,第二字段相当于第一路径控制字段。
对于下述第三个实施例,前述第一码流相当于实施例中的第三码流,第一字段相当于第二能力字段。前述第二码流相当于实施例中的第七码流或第十一码流,第二字段相当于第一路径控制字段。
在一种可能的实现方式中,所述第二字段中还包括第一退出控制信息,所述第一退出控制信息用于指示所述重定时器是否退出所述低时延路径。这样使得重定时器可以根据第二码流确定是否退出低时延路径,当通信链路状态较差的时候可以控制重定时器退出低时延路径,进而可以重新进入链路建立阶段的均衡状态,并在均衡状态进行链路的负载均衡,即重做均衡特性,从而能够保证通信链路处于良好状态。
在一种可能的实现方式中,所述方法还包括:向所述重定时器发送第三码流,所述第三码流包括第三字段,所述第三字段中用于携带所述能力信息。
对于下述第二个实施例,前述第三码流相当于实施例中的第一码流,第三字段相当于第一能力字段。
对于下述第三个实施例,前述第三码流相当于实施例中的第一码流,第三字段相当于第一能力字段。
在一种可能的实现方式中,所述方法还包括:接收第四码流,所述第四码流包括第四字段,所述第四字段中包括第二进入控制信息和第二退出控制信息,所述第二进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述第二退出控制信息用于指示所述重定时器是否退出所述低时延路径。
对于下述第二个实施例,前述第四码流相当于实施例中的第十四码流或第二十码流,第四字段相当于第二路径控制字段。
对于下述第三个实施例,前述第四码流相当于实施例中的第十码流或第十四码流,第四字段相当于第二路径控制字段。
在一种可能的实现方式中,所述第二码流还包括第五字段,所述第五字段用于携带状态信息,所述状态信息用于指示所述重定时器是否处于进入所述低时延路径或者退出所述低时延路径的状态。
对于下述第二个实施例,第五字段相当于第一状态字段。对于下述第三个实施例,第五字段相当于第一状态字段。
在一种可能的实现方式中,所述第四码流还包括第六字段,所述第六字段中包括所述状态信息。
对于下述第二个实施例,第六字段相当于第二状态字段。对于下述第三个实施例,第 六字段相当于第二状态字段。
在一种可能的实现方式中,所述方法还包括:当基于所述状态信息确定所述重定时器未处于进入所述低时延路径或者退出所述低时延路径的状态下,通过所述重定时器向对端设备发送业务数据。
本端设备可以通过接收到的第四码流中携带的状态信息确定重定时器是否完成进入低时延路径或退出低时延路径,对端设备也可以通过接收到的第二码流中携带的状态信息确定重定时器是否完成进入低时延路径或退出低时延路径,在重定时器的路径控制过程中,本端设备和对端设备需要等待重定时器进入或退出低时延路径,本端设备和对端设备可以通过各自接收到的状态信息确定是否结束该等待过程,并确定是否进行后续的业务数据的传输或者是否重新进行链路建立过程,避免了本端设备和对端设备一直处于等待过程的情况发生,从而避免了本端设备和对端设备之间通信链路出现建立超时的情况。
在一种可能的实现方式中,所述第一码流还包括第七字段,所述第七字段中包括时长信息,所述时长信息用于指示所述重定时器进入或退出所述低时延路径的消耗时长。
对于下述第二个实施例,第七字段相当于第二时间字段。对于下述第三个实施例,第七字段相当于第二时间字段。
在一种可能的实现方式中,在向所述重定时器发送第二码流之后,所述方法还包括:基于所述时长信息确定等待时长;在与起始时刻间隔所述等待时长后,在接收到第一数量的所述第四码流时通过所述重定时器向对端设备发送业务数据。
本端设备可以直接基于接收到的第一码流中携带的时长信息确定等待时长,在达到等待时长后可以结束等待重定时器进入或退出低时延路径,避免了本端设备一直处于等待过程的情况发生,从而有效避免了本端设备和对端设备之间通信链路建立出现超时的情况。
在一种可能的实现方式中,所述方法还包括:向所述重定时器发送第五码流,所述第五码流包括第八字段,所述第八字段中包括第一使能信息,所述第一使能信息用于指示所述重定时器是否使能所述低时延路径。
对于下述第二个实施例,前述第五码流相当于实施例中的第七码流,第八字段相当于第一使能字段。对于下述第三个实施例,前述第五码流相当于实施例中的第五码流,第八字段相当于第一使能字段。
其中,使能低时延路径指的是执行进入低时延路径之前的准备工作,例如,校准以及上位对齐等。
在一种可能的实现方式中,所述方法还包括:接收第六码流,所述第六码流包括第九字段,所述第九字段中包括第二使能信息,所述第二使能信息用于指示是否使能所述低时延路径。
对于下述第二个实施例,前述第六码流相当于实施例中的第八码流,第九字段相当于第二使能字段。对于下述第三个实施例,前述第六码流相当于实施例中的第六码流,第九字段相当于第二使能字段。
在本申请实施例中,前述第一使能信息和第二使能信息可以相同或不同。在一种可能的实现方式中,所述方法还包括:当所述第二使能信息与所述第一使能信息不同时,基于所述第二使能信息更新所述第一使能信息,得到更新后的第一使能信息,所述更新后的第一使能信息与所述第二使能信息相同;向所述重定时器发送更新后的第五码流,所述更新 后的第五码流包括更新后的第一使能字段,所述更新后的第一使能字段中包括所述更新后的第一使能信息。
更新后的第一使能信息与第二使能信息相同,即两端设备发送的码流中携带的使能信息一致,这样使得重定时器可以根据任一使能信息确定是否使能低时延路径,而无需在接收到第一使能信息和第二使能信息后才能开始确定是否使能低时延路径,从而提高了重定时器确定是否使能低时延路径的效率,进而提高了路径控制效率。
在一种可能的实现方式中,所述接收第一码流,包括:在第一状态下接收所述第一码流;所述向所述重定时器发送第三码流,包括:在所述第一状态下向所述重定时器发送所述第三码流;所述方法还包括:当接收到第二数量的所述第一码流时,从所述第一状态跳转到第二状态;所述向所述重定时器发送第五码流,包括:在所述第二状态下向所述重定时器发送所述第五码流;所述接收第六码流,包括:在所述第二状态下接收所述第六码流;所述方法还包括:当接收到第三数量的所述第六码流时,从所述第二状态跳转到第三状态;所述向所述重定时器发送第二码流,包括:在所述第三状态下向所述重定时器发送所述第二码流;所述接收第四码流,包括:在所述第三状态下接收所述第四码流。
示例地,第一状态可以为发现(Discovery)状态,第二状态可以为配置(Configuration)状态,第三状态可以为再训练(Retrain)状态。
在一种可能的实现方式中,所述方法还包括:根据所述能力信息确定所述第一进入控制信息。示例地,若根据能力信息确定重定时器支持低时延,则可以确定用于指示重定时器进入低时延路径的第一进入控制信息。若根据能力信息确定重定时器不支持低延,则可以确定用于指示重定时器不进入低时延路径的第一进入控制信息。
在一种可能的实现方式中,所述方法还包括:获取所述重定时器的使能配置信息,所述使能配置信息用于指示是否使能所述重定时器的低时延功能;所述根据所述能力信息确定所述第一进入控制信息,包括:根据所述能力信息和所述使能配置信息确定所述第一进入控制信息。使能配置信息可以是预先配置在设备中的,通过使能配置信息可以提高对重定时器的路径控制的灵活性。
第二方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制方法,所述方法包括:接收第一设备发送的第一码流,所述第一码流包括第一字段;在所述第一字段中写入能力信息,得到第二码流,所述能力信息用于指示所述重定时器是否支持低时延,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径;向第二设备发送所述第二码流;接收所述第二设备发送的第三码流,所述第三码流包括第二字段,所述第二字段中包括第一进入控制信息;基于所述第一进入控制信息确定是否进入所述低时延路径。
该方法中,重定时器可以向第二设备发送能力信息,使得第二设备根据能力信息向重定时器发送第三码流,并根据第三码流确定是否进入低时延路径,重定时器无需自主进入低时延路径,第一设备和第二设备可以实现对重定时器的路径的有效控制。
其中,重定时器在第一字段中写入能力信息之前,第一字段中可以包括默认能力信息。重定时器可以先解码接收到的第一码流,之后根据自身是否支持低时延确定能力信息与默认能力信息是否相同。当能力信息与默认能力信息相同时,无需修改第一字段中的内容,此时得到的第二码流与第一码流相同。当能力信息与默认能力信息不同时,需要将第一字段中的内容修改为能力信息,此时第二码流与第一码流不同。
重定时器的正常数据传输路径和低时延路径均包括两种传输方向分别对应的两条路径。当基于第一进入控制信息确定是否进入低时延路径时,可以基于第一进入控制信息确定是否统一进入两条低时延路径。
对于下述第二个实施例,前述第一码流相当于实施例中的第一码流或第二码流,第一字段相当于第一能力字段。前述第二码流相当于实施例中的第二码流或第三码流,当前述第一码流相当于实施例中的第一码流时,前述第二码流相当于实施例中的第二码流;当前述第一码流相当于实施例中的第二码流时,前述第二码流相当于实施例中的第三码流。前述第三码流相当于实施例中的第十二码流、第十三码流、第十八码流或第十九码流,第二字段相当于第二路径控制字段。
对于下述第三个实施例,前述第一码流相当于实施例中的第一码流,第一字段相当于第一能力字段。前述第二码流相当于实施例中的第二码流。前述第三码流相当于实施例中的第九码流或第十三码流,第二字段相当于第二路径控制字段。
在一种可能的实现方式中,所述第二字段中还包括第一退出控制信息,所述方法还包括:基于所述第一退出控制信息确定是否退出所述低时延路径。重定时器可以根据第二码流确定是否退出低时延路径,当通信链路状态较差的时候可以退出低时延路径,进而可以重新进入链路建立阶段的均衡状态,并在均衡状态进行链路的负载均衡,即重做均衡特性,从而能够保证通信链路处于良好状态。
在一种可能的实现方式中,所述方法还包括:接收所述第二设备发送的第四码流,所述第四码流包括第三字段;在所述第三字段中写入所述能力信息,得到第五码流;向所述第一设备发送所述第五码流;接收所述第一设备发送的第六码流,所述第六码流包括第四字段,所述第四字段中包括第二进入控制信息;所述基于所述第一进入控制信息确定是否进入所述低时延路径,包括:基于所述第一进入控制信息和所述第二进入控制信息确定是否进入所述低时延路径。
一种示例地,重定时器可以基于第一进入控制信息和第二进入控制信息确定是否统一进入两条低时延路径。可选地,重定时器可以对第一进入控制信息和第二进入控制信息进行逻辑与操作或者逻辑或操作,根据逻辑与操作或者逻辑或操作的结果确定是否统一进入两条低时延路径。
另一种示例地,重定时器可以基于第一进入控制信息和第二进入控制信息分别独立确定是否进入两条低时延路径。即重定时器可以基于第一进入控制信息确定是否进入一条低时延路径,基于第二进入控制信息确定是否进入另一条低时延路径。可选地,第一路径控制字段中还可以包括第一方向信息,第二路径控制字段中还可以包括第二方向信息,第一方向信息和第二方向信息不同。第一方向信息用于指示基于第一进入控制信息所进入的低时延路径对应的传输方向,第二方向信息用于指示基于第二进入控制信息所进入的低时延路径对应的传输方向。重定时器可以基于第一进入控制信息确定是否进入第一方向信息指示的传输方向所对应的低时延路径,基于第二进入控制信息确定是否进入第二方向信息指示的传输方向所对应的低时延路径。
又一可选地,重定时器可以直接基于第一进入控制信息确定是否进入第三码流的传输方向所对应的低时延路径,基于第二进入控制信息确定是否进入第六码流的传输方向所对应的低时延路径。
对于下述第二个实施例,前述第四码流相当于实施例中的第四码流或第五码流,第三字段相当于第二能力字段。前述第五码流相当于实施例中的第五码流或第六码流,当前述第四码流相当于实施例中的第四码流时,前述第五码流相当于实施例中的第五码流;当前述第四码流相当于实施例中的第五码流时,前述第五码流相当于实施例中的第六码流。前述第六码流相当于实施例中的第九码流、第十码流、第十五码流或第十六码流,第四字段相当于第一路径控制字段。
对于下述第三个实施例,前述第四码流相当于实施例中的第三码流,第三字段相当于第二能力字段。前述第五码流相当于实施例中的第四码流。前述第六码流相当于实施例中的第七码流或第十一码流,第四字段相当于第一路径控制字段。
在一种可能的实现方式中,所述第四字段中还包括第二退出控制信息,所述基于所述第一退出控制信息确定是否退出所述低时延路径,包括:基于所述第一退出控制信息和所述第二退出控制信息确定是否退出所述低时延路径。
在一种可能的实现方式中,所述第三码流还包括第五字段,所述第六码流还包括第六字段,所述方法还包括:在所述第五字段中写入状态信息,得到第七码流,所述状态信息用于指示所述重定时器是否处于进入所述低时延路径或者退出所述低时延路径的状态;向所述第一设备发送所述第七码流;在所述第六字段中写入所述状态信息,得到第八码流;向所述第二设备发送所述第八码流。
对于下述第二个实施例,第五字段相当于第二状态字段,第六字段相当于第一状态字段。前述第七码流相当于实施例中的第十三码流、第十四码流、第十九码流或第二十码流。当前述第三码流相当于实施例中的第十二码流时,前述第七码流相当于实施例中的第十三码流;当前述第三码流相当于实施例中的第十三码流时,前述第七码流相当于实施例中的第十四码流;当前述第三码流相当于实施例中的第十八码流时,前述第七码流相当于实施例中的第十九码流;当前述第三码流相当于实施例中的第十九码流时,前述第七码流相当于实施例中的第二十码流。
前述第八码流相当于实施例中的第十码流、第十一码流、第十六码流或第十七码流。当前述第六码流相当于实施例中的第九码流时,前述第八码流相当于实施例中的第十码流;当前述第六码流相当于实施例中的第十码流时,前述第八码流相当于实施例中的第十一码流;当前述第六码流相当于实施例中的第十五码流时,前述第八码流相当于实施例中的第十六码流;当前述第六码流相当于实施例中的第十六码流时,前述第八码流相当于实施例中的第十七码流。
对于下述第三个实施例,第五字段相当于第二状态字段,第六字段相当于第一状态字段。前述第七码流相当于实施例中的第十码流或第十四码流,前述第八码流相当于实施例中的第八码流或第十二码流。
重定时器在第五字段中写入状态信息之前,第五字段中可以包括默认状态信息。重定时器可以先解码接收到的第三码流,之后根据自身当前状态确定状态信息与默认状态信息是否相同。当状态信息与默认状态信息相同时,无需修改第五字段中的内容,此时得到的第七码流与第三码流相同。当状态信息与默认状态信息不同时,需要将第五字段中的内容修改为状态信息,此时第七码流与第三码流不同。
第一设备可以通过接收到的第七码流中携带的状态信息确定重定时器是否完成进入 低时延路径或退出低时延路径,第二设备也可以通过接收到的第八码流中携带的状态信息确定重定时器是否完成进入低时延路径或退出低时延路径,在重定时器的路径控制过程中,第一设备和第二设备需要等待重定时器进入或退出低时延路径,第一设备和第二设备可以通过各自接收到的状态信息确定是否结束该等待过程,并确定是否进行后续的业务数据的传输或者是否重新进行链路建立过程,避免了第一设备和第二设备一直处于等待过程的情况发生,从而避免了第一设备和第二设备之间通信链路建立超时的情况出现。
在一种可能的实现方式中,所述第一码流还包括第七字段,所述第四码流还包括第八字段;所述在所述第一字段中写入能力信息,得到第二码流,包括:在所述第一字段中写入所述能力信息以及在所述第七字段中写入时长信息,得到所述第二码流,所述时长信息用于指示所述重定时器进入或退出所述低时延路径的消耗时长;所述在所述第三字段中写入所述能力信息,得到第五码流,包括:在所述第三字段中写入所述能力信息以及在所述第八字段中写入所述时长信息,得到所述第五码流。
重定时器在第七字段中写入时长信息之前,第七字段中可以包括默认时长信息。重定时器可以先解码接收到的第一码流,之后确定时长信息与默认时长信息是否相同。当时长信息与默认第一时长信息相同时,无需修改默认时长信息。当时长信息与默认时长信息不同时,需要将默认时长信息修改为时长信息。
对于下述第二个实施例,第七字段相当于第一时间字段,第八字段相当于第二时间字段。对于下述第三个实施例,第七字段相当于第一时间字段,第八字段相当于第二时间字段。
在一种可能的实现方式中,所述方法还包括:接收所述第二设备发送的第九码流,所述第九码流包括第九字段,所述第九字段中包括第一使能信息;基于所述第一使能信息确定是否使能所述低时延路径。
重定时器的正常数据传输路径和低时延路径均包括两种传输方向分别对应的两条路径。当基于第一使能信息确定是否使能低时延路径时,可以基于第一使能信息确定是否统一使能两条低时延路径。
对于下述第二个实施例,前述第九码流相当于实施例中的第八码流,第九字段相当于第二使能字段。对于下述第三个实施例,前述第九码流相当于实施例中的第六码流,第九字段相当于第二使能字段。
在一种可能的实现方式中,所述方法还包括:接收所述第一设备发送的第十码流,所述第十码流包括第十字段,所述第十字段中包括第二使能信息;所述基于所述第一使能信息确定是否使能所述低时延路径,包括:基于所述第一使能信息和所述第二使能信息确定是否使能所述低时延路径。
一种示例地,重定时器可以基于第一使能信息和第二使能信息确定是否统一使能两条低时延路径。可选地,重定时器可以对第一使能信息和第二使能信息进行逻辑与操作或者逻辑或操作,根据逻辑与操作或者逻辑或操作的结果确定是否统一使能两条低时延路径。
另一种示例地,重定时器可以基于第一使能信息和第二使能信息分别独立确定是否使能两条低时延路径。即重定时器可以基于第一使能信息确定是否使能一条低时延路径,基于第二使能信息确定是否使能另一条低时延路径。可选地,第一使能字段中还可以包括第一方向信息,第二使能字段中还可以包括第二方向信息。重定时器可以基于第一使能信息 确定是否使能第一方向信息指示的传输方向所对应的低时延路径,基于第二使能信息确定是否使能第二方向信息指示的传输方向所对应的低时延路径。
又一可选地,重定时器可以直接基于第一使能信息确定是否使能第九码流的传输方向所对应的低时延路径,基于第二使能信息确定是否使能第十码流的传输方向所对应的低时延路径。
对于下述第二个实施例,前述第十码流相当于实施例中的第七码流,第十字段相当于第一使能字段。对于下述第三个实施例,第十码流相当于实施例中的第五码流,第十字段相当于第一使能字段。
第三方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制装置,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序或指令;当所述一个或多个计算机程序或指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述的方法。
第四方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制装置,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序或指令;当所述一个或多个计算机程序或指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面中任一项所述的方法。
第五方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制装置,包括,处理器,用于执行如第一方面任一项所述的方法。
第六方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制装置,包括,处理器,用于执行如第二方面任一项所述的方法。
第七方面,本申请提供一种计算机可读存储介质,包括计算机程序或指令,所述计算机程序或指令在计算机上被执行时,使得所述计算机执行第一方面和第二方面中任一项所述的方法。
第八方面,本申请提供一种用于有线串行数据传输的重定时器的路径控制系统,其特征在于,所述系统包括第一设备、第二设备和重定时器,所述第一设备或第二设备包括第三方面或第五方面所述的用于有线串行数据传输的重定时器的路径控制装置,所述重定时器包括第四方面或第六方面所述的用于有线串行数据传输的重定时器的路径控制装置。
图1为本申请实施例提供的一种通信系统的结构示意图;
图2为本申请实施例提供的另一种通信系统的结构示意图;
图3为本申请实施例提供的一种IO主机控制器的结构示意图;
图4为本申请实施例提供的一种重定时器的物理层的结构示意图;
图5为本申请实施例提供的一种TSB的结构示意图;
图6为本申请实施例提供的一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图;
图7为本申请实施例提供的另一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图;
图8为本申请实施例提供的一种DTSB的结构示意图;
图9为本申请实施例提供的一种CTSB的结构示意图;
图10为本申请实施例提供的一种RTSB的结构示意图;
图11为本申请实施例提供的一种状态转换示意图;
图12为本申请实施例提供的另一种状态转换示意图;
图13为本申请实施例提供的再一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图;
图14为本申请实施例提供的又一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图;
图15为本申请实施例提供的又一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图;
图16为本申请实施例提供的一种用于有线串行数据传输的重定时器的路径控制装置的框图;
图17为本申请实施例提供的一种电子设备的结构示意图;
图18为本申请实施例提供的一种路径控制装置的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在有线串行数据传输(例如高速串行通道的有线串行数据传输)过程中,需要通过重定时器保证数据传输的质量。重定时器可以视为一个物理芯片,其串接于建立连接的两个通信设备之间并用于在两个通信设备之间转发数据。两个通信设备可以通过串行IO接口传输数据,数据在经过重定时器时,重定时器会对数据进行数据处理(例如异步和消除频偏处理、码块对齐、解扰和数据对齐等)、修改、加扰以及编码等一系列处理,以对数据进行中继放大转发以及滤除通信链路的抖动。
请参考图1,图1为本申请实施例提供的一种通信系统的结构示意图,该通信系统10包括第一设备101、第二设备102和至少一个重定时器,图1示出了第一重定时器103和第二重定时器104。第一设备101、至少一个重定时器和第二设备102之间可以进行有线串行数据传输。以基于PCIe的有线串行数据传输为例,第一设备101可以包括根复合体(root complex,RC)设备,第二设备102可以包括终端设备(endpoint,EP),RC设备和EP设备之间可以通过高速串行IO传输数据。
可选地,第一设备101可以包括系统级芯片(System on Chip,SOC),第二设备102可以包括网卡。请参考图2,图2为本申请实施例提供的另一种通信系统的结构示意图,图2示出了第一设备包括的SOC 1011以及第二设备102包括的网卡1021。SOC 1011与网卡1021通过高速串行接口连接,以实现与外部网络的通信。
其中,SOC 1011包括通过系统总线连接的第一IO主机控制器(Host Controller)、直接存储器访问控制器(Direct Memory Access Controler,DMAC)、中央处理器(central processing unit,CPU)和存储器(Memory)。网卡1021包括第二IO主机控制器。第一IO主机控制器或第二IO主机控制器包括应用层(Application Layer,AP)/传输层(Transport Layer,TL)/数据链路层(Data Link Layer,DL)、物理层(Physical Layer,PHY)以及串化器/解串化器(Serializer and Deserializer,Serdes)。第一IO主机控制器和第二IO主机控制器通过各自的Serdes连接。
第一设备101和第二设备102在进行数据传输的过程中,以数据从第一设备101向第二设备传输为例,多路并行数据依次经过第一IO主机控制器中的AP/TL/DL、PHY和Serdes,Serdes将多路并行数据转换为有线串行数据。有线串行数据依次经过第一重定时器103和第二重定时器104被传输至网卡1021。网卡1021中的Serdes将有线串行数据转换为多路并行数据。随着Serdes的速率越来越高,第一设备101和第二设备102的IL也越来越大,当IL超过Serdes的驱动能力时,会导致数据传输的损耗和通信链路抖动均较大。第一重定时器103和第二重定时器104可以通过对接收到的数据的一系列处理,实现数据的中继放大转发以及滤除通信链路的抖动。
重定时器对接收到的数据的一系列处理过程较为复杂,导致数据在重定时器中的传输时延较大,传输时延通常大于40纳秒(nanosecond,ns),导致数据传输效率较低,对延迟敏感场景的业务性能影响较大。目前通常使用具有低时延路径的重定时器,使得重定时器在低时延路径进行数据的转发,从而减小数据在重定时器中的传输时延。对于具有低时延路径的重定时器,在通信链路建立阶段(即业务数据传输之前),需要控制重定时器进入或退出低时延路径。
相关技术中,在通信链路建立阶段重定时器在进入低时延路径之前向连接的两个通信设备发送指示码流,指示两个通信设备保持在通信链路建立阶段,不要进入业务数据传输阶段。之后重定时器自主进入低时延路径。在通信链路建立完成后,重定时器通过低时延路径转发数据。以基于PCIe的有线串行数据传输为例,指示码流可以为非PCIe码流。
但是相关技术中,重定时器在进入低时延路径的过程中,两个通信设备无法进行交互,因此无法确定重定时器是否完成进入低时延路径或退出低时延路径,导致两个通信设备的等待过程耗时较长,从而可能导致两个通信设备之间的通信链路建立超时。并且部分通信设备在接收到重定时器发送的指示码流后会功能异常。此外,相关技术中重定时器在进入 低时延路径后会一直在低时延路径传输数据,即无法退出低时延路径,导致当通信链路状态较差时无法重新进入链路建立阶段的均衡状态,进而无法在均衡状态进行链路的负载均衡,即无法重做均衡特性。
本申请实施例提供了一种用于有线串行数据传输的重定时器的路径控制方法,可以在链路训练阶段通过码流有效控制重定时器进入或退出低时延路径,码流例如可以包括TSB。该方法可以应用于图1或图2所示的通信系统,示例地,该方法可以应用于图2所示的第一IO主机控制器、第一重定时器103、第二重定时器104和第二IO主机控制器这四个器件,例如可以应用于前述各个器件的物理层部分。以下对前述各个器件的物理层部分的结构进行说明。
请参考图3,图3为本申请实施例提供的一种IO主机控制器的结构示意图,图3示出了IO主机控制器的数据链路层(Data Link Layer,DL)的部分结构和物理层的结构,第一IO主机控制器或第二IO主机控制器的结构均可以参考图3。IO主机控制器的DL包括DL发送器(DL Transmitter,DL_TX)和DL接收器(DL,DL_RX)。IO主机控制器的物理层包括数据分发(Data Distribution)组件、训练码流块生成(Training Set Block generate,TSB_GEN)组件、低时延重定时器能力配置(Low latency retimer Capability configure,LTR_CAP_CFG)寄存器组件、低时延控制(Low latency retimer control,LTR_CTRL)组件、训练码流块识别(Training Set Block CHECK,TSB_CHECK)组件、多路复用器(Multiplexer,MUX)、扰码器(SCRAMBER)、Serdes TX、Serdes RX、符号锁定/解扰(Symbol Lock/De-scramber)组件以及去偏斜(Deskew)组件。
以下以图3为例对本申请实施例提供的方法中第一IO主机控制器和第二IO主机控制器之间的交互过程进行说明。假设第一IO主机控制器和第二IO主机控制器之间在链路训练阶段通过TSB进行交互,TSB可以在第一IO主机控制器和第二IO主机控制器的物理层之间传输。在链路训练阶段结束后,第一IO主机控制器和第二IO主机控制器之间传输业务数据。
对于第一IO主机控制器,Data Distribution组件用于接收DL_TX发送的业务数据,对接收到的业务数据进行前向差错编码(Forward error correction,FEC)后分发传输至MUX,以排布到各个物理通道(Lane)上。LTR_CTRL组件用于控制第一IO主机控制器的状态。LTR_CAP_CFG寄存器组件用于配置重定时器的低时延控制信息。TSB_GEN组件用于根据LTR_CTRL组件所控制的状态确定待生成的TSB的类型,并根据LTR_CAP_CFG寄存器组件中配置的低时延控制信息生成该类型的TSB,之后向MUX发送TSB。MUX用于在LTR_CTRL组件的控制下从输入的业务数据和TSB中选择一路数据发送至SCRAMBER。SCRAMBER用于对接收到的数据进行加扰,之后向Serdes TX发送加扰后的数据。Serdes TX用于将接收到的并行的数据转换为串行的数据并向链路(Link)上发送串行的数据。
对于第二IO主机控制器,Serdes RX用于从Link上接收串行的数据,将串行的数据转换为并行TSB,之后向Symbol Lock/De-scramber组件发送并行的数据。Symbol Lock/De-scramber组件用于对接收到的并行的数据进行进行帧定界和解扰处理。当Symbol Lock/De-scramber组件接收到的并行的数据为业务数据时,Symbol Lock/De-scramber组件向Deskew组件发送处理后的并行业务数据。Deskew组件用于对接收到的并行业务数据进行消除 Lane之间偏斜处理,之后向DL_RX发送处理后的并行业务数据。当Symbol Lock/De-scramber组件接收到的并行的数据为TSB时,Symbol Lock/De-scramber组件向TSB_CHECK组件发送并行TSB。TSB_CHECK组件用于对Symbol Lock/De-scramber组件发送的数据进行识别得到TSB,解析得到TSB中的低时延控制信息,之后向LTR_CTRL组件发送解析得到的低时延控制信息。LTR_CTRL组件用于根据接收到的低时延控制信息控制第二IO主机控制器的状态,以使TSB_GEN组件确定待生成的TSB的类型。
之后第二IO主机控制器可以执行发送TSB或业务数据的过程,相应地第一IO主机控制器执行接收TSB或业务数据的过程。第二IO主机控制器所执行的发送TSB或业务数据的过程可以参考第一IO主机控制器所执行的发送TSB或业务数据的过程,第一IO主机控制器所执行的接收TSB或业务数据的过程可以参考第二IO主机控制器所执行的接收TSB或业务数据的过程,本申请实施例在此不做赘述。
需要说明的是,图3中的Serdes TX也可以接收TSB或业务数据,Serdes RX也可以发送TSB或业务数据,本申请实施例对Serdes TX和Serdes RX的发送和接收不做限定。
可选地,在本申请实施例中,IO主机控制器中的LTR_CTRL组件所控制的状态可以包括以下至少一种:Discovery状态、Configuration状态、Retrain状态、均衡(Equalization)状态、链路活跃(Link Active)状态。其中,Discovery状态、Configuration状态、Retrain状态和Equalization状态为链路建立阶段的状态,Link Active状态为链路建立完成发送业务数据阶段的状态。Discovery状态也可称为低时延能力声明交互状态,Configuration状态也可称为低延迟切换握手确认状态,Retrain状态也可称为等待低时延切换结束状态,Link Active状态也可称为业务数据传输状态。
请参考图4,图4为本申请实施例提供的一种重定时器的物理层的结构示意图,第一重定时器103和第二重定时器104的物理层结构均可以参考图4。重定时器的物理层包括Serdes RX、低时延切换控制(Low_latency_switch_ctrl)组件、TSB_CHECK/GEN组件、正常数据路径(Normal data path)、低时延路径(low latency path)、MUX以及Serdes TX。其中,TSB_CHECK/GEN组件位于Normal data path上。
其中,重定时器具有两种数据传输方向,例如第一重定时器103的数据传输方向包括从第一设备101传输至第二设备102的方向和从第二设备102传输至第一设备101的方向。相应地,重定时器包括两种数据传输方向分别对应的两条正常数据路径以及两种数据传输方向分别对应的两条低时延路径。重定时器用于通过接收到的数据的传输方向对应的正常数据路径或低时延路径转发数据。
以下以图4为例对本申请实施例提供的方法中重定时器接收第一IO主机控制器发送的数据并向第二IO主机控制器转发接收到的数据的过程进行说明。TSB可以在第一IO主机控制器、重定时器和第二IO主机控制器的物理层之间传输。
当重定时器转发的为TSB时,重定时器中的Serdes RX用于将接收到的串行TSB转换为并行TSB,之后向当前数据传输方向对应的正常数据路径上发送并行TSB。并行TSB通过正常数据路径发送至MUX,MUX用于向Serdes TX发送并行TSB。Serdes TX用于将接收到的并行TSB转换为串行TSB,并向第二IO主机控制器发送串行TSB。此外TSB_CHECK组件用于识别TSB,解析得到TSB中的控制信息,并根据控制信息确定后续业务数据的传输路径。TSB_GEN组件用于生成TSB,生成的TSB经过正常数据路径以 及Serdes RX发送至第一IO主机控制器,经过正常数据路径以及Serdes TX发送至第二IO主机控制器。
当重定时器转发的为业务数据时,重定时器中的Serdes RX用于将接收到的串行业务数据转换为并行业务数据,之后向当前数据传输方向对应的正常数据路径或低时延路径上发送并行业务数据。并行业务数据依次经过MUX和Serdes TX传输至第二IO主机控制器。该过程可以参考TSB的传输过程,本申请实施例在此不做赘述。
其中,Low_latency_switch_ctrl组件相当于一个状态机,其用于在TSB或业务数据的传输过程中控制重定时器的状态。可选地,Low_latency_switch_ctrl组件所控制的状态可以包括以下至少一种:在Normal路径下数据转发状态、低时延切换状态、在low latency路径下数据转发状态。
可选地,本申请实施例提供的用于有线串行数据传输的重定时器的路径控制方法中可以通过码流实现重定时器的路径控制,该码流可以包括TSB,以下对TSB的结构进行说明。请参考图5,图5为本申请实施例提供的一种TSB的结构示意图,该TSB包括TSB类型(TYPE)部分、至少一个TSB负载(Payload)部分(图5示出了2个)以及TSB循环冗余校验(Cyclic Redundancy Check,CRC)部分。其中,每个TSB Payload部分对应一个重定时器。
由前述描述可知,LTR_CTRL组件用于控制IO主机控制器的状态,在不同的状态下,IO主机控制器生成的TSB的类型不同。在不同类型的TSB中,TSB TYPE部分和TSB CRC部分的含义相同,TSB Payload部分的含义不同。TSB TYPE部分用于携带指示当前IO主机控制器的状态的信息,不同类型的TSB TYPE中携带的信息不同。TSB Payload部分用于携带重定时器的路径控制相关的信息,Payload部分的长度可以为任意值,本申请实施例对此不做限定。TSB CRC部分用于携带校验信息,校验信息用于校验TSB的正确性,避免错误的TSB的传输影响重定时器的路径控制。
本申请实施例提供了一种用于有线串行数据传输的重定时器的路径控制方法,该方法可以应用于前述图1或图2所示的通信系统。在第一个实施例中,以一个设备(例如第一设备101或第二设备102)执行主体对该方法进行说明。请参考图6,图6为本申请实施例提供的一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图,图6对控制重定时器是否进入低时延路径的过程进行说明,该方法可以包括以下过程:
201、接收第一码流,第一码流包括第一字段,第一字段中包括重定时器的能力信息。
该能力信息用于指示重定时器是否支持低时延路径。
202、向重定时器发送第二码流,第二码流包括第二字段,第二字段中包括第一进入控制信息,第一进入控制信息用于指示重定时器是否进入低时延路径。
重定时器内部的数据传输路径包括正常数据路径和低时延路径,组成正常数据路径和低时延路径的器件不同,低时延路径为重定时器的数据传输路径中时延最小的路径。在转发接收到的数据时,Retimer0可以通过正常数据路径或低时延路径进行数据的传输。
示例地,组成正常数据路径的器件可以包括串行到并行(Serial to Parallel,S2P)转换器、对齐,解码器及解扰器(Alignment,Decoder及Descramber)、弹性缓冲器(Elastic Buffer)、多协议训练控制块(multi-protocol training control block)、分级缓冲器(staging buffer)、MUX以及转换器等。组成低时延路径的器件可以包括时钟和数据恢复(clock data recovery,CDR)器件以及锁相环(PhaseLockedLoop,PLL)等。
综上所述,本申请实施例提供的用于有线串行数据传输的重定时器的路径控制方法,接收包括第一字段的第一码流,第一字段中包括重定时器的能力信息,之后基于能力信息向重定时器发送包括第二字段的第二码流,第二字段中包括第一进入控制信息,第一进入控制信息用于指示重定时器是否进入低时延路径,设备可以通过第一码流确定重定时器是否支持低时延路径,进而通过第二码流控制重定时器的路径,使得重定时器可以根据第二码流确定是否进入低时延路径,无需重定时器自主进入低时延路径,实现了对重定时器的路径的有效控制,且无需重定时器向通信设备发送指示码流,避免了设备由于指示码流而功能异常。
在第二个实施例中,以第一设备、第一重定时器(以下称为Retimer0)、第二重定时器(以下称为Retimer1)以及第二设备为例对该路径控制方法进行说明。对重定时器的路径控制过程包括控制重定时器是否进入低时延路径和控制重定时器是否退出低时延路径,请参考图7,图7为本申请实施例提供的另一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图,图7对控制重定时器是否进入低时延路径的过程进行说明,且以控制Retimer0进入低时延路径以及控制Retimer1不进入低时延路径为例,该方法可以包括以下过程:
301、第一设备向Retimer0发送第一码流,第一码流包括第一能力字段。
第一码流可以包括DTSB。示例地,请参考图8,图8为本申请实施例提供的一种DTSB的结构示意图,DTSB包括TSB Type字段、第一能力字段和TSB CRC字段。对应于图5,第一能力字段属于TSB Payload部分。第一能力字段包括位于第一设备和第二设备之间至少一个重定时器分别对应的低时延支持子字段。也即,第一能力字段中包括的低时延支持子字段的个数至少等于第一设备和第二设备之间的重定时器的个数。本申请实施例中,第一设备和第二设备之间包括Retimer0和Retimer1,则第一能力字段至少可以包括Retimer0低时延支持(Retimer0 low latency support,RT0_LT_SP)子字段和Retimer1低时延支持(Retimer1 low latency support,RT1_LT_SP)子字段。
DTSB的长度可以为任意值,本申请实施例对此不做限定。示例地,当重定时器的数量为两个时,DTSB可以为四个字节长度的码流,该四个字节可以表示为符号0(Symbol0)、Symbol1、Symbol2和Symbol3。TSB Type字段占用Symbol0,第一能力字段占用Symbol1,TSB CRC字段占用Symbol2和Symbol3。
示例地,请参考表1,表1示出了DTSB所包括的各个字节的含义,表1以DTSB为Symbol0至Symbol3四个字节的码流且以重定时器包括Retimer0和Retimer1为例进行说明。如表1所示,TSB Type字段中包括的状态信息可以为0xA0、0xB0、0xC0或0xD0,0xA0用于指示Discovery状态,0xB0用于指示Configuration状态,0xC0用于指示Retrain状态,0xD0用于指示Equalization状态。Symbol0中除TSB Type字段所占用的比特位之外的比特位为保留(Resvered)比特位,则如图8所示,DTSB还可以包括第一Resvered字段,第一Resvered字段占用Symbol0中的Resvered比特位。
第一能力字段占用Symbol1中的2bit(Bit0和Bit1)。其中,RT0_LT_SP子字段占用Bit0,当Bit0为0时,指示Retimer0支持低时延;当Bit0为1时,指示Retimer0不支持低时延。RT1_LT_SP子字段占用Bit1,当Bit1为0时,指示Retimer1支持低时延;当Bit1 为1时,指示Retimer1不支持低时延。Bit0和Bit1仅在当前端口为重定时器时有效,即仅当发送DTSB的端口为重定时器的端口时有效。Symbol1中的Bit2和Bit3为Resvered比特位,则如图8所示,DTSB还可以包括第二Resvered字段,第二Resvered字段占用Symbol1中的Bit2和Bit3。
TSB CRC字段占用Symbol2和Symbol3各自的8bit,TSB CRC字段中包括校验信息,校验信息用于校验Symbol0和Symbol1中各个比特位的正确性。
表1
需要说明的是,前述图8所示的DTSB的结构和表1所示的DTSB中各个字节的含义均为示例性说明,并不对此进行限定,例如当第一设备和第二设备之间的重定时器的数量较多时,DTSB的第一能力字段包括的子字段随之增加,DTSB的字节也要随之增大。
302、Retimer0在接收到的第一码流中的第一能力字段中写入第一能力信息,得到第二码流,第一能力信息用于指示Retimer0是否支持低时延。
示例地,以前述过程301所述的DTSB码流为例,Retimer0在第一能力字段中写入第一能力信息之前,第一能力字段中可以包括默认第一能力信息,例如RT0_LT_SP子字段中的默认第一能力信息可以为0。
Retimer0在第一能力字段中写入第一能力信息时,可以先解码接收到的第一码流,之后根据自身是否支持低时延确定第一能力信息与默认第一能力信息是否相同。当第一能力信息与默认第一能力信息相同时,无需修改RT0_LT_SP子字段中的内容,此时得到的第二码流与第一码流相同。当第一能力信息与默认第一能力信息不同时,需要将RT0_LT_SP子字段中的内容修改为第一能力信息,此时第二码流与第一码流不同。假设Retimer0支持 低时延,RT0_LT_SP子字段中的默认第一能力信息为0,Retimer0可以将RT0_LT_SP子字段中的值修改为1。
可选地,第一码流还可以包括第一时间字段,Retimer0还可以在第一时间字段中写入第一时长信息,得到第二码流,第一时长信息用于指示Retimer0进入或退出低时延路径的消耗时长。
Retimer0在第一时间字段中写入第一时长信息之前,第一时间字段中可以包括默认第一时长信息,例如RT0_LT_STM子字段中的默认第一时长信息可以为00。Retimer0在第一时间字段中写入第一时长信息时,可以先解码接收到的第一码流,之后确定第一时长信息与默认第一时长信息是否相同。当第一时长信息与默认第一时长信息相同时,无需修改RT0_LT_STM子字段中的内容。当第一时长信息与默认第一时长信息不同时,需要将RT0_LT_STM子字段中的内容修改为第一时长信息。若RT0_LT_SP子字段和/或RT0_LT_STM子字段中的内容被修改,则得到的第二码流与第一码流不同;若RT0_LT_SP子字段和RT0_LT_STM子字段中的内容均未被修改,则得到的第二码流与第一码流相同。
示例地,如图8所示,DTSB还包括第一时间字段,第一时间字段包括至少一个重定时器分别对应的低时延时间子字段,也即,第一时间字段中包括的低时延时间子字段的个数至少等于第一设备和第二设备之间的重定时器的个数。本申请实施例中,重定时器包括Retimer0和Retimer1,则第一时间字段可以至少包括Retimer0低时延切换时间(Retimer0low latency switch time,RT0_LT_STM)子字段和Retimer1低时延时间(Retimer1 low latency switch time,RT1_LT_STM)子字段。
如前述表1所示,第一时间字段占用Symbol1中的4bit(Bit4至Bit7)。其中,RT0_LT_STM子字段占用Bit4和Bit5,RT1_LT_STM子字段占用Bit6和Bit7。RT0_LT_STM子字段和RT1_LT_STM子字段中包括的时长信息单位可以为毫秒(millisecond,ms)。
303、Retimer0向Retimer1发送第二码流。
示例地,Retimer0向Retimer1发送的第二码流的第一能力字段中的RT0_LT_SP子字段中的值为1。
304、Retimer1在接收到的第二码流中的第一能力字段中写入第二能力信息,得到第三码流,第二能力信息用于指示Retimer1是否支持低时延。
示例地,以前述过程301所述的DTSB码流为例,Retimer1在第一能力字段中写入第二能力信息之前,第一能力字段中可以包括默认第二能力信息,例如RT1_LT_SP子字段中的默认第二能力信息可以为0。
Retimer1在第一能力字段中写入第二能力信息时,可以先解码接收到的第二码流,之后根据自身是否支持低时延确定第二能力信息与默认第二能力信息是否相同。当第二能力信息与默认第二能力信息相同时,无需修改RT1_LT_SP子字段中的内容,此时得到的第三码流与第二码流相同。当第二能力信息与默认第二能力信息不同时,需要将RT1_LT_SP子字段中的内容修改为第二能力信息,此时第三码流与第二码流不同。例如,假设Retimer1不支持低时延,RT1_LT_SP子字段中的默认第二能力信息为0,Retimer1无需修改RT1_LT_SP子字段中的值。
可选地,第二码流还可以包括第一时间字段,Retimer1还可以在第一时间字段中写入 第二时长信息,得到第三码流。第二时长信息用于指示Retimer1进入或退出低时延路径的消耗时长。
Retimer1在第一时间字段中写入第二时长信息之前,第一时间字段中可以包括默认第二时长信息,例如RT1_LT_STM子字段中的默认第二时长信息可以为00。Retimer1在第一时间字段中写入第二时长信息时,可以先解码接收到的第一码流,之后确定第二时长信息与默认第二时长信息是否相同。当第二时长信息与默认第二时长信息相同时,无需修改RT1_LT_STM子字段中的内容。当第二时长信息与默认第二时长信息不同时,需要将RT1_LT_STM子字段中的内容修改为第二时长信息。若RT1_LT_SP子字段和/或RT1_LT_STM子字段中的内容被修改,则得到的第三码流与第二码流不同;若RT1_LT_SP子字段和RT1_LT_STM子字段中的内容均未被修改,则得到的第三码流与第二码流相同。
该过程中DTSB的结构可以参考图8,本申请实施例在此不做赘述。
305、Retimer1向第二设备发送第三码流。
示例地,Retimer1向第二设备发送的第三码流的第一能力字段中的RT0_LT_SP子字段中的值为1,RT1_LT_SP子字段中的值为0。
306、第二设备向Retimer1发送第四码流,第四码流包括第二能力字段。
第四码流的结构与第一码流相同,其结构和相关说明可以参考图8所示的第一码流和表1的内容,本申请实施例在此不做赘述。
307、Retimer1在接收到的第四码流中的第二能力字段中写入第二能力信息,得到第五码流。
该过程可以参考前述过程304,本申请实施例在此不做赘述。
308、Retimer1向Retimer0发送第五码流。
该过程中Retimer1向Retimer0发送的第五码流的第二能力字段中的RT1_LT_SP子字段中的值为0。
309、Retimer0在接收到的第五码流中的第二能力字段中写入第一能力信息,得到第六码流。
该过程可以参考前述过程302,本申请实施例在此不做赘述。
310、Retimer0向第一设备发送第六码流。
该过程中Retimer0向第一设备发送的第六码流的第二能力字段中的RT1_LT_SP子字段中的值为0,RT0_LT_SP子字段中的值为1。
需要说明的是,前述过程301至310可以重复执行多次,即第一设备可以向Retimer0发送多个第一码流,第二设备可以向Retimer1发送多个第四码流。
311、第一设备向Retimer0发送第七码流,第七码流包括第一使能字段,第一使能字段中包括第一使能信息和第二使能信息。
第一使能信息用于指示是否使能Retimer0的低时延路径,第二使能信息用于指示是否使能Retimer1的低时延路径。
第三码流可以包括配置训练码流块(Configuration Training Set Block,CTSB)。示例地,请参考图9,图9为本申请实施例提供的一种CTSB的结构示意图,CTSB包括TSB Type字段、第一使能字段和TSB CRC字段。对应于图5,第一使能字段属于TSB Payload部分。第一使能字段包括位于第一设备和第二设备之间至少一个重定时器分别对应的低时 延使能子字段。也即,第一使能字段中包括的低时延使能子字段的个数至少等于第一设备和第二设备之间的重定时器的个数。本申请实施例中,第一设备和第二设备之间包括Retimer0和Retimer1,则第一使能字段至少可以包括Retimer0低时延使能(Retimer0 low latency Enable,RT0_LT_EN)子字段和Retimer1低时延使能(Retimer1 low latency Enable,RT1_LT_EN)子字段。RT0_LT_EN子字段中包括第一使能信息,RT1_LT_EN子字段中包括第二使能信息。
CTSB的长度可以为任意值,本申请实施例对此不做限定。示例地,当重定时器的数量为两个时,CTSB的字节可以参考前述DTSB,TSB Type字段占用Symbol0,第一使能字段占用Symbol1,TSB CRC字段占用Symbol2和Symbol3。
示例地,请参考表2,表2示出了CTSB所包括的各个字节的含义,表2以CTSB为Symbol0至Symbol3四个字节的码流且以重定时器包括Retimer0和Retimer1为例进行说明,表2与前述表1中Symbol0、Symbol2和Symbol3的含义相同,因此CTSB还可以包括第一Resvered字段,本申请实施例在此对Symbol0、Symbol2和Symbol3的含义不做赘述。
第一使能字段占用Symbol1中的2bit(Bit0和Bit1)。其中,RT0_LT_EN子字段占用Bit0,当Bit0为0时,指示使Retimer0的低时延路径无效,即不使能Retimer0的低时延路径;当Bit0为1时,指示使能Retimer0的低时延路径。RT1_LT_EN子字段占用Bit1,当Bit1为0时,指示使Retimer1的低时延路径无效,即不使能Retimer1的低时延路径;当Bit0为1时,指示使能Retimer1的低时延路径。Symbol1中的Bit2至Bit7为Resvered比特位,则如图9所示,CTSB还可以包括第二Resvered字段,第二Resvered字段占用Symbol1中的Bit2至Bit7。
表2
需要说明的是,前述图9所示的CTSB的结构和表2所示的CTSB中各个字节的含义均为示例性说明,并不对此进行限定,例如当第一设备和第二设备之间的重定时器的数量较多时,CTSB的第一使能字段包括的子字段随之增加,CTSB的字节也要随之增大。
312、Retimer0向Retimer1发送第七码流。
313、Retimer1向第二设备发送第七码流。
314、第二设备向Retimer1发送第八码流,第八码流包括第二使能字段,第二使能字段中包括第三使能信息和第四使能信息。
第三使能信息用于指示是否使能Retimer0的低时延路径,第四使能信息用于指示是否使能Retimer1的低时延路径。
第八码流的结构与第七码流相同,其结构和相关说明可以参考图9所示的第七码流和表2的内容,本申请实施例在此不做赘述。
315、Retimer1向Retimer0发送第八码流。
316、Retimer0向第一设备发送第八码流。
317、Retimer0基于第一使能信息和/或第三使能信息确定是否使能低时延路径。
第一使能信息和第三使能信息可以相同或不同。
前述过程311至313为第一设备向第二设备发送第七码流的过程,过程314至316为第二设备向第一设备发送第八码流的过程。第七码流和第八码流的发送过程无先后顺序,该两个发送过程可以同时执行。
由前述描述可知,重定时器的正常数据传输路径和低时延路径均包括两种传输方向分别对应的两条路径。
在一种实现方式中,Retimer0可以基于第一使能信息和第三使能信息中的任意一个确定是否统一使能两条低时延路径。示例地,Retimer0可以基于第七码流和第八码流中先接收到的码流中包括的使能信息确定是否统一使能两条低时延路径。例如,Retimer0先接收到第八码流,可以基于第八码流中包括的第三使能信息确定是否统一使能两条低时延路径。假设第三使能信息指示使能Retimer0的低时延路径(即RT0_LT_EN子字段的值为1),则统一使能两条低时延路径。
该实现方式中,Retimer0先接收到码流后即可执行该过程317,转发接收到的码流的过程与过程317无先后顺序,这两个过程可以同时执行。例如,Retimer0先接收到第八码流,在接收到第八码流后即可执行该过程317,并同时执行过程316。
在另一种实现方式中,Retimer0可以基于第一使能信息和第三使能信息确定是否使能低时延路径。一种示例地,Retimer0可以基于第一使能信息和第三使能信息确定是否统一使能两条低时延路径。可选地,Retimer0可以对第一使能信息和第三使能信息进行逻辑与操作或者逻辑或操作,根据逻辑与操作或者逻辑或操作的结果确定是否统一使能两条低时延路径。
例如,假设第一使能信息指示使能Retimer0的低时延路径(即RT0_LT_EN子字段的值为1),第三使能信息指示不使能Retimer0的低时延路径(即RT1_LT_EN子字段的值为0)。Retimer0对第一使能信息和第三使能信息进行与操作,从而确定不使能两条低时延路径。或者Retimer0对第一使能信息和第三使能信息进行或操作,从而确定使能两条低时延路径。
另一种示例地,Retimer0可以基于第一使能信息和第三使能信息分别独立确定是否使能两条低时延路径。即Retimer0可以基于第一使能信息确定是否使能一条低时延路径,基于第三使能信息确定是否使能另一条低时延路径。可选地,第一使能字段中还可以包括第一方向信息,第二使能字段中还可以包括第二方向信息,第一方向信息和第二方向信息不同。第一方向信息用于指示基于第一使能信息所使能的低时延路径对应的传输方向,第二方向信息用于指示基于第三使能信息所使能的低时延路径对应的传输方向。Retimer0可以基于第一使能信息确定是否使能第一方向信息指示的传输方向所对应的低时延路径,基于第三使能信息确定是否使能第二方向信息指示的传输方向所对应的低时延路径。例如,假设第一使能信息指示使能Retimer0的低时延路径(即RT0_LT_EN子字段的值为1),第一方向信息指示第二设备至第一设备的传输方向,Retimer0可以确定使能第二设备至第一设备的传输方向所对应的低时延路径。第三使能信息指示不使能Retimer0的低时延路径(即RT1_LT_EN子字段的值为0),第二方向信息指示第一设备至第二设备的传输方向,Retimer0可以确定不使能第一设备至第二设备的传输方向所对应的低时延路径。
又一可选地,Retimer0可以直接基于第一使能信息确定是否使能第七码流的传输方向所对应的低时延路径,基于第三使能信息确定是否使能第八码流的传输方向所对应的低时延路径。例如,假设第一使能信息指示使能Retimer0的低时延路径(即RT0_LT_EN子字段的值为1),Retimer0可以确定使能第一设备至第二设备的传输方向所对应的低时延路径。第三使能信息指示不使能Retimer0的低时延路径(即RT1_LT_EN子字段的值为0),Retimer0可以确定不使能第二设备至第一设备的传输方向所对应的低时延路径。
该实现方式中,Retimer0在接收到两个码流后即可执行该过程317,转发接收到的码流的过程与过程317无先后顺序,这两个过程可以同时执行。例如,Retimer0在接收到第七码流和第八码流后即可执行该过程317,并同时执行过程312和过程316。
318、Retimer1基于第二使能信息和/或第四使能信息确定是否使能低时延路径。
该过程可以参考前述过程317,本申请实施例在此不做赘述。
需要说明的是,前述过程311至318可以重复执行多次,即第一设备可以向Retimer0发送多个第七码流,第二设备可以向Retimer1发送多个第八码流。
对于第一设备发送的每个第七码流和第二设备发送的每个第八码流,第一设备需要确定第一使能信息和第二使能信息,第二设备需要确定第三使能信息和第四使能信息。
在一种实现方式中,第一设备可以根据接收到的第六码流中的第一能力信息确定第一使能信息,根据第六码流中的第二能力信息确定第二使能信息。第二设备根据接收到的第一码流中的第一能力信息确定第三使能信息,根据第二能力信息确定第四使能信息。示例地,若第一设备根据第一能力信息确定Retimer0支持低延,则可以确定用于指示使能Retimer0的低时延路径的第一使能信息。若第一设备根据第二能力信息确定Retimer1不支持低延,则可以确定用于指示不使能Retimer1的低时延路径的第二使能信息。
在该实现方式中,可选地,第一设备可以获取Retimer0的第一使能配置信息以及Retimer1的第一使能配置信息,Retimer0的第一使能配置信息用于指示是否使能Retimer0的低时延功能,Retimer1的第一使能配置信息用于指示是否使能Retimer1的低时延功能。之后第一设备根据第一能力信息和Retimer0的第一使能配置信息确定第一使能信息,根据第二能力信息和Retimer1的第一使能配置信息确定第二使能信息。Retimer0的第一使 能配置信息或Retimer1的第一使能配置信息可以是预先配置在第一设备中的,例如如前述图3所示,可以预先配置在LTR_CAP_CFG组件中。第一设备可以将第一能力信息和Retimer0的第一使能配置信息进行逻辑与或者逻辑或操作,得到第一使能信息。或者将第二能力信息和Retimer1的第一使能配置信息进行逻辑与或者逻辑或操作,得到第二使能信息。
示例地,若第一设备根据第一能力信息确定Retimer0支持低延,根据Retimer0的第一使能配置信息确定不使能Retimer0的低时延功能,则第一设备可以基于逻辑与操作确定用于指示不使能Retimer0的低时延路径的第一使能信息,或者基于逻辑或操作确定用于指示使能Retimer0的低时延路径的第一使能信息。
同理,第二设备也可以获取Retimer0的第二使能配置信息以及Retimer1的第二使能配置信息,Retimer0的第二使能配置信息用于指示是否使能Retimer0的低时延功能,Retimer1的第二使能配置信息用于指示是否使能Retimer1的低时延功能。第二设备确定第三使能信息和确定第四使能信息的过程可以参考前述第一设备确定第一使能信息和第二使能信息的过程,本申请实施例在此不做赘述。
可选地,Retimer0的第一使能配置信息与Retimer0的第二使能配置信息可以不同,相应地,第一使能信息和第三使能信息也可以不同。Retimer1的第一使能配置信息与Retimer1的第二使能配置信息可以不同,相应地,第二使能信息和第四使能信息也可以不同。
此时进一步地,可以将第一设备和第二设备中的一个设备视为主设备,将另一个设备视为从设备。例如假设将第一设备视为主设备,将第二设备视为从设备,第二设备在接收到第七码流之前发送的第八码流中的第三使能信息是基于第一能力信息和Retimer0的第二使能配置信息确定的,第四使能信息是基于第二能力信息和Retimer1的第二使能配置信息确定的。在接收到第七码流后,第二设备可以基于第七码流中包括的第一使能信息更新第三使能信息,得到更新后的第三使能信息,更新后的第三使能信息与第一使能信息相同。和/或基于第七码流中包括的第二使能信息更新第四使能信息,得到更新后的第四使能信息,更新后的第四使能信息与第三使能信息相同,从而得到更新后的第八码流。后续第二设备向Retimer1发送的均为更新后的第八码流,更新后的第八码流包括更新后的第二使能字段,更新后的第二使能字段中包括更新后的第三使能信息和更新后的第四使能信息。
更新后的第一使能信息与第二使能信息相同,即第七码流和第八码流中携带的使能信息一致,这样使得重定时器可以根据任一使能信息确定是否使能低时延路径,而无需在接收到第一使能信息和第二使能信息后才能开始确定是否使能低时延路径,从而提高了重定时器确定是否使能低时延路径的效率,进而提高了路径控制效率。
在另一种实现方式中,可以将第一设备和第二设备中的一个设备视为主设备,将另一个设备视为从设备。例如假设将第一设备视为主设备,将第二设备视为从设备,第一设备可以自主确定第一使能信息和第二使能信息,该过程可以参考前述实现方式,本申请实施例在此不做赘述。第二设备在接收到第七码流之前发送的第八码流中的第三使能信息和第四使能信息可以是默认的。在接收到第七码流后,第二设备可以基于第七码流中包括的第一使能信息更新第三使能信息,得到更新后的第三使能信息,更新后的第三使能信息与第一使能信息相同。和/或基于第七码流中包括的第二使能信息更新第四使能信息,得到更新后的第四使能信息,更新后的第四使能信息与第三使能信息相同,从而得到更新后的第八 码流,后续第二设备向Retimer1发送的均为更新后的第八码流,更新后的第八码流包括更新后的第二使能字段,更新后的第一使能字段中包括更新后的第三使能信息和更新后的第四使能信息。
319、第一设备向Retimer0发送第九码流,第九码流包括第一路径控制字段和第一状态字段,第一路径控制字段中包括第一进入控制信息和第二进入控制信息。
第一进入控制信息用于指示Retimer0是否进入低时延路径,第二进入控制信息用于指示Retimer1是否进入低时延路径。
前述过程311中,第一设备向Retimer0发送了携带有第一使能信息的第七码流,过程314中,第二设备向Retimer0发送了携带有第三使能信息的第八码流,第一使能信息和第三使能信息均指示是否使能Retimer0的低时延路径。以下对重定时器使能低时延路径和重定时器进入低时延路径的概念进行说明,重定时器使能低时延路径指的是重定时器执行进入低时延路径之前的准备工作,例如,校准以及上位对齐等。如图4所示,重定时器进入低时延路径指的是重定时器将MUX的输入端由正常数据路径切换为低时延路径。
第一设备可以根据第一使能信息确定第一进入控制信息,根据第二使能信息确定第二进入控制信息。示例地,若第一使能信息指示使能Retimer0的低时延路径,则可以确定用于指示Retimer0进入低时延路径的第一进入控制信息。若第一使能信息指示不使能Retimer0的低时延路径,则可以确定用于指示Retimer0不进入低时延路径的第一进入控制信息。
需要说明的是,若第一设备更新过第一使能信息和第二使能信息,则根据更新后的第一使能信息确定第一进入控制信息,根据更新后的第二使能信息确定第二进入控制信息。
第九码流可以包括RTSB。示例地,请参考图10,图10为本申请实施例提供的一种RTSB的结构示意图,RTSB包括TSB Type字段、第一路径控制字段、第一状态字段和TSB CRC字段。对应于图5,第一路径控制字段和第一状态字段属于TSB Payload部分。
第一路径控制字段包括位于第一设备和第二设备之间至少一个重定时器分别对应的进入低时延子字段。也即,第一路径控制字段中包括的进入低时延子字段的个数至少等于第一设备和第二设备之间的重定时器的个数。本申请实施例中,第一设备和第二设备之间包括Retimer0和Retimer1,则如图10所示,第一路径控制字段至少可以包括Retimer0进入低时延(Retimer0 Enter low latency,RT0_ENTER_LT)子字段和Retimer1进入低时延(Retimer1 Enter low latency,RT1_ENTER_LT)子字段。RT0_ENTER_LT子字段中包括第一进入控制信息,RT1_ENTER_LT子字段中包括第二进入控制信息。
第一路径控制字段中还可以包括第一退出控制信息和第二退出控制信息。第一退出控制信息用于指示Retimer0是否退出低时延路径,第二退出控制信息用于指示Retimer1是否退出低时延路径。则如图10所示,第一路径控制字段还包括位于第一设备和第二设备之间至少一个重定时器分别对应的退出低时延子字段。也即,第一路径控制字段中包括的退出低时延子字段的个数至少等于第一设备和第二设备之间的重定时器的个数。本申请实施例中,第一设备和第二设备之间包括Retimer0和Retimer1,则第一路径控制字段至少可以包括Retimer0退出低时延(Retimer0 Exit low latency,RT0_EXIT_LT)子字段和Retimer1退出低时延(Retimer1 Exit low latency,RT1_EXIT_LT)子字段。RT0_EXIT_LT子字段中包括第一退出控制信息,RT1_EXIT_LT子字段中包括第二退出控制信息。
第一状态字段包括位于第一设备和第二设备之间至少一个重定时器分别对应的低时延切换状态子字段。也即,第一状态字段中包括的低时延切换状态子字段的个数至少等于第一设备和第二设备之间的重定时器的个数。本申请实施例中,第一设备和第二设备之间包括Retimer0和Retimer1,则如图10所示,第一状态字段至少可以包括Retimer0低时延切换状态(Retimer0 low latency switch status,RT0_LT_SW)子字段和Retimer1低时延切换状态(Retimer1 low latency switch status,RT1_LT_SW)子字段。
RTSB的长度可以为任意值,本申请实施例对此不做限定。示例地,当重定时器的数量为两个时,RTSB的字节可以参考前述DTSB,TSB Type字段占用Symbol0,第一路径控制字段和第一状态字段占用Symbol1,TSB CRC字段占用Symbol2和Symbol3。
请参考表3,表3示出了RTSB所包括的各个字节的含义,表3以RTSB为Symbol0至Symbol3四个字节的码流且以重定时器包括Retimer0和Retimer1为例进行说明,表3与前述表1中Symbol0、Symbol2和Symbol3的含义相同,因此RTSB还可以包括第一Resvered字段,本申请实施例在此对Symbol0、Symbol2和Symbol3的含义不做赘述。
第一路径控制字段占用Symbol1中的4bit(Bit0至Bit3)。其中,RT0_ENTER_LT子字段占用Bit0,当Bit0为0时,指示Retimer0不直接进入低时延,即不进入低时延路径;当Bit0为1时,指示Retimer0直接进入低时延,即进入低时延路径。RT1_ENTER_LT子字段占用Bit1,当Bit1为0时,指示Retimer1不直接进入低时延,即不进入低时延路径;当Bit1为1时,指示Retimer1直接进入低时延,即进入低时延路径。
RT0_EXIT_LT子字段占用Bit2,当Bit2为0时,指示Retimer0不直接退出低时延,即不退出低时延路径;当Bit2为1时,指示Retimer0直接退出低时延,即退出低时延路径。RT1_EXIT_LT子字段占用Bit3,当Bit3为0时,指示Retimer1不直接退出低时延,即不退出低时延路径;当Bit3为1时,指示Retimer1直接退出低时延,即退出低时延路径。
第一状态字段占用Symbol1中的2bit(Bit4和Bit5)。其中,RT0_LT_SW子字段占用Bit4,RT1_LT_SW子字段占用Bit5。当Bit4为0时,指示Retimer0未处于低时延切换状态下,即指示Retimer0未正在进入低时延或者未正在退出低时延;当Bit4为1时,指示Retimer0处于低时延切换状态下,即指示Retimer0正在进入低时延或者正在退出低时延。当Bit5为0时,指示Retimer1未处于低时延切换状态下;当Bit5为1时,指示Retimer1处于低时延切换状态下。
Symbol1中的Bit6和Bit7为Resvered比特位,则如图10所示,RTSB还可以包括第二Resvered字段,第二Resvered字段占用Symbol1中的Bit6和Bit7。
表3
需要说明的是,前述图10所示的RTSB的结构和表3所示的RTSB中各个字节的含义均为示例性说明,并不对此进行限定,例如当第一设备和第二设备之间的重定时器的数量较多时,RTSB的第一路径控制字段和第一状态字段包括的子字段随之增加,RTSB的字节也要随之增大。
320、Retimer0在接收到的第九码流中的第一状态字段中写入第一状态信息,得到第十码流,第一状态信息用于指示Retimer0是否处于进入低时延路径或者退出低时延路径的状态。
示例地,以前述过程319所述的RTSB码流为例,Retimer0在第一状态字段中写入第一状态信息之前,第一状态字段中可以包括默认第一状态信息,例如RT0_LT_SW子字段 中的默认第一状态信息可以为0。
Retimer0在第一状态字段中写入第一状态信息时,可以先解码接收到的第九码流,之后根据自身当前状态确定第一状态信息与默认第一状态信息是否相同。当第一状态信息与默认第一状态信息相同时,无需修改RT0_LT_SW子字段中的内容,此时得到的第十码流与第九码流相同。当第一状态信息与默认第一状态信息不同时,需要将RT0_LT_SW子字段中的内容修改为第一状态信息,此时第十码流与第九码流不同。假设Retimer0当前状态为处于进入低时延路径的状态,RT0_LT_SW子字段中的默认第一能力信息为0,Retimer0可以将RT0_LT_SW子字段中的值修改为1。
321、Retimer0向Retimer1发送第十码流。
示例地,Retimer0向Retimer1发送的第十码流的第一状态字段中的RT0_LT_SW子字段中的值为1。
322、Retimer1在接收到的第十码流中的第一状态字段中写入第二状态信息,得到第十一码流,第二状态信息用于指示Retimer1是否处于进入低时延路径或者退出低时延路径的状态。
示例地,以前述过程319所述的RTSB码流为例,Retimer1在第一状态字段中写入第二状态信息之前,第一状态字段中可以包括默认第二状态信息,例如RT1_LT_SW子字段中的默认第二状态信息可以为0。
Retimer1在第一状态字段中写入第二状态信息时,可以先解码接收到的第十码流,之后根据自身当前状态确定第二状态信息与默认第二状态信息是否相同。当第二状态信息与默认第二状态信息相同时,无需修改RT1_LT_SW子字段中的内容,此时得到的第十一码流与第十码流相同。当第二状态信息与默认第二状态信息不同时,需要将RT1_LT_SW子字段中的内容修改为第二状态信息,此时第十一码流与第十码流不同。假设Retimer1当前状态为未处于进入低时延路径的状态,RT1_LT_SW子字段中的默认第一能力信息为0,Retimer0无需修改RT0_LT_SW子字段中的值。
323、Retimer1向第二设备发送第十一码流。
示例地,Retimer1向第二设备发送的第十一码流的第一状态字段中的RT0_LT_SW子字段中的值为1,RT1_LT_SW子字段中的值为0。
324、第二设备向Retimer1发送第十二码流,第十二码流包括第二路径控制字段和第二状态字段,第二路径控制字段中包括第三进入控制信息和第四进入控制信息。
第三进入控制信息用于指示Retimer0是否进入低时延路径,第四进入控制信息用于指示Retimer1是否进入低时延路径。第二设备确定第三进入控制信息和第四进入控制信息的过程可以参考前述过程319,本申请实施例在此不做赘述。
第二路径控制字段中还可以包括第三退出控制信息和第四退出控制信息。第三退出控制信息用于指示Retimer0是否退出低时延路径,第四退出控制信息用于指示Retimer1是否退出低时延路径。
第十二码流的结构与第九码流相同,其结构和相关说明可以参考图10所示的第九码流和表3的内容,本申请实施例在此不做赘述。
325、Retimer1在接收到的第十二码流中的第二状态字段中写入第三状态信息,得到第十三码流,第三状态信息用于指示Retimer1是否处于进入低时延路径或者退出低时延 路径的状态。
该过程可以参考前述过程322,本申请实施例在此不做赘述。
326、Retimer1向Retimer0发送第十三码流。
示例地,该过程中Retimer1向Retimer0发送的第十三码流的第二状态字段中的RT1_LT_SW子字段中的值为0。
327、Retimer0在接收到的第十三码流中的第二状态字段中写入第四状态信息,得到第十四码流,第四状态信息用于指示Retimer0是否处于进入低时延路径或者退出低时延路径的状态。
该过程可以参考前述过程320,本申请实施例在此不做赘述。
328、Retimer0向第一设备发送第十四码流。
示例地,该过程中Retimer0向第一设备发送的第十四码流的第二状态字段中的RT1_LT_SW子字段中的值为0,RT0LT_SW子字段中的值为1。
329、Retimer0基于第一进入控制信息和/或第三进入控制信息确定是否进入低时延路径。
前述过程319至323为第一设备对Retimer0和Retimer1的路径控制过程,过程324至328为第二设备对Retimer0和Retimer1的路径控制过程,第一设备和第二设备对Retimer0和Retimer1的路径控制过程无先后顺序,这两个路径控制过程可以同时执行。
Retimer0确定是否进入低时延路径的过程与前述过程317中Retimer0确定是否使能低时延路径的过程相对应。对应过程317的一种实现方式,Retimer0可以基于第一进入控制信息和第三进入控制信息中的任意一个确定是否统一进入两条低时延路径。示例地,Retimer0可以基于第九码流和第十三码流中先接收到的码流中包括的进入控制信息确定是否统一进入两条低时延路径。例如,Retimer0先接收到第九码流,可以基于第九码流中包括的第一进入控制信息确定是否统一进入两条低时延路径。假设第一进入控制信息指示Retimer0进入低时延路径(即RT0_ENTER_LT子字段的值为1),则统一进入两条低时延路径。
该实现方式中,Retimer0先接收到码流后即可执行该过程329,在码流中写入状态信息并转发接收到的码流的过程与过程329无先后顺序,这两个过程可以同时执行。例如,Retimer0先接收到第九码流,在接收到第九码流后即可执行该过程329,并同时执行过程320和321。
对应过程317的另一种实现方式,Retimer0可以基于第一进入控制信息和第三进入控制信息确定是否进入两条低时延路径。对应一种示例地,Retimer0可以基于第一进入控制信息和第三进入控制信息确定是否统一进入两条低时延路径。可选地,Retimer0可以对第一进入控制信息和第三进入控制信息进行逻辑与操作或者逻辑或操作,根据逻辑与操作或者逻辑或操作的结果确定是否统一进入两条低时延路径。逻辑操作的方式可以与过程317中的逻辑操作方式统一。
例如,假设第一进入控制信息指示Retimer0进入低时延路径(即RT0_ENTER_LT子字段的值为1),第三进入控制信息指示Retimer0不进入低时延路径(即RT0_ENTER_LT子字段的值为0)。Retimer0对第一进入控制信息和第三进入控制信息进行与操作,从而确定不进入两条低时延路径。或者Retimer0对第一进入控制信息和第三 进入控制信息进行或操作,从而确定进入两条低时延路径。
对应前述过程317的另一种示例地,Retimer0可以基于第一进入控制信息和第三进入控制信息分别独立确定是否进入两条低时延路径。即Retimer0可以基于第一进入控制信息确定是否进入一条低时延路径,基于第三进入控制信息确定是否进入另一条低时延路径。可选地,第一路径控制字段中还可以包括第一方向信息,第二路径控制字段中还可以包括第二方向信息,第一方向信息和第二方向信息不同。第一方向信息用于指示基于第一进入控制信息所进入的低时延路径对应的传输方向,第二方向信息用于指示基于第三进入控制信息所进入的低时延路径对应的传输方向。Retimer0可以基于第一进入控制信息确定是否进入第一方向信息指示的传输方向所对应的低时延路径,基于第三进入控制信息确定是否进入第二方向信息指示的传输方向所对应的低时延路径。例如,假设第一进入控制信息指示进入Retimer0的低时延路径(即RT0_LT_EN子字段的值为1),第一方向信息指示第二设备至第一设备的传输方向,Retimer0可以确定进入第二设备至第一设备的传输方向所对应的低时延路径。第三进入控制信息指示不进入Retimer0的低时延路径(即RT1_LT_EN子字段的值为0),第二方向信息指示第一设备至第二设备的传输方向,Retimer0可以确定不进入第一设备至第二设备的传输方向所对应的低时延路径。
对应前述过程317的又一可选地,Retimer0可以直接基于第一进入控制信息确定是否进入第九码流的传输方向所对应的低时延路径,基于第三进入控制信息确定是否进入第十三码流的传输方向所对应的低时延路径。例如,假设第一进入控制信息指示使能Retimer0的低时延路径(即RT0_LT_EN子字段的值为1),Retimer0可以确定进入第一设备至第二设备的传输方向所对应的低时延路径。第三进入控制信息指示不进入Retimer0的低时延路径(即RT1_LT_EN子字段的值为0),Retimer0可以确定不进入第二设备至第一设备的传输方向所对应的低时延路径。
该实现方式中,Retimer0在接收到两个码流后即可执行该过程329,在码流中写入状态信息并转发接收到的码流的过程与过程329无先后顺序,这两个过程可以同时执行。例如,Retimer0在接收到第九码流和第十三码流后即可执行该过程328,并同时执行过程320、321、327以及328。
330、Retimer1基于第二进入控制信息和/或第四进入控制信息确定是否进入低时延路径。
该过程可以参考前述过程329,本申请实施例在此不做赘述。
需要说明的是,前述过程319至330可以重复执行多次,即第一设备可以向Retimer0发送多个第九码流,第二设备可以向Retimer1发送多个第十二码流。
第一设备在基于接收到的任一第十四码流确定重定时器(包括Retimer0和Retimer1)均未处于进入低时延路径或者退出低时延路径的状态时,确定链路建立过程结束,此时可以开始通过重定时器向第二设备发送业务数据。同理,第二设备在基于接收到的任一第十一码流确定重定时器(包括Retimer0和Retimer1)均未处于进入低时延路径或者退出低时延路径的状态时,确定链路建立过程结束,此时可以开始通过重定时器向第一设备发送业务数据。
可选地,前述过程中,假设任一重定时器(例如Retimer0)根据第一进入控制信息和第三进入控制信息确定进入两条低时延路径,之后开始进入两条低时延路径。在进入两条 低时延路径的过程中,Retimer0可以先停止向Retimer1发送第十码流以及停止向第一设备发送第十四码流,自主生成第十五码流,并向第一设备和第二设备发送第十五码流。第十五码流可以为RTSB,其结构和相关说明可以参考图10和表3,本申请实施例在此不做赘述。在Retimer0完成进入低时延路径的过程后,可以开始向Retimer1发送第十码流第十码流以及开始向第一设备发送第十四码流。
若Retimer0或Retimer1在前述过程中进入了低时延路径,则在低时延路径转发业务数据;若Retimer0或Retimer1在前述过程中未进入低时延路径,则在正常数据路径转发业务数据。
需要说明的是,由于第一设备发送第九码流和第二设备发送第十二码流的时间和频率相差较小,因此第一设备和第二设备几乎是同时确定链路建立过程结束的,第一设备和第二设备可以通过重定时器传输业务数据。
可选地,若第一设备接收到的第六码流中包括第一时长信息和第二时长信息,则第一设备可以基于第一时长信息和第二时长信息确定第一等待时长。在与第一起始时刻间隔第一等待时长后,第一设备在接收到第一数量的第十四码流时确定链路建立过程结束,并通过重定时器向第二设备发送业务数据。第一起始时刻可以为第一设备发送首个第九码流的时刻,或者为第一设备接收到首个第十四码流的时刻,本申请实施例对此不做限定。第一等待时长可以为(1+N%)*T,其中N为自定义系数,T为第一时长信息或第二时长信息,例如T可以为第一时长信息和第二时长信息中的最大值。
第二设备也可以根据接收到的第三码流中包括的第一时长信息和第二时长信息确定第二等待时长,并在与第二起始时刻间隔第二等待时长后,第二设备在接收到第二数量的第十一码流时确定链路建立过程结束,并通过重定时器向第一设备发送业务数据。第二起始时刻可以为第二设备发送首个第十二码流的时刻,或者为第二设备接收到首个第十一码流的时刻,本申请实施例对此不做限定。第二等待时长的确定过程可以参考前述内容,本申请实施例在此不做赘述。
如前述图3所示,LTR_CTRL组件用于在前述方法过程中控制第一设备或第二设备的状态。示例地,请参考图11,图11为本申请实施例提供的一种状态转换示意图,本申请实施例以图11为例对前述整个方法过程中第一设备或第二设备的状态进行说明,如图11所示,第一设备或第二设备的状态转换如下:Discovery状态→Configuration状态→Retrain状态→Link Active状态。
如前述图4所示,Low_latency_switch_ctrl组件用于在前述方法过程中控制重定时器(包括Retimer0和Retimer1)的状态。示例地,请参考图12,图12为本申请实施例提供的另一种状态转换示意图,本申请实施例以图12为例对前述整个方法过程中第一设备、Retimer0、Retimer1和第二设备的状态进行说明,且假设控制Retimer0进入低时延路径和控制Retimer1不进入低时延路径。
如图12所示,在过程301至310的执行中,第一设备和第二设备均处于低时延能力声明交互状态,Retimer0和Retimer1均处于在Normal路径下数据转发状态。当第一设备接收到第三数量的第六码流时由低时延能力声明交互状态转换为低延迟切换握手确认状态。当第二设备接收到第三数量的第三码流时由低时延能力声明交互状态转换为低延迟切换握手确认状态。
在过程311至318的执行中,第一设备和第二设备均处于低延迟切换握手确认状态,Retimer0和Retimer1均处于在Normal路径下数据转发状态。当第一设备接收到第四数量的第八码流时由低延迟切换握手确认状态转换为等待低时延切换结束状态。当第二设备接收到第四数量的第七码流时由低延迟切换握手确认状态转换为等待低时延切换结束状态。第一设备或第二设备转换为等待低时延切换结束状态的同时Retimer0由在Normal路径下数据转发状态转换为低时延切换状态,Retimer1依旧处于在Normal路径下数据转发状态。
在过程319至330的执行中,第一设备和第二设备均处于等待低时延切换结束状态,Retimer0处于低时延切换状态,Retimer1处于在Normal路径下数据转发状态。当第一设备接收到第五数量的第十四码流时由等待低时延切换结束状态转换为业务数据传输状态。当第二设备接收到第五数量的第十一码流时由等待低时延切换结束状态转换为业务数据传输状态。Retimer0在进入低时延路径结束后可以由低时延切换状态转换为在low latency路径下数据转发状态。Retimer1依旧处于在Normal路径下数据转发状态。
可选地,第一设备也可以在与第一起始时刻间隔第一等待时长后,在接收到第一数量的第十四码流时由等待低时延切换结束状态转换为业务数据传输状态。第二设备也可以在与第二起始时刻间隔第二等待时长后,在接收到第二数量的第十一码流时由等待低时延切换结束状态转换为业务数据传输状态。第一起始时刻、第一等待时长、第二起始时刻和第二等待时长可以参考前述内容,本申请实施例在此不做赘述。
本申请实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相应增减。例如前述过程301和过程306可以同时执行,过程311和过程314可以同时执行,过程319和过程324可以同时执行,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,本申请实施例对此不做限定。
请参考图13,图13为本申请实施例提供的再一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图,在通过前述过程301至过程330控制部分或全部重定时器进入低时延路径后,若需要重新进行链路建立过程(例如接收到退出指令或链路出现故障),需要先进入链路建立过程控制已经进入低时延路径的重定时器退出低时延路径,再重新确定需要进入低时延路径的重定时器,并控制重定时器进入低时延路径。本申请实施例以图13为例对控制重定时器是否退出低时延路径的过程进行说明,且以控制Retimer0退出低时延路径以及控制Retimer1不退出低时延路径为例,该方法可以包括以下过程:
401、第一设备向Retimer0发送第十五码流,第十五码流包括第一路径控制字段和第一状态字段,第一路径控制字段中包括第一退出控制信息和第二退出控制信息。
第一退出控制信息用于指示Retimer0是否退出低时延路径,第二退出控制信息用于指示Retimer1是否退出低时延路径。
若基于接收到的退出指令重新进行链路建立过程,则可以基于退出指令确定需要退出的重定时器和不需要退出的重定时器,进而确定第一退出控制信息和第二退出控制信息。若由于链路出现故障重新进行链路建立过程,则可以控制之前已经处于低时延路径的重定时器退出低时延路径,进而确定第一退出控制信息和第二退出控制信息。
第十五码流的结构和相关说明可以参考前述图10和表3,本申请实施例在此不做赘述。在本申请实施例中,RT0_EXIT_LT子字段中的值可以为1,RT1_EXIT_LT子字 段中的值可以为0。
402、Retimer0在接收到的第十五码流中的第一状态字段中写入第一状态信息,得到第十六码流,第一状态信息用于指示Retimer0是否处于进入低时延路径或者退出低时延路径的状态。
该过程可以参考前述过程320,本申请实施例在此不做赘述。
403、Retimer0向Retimer1发送第十六码流。
404、Retimer1在接收到的第十六码流中的第一状态字段中写入第二状态信息,得到第十七码流,第二状态信息用于指示Retimer1是否处于进入低时延路径或者退出低时延路径的状态。
该过程可以参考前述过程322,本申请实施例在此不做赘述。
405、Retimer1向第二设备发送第十七码流。
406、第二设备向Retimer1发送第十八码流,第十八码流包括第二路径控制字段和第二状态字段,第二路径控制字段中包括第三退出控制信息和第四退出控制信息。
第三退出控制信息用于指示Retimer0是否退出低时延路径,第四退出控制信息用于指示Retimer1是否退出低时延路径。第二设备确定第三退出控制信息和第四退出控制信息的过程可以参考前述过程401,本申请实施例在此不做赘述。
第十八码流的结构和相关说明可以参考图10所示的第五码流和表3的内容,本申请实施例在此不做赘述。
407、Retimer1在接收到的第十八码流中的第二状态字段中写入第三状态信息,得到第十九码流,第三状态信息用于指示Retimer1是否处于进入低时延路径或者退出低时延路径的状态。
该过程可以参考前述过程322,本申请实施例在此不做赘述。
408、Retimer1向Retimer0发送第十九码流。
409、Retimer0在接收到的第十九码流中的第二状态字段中写入第四状态信息,得到第二十码流,第四状态信息用于指示Retimer0是否处于进入低时延路径或者退出低时延路径的状态。
该过程可以参考前述过程320,本申请实施例在此不做赘述。
410、Retimer0向第一设备发送第二十码流。
411、Retimer0基于第一退出控制信息和/或第三退出控制信息确定是否退出低时延路径。
前述过程401至405为第一设备对Retimer0和Retimer1的路径控制过程,过程406至410为第二设备对Retimer0和Retimer1的路径控制过程,第一设备和第二设备对Retimer0和Retimer1的路径控制过程无先后顺序,这两个路径控制过程可以同时执行。
Retimer0确定是否退出低时延路径的过程与前述过程317中Retimer0确定是否使能低时延路径的过程相对应。对应过程317的一种实现方式,Retimer0可以基于第一退出控制信息和第三退出控制信息中的任意一个确定是否统一退出两条低时延路径。
该实现方式中,Retimer0先接收到码流后即可执行该过程411,在码流中写入状态信息并转发接收到的码流的过程与过程411无先后顺序,这两个过程可以同时执行。例如,Retimer0先接收到第十五码流,在接收到第十五码流后即可执行该过程411,并同时执行 过程402和403。
对应过程317的另一种实现方式,Retimer0可以基于第一退出控制信息和第三退出控制信息确定是否退出两条低时延路径。对应一种示例地,Retimer0可以基于第一退出控制信息和第三退出控制信息确定是否统一退出两条低时延路径。可选地,Retimer0可以对第一退出控制信息和第三退出控制信息进行逻辑与操作或者逻辑或操作,根据逻辑与操作或者逻辑或操作的结果确定是否统一退出两条低时延路径。逻辑操作的方式可以与过程317中的逻辑操作方式统一。
例如,假设第一退出控制信息指示Retimer0退出低时延路径(即RT0_EXIT_LT子字段的值为1),第三退出控制信息指示Retimer0不退出低时延路径(即RT0_EXIT_LT子字段的值为0)。Retimer0对第一退出控制信息和第三退出控制信息进行与操作,从而确定不退出两条低时延路径。或者Retimer0对第一退出控制信息和第三退出控制信息进行或操作,从而确定退出两条低时延路径。
对应前述过程317的另一种示例地,Retimer0可以基于第一退出控制信息和第三退出控制信息分别独立确定是否退出两条低时延路径。即Retimer0可以基于第一退出控制信息确定是否退出一条低时延路径,基于第三进入控制信息确定是否退出另一条低时延路径。
该实现方式中,Retimer0在接收到两个码流后即可执行该过程411,在码流中写入状态信息并转发接收到的码流的过程与过程411无先后顺序,这两个过程可以同时执行。例如,Retimer0在接收到第十五码流和第十九码流后即可执行该过程411,并同时执行过程402、403、409以及过程410。
本申请实施例中以Retimer0退出两条低时延路径为例,此时Retimer0需要开始退出低时延路径。如图4所示,Retimer0可以将MUX的输入端由低时延路径切换为正常数据路径。
412、Retimer1基于第二退出控制信息和/或第四退出控制信息确定是否退出低时延路径。
该过程可以参考前述过程411,本申请实施例在此不做赘述。
需要说明的是,前述过程401至412可以重复执行多次,即第一设备可以向Retimer0发送多个第十五码流,第二设备可以向Retimer1发送多个第十八码流。
该过程401至过程412可以参考过程319至330,本申请实施例在此不做赘述。
第一设备在基于接收到的任一第二十码流确定重定时器(包括Retimer0和Retimer1)均未处于退出低时延路径的状态时,可以重新执行前述过程301至330,或者可以直接通过重定时器向第二设备发送业务数据。同理,第二设备在基于接收到的任一第十七码流确定重定时器(包括Retimer0和Retimer1)均未处于退出低时延路径的状态时,可以重新执行前述过程301至330,或者可以直接通过重定时器向第一设备发送业务数据。
可选地,第一设备也可以在与第一起始时刻间隔第一等待时长后,在接收到第一数量的第二十码流时重新执行前述过程301至330,或者直接通过重定时器向第二设备发送业务数据。第二设备也可以在与第二起始时刻间隔第二等待时长后,在接收到第二数量的第十七码流时重新执行前述过程301至330,或者直接通过重定时器向第一设备发送业务数据。该过程可以参考前述内容,本申请实施例在此不做赘述。
如图12所示,在过程401至412的执行中,第一设备和第二设备均处于等待低时延 切换结束状态,Retimer0处于低时延切换状态,Retimer1处于在Normal路径下数据转发状态。当第一设备接收到第五数量的第二十码流时由等待低时延切换结束状态转换为低时延能力声明交互状态(即重新执行前述过程301至330)或者业务数据传输状态(即通过重定时器向第二设备发送业务数据)。当第二设备接收到第五数量的第十七码流时由等待低时延切换结束状态转换为低时延能力声明交互状态或者业务数据传输状态。Retimer0在退出低时延路径结束后可以由低时延切换状态转换为在Normal路径下数据转发状态。Retimer1依旧处于在Normal路径下数据转发状态。
可选地,第一设备也可以在与第一起始时刻间隔第一等待时长后,在接收到第一数量的第二十码流时由等待低时延切换结束状态转换为低时延能力声明交互状态或者业务数据传输状态。第二设备也可以在与第二起始时刻间隔第二等待时长后,在接收到第二数量的第十七码流时由等待低时延切换结束状态转换为低时延能力声明交互状态或者业务数据传输状态。该过程可以参考前述内容,本申请实施例在此不做赘述。
本申请实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相应增减。例如前述过程401和过程406可以同时执行,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,本申请实施例对此不做限定。
前述过程301至330以及过程401至412以控制两个重定时器(包括Retimer0和Retimer1)的路径为例进行说明的,本申请实施例中,还可以控制一个重定时器或者两个以上重定时器的路径。在第三个实施例中,以第一设备、一个重定时器(以下称为Retimer)和第二设备为例对该路径控制方法进行说明。请参考图14,图14为本申请实施例提供的又一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图,图14对控制重定时器是否进入低时延路径的过程进行说明,该方法可以包括以下过程:
501、第一设备向Retimer发送第一码流,第一码流包括第一能力字段。
502、Retimer在接收到的第一码流中的第一能力字段中写入能力信息,得到第二码流,能力信息用于指示Retimer是否支持低时延。
503、Retimer向第二设备发送第二码流。
504、第二设备向Retimer发送第三码流,第三码流包括第二能力字段。
505、Retimer在接收到的第三码流中的第二能力字段中写入能力信息,得到第四码流。
506、Retimer向第一设备发送第四码流。
507、第一设备向Retimer发送第五码流,第五码流包括第一使能字段,第一使能字段中包括第一使能信息。
508、Retimer向第二设备发送第五码流。
509、第二设备向Retimer发送第六码流,第六码流包括第二使能字段,第二使能字段中包括第二使能信息。
510、Retimer向第一设备发送第六码流。
511、Retimer基于第一使能信息和/或第二使能信息确定是否使能低时延路径。
512、第一设备向Retimer发送第七码流,第七码流包括第一路径控制字段和第一状态字段,第一路径控制字段中包括第一进入控制信息。
513、Retimer在接收到的第七码流中的第一状态字段中写入第一状态信息,得到第八 码流,第一状态信息用于指示Retimer是否处于进入低时延路径或者退出低时延路径的状态。
514、Retimer向第二设备发送第八码流。
515、第二设备向Retimer发送第九码流,第九码流包括第二路径控制字段和第二状态字段,第二路径控制字段中包括第二进入控制信息。
516、Retimer在接收到的第九码流中的第二状态字段中写入第二状态信息,得到第十码流,第二状态信息用于指示Retimer是否处于进入低时延路径或者退出低时延路径的状态。
517、Retimer向第一设备发送第十码流。
518、Retimer基于第一进入控制信息和/或第二进入控制信息确定是否进入低时延路径。
该过程501至518可以参考前述过程301至330相关内容,本申请实施例在此不做赘述。
本申请实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相应增减。例如前述过程501和过程504可以同时执行,过程507和过程509可以同时执行,过程512和过程515可以同时执行,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,本申请实施例对此不做限定。
请参考图15,图15为本申请实施例提供的又一种用于有线串行数据传输的重定时器的路径控制方法的流程示意图,在通过前述过程501至过程518控制重定时器进入低时延路径后,若需要重新进行链路建立过程(例如接收到退出指令或链路出现故障),需要先进入链路建立过程控制已经重定时器退出低时延路径,再重新控制重定时器进入低时延路径。本申请实施例以图15为例对控制重定时器是否退出低时延路径的过程进行说明,该方法可以包括以下过程:
601、第一设备向Retimer发送第十一码流,第十一码流包括第一路径控制字段和第一状态字段,第一路径控制字段中包括第一退出控制信息。
602、Retimer在接收到的第十一码流中的第一状态字段中写入第一状态信息,得到第十二码流,第一状态信息用于指示Retimer是否处于进入低时延路径或者退出低时延路径的状态。
603、Retimer向第二设备发送第十二码流。
604、第二设备向Retimer发送第十三码流,第十三码流包括第二路径控制字段和第二状态字段,第二路径控制字段中包括第二退出控制信息。
605、Retimer在接收到的第十三码流中的第二状态字段中写入第二状态信息,得到第十四码流,第二状态信息用于指示Retimer是否处于进入低时延路径或者退出低时延路径的状态。
606、Retimer向第一设备发送第十三码流。
607、Retimer基于第一退出控制信息和/或第二退出控制信息确定是否退出低时延路径。
该过程601至607可以参考前述过程401至412的相关内容,本申请实施例在此不做 赘述。
本申请实施例提供的方法的先后顺序可以进行适当调整,过程也可以根据情况进行相应增减。例如前述过程601和过程604可以同时执行,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,本申请实施例对此不做限定。
综上所述,本申请实施例提供的用于有线串行数据传输的重定时器的路径控制方法,第一设备通过至少一个重定时器向第二设备发送包括第一能力字段的码流,至少一个重定时器在向第二设备转发接收到的码流时在第一能力字段中写入能力信息。第二设备通过至少一个重定时器向第一设备发送包括第二能力字段的码流,至少一个重定时器在向第一设备转发接收到的码流时在第二能力字段中写入能力信息。第一设备基于接收到的码流中携带的能力信息确定至少一个重定时器分别对应的使能信息,通过至少一个重定时器向第二设备发送包括第一使能字段的码流,第一使能字段中包括至少一个重定时器分别对应的使能信息。第二设备基于接收到的码流中携带的能力信息确定至少一个重定时器分别对应的使能信息,通过至少一个重定时器向第一设备发送包括第二使能字段的第四码流,第二使能字段中包括至少一个重定时器分别对应的使能信息。重定时器基于接收到的第一设备和/或第二设备发送的码流中携带的对应的使能信息确定是否使能低时延路径。之后第一设备通过至少一个重定时器向第二设备发送包括第一路径控制字段的码流,第一路径控制字段中包括至少一个重定时器分别对应的进入控制信息。第二设备通过至少一个重定时器向第一设备发送包括第二路径控制字段的码流,第二路径控制字段中包括至少一个重定时器分别对应的进入控制信息。重定时器基于接收到的第一设备和/或第二设备发送的码流中携带的对应的进入控制信息确定是否进入低时延路径。进一步地,第一设备可以通过码流中的第一路径控制字段控制重定时器是否退出低时延路径,第二设备可以通过码流中的第二路径控制字段控制重定时器是否退出低时延路径。第一设备和第二设备可以通过码流的交互实现对至少一个重定时器的路径控制,且无需重定时器向通信设备发送指示码流,避免了设备由于指示码流而功能异常。当通信链路状态较差的时候可以控制重定时器退出低时延路径,进而可以重新进入链路建立阶段的均衡状态,并在均衡状态进行链路的负载均衡,即重做均衡特性,从而能够保证通信链路处于良好状态。
第一设备和第二设备之间交互的码流可以为TSB,该码流是在已有TSB基础上增加了字段得到的,没有改变已有TSB的格式,这样使得该方法可以应用于高速IO协议,该方法所应用的装置可以直接拓展使用在高速串行接口(例如PCIe接口和以太接口)上,实现了与重定时器的原生对接,对于具有不同类型低时延路径的重定时器均能够实现路径的有效控制,适用性较为广泛且不影响重定时器的其他功能特性。并且TSB不会导致第一设备或第二设备功能异常。
并且,当第一设备和第二设备之间存在多个重定时器时,第一设备和第二设备可以通过码流实现对每个重定时器的路径的单独控制,即可以灵活控制哪些重定时器进入低时延路径或退出低时延路径,提高了控制过程的灵活性。
此外,包括第一路径控制字段的码流还可以包括第一状态字段,重定时器在确定是否进入低时延路径后还可以在第一状态字段中写入状态信息,之后向第二设备转发写入有状态信息的码流,状态信息用于指示重定时器是否处于进入低时延路径或者退出低时延路径 的状态。包括第二路径控制字段的码流还可以包括第二状态字段,重定时器在确定是否进入低时延路径后还可以在第二状态字段中写入状态信息,之后向第一设备转发写入有状态信息的码流。第一设备可以通过接收到的码流中携带的第二状态信息确定重定时器是否完成进入低时延路径或退出低时延路径,第二设备也可以通过接收到的码流中携带的第一状态信息确定重定时器是否完成进入低时延路径或退出低时延路径,在重定时器的路径控制过程中,本端设备和对端设备需要等待重定时器进入或退出低时延路径,本端设备和对端设备可以通过各自接收到的状态信息确定是否结束该等待过程,并确定是否进行后续的业务数据的传输或者是否重新进行链路建立过程,避免了本端设备和对端设备一直处于等待过程的情况发生,从而避免了第一设备和第二设备之间通信链路建立超时的情况出现。
上述主要从设备之间交互的角度对本申请实施例提供的用于有线串行数据传输的重定时器的路径控制方法进行了介绍。可以理解的是,各个设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对各个设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图16为本申请实施例提供的一种用于有线串行数据传输的重定时器的路径控制装置的框图,在采用对应各个功能划分各个功能模块的情况下,该路径控制装置700可以包括收发模块701和处理模块702。示例性地,该路径控制装置可以是第一设备、第二设备或重定时器,也可以是其中的芯片或者其他具有上述路径控制装置功能的组合器件、部件等。当该路径控制装置700是第一设备、第二设备或重定时器时,收发模块701可以是收发器,收发器可以包括天线和射频电路等;处理模块702可以是处理器(或者,处理电路),例如基带处理器,基带处理器中可以包括一个或多个中央处理器(central processing unit,CPU)。当该路径控制装置700是具有上述功能的器件或部件时,收发模块701可以是射频单元;处理模块702可以是处理器(或者,处理电路),例如基带处理器。当该路径控制装置700是芯片系统时,收发模块701可以是芯片(例如基带芯片)的输入输出接口;处理模块702可以是芯片系统的处理器(或者,处理电路),可以包括一个或多个中央处理单元。应理解,本申请实施例中的收发模块701可以由收发器或收发器相关电路组件实现;处理模块702可以由处理器或处理器相关电路组件(或者,称为处理电路)实现。
例如,当该路径控制装置700为第一设备或第二设备的芯片或功能单元时,收发模块701可以用于执行图6、图7、图13、图14或图15所示的实施例中由第一设备或第二设备所执行的全部收发操作,和/或用于支持本文所描述的技术的其它过程;处理模块702可以用于执行图6、图7、图13、图14或图15所示的实施例中由第一设备或第二设备所执行的除了收发操作之外的全部操作,和/或用于支持本文所描述的技术的其它过程。
收发模块701可以包括发送模块和/或接收模块,分别用于执行图6、图7、图13、图14或图15所示的实施例中由第一设备或第二设备所执行的发送和接收的操作,所述路径控制装置包括:
收发模块,用于接收第一码流,所述第一码流包括第一字段,所述第一字段中包括重定时器的能力信息,所述能力信息用于指示所述重定时器是否支持低时延路径;
所述收发模块,还用于向所述重定时器发送第二码流,所述第二码流包括第二字段,所述第二字段中包括第一进入控制信息,所述第一进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径。
结合上述方案,所述第二字段中还包括第一退出控制信息,所述第一退出控制信息用于指示所述重定时器是否退出所述低时延路径。
结合上述方案,所述收发模块,还用于向所述重定时器发送第三码流,所述第三码流包括第三字段,所述第三字段中携带所述能力信息。
结合上述方案,所述收发模块,还用于接收第四码流,所述第四码流包括第四字段,所述第四字段中包括第二进入控制信息和第二退出控制信息,所述第二进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述第二退出控制信息用于指示所述重定时器是否退出所述低时延路径。
结合上述方案,所述第二码流还包括第五字段,所述第五字段用于携带状态信息,所述状态信息用于指示所述重定时器是否处于进入所述低时延路径或者退出所述低时延路径的状态。
结合上述方案,所述第四码流还包括第六字段,所述第六字段中包括所述状态信息。
结合上述方案,所述收发模块,还用于当基于所述状态信息确定所述重定时器未处于进入所述低时延路径或者退出所述低时延路径的状态下,通过所述重定时器向对端设备发送业务数据。
结合上述方案,所述第一码流还包括第七字段,所述第七字段中包括时长信息,所述时长信息用于指示所述重定时器进入或退出所述低时延路径的消耗时长。
结合上述方案,所述路径控制装置还包括:处理模块,用于基于所述时长信息确定等待时长;所述收发模块,还用于在与起始时刻间隔所述等待时长后,在接收到第一数量的所述第四码流时通过所述重定时器向对端设备发送业务数据。
结合上述方案,所述收发模块,还用于向所述重定时器发送第五码流,所述第五码流包括第八字段,所述第八字段中包括第一使能信息,所述第一使能信息用于指示所述重定时器是否使能所述低时延路径。
结合上述方案,所述收发模块,还用于接收第六码流,所述第六码流包括第九字段,所述第九字段中包括第二使能信息,所述第二使能信息用于指示是否使能所述低时延路径。
结合上述方案,所述处理模块,还用于当所述第二使能信息与所述第一使能信息不同时,基于所述第二使能信息更新所述第一使能信息,得到更新后的第一使能信息,所述更新后的第一使能信息与所述第二使能信息相同;所述收发模块,还用于向所述重定时器发送更新后的第五码流,所述更新后的第五码流包括更新后的第一使能字段,所述更新后的第一使能字段中包括所述更新后的第一使能信息。
结合上述方案,所述收发模块,具体用于在第一状态下接收所述第一码流;在所述第一状态下向所述重定时器发送所述第三码流;所述处理模块,还用于当接收到第二数量的所述第一码流时,从所述第一状态跳转到第二状态;所述收发模块,具体用于在所述第二状态下向所述重定时器发送所述第五码流;在所述第二状态下接收所述第六码流;所述处理模块,还用于当接收到第三数量的所述第六码流时,从所述第二状态跳转到第三状态;所述收发模块,具体用于在所述第三状态下向所述重定时器发送所述第二码流;在所述第三状态下接收所述第四码流。
结合上述方案,所述处理模块,还用于获取所述重定时器的使能配置信息,所述使能配置信息用于指示是否使能所述重定时器的低时延功能;根据所述能力信息和所述使能配置信息确定所述第一进入控制信息。
例如,当该路径控制装置700为重定时器的芯片或功能单元时,收发模块701可以用于执行图6、图7、图13、图14或图15所示的实施例中由重定时器所执行的全部收发操作,和/或用于支持本文所描述的技术的其它过程;处理模块702可以用于执行图6、图7、图13、图14或图15所示的实施例中由重定时器所执行的除了收发操作之外的全部操作,和/或用于支持本文所描述的技术的其它过程。
收发模块701可以包括发送模块和/或接收模块,分别用于执行图6、图7、图13、图14或图15所示的实施例中由重定时器所执行的发送和接收的操作,所述路径控制装置包括:
收发模块,用于接收第一设备发送的第一码流,所述第一码流包括第一字段;
处理模块,用于在所述第一字段中写入能力信息,得到第二码流,所述能力信息用于指示所述重定时器是否支持低时延,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径;
所述收发模块,还用于向第二设备发送所述第二码流;
所述收发模块,还用于接收所述第二设备发送的第三码流,所述第三码流包括第二字段,所述第二字段中包括第一进入控制信息;
所述处理模块,还用于基于所述第一进入控制信息确定是否进入所述低时延路径。
结合上述方案,所述第二字段中还包括第一退出控制信息,所述处理模块,还用于基于所述第一退出控制信息确定是否退出所述低时延路径。
结合上述方案,所述收发模块,还用于接收所述第二设备发送的第四码流,所述第四码流包括第三字段;所述处理模块,还用于在所述第三字段中写入所述能力信息,得到第五码流;所述收发模块,还用于向所述第一设备发送所述第五码流;接收所述第一设备发送的第六码流,所述第六码流包括第四字段,所述第四字段中包括第二进入控制信息;所述处理模块,具体用于基于所述第一进入控制信息和所述第二进入控制信息确定是否进入所述低时延路径。
结合上述方案,所述第四字段中还包括第二退出控制信息,所述处理模块,具体用于基于所述第一退出控制信息和所述第二退出控制信息确定是否退出所述低时延路径。
结合上述方案,所述第三码流还包括第五字段,所述第六码流还包括第六字段,所述处理模块,还用于在所述第五字段中写入状态信息,得到第七码流,所述状态信息用于指示所述重定时器是否处于进入所述低时延路径或者退出所述低时延路径的状态;所述收发 模块,还用于向所述第一设备发送所述第七码流;所述处理模块,还用于在所述第六字段中写入所述状态信息,得到第八码流;所述收发模块,还用于向所述第二设备发送所述第八码流。
结合上述方案,所述第一码流还包括第七字段,所述第四码流还包括第八字段;所述在所述第一字段中写入能力信息,得到第二码流,包括:所述处理模块,具体用于在所述第一字段中写入所述能力信息以及在所述第七字段中写入时长信息,得到所述第二码流,所述时长信息用于指示所述重定时器进入或退出所述低时延路径的消耗时长;在所述第三字段中写入所述能力信息以及在所述第八字段中写入所述时长信息,得到所述第五码流。
结合上述方案,所述收发模块,还用于接收所述第二设备发送的第九码流,所述第九码流包括第九字段,所述第九字段中包括第一使能信息;所述处理模块,还用于基于所述第一使能信息确定是否使能所述低时延路径。
结合上述方案,所述收发模块,还用于接收所述第一设备发送的第十码流,所述第十码流包括第十字段,所述第十字段中包括第二使能信息;所述处理模块,具体用于基于所述第一使能信息和所述第二使能信息确定是否使能所述低时延路径。
图17为本申请实施例提供的一种电子设备的结构示意图,该电子设备800可以为第一设备、第二设备或重定时器;也可以为第一设备、第二设备或重定时器中的芯片或者功能模块。如图17所示,该电子设备800包括处理器801,收发器802以及通信线路803。
其中,处理器801用于执行如图6、图7、图13、图14或图15所示的方法实施例中的任一步骤,且在执行诸如发送第一码流等访问过程时,可选择调用收发器802以及通信线路803来完成相应操作。
进一步的,该电子设备800还可以包括存储器804。其中,处理器801,存储器804以及收发器802之间可以通过通信线路803连接。
其中,处理器801是CPU、通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器801还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
收发器802,用于与其他设备或其它通信网络进行通信,其它通信网络可以为以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。收发器802可以是模块、电路、收发器或者任何能够实现通信的装置。
收发器802主要用于码流的收发,可以包括发射器和接收器,分别进行码流的发送和接收;除码流收发之外的操作由处理器实现,如信息处理,计算等。
通信线路803,用于在电子设备800所包括的各部件之间传送信息。
在一种设计中,可以将处理器看做逻辑电路,收发器看做接口电路。
存储器804,用于存储指令。其中,指令可以是计算机程序。
存储器804可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。 通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器804还可以是只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
需要指出的是,存储器804可以独立于处理器801存在,也可以和处理器801集成在一起。存储器804可以用于存储指令或者程序代码或者一些数据等。存储器804可以位于电子设备800内,也可以位于电子设备800外,不予限制。处理器801,用于执行存储器804中存储的指令,以实现本申请上述实施例提供的方法。
在一种示例中,处理器801可以包括一个或多个CPU,例如图17中的CPU0和CPU1。
可选地,电子设备800包括多个处理器,例如,除图17中的处理器801之外,还可以包括处理器807。
可选地,电子设备800还包括输出设备805和输入设备806。输入设备806是键盘、鼠标、麦克风或操作杆等设备,输出设备805是显示屏、扬声器(speaker)等设备。
电子设备800可以是芯片系统或有图17中类似结构的设备。其中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。此外,图17中示出的组成结构并不构成对该电子设备800的限定,除图17所示部件之外,该电子设备800可以包括比图17所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请中描述的处理器和收发器可实现在集成电路(integrated circuit,IC)、模拟IC、射频集成电路、混合信号IC、专用集成电路(application specific integrated circuit,ASIC)、印刷电路板(printed circuit board,PCB)、电子设备等上。该处理器和收发器也可以用各种IC工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal-oxide-semiconductor,NMOS)、P型金属氧化物半导体(positive channel metal oxide semiconductor,PMOS)、双极结型晶体管(Bipolar Junction Transistor,BJT)、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓(GaAs)等。
作为又一种可实现方式,图16中的收发模块701可以由图17中的收发器802代替,该收发器802可以集成收发模块701的功能;处理模块702可以由处理器807代替,该处理器807可以集成处理模块702的功能。进一步的,图16所示路径控制装置700还可以包括存储器(图中未示出)。当收发模块701由收发器802代替,处理模块702由处理器807代替时,本申请实施例所涉及的路径控制装置700可以为图17所示的电子设备800。
图18为本申请实施例提供的一种路径控制装置的结构示意图。该路径控制装置可适用于上述方法实施例所示出的场景中。为了便于说明,图18仅示出了路径控制装置的主要部件,包括处理器、存储器、控制电路、以及输入输出装置。处理器主要用于对通信协 议以及通信数据进行处理,执行软件程序,处理软件程序的数据。存储器主要用于存储软件程序和数据。控制电路主要用于供电及各种电信号的传递。输入输出装置主要用于接收用户输入的数据以及对用户输出数据。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行本申请实施例任一所述的方法。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机或者具有信息处理能力的装置执行计算机程序或指令,以控制相关的硬件完成,该计算机程序或该组指令可存储于上述计算机可读存储介质中,该计算机程序或该组指令在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的第一设备、第二设备或重定时器的内部存储单元,例如上述各个设备的硬盘或内存。上述计算机可读存储介质也可以是上述各个设备的外部存储设备,例如上述各个设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述各个设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序或指令以及上述各个设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机, 服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (26)
- 一种用于有线串行数据传输的重定时器的路径控制方法,其特征在于,所述方法包括:接收第一码流,所述第一码流包括第一字段,所述第一字段中包括重定时器的能力信息,所述能力信息用于指示所述重定时器是否支持低时延路径;向所述重定时器发送第二码流,所述第二码流包括第二字段,所述第二字段中包括第一进入控制信息,所述第一进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径。
- 根据权利要求1所述的方法,其特征在于,所述第二字段中还包括第一退出控制信息,所述第一退出控制信息用于指示所述重定时器是否退出所述低时延路径。
- 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:向所述重定时器发送第三码流,所述第三码流包括第三字段,所述第三字段中携带所述能力信息。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:接收第四码流,所述第四码流包括第四字段,所述第四字段中包括第二进入控制信息和第二退出控制信息,所述第二进入控制信息用于指示所述重定时器是否进入所述低时延路径,所述第二退出控制信息用于指示所述重定时器是否退出所述低时延路径。
- 根据权利要求4所述的方法,其特征在于,所述第二码流还包括第五字段,所述第五字段用于携带状态信息,所述状态信息用于指示所述重定时器是否处于进入所述低时延路径或者退出所述低时延路径的状态。
- 根据权利要求5所述的方法,其特征在于,所述第四码流还包括第六字段,所述第六字段中包括所述状态信息。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:当基于所述状态信息确定所述重定时器未处于进入所述低时延路径或者退出所述低时延路径的状态下,通过所述重定时器向对端设备发送业务数据。
- 根据权利要求4至7任一项所述的方法,其特征在于,所述第一码流还包括第七字段,所述第七字段中包括时长信息,所述时长信息用于指示所述重定时器进入或退出所述低时延路径的消耗时长。
- 根据权利要求8所述的方法,其特征在于,在向所述重定时器发送第二码流之后,所述方法还包括:基于所述时长信息确定等待时长;在与起始时刻间隔所述等待时长后,在接收到第一数量的所述第四码流时通过所述重定时器向对端设备发送业务数据。
- 根据权利要求4至9任一项所述的方法,其特征在于,所述方法还包括:向所述重定时器发送第五码流,所述第五码流包括第八字段,所述第八字段中包括第一使能信息,所述第一使能信息用于指示所述重定时器是否使能所述低时延路径。
- 根据权利要求10所述的方法,其特征在于,所述方法还包括:接收第六码流,所述第六码流包括第九字段,所述第九字段中包括第二使能信息,所 述第二使能信息用于指示是否使能所述低时延路径。
- 根据权利要求11所述的方法,其特征在于,所述方法还包括:当所述第二使能信息与所述第一使能信息不同时,基于所述第二使能信息更新所述第一使能信息,得到更新后的第一使能信息,所述更新后的第一使能信息与所述第二使能信息相同;向所述重定时器发送更新后的第五码流,所述更新后的第五码流包括更新后的第一使能字段,所述更新后的第一使能字段中包括所述更新后的第一使能信息。
- 根据权利要求12所述的方法,其特征在于,所述接收第一码流,包括:在第一状态下接收所述第一码流;所述向所述重定时器发送第三码流,包括:在所述第一状态下向所述重定时器发送所述第三码流;所述方法还包括:当接收到第二数量的所述第一码流时,从所述第一状态跳转到第二状态;所述向所述重定时器发送第五码流,包括:在所述第二状态下向所述重定时器发送所述第五码流;所述接收第六码流,包括:在所述第二状态下接收所述第六码流;所述方法还包括:当接收到第三数量的所述第六码流时,从所述第二状态跳转到第三状态;所述向所述重定时器发送第二码流,包括:在所述第三状态下向所述重定时器发送所述第二码流;所述接收第四码流,包括:在所述第三状态下接收所述第四码流。
- 根据权利要求1至13任一项所述的方法,其特征在于,所述方法还包括:获取所述重定时器的使能配置信息,所述使能配置信息用于指示是否使能所述重定时器的低时延功能;根据所述能力信息和所述使能配置信息确定所述第一进入控制信息。
- 一种用于有线串行数据传输的重定时器的路径控制方法,其特征在于,所述方法包括:接收第一设备发送的第一码流,所述第一码流包括第一字段;在所述第一字段中写入能力信息,得到第二码流,所述能力信息用于指示所述重定时器是否支持低时延,所述低时延路径为所述重定时器的数据传输路径中时延最小的路径;向第二设备发送所述第二码流;接收所述第二设备发送的第三码流,所述第三码流包括第二字段,所述第二字段中包括第一进入控制信息;基于所述第一进入控制信息确定是否进入所述低时延路径。
- 根据权利要求15所述的方法,其特征在于,所述第二字段中还包括第一退出控制信息,所述方法还包括:基于所述第一退出控制信息确定是否退出所述低时延路径。
- 根据权利要求16所述的方法,其特征在于,所述方法还包括:接收所述第二设备发送的第四码流,所述第四码流包括第三字段;在所述第三字段中写入所述能力信息,得到第五码流;向所述第一设备发送所述第五码流;接收所述第一设备发送的第六码流,所述第六码流包括第四字段,所述第四字段中包括第二进入控制信息;所述基于所述第一进入控制信息确定是否进入所述低时延路径,包括:基于所述第一进入控制信息和所述第二进入控制信息确定是否进入所述低时延路径。
- 根据权利要求17所述的方法,其特征在于,所述第四字段中还包括第二退出控制信息,所述基于所述第一退出控制信息确定是否退出所述低时延路径,包括:基于所述第一退出控制信息和所述第二退出控制信息确定是否退出所述低时延路径。
- 根据权利要求17或18所述的方法,其特征在于,所述第三码流还包括第五字段,所述第六码流还包括第六字段,所述方法还包括:在所述第五字段中写入状态信息,得到第七码流,所述状态信息用于指示所述重定时器是否处于进入所述低时延路径或者退出所述低时延路径的状态;向所述第一设备发送所述第七码流;在所述第六字段中写入所述状态信息,得到第八码流;向所述第二设备发送所述第八码流。
- 根据权利要求17至19任一项所述的方法,其特征在于,所述第一码流还包括第七字段,所述第四码流还包括第八字段;所述在所述第一字段中写入能力信息,得到第二码流,包括:在所述第一字段中写入所述能力信息以及在所述第七字段中写入时长信息,得到所述第二码流,所述时长信息用于指示所述重定时器进入或退出所述低时延路径的消耗时长;所述在所述第三字段中写入所述能力信息,得到第五码流,包括:在所述第三字段中写入所述能力信息以及在所述第八字段中写入所述时长信息,得到所述第五码流。
- 根据权利要求15至20任一项所述的方法,其特征在于,所述方法还包括:接收所述第二设备发送的第九码流,所述第九码流包括第九字段,所述第九字段中包括第一使能信息;基于所述第一使能信息确定是否使能所述低时延路径。
- 根据权利要求21所述的方法,其特征在于,所述方法还包括:接收所述第一设备发送的第十码流,所述第十码流包括第十字段,所述第十字段中包括第二使能信息;所述基于所述第一使能信息确定是否使能所述低时延路径,包括:基于所述第一使能信息和所述第二使能信息确定是否使能所述低时延路径。
- 一种用于有线串行数据传输的重定时器的路径控制装置,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序或指令;当所述一个或多个计算机程序或指令被所述一个或多个处理器执行,使得所述 一个或多个处理器实现如权利要求1至14中任一项所述的方法。
- 一种用于有线串行数据传输的重定时器的路径控制装置,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序或指令;当所述一个或多个计算机程序或指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求15至22中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机程序或指令,所述计算机程序或指令在计算机上被执行时,使得所述计算机执行权利要求1至22中任一项所述的方法。
- 一种用于有线串行数据传输的重定时器的路径控制系统,其特征在于,所述系统包括第一设备、第二设备和重定时器,所述第一设备或第二设备包括权利要求23所述的用于有线串行数据传输的重定时器的路径控制装置,所述重定时器包括权利要求24所述的用于有线串行数据传输的重定时器的路径控制装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/074361 WO2023141890A1 (zh) | 2022-01-27 | 2022-01-27 | 重定时器的路径控制方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116830488A true CN116830488A (zh) | 2023-09-29 |
Family
ID=87469969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280007862.XA Pending CN116830488A (zh) | 2022-01-27 | 2022-01-27 | 重定时器的路径控制方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116830488A (zh) |
WO (1) | WO2023141890A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965439B2 (en) * | 2016-06-27 | 2018-05-08 | Intel Corporation | Low latency multi-protocol retimers |
US11095556B2 (en) * | 2017-06-30 | 2021-08-17 | Intel Corporation | Techniques to support multiple protocols between computer system interconnects |
US11249808B2 (en) * | 2017-08-22 | 2022-02-15 | Intel Corporation | Connecting accelerator resources using a switch |
EP3879746A4 (en) * | 2018-12-21 | 2021-12-22 | Huawei Technologies Co., Ltd. | CLOCK DOMAIN CROSSING PROCESSING CIRCUIT |
US12058084B2 (en) * | 2019-10-18 | 2024-08-06 | Intel Corporation | Configuration scheme for link establishment |
-
2022
- 2022-01-27 WO PCT/CN2022/074361 patent/WO2023141890A1/zh active Application Filing
- 2022-01-27 CN CN202280007862.XA patent/CN116830488A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023141890A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108605056B (zh) | 高速串行链路中的单向时钟信令 | |
US7486721B2 (en) | Physical layer device having an analog serdes pass through mode | |
US8046510B2 (en) | Physical layer device having a SERDES pass through mode | |
US8886840B2 (en) | System and method for implementing a single chip having a multiple sub-layer PHY | |
JP4619364B2 (ja) | 複数のパラレルインタフェースのパラレルデータをシリアルデータに多重化する集積回路装置 | |
CN102812448B (zh) | 用于器件的多协议多数据速率自动速度协商架构 | |
US7519747B1 (en) | Variable latency buffer and method of operation | |
US20040130347A1 (en) | Hypertransport/SPI-4 interface supporting configurable deskewing | |
US20060250985A1 (en) | Multi-rate, multi-port, gigabit serdes transceiver | |
US7630446B2 (en) | Apparatus and method for automatic polarity swap in a communications system | |
EP2972929B1 (en) | Systems and methods for serial communication | |
US8732375B1 (en) | Multi-protocol configurable transceiver with independent channel-based PCS in an integrated circuit | |
CN110334044B (zh) | 一种mipi dphy发送电路及设备 | |
US7684477B1 (en) | Multi-protocol low latency automatic speed negotiation architecture for an embedded high speed serial interface in a programmable logic device | |
JPWO2007108535A1 (ja) | 通信制御装置及び方法 | |
CN116830488A (zh) | 重定时器的路径控制方法、装置及系统 | |
EP4456460A1 (en) | Path control method, apparatus and system for retimer | |
EP1357709A2 (en) | A physical layer device having a serdes pass through mode | |
JP2006304011A (ja) | インタフェース回路 | |
KR20200062582A (ko) | 이더넷 스위치 반도체 | |
CN103918237A (zh) | 在高速通信链路的训练期间减小电源噪声的方法和系统 | |
US7240133B1 (en) | Reduced-area architecture for padded-protocol interface | |
JPWO2017043250A1 (ja) | 受信装置、受信方法、および通信システム | |
CN116414753A (zh) | 控制展频的方法和装置 | |
Zhang et al. | Transmission Technology Based on Aurora Protocol |
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 |