一种STT-RAM缓存的动态数据擦洗方法与流程

文档序号:20268359发布日期:2020-04-03 18:41阅读:来源:国知局

技术特征:

1.一种stt-ram缓存的动态数据擦洗方法,其特征在于,包括如下步骤:

s1、保证数据正确性的前提下,动态设定缓存块的数据擦洗周期,根据不同缓存块的保留错误数据位数以及纠错码的纠错能力,将缓存块的数据擦洗周期设定为高频、中频和低频,高频以时间为t的周期进行数据擦洗,中频以时间为2t的周期进行数据擦洗,低频以时间为3t的周期进行数据擦洗;

此步骤中,纠错码最多能同时纠正缓存块出现的n个保留错误数据位,将这n个保留错误数据位数按小于等于1、大于1且小于等于n/2、大于n/2分成三段,当缓存块的保留错误数据位数小于等于1,则采用低频数据擦洗,当保留错误数据位数在大于1且小于等于n/2,则采用中频数据擦洗,当保留错误数据位数大于n/2时,则采用高频数据擦洗;

s2、每个缓存块配备两位数据的bincounter来标识自身的擦洗周期;

此步骤中,bincounter可取的值分别为01、10和11,如果值为01,则标识该缓存块采用时间为t的数据擦洗周期,如果值为10,则标识该缓存块采用时间为2t的数据擦洗周期,如果值为11,则标识该缓存块采用时间为3t的数据擦洗周期;

s3、缓存控制器按时间为t的周期依次扫描缓存块,并且根据每个缓存块的两位数据容量的currentcounter来判定是否进行数据擦洗;

此步骤中,因为不同缓存块的数据擦洗周期不同,每次缓存控制器扫描到某缓存块时,根据currentcounter来标示当前缓存块是否进行数据擦洗操作。

2.根据权利要求1所述的stt-ram缓存的动态数据擦洗方法,其特征在于,步骤s2中,bincounter的值由缓存块的保留错误数据位数和纠错码的纠错能力共同决定,每次缓存块进行数据擦洗时,根据纠错码获得的保留错误数据位数,再结合纠错码的纠错能力,调整bincounter在下一周期的值。

3.根据权利要求1所述的stt-ram缓存的动态数据擦洗方法,其特征在于,步骤s3中,根据currentcounter来标示当前缓存块是否进行数据擦洗操作的步骤如下:首先,读取缓存块中的一个currentcounter,然后对该currentcounter减1,表示当前缓存块距离数据擦洗操作又少了一个周期t;比较更新后的currentcounter是否等于零,如果不为零,当前缓存块还不能进行数据擦洗操作,跳过当前缓存块,处理下一个缓存块的currentcounter;如果值为零,表示已经达到数据擦洗周期,则发起对当前缓存块的数据擦洗操作;数据擦洗操作完成后,再重置当前缓存块的currentcounter值。

4.根据权利要求1所述的stt-ram缓存的动态数据擦洗方法,其特征在于,数据擦洗操作的步骤为:

读取缓存块数据及纠错码,根据纠错码检测当前缓存块数据中的保留错误位数enum,enum值为零,说明当前缓存块没有出现保留错误,读取下一个缓存块数据及纠错码,enum值大于零,表示当前缓存块中存在保留错误数据位,需要根据纠错码纠正出现的保留错误,并将纠正后的正确数据写回到缓存块。

5.根据权利要求4所述的stt-ram缓存的动态数据擦洗方法,其特征在于,除了纠正缓存块中的保留错误,数据擦洗还要对缓存块的擦洗周期进行动态设置,具体通过调整bincounter的值达到,步骤如下:

step1、当enum小于等于1,如果bincounter的值等于11,不作处理;否则,bincounter的值递增1;

step2、当enum大于1且小于等于n/2时,如果bincounter的值等于01,则bincounter递增1,否则不处理;

step3、当enum大于n/2时,如果bincounter不等于01,则bincounter递减1,否则,减小缓存块的扫描周期。

6.根据权利要求4所述的stt-ram缓存的动态数据擦洗方法,其特征在于,扫描周期的大小由系统所允许的性能代价决定,系统能够容忍的系统代价越低,扫描周期的值就需要设定得更长,但上限以保留错误的数据位数的最大值不超过纠错码的纠错能力为限。

7.根据权利要求4所述的stt-ram缓存的动态数据擦洗方法,其特征在于,步骤s3中,每个缓存块的两位数据的currentcounter,其初始值就是对应的bincounter的值。

8.根据权利要求3所述的stt-ram缓存的动态数据擦洗方法,其特征在于,将bincounter和currentcounter作为数据存储在特定地址的缓存块中,这类缓存块称为计数器缓存块,在根据currentcounter来标示当前缓存块是否进行数据擦洗操作的步骤中,首先,读取的即是计数器缓存块中的一个currentcounter。

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