CN116931821A - 一种raid多校验精简方法 - Google Patents
一种raid多校验精简方法 Download PDFInfo
- Publication number
- CN116931821A CN116931821A CN202310421174.4A CN202310421174A CN116931821A CN 116931821 A CN116931821 A CN 116931821A CN 202310421174 A CN202310421174 A CN 202310421174A CN 116931821 A CN116931821 A CN 116931821A
- Authority
- CN
- China
- Prior art keywords
- check
- raid
- data blocks
- stripe
- generated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012795 verification Methods 0.000 title claims abstract description 15
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000003491 array Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种raid多校验精简方法,包括获取raid的一个条带上的所有的n个数据块;生成第k个校验块时,采用所述条带上n‑k+1个数据块与其对应的系数通过预设的校验块生成方法生成。本raid多校验精简方法通过将各校验码的生成所需的数据块的数量逐渐减少,在实现相同功能的前提下简化复杂度,无论是软件还是硬件实现,都可以提升效率,减少算力。
Description
技术领域
本发明属于独立磁盘冗余阵列领域,具体涉及一种raid多校验精简方法。
背景技术
在现代存储领域,为了提高存储数据的可靠性和改善存储系统的输入、输出性能,人们设计了多种数据存储方案,这些数据存储方案通常是各种类型的独立磁盘冗余阵列(RedundantArrays ofIndependent Disks,RAID)。通过使用特定的硬件或软件,RAID把多个物理存储设备如磁盘,联合起来,形成一个统一的逻辑存储设备。
比较常用的RAID有RAID 0、RAID 1、RAID 5、RAID 6、RAID 10等。其中RAID 0不具有冗余能力,RAID 1只是对磁盘做了镜像,其它3种阵列分别由多个磁盘组成,它们以条带的方式向阵列中的磁盘写数据,校验数据存放在阵列中的各个磁盘上。RAID 5的每个条带含有1个校验块,支持任意损坏其中一个磁盘、通过其它磁盘上的校验块来重建数据;RAID6的每个条带含有2个校验块,支持任意损坏其中两个磁盘、通过其它磁盘上的校验块来恢复数据;RAID TP的每个条带含有3个校验块,支持任意损坏其中三个磁盘、通过其它磁盘上的校验块来恢复数据。
现存的技术是对一个条带上的数据块进行校验码编码时,每个校验码的生成都需要所有的数据块都参与,在恢复损坏数据块时,需要校验码和其它所有未损坏数据块参与:
d1+d2+d3+d4…+dn=p
k1*d1+k2*d2+k3*d3+k4*d4…+kn*dn=q
t1*d1+t2*d2+t3*d3+t4*d4…+tn*dn=g
其中,d1、d2、d3…dm就一个条带中的m个数据块的值,p、q、g分别表示三个校验码,k1、k2…kn表示生成校验码q的系数,t1、t2…tn表示生成校验码g的系数,上面三个方程组成一个三元一次方程组,可以求解出三个校验码的值,可以支持最多同时恢复三个磁盘,同理要支持最多同时恢复更多个损坏的磁盘,则需要更多的校验码。但是这种方式的缺点是在计算每个校验块的校验码时,都需要一个条带内的所有数据块参数,对算力存在一定程度的浪费,计算的复杂度较大。
发明内容
本发明的目的在于针对解决背景技术中提出的问题,提出一种raid多校验精简方法。
为实现上述目的,本发明所采取的技术方案为:
本发明提出的一种raid多校验精简方法,包括获取raid的一个条带上的所有的n个数据块;
生成第k个校验块时,采用所述条带上n-k+1个数据块与其对应的系数通过预设的校验块生成方法生成。
优选地,当一个条带上存在两个校验块时,采用如下公式生成校验码:
d1+d2+d3+d4…+dn=p
k2*d2+k3*d3+k4*d4…+kn*dn=q
其中,d1、d2、d3…dn分别表示一个条带中n个数据块的值,p、q分别表示校验码,k2、k3…kn表示生成校验码q的系数。
优选地,当一个条带上存在三个校验块时,采用如下公式生成校验码:
d1+d2+d3+d4…+dn=p
k2*d2+k3*d3+k4*d4…+kn*dn=q
t3*d3+t4*d4…+tn*dn=g
其中,g表示校验码,t3、t4…tn表示生成校验码g的系数。
优选地,各校验码的系数采用伽罗华域有限循环域生成。
优选地,t3、t4…tn的值为k2、k3…k(n-1)值的倒序。
优选地,对于raid 6,在一个条带有两个数据块时,生成校验码p、q:
d1+d2=p
2*d2=q。
与现有技术相比,本发明的有益效果为:
本raid多校验精简方法通过将各校验码的生成所需的数据块的数量逐渐减少,在实现相同功能的前提下简化复杂度,无论是软件还是硬件实现,都可以提升效率,减少算力。
附图说明
图1为本发明伽罗华域的算法产生的值。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
一种raid多校验精简方法,包括:
获取raid的一个条带上的所有的n个数据块;
生成第k个校验块时,采用所述条带上n-k+1个数据块与其对应的系数通过预设的校验块生成方法生成。
具体为,生成第一个校验块的校验码需要所有的n个数据块参与;
生成第二个校验块的校验码只需要n-1个数据块参与;
生成第三个校验块的校验码只需要n-2个数据块参与;
即生成第k个校验块的校验码只需要n-k+1个数据块参与。
本方法通过各校验码的生成所需的数据块的数量逐渐减少,进而简化复杂度,提升效率。
在一个实施例中,当一个条带上存在两个校验块时,采用如下公式生成校验码:
d1+d2+d3+d4…+dn=p
k2*d2+k3*d3+k4*d4…+kn*dn=q
其中,d1、d2、d3…dn分别表示一个条带中n个数据块的值,p、q分别表示校验码,k2、k3…kn表示生成校验码q的系数。
在一个实施例中,当一个条带上存在三个校验块时,采用如下公式生成校验码:
d1+d2+d3+d4…+dn=p
k2*d2+k3*d3+k4*d4…+kn*dn=q
t3*d3+t4*d4…+tn*dn=g
其中,g表示校验码,t3、t4…tn表示生成校验码g的系数。
在一个实施例中,各校验码的系数采用伽罗华域有限循环域生成。
具体为,如图1所示,目前linux开源代码中用的是伽罗华域有限循环域,域中的元素通过本原多项式产生。Raid6采用GF(2^8),本原多项式为:p(x)=x8+x4+x3+x2+1。通过这个本原多项式,可以得到有限域中的所有元素。但生成各校验码的系数不局限于这一种,还可以采用其他方法。
在一个实施例中,所述t3、t4…tn的值为k2、k3…k(n-1)值的倒序。
具体为,可以减少生成系数的编码逻辑,减少成本。
在一个实施例中,对于raid 6,在一个条带有两个数据块时,生成校验码p、q:
d1+d2=p
2*d2=q。
本raid多校验精简方法通过将各校验码的生成所需的数据块的数量逐渐减少,在实现相同功能的前提下简化复杂度,无论是软件还是硬件实现,都可以提升效率,减少算力。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请描述较为具体和详细的实施例,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种raid多校验精简方法,其特征在于:所述raid多校验精简方法,包括:
获取raid的一个条带上的所有的n个数据块;
生成第k个校验块时,采用所述条带上n-k+1个数据块与其对应的系数通过预设的校验块生成方法生成。
2.如权利要求1所述的raid多校验精简方法,其特征在于:当一个条带上存在两个校验块时,采用如下公式生成校验码:
d1+d2+d3+d4…+dn=p
k2*d2+k3*d3+k4*d4…+kn*dn=q
其中,d1、d2、d3…dn分别表示一个条带中n个数据块的值,p、q分别表示校验码,k2、k3…kn表示生成校验码q的系数。
3.如权利要求2所述的raid多校验精简方法,其特征在于:当一个条带上存在三个校验块时,采用如下公式生成校验码:
d1+d2+d3+d4…+dn=p
k2*d2+k3*d3+k4*d4…+kn*dn=q
t3*d3+t4*d4…+tn*dn=g
其中,g表示校验码,t3、t4…tn表示生成校验码g的系数。
4.如权利要求1所述的raid多校验精简方法,其特征在于:各校验码的系数采用伽罗华域有限循环域生成。
5.如权利要求1所述的raid多校验精简方法,其特征在于:所述t3、t4…tn的值为k2、k3…k(n-1)值的倒序。
6.如权利要求1所述的raid多校验精简方法,其特征在于:对于raid6,在一个条带有两个数据块时,生成校验码p、q:
d1+d2=p
2*d2=q。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310421174.4A CN116931821A (zh) | 2023-04-19 | 2023-04-19 | 一种raid多校验精简方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310421174.4A CN116931821A (zh) | 2023-04-19 | 2023-04-19 | 一种raid多校验精简方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931821A true CN116931821A (zh) | 2023-10-24 |
Family
ID=88379578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310421174.4A Pending CN116931821A (zh) | 2023-04-19 | 2023-04-19 | 一种raid多校验精简方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931821A (zh) |
-
2023
- 2023-04-19 CN CN202310421174.4A patent/CN116931821A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8156406B2 (en) | Method and system for syndrome generation and data recovery | |
Greenan et al. | Flat XOR-based erasure codes in storage systems: Constructions, efficient recovery, and tradeoffs | |
US8145941B2 (en) | Detection and correction of block-level data corruption in fault-tolerant data-storage systems | |
US20060117217A1 (en) | Data storage system | |
US8166370B1 (en) | Efficient RAID ECC controller for RAID systems | |
WO2018171111A1 (zh) | 多容错性的mds阵列码编码以及修复方法 | |
CN114281270B (zh) | 一种数据存储方法、系统、设备以及介质 | |
WO2011015134A1 (zh) | 多磁盘容错系统及生成校验块、恢复数据块的方法 | |
CN112000512B (zh) | 一种数据修复方法及相关装置 | |
US20200081778A1 (en) | Distributed storage system, method and apparatus | |
US7870464B2 (en) | System and method for recovery of data for a lost sector in a storage system | |
CN114816837B (zh) | 一种纠删码融合方法、系统、电子设备及存储介质 | |
CN115454712B (zh) | 一种校验码恢复方法、系统、电子设备及存储介质 | |
CN113505019A (zh) | 一种纠删码数据及校验恢复方法、装置、设备及可读介质 | |
US7155634B1 (en) | Process for generating and reconstructing variable number of parity for byte streams independent of host block size | |
CN105808170A (zh) | 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法 | |
US20050086575A1 (en) | Generalized parity stripe data storage array | |
WO2020029418A1 (zh) | 一种修复二进制码生成矩阵构造方法及修复方法 | |
US20070006019A1 (en) | Data storage system | |
CN116931821A (zh) | 一种raid多校验精简方法 | |
Song et al. | A Low complexity design of reed solomon code algorithm for advanced RAID system | |
WO2020029417A1 (zh) | 一种二进制mds阵列编码的编码框架方法 | |
CN116755607A (zh) | 一种raid多校验方法 | |
CN110781025B (zh) | 基于完全图的对称部分重复码构造及故障节点修复方法 | |
WO2017158430A1 (en) | Coding technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |