CN117976022A - 一种配置存储器错误检测及坏块替换方法、装置及其存储介质 - Google Patents
一种配置存储器错误检测及坏块替换方法、装置及其存储介质 Download PDFInfo
- Publication number
- CN117976022A CN117976022A CN202311782082.5A CN202311782082A CN117976022A CN 117976022 A CN117976022 A CN 117976022A CN 202311782082 A CN202311782082 A CN 202311782082A CN 117976022 A CN117976022 A CN 117976022A
- Authority
- CN
- China
- Prior art keywords
- address
- bad block
- bad
- replacement
- nvr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000003860 storage Methods 0.000 title claims description 26
- 238000001514 detection method Methods 0.000 claims abstract description 61
- 238000012360 testing method Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 8
- 238000010998 test method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种配置存储器错误检测及坏块替换方法,包括以下步骤:S1、启动检测,检测状态机运转;S2、阵列不同故障检测手法数据写入;S3、不同测试手法读返回数据与原写入数据比对,判断阵列块坏点;S4、阵列读出是否与写入匹配;S5、错误地址数量≥16芯片标记作废,错误地址数量<16时检测坏块地址存入NVR中;S6、上电,从NVR中读出坏块信息,待实际读写访问与实际地址比较,若当前地址与坏块地址一致,则RDN信号有效,即访问RDN地址而不是MAIN的坏地址;S7、当RDN有效,替换使能replay_en有效,芯片访问地址与NVR坏块地址匹配时,err_match拉高,开始替换为rdn中的地址,坏块替换完成。该方法占用逻辑资源少、提高了存储器的性能、稳定性、准确性。
Description
技术领域
本发明涉及一种存储器的坏块替换方法,尤其是一种配置存储器错误检测及坏块替换方法、装置及其存储介质。
背景技术
星载大容量高速存储器是航天等重要器件获取信息的重要设备。非易失的存储器在空间高能粒子辐射、极致、高低温等情况下,容易发生单粒子翻转效应,造成存储器损坏,影响数据的存储。
发明内容
为解决上述问题,本发明提供一种配置存储器错误检测及坏块替换方法,具体技术方案为:
一种配置存储器错误检测及坏块替换方法,包括以下步骤:
S1、启动检测,检测状态机运转;
S2、阵列不同故障检测手法数据写入;
S3、不同测试手法读返回数据与原写入数据比对,判断阵列块坏点;
S4、阵列读出是否与写入匹配,若匹配则进入S5,否则进入S6;
S5、错误地址数量≥16芯片标记作废,错误地址数量<16时检测坏块地址存入NVR中;
S6、上电,从NVR中读出坏块信息,待实际读写访问与实际地址比较,若当前地址与坏块地址一致,则RDN信号有效,即访问RDN地址而不是MAIN的坏地址;
S7、当RDN有效,替换使能replay_en有效,芯片访问地址与NVR坏块地址匹配时,err_match拉高,开始替换为rdn中的地址,坏块替换完成。
优选的,所述步骤S2中,先配置存储阵列的结构分为Mainarray、NVRarray、Redundancyarray和用户信息区,根据不同区域的特点及分布进行不同手法的测试;
第一,Main主阵列,1024行(0~1023),1024列(0~1023)每个地址有16bit,1024x1024=1M,故存储空间为:1Mx16=16M;
第二,NVR:存储主阵列坏块地址,1行1024列;每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
第三,Redundancy:替换主阵列坏块地址用,1行,1024列;每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
第四,USER:供用户使用,1行1024列;每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
每个地址数据位数均为64位。
进一步的,1、测试数据初始值全0/1写法:位数为64位,范围覆盖整个阵列,手法不变;
2、主阵列:全0,全1,DGNL,1RLR,1R1C,CKBD,ICKBD,5555,AAAA;
1)、DGNL:Digonal,斜对角全写0;覆盖面从0行0列,到1024行1024列;
2)、1RLR:FirstRowLastRow,也就是第一条行和最后一行全写0,对这个存储阵列来说,分为上半部分和下半部分,所以覆盖面为第0个sector和第512行全写0;
3)、1R1C:FirstRowFirstCol,也就是第一条行和最后一行全写0,对这个flash来说,分为上半部分和下半部分和左半部分右半部分,覆盖面为:第0个sector和第512行全写0,第0列和第512列全写0;
4)、5555/AAAA:每个地址64bit,写入5555或AAAA,覆盖面为全阵列;
5)、Ckbd:Checkboard,从code表述的奇数列为0,偶数列为1的RowStrip写法,覆盖面为全存储阵列;
6)、Ickbd:invertcheckboard,棋盘格反写一次,奇数列为1,偶数列为0,覆盖面为全存储阵列。
优选的,所述步骤S7中替换时,开启replace替换控制功能,原来失效块地址仍然使用replace后地址,再进行自检,新检测出失效块,则用剩余的rdn地址替换,剩余的不够就报废;
上电复位时,从NVR读出自检测后存储的坏块地址,规定可存储的坏块地址为16个。
优选的,所述步骤S2中故障检测手法数据写入时,通过读取故障检测状态寄存器获取检测的状态,通过数据端口输入16位的指令如16’hFFF0,从8位数据移位寄存器shdata寄存器读取出测试结果;其次根据8位shdata状态寄存器的1234位表示是否有失效块及溢出,相应的失效溢出标志如下:
shdata[7:0]==8’b00011110代表有失效块并溢出;
shdata[7:0]==8’b00001010代表有失效块,但是并未溢出;
shdata[7:0]==8’b00000000代表没有失效块。
优选的,所述步骤S5中,对于mainarray,当读出的数据与预期的数据不匹配时表示这个地址是坏的,将此地址记录在寄存器中;如果记录的地址数量超过16个,则溢出,即错误溢出标志信号err_over_flow=1,芯片作废;
对于NVR/RND/USER阵列,当读出的数据与预期的数据不匹配时,直接报错溢出,即错误溢出标志信号err_over_flow=1,芯片作废;
当状态机运行到WR_ERR_SEC时,此时需要将之前存在寄存器中的错误地址写到NVR中,NVR共16*3=48个地址,其中0/16/24写入的是第一个坏地址,1/17/25写的是第二个坏地址……15/23/47写的是第16个坏地址;
写入到NVR中的除了坏地址信息,还有标志信息,用来标志这个NVR地址中存了坏地址信息。
优选的,所述步骤S7中,Rdn检测完后进入到idle状态,则cmd_finish信号由0变1表示自检测结束;
若err_over_flow信号为1,即坏块溢出,cmd_finish置高,则错误检测结束,芯片作废;
若无错误,no_err信号为1,则跳出状态机,cmd_finish置高,错误检测结束;
若有坏块并未溢出,坏块地址写入NVR2完成后,wr_err_sec_end信号置高,跳出状态机,cmd_finish置高,错误检测结束。
优选的,所述步骤S7中,坏块替换包含三个步骤:
第一,上电复位,从NVR读出当初写入NVR中的的坏块地址信息,并存入寄存器;
第二,替换使能信号replay_en默认为保持使能有效;
第三、当后续芯片访问的地址与NVR里坏块地址信息匹配时,err_match信号拉高,将地址进行替换,替换为RDN里面的地址。
一种配置存储器错误检测及坏块替换装置,包括:处理器;及存储器,所述存储器上存储有可在所述处理器上运行的计算机程序;其中,所述计算机程序被所述处理器执行时实现如上述的一种配置存储器错误检测及坏块替换方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上述的一种配置存储器错误检测及坏块替换方法的步骤。
与现有技术相比本发明具有以下有益效果:
本发明提供的一种配置存储器错误检测及坏块替换方法根据理论的详细论证以及大量的前仿真、后仿真验证,采用本文所述的故障检测与坏块替换方法,该方法结构简单,占用逻辑资源少,硬件复杂度低,有效的保障存储器的准确性,大大提高了FPGA配置存储器的性能、稳定性、准确性。
附图说明
图1为测试状态机(TESTFSMStatus-Machine);
图2为斜对角填满图形(DGNL:Digonal);
图3为第一条和最后一条图形(1RLR:FirstRowLastRow);
图4为第一条row和第一条col图形(1R1C:FirstRowFirstCo);
图5为棋盘格图形(Ckbd:Checkboard);
图6为反向棋盘格图形(Ickbd:invertcheckboard);
图7为本申请的流程图。
具体实施方式
现结合附图对本发明作进一步说明。
针对配置存储器存在的错误信息存储及坏块不易替换的问题,以及已有测试方法的局限性,本发明提出了一种配置存储器错误检测及坏块替换方法,通过对配置信息的错误分析,并通过自检测的方法定位坏块区,然后对坏块区进行替换,从而实现数据的正确存储。
通过存储阵列的故障检测,检测完成并通过坏块替换的方法达到存储阵列有序无误的进行数据存储来提高配置存储器的可靠性。
整个存储空间划分多个区域,包括主阵列存储区、坏块记录及替换区。当完成整个存储阵列的故障检测后,主要的方法是在存储器使用过程中出现坏块,采用精准的标记坏块,将坏块地址映射到冗余地址存储区。动态坏块操作方法对写入数据的修改方式,比直接在原存储块写入的速率快,星载大容量高速存储器仅对有效数据存储,不会修改数据。
存储信息错误检测时,主要对主阵列存储数据信息异常的识别与判断。
对存储信息识别时,通过状态机状态的跳转,状态跳转覆盖不同的测试手法不同测试方法涵盖测试覆盖率对主阵列的数据进行覆盖性测试。
在进行数据对比时,如果读操作的返回数据与写入数据不一致,即认为存储阵列出现坏点,拉高相应错误Error标志,通过存储的写入数据与读出数据精确对比,根据逻辑状态要求,识别记录具体错误地址信息,并记录在用于存储主阵列坏块NVR区。
在进行数据对比时,识别记录错误地址的数量及具体地址信息,并在Redundancy冗余区进行坏快的替换。
主要根据状态跳转及不同状态下对比的手法不同,进行数据写入与多种测试方法覆盖度读出信息的对比。
以存储器测试为目的,在电路结构上相当于在芯片的内部集成了以控制器和一部分旁路逻辑,如图1所示:其中控制器包含一个测试向量产生器和一个相应比较器,测试向量的核心是一个有限状态机电路,该状态机根据所选用的算法产生测试向量,实现独立存储器的读写操作,相应比较器用于采样存储器的输出,并与最初输入的期望值进行比较,产生判决结果,输出到芯片的输出接口。
存储器故障检测结构的状态机如图1所示;该状态机可以对整个存储阵列(包括主阵列MAIN区、存储主阵列坏块NVR区、替换Redundancy冗余区、用户信息USER区)进行读、写操作,如果读操作的返回数据与写入数据不一致,即认为存储阵列出现坏点,拉高相应错误Error标志,现有状态机跳转示意图。该状态机包含43个状态的跳转,状态跳转覆盖不同的测试手法。
如图7所示,一种配置存储器错误检测及坏块替换方法,包括以下步骤:
S1、启动检测,检测状态机运转;
S2、阵列不同故障检测手法数据写入;
S3、不同测试手法读返回数据与原写入数据比对,判断阵列块坏点;
S4、阵列读出是否与写入匹配,若匹配则进入S5,否则进入S6;
S5、错误地址数量≥16芯片标记作废,错误地址数量<16时检测坏块地址存入NVR中;
S6、上电,从NVR中读出坏块信息,待实际读写访问与实际地址比较,若当前地址与坏块地址一致,则RDN信号有效,即访问RDN地址而不是MAIN的坏地址;
S7、当RDN有效,替换使能replay_en有效,芯片访问地址与NVR坏块地址匹配时,err_match拉高,开始替换为rdn中的地址,坏块替换完成。
一、故障检测测试手法
配置存储阵列的结构分为Mainarray(主阵列区),NVRarray(存储主阵列坏块区),Redundancyarray(替换冗余区),用户信息区四个部分,为了完全覆盖所有存储区域的监测,需要根据不同区域的特点及分布进行不同手法的测试。
第一,Main主阵列,1024行(0~1023),1024列(0~1023)每个地址有16bit,1024x1024=1M,故存储空间为:1Mx16=16M;
第二,NVR:存储主阵列坏块地址,1行1024列。每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
第三,Redundancy:替换主阵列坏块地址用,1行,1024列。每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
第四,USER:供用户使用,1行1024列。每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
上述四个部分,每个地址数据位数:64位。
通过介绍存储阵列的结构后,确定测试手法方案如下:
1、测试数据初始值全0/1写法:位数为64位,范围覆盖整个阵列,手法不变;
2、主阵列:全0,全1,DGNL,1RLR,1R1C,CKBD,ICKBD,5555,AAAA;
1)、DGNL:Digonal,斜对角全写0;覆盖面从0行0列,到1024行1024列;如图2所示。
2)、1RLR:FirstRowLastRow,也就是第一条行和最后一行全写0,对这个存储阵列来说,分为上半部分和下半部分,所以覆盖面为第0个sector和第512行全写0;如图3所示。
3)、1R1C:FirstRowFirstCol,也就是第一条行和最后一行全写0,对
这个flash来说,分为上半部分和下半部分和左半部分右半部分,所以覆盖面为:第0个sector和第512行全写0,第0列和第512列全写0;如图4所示。
4)、5555/AAAA:每个地址64bit,写入5555或AAAA,覆盖面为全阵列。
5)、Ckbd:Checkboard,也就是棋盘格,但从code表述的奇数列为0,偶数列为1的RowStrip写法。覆盖面为全存储阵列;如图5所示。
6)、Ickbd:invertcheckboard,也就是棋盘格反写一次,奇数列为1,偶数列为0。覆盖面为全存储阵列。如图6所示。
二、故障检测
检测存储阵列是否失效,并自动替换失效块,属于控制模块。
主要实现的功能:根据芯片的良率及其他硬性要求规定错误信息的范围。如本专利规定超出16个报废。当少于或等于16个,方可进行重新替换。开启replace替换控制功能,原来失效块地址仍然使用replace后地址,再进行自检,新检测出失效块,则用剩余的rdn地址替换,剩余的不够就报废。上电复位时,从NVR读出自检测后存储的坏块地址,设计中规定可存储的坏块地址为16个。
三、错误检测监控内部信号
故障检测监控内部信号是通过读取故障检测状态寄存器获取检测的状态,通过数据端口输入16位的指令如16’hFFF0,从8位数据移位寄存器shdata寄存器读取出测试结果;其次根据8位shdata状态寄存器的1234位表示是否有失效块及溢出,相应的失效溢出标志如下:
shdata[7:0]==8’b00011110代表有失效块并溢出;
shdata[7:0]==8’b00001010代表有失效块,但是并未溢出;
shdata[7:0]==8’b00000000代表没有失效块。
四、读写数据对比,记录坏块地址
对于主阵列(mainarray),当读出的数据与预期的数据不匹配时,就表示这个地址是坏的,将此地址记录在寄存器中。如果记录的地址数量超过16个,则溢出,即错误溢出标志信号err_over_flow=1,芯片作废。
对于NVR/RND/USER阵列,当读出的数据与预期的数据不匹配时,直接报错溢出,即错误溢出标志信号err_over_flow=1,芯片作废。
当状态机运行到WR_ERR_SEC时,此时需要将之前存在寄存器中的错误地址写到NVR中。NVR共16*3=48个地址。其中0/16/24写入的是第一个坏地址,1/17/25写的是第二个坏地址……15/23/47写的是第16个坏地址。写入到NVR中的除了坏地址信息,还有标志信息,用来标志这个NVR地址中存了坏地址信息。若20’h5这个地址是坏的,那么写入到NVR中的就应该是{44’h0123456789a,20’h5},其中44’h0123456789a就是标志位,表示这里写入了错误地址信息。
五、检测完成
Rdn检测完后(计数器计数所有地址完成)进入到idle状态,则cmd_finish信号由0变1表示自检测结束。若err_over_flow信号为1,即坏块溢出,cmd_finish置高,则错误检测结束,芯片作废;若无错误,no_err信号为1,则跳出状态机,cmd_finish置高,错误检测结束;若有坏块并未溢出,坏块地址写入NVR2完成后,wr_err_sec_end信号置高,跳出状态机,cmd_finish置高,错误检测结束。
六、坏块替换(ERR_REPLACEN)模块
通过错误检测到坏的地址,并将此地址存入NVR中。上电时候,会将此地址信息读出,待到实际读写访问时跟实际地址作比较。如果当前地址跟坏的地址一致,那么RDN信号将会有效,意味着该当前操作会去访问redundancy阵列而不是main阵列。单个芯片共有16个可替换的地址。
坏块替换主要包含三个重要步骤:第一,上电复位,从NVR读出当初写入NVR中的的坏块地址信息,并存入寄存器。由于存了三组一样的坏地址,所以读的时候也是读了三组,然后这三组按位进行三模冗余,得到最终的坏地址信息;第二,替换使能信号replay_en默认为保持使能有效;第三、当后续芯片访问的地址与NVR里坏块地址信息匹配时,err_match信号拉高,将地址进行替换,替换为RDN里面的地址。
坏块替换模块在进行坏块检测操作时,需要将坏快替换模块关闭;而在正常的数据的操作中,将其打开,该模块是通过检测目前操作的地址是否坏的地址(即是否已经被错误寄存器记录),如果为坏快的地址,那么就将操作转移到替换的好的地址中,来实现坏地址的替换。
信号:输入err0/1/2/3_array[10:0]与addr_in[18:8]进行比较,判断addr_in在哪个Redundancy2/3/4/5Sector中;从而更改addr_replaced[18:8]信号;相应的替换操作如下:
1、addr_replaced[18:8]=11'h1;替换为Redundancy2Sector地址
2、addr_replaced[18:8]=11'h200;替换为Redundancy3Sector地址
3、addr_replaced[18:8]=11'h201;替换为Redundancy4Sector地址
4、addr_replaced[18:8]=11'h400;替换为Redundancy5Sector地址
功能:更换地址;将addr_in[18:8]的地址进行判断,更改成addr_replaced[18:8],addr_replaced是Redundancy2/3/4/5Sector中的地址
一种配置存储器错误检测及坏块替换装置,包括:处理器;及存储器,所述存储器上存储有可在所述处理器上运行的计算机程序;其中,所述计算机程序被所述处理器执行时实现上述的一种配置存储器错误检测及坏块替换方法的步骤。
存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线连接。存储器中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器中的软件功能模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器可以是,但不限于,随机存取存储器(RandomAccess Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(Programmable Read-OnlyMemory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。
处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述的一种配置存储器错误检测及坏块替换方法的步骤。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图来描述的。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图和/或中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图中指定的功能的步骤。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明权利要求的保护范围之内。
Claims (10)
1.一种配置存储器错误检测及坏块替换方法,其特征在于,包括以下步骤:
S1、启动检测,检测状态机运转;
S2、阵列不同故障检测手法数据写入;
S3、不同测试手法读返回数据与原写入数据比对,判断阵列块坏点;
S4、阵列读出是否与写入匹配,若匹配则进入S5,否则进入S6;
S5、错误地址数量≥16芯片标记作废,错误地址数量<16时检测坏块地址存入NVR中;
S6、上电,从NVR中读出坏块信息,待实际读写访问与实际地址比较,若当前地址与坏块地址一致,则RDN信号有效,即访问RDN地址而不是MAIN的坏地址;
S7、当RDN有效,替换使能replay_en有效,芯片访问地址与NVR坏块地址匹配时,err_match拉高,开始替换为rdn中的地址,坏块替换完成。
2.根据权利要求1所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
所述步骤S2中,先配置存储阵列的结构分为Mainarray、NVRarray、Redundancyarray和用户信息区,根据不同区域的特点及分布进行不同手法的测试;
第一,Main主阵列,1024行(0~1023),1024列(0~1023)每个地址有16bit,1024x1024=1M,故存储空间为:1Mx16=16M;
第二,NVR:存储主阵列坏块地址,1行1024列;每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
第三,Redundancy:替换主阵列坏块地址用,1行,1024列;每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
第四,USER:供用户使用,1行1024列;每个地址有16bit,1x1024=1K,故存储空间为:1Kx16=16K;
每个地址数据位数均为64位。
3.根据权利要求2所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
1、测试数据初始值全0/1写法:位数为64位,范围覆盖整个阵列,手法不变;
2、主阵列:全0,全1,DGNL,1RLR,1R1C,CKBD,ICKBD,5555,AAAA;
1)、DGNL:Digonal,斜对角全写0;覆盖面从0行0列,到1024行1024列;
2)、1RLR:FirstRowLastRow,也就是第一条行和最后一行全写0,对这个存储阵列来说,分为上半部分和下半部分,所以覆盖面为第0个sector和第512行全写0;
3)、1R1C:FirstRowFirstCol,也就是第一条行和最后一行全写0,对这个flash来说,分为上半部分和下半部分和左半部分右半部分,覆盖面为:第0个sector和第512行全写0,第0列和第512列全写0;
4)、5555/AAAA:每个地址64bit,写入5555或AAAA,覆盖面为全阵列;
5)、Ckbd:Checkboard,从code表述的奇数列为0,偶数列为1的RowStrip写法,覆盖面为全存储阵列;
6)、Ickbd:invertcheckboard,棋盘格反写一次,奇数列为1,偶数列为0,覆盖面为全存储阵列。
4.根据权利要求1所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
所述步骤S7中替换时,开启replace替换控制功能,原来失效块地址仍然使用replace后地址,再进行自检,新检测出失效块,则用剩余的rdn地址替换,剩余的不够就报废;
上电复位时,从NVR读出自检测后存储的坏块地址,规定可存储的坏块地址为16个。
5.根据权利要求1所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
所述步骤S2中故障检测手法数据写入时,通过读取故障检测状态寄存器获取检测的状态,通过数据端口输入16位的指令如16’hFFF0,从8位数据移位寄存器shdata寄存器读取出测试结果;其次根据8位shdata状态寄存器的1234位表示是否有失效块及溢出,相应的失效溢出标志如下:
shdata[7:0]==8’b00011110代表有失效块并溢出;
shdata[7:0]==8’b00001010代表有失效块,但是并未溢出;
shdata[7:0]==8’b00000000代表没有失效块。
6.根据权利要求2所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
所述步骤S5中,对于mainarray,当读出的数据与预期的数据不匹配时表示这个地址是坏的,将此地址记录在寄存器中;如果记录的地址数量超过16个,则溢出,即错误溢出标志信号err_over_flow=1,芯片作废;
对于NVR/RND/USER阵列,当读出的数据与预期的数据不匹配时,直接报错溢出,即错误溢出标志信号err_over_flow=1,芯片作废;
当状态机运行到WR_ERR_SEC时,此时需要将之前存在寄存器中的错误地址写到NVR中,NVR共16*3=48个地址,其中0/16/24写入的是第一个坏地址,1/17/25写的是第二个坏地址……15/23/47写的是第16个坏地址;
写入到NVR中的除了坏地址信息,还有标志信息,用来标志这个NVR地址中存了坏地址信息。
7.根据权利要求1所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
所述步骤S7中,Rdn检测完后进入到idle状态,则cmd_finish信号由0变1表示自检测结束;
若err_over_flow信号为1,即坏块溢出,cmd_finish置高,则错误检测结束,芯片作废;
若无错误,no_err信号为1,则跳出状态机,cmd_finish置高,错误检测结束;
若有坏块并未溢出,坏块地址写入NVR2完成后,wr_err_sec_end信号置高,跳出状态机,cmd_finish置高,错误检测结束。
8.根据权利要求1所述的一种配置存储器错误检测及坏块替换方法,其特征在于,
所述步骤S7中,坏块替换包含三个步骤:
第一,上电复位,从NVR读出当初写入NVR中的的坏块地址信息,并存入寄存器;
第二,替换使能信号replay_en默认为保持使能有效;
第三、当后续芯片访问的地址与NVR里坏块地址信息匹配时,err_match信号拉高,将地址进行替换,替换为RDN里面的地址。
9.一种配置存储器错误检测及坏块替换装置,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有可在所述处理器上运行的计算机程序;
其中,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的一种配置存储器错误检测及坏块替换方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的一种配置存储器错误检测及坏块替换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311782082.5A CN117976022A (zh) | 2023-12-22 | 2023-12-22 | 一种配置存储器错误检测及坏块替换方法、装置及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311782082.5A CN117976022A (zh) | 2023-12-22 | 2023-12-22 | 一种配置存储器错误检测及坏块替换方法、装置及其存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117976022A true CN117976022A (zh) | 2024-05-03 |
Family
ID=90860215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311782082.5A Pending CN117976022A (zh) | 2023-12-22 | 2023-12-22 | 一种配置存储器错误检测及坏块替换方法、装置及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117976022A (zh) |
-
2023
- 2023-12-22 CN CN202311782082.5A patent/CN117976022A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7284166B2 (en) | Programmable multi-mode built-in self-test and self-repair structure for embedded memory arrays | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
CN111312321A (zh) | 一种存储器装置及其故障修复方法 | |
CN112331253B (zh) | 一种芯片的测试方法、终端和存储介质 | |
US9177668B2 (en) | Method and apparatus for bit cell repair | |
US20130010557A1 (en) | Memory repair systems and methods for a memory having redundant memory | |
US20090144583A1 (en) | Memory Circuit | |
JP2003059292A (ja) | メモリテスト情報を記憶する方法および装置 | |
US9978463B2 (en) | Semiconductor apparatus and repair method thereof | |
CN111145826B (zh) | 一种存储器内建自测试方法、电路及计算机存储介质 | |
CN103187102B (zh) | 半导体存储器测试方法和半导体存储器 | |
US4912710A (en) | Self-checking random access memory | |
CN103247345A (zh) | 快闪存储器及快闪存储器失效存储单元检测方法 | |
KR101967270B1 (ko) | 메모리 장치 및 이의 테스트 방법 | |
CN102737722A (zh) | 一种内建自测系统的自检修补法 | |
CN114203253A (zh) | 芯片的存储器故障修复装置和芯片 | |
US20040221210A1 (en) | Method and apparatus for masking known fails during memory tests readouts | |
CN117976022A (zh) | 一种配置存储器错误检测及坏块替换方法、装置及其存储介质 | |
US7124336B2 (en) | Method for the defect analysis of memory modules | |
US7478289B1 (en) | System and method for improving the yield of integrated circuits containing memory | |
US6751762B2 (en) | Systems and methods for testing a memory | |
US20210073087A1 (en) | Cache array macro micro-masking | |
US20030084389A1 (en) | Method and apparatus for flexible memory for defect tolerance | |
US8458545B2 (en) | Method and apparatus for testing of a memory with redundancy elements | |
US12001305B2 (en) | Resource allocation for a memory built-in self-test |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |