CN103246480A - 用于raid中改善重建的系统和方法 - Google Patents

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

Info

Publication number
CN103246480A
CN103246480A CN2013100311330A CN201310031133A CN103246480A CN 103246480 A CN103246480 A CN 103246480A CN 2013100311330 A CN2013100311330 A CN 2013100311330A CN 201310031133 A CN201310031133 A CN 201310031133A CN 103246480 A CN103246480 A CN 103246480A
Authority
CN
China
Prior art keywords
reconstruction
rebuild
raid
time
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100311330A
Other languages
English (en)
Other versions
CN103246480B (zh
Inventor
雷门·奈尔
凯·M·勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Infineon Technologies North America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN103246480A publication Critical patent/CN103246480A/zh
Application granted granted Critical
Publication of CN103246480B publication Critical patent/CN103246480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种用于RAID中改善重建的系统和方法,将在属于RAID一部分的驱动器中的队列用于存储重建和主机IO请求,采用发布给驱动器队列头部的重建IO。延迟时间延迟了在驱动器中的重建请求,这种延迟确保了可能导致RAID系统的主机IO匮乏的本发明的意想不到的副作用。根据多个变量以启发式函数计算延迟,如磁盘磁头响应时间,分配用于重建的时间,重建线程的数量,驱动器行为,重建IO配置,包括工作量和地方的主机IO配置,和顺序事件的时间线。本发明有益效果:极大地改善了重建时间并阻止了主机IO的匮乏。在重主机IO环境下的某些配置中,利用本发明的方法和设备的重建时间能够被达到10个因素来改善。

Description

用于RAID中改善重建的系统和方法
技术领域
本发明一般地涉及在RAID(独立冗余磁盘阵列)领域中的重建。
背景技术
本发明一般地涉及RAID。RAID一种是将多个磁盘驱动器组件合并为逻辑单元的存储技术,一种虚拟化的形式,主要用于减少由磁盘故障导致的错误,特别是在网络中。以已知为数据分割的顺序方式将数据破碎成存储在数个磁盘上的块。经常地,奇偶校验块将形成一种检查错误并重构在磁盘驱动器之一的故障事件中的数据的装置,形成奇偶校验冗余。
正确地配置,RAID产生数个优点。RAID的优点包括通过冗余的更高数据安全性(节省了RAID 0配置),容错,改善的数据访问(数据可用性),用于创建大量连续磁盘空间的提高的集成容量,和改善的性能。RAID成本包括更贵的硬件和专业的维修要求。
存在许多类型的RAID,特别是如果一个包括混合(嵌套)RAID系统,然而,RAID等级0-6成功地定义了用于基于磁盘的存储系统的所有类型数据映射和保护方案。RAID的其他分类系统包括抗故障(防止由于驱动器故障造成数据丢失的系统),容错(防止由于任意单个或多个组件故障造成数据访问丢失的系统),和容灾(由两个或更多独立区域构成的系统,其中任何一个提高到存储数据的访问)。
一些普及的RAID等级包括RAID 0, RAID 5和RAID 6。RAID 0是没有奇偶校验或镜像、具有零冗余的数据块分段。其提供了改善的性能和附加的存储但未提供任何容错。在RAID 0中,将块同时写入在相同扇区上的他们的各自驱动器,将并行从每一个驱动器读出所述数据的那些较小部分,增加了带宽。RAID 0不实施错误检查,因此任意错误是无法纠正的。经常将RAID 0用于混合RAID 系统中以增加性能。RAID 5是具有分布式奇偶校验的数据块分段,具有与所述数据一起分布的奇偶校验,除了一个驱动器是目前使用的,具有被储备用于单个驱动器故障的事件中的一个驱动器。在单个驱动器故障的事件中,阵列不被破坏,任何其后读取的数据可从分布式奇偶校验处计算出来,使得为终端用户掩盖了驱动器故障。然而,单个驱动器故障导致整个阵列的性能下降,直到发生故障的驱动器已被更换以及相关的数据重建。RAID 6是具有双分布式奇偶校验的数据块分段,其提供了两个驱动器故障的容错。甚至达到两个故障的驱动器时,阵列继续运行。RAID 6的优势在于,他使更大的RAID组更可行,当较大容量的驱动器延长了从单个驱动器故障处重建和恢复的恢复所需时间时,这很重要。
回拷是由另一成员对运行阵列成员磁盘的替换,通过将所述磁盘内容拷贝到替换磁盘上。回拷经常用于替换故障组件,在其发生故障并有损阵列或还原用于阵列的特定物理配置并不需要阵列减少来完成之前。
存储在传统的基于主轴的硬盘驱动器的辅助存储器具有多个存储由电枢保持的磁头所读出的数据的旋转磁盘盘片。现代驱动器典型地具有数个磁头和盘片。对于完成电枢必须将磁头移到保持数据的盘片轨道中扇区的单个I/O操作,一种被称作为寻找的处理,其具有去完成的寻找时间,并等待所需扇区在磁头下旋转,使用其为了所述被称作为旋转延迟的等待所花费的时间。由固件,软件或其他硬件所导致的这些时间和任意延迟包括驱动器响应。
IOPS(每秒输入/输出操作,明显的眼操作)是一种用于检测如硬盘驱动器(HDD)和存储区域网(SAN)的计算机存储装置的普遍性能测量。由存储装置制造商公布的IOPS数不保证现实世界的应用性能IOPS能够为应用所测量,如lometer(最初由Intel研发)。基于各种变量,包括读和写操作的平衡,顺序和随机访问方案的混合,工作线程的数量和队列深度,与数据块大小一起,与系统配置、存储驱动器、OS后台操作等其他因素一起,在任意系统配置中可能的特定数量IOPS将变化很大。
当RAID阵列具有一个或多个硬盘驱动器发生故障时,他们必须被重建。组成重建的IO操作是重建IO,而用于普通非重建操作的IO操作,如在RAID组中硬盘驱动器的正常操作,是主机IO。在RAID系统中,严重影响了在主机IO条件下的重建性能。这发生是因为,重建操作需要在磁盘组中所有剩余磁盘的读出,每一个磁盘必须寻求服务重建操作。增加于此的是,每一个驱动器模型具有他们自己的优化他们IO队列的方法,经常地,这种方法是专用的,并对这些IO重新排序以最小化磁盘寻找。结果,这些重建IO被严重影响并承受高延迟,当他们通常是进行重新排序最多的那些IO时。这直接影响了重建性能,系统可能花费8-30天来重建仅仅1TB的数据。这样长的重建时间进一步暴露了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条件下重建操作相关的IO,使用队列头部SCSI标签。
本发明的另一方面是控制重建速度使得主机IO匮乏不发生。一种启发性方法确保了重建速度被正确控制和持续调整以提供优化的重建速度,而确保了主机IO为每一个用户服务并没有任意IO匮乏发生。
本发明的又一方面是故意将延迟引入重建队列,通过控制重建速度的RAID存储系统所使用的固件。可将延迟计算为磁盘磁头响应时间,规定时间重建,重建线程的数量,和顺序事件的时间线的启发性函数,其在每一个70秒的一个优选实施方案循环中。驱动器行为,包括工作量和主机IO地方的主机IO配置和重建IO是影响驱动器的重新排序算法并导致重建IO延迟的关键因素。这些是启发式算法的因素,通过测量重建的IO的平均延迟。
本发明的另一方面是用于能够可选地出现在选项菜单中的用户选择或可配置重建速度,如“不影响”,“低影响”,“高影响”或“最大影响”,对于这些重建同主机IO相比将发生多快,和这些重建将如何影响主机IO操作。
本发明的又一方面是一种不断重新校准本身以适应任何硬件的启发式重建。在一个优选的实施方案中,本发明的方法每70秒重复。
因而,本发明是一种用于在主机IO条件下改善RAID重建的系统和方法,其极大改善了重建时间并阻止主机IO匮乏。为RAID一部分的驱动器中的队列被用于存储重建和主机IO请求,使用发到驱动器队列的头部的重建IO。由延迟时间延迟在驱动器中的重建请求。这种延迟确保了不存在任何可导致用于RAID系统的主机IO匮乏的本发明的意外副作用。将延迟计算为来自多个变量的启发式函数,如磁盘磁头响应时间,规定时间重建,重建线程的数量,驱动器行为,重建IO配置,包括工作量和地方的主机IO配置,和顺序事件的时间线,其在每一个70秒的一个优选实施方案循环中。重建IO配置具有表现为多个选项的重建速度,如“不影响”,“低影响”,“高影响”或“最大影响”,对于这些重建同主机IO相比将发生多快,和这些重建将如何影响主机IO操作。在重主机IO条件下的某些配置中,使用本发明的方法和设备的重建时间可改善达到10倍。
在重主机IO条件下的某些配置中,使用本发明的方法和设备的重建时间可改善达到10倍。
所有上述优势的总计,与此处所述发明公开和固有的众多其他优势一样,创建了相对于现有技术的改善。
当结合附图考虑时,通过考虑下列具体说明,本发明的上述和许多其他特征和伴随优势将更为明显。
附图说明
参照附图将对本发明的优选实施方案做出具体说明。此处公开内容是执行本发明的最佳当前已知模式的具体说明。这种说明不具有限制意义,而是仅仅用作描述本发明的一般原理的目的。当前具体说明的章节标题和整个结构仅仅为了方便而不打算限制本发明。
图1是示出了本发明的一般整体流程的流程图。
图2是重建到主机IO的用户可定义或可配置重建速度的描绘。
图3是示出了操作中本发明的优选实施方案的更具体流程图。
应当理解,本领域技术人员,使用本发明的教导,可改变这些图中所示的实施方案而不背离此处发明的精神。在这些图中,在不同图中的具有相同编号的参考编号的元件指示了先前定义的等同元件的出现。
具体实施方式
本发明的方法和设备可以是执行此处列出功能的任意硬件或软件编程装置(如,ASIC,或如FPGA的可编程逻辑装置(PLD)),运行固件的硬件,或运行软件的硬件,使用在存储器中存在的软件。进一步地,此处所使用的术语“固件”是速写的并可被替换为,以及同步于硬件和/或软件的任意组合,如ASIC,PLD,控制器,处理器或计算机系统,包括存储了包含与装置组合的、用于操作任意计算机或软件可编程装置的指令的计算机程序的计算机可读媒体。当计算机系统执行本发明时,典型地,计算机系统具有一个或多个处理器,与执行存储在存储器中指令的处理器协作的主要和辅助存储器,如监视器、鼠标和键盘的输入/输出装置,和任意必要的专用硬件或固件。用于构建本发明的任意软件可能具有,以源代码或机器语言的,任意数量的类,函数,子程序,对象,变量,模板,模块,代码行,代码部分和结构(共同地和一般地,由此处流程图所描绘的一样,“处理步骤”,“步骤”,“处理”,“块”,“块步骤”,“应用”,“指令”,“程序指令”,或“模块”)以此处所述和教导的一样执行在连续阶段中的发明,并也可能是独立的软件应用程序,或可被其他软件应用程序所内部使用或调用。
根据过程,步骤,逻辑块,功能模块,和其他基于数据位,数据流,或计算机,处理器,控制器,和/或存储器内的波形上的操作的其他符号表示,来展现具体说明的一些部分。此处所述的过程,步骤,方框,逻辑块,功能块,操作等,一般被认为是包括物理量的物理操作,其可采取电,磁,光学,或任何其他的能够被存储,转换,结合,比较,和在计算机,数据处理系统,或逻辑电路内其他方式操纵的任意其他信号的形式。已被证明有时方便的是,主要是为了共同使用的原因,将这些信号称作为比特,波,波形,流,值,元件,符号,字符,术语,数字等。
如此处进一步所讨论的一样,关于本发明,在传统意义的重建受制于如上所讨论的、因为驱动器队列重新排序的高延迟。此处所教导的解决方案是采用SCSI IO标签Q的头部来发布重建IO,其将IO放在驱动器队列的头部,并强制他执行这个IO。这显著地缩减了重建延迟,并因此显著地改善了重建性能。必须使用SCSI IO标签队列头部来发布IO,优选地在队列的前部而不是其他位置。当这个解决方案解决了高延迟的问题时,其导致了一个次要问题。首先,如果人们在队列头部使用重建请求过分积极,则重建运行非常快,但是系统的其他部分是匮乏于成为死点处。因此,为了解决这个第一个问题,人们如此处教导的一样将延迟引入到队列。然而,延迟创建了其本身的问题。如果人们使用固定的,静态延迟,人们无法获得在所有条件下的最佳结果,并使用改变条件和结果,如重建仍旧花费一天或两天一样。因此,延迟必须以优选方式计算,如此处所教导的一样,而不是依赖用于延迟的固定,静态值。优选延迟基于一种启发式方法,如此处所教导的一样,其覆盖了许多变量并在许多条件下起作用。RAID的用户以他们的用于主机IO影响的舒服等级简单拨号,如此处教导的系统照顾其他部分。延迟不提高本身的性能,相反,其必须确保系统具有最小可接受性能,以及重建仍旧如此处所教导一样运行足够快。没有此处所教导的延迟,重建将运行非常快,但是系统性能将是非常糟糕,如以下进一步解释的一样。
将注意力转向图1,示出了显示用于使用本发明的RAID系统的本发明的一般整体流程的流程图,当在主机IO条件下正重建RAID等级系统时,使得以启发式方式重建系统。一般地,体现本发明的程序10的流程具有三个步骤。本发明可能位于固件,硬件,软件或其任意组合(之后简称为“固件”)。
在第一步骤12中,在标签为“测量重建IO响应”的方框中,程序计算平均重建IO响应时间,为了以解决方案为基础。例如,程序能够读出在正常重建或“传统”重建期间读出数据的硬盘驱动器的磁头的响应时间,并以毫秒(ms)计算平均响应时间,“传统”重建即使用不涉及本发明的传统技术的重建。因此,输入14读出“计算平均重建读出响应”。平均重建响应时间有效测量在任意给定时间点处的主机IO工作量,地方,和驱动器的队列管理效率。如此处所述,如果平均重建响应时间是在某些经验确定的阈值之下,现有技术的传统重建机制对于重建非常快,否则如果超出阈值,重建命令到达用于立即处理的RAID驱动器队列的头部(前部),达到更好的重建性能。
在第二步骤16中,在标签为“校准优化延迟T ms以增加到队列的头部”的方框中,程序以启发式方式按毫秒(ms)计算优化延迟T,其中用于延迟到驱动器队列的重建IO的发布。这个队列头部(队列的头部)队列是由驱动器供应商所实施的个人驱动器的固件中的个人驱动器的队列。在这个步骤期间,RAID系统以非传统方式实施重建,如本发明所教导的一样,主要涉及队列。队列告诉RAID系统哪一个IO请求用于处理和采用哪种顺序(采用队列形式),如重建IO后的主机IO,或主机IO后的重建IO,或主机IO后的两个重建IO等。标签队列的头部的重建IO告诉驱动器立即处理重建IO,在其回到处理/重新排序驱动器队列之前。延迟T是其中在将重建IO发布给驱动器队列之前做出的延迟(毫秒)。在这个延迟或暂停期间,没有任何重建IO被发布到队列的头部或前部。这个暂停允许驱动器执行队列,并阻止队列的头部的重建IO有效占用驱动器而匮乏队列的剩余部分。
图1的步骤16中的因素参加需要多少优化延迟时间的计算,或延迟校准,用于延迟重建IO命令或重建IO于被发布到驱动器队列的前部,包括数个因素。
第一个因素包括在用于涉及队列的队列头部重建期间读出数据的硬盘驱动器头部的平均重建读出响应时间。这在读出“计算平均Q头部重建读出响应时间”的输入18中被指示。
参加步骤16中延迟校准的第二个因素是分配用于从优选用户选择或可配置重建IO配置重建所分配的时间的计算,在读出“计算重建IO配置”的输入20中被指示。重建配置具有确定即将处理的重建多么积极的多个重建速度。重建配置也可以被看作为与总时间所比较的重建所分配的时间。在如此处进一步教导的一个实施方案中,用户能够从一系列菜单选择处选择配置,根据最小重建速度,如低影响重建(“低”),其中未给予重建IO过多优先权,主机IO请求具有极大优先权,或用户能够选择高影响重建(“高”),其中将相等的优先权给予重建IO请求,或最大影响重建(“最大”),其中给予重建IO比主机IO更大或更高的优先权。也可自动做出这种选择。然而,这样的分级是依赖的实施方式,任意数量的步骤分级或甚至连续平滑函数,从零或最小值到最大值,在重建配置中可使用。进一步地,能够自动确定重建配置速度和分配时间而不需用户输入,或自动并结合用户输入。例如,可在使用历史数据的查找表处自动发现重建配置速度和分配时间,如在专家系统中,用于基于从众多类似存储系统和/或用于特定硬盘驱动器制造商所采集的历史数据确定配置。
参与确定步骤16中延迟校准期间的延迟的第三个因数计算重建线程的数量,其是依赖于任意特定硬盘驱动器制造商的实施方式,在图1的读为“计算重建线程的数量”的输入22中被指出。能够在由RAID系统的固件所决定的一个或多个数据线程的系列中重建驱动器,基于可用系统资源和磁盘组的IO大小的粒度,例如,如正被重建的虚拟组的数据块大小一样。例如,对于1兆字节(Meg)数据块大小的虚拟驱动器,一次可发布仅仅一个线程,如到磁盘的每一个IO需要使用的高速缓存一样。但是64K数据块大小的虚拟驱动器可能具有八个运行线程,如八个这样的IO将仍旧仅仅使用每一个磁盘的512K高速缓存一样。所有这些本身是已知的,是一个依赖变量的实施方式。
参加步骤16中延迟校准的第四个因素是用于允许重建的时间长度的一个或多个时间常量的使用,其在一个实施方案中是用于IO响应的1000ms,但是一般地,可以是基于特定实施方式的任意数量。进一步地,实践本发明的整个方法的周期是另一时间常量,在一个实施方案中是70秒长度,如这里进一步说明的一样,但是一般地,可以是任意长度的周期,而不失一般性。
第三个和最后步骤24是标签为“将重建IO发布到队列头部每一个延迟T ms”的方框,其中本发明的程序实际上实施已经在先前步骤计算出的延迟,通过具有将重建IO命令发布到队列前部(“队列头部”)的本发明延迟的固件,使用持续T ms的延迟,如由第二步骤,步骤16所确定的这样的延迟一样。在这个延迟期间,不存在被发送到队列的任意重建IO。
使用图1的技术,在使用本发明的RAID系统中的重建期间的性能上有了显著提高。为了演示有效性,在下面的表A和表B中示出了仿真。在一些例子中,已被示出了10倍性能的提高。在表A中依照本发明进行重建,而表B示出了在传统重建方案下的重建。
 
Figure 956199DEST_PATH_IMAGE002
这些表的关键处如下:第一列中的“编号”指的是在所考虑的情况号,每一个表中示出了七个例子。在第二列中,“主机IO”,“近”作为指的是接近主机区域的重建区域的后缀。其已经发现作为承受比“远”区域更高的时间延迟的重建区域,如在第二列中后缀所指示的一样,其是更进一步远离主机区域的重建区域,在重的主机IO工作量下,表B的第六行中。当许多制造商具有专门方法优化依赖固件的IO队列时,无法明确给出用于此近和远现象的通用理由,但是这已经被观察到。在第二列中,“主机IO”是响应于IO请求的指定主机IO,采用下列指定:涉及队列深度的QD,在主机IO请求期间出现了多少主机IO的测量。“1QD”指定了一个非常轻的主机IO驱动器重新排序方案,其并不真正导致对整个系统的任意影响。使用仅仅1QD,驱动器IO队列仅仅具有一个主机IO,能够被许多重建IO填入。通过比较,16QD更多的是典型的主机IO工作量,使用在给定时间显著的16 IO。与1QD相反极端是256QD,其具有在给时间的显著的许多主机IO和重的工作量;256 QD是典型的,但是导致了更差的重建时间。
在第三列中,“IOPS”是每秒输入/输出重建操作(IOPS)。在第四列中,“Avg Resp”是用于重建IO的以毫秒(ms)的驱动器的平均响应。在最后一列中,“MB/s”是用于重建IO的每秒百万字节(MB/s)的数据传输速度吞吐量。
如根据将表A与表B比较能够看出的一样,本发明的使用获得了与传统重建相比较的显著提高性能。例如,在行号“编号5”中,对于16QD远的中度负载,传统重建的响应时间高,为80ms。然而,使用本发明的技术,在相同行中,响应时间降低了79%,从80ms到17ms,而IPOS和吞吐量增加23%,分别从106到130和从6.62到8.12MB/s。
类似地,对于重负载,如行编号“编号7”中所示的256QD远,当使用本发明的技术,与传统重建相比,性能提高了,IOPS从90到123,37%的增加,吞吐量从5.62到7.68MB/s增加,而平均响应从97降到更优惠的20,79%的降低。
对于轻IO负载使用本发明不存在任何好处,其中本发明认识出并合并入其的操作方法,如此处进一步解释的一样。例如,比较于在表A对比表B中“编号1”的行中无任何重建IO,未示出了任何好处,实际上使用本发明的技术的性能更差;类似地,对于用于1QD近的“编号2”的行,比较传统重建,使用本发明不存在任何好处(对于“编号2”的行的表A,在Q头部重建请求之间增加了50ms的最小延迟)。然而,对于“编号3”的行,在使用本发明的响应时间中,对于1QD远存在轻微的好处,从12ms降到9ms,但是在吞吐量上没有任何优势,具有为26.35MB/s的较高吞吐量的传统重建对比于使用本发明技术的9.12 MB/s。同样能够看出的是,在每一个表内,“近”情况典型地快于“远”情况,但是有大的例外:在表B中,对于传统的重建,较长延迟发生在用于重负载的显著方式中,如“256QD近”对比“256QD远”,如将行“编号6”与“编号7”比较看出的一样。替代对于“近”IO请求的通常较快响应,相反情况发生,对于“远”响应的平均响应实际上比“近”响应快过12倍,97ms比较于1200毫秒。这种逆转是本发明解决和解答的显著实施例,如通过将使用本发明方法的表A中行“编号6”与“编号7”比较能够看出的一样。比较于表B的传统重建的表A中256QD近的性能更佳,具有于1200ms比较的16ms的平均响应,降低了98.7%,或75倍快(1200/16)。类似地,吞吐量显著地从表B的0.69MB/s增加到表A的7.99 MB/s,一个级别的数量差别的增长,好过11倍。类似地,将表A的“编号7”行与表B的“编号5”行比较示出了,即时在重负载下,使用20ms的本发明的响应时间优于使用传统重建过程的80ms的中度负载下的响应时间。
根据表A和B,人们能够看出,在轻负载或无负载和小队列深度下,本发明的方法比较于传统重建实际上未授予任何优点。出于这个原因,如此处进一步解释的一样,在执行重建期间的本发明考虑到什么样重建速度和什么样的响应时间,在一个优选的实施例中,仅执行具有延迟的队列头部重建方法,当重建速度比基线超过33%或响应时间大于45ms时。这确保了本发明将在表A的较大编号行所定义区域中操作更多,如“编号4”到“编号7”的行。
现在将注意力转向图2,描绘了用户可定义或可配置的重建速度,示出了通过图形用户接口(GUI)200可如何选择重建速度,尽管不需要由用户操纵的本发明中的GUI,因此可将GUI的讨论认为概念工具以进一步解释重建速度如何操纵,以可配置,可改变方式,如实际上他们可被自动选择和改变和/或按固定顺序选择,而不是通过GUI和/或通过人工操作。GUI 200具有多个按钮210,215,220,225,分别对应于根据本发明用户希望如何重建RAID系统的各种强度等级,如“低”,“高”,“最大”和“无”,根据本发明对应于对主机IO的小数值或低影响,大数值或高影响,最大数值或最大影响以及无重建或无影响的重建速度。例如,在一个优选实施方案中,为用户展现了四个等级的重建速度,如“无影响”,“低影响”,“高影响”和“最大影响”,采用涉及重建将如何影响主机IO的影响。
在“无影响”选项中,本发明的RAID系统坚持传统的重建。使用这个选项,本发明仅仅对主机性能存在最小影响,因为其被关闭。在这个选项中,重建时间不为用户所关注。
三个其他选项是用于依照本发明的重建操作。在“低影响”选项中,主机IO性能受图2所示优选实施方案中的“无影响”选项的三分之一影响,如图2的柱状图所示,示出了在低影响的“Q头部重建IO”花费了分配的整个1000ms之外的333ms。如图2在240处图示,被发布给队列头部的重建IO,因此在图2的标记“Q头部重建IO”有效地给出了其中用于操作的1000ms之外的333ms,将667ms的剩余时间给予本发明的固件以服务主机IO请求,因此在图2中的标记“主机IO”。在“高影响”选项中,在图2的250处,本发明重建IO操作达500ms的有效时间,或大约这个时间的一半,1000ms之外的500ms,采用发布给队列头部的重建IO,采用致力于主机IO的剩余时间。在“最大影响”选项中,在图2的260处,本发明发布重建IO给队列头部达1000ms之外的有效666ms,或这个时间的67%,采用给定用于服务主机IO的时间的剩余33%。对于特定间隔不一次发布所有重建IO,但是穿插有主机IO。采用合适延迟发布重建IO以兑现期望的重建速度并达到有效的服务时间。
尽管在图2中仅仅示出了四个离散给出的、步进式性能分级的选项按钮,可给出任意数量的选项。实际上,用户可使用如滑块230所示的滑动条以设置重建速度,或用户设置速度,从百分之零到最大百分比。进一步地,可使用人工智能代理自动设置重建速度,基于历史数据,如当日时间,做出重建的过去经验,制造商的数据等。
现在将注意力转向图3,示出操作中本发明优选实施方案的更具体流程图被示出。图3的流程图示出了校准,再校准和重建如何工作,通过零到70秒的时间线的循环,因而指示T0到T70的时间线的标记,在阶段一中从T0到T5,阶段二从T5到T10,阶段三从T10到T70。将图3所示的本发明的方法划分为三个阶段,整个由70秒构成,尽管一般地可依照此处教导选择任意持续时间。标签“发布正常重建IO”的第一阶段310,是从T0到T5的、持续五秒的测量阶段。标签“发布重建IO给Q头部”的第二阶段315,是从T5到T10持续五秒,是需要在发布重建IO请求给队列头部之间做出的ms的延迟Delta(或T)的计算,为了减轻重建等待时间,如此处较早解释的一样。延迟考虑如头部响应时间,为重建分配的时间,和重建线程数量的参数。最后阶段,标签“每延迟ms发布重建IO给Q头部”的第三阶段320,持续60秒,从T10到T70,并实施在第二阶段中计算的延迟,通过每Delta ms发布重建IO给队列头部,采用计算的为重建IO的执行的时间的延迟Delta,其被延迟于被发布给队列的前部(头部)。随后循环重复本身。以这种方式,依照在启发式方式中提供的参数,本发明的方法动态地重校准重发布IO。
因此,在T0到T5的阶段一中,可以是70秒的整个周期之外的五秒或整个周期的5/70 = 7%,操作依照本发明的RAID系统中驱动器的固件,硬件和/或软件,之后速记为“固件”,将计算平均重建读出响应时间,如图3的方框325中所指示的一样,标签为“计算平均重建读出响应时间”,当根据传统方法做出这样的重建时,即,使用传统技术的重建不涉及本发明,术语为正常重建IO,如在方框310“发布正常重建IO”中指示的一样。下一步,如标签为“是否重建速度 < 33% || 响应时间 < 45 ms”的决定方框330中指示的一样,固件将检查以确定在这种传统重建下重建速度是否小于指示用户已经请求不受主机IO请求任何影响的33%,或重建等待时间小于45ms,其指示了传统重建方法为系统优化。如果为真,固件如决定分支“是”所示继续,处理将重复阶段一直到“否”(假)条件符合决定方框330的这样的时间,在这个时间点该过程将移到阶段二,T5到T10。
在下一个阶段,阶段二,T5到T10,其可能是70秒的整个周期之外的五秒或整个周期的5/70 = 7%,固件将计算在队列中重建IO命令之间所需优化延迟以阻止重建IO的重建IO匮乏/高等待时间,如此处讨论的一样。为了这样做,固件从其中的实际环境处计算多个参数,计算在阶段二完全间隔上的平均重建队列头部读出响应时间,如图3的方框340所示,采用在阶段二末端处的这个平均值。如此处所解释的一样,多个因素参与这个计算。
首先,硬盘驱动器磁头的平均读出响应时间计算达五秒,如系统发布重建给队列头部一样,并被固件读为参数。队列在将重建IO和主机IO存储到用于RAID系统中特定驱动器的队列中的技术中是已知的,采用进入队列头部(前部)的重建IO请求,因而图3的“Q头部”。将重建IO请求与主机IO请求一起发送给队列,并增加在重建IO请求之间的延迟,采用最初选择的或100ms的默认延迟,或者,如果过程已经在先前70秒循环中重复,在这个第二阶段处计算先前延迟。硬盘驱动器磁头的读出响应被固件读出并在这个阶段期间被平均。将这个平均的参数称作为在方框340处图3中的“resp”,标签为“计算平均重建Q头部读出响应时间(resp)”。
第二,确定了重建配置,查明了为重建分配的时间,相比较用于包括主机IO和重建IO请求二者的重建的总时间。如果用户和/或系统已经选择了“低”,如先前所述,采用33%-65%速度,随后为变量“为重建分配的时间(rt)”选择了这个参数,采用用于各种重建配置选项的ms的“rt”等于:(1)按33%-65%重建速度的333 ms(低选项);(2)按66%-98%重建速度的500 ms(高选项);和(3)按99%-100%重建速度的666ms(最大选项)。如此处讨论的一样,专门实施这些数量的值,可以是任意数量的值,不仅三个,以步进式分级或甚至以连续方式从最小值到最大值被选择。
第三,计算重建IOPS(rIOPS),如图3的方框340中指示的一样,根据下列公示:
重建IOPS(rIOPS) = rt / resp
其中:rt = 在先前步骤中寻找的为重建分配的时间,resp = 平均重建队列头部读出响应,如以上讨论的一样。
第四,从所考虑的RAID系统中重建线程的数量划分的重建IOPS,在方框340处的图3中重建线程的数量(rIOPs),计算参数numRebuilds(nR),根据下列公式:
numRebuilds(nR) = rIOPs / (重建线程的数量)
最后,在从T5到T10的第二阶段的末端处,根据下列公式计算在重建之间所利用的实际延迟:
延迟,DELTA(或T),在重建之间 IO = 1000 / nR – resp
其中1000是ms的时间常量。能够为时间选择任意数;如IOPS是每秒,使用好的常量是为一秒的1000 ms。然而,如果改变了这个常量,则也需要改变rIOPS,如一个普通技术人员从此处教导处能够理解的一样。因此,也能够在任意其他时间间隔上做出图3中从T5到T10的阶段的两个计算。
以及其中:nR是如上的numRebuilds,resp = 平均重建队列头部读出响应时间,如上讨论的一样。
一旦计算了时间延迟DELTA(或T),本发明的方法进行到从T10到T70的第三阶段,表示为60秒的时间,其中先前计算的实际延迟DELTA用于延迟被发布给RAID系统的独立驱动队列头部的重建IO,比较重建IO和主机IO。在将重建IO请求发布给驱动器之前,由固件延迟每一个重建IO达延迟DELTA。如此处所解释的一样,使用队列中的这样的延迟将削减的优点授予主机IO匮乏。在周期的结束处,在T70处,校准在时间T0处重新开始以及所述过程重复。以这种方式,本发明是启发式和机会主义的,考虑了硬件的实际状态,当其在计算延迟时随时间改变时。
如此处所述的本发明的操作方法和设备可被用于从RAID 1到RAID 6的任意RAID等级,包括RAID等级2,3和4,并可被用于混合RAID系统,与新类型的使用擦除代码等的故障安全和冗余存储一样。而且,本发明的方法和设备可被利用在回拷操作中,或需要为RAID控制器所利用的任意关键任务过程,其中过程需要将IO发布给物理驱动器,并必须以可预测方式完成,具有对主机IO的可管理的影响,如但不限于媒体扫描,一致性检查,初始化,格式化等。
一个普通技术人员从此处教导处能够应用修改,删减和/或增加而不背离本发明的范围。进一步地,尽管公开了本发明的众多特征,可将这些特征的子集用于本发明的精简版本中。因而本发明的范围由权利要求单独限定。
打算的是,本发明的范围延伸到所有这样的修改和/或增加,由以下提出的权利要求单独限定本发明的范围。

Claims (20)

1.一种具有在主机IO环境下用于改善RAID重建的多个驱动器的存储系统,包括:
固件,用于测量在所述存储系统中的一驱动器的重建IO响应;
用于所述驱动器的队列,包括重建IO和主机IO请求;和
固件,用于延迟重建IO到所述队列的发布。
2.如权利要求1所述的发明,进一步包括:
固件,用于校准延迟。
3.如权利要求2所述的存储系统,进一步包括:
根据来自队列的平均重建响应时间的参数、相比总时间分配给重建的时间以及重建线程的数量,所述固件校准延迟。
4.如权利要求2所述的存储系统,进一步包括:
具有指出固件即将重建多快的重建速度的固件,所述速度具有最小值和最大值,具有在最小值对比最大值处的重建IO上更多优先的主机IO。
5.如权利要求4所述的存储系统,其中:
在可配置的固件中的重建速度,允许所述固件具有从最小值到最大值范围内数个预定值之间改变的重建速度。
6.如权利要求2所述的存储系统,其中:
根据从由读出响应时间、分配给重建的时间、用户选择重建IO配置,可配置重建IO配置和重建线程数量构成的组中选择的参数,校准延迟固件。
7.如权利要求6所述的存储系统,进一步包括:
以周期方式将重建IO发布给队列头部的固件,具有包括周期的多个阶段,包括第一阶段,进行到重建,通过在队列中以传统方式发布重建IO,而没有增加的延迟的引入,第二阶段,当重建速度和响应时间的至少一个小于重建速度和响应时间的预定值时达到,具有发生在第二阶段期间的延迟T的计算,和第三阶段,用于每T ms在队列前部将重建IO发布到所述队列。
8.如权利要求7所述的存储系统,其中:
第二阶段根据下列方程计算延迟T:
T = C / nR – resp
其中:
nR = rIOPS / num rebuild threads
rIOPS = 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等级1到6构成的组中选择的存储系统中,存储系统具有回拷操作,和使用擦除代码的存储。
10.一种用于在存储系统中多个驱动器的RAID重建的方法,包括以下步骤:
测量在主机IO环境下运行重建的RAID系统中的重建IO响应;
通过延迟重建IO到RAID的驱动器队列头部的发布,计算延迟;和
将重建IO发布到队列头部并通过所述延迟来延迟重建IO的执行。
11.如权利要求10所述的方法,进一步包括步骤:
根据从由读出响应时间、分配给重建的时间、用户选择重建IO配置、可配置重建IO配置和重建线程数量构成的组中选择的参数,计算所述延迟。
12.如权利要求11所述的方法,进一步包括步骤:
选择从最小重建速度到最大重建速度为重建分配的时间。
13.如权利要求12所述的方法,进一步包括步骤:
从可配置重建配置处选择为重建分配的时间,在重建配置中为重建分配的时间的选择包括从最小重建速度到最大重建速度范围内的多个重建速度。
14.如权利要求13所述的方法,其中:
所述周期方式的步骤包括第一阶段,其进行到重建所述RAID存储系统,通过在队列中以传统方式发布重建IO,而没有增加的延迟的引入,第二阶段,当重建速度和响应时间的至少一个大于重建速度和响应时间的预定值时达到,具有发生在第二阶段期间的ms的延迟T的计算,和第三阶段,用于每T ms将重建IO发布到所述队列。
15.如权利要求10所述的方法,进一步包括步骤:
根据包括由读出响应时间、为重建分配的时间、用户选择重建IO配置、可配置重建IO配置和重建线程数量构成的参数,计算所述延迟。
16.如权利要求15所述的方法,其中:
测量重建IO响应的步骤,计算用于所述队列的延迟,重建IO发布到所述队列的发布在所述RAID存储系统中以周期方式发生。
17.如权利要求16所述的方法,其中:
所述周期方式的步骤包括第一阶段,其进行到重建所述RAID存储系统,通过在队列中以传统方式发布重建IO,而没有将所述重建IO发布给驱动器队列的头部,第二阶段,当重建速度和响应时间的至少一个大于重建速度和响应时间的预定值时达到,具有发生在第二阶段期间的ms的延迟T的计算,和第三阶段,用于每T ms将重建IO发布到驱动器队列的头部。
18.如权利要求17所述的方法,其中:
所述方法用于从由RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 6,包括RAID 0的混合RAID等级1到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 threads
rIOPS = rt / resp
其中:
“num rebuild threads” = 在RAID系统中重建线程的数量,
rt = 比较总时间(C)为重建分配的时间,
resp = 在队列头部处的平均队列头部重建读出响应时间,和,
C = 时间常量,总时间。
CN201310031133.0A 2012-02-08 2013-01-26 用于raid中改善重建的系统和方法 Active CN103246480B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/368,725 US8751861B2 (en) 2012-02-08 2012-02-08 System and method for improved rebuild in RAID
US13/368,725 2012-02-08

Publications (2)

Publication Number Publication Date
CN103246480A true CN103246480A (zh) 2013-08-14
CN103246480B CN103246480B (zh) 2017-06-09

Family

ID=47632751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310031133.0A Active CN103246480B (zh) 2012-02-08 2013-01-26 用于raid中改善重建的系统和方法

Country Status (6)

Country Link
US (1) US8751861B2 (zh)
EP (1) EP2626780B1 (zh)
JP (1) JP2013161476A (zh)
KR (1) KR20130091628A (zh)
CN (1) CN103246480B (zh)
TW (1) TWI544344B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224243A (zh) * 2015-08-31 2016-01-06 北京神州云科数据技术有限公司 一种磁盘阵列的初始化和重建的速度调节方法
CN105900067A (zh) * 2013-11-18 2016-08-24 惠普发展公司,有限责任合伙企业 指示储存器装置的重建状态
CN106980468A (zh) * 2017-03-03 2017-07-25 杭州宏杉科技股份有限公司 触发raid阵列重建的方法及装置
CN107491263A (zh) * 2016-06-12 2017-12-19 北京忆恒创源科技有限公司 一种基于存储对象的数据重构方法
CN107690625A (zh) * 2017-03-16 2018-02-13 深圳大趋智能科技有限公司 iOS线程恢复的方法及装置
CN110413209A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 管理存储系统的方法和设备
CN111352584A (zh) * 2020-02-21 2020-06-30 北京天融信网络安全技术有限公司 一种数据重建方法及装置
CN112887432A (zh) * 2021-03-31 2021-06-01 中国工商银行股份有限公司 分布式系统重建运维方法、运维节点及系统

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707090B2 (en) * 2011-10-19 2014-04-22 Hitachi, Ltd. Storage system
US20140215147A1 (en) * 2013-01-25 2014-07-31 Hewlett-Packard Development Company, L.P. Raid storage rebuild processing
US10681134B2 (en) * 2013-07-31 2020-06-09 Pure Storage, Inc. Accelerated learning in adaptive rebuilding by applying observations to other samples
CN103677669B (zh) * 2013-11-29 2016-08-17 华为技术有限公司 调度io的方法和装置
US9075773B1 (en) * 2014-05-07 2015-07-07 Igneous Systems, Inc. Prioritized repair of data storage failures
US9563366B2 (en) * 2014-05-13 2017-02-07 International Business Machines Corporation Using queues corresponding to attribute values associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process
US9575800B2 (en) 2014-05-13 2017-02-21 International Business Machines Corporation Using queues corresponding to attribute values and priorities associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process
US9921879B2 (en) 2014-05-13 2018-03-20 International Business Machines Corporation Using queues corresponding to attribute values associated with units of work to select the units of work to process
US9201735B1 (en) 2014-06-25 2015-12-01 Igneous Systems, Inc. Distributed storage data repair air via partial data rebuild within an execution path
US9582355B2 (en) * 2014-07-09 2017-02-28 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
US9594632B2 (en) * 2014-07-09 2017-03-14 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
US9734007B2 (en) 2014-07-09 2017-08-15 Qualcomm Incorporated Systems and methods for reliably storing data using liquid distributed storage
US9053114B1 (en) 2014-08-07 2015-06-09 Igneous Systems, Inc. Extensible data path
US9098451B1 (en) 2014-11-21 2015-08-04 Igneous Systems, Inc. Shingled repair set for writing data
US9276900B1 (en) 2015-03-19 2016-03-01 Igneous Systems, Inc. Network bootstrapping for a distributed storage system
US9747042B2 (en) * 2015-06-30 2017-08-29 International Business Machines Corporation Statistic-based isolation of lethargic drives
US9798473B2 (en) 2015-10-29 2017-10-24 OWC Holdings, Inc. Storage volume device and method for increasing write speed for data streams while providing data protection
CN107203442B (zh) * 2016-03-16 2020-04-21 伊姆西Ip控股有限责任公司 独立磁盘冗余阵列的重建性能的评估方法和设备
KR102611571B1 (ko) * 2016-11-09 2023-12-07 삼성전자주식회사 비휘발성 메모리를 포함하는 raid 시스템
US10678643B1 (en) * 2017-04-26 2020-06-09 EMC IP Holding Company LLC Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system
CN107422989B (zh) * 2017-07-27 2020-04-07 深圳市云舒网络技术有限公司 一种Server SAN系统多副本读取方法及存储系统
US10691543B2 (en) 2017-11-14 2020-06-23 International Business Machines Corporation Machine learning to enhance redundant array of independent disks rebuilds
US10417069B2 (en) 2017-12-01 2019-09-17 International Business Machines Corporation Handling zero fault tolerance events in machines where failure likely results in unacceptable loss
US10725776B2 (en) 2017-12-01 2020-07-28 International Business Machines Corporation Reducing a rate at which requests are sent from one processor to another to reduce processor utilization at the processor receiving the requests
US10664187B2 (en) 2017-12-01 2020-05-26 International Business Machines Corporation Reducing a rate at which data is mirrored from a primary server to a secondary server
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10649843B2 (en) 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US11099934B2 (en) * 2018-08-24 2021-08-24 International Business Machines Corporation Data rebuilding
US11182258B2 (en) * 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US10990480B1 (en) * 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US11194663B2 (en) * 2019-09-20 2021-12-07 DigitalOcean, LLC Protocol for improving rebuild times of redundant array of independent disks
CN111427515A (zh) * 2020-03-27 2020-07-17 杭州宏杉科技股份有限公司 Raid重建方法及装置
US11221765B2 (en) 2020-04-22 2022-01-11 Seagate Technology, Llc Apparatus and method for executing background operations using rotational position sorting
US11301162B2 (en) * 2020-05-31 2022-04-12 EMC IP Holding Company LLC Balancing resiliency and performance by selective use of degraded writes and spare capacity in storage systems
US11403175B2 (en) * 2020-07-31 2022-08-02 EMC IP Holding Company LLC Rebuilding data previously stored on a failed data storage drive
CN114385412A (zh) * 2020-10-22 2022-04-22 伊姆西Ip控股有限责任公司 存储管理方法、设备和计算机程序产品
CN112596818B (zh) * 2020-12-30 2023-12-05 上海众源网络有限公司 一种应用程序控制方法、系统及装置
CN114816221A (zh) * 2021-01-22 2022-07-29 伊姆西Ip控股有限责任公司 存储管理方法、设备和计算机程序产品
US11593237B2 (en) 2021-05-28 2023-02-28 International Business Machines Corporation Fast recovery with enhanced raid protection
US11687258B2 (en) 2021-09-08 2023-06-27 Hewlett Packard Enterprise Development Lp Operational feature activation/disabling
CN114546279B (zh) * 2022-02-24 2023-11-14 重庆紫光华山智安科技有限公司 Io请求预测方法、装置、存储节点及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230742A1 (en) * 2003-03-07 2004-11-18 Fujitsu Limited Storage system and disk load balance control method thereof
US20090210618A1 (en) * 2008-02-14 2009-08-20 International Business Machines Corporation Apparatus and method to allocate resources in a data storage library
CN101576833A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 一种独立磁盘冗余阵列raid数据重建方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2923702B2 (ja) * 1991-04-01 1999-07-26 株式会社日立製作所 記憶装置及びそのデータ修復方法
US5278838A (en) 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5822584A (en) * 1995-10-13 1998-10-13 Compaq Computer Corporation User selectable priority for disk array background operations
US6834386B1 (en) * 1999-07-16 2004-12-21 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US7139931B2 (en) * 2002-08-19 2006-11-21 Aristos Logic Corporation Method of controlling the system performance and reliability impact of hard disk drive rebuild
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US8589625B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230742A1 (en) * 2003-03-07 2004-11-18 Fujitsu Limited Storage system and disk load balance control method thereof
US20090210618A1 (en) * 2008-02-14 2009-08-20 International Business Machines Corporation Apparatus and method to allocate resources in a data storage library
CN101576833A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 一种独立磁盘冗余阵列raid数据重建方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105900067A (zh) * 2013-11-18 2016-08-24 惠普发展公司,有限责任合伙企业 指示储存器装置的重建状态
US10146623B2 (en) 2013-11-18 2018-12-04 Hewlett-Packard Development Company, L.P. Indicating rebuild state of storage devices
CN105224243A (zh) * 2015-08-31 2016-01-06 北京神州云科数据技术有限公司 一种磁盘阵列的初始化和重建的速度调节方法
CN105224243B (zh) * 2015-08-31 2018-06-12 深圳神州数码云科数据技术有限公司 一种磁盘阵列的初始化和重建的速度调节方法
CN107491263A (zh) * 2016-06-12 2017-12-19 北京忆恒创源科技有限公司 一种基于存储对象的数据重构方法
CN107491263B (zh) * 2016-06-12 2022-07-22 北京忆恒创源科技股份有限公司 一种基于存储对象的数据重构方法
CN106980468A (zh) * 2017-03-03 2017-07-25 杭州宏杉科技股份有限公司 触发raid阵列重建的方法及装置
CN107690625A (zh) * 2017-03-16 2018-02-13 深圳大趋智能科技有限公司 iOS线程恢复的方法及装置
CN107690625B (zh) * 2017-03-16 2022-02-11 深圳大趋智能科技有限公司 iOS线程恢复的方法及装置
CN110413209A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 管理存储系统的方法和设备
CN111352584A (zh) * 2020-02-21 2020-06-30 北京天融信网络安全技术有限公司 一种数据重建方法及装置
CN112887432A (zh) * 2021-03-31 2021-06-01 中国工商银行股份有限公司 分布式系统重建运维方法、运维节点及系统

Also Published As

Publication number Publication date
KR20130091628A (ko) 2013-08-19
CN103246480B (zh) 2017-06-09
US8751861B2 (en) 2014-06-10
EP2626780A1 (en) 2013-08-14
TW201342082A (zh) 2013-10-16
JP2013161476A (ja) 2013-08-19
EP2626780B1 (en) 2019-11-06
US20130205166A1 (en) 2013-08-08
TWI544344B (zh) 2016-08-01

Similar Documents

Publication Publication Date Title
CN103246480A (zh) 用于raid中改善重建的系统和方法
US10082965B1 (en) Intelligent sparing of flash drives in data storage systems
CN105573660B (zh) 用于改善分簇磁盘阵列的性能的方法和装置
US8443241B2 (en) Runtime dynamic performance skew elimination
Holland et al. Parity declustering for continuous operation in redundant disk arrays
JP3078972B2 (ja) ディスクアレイ装置
US20070061514A1 (en) Disk array with spare logic drive created from spare physical drives
US20150286531A1 (en) Raid storage processing
US20130246705A1 (en) Balancing logical units in storage systems
CN104123100A (zh) 控制存储设备阵列中的数据存储
JP2009037304A (ja) Raidレベルを変更する機能を有したストレージシステム
JP2009505310A (ja) 電力効率の良い大容量のスケーラブルストレージシステムにおける補助データにアクセスするための方法およびシステム
US20100100677A1 (en) Power and performance management using MAIDx and adaptive data placement
JP2006285808A (ja) ストレージシステム
CN110389858A (zh) 存储设备的故障恢复方法和设备
CN103150123B (zh) 存储系统
JP2015099438A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
CN108205573B (zh) 一种数据分布式存储方法及系统
CN110413218A (zh) 用于存储系统中的故障恢复的方法、装置和计算机程序产品
CN110096216A (zh) 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品
JP6622273B2 (ja) リソース管理装置、リソース管理方法、及びリソース管理プログラム
JP7419456B2 (ja) 記憶システム及びその制御方法
Perumal et al. A tutorial on RAID storage systems
JP2020119474A (ja) ストレージ管理システム、プール構成決定方法、及びそのコンピュータプログラム
Chang et al. The design and performance evaluation of the RAID 5 controller using the load-balanced destage algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) CORPORAT

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES CORP.

Effective date: 20150819

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150819

Address after: Singapore Singapore

Applicant after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Milpitas, California, USA

Applicant before: LSI Corp.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20181017

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right