On the one hand, a driver from a developer of an operating system provides the necessary functionality and is the most stable in operation; on the other hand, a driver from a device's manufacturer can give wider possibilities. Unfortunately, we don't pay due attention to the drivers installed in our systems - as a rule, new versions are not taken into consideration if a device works with old ones (but for video and audio drivers :). And if a driver is standard and is included in the OS, then people forget about it at all. Of course, there are opposite precedents - users install all possible latest drivers (even alpha and beta version), but there are not many such users. Both variants are extreme: drivers must be updated only if it is necessary for enabling of some functions or for a speed increase, otherwise stability of the system may fall, especially because home PCs can have a wealth of different devices not examined for compatibility.
One of the devices in a PC which has standard drivers almost in every OS is an IDE HDD controller. Unlike SCSI controllers, IDE ones are mostly integrated, that is why drivers for them are also integrated into an OS.
For the majority of users integrated IDE controllers appeared with chipsets for Intel Pentium of Intel 430 (FX, VX, HX, TX) series. They were simple and reliable. They supported all standards of data transfer via an IDE bus (PIO, DMA, MWDMA). The drivers were integrated into the Windows 95, and although they didn't support the Bus Master mode, the interest to the proprietary Intel's drivers was not great. One of the reasons was that the fastest transfer mode with a processor (PIO4) and without it (MWDMA2) gave nearly the same data rate equal to 16 MBytes/sEC. And only when users felt necessity in a powerful processor together with disc reading (when a digital MPEG video format on a PC became popular), the advantages of the Bus Master mode operation with a disc got in the center of attention. The Windows 95 OSR2 had drivers with the DMA mode support, which offloaded a processor when disc operations were implemented. Intel drivers were again late :) - not everyone wanted to change anything in a well operating system. It should be noted, however, that they weren't beautiful - almost only beta versions, a vague installer, bulky installation recommendations; the most of problems were solved only by deletion of the drivers.
But since then many things have changed: IDE bus speed has reached 100 MBytes/sec, necessity in the Bus Master drivers has grown as MPEG2 and MPEG4 appeared, and Intel's chipsets have changed a couple of generations. But Microsoft still offers integrated drivers for all Intel's chipsets including i815 in its latest operating systems (they are just compatible with the latest ICH of 82801xx series), with the DMA mode support. Nevertheless, we were interested in comparison of the latest version of Intel drivers for their IDE controllers (Intel Ultra ATA Storage Driver) with standard Microsoft drivers.
Test system configuration:
OS: Windows ME and Windows 2000 Pro.
We tested a Quantum disc with two versions of drivers - with standard drivers from Microsoft (on diagrams - with "MS" index) and with Intel ATA 6.10 drivers.
With the Intel ATA drivers the disc worked in the UDMA100 mode; this is proved by the program-configurator from the set of drivers and by the HDTach program - a reading speed from a disc buffer was more than 80 MBytes/sec.
In the tests with standard Microsoft drivers we enabled the DMA in the disc properties in order to switch on the UDMA mode in the Windows ME. The discs thus worked in the UDMA100 mode (it is also proved by the HDTach). We used the hotfix Q260233 to make the UDMA100 mode work with the Microsoft drivers under the Windows 2000. The HDTach 2.61 test proved that it allowed a disc to work exactly in the UDMA100 instead of the UDMA66. The buffer reading speed without the hotfix is 57.6 Mbps (UDMA66), with the hotfix it makes 85.5 Mbps (UDMA100).
The disc was set for the second channel of the integrated IDE controller. In the IOmeter test the disc is unpartitioned. In the ZDLabs there is one FAT32 partition (Windows ME) or NTFS (Windows 2000) for the whole disc.
The first part of the tests is conducted under the Windows ME. Since the IOMeter tests doesn't work in this system, we have taken only the ZDLabs.
In the new version of the Winstone 2001 packets the company refused a separate testing of PC subsystem, that is why the results are less informative. On the other hand, they use real applications:
A speed of operation with different drivers doesn't vary much. Now let's compare a CPU utilization (unfortunately, this parameter can be measured only for the Business series):
Here the results are also almost identical. We can calculate an efficiency parameter - a ratio of the speed (in Winstone units) to the CPU utilization percentage-wise:
The results say that the Intel ATA drivers do not bring in any vivid changes.
Now look at the figures of the ZDLabs Winbench 99 1.2. Operation of the applications with the hard disc (but without real programs) is modeled in this test. On the first diagram you can see how the speed changes (%) with the Intel ATA drivers in use:
As you can see, there are almost no differences in the integer scores of the Business and High End Disk Winmark. As for the applications, a 10% raise is noticeable in the FrontPage 98, (this program operates with small files) and a 8% decrease for the Sound Forge 4.0 (which operates with large files).
The Winbench 99 also measures the CPU utilization. The figures don't differ much, but let's compare the efficiency - a ratio of the Disk Winmark (thousands bytes per sec) to the CPU utilization (%):
The Intel ATA drivers don't help to gain the speed or to achieve less CPU utilization, and for the High End they even decrease the efficiency of operation.
The results of the test of disc reading and access time for both drivers are identical. It seems that the record density and access time do not define completely a speed of a disc subsystem. The effect in +10%, -8% is considerable enough to ignore it.
Usage of the Intel ATA drivers is not rational for the Windows ME. You should use drivers integrated into the OS and enable the DMA mode.
The Windows 2000 Pro is intended for a more professional user than the Windows ME. It supports a dual-processor configuration, NTFS and the information protection technology of the Windows NT.
The Windows NT requires 32-bit drivers, and utilization of the drivers in a real time mode is not allowable. Microsoft has included into the OS a lot of standard drivers for system devices. On the one hand, it ensures operability of standard equipment. On the other hand, it allows an equipment manufacturer to offer its own driver. For example, drivers for ATi video cards included into the Windows NT make possible to set high resolution and colority, but it doesn't ensure acceleration of 3D graphics displaying.
So, drivers from a manufacturer improve performance of a system. That is why installation of the Intel ATA drivers is of great interest.
The Windows 2000 differs from the Windows ME, first of all, in setting the UDMA mode at default, and allows controlling the current status of the driver.
Let's start with the ZDLabs Winstone 2001:
The situation is similar to the Windows ME. Despite the NTFS, the total results in the Windows 2000 are much higher than in the Windows ME.
The Intel ATA drivers loads the processor a bit more than the integrated ones.
The difference in the results is almost unnoticeable.
On the first diagram of the ZDLabs Winbench 99 1.2 you can see how the speed changes percentage-wise relative to the integrated drivers in case of the Intel ATA:
The speed falls down as much as 20% in some tests. It is strange that such effect was absent in the Winstone 2001. Now let's look at the efficiency:
A lower speed with the Intel ATA drivers and lower CPU utilization also with them make the efficiency results almost equal. The Winbench is not intended for drivers from a manufacturer. The results mean some incompatibility of the tests with the drivers. According to the ZDLabs results, you can see that applications weren't chosen correctly or Intel optimized the drivers for a set of unknown applications.
The Intel IOmeter tests uses patterns, that is why its results are of
great interest because of the different achievements of the Winstone and
Winbench. Let me remind you the settings:
For the important parameter Queue Depth we set the following values: 1, 32, 64, 128, 256. It allows modeling power of the load on a disc, for example running of several applications simultaneously etc. Time of implementation of each pattern was set to 10 min. The graphs for the IOps (operations per second) and MBps (Megabyte per second) are very similar to each other, that is why we give here only the second one. Besides, you can look at the graph of efficiency - a ratio of IOps to CPU utilization (%).
Unlike the ZDLabs, The IOmeter works with a physical disc, not with partitions. But it works via the controller's driver.
All patterns are divided into three parts - random reading/writing, successive reading/writing and integer patterns: File Server, Workstation, Database.
When the load grows, the speed of operation with the Intel ATA drivers doesn't differ much, with the standard Microsoft drivers it rises. A speed increase as the load grows is also typical of IDE controllers of VIA, Promise, and SCSI controllers. Let's look at the efficiency:
The Intel ATA drivers show a higher efficiency. An average CPU utilization is 0.8% and 0.4% for the Microsoft and Intel drivers respectively. A 0.4% gain at the expense of such a speed decrease is useless.
The Intel drivers made no effect in case of reading. When recording, the speed falls twice as the load grows.
The efficiency growth is well noticeable, but the average CPU utilization falls from 25% to 20% for reading, from 21% to 13% for recording.
The speed remains nearly the same as the load grows. (in the File Server and Database a disc access is random completely, and in the Workstation - it is random only by 80%).
On the whole, the average CPU utilization has fallen from 0.77% to 0.46%.
According to the IOmeter results, the Intel ATA adds efficiency to operation of the disc subsystem, but the price is too high. From the graphs of a ratio of MBps to CPU utilization (%) we won't see such a high efficiency growth caused by the Intel drivers.
Such a speed decrease can be caused by two factors: worse processing of random requests of reading/writing and successive requests for recording as the load grows. It seems that the drivers want to implement some optimization of these operations, but they fail. The speed falls extremly low at the successive recording.
We thus arrive at the conclusion that usage of the Intel ATA drivers in the IOmeter tests worsens the results. I'm even more disappointed with the fact that the graphs of the speed (IOps and MBps) with the Intel ATA drivers change their character – a speed growth descends as the load grows, or even becomes negative. It means that it is not beneficial to use the Intel ATA in the Windows 2000.
It is, however, difficult to explain such a mode of behavior of the drivers. That is why we contacted with the developers and here is what they said:
The optimization is unnoticeable, however, on the ZDLabs Winstone tests, and in the Winbench it worsens the results. Nobody can name definite applications where this optimization will boost the performance. The optimization for the Pentium 4 is of course excellent, but there are other systems, for example, Pentium 3, where this optimization won't work. The drivers are intended for the FAT32 because users of the NTFS prefer SCSI controllers and discs.
Here is a prototype of a user, who these drivers suit: he has a Pentium 4 computer, Windows ME operating system, a HDD with one large FAT32 partition. And he installs the drivers only to find out in the Intel Ultra ATA Companion at what speed his HDD operates.
From the drivers of the disc controller users expect a high speed and
efficiency on any platforms and in any file systems. That is why high-level
optimizations are better to be put in separate programs. And we should
expect from the drivers a speed of high-level requests to a disc.
Write a comment below. No registration needed!