一种基于HDD和SSD的混合存储备份方法及系统转让专利

申请号 : CN201410009126.5

文献号 : CN103713973B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张砚波吴丙涛

申请人 : 浪潮(北京)电子信息产业有限公司

摘要 :

本发明提供一种基于HDD和SSD的混合存储备份方法及系统,应用于计算机应用技术领域,上述方法包括以下步骤:单个或多个HDD的线性地址空间被划分成若干等份;其中,所述每一等份包括数据段和空闲段;若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中。通过实施本发明的技术方案,能够用HDD及时地备份SSD上的数据,该混合结构实现了一种低价格、高性能的可靠存储系统数据备份。

权利要求 :

1.一种基于HDD和SSD的混合存储备份方法,其特征在于,包括:单个或多个HDD的线性地址空间被划分成若干等份,其中每一等份包括数据段和空闲段,所述数据段用于备份SSD的数据,所述空闲段用来暂时保存数据;

若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中;

所述HDD中任意HDD按照SSD的数量将自己的空间划分成若干等份,分别提供给每块SSD;SSD按照HDD的数量将自己的数据划分成若干等份,分别备份到每块HDD上;

若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中的过程为:若数据不能写到相应的数据段中,则将数据写到离磁头最近的空闲段上,具体包括:若客户端发出多个写请求并且目标为不同的数据段,则将所述多个写请求合并,写到离磁头最近的同一空闲段中。

2.根据权利要求1所述的方法,其特征在于,

所述数据段和空闲段在线性地址空间上交替排列,所述SSD地址与所述HDD上数据段的地址一一对应。

3.根据权利要求2所述的方法,其特征在于,若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中的过程为:当将数据写到离磁头最近的空闲段上,以避免磁头调度,同时使用保存在非易失性内存中的一个映射表记录所述数据写入的目的空闲段;

所述HDD空闲时将数据从所述空闲段上读到非易失内存中;

所述HDD将非易失内存中的数据最终写到相应的数据段内。

4.根据权利要求3所述的方法,其特征在于,

所述将数据从所述空闲段上读到非易失内存中,包括:将多个连续空闲段中的数据同时读到所述非易失内存中。

5.根据权利要求3所述的方法,其特征在于,

对于一个特定的线程,它在一段时间内发出多个写请求,这些数据被写到同一空闲段内,或者被写到相邻的几个空闲段内;

所述将数据从所述空闲段上读到非易失内存中,包括:将同一空闲段或几个连续空闲段中的数据读到内存;

所述将非易失内存中的数据最终写到相应的数据段内,包括:在内存中找出所述特定线程的多个写请求,并将这些请求恢复成一个长序列。

6.根据权利要求1或2或3所述的方法,其特征在于,使用多块HDD备份多块SSD,按照HDD和SSD的容量大小来选择HDD数量。

7.一种基于HDD和SSD的混合存储备份系统,其特征在于,包括:一个或多个HDD,一个或多个SSD,非易失内存和主机端;

所述SSD用于响应所述主机端发出的读请求和写请求;

所述HDD和非易失内存构成备份模块,用于响应主机端发出的写请求,其中:所述非易失内存用来桥接HDD与SSD的延迟差距;

所述HDD的线性地址空间被划分成若干等份;其中每一等份包括数据段和空闲段,所述数据段和空闲段在线性地址空间上交替排列,所述数据段用于备份所述SSD的数据,所述SSD的地址与所述HDD上数据段的地址一一对应,所述空闲段用来暂时保存数据;

所述HDD用于在写请求到达时,按照预设策略将数据写入对应的数据段中;

所述HDD中任意HDD按照SSD的数量将自己的空间划分成若干等份,分别提供给每块SSD;SSD按照HDD的数量将自己的数据划分成若干等份,分别备份到每块HDD上;

所述HDD按照预设策略将数据写入对应的数据段中,包括:若数据不能写到相应的数据段中,则将数据写到离磁头最近的空闲段上,具体包括:在客户端发出多个写请求并且目标为不同的数据段时,将所述多个写请求合并,写到离磁头最近的同一空闲段中。

8.根据权利要求7所述的混合存储备份系统,其特征在于,所述HDD按照预设策略将数据写入对应的数据段中,还包括:当将数据写到离磁头最近的空闲段上,以避免磁头调度,同时使用保存在非易失性内存中的一个映射表记录所述数据写入的目的空闲段;

所述HDD还用于在空闲时将数据从所述空闲段上读到非易失内存中,再将非易失内存中的数据最终写到相应的数据段内。

9.根据权利要求8所述的混合存储备份系统,其特征在于,所述HDD将数据从所述空闲段上读到非易失内存中,包括:将多个连续空闲段中的数据同时读到所述非易失内存中。

说明书 :

一种基于HDD和SSD的混合存储备份方法及系统

技术领域

[0001] 本发明涉及计算机应用技术领域,尤其涉及一种基于HDD和SSD的混合存储备份方法及系统。

背景技术

[0002] 近年来,基于闪存的固态盘(SSD)因其优越的性能已受到广泛的关注和使用在当前的存储系统备份中,但是,由于寿命有限,SSD的可靠性备受质疑;HDD阵列(RAID)是一种传统的用来提高可靠性的手段,但并不适用于SSD。首先,RAID机制需要额外的存储空间保存校验信息,然而配备额外的SSD存储校验信息会显著增加系统成本;其次,传统的RAID机制倾向于在各盘之间均衡地分布写请求,在基于SSD的RAID中,这种做法导致各SSD的寿命均匀地损耗,当某一SSD由于寿命耗尽而出现故障时,其他的SSD也达到寿命极限,从而可能出现多盘故障,引发数据丢失。
[0003] 在现阶段,传统RAID机制主存储系统备份和SSD在读写方面主要存在以下3个方面的问题:
[0004] 1、在基于SSD的RAID中,因为同一类型的SSD寿命基本上一致,各SSD的寿命均匀地损耗,当某一SSD由于寿命耗尽而出现故障时,其他的SSD也达到寿命极限,从而可能出现多盘故障,引发数据丢失。
[0005] 2、RAID机制需要额外的存储空间保存校验信息,相比于HDD,SSD价格依然昂贵,配备额外的SSD存储校验信息会显著增加系统成本。
[0006] 3、传统的HDD在读写速度上无法满足用户的需求,现在的SSD高速的特性的混合使用在性能上总是存在一些欠缺。

发明内容

[0007] 本发明提供一种基于HDD和SSD的混合存储备份方法及系统,以解决上述问题。
[0008] 本发明提供一种一种基于HDD和SSD的混合存储备份方法。上述方法包括:
[0009] 单个或多个HDD的线性地址空间被划分成若干等份,其中每一等份包括数据段和空闲段,所述数据段用于备份SSD的数据,所述空闲段用来暂时保存数据;
[0010] 若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中。
[0011] 本发明还提供一种基于HDD和SSD的混合存储备份系统,包括:一个或多个HDD,一个或多个SSD,非易失内存和主机端;
[0012] 所述SSD用于响应所述主机端发出的读请求和写请求;
[0013] 所述HDD和非易失内存构成备份模块,用于响应主机端发出的写请求,其中:
[0014] 所述非易失内存用来桥接HDD与SSD的延迟差距;
[0015] 所述HDD的线性地址空间被划分成若干等份;其中每一等份包括数据段和空闲段,所述数据段和空闲段在线性地址空间上交替排列,所述数据段用于备份所述SSD的数据,所述SSD的地址与所述HDD上数据段的地址一一对应,所述空闲段用来暂时保存数据;
[0016] 所述HDD用于在写请求到达时,按照预设策略将数据写入对应的数据段中。
[0017] 通过实施本发明的技术方案,能够用HDD及时地备份SSD上的数据,该混合结构实现了一种低价格、高性能的可靠存储系统数据备份;本发明采用非易失内存桥接HDD和SSD之间的速度差距,大大提高了存储系统备份对用户的读写请求的响应速度和性能要求;本发明还采用了一种I/O重组策略,该策略可以增强HDD内部操作的顺序性,使HDD尽可能的顺序读写,增强HDD的写性能;另外,本发明为了降低单块SSD上出现的突发写请求的情况,采用多块HDD备份多块SSD,保证某一SSD上的突发写数据能够及时分散备份到多个HDD中,实现了一种低价格、高性能的可靠存储系统备份。

附图说明

[0018] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1所示为本发明的实施例1的混合存储系统备份机制的总体架构示意图;
[0020] 图2所示为本发明的实施例2的HDD内的I/O重组示意图;
[0021] 图3所示为本发明的实施例3的多块HDD协同备份架构示意图;
[0022] 图4所示为本发明的实施例4的基于HDD和SSD的混合存储备份方法处理流程图。

具体实施方式

[0023] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0024] 本实施例提供了一种基于HDD和SSD的混合存储备份方法,包括:
[0025] 单个或多个HDD的线性地址空间被划分成若干等份,其中每一等份包括数据段和空闲段,所述数据段用于备份SSD的数据,所述空闲段用来暂时保存数据;
[0026] 若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中。
[0027] 其中,所述数据段和空闲段在线性地址空间上交替排列,所述SSD地址与所述HDD上数据段的地址一一对应。
[0028] 其中,若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中的过程为:
[0029] 写请求到达时,若数据不能写到相应的数据段中,则将数据写到离磁头最近的空闲段上,以避免磁头调度,同时使用保存在非易失性内存中的一个映射表记录所述数据写入的目的空闲段;
[0030] 所述HDD空闲时将数据从所述空闲段上读到非易失内存中;
[0031] 所述HDD将非易失内存中的数据最终写到相应的数据段内。
[0032] 其中,所述若数据不能写到相应的数据段中,则将数据写到离磁头最近的空闲段上,包括:若客户端发出多个写请求并且目标为不同的数据段,则将所述多个写请求合并,写到离磁头最近的同一空闲段中。
[0033] 其中,所述将数据从所述空闲段上读到非易失内存中,包括:将多个连续空闲段中的数据同时读到所述非易失内存中。
[0034] 其中,对于一个特定的线程,它在一段时间内发出多个写请求,这些数据被写到同一空闲段内,或者被写到相邻的几个空闲段内;
[0035] 所述将数据从所述空闲段上读到非易失内存中,包括:将同一空闲段或几个连续空闲段中的数据读到内存;
[0036] 所述将非易失内存中的数据最终写到相应的数据段内,包括:在内存中找出所述特定线程的多个写请求,并将这些请求恢复成一个长序列。
[0037] 其中,使用多块HDD备份多块SSD,按照HDD和SSD的容量大小来选择HDD数量;
[0038] 任意HDD按照SSD的数量将自己的空间划分成若干等份,分别提供给每块SSD;SSD按照HDD的数量将自己的数据划分成若干等份,分别备份到每块HDD上。
[0039] 图1所示为本发明的实施例1的混合存储系统备份机制的总体架构示意图,如图1所示,用一块HDD备份一块SSD,主机端发出的读请求仅由SSD响应,写请求由SSD和备份模块同时响应;备份模块中含有一片非易失内存和HDD,非易失内存用来桥接HDD与SSD的延迟差距;在HDD内部,提出了一种I/O重组策略(详见实施例2的描述)来增强操作的顺序性,使数据能够及时备份到HDD。
[0040] 图2所示为本发明的实施例2的HDD内的I/O重组示意图,单块HDD内的I/O调度机制如图2所示:在图2(a)中,HDD的线性地址空间被划分成许多段,其中,标记为D的为数据段,标记为F的为空闲段,数据段和空闲段在线性空间上交替排列,每两个数据段后面有一空闲段(实际系统中,数十个数据段后面才有一个空闲段),SSD的数据备份在数据段上,空闲段则用来暂时保存数据。该机制的设计有两个特征:1)数据段与空闲段规则地分布在HDD地址空间上,数据段用来备份SSD的数据,数据段组成的地址空间与SSD的地址空间一一对应,且这种对应关系可以直接计算出来,无需额外的地址映射表;2)该机制中,HDD任意位置附近都存在一个空闲,当写请求到达时,无论磁头处于线性地址空间的何处,附近都存在一个空闲段,数据能够及时地写到该空闲段中,任何写请求都可以不用调度磁头而顺序地完成。
[0041] 图2(b)介绍了这种顺序写请求产生的策略,一个写请求本应写到D1,但磁头现在正处于D2位置,为了避免磁头调度,数据不直接写到D1中,相反,我们找到离磁头最近的空闲段F3,将数据写入其中,这样,数据段D1的数据被写入空闲段F3中,需要维护一张表记录这种对应关系;空闲段只是临时的保存用户数据,当HDD空闲时用户数据被转移到数据段上,以上举例说明的HDD内I/O重组过程可归纳为3个步骤:①写请求到达时将数据写到离磁头最近的空闲段上;②HDD空闲时将数据从空闲段上读到非易失内存中;③将非易失内存中的数据最终写到相应的数据段内,这3个步骤涉及的I/O操作都是顺序的。本实施例中关于HDD内的I/O重组策略主要通过两种手段实现顺序化:首先是减少磁头的调度;其次是将多个短请求合并成一个长请求,实现步骤为:(1)如果数据能够写到相应的数据段中,由于SSD地址与HDD上数据段的地址一一对应,不需要映射表来记录这种对应关系;相反,如果数据不能写到相应的数据段中,则需要写到离磁头最近的空闲段中,此时,需要一个映射表来记录这些数据写到哪些空闲段中(该映射表保存在非易失内存中):写请求到达时,数据被写到离磁头最近的空闲段上,避免了一次磁头调度,客户端往往在短时间内发出多个写请求,如果将这些写请求打包成一个长请求,写到同一个空闲段中,可以有效减少写操作的数目,增强写操作的顺序性。如图2(c)所示,客户端发出两个写请求,请求1和请求2,他们的目标为不同的数据段,此时磁头处于D2位置,本策略将这两个写请求合并,写到空闲段F3(离磁头最近的空闲段)中,每个段的容量较大(在本发明中设定为2MB),这样,数十个用户写请求可以打包成一个长请求写到同一空闲段中;(2)将空闲段中的数据读到内存:多个用户请求合并写到同一空闲段中之后,可以通过一次读操作将这些数据全部读出,减少了读操作的次数;另外,相邻的数个空闲段也可被一同读出,这样可以进一步减少磁头调度的概率,例如:3个相邻的空闲段F1,F2,F3被同时读出,由于这些空闲段顺序地分布在HDD空间上,磁头调度可以避免;(3)将内存中的数据写回HDD:多个连续空闲段中的数据被同时读到内存,这些数据最终会写到各自的数据段中,这些数据可以顺序写到HDD中;对于一个特定的线程,它在一段时间内可能发出多个写请求,这些数据被写到同一空闲段内,或者被写到相邻的几个空闲段内。
[0042] 上述步骤中,将几个连续空闲段中的数据读到内存,在内存中可以找出某个特定线程的多个写请求,并将这些请求恢复成一个长序列,图2(d)举例说明了这个过程,3个写请求,请求1,请求2和请求3,其中请求1和请求3属于同一连续序列,但被请求2中断了,3个请求都被写到空闲段F3中,当F3中的数据被读到内存时,请求1和请求3的顺序性得到恢复,所以将内存中的数据写回HDD时,可将多个写请求合并成一个长序列,减少写操作。
[0043] 本发明实施例设计的一种多块HDD之间的协作机制按照HDD和SSD的容量大小来选择HDD数量,任意HDD按照SSD的数量将自己的空间划分成若干等份,分别提供给每块SSD;SSD按照HDD的数量将自己的数据划分成若干等份,分别备份到每块HDD上,该机制可将特定SSD上的突发写请求分散到多块HDD上,从而有效抑制单一HDD上的负载峰值。
[0044] 单块HDD内部的写优化策略存在单块HDD的空间远大于单块SSD,导致HDD空间的浪费;以及HDD和SSD之间存在性能差距,如果上层主机发出大量的突发写请求,HDD不能及时处理这些数据,导致大量数据累积在内存中,如果内存压力过大,SSD必须停止响应用户的写请求,为了解决这一问题,本发明实施例设计了一种多块HDD之间的协作机制,如图3所示,2块HDD为3块SSD提供备份,每块HDD被分成3个部分,分别备份3块SSD上的数据,每一部分将地址空间划分成数据段和空闲段,数据段为特定的SSD提供备份,如图3中,标记为D1的数据段仅供SSD1使用,标记为D2的数据段仅供SSD2使用,而空闲段为所有SSD共享,这样,无论磁头处于什么位置,针对任意SSD的写请求都可及时地备份到磁头附近的空闲段中,本发明实施例的多个HDD的协作可以从容处理针对某个SSD的突发写请求。
[0045] 图4所示为本发明的实施例4的基于HDD和SSD的混合存储备份方法处理流程图,包括以下步骤:
[0046] 步骤401:单个或多个HDD的线性地址空间被划分成若干等份;其中每一等份包括数据段和空闲段,所述数据段用于备份SSD的数据,所述空闲段用来暂时保存数据;
[0047] 步骤402:若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中。
[0048] 本实施例还提供了一种基于HDD和SSD的混合存储备份系统,其特征在于,包括:一个或多个HDD,一个或多个SSD,非易失内存和主机端;
[0049] 所述SSD用于响应所述主机端发出的读请求和写请求;
[0050] 所述HDD和非易失内存构成备份模块,用于响应主机端发出的写请求,其中:
[0051] 所述非易失内存用来桥接HDD与SSD的延迟差距;
[0052] 所述HDD的线性地址空间被划分成若干等份;其中每一等份包括数据段和空闲段,所述数据段和空闲段在线性地址空间上交替排列,所述数据段用于备份所述SSD的数据,所述SSD的地址与所述HDD上数据段的地址一一对应,所述空闲段用来暂时保存数据;
[0053] 所述HDD用于在写请求到达时,按照预设策略将数据写入对应的数据段中。
[0054] 其中,所述HDD中任意HDD按照SSD的数量将自己的空间划分成若干等份,分别提供给每块SSD;
[0055] 所述HDD按照预设策略将数据写入对应的数据段中,包括:若数据不能写到相应的数据段中,则将数据写到离磁头最近的空闲段上,以避免磁头调度,同时使用保存在非易失性内存中的一个映射表记录所述数据写入的目的空闲段;
[0056] 所述HDD还用于在空闲时将数据从所述空闲段上读到非易失内存中,再将非易失内存中的数据最终写到相应的数据段内。
[0057] 其中,所述HDD按照预设策略将数据写入对应的数据段中,包括:在客户端发出多个写请求并且目标为不同的数据段时,将所述多个写请求合并,写到离磁头最近的同一空闲段中;
[0058] 所述HDD将数据从所述空闲段上读到非易失内存中,包括:将多个连续空闲段中的数据同时读到所述非易失内存中。
[0059] 通过实施本发明的技术方案,能够用HDD及时地备份SSD上的数据,该混合结构实现了一种低价格、高性能的可靠存储系统数据备份;本发明采用非易失内存桥接HDD和SSD之间的速度差距,大大提高了存储系统备份对用户的读写请求的响应速度和性能要求;本发明还采用了一种I/O重组策略,该策略可以增强HDD内部操作的顺序性,使HDD尽可能的顺序读写,增强HDD的写性能;另外,本发明为了降低单块SSD上出现的突发写请求的情况,采用多块HDD备份多块SSD,保证某一SSD上的突发写数据能够及时分散备份到多个HDD中,实现了一种低价格、高性能的可靠存储系统备份。
[0060] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。