nand flash 裸資料讀寫的錯誤規避方法

2021-10-06 18:41:51 字數 537 閱讀 9310

在系統公升級過程中往往需要對flash進行裸資料的標記讀寫,對於nand flash 的系統不能像nor flash一樣在任意位置上進行裸資料讀寫,如果nand flash存在壞塊,並且正好處於讀寫的位置上,資料就比較容易出錯了。nand flash 存在壞塊特性,往往在底層驅動去對壞塊的規避處理(沒有很好的處理,沒有把非壞塊物理位址對映成連續的虛擬位址,虛擬位址是沒有壞塊的連續位址,讀寫介面只操作虛擬位址而非實體地址),但是對於非檔案系統的nand flash往往因為壞塊的存在,產生讀寫位址的偏差導致裸資料讀寫的錯誤,因此nand flash 不建議採用離散增量寫的方式,避免因為壞塊的存在,實際位址發生偏差。對於小於乙個block的資料,可能不存在影響,但對於對於乙個block的資料,那麼將會因為位址的偏差,可能產生因為壞塊讀寫資料的非一致性。

規避的方法如下:

第一種,小於乙個block的資料情況。可以採用離散增量寫,但是必須當成nor flash的特性,不能在連續兩個block上增量讀寫;至少不能根據具體位址進行讀寫;

第二種,對於大於乙個block的資料,不能分塊進行讀寫,必須一次性讀,一次性寫!

nand flash 讀寫操作

1 頁讀 如下所示,先輸入讀命令 0x00 然後輸入5個位址,分為2個列位址 頁內位址 和3個行位址 頁和block位址 再輸入讀確認位址0x30,nand硬體會自動從指定的頁的主儲存區讀資料到頁快取 頁暫存器 此時r b 為低電平,當內部讀完成後,r b 恢復為高電平,此時便可以通過nfc的資料暫...

NAND FLASH 讀寫定址方式

來自小不懂的不懂的網易blog nand flash的定址方式和nand flash的memory組織方式緊密相關。nand flash的資料是以bit的方式儲存在memory cell,一般來說,乙個cell中只能儲存乙個bit。這些cell以8個或者16個為單位,連成bit line,形成所謂的...

nand flash基礎 讀寫擦操作

當對乙個cell進行讀操作時,對相應的wordline施加vread電壓,對其他wordline施加vpass電壓,如上圖所示。狀態為 0 的cell 被program的cell 的vth均大於0,狀態為 1 的cell 被erase的cell 的vth均小於1,且所有cell的vth有乙個上限,所...