<%BANNER[top_768x90]%>

<%BANNER[banner_468x60_h]%>

SiI3124 SATALink 4-Port PCI-X Host Controller from Silicon Image

We would like to introduce to you a new 4-port Serial ATA II RAID controller from Silicon Image, which came to replace the predecessor, SiI3114. The newcomer supports 133MHz PCI-X bus and provides excellent results scalability, extremely high linear reading and writing speeds, and stable performance growth for RAID 0 arrays configurations. Read more in our new review today!

by Alexander Yuriev , Nikita Nikolaichev
03/23/2005 | 10:01 PM

Well, we continue our review series devoted to the multi-channel SATA RAID controllers. Today we would like to introduce to you SiI3124 SATALink 4-port PCI-X host controller from Silicon Image.

<%BANNER[article]%>

SiI3124 is a chip with totally new architecture positioned by the manufacturer as the most optimal solution for servers, workstation and database systems. We reviewed another controller from Silicon Image not so long ago (see our article called SiI3114 SATALink 4-Port PCI Host SATA RAID Controller from Silicon Image for details). At that time this inexpensive and easy to use controller proved pretty fast. But what will the new chip show today? Let’s find out what the direct successor to the good old SiI3114 is worth!

Unfortunately, we will not be able to compare the performance of these two solutions directly with one another, because both of them were tested on different hard disk drives. If the SiI3114 was tested with the WD360GD HDD, then its more up-to-date counterpart, SiI3124, was tested with a newer HDD modification: WD740GD (Raptor2).

That is why we do not have the opportunity to correctly estimate the advantages the new SiI3124 controller has over its predecessor, SiI3114.


Closer Look

As we have already mentioned, the reference SiI3124 controller is based on the Silicon Image chip with the same name:

It can support up to four SerialATA devices. There are two versions of the SiI3124 chip: one with SATA I interface (150MB/s) and another with SATA II interface (300MB/s). We managed to get hold of the second version of the controller based on SiI3124-2.

As we see, the controller card we were testing has exactly this SiI3124-2 chip, which automatically implies that it supports the maximum bandwidth of 3Gbit/s.

This is what this baby looks like:

It supports a standard set of RAID arrays including: JBOD, RAID 0, RAID 1, RAID 10. The controller uses 64-bit PCI-X 133MHz bus. The BIOS receives 128KB of memory by default, although this memory size can be expanded up to 4MB.

Silicon Image SiI 3124 SATALink 4-Port Controller Features

RAID

JBOD, 0, 1 and 10

Serial ATA

4 Serial ATA II 300MB/s. Compatible with SATA 1.0 standard

PCI

64bit 133MHz PCI-X

Flash

Supports up to 4MB of external memory


Testbed and Methods

Our testbed was configured as follows:

We tested the controller using WinBench 99 2.0 and Intel IOMeter 2003.02.15.

We created one partition for the total HDD storage capacity in WinBench 99. We carried out each of the WinBench tests seven times and then selected the best result.

We used FileServer and WebServer patterns in our Intel IOMeter tests.

These patterns are intended for measuring the performance of the disk subsystem under a workload typical for file- and web- servers.

We also use the WorkStation pattern, created by Sergey Romanov (a.k.a. GReY). It is based on the statistical data about the disk subsystem workload as given in the StorageReview Testbed 3 description. The statistical data for the NTFS5 file system are gathered in three operational modes: Office, Hi-End and Boot-up.

This pattern shows how well the controller performs in a typical Windows environment.

Lastly, we checked out the controller’s ability to process sequential read/write requests of variable size and its performance in the DataBase pattern, which loads the disk subsystem with SQL-like requests.

Our controller was installed into the PCI-X/133MHz slot and had the BIOS version 6033. For our testing we used the driver version 1.0.0.2.

WD740GD (Raptor) hard disk drives were installed into the rails of the SC5200 system case and fastened at the bottom with four screws.


Performance in Intel IOMeter: DataBase Pattern

As usual we will start with the results obtained during mixed requests processing. In this pattern we will check how well the controller can handle read and write requests for 8KB data blocks with random address. By changing the read-to-write requests ratio we will be able to see how efficient the controller driver is for sorting requests out.

First comes the table with the overall performance results:

Now take a look at the graphs showing the dependence of the data transfer rates on the relative density of writes. Each graph corresponds to a different requests queue depth:

When the workload in the beginning of the graph is linear (i.e. in RandomRead mode), all arrays show very similar speeds. As the probability of a write request grows up, the arrays performances start differing: the lazy writing of the hard disk drives begins to affect the results.

RAID 0 arrays start showing the dependence of the performance on the number of drives in the arrays at 20% writes already. However, the performance becomes scalable depending on the number of drives in the array only when the writes share reaches 90%.

The graphs for RAID 1 and RAID 10 mirrored arrays are almost identical to the graphs of the 2-HDD RAID 0 array and a single hard drive when the writes share is low. As the share of writes increases, mirrored arrays fall farther and farther behind.

Under heavier workload the RAID 0 array graphs turn scalable depending on the number of HDDs in the array in all modes. As the share of write requests increases, they speed up. In fact, RIAD 0 array of 4 hard drives is slightly slower than it should be for absolutely perfect scalability, but you can barely notice it on the graph.

The graphs for RAID 1 and RAID 10 arrays are almost identical to the graphs of 2-HDD RAID 0 and a single drive under linear workload and in case of small writes share among the processed requests. As the writes share increases, they start falling behind the RAID 0 of 2HDDs and a single drive.

This behavior of the mirrored arrays indicates that SiI3124 controller doesn’t use any optimizations for reading from mirrored arrays in case of random requests flow. Moreover, the mirrored algorithm slows down the writing quite significantly, too.

The 256 requests queue doesn’t affect the performance any more. RAID 0 arrays remain well-scalable as in the previous cases. The performance of RAID 1 and RAID 10 arrays are as fast as the 2-HDD RAID 0 array, when there are few write requests in the queue, and fall behind it and a single HDD when the writes share in the queue grows up.


Performance in Intel IOMeter: Sequential Read and Write Patterns

Now let’s pass over to sequential reading and writing. The array receives a stream of read/write requests with a request queue depth of 4. Every minute the size of the data block changes, so we can see the dependence of the linear read/write speed on the size of the data block by the end of the test session. The sequential read results (the dependence of the controller data transfer rate on the data block size) are listed in the following table:

Now let’s take a look at the dependence graph:

Different arrays show maximum read speed with requests of different size. In other words, when the controller splits a large request into a few smaller ones processed by several hard disk drives at a time. That is why the scalability of the RAID 0 array performance depending on the number of the drivers in this array can be seen only in case of large requests. At the same time I would like to stress that the maximum performance of a RAID 0 array of four hard disk drives is exactly (!) four times bigger than the performance of a single HDD and equals 274MB/s. And this number is higher than the bandwidth of the 66MHz PCI bus (266MB/s). This is exactly the reason why Silicon Image used the 133MHz PCI-X bus for its SiI3124 controller.

Unfortunately, the situation with mirrored arrays is much worse. As we remember, some manufacturers alternate read requests between the drives of a mirrored pair, even if we have linear reading. This way, RAID 1 array performs like RAID 0 array on reading operations, which may (theoretically) double the read speed from the array. But as we see, the SiI3124 controller doesn’t apply this algorithm even for sequential reading. The read speed from RAID 1 array in all modes coincides with that from a single HDD, and the performance of RAID 10 array equals to that of 2-HDD RAID 0.

Now let’s take a look at sequential writing:

The graph below shows the dependence of the controller write speed on the size of the processed data block:

During sequential writing, just like during sequential reading, different arrays achieve their maximum speed at different request sizes. When the request size exceeds 32KB, the scalability of the RAID 0 performance depending on the number of the drives in an array is not just visible, but is close to ideal (which is a very rare thing for any controller working under such workload). Moreover, the maximum performance of RAID 0 array of four hard drives is exactly four times bigger than the single HDD speed, and equals 272MB/s, i.e. is the same as the read speed. In this working mode it is only for the better that SiI3124 controller has no cache, as it doesn’t affect its performance and stability.

The write speeds of RAID 1 and RAID 10 arrays are equal to the single HDD write speed and to the 2-HDD RAID 0 array write speed in all test modes. However, when there are no read requests at all, this behavior is typical of mirrored arrays.


Performance in Intel IOMeter FileServer and WebServer Patterns

At first let’s check the controller performance in the file-server storage subsystem:

Let’s build a graph showing the dependence of the arrays speeds on the request queue depth:

RAID 0 arrays show excellent performance scalability depending on the number of hard drives in the array, even when the queue is 64 requests long, and the performance of RAID 0 array of three and four hard disk drives grows slower than expected. The read speed from RAID 1 array is always as high as the read speed from a single hard drive, and the performance of RAID 10 is equal to that of 2-drive RAID 0. Keeping in mind that the FileServer pattern has only 20% of writes, we dare suppose that the SiI3124 controller never uses any reading optimizations for the mirrored arrays.

For a better comparison of different RAID arrays performance we will use our traditional rating system. Provided all workloads are considered equally probable, we will calculate the general performance rating index as the average performance during requests processing under all types of workload.

As we see, the performance rating appeared pretty expected. RAID 0 arrays lined up according to the number of hard disk drives in them. The mirrored arrays, RAID 1 and RAID 10, are falling a little bit behind the single HDD and a 2-drive RAID 0 array respectively.


Now let’s take a look at the results obtained for WebServer pattern, which peculiarity is the complete absence of write requests:

The increase in the number of read requests from 80% in FileServer to 100% in WebServer didn’t tell on the performance of RAID 0 arrays here. Even the graph curve at 64 requests queue remained there. And RAID 1 array has finally managed to outperform a single HDD when the queue reached 64 requests. In all other modes it performed equally fast with the single drive. The RAID 10 array speed in all test modes equals that of a 2-drive RAID 0 array. Since WebServer pattern considered to be an ideal demonstration of the mirrored arrays advantages, I can say with all certainty that SiI3124 controller uses no reading optimizations for mirrored arrays.

For a more illustrative comparison here is our traditional performance rating chart built the same way as we have just done for FileServer:

Due to the majoc 64 request processing mode, RAID 1 array appeared a few tenths of a percent faster than a single HDD. Other than that the performance ratings are just the same as in FileServer pattern.


Performance in Intel IOMeter WorkStation Pattern

Now let’s pass over to WorkStation pattern, which imitates active user work in various applications in NTFS5 file system:

As always here follows the graph showing the dependence of arrays performance on the requests queue depth:

The performance of RAID 0 arrays starts scaling depending on the number of HDDs in the array at 2 requests queue already. However, unlike all previous patterns, when we reach 16 requests the performance growth stops.

Since there are quite many write requests in the queue, the mirrored arrays, such as RAID 1 and RAID 10, lag a little behind the single drive and a 2-HDD RAID 0 array respectively.

To compare the performance of RAID arrays of different types depending on the efficiency of WB-caching, let’s build the following chart with the array performance ratings. The ratings this time will be calculated according to the formula below:

Performance Rating = Total I/O (queue=1)/1 + Total I/O (queue=2)/2 + Total I/O (queue=4)/4 + Total I/O (queue=8)/8 + Total I/O (queue=16)/16 + Total I/O (queue=32)/32

Even the presence of many write requests didn’t affect the ratings, and the picture appears just the same as in FileServer pattern.


Performance in WinBench99

We will finish our review session of the Silicon Image SiI3124 controller with the WinBench test package measuring the HDD performance when we work with desktop applications.

Let’s compare the speeds of different arrays in two integral subtests: Business Disk WinMark and High-End Disk WinMark:

As we have expected, the first two positions were taken by the RAID 0 arrays of three and four drives. Strange as it might seem, but the mirrored RAID 1 and RAID 10 arrays outperformed quite significantly a single HDD and RAID 0 array of two drives respectively.


Let’s see how the results change once we switch to FAT32 file system:

Hm… RAID 0 arrays of three and four HDDs won their first prizes again. The last position of RAID 1 array in this test is also pretty logical. But why the third result appeared by the single hard disk drive, remains a good question to answer.

Since the linear read speeds are the same for NTFS and FAT32 file systems, we will provide only one chart for both of them:

And in conclusion here are the linear read graphs for all the arrays considered in this test session:


Conclusion

Our benchmark results indicate that SiI3124 controller is a worthy successor to the good old buddy – SiI3114. The controller uses up the hard disk drive speed potential to the full extent thus achieving extremely high linear read and write speeds. This way, it is the HDDs that limit the arrays performance, and not the controller.

No doubt that the new controller with 133MHz PCI-X bus support can challenge any of the current SATA II drives.

The controller demonstrated surprisingly even (without any unexpected drops in individual tests) high performance and excellent scalability of the results depending on the number of hard disk drives in an array. But just like in case of SiI3114 controller, all this is true only for RAID 0 arrays. Mirrored arrays built with SiI3124 controller can only be worth it if you are aiming at increasing the data storage security, since we revealed no performance increase in any of these modes.

In fact, it has already become a typical feature of Silicon Image reference BIOS and driver versions that they do not contain any optimizations for mirrored arrays. So, we are still looking forward to our benchmarks of the third-party controller cards based on SiI3124 chip from Silicon Image.

Right now you can download drivers for Windows NT/2000/XP and 2003 Server from the manufacturer’s official web-site.

<%BANNER[banner_468x60_f]%>