一种CRC纠错方法及相关装置制造方法及图纸

技术编号:31796748 阅读:13 留言:0更新日期:2022-01-08 10:56
本申请公开了一种CRC纠错方法,包括:FPGA对接收到的待校验CRC数据包进行CRC校验;当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包;将所述已纠错CRC数据包进行输出。通过并行的手段对待校验CRC数据包进行纠错处理,提高了数据数据包的处理效率,当出现较大的数据包时可以直接进行处理,而不用将该数据包进行重传避免了对带宽的占用,提高CRC纠错处理的数据量,提高大数据量的数据量的处理效率。本申请还公开了一种CRC纠错装置、服务器以及计算机可读存储介质,具有以上有益效果。效果。效果。

【技术实现步骤摘要】
一种CRC纠错方法及相关装置


[0001]本申请涉及计算机
,特别涉及一种CRC纠错方法、CRC纠错装置、服务器以及计算机可读存储介质。

技术介绍

[0002]为了提高数据传输的准确性,数据传输领域出现了CRC技术。其中,CRC(Cyclic Redundancy Check,循环冗余校验)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。通常在接收方接收数据时进行CRC校验,当接收数据的CRC检验正确时接收方才真正收下数据。
[0003]相关技术中,直接使用ECC(Error Correcting Code,错误检查和纠正码)算法,在有效数据的基础上增加额外用来进行错误校验的数据来进行错误检测和纠正,如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC增加一位校验位,数据位为64位时ECC校验数据位为8位。但是,需增加额外数据进行数据校验及纠错,当传输的数据量很大时,增加的检验数据也会随之增多,增加数据传输的负担。
[0004]因此,如何提高基于CRC纠错过程的数据传输量是本领域技术人员关注的重点问题。

技术实现思路

[0005]本申请的目的是提供一种CRC纠错方法、CRC纠错装置、服务器以及计算机可读存储介质,以提高CRC纠错处理的数据量,提高大数据量的数据量的处理效率。
[0006]为解决上述技术问题,本申请提供一种CRC纠错方法,包括:
[0007]FPGA对接收到的待校验CRC数据包进行CRC校验;
[0008]当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包;
[0009]将所述已纠错CRC数据包进行输出。
[0010]可选的,FPGA对接收到的待校验CRC数据包进行CRC校验,包括:
[0011]所述FPGA通过多个时钟周期接收所述待校验CRC数据包;
[0012]对所述待校验CRC数据包进行CRC校验。
[0013]可选的,对所述待校验CRC数据包进行CRC校验,包括:
[0014]对所述待校验CRC数据包进行CRC计算,得到CRC校验码;
[0015]判断所述CRC校验码是否等于预设值;
[0016]若是,则判定所述CRC校验通过;
[0017]若否,则判定所述CRC校验不通过。
[0018]可选的,当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包,包括:
[0019]对所述待校验CRC数据包进行数据宽度变换,并存储至所述FPGA的并行队列中;其中,所述并行队列的数据宽度大于所述待校验CRC数据包的数据宽度;
[0020]当所述CRC校验不通过时,对所述待校验CRC数据包进行错误定位,得到错误bit位;
[0021]基于所述错误bit位对所述并行队列中的待校验CRC数据包进行纠错处理,得到所述已纠错CRC数据包。
[0022]可选的,当所述CRC校验不通过时,对所述待校验CRC数据包进行错误定位,得到错误bit位,包括:
[0023]基于CRC纠错算法原理对每一位的错误bit数据进行计算,得到多个特征值;
[0024]将所述多个特征值与对应的bit位位置信息进行关联,得到特征值查找表;
[0025]当所述CRC校验不通过时,对所述CRC校验的CRC校验码进行计算,得到目标特征值;
[0026]基于所述目标特征值对所述特征值查找表进行查找,得到所述错误bit位。
[0027]可选的,还包括:
[0028]对所述已纠错CRC数据包进行CRC二次校验;
[0029]当所述CRC二次校验不通过时,发送纠错失败消息,并执行防错操作。
[0030]可选的,将所述已纠错CRC数据包进行输出,包括:
[0031]基于所述并行队列将所述已纠错CRC数据包进行输出。
[0032]本申请还提供一种CRC纠错装置,包括:
[0033]数据包校验模块,用于对接收到的待校验CRC数据包进行CRC校验;
[0034]数据包纠错模块,用于当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包;
[0035]数据包输出模块,用于将所述已纠错CRC数据包进行输出。
[0036]本申请还提供一种服务器,包括:
[0037]存储器,用于存储计算机程序;
[0038]处理器,用于执行所述计算机程序时实现如上所述的CRC纠错方法的步骤。
[0039]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的CRC纠错方法的步骤。
[0040]本申请所提供的一种CRC纠错方法,包括:FPGA对接收到的待校验CRC数据包进行CRC校验;当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包;将所述已纠错CRC数据包进行输出。
[0041]通过FPGA对待校验CRC数据包进行CRC校验,并在校验不通过时,基于FPGA本身的并行队列对该待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包,也就是通过并行的手段对待校验CRC数据包进行纠错处理,提高了数据数据包的处理效率,当出现较大的数据包时可以直接进行处理,而不用将该数据包进行重传避免了对带宽的占用,提高CRC纠错处理的数据量,提高大数据量的数据量的处理效率。
[0042]本申请还提供一种CRC纠错装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
[0043]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0044]图1为本申请实施例所提供的一种CRC纠错方法的流程图;
[0045]图2为本申请实施例所提供的一种CRC纠错方法的结构流程图;
[0046]图3为本申请实施例所提供的一种CRC纠错方法的特征值查找表示意图;
[0047]图4为本申请实施例所提供的一种CRC纠错方法的数据缓存示意图;
[0048]图5为本申请实施例所提供的一种CRC纠错装置的结构示意图。
具体实施方式
[0049]本申请的核心是提供一种CRC纠错方法、CRC纠错装置、服务器以及计算机可读存储介质,以提高CRC纠错处理的数据量,提高大数据量的数据量的处理效率。
[0050]为使本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CRC纠错方法,其特征在于,包括:FPGA对接收到的待校验CRC数据包进行CRC校验;当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包;将所述已纠错CRC数据包进行输出。2.根据权利要求1所述的CRC纠错方法,其特征在于,FPGA对接收到的待校验CRC数据包进行CRC校验,包括:所述FPGA通过多个时钟周期接收所述待校验CRC数据包;对所述待校验CRC数据包进行CRC校验。3.根据权利要求2所述的CRC纠错方法,其特征在于,对所述待校验CRC数据包进行CRC校验,包括:对所述待校验CRC数据包进行CRC计算,得到CRC校验码;判断所述CRC校验码是否等于预设值;若是,则判定所述CRC校验通过;若否,则判定所述CRC校验不通过。4.根据权利要求1所述的CRC纠错方法,其特征在于,当所述CRC校验不通过时,基于所述FPGA的并行队列对所述待校验CRC数据包进行并行纠错处理,得到已纠错CRC数据包,包括:对所述待校验CRC数据包进行数据宽度变换,并存储至所述FPGA的并行队列中;其中,所述并行队列的数据宽度大于所述待校验CRC数据包的数据宽度;当所述CRC校验不通过时,对所述待校验CRC数据包进行错误定位,得到错误bit位;基于所述错误bit位对所述并行队列中的待校验CRC数据包进行纠错处理,得到所述已纠错CRC数据包。5.根据权利要求4所述的CRC纠错方法,其特征在于,当所述CRC校验不通过时,对所述待...

【专利技术属性】
技术研发人员:曾廷
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1