|
NAMEada —
ATA Direct Access device driver
SYNOPSISdevice ada
DESCRIPTIONTheada 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 QUEUINGCommand queuing allows the device to process multiple transactions concurrently, 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). Theada 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
requests closer to the current head position, are completed in a timely
fashion, an ordered transaction is sent every 7 seconds during continuous
device operation.
CACHE EFFECTSMany direct access devices are equipped with read and/or write caches. Parameters 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 operations 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 performance. 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
reported as complete, but it is nonetheless recommended that systems with
write cache enabled devices reside on an Uninterruptible Power Supply (UPS).
The SYSCTL VARIABLESThe following variables are available as both sysctl(8) variables and loader(8) tunables:
FILES
SEE ALSOahci(4), cam(4), da(4), mvs(4), nda(4), siis(4)HISTORYTheada driver first appeared in
FreeBSD 8.0.
AUTHORSAlexander Motin <mav@FreeBSD.org>
Visit the GSP FreeBSD Man Page Interface. |