关于一篇yaffs2很好的文章.docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于一篇yaffs2很好的文章

装置为硬碟及快闪记忆体(FlashMemory),虽然硬碟的容量相当大,但是其执行速度相当的慢、体积大且不耐震,较不适用于需要效率、体积及耐震考量的EmbeddedSystem,因为FlashMemory速度快,体积小及耐震的特性,大部份的EmbeddedSystem皆使用FlashMemory做为其内部储存装置。如市面上最常见到的行动电话、PDA(PersonalDigitalAssistant)内部储存装置等或是数位相机所使用的记忆卡,皆使用 FlashMemory。因此该怎么操作或更有效率的使用FlashMemory,都是我们所要去关注的。 二、动机 FlashMemory目前分为两种:NORFlashMemory及NANDFlashMemory,尤于NANDFlashMemory有较快的EraseTime、SmallSize及成本较低的特性下,使得NAND更适用于EmbeddedSystem。FlashMemory是一储存装置,若要使用此储存装置,亦须要在FlashMemory上使用FileSystem。在一般的BlockDevice(e.g.Disk)上使用的FileSystem,如:NTFS、FAT32和ext2等等,都可用于FlashMemory上,但是这些FileSystem并非专为Flash所设计的,所以无针对Flash的特性去操作,因些需要透用FTL(FlashTranslationLayer)将其做转换的动作,如下图所示 图一 使用非专为Flash所设计的FileSystem(Flash-SpecificFileSystem),则需要透过FTL做转换,才能存取FlashMemory,但使用FTL会多了一个转换的过程,会浪费转换的时间,对于相当要求效率的EmbeddedSystem来说,不太适用,因此则有专为FlashMemory所设计(Flash-SpecificFileSystem)的FileSystem,如:JFFS、JFFS2和YAFFS等等。使用此种Flash-SpecificFileSystem则不再需要透过FTL来做转换,如图二所示 3. Yaffs2基本框架以及运作 YAFFS为一ForNANDFlashMemory的Flash-SpecificFileSystem,它在设计上必会针对NANDFlashMemory的特性来设计,如在DataStructure的设计上与平常的FileSystem必定不同,还有专为FlashMemory设计的wear-levelingAlgorithm以避免同一区块过度存取而造成毁损等等。接下来则会介绍YAFFS所使用的DataStructures、GarbageCollection及Wear-Leveling等的基本架构及运作。 3.1YAFFSDataStructure 在一般的作业系统中,会使用Disk或其他储存装置以储存档案,并使用较快速度的RAM(RandomAccessMemory),将欲存取使用的档案复制至RAM中,再进行存取,最后再写回储存装置。利用RAM可加速整体的执行速度及效能。另外我们会设计一些DataStructure,包括在储存装置上使用的DataStructure及在RAM上使用的DataStructure。在储存装置上使用的DataStructure是为了管理在储存装置上所储存的资料及其属性(如UserID、GroupID 及存取权限等)等,而RAM-Resident用以管理从储存装置所读出来的档案及资料或是逻辑位址(LogicalAddress)对应到储存装置实体位址(PhysicalAddress)的记录表格等,如图三及图四。如此系统可在RAM中迅速找到欲存取的资料或从储存装置中读出资料到RAM中。 图三-从储存装置读取资料至RAM中 而YAFFS也有使用RAM-ResidentDataStructure和On-FlashDataStructure。以下列几个YAFFS主要的物件(Object)皆属于RAM-ResidentDataStructure: ?yaffs_Object:一个yaffs_Object可以是档案(File) 、目录(Directory)、SoftLink或是Hardlink其中一种,而每一个yaffs_Object都会对应到一个yaffs_ObjectHeader,而yaffs_ObjectHeader则是用以储存此yaffs_Object的一些属性值,例如该yaffs_Object是File或是Directory,此yaffs_Object的parentObjectId为何…等等。yaffs_Object亦有如下的目录结构:?parent:此栏位用以指向其父目录(parentDirectory)。?s

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档