一种通信数据包纠错校验方法与装置制造方法

文档序号:7796456阅读:155来源:国知局
一种通信数据包纠错校验方法与装置制造方法
【专利摘要】一种通信数据包纠错校验方法与装置,通信数据包包括初始数据包与纠错数据包,其中初始数据包包括N个初始数据块,且N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,纠错数据包包括与N个初始数据块一一对应的N个纠错数据块,接收端根据第一校验数据块对第一有效数据块进行第一校验操作,若第一校验正确,则对第一有效数据块进行处理,否则,接收端根据纠错数据包对初始数据包进行纠错操作,获得纠正数据包,所述纠正数据包包括N-1个第二有效数据块与一个第二校验数据块,接收端根据第二校验数据块对第二有效数据块进行第二校验操作,若第二校验正确,则对第二有效数据块进行处理;否则接收端丢弃并请求重新发送所述通信数据包。
【专利说明】一种通信数据包纠错校验方法与装置
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种通信数据包纠错校验方法与装置。
【背景技术】
[0002]在通信方法中,通常在每一个有效数据块之后,附缀与其相对应的纠错数据块,实现对当前有效数据块的校验和纠错,所述有效数据块与相应的纠错数据块共同构成通信数据块,一系列通信数据块共同构成通信数据包。然而上述通信数据包在数据传输过程中,若某一纠错数据块出现错误,则该纠错数据块会对与其对应的有效数据块进行错误的纠正操作,导致原本正确的有效数据块出错,从而致使通信失败。

【发明内容】

[0003]为了解决上述问题,本发明提出一种通信数据包纠错校验方法,包括以下步骤:
[0004]接收端接收所述通信数据包,其中所述通信数据包至少包括初始数据包和纠错数据包,其中所述初始数据包包括N个初始数据块,且所述N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,N > 2,所述接收端接收到所述通信数据包后,提取所述通信数据包中的所述第一校验数据块,并根据所述第一校验数据块对所述N-1个第一有效数据块进行第一校验操作,若所述第一校验操作校验正确,则对接收端所述N-1个第一有效数据块进行处理操作;若所述第一校验操作校验错误,则所述接收端提取所述通信数据包中的所述纠错数据包,并根据所述纠错数据包对所述初始数据包进行纠错操作,获得纠正数据包,所述纠正数据包包括N-1个第二有效数据块与一个第二校验数据块,所述接收端根据所述第二校验数据块对所述N-1个第二有效数据块进行第二校验操作,若所述第二校验操作校验正确,则接收端对所述N-1个第二有效数据块进行处理操作;若所述第二校验操作校验错误,则所述接收端丢弃`并请求重新发送所述通信数据包。
[0005]此外,所述校验数据块为CRC循环冗余校验数据块、BBC异或校验数据块或LRC纵向冗余校验数据块。
[0006]此外,所述纠错数据包为ECC错误检查纠正数据包、SEC/DED错误检查纠正数据包或Chipkill错误检查纠正数据包。
[0007]此外,所述纠错数据块为ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipkill错误检查纠正数据块。
[0008]本发明还提出一种通信数据包纠错校验装置,其特征在于,包括:
[0009]接收模块,用于接收所述通信数据包,其中所述通信数据包至少包括初始数据包和纠错数据包,其中所述初始数据包包括N个初始数据块,且所述N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,N ^ 2 ;提取模块,与所述接收模块相连,用于所述接收模块接收到所述通信数据包后,提取所述通信数据包中的所述第一校验数据块和所述第一有效数据块,还用于当校验模块进行第一校验操作校验错误时提取所述纠错数据包,还用于当纠错模块生成纠正数据包后提取所述纠正数据包中的第二校验数据块和第二有效数据块;校验模块,与所述提取模块相连,用于根据所述第一校验数据块对所述N-1个第一有效数据块进行第一校验操作,还用于根据第二校验数据块对N-1个第二有效数据块进行第二校验操作;处理模块,与所述校验模块相连,用于当所述校验模块进行第一校验操作校验正确时对所述N-1个第一有效数据块进行处理操作,还用于当所述校验模块进行第二校验操作校验正确时对所述N-1个第二有效数据块进行处理操作,还用于当所述校验模块进行第二校验操作错误时,丢弃并请求重新发送所述通信数据包;纠错模块,与所述提取模块和所述校验模块相连,用于根据所述纠错数据包对所述初始数据包进行纠错操作,获得纠正数据包,所述纠正数据包包括N-1个第二有效数据块与一个第二校验数据块。
[0010]此外,所述校验数据块为CRC循环冗余校验数据块、BBC异或校验数据块或LRC纵向冗余校验数据块。
[0011]此外,所述纠错数据包为ECC错误检查纠正数据包、SEC/DED错误检查纠正数据包或Chipkill错误检查纠正数据包。
[0012]此外,所述纠错数据块为ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipkill错误检查纠正数据块。
[0013]综上所述,本发明将通信数据包分为初始数据包与纠错数据包,其中初始数据包包括N-1个有效数据块与一个校验数据块,校验数据对有效数据进行校验,若校验正确,那么即使纠错数据包在传输过程中出错也不会影响通信数据包中有效数据的正确性;若校验失败,接收端通过调用纠错数据包对初始数据包进行纠错,获得纠正数据包,从而获得正确的有效数据。因此,在数据传输过程中,纠错数据包的数据错误不会影响通信数据包中的有效数据。
【专利附图】

【附图说明】
[0014]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0015]图1是本发明实施例提供的通信数据包纠错校验方法流程图;
[0016]图2是本发明实施例提供的通信数据包数据结构示意图;
[0017]图3是本发明实施例提供的通信数据包纠错校验装置结构示意图。
【具体实施方式】
[0018]下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0019]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
[0020]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0021]本发明的核心是,通信数据包包括初始数据包与纠错数据包,所述初始数据包包括N个初始数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,接收端接收到通信数据包后,根据初始数据包中的第一校验数据块对初始数据包中的第一有效数据块进行第一校验操作,若校验正确,则读取并执行第一有效数据,否则,接收端根据错误检查纠正数据包对初始数据包进行纠错操作,获得纠正数据包,所述纠正数据包,接收端根据纠正数据包中的第二校验数据对纠正数据包中的第二有效数据进行第二校验操作,若校验正确,则读取并执行第二有效数据;否则,接收端丢弃并请求重新发送所述通信数据包。
[0022]下面将结合附图对本发明实施例作进一步地详细描述。
[0023]图1是本发明实施例通信数据包纠错校验方法的流程图,图2是本发明实施例提供的通信数据包数据结构示意图,如图1所示,该方法包括如下步骤:
[0024]SI,接收端接收通信数据包;
[0025]上述接收端可以为通信服务器或主机或客户端,如图2所示,所述通信数据包至少包括初始数据包和纠错数据包,其中所述初始数据包包括N个初始数据块,且所述N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,NS 2。所述第一校验数据块与N-1个第一有效数据块对应,用于校验所述第一有效数据是否正确,所述纠错数据包与所述初始数据包对应,用于纠正校验出错的初始数据包。其中,所述校验数据块为CRC循环冗余校验数据块、BBC异或校验数据块或LRC纵向冗余校验数据块;所述纠错数据包为ECC错误检查纠正数据包、SEC/DED错误检查纠正数据包或Chipkill错误检查纠正数据包,所述纠错数据块为ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipki 11错误检查纠正数据块。所述纠错数据包可包括一种类型的纠错数据块,例如,所有纠错数据包包括的纠错数据块均为ECC错误检查纠正数据块;纠错数据包还可包括不同类型的纠错数据块,例如,可以同时包括ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipkill错误检查纠正数据块中的两种或三种。
[0026]S2,接收端根据第一校验数据块对第一有效数据块进行第一校验操作;
[0027]所述接收端提取初始数据包中的第一校验数据块,并根据所述第一校验数据块对所述N-1个第一有效数据块进行第一校验操作,所述第一校验操作包括:接收端根据CRC循环冗余校验数据块对第一有效数据块进行循环冗余校验操作,根据BBC异或校验数据块对第一有效数据块进行异或校验操作或根据LRC纵向冗余校验数据块对第一有效数据块进行纵向冗余校验操作。
[0028]S3,若所述第一校验操作校验正确,则接收端对所述N-1个第一有效数据块进行处理操作;
[0029]S4,若所述第一校验操作校验错误,则所述接收端执行纠错操作;
[0030]所述接收端提取所述通信数据包中的所述纠错数据包,并根据所述纠错数据包对所述初始数据包进行纠错操作,由图2所示,所述纠错数据包由N个纠错数据块组成,所述N个纠错数据块与N个初始数据块一一对应,若所述第一校验操作校验结果为错误,则接收端根据每个纠错数据块对与其对应的初始数据块一一进行纠错操作,所述纠错操作包括:接收端根据ECC错误检查纠正数据包对所述初始数据包进行ECC错误检查纠正操作、根据SEC/DED错误检查纠正数据包对所述初始数据包进行SEC/DED错误检查纠正操作或根据Chipkill错误检查纠正数据包对所述初始数据包进行Chipkill错误检查纠正操作。
[0031]S5,接收端对初始数据包进行纠错操作获得纠正数据包,
[0032]接收端根据所述N个纠错数据块依次对所述N个初始数据块进行纠错操作,得到N个纠正数据块,所述纠错操作包括:接收端读取第i初始数据块与第i纠错数据块,利用纠错算法根据所述第i初始数据块与所述第i纠错数据块生成第i纠正数据块并进行保存,O< i ( N,所述N个纠正数据块包括N-1个第二有效数据块与一个第二校验数据块,所述N个纠正数据块共同组成所述纠正数据包;
[0033]S6,接收端根据第二校验数据块对第二有效数据块进行第二校验操作;
[0034]所述接收端提取纠正数据包中的第二校验数据块,并根据所述第二校验数据块对所述N-1个第二有效数据块进行第二校验操作,所述第二校验操作包括:接收端根据CRC循环冗余校验数据块对第二有效数据块进行循环冗余校验操作,根据BBC异或校验数据块对第二有效数据块进行异或校验操作或根据LRC纵向冗余校验数据块对第二有效数据块进行纵向冗余校验操作。
[0035]S7,若所述第二校验操作校验正确,则接收端对所述N-1个第二有效数据块进行处理操作;
[0036]S8,若所述第二校验操作校验错误,则接收端丢弃并请求重新发送所述通信数据包,
[0037]接收端获得第二校验操作结果为错误后,丢弃当前通信数据包,并发送当前通信数据包请求信息;
[0038]上述过程中,将通信数据包分为初始数据包与纠错数据包,其中初始数据包包括N-1个有效数据块与一个校验数据块,校验数据对有效数据进行校验,若校验正确,那么即使纠错数据包在传输过程中出错也不会影响通信数据包中有效数据的正确性;若校验失败,接收端通过调用纠错数据包对初始数据包进行纠错,获得纠正数据包,从而获得正确的有效数据。因此,在数据传输过程中,纠错数据包的数据错误不会影响通信数据包中的有效数据。
[0039]图3是本发明实施例提供的通信数据包纠错校验装置结构示意图,如图3所示,装置包括:
[0040]接收模块,用于接收所述通信数据包,其中所述通信数据包至少包括初始数据包和纠错数据包,其中所述初始数据包包括N个初始数据块,且所述N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,N ^ 2,所述第一校验数据块与N-1个第一有效数据块对应,用于校验所述第一有效数据是否正确,所述纠错数据包与所述初始数据包对应,用于纠正校验出错的初始数据包。其中,所述校验数据块为CRC循环冗余校验数据块、BBC异或校验数据块或LRC纵向冗余校验数据块;所述纠错数据包为ECC错误检查纠正数据包、SEC/DED错误检查纠正数据包或Chipkill错误检查纠正数据包,所述纠错数据块为ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipkill错误检查纠正数据块。所述纠错数据包也可以同时包括ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipkill错误检查纠正数据块中的两种或三种。
[0041]提取模块,与所述接收模块相连,用于所述接收模块接收到所述通信数据包后,提取所述通信数据包中的所述第一校验数据块和所述第一有效数据块,还用于当校验模块进行第一校验操作校验错误时提取所述纠错数据包,还用于当纠错模块生成纠正数据包后提取所述纠正数据包中的第二校验数据块和第二有效数据块;
[0042]校验模块,与所述提取模块相连,用于根据所述第一校验数据块对所述N-1个第一有效数据块进行第一校验操作,所述第一校验操作包括:接收端根据CRC循环冗余校验数据块对第一有效数据块进行循环冗余校验操作,根据BBC异或校验数据块对第一有效数据块进行异或校验操作或根据LRC纵向冗余校验数据块对第一有效数据块进行纵向冗余校验操作;还用于根据第二校验数据块对N-1个第二有效数据块进行第二校验操作,所述第二校验操作包括:接收端根据CRC循环冗余校验数据块对第二有效数据块进行循环冗余校验操作,根据BBC异或校验数据块对第二有效数据块进行异或校验操作或根据LRC纵向冗余校验数据块对第二有效数据块进行纵向冗余校验操作;
[0043]处理模块,与所述校验模块相连,用于当所述校验模块进行第一校验操作校验正确时对所述N-1个第一有效数据块进行处理操作,还用于当所述校验模块进行第二校验操作校验正确时对所述N-1个第二有效数据块进行处理操作,所述处理操作包括:对第一有效数据块或第二有效数据块进行存储、读取或执行操作;还用于当所述校验模块进行第二校验操作错误时,丢弃并请求重新发送所述通信数据包;
[0044]纠错模块,与所述提取模块和所述校验模块相连,用于根据所述纠错数据包对所述初始数据包进行纠错操作,得到N个纠正数据块,所述纠错操作包括:接收端读取第i初始数据块与第i纠错数据块,利用纠错算法根据所述第i初始数据块与所述第i纠错数据块生成第i纠正数据块并进行保存,O < i < N,所述N个纠正数据块包括N-1个第二有效数据块与一个第二校验数据块,所述N个纠正数据块共同组成所述纠正数据包。
[0045]上述装置中,校验模块根据校验数据对有效数据进行校验,若校验正确,那么即使纠错数据包在传输过程中出错也不会影响通信数据包中有效数据的正确性;若校验失败,纠错模块根据纠错数据包对初始数据包进行纠错,获得纠正数据包,从而获得正确的有效数据。因此,在数据传输过程中,纠错数据包的数据错误不会影响通信数据包中的有效数据。
[0046]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0047]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0048]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0049]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0050]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0051]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0052]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种通信数据包纠错校验方法,其特征在于,包括以下步骤: 接收端接收所述通信数据包,其中所述通信数据包至少包括初始数据包和纠错数据包,其中所述初始数据包包括N个初始数据块,且所述N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,2, 所述接收端接收到所述通信数据包后,提取所述通信数据包中的所述第一校验数据块,并根据所述第一校验数据块对所述N-1个第一有效数据块进行第一校验操作,若所述第一校验操作校验正确,则接收端对所述N-1个第一有效数据块进行处理操作;若所述第一校验操作校验错误,则所述接收端提取所述通信数据包中的所述纠错数据包,并根据所述纠错数据包对所述初始数据包进行纠错操作,获得纠正数据包,所述纠正数据包包括N-1个第二有效数据块与一个第二校验数据块; 所述接收端根据所述第二校验数据块对所述N-1个第二有效数据块进行第二校验操作,若所述第二校验操作校验正确,则接收端对所述N-1个第二有效数据块进行处理操作;若所述第二校验操作校验错误,则所述接收端丢弃并请求重新发送所述通信数据包。
2.根据权利要求1所述的方法,其特征在于,所述校验数据块为CRC循环冗余校验数据块、BBC异或校验数据块或LRC纵向冗余校验数据块。
3.根据权利要求1所述的方法,其特征在于,所述纠错数据包为ECC错误检查纠正数据包、SEC/DED错误检查纠正数据包或Chipkill错误检查纠正数据包。
4.根据权利要求1或3所 述的方法,其特征在于,所述纠错数据块为ECC错误检查纠正数据块、SEC/DED错误检查纠正数据块或Chipkill错误检查纠正数据块。
5.一种通信数据包纠错校验装置,其特征在于,包括: 接收模块,用于接收所述通信数据包,其中所述通信数据包至少包括初始数据包和纠错数据包,其中所述初始数据包包括N个初始数据块,且所述N个初始数据块包括N-1个第一有效数据块与一个第一校验数据块,所述纠错数据包包括N个纠错数据块,所述N个纠错数据块与所述N个初始数据块一一对应,N^2; 提取模块,与所述接收模块相连,用于所述接收模块接收到所述通信数据包后,提取所述通信数据包中的所述第一校验数据块和所述第一有效数据块,还用于当校验模块进行第一校验操作校验错误时提取所述纠错数据包,还用于当纠错模块生成纠正数据包后提取所述纠正数据包中的第二校验数据块和第二有效数据块; 校验模块,与所述提取模块相连,用于根据所述第一校验数据块对所述N-1个第一有效数据块进行第一校验操作,还用于根据第二校验数据块对N-1个第二有效数据块进行第二校验操作; 处理模块,与所述校验模块相连,用于当所述校验模块进行第一校验操作校验正确时对所述N-1个第一有效数据块进行处理操作,还用于当所述校验模块进行第二校验操作校验正确时对所述N-1个第二有效数据块进行处理操作,还用于当所述校验模块进行第二校验操作错误时,丢弃并请求重新发送所述通信数据包; 纠错模块,与所述提取模块和所述校验模块相连,用于根据所述纠错数据包对所述初始数据包进行纠错操作,获得纠正数据包,所述纠正数据包包括N-1个第二有效数据块与一个第二校验数据块。
6.根据权利要求5所述的方法,其特征在于,所述校验数据块为CRC循环冗余校验数据块、BBC异或校验数据块或LRC纵向冗余校验数据块。
7.根据权利要求5所述的方法,其特征在于,所述纠错数据包为ECC错误检查纠正数据包、SEC/DED错误检查纠正数据包或Chipkill错误检查纠正数据包。
8.根据权利要求5或7所述的方法,其特征在于,所述纠错数据块为ECC错误检查纠正数据块、SEC/DED错误检查纠 正数据块或Chipkill错误检查纠正数据块。
【文档编号】H04L1/00GK103763067SQ201410041241
【公开日】2014年4月30日 申请日期:2014年1月28日 优先权日:2014年1月28日
【发明者】李东声 申请人:天地融科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1