NAND FLASH程式設計器燒錄詳解
SUPERPRO5000是西爾特出品的新一代USB介面獨立式智慧極速NAND FLASH程式設計器.具有程式設計速度快,燒錄穩定,軟體整合度高,更智慧化的特點。是NAND Flash使用者理想的選擇。
SUPERPRO5000除了支援演算法整合的三個壞塊處理方法外,還可以為客戶選擇定製其他的燒錄方法(比如三星平臺,高通平臺,博通平臺, WinCE 燒錄等)。演算法本生支援ecc512B(Hamming Code),並且支援生成的ecc碼在spare區任意連續地址map。演算法本生還支援NAND
Boot區的只讀屬性處理,一般表現為Bad block Mark前的OEMReserved的處理。
燒錄每64Mbytes僅需80秒,部分晶片時間甚至小於60秒。其中燒錄過程包括Erase + Program + Verify.
關於NAND Flash
NAND FLASH是一種易失的快閃記憶體技術,被廣泛使用於U盤,MP3/MP4,GPS,PDA,GSM/3G手機,無線上網裝置,筆記本等多個領域。NAND是高資料儲存密度的理想解決方案。
和NOR FLASH相比。NAND FLASH具有以下的特點:
1) NAND FLASH同NOR FLASH相比,NAND FLASH有著容量大、價格低等優勢。
2)存在壞塊。由於NAND生產工藝的原因,出廠晶片中會隨機出現壞塊。壞塊在出廠時已經被初始化,並在特殊區域中標記為不可用,在使用過程中如果出現壞塊,也需要進行標記。
3) 易出現位反轉。NAND FLASH更易出現位反轉的現象,如果位反轉出現在關鍵檔案上,會導致系統掛機。所以在使用NAND FLASH的同時,建議使用ECC/EDC演算法確保可靠性。
4) 存在Spare區。正因為NAND FLASH有著上面的兩項特殊的地方,Spare區就扮演作存放壞塊標誌,ECC值以及晶片資訊和檔案資訊的作用。
5) 多維的空間結構。NAND FLASH一般由block,page,sector等結構組成。所以在有的檔案系統中就衍生出各種分割槽資訊和扇區資訊等。
NAND FLASH的壞塊處理方式有很多,不同的方案公司或者系統提供商都會選擇不同的壞塊處理方法,來滿足產品開發的需要,目前我們公司已經根據客戶的要求,解決了近百種的壞塊處理方案。並且將常用的三種壞塊處理方案,整合到燒錄演算法裡面。 |
1.NAND FLASH程式設計器燒錄軟體概述。
選擇好K9F1208U0B後,將出現下圖(Figure 1)。
(Figure 1)
Device Information中,提示(1)提供了該晶片使用何種介面卡。提示(2)簡明扼要的講述了本軟體支援壞塊處理方法的種類和技術要點。
下圖是主軟體介面(Figure 2)
在主軟體介面中,提示1列出了NAND燒錄擁有的正常操作, 從上到下包括:自動批處理(Auto),程式設計寫入(Program),讀出資料(Read),校驗(Verify),空檢查(Blank_Check),擦除(Erase),啟動程式碼塊檢查(Boot Block Check)。
其中自動批處理(Auto)必須在提示4(Edit Auto)中設定好才能執行。啟動程式碼塊檢查(Boot Block Check)在提示2中設定啟動程式碼所佔塊(Blocks)的範圍。
提示2(Dev.Config)是NAND Flash燒錄的配置中心,壞塊處理方法,ECC,設定燒錄範圍,啟動程式碼範圍等的設定都在這個選項裡面。
提示3是燒錄軟體的資訊輸出區,演算法的有關資訊,燒錄過程的有關資訊和燒錄出錯資訊都在這個區域列印輸出。
2.NAND Flash 的壞塊和壞塊標誌。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
由於製造工藝的原因,NAND Flash 在生產過程中可能會產生壞塊,壞塊在出廠前將會被標記。對於壞塊而言,儲存的資訊可能會丟失,不能正常使用。另外在NAND Flash擦除或者程式設計過程中,出現操作失敗後,表示該塊不能正常使用,也應標記成壞塊。所以在一般情況下,在操作NAND Flash之前,先要檢查一下要操作的是否是壞塊,以免壞塊標記被破壞。此外,為了保證儲存資訊的可靠性,從NAND Flash中讀取的資料還可以引入ECC校驗,ECC碼一般存放在該頁的spare區。關於ECC,詳細介紹見下一章。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
小頁模式的NAND Flash(16bit)的壞塊標誌(BM)一般放在每個block第一頁和第二頁的第1個字(雙位元組)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spare區: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
大頁模式的NAND Flash(8bit)的壞塊標誌(BM)一般放在每個block第一頁和第二頁的第1個位元組。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spare區: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
大頁模式的NAND Flash(16bit)的壞塊標誌(BM)一般放在每個block第一頁和第二頁的第1個字(雙位元組)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一般情況下壞塊標誌(BM)處為0xFF或者0xFFFF表示好塊,非0xFF或者0xFFFF代表壞塊。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
其中OEM Reserved 標誌:為OEM 系統保留塊(比如NBOOT,TOC,EBOOT使用),一般可以對外界表示這段程式碼區為只讀屬性。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.常用的三種壞塊處理方法
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
這是一種最常用的壞塊處理方法。它的實現原理比較簡單,順序燒錄,發現某一塊為壞塊後,將相應資料燒錄到下有個好塊,如果發現連續的壞塊的話,也連續的跳過這些壞塊,並把資料燒錄的下一個出現的好塊中。其原理如下圖(Figure 5)。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
採用這種燒錄方法,要關注提示2的設定,以便對NAND的儲存區域進行更靈活的訪問。 |