Download the authoritative guide: Enterprise Data Storage 2018: Optimizing Your Storage Infrastructure
Once you're thinking of an aggregate solution, it also makes sense to stop thinking about disks as the individual units that are purchased, and instead think about groups of disks packaged as a single unit with a single power interface and one (or more) SATA interfaces.
Doing so would enable the group to share a larger cache, amortize fixed costs more efficiently and improve power distribution, the report points out.
Another design change could involve introducing parallel access so that the disk can offer two (or more) I/O streams at once. This would make disks cost more, but since capacity growth is outstripping IOPs growth, introducing parallel access is becoming more viable.
Google suggests a variety of ways that parallel access could be enabled, including designing disks with two full actuator arm units; disks with two half-height actuator arms, one on top of the other, which would benefit multi-queue random access or single queue sequential workloads; or disks with one actuator arm with heads that can read two adjacent tracks per platter surface simultaneously, which would double sequential workload throughput.
Flash storage makers like OCZ have already started to introduce storage systems that use host-managed solid state drives. In this case, the housekeeping activities that the SSDs' controllers are normally responsible for are managed by the storage system itself.
Google proposes something similar for cloud storage disks, with background tasks such as media scanning and adjacent track interference (ATI) mitigation controlled by the host. The advantage of this is that the host can initiate background tasks on a disk when it knows that the disk is unlikely to be busy, so the performance impact of carrying out the background tasks will be minimized.
Another performance gain could be made by allowing the host to control the disk drives' read retry policy (which would require a new API.) This would give hosts the option to tell drives to "give up" and report an error after only a few read attempts (rather than continuing to make read attempts for far longer.)
The benefit of this is that once a drive gives up it can get on with other operations, while the data can be retrieved from another disk. (That's especially useful if the host requests the data from several disks at once, taking the data from whichever one responds first.)
An interesting way that the TCO of disk drives could be increased is by allowing drives to be treated as having flexible capacity. For example, if a single drive head fails in a drive then that head could simply be mapped out (and the data it is responsible for could be recovered from other disks.) The drive could then continue to be used with a lower capacity — extending the drive's lifetime and thus decreasing the TCO.
In a similar vein, disk drives are supplied with reserve sectors that are brought in to service to replace damaged sectors which are swapped out of service during the life of the drive. Google suggests that these reserved sectors could be put into use while the drive is young, rather than lying idle, and reclaimed at a slow rate to replace damaged sectors as the drive ages.
What's clear from all this is that disks deployed in massive collections in cloud storage facilities are used in very different ways to the sorts of disks installed in conventional servers and desktop machines.
And in the near future disks deployed in this way will be the rule, rather than the exception.
Given all that, it's likely that tomorrow's cloud storage disks, optimized for the specific needs of cloud storage service providers, will be very different to the disks they use today.
The good news for enterprises is that innovations in cloud storage disk design won't be restricted to cloud storage facilities; technologies that enable the likes of parallel access, flexible capacity and host control will trickle down to the storage drives in corporate data centers too.
Photo courtesy of Shutterstock.