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

  
 
  

home | help
ADA(4)			     Kernel Interfaces Manual			  ADA(4)

NAME
     ada -- ATA Direct Access device driver

SYNOPSIS
     device ada

DESCRIPTION
     The ada driver provides support for direct access devices, implementing the
     ATA  command  protocol,  that  are  attached  to  the system through a host
     adapter supported by the CAM subsystem.

     The host adapter must also be separately configured into the system  before
     an ATA direct access device can be configured.

COMMAND QUEUING
     Command  queuing allows the device to process multiple transactions concur-
     rently, often re-ordering them to reduce the number and  length  of  seeks.
     ATA defines two types of queuing: TCQ (Tagged Command Queuing, PATA legacy)
     and  NCQ  (Native Command Queuing, SATA).	The ada device driver takes full
     advantage of NCQ, when supported.	To ensure that transactions  to  distant
     parts  of	the  media,  which may be deferred indefinitely by servicing re-
     quests closer to the current head position, are completed in a timely fash-
     ion, an ordered transaction is sent every 7 seconds during  continuous  de-
     vice operation.

CACHE EFFECTS
     Many direct access devices are equipped with read and/or write caches.  Pa-
     rameters  affecting the device's cache are reported in device IDENTIFY data
     and can be examined and modified via the camcontrol(8) utility.

     The read cache is used to store data from device-initiated read ahead oper-
     ations as well as frequently used data.  The read cache is  transparent  to
     the  user and can be enabled without any adverse effect.  Most devices with
     a read cache come from the factory with it enabled.

     The write cache can greatly decrease the latency of  write  operations  and
     allows  the  device to reorganize writes to increase efficiency and perfor-
     mance.  This performance gain comes at a price.   Should  the  device  lose
     power  while  its cache contains uncommitted write operations, these writes
     will be lost.  The effect of a loss of write transactions on a file  system
     is  non-deterministic  and  can  cause  corruption.  Most devices age write
     transactions to limit the vulnerability to a few transactions recently  re-
     ported  as  complete,  but  it is nonetheless recommended that systems with
     write cache enabled devices  reside  on  an  Uninterruptible  Power  Supply
     (UPS).  The ada device driver ensures that the cache and media are synchro-
     nized  upon  final  close	of  the device or an unexpected shutdown (panic)
     event.  This ensures that it is safe to disconnect power once the operating
     system has reported that it has halted.

SYSCTL VARIABLES
     The following variables are  available  as  both  sysctl(8)  variables  and
     loader(8) tunables:

     kern.cam.ada.retry_count

	 This  variable  determines  how  many times the ada driver will retry a
	 READ or WRITE command.  This does not affect the number of retries used
	 during probe time or for the ada driver dump routine.	This value  cur-
	 rently defaults to 4.

     kern.cam.ada.default_timeout

	 This  variable determines how long the ada driver will wait before tim-
	 ing out an outstanding command.  The units for this value are	seconds,
	 and the default is currently 30 seconds.

     kern.cam.ada.spindown_shutdown

	 This variable determines whether to spin-down disks when shutting down.
	 Set  to  1 to enable spin-down, 0 to disable.	The default is currently
	 enabled.

     kern.cam.sort_io_queue

     kern.cam.ada.X.sort_io_queue

	 These variables determine whether request queue should be sorted trying
	 to optimize head seeks.  Set to 1 to enable sorting, 0 to  disable,  -1
	 to  leave  it	as-is.	The default is sorting enabled for HDDs and dis-
	 abled SSDs.

     kern.cam.ada.read_ahead

     kern.cam.ada.X.read_ahead

     kern.cam.ada.write_cache

     kern.cam.ada.X.write_cache

	 These variables determine whether device read-ahead  and  write  caches
	 should  be enabled globally or per-device or disabled.  Set to 1 to en-
	 able write cache, 0 to disable, -1 to leave it as-is.	Values	modified
	 at  runtime  take  effect  only  after  device  reset	(using the reset
	 subcommand of camcontrol(8)).	Because of that, this setting should  be
	 changed  in  /boot/loader.conf instead of /etc/sysctl.conf.  The global
	 default is currently 1.  The per-device default is to	leave  it  as-is
	 (follow global setting).

FILES
     /dev/ada*	ATA device nodes

SEE ALSO
     ahci(4), cam(4), da(4), mvs(4), nda(4), siis(4)

HISTORY
     The ada driver first appeared in FreeBSD 8.0.

AUTHORS
     Alexander Motin <mav@FreeBSD.org>

FreeBSD 15.1			December 20, 2017			  ADA(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ada&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help