Minimum Storage Regenerating Codes for All Parameters

Regenerating codes for distributed storage have attracted much research interest in the past decade. Such codes trade the bandwidth needed to repair a failed node with the overall amount of data stored in the network. Minimum storage regenerating (MSR) codes are an important class of <italic>optimal</italic> regenerating codes that minimize (first) the amount of data stored per node and (then) the repair bandwidth. Specifically, an <inline-formula> <tex-math notation="LaTeX">$[n,k,d]$ </tex-math></inline-formula>-<inline-formula> <tex-math notation="LaTeX">$(\alpha )$ </tex-math></inline-formula> MSR code <inline-formula> <tex-math notation="LaTeX">$ \mathbb {C}$ </tex-math></inline-formula> over <inline-formula> <tex-math notation="LaTeX">$ \smash {\mathbb {F}_{\! q}}$ </tex-math></inline-formula> stores a file <inline-formula> <tex-math notation="LaTeX">$ {\mathcal{ F}}$ </tex-math></inline-formula> consisting of <inline-formula> <tex-math notation="LaTeX">$\alpha k$ </tex-math></inline-formula> symbols over <inline-formula> <tex-math notation="LaTeX">$ \smash {\mathbb {F}_{\! q}}$ </tex-math></inline-formula> among <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> nodes, each storing <inline-formula> <tex-math notation="LaTeX">$\alpha $ </tex-math></inline-formula> symbols, in such a way that: 1) the file <inline-formula> <tex-math notation="LaTeX">$ {\mathcal{ F}}$ </tex-math></inline-formula> can be recovered by downloading the content of any <inline-formula> <tex-math notation="LaTeX">$k$ </tex-math></inline-formula> of the <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> nodes and 2) the content of any failed node can be reconstructed by accessing any <inline-formula> <tex-math notation="LaTeX">$d$ </tex-math></inline-formula> of the remaining <inline-formula> <tex-math notation="LaTeX">$n-1$ </tex-math></inline-formula> nodes and downloading <inline-formula> <tex-math notation="LaTeX">$\alpha /(d{-}k{+}1)$ </tex-math></inline-formula> symbols from each of these nodes. In practice, the file <inline-formula> <tex-math notation="LaTeX">$ {\mathcal{ F}}$ </tex-math></inline-formula> is typically available in uncoded form on some <inline-formula> <tex-math notation="LaTeX">$k$ </tex-math></inline-formula> of the <inline-formula> <tex-math notation="LaTeX">$n$ </tex-math></inline-formula> nodes, known as <italic>systematic nodes</italic>, and the defining node-repair condition above can be relaxed to requiring the optimal repair bandwidth for systematic nodes <italic>only</italic>. Such codes are called <italic>systematic–repair MSR codes</italic>. Unfortunately, finite–<inline-formula> <tex-math notation="LaTeX">$\alpha $ </tex-math></inline-formula> constructions of <inline-formula> <tex-math notation="LaTeX">$[n,k,d]$ </tex-math></inline-formula> MSR codes are known only for certain special cases: either low rate, namely <inline-formula> <tex-math notation="LaTeX">$k/n \leqslant 0.5$ </tex-math></inline-formula>, or high repair connectivity, namely <inline-formula> <tex-math notation="LaTeX">$d = n-1$ </tex-math></inline-formula>. Our main result in this paper is a finite–<inline-formula> <tex-math notation="LaTeX">$\alpha $ </tex-math></inline-formula> construction of systematic-repair <inline-formula> <tex-math notation="LaTeX">$[n,k,d]$ </tex-math></inline-formula> MSR codes for all possible values of parameters <inline-formula> <tex-math notation="LaTeX">$n,k,d$ </tex-math></inline-formula>. We also introduce a generalized construction for <inline-formula> <tex-math notation="LaTeX">$[n,k]$ </tex-math></inline-formula> MSR codes to achieve the optimal repair bandwidth for all values of <inline-formula> <tex-math notation="LaTeX">$d$ </tex-math></inline-formula> simultaneously.