The market may be brimming with multi-drive goodness, but that doesn’t mean that there isn’t room for something new. You see, most affordable RAID solutions, be they add-in cards or motherboard implementations, are software-based solutions and lack dedicated onboard memory. Most stick to supporting a mix of RAID levels 0, 1, 10/0+1, and 5, as well. We haven’t seen much in the way of RAID 3 or hardware acceleration, and that’s where XFX’s new Revo64 comes in. Based on technology from Netcell, the Revo64 combines byte-level striping with hardware-accelerated parity calculations and onboard memory to provide a potentially potent mix of performance and fault tolerance with as few as three hard drives. What’s more, the Revo works its magic without requiring drivers, giving the card instant compatibility with newer versions of both Windows and Linux.
At first glance, the Revo64 looks too good to be true, especially considering its affordable street price. Does it live up to the hype? Join us as we explore the technology behind XFX’s Revo64 and take an in-depth look at its performance.
Talking ’bout a Revolution?
Before diving into the specifics of the Revo64, we should take a moment to explain RAID 3. Like RAID 0, RAID 3 stripes data across multiple disks. However, unlike most striped arrays, data is broken up into individual bytes rather than larger blocks that are typically at least 64KB in size. Byte-level striping ensures that virtually every I/O request will reference data spread over all drives in a RAID 3 array, allowing the array to maximize transfer rates by pressing all drives into action to satisfy each I/O request. Arrays that rely on block-level striping can often encounter I/O requests that reference files that fit within a single block, preventing them from exploiting the performance advantages of using multiple physical drive mechanisms simultaneously. Byte-level striping isn’t perfect, though. Because RAID 3 arrays generally tap all drives while servicing a single I/O request, they don’t deal well with multiple simultaneous I/O requests.
There’s more to RAID 3 than just byte-level striping, though. RAID 3 also calculates and stores parity data to add a measure of fault tolerance to the array. The parity calculation is similar to that employed by RAID 5, but instead of spreading parity data across the entire array, RAID 3 stores it on a dedicated parity drive. Since that single parity drive must be accessed every time data is written to the array, it could be a potential bottleneck. At least parity allows RAID 3 arrays to achieve higher storage capacities from a fewer number of disks than redundant RAID 10 or 0+1 arrays. The storage capacity of a RAID 3 array is identical to that of a RAID 5, and is expressed as the following:
capacity = (size of smallest drive in the array) * (# of drives in the array – 1)
The capacity of a RAID 10 or 0+1 array, on the other hand, is expressed as:
capacity = (size of smallest drive in the array) * (# of drives in the array) / 2
That means it’s possible to create a fault-tolerant RAID 3 array with only three disks that can match the capacity of a fault tolerant RAID 10/0+1 array that requires at least four disks.
The parity calculation that gives RAID 3 its fault tolerance relies on an exclusive OR (XOR) operation that can be computationally costly. Parity must be calculated every time data is written to the array, and that’s a lot of binary math. Fortunately, the Revo64’s Netcell Revolution NC3000 Storage Processing Unit (SPU, as they call it) has a hardware XOR engine capable of calculating parity in real time with no CPU overhead. The hardware XOR engine should also allow the Revo64 to maintain consistent performance in the event of a drive failure.
Netcell has actually been around for a while, and the NC3000 SPU’s lack of a native Serial ATA interface shows the chip’s age. The NC3000 only has an ATA/100 connection to each drive, which XFX converts to SATA with a Marvell 88i8030-TBC bridge chip. The 88i8030-TBC is the same bridge used on Western Digital’s Raptor hard drives, so it’s a proven performer. Since not even the Raptor can sustain transfer rates that would saturate an ATA/100 connection, the NC3000’s native interface shouldn’t be a big concern. However, we’ve seen the latest SATA drives push over 200MB/s when bursting from cache, so the NC3000’s 100MB/s ATA/100 interface could hamper performance in some situations. It’s also worth noting that because it’s an ATA/100 chip at heart, the NC3000 doesn’t support Native Command Queuing (NCQ). That could hamper the card’s performance under multitasking and multi-user loads, areas where RAID 3 is already at a theoretical disadvantage.
Speaking of cache, the Revo64 comes equipped with 64MB of SDRAM running at 100MHz. You won’t find onboard memory on many RAID cards in the Revo’s price range, so it’s a definite bonus. The Revo64 line actually supports up to 128MB of memory, as well; you can see above where the extra chips might go.
128MB of memory can be found on five-port versions of the Revo64. XFX also makes a three-port version of the card with 64MB of memory, and we’ll be focusing our attention on that product today. The three-port Revo64 actually comes in three versions: the Revo64 for Music Professionals, the Revo64 for Home Multimedia, and the Revo64 for Gamers. Despite slightly different model numbers, each version of the three-port Revo64 is essentially identical. Welcome to the wonderful world of arbitrary product segmentation. XFX says it may change up the bundle for each card down the road, though.
XFX’s future plans also include a PCI Express version of the Revo64. The card currently rides the PCI bus, although it does support 32-bit/66MHz PCInot that 66MHz PCI slots are common on anything but workstation and server platforms. Netcell says it already has PCI Express cards up and running, and that we can expect retail products in the first quarter of 2006 or sooner.
Software and drivers, or a lack thereof
Until XFX mixes up the bundles for different versions of its Revo64, all cards come with a set of fancy locking Serial ATA cables and a utility CD
That’s right: a utility CD, not a driver CD. The Revo64’s most unique attribute is the fact that it doesn’t require drivers. It’s even possible to install Windows directly to arrays connected to the card; there’s no need to hit F6 or slipstream drivers.
The Revo64 appears as a Netcell SyncRAID device in the Windows XP device manager, and it also works under Windows 2000. Linux isn’t officially supported by XFX, but the Revo64 will run there, as well. Support for Netcell cards was added to the Linux kernel with version 2.6.13, so that version and subsequent kernel revisions support the card with no need for drivers. Those intent on running older versions of the Linux kernel can download patches for SuSe 9.1 and Fedora Core2 from Netcell’s software support page. The software support page also contains drivers for Mac OS X, but they won’t work with standard versions of the Revo. XFX sells a Mac version of the card with firmware that works under OS X.
When a system boots with the Revo64 installed, the user is prompted to configure arrays using the card’s BIOS. Users can assign drives connected to the Revo64 to a RAID 0, 1, or 3 array, although RAID 3 is the only available three-drive configuration.
In addition to configuring arrays via the Revo64’s BIOS, users can install the bundled Netcell Storage Manager software to create and control arrays from within Windows. The app also handles data migration, allowing users to preserve data from one drive while creating an array. This migration capability is a handy feature to have, and it could save users from having to Ghost over the contents of their old system or reinstall Windows completely.
The Netcell Storage Manager is also equipped with email and pop-up notifications that will alert users in the event of a drive failure.
Although the Revo64 doesn’t require drivers, XFX will offer new versions of the storage manager software that can automatically upgrade the card’s firmware to the latest version. Like driver updates, firmware upgrades have the potential to improve performance over time. Installation is painless, as well.
Today we’ll be comparing the three-port Revo64’s performance to that of Promise’s FastTrak TX4200. The TX4200 supports RAID levels 0, 1, and 10, and we’ll be testing each array configuration against the Revo64 in RAID 0, 1, and 3. RAID 0 and 1 arrays were limited to two drives for both cards. The stripe size for RAID 0 arrays did differ, though. We prefer to test RAID controllers at their default block sizes, and while RAID 0 arrays on the Revo64 default to 128KB blocks, the Promise card picks 64KB blocks for RAID 0 and 10 arrays. Fortunately, both cards support 66MHz PCI, as does our test platform.
Our testing methods
All tests were run three times, and their results were averaged, using the following test systems.
|Processor||AMD Opteron 246 2.0GHz (1 processor)|
|Front-side bus||HT 16-bit/800MHz downstream
HT 16-bit/800MHz upstream
|Motherboard||Tyan Thunder K8W|
|North bridge||AMD-8151 AGP tunnel
AMD-8131 PCI-X tunnel
|South bridge||AMD-8111 I/O hub|
|Chipset drivers||AMD chipset driver pack 2.10|
|Memory size||1GB (2 DIMMs)|
|Memory type||Corsair CM72SD512RLP-3200/S Registered PC3200 DDR SDRAM|
|Graphics||NVIDIA GeForce FX 5200|
|Graphics driver||ForceWare 77.77|
|Operating System||Windows XP Professional SP2 with DirectX 9.0c|
We used the following versions of our test applications:
- WorldBench 5.0
- Intel IOMeter v2004.07.30
- Xbit Labs File Copy Test v1.0 beta 13
- TCD Labs HD Tach v3.01
- Far Cry v1.3
- DOOM 3
- Intel iPEAK Storage Performance Toolkit 3.0
The test systems’ Windows desktop was set at 1280×1024 in 32-bit color at an 85Hz screen refresh rate. Vertical refresh sync (vsync) was disabled for all tests.
All the tests and methods we employed are publicly available and reproducible. If you have questions about our methods, hit our forums to talk with us about them.
WorldBench overall performance
WorldBench uses scripting to step through a series of tasks in common Windows applications. It then produces an overall score. WorldBench also spits out individual results for its component application tests, allowing us to compare performance in each. We’ll look at the overall score, and then we’ll show individual application results alongside the results from some of our own application tests.
The Revo64 proves a little slower than the FastTrak with RAID 0 and 1 arrays. RAID 3 does tie the Promise card’s RAID 10 performance, which is impressive considering that the former uses only three drives while the latter requires four. Let’s break down WorldBench’s overall score into individual results to see how the Revo64 fared in each test.
Multimedia editing and encoding
Windows Media Encoder
VideoWave Movie Creator
Adobe Premiere is the only multimedia editing and encoding app to really benefit from RAID, and the Revo64 leads the field in that test. The card is slightly faster than the FastTrak with RAID 0, but what’s really impressive is how little performance is lost moving from RAID 0 to RAID 3. If we remove the RAID 0 arrays and only look at results that provide fault tolerance, RAID 3 on the Revo64 is way out ahead.
ACDSee also benefits from a little RAID loving, and again, the Revo64’s RAID 3 implementation proves to be only a little slower than RAID 0. The difference between RAID 3 on the Revo and RAID 10 on the FastTrak is less pronounced here, but the XFX card still has a solid advantage, and with fewer drives to, erm, boot.
Multitasking and office applications
Mozilla and Windows Media Encoder
Unfortunately, the Revo64 doesn’t fare as well in WorldBench’s Office XP test, although the performance gaps here are much smaller than in ACDSee or Premiere.
Both WinZip and Nero give RAID plenty of room to stretch its legs, but results are mixed for the Revo. The card performs well in WinZip with RAID 0 and 3 arrays; however, RAID 1 performance trails the FastTrak. RAID 1 also proves to be a problem for the Revo in Nero, where the card’s RAID 0 and 3 performance also fail to impress. Our Nero results are the first to show a significant performance gap between the Revo64’s RAID levels 0 and 3, too.
Boot, load, and rebuild times
To test system boot, game level load, and array rebuild times, we busted out our trusty stopwatch.
The difference in boot times between the FastTrak and Revo64 can be chalked up to how long each controller takes to scan for connected devices and initiate the array. The XFX card takes longer, and its boot times are consequently slower. Interestingly, though, Windows boots faster on a Revo64 RAID 3 array than it does on a RAID 0.
Unfortunately, the Revo64 RAID 3’s DOOM 3 level load times fall to the back of the pack. In fact, DOOM 3 loads faster on the FastTrak across the board. The Revo finds some redemption in Far Cry, though.
We forced array rebuilds by removing a single drive from the array, formatting it, and putting it back into the system.
Despite its fancy hardware XOR engine, RAID rebuilds are painfully slow on the Revo64. It’s not even close, and the fact that RAID 1 rebuilds take hours suggests that parity calculations aren’t the only thing holding the Revo back. According to XFX, newer versions of the storage manager utility should improve rebuild performance, although the Revo has a lot of ground to make up. At least array rebuilds aren’t something users should have to do often, if at all.
File Copy Test
File Copy Test is a pseudo-real-world benchmark that times how long it takes to create, read, and copy files in various test patterns. File copying is tested twice: once with the source and target on the same partition, and once with the target on a separate partition. Scores are presented in MB/s.
The Revo64 gets swept in FC-Test’s file creation tests. In some cases, the FastTrak is close to twice as fast.
However, the Revo bounces back in the file read tests, where it’s much more competitive with the Promise card. Note the slim performance delta between the Revo64 at RAID 0 and 3 in this test.
File copy tests tax both read and write performance, and the Revo trails the FastTrak once again. FC-Test’s Windows, Programs, Install, ISO, and MP3 test patterns each use different groups of files that offer a unique blend of not only file size, but the total number of files. None of those patterns appear to favor the Revo’s byte-level striping, though.
We recently developed a series of disk-intensive multitasking tests to highlight the impact of command queuing on hard drive performance. These tests can also be used to illustrate how well RAID arrays handle multitasking loads. You can get the low-down on these iPEAK-based tests here. The mean service time of each array is reported in milliseconds, with lower values representing better performance.
Multiple simultaneous I/O requests are no friend to byte-level striping, and it shows. The Revo’s RAID 3 array is clearly slower than its RAID 0 volume, and the FastTrak is much quicker overall. A lack of Native Command Queuing support may also be holding the Revo back a little, although it’s hard to say since the TX4200 isn’t exactly known for its command queuing prowess.
iPEAK multitasking – con’t
The rest of our iPEAK multitasking tests don’t help the Revo’s standing, either. RAID 0 continues to outperform RAID 3 on the XFX card, and the FastTrak is still way ahead.
IOMeter – Transaction rate
Our IOMeter tests stress performance under multi-user loads that hammer arrays with waves of simultaneous I/O requests, so they’re a worst-case scenario for the Revo’s byte-level striping.
Performance can’t get much worse than that. Byte-level striping’s disdain for simultaneous I/O requests should only affect the Revo64’s RAID 3 array, but performance isn’t much different with RAID 0 or 1. Notice that the Revo64’s performance is not only much lower than that of the FastTrak, but that it also doesn’t scale nearly as well under heavier I/O loads. That could be a result of the card’s lack of NCQ support, since we’ve seen NCQ improve IOMeter performance under increasing loads.
IOMeter – Response time
The performance picture doesn’t improve when we look at IOMeter response times. Again, the Revo is way behind the FastTrak as the I/O load increases.
IOMeter – CPU utilization
At least the Revo’s CPU utilization is lower than the FastTrak’s, although neither card consumes more than 1% of the CPU’s available cycles.
We tested HD Tach with the benchmark’s full variable zone size setting.
The Revo64 aces HD Tach’s streaming transfer rate tests, most notably offering better write performance with RAID 3 than the FastTrak does with RAID 0 or 10. Note that there’s virtually no performance difference between the Revo’s RAID 0 and 3 arrays.
Unfortunately, the Revo’s burst speeds are less impressive than its sustained read and write performance. The Promise card has a huge lead here, no matter which array we look at.
The FastTrak also outclasses the Revo64 in HT Tach’s random access time test. Here, arrays on the XFX card are between 28% and 38% slower than those of the Promise card. Ouch.
CPU utilization results are mixed, and given HD Tach’s +/- 2% margin for error for this test, it’s hard to draw any solid conclusions based on these data.
The Revo64 delivers on its tantalizing potential in WorldBench’s Adobe Premiere and ACDSee tests, and in HD Tach’s sustained transfer rate tests. Otherwise the card’s performance is rather disappointing. Our multitasking tests illustrate the Revo’s inability to handle multiple I/O requests gracefully, a shortcoming that our multi-user IOMeter tests make even more abundantly clear. Even the Revo64’s FC-Test results are discouraging, which is a little surprising given the card’s strong sustained transfer rates. Random access times that are nearly 40% slower than the Promise TX4200 can’t help matters, though.
Obviously, the Revo64’s lackluster overall performance gives us little reason to recommend the card for most users. However, the Premiere results hint at the card’s potential for video editing workstations, especially since RAID 3 can offer close to RAID 0 performance with a measure of fault tolerance. I’d also be tempted to use the card’s RAID 3 capabilities in a home media server. Such a server isn’t likely to face heavy multi-user loads or demand particularly high throughput, and a three-drive RAID 3 array could provide an attractive and affordable mix of storage capacity and redundancy. My home servers tend to be cobbled together from older, recycled hardware, so the Revo’s PCI interface would actually be a blessing. Throw the card into an older box with a trio of 500GB drives, and you’ve got a terabyte of fault tolerant storage on tap. It might even be cheaper to splurge on a five-port version of the Revo64 and populate it with five 250GB drives.
Unfortunately, video editing and home storage are about the only applications for which the Revo64 seems appropriate. Don’t get me wrongthe technology behind the Revo is undeniably cool. Hardware-accelerated parity calculations, onboard memory, and driverless compatibility with both Windows and Linux set my enthusiast’s heart aflutter. Unfortunately, they just don’t translate into good enough all around performance to justify the Revo’s $138 street price. Some of the Revo’s performance woes may be traced back to the baggage that accompanies RAID 3, but given the card’s poor RAID 0 and 1 performance in some applications, it’s clear that byte-level striping isn’t the Revo’s only problem. A
driver firmware update might improve this card’s performance proposition, but it has a ways to go.