基于NAND闪存FMNFS文件系统设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于NAND闪存FMNFS文件系统设计

基于NAND闪存FMNFS文件系统设计   [摘要]通过对NAND闪存使用的文件系统YAFFS实现原理的分析与研究,针对其两点不足:加载时间随着存储容量的增大而增大;对静态数据没有很好的实现损耗均衡,提出一种快速加载的文件系统FMNFS (Fast-Mounting NAND File-System)。   [关键词]NAND闪存 YAFFS 加载时间 损耗均衡   中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0510041-01      一、引言      闪存作为目前嵌入式系统中应用最为广泛的存储器,按照存储矩阵结构的不同分为NOR型和NAND型两种。NAND Flash强调降低每比特的成本,更高的性能并且像磁盘一样可以通过接口轻松升级,是高密度数据存储的理想解决方案,被大量应用于移动存储设备、移动媒体设备和嵌入式设备中[1]。   目前可用于NAND型闪存的文件系统包括集中索引的文件系统和专门为NAND闪存设计的文件系统。到目前为止,YAFFS系列是唯一专门针对NAND闪存而设计的文件系统,YAFFS解决了集中索引文件系统中,数据易丢失及损耗均衡等问题。但随着NAND闪存存储容量的快速增加,YAFFS也日益暴露其缺点,在大容量的NAND闪存上设计专门的文件系统成为了目前的一个研究热点。      二、FMNFS的设计思想      YAFFS的启动过程虽然不需要像JFFS系列一样扫描每一个Flash的存储单元。但是要扫描 NAND Flash上每一页的附加存储区,根据其中的控制信息来建立文件系统的结构。所以YAFFS的启动加载时间是同Flash的存储容量成正比的[2]。目前,NAND Flash的存储容量越来越大,所以其加载时间是比较长的。   YAFFS采用一种多策略混合的算法来进行垃圾回收,将贪心策略和随机选择策略分别用在不同的情况下。虽然就更新频繁的数据而言,YAFFS实现了损耗均衡[3],但是YAFFS没有对占用大部分存储空间的静态数据实现损耗均衡。因此YAFFS不能实现整个闪存器件的损耗均衡。   针对上面这两点,本文提出了一种新的文件系统:快速加载的闪存文件系统FMNS(Fast -Mounting NAND File-system)。   在YAFFS中,文件的控制信息和数据信息混合存储在同一个块中,所以在加载时需要扫描所有的块,这大大延长了文件系统的加载时间。为了能更快的加载文件系统,FMNFS采用了一种新的方法,它将集中索引的文件系统和日志文件系统两者的优点结合起来。在FMNS中,不再将文件的控制信息和数据信息混合在一起存储,而是将文件的控制信息和数据信息分离,分开存储,一个擦除块或完全用于存储文件信息节点,或者用于存放纯数据节点。其中文件信息节点中包括对数据节点的索引。除此之外,FMNFS还将所有存储文件信息节点的擦除块的地址存储在特定的位置。这样,在加载的时候只要扫描文件信息节点块中各个节点便可以建立文件系统的整体结构,而不用扫描整个的NAND Flash,从而大大减少了文件系统的加载的时间。   为了实现损耗均衡,使每个物理块的使用寿命趋向于平均,延长闪存的寿命,FMNFS在垃圾回收和空闲块的分配过程中使用了冷热数据[4]的概念。所谓热数据即需要被频繁更新的数据,冷数据则是相对来说较少访问、更新的数据。下面详细介绍FMNFS中损耗均衡算法的设计。      三、FMNFS中损耗均衡算法的设计      为了让NAND闪存上每个擦除块的寿命趋于平均,根据上述的冷热数据的概念,针对冷数据和热数据采用了不同的算法,以延长NAND闪存的使用寿命。   FMNFS中,为了更好的实现擦除均衡,其所采用的算法为:   1.通过在附加区设置 Erase_Num字段来记录每个擦除块的擦除次数;   2.针对更新频繁的索引信息 (热数据),在分配擦除块的时候每次都将擦除块次数最小的擦写块分配给它;   3.对于不经常更新的只读静态数据 (冷数据),则在经过“一段时间”后,需要对其进行拷贝移动。这个“一段时间”是擦除次数的差值来决定的,即当所有块中擦除次数最多的块与擦除次数最小的块的差值大于某个阈值时,则按下列步骤进行:(1)找到擦除次数最大的块,将其上面的数据复制到一个空白块上面;(2)对擦除次数最大的块进行擦除操作;(3)将静态数据从擦除次数最小的块复制到之前刚刚擦除好的块;(4)将静态数据所在的块作为垃圾块进行回收并在分配过程中将其分配给更新频繁的数据。   改进的垃圾回收算法的设计思想是:不再预先设置一个阈值,当空闲块链表中的擦除块小于这个数目时才启动垃圾回收操作。而是在空闲链表中的所有擦除块被用完后,才启动垃圾回收。   具体

文档评论(0)

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

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

1亿VIP精品文档

相关文档