数据链路层高性能容错的方法技术

技术编号:15441343 阅读:71 留言:0更新日期:2017-05-26 06:31
本发明专利技术涉及一种用于PCIE数据链路层高性能容错的方法,在PCIE原有的CRC检错基础上,加入错误检测和纠正(ECC,Error Checking and Correcting)码实时纠错和自修复功能,在检出错误的同时能够对其进行纠正,并且计算速度很快。

High performance fault tolerant method for data link

The invention relates to a method for PCIE data link layer performance of fault tolerance, in the PCIE CRC error detection on the basis of the original, with error detection and correction (ECC, Error Checking and Correcting) code for real-time error correction and self repair function, at the same time the error detection can be corrected, and the calculation speed is very fast.

【技术实现步骤摘要】
数据链路层高性能容错的方法
本专利技术涉及一种用于PCIE数据链路层高性能容错的方法。
技术介绍
PCIE是用于互连诸如计算和通信平台应用中外围设备的第三代高性能I/O总线。数据链路层位于PCIE主控核的中间层,主要功能是链路管理和保证数据的传输的可靠性和完整性。数据链路层使用容错和重传机制保证数据传送的完整性和一致性。目前PCIE数据链路层的容错性很低,只能检错,不能纠错。根据目前PCIE的研究现状得知,为了降低数据在数据链路中传输的误码率,PCIE运用循环冗余校验CRC进行检错,CRC是一种在数据通信中应用很广泛的差错控制编码,具有较强的检错能力。下面详细介绍CRC在数据链路层的检错过程。数据链路层的发送端接收来自事务层的数据TLP,在发送TLP之前,先将TLP进行封装,加上序列号前缀和CRC后缀,CRC后缀是根据TLP数据包的内容,运用CRC算法生成的校验码。将封装好的TLP副本存放在重发缓冲区中,同时将该TLP发送出去。数据链路层的接收端从物理层接收TLP,此时该TLP中含有序列号前缀和CRC后缀,接收到TLP后,根据TLP数据包中除CRC字段以外的数据,用跟发送端同样的CRC算法,计算得到期望CRC值,将期望CRC值跟TLP携带的CRC进行比较,若匹配,则说明CRC校验正确,继续进行其他的检查。若不匹配,CRC校验错误,说明数据传输过程中发生链路错误,则向发送端回复NAK数据链路层数据包(DLLP),发送端对收到的NAKDLLP所对应的全部TLP,都会进行重发操作,以保证每个TLP数据包能够传输正确。PCIE数据链路层的现有容错技术仅能够检查数据在链路传输过程中发生的错误,但不能对其纠正。同时,由于不能纠错,所有发生链路传输错误的数据包都要重发,不仅增加了链路传输的负担,也降低了数据传输的效率,造成带宽和时间的浪费。
技术实现思路
本专利技术的目的在于克服上述不足,提供一种用于PCIE数据链路层高性能容错的方法,能够增加链路的容错性,同时可以节省带宽和时间,提高链路传输的效率。本专利技术的目的是这样实现的:一种用于PCIE数据链路层高性能容错的方法,在PCIE原有的CRC检错基础上,加入ECC实时纠错和自修复功能,在检出错误的同时能够对其进行纠正,并且计算速度很快。具体实施方式其进一步的技术方案为:具体步骤如下:1)在数据链路层发送端加上ECC编码电路,编码电路负责编码,生成TLP数据包的初始的ECC校验码;2)在接收端电路结构中加入ECC解码电路,解码电路负责生成新的ECC校验码,并将新的ECC校验码与数据所携带的初始的ECC校验码进行异或检错和纠错;3)当解码电路检测到错误但是不能对其纠正(超过编码算法的纠错范围)时,会生成一个错误发生标识信号,以表明有不可纠正的错误产生,则根据ACK/NAK协议对不可纠正的错包进行重发;4)在数据链路层发送端接收来自事务层的TLP数据包后,根据协议内容进行封装,在现有容错技术(加入CRC冗余循环校验码)的基础上,本专利技术由ECC编码电路生成ECC校验码,等完整的TLP接收完毕后将ECC校验码加在数据包的包尾;5)在数据链路层的接收端,接收来自物理层的TLP数据,对收到的TLP数据包进行检错,先进行CRC校验,若CRC校验无误,则说明无链路传输错误,则不需要进行ECC纠错。若CRC校验错误,则进行ECC纠错。目前常用的ECC编码是汉明码,可以纠错一位,检错2位,若有多位错误为,不可纠正的,则给出错误标识信号,以便通知发送端对出错的TLP进行重发。所述ECC校验纠错是基于汉明编解码方法,每512字节的数据块将生成3个字节长度的ECC校验码。与现有技术相比,本专利技术的有益效果是:本专利技术提高了PCIE数据链路的容错性能,能够实现纠错功能,通过在现有的数据链路的容错技术基础上,加入ECC实时纠错和自修复功能,使得原来只能检错,不能纠错的容错系统,能够实现纠错功能,从而增强链路的容错性。本文档来自技高网
...

【技术保护点】
一种用于PCIE数据链路层高性能容错的方法,其特征在于:在PCIE原有的CRC检错基础上,加入ECC实时纠错和自修复功能,在检出错误的同时能够对其进行纠正,并且提高计算速度。

【技术特征摘要】
1.一种用于PCIE数据链路层高性能容错的方法,其特征在于:在PCIE原有的CRC检错基础上,加入ECC实时纠错和自修复功能,在检出错误的同时能够对其进行纠正,并且提高计算速度。2.根据权利要求1所述一种用于PCIE数据链路层高性能容错的方法,其特征在于具体步骤如下:1)在数据链路层的发送端加上ECC编码电路,ECC编码电路负责编码,生成TLP数据包的初始ECC校验码;2)在上述数据链路层的接收端电路结构中加入ECC解码电路,ECC解码电路负责生成新的ECC校验码,并将新的ECC校验码与数据所携带的初始ECC校验码进行异或检错和纠错;3)当ECC解码电路检测到错误但是不能对其纠正时,会生成一个错误发生标识信号,以表明有不可...

【专利技术属性】
技术研发人员:陈崇传
申请(专利权)人:青岛海日安电子有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1