From: utzoo!decvax!wivax!dyer
Newsgroups: net.unix-wizards
Title: Re: disk block interleave methods
Article-I.D.: wivax.5431
Posted: Sun Feb  6 11:41:05 1983
Received: Mon Feb  7 00:39:59 1983
References: tekmdp.1754

The key lies in the meaning of "interleave".  With most UNIX systems,
physical sectors are contiguous at the device driver level.  This assumes
that multi-sector I/O can be performed by the hardware, given only a
starting disk address and a count.  Non-file system operations (swapping,
raw I/O) are accomplished in this way.  If the underlying disk hardware
cannot support multi-sector I/O, then it is common to implement a
device-driver level interleaving scheme to minimize latency.  But, most
mini-type systems don't require this.

However, it's another matter when performing I/O within the UNIX file
system abstraction.  Remember that logically contiguous blocks are not
physically contiguous on the disk.  Each disk block requires a separate I/O
request.  The so-called "interleaving" that mkfs performs is actually a
sort on the list of free blocks, so that a program reading or writing a
file sequentially will not suffer unnecessary latency between logical I/O
requests.  So, you see, this "interleaving" is quite orthogonal to
device-driver interleaving.

As I alluded before, the actual interleaving factors are crucially
dependent on rotational speed, seek time, and overall throughput of your
disk subsystem.  As delivered for V7, they're set up for a PDP11-70/RP03.
Figures for other processor/ hardware combinations have been published in
";login"; I don't have them on-hand.  Maybe others can submit them.
We had to discover them empirically for our C/60 and C/70 systems.

Steve Dyer