NAND FLASH (2 讀寫操作)

 壞block 標示:  create invalid block table

   壞block標示在額外區域的 第六byte. 在壞block的第一或者第二page的第517byte(from512, 6th) 是non-FFh數據

然後建立一個 table 來記錄所有壞block

掃描出壞block並標示以後就可以保證不對壞block進行讀寫.

方法:  從block address=0開始, 檢查每個block的第一&第二page的 517address上是否是 FFH, 如果是, check next block.; 如果不是,create(or update ) invalid blocks table 然後check next block. 直到 the last block  .  end.

遇到壞block,會用芯片中另外一個地方的block來代替這個地址的block.但是爲了提高內存空間的利用率, 讀寫操作出現ecc錯誤的時候不會產生block替換操作

方法:1 copy nth page 到另外一個block的 nth page中 2 copy1st-(n-1)th page 到另外一個block的 1st-(n-1)page中 3 在沒有更新 invalid block table 前 不要刪除壞block中意境寫入的數據

 指針操作(*8)

命令 00h  是A區域(0-255bytes), 01h是B區域(256-511bytes),50h是C區域(512-527bytes), 其中 00h 50h可以保持,直到下一個地址指針命令出現,01h卻只能生存於一個操作中.

注意: 1  當01H用過一次, 地址指針會自動回到A區域.

         2 00h 50h必須在80h之前writen

         3 要programB區域,必須就在80h指令前一個寫入01h.( program 和writen 什麼區別?)

哈 後面就要看圖理解了, 今天寫到這裏.

 寫的粗略了一點, 後面的過程要配合程序來看了, 所以nandflash讀書筆記暫時停止.  等我再讀讀vivi, 遇到有新的部分再繼續添加.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章