|
Advice Beginners BIOS Guide CPUs Links Mainboards Memory Network Storage Video/Sound Cards Contact Forum SiteMap Sponsors WebNews Home |
. | . |
Prices: Mainboards ABIT ASUS Chaintech Shuttle Soyo Tyan CPU Intel P4 2.4C-800 P4 2.6C-800 P4 2.8C-800 P4 3.0-800 P4 3.2-800 AMD AthlonXP XP 1700+ XP 2000+ XP 2400+ XP 2500+ XP 2700+ XP 3000+ XP 3200+ Athlon64 Athlon64 3200+ Athlon64 FX-51 Opteron Opteron 240 Opteron 242 Opteron 244 Opteron 246 Memory Corsair Crucial Kingston Mushkin OCZ |
LOSTCIRCUITS |
||
| As the Hard Disc Spins RAID II: A Matter of Parity | ||
|
(Review by MS, April 1, 2004) | ||
|
WD Raptor WD360GD |
In the first installment of this series we have covered some “lesser” forms of RAID, that is, we drew an arbitrary line to define RAID systems that either lack redundancy or else utilize duplication of data in order to add fault tolerance. As a reminder, duplication of data through mirroring or else duplexing results in a substantial overhead in the hardware used --- at least compared to the optimal solutions that can be achieved. The recipe for this “optimal” solution is a feature called parity, invented around 300 b.C. by the Greek Mathematician Euclid. Compared to any RAID Level 1 system, parity-based fault tolerance can get by with as little as ~ 50% of the hardware required by a full duplication of storage space and, in addition, provide similar performance as a RAID Level 0 setup. Certain restrictions apply.
Parity in Time
Parity was re-invented in the aftermath of WW2 ‘s efforts of encryption and de-encryption of data and the first major milestone publication was probably Claude Shannon's "Mathematical Theory of Communication“ (1947-1948 ). The take-home message of this study was that the only way to optimally utilize storage systems and warrant the best throughput is by using powerful Error Correction Mechanisms. Around the same time, Richard Hamming invented a more practice-related methodology for single bit error correction, now known as the Hamming code (we will have more details later).
In 1960, Irving Reed and Gustave Solomon discovered how to construct error correcting codes that could correct for an arbitrary number of bits or an arbitrary number of Bytes, the so-called “Reed-Solomon Algorithm”. With that many publications dealing with error correction, the first textbook on the subject was not far out either and was written by W. Wesley Peterson in 1961. At that point, error correction was still limited to a single bit. This changed with Elwyn Berlekamp’s and James Massey’s discovery of algorithms needed to build decoders for multiple error correcting codes: the so-called “Berlekamp-Massey Algorithm” (1968). It is intriguing that the above mentioned mechanisms and algorithms can be found already in Euclid’s works around 300 b.C.
An excellent, quick reference of some of this material can be found here
Parity and XOR
We already mentioned parity briefly in the header above as a means of instituting error correction but what exactly hides behind this term? Parity is a method for adding a specific descriptor of the relationship between a number of otherwise unrelated data. Usually, the method employed is the “Exclusive Or” or short XOR algorithm. The principle behind this algorithm is that the relation between any data that are equal will be described by a 0 (or no difference), whereas any difference between those data will result in an XOR value of 1. In any binary format consisting of 0s and 1s, this description suffices to indicate the value of any bit within a pair of numbers -- as long as one of the values is known the second one can be defined by the XOR value.
Input |
Output |
||
#1 |
#2 |
"OR" |
"XOR" |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
Comparison of the "OR" and the Exclusive OR (XOR) algorithms that can be used to create parity values.
next page: => Hamming Code, Cascading Parity and Level2 RAID =>
If you enjoyed reading this article and found it useful, please consider making a small donation to LostCircuits.