一种RAM内存检测方法及装置制造方法及图纸

技术编号:9829503 阅读:136 留言:0更新日期:2014-04-01 18:30
本申请提供了一种RAM内存检测方法,包括:确定待检测RAM内存区域中的数据为原码;将对所述原码进行取反后生成的反码存入备份内存区域;若所述原码和所述反码中存在相同数据,判定所述原码中的数据存在物理损坏;否则,对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码;比较所述原码对应的原参CRC校验码和所述备份CRC校验码是否一致;若是,判定所述待检测RAM内存区域所关联的数据线无损坏或原码中的数据未被篡改;若否,判定所述待检测RAM内存区域所关联的数据线损坏或原码中的数据被篡改。因此,本申请能够检测出引起数据存储不正确的原因。

【技术实现步骤摘要】
【专利摘要】本申请提供了一种RAM内存检测方法,包括:确定待检测RAM内存区域中的数据为原码;将对所述原码进行取反后生成的反码存入备份内存区域;若所述原码和所述反码中存在相同数据,判定所述原码中的数据存在物理损坏;否则,对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码;比较所述原码对应的原参CRC校验码和所述备份CRC校验码是否一致;若是,判定所述待检测RAM内存区域所关联的数据线无损坏或原码中的数据未被篡改;若否,判定所述待检测RAM内存区域所关联的数据线损坏或原码中的数据被篡改。因此,本申请能够检测出引起数据存储不正确的原因。【专利说明】—种RAM内存检测方法及装置
本申请涉及内存检测领域,特别涉及一种RAM内存检测方法及装置。
技术介绍
目前,为了增强单片机的抗干扰及错误识别能力,防止单片机RAM(RandomAccessMemory,随机存储器)内存中的数据被篡改或丢失,需要对单片机RAM内存中的数据进行检测。目前通常采用传统CRC (循环冗余码校验,Cyclical Redundancy Check)算法,判别单片机RAM内存中的数据存储是否正确,虽然传统CRC算法能够检测出RAM内存中数据存储是否正确,却不能检测出引起数据存储不正确的原因,如数据物理损坏和单片机的数据线损坏。由上可见,目前检测单片机RAM内存中的数据存储是否正确的方法存在不能检测出弓I起数据存储不正确的原因的缺点。
技术实现思路
为解决上述技术问题,本申请实施例提供一种RAM内存检测方法及装置,以达到检测出数据物理损坏和所关联的数据线损坏的目的,技术方案如下:一种RAM内存检测方法,包括:确定待检测RAM内存区域中的数据为原码;将对所述原码进行取反后生成的反码存入备份内存区域;若所述原码和所述反码中存在相同数据,判定所述原码中的数据存在物理损坏;否则,判定所述原码中的数据不存在物理损坏,并对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码; 比较所述原码对应的原参CRC校验码和所述备份CRC校验码是否一致;若是,判定所述待检测RAM内存区域所关联的数据线无损坏或所述原码中的数据未被篡改;若否,判定所述待检测RAM内存区域所关联的数据线损坏或所述原码中的数据被篡改。优选的,所述对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码的过程,包括:按照预先设置的检测周期,读取所述备份内存区域中的全部反码;对读取到的全部反码进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码。优选的,所述对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码的过程,包括:按照待检测RAM内存区域中不同数据各自的预设检测周期,从所述备份内存区域中读取相应的反码;对读取到的相应反码进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成相应的备份CRC校验码。优选的,所述使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码的过程包括:使用16位CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码。优选的,所述使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码的过程包括:使用32位CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码。一种RAM内存检测装置,包括:确定单元,用于确定待检测RAM内存区域中的数据为原码;存入单元,用于将对所述原码进行取反后生成的反码存入备份内存区域;第一判定单元,用于若所述原码和所述反码中存在相同数据,判定所述原码中的数据存在物理损坏;第一校验单元,用于若所述原码和所述反码中不存在相同数据,对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码;比较单元,用于比较所述原码对应的原参CRC校验码和所述备份CRC校验码是否一致,若是,执行第二判定单元,若否,执行第三判定单元;第二判定单元,用于判定所述待检测RAM内存区域所关联的数据线无损坏或所述原码中的数据未被篡改;第三判定单元,用于判定所述待检测RAM内存区域所关联的数据线损坏或所述原码中的数据被篡改。优选的,所述第一校验单元包括:第一读取单元,用于按照预先设置的检测周期,读取所述备份内存区域中的全部反码;第二校验单元,用于对读取到的全部反码进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码。优选的,所述第一校验单元包括:第二读取单元,用于按照待检测RAM内存区域中不同数据各自的预设检测周期,从所述备份内存区域中读取相应的反码;第三校验单元,用于对读取到的相应反码进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成相应的备份CRC校验码。优选的,所述第一校验单元包括:第四校验单元,用于使用16位CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码。优选的,所述第一校验单元包括:第五校验单元,用于使用32位CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码。与现有技术相比,本申请的有益效果为:在本申请中,确定待检测RAM内存区域中的数据为原码,并对原码进行取反,生成的反码存入备份内存区域。在开始对待检测RAM内存区域进行检测时,首先比较备份内存区域中的反码和待检测RAM内存区域的原码是否存在相同数据,如果存在相同数据,说明原码中的某位数据进行取反运算后,未发生变化,判断数据发生了物理损坏,且反码和原码中相同的数据即为发生物理损坏的数据。若原码和反码中不存在相同数据,说明原码中数据未发生物理损坏,然后使用CRC算法生成备份CRC校验码,比较原码对应的原参CRC校验码和备份CRC校验码不一致时,说明从备份内存区域中读取到的反码发生了变化,判定待检测RAM内存区域所关联的数据线损坏或数据被篡改。可见,本申请能够检测出数据发生物理损坏或数据线损坏或数据被篡改等引起数据存储不正确的原因。【专利附图】【附图说明】为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的一种RAM内存检测方法的一种流程图;图2是本申请提供的一种RAM内存检测方法的一种子流程图;图3是本申请提供的一种RAM内存检测装置的一种结构示意图;图4是本申请提供的一种第一校验单元的一种结构示意图。【具体实施方式】 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请提供一种RAM内存检测方法,可以确定待检测RAM内存区域中的数据为本文档来自技高网...

【技术保护点】
一种RAM内存检测方法,其特征在于,包括:确定待检测RAM内存区域中的数据为原码;将对所述原码进行取反后生成的反码存入备份内存区域;若所述原码和所述反码中存在相同数据,判定所述原码中的数据存在物理损坏;否则,判定所述原码中的数据不存在物理损坏,并对从所述备份内存区域中读取到的反码,进行取反运算,使用CRC算法对进行取反运算后的数据进行校验,生成备份CRC校验码;比较所述原码对应的原参CRC校验码和所述备份CRC校验码是否一致;若是,判定所述待检测RAM内存区域所关联的数据线无损坏或所述原码中的数据未被篡改;若否,判定所述待检测RAM内存区域所关联的数据线损坏或所述原码中的数据被篡改。

【技术特征摘要】

【专利技术属性】
技术研发人员:蒋浩石磊
申请(专利权)人:重庆川仪自动化股份有限公司
类型:发明
国别省市:重庆;85

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1