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.


freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to