Origin of hard drive parameters

Hilt, Ian ihilt at mcgregor-surmount.com
Wed Sep 6 13:35:35 PDT 2006


> -----Original Message-----
> From: Chuck Swiger [mailto:cswiger at mac.com] 
> Sent: Wednesday, September 06, 2006 4:21 PM
> To: Hilt, Ian
> Cc: freebsd-questions at freebsd.org
> Subject: Re: Origin of hard drive parameters
> 
> On Sep 6, 2006, at 1:06 PM, Hilt, Ian wrote:
> >> The hard disk has an on-board controller which answers the ATA
> >> "IDENTIFY DEVICE" command with the hard drive parameters 
> used by the
> >> BIOS, assuming that the BIOS is operating in the legacy C/H/S mode
> >> rather than the newer LBA mode which uses absolute block numbers.
> >
> > Ok. Maybe the better question is: in either case, C/H/S or LBA mode,
> > where are these parameters stored?
> 
> At one time, probably on an EEPROM within the hard drive; nowadays,  
> probably nowhere-- the drive controller computes some numbers  
> dynamically depending on whether the C/H/S versus LBA mode jumper is  
> set, or whether the BIOS makes the extended Int13H call to do LBA  
> mode (or whatever the exact mechanism there is)....
> 
> >> Note that the answer the drive controller gives will normally be a
> >> fabricated geometry which does not have anything to do with the
> >> actual geometry of the physical device, in part because drives
> >> nowadays keep a variable number of sectors per track rather than
> >> using a CAV layout.
> >
> > If CAV == Constant Angular Velocity, I thought this layout stored a
> > variable number of sectors per track, as opposed to CLV which stores
> > data at a constant density over the platters.
> 
> CAV == Constant Angular Velocity.  It's the format used by data CD's  
> which gives less storage space but better random access-- 
> tracks near  
> the center have the same # of sectors as tracks on the 
> outside, which  
> means the outer tracks are spread out more; versus CLV, which stores  
> more data on the outer tracks by slowing down the rotational 
> speed to  
> keep a constant density under the heads.
> 
> -- 
> -Chuck
> 
> 

Thanks for the information, Chuck.


More information about the freebsd-questions mailing list