flash设备驱动

MTD  :内存技术设备

Flash 设备驱动层次:设备节点 ==》MTD设备层,包括MTD字符设备和MTD块设备==》MTD原始设备层==》Flash硬件驱动层

描述MTD原始设备的数据结构是mtd_info 。每一个分区被认为是一个mtd_info, 例如,如果有两个mtd原始设备,而每个上有3个分区,在系统中将有6个mtd_info结构体,这些mtd_info的指针被存放在名为mtd_table的数组里。

mtd_part 用以表示分区, mtd_info 用以描述分区信息,mtd_partition 用以表示分区链表节点

OOB out of bank 带外数据
ECC  Error Checking and Correcting 错误检查和校验
BBT:bad block table,即坏块表

NAND FLASH的管理方式:以三星FLASH为例,一片Nand flash为一个设备(device),1 (Device) = xxxx (Blocks),1 (Block) = xxxx (Pages),1(Page) =528 (Bytes) = 数据块大小(512Bytes) + OOB 块大小(16Bytes,除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码)。

关于OOB区,是每个Page都有的。Page大小是512字节的NAND每页分配16字节的OOB;如果NAND物理上是2K的Page,则每个Page分配64字节的OOB。


需要注意的是:OOB是每个页都有的数据,里面存的有ECC(当然不仅仅);而BBT是一个FLASH才有一个;针对每个BLOCK的坏块识别则是该块第一页spare area的第六个字节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值