Next Article in Journal
Deep Matrix Factorization Based on Convolutional Neural Networks for Image Inpainting
Next Article in Special Issue
Scalable Network Coding for Heterogeneous Devices over Embedded Fields
Previous Article in Journal
How the Brain Becomes the Mind: Can Thermodynamics Explain the Emergence and Nature of Emotions?
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Three Efficient All-Erasure Decoding Methods for Blaum–Roth Codes

1
School of Computer Science and Technology, Dongguan University of Technology, Dongguan 523820, China
2
School of Electrical Engineering and Intelligentization, Dongguan University of Technology, Dongguan 523820, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Entropy 2022, 24(10), 1499; https://doi.org/10.3390/e24101499
Submission received: 5 September 2022 / Revised: 15 October 2022 / Accepted: 17 October 2022 / Published: 20 October 2022
(This article belongs to the Special Issue Information Theory and Network Coding II)

Abstract

:
Blaum–Roth Codes are binary maximum distance separable (MDS) array codes over the binary quotient ring F 2 [ x ] / ( M p ( x ) ) , where M p ( x ) = 1 + x + + x p 1 , and p is a prime number. Two existing all-erasure decoding methods for Blaum–Roth codes are the syndrome-based decoding method and the interpolation-based decoding method. In this paper, we propose a modified syndrome-based decoding method and a modified interpolation-based decoding method that have lower decoding complexity than the syndrome-based decoding method and the interpolation-based decoding method, respectively. Moreover, we present a fast decoding method for Blaum–Roth codes based on the LU decomposition of the Vandermonde matrix that has a lower decoding complexity than the two modified decoding methods for most of the parameters.

1. Introduction

Redundancy is necessary in storage systems in order to provide high data reliability in case of disk failures [1]. Replication and erasure codes are two main ways of including redundancy. The idea of replication is that the data in one disk are copied to multiple disks. The storage system replaces damaged disks with their copies when some disks are erased. It is fast to repair the erased disks but requires a lot of storage space. In contrast, erasure codes provide higher data reliability with a small storage cost.
Maximum distance separable (MDS) codes [2] are typical erasure codes that have optimal tradeoff between storage cost and data reliability, i.e., they can achieve the minimum storage cost given a level of data reliability. Binary MDS codes are special MDS codes that have lower computational complexity in the encoding/decoding procedures, since only XORs and cyclic-shift operations are involved. Some existing constructions of binary MDS codes are EVENODD codes [3,4], RDP codes [5], and X-codes [6,7], which can correct any two-column (we use “column" and “disk" interchangeably in this paper) erasures. RTP codes [8], Star codes [9,10], and extended EVENODD codes [11,12,13,14] can correct any three-column erasures. With the rapid increase in the data scale in storage systems [15], we need to design binary MDS codes that can correct any number of erasures as well as efficient encoding/decoding methods. Graftage codes [16] can achieve various tradeoffs between storage and repair bandwidth, while we focus on efficient decoding methods of binary MDS codes. Blaum–Roth codes [17] are this type of code, which are designed over the ring R p = F 2 [ x ] / ( M p ( x ) ) , where M p ( x ) = 1 + x + + x p 1 , and p is a prime number.
When some columns are erased, the syndrome-based decoding method [17] and the interpolation-based decoding method [18] have been proposed to recover the erased columns. In the decoding methods [17,18], there are three basic operations over the ring R p : (i) addition, (ii) multiplication of a power of x and a polynomial, and  (iii) division of factor 1 + x b with 1 b p 1 . It is shown in the decoding methods [17,18] that we can first take the operations (i) and (ii) modulo 1 + x p and then take the results of modulo M p ( x ) , while operation (iii) in the decoding methods [17,18] is directly taken as modulo M p ( x ) .
In this paper, we show that we can also compute operation (iii) as modulo 1 + x p , which has lower computational complexity than modulo M p ( x ) . We propose modified decoding methods for the two existing decoding methods [17,18] that have a lower decoding complexity than the original decoding methods by computing operation (iii) as modulo 1 + x p instead of modulo M p ( x ) . The reason our modified decoding methods have much lower decoding complexity than the decoding methods [17,18] is twofold. First, all the operations in our decoding methods are taken as modulo 1 + x p , while the existing decoding methods execute the divisions as modulo M p ( x ) . Second, we propose new algorithms in the decoding procedure to reduce the number of operations. Please refer to Section 3 for our two modified decoding methods. Moreover, the efficient LU decoding method [19] proposed for extended EVENODD codes decoding can also be employed to recover the erased columns of Blaum–Roth codes. We show that the LU decoding method has lower decoding complexity than the two modified decoding methods for most of the parameters. We define the decoding complexity as the total number of XORs required to recover the erased columns.

2. Blaum–Roth Codes

In this section, we first review the construction of Blaum–Roth codes [17] and then show the efficient operations over the ring F 2 [ x ] / ( 1 + x p ) . Finally, we present an algorithm to compute multiple multiplications, which have two nonzero terms over F 2 [ x ] / ( 1 + x p ) with lower complexity.

2.1. Construction of Blaum–Roth Codes [17]

The codeword of Blaum–Roth codes [17] is a ( p 1 ) × n array [ c i , j ] i = 0 , j = 0 p 2 , n 1 that is encoded from the ( p 1 ) k information bits, where c i , j F 2 and n p . We can view any k columns of the ( p 1 ) × n array as information columns that store the ( p 1 ) k information bits and the other r = n k columns as parity columns that store the ( p 1 ) r parity bits. For j = 0 , 1 , , n 1 , we represent the p 1 bits in column j by a polynomial c j ( x ) = i = 0 p 2 c i , j x i . The ( p 1 ) × n array of Blaum-Roth codes is defined as
c 0 ( x ) c 1 ( x ) c n 1 ( x ) · H r × n T 0 ( mod M p ( x ) ) ,
where H r × n is the r × n parity-check matrix
H r × n = 1 1 1 1 1 x x 2 x n 1 1 x ( r 1 ) x ( r 1 ) 2 x ( r 1 ) ( n 1 ) ,
and 0 is the all-zero row of length r. We denote the Blaum–Roth codes defined above as C ( p , n , r ) . When p n and p is a prime number, we can always retrieve all the information bits from any k out of the n polynomials [17], i.e.,  C ( p , n , r ) are MDS codes.
If we let c p 1 , j = 0 for all j = 0 , 1 , , n 1 , then C ( p , n , r ) can be equivalently defined as the following p · r linear constraints. (The subscripts are taken as modulo p unless otherwise specified.)
j = 0 n 1 c m · j p , j = 0 ,
where 0 m p 1 and 0 r 1 .
Suppose that the λ columns { e i } i = 0 λ 1 are erased, where λ 2 and 0 e 0 < < e λ 1 < n . Let the δ = n λ surviving columns be { h j } j = 0 δ 1 , where 0 h 0 < < h δ 1 < n and { e i } i = 0 λ 1 { h j } j = 0 δ 1 = { 0 , 1 , , n 1 } . We have
c e 0 ( x ) c e 1 ( x ) c e λ 1 ( x ) · V λ × λ T = S ,
over the ring R p , where V λ × λ is the λ × λ square
V λ × λ = 1 1 1 1 x e 0 x e 1 x e 2 x e λ 1 x ( λ 1 ) e 0 x ( λ 1 ) e 1 x ( λ 1 ) e 2 x ( λ 1 ) e λ 1 ,
and S = S 0 ( x ) S 1 ( x ) S λ 1 ( x ) , where the λ syndrome polynomials are
S ( x ) = j = 0 δ 1 x · h j c h j ( x ) for 0 λ 1 .
In this paper, we present three efficient decoding methods to solve the linear systems in Equation (1) over the ring F 2 [ x ] / ( 1 + x p ) .

2.2. Efficient Operations over F 2 [ x ] / ( 1 + x p )

It is more efficient to compute the multiplication of a power of x and division of the factor 1 + x b over the ring F 2 [ x ] / ( 1 + x p ) rather than over the ring R p : (i) Let a ( x ) R p , and the multiplication x i · a ( x ) over the ring R p in [17] (Equation (19)) takes p 1 XORs, while the multiplication x i · a ( x ) over the ring F 2 [ x ] / ( 1 + x p ) takes no XORs [20]. (ii) Let g ( x ) , f ( x ) F 2 [ x ] / ( 1 + x p ) , where d is a positive integer, which is coprime with p. Consider the equation
( 1 + x d ) g ( x ) f ( x ) ( mod 1 + x p ) ,
where f ( x ) has an even number of nonzero terms. Given such f ( x ) and d, we can compute g ( x ) by Lemma 1.
Lemma 1.
[Lemma 8] in [21] The coefficients of g ( x ) in Equation (3) are given by
g p 1 = 0 , g p d 1 = f p 1 , g d 1 = f d 1 , g p ( + 1 ) d 1 = g p d 1 + f p d 1 for = 1 , 2 , , p 3 .
By Lemma 1, computing the division f ( x ) 1 + x d takes p 3 XORs, but we are not sure whether g ( x ) has an even number of nonzero terms or not. If we want to guarantee that g ( x ) has an even number of nonzero terms, we should use Lemma 2 to compute the division f ( x ) 1 + x d .
Lemma 2.
[Lemma 13] in [20] The coefficients of g ( x ) in Equation (3) are given by
g 0 = f 2 d + f 4 d + + f ( p 1 ) d , g d = g ( 1 ) d + f d for = 1 , 2 , , p 1 .
By Lemma 2, the division f ( x ) 1 + x d takes 3 p 5 2 XORs, and  g ( x ) has an even number of nonzero terms. However, computing the division f ( x ) 1 + x d in [Corollary 2] in [17] takes 2 ( p 1 ) XORs over the ring R p , which is strictly larger than the decoding methods in Lemmas 1 and 2. It is shown in [Theorem 5] in [19] that we can always solve the equations in Equation (1) over the ring F 2 [ x ] / ( 1 + x p ) of which all the solutions are congruent to each other after modulo M p ( x ) . Therefore, we can first solve the equations in Equation (1) over the ring F 2 [ x ] / ( 1 + x p ) and then obtain the unique solution by taking modulo M p ( x ) to reduce the computational complexity.

2.3. Multiple Multiplications over F 2 [ x ] / ( 1 + x p )

Note that in our modified syndrome-based decoding method and the modified interpolation-based decoding method, we need to compute multiple polynomial multiplications, where each polynomial has two nonzero terms. Suppose that we want to compute the following m multiplications
L ( x τ ) = i = 0 m 1 ( x τ x ξ i ) ( mod 1 + x p ) ,
where m is a positive integer, 0 τ p 1 such that τ { ξ 0 , ξ 1 , , ξ m 1 } , and  0 ξ 0 < < ξ m 1 < n .
We can derive from Equation (4) that
L ( x τ ) = x π · i = 0 m 1 ( 1 + x d i ) ( mod 1 + x p ) ,
where π = i = 0 m 1 min ( τ , ξ i ) modulo p and d i = | τ ξ i | for i = 0 , 1 , , m 1 .
Algorithm 1 presents a method to simplify the multiplications in Equation (4). In Algorithm 1, we use Γ to denote the number of the polynomial 1 + x in the multiplication L ( x τ ) . Note that we only need to count the number of 1 + x for 1 p 1 2 , because the equation 1 + x x · ( 1 + x p ) modulo 1 + x p holds for p 1 2 < < n . If Γ > 1 , then we have ( 1 + x ) Γ = ( 1 + x ) Γ 2 Γ 2 · ( 1 + x 2 ) Γ 2 . Therefore, we can always merge Γ multiplications ( 1 + x ) Γ into Γ Γ 2 multiplications and the computational complexity can be reduced with Algorithm 1. When Algorithm 1 is executed, all elements of count-array Γ should be zero or one, and the length η of the final L ( x τ ) is between 1 and m.
Algorithm 1: Simplify the multiple multiplications.
Entropy 24 01499 i001

3. Decoding Algorithm

In this section, we present two decoding methods over the ring F 2 [ x ] / ( 1 + x p ) by modifying two existing decoding methods [17,18] that can reduce the decoding complexity.
Recall that the λ erased columns are λ columns { e i } i = 0 λ 1 , and the δ = n λ surviving columns are δ columns { h j } j = 0 δ 1 .

3.1. Modified Syndrome-Based Method

We define the function of the indeterminate z
G i ( z ) = s = 0 , i λ 1 ( 1 x e s z ) = = 0 λ 1 G i , ( x ) z ,
and the syndrome function S ( z ) = = 0 r 1 S ( x ) z , where 0 i λ 1 and S ( x ) is given in Equation (2). We can obtain in [Equation (18)] in [17] that
s = 0 , i λ 1 ( x e i x e s ) c e i ( x ) = 0 λ 1 G i , λ 1 ( x ) S ( x ) σ i ( x ) ( mod M p ( x ) ) .
Therefore, the σ i ( x ) can be regarded as the coefficient of z λ 1 of the polynomial G i ( z ) S ( z ) . Then, the erased column c e i ( x ) is given by σ i ( x ) s = 0 , i λ 1 ( x e i x e s ) , where 0 i λ 1 .
Note that the terms of set { S ( x ) z } = λ r 1 are not involved in computing the coefficient of z λ 1 of the polynomial G i ( z ) S ( z ) . Thus, we can just consider the first λ terms (the λ coefficients of degrees less than λ ) of S ( z ) when computing these coefficients, but all the r terms of S ( z ) are calculated in [Step 1] in [17]. This is one essential way our modified syndrome-based decoding method obtains a lower decoding complexity than the original method in [17].
Moreover, the syndrome polynomials S ( x ) satisfy
S 0 ( 1 ) = S 1 ( 1 ) = = S λ 1 ( 1 ) ,
i.e., the λ syndrome polynomials S ( x ) either all have an even number of nonzero terms, or they all have an odd number of nonzero terms, from the definition of Equation (2).
Let G ( z ) = ( 1 x e i z ) G i ( z ) and Q ( z ) = G ( z ) S ( z ) . Then, we have
Q ( z ) = ( 1 x e i z ) s = 0 , i λ 1 ( 1 x e s z ) S ( z ) = s = 0 λ 1 ( 1 x e s z ) S ( z ) = = 0 r + λ 1 Q ( x ) z .
Thus, Q ( z ) is independent of the erasure index i, and we only need to compute Q ( z ) once in the decoding procedure. Recall that σ i ( x ) is the coefficient of z λ 1 of the polynomial G i ( z ) S ( z ) ; then, the  σ i ( x ) is also the coefficient of z λ 1 of the polynomial Q ( z ) ( 1 x e i z ) = ( 1 x e i z ) G i ( z ) S ( z ) ( 1 x e i z ) for all 0 i λ 1 . Suppose that
Q ( z ) ( 1 x e i z ) = f 0 i ( x ) + f 1 i ( x ) z + + f λ 1 i ( x ) z λ 1 + ,
we can derive the recurrence formula
f i ( x ) = Q 0 ( x ) , = 0 ; x e i · f 1 i ( x ) + Q ( x ) , > 0 ;
where 0 i λ 1 . Notice that σ i ( x ) = f λ 1 i ( x ) holds. Similar to S ( z ) , we only compute the first λ terms (the λ coefficients of degrees less than λ ) of Q ( z ) , since the other coefficients of Q ( z ) are not needed, but all the r + λ terms of Q ( z ) are calculated in [Step 2] in [17]. This is another way our modified syndrome-based decoding method obtains a lower decoding complexity than the original method in [17]. Algorithm 1 shows our modified syndrome-based decoding method over the ring F 2 [ x ] / ( 1 + x p ) .
The following Lemma shows that we can always compute the divisions in steps 11–12 of Algorithm 2 by Lemmas 1 and 2 when λ 2 .
Lemma 3.
In steps 11–12 of Algorithm 2, the σ i ( x ) has an even number of nonzero terms for all 0 i λ 1 , and we can employ Lemmas 1 and 2 to compute the divisions.
Proof. 
From Equation (8) and steps 7–10 of Algorithm 2, we obtain
σ i ( x ) = x ( λ 1 ) e i Q 0 ( x ) + x ( λ 2 ) e i Q 1 ( x ) + + Q λ 1 ( x ) ,
where 0 i λ 1 . If the number of polynomials in the set { Q j ( x ) } j = 0 λ 1 , which has an odd number of nonzero terms, is an even number, then the σ i ( x ) has an even number of nonzero terms for 0 i λ 1 . In the following, we will show this is true. According to Equation (6) and step 3 of Algorithm 2, Q 0 ( 1 ) = = Q λ 1 ( 1 ) holds.
Firstly, we consider Q 0 ( 1 ) = = Q λ 1 ( 1 ) = 1 . We denote the λ polynomials { Q j ( x ) } j = 0 λ 1 with ε = 0 , 1 , , λ as { Q j ε ( x ) } j = 0 λ 1 . Let Q j 0 ( x ) be the initial Q j ( x ) for 0 j λ 1 .
To prove that the number of polynomials with an odd number of nonzero terms in the set { Q j ε ( x ) } j = 0 λ 1 is even, it is equivalent to prove that j = 0 λ 1 Q j ε ( 1 ) = 0 .
Algorithm 2: Modified syndrome-based decoding method.
Entropy 24 01499 i002
According to Equation (7) and steps 4–6 of Algorithm 2, we have
Q j ε ( 1 ) = Q j ε 1 ( 1 ) , j = 0 ; Q j 1 ε 1 ( 1 ) + Q j ε 1 ( 1 ) , 1 j λ 1 ;
where ε = 1 , 2 , , λ . The Q j 1 ( 1 ) = 0 holds for all j 1 . We can obtain by induction
Q j ε ( 1 ) = Q j 1 ε 1 ( 1 ) + Q j ε 1 ( 1 ) = 0 for all j ε 1 .
Note that j = 0 λ 1 Q j 2 ( 1 ) = 0 ; we can suppose that there are an even number of polynomials in the set { Q j ε ( x ) } j = 0 λ 1 , which has an odd number of nonzero terms, when ε = y 2 , i.e.,  j = 0 λ 1 Q j y ( 1 ) = 0 first. We have j = 0 λ 1 Q j y + 1 ( 1 ) ; so,
j = 0 λ 1 Q j y + 1 ( 1 ) = Q 0 y ( 1 ) + j = 1 λ 1 ( Q j 1 y ( 1 ) + Q j y ( 1 ) ) = j = 0 λ 1 Q j y ( 1 ) + j = 0 λ 2 Q j y ( 1 ) = Q λ 1 y ( 1 ) = 0 .
Equation (11) comes from Equation (10) with j = λ 1 . Therefore, there are an even number of polynomials in the set { Q j y + 1 ( x ) } j = 0 λ 1 , which has an odd number of nonzero terms.
Secondly, when Q 0 ( 1 ) = = Q λ 1 ( 1 ) = 0 , the argument is similar. This completes the proof.  □
According to Lemma 3, we can use Lemmas 1 and 2 to compute the divisions in step 12. The number of divisions required in step 12 is recorded as L i , which ranges from 1 to λ 1 for i = 0 , 1 , , λ 1 . So, we can obtain c e i ( x ) in step 12 by recursively computing the division L i times, while the number of nonzero terms of the polynomial resulting from the first L i 1 divisions is even. Therefore, we can execute these divisions by Lemma 2 and execute the last division by Lemma 1. The computational complexity T D in steps 11–12 of Algorithm 2 is
T D = i = 0 λ 1 ( ( L i 1 ) 3 p 5 2 + p 3 ) ,
where λ ( p 3 ) T D λ ( λ 2 ) 3 p 5 2 + λ ( p 3 ) .
In steps 11–12 of Algorithm 2, we take the λ ( λ 1 ) division without Algorithm 1, in which λ divisions are executed by Lemma 1 and λ ( λ 2 ) divisions are executed by Lemma 2; however, the number of the divisions can be reduced with Algorithm 1. In Table 1, we show the average number of divisions in steps 11–12 of Algorithm 2 executed by Lemma 1 and Lemma 2 with Algorithm 1 for ( p , n ) { ( 5 , 5 ) , ( 7 , 7 ) } .
We specify the computational complexity of Algorithm 2 as follows:
  • Steps 1–2 take λ ( δ 1 ) p = λ ( n λ 1 ) p XORs.
  • Steps 3–6 take λ ( λ 1 ) p XORs.
  • Steps 7–10 take λ ( λ 1 ) p XORs.
  • Steps 11–12 take T D XORs by Equation (12).
Then, the computational complexity T A l g   2 of Algorithm 2 is
T A l g   2 = λ ( n + λ 3 ) p + T D ,
where
p λ 2 + ( ( n 2 ) p 3 ) λ T A l g   2 5 ( p 1 ) 2 λ 2 + ( ( n 5 ) p + 2 ) λ .
Recall that the computational complexity of the decoding method in [17] is
7 p 4 2 λ 2 7 p 2 2 λ + r ( n 1 ) p .
which is strictly larger than T A l g   2 .
Table 2 evaluates the computational complexity of the decoding method in [17] and Algorithm 2 for some parameters. The results in Table 2 demonstrate that Algorithm 2 has much lower decoding complexity, compared with the original decoding method in [17]. For example, Algorithm 2 has 40.60% less decoding complexity than the decoding method in [17] when ( p , n , r ) = ( 7 , 7 , 4 ) , λ = 3 .
The reason why Algorithm 2 has lower decoding complexity than the decoding method in [17] can be summarized as the following three points.
Firstly, we only consider the first λ terms (the λ coefficients of degrees less than λ ) for both S ( z ) and Q ( z ) in computing the coefficients of z λ 1 , while all r terms of S ( z ) and all r + λ terms of Q ( z ) are calculated in the decoding method in [17], where r λ .
Secondly, all the divisions in Algorithm 2 are executed over the ring F 2 [ x ] / ( 1 + x p ) by Lemmas 1 and 2, which takes p 3 XORs and 3 p 5 2 XORs for each division, respectively. In addition, the division in [17] is executed over the ring R p , which takes 2 ( p 1 ) XORs [17] (Corollary 2).
Thirdly, we apply Algorithm 1 to steps 11–12 of Algorithm 2, which can significantly reduce the number of divisions, thus reducing the number of XORs required.

3.2. Modified Interpolation-Based Decoding Method

According to the decoding method in [18], we can recover the erased column c e i ( x ) with 0 i λ 1 by
c e i ( x ) = j = 0 δ 1 c h j ( x ) f i ( x h j ) f i ( x e i ) ( mod M p ( x ) ) ,
where f i ( y ) = s = 0 , i λ 1 ( y x e s ) and f ( y ) = s = 0 λ 1 ( y x e s ) . Let
a j ( x ) = c h j ( x ) · f ( x h j ) = s = 0 λ 1 ( x h j x e s ) · c h j ( x ) ( mod M p ( x ) ) ,
where 0 j δ 1 . Then, a j ( x ) has an even number of nonzero terms, and we only need to compute once for a j ( x ) in the decoding procedure, since a j ( x ) is independent of the erasure index i. Let
b i ( x ) = j = 0 δ 1 a j ( x ) x h j x e i ( mod M p ( x ) ) ,
c e i ( x ) = b i ( x ) f i ( x e i ) = b i ( x ) s = 0 , i λ 1 ( x e i x e s ) ( mod M p ( x ) ) ,
where 0 i λ 1 , and  M p ( x ) = 1 + x + + x p 1 . Algorithm 3 shows our modified interpolation-based method over the ring F 2 [ x ] / ( 1 + x p ) .
After using Algorithm 1, the number of polynomial multiplications in step 2 ranges from 1 to λ . Thus, the computational complexity T M in steps 1–2 of Algorithm 3 is
( n λ ) p T M ( n λ ) λ p .
Algorithm 3: Modified interpolation-based method.
Entropy 24 01499 i003
In steps 1–2, we need to take λ multiplications without Algorithm 1, which takes ( n λ ) λ p XORs; however, with Algorithm 1, the number of multiplications involved in steps 1–2 can be reduced. In Table 3, we show the average number of XORs involved in steps 1–2 of Algorithm 3 with Algorithm 1 for ( p , n ) { ( 5 , 5 ) , ( 7 , 7 ) } . The results in Table 3 show that we can reduce the number of XORs with Algorithm 1, especially for a large value of λ .
Only steps 4 and 6 of Algorithm 3 are needed to compute the division. We should employ Lemma 2 to execute the divisions in steps 3–4 in Algorithm 3, since b i ( x ) in step 6 of Algorithm 3 should have an even number of nonzero terms. Notice that steps 5–6 of Algorithm 3 are exactly the same as steps 11–12 of Algorithm 2.
We specify the computational complexity of Algorithm 3 as follows:
  • Steps 1–2 require T M XORs by Equation (18).
  • Steps 3–4 need λ ( δ 1 ) additions and λ δ divisions by Lemma 2, which require λ ( n λ 1 ) p + λ ( n λ ) 3 p 5 2 XORs in total.
  • Steps 5–6 require T D XORs by Equation (12).
Then, the computational complexity of Algorithm 3 is
T A l g   3 = T M + λ ( n λ 1 ) p + λ ( n λ ) 3 p 5 2 + T D ,
where
5 ( p 1 ) 2 λ 2 + ( 5 n 2 2 p 5 2 n 3 ) λ + n p T A l g   3 2 p λ 2 + ( 7 n 6 2 p 5 2 n + 2 ) λ .
Recall that the computational complexity of the decoding method in [18] is
( 2 p + 1 ) λ 2 + ( 4 ( n 1 ) p 3 n + 4 ) λ + n ( p 1 ) ,
which is larger than that of our Algorithm 3.
Table 4 evaluates the computational complexity of the decoding method in [18] and Algorithm 3 for some parameters. The results in Table 4 demonstrate that our Algorithm 3 had much lower decoding complexity, compared with the original decoding method in [18]. For example, Algorithm 3 had a 34.13% lower decoding complexity than the decoding method in [18], when ( p , n , r ) = ( 7 , 7 , 4 ) , λ = 3 .
The reason why Algorithm 3 has a lower decoding complexity than that of the decoding method in [18] is summarized as follows.
Firstly, all the divisions in Algorithm 3 were executed over the ring F 2 [ x ] / ( 1 + x p ) by Lemmas 1 and 2, which used p 3 XORs and ( 3 p 5 ) / 2 XORs for each division, respectively. The division in the decoding method in [18] was executed over the ring R p , which used 2 ( p 1 ) XORs.
Secondly, we applied our Algorithm 1 to steps 1–2 and steps 5–6, which significantly reduced the number of multiplications, thus reducing the number of XORs required.

4. LU Decomposition-Based Method

The LU factorization of a matrix [22] is to express the matrix as a product of a lower triangular matrix L and an upper triangular matrix U . According to the LU factorization of the Vandermonde matrix [23], we can express a Vandermonde matrix as a product of several lower triangular matrices and several upper triangular matrices. Therefore, we can solve the Vandermonde linear equations by first solving the linear equations with the encoding matrices that are the upper triangular matrices and then solving the linear equations with the encoding matrices that are the lower triangular matrices.
Suppose that the λ erased columns are λ columns { e i } i = 0 λ 1 and the δ = n λ surviving columns are { h j } j = 0 δ 1 . Algorithm 4 shows our LU decomposition-based method over the ring F 2 [ x ] / ( 1 + x p ) .
According to [Theorem 8] in [19], Equation (1) can be factorized into
c e 0 ( x ) c e 1 ( x ) c e λ 1 ( x ) · ( L λ ( 1 ) L λ ( 2 ) L λ ( λ 1 ) ) · ( U λ ( λ 1 ) U λ ( λ 2 ) U λ ( 1 ) ) = S ,
over the ring R p , where U λ ( θ ) is the upper triangle matrix
U λ ( θ ) = I λ θ 1 0 i n e 0 1 x e 0 0 0 0 0 1 x e 1 0 0 0 0 0 1 x e θ 1 0 0 0 0 1 ,
and L λ ( θ ) is the lower triangle matrix
L λ ( θ ) = I λ θ 1 0 i n e 0 1 0 0 0 1 x e λ θ + x e λ θ 1 0 0 0 0 x e λ 2 + x e λ θ 1 0 0 0 1 x e λ 1 + x e λ θ 1 ,
for θ = 1 , 2 , , λ 1 .   
Algorithm 4: LU decomposition-based method.
Entropy 24 01499 i004
We specify the computational complexity of Algorithm 4 as follows:
  • Steps 1–2 require λ ( δ 1 ) p = λ ( n λ 1 ) p XORs.
  • Steps 3–11 require λ ( λ 1 ) p + ( λ 1 ) ( p 3 ) + ( λ 1 ) ( λ 2 ) ( 3 p 5 ) / 4 XORs at most, according to [Theorem 10] in [19].
Then, the computational complexity of Algorithm 4 is
T A l g   4 = 3 p 5 4 λ 2 + ( 4 n 13 ) p + 3 4 λ + p + 1 2 .

5. Comparison and Conclusions

Table 5 evaluates the decoding complexity of Algorithm 2–4 for some parameters. The results of Table 5 demonstrate that Algorithm 2 performs better than Algorithm 3 if λ n 2 ; otherwise, if λ > n 2 , then Algorithm 3 has less decoding complexity. Algorithm 4 has less decoding complexity than both Algorithms 2 and 3, when λ is small. However, when λ is large, Algorithm 3 is more efficient than Algorithm 4. For example, compared with Algorithm 2–4 have 21.98 % and 40.66 % less decoding complexity, respectively, when ( p , n , r ) = ( 5 , 5 , 4 ) , λ = 3 .
In this paper, we presented three efficient decoding methods for the erasures of Blaum–Roth codes that all have lower decoding complexity than the existing decoding methods. The efficient implementation of the proposed decoding methods in practical storage systems is one of our future works.

Author Contributions

Funding acquisition, H.H. methodology, H.H.; writing—original draft preparation, W.Z.; writing—review and editing, H.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Natural Science Foundation of China grant number 62071121 and National Key R&D Program of China grant number 2020YFA0712300.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

All data generated or analysed during this study are included in this published article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Peng, P. Redundancy Allocation in Distributed Systems. Ph.D. Thesis, Rutgers The State University of New Jersey, School of Graduate Studies, New Brunswick, NJ, USA, 2022. [Google Scholar]
  2. MacWilliams, F.J.; Sloane, N.J.A. The Theory of Error Correcting Codes; Elsevier: Amsterdam, The Netherlands, 1977; Volume 16. [Google Scholar]
  3. Blaum, M.; Brady, J.; Bruck, J.; Menon, J. EVENODD: An Efficient Scheme for Tolerating Double Disk Failures in RAID Architectures. IEEE Trans. Comput. 1995, 44, 192–202. [Google Scholar] [CrossRef] [Green Version]
  4. Hou, H.; Lee, P.P.C. A New Construction of EVENODD Codes With Lower Computational Complexity. IEEE Commun. Lett. 2018, 22, 1120–1123. [Google Scholar] [CrossRef]
  5. Corbett, P.; English, B.; Goel, A.; Grcanac, T.; Kleiman, S.; Leong, J.; Sankar, S. Row-diagonal Parity for Double Disk Failure Correction. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies, San Francisco, CA, USA, 31 March–4 April 2004; pp. 1–14. [Google Scholar]
  6. Xu, L.; Bruck, J. X-code: MDS Array Codes with Optimal Encoding. IEEE Trans. Inf. Theory 1999, 45, 272–276. [Google Scholar]
  7. Tsunoda, Y.; Fujiwara, Y.; Ando, H.; Vandendriessche, P. Bounds on separating redundancy of linear codes and rates of X-codes. IEEE Trans. Inf. Theory 2018, 64, 7577–7593. [Google Scholar] [CrossRef] [Green Version]
  8. Goel, A.; Corbett, P. RAID Triple Parity. ACM SIGOPS Oper. Syst. Rev. 2012, 46, 41–49. [Google Scholar] [CrossRef]
  9. Huang, C.; Xu, L. STAR: An Efficient Coding Scheme for Correcting Triple Storage Node Failures. IEEE Trans. Comput. 2008, 57, 889–901. [Google Scholar] [CrossRef]
  10. Hou, H.; Lee, P.P.C. STAR+ Codes: Triple-Fault-Tolerant Codes with Asymptotically Optimal Updates and Efficient Encoding/Decoding. In Proceedings of the 2021 IEEE Information Theory Workshop (ITW 2021), Kanazawa, Japan, 17–21 October 2021. [Google Scholar]
  11. Blaum, M.; Brady, J.; Bruck, J.; Jai Menon, J.; Vardy, A. The EVENODD Code and its Generalization: An Effcient Scheme for Tolerating Multiple Disk Failures in RAID Architectures. In High Performance Mass Storage and Parallel I/O; Wiley-IEEE Press: Hoboken, NJ, USA, 2002; Chapter 8; pp. 187–208. [Google Scholar]
  12. Blaum, M.; Bruck, J.; Vardy, A. MDS Array Codes With Independent Parity Symbols. IEEE Trans. Inf. Theory 1996, 42, 529–542. [Google Scholar] [CrossRef] [Green Version]
  13. Hou, H.; Shum, K.W.; Chen, M.; Li, H. New MDS Array Code Correcting Multiple Disk Failures. In Proceedings of the 2014 IEEE Global Communications Conference, Austin, TX, USA, 8–12 December 2014; IEEE: Piscataway, NJ, USA, 2014; pp. 2369–2374. [Google Scholar]
  14. Fu, H.; Hou, H.; Zhang, L. Extended EVENODD+ Codes with Asymptotically Optimal Updates and Efficient Encoding/Decoding. In Proceedings of the 2021 XVII International Symposium “Problems of Redundancy in Information and Control Systems” (REDUNDANCY), Moscow, Russia, 25–29 October 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 1–6. [Google Scholar]
  15. Chiniah, A.; Mungur, A. On the Adoption of Erasure Code for Cloud Storage by Major Distributed Storage Systems. EAI Endorsed Trans. Cloud Syst. 2022, 7, e1. [Google Scholar] [CrossRef]
  16. Rui, J.; Huang, Q.; Wang, Z. Graftage Coding for Distributed Storage Systems. IEEE Trans. Inf. Theory 2021, 67, 2192–2205. [Google Scholar] [CrossRef]
  17. Blaum, M.; Roth, R.M. New Array Codes for Multiple Phased Burst Correction. IEEE Trans. Inf. Theory 1993, 39, 66–77. [Google Scholar] [CrossRef]
  18. Guo, Q.; Kan, H. On Systematic Encoding for Blaum-Roth Codes. In Proceedings of the 2011 IEEE International Symposium on Information Theory Proceedings, St. Petersburg, Russia, 31 July–5 August 2011; IEEE: Piscataway, NJ, USA, 2011; pp. 2353–2357. [Google Scholar]
  19. Hou, H.; Han, Y.S.; Shum, K.W.; Li, H. A Unified Form of EVENODD and RDP Codes and Their Efficient Decoding. IEEE Trans. Commun. 2018, 66, 5053–5066. [Google Scholar] [CrossRef]
  20. Hou, H.; Shum, K.W.; Chen, M.; Li, H. BASIC Codes: Low-complexity Regenerating Codes for Distributed Storage Systems. IEEE Trans. Inf. Theory 2016, 62, 3053–3069. [Google Scholar] [CrossRef]
  21. Hou, H.; Han, Y.S. A New Construction and An Efficient Decoding Method for Rabin-like Codes. IEEE Trans. Commun. 2017, 66, 521–533. [Google Scholar] [CrossRef]
  22. Strang, G.; Strang, G.; Strang, G.; Strang, G. Introduction to Linear Algebra; Wellesley-Cambridge Press: Wellesley, MA, USA, 1993; Volume 3. [Google Scholar]
  23. Yang, S.l. On the LU factorization of the Vandermonde matrix. Discret. Appl. Math. 2005, 146, 102–105. [Google Scholar] [CrossRef]
Table 1. The average number of XORs involved in steps 11–12 of Algorithm 2.
Table 1. The average number of XORs involved in steps 11–12 of Algorithm 2.
p, nλWithout Algorithm 1Apply Algorithm 1Improvement(%)
Lemma 2Lemma 1XORsLemma 2Lemma 1XORs
(5, 5)20240240%
33321231623.81%
4844804883.33%
(7, 7)20280280%
333362.4331.213.33%
484804.4451.236%
5155140152880%
6246216667266.67%
Table 2. Decoding complexity of method in [17] and Algorithm 2.
Table 2. Decoding complexity of method in [17] and Algorithm 2.
p, n, rλXORs in [17]XORs of T Alg 2 Improvement(%)
(5, 5, 3)2894450.56%
31509139.33%
(7, 7, 4)22119256.40%
3300178.240.60%
4434275.236.59%
Table 3. The average number of XORs involved in steps 1–2 of Algorithm 3.
Table 3. The average number of XORs involved in steps 1–2 of Algorithm 3.
p, nλWithout Algorithm 1Apply Algorithm 1Improvement(%)
MultiplicationXORsMultiplicationXORs
(5, 5)263052516.67%
363021066.67%
442021050%
(7, 7)2107096310%
312848.458.830%
412843.625.270%
5107042860%
664232150%
Table 4. Decoding complexities of the decoding method in [18] and our Algorithm 3.
Table 4. Decoding complexities of the decoding method in [18] and our Algorithm 3.
p, n, rλXORs in [18]XORs of T Alg   3 Improvement(%)
(5, 5, 3)21227935.25%
31467151.37%
(7, 7, 4)229220729.11%
337824934.13%
4438228.447.85%
Table 5. Decoding complexities of the proposed three decoding methods.
Table 5. Decoding complexities of the proposed three decoding methods.
p, n, rλTotal XORs T Alg   2 T Alg   3 T Alg   2 T Alg   2 T Alg   4 T Alg   2
T Alg   2 T Alg   3 T Alg   4
(5, 5, 4)2447932−79.55%27.27%
391715421.98%40.66%
4128388170.31%36.72%
(7, 7, 6)29220774−125%19.57%
3178.2249121−39.73%32.10%
4275.2228.417617.01%36.05%
534317123950.15%30.32%
649214131071.34%36.99%
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhou, W.; Hou, H. Three Efficient All-Erasure Decoding Methods for Blaum–Roth Codes. Entropy 2022, 24, 1499. https://doi.org/10.3390/e24101499

AMA Style

Zhou W, Hou H. Three Efficient All-Erasure Decoding Methods for Blaum–Roth Codes. Entropy. 2022; 24(10):1499. https://doi.org/10.3390/e24101499

Chicago/Turabian Style

Zhou, Weijie, and Hanxu Hou. 2022. "Three Efficient All-Erasure Decoding Methods for Blaum–Roth Codes" Entropy 24, no. 10: 1499. https://doi.org/10.3390/e24101499

APA Style

Zhou, W., & Hou, H. (2022). Three Efficient All-Erasure Decoding Methods for Blaum–Roth Codes. Entropy, 24(10), 1499. https://doi.org/10.3390/e24101499

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop