Anatomy of Hard Disk Drives – A Deep Look into Hard Drives

Posted on August 21, 2008. Filed under: Hardware Tangents |

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!

Disk2

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?

 

disk3

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?

diskspeed

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 TimeSeek 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.

 

    IDEATA sata

    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?

             disk5

            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.

             

            Disk6

            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:

            1. Reading the lines of code line by line
            2. Processing those lines of code and outputting their results
            3. 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!

            DiskThrash

             

            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

            Barracuda® 7200.10 Hard Drive

            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

            Western Digital VelociRaptor

            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

             

            Seagate Savvio 15k

            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)

             

            Cheetah® 15K.5 Fibre Channel

            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

            Make a Comment

            Leave a Reply

            Fill in your details below or click an icon to log in:

            WordPress.com Logo

            You are commenting using your WordPress.com account. Log Out / Change )

            Twitter picture

            You are commenting using your Twitter account. Log Out / Change )

            Facebook photo

            You are commenting using your Facebook account. Log Out / Change )

            Google+ photo

            You are commenting using your Google+ account. Log Out / Change )

            Connecting to %s

            6 Responses to “Anatomy of Hard Disk Drives – A Deep Look into Hard Drives”

            RSS Feed for Business and Information Technology Tangents Comments RSS Feed

            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 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.

            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.

            Is it possible to calculate different rotational delay for each data read write request. for example, if head is at 100, and a set of data requests are (55,58,39,18,90,160,150,38). Can we calculate rotatoinal time or delay for each request of 55,58,39 and so on……

            Priya,
            Great Question. I would think that there should be a calculation that would involve the rotational speed, platter physical size, seek time, and head travel distance. I think this is why they measure “seek time” as an average as it’s an approximation of the metrics mentioned above. The smaller the form factor and faster the speed, the faster the seek will be.

            What are you actually attempting to calculate and how are you planning on using this data?

            -Brenton

            When you write “mb” it’s not clear whether it’s Megabytes or Megabits. Otherwise, a very nice article it is


            Where's The Comment Form?

              About

              Business and Information Technology Tangents is dedicated to providing quality content while informing the world about technology.

              RSS

              Subscribe Via RSS

              • Subscribe with Bloglines
              • Add your feed to Newsburst from CNET News.com
              • Subscribe in Google Reader
              • Add to My Yahoo!
              • Subscribe in NewsGator Online
              • The latest comments to all posts in RSS

              Meta

            Liked it here?
            Why not try sites on the blogroll...

            Follow

            Get every new post delivered to your Inbox.

            %d bloggers like this: