VOICE Home Page: http://www.os2voice.org
[Newsletter Index]
[Previous Page] [Next Page]
[Features Index]

August 2000

The IWill SIDE-Pro 66 Ultra ATA66 IDE Controller Card

By Mark Dodel ©August 2000

IWill : http://www.iwill.net/
IWill USA: http://www.iwillusa.com/
Maxtor Corporation: http://www.maxtor.com
IBM1S506 IDE Driver: ftp://ftp.software.ibm.com/ps/products/os2/os2ddpak/ibm1s506.add
DANIS506 Replacement IDE Driver: http://hobbes.nmsu.edu/cgi-bin/h-search?key=DANIS506

Backup Strategy

I've used a SCSI TRAVAN 4 tape backup for several years now. Although it works fine with BackAgain/2000 and I can make backups across network drives, it has some limitations. Tapes are expensive, and backing up large amounts of data takes a while. If it's more then 4Gig, I have to be around to change the tape. Also I've had some backups fail because of tape, or drive problems. I have a Yamaha CDRW drive, that I use with RSJ. This makes a good backup process, since the CDR disks are readable in just about any modern CDROM. Unfortunately, they are limited to about 650MB of storage. So this is not the method for large scale backups. Also you can't store extended attributes (EAs) on a CD, since the CDFS file system doesn't know what to do with them. You have to make a ZIP archive to preserve the EAs. And there is the problem that Files written to a CD, when copied back to a drive, are marked as readonly. So for awhile I have been using both methods.

All of this, combined with the ever decreasing prices for IDE hard drives, got me to thinking that maybe I needed yet a third option to add to my backup strategy. Recently in the mainframe world in which I work, inexpensive drives have begun to be used to automatically store files that haven't been accessed for a specified period of time. This process frees up space on the more expensive mainframe drives which are much faster. This process is handled automatically by software which moves files back and forth depending on date of usage. The process is somewhat elaborate for a pc user's needs, but it got me thinking that I could do something like that as well. I have many files that I don't want to delete, but that I don't currently use. Plus just being able to copy files directly to a backup device, and restore them at will has a great deal of appeal.

Almost all my systems in use are SCSI only. Buying a large SCSI drive, especially one approaching the size range of the largest IDE drives, still costs a small fortune. IDE drives are now available up to 75Gig. Even these huge drives can be found for around $300 or less. So I began looking around.

Using Price Watch (http://www.pricewatch.com), I found a Maxtor Diamond Max 61.4Gig Ultra66UDMA hard drive for $264 (plus $16.95 Shipping) at Comp-U-Plus. Looking today, about a month later, the price is now down to $245. 61.4 Gig will hold many backups of my operating system, application and data partitions. I bought the drive. Even though it supports the Ultra66 standard, these drives are backward compatible with the standard IDE. So it will work even if your system does not have support for Ultra ATA/66. The Maxtor Diamond Max 61.4Gig drive has a 2MB buffer, 5,400 RPM Spin Speed, claims <9.0 ms average seek, a 3-year warranty and also claims to support Ultra Mode 5 for up to 66 MB/sec data.

Of course to get the most out of this drive, you would want an IDE controller that supports Ultra ATA/66 technology. This is the point of this article. None of my systems support ATA/66. An add-in card is required if I want to get the most out of this drive. While checking out Egghead.com I saw an IWill Ultra ATA/66 PCI card on sale for only $18 plus an additional $7.95 S+H(boy these place nail you on the S+H don't they?). So I thought for that price I'd give it a try. Today (July 13th) I see the same card on Egghead's Auction site http://www.egghead.com/atauction/computers/computers.htm for $4 plus S+H, so perhaps you might check that out if you are interested in buying this card.

The IWill SIDE PRO 66 card uses a High Point HPT366 chipset that is supported by the DANIS506 driver. You can find the most recent version of this driver on Hobbes. The card has two IDE channels that support two IDE devices each. The unit comes with one 80Pin ATA/66 IDE cable, a 20+ page manual and a diskette with windows drivers. According to their website FAQ http://support.iwill.net/pro66.htm the card will support up to 128GB hard drive and has a flashable 1Meg BIOS ROM.

Installing the IWill SIDE PRO 66 Card

There is no support from IWill for OS/2. The manual only addresses installation under windows 95, 98 and NT 4.0. The manual does state that the cards BIOS supports installation under DOS 5.x or better and Windows 3.1 without any additional software. It is a PnP PCI card. There are no switches to configure.

The system I installed the Maxtor drive in has the following:

SuperMicro P6DNF motherboard with dual Pentium Pro 200 CPU's overclocked to 233MHz.
128Meg of EDO RAM.
Adaptec AHA2940-UW SCSI controller with an IBM 9.1Gig DNES UW-SCSI drive.
Pioneer 32X SCSI CDROM drive
ATI Rage 3D II+ display card
IBM OS/2 Warp Server for eBusiness with FP1.

I first tried to install the Maxtor 61.4Gig drive using the systems built-in IDE controller. Since I had no other IDE devices in this machine I first went into my system BIOS and enabled the onboard Primary IDE controller. I then checked the IDE devices in the BIOS to make sure they were listed as "Not Installed". The reason for this step is that I wanted the system to continue to boot to the SCSI drive and not attempt to boot off of the new IDE drive. Your situation may vary. Although there are no markings on my motherboard, it is important to orient the cable end correctly. My first try at connecting the regular IDE cable to the primary IDE adapter on my motherboard resulted in a non-booting system. I reversed the cable connector. The system booted right up.

Using the latest version of OS/2's IBM IDE driver from DDPakOnline ftp://ftp.software.ibm.com/ps/products/os2/os2ddpak/ibm1s506.add that is dated 07/12/1999. The IBM driver detected the Maxtor, and the correct physical layout of the drive - 16,383 Cylinders, 16 Heads and 63 Sectors per cylinder. The drive output also showed that Bus Mastering was enabled and that DMA2/PIO4 modes were selected. DiskIO only showed 2047 MB of space on the drive. The drive is in fact partitioned as one large JFS (Journaled File System) primary partition. LVM had previously shown that 58,610MB were usable. Since a MB is actually 1,048,576 Bytes, that works out to 61.4 Billion Bytes which is probably how Maxtor defines the drives size. In fact Maxtor's specification page for this drive does state that "One Gigabyte (GB) as 10^9 or One Billion Bytes (1,000,000,000)". Anyway, this was not a very appealing configuration, with only 2Gig of space usable on a 61.4Gig drive.

Another interesting fact I uncovered reading the Specification page for this drive is:

To/From Interface (UDMA/66): ............. Up to 66.0 MBs
To/From Media: ........................... Up to 40.8 MBs"
So the 66 MB/second speed is only for the buffer read/writes. the maximum speed for read/write to the actual drive media is only 40.8.

I next tried a new release DANIS506 driver (Release 1.25) that I received directly from the driver's author, Daniela Engert, with the Maxtor drive again connected to the motherboard IDE primary controller. On boot the DANIS506 driver also properly identified the drive and had it enabled as Bus Mastered with DMA2/PIO4 modes selected. The system booted without a problem. DMA 2 is a maximum of 33.3MB/second.

The IWill SIDE PRO66 card layout.

Initially after installing the IWill SIDE PRO 66 card, I had a problem with the system hanging on bootup. After a great deal of fooling around with the system BIOS settings I discovered that the system would boot if the IWill card was not sharing an IRQ. Since it is only PnP without any switches, this took some doing. I ended up assigning an IRQ to each of my 4 PCI slots so that the IWill card would have it's own IRQ. Of course if you are using this card as a replacement for your onboard IDE adapters, you can turn those off in the system BIOS which gets you 2 more IRQs(IRQ15 used by the primary IDE adapter, and IRQ14 used by the secondary IDE adapter). Daniella Engert tells me she has an ABit HotHod 66 controller board, which is based on the same HPT366 chip as the IWill SIDE PRO 66 card, but that it never experienced any problems with sharing an IRQ in any of the Super7 boards she has tested it with. Whether this problem is with my particlar board(a SuperMicro P6DNF Dual Pentium Pro), or with the card itself, just be aware of it in case you run into a similar problem.

The IWill card only supports the Ultra ATA 66 speed if the included 80 pin cable is used, so I thought I'd try the standard IDE cable first.

I doubted the IBM1S506.ADD driver would work with the ATA66 card, but I tried it none-the-less. With the IWill card installed in a PCI slot, booting the computer, the IBM1S506 driver stated, "Adapter not detected".

Next I attached the BLUE connector on the 80 Pin cable to the appropriate 40 pin IDE plug on the SIDE-Pro66. Attach the BLACK connector to the mating plug on the master hard drive. Then finally if necessary attach the GREY connector to the mating plug on the slave drive ( Secondary HDD, CD-ROM, etc). The cable included with my IWill card was keyed on all ends so it could only go on one way. Also there was one blocked pin hole on the cable ends. This cable could not be used to connect to a regular IDE drive or adapter.

With the Maxtor Drive connected to the IWill card, the 80 pin cable connected, and the DANIS506 driver with no parameters the driver enabled the drive for Ultra DMA4/PIO4. Running any sustained file access against the drive with those settings resulted in a complete system freeze. Unfortunately with this speed, the system froze, requiring a Ctl-Alt-Numlock-Numlock to reset it. Any heavy use of the Maxtor drive (ie. finalizing a CDR using the Maxtor as the cache for RSJ, or running Sysbench also caused the system to freeze). Since my goal was to make this machine my server, I didn't want to risk system lockups.

I then changed my system configuration to the still use the DANIS506 driver, but now use the regular IDE cable. On boot, the driver enabled Bus Mastering and DMA2/PIO4 modes. The system worked without any of the previously experienced lockups. I corresponded with Daniela Engert, the author of the DANIS506 driver. When I told her about the lockups and the "buzzing" sound generated during them, she referred me to the DANIS506.DOC file in the driver package. Yes, I didn't read the manual, but I've been using her driver for so long I never think to do that. So I looked, and of course it was right there:

"If you hear short beeps, then the data transfer state-machine encountered an exception: a high beep indicates a UDMA CRC failure, a low beep an error reported by the hardware which leads to a interface reset eventually, and a middle beep indicates a command timeout (usually caused by a spun-down harddisk)."

So I tried the 80pin cable again with the DANIS506 driver, and this time I used the parameters to scale back the speed, and then increased it until I was sure I could be safe from system lockups. The correct line in my CONFIG.SYS is now:

BASEDEV=DANIS506.ADD /W /A:2 /U:0 /80WIRE /MR:424
The above parameters set the driver to:
/W Wait during boot process for the user to press Enter key, while displaying driver output.
/A:2 Apply the following parameters to Adapter 2. (The first Adapter is 0, the second adapter is 1).
/U:0 Apply the following parameters to the first device(unit) on the selected Adapter.
/80WIRE The device is using an 80 pin cable. In my case this didn't seem to make a difference.
/MR:udp Enable the following modes:
u is the Ultra DMA mode.
0 - disable Ultra DMA
1 - limit to Ultra DMA mode 0
2 - limit to Ultra DMA mode 1
3 - limit to Ultra DMA mode 2
4 - limit to Ultra DMA mode 3
5 - limit to Ultra DMA mode 4
6 - limit to Ultra DMA mode 5
d is for Multi Word DMA selection.

0 - disable MW DMA
1 - limit to MW DMA mode 0 (in S506.ADD effectively the same as 0)
2 - limit to MW DMA mode 1
3 - limit to MW DMA mode 2
p is for the PIO mode.
0 - limit to PIO mode 0
1 - limit to PIO mode 1 (in S506.ADD effectively PIO 0)
2 - limit to PIO mode 2 (in S506.ADD effectively PIO 0)
3 - limit to PIO mode 3 (with flow control)
4 - limit to PIO mode 4 (with flow control)
The combination of these three parameters determines the speed at which the data moves to/from the drive. So a setting of /MR:424 sets the mode to Ultra DMA3/PIO4 with a limit to Multi-word DMA mode 1. Ultra DMA3 has a maximum transfer rate 44.4MB/second; Ultra DMA4 has a maximum transfer rate 66MB/second; Ultra DMA5 has a maximum transfer rate 100MB/second;

The best I am getting Ultra DMA3, or a max of 44.4MB/second. When trying to debug my system lockup problems I communicated with Daniela Engert the developer of the DANIS506 driver. She informed me that "due to incompatibilities between the HPT366 chip and the UltraDMA implementation of particular manufacturers, both the Linux driver and the HighPoint WinXY driver "blacklist" virtually all Maxtor drives and a couple of WDC drives. If one of these is detected, they are operated far below their rated cable speeds. I didn't do that in DaniS506.ADD". So the drive may be rated at ATA66 but it appears it's not really capable of it. I should have spent more and gotten the IBM 75Gig I guess. And this explained my problem with system lockups when booting at the Ultra DMA4 speed.


For each different configuration I ran both Sysbench 0.9.4g http://warped.cswnet.com/Sysbench and DiskIO 1.17 http://hobbes.nmsu.edu/cgi-bin/h-search?key=DISKIO&pushbutton=Search benchmarking programs. For a base comparison I used the IBM DNES UW-SCSI drive attached to an Adaptec AHA2940-UW SCSI controller, installed in the system. Then I tried using both the IBM1S506.ADD driver (dated 07/12/2000) from IBM's OS/2 DDPakOnline ftp://ftp.software.ibm.com/ps/products/os2/os2ddpak/ibm1s506.add and then Daniela Engert's DANIS506 driver http://hobbes.nmsu.edu/cgi-bin/h-search?key=DANIS506.

Drive Benchmarks
Drive Configuration
Avg data access time
Cache/Bus transfer rate
Average(Mean) Data transfer rate
Disk CPU Use
Benchmark used
IBM 9.1Gig DNES-309170W
11.7 ms
28.813 MB/sec
15.671 MB/sec
Sysbench 0.9.4g
UW-SCSI drive
11.8 ms
24,292 MB/sec
13,338 MB/sec
DiskIO 1.17
Maxtor 61.4Gig with IBM1S506,
11.1 ms
14.314 MB/sec
11.479 MB/sec
Sysbench 0.9.4g
 on board IDE adapter/cable.
11.0 ms
9.8125 MB/sec
5.117 MB/sec
DiskIO 1.17
Maxtor 61.4Gig with DANIS506,
22.6 ms
14.299 MB/sec
13.843 MB/sec
Sysbench 0.9.4g
on board IDE adapter/cable.
22.8 ms
13.268 MB/sec
11.764 MB/sec
DiskIO 1.17
Maxtor 61.4Gig with DANIS506,
23.0 ms
19.745 MB/sec
24.916 MB/sec
Sysbench 0.9.4g
 IWill ATA66, regular cable.
22.5 ms
21.707 MB/sec
15.628 MB/sec
DiskIO 1.17
Maxtor 61.4Gig with DANIS506,
22.9 ms
28.630 MB/sec
21.284 MB/sec
Sysbench 0.9.4g
 IWill ATA66, 80pin cable.
22.5 ms
24.566 MB/sec
17.321 MB/sec
DiskIO 1.17

Just some quick observations about the data in the above table.

1. Sysbench always shows significant higher CPU usage then DiskIO. Can anyone explain this? Is it because Sysbench is a PM app, and DiskIo a Command Line app? Or perhaps just the logic used to calculate this in both programs?

2. For the Maxtor connected to the onboard IDE controller with the IBM1S506.ADD driver, only 2047MB were available, hence the very fast Average data access time.

3. The Maxtor drive in combination with the IWill ATA66 card and the 80Pin cable, had benchmarks close to or even surpassing the UW-SCSI IBM drive, except for the Average data access time which stayed the same.

4.There was a significant increase in throughput using the IWill card/80pin cable combination over the motherboard IDE adapter. Throughput benchmarks increased anywhere from 35% to 100%.

5. I asked Daniella Engert to take a look at this article and give me her thoughts on the data above:

"From your test results I get the impression that the EIDE subsystem
is seriously impacted by the slow CPU. This is due to the non-pipelined
driver operation inherited from IBM1S506.ADD. Maybe I'll implement
full pipelining (if possible at all) in the far future, but this would
require a major rewrite of many parts of the driver."


Overall, I have to say that this setup, when fully configured works well. I don't think I'll be giving up my SCSI drives just yet, but it's nice to see that with Daniela's replacement IDE driver we can keep up with the latest advancements in IDE drive technology.

I was never able to get into IWill's USA website. Netscape always returned that the server was down. Guess they run windoze. Also on the main IWill website, I had problems getting to some pages. The one I needed was the one with specs on the SIDE PRO 66 card. I could reach the FAQ page on the SIDE PRO 66 http://support.iwill.net/pro66.htm. I didn't have to contact their support, so I have no idea how good it is, or whether they wouldn't answer any questions if I told them I ran OS/2.

One downside to this card is it's insistence on using an exclusive IRQ. This can be a problem if you have none to spare. I don't know if this same problem exists for other brands of Ultra-66 cards as well. Had I known about the Maxtor problem with ATA66 speed, I probably would have gotten a different brand drive, most likely IBM. But for my use as a backup partition, UDMA3 is sufficient, though it's not all that much faster then the UDMA2 I can get using my systems onboard IDE adpater. So if I need the PCI slot I may just go back to the motherboard controller.

Note: I relied heavily on the documentation for the DANIS506 driver for most of the IDE-ATA facts in this article. Especially the tables for the driver settings and the UDMA speeds. If you download the DANIS506 driver, be sure to read the DANIS506.DOC file, which will explain in more detail how and why all this works.

[Previous Page ] [ Index] [Next Page
VOICE Home Page: http://www.os2voice.org