CN101073066B - 生成奇偶数据的方法、系统和程序 - Google Patents
生成奇偶数据的方法、系统和程序 Download PDFInfo
- Publication number
- CN101073066B CN101073066B CN200480039319.XA CN200480039319A CN101073066B CN 101073066 B CN101073066 B CN 101073066B CN 200480039319 A CN200480039319 A CN 200480039319A CN 101073066 B CN101073066 B CN 101073066B
- Authority
- CN
- China
- Prior art keywords
- data
- odd
- logic engine
- new
- sent
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000003860 storage Methods 0.000 claims abstract description 191
- 238000012546 transfer Methods 0.000 claims description 105
- 230000006870 function Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 14
- 238000012384 transportation and delivery Methods 0.000 claims description 4
- 230000008520 organization Effects 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了当升级以利用奇偶数据的数据组织类型存储在存储设备的阵列中的旧数据时生成奇偶数据的方法、系统和程序。在一个实施例中,逻辑引擎具有若干寄存器或存储队列,存储在读操作中获得的新数据于其中。使用在另一个读操作中获得的旧数据对若干寄存器中的每个的新数据执行逻辑操作,例如异或操作。使用在另一个读操作中获得的第一类型的旧奇偶数据对若干寄存器中的其中一个的中间数据执行逻辑操作,例如异或操作,以生成第一类型的新奇偶数据。使用在另一个读操作中获得的第二类型的旧奇偶数据对若干寄存器中的另一个的中间数据执行逻辑操作,例如异或操作,以生成第二类型的新奇偶数据。
Description
技术领域
实施例涉及生成用于组织系统-例如RAID系统的奇偶数据的方法、系统和程序。
背景技术
已经提出了用于组织存储在例如盘驱动器等数据存储设备中的数据的各种技术。一种上述的数据存储组织被称为独立盘冗余阵列(廉价盘阵列)或(RAID)。在RAID组织方式中,结合地使用两个或更多盘驱动器以改善容错性或性能,或改善这两者。存在不同类型的RAID数据存储组织方式,并且上述不同的类型通常被称为RAID级0、1、2...。
在RAID级0数据组织方式中,例如,用户文件的数据被“划分成带”,也就是说,用户数据块分散在多个盘上以改善性能。然而,如果数据的RAID级0组织方式中的一个驱动器出现故障,通常没有为恢复数据提供冗余性。数据的RAID级3组织方式与RAID级0相似,但是典型地保留一个硬盘以存储纠错数据,通常称为“奇偶数据”。如果一个驱动器故障,该奇偶数据可以用于重构丢失的用户数据。在RAID级5数据组织方式中,为盘驱动器阵列上的每个数据带提供奇偶数据,而且没有存储该奇偶数据专用的特别盘驱动器。作为代替,关于用户数据带的奇偶数据块遍及该阵列的所有盘而分布,以进一步改善性能。
在一个RAID-5组织方式中,有一个用于盘驱动器阵列上的每个数据带的奇偶数据的块。如果一个驱动器出现故障,上述配置提供迅速的数据重构。如果不止一个驱动器故障,某些存储应用能够从更稳健的数据保护中受益。已经开发了附加的RAID模式方案,其通常对于每个数据带具有两个奇偶数据块。已知的一种奇偶模式方案包括“水平”奇偶块和“对角线”奇偶块。在存储工业中已经使用了术语例如RAID-5DP(双重奇偶)或RAID-6用于上述或相似的数据组织排列。
图1示出了逻辑操作,当使用新数据更新RAID系统中的带例如带n上的旧数据时,执行该操作以生成新奇偶数据。如图1所示,对带n的新数据30和旧数据32执行异或逻辑函数。该异或函数的结果被再与带n的旧奇偶数据34异或以生成带n的新奇偶数据36。在适合的RAID存储单元上用新奇偶数据36覆盖旧奇偶数据34,并且新数据30被用于在适合的RAID存储单元上覆盖旧数据32。
图2示出了RAID存储处理器的逻辑引擎50的现有技术的实例,在其用根据图1的逻辑操作向RAID存储单元写入新数据时生成新奇偶数据。该逻辑引擎50具有存储队列52,其能够对如箭头54所示的存储队列52的内容以及箭头56表示的逻辑引擎输入端的输入数据进行异或逻辑操作。英特尔80303集成电路芯片具有被称为应用加速单元(AAU)的相似逻辑引擎。
图2的逻辑引擎50生成新奇偶数据的操作如图3所示。当复位存储队列52(框60)之时,可以从本地存储器64(图2)读取新数据30(框62),并存储到存储队列52中。由于存储队列52之前被复位了,所以可以通过用从本地存储器64读取的新数据30和存储队列52的复位内容执行异或操作,来将新数据30存储在存储队列52中。读操作的大小将典型地取决于存储队列52的容量。因而,如果,例如,存储队列52的容量是1K字节,通常继续读操作直到存储队列52充满了1K字节的新数据30。
还可以从本地存储器64读取将要被新数据30取代的旧数据32(框64),并且与先前存储在存储队列52中的新数据30异或(框66),作为中间结果存储在存储队列52中。在第三个读操作中,从本地存储器64中读取旧奇偶数据34(框68),并且与先前存储在存储队列52中的中间结果异或(框70)。最后一个异或操作的结果将会是新奇偶数据36,其可以存储在存储队列52中,随后传送到本地存储器64和存储驱动器的带n。
尽管如此,在现有技术中存在改善数据存储组织的处理器性能的持续需求。
发明内容
按照本发明实施例的第一方面,提供一种修改旧数据的方法,包括:在第一传送操作中将新数据传送到逻辑引擎,在第二传送操作中将旧数据传送到逻辑引擎;在第三传送操作中将旧第一奇偶数据传送到逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到逻辑引擎;使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据;使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据。
按照本发明实施例的第二方面,提供一种修改旧数据的装置,包括:在第一传送操作中将新数据传送到逻辑引擎,在第二传送操作中将旧数据传送到逻辑引擎;在第三传送操作中将旧第一奇偶数据传送到逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到逻辑引擎的单元;使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据的单元;使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据的单元。
按照本发明实施例的第三方面,提供一种能修改旧数据的系统,包括:
用于将操作系统、应用程序和设备驱动器存储在耦合到处理器的存储器中的部件;
数据存储处理部件,用于管理对包括多个存储设备的数据存储器的输入/输出访问,所述数据存储处理部件包括逻辑引擎;其中所述操作系统、所述设备驱动器和所述数据存储处理部件中的至少一个包括:
传送单元,在第一传送操作中将新数据传送到所述逻辑引擎,在第二传送操作中将旧数据传送到所述逻辑引擎,在第三传送操作中将旧第一奇偶数据传送到所述逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到所述逻辑引擎;
新第一奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据;以及
新第二奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据。
按照本发明实施例的第四方面,提供一种与具有多个数据存储设备的数据存储器一起使用的存储处理器,包括:
逻辑引擎;以及
处理单元,该处理单元包括:
传送单元,在第一传送操作中将新数据传送到所述逻辑引擎,在第二传送操作中将旧数据传送到所述逻辑引擎,在第三传送操作中将旧第一奇偶数据传送到所述逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到所述逻辑引擎;
新第一奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据;以及
新第二奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据。
附图说明
现在参照附图,其中自始至终相同的附图标记表示相应的部分:
图1示出了现有技术中RAID奇偶数据的生成;
图2示出了现有技术中生成RAID奇偶数据的逻辑引擎;
图3示出了现有技术中使用图2的现有技术逻辑引擎生成奇偶数据的操作;
图4示出了实施各方面的计算环境的一个实施例;
图5示出了依据各方面生成RAID奇偶数据的存储处理器的一个实施例;
图6示出了用于图5中依据各方面生成RAID奇偶数据的存储处理器的逻辑引擎的一个实施例;
图7A、7B示出了执行来生成奇偶数据的操作的一个实施例;
图8A、8B示出了生成奇偶数据的操作的一个实施例中图6的逻辑引擎的存储队列的内容;并且
图9示出了用于上述实施例的体系结构。
具体实施方式
在下面的说明中,参考附图,附图形成了该说明的一部分并且图示了几个实施例。应当理解的是可以利用其他实施例并且可以做出结构上和操作上的改变。
图4示出了实现各方面的计算环境。计算机102包括一个或更多中央处理单元(CPU)104(仅示出一个)、存储器106、非易失存储器108、存储处理器109、操作系统110和网络适配器112。另外,应用程序114在存储器106中执行并且能够从存储器108读取数据以及向其写入数据。计算机102可以包括现有技术中已知的任何计算设备,例如大型机、服务器、个人计算机、工作站、膝上型电脑、手持型计算机、电话设备、网络应用设备、虚拟化设备、存储处理器、存储控制器等。可以使用现有技术中公知的任何CPU 104和操作系统110。存储器106中的程序和数据可以被转入到存储器108中,作为存储器管理操作的一部分。
设备驱动器120在存储器106中执行,并包括存储处理器特定命令,用以与存储处理器109以及操作系统110和存储处理器109之间的接口通信。例如,存储器108包括多个盘驱动器150a、150b...150n,其中数据最初以RAID组织类型存储在盘驱动器150a、150b...150n中的一个或多个中。存储处理器109例如可以是计算机102的一部分,或者存储处理器109可以经由网络适配器112通过网络152连接到计算机102,如针对存储处理器154和具有另一组盘驱动器150a、150b...150n的存储器156所示出的那样连接。对于这种网络连接的存储处理器154,设备驱动器120包括网络适配器特定命令,用以与网络适配器112通信,以便把数据传送到存储处理器154,从而写到网络存储器156上。
在某些实现方式中,存储处理器109实施某些功能以辅助计算机102从存储器108中读取数据或向存储器108写入数据。例如,存储处理器109包括奇偶(parity)数据管理器130,奇偶数据管理器130管理数据更新和其他数据操作过程中奇偶数据的生成。因而,数据奇偶管理器130能够用于当更新盘驱动器150a...150n上的用户数据时更新该奇偶数据。存储处理器109可以具有软件、固件或硬件或其组合以执行上述和其他功能。
合适的存储处理器109的实例如图5所示。存储处理器109便于主机102和存储器108之间巨大数量数据的快速移动。存储处理器109包括主机102的第一级总线162和耦合到存储器108的附联(attachment)控制器166的第二级总线164之间的桥160。桥160允许附联控制器166与第一级总线162物理地隔离开,附联控制器166可以是例如串行高级技术附联(SATA)控制器。
第一级地址转换单元168经由本地总线174提供从第一级总线162到处理器170和本地存储器172的高吞吐量数据路径。也耦合到本地总线174的是逻辑引擎176,逻辑引擎176提供异或计算以生成用于RAID算法的奇偶块。第二地址转换单元178提供从处理器170和本地存储器172到第二总线164的高吞吐量数据路径。在所示实施例中,总线162、164是PCI总线,但是其他类型的外围总线也可以使用。
本地存储器172具有存储器控制器180。在所示的实施例中,本地存储器172是易失性的、RAM类型存储器,并用于缓存数据。也可以使用其他类型的存储器。直接存储器存取(DMA)控制器182、184允许从主机计算机102到本地存储器172以及从本地存储器172到驱动器150a...150n的直接存储器传送。
如上所述,某些RAID模式方案利用两个奇偶数据块,例如用于每个数据带的水平(horizontal)奇偶块和对角线(diagonal)奇偶块。如果向带写入新数据,那么新水平奇偶数据和新对角线奇偶数据两者也都可以被生成。为了利用上述的逻辑引擎50和奇偶生成操作,相信要利用六个读操作,三个读操作用于生成水平奇偶数据,以及三个读操作用于生成对角线奇偶数据,采用上述方式,以生成新奇偶数据。
根据上述实施例的一个方面,在某些应用中,存储处理器109的逻辑引擎,例如逻辑引擎176,能够显著地便于多个奇偶数据块的高效生成。例如,在一个应用中,当更新RAID组织数据时,生成多个奇偶块的读操作的数量能够被显著地减少。
图6采用示意形式示出了逻辑引擎176的一个实例,包括存储队列对200a、200b,其在这里也分别称为存储队列1、存储队列2。存储队列1能够对如箭头202所示的存储队列1的内容和箭头204表示的其输入端上的数据进行异或逻辑函数(function)。相似地,存储队列2能够对如箭头206所示的存储队列2的内容和箭头208表示的其输入端上的数据进行异或逻辑函数。根据所示实施例的一个方面,在一个读操作210中从源例如本地存储器172读取的数据,可以选择性地与存储队列1、2的一个或两个的内容异或,而不用额外的读操作。如后面要更详细地解释的,上述安排能够便于奇偶数据的生成。
在上述实施例中,所示的逻辑引擎176包括存储队列。可以使用其他类型的电路,包括寄存器和其他类型的存储器和逻辑电路。
图7a、7b和8a、8b示出了奇偶数据管理器130的操作的一个实例,奇偶数据管理器130能够包括处理器170和逻辑引擎176,当用新数据更新存储在存储器108中的数据时生成双重奇偶数据。在该实例中,为每个带生成水平和对角线奇偶块以便用新数据更新。可以理解同样可以利用这里描述的方法和结构生成其他类型的多个块。
在该实例中,要替代盘驱动器150a...150n上的带n的一个块中的旧数据的新数据由主机计算机102事先存储在本地存储器172中。从主机计算机102到本地存储器172的上述数据传送,在某些实施例中,可以是使用DMA控制器182的DMA传送。一次存储在本地存储器中的新数据的量取决于本地存储器172的容量。在该实施例中,除新数据之外,由该新数据取代的旧数据被从存储器108传送并存储在本地存储器172中。类似地,要被将按如下所述生成的新水平奇偶数据代替的旧水平奇偶数据也从存储器108传送并存储在本地存储器172中。此外,要被将按如下所述生成的新对角线奇偶数据代替的旧对角线奇偶数据也从存储器108传送并存储在本地存储器172中。
当存储队列1和存储队列2都复位(框220)之时,存储队列1和存储队列2的内容都是空的,如图8a所示,相对于图7a的框220。可以从存储处理器109的本地存储器172中读取新数据(框222),并可以将其存储在存储队列1和存储队列2中,如图8a所示,相对于图7a的框222。
由于先前复位了存储队列1,所以通过用从本地存储器172读取的新数据和存储队列1的复位内容执行异或操作(图6),就可以将该新数据存储到存储队列1中。结合在存储队列1中存储新数据,通过用存储队列2的复位内容执行异或操作(图6),相同的新数据可以存储在存储队列2中。可以理解,利用从本地存储器172的单个读操作,相同的新数据可以存储在存储队列1、2这二者中。从本地存储器172的新数据读操作的大小将典型地取决于存储队列1、2的容量。因而,如果,例如,存储队列1、2中的每个的容量是1K字节,读操作将会继续直到存储队列1、2中的每个都填充了用于盘驱动器150a、150b...150n的带n的一个块(例如块n)的1K字节的新数据。
也可以从本地存储器172读取要被新数据代替的旧数据(框224)。该旧数据可以被与事先存储在存储队列1中的新数据异或(框226),并被作为中间结果存储在存储队列1中,如图8a所示,对应于图7a的框226。结合旧数据与存储队列1的内容的异或操作,该旧数据还可以被与事先存储在存储队列2中的新数据异或(框226),并且被作为中间结果存储在存储队列2中,如图8a所示,对应于图7a的框226。可以理解,利用从本地存储器172的单个读操作,相同的旧数据可以与存储队列1、2的内容异或。
在第三读操作中,从本地存储器172读取旧水平奇偶数据(图7b,框228),并且将其与事先存储在存储队列1中的中间结果异或(框230)。上述关于队列1的最后的异或操作的结果将是新水平奇偶数据,其存储在存储队列1中,如图8b所示,对应于图7b中的框230。该新水平奇偶数据可以被从存储队列1写入本地存储器172,如箭头231(图6)所示,用于随后由存储处理器109传送到存储驱动器150a...150n的带n的水平奇偶块。
在第四读操作中,从本地存储器172读取旧对角线奇偶数据(框232),并且将其与存储队列2中事先存储的中间结果异或(框234)。上述关于存储队列2的最后的异或操作的结果将是新对角线奇偶数据,其存储在存储队列2中,如图8b所示,对应于图7b中的框234。该新对角线奇偶数据可以被从存储队列2写入本地存储器172,如箭头235(图6)所示,用于随后由存储处理器109传送到存储驱动器150a...150n的带n的对角线奇偶块。
结合向盘驱动器150a、150b...150n的带n写入新水平奇偶数据和新对角线奇偶数据,该新数据也可以被写入带n的块。重复图7a、7b的操作,直到为所有新数据生成了新水平和对角线奇偶数据并且所有的新数据以及新水平奇偶和对角线奇偶数据都已被写入盘驱动器150a、150b...150n的带n的相关联块中。
在所示实施例中,新数据、旧数据和旧奇偶的读操作包括从本地存储器172到逻辑引擎176的数据传送。可以理解的是,在可替换实施例中,数据能够直接地从存储器(例如存储器108)传送到逻辑引擎(例如逻辑引擎176),这一点在转让给本申请的受让人的、共同待审的(copending)、申请日2003年12月29日、代理人文档号No.P17732的题为“METHOD,SYSTEM,AND PROGRAMFOR MANAGING DATA ORGANIZATION”的申请中有所描述。
附加的实施例细节
上述管理奇偶数据生成的技术可以通过使用标准编程和/或工程技术被实现为方法、装置或制造物品,以生成软件、固件、硬件或其任何组合。这里使用的术语“制造物品”指的是代码或在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现的逻辑电路,或计算机可读介质,例如磁性存储介质(例如,盘驱动器、软盘、磁带等)、光学存储器(CD-ROM、光盘等)、易失性和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)。计算机可读介质中的代码被处理器访问并执行。此外其中实现优选实施例的代码可以通过传输介质访问或经过网络从文件服务器访问。在这种情况中,在其中实现了该代码的制造物品包括传输介质,例如网络传输线、无线传输介质、传播通过空间的信号、无线电波、红外信号等。因此,“制造物品”可以包括其中包含该代码的介质。此外,“制造物品”可以包括硬件和软件部件的组合,其中包含、处理并执行了该代码。当然,本领域的技术人员将会意识到可以对该配置作出很多修改,制造物品可以包括本领域已知的任何信息承载介质。
在某些实施例中,存储处理器109包括奇偶数据管理器130,奇偶数据管理器130在数据更新和其他数据操作过程中管理奇偶数据的生成。存储处理器109可以具有软件、固件、或硬件或它们的组合,以执行上述和其他功能。例如,在一个实施例中,处理器170和逻辑引擎176可以在与主机处理器分离的存储处理器109的硬件中实现。在其他实现方式中,该奇偶数据管理器可以在主机软件中实现,包括驱动器、操作系统或应用程序或它们的组合。
在某些实现方式中,计算机系统可以包括驱动器和存储控制器,例如串行高级技术附联(SATA)、串行附加SCSI(SAS)、独立盘冗余阵列(RAID)等控制器,其管理对非易失性存储设备的访问,例如磁性硬盘驱动器、磁带介质、光盘等。在可选实现方式中,存储控制器实施例可以包括在不具有驱动器的系统中。此外,用于设备和扩展器的SAS体系结构上的细节在技术说明书“Information Technology-Serial Attached SCSI(SAS)”中有描述,参见no.ISO/IEC14776-150:200x以及ANSI INCITS.***:200x PHYlayer(2003年7月9日),ANSI公开。SATA体系结构的细节在技术说明书“SerialATA:High Speed SerializedATAttachment”Rev.1.0A(2003年1月)中有描述。
在某些实现方式中,设备驱动器和存储处理器实施例可以在包括视频控制器以呈现要在监视器上显示的信息的计算机系统中实现,该监视器耦合到该计算机系统,该计算机系统包括设备驱动器和网络适配器,例如包括桌上型电脑、工作站、服务器、主机、膝上型电脑、手持型电脑等的计算机系统。可选地,存储处理器和设备驱动器实施例可以在不包括视频控制器的计算设备中实现。
在某些实现方式中,所示的逻辑引擎示为具有两个存储队列1、2或寄存器200a、200b。可选地,该逻辑引擎可以具有附加的存储队列或寄存器,特别是在要生成多于两种类型的奇偶数据的情况下。
在某些实现方式中,网络适配器可以被配置成经过连接到网络适配器上的端口的电缆来传送数据。可选地,网络适配器实施例可以配置成经过无线网络或连接(例如无线LAN、蓝牙等)传送数据。
图7a-7b、8a、8b所示的逻辑示出了特定的事件以特定的顺序发生。在可替换的实施例中,特定操作可以以不同的顺序执行,修改或消除。而且,操作还可以添加到上述的逻辑上并且仍然符合所描述的实施例。此外,这里所描述的操作可以顺序地发生,某些操作也可以并行地处理。此外,操作可以由单个处理单元执行,也可以由分布式处理单元执行。
图9示出了网络部件的计算机体系结构500的一种实现方式,网络部件例如是图4所示的主机和存储设备。体系结构500包括处理器502(例如,微处理器)、存储器504(例如,易失性存储设备)和存储器506(例如,非易失性存储器,例如磁盘驱动器、光盘驱动器、磁带驱动器等)。存储器506可以包括内部存储设备或附连的或网络可访问的存储器。存储器506中的程序被装载入存储器504并由处理器502以现有技术中已知方式执行。存储处理器或控制器507能够控制存储器506。该体系结构还包括网络适配器508,以便能够与网络通信,网络例如是以太网、纤维信道仲裁环等。纤维管路体系结构上的细节在技术说明书“Fibre Channel Framing and Signaling Interface”、文档号ISO/IEC AWI14165-25中有描述。
此外,在某些实施例中,所述体系结构可以包括视频控制器509以在显示监视器上呈现信息,其中视频控制器509可以在视频卡上实现,或集成在主板上安装的集成电路部件上。如所述,某些网络设备可以具有多个存储卡或控制器。输入设备510用于向处理器502提供用户输入,并且可以包括键盘、鼠标、触笔、麦克风、触摸感应显示屏或现在技术中已知的任何其他激活或输入机构。输出设备512能够呈现从处理器502或其他部件例如显示监视器、打印机、存储器等传送的信息。
存储控制器506和网络适配器508中的每个都可以在卡上实现,例如外围组件互连(PCI)卡或某些其他I/O卡,或在主板上安装的集成电路部件上实现。PCI体系结构的细节在PCI-SIG公开的“PCI Local Bus,Rev.2.3”中有描述。
上面给出的各种实施例的描述是为了解释和描述的目的。上述说明书、实例和数据提供了该产品的完整描述以及特定实施例的组合的使用。其意图并不是穷尽的,并且也没有限定到所公开的精确形式。按照上述的教导,很多修改和改变都是可能的。
Claims (39)
1.一种修改旧数据的方法,包括:
在第一传送操作中将新数据传送到逻辑引擎,在第二传送操作中将旧数据传送到逻辑引擎;在第三传送操作中将旧第一奇偶数据传送到逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到逻辑引擎;
使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据;以及
使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据。
2.如权利要求1所述的方法,其中所述旧数据、旧第一奇偶数据和旧第二奇偶数据存储在跨过多个存储设备存储的数据带中。
3.如权利要求2所述的方法,其中所述多个存储设备以独立盘组织的冗余阵列的方式排列。
4.如权利要求3所述的方法,其中所述新第一奇偶数据是水平奇偶数据。
5.如权利要求4所述的方法,其中所述新第二奇偶数据是对角线奇偶数据。
6.如权利要求1所述的方法,其中在所述逻辑引擎中生成新第一奇偶数据包括:将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第一存储队列,并且对所述第一存储队列的内容和所述应用的新数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据包括:将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第二存储队列,并且对所述第二存储队列的内容和所述应用的新数据执行异或逻辑函数操作。
7.如权利要求6所述的方法,其中在所述逻辑引擎中生成新第一奇偶数据包括将在所述第二传送操作中将传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据包括:将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述旧数据执行异或逻辑函数操作。
8.如权利要求7所述的方法,其中在所述逻辑引擎中生成新第一奇偶数据包括将在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧第一奇偶数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据包括:将在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述旧第二奇偶数据执行异或逻辑函数操作。
9.如权利要求1所述的方法,其中旧数据从易失性存储器传送到所述逻辑引擎。
10.如权利要求2所述的方法,还包括用所述新数据覆盖所述带中的所述旧数据,用所述新第一奇偶数据覆盖所述旧第一奇偶数据,而且用所述新第二奇偶数据覆盖所述旧第二奇偶数据。
11.一种修改旧数据的装置,包括:
在第一传送操作中将新数据传送到逻辑引擎,在第二传送操作中将旧数据传送到逻辑引擎;在第三传送操作中将旧第一奇偶数据传送到逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到逻辑引擎的单元;
使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据的单元;以及
使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据的单元。
12.如权利要求11所述的装置,其中所述旧数据、旧第一奇偶数据和旧第二奇偶数据存储在跨过多个存储设备存储的数据带中。
13.如权利要求12所述的装置,其中所述多个存储设备以独立盘组织的冗余阵列的方式排列。
14.如权利要求13所述的装置,其中所述新第一奇偶数据是水平奇偶数据。
15.如权利要求14所述的装置,其中所述新第二奇偶数据是对角线奇偶数据。
16.如权利要求11所述的装置,其中要在所述逻辑引擎中生成新第一奇偶数据的计算机可读指令包括存储在存储介质上的机器可读指令,用于将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第一存储队列,并且对所述第一存储队列的内容和所述应用的新数据执行异或逻辑函数操作,并且其中要在所述逻辑引擎中生成新第二奇偶数据的机器可读指令包括存储在存储介质上的机器可读指令,用于将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第二存储队列,并且对所述第二存储队列的内容和所述应用的新数据执行异或逻辑函数操作。
17.如权利要求16所述的装置,其中要在所述逻辑引擎中生成新第一奇偶数据的计算机可读指令包括存储在存储介质上的机器可读指令,用于将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧数据执行异或逻辑函数操作,并且其中要在所述逻辑引擎中生成新第二奇偶数据的机器可读指令包括存储在存储介质上的机器可读指令,用于将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述旧数据执行异或逻辑函数操作。
18.如权利要求17所述的装置,其中要在所述逻辑引擎中生成新第一奇偶数据的计算机可读指令包括存储在存储介质上的机器可读指令,用于将在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧第一奇偶数据执行异或逻辑函数操作,并且其中要在所述逻辑引擎中生成新第二奇偶数据的机器可读指令包括存储在存储介质上的机器可读指令,用于将在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述旧第二奇偶数据执行异或逻辑函数操作。
19.如权利要求11所述的装置,其中旧数据从易失性存储器传送到所述逻辑引擎。
20.如权利要求12所述的装置,存储介质还包括存储其上的机器可读指令,用于用所述新数据覆盖所述带中的所述旧数据,用所述新第一奇偶数据覆盖所述旧第一奇偶数据,以及用所述新第二奇偶数据覆盖所述旧第二奇偶数据。
21.一种能修改旧数据的系统,包括:
用于将操作系统、应用程序和设备驱动器存储在耦合到处理器的存储器中的部件;
数据存储处理部件,用于管理对包括多个存储设备的数据存储器的输入/输出访问,所述数据存储处理部件包括逻辑引擎;其中所述操作系统、所述设备驱动器和所述数据存储处理部件中的至少一个包括:
传送单元,在第一传送操作中将新数据传送到所述逻辑引擎,在第二传送操作中将旧数据传送到所述逻辑引擎,在第三传送操作中将旧第一奇偶数据传送到所述逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到所述逻辑引擎;
新第一奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据;以及
新第二奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据。
22.如权利要求21所述的系统,其中所述旧数据、旧第一奇偶数据和旧第二奇偶数据存储在跨过所述多个存储设备存储的数据带中。
23.如权利要求22所述的系统,其中所述多个存储设备以独立盘组织的冗余阵列的方式排列。
24.如权利要求23所述的系统,其中所述新第一奇偶数据是水平奇偶数据。
25.如权利要求24所述的系统,其中所述新第二奇偶数据是对角线奇偶数据。
26.如权利要求21所述的系统,其中在所述逻辑引擎中生成新第一奇偶数据将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第一存储队列,并且对所述第一存储队列的内容和所述应用的新数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第二存储队列,并且对所述第二存储队列的内容和所述应用的新数据执行异或逻辑函数操作。
27.如权利要求26所述的系统,其中在所述逻辑引擎中生成新第一奇偶数据将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述旧数据执行异或逻辑函数操作。
28.如权利要求27所述的系统,其中在所述逻辑引擎中生成新第一奇偶数据将在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧第一奇偶数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据将在所述第四传送操作中传送到所述逻辑引擎的所述第二旧奇偶数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述第二奇偶数据执行异或逻辑函数操作。
29.如权利要求21所述的系统,其中所述处理器耦合到视频控制器。
30.如权利要求22所述的系统,其中所述操作系统、设备驱动器和数据存储处理部件中的至少一个还包括:用所述新数据覆盖所述带中的所述旧数据的部件,用所述新第一奇偶数据覆盖所述旧第一奇偶数据的部件,以及用所述新第二奇偶数据覆盖所述旧第二奇偶数据的部件。
31.一种与具有多个数据存储设备的数据存储器一起使用的存储处理器,包括:
逻辑引擎;以及
处理单元,该处理单元包括:
传送单元,在第一传送操作中将新数据传送到所述逻辑引擎,在第二传送操作中将旧数据传送到所述逻辑引擎,在第三传送操作中将旧第一奇偶数据传送到所述逻辑引擎,并且在第四传送操作中将旧第二奇偶数据传送到所述逻辑引擎;
新第一奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据,在所述逻辑引擎中生成新第一奇偶数据;以及
新第二奇偶数据生成单元,使用在所述第一传送操作中传送到所述逻辑引擎的所述新数据、在所述第二传送操作中传送到所述逻辑引擎的所述旧数据、在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据,在所述逻辑引擎中生成新第二奇偶数据。
32.如权利要求31所述的存储处理器,其中所述旧数据、旧第一奇偶数据和旧第二奇偶数据存储在跨过所述多个数据存储设备存储的数据带中。
33.如权利要求32所述的存储处理器,其中所述多个存储设备以独立盘组织的冗余阵列的方式排列。
34.如权利要求33所述的存储处理器,其中所述新第一奇偶数据是水平奇偶数据。
35.如权利要求34所述的存储处理器,其中所述新第二奇偶数据是对角线奇偶数据。
36.如权利要求31所述的存储处理器,其中在所述逻辑引擎中生成新第一奇偶数据将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第一存储队列,并且对所述第一存储队列的内容和所述应用的新数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据将在所述第一传送操作中传送到所述逻辑引擎的所述新数据应用到所述逻辑引擎的第二存储队列,并且对所述第二存储队列的内容和所述应用的新数据执行异或逻辑函数操作。
37.如权利要求36所述的存储处理器,其中在所述逻辑引擎中生成新第一奇偶数据将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据将在所述第二传送操作中传送到所述逻辑引擎的所述旧数据应用到所述逻辑引擎的第二存储队列,并且对所述第二存储队列的内容和所述旧数据执行异或逻辑函数操作。
38.如权利要求37所述的存储处理器,其中在所述逻辑引擎中生成新第一奇偶数据将在所述第三传送操作中传送到所述逻辑引擎的所述旧第一奇偶数据应用到所述逻辑引擎的所述第一存储队列,并且对所述第一存储队列的内容和所述应用的旧第一奇偶数据执行异或逻辑函数操作,并且其中在所述逻辑引擎中生成新第二奇偶数据将在所述第四传送操作中传送到所述逻辑引擎的所述旧第二奇偶数据应用到所述逻辑引擎的所述第二存储队列,并且对所述第二存储队列的内容和所述旧第二奇偶数据执行异或逻辑函数操作。
39.如权利要求32所述的存储处理器,其中所述处理单元还包括:用所述新数据覆盖所述带中的所述旧数据的部件,用所述新第一奇偶数据覆盖所述旧第一奇偶数据的部件,以及用所述新第二奇偶数据覆盖所述旧第二奇偶数据的部件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/747,938 | 2003-12-29 | ||
US10/747,938 US7188303B2 (en) | 2003-12-29 | 2003-12-29 | Method, system, and program for generating parity data |
PCT/US2004/043040 WO2005066760A2 (en) | 2003-12-29 | 2004-12-20 | Method, system, and program for generating parity data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101073066A CN101073066A (zh) | 2007-11-14 |
CN101073066B true CN101073066B (zh) | 2011-09-14 |
Family
ID=34749263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480039319.XA Expired - Fee Related CN101073066B (zh) | 2003-12-29 | 2004-12-20 | 生成奇偶数据的方法、系统和程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7188303B2 (zh) |
EP (1) | EP1700200A2 (zh) |
JP (1) | JP2007524932A (zh) |
CN (1) | CN101073066B (zh) |
TW (1) | TWI283345B (zh) |
WO (1) | WO2005066760A2 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206899B2 (en) * | 2003-12-29 | 2007-04-17 | Intel Corporation | Method, system, and program for managing data transfer and construction |
US7246259B2 (en) * | 2004-03-18 | 2007-07-17 | Aristos Logic Coporation | Method of calculating parity for surviving dual drive failures in a disk array |
US7467281B2 (en) * | 2004-06-10 | 2008-12-16 | Intel Corporation | Mapping data blocks to storage blocks to wrap around storage devices |
US7318190B2 (en) * | 2004-06-10 | 2008-01-08 | Intel Corporation | Storage device parity computation |
US7321905B2 (en) * | 2004-09-30 | 2008-01-22 | International Business Machines Corporation | System and method for efficient data recovery in a storage array utilizing multiple parity slopes |
EP2118746B1 (en) * | 2007-01-11 | 2019-01-02 | Red Bend Ltd. | Method and system for in-place updating content stored in a storage device |
US9311181B2 (en) * | 2012-11-15 | 2016-04-12 | Samsung Electronics Co., Ltd. | Memory controller changing partial data in memory device and method for changing partial data thereof |
US9672106B2 (en) | 2014-12-30 | 2017-06-06 | Nutanix, Inc. | Architecture for implementing erasure coding |
JP2016184372A (ja) * | 2015-03-27 | 2016-10-20 | 富士通株式会社 | ストレージシステム,情報処理装置,パリティ生成プログラム及びパリティ生成方法 |
US10339098B2 (en) | 2015-12-22 | 2019-07-02 | Spectra Logic, Corp. | Container-level array storage |
US10248617B2 (en) | 2015-12-22 | 2019-04-02 | Spectra Logic, Corp. | File-level array storage |
US10567009B2 (en) | 2016-12-06 | 2020-02-18 | Nutanix, Inc. | Dynamic erasure coding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5579475A (en) * | 1991-02-11 | 1996-11-26 | International Business Machines Corporation | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity |
CN1182913A (zh) * | 1990-06-21 | 1998-05-27 | 国际商业机器公司 | 恢复受奇偶校验保护数据的方法和装置 |
US6041423A (en) * | 1996-11-08 | 2000-03-21 | Oracle Corporation | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5315602A (en) * | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
US5761402A (en) * | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
US5537567A (en) * | 1994-03-14 | 1996-07-16 | International Business Machines Corporation | Parity block configuration in an array of storage devices |
US5636359A (en) | 1994-06-20 | 1997-06-03 | International Business Machines Corporation | Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme |
US6151641A (en) | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US6353895B1 (en) | 1998-02-19 | 2002-03-05 | Adaptec, Inc. | RAID architecture with two-drive fault tolerance |
US6247157B1 (en) * | 1998-05-13 | 2001-06-12 | Intel Corporation | Method of encoding data signals for storage |
AU1444601A (en) | 1999-10-28 | 2001-05-08 | Ramot University Authority For Applied Research And Industrial Development Ltd. | Caching techniques for improving system performance in raid applications |
JP3458804B2 (ja) * | 1999-12-27 | 2003-10-20 | 日本電気株式会社 | 情報記録装置およびその制御方法 |
US7698625B2 (en) * | 2003-08-26 | 2010-04-13 | Adaptec, Inc. | System for improving parity generation and rebuild performance |
-
2003
- 2003-12-29 US US10/747,938 patent/US7188303B2/en not_active Expired - Fee Related
-
2004
- 2004-12-20 CN CN200480039319.XA patent/CN101073066B/zh not_active Expired - Fee Related
- 2004-12-20 EP EP04815155A patent/EP1700200A2/en not_active Withdrawn
- 2004-12-20 WO PCT/US2004/043040 patent/WO2005066760A2/en not_active Application Discontinuation
- 2004-12-20 JP JP2006542900A patent/JP2007524932A/ja active Pending
- 2004-12-21 TW TW093139791A patent/TWI283345B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182913A (zh) * | 1990-06-21 | 1998-05-27 | 国际商业机器公司 | 恢复受奇偶校验保护数据的方法和装置 |
US5579475A (en) * | 1991-02-11 | 1996-11-26 | International Business Machines Corporation | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity |
US6041423A (en) * | 1996-11-08 | 2000-03-21 | Oracle Corporation | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment |
Also Published As
Publication number | Publication date |
---|---|
WO2005066760A3 (en) | 2007-05-18 |
CN101073066A (zh) | 2007-11-14 |
TW200532447A (en) | 2005-10-01 |
US7188303B2 (en) | 2007-03-06 |
TWI283345B (en) | 2007-07-01 |
WO2005066760A2 (en) | 2005-07-21 |
EP1700200A2 (en) | 2006-09-13 |
US20050160307A1 (en) | 2005-07-21 |
JP2007524932A (ja) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7206899B2 (en) | Method, system, and program for managing data transfer and construction | |
US9652343B2 (en) | Raid hot spare system and method | |
US8762672B2 (en) | Storage system and storage migration method | |
US8819338B2 (en) | Storage system and storage apparatus | |
US5720027A (en) | Redundant disc computer having targeted data broadcast | |
US5101492A (en) | Data redundancy and recovery protection | |
US20020133669A1 (en) | Policy based storage configuration | |
CN100356310C (zh) | 储存虚拟化控制器、子系统及系统与方法 | |
CN101221484A (zh) | 数据存储系统及其管理方法 | |
KR20090073099A (ko) | 전역 핫 스패어 디스크를 이용한 고장난 드라이브의 재구성및 카피백 방법 | |
CN1770114A (zh) | 存储网络中的复制操作 | |
CN101073066B (zh) | 生成奇偶数据的方法、系统和程序 | |
KR20090096406A (ko) | 전역 핫 스패어 디스크를 이용한 연결단절된 드라이브의 재구성 및 카피백 시스템 및 방법 | |
US20030233596A1 (en) | Method and apparatus for fast initialization of redundant arrays of storage devices | |
EP1700199B1 (en) | Method, system, and program for managing parity raid data updates | |
US7725664B2 (en) | Configuration definition setup method for disk array apparatus, and disk array apparatus | |
CN113687977A (zh) | 基于raid控制器以实现计算性能提升的数据处理装置 | |
CN113687978A (zh) | 用于存储阵列控制器的数据处理方法 | |
CN100365601C (zh) | 仿真系统和仿真方法 | |
US20110296102A1 (en) | Storage apparatus comprising raid groups of raid 1 series and control method of writing to raid group of raid 1 series | |
CN116401063A (zh) | 一种raid的资源分配方法、装置、设备及介质 | |
Li | Scalability of RAID systems |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110914 Termination date: 20181220 |