本发明涉及半导体技术领域,特别涉及一种用于闪存的内建自测试电路、系统及方法。
背景技术:
嵌入式闪存测试在整个半导体芯片测试中占有相当大的比重。由于通常闪存的尺寸较大,导致测试时间长,测试引脚多,测试机台的程序复杂,占用测试卡针数多,测试成本高。现有技术采用用于闪存的内建自测试电路来解决上述问题,但测试时间的缩短,往往导致占用更多的引脚。同时在测试时,测试机台程序的复杂程度也会对闪存测试的开发和维护有比较大的影响,如果要测试比较全面,机台程序就非常复杂,从而使机台程序的开发和维护难度大,成本高。
因此,需要设计一种使用简单方便的用于闪存的内建自测试电路、系统及方法。
技术实现要素:
本发明的目的在于提供一种用于闪存的内建自测试电路、系统及方法,以解决现有的闪存测试难度大的问题。
为解决上述技术问题,本发明提供一种用于闪存的内建自测试电路,所述用于闪存的内建自测试电路连接在测试机台和测试闪存之间,所述用于闪存的内建自测试电路包括自读取测试模块、自擦除测试模块、自编程测试模块和命令转换模块,其中:
所述自读取测试模块用于测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块;
所述自擦除测试模块用于测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块;
所述自编程测试模块用于测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块;
所述命令转换模块用于将所述测试机台输入的测试命令发给所述自读取测试模块、所述自擦除测试模块和所述自编程测试模块,以及将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台。
可选的,在所述的用于闪存的内建自测试电路中,所述用于闪存的内建自测试电路还包括自判断模块,其中:
所述自读取测试模块将所述读取测试结果发给所述自判断模块;
所述自擦除测试模块将所述擦除测试结果发给所述自判断模块;
所述自编程测试模块将所述编程测试结果发给所述自判断模块;
所述自判断模块根据所述读取测试结果、所述擦除测试结果和所述编程测试结果得到测试成功结果或测试失败结果,所述自判断模块将所述测试成功结果或所述测试失败结果发送给所述测试机台。
可选的,在所述的用于闪存的内建自测试电路中,所述用于闪存的内建自测试电路具有第一引脚和第二引脚,所述测试机台通过所述第一引脚向所述命令转换模块发送时钟信号,所述测试机台通过所述第二引脚向所述命令转换模块发送所述测试命令。
可选的,在所述的用于闪存的内建自测试电路中,所述测试命令包括第一测试命令,其中:
所述第一测试命令包括命令段和数据段,所述用于闪存的内建自测试电路根据所述命令段判断对闪存进行读取操作、编程操作或擦除操作。
可选的,在所述的用于闪存的内建自测试电路中,所述测试机台发送所述第一测试命令时,所述时钟信号为第一时钟信号,所述用于闪存的内建自测试电路向所述测试机台发送所述读取测试结果、所述擦除测试结果或所述编程测试结果。
可选的,在所述的用于闪存的内建自测试电路中,所述测试闪存包括多个闪存模块,所述测试命令包括第二测试命令,其中:
所述第二测试命令含有多个闪存地址,所述用于闪存的内建自测试电路根据所述闪存地址对所述测试闪存中的不同闪存模块进行测试操作。
可选的,在所述的用于闪存的内建自测试电路中,所述测试机台发送所述第二测试命令时,所述时钟信号为第二时钟信号,所述用于闪存的内建自测试电路向所述测试机台发送测试成功结果或测试失败结果。
可选的,在所述的用于闪存的内建自测试电路中,所述测试机台通过所述第一引脚向所述命令转换模块发送第三时钟信号,其中:
所述用于闪存的内建自测试电路中包括多个功能模块,所述第三时钟信号具有多个时序,不同的时序分别对应各个所述功能模块,所述用于闪存的内建自测试电路根据所述第三时钟信号的时序执行其所对应的各个功能模块的命令。
本发明还提供一种用于闪存的内建自测试系统,所述用于闪存的内建自测试系统包括测试机台和用于闪存的内建自测试电路,所述用于闪存的内建自测试电路连接在所述测试机台和测试闪存之间;
所述用于闪存的内建自测试电路包括自读取测试模块、自擦除测试模块、自编程测试模块和命令转换模块,其中:
所述测试机台用于向所述命令转换模块发送测试命令;
所述命令转换模块用于将所述测试机台输入的测试命令发给所述自读取测试模块、所述自擦除测试模块和所述自编程测试模块;
所述自读取测试模块用于测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块;
所述自擦除测试模块用于测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块;
所述自编程测试模块用于测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块;
所述命令转换模块还用于将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台。
本发明还提供一种用于闪存的内建自测试方法,所述用于闪存的内建自测试方法包括:
所述自读取测试模块测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块;
所述自擦除测试模块测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块;
所述自编程测试模块测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块;
所述命令转换模块将所述测试机台输入的测试命令发给所述自读取测试模块、所述自擦除测试模块和所述自编程测试模块,以及将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台。
可选的,在所述的用于闪存的内建自测试方法中,所述用于闪存的内建自测试方法还包括:
所述自读取测试模块将所述读取测试结果发给所述自判断模块;
所述自擦除测试模块将所述擦除测试结果发给所述自判断模块;
所述自编程测试模块将所述编程测试结果发给所述自判断模块;
所述自判断模块根据所述读取测试结果、所述擦除测试结果和所述编程测试结果得到测试成功结果或测试失败结果。
在本发明提供的用于闪存的内建自测试电路、系统及方法中,通过自读取测试模块、自擦除测试模块和自编程测试模块,可实现用于闪存的内建自测试电路中的自测试,无需测试机台控制各个测试过程,简单方便。
本发明通过所述自判断模块根据所述读取测试结果、所述擦除测试结果和所述编程测试结果得到测试成功结果或测试失败结果,可使用于闪存的内建自测试电路在受到测试命令后,自动执行相应测试,每次进行编程测试或擦除测试后,不需要将结果进行读取再发给测试机台进行判断,而是自行判断测试闪存是否通过测试,测试时间短,测试过程简单。
本发明中的用于闪存的内建自测试电路只需要两个引脚,一个时钟信号引脚,一个读写信号引脚,省略了常用测试电路中的复位、读写转换等引脚,减少了引脚数量,降低测试成本。
本发明通过所述第二测试命令含有多个闪存地址,所述用于闪存的内建自测试电路根据所述闪存地址对所述测试闪存中的不同闪存模块进行测试操作,使测试机台可以直接对不同地址的闪存模块进行控制,且测试机台根据不同的闪存地址产生对应的时序图,即第二时钟信号由测试机台进行延时处理,可直接在读取测试成功结果或测试失败结果时有效,测试机台的程序实现简单。
本发明通过测试机台发送的第三时钟信号所具有的多个时序,每个时序可直接控制用于闪存的内建自测试电路内部的功能模块,如片选使能功能模块、写使能功能模块和输出使能功能模块等多种内部信号,由此可知,测试机台只需要控制第三时钟信号的时序以及时序之间的等待时间,就可以间接的控制用于闪存的内建自测试电路,进一步将测试引脚减少到一个,且测试方法简单,只需要对一个信号进行控制。
总之,本发明使闪存测试时间变短,且用于测试的引脚减少,同时测试机台程序也简单,且提高测试效率,降低测试成本,而且可以使用较为简单的机台程序实现覆盖面比较广的闪存测试。
附图说明
图1是本发明用于闪存的内建自测试系统示意图;
图2~4是本发明用于闪存的内建自测试电路信号示意图;
图中所示:10-测试机台;20-用于闪存的内建自测试电路;21-自读取测试模块;22-自擦除测试模块;23-自编程测试模块;24-命令转换模块;25-自判断模块;26-第一引脚;27-第二引脚;31-第一时钟信号;32-第二时钟信号;33-第三时钟信号;411-读命令信号;412-写命令信号;413-地址段信号;414-数据段信号;421-第一闪存地址;422-第二闪存地址;423-第三闪存地址;431-第一模块命令;432-第二模块命令;433-第三模块命令。
具体实施方式
以下结合附图和具体实施例对本发明提出的用于闪存的内建自测试电路、系统及方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明的核心思想在于提供一种用于闪存的内建自测试电路、系统及方法。
为实现上述思想,本发明提供了一种用于闪存的内建自测试电路、系统及方法,所述用于闪存的内建自测试电路连接在所述测试机台和测试闪存之间;所述用于闪存的内建自测试电路包括自读取测试模块、自擦除测试模块、自编程测试模块和命令转换模块,其中:所述自读取测试模块用于测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块;所述自擦除测试模块用于测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块;所述自编程测试模块用于测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块;所述命令转换模块用于将所述测试机台输入的测试命令发给所述自读取测试模块、所述自擦除测试模块和所述自编程测试模块,以及将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台。
<实施例一>
本实施例提供一种用于闪存的内建自测试电路,所述用于闪存的内建自测试电路20连接在测试机台10和测试闪存之间,所述用于闪存的内建自测试电路20包括自读取测试模块21、自擦除测试模块22、自编程测试模块23和命令转换模块24,其中:所述自读取测试模块21用于测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块24;所述自擦除测试模块22用于测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块24;所述自编程测试模块23用于测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块24;所述命令转换模块24用于将所述测试机台10输入的测试命令发给所述自读取测试模块21、所述自擦除测试模块22和所述自编程测试模块23,以及将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台10。
如图1所示,自擦除测试模块22通过将所述擦除测试结果发送给自读取测试模块21,然后命令转换模块24从自读取测试模块21中获得擦除测试结果。同样的,自编程测试模块23通过将所述编程测试结果发送给自读取测试模块21,然后命令转换模块24从自读取测试模块21中获得编程测试结果。另外,在编程测试前,需要先进行擦除操作,因此自编程测试模块23和自擦除测试模块22连接。在本发明提供的用于闪存的内建自测试电路、系统及方法中,通过自读取测试模块21、自擦除测试模块22和自编程测试模块23,可实现用于闪存的内建自测试电路20中的自测试,无需测试机台10控制各个测试过程,简单方便。
具体的,在所述的用于闪存的内建自测试电路中,所述用于闪存的内建自测试电路还包括自判断模块25,其中:所述自读取测试模块21将所述读取测试结果发给所述自判断模块25;所述自擦除测试模块22将所述擦除测试结果发给所述自判断模块25;所述自编程测试模块23将所述编程测试结果发给所述自判断模块25;所述自判断模块25根据所述读取测试结果、所述擦除测试结果和所述编程测试结果得到测试成功结果或测试失败结果,所述自判断模块25将所述测试成功结果或所述测试失败结果发送给所述测试机台10。如图1所示,自判断模块25进行判断,获得测试成功结果或所述测试失败结果后,可以直接发送给命令转换模块24,或发送给自读取测试模块21,然后命令转换模块24从自读取测试模块21中获得测试结果。
本发明通过所述自判断模块25根据所述读取测试结果、所述擦除测试结果和所述编程测试结果得到测试成功结果或测试失败结果,可使用于闪存的内建自测试电路20在受到测试命令后,自动执行相应测试,每次进行编程测试和擦除测试后,不需要将结果进行读取再发给测试机台10进行判断,而是自行判断测试闪存是否通过测试,测试时间短,测试过程简单。
进一步的,在所述的用于闪存的内建自测试电路中,所述用于闪存的内建自测试电路具有第一引脚26和第二引脚27,所述测试机台10通过所述第一引脚26向所述命令转换模块24发送时钟信号,所述测试机台10通过所述第二引脚27向所述命令转换模块24发送所述测试命令。用于闪存的内建自测试电路引脚只有俩个,一个输入引脚,用于测试机台向用于闪存的内建自测试电路输入时钟信号,一个输入输出引脚,用于测试机台与用于闪存的内建自测试电路之间进行数据转换。通过所述引脚,即可对整个闪存进行编程、擦除、读取测试,进入模拟电路测试模式等操做。测试机台只需控制相应的等待时间,比较简单的机台程序,就可以完成对用于闪存的内建自测试电路电路的控制,从而对闪存进行较为复杂的测试。本发明中的用于闪存的内建自测试电路只具有两个引脚,一个时钟信号引脚,一个读写信号引脚,省略了常用测试电路中的复位、读写转换等引脚,减少了引脚数量,降低测试成本。
具体的,如图2所示,所述测试命令包括第一测试命令,其中:所述第一测试命令包括命令段和数据段,命令段包括图2中的读命令信号411和写命令信号412,数据段即为图2中的地址段信号413和数据段信号414,测试机台10发送第一测试命令中的命令段后,加入数据段,即图2中读命令信号411后为地址段信号413,或写命令信号412后为数据段信号414。所述用于闪存的内建自测试电路20根据所述命令段判断对闪存进行读取操作、编程操作或擦除操作,当用于闪存的内建自测试电路20收到读命令信号411后,用于闪存的内建自测试电路20将发送读命令信号411后面的一段地址段信号413中的地址信息,并将该地址信息对应的数据发送给测试机台10;当用于闪存的内建自测试电路20收到写命令信号412后,用于闪存的内建自测试电路20将读取读命令信号411后面的一段数据段信号414,该数据段信号414中包括地址信息和数据信息,用于闪存的内建自测试电路20先对该地址信息中对应的区域进行擦除操作,然后在该地址信息对应的区域中进行编程操作,编程内容即是数据段信号414中的数据信息。所述测试机台10发送所述第一测试命令时,所述时钟信号31为第一时钟信号,如图2所示,即为周期较短的普通时钟信号,所述用于闪存的内建自测试电路20向所述测试机台10发送所述读取测试结果、所述擦除测试结果或所述编程测试结果。
另外,所述测试闪存包括多个闪存模块,所述测试命令包括第二测试命令,其中:所述第二测试命令含有多个闪存地址,即图3中的第一闪存地址421、第二闪存地址422和第三闪存地址423,三者对应不同的闪存模块。所述用于闪存的内建自测试电路根据所述闪存地址对不同闪存进行测试操作,当收到第一闪存地址421时,对第一闪存地址对应的闪存进行测试,以此类推,对该闪存的测试全部结束后,直接将测试结果发给测试机台10。所述测试机台发送所述第二测试命令时,所述时钟信号为第二时钟信号,如图3所示,第二时钟信号为周期较长的延时时钟信号,为了使测试机台等待对整个闪存的测试全部结束后直接收到测试结果,此时时钟信号为延时时钟信号,即比正常时钟信号的周期更长,所述用于闪存的内建自测试电路20向所述测试机台10发送测试成功结果或测试失败结果。
本发明通过所述第二测试命令含有多个闪存地址,所述用于闪存的内建自测试电路20根据所述闪存地址对不同闪存进行测试操作,使测试机台10可以直接对测试不同地址的闪存进行控制,且测试机台10根据不同的闪存地址产生对应的时序图,即延迟时钟信号可直接在读取测试成功结果或测试失败结果时有效,测试机台的程序实现简单。
进一步的,本实施例还包括第三种测试模式,即所述测试机台10通过所述第一引脚26向所述命令转换模块24发送第三时钟信号33,其中:所述用于闪存的内建自测试电路20中包括多个功能模块,所述第三时钟信号33具有多个时序,不同的时序分别对应各个所述功能模块,所述用于闪存的内建自测试电路根据所述第三时钟信号33的时序执行其所对应的各个功能模块的命令,如图4所示,如第三时钟信33的第一个时序对应的第一模块命令431,第三时钟信33的第二个时序对应的第二模块命令432,第三时钟信33的第三个时序对应的第三模块命令433。本发明通过测试机台发送的第三时钟信号33所具有的多个时序,每个时序可直接控制用于闪存的内建自测试电路内部的功能模块,如片选使能功能模块、写使能功能模块和输出使能功能模块等多种内部信号,由此可知,测试机台只需要控制第三时钟信号的时序以及时序之间的等待时间,就可以间接的控制用于闪存的内建自测试电路,进一步将测试引脚减少到一个,且测试方法简单,只需要对一个信号进行控制。
综上,上述实施例对用于闪存的内建自测试电路的不同构型进行了详细说明,当然,本发明包括但不局限于上述实施中所列举的构型,任何在上述实施例提供的构型基础上进行变换的内容,均属于本发明所保护的范围。本领域技术人员可以根据上述实施例的内容举一反三。
<实施例二>
本实施例提供一种用于闪存的内建自测试系统,所述用于闪存的内建自测试系统包括测试机台10和用于闪存的内建自测试电路20,所述用于闪存的内建自测试电路20连接在所述测试机台10和测试闪存之间;所述用于闪存的内建自测试电路20包括自读取测试模块21、自擦除测试模块22、自编程测试模块23和命令转换模块24,其中:所述测试机台用于向所述命令转换模块发送测试命令;所述命令转换模块用于将所述测试机台输入的测试命令发给所述自读取测试模块、所述自擦除测试模块和所述自编程测试模块;所述自读取测试模块21用于测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块24;所述自擦除测试模块22用于测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块24;所述自编程测试模块23用于测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块24;所述命令转换模块24将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台10。
本实施例还提供一种用于闪存的内建自测试方法,所述用于闪存的内建自测试方法包括:所述自读取测试模块21测试所述闪存的读取操作,并将读取测试结果发给所述命令转换模块24;所述自擦除测试模块22测试所述闪存的擦除操作,并将擦除测试结果发给所述命令转换模块24;所述自编程测试模块23测试所述闪存的编程操作,并将编程测试结果发给所述命令转换模块24;所述命令转换模块24将所述测试机台10输入的测试命令发给所述自读取测试模块21、所述自擦除测试模块22和所述自编程测试模块23,以及将所述读取测试结果、所述擦除测试结果和所述编程测试结果发给所述测试机台10。
具体的,所述用于闪存的内建自测试方法还包括:所述自读取测试模块21将所述读取测试结果发给所述自判断模块25;所述自擦除测试模块22将所述擦除测试结果发给所述自判断模块25;所述自编程测试模块23将所述编程测试结果发给所述自判断模块25;所述自判断模块25根据所述读取测试结果、所述擦除测试结果和所述编程测试结果得到测试成功结果或测试失败结果。
另外,所述测试命令包括第一测试命令,其中:所述第一测试命令包括命令段和数据段,命令段包括图2中的读命令信号411和写命令信号412,数据段即为图2中的地址段信号413和数据段信号414,测试机台10发送第一测试命令中的命令段后,加入数据段,即图2中读命令信号411后为地址段信号413,或写命令信号412后为数据段信号414。所述用于闪存的内建自测试电路20根据所述命令段判断对闪存进行读取操作、编程操作或擦除操作,当用于闪存的内建自测试电路20收到读命令信号411后,用于闪存的内建自测试电路20将发送读命令信号411后面的一段地址段信号413中的地址信息,并将该地址信息对应的数据发送给测试机台10;当用于闪存的内建自测试电路20收到写命令信号412后,用于闪存的内建自测试电路20将读取读命令信号411后面的一段数据段信号414,该数据段信号414中包括地址信息和数据信息,用于闪存的内建自测试电路20先对该地址信息中对应的区域进行擦除操作,然后在该地址信息对应的区域中进行编程操作,编程内容即是数据段信号414中的数据信息。所述测试机台10发送所述第一测试命令时,所述时钟信号31为第一时钟信号,如图2所示,即为周期较短的普通时钟信号,所述用于闪存的内建自测试电路20向所述测试机台10发送所述读取测试结果、所述擦除测试结果或所述编程测试结果。
进一步的,所述测试闪存包括多个闪存模块,所述测试命令包括第二测试命令,其中:所述第二测试命令含有多个闪存地址,即图3中的第一闪存地址421、第二闪存地址422和第三闪存地址423,三者对应不同的闪存模块。所述用于闪存的内建自测试电路根据所述闪存地址对不同闪存进行测试操作,当收到第一闪存地址421时,对第一闪存地址对应的闪存进行测试,以此类推,对该闪存的测试全部结束后,直接将测试结果发给测试机台10。所述测试机台发送所述第二测试命令时,所述时钟信号为第二时钟信号,如图3所示,第二时钟信号为周期较长的延时时钟信号,为了使测试机台等待对整个闪存的测试全部结束后直接收到测试结果,此时时钟信号为延时时钟信号,即比正常时钟信号的周期更长,所述用于闪存的内建自测试电路20向所述测试机台10发送测试成功结果或测试失败结果。
进一步的,本实施例还包括第三种测试模式,即所述测试机台10通过所述第一引脚26向所述命令转换模块24发送第三时钟信号33,其中:所述用于闪存的内建自测试电路20中包括多个功能模块,所述第三时钟信号33具有多个时序,不同的时序分别对应各个所述功能模块,所述用于闪存的内建自测试电路根据所述第三时钟信号33的时序执行其所对应的各个功能模块的命令,如图4所示,如第三时钟信33的第一个时序对应的第一模块命令431,第三时钟信33的第二个时序对应的第二模块命令432,第三时钟信33的第三个时序对应的第三模块命令433。本发明通过测试机台发送的第三时钟信号33所具有的多个时序,每个时序可直接控制用于闪存的内建自测试电路内部的功能模块,如片选使能功能模块、写使能功能模块和输出使能功能模块等多种内部信号,由此可知,测试机台只需要控制第三时钟信号的时序以及时序之间的等待时间,就可以间接的控制用于闪存的内建自测试电路,进一步将测试引脚减少到一个,且测试方法简单,只需要对一个信号进行控制。
本发明使闪存测试时间变短,且用于测试的引脚减小,同时测试机台程序也简单,且提高测试效率,降低测试成本,而且可以使用较为简单的机台程序实现覆盖面比较广的闪存测试。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。