[发明专利]基于非易失性内存的高性能文件系统设计方法有效
申请号: | 201611058790.4 | 申请日: | 2016-11-24 |
公开(公告)号: | CN106599096B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 陈海波;董明凯;余倩倩;臧斌宇 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F16/17 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中;樊昕 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 非易失性 内存 性能 文件系统 设计 方法 | ||
1.一种基于非易失性内存的高性能文件系统设计方法,其特征在于,包括:
自可校验结构,文件系统中元数据部分均自可校验;
系统调用处理,使用非破坏性更新处理文件系统中的元数据、延迟数据结构的回收和重用,在关键路径中无缓存行刷回指令和内存屏障,只记录关键操作的持久化依赖性;
后台进程,负责保障关键信息的持久化,以及对删除的数据结构的回收;
数据检验和恢复,使用数据校验和恢复算法对文件系统进行检查以及恢复;
系统调用处理中,所有文件系统相关的系统调用被分成三类,分别处理:
涉及到一个inode的系统调用,直接进行修改;
涉及到两个inode的系统调用,对于删除操作,在目标目录项上只标记其为无效,并不真正进行删除,且对其资源延迟回收;对于添加操作,在创建和添加目录项时,保证不破坏已有的数据以及其结构,但并不马上进行持久化;
涉及到三个以及以上的inode的系统调用,在进行操作前以及在操作中应在系统中记录足够多的绑定信息,将所有参与操作的inode绑定在一起,无需使用缓存行刷回指令以及数据屏障,但是利用缓存行的刷回粒度,保证在任何刷回的情况下,已经持久化的数据均能将此操作完整的撤销或完成;
系统调用处理中,所有操作均需记录到相应inode之中,以供后台进程进行持久化操作;
系统调用处理中,所有操作不影响已持久化的数据,不论该操作是否被完整的持久化,都不影响其他数据;
系统调用处理中,所有新增数据均是自可校验的,均能通过检查自身的数据判断新增数据是否完整的被持久化;
系统调用处理中,没有任何缓存行刷回指令以及内存屏障,且能够通过数据恢复保证文件系统的一致性。
2.根据权利要求1所述的基于非易失性内存的高性能文件系统设计方法,其特征在于,后台进程中,从各个inode处读取出一系列操作,并按照顺序对操作中涉及的内存地址调用缓存行刷回指令,最后调用内存屏障,保证数据都已经被持久化。
3.根据权利要求2所述的基于非易失性内存的高性能文件系统设计方法,其特征在于,后台进程在持久化删除操作之后,需负责将已经被删除的资源归还给分配器,防止内存泄漏。
4.根据权利要求1所述的基于非易失性内存的高性能文件系统设计方法,其特征在于,数据检验和恢复中,在检测到意外重启后会有专门的进程对数据进行检验,并对非一致的数据进行恢复,数据校验从文件根开始,依次遍历所有的目录和文件,将未全完被持久化的操作撤销或者完成。
5.根据权利要求4所述的基于非易失性内存的高性能文件系统设计方法,其特征在于,数据检验和恢复过程中,无需特殊判断日志信息,仅根据数据本身的完整性判断一个操作是应该被撤销还是应该被完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611058790.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于完整历史记录的减枝方法
- 下一篇:海量特征串集合的匹配方法和装置