[发明专利]一种校验方法和装置有效
申请号: | 201310698647.1 | 申请日: | 2013-12-18 |
公开(公告)号: | CN103701566B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 唐川;陈宏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 校验 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种校验方法和装置。
背景技术
目前,循环冗余校验(Cyclic Redundancy Check,CRC)技术广泛应用于数据通信领域中的差错检测中。CRC可以通过软件查表或者硬件处理实现,随着高速网络的发展,对10G、20G、40G等超大流量的数据进行CRC处理已经成为趋势,对高速数据进行CRC处理一般通过硬件实现。
现有技术中,通过硬件对位宽为多个字节的并行数据进行CRC处理时,需要多个CRC电路来实现。举例来说,对于位宽为4个字节的并行数据进行CRC处理,则需要4种类型的CRC电路,分别是1个字节对应的CRC电路、2个字节对应的CRC电路、3个字节对应的CRC电路以及4个字节对应的CRC电路。
本发明的发明人对现有的校验方法进行研究发现,现有技术中当并行数据的位宽越大时所需要CRC电路也会成倍增长,这对于位宽为多个字节的并行数据进行CRC处理所需要的硬件资源较多。
发明内容
本发明实施例提供了一种校验方法和装置,用于减少对多个字节的并行数据进行CRC计算时所需要的硬件资源。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种校验方法,包括:
通过芯片的数据总线获取并行数据,所述并行数据的报文长度为L个字节,所述数据总线的位宽为N个字节,所述L和所述N都为正整数;
判断所述L除以所述N得到的余数是否等于0;
若所述L除以所述N得到的余数不等于0,在所述并行数据的头部添加P 个字节的填充数据,得到新的并行数据,所述P等于所述N减去M,所述M为所述L除以所述N得到的余数的取值;
根据所述L除以所述N得到的余数计算与位宽为所述N相对应的循环冗余校验CRC电路的初始值,所述初始值使得用与位宽为所述N相对应的CRC电路和与位宽为所述M相对应的CRC电路分别进行CRC计算后输出的结果相等;
根据所述与位宽为所述N相对应的CRC电路的初始值对所述新的并行数据进行CRC计算。
结合第一方面,在第一方面的第一种可能的实现方式中,所述通过芯片的数据总线获取并行数据之后,还包括:
对所述并行数据的尾部和所述数据总线进行对齐。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述判断所述L除以所述N得到的余数是否等于0之后,还包括:
若所述L除以所述N得到的余数等于0,根据与位宽为所述N相对应的CRC电路的预置初始值对所述并行数据进行CRC计算。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,当所述L除以所述N得到的余数等于0时,对所述并行数据进行CRC计算所使用的CRC电路的预置初始值为N个字节的1或N个字节的0。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述P个字节的填充数据为P个字节的0。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述L除以所述N得到的余数计算与位宽为所述N相对应的循环冗余校验CRC电路的初始值,包括:
根据预置数据的每个比特信息和预置初始值获取与位宽为所述M相对应的CRC电路的每个比特的输出结果;
根据所述预置数据的每个比特信息和待定初始值获取与位宽为所述N相对应的CRC电路的每个比特的输出结果;
在与位宽为所述N相对应的CRC电路和与位宽为所述M相对应的CRC 电路分别进行CRC计算后每个比特的输出结果都相等的情况下,计算所述与位宽为所述M相对应的CRC电路的预置初始值、所述与位宽为所述N相对应的CRC电路的待定初始值组成的方程组,求解出所述待定初始值,所述待定初始值即为所述与位宽为所述N相对应的CRC电路的初始值。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据预置数据的每个比特信息和预置初始值获取与位宽为所述M相对应的CRC电路的每个比特的输出结果,包括:
通过如下方式计算与位宽为所述M相对应的CRC电路的第x个比特的输出结果next_crc_M[x]:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310698647.1/2.html,转载请声明来源钻瓜专利网。