CN102200938B - 无需使用奇偶校验建立优于6级raid的冗余和容错性的方法 - Google Patents
无需使用奇偶校验建立优于6级raid的冗余和容错性的方法 Download PDFInfo
- Publication number
- CN102200938B CN102200938B CN2011100760383A CN201110076038A CN102200938B CN 102200938 B CN102200938 B CN 102200938B CN 2011100760383 A CN2011100760383 A CN 2011100760383A CN 201110076038 A CN201110076038 A CN 201110076038A CN 102200938 B CN102200938 B CN 102200938B
- Authority
- CN
- China
- Prior art keywords
- driver
- packed data
- memory device
- data
- logic
- 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.)
- Expired - Fee Related
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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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/1014—Compression, i.e. RAID systems with parity using compression techniques
Abstract
本发明公开了一种建立优于6级RAID的冗余和容错性而无需使用奇偶校验的方法。一种设备,包括至少三个驱动器的逻辑相连组、第一环、第二环、压缩/解压电路。每个驱动器包括(i)被配置为存储前一驱动器的压缩数据的第一区域,(ii)被配置为存储该驱动器的未压缩数据的第二区域,(iii)被配置为存储下一驱动器的压缩数据的第三区域。第一环可连接至逻辑相连组中的下一驱动器。第二环可连接至逻辑相连组的前一驱动器。压缩/解压电路可被配置为对存储在每个驱动器上的数据进行压缩和解压。
Description
相关申请的交叉参考
本申请涉及于2010年3月26日提交的序列号为US 12/732,841的共同未决申请,其全部内容结合于此作为参考。
技术领域
本发明总体上涉及存储装置,更具体地,涉及用于不使用奇偶校验而建立优于6级RAID的冗余和容错性水平。
背景技术
RAID(廉价驱动器的冗余阵列,redundant array of inexpensive drives)存储系统中使用的传统方法主要基于XOR函数(奇偶校验计算)或镜像函数(mirror function)以获得冗余并提供容错性。在RAID 1和RAID 10技术中,驱动器(drive)被镜像以获得冗余。每次在介质上存在新的写入时,需将整个数据复制并写入数据驱动器和对应的镜像驱动器上。
参照图1,示出了RAID 10方式。驱动器DISK0被示出为镜像至驱动器DISK1。驱动器DISK2被示出为镜像至驱动器DISK3。RAID 1和RAID 10方式涉及将一个驱动器的完整内容镜像至另一驱动器。如果存在配置为RAID 1的两个驱动器,其中每个驱动器具有容量C GB,则RAID组的总容量将是C GB(即,并不是两个驱动器的总容量2C GB)。因此, RAID 1或RAID 10的总存储容量是RAID 1或RAID 10配置中的所有驱动器的总容量的50%。
参照图2,示出了RAID 4和RAID 5方式。示出了多个驱动器DISK0、DISK1、DISK2、DISK3。在RAID 4和RAID 5中,跨过RAID组的多个驱动器DISK0~DISK3将数据块分成条。在所示的RAID 4配置中,驱动器DISK0、DISK1、DISK2和DISK3存储数据。奇偶校验块被存储在专用驱动器(即,示出为驱动器DISK3)。在RAID 5中,跨过RAID组中的所有驱动器DISK0~DISK3分布奇偶校验。在示出的RAID 5配置中,驱动器DISK3被示出为保存数据(与其中驱动器DISK3仅保存奇偶校验的RAID 4相比较)。D奇偶校验存储在盘DISK0中。C奇偶校验存储在DISK1上。B奇偶校验被示出为存储在盘DISK2上。A奇偶校验被示出为存储在盘DISK3上。
RAID 4和RAID 5方式使用基于XOR函数的奇偶校验生成。通过RAID 4和RAID 5,使用每个数据条来产生奇偶校验。然后,产生的奇偶校验被存储在另一专用驱动器中或跨过RAID组的所有驱动器分布。RAID4和RAID 5在不丢失数据的情况下一次仅能容忍一个驱动器故障。
参照图3,示出了RAID 6方式。在RAID 6方式中,跨过RAID组的多个驱动器(即,示出为驱动器DISK0~DISK4)将数据块A~D分成条。计算两个奇偶校验。然后,两个奇偶校验跨过RAID组中的所有驱动器分布这。第一个D奇偶校验(即,数据块D的奇偶校验)被示出为存储在驱动器DISK0上。第二个D奇偶校验被示出为存储在驱动器DISK1上。A~C奇偶校验被示出为类似地分布在驱动器DISK1~DISK4上。
由于双奇偶校验生成,RAID 6配置的性能低于RAID 0、RAID 4或RAID 5配置的性能。在RAID 6配置的数据修改和数据写入过程中涉及的复杂性也使性能变慢。RAID 6在不丢失数据的情况下仅能提供多达两个驱动器故障的容错性。
期望实现一种在不增加实现奇偶校验的处理开销的情况下建立比6级RAID的冗余和容错性的水平更高的方法。
发明内容
本发明关心一种设备,包括至少三个驱动器的逻辑相连组、第一环、第二环、压缩/解压电路。每个驱动器包括(i)被配置为存储前一驱动器的压缩数据的第一区域,(ii)被配置为存储该驱动器的未压缩数据的第二区域,(iii)被配置为存储下一驱动器的压缩数据的第三区域。第一环可连接至逻辑相连组中的下一驱动器。第二环可连接至逻辑相连组的前一驱动器。压缩/解压电路可被配置为对存储在每个驱动器上的数据进行压缩和解压。
本发明的目的、特征和优势包括提供一种驱动器存储配置,可以(i)建立优于6级RAID的冗余和容错性,(ii)无需使用奇偶校验就能实现,(iii)实现用于压缩/解压操作的ASIC,(iv)在驱动器外壳中使用现有的冗余驱动器通道,(v)使用已处于使用中的驱动器端口来存储数据,(vi)设置固件以实现压缩/解压,(vii)实现用来存储每个驱动器的数据块与存储在另一驱动器中的压缩数据块之间的映射的固件和/或(viii)成本有效地实现。
附图说明
根据下面的详细描述和所附权利要求以及附图,本发明的这些和其它目的、特征和优点将变得显而易见,图中:
图1是示出RAID 1和RAID 10方式的示图;
图2是示出RAID 4和RAID 5方式的示图;
图3是示出RAID 6方式的示图;
图4是示出本发明的驱动器实例的示图;
图5是示出在双链两逻辑环配置中的多个驱动器的示图;
图6是示出用于压缩/解压操作的专用逻辑(logic)的示图;
图7是示出驱动器外壳(enclosure)的示图;
图8是示出流向驱动器的数据的实例的示图;以及
图9是示出三个驱动器故障的实例的示图。
具体实施方式
在最大化存储效率和性能的同时获得更高水平的冗余是不断增长的数据存储的现代世界中的共同目标。本发明可在RAID配置中实现压缩数据的冗余副本的压缩技术。冗余数据可以以双链方式分布。可实现两个逻辑环以在无需奇偶校验和/镜像技术的情况下在RAID配置中达到高水平的冗余和性能。利用冗余压缩技术来提供附加的冗余、更好的容错性、存储效率和/或改善的性能。可以将一套驱动器分组成RAID组。每个驱动器的数据内容可被压缩并存储在RAID组中的两个单独的驱动器中。可以实现双链逻辑组织(dual chain logical organization)。驱动器上的冗余端口和驱动器外壳中的冗余驱动器通道可用于提供逻辑组织。
在对数据达到50%的压缩率的情况下,本发明可提供50%的存储利用率。这样的存储利用率堪比RAID 1。然而,通过更高水平的压缩,本发明可提供大于RAID 1驱动器组的存储效率。例如,本发明的存储效率可根据施加于数据的压缩量而提高。对于50%的压缩率,本发明的存储效率通常等于RAID 1配置的存储效率。对于大于50%的压缩率,通过本发明可获得的存储效率进一步增加并且通常胜过RAID 4、RAID 5和/或RAID 6的存储效率而在容错性方面没有任何损害。
本发明可提供大到2n/3个驱动器故障的地板函数(flooring function)的容错性,其中,n是系统中驱动器的数量。假定三个逻辑相连的驱动器不出故障(将结合图9更详细地进行讨论),则可获得优于RAID 4、RAID5、RAID 6(和类似变体)的容错性。通常,在本发明中,不需要来自于幸存(surviving)驱动器的附加读取、修改和/或写入操作(如在RAID 5和RAID 6中——由于奇偶校验重算),从而提高当系统处于劣化状态(例如,具有一个或多个驱动器故障)时的性能。
ASIC(专用集成电路)可为实现为用于压缩和/或解压操作,以确保存储子系统的特定性能水平。在驱动器外壳中使用双端口驱动器和/或冗余驱动器通道可确保驱动器的这种特定性能。本发明的双链压缩解决方案可向RAID系统提供改善的容错性、冗余和/或可用性。
本发明的RAID组可包括驱动器的集合。示例数据块可存储在单个驱动器中。来自一个驱动器的示例数据的压缩形式可存储在同一RAID组中的另外两个驱动器中。这三个驱动器可称为“逻辑相连”驱动器。通过引入压缩,可以避免使用奇偶校验和/或镜像的需要。具体驱动器的压缩数据可以以双链方式存储在两个驱动器中。例如,可形成双环。可实现高水平的冗余、容错性和/或性能。
参照图4,示出了本发明的驱动器100。驱动器100通常包括区域102、区域104和区域106。区域104可用于存储未压缩数据。区域102可用于存储一个逻辑相连驱动器的压缩数据(例如,来自驱动器n-1的压缩数据)。区域106可用于存储另一个逻辑相连驱动器的压缩数据(例如,来自驱动器n+1的压缩数据)。
所实现的具体压缩机制可包括驱动器100的实际内容的一到二(one-to-two)映射(将结合图5进行详细描述)。例如,一个驱动器的数据的压缩形式可存储在两个其他逻辑相连驱动器上。可通过嵌入在控制器上的固件来保存映射信息。映射信息可以用于在驱动器故障和/或错误校正 的事件中,通过对来自一个逻辑相连驱动器的压缩数据块进行解压来重建驱动器的数据。当用新的正确执行驱动器更换故障驱动器时,可通过对来自一个逻辑相连驱动器的压缩数据进行解压,在新驱动器中重建故障驱动器的数据。可通过嵌入每个冗余存储阵列控制器上的控制器固件来实现映射信息(将结合图6进行详细描述)。
参照图5,示出了驱动器系统(或配置)150的框图。系统150通常包括多个驱动器100a~100n。驱动器100a~100n的具体数量可以改变以满足特定实施方式的设计标准。每个驱动器100a~100n可具有数据段(例如,D1~D5)、压缩段(例如,C1~C5)和压缩段(例如,C1~C5)。例如,驱动器100a可具有被配置为存储未压缩数据D1的数据段。数据块D1的压缩形式可在两个逻辑相连驱动器中存储为数据C1。例如,压缩数据C1可存储在驱动器100b和驱动器100n中。驱动器100a~100n可形成环160a~160n和环162a~162n。环160a~160n和环162a~162n可形成两个双链逻辑环。通常,环160a~160n可实现为驱动器100a~100n之间的多个逻辑连接。例如,部分160a可将驱动器100a的数据D1逻辑连接至驱动器100b的压缩数据C1。以通常是从左至右的方式示出了环160a~160n。环162a~162n具有以通常是从右至左的实施方式的类似实施方式。例如,部分162d可将驱动器100n的数据D5逻辑连接至驱动器100d的压缩数据C5。环160a~160n和环162a~162n的具体布置可以改变以满足特定实施方式的设计标准。
在所示的实例中,驱动器100b可存储数据D2。数据D2的压缩形式可在驱动器100c上存储为数据C2,通过逻辑环160a~160n的部分160b可访问。数据C2也可存储在驱动器100a上,通过逻辑环162a~162n的部分162a可访问。类似地,驱动器100a的数据D1可具有在驱动器100n和驱动器100b上存储为数据C1存储的D1数据的压缩形式。驱动器100n的压缩数据C5可存储在驱动器100a和驱动器100d中。通常,驱动器100a~100n中的任意三个可形成逻辑相连组。在一个实例中,驱动器100b、 100c和100d可以是一个逻辑相连组。逻辑相连组可由未示出为彼此相邻的驱动器形成。驱动器100c的数据D3被示出为在驱动器100b和驱动器100d中存储为压缩数据C3。
参照图6,示出了存储子系统200的示图。子系统200通常包括多个块(或电路)202a~202b。电路202a~202b均可实现为压缩/解压电路。中间板204b可实现在电路202a和电路202b之间。压缩电路202a通常包括块(或电路)210、块(或电路)212、块(或电路)214、块(或电路)216。电路210可以实现为主机接口。电路212可实现为处理器和数据高速缓存。电路214可以实现为压缩/解压引擎。电路216可实现为驱动器接口。电路212通常包括高速缓存电路218和处理器电路220。主机接口210可具有可接收信号(例如,DATA)的输入端230。信号DATA通常表示一个或多个代表图5中所描述的数据D1~D5的数据块(或包)。主机接口可具有可将信号DATA提供至电路212的输入端234的输出端232。电路212可具有可将信号DATA提供至电路214的输入端238的输出端236。电路212还可具有可将信号DATA提供至电路216的输入端242输出端240。电路214可具有可将信号(例如,C_DATA)提供至电路216的输入端246的输出端244。信号C_DATA可以是信号DATA的压缩形式。信号C_DATA通常表示一个或多个代表图5中描述的压缩数据C1~C5的数据块(或包)。电路202b可具有类似的实施方式。电路214可提供专用逻辑以实现压缩和/或解压操作。
电路202a和/或电路202b的逻辑可嵌入在作为控制器固件的一部分与用于RAID引擎的代码一起运行的代码中,或者可以下载到由控制器固件代码控制和操作的ASIC。下载代码可以以附加电路为代价提高性能。由电路214实现的压缩/解压的具体类型可以改变以满足特定实施方式的设计标准。电路202a和/或电路202b可用于冗余、容错性和/或RAID组故障转移(failover)机制。
参照图7,示出了驱动器外壳300。示出了包括多个驱动器100a~100n的驱动器外壳300。每个驱动器100a~100n被示出为具有一个端口(例如,P1)和另一个端口(例如,P2)。外壳通常包括电路302、电路304、中间板204以及电路310。电路302可实现为主ESM。电路308可实现为备用ESM。每个驱动器100A~100n的端口P1和P2中的一个可以是主端口。每个驱动器100A~100n的端口P1和P2中的另一个可以是次端口。未压缩数据D1~D5和压缩数据C1~C5通往驱动器的I/O路径可以保持分离。未压缩数据D1~D5和压缩数据C1~C5二者都由同一控制器来操纵。驱动器100a~100n可实现为双端口驱动器以实现冗余(例如,为了在驱动器100a~100n上存储和取回压缩数据C1~C5)。SOC 304(或310)可以驻留在ESM 302(或308)中,并且可执行送往驱动器100a~100n的数据的切换/路由。驱动器外壳300上的中间板可用于将压缩数据发送至驱动器外壳300的冗余ESM 302(或308)。中间板204还可用于利用次端口P2将压缩数据发送至驱动器100a~100n。
信号DATA的压缩数据C DATA可越过驱动器外壳300中的中间板电路204路由至用相同ESM保存数据D1~D5的备用ESM 308。对于控制器202a所拥有的RAID逻辑驱动器,每个驱动器100A~100n的主端口P1可用于在由ESM 302操纵的主通道上传送未压缩数据。每个驱动器100A~100n的次端口P2可用于在由ESM 308操纵的次通道上传送压缩数据。对于由控制器202b所拥有的RAID逻辑驱动器100a~100n,第二端口P2可用作在由ESM B 308操纵的主通道上传送未压缩数据的主端口。主端口P1可用作在由ESM 302操纵的次通道上传送压缩数据的次端口。
利用本发明实现的RAID组可具有存储在驱动器100a~100n中的一个中的实际(未压缩)数据D1~Dn以及存储在两个其他逻辑相连驱动器100a~100n中的压缩数据C1~Cn。一旦来自主机的每个数据段到达,数据D1~D5就被分成要传送至驱动器接口216的多个条。与这些处理并行,分 成条的数据被压缩引擎压缩并发送至驱动器接口。实际数据D1~Dn和压缩数据C1~Cn一起被发送至驱动器外壳300。
参照图8,示出了流向驱动器100a~100n的数据的实例。可在数据通道320上发送数据。每个驱动器100a~100n可在主端口P1上从数据通道320接收数据。来自数据通道320的数据可由压缩/解压引擎214进行压缩。每个驱动器100a~100n可在第二端口P2上从压缩/解压引擎214接收数据。这确保了RAID组与任意数量的驱动器100a~100n一起工作而不会损失驱动性能。假定没有三个逻辑相连的驱动器发生故障,则本发明通常提供2n/3个驱动器的容错性,其中,n是RAID组中的驱动器总数。
利用50%的数据压缩率通过本发明与RAID 1实施方式相比将确保相同的存储效率和更大的性能。考虑4个驱动器的实例,如果每个驱动器100a~100n具有容量C GB,则RAID 1占用的最大空间是2C GB。然而,通过本发明,每个驱动器100a~100n中的数据区域占用0.5C GB,而两个压缩区域占用0.5C GB(50%压缩率),因此,在4个驱动器中,RAID组能够进行存储的实际数据的总容量是2C GB。由于可以像具有跨过两个驱动器分成条的数据的RAID 0组一样访问驱动器100a~100n,所以性能更大。因此,通过等于50%的压缩率本发明可提供等于RAID 1的存储效率。而且,通过大于50%的压缩率本发明可提供大于RAID 1的性能和存储效率。然而,通过实现大于50%的压缩率,可进一步改善驱动器100a~100n的存储容量效率。
由于如果2个以上(假定不存在三个逻辑相连驱动器故障,达到2n/3个)驱动器发生故障本发明可继续进行操作而不会丢失数据,所以本发明通常比RAID 3、RAID 5和RAID 6实施方式更能容错。与RAID 3、RAID5和RAID 6组相比可实现附加的容错性。在RAID 3、RAID 5和RAID 6组的情况下,每当对组实施修改操作时,需要读取所有驱动器以重新计算奇偶校验并与修改的数据一起更新奇偶校验。通过本发明,对于每次修改操作,数据被分成条并被写入各驱动器100a~100n。然后独立地生成条的 压缩并将其写入RAID组中的逻辑相连驱动器上。与奇偶校验生成方法相比,需要的读取和/或更新更少。
参照图9,示出的是示出具有3个驱动器故障的驱动器系统150的示图。驱动器系统150可处理多个驱动器故障的情形,只要所有出现故障的驱动器是非相连的即可。用X标记驱动器100a、驱动器100b和驱动器100d以示出驱动器故障。即使有3个驱动器故障,所有数据仍将继续可用。下面的表1描述了每个驱动器和数据可用性的状态
表1
驱动器 | 状态 | 数据可用性 |
1 | 故障 | 通过驱动器5中的C1 |
2 | 故障 | 通过驱动器3中的C2 |
3 | 最优 | 通过D3 |
4 | 故障 | 通过驱动器3或5中的C4 |
5 | 最优 | 通过D5 |
使用RAID 6方式的类似故障将导致整个RAID组的故障。因此,本发明提供了比RAID 6方式更大的容错性。
尽管已参照本发明优选实施方式对本发明进行了具体示出和描述,但本领域的技术人员应当理解,在不会背离本发明的范围的情况下,可以进行形式和细节上的各种变化。
Claims (20)
1.一种存储设备,包括:
至少三个驱动器的逻辑相连组,其中,每个所述驱动器包括:(i)被配置为存储前一驱动器的压缩数据的第一区域,(ii)被配置为存储所述驱动器的未压缩数据的第二区域,(iii)被配置为存储下一驱动器的压缩数据的第三区域,(iv)被配置为将所述未压缩数据传送至驱动器控制器的第一端口,以及(v)被配置为在所述驱动器之间传送所述压缩数据的第二端口;
第一环,连接至所述逻辑相连组的所述下一驱动器;
第二环,连接至所述逻辑相连组的所述前一驱动器;以及
压缩/解压电路,被配置为在通过所述第二端口传送所述压缩数据之前,对存储在每个所述驱动器上的所述压缩数据和所述未压缩数据进行压缩和解压,其中,所述驱动器中的一个上的所述未压缩数据作为压缩数据而存储在所述驱动器中的另外两个上。
2.根据权利要求1所述的存储设备,其中,所述逻辑相连组中的所述驱动器中的一个的所述第二区域连接至所述下一驱动器的所述第一区域。
3.根据权利要求1所述的存储设备,其中,所述逻辑相连组中的所述驱动器中的一个的所述第二区域连接至所述前一驱动器的所述第三区域。
4.根据权利要求1所述的存储设备,其中,所述第一环的一部分将所述驱动器中的一个的所述第二区域连接至所述前一驱动器的所述第一区域。
5.根据权利要求1所述的存储设备,其中,所述第二环的一部分将所述驱动器中的一个的所述第二区域连接至所述下一驱动器的所述第三区域。
6.根据权利要求1所述的存储设备,其中,所述驱动器中的一个的所述第一区域的压缩数据通过所述第一环的一部分可访问。
7.根据权利要求1所述的存储设备,其中,所述驱动器中的一个的所述第三区域的压缩数据通过所述第二环的一部分可访问。
8.根据权利要求1所述的存储设备,其中,映射信息通过(i)被嵌入在存储阵列控制器上、(ii)在驱动器故障和/或错误校正的事件中用于重建所述驱动器的数据并且(iii)并行于所述未压缩数据的传送而实现的固件来保存。
9.根据权利要求1所述的存储设备,其中,所述压缩/解压电路的专用逻辑嵌入在控制器固件RAID引擎代码中。
10.根据权利要求1所述的存储设备,其中,所述压缩/解压电路的专用逻辑被传送至ASIC外围设备。
11.根据权利要求1所述的存储设备,其中,所述驱动器的每个所述第二端口专用于存储和取回所述压缩数据。
12.根据权利要求1所述的存储设备,其中,所述驱动器的每个所述第二端口包括冗余驱动器通道,所述冗余驱动器通道也用于传送所述未压缩数据的所述第一端口。
13.根据权利要求1所述的存储设备,其中,所述设备建立冗余和容错性,而无需使用奇偶校验。
14.根据权利要求1所述的存储设备,其中,所述设备提供多达2n/3个驱动器故障的容错性,其中,n是驱动器的数量。
15.一种存储设备,包括:
用于实现至少三个驱动器的逻辑相连组的装置,其中,每个所述驱动器包括,(i)被配置为存储前一驱动器的压缩数据的第一区域,(ii)被配置为存储所述驱动器的未压缩数据的第二区域,(iii)被配置为存储下一驱动器的压缩数据的第三区域,(iv)被配置为将所述未压缩数据传送至驱动器控制器的第一端口,以及(v)被配置为在所述驱动器之间传送所述压缩数据的第二端口;
用于实现连接至所述逻辑相连组的所述下一驱动器的第一环的装置;
用于实现连接至所述逻辑相连组的所述前一驱动器的第二环的装置;以及
用于实现被配置为在通过所述第二端口传送所述压缩数据之前,对存储在每个所述驱动器上的所述压缩数据和所述未压缩数据进行压缩和解压的压缩/解压电路的装置,其中,所述驱动器中的一个上的所述未压缩数据作为压缩数据而存储在所述驱动器中的另外两个上。
16.根据权利要求15所述的存储设备,其中,所述设备建立冗余和容错性,而无需使用奇偶校验。
17.根据权利要求15所述的存储设备,其中,所述设备提供多达2n/3个驱动器故障的容错性,其中,n是驱动器的数量。
18.一种在驱动器阵列中实现容错性的方法,所述方法包括以下步骤:
(A)实现至少三个驱动器的逻辑相连组,其中,每个所述驱动器包括(i)被配置为存储前一驱动器的压缩数据的第一区域,(ii)被配置为存储所述驱动器的未压缩数据的第二区域,(iii)被配置为存储下一驱动器的压缩数据的第三区域,(iv)被配置为将所述未压缩数据传送至驱动器控制器的第一端口,以及(v)被配置为在所述驱动器之间传送所述压缩数据的第二端口;
(B)实现连接至所述逻辑相连组的所述下一驱动器的第一环;
(C)实现连接至所述逻辑相连组的所述前一驱动器的第二环;以及
(D)实现被配置为在通过所述第二端口传送所述压缩数据之前,对存储在每个所述驱动器上的所述压缩数据和所述未压缩数据进行压缩和解压的压缩/解压电路,其中,所述驱动器中的一个上的所述未压缩数据作为压缩数据而存储在所述驱动器中的另外两个上。
19.根据权利要求18所述的方法,其中,所述方法建立冗余和容错性,而无需使用奇偶校验。
20.根据权利要求18所述的方法,其中,所述方法提供多达2n/3个驱动器故障的容错性,其中,n是所述阵列中驱动器的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/732,841 US8112663B2 (en) | 2010-03-26 | 2010-03-26 | Method to establish redundancy and fault tolerance better than RAID level 6 without using parity |
US12/732,841 | 2010-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102200938A CN102200938A (zh) | 2011-09-28 |
CN102200938B true CN102200938B (zh) | 2013-12-04 |
Family
ID=44527898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100760383A Expired - Fee Related CN102200938B (zh) | 2010-03-26 | 2011-03-28 | 无需使用奇偶校验建立优于6级raid的冗余和容错性的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8112663B2 (zh) |
EP (1) | EP2375332B1 (zh) |
JP (1) | JP4955822B2 (zh) |
KR (1) | KR101162702B1 (zh) |
CN (1) | CN102200938B (zh) |
TW (1) | TWI376683B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8181062B2 (en) * | 2010-03-26 | 2012-05-15 | Lsi Corporation | Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring |
US8954668B2 (en) * | 2011-05-23 | 2015-02-10 | International Business Machines Corporation | Writing of data of a first block size in a raid array that stores and mirrors data in a second block size |
US9043543B2 (en) * | 2011-05-23 | 2015-05-26 | International Business Machines Corporation | Writing of new data of a first block size in a raid array that stores both parity and data in a second block size |
DK2938747T3 (da) | 2012-12-28 | 2019-08-05 | Boehringer Ingelheim Vetmedica Gmbh | Fremgangsmåde til fremstilling af en mycoplasma vaccine |
US11204716B2 (en) * | 2019-01-31 | 2021-12-21 | EMC IP Holding Company LLC | Compression offloading to RAID array storage enclosure |
US11055188B2 (en) | 2019-04-12 | 2021-07-06 | EMC IP Holding Company LLC | Offloading error processing to raid array storage enclosure |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140501A (zh) * | 2006-09-07 | 2008-03-12 | 国际商业机器公司 | 数据存储系统、raid存储系统及其管理方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757642A (en) | 1995-01-20 | 1998-05-26 | Dell Usa L.P. | Multi-function server input/output subsystem and method |
WO1997011426A1 (en) | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5812754A (en) | 1996-09-18 | 1998-09-22 | Silicon Graphics, Inc. | Raid system with fibre channel arbitrated loop |
JP3595099B2 (ja) * | 1997-03-17 | 2004-12-02 | 富士通株式会社 | デバイスアレイ・システム |
US6076143A (en) * | 1997-09-02 | 2000-06-13 | Emc Corporation | Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance |
US6151659A (en) | 1997-12-22 | 2000-11-21 | Emc Corporation | Distributed raid storage system |
US6442659B1 (en) | 1998-02-17 | 2002-08-27 | Emc Corporation | Raid-type storage system and technique |
US6192027B1 (en) | 1998-09-04 | 2001-02-20 | International Business Machines Corporation | Apparatus, system, and method for dual-active fibre channel loop resiliency during controller failure |
KR100340686B1 (ko) | 2000-09-19 | 2002-06-15 | 오길록 | 다중 호스트 컴퓨터와 레이드 사이의 중복연결을 위한 장치 |
US6678768B1 (en) | 2000-10-06 | 2004-01-13 | International Business Machines Corporation | Method and apparatus for configuring redundant array of independent disks (RAID) |
US6795895B2 (en) * | 2001-03-07 | 2004-09-21 | Canopy Group | Dual axis RAID systems for enhanced bandwidth and reliability |
US7076606B2 (en) | 2002-09-20 | 2006-07-11 | Quantum Corporation | Accelerated RAID with rewind capability |
WO2004072815A2 (en) | 2003-02-10 | 2004-08-26 | Netezza Corporation | Rapid regeneration of failed disk sector in a distributed database system |
US20050039069A1 (en) * | 2003-04-03 | 2005-02-17 | Anand Prahlad | Remote disaster data recovery system and method |
JP2006113648A (ja) * | 2004-10-12 | 2006-04-27 | Hitachi Ltd | ディスクアレイ装置 |
JP2006251960A (ja) * | 2005-03-09 | 2006-09-21 | Hitachi Ltd | ストレージ装置 |
US7512862B1 (en) | 2005-04-13 | 2009-03-31 | Network Appliance, Inc. | Compression of data for protection |
TW200807258A (en) | 2006-07-28 | 2008-02-01 | Qnap Systems Inc | Data recovery method and system when redundant array of independent disks (RAID) is damaged |
JP5112003B2 (ja) * | 2007-10-19 | 2013-01-09 | 株式会社日立製作所 | ストレージ装置及びこれを用いたデータ格納方法 |
JP2009193125A (ja) * | 2008-02-12 | 2009-08-27 | Hitachi Ltd | 暗号鍵を管理するストレージシステム、計算機システム及び方法 |
US8073993B2 (en) * | 2009-04-20 | 2011-12-06 | International Business Machines Corporation | Management of redundant physical data paths in a computing system |
US8407378B2 (en) | 2009-04-22 | 2013-03-26 | Lsi Corporation | High-speed inline data compression inline with an eight byte data path |
-
2010
- 2010-03-26 US US12/732,841 patent/US8112663B2/en not_active Expired - Fee Related
-
2011
- 2011-03-23 TW TW100109844A patent/TWI376683B/zh not_active IP Right Cessation
- 2011-03-25 EP EP11159720A patent/EP2375332B1/en not_active Not-in-force
- 2011-03-25 KR KR1020110027103A patent/KR101162702B1/ko not_active IP Right Cessation
- 2011-03-25 JP JP2011068012A patent/JP4955822B2/ja not_active Expired - Fee Related
- 2011-03-28 CN CN2011100760383A patent/CN102200938B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140501A (zh) * | 2006-09-07 | 2008-03-12 | 国际商业机器公司 | 数据存储系统、raid存储系统及其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2375332B1 (en) | 2012-10-31 |
JP4955822B2 (ja) | 2012-06-20 |
CN102200938A (zh) | 2011-09-28 |
US20110239042A1 (en) | 2011-09-29 |
TW201203227A (en) | 2012-01-16 |
EP2375332A3 (en) | 2011-10-26 |
KR101162702B1 (ko) | 2012-07-05 |
US8112663B2 (en) | 2012-02-07 |
KR20110108312A (ko) | 2011-10-05 |
JP2011243189A (ja) | 2011-12-01 |
TWI376683B (en) | 2012-11-11 |
EP2375332A2 (en) | 2011-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200938B (zh) | 无需使用奇偶校验建立优于6级raid的冗余和容错性的方法 | |
US9804794B2 (en) | Techniques for providing data redundancy after reducing memory writes | |
KR100275900B1 (ko) | 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법 | |
US20230028569A1 (en) | Computing system with distributed compute-enabled storage group and method of operation thereof | |
US9542101B2 (en) | System and methods for performing embedded full-stripe write operations to a data volume with data elements distributed across multiple modules | |
US20090106492A1 (en) | Storage apparatus and data storage method using the same | |
CN101548271B (zh) | 多个存储装置中的数据冗余 | |
CN102200934B (zh) | 不使用奇偶校验和镜像法在raid系统中建立高级别的冗余、容错性及性能的方法 | |
US7251185B2 (en) | Methods and apparatus for using memory | |
US7133965B2 (en) | Raid storage device | |
US7103826B2 (en) | Memory system and controller for same | |
CN101615105B (zh) | Raid存储系统和可进行raid计算的存储器及控制方法 | |
Luo et al. | Solid-state drive controller with embedded RAID functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131204 Termination date: 20150328 |
|
EXPY | Termination of patent right or utility model |