Tangwx

Tangwx

博客网站

Flash測試學習

Flash 測試學習#

參考文獻:
[1] 楊超,張金鳳,馬成英.NAND FLASH 測試設計及使用探討 [J]. 電子世界,2018,No.551 (17):116-118.DOI:10.19353 /j.cnki.dzsj.2018.17.063.

NAND FLASH 是非易失性存儲器,其基本存儲單元是塊(block),每塊又由若干頁(page)構成。其中,最小讀寫單元是頁,最小擦除單元是塊。在對一頁進行編程之前,需要先將該頁所在的塊進行擦除操作。NAND FLASH 在出廠時存在少量的壞塊,廠家會對壞塊進行標註,方便用戶在使用過程中對其進行識別;在測試和使用過程中同樣會產生新的壞塊,元器件可靠性機構應當對壞塊進行識別和回寫,用戶應進行壞塊管理以跳過壞塊,從而避免存儲數據丟失。NAND FLASH 主要供貨商是 SAMSUNG 和 MICRON 兩家公司,其內部結構大同小異,分為 16 位和 8 位兩種數據形式,地址線、數據線、命令線分時復用,串行工作方式,需要特定的控制命令以執行相應的操作。本文所選用的 MT-29F64G08AJABAWP-IT 具有 16384 個 blocks,每個塊由 128 個 pages 組成,每一頁包含(4096+224)個 bytes,其中 224 個冗余字節,用於存儲配置信息;共 64GB 存儲空間,數據存儲格式為 8 位;TSOP 封裝的器件共 48 個管腳,除了 8 個復用的 IO 口,還有部分控制管腳和電源管腳,其餘管腳懸空即可。

在測試時首先讀出晶片的 ID,與技術手冊進行比較,如果一致繼續測試,不一致則晶片不合格,停止測試。NAND FLASH 出廠時存在少量壞塊,廠家出廠時會對壞塊進行標註,即在本塊第一頁或者第二頁第一個冗余字節寫入 00。在測試時需要首先對每一塊的該字節進行判定,如果是 00,證明該塊出廠時被標註為壞塊,壞塊數量寄存器加 1,跳轉到下一塊進行測試,此時切忌對被廠家標註的壞塊進行擦除,因為擦除操作會將廠家的壞塊標識清除;如果是 FF,證明該塊出廠時是好塊,需要進行測試。

測試過程中逐塊對 NAND FLASH 存儲陣列進行驗證,測試過程包括整塊的讀寫和擦除,如果發現出廠時未被標註的壞塊,測試系統對壞塊地址進行存儲。待完成整片測試之後,對壞塊數量進行統計,如果壞塊數量滿足技術手冊要求,證明晶片合格;此時若存在出廠未標註的壞塊,對壞塊信息進行回寫,回寫方式同出廠標註方式,即在該塊第一頁或者第二頁第一個冗余字節寫入 00,便於用戶進行統一識別。

image-20230518194213843

需要注意的是,上圖中為了避免過於繁瑣,只將一種測試圖形算法的讀寫和擦除操作體現在圖中,實際測試過程中,需要對故障覆蓋率和時間複雜度進行綜合考量以決定選用何種測試算法,必要時還需要幾種測試算法聯合進行測試。常用的測試圖形算法包括兩大類:測試時間複雜度為 N全 0,全 1,隨機數,棋盤格,反棋盤格,對角線等測試算法;測 *試時間複雜度的為 N2*步進,走步,跳步等測試算法。不同的測試算法能夠檢測出特定的故障,時間複雜度高的測試算法故障覆蓋率相對較高。

由於選用的晶片是串行工作模式,8 位數據端口分時尋址 64GB 的存儲空間,採用時間複雜度為 N 的測試算法對晶片進行全片寫入,預計時間在 400s 左右,所以即使採用 N2測試算法具有較高的故障覆蓋率,對於量產的元器件可靠性機構來說並不適用。最終決定使用全 0,隨機數,棋盤格,反棋盤格等四種 N 型測試算法聯合對晶片進行測試,可以覆蓋固 0、固 1、地址譯碼故障、短路、開路等常見的存儲器故障,在測試時間允許的範圍最大程度的增加了故障覆蓋率,可以達到良好的測試效果,有效剔除不良晶片。

image-20230518195138451

image-20230518200745407

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。