<%BANNER[top_768x90]%>

<%BANNER[banner_468x60_h]%>

Ultra320 SCSI Interface: Highs and Lows. Part II

Do wee need Ultra320 SCSI interface that much? In this article we investigated the performance of an Ultra320 SCSI HDD with Adaptec 39320D controller with different driver versions. We also dwell upon the bandwidth advantages of Ultra160 and Ultra320 Adaptec controller cards.

by Nikita Nikolaichev
04/06/2003 | 09:44 PM

Soon after we posted the Seagate Cheetah 15K.3 HDD Review on our site, Adaptec released a new version of its driver for the 39320D controller. We had had some misgivings about the previous, ver.1.0.000.000 driver since our first review of a U320 hard disk drives (see our article called Seagate Cheetah X15 36LP U320 HDD Review: Ready for Ultra320 SCSI?), so we were glad to welcome the new version.

<%BANNER[article]%>

As you are going to see, the new driver makes the hard disk drive behave somewhat differently.

The second thing we would like to discuss in this article is the use of several drives on one channel. Half a year ago we wrote (see our article called Seagate Cheetah X15 36LP U320 HDD Review: Ready for Ultra320 SCSI?):

A not very new SCSI HDD, Seagate Cheetah X15 36LP, can read a 60MB/sec data stream and three drives like that connected to one SCSI channel have not enough interface bandwidth (Ultra160 features 160MB/sec throughput) to work at their utmost of their power (3*60=180). And theoretically this interface allows using up to 15 HDDs connected to a single cable.
Moreover, as the next generation of SCSI HDDs, which is about to appear, will raise the data density level (and, accordingly, the linear read speed), it turns out that the Ultra160 interface is becoming more of a bottleneck in the disk subsystem.

To prove once again our point of view, we tested Ultra160 and Ultra320 controllers processing streaming read requests.

Testbed and Methods

At first, we will examine the performance difference shown by Seagate Cheetah 15K.3 connected to Adaptec 39320 controller with the new drivers. We will do it in FileServer and WebServer patterns.

HDD benchmarks were run on the following testbed:

In the second part of the review, we will see the dependence of read speed shown by four Cheetah 15K.3 drives on the type of the SCSI controller when working with data blocks of different sizes. As we have expected the data transfer rate from the HDDs to exceed 133MB/s, we used a somewhat more “advanced” platform:

And no 33MHz PCI here!

The four Seagate Cheetah 15K.3 were connected to Adaptec 29160N and 39320D controllers via one channel. In order to ensure that the workload got distributed evenly among the drives in the bunch, we created four “workers” in IOMeter with identical tasks. Every worker was sending requests to its own drive, thus simulating work of a “real” application. We started all the workers up at the same time and measured their total data transfer speed from all the drives through the controller into the RAM.

The controllers were used with the following driver versions:

In our tests we used Seagate Cheetah 15K.3 HDDs with “0002” firmware.


Performance

So, let’s first check the results shown by the drive in FileServer and WebServer patterns:

When we converted the table into a diagram (the FileServer results will be enough), the difference jumped into our eyes right away:

Note how greatly Seagate Cheetah 15K.3/320 changed with 1.1 drivers! The HDD performed equally fast with both U320 and U160 controllers in case driver version 1.0 was used. But as soona s we installed driver version 1.1 the drive started running absolutely differently! With 1.1 driver we got much higher performance at 64 requests than with 1.0 driver, but at 256 requests the performance of the drive with the newer software version got noticeably lower, on the contrary!

We should admit that these results set us aback at first… :)

But the saying goes: “if nothing helps, read the manual!” Yeah, that’s what we did. The Readme file included with the driver told us about a registry key where you can control some controller parameters.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\adpu320\Parameters\Device\

When we compared the content of this registry section for both driver versions for Adaptec 39320D controller, we found a difference:

Adaptec 39320D v.1.0

Adaptec 39320D v.1.1

The difference lies in the value of MAXTAGS parameter. What is it for? We again refer to that Readme.txt:

So, this parameter sets the maximum number of requests the controller can send to the hard drive without waiting for the accomplishment of the previous request. The firmware of the hard drive can rearrange the requests according to its algorithms. As you understand, the request queue depth directly affects the hard drive performance…

The remaining two parameters are not so interesting (as they remained unchanged), but anyway let’s find out what they do:

This parameter is set to “65” for both driver versions, which specifies the maximum data block transferred by a single command as 256KB.


So, we have found the difference between 1.0 and 1.1 drivers. Let’s see whether this registry key is the main cause of the difference in Seagate Cheetah 15K.3 performance. In the following table the columns “U320 v.1.1-64” and “U320 v.1.1-256” contain the results shown by the HDD with the 1.1 driver and with MAXTAGS = 64 and 256, respectively. We also included into the table the results of the drive with Tekram DC-390U4W controller (LSI 1030 chip).

Well, we see that the “corrected” 1.1 driver (with MAXTAGS = 64) produces the same results as the 1.0 driver. We really wonder if the value of one registry key is the only difference between the two driver versions.

It is also interesting that the MAXTAGS = 256 setting doesn’t practically affect the performance (the performance even dropped a little under high workloads).

So, we have proven the influence of the MAXTAGS parameter on HDD performance as well as uncovered the “mystery” of the 1.1 driver.

Basing on the results obtained, we calculated our standard performance ratings:

You may think the 1.1 driver lets Cheetah down. Is it really so? The 256 requests workload is possible, but quite unlikely. If the controller amasses such a long requests queue, it means the disk subsystem of the computer performs the tasks it was not intended for…

We include this request queue depth (256 outstanding requests) in order to estimate the quality of caching algorithms of the HDD and controller, but it’s time we gave it up when calculating the ratings. At the same time, we will have to stick to it to retain compatibility until next-generation HDD and controller benchmarking methods are specified.

That’s why we think the 1.1 driver for Adaptec 39320D is not a bad thing at all. It helps the hard disk drive to perform faster under the 64 requests workload, which is likely to occur in real tasks.

Now we are going to check the ability of SCSI controllers to pump the data from four Cheetah 15K.3 drives simultaneously. As we remember, each Cheetah 15K.3 can give out an over 70MB/s data stream, so the controllers will have to show their best :).

As PCI bus bandwidth might not be enough, we plugged the controllers into a PCI-X/100MHz slot of Intel SE7501BR2 mainboard.

Let’s have a look at a diagram, which should be more illustrative:

We see no great difference in the performance of a single drive with U160 and U320 controllers when the data chunk is big. Both controllers can manage the 70MB/s stream well. But the dual-disk configuration shows some advantage of the U320 controller over the U160. An interesting thing: U320 outperforms its rival when processing small data blocks! That’s where the higher bandwidth of U320 interface proves useful…

As we keep increasing the number of drives…Wait, and where are the performance graphs of three- and four-disk configurations on the U160 controller? Calm down, they hide behind the graph of the dual-disk system on the U160!

Here we are… It turns out two Seagate Cheetah 15K.3 drives can use up the entire bandwidth of the Ultra160 SCSI interface. We can’t get any more speed growth by just adding more drives to the system. Meanwhile, the U320 controller allows doing this.

The U320 still has some problems with the four-disk system, though. While dual- and three-disk configurations were, respectively, twice and three times as fast as the single hard disk drive, the four-disk system scales up less efficiently. Well, the controller speed has its limit, too…

Conclusion

The experiments we have carried out today show that modern U320 SCSI HDDs work very well with U320 controllers. It’s hardly reasonable to buy a U320 controller to use it with only one SCSI drive. But if you process streaming data and use several hard drives, 39320D controller may be very helpful.

Moreover, Adaptec released a BIOS and drivers set for 39320D, which helps to convert this controller into a simple RAID controller supporting arrays 0 and 1.

If the disk subsystem workload is not of the streaming nature, the advantages of a U320 controller in bandwidth won’t affect the overall performance of a multi-drive configuration that much. But, firstly, it’s better to use RAID controllers for random workloads and, secondly, this is quite another story…

<%BANNER[banner_468x60_f]%>