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."
- Plain Text:
author J. S. Plank
title Erasure Codes for Storage Systems: A Brief Primer
journal ;login: the Usenix magazine
publisher Usenix Association
author = "J. S. Plank",
title = "Erasure Codes for Storage Systems: A Brief Primer",
journal = ";login: the Usenix magazine",
volume = "38",
number = "6",
month = "December",
year = "2013",
publisher = "Usenix Association",
where = "https://www.usenix.org/publications/login/december-2013-volume-38-number-6"