存储器的检测方法
技术领域
本发明涉及半导体存储器技术领域,尤其涉及一种存储器的检测方法。
背景技术
随着半导体技术的发展,存储器的种类也越来越多。通常的,可以将半导体存储器分为易失性存储器和非易失性存储器两大类,易失性存储器在掉电后会失去存储的数据,非易失性存储器即使在切断电源的情况下仍能保持所存储的数据信息。
闪存(Flash Memory)作为一种非易失性存储器被广泛应用于各种领域,闪存通常被用来保存配置信息,如电脑的BIOS(基本输入输出程序)、PDA(Personal DigitalAssistant,个人数字助理)、数码相机中保存资料等。嵌入式闪存(Embedded FlashMemory,E-flash)具有低功耗、大容量和低成本等诸多优点,特别适合于消费电子、通信和工业控制等领域的应用。
E-flash存储器在出厂前通常被写入相应的配置信息数据、条码信息数据或软件信息数据。E-flash的配置信息数据用以校正存储器在读、写或擦除操作时的最佳状态;条码信息数据作为存储器的标识信息,在存储器的失效分析时显得尤为重要;软件信息数据通常在存储器的测试阶段被写入,通常根据客户的不同需求设置。E-flash存储器的配置信息数据、条码信息数码或软件信息数据通常不能在应用中被修改。
现有技术中,对E-flash存储器进行检测后,若E-flash存储器中不存在坏区并且配置信息数据等也能正确读出即判定存储器合格。但是在实际运用中,有时会发现由于外界因素、应用条件改变或者是E-flash存储器的数据保存能力差而导致检测合格的E-flash存储器不能正常使用。
更多关于存储器、存储器检测方法的专利申请可参考2012年4月18日公开的、公开号为CN102420017A的中国专利申请,但是该专利申请中并未解决上述技术问题。
发明内容
本发明解决的问题是现有的存储器的检测方法可靠性低而导致检测合格的存储器在实际应用中无法正常使用。
为解决上述问题,本发明提供一种存储器的检测方法,所述方法包括:
在所述存储器中写入预设数据;
在第一测试条件下对所述存储器进行第一次读取操作,根据所述第一次读取操作的读取结果与第一阈值的比较结果获得第一读取数据;
在所述第一读取数据与所述预设数据相同时,在所述第一测试条件下对所述存储器进行第二次读取操作,根据所述第二次读取操作的读取结果与第二阈值的比较结果获得第二读取数据;
根据所述第二读取数据与所述预设数据的比较结果对所述存储器进行判定操作。
可选地,所述对所述存储器进行判定操作包括:在所述第二读取数据与所述预设数据相同时判定所述存储器合格。
可选地,所述第二阈值大于所述第一阈值,所述对所述存储器进行判定操作包括:
在所述第一测试条件下,对所述存储器进行第三次读取操作,根据第三次读取操作的读取结果与第三阈值的比较结果获得第三读取数据,在所述第三读取数据与所述预设数据相同时判定所述存储器合格;其中,所述第三阈值小于所述第一阈值。
可选地,所述第二阈值小于所述第一阈值,所述对所述存储器进行判定操作包括:
在所述第一测试条件下,对所述存储器进行第三次读取操作,根据第三次读取操作的读取结果与第三阈值的比较结果获得第三读取数据,在所述第三读取数据与所述预设数据相同时判定所述存储器合格;其中,所述第三阈值大于所述第一阈值。
可选地,所述存储器的检测方法还包括:在所述第一测试条件下对存储器进行数据保持的测试。
可选地,所述预设数据包括:所述存储器的配置信息数据、条码信息数据或者软件信息数据。
可选地,所述存储器的检测方法还包括:在对所述存储器进行第一次读取操作之前,对所述存储器进行烘焙。
可选地,所述对所述存储器进行烘焙的步骤包括:在200℃~300℃的温度范围内,对所述存储器进行大于或者等于两天的烘焙。
可选地,所述存储器的检测方法还包括:在对所述存储器进行烘焙之前,在第二测试条件下对所述存储器进行读、写或者擦除测试。
可选地,所述读取操作的读取结果为电压值或者电流值。
与现有技术相比,本发明的技术方案具有以下优点:
本发明存储器的检测方法中,至少对所述存储器进行两次读取操作,每次读取操作后获得读取数据时的参考阈值不同,只有当每次读取操作获得的读取数据与预设数据相同时才判定所述存储器合格,若读取操作获得的读取数据与预设数据不同时则判定所述存储器不合格。
与现有技术相比,本发明存储器的检测方法通过设置不同的参考阈值可以获得不同的读取数据,通过不同的读取数据与写入的预设数据相比可以将部分不满足要求的存储器判定为不合格,提高了检测结果的可靠性,从而可以避免由于应用条件的改变、存储器的数据保存能力差等因素导致的无法正常使用的问题。
进一步地,本发明存储器的检测方法中还可以在对所述存储器进行第一次读取操作之前对所述存储器进行烘焙。通过烘焙,存储器中的数据保存能力可能会有所降低,再通过至少两次的读取操作与比较,在每次读取数据与预设数据相同时判定所述存储器合格。这样,可以进一步地提高检测结果的可靠性,进而保证存储器在实际应用中的正常使用。
附图说明
图1是本发明存储器的检测方法的实施例一的流程示意图;
图2是适于执行实施例一中读取操作时使用的第一阈值和第二阈值的示意图;
图3是本发明存储器的检测方法的实施例二的流程示意图;
图4是适于执行实施例二中读取操作时使用的第一阈值、第二阈值和第三阈值的示意图;
图5是本发明存储器的检测方法的实施例三的流程示意图。
具体实施方式
正如背景技术中所述的,现有技术中即使对存储器的配置信息等数据进行检测时也仅仅是检测写入存储器的配置信息是否能够正确读出,若存储器中的配置信息等可以被正确读出则判定存储器合格。
实际上,存储器在客户端的使用环境可能与检测环境存在一定的差异,存储器即使通过了现有技术的检测,也可能会在客户端出现错误,从而导致存储器无法使用。
为解决上述问题,本发明提供了一种存储器的检测方法,包括:
在所述存储器中写入预设数据;
在第一测试条件下对所述存储器进行第一次读取操作,根据所述第一次读取操作的读取结果与第一阈值的比较结果获得第一读取数据;
在所述第一读取数据与所述预设数据相同时,在所述第一测试条件下对所述存储器进行第二次读取操作,根据所述第二次读取操作的读取结果与第二阈值的比较结果获得第二读取数据;
根据所述第二读取数据与所述预设数据的比较结果对所述存储器进行判定操作。
本发明的存储器的检测方法通过至少两次读取操作对所述存储器进行检测,每次获得读取数据时与读取结果进行比较的参考阈值(第一阈值或第二阈值)不同;只有当每次读取操作获得的读取数据均与预设数据相同时才判定所述存储器合格,否则判定所述存储器不合格。通过多次比较读取数据与写入的预设数据使得存储器的检测结果的可靠性大大提高,从而避免存储器在客户端出现无法正常使用的问题。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
实施例一
图1示出了本发明存储器的检测方法的实施例一的流程示意图。参考图1,所述存储器的检测方法包括:
执行步骤S1:在所述存储器中写入预设数据。
本实施例中,所述预设数据包括:所述存储器的配置信息数据、条码信息数据或者软件信息数据。
所述预设数据存储在所述存储器的只读区域,在具体应用中,只对所述预设数据进行读取操作,而不会对所述预设数据进行修改。本实施例中的存储器可以为只读存储器或者其他类型的存储器,本发明对此不做限制。
另外需要说明的是,所述预设数据是由多个二进制数据“0”或“1”组成的。例如,在所述存储器中写入的预设数据为“000110”。存储器的存储单元在存储二进制数据“0”或“1”时,存储单元的浮栅上存储的电荷量不同,从而导致所述存储单元的阈值电压不同。当所述预设数据写入到存储器中时,存储器的存储单元根据存储的二进制数据的不同而表现出不同的阈值电压。
执行步骤S2:在第一测试条件下对所述存储器进行第一次读取操作,根据所述第一次读取操作的读取结果与第一阈值的比较结果获得第一读取数据。
本实施例中,第一次读取操作指的是将存储器中存储的预设数据依次读取出来。读取结果对应于所述预设数据的电流值或电压值,在本实施例中,所述读取结果对应的是电流值,二进制数据“0”对应的电流值小于二进制数据“1”对应的电流值。
在读出一存储单元存储的一位预设数据后,将读取结果与第一阈值进行比较以获得一读取数据,若读取结果大于所述第一阈值,则代表该存储单元中存储的是二进制数据“1”;若读取结果小于所述第一阈值,则代表该存储单元中存储的是二进制数据“0”。依次对存储所述预设数据的各个存储单元读取完毕后获得第一次读取操作对应的第一读取数据,例如,所述第一读取数据为“000110”。
执行步骤S3:判断所述第一读取数据与所述预设数据是否相同。若所述第一读取数据与所述预设数据相同则执行步骤S4:在第一测试条件下对所述存储器进行第二次读取操作,根据所述第二次读取操作的读取结果与第二阈值的比较结果获得第二读取数据;若所述第一读取数据与所述预设数据不同则执行步骤S5:判定所述存储器不合格。
在具体举例中,所述第一读取数据为“000110”,写入的预设数据也为“000110”,所述第一读取数据与预设数据相同,那么则接着执行步骤S4。
所述第二次读取操作的条件与第一次读取操作的条件相同,均为第一测试条件,所述第二次读取操作的工作过程与前述第一次读取操作的工作过程相类似,在此不再赘述。
执行步骤S6:比较所述第二读取数据与所述预设数据是否相同。
具体地,假设执行第二次读取操作获得的第二读取数据为:“000100”,而所述预设数据为:“000110”,所述第二读取数据与所述预设数据不相同,因此,执行步骤S5:判定所述存储器不合格。
另外,若假设执行第二次读取操作获得的第二读取数据为:“000110”,所述预设数据也为:“000110”,所述第二读取数据与所述预设数据相同,那么则执行步骤S7:判定所述存储器合格。
在其他实施例中,所述存储器的检测方法还可以包括:在所述第一测试条件下对存储器进行数据保持的测试。
本实施例中,所述第二阈值可以大于所述第一阈值,也可以小于所述第二阈值,本发明对此不做限制。所述第二阈值可以根据存储器在客户端的使用条件进行设置,具体考量因素包括:客户端提供的时钟、施加的电压或者使用频率等等。
如前述,存储器中存储的数据的不同会导致存储单元的阈值电压不同。一般地,随着时间的延长,所述存储单元的浮栅上存储的电荷量会逐渐减少,所述存储单元的阈值电压随之逐渐下降,从而导致在读取操作时,使得读取出的电流值或电压值下降。这样,随着时间的延长,对存储器进行读取操作时的读取数据可能会出现错误,从而使得存储器无法正常使用。
举一个简单的例子,对某个存储单元写入预设数据“1”;对该存储单元进行读取,读取结果为45μA,对所述存储器搁置N天后,对该存储单元再次进行读取:读取结果变为35μA;再假设这两次读取过程中采用的第一阈值为均40μA。那么:前一次读取数据为“1”,而后一次读取数据则变为“0”。后一次读取数据与写入的预设数据不相同,出现了错误结果。若该存储单元中存储的预设数据为存储器的配置信息中的一位,那么,后一次读取时,所述存储器的配置信息出现了错误,从而影响了存储器的正常使用。
现有的检测存储器的方法通常只采用一次读取结果来判定所述存储器是否合格。正如前述例子一样,在检测过程中,所述存储器中的数据可以被正确读出,而经过一段时间到达客户端时,所述存储器中的某些数据所对应的存储单元的阈值电压有所下降,从而在客户端使用时出现了错误的读取结果,最终使得无法正常使用存储器。
在实施例中,对存储器执行第二次读取操作,并适当设置第二次读取操作对应的第二阈值使其大于第一次读取操作对应的第一阈值,这样通过第二次读取操作可以将读取结果大于所述第一阈值且小于所述第二阈值的存储单元检测出来,并以此判定该存储器不合格。
图2示出了适于执行本发明实施例一中读取操作时使用的第一阈值和第二阈值的示意图。参考图2,纵坐标代表与二进制数据对应的电流值,单位为μA;直线Expect0表示理想状态下,二进制数据“0”对应的电流值;直线Expect1表示理想状态下,二进制数据“1”对应的电流值;直线A1代表第一阈值对应的电流值;直线A2代表第二阈值对应的电流值。
在一个具体实例中,所述直线Expect0对应的电流值为0;直线Expect1处的电流值范围为30~50μA;直线A2处对应的电流值为直线Expect1的电流值的65%;直线A1对应的电流值为直线Expect1的电流值的30%。当然,还可以根据实际情况适当修改所述第一阈值和第二阈值的电流值,本发明对此不做限制。
结合图1和图2,第一次读取操作中,以所述第一阈值为参考值来获得第一读取数据,即位于直线A1以下为二进制数据“0”,位于直线A1以上为二进制数据“1”。再执行第二次读取操作,以所述第二阈值为参考值来获得第二读取数据,即位于直线A2以下为二进制数据“0”,位于直线A2以上为二进制数据“1”。
两次读取操作后,针对存储器中被写入二进制数据“1”的存储单元,若这些存储单元的读取结果均位于直线A2以上则判定所述存储器合格。若被写入二进制数据“1”的存储单元的读取结果位于直线A1以上且位于直线A2以下,那么将存储器判定为不合格。
利用本实施例的检测方法判定合格的存储器,其中对应二进制数据“1”的存储单元在读取操作时均具有较高的电流值,也就是说,本实施例的检测方法可以选择出浮栅上具有较大电荷量的存储器,从而防止其阈值电压随着时间的延长而下降至第一阈值以下,进而导致存储器无法正常使用。
当然,在其他实施例中,还可以将所述第二阈值设置为小于所述第一阈值,这样判定合格的存储器中对应于二进制数据“0”的存储单元在读取操作时均具有更低的电流值,防止由于使用条件的改变而导致对应于二进制数据“0”的存储单元被误读为二进制数据“1”。
实施例二
图3示出了本发明存储器的检测方法的实施例二的流程示意图。参考图3,实施例二与实施例一的区别之处主要在于:所述存储器的检测方法还可以在所述第二读取数据与所述预设数据相同时,执行步骤S8:在所述第一测试条件下,对所述存储器进行第三次读取操作,根据第三次读取操作的读取结果与第三阈值的比较结果获得第三读取数据。
本实施例中,所述第三阈值小于所述第一阈值;所述第二阈值大于所述第一阈值。
执行步骤S9:判断所述第三读取数据与所述预设数据是否相同。
若所述第三读取数据与所述预设数据相同,则执行步骤S10:判定所述存储器合格;若所述第三读取数据与所述预设数据不相同,则执行步骤S5:判定所述存储器不合格。
图4示出了实施例二中各个阈值的示意图。参考图4,直线A1表示第一阈值;直线A2表示第二阈值;直线A3表示第三阈值。
与实施例一类似的,实施例二中,针对存储器中被写入的二进制数据“1”的存储单元,通过第二次读取操作将读取结果位于直线A2以下且位于直线A1以上的判定为不合格;
针对存储器中被写入的二进制数据“0”的存储单元,通过第三次读取操作将读取结果位于直线A1以下且位于直线A3以上的判定为不合格。
换句话说,对于被写入二进制数据“1”的存储单元来说,只有读取结果位于所述直线A2以上才判定为合格;对于被写入二进制数据“0”的存储单元来说,只有读取结果位于所述直线A3以下才判定为合格。
本实施例中,所述第一阈值、第二阈值和第三阈值的设置均与存储器的使用条件有关,在不同的使用条件和应用环境中,所述第一阈值、第二阈值和第三阈值的取值会有相应的改变。同时,在设置各个阈值时还应该结合存储器的合格率来考虑,使得设置后的各个阈值既能满足使用条件的要求又能尽可能提高检测结果的合格率。利用本实施例的检测方法判定为合格的存储器的读取结果更能满足存储器的使用条件的要求,从而进一步地提高检测结果的可靠性,避免存储器由于使用条件、时间的延长等因素导致的无法正常使用。
在其他实施例中,还可以在执行第二次读取操作时,将第二阈值设置为小于所述第一阈值,相应地,在执行第三次读取操作时,将第三阈值设置为大于所述第一阈值。本发明对此不做限制。
实施例三
图5示出了本发明存储器的检测方法的实施例三的流程示意图。参考图5,与实施例一相比,所述存储器的检测方法还可以包括:在执行步骤S2即对所述存储器进行第一次读取操作之前,执行步骤S0:对所述存储器进行烘焙。
具体地,所述步骤S0在所述步骤S2之前且位于所述步骤S1(在所述存储器写入预设数据)之间。也就是说,对所述器写入预设数据后执行烘焙。
本实施例中,所述对所述存储器进行烘焙的步骤包括:在200℃~300℃的温度范围内,对所述存储器进行大于或者等于两天的烘焙。当然,也可以根据实际需要设置其他条件来执行烘焙步骤,本发明对此不做限制。
另外,在其他实施例中,还可以在执行第一次读取操作之前将存储器放置于容易造成数据丢失的环境中,然后再执行读取操作。
经过烘焙或者将存储器放置于容易造成数据丢失的环境中后,再经过至少两少的读取操作,若每次读取数据均与预设数据相同,那么则,判定存储器合格,否则判定存储器不合格。通过设置烘焙操作或者将存储器放置于容易造成数据丢失的环境中,均进一步提高了检测结果的可靠性,避免了性能不稳定的存储器流入到客户端。
在其他实施例中,所述存储器的检测方法还可以包括:在对所述存储器进行烘焙之前,在第二测试条件下对所述存储器进行读、写或者擦除测试。所述第二测试条件与第一测试条件不同:第二测试条件指的是对存储器进行读、写或者擦除操作时对应的测试条件。所述第二测试条件下可以进行多种测试项目的检测,例如在具体应用中,可以对存储器进行全片擦除(chip erase),棋盘格写(program checkerboard)、反棋盘格写(inversecheckerboard),对角线写(program diagonal),全片写“1”或者写“0”(program array ff/00),全片读“1”或者读“0”(read array ff/00)等各种操作。
第一测试条件指的是对存储器进行数据保持(data retention)测试时对应的测试条件,在第一测试条件下的主要测试项目为检测存储器的数据保持能力。在具体应用中,可以在烘焙后对存储器进行全片读“1”(read array ff)的操作,若存储器能够通过该次测试则表明该存储器性能良好。
本发明存储器的检测方法,通过进行至少两次的读取操作并将每次读取结果分别与对应的阈值比较后判定读取数据是否与预设数据相同,若每次读取操作获得的读取数据均与预设数据相同,则判定存储器合格,否则判定存储器不合格。本发明提供的方法提高了存储器的检测结果的可靠性,有效地避免了由于使用条件等因素的改变而导致的存储器无法正常使用的问题。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。