System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种dram行锤击实现方法。
技术介绍
1、dram是当前主流的内存存储器。每个dram存储单元包含一个晶体管和电容,大量的存储单元构成二维存储阵列,称为内存模块bank;内存模块bank是物理结构,每个内存模块bank包含大量横向的内存行row。读写数据时,目标数据所在的内存行row被激活后,存储单元导通,其中存储的数据被读取并加载到内存行缓冲器row buffer。在内存行缓冲器中完成数据读写,如果下一次要访问的目标数据不在当前内存行缓冲器中,则当前行缓冲器的数据写回到内存模块的原内存行,内存模块中的新内存行又被激活并读取加载到内存行缓冲器中。
2、随着dram存储单元尺寸的缩小,相邻的存储单元之间易干扰而导致数据位出错。当内存模块中的某个内存行因为读写而被高频地激活,由于耦合效应,就会对上下相邻的内存行存储单元产生扰动,使得个别存储单元中的值发生翻转,导致出现数据错误,成为行锤击错误。
3、行锤击错误的原理简单,但要在实际的系统上触发并捕捉到却存在相当的困难。由于各种底层体系结构的不透明,难以明确物理地址到内存行的映射关系,难以明确内存行之间的相邻关系。要测试dram的可靠性,并测试各种缓解行锤击的错误,首要就是能在现实、实际的计算机平台上,快速、简易地触发行锤击错误。
技术实现思路
1、本专利技术的目的在于克服现有技术中存在的上述不足,而提供一种dram行锤击实现方法,能在现实、实际的计算机平台上,快速、简易地触发行锤击错误。
< ...【技术保护点】
1.一种DRAM行锤击实现方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(一)中,选取的内存区块大小为1G。
3.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(一)中,将选取的内存区块的数据值全部初始化为1。
4.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(二)中,每一次读取后立即刷新缓存,使得所述的两个随机内存地址在缓存中的数据备份无效,保证循环的每次迭代均从内存重新加载读取数据。
5.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(三)包括如下过程:
6.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(四)中对选择的两个随机内存地址进行行锤击,即对选择的两个随机内存地址addr1和addr2进行循环K次的读取数据;每次读取后立即使用cflush指令刷新缓存,使得上述两个随机内存地址在缓存中的数据备份无效,保证下一次迭代从内存重新加载读取。
7.根据权利要求3所述的一种DRA
8.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(五)的具体的步骤包括:
9.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(三)中,如果t不大于tm,则重新选择两个新的随机内存地址,并重复本步骤。
10.根据权利要求1所述的一种DRAM行锤击实现方法,其特征在于:步骤(四)中,如果不存在翻转,则返回步骤(三)。
...【技术特征摘要】
1.一种dram行锤击实现方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的一种dram行锤击实现方法,其特征在于:步骤(一)中,选取的内存区块大小为1g。
3.根据权利要求1所述的一种dram行锤击实现方法,其特征在于:步骤(一)中,将选取的内存区块的数据值全部初始化为1。
4.根据权利要求1所述的一种dram行锤击实现方法,其特征在于:步骤(二)中,每一次读取后立即刷新缓存,使得所述的两个随机内存地址在缓存中的数据备份无效,保证循环的每次迭代均从内存重新加载读取数据。
5.根据权利要求1所述的一种dram行锤击实现方法,其特征在于:步骤(三)包括如下过程:
6.根据权利要求1所述的一种dram行锤击实现方法,其特征在于:步骤(四)中对选择的两个随机内...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。