您的位置:首页 > 其它

flash设备驱动

2015-08-23 21:51 281 查看
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的第六个字节。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: