[发明专利]适合嵌入式Flash文件系统的均衡擦写实现方法无效
申请号: | 200910099832.2 | 申请日: | 2009-06-22 |
公开(公告)号: | CN101609464A | 公开(公告)日: | 2009-12-23 |
发明(设计)人: | 杨国青;李红;胡琦;魏城炯;周霖;吴朝晖 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/02 |
代理公司: | 杭州中成专利事务所有限公司 | 代理人: | 金 祺 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适合 嵌入式 flash 文件系统 均衡 擦写 实现 方法 | ||
技术领域
本发明涉及计算机领域,尤其涉及嵌入式系统中Flash(闪速电可擦除可编程只读存储器)文件系统均衡擦写机制的数据结构和算法。
背景技术
目前在嵌入式领域已经存在有嵌入式Linux中的JFFS2等针对嵌入式系统的Flash文件系统,但是由于这些文件系统安全和可靠机制实现的复杂性,对一些存储资源很少的嵌入式系统并不适用;在这种情况下出现了一些简化的Flash文件系统,这些简化的Flash文件系统提供了一种分配合理、使用灵活且节约存储空间的文件管理方法,但欠缺的是普遍未考虑到Flash的硬件特性。
Flash有一定的使用寿命,一般可擦除的次数为10~100万次,随着使用次数的增加,会有一些单元逐渐变得不稳定或损坏。因此,要尽量避免频繁地对局部地址范围的操作,以免造成局部单元提前损坏,从而导致整个Flash的损坏,以及Flash的使用寿命缩短。
由于Flash在嵌入式系统中的普遍使用,人们迫切希望有一种简单实用的Flash文件系统均衡擦写实现方法可以延长Flash的使用寿命,从而降低工程中由于Flash损坏而产生的不必要成本。
发明内容
本发明要解决的技术问题是提供一种适合嵌入式Flash文件系统的均衡擦写实现方法,采用该方法能延长Flash的使用寿命,从而降低工程中由于Flash损坏而产生的不必要成本。
为了解决上述技术问题,本发明提供一种适合嵌入式Flash文件系统的均衡擦写实现方法,将Flash存储空间分为文件控制信息区和文件数据存储区两个区域:文件控制信息区用于保存文件系统的文件控制块(File Control Block)信息和作为基本分配单元的文件块的分配信息;文件数据存储区用于存储文件的实际数据信息;文件控制信息区保存了文件系统的文件控制块和文件块的相关控制信息,文件数据区用于保存文件系统中文件的实际数据信息;
文件系统在系统启动时要将保存在Flash文件控制信息区的控制信息读入内存中,在系统关闭时要将内存中文件系统的控制信息从内存中写入到Flash的文件控制信息区内;
整个过程包括如下步骤:
1)、将Flash地址空间按照指定的物理块的大小,按地址递增顺序依次编号,指定物理块的大小应为偶数;然后为每一个物理块分配一个对应的文件块,编号相同的文件块与物理块一一对应;
2)、文件系统中维护了一个文件控制块(FCB)静态链表,用来记录文件系统中所有的文件控制块(FCB)的信息,一个文件控制块对应一个文件;由于使用的是静态链表,因此链表的大小需要预先分配,故文件控制块静态链表将分成两部分:一部分为已经被使用的文件控制块,一部分为空闲的文件控制块;
3)、文件系统中维护了一个文件块(FB)静态链表,用来记录文件系统中所有的文件块(FB)的信息,一个文件块对应一个物理块;由于使用的是静态链表,因此链表的大小需要预先分配,故文件块静态链表将分成两部分:一部分为已经被使用的文件块,一部分为空闲的文件块;
4)、通过地址映射机制将文件块(FB)静态链表里的每一个文件块映射到Flash的地址空间中的一个物理块上,从而使文件块与Flash上的物理块形成一对一的映射关系,文件块记录了与其对应物理块的使用信息;
5)、当需要创建一个文件时,若还有空闲的文件控制块(FCB),即空闲的文件控制块静态链表不为空,则从空闲的文件控制块静态链表的表头取出一个文件控制块(FCB)分配给申请者;
6)、当需要删除一个文件时,则将该文件控制块(FCB)插入到空闲的文件控制块静态链表的尾部;
7)、当一个文件需要申请一个文件块(FB)时,若Flash上还有空闲空间,即空闲的文件块静态链表不为空,则从空闲的文件块静态链表的表头取出一个文件块分配给申请文件;
8)、当文件系统需要释放一个文件块(FB)时,则将该文件块插入到空闲的文件块静态链表的尾部。
作为本发明的适合嵌入式Flash文件系统的均衡擦写实现方法的改进:静态链表是用一维数组实现的链表。
作为本发明的适合嵌入式Flash文件系统的均衡擦写实现方法的进一步改进:通过文件块的编号将内存中文件块静态链表中的结点与Flash上的物理块一一对应起来。
作为本发明的适合嵌入式Flash文件系统的均衡擦写实现方法的进一步改进:静态链表是一种FIFO(先进先出)的数据结构,即队列;总是从链表头分配资源,被释放的资源放在链表尾。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910099832.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种木纹膜收卷组件
- 下一篇:一种带图案片材的定位拼接装置