Original Link: https://www.anandtech.com/show/264
Promise FastTrack/FastSwap IDE RAID Controller
by Anand Lal Shimpi on March 16, 1999 11:55 AM EST- Posted in
- Storage
We've seen the trend in our everyday lives, two is better than one. Instead of buying a single expensive car for two people to share, we split the cost and buy two cars. Instead of worrying about covering the rent for a dorm room in college by yourself, you split the cost between yourself and a roommate. The reason? Efficiency. It is human nature to want to do things efficiently and at the same time, as quickly and as easily as possible, unfortunately it isn't always possible. | |
How many times have you wished that you could be in two places at once? Although it would be of the utmost efficiency to be able to perform two tasks in two different places at once, it's obviously not a plausible option due to the basic limitations of life. |
Luckily, when dealing with computers, we don't always have to obey the laws that govern our everyday lives, whereas we can't be doing two different things in two different places at once, in a sense, a computer can. The trend is a formation on the same idea behind multi processor systems, which states that if you need more power, adding a second processor should theoretically be able to do just that, allow you to do two different things in two different places at once. It's the equivalent of the fulfillment of the unrealistic wish of having more than two hands, and it is a tenor that has extended as far as the video card industry with 3Dfx's introduction of the SLI Voodoo2, the ability to combine two 3D accelerators to achieve a significant boost in performance. Once again we're faced with the same instinct, to increase performance through the use of common sense, two should be faster than one, no?
The same principle, as you may or may not already know, has also been applied to hard disk drives through the use of a system known as the Redundant Array of Independent Disks, or RAID. As the name usually implies, RAID allows for two or more hard disks to be connected in a manner that allows one of two basic options, striping, and/or mirroring. While the specifics of the many functions of RAID will be diagramed and explained later, generally speaking, RAID has always been reserved for servers or extremely high-end workstations due to the extreme costs associated with RAID based disk subsystems.
Until recently, RAID has been reserved for SCSI disk drives only, since the thought of having a low cost IDE based RAID system never really caught on. There is a great deal of confusion in the market over the actual benefits and functionality of RAID, and it is that confusion and set of common misconceptions that has led to the virtual absence of IDE RAID devices. This is simply because of the fact that the common user probably hasn't been exposed to the benefits of RAID and therefore has no desire to spend extra money on a seemingly "useless" technology.
Promise Technology, Inc., has always been a supporter of higher performing IDE devices, and the company has definitely come a long way in recent times to become a prominent name in the hard disk controller industry. Hoping to push the IDE RAID technology into the hands of high-end consumers on a budget, Promise created two products based on their own IDE RAID technology, the FastTrack and the FastSwap Pro. Will Promise's attempt to integrate an IDE RAID solution actually succeed? There are a number of factors that one must consider before providing a thorough answer to that question, and at the top of the list?
What is RAID?
The first thing that will pop into most minds after hearing the name "RAID" is the common household bug spray. And if you're a member of Promise Technology's marketing team, the last thing you want is a product that has the tone of a household bug spray ringing in the minds of those that see it. At the same time, there is a definite lack of education on the topic of the other meaning for RAID both online and off. If you were to make two separate posts on any general computer hardware news site online today, one concerning the latest in SLI technology for gamers and the other dealing with a new RAID controller card, chances are that the number of clicks on the SLI news blurb would be almost triple that of the RAID blurb. Why? Well, why don't you ask yourself, how many users out there do you really think know about the true functionality and benefits of RAID? Then take that number and compare it to the number of users out there have any idea about the benefits of a SLI video solution after 3Dfx's eruption with the whole Voodoo2 SLI extravaganza in 1998? What you'll probably come up with is a definitely uneven ratio. So what's the first step in understanding Promise's IDE RAID Technology? Explaining the acronym RAID of course.
RAID, generally speaking, is a technology that allows two independent disks, or two separate hard drives to function as a single drive equal in size to the capacity of the smallest drive in the collection of drives (array) multiplied by the number of drives. What this means is that if you were to have a RAID setup of 4 drives, 3 of which happened to be 10GB drives and one which was a 1GB drive, the total capacity of the RAID system would be 4GB, or the size of the smallest drive in the array multiplied by the number of drives in the array (1GB x 4 drives = 4GB). The purpose of RAID can be either to improve performance, increase reliability, or both.
RAID 0 - Striping
Imagine yourself sitting in front of two bowls of peanuts at a party. Now you happen to be very hungry, and want to grab as many peanuts before the hungry guest no one invited makes his way over to the bowls and begins to hog all of the snacks. You could use a single hand to grab a handful of the peanuts from one of the bowls and move on, or you could take another approach. Couldn't you, theoretically, use both hands, reaching in to both identical bowls of peanuts, and grab twice as many in the same amount of peanuts? Absolutely. This is the same principle that is behind one function of RAID, known as striping.
In order to improve performance, striping is used. Striping is a function of RAID, known as RAID 0, that allows for data to be read off of different drives in the array at the same time instead of going to a single drive for all of the data. For example, if you were reading 2 individual sectors of a file that was to be loaded, the standard way of proceeding with such a process would be that the two sectors would be read in sequence from your single hard drive. However, in a RAID 0 capable system with a disk array consisting of two drives, the first sector would be read off of the first drive while the second sector would be read off of the second drive, at the same time, therefore doubling the theoretical performance of the data transfer. Suppose your disk array consisted of four drives, and 4 sectors were to be read, the same would apply, where the first drive would read the first sector, the second would read the second sector, the third would read the third sector, and finally the fourth drive would read the fourth sector. Make sense? That basic technology, known as RAID 0, or striping, is how a RAID system can improve performance. How about reliability?
RAID 1 - Mirroring
If you have an important document that you simply must take care of, what is the first precaution that you would normally take to insure its safety? You would make sure you had a backup copy of course, so that if anything were to happen to the original, you would have a complete backup ready and waiting for immediate usage. This same principle is mimicked in the next level of RAID, known as mirroring (RAID 1).
When a disk array is setup in a RAID 1 system, each member of the subsystem contains a perfect copy of each other, and when a single file is written to the disk (which appears to be a single drive, equal in capacity to that of the smallest drive in the array multiplied by the number of drives and finally divided by two for redundancy) it is written to all drives in the array. Should a single drive in the array fail, the other drive or drives will act as a replacement, often resulting in zero downtime (or very little) for the mission critical system that happens to be running with the failing drive. This technology is also known as fault-tolerance.
Note that the method for calculating the total usable disk space for a mirrored drive array is different from that of a RAID 0 system in that the total capacity is only equal to the capacity of the smallest drive. This is because all mirrored drives act as just that, mirrors, and cannot be treated as independent drives once in the RAID 1 setup for data storage. The only time the mirrors activate is when the primary drive fails, at which point a mirror will come online and replace the primary drive.
Mirroring is a technology that is utilized in many servers where a single drive failure would result in an unacceptable amount of downtime, and in the Internet business community, any downtime is unacceptable.
As you might be able to guess, because of the fact that every file must be written to all members of the RAID 1 array, the write performance of a RAID 1 system is considerably slower than a single disk, and definitely slower than a RAID 0 system. In contrast, the read performance is considerably faster since data can be read, just like with a striped array, in parallel from all members of the array.
Striping/Mirroring & Spanning
RAID 0 and RAID 1 can be combined into a function known as, you guessed it, RAID 0/1 which allows for a minimum of two drives to act as mirrors to two other drives that act as striped pairs. Using this technology, you receive the performance benefit from RAID 0 while receiving the fault tolerance protection of RAID 1. The downside to RAID 0/1 is the cost, due to the fact that a total minimum of four drives must be present to take advantage of the technology. The capacity of a RAID 0/1 system is calculated in the same manner as a RAID 1 system, which is an array equal in capacity to that of the smallest drive in the array multiplied by the number of drives, divided by two due to the fault tolerance support (half of the drives are mirrored by the other half).
It is quite simple to envision a RAID system consisting of two disks, running in level 0, level 1, or as a hybrid in 0/1, however what happens when you have four disks (RAID generally is setup with even numbers of drives)? In the case where more than one drive is to be used as a primary drive, a relatively common technology known as spanning is used, where two or more drives function as if they were one large drive.
Although there are many more levels of RAID that are present in more advanced setups, the basics of RAID have already been outlined, and it is upon those three levels of RAID (0, 1, and 0/1) that Promise based their IDE RAID controller, the FastTrack.
The Promise FastTrack
Promise's FastTrack is a member of a legion of very rare RAID controllers due to the fact that the FastTrack is not a SCSI solution, where RAID has primarily made its presence known, rather it is a lower cost IDE solution for the masses. The FastTrack is a single, half-length, 32-bit PCI card that has been outfitted with two Ultra DMA/33 IDE channels which allows the card to function as an Ultra DMA/33 controller as well as a RAID controller. Instead of replacing your motherboard's on-board HDD controller, the FastTrack will work alongside it to provide you with four IDE channels. Ideally, this leaves the two FastTrack channels for all of your RAID hard drives and your motherboard's two channels for other peripherals such as IDE CD-ROM drives and IDE Zip Drives.
The FastTrack comes equipped with its own bootable BIOS that takes precedence over your motherboard's BIOS in the boot process, so your IDE RAID disks will, by default, be the first to boot up. The FastTrack BIOS allows for a number of configuration options, such as having the BIOS automatically setup your drive arrays according to your specification or, if you like the hands on approach, you can choose to proceed with the setup on your own. You are able to configure options such as stripe size for RAID 0 systems, meaning the block size that will be read from each individual drive in the array at a time. The BIOS also features a rebuilding feature that automatically restores your array configuration information from one of the drives in the array should the configuration data from the primary drive become corrupt (array config data is stored on all drives in the array).
If you happen to be setting up a RAID 1 or RAID 0/1 system, the FastTrack BIOS includes a image duplication feature that essentially copies the image of a source drive to all other drives in the array. This removes the need for you to manually copy all data from your primary drive(s) to the rest of the drives in the array.
Installation
The installation of the FastTrack adapter proceeded quite seamlessly, after acquiring the latest device drivers from Promise's website (the included drivers were out of date), AnandTech was able to properly configure the RAID adapter under Windows 98. For the first benchmarks AnandTech simply tried a single drive using the FastTrack adapter with no RAID configuration enabled in order to make sure that the controller itself was not influencing the benchmark results in any way. The performance of the adapter itself was equal to that of the IDE controller on AnandTech's ABIT BX6 Revision 2 test board.
The first RAID tests were conducted on a dual Western Digital Caviar 8.4GB RAID 0 setup, both drives came cleanly formatted and were ready to go after a quick visit to the FastTrack's BIOS utility. The RAID 0 setup resulted in the formation of a single 16.8GB drive that was able to be partitioned under Windows 98 as a single FAT32 partition.
Switching the stripe size from the lowest possible setting of 8KB, to a higher 64KB stripe size required that the array be re-created and the software re-installed which was a bit of a hassle; especially considering that most home users will have a little more than a single operating system and some benchmarks installed on their drives, making it very painful to format and start over if you're trying to tweak your stripe size. The rule of thumb here is to pick a reasonable stripe size (64KB is recommended) and stick with it, as anything larger or smaller will probably hurt you in the long run.
The second suite of tests were conducted on a RAID 1 system, with the same dual 8.4GB drive setup from before configured as a single 8.4GB drive with an active 8.4GB mirror. The FastTrack BIOS did not offer any configuration options for RAID 1 setups so the installation went a bit smoother with this setup. The configuration data from the first array was still present on the drives and required a clean nuke of the data before AnandTech was able to proceed with the RAID 1 tests.
One of the most impressive parts of the entire FastTrack setup is the extreme detail present in Promise's documentation. Not only did Promise go the extra nine-yards to make sure that the installation and configuration of the FastTrack system was documented, but they also took the liberty of explaining the differences between the different levels of RAID and how they can benefit you as a user. Promise's written documentation is definitely a strong point of the FastTrack system.
As with all Promise controller cards, the FastTrack shipped with their own UltraTune configuration software that supposedly optimizes the performance of your hard disk for business/gaming applications or audio/video editing applications. UltraTune basically optimizes your system for random access or sequential read/write access depending on the type of application "optimization" you select from within the utility. A feature unique to FastTrack's UltraTune utility is the ability to control the PCI bus utilization of the controller, however for optimal performance you'll never want to drop the PCI bus utilization from the maximum possible value.
Windows NT was a little more difficult to setup with the FastTrack controller, as AnandTech did encounter a few compatibility problems during the setup phase. Luckily, the latest version of the FastTrack drivers worked well enough for the test system to complete the compatibility testing with more than decent marks. There are still a few areas of improvement with the drivers under Windows NT, but it seems like Promise will do nothing but strive to eliminate their weaknesses in that respect as they already have shown in recent times.
The FastSwap Pro
By taking the FastTrack controller card, and bundling it with a removable drive bay solution, Promise created the FastSwap Pro. Consisting of the same FastTrack bundle discussed earlier, the FastSwap Pro features two plastic, removable, 5.25" drive bays that hold your 3.25" hard drives for easy removal and transportation between FastTrack based systems. Unfortunately it seems like Promise skimped on the quality of the FastSwap Pro solution as the cheaply manufactured plastic removable bays are not sturdy at all, and don't appear to be able to last a normal hardware junkie's thrashing. |
The added cost of the FastSwap Pro will probably go wasted unless you plan on installing more than one FastTrack system in a lab where you'll need the ability to switch drives on the fly. Other than that remote case, the FastSwap Pro will be one of those unnecessary impulse purchases that will really offer you no benefit in the long run. If you're going to pursue this IDE RAID solution, remember why you're doing so, to keep costs down, so don't add to the costs by opting to go for a package you will probably never use.
On the bright side of things, Promise's documentation and setup instructions for the FastSwap Pro is top notch as well, making the entire solution an extremely easy to configure experience for even the most novice of users.
Performance
The AnandTech Test System Configuration was as follows:
- Intel Pentium II 400
- ABIT BX6 Revision 2
- 128MB PC100 SDRAM
- Two Western Digital Caviar AC28400 8.4GB - UltraATA HDDs
- Matrox Millennium G200 AGP Video Card (8MB) - All other Benchmarking
Ziff Davis Winbench 99 was run with Windows running at 1024 x 768 x 16-bit color. All tests were run with AV Optimizations turned on unless otherwise stated.
As you can tell, the business application performance of the FastTrack system offers very little improvement over a single drive, however once the scene shifts into the high-end arena, where sequential reads/writes are key to improving performance, the FastTrack offers up to a 17% increase in performance over a siingle drive.
The synthetic Winbench numbers show an incredible improvement in performance due to the IDE RAID system, unfortunately the synthetic marks are not representative of the actual performance gains in real world applications. Two points to pay attention to are the Access Time and CPU Utilization comparison charts. The lower CPU utilization of the two drives functioning in a RAID 0 system is a result of the slight offload of the CPU utilization onto the Promise FastTrack controller. And as you may be able to guess, the decreased access time is a result of the parallel access of the two drives in the array.
The individual high-end application tests show than the RAID 0 system can yield definitely noticeable performance increases of up to an extra 5MB/s during sequential transfers. Applications that don't make heavy use of sequential reads/writes such as Microstation, a CAD package, will actually perform somewhat slower on a striped RAID configuration. So be sure to weigh your needs wisely before pursuing any sort of RAID solution.
Conclusion
For home/business users, including gamers, the FastTrack IDE RAID solution has absolutely no real world benefit that would even begin to cause you to want the solution. Once the picture shifts into the high-end scene however, things begin to change. The 15 - 20% real world performance improvement under most high-end applications is definitely enough to justify the added cost of the FastTrack IDE RAID controller (around $115 - $130).
Keeping in mind that ideally, with any RAID solution, you'll want to use identical drives (your array is only as fast as the slowest drive in the array), a complete FastTrack setup can quickly add up to a somewhat overwhelming cost. Before embarking on a 100% FastTrack journey, compare prices to make sure that you're indeed getting the most bang for your buck out of this IDE RAID solution.
If the majority of the applications you run depend on long sequential read/write transfers, then the FastTrack solution will be ideal for you in terms of performance. Although FastTrack also offers RAID mirroring, the purpose of the FastTrack controller was never intended to be as a server solution simply due to the fact that IDE devices usually don't have much of a desired presence in server environments due to their increased CPU utilization vs SCSI devices. It is because of this that the fact that the FastTrack supports RAID 1 is considered negligible. There are very few home users that would need immediate backups of their personal documents should their hard drive fail.
A feature left desired, one that may or may not be implemented at a later time, would be Ultra ATA/66 support by the FastTrack controller. Other than that, Promise has a unique share of the market with the FastTrack, let's just hope that for Promise's sake, SCSI prices don't drop all that much.