什么是UBI文件系统华清远见.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是UBI文件系统?  什么是UBI文件系统?请认识到以下几点:  l UBI不是一个flash转换层(FTL),并且和FTL没有任何关系。  l UBI只支持纯粹的flash,消费flash像MMC、RS-MMC、Emmc、SD、mini-SD、CompactFlash、MemoryStick、USB flash drive等设备,UBI都是不支持的。请不要混淆这些。以下网址会介绍raw flash和FTL设备的不同。  UBI(拉丁语的意思:哪?)代表UnsortedBlock Images(未分类块镜像)。对flash设备来说它是一个卷管理系统,它管理着多个逻辑卷,而这些逻辑卷是基于一个单独的flash芯片的(逻辑块和物理块请参看),并且它可以将IO加载扩展至整块芯片(比如,损耗平衡)。  在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBI(Unsorted Block Images)。这里简单介绍下UBI文件系统加入的原因,及使用方法。我也是刚接触到这个文件系统,可能有理解不对的地方,也请指正。  一、产生的背景  FLASH具有的“先擦除再写入”、坏块、“有限的读写次数”等特性,目前管理FLASH的方法主要有:  1、采用MTD+FTL/NFTL(flash 转换层/nand flash转换层)+ 传统文件系统,如:FAT、ext2等。FTL/NFTL的使用就是针对FLASH的特有属性,通过软件的方式来实现日志管理、坏块管理、损益均衡等技术。但实践证明,由于知识产权、效率等各方面因素导致本方案有一定的局限性。  2、采用硬件翻译层+传统文件系统的方案。这种方法被很多存储卡产品采用,如:SD卡、U盘等。这种方案对于一些产品来说,成本较高。  3、采用MTD+ FLASH专用文件系统,如JFFS1/2,YAFFS1/2等。它们大大提高了FLASH的管理能力,并被广泛应用。  JFFS2、YAFFS2等专用文件系统也存在着一些技术瓶颈,如:内存消耗大,对FLASH容量、文件系统大小、内容、访问模式等的线性依赖,损益均衡能力差或过渡损益等。在此背景下内核加入了UBI文件系统的支持。  二、用法  环境:omap3530处理器、 (128MByte 16 位NAND Flash) 、linnux-2.6.28内核  1、配置内核支持UBIFS  Device Drivers Memory Technology Device (MTD) support UBI - Unsorted block images Enable UBI  配置mtd支持UBI接口  File systems Miscellaneous filesystems UBIFS file system support  配置内核支持UBIFS文件系统  2、将一个MTD分区4挂载为UBIFS格式  ● flash_eraseall /dev/mtd4 //擦除mtd4  ● ubiattach /dev/ubi_ctrl -m 4 //和mtd4关联  ● ubimkvol /dev/ubi0 -N rootfs -s 100MiB //设定volume 大小(不是固定值,可以用工具改变)及名称  ● mount -t ubifs ubi0_0 /mnt/ubi或mount -t ubifs ubi0:rootfs /mnt/ubi  3、制作UBIFS文件系统  在制作UBI镜像时,需要首先确定以下几个参数:  MTD partition size; //对应的FLASH分区大小  flash physical eraseblock size; // FLASH物理擦除块大小  minimum flash input/output unit size; //最小的FLASH输入输出单元大小  for NAND flashes - subsize; //对于nand flash来说,子页大小  logical eraseblock size.//逻辑擦除块大小  参数可以由几种方式得到  1)如果使用的是2.6.30以后的内核,这些信息可以通过工具从内核获得,如:mtdinfo –u。  2)之前的内核可以通过以下方法:  ● MTD partition size:从内核的分区表或cat /proc/mtd获得  ● flash physical eraseblock size:从flash芯片手册中可以得到FLASH物理擦除块大小,或cat /proc/mt

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档