- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《深入理解yaffs2文件系统一
深入理解yaffs2文件系统(一)
1、Flash文件系统
1.1、背景
已经有多种flash文件系统(FFSs)或flash块驱动(在之上运行一个常规的FS),同时都有优点或缺点。
Flash存储器有非常多的限制,这里就不一一列举了。已经有各种方法解决这些限制, 以提供一个文件系统。必须认识到,“flash”,包括NOR和NAND,各自有不同的限制。很容易被专业术语“flash”误导,误以为用于NorFlash的方法也立即适用于NandFlash。
Nand块驱动一般采用FAT16作为文件系统,但不够健壮,也不够贴近Flash的特性。这些块驱动通过一个“本地--物理”的映射层来仿真可写的、类似于磁盘扇区的块。当使用FAT16时,这些文件系统工作的相当好,它们内存消耗小,代码尺寸也很小。但就像所有基于FAT的系统一样,它们很容易损坏(如,丢失簇)。
其他的途径则是设计整个文件系统,不是基于块驱动,而且是flash友好的,这允许更多的余地来解决上述所提到的问题。
当前有两个linux文件系统能非常好的支持NorFLash,那就是JFFS以及它的升级版本JFFS2。这两者都提供日志机制,大大的提升了健壮性,这也是嵌入式系统特别重要的一个特性。不幸的是,它们在RAM消耗和启动时间方面都不是很好。
JFFS在flash中的每一个journalling日志节点,需要一个基于RAM的jffs_node结构,每一个节点为48字节。JFFS2做了一个大改进,通过剪裁相关的结构体(jffs2_raw_node_ref)而减少到16字节。即使如此,在512字节页大小128M的NandFlash,按平均节点大小来算,也需要250000字节约4M大小。
JFFS和JFFS2在启动时,需要扫描整个flash阵列来查找journaling节点,并决定文件结构。由于NAND容量大、慢、连续访问、需要ECC校验,这些特性将导致不可接受的、很长的启动时间。随便掐指一算,扫描128M字节的Nand阵列大小需要25秒钟。
设计yaffs2的目的就是:NandFlash友好的、通过提供日志机制达到健壮的、大大减少JFFSx所具有的RAM消耗和启动时间。Yaffs主要是用于内部Nand而不是可移动的Nand(SM卡)。在可移动的SM智能卡,兼容性显得更重要,一般使用FAT文件系统。当然,yaffs也做了深思熟虑,认为稳定性比兼容性更重要。
1.2、Yaffs文件系统特性
YAFFS是一个专为NandFlash特性设计的文件系统。它已经被证实的好特性有:
(1)fast – 快速,比其他Flash文件系统要快很多。
(2)Easily ported – 易于移植, 已经移植到GNU/Linux, WinCE,eCOS,pSOS, VxWorks,以及其他各种系统。
(3)Log structured – 日志结构,提供均衡负载,使得它非常健壮。
(4)支持多种类型的NandFlash芯片,如页大小为512B、1KB、2KB的NnadFlash等等。
(5)Very fast mount – 非常快速的文件系统挂载速度,几乎是立即启动的。
(6)非常少的RAM消耗。
(7)灵活的Licensing授权机制,适合许多情况。
YAFFS当前版本为v2,yaffs2除了支持512字节页大小的flash,还支持2K字节页大小的flash(YAFFS1仅仅支持原先的512字节页大小的flash)。YAFFS 1 和 2已经被众多的商业产品所采用。
2、 关于yaffs1文件系统
2.1、yaffs1概述
Yaffs使用一个类似于SmartMedia的flash物理格式,这是由于以下原因所致:
(1)一些格式,如坏块标识位置是由芯片厂家决定的,并且不能更改的。
(2)潜在的重用编码。
有一些域是明显不同的,以反映不同的通途。尽管有这些相似性,yaffs跟SM/FAT还是不兼容的。SM卡需要被重新格式化,才能用于yaffs,反之亦然。
文件数据存储在固定大小的跟页大小相同的“chunks”里面,每一页都被文件ID和chunk号所标识。标签则存储在“spare data”区域,通过文件位置除以chunk大小来决定chunk号。
当一个文件的数据被重写时,相关的chunks被新的pages替换,新的pages包含了新的数据,但标签为改变,旧的页则被标识为丢失的(discarded)。
文件头“File headers”存储在一个单独的页里面,具有标识,以便和数据页区分开来。
页还有一个2bit的短序列号,如果此页被修改过则加1,之所以这样做,是因为:“如果被替换的页被标识为丢弃(discarded)之前,这时发生了意外掉电/意外情况,可能会有两个页具有一摸一样的标签”,这时序列
您可能关注的文档
- 《行政强制法法条解读.doc
- 《液压缸技术标准.doc
- 《液态金属的流动性及充型能力.docx
- 《行政强制法考前复习参考资料.doc
- 《行政强制法资料.doc
- 《行政征收.doc
- 《液晶显示技术在车载领域中的应用与发展.doc
- 《行政总厨的岗位职责.doc
- 《液晶电光效应.doc
- 《液晶屏常见接口样式与区别方法.doc
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
文档评论(0)