專利名稱:一種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內部單元測試方法,包括下列步驟1)整片擦除;2)將被測FLASH內部單元分成若干個單元塊;3)指定一個01…0101和10…1010交錯的測試數據塊;4)在每一單元塊的塊首地址上隨機增加一個偏移量,寫入上述指定的測試數據塊,并且記錄測試數據塊寫入每一個單元塊的起始地址;5)全部單元塊寫完以后,按照每一單元塊的起始地址將該測試數據塊讀回來,并完成比較校驗;6)測試結束,輸出測試結果。
本發明提供另一種FLASH內部單元測試方法,包括下列步驟1)整片擦除;2)將被測FLASH內部單元分成若干個單元塊;3)指定一個01…0101和10…1010交錯的測試數據塊;4)在每一單元塊的塊首地址上隨機增加一個偏移量,寫入上述指定的測試數據塊;在每一單元塊內,在第一次寫入的測試數據塊后,再隨機增加一個偏移量,再次寫入上述測試數據塊,并且記錄測試數據塊寫入每一個單元塊的每一次寫入的起始地址;5)全部單元塊寫完以后,按照記錄下來的起始地址將該測試數據塊讀回來,并完成比較校驗;6)測試結束,輸出測試結果。
所述步驟4)中,每一單元塊中測試數據的寫入次數可為多次。
上述兩方法中,所述測試數據塊的大小小于所述的單元塊。所述若干個單元塊的大小可相等或不相等。
本發明通過構造上述特定的測試數據,在保證測試效率的前提下,能夠提高測試的故障覆蓋率,特別是提高了被抽測單元塊相鄰單元和單元內部相鄰位線之間短路故障的檢測能力。而且該方法可以根據FLASH容量大小靈活確定測試數據塊的大小,取得測試開銷和故障覆蓋率之間的均衡。
圖1為本發明測試方法的示意圖。
具體實施例方式
對于存儲容量比較大的FLASH器件,由于全部讀寫一遍的時間消耗也比較大,如果該FLASH器件還不支持Write Buffer的寫操作方式,則可以考慮只對FLASH器件進行抽測。
所述抽測方法為1、整片擦除,將FLASH分為若干個塊;2、指定一個測試數據塊,該測試數據塊要求為棋盤圖形的形式,也就是01…0101和10…1010交錯的數據塊。數據塊長度根據測試時間的要求確定,測試速度要求越快,該數據塊也就越小;3、對每一個塊作以下操作,直至完成對所有塊的抽測。
測試方法為在塊首地址的基礎上每次隨機增加一個偏移量,寫入測試數據塊,要求寫入的數據塊不要超越被寫塊的范圍,并且記錄測試數據塊寫入每一個塊的的起始地址;全部寫完以后,然后按照每一塊的起始地址將該數據塊讀回來,并完成比較校驗。
4、測試結束,輸出測試結果。
由于該測試方法抽測的地址區間是隨機指定的,采用的測試數據塊類似棋盤圖形,所以在這里命名為“棋盤圖形隨機抽測法”。其操作示意圖如圖1所示。在FLASH的n個單元塊中,每塊都寫入指定的棋盤圖形數據塊,在每塊中寫入的起始地址為每塊的首地址隨機增加一個偏移量,即在每塊中寫入的地址單元是隨機的。
也可以在FLASH的每一塊內隨機寫入多個小“棋盤圖形”數據塊,這樣的測試效果更佳。因為存儲器內部單元故障往往成片發生,抽測越均勻,發現故障的概率就越大。
本發明方法最大的好處是有效解決了測試開銷過大的問題,同時很好地保證了被抽測部分達到比較高的故障覆蓋率。適當調節測試數據塊的大小,一般可將測試時間開銷控制在數分鐘。本發明提出的測試方法對被抽測單元的故障覆蓋率有顯著改善,在被抽測塊內的相鄰單元短路和單元內部的相鄰位線短路故障都能被檢測到。
權利要求
1.一種FLASH內部單元測試方法,包括下列步驟1)整片擦除;2)將被測FLASH內部單元分成若干個單元塊;3)指定一個01...0101和10...1010交錯的測試數據塊;4)在每一單元塊的塊首地址上隨機增加一個偏移量,寫入上述指定的測試數據塊,并且記錄測試數據塊寫入每一個單元塊的起始地址;5)全部單元塊寫完以后,按照每一單元塊的起始地址將該測試數據塊讀回來,并完成比較校驗;6)測試結束,輸出測試結果。
2.如權利要求1所述的一種FLASH內部單元測試方法,其特征在于所述測試數據塊的大小小于所述的單元塊。
3.如權利要求1或2所述的一種FLASH內部單元測試方法,其特征在于所述若干個單元塊的大小相等。
4.如權利要求1或2所述的一種FLASH內部單元測試方法,其特征在于所述若干個單元塊的大小不相等。
5.一種FLASH內部單元測試方法,包括下列步驟1)整片擦除;2)將被測FLASH內部單元分成若干個單元塊;3)指定一個01...0101和10...1010交錯的測試數據塊;4)在每一單元塊的塊首地址上隨機增加一個偏移量,寫入上述指定的測試數據塊;在每一單元塊內,在第一次寫入的測試數據塊后,再隨機增加一個偏移量,再次寫入上述測試數據塊,并且記錄測試數據塊寫入每一個單元塊的每一次寫入的起始地址;5)全部單元塊寫完以后,按照記錄下來的起始地址將該測試數據塊讀回來,并完成比較校驗;6)測試結束,輸出測試結果。
6.如權利要求5所述的一種FLASH內部單元測試方法,其特征在于所述步驟4)中,每一單元塊中測試數據的寫入次數可為多次。
7.如權利要求6所述的一種FLASH內部單元測試方法,其特征在于所述每一個單元塊中寫入的測試數據塊的大小小于所寫的單元塊。
8.如權利要求5或6所述的一種FLASH內部單元測試方法,其特征在于所述若干個單元塊的大小可以相等也可以不相等。
全文摘要
一種大容量FLASH內部單元測試方法,包括下列步驟1)整片擦除;2)將被測FLASH內部單元分成若干個單元塊;3)指定一個01…0101和10…1010交錯的測試數據塊;4)在每一單元塊的塊首地址上隨機增加一個偏移量,寫入上述指定的測試數據塊,所述寫入的測試數據塊不能超越所寫單元塊的范圍,并且記錄測試數據塊寫入每一個單元塊的起始地址;5)全部單元塊寫完以后,按照每一單元塊的起始地址將該測試數據塊讀回來,并完成比較校驗;6)測試結束,輸出測試結果。本發明在保障測試效率的前提下,對FLASH的故障進行比較完備的測試覆蓋。
文檔編號G11C29/00GK1577629SQ0315001
公開日2005年2月9日 申請日期2003年7月29日 優先權日2003年7月29日
發明者李穎悟 申請人:華為技術有限公司