Nand Flash坏块

本文针对nand flash坏块部分进行简单的记录

什么是坏块

我们先来看一下nand flash的存储结构

nand flash的存储结构为:一个flash由许多个block组成,一个block又是有许多个page组成,一个page又是由有效的数据区和spare area区(即oob区)。

如上图flash有1024个block,一个block有64个page,一个page有2Kbytes的有效数据+64bytes的oob数据。

我们通常计算nand flash容量大小为:总共的block数 * 一个block中的page数 * 一个page中的有效数据区。oob区为特殊数据,用作硬件纠错和坏块管理的。

注:按照读、写、擦除的操作,擦操作最小单位为一个block,读写操作最小单位为一个page

Nand Flash有坏块是它的天然缺点,无法避免。有的坏块多,有的少,纯属几率。
Nand Flash专用的YAFFS文件系统可以识别、管理坏块, 可以避免坏块对系统产生影响。

在u-boot中,可以执行 " nand bad " 命令查看有哪些坏块,

Nand Flash怎么标记某一个BLOCK是坏的? 
它使用该BLOCK中第1个扇区的OOB数据中某一个字节来标记: 其值为0xff表示该BLOCK是好的, 其值为非0xff表示该BLOCK是坏的。

有时候我们会误写这个OOB区的值导致有些BLOCK被误认为是"坏块",
可以在u-boot中执行"nand scrub"后, 根据提示信息输入小写字母'y'并回车, 
它会强制擦除整个Nand Flash(包括把OOB擦除为0xff), 这样就可以恢复被误标为坏块的区域了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值