1.6.6.4 RAID-2 - Bit Interleave Data Striping with Hamming Code
This type of array design is another form of data striping: it spreads the data
across the disks one bit or one byte at a time in parallel. This is called bit (or
byte) interleaving.
Thus, if there were five disks in the array, a sector on the first drive will contain
bits 0 and 5, and so on of the data block; the same sector of the second drive
will contain bits 1 and 6, and so on as shown in Figure 16.
RAID-2 improves on the 50% disk overhead in RAID-1 but still provides
redundancy by using the Hamming code. This is the same algorithm used in
ECC memory. The check bits can be generated on a nibble (4 bits), a byte (8
bits), a half word (16 bits) or a word (32 bits) basis but the technique works most
efficiently with 32-bit words. Just like with ECC, it takes 7 check bits to
implement the Hamming code on 32 bits of data.
Generating check bits by byte is probably the process used most frequently. For
example, if data were grouped into bytes, 11 drives in total would be required, 8
for data and 3 for the check bits. An 8-3 configuration reduces the overhead to
27%.
Note: For clarity, the Hamming Code drives are not shown in Figure 16.
An array of this design will perform optimally when large data transfers are
being performed. The host will see the array as one logical drive. The data
transfer rate, however, will be the product of the number of drives in the array
and the transfer rate of the individual drives.
This design is unable to handle multiple, simultaneous small requests for data,
unlike the previous design; so, it is unlikely to satisfy the requirements for a
transaction processing system that needs a high transaction rate.
│
┌───────┴───────┐
│ Disk │
│ Controller │
└───────┬───────┘
│
│
┌─────────────┬────────────┼────────────┬────────────┐
│ │ │ │ │
┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐
│ Bit 0 │ │ Bit 1 │ │ Bit 2 │ │ Bit 3 │ │ Bit 4 │
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ Bit 5 │ │ Bit 6 │ │ Bit 7 │ │ Bit 8 │ │ Bit 9 │
├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤ ├──────────┤
│ Bit 10 │ │ Bit 11 │ │ Bit 12 │ │ Bit 13 │ │ Bit 14 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
Disk 1 Disk 2 Disk 3 Disk 4 Disk 5
Figure 16. RAID-2 (Bit Interleave Data Striping with Hamming Code)
Chapter 1. IBM PC Server Technologies 27