数据迁移方法、数据迁移装置和存储设备.pdf

上传人:小** 文档编号:4036632 上传时间:2018-08-12 格式:PDF 页数:14 大小:1,023.63KB
返回 下载 相关 举报
摘要
申请专利号:

CN201380001625.3

申请日:

2013.09.24

公开号:

CN104662518A

公开日:

2015.05.27

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 12/08申请日:20130924|||公开

IPC分类号:

G06F12/08

主分类号:

G06F12/08

申请人:

华为技术有限公司

发明人:

龚涛; 韩坤; 吴黎明

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明实施例提供了一种数据迁移方法、装置和存储设备,所述方法包括:确定所述硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率;确定所述硬盘组中的至少一个目的SSD;根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量;根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。可以延长SSD存储阵列的使用寿命。

权利要求书

权利要求书
1.  一种数据迁移方法,所述方法应用于存储系统中,所述存储系统包括硬盘组,所述硬盘组包括多个固态硬盘SSD;其特征在于,所述方法包括:
确定所述硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率;
确定所述硬盘组中的至少一个目的SSD;
根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量;
根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。

2.  根据权利要求1所述的方法,其特征在于,所述目的SSD是所述硬盘组中除源SSD的其他SSD。

3.  根据权利要求1所述的方法,其特征在于,所述目的SSD是所述硬盘组中的空间使用率低于所述平均空间使用率的SSD。

4.  根据权利要求1所述的方法,其特征在于,所述目的SSD是预先设定的所述源SSD对应的SSD。

5.  根据权利要求1所述的方法,其特征在于,所述确定所述硬盘组中的至少一个目的SSD包括:根据负载均衡确定所述硬盘组中的至少一个目的SSD。

6.  根据权利要求1所述的方法,其特征在于,所述根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中包括:
根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量;
根据所述迁出的数据量以及所述每个目的SSD的迁入数据量,将所述源SSD的数据迁移至所述每个目的SSD中。

7.  根据权利要求6所述的方法,其特征在于,所述根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量包括:
获得每个目的SSD的空间使用率与所述平均空间使用率之间的差值;
用所述每个目的SSD的空间使用率与所述平均空间使用率之间的差值乘以每个目的SSD的可用物理容量,所得的乘积为所述每个目的SSD迁入的数据量。

8.  根据权利要求1所述的方法,其特征在于,所述根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量包括:
获得所述源SSD的空间使用率与所述平均空间使用率之间的差值;
用所述源SSD的空间使用率与所述平均空间使用率之间的差值乘以所述源SSD的可用物理容量,所得的乘积为所述源SSD迁出的数据量。

9.  一种数据迁移装置,其特征在于,所述装置包括:
确定模块,用于确定硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率;以及确定所述硬盘组中的至少一个目的SSD;
计算模块,用于根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量;
迁移模块,用于根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。

10.  根据权利要求9所述的装置,其特征在于,所述目的SSD是所述硬盘组中除源SSD的其他SSD。

11.  根据权利要求9所述的装置,其特征在于,所述目的SSD是所 述硬盘组中的空间使用率低于所述平均空间使用率的SSD。

12.  根据权利要求9所述的装置,其特征在于,所述目的SSD是预先设定的所述源SSD对应的SSD。

13.  根据权利要求9所述的装置,其特征在于,
所述迁移模块,具体用于根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量;根据所述迁出的数据量以及所述每个目的SSD的迁入数据量,将所述源SSD的数据迁移至所述每个目的SSD中。

14.  根据权利要求13所述的装置,其特征在于,
所述迁移模块,具体用于获得每个目的SSD的空间使用率与所述平均空间使用率之间的差值;用所述每个目的SSD的空间使用率与所述平均空间使用率之间的差值乘以每个目的SSD的可用物理容量,所得的乘积为所述每个目的SSD迁入的数据量。

15.  根据权利要求9所述的装置,其特征在于,
所述计算模块,具体用于获得所述源SSD的空间使用率与所述平均空间使用率之间的差值;用所述源SSD的空间使用率与所述平均空间使用率之间的差值乘以所述源SSD的可用物理容量,所得的乘积为所述源SSD迁出的数据量。

16.  一种存储设备,其特征在于,包括:
处理器、存储器、系统总线和通信接口,所述处理器、所述存储器和所述通信接口之间通过所述系统总线连接并完成相互间的通信;
所述通信接口,用于与存储设备通信;
所述存储器,用于存储计算机执行指令;
所述处理器,用于运行所述计算机执行指令,执行如权利要求1-8所述的方法。

17.  一种计算机程序产品,包括存储了程序代码的计算机可读存储介质, 所述程序代码包括的指令用于执行如权利要求1-8任一所述的方法。

说明书

说明书数据迁移方法、数据迁移装置和存储设备
技术领域
本发明涉及存储技术,尤其涉及一种数据迁移方法、数据迁移装置和存储设备。
背景技术
Nand Flash(闪存存储器)是一种非易失性存储器,具有断电后数据不消失的特点,因此,被广泛的作为外部和内部存储器使用。比如近年来越来越多地用于计算机系统的固态硬盘(Solid State Device,SSD),就是基于闪存存储器实现的。固态硬盘,也可以称为固态驱动器(Solid State Drive,SSD)。由于SSD具有擦除次数有限的特点,每次对SSD的读写操作(也可以称为擦除操作),是对SSD一定程度上的磨损。因此SSD的寿命和磨损度有关,磨损度越高,寿命越短。由于NAND Flash在长期使用过程中,会因为编程错误或擦除错误出现坏块,而坏块增多会导致对整个SSD内的NAND Flash的读写次数增加,磨损度会增高,从而缩短该SSD的使用寿命。
如今,为了满足大数据存储的需求,通常需要把多个SSD组成SSD存储阵列。如果SSD存储阵列中的一个SSD由于坏块增多而导致该SSD的寿命缩短,那么SSD存储阵列的寿命也会缩短。也就是说,SSD存储阵列的寿命取决于其包含的寿命最短的SSD。
发明内容
本发明实施例提供了一种数据迁移方法、装置和存储设备,以提高SSD存储阵列的使用寿命。
本发明实施例一方面提供了一种数据迁移方法,所述方法应用于存储系统中,所述存储系统包括硬盘组,所述硬盘组包括多个固态硬盘SSD;所述方法包括:
确定所述硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬 盘组的平均空间使用率;
确定所述硬盘组中的至少一个目的SSD;
根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量;
根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。
在本发明实施例第一方面的第一种实施方式中,所述目的SSD是所述硬盘组中除源SSD的其他SSD。
在本发明实施例第一方面的第二种实施方式中,所述目的SSD是所述硬盘组中的空间使用率低于所述平均空间使用率的SSD。
在本发明实施例第一方面的第三种实施方式中,所述目的SSD是预先设定的所述源SSD对应的SSD。
在本发明实施例第一方面的第四种实施方式中,所述确定所述硬盘组中的至少一个目的SSD包括:根据负载均衡确定所述硬盘组中的至少一个目的SSD。
在本发明实施例第一方面的第五种实施方式中,所述根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中包括:
根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量;
根据所述迁出的数据量以及所述每个目的SSD的迁入数据量,将所述源SSD的数据迁移至所述每个目的SSD中。
结合本发明实施例第一方面的第五种实施方式,在本发明实施例第一方面的第六种实施方式中,所述根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量包括:
获得每个目的SSD的空间使用率与所述平均空间使用率之间的差值;
用所述每个目的SSD的空间使用率与所述平均空间使用率之间的差值乘以每个目的SSD的可用物理容量,所得的乘积为所述每个目的SSD迁入的数 据量。
在本发明实施例第一方面的第七种实施方式中,所述根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量包括:
获得所述源SSD的空间使用率与所述平均空间使用率之间的差值;
用所述源SSD的空间使用率与所述平均空间使用率之间的差值乘以所述源SSD的可用物理容量,所得的乘积为所述源SSD迁出的数据量。
本发明实施例第二方面提供了一种数据迁移装置,所述装置包括:
确定模块,用于确定硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率;以及确定所述硬盘组中的至少一个目的SSD;
计算模块,用于根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量;
迁移模块,用于根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。
在本发明实施例第二方面的第一种实施方式中,所述目的SSD是所述硬盘组中除源SSD的其他SSD。
在本发明实施例第二方面的第二种实施方式中,所述目的SSD是所述硬盘组中的空间使用率低于所述平均空间使用率的SSD。
在本发明实施例第二方面的第三种实施方式中,所述目的SSD是预先设定的所述源SSD对应的SSD;所述迁移模块,具体用于根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量;根据所述迁出的数据量以及所述每个目的SSD的迁入数据量,将所述源SSD的数据迁移至所述每个目的SSD中。
结合本发明实施例第二方面的第四种实施方式,在本发明实施例第二方面的第五种实施方式中,所述迁移模块,具体用于获得每个目的SSD的空间使用率与所述平均空间使用率之间的差值;用所述每个目的SSD的空间使用率与所述平均空间使用率之间的差值乘以每个目的SSD的可用物理容量,所 得的乘积为所述每个目的SSD迁入的数据量。
在本发明实施例第二方面的第六种实施方式中,所述计算模块,具体用于获得所述源SSD的空间使用率与所述平均空间使用率之间的差值;用所述源SSD的空间使用率与所述平均空间使用率之间的差值乘以所述源SSD的可用物理容量,所得的乘积为所述源SSD迁出的数据量。
本发明实施例第三方面提供了一种存储设备,包括:
处理器、存储器、系统总线和通信接口,所述处理器、所述存储器和所述通信接口之间通过所述系统总线连接并完成相互间的通信;
所述通信接口,用于与存储设备通信;
所述存储器,用于存储计算机执行指令;
所述处理器,用于运行所述计算机执行指令,执行如第一方面所述的数据迁移方法。
本发明实施例第四方面提供了一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行如第一方面所述的数据迁移方法。
在本发明实施例中,将空间使用率高于硬盘组的平均空间使用率的SSD中的数据迁移至确定出的目的SSD中,使得硬盘组中的各个SSD的空间使用率趋于所述平均空间使用率,从而实现了磨损均衡,延长了所述硬盘组的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据迁移方法的应用网络架构示意图;
图2为本发明实施例提供的一种数据迁移方法的流程图;
图3为本发明实施例提供的一种数据迁移装置的结构示意图;
图4为本发明实施例提供的一种存储设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的系统架构
本发明实施例提供的数据迁移方法可以在存储系统上实现。图1为本发明实施例提供的数据迁移方法的系统架构示意图,如图1所示,该存储系统包括控制器11和存储设备22。本实施例中,存储设备22以固态硬盘(Solid State Device,SSD)为例说明。固态硬盘,也可以称为固态驱动器(Solid State Drive,SSD),简称为硬盘。
图1仅是示例性说明,并不限定具体的组网方式,如:级联树形组网、环状组网都可以。只要控制器11和存储设备22之间能够相互通信。
控制器11可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。在控制器内部,安装有操作系统以及其他应用程序。控制器11可以对存储设备22进行管理,比如控制存储设备中的数据迁移。
存储设备22可以包括当前技术已知的存储设备,如SSD、或直接存取存储器(Direct Access Storage Device,DASD)等。图1中,以存储设备22为SSD为例说明。N个物理SSD组成存储阵列(storage array),也可以称为disk group。存储阵列的基本思想就是把多个相对便宜的硬盘组合起来,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。一个存储阵列中的物理SSD数量N不得少于某个下限,例如10个;一个存储阵列中的物理SSD数量N不得多于某个上限,例如30个。具体地,该存储阵列包含的N个物理SSD,可 以是不同型号不同容量的SSD,或者是不同型号相同容量的SSD,或者相同型号不同容量的SSD、或者相同型号相同容量的SSD。
除非特别指明,本发明实施例所称SSD,均指物理SSD。
每个物理SSD可以被划分为细粒度的尺寸相同的数据块(Chunk,CK)221。Chunk也可以称为逻辑SSD。
而且,多个CK可以按照指定类型的独立硬盘冗余数组(Redundant Array of Independent Disks,RAID)组成逻辑空间,该逻辑空间就是一个数据块组(Chunk Group,CKG)。一个CKG所包含的各个CK必须属于不同SSD。独立硬盘冗余数组,又称廉价硬盘冗余数组(Redundant Array of Inexpensive Disks,RAID)。
当某个SSD中出现大量坏块时,空间使用率就会增高,SSD的寿命就会缩短。而SSD存储阵列的寿命又取决于其包含的寿命最短的SSD。因此,为了使SSD存储阵列的寿命延长,可以将空间使用率超过SSD存储阵列的平均空间使用率的SSD中的部分数据迁移到SSD存储阵列的其他SSD中,使得各个SSD的磨损度均衡。
数据迁移方法
下面介绍本发明实施例提供的数据迁移方法,如图2所示,为本发明实施例提供的数据迁移方法的流程图,执行下述步骤的可以是控制器中的处理器,参见图2,所述方法包括:
步骤S201:确定所述硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率。
在本发明实施例中,将空间使用率高于所述硬盘组的平均空间使用率的SSD作为源SSD,所述硬盘组的平均空间使用率是指硬盘组的用户写入数据量与硬盘组的可用物理容量之间的比值,SSD的空间使用率是指该SSD的用户写入数据量与该SSD的可用物理容量之间的比值。其中,硬盘组的用户写入数据量是指所述硬盘组的各个SSD的用户写入数据量的总和,硬盘组的可 用物理容量是指所述硬盘组的各个SSD的可用物理容量的总和。
需要说明的是,在本发明实施例中,一个硬盘组可以视作一个SSD存储阵列。
在物理上,SSD是由多个block组成的,在长期使用过程中,某些block会因为编程错误或擦除错误发生故障,不能进行读写操作,因此被称作坏块。对于一个SSD而言,其空间使用率增高往往是由该SSD的坏块数目增多造成的。因此,确定所述硬盘组中的源SSD可以通过监控所述硬盘组中各个SSD的坏块的容量来实现,当某个SSD的坏块的容量超过预设阈值时,其空间使用率也会高于所述硬盘组的平均空间使用率。此外,一些硬件方面的故障也可能引起SSD的空间使用率增高,例如Flash颗粒的引脚损坏等。
可选的,可以由控制器实时监控硬盘组中每个SSD的坏块的容量,当某个SSD的坏块的容量超过预设阈值时,则可以认为其空间使用率增高,将其确定为源SSD;或者,当某个SSD的坏块的容量超过预设阈值时,自动上报给控制器。
可选的,可以由控制器实时监控硬盘组中每个SSD的空间使用率,当某个SSD的空间使用率高于平均空间使用率时,将其确定为所述硬盘组中的源SSD;或者,当某个SSD的空间使用率高于平均空间使用率时,自动上报给控制器。
可选的,可以由控制器实时监控硬盘组中每个SSD的用户可见容量,当某个SSD的用户可见容量降低时,将其确定为所述硬盘组中的源SSD;或者,当某个SSD的用户可见容量降低时,自动上报给控制器。对于一个SSD来说,其内部的存储空间可以分为两部分:数据存储空间和冗余空间。SSD的数据存储空间的大小就是用户可见容量。SSD的冗余空间,是指SSD提供的超出用户可见容量的NAND Flash存储空间。以400GB的SSD为例,该盘实际包含了512GB的NAND Flash颗粒,但用户可见容量只有400GB,多出的112GB作为冗余空间。由于NAND Flash在长期使用过程中,会因为编程错误或擦除错误出现坏块。由于坏块是不能进行读写操作的,因此需要将坏块中存储的 数据迁移到SSD的冗余空间中,SSD内部会对坏块进行标记,后续将不再使用这些已标记的坏块。而冗余空间主要用于替换坏块,确保该SSD在使用过程中始终具有400GB的数据存储空间。
步骤S202:确定所述硬盘组中的至少一个目的SSD。
为了降低源SSD的空间使用率,可以将其存储的数据迁移至所述硬盘组的其他SSD中。为此,需要从所述硬盘组中确定至少一个目的SSD。
可选的,可以将所述硬盘组中除源SSD以外的其他SSD都作为目的SSD。
可选的,可以将所述硬盘组中空间使用率低于所述平均空间使用率的SSD作为目的SSD。
可选的,可以预先设置源SSD与目的SSD之间的对应关系,通过源SSD在所述对应关系中查询获得目的SSD。
可选的,可以分别获得所述硬盘组中每个SSD的负载情况,根据负载均衡原则确定目的SSD。
需要说明的是,由上面的描述可知目的SSD可以是所述硬盘组中除源SSD以外的所有SSD,也可以是所述硬盘组中除源SSD以外的部分SSD,在此不作限定。
步骤S203:根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量。
在本发明实施例中,所述源SSD迁出的数据量是指为了使所述源SSD的空间使用率达到所述平均空间使用率,而迁出的数据量。
可选的,可以获得所述源SSD的空间使用率与所述平均空间使用率之间的差值;用所述源SSD的空间使用率与所述平均空间使用率之间的差值乘以所述源SSD的可用物理容量,所得的乘积为所述源SSD迁出的数据量。
可选的,可以获得所述源SSD的用户写入的数据量和所述源SSD的可用物理容量;用所述源SSD的用户写入的数据量减去所述源SSD的可用物理容量与所述平均空间使用率之间的乘积,所得的差值为所述源SSD迁出的数据量。
需要说明的是,步骤S202和步骤S203之间没有先后顺序之分。
步骤S204:根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。
在本发明实施例中,源SSD中的数据的迁出是以chunk为单位的,每个chunk的大小固定,因此,可以根据所述源SSD迁出的数据量除以chunk的大小,获得所述源SSD中迁出的chunk的个数。在不能整除的情况下,可以采用对余数四舍五入的方式,计算获得所述源SSD迁出的chunk的个数。
需要说明的是,由于数据迁移是以chunk为单位进行迁移的,所以经过数据迁移,硬盘组中每个SSD的空间使用率近似等于所述平均空间使用率,可以不保证绝对相等。
在本发明实施例中,将空间使用率高于硬盘组的平均空间使用率的SSD中的数据迁移至确定出的目的SSD中,使得硬盘组中的各个SSD的空间使用率趋于所述平均空间使用率,从而实现了磨损均衡,延长了所述硬盘组的使用寿命。
可选的,在上述实施例中,步骤S204可以具体包括:
步骤S2041:根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量。
在本发明实施例中,所述每个目的SSD的迁入数据量是指为了使每个目的SSD的空间使用率达到所述平均空间使用率,而迁入的数据量。
由于确定出的目的SSD可以不止一个,因此需要分别计算每个目的SSD的迁入数据量。
可选的,可以获得每个目的SSD的空间使用率与所述平均空间使用率之间的差值;用所述每个目的SSD的空间使用率与所述平均空间使用率之间的差值乘以每个目的SSD的可用物理容量,所得的乘积为所述每个目的SSD迁入的数据量。
可选的,可以获得每个目的SSD的用户写入的数据量和每个目的SSD的可用物理容量;用每个目的SSD的可用物理容量与所述平均空间使用率的乘 积减去所述每个目的SSD的用户写入的数据量,所得的差值为所述每个目的SSD迁入的数据量。
可选的,可以用所述迁出的数据量除以目的SSD的个数,从而获得每个目的SSD迁入的数据量。
步骤S2042:根据所述迁出的数据量以及所述每个目的SSD的迁入数据量,将所述源SSD的数据迁移至所述每个目的SSD中。
在本发明实施例中,每个目的SSD中的数据的迁入是以chunk为单位的,每个chunk的大小固定,因此,可以根据每个目的SSD迁入的数据量除以chunk的大小,获得每个目的SSD迁入的chunk的个数。在不能整除的情况下,可以采用对余数四舍五入的方式,计算获得每个目的SSD迁入的chunk的个数。
可选的,在计算出源SSD待迁出的chunk的个数(假设为N,N为大于1的自然数)之后,可以从所述源SSD中随机选取N个chunk,根据预设的选盘算法以及每个目的SSD迁入的chunk的个数,依次为N个chunk中的每个chunk在目的SSD中确定一个空闲的chunk,然后将所述源SSD的N个
chunk中存储的数据分别迁移至目的SSD中。
例如,首先确定所述源SSD的第i个chunk,其中,i为自然数,且0<i<N+1;
根据每个目的SSD待迁入的chunk的个数,以及预设的选盘算法,在所述硬盘组除源SSD外的其他SSD中确定一个空闲的chunk,所述空闲的chunk所在的SSD,与所述第i个chunk所属的CKG中包含的其他chunk所在的SSD不相同;
将所述源SSD的第i个chunk中存储的数据迁移至所述空闲的chunk中;
当i<N时,i=i+1,继续确定所述源SSD的第i个chunk。
下面以一个具体的示例来描述数据的迁移过程,假设硬盘组(disk group)中总共有9个SSD,每个SSD的物理容量是128GB,每个SSD所承担的业务压力相同,其用户写入的数据量均为60GB。
如果某个SSD的坏块的容量达到8GB,那么该SSD的可用物理容量为128–8=120(GB);该SSD的空间使用率为60/120=0.5;
而整个disk group的用户写入的数据量为60*9=540(GB),并且整个diskgroup的可用物理容量是128*8+(128-8)=1144(GB),因此disk group的平均空间使用率为540/1144=0.4720。
因此,可以将产生坏块的SSD确定为源SSD,其空间使用率0.5大于平均空间使用率0.4720,为了使整个disk group中的每个SSD的空间使用率均达到平均空间使用率,需要将源SSD的数据迁移至其他SSD。这里以其余8个SSD作为目的SSD为例。
所述源SSD迁出的数据量为:用户写入的数据量-源SSD的空间使用率*源SSD的可用物理容量,因此源SSD迁出的数据量=60–(540/1144)*120=3.3566(GB)。
或者,所述源SSD迁出的数据量为:(源SSD的空间使用率-平均空间使用率)*源SSD的可用物理容量=(0.5-540/1144)*120=3.3566(GB)。
每个目的SSD迁出的数据量为:平均空间使用率*目的SSD的可用物理容量-用户写入的数据量=(540/1144)*128-60=0.4196(GB)。
或者,每个目的SSD迁出的数据量为:(平均空间使用率-目的SSD的空间使用率)*目的SSD的可用物理容量=(540/1144-60/128)*128=0.4196(GB)。
然后,可以根据源SSD的迁出数据量和每个目的SSD的迁入数据量,以chunk为单位将源SSD的数据迁移至各个目的SSD中。
完成数据迁移之后,源SSD的空间利用率为:(60-3.3566)/120=0.4720,其他每个SSD的空间利用率为:(60+0.4196)/128=0.4720。
由此可见,完成数据迁移后,一个disk group中的各个SSD的空间利用率均等于平均空间使用率。由此说明实现了各个SSD的磨损度均衡,从而延长了整个SSD存储阵列的使用寿命。
本发明实施例的装置
下面介绍本发明实施例提供的数据迁移装置,如图3所示,为本发明实 施例提供的数据迁移装置的结构图,所述装置包括:
确定模块301,用于确定硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率;以及确定所述硬盘组中的至少一个目的SSD。
计算模块302,用于根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量。
迁移模块303,用于根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。
可选的,所述目的SSD是所述硬盘组中除源SSD的其他SSD。
可选的,所述目的SSD是所述硬盘组中的空间使用率低于所述平均空间使用率的SSD。
可选的,所述目的SSD是预先设定的所述源SSD对应的SSD。
其中,迁移模块303具体用于根据所述目的SSD的空间使用率和所述平均空间使用率,计算每个目的SSD的迁入数据量;根据所述迁出的数据量以及所述每个目的SSD的迁入数据量,将所述源SSD的数据迁移至所述每个目的SSD中。具体的,可以获得每个目的SSD的空间使用率与所述平均空间使用率之间的差值;用所述每个目的SSD的空间使用率与所述平均空间使用率之间的差值乘以每个目的SSD的可用物理容量,所得的乘积为所述每个目的SSD迁入的数据量。
其中,计算模块302,具体用于获得所述源SSD的空间使用率与所述平均空间使用率之间的差值;用所述源SSD的空间使用率与所述平均空间使用率之间的差值乘以所述源SSD的可用物理容量,所得的乘积为所述源SSD迁出的数据量。
本发明实施例所提供的装置,可以设置于前面实施例所描述的控制器中,用于执行前面实施例所描述的数据迁移方法,各个模块功能的详细描述可参见方法实施例中的描述,在此不再赘述。
在本发明实施例中,将空间使用率高于硬盘组的平均空间使用率的SSD 中的数据迁移至确定出的目的SSD中,使得硬盘组中的各个SSD的空间使用率趋于所述平均空间使用率,从而实现了磨损均衡,延长了所述硬盘组的使用寿命。
如图4,为本发明实施例提供的存储设备1200,包括:
处理器101、存储器102、系统总线(简称总线)105和通信接口103。处理器101、存储器102和通信接口103之间通过系统总线105连接并完成相互间的通信。
处理器101可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器102可以为高速RAM存储器,也可以为非易失性存储器(non-volatile memory),例如至少一个硬盘存储器。
通信接口103用于与存储设备通信。
存储器102用于存储计算机执行指令1021。具体的,计算机执行指令1021中可以包括程序代码。
当计算机运行时,处理器101运行计算机执行指令1021,可以执行图2所述的方法流程。
本发明实施例还提供一种数据处理的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行图2所述的方法流程。
在本发明实施例中,将空间使用率高于硬盘组的平均空间使用率的SSD中的数据迁移至确定出的目的SSD中,使得硬盘组中的各个SSD的空间使用率趋于所述平均空间使用率,从而实现了磨损均衡,延长了所述硬盘组的使用寿命。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形 式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应所述以权利要求的保护范围为准。

数据迁移方法、数据迁移装置和存储设备.pdf_第1页
第1页 / 共14页
数据迁移方法、数据迁移装置和存储设备.pdf_第2页
第2页 / 共14页
数据迁移方法、数据迁移装置和存储设备.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《数据迁移方法、数据迁移装置和存储设备.pdf》由会员分享,可在线阅读,更多相关《数据迁移方法、数据迁移装置和存储设备.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明实施例提供了一种数据迁移方法、装置和存储设备,所述方法包括:确定所述硬盘组中的源SSD,其中所述源SSD的空间使用率高于所述硬盘组的平均空间使用率;确定所述硬盘组中的至少一个目的SSD;根据所述源SSD的空间使用率和所述平均空间使用率,计算所述源SSD迁出的数据量;根据所述源SSD迁出的数据量,将所述源SSD的数据迁移至所述目的SSD中。可以延长SSD存储阵列的使用寿命。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1