[发明专利]一种并行CRC校验码的计算方法及系统有效
申请号: | 201710128854.1 | 申请日: | 2017-03-06 |
公开(公告)号: | CN107239362B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 梁利平;王志君;张笑铭 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并行 crc 校验码 计算方法 系统 | ||
1.一种并行CRC校验码的计算方法,其特征在于,用于计算待生成数据data=[dk-1 dk-2dk-3 … d0]的CRC校验码,所述并行CRC校验码的计算方法包括:
S101:获取生成多项式poly=[pn-1 pn-2 pn-3 … p0]和并行度w;
S102:利用所述生成多项式生成第一临时矩阵temp;其中,
S103:利用所述生成多项式生成第二临时矩阵
S104:利用所述待生成数据中未处理数据的前w位生成中间系数向量
S105:将所述中间系数向量与所述第一临时矩阵按列作与运算,获得第一中间矩阵
S106:将所述第一中间矩阵的列向量按列依次进行缩减异或运算,获得第二中间矩阵factor=[fn-1 fn-2 fn-3 … f0];
S107:将所述第二中间矩阵按位依次与所述第二临时矩阵中的列向量作与运算,获得第三中间矩阵
S108:将所述第三中间矩阵的所有列作按位异或运算,获得校验向量判断所述待生成数据中未处理数据是否为零,如果是,则将所述校验向量作为所述待生成数据的CRC校验码;如果否,则利用所述校验向量更新所述中间系数向量的前n行,利用所述待生成数据中未处理数据的前w位更新所述中间系数向量的后w行,并返回将所述中间系数向量与所述第一临时矩阵按列作与运算,获得第一中间矩阵的步骤。
2.根据权利要求1所述的方法,其特征在于,步骤S108包括:
将所述第三中间矩阵的所有列作按位异或运算,获得校验向量判断所述待生成数据中未处理数据是否为零,如果是,则将所述校验向量作为所述待生成数据的CRC校验码;如果否,则判断所述待生成数据中未处理数据的位数是否小于或等于所述并行度,若否,则返回将所述中间系数向量与所述第一临时矩阵按列作与运算,获得第一中间矩阵的步骤,若是,则利用所述待生成数据中未处理数据和所述校验向量对所述中间系数向量进行修正,并返回将所述中间系数向量与所述第一临时矩阵按列作与运算,获得第一中间矩阵的步骤。
3.根据权利要求2所述的方法,其特征在于,所述利用所述待生成数据中未处理数据和所述校验向量对所述中间系数向量进行修正包括:
将所述待生成数据中未处理数据倒序赋予所述中间系数向量的最后M行,M的取值与所述待生成数据中未处理数据的位数相同;
将所述校验向量中的数据赋予所述中间系数向量的倒数M+1至倒数M+n行;
将所述中间系数向量的前w-M行用零填充。
4.根据权利要求1所述的方法,其特征在于,所述获取生成多项式poly=[pn-1 pn-2 pn-3… p0]和并行度w之后,所述利用所述生成多项式生成第一临时矩阵temp之前还包括:
S1012:判断获取的并行度是否大于所述待生成数据位数与所述生成多项式位数的和,如果是,则将所述待生成数据位数与所述生成多项式位数的和作为所述并行度;如果否,则判断获取的并行度是否小于1,若是,则将1作为所述并行度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710128854.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理装置及数据处理方法
- 下一篇:一种访问存储设备的方法及装置