天天看點

關于Nand Flash的使用(針對三星K9F系列)

    前兩天在搞Ch375(南京生産的USB解決方案晶片),讀寫都沒有問題,也能完成初始化操作,就是不中斷,用示波器測試1引腳(中斷引腳)信号會跳變為低電平然後慢慢地傳回到高電平,很奇怪!最後才發現是示波器的問題,設定成為側交流分量造成的。最後檢測PCB驚人的發現是PCB上這根線沒有連上。

    說主題!

    今天搞Nand Flash,前面測試沒有問題,能寫入資料也能讀出資料,并且完全正确。但是用檔案系統來讀寫的時候,ID沒問題,但是讀寫都不對,隻要讀資料讀出來的就是錯的,結果顯示Spare區的第六個位元組不為0xFF,表示它是一個壞塊,很納悶,剛貼上去的Nand怎麼會一系列的壞塊呢?搞不明白。換了好幾塊晶片,同時也換了好幾種型号,最後沒折了,想到了先全部擦除一次試試。擦除的軟體顯示的卻有很多壞塊,不過擦除完了,就沒有壞塊了!

    這裡附帶Nand Spare區的資訊:

我的Nand一塊裡面有32頁共528位元組,

每一頁分為ABC區:A區256位元組,B區256位元組,共同組成了每一頁的主資料區剩下的16位元組為C區,也就是我們說的Spare區

Spare區的16位元組是這樣定義的:

LSN0  LSN1  LSN2

RESERVED  RESERVED

BI

ECC0  ECC1  ECC2  S-ECC0  S-ECC1 

RESERVED  RESERVED  RESERVED  RESERVED  RESERVED

> LSN : Logical Sector Number

> ECCa,ECCb,ECCc : ECC code for Main area data

> S_ECCa,S_ECCb : ECC code for LSN data

> BI : Bad block Information

不用說也明白什麼意思!