[comp.arch] Info on RAID drives

gsh7w@astsun.astro.Virginia.EDU (Greg Hennessy) (06/06/91)

I have been seeing references to RAID drives, which I understand to be
arrays of SCSI (or similar) drives arranged together to improve I/O
performance by having two or more drives reading or writing the data
at the same time (striping). The most recent Byte has a blurb about
NCR about to release a chip set that allows RAID-1, RAID-3, and
RAID-5. The blurb implied that RAID-1 was simple disk mirroring. Can
anyone explain what the other levels are? How much of an increase on
I/O bandwidth can be expected?

--
-Greg Hennessy, University of Virginia
 USPS Mail:     Astronomy Department, Charlottesville, VA 22903-2475 USA
 Internet:      gsh7w@virginia.edu  
 UUCP:		...!uunet!virginia!gsh7w

jensen@bongo.cs.uiuc.edu (David Jensen) (06/07/91)

> Can anyone explain what the other levels are?

This will be brief - I pulled this from the Sept 1988 ACM SIGMOD Conf on 
the Management of Data proceedings.  

RAID 1 - Mirrored Disks - Data is duplicated on another set of disks. 
RAID 2 - Hamming Code for ECC - An extra set of disks contains the check 
         code for the data stored (striped) on a group of disks. 
RAID 3 - Single Check Disk Per Group - Only record parity on a check disk.
         The disk controller can identify which disk fails instead of using
         the hamming code. 
RAID 4 - Independent Reads/Writes - Like RAID-3 except interleave data between
         disks at the sector rather than at the bit level. 
RAID 5 - No Single Check Disk - Distribute data and check info across all --
         disks -- including the check disk. 

> How much of an increase on I/O bandwidth can be expected?

Ideally the bandwidth scales with the number of disks.   The first prototype
disk array built by the RAID group at Berkeley uncovered many bottlenecks 
in its implementation.   The most serious was the host memory system contention 
which limited the bandwith to only 2.3 MBytes/sec.  (This RAID array had 
28 Wren IV Disks on 7 SCSI strings).   However, for small random operations, 
nearly 300 I/O's per second were achieved (not too bad!).