nandflash坏块标记?
时间:2010-05-26
来源:互联网
三星的K9F2G08,在测试nand时,按照datasheet上说的页内地址写成2048(第一页),看NFDATA的值是不是0xff就可以知道此块是不是坏块,
可是写程序验证时检查结果,没有坏块,当用u-boot的nand bad检查时有两个坏块,这事这么回事呢?难道坏块标记不是第一页的spare area 的第一个字节?对于2G08的 spare area 区域的结构是什么样的(见有的资料上说是64B分成4份,每一份对应512B)?
复制代码
可是写程序验证时检查结果,没有坏块,当用u-boot的nand bad检查时有两个坏块,这事这么回事呢?难道坏块标记不是第一页的spare area 的第一个字节?对于2G08的 spare area 区域的结构是什么样的(见有的资料上说是64B分成4份,每一份对应512B)?
- static u_size8 is_bad_block(u_size32 addr)
- {
- u_size32 i;
- u_size8 tmp;
- EN_NANDFLASH;
- WCMD(READ1);
- rNFADDR = 2048 & 0xff;
- rNFADDR = (2048 >> 8) & 0xf;
- rNFADDR = (addr >> 12) & 0xff;
- rNFADDR = (addr >> 20) & 0xff;
- rNFADDR = (addr >> 28) & 0x1;
- WCMD(READ2);
- delay(10);
- noBUSY;
- tmp = rNFDATA;
- if(tmp != 0xff){
- DIS_NANDFLASH;
- return 1;
- }
- DIS_NANDFLASH;
- return 0;
- }
作者: yang23 发布时间: 2010-05-26
自己顶一下!
作者: yang23 发布时间: 2010-05-26
坏块的分类
总体上,坏块可以分为两大类
(1) 固有坏块
这是生产过程中产生的坏块,一般芯片原厂都会在出厂时都会将坏块第一个page的spare area的第6个byte标记为不等于0xff的值。
(2) 使用坏块
这是在NAND Flash使用过程中,如果Block Erase或者Page Program错误,就可以简单地将这个块作为坏块来处理,这个时候需要把坏块标记起来。为了和固有坏块信息保持一致,将新发现的坏块的第一个page的spare area的第6个Byte标记为非0xff的值。
总体上,坏块可以分为两大类
(1) 固有坏块
这是生产过程中产生的坏块,一般芯片原厂都会在出厂时都会将坏块第一个page的spare area的第6个byte标记为不等于0xff的值。
(2) 使用坏块
这是在NAND Flash使用过程中,如果Block Erase或者Page Program错误,就可以简单地将这个块作为坏块来处理,这个时候需要把坏块标记起来。为了和固有坏块信息保持一致,将新发现的坏块的第一个page的spare area的第6个Byte标记为非0xff的值。
作者: aaaaa5aa 发布时间: 2010-05-26
已经解决,是地址弄错了!呵呵!
作者: yang23 发布时间: 2010-05-26
QUOTE:
已经解决,是地址弄错了!呵呵!
yang23 发表于 2010-05-26 20:01
yang23 发表于 2010-05-26 20:01
请问能否贴出您的 判断坏块的代码吗?
我想参考下,
我怎么总是判断为坏块啊。
作者: yourtse 发布时间: 2010-10-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28