Appendix A: Optimizing RAID 5 Write Performance
To get the highest performance from this system, it is necessary to have a number of stripes being written in parallel. As the array expands, with more and more drives, the number of commands (and amount of sequential data) necessary to do this increases.
P | C56 | C57 | C58 | C59 | C60 | C61 | C62 | Stripe 8 |
|
|
|
|
|
|
|
|
|
C49 | C50 | C51 | C52 | C53 | C54 | C55 | P | Stripe 7 |
|
|
|
|
|
|
|
|
|
C42 | C43 | C44 | C45 | C46 | C47 | P | C48 | Stripe 6 |
|
|
|
|
|
|
|
|
|
C35 | C36 | C37 | C38 | C39 | P | C61 | C62 | Stripe 5 |
|
|
|
|
|
|
|
|
|
C28 | C29 | C30 | C31 | P | C32 | C33 | C34 | Stripe 4 |
|
|
|
|
|
|
|
|
|
C21 | C22 | C23 | P | C24 | C25 | C26 | C27 | Stripe 3 |
|
|
|
|
|
|
|
|
|
C14 | C15 | P | C16 | C17 | C18 | C19 | C20 | Stripe 2 |
|
|
|
|
|
|
|
|
|
C7 | P | C8 | C9 | C10 | C11 | C12 | C13 | Stripe 1 |
|
|
|
|
|
|
|
|
|
P | C0 | C1 | C2 | C3 | C4 | C5 | C6 | Stripe 0 |
|
|
|
|
|
|
|
|
|
In this table we can see that seven chunks of sequential data are necessary to fill a stripe. To have multiple commands active for all hard drives requires more data than with five drives. As can be seen, this number will increase as the number of drives increases. If a large number of drives are used, it can get difficult to achieve maximum performance, because it becomes more difficult to cluster a large number of commands to achieve a Full Stripe Write.
Using RAID 5
The difficulty in realizing the maximum performance possible introduces the concept of a
230 | www.gateway.com |