The invention discloses a data consistency and memory file system management method of wear leveling, implement the persistent memory file system in data update operation and data consistency and write wear leveling, and updating operation file include file, append, update on the additional part three update. The data consistency of the memory file system is realized by three modules of metadata management, data consistency and log management. Non volatile memory management functions are realized through three modules: page allocation, idle page management and wear leveling. Other modules wear leveling function through the data page management, index number of write two sub modules and storage management in collaborative implementation, therefore, all files update operation in data consistency update at the same time to write wear leveling.
【技术实现步骤摘要】
本专利技术涉及计算机系统软件领域,特别是一种用于内存文件系统的数据一致性及磨损均衡方法。
技术介绍
随着新型非易失性存储器(Non-Volatile Memory,NVM)的出现,企业界和学术界提出将存储密度大、读写速度快、可按字节寻址和抗震动的非易失性存储制作为内存数据存储设备,称为存储级内存(Storage Class Memory,简称SCM)。为了管理这种存储级内存,已经设计出多种内存文件系统。例如Intel设计的PMFS,“System software for persistent memory,”in Proc.9th ACM Euro.Conf.Comput.Syst.,pp 15:1—15:15,2014,ISBN:978-1-4503-2704-6。(“面向持久化内存的系统软件”,第9届美国计算机学会欧洲计算机系统会议,第15篇1到15页,2014年,ISBN:978-1-4503-2704-6),重庆大学设计的SIMFS,“Designing an Efficient Persistent In-Memory File System”,2015IEEE Non-Volatile Memory System and Applications Symposium,pp 1-6,2015,DOI:10.1109/NVMSA.2015.7304365。(“高效持久化内存文件系统的设计”,2015年电气和电子工程师协会非易失性内存系统及应用研讨会,第1-6页,DOI:10.1109/NVMSA.2015.7304365)。持久化内存文件系统是 ...
【技术保护点】
一种数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:包括以下步骤:S1:在非易失性存储介质上设置一段连续的存储空间作为页面写次数记录区,所述页面写次数记录区用于记录并存放所有数据区页面的写次数,当每个内存页面的写次数发生变化时,更新页面写次数记录区内相应内存页面的写次数计数器;空闲页面管理模块根据页面写次数记录区的数据分配出当前系统中写次数最小的内存页面;S2:当写操作开始时,判断文件的日志记录是否存在,如果是,则从日志记录的尾端继续记录日志;如果否,则从空闲页面管理模块获取日志记录所需要的内存页面;S3:将当前的文件元数据和受影响的文件数据备份到日志区域;更新所涉及内存页面在页面写次数记录区的相应写次数数值;将在文件被关闭时释放该文件的日志区域的内存页面;S4:从空闲页面管理模块获取目标文件数据更新或追加所需要内存的新页面,写入更新后的相应数据页面的完整数据,当新页面上的写操作完成后,用新页面替换文件系统中的旧页面;更新所涉及内存页面在页面写次数记录区的相应写次数数值;S5:更新日志记录的交易状态为“COMMIT”,所述COMMIT表示文件数据的已经正确写入内存页面;并更新所 ...
【技术特征摘要】
1.一种数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:包括以下步骤:S1:在非易失性存储介质上设置一段连续的存储空间作为页面写次数记录区,所述页面写次数记录区用于记录并存放所有数据区页面的写次数,当每个内存页面的写次数发生变化时,更新页面写次数记录区内相应内存页面的写次数计数器;空闲页面管理模块根据页面写次数记录区的数据分配出当前系统中写次数最小的内存页面;S2:当写操作开始时,判断文件的日志记录是否存在,如果是,则从日志记录的尾端继续记录日志;如果否,则从空闲页面管理模块获取日志记录所需要的内存页面;S3:将当前的文件元数据和受影响的文件数据备份到日志区域;更新所涉及内存页面在页面写次数记录区的相应写次数数值;将在文件被关闭时释放该文件的日志区域的内存页面;S4:从空闲页面管理模块获取目标文件数据更新或追加所需要内存的新页面,写入更新后的相应数据页面的完整数据,当新页面上的写操作完成后,用新页面替换文件系统中的旧页面;更新所涉及内存页面在页面写次数记录区的相应写次数数值;S5:更新日志记录的交易状态为“COMMIT”,所述COMMIT表示文件数据的已经正确写入内存页面;并更新所涉及内存页面在写次数记录区的相应写次数数值;S6:当修改目标文件的元数据时,判断元数据所在页面在写次数记录区中记录的磨损值是否需要迁移元数据,如果是,则执行步骤S7;如果否,则直接修改元数据,并更新所涉及内存页面在写次数记录区的相应写次数数值;S7:将元数据所在页面内容拷贝到从空闲页面管理模块获得的空闲页中,修改元数据及指针,更新所涉及内存页面在写次数记录区的相应写次数数值;S8:当修改目标文件的文件索引时,判断文件索引所在页面的在写次数记录区中记录的磨损值是否需要迁移页面,如果是,则执行步骤S8;如果否,则直接修改文件索引,将文件索引指向步骤S2中的存放更新后数据的内存页面;更新所涉及内存页面在写次数记录区的相应写次数数值;S9:将文件索引所在页面内容拷贝到从空闲页面管理模块获得的空闲页中,修改文件索引值及指针,更新所涉及内存页面在写次数记录区的相应写次数数值;S10:更新日志记录中的交易状态为“CHECKPOINT”,所述CHECKPOINT表示写操作已经正确完成;并更新所涉及内存页面在写次数记录区的相应写次数数值;S11:释放并回收存放目标文件中的受影响的文件数据的旧页面。2.如权利要求1所述的数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:所述内存页面的写次数均在写次数记录区保存并在所有写操作的过程中进行更新;所述写操作包括文件数据、元数据、日志和文件索引的所有数据的更新和追加;内存页面与页面写次数记录区的记录一一对应。3.如权利要求1所述的数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:所述页面写次数记录区的写操作均匀分布。4.如权利要求1所述的数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:所述每一次写操作需要的新页面均由空闲页面管理模块根据写次数记录区的数值找到的磨损程度最小的空闲页面;或者所述每一次写操作均将更新后的完整数据写入新页面,旧页面的数据不更改,并由新页面替换旧页面。5.如权利要求1所述的数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:所述页面的磨损阈值按照下述方法设置:(系统所用非易失性存储器的最大可容忍写次数+系统非易失性内存页面的当前最大写次数)*50%。6.如权利要求1所述的数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:还包括以下步骤:当系统崩溃或掉电后重启时,保持日志记录状态为“CHECKPOINT”的文件不变;及将日志记录状态为“COMMIT”的文件恢复为写操作发生之前的完整数据或写操作完成之后的完整数据;将其他日志记录状态的文件恢复为写操作发生之前的完整数据。7.如权利要求1所述的数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:所述步骤S11中的回收旧页面在每次日志设置正确完成状态后、文件下一次产生日志时或者文件关闭时进行旧页面回收。8...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。