Erasure Codes for Storage Systems: A Brief Primer

James S. Plank, EECS Department, University of Tennessee.

;login: the Usenix Magazine, December 2013, Volume 38, Number 6. Usenix Association.

Here is a link to the article on Usenix's web site.

PDF of the paper.


There is a typo on page 46, where it says "This is important because there are techniques to multiply 128- and 256-bit vectors of bytes by two in GF(28) with a small number of SSE/AVX instructions." The "GF(28)" should be "GF(28)." Thanks to Ethan Miller for pointing it out.


Storage systems have grown to the point where failures are inevitable, and those who design systems must plan ahead so that precious data is not lost when failures occur. The core technology for protecting data from failures is erasure coding, which has a rich 50+ year history stemming communication systems, and as such, can be confusing to the storage systems community. In this article, I present a primer on erasure coding as it applies to storage systems, and I summarize some recent research on erasure coding.
A quote from Editor Rik Farrow about the article: "James Plank has written a survey of erasure codes for storage systems. Most of us are at least somewhat familiar with RAID, a system that in most configurations relies on erasure coding to create a more durable storage system. Jim has presented many papers about erasure coding at FAST workshops, and does a great job in this article of explaining the different ways erasure coding works, and how to measure the effectiveness of erasure coding. Although you might think this is a topic that you don't need to understand, you will understand both erasure coding and RAID much better if you do read his article."

Citation Information