[发明专利]基于NAND闪存文件系统中静态数据损耗均衡的方法无效
申请号: | 200810161603.4 | 申请日: | 2008-09-16 |
公开(公告)号: | CN101369252A | 公开(公告)日: | 2009-02-18 |
发明(设计)人: | 卜佳俊;陈纯;杨智;李海霞;周笑 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F17/30 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 nand 闪存 文件系统 静态 数据 损耗 均衡 方法 | ||
技术领域
本发明涉及使用嵌入式文件系统的各个嵌入式产品,特别是涉及一种基于NAND闪存文件系统中静态数据损耗均衡的方法。
背景技术
由于嵌入式设备体积小,所以不能使用硬盘作为存储器,而闪存凭借其存取速度快、存储容量大、价格低廉等优点,成为了嵌入式系统中广泛采用的主流存储器。闪存按照存储矩阵结构的不同分为NOR型和NAND型两种。NAND(一种目前主要的非易失闪存技术,适用于大容量消除和写入的速度快,但只能读取块单位,随机读取慢)型闪存强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级,是高密度数据存储的理想解决方案,被大量应用于移动存储设备、移动媒体设备和嵌入式设备中。闪存的寿命是有限的,其寿命的长短是由擦写块的最大可擦除次数决定的,NAND闪存的最大可擦除次数大约为100万次左右。由于任何一个擦写块达到擦除次数的上限时,整个闪存都将无法使用。所以为了延长闪存的使用寿命,避免由于某个擦写块被过度擦写而使得整个闪存无法使用,应该在尽量小的性能影响下使擦写操作均匀的分布在每个擦写块上。这个过程就叫做损耗均衡。
目前可用于NAND型闪存的文件系统包括集中索引的文件系统和专门为NAND闪存设计的文件系统。集中索引的文件系统是磁盘存储器中常用的文件系统,主要包括基于Windows的FAT系列和基于Linux的Ext系列。由于闪存设备能够通过闪存转译层FTL(Flash Translation Layer)驱动来模拟成与磁盘相似的块设备,所以该类文件系统可以直接基于FTL在闪存上应用。在闪存中采用集中索引的文件系统存在下面的两个问题:①集中索引的文件系统采用“覆写”的方式更新数据,而在闪存中“覆写”需要先擦除才能写入,如果在数据被擦除后系统发生断电,可能会导致数据的丢失;②集中索引的文件系统索引与数据分开存放,而索引的更新频率远远大于数据部分的更新频率,所以不能很好的实现损耗均衡。
基于上面的两个问题,所以针对NAND闪存设计了专门的文件系统YAFFS(Yet Another Flash File-System)。到目前为止,YAFFS系列是唯一专门针对NAND闪存而设计的文件系统。YAFFS系列有YAFFS和YAFFS2两个版本。为了解决集中索引文件系统中的问题①,YAFFS中采用了日志的概念,不再采用“覆写”的更新方式,而是采用“前向写入”的方式。针对问题②,YAFFS采用一种多策略混合的算法来进行垃圾回收,将贪心策略和随机选择策略分别用在不同的情况下。这种算法的优点是对更新频繁的数据能够很好的实现了损耗均衡;缺点是没有考虑占用大部分存储空间的静态数据的损耗均衡。所以,YAFFS不能实现整个闪存器件的损耗均衡。
因此,如果能实现嵌入式文件系统中静态数据的损耗均衡算法,对于延长闪存的使用寿命是很有意义的。
发明内容
本发明的目的在于提供一种基于NAND闪存文件系统中静态数据损耗均衡的方法。
本发明解决其技术问题采用的技术方案如下:
1)将整个的NAND闪存的擦除块分为:空闲块、干净块、脏块、坏块四种;空闲块表示擦除块上面所有的页面都是空闲的,可直接进行分配;干净块表示擦除块上面的所有数据均有效;脏块表示擦除块上至少含有一页由于数据更新或者文件删除留下的无效数据;坏块包括出厂时的固有坏块和使用过程中产生的坏块;文件系统以链表的形式管理各种擦除块,形成了四种链表:空闲块链表,干净块链表,脏块链表、坏块链表;空闲块链表按照擦除次数由小到大对擦除块进行链接;
2)设定阈值TH;文件系统在垃圾回收操作被触发时,读取干净块链表中所有擦除块的附加区字段中的擦除次数字段Erase_Num,从中找出擦除次数最大的擦除块和擦除次数最小的擦除块;然后将擦除次数最大的擦除块和擦除次数最小的擦除块做差,如果差值≥TH,便断定擦除次数最小的擦除块上存储的是静态数据,静态数据更新的频率非常低,需要对静态数据进行搬移操作;
3)将擦除次数最大的块记为A,擦除次数最小的块记为B;从空闲块链表中选取一块,将A擦除块上的数据复制到空闲块上;然后对A擦除块进行擦除操作,然后将B擦除块上面的数据复制到A擦除块上面;然后将B擦除块放到脏块链表中,对B擦除块进行擦除后用于存放更新频繁数据。
本发明与背景技术相比,具有的有益的效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810161603.4/2.html,转载请声明来源钻瓜专利网。