[发明专利]一种基于持久性内存的指纹存储方法在审
申请号: | 202210587980.4 | 申请日: | 2022-05-27 |
公开(公告)号: | CN114968103A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 吴素贞;毛波;杜春锋;王圣哲;林子航 | 申请(专利权)人: | 厦门大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 厦门市首创君合专利事务所有限公司 35204 | 代理人: | 连耀忠 |
地址: | 361000 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 持久性 内存 指纹 存储 方法 | ||
本发明提出一种基于持久性内存的指纹存储方法,结合持久性内存PM的特性,将指纹索引等元数据从底层设备中剥离,并放置在持久性内存PM中。同时,本发明为PM中未被缓存的指纹元数据构建布隆过滤器且保存在DRAM中。当用户发出写请求时,系统如果在DRAM缓存中查找不到对应的指纹元数据,则可以通过布隆过滤器来确定对应的指纹元数据是否保存在持久性内存PM中,从而避免了传统方式中通过I/O方式在底层设备中查找的过程,极大减小了重复数据删除系统的数据处理过程中对指纹索引等元数据的查找开销。
技术领域
本发明涉及计算机体系结构的存储领域,特别是指一种基于持久性内存的指纹存储方法。
背景技术
重复数据删除技术对数据项计算哈希指纹作为唯一的标识符,并且通过匹配这个唯一的标识符来识别并消除重复的数据项,以此来减少写入存储设备的数据量,达到扩展存储空间的目的。通常,重复数据删除系统将指纹索引等元数据保存在磁盘、固态盘等底层设备中,并且将部分经常访问的元数据条目维持在DRAM缓存中,以此减少对底层设备中指纹索引等元数据的访问。当应用程序访问指纹索引时,通过DRAM缓存可以提升缓存命中率至90%以上,避免过多的低速设备的读写操作,然而,不足10%的低速设备访问也会造成几倍甚至几十倍的性能下降。此外,现有的研究期望通过提高缓存命中率减少底层设备中指纹元数据访问开销的方法只能起到缓解作用,并且严格依赖于缓存方法的好坏,因此如何有效地减少系统读写过程中底层设备中指纹索引等元数据的访问开销仍然是一个亟待解决的问题。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于持久性内存的指纹存储方法,避免了传统方式中通过I/O方式在底层设备中查找的过程,极大减小了重复数据删除系统的数据处理过程中对指纹索引等元数据的查找开销。
本发明采用如下技术方案:
一种基于持久性内存的指纹存储方法,包括初始化步骤、数据写操作步骤、数据读操作步骤、数据删除操作步骤:
1)初始化操作步骤,包括以下过程:
(1.1)指定持久化内存PM作为指纹元数据的存储位置并初始化指纹元数据表;
(1.2)并行初始化DRAM缓存中的指纹元数据和布隆过滤器;
(1.3)等待接收用户请求命令,若用户请求是写操作,转步骤2),否则若用户请求是读操作,转步骤3),否则用户请求是删除操作,转步骤4);
2)所述方法中数据写操作步骤,包括以下过程:
(2.1)根据用户请求,计算写入数据项的哈希指纹值,判断DRAM缓存中的指纹索引表是否存在相同的指纹表项,若不存在,转过程(2.2),否则转过程(2.4);
(2.2)在DRAM的布隆过滤器中查找该数据项对应指纹元数据是否存在的标记,若查找成功,转过程(2.3),否则转过程(2.5);
(2.3)根据写入数据的哈希指纹在持久性内存PM的指纹索引表中查找,若查找成功,转过程(2.4),否则,转过程(2.5);
(2.4)用户请求的写入数据项为重复数据,删除待写入的数据项,并将该写入数据项对应的引用值加1,转过程(2.6);
(2.5)用户请求的写入数据项为非重复数据项,在底层设备中分配新的空闲空间存储该数据项,同时在指纹索引表中添加该数据项的指纹索引表项并将引用值置为1,转过程(2.6);
(2.6)更新DRAM缓存和持久性内存PM中对应的地址映射表;
3)所述方法中数据读操作步骤,包括以下过程:
(3.1)判断用户读请求中读取数据项的地址是否在DRAM缓存的地址映射表中,若是,转过程(3.2),否则转过程(3.3);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门大学,未经厦门大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210587980.4/2.html,转载请声明来源钻瓜专利网。