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
Poor to Moderate
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.
Write Performance
Moderate
While RAID-5 eliminates
the parity-disk bottleneck
of RAID-4, block-write
performance is still
slower than raw disks.
Space Efficiency
66-75% (3 and 4-
disk)
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.
Reliability
Good
Parity data is retained
for all data. RAID-5
arrays can tolerate the
failure of one disk.
6