PCIe Retimer参与链路训练行为总览
上一期,我们为大家介绍了PCIe Retimer的基本概念、主要应用和发展前景等概要知识。本期,我们将聚焦PCIe Retimer的通信介质角色,和您一起详细了解PCIe Retimer是如何通过参与链路训练行为实现链路状态管理,以提高数据传输稳定性、一致性。
PCIe的物理层是PCIe设备之间数据通信的介质,是PCIe层次结构里最重要且比较有实现难度的部分。PCIe规范在物理层规定了LTSSM(Link Training and Status States Machine),通过它来管理链路状态,实现上电后的链路训练、出现错误时的链路恢复、正常工作下的功耗管理以及进行相关电气性能测试等等。
图 1 PCIe链路LTSSM示意图
(图片来源:PCI Express® Base Specification Revision 5.0 Version 1.0)
PCIe Retimer作为PCIe规范定义的物理层(Physical Layer)可见的芯片,它直接参与链路训练。不同于常规端设备LTSSM, Retimer的工作模式简化为转发模式(Forwarding)和执行模式(Execution),这两种模式与LTSSM的转换交互是Retimer的一个难点。基于下图的组网介绍Retimer在各个LTSSM态下的行为和工作模式。(暂不涉及Loopback 和Compliance等测试状态。)
图 2 带有Retimer的链路组网示意图
01 Detect状态
对于Retimer来说,它上电后的第一个状态也是Detect状态,与RC/EP不同的是,它一般并不会在Detect.quiet时挂上自己的端电阻,它是执行电阻传递功能,即Port a会基于Port b的Detect结果挂上对应检测到Lane的电阻,同理,Port b也一样。
02 Polling状态
Retimer在此状态的时候自身状态机处于Forwarding。Retimer芯片实现Bit Lock(PHY 锁定数据将串行数据转为并行) ,Symbol Lock(MAC到COM 即K28.5来恢复出完整的Order Set),以及确定Lane的极性(协议允许Tx和Rx的极性可以反接)。
在转发数据之前还需要做Lane与Lane之间的对齐(Deskew)操作,Retimer一般做Deskew使用的标志为:
1) Gen1 : SKP OS或者COM字符。
2) Gen2及以上:SKP OS或者EIEOS。
因此,有可能出现Retimer开始转发数据时发送的是TS2的情况。
另外,Retimer也会对收到的码流进行部分修改:
速率:收到码流的建议最大速率与自身支持最大速率(寄存器可配)取最小值。
ELBC(Enhance Link Behavior Control):针对Bypass To Highest Rate(Gen1直接切Gen5),No Eq Need(不做均衡),以及Mod Ts Support(CXL 模式协商)的支持(寄存器可配),当Retimer不支持某个功能时,会修改对应域段。
除此之外,Retimer还会在TS2码流里置起 (Two)Retimer Present位, 用来告诉RC/EP,链路上存在一个或者两个Retimer。
03 Configuration状态
Retimer在此状态下自身依然处于Forwarding,它要做的是确定自身的方向,即自己的端口是伪Upstream Port还是伪Downstream Port。同时抓取链路协商的Link/Lane Number,确定当前有效Lane数。
确定端口方向具体行为:当Downstream Port(一般为RC或者Switch的下游端口)处于Configuration.Lanenum.Wait阶段时,会先发送带有Lane Number的TS1,此时Retimer哪个端口先收到连续两个Non-Pad TS1,其端口为伪Upstream Port,对端端口为伪Downstream Port。如上图所示,Port a为伪Upstream Port,Port b为伪Downstream Port。端口方向主要会影响均衡动作。
获取链路信息时机:当Retimer收到Non-Pad/Non-Pad TS2码流时,会抓取码流对应的Link/Lane Number,也是用于均衡时产生码流的域段填充以及更新LFSR值(Gen3及以上加解扰),同时也会确定有效Lane数。
图 3 Retimer在Configuration阶段获取链路相关信息的时间点示意图
(图片来源:PCI Express® Base Specification Revision 5.0 Version 1.0)
04 Recovery状态
1.Retimer在RC/EP处于Recovery.RcvrLock、Recovery.RcvrCfg 或Recovery.Idle状态,自身处于Forwarding状态。当协商切速时,Retimer会在EQ TS2上获取即将达到的速度,以及该速度下要使用的发送侧初始参数(Gen2:Deemph, Gen3及以上:Preset)。
在这些状态下,Retimer也会对收到的码流进行更多域段修改(除了Polling阶段提到的)并转发。
对应TS1码流:
1)速率为Gen2时更新Selectable De-emphasis。
2)速率为Gen3以上更新当前发送侧的参数 Preset,Pre-Cursor,Cursor,Post-Cursor。
3)重新计算校验位(Parity)。
4)更新DC Balance Symbol。
对应TS2码流:
1)切速时可以将EQ TS2转为TS2,将TS2转为EQ TS2。
2)建议切速Gen3时,EQ TS2更新Receiver Preset Hint域段(较少使用)。
2.Retimer在RC/EP处于Recovery.eq.phase0或 Recovery.eq.phase1状态,自身仍处于Forwarding状态,此时修改TS1码流的域段在Gen3/4/5多了LF(Low Frequency)/FS(Full Swing)用来告知对端本侧发送端的系数信息。在Recovery.eq.phase2或Recovery.eq.phase3时,会切换到执行模式(即自己产生均衡行为所需码流)。
以下图组网为例,Retimer在Recovery.eq.phase2时,Port a处于phase2.active状态,去调整RC侧的发送参数,调整完成后进入phase2.passive。Port b侧处于phase2状态,响应EP的均衡请求。对于Retimer两个伪端口进入phase3的行为,规范基于速率进行了区分:
1)Gen3时,phase3 Retimer的EQ为串行策略,即EP进入Recovery.eq.phase3后,Port b在Port a处于phase2.passive,自己会进入phase3.active,去调整EP侧发送参数。Port a依旧在phase2.passive,拖住RC。当Port b调整完进入phase3.passive时,Port a进入phase3,引导RC进入Recovery.eq.phase3。
2)Gen4及以上为并行策略,即Port a会在Port b处于phase3.active时就进入phase3,引导RC。这里引入一个新的TS1码流域段Retimer EQ Extend,它的作用在于Recovery.eq.phase2时,Port a没有均衡完成时,告诉EP不能进入Recovery.eq.phase3。在Recovery.eq.phase3时,Port b没有均衡完成时,告诉RC不能进入Recovery.RcvrLock。
3)当RC进入Recovery.RcvrLock ,Retimer退出执行模式进入Forwarding状态(收到连续两个EC==0的TS1)。
图 4 Retimer参与下的进行均衡的状态跳转示意图
05 L0状态
链路训练的最终状态,该状态是PCIe的正常工作状态,即表示物理层建链完成,可以发送上层报文,也可以进入低功耗状态。Retimer在此状态自身处于Forwarding状态,仅转发收到的报文,对于SKP OS会更新SKP END的域段。
06 低功耗L1状态
对于Retimer来说,规范仅支持低功耗L1。Retimer在转发报文时(即L0状态下)收到EIOS,并且CLKREQ#拉低,就会进入L1状态,Power Down会切成P2。
07 Hot reset/Disable状态
当Retimer收到连续两个Hot Reset/Disable 置起的TS1时,自身依然会处于Forwarding状态。当Retimer看到两个端口接收侧都处于电气空闲且此时速率大于Gen1时,Retimer会切速到Gen1,并且清除自身之前在链路训练获取的信息。不同于RC/EP,Retimer不会重新做Detect,而是处于Gen1 Forwarding状态等待重新训练。
随着PCIe和CXL技术的发展,在Gen6甚至于Gen7的速率下,对于Retimer这种仅有物理层的芯片也会有新的挑战。要求Retimer在越来越复杂的系统场景下不影响端设备之间的交互,保证较好的信号质量和较低的误码,以及CXL模式下的低延时(<10ns)传输,甚至于光Retimer。我们有信心深耕此领域,迎难而上,把Retimer芯片越做越好。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由walkonair转载自电科星拓,原文标题为:PCIe Retimer参与链路训练行为总览,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
PCIe Retimer TX和RX电气测试
随着PCIe速率越来越高,信号衰减和抖动问题开始突出,为了确保长距离、复杂环境或高数据速率下,PCIe链路仍能保持稳定可靠的通信,出现了PCIe Retimer。本文论述了高速的PCIe Retimer如何进行高效的电气测试。
设计经验 发布时间 : 2024-06-08
【经验】PCIe能不能使用光纤连接?
PCIe在高速交换机领域也有很广泛的应用。交换机的软件通常运行在CPU芯片上,硬件运行在交换芯片或者FPGA上。上位机软件通过PCIe总线配置交换机的相关寄存器,也可以配置交换机的上行或者下行DMA读写操作,并进行CPU与交换芯片的数据交互,非常灵活。软件定义互联交换芯片SDI3210,就是采用PCIe(Gen2 x1)作为芯片的配置、维护、管理的主要通路,同时也是协议数据的传输通道。
设计经验 发布时间 : 2023-10-07
【经验】电科星拓时钟Buffer芯片TBUF1510在客户服务器上的应用案例详解
本文电科星拓将为您介绍其时钟Buffer芯片TBUF1510的相关规格参数和优势,并详细介绍TBUF1510在大客户的应用经验,帮助大家深入理解时钟Buffer的应用。
设计经验 发布时间 : 2023-10-15
认识PCIe Retimer,如何提高PCIe信号传输距离以及其应用
PCIe Retimer是什么?PCIe Retimer是PCIe规范定义的PCIe专用驱动器,主要作用是补偿链路损耗,以满足PCIe链路的SI(Signal Integrity,信号完整性)需求。
技术探讨 发布时间 : 2024-04-22
电科星拓PCIe 5.0 Retimer系列芯片XRET5032/XRET5016应用案例
Retimer的应用范围将会更加广泛,为更多领域的高速数据传输提供强有力的支持。无论是通用服务器AIC卡,还是高性能计算GPU,Retimer都将是连接未来技术的重要桥梁。电科星拓凭借在高速互联芯片领域的过硬技术实力和应用经验积累,推出PCIe 5.0 Retimer系列芯片——XRET5032/XRET5016。
应用方案 发布时间 : 2024-10-24
【IC】电科星拓成功量产PCIe 5.0 Retimer芯片,为服务器、存储设备等提供PCIe互联解决方案
电科星拓已成功量产PCIe 5.0 Retimer芯片,具备超低延时、强大损耗补偿能力,支持数字原图,并配备易用GUI量化分析工具,有效延长高速信号传输距离,保障信号完整性,完美适配32Gbps的PCIe 5.0应用。
产品 发布时间 : 2024-09-10
PM8658, PM8659 XpressConnect™ PCIe® Gen 5 and CXL™ Retimer Family
型号- PM8659,PM8658,RTM-C 16XG5,RTM-C 8XG5
XpressConnect™ PCIe® 5.0/CXL™ 2.0 Retimer Reference Design
型号- AGLP030V2-VQG128,PM8659,DSC1001DI1-020.0000,PM8658,AT24C512C-SSHM,MIC2128YML-TR,24FC64T-I-SN,MIC261203YJL-TR,MIC6315-26D2UY,MCP9844T-BE,MIC5350-SGYMT,MCP2221A-I,EMC1412-1-ACZL,MCP2221A-ST,LX7165-02CSP,ZL30265LDG1Q03V,MCP1725-ADJE,MCP1725-ADSN
有做过pcie switch下连接retimer芯片的设计吗?使用是否有问题。
您好,世强暂无此方案代理,还请各位大神解答
技术问答 发布时间 : 2020-11-25
电子商城
现货市场
服务
深圳市启威测实验室,面向所有企业提供信号完整性测试服务,主要包括USB、HDMI 、DP、MIPI、PCIe 、SD/EMMC、DDR接口信号测试。测试手段有波形测试、眼图测试、抖动测试等。
提交需求>
登录 | 立即注册
提交评论