一种基于SSD的RAID6系统的单盘快速恢复方法器技术方案

技术编号:11703558 阅读:134 留言:0更新日期:2015-07-09 02:45
本发明专利技术涉及一种基于SSD的RAID6系统的单盘快速恢复方法。该方法基于SSD的使用RDP进行编码的RAID6系统,通过增加一块额外的冗余设备,在保证可以容双盘出错的高可靠性前提下,进一步减少单盘恢复所需的分块总数,从而提高系统单盘恢复效率,缩短重构时间,并且实现系统的负载均衡,最终实现提升系统服务质量。针对原系统中的任意单个数据盘出错,能够减少系统恢复单盘所需的分片总数;针对原系统中的任意单个数据盘出错,能够破除原系统在单盘恢复过程中可能负载瓶颈,实现各个设备的负载均衡;通过使用二元异或和,减少新增冗余盘的更新开销,从而延长其的寿命。

【技术实现步骤摘要】
一种基于SSD的RAID6系统的单盘快速恢复方法器
本专利技术适用于闪存固态存储
,提供了一种基于固态盘SSD(SolidStateDrive)的6级磁盘冗余阵列RAID6(RedundantArraysofIndependentDisks6)系统的单盘快速恢复方法,提高系统的单盘恢复效率和可靠性。
技术介绍
相对于传统磁存储介质,闪存(FlashMemory)技术凭借其在体积、重量、功耗和读写性能上的显著优势已经掀起了存储领域的一场新兴变革,是构建新型非易失主存的一种理想介质。为了更好地兼容和继承传统磁盘的技术和相关产品,业界厂商将多个基于NAND闪存的芯片组合封装成为了类似传统磁盘的固态存储SSD(SolidStateDrive)来进行推广应用,并利用闪存转换层FLT(FlashTranslationLayer)来屏蔽SSD与传统磁盘的内部差异,使得外部用户可以在明显获得性能提升感受的同时感知不到存储本身的变化。如今,基于闪存的SSD已经在移动存储设备、个人存储设备和不同层次的数据中心获得了非常广泛的应用,并且随着工艺的提升和单位bit价格的降低,基于闪存的SSD的应用会更加广泛。基于闪存的SSD的应用中,更多的是利用多块SSD构建高性能和高可靠性的独立冗余磁盘阵列RAID(RedundantArraysofIndependentDisks)系统来实现的。独立冗余磁盘阵列RAID的核心是利用多个设备构建可以并行读写的跨磁盘条带和额外磁盘进行冗余编码技术来分别提高性能和系统可靠性。现在比较成熟的RAID技术包括RAID0,RAID1,RAID5,RAID6,RAID10,RAID01等,用户可以根据不同的应用需求来进行配置。总得来讲,RAID5,RAID6应用的相对比较广泛。但是就可靠性而言,由于RAID5只有一个校验盘,而RAID6有两个校验盘,所以在可靠性方面,RAID6更为可靠。我们以基于RDP编码的RAID6(6块盘)为例,其条带由大小相同的四份数据块和两份校验块共六个分块构成,每个分块分别存储在一个不同的设备中。第一块校验块是该条带上全部原始四份数据块的异或和,第二块校验块则是分块阵列中某一对应的正斜线上分块的异或和,如图1。由于引入了冗余,为了保证数据的一致性,所以对原始数据块进行更新时,需要对其相关的两块校验块进行更新。就存储系统而言,由于设备本身的不稳定性会导致一个或者多个存储设备的不可用。统计表明,单设备出错的概率高达90%以上,而双盘出错的概率则是8%左右,而三盘同时出错则小于1%。所以,通常而言,可靠的存储系统一般需要容双盘出错,并且能够针对高概率的单盘出错进行快速的恢复。所以,虽然RAID5实现简单,但其可靠性是远远不够的。为了保证更好的可靠性,本文针对可以容双盘出错的基于SSD的RAID6系统进行研究。在RAID6系统中,由于单个设备出错或者其使用寿命达到极限,导致其数据不可用。此时,我们需要将坏的SSD设备剔除,并使用新的SSD设备进行替换,并对故障设备中的数据进行重构。该重构过程需要读取其他健康设备上的数据和冗余进行解码计算来实现数据的恢复,这会增加系统I/O的请求,并占用相应的资源。用户需要等待数据重构完成之后才能对故障设备上的数据进行读写,所以如何缩短RAID6系统中单盘恢复时间,从而提升用户体验成为存储系统的一个重要问题。目前基于RAID6系统中单盘快速恢复的相关研究。该研究是基于使用RDP编码的RAID6系统,其指出了RDP编码的存储系统中只是用一类校验块进行重构的低效性,提出并证明了一种最优的单盘恢复策略。该策略通过利用相对数目的两类校验块进行重构,来获得最大数目的重叠分块,从而使得单盘重构所需的分块数目最少,并且对负载情况进行了均衡。该方法实现简单且通用性较强,但是其性能提升有限,难以满足单盘容量暴增的需求。另外,还有研究通过类似的方法对EVENODD编码的存储系统中的单盘快速恢复问题进行了研究,理论推导出了EVENODD编码的单盘恢复下限,并给出了异构环境下单盘快速重构的策略,使得重构过程达到了近似最优。同时,其他的类似研究则是面向其他一些编码方式下的RAID系统的单盘快速恢复问题,这与之前的研究大同小异。这些研究都是在单盘容量较小的情况下进行的,这忽略了近年来单个存储设备的容量随着工艺和技术发展急剧增长的特点,并且单位存储价格廉价化使得系统服务质量变得日益重要。而且以上的这些研究,都是基于冗余情况固定不变的情况。
技术实现思路
本专利技术所要解决的技术问题是在基于SSD的使用RDP进行编码的RAID6系统中,通过增加一块额外的冗余设备,在保证可以容双盘出错的高可靠性前提下,进一步减少单盘恢复所需的分块总数,从而提高系统单盘恢复效率,缩短重构时间,并且实现系统的负载均衡,最终实现提升系统服务质量。本专利技术的技术方案是:由于传统的基于固定冗余的RAID6系统的单盘恢复策略已经达到了最优,无法再继续提升了,所以难以适应单盘容量增大而导致重构时间增大的发展趋势。所以本专利技术提出了增加有限额外冗余来提升性能而不是增加可靠性的思想,新增加一个固态存储设备来作为额外冗余盘,并在原有RDP编码的基础上为新增的冗余盘进行特定的编码,以减少原系统中任意一个数据盘发生故障进行重构时所需的分块总数。本专利技术既适用于基于NAND闪存的固态盘系统,又可以适用于传统磁盘组成的存储系统。由于EVENODD编码和RDP编码的相似性,在EVENODD编码的系统中可以使用本专利技术。本专利技术的核心在于如何找到能够在性能、可靠性、更新开销、负载均衡等多个方面取得良好折中效果的冗余编码方法。经过分析和证明,本专利技术利用原系统中某些特定数据进行运算,得到符合特定条件的二元异或和实现对新增冗余的编码。所以,本专利技术中对于新增额外冗余块的编码的关键在于如何找到合适的二元异或和。具体技术方案为:第一步,由于原系统使用RDP编码,我们定义了三个数据结构,分别是矩阵matrix存放磁盘中的数据,矩阵diagonal存放了磁盘中对角线数据的坐标,temp是矩阵主对角线中的元素的坐标。第二步,初始化矩阵matrix和矩阵diagonal;第三步:对矩阵matrix和矩阵diagonal进行赋值;第四步:通过执行findTwoTuples(matrix[][],diagonal[][],intp)来寻找符合条件的二元异或和:4.1遍历当前matrix中的每个一元素,4.2判断当前matrix中的元素的位置在哪一个斜对角线中,4.3找出相应的斜对角,判断斜对角线中的元素是否在temp中(主对角线中),4.4若在主对角线中,则不能组成二元组,若不在,则可以组成二元组,并且记录下来;第五步:找到符合条件的二元异或和之后,利用特定二元异或和对新增冗余盘进行编码;第六步:对新增冗余盘进行编码后的单盘恢复操作。本专利技术实现增加额外冗余编码和解码的过程详见附图说明。使用本专利技术能达到以下有益效果:1、针对原系统中的任意单个数据盘出错,能够减少系统恢复单盘所需的分片总数;2、针对原系统中的任意单个数据盘出错,能够破除原系统在单盘恢复过程中可能负载瓶颈,实现各个设备的负载均衡;3、通过使用二元异或和,尽可能地在获得性能近似最优的情况下,减少新本文档来自技高网
...
一种基于SSD的RAID6系统的单盘快速恢复方法器

【技术保护点】
一种基于SSD的RAID6系统的单盘快速恢复方法,基于SSD的使用RDP进行编码的RAID6系统,增加一块额外冗余盘,在保证可以容双盘出错的前提下,进一步减少单盘恢复所需的分块总数,其特征在于,增加一个固态存储设备来作为额外冗余盘,并在原有RDP编码的基础上为新增的冗余盘进行编码,以减少原系统中任意一个数据盘发生故障进行重构时所需的分块总数,具体步骤为:第一步,定义三个数据结构,分别是矩阵matrix存放磁盘中的数据,矩阵diagonal存放了磁盘中对角线数据的坐标,temp是矩阵主对角线中的元素的坐标;第二步,初始化矩阵matrix和矩阵diagonal;第三步:对矩阵matrix和矩阵diagonal进行赋值;第四步:通过执行findTwoTuples来寻找符合条件的二元异或和:第五步:找到符合条件的二元异或和之后,利用特定二元异或和对新增冗余盘进行编码;第六步:对新增冗余盘进行编码后的单盘恢复操作。

【技术特征摘要】
1.一种基于SSD的RAID6系统的单盘快速恢复方法,基于SSD的使用RDP进行编码的RAID6系统,增加一块额外冗余盘,在保证可以容双盘出错的前提下,进一步减少单盘恢复所需的分块总数,其特征在于,增加一个固态存储设备来作为额外冗余盘,并在原有RDP编码的基础上为新增的冗余盘进行编码,以减少原系统中任意一个数据盘发生故障进行重构时所需的分块总数,具体步骤为:第一步,定义三个数据结构,分别是矩阵matrix存放磁盘中的数据,矩阵diagonal存放了磁盘中对角线数据的坐标,temp是矩阵diagonal主对角线中的元素的坐标;第二步,初始化矩阵matrix和矩阵diagonal;第三步:对矩阵matrix和矩阵diagonal进行赋值;第四步:通过执行findTwoTuples来寻找符合条件的二元异或和:第五步:找到符合条件的二元异或和之后,利用特定二元异或和对新增冗余盘进行编码;第六步:对新增冗余盘进行编码后的...

【专利技术属性】
技术研发人员:邓明翥肖侬刘芳万洪浩陈志广杜溢墨
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

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

1