flash基本知识



扇区 物理块 逻辑块 flash 基础概念

sector:硬件(磁盘)上的最小的操作单位,是操作系统块设备(硬件、磁盘)之间传送数据的单位

block由一个或多个sector组成,是软件(OS、文件系统)中最小的操作单位;操作系统的虚拟文件系统从硬件设备上读取一个block,实际为从硬件设备读取一个或多个sector.对于文件管理来说,每个文件对应的多个block可能是不连续的;block最终要映射到sector上,所以block的大小一般是sector的整数倍。不同的文件系统block可使用不同的大小,操作系统会在内存中开辟内存,存放block到所谓的block buffer中。

=======================================================================

扇区组成物理块,物理块对应逻辑块,逻辑块与文件相对应。

扇区是硬件被操作时软件使用的最小的操作单元,就是一个扇区一个扇区进行操作(扇区的大小在存储设备生产时就设计好)。

块是上层软件中(操作文件时)使用的最小的操作单元,就是(操作文件时)一个块一个块进行操作(块的大小格式化时可以设置【如linux、fatfs等等】)。

如fatfs的格式化函数(即在存储设备上建立文件系统)

创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能。将ext2文件系统的块大小调整为4096byte而不是缺省的1024byte,可以减少文件碎片,加快fsck扫描的速度文件删除以及读操作的速度。另外,在ext2的文件系统中,为根目录保留了5%的空间,对一个大的文件系统,除非用作日志文件,5%的比例有些过多。可以使用命令"# mke2fs -b 4096 -m 1 /dev/hda6"将它改为1%并以块大小4096byte创建文件系统。 
使用多大的块大小,需要根据你的系统综合考虑,如果系统用作邮件或者新闻服务器,使用较大的块大小,虽然性能有所提高,但会造成磁盘空间较大的浪费。比如文件系统中的文件平均大小为2145byte,如果使用4096byte的块大小,平均每一个文件就会浪费1951byte空间。如果使用 1024byte 的块大小,平均每一个文件会浪费927byte空间。在性能磁盘的代价上如何平衡,要看具体应用的需要。 
第1组命令: 
mkfs.ext3 -T news /dev/sda5 (指定该分区文件系统的块大小为4096) 
mkfs.ext3 -b 4096 /dev/sda5 

norflash有地址线与数据线,可以通过芯片对应的手册查到该norflash的扇区的大小。

nandflash使用复用的接口线,它内部有一个页寄存器(一个页:大小一般为512字节),nandflash内部存储管理使用的块大小是多少个页。它的扇区一般为一个页的一半大小。

=======================================================================

winhex的使用:

   打开对应磁盘

         

       如上图所示,为打开一个磁盘后的数据,这时的偏移地址是相对磁盘的存储起始地址而言,上图所示,磁盘有一个分区(FAT16),还使用了一个扇区。

       在通过KEIL4读SD卡时,给一个偏移地址0x11400,读取到的数据就是这个根目录下的偏移地址。如果点击打开Partion 1,那么这是显示的offset就是相对Partion 1的偏移地址。 

=

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值