用于raid中改善重建的系统和方法

文档序号:6398688阅读:171来源:国知局
专利名称:用于raid中改善重建的系统和方法
技术领域
本发明一般地涉及在RAID (独立冗余磁盘阵列)领域中的重建。
背景技术
本发明一般地涉及RAID。RAID —种是将多个磁盘驱动器组件合并为逻辑单元的存储技术,一种虚拟化的形式,主要用于减少由磁盘故障导致的错误,特别是在网络中。以已知为数据分割的顺序方式将数据破碎成存储在数个磁盘上的块。经常地,奇偶校验块将形成一种检查错误并重构在磁盘驱动器之一的故障事件中的数据的装置,形成奇偶校验冗余。正确地配置,RAID产生数个优点。RAID的优点包括通过冗余的更高数据安全性(节省了 RAID O配置),容错,改善的数据访问(数据可用性),用于创建大量连续磁盘空间的提高的集成容量,和改善的性能。RAID成本包括更贵的硬件和专业的维修要求。存在许多类型的RAID,特别是如果一个包括混合(嵌套)RAID系统,然而,RAID等级0-6成功地定义了用于基于磁盘的存储系统的所有类型数据映射和保护方案。RAID的其他分类系统包括抗故障(防止由于驱动器故障造成数据丢失的系统),容错(防止由于任意单个或多个组件故障造成数据访问丢失的系统),和容灾(由两个或更多独立区域构成的系统,其中任何一个提高 到存储数据的访问)。一些普及的RAID等级包括RAID O, RAID 5和RAID 6。RAID O是没有奇偶校验或镜像、具有零冗余的数据块分段。其提供了改善的性能和附加的存储但未提供任何容错。在RAID O中,将块同时写入在相同扇区上的他们的各自驱动器,将并行从每一个驱动器读出所述数据的那些较小部分,增加了带宽。RAID O不实施错误检查,因此任意错误是无法纠正的。经常将RAID O用于混合RAID系统中以增加性能。RAID 5是具有分布式奇偶校验的数据块分段,具有与所述数据一起分布的奇偶校验,除了一个驱动器是目前使用的,具有被储备用于单个驱动器故障的事件中的一个驱动器。在单个驱动器故障的事件中,阵列不被破坏,任何其后读取的数据可从分布式奇偶校验处计算出来,使得为终端用户掩盖了驱动器故障。然而,单个驱动器故障导致整个阵列的性能下降,直到发生故障的驱动器已被更换以及相关的数据重建。RAID 6是具有双分布式奇偶校验的数据块分段,其提供了两个驱动器故障的容错。甚至达到两个故障的驱动器时,阵列继续运行。RAID 6的优势在于,他使更大的RAID组更可行,当较大容量的驱动器延长了从单个驱动器故障处重建和恢复的恢复所需时间时,这很重要。回拷是由另一成员对运行阵列成员磁盘的替换,通过将所述磁盘内容拷贝到替换磁盘上。回拷经常用于替换故障组件,在其发生故障并有损阵列或还原用于阵列的特定物理配置并不需要阵列减少来完成之前。存储在传统的基于主轴的硬盘驱动器的辅助存储器具有多个存储由电枢保持的磁头所读出的数据的旋转磁盘盘片。现代驱动器典型地具有数个磁头和盘片。对于完成电枢必须将磁头移到保持数据的盘片轨道中扇区的单个I/O操作,一种被称作为寻找的处理,其具有去完成的寻找时间,并等待所需扇区在磁头下旋转,使用其为了所述被称作为旋转延迟的等待所花费的时间。由固件,软件或其他硬件所导致的这些时间和任意延迟包括驱动器响应。IOPS (每秒输入/输出操作,明显的眼操作)是一种用于检测如硬盘驱动器(HDD)和存储区域网(SAN)的计算机存储装置的普遍性能测量。由存储装置制造商公布的IOPS数不保证现实世界的应用性能IOPS能够为应用所测量,如1meter (最初由Intel研发)。基于各种变量,包括读和写操作的平衡,顺序和随机访问方案的混合,工作线程的数量和队列深度,与数据块大小一起,与系统配置、存储驱动器、OS后台操作等其他因素一起,在任意系统配置中可能的特定数量IOPS将变化很大。当RAID阵列具有一个或多个硬盘驱动器发生故障时,他们必须被重建。组成重建的IO操作是重建10,而用于普通非重建操作的IO操作,如在RAID组中硬盘驱动器的正常操作,是主机10。在RAID系统中,严重影响了在主机IO条件下的重建性能。这发生是因为,重建操作需要在磁盘组中所有剩余磁盘的读出,每一个磁盘必须寻求服务重建操作。增加于此的是,每一个驱动器模型具有他们自己的优化他们IO队列的方法,经常地,这种方法是专用的,并对这些IO重新排序以最小化磁盘寻找。结果,这些重建IO被严重影响并承受高延迟,当他们通常是进行重新排序最多的那些IO时。这直接影响了重建性能,系统可能花费8-30天来重建仅仅ITB的数据。这样长的重建时间进一步暴露了 RAID组延长损坏主机IO性能的周期,并开放所述组于能够将整个RAID组离线、具有潜在数据丢失的二级或三级驱动器故障。所有RAID系统典型地具有许多由控制器管理和控制的IO队列,每一个驱动器也具有他们自己的IO队列。本发明通过后者涉及自身,在各个驱动器内的队列,可能为32或64命令深度。经常地,重建IO承受了长的延迟或响应时间,因为这些IO典型地不共享与在驱动器队列中的其他主机IO相同的地方或地区存在,具有被定义为在组合的磁盘上的扇区的共同区域或簇的地方,使得驱动器磁头不必须寻找非常远来就能从一个LBA(逻辑块地址)到下一个LBA,因而在重建的IO过程中有可能产生的不利影响。作为在将读出以重构数据的完整驱动器中存在·的重建操作,对于大部分重建操作来说,这些重建IO将不和主机IO共享地方。所有系统典型地控制重建IO和主机IO到驱动器的速度,但是一旦他们被移交给驱动器,驱动器接管,这里解释为,驱动器可能会扭曲由RAID控制器所计算的速度,导致重建IO的匮乏。可在一个或多个并行线程或过程的序列中重建驱动器,其为由RAID系统中固件所依赖和决定的实施方式,基于可用系统资源和磁盘组的IO大小的粒度,例如,正重建的虚拟组的数据块大小。采用新的启发式的持续服务主机IO操作的重建方法,本发明解决了导致延长重建时间的重建IO的高延迟的问题。

发明内容
相应地,本发明的一个方面是提供一种以确定性方式极大改善重建时间的方法,通过阻止重建IO的高延迟,当在主机IO条件下正重建RAID等级存储系统时,使得系统重建并同时正常或传统地操作,如在未重建一样。
本发明的另一方面是发出与主机IO条件下重建操作相关的10,使用队列头部SCSI标签。本发明的另一方面是控制重建速度使得主机IO匮乏不发生。一种启发性方法确保了重建速度被正确控制和持续调整以提供优化的重建速度,而确保了主机IO为每一个用户服务并没有任意IO匮乏发生。本发明的又一方面是故意将延迟引入重建队列,通过控制重建速度的RAID存储系统所使用的固件。可将延迟计算为磁盘磁头响应时间,规定时间重建,重建线程的数量,和顺序事件的时间线的启发性函数,其在每一个70秒的一个优选实施方案循环中。驱动器行为,包括工作量和主机IO地方的主机IO配置和重建IO是影响驱动器的重新排序算法并导致重建IO延迟的关键因素。这些是启发式算法的因素,通过测量重建的IO的平均延迟。本发明的另一方面是用于能够可选地出现在选项菜单中的用户选择或可配置重建速度,如“不影响”,“低影响”,“高影响”或“最大影响”,对于这些重建同主机IO相比将发生多快,和这些重建将如何影响主机IO操作。本发明的又一方面是一种不断重新校准本身以适应任何硬件的启发式重建。在一个优选的实施方案中,本发明的方法每70秒重复。因而,本发明是一种用于在主机IO条件下改善RAID重建的系统和方法,其极大改善了重建时间并阻止主机IO匮乏。为RAID —部分的驱动器中的队列被用于存储重建和主机IO请求,使用发到驱动器队列的头部的重建10。由延迟时间延迟在驱动器中的重建请求。这种延迟确保了不存在任何可导致用于RAID系统的主机IO匮乏的本发明的意外副作用。将延迟计算为来自多个变量的启发式函数,如磁盘磁头响应时间,规定时间重建,重建线程的数量,驱动器行为,重建IO配置,包括工作量和地方的主机IO配置,和顺序事件的时间线,其在每一个70秒的一个优选实施方案循环中。重建IO配置具有表现为多个选项的重建速度,如“不影响” ,“低影响”,“高影响”或“最大影响”,对于这些重建同主机IO相比将发生多快,和这些重建将如何影响主机IO操作。在重主机IO条件下的某些配置中,使用本发明的方法和设备的重建时间可改善达到10倍。在重主机IO条件下的某些配置中,使用本发明的方法和设备的重建时间可改善达到10倍。所有上述优势的总计,与此处所述发明公开和固有的众多其他优势一样,创建了相对于现有技术的改善。当结合附图考虑时,通过考虑下列具体说明,本发明的上述和许多其他特征和伴随优势将更为明显。


参照附图将对本发明的优选实施方案做出具体说明。此处公开内容是执行本发明的最佳当前已知模式的具体说明。这种说明不具有限制意义,而是仅仅用作描述本发明的一般原理的目的。当前具体说明的章节标题和整个结构仅仅为了方便而不打算限制本发明。图1是示出了本发明的一般整体流程的流程图。图2是重建到主机IO的用户可定义或可配置重建速度的描绘。
图3是示出了操作中本发明的优选实施方案的更具体流程图。应当理解,本领域技术人员,使用本发明的教导,可改变这些图中所示的实施方案而不背离此处发明的精神。在这些图中,在不同图中的具有相同编号的参考编号的元件指示了先前定义的等同元件的出现。
具体实施例方式本发明的方法和设备可以是执行此处列出功能的任意硬件或软件编程装置(如,ASIC,或如FPGA的可编程逻辑装置(PLD)),运行固件的硬件,或运行软件的硬件,使用在存储器中存在的软件。进一步地,此处所使用的术语“固件”是速写的并可被替换为,以及同步于硬件和/或软件的任意组合,如ASIC,PLD,控制器,处理器或计算机系统,包括存储了包含与装置组合的、用于操作任意计算机或软件可编程装置的指令的计算机程序的计算机可读媒体。当计算机系统执行本发明时,典型地,计算机系统具有一个或多个处理器,与执行存储在存储器中指令的处理器协作的主要和辅助存储器,如监视器、鼠标和键盘的输入/输出装置,和任意必要的专用硬件或固件。用于构建本发明的任意软件可能具有,以源代码或机器语言的,任意数量的类,函数,子程序,对象,变量,模板,模块,代码行,代码部分和结构洪同地和一般地,由此处流程图所描绘的一样,“处理步骤”,“步骤”,“处理”,“块”,“块步骤”,“应用”,“指令”,“程序指令”,或“模块”)以此处所述和教导的一样执行在连续阶段中的发明,并也可能是独立的软件应用程序,或可被其他软件应用程序所内部使用或调用。根据过程,步骤,逻辑块,功能模块,和其他基于数据位,数据流,或计算机,处理器,控制器,和/或存储器内的波形上的操作的其他符号表示,来展现具体说明的一些部分。此处所述的过程,步骤,方框,逻辑块,功能块,操作等,一般被认为是包括物理量的物理操作,其可采取电,磁,光学,或任何其他的能够被存储,转换,结合,比较,和在计算机,数据处理系统,或逻辑电路内其他方式操纵的任意其他信号的形式。已被证明有时方便的是,主要是为了共同使用的原因,将这些信号称作为比特,波,波形,流,值,元件,符号,字符,术语,数字等。如此处进一步所讨论的一样,关于本发明,在传统意义的重建受制于如上所讨论的、因为驱动器队列重新 排序的高延迟。此处所教导的解决方案是采用SCSI IO标签Q的头部来发布重建10,其将IO放在驱动器队列的头部,并强制他执行这个10。这显著地缩减了重建延迟,并因此显著地改善了重建性能。必须使用SCSI IO标签队列头部来发布10,优选地在队列的前部而不是其他位置。当这个解决方案解决了高延迟的问题时,其导致了一个次要问题。首先,如果人们在队列头部使用重建请求过分积极,则重建运行非常快,但是系统的其他部分是匮乏于成为死点处。因此,为了解决这个第一个问题,人们如此处教导的一样将延迟引入到队列。然而,延迟创建了其本身的问题。如果人们使用固定的,静态延迟,人们无法获得在所有条件下的最佳结果,并使用改变条件和结果,如重建仍旧花费一天或两天一样。因此,延迟必须以优选方式计算,如此处所教导的一样,而不是依赖用于延迟的固定,静态值。优选延迟基于一种启发式方法,如此处所教导的一样,其覆盖了许多变量并在许多条件下起作用。RAID的用户以他们的用于主机IO影响的舒服等级简单拨号,如此处教导的系统照顾其他部分。延迟不提高本身的性能,相反,其必须确保系统具有最小可接受性能,以及重建仍旧如此处所教导一样运行足够快。没有此处所教导的延迟,重建将运行非常快,但是系统性能将是非常糟糕,如以下进一步解释的一样。将注意力转向图1,示出了显示用于使用本发明的RAID系统的本发明的一般整体流程的流程图,当在主机IO条件下正重建RAID等级系统时,使得以启发式方式重建系统。一般地,体现本发明的程序10的流程具有三个步骤。本发明可能位于固件,硬件,软件或其任意组合(之后简称为“固件”)。在第一步骤12中,在标签为“测量重建IO响应”的方框中,程序计算平均重建IO响应时间,为了以解决方案为基础。例如,程序能够读出在正常重建或“传统”重建期间读出数据的硬盘驱动器的磁头的响应时间,并以毫秒(ms)计算平均响应时间,“传统”重建即使用不涉及本发明的传统技术的重建。因此,输入14读出“计算平均重建读出响应”。平均重建响应时间有效测量在任意给定时间点处的主机IO工作量,地方,和驱动器的队列管理效率。如此处所述,如果平均重建响应时间是在某些经验确定的阈值之下,现有技术的传统重建机制对于重建非常快,否则如果超出阈值,重建命令到达用于立即处理的RAID驱动器队列的头部(前部),达到更好的重建性能。在第二步骤16中,在标签为“校准优化延迟T ms以增加到队列的头部”的方框中,程序以启发式方式按毫秒(ms)计算优化延迟T,其中用于延迟到驱动器队列的重建IO的发布。这个队列头部(队列的头部)队列是由驱动器供应商所实施的个人驱动器的固件中的个人驱动器的队列。在这个步骤期间,RAID系统以非传统方式实施重建,如本发明所教导的一样,主要涉及队列。队列告诉RAID系统哪一个IO请求用于处理和采用哪种顺序(采用队列形式),如重建IO后的主机10,或主机IO后的重建10,或主机IO后的两个重建IO等。标签队列的头部的重建IO告诉驱动器立即处理重建10,在其回到处理/重新排序驱动器队列之前。延迟T是其中在将重建IO发布给驱动器队列之前做出的延迟(毫秒)。在这个延迟或暂停期间,没有任何重建IO被发布到队列的头部或前部。这个暂停允许驱动器执行队列,并阻止队列的头部的重建IO有效占用驱动器而匮乏队列的剩余部分。图1的步骤16中 的因素参加需要多少优化延迟时间的计算,或延迟校准,用于延迟重建IO命令或重建IO于被发布到驱动器队列的前部,包括数个因素。第一个因素包括在用于涉及队列的队列头部重建期间读出数据的硬盘驱动器头部的平均重建读出响应时间。这在读出“计算平均Q头部重建读出响应时间”的输入18中被指示。参加步骤16中延迟校准的第二个因素是分配用于从优选用户选择或可配置重建IO配置重建所分配的时间的计算,在读出“计算重建IO配置”的输入20中被指示。重建配置具有确定即将处理的重建多么积极的多个重建速度。重建配置也可以被看作为与总时间所比较的重建所分配的时间。在如此处进一步教导的一个实施方案中,用户能够从一系列菜单选择处选择配置,根据最小重建速度,如低影响重建(“低”),其中未给予重建IO过多优先权,主机IO请求具有极大优先权,或用户能够选择高影响重建(“高”),其中将相等的优先权给予重建IO请求,或最大影响重建(“最大”),其中给予重建IO比主机IO更大或更高的优先权。也可自动做出这种选择。然而,这样的分级是依赖的实施方式,任意数量的步骤分级或甚至连续平滑函数,从零或最小值到最大值,在重建配置中可使用。进一步地,能够自动确定重建配置速度和分配时间而不需用户输入,或自动并结合用户输入。例如,可在使用历史数据的查找表处自动发现重建配置速度和分配时间,如在专家系统中,用于基于从众多类似存储系统和/或用于特定硬盘驱动器制造商所采集的历史数据确定配置。参与确定步骤16中延迟校准期间的延迟的第三个因数计算重建线程的数量,其是依赖于任意特定硬盘驱动器制造商的实施方式,在图1的读为“计算重建线程的数量”的输入22中被指出。能够在由RAID系统的固件所决定的一个或多个数据线程的系列中重建驱动器,基于可用系统资源和磁盘组的IO大小的粒度,例如,如正被重建的虚拟组的数据块大小一样。例如,对于I兆字节(Meg)数据块大小的虚拟驱动器,一次可发布仅仅一个线程,如到磁盘的每一个IO需要使用的高速缓存一样。但是64K数据块大小的虚拟驱动器可能具有八个运行线程,如八个这样的IO将仍旧仅仅使用每一个磁盘的512K高速缓存一样。所有这些本身是已知的,是一个依赖变量的实施方式。参加步骤16中延迟校准的第四个因素是用于允许重建的时间长度的一个或多个时间常量的使用,其在一个实施方案中是用于IO响应的1000ms,但是一般地,可以是基于特定实施方式的任意数量。进一步地,实践本发明的整个方法的周期是另一时间常量,在一个实施方案中是70秒长度,如这里进一步说明的一样,但是一般地,可以是任意长度的周期,而不失一般性。第三个和最后步骤24是标签为“将重建IO发布到队列头部每一个延迟T ms”的方框,其中本发明的程序实际上实施已经在先前步骤计算出的延迟,通过具有将重建IO命令发布到队列前部(“队列头部”)的本发明延迟的固件,使用持续T ms的延迟,如由第二步骤,步骤16所确定的这样的延迟一样。在这个延迟期间,不存在被发送到队列的任意重建10。使用图1的技术,在使用本发明的RAID系统中的重建期间的性能上有了显著提高。为了演示有效性,在下面的表A和表B中示出了仿真。在一些例子中,已被示出了 10倍性能的提高。在表A中依照本发明进行重建,而表B示出了在传统重建方案下的重建。

权利要求
1.一种具有在主机IO环境下用于改善RAID重建的多个驱动器的存储系统,包括: 固件,用于测量在所述存储系统中的一驱动器的重建IO响应; 用于所述驱动器的队列,包括重建IO和主机IO请求;和 固件,用于延迟重建IO到所述队列的发布。
2.如权利要求1所述的发明,进一步包括: 固件,用于校准延迟。
3.如权利要求2所述的存储系统,进一步包括: 根据来自队列的平均重建响应时间的参数、相比总时间分配给重建的时间以及重建线程的数量,所述固件校准延迟。
4.如权利要求2所述的存储系统,进一步包括: 具有指出固件即将重建多快的重建速度的固件,所述速度具有最小值和最大值,具有在最小值对比最大值处的重建IO上更多优先的主机10。
5.如权利要求4所述的存储系统,其中: 在可配置的固件中的重建速度,允许所述固件具有从最小值到最大值范围内数个预定值之间改变的重建速度。
6.如权利要求2所述的存储系统,其中: 根据从由读出响应时间、分配给重建的时间、用户选择重建IO配置,可配置重建IO配置和重建线程数量构成的组中选 择的参数,校准延迟固件。
7.如权利要求6所述的存储系统,进一步包括: 以周期方式将重建IO发布给队列头部的固件,具有包括周期的多个阶段,包括第一阶段,进行到重建,通过在队列中以传统方式发布重建10,而没有增加的延迟的引入,第二阶段,当重建速度和响应时间的至少一个小于重建速度和响应时间的预定值时达到,具有发生在第二阶段期间的延迟T的计算,和第三阶段,用于每T ms在队列前部将重建IO发布到所述队列。
8.如权利要求7所述的存储系统,其中: 第二阶段根据下列方程计算延迟T: T=C/ nR - resp 其中:nR = rIOPS / num rebuild threadsrIOPS = rt / resp其中: “num rebuild threads” =在RAID系统中重建线程的数量, rt =比较总时间(C)为重建分配的时间, resp =在队列头部处的平均队列头部重建读出响应时间,和, C =时间常量,总时间。
9.如权利要求7所述的存储系统,其中: 固件操作在从由 RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 6、包括 RAID 0 的混合RAID等级I到6构成的组中选择的存储系统中,存储系统具有回拷操作,和使用擦除代码的存储。
10.一种用于在存储系统中多个驱动器的RAID重建的方法,包括以下步骤: 测量在主机IO环境下运行重建的RAID系统中的重建IO响应; 通过延迟重建IO到RAID的驱动器队列头部的发布,计算延迟;和 将重建IO发布到队列头部并通过所述延迟来延迟重建IO的执行。
11.如权利要求10所述的方法,进一步包括步骤: 根据从由读出响应时间、分配给重建的时间、用户选择重建IO配置、可配置重建IO配置和重建线程数量构成的组中选择的参数,计算所述延迟。
12.如权利要求11所述的方法,进一步包括步骤: 选择从最小重建速度到最大重建速度为重建分配的时间。
13.如权利要求12所述的方法,进一步包括步骤: 从可配置重建配置处选择为重建分配的时间,在重建配置中为重建分配的时间的选择包括从最小重建速度到最大重建速度范围内的多个重建速度。
14.如权利要求13所述的方法,其中: 所述周期方式的步骤包括第一阶段,其进行到重建所述RAID存储系统,通过在队列中以传统方式发布重建10,而没有增加的延迟的引入,第二阶段,当重建速度和响应时间的至少一个大于重建速度和响应时间的预定值时达到,具有发生在第二阶段期间的ms的延迟T的计算,和第三阶段,用于每T ms将重建IO发布到所述队列。`
15.如权利要求10所述的方法,进一步包括步骤: 根据包括由读出响应时间、为重建分配的时间、用户选择重建IO配置、可配置重建IO配置和重建线程数量构成的参数,计算所述延迟。
16.如权利要求15所述的方法,其中: 测量重建IO响应的步骤,计算用于所述队列的延迟,重建IO发布到所述队列的发布在所述RAID存储系统中以周期方式发生。
17.如权利要求16所述的方法,其中: 所述周期方式的步骤包括第一阶段,其进行到重建所述RAID存储系统,通过在队列中以传统方式发布重建10,而没有将所述重建IO发布给驱动器队列的头部,第二阶段,当重建速度和响应时间的至少一个大于重建速度和响应时间的预定值时达到,具有发生在第二阶段期间的ms的延迟T的计算,和第三阶段,用于每T ms将重建IO发布到驱动器队列的头部。
18.如权利要求17所述的方法,其中: 所述方法用于从由 RAID K RAID 2、RAID 3、RAID 4、RAID 5、RAID 6,包括 RAID 0 的混合RAID等级I到6构成的组中选择的存储系统中,存储系统具有回拷操作,和使用擦除代码的存储,存储系统采用将IO发布给物理驱动器,存储系统涉及媒体扫描,存储系统涉及一致性检查,存储系统涉及初始化,以及存储系统涉及格式化。
19.一种在主机IO环境下用于RAID重建的RAID重建设备,包括: 用于测量在RAID存储系统中的重建IO响应的装置; 用于排队所述RAID存储系统的存储重建IO和主机IO请求的装置; 用于计算延迟以延迟所述重建IO请求到包括毫秒的延迟时间的所述队列头部的发布的装置;用于将重建IO发布到所述队列头部并通过所述延迟时间延迟重建IO的执行的装置; 用于设置所述RAID系统的重建速度的装置; 用于测量重建IO响应的所述RAID存储系统装置,用于计算延迟的装置和用于以周期方式发布重建IO操作的装置,其中, 在第一时间周期测量重建IO响应的所述装置计算当以传统方式运行时的RAID系统的平均重建响应时间,直到RAID系统的响应速度和RAID系统的响应时间的任一个上升到预定值的这样的时间; 在第二时间周期计算延迟的所述装置计算优化延迟,通过计算平均重建响应时间,当所述RAID系统正操作于增加到所述驱动器队列头部的所述延迟指令,用于设置重建速度的所述装置的重建速度,和在所述RAID系统中线程的数量时;和, 用于发布重建IO的所述装置延迟在第三时间周期的重建IO请求到所述驱动器队列头部的延迟,通过在所述第二时间中计算的所述优化延迟。
20.如权利要求19所述的设备,其中: 根据下列方程在第二时间周期计算延迟的所述装置计算优化延迟T: T = C / nR - resp 其中:nR = rIOPS / num rebuild threadsrIOPS = rt / resp其中: “num rebuild threads” =在RAID系统中重建线程的数量, rt =比较总时间(C)为重建分配的时间, resp =在队列头部处的平均队列头部重建读出响应时间,和, C =时间常量,总时间。
全文摘要
本发明涉及一种用于RAID中改善重建的系统和方法,将在属于RAID一部分的驱动器中的队列用于存储重建和主机IO请求,采用发布给驱动器队列头部的重建IO。延迟时间延迟了在驱动器中的重建请求,这种延迟确保了可能导致RAID系统的主机IO匮乏的本发明的意想不到的副作用。根据多个变量以启发式函数计算延迟,如磁盘磁头响应时间,分配用于重建的时间,重建线程的数量,驱动器行为,重建IO配置,包括工作量和地方的主机IO配置,和顺序事件的时间线。本发明有益效果极大地改善了重建时间并阻止了主机IO的匮乏。在重主机IO环境下的某些配置中,利用本发明的方法和设备的重建时间能够被达到10个因素来改善。
文档编号G06F3/06GK103246480SQ20131003113
公开日2013年8月14日 申请日期2013年1月26日 优先权日2012年2月8日
发明者雷门·奈尔, 凯·M·勒 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1