Thursday, December 30, 2010

Linux RAID framework

Software RAID implementations
  1. Multiple Device (MD) subsystem
  2. Device Mapper (DM)
  3. Btrfs filesystem
The main jobs for RAID

(1) RAID management tasks

(2) The exclusive-or (XOR) computations

The XOR computation can be performed on CPU
The XOR computation can be performed on disk drives

For example: Write operation to a RAID 5 disk array

1. Read "old" data from the data drive.
2. Read "old" parity data from the parity drive.
3. XOR the old data from the data drive with the old parity data from the parity drive.
4. Write the new data to the data drive.
5. XOR the new data with the parity data and write the result to the parity drive.

Hardware Solution: XOR hardware engines for parity calculations
The hardware engines typically consist of a high-speed memory buffer and a XOR calculator/sequencer.

RAID Level Comparison

GPU system on Linux

Linux Framebuffer