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.
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!
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
Right, now how...
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.. :-)
Oh, here's a benchmark though
http://www.barefeats.com/hard35.html
Well...
And now try to do the same thing ONLY using the tools nature gave you...
Sight
Sound
Touch
Taste
Smell
TIP: If you combine some of these, you'll get timing... and that you can use to tell the difference between two drives
Using Nature's Tools..
And now try to do the same thing ONLY using the tools nature gave you...
Sight
Sound
Touch
Taste
Smell
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:
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..
You can get a copy of IOMeter
You can verify the results yourself with IOMeter.
Thanks George..
and the have a 'job vacancy'... Testing.. :-)
Finally someone who realises that testing is necessary...
hdparm is your friend!
/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
/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
The problem is...
RE: How higher RPM hard drives rip you off
<a href="http://www.webmastersitesi.com/webmaster/">wm</a>
Haven't we had this discussion before?
Either way, a link to back up your claims:
http://www.barefeats.com/hard35.html
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...
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?
Excellent question ...
I know that there are mid to high end NAS providers (http://www.isilon.com/) 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
Anyway, I'd by RAM and bump the cache up before buying a faster disk.
First partition is always on outer track
So, in other words...
You use the inner track partitions for backup
Multiple factors
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.
Why a home user would need a...
I find 10000 RPM is good enough