Nand 的几个名词:oob,bbt,ecc
来源:互联网 发布:网络安全设备维护方案 编辑:程序博客网 时间:2024/05/17 07:53
http://blog.csdn.net/lanmanck/archive/2009/06/02/4230904.aspx
芯片内部存储布局及存储操作特点:
一片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
- Nand 的几个名词:oob,bbt,ecc
- Nand 的几个名词:oob,bbt,ecc
- Nand 的几个名词:oob,bbt,ecc
- Nand 的几个名词:oob,bbt,ecc
- Nand 的几个名词:oob,bbt,ecc
- nand的几个名词 oob bbt ecc
- Nand 的几个名词:oob,bbt,ecc
- Nand 的几个名词:oob,bbt,ecc
- Nand 的几个名词:oob,bbt,ecc
- Nand: OOB BBT ECC PEB LEB
- 转:nand oob bbt ecc 概念
- nand flash中oob ,ecc,bbt
- nand flash中oob ,ecc,bbt
- nand flash坏块管理OOB,BBT,ECC
- nand flash坏块管理OOB,BBT,ECC
- nand flash坏块管理OOB,BBT,ECC
- Nand Flash坏块管理, OOB, ECC, BBT
- Android中级篇之简单的电话监听器
- 当前比较主流Open Api整理
- IBM的云计算技术
- jQuery:如何给动态生成的元素绑定事件?
- 用DOS命令创建以当前日期为名称的文件夹
- Nand 的几个名词:oob,bbt,ecc
- 保护自家财产身亡,大学生获见义勇为称呼
- 媒体指境外投资者是抛售B股主力
- 如何使用Google Analytics跟踪404页面
- 屏蔽回车提交
- java 中的回调
- 欧洲“弱国”国债交投惨淡
- [转] 如何让latex表格中一个单元格的文字换行(转)
- C#操作Excel总结