[can.usrgroup] Is it the interleave?

evan@telly.on.ca (Evan Leibovitch) (09/27/89)

Telly's recent disk problems supposedly provided a long-term benefit, by
enabling me to install a Maxtor 140 Meg drive. I'm told the seek and
transfer rates for this beast are supposed to be pretty good. The
AT-bus controller is an OMTI, same as for the previous drive. The system
is a 386 clone.

The disk was low-level formattted with a 1:2 interleave. Why, I don't
know. Anyway, since installing this thing the disk speed has been OK,
but INCOMING uucp throughput on the Trailblazer has been severely
reduced. Outgoing speed has not been affected, nor has traffic at 2400
baud.

Here's what happens. The transfer starts, at full-tilt PEP speed, for a
few seconds. Then I hear the disk head move and the modem transfer
stops dead. A second or two passes, then it starts again - until another
disk seek in a few seconds, another pause, etc...

If I didn't know better I'd swear it was dropping characters on input.

I know that telly's  modem, on COM1:, would be radically sped up if put
on an intelligent card. That's the next piece of hardware coming. But is
it possible that a badly-done interleave could have this kind of effect?

What *is* the optimal interleave for a decent-speed ST506 drive?

Please mail suggestions. Thanks.
-- 
   Evan Leibovitch, Sound Software, Brampton, Ontario  -  evan@telly.on.ca
         She was looking for a vacation, and he was the last resort.

root@nebulus.UUCP (Dennis S. Breckenridge) (09/28/89)

ST-506 interleave is recomended to be 3:1 unless you are running a 
Western Digital 1006-WA? or similar 1:1 controller. Most Diagnostic
software with these controllers are accurate to a point. To test the
controller out format it then run the PC Tech Journal Benchmarks 
If the disk test results are good at 2:1 leave it, otherwise format it
for 3:1 or 1:1. Re-test it. 
 Your interrupt problem is obvious. Com1 runs at a typical spl(6) level
and that is high. Disk runs at a lower level but also uses DMA which means
the cpu is put to sleep. Are you getting the idea. Modem is in xfer mode
... need a block of data ... disk is on wrong block or not cached ... put
new disk request up... uucp times out ... disk request complete ... uucp
still times out ... disk block is transfered ... interrupt is generated 
modem generates interrupt ... disk interrupt is suspended due to the high
priority of serial port. interupt is serviced and  modem now has data 
and everything is happy again. ignore typos and grammar... it is 2am

woods@eci386.uucp (Greg A. Woods) (09/29/89)

In article <1989Sep27.022039.14752@telly.on.ca> evan@telly.on.ca (Evan Leibovitch) writes:
> Telly's recent disk problems supposedly provided a long-term benefit, by
> enabling me to install a Maxtor 140 Meg drive. I'm told the seek and
> transfer rates for this beast are supposed to be pretty good. The
> AT-bus controller is an OMTI, same as for the previous drive. The system
> is a 386 clone.

Does the OMTI need/have a special driver?  Perhaps their driver has a
problem with interrupts and priority levels.

Does the disk head move (i.e. you hear a click)?  Or do you hear it
re-calibrate (a whistle)?  The driver for my 3B2 misses a beat on some
of the faster drives under heavy load, and while it re-calibrates the
drive, you're stuck in very high priority driver code.  The 3B2 was
never specified to run the bigger drives, but at the same time, there
is supposed to be a fix available for this problem.

> I know that telly's  modem, on COM1:, would be radically sped up if put
> on an intelligent card. That's the next piece of hardware coming. But is
> it possible that a badly-done interleave could have this kind of effect?

The most likely problem is you're driving the serial port too fast.
It just can't keep up to that speed, and when the disk get's an
interrupt, the serial driver loses.

What you might try is to queue up a big file TO telly, and then put
uucico in debug mode (-x9) and watch the packets come in, taking
special note of those times when the disk is active.  Look for
timeouts and re-transmissions.

> What *is* the optimal interleave for a decent-speed ST506 drive?

I depends upon your CPU and controller.  If 1:1 works, use it,
otherwise you might be stuck re-formatting and testing several times
to find the optimum value.

There is also the mkfs gap factor.  This is like a filesystem level
interleave, and can be used to optimize the driver's performance.

BTW, I wouldn't call the Maxtor 1140 (it's actually 114 Mb) a screamer!
The one I have is faster than the CDC Wren 30 Mb drive though. :-)
-- 
						Greg A. Woods

woods@{eci386,gate,robohack,ontmoh,tmsoft,gpu.utcs.UToronto.CA,utorgpu.BITNET}
+1-416-443-1734 [h]  +1-416-595-5425 [w]		Toronto, Ontario CANADA

jmm@eci386.uucp (John Macdonald) (10/05/89)

In article <1989Sep28.182627.25730@eci386.uucp>
    woods@eci386.UUCP (Greg A. Woods) writes:
>BTW, I wouldn't call the Maxtor 1140 (it's actually 114 Mb) a screamer!
                                       ^^^^^^^^^^^^^^^^^^^^

Well, Greg, if you're going to be picky, so can I.  As is fairly common
in the industry, Maxtor specifies the pre-formatted capacity.  The
after-formatting capacity depends upon the controller and the formatting
software (in particular, it's method for handling bad areas on the disk).
On the late Spectrix systems, Maxtor 1140 disks formatted out to having
122 Mb available for Unix file systems etc., not counting the 1.8 Mb
allocated for alternating tracks containing bad blocks.

I agree that it's neither a screamer nor a plodder.  (As an additional
consideration, it has been around long enough that there is *no* concern
about Maxtor still being on the learning curve for this drive :-).
-- 
"Software and cathedrals are much the same -          | John Macdonald
first we build them, then we pray" (Sam Redwine)      |   jmm@eci386

brian@ncrcan.Toronto.NCR.COM (10/06/89)

John Macdonald says:

> ...  As is fairly common
> in the industry, Maxtor specifies the pre-formatted capacity.  The
> after-formatting capacity depends upon the controller and the formatting
> software (in particular, it's method for handling bad areas on the disk).
> On the late Spectrix systems, Maxtor 1140 disks formatted out to having
> 122 Mb available for Unix file systems etc., not counting the 1.8 Mb
> allocated for alternating tracks containing bad blocks.

Just to add my own experiences to this....

I have Maxtor 1140 disks formatted to approx. 305MB (really 319,610,880 bytes).
This is done on PC's with Perstor Controllers (31 Sectors/track) and using
the 1140 disks as if they were 2190's (ie, 1224 cylinders instead of the 
918 as published by Maxtor).  I have yet to come across a Maxtor 1140 on
which this couldn't be done.

Brian.

clewis@ecicrl.UUCP (Chris Lewis) (10/08/89)

In article <891006074552.5152@tmsoft.uucp> brian@ncrcan.Toronto.NCR.COM writes:

>I have Maxtor 1140 disks formatted to approx. 305MB (really 319,610,880 bytes).
>This is done on PC's with Perstor Controllers (31 Sectors/track) and using
>the 1140 disks as if they were 2190's (ie, 1224 cylinders instead of the 
>918 as published by Maxtor).  I have yet to come across a Maxtor 1140 on
>which this couldn't be done.

Woooffff!  Could you tell us a little more about the Perstor?

I know about MFM -> RLL conversions, where the controller uses a
different data encoding to improve the data storage per track by 50%.
Most MFM (ST506) drives are capable of handling this reliably.

But the Perstor must be doing somewhat more than that - eg: lying
about the geometry and multiplying the storage per track by something
close to 3!  Is it doing compression or something?  What's the performance
like?  1:1 capable?

Are they AT bus and AT compatible?  (eg: command interface compatible with 
standard AT controllers like WD1007 ESDI controllers are)

This might be a cheap way to upgrade capacity for people with existing
drives.  However, unless it can get an additional factor of two in there,
(for some reason large ST506's (like the XT1140) list for more than
380 Mb ESDI drives including controller!), new systems are better off
going ESDI.  For cost *and* performance.
-- 
Chris Lewis, Elegant Communications Inc.
UUCP: {uunet!mnetor, utcsri!utzoo, uunet!attcan!lsuc, yunexus}!ecicrl!clewis
Moderator of the Ferret Mailing List (ferret-request@eci386)
Phone: (416)-294-9253

mason@tmsoft.uucp (Dave Mason) (10/09/89)

In article <695@ecicrl.UUCP> clewis@ecicrl.UUCP (Chris Lewis) writes:
>In article <891006074552.5152@tmsoft.uucp> brian@ncrcan.Toronto.NCR.COM writes:
>
>>I have Maxtor 1140 disks formatted to approx. 305MB (really 319,610,880 bytes).
>>This is done on PC's with Perstor Controllers (31 Sectors/track) and using
>>the 1140 disks as if they were 2190's (ie, 1224 cylinders instead of the 
>>918 as published by Maxtor).  I have yet to come across a Maxtor 1140 on
>>which this couldn't be done.

Note that Brian's also suggesting that there are more tracks really on
the disk.  I have an 1140 with RLL controller with 175MB.  If he's
right about the other cylinders this would go to 233MB (244,392,960
bytes), still not 305, but that's still a hell of a cheap way to get
an extra 116MB!! (I have 2 of them)  I have a non-AT bus, so
presumably couldn't use the Perstor (unless there's a SCSI version).

>But the Perstor must be doing somewhat more than that - eg: lying
>about the geometry and multiplying the storage per track by something
>close to 3!  Is it doing compression or something?  What's the performance
>like?  1:1 capable?

I'd also like to know what it's doing.  Anybody around who knows any
FACTS on the Perstor?

GUESS time:
	Facts:
		1) a block on disk has some header & trailer bytes
			around it for recognising the block, error
			checking, electronics switching time and
			rounding up to an even multiple of
			blocks/track.  From the sample formats in my
			Docs, this looks to be a minimum of about 56 bytes.
		2) 10416 bytes on MFM disk track (according to my
			Adaptec Documentation)
		3) *1.5 that makes 15624 bytes on RLL disk track
		4) 512*31 (re Brian's note above) = 15872 DATA bytes
			on a Perstor track
	Speculation:
 This is close enough that one possibility that comes to mind is that
it (squeezes the bits VERY slightly (<2%) &) keeps a full track
buffer.  It then would read and write the track as a single 15872 byte
sector, and break it up in the buffer.  This would have some
noticeable performance effects:
	1) average access times would be slightly larger (average
rotational delay would be 1.5 * rotation time rather than .5 - adding
16.67ms/access) (making the total average access on the 1140 go from
36.33 ms (?28 ms seek? + 8.33 ms rotational latency) to 53 ms)
	2) 1:1 interleave would be free.
	3) Once you accessed one block on a track, getting the rest
would be free.
 Over all this should give somewhat worse performance on a (SysV) Unix
file system (though I'd be willing to suffer this for the extra 24%
disk space).  A BSD new file system might be able to make good use of
the track buffer.

	../Dave

clewis@eci386.uucp (Chris Lewis) (10/11/89)

In article <1989Oct8.192745.20807@tmsoft.uucp> mason@tmsoft.UUCP (Dave Mason) writes:
|In article <695@ecicrl.UUCP> clewis@ecicrl.UUCP (Chris Lewis) writes:
|>In article <891006074552.5152@tmsoft.uucp> brian@ncrcan.Toronto.NCR.COM writes:
|>
|>>I have Maxtor 1140 disks formatted to approx. 305MB (really 319,610,880 bytes).
|>>This is done on PC's with Perstor Controllers (31 Sectors/track) and using
|>>the 1140 disks as if they were 2190's (ie, 1224 cylinders instead of the 
|>>918 as published by Maxtor).  I have yet to come across a Maxtor 1140 on
|>>which this couldn't be done.
|
|Note that Brian's also suggesting that there are more tracks really on
|the disk.

I don't think so.  This is why:

	- ST506 normally allows 1024 cylinders.  If the XT1140 was >988,
	  Maxtor certainly would have at least said 1024.
	- A controller is *not* able to change head step distances (as they
	  were, say, with Apple II floppies), because to the controller,
	  an ST506 disk has a discrete number of head positions that
	  you issue "step head out" and "step head in" and "recalibrate head" 
	  commands to.  Eg: you can't 1/2 step the head.  (Apple II's used
	  this for software copy protect...  but some floppy drives couldn't
	  do it at all....  grumble)

What I think that the Perstor is really doing is getting the number of
sectors per track > 31, running into a DOS limitation, and then spoofing the
geometry so that the number sectors per track remains legal, but the
number of cylinders is upped instead.  This is analogous to the way
the WD1007 handles ESDI disks with 34 sectors/track...

You're right though, *part* of the way this is done could be that the
Perstor formats each track as one *long* physical block, thus you
have relatively little header/trailer lossage.

>	1) average access times would be slightly larger (average
>rotational delay would be 1.5 * rotation time rather than .5 - adding
>16.67ms/access) (making the total average access on the 1140 go from
>36.33 ms (?28 ms seek? + 8.33 ms rotational latency) to 53 ms)

The XT1140 is 28 Ms.  Yes, average "single" block latency would go
up, especially if the buffer parcelling occured in the driver
(major buffering problems), but overall system performance is a much more
complicated thing to predict.  

We (well, in a previous incarnation, my colleagues (including to a certain
extent John Macdonald - I did the Spectrix DPT driver...)) implemented 
driver-based track buffering on the Spectrix 68020 Xenix systems, and 
discovered a pretty substantial performance improvement
*on average*.  Provided that the controller (or driver) manages to
keep a *couple* (or more) full tracks of data around as a next level
of buffer cache, UNIX's tendency to read disk blocks sequentially
(even in archaic file system layouts like Xenix III) will get you a big win.

John Macdonald may remember some of the performance statistics from
the XL.

As a canonical *best* case, just imagine a dd of a blocked disk, *one*
rotation per track read.  Which is on the order of 6 times faster than
systems that don't have or can't fully utilize 1:1 interleave.

Canonical *worst* case is the 53 Ms. average that you calculated.

On the other hand, the DPT left the track buffering Spectrix driver
in the dust....  Woof!
-- 
He's a consultant:             | Chris Lewis, Elegant Communications Inc.
Lend him your watch            | UUCP {uunet!attcan,utzoo}!lsuc!eci386!clewis
and he'll tell you the time.   | Moderator of the Ferret mailing list.
   Don Munroe, Cosmic Commander|

jmm@eci386.uucp (John Macdonald) (10/13/89)

In article <1989Oct10.221219.3571@eci386.uucp> clewis@eci386.UUCP (Chris Lewis) writes:
|
|We (well, in a previous incarnation, my colleagues (including to a certain
|extent John Macdonald - I did the Spectrix DPT driver...)) implemented 
|driver-based track buffering on the Spectrix 68020 Xenix systems, and 
|discovered a pretty substantial performance improvement
|*on average*.  Provided that the controller (or driver) manages to
|keep a *couple* (or more) full tracks of data around as a next level
|of buffer cache, UNIX's tendency to read disk blocks sequentially
|(even in archaic file system layouts like Xenix III) will get you a big win.
|
|John Macdonald may remember some of the performance statistics from
|the XL.

I'm afraid I don't remember any specific figures.  It was not (necessarily)
using physical tracks.  We used "logical" tracks - a block of "k" sequential
sectors aligned on a "k"-sector boundary.  If "k" happened to be the same
number as there were physical sectors per track, then it was buffering
physical tracks.  Even if a system was being used for just one purpose, it
still was very valuable to have more than a few track buffers, and when
many users were on then many buffers were needed.  It generally turned out
more valuable to allocate "extra" memory to track buffers instead of to
Unix buffer cache.  It also turned out to be even more valuable than usual
to frequently do an fsck to reorder the free list - keeping the free list
sorted means that files will have larger portions of their data in contiguous
sectors (or close to it).  As I recall, we used about 1 Meg for track buffers
and about 1/2 Meg for buffer cache.

|As a canonical *best* case, just imagine a dd of a blocked disk, *one*
|rotation per track read.  Which is on the order of 6 times faster than
|systems that don't have or can't fully utilize 1:1 interleave.

Note that even with Unix's internal read-ahead you still can't usually
use 1:1 interleave (often far less) - by the time the controller finshes
reading a sector, transfers it to the system's memory, interrupts the
processor, and informs it that the transfer is complete, and then the
device driver tells Unix that the transfer is complete, Unix notices
that this is a sequential file and so a read-ahead of the next sector
is in order, issues the read request to the device driver, the device
driver prepares the control blocks, tells the controller to use them,
the controller gets the control blocks and interprets them to find that
it is being asked for the next sector (whew); well after all that has
happened, the disk has certainly revolved the few bytes between the end
of the one sector and the start of the next (and probably it has rotated
past a number of complete sectors too).  With the track buffering, one
request is sent to the controller for the group of sectors, so it is
only delays internal to the controller that could cause it to be able
to handle 1:1 interleave (this is not uncommon, mind you).

Where track buffering loses is when you *don't* ever use any of the
other sectors in the logical track.  Then you have had a somewhat
slower time for the original track and no subsequent gain on the
(non-existent) later ones.  The time penalty for the first sector
is the rotational time to read the extra sectors in the logical track.
Some sample time calculations, using a Maxtor 1140 with logical track
size of 9K (half a physical track):

random one-sector (512 bytes) read (i.e. first read in a new place):
	seek:	20 ms.
	rotate: 8 1/3 ms. (avg half rotation)
	read:   1/2 ms. (one sector = 1/35 of a track)
	total:  29 ms.

subsequent one-sector read (i.e. previous read was in same physical track):
	seek:   0
	rotate: 8 1/3 ms. (avg half rotation)
	read:   1/2 ms.
	total:  9 ms.

random track buffer (9K bytes) read (i.e. first read in a new place):
	seek:   20 ms.
	rotate: 8 1/3 ms.
	read:   9 ms. (18 sectors = 18/35 track
	total:  37 ms.

Thus, the track buffering read adds about 33% to the first read to an
area, but then the next 17 reads in the same area are free, instead of
1/3 price.  If two sectors are used, then track buffering breaks even,
and if more are used then it wins.

Note that the cheap subsequent read (non-track buffering) only occurs
if no other disk activity occurs in between - whereas the track buffering
subsequent reads are essentially free unless so many different areas are
accessed that the buffer cannot be retained.

|Canonical *worst* case is the 53 Ms. average that you calculated.
|
|On the other hand, the DPT left the track buffering Spectrix driver
|in the dust....  Woof!

Mind you, we never got around to implementing track buffering in the
DPT device driver - it might have provided some additional advantage.
-- 
"Software and cathedrals are much the same -          | John Macdonald
first we build them, then we pray" (Sam Redwine)      |   jmm@eci386

brian@ncrcan.Toronto.NCR.COM (10/13/89)

> |>>This is done on PC's with Perstor Controllers (31 Sectors/track) and using
> |>>the 1140 disks as if they were 2190's (ie, 1224 cylinders instead of the 
> |>>918 as published by Maxtor).  I have yet to come across a Maxtor 1140 on
> |>>which this couldn't be done.
> |
> |Note that Brian's also suggesting that there are more tracks really on
> |the disk.
> 
> I don't think so.  This is why:

Yes there is more tracks on the drive.  You can also use the 1140 
as a 1224 cyl, 17 sect/track unit, if you wish. 

> 
> 	- ST506 normally allows 1024 cylinders.  If the XT1140 was >988,
> 	  Maxtor certainly would have at least said 1024.

I didn't think there was a limit imposed on the cylinder count by the ST506
interface.  Heads, yes, since there is only 4 head select lines, limiting you
to 16 heads.  (Note that most fast (ie voice-coil actuated head assembly) ST506
drives allow 15 heads, as the 16th head is used internally by the drive logic
to read the servo tracks on the reserved servo platter.  Stepper motor drives
can have a full complement of 16 heads).

The actual cylinder positioning is done with the STEP and DIRECTION 
signals, using the TRACK00 signal for synchronization.  Therefore, you can
STEP the heads in as far as the drive will allow it.  In the case of the
Maxtor 1140, which is voice coil actuated, there is enough servo tracks
on the servo platter to allow 1224 cylinders. There may be more, I've 
never tried and the Perstor doesn't support any more.  And why push
my luck any further anyways :-)

> 	- A controller is *not* able to change head step distances (as they
> 	  were, say, with Apple II floppies), because to the controller,
> 	  an ST506 disk has a discrete number of head positions that
> 	  you issue "step head out" and "step head in" and "recalibrate head" 
> 	  commands to.  Eg: you can't 1/2 step the head.  (Apple II's used
> 	  this for software copy protect...  but some floppy drives couldn't
> 	  do it at all....  grumble)

Agreed.  

> 
> What I think that the Perstor is really doing is getting the number of
> sectors per track > 31, running into a DOS limitation, and then spoofing the
> geometry so that the number sectors per track remains legal, but the
> number of cylinders is upped instead.  This is analogous to the way
> the WD1007 handles ESDI disks with 34 sectors/track...

Most modern AT BIOSES are able to handle large number of sectors/track.
The DOS limitation lies in the fact that it uses a 10 bit number to represent
the track number internally in it's logical block calculations, thus 
limitting DOS's usable number of cylinders to 1024.  When using the 
Perstor and Maxtor at 1024 cyls with 31 spt, there is no problem at all, and
no drive mapping going on.  In fact, I don't even think that the Perstor
has the BIOS software or hardware required to map the drive to 17 spt,
which is the way the WD and DTC controllers do it.

To gain access to the additional 200 cylinders, a software driver is loaded
at boot time.  I suspect that this driver is doing some sector mapping,
but again note that the drive runs fine at 1024 cylinders, 31 spt, no
additional drivers required.  Norton, PCTOOLS, PCKWIK disk cache, all 
report 1024 cylinders, 31 spt! 

> 
> You're right though, *part* of the way this is done could be that the
> Perstor formats each track as one *long* physical block, thus you
> have relatively little header/trailer lossage.

Actually, the Perstor uses a technique developed by them called ARRL, 
Advanced RLL, which is similar to 2,7 RLL developed by IBM.  It uses a
different grouping scheme when writing the flux transitions onto the surface
of the disk.  The grouping chosen is very specific, in that it will yield
a data rate of 9 megabits/sec (31 spt) or 10 megabits/sec (34 spt), yet
the actual code rate to the drive will be only be 5 megabits/sec, which 
gives a FTPI (flux transitions per inch) rate the same as that seen
with standard MFM at 5 megabits/sec.  In this way, it is working within
the limits of the ST506 interface and the drives built to that standard. 
In other words, it does not place any additional demands on the drive
than normal ST506 MFM would.  This is unlike standard RLL, which
operates at a code rate of 7.5 Mb/s, or 7.5 million FTPI.  (which is
why RLL requires plated media drives.  ARLL does not!)

-- 
 +-------------------+-----------------------------------------------------+
 | Brian Onn         | UUCP: ..!uunet!attcan!ncrcan!brian                  |
 | NCR Canada Ltd.   | INTERNET: Brian.Onn@Toronto.NCR.COM                 |
 +-------------------+-----------------------------------------------------+

woods@eci386 (Greg A. Woods) (10/13/89)

[ On Wed Oct  4 16:29 (Re: "Re: Is it the interleave?"), John Macdonald wrote: ]
> 
> In article <1989Sep28.182627.25730@eci386.uucp>
>     woods@eci386.UUCP (Greg A. Woods) writes:
> >BTW, I wouldn't call the Maxtor 1140 (it's actually 114 Mb) a screamer!
>                                        ^^^^^^^^^^^^^^^^^^^^

Hmm.... Now I'm making mistakes by omission.  That's 114 Mb formatted
to Maxtor's specs.  (and 140 Mb un-formatted, to Maxtor's specs.).  I
get a bit more with the 3B2, 'cause its controller likes 18 sectors
per track, so perhaps 122 Mb as well (I can't remember just now).

As for reliability of the Maxtor, I've heard (third hand) that they
are near the top of the list for needing repair work.  That may also
mean they outnumber the rest in the field too.  I know the disk I'm
using has had a bad time, but I've seen others work just as hard, or
maybe more so, and are still ticking (:-) along.

-- 
						Greg A. Woods

woods@{eci386,gate,robohack,ontmoh,tmsoft,gpu.utcs.UToronto.CA,utorgpu.BITNET}
+1-416-443-1734 [h]  +1-416-595-5425 [w]		Toronto, Ontario CANADA

clewis@ecicrl.UUCP (10/14/89)

couple things, some related to this thread, some earlier...

In article <1989Oct12.202334.23282@eci386.uucp> jmm@eci386.UUCP (John Macdonald) writes:
>In article <1989Oct10.221219.3571@eci386.uucp> clewis@eci386.UUCP (Chris Lewis) writes:

>|As a canonical *best* case, just imagine a dd of a blocked disk, *one*
>|rotation per track read.  Which is on the order of 6 times faster than
>|systems that don't have or can't fully utilize 1:1 interleave.
>
>Note that even with Unix's internal read-ahead you still can't usually
>use 1:1 interleave (often far less) 

This point should be re-emphasized: 1:1 interleave generally
does not gain you *anything*, because the kernel/drivers are not
likely to be able to reissue an I/O before you're *past* the
next sector.  Unless:

	a) Your drivers are really smart and coalesce read-aheads
	   into multiple sector I/O's.  Of which track buffering
	   is a sort of a special case.  I did something similar with the
	   the DPT when I had the thing work on 1K physical sectors
	   and 512 byte logical ones.  (1K sector support in Xenix
	   is a little wierd, and similar to SRV2 if I understand
	   things correctly....)
	b) your application is wierd and reads sequentially with
	   big buffers.

Some of my benchmarks seemed to indicate that UNIX disk activity
can be fairly effectively modeled as random reads of 4-8 blocks, and that
with standard read-ahead you need a fairly substantial effective
interleave (phyical + mkfs) to avoid missing too many rotations.

Thanks, Brian for the explanation of how the Perstor works.
So much for guessing.
-- 
Chris Lewis, Elegant Communications Inc.
UUCP: {uunet!mnetor, utcsri!utzoo, uunet!attcan!lsuc, yunexus}!ecicrl!clewis
Moderator of the Ferret Mailing List (ferret-request@eci386)
Phone: (416)-294-9253