Anatomy of Hard Disk Drives – A Deep Look into Hard Drives
Prior to actually getting into which hard disks are the best technology to pursue, I am going to explain the different parts of the hard disk. This is essential when getting into the configuration of the disks to understand how the disks work. This is really simple stuff!
Shown above is the basic architecture of a hard disk drive. There are tracks, sectors and heads:
- Tracks can be thought of as guides for where the data should be placed on the hard drive.
- Sectors are logical segments or groups where the 1s and 0s are stored. This allows the disk head to SKIP over data that it doesn’t need to read.
- The Head is what reads the data (1s and 0s) from each sector.
Simple enough?
Ever wonder why hard drives are so thick? Shown above is a 3D look into a hard drive. In most modern hard drives (not solid state hard drives) are made with multiple Platters. Each Platter, in this topology has Tracks, Sectors, and a Head.
Still Simple?
Now we need to talk about hard disk Speed. The “Speed“, as most people refer to it, is measured in revolutions per minute (RPM). An RPM is the measuring of the number of times a platter completely rotates in a 60 second period of time.
The actual Speed is a complex equation which involves RPM, Seek Time, Rotational Latency, Interface Type, and Access Time. With these individual items combined, mathematically one can calculate the theoretical transfer rate of the hard drive.
So what is the different between all of these things?
- Revolutions Per Minute - RPM is the measuring of the number of times a platter completely rotates in a 60 second period of time. (yes I repeated it)
- Rotational Latency (delay)- RPM and Rotational Latency are directly correlated.The Rotational Latency is an average time for the Head to read the entire track of a disk. In theory, the faster the hard drive is spinning, the less time it takes to read the track.
| RPM Measured at Spindle | Rotational Latency AVG |
| 4200 | 7.14 ms |
| 5400 | 5.55 ms |
| 7200 | 4.17 ms |
| 10000 | 3 ms |
| 15000 | 2 ms |
- Seek Time – Seek Time is measured by the average time it takes for the mechanical arm to move between different Tracks on a hard drive. This is important in the instance where data is scattered between different tracks on a hard disk. The faster the mechanical arm can move between the tracks, the faster the data can be accessed for use.
- Interface Type – The Interface Type was once thought to be the biggest “speed” issue with hard disk drives. Since the interfaces were so slow, (UATA/133 was only at 133mbps), the theoretical speed was significantly limited to the interface type. However, with the introduction of Serial ATA, the theoretical transfer rates are increased to over 10.0 gb/s which currently ( 2008 ) is not touched by modern hard disk drives.
There are three primary connecting interfaces on modern hard drives which include IDE/ATA, Serial ATA, and SCSI.
*Note: SCSI interfaces come with over 11 variations so I chose to leave the images out to reduce “information overload”.
| IDE/ATA Connections | Transfer Speed |
| ATA/66 | 66 mb /s |
| ATA/100 | 100 mb /s |
| ATA/133 | 133 mb /s |
| SCSI Connections | Transfer Speed |
| SCSI FAST | 10 mb /s |
| SCSI FAST – 20 (Ultra) | 20 mb /s |
| SCSI FAST – 40 | 40 mb /s |
| SCSI FAST – 80 | 80 mb /s |
| SCSI FAST – 80 (wide) | 160 mb /s |
| SCSI ULTRA320 | 320 mb /s |
| SATA Connections | Transfer Speed |
| SATA/150 (SATA rev 1) | 1500 mb /s |
| SATA/300 (SATA rev 2) | 3000 mb /s |
| SATA/IO (SATA rev 3) | 6000 mb /s |
- Access Time – The Access Time is a combined metric. Access Time is determined by the Interface Type, Rotational Latency, and RPM of a hard disk drive. This is why critics are so concerned about the Access Time of the Hard Drives. It provides the best rounded number for measuring the hard drive performance. Hardware manufacturers like to measure in Seek Time as its a mechanical measurement much like horsepower is to automotive.
What else can affect the “Speed” of a hard disk?
When modern hard disk manufacturers determined that the hard disk is the slowest part of a computer, they started to integrate Read/Write Caches on the hard disk itself. A Read/Write Cache is designed to allow small amounts of data to be stored in memory to be written to the disk when the hard drive is busy performing other tasks. This significantly improved system performance as the CPU doesn’t have to wait on the write operation to complete prior to completing other processes.
Well there is an issue with this… Since the hard drive is powered from the power supply, if the power fails or a power surge occurs, any data that is stored in the read/write cache is gone. That is why currently the industry is not releasing hard drives with 1GB of write cache. The loss of 1 GB is significant to the stability of a system (and your sanity). New motherboard manufacturers are now providing the ability to integrate a Battery Backed Cache on the motherboard to be able to store the write cache. This not only significantly improves the speed of the system, but even in the event of a power failure, the data is safe for 72+ hours. This is similar to what GOOD RAID controllers (discussed in a different article) do.
I always like to use the “compiling a program in Visual Studio example” when explaining BBC because compiling code is a very hard disk intensive operation. (Please keep in mind this example is a very high level look at what a write cache does.)
There are three core operations that occur when compiling code:
- Reading the lines of code line by line
- Processing those lines of code and outputting their results
- Writing the results back to the hard disk
In systems without battery backed cache, the hard drive will read a line of code, process the line, write the line to the hard drive, then “rinse and repeat”. This causes the hard drive to STOP reading from the current sector, jump to a different track, then write to that track, then when needing to process the next line of code, jump back to the original track. This creates a situation called Disk Thrashing where the disk reads and writes from two different physical locations.
With the write cache, the computer has the ability to perform all three of the operations simultaneously while compiling code.
1. Compiling code
- Reading the Lines of code line by line
- Processing those lines of code and outputting their results
- Writing the results to the battery backed write cache
2. Writing the Write Cache to the hard disk.
Your system no longer has to wait for the hard drive to complete a write to the disk prior to reading more information from the hard disk. There is more complexity to the write cache operations but to save your sanity, I’ve chosen to leave them out.
Circling back to Disk Trashing for a second… Its Important!
Disk Thrashing actually occurs more frequently than most people think. In fact, as long as you have a page file on your computer, you will ALWAYS have Disk Thrashing. Why? When a page file is enabled on a computer, the memory operations are stored in a file on the root of c:\ named pagefile.sys. As shown in the image above, when utilizing a program which uses a lot of memory, the the head has to move between the pagefile.sys and code.vb file.
This causes an issue called Disk Trashing. The head actually thrashes between the two tracks on the same platter. This is what makes that clicking or “thinking” noise in your hard drive. Recalling Seek Time / Access Time, you will know that when using multiple files, the head has to seek between the different sectors on the different tracks. Everytime it seeks to a new track, it takes X number of ms to get to each sector which means you have to wait X number of ms between accessing multiple files.
This significantly reduces the performance of the computer and ultimately reduces the longevity of the hard disk. The mechanical drive for moving the mechanical arm on the hard drive can fail when excessive disk thrashing occurs over multiple years.
NOTE: Please note that this is NOT a reason to disable your page file. A page file is required in systems which frequently run out of RAM. Also this issue may not occur if the page file is on a different platter than the data being accessed. This also is not true if the page file is stored on a different physical drive than the drive being accessed.
Brent – I don’t care about all of this stuff – What should I chose as my hard drive???!!!
I always try to stay away from Manufacturer specific choices as opinions are like eyes, everyone has more than one. So, objectively I’ve come up with the following metric to help you in your path to hard drive heaven.
(((1-(RPM/60000)) * Seek Time) / Buffer Size in MB) * (Drive Size in MB/Interface Speed in MB/s) = Lowest Number is Best Drive
So real world how does this look?
Home User Devices
|
8.5 |
Seek Time |
|
7,200 |
Speed (RPM) |
|
500,000 |
Size (MB) |
|
16 |
Buffer Size (MB) |
|
3,000 |
Interface Speed (MB) |
|
77.92 |
Equation Total |
Western Digital Caviar Green WD10000CSRTL
|
8.5 |
Seek Time |
|
7,200 |
Speed (RPM) |
|
1,000,000 |
Size (MB) |
|
16 |
Buffer Size (MB) |
|
3,000 |
Interface Speed (MB) |
|
155.83 |
Equation Total |
Maxtor Basics™ SATA II/300 Hard Drive Kit
|
9.3 |
Seek Time |
|
7,200 |
Speed (RPM) |
|
1,000,000 |
Size (MB) |
|
16 |
Buffer Size (MB) |
|
3,000 |
Interface Speed (MB) |
|
170.50 |
Equation Total |
Enterprise Devices
|
4.7 |
Seek Time |
|
10,000 |
Speed (RPM) |
|
300,000 |
Size (MB) |
|
16 |
Buffer Size (MB) |
|
3,000 |
Interface Speed (MB) |
|
24.48 |
Equation Total |
|
2.9 |
Seek Time |
|
15,000 |
Speed (RPM) |
|
73,000 |
Size (MB) |
|
16 |
Buffer Size (MB) |
|
3,000 |
Interface Speed (MB) |
|
3.31 |
Equation Total (BEST DRIVE) |
|
3.5 |
Seek Time |
|
15,000 |
Speed (RPM) |
|
300,000 |
Size (MB) |
|
16 |
Buffer Size (MB) |
|
4,000 |
Interface Speed (MB) |
|
12.30 |
Equation Total |



I am munsif ali from pakistan. I found your literature very important in understanding the work of hard disk. Just recently i downloaded a one click hard disk maintenance software, which could tell after analysis of hard disk, that wether hard disk have any structural defects . I do not know what can be structural defects, except bad blocks on coated platters, but is there any software which could detect mechanical system faults, such as moving of mechanical arm.
referring to such an analysis report of a software program, Can I ask, wether such a software can detect any abnormality in mechanical arm, if it is jammed or not moving freely between tracks. I have decided to get a thrown away hard disk, and will open its case, and see wether any servicing to platters and mechanical arm can revive the hard disk.
munsif
October 13, 2009
Munsif Ali – While there is no actual way to see if a mechanical malfunction is occurring, there is something integrated into every modern hard disk drive called S.M.A.R.T. This is a low level system of the hard drive which will detect mechanical issues and report them to the IDE Bus. When you query the S.M.A.R.T. in a program, you will learn if a hard disk is bad. Can you from Windows detect if a hard drive is bad? – not always. If you write code to have the mechanical arm read the high and low sectors (outermost and innermost sectors), upon failure of the mechanical arm, it will knock and only read the sectors as far as it can extend. While for all practical purposes data is returned (and might look as a success), it might be the wrong data.
brentblawat
October 26, 2009
Thank you brendblawat- Tour information on smart disk further enriched my knowledge, I have now removed that software program called one click maintenance, which would make analysis of start , programm, history list and other issues and later correct it. It would also check the degree of fragmentation and I guess later defragment the hard disk, but actually, debugging errors programm is already officially provided by microsoft in windows operating system called dr. watson. so it is my habit that I always keep noting the superficial details about correcting problems from website. and later further research into it. It is absolutely necessary before using a computer that one must have an idea what mechanisms are involved on installation of programs and storage of other readable/editable data.
while I was installing windows xp software, my 10 GB hard disk each time was showing 7 GB, I was not becoming able to format it so that I could have two partitions, i tried my level best then inserted bootable CD of SP3 pack, which helped me format the disk but set up could not copy files to hard disk, I removed it and once again used windows xp CD, and this time because of use of SP3 CD, it created two partitions and I proceeded with installation. Now in case if I have to write some tutorial literature on installation of operating system fromm CD, I would begin as follows,
01- Do You want to completely erase all data on your hard disk, if you are not interested in backing up your files, and want to create new partitions.
02- in the above case, if you want to bring your hard disk into basic partition, and your already installed software is not working, so kindly take the following steps,
now mr. brenton this is how my philosophy of work is, because I encountered such problem when my already installed software disappeared, and computer screen was showing only the green lanscape of windows xp and all icons had disappeared. So looking for correct literature on websites has remained my hobby, hoping you will agree.
munsif ali from pakistan
October 27, 2009