┌───────┴───────┐
│ Disk
│ Controller
└───────┬───────┘
┌─────────────┬────────────┼────────────┬────────────┐
│ │ │ │
┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐
│ xxxxx │ │ xxxxx │ xxxxx │ xxxxx │ Parity │ Block 0
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ yyyyy │ │ yyyyy │ yyyyy │ yyyyy │ Parity │
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ │ │ │ │ │ Block n
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
Disk 1 Disk 2 Disk 3 Disk 4 Disk 5
xxxxx and yyyyy = Blocks belonging to long files
Figure 18. RAID-4 (Block Interleave Data Striping with One Parity Disk)
1.6.6.7 RAID-5 - Block Interleave Data Striping with Skewed Parity
The RAID-5 design tries to overcome all of these problems. Data is striped
across the disks to ensure maximum read performance when accessing large
files, and having the data striped in blocks improves the arrays performance in
a transaction processing environment. Parity information is stored on the array
to guard against data loss. Skewing is used to remove the bottleneck that is
created by storing all the parity information on a single drive.
┌───────┴───────┐
│ Disk
│ Controller
└───────┬───────┘
┌─────────────┬────────────┼────────────┬────────────┐
│ │ │ │
┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐
│ xxxxx │ │ xxxxx │ xxxxx │ xxxxx │ Parity │ Block 0
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ xxxxx │ │ xxxxx │ xxxxx │ Parity │ │ xxxxx
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ yyyyy │ │ yyyyy │ Parity │ │ yyyyy │ yyyyy
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ │ │ Block n
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
Disk 1 Disk 2 Disk 3 Disk 4 Disk 5
xxxxx and yyyyy = Blocks belonging to long files
Figure 19. RAID-5 (Block Interleave Data Striping with Skewed Parity)
Chapter 1. IBM PC Server Technologies 29