System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及集成电路,尤其涉及一种内存ecc功能的验证方法、装置、电子设备及存储介质。
技术介绍
1、双倍速率同步动态随机存储器(double data rate synchronous dynamicrandom access memory,ddr sdram),简称内存,是最常用的数据存储器之一。在日常使用过程中,内存的内部数据会因为各种因素而出现错误。因此,内存通常还具备错误检查和纠正(error checking and correcting,ecc)功能。
2、在内存的内部数据出现错误时,ecc功能是否正确地检查且纠正了错误会大大影响内存性能,因此需要对内存的ecc功能进行验证。然而现有技术的ecc功能验证流程的复杂度很高,导致验证效率低下。
技术实现思路
1、有鉴于此,本公开提出了一种内存ecc功能的验证方法、装置、电子设备及存储介质。本公开实施例的内存ecc功能的验证方法可以降低ecc功能验证流程的复杂度,提高验证效率。
2、根据本公开的一方面,提供了一种内存的ecc功能的验证方法,所述方法应用于验证平台,所述方法包括:在执行到第一读命令时,根据所述第一读命令包括的地址,从内存中读取所述地址处存储的第一错误数据,所述第一错误数据包括所述验证平台主动插入的错误;根据所述地址对应的第一变量,对所述第一错误数据进行纠正,得到第一纠正数据,所述第一变量记录所述第一错误数据的每一数据位是否存在错误;获取所述内存使用ecc功能对所述第一错误数据进行纠正得到的
3、在一种可能的实现方式中,执行所述第一读命令之前,所述方法还包括:对读类型的命令进行监测,在监测到所述第一读命令时,使用所述内存的后门访问函数,读取所述地址处存储的第一原始数据;向所述第一原始数据插入错误,得到所述第一错误数据,将所述第一错误数据写回所述地址处。
4、在一种可能的实现方式中,所述第一原始数据包括内容数据和校验码,所述第一变量的数据位宽等于所述内容数据的位宽与所述校验码的位宽之和。
5、在一种可能的实现方式中,所述向所述第一原始数据插入错误,包括:从所述第一原始数据中选择至少一个数据位,分别向选出的每个数据位插入错误,每个数据位至少插入一次错误;其中,向选出的任意一个数据位插入一次错误的方式为,对该数据位的数值取反。
6、在一种可能的实现方式中,所述根据所述地址对应的第一变量,对所述第一错误数据进行纠正之前,所述方法还包括:根据向所述第一原始数据插入错误的方式,生成所述第一变量,其中,所述第一变量的每一数据位的初始值为0,每向所述第一原始数据中的第i个数据位插入一次错误,对所述第一变量的第i个数据位取反一次,i是正整数。
7、在一种可能的实现方式中,所述根据所述地址对应的第一变量,对所述第一错误数据进行纠正,得到第一纠正数据,包括:根据所述第一变量确定所述第一错误数据中存在错误的数据位个数;在所述数据位个数满足预设条件时,对所述第一错误数据和所述第一变量进行异或,得到第一纠正数据。
8、在一种可能的实现方式中,所述预设条件为所述数据位个数小于或等于第一阈值。
9、在一种可能的实现方式中,执行所述第一读命令后,所述方法还包括:在执行到第一写命令且所述第一写命令也包括所述地址时,清除所述第一变量。
10、在一种可能的实现方式中,所述装置应用于验证平台,所述装置包括:第一读取模块,用于在执行到第一读命令时,根据所述第一读命令包括的地址,从内存中读取所述地址处存储的第一错误数据,所述第一错误数据包括所述验证平台主动插入的错误;第一纠正模块,用于根据所述地址对应的第一变量,对所述第一错误数据进行纠正,得到第一纠正数据,所述第一变量记录所述第一错误数据的每一数据位是否存在错误;第一获取模块,用于获取所述内存使用ecc功能对所述第一错误数据进行纠正得到的第二纠正数据;比对模块,用于对所述第一纠正数据和所述第二纠正数据进行比对,在比对成功时确定所述内存的ecc功能正常,在比对失败时确定所述内存的ecc功能异常。
11、在一种可能的实现方式中,所述装置还包括:监测模块,用于在所述装置执行所述第一读命令之前,对读类型的命令进行监测,在监测到所述第一读命令时,使用所述内存的后门访问函数,读取所述地址处存储的第一原始数据;插错模块,用于向所述第一原始数据插入错误,得到所述第一错误数据,将所述第一错误数据写回所述地址处。
12、在一种可能的实现方式中,所述第一原始数据包括内容数据和校验码,所述第一变量的数据位宽等于所述内容数据的位宽与所述校验码的位宽之和。
13、在一种可能的实现方式中,所述向所述第一原始数据插入错误,包括:从所述第一原始数据中选择至少一个数据位,分别向选出的每个数据位插入错误,每个数据位至少插入一次错误;其中,向选出的任意一个数据位插入一次错误的方式为,对该数据位的数值取反。
14、在一种可能的实现方式中,所述装置还包括:第一生成模块,用于在所述装置根据所述地址对应的第一变量,对所述第一错误数据进行纠正之前,根据向所述第一原始数据插入错误的方式,生成所述第一变量,其中,所述第一变量的每一数据位的初始值为0,每向所述第一原始数据中的第i个数据位插入一次错误,对所述第一变量的第i个数据位取反一次,i是正整数。
15、在一种可能的实现方式中,所述根据所述地址对应的第一变量,对所述第一错误数据进行纠正,得到第一纠正数据,包括:根据所述第一变量确定所述第一错误数据中存在错误的数据位个数;在所述数据位个数满足预设条件时,对所述第一错误数据和所述第一变量进行异或,得到第一纠正数据。
16、在一种可能的实现方式中,所述预设条件为所述数据位个数小于或等于第一阈值。
17、在一种可能的实现方式中,所述装置还包括:清除模块,用于在所述装置执行所述第一读命令后,在执行到第一写命令且所述第一写命令也包括所述地址时,清除所述第一变量。
18、根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
19、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
20、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
21、根据本公开实施例的内存ecc功能的验证方法,在执行到第一读命令时,根据第一读命令包括的地址,从内存中读取所述地址处存储的第一错误数本文档来自技高网...
【技术保护点】
1.一种内存的ECC功能的验证方法,其特征在于,所述方法应用于验证平台,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,执行所述第一读命令之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述第一原始数据包括内容数据和校验码,所述第一变量的数据位宽等于所述内容数据的位宽与所述校验码的位宽之和。
4.根据权利要求2所述的方法,其特征在于,所述向所述第一原始数据插入错误,包括:
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述地址对应的第一变量,对所述第一错误数据进行纠正,得到第一纠正数据,包括:
7.根据权利要求6所述的方法,其特征在于,所述预设条件为所述数据位个数小于或等于第一阈值。
8.根据权利要求1所述的方法,其特征在于,执行所述第一读命令后,所述方法还包括:
9.一种内存的ECC功能的验证装置,其特征在于,所述装置应用于验证平台,所述装置包括:
10.一种电子设备,其特征在于,
11.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
...【技术特征摘要】
1.一种内存的ecc功能的验证方法,其特征在于,所述方法应用于验证平台,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,执行所述第一读命令之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述第一原始数据包括内容数据和校验码,所述第一变量的数据位宽等于所述内容数据的位宽与所述校验码的位宽之和。
4.根据权利要求2所述的方法,其特征在于,所述向所述第一原始数据插入错误,包括:
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述地址...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:摩尔线程智能科技成都有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。