Beyond RAID 6 --- Efficient Error Correcting Code for Dual-Disk Corruption

Mohamad Moussa · UA Campus Repository (The University of Arizona) · 2018

An error correcting code is a technique of adding extra information to a message such that it can be recovered even when some of its parts are corrupted due to a noisy channel. The three main tasks of an error correcting code is to detect errors, locate them and finally recover their original data by finding the error values. Erasure code is a special type of an error correcting code in which the locations of the errors are given, and its only task is to correct those given errors. Replication of data is one example of an erasure code, which is very efficient, in regards of computational time, which recovers a failed drive by using one of its replica. However, the drawback of this technique is the high storage overhead. Another family of error correcting codes, called Reed-Solomon codes, is known to be very efficient in regards of the storage overhead. The drawback of using Reed-Solomon code is its high computational cost. RAID 6 system implements a Reed-Solomon code efficiently using two extra parity drives, in order to protect the given set of K data drives. RAID 6 is able to correct Z erasures (errors at known locations) and E random-errors (errors at unknown location) provided that Z+2E 0), RAID 6 loses its ability for detecting and correcting random errors (i.e., E=0), leading to data loss known as silent data corruption. In contrast, the proposed code does not experience silent data corruption unless Z>2. The aforementioned properties of our code, the relative simplicity of implementation, vastly improved data protection, and low computational complexity of the decoding algorithm, make our code a natural successor to RAID6. As this code is based on the use of quintuple parity, this justifies the name PentaRAID for the RAID technology implementing the ideas of the current paper.

Read the paper · More papers on PaperTik