Origin of hard drive parameters

Ian Graeme Hilt ihilt at bluebottle.com
Sun Sep 10 16:10:37 PDT 2006


On Saturday 09 September 2006 10:53 pm, jdow wrote:
> From: "stheg olloydson" <stheg_olloydson at yahoo.com>
>
> > On 9 Sep 2006 14:54:09 -0000 ihilt wrote:
> >>On Wednesday 06 September 2006 7:54 pm, jdow wrote:
> >>> >> Ok. Maybe the better question is: in either case, C/H/S or
> >
> > LBA mode,
> >
> >>> >> where are these parameters stored?
> >>>
> >>> They flat out are not stored anywhere. There is a standard
> >
> > algorithm
> >
> >>> published by the VESA people, I believe, that provides the
> >
> > data for
> >
> >>> all SCSI drives and modern IDE/ATA/SATA drives.
> >>
> >>Do you know the name of this standard or where I can get it?
> >>
> >>Ian Graeme Hilt
> >
> > Actually, the stardard is created by the T13 Technical Committee
>
> And my idle curiosity would like to know why Ian is interested in
> such an antiquated topic? There is a size limit beyond which CHS 
> simply does not work. The setting of CHS is in practice utterly
> arbitrary. For (many/most?) USB ram disk plugins the T13 standard
> does not apply due to internal ram layout. And so forth.
>
> (Certainly on the Amiga this CHS nonsense made no practical
> difference except on floppy disks or ST-506 based disk drives. And
> in playing with recovering a blown block zero on an Windows machine
> (more than once) I learned that CHS is utterly arbitrary on Windows.
> It is arbitrary with USB ram disk modulo the ram disk's internal
> layout and spares setup. And since large disks for which CHS runs
> out of size abound I imagine there is not a place in the 'n'x world
> where CHS matters. So I am suspecting historical curiosity if
> anything else. 

May I point out that I was not interested in CHS alone. My focus was the 
origin of the hard drives parameters i.e. geometry, which is the subject of 
discussion. From this discussion and other sources I have learned that CHS, 
as you say, is arbitrary when referring to modern drives. To be specific, 
drives adhering to ATA/ATAPI Specification 6 and later. ATA/ATAPI Spec. 5 and 
earlier used CHS mode for representing hard drive capacity. The reason I am 
interested in this topic is partially because of my "idle curiosity". I'm the 
type of person interested in the challenge of answering questions. The 
questions, "How does the BIOS automatically detect correct values for hard 
disks?" and, "Where is this information stored?" have been stuck in my head 
for at least 6 months. No amount of searching the web provided me with 
satisfactory results. I tried a few tests of my own, all of which failed to 
answer my questions. So, I decided to appeal to the FreeBSD-questions mailing 
list. Mainly because I have found useful answers to other questions here. The 
other part of my reason is that one of my coworkers thought this information 
was stored on the platters of the hard drive. I thought differently but I 
could not _prove_ it. 

> As for storing it - read block zero of the disk. 
> Be DAMN careful not to WRITE to block zero. And if you DO write
> to block zero at about the time I quit doing such low level stuff
> and moved to other things there were several SCSI hard disk
> manufacturers using code that had a defect such that if you wrote
> more than one disk block starting at block 0 the whole disk was
> toast until you did a fresh low level format on it. One sincerely
> hopes THAT defect is gone these days.)
>
> {O.O}   Joanne

Reading through ATA/ATAPI -7 has helped me rephrase my questions into one: 
When the command READ NATIVE MAX ADDRESS is issued to the device, from where 
is this information returned?

-- 
~ Ian Graeme Hilt


More information about the freebsd-questions mailing list