Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
parkverbot(8)		   Parkverbot User Reference		 parkverbot(8)

Name
       parkverbot -- daemon to inhibit hard disk head parking

Synopsis
       parkverbot [-r kbytes] [-t secs]	device...

Introduction
       Rotational hard disks have a controversial (mis)feature which automati-
       cally unloads the read/write heads during perceived inactivity, usually
       within  10  seconds.  Western  Digital  calls it	"Intellipark", but the
       problem is present in other manufacturers' disks	as well, and goes back
       to at least the mid-2000s.

       Frequent	parking	leads to noticable latency on wakeup, and the hard re-
       traction	is seen	as an impediment to  disk  life.   Even	 with  various
       utility	programs,  this	parking	feature	is not reliably	deactivatable.
       (See "Comparison" section below.)

Description
       The "parkverbot"	daemon will issue small	read requests periodically  to
       a random	location on disk in an effort to reset the inactivity timer in
       the  hardware  and  so prevent the dreaded head unloading. As such, its
       operation is non-destructive and	interoperable across different	brands
       of hard drives and transports.

       The  current block reading algorithm works reasonably well in practice:
       the  worst  observed  head  parking  rate  was  about   3   unloads/day
       (0.125/hour); best figures hover	around 0.5 unloads/day (0.021/hour).

Options
       -b size
	      The size of a read request, in kilobytes (defaults to 64 KB).

       -r size
	      The  guard  window  size	(defaults to 16	MB). When requesting a
	      block off	the disk, the hardware	might  choose  to  cache  more
	      parts,  since it has to hover anyways and	wait over a particular
	      track for	the desired sector. If the next	random block we	choose
	      happens to be already cached because of that,  the  head	unload
	      timer  will not be reset.	To avoid this, if the new random loca-
	      tion falls within	size kilobytes,	we shuffle out a new  location
	      and retry.

       -t secs
	      The  interval  in	which to request blocks. The default is	4 sec-
	      onds, and	is sort	of the lowest denominator across all the disks
	      personally encountered not to go into sleep.

       The defaults for	-b and -t  have	 little	 effect	 on  energy  use,  the
       prospect	 here  is  just	 +1% energy use	for a 2.5' disk. (For details,
       feel free to see	the source file	of this	manpage.)

Configuration
       You can choose between running one parkverbot instance per disk,	or one
       instance	for all	disks (reading them is serialized however).

       Two systemd service files are shipped with the package. One is the ser-
       vice template file "parkverbot@.service", which	allows	to  start  one
       parkverbot daemon instance per disk by way of:
	 systemctl enable/start/stop/status/disable parkverbot@dev-sda.service

       The  other is the normal	service	file "parkverbot.service" for a	single
       daemon for one or more disks, the  list	of  which  is  to  be  set  in
       /etc/sysconfig/parkverbot in the	PARKVERBOT_DISKS variable.

       If you do not have systemd, you can still start the daemon in any other
       fashion,	such as	from sysvinit's	/etc/init.d/boot.local.

Naming
       The name	is the German word for a "no parking" zone.

S.M.A.R.T. info
       Unloading  of  the heads	is measurable by S.M.A.R.T. attribute(s). Some
       disk models used	number 193, others 225.	 Both  are  labeled  "Load_Cy-
       cle_Count".

Comparison with	other utilities
       The  "wdidle3" proprietary utility uses a vendor-specific command (VSC)
       to change the - infamous	- "idle3" timer	 which	controls  the  parking
       time.  How  well	 this  works with non-WD drives	is unknown; if the VSC
       modifies	firmware, it is	probably a very	bad idea. The program also re-
       quires MS-DOS, which is increasingly hard to run	on contemporary	x86-PC
       systems,	and totally inacceptable on non-x86/non-PC systems. Its	effec-
       tiveness	from within a virtual machine or emulator using	disk/block de-
       vice passthrough	is not known either.

       The `hdparm -B` Linux command may be used  to  set  the	APM  (Advanced
       Power  Management)  level.  However,  disks often report	to not support
       this setting, or	if they	do, have no  effect  on	 unloading,  but  only
       acoustic	 settings.  hdparm  also  does	not  work with SCSI disks, SAS
       disks, disks in enclosures attached through USB translation  layer,  or
       SATA  disks  on	a  SAS	plane.	(There are dumps for developers	in the
       source distribution.)

       "idle3-tools" is	something that I only found recently (2014), though it
       seems to	exist for slightly longer than parkverbot.  Like  wdidle3,  it
       uses the	VSC.  (http://idle3-tools.sf.net/)

       "wdantiparkd" WD	anti-intellipark daemon	says it	uses a write operation
       on  a  file. That is somewhat unfortunate, as layers of caching in both
       the operating system and	disk may lead  to  an  inactivity  beyond  the
       parking threshold on the	actual head. (http://sagaforce.com/sound/wdan-
       tiparkd/)

       parkverbot  -  this daemon - does normal	read requests on the raw block
       device.	This means there will be no destructive	operations,  no	 addi-
       tional  degradation  of the medium, and allows it to be usable with all
       kinds of	rotating hard disks no matter the  manufacturer	 or  interface
       type. Chunks are	read from random new locations far enough from the old
       one  in an attempt to evade caches. This	will manifest in a short flash
       of the disk LED (if you have one) every now and then.  By default,  one
       chunk is	requested every	four seconds, so that two are within 8 seconds
       (the common WD idle3 time).

Parkverbot project		  2012-05-14			 parkverbot(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=parkverbot&sektion=8&manpath=FreeBSD+Ports+15.0>

home | help