FLASH存儲器的測試方法研究
為了能夠有效地檢測存儲器芯片,必須分析半導體存儲器的結構,確定和選擇幾種能夠有效檢驗存儲器功能的圖形,使之既能達到檢測目的,又使測試量限定在允許范圍之內。但實(shí)際應用中,由于每種測試圖形都有其局限性,再加上各個(gè)生產(chǎn)廠(chǎng)家以及各種型號存儲器的特性不完全一致,現在還沒(méi)有最佳的統一測試方法。
根據FLASH芯片的特點(diǎn),我們主要改進(jìn)并使用了以下幾種辦法:
4.1 奇偶校驗圖形檢驗法
奇偶校驗圖形檢驗法[6]是一種比較適合存儲器測試的方法。在奇偶性圖形檢驗法中,向存儲單元矩陣寫(xiě)入的數據圖案是根據存儲單元選址地址碼的奇偶性而定的。如果存儲單元的行地址碼和列地址碼中有偶數個(gè)1,其奇偶性為0,則在該存儲單元中寫(xiě)入“0”(或“1”);如果有奇數個(gè)1,其奇偶性為1,則在該存儲單元中寫(xiě)入“1”(或“0”);存儲單元矩陣存入的信號數據將是行地址碼和列地址碼之間的異或關(guān)系,其算法如下:
式中Pr為行地址的奇偶性,Pc為列地址的奇偶性。
FLASH芯片奇偶性圖形功能檢測的流程是:首先根據算法寫(xiě)入背景圖形,然后逐位讀出并檢驗結果的正確性,再將芯片數據擦除,以反碼圖形重復上述測試過(guò)程。其總的測試步數為M=4N。
由于奇偶性圖形是不對稱(chēng)的,任何一位的地址譯碼器失效都會(huì )引起本應寫(xiě)入互為反碼數據的兩個(gè)存儲單元之一重復選址,并且第二次選址改變了第一次選址時(shí)寫(xiě)入的內容,而另一個(gè)存儲單元未被訪(fǎng)問(wèn)。因此地址奇偶性圖形可以很好地檢驗出地址譯碼器的故障。
奇偶性圖形每次都把整個(gè)存儲器單元寫(xiě)完后再整體讀出,沒(méi)有反復擦除的過(guò)程(整個(gè)過(guò)程只需擦除兩次),非常適用于FLASH芯片測試。
4.2 齊步法
齊步法[6]是對存儲器的每個(gè)單元依次進(jìn)行檢驗的一種方法。首先從第一個(gè)存儲單元開(kāi)始,逐個(gè)對每個(gè)單元進(jìn)行取反和檢驗,直到最后一個(gè)單元檢測結束才完成一遍掃描。然后,在背景為反碼的情況下,從第一個(gè)存儲單元開(kāi)始,逐個(gè)對每個(gè)單元進(jìn)行取反和檢驗,直到最后一個(gè)單元檢測結束。整個(gè)過(guò)程就像所有單元一起向前走步一樣,因此稱(chēng)為“齊步法”。根據FLASH芯片特點(diǎn),我們改變在反碼背景條件下走步的過(guò)程,把它改造如下,形成了適合的齊步算法。
在圖2中給出了測試FLASH齊步法的測試流程:
在測試之前,每個(gè)存儲單元具有信息“1”。首先在存儲矩陣中寫(xiě)入背景圖案(初始狀態(tài)為全“1”),然后從地址A0開(kāi)始選址進(jìn)行讀“1”,寫(xiě)“0”,讀“0”操作,并檢驗讀出結果。接著(zhù),依次到下一個(gè)選址單元重復該操作(讀“1”,寫(xiě)“0”,讀“0”),直到全部存儲單元(A=N-1)重復完為止。再在讀操作方式下對全部存儲單元進(jìn)行一次正向掃描讀出,檢查有無(wú)正向對反向的多重寫(xiě)入問(wèn)題。然后將存儲器輸入擦除,使之全部單元為全“1”。進(jìn)而開(kāi)始反向掃描:從最高地址AN-1開(kāi)始執行讀“1”,寫(xiě)“0”,讀“0”操作,逐位進(jìn)行上述操作過(guò)程,直至最終地址為AN-1,最后對全部存儲單元進(jìn)行讀“0”掃描,以檢驗讀出結果的正確性。
用這種測試算法檢測存儲芯片,可使每個(gè)存儲單元都被訪(fǎng)問(wèn)。既能保證每個(gè)存儲單元都能存儲“1”和“0”數據,又能保證每個(gè)存儲單元都受到周?chē)渌麊卧淖x“1”、讀“0”和寫(xiě)“1”、寫(xiě)“0”的打擾。齊步法總的測試步數為:
式(3)中,W表示寫(xiě)操作,R表示讀操作,Q表示“1”, 表示“0”。Bij表示存儲器第i行j列的存儲單元。如WBij(Q)就表示對第i行j列的存儲單元進(jìn)行寫(xiě)“1”操作所用的時(shí)間。
由式(3)可知,其測試步數共9N,且整個(gè)過(guò)程只需兩次擦除操作,可見(jiàn)它是一種即快速又有效的方法。
4.3 移動(dòng)變反法
移動(dòng)變反測試法[6]是按順序變反每個(gè)地址存儲單元數據的方法。它需要在變反前后讀出每個(gè)存儲單元的數據,而且,還必須借助于前進(jìn)和后退的地址尋址序列產(chǎn)生地址跳躍,地址以20、21…、2n-1次方的增量變化(n是地址位數)。按照以上規律進(jìn)行地址跳變后,再對每個(gè)地址進(jìn)行三次操作:讀、寫(xiě)和讀即可完成一個(gè)循環(huán)。
以上操作的目的主要在于地址間產(chǎn)生有效相互打擾,但顯然如果以整個(gè)芯片為單元進(jìn)行上述操作需要多次擦除數據,因此對FLASH測試芯片應做如此改進(jìn):以扇區為單元完成操作。假設FLASH芯片有N個(gè)扇區,移動(dòng)變反法的功能測試先要以“1”為背景圖案寫(xiě)入全部存儲單元。首先,在第一個(gè)扇區,對A0存儲單元讀出并驗證是“1”,再將該存儲單元改寫(xiě)成“0”,最后讀出該存儲單元的信息以證明新寫(xiě)入的“0”仍存于該存儲單元中。第一扇區測試地址按有效位的階20遞增,對每個(gè)存儲單元都要重復上述的讀“1”,寫(xiě)“0”讀“0”的操作過(guò)程,需要測試步長(cháng)為3n(n為該扇區的存儲單元數)才能使全部的存儲單元都變成“0”。這次測試的地址序列是遞增1的,即由地址最低位A0增加到最高位A(n-1),對A(n-1)存儲單元進(jìn)行讀“1”,寫(xiě)“0”和讀“0”驗證。
評論