一种基于hdd和ssd的混合存储备份方法及系统的制作方法

文档序号:6535303阅读:310来源:国知局
一种基于hdd和ssd的混合存储备份方法及系统的制作方法
【专利摘要】本发明提供一种基于HDD和SSD的混合存储备份方法及系统,应用于计算机应用【技术领域】,上述方法包括以下步骤:单个或多个HDD的线性地址空间被划分成若干等份;其中,所述每一等份包括数据段和空闲段;若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中。通过实施本发明的技术方案,能够用HDD及时地备份SSD上的数据,该混合结构实现了一种低价格、高性能的可靠存储系统数据备份。
【专利说明】—种基于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的线性地址空间被划分成若干等份;其中,所述每一等份包括数据段和空闲段;
[0010]若写请求到达时,所述HDD按照预设策略将数据写入对应的数据段中。
[0011]本发明还提供一种基于HDD和SSD的混合存储备份系统,包括:一个或多个HDD,一个或多个SSD,主机端;
[0012]所述主机端发出的读请求仅由SSD响应,写请求由SSD和备份模块同时响应;其中,备份模块中含有非易失内存和HDD,非易失内存用来桥接HDD与SSD的延迟差距;
[0013]所述HDD按照预设策略将数据写入对应的数据段中。
[0014]通过实施本发明的技术方案,能够用HDD及时地备份SSD上的数据,该混合结构实现了一种低价格、高性能的可靠存储系统数据备份;本发明采用非易失内存桥接HDD和SSD之间的速度差距,大大提高了存储系统备份对用户的读写请求的响应速度和性能要求;本发明还采用了一种I/O重组策略,该策略可以增强HDD内部操作的顺序性,使HDD尽可能的顺序读写,增强HDD的写性能;另外,本发明为了降低单块SSD上出现的突发写请求的情况,采用多块HDD备份多块SSD,保证某一 SSD上的突发写数据能够及时分散备份到多个HDD中,实现了一种低价格、高性能的可靠存储系统备份。
【专利附图】

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