HP Smart Array Controllers and basic RAID performance factors
14
Smart Array processor and RAID performance
When using any of the parity-based RAID levels, both the write caching and the XOR algorithms for those processes are
essential to delivering acceptable write performance for drive arrays.
The significant write performance penalty that occurs without write caching is one of the reasons that the Zero Memory
versions of the Smart Array controllers only support RAID 0 and RAID 1.
Write cache allows the Smart Array controller to store pending write commands issued by the OS. The Smart Array
processor then analyzes the queue of write commands to determine the most efficient write process. It does this by
employing the write coalescing and command reordering techniques discussed in the section on Smart Array write
cache.
If the Smart Array controller determines that a full stripe of data is changing—possibly due to write coalescing—it uses
a technique known as full stripe writes. RAID 5 and RAID 6 additional read operations to retrieve the current data and
parity information is not necessary. All of the information is already in the controller cache. The Smart Array controller
calculates the new parity values, and then writes out the new stripe, including the parity strip(s).
Using a larger strip size for an array decreases the number of full stripe writes that the controller accumulates, and
therefore may negatively affect write performance to a certain degree. This is because larger strips will naturally result
in larger stripes and thus lower the probability that write coalescing will accumulate a full stripe of data in the controller
cache. Larger strip sizes do tend to improve read performance.
Random write performance
Figure 10 compares the random write performance of RAID 0, RAID 5, RAID 6 and RAID 1+0 arrays (configured as one
logical drive) as the number of physical drives is increased. As predicted, the write performance of RAID 5 and RAID 6
arrays is significantly lower than that of RAID 0 because of the overhead involved with each high level write operation.
Performance does scale as the number of drives increases, although not at quite the rate for RAID 6 as for RAID 0.
For the same number drives, RAID 1+0 random write performance is about one half that of RAID 0. This is consistent with
the fact that RAID 1+0 requires two low level drive writes for each high level array write, but does not require any extra
reads or parity calculations on the part of the Smart Array controller.
For RAID 5 random write, in addition to writing the data, new parity must be calculated and written. To accomplish this
requires two disk reads, data and parity, and two disk writes, data and parity. Therefore, RAID 5 random write
performance is about 25% the rate of RAID 0.
RAID 6 requires 3 disk reads and 3 disk writes, data plus two parity drives. Therefore, RAID 6 performance is
approximately 1/6 or 16.7% as fast as RAID 0.