Calculating bytes-per-sector for Xylogics 450/451

Don Speck mangler at csvax.caltech.edu
Tue Apr 25 23:12:01 AEST 1989


It turns out that you can often get another sector or two out of each
track if you're willing to calculate the minimum sector size.

The fixed part of Xylogics 451 timing is:
    read gate asserted 16 bytes before header sync
    1 sync byte, 4 header bytes, 4 CRC bytes
    20 bytes of gap between header and data
    1 sync byte, 512 data bytes, 4 ECC bytes
    3 byte write splice

That's 565 bytes.  At the end of this, write gate turns off.  It takes
typically 10 microseconds before it's safe to turn on read gate for the
next sector (called the write recovery time).  This spec is in the disk
drive manual.

Thus, the minimum number of bytes per sector is:
    bytes_per_sector = 565 + write_recovery_spec * transfer_rate
			      (in microseconds)      (in MB/s)

Usually this does not evenly divide the track.	Increase the sector size
until the remainder is not much larger than 150 bytes, or it disappears
and the last data sector is still above minimum size.

Examples:			   minimum		 adjusted
		write	   xfer     sector  track	  sector   runt
   drive       recovery    rate      size   size  sectors  size   sector
Fujitsu 2351	 12us	1.859 MB/s   588    28160   47	    595     195
Fujitsu 2372	 10us	2.458 MB/s   590    40960   69	    590     250
CDC Sabre 850	  7us	2.465 MB/s   583    41088   70	    587    none

My three Fujitsu 2372's are configured as indicated above.  The Fujitsu
2351 calculation matches the figure Sun uses for Eagles.

Xylogics 451 manuals give a value big enough for any drive (600), and
disks are usually shipped configured for a sector size that evenly divides
the track (typically about 640 bytes).  These will certainly work, but are
overconservative and will waste space.



More information about the Comp.sys.sun mailing list