skip to main content
research-article

Minimum density RAID-6 codes

Published:02 June 2011Publication History
Skip Abstract Section

Abstract

RAID-6 codes protect disk array storage systems from two-disk failures. This article presents a complete treatment of a class of RAID-6 codes, called minimum density RAID-6 codes, that have an optimal blend of performance properties. There are two families of minimal density RAID-6 codes: Blaum-Roth codes and Liberation codes, and a separate special-purpose code called the Liber8tion code. The first of these have been known since the late 1990's, while the latter two are new constructions. In this article, we motivate, demonstrate, and evaluate the minimum density codes, comparing them to EVENODD and RDP codes, which represent the state-of-the-art in RAID-6. Following that, we prove that the codes indeed fit the RAID-6 methodology, and cite their implementation in an open-source library.

References

  1. Anvin, H. P. 2007. The mathematics of RAID-6. http://kernel.org/pub/linux/kernel/people/hpa/raid6.pdf.Google ScholarGoogle Scholar
  2. Bairavasundaram, L. N., Goodson, G., Schroeder, B., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2008. An analysis of data corruption in the storage stack. In Proceedings of the 6th Usenix Conference on File and Storage Technologies (FAST'08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Blaum, M., Brady, J., Bruck, J., and Menon, J. 1995. EVENODD: An efficient scheme for tolerating double disk failures in RAID architectures. IEEE Trans. Comput. 44, 2, 192-- 202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Blaum, M. and Roth, R. M. 1999. On lowest density MDS codes. IEEE Trans. Inf. Theory 45, 1, 46--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Blomer, J., Kalfane, M., Karpinski, M., Karp, R., Luby, M., and Zuckerman, D. 1995. An XOR-based erasure-resilient coding scheme. Tech. rep. TR-95-048, International Computer Science Institute.Google ScholarGoogle Scholar
  6. Bohossian, V. and Bruck, J. 2006. Shortening array codes and the perfect 1-Factorization conjecture. In Proceedings of the IEEE International Symposium on Information Theory. 2799--2803.Google ScholarGoogle Scholar
  7. Corbett, P., English, B., Goel, A., Grcanac, T., Kleiman, S., Leong, J., and Sankar, S. 2004. Row diagonal parity for double disk failure correction. In Proceedings of the 3rd Usenix Conference on File and Storage Technologies. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Elerath, J. G. and Pecht, M. 2007. Enhanced reliability modeling of RAID storage systems. In International Conference on Dependable Systems and Networks (DSN'07). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. EMC Corporation. 2007. EMC CLARiiON RAID 6 technology—A detailed review. Tech. rep. White Paper H2891, EMC Corporation.Google ScholarGoogle Scholar
  10. Hafner, J. L. 2005. WEAVER Codes: Highly fault tolerant erasure codes for storage systems. In Proceedings of the 4th Usenix Conference on File and Storage Technologies (FAST'05). 211--224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hafner, J. L. 2006. HoVer erasure codes for disk arrays. In Proceedings of the International Conference on Dependable Systems and Networks (DSN'06). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hafner, J. L., Deenadhayalan, V., Belluomini, W., and Rao, K. 2008. Undetected disk errors in RAID arrays. IBM J. Res. Devel. 52, 4-5, 418--425. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hafner, J. L., Deenadhayalan, V., Rao, K. K., and Tomlin, A. 2005. Matrix methods for lost data reconstruction in erasure codes. In Proceedings of the 4th Usenix Conference on File and Storage Technologies (FAST'05). 183--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Huang, C., Chen, M., and Li, J. 2007. Pyramid codes: Flexible schemes to trade space for access efficienty in reliable data storage systems. In Proceedings of the 6th IEEE International Symposium on Network Computing Applications (NCA'07).Google ScholarGoogle Scholar
  15. Huang, C. and Xu, L. 2005. STAR: An efficient coding scheme for correcting triple storage node failures. In Proceedings of the 4th Usenix Conference on File and Storage Technologies (FAST'05). 197--210. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lancaster, P. and Tismenetsky, M. 1985. The Theory of Matrices, 2nd ed. Computer Science and Applied Mathematics. Academic Press, San Diego, CA.Google ScholarGoogle Scholar
  17. Lueth, C. 2006. RAID-DP: Network appliance implementation of RAID double parity for data protection—A high-speed implementation of RAID 6. Tech. rep. TR-3298, Network Appliance.Google ScholarGoogle Scholar
  18. Luo, J., Xu, L., and Plank, J. S. 2009. An efficient XOR-scheduling algorithm for erasure codes encoding. In Proceedings of the International Conference on Dependable Systems and Networks (DSN'09). IEEE.Google ScholarGoogle Scholar
  19. MacWilliams, F. J. and Sloane, N. J. A. 1977. The Theory of Error-Correcting Codes, Part I. North-Holland Publishing Company, Amsterdam.Google ScholarGoogle Scholar
  20. Moon, T. K. 2005. Error Correction Coding: Mathematical Methods and Algorithms. John Wiley & Sons, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Oprea, A. and Juels, A. 2010. A clean-slate look at disk scrubbing. In Proceedings of the 8th Usenix Conference on File and Storage Technologies (FAST'10). 57--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Oral, S., Wang, F., Dillow, D., Shipman, G., and Miller, R. 2010. Efficient object storage journaling in a distributed parallel file system. In Proceedings of the 8th Usenix Conference on File and Storage Technologies (FAST'10). 143--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Peterson, W. W. and Weldon, Jr., E. J. 1972. Error-Correcting Codes, 2nd Ed. The MIT Press, Cambridge, MA.Google ScholarGoogle Scholar
  24. Plank, J. S. 1997. A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems. Soft. Pract. Exper. 27, 9, 995--1012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Plank, J. S. 2008a. A new minimum density RAID-6 code with a word size of eight. In Proceedings of the 7th IEEE International Symposium on Network Computing Applications (NCA'08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Plank, J. S. 2008b. The RAID-6 Liberation codes. In Proceedings of the 6th Usenix Conference on File and Storage Technologies (FAST'08). 97--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Plank, J. S., Buchsbaum, A. L., Collins, R. L., and Thomason, M. G. 2005. Small parity-check erasure codes—Exploration and observations. In Proceedings of the International Conference on Dependable Systems and Networks (DSN'05). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Plank, J. S., Luo, J., Schuman, C. D., Xu, L., and Wilcox-O'Hearn, Z. 2009. A performance evaluation and examination of open-source erasure coding libraries for storage. In Proceedings of the 7th Usenix Conference on File and Storage Technologies (FAST'09). 253--265. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Plank, J. S., Simmerman, S., and Schuman, C. D. 2008. Jerasure: A library in C/C++ facilitating erasure coding for storage applications - Version 1.2. Tech. rep. CS-08-627, University of Tennessee. August.Google ScholarGoogle Scholar
  30. Reed, I. S. and Solomon, G. 1960. Polynomial codes over certain finite fields. J. Soc. Industr. Appl. Math. 8, 300--304.Google ScholarGoogle ScholarCross RefCross Ref
  31. Schroeder, B., Damouras, S., and Gill, P. 2010. Understanding latent sector errors and how to protect against them. In Proceedings of the 8th Usenix Conference on File and Storage Technologies (FAST'10). 71--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Storage Networking Industry Association. 2010. 2010 SNIA dictionary. http://www.snia.org/education/dictionary/.Google ScholarGoogle Scholar
  33. Storer, M. W., Greenan, K. M., Miller, E. L., and Voruganti, K. 2008. Pergamum: Replacing tape with energy efficient, reliable, disk-based archival storage. In Proceedings of the 6th Usenix Conference on File and Storage Technologies (FAST'08). 1--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Tu, T., Rendleman, C. A., Miller, P. J., Sacerdoti, F., Dror, R. O., and Shaw, D. E. 2010. Accelerating parallel analysis of scientific simulation data via Zazen. In Proceedings of the 8th Usenix Conference on File and Storage Technologies (FAST'10). 129--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. van Lint, J. H. 1982. Introduction to Coding Theory. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Wylie, J. J. and Swaminathan, R. 2007. Determining fault tolerance of XOR-based erasure codes efficiently. In Proceedings of the International Conference on Dependable Systems and Networks (DSN'07). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Xu, L., Bohossian, V., Bruck, J., and Wagner, D. 1999. Low density MDS codes and factors of complete graphs. IEEE Trans. Inf. Theory 45, 6, 1817--1826. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Xu, L. and Bruck, J. 1999. X-Code: MDS array codes with optimal encoding. IEEE Trans. Inf. Theory 45, 1, 272--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zhu, B., Li, K., and Patterson, H. 2008. Avoiding the disk bottleneck in the Data Domain deduplication file system. In Proceedings of the 6th Usenix Conference on File and Storage Technologies (FAST'08). 269--282. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Minimum density RAID-6 codes

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Storage
            ACM Transactions on Storage  Volume 6, Issue 4
            May 2011
            72 pages
            ISSN:1553-3077
            EISSN:1553-3093
            DOI:10.1145/1970338
            Issue’s Table of Contents

            Copyright © 2011 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 2 June 2011
            • Accepted: 1 September 2010
            • Revised: 1 July 2010
            • Received: 1 April 2010
            Published in tos Volume 6, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!