Flash盘的FAT结构分析

2011-07-24 13:34:11来源: 互联网

Flash 盘的FAT 结构
Flash 硬盘与普通的磁头、柱面式介质不一样。在开发U 盘的过程中,使用Flash 作为存储介质。它有其特定的结构特点。
以16M 的三星K9F2808U0A-YCB0 Flash 为例,它有1024 个Block,每个Block 有32个Page,每个Page 有512+16=528 个字节。

Flash 的结构
Flash 的读写有其自身特点:1)必须以Page 为单位进行读写;2)写之前必须先擦除原
有内容;3)擦除操作必须对Block 进行,即一次至少擦除一个Block 的内容。
针对这种情况,将Flash 的一个Page 定为1 个扇区,将其2 个Block,64 个扇区定为
一个簇,这样,簇的容量刚好为512*64=32K,满足FAT16 对簇大小的要求。
FAT 分配空间的时候,是按簇来分配的,但是其给出的地址却是LBA(Logical Block
Address),即它只给出一个扇区号,比如对此Flash 而言,若给出LBA 为0x40,实代表簇1
的扇区1。因此需要将Logical Block Address 转换为物理地址,这样,才可以对数据进行存
取操作。根据我们定义的结构,转换公式为:
Flash 的Block = Logical Block Address/0x20
Flash 的Page = Logical Block Address %0x20
实际上,如果定义每个簇为32 个扇区是最好的,因为这样物理结构和逻辑结构刚好一
致。但是这也无防,因为不管Logical Block Address 给出什么值,只要按上述公式,总可以
得到物理上正确的Block 和Page,再使用Flash 的读写命令读取对应的Block 和Page 就可
以了,读的问题复杂一些,在后面介绍。
因此簇和扇区的概念只是在BPB 中给出存储介质信息的时候告之系统就可以了,我们
只要做好LBA 与物理地址间的转换就可以了。
由于做为U 盘的Flash 不要求启动,因此可以没有MBR 区,只包含DBR、FAT、DIR
和DATA 四个区。
因此,Flash 的前两个Block 的内容如下:

LBA Block/Page 长度 内容说明
0 0,0 512 字节 MBR=BPB+Excutable Code+55AA(查看内容)
1~2 0,1~0,2 1024 字FAT 区(第一份FAT)

                       节

3~4 0,3~0,4  1024字节  FAT 区备份(第二份FAT)
5~39H                          目录区(在BPB 中调整目录项数,使其刚好占尽本簇)
40H~                             数据区(因目录区占尽一个簇,故数据区始于新簇首扇)

当Host 发出READ 命令后,Flash 读写操作即告开始,Host 首先读取MBR,得到有关存储介质的有关信息,诸如扇区长度、每簇扇区数以及总扇区数等内容,以便知道此盘有多大。如果读取正确,会接着读取文件分配表,借以在PC 机上的可移动盘符中显示文件目录,并可以复制、删除或是创建文件。系统自动将这些命令都转换成Read 或Write 两种命令,通过USB 的READ 或WRITE 命令块描述符来从Flash 中相应扇区读取数据,或是将特定长度的数据写入Flash 相应簇中。

Flash 的读写
针对Flash 读写的特点,特别是其可随机读,但无法随机写的问题,需要通过设置缓冲
区来解决。在与USB Host 进行数据交换的过程中,最小的单位是扇区:512 字节。由于Flash
在写之前必须先擦除,而一擦又必须擦一个Block,因此在擦除某Block 之前必须保存同一
个Block 中有关扇区的数据。因此,如果每收到一个扇区的内容就进行一次擦、保存、写的
操作,系统任务将十分繁重,无法及时响应USB Host 端的请求。
因此,在系统中设置32K 的缓冲区(ARM7 系统具有2M SDRAM,因此内存足够,如果在8051 平台上,则需要另外想办法),每完成一次数据传输后,记下本次要写的开始扇区和总扇区数,将本次要写的数据所涉及的扇区以外的数据从Flash 中读出来,存放在缓冲区中对应位置,然后擦除一个Block,再将缓冲区中内容一次全部重新写入Flash。

关键字:flash  结构  结构分析  分析

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/0724/article_11002.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
flash
结构
结构分析
分析

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved