  Array codes have been widely employed in storage systems, such as Redundant
Arrays of Inexpensive Disks (RAID). The row-diagonal parity (RDP) codes and
EVENODD codes are two popular double-parity array codes. As the capacity of
hard disks increases, better fault tolerance by using array codes with three or
more parity disks is needed. Although many extensions of RDP codes and EVENODD
codes have been proposed, the high decoding complexity is the main drawback of
them. In this paper, we present a new construction for all families of EVENODD
codes and RDP codes, and propose a unified form of them. Under this unified
form, RDP codes can be treated as shortened codes of EVENODD codes. Moreover,
an efficient decoding algorithm based on an LU factorization of Vandermonde
matrix is proposed when the number of continuous surviving parity columns is no
less than the number of erased information columns. The new decoding algorithm
is faster than the existing algorithms when more than three information columns
fail. The proposed efficient decoding algorithm is also applicable to other
Vandermonde array codes. Thus the proposed MDS array code is practically very
meaningful for storage systems that need higher reliability.
