denbeste@bbn.com (Steven Den Beste) (06/24/89)
I've got an A1000 with a Starboard-II, and being disappointed with the
performance of my Cltd controller and seeing reports here of much better
performance with the Starboard SCSI controller, I picked one up about three
weeks ago. I've been trying to get it to work with an ST-277N ever since.
Like several people I've seen complain here on the net,
my performance initially was dismal with this controller. I've now got it
going at a quite respectable speed, and since the steps to this end were not
always obvious, I thought I'd document them in great detail.
(OK, OK, it still gets whupped by a GVP in a 2000, but let us old codgers
have our limping contest, and you young whippersnappers go play somewhere
else.)
Here are some interesting facts:
1. You MUST use FFS.
2. You MUST use an interleave of 3. (Actually, it might be the case that
your interleave is slightly different. Experiment around a bit. More on this
later. But my experience on this was very definite: An interleave of 2 was
less than half as fast as an interleave of 3.)
3. You MUST use "fastmode".
Without all three of these, you can kiss off any reasonable performance.
Also...
4. Use MOUNT and a mountlist, not DHMount. DHMount isn't flexible enough,
and I don't trust it anymore.
And so, without further ado, a bare bones list of instructions for setting
it up.
1. Set up the Mountlist for your drive. Here's what mine contains:
DH1: Device = StarDrive.device
Unit = 3
Flags = 0
Surfaces = 6
BlocksPerTrack = 26
Reserved = 2
Interleave = 0
LowCyl = 0 ; HighCyl = 808
Buffers = 26
BufMemType = 0
GlobVec = 1
FileSystem = L:FastFileSystem
#
(My "Unit" is strange for reasons not worth going into here. Your mileage may
vary.)
It is important to note that the value of the "Interleave" parameter doesn't
matter with the FFS. It is actually set when you low level format the drive.
Which brings us nicely to:
2. Low Level Format the drive. If you have "fastmode" on for the drive,
turn it off again. Invoke MDFixer. Ostensibly you don't have to have
the drive mounted to hard format it, but if the drive isn't mounted,
MDFixer won't give you a button to choose it.
I chose, in this order: <DHx:> <Hard Format> <Clear Defect List> <Go!>
It then prompts you ("Are you sure", but in a lot more words.) <Do it!>
It then prompts you for an interleave factor. I entered "3".
MDFixer is fussy. It doesn't always run to completion, and I'm not sure
things will work right if it doesn't. I observed three classes of behavior,
and I think I know how to interpret them:
Format takes a long time. When done, no error appears on the screen.
(Great! Success! Go to the next step.)
Format takes a long time. During most of it, the drive can be heard
stepping. At the end, the head rewinds, and there is a pause of
several seconds. Then an error occurs.
(I think this one succeeded, too. Go to the next step.)
Format takes somewhat less time (wide variation here) and just as
the head rewinds, the same error message occurs.
(You're screwed. Try again. See below.)
What's frustrating about this is that once you've hard-formatted the drive,
whether successfully or not, it won't let you do it again until some other
action is done to the drive. (When you try to hard format again, it completes
instantly.) The easiest way to clear this up so you can try again is to
high-level format the drive. Execute this command from a CLI:
"format drive dhx: name toss FFS QUICK"
This only takes a few seconds, and then you can try the hard format again.
Keep trying until you get it right. Once it took me 9 tries.
I have every reason to believe that if it doesn't succeed, you won't get
the right results.
3. Now you can high-level format it. When I was running benchmarks I always
used the "quick" option, but when time came to do it for real, I chickened
out and did a full non-quick format (which takes about half an hour on this
drive).
4. Last and certainly not least, turn on fastmode.
You can now run "diskperfa". Some caveats: Your performance will degrade if
you've got lots of other stuff running at the same time. Your performance
will vary somewhat from test to test due simply to measurement inaccuracies.
Finally, your performance will degrade with time as the drive gets
fragmented. (However, we're talking months, not minutes.)
Perhaps the trickiest thing I encountered (after figuring out how to get
BINDDRIVERS to work) was how to make fastmode turn on during the boot. The
documentation says that you can set the "Flags" word with DHMount and gives
a bit-map. I tried using the same values in the Flags entry of the
mountlist, and it didn't make any difference at all. I'm relying on
the "fastmode" command in my startup-sequence - which brought up problem
number two.
For no obvious reason "fastmode" returns an error 31. (The text it prints
looks a little flakey, too - I'm not sure just how heavily this guy was
debugged.) When you manually execute the command, you never see the error.
If it happens in your startup-sequence, it will abort it.
You have to bracket it with "failat":
mount dhx:
failat 32
fastmode dhx:
failat 10
*******I believe that the problems most people are having are either that
MDFixer isn't finishing the low level format (and so the interleave isn't
right) or that they think they are turning fastmode on and really aren't.
The second is easy to diagnose: Manually turn it on with the "fastmode"
command (never mind if you think it is already on!), and run "diskperfa"
again. If the numbers improve dramatically, then you didn't have fastmode
on before.
-------Would anybody care to hear all the things I did wrong?-------
I'm going to have a lot of charts in here of results from diskperfa.
Some of them are beyond belief. To begin with, I ran a reference
benchmark with my Cltd controller. The second column here is the first
test I ran with the SB2. This is non-FFS, non-fastmode, interleave 2:
Cltd Basic
File create 9 6
File delete 13 19
Dir scan 91 50
Seek/read 68 29
512 R 53K 13K
W 48K 12K
4096 R 85K 14K
W 62K 12K
8192 R 85K 14K
W 66K 12K
32768 R 85K 14K
W 67K 12K
Needless to say, these numbers were a real downer.
Obviously I needed to switch to FFS, and I decided to experiment with
interleave factors, too. Another, much longer chart:
I=0 I=3 I=5 I=8 I=10 I=12 I=15
File create 13 12 13 12 12 12 12
File delete 24 24 23 25 25 25 24
Dir scan 102 102 102 102 102 102 102
Seek/read 52 48 46 56 61 56 49
512 R 39K 35K 32K 38K 44K 42K 61K
W 28K 26K 25K 23K 22K 21K 19K
4096 R 46K 42K 43K 53K 59K 51K 43K
W 44K 40K 38K 50K 56K 49K 42K
8192 R 50K 45K 43K 56K 67K 58K 48K
W 49K 44K 40K 51K 61K 55K 46K
32768 R 55K 48K 44K 58K 73K 62K 51K
W 50K 45K 41K 55K 66K 57K 47K
An interleave of 10 is the high point in the chart. (I also ran 9 and 11,
which are not shown here.) So I started looking around for other things to
fix. Since I seemed to need an interleave of 10 when other people needed 3,
I decided I must be having noise problems, causing SCSI retransmissions or
something like that. I wasn't being quite honest in my bus termination (two
drives, and the one nearer the SB2 had the termination resistor) so I went
and spent about $60 on parts to rebuild the cable. You know something? Mass
termination connectors are EXPENSIVE! (I bought two of everything in case I
loused up the first one.)
It didn't make any difference at all. So I read the manual, and there was
"fastmode". Voila:
I=10 +fastmode
File create 12 87
File delete 25 32
Dir scan 102 100
Seek/read 61 58
512 R 44K 47K
W 22K 21K
4096 R 59K 60K
W 56K 51K
8192 R 67K 67K
W 61K 57K
32768 R 73K 73K
W 66K 60K
Yeesh. After an unproductive call to Microbotics (they took my number and
said they'd call back, and didn't) and posting a request for help, I heard
from a guy here in MA who said he'd gotten it working. Talking to him it
finally occurred to me that the peak of the performance curve WITH fastmode
(reported to be 3) might be different than it is WITHOUT fastmode (measured
by me as being 10).
So I altered my testing protocol slightly and tested some low interleave
numbers with fastmode turned on.
I=0 I=2 I=3 I=4
File create 13 13 13 13
File delete 34 35 40 41
Dir scan 102 102 104 104
Seek/read 57 67 96 90
512 R 39 48 73 73
W 29 28 27 26
4096 R 56 67 119 105
W 53 64 109 97
8192 R 56 69 154 138
W 49 64 125 119
32768 R 55 71 187 164
W 55 71 146 131
Steven C. Den Beste, BBN Communications Corp., Cambridge MA
denbeste@bbn.com(ARPA/CSNET/UUCP) harvard!bbn.com!denbeste(UUCP)