summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/ada.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/ada.4 3.html')
-rw-r--r--static/freebsd/man4/ada.4 3.html151
1 files changed, 151 insertions, 0 deletions
diff --git a/static/freebsd/man4/ada.4 3.html b/static/freebsd/man4/ada.4 3.html
new file mode 100644
index 00000000..3ef5f31e
--- /dev/null
+++ b/static/freebsd/man4/ada.4 3.html
@@ -0,0 +1,151 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">ADA(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">ADA(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">ada</code> &#x2014; <span class="Nd">ATA Direct
+ Access device driver</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp"><code class="Cd">device ada</code></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">ada</code> 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.</p>
+<p class="Pp">The host adapter must also be separately configured into the
+ system before an ATA direct access device can be configured.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="COMMAND_QUEUING"><a class="permalink" href="#COMMAND_QUEUING">COMMAND
+ QUEUING</a></h1>
+<p class="Pp">Command 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). The
+ <code class="Nm">ada</code> 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.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="CACHE_EFFECTS"><a class="permalink" href="#CACHE_EFFECTS">CACHE
+ EFFECTS</a></h1>
+<p class="Pp">Many 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
+ <a class="Xr">camcontrol(8)</a> utility.</p>
+<p class="Pp">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.</p>
+<p class="Pp">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 <code class="Nm">ada</code> device driver ensures that the cache and
+ media are synchronized 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.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
+ VARIABLES</a></h1>
+<p class="Pp">The following variables are available as both
+ <a class="Xr">sysctl(8)</a> variables and <a class="Xr">loader(8)</a>
+ tunables:</p>
+<dl class="Bl-tag">
+ <dt id="kern.cam.ada.retry_count"><var class="Va">kern.cam.ada.retry_count</var></dt>
+ <dd>
+ <p class="Pp">This variable determines how many times the
+ <code class="Nm">ada</code> driver will retry a READ or WRITE command.
+ This does not affect the number of retries used during probe time or for
+ the <code class="Nm">ada</code> driver dump routine. This value
+ currently defaults to 4.</p>
+ </dd>
+ <dt id="kern.cam.ada.default_timeout"><var class="Va">kern.cam.ada.default_timeout</var></dt>
+ <dd>
+ <p class="Pp">This variable determines how long the
+ <code class="Nm">ada</code> driver will wait before timing out an
+ outstanding command. The units for this value are seconds, and the
+ default is currently 30 seconds.</p>
+ </dd>
+ <dt id="kern.cam.ada.spindown_shutdown"><var class="Va">kern.cam.ada.spindown_shutdown</var></dt>
+ <dd>
+ <p class="Pp">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.</p>
+ </dd>
+ <dt id="kern.cam.sort_io_queue"><var class="Va">kern.cam.sort_io_queue</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="kern.cam.ada."><var class="Va">kern.cam.ada.</var><var class="Ar">X</var><var class="Va">.sort_io_queue</var></dt>
+ <dd>
+ <p class="Pp">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 disabled SSDs.</p>
+ </dd>
+ <dt id="kern.cam.ada.read_ahead"><var class="Va">kern.cam.ada.read_ahead</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="kern.cam.ada.~2"><var class="Va">kern.cam.ada.</var><var class="Ar">X</var><var class="Va">.read_ahead</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="kern.cam.ada.write_cache"><var class="Va">kern.cam.ada.write_cache</var></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt id="kern.cam.ada.~3"><var class="Va">kern.cam.ada.</var><var class="Ar">X</var><var class="Va">.write_cache</var></dt>
+ <dd>
+ <p class="Pp">These variables determine whether device read-ahead and write
+ caches should be enabled globally or per-device or disabled. Set to 1 to
+ enable 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 <a class="Xr">camcontrol(8)</a>). Because of that, this
+ setting should be changed in <span class="Pa">/boot/loader.conf</span>
+ instead of <span class="Pa">/etc/sysctl.conf</span>. The global default
+ is currently 1. The per-device default is to leave it as-is (follow
+ global setting).</p>
+ </dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+ <dt><span class="Pa">/dev/ada*</span></dt>
+ <dd>ATA device nodes</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">ahci(4)</a>, <a class="Xr">cam(4)</a>,
+ <a class="Xr">da(4)</a>, <a class="Xr">mvs(4)</a>, <a class="Xr">nda(4)</a>,
+ <a class="Xr">siis(4)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">ada</code> driver first appeared in
+ <span class="Ux">FreeBSD 8.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp"><span class="An">Alexander Motin</span>
+ &lt;<a class="Mt" href="mailto:mav@FreeBSD.org">mav@FreeBSD.org</a>&gt;</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">December 20, 2017</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>