当前位置: 首页 > 专利查询>清华大学专利>正文

基于NVRAM的高效文件系统构建方法技术方案

技术编号:13025865 阅读:83 留言:0更新日期:2016-03-16 23:03
本发明专利技术提出一种基于NVRAM的高效文件系统构建方法,包括以下步骤:S1:判断文件系统的文件操作的类型,其中,文件操作的类型包括:文件读操作、非持久文件写操作及持久文件写操作;S2:如果文件操作的类型为非持久文件写操作,则文件系统将非持久文件写操作的内容写入动态随机存取存储器DRAM,并更新相应的DRAM缓存块索引,并在预设时间点将非持久文件写操作的内容异步刷回至非易失性随机访问存储器NVRAM中,否则文件系统直接在NVRAM/DRAM和用户缓存之间拷贝相关数据。本发明专利技术的方法既能避免额外的拷贝和传统软件层的开销,又能充分利用DRAM的写性能高特性来提高NVRAM文件系统的写性能,从而提升系统的整体性能。

【技术实现步骤摘要】

本专利技术涉及计算机系统
,特别涉及一种基于NVRAM的高效文件系统构建方法
技术介绍
新型NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)具有以下特性:(1).其具有非易失特性;(2).相比传统DRAM (Dynamic Random AccessMemory,动态随机存取存储器),其存储密度更大;(3).在读写性能方面,比传统闪存和硬盘要高出若干数量级,读写性能接近DRAM; (4).其相比闪存具有更高的写寿命。这些优点使得系统设计者可以在NVRAM之上构建高效的持久性存储系统。因为NVRAM具有高效的读写性能,近些年来的研究者们发现,传统基于磁盘和闪存的文件系统不再适用于NVRAM,因为:(1).操作系统中传统块设备层的软件开销远远大于实际读写NVRAM设备的开销;(2).由于NVRAM存储设备和DRAM性能接近,内存缓存不但不能提高性能,反而产生了额外的数据拷贝,导致文件系统性能下降。因此,已有的基于NVRAM而优化的新兴文件系统(例如PMFS和EXT4-DAX)直接去除了内存缓存,取而代之的是直接在用户缓存和存储设备之间拷贝文件数据。然而,已有NVRAM存储器件的一个主要缺点是:读写性能不对称,且写操作性能要比读操作性能慢一个数量级。因此,直接在用户缓存和存储设备之间拷贝文件数据将降低文件系统的写性能,从而也将导致次优的文件系统性能。
技术实现思路
本专利技术旨在至少在一定程度上解决上述相关技术中的技术问题之一。为此,本专利技术的目的在于提出一种基于NVRAM的高效文件系统构建方法,该方法既能避免额外的拷贝和传统软件层的开销,又能充分利用DRAM的写性能高特性来提高NVRAM文件系统的写性能,从而提升系统的整体性能。为了实现上述目的,本专利技术的实施例提出了一种基于NVRAM的高效文件系统构建方法,包括以下步骤:S1:判断所述文件系统的文件操作的类型,其中,所述文件操作的类型包括:文件读操作、非持久文件写操作及持久文件写操作;S2:如果所述文件操作的类型为非持久文件写操作,则所述文件系统将所述非持久文件写操作的内容写入动态随机存取存储器DRAM,并更新相应的DRAM缓存块索引,并在预设时间点将所述非持久文件写操作的内容异步刷回至非易失性随机访问存储器NVRAM中,否则所述文件系统直接在所述NVRAM/DRAM和用户缓存之间拷贝相关数据。根据本专利技术实施例的基于NVRAM的高效文件系统构建方法,首先判断文件系统的文件操作的类型,如果文件操作的类型为非持久文件写操作,则文件系统将非持久文件写操作的内容写入动态随机存取存储器DRAM,并更新相应的DRAM缓存块索引,并在预设时间点将非持久文件写操作的内容异步刷回至非易失性随机访问存储器NVRAM中,以避免高额的NVRAM写延迟开销,否则文件系统直接在NVRAM/DRAM和用户缓存之间拷贝相关数据,以避免双重拷贝开销。因此,该方法既能避免额外的拷贝和传统软件层的开销,又能充分利用DRAM的写性能高特性来提高NVRAM文件系统的写性能,从而提升系统的整体性能。另外,根据本专利技术上述实施例的基于NVRAM的高效文件系统构建方法还可以具有如下附加的技术特征:在一些示例中,其中,所述文件系统根据持久写检查机制判断所述文件操作是否为持久写操作。在一些示例中,所述步骤S2进一步包括:如果所述文件操作为持久写操作,则直接将所述持久写操作的内容写入所述NVRAM中。在一些示例中,所述S2进一步包括:如果所述文件操作为读操作,则所述文件系统通过DRAM块索引判断所述读操作所关联的文件块是否在所述DRAM中;如果所述文件块不在所述DRAM中,则所述文件系统进一步通过文件系统块索引机制查找所述文件块在所述NVRAM上对应的地址,并直接将地址对应的数据读入用户缓存。在一些示例中,还包括:如果所述文件块在所述DRAM中,则所述文件系统分别获取所述文件块存储在所述DRAM块和NVRAM块中cacheline的最新数据,并将所述cacheline的最新数据拷贝到所述用户缓存中。在一些示例中,所述持久文件写操作包括同步写操作及异步写操作,其中,所述异步写操作在文件同步操作之前。在一些示例中,所述持久写检查机制包括:如果所述文件系统的超级块包含同步选项,则判定所有发送至所述文件系统的写操作均为持久写操作;和/或如果和写操作相关联的索引节点结构包含了 0_SYNC标识,则判定所述写操作为持久写操作;和/或如果一个文件处于持久状态,则判定后续所有关于该文件的异步写操作均为持久写操作,反之,如果一个文件处于非持久状态,则判定后续所有关于该文件的异步写操作均为非持久写操作,其中,每个文件被加入一种新的状态,称为持久状态。在一些示例中,其中,所述文件系统使用细粒度机制来管理所述DRAM的写缓存。在一些示例中,通过Cacheline Bitmap模块分别获取所述文件块存储在所述DRAM块和NVRAM块中cacheline的最新数据,其中,所述Cacheline为CPU和内存的交互粒度。在一些不例中,所述Cacheline为MByte。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是本专利技术一个实施例的基于NVRAM的高效文件系统构建方法的流程图;图2是本专利技术一个实施例的文件系统与现有的文件系统的架构对比图;图3是本专利技术一个实施例的文件系统的架构图;以及图4是根据本专利技术一个实施例的内存缓存的块索引结构图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。以下结合附图描述根据本专利技术实施例的基于NVRAM的高效文件系统构建方法。图1是根据本专利技术一个实施例的基于NVRAM的高效文件系统构建方法的流程图。如图1所示,该方法包括以下步骤:步骤S1:判断文件系统的文件操作的类型,其中,文件操作的类型包括:文件读操作、非持久文件写操作及持久文件写操作。步骤S2:如果文件操作的类型为非持久文件写操作,则文件系统将非持久文件写操作的内容写入动态随机存取存储器DRAM,并更新相应的DRAM缓存块索引,并在预设时间点将非持久文件写操作的内容异步刷回至非易失性随机访问存储器NVRAM中,以避免高额的NVRAM写延迟开销,否则文件系统直接在NVRAM/DRAM和用户缓存之间拷贝相关数据,以避免双重拷贝开销。其中,在本专利技术一个的实施例中,对于步骤S1中的写操作,文件系统例如通过持久写检查机制判断文件操作的类型是否为持久写操作。则步骤S2进一步包括:如果该文件操作为持久写操作,则直接将该持久写操作的内容写入NVRAM中,以避免双重拷贝。进一步地,如步骤S2中所述,如果该文件系统属于非持久写操作,则将该非持久写操作写入DRAM缓存,并更新相应的DRAM缓存块索引,并在之后的某个合适时间点(预设时间点)将该非持久写操作的本文档来自技高网...

【技术保护点】
一种基于NVRAM的高效文件系统构建方法,其特征在于,包括以下步骤:S1:判断所述文件系统的文件操作的类型,其中,所述文件操作的类型包括:文件读操作、非持久文件写操作及持久文件写操作;S2:如果所述文件操作的类型为非持久文件写操作,则所述文件系统将所述非持久文件写操作的内容写入动态随机存取存储器DRAM,并更新相应的DRAM缓存块索引,并在预设时间点将所述非持久文件写操作的内容异步刷回至非易失性随机访问存储器NVRAM中,否则所述文件系统直接在所述NVRAM/DRAM和用户缓存之间拷贝相关数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:舒继武欧佳欣陆游游
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1