CN111344679B - 用于增强独立磁盘冗余阵列重建的机器学习的方法和系统 - Google Patents
用于增强独立磁盘冗余阵列重建的机器学习的方法和系统 Download PDFInfo
- Publication number
- CN111344679B CN111344679B CN201880073074.4A CN201880073074A CN111344679B CN 111344679 B CN111344679 B CN 111344679B CN 201880073074 A CN201880073074 A CN 201880073074A CN 111344679 B CN111344679 B CN 111344679B
- Authority
- CN
- China
- Prior art keywords
- data
- priority
- block
- storage device
- assigning
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
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)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
机器逻辑(例如,软件),用于存储:(i)跨RAID阵列的多个磁盘驱动器的多个文件,以及(ii)所述文件的校验和数据。机器逻辑规则基于文件的一个或多个属性向每个文件分配优先级值。这些优先级值用于确定使用校验和数据重建文件的顺序,以便首先重建最重要的文件。
Description
背景技术
本发明一般地涉及独立磁盘冗余阵列数据存储(RAID),更具体地涉及重建RAID实现的过程。
独立磁盘存储冗余阵列(RAID阵列)技术用于存储计算机数据,通常是大量地存储。对于数据冗余,常见的方法是跨驱动器条带化数据,然后在故障的情况下复制回完整的驱动器。如果在故障的情况下复制完成,则数据冗余是成功的。在RAID阵列中,奇偶校验驱动器是提供容错的硬盘驱动器(或以硬盘驱动器的方式工作的其它存储设备)。例如,RAID3使用奇偶校验驱动器来创建容错且快速的系统(由于RAID3的数据条带化)。单个数据位被添加到数据块的末尾以确保消息中的位的数目是奇数或偶数。在RAID阵列中实现奇偶校验驱动器的一种方式是存储各种形式的奇偶校验数据中的一种。
奇偶校验数据是从源数据的大集合导出的显著小于源数据的大集合的数据。奇偶校验数据以各种已知的方式(例如,使用源数据的所选比特对上的XOR函数)导出,使得如果源数据的一部分丢失(例如,RAID阵列中的一个驱动器故障),则丢失的数据可以使用以下各项导出:(i)奇偶校验驱动器上的奇偶校验数据;以及(ii)剩余的完好源数据(在该示例中,RAID阵列的未发生故障的驱动器上的源数据)。
发明内容
根据本发明的一个方面,存在一种方法、计算机程序产品和/或系统,其执行以下操作(不一定按照以下顺序):(i)将多个数据块存储在包括多个存储设备的条带式独立设备冗余阵列(RAID)存储系统中;(ii)存储所述多个数据块的奇偶校验数据;(iii)对于所述多个数据块中的每个给定数据块,向所述给定数据块指派优先级数据值;以及(iv)响应于所述多个存储设备中的第一存储设备的故障,使用存储在除所述第一存储设备之外的所述多个存储设备上的数据块的数据和所述奇偶校验数据,以按照存储在所述第一存储设备上的数据块的优先级值确定的顺序重建存储在所述第一存储设备上的所述数据块。
附图说明
现在将参考附图仅通过示例的方式描述本发明的实施例,在附图中:
图1是根据本发明的优选实施例的系统的第一实施例的框图;
图2是示出至少部分地由第一实施例系统执行的第一实施例方法的流程图;
图3A是示出第一实施例系统的机器逻辑(例如,软件)部分的框图;
图3B是示出了对第一实施例系统的RAID阵列的三个磁盘驱动器上的存储空间的数据块分配的框图;以及
图4A到4E是示出根据本发明的实施例的RAID系统中的故障磁盘驱动器的重建的框图。
具体实施方式
本发明的一些实施例针对机器逻辑(例如,软件),用于:(i)跨RAID阵列的多个磁盘驱动器存储多个文件,以及(ii)存储所述文件的校验和数据。在一些实施例中,然后基于所述文件的一个或多个属性将优先级值分配给每个文件。在一些实施例中,这些优先级值用于确定使用校验和数据重建文件的顺序,以便首先重建最重要的文件。该具体实施方式部分被分成以下子部分:(i)硬件和软件环境;(ii)示例实施例;(iii)进一步的评论和/或实施例;和(iv)定义。
I.硬件和软件环境
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
现在将参考附图详细描述用于软件和/或方法的可能的硬件和软件环境的实施例。图1是示出联网计算机系统100的各个部分的功能框图,包括:RAID子系统102;客户端子系统104、106、108、110、112;通信网络114;RAID计算机200;通信单元202;处理器组204;输入/输出(I/O)接口组206;存储器设备208;持久性存储设备210;显示装置212;RAID磁盘驱动器集合214;随机存取存储器(RAM)装置216;高速缓冲存储器装置218;以及控制程序300。
子系统102在许多方面代表本发明的优选实施例中的各种计算机子系统。因此,现在将在以下段落中讨论子系统102的若干部分。
子系统102可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话或能够经由网络114与客户端子系统通信的任何可编程电子设备。程序300是用于创建、管理和控制某些软件功能的机器可读指令和/或数据的集合,这些软件功能将在以下在具体实施方式部分的示例性实施例子部分中详细讨论。
子系统102能够通过网络114与其他计算机子系统通信。网络114可以是例如局域网(LAN)、诸如因特网的广域网(WAN)或两者的组合,并且可以包括有线、无线或光纤连接。通常,网络114可以是支持服务器和客户端子系统之间的通信的连接和协议的任意组合。
子系统102被示出为具有许多双箭头的框图。这些双箭头(没有单独的附图标记)表示通信结构,其提供子系统102的各种部件之间的通信。该通信结构可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其它硬件部件之间传递数据和/或控制信息的任何体系结构来实现。例如,通信结构可以至少部分地用一个或多个总线来实现。
存储器208和持久性存储210是计算机可读存储介质。通常,存储器208可以包括任何合适的易失性或非易失性计算机可读存储介质。还应注意,现在和/或不久的将来:(i)外部设备214能够为子系统102提供一些或全部存储器;和/或(ii)子系统102外部的设备能够为子系统102提供存储器。
控制程序300存储在持久性存储210中,以便由一个或多个相应的计算机处理器204通常通过存储器208中的一个或多个存储器访问和/或执行。持久性存储210:(i)至少比传输中的信号更持久;(ii)将程序(包括其软逻辑和/或数据)存储在有形介质(诸如磁或光域)上;和(iii)持久性实质性低于永久性存储。另选地,数据存储可以比持久性存储210提供的存储类型更持久和/或永久。
控制程序300可包括机器可读且可执行的指令和/或实质数据(即,存储在数据库中的数据的类型)。在该特定实施例中,持久性存储210包括磁硬盘驱动器。举一些可能的变型,持久性存储210可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或数字信息的任何其它计算机可读存储介质。
持久性存储210所使用的介质也可以是可移除的。例如,可移动硬盘驱动器可以用于持久性存储210。其它示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便传送到也是持久存储210的一部分的另一计算机可读存储介质上。
在这些例子中,通信单元202提供与子系统102外部的其它数据处理系统或设备的通信。在这些示例中,通信单元202包括一个或多个网络接口卡。通信单元202可以通过使用物理和无线通信链路中的一种或两种来提供通信。本文讨论的任何软件模块可以通过通信单元(诸如通信单元202)下载到持久性存储设备(诸如持久性存储设备210)。
I/O接口组206允许与可以在与服务器计算机200的数据通信中本地连接的其它设备输入和输出数据。例如,I/O接口组206提供到外部设备组214的连接。外部设备组214通常将包括诸如键盘、小键盘、触摸屏和/或一些其它合适的输入设备的设备。外部设备组214还可以包括便携式计算机可读存储介质,诸如,例如,拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据(例如程序300)可以存储在这种便携式计算机可读存储介质上。在这些实施例中,相关软件可以(或可以不)经由I/O接口集206全部或部分地加载到持久性存储设备210上。I/O接口组206还以数据通信方式与显示设备212连接。
显示设备212提供向用户显示数据的机制,并且可以是例如计算机监视器或智能电话显示屏。
这里描述的程序是基于在本发明的特定实施例中实现它们的应用来识别的。然而,应当理解,这里的任何特定程序命名仅是为了方便而使用,因此本发明不应当限于仅在由这样的命名标识和/或暗示的任何特定应用中使用。
已经出于说明的目的给出了本发明的各种实施例的描述,但是描述不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变型对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
II.示例性实施例
图2示出了描述根据本发明优选实施例的方法的流程图250。图3A示出了用于执行流程图250的方法操作中的至少一些的程序300。现在将在以下段落中广泛参考图2(用于方法操作块)、图3A(用于软件块)和图3B(用于数据块)来讨论该方法和相关联的软件。
处理开始于操作S255,其中控制程序300在跨一组RAID盘驱动器214(参见图1)的条带中存储数据块的集合。在该实施例中,存在跨越包括一组RAID磁盘驱动器的三个磁盘驱动器的三个数据条带(见图3B)。每个磁盘驱动器的每个数据条带包括用于存储数据的块的六个地址,其中每个地址可以包含文件的一个数据块。即,数据块将仅包含与单个文件相关联的数据—但是单个文件通常将具有多于一个的数据块。例如,在图3B中,第一文件(F1)包括如下三个数据块:(i)F1B1;(ii)F1B2;和(iii)F1B3。图3B包括:(i)RAID盘驱动器集合214;(ii)盘驱动器A 352(a);(iii)第一条带354a具有:(a)F1B1,(b)F1B2,(c)F2B1,(d)F2B2,(e)F2B3,和(f)F2B4;(iv)没有文件块的第二条带356a;(v)第三条带358a具有:(a)F1B3,(b)F4B2,和(c)F4B1;(vi)盘驱动器B 352b;(vii)第一条带354b具有:(a)F2B5,(b)F3B1,和(c)F4B4;(viii)第二条带356b具有:(a)F8B1,(b)F3B2,(c)F7B1,(d)F7B2,和(e)F7B3;(ix)第三条带358b具有:(a)F5B1,(b)F6B2,(c)F5B3,(d)F6B3,(e)F6B2,和(f)F6B1;(x)盘驱动器C 352c;(xi)第一条带354c具有:(a)F2B6,(b)F4B3,和(c)F8B3;(xii)第二条带356c具有:(a)F3B3,和(B)F2B7;和(xiii)第三条带358c具有F7B4。
在此实施例中,块包含存储器的一个字节,其中一个字节被定义为八个位。每个文件包括多个块,这些块可以被写在三个磁盘驱动器的三个条带的块上。例如,在此实施例中,如图3B所示,文件2具有:(i)写入盘驱动器A 352a的第一条带354a的四个块(F2B1、F2B2、F2B3、F2B4);(ii)写入盘驱动器B 352b的第一条带354b的一个块(F2B5);(iii)写入盘驱动器C 352c的第一条带354c的一个块(F2B6);以及(iv)写入磁盘驱动器C的第二条带356c的一个块(F2B7)。另选地,RAID磁盘驱动器集合可以包括少至两个磁盘驱动器,而对RAID阵列中包括的磁盘驱动器的最大数量没有限制。作为进一步的选择,RAID盘驱动器集合的盘驱动器中的条带数量可以少至一个,条带的最大数量由条带字节分配和盘驱动器的存储容量确定。例如,在盘驱动器A、B和C都具有1兆字节(一百万字节)存储容量并且每个条带被分配1千字节(一千字节)的存储的情况下,每个盘驱动器可以容纳最多一千个条带。为了说明的目的,图3B所示的磁盘驱动器每个具有18字节的存储容量和6字节的条带分配,但是其它存储容量和条带分配也是可能的。作为另一替代,块可被定义为包含一个以上的字节,或可使用不同单位和标签来识别计算机可读存储容量。
处理进行到操作S260,其中图3A的优先级值指派模块("mod")302通过应用机器逻辑规则集合304来确定一组块中的每个块的相对优先级等级,从而将相对优先级值指派给该组块中的每个块。在该实施例中,存在五个不同的相对优先级等级,整数1至5,其中1是最重要的,5是最不重要的,它们可用于指派给该组块中的每个块。
在该实施例中,机器逻辑规则集合304基于以下因素来指派优先级等级:(i)块大小;(ii)在块级别上单个块的最近读取频率;(iii)块所属于的文件的最近读取频率;(iv)块所属于的文件的文件组的读取频率;(v)在块级别上个体块的历史读取总数;(vi)读取频率的变化率(也称为读取趋势);(vii)块的数据保护级别;(viii)去重块的引用的数量;(ix)(例如,由人类系统管理员)手动确定文件、文件组或块的优先级;(x)对块的各种访问的定时(例如,在高度安全操作期间发生的访问);(xi)块的加密状态;(xii)具有对各种块、文件和/或文件组的访问许可的人的身份;(xiii)各种块、文件和/或文件组的所有者的身份;(xiv)块所属于的文件的文件类型;(xv)块的年龄(即,自从块被首次创建以来的时间);以及(xvi)块所属于的文件的文件名。
如将在以下小节中进一步解释的,k均值聚类算法的欧几里得距离可以用于执行操作S260。以下小节也将讨论可用于指派优先级值的其它技术,诸如质心的属性的分析和每个质心的相对优先级的排序。
处理进行到操作S265,其中图3A的故障状态模块312确定图3B的RAID磁盘驱动器集合214中的一个磁盘驱动器的驱动器故障状态。驱动器故障状态可以是物理的或逻辑的。物理驱动器故障状态包括诸如旋转磁盘并移动驱动头的电机之类的移动部件的机械故障、驱动头或盘的未对准、以及磁盘或驱动头的磁特性的损坏或劣化。逻辑驱动器故障状态包括由于丢失或不适当改变了驱动器注册表而引起的文件系统的损坏。故障状态模块312通过监视来自图1的RAID盘驱动器集合214中的每个盘驱动器的日志来检测这些故障状态中的一个或多个。在该示例实施例中,故障状态模块312读取图3B的RAID盘驱动器集合214中的盘驱动器A 352a的日志内的故障电机的物理错误。作为替代,故障状态模块312监视自监控、分析和报告技术(S.M.A.R.T.)监视系统,并且当检测到S.M.A.R.T属性高于预定义阈值时检测到驱动器故障。作为另一种选择,在来自S.M.A.R.T.监视系统的阈值超过条件报告中所报告的估计故障日期之前的预定义日期检测故障状态。作为进一步的选择,故障状态模块312在RAID盘驱动器集合的每个磁盘驱动器中启动周期性的自测试,并基于自测试的结果确定驱动器故障状态。
大多数RAID故障逐个驱动器地发生。作为前一段落中讨论的示例性故障的替换示例,假设盘驱动器B 352b经历电涌并且突然和灾难性地故障。如图3B所示,此驱动器在于故障前跨越该驱动器被条带化的三个条带354、356、358的部分中具有来自文件F2、F3、F4、F5、F6、F7和F8的数据。在该示例中,如果在另一磁盘驱动器故障之前完成基于校验和数据存储器308的奇偶校验数据来重建数据,则可以在全新的磁盘驱动器(未示出)上重建盘驱动器B352b的所有数据,并且可以完全恢复所有的文件F2、F3、F4、F5、F6、F7和F8的数据。然而,如将理解的,随着方法250的进行,在来自盘驱动器B 352b的数据正在重建时并且在所有这些文件完全恢复之前另一驱动器发生故障的情况下,该实施例的优先级值可能是重要的。更具体地说,优先级值帮助确定块、文件和/或文件组被重建的时间顺序。这样,如果另一个驱动器在重建期间确实"停机",则它增加了在发生另外的驱动器故障之前恢复相对更重要的块/文件/文件组的可能性,并且盘驱动器352b的丢失数据通过使用以下各项而变得不可恢复:(i)剩余工作驱动器的数据;以及(ii)校验和数据存储器308的奇偶校验数据。
处理进行到操作S270,其中图3A的重构模块314从优先级值数据存储器310检索图3B的RAID盘驱动器集合214中的故障盘驱动器A 352a上的所有文件的优先级值。在该示例实施例中,在图3B的RAID盘驱动器集合214的三个盘驱动器(盘驱动器A 352a、盘驱动器B352b和盘驱动器C 352c)的三个条带(354a/b/c-358a/b/c)的存储器中存储有八个文件。八个文件中的每一个都已经由图3A的优先级值指派模块302指派了优先级值。在确定驱动器A具有故障状态时,重构模块检查图3A的校验和数据存储器308,以确定哪些文件具有被写入到驱动器A上的条带的数据块。在该示例实施例中,重构模块从校验和数据存储器确定驱动器A包含来自文件1(F1)、文件2(F2)和文件4(F4)的块,然后从图3A的优先级值数据存储器310检索文件1、文件2和文件4的优先级值,在该示例中优先级值分别是2、1和3。
处理进行到操作S275,其中图3A的重构模块314的排序子模块316基于故障磁盘驱动器上的数据的优先级值以数据优先级的顺序重建故障磁盘驱动器的数据。在该示例实施例中,在检测到文件2具有比故障磁盘驱动器A上存在的任何其它文件更高的相对优先级值时,排序子模块316使用存储在校验和数据存储器308中的校验和数据,首先将故障磁盘驱动器A上存在的文件2的块重建到一空闲磁盘驱动器上,在该示例中所述块包括故障磁盘驱动器A的第一条带354a上的块1到4。在排序子模块316完成将故障磁盘驱动器A上存在的文件2的块重建到空闲磁盘驱动器上之后,排序子模块316然后确定在两个剩余文件(文件1和文件4)之中,文件1具有比故障磁盘驱动器A上存在的任何其它剩余文件更高的相对优先级值,并且从第一条带354a重建块1和2以及从第三条带358a重建块3。接下来,仅剩余文件4,排序子模块重建故障磁盘驱动器A上存在的文件4的所有块,其包括来自第三条带358a的块1和2(F4B1和F4B2)。作为替代,可以使用其他类型的备份数据来远程地或在本地恢复故障磁盘驱动器的数据,例如完整的数据备份,或者其他备份恢复数据源。
处理进行到操作S280,其中优先级值指派模块302的机器学习子模块306修改确定优先级值的机器逻辑。在该示例实施例中,图3A的控制程序300的优先级值指派模块302的机器学习子模块306分析由机器逻辑规则集合304指派给八个文件的优先级值是否具有提高准确性的空间。在本实例性实施例中,机器学习子模块确定应向每分钟读取值的类别赋予额外权重,因为文件3与文件4共享优先级值分类3,这将导致文件3具有指派给其的低于文件1的优先级值的次优结果,尽管被读取比文件1频繁600%。机器学习子模块还创建如下规则:对于数据保护具有0值的文件不能与对于数据保护具有1值的文件共享优先级值。这进一步优化了在未来磁盘驱动器故障的情况下的优先级值的指派。
III.进一步的评论和/或实施例
本发明的一些实施例认识到以下事实、潜在问题和/或潜在领域,以便相对于现有技术状态进行改进:(i)当回拷过程在另一故障发生之前没有设法完成驱动器拷贝并且RAID阵列用完备用时,技术设计将潜在地导致数据丢失和/或相关联的经济损失;(ii)通过数据条带化,即使重构过程设法在故障之前重构了驱动器的30%,也不能保证副本将重构文件,而是仅有重构的文件片段,而原始文件的其它片段可能仍然丢失;(iii)另外,回拷过程可能已经拷贝了用户数据,但没有拷贝描述各种文件的各种片段如何合并在一起的元数据;和/或(iv)即使回拷过程识别每个部分重建(例如,上述的30%重建),以及将其放在一起的元数据,它也可能是随机OS(操作系统)批处理文件,而关键数据文件通过该部分重建而永久丢失。
本发明的一些实施例可以包括以下特征、特性和/或优点中的一个或多个:(i)一种结合RAID阵列技术利用机器学习以便允许在重建期间向存储在RAID阵列中的数据指派权重值的方法;(ii)基于所述RAID阵列中存储的数据的相应优先级值,对所述数据进行分类;(iii)在重建期间,一般地向阵列具体指示哪个数据与阵列和/或用户两者更相关,并且确保具有与相关数据相对应的优先级类别的数据在复制过程中被较早复制(例如,首先复制);(iv)在阵列上的进一步的磁盘故障的情况下,最重要的数据仍然被保留的可能性增加;(v)跟踪RAID阵列的使用模式;以及(vi)使用模式的跟踪将不仅取决于最后读或写的时间,而且取决于使用的一致性(例如,一年仅使用一次的数据可以是使用类别的一种一致性)。
本发明的一些实施例可以包括以下特征、特性和/或优点中的一个或多个:(i)由于阵列元数据与用户数据相关,因此将被跟踪以允许数据类型之间的直接关联;(ii)一贯地监视阵列健康,因为它与驱动器和正在进行的当前重建有关;(iii)在数值量化的权重系统(例如,可能的预定权重1至5,其中1是最有价值,5是最没有价值)上建立用户数据"值";(iv)数据类型的识别将允许全部或部分基于类型数据来指派优先级值(例如,图片通常较小并且可以保持有效值,因此尽管考虑到它们的使用频率可能仅保证存储在RAID阵列中的它们的相应数据的3优先级值,但是在一些实施例中,该数据将被提升到1优先级值);(v)数据清点将在优先级值适当调整的情况下在阵列上一致地发生;(vi)小数据将与大数据进行权衡(例如,以帮助确定快速复制一千个小文件比3个大文件对于用户的兴趣而言是否更好);(vii)在驱动器故障的情况下,将发生存储在故障驱动器上的数据的备用的重建,因为RAID被设计为通常在当前常规的RAID系统中这样做;(viii)基于"值"系统指派,该重建将以仅写入标记有相对高优先级值的数据开始(例如,在开始时仅重建具有优先级值1的数据);(ix)在重建过程开始时传送用户数据以及相对高优先级数据的元数据,以允许在完成重建之前发生故障的情况下数据的可用性;和/或(x)重建过程将通过这些值来工作,直到重建完成并且所有数据都已被复制回备用并且阵列再次健康。
现在将讨论优先级值的指派的示例。在该示例中:(i)算法是k-means(这是一种用于聚类的算法,其通过向与群组(cluster)或组相对应的每个元素指派标签,基于元素的特性的组合来生成元素组);(ii)距离是欧几里得距离(另一个流行的距离函数是曼哈顿),其中不同的距离函数影响群组形成的方式以及它们的大小,这对于某些类型的数据模式可能是优点,而对于其它类型可能是缺点;以及(iii)观测变量是X(n)=(x(1),x(2),x(3),x(4),x(5)),其中x(1)是块大小,x(2)是以每时间单位的读取来表达的读取频率,x(3)是读取趋势,具有直到下一次读取的估计时间单位,x(4)是数据保护包含,并且x(5)用于去重块,引用的数量。即在去重复环境中对块的引用的数量。在此示例中,使用去重块来通过仅存储块一次且当试图再次存储相同数据模式时仅将指向此原始块的指针递增一来消除重复信息。在该示例中,x(1),x(2),x(3),x(4),x(5)是在机器逻辑规则下组合以确定称为n的数据块(或数据块集合)的优先级值X(n)的数值量。可以考虑更多的因素(甚至是已经提到的因素的组合)。本发明的一些实施例考虑这些因素(但是k均值算法不仅仅限于这些因素)以向机器学习算法提供调整和改变如何确定优先级值的灵活性。另外,文件名是防止文件在不同群组中结束的重要因素。
本发明的一些实施例可以考虑在指派优先级值时可以考虑的因素的更大列表,包括:(i)块大小;(ii)在块级别上个体块的最近读取频率;(iii)块所属于的文件的最近读取频率;(iv)块所属于的文件的文件组的读取频率;(v)在块级别上个体块的历史读取总数;(vi)读取频率的变化率(也称为读取趋势);(vii)块的数据保护级别;(viii)去重块的引用的数量;(ix)(例如,由人类系统管理员)手动确定文件、文件组或块的优先级;(x)对块的各种访问的定时(例如,在高度安全操作期间发生的访问;(xi)块的加密状态;(xii)具有对各种块、文件和/或文件组的访问许可的人的身份;(xiii)各种块、文件和/或文件组的所有者的身份;(xiv)块所属于的文件的文件类型;(xv)块的年龄(即,自从块被首次创建以来的时间);以及(xvi)块所属于的文件的文件名。
一些实施例将RAID阵列中的故障硬盘驱动器重建到备用硬盘驱动器,例如分别在图4A至4E中的图400a至400e中所示。图4A到4E是示出在五个顺序的时间点(图4A中的T0到图4E中的T4)将RAID阵列中的故障硬盘驱动器重建到备用磁盘驱动器400的图。图400a至400e包括:硬盘驱动器0(HDD0)402a至402e(具有指示不同的顺序时间点的参考字母);硬盘驱动器1(HDD1)404a至404e;硬盘驱动器(HDD2)406a到406e;奇偶校验驱动器408a至408e;以及备用驱动器410a到410e。
在T0,HDD0 402a、HDD1 404a和HDD2 406a每个存储按相对权重值(可替换地称为相对优先级)排序为1到5的数据块的群组。在该示例中,群组可以具有不同的大小。在T1,HDD1 404b发生故障,并且备用410b可用于接收来自HDD1 404b的重建数据。在T2,来自HDD1404c的第一排序的群组在备用410c上重建。在T3,来自HDD1404d的第二排序的群组被重建在备用410d上。在T4,来自HDD1 404e的剩余数据群组在备用410e上重建(重建第三到第五排序的群组的各个步骤未示出),完成重建操作。单个群组可以包括驻留在不同HDD中的块。用户可以通过选择RAID(顺序对剥离)的类型或通过使用其他技术来控制这一点。本发明的某些实施例通过将文件名添加到形成群组时要考虑的因素的集合,避免将给定文件的不同片段分配给不同的群组。
在生成屏幕快照400a的本发明的实施例中,按优先级顺序排序为1至5的五个数据群组被分段在三个硬盘驱动器(HDD0 402a、HDD1 404a、HDD2 406a)上,其中群组以不同的配置被存储在每个硬盘驱动器上。在这些实施例中,如果驱动器发生故障,数据群组在硬盘驱动器上的位置是无关紧要的,因为重建优先考虑在重建不太重要的数据之前重建重要数据,如图4D的屏幕快照400d所示。在这些实施例中,HDD1的数据群组2是尽管在HDD1上位于数据群组1、5和4之后但在备用上重建的第二数据群组。
本发明的一些实施例用于RAID阵列体系结构技术中,通过利用机器学习结合RAID阵列来管理文件级的重建并对其区分优先级,以允许通过基于跨阵列的数据的指派值进行分类来在重建(到块的群组)期间指派优先级值。在这些实施例中,在重建期间,使用优先级值来确定哪些数据与RAID阵列和/或用户更相关,以确保在与相对较低优先级值相对应的数据之前,先复制与较高优先级值相对应的数据。
本发明的一些实施例可以包括以下特征、特性和/或优点中的一个或多个:(i)创建分类以帮助和优先化损坏的RAID阵列的重建过程;(ii)出于优先级指派的目的对数据块(例如,对应于单个文件的块)进行分组,而不是逐卷地指派优先级值;(iii)在同一卷中可以有不同优先级值的数据(但是本发明优选地允许在较低优先级部分之前拷贝卷的较高优先级部分);(iv)使用聚类算法将优先级值指派给块(或块的集合),所述聚类算法使其自身适应于可能存在的不同类型的数据;(v)分析数据块并基于不断监视的不同特征创建组(群组);(vi)使用那些标签(组)来使最重要的数据首先被重建,以防止将损坏RAID阵列而不能修复的随后的潜在故障;(vii)动态地使用数据本身的读/写活动以及数据被访问的频率,然后自动地将数据分类以首先重建关键数据;(viii)确定如何对重建进行优先级排序的更复杂算法;(ix)使用写入活动和/或访问频率来确定所述数据的关键性,以便向块集合指派优先级值;(x)使用自适应算法对所述数据进行分类,并且基于历史使用对所述数据进行分类和优先化;(xi)首先重建相对最高优先级的数据,以便在后续故障的情况下保留它;(xii)关注首先重建什么对比主机正在做的任何事情;和/或(xiii)取得已经故障的驱动器并确定以什么顺序重建什么。
IV.定义
本发明:不应被认为是绝对的指示,即术语"本发明"所描述的主题被提交的权利要求所覆盖,或者被在专利申请之后可能最终授权的权利要求所覆盖;虽然术语"本发明"用于帮助读者获得一般感觉,对于该感觉,本文的公开被认为是潜在地新的,但是如通过使用术语"本发明"所指示的该理解是试验性的和临时的,并且随着相关信息的发展和权利要求被潜在地修改,该理解在专利审查的过程中会发生改变。
实施例:参见上面的"本发明"的定义-类似的警告适用于术语"实施例。"
和/或:包括性或;例如,A、B“和/或”C是指A或B或C中的至少一个是真的和可应用的。
包括/包含/含有:除非另有明确说明,否则是指"包括但不一定限于。"
模块/子模块:操作性地工作以执行某种功能的硬件、固件和/或软件的任何集合,而不考虑模块是否:(i)在单个局部邻近度中;(ii)分布在广阔的区域上;(iii)在较大的软件代码片段内的单个邻近度中;(iv)位于单个软件代码片段内;(v)位于单个存储设备、存储器或介质中;(vi)机械连接;(vii)电连接;和/或(viii)以数据通信方式连接。
计算机:具有重要数据处理和/或机器可读指令读取能力的任何设备,包括但不限于:台式计算机、大型计算机、膝上型计算机、基于现场可编程门阵列(FPGA)的设备、智能电话、个人数字助理(PDA)、体装式或插入式计算机、嵌入式设备风格的计算机、基于专用集成电路(ASIC)的设备。
Claims (18)
1.一种计算机实现的方法,包括:
将多个数据块存储在包括多个存储设备的条带式独立设备冗余阵列(RAID)存储系统中;
存储所述多个数据块的奇偶校验数据;
利用机器学习至少部分地基于对指派给在指派优先级数据值时考虑的一组因素的相对权重以及被指派给所述多个数据块中的每个数据块的优先级数据值的检查,更新用于指派所述优先级数据值的优先级指派算法;
对于所述多个数据块中的每个给定数据块,基于所述优先级指派算法向所述给定数据块指派优先级数据值;以及
响应于所述多个存储设备中的第一存储设备的故障,使用所述奇偶校验数据和存储在所述多个存储设备中除了所述第一存储设备之外的其他存储设备上的数据块的数据,以按照存储在所述第一存储设备上的所述数据块的优先级值确定的顺序重建存储在所述第一存储设备上的数据块。
2.根据权利要求1所述的方法,其中所述指派优先级数据值至少部分地基于以下的至少一者:块大小、读取频率、读取趋势、数据保护包含以及对去重块的引用的数量。
3.根据权利要求1所述的方法,其中所述指派优先级数据值包括用k均值聚类算法对所述多个数据块中的每个数据块进行聚类。
4.根据权利要求1所述的方法,其中所述重建将所述数据块重建到第二存储设备上。
5.根据权利要求4所述的方法,还包括:
将与所述第一存储设备的所述数据块相关联的奇偶校验数据重新映射到所述第二存储设备的数据块。
6.根据权利要求1所述的方法,其中向所述给定块指派优先级数据值还向包含与所述给定块相关联的元数据的数据块指派相同的优先级值。
7.一种机器可读存储介质,包括存储在所述机器可读介质上的计算机代码,其中所述计算机代码包括用于使处理器组执行包括以下的操作的指令:
将多个数据块存储在包括多个存储设备的条带式独立设备冗余阵列(RAID)存储系统中,
存储所述多个数据块的奇偶校验数据,
利用机器学习至少部分地基于对指派给在指派优先级数据值时考虑的一组因素的相对权重以及被指派给所述多个数据块中的每个数据块的优先级数据值的检查,更新用于指派所述优先级数据值的优先级指派算法,
对于所述多个数据块中的每个给定数据块,基于所述优先级指派算法向所述给定数据块指派优先级数据值,以及
响应于所述多个存储设备中的第一存储设备的故障,使用所述奇偶校验数据和存储在所述多个存储设备中除了所述第一存储设备之外的其他存储设备上的数据块的数据,以按照存储在所述第一存储设备上的数据块的优先级值确定的顺序重建存储在所述第一存储设备上的数据块。
8.如权利要求7所述的机器可读存储介质,其中所述指派优先级数据值至少部分地基于以下的至少一者:块大小、读取频率、读取趋势、数据保护包含以及对去重块的引用的数量。
9.如权利要求7所述的机器可读存储介质,其中所述指派优先级数据值包括用k均值聚类算法对所述多个数据块中的每个数据块进行聚类。
10.如权利要求7所述的机器可读存储介质,其中所述重建将所述数据块重建到第二存储设备上。
11.如权利要求10所述的机器可读存储介质,其中所述计算机代码还包括用于使所述处理器组执行以下操作的指令:
将与所述第一存储设备的所述数据块相关联的奇偶校验数据重新映射到所述第二存储设备的数据块。
12.如权利要求7所述的机器可读存储介质,其中向所述给定块指派优先级数据值还为包含与所述给定块相关联的元数据的数据块指派相同的优先级值。
13.一种计算机系统,包括:
处理器组;
机器可读存储设备;以及
存储在所述机器可读存储设备上的计算机代码,其中所述计算机代码包括用于使所述处理器组执行包括以下的操作的指令:
将多个数据块存储在包括多个存储设备的条带式独立设备冗余阵列(RAID)存储系统中;
存储所述多个数据块的奇偶校验数据;
利用机器学习至少部分地基于对指派给在指派优先级数据值时考虑的一组因素的相对权重以及被指派给所述多个数据块中的每个数据块的优先级数据值的检查,更新用于指派所述优先级数据值的优先级指派算法;
对于所述多个数据块中的每个给定数据块,基于所述优先级指派算法向所述给定数据块指派优先级数据值;以及
响应于所述多个存储设备中的第一存储设备的故障,使用所述奇偶校验数据和存储在所述多个存储设备中除了所述第一存储设备之外的其他存储设备上的数据块的数据,以按照存储在所述第一存储设备上的数据块的优先级值确定的顺序重建存储在所述第一存储设备上的数据块。
14.根据权利要求13所述的系统,其中所述指派优先级数据值至少部分地基于以下的至少一者:块大小、读取频率、读取趋势、数据保护包含以及对去重块的引用的数量。
15.根据权利要求13所述的系统,其中所述指派优先级数据值包括用k均值聚类算法对所述多个数据块中的每个数据块进行聚类。
16.根据权利要求13所述的系统,其中所述重建将所述数据块重建到第二存储设备上。
17.根据权利要求16所述的系统,其中所述计算机代码还包括用于使所述处理器组执行以下操作的指令:
将与所述第一存储设备的所述数据块相关联的奇偶校验数据重新映射到所述第二存储设备的数据块。
18.如权利要求13所述的系统,其中向所述给定块指派优先级数据值还向包含与所述给定块相关联的元数据的数据块指派相同的优先级值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/811,822 US10691543B2 (en) | 2017-11-14 | 2017-11-14 | Machine learning to enhance redundant array of independent disks rebuilds |
US15/811,822 | 2017-11-14 | ||
PCT/IB2018/058741 WO2019097360A1 (en) | 2017-11-14 | 2018-11-07 | Machine learning to enhance redundant array of independent disks rebuilds |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111344679A CN111344679A (zh) | 2020-06-26 |
CN111344679B true CN111344679B (zh) | 2023-07-11 |
Family
ID=66432224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880073074.4A Active CN111344679B (zh) | 2017-11-14 | 2018-11-07 | 用于增强独立磁盘冗余阵列重建的机器学习的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10691543B2 (zh) |
JP (1) | JP7233804B2 (zh) |
CN (1) | CN111344679B (zh) |
DE (1) | DE112018004637B4 (zh) |
GB (1) | GB2582505B (zh) |
WO (1) | WO2019097360A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10691543B2 (en) | 2017-11-14 | 2020-06-23 | International Business Machines Corporation | Machine learning to enhance redundant array of independent disks rebuilds |
JP7405608B2 (ja) * | 2019-12-26 | 2023-12-26 | 株式会社日立製作所 | ストレージシステム |
US11734121B2 (en) * | 2020-03-10 | 2023-08-22 | EMC IP Holding Company LLC | Systems and methods to achieve effective streaming of data blocks in data backups |
US11372543B2 (en) * | 2020-04-10 | 2022-06-28 | Western Digital Technologies, Inc. | Zone-append command scheduling based on zone state |
US11604698B2 (en) * | 2020-12-02 | 2023-03-14 | Code42 Software, Inc. | Method and process for automatic determination of file/object value using meta-information |
CN114721585A (zh) * | 2021-01-06 | 2022-07-08 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备和计算机程序产品 |
US11762782B2 (en) * | 2021-03-19 | 2023-09-19 | Dell Products, L.P. | Caching system and method for a workspace environment |
CN113535086B (zh) * | 2021-07-12 | 2023-07-25 | 中飞赛维智能科技股份有限公司 | 一种固态硬盘中重建的加速方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823728A (zh) * | 2014-03-13 | 2014-05-28 | 深圳市迪菲特科技股份有限公司 | 一种独立冗余磁盘阵列智能重建的方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301297A (en) | 1991-07-03 | 1994-04-05 | Ibm Corp. (International Business Machines Corp.) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof |
US7620843B2 (en) * | 2005-03-02 | 2009-11-17 | International Business Machines Corporation | Rebuilding a storage system |
US7305579B2 (en) * | 2005-03-22 | 2007-12-04 | Xiotech Corporation | Method, apparatus and program storage device for providing intelligent rebuild order selection |
US20090271659A1 (en) | 2008-04-24 | 2009-10-29 | Ulf Troppens | Raid rebuild using file system and block list |
US8006128B2 (en) * | 2008-07-31 | 2011-08-23 | Datadirect Networks, Inc. | Prioritized rebuilding of a storage device |
US7904749B2 (en) | 2008-10-24 | 2011-03-08 | Hitachi, Ltd. | Fast data recovery from HDD failure |
US8285952B2 (en) * | 2009-09-17 | 2012-10-09 | Hitachi, Ltd. | Method and apparatus to utilize large capacity disk drives |
US8726070B2 (en) | 2010-09-27 | 2014-05-13 | Dell Products L.P. | System and method for information handling system redundant storage rebuild |
JP5640618B2 (ja) * | 2010-10-04 | 2014-12-17 | 富士通株式会社 | 管理プログラム、管理装置、および管理方法 |
US8751861B2 (en) | 2012-02-08 | 2014-06-10 | Lsi Corporation | System and method for improved rebuild in RAID |
US20140006369A1 (en) * | 2012-06-28 | 2014-01-02 | Sean Blanchflower | Processing structured and unstructured data |
US9135096B2 (en) | 2012-12-06 | 2015-09-15 | Compellent Technologies | RAID surveyor |
US20140215147A1 (en) | 2013-01-25 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Raid storage rebuild processing |
US20140281689A1 (en) | 2013-03-15 | 2014-09-18 | Teradata Corporation | Method and system for rebuilding data following a disk failure within a raid storage system |
GB2514810A (en) * | 2013-06-05 | 2014-12-10 | Ibm | Rebuilding data of a storage system |
US9292389B2 (en) * | 2014-01-31 | 2016-03-22 | Google Inc. | Prioritizing data reconstruction in distributed storage systems |
WO2016048314A1 (en) * | 2014-09-24 | 2016-03-31 | Hewlett Packard Enterprise Development Lp | Block priority information |
JP6059314B1 (ja) * | 2015-09-17 | 2017-01-11 | ヤフー株式会社 | 推定装置、推定方法及び推定プログラム |
US10691543B2 (en) | 2017-11-14 | 2020-06-23 | International Business Machines Corporation | Machine learning to enhance redundant array of independent disks rebuilds |
-
2017
- 2017-11-14 US US15/811,822 patent/US10691543B2/en active Active
-
2018
- 2018-11-07 WO PCT/IB2018/058741 patent/WO2019097360A1/en active Application Filing
- 2018-11-07 CN CN201880073074.4A patent/CN111344679B/zh active Active
- 2018-11-07 GB GB2008683.1A patent/GB2582505B/en active Active
- 2018-11-07 JP JP2020522319A patent/JP7233804B2/ja active Active
- 2018-11-07 DE DE112018004637.0T patent/DE112018004637B4/de active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823728A (zh) * | 2014-03-13 | 2014-05-28 | 深圳市迪菲特科技股份有限公司 | 一种独立冗余磁盘阵列智能重建的方法 |
Also Published As
Publication number | Publication date |
---|---|
GB202008683D0 (en) | 2020-07-22 |
JP7233804B2 (ja) | 2023-03-07 |
US20190146875A1 (en) | 2019-05-16 |
US10691543B2 (en) | 2020-06-23 |
GB2582505B (en) | 2022-08-10 |
JP2021503115A (ja) | 2021-02-04 |
DE112018004637T5 (de) | 2020-06-04 |
CN111344679A (zh) | 2020-06-26 |
GB2582505A (en) | 2020-09-23 |
DE112018004637B4 (de) | 2021-06-10 |
WO2019097360A1 (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111344679B (zh) | 用于增强独立磁盘冗余阵列重建的机器学习的方法和系统 | |
CN111104244B (zh) | 用于在存储阵列组中重建数据的方法和设备 | |
CN108733314B (zh) | 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质 | |
CN105683927B (zh) | 用于重新平衡贮存在闪速存储器装置中的数据的方法和系统 | |
US10067844B2 (en) | Method of channel content rebuild in ultra-high capacity SSD | |
US10365983B1 (en) | Repairing raid systems at per-stripe granularity | |
US8825938B1 (en) | Use of write allocation decisions to achieve desired levels of wear across a set of redundant solid-state memory devices | |
US9524104B2 (en) | Data de-duplication for information storage systems | |
US9886440B2 (en) | Snapshot management using heatmaps in a large capacity disk environment | |
US8799745B2 (en) | Storage control apparatus and error correction method | |
US8732411B1 (en) | Data de-duplication for information storage systems | |
US9218138B1 (en) | Restoring snapshots to consistency groups of mount points | |
US20110238936A1 (en) | Method and system for efficient snapshotting of data-objects | |
US10346247B1 (en) | Adjustable error sensitivity for taking disks offline in a mapped RAID storage array | |
CN112148204B (zh) | 用于管理独立冗余盘阵列的方法、设备和介质 | |
CN111400084B (zh) | 进行关于容错式磁盘阵列的动态复原管理的方法与装置 | |
US20200293196A1 (en) | Compression of page of data blocks and data integrity fields for the data blocks for storage in storage device | |
EP3596606B1 (en) | Storage system control | |
US11513712B2 (en) | Method for storage management, device and computer program product | |
US10416982B1 (en) | Automated analysis system and method | |
US11281535B2 (en) | Method and system for performing a checkpoint zone operation for a spare persistent storage | |
CN116974458A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
US11301327B2 (en) | Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster | |
US11416357B2 (en) | Method and system for managing a spare fault domain in a multi-fault domain data cluster | |
US9703655B1 (en) | Recovery after data loss in a reliable distributed computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |