[发明专利]一种数据一致性及磨损均衡的内存文件系统管理方法有效

专利信息
申请号: 201610570438.2 申请日: 2016-07-19
公开(公告)号: CN106250320B 公开(公告)日: 2019-05-24
发明(设计)人: 诸葛晴凤;沙行勉 申请(专利权)人: 诸葛晴凤
主分类号: G06F12/02 分类号: G06F12/02
代理公司: 北京汇泽知识产权代理有限公司 11228 代理人: 武君
地址: 200333 上海市普*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种数据一致性及磨损均衡的内存文件系统管理方法,实现了持久化内存文件系统在数据更新操作中同时进行数据一致性和写磨损均衡,文件的更新操作包括文件就地更新、追加、部分追加三种更新方式。内存文件系统的数据一致性通过元数据管理、数据一致性、日志管理三个模块和文件更新操作协同实现。非易失性存储管理的功能通过页面分配、空闲页面管理、磨损均衡三个模块和文件更新操作协同实现。磨损均衡功能通过数据区页面写次数管理、索引两个子模块和存储管理中的其他模块协同实现,因此,所有文件更新操作都在实现数据一致性更新的同时做到了写磨损均衡。
搜索关键词: 一种 数据一致性 磨损 均衡 内存 文件 系统管理 方法
【主权项】:
1.一种数据一致性及磨损均衡的内存文件系统管理方法,其特征在于:包括以下步骤:S1:在非易失性存储介质上设置一段连续的存储空间作为页面写次数记录区,所述页面写次数记录区用于记录并存放所有数据区页面的写次数,当每个内存页面的写次数发生变化时,更新页面写次数记录区内相应内存页面的写次数计数器;空闲页面管理模块根据页面写次数记录区的数据分配出当前系统中写次数最小的内存页面;S2:当写操作开始时,判断文件的日志记录是否存在,如果是,则从日志记录的尾端继续记录日志;如果否,则从空闲页面管理模块获取日志记录所需要的内存页面;S3:将当前的文件元数据和受影响的文件数据备份到日志区域;更新所涉及内存页面在页面写次数记录区的相应写次数数值;将在文件被关闭时释放该文件的日志区域的内存页面;S4:从空闲页面管理模块获取目标文件数据更新或追加所需要内存的新页面,写入更新后的相应数据页面的完整数据,当新页面上的写操作完成后,用新页面替换文件系统中的旧页面;更新所涉及内存页面在页面写次数记录区的相应写次数数值;S5:更新日志记录的交易状态为“COMMIT”,所述COMMIT表示文件数据已经正确写入内存页面;并更新所涉及内存页面在写次数记录区的相应写次数数值;S6:当修改目标文件的元数据时,判断元数据所在页面在写次数记录区中记录的磨损值是否需要迁移元数据,如果是,则执行步骤S7;如果否,则直接修改元数据,并更新所涉及内存页面在写次数记录区的相应写次数数值;S7:将元数据所在页面内容拷贝到从空闲页面管理模块获得的空闲页中,修改元数据及指针,更新所涉及内存页面在写次数记录区的相应写次数数值;S8:当修改目标文件的文件索引时,判断文件索引所在页面的在写次数记录区中记录的磨损值是否需要迁移页面,如果是,则执行步骤S9;如果否,则直接修改文件索引,将文件索引指向步骤S2中的存放更新后数据的内存页面;更新所涉及内存页面在写次数记录区的相应写次数数值;S9:将文件索引所在页面内容拷贝到从空闲页面管理模块获得的空闲页中,修改文件索引值及指针,更新所涉及内存页面在写次数记录区的相应写次数数值;S10:更新日志记录中的交易状态为“CHECKPOINT”,所述CHECKPOINT表示写操作已经正确完成;并更新所涉及内存页面在写次数记录区的相应写次数数值;S11:释放并回收存放目标文件中的受影响的文件数据的旧页面。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于诸葛晴凤,未经诸葛晴凤许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610570438.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top