一种数据存储方法及装置制造方法及图纸

技术编号:36734837 阅读:13 留言:0更新日期:2023-03-04 10:04
本申请实施例提供一种数据存储方法及装置,涉及存储技术领域,能够高效地获取存储块对应的引用计数和虚拟地址集合的,该方法包括:确定第一数据对应的第一物理地址,第一物理地址用于指示第一存储空间中的至少一个存储块;将第一数据写入第一物理地址;在正向映射表中记录第一虚拟地址到第一物理地址的映射,第一数据的虚拟地址为第一虚拟地址,第一物理地址包括第一存储空间的标识和该第一物理地址在第一存储空间中的偏移地址;在第一存储空间对应的元信息表中记录第一物理地址,并且在上述元信息表中记录第一物理地址对应的第一虚拟地址。第一虚拟地址。第一虚拟地址。

【技术实现步骤摘要】
一种数据存储方法及装置


[0001]本申请实施例涉及存储
,尤其涉及一种数据存储方法及装置。

技术介绍

[0002]众所周知,当向某硬盘中写入第二数据时,若第二数据与该硬盘中已存储的第一数据完全相同,则不再向该硬盘中重复写入该第二数据,而是采用重复数据删除技术,将第二数据对应的虚拟地址指向第一数据对应的物理地址,从而避免在该硬盘中重复写入相同的数据,以节省硬盘的存储空间。后续的,可以根据该第二数据对应的虚拟地址与第一数据对应的物理地址之间的指向关系读取数据(即第一数据)。
[0003]现有的一种基于重复数据删除技术的数据存储方法是:向硬盘写入数据的过程中,若多个虚拟地址对应的数据相同(例如,均为数据A),则将该多个虚拟地址均指向存储数据A的存储块的物理地址,并在反向映射表中记录该物理地址、该物理地址对应的虚拟地址以及虚拟地址的数量(该虚拟地址的数量称为引用计数)。
[0004]当对数据存储系统的存储数据A的存储块(该存储块的物理地址1)进行垃圾回收时,可以将数据A迁移至物理地址2对应的存储块中,并在反向映射表中查询物理地址1对应的引用计数和物理地址1对应的虚拟地址集合,将该条记录中的物理地址1更新为物理地址2,也就是说在反向映射表中将物理地址1对应的引用计数和虚拟地址集合更新为物理地址2对应的引用计数和虚拟地址集合;然而,上述在反向映射表中查询指向该物理地址1的引用计数和虚拟地址集合的过程中,由于反向映射表包括硬盘的所有存储块的反向映射关系,即反向映射表的内容较多,所以从反向映射表中查询指向该物理地址1的引用计数和虚拟地址集合的耗时较长,进而导致获取该物理地址对应的引用计数和虚拟地址集合的效率较低。

技术实现思路

[0005]本申请实施例提供一种数据存储方法及装置,能够高效地获取存储块对应的引用计数和虚拟地址集合的。
[0006]为达到上述目的,本申请实施例采用如下技术方案:
[0007]第一方面,本申请实施例提供一种数据存储方法,该方法包括:确定第一数据对应的第一物理地址,该第一物理地址用于指示第一存储空间中的至少一个存储块;将上述第一数据写入第一物理地址;在正向映射表中记录上述第一虚拟地址到上述第一物理地址的映射,其中,第一数据的虚拟地址为第一虚拟地址,上述第一物理地址包括第一存储空间的标识和第一物理地址在第一存储空间中的偏移地址;然后,在第一存储空间对应的元信息表中记录第一物理地址,并且在该元信息表中记录第一物理地址对应的第一虚拟地址。
[0008]本申请实施例提供的数据存储方法中,将第一数据写入用于指示第一存储空间中的至少一个存储块的第一物理地址,并在第一存储空间对应的元信息表中记录第一物理地址对应的虚拟地址(例如第一虚拟地址),其中,第一物理地址包括第一存储空间的标识和
第一物理地址在第一存储空间中的偏移地址;所以当需要获取第一物理地址对应的所有虚拟地址时,根据第一物理地址中的第一存储空间的标识获取第一存储空间对应的元信息表,再在该元信息表中根据第一物理地址查询与该第一物理地址对应的虚拟地址,并统计虚拟地址的数量。由于第一存储空间对应的元信息表中仅存储第一存储空间中的存储块的物理地址对应的虚拟地址,所以仅需在与第一存储空间的标识信息对应的元信息表中遍历与第一存储空间中的物理地址相关的记录,无需遍历整个硬盘中的物理地址相关的记录,因此,查询第一存储空间对应的元信息表耗时较短,能够提高获取存储块对应的引用计数和虚拟地址集合的效率。
[0009]一种可能的实现方式中,上述数据存储方法还包括:确定第二数据与上述第一数据是否相同,第二数据为待写入的数据;在该第二数据与上述第一数据相同的情况下,在正向映射表中记录该第二虚拟地址到上述第一物理地址的映射;并且在上述元信息表中的该第一物理地址对应的第二虚拟地址。
[0010]本申请实施例提供的数据存储方法中,当数据存储装置向硬盘写入数据时,首先确定该数据是否为已写入的数据,若该数据为已写入的数据,则将该数据对应的虚拟地址与该数据对应的物理地址建立映射关系,并不在该硬盘上重复写入该数据,这样可以节省硬盘的存储空间。
[0011]一种可能的实现方式中,上述元信息表中包含第一物理地址对应的虚拟地址集合;该虚拟地址集合中添加有第一虚拟地址和第二虚拟地址。
[0012]一种可能的实现方式中,上述数据存储方法还包括:当对上述第一存储空间进行垃圾回收时,将第一物理地址中的第一数据写入第二物理地址;在第二物理地址所在的第二存储空间对应的元信息表中记录该第二物理地址,并且在第二物理地址对应的虚拟地址集合中添加上述第一虚拟地址和第二虚拟地址;在正向映射表中记录该第一虚拟地址到第二物理地址的映射以及上述第二虚拟地址到该第二物理地址的映射;然后,删除上述第一物理地址中的第一数据;并且删除该第一存储空间的元信息表中的第一物理地址和该第一物理地址对应的虚拟地址集合中的第一虚拟地址和第二虚拟地址;以及删除正向映射表中的第一虚拟地址到第一物理地址的映射以及第二虚拟地址到第一物理地址的映射。
[0013]一种可能的实现方式中,本申请实施例中的存储空间(包括上述第一存储空间和第二存储空间)可以是持久化日志(Plog)存储空间,该持久化日志存储空间支持以追加写的方式写入数据。
[0014]第二方面,本申请实施例提供一种数据存储装置,包括:确定模块、写数据模块和信息记录模块。其中,确定模块用于确定第一数据对应的第一物理地址,第一物理地址用于指示第一存储空间中的至少一个存储块;写数据模块用于将第一数据写入第一物理地址;信息记录模块用于在正向映射表中记录第一虚拟地址到第一物理地址的映射,其中,第一数据的虚拟地址为第一虚拟地址,第一物理地址包括第一存储空间的标识和第一物理地址在第一存储空间中的偏移地址;信息记录模块还用于在第一存储空间对应的元信息表中记录第一物理地址,并且在元信息表中记录第一物理地址对应的第一虚拟地址。
[0015]一种可能的实现方式中,上述确定模块还用于确定第二数据与第一数据是否相同,第二数据为待写入的数据;信息记录模块还用于在第二数据与所述第一数据相同的情况下,在正向映射表中记录第二虚拟地址到所述第一物理地址的映射;信息记录模块还用
于在元信息表中记录第一物理地址对应的所述第二虚拟地址。
[0016]一种可能的实现方式中,上述元信息表中包含第一物理地址对应的虚拟地址集合;该虚拟地址集合中添加有第一虚拟地址和第二虚拟地址。
[0017]一种可能的实现方式中,上述数据存储装置还包括:删除模块。上述写数据模块还用于当对第一存储空间进行垃圾回收时,将第一物理地址中的第一数据写入第二物理地址;上述信息记录模块还用于在第二物理地址所在的第二存储空间对应的元信息表中记录第二物理地址,并且在第二物理地址对应的虚拟地址集合中添加第一虚拟地址和第二虚拟地址;该信息记录模块还用于在正向映射表中记录第一虚拟地址到第二物理地址的映射以及第二虚拟地址与第二物理地址的映射;删除模块用于删除第一物理地址中的第一数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:确定第一数据对应的第一物理地址,所述第一物理地址用于指示第一存储空间中的至少一个存储块;将所述第一数据写入所述第一物理地址;在正向映射表中记录所述第一虚拟地址到所述第一物理地址的映射,所述第一数据的虚拟地址为第一虚拟地址,所述第一物理地址包括第一存储空间的标识和所述第一物理地址在第一存储空间中的偏移地址;在所述第一存储空间对应的元信息表中记录所述第一物理地址,并且在所述元信息表中记录所述第一物理地址对应的所述第一虚拟地址。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定第二数据与所述第一数据是否相同,所述第二数据为待写入的数据;在所述第二数据与所述第一数据相同的情况下,在所述正向映射表中记录第二虚拟地址到所述第一物理地址的映射,所述第二数据的虚拟地址为所述第二虚拟地址;在所述元信息表中记录所述第一物理地址对应的所述第二虚拟地址。3.根据权利要求2所述的方法,其特征在于,所述元信息表中包含所述第一物理地址对应的虚拟地址集合;所述虚拟地址集合中添加有所述第一虚拟地址和所述第二虚拟地址。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当对所述第一存储空间进行垃圾回收时,将所述第一物理地址中的所述第一数据写入第二物理地址;在所述第二物理地址所在的第二存储空间对应的元信息表中记录所述第二物理地址,并且在所述第二物理地址对应的虚拟地址集合中添加所述第一虚拟地址和所述第二虚拟地址;在所述正向映射表中记录所述第一虚拟地址到所述第二物理地址的映射以及所述第二虚拟地址到所述第二物理地址的映射;删除所述第一物理地址中的所述第一数据;删除所述第一存储空间的元信息表中的所述第一物理地址和所述第一物理地址对应的虚拟地址集合中的所述第一虚拟地址和所述第二虚拟地址;删除所述正向映射表中的所述第一虚拟地址到所述第一物理地址的映射以及所述第二虚拟地址到所述第一物理地址的映射。5.根据权利要求1

4任一项所述的方法,其特征在于,存储空间是持久化日志存储空间,所述持久化日志存储空间支持以追加写的方式写入数据。6.一种数据存储装置,其特征在于,包括:确定模块、写数据模块和信息记录模块;所述确定模块,用于确定第一数据对应的第一物理地址,所述第一物理地址用于指示第一存储空间中的至少一个存储块;所述写数据模块,用于将所述第一数据写入所述第一物理地址;所述信息记录模块,用于在正向映射表中记录所述第一虚拟地址到所述第一物理地址的映射,其中,所述第一数据的虚拟地址为第...

【专利技术属性】
技术研发人员:蒲贵友
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1