![]() |
|
![]() |
![]() |
RAID Information - Data Recovery Example
This page provides an example of the error recovery process for RAID-3,
RAID-4 or RAID-5.
|
The example will be based on a RAID-5 7+1 array with an 8-byte segment size. This size was chosen so that the example would be of an understandable size. For this example, we will be using even parity. If the data blocks were to be XORed together, the results would be the contents of the 'P' block.
Segment
| ASCII Data
| HEX Data
|
0 |
'The quic' |
0x5468652071756963 |
1 |
'k brown ' |
0x6B2062726F776E20 |
2 |
'fox jump' |
0x666F78206A756D70 |
3 |
'ed over ' |
0x6564206F76657220 |
4 |
'the lazy' |
0x746865206C617A79 |
5 |
' dogs ba' |
0x20646F6773206261 |
6 |
'ck 01234' |
0x636B203031323334 |
P |
0x0B24756A2C61333F |
If we were to loose drive 3, we would reconstruct it by XORing together all the other data segments. The 'Result' becomes the next 'Value 1'. This gives us the following:
Value
1
| Value
2
| Result
|
(Initial Buffer)
0x0 |
(Seg. 0) 0x5468652071756963 |
0x5468652071756963 |
0x5468652071756963 |
(Seg. 1) 0x6B2062726F776E20 |
0x3f4807521e020743 |
0x3f4807521e020743 |
(Seg. 2) 0x666F78206A756D70 |
0x59277f7274776a33 |
0x59277f7274776a33 |
(Seg. 4) 0x746865206C617A79 |
0X2D4F1A521816104A |
0X2D4F1A521816104A |
(Seg. 5) 0x20646F6773206261 |
0X0D2B75356B36722B |
0X0D2B75356B36722B |
(Seg. 6) 0x636B203031323334 |
0X6E4055055A04411F |
0X6E4055055A04411F |
(Seg. P) 0x0B24756A2C61333F |
0x6564206F76657220 |
It can be seen that the result of this XORing is the same as the original value in segment 3.
In real life, the segment size will be much longer than 8 bytes. Also, the data in the various blocks that are combined to create a parity block could be from different files.
If you have any comments or suggestions, please E-mail webmaster@accs.com