|
|
Studying for the A+, Network+ or Security+ exams? Get over 2,600 pages of FREE study guides at CertiGuide.com! |
|
Join the PC homebuilding revolution! Read the all-new, FREE 200-page online guide: How to Build Your Own PC! |
|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more. Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted. |
| Take a virtual vacation any time at DesktopScenes.com - view my art photos online for FREE in either Flash or HTML! |
|
Tired of the boss? Ever wanted to be an independent freelancer? Not sure how to get started? The all-new Online Freelancing Guide can help. Tons of useful info, and it's free! Join the online freelancing revolution today. |
[ The PC Guide | Systems and Components Reference Guide | Hard Disk Drives | Construction and Operation of the Hard Disk | Hard Disk Logic Board ] Multiple Command Control and Reordering The IDE/ATA interface used on most PCs is generally limited to a single transaction outstanding on the interface at any given time. This means the hard disk can not only do just one thing at a time, it can't even keep track of what it needs to do next. It must be fed commands one at a time by the controller. In contrast, newer drives using the SCSI interface generally include the ability to handle multiple requests, up to a certain number. This advanced feature, sometimes called command queuing and reordering or multiple command queuing, is very useful for servers and other systems being used by multiple people (while its absence is generally not a problem for most single-user PCs equipped with IDE/ATA hardware.) You can read more about this feature here. If the hard drive's logic circuitry receive multiple commands to read or write from the disk, it must process them and figure out where on the disk the data is for each request. Some requests may be filled from the internal cache; these would generally be filled immediately. For the remainder, the controller must decide in which order to perform them. Since random reads or writes on even the fastest hard disks take thousands of times longer than computing operations, this determination is very important to overall performance. There are probably dozens of different specific algorithms that could be used to decide which commands get fulfilled first. However, they generally fall into these three categories:
You may recall that I mentioned in the section on control circuitry that the importance of the drive's internal circuitry is typically under-appreciated. I said that this is generally because it is hard to "boil down" the differences between drives into a single metric, and because it is nearly impossible to get detailed information about the circuitry's internal logic. This section on multiple command handling provides a good illustration of this phenomenon. Two drives could have nearly-identical seek times, spindle speeds and transfer rates, but one could handle heavy access by multiple users much more gracefully if its algorithms were more efficient.
|
|