Good question. The basic answer is that the advertised modes are
theoretical transfer rates.
This is the case at two levels. First and foremost, the oft-quoted
rates do not represent the speed at which the drive can actually read
data from, or write data to, the magnetic media. Instead, they give
the speed at which data can be exchanged between the drive's buffer
cache and the CPU. While the latter gives the more imposing figures,
the former has greater impact on real world performance. "It is
really as if the government had had a speed limit of 250 km/h on the
highways, then raised it to 1600 km/h and tried to impress you by
telling you that now you can drive faster"--Aaron Bilger
(
bilgerar@mentor.cc.purdue.edu
).
Second, even once you accept that these transfer rates can be achieved
only when the drive happens to have the data ready in the buffer
cache, these figures are pretty optimistic. Realistically, drives do
more than just give data to the host out of the cache. For each sector
transferred to the host, the drive's controller needs to get one from
the media; internal controller processing, table updates, positioning
and buffer cache management all take some of the controller's
attention. All reduce the throughput from the cache to the host.
On top of that, depending on the benchmark used to determine
the 'throughput', the rate can vary from 3MB/s to 30MB/s and upwards, all
on the same drive. This depends on what the utility actually
measures, how it measures it, and even where on the drive it measures
it (different zones on the same drive can vary up to a factor two in
speed). Plus, system configuration (MHz CPU, RAM, harddisk cache,
processor cache) make a difference as well.
Bottom line is, whatever benchmark you use, you will not 'see' the
advertised transfer rate. The real test is how well it improves
your day to day applications. The rest is just fluff.
There are several reasons why it is possible that an Ultra-ATA
interface is no faster than an older one even if the drivers are
installed and everything works properly. The first, and most
important, is that the bandwidth of the fastest ATA-2 mode, 16.6MB/s,
exceeds the real world transfer rate of most drives on the market
today by a considerable margin. If this is the case for your drive,
increasing the interface bandwidth beyond this will have no noticeable
effect.
A further possibility is that your drive does not support the
Ultra-ATA transfer modes at all. In that case, an Ultra-ATA interface
may improve performance relative to an old-fashioned ISA bus or VL bus
interface, but it will be no faster than a good PCI ATA-2 (EIDE)
interface.
Believe it or not, but this is completely normal. First, filesystem
fragmentation affects some benchmarks; try defragging the drive. Second, not
all parts of the drive are equally fast.
Physically, a harddrive consists of one or more rotating platters, where the
tracks are concentrical circles on these platters. Obviously, the outermost
tracks are longer than the innermost ones. Because they are longer, they can
hold more sectors. As you work your way inwards and the track length
decreases, the number of sectors decreases in a number of steps. This is
referred to as Zone Bit Recording (ZBR).
Back to the benchmarks. Since the platter spins at a constant rate, more
sectors in a track give a proportionally higher transfer rate. The very first
cylinder of your drive is right at the edge of the platter, in the fastest
zone. This is the area that was tested when you got your drive and tried to
find out how well it performed. As your drive fills up, you start using higher
cylinder numbers---and slower zones. Depending on the type of benchmark you
use, this may be reflected in lower scores.
The difference in sectors per track (and hence transfer rate) between the
fastest and the slowest zone may be as much as a factor two. Typical drives
have anything from five to twenty zones, all with a different number of
sectors per track.
First of all, busmastering will generally not do much with the
transfer rates themselves. What it does is relieve the CPU from the
chore of shovelling data around, so that it can do something more
useful. However if you tend to do only one thing at a time, or you're
running a benchmark, the extra CPU time can't be used for anything and
busmastering will have no appreciable effect.
Second, you will not see any decrease in CPU usage with the System Monitor
in Win95 because it tracks the amount of time spent in the "system idle"
loop. However, with a pending I/O operation, the system doesn't spend its
spare cycles there, but in the "waiting for I/O to complete" loop.
Third, you need to use DMA to profit from the improved data integrity
and enhanced transfer rates of Ultra-ATA.
Next Chapter, Previous Chapter
Table of contents of this chapter,
General table of contents
Top of the document,
Beginning of this Chapter