What is Parity In a RAID Array?
It’s essentially a glorified system of odds and evens created when data is first written to the array which can later be used to check data consistency and determine what data was lost in the event of a disk failure.
RAID arrays write data in stripes or blocks. These blocks of binary data are ultimately made up of ones and zeros. If you put all the data into columns and then count across them you come up with either an odd number of ones or an even number of ones. By simply adding a 1 for an even number of ones or a 0 for odd number of them you can create a pretty basic block of parity data. And in older RAID systems, that’s all it was.
The actual system of RAID parity today is somewhat more complex, especially when dealing with RAID 6 which has more than one parity block. But this describes the basic principal of how it works. In RAID 5 and 6 the parity data is actually dispersed (floating) across all of the disks in the array, alternating it to a different disk every so many bytes of data (generally determined by the block size of the array). This adjustment was made after it was discovered that fixed parity disks in RAID 3 and 4 arrays had a much higher failure rate due to increased accessing from the system.
How Parity Data is Used to Rebuild a Broken RAID Array
As the image here illustrates, by counting the ones and zeros and calculating a simple odd/even equation you can determine what data should have been there if any drive is missing (failed) from the storage array. However if two drives are lost, there is no way to rebuild the data in this example.
In a RAID 6 configuration which has twice as much parity data, two drives in the system can fail and the missing data can still be determined. However the process is much more math intensive than a simple odd/even equation. This is the reason why RAID 6 is occasionally slower than RAID 10 on older hardware which struggled to crunch the numbers. Fortunately, most newer or high end RAID controller cards can perform at almost the same data rate during normal usage. Rebuilding the array may still take much longer if you have failed drives to replace though.
My Array is Broken and it Can’t Rebuild?
Sometimes corrupted data can affect all drives in an array. Despite the presence of the parity data, the array have become broken where it can’t rebuild. Sometimes this is due to having more drives offline than the array can handle. Other times it may simply be data corruption where the existing data on the drives, and the data that should be there (according to the parity data) are different. This is often caused by sudden power interruptions while data is being written to the array. Yet another reason why a UPS is a must for servers, and why some RAID controller cards come with a built in battery.
So How Do I Get My RAID Data Back?
Unless you have extensive experience in data recovery, there isn’t much you can do yourself. Even many data recovery professionals haven’t mastered the art of rebuilding broken arrays. Fortunately there are professionals right here in Rhode Island who have the experience and know how to recover data from nearly any failed RAID storage array. Regardless of size, number of disks, configuration, operating system, or anything else.
Visit our contact page to see what we can do to help get your data back.