User guide
143MAXDATA SR1202 M1 – StorView
®
RAID User Guide
RAID 5 Sub-Array
The difficulty in realizing the maximum performance possible introduces the concept of a sub-array.
Suppose an array consisted of two RAID 5 sets, see Figure 110 ”Distribution of Data and Parity in a
RAID 5 with Five Drives”. If these are then striped, the resulting array would appear as shown below.
In this case, in order for a Full Stripe Write to be performed, it is still only necessary to cluster four
write commands together, as opposed to the seven necessary as indicated below. The array of drives
appears as two separate sub-arrays, each with it’s own rotating parity.
Figure 112. Distribution of Data and Parity in a RAID 5 with Ten Drives and Two Sub-Arrays
It can be seen that the more sub-arrays used, the more likely it is for a Full Stripe Write to occur, and
hence the higher the performance. It is recommended to use either four or five drives in a sub-array,
for best performance. On the following page the figure shows that even with 15 drives, it is still
possible to perform Full Stripe Writes, by clustering together 4 chunks of data.
Figure 113. Distribution of Data and Parity in a RAID 5 with Fifteen Drives and Three Sub-Arrays
Multiple Drive Failures
In a configuration with multiple sub-arrays, it is possible for the array to sustain multiple drive failures,
provided that there is only one failure in each sub-array.
Faster Rebuild
A rebuild operation must read data and calculate parity from all the remaining drives in the RAID set. If
multiple sub-arrays are used, this means that it is only necessary to read the data from the remaining
drives in the sub-array, not all of the drives in the array. This increases both the rebuild speed and the
speed of access to missing data, which also has to be recreated from the remaining drives.
Summary
In summary, for maximum performance using RAID 5, it is recommended to use four or five drives
in a sub-array. If there are more than five drives in a sub-array, it is better to use a smaller chunk size,
say 64K or 128K, as this will lead to more Full Stripe Writes.