[发明专利]计算循环冗余校验CRC编码的方法及装置有效

专利信息
申请号: 201810433230.5 申请日: 2018-05-08
公开(公告)号: CN108574490B 公开(公告)日: 2022-05-10
发明(设计)人: 林宪正;张进毅;王工艺;沈建强 申请(专利权)人: 华为技术有限公司;中国科学技术大学
主分类号: H03M13/09 分类号: H03M13/09
代理公司: 暂无信息 代理人: 暂无信息
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 计算 循环 冗余 校验 crc 编码 方法 装置
【说明书】:

一种计算循环冗余校验CRC编码方案,在本方案中,基于本源多项式的倍式对信息序列进行处理,将处理后的信息序列基于本源多项式计算CRC编码。

技术领域

发明涉及信息技术领域,更具体地,涉及一种计算循环冗余校验CRC编码的方法及装置。

背景技术

在存储系统中,循环冗余校验(Cyclic Redundancy Check,CRC)编码是一种循环码,在存储系统中的CRC编码通常使用基于伽罗华域GF(2)的本源多项式设计CRC编码方案。CRC编码原理:假设一个L比特的信息序列(信息取值为0或1),aL-1,aL-2,…,a0,其中信息序列可以为待处理的数据,比如待存储或发送的数据,L-比特的信息序列表示成一个多项式:

C(x)=aL-1x^(L-1)+aL-2x^(L-2)+aL-3x^(L-3)+…+a0。其中al-1是信息序列的最高有效位(Most Significant Bit,MSB),a0是信息序列的最低有效位(Least SignificantBit,LSB),x^(L-1)表示X的L-1次幂或X的L-1次方。

另外,m阶本原多项式G(m)为:

G(x)=gmx^m+gm-1x^(m-1)+gm-2x^(m-2)+…+g0

则,

计算C(x)的编码可以表示为:CRC(C(x))=C(x)*x^m mod G(x)

从上面的式子可以看出,CRC编码表示的是C(x)*x^m除以另一个固定的数G(x)之后的余数,其中表示数学运算符号中的“乘”。

在存储系统中,为了对有效数据进行检错,存储系统会对数据进行CRC编码,从而数据在存储或传输过程中发生错误后,存储系统能快速的进行数据一致性校验,因此CRC编码是存储系统中的常用特性。

现有技术中采用流水线(pipeline)的方式结合查表法对数据进行CRC编码,如图1所示:

a)把数据分成若干个段(segment),如segment0至SegmentN,其中N为不小于1的自然数。

b)对每个段单独进行CRC编码,分别得到crc0至crcN。

c)将每个段编码得到的crc和特定的常量系数(Constant)进行无进位乘法(Carry-less Multiplication,CLMUL)。如将crc0与Constant0进行CLMUL,将crc1与Constant1进行CLMUL,……,将crcN与ConstantN进行CLMUL。

d)将每个段的CLMUL结果进行CRC编码,分别得到C0,C1,C2,……,CN。

e)将C0,C1,C2,……,CN进行异或(Exclusive OR,XOR),得到最终的CRC编码CRCF。

然而,现有技术CRC编码方式的步骤b和d中的CRC编码操作需要大量的移位和异或运行,增加了计算的复杂度,需要消耗大量的计算资源,从而影响了CRC编码的效率与性能。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学技术大学,未经华为技术有限公司;中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810433230.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top