trueffs原理以及其在cf卡上的实现.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文档。上传文档
查看更多
trueffs原理以及其在cf卡上的实现

TrueFFS原理以及其在CF卡上的实现 ; 摘要:cf卡是一种基于flash技术的容量大、携带方便的存储介质,已在嵌入式系统等领域得到广泛的应用;但是,有限的擦写次数极大地限制了cf卡的使用寿命。trueffs通过一系列算法,能够延长cf卡的使用寿命,提高cf卡的使用效率。文章介绍了trueffs的原理,在cf卡上实现trueffs的方法,并对trueffs的性能进行了分析。; 关键词:trueffs 损耗均衡 闪速存储器 cf卡; 闪速存储器最大的一个缺点就是寿命有限。可擦除的次数因芯片厂商而有所不同,一般都在1万~10万次左右。为了延长闪速存储器的寿命,提高使用效率,msystems公司推出了trueffs系统。它为种类繁多的闪速存储器提供了统一的块设备接口,并且具有可重入、线程安全的特点;支持大多数流行的cpu架构,如powerpc、mips、arm、x86、68k等。; 由于个性鲜明的闪速存储器越来越受到嵌入式系统工程师的青睐,业界流行的嵌入式实时操作系统vxworks已将trueffs作为自身的一个可裁减的模块。目前该模块的版本为2.0,支持intel、amd、toshiba、fujitsu等厂家生产的大多数型号的闪速存储器和flash卡,用户只需要更改少量代码,甚至可直接调用;但是,该模块对如今风靡的cf卡缺乏支持。; cf卡采用了flash技术。形象地说,cf卡就是由若干片闪速存储器外加一个管理器组成;但是,cf卡具有携带方便、易于升级、存储量大、抗震性好、兼容性佳等优点。目前,cf卡标准已经达到1.4版本,容量从最早的2mb到现今的1gb。然而,有限的擦写闪数是闪速存储器遗传给cf卡的先天缺陷。本文介绍如何在cf上实现trueffs系统,硬件平台以powerpc处理器(mpc8250,motorola公司)为cpu,嵌入式操作系统是vxworks。; 1 trueffs的结构; trueffs本身并不是一个文件系统,需要在trueffs之上加载dos文件系统才能使用,否则毫无意义。trueffs屏蔽了下层存储介质的差异,为开发者提供了统一的接口方式。应用程序对存储设备的读写就对像对拥有dos文件系统的磁碟设备的操作一样。; 如图1所示,trueffs由1个核心层和3个功能层组成:编译层、mtd层(memory technoilogy driver)、socket层。; 翻译层主要实现trueffs和dos文件系统之间的高级交互功能,管理文件系统和flash中各可擦块的关系,以及trueffs中各种智能化处理功能,例如块映射、损耗均衡(wear-leveling)等。目前有三种不同的翻译层模块可供选择。选择哪一种模块要根据使用的flash介质采用nor技术、还是nand技术,或者ssfdc技术而定。; mtd层实现对具体的flash进行读、写、擦、id识别、映射等驱动,并设置与flash密码相关的一些参数。vxworks的trueffs已经包括了支持intel、amd、toshiba等厂商的大多数flash芯片的mtd层驱动。新的器件需要编写新的mtd层驱动。; socket层提供了trueffs和硬件之间的接口服务,负责电源管理、检测设备插拔、硬件写保护、窗口管理和向系统注册socket等。; 核心层将其它三层有机结合起来,处理全局问题,例如量、计时器、碎片回收和其它系统资源等。; 我们最关心的是mtd层和socket层。vxworks只提供了编译后的二进制形式的核心层和翻译层驱动。在实现trueffs应用之间,先介绍一下trueffs的原理。; 2 trueffs原理; 2.1 损耗均衡; 闪速存储器不能无限次重复使用。它的每个扇区的擦除次数虽然很大,但却有限;因此,随着使用次数的加长,它最终会变成只读状态,所以应该尽最大 可能延长它的寿命。行之有效的方法就是平衡使用所有的存储单元,而不让某一单元过度使用。这种技术被称之为损耗均衡。trueffs使用一种基于一张动态维护表的存储器——块映射的翻译系统来实现损耗均衡技术。当块数据被修改、移动或碎片回收后,这张维护表会自动调整。; 然而,如果存储在flash上的一些数据本质上是静态的,就会产生静态文件锁定问题。存储这些静态数据的区域根据不会被轮循使用,其它区域就会被更频繁地使用,这将降低flash期望的生命值。trueffs通过强制转移静态区域的方法成功克服了静态文件锁定问题。因为映射表是动态的,trueffs能够以对文件系统不可见的方式转移这些静态数据区域。由于绝对强制损耗均衡方式会对性能产生一些负面影响,所以trueffs采取了一种非绝对损耗均衡算法。它保证了所有空间的使用近似平等而不影响性能。; 2.2 碎片回收; 块数据的修改使得flash的一些

文档评论(0)

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

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

1亿VIP精品文档

相关文档