Flash儲存器的簡介

2022-04-28 16:03:04 字數 3750 閱讀 4251

在眾多的微控制器中都整合了 flash 儲存器系統,該儲存器系統可用作**和資料的儲存。它在整個儲存器中所處的位置在最起始的位置,一般其起始位址從0 開始。

flash 是由一組可獨立擦除的1kb 區塊所構成的,對乙個區塊進行擦除將使該區塊的全部內容復位為1。

flash 儲存器是由1kb 區塊構成,而且每個區塊的基位址都固定的。

flash 儲存器的操作

對 flash 儲存器的操作一般是進行讀、寫和擦除。flash 儲存器的擦除必須是以1kb 為單位對齊的位址並指定哪一區塊被擦除,或者全部擦除。

flash 儲存器的程式設計寫入的位址必須以字(4個位元組)為單位對齊,且指明要寫入的具體位址。也就是說可以是任意位址,但必須滿足寫入的位址是字對齊的。

flash 儲存器的讀取也可以是任意位址的資料,但必須滿足讀取的位址是字對齊的,否則,讀出的資料絕對不正確,結果也難以預料。

flash 儲存器的擦除

flash 儲存器的擦除必須是以1kb 為單位對齊的位址並指定哪一區塊被擦除,或者全部擦除。也就是說以區塊是flash 擦除的最小單位。

●執行 1-kb 頁的擦除

執行 1kb 頁的擦除步驟如下:

(1) 將頁位址寫入fma 暫存器

(2) 將flash 寫入匙碼(flash write key)寫入fmc 暫存器,並將erase 位置位(寫入0xa4420002)。

(3) 查詢fmc 暫存器直至erase 位被清零。

●執行 flash 的完全擦除

執行完全擦除的步驟如下:

(1) 將flash 寫入匙碼(flash write key)寫入fmc 暫存器,並將merase 位置位(寫入0xa4420004)。

(2) 查詢fmc 暫存器直至merase 位被清零。

flash儲存器的測試方法研究

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.系統連線

本文選用的晶元為a公司的nor型flash——am29lv400b及三星公司的nand型flash k9f5608uob,它們都可通過44 pin專用為例,首先對儲存器各單元寫入0xaaaaaaaa,檢驗並擦除,然後對儲存器寫入0xcccccccc,檢驗並擦除,以後依次寫入0xf0f0f0f0,0x0f0f0f0f,0xff00ff00,0x00ff00ff,0xffff0000,0x0000ffff, 0xffffffff,0x0,都在檢驗所寫的正確性後再擦除資料。其原理與位址移動變反相同,在此不再贅述。

4.測試方法的綜合使用和流水測試

以上,從演算法的角度上提高了flash晶元的可測性。雖然nor、nand型flash結構不同,但由於以上演算法都可通過計算,順序產生測試圖形,因此可通用於以上兩類器件的測試中。

上述三種方法各有優點,在實際應用中可配合使用。位址奇偶性圖形測試最為方便高效,因為在寫入圖形過程中每次只改變一位位址線,而且寫入的是相反的資料,所以如果哪一位位址線出現短路立刻會被檢查出來,使用該方法最適宜檢驗位址解碼器的故障。齊步法適於用來檢驗多重位址選擇與解碼器的故障,並且可以檢測寫入時雜訊對儲存晶元特性的影響,它能保證正確的位址解碼和每個儲存單元儲存「1」和「0」資訊的能力。

在大多數生產測試中,聯合使用這兩種方法可以判別出flash絕大多數的故障。當然,各個廠家生產的晶元在結構和工藝上有一定區別,因此出現各種錯誤的概率也不同,可以根據實際情況調整方法。由於設計問題,有些晶元還有可能出現其他一些不太常見的錯誤,這就需要進行更詳盡的測試,這時使用移動變反測試法就比較合適。

這種方法可以很好地測試晶元的動態錯誤,並且可根據具體需要詳細展開測試或簡化測試,對於產品效能分析十分有效。

在具體程式設計時,為簡化演算法執行,可以將讀取產品型號、呼叫讀寫命令的語句作為子程式儲存在測試儀中,每次需要時都可以無縫呼叫。

在測試過程中,最耗費時間的是程式擦除操作,一次擦除往往就需要幾秒,其解決辦法是將擦除工序單獨處理。在實際應用中,可使用兩台測試儀,其中,在擦除時幾個晶元並行執行。這樣,一台裝置用於讀、寫、測試,另一台裝置用於擦除資料,就可以有效地形成流水線操作,大大節省測試時間。

此外,將幾種方法綜合使用,還有助於提高故障覆蓋率。

5.實驗結果

根據上述思想,我們在國產bc3192的測試系統平台[7][8]上,對amd公司的nor型flash——am29lv400b及三星公司的nand型flash——9f5608uob都進行了測試。實驗表明,和傳統的以棋盤格為基礎的測試圖形[1]相比,奇偶校驗法、齊步法和移動變反法產生的測試圖形故障覆蓋率更高,這些演算法由於最多只有兩次晶元擦除操作,所以測試時間完全能符合工程測試需要,其中,移動變反法沒有擦除操作,所以測試速度最快。在實驗中,我們採用上述三種方法中任意一種,按照流水的方法測試,在相同故障覆蓋率下,都可以使測試效率可提高40%以上。

6.結論

本文是在傳統儲存器測試理論基礎上對flash測試的嘗試,該方法保留了傳統方法的優點,較好地解決了flash儲存器測試的困難。該方法方便快捷,流程簡單,所有測試圖形都可以事先生成,這樣就可以直接載入到測試儀中,有利於直接應用於測試儀進行生產測試。

Flash閃速儲存器NAND和NOR比較 剖析

一 閃速儲存器的特點 閃速儲存器 flashmemory 是一類非易失性儲存器nvm non volatilememory 即使在供電電源關閉後仍能保持片內資訊 而諸如dram sram這類易失性儲存器,當供電電源關閉時片內資訊隨即丟失。flashmemory集其它類非易失性儲存器的特點 與epro...

各種儲存器的區別

ram rom 儲存器 rom和ram指的都是半導體儲存器,rom是read only memory的縮寫,ram是random access memory的縮寫。rom在系統停止供電的時候仍然可以保持資料,而ram通常都是在掉電之後就丟失資料,典型的ram就是計算機的記憶體。ram 有兩大類 1 ...

儲存器管理

4.1 儲存器的層次結構 4.1.1 儲存器的層次結構 1.儲存器的層次結構 在現代計算機系統中,儲存器是資訊外理的 與歸宿,佔據重要位置。但是,在現有技術條件下,任何一種儲存裝置,都無法同時從速度與容量兩方面,滿足使用者的需求。實際上它們組成了乙個速度由快到慢,容量由小到大的儲存裝置層次。2.各種...