Microsoft® Windows 2000 Knowledge Center
Taking Control of UDMA in Windows 2000
If you have arrived here through a search engine, and do not have a menu to the left, click here!
Enabling UDMA/Ultra ATA (Facts and Fiction)
As we have stressed in this article, don’t make any assumptions and make sure you do your research. To show you the importance of this, as well as how misleading some of the Internet articles can be, we’re going to take a look at one such article we have reviewed and let you see why it is misleading and why it could potentially damage your system.
In the article, the writer advises that you can determine whether or not UDMA/Ultra-ATA has been enabled by opening Device Manager, expanding the IDE ATA/ATAPI controllers reference in the device tree, and then right-click on the Primary IDE Channel and then select Properties. The writer states that, “under Advanced Settings you’ll see two listings for each device on this IDE chain, each with a setting labeled Transfer Mode, and that you should set both of these to “DMA if available”, and then click OK”. To demonstrate what the writer was referring to, he included a graphic of the Primary IDE Channel Properties on his system, see Figure 1.
The writer has assumed that every user will have this type of property sheet for their Primary and Secondary IDE Channels, and that each user will have the option to select a Transfer Mode of “DMA if available”. Unfortunately this is misleading, as in a great many cases, not only is the Transfer Mode selection option unavailable, the property sheet itself may be entirely different. Apparently the writer has overlooked the fact that the property sheet he is referring to is unique to his system. Confused yet? Well don’t be, as we will try and clarify this often confused subject.
In the above case, this well known technical writer overlooked the obvious. Just in the last couple of years, Intel has released the following motherboard/chipset combinations, 440BX AGPset; Intel® 440DX AGPset; Intel® 440EX AGPset; Intel® 440GX AGPset; Intel® 440LX AGPset; Intel® 440ZX AGPset; Intel® 440MX; Intel® 430TX PCIset; I810; I810E; I810E2; I815; I815E; I815EM; I815EP; I815P; I820; I820E; I840 and I850. These combinations employ various IDE bus chipsets. If you add to this just a few of the recent legacy chipsets such as those found on the Intel 430FX/VX/HX/TX and 440FX/EX chipset motherboards, along with some of the motherboards using the VIA chipsets and bus controller combinations, you can see that differences in property sheet information may vary widely.
As an example, Figure 2 provides you with a view of the IDE Bus property sheet for an Intel I840 based system that uses the Intel® 82801AA Ultra ATA Controller. The system has Windows 2000 Service Pack 1 installed, along with the correct Intel® I840 motherboard system information files and the Intel® Ultra ATA Storage Driver.
As you can see, there is no “Advanced Settings” tab, and likewise, no opportunity to select “DMA if available”. Does this mean that this system isn’t functioning correctly? If you relied on the information presented in the article we reviewed, it would appear so. Factually, however, the difference is in appearance only, as the drivers are correctly installed and the property information presented is “by design” according to Intel. What does this mean? Simply put, most motherboard manufacturers provide drivers for the IDE bus chipsets installed on their products.
The Dangerous Part
The writer, relying more on assumption then facts, suggests that as a next step that “you will need to manually enable ATA/66 speed, provided your system supports it, through a Registry hack“. Although he adds a caveat not to do this unless you’re sure you have ATA/66 support, he assumes that if you do have this support, then the suggested registry hack will work without difficulty. Nothing could be further from the truth. First, you must understand that any registry hacks you make that in any manner involve data handling have the potential to either damage or destroy your data. Second, by making assumptions and then suggesting that those assumptions apply to all systems, implies to the reader that the author is well versed on the subject and the changes suggested will do no damaged. Before making any changes to your system to enable UDMA/Ultra-ATA support, first determine what your IDE bus property should look like, and if different, then research why its different. This means that you will need to verify system capabilities with the manufacturer. Had we hacked the registry as the writer suggests, the system would have either locked up, provided us with blue screen error, or crash and taken our data with it.
The writers suggested registry hacks.
The writer points to this Registry key;
and states that there should be a DWORD key under \0000 named EnableUDMA66;
and if there isn’t such a key, create one and then reboot your system.
Here is a direct quote from the writer that we found difficult to reconcile. “Not initially enabling UDMA/66 support in Win2K appears to be a preventative measure to avoid data corruption, but it also has the downside of being irritatingly slow. To enable ATA/100 support, do all of the above, and also make sure you have Service Pack 1 installed. The SP1 version of ATAPI.SYS fixes problems people had with ATA/100 controllers.”
We can understand the writers confusion, as Microsoft has released a Knowledge Base Article that indicates that this is the method for enabling UDMA 66 support in Windows 2000. The flaw here though is that the writer didn’t do his homework, as Knowledge Base Article Q247951 was released 10/21/2000, well after the release of Service Pack 1 in July 2000. In addition, he closes his comments by stating that Service Pack 1 included a fix for users experiencing difficulty with ATA/100 controllers. Service Pack 1 included no such fix.
Q247951 – 10/21/2000 HOWTO: Enabling UDMA66 Mode on Intel Chipsets
Microsoft, however, adds the comment that this must be supported by the hardware. Had the writer gone to the next step in his research, he would have learned that making this registry hack had the potential to damage the data of his readership. Does this procedure work? Yes it does, in some circumstances, but not in all circumstances. Intel provides an enormous amount of information about how to enable UDMA or Ultra-ATA. You can read some of this information here, The Intel® Ultra ATA Storage Driver.
Why is this procedure dangerous?
We want to assure you that we haven’t singled out this technical writer for any malicious purpose. The subject can be confusing if you do not do the necessary research to insure that the fixes described really fit your situation. The single biggest objection we have with this writer are the assumptions made and the lack of research, from which he created an article on the Internet which users will presume to be authoritative based upon his reputation. He readily concedes that, “Not initially enabling UDMA/66 support in Win2K appears to be a preventative measure to avoid data corruption”. It’s obvious, in his need of an article to meet a deadline, that hasn’t taken the time to do the research. The reason Microsoft does not enable UDMA/Ultra-ATA support during the installation of Windows 2000 is due to the wide range of available computer systems and the accompanying high risk of data loss in the event it is enabled on a system that doesn’t support it, or on a system where specialized device drivers need to be installed.
Next, will provide you with some points to remember as well as relevant Microsoft Articles on the subject of UDMA and Ultra-ATA in Windows 2000.
Getting on the Right Track
Notice: Windows® 95, Windows® 98, Windows® NT, Windows® 2000 and
Microsoft® Office are registered trademarks or trademarks of the Microsoft Corporation.