[ The PC Guide | Systems and Components Reference Guide | Hard Disk Drives | Hard Disk Performance, Quality and Reliability | Redundant Arrays of Inexpensive Disks (RAID) | RAID Levels | Single RAID Levels ] RAID Level 2 Common Name(s): RAID 2. Technique(s) Used: Bit-level striping with Hamming code ECC. Description: Level 2 is the "black sheep" of the RAID family, because it is the only RAID level that does not use one or more of the "standard" techniques of mirroring, striping and/or parity. RAID 2 uses something similar to striping with parity, but not the same as what is used by RAID levels 3 to 7. It is implemented by splitting data at the bit level and spreading it over a number of data disks and a number of redundancy disks. The redundant bits are calculated using Hamming codes, a form of error correcting code (ECC). Each time something is to be written to the array these codes are calculated and written along side the data to dedicated ECC disks; when the data is read back these ECC codes are read as well to confirm that no errors have occurred since the data was written. If a single-bit error occurs, it can be corrected "on the fly". If this sounds similar to the way that ECC is used within hard disks today, that's for a good reason: it's pretty much exactly the same. It's also the same concept used for ECC protection of system memory. Level 2 is the only RAID level of the ones defined by the original Berkeley document that is not used today, for a variety of reasons. It is expensive and often requires many drives--see below for some surprisingly large numbers. The controller required was complex, specialized and expensive. The performance of RAID 2 is also rather substandard in transactional environments due to the bit-level striping. But most of all, level 2 was obviated by the use of ECC within a hard disk; essentially, much of what RAID 2 provides you now get for "free" within each hard disk, with other RAID levels providing protection above and beyond ECC. Due to its cost and complexity, level 2 never really "caught on". Therefore, much of the information below is based upon theoretical analysis, not empirical evidence. Controller Requirements: Specialized controller hardware required. Hard Disk Requirements: Depends on exact implementation, but a typical setup required 10 data disks and 4 ECC disks for a total of 14, or 32 data disks and 7 ECC disks for a total of 39! The disks were spindle-synchronized to run in tandem. Array Capacity: Depends on exact implementation but would be rather large if built today using modern drives. Storage Efficiency: Depends on the number of data and ECC disks; for the 10+4 configuration, about 71%; for the 32+7 setup, about 82%. Fault Tolerance: Only fair; for all the redundant drives included, you don't get much tolerance: only one drive can fail in this setup and be recoverable "on the fly". Availability: Very good, due to "on the fly" error correction. Degradation and Rebuilding: In theory, there would be little degradation due to failure of a single drive. Random Read Performance: Fair. Bit-level striping makes multiple accesses impossible. Random Write Performance: Poor, due to bit-level striping and ECC calculation overhead. Sequential Read Performance: Very good, due to parallelism of many drives. Sequential Write Performance: Fair to good. Cost: Very expensive. Special Considerations: Not used in modern systems. Recommended Uses: Not used in modern systems.
|