CN101093434A - 用矩阵条带高速缓存器改进raid系统输入和输出性能的方法 - Google Patents
用矩阵条带高速缓存器改进raid系统输入和输出性能的方法 Download PDFInfo
- Publication number
- CN101093434A CN101093434A CNA2007101100774A CN200710110077A CN101093434A CN 101093434 A CN101093434 A CN 101093434A CN A2007101100774 A CNA2007101100774 A CN A2007101100774A CN 200710110077 A CN200710110077 A CN 200710110077A CN 101093434 A CN101093434 A CN 101093434A
- Authority
- CN
- China
- Prior art keywords
- matrix
- rxw
- read
- write
- msc
- 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.)
- Granted
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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
这里公开了一种使用矩阵条带高速缓存器(MSC)来改进独立磁盘冗余阵列(RAID)系统的输入/输出(I/O)性能的方法,所述方法包括:第一步骤,用于通过将执行对磁盘的写入的单元MSC,生成在行组合之前呈现的基本rxw矩阵,即读取和写入矩阵;第二步骤,用于通过行组合,根据在第一步骤中生成的行组合之前的rxw矩阵来生成rxw矩阵,即最终的读取和写入矩阵;以及第三步骤,基于第二步骤中生成的行组合后的rxw矩阵来执行读取、针对基于行的行组合后的rxw矩阵来执行XOR操作、以及基于列的行组合后的rxw矩阵来执行写入。
Description
技术领域
本发明通常涉及一种改进独立磁盘冗余阵列(RAID)系统的输入/输出(I/O)性能的方法。更具体地,本发明涉及一种使用矩阵条带高速缓存器(MSC)改进RAID系统的I/O性能的方法;该方法为MSC中的每列执行读取连接和写入连接,以减少I/O操作次数,从而改进片断写入的性能;以及该方法以退化模式的读取性能为代价,改进了正常模式的读取性能。
背景技术
RAID系统将多个独立的磁盘存储设备集成为一个,分配并存储各个磁盘中的数据,并实现了至多个磁盘的同步存取,从而改进了I/O特性。此外,RAID系统允许通过主机计算机系统来将多个独立的磁盘存储设备视为单个磁盘,从而实现高容量存储设备。
此外,RAID系统保存辅助数据,如,磁盘复制或误差检验和校正(ECC)码或奇偶校验数据,从而即使RAID系统的任何一个磁盘出了故障,也可以自动恢复数据,因而提高了系统的可靠性。
图1是示出了一般RAID系统的示意性结构的图示。RAID系统包括被认为是系统主体的主机系统10,与主机系统10连接的多个硬磁盘30,在主机系统10和硬磁盘30之间连接、并配置用于管理硬磁盘30的RAID控制器20。RAID控制器20包括存储器21,用于补偿主机系统10和硬磁盘30之间的速度差。
此外,根据配置,将RAID系统分为五个等级。根据由Patterson等所著的文章,将RAID系统分为五个类型,即,RAID等级1至RAID等级5。
RAID等级1是将数据存储于N个磁盘中、将数据存储于其它N个磁盘中、以及将数据复制并存储至其它镜像磁盘中的技术。在写入数据时,必须总将相同的数据存储至两个不同的磁盘。在读取数据时,可以选择两个磁盘中具有较快存取时间的一个磁盘,并可以从所选磁盘中读取数据。如果两个磁盘之一出现故障,则可以使用镜像磁盘连续提供服务。
RAID等级2是使用汉明码保护数据的技术,并导致了比RAID1的镜像方案低的磁盘成本。
RAID等级3是将一个奇偶校验磁盘添加至N个数据磁盘组的技术。在该等级上,在写入数据时,以比特或字节为单位来分配数据并将数据存储于N个相应的磁盘中,以及将通过针对存储在每个数据磁盘中的数据执行XOR操作而获得的奇偶校验数据存储于奇偶校验磁盘中。在读取数据时,必须同时对N个磁盘进行存取。如果N个磁盘之一出现故障,则可以使用存储于奇偶校验磁盘中的奇偶校验数据来恢复信息。
RAID等级4包括N+1个磁盘,其中,数据存储于N个磁盘上,以及奇偶校验(parity)存储于另一磁盘上,RAID等级4与RAID等级3十分类似,但是与RAID等级3的不同之处在于,根据块来分配并存储数据。因此,在写入数据时,需要对一个数据磁盘和奇偶校验磁盘的存取,以及在读取数据时,仅对一个磁盘进行存取。此外,当一个磁盘出现故障时,可以使用存储于奇偶校验磁盘中的奇偶校验块来恢复信息。
RAID等级5与RAID等级4的相似之处在于,根据块来存储数据,但是与RAID等级4的不同之处在于,在磁盘上分配奇偶校验数据,而不是将奇偶校验数据存储于固定磁盘上。在该等级上,在读取和写入数据时所使用的方法和在一个磁盘出现故障时使用的数据恢复方法与RAID等级4中的方法相同。
此外,存在RAID等级0,该等级在不使用辅助数据的情况下简单地分配并保存数据;以及存在RAID等级6,该等级具有使用里德-所罗门码的P+Q误差恢复方法。由于甚至两个磁盘同时出现故障时也可以恢复信息,所以RAID等级6显示出了比使用奇偶校验校验的方法更加高的可靠性。目前,大多数RAID系统支持RAID等级0、1、3和5,以及RAID等级0/1,即,RAID等级0和1的组合。选择并使用适用于用户应用环境的RAID等级。
同时,对于小写入操作,伴随着奇偶校验的RAID等级(如,RAID等级5)显示出了非常不良的性能。为了解决该问题,开发了降级算法。
术语“降级”指以下方法:在请求写入时,将写入数据复制到高速缓存器而不是将数据立即传递至磁盘,之后将数据传递至磁盘。降级算法包括写入逐级排序(Wise Ordering for Write,WOW)、高低水印(High Low Water Mark,HLMN)、线性阈值(LT)调度等。
此外,为了改进读取性能而降低磁盘I/O操作次数的高速缓存器替换算法包括ARC,2Q,MQ,LRU-2,ALRFU,LIRS,MRU,LRU等。诸如CSCAN,SSTF和先行(anticipatory)磁盘调度算法之类的磁盘调度算法减少了对磁盘的寻找和轮循等待时间。
此外,与传统的RAID系统相关的专利包括美国专利No.6,704,837,其中,为了改进RAID系统的写入性能,在降级时对写入操作的大小和磁盘的轨道大小进行相互比较。
此外,“A Case for Redundant Arrays of Inexpensive Disks(RAID)”(ACM SIGMOD.1988,D.A.Patterson等)提出了一种RAID结构,但是并没有提出改进RAID系统的I/O性能的方法。“WOW:Wise Orderingfor Writes-Combining Spatial and Temporal Locality in Non-volatileCaches”(USENIX FAST 2005,Binny S.Gill等)”仅公开了用于改进RAID系统的写入性能的降级算法之一。“Scheduling algorithms formodern disk drives”(SIGMETRICS,D.L. Worthington)引入了用于改进磁盘读取和写入性能的各种磁盘调度技术。
此外,在RAID系统中,通常连续执行写入数据操作。然而,如果文件系统非常碎(即,一个文件不连续地存储于磁盘中,即,作为一个单元,但是被分为多个片断并不连续地存储于磁盘中),则从磁盘角度,将写入数据视为片断连续写入。即,写入的图案显示出了跨距图案,即跳越图案,在这种情况下,导致了非常不良的性能。此外,在RAID系统中,由于在其中必须支持磁盘故障容忍功能的复杂实现,RAID控制器无法利用磁盘的最大性能。此外,RAID系统可以在磁盘出现故障时(退化模式中)无丢失地读取数据。然而,RAID系统在读取操作期间,由于其实现的复杂性而需要大量开销,因此在正常模式和退化模式中使读取性能均下降。
发明内容
因此,本发明解决了现有技术中出现的上述问题,本发明的目的是提供一种使用MSC来改进RAID系统的I/O性能的方法,该方法可以改进RAID系统的性能,并与现有的降级算法、现有的高速缓存器替换算法和现有的磁盘调度算法兼容。
本发明的另一目的是提供一种使用MSC改进RAID的I/O性能的方法,该方法可以改进RAID控制器中片断连续写入的性能,并提供RAID的有效实现,以及可以以RAID退化模式的读取性能为代价来改进RAID正常模式的读取性能。
为了实现以上目的,本发明提供了一种使用MSC改进RAID系统的I/O性能的方法,其中,MSC是由用于片断写入连续变换的rxw矩阵所管理的条带高速缓存器。rxw矩阵的元素与条带的块相对应。该方法包括:第一步骤,用于生成基本rxw矩阵,基本rxw矩阵呈现了使条带高速缓存器降级所需的所有读取、xor操作和写入,选择所述条带高速缓存器以降级至磁盘;第二步骤,用于对基本rxw矩阵执行连续变换以生成变换后的rxw矩阵,该rxw矩阵包含使所选条带高速缓存器降级所需的最终读取、xor操作和写入;以及第三步骤,基于第二步骤中生成的变换后的rxw矩阵来执行读取、基于变换后的rxw矩阵来执行XOR操作、以及基于变换后的rxw矩阵来执行写入。
第二步骤的连续变换由读取连续变换和写入连续变换构成。读取连续变换必须在写入连续变换之前,以提高写入连续变换的可能性。
对于基本rxw矩阵的每一列,读取连续变换将读取操作插入位于同一列中的两个不连续读取之间。对于基本rxw矩阵的每一列,写入连续变换将写入操作插入两个不连续写入之间。
对于基本rxw矩阵的每一列,如果在具有读取操作的两个不连续元素之间不具有读取操作的元素个数大于预定最大读取距离,则不允许读取连续变换;对于基本rxw矩阵的每一列,如果在具有写入操作的两个不连续元素之间不具有写入操作的元素个数大于预定最大写入距离,则不允许写入连续变换。
预定最大读取距离是显示出了比连续读取更快性能的跨距距离,其中,通过两个不连续I/O之间的块数来定义跨距距离。预定最大写入距离是显示出了比连续写入更快性能的跨距距离。通过跨距基准,从磁盘阵列的成员磁盘(member disk)中获得最大读取距离和最大写入距离,这在管理员创建磁盘阵列时自动执行。跨距基准通过改变跨距距离,在跨距图案中生成工作负载。
为了实现以上目的,本发明提供了一种使用MSC改进RAID系统的I/O性能的方法,该方法包括:第一步骤,用于确定是否至少一个脏块(dirty block)存在于选择要降级至磁盘的MSC单元(如果主机对块进行写入,则在实际将写入数据降级至磁盘之前,将写入数据复制于MSC单元的相应块高速缓存器,以及所述块高速缓存器成为脏块);第二步骤,如果确定至少一个脏块存在于MSC单元中,则为了使MSC单元降级,生成对基本rxw矩阵的读取/xor/写入操作;第三步骤,用于读取连续变换,如果两个不连续读取元素之间的条带距离不大于最大读取距离,则将读取操作插入位于同一列的两个不连续读取元素之间的基本rxw矩阵的所有元素中;第四步骤,用于写入连续变换,如果两个不连续写入元素之间的条带距离不大于最大写入距离,则将写入操作插入位于同一列的两个不连续写入元素之间的基本rxw矩阵的所有元素中;第五步骤,用于确定在通过第三和第四步骤处理的变换后的rxw矩阵中,是否有至少一个读取操作,以及如果存在至少一个读取操作,则对于变换后的rxw矩阵的每一列进行读取;以及第六步骤,用于对于变换后的rxw矩阵的每一行执行XOR操作,然后对于变换rxw矩阵的每一列执行写入。
为了实现以上目的,本发明提供了一种使用MSC来改进RAID系统的I/O性能的方法,所述方法包括第一步骤,如果读取请求包括至少两个MSC单元,则将读取请求分为用于相应MSC单元的多个读取请求;第二步骤,用于确定是否存在故障磁盘;第三步骤,如果作为第二步骤中确定的结果,没有发现存在故障磁盘,则确定在相应的MSC单元中是否存在空块;第四步骤,如果作为第三步骤中确定的结果,发现存在空块,则确定相应的MSC单元是否在读取MSC单元的整个块之下;第五步骤,如果作为第四步骤中确定的结果,确定MSC单元读取MSC单元的整个块,则将读取请求添加至MSC单元的分块列表;第六步骤,如果作为第四步骤中确定的结果,确定MSC单元不在读取MSC单元的整个块之下,则产生rxw矩阵,即MSC单元所有空块的读取和写入矩阵,并基于该rxw矩阵来读取MSC单元的整个块;以及第七步骤,用于在第六步骤中完成了整个读取之后,终止MSC单元的分块列表中存在的所有读取请求。
附图说明
结合附图,将会从以下的详细描述中更加清楚地理解本发明的以上和其它目的、特征和优点,其中:
图1是示出了RAID系统的一般结构的图示;
图2是通过改变条带距离而示出在硬盘中的读取执行时间的图示;
图3是通过改变条带距离而示出在硬盘中的写入执行时间的图示;
图4是示出了使用根据本发明的MSC写入的实施例的图示;
图5是示出了使用根据本发明的MSC的写入操作的流程图;
图6是示出了使用本发明的MSC的读取操作的流程图;
图7是RAID-5阵列的数据组织和术语;
图8是RAID-5阵列中的读取-修改-写入-循环;以及
图9是在PBG的各种情况中的RAID-5的降级操作。
具体实施方式
将参照附图详细描述本发明的优选实施例。
本发明是现有降级算法、高速缓存器替换算法和磁盘调度方法的补充并与之兼容,以及可以应用于各种RAID等级,如,RAID等级0、RAID等级1、RAID等级5和RAID等级6。
本发明的原理特征是有效使用图2和3中所示磁盘的特性。图2是示出了读取周转时间与条带距离的图示,其中,读取在相同的预设块处开始,并在到达相同的预设目的地时停止。通过两个不连续I/O之间的块数来定义条带距离。在条带距离是1时,连续读取块。当条带距离是2时,跳过一个块,然后读取后续的一个块,并重复该样式。当条带距离是3时,跳过两个块,然后读取一个块,并重复该样式。
图3是通过改变条带距离示出了在硬盘上测量的执行时间的图示。图2和3的结果示出了在条带距离是2时性能的急剧降低。图2示出了大于5的条带距离的不连续顺序I/O优于其条带距离为1的顺序I/O。在图3中,条带距离大于21的不连续顺序I/O优于顺序I/O。本发明使用这种磁盘特性改进了RAID系统的性能。
如图7所示,RAID咨询部使用术语条和条带详细描述了RAID-5,通过条带40组织RAID-5阵列,每个条带由奇偶校验条45和数据条41~44构成。每个条41~45包括由磁盘分区的块集合47。通过位于成员磁盘的相同偏移处的块组来定义奇偶校验块组(PBG)46。奇偶校验条45中的奇偶校验块存储在相同PBG46中的数据块的逐比特异或(XOR)的结果。奇偶校验条45包括条带40中的奇偶校验块48。
在本发明中,跨距高速缓存器用于改进I/O性能。本发明所提出的方法中所使用的条带高速缓存器单元的大小是条带的大小。根据条带来管理由条带高速缓存器单元构成的高速缓存器。换言之,每个条带高速缓存器单元与每个条带相对应,它是用于高速缓存器替换和降级的管理单元。在本发明中,矩阵条带高速缓存器(MSC)单元是由用于所提出的连续变换的所提出的rxw矩阵来管理的条带高速缓存器单元。rxw矩阵的元素与块47和48相对应。rxw矩阵的列与条41~45相对应。
此外,在本发明中,连续变换生成rxw矩阵以使条带降级,并通过将附加读取和写入插入不连续区域,将两个不连续的读取或写入变换为连续读取或写入。连续变换采用一致性和性能规则,这使得数据在不依据文件系统、数据修改和性能降低的情况下能够一致。根据MSC单元进行管理的高速缓存器提供了RAID系统容易的实施方式和连续或大量I/O的有效性能,并采用了空间位置。此外,本发明以退化模式的读取性能为代价,改进了正常模式的读取性能(这更加重要)。在图1的RAID控制器中执行本发明。
尽管本发明可以应用于各种RAID等级,但是将以使本发明应用于RAID等级5为例进行描述。
图4示出了根据本发明降级操作的实施例,其中,五个磁盘构成了RAID等级5阵列。
将传递至RAID的写入数据高速缓存于图1所示的RAID控制单元20的存储器21中。根据MSC单元100来管理高速缓存器。
可以不将高速缓存存储器分配给MSC单元的空块,或者事先将所有高速缓存存储器分配给MSC的所有各个块。本发明不限于这两种方法中的任何一种。
在图4的MSC单元100中,MSC单元100的每个块高速缓存器可以是脏块、净块或空块。在图4中,“D”表示脏块,“C”表示净块,以及“E”表示空块。MSC单元100的每个块高速缓存器与条带的每个块相对应。换言之,“列”指各个磁盘,“行”指升序排列的数据块。当将块数据从主机写入RAID系统时,将块数据复制至MSC单元100的相应块高速缓存器,以及块高速缓存器成为脏块。当读取块或将MSC单元100的脏块写入磁盘时,该块成为净块。在MSC单元100中,空块指示相应的块高速缓存器不包含有意义的数据。
此外,在通过用于降级块的降级方法来选择MSC单元100进行降级之后,从所选MSC单元100中生成基本rxw矩阵110,然后连续变换将基本rxw矩阵110转换为变换rxw矩阵140。最后,使用变换后的rxw矩阵140来执行从磁盘中的读取、块高速缓存器的XOR操作、以及至磁盘的写入。
可以通过六个操作:r,t,w,x,xx来对RAID-5的所有操作进行分类。在图4中,‘r’指示从磁盘至块高速缓存存储器的对于块的读取操作,以及‘t’指示从磁盘至临时存储器的对于块的读取操作。‘x’指示相应的块是XOR操作的操作对象,‘xx’指示基于相应块的操作‘t’的临时存储器和相应块的块高速缓存器是操作对象,‘-’指示XOR操作的目的地,以及‘w’指示相应块的写入操作。
使用这些助记术来方便地描述工作。为了以新数据来更新一个块,有必要(1)读取更新块所属于的PBG的所有其它块,除非它被高速缓存;(2)XOR所有数据块;以及(3)写入奇偶校验块和新块。该操作需要(N-1-d-c)次读取和(d+1)次写入,它们均包括(N-c)个I/O,其中,N是磁盘数,c是高速缓存的净块数,以及d是要更新的脏块数。将该过程称为重构-写入循环。当d=N-1时,不必读取任何块;将这种情况称为完全-奇偶校验-块-组-写入。
由于重构-写入循环需要(N-c)个I/O,而读取-修改-写入循环需要2(1+d)个I/O,所以当N-c>2(1+d)时,读取-修改-写入循环可以用于减小I/O数。该过程如下:(1)将新数据复制到高速缓存存储器;(2)读取旧奇偶校验块(r)并同时将旧块读入临时存储器(t);(3)用旧块(xx)XOR新块,并用旧奇偶校验块(x)XOR结果以生成新奇偶校验块(_);以及(4)写入新块(w)并同时写入新奇偶校验块(w),如图8所示。读取-修改-写入循环需要(1+d)次读取和(1+d)次写入,它们均包括2(1+d)个I/O。
对于缓存器状态的各种情况,图9示出了记忆术的降级操作。如图9的情况2所示,如果两个块被高速缓存(净)以及另一块被写入(脏),由于N-c>2(1+d)(其中,N=5,c=2及d=1),所以选择重构-写入循环来使PBG降级。因此有必要读取空块(r),对所有数据块进行XOR以更新奇偶校验块(x),并写入脏块和新奇偶校验(w)。因此,净块只包括x,脏块需要xw,空块需要rx,以及奇偶校验块需要w。如果在情况4中的所有块都是脏块,则有必要对所有数据块进行XOR,无需读取,并写入所有块和奇偶校验。换言之,所有数据块和奇偶校验块分别需要xw和w。图9中的情况1和6示出了使用读取-修改-写入循环的示例。
在MSC单元100中的块状态中,“D”表示脏块,其中,新数据在高速缓存器中但还未更新至磁盘;“C”表示净块,其中,与磁盘一致的数据在高速缓存器中;以及“E”表示空块,其中,有效数据不在高速缓存器中。u是每条的块数,以及v是由RAID-5阵列构成的磁盘数。图4中示出的MSC单元100的块的高速缓存器状态可以由以下的u×(v-1)矩阵表示:
在对于条带中的所有块来实际执行读取、XOR和写入之前,有必要通过生成如图4所示的基本rxw矩阵来确定应当读取哪些块、应当作出怎样的奇偶校验块,以及应当写入哪些块。通过针对矩阵Z的每行选择图9所示的重构-写入循环和读取-修改-写入循环之一,确定了基本rxw矩阵M110(其元素为mij)是{t,r,x,xx,,w}的子集。基本rxw矩阵110表示使条带中的所有块降级的所有操作。可以将图4所示的rxw矩阵110表示为以下等式:
通过基本rxw矩阵110来描述为使脏块降级而对于奇偶校验块组生成奇偶校验块的方法。例如,在基本rxw矩阵110的第一行中,脏块(z11)存在于与磁盘D0相对应的第一列中,但是其它列的所有块(z21,z31,z41)为空。然后,使用读取-修改-写入循环。基本rxw矩阵110的m11成为txxw,以及作为奇偶校验块组的奇偶校验块的m15成为rx_w。换言之,m11执行操作‘t’,m15执行操作‘r’,针对m11的临时和高速缓存存储器和m15的高速缓存存储器执行XOR操作,然后m11和m15执行操作‘w’。
将基本rxw矩阵110的第三行作为示例。z33是脏块,以及z31是净块。因此,通过重构-写入循环,m31成为‘x’,m32成为‘rx’,m33成为‘xw’,m34成为‘rx’,以及m35成为‘w’。
基本rxw矩阵110中示出仅读取操作的读取矩阵120显示在图4中。读取矩阵120不是单独存在的矩阵。图4中示出的读取矩阵120是为了容易地在基本rxw矩阵110中示出仅读取操作。写入矩阵130是不存在的矩阵,并示出以与读取矩阵120相同的方式容易地示出仅写入操作。
在从MSC单元100的块状态中生成基本rxw矩阵110之后,执行由读取连续变换和写入连续变换构成的连续变换,以产生变换后的rxw矩阵140。
读取连续变换的基本原理如下:
读取操作可以添加至的rxw元素mij在两个不连续元素maj和mbj之间的不连续区域内,其中,maj和mbj均包括‘r’或‘t’。在不连续区域内,不存在包括‘r’或‘t’的元素。在图4中示出的第二列的情况下,可以在m32和m62之间添加‘r’或‘t’,其中j=2,a=3和b=7。
同时,当将读取操作添加至元素mij时,如果mij不与奇偶校验块相对应并且相应的高速缓存器状态zij为脏时,使用操作‘t’。否则,使用操作‘r’。
写入连续变换在读取连续变换之后。写入连续变换的基本原理如下:
写入操作可以添加至的rxw元素mij在两个不连续元素maj和mbj之间的不连续区域内,其中,maj和mbj均包括‘w’。在不连续区域内,不存在包括‘w’的元素。在图4中示出的第一列的情况下,可以在m11和m41之间添加‘w’,其中j=1,a=1和b=4。
此外,当将写入操作添加至元素mij时,如果对于位于maj和mbj之间不连续区域内的所有mij,存在至少一个mij,使得它的高速缓存状态zij为空,以及mij不包含‘r’,则不允许写入连续变换。
存在连续变换的其它限制。如果在基本rxw矩阵110中的两个不连续读取之间的跨距距离大于预定“最大读取距离”,则不允许用于不连续读取的读取连续变换。以类似的方式,如果在基本rxw矩阵110中的两个不连续写入之间的跨距距离大于预定“最大写入距离”,则不允许用于不连续写入的写入连续变换。
预定最大读取距离是显示出了比连续读取更快的性能的跨距距离,其中,通过两个不连续I/O之间的块数来定义跨距距离。预定最大写入距离是显示出了比连续写入更快的性能的跨距距离。当管理员创建磁盘阵列时,根据跨距基准,自动地执行从磁盘阵列的成员磁盘中获得最大读取距离和最大写入距离。通过改变跨距距离,跨距基准生成跨距图案的工作量。
将“最大读取距离”值和“最大写入距离”值存储于可以永久存储这些值的非易失性存储器中。
通过基本rxw矩阵110的连续变换生成变换后的rxw矩阵140。为了易于理解如何通过比较读取矩阵120和写入矩阵130来执行连续变换,图4示出了变换后的读取矩阵150和变换后的写入矩阵160,它们均通过变换后的rxw矩阵来驱动,并且在物理上并不存在。
最后,在生成变换后的rxw矩阵140之后,执行用于使MSC单元100降级的实际的读取、XOR、写入。实际同时向磁盘请求对变换后的rxw矩阵140的所有读取。在所有所请求的读取完成之后,执行XOR操作,并向磁盘请求对变换后的rxw矩阵140的所有写入。当完成了所有所请求的写入之后,完成对MSC单元100的降级。
当如上所述执行连续变换时,即使单个磁盘命令具有较长的数据长度,多个读取或写入命令仍形成了单个磁盘命令。后一磁盘命令显示出了比前一磁盘命令更快的性能。
在图5的流程图中示出了导致MSC100的变换后的rxw矩阵140生成的过程。
当在步骤200中确定使MSC单元100降级时,执行用于确定在MSC单元100中是否存在一个或多个脏块的第一步骤201。如果在第一步骤201中,在MSC单元100中存在一个或多个脏块,则执行第二步骤202;否则,在步骤211处终止对单元MSC100的降级。
在第二步骤202中,使用读取-修改-写入循环和重构-写入循环生成基本rxw矩阵110,以使MSC100单元每行的脏块降级。
以下,在第三步骤中执行读取连续变换。在读取连续变换中,将读取操作添加至的rxw元素mij在两个不连续元素maj和mbj之间的不连续区域内,其中,maj和mbj均包括‘r’或‘t’。然而,如果在基本rxw矩阵110中的两个不连续读取之间的跨距距离大于预定“最大读取距离”,则不允许用于不连续读取的读取连续变换。当将读取操作添加至元素mij时,如果mij不与奇偶校验块相对应并且相应的高速缓存器状态zij为脏时,使用操作‘t’。否则,使用操作‘r’。
之后,在第四步骤204中执行写入连续变换。在写入连续变换中,写入操作可以添加至的rxw元素mij在两个不连续元素maj和mbj之间的不连续区域内,其中,maj和mbj均包括‘w’。在不连续区域内,不存在包括‘w’的元素。然而,如果在基本rxw矩阵110中的两个不连续写入之间的跨距距离大于预定“最大写入距离”,则不允许用于不连续写入的写入连续变换。此外,当将写入操作添加至元素mij时,如果对于位于maj和mbj之间不连续区域内的所有mij,存在至少一个mij使得它的高速缓存状态zij为空,以及mij不包含‘r’,则不允许写入连续变换。
之后,在第五步骤205中确定在变换后的rxw矩阵中,读取操作‘r’或‘t’的次数是否是一个或多个。如果在第五步骤205中读取操作‘r’或‘t’的次数不是一个或多个,则执行第八步骤208。如果在第五步骤205中读取操作‘r’或‘t’的次数是一个或多个,则在第六步骤206中,实际向磁盘同时请求对变换后的rxw矩阵140的所有读取。
在第七步骤207中完成了所有所请求的读取之后,在第八步骤208中执行对于最终rxw矩阵140每行的XOR操作,在第九步骤209中,向磁盘请求对变换后的rxw矩阵140的所有写入。
当在第十步骤210中完成所有所请求的写入之后,在步骤211中使MSC单元100降级。
如果最大读取距离是1,则不存在读取连续变换所协助的写入连续变换。如果在不遵守所确定的最大读取距离的所述规则的情况下,为了增加写入连续变换的可能性而积极增加最大读取距离,则可以获得更好的性能。
以下描述根据本发明的改进读取性能的方法。读取性能改进方案与写入性能改进方案独立。
通过牺牲退化模式的读取性能,本发明的读取性能改进方案可以改进正常模式的读取性能。在退化模式中,必须使用奇偶校验高速缓存器来改进读取性能。为此,读取请求之间出现了复杂的相关性,因此RAID读取的实施方式变得复杂,从而导致了大量的读取开销。
为了减小这种开销,总是在条带的全部块上执行退化模式中的读取。因此,可以降低读取请求之间的复杂相关性。然而,这导致了小读取操作的不良性能。
图6的流程图示出了读取性能改进方案。
如果在步骤300中生成了读取请求并开始读取,则如果在读取请求包括两个或多个MSC单元100,则在第一步骤301中,对于各个MSC单元,将包括两个或多个MSC单元100的读取请求分为多个读取请求。
之后,执行用于确定是否存在故障磁盘的第二步骤302。如果在第二步骤302中没有故障磁盘,则执行为所划分的读取请求读取MSC单元100的空块的第三步骤303,然后在步骤309中终止所述读取。
在第三步骤303中,可以存在由MSC单元命中高速缓存器的块,可选地,所请求的所有块会命中高速缓存器。在这种情况下,终止读取请求而无需任何读取操作。
同时,如果在第二步骤302中存在故障磁盘,则在第四步骤304中确定在MSC单元100中是否存在空块。如果在第四步骤304中确定在MSC单元100中存在空块,则在第五步骤305中确定MSC单元100是否正在读取MSC单元100的所有块。如果在第四步骤304中确定在MSC单元100中不存在空块,则在步骤309中终止所述读取。如果在第五步骤305中确定MSC单元100正在读取MSC单元100的所有块,则在第八步骤308中将读取请求插入MSC单元100的分块列表中。然后,在第七步骤307中终止读取请求。
如果在第五步骤305中MSC单元100没有读取MSC单元100的所有块,则在第六步骤306中,产生rxw矩阵以读取MSC单元100的所有空块,为rxw矩阵执行读取连续变换,然后通过rxw矩阵执行对MSC单元所有块的读取。然而,可以省略该读取连续变换。在完成了对条带所有块的读取之后,执行完成MSC单元100的分块列表中的读取请求,然后在步骤309处终止所述读取。
如上所述,利用诸如RAID-5、RAID-6等复杂的故障容忍方案,本发明可以改进对磁盘阵列的不连续顺序写入的性能。
Claims (13)
1、一种使用矩阵条带高速缓存器(MSC)来改进独立磁盘冗余阵列(RAID)系统的输入/输出(I/O)性能的方法,所述方法包括:
第一步骤,在将执行对磁盘的写入的MSC单元中,生成基本rxw矩阵,所述基本rxw矩阵呈现了使条带高速缓存器降级所需的所有读取、xor操作和写入,其中,选择所述条带高速缓存器以降级至磁盘;
第二步骤,用于对基本rxw矩阵执行连续变换以生成变换后的rxw矩阵,所述rxw矩阵包含使所选MSC单元降级所需的最终读取、xor操作和写入;以及
第三步骤,基于第二步骤中生成的变换后的rxw矩阵来执行读取、基于变换后的rxw矩阵来执行XOR操作、以及基于变换后的rxw矩阵来执行写入。
2、如权利要求1所述的方法,所述第二步骤的连续变换包括:
读取连续变换和写入连续变换,
其中,所述读取连续变换在所述写入连续变换之前。
3、如权利要求1所述的方法,其中,
对于基本rxw矩阵的每一列,所述读取连续变换将读取操作插入两个不连续元素之间的不连续区域内,其中,所述两个不连续元素均包括读取操作并位于同一列中,并且不存在包括读取操作的元素,以及
对于基本rxw矩阵的每一列,所述写入连续变换将写入操作插入两个不连续元素之间的不连续区域内,其中,所述两个不连续元素均包括写入操作并位于同一列中,并且不存在包括写入操作的元素。
4、如权利要求3所述的方法,其中,
对于基本rxw矩阵的每一列,如果在包括读取操作的两个不连续元素之间不包括读取操作的元素个数大于预定最大读取距离,则不允许所述读取连续变换;以及
对于基本rxw矩阵的每一列,如果在包括写入操作的两个不连续元素之间不包括写入操作的元素个数大于预定最大写入距离,则不允许所述写入连续变换。
5、如权利要求4所述的方法,其中,
所述预定最大读取/写入距离是比具有等效搜索距离的连续读取/写入显示出了更快的性能的最小跨距距离;
其中,通过两个不连续I/O之间的块数来定义所述跨距距离,以及所述等效搜索距离指示应用了相等的开始和结束位置。
6、一种使用MSC改进RAID系统的I/O性能的方法,所述方法包括:
第一步骤,用于确定是否至少一个脏块存在于选择要降级至磁盘的MSC单元中(如果主机对块进行写入,则在实际将写入数据降级至磁盘之前,将写入数据复制于MSC单元的相应块高速缓存器,以及块高速缓存器成为脏块);
第二步骤,如果确定至少一个脏块存在于MSC单元中,则为了使MSC单元降级,生成对基本rxw矩阵的读取/xor/写入操作;
第三步骤,用于读取连续变换,对于基本rxw矩阵的每一列,所述读取连续变换将读取操作插入位于同一列的包括读取操作的两个不连续读取元素之间;
第四步骤,用于写入连续变换,对于基本rxw矩阵的每一列,所述写入连续变换将写入操作插入位于同一列的包括写入操作的两个不连续写入元素之间;
第五步骤,用于确定在通过第三和第四步骤处理的变换后的rxw矩阵中,是否有至少一个读取操作,以及如果存在至少一个读取操作,则对于变换后的rxw矩阵的每一列进行读取;以及
第六步骤,用于对于变换后的rxw矩阵的每一行执行XOR操作,然后对于变换rxw矩阵的每一列执行写入。
7、如权利要求6所述的方法,其中:
对于基本rxw矩阵的每一列,如果在包括读取操作的两个不连续元素之间不包括读取操作的元素个数大于预定最大读取距离,则不允许所述读取连续变换;以及
对于基本rxw矩阵的每一列,如果在包括写入操作的两个不连续元素之间不包括写入操作的元素个数大于预定最大写入距离,则不允许所述写入连续变换。
8、如权利要求7所述的方法,其中,
所述预定最大读取/写入距离是比等效搜索距离的连续读取/写入显示出了更快的性能的最小跨距距离;
其中,通过两个不连续I/O之间的块数来定义所述跨距距离,以及所述等效搜索距离指示应用了相等的开始和结束位置。
9、如权利要求6所述的方法,在第三步骤,如果缓存状态zij为脏,则将‘t’插入用于读取操作的元素mij,以及如果缓存状态zij非脏,则将‘r’插入用于读取操作的元素,其中,zij与确定插入读取操作的rxw矩阵的元素mij相对应,
其中,‘r’指示从磁盘至块高速缓存存储器的块的读取操作,以及‘t’指示从磁盘至临时存储器的块的读取操作。
10、如权利要求6所述的方法,其中,在第四步骤中,当将写入操作添加至元素mij时,如果对于位于maj和mbj之间不连续区域内的所有mij,存在至少一个mij使得它的高速缓存状态zij为空,以及mij不包含‘r’,则不允许写入连续变换。
11、一种使用MSC来改进RAID系统的I/O性能的方法,所述方法包括:
第一步骤,如果读取请求包括至少两个MSC单元,则将读取请求分为用于相应MSC单元的多个读取请求;
第二步骤,用于确定是否存在故障磁盘;
第三步骤,作为第二步骤中确定的结果,如果没有发现存在故障磁盘,则确定在相应的MSC单元中是否存在空块;
第四步骤,作为第三步骤中确定的结果,如果发现存在空块,则确定相应的MSC单元是否正在读取MSC单元的整个块;
第五步骤,作为第四步骤中确定的结果,如果确定MSC单元读取MSC单元的整个块,则将读取请求添加至MSC单元的分块列表;
第六步骤,作为第四步骤中确定的结果,如果确定MSC单元没有读取MSC单元的整个块,则产生rxw矩阵,即MSC单元所有空块的读取和写入矩阵,并基于该rxw矩阵来读取MSC单元的整个块;以及
第七步骤,用于在第六步骤中完成了整个读取之后,终止MSC单元的分块列表中存在的所有读取请求,
其中,所述MSC单元是根据条带组管理的高速缓存器单元。
12、如权利要求11所述的方法,其中,如果在第二步骤中没有发现故障磁盘,则针对单元MSC的空块执行读取,然后在每个读取请求处终止。
13、如权利要求11所述的方法,其中,在第六步骤中,在执行整个读取之前,针对最终的rxw矩阵执行读取连续变换。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2006-0055355 | 2006-06-20 | ||
KR1020060055355 | 2006-06-20 | ||
KR1020060055355A KR100827677B1 (ko) | 2006-06-20 | 2006-06-20 | 행렬 스트라이프 캐쉬를 이용한 raid 시스템의 입출력성능 향상 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101093434A true CN101093434A (zh) | 2007-12-26 |
CN101093434B CN101093434B (zh) | 2012-05-16 |
Family
ID=38920378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101100774A Expired - Fee Related CN101093434B (zh) | 2006-06-20 | 2007-06-14 | 用矩阵条带高速缓存器改进raid系统输入和输出性能的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7861035B2 (zh) |
JP (1) | JP4512111B2 (zh) |
KR (1) | KR100827677B1 (zh) |
CN (1) | CN101093434B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984400A (zh) * | 2010-11-05 | 2011-03-09 | 成都市华为赛门铁克科技有限公司 | 一种raid控制方法、装置及系统 |
CN101727299B (zh) * | 2010-02-08 | 2011-06-29 | 北京同有飞骥科技股份有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
CN102253901A (zh) * | 2011-07-13 | 2011-11-23 | 清华大学 | 一种基于相变内存的读写区分数据存储替换方法 |
CN102449613A (zh) * | 2009-06-03 | 2012-05-09 | 美光科技公司 | 固态装置中的面向对象的存储器 |
CN103019617A (zh) * | 2012-11-25 | 2013-04-03 | 向志华 | 高效实现ssd内部raid的构建方法、数据读写方法及装置 |
CN104679442A (zh) * | 2013-12-02 | 2015-06-03 | 中兴通讯股份有限公司 | 一种提高磁盘阵列性能的方法及装置 |
CN105022586A (zh) * | 2014-04-17 | 2015-11-04 | 中国移动通信集团公司 | 一种数据处理方法、装置和系统 |
CN105930099A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的双盘容错盘阵列 |
CN105930097A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的分布校验式磁盘阵列 |
CN105930098A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的集中校验式盘阵列 |
CN106062721A (zh) * | 2014-12-31 | 2016-10-26 | 华为技术有限公司 | 一种将数据写入存储系统的方法和存储系统 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009442A (ja) * | 2008-06-30 | 2010-01-14 | Fujitsu Ltd | ディスクアレイシステム、ディスク制御装置及びその再構築処理方法 |
US8255627B2 (en) * | 2009-10-10 | 2012-08-28 | International Business Machines Corporation | Secondary cache for write accumulation and coalescing |
KR101678868B1 (ko) | 2010-02-11 | 2016-11-23 | 삼성전자주식회사 | 플래시 주소 변환 장치 및 그 방법 |
US9785561B2 (en) | 2010-02-17 | 2017-10-10 | International Business Machines Corporation | Integrating a flash cache into large storage systems |
US8484536B1 (en) * | 2010-03-26 | 2013-07-09 | Google Inc. | Techniques for data storage, access, and maintenance |
US8719675B1 (en) | 2010-06-16 | 2014-05-06 | Google Inc. | Orthogonal coding for data storage, access, and maintenance |
US20120011314A1 (en) * | 2010-07-01 | 2012-01-12 | Infinidat Ltd. | Storage system with reduced energy consumption and method of operating thereof |
US8621317B1 (en) | 2011-07-25 | 2013-12-31 | Google Inc. | Modified orthogonal coding techniques for storing data |
US8615698B1 (en) | 2011-09-28 | 2013-12-24 | Google Inc. | Skewed orthogonal coding techniques |
US8966178B2 (en) * | 2012-01-17 | 2015-02-24 | International Business Machines Corporation | Populating a first stride of tracks from a first cache to write to a second stride in a second cache |
US8856619B1 (en) | 2012-03-09 | 2014-10-07 | Google Inc. | Storing data across groups of storage nodes |
US9323630B2 (en) | 2013-09-16 | 2016-04-26 | HGST Netherlands B.V. | Enhanced data recovery from data storage devices |
CN104881242A (zh) * | 2014-02-28 | 2015-09-02 | 中兴通讯股份有限公司 | 数据写入方法及装置 |
TWI582582B (zh) * | 2015-12-28 | 2017-05-11 | 鴻海精密工業股份有限公司 | 提高raid讀取性能的系統及方法 |
US9864534B1 (en) * | 2016-10-27 | 2018-01-09 | International Business Machines Corporation | Validation of storage volumes that are in a peer to peer remote copy relationship |
CN109754359B (zh) | 2017-11-01 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种应用于卷积神经网络的池化处理的方法及系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408644A (en) * | 1992-06-05 | 1995-04-18 | Compaq Computer Corporation | Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem |
US5596736A (en) * | 1992-07-22 | 1997-01-21 | Fujitsu Limited | Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses |
US5390327A (en) * | 1993-06-29 | 1995-02-14 | Digital Equipment Corporation | Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk |
US5542066A (en) * | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
JP3713788B2 (ja) * | 1996-02-28 | 2005-11-09 | 株式会社日立製作所 | 記憶装置および記憶装置システム |
JPH1031563A (ja) | 1996-07-16 | 1998-02-03 | Hitachi Ltd | 記憶装置 |
JPH10198528A (ja) | 1997-01-08 | 1998-07-31 | Hitachi Ltd | アレイ記憶装置およびその制御方法 |
US6192450B1 (en) * | 1998-02-03 | 2001-02-20 | International Business Machines Corporation | Destage of data for write cache |
US6272591B2 (en) * | 1998-10-19 | 2001-08-07 | Intel Corporation | Raid striping using multiple virtual channels |
JP2000285022A (ja) * | 1999-03-31 | 2000-10-13 | Fujitsu Ltd | ディスク制御装置 |
JP3592640B2 (ja) * | 2001-01-09 | 2004-11-24 | 株式会社東芝 | ディスク制御システムおよびディスク制御方法 |
US7200715B2 (en) * | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US7073029B2 (en) * | 2003-01-27 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Storage system using fast storage and log-structured storage |
JP3798767B2 (ja) | 2003-06-26 | 2006-07-19 | 株式会社東芝 | ディスク制御システム及びディスク制御プログラム |
JP2005276135A (ja) | 2004-03-26 | 2005-10-06 | Hitachi Computer Peripherals Co Ltd | ディスク管理方法及びraidストレージシステム |
US7260681B2 (en) * | 2005-06-02 | 2007-08-21 | Seagate Technology Llc | Stripe buffer list |
-
2006
- 2006-06-20 KR KR1020060055355A patent/KR100827677B1/ko not_active IP Right Cessation
-
2007
- 2007-03-29 JP JP2007087371A patent/JP4512111B2/ja not_active Expired - Fee Related
- 2007-06-08 US US11/759,951 patent/US7861035B2/en active Active
- 2007-06-14 CN CN2007101100774A patent/CN101093434B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102449613A (zh) * | 2009-06-03 | 2012-05-09 | 美光科技公司 | 固态装置中的面向对象的存储器 |
US9110832B2 (en) | 2009-06-03 | 2015-08-18 | Micron Technology, Inc. | Object oriented memory in solid state devices |
CN101727299B (zh) * | 2010-02-08 | 2011-06-29 | 北京同有飞骥科技股份有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
CN101984400A (zh) * | 2010-11-05 | 2011-03-09 | 成都市华为赛门铁克科技有限公司 | 一种raid控制方法、装置及系统 |
CN101984400B (zh) * | 2010-11-05 | 2012-10-03 | 成都市华为赛门铁克科技有限公司 | 一种raid控制方法、装置及系统 |
CN102253901A (zh) * | 2011-07-13 | 2011-11-23 | 清华大学 | 一种基于相变内存的读写区分数据存储替换方法 |
CN103019617A (zh) * | 2012-11-25 | 2013-04-03 | 向志华 | 高效实现ssd内部raid的构建方法、数据读写方法及装置 |
CN104679442A (zh) * | 2013-12-02 | 2015-06-03 | 中兴通讯股份有限公司 | 一种提高磁盘阵列性能的方法及装置 |
CN105022586A (zh) * | 2014-04-17 | 2015-11-04 | 中国移动通信集团公司 | 一种数据处理方法、装置和系统 |
CN106062721A (zh) * | 2014-12-31 | 2016-10-26 | 华为技术有限公司 | 一种将数据写入存储系统的方法和存储系统 |
US9959079B2 (en) | 2014-12-31 | 2018-05-01 | Huawei Technologies Co., Ltd. | Writing data into redundant array of independent disks (RAID) of storage system |
CN105930099A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的双盘容错盘阵列 |
CN105930097A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的分布校验式磁盘阵列 |
CN105930098A (zh) * | 2015-05-20 | 2016-09-07 | 德州学院 | 一种消除局部并行中小写操作的集中校验式盘阵列 |
CN105930098B (zh) * | 2015-05-20 | 2019-01-29 | 德州学院 | 一种消除局部并行中小写操作的集中校验式盘阵列 |
CN105930099B (zh) * | 2015-05-20 | 2019-01-29 | 德州学院 | 一种消除局部并行中小写操作的双盘容错盘阵列 |
Also Published As
Publication number | Publication date |
---|---|
KR20070120731A (ko) | 2007-12-26 |
KR100827677B1 (ko) | 2008-05-07 |
CN101093434B (zh) | 2012-05-16 |
JP2008004069A (ja) | 2008-01-10 |
US7861035B2 (en) | 2010-12-28 |
JP4512111B2 (ja) | 2010-07-28 |
US20080010502A1 (en) | 2008-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101093434B (zh) | 用矩阵条带高速缓存器改进raid系统输入和输出性能的方法 | |
US10496481B2 (en) | Methods and systems for rebuilding data subsequent to the failure of a storage unit | |
US5488701A (en) | In log sparing for log structured arrays | |
US7464322B2 (en) | System and method for detecting write errors in a storage device | |
US6523087B2 (en) | Utilizing parity caching and parity logging while closing the RAID5 write hole | |
US6922752B2 (en) | Storage system using fast storage devices for storing redundant data | |
US20160217040A1 (en) | Raid parity stripe reconstruction | |
US5341381A (en) | Redundant array parity caching system | |
US7698604B2 (en) | Storage controller and a method for recording diagnostic information | |
US8356292B2 (en) | Method for updating control program of physical storage device in storage virtualization system and storage virtualization controller and system thereof | |
US6282671B1 (en) | Method and system for improved efficiency of parity calculation in RAID system | |
US20050066124A1 (en) | Method of RAID 5 write hole prevention | |
KR20140106752A (ko) | 메모리 관리 시스템 및 방법 | |
US20050091452A1 (en) | System and method for reducing data loss in disk arrays by establishing data redundancy on demand | |
US20040215877A1 (en) | Methods and structure for rapid background initialization of a RAID logical unit | |
US6343343B1 (en) | Disk arrays using non-standard sector sizes | |
US7240237B2 (en) | Method and system for high bandwidth fault tolerance in a storage subsystem | |
JP2857288B2 (ja) | ディスクアレイ装置 | |
JP2010026812A (ja) | 磁気ディスク装置 | |
JPH0728710A (ja) | データ・コーディング再生方法 | |
Jin et al. | TRIP: Temporal redundancy integrated performance booster for parity-based RAID storage systems | |
CN110532128A (zh) | 一种降低数据更新代价的纠删码编码及数据重构方法 | |
GB2402803A (en) | Arrangement and method for detection of write errors in a storage system | |
JP3699797B2 (ja) | ディスクアレイ装置 | |
JP2857289B2 (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 | ||
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: 20120516 Termination date: 20160614 |
|
CF01 | Termination of patent right due to non-payment of annual fee |