A method for distributing data over a set of N storage devices. The method
includes apportioning the data into groups of (N-2) or fewer blocks, and
adding to each group a parity block so as to form a parity set. The
method further includes distributing the blocks of each parity set to the
N storage devices so that each of the blocks is stored on a different
storage device.