What is ECC, FEC and Erasure Code ?

An Error Correction Code (ECC) is an algorithm for expressing a sequence of data such that any errors which are introduced can be detected and corrected (within certain limitations) based on the remaining data. It is widely used in data protection, communication and storage.
Forward Error Correction (FEC) is a technique used for controlling errors in data transmission over unreliable or noisy communication channels. In addition to the data, the sender transmits the redundancy to allows the receiver to detect a limited number of errors that may occur anywhere in the message, and often to correct these errors without re-transmission. FEC improve the channel reliability, but at the cost of a fixed, higher forward channel bandwidth. FEC is therefore applied in situations where re-transmissions are costly or impossible.
an Easure Code is a ECC under the assumption of bit erasures (rather than bit errors).


What is Optimal ECC ? What is MDS ?

Optimal ECC have the property that any k' surviving blocks out of the n codeword symbols are sufficient to recover the original data k as long as the k' is not less than k. Optimal ECC is maximum distance separable code (MDS). Reed–Solomon codes is the most widely used general purpose MDS with many real world applications.


Why is ECC crucial to Modern Storage System?

Suppose we want to store a large piece of data on a fault-tolerant storage system that contain many disk drives. In this case, the loss of any single drive should not result in data loss. The only way to achieve fault tolerance is through redundancy, which refers to storing extra information about the data across different drives to allow for its complete recovery in the event of a failure. The more redundancy we add, the greater the fault tolerance. However, the cost of redundancy is increased storage overhead. Every storage system needs to make this tradeoff between availability and overhead. Erasure coding is the smart algorithm that works by storing redundant pieces of information in a way that allows recovery from complete storage device failures.
Smart ECC can achieve much better reliability with much fewer storage overhead than the traditional replication.


How does FEC improve Data Communications??

As bandwidth demands increase and the tolerance for errors and latency decreases, data-communication systems need expand available bandwidth and improve the quality of transmission. forward error correction (FEC) improves data communication over noisy channels. by adding redundant information to a data stream, FEC enables a receiver to identify and correct errors without the need for retransmission.