Origin of hard drive parameters

Chuck Swiger cswiger at mac.com
Wed Sep 6 13:20:44 PDT 2006


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



More information about the freebsd-questions mailing list