CN1518697A - 提供混合的盘镜像和盘分条的方法、装置和程序 - Google Patents
提供混合的盘镜像和盘分条的方法、装置和程序 Download PDFInfo
- Publication number
- CN1518697A CN1518697A CNA018233783A CN01823378A CN1518697A CN 1518697 A CN1518697 A CN 1518697A CN A018233783 A CNA018233783 A CN A018233783A CN 01823378 A CN01823378 A CN 01823378A CN 1518697 A CN1518697 A CN 1518697A
- Authority
- CN
- China
- Prior art keywords
- data strip
- data
- memory
- strip
- space
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- 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
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
Abstract
硬盘驱动器(410、420)用于对数据进行镜像和分条处理。在写的时候,硬盘控制器把第一数据条(420)写(504)到第一硬盘(410)中并在第二硬盘(420)上分配(510)适当的空间量以对该数据条进行镜像处理。与此同时,第二数据条(422)可被写入第二硬盘(420)并在第一硬盘(410)上分配适当空间量以对第二数据条进行镜像处理。关于哪些数据条已被镜像而哪些数据条尚未被镜像的信息被存储在存储器中。其后,例如在盘空闲期间,控制器或文件系统可把相应的数据条复制(508)到预先分配的空间,从而使各驱动器(410、420)之间的数据同步。在盘空闲期间,控制器或文件系统还可验证(518)各数据条,以识别被破坏的数据。用户可指定是否在写数据时对数据镜像和是否在读数据时验证数据。所以,用户可对读和写分别独立地在速度和可靠性之间进行抉择。
Description
技术领域
本发明涉及数据处理,特别是独立盘冗余阵列。更具体地说,本发明提供一种方法、装置和程序,用于在一个盘子系统中开发分条和镜像的混合,而不增加盘驱动器的个数。
背景技术
独立盘冗余阵列(RAID)是一个增强性能和提供容错的盘子系统。RAID需要由含有两个或更多个硬盘的一组硬盘以及合有RAID功能的专用的盘控制器。RAID当初是为服务器和独立的盘存储器系统开发的,但现在RAID变得越来越多地应用于桌面个人计算机,这主要是为了容错。RAID还可以只使用软件实现,但性能要差些,特别是当出现故障之后重建数据时。
盘分条是RAID的一个级别,它在多个驱动器上交错存放多个字节或多组字节,使一个以上的盘同时进行读和写,从而改善其性能。数据被按字节或扇区跨驱动器交错存放。例如,利用设计成重叠读、写的四个驱动器和一个控制器,能在通常读一个扇区所用的时间内读出四个扇区。盘分条被称作RAID级别0(零)或RAID0。盘分条并不是固有地提供容错或检错,然而,分条能与用作容错的其他方法结合使用。
容错可通过镜像实现。镜像涉及在两个驱动器上的数据备份。数据可被写入同一系统内的两个单独的盘中。一个失效的驱动器可由新的驱动器替代,而RAID控制器能自动重建丢失的数据。盘镜像被称作RAID级别1(壹)或RAID1。
结合使用盘分条(RAID0)和盘镜像(RAID1)可提供分条的性能和镜像的可靠性。RAID0和RAID1的组合被称作RAID0/1。然而,结合使用RAID0和RAID1至少需要四个盘驱动器,两个驱动器用于分条,两个驱动器用于对各数据条进行镜像处理。大多数小办公室和家庭办公室一般使用通用个人计算机。由于其尺寸和成本的限制,这些计算机通常最多有两个盘驱器。这样,当要在一个通用个人计算机上实现RAID时,必须在分条和镜像之间做出抉择。
所以,在盘子系统中开发出分条和镜像的混合而不增加所需盘驱动器的个数是有好处的。
发明内容
本发明使用硬盘驱动器对数据进行镜像和分条处理。在写的时候,硬盘控制器可把第一数据条写入第一硬盘并在第二硬盘上分配适当空间量以对该数据条进行镜像处理。与此同时,第二数据条可被写入第二硬盘并在第一硬盘上分配适当空间量以对第二数据条进行镜像处理。关于哪些数据条以被镜像以及哪些数据条尚未被镜像的信息被存储在存储器中。其后,例如在盘空闲期间,控制器或文件系统可把相应的数据条复制到预先分配的空间,从而使各驱动器之间的数据同步。在盘空闲期间,控制器或文件系统还可验证各数据条,以识别被破坏的数据。
这样,人们可以实现由分条提高的性能和由镜像增强的可靠性,无需四个或更多个硬盘驱动器。另一种作法是,用户可指定是否在写数据时对数据进行镜像处理和是否在读数据时验证数据。所以,用户可针对读和写,在速度和可靠性之间进行抉择。
附图说明
在所附权利要求中列出相信能表征本发明的新特性。然而,结合附图参考下文中对一实施示例的详细描述,将最好地理解发明本身及其优选实施方式、进一步的目的和优点,这些附图是:
图1是根据本发明的优选实施例可在其中实现本发明的一个数据处理系统的图形表示;
图2是可在其中实现本发明的一个数据处理系统的方框图;
图3A-3C是对数据进行分条和镜像处理的现有技术方框图;
图4是根据本发明的优选实施例结合使用数据分条和数据镜像的方框图;以及
图5是流程图,显示根据本发明的优选实施例一个硬盘控制器或文件系统所进行的操作。
具体实施方式
现在参考附图,特别是参考图1,图中给出根据本发明的优选实施例在其中可实现本发明的数据处理系统的图形表示。图中所示计算机100包括系统单元100、视频显示终端102、键盘104、存储设备108以及鼠标器106,其中存储设备108可包括软盘驱动器和其他类型的永久和可卸存储介质。附加的输入设备可包括在个人计算机100中,如游戏棒、触摸垫、触摸屏、跟踪球、送话器等。计算机100能用任何适用的计算机实现,如IBMRS/6000计算机或IntelliStation计算机,它们是位于纽约Armonk的国际商业机器公司的产品。尽管所描绘的图形表示显示一个计算机,但本发明的其他实施例可以以其他形式的数据处理系统实现,如网络计算机。优选地,计算机100还包括一个图形用户界面,它可由在计算机100内操作的计算机可读介质中驻留的系统软件实现。
现在参考图2,图中显示在其中可实现本发明的一个数据处理系统的方框图。数据处理系统200是一个计算机(如图1中的计算机100)的实例,实现本发明的处理过程的代码或指令可位于其中。数据处理系统200利用外围部件互连(PCI)局部总线体系结构。尽管所描绘的例子使用PCI总线,但也可使用其他总线体系结构,如图形加速端口(AGP)和工业标准体系结构(ISA)。处理器202和主存储器204通过PCI桥208与PCI局部总线206相连。PCI桥208还可包括一个用于处理器202的集成的存储器控制器和高速缓冲存储器。到PCI局部总线206的其他连接可通过直接部件互连或通过附件板来实现。在所描绘的例子中,局域网(LAN)适配器210、小型计算机系统接口SCSI主机总线适配器212以及扩展总线接口214通过直接部件连接而连到PCI局部总线206。与此对照的是,音频适配器216、图形适配器218以及音频/视频适配器219则由插入扩展槽的附件板连接到PCI局部总线206。扩展总线接口214为键盘和鼠标适配器220、调制解调器222以及附加存储器224提供连接。硬盘适配器212为硬盘驱动器226、228提供连接。典型的PCI局部总线实现将支持三个或四个PCI扩展槽或附件连接器。
一个操作系统在处理器202上运行并用于协调和控制图2中的数据处理系统200内的各个部件。该操作系统可以是市场上可得到的操作系统,如Windows2000,它可从微软公司得到。一个面向对象的编程系统,如Java,可与操作系统结合运行并提供从在数据处理系统200上执行的Java程序或应用对操作系统的调用。“Java”是微系统公司的商标。用于操作系统、面向对象的编程系统以及应用或程序的指令位于存储设备上(例如硬盘驱动器226)并可被加载到主存储器204中,供处理器202执行。
本领域技术人员将会理解,图2中的硬件可根据具体实现而改变。其他内部硬件或外部设备,如闪速ROM(或等效的非易失存储器)或光盘驱动器等,可用于补充或替代图2中描绘的硬件。再有,本发明的过程可应用于多处理器数据处理系统。数据处理系统200可以是一个个人数字助理(PDA),它被配置成具有ROM和/或闪速ROM以提供非易失存储器,用于存储操作系统文件和/或用户产生的数据。
图2中描绘的例子以及上文描述的例子不意味对体系结构的限制。例如,数据处理系统200除了采取PDA的形式外,还可以是笔记本计算机或手持计算机。数据处理系统200还可以是一个kiosk系统或Web设备。
本发明的过程是由处理器202使用计算机实现的指令完成的,这些指令可位于存储器中,如主存储器204、存储器224,或一个或多个硬盘226、228中。
根据本发明的优选实施例,专门化的硬盘适配器212或文件系统使用硬盘226、228提供独立盘冗余阵列(RAID)子系统。
图3A-3C是方框图,显示对数据进行分条和镜像处理的现有技术。具体地说,参考图3A,图中显示数据分条(RAID0)。当数据被写入时,数据被分成两个数据条,即数据A和数据B。数据A312可被写入硬盘310,而数据B322可被同时写入硬盘320。数据还可被分成更多数据条并写入更多个硬盘或成对地写入硬盘310、320。当读数据时,数据A可从硬盘310中被读出,而数据B从硬盘320中被读出。数据分条允许同时读或写多个数据条,从而使性能提高。
现在转到图3B,图中显示数据镜像(RAID1)的方框图。当数据被写入硬盘330时,数据同时被复制到硬盘340上。在数据A332被写入硬盘330的同时,数据A342被镜像到硬盘340上。类似地,在数据B334被写入硬盘330的同时,数据B344被写入硬盘340。数据镜像通过在两个驱动器上复制数据提供容错功能。当读数据时可进行验证。例如,当数据B334被从硬盘330中读出时,数据B344可同时从硬盘340中读出。可进行比较以识别数据破坏。失效的驱动器可由新的驱动器取代,而RAID控制器能自动重建丢失的数据。
现在参考图3C,所示方框图显示结合使用数据分条和数据镜像(RAID0/1)。当写数据时,数据被分成两个数据条,即数据A和数据B。数据A352可被写入硬盘350,而数据B362可同时被写入硬盘360。再有,当数据A352被写入硬盘350时,数据A372同时被镜像到硬盘370。类似地,当数据B362被写入硬盘360时,数据B382同时被写入硬盘380。
数据分条允许同时将各数据条写入硬盘350、360或从硬盘350、360中读出从而提高了性能。数据镜像允许通过比较硬盘350、360上的各数据条与硬盘370、380上的各数据条,来验证数据。结合使用数据分条(RAID0)和数据镜像(RAID1)可提供分条的性能和镜像的可靠性。
然而,结合使用RAID0和RAID1需要至少四个盘驱动器,两个用于分条,再有两个用于对数据条做镜像。例如,硬盘350、360可为20GB的硬盘。这样,硬盘370、380必须也是20GB的硬盘。为使用RAID0/1,一台计算机必须支持四个20GB硬盘。大多数小办公室或家庭办公室使用通用个人计算机。这些计算机通常由于尺寸和成本的限制最多有两个盘驱动器。由于计算机壳体内部的可用空间或可用驱动器架个数的限制,使尺寸受到限制。大多数个人计算机在其母板上置有两个集成驱动器接口(IDE)通道(控制器)。一个通道通常用做存储设备,如光盘驱动器、数字视盘(DVD)驱动器、压缩介质驱动器。另一个通道通常用于硬盘驱动器,通常是一个,但最多为两个驱动器。再有,额外硬盘的费用可限制使用RAID0/1。所以,当在通用计算机上实现RAID时,必须在分条和镜像之间做出抉择。
根据本发明的优选实施例、一个硬盘驱动器可同时被用作数据镜像和分条。在写的时候,硬盘控制器可把第一数据条写入第一硬盘并在第二硬盘上分配适当空间量以对该数据条镜像。与此同时,第二数据条可被写入第二硬盘并在第一硬盘上分配适当空间量以对第二数据条镜像。关于哪些数据条已被镜像而哪些数据条尚未被镜像的信息被存储在存储器中。其后,例如在盘空闲期间,控制器或文件系统可把相应的数据条复制到预先分配的空间,从而使各驱动器之间的数据同步。在盘空闲期间,控制器或文件系统还可验证各数据条,以识别被破坏的数据。还可在其他时间验证数据,如在系统启动的时候。
参考图4,图中的方框图说明根据本发明的优选实施例结合使用数据分条和数据镜像。在写的时候,数据A412被写入硬盘410并在硬盘420上分配适当的空间量以对该数据条进行镜像处理。与此同时,数据B422被写入硬盘420并在硬盘410上分配适当的空间量以对该数据条进行镜像处理。其后,通过把数据A424复制到硬盘420上的预分配空间中和把数据B414复制到硬盘410上的预分配空间中使驱动器之间的数据同步。
这样,人们可以实现由分条提高的性能和由镜像增强的可靠性,无需四个或更多个硬盘驱动器。硬盘410、420必须支持为单独进行分条或镜像所需容量的两倍。然而,对双倍容量的硬盘尺寸没有付出代价。例如,40GB硬驱动器所占空间与20GB硬驱动器所占空间相同。而且,相对于双倍驱动器个数据而言,双倍其容量成本不是那么高。例如,40GB硬驱动器的费用少于两个20GB硬驱动器。
在另一个实施例中,用户可指定是否在写数据时对数据镜像和是否在读数据时验证数据。所以,用户可对读和写在速度和可靠性之间进行抉择。例如,一台计算机可主要用于存储数据。于是用户可指定该计算机在盘空闲期间对数据镜像,而在读数据时验证数据。与此相反,一台计算机可能用于存储数据和反复访问所存储的数据。于是用户可指定在写数据时对数据镜像以保证其可靠性,但在读数据时不进行数据的,从而提高读分条的数据的速度。
现在参考图5,所示流程图说明根据本发明的优选实施例一个硬盘控制器或文件系统的操作。过程开始时确定是否要进行写(步骤502)。如果是要写数据,则过程写分条的数据(步骤504)并确定该RAID子系统是否被配置成在写的时候做镜像(步骤506)。如果该子系统是被配置成在写时做镜像,则过程写镜像数据(步骤508)并确定是否要进行读操作(步骤512)。
如果在步骤506该子系统未被配置成在写时做镜像,则过程为镜像数据分配存储区(步骤510)并进入步骤512,确定是否要进行读操作。回到步骤502,如果不是要进行写操作,则过程进入步骤512,确定是否要进行读操作。
如果要读数据,则过程读分条的数据(步骤514)并确定该RAID子系统是否被配置成在读时验证数据(步骤516)。如果该子系统是被配置成在读时验证数据,则如果数据已被镜像的话便验证数据(步骤518)并确定该硬盘是否空闲(步骤520)。
如果在步骤516中该子系统未被配置成在读时验证数据,则过程进入步骤520,确定该硬盘是否空闲。回到步骤512,如果没有要进行读操作,则过程进入步骤520,确定该硬盘是否空闲。
如果硬盘空闲,则过程写那些在初始写时尚未被镜像的数据(步骤522)并验证被镜像的数据(步骤524)。然后,确定是否存在退出条件(步骤526),例如,当计算机系统关机时或当电源管理子系统使硬盘进入“睡眠”或休止方式时便可存在退出条件。如果在步骤520中硬盘不空闲,则过程进入步骤526,确定是否存在退出条件。如果存在退出条件,则过程结束。如果在步骤526中不存在退出条件,则过程返回步骤502,确定是否要写数据。
这样,本发明提供多种类型RAID而无需增加所需盘驱动器个数,从而克服了现有技术的缺点。本发明对数据分条并在第二个硬盘上分配适当的空间量以对各数据条做镜像。关于哪些数据条已被镜像而哪些数据条尚未被镜像的信息被存储在存储器中。其后,例如在盘空闲期间,控制器或文件系统可把相应的数据条复制到预先分配的空间,从而使各驱动器之间的数据同步。在盘空闲期间,控制器或文件系统还可验证各数据条,以识别被破坏的数据。这样,人们可以实现由分条提高的性能和由镜像增强的可靠性,无需四个或更多个硬盘驱动器。用户还可指定是否在写数据时对数据镜像和是否在读数据时验证数据。所以,用户可针对读和写,在速度和可靠性之间进行抉择。
尽管已在全功能数据处理系统的上下文中详细描述了本发明,但本领域普通技术人员将会理解,本发明的过程能以指令的计算机可读介质形式和各种形式分发,而且不管实际用于进行分发的信号承载介质的特定形式如何,本发明能同样地应用;指出这些是重要的。计算机可读介质的实例包括可记录型介质,如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,以及传输型介质,如数字的和模拟的通信链路,使用诸如射频和光波传输等形式的有线或无线通信链路。计算机可读介质可采取编码格式的形式,它们被解码后实际用于一个特定数据处理系统中。
本发明的描述是为了说明和描述的目的给出的,不是要把本发明穷尽和限定于所公开的形式。对于本领域普通技术人员而言,许多修改和变化是显然的。实施例的选择和描述是为了最好地解释本发明的原理和实际应用,并使本领域其他普通技术人员能理解本发明以实现具有各种修改的各种实施例,以适用于所考虑的特定应用。
Claims (34)
1.一种用于存储数据的方法,包括:
把数据至少分成第一数据条和第二数据条;
把第一数据条存储在第一存储器中,同时把第二数据条存储在第二存储器中;
在第二存储器中为第一数据条分配空间并在第一存储器中为第二数据条分配空间;以及
把第一数据条复制到供第一数据条用的空间并把第二数据条复制到供第二数据条用的空间。
2.权利要求1的方法,进一步包括:
验证第一数据条。
3.权利要求2的方法,其中验证第一数据条的步骤包括:
将第一存储器中的第一数据条与在第二存储器中的复制的第一数据条进行比较。
4.权利要求2的方法,其中验证第一数据条的步骤是在盘空闲期间进行的。
5.权利要求2的方法,其中验证第一数据条的步骤是在启动时进行的。
6.权利要求1的方法,其中复制第一数据条和复制第二数据条的步骤是在盘空闲期间进行的。
7.一种用于存储数据的方法,包括:
把数据至少分成第一数据条和第二数据条;
把第一数据条存储在第一存储器中和把第二数据条存储在第二存储器中;
把第一数据条复制到第二存储器中和把第二数据条存储到第一存储器中;以及
验证第一数据条。
8.权利要求7的方法,其中复制第一数据条和复制第二数据条的步骤包括:
在第二存储器中为第一数据条分配空间和在第一存储器中为第二数据条分配空间;以及
把第一数据条复制到供第一数据条用的空间中和把第二数据条复制到供第二数据条用的空间中。
9.权利要求8的方法,其中复制第一数据条和复制第二数据条的步骤是在盘空闲期间进行的。
10.权利要求7的方法,其中是在把第一数据条存储到第一存储器中时把第一数据条复制到第二存储器中。
11.权利要求7的方法,其中复制第一数据条和复制第二数据条的步骤是在盘空闲期间进行的。
12.权利要求11的方法,其中第一数据条和第二数据条是同时被复制的。
13.权利要求7的方法,其中验证第一数据条的步骤是在盘空闲期间进行的。
14.权利要求7的方法,其中验证第一数据条的步骤是在读第一数据条时进行的。
15.权利要求7的方法,其中验证第一数据条的步骤包括:
将第一存储器中的第一数据条与在第二存储器中的复制的第一数据条进行比较。
16.一种用于存储数据的设备,包括:
分条装置,用于把数据至少分成第一数据条和第二数据条;
存储装置,用于把第一数据条存储在第一存储器中,同时把第二数据条存储在第二存储器中;
分配装置,用于在第二存储器中为第一数据条分配空间并在第一存储器中为第二数据条分配空间;以及
复制装置,用于把第一数据条复制到供第一数据条用的空间并把第二数据条复制到供第二数据条用的空间。
17.权利要求16的设备,进一步包括:
验证装置,用于验证第一数据条。
18.权利要求17的设备,其中验证装置包括:
比较装置,用于将第一存储器中的第一数据条与在第二存储器中的复制的第一数据条进行比较。
19.权利要求17的设备,其中验证装置包括在盘空闲期间验证第一数据条的装置。
20.权利要求17的设备,其中验证装置包括在启动时验证第一数据条的装置。
21.权利要求16的设备,其中复制装置包含在盘空闲期间复制第一数据条和第二数据条的装置。
22.一种用于存储数据的设备,包括:
分条装置,用于把数据至少分成第一数据条和第二数据条;
存储装置,用于把第一数据条存储在第一存储器中和把第二数据条存储在第二存储器中;
复制装置,用于把第一数据条复制到第二存储器中和把第二数据条存储到第一存储器中;以及
验证装置,用于验证第一数据条。
23.权利要求22的设备,其中复制装置包括:
分配装置,用于在第二存储器中为第一数据条分配空间和在第一存储器中为第二数据条分配空间;以及
复制装置,用于把第一数据条复制到供第一数据条用的空间中和把第二数据条复制到供第二数据条用的空间中。
24.权利要求23的设备,其中复制装置包含在盘空闲期间复制第一数据条和第二数据条的装置。
25.权利要求22的设备,其中是在把第一数据条存储到第一存储器中时把第一数据条复制到第二存储器中。
26.权利要求22的设备,其中复制装置包含在盘空闲期间复制第一数据条和第二数据条的装置。
27.权利要求26的设备,其中第一数据条和第二数据条是同时被复制的。
28.权利要求22的设备,其中验证装置包括在盘空闲期间验证第一数据条的装置。
29.权利要求22的设备,其中验证装置包括在读第一数据条时验证第一数据条的装置。
30.权利要求22的设备,其中验证装置包括:
比较装置,用于将第一存储器中的第一数据条与在第二存储器中的复制的第一数据条进行比较。
31.一种用于存储数据的设备,包括:
第一存储器;
第二存储器;以及
控制器,它把数据至少分成是第一数据条和第二数据条,把第一数据条存储在第一存储器中并同时把第二数据条存储在第二存储器中,在第二存储器中为第一数据条分配空间和在第一存储器中为第二数据条分配空间,以及把第一数据条复制到供第一数据条用的空间中和把第二数据条复制到供第二数据条用的空间中。
32.一种用于存储数据的设备,包括:
第一存储器;
第二存储器;以及
控制器,它把数据至少分成是第一数据条和第二数据条,把第一数据条存储在第一存储器中和把第二数据条存储在第二存储器中,把第一数据条复制到第二存储器中和把第二数据条复制到第一存储器中,以及验证第一数据条。
33.一种在计算机可读介质中的用于存储数据的计算机程序产品,包括:
用于把数据至少分成是第一数据条和第二数据条的指令;
用于把第一数据条存储在第一存储器中并同时把第二数据条存储在第二存储器中的指令;
用于在第二存储器中为第一数据条分配空间并在第一存储器中为第二数据条分配空间的指令;以及
用于把第一数据条复制到供第一数据条用的空间并把第二数据条复制到供第二数据条用的空间的指令。
34.一种在计算机可读介质中的用于存储数据的计算机程序产品,包括:
用于把数据至少分成是第一数据条和第二数据条的指令;
用于把第一数据条存储在第一存储器中和把第二数据条存储在第二存储器中的指令;
用于把第一数据条复制到第二存储器中和把第二数据条复制到第一存储器中的指令;以及
用于验证第一数据条的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/838,168 US20020156971A1 (en) | 2001-04-19 | 2001-04-19 | Method, apparatus, and program for providing hybrid disk mirroring and striping |
US09/838,168 | 2001-04-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1518697A true CN1518697A (zh) | 2004-08-04 |
Family
ID=25276446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018233783A Pending CN1518697A (zh) | 2001-04-19 | 2001-12-17 | 提供混合的盘镜像和盘分条的方法、装置和程序 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20020156971A1 (zh) |
EP (1) | EP1399820A2 (zh) |
JP (1) | JP2004525464A (zh) |
KR (1) | KR20030090735A (zh) |
CN (1) | CN1518697A (zh) |
AU (1) | AU2002234034A1 (zh) |
WO (1) | WO2002086653A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866307A (zh) * | 2010-06-24 | 2010-10-20 | 杭州华三通信技术有限公司 | 一种基于镜像技术的数据存储方法及装置 |
CN103119569A (zh) * | 2010-08-31 | 2013-05-22 | 美光科技公司 | 基于存储条的非易失性多级存储器操作 |
CN103577334A (zh) * | 2012-08-10 | 2014-02-12 | 国际商业机器公司 | 分配数据存储物理实体镜像对的方法和镜像数据存储系统 |
CN104714758A (zh) * | 2015-01-19 | 2015-06-17 | 华中科技大学 | 一种基于校验raid加入镜像结构的阵列构建方法及读写系统 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478126B2 (en) * | 2002-04-08 | 2009-01-13 | Sony Corporation | Initializing relationships between devices in a network |
EP1550053A4 (en) * | 2002-09-18 | 2009-03-25 | Netezza Corp | ARCHITECTURE OF THE MIRROR DISK FOR DATABASE DEVICES |
US7076606B2 (en) * | 2002-09-20 | 2006-07-11 | Quantum Corporation | Accelerated RAID with rewind capability |
US7130229B2 (en) * | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
US7017017B2 (en) * | 2002-11-08 | 2006-03-21 | Intel Corporation | Memory controllers with interleaved mirrored memory modes |
US7143234B2 (en) * | 2002-11-26 | 2006-11-28 | Intel Corporation | Bios storage array |
US7028156B1 (en) | 2003-07-01 | 2006-04-11 | Veritas Operating Corporation | Use of read data tracking and caching to recover from data corruption |
US7028139B1 (en) | 2003-07-03 | 2006-04-11 | Veritas Operating Corporation | Application-assisted recovery from data corruption in parity RAID storage using successive re-reads |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7577806B2 (en) * | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US20050177693A1 (en) * | 2004-02-10 | 2005-08-11 | Storeage Networking Technologies | Asynchronous mirroring in a storage area network |
TWI263891B (en) * | 2004-08-10 | 2006-10-11 | Via Tech Inc | Method and related apparatus for verifying array of disks |
JP2007087053A (ja) * | 2005-09-21 | 2007-04-05 | Oki Electric Ind Co Ltd | ディスクアレイ制御装置および制御方法 |
JP2007115162A (ja) * | 2005-10-24 | 2007-05-10 | Meidensha Corp | データの二重保存方法 |
US20090006743A1 (en) * | 2007-06-27 | 2009-01-01 | Chee Keong Sim | Writing data to multiple storage devices |
EP2248041B1 (en) * | 2008-02-26 | 2015-04-29 | VMWare, Inc. | Extending server-based desktop virtual machine architecture to client machines |
JP2009230608A (ja) * | 2008-03-25 | 2009-10-08 | Fuji Xerox Co Ltd | 記憶システム、制御装置、画像形成装置、および制御プログラム |
US8155766B2 (en) * | 2008-11-03 | 2012-04-10 | Hitachi, Ltd. | Methods and apparatus to provision power-saving storage system |
US8484506B2 (en) * | 2008-11-29 | 2013-07-09 | Lsi Corporation | Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality |
CN103210098B (zh) * | 2010-09-16 | 2015-09-09 | Posco公司 | 高碳热轧钢板、高碳冷轧钢板及其制造方法 |
JP6233279B2 (ja) * | 2014-11-07 | 2017-11-22 | コニカミノルタ株式会社 | 画像形成装置、画像形成装置の制御プログラム、およびコントローラー |
US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10664169B2 (en) * | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
US10936201B2 (en) * | 2019-02-21 | 2021-03-02 | Intel Corporation | Low latency mirrored raid with persistent cache |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5051887A (en) * | 1987-08-25 | 1991-09-24 | International Business Machines Corporation | Maintaining duplex-paired storage devices during gap processing using of a dual copy function |
US5678061A (en) * | 1995-07-19 | 1997-10-14 | Lucent Technologies Inc. | Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks |
-
2001
- 2001-04-19 US US09/838,168 patent/US20020156971A1/en not_active Abandoned
- 2001-12-17 AU AU2002234034A patent/AU2002234034A1/en not_active Abandoned
- 2001-12-17 CN CNA018233783A patent/CN1518697A/zh active Pending
- 2001-12-17 JP JP2002584110A patent/JP2004525464A/ja active Pending
- 2001-12-17 EP EP01985045A patent/EP1399820A2/en not_active Withdrawn
- 2001-12-17 WO PCT/US2001/048641 patent/WO2002086653A2/en not_active Application Discontinuation
- 2001-12-17 KR KR10-2003-7013408A patent/KR20030090735A/ko not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866307A (zh) * | 2010-06-24 | 2010-10-20 | 杭州华三通信技术有限公司 | 一种基于镜像技术的数据存储方法及装置 |
CN103119569A (zh) * | 2010-08-31 | 2013-05-22 | 美光科技公司 | 基于存储条的非易失性多级存储器操作 |
US9235503B2 (en) | 2010-08-31 | 2016-01-12 | Micron Technology, Inc. | Stripe-based non-volatile multilevel memory operation |
CN103119569B (zh) * | 2010-08-31 | 2016-08-31 | 美光科技公司 | 基于存储条的非易失性多级存储器操作 |
CN103577334A (zh) * | 2012-08-10 | 2014-02-12 | 国际商业机器公司 | 分配数据存储物理实体镜像对的方法和镜像数据存储系统 |
CN104714758A (zh) * | 2015-01-19 | 2015-06-17 | 华中科技大学 | 一种基于校验raid加入镜像结构的阵列构建方法及读写系统 |
CN104714758B (zh) * | 2015-01-19 | 2017-07-07 | 华中科技大学 | 一种基于校验raid加入镜像结构的阵列构建方法及读写系统 |
Also Published As
Publication number | Publication date |
---|---|
US20020156971A1 (en) | 2002-10-24 |
JP2004525464A (ja) | 2004-08-19 |
AU2002234034A1 (en) | 2002-11-05 |
WO2002086653A3 (en) | 2003-08-14 |
WO2002086653A2 (en) | 2002-10-31 |
KR20030090735A (ko) | 2003-11-28 |
EP1399820A2 (en) | 2004-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1518697A (zh) | 提供混合的盘镜像和盘分条的方法、装置和程序 | |
US7281089B2 (en) | System and method for reorganizing data in a raid storage system | |
US7047358B2 (en) | High-performance log-structured RAID | |
EP0485110B1 (en) | Logical partitioning of a redundant array storage system | |
US7051155B2 (en) | Method and system for striping data to accommodate integrity metadata | |
US6785836B2 (en) | In-place data transformation for fault-tolerant disk storage systems | |
US6718436B2 (en) | Method for managing logical volume in order to support dynamic online resizing and software raid and to minimize metadata and computer readable medium storing the same | |
US6606629B1 (en) | Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique | |
US6647460B2 (en) | Storage device with I/O counter for partial data reallocation | |
US20080270719A1 (en) | Method and system for efficient snapshot operations in mass-storage arrays | |
US7788244B2 (en) | Method and system for copying a snapshot tree | |
US20050050381A1 (en) | Methods, apparatus and controllers for a raid storage system | |
TW200530812A (en) | Method, system, and program for managing data organization | |
JP2001147785A (ja) | データを管理する方法 | |
US7818524B2 (en) | Data migration systems and methods for independent storage device expansion and adaptation | |
JP2000293317A (ja) | 記憶制御装置 | |
US7222135B2 (en) | Method, system, and program for managing data migration | |
JP2003131816A5 (ja) | 記憶装置及びその制御方法 | |
US9298551B2 (en) | Efficient incremental updates for shingled magnetic recording (SMR) drives in a RAID configuration | |
US11256447B1 (en) | Multi-BCRC raid protection for CKD | |
JP2007524932A (ja) | パリティデータを生成するための方法、システム、及びプログラム | |
CN112119380B (zh) | 带有旁路的奇偶校验记录 | |
CN1492308A (zh) | 可储存资料的鼠标装置 | |
US7590780B2 (en) | Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data | |
JPH0744331A (ja) | ディスクアレイ装置およびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |