Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
Rep:
I didn't read the whole thread, but I get the basic idea of what's going on. With IDE drives, of which SATA are also, the way the drive operates on a very basic level is in the drive itself. The operating system makes a request for data, and the requested data is read from the drive platters into the IDE cache memory, right on the drive. The ondrive cache memory can be addressed like system memory, and even though more data is read from the platters to the cache than is immediately necessary, which is the whole point of caching, the operating system only takes the data it needs from the drive cache memory. Usually, if the drive reads data near the requested data this data will also be needed. The drive guesses at what will probably be needed, and the caching algorithm is correct more than it is wrong about what data will be needed next. So, the system works. But, I think it should be emphasised, an operating system does not directly address hard drive platters and heads. There is an intermediate layer of drive hardware and firmware operating between the os and the heads and platters in the drive. The drive itself translates commands in the ATA specification, which is used by the os, to physical movement of the read/write heads over the platters. It is a very complex system within each drive, and different manufacturers implement the ATA spec in different ways. There is also the sata spec which has some features not present in the ATA spec.
For instance, and this has nothing to do with the OP, some SATA drives, such as Seagate Barracuda NCQ drives can begin reading data in the middle of a track, read to that same point, which would mean the disk spinned one revolution, and reconfigure the track in cache memory so the data begin in the proper place, or is aligned properly in the linear cache memory. This cuts an 8 ms average seek time on a conventional ATA drive down to 4 ms on an NCQ equipped drive.
Last edited by AwesomeMachine; 02-08-2007 at 01:16 AM.
"But, I think it should be emphasised, an operating system does not directly address hard drive platters and heads."
Agreed. In fact, the number of heads, tracks, and sectors per track listed on a drive may not have anything to do with the actual physical configuration of the drive.
"For instance, and this has nothing to do with the OP, some SATA drives, such as Seagate Barracuda NCQ drives can begin reading data in the middle of a track,"
Agreed, but this should not be confused with "begin reading (or writing) data in the middle of a sector". Due to the way the data is physically encoded on the disk, no such thing is possible.
Thanks guys. I'll be starting school in april....feeling pretty good about dd but I have heard of people packing the unused areas of a sector to hide data. I have not looked into it yet but from what I've read here I'm guessing that means coping the data from the sector and somehow using the extra data to pad it out to 512. Well I'm off to figure out how to recover or sniff out that extra data.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.