【UCIe】UCIe 信号线修复(Lane Repair/Remapping)

简介: 【UCIe】UCIe 信号线修复(Lane Repair/Remapping)

1. Lane Repair 简介


 为了提升良率,先进封装的 UCIe Module 支持 Lane Repair,即信号线修复。在链路初始化及训练过程中对 UCIe Link 上的信号线功能进行检测,若检测到 短路、短路或速率不达标 的信号线(Bad Lane),则剔除存在问题的信号线并启用提前预留的冗余信号线(Redundant Lane),称为 Lane Repair。


 UCIe 采用 Redundancy Remapping 的策略进行 Lane Repair,弃用存在问题的 Physical Lane,将其对应的 Logical Lane 映射到其他没有问题的 Physical Lane 上。无论是 UCIe Lane Repair 还是 Lane Reversal,其本质都是 Logical Lane 到 Physical Lane 的重映射。


 标准封装的 UCIe 不支持 Lane Repair,当检测到 Bad Lane 后,只能通过 Degrade 来解决。即将 X16 减宽为 X8(Lane0~7 或 Lane 8~15)。协议中并未表明可以减宽为 X4、X2、X1。




2. Lane Repair 方案


 先进封装的 UCIe Mainband 及 Sideband 均支持 Lane Repair。如之前的博文 《UCIe PHY 接口信号》 所述,Mainband 的 Data、Clock、Track 及 Valid Lane 均预留有 Redundant Lane。其中,32 根为一组 Data Lane 配有两根 Redundant Lane, 差分 Clock 与 Track 共用一条 Redundant Lane,Valid Lane 专用一根 Redundant Lane。Sideband 每一条 Clock、Data Lane 都有一条专门的 Redundant Lane。




2.1 Sideband Lane Repair


 Sideband Tx 及 Rx 的 Clock、Data Lane 都备用冗余 Lane,以 RD 作为信号名后缀,如下:


   TXCKSB -> TXCKSBRD


   TXDATASB -> TXDATASBRD


   RXCKSB -> RXCKSBRD


   RXDATASB -> RXDATASBRD


 Sideband Lane Repair 发生于 Mainband Lane Repair 之前,这是毋庸置疑的——毕竟绝大部分 Mainband 初始化及训练相关的状态都需要用 Sideband 来传递、交换 Msg。

 Sideband Lane Repair 发生于 SBINIT 期间。Sideband 是在 Clock、Data Lane (Normal & Redundant for Advanced) 上同时发送 Test Pattern,根据 Rx 接收结果按照一定的优先级选出可用的 Sideband Data 及 Clock Lane 组合。





2.2 Mainband Lane Repair


 Mainband Lane Repair 发生于链路初始化的 MBINIT 及 MBTRAIN 阶段,一发生于切速之前,一发生于切速之后。


 MBINIT 状态时,即 UCIe 切速之前、Mainband 处于最低速 4GT/s 时,对包括 Redundant Lane 在内的 Clock/Track、Valid、Data 这 3 类 Lane 先后依次进行功能检测及修复(较为详细的检测过程请参考《UCIe PHY LSM 介绍》)。MBINIT 状态下检测到的 Bad Lane 多是 UCIe Lane 的短路或短路问题。


 MBTRAIN 状态时也存在 Lane Repair 的时间窗,但仅限于切速失败后。如果初次切速即训练成功,则不会也无需进入 MBTRAIN.REPAIR 状态。如果在 MBTRAIN 状态时启动了 Lane Repair,说明在 MBTRAIN.LINKSPEED 状态链路稳定性测试没有通过,需要进入 MBTRAIN.REPAIR 进行 Lane Repair 或 Degrade。MBTRAIN.REPAIR 时肯定会修复 Data Lane,至于是否涉及到 Clock、Valid Lane Repair,这一点尚不明确。



2.2.1 Clock and Track Lane Repair


 以 Tx 为例,单个 UCIe Module Tx 中有一对 Clock 差分线及 一根 Track 线,三根线共享一根 Redundant Lane TRDCK_P。如图 1 所示,TRDCK_P 位于 TCKP_P/RCKN_P 及 TTRK_P 的中间,无论哪一根 Lane 坏掉了,都向中间的 TRDCK_P 移位。Rx 跟 Tx 是对称的。



2763a3dffaad4f05a9fcc4dccac854af.png


▲图 1:UCIe Clock and Track Lane Repair Scheme



举个例子:比如 TCKP_P 坏掉了(图 1(a)),则 TCKN_P 充当 TCKP_P 与 TCKP_L 相连,TRDCK_P 充当 TCKN_P 与 TCKN_L 相连,TTRK_P 与 TTRK_L 相连保持不变,Rx 端对称进行 Remapping,如图 2 所示。TCKN_P 及 TTRK_P 的修复以此类推。



27077da0c70e4849ab4d94e59126b4f6.png

▲图 2:UCIe Mainband CKP LaneRepair



2.2.2 Valid Lane Repair


  Valid Lane 专用一根 Redundant Lane,在链路初始化及训练过程中检测到 Valid Lane 坏掉后,直接用用其 Redundant Lane 进行替代即可,如图 3 所示。


ea5bb5cc59de45108d4cd395dcd86f6c.png



▲图 3:UCIe Mainband Valid Lane Repair



2.2.3 Data Lane Repair


2.2.3.1 修复原理

 先进封装的 UCIe Module 有两组常规 Data Lane,TD_P[31:0] 及 RD_P[31:0] 为一组,TD_P[63:32] 及 RD_P[63:32] 为一组。每组 Data Lane 配有两对 Redundant Lane(图 4),TRD_P[1:0]/RRD_P[1:0] 及 TRD_P[3:2]/RRD_P[3:2],两组 Lane 独立进行修复及 Remapping。Group 1 不能用 Group 2 的 Redundant Lane,Group 2 也不能用 Group 1 的 Redundant Lane。


077639aef9cf4514853742135b8e9d7c.png



▲图 4:UCIe Mainband Data Lane Repair Scheme


 当某组 Data Lane 出现 Bad Lane 时进行 Remapping,Remapping 时不是直接拿 Redundant Lane 替换为坏 Lane,而是进行左移或右移的方式进行 Remapping。左移就是指 Logical Data Lane TD_L[n] 接到 Physical Data Lane TD_P[n-1] 上, 左移就是指 Logical Data Lane TD_L[n] 接到 Physical Data Lane TD_P[n+1] 上。


 如图 5 所示,电路逻辑上,Physical Data Lane TD_P[n] 前置一个 Mux,TD_L[n-1]、TD_L[n] 及 TD_L[n+1] 均接在这条 Lane 上。从 Logical Data Lane 角度讲,当该条 Lane TD_P[n] 坏掉时,通过左移或右移,可以将 Logical Data Lane TD_L[n] 映射到 TD_P[n-1] 或 TD_P[n+1] 上,从而达到链路修复的目的。



0b9ca336a0cc42ccb8f9546da6463442.png


▲图 5:UCIe Mainband Data Lane Remapping Mux Chain


 Remapping 完成之后,原来的 Tx 坏 Lane 处于三态状态,其对端的 Rx 也对应关闭。也就是说,本端的 TD_P[n] 坏了,对端的 RD_P[n] 也是坏的,也要做 Lane Remapping。



2.2.3.2 单 Lane 修复


 以 Lane Group 1 为例,若当前 Lane Group 中只有一条 Lane TD_P[n] 需要修复,则启用 TRD_P[0] 及 RRD_P[0](Group 2 对应 TRD_P[2] 及 RRD_P[2]),采用左移的方式进行修复。即,所有 Lane ID 大于 n 的 TD_L[i] 到 TD_P[i] 的映射关系维持原状不变,Lane ID 小于等于 n 且大于等于 1 的 TD_L[i] 映射到 TD_P[i-1],TD_L[0] 映射到 TRD_P[0]。同理,所有 Lane ID 大于 n 的 RD_L[i] 到 RD_P[i] 的映射关系维持原状不变,Lane ID 小于等于 n 且大于等于 1 的 RD_L[i] 映射到 RD_P[i-1],RD_L[0] 映射到 RRD_P[0]。



201ca59ec87c49a7a12c15ffd09134f8.png


▲图 6:UCIe Mainband Single Data Lane Repair


 单 Lane 修复中, 必须采用左移的方式,因此只用到了序号较小的 Redundant Lane,另外一条 Lane 没有用到。



2.2.3.3 双 Lane 修复


 以 Lane Group 1 为例,若当前 Lane Group 中有两条 Lane TD_P[m] 及 TD_P[n] 需要修复,则启用 TRD_P[0] / RRD_P[0] 及 TRD_P[1] / RRD_P[1] (Group 2 对应 TRD_P[2] / RRD_P[2] 及 TRD_P[3] / RRD_P[3]),采用左移+右移的方式进行修复。


即,两条坏 Lane 中间的好 Lane 保持 TD_L[i] 到 TD_P[i] 的映射关系维持原状不变,以坏 Lane 为起点向两侧移动,TD_L[0] 映射到 TRD_P[0],TD_L[31] 映射到 TRD_P[1]。同理,两条坏 Lane 中间的好 Lane 保持 RD_L[i] 到 RD_P[i] 的映射关系维持原状不变,以坏 Lane 为起点向两侧移动,RD_L[0] 映射到 RRD_P[0],RD_L[31] 映射到 RRD_P[1]。


c0da7e4e493b4b6ea25461804cdfebbe.png


▲图 7:UCIe Mainband Two Data Lanes Repair


 修复 TD_P[31] 能够用到 TRD_P[0],但修复 TD_P[0] 绝不会用到 TRD_P[1],因为用到 TRD_P[1] 表明有 2 根 Lane 需要修复,而 TD_P[0] 不可能是靠近 TRD_P[1] 的那一根。



2.2.3.4 多(3+) Lane Repair -> Degrade

 若当前 Lane Group 中有三条或以上的 Data Lane 坏掉了,则超出了 UCIe Lane Repair 的能力,此时只能像 Standard Package 一样进行 Degrade 操作。




3. 参考


   UCIe Spec r1.0, Chapter 4,5


   UCIe PHY 接口信号


   UCIe PHY LSM 介绍


   什么是repair?什么是soft repair、hard repair、lane repair?  



目录
相关文章
【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
682 0
【PCIe 协议】听说你做 PCIe 很多年,还不知道 PCIe Hierarchy ID 是什么 ???
|
算法 安全 物联网
【BLE】 BLE安全管理 - SM层剖析(2)
上一章介绍了配对流程的第一阶段,剖析了配对第一阶段的配对请求包和配对响应包的各个字段的含义和使用。接下来就进入了ble配对的阶段二,在该阶段双方会根据阶段一中的配对信息选择合适的配对和认证方式,并且生成会后续链接加密的密钥。
347 1
【BLE】 BLE安全管理 - SM层剖析(2)
|
存储 安全 算法
【BLE】 BLE安全管理 - SM层剖析(3)
上一章介绍了配对流程的第二阶段,剖析了配对第二阶段的配对算法的选择和鉴权方式的选择。接下来就进入了ble配对的阶段三,在该阶段双方会根据生成的STK或LTK来生成其他的密钥,就是配对的密钥分配阶段。
410 0
【BLE】 BLE安全管理 - SM层剖析(3)
|
存储 安全 物联网
【BLE】 BLE安全管理 - SM层剖析(1)
SM层是为了在两个蓝牙设备之间建立一个安全可靠的数据传输通道, 主要的流程包括配对,绑定、鉴权、加密、消息完整性校验。配对:在两个设备之间创建一个或多个共享密钥的过程绑定:每一端保存配对中创建的密钥的行为,用于后续的连接,形成一个信任的设备对,绑定后的设备可以直接回连,而不用再走配对的流程。设备鉴权:根据两端设备的输入、输出能力和鉴权需求,选择不同的鉴权方式,验证两个设备有相同的密钥加密:对设备之间交换的数据进行加密的过程,用来保证数据链路的安全。消息完整性:对数据进行签名,并在另一端验证签名的过程。
889 0
【BLE】 BLE安全管理 - SM层剖析(1)
|
数据格式 流计算
【UCIe】UCIe 支持的协议及操作模式
【UCIe】UCIe 支持的协议及操作模式
2027 1
【UCIe】UCIe 支持的协议及操作模式
【UCIe】UCIe Clock Gating
【UCIe】UCIe Clock Gating
533 0
【UCIe】UCIe Clock Gating
|
芯片 流计算 内存技术
【UCIe】初识 UCIe
【UCIe】初识 UCIe
2314 2
【UCIe】初识 UCIe
|
编解码
SATA系列专题之二: 2.2 Link layer链路层加扰/解扰/CRC解析
资料在进行8b/10b 编码之前,必须先行资料加扰(Scramble)的处理,目的是為了降低EMI(Electromagnetic Interference,电磁干扰)。
【UCIe】UCIe Data to Clock
【UCIe】UCIe Data to Clock
409 0
【UCIe】UCIe Data to Clock
【UCIe】UCIe PHY LSM 介绍2
【UCIe】UCIe PHY LSM 介绍
394 1