lotus



previous page: 3.05  Why won't my two IDE drives work together?
  
page up: PC Hardware FAQ
  
next page: 3.07  How do I install a second controller?

3.06 Which is better, VLB or ISA IDE?




Description

This item is from the PC Hardware FAQ, by Willie Lim and Ralph Valentino with numerous contributions by others. (v1.25).

3.06 Which is better, VLB or ISA IDE?

[From: pieterh@sci.kun.nl]

If a simple answer is what you want, then yes, in general VLB IDE controllers are better than ISA ones. If you are purchasing or putting together a computer, the relatively small price difference makes the choice for a VLB controller a sensible one.

However, if you already have an ISA controller and are wondering whether it's worth upgrading to VLB, it's not that easy. VLB may be faster in principle, the question is if you're going to notice it.

*** The Bottlenecks

Let's take a look at what the limiting factors are in the path the data travels from your drive platter to the CPU.

1. Raw data transfer from the drive platter. To find out what this rate is, you need the spec sheet for your drive. Remember that it is dependent on the cylinder, so a single drive can give different results depending on where on the drive you're testing. Anyway, this transfer rate is 1 to 2 MB/s on most IDE drives, depending on data density and rotational speed.

2. The data has to be digested by the drive's onboard controller, which not only mediates between the drive hardware and the IDE bus, but also manages the buffer cache. Let's hope it's both fast and intelligent (not always the case *sigh*). 3. Data transfer over the IDE/ATA bus (2-3MB/s with standard timing). The actual speed depends on the timing used; some drives and controllers support faster timing. Enhanced IDE (IDE-2) can transfer up to 11 MB/s. 4. Transfer from the interface to the CPU (ISA: max 5 Mb/s, VLB: 10-80 MB/s depending on CPU clock, wait states, interface...) A generic IDE interface is usually not able to get the most out of the ISA and IDE bandwidths (3 and 4); a typical upper limit is about 2 MB/s if you use block transfers (see below), 2.5 MB/s if you're willing to push the ISA bus clock a little (more about that later on).

Still, it's clear that on all but the fastest drives the raw data transfer rate to/from the drive platter (1) will determine the maximum performance you're going to get. If you're getting transfer rates near this limit, you can't significantly improve your throughput whatever you do.

*** Tuning Your Harddisk

Suppose your harddisk throughput is lower than you think is possible with your drive. How can you tune your system to improve hard disk performance? I'll go through points 1-4 again and indicate what you can do to widen up the bottlenecks a little.

1. Drive platter to head transfer.

- Sorry, there's nothing you can do short of getting a new drive. 2. The drive controller.

- Many modern drives understand "block transfer", also known as multi-sector I/O or read/write multiple. Although the newest BIOSes have this feature built in, most of us will have to use a driver. More about that at the end of this section. What is block transfer? Normally, for each sector the computer wants to read from or write to the drive, it has to issue a separate command. When you're transfering 2 MB/s, that means you're sending the drive 4,000 commands each second. Each command has to be issued by the CPU, transferred over the ISA and IDE buses, interpreted and acted upon by the drive's onboard controller. Every such command takes a little time. By using block transfer mode, it is possible to read or write more than one sector (usually 4 to 32) using a single command. This greatly cuts down command overhead, as you can imagine, and may very well have a dramatic effect on a badly performing system. In most cases, it will improve performance by 5-20%. Unfortunately some older drives have inferior support of this feature and actually slow down... or in exceptional cases even hose your data.

3. The IDE bus.

- With most drives you can use faster IDE bus timing, but your interface has to support this. Modern IDE interface chips often have completely programmable timing; these can be exceptionally fast if the software supports this feature and, of course, if the drive can keep up. Some controllers use jumpers to configure timing.

The last word in IDE bus bandwidth is of course the Enhanced IDE bus, which allows exceedingly fast transfers if both drives and interface support it.

If you cannot use improved timing with a new VLB interface, the IDE bus will prove to be as much as a bottleneck as the ISA bus was.

- Not all interfaces are created equal, some are better engineered. With the current VLB hype, there's bound to be a friend who has an old (ISA) interface gathering dust; try that one.

4. The ISA bus.

- The official speed of the ISA bus is about 8 MHz, but most cards, especially modern ones, will work fine on 11 MHz or more (some will even take as much as 20 MHz). If you don't mind experimenting, it may be worthwhile to see if your ISA cards run reliably at a higher bus clock. This is especially interesting if your drive nears the 2MB/s mark.

The BIOS setup has to support this, of course.

*WARNING* Pushing the ISA bus clock beyond spec often works well, but there is always the risk that it DESTROYS YOUR DATA. Make a backup before attempting this and thoroughly verify correct operation before entrusting critical jobs to a "pushed" system.

- Finally, if you need more than the 2.5-3 MB/s or so you can squeeze out of a good ISA controller, VLB is the way to go. Be aware that the controllers on the market are of variable quality; VLB alone isn't going to be enough if you need the highest performance. It has occurred that a VLB interface proved to be, all things equal, slower than the ISA one it replaced!

Take special note of the drivers: they must be stable and support whatever software you intend to use (DOS, Windows 32-bit VxD, OS/2). Without a driver loaded, the VLB interface will perform no better than an ISA controller.

A final word about block transfer drivers. VLB controllers are usually shipped with a TSR that, among other things, enables block transfers (usually designated "Turbo" mode)---this is often where most of the performance gain actually comes from. But block mode is equally possible using ISA based interfaces. Popular block transfer drivers are Drive Rocket and DiskQwik. You can get a crippled version of the latter from Simtel:

pub/msdos/diskutil/dqwik110.zip

If you're using Linux, you can use Mark Lord's IDE performance patches to enable block mode. In true multitasking operating systems, block transfers have the additional advantage of greatly reducing CPU load.

 

Continue to:













TOP
previous page: 3.05  Why won't my two IDE drives work together?
  
page up: PC Hardware FAQ
  
next page: 3.07  How do I install a second controller?