对第二个扇区,以下一个地址阶21作为地址增量的变化量,每次用不同的地址位作为最低位(分别为第0位和第1位),使地址以此增量的变化通过所有可能的地址。因此在一次测试程序中所有地址的存储单元都被测试一次。
然后,依次以22、24…2N作为地址增量,重复上述过程,每完成一个循环便产生一个循环进位。
由于各个扇区的大小不同,移动变反法功能测试图形步长为3n(n为最大扇区存储单元个数)。以扇区为单元的测试实际上是一种对芯片功能的抽测,因为它并没有进行对各单元存取数据进行反复打扰,以验证其地址线间信号改变所带来的影响,但这种方法分别在各个扇区对邻近地址线一一做了打扰测试,由于各个扇区结构根本上是相同的,因此这种抽测很有代表性,并且把测试时间减少了一个数量级。
移动变反法测试图形是一种良好的折衷测试方案。因为它几乎具有各种测试图形的最好特点,可以用较少的试验步数测试尽可能多的存储单元间打扰的相互影响。在具体程序中,“1”场变反为“0”场是按序选择地址,并通过写入这些地址而产生的,在两次读出之间有一次写操作。移动变反法测试包括了功能测试和动态测试,功能测试保证被测存储单元不受读、写其他存储单元的影响,动态测试预测最坏和最好条件下的取数时间,并预测地址变换对这些时间的影响。
这种测试方法易于实现,它是在跳步算法[1]的基础上,通过改变跳步的长度,减小了算法的复杂度。移动变反法测试是一种具有良好功能测试和动态测试特点的测试图形,并且所需的测试时间较短,在很多情况下都有很好的效果。尤其是对于较大容量存储器的测试,该方法特别有效。
移动变反法还可以作进一步扩展,即对数据做移动变反处理。以芯片为32位总线为例,首先对存储器各单元写入0xAAAAAAAA,检验并擦除,然后对存储器写入0xCCCCCCCC,检验并擦除,以后依次写入0xF0F0F0F0,0x0F0F0F0F,0xFF00FF00,0x00FF00FF,0xFFFF0000,0x0000FFFF, 0xFFFFFFFF,0x0,都在检验所写的正确性后再擦除数据。其原理与地址移动变反相同,在此不再赘述。
4.测试方法的综合使用和流水测试
以上,从算法的角度上提高了FLASH芯片的可测性。虽然NOR、NAND型FLASH结构不同,但由于以上算法都可通过计算,顺序产生测试图形,因此可通用于以上两类器件的测试中。
上述三种方法各有优点,在实际应用中可配合使用。地址奇偶性图形测试最为方便高效,因为在写入图形过程中每次只改变一位地址线,而且写入的是相反的数据,所以如果哪一位地址线出现短路立刻会被检查出来,使用该方法最适宜检验地址译码器的故障。齐步法适于用来检验多重地址选择与译码器的故障,并且可以检测写入时噪声对存储芯片特性的影响,它能保证正确的地址译码和每个存储单元存储“1”和“0”信息的能力。在大多数生产测试中,联合使用这两种方法可以判别出FLASH绝大多数的故障。当然,各个厂家生产的芯片在结构和工艺上有一定区别,因此出现各种错误的概率也不同,可以根据实际情况调整方法。由于设计问题,有些芯片还有可能出现其他一些不太常见的错误,这就需要进行更详尽的测试,这时使用移动变反测试法就比较合适。这种方法可以很好地测试芯片的动态错误,并且可根据具体需要详细展开测试或简化测试,对于产品性能分析十分有效。
在具体程序设计时,为简化算法执行,可以将读取产品型号、调用读写命令的语句作为子程序存储在测试仪中,每次需要时都可以无缝调用。
在测试过程中,最耗费时间的是程序擦除操作,一次擦除往往就需要几秒,其解决办法是将擦除工序单独处理。在实际应用中,可使用两台测试仪,其中,在擦除时几个芯片并行运行。这样,一台设备用于读、写、测试,另一台设备用于擦除数据,就可以有效地形成流水线操作,大大节省测试时间。此外,将几种方法综合使用,还有助于提高故障覆盖率。
5.实验结果
根据上述思想,我们在国产BC3192的测试系统平台[7][8]上,对AMD公司的NOR型FLASH——Am29LV400B及三星公司的NAND型FLASH——9F5608UOB都进行了测试。实验表明,和传统的以棋盘格为基础的测试图形[1]相比,奇偶校验法、齐步法和移动变反法产生的测试图形故障覆盖率更高,这些算法由于最多只有两次芯片擦除操作,所以测试时间完全能符合工程测试需要,其中,移动变反法没有擦除操作,所以测试速度最快。在实验中,我们采用上述三种方法中任意一种,按照流水的方法测试,在相同故障覆盖率下,都可以使测试效率可提高40%以上。
6.结论
本文是在传统存储器测试理论基础上对FLASH测试的尝试,该方法保留了传统方法的优点,较好地解决了FLASH存储器测试的困难。该方法方便快捷,流程简单,所有测试图形都可以事先生成,这样就可以直接加载到测试仪中,有利于直接应用于测试仪进行生产测试。