ECRC vs LCRC – PCIe技术网

您所在的位置:网站首页 ecic是什么专业 ECRC vs LCRC – PCIe技术网

ECRC vs LCRC – PCIe技术网

2024-05-25 23:18| 来源: 网络整理| 查看: 265

TL层的TLP报文有个ECRC,而DLL层对TLP会加上序列号和LCRC。两个CRC有何不同呢?LCRC :

 LCRC是Link CRC,是用来检测在两个设备之间的链路(Link)上发生的错误,这些错误大多是由于物理层的信号质量问题引起的。因为仅是针对Link和互联的两个设备,LCRC换个说法也可以叫Local CRC。当TLP报文通过Switch时,在入口(ingress port)被DLL层校验LCRC。而在Switch的出口(egress port)会重新生成LCRC。当接收端检测到TLP报文的LCRC不正确时,将会发送一个NAK报文给发送端,要求重传此TLP。因此,LCRC错误是可修正错误,因为可以通过重传来修正。重传的过程并不需要软件参与。

ECRC:

ECRC是End-to-End CRC,是检测TLP报文的内容是否在Requester和Completer之间的路径上是否损坏。例如switch在转发TLP报文时由于某些bug发生了数据不一致。ECRC是requester/initiaor的TL层生成的。如果Completer检测到ECRC错误,会上报通知系统处理。并没有重传机制,因此是不可修正错误。当TLP报文进入Switch时,Switch并不会修改ECRC,并完整把TLP报文发出去。换言之,TLP经过路径上的Switch内容不会发生任何改变,甚至ECRC是错误的,Switch也视而不见继续发出去。TLP的错误,需要软件参与,由上层软件决定是否重发。

下表列出了两者的差异:

LCRCECRC含义Link  CRCEnd-to-End CRC长度32-bit源/目的两个连接的设备之间Requeseter和Completer之间通过Switch时在出口重新计算生产Switch  不会修改Switch收到错误报文时要求对端重发记录错误,继续转发完成者收到错误报文要求对端重发发出一个不可修正错误消息通知系统处理是否可修正可修正不可修正


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3