[发明专利]在闪存存储系统中延迟持久化索引元数据的方法有效
申请号: | 201310195832.9 | 申请日: | 2013-05-23 |
公开(公告)号: | CN103268291A | 公开(公告)日: | 2013-08-28 |
发明(设计)人: | 舒继武;陆游游 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 100084 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 闪存 存储系统 延迟 持久 索引 数据 方法 | ||
技术领域
本发明涉及闪存存储技术领域,特别涉及一种在闪存存储系统中延迟持久化索引元数据的方法。
背景技术
闪存是一种电子可擦除可编程的非易失性存储器件。闪存以页为单位进行读写,以块为单位进行擦除。随着编程擦除(Program/Erase,P/E)次数的增加,闪存单元贮存电子的能力减弱,降低造成数据存储的可靠性。闪存的编程擦除次数有限,该问题也被称为闪存的寿命问题。
在存储系统中,数据写操作通常包括数据更新以及元数据更新,后者用于记录数据更新的位置或者记录数据修改的状态。例如,文件系统创建文件的操作在写入索引节点(inode)之后需要在目录项(directory entries)中更新该创建文件的目录项。用于索引的元数据需要及时持久化,否则被索引的数据在系统故障后不能被查找到,从而造成数据丢失。索引元数据的更新既增加了写操作的延迟,也带来了闪存寿命和操作原子性的问题。首先,数据写操作等待索引元数据持久化完成后返回,元数据持久化的延迟增加了写操作的延迟。其次,索引元数据持久化操作加速了闪存存储系统中P/E的频率,降低了闪存存储系统的寿命。由于闪存以页为单位进行读写,索引元数据持久化引入至少一个闪存页的更新。频繁的元数据更新持久化也造成大量的额外闪存页的写。最后,索引元数据的持久化也使得数据写操作的原子性保证更为复杂。文件系统等软件模块引入事务等机制维护写操作的原子性,进一步加剧了闪存存储系统的性能及寿命问题。
发明内容
本发明的目的旨在至少解决上述的技术缺陷之一。
为此,本发明的目的在于提出一种在闪存存储系统中延迟持久化索引元数据的方法。
为达到上述目的,本发明的实施例提出一种在闪存存储系统中延迟持久化索引元数据的方法,包括以下步骤:S1:闪存存储系统在写数据时生成所述数据的数据类型和反向索引,并将所述反向索引一同写入闪存;S2:根据所述数据、所述数据类型和反向索引建立内存正向索引,并使用待持久化索引列表标记未写入所述内存正向索引的数据;S3:通过更新窗口跟踪尚未建立所述正向索引的数据;以及S4:当所述闪存存储系统发生故障时,根据所述更新窗口的数据类型和反向索引重构正向索引以恢复所述闪存存储系统的故障。
本发明的一个实施例中,还包括:当所述更新窗口的利用率超过阈值时,为所述更新窗口分配新的更新窗口,并将所述更新窗口中已满的闪存块从所述更新窗口中移除。
本发明的一个实施例中,所述更新窗口中已满的闪存块从所述更新窗口中移除进一步包括:当所述更新窗口中存在已满的闪存块时,更新所述已满的闪存块的正向索引,并将所述已满的闪存块从所述更新窗口中移除。
本发明的一个实施例中,所述步骤S2具体包括:根据更新窗口元数据中闪存块的地址确定所述更新窗口;获得所述更新窗口中页元数据中的所述数据类型,并根据不同数据类型读取存储于不同位置的所述反向索引,以生成所述内存正向索引;以及使用待持久化索引列表标记未写入所述内存正向索引的数据。
本发明的一个实施例中,所述反向索引根据所述数据类型而不同。
本发明的一个实施例中,所述数据类型包括数据和索引节点。
根据本发明实施例的方法,通过正向索引减少在被延迟持久化的闪存写次数和数据写操作的延迟,避免了用于被索引数据与索引元数据的事务操作开销,同时使得闪存空间分配不会受到检查点操作的阻塞,在更新窗口元数据持久化的同时可进行数据写操作,很大程度上降低了更新窗口元数据持久化带来的竞争延迟。另外,反向索引可提供系统意外故障后的正向索引重构,提高了系统鲁棒性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的在闪存存储系统中延迟持久化索引元数据的方法的流程图;
图2为根据本发明一个实施例的闪存页页元数据字段的示意图;
图3为根据本发明一个实施例的数据类型和反向索引的生成流程图;
图4为根据本发明一个实施例的更新窗口的实施例示意图;
图5为根据本发明一个实施例的内存更新窗口元数据与存储设备更新窗口元数据的状态转换过程示意图;
图6为根据本发明一个实施例的更新窗口的检查点操作的流程图;以及
图7为根据本发明一个实施例的闪存存储系统的故障恢复的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310195832.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种存取数据的操作方法和数据处理设备
- 下一篇:基于优先级锁定的闪存存储方法