一种基于新型持久内存的文件系统加速方法
- 国知局
- 2024-07-31 23:27:00
本发明涉及文件系统性能提升,特别是涉及一种基于新型持久内存的文件系统加速方法。
背景技术:
1、非易失性存储器nvm(non-volatile memory)被视为内存系统中的新层次,预计将加速较低存储设备的速度,同时提供一致性保证。利用nvm的软件可以从中获益:与dram(dynamic random access memory,动态随机存取内存)相比,价格更低、容量更大;比ssd更快;具有持久性,在断电后仍能保留数据;字节寻址的粒度。这些好处给软件设计带来了机遇和挑战,利用nvm的新趋势是加速现有的设备文件系统。
2、之前的研究尝试找到nvm在当前内存系统中的适当位置。然而,在dram、nvm和磁盘之间平衡速度、容量和价格等因素,同时尽可能与当前系统保持兼容,可能是一个棘手的问题,先前的工作只关注其中的一项或几项。
技术实现思路
1、本发明的目的是提供一种基于新型持久内存的文件系统加速方法,充分利用持久内存容量大,价格低的特点,扩展文件系统的缓存空间并设计了适配的缓存算法,利用其可持久化,以及字节可寻址的特点,提出一种基于新型持久内存的文件系统加速方法。
2、为实现上述目的,本发明提供了如下方案:
3、一种基于新型持久内存的文件系统加速方法,包括:
4、获取操作类型和写入数据;
5、当所述操作类型为写入操作时,根据选择性降级策略,将所述写入数据写回磁盘或写入页缓存,其中所述页缓存包括dram页缓存和易失性nvm扩展页缓存;
6、当所述操作类型为同步写入操作时,将所述写入数据写入页缓存,并通过nvm同步吸收区域将所述页缓存内数据写回磁盘;
7、当操作类型为读操作时,根据目标数据位置从所述磁盘、所述易失性nvm扩展页缓存或所述dram页缓存读取目标数据。
8、可选的,当所述操作类型为写入操作时,根据选择性降级策略,将所写入数据写回磁盘或写入页缓存包括:
9、当数据页不在所述页缓存,将所述写入数据写入所述dram页缓存;
10、当所述dram页缓存已满,根据选择性降级策略,将所述dram页缓存内页面数据写回磁盘或写入所述易失性nvm扩展页缓存;
11、当所述数据页在所述页缓存,根据所述数据页的位置将所述写入数据写入所述dram页缓存或所述易失性nvm扩展页缓存。
12、可选的,根据选择性降级策略,将所述dram页缓存内页面数据写回磁盘或写入所述易失性nvm扩展页缓存包括:
13、通过在全局事件采用计数器预测所述dram页缓存内页面的访问距离,基于所述访问距离判断所述dram页缓存内页面的类型,其中类型包括不再访问页面和再次被访问页面;
14、将所述不再访问页面写回磁盘,将所述再次被访问页面写入至所述易失性nvm扩展页缓存,其中写入所述易失性nvm扩展页缓存内的页面作为冷页面;
15、当所述易失性nvm扩展页缓存内所述冷页面满时,将热度最低的冷页面写回磁盘后,将所述再次被访问页面写入至所述易失性nvm扩展页缓存。
16、可选的,根据所述数据页的位置将所述写入数据写入所述dram页缓存或所述易失性nvm扩展页缓存包括:
17、若所述数据页在所述dram页缓存,则将所述写入数据写入所述dram页缓存;
18、若所述数据页在所述易失性nvm扩展页缓存,则判断所述易失性nvm扩展页缓存内所述冷页面的使用次数是否达到预设阈值,如果达到则将所述冷页面判定为热页面并放入所述dram页缓存,如果未达到则将所述写入数据写入所述易失性nvm扩展页缓存。
19、可选的,将所述冷页面判定为热页面并放入所述dram页缓存包括:
20、在所述冷页面添加访问计数器,获取所述冷页面的访问次数;
21、将访问次数达到晋升级别的所述冷页面作为所述热页面放入晋升向量中,当所述晋升向量满时,将所述晋升向量中的所述冷页面晋升到所述dram页缓存,其中所述晋升级别根据所述dram页缓存和所述易失性nvm扩展页缓存的页平均访问时间更新。
22、可选的,通过nvm同步吸收区域将所述页缓存内数据写回磁盘包括:
23、对于每个写入所述nvm同步吸收区域的页面,对写入页面对应的文件的inode日志的末尾追加一个日志条目;
24、当事务中的所有操作完成后,所述页缓存内数据和cpu缓存数据写入所述nvm同步吸收区域的页面,之后所述inode日志提交日志尾部,所述nvm同步吸收区域内页面数据异步写回所述磁盘。
25、可选的,所述inode日志提交的日志尾部后包括:
26、更新文件偏移量与最新日志条目之间的映射,获取dram索引;
27、所述日志条目通过搜索所述dram索引获取所述文件偏移量的先前条目,若存在所述先前条目,将所述先前条目的地址记录到所述最新日志条目的目标字段,并通过所述nvm同步吸收区域将所述先前条目标记为过期,通过标记为过期的所述先前条目将无用的inode日志页面放入垃圾回收器。
28、可选的,通过标记为过期的所述先前条目将无用的inode日志页面放入垃圾回收器后包括:
29、所述垃圾回收器遍历最新的inode日志页面之前的inode日志页面,若之前的inode日志页面中所有日志条目均已过期,则将之前的inode日志页面返回给空闲页面管理器。
30、可选的,所述方法还包括:
31、当所述页缓存的脏页写回到磁盘时,所述nvm同步吸收区域内的对应页的所述日志条目将被标记为过期,若过期条目具有一个未被任何有效条目引用的数据页,所述数据页被释放。
32、可选的,所述方法还包括:
33、每个cpu的空闲池中的页面少于一个低水位标记时,所述空闲池从全局列表获取页面,所述空闲池中的页面多于一个高水位标记时,将所述空闲池中的页面放入所述全局列表。
34、本发明的有益效果为:本发明旨在充分利用nvm的吸引特性,同时保持传统软件堆栈的优势,并保持与当前用户程序的兼容和透明度,以便应用程序可以利用nvm而不会降低性能并带来迁移成本。本发明设计了一个透明的nvm增强页面缓存,用于加速当前磁盘文件系统的性能,旨在通过nvm透明地优化现有成熟的磁盘文件系统的性能:通过nvm加速缓存缺失路径,同时将正常的读写操作留给dram。对于同步写入,使用性能优先的日志结构将其持久化到nvm,而dram缓存则保留用于后续操作的速度;本发明优化了同步操作的语义,以避免在分散的小写入上的写放大;为了减少缓存未命中,利用nvm上的空闲空间作为更便宜、更大的第二层页面缓存,并提出了一种方法来识别只有必要提升或降级的页面以避免在dram和nvm之间移动数据的开销。本发明实现完全兼容当前存储软件堆栈,对任何用户应用程序都是透明的。
技术特征:1.一种基于新型持久内存的文件系统加速方法,其特征在于,包括:
2.根据权利要求1所述的基于新型持久内存的文件系统加速方法,其特征在于,当所述操作类型为写入操作时,根据选择性降级策略,将所写入数据写回磁盘或写入页缓存包括:
3.根据权利要求2所述的基于新型持久内存的文件系统加速方法,其特征在于,根据选择性降级策略,将所述dram页缓存内页面数据写回磁盘或写入所述易失性nvm扩展页缓存包括:
4.根据权利要求3所述的基于新型持久内存的文件系统加速方法,其特征在于,根据所述数据页的位置将所述写入数据写入所述dram页缓存或所述易失性nvm扩展页缓存包括:
5.根据权利要求4所述的基于新型持久内存的文件系统加速方法,其特征在于,将所述冷页面判定为热页面并放入所述dram页缓存包括:
6.根据权利要求1所述的基于新型持久内存的文件系统加速方法,其特征在于,通过nvm同步吸收区域将所述页缓存内数据写回磁盘包括:
7.根据权利要求6所述的基于新型持久内存的文件系统加速方法,其特征在于,所述inode日志提交的日志尾部后包括:
8.根据权利要求7所述的基于新型持久内存的文件系统加速方法,其特征在于,通过标记为过期的所述先前条目将无用的inode日志页面放入垃圾回收器后包括:
9.根据权利要求6所述的基于新型持久内存的文件系统加速方法,其特征在于,所述方法还包括:
10.根据权利要求1所述的基于新型持久内存的文件系统加速方法,其特征在于,所述方法还包括:
技术总结本发明涉及文件系统性能提升技术领域,尤其涉及一种基于新型持久内存的文件系统加速方法,包括:获取操作类型和写入数据;当所述操作类型为写入操作时,根据选择性降级策略,将所述写入数据写回磁盘或写入页缓存,其中所述页缓存包括DRAM页缓存和易失性NVM扩展页缓存;当所述操作类型为同步写入操作时,将所述写入数据写入页缓存,并通过NVM同步吸收区域将所述页缓存内数据写回磁盘;当操作类型为读操作时,根据目标数据位置从所述磁盘、所述易失性NVM扩展页缓存或所述DRAM页缓存读取目标数据。本发明能够高效透明的提升经典文件系统整体性能,同时保持其可靠性。技术研发人员:胡俊成,魏皓阳,王国毓,裴辰举,邵禹涵,车喜龙受保护的技术使用者:吉林大学技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/197638.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。