CN113297001A - 一种raid编解码方法及编解码电路 - Google Patents

一种raid编解码方法及编解码电路 Download PDF

Info

Publication number
CN113297001A
CN113297001A CN202110552076.5A CN202110552076A CN113297001A CN 113297001 A CN113297001 A CN 113297001A CN 202110552076 A CN202110552076 A CN 202110552076A CN 113297001 A CN113297001 A CN 113297001A
Authority
CN
China
Prior art keywords
data
decoding
coding
stripe
position information
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
Application number
CN202110552076.5A
Other languages
English (en)
Other versions
CN113297001B (zh
Inventor
吴睿振
黄萍
陈静静
王凛
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202110552076.5A priority Critical patent/CN113297001B/zh
Publication of CN113297001A publication Critical patent/CN113297001A/zh
Application granted granted Critical
Publication of CN113297001B publication Critical patent/CN113297001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/158Finite field arithmetic processing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种RAID编解码方法及编解码电路,包括:在对待编码数据进行编码时,基于当前校验条带的位置信息从参数表的编解码位置信息中匹配第一目标编码位置信息,利用第一目标编码位置信息、待编码数据的每个数据条带的位置信息从参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定待编码数据对应的校验码;在对错误条带进行解码时,基于错误条带的位置信息从参数表中匹配第二目标编码位置信息,利用第二目标编码位置信息从参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对错误条带进行解码。能够利用一套硬件电路实现编解码操作,从而降低编解码电路面积。

Description

一种RAID编解码方法及编解码电路
技术领域
本申请涉及存储技术领域,特别涉及一种RAID编解码方法及编解码电路。
背景技术
伴随着通讯技术和网络科技的迅速发展,数字化信息呈指数爆炸式增长,数据存储技术也因此迎来了巨大的挑战。存储系统中数据的可靠性问题以及存储系统的能耗问题越来越被人们所关注。现如今面对如此庞大的数据规模,存储系统中数据的可靠性和存储系统中包含的组件数量成反比关系,即存储系统组件数越多,那么存储系统中数据的可靠性就越低。在大规模存储系统中,磁盘故障造成的数据可靠性下降是相当严重的问题,对此人们展开了相关容错技术的研究。RAID(Redundant Arrays of Independent Disks,即独立冗余磁盘阵列)技术应运而生,采用RAID存储技术,可以大大提高存储容量,提高系统输入输出的请求处理能力并且通过数据的分布式存储技术,并行访问手段和信息冗余技术提高数据的可靠性。
目前,基于RAID的编解码通常是分开设计编码电路和解码电路,这样,存在电路面积较大的问题。
发明内容
有鉴于此,本申请的目的在于提供一种RAID编解码方法及编解码电路,能够利用一套硬件电路实现编解码操作,从而降低编解码电路面积。其具体方案如下:
第一方面,本申请公开了一种RAID编解码方法,包括:
确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;
将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;
基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编解码参数生成参数表;
在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;
在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码。
可选的,所述确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编码参数,包括:
基于确定RAID中第一校验条带和第二校验条带放置在不同位置时的范德蒙式RS编码关系确定相应的第一校验码与第二校验码对应的关系式;
基于所述关系式确定在GF8有限域下每个数据条带位置对应的编码参数。
可选的,所述基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码,包括:
基于每个数据条带以及对应的编解码参数确定参数运算后数据;
基于参数运算后数据进行异或运算,得到所述待编码数据对应的校验码。
可选的,所述方法还包括:
将所述待编码数据分割为预设数量个数据条带;
将每个数据条带转换为伽罗华域的数据条带。
可选的,所述方法还包括:
将伽罗华域的数据条带存入预设缓存,以便从所述预设缓存中读取数据条带以确定所述待编码数据对应的校验码。
可选的,所述方法还包括:
当任一数据条带更新,则从所述参数表中读取该数据条带对应的编解码参数;
基于该数据条带的更新数据、数据条带对应的编解码参数以及当前校验码确定出更新后校验码。
第二方面,本申请公开了一种RAID编解码电路,包括编解码参数获取模块和数据编解码模块,其中,
所述编解码参数获取模块,用于在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;
所述数据编解码模块,用于在对待编码数据进行编码时,基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;在对错误条带进行解码时,基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码;
其中,所述参数表的生成过程为:
确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;
将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;
基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编码参数生成参数表。
可选的,所述数据编解码模块,包括:
参数运算模块,用于基于每个数据条带以及对应的编解码参数确定参数运算后数据;
异或模块,用于基于参数运算后数据进行异或运算,得到所述待编码数据对应的校验码。
可选的,所述电路还包括:
数据条带分割模块,将所述待编码数据分割为预设数量个数据条带;
伽罗华域转换模块,用于将每个数据条带转换为伽罗华域的数据条带,以对所述待编码数据进行编码。
可选的,所述编解码参数获取模块,还用于当任一数据条带更新,则从所述参数表中读取该数据条带对应的编解码参数;
相应的,所述数据编解码模块,用于基于该数据条带的更新数据、数据条带对应的编解码参数以及当前校验码确定出更新后校验码。
可见,本申请确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编解码参数生成参数表;在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码。这样,先生成参数表,在进行编解码时,从中读取相应的编解码参数,进行编解码,能够利用一套硬件电路实现编解码操作,从而降低编解码电路面积。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种RAID编解码方法流程图;
图2为本申请公开的一种具体的参数表示意图;
图3为本申请公开的一种RAID编解码示意图;
图4为本申请公开的一种RAID编解码电路结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,基于RAID的编解码通常是分开设计编码电路和解码电路,这样,存在电路面积较大的问题。为此,本申请提供了一种RAID编解码电路,能够利用一套硬件电路实现编解码操作,从而降低编解码电路面积。
参见图1所示,本申请实施例公开了一种RAID编解码方法,包括:
步骤S11:确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数。
其中,所述编解码参数包括第一校验码参数与第二校验码参数,所述第一校验码参数为第一校验码对应的编解码参数;所述第二校验码参数为第二校验码对应的编解码参数。
在具体的实施方式中,步骤S11具体包括:
步骤00:基于确定RAID中第一校验条带和第二校验条带放置在不同位置时的范德蒙式RS编码关系确定相应的第一校验码与第二校验码对应的关系式;
步骤01:基于所述关系式确定在GF8有限域下每个数据条带位置对应的编码参数。
在具体的实施方式中,基于RAID中第一校验条带和第二校验条带放置在不同位置时的范德蒙式RS编码关系确定相应的第一校验码与第二校验码对应的第一关系式;基于所述第一关系式确定第一校验码参数与第二校验码参数的第二关系式;基于所述第一关系式以及所述第二关系式确定在GF8有限域下每个数据条带位置对应的第一校验码参数以及第二校验码参数。
其中,所述基于所述第一关系式以及所述第二关系式确定在GF8有限域下每个数据条带位置对应的第一校验码参数以及第二校验码参数,包括:
基于所述第一关系式确定基于GF8有限域的本原多项式;利用所述本原多项式以及所述第二关系式确定在GF8有限域下每个数据条带位置对应的第一校验码参数以及第二校验码参数。
需要指出的是,实现RAID 6时需要同时支持两个校验条带,即第一校验码和第二校验码。本申请使用RS(即Reed-Solomon Code,里德所罗门码)码来进行第一校验码和第二校验码的编码,本申请实施例使用的是范德蒙的实现方式,设待编码数据分为n个数据条带,数据条带、第一校验码和第二校验码的关系表示为:
Figure BDA0003075874940000061
其中,d0,d1...dn表示数据条带,p表示第一校验码,q表示第二校验码,
Figure BDA0003075874940000062
表示异或运算,α表示范德蒙参数。
为了方便运算和存储,本实施例通过伽罗华域处理为有限域再进行编码存储。此外,由于电路中数据的传输一般以byte为标准,因此,本申请实施例使用的伽罗华域为8比特位的有限域0X11D,即是:
P(X)=x8+x4+x3+x2+1;
有限域0X11D的伽罗华域下,对于数据的定义可以表示为表一所示:
表一
生成元素 多项式表示 二进制表示 数值表示 推导过程
0 0 0000 0000 0
x^0 x^0 0000 0001 1
x^1 x^1 0000 0010 2
x^2 x^2 0000 0100 4
x^3 x^3 0000 1000 8
x^4 x^4 0001 0000 16
x^5 x^5 0010 0000 32
x^6 x^6 0100 0000 64
x^7 x^7 1000 0000 128
x^8 x^4+x^3+x^2+1 0001 1101 29 x^7*x=x^8mod P(x)
x^9 x^5+x^4+x^3+x 0011 1010 58 x^8*x=x^5+x^4+x^3+x
x^10 x^6+x^5+x^4+x^2 0111 0100 116 x^9*x=x^6+x^5+x^4+x^2
x^25 x^1+1 0000 0011 3
x^255 1 0000 0001 1
例如,当生成元素的指数为10时,通过上述伽罗华域本源多项式P(X)转换,表示为二进制01110100。通过这样的转换,所有的数据都会被转换为8比特的二进制数,并进行基于8比特二进制数的四则运算。
例如,待存数据即待编码数据分为4个数据条带d0~d3,通过伽罗华域实现的基于范德蒙的RS RAID编码关系为:
Figure BDA0003075874940000071
则进行RAID编码时需要确定第一校验码p,第二校验码q,基于上式可知,p和q的关系可以表示为:
Figure BDA0003075874940000072
Figure BDA0003075874940000073
基于上式可知,参数(α)及待存的数据条带数量确定的前提下,上式的分母部分
Figure BDA0003075874940000074
可以通过提前计算,存为参数参与每次运算的数据更新。但分子部分的异或加法和与
Figure BDA0003075874940000075
进行的除法无法省略。需要指出的是,在确定的环境下,盘数定了即数据条带数量确定了,分母就能够确定。但是分子除了和盘数有关之外,还和实际的编解码情况有关,比如硬件设备设置的d0-d5的环境,但实际工作中,可能只有d0,d1,d2参与了这次的编码,因此其分子是根据实际工作情况来变化的。
式(1)中的p和q表述的是RAID 6的校验条带,而RAID 6里并没有规定校验条带必须放在什么位置,相比于其他的RAID 6算法,RS-RAID的p和q位置发生变化时,会影响所有数据条带和校验条带的参数α,导致编码的p和q不同,同理亦将影响解码时任何条带的值。考虑到RAID盘的实际放置中,受到盘的访问几率、寿命、环境等问题的影响,不同的放置位置考虑是有意义的,因此需要对于RS-RAID考虑不同放置情况下,p和q的编码以及所影响的RS-RAID的解码的变化。以p和q放置在前两个条带位置为例,其范德蒙式RS编码关系:
Figure BDA0003075874940000076
基于公式(4)得到的p和q的编码关系为:
Figure BDA0003075874940000081
Figure BDA0003075874940000082
通过对公式(2)、(3)和(5)、(6)的观察可知,p和q在不同的位置,会造成编码时对数据条带的参数影响不同,但是其基本运算格式相同,即是说明其算法原理相同。因此一定可以通过相同算法映射方式,以不同的映射值来实现不同p和q所在位置的映射改进,即可以通过多项式映射GF8的实现。
基于式(4)至(6)中的p和q的位置,可以将涉及到p和q的关系抽出来,为求p和q的编码参数α,于是基于α为未知数,设p和q为对应的参数,得到如下表示式:
Figure BDA0003075874940000083
可知f(α)可以表示为一元二次方程。考虑其一元二次方程在GF中的表示时,可以基于任意α改写为f(x)=(x+1)(x+α),得到符合GF2有限域特性的第一关系式。其中,x表示数据条带。
由于f(x)符合GF2有限域特性,即通过f(x)可以表示任意未知数c1和c2的关系式为:
f(x)≈c1+c2x
其中,c1为第一校验码参数,c2为第二校验码参数。
也即,基于第一关系式f(x)=(x+1)(x+α)确定第一校验码参数与第二校验码参数的第二关系式f(x)≈c1+c2x。
具体的,将第一关系式f(x)=(x+1)(x+α)展开为f(x)=(x+1)(x+α),f(x)替换为p(x)表示,得到基于GF8有限域的本原多项式:
p(x)=x2+(1+α)x+α。
将p(x)设成映射用多项式,对GF8下d0-d3所涉及的参数进行针对P(X)=x8+x4+x3+x2+1的映射。映射方式即是做P(X)对p(x)的多项式除法,针对f(x)≈c1+c2x的关系去取得余数所对应的位置下c1和c2的参数值。
以公式(4)-(6)为例,做公式(4)中的d0在求q时的运算,d0的参数是α2,因此针对d0时,所求的p对应的关系应该满足为f(x)≈c1+c2x中的c1,相应的其q的对应关系应该满足f(x)≈c1+c2x中的c2。按照多项式除法的余数关系,即是α0和α1的参数值。其运算过程如下所示:
Figure BDA0003075874940000091
可知,d0的参数是α2,因此利用x2做p(x)=x2+(1+α)x+α的多项式除法,得到余数(α+1)x+α,又知c1和c2关系为:f(x)≈c1+c2x,所以c1=α,c2=(α+1)。α、(α+1)在和具体数据相乘时,涉及了乘法和加法,因此需要对其进行有限域的转换。
利用表一进行转换,可知c1=α,而c2=(α+1),相当于表一中多项式表示x^1+1,通过数值转换对应数值为3,查表一可得3对应的生成元素为x^25,得到α指数关系为α25,因此c2=α25
这样,得到该条带位置情况下的编解码参数表,表二:
表二
对应位置 m(x) C1 C2
D0 x^2 α α^25
D1 x^3 α^26 α^198
D2 x^4 α^199 α^75
D3 x^5 α^76 α^100
表二中对应位置D0-D3表示公式(1)中待存数据条带d0,d1,d2,d3的位置。
m(x)对应公式(1)中待存数据条带对应的作为)f(x)≈c1+c2x的参数指数。例如,公式(1)中α2d0,则m(x)=x^2。
依照同样方式映射公式(1)-(3),p和q的位置满足如下关系:
Figure BDA0003075874940000092
因此可以设置:
f(x)≈c1x4+c2x5
p(x)=(x+1)*(x+α)*(x+α2)*(x+α3)*(x+α4)*(x+α5)
虽然相比校验条带在前两位时公式较为复杂,但运算的逻辑相同,从电路实现方面考虑,这里的运算都是在确定位置和条带数量后提前确定好的,所得到的参数在之后的运算中也不会发生变化,因此复杂的运算并不会对电路实现产生影响。通过运算,得到当前位置情况下的编解码参数表,表三:
表三
对应位置 m(x) C1 C2
D0 x^0 α^109 α^71
D1 x^1 α^72 α^195
D2 x^2 α^196 α^23
D3 x^3 α^24 α^254
为验证上述逻辑,以任意待编码数据下面以任意待编码数据:D(x)=α+α4x4为例,x0为数据条带d0的位置,x0=1,x4表示数据条带d3的位置,也即,待存的数据条带d0为α,数据条带d3为α4
可知利用标准编码方式:
Figure BDA0003075874940000101
代入d0=α,d3=α4,进行计算可得:
Figure BDA0003075874940000102
可知,在p的运算中,需要用到4次伽罗华加法(XOR异或)运算,2次伽罗华乘法运算和1次伽罗华除法运算。
同理:
Figure BDA0003075874940000103
在q的运算中,也需要用到4次伽罗华加法(异或)运算,2次伽罗华乘法运算和1次伽罗华除法运算。
而基于本申请实施例公开的编码方案
Figure BDA0003075874940000104
其中,
Figure BDA0003075874940000105
为数据条带d0对应的第一校验码参数,
Figure BDA0003075874940000106
为数据条带d3对应的第二校验码参数。
Figure BDA0003075874940000111
可知通过本申请的方法所算得的p和q与标准算法所算得值相同,即运算正确。
而基于本申请实施例的方案,p和q的运算,分别只需要2个伽罗华乘法和1个伽罗华加法(异或)即可,相比标准算法,本申请在本例子中能够分别省略3次伽罗华加法(异或)和1次伽罗华除法。
通过对不同数量数据条带的待编码数据进行分析可知本申请所省略的运算与待编码数据的数据条带数量有关,设待编码数据的数据条带数量为n,则本申请所省略的运算为n+1个伽罗华加法和1个伽罗华除法。本申请实施例支持任意数据量的扩充。
对于解码,以较为方便计算举例的公式(4)至(6)的位置情况进行举例。
存在两个错误条带时的恢复运算,需要同时考虑公式(4)中两个等式的关系,以d2和d3发生错误为例:
Figure BDA0003075874940000112
Figure BDA0003075874940000113
通过将公式(7)、(8)与上面的编码公式(2)(3)比较可知,将p、q以及d统一考虑为实际数据的未知数x,则基于RS关系式可知对于任意未知数x,在做编解码的时候,x的参数只和x所处的位置相关,和编码或解码没有关系。
也即,对于(7)、(8)所求解d2和d3的解码问题,只需将表3中原本d0和d1的位置对应的编解码参数,作为p和q对应的解码参数,将表3中原本d2和d3位置对应的编解码参数,作为d0和d1对应的解码参数,实现通过一张参数表实现编码运算和解码运算。
而当只有一个数据条带发生错误时,以d0错误为例对公式(4)推导解码公式为:
Figure BDA0003075874940000121
对上式左右同做异或
Figure BDA0003075874940000122
可得:
Figure BDA0003075874940000123
同理可知,其他任一条带(包括p,q)错误时,恢复方式即为读取其他条带数据,做伽罗华加法(XOR异或操作)即可恢复错误条带数据。
步骤S12:将第一校验条带与第二校验条带的位置信息确定为编解码位置信息。
步骤S13:基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编解码参数生成参数表。
也即,在数据编码时,编解码位置信息对应编码位置,解码时,编解码位置信息对应错误条带位置。
在具体的实施方式,编解码参数计算时的每个数据条带的位置信息作为在进行编码时待编码数据的数据条带的相应位置信息,在解码时,作为非错误条带的位置信息,以便查找到待编码数据的数据条带的数据条带对应的编解参数,以及非错误条带对应的解码参数。
也即,本申请实施例通过不同未知数位置下的指代多项式,实现GF8的有限域算法,生成针对具体GF8(0X11D)的多项式映射到GF8基于RAID 6编解码的参数表。
参见图2所示,图2为本申请实施例公开的一种具体的参数表示意图。对于6个条带(4个数据条带+2个校验条带)的常见情况,得到任意两个位置的未知数编码或解码对应的参数表。如图2所示,针对6个条带的情况下,任一组合的编解码参数值都可以从表中得到。当行列所指代的x相同时,表示的是RAID 5的编解码情况,栏中的x即是当RAID 5涉及条带位置在当前位置时进行编解码所需要的其他条带位置。当行列式所指代的x不同时,表示的是当行中的x和列中的x需要作为RAID 6的p和q做编码时的对应参数关系,或是RAID 6行x和列x的位置下条带错误需要做解码恢复运算时的参数关系。其中的1、2、3、4对应的参数为剩余位置下对应的四个参数。表的上三角部分为针对c1,即是编码时的p或解码时条带位置靠前的错误条带所对应的参数,c2为反之。
步骤S14:在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码。
在具体的实施方式中,可以将所述待编码数据分割为预设数量个数据条带;将每个数据条带转换为伽罗华域的数据条带。将伽罗华域的数据条带存入预设缓存,以便从所述预设缓存中读取数据条带以确定所述待编码数据对应的校验码。
在具体的实施方式中,基于每个数据条带以及对应的编解码参数确定参数运算后数据;基于参数运算后数据进行异或运算,得到所述待编码数据对应的校验码。具体的,对每个数据条带以及对应的编解码参数进行乘法运算,确定参数运算后数据。
也即,在RAID 6,基于数据条带与对应的第一校验码参数确定第一参数运算后数据、基于该数据条带与对应的第二校验码参数确定第二参数运算后数据。基于第一参数运算后数据进行异或运算,得到所述待编码数据对应的第一校验码,基于第二参数运算后数据进行异或运算,得到所述待编码数据对应的第二校验码。
在一种具体的实施方式中,可以基于依次读取的所述待编码数据的每个数据条带,依次读取对应的第一校验码参数以及第二校验码参数,并在读取任一数据条带对应的第一校验码参数以及第二校验码参数时,从第一校验码存储位置读取当前第一校验码以及从第二校验码存储位置读取当前第二校验码;当读取到任一数据条带对应的第一校验码参数以及第二校验码参数,则基于该数据条带与对应的第一校验码参数确定第一参数运算后数据、基于该数据条带与对应的第二校验码参数确定第二参数运算后数据;对当前第一校验码和当前第一参数运算后数据进行异或运算,得到新的第一校验码,并将新的第一校验码存储至所述第一校验码存储位置,直到基于所述待编码数据的最后一个数据条带确定出所述待编码数据对应的最终的第一校验码。对当前第二校验码和当前第二参数运算后数据进行异或运算,得到新的第二校验码,并将新的第二校验码存储至所述第二校验码存储位置,直到基于所述待编码数据的最后一个数据条带确定出所述待编码数据对应的最终的第二校验码。
其中,基于该数据条带与对应的第一校验码参数确定第一参数运算后数据、基于该数据条带与对应的第二校验码参数确定第二参数运算后数据,具体为:对该数据条带与对应的第一校验码参数进行乘法运算,得到第一参数运算后数据,对该数据条带与对应的第二校验码参数进行乘法运算,得到第二参数运算后数据,
也即,本申请实施例可以对待编码数据的多个数据条带串行的存储并编码。
在另一种具体的实施方式中,可以从参数表中读取待编码数据的每个数据条带对应的第一校验码参数以及第二校验码参数,并行确定待编码数据的每个数据条带对应的第一参数运算后数据以及第二参数运算后数据;其中,所述第一参数运算后数据为基于任一数据条带与对应的第一校验码参数确定的数据,所述第二参数运算后数据为基于任一数据条带与对应的第二校验码参数确定的数据;对全部数据条带对应的第一参数运算后数据进行异或运算,确定所述待编码数据对应的第一校验码;对全部数据条带对应的第二参数运算后数据进行异或运算,确定所述待编码数据对应的第二校验码。
其中,关于确定第一参数运算后数据与第二参数运算后数据的具体步骤可以参考前述公开的相应内容。
也即,本实施例可以对对待编码数据的多个数据条带并行的存储并编码。
需要指出的是,RAID 5理论上数据编解码不需要对参数进行乘法运算,为了和RAID 6在同一套电路实现,可以不乘参数,或将参数设为1。
步骤S15:在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码。
例如,以图2中位置x1和x5分别为p和q位置做编码,或分别为错误条带位置做解码为例,此时剩余条带位置为x0、x2、x3、x4,位置顺序依次递增,因此x0、x2、x3、x4分别对应的表中参数顺序就是1、2、3、4,所以其对应的编码或解码关系依表可得即为:
Figure BDA0003075874940000151
Figure BDA0003075874940000152
因此,所有RS-RAID 6的编解码都可以通过图2中的参数与数据进行乘法,然后异或即可完成,RAID 5基于图2中的位置信息,确定对应的条带,实现编解码。即是可以通过同一套硬件电路完成编解码操作。
参见图3所示,本申请实施例公开了一种RAID编解码示意图。
1、数据写入时即编码时,新的数据进来,分为多个数据条带,通过buffer或FIFO等方式暂存等待应答后,送往数据条带待存的位置,基于位置信息(校验条带位置以及数据条带的位置)确定编解码参数,将数据条带分别与第一校验码参数、第一校验码参数相乘,然后分别送入不同异或模块,与当前第一校验码存储位置的第一校验码、第二校验码存储位置的第二校验码进行异或,得到新的第一校验码、第二校验码,写入对应存储位置。数据读取时,读取两个错误条带,即解码时,如图中1的虚线所示,将数据读出到buffer或FIFO准备进行下一步运算。同时基于位置信息从表中读取待乘参数,与数据完成乘法操作后,送往异或模块。
2.无论编码或是解码操作,都将表中读取的参数与buffer或FIFO中的数据相乘,将数据分别进行伽罗华加法(XOR异或操作)写入Xn-1,Xn
其中,X0…Xn-1,Xn,表示条带位置,编码时Xn-1,Xn表示第一校验码存储位置即第一校验条带的位置、第二校验码存储位置即第二校验条带的位置,在进行解码时,Xn-1,Xn表示两个错误条带的位置。
下面,以编码为例详细描述图3的编码过程。
1、待编码数据进入RAID编码电路,RAID编码电路先将待编码数据分割为预设数量个数据条带,然后将每个数据条带转换为伽罗华域数据,得到每个数据条带的伽罗华域下的数据条带,通过buffer或FIFO等方式暂存,等待数据读取模块空闲时,数据读取模块将数据条带分别送往当前数据条带对应的数据存储位置,编解码参数获取模块从参数表基于位置信息获取当前数据条带对应的第一校验码参数,参数运算模块利用第一校验码参数和数据条带进行乘法运算,得到第一参数运算后数据,将第一参数运算后数据传输至对应的异或模块,编解码参数获取模块从参数表基于位置信息获取当前数据条带对应的第二校验码参数,参数运算模块利用第二校验码参数和数据条带进行乘法运算,得到第二参数运算后数据,将第二参数运算后数据传输至对应的异或模块,比如,当前的数据条带为d0,将数据传输至d0对应的存储位置X0,并从参数表中查到d0对应的第一校验码参数,第二校验码参数,进行乘法运算,同一时间,从第一校验码p和第二校验码q的存储位置读取现在所存的数据,即当前第一校验码和当前第二校验码传输至相应的异或模块。
2、第一参数运算后数据、第二参数运算后数据分别与从第一校验码存储位置读取的当前第一校验码和从第二校验码存储位置读取的当前第二校验码中所存的数据在相应的异或模块中进行异或运算后,产生的新的第一校验码和新的第二校验码,然后更新第一校验码存储位置和第二校验码存储位置的数据。
其中,第一校验码存储位置和第二校验码存储位置的初始值均为0,这样,利用待编码数据的最后一个目标数据条带确定出的校验码即为待编码数据对应的最终的校验码,完成对待编码数据的编码。
另外,在具体的实施方式中,当任一数据条带更新,则从所述参数表中读取该数据条带对应的编解码参数;基于该数据条带的更新数据、数据条带对应的编解码参数以及当前校验码确定出更新后校验码。
具体的,更新数据乘以编解码参数之后与当前校验码异或,得到更新后校验码。
基于上述参数表,电路工作流程可知:对于任何状态下有效待编码(待存)数据条带数为n的情况下,本申请都可以达到n+1个伽罗华加法和1个伽罗华除法的运算省略。电路方面通过同一套以异或操作为主的电路设备,通过对不同位置不同需求下的参数调度,然后进行乘法和异或,即可完成所有需求下的编码和解码工作。可支持正常模式下的编解码工作任一数据条带更新时更新校验码的更新模式的工作,简单有效,可兼顾面积和高速的需求。
可见,本申请实施例确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编解码参数生成参数表;在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码。这样,先生成包括参数表,在进行编解码时,从中读取相应的编解码参数,进行编解码,能够利用一套硬件电路实现编解码操作,从而降低编解码电路面积。
参见图4所示,本申请实施例公开了一种RAID编解码电路,包括编解码参数获取模块11和数据编解码模块12,其中,
所述编解码参数获取模块11,用于在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;
所述数据编解码模块12,用于在对待编码数据进行编码时,基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;在对错误条带进行解码时,基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码;
其中,所述参数表的生成过程为:
确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;
将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;
基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编码参数生成参数表。
可见,本申请实施例确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编解码参数生成参数表;在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码。这样,先生成包括参数表,在进行编解码时,从中读取相应的编解码参数,进行编解码,能够利用一套硬件电路实现编解码操作,从而降低编解码电路面积。
其中,所述确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编码参数,包括:
基于确定RAID中第一校验条带和第二校验条带放置在不同位置时的范德蒙式RS编码关系确定相应的第一校验码与第二校验码对应的关系式;基于所述关系式确定在GF8有限域下每个数据条带位置对应的编码参数。
可选的,所述数据编解码模块12,包括:
参数运算模块,用于基于每个数据条带以及对应的编解码参数确定参数运算后数据;
异或模块,用于基于参数运算后数据进行异或运算,得到所述待编码数据对应的校验码。
可选的,所述电路还包括:
数据条带分割模块,将所述待编码数据分割为预设数量个数据条带;
伽罗华域转换模块,用于将每个数据条带转换为伽罗华域的数据条带。
数据缓存模块,用于将伽罗华域的数据条带存入预设缓存,以便数据编解码模块12基于从所述预设缓存中读取数据条带确定所述待编码数据对应的校验码。
可选的,所述编解码参数获取模块11,还用于当任一数据条带更新,则从所述参数表中读取该数据条带对应的编解码参数;
相应的,所述数据编解码模块12,用于基于该数据条带的更新数据、数据条带对应的编解码参数以及当前校验码确定出更新后校验码。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的电路而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种RAID编解码方法及编解码电路进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种RAID编解码方法,其特征在于,包括:
确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;
将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;
基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编解码参数生成参数表;
在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;
在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码。
2.根据权利要求1所述的RAID编解码方法,其特征在于,所述确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编码参数,包括:
基于确定RAID中第一校验条带和第二校验条带放置在不同位置时的范德蒙式RS编码关系确定相应的第一校验码与第二校验码对应的关系式;
基于所述关系式确定在GF8有限域下每个数据条带位置对应的编码参数。
3.根据权利要求1所述的RAID编解码方法,其特征在于,所述基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码,包括:
基于每个数据条带以及对应的编解码参数确定参数运算后数据;
基于参数运算后数据进行异或运算,得到所述待编码数据对应的校验码。
4.根据权利要求1所述的RAID编解码方法,其特征在于,还包括:
将所述待编码数据分割为预设数量个数据条带;
将每个数据条带转换为伽罗华域的数据条带。
5.根据权利要求4所述的RAID6编码方法,其特征在于,还包括:
将伽罗华域的数据条带存入预设缓存,以便从所述预设缓存中读取数据条带以确定所述待编码数据对应的校验码。
6.根据权利要求1至5任一项所述的RAID编解码方法,其特征在于,还包括:
当任一数据条带更新,则从所述参数表中读取该数据条带对应的编解码参数;
基于该数据条带的更新数据、数据条带对应的编解码参数以及当前校验码确定出更新后校验码。
7.一种RAID编解码电路,其特征在于,包括编解码参数获取模块和数据编解码模块,其中,
所述编解码参数获取模块,用于在对待编码数据进行编码时,基于当前校验条带的位置信息从所述参数表的编解码位置信息中匹配出第一目标编码位置信息,利用所述第一目标编码位置信息、待编码数据的每个数据条带的位置信息从所述参数表中读取每个数据条带对应的编解码参数;在对错误条带进行解码时,基于错误条带的位置信息从所述参数表中匹配出第二目标编码位置信息,利用所述第二目标编码位置信息从所述参数表中读取每个非错误条带的位置信息对应的编解码参数;
所述数据编解码模块,用于在对待编码数据进行编码时,基于每个数据条带以及对应的编解码参数确定所述待编码数据对应的校验码;在对错误条带进行解码时,基于每个非错误条带以及对应的编解码参数对所述错误条带进行解码;
其中,所述参数表的生成过程为:
确定RAID中第一校验条带和第二校验条带放置在不同位置时每个数据条带位置对应的编解码参数;
将第一校验条带与第二校验条带的位置信息确定为编解码位置信息;
基于所述编解码位置信息、每个数据条带的位置信息以及全部所述编码参数生成参数表。
8.根据权利要求7所述的RAID编解码电路,其特征在于,所述数据编解码模块,包括:
参数运算模块,用于基于每个数据条带以及对应的编解码参数确定参数运算后数据;
异或模块,用于基于参数运算后数据进行异或运算,得到所述待编码数据对应的校验码。
9.根据权利要求7所述的RAID编解码电路,其特征在于,还包括:
数据条带分割模块,将所述待编码数据分割为预设数量个数据条带;
伽罗华域转换模块,用于将每个数据条带转换为伽罗华域的数据条带,以对所述待编码数据进行编码。
10.根据权利要求7所述的RAID编解码电路,其特征在于,所述编解码参数获取模块,还用于当任一数据条带更新,则从所述参数表中读取该数据条带对应的编解码参数;
相应的,所述数据编解码模块,用于基于该数据条带的更新数据、数据条带对应的编解码参数以及当前校验码确定出更新后校验码。
CN202110552076.5A 2021-05-20 2021-05-20 一种raid编解码方法及编解码电路 Active CN113297001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110552076.5A CN113297001B (zh) 2021-05-20 2021-05-20 一种raid编解码方法及编解码电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110552076.5A CN113297001B (zh) 2021-05-20 2021-05-20 一种raid编解码方法及编解码电路

Publications (2)

Publication Number Publication Date
CN113297001A true CN113297001A (zh) 2021-08-24
CN113297001B CN113297001B (zh) 2023-02-24

Family

ID=77323114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110552076.5A Active CN113297001B (zh) 2021-05-20 2021-05-20 一种raid编解码方法及编解码电路

Country Status (1)

Country Link
CN (1) CN113297001B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253478A (zh) * 2021-12-17 2022-03-29 山东云海国创云计算装备产业创新中心有限公司 一种计算raid校验盘位置的方法和装置
CN114416424A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质
CN114415982A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种数据存储方法、装置、设备及可读存储介质
WO2023184921A1 (zh) * 2022-03-30 2023-10-05 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及非易失性可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218470A1 (en) * 2005-03-15 2006-09-28 Inostor Corporation Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same
CN104850504A (zh) * 2015-05-26 2015-08-19 华中科技大学 一种加速基于xor的raid-6编解码过程的方程并行计算方法
CN106874140A (zh) * 2016-12-30 2017-06-20 北京联想核芯科技有限公司 数据存储方法及装置
CN111133420A (zh) * 2017-12-15 2020-05-08 西部数据技术公司 来自外部阵列副本的raid阵列重建辅助
CN111782439A (zh) * 2020-07-09 2020-10-16 河北工业大学 一种基于水平编码的双盘循环校验方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218470A1 (en) * 2005-03-15 2006-09-28 Inostor Corporation Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same
CN104850504A (zh) * 2015-05-26 2015-08-19 华中科技大学 一种加速基于xor的raid-6编解码过程的方程并行计算方法
CN106874140A (zh) * 2016-12-30 2017-06-20 北京联想核芯科技有限公司 数据存储方法及装置
CN111133420A (zh) * 2017-12-15 2020-05-08 西部数据技术公司 来自外部阵列副本的raid阵列重建辅助
CN111782439A (zh) * 2020-07-09 2020-10-16 河北工业大学 一种基于水平编码的双盘循环校验方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUANGYAN ZHANG等: "Accelerate RDP RAID-6 Scaling by Reducing Disk I/Os and XOR Operations", 《IEEE TRANSACTIONS ON COMPUTERS》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253478A (zh) * 2021-12-17 2022-03-29 山东云海国创云计算装备产业创新中心有限公司 一种计算raid校验盘位置的方法和装置
CN114253478B (zh) * 2021-12-17 2024-02-09 山东云海国创云计算装备产业创新中心有限公司 一种计算raid校验盘位置的方法和装置
CN114416424A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质
CN114415982A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种数据存储方法、装置、设备及可读存储介质
CN114415982B (zh) * 2022-03-30 2022-06-07 苏州浪潮智能科技有限公司 一种数据存储方法、装置、设备及可读存储介质
CN114416424B (zh) * 2022-03-30 2022-06-17 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质
WO2023184921A1 (zh) * 2022-03-30 2023-10-05 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及非易失性可读存储介质

Also Published As

Publication number Publication date
CN113297001B (zh) 2023-02-24

Similar Documents

Publication Publication Date Title
CN113297001B (zh) 一种raid编解码方法及编解码电路
CN113297000B (zh) 一种raid编码电路及编码方法
CN113296999B (zh) 一种raid6编码方法及编码电路
US9405623B2 (en) Method of, and apparatus for, layout rectification of erasure encoded storage systems
CN101243664B (zh) 应用于对各类码进行编码和解码的原地变换
CN107086870B (zh) 修复多节点失效的mds阵列码编码以及解码方法
CN112860475B (zh) 基于rs纠删码的校验块恢复方法、装置、系统及介质
US20050188292A1 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
KR20090028507A (ko) 비휘발성 메모리 에러 보정 시스템 및 방법
CN111240597B (zh) 存储数据的方法、装置、设备和计算机可读存储介质
CN111682874B (zh) 一种数据恢复的方法、系统、设备及可读存储介质
CN111858142A (zh) 一种数据处理方法、装置及电子设备和存储介质
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
CN101740135A (zh) 错误判断电路和共享的存储器系统
CN114465627B (zh) 一种数据存储方法、系统、设备及存储介质
JP7116374B2 (ja) 短縮レイテンシ誤り訂正復号
CN115993941A (zh) 分布式数据存储纠错方法及系统
Song et al. A Low complexity design of reed solomon code algorithm for advanced RAID system
CN115113816A (zh) 一种纠删码数据处理系统、方法、计算机设备及介质
CN112000509B (zh) 一种基于向量指令的纠删码编码方法、系统及装置
US9400715B1 (en) System and method for interconnecting storage elements
CN114138543A (zh) 数据条带编码方法、系统、设备及介质
CN114691414A (zh) 一种校验块生成方法及一种数据恢复方法
CN107615248B (zh) 分布式数据存储方法、控制设备和系统
Fang et al. A Novel Completely Local Repairable Code Algorithm Based on Erasure Code

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
GR01 Patent grant
GR01 Patent grant