Intel IOMeter: DataBase
Having tested the HDDs performance in Sequential Read and Write tests, we suggest paying a bit of attention to random requests. DataBase pattern suits perfectly well for this investigation, because it always selects the address of an 8KB data block with the help of the random numbers generator. Besides, this pattern will allow us to find out how different controllers react to different writes-to-reads ratios.
So, let’ begin with the linear workload (queue=1):

To make the analysis easier we will separate the graphs for 80GB HDDs from those for 120GB HDDs.
The first diagram shows the performance of 80GB models tested:

The hard disk drive with SATA interface are evidently faster than their ATA forefather. The advantage of SATA-drives is especially great when the write requests share is bigger. No wonder, since SATA drive feature bigger cache-buffer, which makes the lazy write more efficient. Make sure you check pay attention to the performance of our SATA drive with Promise SATA 150 TX2 Plus controller in WB mode. When working with RandomWrite requests the performance of this combination grows up. And this is also no surprise to us, as we know very well already that in WB mode the drivers of Promise SATA 150 TX2 Plus controller process the requests “specifically”. As we see, the controller driver performs write requests caching (or sorting) as efficiently, as the HDD performs lazy write algorithms (in some cases, this caching is even more efficient than the HDD lazy write).

120GB HDDs demonstrate a completely different situation: ATA drive with smaller cache-buffer is very successfully competing with the SATA HDD and a SiliconImage controller. But what struck us as something really unexpected, was very uncertain performance of the ATA drive with 8MB cache-buffer. As we see, it gets worse and worse as the writes share increases.
Now let’s increase the workload (queue=16):


Under this workload the HDDs performance appeared different enough, so that we can easily distinguish between the graphs. The best one in this testing conditions is a SATA HDD combined with Promise SATA 150 TX2 Plus controller in WT mode. Only in case of Random Write the leadership goes over to the same HDD with the same controller in WB mode. The ATA hard disk drive starts very well. It runs neck and neck with the SATA drive and Promise SATA 150 TX2 Plus controller in WT mode when processing Random Reads, but as the number of writes gets bigger and bigger, the ATA drive starts falling behind the rivals. SATA drive with SiliconImage controller didn’t prove very fast in with Random Reads, but the bigger grew the writes share, the closer it approached the SATA drive and Promise SATA 150 TX2 Plus controller in WT mode.

The drives with 120GB storage capacity keep surprising us. The leader remains the same, it is an ATA drive with smaller cache-buffer, and the maximum gap between the leader and the ATA solution with 8MB cache-buffer occurs when the amount or reads and writes are equal. In other words, it happens exactly in the situation where we have expected to see the advantages of the larger cache-buffer!
So, to make the “optimization” principles of different controllers finally clear, we are going to run another set of tests with 256 requests queue depth.


Here it is, the notorious optimization. No doubt that Promise SATA 150 TX2 Plus controller in WT mode copes with requests sorting best of all. Taking this fact into account, it is quite strange that the performance of the same controller in WB mode proved so low. The performance drop by this controller is most likely to be caused by the fact that controller driver needs more time to process the request. Since the data block address in DataBase pattern is always calculated at random, the optimization, which has proven so efficient for Sequential-requests, namely packet chain command, appeared wasted and only slows down the overall commands processing. As a result, we get lower performance values...
SiliconImage controller can compete with Promise SATA 150 TX2 Plus (WT) only in the “easiest” modes, when either reads or writes are dominating. In all other cases, this controller is close to failure.
As the number of writes increases, the ATA hard disk drive lags more and more behind, which I assume is a result of smaller cache-buffer size.

For 120GB HDDs everything takes its natural course. ATA solution with Promise Ultra100 TX2 is the fastest, SATA drive with SiliconImage controller is a little behind in the middle, and the ATA drive with 8MB cache-buffer behaves very similarly to its “younger borther”.



