<%BANNER[top_768x90]%>
<%BANNER[banner_468x60_h]%>
<%BANNER[article]%>

Articles: Storage

Table of Contents

<%BANNER[fp_160x600_r_1]%>

This is already the third article devoted to ATA/133 RAID controller, and it means that the market demands ATA/133 standard, which usefulness/uselessness has been so violently rumored by the public lately. The controllers of the two leaders of the ATA RAID market, namely High-Point and Promise, have been already reviewed on our site, so you can find the articles in our Storage section. Now it's high time we took a closer look at the product offered by a company, which threw down the glove to the today's ATA RAID leaders. As we lack some info about the controller maker, we will consider it to be Silicon Image.

Closer Look

Here is our today's hero: Sil680 controller card:

And the only thing that indicates its connection with Silicon Image is the chip marking. Since we are pretty sophisticated and have already seen the whole bunch of different markings (see our AMI HyperDisk100 IDE RAID Controller Review), we decided to figure out the actual state of things and consulted the official Silicon Image site. We managed to discover that the Sil680 controller is built on CMD680 chip from CMD Company (we have already seen these chips in AMI Hyperdisk controllers). By the way, judging by the front page of the CMD site, they are really close partners with Silicon Image :)

On the other hand, the package contents accompanying the controller and the box make us suppose that it was produced by some Chinese company, which is not at all hunting for any popularity.

Unlike the authentic Sil680 controller, our guinea pig stores its BIOS in the regular memory instead of the flash-memory chip. It implies that the BIOS cannot be updated in any way.

However, the controller is bundled with the drivers and software of the actual Sil680 that is why I will close my eyes on its origins and will assume that it is an actual Silicon Image baby :)

Here is the brief specification of the new controller:

Host side interface 32bit 33MHz PCI bus, PCI 2.2 compliant
Device side interface ATA/133
RAID controller IC CMD680
Number of IDE channels 2 Channels
Maximum number of drives 4 hard disk drives
Supported Hard drives Up to ATA/133
Supported RAID Levels RAID 0, RAID 1, RAID 0+1
Supported OSs Windows 98/ME, Windows NT4.0, Win2000/XP
Additional Features: Medley ATA Software RAID
Dual independent DMA channels with 256B FIFO per channel
Read ahead
Command buffering

As we see, the controller doesn't support PCI32/66MHz unlike its rivals. We will not list it among the bottlenecks now, as the previous two ATA/133 RAID controllers tested failed to make real use of the bus although they were said to support it.

The controller BIOS features very simple dialog interface, but nevertheless, has all useful functions. I considered it really great that it allowed setting the HDDs order in the array, though it appeared to affect the performance only in RAID01 arrays. Why so? We will try to answer this question later in this review.

Testbed and Methods

The testbed and testing methodology remained the same as those used during Promise TX2000 testing that is why if you need to refresh your memory, please consult the corresponding section of our Promise TX2000 Controller Review.

Performance

WinBench99 1.2 (FAT32)

The diagrams show very clearly how well the use of RAID arrays speeds up the work of typical Windows applications:

Like in case of RocketRAID and TX2000 controllers, the major performance gain (in High-End Disk WinMark) compared with the results of a single HDD (marked as JBOD) is achieved in case of 2-disk RAID0 array. RAID0 array of three HDDs also provides a certain performance increase, though not that high. And the addition of the fourth drive to the array speeds up the whole system so insignificantly that it is hardly worth mentioning at all :)

In Business Disk WinMark there is hardly any improvement due to the use of RAID0 at all.

As usual, we are interested in the performance differences of RAID0 and RAID1 arrays built of two hard disk drives in case only one controller channel or both channels are involved.

The results show that RAID1 speed hardly depends on the number of controller channels used, while in case of RAID0 this parameter is quite critical.

RAID01 performance appeared slightly lower than that of RAID0 in case of 2 HDDs.

WinBench99 1.2 (NTFS)


As the number of hard disk drives grows up in RAID0, its results in High-End tests also grow up, and in Business Disk WinMark - even grow down a bit compared with the single hard drive (JBOD).

Just like in FAT32, the performance of RAID1 array doesn't depend on the way the hard disk drives are arranged on the controller channels, and RAID0 array definitely prefers dual-channel configuration.

Intel IOMeter

The controller performed really curiously in the WorkStation pattern. Look:

Note that the performance of 2-HDD RAID0 array is higher than that of a single hard drive, which is actually not at all surprising. However, as soon as we increase the number of HDDs in our RAID0 array to 3, the performance drops down suddenly! And which is even more unexpected, the use of 4 HDDs to built our RAID0 array speeds it back up!

The fact that RAID0 array built on two controller channels is faster than its single channel analogue is pretty logical. But this logic doesn't work for RAID1. As we see, single channel RAID1 is a bit faster than its dual-channel counterpart.

RAID01 array appeared slightly slower than dual-HDD RAID0. By the by, since we came to speak about RAID01: in the beginning of this article I said that controller BIOS asks about the order in which hard disk drives should be added to the array. RAID01 array is none other but a mirror of several stripe groups, and as we have just seen, stripe works faster when built on different channels, while mirror runs better on a single channel. Therefore, the hard disk drives should be arranged in stripe groups in the following way:

Group 1: Primary master & Secondary master
Group 2: Primary slave & Secondary slave

Using the controller BIOS terms we could translate this order as: 0213. Any other HDD order in the array will slow down its performance quite tangibly, but if you are curious, then why not give it a try? :)

In patterns emulating server workload, Sil680 proved quite successful on the whole.

RAID0 performance appeared quite scalable depending on the number of hard disk drives used (though the same weird performance drop in case of 3 HDDs remained there). Besides, the controller turned out pretty sensitive to the workload growth (increase in the queue depth).

Of course, Sil680 controller didn't escape the most serious test in the new DataBase pattern. The major aim of this test session is to see whether the controller firmware and drivers can work successfully with the interleaving reads and writes.

As usual, we will first check how the performance of RAID0 array depends on the amount of writes processed in case of different queue depths.

The graphs show that Sil680 controller uses algorithms similar to those from Promise.

The arrays performance appeared very much dependent on the number of HDDs in the array only in those modes which are close to RandomWrite.

Well, it seems to me that I have already seen something like that somewhere. The arrays with hard disk drives connected to one cable react in a much better way to the increase in the number of writes (it means that we can suppose lazy write to be performed for this particular pair of drives). By the way, you can see it perfectly well on the graph:

Note that the RAID0 graph of 2 HDDs (connected to different channels) reminds us of the single HDD graph with that only difference that it is located a bit higher. However, as soon as a pair of HDDs connected to a single cable appears, the controller turns on the "afterburning".

I wish the controller could do "lazy reads" :)

The next graphs are actually very similar to what we have already seen when we tested Promise TX2000 controller:

RAID0 array built with two channels is faster than its single-channel analogue except RandomWrite. And RAID1 array built on one channel is faster than dual-channel RAID1 in case of bigger writes share.

Among the most interesting things we would like to point out the following issues:

  1. Dual-channel arrays suffered a drastic performance drop in RandwomWrite mode;
  2. Single-channel RAID0 array fell significantly behind its dual-channel counterpart as soon as the writes share got smaller.

In case of big queue depth the requests are sorted out ideally and the dual-channel arrays look really great then.

In conclusion I would like to offer you the results of the tests with Sequential requests. The data pack involved will vary from 512Bytes to 1MB.

As usual, at first we will take a look at the dependence of RAID0 array performance on the number of hard drives it is composed of.

Hm… Dual-HDD RAID0 performance is twice as high as that of a single HDD. And as for the 3-HDD configuration, it appeared a really discouraging surprise for us :(

RAID0 array of 4 drives worked pretty well with smaller data packs, but the results they showed are just a little bit higher than those demonstrated by the dual-drive RAID0 array. What magic hides behind the notorious 80MB/sec, which appears the stumbling stone for the third ATA/133 RAID controller already?

When we compare read speed from RAID0 and RAID1 arrays connected to one and two controller channels, we see clearly that the dual-channel configuration is more preferable for RAID0 array, while RAID1 doesn't care about the number of channels involved. Silicon Image seems to have no license for 3Ware TwinStor technology, which reads from both HDDs of the array. :)

Some more curious readers may wonder where the graph for dual-channel RAID1 array is on this diagram. However, it is there, I swear! :)


Wait, just a second. Wow, with astonishment we watched our controller exceed 100MB/sec data transfer rate along the regular PCI32/33MHz bus! Congratulations!

When we compare the write speeds of RAID0 and RAID1 arrays involving one or two channels, no wonders take place. In case of small data pack, single channel arrays yield to dual-channel analogues. However, as soon as the data pack grows bigger, both arrays reach their top performance rate and level out.

Conclusion

The unknown controller on CMD680 chip, selling for $24 in retail stores proved pretty faster in WinBench99 and very fast in all IOMeter patterns. The controller performance in Sequential patterns turned out absolutely unique: during sequential writing of 1MB bits onto RAID0 array of 4 HDDs only 87% of the PCI32 bus got utilized (116MB/sec out of the possible 133MB/sec).

Very soon we will be able top find out how well this controller performs against the background of its competitors. We have already tested HighPoint RocketRAID133 with the new BIOS and new drivers, so the comparison is coming guys. And in the meanwhile, we can state that CMD680 based controller card definitely costs much more that it is selling for :)


<%BANNER[banner_468x60_f]%>

Discussion

Comments currently: 3
Discussion started: 01/03/06 05:00:09 PM
Latest comment: 01/24/08 05:18:40 PM

View comments

You must log in to add comments.

Forgot password? Registration

remember me



Latest materials in Storage section

Article Rating

Article Rating: 7.5000 out of 10
 
Rate this article:
Excellent
Average
Poor