Overview
This lecture covers the main features, strengths, and limitations of standard RAID levels (RAID 0, 1, 2, 3, 4, 5, 6), including their mechanisms for data redundancy, performance, and fault tolerance in computer storage systems.
RAID Basics
- RAID stands for "Redundant Array of Independent (or Inexpensive) Disks" and combines multiple HDDs into one logical unit.
- Common RAID techniques include data striping (dividing data across disks), mirroring (copying data), and parity (error checking).
- RAID is for hardware defect protection but does not replace backups for complete data loss prevention.
RAID 0 (Striping)
- Data is split evenly (striped) across 2+ disks without redundancy or fault tolerance.
- Offers high read/write performance but zero data protection; losing one disk means all data is lost.
- Usable for large logical volumes or performance-critical applications.
RAID 1 (Mirroring)
- Creates exact copies of data on 2+ disks, providing redundancy but no striping or parity.
- Can survive failure of all but one drive; read speed can scale with more disks, but write speed equals the slowest disk.
- Array size is limited to the smallest drive in the set.
RAID 2 (Bit-Level Striping with Hamming Code)
- Rarely used; stripes data at the bit level and uses Hamming code for error correction.
- Requires synchronized spinning disks and is complex compared to more common parity-based RAID.
RAID 3 (Byte-Level Striping with Parity)
- Stripes data at the byte level with a dedicated parity disk for error recovery.
- Not suited for random access; works best for large sequential reads/writes (e.g., video editing).
- Requires all disks to spin synchronously.
RAID 4 (Block-Level Striping with Parity)
- Stripes data in blocks with a dedicated parity disk.
- Random reads perform well, but random writes are slowed by single parity disk bottleneck.
- Can be expanded quickly by adding zero-filled disks.
RAID 5 (Block-Level Striping with Distributed Parity)
- Data and parity are striped across all disks, avoiding single parity disk bottleneck.
- Can tolerate one disk failure; requires at least 3 disks.
- Provides balanced performance for most workloads, but small writes incur write amplification.
RAID 6 (Block-Level Striping with Double Distributed Parity)
- Similar to RAID 5 but with two distributed parity blocks, allowing survival of two disk failures.
- Requires at least 4 disks; write performance is lower due to more complex parity calculations.
- Uses various erasure codes (e.g., Reed Solomon) for parity.
Nested and Non-Standard RAID Levels
- Nested levels (e.g., RAID 10, RAID 50) combine features of two or more standard RAID types.
- Alternatives include JBOD (just a bunch of disks) and MAID (massive array of idle disks).
System Implications and Efficiency
- RAID levels vary in space efficiency, fault tolerance, and performance; refer to summary tables for specifics.
- RAID controllers can be a bottleneck, especially with fast SSDs.
Key Terms & Definitions
- Striping — Dividing data across multiple disks for speed.
- Mirroring — Duplicating data on multiple disks for redundancy.
- Parity — Error checking data that allows reconstruction of lost information.
- Fault Tolerance — Ability to continue operation when one or more disks fail.
- Write Amplification — Extra work performed during small writes, especially in RAID 5/6.
Action Items / Next Steps
- Review the RAID summary table for comparison of levels.
- Ensure backup strategies are in place even when using RAID.
- Study RAID 5 and 6 parity calculation mechanisms if further technical understanding is required.