RAID-2: Error Checking and Correction
RAID-2 adds error checking and correcting (ECC) checksums to RAID-1. ECC stands for either “Error
Correcting Code” or “Error Checking and Correcting.” It is a code in which each data signal
conforms to specific rules of construction so that departures from this construction in the received
signal can generally be automatically detected and corrected. RAID-2 is rarely seen these days
because most hard-disk controllers already do ECC, and this scheme offers few advantages over other
RAID configurations. Software RAID-2 is not supported by HP Linux workstations.
RAID-3: Byte-Level Striping with Parity Disk
Like RAID-0, RAID-3 does striping, but at a very small granularity. It also adds a parity disk which
helps in error detection and recovery. Parity in regards to hard disks refers to use of a parity bit,
which counts whether the number of 1 bits in some preceding data was even or odd; if a single bit is
changed in transmission, the parity bit will change, thus providing a redundancy check for data
transmission. Parity bits are a very simple example of ECCs, or Error Correcting Codes. The details of
ECC and parity are beyond the scope of this paper. The small granularity of RAID-3 leads to gains
only when record sizes are very small and drive spindles are carefully synchronized. RAID-5 is
generally preferred, and RAID-3 is very seldom used these days. Software RAID-3 is not supported by
HP Linux workstations.
RAID-4: Block-Level Striping with Parity Disk
RAID-4 attempts to add error checking and recovery to RAID-3 by doing block-level striping, as in
RAID-0, with the addition of a single parity disk. At least 3 disks are required for a RAID-4 array.
Since all operations access the parity disk, that disk can become a bottleneck. RAID-4 can work in
some operations, but RAID-5 is generally preferred where a compromise between speed and
reliability is sought. Software RAID-4 is not supported by HP Linux workstations.
RAID-5: Block-Level Striping with Distributed Parity
In order to add error checking and recovery to RAID-0 and to eliminate the parity disk bottleneck of
RAID-4, RAID-5 is implemented as a combination of data striping and parity, where data and parity
blocks are successively written across the drives of the array. RAID-5 is used to ensure data integrity;
should a single disk fail, it is possible to recover the data on the lost disk from the parity data on the
others. RAID-5 requires a minimum of 3 disks, and the effective disk space availability of n disks in a
RAID-5 array is n-1 disks. Software RAID-5 is supported by HP Linux workstations.
Figure 3. Efficiency of Software RAID-5
Read Performance Write Performance Space Efficiency Reliability
Poor to Moderate Moderate
66-75% (3 and 4-
disk)
Good
For both small and large
blocks, RAID-5 performs
poorly because parity
data is interspersed with
real data. The
performance of RAID-5
can be dramatically
improved by filesystem
tuning.
While RAID-5 eliminates
the parity-disk bottleneck
of RAID-4, block-write
performance is still
slower than raw disks.
RAID-5's efficiency is
about the same as RAID-
4, where one disk is
used to hold parity data,
except the parity data is
spread rather than
concentrated on one
drive.
Parity data is retained
for all data. RAID-5
arrays can tolerate the
failure of one disk.
6