A Construction of MDS Array Codes
A Construction of MDS Array Codes
net/publication/271439579
CITATIONS READS
7 333
3 authors:
Verónica Requena
University of Alicante
37 PUBLICATIONS 165 CITATIONS
SEE PROFILE
All content following this page was uploaded by Joan-Josep Climent on 19 July 2016.
Abstract
1 Introduction
Array codes are a class of error control codes which have several applications in
communication, in storage systems to protect data against erasures, [1–3] and they
have been studied by several authors (see, for example, [1, 4–9]).
Array codes can be constructed with symbols from a field, a ring or a group, they
can have a wide range of parameters (block or constraint length, rate, distance,
etc.), and their interest lies in their ability to detect and correct random and/or
bursts or clusters of errors. Our motivation to investigate array codes is that they
provide a good trade-off between error-control power and complexity of decoding.
These codes are very useful to dynamic high-speed storage applications since
they have low-complexity decoding algorithms over small fields and low update
complexity when small changes are applied to the stored data [1]. In general, Reed-
Solomon codes have none of these properties; thus, they are more efficient than
Reed-Solomon codes in computational complexity terms [1, 5]. Furthermore, our
goal is to work with maximum distance separable (MDS) codes, those codes whose
minimum Hamming distance attains the Singleton bound for a given length and
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
doi:10.2495/DATA130051
48 Data Management and Security
dimension [10], since they provide the maximum protection against device failure
for a given amount of redundancy [11]. It is possible to find some constructions of
this kind of codes in [2, 3, 9, 11–14].
The rest of the paper is organized as follows. In Section 2 we introduce some
notation and preliminary results that we need to follow the paper. Moreover, we
recall some properties and definitions. In Section 3 we present the construction of
an array code using a superregular matrix and the companion matrix of a primitive
polynomial which will be part of the parity-check matrix of an MDS array code.
We give necessary and sufficient conditions for our codes to be MDS. We also
introduce a decoding algorithm in Section 4 for the MDS array codes constructed
in Section 3 for the binary case. Finally, we present our main conclusions in
Section 5.
2 Preliminaries
Let Fq be the Galois field of q elements and consider b a positive integer. If C is
a code of length n over Fbq , we can consider the codewords of C as codewords of
length nb over Fq . Then, a code C is said to be a linear array code (or an Fq -linear
code) of length n over Fbq if it is a linear code of length nb over Fq (see [14]).
We represent the code C as CFbq (respectively, CFq ) when we consider C as a
code over Fbq (respectively, Fq ). Note that both CFq and CFbq refer to the same set
of codewords, but considering the alphabets Fq and Fbq , respectively. It is worth
pointing out that the code symbols of CFbq can be regarded as elements in the field
Fqb . However, linearity over this field is not assumed.
Let [N, K, D] denote the parameters of the code CFq over Fq ., i.e.
N = CFq = q K , K = dim CFq , D = d CFq .
Then the Singleton bound (see, for example, [10]) states that
D ≤ N − K + 1.
The linear codes that achieve equality in the Singleton bound are called
maximum distance separable codes,
or MDS codes for short.
The number k = logqb CFbq is called the normalized dimension (or just
dimension) of CFbq . If b divides K, then k = K/b (in what follows, b divides
K). Thus, the parameters of the code CFbq are [n, k, d] over Fbq , where d is the
minimum distance and n = N/b. To define the minimum (Hamming) distance of
CFbq , we consider it as a code over the alphabet Fbq . Then, the distance d is measured
respect to the symbols of Fbq (see [14]). It is not difficult to see that d ≤ D and that
d ≤ n − k + 1.
That is, the Singleton bound also holds for linear array codes. Consequently, we
call MDS linear array codes the linear array codes that achieve equality in the
Singleton bound.
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
Data Management and Security 49
It is worth remembering that the code Fbq can be specified by either its parity-
check matrix H of size (n−k)b×nb or its generator matrix G of size kb×nb, both
over Fq . From practical considerations, array codes are required to be systematic,
that is, its parity-check (or generator) matrix has to be systematic. Recall that the
matrix H (respectively, G) is said to be systematic if it contains the identity matrix
of size (n − k)b × (n − k)b (respectively, kb × kb).
The following theorem is useful to check whether a linear array code is MDS or
not, without computing the minimum distance. We quote it here
for completeness.
Theorem 1 (Proposition 3.2 of [14]): Let H = A I(n−k)b be an (n − k)b × nb
systematic parity-check matrix of an Fq -linear code CFbq with parameters [n, k].
Assume that A = Aij ∈ Mat(n−k)b×kb Fq , where each Aij is a b × b matrix.
Then CFbq is MDS if and only if every square submatrix of A consisting of full blocks
submatrices Aij is nonsingular.
Recall that matrix is said to be superregular (see [15]) if every square submatrix
is nonsingular. Several constructions of MDS block codes based on superregular
matrices have been proposed (see, for example, [15, 16]). Our purpose here is to
extend these constructions using the characterization given in Theorem 1 in order
to obtain linear array codes which are also MDS. The way we show it is by using
an special type of matrices called superregular b-block matrices.
Definition 1: A matrix A ∈ Matmb×tb (Fq ) is said to be a superregular b-block
matrix if every square submatrix of A consisting of full blocks matrices of size
b × b is nonsingular over Fq .
Finally, recall that if α ∈ Fqb is a primitive element in Fqb , then the Zech
logarithm of k ∈ {0, 1, 2, . . . , q b − 3, q b − 2} in the basis α is the integer Z(k)
such that αZ(k) = 1 + αk (see, for example, [17] for the properties of the Zech’s
logarithm).
3 Main results
Recall that the companion matrix of the monic polynomial
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
50 Data Management and Security
Let α ∈ F23 be aprimitive element such that α3 +α+1 = 0. It is easy to check that
1 α
A= is a superregular matrix over F23 . So, according to Theorem 2,
1 α3
the matrix
⎡ ⎤
1 0 0 0 0 1 1 0 0 0 0 0
⎢ ⎥
⎢ ⎥
⎢ 0 1 0 1 0 1 0 1 0 0 0 0 ⎥
I3 C ⎢ ⎥
⎢ 0 0 1 0 1 0 0 0 1 0 0 0 ⎥
H= I 6 = ⎢ ⎥
I3 C 3 ⎢ 1 0 0 1 0 1 0 0 0 1 0 0 ⎥
⎢ ⎥
⎢ 0 1 0 1 1 1 0 0 0 0 1 0 ⎥
⎣ ⎦
0 0 1 0 1 1 0 0 0 0 0 1
is the parity-check matrix of a [4, 2, 3] array code CF32 . Thus, the array code is
MDS. Nevertheless, it is not an MDS code over F2 .
Superregular matrices with entries in a finite field can be obtained from Cauchy
matrices or Vandermonde matrices (see, for example, [15, 16, 19, 20]).
4 Decoding algorithm
For a prime number p, Blaum and some of his coauthors [11, 12, 21], introduce a
binary [p + 2, p, 3] MDS array code and provide a decoding algorithm based on the
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
Data Management and Security 51
For the codes constructed in Theorem 2 with parameters [2 + k, k, 3] over Fb2 , with
k ∈ N, we can correct one error.
Assume that
e = 0 0 · · · 0 ej 0 · · · 0 0 0 ,
then, by expression (3), sT1 = A1j eTj and sT2 = A2j eTj , and consequently,
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
52 Data Management and Security
If no such j exists and one of the block syndromes is nonzero, then there is an
error in the corresponding parity-check block ek+1 = s1 or ek+2 = s2 . Otherwise
there are more than one error and we cannot correct.
For the codes constructed in Theorem 2 with parameters [4 + k, k, 5] over Fb2 , with
k ∈ N, we can correct two errors.
The following algorithm uses some ideas from [11] and the properties of the
Zech logarithm.
Algorithm 1: Assume we know the syndrome s = s1 s2 s3 s4 .
1. If at least two of the block syndromes s1 , s2 , s3 , s4 are zero, then there are
no errors in the information symbols and the algorithm stops. Otherwise set
1 = 0.
2. Set 1 = 1 + 1. If 1 = k, then the algorithm stops and we declare there are
more than two errors. Otherwise, go to next step.
3. Compute the following vectors
Otherwise, go to step 2.
The following theorem shows us that Algorithm 1 can correct up to two errors.
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
Data Management and Security 53
Theorem 3: If CFb2 is a linear array code over Fb2 with parameters [4 + k, k, 5],
with k ∈ N and the parity-check matrix of the code is given by expression (2) for
n − k = 4, then Algorithm 1 corrects up to two errors.
P ROOF : We check every possible case and we see that in every case, the algorithm
corrects the errors.
Case 1: We have one or two errors in the parity symbols. In this case, three or
two syndromes are zero, respectively. Then, we would stop in step 1, declaring no
errors in the information symbols.
Case 2: We have one single error in the information symbols in the l1 th position.
The syndromes are given by
and using the properties of the Zech’s logarithms shown in [17] we obtain
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
54 Data Management and Security
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
Data Management and Security 55
Since all of them are zero, that means we have one error in position 1 = 1
given by ⎡ ⎤
1
⎢ ⎥
⎢ 1 ⎥
T −1 T
e1 = A11 s1 = ⎢ ⎢ ⎥.
⎥
⎣ 0 ⎦
1
So, the correct codeword is then
c=v−e
= 0001 0000 0000 0000 0001 0101 0011 1110
− 1101 0000 0000 0000 0000 0000 0000 0000
= 1100 0000 0000 0000 0001 0101 0011 1110
All are different from zero. Then, we start the algorithm with 1 = 1 and we
compute the polynomial given in step 3,
⎡ ⎤ ⎡ ⎤
1 1
⎢ ⎥ ⎢ ⎥
⎢ 1 ⎥ ⎢ 0 ⎥
T T −1 T
y 1 = s1 + A11 A41 s4 = ⎢ ⎢ ⎥ T T −1 T ⎢ ⎥,
⎥, y 2 = s2 + A21 A11 s1 = ⎢ ⎥
⎣ 0 ⎦ ⎣ 0 ⎦
1 0
⎡ ⎤ ⎡ ⎤
0 1
⎢ ⎥ ⎢ ⎥
⎢ 0 ⎥ ⎢ 1 ⎥
T T −1 T
y 3 = s3 + A31 A21 s2 = ⎢ ⎢ ⎥ T T −1 T ⎢ ⎥.
⎥, y 4 = s4 + A41 A31 s3 = ⎢ ⎥
⎣ 1 ⎦ ⎣ 1 ⎦
0 0
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
56 Data Management and Security
None of them are zero, that means we could have an error in 1 = 1, but there
should be another error in another position. We have to try whether the conditions
in steps 5 and 6 hold for any 2 ∈ {2, 3, 4}. We start with 2 = 2 and compute
Then ⎤ ⎡ ⎤ ⎡
0 0
⎢ ⎥ ⎢ ⎥
⎢ 0 ⎥ ⎢ 0 ⎥
C y2 = ⎢
r1 T ⎥ T
⎢ 1 ⎥ = y3
r2 T ⎢
and C y 3 = ⎢ ⎥ = yT .
⎥ 4
⎣ ⎦ ⎣ 1 ⎦
0 0
Therefore, there are errors in positions 1 = 1 and 2 = 2.
In order to obtain the errors e1 and e2 , we solve the linear system
A11 eT1 + A12 eT2 = sT1
A21 eT1 + A22 eT2 = sT2
c=v−e
= 0000 1000 0000 0000 0001 0101 0011 1110
− 1100 1000 0000 0000 0000 0000 0000 0000
= 1100 0000 0000 0000 0001 0101 0011 1110 .
It is possible to extend this idea for decoding codes with higher length. However,
the decoding of such schemes grows exponentially with the length.
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
Data Management and Security 57
5 Conclusions
In this paper a construction of MDS linear array codes based on superregular
matrices has been introduced. The main idea is to replace the elements of an
(n − k) × k superregular matrix by powers of the companion matrix of a primitive
polynomial of degree b. The resultant matrix allows us to construct the parity-
check matrix of an [n, k, n − k + 1] MDS linear array
code.
Also, a decoding
algorithm has been introduced that can correct up to n−k
2 symbols in error for
the cases n − k = 2 and n − k = 4.
Acknowledgements
The work of the first and the second authors was partially supported by Spanish
grant MTM2011-24858 of the Ministerio de Economı́a y Competitividad of the
Gobierno de España. The work of first author was also partially supported by
a grant for research students from the Generalitat Valenciana with reference
BFPI/2008/138. The work of the third author was partially supported by the
research project UMH-Bancaja with reference IPZS01.
References
[1] Blaum, M., Farrell, P.G. & van Tilborg, H.C.A., Array codes. Handbook of
Coding Theory, eds. V.S. Pless & W.C. Huffman, Elsevier: North-Holland,
pp. 1855–1909, 1998.
[2] Xu, L., Bohossian, V., Bruck, J. & Wagner, D.G., Low-density MDS codes
and factors of complete graphs. IEEE Transactions on Information Theory,
45(6), pp. 1817–1826, 1999.
[3] Xu, L. & Bruck, J., X-code: MDS array codes with optimal encoding. IEEE
Transactions on Information Theory, 45(1), pp. 272–276, 1999.
[4] Cassuto, Y. & Bruck, J., Cyclic low-density MDS array codes. Proceedings of
the 2006 IEEE International Symposium on Information Theory (ISIT 2006),
IEEE: Seattle, WA, USA, pp. 2794–2798, 2006.
[5] Cassuto, Y. & Bruck, J., Cyclic lowest density MDS array codes. IEEE
Transactions on Information Theory, 55(4), pp. 1721–1728, 2009.
[6] Esmaeili, M. & Amoshahy, M.J., On the stopping distance of array code
parity-check matrices. IEEE Transactions on Information Theory, 55(8), pp.
3488–3493, 2009.
[7] Fan, J.L., Array codes as low-density parity-check codes. Proceedings of the
2nd International Symposium on Turbo Codes, Brest, France, pp. 543–546,
2000.
[8] Haslach, C. & Han Vinck, A.J., A decoding algorithm with restrictions for
array codes. IEEE Transactions on Information Theory, 45(7), pp. 2339–
2344, 1999.
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)
58 Data Management and Security
[9] Louidor, E. & Roth, R.M., Lowest density MDS codes over extension
alphabets. IEEE Transactions on Information Theory, 52(7), pp. 46–59,
2006.
[10] MacWilliams, F.J. & Sloane, N.J.A., The Theory of Error-Correcting Codes.
North-Holland: Amsterdam, 6th edition, 1988.
[11] Blaum, M., Bruck, J. & Vardy, A., MDS array codes with independent parity
symbols. IEEE Transactions on Information Theory, 42(2), pp. 529–542,
1996.
[12] Blaum, M., Brady, J., Bruck, J. & Menon, J., EVENODD: An efficient
scheme for tolerating double disk failures in RAID architectures. IEEE
Transactions on Computers, 42(2), pp. 192–202, 1995.
[13] Blaum, M. & Roth, R.M., New array codes for multiple phased burst
correction. IEEE Transactions on Information Theory, 39(1), pp. 66–77,
1993.
[14] Blaum, M. & Roth, R.M., On lowest density MDS codes. IEEE Transactions
on Information Theory, 45(1), pp. 46–59, 1999.
[15] Roth, R.M. & Lempel, A., On MDS codes via Cauchy matrices. IEEE
Transactions on Information Theory, 35(6), pp. 1314–1319, 1989.
[16] Roth, R.M. & Seroussi, G., On generator matrices of MDS codes. IEEE
Transactions on Information Theory, 31(6), pp. 826–830, 1985.
[17] Huber, K., Some comments on Zech’s logarithms. IEEE Transactions on
Information Theory, 36(4), pp. 946–950, 1990.
[18] Lidl, R. & Niederreiter, H., Introduction to Finite Fields and Their
Applications. Cambridge University Press: New York, NY, 1994.
[19] Kéri, G., Types of superregular matrices and the number of n-arcs and
complete n-arcs in P G(r, q). Journal of Combinatorial Designs, 14(5), pp.
363–390, 2006.
[20] Lacan, J. & Fimes, J., A construction of matrices with no singular square
submatrices. Finite Fields and Applications, eds. G.L. Mullen, A. Poli &
H. Stichtenoth, Springer-Verlag: Berlin, volume 2948 of Lecture Notes in
Computer Science, pp. 145–147, 2003.
[21] Blaum, M., Fan, J.L. & Xu, L., Soft decoding of several classes of
array codes. Proceedings of the 2002 IEEE International Symposium on
Information Theory (ISIT 2002), IEEE: Lausanne, Switzerland, p. 368, 2002.
WIT Transactions on Information and Communication Technologies, Vol 45, © 2013 WIT Press
www.witpress.com, ISSN 1743-3517 (on-line)