淺析Nandflash燒錄技巧與方法
Nandflash芯片以其高性?xún)r(jià)比,大存儲容量在電子產(chǎn)品中廣泛應用。但是,在此量大質(zhì)優(yōu)的應用領(lǐng)域,很多客戶(hù)卻痛苦于批量質(zhì)量問(wèn)題:專(zhuān)用工具無(wú)法滿(mǎn)足量產(chǎn),量產(chǎn)工具卻可能出現極大的不良品率,那么究竟要如何解決呢?
本文引用地址:http://dyxdggzs.com/article/201902/397854.htm其實(shí)根本原因在于目前大部分用戶(hù)并不是很了解Nandflash燒錄的復雜性,他們常采用很直接的方法,即使用一顆能正常運行的NandFlash芯片作為母片,在連接編程器之后,點(diǎn)擊燒錄軟件上的“讀取”按鈕,把數據從芯片里面完整讀取出來(lái),然后再找幾顆空芯片,把數據重復寫(xiě)進(jìn)去。本以為可達到量產(chǎn)的目的,但實(shí)際上生產(chǎn)出來(lái)的產(chǎn)品卻達不到品質(zhì)的要求,往往會(huì )出現批量的產(chǎn)品異常開(kāi)機或啟動(dòng)的狀況。
一、原因分析
原因究竟在哪里呢,在分析之前,那就先得了解一下Nandflash基本的工藝特性:
首先,我們來(lái)看NandFlash存儲結構,它由多個(gè)Block組成,每一個(gè)Block又由多個(gè)Page組成,每個(gè)Page又包含主區(Main Area)和備用區(Spare Area)兩個(gè)域。其次NandFlash是有壞塊的,由于NandFlash的工藝不能保證Nand的Memory Array在其生命周期中保持性能的可靠,因此在Nand的生產(chǎn)中及使用過(guò)程中會(huì )產(chǎn)生壞塊的。
1. 原因一:壞塊的影響
因為壞塊影響了數據的存放地址,用戶(hù)就不能按常用方法那樣,把母片的數據全部讀取出來(lái),然后再把數據原原本本拷貝到其他芯片上了,也就產(chǎn)生了傳統拷貝機無(wú)法量產(chǎn)Nandflash的問(wèn)題!
既然NandFlash有壞塊是無(wú)法避免的問(wèn)題,那就要想辦法避開(kāi)那些壞塊;最簡(jiǎn)單、最有效、最常用的方法就是:跳過(guò)!使用“跳過(guò)壞塊”,我們很好地解決了NandFlash的壞塊問(wèn)題,原本寫(xiě)到壞塊的數據,我們也安全轉移到下一個(gè)塊里面!
2. 原因二:地址變化
跳過(guò)是一種常用而有效的方法,但是實(shí)際上,根本問(wèn)題還依然存在,細心的人會(huì )發(fā)現,數據存放的地址也發(fā)生了變化。

實(shí)際應用中,很多用戶(hù)會(huì )把多個(gè)文件數據同時(shí)存儲到NandFlash上(比如uboot、uImage、Logo、rootfs等燒錄文件),并給每個(gè)文件在NandFlash存儲單元中劃分了一定大小的存儲空間區域,指定了每個(gè)文件存儲的起始物理地址塊;如果某個(gè)區域出現了壞塊,為了避開(kāi)它,勢必需要把數據安全往下一塊轉移,而引起的后果就是后續燒錄文件的起始物理地址也隨著(zhù)發(fā)生了偏移,這將會(huì )導致主控MCU無(wú)法通過(guò)固定的地址,準確、完整地獲取到每個(gè)文件的數據,最終造成的結果就是產(chǎn)品異常啟動(dòng)。
二、解決建議-分區燒錄
分區燒錄,用戶(hù)提前設置好每個(gè)文件燒錄的起始塊地址,無(wú)論壞塊出現在哪個(gè)空間區域,都可以確保每個(gè)文件起始塊地址都不會(huì )發(fā)生偏移變化,數據也將根據客戶(hù)預設方案存放在NandFlash存儲區域內,主控MCU也能準確完整讀取到每個(gè)文件的數據,那么產(chǎn)品就正常跑起來(lái)了。

三、解決方案參考
廣州致遠電子有限公司的P800系列編程器支持按分區燒錄(并可支持多種分區格式),可按照每個(gè)用戶(hù)方案需求,設置每個(gè)文件的起始塊地址和燒錄塊長(cháng)度,即可達到高效率燒錄,又可提高芯片燒錄良品率!

同時(shí),P800系列搭載獨立操作系統,還可滿(mǎn)足工廠(chǎng)全脫機,一鍵批量的燒錄要求。

評論