Subject: Re: -current/4110
To: matthew green <mrg@mame.mu.Oz.Au>
From: Erik E. Fair <fair@clock.org>
List: port-sparc
Date: 09/20/1995 03:37:20
At 22:04 9/19/95, matthew green wrote:

>besides format, and libkvm programs, what else is there that doesn't
>work ?  who needs format, anyway ?  disklabel(8) works for us now.

My memory tells me that one of the wins in 4.1 BSD UNIX over its
predecessors was that they didn't just double the block size from 512 to
1024 - they actually formatted the disks in 1024 bytes/sector so that you
could get those big blocks in just one go-round with the disks and driver.
This lead later to FFS.

Somewhat later on, I was writing my first device driver suite for a
commercial company: an ST-506/412 5.25" disk driver (UNIX), plus standalone
driver for our boot PROMs, plus a standalone formatter. This stuff was
written for 7th Edition, and then later converted (trivally) to System III,
and System V. I invented my own disk label and badsector forwarding because
there weren't any standards for that kind of stuff, and you needed to do it
on a per-controller basis anyway (our systems eventually knew how to speak
SA4000, ST-506/412, SMD, and XSMD (Fujitsu Eagle)). As an additional
historical note, ST-506/412 grew up and became ESDI, more or less, driven
principally by Maxtor's insatiable desire to build bigger and bigger disks.

Among the other features of ST-506/412 was that you could format the drives
at anything from 128 bytes/sector to (I think) 4096 bytes/sector (with
correspondingly fewer sectors per track). Interestingly, according to some
trivial calculations you can make given the documentation, you got the
highest capacity out of an ST-506/412 drive if you formatted at 1024
bytes/sector - that's what made more efficient use of the actual number of
bytes per track on the typical drives of the day (mostly MFM, though RLL
was just beginning to show up, too). Unfortunately, we were always stuck
with UNIX's assumption (mostly in the bio.c code) about 512 bytes/sector (I
bet it's DEC's fault), and so we never tried anything different than that.

SCSI came after I did all this work (it was called SASI in those days, and
there never was a controller for SASI that we thought we could use on the
bus our system was based on (would you believe, S-100? (IEEE-696)), so I'm
not sure if the same things are true of SCSI. Would someone with more
experience than I care to comment about formatting SCSI at other than 512
bytes/sector?

Erik Fair