1. A method of recovering a plurality of data columns in a data matrix comprising n rows numbered 0 through n−1, and a pair of parity columns, comprising: selecting a column i and a column j to recover; calculating, as an accelerator, an implied but missing chain parity from the available data columns and parity columns; setting a starting point k=n−1 for a chain i and a starting point k for a chain j; and repeating (n−1)/2 times: setting k=k−(j−i) as the starting point in the column i; setting k=k−(n−(j−i)) as the starting point in the column j; calculating a recovered value for the point (k, j) on the basis of at least a chain with a slope of 1 and the accelerator; calculating a recovered value for the point (n−1−(j−i), i) on the basis of a chain with a slope of 0 and the accelerator; and storing the recovered value in the data matrix.