Switch to full style
General discussions, chit-chat
Post a reply

New here, with some beginner questions

October 7th, 2012, 1:58

I always wanna know answers to these 3 questions:

#1 The harddrives are usually very small, which means the data density is rather high. I had observed how hard drives function before, and I assume the reading arm (or "header"?) of a harddrive is controlled by a step motor. (Typical servos won't do the job), then is there any gears involved? How are these gears manufactured? For example, carved using laser?


#2 How do harddrives perform addressing? Please explain on mechanical level. The movement of the reading arm can only be a curve other than a straight line. This means two things, the tip of the reading arm that reads the hard drive disk must be activated at the exact time when a "1" or "0" passes right under, while actively offsetting and compensating the non-linear movement of the reading arm. Given the difficulty, I'd suppose disks are divided into "clusters" (or are these clusters "sectors"?) — basic units of data, for example, 255 bits (1s and 0s) are grouped as one cluster, so whenever the reading arm reads the data, it reads all 255 bits even only, say 180 bits of this cluster are useful. This would significantly reduce the difficulty of addressing.

Is this how the addressing implemented? Am I missing anything?

#3 Any website, books that I could read to have in-dept understanding of how harddrives work? I've been trying to write a simple driver for ARM9.

Thanks first for whoever that offer his/her generous help!

Re: New here, with some beginner questions

October 7th, 2012, 4:33

I think these two articles would be worth reading:

http://hddscan.com/doc/HDD_from_inside.html

http://hddscan.com/doc/HDD_Tracks_and_Zones.html

Re: New here, with some beginner questions

October 7th, 2012, 4:41

Nicki2012 wrote:#1 [...] I assume the reading arm (or "header"?) of a harddrive is controlled by a step motor.

Not in the last 20-ish years, no. Early disk drives (e.g. ST-506 era) did use a stepper motor.

Nicki2012 wrote:(Typical servos won't do the job)

Disk drives are very specialised, so forget your assumptions about typical behaviour elsewhere, otherwise you are likely to make mistakes in your understanding.

Nicki2012 wrote:#2 How do harddrives perform addressing?

See next answer.

Nicki2012 wrote:#3 Any website, books that I could read to have in-dept understanding of how harddrives work?

Try reading these pages, written by member Doomer from this site (who also write the HDDscan utility, which is the reason for the URL):
http://hddscan.com/doc/HDD_from_inside.html
http://hddscan.com/doc/HDD_Tracks_and_Zones.html
(especially related to your question #2 above)
sticky-important-topics-beginners-please-look-here-first-f16.html
(some beginner's FAQ from this site)

Nicki2012 wrote:I've been trying to write a simple driver for ARM9.

You don't say if you are trying to use the disk drive through its (S)ATA/SCSI/SAS/FC interface, or if you are trying to control the pre-amp, VCM, spindle motor etc. on the drive yourself (i.e. to replace the drive's PCB). I assume the former. In that case, you will need to learn the interface protocol of your chosen disks. Have fun!

Edit: I see that Cris recommended the same articles, while I was writing this. :)
Post a reply