[发明专利]计算循环冗余校验码之方法及系统无效
申请号: | 200710097966.1 | 申请日: | 2007-04-25 |
公开(公告)号: | CN101296053A | 公开(公告)日: | 2008-10-29 |
发明(设计)人: | 钟胜民;王俊尧;李晓晖 | 申请(专利权)人: | 财团法人工业技术研究院 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L1/18;H04L29/06 |
代理公司: | 北京律盟知识产权代理有限责任公司 | 代理人: | 王允方;徐永乐 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 循环 冗余 校验码 方法 系统 | ||
技术领域
本发明涉及一种计算循环冗余校验码的方法和系统。
背景技术
循环冗余校验码(Cyclic Redundancy Check;以下简称CRC)因其编码和解码都相当容易实施再加上提供强有力的错误校验能力,所以是目前计算机网络上最通用的校验码,常见的应用有数据存档(Archive)、磁盘控制器(disk controller)、以太网(Ethernet)和iSCSI等。目前计算机网络普遍应用CRC技术搭配重传机制以确保数据的正确性。
在某些网络应用中,举例来说,iSCSI(Internet Small Computer System Interface)层将待传送的数据加上其相应CRC校验码形成一个消息(message,或称为Protocol DataUnit:PDU)后交给TCP/IP层的传送端,TCP/IP传送端根据与TCP/IP接收端协议出的最大片段大小(Maximum Segment Size;MSS)会把此iSCSI消息切成数个片段(segment)分送出去。当TCP/IP接收端收到片段时,会先把它们暂存在存储器中,直到所述iSCSI消息的所有片段均收集完整后,再将所述iSCSI消息交给接收端的iSCSI层进行CRC校验,此时接收端的iSCSI必须再去存储器中读取所述iSCSI消息以进行CRC校验。由于此例中,CRC运算必须在所述iSCSI消息的所有片段都收集完整后才能进行,因此产生了一段延迟时间;另外,由于接收端的iSCSI层必须再去存储器中读取数据,因此又增加存储器总线的负担,进而影响系统的效能。上述为第一类常规接收端的CRC校验方法。
第二类常规接收端的CRC校验方法,在接收时立即对接收到的片段进行CRC运算,并将运算后的中间结果(intermediate result)累积在接收逻辑中,待接收后续片段时,再以所述中间结果继续对所述后续片段进行运算。如此方式,待所有片段均被接收到后,接收逻辑中的中间结果就是最后的CRC运算结果。第二类常规方法可参考美国专利公开案第US2006/0114909号,此类方法虽然避免了过长的延迟时间以及额外的存储器存取,但其最大问题在于所有片段必须按照顺序地被接收。由于目前网络包的路由(Routing)方式多采用不保证顺序的原则(如IP协议),因此其应用性大打折扣,再加上第二类方法在管理各网络连线的“中间结果”方面,只要网络连线数稍多就会大幅增加其设计上的复杂度,因此不利于实施。
第三类常规接收端的CRC校验方法在接收时立即对接收到的片段进行CRC运算,得到部分CRC校验码,而由部分CRC校验码可调整出其所对应的子消息的CRC校验码,待得到所有子消息的CRC校验码后,再一起合并即可得出最后结果。第三类常规方法可参考专利合作条约国际专利申请公开案第WO03/084078号、美国专利第US6,904,558号、美国专利公开案第US2003/0167440号和美国专利公开案第US2006/0009952号。其主要针对模数(modulo)的特性进行拆解,并利用有限域乘法配合查表以调整子消息的CRC校验码。
本发明提供一种创新且具有进步性的计算循环冗余校验码的方法和系统。
发明内容
本发明提供一种计算循环冗余校验码的方法,其包括以下步骤:根据消息的片段计算片段循环冗余校验码;产生第一码,所述第一码具有所述片段循环冗余校验码,所述第一码的其它位设定为零;和根据所述第一码计算调整后的循环冗余校验码。
本发明提供一种计算循环冗余校验码的系统,其包括:第一计算装置、第一码产生装置、第二计算装置。所述第一计算装置用以根据消息的片段计算片段循环冗余校验码。所述第一码产生装置用以产生第一码,所述第一码具有所述片段循环冗余校验码,所述第一码的其它位设定为零。所述第二计算装置用以根据所述第一码计算调整后的循环冗余校验码。
利用本发明的系统和方法,允许接收端在进行某消息的各片段的接收时即可直接计算所述片段的CRC校验码以及调整后的循环冗余校验码。待所述消息的所有片段均被收集完整后,再合并所计算的所述调整后的循环冗余校验码,以得到所述消息调整后的最终循环冗余校验码。由于第二计算装置可利用多种查表法完成,因而本发明的系统和方法能快速地被验证、实施在各种计算机系统中。
附图说明
图1为常规CRC运算方法的流程示意图;
图2为整个消息切成多个片段的示意图;
图3为多个子消息的示意图;
图4显示分别对多个子消息进行CRC运算的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于财团法人工业技术研究院,未经财团法人工业技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710097966.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:集成电路设计的验证方法及装置
- 下一篇:液晶显示器装置及信号传递单元与方法