  Abundant high-rate (n, k) minimum storage regenerating (MSR) codes have been
reported in the literature. However, most of them require contacting all the
surviving nodes during a node repair process, resulting in a repair degree of
d=n-1. In practical systems, it may not always be feasible to connect and
download data from all surviving nodes, as some nodes may be unavailable.
Therefore, there is a need for MSR code constructions with a repair degree of
d<n-1. Up to now, only a few (n, k) MSR code constructions with repair degree
d<n-1 have been reported, some have a large sub-packetization level, a large
finite field, or restrictions on the repair degree d. In this paper, we propose
a new (n, k) MSR code construction that works for any repair degree d>k, and
has a smaller sub-packetization level or finite field than some existing
constructions. Additionally, in conjunction with a previous generic
transformation to reduce the sub-packetization level, we obtain an MDS array
code with a small sub-packetization level and $(1+\epsilon)$-optimal repair
bandwidth (i.e., $(1+\epsilon)$ times the optimal repair bandwidth) for repair
degree d=n-1. This code outperforms some existing ones in terms of either the
sub-packetization level or the field size.
