发明内容
本申请所要解决的技术问题是提供一种可变存储器校验的方法及系统,解决了现有技术中采用检测板法不能检测出存储单元之间的串扰,只能达到低有效的诊断覆盖率的问题和采用走步检测法操作起来比较复杂的问题。
其具体方案如下:
一种可变存储器校验的方法,该方法包括:
获取目标存储区域中当前校验单元的首地址和对应的数据;
存储所述目标存储区域中当前校验单元的首地址和对应的数据;
对所述当前校验单元之前的所有单元进行CRC校验,返回第一个CRC校验值;
对所述当前校验单元之后的所有单元进行CRC校验,返回第二个CRC校验值;
对所述当前校验单元中的当前数据位进行走步操作;
对所述当前校验单元之前的所有单元进行CRC校验,返回第三个CRC校验值;
对所述当前校验单元之后的所有单元进行CRC校验,返回第四个CRC校验值;
比较所述第一个CRC校验值和所述第三个CRC校验值,当所述第一个CRC校验值和所述第三个CRC校验值一致时,比较所述第二个CRC校验值和所述第四个CRC校验值,当所述第二个CRC校验值和所述第四个CRC校验值一致时,对所述当前数据位的下一位进行走步操作,依次执行所述校验操作和所述比较操作,直到所述当前校验单元中的所有数据位均校验完毕;
根据所述存储的当前校验单元的首地址,将所述存储的当前校验单元的数据重新保存到所述当前校验单元中;
按照上述的方法依次校验所述目标存储区域中的所有校验单元。
上述的方法,优选的,
在所述获取目标存储区域中当前校验单元的首地址和对应的数据之前,还包括:
确定待检测的目标存储区域;
获取所述目标存储区域的首地址和所述目标存储区域的数据长度。
上述的方法,优选的,还包括:
当比较的两个校验值不一致时报错,并结束校验。
上述的方法,优选的,
所述对当前校验单元中的当前数据位进行走步操作为:
对所述当前校验单元中的当前数据位进行走1或走0操作。
上述的方法,优选的,
所述对当前校验单元之前的所有单元进行CRC校验,包括:
根据所述目标存储区域的首地址和数据位的长度,在预设参考表中查找所述之前的所有单元对应的CRC值;
返回所述查找到的CRC值。
一种可变存储器校验的系统,该系统包括:
第一获取单元,用于获取目标存储区域中当前校验单元的首地址和对应的数据;
存储单元,用于存储所述目标存储区域中当前校验单元的首地址和对应的数据;
第一校验单元,用于对所述当前校验单元之前的所有单元进行CRC校验,返回第一个CRC校验值;
第二校验单元,用于对所述当前校验单元之后的所有单元进行CRC校验,返回第二个CRC校验值;
走步单元,用于对所述当前校验单元中的当前数据位进行走步操作;
第三校验单元,用于对所述当前校验单元之前的所有单元进行CRC校验,返回第三个CRC校验值;
第四校验单元,用于对所述当前校验单元之后的所有单元进行CRC校验,返回第四个CRC校验值;
比较单元,用于比较所述第一个CRC校验值和所述第三个CRC校验值,当所述第一个CRC校验值和所述第三个CRC校验值一致时,比较所述第二个CRC校验值和所述第四个CRC校验值,当所述第二个CRC校验值和所述第四个CRC校验值一致时,对所述当前数据位的下一位进行走步操作,依次执行所述校验操作和所述比较操作,直到所述当前校验单元中的所有数据位均校验完毕;
保存单元,用于根据所述存储的当前校验单元的首地址,将所述存储的当前校验单元的数据重新保存到所述当前校验单元中;
重复单元,用于按照上述的方法依次校验所述目标存储区域中的所有校验单元。
上述的系统,优选的,还包括:
确定单元,用于确定待检测的目标存储区域;
第二获取单元,用于获取所述目标存储区域的首地址和所述目标存储区域的数据长度。
上述的系统,优选的,还包括:
报错单元,用于当比较的两个校验值不一致时报错,并结束校验。
上述的系统,优选的,包括:
查找单元,用于根据所述目标存储区域的首地址和数据位的长度,在预设参考表中查找所述之前的所有单元对应的CRC值;
返回单元,用于返回所述查找到的CRC值。
本申请提供的一种可变存储器校验的方法中,在对当前校验单元按数据位进行走步操作之前,需要将所述当前校验单元之前的所有单元看做一个整体,对所述当前校验单元之前的所有单元进行CRC校验,返回第一个CRC校验值,然后将所述当前校验单元之后的所有单元看做一个整体,对所述当前校验单元之后的所有单元进行CRC校验,返回第二个CRC校验值,在对当前校验单元按数据位进行走步操作时,还需要将所述当前校验单元之前的所有单元看做一个整体,对所述当前校验单元之前的所有单元进行CRC校验,返回第三个CRC校验值,然后将所述当前校验单元之后的所有单元看做一个整体,对所述当前校验单元之后的所有单元进行CRC校验,返回第四个CRC校验值,然后分别比较第一个CRC校验值和所述第三个CRC校验值,当所述CRC比较所述第一个CRC校验值和所述第三个CRC校验值,当所述第一个CRC校验值和所述第三个CRC校验值一致时,比较所述第二个CRC校验值和所述第四个CRC校验值,当所述第二个CRC校验值和所述第四个CRC校验值一致时,对所述当前数据位的下一位进行走步操作,依次执行所述校验操作和所述比较操作,直到所述当前校验单元中的所有数据位均校验完毕;根据所述存储的当前校验单元的首地址,将所述存储的当前校验单元的数据重新保存到所述当前校验单元中;然后按照上述对当前校验单元进行校验的方法,依次校验所述所述目标存储区域中的所有校验单元,直到所述所有校验单元均校验完毕即可,此方法能够有效的检测出存储单元之间的串扰问题,又不会改变存储单元的内容,能够达到高有效的诊断覆盖率。
具体实施方式
本发明的核心是提供一种可变存储器校验的方法及系统,解决了现有技术中采用检测板法不能检测出存储单元之间的串扰,只能达到低有效的诊断覆盖率的问题和采用走步检测法操作起来比较复杂的问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,示出了本申请一种可变存储器校验的方法实施例1的流程图,可以包括以下步骤:
步骤S101:获取目标存储区域中当前校验单元的首地址和对应的数据。
本申请中,在后续对达到当前校验单元进行走步操作时,需要改变所述当前校验单元中的内容,那么需要在对所述当前校验单元进行校验之前,获取所述当前校验单元的首地址和对应的数据。
步骤S102:存储所述目标存储区域中当前校验单元的首地址和对应的数据。
将所述当前校验单元的首地址和对应的数据保存起来,以便后续恢复所述当前校验单元中的数据时使用。
步骤S103:对所述当前校验单元之前的所有单元进行CRC校验,返回第一个CRC校验值。
将所述当前校验单元之前的所有单元作为一个整体,对所述当前校验单元之前的所有单元进行CRC校验,根据所述目标存储区域的首地址和数据位的长度,在预设参考表中查找所述之前的所有单元对应的第一个CRC值,并返回所述第一个CRC值。
本申请中,所述CRC校验可以是CRC-8位校验,也可以是CRC-16为校验,还可以是CRC-32位校验。
步骤S104:对所述当前校验单元之后的所有单元进行CRC校验,返回第二个CRC校验值。
将所述当前校验单元之后的所有单元作为一个整体,对所述当前校验单元之后的所有单元进行CRC校验,根据所述目标存储区域的首地址和数据位的长度,在预设参考表中查找所述之后的所有单元对应的第二个CRC值,并返回所述第二个CRC值。
步骤S105:对所述当前校验单元中的当前数据位进行走步操作。
所述对当前校验单元中的当前数据位进行走步操作为:
对所述当前校验单元中的当前数据位进行走1或走0操作。
步骤S106:对所述当前校验单元之前的所有单元进行CRC校验,返回第三个CRC校验值。
步骤S107:对所述当前校验单元之后的所有单元进行CRC校验,返回第四个CRC校验值。
步骤S108:比较所述第一个CRC校验值和所述第三个CRC校验值,当所述第一个CRC校验值和所述第三个CRC校验值一致时,比较所述第二个CRC校验值和所述第四个CRC校验值,当所述第二个CRC校验值和所述第四个CRC校验值一致时,对所述当前数据位的下一位进行走步操作,依次执行所述校验操作和所述比较操作,直到所述当前校验单元中的所有数据位均校验完毕。
所述当前校验单元中的数据位的位数与采用的CPU的位数相一致,当所述CPU位数为8位时,所述当前校验单元中的数据位的位数也为8位。
步骤S109:根据所述存储的当前校验单元的首地址,将所述存储的当前校验单元的数据重新保存到所述当前校验单元中。
步骤S110:按照上述的方法依次校验所述目标存储区域中的所有校验单元。
按照上述对当前校验单元进行校验的方法,依次校验所述所述目标存储区域中的所有校验单元,直到所述所有校验单元均校验完毕即可。
本申请提供的一种可变存储器校验的方法中,在对当前校验单元按数据位进行走步操作之前,需要将所述当前校验单元之前的所有单元看做一个整体,对所述当前校验单元之前的所有单元进行CRC校验,返回第一个CRC校验值,然后将所述当前校验单元之后的所有单元看做一个整体,对所述当前校验单元之后的所有单元进行CRC校验,返回第二个CRC校验值,在对当前校验单元按数据位进行走步操作时,还需要将所述当前校验单元之前的所有单元看做一个整体,对所述当前校验单元之前的所有单元进行CRC校验,返回第三个CRC校验值,然后将所述当前校验单元之后的所有单元看做一个整体,对所述当前校验单元之后的所有单元进行CRC校验,返回第四个CRC校验值,然后分别比较第一个CRC校验值和所述第三个CRC校验值,当所述CRC比较所述第一个CRC校验值和所述第三个CRC校验值,当所述第一个CRC校验值和所述第三个CRC校验值一致时,比较所述第二个CRC校验值和所述第四个CRC校验值,当所述第二个CRC校验值和所述第四个CRC校验值一致时,对所述当前数据位的下一位进行走步操作,依次执行所述校验操作和所述比较操作,直到所述当前校验单元中的所有数据位均校验完毕;根据所述存储的当前校验单元的首地址,将所述存储的当前校验单元的数据重新保存到所述当前校验单元中;然后按照上述对当前校验单元进行校验的方法,依次校验所述所述目标存储区域中的所有校验单元,直到所述所有校验单元均校验完毕即可,此方法能够有效的检测出存储单元之间的串扰问题,又不会改变存储单元的内容,能够达到高有效的诊断覆盖率。
参考图2,示出了本申请一种可变存储器校验的方法实施例2的流程图,在所述获取目标存储区域中当前校验单元的首地址和对应的数据之前,可以包括以下步骤:
步骤S201:确定待检测的目标存储区域。
步骤S202:获取所述目标存储区域的首地址和所述目标存储区域的数据长度。
本申请中,还包括:
当比较的两个校验值不一致时报错,并结束校验。
本申请中,在对所述目标存储区域中的单元进行校验时,当出现第一个比较的两个校验值不一致时,报错,此时结束所述校验的过程,不再进行后续的校验操作。
参考图3,示出了本申请一种可变存储器校验的方法实施例3的流程图,所述对当前校验单元之前的所有单元进行CRC校验,可以包括以下步骤:
步骤S301:根据所述目标存储区域的首地址和数据位的长度,在预设参考表中查找所述之前的所有单元对应的CRC值。
步骤S302:返回所述查找到的CRC值。
与上述本申请一种可变存储器校验的方法实施例1所提供的方法相对应,参见图4,本申请还提供了一种可变存储器校验的系统实施例1,在本实施例中,该系统包括:
第一获取单元401,用于获取目标存储区域中当前校验单元的首地址和对应的数据。
存储单元402,用于存储所述目标存储区域中当前校验单元的首地址和对应的数据。
第一校验单元403,用于对所述当前校验单元之前的所有单元进行CRC校验,返回第一个CRC校验值。
第二校验单元404,用于对所述当前校验单元之后的所有单元进行CRC校验,返回第二个CRC校验值。
走步单元405,用于对所述当前校验单元中的当前数据位进行走步操作。
第三校验单元406,用于对所述当前校验单元之前的所有单元进行CRC校验,返回第三个CRC校验值。
第四校验单元407,用于对所述当前校验单元之后的所有单元进行CRC校验,返回第四个CRC校验值。
比较单元408,用于比较所述第一个CRC校验值和所述第三个CRC校验值,当所述第一个CRC校验值和所述第三个CRC校验值一致时,比较所述第二个CRC校验值和所述第四个CRC校验值,当所述第二个CRC校验值和所述第四个CRC校验值一致时,对所述当前数据位的下一位进行走步操作,依次执行所述校验操作和所述比较操作,直到所述当前校验单元中的所有数据位均校验完毕。
保存单元409,用于根据所述存储的当前校验单元的首地址,将所述存储的当前校验单元的数据重新保存到所述当前校验单元中。
重复单元410,用于按照上述的方法依次校验所述目标存储区域中的所有校验单元。
参见图5,本申请还提供了一种可变存储器校验的系统实施例2的结构示意图,在本实施例中,该系统包括:
确定单元501,用于确定待检测的目标存储区域。
第二获取单元502,用于获取所述目标存储区域的首地址和所述目标存储区域的数据长度。
本申请中,还包括:
报错单元,用于当比较的两个校验值不一致时报错,并结束校验。
参见图6,本申请还提供了一种可变存储器校验的系统实施例3的结构示意图,在本实施例中,该系统包括:
查找单元601,用于根据所述目标存储区域的首地址和数据位的长度,在预设参考表中查找所述之前的所有单元对应的CRC值。
返回单元602,用于返回所述查找到的CRC值。
综上所述,本申请提供了一种可变存储器校验的方法及系统,能够有效的检测出存储单元之间的串扰问题,又不会改变存储单元的内容,能够达到高有效的诊断覆盖率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种可变存储器校验的方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。