[comp.sys.sun] format vs diag and Wren VII

mis@seiden.com (Mark Seiden) (02/28/90)

format is obviously less mature than the standalone diag, but its big
advantages is that you can run it while doing other ordinary things,
though not on a disk which has a mounted partition.  

since a lot of us are adding disks to/repairing blocks on existing
systems, that's operationally more typical than formatting standalone...

a few comments on large scsi disks (e.g. Wren VII):

the ONLY thing important from the viewpoint of the disk's embedded scsi
controller is the block address, so all we really care about is the number
of blocks on the disk after formatting.

cylinders, alternate cylinders, heads, sectors per track, bytes per track,
are all artifacts of ESDI and SMD, and those artifacts are carefully
preserved in the disk label and format.dat for no good reason i know of.
anyone know to the contrary?

what i usually do when getting a big scsi disk is find out the maximum
addressable block.  ignore the mfr supplied numbers of hds and cylinders.
compute my own 

hdsprime * cylindersprime * sectorsprime <= maximum addressable block.

/usr/games/factor finally has a known purpose!  these numbers are almost
completely arbitrary!  the closer the product is, the less space is
wasted.  the smaller a "cylinder" is, the less waste in backup disk labels
and the more waste in cylinder group overhead.

concerning cylinder groups and zone recording techniques: The big CDC
disks have variable numbers of sectors per track depending on whether
you're on the inner tracks or on the outer tracks.  The number is constant
within a zone, a contiguous band of cylinders.

This means BSD file system cylinder groups within any sizeable file system
cannot be both of fixed size and also be aligned starting on a cylinder
boundary.  If you knew, or could find out (you can, with some difficulty)
at what cylinder numbers the zones begin, you could arrange a good
compromise where cylinder groups begin at cylinder boundaries, but what
would you gain?  that a cylinder group doesn't begin at a cylinder
boundary doesn't necessarily impact performance, since it's only
*relative* rotational position (and only 3 bits of it at that!) that is
used for disk block allocation.  for seeks between one cylinder and
another that *happens* to cross a zone boundary, you may lose a rotation,
but there are relatively few zones on a disk and when you seek you
shouldn't be surprised in losing anyway.

(while i have you here...) is format.dat documented anywhere?  (what is
cache? trks_zone? asect? fmt_time?)

is there any convenient way to do a Read Capacity to find out the maximum
addressable block on a formatted scsi disk?

mark seiden, mis@seiden.com

dan@breeze.bellcore.com (Daniel Strick) (03/05/90)

The following comments are vaguely in response to the the query:

	" ... and those artifacts are carefully preserved in the
	disk label and format.dat for no good reason i know of.
	anyone know to the contrary?"

In theory, using the correct geometry will improve performance with a
Berkelix fast file system.  Unfortunately, all the SCSI systems I have
played with (including the ones I cook up) are either too slow to begin
with or simply don't try very hard to optimize for the exact disk
geometry.  They tend to assume the geometry is a lie and do some sort of
elevator algorithm in the block address space instead of the cylinder
address space.  I don't think anybody tries to do rotational optimization
with SCSI.

The amount of disk space that can be saved by carefully selecting cylinder
geometry is trivial.  When I label a SCSI disk, I usually use the correct
number of heads and the actual track length for the first cylinder.  At
least this way I get the first few cylinders correct.  Then I lie about
the number of cylinders.  The arithmetic is easy and I only lose an
average of half a cylinder (no big deal when you have ~1500 cylinders).

Dan Strick, aka dan@bellcore.com or bellcore!dan, (201)829-4624