Tech Stuff - RAID x
Home > Tech Stuff > RAID x
Google
 
RAID Technologies


RAID (Redundant Array of Independent Disks) also (originally) known as Redundant Array of Iinexpensive Disks was first defined by computer scientists at Berkeley (University of California) around 1987. The scientists were studying the possibility of using two or more hard drives to appear as a single device to host systems.

There are many RAID levels defined today in order to achieve a mix of enhanced performance an increased reliability. The only exception is RAID 0, the bastard child of RAID as described sometimes. The "0" says it all, it is not redundant and even worth, it increases failure risks! RAID 0 is a straight stripe configuration with no parity information meaning that if you lose a drive from the array, you lose all the data (with 4 drives in RAID 0 configuration, you have 4 times the chance to lose your data!). The only benefit of RAID 0 is performance. With RAID 0, you have an increased read/write speed as well as a faster random access time. Using RAID 0 for performance requires to keep data backups as all drives break as they wear out.

While most original RAID systems were running on RAID 0,1 or 5, there are many RAID level defined and used today:

  • RAID 0: Data striping without data redundancy.
    Drives: 2+
    Strength: performance increase when the number of parallel hard drives.
    Weakness: Failure risk increase with the number of parallel hard drives.
  • RAID 1: Disk mirroring.
    Drives: 2+ (must grow evenly)
    Strength: Read performance is improved since either disk can be read at the same time. Write performance is the same as for single disk storage hwereas other resiliency solution tend to slow write operations.
    Weakness: High resiliency cost because all data has to be duplicated and twice the storage capacity is required.
  • RAID 2: No practical use in disk array technologies.
    Uses striping across disks with disks storing error checking and correcting (ECC) information. RAID 3 provide the same capability at a lower cost.
  • RAID 3: Byte-level data striping with dedicated parity drive.
    Uses striping and dedicates one drive to storing parity information. Data recovery is accomplished by calculating the exclusive OR (XOR) of the information recorded on the other drives. I have not seen any system using RAID 3!
    Drives: 3+
    Strength: Excellent performance for large, sequential data requests.
    Weakness: Since an I/O operation addresses all drives at the same time, RAID-3 cannot overlap I/O.
  • RAID 4: Block-level data striping with dedicated parity drive.
    Uses large stripes so you can read records from any single drive. This allows to take advantage of overlapped I/O for read operations. Since all write operations have to update the parity drive, no I/O overlapping is possible. I have not seen any system using RAID 4!
    Drives: 3+
    Strength: Data striping offers multiple simultaneous read requests.
    Weakness: Write requests suffer from the same single parity-drive bottleneck as RAID 3 and RAID 5.
  • RAID 5: Block-level data striping with distributed parity.
    This type includes a rotating parity array addressing write limitations of RAID 3 & 4. RAID-5 stores parity information used to reconstruct data in case of loss. It's best for multi-user systems in which performance is not critical or which do few write operations.
    Drives: 3+ (5 often recommended)
    Strength: All read and write operations can be overlapped and provides one of the best cost/performance ratio for transaction-oriented networks.
    Weakness: Write performance is slower than RAID 0 or RAID 1.
  • RAID 6: Block-level data striping with dual distributed parity.
    Similar to RAID-5 but includes a second parity scheme that is distributed across different drives to offer high fault-tolerance.
    Drives: 4+
    Strength: Even more resilient than RAID 5 allowing 2 drives to fail without loosing data.
    Weakness: Expensive and slow rebuild after failure due to the dual parity.
  • RAID 7: Asynchronous, cached striping with dedicated parity.
    Non-Industry standard technology and rarely found on the market (Storage Computer Corporation trademark). RAID 7 is based on concepts used in RAID 3 & 4, but greatly enhanced to address some of the limitations. Uses cache arranged into multiple levels, and a specialized real-time processor for managing the array asynchronously.
  • RAID 10 (1+0 or 0+1): Mirroring and striping without parity.
    Combining RAID 0 & 1 (often referred to as RAID 10) to offer higher performance than RAID 1 at much higher cost. In RAID 0+1, data is organized as stripes across multiple disks, and then the striped disk sets are mirrored. In RAID 1+0, the data is mirrored and the mirrors are striped.
    Drives: 4+ (must grow evenly)
    Strength: One of the best performance accross the board (better performance than that comes at a higher cost).
    Weakness: High cost and low storage efficiency.
  • RAID 50 (5+0): Block striping with distributed parity combined with block striping.
    RAID 0+5 is a RAID 5 array comprised of a number of striped RAID 0 arrays and is less commonly seen than RAID 5+0, which is a RAID 0 array striped across RAID 5 elements. Improves RAID 5 performance without reducing data protection.
    Drives: 6+ (Grow in multiples of the primary RAID technology used)
    Strength: Very good performance and resiliency (the number of simultaneous drive failures depend on the implementation).
    Weakness: Complex and expensive to implement.
  • RAID 53 (5+3 or 0+3 or 3+0): Byte striping with dedicated parity combined with block striping.
    It should be named RAID 0+3 (03) or RAID 3+0 (30). Instead, the number 53 is often used in place of 03 and worse, 53 is often actually implemented as 30, not 03. This type uses striping (RAID 0 style) for RAID 3's virtual disk blocks. It offers higher performance than RAID 3 but at much higher cost.
    Drives: 6+ (Grow in multiples of the primary RAID technology used)
    Strength: Very good performance and resiliency with better storage efficiency than RAID 10.
    Weakness: Complex and expensive to implement.
  • RAID 51 (5+1 or 1+5): Mirroring/Duplexing combined with block striping with distributed parity.
    RAID 1+5 or 5+1 is for the truly paranoid. The only configurations using both mirroring and parity designed to maximize fault tolerance and availability at the expense of just about everything else. A RAID 1+5 array is a striped set with parity using multiple mirrored pairs as components and a RAID 5+1 is created by mirroring entire RAID 5 arrays. An 8-drive RAID 1+5 array can tolerate the failure of any three drives simultaneously and an 8-drive RAID 5+1 array can also handle the failure of three to as many as five drives, as long as at least one of the mirrored RAID 5 sets has no more than one failure!
    Drives: 6+ (must grow evenly)
    Strength: Best resiliency possible.
    Weakness: Complex and expensive to implement for a low storage efficiency.
  • RAID S:also known as Parity RAID is an alternate, proprietary method for striped parity RAID from EMC Symmetrix that is no longer in use on current equipment. Appears to be similar to RAID 5 with performance enhancements using technologies such as high-speed disk cache on the disk array.

Based on my recent NAS (Network Area Storage) purchase experience, I discovered a new kind of "hybrid" RAID technology called X-RAID from Infrant. X-RAID is Infrant Technologies patent-pending Expandable RAID technology, allowing users to add drives at their leisure into their NAS arrays. You can start with one disk with no resiliency and add a second disk later to gain disk failure protection. Add a third to automatically double the capacity while maintaining protection. Finally, add a fourth disk to triple the protected capacity, all without reconfiguring the system and without having to shuffle data in and out of the device. As described for their ReadyNAS product line:

  • 1 Drive = NAS
  • 2 Drives = NAS + RAID Protection
  • 3 Drives = NAS + RAID Protection + Double Capacity
  • 4 Drives = NAS + RAID Protection + Triple Capacity

Not only that, you can replace all four disks (one by one) to increase capacity, X-RAID do all the RAID level and data migration in the background so you still see just one volume with all your data intact, just with more free space.

There are 3 type of array implementations:

  • Software-based arrays
    - Low price.
    - Only requires a standard controller.
  • Bus-based array adapters/controllers
    - Requires a hardware controller to be hosted.
    - More robust fault-tolerant features.
    - Increased performance versus software-based RAID.
  • Subsystem-based external array controllers
    - OS independent.
    - Dedicated high performance systems including large amount of cache.
    - Can support large amount of simultaneous host operations.
    - Super high-capacity storage systems for high-end servers.

There are many critics regarding software based RAID controllers but it is important to note that all RAID code is based on software. The difference among the solutions is where that software code is executed: on the host CPU (software-based arrays) or off-loaded to an on-board processor (bus-based and external array controllers). Software-based arrays will be performing as well/bad as the host server.



 

© Copyright 2001-2009