非易失性存储器的替换方法、装置及存储介质
技术领域
本发明涉及存储芯片
技术领域
,尤其涉及一种非易失性存储器的替换方法、装置及存储介质。背景技术
SONOS(Silicon-Oxide-Nitride-Oxide-Silicon)工艺生产的存储芯片具有特殊的结构,如图1所示,存储芯片中的存储单元均由一个用于控制的开关管(简称控制管)和一个用于存储的开关管(简称数据管)组成,通过SWL(SEL-word line,字线控制信号)和WL(word line,字线)控制存储单元的电气特性,从而在BL(bit line,位线)上读出存储单元的输出电流来实现数据的读写。
目前,存储芯片在进行编程-擦除操作发现有存储单元出现错误时,往往先完成当前的操作并记录有缺陷的存储单元的地址,之后再对那些存储单元执行替换操作,由于执行替换操作和编程-擦除操作是分离的,因此要求测试机多次与存储芯片交换信息,包括测试机向存储芯片发送指令、存储芯片返回测试结果、测试机发送替换指令和存储芯片返回替换操作结果等等,测试效率不足,对测试机的性能要求较高。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种非易失性存储器的替换方法、装置及存储介质,在进行编程-擦除操作的过程中,在存储芯片内部根据迭代循环的校验结果判断和执行字线地址的替换操作,提高测试效率,降低测试机要求,同时也适用于在用户使用过程中,存储产品对自身进行校验和替换。
第一方面,本发明实施例提供了一种非易失性存储器的替换方法,所述存储器包括SONOS工艺生产的存储单元,所述替换方法包括:
当接收到编程操作指令,根据所述编程操作指令对目标区域循环进行编程-校验操作;
当所述目标区域连续不通过编程-校验操作的次数大于第一设定值,按字线地址对所述目标区域执行替换操作;
当接收到擦除操作指令,根据所述擦除操作指令对目标区域循环进行擦除-校验操作;
当所述目标区域连续不通过擦除-校验操作的次数大于第二设定值,对所述目标区域中未通过擦除-校验操作的字线地址执行替换操作。
本发明实施例提供的非易失性存储器的替换方法,至少具有如下有益效果:SONOS工艺的存储芯片接收到测试机发送的编程-擦除操作指令后,根据编程-擦除操作指令开始循环执行编程-校验操作和擦除-校验操作,其中,编程-校验操作针对存储单元执行,当目标区域经过多次循环仍然没有通过编程-校验操作,那么对目标区域进行替换,擦除-校验操作针对存储区域执行,当目标区域经过多次循环仍然没有通过擦除-校验操作,那么对目标区域中不通过擦除-校验操作的存储单元进行替换,上述编程-擦除操作由存储芯片内部执行并根据预设的第一设定值和第二设定值限定内部执行循环的次数,可以降低测试机与存储芯片之间进行通讯的次数,提高测试效率,同时由于测试机仅需要发送简单的测试指令,因此本发明实施例的替换方法降低了对测试机的性能要求,能够适用于不同性能的测试机;另一方面,按字线地址进行替换的替换操作同样由存储芯片在自身内部完成,因此除了测试过程能够应用本发明实施例的替换方法外,还可以在用户使用存储产品的过程中应用本发明实施例的替换方法,从而进一步提高SONOS工艺的存储产品的使用寿命。
在一些实施例中,所述根据所述编程操作指令对目标区域循环进行编程-校验操作,包括:
对目标区域执行软擦除操作;
对所述目标区域循环执行编程-校验操作,所述编程-校验操作包括写入测试数据和编程校验。
在一些实施例中,所述对所述目标区域循环执行编程-校验操作,包括:
获取编程计数器的计数;
当所述编程计数器的计数不大于第一设定值,对所述目标区域执行一次编程-校验操作;
当所述目标区域不通过编程校验,将所述编程计数器的计数加一;
以所述编程计数器的当前计数和所述目标区域迭代执行编程-校验操作,直到所述目标区域通过编程校验或所述编程计数器的计数大于所述第一设定值。
在一些实施例中,所述按字线地址对所述目标区域执行替换操作,包括:
获取替换单元的字线地址和所述目标区域的字线地址;
将所述目标区域的字线地址替换成所述替换单元的字线地址。
在一些实施例中,在获取替换单元的字线地址和所述目标区域的字线地址之前,还包括:
判断所述目标区域是否适用于执行替换操作;
若是,查找并选取替换区域中的一条可用的字线,若否,将所述目标区域的编程失败标志位设置为有效。
在一些实施例中,所述替换单元的字线地址包括第一控制管字线地址和第一数据管字线地址,所述目标区域的字线地址包括第二控制管字线地址和第二数据管字线地址,所述将所述目标区域的字线地址替换成所述替换单元的字线地址,包括:
交换所述第一控制管字线地址和所述第二控制管字线地址,交换所述第一数据管字线地址和所述第二数据管字线地址。
在一些实施例中,所述根据所述擦除操作指令对目标区域循环进行擦除-校验操作,包括:
对目标区域执行软编程操作;
对所述目标区域循环执行擦除-校验操作,所述擦除-校验操作包括擦除编程数据和擦除校验;
记录每次循环中不通过擦除校验的字线地址,以用于下一次擦除-校验操作循环。
在一些实施例中,所述对所述目标区域循环执行擦除-校验操作,包括:
获取擦除计数器的计数和上一次循环中不通过擦除校验的字线地址;
当所述擦除计数器的计数不大于第二设定值,对上一次循环中不通过擦除校验的字线地址执行一次擦除-校验操作;
当至少一个字线地址不通过擦除校验,将所述擦除计数器的计数加一,并更新不通过擦除校验的字线地址;
以所述擦除计数器的当前计数和当前循环中不通过擦除校验的字线地址迭代执行擦除-校验操作,直到所述目标区域的全部字线地址通过擦除校验或所述擦除计数器的计数大于所述第二设定值。
在一些实施例中,所述对所述目标区域中未通过擦除-校验操作的字线地址执行替换操作,包括:
获取替换单元的字线地址和所述目标区域中未通过擦除-校验操作的字线地址;
将所述目标区域中未通过擦除-校验操作的字线地址替换成所述替换单元的字线地址。
在一些实施例中,在获取替换单元的字线地址和所述目标区域中未通过擦除-校验操作的字线地址之前,还包括:
确定所述目标区域中未通过擦除-校验操作的字线地址中适用于执行替换操作的字线地址数量;
查找并选取与所述字线地址数量相同的替换单元。
在一些实施例中,所述将所述目标区域中未通过擦除-校验操作的字线地址替换成所述替换单元的字线地址,包括:
确定所述目标区域中未通过擦除-校验操作的各个字线地址中的第三控制管字线地址和第三数据管字线地址;
确定所述替换单元的字线地址中的第四控制管字线地址和第四数据管字线地址;
交换所述第三控制管字线地址和所述第四控制管字线地址,交换所述第三数据管字线地址和所述第四数据管字线地址。
第二方面,本发明实施例还提供了一种参考电流确定装置,包括至少一个处理器和用于与所述至少一个处理器通信连接的存储器;所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的替换方法。
第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的替换方法。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的示例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是SONOS工艺制作的存储器的结构示意图;
图2是本发明实施例提供的替换方法的整体流程图;
图3是本发明实施例提供的编程操作中循环进行编程-校验的的方法流程图;
图4是本发明实施例提供的编程操作中替换字线地址的方法流程图;
图5是本发明实施例提供的执行替换操作前的方法流程图;
图6是本发明实施例提供的擦除操作中循环进行擦除-校验的整体流程图;
图7是本发明实施例提供的擦除操作中循环进行擦除-校验的具体方法流程图;
图8是本发明实施例提供的擦除操作中替换字线地址的方法流程图;
图9是本发明实施例提供的执行替换操作前的方法流程图;
图10是本发明实施例提供的擦除操作中交换控制管和数据管的字线地址的流程图;
图11是本发明示例提供的编程操作的整体流程图;
图12是本发明示例提供的擦除操作的整体流程图;
图13是本发明实施例提供的替换装置的模块连接示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种非易失性存储器的替换方法、装置及存储介质,通过在存储芯片内部嵌套执行本发明实施例的替换方法,从而在执行编程-擦除操作过程中,由存储芯片自身内部对不通过编程校验和擦除校验的存储单元按字线地址进行替换,从而提高测试效率,降低了测试机的性能要求。
下面结合附图,对本发明实施例作进一步阐述。
参照图2,本发明实施例提供了一种非易失性存储器的替换方法,存储器包括SONOS工艺生产的存储单元,替换方法包括但不限于以下步骤S100、步骤S200、步骤S300和步骤S400。
步骤S100,当接收到编程操作指令,根据编程操作指令对目标区域循环进行编程-校验操作;
步骤S200,当目标区域连续不通过编程-校验操作的次数大于第一设定值,按字线地址对目标区域执行替换操作;
步骤S300,当接收到擦除操作指令,根据擦除操作指令对目标区域循环进行擦除-校验操作;
步骤S400,当目标区域连续不通过擦除-校验操作的次数大于第二设定值,对目标区域中未通过擦除-校验操作的字线地址执行替换操作。
非易失性存储器广泛应用于目前主流的存储产品,非易失性存储器通过半导体工艺生产得到,生产过程中,由晶圆划分出多个存储芯片,存储芯片经测试通过后,出厂组装成存储产品。其中SONOS工艺是生产非易失性存储器的其中一种工艺,基于SONOS工艺生产的存储器的结构参照图1所示,每个存储单元都有一个对应的控制管(通常是nmos管,用于进行数据地址选择)和与该控制管对应的数据管(用于存储数据),因此SONOS工艺生产的存储器的结构的字线地址同时具有控制管字线地址SWL和数据管字线地址WL,上述两种字线地址在图1中以下面方式表示:(SEL-WL0,WL0)、(SEL-WL1,WL1)、(SEL-WL2,WL2)、……、(SEL-WLn,WLn),其中n为自然数;显然,字线连接控制的是MOS管的栅极,且一条字线上连接有多个MOS管,构成存储芯片的行地址,因此对一个字线地址执行的操作实际上是对多个MOS管进行操作,另外,存储芯片还具有列地址,用位线BL表示,位线BL连接不同字线地址上数据管的源漏注入区,不同字线地址上控制管的源漏注入区连接到源线上(source line)。
在存储芯片的量产测试过程中,通过测试机接触存储芯片进行量产测试,例如,通过金属针接触存储芯片上的触点,测试机向存储芯片发送测试指令,并接收存储芯片返回的结果,从而判断存储芯片是否通过测试。上述测试通常称为CP测试(Circuit ProbingTest),在CP测试过程中,测试机的测试程序起着重要的作用,控制整个测试流程,因此性能越高的测试机往往能实现更复杂的测试项目。目前针对SONOS工艺生产的存储器的CP测试,在发现存储芯片内部有存储单元出现问题时,往往要测试机先接收到存储芯片的测试结果,再向该存储芯片发送替换指令,之后再对替换指令的执行结果进行替换地址的固化,而替换指令对应的替换操作往往又分为多条指令执行,因此测试机在上述测试过程中需要花费较多的时间,且要求测试机能够准确完成替换操作,因此测试过程较慢,对测试机的性能要求较高。
基于此,通过本发明实施例的替换方法,由存储芯片内部完成校验和替换过程,可以大大降低对测试机的性能要求,从而提高测试效率。可以理解的是,由于替换操作需要用到替换单元,因此,存储芯片内需要集成一定数量的替换单元以供使用;参照图1可知,存储芯片内划分出两部分区域,一部分是常规的存储区域,另一部分是预留的替换区域,替换区域中的替换单元在用户使用过程中不可用,但实际上替换单元的结构与普通的存储单元的结构相同,因此可以通过替换操作对字线地址进行替换,以图1为例,替换单元的字线地址以WL_dummy和SEL-WL_dummy表示,在进行替换操作的时候,以字线地址为最小单位,将出现问题的存储单元对应的字线地址替换成替换单元对应的字线地址。
本发明实施例在CP测试过程中,测试机向存储芯片发送编程-擦除操作指令,该指令分为两部分,一部分是编程操作指令,对应编程-校验操作,另一部分是擦除操作指令,对应擦除-校验操作,下面分两部分进行说明。
编程操作:
一般来说,当存储芯片接收到测试机发送的编程操作指令,根据编程操作指令对目标区域进行编程,写入测试数据,然后读出写入的测试数据,判断读出的数据是否正确,因此,传统的针对SONOS工艺存储器的编程操作相当简单,对存储芯片执行一次软擦除操作后,再执行一次编程操作,后续的校验过程则不属于编程操作的范围内,需要由测试机发送指令控制执行。
本发明实施例在编程操作过程中加入了替换操作,并由存储芯片负责判断和执行替换操作,从而实现软擦除+编程+校验+替换整个流程,这其中的编程+校验两步骤会循环迭代。具体来说,存储芯片根据接收到的编程操作指令,选出目标区域,对目标区域循环执行编程-校验操作,即在每次循环中,都对目标区域进行一次编程写入和编程校验,判断目标区域是否能够通过校验,根据校验结果确定是否需要执行替换操作。其中,存储芯片预设第一设定值,用作停止循环的其中一个依据,当目标区域无法通过编程校验的次数大于第一设定值,则认为目标区域已经无法正常工作,需要对其进行替换。本发明实施例的替换操作针对字线进行,目标区域所在的行地址即为字线地址,相当于将编程校验失败的目标区域对应的字线地址与预留的用于替换的替换单元对应的字线地址进行交换。
上述软擦除+编程+校验+替换的整个过程均在存储芯片内部执行,且响应于测试机发送的编程操作指令,而不需要测试机再额外发送校验、替换等指令,从而减轻了测试机的运行负担。
其中,参照图3,步骤S100中对目标区域循环执行编程-校验操作,具体包括但不限于以下步骤S110、步骤S120、步骤S130和步骤S140。
步骤S110,获取编程计数器的计数;
步骤S120,当编程计数器的计数不大于第一设定值,对目标区域执行一次编程-校验操作;
步骤S130,当目标区域不通过编程校验,将编程计数器的计数加一;
步骤S140,以编程计数器的当前计数和目标区域迭代执行编程-校验操作,直到目标区域通过编程校验或编程计数器的计数大于第一设定值。
通过编程计数器对循环次数进行计数,当每次执行编程-校验操作,且当次编程-校验操作不通过,都将编程计数器加一,直到编程计数器的技术大于第一设定值,将不再进行编程-校验操作,转而执行替换操作。可以理解的是,在循环执行编程-校验操作的过程中,只要有一次通过编程校验,都认为目标区域正常工作,此时立即结束循环,因此可以知道,如果一个目标区域需要被替换,则表明其从始至终都没有一次通过编程校验。
值得注意的是,替换后的替换单元同样需要执行编程-校验操作:当完成替换操作,重置编程计数器的计数,将替换后的替换单元对应的字线地址作为目标区域,对目标区域循环进行编程-校验操作。一般来说,替换单元默认是正常的存储单元,因此通常都能通过编程校验,如果替换后的替换单元无法通过编程校验的次数大于第一设定值,那么按照上述方法再次选取新的替换单元的字线地址来执行替换操作。
基于SONOS工艺的存储芯片的结构,本发明实施例的替换操作按字线执行,具体来说,参照图4,步骤S200中按字线地址对目标区域执行替换操作,包括但不限于以下步骤S210和步骤S220。
步骤S210,获取替换单元的字线地址和目标区域的字线地址;
步骤S220,将目标区域的字线地址替换成替换单元的字线地址。
当执行替换操作,需要确定替换单元的字线地址和目标区域的字线地址,由于编程操作指令的最大区域是page,一般小于或等于一条字线,因此上述的目标区域等效为一条字线上的全部存储单元,则替换的实际过程是,将替换区域中某一条字线地址上的替换单元替换到目标区域对应的存储单元上,当然,半导体存储中存储单元的变换并不涉及硬件上的操作,只需要配置地址即可,因此本发明实施例的替换操作是将目标区域的字线地址替换成替换单元的字线地址,并且,将该替换操作对应的替换信息固化到存储芯片的参数配置区域,这样,存储产品在每次上电时,都可以确定替换后的地址信息。
可以理解的是,在步骤S210之前,即在获取替换单元的字线地址和目标区域的字线地址之前,还包括对替换操作可行性进行判断的过程,参照图5,具体包括步骤S201和步骤S202:
步骤S201,判断目标区域是否适用于执行替换操作;
步骤S202,若是,查找并选取替换区域中的一条可用的字线,若否,将目标区域的编程失败标志位设置为有效。
判断目标区域是否适用于执行替换操作可以包含两个方面的判断,一个方面是判断目标区域是否能被替换,某些存储单元并非常规的存储区域,这时这些存储单元可能并不适用于执行替换操作,而是需要向测试员或用户报错;另一方面是判断替换单元是否可用于执行替换操作,当替换区域中已经没有空闲的替换单元,那么就无法执行替换操作,这时同样需要向测试员或用户报错。若能够执行替换操作,则在替换区域中选取一条可用的字线,获取其字线地址,从而将该字线地址上的替换单元替换到目标区域,若无法执行替换操作,除了向测试员或用户报错,还需要将目标区域的编程失败标志位设置为有效,以防止后续对目标区域进行读写,影响存储产品的稳定性。
根据上述SONOS工艺的结构可知,目标区域的字线地址包括第一控制管字线地址和第一数据管字线地址,替换单元的字线地址包括第二控制管字线地址和第二数据管字线地址,因此在执行替换操作过程中,需要对控制管字线地址和数据管字线地址作为一个整体进行替换,即步骤S220具体包括:
交换第一控制管字线地址和第二控制管字线地址,交换第一数据管字线地址和第二数据管字线地址。
由于SONOS中存储单元结构的特殊性,在执行替换操作的时候,需要对字线整体进行替换,根据前述字线结构的说明可知,存储单元包括控制管和数据管,因此字线地址包括控制管字线地址和数据管字线地址,那么目标区域的字线地址中第一控制管字线地址要跟替换单元的字线地址中的第二控制管字线地址交换,目标区域的字线地址中第一数据管字线地址要跟替换单元的字线地址中的第二数据管字线地址交换,才能完成字线的整体替换。
擦除操作:
一般来说,当存储芯片接收到测试机发送的擦除操作指令,根据擦除操作指令对目标区域进行擦除,将目标区域的存储单元的数据重置为1,然后读出重置后的数据(电流),判断读出的数据(电流)是否正确,由此可知,擦除之前需要先对目标区域进行软编程,目的在于使目标区域随机写入数据,然后执行擦除来重置数据,然后看擦除是否成功,因此,传统的针对SONOS工艺存储器的擦除操作相当简单,对存储芯片执行一次软编程操作后,再执行一次擦除操作,后续的校验过程则不属于擦除操作的范围内,需要由测试机发送指令控制执行。
本发明实施例在擦除操作过程中加入了替换操作,并由存储芯片负责判断和执行替换操作,从而实现软编程+擦除+校验+替换整个过程,这其中的而擦除+校验两步骤会循环迭代,并且在循环迭代中筛选出仍未通过擦除校验的字线地址来进入下一次迭代。具体来说,存储芯片根据接收到的擦除操作指令,选出目标区域,对目标区域循环执行擦除-校验操作,并选出当前循环中未通过擦除校验的字线地址,即在每次循环中,都对目标区域在上一次循环中未通过擦除校验的字线地址进行一次数据擦除和擦除校验,最后,判断目标区域是否有字线地址无法通过校验,从而确定是否执行替换操作。其中,存储芯片预设第二设定值,用作停止循环的其中一个依据,当目标区域无法通过擦除校验的次数大于第二设定值,则认为目标区域中存在字线无法正常工作,需要对其进行替换。同样地,本发明实施例的擦除操作中的替换操作针对字线进行,将目标区域中擦除校验失败的字线地址与预留的用于替换的替换单元对应的字线地址进行交换。
上述软编程+编擦除+校验+替换的整个过程均在存储芯片内部执行,且响应于测试机发送的擦除操作指令,而不需要测试机再额外发送校验、替换等指令,从而减轻了测试机的运行负担。
其中,参照图6,步骤S300中根据擦除操作指令对目标区域循环进行擦除-校验操作,包括但不限于以下步骤S310、步骤S320和步骤S330。
步骤S310,对目标区域执行软编程操作;
步骤S320,对目标区域循环执行擦除-校验操作,擦除-校验操作包括擦除编程数据和擦除校验;
步骤S330,记录每次循环中不通过擦除校验的字线地址,以用于下一次擦除-校验操作循环。
通过软编程操作对目标区域写入数据,以便于测试后续进行擦除和擦除校验。可以理解的是,与编程操作针对一个字线地址进行不同,擦除操作可以针对多个字线地址进行,因此本发明实施例中目标区域可以包括多个字线地址。当目标区域首次进行擦除-校验操作,将对目标区域中全部字线地址进行擦除,再对整个目标区域进行擦除校验,判断出目标区域中是否存在一些字线没有通过擦除校验,记录这些不通过擦除校验的字线地址,并将其用作下一次擦除-校验操作循环,因此,本发明实施例的擦除-校验操作循环,并不会对已经通过擦除校验的字线重复擦除,避免引起过擦除状态,从而降低存储单元在擦除过程中的磨损。
上述步骤S320中,采用擦除计数器的计数来结束擦除-校验操作循环。具体来说,参照图7,步骤S320中对目标区域循环执行擦除-校验操作,包括但不限于以下步骤:
步骤S321,获取擦除计数器的计数和上一次循环中不通过擦除校验的字线地址;
步骤S322,当擦除计数器的计数不大于第二设定值,对上一次循环中不通过擦除校验的字线地址执行一次擦除-校验操作;
步骤S323,当至少一个字线地址不通过擦除校验,将擦除计数器的计数加一,并更新不通过擦除校验的字线地址;
步骤S324,以擦除计数器的当前计数和当前循环中不通过擦除校验的字线地址迭代执行擦除-校验操作,直到目标区域的全部字线地址通过擦除校验或擦除计数器的计数大于第二设定值。
可以理解的是,为了避免对正常工作的字线地址上的存储单元造成过擦除,除了首次循环,后续的每次循环开始时都要获取两个要素,即擦除计数器的技术和上一次循环中不通过擦除校验的字线地址,这样,才能在当前循环中仅对不通过擦除校验的字线地址进行擦除-校验操作。每次执行擦除-校验操作后,如果还有一些字线地址无法通过擦除校验,那么将擦除计数器的计数加一,以进入下一次循环,如果目标区域的全部字线地址都已经通过擦除校验,那么直接结束对当前目标区域的擦除操作,因此,可以理解,与上述的编程操作过程不同,不是判断只要有一次通过校验就可以结束,而是需要目前区域的全部字线地址都通过校验才能结束;当然,由于擦除操作可以针对不同大小的目标区域执行的,目标区域可以是page、sector、block甚至是chip,即目标区域分范围可以大于或等于一条字线地址,因此,如果目标区域是page时,即目标区域仅有一条字线地址,这时只要有一次通过擦除校验也能结束循环。
值得注意的是,替换后的替换单元同样需要执行擦除-校验操作:当完成替换操作,重置编程计数器的计数,将替换后的替换单元对应的字线地址作为目标区域,对目标区域循环进行擦除-校验操作。一般来说,替换单元默认是正常的存储单元,因此通常都能通过擦除校验,如果替换后的替换单元无法通过擦除校验的次数大于第二设定值,那么按照上述方法再次选取新的替换单元的字线地址来执行替换操作。
基于SONOS工艺的存储芯片的结构,本发明实施例的替换操作按字线执行,具体来说,参照图8,步骤S400中按字线地址对目标区域执行替换操作,包括但不限于以下步骤S410和步骤S420。
步骤S410,获取替换单元的字线地址和目标区域中未通过擦除-校验操作的字线地址;
步骤S420,将目标区域中未通过擦除-校验操作的字线地址替换成替换单元的字线地址。
当执行替换操作,需要确定替换单元的字线地址和目标区域的字线地址,由于擦除操作指令可以针对不同的区域,可以大于或等于一条字线,为了便于后面说明,以目标区域中不通过擦除校验的字线地址有两条以上为例,那么替换的实际过程是,将目标区域中不通过擦除校验的多条字线地址替换成替换区域中的多条字线地址,并且替换区域中选中用于替换的字线地址的数量等于目标区域中不通过擦除校验的地址数量。同样地,半导体存储中的替换是通过配置地址完成的,因此本发明实施例的替换操作是将目标区域的字线地址替换成替换单元的字线地址,并且,将该替换操作对应的替换信息固化到存储芯片的参数配置区域,这样,存储产品在每次上电时,都可以确定替换后的地址信息。
可以理解的是,参照图9,在步骤S410之前,即在获取替换单元的字线地址和目标区域中未通过擦除-校验操作的字线地址之前,还包括以下步骤:
步骤S401,确定目标区域中未通过擦除-校验操作的字线地址中适用于执行替换操作的字线地址数量;
步骤S402,查找并选取与字线地址数量相同的替换单元。
上述步骤S401包含了判断目标区域是否适用于执行替换操作,同样也包含两个方面的判断,一个方面是判断目标区域是否能被替换,另一个方面是判断替换单元是否可用于执行替换操作;当确定能够执行替换操作,则在替换区域中选中相应数量的字线,并获取那些字线的字线地址,从而将该字线地址上的替换单元替换到目标区域中相应的字线地址上;若无法执行替换操作,除了向测试员或用户报错,还需要将目标区域的擦除失败标志位设置为有效,以防止后续对目标区域进行读写,影响存储产品的稳定性。
根据上述SONOS工艺的存储器的结构可知,每个存储单元对应的字线地址都包括控制管字线地址和数据管字线地址,因此,参照图10,上述步骤S420中将目标区域中未通过擦除-校验操作的字线地址替换成替换单元的字线地址,具体包括但不限于以下步骤S421、步骤S422和步骤S423。
步骤S421,确定目标区域中未通过擦除-校验操作的各个字线地址中的第三控制管字线地址和第三数据管字线地址;
步骤S422,确定替换单元的字线地址中的第四控制管字线地址和第四数据管字线地址;
步骤S423,交换第三控制管字线地址和第四控制管字线地址,交换第三数据管字线地址和第四数据管字线地址。
与上述编程操作过程的替换方式类似,擦除操作过程中的替换操作也按照控制管对控制管对应,数据管和数据管对应的规则,将替换区域中字线地址的第四控制管和第四数据管分别替换目标区域中需要被替换的字线地址的第三控制管和第三数据管;可以理解的是,由于目标区域中被替换的字线地址可以是多个,所以上面所指的第三控制管和第三数据管,以及第四控制管和第四数据管的数量可以是多个。
值得注意的是,上述针对编程操作和擦除操作的说明虽然是指CP测试过程中进行的操作,实际上,由于存储芯片内部嵌套了执行上述本发明实施例的替换方法的程序,因此用户在使用存储产品的过程中,存储产品内部也可以执行本发明实施例的替换方法,针对随着正常使用而性能退化的存储单元,存储芯片可以进行内部替换以修复出现问题的存储单元,从而延长存储产品的寿命。
通过上述对编程操作和擦除操作的说明可以知道,本发明实施例的编程操作和擦除操作相比常规的编程操作和擦除操作,增加了校验和替换步骤,使得软擦除-编程-校验-替换以及软编程-擦除-校验-替换的整个过程都集中在存储芯片内部完成,根据校验结果按字线地址进行替换,无需测试机与存储芯片之间频繁通信,也就是说,测试机只需要向待测存储芯片发送编程-擦除操作指令即可,不需要测试机根据编程和擦除情况再额外发送校验和替换等指令,大大降低了测试机的工作负担和性能要求,同时还在校验过程中,加入循环迭代和循环结束的设定值来控制编程-擦除操作指令的执行时间,确保能够高效完成替换。另一方面,由于存储芯片在内部执行上述替换方法,因此本发明实施例除了可以应用在CP测试阶段,还可以应用在用户使用存储产品的过程中,延长存储产品的工作寿命。
下面以一个实际例子对本发明实施例进行说明:
本示例的替换方法应用于非易失性存储器,非易失性存储器中包括SONOS工艺生产的存储单元,该替换方法由非易失性存储器中的控制模块执行,该控制模块可以是连接若干个存储芯片的控制器,也可以是单个存储芯片内的控制器,从而对存储芯片中的各个字线地址执行上述替换方法,替换方法以下分为两个方面说明:
(1)编程操作,参照图11:
步骤S510,对目标区域进行软擦除操作;
步骤S520,对目标区域进行编程,写入测试数据;
步骤S530,对目标区域进行编程校验,并判断目标区域的数据能否通过校验;
步骤S540,若目标区域能够通过校验,则结束对目标区域的编程操作,若目标区域不能通过校验,则判断编程计数器的计数是否超过第一设定值;
步骤S550,若编程计数器的计数超过第一设定值,则判断目标区域是否可以执行替换操作,若编程计数器的计数不超过第一设定值,则将编程计数器的计数加一,调整编程操作的设置参数,回到步骤S520;
步骤S560,若判断目标区域可以执行替换操作,则选取替换区域中一个可用的字线地址,将其与目标区域的字线地址交换,若判断目标区域不可以执行替换操作,则将编程失败标志位设置为有效,结束对目标区域的编程操作;
步骤S570,对于替换后的字线地址,重置编程计数器和调整编程操作的设置参数,回到步骤S520。
其中,步骤S570中,确定替换后的字线地址通过校验后,将替换信息写入存储芯片的参数配置区域,以便在存储芯片每次上电都读出替换信息。
(2)擦除操作,参照图12:
步骤S610,对目标区域进行软编程操作;
步骤S620,对目标区域进行首次擦除和擦除校验,若存在未通过校验的字线地址,则记录未通过校验的字线地址,并将擦除计数器的计数设为1,若全部字线地址都通过擦除校验,则结束目标区域的擦除操作;
步骤S630,对未通过校验的字线地址进行擦除校验,并判断能否通过校验;
步骤S640,若目标区域的全部字线地址能够通过擦除校验,则结束对目标区域的擦除操作,若目标区域不能通过校验,则更新并记录未通过校验的字线地址,并判断擦除计数器的计数是否超过第二设定值;
步骤S650,若擦除计数器的计数超过第二设定值,则判断未通过校验的字线地址是否可以执行替换操作,若擦除计数器的计数不超过第二设定值,则将擦除计数器加一,调整擦除操作的设置参数,回到步骤S630;
步骤S660,若判断目标区域可以执行替换操作,则选取替换区域中与未通过校验的字线地址的数量相同的可用的字线地址,将其与未通过校验的字线地址一一交换,若判断目标区域不可以执行替换操作,则将擦护失败标志位设置为有效,结束对目标区域的擦除操作;
步骤S670,对于替换后的字线地址,重置擦除计数器和调整擦除操作的设置参数,回到步骤S630。
其中,步骤S670中,确定替换后的字线地址通过校验后,将替换信息写入存储芯片的参数配置区域,以便在存储芯片每次上电都读出替换信息。
本发明实施例还提供了一种参考电流确定装置,包括至少一个处理器和用于与至少一个处理器通信连接的存储器;存储器存储有能够被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述的替换方法。
参照图13,以设备1000中的控制处理器1001和存储器1002可以通过总线连接为例。存储器1002作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器1002可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器1002可选包括相对于控制处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至设备1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,图13中示出的装置结构并不构成对设备1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例的还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被图13中的一个控制处理器1001执行,可使得上述一个或多个控制处理器执行上述方法实施例中的替换方法,例如,执行以上描述的图2中的方法步骤S100至步骤S400、图3中的方法步骤S110至步骤S140、图4中的方法步骤S210至步骤S220、图5中的方法步骤S201至步骤S202、图6中的方法步骤S310至步骤S330、图7中的方法步骤S321至步骤S324、图8中的方法步骤S410至步骤S420、图9中的方法步骤S401至步骤S402和图10中的方法步骤S421至步骤S423。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。