A new family of maximum distance separable (MDS) array codes is
presented. The code arrays contain p information columns and r
independent parity columns, each column consisting of p-1 bits, where p
is a prime. We extend a previously known construction for the case r=2
to three and more parity columns. It is shown that when r=3 such
extension is possible for any prime p. For larger values of r, we give
necessary and sufficient conditions for our codes to be MDS, and then
prove that if p belongs to a certain class of primes these conditions
are satisfied up to r⩽8. One of the advantages of the new codes is
that encoding and decoding may be accomplished using simple cyclic
shifts and XOR operations on the columns of the code array. We develop
efficient decoding procedures for the case of two- and three-column
errors. This again extends the previously known results for the case of
a single-column error. Another primary advantage of our codes is related
to the problem of efficient information updates. We present upper and
lower bounds on the average number of parity bits which have to be
updated in an MDS code over GF (2<sup>m</sup>), following an update in a
single information bit. This average number is of importance in many
storage applications which require frequent updates of information. We
show that the upper bound obtained from our codes is close to the lower
bound and, most importantly, does not depend on the size of the code
symbols