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

来源 :硅谷 | 被引量 : 0次 | 上传用户:ak19820701
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]通过对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)将静态数据所在的块作为垃圾块进行回收并在分配过程中将其分配给更新频繁的数据。
  改进的垃圾回收算法的设计思想是:不再预先设置一个阈值,当空闲块链表中的擦除块小于这个数目时才启动垃圾回收操作。而是在空闲链表中的所有擦除块被用完后,才启动垃圾回收。
  具体方法:预先设置一个空闲块链表中单元块数的最小值Min,Min需要尽量满足下次更新操作所需的空闲块数。Min的值不可以过大,这样空闲块数过多,从而减少闪存中的可用空间。Min的值也不能过小,这样便起不到改进的作用。由于垃圾回收时不存在空闲块,脏块上面的有效数据便没有办法保存,所以在回收脏块的时候采用基于阈值的贪心策略对垃圾块进行回收,即开始时每次选择块内无效页数量最多的脏块进行回收,当空闲块上的擦除块数量到达一定值时,便从脏块链表的开始处对垃圾块进行回收。
  
  四、FMNFS损耗平衡测试结果及分析
  
  测试使用的目标板是Blackfin531,NAND闪存的大小是512M,每页的大小是2048+64字节,RAM的大小是64M。
  按照冷热数据的思想,文件系统中存放占据闪存大部分空间的只读静态数据文件3个,大小分别为:1M、10M、16M;存放300个小文件,其容量不超过10K。其中冷数据文件被访问的概率为20%,热数据被访问的概率为80%。
  对YAFFS2和FMNFS中擦除块擦除的平均程度比较得:
  1.在YAFFS2中存在一部分擦除次数接近于零的擦除块;而在FMNFS中不存在这样的块。
  2.FMNFS的擦除块的擦除次数更加平均,且擦除次数的值比较低,从而可以延长闪存寿命;而YAFFS2中擦除块的擦除次数较FMNFS普遍偏高。
  
  参考文献:
  [1]潘玉华、孙涛,NAND FLASH的数据管理方法[J].苏南科技开发,Sunan Sci-Tech,Devel,2006(12):1-3.
  [2]龙瑞,YAFFS嵌入式文件系统原理分析[J].电脑编程技巧与维护,2006(10):76-79.
  [3]王同洋、董永帅、吴俊军,基于阑值控制的损耗均衡算法设计[J].计算机工程与科学,2008(3):72-74.
  [4]杨春林、雷航,基于NAND Flash的嵌入式文件系统的改进与优化[J].计算机应用,2007(12):3102-3104.
  
  作者简介:
  全蕾,女,江西临川人,讲师,研究方向:嵌入式系统及核仪器;江珊珊,讲师。
其他文献
[摘要]以公路工程常规试验实践教学为具体内容,利用Authorware軟件平台,采用设计图标和流程线制作方法,论述课件模块体系构建思路、多媒体素材准备和制作技巧以及课件的编辑合成与打包方法,从而形成交互式的实践教学课件系统。  [关键词]软件Authorware实践教学课件  中图分类号:G71 文献标识码:A 文章编号:1671-7597(2009)0620139—02    注:本文中所涉及到
期刊
[摘要]分析“挑战杯”竞赛的选择工作的重要性,着重对选题的原则进行阐述,并对如何加强选题工作进行详细地分析,提出相应的对策。  [关键词]挑战杯 选题 创新  中图分类号:G24 文献标识码:A 文章编号:1671-7597(2009)0620190-01    “挑战杯”全国大学生课外学术科技作品竞赛是由共青团中央、中国科协、教育部、全国学联主办,国内著名大学和新闻单位联合发起,在国家教育部支持
期刊
[摘要]乡村旅游系统作为一个巨系统,其发展不是在短时间内一簇而成,而是一个螺旋式的推进发展过程。从螺旋式推进方法入手,系统分析重庆市乡村旅游发展的背景及发展瓶颈,在此基础上提出重庆市乡村旅游发展推进策略,并进行多系多组双螺旋推进方法的诊断,系统思考螺旋式推进方法在重庆市乡村旅游发展中的作用。  [关键词]螺旋式推进 乡村旅游 重庆市 战略  中图分类号:F719 文献标识码:A 文章编号:1671
期刊
[摘要]针对德国HAUNI公司的嘴棒发射机的原电控系统采用早期的逻辑电路控制,电气元件繁多,使用年限已久,零配件采购困难且价格昂贵,故障隐患多,维修难度大,故提出并进行了发射机组的改造。系统软件采用西门子STEP7编制,通过PLC控制变频器的启动/停止,通过接口模块控制分布式I/O的运行。使机组线路简单明了,维护起来比较方便;降低故障发生率,提高机器性能;通过特有的故障显示功能,提高操作人员对机器
期刊
[摘要]介绍一个以XC2S200为核心的视频信号滤波处理系统,该系统为水下图像目标识别和监控提供了一种解决方案,它采用共轭算法对图像进行统一、高效的全局变换,滤波增强效率更高,并且采用Xilinx公司的FPGA芯片XC2S200位处理核心,使得该系统结构紧凑,配置灵活,便于携带。该系统可实时使水下昏暗、模糊的视频图像获得较好的噪声滤波效果,并输出给液晶显示器显示。可应用于水下场景监测或监控,具有很
期刊
[摘要]详细研究对增量式光电编码器脉冲信号进行细分、计数以及传输的基于FPGA(现场可编程逻辑阵列)的接口电路。采用以高度集成的FPGA芯片为核心的设计方式,实现增量式光电编码器对信号的处理。编码器输出的数据在FPGA芯片中进行细分、辨向、计数等传输处理,最后所得的数据经寄存器存储。验证光电编码器FPGA接口信号处理系统的可行性。  [关键词]FPGA 光电编码器 接口 信号  中图分类号:TP3
期刊
[摘要]介绍采用Atmega64单片机和128×64点阵液晶模块设计的老化控制器。针对老化时间、老化环境以及产品一些功能的老化的实现,重点讲述了这种控制器的继电器输出,键盘输入,并通过点阵液晶显示控制器的工作状态(显示计次次数、工作状态、剩余老化时间、日期与时间),当老化结束时,电路能够自动断电。给出系统的软、硬件实现方案。  [关键词]老化控制器 Atmega64 点阵液晶显示 矩阵按键  中图
期刊
[摘要]介绍多媒体CAl系统的在教学中的应用,针对当前CAI的开发技术,提出设计和制作方法。与单纯的图文教程相比,生动活泼的视频多媒体教程更容易吸引学生注意力,让学习过程更加轻松有趣。  [关键词]CAI 开发 多媒体 制作  中图分类号:G43 文献标识码:A 文章编号:1671-7597(2009)0620106-02    CAI,即计算机辅助教学。它是利用计算机将文字、图形、图像、动画、声
期刊
[摘要]江都三站更新改造工程选用WKLF-102B双微机型晶闸管励磁装置,该装置具有起动平稳、操作方便、运行可靠等优点,同时还能对实时参数液晶显示,支持在线修改、事件记录等技术特性。介绍了江都三站改造前的现状及改造后励磁装置的组成、技术特性等。  [关键词]晶闸管 双微机型 励磁 大型泵站 应用  中图分类号:TN2文献标识码:A文章编号:1671-7597(2009)0510028-01    
期刊
[摘要]ASP读取XML数据是开发过程中经常遇到的一个难题,具体介绍ASP读取XML数据的实现方法。  [关键词]ASP 读取 XML 方法  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0510032-01    一、引言    ASP是Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序,在ASP文件中访问数据库是最常用的操作,而
期刊