CN101868834A - Raid信息的存储器效率检查 - Google Patents
Raid信息的存储器效率检查 Download PDFInfo
- Publication number
- CN101868834A CN101868834A CN200980101037A CN200980101037A CN101868834A CN 101868834 A CN101868834 A CN 101868834A CN 200980101037 A CN200980101037 A CN 200980101037A CN 200980101037 A CN200980101037 A CN 200980101037A CN 101868834 A CN101868834 A CN 101868834A
- Authority
- CN
- China
- Prior art keywords
- data
- raid
- address
- stick
- system bus
- 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
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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/1057—Parity-multiple bits-RAID6, i.e. RAID 6 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)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
所公开的是一种RAID数据检查系统。I/O控制器从存储设备读取数据RAID数据并且传输该数据至虚拟存储器地址范围。通过P+Q检查功能识别这些虚拟存储器地址范围。P+Q检查功能接收发送至虚拟存储器地址范围的数据。然而,作为存储输入数据的一种替代,P+Q检查功能更新与输入数据相关联的P和Q冗余数据计算的中间值。当接收到所有条块时,P+Q检查功能将已经完成P和Q冗余数据的计算。P+Q检查功能还可以接受来自存储设备的P或Q数据。在此情况下,在接收到所有条块以及P或Q数据之后,如果所有的数据以及P和Q数据正确,则P+Q检查功能将保持零值。如果出现错误,P+Q检查功能将保持非零值。
Description
相关申请的交叉引用
本申请要求享有William Patrick Delaney于2008年11月19日提交的、序列号为61/116,265、名称为“Memory Efficient Check ofRAID Information”(RAID信息的存储器效率检查)的美国临时专利申请的优先权。因而,上述申请的全部内容在此通过援引其全部公开内容和教导而专门并入。
发明背景
大容量存储系统持续提供不断增加的存储容量以满足用户需求。照片和电影存储,以及照片和电影共享是拉动对越来越大的存储系统的需求增长的多种应用的示例。
对于这些不断增长的需求的一种解决方案是多廉价磁盘阵列的使用。可以按照提供冗余和错误恢复而没有任何数据丢失的方式配置这些阵列。这些阵列还可以被配置成通过允许对多个磁盘驱动器的数据的同时读取或者写入来提高读取和写入性能。这些阵列还可以被配置成允许“热插拔”,其允许故障磁盘被替换而不中断阵列的存储服务。无论是否提供任何冗余,这些阵列通常被称为独立冗余磁盘阵列(或者更多时候通过首字母缩略词RAID来称呼)。来自加利福尼亚大学伯克利分校的David A.Patterson等人于1987年在名为“A Casefor Redundant Arrays of Inexpensive Disks(RAID)”(廉价冗余磁盘阵列方案)的出版物中讨论了RAID技术的基本概念和层级。
RAID存储系统通常使用向用户或者主系统屏蔽管理存储阵列的细节的控制器。控制器使得存储阵列看起来像一或更多个磁盘驱动器(或者卷)。尽管事实是特定卷的数据(或者冗余数据)可能散布在多个磁盘驱动器中,但这仍然能够实现。
发明内容
因此,本发明的实施例可以包含检查RAID信息的系统,该系统包含:确定系统总线上的第一地址与RAID检查范围相对应的地址比较器;RAID P数据累加器,存储将所述RAID P数据累加器中存储的数据与从所述系统总线接收的数据进行异或的第一结果,从所述系统总线接收的所述数据对应于发送至所述系统总线上的所述第一地址的数据,所述系统总线上的所述第一地址对应于所述RAID检查范围;常数选择器,根据所述系统总线上的所述第一地址,从一组常数中选择与从所述系统总线接收的所述数据相对应的一个常数;以及,RAID
Q数据累加器,存储将所述RAID Q数据累加器中存储的数据与将所述一组常数中的所述一个常数与从所述系统总线接收的所述数据进行伽罗华域(Galois field)乘法运算的第三结果进行异或的第二结果。
因此,本发明的实施例可以进一步包含检查RAID信息的方法,包含以下步骤:控制多个存储设备以提供多个RAID条块(strips),发送所述多个RAID条块至多个虚拟缓冲区;接收所述多个RAID条块;以及,将与所述多个虚拟缓冲区中的每一个相对应的多个P数据值和多个Q数据值进行累加,所述多个P数据值和所述多个Q数据值对应于针对所述多个虚拟缓冲区中的每一个而接收的所述多个RAID条块。
因此,本发明的实施例可以进一步包含检查RAID信息的系统,包含:将系统总线上出现的地址与多个虚拟地址缓冲区范围进行比较的虚拟缓冲区比较器;选择器,响应于与所述多个虚拟地址缓冲区范围中的一个相对应的所述系统总线上出现的所述地址,选择伽罗华域常数和累加器缓冲区地址;伽罗华域乘法器,对所述伽罗华域常数和与所述系统总线上出现的所述地址相对应的数据块执行伽罗华域乘法运算;P数据异或累加器,存储所述数据块和对应于所述累加器缓冲区地址的存储的P数据值的异或运算的P数据结果;以及,Q数据异或累加器,存储伽罗华域乘法运算结果和对应于所述累加器缓冲区地址的存储的Q数据的异或运算的Q数据结果。
附图说明
图1是检查RAID信息的系统的框图。
图2是检查多块RAID信息的系统的框图。
图3是检查RAID信息的方法的流程图。
图4是计算机系统的框图。
具体实施方式
图1是检查RAID信息的系统的框图。P+Q检查系统100包含:地址总线101、数据总线102、地址比较器110、常数选择器120、伽罗华域(GF)乘法器130、P数据累加器140、Q数据累加器150、异或器(XOR)160和异或器161。地址总线101和数据总线102共同构成系统总线103。地址总线101可操作地耦接至地址比较器110和常数选择器120。数据总线102可操作地耦接至GF乘法器130和XOR160。
地址比较器110生成三个信号:HITP、HITD和HITQ。HITD可操作地耦接至Q数据累加器150和P数据累加器140。HITP可操作地耦接至P数据累加器140。HITQ可操作地耦接至Q数据累加器150。地址比较器110响应于预定数据范围内的地址总线101上的存储器地址而生成HITD。该预定数据范围定义了P+Q检查系统100为了接收从耦接至系统总线103的存储设备发送的RAID数据而模拟(emulate)的一块虚拟存储器。地址比较器110响应于预定P数据范围内的地址总线101上的存储器地址而生成HITP。该预定P数据范围定义了P+Q检查系统100为了接收从耦接至系统总线103的存储设备发送的RAID P数据而模拟的一块虚拟存储器。地址比较器110响应于预定Q数据范围内的地址总线101上的存储器地址而生成HITQ。该预定Q数据范围定义了P+Q检查系统100为了接收耦接至系统总线103的存储设备所发送的RAID Q数据而模拟的一块虚拟存储器。HITD和HITQ还可操作地耦接至常数选择器120。
RAID系统通常将数据和冗余数据分布在多个存储设备上。全部相互关联的多块数据和冗余数据被称为条带(stripe)。包含特定磁盘上的条带的多块数据还可以被称为条块(strip)。针对RAID-5,仅仅存在单个冗余块。该冗余块存储条带的奇偶性。因而,其被称为P块或P数据。P数据中的每一个位仅仅是数据条块中相应位的按位异或(XOR)。因而,P数据计算可以表达为:
其中D1[i]是第一个数据条块中的第i个字节,D2[i]是第二个数据条块中的第i个字节等等。
对于RAID-6,存在至少两个冗余块。一个是P块而一个被称为Q块(或者Q数据)。根据如下公式计算Q数据:
其中D1[i]是第一个数据条块中的第i个字节,D2[i]是第二个数据条块中的第i个字节等等。C1、C2等等是固定常数字节,它们的值通过被用来生成Q数据的冗余方法(例如,里德-所罗门(Reed-Solomon))来控制。这些常数可以被称为Q数据常数。符号“·”旨在表示GF(28)的伽罗华域乘法运算。应当理解,通过为Q数据常数C1至CN选择适当的值,可以生成额外的Q数据块。这些额外的Q数据块允许RAID系统检测多个错误并且从多个错误中恢复。
在实施例中,来自RAID阵列的数据直接从存储设备发送至P+Q检查系统100,而无需首先存储在存储器中。P+Q检查系统100耦接至系统总线103以作为存储器空间而显示给控制RAID阵列的存储设备的I/O控制器。因而,在不需要修改的情况下,已有的I/O控制器可以工作以及受控。
RAID控制软件对I/O控制器进行编程以从存储设备读取RAID数据并且将该数据传输至虚拟存储器地址范围。这些虚拟存储器地址范围通过P+Q检查系统100来识别。P+Q检查系统100接收发送至虚拟存储器地址范围的数据。然而,作为存储输入数据的一种替代,P+Q检查系统100更新与输入数据相关联的P和Q冗余数据计算的中间值。当接收到所有条块时,P+Q检查系统100将已经完成P和Q冗余数据的计算。P+Q检查系统100还可以接受来自存储设备的P或Q数据。在此情况下,在接收到所有条块以及P或Q数据之后,如果所有的数据以及P和Q数据正确,则P+Q检查系统100将保持零值。如果出现错误,P+Q检查系统100将保持非零值。
P+Q检查系统100减少了RAID-5和/或RAID-6验证操作的存储器使用。这些验证操作是保证RAID系统数据一致性的重要因素。当使用消费者级存储设备时,这尤其重要,因为它们与企业级设备相比可靠性更低。使用基于存储器的技术来执行验证操作增加了存储器和系统总线负载。这降低了RAID系统的性能。P+Q检查系统100消除了P+Q冗余数据计算和/或检查的存储器访问。
响应于HITD或HITQ信号,常数选择器120生成Q数据常数。Q数据常数基于地址总线101的地址出现而生成。通过检查地址总线101的特定位,常数选择器120能够确定哪个数据条块(即,D1、D2等等)位于数据总线102上。因而,常数选择器120输出数据总线102上的条块的相应常数。通过GF乘法器130对常数选择器120的常数输出和数据总线102上的条块的数据进行GF相乘。该运算形成Q数据计算中的Dx[i]·Cx项。
数据总线102上的数据还输入至XOR 160。XOR 160的另一输入来自P数据累加器140。响应于HITD或HITP信号,P数据累加器存储XOR 160的输出作为将要输入至XOR 160的下一个值。因而,P数据累加器140和XOR 160的该运算形成运算,其中Dx[i]是数据总线102的当前值而是在前XOR运算的结果。应当理解,一旦通过XOR 160对所有的1至N个数据值进行异或并且通过P数据累加器140对结果进行累加,则P数据累加器140将保持结果P[i]。此外,如果接收到P数据的存储值并且通过XOR 160进行异或(例如,响应于HITP信号),则如果所有的数据以及所存储的P数据正确时P数据累加器140中存储的结果将为零。否则,P数据累加器140中存储的结果将为非零,因而指示一个错误。
GF乘法器130的数据输出被输入至XOR 161。XOR 161的另一输入来自Q数据累加器150。响应于HITD或HITQ信号,Q数据累加器存储XOR 161的输出作为将要输入至XOR 161的下一个值。因而,Q数据累加器150和XOR 161的该运算形成运算,其中Dx[i]是数据总线102的当前值而是在前XOR运算的结果。应当理解,一旦通过GF乘法器130将所有的1至N个数据值进行GF相乘,通过XOR160对结果进行异或,并且通过Q数据累加器150对异或的结果进行累加,则Q数据累加器150将保持结果Q[i]。此外,如果接收到Q数据的存储值,根据不改变Q数据值的常数值进行GF乘法运算并且通过XOR 161进行异或(例如,响应于HITQ信号),则如果所有的数据以及所存储的Q数据正确时Q数据累加器150中存储的结果将为零。否则,Q数据累加器150中存储的结果将为非零,因而指示一个错误。还应当理解,额外的GF乘法器、XOR和Q数据累加器可以用来检查额外的Q数据块。
图2是检查多块RAID信息的系统的框图。图2所示的系统工作起来与图1所示的系统非常相似。然而,图2所示的系统用来计算和累加多个P和Q数据块。P+Q检查系统200包含:地址总线201、数据总线202、地址比较器210、伽罗华域(GF)乘法器230、P数据累加器缓冲区240、Q数据累加器缓冲区250、异或器(XOR)260以及异或器261。地址比较器210包括常数选择器211、完成检测器212和缓冲区管理器213。地址总线201和数据总线202共同构成系统总线203。地址总线201可操作地耦接至地址比较器210并且因而耦接至常数选择器211。地址总线201可操作地耦接至Q数据累加器缓冲区250和P数据累加器缓冲区240。数据总线202可操作地耦接至GF乘法器230和XOR 260。
地址比较器210可以生成三个信号:HITP、HITD和HITQ。HITD可操作地耦接至Q数据累加器缓冲区250和P数据累加器缓冲区240。HITP可操作地耦接至P数据累加器缓冲区240。HITQ可操作地耦接至Q数据累加器缓冲区250。地址比较器210响应于预定数据范围内的地址总线201上的存储器地址而生成HITD。该预定数据范围定义了P+Q检查系统200为了接收从耦接至系统总线203的存储设备发送的RAID数据而模拟(emulate)的一块虚拟存储器。地址比较器210响应于预定P数据范围内的地址总线201上的存储器地址而生成HITP。该预定P数据范围定义了P+Q检查系统200为了接收从耦接至系统总线203的存储设备发送的RAID P数据而模拟的一块虚拟存储器。地址比较器210响应于预定Q数据范围内的地址总线201上的存储器地址而生成HITQ。该预定Q数据范围定义了P+Q检查系统200为了接收耦接至系统总线203的存储设备所发送的RAID Q数据而模拟的一块虚拟存储器。
完成检测器212可以追踪地址总线201上的地址以确定何时一个块的所有已存储数据已被接收并且通过Q数据累加器缓冲区250或P数据累加器缓冲区240进行累加。缓冲区管理器213可以管理与P+Q检查系统200相关联的虚拟缓冲区。例如,缓冲区管理器213可以确定虚拟缓冲区的地址范围。缓冲区管理器还可以确定Q数据累加器缓冲区250和P数据累加器缓冲区240中与特定虚拟缓冲区地址范围相关联的位置。
常数选择器211生成Q数据常数。Q数据常数基于地址总线201的地址出现而生成。通过检查地址总线201的特定位,常数选择器211能够确定哪个数据条块(即,D1、D2等等)位于数据总线202上。因而,常数选择器211输出数据总线202上的条块的相应常数。通过GF乘法器230对常数选择器211的常数输出和数据总线202上的条块的数据进行GF相乘。该运算形成针对块j的Q数据计算中的Dx[i][j]·Cx项。数据总线202上的块j由地址总线201上的特定位来确定。
数据总线202上的数据还输入至XOR 260。XOR 260的另一输入来自P数据累加器缓冲区240。响应于来自地址比较器210的信号,P数据累加器缓冲区240存储XOR 260的输出作为针对块j的将要输入至XOR 260的下一个值。因而,P数据累加器缓冲区240和XOR 260的该运算形成运算,其中Dx[i][j]是数据总线202的当前值而是与块j相关联的P数据累加器缓冲区240位置上的在前XOR运算的结果。应当理解,一旦通过XOR 260对块j的所有的1至N个数据值进行异或并且通过P数据累加器缓冲区240对结果进行累加,则P数据累加器缓冲区240中与块j相关联的位置将保持结果P[i][j]。此外,如果接收到与块j相关联的P数据的存储值并且通过XOR 260进行异或(例如,响应于HITP信号),则如果所有的数据以及所存储的与块j相关联的P数据正确时与块j相关联的P数据累加器缓冲区240中存储的结果将为零。否则,与块j相关联的P数据累加器缓冲区240中存储的结果将为非零,因而指示一个错误。
GF乘法器230的数据输出输入至XOR 261。XOR 261的另一输入来自Q数据累加器缓冲区250。响应于HITD或HITQ信号,Q数据累加器缓冲区250存储XOR 261的输出作为针对块j的将要输入至XOR 261的下一个值。因而,Q数据累加器缓冲区250和XOR 261的该运算形成运算,其中Dx[i][j]是数据总线202的当前值而是与块j相关联的Q数据累加器缓冲区250位置上的在前XOR运算的结果。应当理解,一旦通过GF乘法器230将与块j相关联的所有的1至N个数据值进行GF相乘,通过XOR 260对结果进行异或,并且通过Q数据累加器缓冲区250对异或的结果进行累加,则Q数据累加器缓冲区250中与块j相关联的位置将保持结果Q[i][j]。此外,如果接收到与块j相关联的Q数据的存储值,根据不改变Q数据值的常数值进行GF乘法运算并且通过XOR 261进行异或(例如,响应于HITQ信号),则如果所有的数据以及所存储的与块j相关联的Q数据正确时Q数据累加器缓冲区250中存储的结果将为零。否则,与块j相关联的Q数据累加器缓冲区250中存储的结果将为非零,因而指示一个错误。还应当理解,额外的GF乘法器、XOR和Q数据累加器可以用来检查额外的Q数据块。
图3是检查RAID信息的方法的流程图。可以通过P+Q检查系统100和P+Q检查系统200的一或更多个元件来执行图3所示的步骤。
控制多个存储设备以将多个RAID条块提供至多个虚拟缓冲区(302)。例如,可以控制RAID阵列中的多个存储设备以将它们的条带提供至P+Q检查系统200所模拟的地址范围。接收多个RAID条块(304)。例如,XOR 260和GF乘法器230可以接收块302中提供的RAID条块。
基于多个RAID条块累加多个P数据值(306)。例如,P数据累加器缓冲区240可以基于块304中接收的RAID条块而累加多个P数据值。基于多个RAID条块和多个常数累加多个Q数据值(308)。例如,Q数据累加器缓冲区250可以累加从GF乘法器230接收的多个Q数据值。从GF乘法器230接收的结果可以基于块304中接收的RAID条块和从常数选择器211接收的常数。
可以通过一或更多个计算机系统来实现或执行上述方法、系统和功能。上述方法还可以存储在计算机可读介质上。P+Q检查系统100和P+Q检查系统200的很多元件可以是、包含或者包括计算机系统。这些元件包括,但不限于地址比较器110、常数选择器120、伽罗华域(GF)乘法器130、P数据累加器140、Q数据累加器150、异或器(XOR)160、异或器161、地址比较器210、伽罗华域(GF)乘法器230、P数据累加器缓冲区240、Q数据累加器缓冲区250、异或器(XOR)260以及异或器261、常数选择器211、完成检测器212和缓冲区管理器213。
图4描述了计算机系统的框图。计算机系统400包括通信接口420、处理系统430、存储系统440和用户接口460。处理系统430可操作地耦接至存储系统440。存储系统440存储软件450和数据470。处理系统430可操作地耦接至通信接口420和用户接口460。计算机系统400可以包含可编程通用计算机。计算机系统400可以包括微处理器。计算机系统400可以包含可编程或专用电路。计算机系统400可以分布于共同包含元件420-470的多个设备、处理器、存储设备和/或接口。
通信接口420可以包含网络接口、调制解调器、端口、总线、链路、收发器或者其它通信设备。通信接口420可以分布于多个通信设备。处理系统430可以包含微处理器、微控制器、逻辑电路或者其它处理设备。处理系统430可以分布于多个处理设备。用户接口460可以包含键盘、鼠标、语音识别接口、麦克风和扬声器、图形显示、触摸屏或者其它类型的用户接口设备。用户接口460可以分布于多个接口设备。存储系统440可以包含磁盘、磁带、集成电路、RAM、ROM、网络存储设备、服务器或者其它存储功能模块。存储系统440可以是计算机可读介质。存储系统440可以分布于多个存储设备。
处理系统430从存储系统440获取并执行软件450。处理系统可以获取并存储数据470。处理系统还可以经由通信接口420获取并存储数据。处理系统430可以创建或修改软件450或数据470以取得实效。处理系统可以控制通信接口420或用户接口470以取得实效。处理系统可以经由通信接口420获取并执行远程存储的软件。
软件450和远程存储的软件可以包含操作系统、实用程序、驱动、网络软件以及通常由计算机系统执行的其它软件。软件450可以包含应用程序、小应用程序、固件或者通常由计算机系统执行的机器可读处理指令的其它形式。当通过处理系统430执行时,软件450或者远程存储的软件可以指导计算机系统400如上所述地运行。
本发明此前的描述出于示例和描述的目的而出现。其不意在穷举或者限制本发明为所公开的精确形式,在上述内容的教导下,其它修改和变化是可能的。出于最佳地解释本发明的原理及其实际应用而选择和描述了实施例,从而使得本领域其他技术人员以适于特定使用目的的各种实施例和各种修改来最佳地使用本发明。所附的权利要求意在被构造成包括到目前为止不为现有技术所限定的本发明的其它替代实施例。
Claims (12)
1.一种检查RAID信息的系统,包含:
确定系统总线上的第一地址与RAID检查范围相对应的地址比较器;
RAID P数据累加器,存储将所述RAID P数据累加器中存储的数据与从所述系统总线接收的数据进行异或的第一结果,从所述系统总线接收的所述数据对应于发送至所述系统总线上的所述第一地址的数据,所述系统总线上的所述第一地址对应于所述RAID检查范围;
常数选择器,根据所述系统总线上的所述第一地址,从一组常数中选择与从所述系统总线接收的所述数据相对应的一个常数;以及,
RAID Q数据累加器,存储将所述RAID Q数据累加器中存储的数据与将所述一组常数中的所述一个常数与从所述系统总线接收的所述数据进行伽罗华域乘法运算的第三结果进行异或的第二结果。
2.如权利要求1所述的系统,还包含完成检测器,其确定何时已经从所述系统总线接收一组数据。
3.如权利要求2所述的系统,其中所述一组数据包含多个数据块,所述多个数据块包含RAID数据条带,所述RAID数据条带包含RAID P数据和RAID Q数据。
4.如权利要求1所述的系统,还包含确定所述系统总线上的第二地址与RAID P数据检查范围相对应的P地址比较器,响应于与所述RAID P数据检查范围相对应的所述系统总线上的所述第二地址,所述RAID Q数据累加器不存储所述第二结果。
5.如权利要求1所述的系统,还包含确定所述系统总线上的第二地址与RAID Q数据检查范围相对应的Q地址比较器,响应于与所述RAID Q数据检查范围相对应的所述系统总线上的所述第二地址,所述RAID P数据累加器不存储所述第一结果。
6.如权利要求4所述的系统,还包含确定所述系统总线上的第三地址与RAID Q数据检查范围相对应的Q地址比较器,响应于与所述RAID Q数据检查范围相对应的所述系统总线上的所述第三地址,所述RAID P数据累加器不存储所述第一结果。
7.一种检查RAID信息的方法,包含以下步骤:
控制多个存储设备以提供多个RAID条块,所述多个RAID条块被发送至多个虚拟缓冲区;
接收所述多个RAID条块;以及,
将与所述多个虚拟缓冲区中的每一个相对应的多个P数据值和多个Q数据值进行累加,针对所述多个虚拟缓冲区的每一个接收与所述多个RAID条块相对应的所述多个P数据值和所述多个Q数据值。
8.如权利要求7所述的方法,其中所述多个Q数据值基于多个常数,基于所述多个RAID条块中的每一个被发送至所述多个虚拟缓冲区中的对应一个来选择所述多个常数。
9.如权利要求7所述的方法,还包含以下步骤:
控制存储设备以提供RAID P数据条块,所述RAID P数据条块被发送至P数据虚拟缓冲区;
接收所述RAID P数据条块;以及,
基于对具有所述多个P数据值中的至少一个的所述RAID P数据条块进行累加的所述结果,确定错误情况。
10.如权利要求7所述的方法,还包含以下步骤:
控制存储设备以提供RAID Q数据条块,所述RAID Q数据条块被发送至Q数据虚拟缓冲区;
接收所述RAID Q数据条块;以及,
基于对具有所述多个Q数据值中的至少一个的所述RAID Q数据条块进行累加的所述结果,确定错误情况。
11.如权利要求7所述的方法,还包含以下步骤:
控制第一存储设备以提供RAID P数据条块,所述RAID P数据条块被发送至P数据虚拟缓冲区;
接收所述RAID P数据条块;以及,
控制第二存储设备以提供RAID Q数据条块,所述RAID Q数据条块被发送至Q数据虚拟缓冲区;
接收所述RAID Q数据条块;以及,
基于对具有所述多个Q数据值中的至少一个的所述RAID Q数据条块进行累加的所述结果,并且基于对具有所述多个P数据值中的至少一个的所述RAID P数据条块进行累加的所述结果,确定错误情况。
12.一种检查RAID信息的系统,包含:
虚拟缓冲区比较器,将系统总线上出现的地址和多个虚拟地址缓冲区范围进行比较;
选择器,响应于所述系统总线上出现的所述地址与所述多个虚拟地址缓冲区范围中的一个相对应,选择伽罗华域常数和累加器缓冲区地址;
伽罗华域乘法器,对所述伽罗华域常数和与所述系统总线上出现的所述地址相对应的数据块执行伽罗华域乘法运算;
P数据异或累加器,存储所述数据块和对应于所述累加器缓冲区地址的存储的P数据值的异或运算的P数据结果;以及,
Q数据异或累加器,存储伽罗华域乘法运算结果和对应于所述累加器缓冲区地址的存储的Q数据的异或运算的Q数据结果。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11626508P | 2008-11-19 | 2008-11-19 | |
US61/116,265 | 2008-11-19 | ||
PCT/US2009/030656 WO2010059255A1 (en) | 2008-11-19 | 2009-01-09 | Memory efficient check of raid information |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101868834A true CN101868834A (zh) | 2010-10-20 |
Family
ID=42198425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980101037A Pending CN101868834A (zh) | 2008-11-19 | 2009-01-09 | Raid信息的存储器效率检查 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8898380B2 (zh) |
EP (1) | EP2297741A1 (zh) |
JP (2) | JP5502883B2 (zh) |
KR (1) | KR20110095126A (zh) |
CN (1) | CN101868834A (zh) |
TW (1) | TWI498725B (zh) |
WO (1) | WO2010059255A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081559A (zh) * | 2011-01-11 | 2011-06-01 | 成都市华为赛门铁克科技有限公司 | 一种独立磁盘冗余阵列的数据恢复方法和装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037564B2 (en) | 2011-04-29 | 2015-05-19 | Stephen Lesavich | Method and system for electronic content storage and retrieval with galois fields on cloud computing networks |
US9137250B2 (en) | 2011-04-29 | 2015-09-15 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks |
US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
US9361479B2 (en) | 2011-04-29 | 2016-06-07 | Stephen Lesavich | Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks |
USD827654S1 (en) * | 2013-12-20 | 2018-09-04 | Sony Corporation | Wearable player with graphical user interface |
CN105487938A (zh) * | 2015-11-30 | 2016-04-13 | 浪潮(北京)电子信息产业有限公司 | 一种gf乘法器、校验位生成装置、主控芯片及固态硬盘 |
CN111625181B (zh) * | 2019-02-28 | 2022-03-29 | 华为技术有限公司 | 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统 |
US11023321B2 (en) | 2019-09-27 | 2021-06-01 | Dell Products L.P. | Raid storage-device-assisted deferred parity data update system |
US10936420B1 (en) * | 2019-09-27 | 2021-03-02 | Dell Products L.P. | RAID storage-device-assisted deferred Q data determination system |
US11023322B2 (en) | 2019-09-27 | 2021-06-01 | Dell Products L.P. | Raid storage-device-assisted parity update data storage system |
CN115878052B (zh) * | 2023-03-08 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Raid阵列巡检方法、巡检装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002323991A (ja) * | 2001-03-14 | 2002-11-08 | Hewlett Packard Co <Hp> | パリティセグメント計算方法 |
US20080148025A1 (en) * | 2006-12-19 | 2008-06-19 | Vinodh Gopal | High performance raid-6 system architecture with pattern matching |
US20080201630A1 (en) * | 2007-02-21 | 2008-08-21 | Fujitsu Limited | Storage controlling device and storage controlling method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5123092A (en) * | 1988-10-21 | 1992-06-16 | Zenith Data Systems Corporation | External expansion bus interface |
US5526503A (en) * | 1993-10-06 | 1996-06-11 | Ast Research, Inc. | Virtual addressing buffer circuit |
JP3600334B2 (ja) * | 1995-02-17 | 2004-12-15 | 株式会社東芝 | 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置 |
US7139873B1 (en) * | 2001-06-08 | 2006-11-21 | Maxtor Corporation | System and method for caching data streams on a storage media |
US7370248B2 (en) * | 2003-11-07 | 2008-05-06 | Hewlett-Packard Development Company, L.P. | In-service raid mirror reconfiguring |
JP4288486B2 (ja) | 2003-11-17 | 2009-07-01 | 日本電気株式会社 | ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路 |
US20060123271A1 (en) | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR |
JP4435705B2 (ja) * | 2005-03-14 | 2010-03-24 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
US8291161B2 (en) * | 2005-10-07 | 2012-10-16 | Agere Systems Llc | Parity rotation in storage-device array |
-
2009
- 2009-01-09 WO PCT/US2009/030656 patent/WO2010059255A1/en active Application Filing
- 2009-01-09 JP JP2011536341A patent/JP5502883B2/ja not_active Expired - Fee Related
- 2009-01-09 US US12/808,844 patent/US8898380B2/en active Active
- 2009-01-09 KR KR1020107013560A patent/KR20110095126A/ko not_active Application Discontinuation
- 2009-01-09 EP EP09827902A patent/EP2297741A1/en not_active Withdrawn
- 2009-01-09 CN CN200980101037A patent/CN101868834A/zh active Pending
- 2009-02-09 TW TW098104085A patent/TWI498725B/zh not_active IP Right Cessation
-
2013
- 2013-12-05 JP JP2013252080A patent/JP2014041664A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002323991A (ja) * | 2001-03-14 | 2002-11-08 | Hewlett Packard Co <Hp> | パリティセグメント計算方法 |
US20080148025A1 (en) * | 2006-12-19 | 2008-06-19 | Vinodh Gopal | High performance raid-6 system architecture with pattern matching |
US20080201630A1 (en) * | 2007-02-21 | 2008-08-21 | Fujitsu Limited | Storage controlling device and storage controlling method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081559A (zh) * | 2011-01-11 | 2011-06-01 | 成都市华为赛门铁克科技有限公司 | 一种独立磁盘冗余阵列的数据恢复方法和装置 |
CN102081559B (zh) * | 2011-01-11 | 2013-06-05 | 华为数字技术(成都)有限公司 | 一种独立磁盘冗余阵列的数据恢复方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5502883B2 (ja) | 2014-05-28 |
US8898380B2 (en) | 2014-11-25 |
JP2014041664A (ja) | 2014-03-06 |
KR20110095126A (ko) | 2011-08-24 |
JP2012509523A (ja) | 2012-04-19 |
TWI498725B (zh) | 2015-09-01 |
TW201020758A (en) | 2010-06-01 |
WO2010059255A1 (en) | 2010-05-27 |
US20110264857A1 (en) | 2011-10-27 |
EP2297741A1 (en) | 2011-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101868834A (zh) | Raid信息的存储器效率检查 | |
CN100385405C (zh) | 利用磁盘阵列奇偶校验的增强错误标识系统和方法 | |
CN101059751B (zh) | 磁盘阵列恢复数据时增加磁盘访问并行性的方法和系统 | |
US9652408B2 (en) | System and method for providing data integrity | |
US8438333B2 (en) | Systems and methods for automatically generating a mirrored storage configuration for a storage array | |
CN100388221C (zh) | 磁盘阵列从奇偶校验更新操作中断中恢复的方法和系统 | |
US7577866B1 (en) | Techniques for fault tolerant data storage | |
CN100390746C (zh) | 提高磁盘阵列奇偶校验更新的缓冲器利用率的方法和系统 | |
US7434012B1 (en) | Techniques for media scrubbing | |
CN101604267B (zh) | 独立磁盘冗余阵列系统 | |
CN102937922A (zh) | 查询和修复数据 | |
US20160117120A1 (en) | Systems and methods for optimizing write accesses in a storage array | |
US20160154814A1 (en) | Systems and methods for improving storage efficiency in an information handling system | |
CN110737391A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US9594631B2 (en) | Method and controller for processing data multiplication in RAID system | |
US8489976B2 (en) | Storage controlling device and storage controlling method | |
US10521318B2 (en) | Spanned RAID with nested parity | |
CN102222026A (zh) | 定位和校正损坏的数据或校正子块 | |
CN113535065B (zh) | 在存储系统中管理条带的方法、设备和计算机程序产品 | |
US9134926B2 (en) | Protection information initialization | |
US20210004291A1 (en) | Faster rebuilding of 2-disk failure in raid by efficient, modular, diagonal, concurrent parity | |
CN105938728A (zh) | 用于近似平衡码的编码器和解码器设计 | |
CN110471818A (zh) | 一种对闪存出错物理地址的标记方法和装置以及设备 | |
CN113535065A (zh) | 在存储系统中管理条带的方法、设备和计算机程序产品 |
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 |
Application publication date: 20101020 |