RAID level 5, block-interleaved distributed parity, improves on level 4 by
partitioning data and parity among all N+1 disks, instead of storing data in
Ndisks and parity in one disk. In level 5, all disks can participate in satisfying
read requests, unlike RAID level 4, where the parity disk cannot participate,
so level 5 increases the total number of requests that can be met in a given
amount of time. For each set of N logical blocks, one of the disks stores the
parity, and the other N disks store the blocks.
Figure 10.3f shows the setup. The P’s are distributed across all the disks.
For example, with an array of 5 disks, the parity block, labeled Pk, for logical
blocks 4k, 4k + 1, 4k + 2, 4k + 3 is stored in disk k mod 5; the corresponding
blocks of the other four disks store the 4 data blocks 4k to 4k+3. The following
table indicates how the first 20 blocks, numbered 0 to 19, and their parity
blocks are laid out. The pattern shown gets repeated on further blocks.
P0
48
12
16
0
P1
9
13
17
15
P2
14
18
26
10
P3
19
37
11
15
P4
Note that a parity block cannot store parity for blocks in the same disk, since
then a disk failure would result in loss of data as well as of parity, and hence
would not be recoverable. Level 5 subsumes level 4, since it offers better read
–write performance at the same cost, so level 4 is not used in practice.