IOTEST 1.2 - Disk I/O Reliability Test Copyright 1995 PowerQuest Corporation All Rights Reserved PowerQuest Corporation 1083 N State Orem, UT 84057 voice: 801-226-8977 fax: 801-226-8941 email: scotl@powerquest.com Web: http://www.powerquest.com ***** PLEASE READ THIS VERY CAREFULLY!! ***** IF YOU DO NOT, IT COULD COST YOU YOUR DATA. ALL OF YOUR FILES ON ALL OF YOUR DRIVES COULD BE DESTROYED BY A DATA-CORRUPTING I/O ERROR! We have found a serious data corruption bug in the PCI controller chip of many popular computers. It shows up most easily when multitasking between the hard drive and the floppy, but can be caused by other types of interrupts. The corruption is a "loss" of bytes, causing all data after the lost bytes to be shifted. This has serious implications, and has destroyed partitions. If the operating system happens to be reading the FAT when corruption occurs, the entire partition can be destroyed. The PC-Tech RZ1000 chip is known to have this problem. We have found a work-around for some BIOSes: Changing the "PCI IDE prefetch buffers" BIOS setting to DISABLED completely eliminates the error. Unfortunately, not all machines with the problem allow this setting to be changed by the user. Testing has shown that having the prefetch buffer on gives a 2-3% performance boost. IBM has developed a new disk driver to prevent this problem from occurring in OS/2. It will detect the RZ1000 chip and disable PCI Prefetch Buffers if it is present. It will be available on our web page (HTTP://WWW.POWERQUEST.COM) on the week of August 14th. The IBM OS/2 APAR number for this problem is PJ-19409. HOW TO USE IOTEST FOLLOW THESE INSTRUCTIONS VERY CAREFULLY Usage: IOTEST IOTEST will create a large file on the drive you specify. This file will have a unique pattern that will show any read errors immediately. It also continuously reads the disk, heavily exercising the disk I/O system. After creating this test file, you will be instructed to begin formatting a floppy or copying large files to a floppy. If your machine has the bug, ANY WRITE OPERATIONS TO ANY PARTITION WHILE THE FLOPPY IS BEING FORMATTED COULD CAUSE THE ENTIRE PARTITION TO BE DESTROYED. THIS INCLUDES THE OS/2 SWAPPER.DAT FILE. DO NOT DO ANYTHING ELSE WITH YOUR COMPUTER WHILE RUNNING THIS TEST! We recommend that you run the test on partitions that contain no valuable data. If you do not have a partition to spare on a drive you wish to test, use PartitionMagic from DOS to shrink your existing partitions and create some free space. Then use FDISK to create a new partition that uses the newly created free space. The test partition should be at least 5 MEG. The test can be allowed to run for any period of time, but usually the amount of time it takes to format two floppies is sufficient. All physical drives should be tested. EXAMPLE IOTEST G: HOW TO TEST WITHOUT IOTEST 1) Make a temporary directory. 2) Copy a number of files from one directory to the temporary directory. 3) Begin formatting a floppy in the background. 4) Use the operating system's file compare utility to compare the files in the temp directory to the files in the source directory. For example: OS/2: comp c:\os2\boot\*.* c:\temp\*.* DOS: fc c:\dos\*.* c:\temp\*.* 5) This test should be run several times. LICENSE IOTEST may be distributed and used freely, provided that this README file and IOTEST.EXE are kept together, and neither are modified. Please give IOTEST to all your friends and colleagues, and post it on all BBS, usegroups, and electronic forums that you frequent. This document outlines a problem with PCI computers that use the PC Tech RZ1000 IDE controller. For newer, more up-to-date information, check our web page at HTTP://WWW.POWERQUEST.COM. This problem presents the potential for data corruption which could manifest itself as a misspelled word in a document, incorrect values or account balances in accounting software, unexplained GP faults when program execution reaches a corrupted instruction in the .EXE, destruction of directory trees, or even corruption of an entire partition or drive. Power quest, Intel, PC Tech, and others within the industry have been investigating this problem and have reached the following conclusions: 1) This problem is a consequence of the RZ1000's inability to fully compensate for all the implications of running an IDE hard disk as an extension of the PCI bus, instead of running as an extension of the AT bus which it was originally designed to do. 2) Intel motherboard BIOS's, DOS, Windows 2.x, Windows 3.x, and Windows 95 are not susceptible to this problem. 3) Certain versions of Windows NT, OS/2, and Linux are susceptible to this problem. The list below provides details. OS Potential Problem ? Workarounds/Comments DOS version x No* N.A. Windows 2.x No* N.A. Windows 3.x No* N.A. Windows 3.x using 32-Bit Disk Access driver Under Investigation ** Windows NT version 3.1 Yes 1) Disable PCI read ahead in BIOS Setup if option is available 2) Obtain patch (ATDISK.SYS) from Microsoft Windows NT version 3.5+ No N.A. Windows 95 No N.A. OS/2 2.0 and later Yes 1) Disable PCI read ahead in BIOS Setup if option is available 2) Load the IBMINT13.I13 driver instead of IBM1S506.ADD driver. This will prevent the chance of data corruption but has performance implications. 3) Contact IBM for patch OS/2 Warp version 3 Yes 1) Disable PCI read ahead and later in BIOS Setup if option is available 2) Obtain IBM OS/2 APAR PJ-19409 from our web page, available the week of August 13th. 3) If you can not do #1 or #2 load the IBMINT13.I13 driver instead of IBM1S506.ADD driver. This will prevent the chance of data corruption but has performance implications. LINUX Yes 1) Disable PCI read ahead in BIOS Setup if option is available 2) Re-write IDE driver such that driver reads drive status, not ISR. Get updated technical information from our web page. Other Operating Systems Under Investigation This list represents the most popular operating systems. Power quest and Intel will continue to investigate the susceptibility of other operating systems. * These operating systems rely on the motherboard BIOS to access IDE disks. It is known that the BIOS on motherboards provided by Intel structure their I/O in a manner such that there is not an issue. ** Intel and Western Digital have completed extensive stress testing and have seen no problems. Intel is continuing to investigate. Further details will be made available on our home page at a later date. Q: Which computers have the problem? A: The PC-Tech RZ1000 was used on early Intel PCI motherboards and motherboards produced by other manufacturers. Intel is no longer making volume shipments of motherboards with this chip. The latest Triton chipset based motherboards from Intel do not use the RZ1000 and are not susceptible to this problem. Q: How do I find out if I have the problem? A: On our web page (http://www.powerquest.com) is posted IOTEST.ZIP. This program will create a large file on your hard disk with a known bit pattern. You will then be instructed to begin formatting a floppy. After you begin formatting the floppy, IOTEST will repeatedly read the test file and check the bit pattern. The only way for an error to occur is if incorrect data is read from the file, indicating that you have the problem. IOTEST is an OS/2 executable. The README.TXT file included will describe an alternative method that can be used to test any operating system. Q: Can I look at the motherboard and see if it has the chip? A: Yes. Between the PCI slots and the edge of the motherboard, look for a chip (about «" by 3/4") that says RZ1000 on it. Q: If I have OS/2, what do I do until the fix is available? A: If your BIOS has an "IDE Prefetch Buffers" option, set it to OFF. If your CMOS settings don't have the option of turning off prefetch buffers, replacing IBM1S506.ADD with IBMINT13.I13 will make the computer safe to use, but will affect multitasking performance. The fixed driver (APAR PJ-19409) will not affect performance. Q: How was this problem discovered? A: Power quest's development team discovered the problem while developing PartitionMagic. A diagnostic utility, IOTEST was developed as a way for OS/2 users to test the integrity of their hardware before using PartitionMagic to modify their partitions. We have released IOTEST as freeware to help users determine if they are possibly exposed to this potential problem. Q: Where can I get more technical information on this problem? A: Power quest, Intel and PC Tech are continuing their investigation. More data will be posted on this page the week of August 14th.