How higher RPM hard drives rip you off

How higher RPM hard drives rip you off

Summary: If someone tried to sell you a hard drive that performed slower, cost twice the money and had one quarter the capacity, what would you think? This is precisely what's happening to PC enthusiasts who think they're getting a great deal when they buy in to the hard drive RPM myth.

TOPICS: Hardware
PC enthusiasts are paying twice the money for a slower hard drive with a quarter of the storage capacity

In the storage or any other technology industry, the golden rule of marketing is that larger numbers sell.  Regardless of what the numbers mean, large numbers are the only thing easily understood by the vast majority consumers and storage is no exception.  Conventional wisdom in the server and home enthusiast market says that more expensive high-RPM hard drives translate to better performance, but is this really true?  I'm going to debunk this myth once and for all and prove to you that not only are you paying more money but you're getting less storage and less performance.

Storage performance for the vast majority of applications other than the rare case of the video distribution database or uncompressed HD video storage relies almost solely on low access times which translates directly to higher IOPS (Input Output Per Second).  Database applications such as ERP and CRM rely heavily on IOPS performance while the role of transfer rate performance is nearly insignificant.  This is precisely why high-end database systems will use solid state flash-based storage even though flash memory tends four times slower than hard drives in terms of raw transfer rate.  The hard drive would be like the dragster trying to compete against a "slower" formula one racing car which is like flash memory in a street race with lots of tight turns.  The name of the game for most applications when looking for the ideal hard drive is the device with the highest IOPS and the lowest access times.

Let's look at a typical 147 GB high-end 15000 RPM hard drive with a super low average seek time of 3.7 milliseconds.  Average seek time is defined as the average time it takes the read/write head to move from one random track to another track on the hard drive.  We also need to account for rotational latency and the 15000 rotations per minute translates to 250 rotations per second which is 4 milliseconds per rotation.  This means that the average rotational latency is 2 milliseconds because it can be anywhere from 0 to 4 milliseconds.  Since the overall access time is determined by the sum of the average rotational latency and the average seek time, this high-end 15000 RPM hard drive has an average access time of 5.7 milliseconds.

This means it takes an average of just over 1/175th of a second for the hard drive to jump from one random location to another which means it can do a theoretical average of 175 IOPS for zero-size files.  If the operations were for files averaging 32 KB and we know that 150 of these files adds up to 4.8 megabytes of data that needs to be transferred which would consume less than 1/10th of a second since the hard drive is capable of copying more than 10 times that data in one second.  This means it would mean that the hard drive would spend a little less than 10% of the time doing actual data transfer instead of seeking for data which would lower our IOPS results by approximately 10% for 32 KB data blocks which means we should expect to see 158 IOPS.  How accurate is this calculation?  If we look up Storage Review's database for hard drive performance and we jump to "IOMeter File Server - 1 I/O", we see that the Seagate Cheetah 15K.4 hard drive gets 159 IOPS in real world testing which means the prediction was accurate.

Now let's take a look at a 300 GB 10000 RPM hard drive that costs slightly more than the 147 GB 15000 RPM hard drive.  This 10K RPM drive has an average rotational latency of 3 milliseconds which is 50% higher than the 15K RPM drive.  It has an average seek time of 4.3 ms which is half a millisecond slower than the 15K RPM drive.  Therefore the 10K RPM drive has an average access time of 7.3 milliseconds which means it can do a maximum of 137 IOPS for zero-size files.  For 36 KB files, it would take up roughly 10% of the IOPS performance which means we should expect to see around 124 IOPS.  Looking at the Storage Review performance database again, we see the actual benchmarked value is 124 IOPS.

So we have an obvious performance winner right since 159 IOPS is better than 124 IOPS?  Not so fast!  Remember that the 15K RPM drive is less than 1/2 the size of the 10K RPM drive.  This means we could partial stroke the hard drive (this is official storage terminology) and get much better performance levels at the same storage capacity.  The top 150 GB portion of the 10K drive could be used for performance while the second 150 GB portion of the 10K drive could be used for off-peak archival and data mirroring.  Because we're partial stroking the drive using data partitions, we can effectively cut the average seek time in half to 2.15 ms.  This means the average access time of the hard drive is cut to 5.15 ms which is actually better than the 15K RPM hard drive!  The partial stroked 10K RPM drive would produce a maximum of 194 IOPS which is much better than 175 IOPS of the 15K RPM drive.  So not only do we get an extra 150 GB archival drive for slightly more money, the active 150 GB portion of the drive is actually a better performer than the entire 147 GB 15K RPM drive.

But this is a comparison on server drive components and we can actually see a more dramatic effect when we're talking about the desktop storage market.  In that market, you will actually pay DOUBLE for 1/4th the capacity on 73 GB 10K SATA RPM drives than typical 300 GB 7200 RPM SATA hard drives.  Now the speed difference is more significant since the 7200 RPM drives have typical average seek times in the 8.9 millisecond range and you have to add 4.17 milliseconds average rotational latency for a relatively pathetic access time of 13.07 milliseconds.  The 10K RPM SATA drive designed for the enthusiast performance desktop market has an average access time of 7.7 milliseconds.  But since the 300 GB 7200 RPM drive is 4 times bigger than the 73 GB 10K drive, we can actually use quarter stroking and end up with a high-performance 75 GB partition along with a 225 GB partition we can use for large file archival such as a DVD collection.

By quarter stroking the 300 GB drive, we can actually shave 6.68 ms off the seek time which means we'll actually end up with an average access time of 6.4 milliseconds which is significantly faster than the 10K RPM "performance" drive.  This means that PC enthusiasts are paying twice the money for a slower hard drive with a quarter of the storage capacity!

Topic: Hardware

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Right, now how...

    can I find out which one is faster if the only measuring tools I can use, are my own senses (and common sense)?

    Unless you're superman you won't notice any performance differences between hard drives

    Do you think John Doe is calculating which one is faster in a store? He's only thinking about his wallet and tries for a good bargain.

    Nice article though.. :-)
    Arnout Groen
    • Oh, here's a benchmark though

      Google is a good thing:
      • Well...

        I was talking about John Doe... not about you... ;-) But on another note: can you tell the difference between to types of harddrives while watching a movie from your PC?

        And now try to do the same thing ONLY using the tools nature gave you...


        TIP: If you combine some of these, you'll get timing... and that you can use to tell the difference between two drives
        Arnout Groen
        • Using Nature's Tools..

          [b]But on another note: can you tell the difference between to types of harddrives while watching a movie from your PC?

          And now try to do the same thing ONLY using the tools nature gave you...


          TIP: If you combine some of these, you'll get timing... and that you can use to tell the difference between two drives.[/b]

          Smell? Did someone perfect smell-o-vision recently and not tell the world?

          But seriously... Yes.. You can tell the difference. I have three drives installed on one particular computer - it's got a 20 GB ATA100 slug, an 80 GB SATA150 and a 200 GB SATA300 drive installed. Originally, this computer had Windows XP installed on the 20 GB EIDE drive.

          While watching video files using the 20 GB drive, you would see occasional pauses lasting for about 1/2 a second while the drive caught up with what it was playing.

          After upgrading to the faster drive, the pauses stopped and playback was smooth as a babies back end. So, yes, you CAN tell the difference using the tools you were given.
          • OK... but:

            "Smell? Did someone perfect smell-o-vision recently and not tell the world?"

            Try a blind person... They'll probably be able to tell you something... that is when they have the ability to speak... (I wouldn't know, because i don't have blind relatives)

            but that wasn't the (side) point.. The point was to make a decission using your senses... and because not everybody remembers them in an instant moment I added them...

            The original blog George wrote was about I/O measurement and now try to tell the difference between those I/O measurements for a couple of drives while only using your senses..
            Arnout Groen
    • You can get a copy of IOMeter

      You can verify the results yourself with IOMeter.
      • Thanks George..

        Interesting site, for what I've seen of it...

        and the have a 'job vacancy'... Testing.. :-)

        Finally someone who realises that testing is necessary...
        Arnout Groen
    • hdparm is your friend!

      Master: hdparm /dev/hda

      multcount = 16 (on)
      IO_support = 0 (default 16-bit)
      unmaskirq = 0 (off)
      using_dma = 1 (on)
      keepsettings = 0 (off)
      readonly = 0 (off)
      readahead = 1024 (on)
      geometry = 16383/255/63, sectors = 156301488, start = 0
      Master: hdparm -Tt /dev/hda

      Timing cached reads: 1204 MB in 2.01 seconds = 599.90 MB/sec
      Timing buffered disk reads: 134 MB in 3.04 seconds = 44.03 MB/sec

      These are the specs on my Toshiba Satellite A15-S129 7200RPM 80GB hard drive
      Linux User 147560
      • The problem is...

        You're one user, go with asynchronous reads from various sources.. let's say 100 users trying to access data on different parts of the drive. That time will drop quite dramatically.
    • RE: How higher RPM hard drives rip you off

      @Arnout Groen I think heat factor and stability missing at this tests. SSDs are not long tested enough.
      <a href="">wm</a>
  • Haven't we had this discussion before?

    I guess you never stated this in a blog though.

    Either way, a link to back up your claims:

    Inner tracks of smaller drives are faster for high RPM drives, but outer tracks of SATA larger drives are faster yet.

    I would assume this really depends on the type of fail and access type, but SCSI drives still have their place in the Server Room.

    Your OS has to know that it is supposed to write to the outer tracks first... Is Windows capable of this?

    I know AIX is, OS/400 is. What about the rest?
    • The other issue...

      Whenever we installed our "High-end" DB on Servers (One of our E-Commerce customers were told to host their site through Navisite, just because of the load it would have) we used 15k drives with AIX. We got the best performance out of those drives with it, well at least that was according to our Tech department.

      I have seen loads of 1000's accesses per second on the E-Commerce side of things with absolutely little load to the HD's and Processor's.

      It was quite a thing I wasn't used to seeing but amazing.. Still couldn't pay me to be a hardware guy though, to boring. :)
    • How to take advantage of it?

      [i]Your OS has to know that it is supposed to write to the outer tracks first... [/i]

      Excellent question ...

      I know that there are mid to high end NAS providers ( that do this, but are there any Linux file systems that support this? Any RAID controllers that are smart enough to allow you to partition a "fast" volume on the RAID set versus an "archival" volume?

      Thinking about it, I would probably want to see this on my RAID controller card.
    • Partitioning

      Windows and Linux both support partitioning of drives. You just need to know where the OS puts which partition. The problem with this for a desktop is keeping the user from doing anything other than archival stuff on the inside partitions. As soon as you access a file on the inside ones your access time drops right back to the same as if you didn't partition.

      Anyway, I'd by RAM and bump the cache up before buying a faster disk.
    • First partition is always on outer track

      The use of partioning will force the OS and App to use the outer tracks. Of course if you try to use the inner track partition at the same time the performance penalty is even worse than if you didn't partition at all. This is why I say to use the inner tracks only during off-peak times for data mirroring.
      • So, in other words...

        that gain in all that extra space is meaningless since you can't use it. Reminds me of a's free if you don't use it. Come on George. This advice is only useful for maybe 1% of end users and possibly 5% of business users at best. Get back to us when you come up with something relevant.
        • You use the inner track partitions for backup

          Had you bought a 4x more expensive 10K RPM drive, you wouldn't even have that extra 225 GBs of space. With the 4x money you save, you can buy another 300 GB hard drive and still only spend half as much. Then your data lives in the second hard drive and the extra partition on the first drive is used during off peak times to backup data on the second drive.
  • Multiple factors

    Usually you go SCSI in the enterprise for reliability. 15k versus 10k will give you some performance boost but the real issue is drive failure. Even with RAID and backups you want to minimize your failures because every time you have a failure you introduce a chance at data corruption.

    Now, for the home buyer it probably doesn't make sense to shell out the extra bucks unless they have a real throughput issue and then it's probably better to get an array rather than a single high-speed drive.
    Robert Crocker
    • Why a home user would need a...

      15k SCSI first would make me wonder how much of their requirement is just pure "nerdism" vs actually needing it. :)
  • I find 10000 RPM is good enough

    15000 RPM drives are just too expensive to be worth it. On the server however 15000 RMP do seem to be faster with disk access vs 10000 RPM drives. I'm no hardware guy, at least not anymore. I just go with appear to be faster to me and 15000 RPM drives in server vs 10000 RMP drives seems have an impact on the workstation I've only used 10000 RPM drives so I can't compare there.