一种数据迁移回收方法及相关装置制造方法及图纸

技术编号:27615041 阅读:20 留言:0更新日期:2021-03-10 10:43
本申请公开了一种数据迁移回收方法,包括当迁移当前block中的当前grain中的数据时,在迁移当前grain中的数据的过程中,对当前grain对应的主机逻辑地址进行加锁;当前grain中的数据迁移完成后,在修改当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对当前grain对应的主机逻辑地址进行加锁;当回收当前block中的当前grain中的数据时,若当前grain中存在重删数据,则在回收重删数据的过程中,对重删数据对应的hash值进行加锁。该方法能够保证数据的一致性。本申请还公开了一种数据迁移回收装置、设备及计算机可读存储介质,均具有上述技术效果。均具有上述技术效果。均具有上述技术效果。

【技术实现步骤摘要】
一种数据迁移回收方法及相关装置


[0001]本申请涉及服务器
,特别涉及一种数据迁移回收方法;还涉及一种数据迁移回收装置、设备以及计算机可读存储介质。

技术介绍

[0002]SSD页不能重复写,如果SSD页中的数据必须更新,新版本必须写到空页中,而保存之前版本数据的页被标记为stale。当块被stale页充满后,需要在能够再写入之前进行擦除。SSD控制器中的垃圾回收进程用于确保被标记为stale的页被擦除而变为free状态,以使进来的写入命令可以访问该页。闪存粒不能覆盖现有数据,因此在SSD上,当前无效的数据仍然保留在硬盘上,由此会产生大量的失效数据。为了提升SSD的利用效率,需要进行垃圾回收。另外,在数据迁移过程中,数据迁移模块对block即块进行迁移时,会对迁移的block的grain的主机逻辑地址与存储物理地址的映射关系进行修改,如果在数据迁移或映射关系的修改过程中出现问题,容易导致数据不一致。所谓数据不一致是指写入存储系统的数据与从存储系统读取出来的数据不一致。因此,如何保障数据的一致性已成为本领域技术人员亟待解决的技术问题。

技术实现思路

[0003]本申请的目的是提供一种数据迁移回收方法,能够有效保障数据的一致性。本申请的另一个目的是提供一种数据迁移回收装置、设备以及计算机可读存储介质,均具有上述技术效果。
[0004]为解决上述技术问题,本申请提供了一种数据迁移回收方法,包括:
[0005]当迁移当前block中的当前grain中的数据时,在迁移所述当前grain中的数据的过程中,对所述当前grain对应的主机逻辑地址进行加锁,直到数据迁移完成;
[0006]所述当前grain中的数据迁移完成后,在修改所述当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对所述当前grain对应的所述主机逻辑地址进行加锁,直到所述当前grain的主机逻辑地址与存储物理地址的映射关系修改完成;
[0007]当回收所述当前block中的所述当前grain中的数据时,若所述当前grain中存在重删数据,则在回收所述重删数据的过程中,对所述重删数据对应的hash值进行加锁。
[0008]可选的,所述修改所述当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对所述当前grain对应的所述主机逻辑地址进行加锁包括:
[0009]当接收到数据迁移发起节点发送的修改映射关系的消息后,对所述当前grain的主机逻辑地址进行加锁,并修改所述当前grain的主机逻辑地址与存储物理地址的映射关系;
[0010]修改完所述当前grain的主机逻辑地址与存储物理地址的映射关系后,解除所述当前grain的主机逻辑地址的锁,并所述向所述数据迁移发起节点发送映射关系修改完成信息。
[0011]可选的,所述在回收所述重删数据的过程中,对所述重删数据对应的hash值进行加锁包括:
[0012]对所述重删数据对应的hash值进行加锁后,将hash值加锁请求发送给其他节点,以使其他节点同样对所述重删数据对应的hash值进行加锁;
[0013]当接收到其他节点反馈的加锁成功消息后,对所述重删数据进行回收处理。
[0014]可选的,还包括:
[0015]完成回收所述重删数据且删除所述hash值与存储物理地址的映射关系后,对所述hash值进行解锁,并向其他节点发送hash值解锁请求,以使其他节点同样对所述重删数据对应的hash值进行解锁。
[0016]可选的,还包括:
[0017]当所述当前block中的所有grain完成数据回收或数据迁移后,将所述当前block的IO请求设置为完成状态。
[0018]为解决上述技术问题,本申请还提供了一种数据迁移回收装置,包括:
[0019]第一加锁模块,用于当迁移当前block中的当前grain中的数据时,在迁移所述当前grain中的数据的过程中,对所述当前grain对应的主机逻辑地址进行加锁,直到数据迁移完成;
[0020]第二加锁模块,用于所述当前grain中的数据迁移完成后,在修改所述当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对所述当前grain对应的所述主机逻辑地址进行加锁,直到所述当前grain的主机逻辑地址与存储物理地址的映射关系修改完成;
[0021]第三加锁模块,用于当回收所述当前block中的所述当前grain中的数据时,若所述当前grain中存在重删数据,则在回收所述重删数据的过程中,对所述重删数据对应的hash值进行加锁。
[0022]可选的,所述第二加锁模块具有用于当接收到数据迁移发起节点发送的修改映射关系的消息后,对所述当前grain的主机逻辑地址进行加锁,并修改所述当前grain的主机逻辑地址与存储物理地址的映射关系;修改完所述当前grain的主机逻辑地址与存储物理地址的映射关系后,解除所述当前grain的主机逻辑地址的锁,并所述向所述数据迁移发起节点发送映射关系修改完成信息。
[0023]可选的,所述第三加锁模块具体用于对所述重删数据对应的hash值进行加锁后,将hash值加锁请求发送给其他节点,以使其他节点同样对所述重删数据对应的hash值进行加锁;当接收到其他节点反馈的加锁成功消息后,对所述重删数据进行回收处理。
[0024]为解决上述技术问题,本申请还提供了一种数据迁移回收设备,包括:
[0025]存储器,用于存储计算机程序;
[0026]处理器,用于执行所述计算机程序时实现如上任一项所述的数据迁移回收方法的步骤。
[0027]为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的数据迁移回收方法的步骤。
[0028]本申请所提供的数据迁移回收方法,包括:当迁移当前block中的当前grain中的
数据时,在迁移所述当前grain中的数据的过程中,对所述当前grain对应的主机逻辑地址进行加锁,直到数据迁移完成;所述当前grain中的数据迁移完成后,在修改所述当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对所述当前grain对应的所述主机逻辑地址进行加锁,直到所述当前grain的主机逻辑地址与存储物理地址的映射关系修改完成;当回收所述当前block中的所述当前grain中的数据时,若所述当前grain中存在重删数据,则在回收所述重删数据的过程中,对所述重删数据对应的hash值进行加锁。
[0029]可见,本申请所提供的数据迁移回收方法,在迁移数据在数据迁移后修改元数据即修改主机逻辑地址与存储物理地址的映射关系的过程中,始终对主机逻辑地址进行加锁,从而可以保证在迁移数据以及修改元数据的过程中不会有主机IO写入数据到所加锁的主机逻辑地址而产生新的主机逻辑地址与存储物理地址的映射关系,有效保证了主机逻辑地址与存储物理地址的映射关系修改的独立性,能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据迁移回收方法,其特征在于,包括:当迁移当前block中的当前grain中的数据时,在迁移所述当前grain中的数据的过程中,对所述当前grain对应的主机逻辑地址进行加锁,直到数据迁移完成;所述当前grain中的数据迁移完成后,在修改所述当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对所述当前grain对应的所述主机逻辑地址进行加锁,直到所述当前grain的主机逻辑地址与存储物理地址的映射关系修改完成;当回收所述当前block中的所述当前grain中的数据时,若所述当前grain中存在重删数据,则在回收所述重删数据的过程中,对所述重删数据对应的hash值进行加锁。2.根据权利要求1所述的数据迁移回收方法,其特征在于,所述修改所述当前grain的主机逻辑地址与存储物理地址的映射关系的过程中,对所述当前grain对应的所述主机逻辑地址进行加锁包括:当接收到数据迁移发起节点发送的修改映射关系的消息后,对所述当前grain的主机逻辑地址进行加锁,并修改所述当前grain的主机逻辑地址与存储物理地址的映射关系;修改完所述当前grain的主机逻辑地址与存储物理地址的映射关系后,解除所述当前grain的主机逻辑地址的锁,并所述向所述数据迁移发起节点发送映射关系修改完成信息。3.根据权利要求2所述的数据迁移回收方法,其特征在于,所述在回收所述重删数据的过程中,对所述重删数据对应的hash值进行加锁包括:对所述重删数据对应的hash值进行加锁后,将hash值加锁请求发送给其他节点,以使其他节点同样对所述重删数据对应的hash值进行加锁;当接收到其他节点反馈的加锁成功消息后,对所述重删数据进行回收处理。4.根据权利要求3所述的数据迁移回收方法,其特征在于,还包括:完成回收所述重删数据且删除所述hash值与存储物理地址的映射关系后,对所述hash值进行解锁,并向其他节点发送hash值解锁请求,以使其他节点同样对所述重删数据对应的hash值进行解锁。5.根据权利要求4所述的数据迁移回收方法,其特征在于,还包括:当所述当前block中的所...

【专利技术属性】
技术研发人员:孙京本刘如意李佩
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1