FLASH存儲器的測試方法研究
1.引言
本文引用地址:http://www.j9360.com/article/195793.htm隨著當前移動存儲技術的快速發展和移動存儲市場的高速擴大,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數?;旌蠝y試系統,該系統可提供工作速度快,算法圖形產生方式靈活,非常適合測試需要。
4.測試實現方法
假設存儲器可選址的存儲單元數為N,由于存儲器芯片每次只能訪問一個存儲單元,每個單元只有“0”或“1”兩種狀態,所以所有可能出現的狀態共2N種。由于選取的地址又是隨機的,所以,當測試步數為M時,選址序列組合可能有2N NM種之多。即使采用全“0”或全“1”兩種圖案測試,總的測試圖形也將有2NM種,這是個巨大的數字。
評論