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)