  It is well known that an (n,k) code can be used to store 'k' units of
information in 'n' unit-capacity disks of a distributed data storage system. If
the code used is maximum distance separable (MDS), then the system can tolerate
any (n-k) disk failures, since the original information can be recovered from
any k surviving disks. The focus of this paper is the design of a systematic
MDS code with the additional property that a single disk failure can be
repaired with minimum repair bandwidth, i.e., with the minimum possible amount
of data to be downloaded for recovery of the failed disk. Previously, a lower
bound of (n-1)/(n-k) units has been established by Dimakis et. al, on the
repair bandwidth for a single disk failure in an (n,k) MDS code . Recently, the
existence of asymptotic codes achieving this lower bound for arbitrary (n,k)
has been established by drawing connections to interference alignment. While
the existence of asymptotic constructions achieving this lower bound have been
shown, finite code constructions achieving this lower bound existed in previous
literature only for the special (high-redundancy) scenario where $k \leq
\max(n/2,3)$. The question of existence of finite codes for arbitrary values of
(n,k) achieving the lower bound on the repair bandwidth remained open. In this
paper, by using permutation coding sub-matrices, we provide the first known
finite MDS code which achieves the optimal repair bandwidth of (n-1)/(n-k) for
arbitrary (n,k), for recovery of a failed systematic disk. We also generalize
our permutation matrix based constructions by developing a novel framework for
repair-bandwidth-optimal MDS codes based on the idea of subspace interference
alignment - a concept previously introduced by Suh and Tse the context of
wireless cellular networks.
