[comp.bugs.4bsd] /etc/disktab and RA8x drives

mark@sickkids.UUCP (Mark Bartelt) (12/24/87)

A few questions regarding the information in /etc/disktab (4.3bsd):  Where
did the RA80/RA81 entries originally come from, and are they even correct?

First, let's look at the data for the RA81:

	:ty=winchester:ns#51:nt#14:nc#1248:so:\

I'm wondering whether it should perhaps be:

	:ty=winchester:ns#52:nt#14:nc#1224:so:\

Note that both entries would be consistent with 891072 sectors, the number
that /etc/disktab uses for the Partition_C entry, and also the number of
sectors that the RA81 itself reports back to the UDA50 in the "unit size"
field in whatever MSCP message packets contain that information.

The DEC RA81 Disk Drive User Guide (document EK-ORA81-UG-001) contains the
following information:

	Number of heads		14 data, 1 servo
	Cylinders per head	1258
	Sectors per track	52

Clearly, one or the other of the last two is inconsistent with 891072 (usable)
sectors.  For the reason that I would guess that we really want 1224/52 rather
than 1258/51, let's look at the RA80 Disk Drive User Guide (EK-ORA80-UG):

	Number of heads		14 data, 1 servo
	Number of tracks	561 per head
	Logical cylinders	546 per head
	
	Number of tracks used	14 per head
	for revector and format
	control tables

Aha!  So although the RA80 has 561 tracks/cylinders/whatever, only 546 of them
are used for "real" data, yes?  [ DEC doesn't explain, in view of the fact that
546+14 == 560, what the 561st track is used for! ]

Going back to the RA81 User Guide, one would suspect that, analogous to what's
done with the RA80, some of the 1258 cylinders are used for the revector and
format control tables.  Curiously, (546/561)*1258 == 1224, more or less.  Thus
although the RA81 User Guide doesn't give the breakdown as the RA80 User Guide
does, I suspect that what we really have is:

	Total cylinders		1258
	Logical cylinders	1224

	Cylinders used for	34
	other stuff

And, of course, this is now consistent with the 52 sectors per track that the
User Guide claims the drive has.

Now, the 64-cent question is this:  Does it really matter?  If, in fact, the
RA81 entry in /etc/disktab is really incorrect, how much impact would it have
on performance?  Not much, I suspect.  But some?  Little?  Zero?

Finally, an epilogue:  Looking back at the RA80 entry in /etc/disktab, we see:

	:ty=winchester:ns#31:nt#14:nc#559:so:\

This is truly weird.  The number of total tracks is claimed by DEC to be 561,
and the number of logical cylinders is claimed to be 546.  So where did this
value of 559 come from?  Also, 31*14*559 == 242606 (same as what the disktab
entry for the RA80 uses as its Partition_C value), which is a lot more than
the RA80 itself claims, in its MSCP packet, that it has, namely 237212 sectors.
(Or, at least, the RA80 that we used to have said that.)  Oddly, though, this
value isn't consistent with DEC's numbers either!  31*14*546 == 236964.  And
237212-236964 == 248 == 31*8!  Eh?

Is there anyone out there (1) who really knows for certain how many tracks,
sectors, etc, the RA8x drives have (the DEC manuals have been known to make
the occasional mistake, y'know), and/or (2) who knows whether an incorrect
entry in /etc/disktab is worth worrying about?

-----
				Mark Bartelt
				Hospital for Sick Children, Toronto
				416/598-6442
				{utzoo,decvax,ihnp4}!sickkids!mark

chris@mimsy.UUCP (Chris Torek) (12/24/87)

In article <80@sickkids.UUCP> mark@sickkids.UUCP (Mark Bartelt) writes:
>A few questions regarding the information in /etc/disktab (4.3bsd):  Where
>did the RA80/RA81 entries originally come from,

The stork?

>and are they even correct?

The RA81 entry is; the RA80 entry is not.

>First, let's look at the data for the RA81:
>	:ty=winchester:ns#51:nt#14:nc#1248:so:\
>I'm wondering whether it should perhaps be:
>	:ty=winchester:ns#52:nt#14:nc#1224:so:\

No, 51*14*1248 is correct, even though the disk itself is 52*14*1258.
All of the spares---that is 1*14*1248 + 52*14*(1258-1248), or 24752
sectors, or a bit over 12MB, are used in bad block replacement,
although not all of these are replacement blocks.

>... although the RA80 has 561 tracks/cylinders/whatever, only 546 of them
>are used for "real" data, yes?  [ DEC doesn't explain, in view of the fact that
>546+14 == 560, what the 561st track is used for! ]

Something like that; and, You Do Not Want To Know, or at least you are
not supposed to know.  As long as they keep it a mystery, you will have
to buy everything from DEC, right?  (Aside to DEC sales managers:  Wrong.
The more you make things a mystery, the less inclined we are to buy them
at all.  Your plan has backfired.)

>Looking back at the RA80 entry in /etc/disktab, we see:
>	:ty=winchester:ns#31:nt#14:nc#559:so:\
>
>This is truly weird.  The number of total tracks is claimed by DEC to be 561,
>and the number of logical cylinders is claimed to be 546.  So where did this
>value of 559 come from?

Thin air, as far as I can tell.  It is wrong.  If you run my driver,
the disk reports at boot time its geometry; the reported geometry is
the one that is visible to software, and the one that should appear
in disktab (or, now, on the disk label, except that you do not have disk
labels ... yet).

>Also, 31*14*559 == 242606 (same as what the disktab entry for the RA80
>uses as its Partition_C value), which is a lot more than the RA80 itself
>claims, in its MSCP packet, that it has, namely 237212 sectors.

If you have RA80s, *fix your partition table*.  The sectors that
are named by numbers >= 237212 are replacement blocks.  If you
write on them, you may change random sectors in the range [0..237211].
The tables in my driver are probably still wrong (I have no RA80s
on which to make tests).
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

samlb@well.UUCP (Samuel B. Bassett) (12/27/87)

	I am pretty certain that the 34 sectors "used for other stuff" are for
mapping bad sectors, and I have a sneaking suspicion that the 251st (or is it
261st?) sector has timing information on it.
-- 
Sam'l Bassett -- Semantic Engineering for fun & profit.
34 Oakland Ave., San Anselmo  CA  94960;               DDD:  (415) 454-7282
UUCP:  {hplabs,ptsfa,lll-crg}!well!samlb;         Internet: samlb@well.uucp
Compuserve:  71735,1776;      WU Easylink ESL 6284-3034;       MCI SBassett

wyatt@cfa.harvard.EDU (Bill Wyatt) (12/28/87)

> A few questions regarding the information in /etc/disktab (4.3bsd):  Where
> did the RA80/RA81 entries originally come from, and are they even correct?
> 	:ty=winchester:ns#51:nt#14:nc#1248:so:\
[...] 
> The DEC RA81 Disk Drive User Guide (document EK-ORA81-UG-001) contains the
> following information:
> 
> 	Number of heads		14 data, 1 servo
> 	Cylinders per head	1258
> 	Sectors per track	52
[...]

The extra sector is held back for on-cylinder bad-block forwarding, which
has far better performance. Remember that /etc/disktab is mainly for the
newfs(8) program to lay out filesystems, so the information there is the
`visible' disk, as opposed to what the controller may really be using.
-- 

Bill    UUCP:  {husc6,ihnp4,cmcl2,mit-eddie}!harvard!cfa!wyatt
Wyatt   ARPA:  wyatt@cfa.harvard.edu
         (or)  wyatt%cfa@harvard.harvard.edu
      BITNET:  wyatt@cfa2
        SPAN:  cfairt::wyatt