**
例如samsung k9f1208u0b,資料儲存容量為64mb,採用塊頁式儲存管理。8個i/o 引腳充當資料、位址、命令的復用埠。
晶元內部儲存布局及儲存操作特點:
一片nand flash為乙個裝置(device), 其資料儲存分層為:
1 (device) = 4096 (blocks)
1 (block) - = 32 (pages/rows) 頁與行是相同的意思,叫法不一樣
1 (page) = 528 (bytes) = 資料塊大小(512bytes) + oob 塊大小(16bytes)
在每一頁中,最後16個位元組(又稱oob)用於nand flash命令執行完後設定狀態用,剩餘512個位元組又分為前半部分和後半部分。可以通過nand flash命令00h/01h/50h分別對前半部、後半部、oob進行定位通過
nand flash內建的指標指向各自的首位址。
儲存操作特點:
1. 擦除操作的最小單位是塊。
2. nand flash晶元每一位(bit)只能從1變為0,而不能從0變為1,所以在對其進行寫入操作之前要一定將相應塊擦除(擦除即是將相應塊得位全部變為1).
3. oob部分的第六位元組(即517位元組)標誌是否是壞塊,如果不是壞塊該值為ff,否則為壞塊。
4. 除oob第六位元組外,通常至少把oob的前3個位元組存放nand flash硬體ecc碼。
bbt:bad block table,即壞塊表。各家對nand的壞塊管理方法都有差異。比如專門用nand做儲存的,會把bbt放到block0,因為第0塊一定是好的塊。但是如果nand本身被用來boot,那麼第0塊就要存放程式,不能放bbt了。
有的把bbt放到最後一塊,當然,這一塊不能為壞塊。
有的bbt中用2個bits表示1個block的狀態,所以1個位元組可以表示4個blocks。
bbt的大小跟nand大小有關,nand越大,需要的bbt也就越大。
所以具體**具體分析。
ecc:
nand flash出錯的時候一般不會造成整個block或是page不能讀取或是全部出錯,而是整個page(例如512bytes)中只有乙個或幾個bit出 錯。一般使用一種比較專用的校驗——ecc。ecc能糾正單位元錯誤和檢測雙位元錯誤,而且計算速度很快,但對1位元以上的錯誤無法糾正,對2位元以上的 錯誤不保證能檢測。
ecc一般每256位元組原始資料生成3位元組ecc校驗資料,這三位元組共24位元分成兩部分:6位元的列校驗和16位元的行校驗,多餘的兩個位元置1.
當往nand flash的page中寫入資料的時候,每256位元組我們生成乙個ecc校驗和,稱之為原ecc校驗和,儲存到page的oob(out-of-band)資料區中。其位置就是eccpos。
校驗的時候,根據上述ecc生成原理不難推斷:將從oob區中讀出的原ecc校驗和新ecc校驗和按位異或,若結果為0,則表示不存在錯(或是出現了 ecc無法檢測的錯誤);若3個位元組異或結果中存在11個位元位為1,表示存在乙個位元錯誤,且可糾正;若3個位元組異或結果中只存在1個位元位為1,表示 oob區出錯;其他情況均表示出現了無法糾正的錯誤。
nand的幾個名詞 oob bbt ecc
例如samsung k9f1208u0b,資料儲存容量為64mb,採用塊頁式儲存管理。8個i o 引腳充當資料 位址 命令的復用埠。晶元內部儲存布局及儲存操作特點 一片nand flash為乙個裝置 device 其資料儲存分層為 1 device 4096 blocks 1 block 32 pa...
Nand 的幾個名詞 oob,bbt,ecc
例如samsung k9f1208u0b,資料儲存容量為64mb,採用塊頁式儲存管理。8個i o 引腳充當資料 位址 命令的復用埠。晶元內部儲存布局及儲存操作特點 一片nand flash為乙個裝置 device 其資料儲存分層為 1 device 4096 blocks 1 block 32 pa...
常見的幾個名詞含意
部落格blog 維客wiki 維基百科wikipedia 維客wikiwiki一詞 於夏威夷語的 weekeeweekee 是 快點快點 quick,quick 的意思。wiki一種超文字系統,這種超文字系統支援面向社群的協作式寫作。使用者可以在web的基礎上對wiki文字進行瀏覽 建立 更改。wi...