The invention discloses a non efficient transactional file system nonvolatile memory based construction method, which comprises the following steps: the file system provides the corresponding file operations interface; at the beginning of the transaction, the file system to the transaction transaction ID distribution; in the transaction execution, the file system will log log data element area is divided into regions and the log data area, and according to the metadata update and data update log by different processing methods; the transaction is committed, the content will be forced to file system metadata associated with the transaction and transaction log data in persistent to nonvolatile memory, and write log entries submitted on behalf of the transaction has been completed; the contents of the log data the submitted is periodically written back to the file system, log data content using the concurrent write back write back selection mechanism. This method can simplify the design of the upper application program through the transaction interface provided by the file system, and ensure the efficiency and correctness in the transaction processing.
【技术实现步骤摘要】
基于非易失性主存的高效事务文件系统构建方法
本专利技术涉及非易失性主存存储
,特别涉及一种基于非易失性主存的高效事务文件系统构建方法。
技术介绍
新兴的快速非易失性存储器(Non-VolatileMemory,NVM)技术,如相变存储器(PhaseChangeMemory,PCM)、自旋矩存储器(Spin-TorqueTransferRAM,STT-RAM)、以及阻变存储器(ResistiveRAM,RRAM),具有非易失性、高访问速度、字节寻址等特性。把这些非易失性存储器连接到主存总线上将产生非易失性主存(Non-VolatileMainMemory,NVMM),并使得存储设备能够具有内存级别的性能。相关技术中的应用程序(例如文本编辑器,传统关系型数据库,以及key-value存储系统等)均需要保证他们的数据一致性。此外,这些应用程序大多数都是在文件系统之上实现。因此,为了使得应用程序能够运行在高速的非易失性主存上,已有不少研究单位或机构提出了基于非易失性主存的文件系统构建方法。然而,已有的非易失性主存文件系统仅仅提供保证文件系统自身元数据或者数据一致性的相关机制,而忽略了对上层应用程序数据一致性的保障,即这些文件系统均不提供任何机制保证上层应用程序的数据一致性。为此,大多数应用程序需要设计并实现自己的一致性保证协议来防止数据丢失或者损坏。然而,威斯康辛大学麦迪逊分校已有研究表明,由于应用程序无法感知下层文件系统的持久性特性,应用程序层实现的一致性协议通常非常复杂并且容易出错。例如,由CPU乱序写导致的乱序持久化操作或者非易失性文件系统中无法保证s ...
【技术保护点】
一种基于非易失性主存的高效事务文件系统构建方法,其特征在于,包括以下步骤:文件系统给上层应用程序提供相应的文件操作事务接口,从而所述上层应用程序利用所述事务接口执行相关事务,以保证应用程序所需的一致性;在事务开始时,所述文件系统给事务分配事务ID,以跟踪和执行应用程序发出的事务操作,并保证事务操作的原子性和持久性;在事务执行时,所述文件系统将日志区域分割成元数据日志区域和数据日志区域,并针对元数据更新和数据更新采用不同的日志处理方法;在事务提交时,所述文件系统强制将与事务相关的元数据内容和与事务相关数据日志内容持久化至非易失性主存,并写入提交日志条目代表该事务已完成;以及已提交的数据日志内容被周期性地写回至所述文件系统中,数据日志内容的写回采用并发选择写回机制。
【技术特征摘要】
1.一种基于非易失性主存的高效事务文件系统构建方法,其特征在于,包括以下步骤:文件系统给上层应用程序提供相应的文件操作事务接口,从而所述上层应用程序利用所述事务接口执行相关事务,以保证应用程序所需的一致性;在事务开始时,所述文件系统给事务分配事务ID,以跟踪和执行应用程序发出的事务操作,并保证事务操作的原子性和持久性;在事务执行时,所述文件系统将日志区域分割成元数据日志区域和数据日志区域,并针对元数据更新和数据更新采用不同的日志处理方法;在事务提交时,所述文件系统强制将与事务相关的元数据内容和与事务相关数据日志内容持久化至非易失性主存,并写入提交日志条目代表该事务已完成;以及已提交的数据日志内容被周期性地写回至所述文件系统中,数据日志内容的写回采用并发选择写回机制。2.如权利要求1所述的基于非易失性主存的高效事务文件系统构建方法,其特征在于,当发生错误或者故障时,所述文件系统采用快速恢复机制进行系统故障恢复。3.如权利要求1所述的基于非易失性主存的高效事务文件系统构建方法,其特征在于,对于元数据更新,所述文件系统使用字级别的回滚日志记录方法来记录元数据更新的日志,并且对于数据更新,所述文件系统使用cacheline粒度的重做日志记录方法来记录数据更新的日志。4.如权利要求1所述的基于非易失性主存的高效事务文件系统构建方法,其特征在于,所述数据日志进一步分离日志头部和日志数据,其中,所述日志头部包括日志元数据,并存储在非易失性主存的全局可见区域,而所述日志数据存放于待定块中,所述待定块的空间由所述文件系统动态分配,所述日志元数据中包含相应指针指向与其对应的待定块。5.如权利要求1所述的基于非易失性主存的高效事务文件系统构建方法,其特征在于,所述文件系统采用高效的两级易失性索引来检索数据日志区域内已提交但未写回的数据,以有效地跟踪数据日志区域的最新数据。6.如权利要求5所述的基于非易失性主存的高效事务文件系统构建方法,其特征在于,所述两级易失性索引完全位于DRAM中以提...
【专利技术属性】
技术研发人员:舒继武,欧佳欣,陆游游,
申请(专利权)人:清华大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。