基于硬件电路的数据校验方法及装置与流程

文档序号:13672611阅读:277来源:国知局

本发明涉及数据传输技术领域,尤其涉及一种基于硬件电路的数据校验方法及装置。



背景技术:

目前,半导体电路在工作中可能因为高能粒子的轰击而改变原状态。这种情况是极少的,但是在对数据可靠性要求高的应用中,这种偶发错误可能导致严重的数据丢失,因而,企业级应用的芯片通常利用数据冗余算法对数据通路进行保护,比如parity,ecc等。当偶发错误发生时,硬件可以利用数据冗余算法即时发现错误甚至可以纠正错误;但是当数据本身进行转换时,比如进行压缩或者加密,数据冗余算法无法对数据的转换过程进行保护,在转换过程中发生的错误会导致用户丢失数据。

为了保证能发现转换过程中发生的错误,现有技术中常用的方法是收到转换过的数据后,再推送到逆转换单元进行逆运算及校验,以确保转换过程中没有错误。由于在现有架构中,原始数据转换前是存在dram中的,转换单元把数据从ddrram读出后进行转换,然后把结果存入ddrram;如果要推送到逆转换单元,需要再次从ddrram读出数据推送到逆转换单元,这种架构浪费了ddrram的带宽,而且来回对ddrram的读写增加了整条数据通路的延迟。

有鉴于此,有必要提出对目前的数据校验技术进行进一步的改进。



技术实现要素:

为解决上述至少一技术问题,本发明的主要目的是提供一种基于硬件电路的数据校验方法。

为实现上述目的,本发明采用的一个技术方案为:提供一种基于硬件电路的数据校验方法,包括:

在读出原始数据后,对原始数据进行数据转换得到转换数据;

对转换数据直接进行逆运算得到逆转换数据;以及

比较原始数据与逆转换数据是否相同,并根据比较结果输出数据。

在一具体的实施例中,所述比较原始数据与逆转换数据是否相同,并根据比较结果输出数据的步骤具体包括:

比较原始内容的摘要与逆转换内容的摘要是否相同,

如果原始内容的摘要与逆转换内容的摘要相同,则输出数据;

如果原始内容的摘要与逆转换内容的摘要相同,则丢弃输出数据并反馈转换错误信息。

在一具体的实施例中,所述原始内容的摘要为转换数据的属性数据,且可跟随转换数据在数据通路上流转。

在一具体的实施例中,所述对原始数据进行数据转换得到转换数据的步骤中具体包括:

对原始数据的嵌套处理得到转换数据;

所述对转换数据直接进行逆运算得到逆转换数据的步骤中具体包括:

对转换数据进行与原始数据相反的嵌套处理得到逆转换数据。

在一具体的实施例中,所述对原始数据进行数据转换得到转换数据的步骤之后还包括:

在同一数据通路上加入有旁路控制逻辑,以同时对转换数据进行验证和逆运算操作。

为实现上述目的,本发明采用的另一个技术方案为:提供一种基于硬件电路的数据校验装置,其特征在于,所述基于硬件电路的数据校验装置包括:

转换模块,在读出原始数据后,用于对原始数据进行数据转换得到转换数据;

逆转换模块,用于对转换数据直接进行逆运算得到逆转换数据;以及

校验模块,用于比较原始数据与逆转换数据是否相同,并根据比较结果输出数据。

在一具体的实施例中,所述校验模块具体用于:

比较原始内容的摘要与逆转换内容的摘要是否相同,

如果原始内容的摘要与逆转换内容的摘要相同,则输出数据;

如果原始内容的摘要与逆转换内容的摘要相同,则丢弃输出数据并反馈转换错误信息。

在一具体的实施例中,所述原始内容的摘要为转换数据的属性数据,且可跟随转换数据在数据通路上流转。

在一具体的实施例中,所述转换模块具体用于:

对原始数据的嵌套处理得到转换数据;

所述逆转换模块具体用于:

对转换数据进行与原始数据相反的嵌套处理得到逆转换数据。

在一具体的实施例中,所述基于硬件电路的数据校验装置还包括旁路控制模块,用于在同一数据通路上加入有旁路控制逻辑,以使所述逆转换模块同时对转换数据进行验证和逆运算操作。

本发明的技术方案主要采用在读出原始数据后,对原始数据进行数据转换得到转换数据,然后对转换数据直接进行逆运算得到逆转换数据,无需来回对ddrram的读写操作,最后通过比较原始数据与逆转换数据是否相同,并根据比较结果输出数据,整个数据通路按照流水线设计来进一步优化数据通路的延迟,也即,在一个操作的最后一部分数据还在数据通路时,下一个操作的数据就可以进入数据通路,特别是当操作的数据块比较小,而转换处理需要的时间比较长时,可以在数据通路上同时执行多个操作,大大提高了硬件电路的处理效率,从而提升了整个系统的性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明第一实施例基于硬件电路的数据校验方法的方法流程图;

图2为本发明第二实施例基于硬件电路的数据校验方法的方法流程图;

图3为本发明第一实施例基于硬件电路的数据校验装置的模块方框图;

图4为本发明第二实施例基于硬件电路的数据校验装置的模块方框图;

图5为本发明第三实施例基于硬件电路的数据校验装置的模块方框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

在现有硬件电路的数据校验方法中,原始数据转换前是存在ddrram中的,cpu控制转换单元把数据从ddrram读出后进行转换,转换后的数据把结果将存入ddrram;如果要推送到逆转换单元,需要再次从ddrram读出数据再推送到逆转换单元,这种流程浪费了ddrram的带宽,过程繁琐,需要来回对ddrram的读写操作,增加了整条数据通路的延迟。,降低了读写效率。为此,本方案提供了一种基于硬件电路的数据校验方法,具体方案请参照下述实施例。

实施例一

请参照图1,在本发明实施例中,该基于硬件电路的数据校验方法,包括:

步骤s10、在读出原始数据后,对原始数据进行数据转换得到转换数据;

步骤s20、对转换数据直接进行逆运算得到逆转换数据;以及

步骤s30、比较原始数据与逆转换数据是否相同,并根据比较结果输出数据。

本实施例中,原始数据从ddrram读出,可进行转换处理,该转换处理包括加密、压缩处理等,然后对转换处理的原始数据进行逆运算,该逆运算包括与转换处理对应相反的处理,得到逆转换数据,最后通过比较原始数据与逆转换数据是否相同,在根据比较的结果判断转换数据的完整性后输出准确数据,如此,可以减少对ddrram的读写次数,提高硬件电路的数据传输性能。

本发明的技术方案主要采用在读出原始数据后,对原始数据进行数据转换得到转换数据,然后对转换数据直接进行逆运算得到逆转换数据,无需来回对ddrram的读写操作,最后通过比较原始数据与逆转换数据是否相同,并根据比较结果输出数据,整个数据通路按照流水线设计来进一步优化数据通路的延迟,也即,在一个操作的最后一部分数据还在数据通路时,下一个操作的数据就可以进入数据通路,特别是当操作的数据块比较小,而转换处理需要的时间比较长时,可以在数据通路上同时执行多个操作,大大提高了硬件电路的处理效率,从而提升了整个系统的性能。

请继续参照图1,在一具体的实施例中,所述比较原始数据与逆转换数据是否相同,并根据比较结果输出数据的步骤s30具体包括:

比较原始内容的摘要与逆转换内容的摘要是否相同,

如果原始内容的摘要与逆转换内容的摘要相同,则输出数据;

如果原始内容的摘要与逆转换内容的摘要相同,则丢弃输出数据并反馈转换错误信息。

进一步的,所述原始内容的摘要为转换数据的属性数据,且可跟随转换数据在数据通路上流转。

本实施例中,原始数据包含原始内容,同样,逆转换数据中包含逆转换内容,具体比较时,只需比较原始内容与逆转换内容的摘要,当两者的摘要相同时,则表示逆转换数据通过校验,即转换数据的完整性满足要求,此时可以输出数据;当两者的摘要不同或部分不同时,则表示逆转换数据没有通过校验,丢弃输出数据并反馈转换错误信息,以提醒注意或进行后续纠错操作。

另外,上述的原始数据的摘要是在转换前计算出来的,由于原始数据的转换和逆转换需要的时间一般较长,该摘要如果不跟随转换数据流转的话,需要另外开辟存储空间暂存这个摘要,而通过上述的方案,可以节省单独存储原始数据摘要的空间。

实施例二

请参照图2,在一具体的实施例中,所述对原始数据进行数据转换得到转换数据的步骤s10中具体包括:

对原始数据的嵌套处理得到转换数据;

所述对转换数据直接进行逆运算得到逆转换数据的步骤s20中具体包括:

对转换数据进行与原始数据相反的嵌套处理得到逆转换数据。

本实施例中,数据转换处理具体可以是先压缩处理后加密二次嵌套处理,也可以是先压缩后加密二次嵌套处理,还可以是压缩-加密-调频三次嵌套处理,对应的,数据逆运算处理具体为:解密处理后解压二次相反的嵌套处理,或先解压后解密二次相反的嵌套处理,或解调-解密-解压缩三次相反的嵌套处理。在需要多重运算的操作中,这种方法进一步节省了中间数据往返ddrram的次数,节省了系统带宽,减少了数据处理延迟。

在一具体的实施例中,所述对原始数据进行数据转换得到转换数据的步骤s10具体包括:

步骤s11、对原始数据进行压缩处理;以及

步骤s12、对压缩处理的原始数据进行加密处理;

所述对转换数据直接进行逆运算得到逆转换数据的步骤s20具体包括:

步骤s21、对转换数据进行解密处理;以及

步骤s22、对解密处理的转换数据进行解压缩处理。

可以理解的,上述的对原始数据进行压缩-加密处理的方式仅为数据转换的一种优选方案,还实际过程中还可以加入调制等处理方式;对应的,上述的对转换数据进行解密-解压缩处理的方式为数据逆运算转换的一种对应方案,还实际过程中还可以加入解调等处理方式。

实施例三

在一具体的实施例中,所述对原始数据进行数据转换得到转换数据的步骤s10之后还包括:

在同一数据通路上加入有旁路控制逻辑,以同时对转换数据进行验证和逆运算操作。例如,加密与解密的应用中,第一个操作是加密数据a,第二个操作是解密数据b。对于解密单元,第一个操作需要它对数据a加密后的结果进行解密,然后根据后续的比较逻辑计算和比较摘要。顺序的,解密时可以进行第二个操作解密数据b。这样安排的好处使解密和实时校验同时进行,节省了逻辑;另一个好处是两个操作的顺序可以按照流水线方式无缝地进入数据通路,可以最大限度地提升通路处理数据的性能。

本实施例中,还可以对转换数据进行验证,校验转换数据可以为预设数据,通过该校验步骤可以分辨出转换处理及逆运算处理中哪个环节出现故障,且该校验步骤优化数据通路的性能。

实施例一

请参照图3,本发明的实施例中,该基于硬件电路的数据校验装置,包括cpu模块10及ddrram模块20,还包括:

转换模块30,在读出原始数据后,用于对原始数据进行数据转换得到转换数据;

逆转换模块40,用于对转换数据直接进行逆运算得到逆转换数据;以及

校验模块50,用于比较原始数据与逆转换数据是否相同,并根据比较结果输出数据。

本实施例中,原始数据从ddrram模块20读出,经过转换模块30可进行转换处理,该转换处理包括加密、压缩处理等,然后经过逆转换模块40对转换处理的原始数据进行逆运算,该逆运算包括与转换处理对应相反的处理,得到逆转换数据,最后通过校验模块50比较原始数据与逆转换数据是否相同,在根据比较的结果判断转换数据的完整性后向cpu模块10输出准确数据,如此,可以减少对ddrram模块20的读写次数,提高硬件电路的数据传输性能。

在一具体的实施例中,所述校验模块50具体用于:

比较原始内容的摘要与逆转换内容的摘要是否相同,

如果原始内容的摘要与逆转换内容的摘要相同,则输出数据;

如果原始内容的摘要与逆转换内容的摘要相同,则丢弃输出数据并反馈转换错误信息。

进一步的,所述原始内容的摘要为转换数据的属性数据,且可跟随转换数据在数据通路上流转。

本实施例中,原始数据包含原始内容及其摘要,同样,逆转换数据中包含逆转换内容及其摘要,具体比较时,校验模块50只需比较原始内容与逆转换内容的摘要,可以提高cpu的处理效率,当两者的摘要相同时,则表示逆转换数据通过校验,即转换数据的完整性满足要求,此时可以输出数据;当两者的摘要不同或部分不同时,则表示逆转换数据没有通过校验,丢弃输出数据并反馈转换错误信息,以提醒注意或进行后续纠错操作。

另外,由于原始内容的摘要为转换数据的属性数据,且可跟随转换数据在数据通路上流转,因此无需开辟单独的存储空间来暂存该数据,节省存储空间资源。

实施例二

请参照图4,在一具体的实施例中,所述转换模块30具体用于:

对原始数据的嵌套处理得到转换数据;

所述逆转换模块40具体用于:

对转换数据进行与原始数据相反的嵌套处理得到逆转换数据。

本实施例中,数据转换处理具体可以是先压缩处理后加密二次嵌套处理,也可以是先压缩后加密二次嵌套处理,还可以是压缩-加密-调频三次嵌套处理,对应的,数据逆运算处理具体为:解密处理后解压二次相反的嵌套处理,或先解压后解密二次相反的嵌套处理,或解调-解密-解压缩三次相反的嵌套处理。在需要多重运算的操作中,这种方法进一步节省了中间数据往返ddrram的次数,节省了系统带宽,减少了数据处理延迟。

请参照图5,在一具体的实施例中,所述转换模块30用于:

对原始数据进行压缩处理;以及对压缩处理的原始数据进行加密处理;所述逆转换模块40用于:

对转换数据进行解密处理;以及对解密处理的转换数据进行解压缩处理。

上述的对原始数据进行压缩-加密处理的方式仅为数据转换的一种优选方案,实际过程中还可以加入调制等处理方式;对应的,上述的对转换数据进行解密-解压缩处理的方式为数据逆运算转换的一种对应方案,实际过程中还可以加入解调等处理方式。

实施例三

请参照图4和图5,在一具体的实施例中,所述基于硬件电路的数据校验装置还包括旁路控制模块60,用于在同一数据通路上加入有旁路控制逻辑,以使所述逆转换模块同时对转换数据进行验证和逆运算操作。该旁路控制模块60能在数据通路上加入旁路控制逻辑,例如,加密单元+解密单元的组合中,第一个操作是加密数据a,第二个操作是解密数据b。对于解密单元,第一个操作需要它对数据a加密后的结果进行解密,然后根据后续的比较逻辑计算和比较摘要。顺序的,解密单元可以进行第二个操作解密数据b。这样安排的好处是逆转换模块可以用于解密和实时校验两个目的,节省了逻辑;另一个好处是两个操作的顺序可以按照流水线方式无缝地进入数据通路,可以最大限度地提升链路处理数据的性能。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1