[net.micro] Disk interleave

prindle@nadc.arpa (10/17/86)

The term interleave refers to the positioning of consecutively numbered sectors
around the circumference of a disk cylinder.  For example, a 2:1 interleave on
a disk with 16 sectors per surface per cylinder would result in the following
arrangement of sector numbers around that cylinder (n is starting sector #):

|n  |n+8 |n+1 |n+9 |n+2 |n+A |n+3 |n+B |n+4 |n+C |n+5 |n+D |n+6 |n+E |n+7 |n+F |

Whereas a 1:1 interleave would be:

|n  |n+1 |n+2 |n+3 |n+4 |n+5 |n+6 |n+7 |n+8 |n+9 |n+A |n+B |n+C |n+D |n+E |n+F |

As you can see, data transfer will be somewhat faster in the 1:1 interleave 
case since a block of 16 consecutive sectors can be read in one disk revolution
instead of two.  2:1 interleave would be required in situations where the
system timing could not guarantee that disk data could be DMAed into or out of
memory fast enough to accomodate 1:1 interleave (if data transfer is slower
than the rate at which data passes the head on the disk, the overall transfer
rate would drop drastically, since a missed sector means having to wait a full
disk revolution to re-read that data).  A large enough buffer in the disk
controller can compensate for transient drops in DMA transfer rate (such as
when another DMA device is active simultaneously), but if the aggregate through-put (average) of the controller and processor DMA cannot handle 1:1 interleave,
data transfer timing will be improved by going to 2:1.  If the system can
handle 1:1, then 1:1 will maximize throughput.

An interesting side effect occurs when a pack is being formatted: when format-
ting with 2:1 (or 3:1 or whatever) interleave, it is quite ordinary to format
sectors in a simple consecutive order, since there is adequate time between
sectors for the processor to issue the next format command to the controller.
But in 1:1 interleave, if a formatting program tries to format consecutive 
sectors, formatting may take well into the next century; unless the processor
is *very* fast, the disk will have moved too far from the end of the previous
sector, and the controller will await another revolution to format the next
sector!  Thus formatting programs for 1:1 interleave may have to make two
passes per cylinder per surface, once for the even numbered sectors, and once
for the odd (or, if the processor is *really* slow, 4 passes).

All of the above info is based on really BIG hard disks (250Mbyte and up)
spinning at 3600 RPM.  I don't know how fast these new mini drives spin, so
some of the timing considerations above may not apply, but the general
principle holds.

Frank Prindle
Prindle@NADC.arpa