Piggybacking codes are a special class of MDS array codes that can achieve small repair bandwidth with small sub-packetization by first creating some instances of an (n,k) MDS code, such as a Reed-Solomon (RS) code, and then designing the piggyback function. In this paper, we propose a new piggybacking coding design which designs the piggyback function over some instances of both (n,k) MDS code and (n,k′)
Nearby in the stack
MDS code, when
k≥k′
. We show that our new piggybacking design can significantly reduce the repair bandwidth for single-node failures. When
k=k′
, we design piggybacking code that is MDS code and we show that the designed code has lower repair bandwidth for single-node failures than all existing piggybacking codes when the number of parity node
r=n−k≥8
and the sub-packetization
α<r
. Moreover, we propose another piggybacking codes by designing
n
piggyback functions of some instances of
(n,k)
MDS code and adding the
n
piggyback functions into the
n
newly created empty entries with no data symbols. We show that our code can significantly reduce repair bandwidth for single-node failures at a cost of slightly more storage overhead. In addition, we show that our code can recover any
r+1
node failures for some parameters. We also show that our code has lower repair bandwidth than locally repairable codes (LRCs) under the same fault-tolerance and redundancy for some parameters.