专利名称:支持写缓冲的flash内部单元测试方法
技术领域:
本发明涉及FLASH存储器,尤指一种对支持写缓冲的FLASH内部单元进行测试的方法。
背景技术:
FLASH器件的故障主要表现为以下形式(1)导线的开路或短路;(2)地址译码器不能正确寻址;(3)多重写入;(4)一个单元的数据受到其他单元的数据或读写操作的影响而发生变化;(5)写后未能恢复,立即进行读出时得不到正确信息;(6)读放大器读出一系列信息x后紧接着读x′时,无正确响应;(7)FLASH不能保持写入的信息。
结合FLASH的基本结构和故障表现形式,可以得出以下故障模型(1)存储单元阵列中的故障①固定逻辑故障(Stuck-at fault)一个单元的逻辑值不随单元的任何行为而改变,也不受其余单元的影响,又称呆滞型故障,它包括固定为1或固定为0两种情形(S-A-1 or S-A-0);②固定开路故障(Stuck-open fault)电路开路导致的故障;③状态转换故障(Transition fault)0->1或1->0的状态转换至少有一个不被正确执行;④数据保持故障(Data-maintaining fault)存储单元无法保持一个逻辑值持续一定的时间;
⑤状态耦合故障(Coupling fault)当且仅当单元j处于某一个特定状态y(y∈{0,1})时,单元i总是为某一个确定值x(x∈{0,1}),则称单元i耦合于单元j。耦合关系不一定具有对称性,也就说,单元i耦合于单元j,并不一定单元j也耦合于单元I。
⑥多重写入故障(multiple access fault)对单元i写入x(x∈{0,1})导致单元j也写入了x,⑥则称单元i有多重写入故障。多重写入故障不一定具有对称性。
(2)地址译码电路中的故障①没选中任一存储单元;②选中被选单元,并选中了其他单元。
译码器中的故障可等效为存储单元阵列中的故障。故障①等效于固定开路故障,故障②等效于多重写入故障。
(3)读写逻辑中的故障①输入、输出导线中一位或多位固定逻辑故障;②缓冲器或锁存器中一位或多位固定开路故障;③缓冲器或锁存器中任意两位之间的状态耦合故障。
读写逻辑电路中的故障也可等效为存储单元阵列中的故障。故障①等效于固定逻辑故障,故障②等效于固定开路故障,故障③等效于状态耦合故障。
由以上分析可以知道,对FLASH的测试等同于对FLASH的内部单元测试,而FLASH的内部单元主要包含了以下故障类型固定逻辑故障、固定开路故障、状态转换故障、数据保持故障、状态耦合故障和多重写入故障。
现在常用的测试方法都是按字逐个读写的,没有考虑到支持写缓冲区操作的这类FLASH的特点而采用有效的测试方法以提高测试效率。按照常规的测试方法按字逐个读写进行测试的方法,其效率是非常低的,对一个FLASH芯片进行完备的测试可能需要数十分钟,甚至一个小时以上。而利用写缓冲区的特性,可以将测试时间控制在数分钟以内,能够更好地满足测试效率的要求。
而利用FLASH的写缓冲区进行测试,需要考虑到这种批处理的特殊方式,同时结合FLASH自身的特点,设计有效的测试数据。
发明内容
鉴于上述现有技术的缺点,本发明提供一种支持写缓冲的FLASH内部单元的测试方法,在保证测试效效率的前提下,对FLASH的故障进行比较完备的测试覆盖。
本发明提供的支持写缓冲的FLASH内部单元测试方法,包括下列步骤先整片擦除,然后按地址顺序写入循环走步0的数据块,所述写操作是按照写缓冲区的方式进行,所有内部单元被写完以后,再读回数据进行校验。
所述写缓冲操作是一次写满一个缓冲区。
所述按地址顺序是从最低地址开始到最高地址结束或从最高地址开始到最低地址结束。
所述循环走步0的数据块,其每一行的数据除了一位为0,其作各位全为1,其中0的位置是顺序移动、循环走步的。
所述0的位置是下一行数据比上一行数据左移一位或多位或右移一位或多位。
本发明通过构造上述特定的测试数据,能提高测试的故障覆盖率,特别是提高了对多重写入故障和基本耦合故障的检测能力。
具体实施例方式
部分FLASH器件(如28F160S5和28F320S5,28F128J3A、28F320J3A和28F640J3A,28F320J5和28F640J5等)支持写缓冲区(Write Buffer)的读写方式,利用Write Buffer技术写FLASH可以显著地提高FLASH的测试速度,但是因为Write Buffer的写方式与普通的写方式有很大的区别,所以测试方法也有所区别。
因为一次写一个缓冲区,所以写的速度成倍提高,所以对支持写缓冲的FLASH进行测试,可以采用以下的方法先整片擦除,然后从最低(或最高)地址开始到最高(或最低)地址结束,依次写入走步0的数据,全部写完以后,然后再读回进行校验。其中写操作是通过Write Buffer进行的。由于写入的数据正是数字“0”循环移动的过程,所以在这里将这种测试方法命名为“循环走步0算法”。
现在举例说明,假设地址空间从0000到1111,数据线为3位,则写入数据表如下
这种测试方法的特点是执行写FLASH操作时按照写缓冲区的方式进行,写入的数据块为循环走步0的数据块,也就是每一行数据除了一位为0,其余各位全为1,其中0的位置不是固定的,而是顺序移动、循环走步的形式。
上述实例中,0的位置是下一行数据比上一行数据每次左移一位,实际操作中,并不局限于此,可左移也可右移,移动的位数也不受限制,可一次只移一位,也可一次移两位或更多位。
本发明因为采用走步0算法,所以能够有效检测到相邻单元的短路故障。因为FLASH器件本身的特点是只能写入数字“0”,不能写入数字“1”,擦除以后才能为“1”,所以在构造测试数据过程中,出现更多的“1”和少量的“0”,并且“0”的位置是变化的,这样可以检测更多的因为短路而导致“1”被错误写成“0”的故障。
权利要求
1.一种支持写缓冲的FLASH内部单元测试方法,包括下列步骤先整片擦除,然后按地址顺序写入循环走步0的数据块,所述写操作是按照写缓冲区的方式进行,所有内部单元被写完以后,再读回数据进行校验。
2.如权利要求1所述的支持写缓冲的FLASH内部单元测试方法,其特征在于所述写缓冲操作是一次写满一个缓冲区。
3.如权利要求1或2所述的支持写缓冲的FLASH内部单元测试方法,其特征在于所述按地址顺序是按从最低地址开始到最高地址结束的顺序进行。
4.如权利要求1或2所述的支持写缓冲的FLASH内部单元测试方法,其特征在于所述按地址顺序是按从最高地址开始到最低地址结束的顺序进行。
5.如权利要求1或2所述的支持写缓冲的FLASH内部单元测试方法,其特征在于所述循环走步0的数据块,其每一行的数据除了一位为0,其作各位全为1,其中0的位置是顺序移动、循环走步的。
6.如权利要求5所述的支持写缓冲的FLASH内部单元测试方法,其特征在于所述0的位置是下一行数据比上一行数据左移一位或多位。
7.如权利要求5所述的支持写缓冲的FLASH内部单元测试方法,其特征在于所述0的位置是下一行数据比上一行数据右移一位或多位。
全文摘要
本发明有关于一种支持写缓冲的FLASH内部单元测试方法,包括下列步骤先整片擦除,然后按地址顺序写入循环走步0的数据块,所述写操作是按照写缓冲区的方式进行,所有内部单元被写完以后,再读回数据进行校验。本发明方法在保障测试效率的前提下,对FLASH的故障进行比较完备的测试覆盖,适用于各种场合的支持写缓冲的FLASH内部单元的测试。
文档编号G01R31/317GK1577784SQ0315001
公开日2005年2月9日 申请日期2003年7月29日 优先权日2003年7月29日
发明者李颖悟 申请人:华为技术有限公司