Last week we discussed the prevailing attitude that hard drives are slow and how physics plays into slowing down hard drives. Knowing what slows down your hard drives helps you to mitigate those problems, instead of not using the full hard drive or overspending on solid state drives.
One of the next largest performance problems with all storage is that in traditional systems, everything has to be treated in a very general way. For example, how big will a RAID 5 be? It can be as small as three drives, or it may be 10, or even 16 drives. As the systems are developed, no one knows how many drives will be in any given array, so the code has to be written very generically to be able to accommodate drives of all sizes.
If you look at storage manufacturer’s recommendations for a RAID 5 however, they are almost always for a 4+1 (5 disk) array. But, they don’t want to lock you into that, so they allow you to make other sizes. The generalization doesn’t stop here though; the hard drive also has to accommodate being plugged into any one of hundreds of different types of storage arrays. This means that the firmware on the drive has to be very generic to accommodate all of these potential options and slight variances.
The RAID controller itself also has to be able to accommodate many different types of drives: in capacity, speed, manufacturer, etc. Furthermore, the drive chassis has to be able to accommodate any type of drive that is plugged into it, which leads to non-optimal designs. This, in turn, leads to vibration that can impact the drives more severely.
See the diagram of this in the previous blog: Common Causes of Hard Drive Failures.
All of this generic design leads to inherent performance inefficiencies. This also is one of the main reasons that RAID controllers kick drives out so frequently; since they are generically talking to a generic drive which is vibrating in a generic chassis, they don’t have the ability to do much along the lines of low level diagnostics or repair of the drives, so if they get anything they don’t like, they just throw the baby out with the bathwater, and degrade the array.
Stay tuned next week when we discuss how the way hard drives are interconnected makes a difference in speed.