Comment 749 for bug 59695

Revision history for this message
Isaac Dupree (idupree) wrote :

Steve Langasek: sure, there's a tradeoff... but with sufficient knowledge, perhaps we could make it less bad. Suppose the hard-drive is specced to 600000 load-cycles. With smartctl we can measure the current number of load-cycles. Suppose there have already been 700000 load-cycles: wouldn't you think it'd be pushing your luck to park the head frequently, even if it saves power in the short run? More seriously, suppose you decrease or stop that behavior earlier, say at 500000 or 300000 load-cycles: so an older drive will use more power on battery, but at least Linux would then obey the principle of "do no harm". (If the hard-drive dies, the user has to replace it; if the hard-drive is just inefficient, the user still has the choice of replacing it, and is also less likely to lose data.)

Now we can look at something desired like "There should be fewer than ~15 load cycles per hour, except during heavy usage while on battery." that makes new drives last at least four years... if we adjust that number "15" in proportion to the actual (spec - load_cycle_count), then we'll manage to keep the drive pretty much safe from this kind of wearing-out!

however!

- we may not know the spec (is it bad to assume that it's 600000)?

- hard drives seem to be quite uncooperative: there might not be *any* good way to tell one "don't park any more often than X times an hour", even though there's a darned simple algorithm (disk remembers the last time it parked the head, and refuses to park the head again for the next 1/X hours). But maybe there's a way we can ensure that (frequent hdparm -B to different values? Is doing that likely to wear out the drive in any odd way?)