[发明专利]一种基于固态盘的文件更新方法及系统有效
| 申请号: | 201611176282.6 | 申请日: | 2016-12-19 |
| 公开(公告)号: | CN106802923B | 公开(公告)日: | 2020-05-19 |
| 发明(设计)人: | 万继光;陶志;徐鹏;汤陈蕾;谭志虎;谢长生 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/172 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李智 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 固态 文件 更新 方法 系统 | ||
本发明公开了一种基于固态盘的文件更新方法及系统,针对文件的修改操作,文件系统在文件索引节点inode中添加修改记录,在文件执行修改操作时在修改记录中添加修改信息,在修改文件时,只需将修改的文件部分写入固态盘即可,减少了写入固态盘的数据量,减少了文件写入消耗的时间,提高了文件应用的性能。并且较少的数据量写入可以减少固态盘异地更新引起的写放大,延长固态盘的寿命。
技术领域
本发明属于数据存储技术领域,更具体地,涉及一种基于固态盘的文件更新方法及系统。
背景技术
闪存是一种非易失的存储器,基于闪存的固态盘具有高性能、低功耗、高可靠等诸多优点,一出现就迅速得到学术界和工业界的接受和重视,逐渐成为计算机存储系统的重要组成部分。近年来,闪存技术得到了长足的发展,随着制造技术的不断进步,闪存存储器在容量上得到了提升,单位价格也有所下降。闪存芯片的部署正在从移动设备中走到个人计算机以及大规模数据中心中去。
针对文件的更新操作,传统的处理方法是将整个文件读取到内存中,添加待插入的数据或者删除数据,然后将整个文件写回到磁盘中。特别地,如果对MB级甚至GB级的大文件仅仅修改几个bit,会产生很大的写放大。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于固态盘的文件更新方法及系统,可以支持对文件的插入和删除,并且对文件中已有数据的修改,可以结合插入和删除实现。由此解决现有技术文件系统中文件更新造成的写放大的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于固态盘的文件更新方法,包括:
(1)文件应用向待修改文件中删除和/或插入一段数据;
(2)存储系统读取该待修改文件的索引节点inode,并放置到内存中;
(3)将对待修改文件的修改记录添加到inode中,其中,对于待修改文件的插入操作,将在待修改文件中的插入位置、待插入数据的物理地址以及待插入数据的长度写入修改记录,对于待修改文件的删除操作,将在待修改文件中的删除位置以及待删除数据的长度写入修改记录,即将待删除的数据部分标记为删除状态;
(4)在内存中写入待插入的数据和/或删除待删除的数据;
(5)将内存中写入的待插入数据写回到固态硬盘SSD中与inode中的修改记录对应的位置,删除待删除的数据。
优选地,所述方法还包括:
当对修改后的文件执行读取操作时,读取inode中的修改记录中的修改信息,判断对文件的修改类型是插入操作还是删除操作;
若是删除操作,则跳过从删除位置开始的长度为待删除数据长度的数据,获取剩余位置处的数据;
若是插入操作,则读取到文件的插入位置时,先读取从待插入数据的物理地址开始的长度为待插入数据的长度的数据,然后从插入位置的下一位置处继续读取数据。
按照本发明的另一方面,提供了一种基于固态盘的文件更新系统,包括:
文件修改模块,用于通过文件应用向待修改文件中删除和/或插入一段数据;
inode读取模块,用于通过存储系统读取该待修改文件的索引节点inode,并放置到内存中;
修改记录添加模块,用于将对待修改文件的修改记录添加到inode中,其中,对于待修改文件的插入操作,将在待修改文件中的插入位置、待插入数据的物理地址以及待插入数据的长度写入修改记录,对于待修改文件的删除操作,将在待修改文件中的删除位置以及待删除数据的长度写入修改记录,即将待删除的数据部分标记为删除状态;
内存数据修改模块,用于在内存中写入待插入的数据和/或删除待删除的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611176282.6/2.html,转载请声明来源钻瓜专利网。





