CN115599731A - 一种链路协商系统、方法及设备 - Google Patents
一种链路协商系统、方法及设备 Download PDFInfo
- Publication number
- CN115599731A CN115599731A CN202111134281.6A CN202111134281A CN115599731A CN 115599731 A CN115599731 A CN 115599731A CN 202111134281 A CN202111134281 A CN 202111134281A CN 115599731 A CN115599731 A CN 115599731A
- Authority
- CN
- China
- Prior art keywords
- link
- channel
- logical channel
- unidirectional
- speed serial
- 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 description 87
- 230000001174 ascending effect Effects 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 14
- 239000000523 sample Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000003247 decreasing effect Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
Abstract
一种链路协商系统、方法及设备,本申请中,第二设备根据自身接口的接收器的状态确定链路配置策略,链路配置策略指示第一设备和第二设备之间高速串行链路中单向逻辑通道和单向物理通道的关联关系,单向逻辑通道为高速串行链路中从第一设备到第二设备的逻辑通道,单向物理通道为高速串行链路中从第一设备到第二设备的物理通道。向第一设备发送链路配置策略。以使第一设备根据链路配置策略配置高速串行链路。第二设备根据接口中接收器的状态来指示第一设备建立物理通道以及逻辑通道的关联关系。使得第一设备侧物理通道以及逻辑通道的关联关系的构建能够符合第二接口中接收器的状态,第一设备侧物理通道以及逻辑通道的关联关系的构建更加灵活。
Description
相关申请的交叉引用
本申请要求在2021年7月8日提交中华人民共和国知识产权局、申请号为202110770998.3、发明名称为“一种链路协商的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种链路协商系统、方法及设备。
背景技术
目前,以高速串行计算机扩展总线(peripheral component interconnectexpress,PCIe)为代表的高速串行链路在正式传输数据之前,需要对高速串行链路进行训练,该训练过程中主要为基于该高速串行链路连接的两个设备之间的协商过程。在PCIe中,这两个设备在训练过程中需要确定高速串行链路的链路宽度、协商高速串行链路号以及逻辑通道号。
但在具体实现时,若这两个设备发现某一个物理通道不正常,可能会导致整个高速串行链路无法完成训练过程,后续也就无法正常传输数据。
发明内容
本申请提供一种链路协商系统、方法及设备,用以灵活地建立高速串行链路中逻辑通道和物理通道的关联关系。
第一方面,本申请实施例提供了一种链路协商系统,系统包括第一设备和第二设备,第一设备和第二设备之间可以构建高速串行链路,该高速串行链路链接第一设备的接口以及第二设备的接口,第二设备中的接口可以称为第二接口,第一设备中的接口可以称为第一接口。
第二设备能够确定该第二接口中各个接收器的状态,如接收器正常或异常。第二设备可以根据第二接口的接收器的状态确定链路配置策略,该链路配置策略用于指示第一设备和第二设备之间的高速串行链路中单向逻辑通道(在本申请实施例中这里所指的单向逻辑通道也可以称为正向逻辑通道)和单向物理通道(在本申请实施例中这里所指单向物理通道也可以称为正向物理通道)的关联关系,其中,单向逻辑通道为高速串行链路中从第一设备到第二设备的逻辑通道,单向物理通道为高速串行链路中从第一设备到第二设备的物理通道。
第二设备在确定了链路配置策略后,可以向第一设备发送链路配置策略。第一设备在接收到该链路配置策略后,根据链路配置策略配置高速串行链路,也即建立第一设备侧物理通道以及逻辑通道的关联关系。
通过上述系统,第二设备能够根据第二接口中接收器的状态来指示第一设备建立第一设备侧物理通道以及逻辑通道的关联关系。由于第二设备中接收器的状态是决定单向物理通道是否真正常的关键因素,因此,基于第二接口中接收器的状态所确定的链路配置策略能够保证单向逻辑通道可以与正常的单向物理通道建立关联关系,保证了链路配置策略的有效性,使得第一设备侧物理通道以及逻辑通道的关联关系的构建能够符合第二接口中接收器的状态,第一设备侧物理通道以及逻辑通道的关联关系的构建也更加灵活。
在一种可能的实施方式中,对于第一设备,不同的单向逻辑通道所允许定位的单向物理通道可能存在一定的限制,尤其对于单向逻辑通道中排序第一的单向逻辑通道。所以第一设备可以告知第二设备单向逻辑通道所允许定位的单向物理通道。
具体的,第一设备可以向第二设备发送逻辑通道定位消息,该逻辑通道定位消息可以存在如下两种表现形式:
第一种:逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,目标单向逻辑通道(在本申请实施例中也可以称为目标正向逻辑通道)为高速串行链路中排序第一的单向逻辑通道。
第二种:逻辑通道定位消息包括多个单向逻辑通道所允许定位的单向物理通道。
通过上述系统,第一设备告知第二设备单向逻辑通道所允许定位的单向物理通道的方式较为灵活,能够适用于不同的场景。
在一种可能的实施方式中,第二设备若接收到逻辑通道定位消息,第二设备在确定链路配置策略时,可以根据第二接口的接收器的状态和逻辑通道定位消息确定链路配置策略。
通过上述系统,链路配置策略既能够符合第二设备的接收器的状态,又可以满足逻辑通道定位消息,进一步保证了链路配置策略的有效性。
在一种可能的实施方式中,链路配置策略的具体表现形式由很多种,例如,链路配置策略可包括下列的部分或全部:
1、目标单向逻辑通道所定位的单向物理通道。
2、高速串行链路的链路宽度,这里的链路宽带为当前正常的单向物理通道所能够支持的最大链路宽度。
3、高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。也即单向逻辑通道号的配置方向。
通过上述系统,通过限定目标单向逻辑通道所定位的单向物理通道、链路宽度、单向逻辑通道号的配置方向限定单向物理通道和单向逻辑通道的关联关系,链路配置策略的消息形式更加简单。
在一种可能的实施方式中,若第二设备未接收到逻辑通道定位消息,第二设备也可以根据第二接口的接收器的状态向第一设备发送一个或多个链路配置策略。
通过上述系统,第二设备也可以主动的为第一设备提供可用的链路配置策略,保证第一设备侧能够构建单向物理通道和单向逻辑通道的关联关系。
在一种可能的实施方式中,当第一设备接收到多个链路配置策略,第一设备可以从多个第一链路配置策略选择链路配置策略,根据选择的链路配置策略配置高速串行链路。
通过上述系统,第一设备可以根据实际情况选择链路配置策略,保证后续可以成功构建单向物理通道和单向逻辑通道的关联关系。
在一种可能的实施方式中,前述主要针对从第一设备到第二设备的单向逻辑通道,第一设备侧构建单向物理通道和单向逻辑通道的关联关系。类似的,针对从第二设备到第一设备的单向逻辑通道,第二设备侧也可以构建单向物理通道和单向逻辑通道的关联关系。第一设备包括第一接口,第一设备可以根据第一接口中接收器的状态确定对端链路配置策略,向第二设备发送对端链路配置策略,对端链路配置策略用于指示第一设备和第二设备之间的高速串行链路中第一逻辑通道(在本申请实施例中这里所指的第一逻辑通道也可以称为反向逻辑通道)和第一物理通道(在本申请实施例中这里所指的第一物理通道也可以称为反向物理通道)的关联关系,其中,第一逻辑通道为高速串行链路中从第二设备到第一设备的逻辑通道,第一物理通道为高速串行链路中从第二设备到第一设备的物理通道。
第二设备在接收到该对端链路配置策略后,根据对端链路置策略配置高速串行链路,也即建立第一设备侧物理通道以及逻辑通道的关联关系。
通过上述系统,第一设备也可以采用类似的方式根据第二接口中接收器的状态来指示第一设备建立第一设备侧物理通道以及逻辑通道的关联关系,这样从第一设备到第二设备的物理通道和逻辑通道的关联关系的建立以及从第二设备到第一设备的物理通道和逻辑通道的关联关系的建立相对独立,整个高速串行链路中物理通道和逻辑通道的关联关系的构建更加灵活。
第二方面,本申请实施例提供了一种链路协商方法,该方法可以由第一设备执行,有益效果的描述可以参见第一方面的描述,此处不再赘述。
第一设备可以接收来自第二设备的链路配置策略,链路配置策略用于指示第一设备和第二设备之间的高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,单向逻辑通道为高速串行链路中从第一设备到第二设备的逻辑通道,单向物理通道为高速串行链路中从第一设备到第二设备的物理通道。在接收到该链路配置策略后,第一设备可以根据链路配置策略配置高速串行链路。
在一种可能的实施方式中,第一设备接收来自第二设备的链路配置策略之前,还可以向第二设备发送逻辑通道定位消息。逻辑通道定位消息可以存在如下两种表现形式:
第一种、逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,目标单向逻辑通道为高速串行链路中排序第一的单向逻辑通道。
第二种、逻辑通道定位消息包括多个单向逻辑通道所允许定位的单向物理通道。
在一种可能的实施方式中,链路配置策略可以包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道。
高速串行链路的链路宽度。
高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
在一种可能的实施方式中,第一设备接收的链路配置策略可以为一个或多个。
在一种可能的实施方式中,当接收到多个链路配置策略的情况下,第一设备从多个第一链路配置策略选择链路配置策略,根据选择的链路配置策略配置高速串行链路。
在一种可能的实施方式中,第一设备包括第一接口,第一设备可以根据第一接口中接收器的状态可以确定对端链路配置策略,并向第二设备发送对端链路配置策略,对端链路配置策略用于指示第一设备和第二设备之间高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,第一逻辑通道为高速串行链路中从第二设备到第一设备的逻辑通道,第一物理通道为高速串行链路中从第二设备到第一设备的物理通道。
第三方面,本申请实施例提供了一种链路协商方法,该方法可以由第二设备执行,有益效果可以参见第一方面的相关描述,此处不再赘述。第二设备包括第二接口,第二设备与第一设备之间的高速串行链路是基于第二接口构建的,该方法中:
第二设备可以根据第二接口的接收器的状态确定链路配置策略,链路配置策略用于指示第一设备和第二设备之间的高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,单向逻辑通道为高速串行链路中从第一设备到第二设备的逻辑通道,单向物理通道为高速串行链路中从第一设备到第二设备的物理通道。在确定了链路配置策略后,第二设备可以向第一设备发送链路配置策略。
在一种可能的实施方式中,第二设备根据第二接口的接收器的状态确定链路配置策略之前,还可以接收来自第一设备的逻辑通道定位消息。逻辑通道定位消息可以存在如下两种表现形式:
第一种、逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,目标单向逻辑通道为高速串行链路中排序第一的单向逻辑通道。
第二种、逻辑通道定位消息包括多个单向逻辑通道所允许定位的单向物理通道。
在一种可能的实施方式中,第二设备若接收到逻辑通道定位信息,第二设备在根据第二接口的接收器的状态确定链路配置策略时,可以根据第二接口的接收器的状态和逻辑通道定位消息确定链路配置策略。
在一种可能的实施方式中,链路配置策略包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道。
高速串行链路的链路宽度。
高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
在一种可能的实施方式中,第二设备可以根据第二接口的接收器的状态确定一个或多个链路配置策略,向第一设备发送该一个或多个链路配置策略。
在一种可能的实施方式中,第二设备可以接收来自第一设备的对端链路配置策略,对端链路配置策略用于指示第一设备和第二设备之间的高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,第一逻辑通道为高速串行链路中从第二设备到第一设备的逻辑通道,第一物理通道为高速串行链路中从第二设备到第一设备的物理通道。之后,可以根据对端链路置策略配置高速串行链路。
第四方面,本申请实施例还提供了一种链路协商装置,该评估装置具有实现上述第二方面的方法实例中第一设备的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括接收模块、配置模块,可选的,还包括发送模块,这些模块可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,本申请实施例还提供了一种链路协商装置,该评估装置具有实现上述第三方面的方法实例中第二设备的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括配置模块、发送模块,可选的,还包括接收模块,这些模块可以执行上述第三方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第六方面,本申请实施例还提供了一种计算设备,该计算设备具有实现上述第二方面的方法实例中第一设备的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。计算设备的结构中包括处理器和存储器(这里存储器也可以理解为内存,也可以理解为内存以及硬盘等外存),处理器被配置为支持评估装置执行上述第二方面方法中相应的功能。存储器与处理器耦合,其保存计算设备必要的程序指令和数据。计算设备的结构中还包括通信接口(也即方法实施例中提及的第一接口),用于与其他设备进行通信,如可以接收链路配置策略,发送逻辑通过定位消息,发送对端链路配置策略等。
第七方面,本申请实施例还提供了一种计算设备,该计算设备具有实现上述第三方面的方法实例中第二设备的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。计算设备的结构中包括处理器和存储器(这里存储器也可以理解为内存,也可以理解为内存以及硬盘等外存),处理器被配置为支持评估装置执行上述第三方面方法中相应的功能。存储器与处理器耦合,其保存计算设备必要的程序指令和数据。计算设备的结构中还包括通信接口(也即方法实施例中提及的第二接口),用于与其他设备进行通信,如可以发送链路配置策略,接收逻辑通过定位消息,接收对端链路配置策略等。
第八方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中的方法。或当其在计算机上运行时,使得计算机执行上述第三方面以及第三方面的各个可能的实施方式中的方法。
第九方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中的方法。或当其在计算机上运行时,使得计算机执行上述第三方面以及第三方面的各个可能的实施方式中的方法。
第十方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述第二方面以及第二方面的各个可能的实施方式中的方法。或芯片用于读取并执行存储器中存储的软件程序,执行上述第三方面以及第三方面的各个可能的实施方式中的方法。
附图说明
图1为一种设备间的连接关系示意图;
图2为本申请提供的一种链路协商系统的结构示意图;
图3为本申请提供的一种链路协商方法示意图;
图4A~4B为本申请提供的一种正向逻辑通道与正向物理通道的关联关系示意图;
图5为本申请提供的一种正向逻辑通道与正向物理通道的关联关系示意图;
图6A~6B为本申请提供的一种反向逻辑通道与反向物理通道的关联关系示意图;
图7为本申请提供的一种链路协商装置结构示意图;
图8为本申请提供的一种链路协商装置结构示意图。
具体实施方式
如图1所示,为通过高速串行通信链路连接的两个设备,设备A中有接口A,设备B中包括接口B。接口A和接口B之间可以建立高速串行链路。
通常,设备A的接口A中包括特定数量的接收器以及发送器。设备B的接口B中也包括特定数量的接收器以及发送器。在接口A的接收器和接口B的发送器之间可以通过信号线连接,在接口A的发送器和接口B的接收器之间可以通过信号线连接。
接口A和接口B之间的高速串行链路包括一个或多个物理通道。一个物理通道包括两个单向物理通道,其中,一个单向物理通道为从接口A的一个发送器到接口B的一个接收器的通道,该单向物理通道可以利用接口A的一个发送器与接口B的一个接收器之间的信号线构建,这样可以理解为该单向物理通道是从设备A到设备B的物理通道,该单向物理通道上存在接口A的一个发送器和接口B的一个接收器。另一个单向物理通道为从接口B的一个发送器到接口A的一个接收器的通道,该单向物理通道可以利用接口B的一个发送器与接口A的一个接收器之间的信号线构建,这样理解为该单向物理通道是从设备B到设备A的物理通道,该单向物理通道上存在接口A的一个接收器和接口B的一个发送器。
接口A和接口B之间的各个物理通道以及单向物理通道可以借助物理通道号来标识,通常物理通道号是预先配置的,不会发生变化。物理通道号可以从0开始逐渐递增。为了方便说明可以将物理通道号标识为P-lane number,接口A和接口B之间的各个物理通道号分别为P-lane 0、P-lane 1、P-lane2、P-lane 3。单向物理通道与所属的物理通道的物理通道号可以认为是相同的。
在图1中,以接口A和接收B中均包括四个接收器以及四个发送器为例,这样接口A和接口B之间高速串行链路包括四个物理通道。
为了能够使得高速串行链路正常工作,需要先进行链路协商。这里以高速串行通信链路为PCIe为例,对链路协商的过程进行说明:
链路协商可以通过链路训练状态机(link training and status statemachine,LTSSM)来实现。链路协商依次需要经过探测(detect)阶段、轮询(polling)阶段、配置(configuration)阶段、以及L0等阶段。
探测阶段:设备A和设备B通过各自的接口中的发送器向对侧的设备发送信号(如脉冲信号),用于探测对侧的设备的接口中是否存在接收器。以设备A为例,设备A通过接口A各个发送器经过各个物理通道向设备B发送脉冲信号,设备A通过检测所发出的脉冲信号的状态确定设备B中是否存在接收器或者接收器的功能正常。若设备A检测设备B的接口上不存在接收器,该接收器所应在的物理通道将不进入下一个阶段。
轮询阶段:在轮询阶段,设备A和设备B之间可以通过各自的接口互相发送探测码流,以判断各个物理通道是否正常。
这里以判断第一个物理通道是否正常为例,设备A通过接口A经过第一个物理通道(也即是通过第一物理通道中的从设备A的接口到设备B的接口的单向物理通道)向设备B发送探测码流T1,探测码流T1中携带了设备A的接口A的相关信息,例如,所支持的传输速率以及协商模式等信息。若设备B通过接口B成功接收到该探测码流T1。设备B可以判断第一个物理通道(也即从设备A的接口到设备B的接口的单向物理通道)正常工作,设备B通过接口A经过第一个物理通道(也即是通过第一物理通道中的从设备B的接口到设备A的接口的一个单向物理通道)向设备B发送探测码流T2,探测码流T2用于设备B的接口B的相关信息,例如,所支持的传输速率以及协商模式等信息。设备A通过接口A成功接收到该探测码流T2。设备A可以判断第一个物理通道(也即从设备B的接口到设备A的接口的另一个单向物理通道)正常工作。若设备B通过接口B未接收到该探测码流T1,设备B可以判断第一个物理通道异常,也就不会给设备A反馈探测码流T2,设备A也可以判断第一个物理通道异常。这种情况下,若设备B通过接口B接收到该探测码流T1,但该第一个物理通道上接口B的发送器异常,设备B也同样不能像设备A反馈探测码流T2,设备A也会判断第一个物理通道异常。被判断为异常的物理通道是不会进入配置阶段的。由此可知,在轮询阶段,物理通道中的两个单向物理通道是绑定的,也即只要其中一个单向物理通道异常,即便另一个单向物理通道正常,所属的物理通道整体也就无法参与到下一个阶段。
配置阶段:在配置阶段,设备A和设备B会通过正常工作的物理通道协商设备A和设备B之间的高速串行链路的链路宽度(高速串行链路的链路宽度不大于被判定正常的物理通道的数目)、以及高速串行链路中每个物理通道的逻辑通道号。
目前,高速串行链路的链路宽度存在多种选择,如链路宽度可以为x1、x2、x4、x8、x16、x32。其中,x之后的数字表征了该高速串行链路中物理通道的数目。设备A和设备B之间协商所确定的高速串行链路的链路宽度是正常的物理通道的数目所能够支持的链路宽度。
所谓逻辑通道是面向设备A以及设备B的物理层的上层的,也即在设备A和设备B中如果需要发送业务数据,在物理层的上层可以指定该业务数据通过哪一个逻辑通道发送,例如可以通过逻辑通道号来进行指示该业务数据通过哪一个逻辑通道发送。设备A和设备B中物理层可以通过逻辑通道号找到所关联的物理通道,通过该物理通道发送业务数据。
以高速串行链路为PCIe为例,在配置阶段,需要建立物理通道和逻辑通道的关联关系。以保证在后续设备A和设备B之间能够通过该高速串行链路中的各个物理通道进行正常的通信。PCIe标准中目前在配置阶段,可以通过定义排序第一的逻辑通道定位在该高速串行链路中第一个物理通道还是最后一个物理通道,为各个物理通道配置逻辑通道号。为了方便说明可以将逻辑通道号标识为L-lane number,接口A和接口B之间的各个逻辑通道号分别为L-lane 0、L-lane 1、L-lane2、L-lane 3。
例如,在配置阶段,设备A可以向设备B发送探测序列TS1,该TS1用于指示排序第一的逻辑通道定位在该高速串行链路中第一个物理通道。若设备B在接收到TS1序列后,确认排序第一的逻辑通道可以定位到该高速串行链路中第一个物理通道,则会向设备A发送TS2序列,以通知设备A确认排序第一的逻辑通道可以定位在该高速串行链路中第一个物理通道。这样逻辑通道号的递增顺序与物理通道号的递增顺序一致,也即L-lane 0=P-lane 0,L-lane 1=P-lane 1,L-lane 2=P-lane 2,L-lane 3=P-lane 3。若设备B在接收到TS1序列后,设备B根据自身设备的设定确认排序第一的逻辑通道不能定位到该高速串行链路中第一个物理通道,则会向设备A发送探测序列TS2,以通知设备A排序第一的逻辑通道只能定位在该高速串行链路中最后一个物理通道,通过探测序列TS2与设备A协商。这样逻辑通道号的递增顺序与物理通道号的递增顺序相反,也即L-lane 0=P-lane 3,L-lane 1=P-lane 2,L-lane 2=P-lane 1,L-lane 3=P-lane 0。
在本申请实施例中,定位即为建立关联关系,例如,排序第一的逻辑通道定位在该高速串行链路中第一个物理通道表明排序第一的逻辑通道与第一个物理通道存在关联关系。
配置阶段结束之后,可以进入L0阶段。
L0阶段:L0是高速串行链路开始正常工作的阶段。
需要说明的是,上述仅是列举了链路训练状态机进行链路协商的部分阶段。
从上述说明可知,当设备A或设备B在探测阶段若判断到对端设备不存在接收器,该接收器所应在的物理通道,将不会参与到下一个阶段,该物理通道之后将不会用于数据传输。在轮询阶段,若判断某一个物理通道异常,即便仅是其中部分单向物理通道异常,该物理通道也不会参与到下一个阶段。除此之外,配置阶段在建立物理通道和逻辑通道关联关系时,也即排序第一的逻辑通道也只能定位在第一个物理通道或最后一个物理通道。这样若第一个物理通道或最后一个物理通道上的接收器在探测阶段被判断不存在,或第一个物理通道或最后一个物理通道在轮询阶段被判断异常,排序第一的逻辑通道也就无法定位在第一个物理通道或最后一个物理通道,配置阶段无法成功的建立物理通道和逻辑通道的关联关系,或者配置阶段所建立的物理通道和逻辑通道的关联关系无法重复利用正常的物理通道,降低了物理通道的利用率。可见,现有协商过程中物理通道和逻辑通道关联关系的建立方式较为机械,物理通道的利用率低。
为了能够灵活有效的建立物理通道和逻辑通道的关联关系,保证物理通道的利用率,本申请实施例提供了一种链路协商系统、方法以及设备。
如图2所示,本申请实施例提供了一种链路协商系统,该系统中包括第一设备110和第二设备120。第一设备110包括第一接口114,第二设备120包括第二接口124。
在第一接口114中包括一个或多个接收器和发送器,其中接收器和发送器的数量可以相等也可以不同相等。
在第二接口124中包括一个或多个接收器和发送器,其中接收器和发送器的数量可以相等也可以不同相等。
在第一接口114和第二接口124之间,第一接口114的接收器可以通过信号线连接第二接口124的发送器,第一接口114的发送器可以通过信号线连接第二接口124的接收器。
通过在第一接口114和第二接口124之间连接信号线可以形成第一设备110和第二设备120之间的物理连接,也即构建了第一接口114和第二接口124之间的物理通道,进而形成第一接口114和第二接口124之间的高速串行链路。本申请并不限定该高速串行链路的类型,该高速串行链路可以为PCIe、也可以为串行高级技术附件(serial advancedtechnology attachment,SATA)总线,也可以为其他类型的高速串行链路。
第一设备110和第二设备120之间建立了物理通道之后,第一设备110和第二设备120可以进行链路协商,以确定高速串行链路的链路带宽、建立物理通道与逻辑通道的关联关系。
在本申请实施例中物理通道与逻辑通道的关联关系可以包括从第一设备110到第二设备120的单向物理通道和单向逻辑通道的关联关系以及从第二设备120到第一设备110的单向物理通道和单向逻辑通道的关联关系。
为了方便说明,将从第一设备110到第二设备120的单向物理通道以及从第一设备110到第二设备120的单向逻辑通道称为正向物理通道和正向逻辑通道。将从第二设备120到第一设备110的单向物理通道以及从第二设备120到第一设备110的单向逻辑通道称为反向物理通道和反向逻辑通道。应需理解的是,这里的“正向”以及“反向”仅是为了方便区分两种不同的单向通道(如单向物理通道或单向逻辑通道),在实际应用中,单向物理通道的方向并不会特别区分“正向”或“反向”。
在建立正向物理通道与正向逻辑通道的关联关系的流程中:
第二设备120可以结合第二接口124中各个接收器的状态(如接收器功能是否正常或正向物理通道上是否存在接收器)向第一设备110提供链路配置策略,该链路配置策略能够指示正向物理通道与正向逻辑通道的关联关系。也即第二设备120可以明确告知第一设备110如何配置各个正向逻辑通道,对于任意正向逻辑通道,该正向逻辑通道能够与哪一个正向物理通道关联。
第一设备110在接收到链路配置策略后,可以根据该链路配置策略第一设备110和第二设备120之间高速串行链路,建立正向物理通道与正向逻辑通道的关联关系。
在本申请实施例中,允许排序第一的正向逻辑通道定位在任一正向物理通道。具体允许定位在哪一个或哪几个正向物理通道与第一设备110中第一接口114的内部实现能力有关。第一设备110可以在第二设备120确定链路配置策略之前,可以向第二设备120发送逻辑通道定位消息,该第一逻辑通道定位信息用于指示正向逻辑通道所允许定位的正向物理通道,其中包括排序第一的正向逻辑通道所允许定位的正向物理通道。这样,第二设备120可以基于第二接口124中各个接收器的状态和该第一逻辑通道定位信息确定链路配置策略。
在建立反向物理通道与反向逻辑通道的关联关系的流程中:
第一设备110可以结合第一接口114中各个接收器的状态(如接收器功能是否正常或反向物理通道上是否存在接收器)向第二设备120提供对端链路配置策略,该对端链路配置策略能够指示反向物理通道与反向逻辑通道的关联关系。也即第一设备110可以明确告知第二设备120如何配置各个反向逻辑通道,对于任意反向逻辑通道,该反向逻辑通道能够与哪一个反向物理通道关联。
第二设备120在接收到对端链路配置策略后,可以根据对端链路配置策略配置第一设备110和第二设备120之间高速串行链路,建立反向物理通道与反向逻辑通道的关联关系。
在本申请实施例中,允许排序第一的反向逻辑通道定位在任一正向物理通道。具体允许定位在哪一个或哪几个反向物理通道与第二设备120中第二接口124的内部实现有关。第二设备120可以在第一设备110确定对端链路配置策略之前,可以向第一设备110发送对端逻辑通道定位消息,该对端逻辑通道定位信息用于指示反向逻辑通道所允许定位的反向物理通道,其中包括排序第一的反向逻辑通道所允许定位的反向物理通道。这样,第一设备110可以基于第一接口114中各个接收器的状态和该第二逻辑通道定位信息确定对端链路配置策略。
下面对第一设备110和第二设备120的内部结构进行说明。
以第一设备为例,第一设备包括处理器112、内存113、第一接口114。处理器112、内存113、第一接口114之间通过总线111通信。
处理器112可以为中央处理器(central processing unit,CPU),处理器112还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、人工智能芯片、片上芯片等。通用处理器可以是微处理器或者是任何常规的处理器等。
内存113可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)、动态随机存取存储器(dynamic random access memory,DRAM)等。也可以为非易失性存储器(non-volatile memory),例如存储级存储器(storage-class memory,SCM)等,或者易失性存储器与非易失性存储器的组合等。
内存113中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
第一接口114可以为高速串行接口,第一接口114中可以包括发送器和接收器。第一接口114可以用于与第二设备进行通信。
本申请实施例提供的链路协商方法中第一设备所执行的步骤可以由于处理器112执行,也即,处理器112可以通过调用内存113中存储的计算机执行指令,执行本申请实施例提供的链路协商方法。
第二设备120包括处理器122、内存123、第二接口124。处理器122、内存123、第二接口124之间通过总线111通信。处理器122、内存123、第二接口124与处理器112、内存113、第一接口114类似,具体可以参见前述说明,此处不再赘述。
本申请实施例提供的链路协商方法中第二设备120所执行的步骤可以由于处理器122执行,也即,处理器122可以通过调用内存123中存储的计算机执行指令,执行本申请实施例提供的链路协商方法。
需要说明的是,本申请实施例并不限定第一设备110和第二设备120的具体形态,例如该第一设备110和第二设备120可以为同一计算设备中的两个模块,还可以为两个不同的计算设备。凡是能够通过高速串行链路建立连接的设备均适用于本申请实施例。另外,在本申请实施例中仅是以高速串行链路为PCIe为例进行说明,事实上,对于其他类型的高速串行链路,本申请实施例提供的链路协商方法也同样适用,只是在具体实施时,触发时机以及阶段名称等方面可能存在区别,基本原理类似,并未脱离本申请所要求的保护范围。
如图3所示,为本申请实施例提供的一种链路协商方法,该方法用于建立第一设备110和第二设备120之间高速串行链路中物理通道和逻辑通道的关联关系。该方法可以分为两个流程,一个流程为第一设备110和第二设备120交互以确定从正向物理通道和正向逻辑通道的关联关系(参见步骤301~步骤303)。另一个流程为第一设备110和第二设备120交互以确定从反向物理通道和反向逻辑通道的关联关系(参见步骤304~步骤306)。这两个流程为相互独立的流程,也即不会相互影响。在本申请并不限定这两个流程执行的先后顺序,也可以同步执行。
步骤300:第二设备120和第一设备110通过高速串行链路进行交互,以确定各自的接口中接收器的状态。
当该高速串行链路为PCIe时,步骤300的执行的方式,参见前述内容中探测阶段设备A和设备B之间交互的方式。
以第一设备110为例,第一设备110可以通过该第一接口114的各个发送器经过各个发送器所在的正向物理通道向第二设备120发送探测脉冲,第一设备110通过所发送出的探测脉冲的变化确定对侧设备(也即第二设备120)的接收器状态,如确定该第二设备120的第二接口124中是否存在有接收器。第二设备120也可以通过探测阶段内第二接口124中各个接口器是否接收到第一设备110发送的探测脉冲或各个接口器是否能够准确识别所接收的探测脉冲确定第二接口124中各个接口器的状态。例如,若第二设备120在探测阶段通过第一个正向物理通道接收到了第一设备110发送的探测脉冲,且所接收的探测脉冲清晰,较容易识别,第二设备120由此可以判定第二接口124中第一个正向物理通道上的接收器正常。若第二设备120在探测阶段通过第一个正向物理通道接收到了第一设备110发送的探测脉冲,但所接收的探测脉冲模糊,不易识别或无法识别,第二设备120由此可以判定第二接口124中第一个正向物理通道上的接收器异常。若第二设备120在探测阶段通过第一个正向物理通道未接收到第一设备110发送的探测脉冲,第二设备120由此可以判定第二接口124中第一个正向物理通道上不存在接收器或该接收器无法工作。
对于第二设备120,也可以以类似的方式发送探测脉冲,第一设备110可以根据探测脉冲的接收状态,确定第一接口114中各个接收器的状态。
上述列举的方式仅是其中一种方式,本申请并不限定第二设备120和第一设备110通过高速串行链路进行交互以确定各自的接口中接收器的状态的具体方式。
步骤301:第一设备110向第二设备120发送第一逻辑通道定位消息,该逻辑通道定位消息携带正向逻辑通道的定位策略,该正向逻辑通道的定位策略用于指示正向逻辑通道所允许定位的正向物理通道。
这里并不限定正向逻辑通道的定位策略的具体指示方式。
例如,该正向逻辑通道的定位策略中为每一个正向逻辑通道配置一个正向物理通道集合,也即一个正向逻辑通道与一个正向物理通道集合对应。对于任一正向逻辑通道,该正向逻辑通道所对应的正向物理通道集合可以指示该正向逻辑通道所允许定位的一个或多个正向物理通道。
本申请并不限定该正向物理通道集合中记录的信息,该正向逻辑通道所对应的正向物理通道集合中可以记录该正向逻辑通道所允许定位的一个或多个正向物理通道的物理通道号,如记录L-lane m={P-lane y1、…、P-lane yn},其中,m为正向逻辑通道号,y1…yn为正向物理通道号。该正向逻辑通道所对应的正向物理通道集合中也可以记录该正向逻辑通道所允许定位的一个或多个正向物理通道中发送器(Rx)(也即第一接口114中的发送器)标识,如记录L-lane x={Rx q1、…、Rx qn},其中,q1…qn为正向物理通道中发送器的标识。该正向逻辑通道所对应的正向物理通道集合中还可以记录该正向逻辑通道所允许定位的一个或多个正向物理通道中接收器(Tx)(也即第二接口124中的接收器)标识,如记录L-lane x={Tx p1、…、Tx pn},其中,p1…pn为正向物理通道中接收器的标识。在一些场景中,正向物理通道的物理通道号、正向物理通道中发送器标识以及接收器标识可以是一致的。
又例如,由于各个正向逻辑通道是可以按照正向物理通道的物理通道号递增或递减的顺序进行设置的。举例来说,当确定第一个正向逻辑通道(也可以称为排序第一的正向逻辑通道)定位在第二个正向物理通道,也即L-lane 0=P-lane 1,那么第一个正向逻辑通道之后的各个正向逻辑通道与第二个正向物理通道之后的反向物理通道是一一关联的,也即L-lane 1=P-lane 2、L-lane 2=P-lane 3、L-lane 3=P-lane 4、……。故而,只要在确定了第一个正向逻辑通道允许定位的正向物理通道,在第一个正向逻辑通道所定位的正向物理通道确定之后,其余正向逻辑通道的设置方式基本可以确定。基于此提供了一种正向逻辑通道的定位策略的指示方式,也即正向逻辑通道的定位策略可以仅指示第一个正向逻辑通道所允许定位的正向物理通道。该正向逻辑通道的定位策略中为第一个正向逻辑通道配置一个正向物理通道集合,也即第一个正向逻辑通道与一个正向物理通道集合对应。为方便说明,第一个正向逻辑通道可以称为目标正向逻辑通道,或标记为L-lane 0。该正向逻辑通道的定位策略可以为目标正向逻辑通道配置一个正向物理通道集合,该目标正向逻辑通道所对应的正向物理通道集合可以指示目标正向逻辑通道所允许定位的一个或多个正向物理通道。
本申请并不限定该正向物理通道集合中记录的信息,该正向物理通道集合中可以记录该目标正向逻辑通道所允许定位的一个或多个正向物理通道的物理通道号,如记录L-lane0={P-lane y1、…、P-lane yn},y1…yn为正向物理通道号。该正向物理通道集合中也可以记录该目标正向逻辑通道所允许定位的一个或多个正向物理通道中发送器(1Rx)(也即第一接口114中的发送器)标识,如记录L-lane 0={Rx q1、…、Rx qn},其中,q1…qn为正向物理通道中发送器的标识。该正向物理通道集合中还可以记录该目标正向逻辑通道所允许定位的一个或多个正向物理通道中接收器(2Tx)(也即第二接口124中的接收器)标识,如记录L-lane0={Tx p1、…、Tx pn},其中,p1…pn为正向物理通道中接收器的标识。在一些场景中,正向物理通道的物理通道号、正向物理通道中发送器标识以及接收器标识可以是一致的。
若第一设备110和第二设备120之间的高速串行链路为PCIe,在执行步骤301时,该第一逻辑通道定位消息可以携带在轮询阶段中,第一设备110的第一接口114中各个发送器向第二设备120发送的TS_1消息中。
对于第一设备110的第一接口114的任一发送器1Rx i,该发送器所发送的TS_1消息可以包括如下两个信息:
信息一、该发送器所在的正向物理通道的物理通道号。如携带P-lane number=i。
信息二、目标正向逻辑通道是否允许定位在该发送器所在的正向物理通道上,isL-lane0option=1或0,其中1表示目标正向逻辑通道允许定位在该发送器所在的正向物理通道上,0表示目标正向逻辑通道不允许定位在该发送器所在的正向物理通道上。
以第一设备110和第二设备120之间的高速串行链路中存在16个正向物理通道为例,若目标正向逻辑通道允许定位在第一个、第四个、第五个、第八个、第九个、第十二个、第十三个以及第十六个正向物理通道,也即允许定位在P-lane 0、P-lane 3、P-lane 4、P-lane 7、P-lane 8、P-lane 11、P-lane 12、P-lane 15。
那么,在对于第一设备110的第一接口114的第一个、第四个、第五个、第八个、第九个、第十二个、第十三个以及第十六个发送器1Rx i(i=0,3,4,7,8,11,12,15)所发送的TS_1消息中会指示目标正向逻辑通道是否允许定位在该发送器所在的正向物理通道上,其余发送器1Rx i(i=1,2,5,6,9,10,13,14)所发送的TS_1消息中会指示目标正向逻辑通道是否不允许定位在该发送器所在的正向物理通道上。
步骤302:第二设备120接收逻辑通道定位消息,根据逻辑通道定位消息和第二接口124中各个接收器的状态,确定链路配置策略。链路配置策略能够指示正向逻辑通道与正向物理通道的关联关系。
第二设备120在确定链路配置策略时,考虑正向物理通道的状态(该状态是指正向物理通道是否正常)。对于第二设备120,若该正向物理通道上的接收器正常,则第二设备120可以确定该正向物理通道正常,若该正向物理通道上的接收器异常,则第二设备120可以确定该正向物理通道异常,正向物理通道的状态可以根据第二接口124中各个接收器的状态来确定。
第二设备120需要保证任一正向逻辑通道所关联的正向物理通道是可以正常工作的,也就是说,需要选择第二接口124中能够正常工作的接收器所在的正向物理通道。第二设备120还可以考虑将尽量多的、能够正常工作的正向物理通道与正向逻辑通道建立关联。
需要说明的是,在确定链路配置策略时,第二设备120除了需要考虑逻辑通道定位消息和第二接口124中各个接收器的状态,还可以考虑该第二接口124中能够作为目标正向逻辑通道的接送端的接收器。在第二设备120的第二接口124中可以允许任意接收器能够作为目标正向逻辑通道的接送端的接收器,也允许部分接收器能够作为目标正向逻辑通道的接送端的接收器。对于不允许作为目标正向逻辑通道的接送端的接收器,该接收器所在的正向物理通道是不允许与目标正向逻辑通道存在关联关系的。故而确定该链路配置策略时,链路配置策略所指示的目标正向逻辑通道所关联的正向物理通道与该不允许作为目标正向逻辑通道的接送端的接收器所在的正向物理通道是不同的。在实际应用中,第二接口124中能够作为目标正向逻辑通道的接送端的接收器可以是预先配置的,或由用户设置的。
本申请实施例并不限定该链路配置策略的具体指示方式。
方式一:链路配置策略可以指示任一正向逻辑通道所定位的正向物理通道。原则上,不同的正向逻辑通道不允许定位在同一个正向物理通道上。由于第二设备120结合了第二接口124中各个接收器的状态,故而任一正向逻辑通道所定位的正向物理通道上的接收器正常,也即该正向物理通道正常。
若正向逻辑通道的定位策略中为每一个正向逻辑通道配置一个正向物理通道集合,那么,任一正向逻辑通道所定位的正向物理通道是从该正向逻辑通道所对应的正向物理通道集合中选择的。在这种情况下,允许各个正向逻辑通道是可以不再按照正向物理通道的物理通道号递增或递减的顺序进行设置,也即任一正向逻辑通道不会受到逻辑通道号相邻的正向逻辑通道的影响,不同正向逻辑通道仅需与不同的正向物理通道建立关联即可。
若正向逻辑通道的定位策略指示了目标正向逻辑通道所允许定位的正向物理通道,那么,这种情况下,各个正向逻辑通道是通常需要按照正向物理通道的物理通道号递增或递减的顺序进行设置。任一正向逻辑通道所定位的正向物理通道是在确定了目标正向逻辑通道所允许定的正向物理通道后,按照正向物理通道号递增或递减的顺序所确定的。
举例来说,如图4A所示,以高速串行链路存在16个正向物理通道,当确定目标正向逻辑通道定位在第8个反向物理通道,也即L-lane 0=P-lane 7,那么第一个正向逻辑通道之后的各个正向逻辑通道可以与第8个正向物理通道之后的正向物理通道是一一关联的,也即L-lane 1=P-lane 7、L-lane 2=P-lane 8、L-lane 3=P-lane 9、……、L-lane 7=P-lane 14。如图4B所示,第一个正向逻辑通道之后的各个正向逻辑通道也可以与第一个正向逻辑通道之后的各个正向逻辑通道可以与第8个正向物理通道之前的正向物理通道是一一关联的,也即L-lane1=P-lane 6、L-lane 2=P-lane 5、L-lane 3=P-lane 4、……、L-lane 7=P-lane 0。
需要说明的是,在这种情况下,各个正向逻辑通道按照正向物理通道的物理通道号递增进行设置还是按照正向物理通道的物理通道号递减的顺序进行设置,是需要结合各个正向物理通道的状态来考虑的。仍以前述设置为例,若在第8个正向物理通道之后的正向物理通道中存在异常的正向物理通道,如图5所示,比如第12个正向物理通道(P-lane 11)异常,那么第一个正向逻辑通道之后的各个正向逻辑通道可以与第8个正向物理通道之后、第12个正向物理通道正向之前的正向物理通道是一一关联的,也即L-lane 0=P-lane 7、L-lane 1=P-lane8、L-lane 2=P-lane 9、L-lane 3=P-lane 10。此时能够支持的高速串行链路的链路带宽为4。若在第8个正向物理通道之前的正向物理通道均正常,那么第一个正向逻辑通道之后的各个正向逻辑通道可以与第8个正向物理通道之前的正向物理通道是一一关联的,也即L-lane 1=P-lane 6、L-lane 2=P-lane 5、L-lane 3=P-lane 4、……、L-lane 7=P-lane 0。此时能够支持的高速串行链路的链路带宽为8。第二设备120可以优先选择能够使得支持的高速串行链路的链路带宽最大的配置方式。
方式二、在各个正向逻辑通道需要按照正向物理通道的物理通道号递增或递减的顺序进行设置的情况下,链路配置策略可以指示目标正向逻辑通道所定位的正向物理通道、所支持的高速串行链路的链路带宽、以及正向逻辑通道的设置方向,该设置方向用于指示按照逻辑通道号排序的各个正向逻辑通道所定位的正向物理通道的物理通道号呈递增或递减的状态。
若正向逻辑通道的定位策略中为每一个正向逻辑通道配置一个正向物理通道集合,那么,目标正向逻辑通道所定位的正向物理通道是从该目标正向逻辑通道所对应的正向物理通道集合中选择的。按照逻辑通道号排序的各个正向逻辑通道所定位的正向物理通道的物理通道号呈递增或递减的状态。且结合各个正向物理通道的状态,第二设备120可以优先选择能够支持的链路带宽最大的设置方式。
若正向逻辑通道的定位策略指示了目标正向逻辑通道所允许定位的正向物理通道,那么,目标正向逻辑通道所定位的正向物理通道是从该目标正向逻辑通道所允许定位的正向物理通道中选择的。且结合各个正向物理通道的状态,第二设备120可以优先选择能够支持的链路带宽最大的设置方式。
其中,第二设备120优先选择能够使得支持的高速串行链路的链路带宽最大的配置方式的说明可以参见前述内容,此处不再赘述。
若第一设备110和第二设备120之间的高速串行链路为PCIe,在执行步骤302时,该链路配置策略可以携带在轮询阶段中,第二设备120的第二接口124中各个发送器向第一设备110发送的TS_2消息中。
对于第二设备120的第二接口124的任一发送器2Rx i,该发送器所发送的TS_2消息可以包括如下四个信息:
信息一、该发送器所在的反向物理通道的物理通道号。如携带P-lane number=i。该信息一为现有轮询阶段中TS_2消息所需包含的信息。
信息二、目标正向逻辑通道所定位在的正向物理通道P-lane K。L-lane 0=P-lane K、Rx K、或Tx K。其中,Rx K为正向物理通道P-lane K上发送器的标识,也即第一接口114中发送器的标识。Tx K为正向物理通道P-lane K上接收器的标识,也即第二接口124中接收器的标识。
信息三、所支持的高速串行链路的链路带宽R。Linkwidth[index]=R,其中,index为高速串行链路的标识。
信息四、正向逻辑通道的设置方向,也即指示各个正向逻辑通道所定位的正向物理通道的物理通道号呈递增或递减。换个角度讲,该正向逻辑通道的设置方向指示了在从目标正向逻辑通道开始按序设置各个正向逻辑通道号时是朝着正向物理通道的物理通道号递增的方向设置,还是朝着正向物理通道的物理通道号递减的方向设置。该发送器所在的正向物理通道的物理通道号。Drection[index]=0/1,0可以表示沿着物理通道号递增方向设置,最终设置的正向逻辑通道的逻辑通道号的递增方向与正向物理通道的物理通道号的递增方向一致。如L-lane 0=P-lane 6、L-lane 1=P-lane 7、L-lane 2=P-lane 8、L-lane 3=P-lane 9、L-lane 4=P-lane 10。这种设置方式即为正向逻辑通道的逻辑通道号的递增方向与正向物理通道的物理通道号的递增方向一致。
1可以表示沿着物理通道号递减方向设置,最终设置的正向逻辑通道的逻辑通道号的递增方向与正向物理通道的逻辑通道号的递增方向相反。如L-lane 0=P-lane 7、L-lane 1=P-lane6、L-lane 2=P-lane 5、L-lane 3=P-lane 4。这种设置方式即为正向逻辑通道的逻辑通道号的递增方向与正向物理通道的逻辑通道号的递增方向相反。
上述各个发送器所发送的TS_2消息,除了信息一不同,其余信息均相同。这种TS_2消息的设置方式下,即便在第二设备120中存在异常的发送器的情况下,也能够保存第二设备120通过其他正常的发送器将链路配置策略发送给第一设备110。
需要说明的是,在具体实施过程中,允许第一设备110不执行步骤301,也即第一设备110可以不向第二设备120发送逻辑通道定位消息。也即第二设备120可以直接根据第二接口124中各个接口器的状态确定链路配置策略。由于第二设备120并不能获知目标正向逻辑通道所允许定位的正向物理通道,第二设备120可以确定多个链路配置策略,每个链路配置策略是在假设目标正向逻辑通道定位在某一个正向物理通道的情况下所确定的。该多个链路配置策略是多个不同的链路配置策略。本申请实施例并不限定第二设备120所确定的链路配置策略的数量。
步骤303:第二设备120向第一设备110发送链路配置策略。本申请实施例并不限定第二设备120向第一设备110发送链路配置策略,例如链路配置策略可以携带在轮询阶段的TS_2消息中,依附于现有交互流程中存在的消息进行传输。又例如,第二设备120和第一设备110可以设置新的消息,以携带该链路配置策略。
步骤304:第一设备110根据该链路配置策略对第一设备110和第二设备120之间的高速串行链路进行配置。
第一设备110可以按照该链路配置策略配置高速串行链路中正向逻辑通道以及正向物理通道之间的关联关系。
需要说明的是,在具体实施过程中,若第二设备120向第一设备110发送了多个链路配置策略,第一设备110可以从该多个链路配置策略中选择一个链路配置策略,根据所选择的链路配置策略配置高速串行链路中正向逻辑通道以及正向物理通道之间的关联关系。例如,第一设备110可以根据目标正向逻辑通道所允许定位的正向物理通道从该多个链路配置策略中选择一个链路配置策略。
至此,第一设备110和第二设备120之间建立了正向逻辑通道与正向物理通道的关联关系。第二设备120和第一设备110之间也可以通过类似的方式建立反向逻辑通道与反向物理通道的关联关系。具体可以参见下述步骤。与步骤301~304区别在于第一设备110和第二设备120的角色互换,在下述步骤中,第二设备120可以向第一设备110发送第二逻辑通道定位消息,第一设备110可以向第二设备120提供对端链路配置策略。
步骤305:第二设备120向第一设备110发送对端逻辑通道定位消息,该对端逻辑通道定位消息携带反向逻辑通道的定位策略,该反向逻辑通道的定位策略用于指示反向逻辑通道所允许定位的反向物理通道。
这里并不限定反向逻辑通道的定位策略的具体指示方式。
例如,该反向逻辑通道的定位策略中为每一个反向逻辑通道配置一个反向物理通道集合,也即一个反向逻辑通道与一个反向物理通道集合对应。对于任一反向逻辑通道,该反向逻辑通道所对应的反向物理通道集合可以指示该反向逻辑通道所允许定位的一个或多个反向物理通道。
本申请并不限定该反向物理通道集合中记录的信息,该反向逻辑通道所对应的反向物理通道集合中可以记录该反向逻辑通道所允许定位的一个或多个反向物理通道的物理通道号。该反向逻辑通道所对应的反向物理通道集合中也可以记录该反向逻辑通道所允许定位的一个或多个反向物理通道中发送器(Rx)(也即第二接口124中的发送器)标识。该反向逻辑通道所对应的反向物理通道集合中还可以记录该反向逻辑通道所允许定位的一个或多个反向物理通道中接收器(Tx)(也即第一接口114中的接收器)标识。在一些场景中,反向物理通道的物理通道号、反向物理通道中发送器标识以及接收器标识可以是一致的。
又例如,反向逻辑通道的定位策略可以仅指示第一个反向逻辑通道(也即排序第一的反向逻辑通道)所允许定位的反向物理通道。该反向逻辑通道的定位策略中为第一个反向逻辑通道配置一个反向物理通道集合,也即一个反向逻辑通道与一个反向物理通道集合对应。为方便说明,第一个反向逻辑通道可以称为目标反向逻辑通道,或标记为L-lane0。该反向逻辑通道的定位策略可以为目标反向逻辑通道配置一个反向物理通道集合,该目标反向逻辑通道所对应的反向物理通道集合可以指示目标反向逻辑通道所允许定位的一个或多个反向物理通道。
本申请并不限定该反向物理通道集合中记录的信息,该反向物理通道集合中可以记录该目标反向逻辑通道所允许定位的一个或多个反向物理通道的物理通道号。该反向物理通道集合中也可以记录该目标反向逻辑通道所允许定位的一个或多个反向物理通道中发送器(2Rx)(也即第二接口124中的发送器)标识。该反向物理通道集合中还可以记录该目标反向逻辑通道所允许定位的一个或多个反向物理通道中接收器(1Tx)(也即第一接口114中的接收器)标识。在一些场景中,反向物理通道的物理通道号、反向物理通道中发送器标识以及接收器标识可以是一致的。
若第二设备120和第一设备110之间的高速串行链路为PCIe,在执行步骤301时,该第二逻辑通道定位消息可以携带在轮询阶段中,第二设备120的第二接口124中各个发送器向第一设备110发送的TS_1消息中。
对于第二设备120的第二接口124的任一发送器2Rx i,该发送器所发送的TS_1消息可以包括如下两个信息:
信息一、该发送器所在的反向物理通道的物理通道号。如携带P-lane number=i。
信息二、目标反向逻辑通道是否允许定位在该发送器所在的反向物理通道上,isL-lane0option=1或0,其中1表示目标反向逻辑通道允许定位在该发送器所在的反向物理通道上,0表示目标反向逻辑通道不允许定位在该发送器所在的反向物理通道上。
以第二设备120和第一设备110之间的高速串行链路中存在16个反向物理通道为例,若目标反向逻辑通道允许定位在第二个、第四个、第五个、第八个、第九个、第十二个、第十三个以及第十六个反向物理通道,也即允许定位在P-lane 0、P-lane 3、P-lane 4、P-lane 7、P-lane 8、P-lane 11、P-lane 12、P-lane 15。
那么,在对于第二设备120的第二接口124的第二个、第四个、第五个、第八个、第九个、第十二个、第十三个以及第十六个发送器2Rx i(i=0,3,4,7,8,11,12,15)所发送的TS_1消息中会指示目标反向逻辑通道是否允许定位在该发送器所在的反向物理通道上,其余发送器2Rx i(i=1,2,5,6,9,10,13,14)所发送的TS_1消息中会指示目标反向逻辑通道是否不允许定位在该发送器所在的反向物理通道上。
步骤306:第一设备110接收第二逻辑通道定位消息,根据第二逻辑通道定位消息和第一接口114中各个接收器的状态,确定对端链路配置策略。对端链路配置策略能够指示反向逻辑通道与反向物理通道的关联关系。
第一设备110在确定对端链路配置策略时,考虑反向物理通道的状态(该状态是指反向物理通道是否正常)。对于第一设备110,若该反向物理通道上的接收器正常,则第一设备110可以确定该反向物理通道正常,若该反向物理通道上的接收器异常,则第一设备110可以确定该反向物理通道异常,反向物理通道的状态可以根据第一接口114中各个接收器的状态来确定。
第一设备110需要保证任一反向逻辑通道所关联的反向物理通道是可以正常工作的,也就是说,需要选择第一接口114中能够正常工作的接收器所在的反向物理通道。第一设备110还可以考虑将尽量多的、能够正常工作的反向物理通道与反向逻辑通道建立关联。
需要说明的是,在确定对端链路配置策略时,第一设备110除了需要考虑对端逻辑通道定位消息和第一接口114中各个接收器的状态,还可以考虑该第一接口114中能够作为目标反向逻辑通道的接送端的接收器。在第一设备110的第一接口114中可以允许任意接收器能够作为目标反向逻辑通道的接送端的接收器,也允许部分接收器能够作为目标反向逻辑通道的接送端的接收器。对于不允许作为目标反向逻辑通道的接送端的接收器,该接收器所在的反向物理通道是不允许与目标反向逻辑通道存在关联关系的。故而确定该对端链路配置策略时,对端链路配置策略所指示的目标反向逻辑通道所关联的反向物理通道与该不允许作为目标反向逻辑通道的接送端的接收器所在的反向物理通道是不同的。在实际应用中,第一接口114中能够作为目标反向逻辑通道的接送端的接收器可以是预先配置的,或由用户设置的。
本申请实施例并不限定该对端链路配置策略的具体指示方式。
方式一:对端链路配置策略可以指示任一反向逻辑通道所定位的反向物理通道。原则上,不同的单一逻辑通道不允许定位在同一个单一物理通道上。由于第一设备110结合了第一接口114中各个接收器的状态,故而任一反向逻辑通道所定位的反向物理通道上的接收器正常,也即该反向物理通道正常。
若反向逻辑通道的定位策略中为每一个反向逻辑通道配置一个反向物理通道集合,那么,任一反向逻辑通道所定位的反向物理通道是从该反向逻辑通道所对应的反向物理通道集合中选择的。在这种情况下,允许各个反向逻辑通道是可以不再按照反向物理通道的物理通道号递增或递减的顺序进行设置,也即任一反向逻辑通道不会受到逻辑通道号相邻的反向逻辑通道的影响,不同反向逻辑通道仅需与不同的反向物理通道建立关联即可。
若反向逻辑通道的定位策略指示了目标反向逻辑通道所允许定位的反向物理通道,那么,这种情况下,各个反向逻辑通道是通常需要按照反向物理通道的物理通道号递增或递减的顺序进行设置。任一反向逻辑通道所定位的反向物理通道是在确定了目标反向逻辑通道所允许定的反向物理通道后,按照反向物理通道号递增或递减的顺序所确定的。
举例来说,以高速串行链路存在16个反向物理通道,如图6A所示,当确定目标反向逻辑通道定位在第8个正向物理通道,也即L-lane 0=P-lane 7,那么第二个反向逻辑通道之后的各个反向逻辑通道可以与第8个反向物理通道之后的反向物理通道是一一关联的,也即L-lane 1=P-lane 8、L-lane 2=P-lane 9、L-lane 3=P-lane 10、……、L-lane 7=P-lane 14。如图6B所示,第二个反向逻辑通道之后的各个反向逻辑通道也可以与第二个反向逻辑通道之后的各个反向逻辑通道可以与第8个反向物理通道之前的反向物理通道是一一关联的,也即L-lane1=P-lane 6、L-lane 2=P-lane 5、L-lane 3=P-lane 4、……、L-lane 7=P-lane 0。
需要说明的是,在这种情况下,各个反向逻辑通道按照反向物理通道的物理通道号递增进行设置还是按照反向物理通道的物理通道号递减的顺序进行设置,是需要结合各个反向物理通道的状态来考虑的。仍以前述设置为例,若在第8个反向物理通道之后的反向物理通道中存在异常的反向物理通道,比如第12个反向物理通道(P-lane 11)异常,那么第二个反向逻辑通道之后的各个反向逻辑通道可以与第8个反向物理通道之后、第12个反向物理通道正向之前的反向物理通道是一一关联的,也即L-lane 0=P-lane 7、L-lane 1=P-lane 8、L-lane 2=P-lane 9、L-lane 3=P-lane 10。此时能够支持的高速串行链路的链路带宽为4。若在第8个反向物理通道之前的反向物理通道均正常,那么第二个反向逻辑通道之后的各个反向逻辑通道可以与第8个反向物理通道之前的反向物理通道是一一关联的,也即L-lane 1=P-lane 6、L-lane2=P-lane 5、L-lane 3=P-lane 4、……、L-lane 7=P-lane 0。此时能够支持的高速串行链路的链路带宽为8。第一设备110可以优先选择能够使得支持的高速串行链路的链路带宽最大的配置方式。
方式二、在各个反向逻辑通道需要按照反向物理通道的物理通道号递增或递减的顺序进行设置的情况下,对端链路配置策略可以指示目标反向逻辑通道所定位的反向物理通道、所支持的高速串行链路的链路带宽、以及反向逻辑通道的设置方向,该设置方向用于指示按照逻辑通道号排序的各个反向逻辑通道所定位的反向物理通道的物理通道号呈递增或递减的状态。
若反向逻辑通道的定位策略中为每一个反向逻辑通道配置一个反向物理通道集合,那么,目标反向逻辑通道所定位的反向物理通道是从该目标反向逻辑通道所对应的反向物理通道集合中选择的。按照逻辑通道号排序的各个反向逻辑通道所定位的反向物理通道的物理通道号呈递增或递减的状态。且结合各个反向物理通道的状态,第一设备110可以优先选择能够支持的链路带宽最大的设置方式。
若反向逻辑通道的定位策略指示了目标反向逻辑通道所允许定位的反向物理通道,那么,目标反向逻辑通道所定位的反向物理通道是从该目标反向逻辑通道所允许定位的反向物理通道中选择的。且结合各个反向物理通道的状态,第一设备110可以优先选择能够支持的链路带宽最大的设置方式。
其中,第一设备110优先选择能够使得支持的高速串行链路的链路带宽最大的配置方式的说明可以参见前述内容,此处不再赘述。
若第二设备120和第一设备110之间的高速串行链路为PCIe,在执行步骤302时,该对端链路配置策略可以携带在轮询阶段中,第一设备110的第一接口114中各个发送器向第二设备120发送的TS_2消息中。
对于第一设备110的第一接口114的任一发送器2Rx i,该发送器所发送的TS_2消息可以包括如下四个信息:
信息一、该发送器所在的正向物理通道的物理通道号。如携带P-lane number=i。该信息一为现有轮询阶段中TS_2消息所需包含的信息。
信息二、目标反向逻辑通道定位在的反向物理通道P-lane K。L-lane 0=P-laneK、Rx K、或Tx K。其中,Rx K为反向物理通道P-lane K上发送器的标识,也即第二接口124中发送器的标识。Tx K为反向物理通道P-lane K上接收器的标识,也即第一接口114中接收器的标识。
信息三、所支持的高速串行链路的链路带宽R。Linkwidth[index]=R,其中,index为高速串行链路的标识。
信息四、反向逻辑通道的设置方向,也即指示各个反向逻辑通道所定位的反向物理通道的物理通道号呈递增或递减。换个角度,该反向逻辑通道的设置方向指示了在从目标反向逻辑通道开始按序设置各个反向逻辑通道时是朝着物理通道号递增的方向设置,还是朝着物理通道号递减的方向设置。该发送器所在的反向物理通道的物理通道号。Drection[index]=0/1,0可以表示沿着物理通道号递增方向设置,最终设置的反向逻辑通道的逻辑通道号的递增方向与反向物理通道的逻辑通道号的递增方向一致。如L-lane 0=P-lane 6、L-lane 1=P-lane 7、L-lane 2=P-lane 8、L-lane 3=P-lane 9、L-lane 4=P-lane 10。这种设置方式即为反向逻辑通道的逻辑通道号的递增方向与反向物理通道的逻辑通道号的递增方向一致。
1可以表示沿着物理通道号递减方向设置,最终设置的反向逻辑通道的逻辑通道号的递增方向与反向物理通道的逻辑通道号的递增方向相反。如L-lane 0=P-lane 7、L-lane 1=P-lane6、L-lane 2=P-lane 5、L-lane 3=P-lane 4。这种设置方式即为反向逻辑通道的逻辑通道号的递增方向与反向物理通道的逻辑通道号的递增方向相反。
上述各个发送器所发送的TS_2消息,除了信息一不同,其余信息均相同。这种TS_2消息的设置方式下,即便在第一设备110中存在异常的发送器的情况下,也能够保存第一设备110通过其他正常的发送器将对端链路配置策略发送给第二设备120。
需要说明的是,在具体实施过程中,允许第二设备120不执行步骤301,也即第二设备120可以不向第一设备110发送第二逻辑通道定位消息。也即第一设备110可以直接根据第一接口114中各个接口器的状态确定对端链路配置策略。由于第一设备110并不能获知目标反向逻辑通道所允许定位的反向物理通道,第一设备110可以确定多个对端链路配置策略,每个对端链路配置策略是在假设目标反向逻辑通道定位在某一个反向物理通道的情况下所确定的。该多个对端链路配置策略是多个不同的对端链路配置策略。本申请实施例并不限定第一设备110所确定的对端链路配置策略的数量。
步骤307:第一设备110向第二设备120发送对端链路配置策略。本申请实施例并不限定第一设备110向第二设备120发送对端链路配置策略,例如对端链路配置策略可以携带在轮询阶段的TS_2消息中,依附于现有交互流程中存在的消息进行传输。又例如,第一设备110和第二设备120可以设置新的消息,以携带该对端链路配置策略。
步骤308:第二设备120根据该对端链路配置策略对第二设备120和第一设备110之间的高速串行链路进行配置。
第二设备120可以按照该对端链路配置策略配置高速串行链路中反向逻辑通道以及反向物理通道之间的关联关系。
需要说明的是,在具体实施过程中,若第一设备110向第二设备120发送了多个对端链路配置策略,第二设备120可以从该多个对端链路配置策略中选择一个对端链路配置策略,根据所选择的对端链路配置策略配置高速串行链路中反向逻辑通道以及反向物理通道之间的关联关系。例如,第二设备120可以根据目标反向逻辑通道所允许定位的反向物理通道从该多个对端链路配置策略中选择一个对端链路配置策略。
基于与方法实施例同一发明构思,本申请实施例还提供了一种链路协商装置,链路协商装置可以部署在第一设备,该链路协商装置用于执行上述如图3所示的方法实施例中第一设备执行的方法,相关特征可参见上述方法实施例,此处不再赘述。如图7所示,该链路协商装置700包括接收模块701、配置模块702。可选的,还包括发送模块703。
接收模块701,用于接收来自第二设备的链路配置策略,链路配置策略用于指示第一设备和第二设备之间的高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,单向逻辑通道为高速串行链路中从第一设备到第二设备的逻辑通道,单向物理通道为高速串行链路中从第一设备到第二设备的物理通道。
配置模块702,用于根据链路配置策略配置高速串行链路。
在一种可能的实施方式中,发送模块703可以向第二设备发送逻辑通道定位消息。逻辑通道定位消息可以存在如下两种表现形式。
1、逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,目标单向逻辑通道为高速串行链路中排序第一的单向逻辑通道。
2、逻辑通道定位消息包括多个单向逻辑通道所允许定位的单向物理通道。
在一种可能的实施方式中,链路配置策略包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道。
高速串行链路的链路宽度。
高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
在一种可能的实施方式中,接收模块701可以接收来自第二设备的一个或多个链路配置策略。
在一种可能的实施方式中,若接收模块701接收到多个链路配置策略,配置模块702可以从多个链路配置策略选择链路配置策略,根据选择的链路配置策略配置高速串行链路。
在一种可能的实施方式中,第一设备包括第一接口,配置模块702可以根据第一接口中接收器的状态确定对端链路配置策略,对端链路配置策略用于指示第一设备和第二设备之间高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,第一逻辑通道为高速串行链路中从第二设备到第一设备的逻辑通道,第一物理通道为高速串行链路中从第二设备到第一设备的物理通道。
发送模块703可以向第二设备发送对端链路配置策略。
基于与方法实施例同一发明构思,本申请实施例还提供了一种链路协商装置,链路协商装置可以部署在第二设备,第二设备包括第二接口,第二设备与第一设备之间的高速串行链路是基于第二接口构建的。该链路协商装置用于执行上述如图3所示的方法实施例中第二设备执行的方法,相关特征可参见上述方法实施例,此处不再赘述。如图8所示,该链路协商装置800包括配置模块801、发送模块802。可选的,还包括接收模块803。
配置模块801,用于根据第二接口的接收器的状态确定链路配置策略,链路配置策略用于指示第一设备和第二设备之间高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,单向逻辑通道为高速串行链路中从第一设备到第二设备的逻辑通道,单向物理通道为高速串行链路中从第一设备到第二设备的物理通道;
发送模块802,用于向第一设备发送链路配置策略。
在一种可能的实施方式中,接收模块803用于接收来自第一设备的逻辑通道定位消息,逻辑通道定位消息可以存在如下两种表现形式:
1、逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,目标单向逻辑通道为高速串行链路中排序第一的单向逻辑通道。
2、逻辑通道定位消息包括多个单向逻辑通道所允许定位的单向物理通道。
在一种可能的实施方式中,若接收到逻辑通道定位消息,配置模块801在确定链路配置策略时,可以根据第二接口的接收器的状态和逻辑通道定位消息确定链路配置策略。
在一种可能的实施方式中,链路配置策略包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道。
高速串行链路的链路宽度。
高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
在一种可能的实施方式中,配置模块801可以确定一个或多个链路配置策略,发送模块802可以发送该一个或多个链路配置策略。
在一种可能的实施方式中,接收模块803还可以接收来自第一设备的对端链路配置策略,对端链路配置策略用于指示第一设备和第二设备之间的高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,第一逻辑通道为高速串行链路中从第二设备到第一设备的逻辑通道,第一物理通道为高速串行链路中从第二设备到第一设备的物理通道。
配置模块801可以根据对端链路置策略配置高速串行链路。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
在一个简单的实施例中,本领域的技术人员可以想到如图3所示的实施例中第二设备或图7所示的评估装置可采用图2所示第一设备的形式。其中,包括处理器112、内存113、通信接口(如第二接口114)。关于处理器112、内存113、第二接口114的说明可参见前述内存,此处不再赘述。
在一个简单的实施例中,本领域的技术人员可以想到如图3所示的实施例中第二设备或图8所示的评估装置可采用图2所示第二设备的形式。其中,包括处理器122、内存123、通信接口(如第二接口124)。关于处理器122、内存123、第二接口124的说明可参见前述内存,此处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (25)
1.一种链路协商系统,其特征在于,所述系统包括第一设备和第二设备,所述第二设备包括第二接口,所述第二设备与所述第一设备之间的高速串行链路是基于所述第二接口构建的;
所述第二设备,用于根据第二接口的接收器的状态向所述第一设备发送链路配置策略,所述链路配置策略用于指示所述第一设备和所述第二设备之间的高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,所述单向逻辑通道为所述高速串行链路中从所述第一设备到所述第二设备的逻辑通道,所述单向物理通道为所述高速串行链路中从所述第一设备到所述第二设备的物理通道;
所述第一设备,用于接收所述链路配置策略,根据所述链路配置策略配置所述高速串行链路。
2.如权利要求1所述的系统,其特征在于,所述第一设备,还用于:
向所述第二设备发送逻辑通道定位消息,所述逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,所述目标单向逻辑通道为所述高速串行链路中排序第一的单向逻辑通道。
3.如权利要求1所述的系统,其特征在于,所述第一设备,还用于:
向所述第二设备发送逻辑通道定位消息,所述逻辑通道定位消息包括多个所述单向逻辑通道所允许定位的单向物理通道。
4.如权利要求2或3所述的系统,其特征在于,所述第二设备在根据第二接口的接收器的状态向所述第一设备发送链路配置策略时,具体用于:
根据所述第二接口的接收器的状态和所述逻辑通道定位消息确定所述链路配置策略;
向所述第一设备发送所述链路配置策略。
5.如权利要求1~4任一项所述的系统,其特征在于,所述链路配置策略包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道,所述目标单向逻辑通道为所述高速串行链路中排序第一的单向逻辑通道;
所述高速串行链路的链路宽度;
所述高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
6.如权利要求1所述的系统,其特征在于,所述第二设备,具体用于:
根据第二接口的接收器的状态向所述第一设备发送多个所述链路配置策略。
7.如权利要求6所述的系统,其特征在于,所述第一设备,具体用于:
从多个所述链路配置策略选择所述链路配置策略,根据选择的所述链路配置策略配置所述高速串行链路。
8.如权利要求1~7任一项所述的系统,其特征在于,所述第一设备包括第一接口,所述第一设备,还用于:
根据所述第一接口中接收器的状态向所述第二设备发送对端链路配置策略,所述对端链路配置策略用于指示所述第一设备和所述第二设备之间的高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,所述第一逻辑通道为所述高速串行链路中从所述第二设备到所述第一设备的逻辑通道,所述第一物理通道为所述高速串行链路中从所述第二设备到所述第一设备的物理通道;
所述第二设备,还用于根据所述对端路链路置策略配置所述高速串行链路。
9.一种链路协商方法,其特征在于,所述方法包括:
第一设备接收来自第二设备的链路配置策略,所述链路配置策略用于指示所述第一设备和所述第二设备之间的高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,所述单向逻辑通道为所述高速串行链路中从所述第一设备到所述第二设备的逻辑通道,所述单向物理通道为所述高速串行链路中从所述第一设备到所述第二设备的物理通道;
所述第一设备根据所述链路配置策略配置所述高速串行链路。
10.如权利要求9所述的方法,其特征在于,所述第一设备接收来自第二设备的链路配置策略之前,还包括:
所述第一设备向所述第二设备发送逻辑通道定位消息,所述逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,所述目标单向逻辑通道为所述高速串行链路中排序第一的单向逻辑通道。
11.如权利要求9所述的方法,其特征在于,所述第一设备接收来自第二设备的链路配置策略之前,还包括:
所述第一设备向所述第二设备发送逻辑通道定位消息,所述逻辑通道定位消息包括多个所述单向逻辑通道所允许定位的单向物理通道。
12.如权利要求9~11任一项所述的方法,其特征在于,所述链路配置策略包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道,所述目标单向逻辑通道为所述高速串行链路中排序第一的单向逻辑通道;
所述高速串行链路的链路宽度;
所述高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
13.如权利要求9所述的方法,其特征在于,所述第一设备接收来自第二设备的链路配置策略,包括:
所述第一设备接收来自第二设备的多个所述链路配置策略。
14.如权利要求13所述的方法,其特征在于,所述第一设备根据所述链路配置策略配置所述高速串行链路,包括:
所述第一设备从多个所述链路配置策略选择所述链路配置策略,根据选择的所述链路配置策略配置所述高速串行链路。
15.如权利要求9~14任一项所述的方法,其特征在于,所述第一设备包括第一接口,所述方法还包括:
所述第一设备根据所述第一接口中接收器的状态向所述第二设备发送对端链路配置策略,所述对端链路配置策略用于指示所述第一设备和所述第二设备之间的高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,所述第一逻辑通道为所述高速串行链路中从所述第二设备到所述第一设备的逻辑通道,所述第一物理通道为所述高速串行链路中从所述第二设备到所述第一设备的物理通道。
16.一种链路协商方法,其特征在于,第二设备包括第二接口,所述第二设备与所述第一设备之间的高速串行链路是基于所述第二接口构建的,所述方法包括:
所述第二设备根据第二接口的接收器的状态确定链路配置策略,所述链路配置策略用于指示所述第一设备和所述第二设备之间的高速串行链路中单向逻辑通道和单向物理通道的关联关系,其中,所述单向逻辑通道为所述高速串行链路中从所述第一设备到所述第二设备的逻辑通道,所述单向物理通道为所述高速串行链路中从所述第一设备到所述第二设备的物理通道;
所述第二设备向所述第一设备发送所述链路配置策略。
17.如权利要求16所述的方法,其特征在于,所述第二设备根据第二接口的接收器的状态确定链路配置策略之前,还包括:
所述第二设备接收来自所述第一设备的逻辑通道定位消息,所述逻辑通道定位消息包括目标单向逻辑通道所允许定位的单向物理通道,所述目标单向逻辑通道为所述高速串行链路中排序第一的单向逻辑通道。
18.如权利要求16所述的方法,其特征在于,所述第二设备根据第二接口的接收器的状态确定链路配置策略之前,还包括:
所述第二设备接收来自所述第一设备的逻辑通道定位消息,所述逻辑通道定位消息包括多个所述单向逻辑通道所允许定位的单向物理通道。
19.如权利要求17或18所述的方法,其特征在于,所述第二设备在根据第二接口的接收器的状态确定所述链路配置策略,包括:
所述第二设备根据所述第二接口的接收器的状态和所述逻辑通道定位消息确定所述链路配置策略。
20.如权利要求16~19任一项所述的方法,其特征在于,所述链路配置策略包括下列的部分或全部:
目标单向逻辑通道所定位的单向物理通道,所述目标单向逻辑通道为所述高速串行链路中排序第一的单向逻辑通道;
所述高速串行链路的链路宽度;
所述高速串行链路中的单向逻辑通道编号递增顺序沿单向物理通道编号递增顺序或与单向物理通道编号递增顺序相反。
21.如权利要求16所述的方法,其特征在于,所述第二设备根据第二接口的接收器的状态确定链路配置策略,包括:
所述第二设备根据第二接口的接收器的状态确定至少一种所述链路配置策略;
所述第二设备向所述第一设备发送所述链路配置策略,包括:
所述第二设备向所述第一设备发送至少一种所述链路配置策略。
22.如权利要求16~21任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备接收来自所述第一设备的对端链路配置策略,所述对端链路配置策略用于指示所述第一设备和所述第二设备之间的高速串行链路中第一逻辑通道和第一物理通道的关联关系,其中,所述第一逻辑通道为所述高速串行链路中从所述第二设备到所述第一设备的逻辑通道,所述第一物理通道为所述高速串行链路中从所述第二设备到所述第一设备的物理通道;
所述第二设备根据所述对端链路置策略配置所述高速串行链路。
23.一种计算设备,其特征在于,包括第一接口、存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求9~15任一所述的方法。
24.一种计算设备,其特征在于,包括第二接口、存储器和处理器;所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求16~22任一所述的方法。
25.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求9~22任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/092014 WO2023279839A1 (zh) | 2021-07-08 | 2022-05-10 | 一种链路协商系统、方法及设备 |
EP22836596.1A EP4354307A1 (en) | 2021-07-08 | 2022-05-10 | Link negotiation system and method, and device |
US18/405,234 US20240160597A1 (en) | 2021-07-08 | 2024-01-05 | Link Negotiation System, Method, and Device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110770998 | 2021-07-08 | ||
CN2021107709983 | 2021-07-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115599731A true CN115599731A (zh) | 2023-01-13 |
Family
ID=84841850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111134281.6A Pending CN115599731A (zh) | 2021-07-08 | 2021-09-27 | 一种链路协商系统、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599731A (zh) |
-
2021
- 2021-09-27 CN CN202111134281.6A patent/CN115599731A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107918594B (zh) | 半导体装置、操作半导体装置的方法和包括该装置的系统 | |
US7401171B2 (en) | Methods and structure for SAS expander initiating communication to a SAS initiator to identify changes in the SAS domain | |
US8661168B2 (en) | Specialized universal serial bus controller | |
US6628607B1 (en) | Method and apparatus for loop breaking on a serial bus | |
EP2628087B1 (en) | Methods and systems for testing electrical behavior of an interconnect having asymmetrical links | |
WO2014114094A1 (zh) | 光口速率自适应的方法和光网络设备 | |
WO2021217540A1 (zh) | 通信链路的检测方法、装置、系统和可移动平台 | |
TW201029410A (en) | Data communication device, communication control method, and program | |
CN105721235A (zh) | 一种检测连通性的方法和装置 | |
US20060007853A1 (en) | Bus systems, apparatuses, and methods of operating a bus | |
CN110995625B (zh) | 以太网接口芯片的验证系统和验证方法 | |
KR100352568B1 (ko) | 케이블 길이에 무관하게 버스 리셋을 신뢰성있게 수행하는회로 및 방법 | |
US9026713B2 (en) | Expander for loop architectures | |
CN115599731A (zh) | 一种链路协商系统、方法及设备 | |
WO2023279839A1 (zh) | 一种链路协商系统、方法及设备 | |
CN109344113B (zh) | 一种芯片间通讯的数据派发方法及系统 | |
US20060104206A1 (en) | Apparatus, system, and method for detecting a fibre channel miscabling event | |
US10419551B2 (en) | Network device and auto detecting method for direct link thereof | |
JP3734255B2 (ja) | ファイバーチャネルのスターハブ | |
US20090116491A1 (en) | Communication system, communication device, and method for controlling transport resource thereof | |
US7515528B2 (en) | Host fail-over switch presence detection compatible with existing protocol and host controllers | |
WO2023035859A1 (zh) | 一种发送器均衡参数评估方法及装置 | |
US8005082B2 (en) | Concurrent enablement of persistent information unit pacing | |
US20120119789A1 (en) | Peak Detector Extension System | |
CN118265018A (zh) | 一种控制消息通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |