What is Erasure Coding?

erasure-coding

Erasure coding is an error correction technology that employs algorithmic “codes” to calculate parity data. Erasure coding mitigates the potential of data “erasure” (e.g., loss in transit, or loss at rest). This provides data resiliency in a manner that is more efficient than mirroring.

Erasure coding generally takes place in software above the hardware storage device layer. Erasure coding is suitable for large-scale, distributed storage systems that require a configurable balance between storage efficiency, performance, and rebuild speed.

Erasure coding is often used

To improve storage resiliency (e.g., spanning multiple storage devices, file systems, hosts)
To increase storage utilization on large systems (e.g., where mirroring would be unfeasible and undesirable)
For highly-configurable storage efficiency and recovery performance (e.g., match the erasure coding algorithm to the error correction requirements of the workload)

Simple erasure coding algorithms are used for RAID parity calculations (e.g., RAID 5 and RAID 6), where a storage array must have some ability to self-heal in place.

Modern erasure coding algorithms provide highly-configurable and scalable balances between available capacity, performance, redundancy, integrity validation, and rebuild time.

Erasure coding is often implemented using Reed-Solomon error correction algorithms.

Learn more about fundamental storage networking topics:

Physical Storage