CXL Link Training

1. 链路训练的阶段

CXL 链路训练过程发生在 PCIe LTSSM(Link Training and Status State Machine)状态机的不同阶段,主要包括以下步骤:

1.1 LTSSM Detect

● 链路训练从 LTSSM 的 Detect 状态开始。
● 在 Detect 状态,设备检测物理链路的存在,并准备进入链路训练阶段。

1.2 LTSSM Configuration

● 在 Configuration 状态,链路宽度和速度的协商开始。
● Flex Bus 模式协商:
○ 使用 PCIe 的替代协议协商机制(Alternate Protocol Negotiation)。
○ 下游端口(Downstream Port)通过发送修改后的 TS1 Ordered Sets 广告其 Flex Bus 能力。
○ 上游端口(Upstream Port)根据自身能力和主机广告的能力进行响应,并发送提议。
○ 主机通过发送修改后的 TS2 Ordered Sets 确定最终的协商结果。

1.3 LTSSM L0

● 在链路进入 L0 状态之前,链路训练完成。
● 如果协商了 CXL 模式,链路速度必须达到至少 8 GT/s。
● 如果链路无法达到 8 GT/s,则链路可能无法进入 CXL 模式,即使设备支持 PCIe。
2. Flex Bus 模式协商
Flex Bus 是 CXL 的链路模式,支持动态硬件协商。以下是 Flex Bus 模式协商的关键点:

2.1 TS1 和 TS2 Ordered Sets

● TS1 和 TS2 是 PCIe Base Specification 定义的 Ordered Sets,用于链路训练和配置。
● 在 CXL 模式下,TS1 和 TS2 被修改以支持 Flex Bus 模式协商。
● TS1 Ordered Sets:
○ 下游端口发送 TS1 Ordered Sets 告知其 Flex Bus 能力。
● TS2 Ordered Sets:
○ 上游端口响应并发送 TS2 Ordered Sets,确认最终的协商结果。

2.2 Retimer 配置

● 如果链路中存在 Retimer(信号中继器),必须在 Flex Bus Port DVSEC(Device-Specific Extended Capability)中由软件进行编程。
● Retimer 的相关位会在 TS1 和 TS2 Ordered Sets 中使用。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. CXL 模式的链路速度要求

● CXL 模式要求链路速度至少达到 8 GT/s。
● 如果链路在 2.5 GT/s 的训练过程中协商了 CXL 模式,但无法达到 8 GT/s,则链路可能会失败。

4. Sync Header Bypass

● 在链路速度达到 8 GT/s、16 GT/s 或 32 GT/s 时,可以协商 Sync Header Bypass。
● 如果协商了 Sync Header Bypass:
○ 在链路速度达到 8 GT/s 或更高时,Sync Headers 会被跳过。
○ 设备会发送 NULL Flits 替代 PCIe Idle Symbols,以支持 LTSSM 的某些状态转换。

5. Flit 模式

CXL 使用 Flit(固定大小的数据包)进行数据传输,支持两种 Flit 模式:
● 68B Flit 模式:
○ 在链路速度达到 8 GT/s 或更高时,设备发送 NULL Flits 替代 PCIe Idle Symbols。
○ NULL Flits 用于支持 LTSSM 的状态转换。
● 256B Flit 模式:
○ 在链路速度达到 8 GT/s 或更高时,设备可以发送 256B Flits。

6. 上游端口的行为

● 上游端口在接收到非下游端口生成的 Flit 后,通知上层链路已准备好进行数据传输。
● 如果链路协商了 CXL 模式,上游端口会等待有效的 Flit 才能进入数据传输状态。

7. 链路训练失败的可能原因

● 链路无法达到 8 GT/s 或更高速度。
● Retimer 配置错误或未正确编程。
● TS1 和 TS2 Ordered Sets 的协商失败

总结

CXL LTSSM 是一个动态链路训练和模式协商的过程,确保链路能够正确进入 PCIe 或 CXL 模式。关键步骤包括 TS1/TS2 Ordered Sets 的交换、Flex Bus 能力的协商以及链路速度的验证。链路训练失败时,状态机会回退到 Detect 状态以重新开始训练。

CXL (Compute Express Link)是一种用于连接计算设备的高速互联技术。它提供了一种可扩展、高带宽和低延迟的连接方式,旨在满足数据中心和高性能计算领域对于高性能、低能耗和高效能的需求。引用 关于CXL的连接过程,引用中提到了CXL的多层协议结构。其中,Flex Bus结构用于将CXL.io, CXL.mem和CXL.cache的处理逻辑分成多个独立的层次,以便进行灵活的处理。在CXL ARB/MUX的支持下,可以同时传输两种不同的业务流。PCIe Trans层和Data Link层协议的实现是可选的,可以根据需要进行融合进CXL.io的逻辑中。 至于"cxl linkup"的具体含义,由于没有更多的上下文信息,无法准确回答你的问题。但可以理解为在CXL连接中建立连接的过程或者表示连接建立成功的状态。如果你有更多的信息或者具体的问题,欢迎进一步说明,以便我能够提供更准确的答案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [[New Tech] Compute Express Link or CXL What it is and Examples](https://blog.csdn.net/wangyijieonline/article/details/123047027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [CXL简介](https://blog.csdn.net/maxwell2ic/article/details/123306538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天Aileft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值