Back Next
RAID
  Redundant Array of Independent (Inexpensive) Disks

  Very large disks are (were) exponentially expensive.

    Small disks have become very cheap.

    RAID provides the circuitry and protocols to allow a set of small disks 
    to appear as a single large disk.

  Single large disk limited in throughput.

    Array of disks can be read in parallel.

  Interface support 
    RAID historically implemented using SCSI architecture because of its
      ability to control more than 2 drives.

    Parallel ATA could only access 2 drives on an interface and was limited
      to RAID 0 and 1

    Serial ATA (SATA) controllers provide an independent point to point interface
      to each drive and can implement each of the major RAIDs (0-6)

      SATA controller in AHCI mode can interface with 32 drives.

  Data is spread across the disks to allow parallel access.

  Data can also be duplicated on different disk or more advanced error
    correction implemented to provide "live" backup.

  RAID actually increases the chance experiencing a disk failure but 
    failure not fatal if caught in time.

   * MTBF (mean time between failure) 
      In modern drives is 100K-1M hours between fails.  (11 and 110 years)

  Using several disks to simulate is single large disk has both advantages
    and costs.
   As a result, there are several versions or levels of RAID.

  Requires various levels of software/OS support for use.

  Software vs. hardware implementation.
  https:/backdrift.org/hardware-vs-software-raid-in-the-real-world-2

    Hardware - BIOS and/or custom drive controller.
      Faster, easier to implement.

      Tends to be proprietary. 

    Software - OS support and additional load on CPU  
      More flexible, cheaper, easier to work with different
       sized drives (not all of drive RAID).

 
  RAID levels other than 0 and 1 require a controller that can address
    more that 2 drives.
     SCSI or the newer SATA.

  ATA-ATAPI - standard disk bus/interface. Older versions provide two bus
    channels which supported 2 drives per channel, usually one drive was CD-ROM.
    * RAID 0 or 1

  ATA-ATAPI 7 - serial ATA requires individual connections between controller
    and drive and high end controllers can handle 16 drives. Also support
    some NCQ, Native command queuing - technology to optimize drive access. 
   
  SCSI - small computer systems interface - current version can support up
    to 15 drives and has a control language more advanced than NCQ.