Beyond RAID 6 - an Efficient Systematic Code Protecting Against Multiple Errors, Erasures, and Silent Data Corruption

We describe a replacement for RAID 6, based on a new linear, systematic code, which detects and corrects any combination of $E$ errors (unknown location) and $Z$ erasures (known location) provided that $Z+2E \leq 4$. We investigate some scenarios for error correction beyond the code's minimum distance, using list decoding. We describe a decoding algorithm with quasi-logarithmic time complexity, when parallel processing is used: $\approx O(\log N)$ where $N$ is the number of disks in the array (similar to RAID 6). By comparison, the error correcting code implemented by RAID 6 allows error detection and correction only when $(E,Z)=(1,0)$, $(0,1)$, or $(0,2)$. Hence, when in degraded mode (i.e., when $Z \geq 1$), 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 \geq 3$. 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 RAID 6. 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.