FLASH存储器的测试方法研究
时间:01-23
来源:EDN
点击:
1.引言
随着当前移动存储技术的快速发展和移动存储市场的高速扩大,FLASH型存储器的用量迅速增长。FLASH芯片由于其便携、可靠、成本低等优点,在移动产品中非常适用。市场的需求催生了一大批FLASH芯片研发、生产、应用企业。为保证芯片长期可靠的工作,这些企业需要在产品出厂前对FLASH存储器进行高速和细致地测试,因此,高效FLASH存储器测试算法的研究就显得十分必要。
不论哪种类型存储器的测试,都不是一个十分简单的问题,不能只将存储器内部每个存储单元依次测试一遍就得出结论,这是因为每一个存储单元的改变都有可能影响存储器内部其他单元的变化(这种情况又是常常发生的)。这种相关性产生了巨大的测试工作量[1]。另外,FLASH存储器有其自身的特点,它只能将存储单元内的数据从"1"写为"0",而不能从"0"写为"1",若想实现"0"->"1"操作,只能把整个扇区或整个存储器的数据擦除,而擦除操作要花费大量的时间。FLASH存储器还有其他特性,比如读写速度慢、写数据之前要先写入状态字、很多FLASH只适于顺序读写而不适于跳转操作等,这些特点都制约了FLASH存储器的测试。
为解决FLASH测试中的这些问题,人们提出了应用内建自测试[2]或利用嵌入式软件[3]等测试方法测试相关性能,都取得了比较好的效果,但这些方法大多不适用于利用测试仪进行批量的产品测试。而多数对通用存储器测试很有效的算法,由于受到FLASH器件自身的限制(如不能不能直接从"0"写为"1"),很难直接适用于FLASH测试。
文本在简单介绍FLASH芯片的结构与特点之后,说明了FLASH存储器测试程序原理。在此基础上,分析和改进了几种通用的存储器测试方法,使之能有效地应用于FLASH测试中。这些方法简单高效,故障覆盖率高,并且可以快速预先产生,与其他一些测试算法[4][5]相比,更适于应用在测试仪中进行工程测试。本文分析了这些方法的主要特点,在此基础之上,介绍了实际FLASH存储器测试中应用的流程。
2.FLASH芯片的结构特征
FLASH存储器种类多样,其中最为常用的为NOR型和NAND型FLASH。通常,NOR型比较适合存储程序代码,其随机读写速度快,但容量一般较小(比如小于32 MB),且价格较高;而NAND型容量可达lGB以上,价格也相对便宜,适合存储数据,但一般只能整块读写数据,随机存取能力差。它们对数据的存取不是使用线性地址映射,而是通过寄存器的操作串行存取数据。
一般来说,不论哪种类型的FLASH,都有一个ID寄存器,用来读取存储器信息,可根据供应商提供的芯片资料进行具体的类型判断。另外,FLASH存储器的擦除过程相对费时,且擦除流程相对复杂。图1为FLASH芯片擦除的一般流程。
可见,擦除数据的操作限制了FLASH芯片的工作速度。此外,其他一些特性,比如读写速度慢、写数据之前要先写入状态字、很多FLASH都设有冗余单元等等,这些特点都制约了测试速度的提高。因此,设计合理的方法,或将几块FLASH并测,并且应用测试算法减少测试时间就显得十分必要。
3.系统连接
本文选用的芯片为AMD公司的NOR型FLASH--Am29LV400B及三星公司的NAND型FLASH K9F5608UOB,它们都可通过44 PIN专用适配器和数字电路测试仪的数字通道直接相连。我们所采用的硬件实验平台是北京自动测试技术所开发的BC3192数模混合测试系统,该系统可提供工作速度快,算法图形产生方式灵活,非常适合测试需要。
4.测试实现方法
假设存储器可选址的存储单元数为N,由于存储器芯片每次只能访问一个存储单元,每个单元只有"0"或"1"两种状态,所以所有可能出现的状态共2N种。由于选取的地址又是随机的,所以,当测试步数为M时,选址序列组合可能有2N NM种之多。即使采用全"0"或全"1"两种图案测试,总的测试图形也将有2NM种,这是个巨大的数字。
为了能够有效地检测存储器芯片,必须分析半导体存储器的结构,确定和选择几种能够有效检验存储器功能的图形,使之既能达到检测目的,又使测试量限定在允许范围之内。但实际应用中,由于每种测试图形都有其局限性,再加上各个生产厂家以及各种型号存储器的特性不完全一致,现在还没有最佳的统一测试方法。
根据FLASH芯片的特点,我们主要改进并使用了以下几种办法:
4.1 奇偶校验图形检验法
奇偶校验图形检验法[6]是一种比较适合存储器测试的方法。在奇偶性图形检验法中,向存储单元矩阵写入的数据图案是根据存储单元选址地址码的奇偶性而定的。如果存储单元的行地址码和列地址码中有偶数个1,其奇偶性为0,则在该存储单元中写入"0"(或"1");如果有奇数个1,其奇偶性为1,则在该存储单元中写入"1"(或"0");存储单元矩阵存入的信号数据将是行地址码和列地址码之间的异或关系,其算法如下:
式中Pr为行地址的奇偶性,Pc为列地址的奇偶性。
FLASH芯片奇偶性图形功能检测的流程是:首先根据算法写入背景图形,然后逐位读出并检验结果的正确性,再将芯片数据擦除,以反码图形重复上述测试过程。其总的测试步数为M=4N。
由于奇偶性图形是不对称的,任何一位的地址译码器失效都会引起本应写入互为反码数据的两个存储单元之一重复选址,并且第二次选址改变了第一次选址时写入的内容,而另一个存储单元未被访问。因此地址奇偶性图形可以很好地检验出地址译码器的故障。
奇偶性图形每次都把整个存储器单元写完后再整体读出,没有反复擦除的过程(整个过程只需擦除两次),非常适用于FLASH芯片测试。
随着当前移动存储技术的快速发展和移动存储市场的高速扩大,FLASH型存储器的用量迅速增长。FLASH芯片由于其便携、可靠、成本低等优点,在移动产品中非常适用。市场的需求催生了一大批FLASH芯片研发、生产、应用企业。为保证芯片长期可靠的工作,这些企业需要在产品出厂前对FLASH存储器进行高速和细致地测试,因此,高效FLASH存储器测试算法的研究就显得十分必要。
不论哪种类型存储器的测试,都不是一个十分简单的问题,不能只将存储器内部每个存储单元依次测试一遍就得出结论,这是因为每一个存储单元的改变都有可能影响存储器内部其他单元的变化(这种情况又是常常发生的)。这种相关性产生了巨大的测试工作量[1]。另外,FLASH存储器有其自身的特点,它只能将存储单元内的数据从"1"写为"0",而不能从"0"写为"1",若想实现"0"->"1"操作,只能把整个扇区或整个存储器的数据擦除,而擦除操作要花费大量的时间。FLASH存储器还有其他特性,比如读写速度慢、写数据之前要先写入状态字、很多FLASH只适于顺序读写而不适于跳转操作等,这些特点都制约了FLASH存储器的测试。
为解决FLASH测试中的这些问题,人们提出了应用内建自测试[2]或利用嵌入式软件[3]等测试方法测试相关性能,都取得了比较好的效果,但这些方法大多不适用于利用测试仪进行批量的产品测试。而多数对通用存储器测试很有效的算法,由于受到FLASH器件自身的限制(如不能不能直接从"0"写为"1"),很难直接适用于FLASH测试。
文本在简单介绍FLASH芯片的结构与特点之后,说明了FLASH存储器测试程序原理。在此基础上,分析和改进了几种通用的存储器测试方法,使之能有效地应用于FLASH测试中。这些方法简单高效,故障覆盖率高,并且可以快速预先产生,与其他一些测试算法[4][5]相比,更适于应用在测试仪中进行工程测试。本文分析了这些方法的主要特点,在此基础之上,介绍了实际FLASH存储器测试中应用的流程。
2.FLASH芯片的结构特征
FLASH存储器种类多样,其中最为常用的为NOR型和NAND型FLASH。通常,NOR型比较适合存储程序代码,其随机读写速度快,但容量一般较小(比如小于32 MB),且价格较高;而NAND型容量可达lGB以上,价格也相对便宜,适合存储数据,但一般只能整块读写数据,随机存取能力差。它们对数据的存取不是使用线性地址映射,而是通过寄存器的操作串行存取数据。
一般来说,不论哪种类型的FLASH,都有一个ID寄存器,用来读取存储器信息,可根据供应商提供的芯片资料进行具体的类型判断。另外,FLASH存储器的擦除过程相对费时,且擦除流程相对复杂。图1为FLASH芯片擦除的一般流程。
可见,擦除数据的操作限制了FLASH芯片的工作速度。此外,其他一些特性,比如读写速度慢、写数据之前要先写入状态字、很多FLASH都设有冗余单元等等,这些特点都制约了测试速度的提高。因此,设计合理的方法,或将几块FLASH并测,并且应用测试算法减少测试时间就显得十分必要。
3.系统连接
本文选用的芯片为AMD公司的NOR型FLASH--Am29LV400B及三星公司的NAND型FLASH K9F5608UOB,它们都可通过44 PIN专用适配器和数字电路测试仪的数字通道直接相连。我们所采用的硬件实验平台是北京自动测试技术所开发的BC3192数模混合测试系统,该系统可提供工作速度快,算法图形产生方式灵活,非常适合测试需要。
4.测试实现方法
假设存储器可选址的存储单元数为N,由于存储器芯片每次只能访问一个存储单元,每个单元只有"0"或"1"两种状态,所以所有可能出现的状态共2N种。由于选取的地址又是随机的,所以,当测试步数为M时,选址序列组合可能有2N NM种之多。即使采用全"0"或全"1"两种图案测试,总的测试图形也将有2NM种,这是个巨大的数字。
为了能够有效地检测存储器芯片,必须分析半导体存储器的结构,确定和选择几种能够有效检验存储器功能的图形,使之既能达到检测目的,又使测试量限定在允许范围之内。但实际应用中,由于每种测试图形都有其局限性,再加上各个生产厂家以及各种型号存储器的特性不完全一致,现在还没有最佳的统一测试方法。
根据FLASH芯片的特点,我们主要改进并使用了以下几种办法:
4.1 奇偶校验图形检验法
奇偶校验图形检验法[6]是一种比较适合存储器测试的方法。在奇偶性图形检验法中,向存储单元矩阵写入的数据图案是根据存储单元选址地址码的奇偶性而定的。如果存储单元的行地址码和列地址码中有偶数个1,其奇偶性为0,则在该存储单元中写入"0"(或"1");如果有奇数个1,其奇偶性为1,则在该存储单元中写入"1"(或"0");存储单元矩阵存入的信号数据将是行地址码和列地址码之间的异或关系,其算法如下:
式中Pr为行地址的奇偶性,Pc为列地址的奇偶性。
FLASH芯片奇偶性图形功能检测的流程是:首先根据算法写入背景图形,然后逐位读出并检验结果的正确性,再将芯片数据擦除,以反码图形重复上述测试过程。其总的测试步数为M=4N。
由于奇偶性图形是不对称的,任何一位的地址译码器失效都会引起本应写入互为反码数据的两个存储单元之一重复选址,并且第二次选址改变了第一次选址时写入的内容,而另一个存储单元未被访问。因此地址奇偶性图形可以很好地检验出地址译码器的故障。
奇偶性图形每次都把整个存储器单元写完后再整体读出,没有反复擦除的过程(整个过程只需擦除两次),非常适用于FLASH芯片测试。
- 飞思卡尔扩展ColdFire系列USB选项来支持工业连接(04-14)
- 怎样防止文件服务器的存储池耗尽(05-18)
- 存储器虚拟化的真正定义(05-11)
- 绿色环保存储器(10-08)
- 基于FPGA的红外图像存储与回放系统设计(01-08)
- 利用C8051F020的SPI接口扩展大容量数据存储器(04-10)