一种配置存储器错误检测及坏块替换方法、装置及其存储介质与流程

文档序号:37897160发布日期:2024-05-09 21:40阅读:29来源:国知局
一种配置存储器错误检测及坏块替换方法、装置及其存储介质与流程

本发明涉及一种存储器的坏块替换方法,尤其是一种配置存储器错误检测及坏块替换方法、装置及其存储介质。


背景技术:

1、星载大容量高速存储器是航天等重要器件获取信息的重要设备。非易失的存储器在空间高能粒子辐射、极致、高低温等情况下,容易发生单粒子翻转效应,造成存储器损坏,影响数据的存储。


技术实现思路

1、为解决上述问题,本发明提供一种配置存储器错误检测及坏块替换方法,具体技术方案为:

2、一种配置存储器错误检测及坏块替换方法,包括以下步骤:

3、s1、启动检测,检测状态机运转;

4、s2、阵列不同故障检测手法数据写入;

5、s3、不同测试手法读返回数据与原写入数据比对,判断阵列块坏点;

6、s4、阵列读出是否与写入匹配,若匹配则进入s5,否则进入s6;

7、s5、错误地址数量≥16芯片标记作废,错误地址数量<16时检测坏块地址存入nvr中;

8、s6、上电,从nvr中读出坏块信息,待实际读写访问与实际地址比较,若当前地址与坏块地址一致,则rdn信号有效,即访问rdn地址而不是main的坏地址;

9、s7、当rdn有效,替换使能replay_en有效,芯片访问地址与nvr坏块地址匹配时,err_match拉高,开始替换为rdn中的地址,坏块替换完成。

10、优选的,所述步骤s2中,先配置存储阵列的结构分为mainarray、nvrarray、redundancyarray和用户信息区,根据不同区域的特点及分布进行不同手法的测试;

11、第一,main主阵列,1024行(0~1023),1024列(0~1023)每个地址有16bit,1024x1024=1m,故存储空间为:1mx16=16m;

12、第二,nvr:存储主阵列坏块地址,1行1024列;每个地址有16bit,1x1024=1k,故存储空间为:1kx16=16k;

13、第三,redundancy:替换主阵列坏块地址用,1行,1024列;每个地址有16bit,1x1024=1k,故存储空间为:1kx16=16k;

14、第四,user:供用户使用,1行1024列;每个地址有16bit,1x1024=1k,故存储空间为:1kx16=16k;

15、每个地址数据位数均为64位。

16、进一步的,1、测试数据初始值全0/1写法:位数为64位,范围覆盖整个阵列,手法不变;

17、2、主阵列:全0,全1,dgnl,1rlr,1r1c,ckbd,ickbd,5555,aaaa;

18、1)、dgnl:digonal,斜对角全写0;覆盖面从0行0列,到1024行1024列;

19、2)、1rlr:firstrowlastrow,也就是第一条行和最后一行全写0,对这个存储阵列来说,分为上半部分和下半部分,所以覆盖面为第0个sector和第512行全写0;

20、3)、1r1c:firstrowfirstcol,也就是第一条行和最后一行全写0,对这个flash来说,分为上半部分和下半部分和左半部分右半部分,覆盖面为:第0个sector和第512行全写0,第0列和第512列全写0;

21、4)、5555/aaaa:每个地址64bit,写入5555或aaaa,覆盖面为全阵列;

22、5)、ckbd:checkboard,从code表述的奇数列为0,偶数列为1的rowstrip写法,覆盖面为全存储阵列;

23、6)、ickbd:invertcheckboard,棋盘格反写一次,奇数列为1,偶数列为0,覆盖面为全存储阵列。

24、优选的,所述步骤s7中替换时,开启replace替换控制功能,原来失效块地址仍然使用replace后地址,再进行自检,新检测出失效块,则用剩余的rdn地址替换,剩余的不够就报废;

25、上电复位时,从nvr读出自检测后存储的坏块地址,规定可存储的坏块地址为16个。

26、优选的,所述步骤s2中故障检测手法数据写入时,通过读取故障检测状态寄存器获取检测的状态,通过数据端口输入16位的指令如16’hfff0,从8位数据移位寄存器shdata寄存器读取出测试结果;其次根据8位shdata状态寄存器的1234位表示是否有失效块及溢出,相应的失效溢出标志如下:

27、shdata[7:0]==8’b00011110代表有失效块并溢出;

28、shdata[7:0]==8’b00001010代表有失效块,但是并未溢出;

29、shdata[7:0]==8’b00000000代表没有失效块。

30、优选的,所述步骤s5中,对于mainarray,当读出的数据与预期的数据不匹配时表示这个地址是坏的,将此地址记录在寄存器中;如果记录的地址数量超过16个,则溢出,即错误溢出标志信号err_over_flow=1,芯片作废;

31、对于nvr/rnd/user阵列,当读出的数据与预期的数据不匹配时,直接报错溢出,即错误溢出标志信号err_over_flow=1,芯片作废;

32、当状态机运行到wr_err_sec时,此时需要将之前存在寄存器中的错误地址写到nvr中,nvr共16*3=48个地址,其中0/16/24写入的是第一个坏地址,1/17/25写的是第二个坏地址……15/23/47写的是第16个坏地址;

33、写入到nvr中的除了坏地址信息,还有标志信息,用来标志这个nvr地址中存了坏地址信息。

34、优选的,所述步骤s7中,rdn检测完后进入到idle状态,则cmd_finish信号由0变1表示自检测结束;

35、若err_over_flow信号为1,即坏块溢出,cmd_finish置高,则错误检测结束,芯片作废;

36、若无错误,no_err信号为1,则跳出状态机,cmd_finish置高,错误检测结束;

37、若有坏块并未溢出,坏块地址写入nvr2完成后,wr_err_sec_end信号置高,跳出状态机,cmd_finish置高,错误检测结束。

38、优选的,所述步骤s7中,坏块替换包含三个步骤:

39、第一,上电复位,从nvr读出当初写入nvr中的的坏块地址信息,并存入寄存器;

40、第二,替换使能信号replay_en默认为保持使能有效;

41、第三、当后续芯片访问的地址与nvr里坏块地址信息匹配时,err_match信号拉高,将地址进行替换,替换为rdn里面的地址。

42、一种配置存储器错误检测及坏块替换装置,包括:处理器;及存储器,所述存储器上存储有可在所述处理器上运行的计算机程序;其中,所述计算机程序被所述处理器执行时实现如上述的一种配置存储器错误检测及坏块替换方法的步骤。

43、一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上述的一种配置存储器错误检测及坏块替换方法的步骤。

44、与现有技术相比本发明具有以下有益效果:

45、本发明提供的一种配置存储器错误检测及坏块替换方法根据理论的详细论证以及大量的前仿真、后仿真验证,采用本文所述的故障检测与坏块替换方法,该方法结构简单,占用逻辑资源少,硬件复杂度低,有效的保障存储器的准确性,大大提高了fpga配置存储器的性能、稳定性、准确性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im