[comp.sys.ibm.pc.hardware] Always IN-2000 SCSI host adapter

iverson@xstor.com (Tim Iverson) (06/07/91)

Recently, it has come to my attention that the current BIOS in the Always
IN-2000 SCSI host adapter no longer disables interrupts during transfers.
And, despite other problems, seems to be marginally useful as a host
adapter for a DOS only system.

Since my now out-of-date information on disabling interrupts seems to have
caused Always some concern, I decided I owed them (and the net) an honest
review of their current board.  Consequently, below is the full story of my
involvement with the Always board (including a mini-review).

Please note that while the facts below are true, the opinions I express are
my own and do not represent Storage Dimensions' official position (not
unless there's something they're not telling me :-).

A little over a year ago, Always gave SDI a board to eval saying it would
make any disk run faster, just use CoreTest and see.  So, we tested it with
CoreTest and found that a drive capable of max. 200KB/s transfers was
turning in >1MB/s transfers.

I heard about it from one of the test engineers and dismissed it by saying,
"Well, it must be a cacheing adapter."  Wrong.  Always has no cache.  I was
more than a little curious now, so I used soft-ice to track things down in
the bios.  I found a section of code like this:

	cli
	call ????	; disk_xfer done here (verified with an Ancot trace)
	sti

Pretty ugly, eh?  It also seemed rather deliberate.  It is especially odd
when considering that their netware driver did not have to disable
interrupts and that they claimed their board would speed up drives.

So, point 1. - they knew their board caused drives to run faster on
benchmarks.  Point 2., the code is obviously deliberate.  Conclusion?  They
(both their engineers and marketeers) tried to pull a fast one.

My personal opinion?  I will never, ever, do business with them because of
their (apparent) complete lack of integrity on this one point.

Now the story reaches the present day.  Always contacted me re: the
interrupt issue and my postings on the net, saying that they don't disable
interrupts and that they never did and that I should post a retraction ("did
you know that fraud is actionable?").

When I told him that I personally tracked down the cli/xfer/sti hack and
witnessed it (fact not fraud), I was told, "Oh - we don't do that anymore,
that was only in the beta copy we sent to SDI.  We never actually released
it."  Hmmm.  Well, I said, "If you send me a card, I'll tell the net the
facts about it."  Suprisingly, the next day (yesterday, actually) an Always
card shows up on my doorstep.

Here are my observations about the board that was sent to me (silkscreen
2001-01-2D, board sticker 2001-02-2D, bios sticker REV.3.33, pal sticker
2.5, s/n sticker 1180040):

My initial impressions were good.  The layout looks clean (no reworks),
there's a switch block instead of jumpers, the internal connectors are
keyed to help prevent cabling errors, and they included drivers for various
flavors of Novell Netware and recent releases of SCO Unix and SCO Xenix,
although SCSI-only with the Always is impossible under Xenix and Unix
without a second non-SCSI Unix/Xenix system to perform the integration.

There are some problems: first, the board uses the WD33C93A SCSI chip.
According to the opinion of others here more experienced with protocol
chips, this is "not a good chip" (stated slightly more colorfully :-).
Could this chip be why the Always board didn't work with the 3280 I tried?
Perhaps, but I don't know for sure.

The second problem is much greater: the external connector is not an
accepted SCSI-1 or SCSI-2 connector.  It is a 25 pin Macintosh connector.
This isn't so bad until you realize that the 25 pin SCSI connectors usually
used for the PC have term power and ground swapped w.r.t. the Mac cable.
Connect the wrong cable by accident (perhaps by asking a different supplier
for a 25 pin SCSI cable for your *PC*), and you could short-out something
important, like your drive or your host adapter.

At first glance, the documentation appears sparse, but concise and to the
point.  There are a few discrepancies: differences between stated factory
settings and actual, and it said SCO stood for "Santa Clara Operations"
instead of "Santa Cruz Operations".

The doc's also state that the board's FIFO uses dual-ported RAM for high
performance and no 1st party DMA to avoid incompatibilities.  This is 100%
correct, but very misleading.  Lack of "bus-mastering" ability does reduce
incompatibility, but it also means this board is suitable only for DOS; it
would introduce too much overhead on a multitasking system.

Now the fun begins.  I tried to attach a Maxtor 3280 (a very finicky drive)
to it.  The board would not recognize it and the BIOS format and inquiry
routines behaved erratically - sometimes they hung, sometimes they returned
immediately, they never printed anything and the drive light never lit.
BTW, all the other SCSI boards I have work fine with the 3280 (Adaptec,
BusTek, Future Domain, and SDC800).

So, I tried a different drive (Maxtor 8380).  This time the drive was
recognized, but the BIOS routines at c800:5 and c800:8 were still no-go.
Further, it insisted on trying to boot off the hard disk (yes, I did have a
boot floppy in drive A).  Undaunted, I used an Adaptec 1542 to boot up from
floppy and install DOS on the hard drive.  Upon reinstalling the Always
board and booting up (off the 8380 - I had no choice), I found that I could
not access the floppy at all.

Well, I had disabled the floppy controller (sw9 off) on the Always board so
I could use the motherboard floppy controller that was already connected.
Maybe the doc's were wrong and sw9 needed to be on?  No.  With sw9 on, the
machine failed POST.  O.K. - no floppy, I could live with this long enough
to get a few benchmarks, but it was very annoying.

[ Later on I went back and checked it out on a different machine and the
  motherboard floppy did work - looks like an Always/Machine problem, since
  the floppy worked fine on the same machine with the Adaptec and BusTek
  boards. ]

What do the benchies say?  Well, mainly that Always is just a typical dumb
SCSI board - low overhead, good transfer rate, good for DOS, bad for
anything that multitasks.  Here's how Always compares to Adaptec and BusTek:

Overhead:	Always is 1.8ms faster than Adaptec
		Always is 0.1ms faster than BusTek

Max xfer rate:	Always is 2% faster than Adaptec
		Always is 1% slower than BusTek

N.B. The Always IN-2000 has no provisions for synchronous operation and the
     ISA bus transfer rate cannot be altered (they use programmed i/o), so
     the Adaptec 1542B and BusTek 540 were both set for asynchronous SCSI
     transfers with a 5MB/s ISA bus transfer rate.  Synchronous operation
     and higher ISA bus rates are possible with both Adaptec and BusTek
     with some computers and some drives.  Tests were performed under DOS.

     Also note that Always' overhead and transfer rate will vary greatly
     depending on processor and i/o bus speed (programmed i/o, remember),
     while the Adaptec and BusTek values will remain relatively stable.

Due to lack of bus-mastering ability, I cannot honestly recomend the Always
board for use outside of DOS.  Even then, the problems I experienced with
the floppy drive, the BIOS setup routines, and the 3280 suggest that
integration of this board will be more difficult than the rather small
performance increase is worth.

Combine their average performance with poor integration and the sneaky
interrupt disabling trick used in a previous BIOS, and I would call this the
"Never IN-2000" instead of the "Always IN-2000".


- Tim Iverson
  iverson@xstor.com -/- uunet!xstor!iverson