Load_Cycle_Count and ATA APM
bruce at cran.org.uk
Tue Feb 5 21:02:25 UTC 2008
Vince Hoffman wrote:
> Kostik Belousov wrote:
>> On Tue, Feb 05, 2008 at 01:07:49PM +0000, Vince Hoffman wrote:
>>> Kostik Belousov wrote:
>>>> I noted that when idle, my laptop HDD increases the Load_Cycle_Count
>>>> (193) approx. each ten seconds, as reported by smartctl. Have recently
>>>> read about the Ubuntu and APM mode for hard drives, I searched for the
>>>> tool to tune APM (that has functionality similar to linux' hdparm -B).
>>>> It seems that FreeBSD does not have a tool ? Am I wrong ? In case I did
>>>> not make a mistake, below is the patch that allows to manage APM state
>>>> of the hard drive using atacontrol.
>>> /usr/ports/sysutils/ataidle exists and is usable, (I use it on my
>>> laptop.) However it seems it could be a sensible thing to have in
>> I never looked into it, and I have heard that it has an architectural
>> problems. BTW intent of my patch is to have the ability to turn APM off.
>> Can ataidle do this ?
> The manpage says it can with -P 0
> it seems to work for me but the author does say about apm and aam
> support that:
> "These features are experimental, and should only be used after verify-
> ing that the drive works when sent those commands."
> ymmv I guess.
As the author of ataidle, I hope it can be made obsolete as soon as
possible :) I wrote it back in 2004 to deal with the specific problem
of noisy bearings on an ancient PC HDD and, since FreeBSD didn't (and
still doesn't) have any other way to change APM and AAM settings, I
decided to create a port. If you're using it, I suggest upgrading to
the latest version 2.3 from
http://www.cran.org.uk/~brucec/software/ataidle-2.3.tar.gz - the version
in ports is outdated. The reason for the disclaimer is that I'm very
aware that it's a hacky way of changing settings - ideally the kernel
should know about ATA power management so it can adjust timeouts etc.,
while ataidle bypasses it and talks directly to the drive. I did hope
to be able to work on a proper solution, but I've not found the time.
More information about the freebsd-current