数据迁移方法、装置及存储设备制造方法及图纸

技术编号:20328900 阅读:38 留言:0更新日期:2019-02-13 05:36
提供一种数据迁移方法、装置及存储设备,第一数据存储在第一存储地址,所述第一数据的元数据中记录有第一虚拟地址,所述第一存储地址与所述第一虚拟地址之间有第一映射关系,所述方法包括:所述存储设备将第一数据从所述第一存储地址迁移到第二存储地址;所述存储设备将所述第一映射关系调整为第二映射关系,所述第二映射关系是所述第二存储地址与所述第一虚拟地址的对应关系。该方法在第一数据迁移后,无需修改第一数据的元数据中的存储地址,从而极大提升了元数据的管理效率。

【技术实现步骤摘要】
数据迁移方法、装置及存储设备
本申请实施例涉及通信
,尤其涉及一种数据迁移方法、装置及存储设备。
技术介绍
一些电子设备中包括写入前需要首先擦除的存储介质,这些存储介质中包括多个存储区域。该存储区域内部采用追加写的方式写入数据。当该存储区域内的存储地址按照顺序被写满后,可能需要对该存储区域执行垃圾回收(garbagecollection,GC)过程。GC过程是指:当该存储区域内的存储地址按照顺序被写满后,如果删除了该存储区域内的一部分数据,则由于剩余的数据占据了存储空间导致删除了该一部分数据之后的存储空间不可用,因此,需要将该存储区域内的数据迁移,并重置该存储区域。现有技术中,通过元数据记录数据的存储地址信息,元数据的组织形式为树形结构。当执行上述GC过程之后,需要从被迁移的数据对应的叶子节点元数据开始,向上逐层修改元数据。但是,现有技术的方法会导致元数据管理效率低下。
技术实现思路
本申请实施例提供一种数据迁移方法、装置及存储设备,用于解决现有技术中数据管理效率低下的问题。本申请实施例第一方面提供一种数据迁移方法,该方法应用于存储设备,该存储设备包括控制器和至少一个硬盘,该控制器用于对硬盘存储的数据进行管理。第一数据存储在第一存储地址,第一数据的元数据中记录有第一虚拟地址,该第一存储地址与第一虚拟地址之间有第一映射关系,该方法包括:存储设备将第一数据从上述第一存储地址迁移到第二存储地址,进而,存储设备将上述第一映射关系调整为第二映射关系,其中,该第二映射关系是上述第二存储地址与上述第一虚拟地址的对应关系。该方法中,第一数据的元数据中记录第一虚拟地址,在第一数据迁移前,存储设备中记录第一虚拟地址与存储第一数据的第一存储地址之间的第一映射关系,当第一数据从第一存储地址迁移到第二存储地址后,仅需要将第一映射关系修改为第一虚拟地址与第二存储地址的第二映射关系即可,从而无需修改第一数据的元数据,同时又能保证第一数据在迁移后仍然能正确的访问,因此,本实施例在保证数据被正确访问的同时极大减少了元数据的修改次数,从而极大提升了元数据的管理效率,减少了存储系统的负载。在一种可能的设计中,上述存储地址通过存储区域ID以及存储区域内的存储偏移量共同确定。在一种可能的设计中,上述第一虚拟地址通过第一虚拟区域的标识以及第一虚拟偏移量共同标识。在一种可能的设计中,上述第一映射关系包括:上述第一虚拟区域的标识与第一存储区域的映射关系,以及,上述第一虚拟偏移量与第一存储偏移量的映射关系。上述第二映射关系包括:上述第一虚拟区域的标识与第二存储区域的映射关系,以及,上述第一虚拟偏移量与第二存储偏移量的映射关系。在一种可能的设计中,在存储设备将上述第一映射关系调整为第二映射关系之后,还可以执行下述过程:在存储设备将上述第一存储地址对应的存储区域中的数据全部迁移至上述第二存储地址对应的存储区域后,上述存储设备更新迁移标识,该迁移标识用于标识上述第一虚拟区域的迁移次数。在一种可能的设计中,上述方法还包括:为待存储的第二数据分配第二虚拟区域的标识以及分配用于存储所述第二数据的第三存储地址所对应的第三存储区域;为所述第二数据分配第三存储区域内的第三存储偏移量,所述第三存储区域和所述第三存储偏移量共同确定所述第三存储地址;根据所述第三存储偏移量以及所述迁移标识确定所述第二数据对应的第二虚拟偏移量;将所述第二数据写入所述第三存储地址,并在所述第二数据的元数据中记录所述第二虚拟区域的标识以及所述第二虚拟偏移量;建立第三映射关系,所述第三映射关系包括:所述第二虚拟区域的标识与第三存储区域的映射关系,以及,所述第二虚拟偏移量与第三存储偏移量的映射关系。该方法中,在确定待存储数据的存储位置时,结合迁移标识进行确定,可以使得数据发生迁移后,新写入的数据的虚拟偏移量不会与已写入的数据的虚拟偏移量出现重复,避免数据读写时发生错误。在一种可能的设计中,所述方法还包括:根据所述第一映射关系以及所述第一数据的元数据中所记录的第一虚拟地址,确定存储所述第一数据的所述第一存储地址;从所述第一存储地址读取所述第一数据。在一种可能的设计中,所述根据所述第一映射关系以及所述第一数据的元数据中所记录的第一虚拟地址,确定存储所述第一数据的所述第一存储地址,包括:根据所述第一虚拟区域的标识与第一存储区域的映射关系,得到所述第一存储地址对应的第一存储区域ID;根据所述第一虚拟偏移量与第一存储偏移量的映射关系,得到所述第一存储地址对应的第一存储偏移量;其中,所述第一虚拟偏移量与第一存储偏移量的映射关系通过所述第一虚拟偏移量与所述第一存储偏移量的映射表进行标识,或者,通过预设的公式确定。本申请实施例第二方面提供一种数据迁移装置,应用于存储设备,该装置可以是存储设备中的控制器,或者是控制器的一部分。第一数据存储在第一存储地址,所述第一数据的元数据中记录有第一虚拟地址,所述第一存储地址与所述第一虚拟地址之间有第一映射关系。该装置可以实现上述第一方面中的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的设计中,该装置可以包括处理模块,该处理模块可以执行上述方法中的相应功能,例如:处理模块,用于将第一数据从所述第一存储地址迁移到第二存储地址;以及,将所述第一映射关系调整为第二映射关系,所述第二映射关系是所述第二存储地址与所述第一虚拟地址的对应关系。本申请实施例第三方面提供一种存储设备,该存储设备包括控制器和至少一个硬盘,该控制器用于对硬盘存储的数据进行管理,第一数据存储在第一存储地址,所述第一数据的元数据中记录有第一虚拟地址,所述第一存储地址与所述第一虚拟地址之间有第一映射关系,该控制器还用于执行上述第一方面所述的方法。本申请实施例第四方面提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被计算机执行时,使得所述计算机执行第一方面所述的方法。本申请实施例第五方面提供一种计算机可读存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面所述的方法。附图说明图1为该文件BB.doc在文件系统的树形结构中的存储结构;图2为本申请实施例提供的数据迁移方法实施例的流程示意图;图3为该文件BB.doc在文件系统的树形结构中的存储结构;图4为在存储设备中写入第二数据的流程示意图;图5为从存储设备中读取上述第一数据的流程示意图;图6为本申请实施例提供的一种数据迁移装置600的模块示意图;图7为本申请实施例提供的一种存储设备700的实体框图。具体实施方式存储设备可以通过文件系统组织文件,文件系统可以看作是存储设备的操作系统用于明确存储设备上的文件的方法和数据结构。在文件系统中,可以将数据分为数据文件和元数据,其中,数据文件是存储设备上所保存的文件。元数据可以看作是描述数据的数据,元数据中可以保存数据的属主、大小、权限、时间戳、链接以及数据在存储设备的磁盘上的存储地址等信息。文件系统可以采用树形结构进行管理。假设文件系统中保存了一个文件BB.doc,该文件BB.doc的存储位置为“/AA/BB.doc”,则图1为该文件BB.doc在文件系统本文档来自技高网...

【技术保护点】
1.一种数据迁移方法,应用于存储设备,所述存储设备包括控制器和至少一个硬盘,所述控制器用于对硬盘存储的数据进行管理,其特征在于,第一数据存储在第一存储地址,所述第一数据的元数据中记录有第一虚拟地址,所述第一存储地址与所述第一虚拟地址之间有第一映射关系,所述方法包括:所述存储设备将第一数据从所述第一存储地址迁移到第二存储地址;所述存储设备将所述第一映射关系调整为第二映射关系,所述第二映射关系是所述第二存储地址与所述第一虚拟地址的对应关系。

【技术特征摘要】
1.一种数据迁移方法,应用于存储设备,所述存储设备包括控制器和至少一个硬盘,所述控制器用于对硬盘存储的数据进行管理,其特征在于,第一数据存储在第一存储地址,所述第一数据的元数据中记录有第一虚拟地址,所述第一存储地址与所述第一虚拟地址之间有第一映射关系,所述方法包括:所述存储设备将第一数据从所述第一存储地址迁移到第二存储地址;所述存储设备将所述第一映射关系调整为第二映射关系,所述第二映射关系是所述第二存储地址与所述第一虚拟地址的对应关系。2.根据权利要求1所述的方法,其特征在于,所述存储地址通过存储区域ID以及存储区域内的存储偏移量共同确定。3.根据权利要求2所述的方法,其特征在于,所述第一虚拟地址通过第一虚拟区域的标识以及第一虚拟偏移量共同标识。4.根据权利要求3所述的方法,其特征在于,所述第一映射关系包括:所述第一虚拟区域的标识与第一存储区域的映射关系,以及,所述第一虚拟偏移量与第一存储偏移量的映射关系;所述第二映射关系包括:所述第一虚拟区域的标识与第二存储区域的映射关系,以及,所述第一虚拟偏移量与第二存储偏移量的映射关系。5.根据权利要求4所述的方法,其特征在于,所述存储设备将所述第一映射关系调整为第二映射关系之后,还包括:在所述存储设备将所述第一存储地址对应的存储区域中的数据全部迁移至所述第二存储地址对应的存储区域后,所述存储设备更新迁移标识,所述迁移标识用于标识所述第一虚拟区域的迁移次数。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:为待存储的第二数据分配第二虚拟区域的标识以及分配用于存储所述第二数据的第三存储地址所对应的第三存储区域;为所述第二数据分配第三存储区域内的第三存储偏移量,所述第三存储区域和所述第三存储偏移量共同确定所述第三存储地址;根据所述第三存储偏移量以及所述迁移标识确定所述第二数据对应的第二虚拟偏移量;将所述第二数据写入所述第三存储地址,并在所述第二数据的元数据中记录所述第二虚拟区域的标识以及所述第二虚拟偏移量;建立第三映射关系,所述第三映射关系包括:所述第二虚拟区域的标识与第三存储区域的映射关系,以及,所述第二虚拟偏移量与第三存储偏移量的映射关系。7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:根据所述第一映射关系以及所述第一数据的元数据中所记录的第一虚拟地址,确定存储所述第一数据的所述第一存储地址;从所述第一存储地址读取所述第一数据。8.根据权利要求7所述的方法,其特征在于,所述根据所述第一映射关系以及所述第一数据的元数据中所记录的第一虚拟地址,确定存储所述第一数据的所述第一存储地址,包括:根据所述第一虚拟区域的标识与第一存储区域的映射关系,得到所述第一存储地址对应的第一存储区域ID;根据所述第一虚拟偏移量与第一存储偏移量的映射关系,得到所述第一存储地址对应的第一存储偏移量;其中,所述第一虚拟偏移量与第一存储偏移量的映射关系通过所述第一虚拟偏移量与所述第一存储偏移量的映射表进行标识,或者,通过预设的公式确定。9.一种数据迁移装置,应用于存储设备,其特征在于,第一数据存储在第一存储地址,所述第一数据的元数据中记录有第一虚拟地址,所述第一存储地址与所述第一虚拟地址之间有第一映射关系,所述装置包括:处理模块;所述处理模...

【专利技术属性】
技术研发人员:贾胜迁
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1