How about hard drives that vary their speed based on workload?

Facebook wants hard drives that slow down when the data they hold isn’t in high demand. They estimate that slowing a drive from 7200 RPM down to 3600 RPM could cut its power usage from 7W to 3W.

We already do something like this with other hardware. Why not with hard drives?

When my servers are running near 100%, they sound like jet airliners. All the fans are running and the disks are pounding. When the servers are sitting idle, like when they’re in the build phase and they’re waiting for me after I get back from lunch, they’re fairly quiet, because it throttled their fans.

CPUs throttle themselves based on usage now too. I’ve seen 3-GHz CPUs throttle themselves to 800 MHz due to lack of demand. Some CPUs will even shut down cores that aren’t being used, then wake them up when load jumps again.

Why can’t hard drives throttle themselves automatically? Perhaps they can do it based on inactivity, or based on the amount of data they’re being asked to transfer. If they haven’t been touched in 20 minutes, throttle down by 1800 RPM. Maybe the interval could even be changeable. Or if they’re only getting a few megabytes per second worth of requests, throttle down to the RPM rate that delivers that much speed, then throttle up when demand increases.

SSDs are the ultimate solution to power consumption, but the cost per gigabyte isn’t practical for storing huge amounts of data like Facebook (or Gmail) have to store. A mid-term solution is to throttle the drives.

While this would be most useful in datacenters, where power consumption and cooling are always a major concern, it would be useful at home too. When a CPU can throttle itself to 1/4 its rated speed, there’s a pretty good chance the hard drive could stand to do the same thing at times.

If you found this post informative or helpful, please share it!