Technical data

ata(7D) Devices SunOS 5.5
NAME ata AT attachment disk driver
SYNOPSIS ata@ioaddr,0
AVAILABILITY x86
DESCRIPTION The ata driver supports disk and CD-ROM interfaces conforming to the AT Attachment
specification includingIDE interfaces. It excludes the MFM, RLL, ST506, and ST412 inter-
faces. Support is provided for CD_ROM drives that conform to the Small Form Factor
(SFF) ATA Packet Interface (ATAPI) specification: SFF-8020 revision 1.2.
CONFIGURATION The driver initializes itself in accordance with the information found in the configuration
file ata.conf (see below). The only user configurable items in this file are:
drive0_block_factor
drive1_block_factor
ATA controllers support some amount of buffering (blocking). The purpose is to
interrupt the host when an entire buffer full of data has been read or written
instead of using an interrupt for each sector. This reduces interrupt overhead
and significantlyincreases throughput. The driver interrogates the controller to
find the buffer size. Some controllers hang when buffering is used, so the values
in the configuration file are used by the driver to reduce the effect of buffering
(blocking). The values presented may be chosen from 0x1, 0x2, 0x4, 0x8 and 0x10.
The values as shipped are set to 0x1, and they can be tuned to increase perfor-
mance.
If your controller hangs when attemptingto use higher block factors, you may be
unable to reboot the system. It is recommended that the tuningbe carried out
using a duplicate of the /kernel directory subtree. This will ensure that a boot-
able kernel subtree exists in the eventof a failed test.
max_transfer
This value controls the size of individual requests for consecutive disk sectors.
The value may range from 0x1 to 0x100. Highervalues yield higherthroughput.
The system is shipped with a value of 0x100, which probably should not be
changed.
EXAMPLES The following is an example configuration file.
#
# primary controller
#
# for higher performance - set block factor to 16
name="ata" class="sysbus" intr=5,14 reg=0x1f0,0,0
ioaddr1=0x1f0 ioaddr2=0x3f0
drive0_block_factor=0x1 drive1_block_factor=0x1
max_transfer=0x100
flow_control="dmult" queue="qsort" disk="dadk" ;
7D-22 modified 14 Mar 1995