HP Smart Array Controllers and basic RAID performance factors

4
workloads. It uses read cache in a predictive capacity to pre-fetch data when it detects sequential workloads. It identifies
the pattern of the read commands, and then reads ahead on the drives. After reading the data, the Smart Array
controller puts that data into the cache, so it is available if the upcoming read commands call for it.
Write Cache
Through a process known as “posted writesor “write-back caching,” Smart Array controllers use the write cache as an
output buffer. Applications post write commands to the Smart array controller, and then continue without waiting for
completion of the write operation to the drive. The application sees the write as completed in a matter of microseconds
instead of milliseconds. In high workload environments, the write cache typically fills up and remains full most of the
time.
The Smart array controller writes the data to the drive as it works through the list of write commands in its write cache.
It analyzes the pending write commands, and then determines how to handle them most efficiently. Two techniques for
improving efficiency are:
Write coalescing: The controller combines small writes of adjacent logical blocks into a single, larger write.
Command reordering: The controller rearranges the execution order of the writes in the cache to reduce overall drive
latency.
When the Smart Array controller has a large cache memory size, it can coalesce and reorder commands efficiently, which
improves overall array performance.
Zero Memory RAID
Smart Array controllers can ship without cache as part of their standard configuration (known as Zero Memory RAID).
Zero Memory RAID provides entry-level RAID functionality.
Zero Memory RAID affects more than performance. It also limits the functionality that the controller can support. For
example, the Smart Array controller with cache uses a significant amount of the cache to execute advanced RAID
functions. These functions include performing XOR operations to calculate parity for RAID 5 and RAID 6 logical drives.
Without cache, the controller cannot perform these operations and therefore cannot support those RAID levels. As a
result, Zero Memory RAID supports RAID 0 (no fault tolerance), RAID 1, and a limited number of physical drives in an
array.
Overall effect of cache on Smart Array performance
Using cache, particularly write cache, improves performance significantly. Read cache may provide modest performance
gains for read operations; however, write cache is crucial to improving the write performance of drive arrays. This is
because advanced RAID levels may require up to six individual read and write operations to physical drives in order to
complete a single array-level “write” to a logical drive.
Figures 2 through 4 show how various cache levels affect the relative performance as follows:
Figure 2 shows 4 KiB Random Write
Figure 3 shows a mixture of 67% random read and 33% random write, OLTP
Figure 4 shows the cache impact on RAID 5 sequential write
The configuration for this testing included an HP ProLiant GL380p Gen8 Server with an HP Smart Array P421 Controller
with various RAID 5 logical drive configurations using a strip size of 256 KB.
Each chart value is the maximum value from a test measuring across queues of 1 to 256. RAID 5 measurements with
more than 14 drives is for illustrative purposes only. We do not recommend RAID 5 arrays larger than 14 drives
(depending on tolerance for data loss and type of drive, 14 drives may be too many).