- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- VFD220E说明书教程.doc
- 六年级数学下册《成反比例的量》).ppt
- VHDL语言描述语句教程.ppt
- vim详解教程.ppt
- VICTOR6056C+说明书教程.doc
- vicky的PPT教程.ppt
- 公开课 第14课.ppt
- visio制作流程图教程.ppt
- VisualBasic第5章循环结构程序设计教程.ppt
- VisualC++上机步骤教程.ppt
- DB44_T 2607.4-2025 滨海蓝碳碳汇能力调查与核算技术指南 第4部分:盐沼.pdf
- DB43_T 3178-2024 烟叶农场建设管理要求.pdf
- DB37_T 4838-2025 含氢分布式综合能源系统运行优化指南.pdf
- DB37_T 4834-2025 高速公路集中养护工作指南.pdf
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
文档评论(0)