CN101868834A - Raid信息的存储器效率检查 - Google Patents

Raid信息的存储器效率检查 Download PDF

Info

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
Application number
CN200980101037A
Other languages
English (en)
Inventor
W·P·德拉尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Infineon Technologies North America Corp
Original Assignee
Infineon Technologies North America Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN101868834A publication Critical patent/CN101868834A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-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

RAID信息的存储器效率检查
相关申请的交叉引用
本申请要求享有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数据计算可以表达为:
P [ i ] = D 1 [ i ] ⊗ D 2 [ i ] ⊗ . . . ⊗ D N [ i ]
其中D1[i]是第一个数据条块中的第i个字节,D2[i]是第二个数据条块中的第i个字节等等。
对于RAID-6,存在至少两个冗余块。一个是P块而一个被称为Q块(或者Q数据)。根据如下公式计算Q数据:
Q [ i ] = ( D 1 [ i ] · C 1 ) ⊗ ( D 2 [ i ] · C 2 ) ⊗ . . . ⊗ ( D N [ i ] · C N )
其中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的该运算形成
Figure GPA00001139303800051
运算,其中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的该运算形成
Figure GPA00001139303800061
运算,其中Dx[i]是数据总线102的当前值而
Figure GPA00001139303800062
是在前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的当前值而
Figure GPA00001139303800082
是与块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的该运算形成
Figure GPA00001139303800083
运算,其中Dx[i][j]是数据总线202的当前值而
Figure GPA00001139303800084
是与块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数据结果。
CN200980101037A 2008-11-19 2009-01-09 Raid信息的存储器效率检查 Pending CN101868834A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081559A (zh) * 2011-01-11 2011-06-01 成都市华为赛门铁克科技有限公司 一种独立磁盘冗余阵列的数据恢复方法和装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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