CN104598162B - 用于跨存储设备写入数据的方法和系统 - Google Patents
用于跨存储设备写入数据的方法和系统 Download PDFInfo
- Publication number
- CN104598162B CN104598162B CN201410599222.XA CN201410599222A CN104598162B CN 104598162 B CN104598162 B CN 104598162B CN 201410599222 A CN201410599222 A CN 201410599222A CN 104598162 B CN104598162 B CN 104598162B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- arrangement
- parity
- parity block
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, i.e. caches used in RAID system with parity
Abstract
本公开提出了用于跨存储设备写入数据的方法和系统。所述方法包括:从第一数据计算第一数据块和第一奇偶校验块,所述第一数据将被存储在系统中,其中所述计算由一个或多个控制器执行,所述控制器中的每一个是独立磁盘冗余阵列控制器;以及通过使用一个或多个布置节点来提供计算出的第一数据块和第一奇偶校验块在存储设备中的位置,所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案。
Description
技术领域
本发明涉及计算机科学领域,并且更具体地涉及一种用于在纠删码系统中跨存储设备写入数据的计算机实现的方法和系统程序。
背景技术
现今,使用RAID(独立磁盘冗余阵列)的数据存储系统采用硬件RAID控制器,该硬件RAID控制器计算一组用户数据块的奇偶校验、并跨越给定的一组存储设备存储所述奇偶校验。
研究团体已经提出若干种存储系统,例如在以下专利或专利申请中提出:US2012/0266011A1、US2012/0311255A1、US2012/0030425A1、US8166370B1、US2012/0278689A1、US2013/0007572A1、US7346831B1;并且还在以下文章中提出:
-Bin Fan Wittawat Tantisiriroj Lin Xiao Garth Gibson.DISKREDUCE:REPLICATION AS A PRELUDE TO ERASURE CODING IN DATAINTENSIVE SCALABLECOMPUTING;
-Vladimir Sapunenko.DATA PROTECTION TECHNOLOGIES:WHAT COMES AFTERRAID?2012年春季HEPiX研讨会,23-27,2012年4月;
-Ping-Hsun Hsieh Ing-Yi Chen;Yu-Ting Lin;Sy-Yen Kuo.AN XOR BASEDREED-SOLOMON ALGORITHM FOR ADVANCED RAID SYSTEMS.发表于Defect and FaultTolerance in VLSI Systems,10-13,2004年10月,p.165-172。
随着系统向外扩展,许多RAID控制器被使用,其中每个RAID控制器被指派给给定的一组存储设备。通过设计,这样的系统具有数据和奇偶校验的成簇布置。
使用RAID的系统是使用纠删码的更大一类系统的一部分。对于纠删码系统,近来的研究已经表明:当纠删码中的奇偶校验的数量大于一(例如,RAID-6、三路复制)时,除了成簇以外的布置方案(例如,分簇)在可靠性方面具有显著优势。诸如分簇布置之类的布置方案已经在用于各种纠删码的软件中被实现。然而,当系统尺寸扩展或当工作负荷增加时,这样的软件实现可能遭受严重的性能退化。
在此背景下,仍然需要用于在纠删码系统中跨存储设备处理数据的改进的解决方案。
发明内容
根据一个方面,本发明被实现为一种用于在纠删码系统中跨存储设备写入数据的方法。该方法包括:从第一数据计算第一数据块和第一奇偶校验块,所述第一数据将被存储在系统中,其中所述计算由一个或多个控制器执行,所述控制器中的每一个是独立磁盘冗余阵列控制器;以及通过使用一个或多个布置节点来提供计算出的第一数据块和第一奇偶校验块在存储设备中的位置,所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案。
在示例中,该方法可以包括下述中的一个或多个:
-根据由一个或多个控制器使用的纠删码,选择由一个或多个布置节点管理的布置方案;
-提供计算出的第一数据块和第一奇偶校验块的位置还包括将由一个或多个布置节点提供的位置存储在布置元数据中,该布置元数据对于每个数据块和每个奇偶校验块包括系统中的块的逻辑地址空间与存储设备中的块的物理地址空间之间的映射。
-将第一数据块和第一奇偶校验块发送到一个或多个布置节点,并将所发送的第一数据块和第一奇偶校验块存储在识别出的位置上;
-将被存储的第二数据是已经存储的第一数据的更新,还包括:由一个或多个控制器向一个或多个布置节点请求将被更新的第一数据块和第一奇偶校验块,向一个或多个控制器提供所请求的将被更新的第一数据块和第一奇偶校验块,并且通过根据将被更新的第二数据修改所提供的第一数据块和第一奇偶校验块,来计算第二数据块和第二奇偶校验块;
-将计算出的第二数据块和第二奇偶校验块发送到一个或多个布置节点,并将第二数据块和第二奇偶校验块存储在识别出的位置上;
-在发送计算出的第二数据块和第二奇偶校验块之前:
由一个或多个布置节点识别计算出的第二数据块和第二奇偶校验块在存储系统中的位置;
-检测一个或多个存储设备发生故障;由一个或多个布置节点启动存储在发生故障的一个或多个存储设备上的数据块和奇偶校验块的重建;
-启动数据块和奇偶校验块的重建包括:由一个或多个布置节点识别幸存的数据块和奇偶校验块的位置;由一个或多个布置节点取回存储在识别出的位置处的幸存的数据块和奇偶校验块;将取回的幸存的数据块和奇偶校验块发送到一个或多个控制器;从取回的幸存的数据块和奇偶校验块重建丢失的数据块和丢失的奇偶校验块;
根据另一方面,本发明被实现为用于跨存储设备写入数据的纠删码系统,该系统包括一个或多个独立磁盘冗余阵列控制器和一个或多个布置节点,所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案,所述系统适于执行上述方法。
在示例中,该系统可以包括下述中的一个或多个:
-一个或多个布置节点管理分簇布置方案;
-该系统包括实现不同的纠删码的至少两个控制器;
-该系统运行包括用于实现一个或多个布置节点的代码模块的计算机程序。
附图说明
现在将要通过非限制性示例并且参考附图描述体现本发明的系统和过程,在附图中:
图1示出代表该方法的流程图;
图2和3示出代表该系统的示例的流程图;
图4图解成簇和分簇布置的示例;
图5图解执行该方法的系统的示例;并且
图6示出计算机系统的示例。
具体实施方式
参考图1的流程图,其示出一种用于在纠删码系统中跨存储设备写入数据的方法。该方法包括:从第一数据计算第一数据块和第一奇偶校验块,所述第一数据将被存储在系统中,其中所述计算由一个或多个控制器执行,所述控制器中的每一个是独立磁盘冗余阵列(RAID)控制器。该方法还包括:通过使用一个或多个布置节点来提供所计算的第一数据块和第一奇偶校验块在存储设备中的位置,所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案。布置方案可以是分簇布置方案。
这样的方法改进纠删码系统中的数据处理的性能而无需高开发成本。值得注意的是,所提出的方法结合软件和硬件实现的优点、并避免两者面对的缺点。的确,本发明使用RAID控制器用于从数据计算数据块和奇偶校验块(即,实现纠删码),并且使用一个或多个布置节点来根据给定布置方案将RAID控制器的输出路由至系统中的不同存储设备。通过这种方式,纠删码系统中的数据的写入不限于在硬件中实现的给定纠删码或布置方案,因为一旦硬件被实现,那么改变纠删码或布置方案是不可行的。以其他方式表述,使用硬件RAID控制器确保在对存储系统写入和更新期间极其快速的奇偶校验计算,并且通过使用布置节点来路由RAID控制器的输出,可以在软件中进行数据和奇偶校验块的布置。这有利地允许优化数据和奇偶校验块跨越系统中所有存储设备的布置以平衡成本、性能和可靠性。
在步骤S10处,由计算机客户端发送用于在纠删码系统中存储数据的写入请求。由至少一个RAID控制器接收该写入请求。术语RAID控制器意指管理物理存储设备(例如,磁盘驱动器)并将它们作为逻辑单元呈现给计算机的设备。因此,RAID控制器是存储指令和执行这些指令的一块硬件(物理对象,例如处理器)。术语写入请求意指纠删码系统的客户端发送将要存储在系统上的数据。术语数据是指由计算机对其执行操作的量、字符或符号。例如,客户端可以请求向系统写入文件。
实际上,由高速缓冲存储器10接收写入请求,如图5上图解的那样。高速缓冲存储器充当在其中暂时存储写入、更新、删除请求(步骤S20)直到RAID控制器可用于处理请求的缓冲器。
然后,在步骤S30处,已经将写入请求的数据从写入式高速缓存发送到一个或多个RAID控制器。实际上,由一个或多个RAID控制器处理写入请求,也就是说,几个RAID控制器当中的一个RAID控制器从将被存储在系统中的数据计算数据块和奇偶校验块。
数据块和奇偶校验块是由RAID控制器对将被存储的数据执行变换的结果:RAID控制器已经对将被存储在系统上的数据进行编码。术语块意指一位或多位数据。术语奇偶校验块意指用于所述一个或多个数据块上的错误检测和纠正的一位或多位数据。数据和奇偶校验块可以构成一块数据;例如,将奇偶校验块放置在数据块的末尾,如本领域已知的那样。应理解的是,数据块和奇偶校验块的数目可以取决于用于对数据进行编码的纠删码而变化。例如,对于若干个数据块可以有一个奇偶校验块。
RAID控制器对数据的编码是纠删编码的一部分,纠删编码是一种数据保护的方法,在该方法中数据被分成片段,利用冗余数据片被扩展和编码,并跨越诸如磁盘、存储节点或地理位置之类的一组不同的位置被存储。例如,所提出的方法可以用于但不限于最大距离可分(MDS)纠删码。
现在参考在图5中描绘的系统,其包括仅执行编码和解码操作的若干个RAID控制器20和实现不同级别的冗余(即,不同的纠删码)的至少两个不同的RAID控制器。
返回来参考图1,在步骤S40处,将数据和奇偶校验块发送到一个或多个布置节点。布置节点是管理数据和奇偶校验块跨存储设备的布置方案的软件。术语软件意指由计算机处理器执行的一组计算机可读指令,计算机处理器由于执行指令而执行操作。通常,布置节点是计算机程序。将数据和奇偶校验块发送到一个或多个布置节点包括:由(一个或多个)布置节点管理原来由(一个或多个)RAID控制器管理的块。术语布置方案意指系统的存储设备上的块布置策略。通常,布置方案将确定将要在其上存储奇偶校验块的存储设备的位置。实际上,可以将数据和奇偶校验块发送到一个布置节点。
可以预期到若干种布置方案,例如成簇或分簇布置方案。例如,一种布置方案考虑使用(l,m)-MDS纠删码的存储系统。将每组l个用户数据块映射到一组m个数据块(被称作代码字),使得代码字的任何l块可以被用来恢复l个用户数据块。这样的代码字可以幸免于多达m-l个代码字块的损失。这种纠删码的示例是复制(其中,对于r路复制,l=1,m=r),RAID-5(其中,m-l=1),RAID-6(其中,m-l=2),以及里德-所罗门码。一旦一组l个用户数据块已经被编码到m块的一个代码字中,那么这m块需要被存储在系统的n个存储设备的m个上。在大规模数据存储系统中,m的值通常比n的值小得多。因此,存在大量可以将长度m的代码字布置在具有n个磁盘的系统中的可能方式。
现在参考图4,其是例示的成簇(clustered)和分簇(declustered)布置方案。在成簇布置中,将n个磁盘划分成m个磁盘的不相交集(称作簇),并且将每个代码字布置在这些簇中的一个中。在图4中,将n=6个磁盘划分成m=3个磁盘的2簇。在分簇布置方案中,将用于布置代码字的从n中选出m(n-choose-m)的可能方式中的每一个均等地用于将代码字跨所有磁盘存储的过程中。在图4中,针对m=3和n=6示出分簇布置方案。
返回到图1,一旦已经将数据和奇偶校验块发送到至少一个布置节点(步骤S40),那么在步骤S50处(一个或多个)布置节点选择布置方案。由于根据由(一个或多个)布置节点选择的预定布置方案可以将数据块和其对应的奇偶校验块布置在系统中的任何一组存储设备上,所以这有利地避免将系统中的存储设备划分成(具有潜在的不同级别的冗余的)不同奇偶校验群,并且数据块和其对应的奇偶校验块不会被布置在这些群中的一个中。
可以根据由已经执行数据编码的(一个或多个)RAID控制器使用的纠删码来执行布置方案的选择。通过允许系统根据给定的纠删码来使用针对将被存储在系统上的到来数据的布置策略,系统的可靠性得以显著增强。
有趣的是,可以有一个布置节点与一个RAID控制器相关联。系统因此包括一组RAID控制器/布置节点对。布置节点因此不执行在若干个布置方案当中进行的布置方案的选择(S50),因为纠删码将被布置节点使用。
然后,在步骤S60处,提供所计算的数据和奇偶校验块在存储设备中的位置。术语位置意指存储设备中的物理存储。布置节点知道系统的完整逻辑地址空间。可以利用布置元数据将此知识提供给布置节点。针对每个数据块和奇偶校验块,布置元数据包括系统中的块的逻辑地址空间与存储设备中的块的物理地址空间之间的映射。
通常,可以将布置元数据存储在数据库30上,如图5上所示。可以将数据库安装在运行(一个或多个)布置节点的计算机系统上。可替换地,可以将数据库安装在专用计算机系统上。因此,布置节点40将在本地或远程访问布置元数据。
返回到图1的流程图,在步骤S70处,识别出的逻辑地址中的位置由布置节点存储在布置元数据中,使得关于逻辑地址空间的信息维持最新。因此,布置元数据包括针对将被写入到存储设备上的每个新块的新条目。
然后,在步骤S80处,将数据和奇偶校验块存储在系统上的识别出的位置上。在该方法的此阶段,已经完成写入请求。
现在参考图2,其例示了更新请求;将被存储的第二数据是已经存储的第一数据(例如,参考图1在纠删码系统中存储的数据)的更新。
在步骤S90处,由计算机客户端发送用于在纠删码系统中更新数据的更新请求。由至少一个RAID控制器接收该更新请求。实际上,由图5上图解的高速缓冲存储器10接收该更新请求并将其存储在其中(步骤S100)。
接下来,在步骤S110处,一个或多个RAID控制器向一个或多个布置节点请求需要被更新的数据和奇偶校验块。为此目的,(一个或多个)布置节点在布置元数据中执行搜索以便识别数据和奇偶校验块的对应位置;然后,在步骤S120处,(一个或多个)布置节点将所请求的块传递到RAID控制器。
在接收到更新请求的RAID控制器实现与用于存储将被更新的块的RAID控制器不同的冗余级别的情况下,(一个或多个)布置节点可以选择实现初始冗余级别的另一RAID控制器。在这种情况下,所选择的RAID控制器将处理更新。可替换地,已经接收到更新请求的RAID控制器无论如何将处理请求。
然后,在步骤S130处,处理更新请求的RAID控制器通过修改在步骤S120处提供的数据和奇偶校验块来计算数据块和奇偶校验块。根据更新请求的数据执行修改,如本领域已知的那样。
一旦已经由RAID控制器对更新后的数据和奇偶校验块进行编码,RAID控制器将更新后的数据和奇偶校验块发送到一个或多个布置节点(步骤S140),例如发送到在步骤S120处已经传递所请求的块的布置节点。应理解的是,步骤S120和S140的布置节点可以不同。
然后,在步骤S150处,接收到更新后的块的布置节点为更新后的数据和奇偶校验块提供存储设备中的位置。如参考步骤S60描述的那样执行位置的识别。
接下来,在步骤S170处,将更新后的数据和奇偶校验块存储在识别出的位置上。更新请求因此得以完成。
现在参考图3,其例示了更新请求;将被存储的第二数据是已经存储的第一数据(例如参考图1在纠删码系统中写入的、或者参考图2在纠删码系统中更新的数据)的更新。
在步骤S170处,检测一个或多个存储设备的故障,也就是说,存储在(一个或多个)存储设备上的数据和奇偶校验块不能再被访问。这些块因此被认为已丢失。
启动在出故障的一个或多个存储设备上存储的数据和奇偶校验块的重建。可以根据用户动作或者由系统触发重建丢失块的决定。
重建被执行如下。在步骤S180处,识别幸存的数据和奇偶校验块的位置。这由一个或多个布置节点执行。例如,一个布置节点可以在布置元数据中识别一个或多个发生故障的存储设备的逻辑地址空间,并因此识别存储在不受此故障影响的逻辑地址空间上的所有幸存块。
一旦识别出幸存块,则(一个或多个)布置节点从识别出的位置取回(步骤S190)幸存数据和奇偶校验块,并将这些取回的块发送(步骤S200)到负责重建丢失数据的一个或多个RAID控制器,如本领域已知的那样。应理解的是,布置节点仅向RAID控制器发送利用其实现的纠删码编码的幸存块。
然后,在步骤S210处,从取回的幸存数据和奇偶校验块一块接一块地重建丢失数据和奇偶校验块。
之后将计算出的块存储在替代发生故障的(一个或多个)存储设备的一个或多个存储设备上。这可以如参考步骤S70和S80所讨论的那样来执行。
图6是根据本发明的实施例的适合于实现布置节点、和/或例如在将布置元数据存储在计算机上运行的数据库上的情况下存储并管理布置元数据的计算机系统的框图。根据本发明的实施例的计算机系统(901)包括被连接到总线(900)的CPU(904)和主存储器(902)。可以将总线(900)连接到显示控制器(912),显示控制器(912)被连接到诸如LCD监视器的显示器(914)。显示器(914)可以被用来显示关于计算机系统的信息。总线(900)也通过诸如IDE、SATA等控制器的设备控制器(906)连接到诸如硬盘(908)或DVD(910)的存储设备。计算机系统还可以适合于托管用于执行根据本发明的方法的几个RAID控制器(906);RAID控制器通常连接到总线(900)。总线(900)还可以通过键盘/鼠标控制器(910)或USB控制器(未示出)连接到键盘(922)和鼠标(924)。总线还可以连接到例如符合以太网(注册商标)协议的通信控制器(918)。通信控制器(918)可以被用来将计算机系统(901)与网络(916)物理地连接。
附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些替代性实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (13)
1.一种用于在纠删码系统中跨存储设备写入数据的方法,其中所述方法包括:
-从第一数据计算(S30)第一数据块和第一奇偶校验块,所述第一数据将被存储在所述系统中,其中所述计算由一个或多个控制器执行,所述控制器中的每一个是独立磁盘冗余阵列控制器;
-将所述第一数据块和所述第一奇偶校验块发送(S40)到一个或多个布置节点;
-从所述一个或多个布置节点来接收(S60)计算出的第一数据块和第一奇偶校验块,其中所述一个或多个布置节点是管理数据和奇偶校验块跨存储设备的布置方案的软件,所述布置方案确定将要在其上存储奇偶校验块的存储设备的位置;
-将由所述一个或多个布置节点提供的位置存储(S70)在布置元数据中,所述布置元数据对于每个数据块和每个奇偶校验块包括所述系统中的块的逻辑地址空间与所述存储设备中的块的物理地址空间之间的映射。
2.如权利要求1所述的方法,还包括:
-根据由所述一个或多个控制器使用的纠删码,选择(S50)由所述一个或多个布置节点管理的布置方案。
3.如权利要求1所述的方法,还包括:
-将所发送的第一数据块和第一奇偶校验块存储(S80)在识别出的位置上。
4.如权利要求1至3中任一项所述的方法,其中将被存储的第二数据是已经存储的第一数据的更新。
5.如权利要求4所述的方法,还包括:
-由所述一个或多个控制器向所述一个或多个布置节点请求(S110)将被更新的第一数据块和第一奇偶校验块;
-向所述一个或多个控制器提供(S120)所请求的将被更新的第一数据块和第一奇偶校验块;以及
-通过根据将被更新的第二数据修改所提供的第一数据块和第一奇偶校验块,来计算(S130)第二数据块和第二奇偶校验块。
6.如权利要求5所述的方法,还包括:
-将计算出的第二数据块和第二奇偶校验块发送(S140)到所述一个或多个布置节点;
-将所述第二数据块和第二奇偶校验块存储(S160)在识别出的位置上。
7.如权利要求6所述的方法,还包括在发送计算出的第二数据块和第二奇偶校验块之前:
-由所述一个或多个布置节点识别(S150)计算出的第二数据块和第二奇偶校验块在所述存储系统中的位置。
8.如权利要求1至3中任一项所述的方法,还包括:
-检测(S170)一个或多个存储设备发生故障;
-由所述一个或多个布置节点启动存储在发生故障的所述一个或多个存储设备上的数据块和奇偶校验块的重建。
9.如权利要求8所述的方法,其中启动数据块和奇偶校验块的重建包括:
-由所述一个或多个布置节点识别(S180)幸存的数据块和奇偶校验块的位置;
-由所述一个或多个布置节点取回(S190)存储在识别出的位置处的幸存的数据块和奇偶校验块;
-将取回的幸存的数据块和奇偶校验块发送(S200)到所述一个或多个控制器;
-从取回的幸存的数据块和奇偶校验块重建(S210)丢失的数据块和丢失的奇偶校验块。
10.一种用于跨存储设备写入数据的纠删码系统,所述系统包括一个或多个独立磁盘冗余阵列控制器(20)和一个或多个布置节点(40),所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案,所述系统适于执行权利要求1至9中任一项的方法。
11.如权利要求10所述的系统,其中所述一个或多个布置节点管理分簇布置方案。
12.如权利要求10至11中任一项所述的系统,其中所述系统包括实现不同的纠删码的至少两个控制器。
13.如权利要求10至11中任一项所述的系统,其中所述系统运行包括用于实现所述一个或多个布置节点的代码模块的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1319286.9 | 2013-10-31 | ||
GB1319286.9A GB2519815A (en) | 2013-10-31 | 2013-10-31 | Writing data cross storage devices in an erasure-coded system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598162A CN104598162A (zh) | 2015-05-06 |
CN104598162B true CN104598162B (zh) | 2018-02-06 |
Family
ID=49767498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410599222.XA Active CN104598162B (zh) | 2013-10-31 | 2014-10-30 | 用于跨存储设备写入数据的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9690657B2 (zh) |
CN (1) | CN104598162B (zh) |
GB (1) | GB2519815A (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9690660B1 (en) * | 2015-06-03 | 2017-06-27 | EMC IP Holding Company LLC | Spare selection in a declustered RAID system |
US10135924B2 (en) * | 2015-06-26 | 2018-11-20 | EMC IP Holding Company LLC | Computing erasure metadata and data layout prior to storage using a processing platform |
US9530442B1 (en) * | 2015-09-23 | 2016-12-27 | Western Digital Technologies, Inc. | Enhanced low overhead data protection in data storage drives |
US9817713B2 (en) * | 2016-02-04 | 2017-11-14 | International Business Machines Corporation | Distributed cache system utilizing multiple erasure codes |
US10031701B2 (en) | 2016-02-09 | 2018-07-24 | International Business Machines Corporation | Hierarchical processing for extended product codes |
US10298266B2 (en) * | 2016-06-15 | 2019-05-21 | International Business Machines Corporation | Using storlet in erasure code object storage architecture for image processing |
US9841908B1 (en) | 2016-06-30 | 2017-12-12 | Western Digital Technologies, Inc. | Declustered array of storage devices with chunk groups and support for multiple erasure schemes |
US10437691B1 (en) * | 2017-03-29 | 2019-10-08 | Veritas Technologies Llc | Systems and methods for caching in an erasure-coded system |
US10705911B2 (en) * | 2017-04-24 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Storing data in a distributed storage system |
CN112328168A (zh) * | 2017-06-29 | 2021-02-05 | 华为技术有限公司 | 分片管理方法和分片管理装置 |
CN107341070B (zh) * | 2017-06-30 | 2020-07-10 | 长江大学 | 一种基于纠删码的随机写方法及系统 |
US11115056B2 (en) | 2018-06-12 | 2021-09-07 | International Business Machines Corporation | Location selection based on erasure code techniques |
JP7312251B2 (ja) | 2018-10-15 | 2023-07-20 | ネットアップ,インコーポレイテッド | 様々なデータ冗長性スキームを備えた、システムにおける利用可能なストレージ空間を改善すること |
US20200117362A1 (en) * | 2018-10-15 | 2020-04-16 | Netapp, Inc. | Erasure coding content driven distribution of data blocks |
CN109634771A (zh) * | 2018-10-31 | 2019-04-16 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
CN111176880B (zh) * | 2018-11-09 | 2021-08-13 | 杭州海康威视系统技术有限公司 | 磁盘分配方法、装置和可读存储介质 |
US11003391B2 (en) * | 2019-09-27 | 2021-05-11 | Dell Products L.P. | Data-transfer-based RAID data update system |
US11023313B2 (en) | 2019-09-27 | 2021-06-01 | Dell Products L.P. | Look-aside RAID controller storage-device-assisted data update system |
CN110618895B (zh) * | 2019-09-29 | 2023-06-09 | 北京天融信网络安全技术有限公司 | 一种基于纠删码的数据更新方法、装置和存储介质 |
CN112947847B (zh) * | 2019-12-11 | 2023-12-29 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法、设备和计算机程序产品 |
US11561856B2 (en) * | 2020-12-10 | 2023-01-24 | Nutanix, Inc. | Erasure coding of replicated data blocks |
US20240070021A1 (en) * | 2022-08-28 | 2024-02-29 | Micron Technology, Inc. | Proximity based parity data management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1228187A (zh) * | 1997-04-07 | 1999-09-08 | 索尼株式会社 | 数据记录装置和方法以及磁盘阵列控制装置和方法 |
CN101960429A (zh) * | 2008-02-28 | 2011-01-26 | 哈里公司 | 视频媒体数据存储系统以及相关方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633933B1 (en) * | 1999-09-30 | 2003-10-14 | Oak Technology, Inc. | Controller for ATAPI mode operation and ATAPI driven universal serial bus mode operation and methods for making the same |
US7346831B1 (en) | 2001-11-13 | 2008-03-18 | Network Appliance, Inc. | Parity assignment technique for parity declustering in a parity array of a storage system |
US7051156B2 (en) * | 2002-11-06 | 2006-05-23 | Synology Inc. | Raid-5 disk having cache memory |
US7210019B2 (en) * | 2004-03-05 | 2007-04-24 | Intel Corporation | Exclusive access for logical blocks |
US7661058B1 (en) * | 2006-04-17 | 2010-02-09 | Marvell International Ltd. | Efficient raid ECC controller for raid systems |
WO2009149388A1 (en) | 2008-06-06 | 2009-12-10 | Pivot3 | Method and system for distributing commands to targets |
US8583866B2 (en) | 2010-02-22 | 2013-11-12 | International Business Machines Corporation | Full-stripe-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US8677063B2 (en) * | 2010-07-30 | 2014-03-18 | International Business Machines Corporation | Parity declustered storage device array with partition groups |
US8694866B2 (en) | 2011-03-15 | 2014-04-08 | California Institute Of Technology | MDS array codes with optimal building |
US8732518B2 (en) | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
US8650471B2 (en) | 2011-06-28 | 2014-02-11 | Dell Products L.P. | System and method for look-aside parity based raid |
-
2013
- 2013-10-31 GB GB1319286.9A patent/GB2519815A/en not_active Withdrawn
-
2014
- 2014-10-27 US US14/524,382 patent/US9690657B2/en active Active
- 2014-10-30 CN CN201410599222.XA patent/CN104598162B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1228187A (zh) * | 1997-04-07 | 1999-09-08 | 索尼株式会社 | 数据记录装置和方法以及磁盘阵列控制装置和方法 |
CN101960429A (zh) * | 2008-02-28 | 2011-01-26 | 哈里公司 | 视频媒体数据存储系统以及相关方法 |
Also Published As
Publication number | Publication date |
---|---|
US9690657B2 (en) | 2017-06-27 |
CN104598162A (zh) | 2015-05-06 |
GB201319286D0 (en) | 2013-12-18 |
GB2519815A (en) | 2015-05-06 |
US20150121169A1 (en) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598162B (zh) | 用于跨存储设备写入数据的方法和系统 | |
US20210286520A1 (en) | Moving Data from a Buffer to Other Storage | |
KR101758544B1 (ko) | 비휘발성 메모리 시스템에서의 동기 미러링 | |
US9274908B2 (en) | Resolving write conflicts in a dispersed storage network | |
EP2703991B1 (en) | Scalable storage protection | |
US9063910B1 (en) | Data recovery after triple disk failure | |
CN108733518B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
US9900316B2 (en) | Accessing storage units of a dispersed storage network | |
US7925927B2 (en) | Simulator for determining data loss in a fault tolerant system | |
JP5298393B2 (ja) | 並列リードソロモンraid(rs−raid)アーキテクチャ、デバイス、および方法 | |
US20160217040A1 (en) | Raid parity stripe reconstruction | |
CN113407122A (zh) | Raid重建的方法和设备 | |
US8132044B1 (en) | Concurrent and incremental repair of a failed component in an object based storage system for high availability | |
US8732396B2 (en) | Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system | |
JP2006252530A (ja) | ディスクライト抜け検出装置およびディスクライト抜け検出方法 | |
US10324782B1 (en) | Hiccup management in a storage array | |
US10929229B2 (en) | Decentralized RAID scheme having distributed parity computation and recovery | |
EP4145265A2 (en) | Storage system | |
US20180032433A1 (en) | Storage system and data writing control method | |
US20040250028A1 (en) | Method and apparatus for data version checking | |
Li et al. | Exploiting decoding computational locality to improve the I/O performance of an XOR-coded storage cluster under concurrent failures | |
US20050216787A1 (en) | Method of calculating parity for surviving dual drive failures in a disk array | |
US9830094B2 (en) | Dynamic transitioning of protection information in array systems | |
US20220187989A1 (en) | Managing write transactions using index | |
US9471429B2 (en) | Scalable protection scheme for protecting destaged data units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |