3 ms·
>We rarely have design problems with the actual hardware Hard drives, still the main data storage hardware in most computers, are utterly unreliable.
by RyanMcGreal 16y ago
>We rarely have design problems with the actual hardware
Hard drives, still the main data storage hardware in most computers, are utterly unreliable.
- blasdel 16y agoBut not for the reasons you'd think -- mechanically they're incredibly reliable these days, even when violence is done to them. What sucks now is the software running on the embedded drive controller, especially on the most recent highest-capacity drives available at any one time -- the most common bug is for the whole drive to just stop responding for several seconds. There is still one type of hardware error causing problems -- single-bit corruption errors. They're much less likely than they used to be, and the drive will catch them with a checksum when read back, but capacities are so high that the probability of hitting one when reading back a full drive is nearly %100. This makes RAID-5 and other parity-based striping systems almost completely unviable these days -- you'll never be able to rebuild the array from n-1 drives without hitting a single-bit error. And because of the software bugs in drives, they drop out for no reason all the time forcing you to rebuild the array (which then fails because a cosmic ray caused a single-bit error). SSDs won't save you either, they have even more classes of software bugs present in their embedded controllers.
- demallien 16y agoNo, you're missing my point. Consumer hard drives are unreliable because consumers would rather save a few dollars rather than pay for a reliable system. That's one end of the spectrum. The other end is, say a bank, where databases are backed up remotely in conjunction with high-reliability RAID drives to achieve a very high level of reliability. It's not that we aren't capable of designing systems that are reliable, but rather that we don't value the reliability as much as it costs. And that's because even a crappy consumer drive is 'good enough' for most people, unreliability and all. If it's not, we put in some sort of a back-up system to mitigate the risk. In the early days of computers, that just wasn't so. If you're old enough, you probably remember having a C64 game on a cassette that you just couldn't get to load. Or a floppy disk that became corrupted because it got heated to over 50°C and some bits got jumbled. Go back even further when only prototypes of these devices existed in labs, and the situation was even worse. Well, most software is more akin to the prototype in the lab than a product on a shelf. It hasn't been thoroughly tested, it is still under development, we don't understand the limitations of the system, etc etc etc.