@InProceedings{corbett:rdp,
  author = {Peter Corbett and Bob English and Atul Goel and Tomislav Grcanac
  and Steven Kleiman and James Leong and Sunitha Sankar},
  title = {Row-Diagonal Parity for Double Disk Failure Correction},
  booktitle = {Proceedings of the USENIX FAST '04 Conference on File and
  Storage Technologies},
  year = {2004},
  month = {March},
  pages = {1--14},
  organization = {Network Appliance, Inc.},
  publisher = {USENIX Association},
  address = {San Francisco, CA},
  URL = {http://www.usenix.org/events/fast04/tech/corbett.html},
  keywords = {fault tolerance, disk failures, algorithms, row-diagonal parity,
  RAID, pario-bib},
  abstract = {Row-Diagonal Parity (RDP) is a new algorithm for protecting
  against double disk failures. It stores all data unencoded, and uses only
  exclusive-or operations to compute parity. RDP is provably optimal in
  computational complexity, both during construction and reconstruction. Like
  other algorithms, it is optimal in the amount of redundant information stored
  and accessed. RDP works within a single stripe of blocks of sizes normally
  used by file systems, databases and disk arrays. It can be utilized in a
  fixed (RAID-4) or rotated (RAID-5) parity placement style. It is possible to
  extend the algorithm to encompass multiple RAID-4 or RAID-5 disk arrays in a
  single RDP disk array. It is possible to add disks to an existing RDP array
  without recalculating parity or moving data. Implementation results show that
  RDP performance can be made nearly equal to single parity RAID-4 and RAID-5
  performance.},
  comment = {Awarded best paper.}
}

